一种负载确定方法、装置及电子设备与流程

文档序号:13391443阅读:139来源:国知局
一种负载确定方法、装置及电子设备与流程

本发明涉及负载均衡技术领域,特别涉及一种负载确定方法、装置及电子设备。



背景技术:

在一些分布式系统中,通常采用负载均衡技术,对系统中各台设备进行调度,以提高系统处理数据(比如,连接请求)的效率。现有方案中,通常将设备的当前连接数量作为该设备的负载,当有新的连接请求时,优先将该连接请求分配给负载较小的设备,也就是连接较少的设备。

但是,设备处理数据的速度并不仅与其当前连接数量相关,并不是当前连接数量越少的设备处理数据越快,应用上述方案确定设备的负载,并没有考虑到影响设备处理速度的其他因素,确定出的负载不准确,进而导致负载均衡效果较差。



技术实现要素:

本发明实施例的目的在于提供一种负载确定方法、装置及电子设备,以提高确定负载的准确性。

为达到上述目的,本发明实施例公开了一种负载确定方法,包括:

获取设备的多项性能属性值;

分别将每项性能属性值与其对应的属性阈值进行比较;

根据每项性能属性值的比较结果、以及预先设定的每项性能属性值的权重,计算用于表示设备负载的综合性能值。

为达到上述目的,本发明实施例还公开了一种负载确定装置,包括:

获取模块,用于获取设备的多项性能属性值;

比较模块,用于将所述获取模块获取的每项性能属性值分别与其对应的属性阈值进行比较;

计算模块,用于根据每项性能属性值的比较结果、以及预先设定的每项性能属性值的权重,计算用于表示设备负载的综合性能值。

为达到上述目的,本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存储机器可读指令;

处理器,用于读取所述存储器上所存储的机器可读指令,以执行上述任一种负载确定方法。

为达到上述目的,本发明实施例还公开了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述任一种负载确定方法。

应用本发明所示实施例,获取设备的多项性能属性值,每项性能属性值分别对应一个属性阈值,将每项性能属性值与其对应的属性阈值进行比较,根据每个比较结果、以及预先设定的每项性能属性值的权重,计算综合性能值,将该综合性能值表示设备的负载;相比于现有方案中直接用设备的当前连接数量表示设备的负载,本方案基于多项性能属性值,确定综合性能值,用综合性能值表示设备的负载,提高了确定负载的准确性,进一步的,可以提高负载均衡效果。

当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种分布式系统的结构示意图;

图2为本发明实施例提供的另一种分布式系统的结构示意图;

图3为本发明实施例提供的一种负载确定方法的流程示意图;

图4为本发明实施例提供的一种负载确定装置的结构示意图;

图5为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了解决上述技术问题,本发明实施例提供了一种负载确定方法、装置及电子设备,该方法及装置可以应用于分布式系统中的管理设备,或者,也可以应用于分布式系统中的处理设备,或者,也可以应用于任意电子设备,具体不做限定。

分布式系统可以如图1所示,包含一台管理设备及多台处理设备(处理设备1、处理设备2……处理设备n),或者,分布式系统中也可以包含多台管理设备,图1并不对管理设备的数量构成限定。

管理设备可以采用负载均衡技术,对系统中各台处理设备进行调度。举例来说,管理设备在接收到连接请求后,可以根据各台处理设备的负载,选择处理设备处理该连接请求。在这之前,管理设备可以利用本发明实施例提供的负载确定方法,确定系统中各台处理设备的负载。

作为一种实施方式,在分布式系统中,可以指定一台或多台处理设备作为管理设备,也就是说管理设备既可以对处理设备进行调度,也可以处理连接请求。

或者,分布式系统中的处理设备可以利用本发明实施例提供的负载确定方法,确定自身的负载,并将自身的负载信息发送给管理设备,管理设备根据接收到的各台处理设备的负载信息,对各台处理设备进行调度。

或者,分布式系统也可以如图2所示,仅包含多台处理设备,也就是说,系统中不设置管理设备。这种情况下,处理设备可以利用本发明实施例提供的负载确定方法,确定自身的负载,并根据所确定出的负载,来判断自身是否对连接请求进行处理。

或者,手机、电脑等其他电子设备也可以利用本发明实施例提供的负载确定方法,确定自身的负载。本发明实施例的应用场景不进行限定。

下面首先对本发明实施例提供的负载确定方法进行详细说明。

图3为本发明实施例提供的一种负载确定方法的流程示意图,包括:

s301:获取设备的多项性能属性值。

性能属性值可以包括以下任意两项或三项:cpu占用率、内存占用率、磁盘占用率。或者,也可以包括其他能够反应设备性能的属性值,具体不做限定。

如果本方法应用在图1所示系统中,且执行本方法的设备为分布式系统中的管理设备,则s301中的设备为分布式系统中的处理设备。

作为一种实施方式,分布式系统中的管理设备及各台处理设备之间可以通过预设管理协议进行数据交互。举例来说,该预设管理协议可以为snmp(simplenetworkmanagementprotocol,简单网络管理协议),或者,也可以为其他,具体不做限定。

处理设备可以通过该预设管理协议,将自身的cpu占用率、已占用内存容量、内存总容量、已占用磁盘容量、内存总容量等性能信息发送给管理设备。已占用内存容量与内存总容量的比值,即为内存占用率,已占用磁盘容量与内存总容量的比值即为磁盘占用率,这样管理设备便获取到了处理设备的cpu占用率、内存占用率、磁盘占用率。

具体的,管理设备可以每隔预设周期向处理设备发送snmp探测报文,处理设备接收到该snmp探测报文后,将自身性能信息反馈给管理设备。如果管理设备在发送snmp探测报文的预设时长后,未接收到处理设备的反馈,可以直接记录该处理设备为宕机状态;或者,也可以再次发送snmp探测报文,在多次发送snmp探测报文都没有接收到处理设备的反馈的情况下,再将该处理设备记录为宕机状态。后续管理设备接收到连接请求,对处理设备进行调度时,被记录为宕机状态的处理设备不参与调度。

作为另一种实施方式,处理设备中可以安装插件,该插件可以实时地、或者周期性地将处理设备的性能信息发送给管理设备。

如上所述,该性能信息可以包含处理设备的的cpu占用率、已占用内存容量、内存总容量、已占用磁盘容量、内存总容量等。已占用内存容量与内存总容量的比值,即为内存占用率,已占用磁盘容量与内存总容量的比值即为磁盘占用率,这样管理设备便获取到了处理设备的cpu占用率、内存占用率、磁盘占用率。

需要说明的是,如果s301中的设备为多核cpu设备,则该cpu占用率可以取多核cpu占用率的平均值、或者最大值、或者最小值,或者,也可以指定一个cpu,将该cpu的占用率作为设备的cpu占用率。

如果本方法应用在图1所示系统中,且执行本方法的设备为分布式系统中的处理设备,则s301中的设备为该处理设备自身,该处理设备可以获取自身的各种性能属性值。

如果本方法应用在图2所示系统中,且执行本方法的设备为分布式系统中的处理设备,则s301中的设备为该处理设备自身,该处理设备可以获取自身的各种性能属性值。

如果执行本方案的设备为单独的电子设备,则s301中的设备为该电子设备自身,电子设备可以获取自身的各种性能属性值。

s302:分别将每项性能属性值与其对应的属性阈值进行比较。

在本发明实施例中,可以针对每项性能属性值设定其对应的属性阈值。比如,针对cpu占用率,可以设定对应的cpu阈值,针对内存占用率,可以设定对应的内存阈值,针对磁盘占用率,可以设定对应的磁盘阈值,等等,具体不做限定。

假设获取到n项性能属性值,由于对每项性能属性值都进行同样的处理,将每项性能属性值称为第i项性能属性值,i=1……n。因此,s302可以包括:将第i项性能属性值pi与其对应的属性阈值pmi进行比较,得到第i个比较结果pi/pmi。

s303:根据每项性能属性值的比较结果、以及预先设定的每项性能属性值的权重,计算用于表示设备负载的综合性能值。

上述实施方式中,得到第i个比较结果pi/pmi,i=1……n,在此基础上,利用如下算式,计算所述每台设备的综合性能值:

其中,wf为设备的综合性能值,m为第一预设值,a为第二预设值,wi为预先设定的第i项性能属性值pi的权重,pi/pmi为上述第i个比较结果。各项性能属性值pi的权重可以根据实际情况进行设定。

为了使得上式中1-pi/pmi不为负数,如果第i项性能属性值pi大于其对应的属性阈值pmi时,可以按照pi/pmi=1来计算。

举例来说,假设s301中得到三项性能属性值,cpu占用率p1、内存占用率p2和磁盘占用率p3;s302中将cpu占用率p1与对应的cpu阈值pm1进行比较,得到第一比较结果p1/pm1,将内存占用率p2与对应的内存阈值pm2进行比较,得到第二比较结果p2/pm2,将磁盘占用率p3与对应的磁盘阈值pm3进行比较,得到第三比较结果p3/pm3;s303中利用下式,计算综合性能值:

其中,wf为设备的综合性能权重,m为第一预设值,a为第二预设值,w1为预先设定的cpu占用率的权重,w2为预先设定的内存占用率的权重,w3为预先设定的磁盘占用率的权重,p1/pm1为所述第一比较结果,p2/pm2为所述第二比较结果,p3/pm3为所述第三比较结果。

各项性能属性值pi的权重可以根据实际情况进行设定。可以理解,不同的数据处理过程对于cpu、内存和磁盘的消耗是不同的,比如,有的数据处理过程计算量大,消耗的cpu较多,则w1可以设定地相对大一些。

作为一种实施方式,m=10,a=2,幂底数m为10,幂指数最大为2,使得综合性能值范围在1—100之前。或者,也可以根据实际情况,规划综合性能值范围,根据该范围,设定m及a的取值。

该综合性能值用来表示设备负载,综合性能值越大,表示设备负载越小。

应用本发明图3所示实施例,获取设备的多项性能属性值,每项性能属性值分别对应一个属性阈值,将每项性能属性值与其对应的属性阈值进行比较,根据每个比较结果、以及预先设定的每项性能属性值的权重,计算综合性能值,将该综合性能值表示设备的负载;相比于现有方案中直接用设备的当前连接数量表示设备的负载,本方案基于多项性能属性值,确定综合性能值,用综合性能值表示设备的负载,提高了确定负载的准确性,进一步的,可以提高负载均衡效果。

如果图3所示实施例应用在图1所示系统中,且执行主体为分布式系统中的管理设备,在计算得到用于表示设备负载的综合性能值之后,管理设备便可以根据各台处理设备的负载,选择处理设备处理接收到的连接请求。

具体的,在s303之后,可以包括:结合预设负载均衡策略、以及计算得到的各台设备的综合性能值,选择目标设备处理接收到的连接请求。

作为一种实施方式,管理设备可以每隔预设周期计算一次各台设备的综合性能值,在接收到新的连接请求后,确定该连接请求对应的最近一次的各台设备的综合性能值,结合预设负载均衡策略、以及最近一次的各台设备的综合性能值,选择目标设备处理该连接请求。

作为另一种实施方式,管理设备也可以在接收到连接请求之后,利用图3所示实施例,计算各台设备的综合性能值,然后结合预设负载均衡策略、以及计算得到的各台设备的综合性能值,选择目标设备处理该连接请求。

该预设负载均衡策略可以有多种,比如,可以直接选择综合性能值最大的设备(负载最小的设备)作为目标设备处理连接请求。或者,也可以根据各台设备综合性能值的比例,分配接收到的连接请求。举个简单的例子,假设分布式系统中有四台处理设备a、b、c、d,其中,计算得到a的综合性能值60、b的综合性能值40、c的综合性能值80、d的综合性能值20,这四台处理设备综合性能值的比例为:3:2:4:1;假设管理设备接收到10个连接请求,则根据该比例,将其中3个连接请求分配给设备a来处理,2个连接请求分配给设备b来处理,4个连接请求分配给设备c来处理,1个连接请求分配给设备d来处理。

或者,可以采用加权最少连接算法。针对每台设备,确定其综合性能值与其当前连接数的比值,管理设备优先选择该比值较大的设备作为目标设备来处理连接请求。举个简单的例子,假设分布式系统中有四台处理设备a、b、c、d,其中,计算得到a的综合性能值60、b的综合性能值40、c的综合性能值80、d的综合性能值20,a的当前连接数为3,b的当前连接数为4,c的当前连接数为2,d的当前连接数为2;确定a的综合性能值与当前连接数的比值为20,b的比值为10,c的比值为40,d的比值为10。管理设备接收到连接请求后,优先将连接请求分配给设备c,假设为c分配了一个连接请求,则c的当前连接数变为3,比值变为27,仍最大;管理设备接收到连接请求后,仍优先将连接请求分配给设备c,假设为c分配了一个连接请求,则c的当前连接数变为4,比值变为20,与a相同,则下一个连接请求可以优先分给a或c……以此类推,不再赘述。

或者,也可以采用加权轮转算法。举个简单的例子,假设分布式系统中有四台处理设备a、b、c、d,其中,计算得到a的综合性能值60、b的综合性能值40、c的综合性能值80、d的综合性能值20。管理设备接收到连接请求后,前4个连接请求任意分配给这四台设备,这四台设备都处理过一个连接请求后,将自身综合性能值减掉10,则a的综合性能值为50、b的综合性能值为30、c的综合性能值为70、d的综合性能值为10;然后管理设备再将4个连接请求任意分配给这四台设备,这四台设备都再处理过一个连接请求后,将自身综合性能值再减掉10,则a的综合性能值为40、b的综合性能值为20、c的综合性能值为60、d的综合性能值为0;综合性能值减到0的设备不再处理连接请求,管理设备再分配连接请求时,从设备a、设备b、设备c中进行选择……直至全部设备的综合性能值减为0,再重新按照s303计算得到的各设备的综合权重值,进行新一轮的分配。或者,也可以重新执行图3所示实施例,得到新的综合权重值,根据新的综合权重值,进行新一轮的分配。

需要说明的是,上述例子中的各个数字,比如,“4个连接请求”、“处理过一个连接请求后,将自身综合性能值减掉10”等,都仅为举例说明,并不对方案构成限定。

预设负载均衡策略有多种,不再一一列举。

作为一种实施方式,s302还可以包括:判断所述多项性能属性值中是否存在大于所对应属性阈值的性能属性值;如果是,将所述设备标记为繁忙状态;在所述计算用于表示设备负载的综合性能值之后,结合预设负载均衡策略、以及计算得到的各台设备的综合性能值,在未被标记为繁忙状态的设备中,选择目标设备处理接收到的连接请求。

在本实施方式中,s301获取到的设备的多项性能属性值中,如果有任一项性能属性值大于其所对应的属性阈值,则将该设备标记为繁忙状态,在后续管理设备选择目标设备处理连接请求时,可以不考虑被标记为繁忙状态的设备,也就是仅在未被标记为繁忙状态的设备中,选择目标设备处理接收到的连接请求。

或者,用户可以根据实际情况,设定被标记为繁忙状态的设备是否参与处理连接请求。在本实施方式中,可以提供选择界面,使得用户选择被标记为繁忙状态的设备是否参与处理连接请求。

如果用户选择“不参与”,则执行上述实施方式,“在所述计算用于表示设备负载的综合性能值之后,结合预设负载均衡策略、以及计算得到的各台设备的综合性能值,在未被标记为繁忙状态的设备中,选择目标设备处理接收到的连接请求”;如果用户选择“参与”,则可以不进行繁忙状态的标记,管理设备在全部处理设备中选择处理连接请求的目标设备,或者,也可以进行繁忙状态的标记,该标记仅起到提示作用,管理设备仍在全部处理设备中选择处理连接请求的目标设备。

根据上面内容(s303部分)描述,为了使得算式中的1-pi/pmi不为负数,如果第i项性能属性值pi大于其对应的属性阈值pmi时,可以按照pi/pmi=1来计算。也就是说,计算设备的综合性能值时,如果该设备的性能属性值大于其所对应的属性阈值,将该性能属性值视为等于其对应的属性阈值。

或者,作为一种实施方式,如果设备的某一项性能属性值大于其所对应的属性阈值,则可以不再计算该设备的综合性能值,这也是合理的。

在本实施方式中,s302包括:分别将每项性能属性值与其对应的属性阈值进行比较,并判断所述多项性能属性值中是否存在大于所对应属性阈值的性能属性值;如果是,将所述设备标记为繁忙状态;s303可以包括:针对未被标记为繁忙状态的设备,根据该设备的每项性能属性值的比较结果、以及预先设定的每项性能属性值的权重,计算用于表示该设备负载的综合性能值;在s303之后,结合预设负载均衡策略、以及计算得到的各台设备的综合性能值,在未被标记为繁忙状态的设备中,选择目标设备处理接收到的连接请求。

或者,用户可以根据实际情况,设定是否计算被标记为繁忙状态的设备的综合性能值。在本实施方式中,可以提供选择界面,使得用户选择是否计算被标记为繁忙状态的设备的综合性能值。

与上述方法实施例相对应,本发明实施例还提供一种负载确定装置。

图4为本发明实施例提供的一种负载确定装置的结构示意图,包括:

获取模块401,用于获取设备的多项性能属性值;

比较模块402,用于将所述获取模块获取的每项性能属性值分别与其对应的属性阈值进行比较;

计算模块403,用于根据每项性能属性值的比较结果、以及预先设定的每项性能属性值的权重,计算用于表示设备负载的综合性能值。

作为一种实施方式,所述性能属性值包括以下任意两项或三项:cpu占用率、内存占用率、磁盘占用率;

获取模块401,具体可以用于:

接收设备通过预设管理协议发送的多项性能属性值;

或者,接收设备通过所述设备中的插件发送的性能属性值。

作为一种实施方式,所述多项性能属性值为n项性能属性值;比较模块402,具体可以用于:

将第i项性能属性值pi与其对应的属性阈值pmi进行比较,得到第i个比较结果pi/pmi,i=1……n;

计算模块403,具体可以用于:

利用如下算式,计算所述每台设备的综合性能值:

其中,wf为设备的综合性能值,m为第一预设值,a为第二预设值,wi为预先设定的第i项性能属性值pi的权重,pi/pmi为所述第i个比较结果。

作为一种实施方式,所述m=10,所述a=2。

作为一种实施方式,所述装置还可以包括:

第一负载均衡模块(图中未示出),用于结合预设负载均衡策略、以及所述计算模块计算得到的各台设备的综合性能值,选择目标设备处理接收到的连接请求。

作为一种实施方式,所述装置还可以包括:判断模块、标记模块和第二负载均衡模块(图中未示出),其中,

判断模块,用于判断所述多项性能属性值中是否存在大于所对应属性阈值的性能属性值;如果是,触发标记模块;

标记模块,用于将所述设备标记为繁忙状态;

第二负载均衡模块,用于结合预设负载均衡策略、以及计算得到的各台设备的综合性能值,在未被标记为繁忙状态的设备中,选择目标设备处理接收到的连接请求。

应用本发明图4所示实施例,获取设备的多项性能属性值,每项性能属性值分别对应一个属性阈值,将每项性能属性值与其对应的属性阈值进行比较,根据每个比较结果、以及预先设定的每项性能属性值的权重,计算综合性能值,将该综合性能值表示设备的负载;相比于现有方案中直接用设备的当前连接数量表示设备的负载,本方案基于多项性能属性值,确定综合性能值,用综合性能值表示设备的负载,提高了确定负载的准确性,进一步的,可以提高负载均衡效果。

与上述方法实施例相对应,本发明实施例还提供一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信;

存储器503,用于存储机器可读指令;

处理器501,用于读取存储器503上所存储的机器可读指令,以执行如下步骤:

获取设备的多项性能属性值;

分别将每项性能属性值与其对应的属性阈值进行比较;

根据每项性能属性值的比较结果、以及预先设定的每项性能属性值的权重,计算用于表示设备负载的综合性能值。

作为一种实施方式,所述性能属性值包括以下任意两项或三项:cpu占用率、内存占用率、磁盘占用率;

处理器501还可以执行如下步骤:

接收设备通过预设管理协议发送的多项性能属性值;

或者,接收设备通过所述设备中的插件发送的性能属性值。

作为一种实施方式,所述多项性能属性值为n项性能属性值;处理器501还可以执行如下步骤:

将第i项性能属性值pi与其对应的属性阈值pmi进行比较,得到第i个比较结果pi/pmi,i=1……n;

利用如下算式,计算所述每台设备的综合性能值:

其中,wf为设备的综合性能值,m为第一预设值,a为第二预设值,wi为预先设定的第i项性能属性值pi的权重,pi/pmi为所述第i个比较结果。

作为一种实施方式,m=10,a=2。

作为一种实施方式,处理器501还可以执行如下步骤:

在计算用于表示设备负载的综合性能值的之后,结合预设负载均衡策略、以及计算得到的各台设备的综合性能值,选择目标设备处理接收到的连接请求。

作为一种实施方式,处理器501还可以执行如下步骤:

判断所述多项性能属性值中是否存在大于所对应属性阈值的性能属性值;

如果是,将所述设备标记为繁忙状态;

在计算用于表示设备负载的综合性能值的之后,结合预设负载均衡策略、以及计算得到的各台设备的综合性能值,在未被标记为繁忙状态的设备中,选择目标设备处理接收到的连接请求。

上述网络设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述网络设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

应用本发明图5所示实施例,获取设备的多项性能属性值,每项性能属性值分别对应一个属性阈值,将每项性能属性值与其对应的属性阈值进行比较,根据每个比较结果、以及预先设定的每项性能属性值的权重,计算综合性能值,将该综合性能值表示设备的负载;相比于现有方案中直接用设备的当前连接数量表示设备的负载,本方案基于多项性能属性值,确定综合性能值,用综合性能值表示设备的负载,提高了确定负载的准确性,进一步的,可以提高负载均衡效果。

与上述方法实施例相对应,本发明实施例还提供一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器,实现如下方法步骤:

获取设备的多项性能属性值;

分别将每项性能属性值与其对应的属性阈值进行比较;

根据每项性能属性值的比较结果、以及预先设定的每项性能属性值的权重,计算用于表示设备负载的综合性能值。

作为一种实施方式,所述性能属性值包括以下任意两项或三项:cpu占用率、内存占用率、磁盘占用率;

处理器还可以实现如下步骤:

接收设备通过预设管理协议发送的多项性能属性值;

或者,接收设备通过所述设备中的插件发送的性能属性值。

作为一种实施方式,所述多项性能属性值为n项性能属性值;所述机器可执行指令促使所述处理器,实现如下方法步骤:

将第i项性能属性值pi与其对应的属性阈值pmi进行比较,得到第i个比较结果pi/pmi,i=1……n;

利用如下算式,计算所述每台设备的综合性能值:

其中,wf为设备的综合性能值,m为第一预设值,a为第二预设值,wi为预先设定的第i项性能属性值pi的权重,pi/pmi为所述第i个比较结果。

作为一种实施方式,m=10,a=2。

作为一种实施方式,所述机器可执行指令促使所述处理器,实现如下方法步骤:

在计算用于表示设备负载的综合性能值的之后,结合预设负载均衡策略、以及计算得到的各台设备的综合性能值,选择目标设备处理接收到的连接请求。

作为一种实施方式,所述机器可执行指令促使所述处理器,实现如下方法步骤:

判断所述多项性能属性值中是否存在大于所对应属性阈值的性能属性值;

如果是,将所述设备标记为繁忙状态;

在计算用于表示设备负载的综合性能值的之后,结合预设负载均衡策略、以及计算得到的各台设备的综合性能值,在未被标记为繁忙状态的设备中,选择目标设备处理接收到的连接请求。

应用本发明所示实施例,获取设备的多项性能属性值,每项性能属性值分别对应一个属性阈值,将每项性能属性值与其对应的属性阈值进行比较,根据每个比较结果、以及预先设定的每项性能属性值的权重,计算综合性能值,将该综合性能值表示设备的负载;相比于现有方案中直接用设备的当前连接数量表示设备的负载,本方案基于多项性能属性值,确定综合性能值,用综合性能值表示设备的负载,提高了确定负载的准确性,进一步的,可以提高负载均衡效果。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:rom/ram、磁碟、光盘等。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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