一种调整负载均衡的方法及装置的制造方法_2

文档序号:8546135阅读:来源:国知局
照如下过程进行:首先,检测优先级最高的链路的带宽是否能够转发当前链路的总流量;如果优先级最高的链路的带宽无法全部转发总流量,则将剩余流量在优先级最高的链路的下一优先级对应的链路上进行转发;再检测下一优先级对应的链路的带宽是否能够转发剩余流量,如果下一优先级对应链路的带宽仍无法全部转发剩余流量,则将转发后再次剩余的流量按照优先级顺序依次进行转发,直至总流量被全部转发。
[0031]如果存在多个优先级相同的链路,则在转发时可以将当前待转发的流量按照链路的带宽比例进行分配转发。例如,三条链路的带宽比例为4:3:1,则可以将待转发的流量分别按照这个比例进行均衡,再进行转发。
[0032]在按照优先级从高到低的顺序依次转发当前链路的总流量之后,还需要按照预定时间间隔(即采样周期)检测当前链路的总流量,预定时间间隔可以根据时间段不同设置不同时长,例如,在刚发送时采样周期时可以设置短些,当流量稳定后,采样的周期可以设置长些。在总流量改变的情况下,依据各个链路的转发能力重新计算各个链路的带宽,其中,转发能力为:物理带宽与水线的乘积、或者物理带宽与水线的乘积和负载均衡带宽中最小的一个。
[0033]本发明实施例还提供了一种调整负载均衡的装置,该装置的结构示意如图2所示,包括:配置模块10,用于根据链路状况配置各个链路的优先级;转发模块20,与配置模块10耦合,用于根据所有链路的优先级,按照优先级从高到低的顺序依次转发当前链路的总流量,以调整负载均衡。
[0034]图3示出了上述装置又一种结构示意图,上述装置还可以包括:统计模块30,与转发模块20耦合,用于统计各条链路的流量,以确定当前链路的总流量。实现时,转发模块20,还可以用于在存在多个优先级相同的链路的情况下,将当前待转发的流量按照链路的带宽比例进行分配转发。
[0035]图4示出了上述转发模块20的结构示意图,包括:检测单元202,用于检测优先级最高的链路的带宽是否能够转发当前链路的总流量;转发单元204,与检测单元202耦合,用于在优先级最高的链路的带宽无法全部转发总流量的情况下,将剩余流量在优先级最高的链路的下一优先级对应的链路上进行转发;在下一优先级对应链路的带宽仍无法全部转发剩余流量的情况下,将转发后再次剩余的流量按照优先级顺序依次进行转发,直至总流量被全部转发。
[0036]图5示出了上述调整负载均衡的装置的优选结构示意图,在图3的基础上,还包括:检测模块40,与统计模块30耦合,用于按照预定时间间隔检测当前链路的总流量;确定模块50,与转发模块20耦合,用于在总流量改变的情况下,依据各链路的转发能力,重新计算各个链路的带宽,其中,转发能力为:物理带宽与水线的乘积、或者物理带宽与水线的乘积和负载均衡带宽中最小的一个。
[0037]优选实施例
[0038]本文发明提供一种动态的调整负载均衡的方法和装置,可以依据网络用户需求和链路流量的变化动态调整负载均衡各条链路的带宽。该方法适应于IPV4、IPV6网络和MPLS网络等。
[0039]本发明实施例的装置能够配置负载均衡策略、负载均衡优先级、负载均衡带宽、负载均衡水线。当策略、优先级、带宽、水线发生变化时,重新动态计算负载均衡;还能够从子接口获取链路实际转发的出向流量。当负载均衡链路的总流量发生变化时,重新动态计算负载均衡。在流量刚发送时采样周期可以设置短些,保证负载均衡及时重计算。在流量比较稳定时,采样周期可以设置长些,以降低CPU占用率;还能实现负载均衡各个链路出接口带宽的动态计算,使流量优先走高优先级的链路,在达到该链路转发能力上限后,剩余流量走次优优先级的链路。使用分时机制管理动态负载均衡的计算过程,防止设备存在大量负载均衡一起动态计算使得CPU占用率短时冲高。
[0040]下面结合附图和【具体实施方式】进行说明。
[0041]用户在网络部署中通过网管或OAM界面设定负载均衡的相关参数,下面对各个参数做详细说明。
[0042](I)链路负载均衡优先级。优先级数值越大表示优先级越高。当网路用户租用更高级用户的链路时,应把该链路设置较高的优先级(该链路质量较高)。只有所有链路都配置了优先级才开启动态负载均衡计算。
[0043](2)链路负载均衡带宽。负载均衡带宽不可以大于链路的物理带宽。当网路用户需要流量按照期望比例分配(比如4:2:1)时,需要配置该参数。
[0044](3)链路负载均衡水线。负载均衡水线限定了该链路的流量可以达到物理带宽的百分比。当一条链路上除了负载均衡的业务还承担其他业务时,通过水线可以确定多少带宽分配给负载均衡。
[0045]如图6所示,当用户设定好参数后,根据链路的流量等参数开始动态调整负载均衡的各条链路的带宽,包括步骤S601至步骤S610。
[0046]S601,配置动态负载均衡参数。如果负载均衡策略、优先级、带宽、水线、链路流量发生变化时,转入该过程中。
[0047]S602,判断当前配置是否满足动态负载均衡的条件。只有当所有链路都配置负载均衡优先级时才进行动态计算。如果是,则执行步骤S603,否则执行步骤S610。
[0048]S603,获取各条链路的转发能力,即物理带宽*水线和负载均衡带宽中较小的一个。
[0049]S604,统计各条链路的流量,获取负载均衡的总流量。
[0050]S605,是否有链路尚未计算带宽。如果是,则执行步骤S606,否则执行步骤S610。
[0051]S606,获取配置中高优先级的级别,获取当前优先级链路总的转发能力。
[0052]S607,判断最高优先级链路是否能够转发链路上的总流量。如果是则执行步骤S608,否则执行步骤S609。
[0053]S608,流量完全从最高优先级链路走,其他优先级链路不走流量。此时该优先级链路的带宽是总流量,其余优先级链路的带宽为零,转入步骤S610流程结束。
[0054]S609,若不能够完全转发,按照该链路最大转发能力分担流量,并获取剩余流量,将剩余流量流转向次优优先级链路。并转回步骤S605继续重复执行。此时,最高优先级链路的带宽为其转发能力。
[0055]S610,流程结束。
[0056]上述继续执行的过程如下:判断次优优先级链路是否能够转发链路上的剩余总流量。若可以,剩余流量完全从次优优先级链路走,优先级低于它的链路没有流量。此时,次优先级链路的带宽是剩余流量,优先级低于它的链路的带宽为零,流程结束。若不能够完全转发,按照该链路最大转发能力分担流量,剩余流量流向再次优优先级链路。此时,次优优先级链路的流量是其转发能力。
[0057]判断再次优优先级链路是否能够转发链路上的剩余总流量。若可以,剩余流量完全从再次优优先级链路走。此时,再次优先级链路的带宽是剩余流量,优先级低于它的链路的带宽为零,流程结束。若不能够完全转发,按照该链路最大转发能力分担流量,其余流量流向下一优先级链路。此时,再次优优先级级路的流量是其转发能力。重复以上过程,直到剩余流量从某一级别优先级的链路转发出去。
[0058]实现时,当多条链路的优先级一样时,同优先级链路按照各自的转发能力按比例分配该优先级的流量;当负载均衡的总流量发生变化、负载均衡的参数发生变化时,从步骤S601开始重新计算负载均衡各个链路的带宽。
[0059]负载均衡按照上述方法根据链路流量可以动态调整链路的带宽。这样可以解决链路流量突然增大导致某些链路丢包的问题,也可以满足上行双链路二级运营商优先使用租用一级运营商的链路和按比例使用备用链路的问题。
[0060]上述流量突然增大的场景与上述图6中的处
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1