预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN109286686A(43)申请公布日2019.01.29(21)申请号201811404230.9(22)申请日2018.11.23(71)申请人盛科网络(苏州)有限公司地址215000江苏省苏州市工业园区星汉街5号B幢4楼13/16单元(72)发明人方沛昱周伟崔兴龙(74)专利代理机构南京利丰知识产权代理事务所(特殊普通合伙)32256代理人王锋(51)Int.Cl.H04L29/08(2006.01)权利要求书1页说明书4页附图1页(54)发明名称基于轮询机制的负载均衡方法(57)摘要本发明公开了一种基于轮询机制的负载均衡方法,该方法包括:设置聚合流表,至少用于存储Hash值以及对应的成员出口;设置轮询表,至少用于存储负载均衡组中成员的轮询状态;当数据流到达交换机时,计算所述数据流的Hash值;根据所述Hash值查找聚合流表是否存在该记录,若存在,获取该记录对应的成员出口并通过该成员出口转发所述数据流;若不存在,查询轮询表获取成员出口,将该成员出口以及Hash值写入聚合流表,并通过该成员出口转发所述数据流。采用本发明公开的基于轮询机制的负载均衡方法,可以以较小的代价实现均匀的选路,且不会出现乱序。CN109286686ACN109286686A权利要求书1/1页1.一种基于轮询机制的负载均衡方法,其特征在于包括:设置FlexHash模块,至少用于基于报文内容计算当前数据流的Hash值;设置负载均衡成员组表,至少用于存储负载均衡成员组的所有成员;设置轮询表,至少用于存储所述负载均衡成员组的成员的轮询状态;设置聚合流表,至少用于存储数据流的Hash值以及对应的成员出口;当数据流到达交换机时,计算当前数据流的Hash值;根据该Hash值查找聚合流表是否存在该记录,若存在,获取该记录对应的成员出口并通过该成员出口转发所述数据流;若不存在,查询轮询表获取成员出口,将该成员出口以及Hash值写入聚合流表,并通过该成员出口转发所述数据流。2.根据权利要求1所述的基于轮询机制的负载均衡方法,其特征在于:所述聚合流表具有老化机制,在一定周期内将处于老化状态的流表删除。3.根据权利要求2所述的基于轮询机制的负载均衡方法,其特征在于:所述老化机制的过程具体包括:每个数据流的报文查到对应的流表后,更新流表为非老化状态;按一定的老化周期扫描聚合流表中的每一条流表,将非老化状态的流表更新为老化状态,将已处于老化状态的流表删除。4.根据权利要求1所述的基于轮询机制的负载均衡方法,其特征在于:所述聚合流表的深度与所选取的Hash值相对应。5.根据权利要求1所述的基于轮询机制的负载均衡方法,其特征在于:所述轮询表包括成员计数器,根据成员计数器值选择对应负载均衡组的成员作为转发出口。6.根据权利要求1所述的基于轮询机制的负载均衡方法,其特征在于:所述报文内容为五元组。7.根据权利要求3所述的基于轮询机制的负载均衡方法,其特征在于:将所述老化状态标记为0,所述非老化状态标记为1。8.根据权利要求5所述的基于轮询机制的负载均衡方法,其特征在于:每当查询轮询表获取成员出口后,所述成员计数器值加1。2CN109286686A说明书1/4页基于轮询机制的负载均衡方法技术领域[0001]本发明涉及一种负载均衡方法,特别涉及一种基于轮询机制的负载均衡方法,属于网络通信技术领域。背景技术[0002]会话保持是负载均衡最常见的问题之一,指针对一个流(通常以五元组标识),能够固定的保持从负载均衡组的某一个成员出去。当组成员发生变化的时候,会话保持能够做到:1)当前流所在成员组的成员数量发生变化时,当前流选中的成员不变;2)当前流选中的成员链路断开时,当前流要能够均匀的分摊到其他正常工作的链路上;3)组成员数量增加(或者是之前断开的链路,现在又恢复工作)时,不影响现在已经转发的流的选路。[0003]静态Hash方法是一种传统的负载均衡方法,该方法基于报文字段,例如最常用的五元组(源IP地址,目的IP地址,四层协议类型,四层源端口,四层目的端口),通过Hash算法计算得到一个Hash值,然后用Hash值对成员数量取模,得到的值即选为当前出口。基于静态Hash的算法,由于采用Hash值对成员数量取模,所以一旦成员数量发生变化,模值随之变化,所有正在转发的流都会受到影响,无法做到会话保持。[0004]动态负载均衡(DynamicLoadBalance,DLB)根据当前负载均衡组成员的负载状况来选择出口,针对每一个新流,DLB都会选择当前最轻的负载作为出口,并且保持该流后续报文仍然用这个成员作为出口,不发生变化。该方法虽然可以做到会话保持,但是需要动态评估当前组成员的负载状况,实现较为复杂,代价较大。并且,带