一种集群负载均衡调度方法及系统.pdf

上传人:奻奴 文档编号:4073151 上传时间:2018-08-14 格式:PDF 页数:10 大小:1.97MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410816957.3

申请日:

2014.12.24

公开号:

CN104468823A

公开日:

2015.03.25

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L29/08申请日:20141224|||公开

IPC分类号:

H04L29/08

主分类号:

H04L29/08

申请人:

浪潮(北京)电子信息产业有限公司

发明人:

辛永欣

地址:

100085北京市海淀区上地信息路2号2-1号C栋1层

优先权:

专利代理机构:

北京安信方达知识产权代理有限公司11262

代理人:

王康; 李丹

PDF下载: PDF下载
内容摘要

本发明提供一种集群负载均衡调度方法及系统,上述方法包括以下步骤:获取业务请求中携带的IP地址信息并对所述IP地址信息按照预设的处理策略进行处理,获得IP地址对应的二进制位数信息;根据预设的初始层级,获取当前的hash掩码并计算当前的hash掩码对应的二进制位数并将所述二进制位数作为折叠长度;根据获取的折叠长度对IP地址对应的二进制位数进行折叠,获取折叠结果;将所述折叠结果对当前掩码取余运算并根据运算结果,按照预设的服务器选择策略,确定对应的目标服务器。本发明能够大量减少瀑布式散列的集群负载均衡调度算法中hash运算的运算量,从而提高效率。

权利要求书

权利要求书1.  一种集群负载均衡调度方法,其特征在于,包括以下步骤:获取业务请求中携带的IP地址信息并对所述IP地址信息按照预设的处理策略进行处理,获得IP地址对应的二进制位数信息;根据预设的初始层级,获取当前的hash掩码并计算当前的hash掩码对应的二进制位数并将所述二进制位数作为折叠长度;根据获取的折叠长度对IP地址对应的二进制位数进行折叠,获取折叠结果;将所述折叠结果对当前掩码取余运算并根据运算结果,按照预设的服务器选择策略,确定对应的目标服务器。2.  根据权利要求1所述的方法,其特征在于,将所述折叠结果对当前掩码取余运算,获得当前的hash值即服务器索引值;根据所述服务器索引值,获取对应的服务器,若所述服务器满足预设条件,则确定所述服务器为目标服务器并由所述目标服务器对所述请求进行处理。3.  根据权利要求2所述的方法,其特征在于,若所述服务器不满足预设条件,则继续增加层级,直到最大层级N-1,如果到最大层级还找不到满足要求服务器则返回失败。4.  根据权利要求2或3所述的方法,其特征在于,所述预设条件是指:服务器的连接数目小于或等于2倍的权值。5.  根据权利要求1所述的方法,其特征在于,获取业务请求中携带的IP地址信息并对所述IP地址信息按照预设的处理策略进行处理,获得IP地址对应的二进制位数信息的过程为:获取业务请求中携带的IP地址信息后,删除分割符“.”,不足三位的域加0补足三位,获取IP整型值;通过整形二进制位数计算函数calc_bit_len,获取IP整型值对应的二进制位数信息。6.  根据权利要求1所述的方法,其特征在于,预设的初始层级为0。7.  根据权利要求1所述的方法,其特征在于,若折叠长度为K,则先取IP地址对应的二进制位数的低K位加入到折叠结果中,然后将IP地址对应的二进制位数右移K位,如果IP地址对应的二进制位数不为0,则继续将IP地址对应的二进制位数的低K位加入到折叠结果中,直至IP地址对应的二进制位数为0。8.  根据权利要求1所述的方法,其特征在于,当前的hash掩码二进制位数为K即折叠长度,IP地址对应的二进制位数为大于2K小于3K,则根据获取的折叠长度K,将IP地址对应的二进制串分成三段,三段右对齐按位相加即可得到折叠后的IP值即折叠结果。9.  一种集群负载均衡调度系统,其特征在于,包括IP地址二进制位数获取模块、折叠长度获取模块、折叠结果获取模块、目标服务器确定模块;其中,所述IP地址二进制位数获取模块通过所述折叠长度获取模块与所述折叠结果获取模块相连;所述折叠长度获取模块通过所述折叠结果获取模块与所述目标服务器确定模块相连;所述IP地址二进制位数获取模块,用于获取业务请求中携带的IP地址信息并对所述IP地址信息按照预设的处理策略进行处理,获得IP地址对应的二进制位数信息并将所述IP地址对应的二进制位数信息发送至所述折叠长度获取模块;所述折叠长度获取模块,用于根据预设的初始层级,获取当前的hash掩码并计算当前的hash掩码对应的二进制位数并将所述二进制位数作为折叠长度并将所述折叠长度发送至所述折叠结果获取模块;所述折叠结果获取模块,用于根据获取的折叠长度对IP地址对应的二进制位数进行折叠,获取折叠结果并将所述折叠结果发送至所述目标服务器确定模块;所述目标服务器确定模块,用于将所述折叠结果对当前掩码取余运算并 根据运算结果,按照预设的服务器选择策略,确定对应的目标服务器。

说明书

说明书一种集群负载均衡调度方法及系统
技术领域
本发明属于负载均衡领域,尤其涉及一种集群负载均衡调度方法及系统。
背景技术
在集群计算中经常使用各种负载均衡算法,解决系统的可伸缩性和透明性问题,即通过负载均衡调度器将请求高效地分发到不同的服务器执行,使得由多台独立计算机组成的集群系统成为一台虚拟服务器,客户端应用程序与集群系统交互时,就像与一台高性能的服务器交互一样。
目前常见的负载均衡调度算法有轮叫调度、加权轮叫调度、最小连接调度、加权最小连接调度、基于局部性的最少链接、带复制的基于局部性最少链接、目标地址散列调度、源地址散列调度等,源地址散列调度是比较常见的静态调度算法,瀑布式散列的集群负载均衡调度算法是一种改进的源地址散列调度算法,在实际应用中,可以结合这种调度算法使用在防火墙集群中,从而保证整个系统有唯一的出入口。
但是,在瀑布式散列的集群负载均衡调度算法中,根据源IP地址乘上一个大素数再哈希当前层级的掩码,该算法的存在两个问题,问题一是当掩码位数远小于IP地址与大素数乘积的位数时,哈希运算只使用了IP地址与大素数乘积部分位,如此会使得hash结果冲突较高,需要增加层级避免,如掩码为100时,则IP地址与大素数乘积的后两位就决定了hash的结果,如果有两个IP地址,IP地址与大素数乘积的后两位相同,则得到了相同的hash值,此时就需增加瀑布层级来避免冲突,这样效率就降低了;问题二是IP地址和大素数的乘法运算属于两个大数的乘法运算,效率低。
发明内容
本发明提供一种集群负载均衡调度方法及系统,以解决上述问题。
本发明提供一种集群负载均衡调度方法,包括以下步骤:
获取业务请求中携带的IP地址信息并对所述IP地址信息按照预设的处理策略进行处理,获得IP地址对应的二进制位数信息;
根据预设的初始层级,获取当前的hash掩码并计算当前的hash掩码对应的二进制位数并将所述二进制位数作为折叠长度;
根据获取的折叠长度对IP地址对应的二进制位数进行折叠,获取折叠结果;
将所述折叠结果对当前掩码取余运算并根据运算结果,按照预设的服务器选择策略,确定对应的目标服务器。
本发明还提供一种集群负载均衡调度系统,包括IP地址二进制位数获取模块、折叠长度获取模块、折叠结果获取模块、目标服务器确定模块;其中,所述IP地址二进制位数获取模块通过所述折叠长度获取模块与所述折叠结果获取模块相连;所述折叠长度获取模块通过所述折叠结果获取模块与所述目标服务器确定模块相连;
所述IP地址二进制位数获取模块,用于获取业务请求中携带的IP地址信息并对所述IP地址信息按照预设的处理策略进行处理,获得IP地址对应的二进制位数信息并将所述IP地址对应的二进制位数信息发送至所述折叠长度获取模块;
所述折叠长度获取模块,用于根据预设的初始层级,获取当前的hash掩码并计算当前的hash掩码对应的二进制位数并将所述二进制位数作为折叠长度并将所述折叠长度发送至所述折叠结果获取模块;
所述折叠结果获取模块,用于根据获取的折叠长度对IP地址对应的二进制位数进行折叠,获取折叠结果并将所述折叠结果发送至所述目标服务器确定模块;
所述目标服务器确定模块,用于将所述折叠结果对当前掩码取余运算并 根据运算结果,按照预设的服务器选择策略,确定对应的目标服务器。
本发明提供一种集群负载均衡调度方法及系统,能够大量减少瀑布式散列的集群负载均衡调度算法中hash运算的运算量,从而提高效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1所示为本发明实施例1的集群负载均衡调度方法处理流程图;
图2所示为本发明实施例2的折叠方式示意图;
图3所示为本发明实施例3的集群负载均衡调度方法处理流程图;
图4所示为本发明实施例4的集群负载均衡调度系统结构图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1所示为本发明实施例1的集群负载均衡调度方法处理流程图,包括以下步骤:
步骤101:获取业务请求中携带的IP地址信息并对所述IP地址信息按照预设的处理策略进行处理,获得IP地址对应的二进制位数信息;
获取业务请求中携带的IP地址信息并对所述IP地址信息按照预设的处理策略进行处理,获得IP地址对应的二进制位数信息的过程为:
获取业务请求中携带的IP地址信息后,删除分割符“.”,不足三位的域加0补足三位,获取IP整型值;
通过整形二进制位数计算函数calc_bi t_len,获取IP整型值对应的二进制位数信息。
例如:IP地址信息为192.168.0.1;删除分割符“.”,不足三位的域加0补足三位(第三个域补充两个0变成000,第四个域补充两个0变成001),转化后获得IP整型值=192168000001。
calc_bit_len为整形二进制位数计算函数,二进制位数为该整形值二进制表示中最左边的1所在的位数:具体计算方法为,每次右移一位,并记录右移次数,如果最低位为1则二进制长度等于右移次数,直到整形数值为0为止。例如传入整形数为100,则其二进制表示为“01100100”,最左边的1其所在的位数为7(从右往左数),则100的二进制位数为7位。
步骤102:根据预设的初始层级,获取当前的hash掩码并计算当前的hash掩码对应的二进制位数并将所述二进制位数作为折叠长度;
预设的初始层级为0。
步骤103:根据获取的折叠长度对IP地址对应的二进制位数进行折叠,获取折叠结果;
如果折叠长度为K,则先取IP地址对应的二进制位数的低K位加入到折叠结果中,然后将IP地址对应的二进制位数右移K位,如果IP地址对应的二进制位数不为0,则继续将IP地址对应的二进制位数的低K位加入到折叠结果中,直至IP地址对应的二进制位数为0。
如图2所示,假设当前的hash掩码二进制位数为K即折叠长度,IP地址对应的二进制位数为大于2K小于3K,则根据获取的折叠长度K,将IP地址对应的二进制串分成三段,三段右对齐按位相加即可得到折叠后的IP值即折叠结果。
步骤104:将所述折叠结果对当前掩码取余运算,获得当前的hash值即服务器索引值;
该hash算法使得IP地址对应二进制位数的全部位值都参与hash运算,而且避免了大素数乘法,效率大幅提高。
步骤105:根据所述服务器索引值,获取对应的服务器,若所述服务器 满足预设条件,则确定所述服务器为目标服务器并由所述目标服务器对所述请求进行处理。
所述预设条件是指:服务器的连接数目小于或等于2倍的权值。
若有一组服务器S={S0,S1,...,Sn-1},W(Si)表示服务器Si的权值,C(Si)表示服务器Si的当前连接数。ServerNode[]是包含所有服务器的数组,长度为N;初始化时,将所有服务器顺序放置到ServerNode表中;若服务器的连接数目大于2倍的权值,则表示服务器已超载。
若所述服务器不满足预设条件,则继续增加层级,直到最大层级N-1,如果到最大层级还找不到满足要求服务器则返回失败。
图3所示为本发明实施例3的集群负载均衡调度方法处理流程图,包括以下步骤:
步骤301:获取业务请求中携带的IP地址信息并对所述IP地址信息按照预设的处理策略进行处理,获得IP地址对应的二进制位数信息;
步骤302:根据预设的初始层级,获取当前的hash掩码并计算当前的hash掩码对应的二进制位数并将所述二进制位数作为折叠长度;
步骤303:根据获取的折叠长度对IP地址对应的二进制位数进行折叠,获取折叠结果;
步骤304:将所述折叠结果对当前掩码取余运算并根据运算结果,按照预设的服务器选择策略,确定对应的目标服务器。
图4所示为本发明实施例4的集群负载均衡调度系统结构图,包括IP地址二进制位数获取模块、折叠长度获取模块、折叠结果获取模块、目标服务器确定模块;其中,所述IP地址二进制位数获取模块通过所述折叠长度获取模块与所述折叠结果获取模块相连;所述折叠长度获取模块通过所述折叠结果获取模块与所述目标服务器确定模块相连;
所述IP地址二进制位数获取模块,用于获取业务请求中携带的IP地址信息并对所述IP地址信息按照预设的处理策略进行处理,获得IP地址对应 的二进制位数信息并将所述IP地址对应的二进制位数信息发送至所述折叠长度获取模块;
所述折叠长度获取模块,用于根据预设的初始层级,获取当前的hash掩码并计算当前的hash掩码对应的二进制位数并将所述二进制位数作为折叠长度并将所述折叠长度发送至所述折叠结果获取模块;
所述折叠结果获取模块,用于根据获取的折叠长度对IP地址对应的二进制位数进行折叠,获取折叠结果并将所述折叠结果发送至所述目标服务器确定模块;
所述目标服务器确定模块,用于将所述折叠结果对当前掩码取余运算并根据运算结果,按照预设的服务器选择策略,确定对应的目标服务器。
本发明提供一种集群负载均衡调度方法及系统,能够大量减少瀑布式散列的集群负载均衡调度算法中hash运算的运算量,从而提高效率。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

一种集群负载均衡调度方法及系统.pdf_第1页
第1页 / 共10页
一种集群负载均衡调度方法及系统.pdf_第2页
第2页 / 共10页
一种集群负载均衡调度方法及系统.pdf_第3页
第3页 / 共10页
点击查看更多>>
资源描述

《一种集群负载均衡调度方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种集群负载均衡调度方法及系统.pdf(10页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 (43)申请公布日 (21)申请号 201410816957.3(22)申请日 2014.12.24H04L 29/08(2006.01)(71)申请人 浪潮(北京)电子信息产业有限公司地址 100085 北京市海淀区上地信息路 2 号2-1号C栋1层(72)发明人 辛永欣(74)专利代理机构 北京安信方达知识产权代理有限公司 11262代理人 王康 李丹(54) 发明名称一种集群负载均衡调度方法及系统(57) 摘要本发明提供一种集群负载均衡调度方法及系统,上述方法包括以下步骤:获取业务请求中携带的IP地址信息并对所述IP地址信息按照预设的处理策略进行处理,获得 IP 地址。

2、对应的二进制位数信息;根据预设的初始层级,获取当前的hash 掩码并计算当前的 hash 掩码对应的二进制位数并将所述二进制位数作为折叠长度 ;根据获取的折叠长度对 IP 地址对应的二进制位数进行折叠,获取折叠结果;将所述折叠结果对当前掩码取余运算并根据运算结果,按照预设的服务器选择策略,确定对应的目标服务器。本发明能够大量减少瀑布式散列的集群负载均衡调度算法中hash 运算的运算量,从而提高效率。(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书4页 附图3页(10)申请公布号 CN 104468823 A(43)申请公布日 2015.03.。

3、25CN 104468823 A1/2 页21.一种集群负载均衡调度方法,其特征在于,包括以下步骤 :获取业务请求中携带的IP地址信息并对所述IP地址信息按照预设的处理策略进行处理,获得 IP 地址对应的二进制位数信息 ;根据预设的初始层级,获取当前的 hash 掩码并计算当前的 hash 掩码对应的二进制位数并将所述二进制位数作为折叠长度 ;根据获取的折叠长度对 IP 地址对应的二进制位数进行折叠,获取折叠结果 ;将所述折叠结果对当前掩码取余运算并根据运算结果,按照预设的服务器选择策略,确定对应的目标服务器。2.根据权利要求 1 所述的方法,其特征在于,将所述折叠结果对当前掩码取余运算,获得。

4、当前的 hash 值即服务器索引值 ;根据所述服务器索引值,获取对应的服务器,若所述服务器满足预设条件,则确定所述服务器为目标服务器并由所述目标服务器对所述请求进行处理。3.根据权利要求 2 所述的方法,其特征在于,若所述服务器不满足预设条件,则继续增加层级,直到最大层级 N-1,如果到最大层级还找不到满足要求服务器则返回失败。4.根据权利要求 2 或 3 所述的方法,其特征在于,所述预设条件是指 :服务器的连接数目小于或等于 2 倍的权值。5.根据权利要求 1 所述的方法,其特征在于,获取业务请求中携带的 IP 地址信息并对所述 IP 地址信息按照预设的处理策略进行处理,获得 IP 地址对应。

5、的二进制位数信息的过程为 :获取业务请求中携带的 IP 地址信息后,删除分割符“.”,不足三位的域加 0 补足三位,获取 IP 整型值 ;通过整形二进制位数计算函数 calc_bit_len,获取 IP 整型值对应的二进制位数信息。6.根据权利要求 1 所述的方法,其特征在于,预设的初始层级为 0。7.根据权利要求 1 所述的方法,其特征在于,若折叠长度为 K,则先取 IP 地址对应的二进制位数的低 K 位加入到折叠结果中,然后将 IP 地址对应的二进制位数右移 K 位,如果 IP地址对应的二进制位数不为 0,则继续将 IP 地址对应的二进制位数的低 K 位加入到折叠结果中,直至 IP 地址对。

6、应的二进制位数为 0。8.根据权利要求 1 所述的方法,其特征在于,当前的 hash 掩码二进制位数为 K 即折叠长度,IP 地址对应的二进制位数为大于 2K 小于 3K,则根据获取的折叠长度 K,将 IP 地址对应的二进制串分成三段,三段右对齐按位相加即可得到折叠后的 IP 值即折叠结果。9.一种集群负载均衡调度系统,其特征在于,包括 IP 地址二进制位数获取模块、折叠长度获取模块、折叠结果获取模块、目标服务器确定模块 ;其中,所述 IP 地址二进制位数获取模块通过所述折叠长度获取模块与所述折叠结果获取模块相连 ;所述折叠长度获取模块通过所述折叠结果获取模块与所述目标服务器确定模块相连 ;所。

7、述 IP 地址二进制位数获取模块,用于获取业务请求中携带的 IP 地址信息并对所述IP 地址信息按照预设的处理策略进行处理,获得 IP 地址对应的二进制位数信息并将所述IP 地址对应的二进制位数信息发送至所述折叠长度获取模块 ;所述折叠长度获取模块,用于根据预设的初始层级,获取当前的 hash 掩码并计算当前的 hash 掩码对应的二进制位数并将所述二进制位数作为折叠长度并将所述折叠长度发送权 利 要 求 书CN 104468823 A2/2 页3至所述折叠结果获取模块 ;所述折叠结果获取模块,用于根据获取的折叠长度对 IP 地址对应的二进制位数进行折叠,获取折叠结果并将所述折叠结果发送至所述。

8、目标服务器确定模块 ;所述目标服务器确定模块,用于将所述折叠结果对当前掩码取余运算并根据运算结果,按照预设的服务器选择策略,确定对应的目标服务器。权 利 要 求 书CN 104468823 A1/4 页4一种集群负载均衡调度方法及系统技术领域0001 本发明属于负载均衡领域,尤其涉及一种集群负载均衡调度方法及系统。背景技术0002 在集群计算中经常使用各种负载均衡算法,解决系统的可伸缩性和透明性问题,即通过负载均衡调度器将请求高效地分发到不同的服务器执行,使得由多台独立计算机组成的集群系统成为一台虚拟服务器,客户端应用程序与集群系统交互时,就像与一台高性能的服务器交互一样。0003 目前常见的。

9、负载均衡调度算法有轮叫调度、加权轮叫调度、最小连接调度、加权最小连接调度、基于局部性的最少链接、带复制的基于局部性最少链接、目标地址散列调度、源地址散列调度等,源地址散列调度是比较常见的静态调度算法,瀑布式散列的集群负载均衡调度算法是一种改进的源地址散列调度算法,在实际应用中,可以结合这种调度算法使用在防火墙集群中,从而保证整个系统有唯一的出入口。0004 但是,在瀑布式散列的集群负载均衡调度算法中,根据源 IP 地址乘上一个大素数再哈希当前层级的掩码,该算法的存在两个问题,问题一是当掩码位数远小于 IP 地址与大素数乘积的位数时,哈希运算只使用了IP地址与大素数乘积部分位,如此会使得hash。

10、结果冲突较高,需要增加层级避免,如掩码为 100 时,则 IP 地址与大素数乘积的后两位就决定了 hash 的结果,如果有两个 IP 地址,IP 地址与大素数乘积的后两位相同,则得到了相同的hash 值,此时就需增加瀑布层级来避免冲突,这样效率就降低了 ;问题二是 IP 地址和大素数的乘法运算属于两个大数的乘法运算,效率低。发明内容0005 本发明提供一种集群负载均衡调度方法及系统,以解决上述问题。0006 本发明提供一种集群负载均衡调度方法,包括以下步骤 :0007 获取业务请求中携带的IP地址信息并对所述IP地址信息按照预设的处理策略进行处理,获得 IP 地址对应的二进制位数信息 ;000。

11、8 根据预设的初始层级,获取当前的 hash 掩码并计算当前的 hash 掩码对应的二进制位数并将所述二进制位数作为折叠长度 ;0009 根据获取的折叠长度对 IP 地址对应的二进制位数进行折叠,获取折叠结果 ;0010 将所述折叠结果对当前掩码取余运算并根据运算结果,按照预设的服务器选择策略,确定对应的目标服务器。0011 本发明还提供一种集群负载均衡调度系统,包括 IP 地址二进制位数获取模块、折叠长度获取模块、折叠结果获取模块、目标服务器确定模块 ;其中,所述 IP 地址二进制位数获取模块通过所述折叠长度获取模块与所述折叠结果获取模块相连 ;所述折叠长度获取模块通过所述折叠结果获取模块与。

12、所述目标服务器确定模块相连 ;0012 所述 IP 地址二进制位数获取模块,用于获取业务请求中携带的 IP 地址信息并对说 明 书CN 104468823 A2/4 页5所述 IP 地址信息按照预设的处理策略进行处理,获得 IP 地址对应的二进制位数信息并将所述 IP 地址对应的二进制位数信息发送至所述折叠长度获取模块 ;0013 所述折叠长度获取模块,用于根据预设的初始层级,获取当前的 hash 掩码并计算当前的 hash 掩码对应的二进制位数并将所述二进制位数作为折叠长度并将所述折叠长度发送至所述折叠结果获取模块 ;0014 所述折叠结果获取模块,用于根据获取的折叠长度对 IP 地址对应的。

13、二进制位数进行折叠,获取折叠结果并将所述折叠结果发送至所述目标服务器确定模块 ;0015 所述目标服务器确定模块,用于将所述折叠结果对当前掩码取余运算并根据运算结果,按照预设的服务器选择策略,确定对应的目标服务器。0016 本发明提供一种集群负载均衡调度方法及系统,能够大量减少瀑布式散列的集群负载均衡调度算法中 hash 运算的运算量,从而提高效率。附图说明0017 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中 :0018 图 1 所示为本发明实施例 1 的集群负载均衡调度方法处理流程图 ;0。

14、019 图 2 所示为本发明实施例 2 的折叠方式示意图 ;0020 图 3 所示为本发明实施例 3 的集群负载均衡调度方法处理流程图 ;0021 图 4 所示为本发明实施例 4 的集群负载均衡调度系统结构图。具体实施方式0022 下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。0023 图 1 所示为本发明实施例 1 的集群负载均衡调度方法处理流程图,包括以下步骤:0024 步骤 101 :获取业务请求中携带的 IP 地址信息并对所述 IP 地址信息按照预设的处理策略进行处理,获得 IP 地址对应的二进制位数信息 ;。

15、0025 获取业务请求中携带的IP地址信息并对所述IP地址信息按照预设的处理策略进行处理,获得 IP 地址对应的二进制位数信息的过程为 :0026 获取业务请求中携带的IP地址信息后,删除分割符“.”,不足三位的域加0补足三位,获取 IP 整型值 ;0027 通过整形二进制位数计算函数 calc_bi t_len,获取 IP 整型值对应的二进制位数信息。0028 例如 :IP 地址信息为 192.168.0.1 ;删除分割符“.”,不足三位的域加 0 补足三位( 第三个域补充两个 0 变成 000,第四个域补充两个 0 变成 001),转化后获得 IP 整型值192168000001。0029。

16、 calc_bit_len 为整形二进制位数计算函数,二进制位数为该整形值二进制表示中最左边的 1 所在的位数 :具体计算方法为,每次右移一位,并记录右移次数,如果最低位为 1则二进制长度等于右移次数,直到整形数值为 0 为止。例如传入整形数为 100,则其二进制说 明 书CN 104468823 A3/4 页6表示为“01100100”,最左边的 1 其所在的位数为 7( 从右往左数 ),则 100 的二进制位数为7 位。0030 步骤 102 :根据预设的初始层级,获取当前的 hash 掩码并计算当前的 hash 掩码对应的二进制位数并将所述二进制位数作为折叠长度 ;0031 预设的初始层。

17、级为 0。0032 步骤 103 :根据获取的折叠长度对 IP 地址对应的二进制位数进行折叠,获取折叠结果 ;0033 如果折叠长度为K,则先取IP地址对应的二进制位数的低K位加入到折叠结果中,然后将 IP 地址对应的二进制位数右移 K 位,如果 IP 地址对应的二进制位数不为 0,则继续将 IP 地址对应的二进制位数的低 K 位加入到折叠结果中,直至 IP 地址对应的二进制位数为 0。0034 如图 2 所示,假设当前的 hash 掩码二进制位数为 K 即折叠长度,IP 地址对应的二进制位数为大于 2K 小于 3K,则根据获取的折叠长度 K,将 IP 地址对应的二进制串分成三段,三段右对齐按。

18、位相加即可得到折叠后的 IP 值即折叠结果。0035 步骤 104 :将所述折叠结果对当前掩码取余运算,获得当前的 hash 值即服务器索引值 ;0036 该 hash 算法使得 IP 地址对应二进制位数的全部位值都参与 hash 运算,而且避免了大素数乘法,效率大幅提高。0037 步骤 105 :根据所述服务器索引值,获取对应的服务器,若所述服务器满足预设条件,则确定所述服务器为目标服务器并由所述目标服务器对所述请求进行处理。0038 所述预设条件是指 :服务器的连接数目小于或等于 2 倍的权值。0039 若有一组服务器 S S0,S1,.,Sn-1,W(Si) 表示服务器 Si 的权值,C。

19、(Si) 表示服务器 Si 的当前连接数。ServerNode 是包含所有服务器的数组,长度为 N ;初始化时,将所有服务器顺序放置到 ServerNode 表中 ;若服务器的连接数目大于 2 倍的权值,则表示服务器已超载。0040 若所述服务器不满足预设条件,则继续增加层级,直到最大层级 N-1,如果到最大层级还找不到满足要求服务器则返回失败。0041 图 3 所示为本发明实施例 3 的集群负载均衡调度方法处理流程图,包括以下步骤:0042 步骤 301 :获取业务请求中携带的 IP 地址信息并对所述 IP 地址信息按照预设的处理策略进行处理,获得 IP 地址对应的二进制位数信息 ;0043。

20、 步骤 302 :根据预设的初始层级,获取当前的 hash 掩码并计算当前的 hash 掩码对应的二进制位数并将所述二进制位数作为折叠长度 ;0044 步骤 303 :根据获取的折叠长度对 IP 地址对应的二进制位数进行折叠,获取折叠结果 ;0045 步骤 304 :将所述折叠结果对当前掩码取余运算并根据运算结果,按照预设的服务器选择策略,确定对应的目标服务器。0046 图 4 所示为本发明实施例 4 的集群负载均衡调度系统结构图,包括 IP 地址二进制位数获取模块、折叠长度获取模块、折叠结果获取模块、目标服务器确定模块 ;其中,所述说 明 书CN 104468823 A4/4 页7IP 地址。

21、二进制位数获取模块通过所述折叠长度获取模块与所述折叠结果获取模块相连 ;所述折叠长度获取模块通过所述折叠结果获取模块与所述目标服务器确定模块相连 ;0047 所述 IP 地址二进制位数获取模块,用于获取业务请求中携带的 IP 地址信息并对所述 IP 地址信息按照预设的处理策略进行处理,获得 IP 地址对应的二进制位数信息并将所述 IP 地址对应的二进制位数信息发送至所述折叠长度获取模块 ;0048 所述折叠长度获取模块,用于根据预设的初始层级,获取当前的 hash 掩码并计算当前的 hash 掩码对应的二进制位数并将所述二进制位数作为折叠长度并将所述折叠长度发送至所述折叠结果获取模块 ;004。

22、9 所述折叠结果获取模块,用于根据获取的折叠长度对 IP 地址对应的二进制位数进行折叠,获取折叠结果并将所述折叠结果发送至所述目标服务器确定模块 ;0050 所述目标服务器确定模块,用于将所述折叠结果对当前掩码取余运算并根据运算结果,按照预设的服务器选择策略,确定对应的目标服务器。0051 本发明提供一种集群负载均衡调度方法及系统,能够大量减少瀑布式散列的集群负载均衡调度算法中 hash 运算的运算量,从而提高效率。0052 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。说 明 书CN 104468823 A1/3 页8图1说 明 书 附 图CN 104468823 A2/3 页9图2图3说 明 书 附 图CN 104468823 A3/3 页10图4说 明 书 附 图CN 104468823 A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1