一种负载分担方法及装置与流程

文档序号:12732359阅读:196来源:国知局
一种负载分担方法及装置与流程

本发明涉及通信技术领域,特别是涉及一种负载分担方法及装置。



背景技术:

IRF(Intelligent Resilient Framework,智能弹性架构)系统是将多台设备连接在一起,进行配置后,虚拟化成一台设备。

在星型IRF系统里,如图1所示,主成员设备和从成员设备为IRF系统的成员设备,各个成员设备之间可通过二层网络连接在一起以形成IRF链路,可同时传输数据报文和IRF协议报文,主成员设备负责IRF系统的运行、管理和维护。

目前,在IRF系统里进行负载分担处理时,网络中的AP(Access Point,接入点)被均衡的负载至各个成员设备上。当一个成员设备因故障重启后,负载在这个成员设备上的AP被均衡的负载至其他成员设备上。

对于成员设备而言,AP一旦负载至这个成员设备上,也就是,AP在这个成员设备上上线,则这个成员设备在非重启的情况下,不会将这个AP踢下线。基于此,进行负载分担时,一个成员设备因故障重启后,这个成员设备将处于空闲状态,负载的AP个数为0,这将导致IRF系统负载不均衡,导致IRF系统中某一台成员设备处理大量的流量和业务,进而出现业务繁忙、丢包等问题,使得IRF系统的服务质量下降,用户体验不佳。



技术实现要素:

本发明实施例的目的在于提供一种负载分担方法及装置,以提高IRF系统的服务质量,提高用户体验。具体技术方案如下:

一方面,本发明实施例公开了一种负载分担方法,应用于IRF系统的主成员设备,所述方法包括:

检测本地的第一资源利用量;

获取所述IRF系统的各个从成员设备的第二资源利用量;

确定所述第一资源利用量和各个所述第二资源利用量中最大值和最小值的差值;

当所述差值的绝对值超过预设阈值时,将所述最大值对应的成员设备负载的部分AP负载至所述最小值对应的成员设备上。

另一方面,本发明实施例公开了一种负载分担装置,应用于IRF系统的主成员设备,所述装置包括:

检测单元,用于检测本地的第一资源利用量;

获取单元,用于获取所述IRF系统的各个从成员设备的第二资源利用量;

确定单元,用于确定所述第一资源利用量和各个所述第二资源利用量中最大值和最小值的差值;

负载单元,用于当所述差值的绝对值超过预设阈值时,将所述最大值对应的成员设备负载的部分AP负载至所述最小值对应的成员设备上。

本发明实施例提供了一种负载分担方法及装置,主成员设备检测本地的第一资源利用量,另外,获取IRF系统的各个从成员设备的第二资源利用量,当第一资源利用量和各个第二资源利用量中最大值和最小值的差值的绝对值超过预设阈值时,则可以确定当前IRF系统中成员设备间负载不均衡,因此,对AP进行再次负载,将最大值对应的成员设备负载的部分AP负载至最小值对应的成员设备上,这有效地促使IRF系统中成员设备间能够到达负载均衡,避免了某一台成员设备处理大量的流量和业务的现象,提高了IRF系统的服务质量,进而提高了用户体验。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

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

图1为星型IRF系统的结构示意图;

图2为本发明实施例提供的一种负载分担方法的一种流程示意图;

图3为本发明实施例中使用的一种星型IRF系统的结构示意图;

图4为本发明实施例提供的一种负载分担方法的另一种流程示意图;

图5为本发明实施例提供的一种负载分担装置的结构示意图。

具体实施方式

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

参考图2,图2为本发明实施例提供的一种负载分担方法的一种流程示意图,应用于IRF系统的主成员设备,以便于主成员设备统一负责IRF系统的运行、管理和维护。具体地,该方法包括:

S201:检测本地的第一资源利用量;

这里,资源利用量可以为成员设备的吞吐量、成员设备上负载的AP的数量、成员设备上负载的客户端的数量等。此时,主成员设备可以检测本地的物理业务口的吞吐量,或者为主成员设备上负载的AP的数量,或者为主成员设备上负载的客户端的数量等。具体检测的内容可以根据实际需要确定。

一般的,为了避免一个成员设备处理过多的业务,使得这个成员设备的服务质量下降的情况,可以检测本地物理业务口的吞吐量。

在IRF系统运行中,会遇到成员设备重启的情况下,此时,若没有新的AP上线,将使得这个重启的成员设备负载的AP的数量为0。为了避免上述情况,可以检测成员设备上负载的AP的数量。

另外,在IRF系统运行中,还会遇到某一区域在线客户端的数量特别多,而其他区域在线客户端的数量特别少的情况,例如:在夜晚,校园的宿舍楼区域有大量的客户端在线,而校园的教学楼区域基本没有在线的客户端,这将导致在线客户端的数量多的区域的成员设备特别繁忙,服务质量下降。为了避免上述情况,可以检测在线的客户端的数量,也就是检测成员设备上负载的客户端的数量。这里,成员设备上负载的客户端的数量可以细分为:成员设备上负载的各个AP分别负载的客户端的数量。

在本发明的其他实施例中,为了便于灵活控制IRF系统的负载分担,可以在主成员设备上设置负载分担功能。

这种情况下,当主成员设备开启负载分担功能时,主成员设备定时检测本地的第一资源利用量。这里,检测第一资源利用量的时间间隔可以由管理人员设定。

另外,若主成员设备未开启负载分担功能,则直接执行S202。

S202:获取IRF系统的各个从成员设备的第二资源利用量;

一般的,从成员设备可以检测本地的物理业务口的吞吐量,或者检测从成员设备上负载的AP的数量,或者检测从成员设备上负载的客户端的数量。

在本发明的其他实施例中,为了便于灵活控制IRF系统的负载分担,可以在从成员设备上设置负载分担功能。

这种情况下,当一个从成员设备开启负载分担功能时,这个从成员设备可以定时检测本地的第二资源利用量,并将第二资源利用量发送给主成员设备。这里,从成员设备检测本地的第二资源利用量的时间间隔与主成员设备的检测第一资源利用量的时间间隔相同。

需要说明的是,IRF系统中可能仅有部分从成员设备开启了负载分担功能,为了节省网络资源,可以仅获取开启了负载分担功能的从成员设备的第二资源利用量。

S203:确定第一资源利用量和各个第二资源利用量中最大值和最小值的差值;

S204:当差值的绝对值超过预设阈值时,将最大值对应的成员设备负载的部分AP负载至最小值对应的成员设备上。

这里,主成员设备可以从最大值对应的成员设备负载的AP中随机的选择出部分AP,将选择出的部分AP负载至最小值对应的成员设备上,使最大值对应的成员设备和最小值对应的成员设备达到负载均衡,实现了负载分担。

一般的,若检测的资源利用量为吞吐量,当差值的绝对值超过预设阈值时,将最大值对应的成员设备上与差值的绝对值的一半的吞吐量匹配的至少一个AP,负载至最小值对应的成员设备上,以实现负载分担。

例如,如图3所示的星型IRF系统,该星型IRF系统中包括:主成员设备100、从成员设备210和从成员设备220;若当前检测的资源利用量为吞吐量,预设阈值为500M,当检测到主成员设备100的吞吐量为380M,从成员设备210的吞吐量为0M,从成员设备220的吞吐量为600M;

其中,最大值为600M,最小值为0M,600M-0M=600M>500M,因此,将从成员设备220上负载的部分AP负载至从成员设备210上,使从成员设备210和从成员设备220达到负载均衡,例如使从成员设备210的吞吐量达到300M,从成员设备220的吞吐量降到300M。

在本发明的其他实施例中,为了提高实现负载分担的速度,选择最大值对应的成员设备上吞吐量较大的AP,将这些吞吐量较大的AP负载至最小值对应的成员设备上。

若检测的资源利用量为成员设备上负载的AP的数量,当差值的绝对值超过预设阈值时,对差值的绝对值的一半取整后,得到分担个数,将最大值对应的成员设备上分担个数个AP,负载至最小值对应的成员设备上。

例如,如图3所示的星型IRF系统,若当前检测的资源利用量为成员设备上负载的AP的数量,预设阈值为25个,当检测到主成员设备100负载的AP的数量为56个,从成员设备210负载的AP的数量为38个,从成员设备220负载的AP的数量为25个;

其中,最大值为56个,最小值为25个,56个-25个=31个>25个,31/2=15.5,因此,对15.5取整后,确定分担个数为15,将主成员设备100上负载的15个AP负载至从成员设备220上,使主成员设备100和从成员设备220达到负载均衡,例如使从成员设备220上负载的AP的数量达到40个,主成员设备100上负载的AP的数量降到41个。

值得一提的是,若检测的资源利用量为成员设备上负载的AP的数量,可以在主成员设备上设置一个默认值,在未设置其他阈值的情况下,上述预设阈值采用默认值。例如,上述默认值可以为IRF系统负载的AP的总数除以IRF系统中成员设备的总个数得到的值的一半。仍以上面的例子进行说明,默认值为(56+38+25)/3/2=19.83。

若检测的资源利用量为成员设备上负载的客户端的数量,当差值的绝对值超过预设阈值时,将最大值对应的成员设备上与差值的绝对值的一半的数量匹配的至少一个AP,负载至最小值对应的成员设备上。

在本发明的其他实施例中,为了提高实现负载分担的速度,选择最大值对应的成员设备上负载客户端的数量较多的AP,将这些负载客户端的数量较多的AP负载至最小值对应的成员设备上。

例如,如图3所示的IRF系统,若当前检测的资源利用量为成员设备上负载的客户端的数量,当检测到主成员设备100负载的客户端的数量为65个,从成员设备210负载的客户端的数量为32个,从成员设备220负载的客户端的数量为48个,预设阈值为25个;

其中,最大值为65个,最小值为32个,65个-32个=33个>25个,因此,将主成员设备100上负载的部分AP负载至从成员设备210上,使主成员设备100和从成员设备210达到负载均衡,例如使从成员设备210上负载的客户端的数量达到48个,主成员设备100上负载的客户端的数量降到49个。

值得一提的是,若检测的资源利用量为成员设备上负载的客户端的数量,可以在主成员设备上设置一个默认值,在未设置其他阈值的情况下,上述预设阈值采用默认值。例如,上述默认值可以为IRF系统负载的客户端的总数除以IRF系统中成员设备的总个数得到的值的一半。仍以上面的例子进行说明,默认值为(65+32+48)/3/2=24.17。

在本发明的一个实施例中,为了实现平滑的处理AP,实现灵活的控制负载分担,在主成员设备上为每一个上线表项添加针对各个成员设备的控制位,控制位用于控制AP的上线成员设备,控制位可以设置两种值,分别为第一预设值(如1)和第二预设值(如0);其中,第一预设值用于表示当前成员设备为AP的上线成员设备,第二预设值用于表示当前成员设备不是AP的上线成员设备。另外,针对一个AP的上线表项用于确定上线成员设备具有处理来自这个AP的报文的权限,包括AP的信息,如AP的IP(Internet Protocol,网络协议)地址、MAC(Media Access Control,媒体访问控制)地址等。

具体的,主成员设备在接收到AP发送的上线请求后,生成针对该AP的上线表项(例如为第一上线表项),并确定该AP的上线成员设备;

若AP的上线成员设备为主成员设备,则将第一上线表项对应的主成员设备的控制位设置为第一预设值;将第一上线表项对应的所有从成员设备的控制位均设置为第二预设值;

若AP的上线成员设备为第一从成员设备,为了保证该AP能够在第一从成员设备上成功上线,需要将第一上线表项对应的第一从成员设备的控制位设置为第一预设值,将针对第一上线表项下发给第一从成员设备;另外,将第一上线表项对应的其他控制位均设置为第二预设值;其中,第一从成员设备为IRF系统中的任意从成员设备,其他控制位为除第一从成员设备外的所有从成员设备和主成员设备的控制位。

这样,主成员设备若检测到第一上线表项对应的主成员设备的控制位为第一预设值,则可以根据第一上线表项,确定主成员设备具有处理来自这个AP的报文的权限;

从成员设备若检测到本地存储有第一上线表项,则可以确定该从成员设备具有处理来自这个AP的报文的权限。

需要说明的是,在IRF系统中,同一时刻一个AP只能在一个成员设备上上线,也就是,同一时刻只有一个成员设备为这个AP的上线成员设备,即,针对这个AP的上线表项对应的各个成员设备的控制位中,只有一个成员设备的控制位为第一预设值。

基于上述情况下,参考图4,图4为本发明实施例提供的一种负载分担方法的另一种流程示意图,基于图2,S204可以包括:

S2041:当差值的绝对值超过预设阈值时,判断最大值对应的成员设备是否为主成员设备;如果是,执行S2042;如果否,执行S2045;

S2042:选择最大值对应的成员设备当前负载的部分AP作为第一目标AP;

具体地,若最大值对应的成员设备为主成员设备,将选择的最大值对应的成员设备负载的部分AP作为第一目标AP,第一目标AP包括至少一个AP。

S2043:将针对第一目标AP的上线表项对应的最大值对应的成员设备的控制位设置为第二预设值;

此时,最大值对应的成员设备(也就是主成员设备)不再是第一目标AP的上线成员设备。

S2044:将针对第一目标AP的上线表项对应的最小值对应的成员设备的控制位设置为第一预设值,并向最小值对应的成员设备下发针对第一目标AP的上线表项;

在最大值对应的成员设备为主成员设备的情况下,最小值对应的成员设备为从成员设备,此时,为了保证第一目标AP能够在最小值对应的成员设备上上线,除了需要将针对第一目标AP的上线表项对应的、最小值对应的成员设备的控制位设置为第一预设值,还需要向最小值对应的成员设备下发针对第一目标AP的上线表项。这样第一目标AP就可以成功的在最小值对应的成员设备上上线了。

需要说明的是,S2043可以在S2044之前执行,也可以在在S2044之后执行,也可以与S2044同时执行,本发明实施例对此不进行限定。

S2045:选择最大值对应的成员设备当前负载的部分AP作为第二目标AP;

具体地,若最大值对应的成员设备不是主成员设备,也就是,最大值对应的成员设备为从成员设备,则将选择的最大值对应的成员设备负载的部分AP作为第二目标AP,第二目标AP包括至少一个AP。

S1046:将针对第二目标AP的上线表项对应的最大值对应的成员设备的控制位设置为第二预设值,并向最大值对应的成员设备下发删除指令;

这种情况下,最大值对应的成员设备就可以根据删除指令,删除针对第二目标AP的上线表项,第二目标AP在最大值对应的成员设备上成功下线。此时,最大值对应的成员设备不再是第二目标AP的上线成员设备。

S1047:将针对第二目标AP的上线表项对应的最小值对应的成员设备的控制位设置为第一预设值;

需要说明的是,S2046可以在S2047之前执行,也可以在S2047之后执行,也可以与S2047同时执行,本发明实施例对此不进行限定。

S1048:判断最小值对应的成员设备是否为主成员设备;如果是,结束操作;如果否,执行S1049;

S1049:向最小值对应的成员设备下发针对第二目标AP的上线表项。

若最小值对应的成员设备为主成员设备,在主成员设备上存储有针对第二目标AP的上线表项,将针对第二目标AP的上线表项对应的最小值对应的成员设备的控制位设置为第一预设值后,也就是,将针对第二目标AP的上线表项对应的主成员设备的控制位设置为第一预设值后,第二目标AP可以直接在主成员设备上上线;

若最小值对应的成员设备为从成员设备,为了保证第二目标AP能够在最小值对应的成员设备上上线,除了需要将针对第二目标AP的上线表项对应的、最小值对应的成员设备的控制位设置为第一预设值,还需要向最小值对应的成员设备下发针对第二目标AP的上线表项。这样,最小值对应的成员设备中存储有针对第二目标AP的上线表项,第二目标AP就可以成功的在最小值对应的成员设备上上线了。

需要说明的是,S2048可以在差值的绝对值超过预设阈值的情况下,在判断最大值对应的成员设备是否为主成员设备的步骤、S2045、S2046、S2047任一步骤之前或之后执行,本发明实施例对此不进行限定。

应用上述实施例,主成员设备检测本地的第一资源利用量,另外,获取IRF系统的各个从成员设备的第二资源利用量,当第一资源利用量和各个第二资源利用量中最大值和最小值的差值的绝对值超过预设阈值时,则可以确定当前IRF系统中成员设备间负载不均衡,因此,对AP进行再次负载,将最大值对应的成员设备负载的部分AP负载至最小值对应的成员设备上,这有效地促使IRF系统中成员设备间能够到达负载均衡,避免了某一台成员设备处理大量的流量和业务的现象,提高了IRF系统的服务质量,进而提高了用户体验。

参考图5,图5为本发明实施例提供的一种负载分担装置的结构示意图,应用于IRF系统的主成员设备,该装置包括:

检测单元501,用于检测本地的第一资源利用量;

获取单元502,用于获取IRF系统的各个从成员设备的第二资源利用量;

确定单元503,用于确定第一资源利用量和各个第二资源利用量中最大值和最小值的差值;

负载单元504,用于当上述差值的绝对值超过预设阈值时,将最大值对应的成员设备负载的部分AP负载至最小值对应的成员设备上。

在本发明的其他实施例中,上述负载分担装置还可以包括:

接收单元(图5中未示出),用于在检测本地的第一资源利用量之前,接收AP发送的上线请求;

生成单元(图5中未示出),用于生成针对AP的上线表项,并确定这个AP的上线成员设备;针对这个AP的上线表项用于确定上线成员设备具有处理来自所述AP的报文的权限;

第一发送单元(图5中未示出),用于若上线成员设备为主成员设备,则将针对AP的上线表项对应的主成员设备的控制位设置为第一预设值;将针对这个AP的上线表项对应的所有从成员设备的控制位均设置为第二预设值;

第二发送单元(图5中未示出),用于若上线成员设备为第一从成员设备,将针对AP的上线表项对应的第一从成员设备的控制位设置为第一预设值;将针对AP的上线表项下发给第一从成员设备;将针对AP的上线表项对应的除第一从成员设备外的所有从成员设备和主成员设备的控制位均设置为第二预设值;

这种情况下,负载单元504,具体可以用于:

当差值的绝对值超过预设阈值时,若最大值对应的成员设备为主成员设备,选择最大值对应的成员设备当前负载的部分AP作为第一目标AP;

将针对第一目标AP的上线表项对应的最大值对应的成员设备的控制位设置为第二预设值;

将针对第一目标AP的上线表项对应的最小值对应的成员设备的控制位设置为第一预设值,并向最小值对应的成员设备下发针对第一目标AP的上线表项。

在本发明的其他实施例中,上述负载分担装置还可以包括:

接收单元(图5中未示出),用于在检测本地的第一资源利用量之前,接收AP发送的上线请求;

生成单元(图5中未示出),用于生成针对AP的上线表项,并确定这个AP的上线成员设备;针对这个AP的上线表项用于确定上线成员设备具有处理来自所述AP的报文的权限;

第一发送单元(图5中未示出),用于若上线成员设备为主成员设备,则将针对AP的上线表项对应的主成员设备的控制位设置为第一预设值;将针对这个AP的上线表项对应的所有从成员设备的控制位均设置为第二预设值;

第二发送单元(图5中未示出),用于若上线成员设备为第一从成员设备,将针对AP的上线表项对应的第一从成员设备的控制位设置为第一预设值;将针对AP的上线表项下发给第一从成员设备;将针对AP的上线表项对应的除第一从成员设备外的所有从成员设备和主成员设备的控制位均设置为第二预设值;

这种情况下,负载单元504,具体可以用于:

当差值的绝对值超过预设阈值时,若最大值对应的成员设备为从成员设备,选择最大值对应的成员设备当前负载的部分AP作为第二目标AP;

将针对第二目标AP的上线表项对应的最大值对应的成员设备的控制位设置为第二预设值,并向最大值对应的成员设备下发删除指令,以使最大值对应的成员设备根据删除指令删除针对第二目标AP的上线表项;

若最小值对应的成员设备为主成员设备,将针对第二目标AP的上线表项对应的最小值对应的成员设备的控制位设置为第一预设值;

若最小值对应的成员设备为从成员设备,则将针对第二目标AP的上线表项对应的最小值对应的成员设备的控制位设置为第一预设值,并向最小值对应的成员设备下发针对第二目标AP的上线表项。

在本发明的其他实施例中,第一资源利用量和第二资源利用量可以为吞吐量、负载的AP的数量或负载的客户端的数量。

应用上述实施例,主成员设备检测本地的第一资源利用量,另外,获取IRF系统的各个从成员设备的第二资源利用量,当第一资源利用量和各个第二资源利用量中最大值和最小值的差值的绝对值超过预设阈值时,则可以确定当前IRF系统中成员设备间负载不均衡,因此,对AP进行再次负载,将最大值对应的成员设备负载的部分AP负载至最小值对应的成员设备上,这有效地促使IRF系统中成员设备间能够到达负载均衡,避免了某一台成员设备处理大量的流量和业务的现象,提高了IRF系统的服务质量,进而提高了用户体验。

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

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

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

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