一种实现负荷分担的方法、接口机、业务处理机及系统与流程

文档序号:11959881阅读:233来源:国知局
一种实现负荷分担的方法、接口机、业务处理机及系统与流程

本发明涉及融合通信技术,尤指一种实现负荷分担的方法、接口机、业务处理机及系统。



背景技术:

随着移动互联网的快速发展,通过互联网向用户提供各种应用服务(OTT)业务大步向前进,强烈冲击着电信传统的语音和短消息业务。全球移动通信系统协会(GSMA)在2009年公布了融合通信(RCS)计划,得到了多家欧洲运营商的响应。2010年,由西班牙的西班牙电话公司(Telefonica)、英国沃达丰、法国Orange(法国的移动营运商)、意大利电信及德国电信在内的欧洲五大电信巨头,决定联合推出自有即时通信系统,并命名为“Joyn”,以此正式向OTT应用宣战。

通过融合通信能力网关将融合通信的功能开放,可以降低对移动终端和开发者的要求,同时可以利用开发者自身优势开发出丰富的应用。随着移动互联网业务和融合通信的发展,对融合通信能力网关的处理能力要求越来越高,单节点已经不能满足要求,因此需要分布式,多节点才能满足。对于分布式、多节点,其中有一个重要的问题就是如何有效的将负荷分担到各个业务处理机上,从而让每个业务处理机能够充分发挥自己的处理能力,完成海量业务的处理。

由于各业务处理机的硬件配置和操作系统及安装的应用可能不同,操作系统和安装的应用程序对系统资源占用会存在差异,同时融合通信的不同业务对业务处理机的资源占用不同,因此,需要确定如何将业务分配给合适的业务处理机,进行负荷分担。目前,短消息网关采用了专利“一种多模块短消息系统的负荷分担方法”,以消息中的特征串(如源号码)结合业务处理机的处理能力,按照HASH算法实现业务的均分。由于融合通信业务上的差异,短消息是相对独立的,而融合通信有会话内的消息业务,例如1对1聊天、 群聊等基于会话业务的消息,会话业务的消息需要分配到同一个业务处理机,用于与核心网需要建立会话,由于会话业务消息的消息数不同,且会话传输也存在较大的处理能力需求差异;因此,如果按照特征串进行业务分发则会造成业务处理机负荷不均。



技术实现要素:

为了解决上述技术问题,本发明提供一种实现负荷分担的方法及系统,能够根据业务对处理能力需求及业务处理及处理能力进行负荷分担。

为了达到本发明目的,本发明提供了一种实现负荷分担的方法,包括:

接口机接收各业务处理机按照定时间隔计算的处理能力值;

根据接收的所有业务处理机的处理能力值,接口机进行会话业务的负荷分担。

进一步地,定时间隔由预先设定的业务处理机均衡参数确定。

进一步地,处理能力值由会话能力值、和/或消息能力值、和/或中央处理器CPU能力值、和/或内存能力值、和/或磁盘能力值进行累加后计算获得。

进一步地,当获得所述业务处理机的处理能力值中包含所述会话能力值时,该方法之前还包括:获取所述会话能力值:

以所述业务处理机的可用端口数作为业务处理机的最大会话数,读取获得所述业务处理机的当前会话数,将最大会话数减去当前会话数获得可用会话数,将可用会话数除以最大会话数乘以预先设定的会话权重值,获得所述会话能力值;

当获得所述业务处理机的处理能力值中包含所述消息能力值时,该方法之前还包括:获取所述消息能力值:根据所述业务处理机配置确定其相应的最大积压消息数,根据读取获得的当前积压消息数,将最大积压消息数减去当前积压消息数获得可处理消息数,将可处理消息数除以最大积压消息数乘以预先设定的消息权重值,获得所述消息能力值;

当获得所述业务处理机的处理能力值中包含所述CPU能力值时,该方法之前还包括:获取所述CPU能力值:

预先确定所述业务处理机的CPU最大占用率,读取获得的当前CPU占用率,将CPU最大占用率减去当前CPU占用率,获得CPU可用率,将CPU可用率除以CPU最大占用率乘以预先设定的CPU权重值,获得所述CPU能力值;

当获得所述业务处理机的处理能力值中包含所述内存能力值时,该方法之前还包括:获取所述内存能力值:

预先确定所述业务处理机的内存最大占用率,读取当前内存占用率,将所述内存最大占用率减去所述当前内存占用率获得内存可用率,将内存可用率除以内存最大占用率乘以预先设定的内存权重值,获得所述内存能力值;

当获得所述业务处理机的处理能力值中包含所述磁盘能力值时,该方法之前还包括:获取所述磁盘能力值:

预先确定所述业务处理机的最大磁盘占用率,读取当前磁盘占用率,将所述最大磁盘占用率减去所述当前磁盘占用率获得磁盘可用率,将磁盘可用率除以最大磁盘占用率乘以预先设定的磁盘权重值,获得所述磁盘能力值。

进一步地,当计算所述业务处理机的处理能力值中的会话能力值、和/或消息能力值、和/或中央处理器CPU能力值、和/或内存能力值、和/或磁盘能力值存在一个或一个以上值小于或等于0时,该方法还包括:赋值所述业务处理机的处理能力值为0。

进一步地,该方法还包括:所述接口机获取所有业务处理机工作状态,当业务处理机宕机时,赋值宕机的所述业务处理机的处理能力值为0。

进一步地,根据各所述业务处理机的处理能力值,进行会话业务的负荷分担具体包括:

根据各业务处理机的处理能力值的数值大小比例,均匀分担接口机接收到的业务。

进一步地,根据各业务处理机的处理能力值的数值大小比例,均匀分担接口机接收到的业务具体包括:

将各业务处理机的处理能力值累加获得能力累加和;

取非会话业务的消息的特征串中发起者号码的后四位加上特征串中任一 接收者号码的后四位获得特征数值;

将获得的特征数值用获得的能力累加和取模,获得负荷分担参考值;

将所有所述业务处理机的处理能力值按照由小到大排列后,从业务处理机的处理能力值最小值开始,分别计算第1个到第I个业务处理机的处理能力值的累加和,获得各业务处理机相应的负荷分担确定值;

当出现所述负荷分担确定值大于所述负荷分担参考值时,确定该负荷分担确定值对应的第I个业务处理机为业务分担的业务处理机;

其中,I为大于1小于业务处理机的处理能力值大于0的业务处理机个数值。

进一步地,该方法之前还包括:所述接口机从能力网关服务器接收负荷分担给业务处理机的会话业务的消息。

另一方面,本申请还提供一种实现负荷分担的接口机,包括:接收单元200及负荷分担单元201;其中,

接收单元200,用于接收各业务处理机按照定时间隔计算的处理能力值;

负荷分担单元201,用于根据接收的所有业务处理机的处理能力值,进行会话业务的负荷分担。

进一步地,接口机还包括赋值单元202,用于获取所有业务处理机工作状态,当业务处理机宕机时,赋值宕机的所述业务处理机的处理能力值为0。

进一步地,负荷分担单元201具体用于,

根据各业务处理机的处理能力值的数值大小比例,均匀分担接口机接收到的业务。

进一步地,接口机还包括接收业务单元203,用于从能力网关服务器接收负荷分担给业务处理机的会话业务的消息。

再一方面,本申请还提供一种实现负荷分担的业务处理机,至少包括计算上报单元300,用于按照定时间隔计算自身的处理能力值上报给接口机。

进一步地,计算上报单元300具体用于,按照定时间隔由会话能力值、和/或消息能力值、和/或CPU能力值、和/或内存能力值、和/或磁盘能力值 进行累加后计算获得处理能力值。

进一步地,该业务处理机还包括获取能力值单元301,用于

当获得所述业务处理机的处理能力值中包含所述会话能力值时,获取所述会话能力值:以所述业务处理机的可用端口数作为业务处理机的最大会话数,读取获得所述业务处理机的当前会话数,将最大会话数减去当前会话数获得可用会话数,将可用会话数除以最大会话数乘以预先设定的会话权重值,获得所述会话能力值;

当获得所述业务处理机的处理能力值中包含所述消息能力值时,获取所述消息能力值:根据所述业务处理机配置确定其相应的最大积压消息数,根据读取获得的当前积压消息数,将最大积压消息数减去当前积压消息数获得可处理消息数,将可处理消息数除以最大积压消息数乘以预先设定的消息权重值,获得所述消息能力值;

当获得所述业务处理机的处理能力值中包含所述CPU能力值时,获取所述CPU能力值:预先确定所述业务处理机的CPU最大占用率,读取获得的当前CPU占用率,将CPU最大占用率减去当前CPU占用率,获得CPU可用率,将CPU可用率除以CPU最大占用率乘以预先设定的CPU权重值,获得所述CPU能力值;

当获得所述业务处理机的处理能力值中包含所述内存能力值时,获取所述内存能力值:预先确定所述业务处理机的内存最大占用率,读取当前内存占用率,将所述内存最大占用率减去所述当前内存占用率获得内存可用率,将内存可用率除以内存最大占用率乘以预先设定的内存权重值,获得所述内存能力值;

当获得业务处理机的处理能力值中包含所述磁盘能力值时,获取所述磁盘能力值:预先确定所述业务处理机的最大磁盘占用率,读取当前磁盘占用率,将所述最大磁盘占用率减去所述当前磁盘占用率获得磁盘可用率,将磁盘可用率除以最大磁盘占用率乘以预先设定的磁盘权重值,获得所述磁盘能力值。

进一步地,计算上报单元300还用于,当计算所述业务处理机的处理能力值中的会话能力值、消息能力值、CPU能力值、内存能力值、或磁盘能力 值存在一个或一个以上值小于或等于0时,赋值业务处理机的处理能力值为0。

又一方面,本申请还提供一种实现负荷分担的系统,包括:接口机及若干业务处理机;其中,

业务处理机至少包含计算上报单元300,用于按照定时间隔计算自身的处理能力值上报给接口机;

接口机至少包含负荷分担单元201,用于根据各业务处理机的处理能力值,进行会话业务的负荷分担。

与现有技术相比,本申请技术方案包括:接口机接收各业务处理机按照定时间隔计算的处理能力值;根据接收的所有业务处理机的处理能力值,接口机进行会话业务的负荷分担。本发明方法通过计算业务处理机的处理能力值,以处理能力值为依据进行会话业务的负荷分担,保证了系统内业务处理机的负荷均衡。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实现负荷分担的方法的流程图;

图2为本发明实现负荷分担的接口机的结构框图;

图3为本发明实现负荷分担的业务处理机的结构框图;

图4为本发明实现负荷分担的系统的结构程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

图1为本发明实现负荷分担的方法的流程图,如图1所示,包括:

步骤100、接口机接收各业务处理机按照定时间隔计算的处理能力值。

本步骤中,业务处理机计算处理能力值的定时间隔由预先设定的业务处理机均衡参数确定;这里,可以取业务处理机中节点的系统负荷确定均衡参数;例如,读取业务处理机中最忙节点的系统负荷比最闲节点的系统负荷高于一定百分比时,设定按照一定比例调整上报间隔的百分比,例如最忙节点的系统负荷比最闲节点的系统负荷高于设定的均衡参数30%时,定时间隔减少10个百分比。

需要说明的是,系统负荷可以通过现有命令查看获得,例如,在Linux系统中,可以用w或uptime或procinfo或top命令查看各节点的系统负荷。

本步骤中,业务处理机的处理能力值由会话能力值、和/或消息能力值、和/或CPU能力值、和/或内存能力值、和/或磁盘能力值进行累加后计算获得。

优选的,当获得业务处理机的处理能力值中包含会话能力值时,本发明方法之前还包括:获取会话能力值:

以业务处理机的可用端口数作为业务处理机的最大会话数,读取获得业务处理机的当前会话数,将最大会话数减去当前会话数获得可用会话数,将可用会话数除以最大会话数乘以预先设定的会话权重值,获得会话能力值。

当获得业务处理机的处理能力值中包含消息能力值时,本发明方法之前还包括:获取消息能力值:

根据业务处理机配置确定其相应的最大积压消息数,根据读取获得的当前积压消息数,将最大积压消息数减去当前积压消息数获得可处理消息数,将可处理消息数除以最大积压消息数乘以预先设定的消息权重值,获得消息能力值。

当获得业务处理机的处理能力值中包含CPU能力值时,本发明方法之前还包括:获取CPU能力值:

预先确定业务处理机的CPU最大占用率,读取获得的当前CPU占用率,将CPU最大占用率减去当前CPU占用率,获得CPU可用率,将CPU可用率除以CPU最大占用率乘以预先设定的CPU权重值,获得CPU能力值。

当获得业务处理机的处理能力值中包含内存能力值时,本发明方法之前还包括:获取内存能力值:

预先确定业务处理机的内存最大占用率,读取当前内存占用率,将内存最大占用率减去当前内存占用率获得内存可用率,将内存可用率除以内存最大占用率乘以预先设定的内存权重值,获得内存能力值。

当获得业务处理机的处理能力值中包含磁盘能力值时,本发明方法之前还包括:获取磁盘能力值:

预先确定业务处理机的最大磁盘占用率,读取当前磁盘占用率,将最大磁盘占用率减去当前磁盘占用率获得磁盘可用率,将磁盘可用率除以最大磁盘占用率乘以预先设定的磁盘权重值,获得磁盘能力值。

需要说明的是,通过设定会话权重值、和/或消息权重值、和/或CPU权重值、和/或内存权重值、和/或磁盘权重值的数值大小,可以实现对业务所需处理能力大小进行显示,例如、如果业务处理时,业务处理机的CPU可用率为业务负荷时主要考虑因素,则CPU权重值应当设定比其他权重值数值大,具体大小可以根据本领域技术人员的经验进行设定。

业务处理机的处理能力值除了由会话能力值、和/或消息能力值、和/或CPU能力值、和/或内存能力值、和/或磁盘能力值计算获得外,还可以引入相关参数进行技术,例如、引入业务处理机的核心显存进行业务处理机的处理能力值计算,如果对业务负荷分担影响较小,则可以通过设置较小的权重值进行计算。

当计算业务处理机的处理能力值中的会话能力值、消息能力值、CPU能力值、内存能力值、或磁盘能力值存在一个或一个以上值小于或等于0时,本发明方法还包括:赋值业务处理机的处理能力值为0;

本发明方法还包括:接口机获取业务处理机工作状态,当业务处理机宕机时,赋值宕机的业务处理机的处理能力值为0。

步骤101、根据接收的所有业务处理机的处理能力值,接口机进行会话业务的负荷分担。

本步骤具体包括:根据各业务处理机的处理能力值的数值大小比例,均匀分担接口机接收到的业务。

优选的,将各业务处理机的处理能力值累加获得能力累加和;

取非会话业务的消息的特征串中发起者号码的后四位加上特征串中任一接收者号码的后四位获得特征数值;

将获得的特征数值用获得的能力累加和取模,获得负荷分担参考值;

将业务处理机的处理能力值按照由小到大排列后,

从业务处理机的处理能力值最小值开始,分别计算第1到第I个业务处理机的处理能力值的累加和,获得各业务处理机相应的负荷分担确定值;

当出现负荷分担确定值大于负荷分担参考值时,确定该负荷分担确定值对应的第I个业务处理机为业务分担的业务处理机。

I为大于1小于业务处理机的处理能力值大于0的业务处理机个数值。

本发明方法之前还包括:接口机从能力网关服务器接收负荷分担给业务处理机的会话业务的消息。

图2为本发明实现负荷分担的接口机的结构框图,包括:接收单元200及负荷分担单元201;其中,

接收单元200,用于接收各业务处理机按照定时间隔计算的处理能力值;

负荷分担单元201,用于根据接收的所有业务处理机的处理能力值,进行会话业务的负荷分担。

负荷分担单元201具体用于,

根据各业务处理机的处理能力值的数值大小比例,均匀分担接口机接收到的业务。

本发明接口机还包括赋值单元202,用于获取所有业务处理机工作状态,当业务处理机宕机时,赋值宕机的业务处理机的处理能力值为0。

接口机还包括接收业务单元203,用于从能力网关服务器接收负荷分担给业务处理机的会话业务的消息。

图3为本发明实现负荷分担的业务处理机的结构框图,如图3所示,至少包括计算上报单元300,用于按照定时间隔计算自身的处理能力值上报给接口机。

计算上报单元300具体用于,按照定时间隔由会话能力值、和/或消息能 力值、和/或CPU能力值、和/或内存能力值、和/或磁盘能力值进行累加后计算获得处理能力值。

本发明业务处理机还包括获取能力值单元301,用于

当获得业务处理机的处理能力值中包含会话能力值时,获取会话能力值:以业务处理机的可用端口数作为业务处理机的最大会话数,读取获得业务处理机的当前会话数,将最大会话数减去当前会话数获得可用会话数,将可用会话数除以最大会话数乘以预先设定的会话权重值,获得会话能力值;

当获得业务处理机的处理能力值中包含消息能力值时,获取消息能力值:根据业务处理机配置确定其相应的最大积压消息数,根据读取获得的当前积压消息数,将最大积压消息数减去当前积压消息数获得可处理消息数,将可处理消息数除以最大积压消息数乘以预先设定的消息权重值,获得消息能力值;

当获得业务处理机的处理能力值中包含CPU能力值时,获取CPU能力值:预先确定业务处理机的CPU最大占用率,读取获得的当前CPU占用率,将CPU最大占用率减去当前CPU占用率,获得CPU可用率,将CPU可用率除以CPU最大占用率乘以预先设定的CPU权重值,获得CPU能力值;

当获得业务处理机的处理能力值中包含内存能力值时,获取内存能力值:预先确定业务处理机的内存最大占用率,读取当前内存占用率,将内存最大占用率减去当前内存占用率获得内存可用率,将内存可用率除以内存最大占用率乘以预先设定的内存权重值,获得内存能力值;

当获得业务处理机的处理能力值中包含磁盘能力值时,获取磁盘能力值:预先确定业务处理机的最大磁盘占用率,读取当前磁盘占用率,将最大磁盘占用率减去当前磁盘占用率获得磁盘可用率,将磁盘可用率除以最大磁盘占用率乘以预先设定的磁盘权重值,获得磁盘能力值。

计算上报单元300还用于,当计算业务处理机的处理能力值中的会话能力值、消息能力值、CPU能力值、内存能力值、或磁盘能力值存在一个或一个以上值小于或等于0时,赋值业务处理机的处理能力值为0。

图4为本发明实现负荷分担的系统的结构程图,如图4所示,包括:接 口机及若干业务处理机;其中,

业务处理机至少包含计算上报单元300,用于按照定时间隔计算自身的处理能力值上报给接口机;

接口机至少包含负荷分担单元201,用于根据各业务处理机的处理能力值,进行会话业务的负荷分担。

以下通过具体实施例对本发明方法进行清楚详细的说明,实施例仅用于陈述本发明,并不用于限制本发明方法的保护范围。

实施例1

本实施以应用下行到终端的业务的消息为例进行说明,本实施例设定业务处理机的处理能力值最大值为1000,根据处理能力值的最大值进行权重值的设定。

能力网关服务器接收到应用业务的消息,将业务的消息发送到接口机;

接口机根据定时间隔进行业务处理机的处理能力值上报确定业务的负荷分担。

进行业务分担的业务处理机将业务的消息发送到核心网,核心网将消息发往目的终端。其中,业务处理机的处理能力值及业务的负荷分担通过以下方式实现。

业务处理机按照定时间隔计算自身的处理能力值上报给接口机;其中,

定时间隔由预先设定的节点均衡参数设定及调整,例如,读取业务处理机中最忙节点的系统负荷比最闲节点的系统负荷高于一定百分比时,设定按照一定比例调整上报间隔的百分比,例如最忙节点的系统负荷比最闲节点的系统负荷高于30%时,定时间隔减少10个百分比,定时间隔以1秒到60秒为优选值。

需要说明的是,系统负荷可以通过现有命令查看获得,例如,在Linux系统中,可以用w或uptime或procinfo或top命令查看各节点的系统负荷。

本步骤中,业务处理机的处理能力值由会话能力值、和/或消息能力值、和/或CPU能力值、和/或内存能力值、和/或磁盘能力值计算获得。

优选的,以业务处理机的可用端口数作为业务处理机的最大会话数,读取获得业务处理机的当前会话数,将最大会话数减去当前会话数获得可用会话数,将可用会话数除以最大会话数乘以预先设定的会话权重值,获得会话能力值。

由于业务处理机的端口数最大限制为65535,需要预留部分给系统和相关应用使用,业务处理机的可用端口数小于65535,业务的会话建立需要用到业务处理机的端口,业务的会话数会受此限制,一般来说,业务处理机的可用端口数可以设定为60000,当然,可以根据系统和相关应用对端口的使用情况进行调整。由于,业务的会话数主要受端口资源的影响,对系统CPU,内存影响不大,因此权重可以调低一点,例如、100。

假定,业务处理机的最大会话数为60000,当前会话数10000,会话权重值为100,则获得会话能力值为:(60000-10000)/60000*100=83

根据业务处理机配置确定其相应的最大积压消息数,根据读取获得的当前积压消息数,将最大积压消息数减去当前积压消息数获得可处理消息数,将可处理消息数除以最大积压消息数乘以预先设定的消息权重值,获得消息能力值。

消息能力值是本发明业务处理机业务负荷分担的重要参考依据,因此,需要设定较大的权重值,如、设定消息权重值为300。

假定最大积压消息数为1000,设定消息权重值为300,当前积压消息数为100,则消息能力值为:(1000-100)/1000*300=270。这里,如果当前积压消息数已超过最大积压消息数说明业务处理机已满负荷,此时,消息能力值为0。

预先确定业务处理机的CPU最大占用率,读取获得的当前CPU占用率,将CPU最大占用率减去当前CPU占用率,获得CPU可用率,将CPU可用率除以CPU最大占用率乘以预先设定的CPU权重值,获得CPU能力值。

CPU能力值是本发明业务处理机业务负荷分担的重要参考依据,因此,需要设定较大的权重值,如、设定CPU权重值为300。

预先确定业务处理机的CPU最大占用率为80%,CPU权重值为300, 当前CPU占用率为60%,则CPU能力值为:(80-60)/80*300=75。

预先确定业务处理机的内存最大占用率,读取当前内存占用率,将内存最大占用率减去当前内存占用率获得内存可用率,将内存可用率除以内存最大占用率乘以预先设定的内存权重值,获得内存能力值。

内存能力值是本发明业务处理机业务负荷分担的一个参考依据,设定权重大于处于中等低位,如、设定内存权重值为200。

预先确定业务处理机的内存最大占用率为80%,内存权重值为200,当前内存占用率为60%,则内存能力值为(80-60)/80*200=50。

预先确定业务处理机的最大磁盘占用率,读取当前磁盘占用率,将最大磁盘占用率减去当前磁盘占用率获得磁盘可用率,将磁盘可用率除以最大磁盘占用率乘以预先设定的磁盘权重值,获得磁盘能力值。

磁盘对业务处理机的处理能力值计算其重要性略低,因此可以设定磁盘权重值为100。

预先确定业务处理机的最大磁盘占用率为80%,磁盘权重值为100,当前磁盘占用率为40%,则磁盘能力值为(80-40)/80*100=50。

接口机根据各业务处理机的处理能力值,进行会话业务的负荷分担具体包括:将各业务处理机的处理能力值累加获得能力累加和;

取非会话业务的消息的特征串中发起者号码的后四位加上特征串中任一接收者号码的后四位获得特征数值;

将获得的特征数值用获得的能力累加和取模,获得负荷分担参考值;

将业务处理机的处理能力值按照由小到大排列后,

从业务处理机的处理能力值最小值开始,分别计算第1到第I个业务处理机的处理能力值的累加和,获得各业务处理机相应的负荷分担确定值;

当出现负荷分担确定值大于负荷分担参考值时,确定该负荷分担确定值对应的第I个业务处理机为业务分担的业务处理机。

I为大于1小于业务处理机的处理能力值大于0的业务处理机个数值。

假设计算业务处理机的业务处理机的处理能力值分别为500、700、811、 0;

将各业务处理机的处理能力值累加获得能力累加和为500+700+811+0=2011。

取非会话业务的消息的特征串中发起者号码的后四位加上特征串中任一接收者号码的后四位获得特征数值;

假设接口机收到的非会话业务的消息的特征串,发起者号码为13612345678,任一接收者的号码为13956782234,则获得特征数值为5678+2234=7912。

将获得的特征数值用获得的能力累加和取模,获得负荷分担参考值;

将获得特征数值用获得能力累加和取模得为:7912用2011取模得到1879。

从业务处理机的处理能力值最小值开始,分别计算第1到第I个业务处理机的处理能力值的累加和,获得各业务处理机相应的负荷分担确定值;

即第1个业务处理机的处理能力值,对第1个到第2个业务处理机的业务处理机的处理能力值累加求和,对第1个到第3个业务处理机的业务处理机的处理能力值累加求和;获得的值为500、1200、2011,

当出现负荷分担确定值大于负荷分担参考值时,确定该负荷分担确定值对应的第I个业务处理机为业务分担的业务处理机。

即2011大于1879时,确定该负荷分担确定值对应的第3个业务处理机为业务分担的业务处理机。即,接口机将业务负荷分担给第三个业务处理机。

通过本实施方法,如果用户A发起多条非会话内业务的消息,不会固定分配到某个业务处理机,而是根据设定间隔上报的业务处理机的处理能力值进行调整,从而达到业务处理机的负荷分担。通过获取业务处理机的处理能力值,避免了固定按比例分发造成的负荷不均。

本实施例还包括:如果业务处理机出现宕机时,则宕机的业务处理机的处理机能力值被赋值为0,根据更新的处理机能力值重新选择分发的业务处理机。因此,接口机也能很好的进行负荷调整,提高系统的平稳运行。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明 而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1