一种基于流的链路汇聚负载均衡的方法及装置制造方法

文档序号:7810087阅读:417来源:国知局
一种基于流的链路汇聚负载均衡的方法及装置制造方法
【专利摘要】本发明公开了一种基于流的链路汇聚负载均衡的方法及装置,该方法主要包括:对业务数据流进行识别,按照预设的流特征分类规则对业务数据流进行分类,确定业务数据流所属的流类型;对与所述确定的流类型匹配的业务数据流进行计数,确定业务数据流在其所属的流类型中的编号;对链路汇聚时的物理链路进行编号,将业务数据流发送到与其编号相同的汇聚物理链路。本申请方案主要采用将数据业务根据流特征分为多种流类型,对每种流类型按照加一计数取模的方式将业务数据流均衡得分布到每条物理链路,提高链路的利用率和转发效率。
【专利说明】一种基于流的链路汇聚负载均衡的方法及装置

【技术领域】
[0001]本发明属于数据通信领域的负载均衡方法,具体涉及一种基于流的链路汇聚负载均衡的方法及装置的设计。

【背景技术】
[0002]在一个系统中,当多条物理链路汇聚成一个逻辑链路时,整个链路的承载能力将增大,为了能够更加充分利用链路资源,客户往往希望能够均匀的将数据分配到每一条物理链路上。
[0003]经过检索发现,目前现有技术普遍采用的是HASH算法,通过这种离散算法将数据流量分布到每一条物理链路上;其特点是,当HASH算法的要素越多,长度越长,HASH结果越离散,分布到每条物理链路上的数据越平均,但是这是一个极限的理想情况,在实际使用中很容易出现要素不够多、长度不够长的情况,造成大部分数据业务还是被分布到同一条物理链路,超出该物理链路的承载能力,而其他的物理链路却没有或者只有很少量的业务,造成了因为没有充分利用每一条链路,而导致数据丢失的问题。
[0004]针对于上述问题,目前迫切需要寻找一种更加合理的负载算法,从而有效的利用每一条物理链路,这对于保护数据流量充分资源有非常重大的作用。


【发明内容】

[0005]本发明所要解决的技术问题是为了解决现有技术中数据分配方法不能均衡的利用每条物理链路的问题而提出一种基于流的链路汇聚负载均衡的方法及装置。
[0006]本发明解决其技术问题采用的技术方案是:一种基于流的链路汇聚负载均衡的方法,包括:
[0007]A、对业务数据流进行识别,按照预设的流特征分类规则对业务数据流进行分类,确定业务数据流所属的流类型;
[0008]B、对与所述确定的流类型匹配的业务数据流进行计数,确定业务数据流在其所属的流类型中的编号;
[0009]C、对链路汇聚时的物理链路进行编号,将业务数据流发送到与其编号相同的汇聚物理链路。
[0010]进一步的,所述步骤A中预设的流特征分类规则,包括入端口、源MAC地址、目的MAC地址、VLAN ID,802.1P值、以太协议类型值、DSCP值、IP优先级、IP版本号、IP头部标志位、IP头部协议字段、IP头部源IP地址、IP头部目的IP地址、TCP源端口号、TCP目的端口号、UDP源端口号、UDP目的端口号以及报文长度中的至少一种流特征。
[0011]进一步的,在所述步骤B中,,每一种确定的流类型对应一个计数器,所述计数器初始值为0,当每一流类型中出现新的业务数据流时,对该业务数据流进行编号;
[0012]若所述业务数据流的编号记为M,所述计数器的值记为Xi,所述链路汇聚物理链路的个数记为I,则M= (Xi+!)mod (I);完成对所述业务数据流编号后,更新该流类型对应计数器的值,令Xi = M,等待下一个业务数据流的到来;
[0013]若业务数据流没有出现新的流类型时,则其对应的Xi的值不变。
[0014]进一步的,在进行所述步骤C汇聚物理链路对业务数据流的发送中,记录当前发送的业务数据流的流类型和对应的物理链路的出接口,当与记录的流类型相同的业务数据流到来时,将业务数据流直接发送到记录的对应出接口上,完成业务数据流的发送。
[0015]进一步的,每一种确定的流类型对应一个老化定时器,当该流类型有业务数据流量时,刷新老化定时器以重新计时,当该流类型没有业务数据流量时,老化定时器超时则将记录与该流类型对应的出接口删除。
[0016]为了解决技术问题,本发明还提供了一种基于流的链路汇聚负载均衡的装置,包括:业务数据流识别分类模块、业务数据流编号计数模块、链路发送模块;
[0017]所述业务数据流识别分类模块,用于对业务数据流进行识别,按照预设的流特征分类规则对业务数据流进行分类,确定该业务数据流所属的流类型;
[0018]所述业务数据流计数编号模块,用于对所述业务数据流识别分类模块中与确定的流类型匹配的业务数据流进行计数,确定业务数据流在其所属的流类型中的编号;
[0019]所述链路发送模块,用于对链路汇聚时的物理链路进行编号,将业务数据流发送到与其编号相同的汇聚物理链路。
[0020]进一步的,所述业务数据流计数编号模块确定的每一种流类型对应一计数器,所述计数器的初始值为0,当每一流类型中出现新的业务数据流时,对该业务数据流进行编号;
[0021]若所述业务数据流的编号记为M,所述计数器的值记为Xi,所述链路汇聚物理链路的个数记为I,则M= (Xi+Dmodd),完成对所述业务数据流编号后,更新该流类型对应计数器的值,令Xi = M,等待下一个业务数据流的到来;
[0022]若业务数据流没有出现新的流类型时,则其对应的Xi的值不变。
[0023]进一步的,所述链路发送模块还用于,当汇聚物理链路对业务数据流的发送中,记录当前发送的业务数据流的流类型和对应的物理链路的出接口,当与记录的流类型相同的业务数据流到来时,将业务数据流直接发送到记录的对应出接口上,完成业务数据流的发送。
[0024]进一步的,所述链路发送模块还用于,为每一种确定的流类型对应一个老化定时器,当该流类型有业务数据流量时,刷新老化定时器以重新计时,当该流类型没有业务数据流量时,老化定时器超时则将记录与该流类型对应的出接口删除。
[0025]本发明的有益效果:本发明一种基于流的链路汇聚负载均衡的方法及装置,采用将数据业务根据流特征分为多种流类型,对每种流类型按照加一计数取模的方式将业务数据流均衡得分布到每条物理链路,避免了通过采用HASH算法将数据业务HASH到同一物理链路上,均衡负载,提高链路的利用率和转发效率;并且能够更加合理利用每条物理链路,保护数据流量,充分利用链路资源。

【专利附图】

【附图说明】
[0026]图1为本发明实施例的一种基于流的链路汇聚负载均衡的方法的系统框图;
[0027]图2为本发明实施例的一种基于流的链路汇聚负载均衡的方法中对业务数据流进行计数编号的流程框图;
[0028]图3为本发明实施例的一种基于流的链路汇聚负载均衡的方法中业务数据流发送过程的流程框图;
[0029]图4为本发明实施例的一种基于流的链路汇聚负载均衡的装置的系统框图。

【具体实施方式】
[0030]下面结合附图和具体的实施例对本发明作进一步的阐述。
[0031]如图1所示为本发明实施例的一种基于流的链路汇聚负载均衡的方法的系统框图,包括:
[0032]S1、对业务数据流进行识别,按照预设的流特征对业务数据流进行分类,确定该业务数据流所属的流类型;
[0033]S2、对所述步骤SI中确定的该流类型的业务数据流进行计数,确定该业务数据流在其所属的流类型中的编号,记为M ;
[0034]S3、对链路汇聚时的物理链路进行编号,将编号为M的业务数据流发送到与该编号M值相同的汇聚物理链路。
[0035]本发明一种基于流的链路汇聚负载均衡的方法通过对业务数据流按照预设的流特征分类规则进行分类,其中,所述预设的分类规则总的流特征包括入端口、源MAC (MediaAccess Control,媒体访问控制)地址、目的MAC 地址、VLAN (Virtual Local Area Network)ID,802.1P 值、以太协议类型值、DSCP (Differentiated Services Code Point,差分服务代码点)值、IP优先级、IP版本号、IP头部标志位、IP头部协议字段、IP头部源IP地址、IP头部目的IP地址、TCP (Transmiss1n Control Protocol,传输控制协议)源端口号、TCP目的端口号、UDP(User Datagram Protocol,用户数据报协议)源端口号、UDP目的端口号、报文长度中的一种或者若干种,在具体的实际操作中可以按照用户预先指定的流特征进行分类,将业务数据流分成几组不同流类型;例如,如果按照业务数据流的入端口的进行分类,则属于不同的入端口的业务数据流会按照入端口的不同分到对应的流类型中;同样地,当用户指定的分类流特征为目的MAC地址或者VLAN ID,则将业务数据流按照不同的目的MAC地址、不同的VLAN ID进行对应的分类;通过上述分类,可以将业务数据流均衡地分配到每条物理链路,避免出现物理链路之间数据业务分配的不均,从而能够更加充分利用每条物理链路,提高资源利用率。
[0036]在完成所述步骤SI对业务数据流的识别分类后,需要对该流类型的业务数据流进行计数,确定该业务数据流在其所属的流类型中的编号记为M,其具体过程为:
[0037]如图2所示为所述步骤S2对业务数据流进行计数编号的流程框图,其中,M为业务数据流的编号,在每一流类型中,每条到来的业务数据流都有自己的对应的编号M ;同时,每一种确定的流类型对应一计数器,若所述计数器的值记为Xi,其中Xi的初始值为0,i为对应流类型的编号,当每一种流类型中出现新的业务数据流时,对该业务数据流进行编号;
[0038]所述业务数据流的编号M为:M = (Xi+DmocKl),其中,I为链路汇聚物理链路的个数,(Χ,+DmocKl)表示(Xi+Ι)与⑴进行的取模余数运算;完成编号后,更新该流类型中计数器的值,令Xi = M,等待下一个业务数据流的到来;
[0039]若业务数据流没有出现新的流类型时,则其对应的Xi的值不变。
[0040]通过上述计数取模运算,每条业务数据流在通过流特征分类后,都会有属于自己的编号记为M,根据上述运算,M的取值范围为:0 < M < I,即保证了后续过程在业务数据流分配到对应的物理链路上的有效性,同时保障了计数值X的范围也在O < X < I内,避免出现每一流类型中数据业务量过大的情况。
[0041]在完成所述步骤S2对业务数据流的计数、编号后,则将该业务数据流发送到与自己本身编号M相同的链路汇聚物理链路,如图3所示为所述步骤S3业务数据流发送过程的流程框图,其中,所述物理链路在进行链路汇聚时会有自己的链路编号,若记为N,0 < N< I,其中I为链路汇聚物理链路的个数;将编号为M的业务数据流发送到与该编号M值相同的编号为N的汇聚物理链路,即取链路编号值为N = M的汇聚物理链路进行业务数据流的发送。
[0042]并且,在进行所述步骤S3汇聚物理链路对业务数据流的发送中,记录编号为M的业务数据流的流类型和物理链路的出接口,当与流类型相同的业务数据流到来时,将业务数据流直接发送到记录的出接口上,完成业务数据流的发送。
[0043]通过上述对发送该业务数据流的流类型和物理链路的出接口进行记录的方法,当系统中物理链路减少时,因为系统记录的是发送业务数据流的物理链路的出接口,若该出接口消失,则该出接口上记录的业务数据流的信息会丢失,在进行业务数据流分类的过程中会重新开始识别这些数据业务,重新记录该业务数据流的流类型和出接口 ;而其他出接口上业务数据流信息仍然存在,不会因为物理链路的减少而受到影响。
[0044]同样地,当系统中的物理链路增加时,以前物理链路出接口记录的业务数据流信息仍然保持不变,不受影响,在识别到新的业务数据流时,则还是按照上述所述步骤S2及所述步骤S3将该新的业务数据流分配到对应的物理链路。
[0045]若记录每条业务数据流的流类型和出接口,则可能会造成系统的负担;为了解决上述问题,本发明通过为记录的每一种流类型设置一个老化定时器,当该流类型有业务数据流量时,刷新清零老化定时器,当该流类型没有业务数据流量时,老化定时器超时则将记录的该流类型和出接口删除。从而减轻系统的负担,保障表项不会太多。
[0046]针对上述方法,本发明还提供了一种基于流的链路汇聚负载均衡的装置,其系统框图如图4所示,具体包括:业务数据流识别分类模块、业务数据流编号计数模块、链路发送模块;
[0047]所述业务数据流识别分类模块用于对业务数据流进行识别,按照预设的流特征对业务数据流进行分类,确定该业务数据流所属的流类型;
[0048]所述业务数据流计数编号模块用于对所述业务数据流识别分类模块中确定的该流类型的业务数据流进行计数,确定该业务数据流在其所属的流类型中的编号M ;
[0049]所述链路发送模块用于对链路汇聚时的物理链路进行编号,将编号为M的业务数据流发送到与该编号M值相同的汇聚物理链路。
[0050]其中,所述业务数据流识别分类模块中预设的流特征包括:入端口、源MAC地址、目的MAC地址、VLAN ID,802.1P值、以太协议类型值、DHCP值、IP优先级、IP版本号、IP头部标志位、IP头部协议字段、IP头部源IP地址、IP头部目的IP地址、TCP源端口号、TCP目的端口号、UDP源端口号、UDP目的端口号以及报文长度中的至少一种流特征;具体可根据用户指定进行相应的设定。
[0051]所述业务数据流计数编号模块的每一种确定的流类型对应一计数器,若所述计数器的值记为Xi,其中Xi的初始值为0,i为对应流类型的编号,当每一流类型中出现新的业务数据流时,对该业务数据流进行编号;
[0052]所述业务数据流的编号M为:M = (Xi+DmocKl),其中,I为链路汇聚物理链路的个数,(Χ,+DmocKl)表示(Xi+Ι)与⑴进行的余数运算;完成编号后,更新该流类型中计数器的值,令Xi = M,等待下一个业务数据流的到来;
[0053]若业务数据流没有出现新的流类型时,则其对应的Xi的值不变。
[0054]在所述链路发送模块中,物理链路在进行链路汇聚时会有自己的链路编号N,O < N < I,其中I为链路汇聚物理链路的个数;将编号为M的业务数据流发送到与该编号M值相同的编号为N的汇聚物理链路,即取链路编号值为N = M的汇聚物理链路进行业务数据流的发送。
[0055]本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
【权利要求】
1.一种基于流的链路汇聚负载均衡的方法,其特征在于,包括: A、对业务数据流进行识别,按照预设的流特征分类规则对业务数据流进行分类,确定业务数据流所属的流类型; B、对与所述确定的流类型匹配的业务数据流进行计数,确定业务数据流在其所属的流类型中的编号; C、对链路汇聚时的物理链路进行编号,将业务数据流发送到与其编号相同的汇聚物理链路。
2.如权利要求1所述的方法,其特征在于,所述步骤A中预设的流特征分类规则中,包括入端口、源MAC地址、目的MAC地址、VLAN ID,802.1P值、以太协议类型值、DSCP值、IP优先级、IP版本号、IP头部标志位、IP头部协议字段、IP头部源IP地址、IP头部目的IP地址、TCP源端口号、TCP目的端口号、UDP源端口号、UDP目的端口号以及报文长度中的至少一种流特征。
3.如权利要求1所述的方法,其特征在于,在所述步骤B中,每一种确定的流类型对应一个计数器,所述计数器初始值为0,当每一流类型中出现新的业务数据流时,对该业务数据流进行编号; 若所述业务数据流的编号记为M,所述计数器的值记为Xi,所述链路汇聚物理链路的个数记为I,则M= (Χ,+DmocKl);完成对所述业务数据流编号后,更新该流类型对应计数器的值,令Xi = M,等待下一个业务数据流的到来; 若业务数据流没有出现新的流类型时,则其对应的Xi的值不变。
4.如权利要求1-3任一项所述的方法,其特征在于,在进行所述步骤C汇聚物理链路对业务数据流的发送中,记录当前发送的业务数据流的流类型和对应的物理链路的出接口,当与记录的流类型相同的业务数据流到来时,将业务数据流直接发送到记录的对应出接口上,完成业务数据流的发送。
5.如权利要求4所述的方法,其特征在于,每一种确定的流类型对应一个老化定时器,当该流类型有业务数据流量时,刷新老化定时器以重新计时,当该流类型没有业务数据流量时,老化定时器超时则将记录与该流类型对应的出接口删除。
6.一种基于流的链路汇聚负载均衡的装置,其特征在于,包括:业务数据流识别分类模块、业务数据流编号计数模块、链路发送模块; 所述业务数据流识别分类模块,用于对业务数据流进行识别,按照预设的流特征分类规则对业务数据流进行分类,确定该业务数据流所属的流类型; 所述业务数据流计数编号模块,用于对所述业务数据流识别分类模块中与确定的流类型匹配的业务数据流进行计数,确定业务数据流在其所属的流类型中的编号; 所述链路发送模块,用于对链路汇聚时的物理链路进行编号,将业务数据流发送到与其编号相同的汇聚物理链路。
7.如权利要求6所述的装置,其特征在于,所述业务数据流识别分类模块中预设的流特征分类规则中,包括入端口、源MAC地址、目的MAC地址、VLAN ID,802.1P值、以太协议类型值、DSCP值、IP优先级、IP版本号、IP头部标志位、IP头部协议字段、IP头部源IP地址、IP头部目的IP地址、TCP源端口号、TCP目的端口号、UDP源端口号、UDP目的端口号以及报文长度中的至少一种流特征。
8.如权利要求6所述的装置,其特征在于,所述业务数据流计数编号模块确定的每一种流类型对应一计数器,所述计数器的初始值为O,当每一流类型中出现新的业务数据流时,对该业务数据流进行编号; 若所述业务数据流的编号记为M,所述计数器的值记为Xi,所述链路汇聚物理链路的个数记为I,则M= (Xi+Dmodd),完成对所述业务数据流编号后,更新该流类型对应计数器的值,令Xi = M,等待下一个业务数据流的到来; 若业务数据流没有出现新的流类型时,则其对应的Xi的值不变。
9.如权利要求7-8任一项所述的装置,其特征在于,所述链路发送模块还用于,当汇聚物理链路对业务数据流的发送中,记录当前发送的业务数据流的流类型和对应的物理链路的出接口,当与记录的流类型相同的业务数据流到来时,将业务数据流直接发送到记录的对应出接口上,完成业务数据流的发送。
10.如权利要求9所述的装置,其特征在于,所述链路发送模块还用于,为每一种确定的流类型对应一个老化定时器,当该流类型有业务数据流量时,刷新老化定时器以重新计时,当该流类型没有业务数据流量时,老化定时器超时则将记录与该流类型对应的出接口删除。
【文档编号】H04L12/803GK104135445SQ201410364927
【公开日】2014年11月5日 申请日期:2014年7月29日 优先权日:2014年7月29日
【发明者】陈可 申请人:迈普通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1