一种链路负载均衡方法及装置与流程

文档序号:11263615阅读:202来源:国知局
一种链路负载均衡方法及装置与流程
本发明涉及通信
技术领域
,特别是涉及一种链路负载均衡方法及装置。
背景技术
:对路由器和交换机等网络设备来讲,当单条链路流量超过端口带宽时,一般可采取以下处理:一种方案就是对设备进行扩容,升级为高速率的端口类型,通过增加单端口的带宽来解决;还有一种方案就是不改变原有的链路,直接增加新的链路,跟原来的链路实现负载均衡,使用多条链路进行流量转发,以达到和端口带宽升级相同的效果。通信设备之间往往会通过各种类型的链路进行相互通信,对于同类型的链路,由于端口速率和报文封装都一致,很容易实现各链路的负载均衡,但对于不同类型的链路(例如sdh(synchronousdigitalhierarchy,同步数字体系)和以太链路),由于端口速率不同,端口传输报文时物理层和链路层封装类型也不同,因此,很难精确实现不同链路间的均衡负载,从而大大降低网络通信效率。如何精确实现不同链路间的均衡负载,现有技术并无有效的解决方案。技术实现要素:本发明要解决的技术问题是提供一种链路负载均衡方法及装置,用以解决现有技术中无法精确实现不同链路间的均衡负载的问题。一方面,本发明提供一种链路负载均衡方法,包括:估算各链路上传输的报文的平均报文长度;根据所述平均报文长度,确定各所述链路对所述报文的传输分担比例;根据所述传输分担比例,对各所述链路进行负载均衡调节。可选的,所述估算各链路上传输的报文的平均报文长度包括:分别获取多个第一预设时长内、各所述链路上传输的报文的报文个数和传输字节数;根据所述报文个数和所述传输字节数,估算所述预设时长内的平均报文长度。可选的,所述根据所述报文个数和所述传输字节数,估算所述预设时长内的平均报文长度包括:分别确定每个所述第一预设时长内、各所述链路上传输的报文的采样报文长度,所述采样报文长度中携带未知系数;利用最小二乘法确定所述未知系数;利用所述未知系数和所述采样报文长度,估算所述平均报文长度。进一步的,所述根据所述传输分担比例,对各所述链路进行负载均衡调节之后,所述方法还包括:检测各所述链路的带宽利用率;如果各所述链路的带宽利用率之差大于预设阈值,分别获取多个第二预设时长内、各所述链路上传输的报文的报文个数和传输字节数,所述第二预设时长小于所述第一预设时长;根据新获取的所述报文个数和所述传输字节数,重新估算所述平均报文长度并确定各所述链路的传输分担比例,直至各所述链路的带宽利用率之差小于或等于所述预设阈值。可选的,所述链路包括pos(packetoversonet/sdh,同步光纤网络/同步数字体系上的数据包)链路、wan链路以及lan链路;所述根据所述平均报文长度,确定各所述链路对所述报文的传输分担比例包括:确定各所述链路对所述报文的传输分担比例为:同步数字体系sdh链路:广域网wan链路:局域网lan链路=k1*l/(l+9)*(26/27):k2*l/(l+38):k3*l/(l+38)*(26/27);其中,k1,k2,k3分别为同步数字体系sdh链路的线路速率、广域网wan链路的线路速率、局域网lan链路的线路速率,l为所述平均报文长度。另一方面,本发明还提供一种链路负载均衡装置,包括:估算单元,用于估算各链路上传输的报文的平均报文长度;确定单元,用于根据所述估算单元估算的平均报文长度,确定各所述链路对所述报文的传输分担比例;调节单元,用于根据所述传输分担比例,对各所述链路进行负载均衡调节。可选的,所述估算单元包括:获取模块,用于分别获取多个第一预设时长内、各所述链路上传输的报文的报文个数和传输字节数;估算模块,用于根据所述报文个数和所述传输字节数,估算所述预设时长内的平均报文长度。可选的,所述估算模块,具体用于:分别确定每个所述第一预设时长内、各所述链路上传输的报文的采样报文长度,所述采样报文长度中携带未知系数;利用最小二乘法确定所述未知系数;利用所述未知系数和所述采样报文长度,估算所述平均报文长度。进一步的,所述装置还包括:检测单元,用于在根据所述传输分担比例,对各所述链路进行负载均衡调节之后,检测各所述链路的带宽利用率;所述获取模块,还用于如果各所述链路的带宽利用率之差大于预设阈值,分别获取多个第二预设时长内、各所述链路上传输的报文的报文个数和传输字节数,所述第二预设时长小于所述第一预设时长;所述估算模块,还用于根据新获取的所述报文个数和所述传输字节数,重新估算所述平均报文长度;所述确定单元,还用于确定各所述链路的传输分担比例,直至各所述链路的带宽利用率之差小于或等于所述预设阈值。可选的,所述链路包括pos链路、wan链路以及lan链路;所述确定单元,具体用于确定各所述链路对所述报文的传输分担比例为:同步数字体系sdh链路:广域网wan链路:局域网lan链路=k1*l/(l+9)*(26/27):k2*l/(l+38):k3*l/(l+38)*(26/27);其中,k1,k2,k3分别为同步数字体系sdh链路的线路速率、广域网wan链路的线路速率、局域网lan链路的线路速率,l为所述平均报文长度。本发明实施例提供的链路负载均衡方法及装置,能够估算各链路上传输的报文的平均报文长度,并根据所述平均报文长度,确定各所述链路对所述报文的传输分担比例;然后根据所述传输分担比例,对各所述链路进行负载均衡调节。这样即使各链路类型不同,报文封装结构也不同,依然可以及时获取到当前传输的报文的平均报文长度,然后根据各条链路上报文结构的特点确定出应该如何在各条链路之间分配报文,从而能够精确地对各链路进行负载均衡调节。附图说明图1是本发明实施例提供的链路负载均衡方法的一种流程图;图2是本发明实施例提供的链路负载均衡装置的一种结构示意图。具体实施方式以下结合附图对本发明进行详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。如图1所示,本发明实施例提供一种链路负载均衡方法,包括:s11,估算各链路上传输的报文的平均报文长度;s12,根据所述平均报文长度,确定各所述链路对所述报文的传输分担比例;s13,根据所述传输分担比例,对各所述链路进行负载均衡调节。本发明实施例提供的链路负载均衡方法,能够估算各链路上传输的报文的平均报文长度,并根据所述平均报文长度,确定各所述链路对所述报文的传输分担比例;然后根据所述传输分担比例,对各所述链路进行负载均衡调节。这样即使各链路类型不同,报文封装结构也不同,依然可以及时获取到当前传输的报文的平均报文长度,然后根据各条链路上报文结构的特点确定出应该如何在各条链路之间分配报文,从而能够精确地对各链路进行负载均衡调节。具体而言,通信设备之间的通信链路多种多样,每种链路都有自己的数据封装格式和数据传输速率,例如以太lan和sdh的pos链路格式(以ppp封装格式为例)分别如表1和表2所示。表1preambledasat/ldatapayloadfcsipg8b6b6b2b46-1500b4b>=12b表2由于各种链路的格式有所不同,可选的,在步骤s11中,估算各链路上传输的报文的平均报文长度包括如下步骤:分别获取多个第一预设时长内、各所述链路上传输的报文的报文个数和传输字节数;根据所述报文个数和所述传输字节数,估算所述预设时长内的平均报文长度。也就是说,可以在多个时段内,分别获取各条链路上传输的报文的报文个数和传输字节数,然后用各条链路在这段时间内传输的传输字节数除以各条链路上传输的报文个数,即可获得每条链路上传输报文的平均报文长度。具体而言,所述根据所述报文个数和所述传输字节数,估算所述预设时长内的平均报文长度包括:分别确定每个所述第一预设时长内、各所述链路上传输的报文的采样报文长度,所述采样报文长度中携带未知系数;利用最小二乘法确定所述未知系数;利用所述未知系数和所述采样报文长度,估算所述平均报文长度。举例说明,在本发明的一个实施例中,通信设备具有三个出接口e、f、g,该通信设备可以约定或配置一个采样时间间隔t,每间隔时间t,设备需要在所有负载均衡的出接口e、f、g上面采一次样,采样为所有经过出接口e、f、g的报文个数z1z2z3和传输字节数c1c2c3,用于计算出t时间间隔内通过设备进行异速链路转发报文的平均报文长度。可选的,采样的时间间隔t可以灵活手动设置也可以通过设备自动来计算,以达到更好的分担精度。每次设备采样后,可以通过公式l=(y1c1+y2c2+y3c3)/(y4z1+y5z2+y6z3)来计算出每个预设时长内、链路上的平均报文长度,其中y1、y2……y6为未知系数,l为平均报文长度。经过n个周期的采样后计算出每个采样周期的平均报文长度分别为l1、l2……ln。其中:通过最小二乘法进行函数逼近,计算n组数据的精度误差b,当b小于预设精度值时,对应的y1……y6即为最终确定的系数值,对应的l1、l2……ln即为各采样周期(每个第一预设时长)的采样报文长度。其中,这样,报文平均长度为由于不同结构的网络报文,其网络层在osi七层结构中所占的带宽比例不尽相同,因此,要使各条链路的网络层带宽利用率相等,在对各条链路进行负载分担时,要考虑到网络层真正利用的带宽。例如,对于lan链路,网络层报文在osi七层结构中所占的带宽比例为l/(l+8+6+6+2+4+12),对于pos链路,网络层在osi七层结构中所占的比例为l/(l+9)*(26/27)。其中,l为各链路上传输的报文的平均报文长度。则,在对报文进行负载均衡时,对每条链路所分配的报文也要符合上述比例。以一条10g以太lan链路和一条10gpos链路举例说明实现过程。则,lan链路与pos链路之间的传输分担比为10/(l+38):(9.95328*26/27)/(l+9)。其中,系数10为10g的lan链路的线路速率,9.95328为10g的pos链路的线路速率。可选的,当链路传输刚刚起步时,可以采用各链路的实际物理带宽之比作为传输分担比的默认值。可选的,获得分担比例之后,在步骤s13中,即可根据所述传输分担比例,对各所述链路进行负载均衡调节。进一步的,为了检测调节效果是否均衡,在按照传输分担比例,对各所述链路进行负载均衡调节之后,本发明实施例提供的链路负载均衡方法还可包括:检测各所述链路的带宽利用率;如果各所述链路的带宽利用率之差大于预设阈值,分别获取多个第二预设时长内、各所述链路上传输的报文的报文个数和传输字节数,所述第二预设时长小于所述第一预设时长;根据新获取的所述报文个数和所述传输字节数,重新估算所述平均报文长度并确定各所述链路的传输分担比例,直至各所述链路的带宽利用率之差小于或等于所述预设阈值。也就是说,当新的分担比例生成后,可以在第一预设时长内统计每条链路的分担出接口的带宽利用率,如果各链路的带宽利用率之差小于或等于预设阈值,则说明当前按照这个比例进行负载分担即可使各链路负载均衡。如果各链路的带宽利用率之差大于该预设阈值,则说明之前估算的报文平均长度的精度较低,因此,可以重新估算各链路的平均报文长度。具体的估算方法与前面的步骤相同,只是采样时间为第二预设时长,且第二预设时长小于第一预设时长,直至各所述链路的带宽利用率之差小于或等于所述预设阈值。可选的,对于采样时间的选取,可以采用二分法进行迭代计算,最终使得流量在不同链路上面分担的均匀。例如,在本发明的一个实施例中,第一预设时长为5分钟,对应估算出的平均报文长度为4mbyte,计算出的传输分担比为3:5,测得两个链路的带宽利用率之差为0.4,大于预设阈值0.2,则需要对报文长度进行重新估算。假设此次重新估算中,第二预设时长为2分钟,对应估算出的平均报文长度为3.8mbyte,计算出的传输分担比例为4:7,测得两个链路的带宽利用率之差为0.1,小于预设阈值0.2,则按照4:7的传输分担比例进行均衡负载调节。可选的,通信设备之间的链路可以包括多种,例如,在本发明的一个实施例中,链路包括pos链路、wan链路以及lan链路;相应的,所述根据所述平均报文长度,确定各所述链路对所述报文的传输分担比例可包括:确定各所述链路对所述报文的传输分担比例为:同步数字体系sdh链路:广域网wan链路:局域网lan链路=k1*l/(l+9)*(26/27):k2*l/(l+38):k3*l/(l+38)*(26/27);其中,k1,k2,k3分别为同步数字体系sdh链路的线路速率、广域网wan链路的线路速率、局域网lan链路的线路速率,l为所述平均报文长度。当然,在本发明的其他实施例中,也可以只包括上述链路中的两种,或者其他类型的链路,其传输分担比也为对应的系数之比,本发明的实施例对此不作限定。相应的,如图2所示,本发明的实施例还提供一种链路负载均衡装置,包括:估算单元21,用于估算各链路上传输的报文的平均报文长度;确定单元22,用于根据所述估算单元估算的平均报文长度,确定各所述链路对所述报文的传输分担比例;调节单元23,用于根据所述传输分担比例,对各所述链路进行负载均衡调节。本发明实施例提供的链路负载均衡装置,估算单元21能够估算各链路上传输的报文的平均报文长度,确定单元22能够根据所述平均报文长度,确定各所述链路对所述报文的传输分担比例;调节单元23能够根据所述传输分担比例,对各所述链路进行负载均衡调节。这样即使各链路类型不同,报文封装结构也不同,依然可以及时获取到当前传输的报文的平均报文长度,然后根据各条链路上报文结构的特点确定出应该如何在各条链路之间分配报文,从而能够精确地对各链路进行负载均衡调节。可选的,估算单元21可包括:获取模块,用于分别获取多个第一预设时长内、各所述链路上传输的报文的报文个数和传输字节数;估算模块,用于根据所述报文个数和所述传输字节数,估算所述预设时长内的平均报文长度。可选的,所述估算模块,具体可用于:分别确定每个所述第一预设时长内、各所述链路上传输的报文的采样报文长度,所述采样报文长度中携带未知系数;利用最小二乘法确定所述未知系数;利用所述未知系数和所述采样报文长度,估算所述平均报文长度。进一步的,本发明实施例提供的链路负载均衡装置,还可包括:检测单元,用于在根据所述传输分担比例,对各所述链路进行负载均衡调节之后,检测各所述链路的带宽利用率;所述获取模块,还可用于如果各所述链路的带宽利用率之差大于预设阈值,分别获取多个第二预设时长内、各所述链路上传输的报文的报文个数和传输字节数,所述第二预设时长小于所述第一预设时长;所述估算模块,还可用于根据新获取的所述报文个数和所述传输字节数,重新估算所述平均报文长度;确定单元22,还用于确定各所述链路的传输分担比例,直至各所述链路的带宽利用率之差小于或等于所述预设阈值。可选的,所述链路包括pos链路、wan链路以及lan链路;确定单元22,具体用于确定各所述链路对所述报文的传输分担比例为:同步数字体系sdh链路:广域网wan链路:局域网lan链路=k1*l/(l+9)*(26/27):k2*l/(l+38):k3*l/(l+38)*(26/27);其中,k1,k2,k3分别为同步数字体系sdh链路的线路速率、广域网wan链路的线路速率、局域网lan链路的线路速率,l为所述平均报文长度。尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1