特定数据业务的阙值设定负载平衡方法、系统及子系统 【技术领域】
本发明涉及网络数据业务,尤其涉及一种特定数据业务的阈值设定负载平衡方法、系统及子系统。
背景技术
在现有的大型互联网系统中,有一种特定的网络数据业务,该网络数据业务具有对业务请求直接处理的能力,并且具有在其子系统内部存储某些业务信息的存储能力,其中,存储的业务信息是针对业务请求服务的。多个这样的子系统组合成整个的服务网络,子系统间通过设定的方法来完成业务之间的协作处理。
该网络数据业务一般会根据地理位置或其它因素(如接入网方式、接入网运营商等)设置区域性处理中心,各个区域性处理中心分别包括数据库、数据存储空间和访问处理中心,形成分布式的网络数据结构。如图1a所示,图1a示出了背景技术中分布式数据的系统结构图,包括N,N≥2个网络数据子系统,每个网络数据子系统对应一个区域性处理中心,分别包括子系统数据库、子系统数据存储空间和子系统处理中心。其中,子系统处理中心用于处理数据业务请求和数据访问请求。
其中,对于数据业务请求,每个子系统处理中心具有单独的处理能力,子系统处理中心根据自身接收的数据业务请求,将对应该业务请求的信息,如账户相关信息及数据信息分别存储到子系统数据库和子系统数据存储空间中。
对于数据访问请求,每个子系统处理中心在自身接收到数据访问请求后,先判断该数据访问请求是否要访问本地网络数据子系统,如果是,则对应标号(1)的流程,根据数据访问请求查询本地子系统数据库,根据查询结果从本地子系统数据存储空间中提取所需数据信息,将提取的数据信息进行反馈;否则,对应标号(2)的流程,将该数据访问请求转发给其它网络数据子系统,并接收其它网络数据子系统返回的数据并反馈给用户。
但实际应用中,由于各个网络数据子系统之间数据业务请求多少的不同,致使这些网络数据子系统的繁忙程度不同,此时,若仅仅加强单个业务量多的网络数据子系统的运算和处理能力,会打破网络数据子系统之间的平衡,从而也破坏了系统间的平衡,使运营投入增加。
为了解决这个问题,现有的大型互联网公司多采用集中管理的方式,具体而言:数据业务请求发给系统业务请求处理中心,业务请求处理中心根据监测的各个网络数据子系统的繁忙程度,把数据业务请求下达给相应的较不繁忙的网络数据子系统,但这样会使得各网络数据子系统之间的平衡建立在强大的系统业务请求处理中心的基础之上,这对于图1所示分布式的网络数据结构中具有独立处理能力的各个网络数据子系统的能力降低,并且会使得整个系统的处理过程复杂。
【发明内容】
有鉴于此,本发明中一方面提供一种特定数据业务的阈值设定负载平衡方法,另一方面提供一种特定数据业务的阈值设定负载平衡系统和特定数据业务的网络数据子系统,以在不降低各个网络数据子系统的能力的基础上,使各网络数据子系统的数据业务负载平衡。
本发明所提供的特定数据业务的阈值设定负载平衡方法,包括:
各网络数据子系统监控本地网络数据子系统的业务处理能力;
负载平衡管理单元根据各个网络数据子系统的业务处理能力,按照内部平衡规则分别为每个网络数据子系统设定业务阈值;
各网络数据子系统根据为自身设定的业务阈值,对自身的数据业务进行监测,在监测到数据业务超过所述业务阈值时,向负载平衡管理单元发送超负载通知,在负载平衡管理单元的控制下,将当前的数据业务请求转发给负载较轻的网络数据子系统处理;或在监测到数据业务超过所述业务阈值时,将当前的数据业务请求发送给负载平衡管理单元,由负载平衡管理单元转发给负载较轻的网络数据子系统处理。
较佳地,所述业务阈值包括:存储数据量阈值和/或设定时间内数据业务请求量阈值;
所述各网络数据子系统根据为自身设定的业务阈值,对自身的数据业务进行监测包括:各网络数据子系统根据为自身设定的存储数据量阈值和/或设定时间内数据业务请求量阈值,监测自身中子系统数据存储空间和子系统数据库中的数据量是否超过存储数据量阈值和/或监测设定时间内数据业务请求的数量是否超过该设定时间内数据业务请求量阈值;
所述数据业务超过所述业务阈值包括:子系统数据存储空间和子系统数据库中的数据量超过存储数据量阈值或设定时间内数据业务请求地数量超过该设定时间内数据业务请求量阈值。
较佳地,所述业务处理能力包括:网络数据子系统的服务器处理能力、带宽、存储空间大小、当前的剩余存储空间大小中的任意一个或任意组合。
本发明所提供的特定数据业务的阈值设定负载平衡系统,包括:两个或两个以上的网络数据子系统和一个系统级的负载平衡管理单元,其中,
所述各网络数据子系统用于监控自身的业务处理能力;根据所述负载平衡管理单元为自身设定的业务阈值,对自身的数据业务进行监测,在监测到数据业务超过所述业务阈值时,向负载平衡管理单元发送超负载通知,之后在负载平衡管理单元的控制下,将当前的数据业务请求转发给负载较轻的网络数据子系统,或在监测到数据业务超过所述业务阈值时,将当前的数据业务请求发送给负载平衡管理单元;
所述负载平衡管理单元用于根据各个网络数据子系统的业务处理能力,按照内部平衡规则分别为每个网络数据子系统设定业务阈值;接收来自某网络数据子系统的超负载通知,根据所述超负载通知,指示所述网络数据子系统将当前的数据业务请求转发给负载较轻的网络数据子系统,或者接收来自某网络数据子系统的数据业务请求,将所述数据业务请求转发给负载较轻的网络数据子系统。
其中,每个网络数据子系统包括子系统处理中心、子系统数据库和子系统数据存储空间,较佳地,每个网络数据子系统还包括:子系统能力监控单元和阈值管理和判定单元,其中,
所述子系统能力监控单元用于监控本地网络数据子系统的业务处理能力;
所述阈值管理和判定单元用于根据负载平衡管理单元为本地网络数据子系统设定的业务阈值,对本地网络数据子系统的数据业务情况进行监测,在监测到数据业务超过设定的业务阈值时,向负载平衡管理单元发送超负载通知,在负载平衡管理单元的控制下,将当前的数据业务请求转发给负载较轻的网络数据子系统,或在监测到数据业务超过所述业务阈值时,将当前的数据业务请求发送给负载平衡管理单元。
较佳地,所述子系统能力监控单元和阈值管理和判定单元设置在所述子系统处理中心内部。
本发明所提供的特定数据业务的网络数据子系统,包括:子系统处理中心、子系统数据库和子系统数据存储空间,此外,每个网络数据子系统还包括:子系统能力监控单元和阈值管理和判定单元,其中,
所述子系统能力监控单元用于监控本地网络数据子系统的业务处理能力;
所述阈值管理和判定单元用于根据负载平衡管理单元为本地网络数据子系统设定的业务阈值,对本地网络数据子系统的数据业务情况进行监测,在监测到数据业务超过设定的业务阈值时,向负载平衡管理单元发送超负载通知,在负载平衡管理单元的控制下,将当前的数据业务请求转发给负载较轻的网络数据子系统,或在监测到数据业务超过所述业务阈值时,将当前的数据业务请求发送给负载平衡管理单元。
较佳地,所述子系统能力监控单元和阈值管理和判定单元设置在所述子系统处理中心内部。
从上述方案可以看出,本发明中通过由负载平衡管理单元根据各个网络数据子系统的业务处理能力,按照内部平衡规则分别为每个网络数据子系统设定业务阈值,并由各网络数据子系统根据为自身设定的业务阈值,对自身处理的数据业务进行监测,在监测到数据业务超过所述业务阈值时,向负载平衡管理单元发送超负载通知,在负载平衡管理单元的控制下,将当前的数据业务请求转发给负载较轻的网络数据子系统处理;或在监测到数据业务超过所述业务阈值时,将当前的数据业务请求发送给负载平衡管理单元,由负载平衡管理单元转发给负载较轻的网络数据子系统处理。从而实现了各网络数据子系统的数据业务负载平衡,并且由于数据业务请求还是由各个网络数据子系统来接收并处理,只要超负载后才由负载平衡管理单元决定当前数据业务请求的去向,可见,本发明中的技术方案没有降低各个网络数据子系统的能力。
【附图说明】
图1为背景技术中分布式数据的系统结构图;
图2为本发明实施例中特定数据业务的阈值设定负载平衡系统的示例性结构图;
图3为本发明实施例中特定数据业务的阈值设定负载平衡方法的示例性流程图。
【具体实施方式】
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
图2为本发明实施例中特定数据业务的阈值设定负载平衡系统的示例性结构图。如图2所示,该系统包括:两个或两个以上的网络数据子系统和一个系统级的负载平衡管理单元。
其中,各网络数据子系统用于监控自身的业务处理能力;根据所述负载平衡管理单元为自身设定的业务阈值,对自身的数据业务进行监测,在监测到数据业务超过所述业务阈值时,向负载平衡管理单元发送超负载通知,之后在负载平衡管理单元的控制下,将当前的数据业务请求转发给负载较轻的网络数据子系统,或在监测到数据业务超过所述业务阈值时,将当前的数据业务请求发送给负载平衡管理单元。
负载平衡管理单元用于根据各个网络数据子系统的业务处理能力,按照内部平衡规则分别为每个网络数据子系统设定业务阈值;接收来自某网络数据子系统的超负载通知,根据所述超负载通知,指示所述网络数据子系统将当前的数据业务请求转发给负载较轻的网络数据子系统,或者接收来自某网络数据子系统的数据业务请求,将所述数据业务请求转发给负载较轻的网络数据子系统。
具体实现时,每个网络数据子系统中除包括子系统处理中心、子系统数据库和子系统数据存储空间外,还包括子系统能力监控单元、阈值管理和判定单元。这两个单元可以设置在子系统处理中心内部(如图2所示),也可以设置在子系统处理中心外部(图2中未示出)。
其中,子系统能力监控单元用于监控本地网络数据子系统的业务处理能力。业务处理能力可包括网络数据子系统的服务器处理能力、带宽、存储空间大小、当前的剩余存储空间大小等信息。每个网络数据子系统中的子系统能力监控单元监控到自身所在网络数据子系统的业务处理能力后,可将该业务处理能力上报给负载平衡管理单元,或者由负载平衡管理单元主动来获取该业务处理能力。
负载平衡管理单元用于根据各个网络数据子系统中的子系统能力监控单元监控到的对应网络数据子系统的业务处理能力,按照内部平衡规则分别为每个网络数据子系统设定业务阈值;并在某个网络数据子系统超负载时,根据当前各网络数据子系统的负载情况,确定出负载较轻的网络数据子系统。负载平衡管理单元为每个网络数据子系统设定业务阈值之后,可将各业务阈值分别发送给各对应的网络数据子系统中的阈值管理和判定单元,或者由各网络数据子系统中的阈值管理和判定单元主动从负载平衡管理单元中获取各自的业务阈值。
各网络数据子系统中的阈值管理和判定单元用于根据负载平衡管理单元为本地网络数据子系统设定的业务阈值,对本地网络数据子系统的数据业务情况进行监测,在监测到数据业务超过设定的业务阈值时,确定本地网络数据子系统超负载,向负载平衡管理单元发送超负载通知,并在负载平衡管理单元的控制下,将当前的数据业务请求转发给负载较轻的网络数据子系统;或监测到数据业务超过设定的业务阈值时,确定本地网络数据子系统超负载,将当前数据业务请求发送给负载平衡管理单元,由负载平衡管理单元根据当前各网络数据子系统的负载情况,将该数据业务请求转发给负载较轻的网络数据子系统。其中,在数据业务未超过设定的业务阈值时,继续现有处理即可。
其中,负载平衡管理单元为每个网络数据子系统设定的业务阈值可包括存储数据量阈值和/或设定时间内数据业务请求量阈值,则阈值管理和判定单元对本地网络数据子系统的数据业务情况进行监测时,可监测子系统数据存储空间和子系统数据库中的数据量是否超过存储数据量阈值和/或监测设定时间内数据业务请求的数量是否超过该设定时间内数据业务请求量阈值,如果任一个超过对应的阈值,则均可确定本地网络数据子系统超负载。
上述系统在具体实现时,每个网络数据子系统可以是一个个人数据银行业务组,每个网络数据子系统中的子系统处理中心可以是个人数据银行数字柜台。此外,负载平衡管理单元可位于系统级的个人数据银行管理中心中。
以上对本发明实施例中特定数据业务的负载平衡系统进行了详细描述,下面再对本发明实施例中特定数据业务的负载平衡方法进行详细描述。
图3为本发明实施例中特定数据业务的阈值设定负载平衡方法的示例性流程图。如图3所示,该流程包括如下步骤:
步骤301,各网络数据子系统(如图3中的网络数据子系统1至网络数据子系统N)监控本地网络数据子系统的业务处理能力。
具体实现时,可在各网络数据子系统中设置子系统能力监控单元,用于监控本地网络数据子系统的业务处理能力。
其中,业务处理能力可包括网络数据子系统的服务器处理能力、带宽、存储空间大小、当前的剩余存储空间大小等信息中的任意一个或任意组合。
步骤302,将监控到的本地网络数据子系统的业务处理能力上报给系统级的负载平衡管理单元。
其中,本地网络数据子系统可定期将自身的业务处理能力进行上报,或者也可以在前次上报自身的业务处理能力后,本次又监控到自身的业务处理能力发生变更时进行上报。
此外,本步骤也可以为(图3中未示出):负载平衡管理单元按照设定的规则,从各网络数据子系统中获取该网络数据子系统的业务处理能力。如负载平衡管理单元定期获取,或某些网络数据子系统超载等条件触发下获取。
步骤303,系统级的负载平衡管理单元根据各网络数据子系统的业务处理能力,按照内部平衡规则分别为每个网络数据子系统设定业务阈值。如为网络数据子系统1设定第一业务阈值,......,为网络数据子系统N设定第N业务阈值。
其中,所设定的业务阈值可包括存储数据量阈值和/或设定时间内数据业务请求量阈值。
步骤304,负载平衡管理单元将所设定的各业务阈值分别发送给对应的网络数据子系统。如,将第一业务阈值发送给网络数据子系统1,......,将第N业务阈值发送给网络数据子系统N。
具体实现时,可在各网络数据子系统中设置阈值管理和判定单元,则本步骤中,可由各网络数据子系统中的阈值管理和判定单元接收对应的业务阈值。
此外,本步骤也可以为(图3中未示出):各网络数据子系统定期(或按照其它规则)从负载平衡管理单元中获取对应的业务阈值。
步骤305,各网络数据子系统根据为自身设定的业务阈值,对本地网络数据子系统的数据业务情况进行监测。
其中,对应步骤303所设定的业务阈值,本步骤中,可监测本地网络数据子系统中子系统数据存储空间和子系统数据库中的数据量是否超过存储数据量阈值和/或监测设定时间内数据业务请求的数量是否超过该设定时间内数据业务请求量阈值。
步骤306,某网络数据子系统(如图3中的网络数据子系统1)在监测到数据业务超过设定的业务阈值时,确定本地网络数据子系统超负载。
其中,在数据业务未超过设定的业务阈值时,按现有流程正常处理即可。
步骤307,该确定超负载的网络数据子系统(如图3中的网络数据子系统1)向负载平衡管理单元发送超负载通知。
本步骤中,如果步骤305中所述的子系统数据存储空间和子系统数据库中的数据量和设定时间内数据业务请求的数量中任一个超过对应的阈值,则均可确定本地网络数据子系统超负载。
步骤308,负载平衡管理单元接收到该超负载通知后,根据当前各网络数据子系统的负载情况,确定出负载较轻的网络数据子系统(如图3中的网络数据子系统N)。
步骤309,负载平衡管理单元指示当前超负载的网络数据子系统(如图3中的网络数据子系统1)将当前的数据业务请求发送给该负载较轻的网络数据子系统。
步骤310,当前超负载的网络数据子系统(如图3中的网络数据子系统1)将当前的数据业务请求发送给该负载较轻的网络数据子系统(如图3中的网络数据子系统N)。
此外,步骤307至步骤310也可以为(图3中未示出):该确定超负载的网络数据子系统(如图3中的网络数据子系统1)将当前的数据业务请求发送给负载平衡管理单元;负载平衡管理单元根据当前各网络数据子系统的负载情况,确定出负载较轻的网络数据子系统(如图3中的网络数据子系统N);并将该数据业务请求发送给所确定的负载较轻的网络数据子系统(如图3中的网络数据子系统N)。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。