CN109450807B - 一种接口选择方法及通信设备 - Google Patents
一种接口选择方法及通信设备 Download PDFInfo
- Publication number
- CN109450807B CN109450807B CN201811435692.7A CN201811435692A CN109450807B CN 109450807 B CN109450807 B CN 109450807B CN 201811435692 A CN201811435692 A CN 201811435692A CN 109450807 B CN109450807 B CN 109450807B
- Authority
- CN
- China
- Prior art keywords
- interface
- bandwidth
- weight value
- basic weight
- current weight
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
- H04L12/2858—Access network architectures
- H04L12/2859—Point-to-point connection between the data network and the subscribers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种接口选择方法及通信设备,包括:获取多个接口中每个接口的带宽基础权重值,带宽基础权重值代表接口的报文发送能力的大小;对于每个接口,将每个接口对应的带宽当前权重值与该接口的带宽基础权重值相加,将相加之和作为该接口的新的带宽当前权重值;选择带宽当前权重值最大的接口作为本次报文发送的接口。对于每个接口,将该接口原先的带宽当前权重值与该接口的带宽基础权重值相加,并将相加之和作为该接口的新的带宽当前权重值;然后可以从多个接口中,选择出带宽当前权重值最大的接口来发送报文,带宽当前权重值最大意味着该接口的报文发送能力较强,且该接口发送拥塞的可能性最小,从而提高了报文的发送概率。
Description
技术领域
本申请涉及通信技术领域,具体而言,涉及一种接口选择方法及通信设备。
背景技术
现在人们对带宽的要求越来越高,以前的物理链路的带宽不能满足人们的上网需求,但出于节约成本的考虑,通常希望以前的网络规划和布局不发生改变,这样就提出了将多个带宽较小的物理链路绑定到一起的做法。在广域网链路中,多链路点对点协议(Multilink Point-to-Point Protocol,简称MPPP)将多个点对点协议(Point-to-PointProtocol,简称PPP)链路捆绑使用,从而增加带宽。
然而,不同的PPP链路的带宽差距较大,如果不对不同带宽的链路合理分配报文,可能会导致带宽较小的物理接口的流量较大,造成物理拥塞,而带宽较大的物理接口却远未达到饱和。
申请内容
有鉴于此,本申请实施例提供了一种接口选择方法及通信设备,以改善物理接口无法与其相应的带宽匹配的问题。
第一方面,本申请实施例提供了一种接口选择方法,应用在基于多链路点对点协议发送报文的通信设备,所述方法包括:获取多个接口中每个接口的带宽基础权重值,所述带宽基础权重值代表接口的报文发送能力的大小;将每个接口对应的带宽当前权重值与该接口的带宽基础权重值相加,将相加之和作为该接口的新的带宽当前权重值;选择带宽当前权重值最大的接口作为本次报文发送的接口。
对于每个接口,将该接口原先的带宽当前权重值与该接口的带宽基础权重值相加,并将相加之和作为该接口的新的带宽当前权重值;然后可以从多个接口中,选择出带宽当前权重值最大的接口来发送报文,带宽当前权重值最大意味着该接口的报文发送能力较强,且该接口发送拥塞的可能性最小,从而提高了报文的发送概率。
在一个可能的设计中,在所述选择带宽当前权重值最大的接口作为本次报文发送的接口之后,所述方法还包括:将所述本次报文发送的接口的带宽当前权重值与带宽基础权重值总和相减,将相减获得的差作为该接口的新的带宽当前权重值,其中,带宽基础权重值总和为每个接口的带宽基础权重值之和。
由于带宽当前权重值最大的接口刚刚发送过报文,因此为了减少其继续作为带宽当前权重值最大的接口的概率,可以将其带宽当前权重值与带宽基础权重值总和相减,获得的差作为该接口的新的带宽当前权重值,带宽基础权重值总和为每个接口的带宽基础权重值之和。若存在两个接口的带宽相差较小,其中一个接口刚刚发送过报文,则该刚刚发送过报文的接口的带宽当前权重值在减掉带宽基础权重值总和之后,其更新后的带宽当前权重值有较大的可能性小于另一个接口的带宽当前权重值;下一次再发送报文时,为两个接口的带宽当前权重值各加上各自的带宽基础权重值,尚未发送报文的接口的带宽当前权重值有更大的可能性大于刚刚发送过报文的接口的带宽当前权重值,故再次发送报文时,可以选择尚未发送报文的接口,从而实现了负载均衡。
在一个可能的设计中,所述获取多个接口的每个接口的带宽基础权重值之前,所述方法还包括:获取反映多个接口的每个接口的带宽大小的带宽值;计算所述多个带宽值的最大公约数;用每个接口的带宽值除以所述最大公约数,获得的商为该接口的带宽基础权重值,并初始化所述每个接口的所述带宽当前权重值。
可以先获得各个接口的带宽值,然后计算全部带宽值的最大公约数,对于每个接口来说,用该接口的带宽值除以最大公约数,获得的商作为该接口的带宽基础权重值,通过该方式来计算带宽基础权重值,各接口的带宽基础权重值之间的差距和倍数关系真实反映了各接口带宽之间的差距和倍数关系,能够较为直观地反映各接口的流量承载能力,初始化每个接口的带宽当前权重值,通常将每个接口的带宽当前权重值初始化为0,然后再对每个接口的带宽当前权重值进行加减运算。
在一个可能的设计中,在所述用每个接口的带宽值除以所述最大公约数,获得的商为该接口的带宽基础权重值之后,所述方法还包括:构建预设数组;将每个接口的带宽基础权重值存储至预设数组。
可以在通信设备中构建预设数组来存储每个接口的带宽基础权重值,通常情况下,每个接口的带宽不会发生变化,意味着其带宽基础权重值通常也不会发生变化,故可以将每个接口的带宽基础权重值存储起来,当需要对每个接口的带宽当前权重值进行累加运算时,再从预设数组中获得相应接口的带宽基础权重值。
在一个可能的设计中,所述获取多个接口的每个接口的带宽基础权重值,包括:遍历所述预设数组;获取所述预设数组中存储的每个接口的带宽基础权重值。
获取带宽基础权重值时,可以通过遍历预设数组的方式来获取每个接口的带宽基础权重值,此种获得带宽基础权重值的方式更加快捷准确;也可以在每次获取带宽基础权重值时,均通过计算该接口的带宽值除以最大公约数来获得带宽基础权重值,获得每个接口的带宽基础权重值的方式不应该理解为是对本申请的限制。
第二方面,本申请实施例提供了一种通信设备,所述通信设备包括:基础权重值获取模块,用于获取多个接口中每个接口的带宽基础权重值,所述带宽基础权重值代表接口的报文发送能力的大小;当前权重值计算模块,用于将每个接口对应的带宽当前权重值与该接口的带宽基础权重值相加,将相加之和作为该接口的新的带宽当前权重值;接口选择模块,用于选择带宽当前权重值最大的接口作为本次报文发送的接口。
对于每个接口,将该接口原先的带宽当前权重值与该接口的带宽基础权重值相加,并将相加之和作为该接口的新的带宽当前权重值;然后可以从多个接口中,选择出带宽当前权重值最大的接口来发送报文,带宽当前权重值最大意味着该接口的报文发送能力较强,且该接口发送拥塞的可能性最小,从而提高了报文的发送概率。
在一个可能的设计中,所述通信设备还包括:当前权重值计算模块,用于将所述本次报文发送的接口的带宽当前权重值与带宽基础权重值总和相减,将相减获得的差作为该接口的新的带宽当前权重值,其中,带宽基础权重值总和为每个接口的带宽基础权重值之和。
由于带宽当前权重值最大的接口刚刚发送过报文,因此为了减少其继续作为带宽当前权重值最大的接口的概率,可以将其带宽当前权重值与带宽基础权重值总和相减,获得的差作为该接口的新的带宽当前权重值,带宽基础权重值总和为每个接口的带宽基础权重值之和。若存在两个接口的带宽相差较小,其中一个接口刚刚发送过报文,则该刚刚发送过报文的接口的带宽当前权重值在减掉带宽基础权重值总和之后,其更新后的带宽当前权重值有较大的可能性小于另一个接口的带宽当前权重值;下一次再发送报文时,为两个接口的带宽当前权重值各加上各自的带宽基础权重值,尚未发送报文的接口的带宽当前权重值有更大的可能性大于刚刚发送过报文的接口的带宽当前权重值,故再次发送报文时,可以选择尚未发送报文的接口,从而实现了负载均衡。
在一个可能的设计中,所述基础权重值获取模块具体用于,获取反映多个接口的每个接口的带宽大小的带宽值;公约数计算模块,用于计算所述多个带宽值的最大公约数;权重值计算模块,用于每个接口的带宽值除以所述最大公约数,获得的商为该接口的带宽基础权重值,并初始化所述每个接口的所述带宽当前权重值。
可以先获得各个接口的带宽值,然后计算全部带宽值的最大公约数,对于每个接口来说,用该接口的带宽值除以最大公约数,获得的商作为该接口的带宽基础权重值,通过该方式来计算带宽基础权重值,各接口的带宽基础权重值之间的差距和倍数关系真实反映了各接口带宽之间的差距和倍数关系,能够较为直观地反映各接口的流量承载能力,初始化每个接口的带宽当前权重值,通常将每个接口的带宽当前权重值初始化为0,然后再对每个接口的带宽当前权重值进行加减运算。
在一个可能的设计中,所述基础权重值获取模块还用于:用于构建预设数组;用于将每个接口的带宽基础权重值存储至预设数组。
可以在通信设备中构建预设数组来存储每个接口的带宽基础权重值,通常情况下,每个接口的带宽不会发生变化,意味着其带宽基础权重值通常也不会发生变化,故可以将每个接口的带宽基础权重值存储起来,当需要对每个接口的带宽当前权重值进行累加运算时,再从预设数组中获得相应接口的带宽基础权重值。
在一个可能的设计中,所述权重值获取模块具体用于遍历所述预设数组;获取所述预设数组中存储的每个接口的带宽基础权重值。
获取带宽基础权重值时,可以通过遍历预设数组的方式来获取每个接口的带宽基础权重值,此种获得带宽基础权重值的方式更加快捷准确;也可以在每次获取带宽基础权重值时,均通过计算该接口的带宽值除以最大公约数来获得带宽基础权重值,获得每个接口的带宽基础权重值的方式不应该理解为是对本申请的限制。
第三方面,本申请提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述通信设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行第一方面或第一方面的任一可选的实现方式所述的方法。
第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一方面或第一方面的任一可选的实现方式所述的方法。
第五方面,本申请提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法。
为使本申请实施例所要实现的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚的说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请第一实施例提供的接口选择方法的流程示意图;
图2是步骤S110之前的步骤流程图;
图3是步骤S110的具体步骤流程图;
图4是本申请第二实施例提供的通信设备的结构框图。
具体实施方式
现有技术中,MPPP的物理成员接口最多可以配置N个,接口之间的带宽差距很大,例如CE1接口的带宽为64K,E1接口的带宽为2M、还有诸如155M、622M、1.25G、2.5G、10G等带宽的接口。面对带宽如此巨大的差异,现有的一些根据接口带宽来实现负载均衡的算法已经不能正常使用,时常会出现带宽较小的接口的发生拥塞,而带宽较大的接口发送不饱和的情况。
现有技术中存在的上述缺陷,本申请人认为均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。
为解决上述技术问题,本申请实施例提供了如下的接口选择方法及通信设备,下面将结合附图,对本申请实施例中的接口选择方法及通信设备进行详细介绍。
第一实施例
请参见图1,图1示出了本申请第一实施例提供的接口选择方法的流程示意图,具体包括如下步骤:
步骤S110,获取多个接口中每个接口的带宽基础权重值,所述带宽基础权重值代表接口的报文发送能力的大小。
带宽基础权重值代表接口的报文发送能力,反映接口带宽的大小,带宽基础权重值大,意味着接口的报文发送能力强,该接口的带宽大;带宽基础权重值小,意味着接口的报文发送能力弱,该接口的带宽小。接口的带宽通常不会改变,因此每个接口各自的带宽基础权重值通常也是固定值。该步骤中获取的多个接口均为激活的接口。
带宽基础权重值均可以存储在预先设置的数组中,若要获取多个接口中每个接口的带宽基础权重值,则可以遍历预先设置的数组,获得数组中存储的带宽基础权重值。带宽基础权重值可以存储在预先设置的数组中,也可以存储在预先设置的数据存储空间中,存储带宽基础权重值的存储方式不应该理解为是对本申请的限制。
步骤S120,将每个接口对应的带宽当前权重值与该接口的带宽基础权重值相加,将相加之和作为该接口的新的带宽当前权重值。
每个接口的带宽当前权重值在每次选择接口时均会发生改变,每次选择接口时,会在每个接口当前带宽当前权重值的基础上加上该接口的带宽基础权重值,获得的相加之后作为该接口新的带宽当前权重值。
为方便叙述,下面不妨以三个接口为例进行说明:对于接口A、接口B以及接口C,接口A、接口B以及接口C的带宽基础权重值分别为a、b、c,在进行累加前,接口A、接口B以及接口C的带宽当前权重值分别为X=a1、Y=b1、Z=c1,其中,X、Y、Z分别代表三个接口的带宽当前权重值(初始化为0,也可以是其他任一确定的值,只要所有接口统一即可),a1、b1、c1分别为三个带宽当前权重值的具体数值。对于每个接口来说,对应的带宽当前权重值与该接口的带宽基础权重值相加,作为新的带宽当前权重值,即接口A的带宽当前权重值变为:X=a1+a=a2;接口B的带宽当前权重值变为:Y=b1+b=b2;接口C的带宽当前权重值变为:Z=c1+c=c2。
步骤S130,选择带宽当前权重值最大的接口作为本次报文发送的接口。
在获得各接口新的带宽当前权重值之后,将各接口中带宽当前权重值最大的接口作为本次报文发送的接口。对于每个接口,将该接口原先的带宽当前权重值与该接口的带宽基础权重值相加,并将相加之和作为该接口的新的带宽当前权重值;然后可以从多个接口中,选择出带宽当前权重值最大的接口来发送报文,带宽当前权重值最大意味着该接口的报文发送能力较强,且该接口发送拥塞的可能性最小,从而提高了报文的发送概率。
在步骤S130之后,还包括如下步骤:将所述本次报文发送的接口的带宽当前权重值与带宽基础权重值总和相减,将相减获得的差作为该接口的新的带宽当前权重值,其中,带宽基础权重值总和为每个接口的带宽基础权重值之和。
由于带宽当前权重值最大的接口刚刚发送过报文,因此为了减少其继续作为带宽当前权重值最大的接口的概率,可以将其带宽当前权重值与带宽基础权重值总和相减,获得的差作为该接口的新的带宽当前权重值,带宽基础权重值总和为每个接口的带宽基础权重值之和。
对于接口A、接口B以及接口C,不妨设接口A的带宽当前权重值最大,则选择接口A来发送报文,并在接口A发送报文之后,令接口A的带宽当前权重值X=a2-(a+b+c)=a3。若接口A、接口B、接口C的带宽相差不大,在带宽当前权重值与带宽基础权重值总和相减之前,接口A、接口B、接口C的带宽当前权重值虽有大小之分但应相差不大,而在带宽当前权重值与带宽基础权重值总和相减之后,接口A的带宽当前权重值应明显小于接口B或接口C的带宽当前权重值。当下次再发送报文时,为三个接口的带宽当前权重值各加上各自的带宽基础权重值,即接口A的带宽当前权重值变为:X=a2-(a+b+c)+a=a4;接口B的带宽当前权重值变为:Y=b2+b=b3;接口C的带宽当前权重值变为:Z=c2+c=c3,则接口A的带宽当前权重值依然大于接口B或接口C的可能小较小。
接下来以三个接口的带宽基础权重值相差较小进行举例:
接口A、接口B以及接口C的带宽基础权重值分别为5、4、3,在进行累加前,接口A、接口B以及接口C的带宽当前权重值分别初始化为X=0、Y=0、Z=0,对于每个接口来说,对应的带宽当前权重值与该接口的带宽基础权重值相加,作为新的带宽当前权重值,即接口A的带宽当前权重值变为:X=0+5=5;接口B的带宽当前权重值变为:Y=0+4=4;接口C的带宽当前权重值变为:Z=0+3=3。选择带宽当前权重值最大的接口来发送报文,即选择接口A发送报文。
在选择的接口A进行报文发送后,接口A的带宽当前权重值需要与带宽基础权重值总和(5+4+3=12)相减,获得接口A更新后的带宽当前权重值X=5-12=-7。
当再次需要发送报文时,每个接口当前的带宽当前权重值与该接口的带宽基础权重值相加,作为新的带宽当前权重值,即接口A的带宽当前权重值变为:X=-7+5=-2;接口B的带宽当前权重值变为:Y=4+4=8;接口C的带宽当前权重值变为:Z=3+3=6。三个接口中带宽当前权重值最大的接口是接口B,即选择接口B发送报文。
在选择的接口B进行报文发送后,接口B的带宽当前权重值需要与带宽基础权重值总和(5+4+3=12)相减,获得接口B更新后的带宽当前权重值Y=8-12=-4。
当再次需要发送报文时,每个接口当前的带宽当前权重值与该接口的带宽基础权重值相加,作为新的带宽当前权重值,即接口A的带宽当前权重值变为:X=-2+5=3;接口B的带宽当前权重值变为:Y=-4+4=0;接口C的带宽当前权重值变为:Z=6+3=9。三个接口中带宽当前权重值最大的接口是接口C,即选择接口C发送报文。
在选择的接口C进行报文发送后,接口C的带宽当前权重值需要与带宽基础权重值总和(5+4+3=12)相减,获得接口C更新后的带宽当前权重值Z=9-12=-3。
……
通过上述方式,每发送12次报文,接口A发送报文的次数为5次,接口B发送报文的次数为4次,接口C发送报文的次数为3次,从而较好的实现了接口的负载均衡。
接下来以三个接口的带宽基础权重值相差较大进行举例:
接口A、接口B以及接口C的带宽基础权重值分别为7、2、1,在进行累加前,接口A、接口B以及接口C的带宽当前权重值分别初始化为X=0、Y=0、Z=0,对于每个接口来说,对应的带宽当前权重值与该接口的带宽基础权重值相加,作为新的带宽当前权重值,即接口A的带宽当前权重值变为:X=0+7=7;接口B的带宽当前权重值变为:Y=0+2=2;接口C的带宽当前权重值变为:Z=0+1=1。选择带宽当前权重值最大的接口来发送报文,即选择接口A发送报文。
在选择的接口A进行报文发送后,接口A的带宽当前权重值需要与带宽基础权重值总和(7+2+1=10)相减,获得接口A更新后的带宽当前权重值X=7-10=-3。
当再次需要发送报文时,每个接口当前的带宽当前权重值与该接口的带宽基础权重值相加,作为新的带宽当前权重值,即接口A的带宽当前权重值变为:X=-3+7=4;接口B的带宽当前权重值变为:Y=2+2=4;接口C的带宽当前权重值变为:Z=1+1=2。三个接口中,带宽当前权重值最大的接口为接口A和接口B,在两个或多个接口的带宽当前权重值相同且均为最大的情况下,可以按照接口的序号顺序进行选择,例如,不妨设接口A的序号比接口B的序号小,即依然选择接口A发送报文。
在选择的接口A进行报文发送后,接口A的带宽当前权重值需要与带宽基础权重值总和(5+4+3=12)相减,获得接口A更新后的带宽当前权重值X=4-10=-6。
当再次需要发送报文时,每个接口当前的带宽当前权重值与该接口的带宽基础权重值相加,作为新的带宽当前权重值,即接口A的带宽当前权重值变为:X=-6+7=1;接口B的带宽当前权重值变为:Y=4+2=6;接口C的带宽当前权重值变为:Z=2+1=3。三个接口中带宽当前权重值最大的接口是接口B,即选择接口B发送报文。
在选择的接口B进行报文发送后,接口B的带宽当前权重值需要与带宽基础权重值总和(5+4+3=12)相减,获得接口B更新后的带宽当前权重值X=6-10=-4。
……
由上述例子可以得知,若不同接口之间的带宽基础权重值相差较大,带宽基础权重值大的接口在较少次数的报文发送中可能被多次选择,符合带宽基础权重值大的接口发送的报文多的需求。每连续发送10次报文,接口A发送报文的次数为7次,接口B发送报文的次数为2次,接口C发送报文的次数为1次,从而较好的实现了接口的负载均衡。
请参见图2,图2示出了步骤S110之前的步骤示意图,具体包括如下步骤:
步骤S101,获取反映多个接口的每个接口的带宽大小的带宽值。
步骤S102,计算所述多个带宽值的最大公约数。
步骤S103,用该接口的带宽值除以所述最大公约数,获得的商为该接口的带宽基础权重值,并初始化所述每个接口的所述带宽当前权重值。
可以先获得各个接口的带宽值,然后计算全部带宽值的最大公约数,对于每个接口来说,用该接口的带宽值除以最大公约数,获得的商作为该接口的带宽基础权重值,通过该方式来计算带宽基础权重值,各接口的带宽基础权重值之间的差距和倍数关系真实反映了各接口带宽之间的差距和倍数关系,能够较为直观地反映各接口的流量承载能力,初始化每个接口的带宽当前权重值,通常将每个接口的带宽当前权重值初始化为0(也可以是其他任一确定的值,只要所有接口统一即可),然后再对每个接口的带宽当前权重值进行加减运算。
接下来以具体例子说明如何计算各接口的带宽基础权重值:
比如有三个接口的带宽为BW_a,BW_b,BW_c:计算三个接口的最大公约数:maxGcd=gcd(BW_a,BW_b,BW_c)。
根据最大公约数计算上述三个被激活的接口的带宽基础权重值,可以以Kbps为单位:
a=BW_a/maxGcd
b=BW_b/maxGcd
c=BW_c/maxGcd
假设接口A、接口B、接口C的带宽值分别为15M、20M和25M,获得上述三个接口的最大公约数5,然后获得接口A的带宽基础权重值:15/5=3,接口B的带宽基础权重值:20/5=4,接口C的带宽基础权重值:25/5=5。
步骤S104,构建预设数组。
步骤S105,将每个接口的带宽基础权重值存储至预设数组。
构建一个预设数组来存储每个接口的带宽基础权重值,Array[…]={a,b,c}。
可以在通信设备中构建预设数组来存储每个接口的带宽基础权重值,通常情况下,每个接口的带宽不会发生变化,意味着其带宽基础权重值通常也不会发生变化,故可以将每个接口的带宽基础权重值存储起来,当需要对每个接口的带宽当前权重值进行累加运算时,再从预设数组中获得相应接口的带宽基础权重值。
请参见图3,在本申请的一种具体实施方式中,所述获取多个接口的每个接口的带宽基础权重值,具体包括如下步骤:
步骤S111,遍历所述预设数组。
步骤S112,获取所述预设数组中存储的每个接口的带宽基础权重值。
获取带宽基础权重值时,可以通过遍历预设数组的方式来获取每个接口的带宽基础权重值,此种获得带宽基础权重值的方式更加快捷准确;也可以在每次获取带宽基础权重值时,均通过计算该接口的带宽值除以最大公约数来获得带宽基础权重值,获得每个接口的带宽基础权重值的方式不应该理解为是对本申请的限制。
本申请第一实施例提供的接口选择方法通过对带宽基础权重值进行加减并根据更新后的带宽基础权重值的大小来选择接口,即能够满足负载均衡的加权平均,又能够保证接口的随机选择。
第二实施例
请参见图4,图4示出了本申请第二实施例提供的通信设备,所述通信设备300包括:
基础权重值获取模块310,用于获取多个接口中每个接口的带宽基础权重值,所述带宽基础权重值代表接口的报文发送能力的大小。
当前权重值计算模块320,用于将每个接口对应的带宽当前权重值与该接口的带宽基础权重值相加,将相加之和作为该接口的新的带宽当前权重值。
接口选择模块330,用于选择带宽当前权重值最大的接口作为本次报文发送的接口。
所述通信设备还包括:所述当前权重值计算模块320还用于,将所述本次报文发送的接口的带宽当前权重值与所述多个接口的带宽基础权重值总和相减,将相减获得的差作为该接口的新的带宽当前权重值。
所述基础权重值获取模块310具体用于,获取反映多个接口的每个接口的带宽大小的带宽值;计算多个所述带宽值的最大公约数;用该接口的带宽值除以所述最大公约数,获得的商为该接口的带宽基础权重值,并初始化所述每个接口的所述带宽当前权重值。所述基础权重值获取模块310,还用于:构建预设数组;将每个接口的带宽基础权重值存储至预设数组。所述基础权重值获取模块310具体用于遍历所述预设数组;获取所述预设数组中存储的每个接口的带宽基础权重值。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的通信设备的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
本申请还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述通信设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行第一实施例所述的方法。
本申请还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一实施例所述的方法。
本申请还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一实施例所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
本申请实施例在有MPPP绑定大量物理接口,且物理接口间带宽差异很大的应用场景中,解决了由于负载均衡效果不好,导致发送性能降低的问题,提高了MPPP的发送性能,改善用户的使用体验。
本申请实施例提供了一种接口选择方法及通信设备,应用在基于多链路点对点协议发送报文的通信设备,包括:获取多个接口中每个接口的带宽基础权重值,所述带宽基础权重值代表接口的报文发送能力的大小;将每个接口对应的带宽当前权重值与该接口的带宽基础权重值相加,将相加之和作为该接口的新的带宽当前权重值;选择带宽当前权重值最大的接口作为本次报文发送的接口。对于每个接口,将该接口原先的带宽当前权重值与该接口的带宽基础权重值相加,并将相加之和作为该接口的新的带宽当前权重值;然后可以从多个接口中,选择出带宽当前权重值最大的接口来发送报文,带宽当前权重值最大意味着该接口的报文发送能力较强,且该接口发送拥塞的可能性最小,从而提高了报文的发送概率。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (8)
1.一种接口选择方法,其特征在于,应用在基于多链路点对点协议发送报文的通信设备,所述方法包括:
获取多个接口中每个接口的带宽基础权重值,所述带宽基础权重值代表接口的报文发送能力的大小;
将每个接口对应的带宽当前权重值与该接口的所述带宽基础权重值相加,将相加之和作为该接口的新的带宽当前权重值;
选择带宽当前权重值最大的接口作为本次报文发送的接口;
在所述选择带宽当前权重值最大的接口作为本次报文发送的接口之后,所述方法还包括:
将所述本次报文发送的接口的带宽当前权重值与所述多个接口的带宽基础权重值总和相减,将相减获得的差作为该接口的新的带宽当前权重值。
2.根据权利要求1所述的方法,其特征在于,所述获取多个接口的每个接口的带宽基础权重值之前,所述方法还包括:
获取反映多个接口的每个接口的带宽大小的带宽值;
计算多个所述带宽值的最大公约数;
用每个接口的带宽值除以所述最大公约数,获得的商为该接口的带宽基础权重值,并初始化所述每个接口的所述带宽当前权重值。
3.根据权利要求2所述的方法,其特征在于,在所述用每个接口的带宽值除以所述最大公约数,获得的商为该接口的带宽基础权重值之后,所述方法还包括:
构建预设数组;
将每个接口的带宽基础权重值存储至预设数组。
4.根据权利要求3所述的方法,其特征在于,所述获取多个接口的每个接口的带宽基础权重值,包括:
遍历所述预设数组;
获取所述预设数组中存储的每个接口的带宽基础权重值。
5.一种通信设备,其特征在于,所述通信设备包括:
基础权重值获取模块,用于获取多个接口中每个接口的带宽基础权重值,所述带宽基础权重值代表接口的报文发送能力的大小;
当前权重值计算模块,用于将每个接口对应的带宽当前权重值与该接口的带宽基础权重值相加,将相加之和作为该接口的新的带宽当前权重值;
接口选择模块,用于选择带宽当前权重值最大的接口作为本次报文发送的接口;
所述当前权重值计算模块还用于,将所述本次报文发送的接口的带宽当前权重值与所述多个接口的带宽基础权重值总和相减,将相减获得的差作为该接口的新的带宽当前权重值。
6.根据权利要求5所述的通信设备,其特征在于,所述基础权重值获取模块具体用于,
获取反映多个接口的每个接口的带宽大小的带宽值;
计算多个所述带宽值的最大公约数;
用每个接口的带宽值除以所述最大公约数,获得的商为该接口的带宽基础权重值,并初始化所述每个接口的所述带宽当前权重值。
7.根据权利要求6所述的通信设备,其特征在于,所述基础权重值获取模块,还用于:
构建预设数组;
将每个接口的带宽基础权重值存储至预设数组。
8.根据权利要求7所述的通信设备,其特征在于,所述基础权重值获取模块具体用于遍历所述预设数组;
获取所述预设数组中存储的每个接口的带宽基础权重值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811435692.7A CN109450807B (zh) | 2018-11-28 | 2018-11-28 | 一种接口选择方法及通信设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811435692.7A CN109450807B (zh) | 2018-11-28 | 2018-11-28 | 一种接口选择方法及通信设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109450807A CN109450807A (zh) | 2019-03-08 |
CN109450807B true CN109450807B (zh) | 2022-02-22 |
Family
ID=65555682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811435692.7A Active CN109450807B (zh) | 2018-11-28 | 2018-11-28 | 一种接口选择方法及通信设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109450807B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113050978B (zh) * | 2019-12-26 | 2024-03-19 | ***通信集团北京有限公司 | 应用的灰度发布控制方法、装置、设备及计算机存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6430155B1 (en) * | 1998-11-30 | 2002-08-06 | Cisco Technology, Inc. | Congestion avoidance on communications networks |
CN101110763A (zh) * | 2007-06-22 | 2008-01-23 | 中兴通讯股份有限公司 | 一种快速加权选择端口的方法 |
CN101110775A (zh) * | 2007-07-06 | 2008-01-23 | 中兴通讯股份有限公司 | 一种动态调整负荷分担的方法和*** |
CN101184049A (zh) * | 2007-12-12 | 2008-05-21 | 中兴通讯股份有限公司 | 一种动态负荷分担方法及*** |
CN103117946A (zh) * | 2012-12-11 | 2013-05-22 | 广东电网公司电力调度控制中心 | 基于隔离装置与隔离网关结合应用的流量分担方法 |
CN104219111A (zh) * | 2013-05-31 | 2014-12-17 | 中国电信股份有限公司 | 基于mlppp的链路绑定方法与通信*** |
CN104301305A (zh) * | 2014-09-17 | 2015-01-21 | 北京大学深圳研究生院 | 信息中心网络下兴趣包转发的方法和转发终端 |
CN104954275A (zh) * | 2014-03-30 | 2015-09-30 | 瞻博网络公司 | 用于多路径负载平衡的***和方法 |
CN105578528A (zh) * | 2016-01-08 | 2016-05-11 | 努比亚技术有限公司 | 数据接口分流方法、装置及终端设备 |
CN105682146A (zh) * | 2016-01-08 | 2016-06-15 | 努比亚技术有限公司 | 数据传输方法、装置及用户设备 |
CN106941455A (zh) * | 2016-01-04 | 2017-07-11 | 中兴通讯股份有限公司 | 均衡负荷分担的方法及装置 |
CN108055203A (zh) * | 2017-12-26 | 2018-05-18 | 杭州迪普科技股份有限公司 | 一种等价路由负载分担方法及装置 |
EP3355498A1 (en) * | 2017-01-30 | 2018-08-01 | Xieon Networks S.à r.l. | Method and tool for service provisioning with improved spectral efficiency in grid-less optical networks |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8451860B2 (en) * | 2007-02-08 | 2013-05-28 | The Boeing Company | Low-weight hybrid deterministic highspeed data bus |
-
2018
- 2018-11-28 CN CN201811435692.7A patent/CN109450807B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6430155B1 (en) * | 1998-11-30 | 2002-08-06 | Cisco Technology, Inc. | Congestion avoidance on communications networks |
CN101110763A (zh) * | 2007-06-22 | 2008-01-23 | 中兴通讯股份有限公司 | 一种快速加权选择端口的方法 |
CN101110775A (zh) * | 2007-07-06 | 2008-01-23 | 中兴通讯股份有限公司 | 一种动态调整负荷分担的方法和*** |
CN101184049A (zh) * | 2007-12-12 | 2008-05-21 | 中兴通讯股份有限公司 | 一种动态负荷分担方法及*** |
CN103117946A (zh) * | 2012-12-11 | 2013-05-22 | 广东电网公司电力调度控制中心 | 基于隔离装置与隔离网关结合应用的流量分担方法 |
CN104219111A (zh) * | 2013-05-31 | 2014-12-17 | 中国电信股份有限公司 | 基于mlppp的链路绑定方法与通信*** |
CN104954275A (zh) * | 2014-03-30 | 2015-09-30 | 瞻博网络公司 | 用于多路径负载平衡的***和方法 |
CN104301305A (zh) * | 2014-09-17 | 2015-01-21 | 北京大学深圳研究生院 | 信息中心网络下兴趣包转发的方法和转发终端 |
CN106941455A (zh) * | 2016-01-04 | 2017-07-11 | 中兴通讯股份有限公司 | 均衡负荷分担的方法及装置 |
CN105578528A (zh) * | 2016-01-08 | 2016-05-11 | 努比亚技术有限公司 | 数据接口分流方法、装置及终端设备 |
CN105682146A (zh) * | 2016-01-08 | 2016-06-15 | 努比亚技术有限公司 | 数据传输方法、装置及用户设备 |
EP3355498A1 (en) * | 2017-01-30 | 2018-08-01 | Xieon Networks S.à r.l. | Method and tool for service provisioning with improved spectral efficiency in grid-less optical networks |
CN108055203A (zh) * | 2017-12-26 | 2018-05-18 | 杭州迪普科技股份有限公司 | 一种等价路由负载分担方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于权重的反馈优先IP流量控制算法;季春兰,叶德谦,柳旭日,王天娥;《计算机技术与发展》;20090630;142-144 * |
Also Published As
Publication number | Publication date |
---|---|
CN109450807A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109618002B (zh) | 一种微服务网关优化方法、装置及存储介质 | |
CN105721350B (zh) | 一种智能分配带宽的方法及装置 | |
US8208403B2 (en) | Defining an end-to-end path for a network service | |
CN110417676B (zh) | 一种调度方法、装置和调度网络 | |
JP2013168934A (ja) | 負荷均衡装置及び負荷均衡方法 | |
CN112738820A (zh) | 一种服务功能链的动态部署方法、装置及计算机设备 | |
JP2013168139A (ja) | 負荷均衡装置、負荷均衡方法及び階層化データセンターシステム | |
CN111381971A (zh) | 一种基于Nginx的动态权重负载均衡方法 | |
CN111835564B (zh) | 一种电力物联网通信链路故障自适应恢复方法及*** | |
CN107317764B (zh) | 流量负载均衡方法、***、装置和计算机可读存储介质 | |
CN110708242B (zh) | 流量调度方法、装置、电子设备及存储介质 | |
CN110311863B (zh) | 一种路由路径确定方法及装置 | |
CN109450807B (zh) | 一种接口选择方法及通信设备 | |
CN110113263A (zh) | 一种通信路径确定方法及装置 | |
Hanczewski et al. | The queueing model of a multiservice system with dynamic resource sharing for each class of calls | |
Luo et al. | Exploiting intercontact time for routing in delay tolerant networks | |
Roy et al. | Fairness in message delivery in delay tolerant networks | |
CN107210962B (zh) | 路径选择方法、装置及*** | |
CN110995802A (zh) | 任务的处理方法和装置、存储介质及电子装置 | |
Panagoulias et al. | Performance metrics in OFDM wireless networks supporting quasi-random traffic | |
CN114598654B (zh) | 基于内容分发网络cdn的流量均衡处理方法及装置 | |
CN110851275A (zh) | 路由节点的负载转移方法及装置 | |
CN115766426A (zh) | 算力资源处理方法及装置、电子设备及可读存储介质 | |
CN112231096B (zh) | 一种fpga池化资源任务均衡的方法、***、设备及介质 | |
CN108243112B (zh) | 聊天群组网络流量控制方法及装置、存储介质及计算设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |