一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种流量转发方法和装置与流程

2022-02-19 03:06:55 来源:中国专利 TAG:


1.本发明涉及通信技术领域,特别是涉及一种流量转发方法和装置。


背景技术:

2.ecmp(equal

cost multi

path等价多径路由)路径选择策略可以在动态路由环境下实现同时使用多条链路转发流量,不仅增加了传输带宽,并且可以无时延无丢包地备份失效链路的数据传输。现有的ecmp路径选择策略主要分为固定哈希值方式、轮询分担方式和按路径权重进行负载分担方式。
3.其中,按照路径权重进行负载分担方式是根据路径的权重分配流量,权重大的路径分配的流量更多。相关技术中,可以按照不同出端口带宽的比例关系,为不同出端口分配相应比例的流量。例如,若一个流量处理设备由三个出端口,其对应的带宽分别为10g、20g和40g,且此时有7条流量需要传输,则按照路径权重进行负载分担方式就可以为三个不同的出端口分别分配1条、2条和4条流量进行传输,三个端口就可以根据自身的带宽传输不同数量的流量。
4.但是,在实际应用中,由于流量速率有大有小,端口的流量转发质量有高有低,成本也不尽相同,在一种情况下,可能尽可能需要流量转发质量低而成本低的端口来转发流量,而在这种情况下,显然,若是使用现有的按路径权重进行负载分担方式,只能调整每个端口需要处理的流量的大小,无法根据实际需求来调整和选择端口路径,会造成端口资源浪费,增加流量转发成本。


技术实现要素:

5.本发明实施例的目的在于提供一种流量转发方法和装置,以降低流量转发成本。具体技术方案如下:
6.在本发明的第一方面,提供了一种流量转发方法,所述方法包括:
7.确定与等价路由组匹配的匹配流量的速率,作为匹配流量速率;
8.根据所述等价路由组中各成员出口的流量转发质量,确定各个所述成员出口的优先级,所述优先级与所述流量转发质量负相关;
9.从所有所述成员出口中选取优先级最高的最小数量个成员出口,作为目标成员出口,其中,所述最小数量为满足速率条件的数量的最小值,所述速率条件为:所有所述成员出口中优先级最高的该数量个成员出口的额定转发速率之和不小于所述匹配流量速率;
10.通过各个所述目标成员出口转发所述匹配流量。
11.在一种可能的实施例中,所述从所有所述成员出口中选取优先级最高的最小数量个成员出口,作为目标成员出口,包括:
12.确定浮动数量是否满足所述速率条件,所述浮动数量初始时为预设初始值;
13.如果所述浮动数量不满足所述速率条件,将所述浮动数量自加一,并返回执行所述确定浮动数量是否满足所述速率条件的步骤;
14.如果所述浮动数量满足所述速率条件,从所有所述成员出口中选取优先级最高的所述浮动数量个成员出口,作为目标成员出口。
15.在一种可能的实施例中,所述通过所述目标成员出口转发所述匹配流量,包括:
16.根据各个所述目标成员出口的优先级和额定转发速率,确定各个所述目标成员出口对应的实际转发速率;所述实际转发速率与所述额定转发速率正相关,并且所述实际转发速率和所述优先级正相关,并且所有目标成员出口对应的实际转发速率之和等于所述匹配流量速率;
17.通过各个所述目标成员出口按照各自对应的实际转发速率转发所述匹配流量。
18.在一种可能的实施例中,所述根据各个所述目标成员出口的优先级和额定转发速率,确定各个所述目标成员出口对应的实际转发速率,包括:
19.按照优先级由高到低所述目标成员出口的顺序,依次针对每个目标成员出口,如果所述目标成员出口的额定转发速率小于待分配速率,将出口的额定转发速率确定为所述目标成员出口对应的实际转发速率;如果所述目标成员出口的额定转发速率不小于所述待分配速率,将所述待分配速率确定为所述目标成员出口对应的实际转发速率;
20.其中,所述待分配速率为所述匹配流量速率与所有已确定的实际转发速率之和的差值。
21.在一种可能的实施例中,所述通过各个所述目标成员出口按照各自对应的实际转发速率转发所述匹配流量,包括:
22.确定各个所述目标成员出口对应的实际转发速率的比例,作为处理比例;
23.将所述匹配流量中的流量按照所述处理比例分配至各个所述目标成员出口进行转发。
24.在本发明实施例的第二方面,提供了一种流量转发装置,所述装置包括:
25.匹配流量速率确定模块,用于确定与等价路由组匹配的匹配流量的速率,作为匹配流量速率;
26.优先级确定模块,用于根据所述等价路由组中各成员出口的流量转发质量,确定各个所述成员出口的优先级,所述优先级与所述流量转发质量负相关;
27.目标成员出口确定模块,用于从所有所述成员出口中选取优先级最高的最小数量个成员出口,作为目标成员出口,其中,所述最小数量为满足速率条件的数量的最小值,所述速率条件为:所有所述成员出口中优先级最高的该数量个成员出口的额定转发速率之和不小于所述匹配流量速率;
28.流量转发模块,用于通过各个所述目标成员出口转发所述匹配流量。
29.在一种可能的实施例中,所述目标成员出口确定模块包括:
30.浮动数量判断单元,用于确定浮动数量是否满足所述速率条件,所述浮动数量初始时为预设初始值;如果所述浮动数量不满足所述速率条件,将所述浮动数量自加一,并返回执行所述确定浮动数量是否满足所述速率条件的步骤;
31.目标成员出口确定单元,用于如果所述浮动数量满足所述速率条件,从所有所述成员出口中选取优先级最高的所述浮动数量个成员出口,作为目标成员出口。
32.在一种可能的实施例中,所述流量转发模块包括:
33.实际转发速率确定单元,用于根据各个所述目标成员出口的优先级和额定转发速
率,确定各个所述目标成员出口对应的实际转发速率;所述实际转发速率与所述额定转发速率正相关,并且所述实际转发速率和所述优先级正相关,并且所有目标成员出口对应的实际转发速率之和等于所述匹配流量速率;
34.流量转发单元,用于通过各个所述目标成员出口按照各自对应的实际转发速率转发所述匹配流量。
35.在一种可能的实施例中,所述实际转发速率确定单元具体用于:
36.按照优先级由高到低所述目标成员出口的顺序,依次针对每个目标成员出口,如果所述目标成员出口的额定转发速率小于待分配速率,将出口的额定转发速率确定为所述目标成员出口对应的实际转发速率;如果所述目标成员出口的额定转发速率不小于所述待分配速率,将所述待分配速率确定为所述目标成员出口对应的实际转发速率;其中,所述待分配速率为所述匹配流量速率与所有已确定的实际转发速率之和的差值。
37.在一种可能的实施例中,所述流量转发单元包括:
38.处理比例确定子单元,用于确定各个所述目标成员出口对应的实际转发速率的比例,作为处理比例;
39.流量转发子单元,用于将所述匹配流量中的流量按照所述处理比例分配至各个所述目标成员出口进行转发。
40.本发明实施例有益效果:
41.本发明实施例提供的一种流量转发方法和装置,可以根据匹配流量的速率、成员出口的流量转发质量和额定转发速率,从所有成员出口中确定出一部分目标成员出口来转发匹配流量,而不是使用所有成员出口共同转发匹配流量,同时由于目标成员出口的额定转发速率之和不小于匹配速率,因此通过目标成员出口可以将接收到的匹配流量正常地转发出去,即本发明实施例可以在避免所有成员出口负载异常的前提下,仅使用所有成员出口中部分流量转发质量较低的成员出口进行流量的转发,降低了流量转发成本。
42.当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
43.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
44.图1为本发明实施例提供的一种流量转发方法的一种流程示意图;
45.图2为本发明实施例提供的另一种流量转发方法的一种流程示意图;
46.图3为本发明实施例提供的另一种流量转发方法的一种流程示意图;
47.图4为本发明实施例提供的另一种流量转发方法的一种流程示意图;
48.图5为本发明实施例提供的流量转发方法的实现过程示意图;
49.图6为本发明实施例提供的一种流量转发装置的一种结构示意图;
50.图7为本发明实施例提供的电子设备的一种结构示意图。
具体实施方式
51.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本技术所获得的所有其他实施例,都属于本发明保护的范围。
52.本发明的实施例提供了一种流量转发方法,本发明实施例提供的流量转发方法可以应用于任意具备流量转发功能的电子设备上,如图1所示,方法包括:
53.s101,确定与等价路由组匹配的匹配流量的速率,作为匹配流量速率。
54.s102,根据等价路由组中各成员出口的流量转发质量,确定各个成员出口的优先级。
55.s103,从所有成员出口中选取优先级最高的最小数量个成员出口,作为目标成员出口。
56.s104,通过各个目标成员出口转发匹配流量。
57.选用该实施例,可以根据匹配流量的速率、成员出口的流量转发质量和额定转发速率,从所有成员出口中确定出一部分目标成员出口来转发匹配流量,而不是使用所有成员出口共同转发匹配流量,同时由于目标成员出口的额定转发速率之和不小于匹配速率,因此通过目标成员出口可以将接收到的匹配流量正常地转发出去,即本发明实施例可以在避免所有成员出口负载异常的前提下,仅使用所有成员出口中部分流量转发质量较低的成员出口进行流量的转发,降低了流量转发成本。
58.在s101中,可以理解,不同等价路由组对应于不同需要转发的流量,因此,针对某一等价路由组来说,匹配流量是指需要通过该等价路由组转发的流量,匹配流量速率可以为电子设备实时检测到的匹配流量的速率。在一种可能的实施例中,由于匹配流量不断变化,因此匹配流量速率可能不断变化,若实时根据匹配流量速率的变化来从成员出口中确定目标成员出口,可能会导致频繁地确定目标成员出口,进而造成匹配流量的转发效率较低,因此,本发明可以按照预设周期来周期性检测匹配流量速率,并根据匹配流量速率确定目标成员出口,以避免因频繁确定目标成员出口导致流量的转发效率较低。
59.基于单位时间内接收到地匹配流量的数据量的变化,匹配流量的流量速率也会不断变化,本实施例可以在执行主体中增加能够统计流量速率的流量测速模块来实时测量匹配流量的流量速率,并将流量测速模块测量得到的流量速率作为匹配流量速率。也可以是对流量测速模块在历史时间段内多个时间节点测量得到的速率进行统计,并将统计结果作为匹配流量速率,统计包括但不限于:取最大值、取最小值、平均、取中位数等。
60.在s102中,成员出口可以是指构成等价路由组的所有出口,也可以是指构成等价路由组的部分出口,示例性的,成员出口可以是指构成等价路由组的所有出口中满足特定条件的部分出口。其中,特定条件可以用户根据实际需求和/或经验设置的,示例性的,出于提高数据安全性的考虑,成员出口可以是构成等价路由组的所有出口中安全性高于预设安全性阈值的部分出口。
61.流量转发质量是指成员出口转发匹配流量的质量,可以理解的是,通常情况下,一个成员出口的流量转发质量越低,该成员出口的流量转发成本就越低。根据各个成员出口的流量转发质量确定各个成员出口的优先级排序,由于流量转发质量和优先级负相关,可
以理解,一个成员出口的流量转发质量越低,该成员出口的优先级越高。
62.在s103中,上述成员出口的额定转发速率可以是一个成员出口的最大流量转发速率。而可以理解的是,由于在实际实施中,若成员出口的额定转发速率为该成员出口的最大流量转发速率,则从成员出口中确定的目标成员出口在转发匹配流量时可能一直工作在满负载状态,此时如果受到干扰则容易导致部分匹配流量无法正常转发完成的情况,即目标成员出口难以可靠地转发匹配流量。因此,在一种可能的实施例中,可以将各个成员出口的额定转发速率设置为略小于该成员出口的最大流量转发速率的值,例如,可以将额定转发速率设置为最大流量转发速率的80%、90%等等,来提高待流量转发的可靠性。
63.根据各个成员出口的优先级排序,可以从所有成员出口按照优先级从高到低的顺序选择出目标成员出口。可以理解的是,在从所有成员出口选择一部分目标成员出口对匹配流量进行转发的时候,需要被选择的所有目标成员出口的额定转发速率总和大于或等于匹配流量速率,才可以对匹配流量及时处理,保证网络可靠性。因此,在本步骤中,速率条件为所有目标成员出口的额定转发速率之和不小于匹配流量速率。示例性的,若共有3个成员出口分别为出口1、出口2和出口3,其额定转发速率都为5g/s,需要转发的匹配流量速率为10g/s,可以理解的是,此时任意两个成员出口都可以共同对匹配流量进行转发,而其中,由于出口1的优先级高于出口2,出口2的优先级高于出口3,按照本实施提供的方案,需要选择优先级最高的成员出口作为目标成员出口,且目标成员出口的总数量为应该满足所有目标成员出口的额定转发速率之和不小于匹配流量速率这个速率条件的最小值,即需要在满足速率条件的基础上,选择最小数量的成员出口作为目标成员出口,因此,可以选择优先级较高的出口1和出口2作为目标成员出口。
64.在一种可能的实施例中,匹配流量速率也可能大于所有成员出口的额定转发速率的总和,此时,可以使用全部的成员出口对匹配流量进行转发。
65.在s104中,由于所确定的目标成员出口的额定转发速率之和大于匹配速率,因此,使用所确定的目标成员出口转发匹配流量时可以对匹配流量进行及时转发,并且,又由于目标成员出口是按照与流量转发质量负相关的优先级进行选取的,因此,使用目标成员出口转发匹配流量时出口资源的利用率也会高于使用全部成员出口的出口资源利用率。
66.在一种可能的实施例中,如图2所示,从成员出口中选取优先级最高的多个成员出口,作为目标成员出口,可以包括:
67.s201,确定浮动数量是否满足速率条件。
68.浮动数量为从所有成员出口中选取的部分成员出口的数量,浮动数量初始时为预设初始值,预设初始值根据根据应用场景的不同可以不同,示例性的,在一种情况下,用户根据经验可以预估目标成员出口的数量不小于3,则可以将预设初始值设置为3。并且预设初始值也可以是3以外的其他数值,包括但不限于1、2、4、5等,本实施例对此不做任何限制。
69.在获得浮动数量之后,需要确定该浮动数量是否满足速率条件。可以理解,满足速率条件的浮动数量是指所有成员出口中优先级最高的该浮动数量个成员出口的额定转发速率之和不小于匹配流量速率。
70.s202,如果浮动数量不满足所述速率条件,将浮动数量自加一,并返回执行确定浮动数量是否满足速率条件的步骤。
71.示例性的,若预设初始值为1,则确定所有成员出口中优先级最高的一个成员出口
的额定转发速率是否不小于匹配流量速率,若额定转发速率小于匹配流量速率,则可以理解,此时浮动数量不满足速率条件,因此,需要给浮动数量加1,则此时,浮动数量变为2。相应的,需要继续判断所有成员出口中优先级排序第一和第二的成员出口(即最高的两个成员出口)的额定转发速率之和是否不小于匹配流量速率,如果不是,给浮动数量加1,继续判断浮动数量是否满足速率条件,直到浮动数量满足速率条件。
72.s203,如果浮动数量满足速率条件,从所有成员出口中选取优先级最高的浮动数量个成员出口,作为目标成员出口。
73.可以理解是,若浮动数量满足速率条件,则此时从所有成员出口中选取的优先级最高的浮动数量个成员出口的额定转发速率之和不小于匹配流量速率,可以可靠的转发匹配流量。并且,由于本实施例是从预设初始值个成员出口逐渐递增到最小数量个可以满足速率条件的浮动数量个成员出口,而从所有成员出口中选取优先级最高的浮动数量个成员出口,作为目标成员出口,也就是从所有成员出口中按照优先级从高到低的顺序选择了额定转发速率之和大于匹配流量速率的最小数量的目标成员出口。
74.可以理解,此时选取的目标成员出口中的每个出口的额定转发速率都被最大化利用,且这些目标成员出口是成员出口中优先级最高的,也就是流量转发质量最低的出端口。
75.选用该实施例,可以将额定转发速率之和刚好满足匹配流量的匹配流量速率且优先级最高的成员出口作为目标成员出口,在降低了流量转发成本的基础上,进一步的也根据匹配流量速率的大小适应性地调整了目标成员出口,减少了端口资源的浪费。
76.在一种可能的实施例中,由于各个目标成员出口的额定转发速率不同且优先级也不同,因此各个目标成员出口转发的匹配流量的数据量也可以不同,基于此,本发明提供了一种方法,如图3所示,通过所述目标成员出口转发所述匹配流量,可以包括:
77.s301,确定与等价路由组匹配的匹配流量的速率,作为匹配流量速率。
78.该步骤与前述s101相同,可以参见前述s101的相关说明,在此不再赘述。
79.s302,根据等价路由组中各成员出口的流量转发质量,确定各个成员出口的优先级。
80.该步骤与前述s102相同,可以参见前述s102的相关说明,在此不再赘述。
81.s303,从所有成员出口中选取优先级最高的最小数量个成员出口,作为目标成员出口。
82.该步骤与前述s103相同,可以参见前述s103的相关说明,在此不再赘述。
83.s304,根据各个目标成员出口的优先级和额定转发速率,确定各个目标成员出口对应的实际转发速率。
84.可以理解的是,目标成员出口是从多个成员出口中确定的部分出口,因此,在成员出口中各出端口的优先级已经确定的情况下,目标成员出口中各成员出口的优先级也是确定的。并且,不同的成员出口可以有不同的额定转发速率,而在成员出口的实际工作中,其实际转发速率会与其规定的额定转发速率可能存在区别,但是不论实际转发速率是否与额定转发速率相同,一个成员出口的额定转发速率越大,则该成员出口的实际转发速率也可以越大,因此,目标成员出口的实际转发速率也与额定转发速率正相关。所以,可以根据目标成员出口的优先级和额定转发速率共同确定目标成员出口的实际转发速率。
85.示例性的,从成员出口中共确定出d、e、f三个目标成员出口,其额定转发速率分别
为10g/s、5g/s、2g/s,流量转发质量为:出口f高于出口e高于出口d,因此,可以确定其优先级为顺序为,出口d优先级高于出口e高于出口f,匹配流量的匹配流量速率为16g/s。此时,结合优先级和额定转发速率来确定实际转发速率,由于实际转发速率与优先级和额定转发速率正相关,因此出口f的实际转发速率最低,出口d的实际转发速率可以为10g/s,出口e的实际转发速率可以为5g/s,出口f的1g/s。所有成员出口的实际转发速率之和为16g/s,等于匹配流量速率。
86.s305,通过各个目标成员出口按照各自对应的实际转发速率转发匹配流量。
87.选用该实施例,可以根据目标成员出口的优先级和额定转发速率两个影响因素来确定目标成员出口的实际转发速率,进一步的,使其按照该速率转发匹配流量,又由于实际转发速率与额定转发速率和优先级正相关,因此,使得优先级更高且额定转发速率更大的目标成员出口转发更多的匹配流量,在节约了网络资源的基础上,提高了使用目标成员出口转发流量的灵活性。
88.在一种可能的实施例中,根据各个目标成员出口的优先级和额定转发速率,确定各个目标成员出口对应的实际转发速率,可以包括:
89.按照优先级由高到低所述目标成员出口的顺序,依次针对每个目标成员出口,如果目标成员出口的额定转发速率小于待分配速率,将出口的额定转发速率确定为目标成员出口对应的实际转发速率;如果目标成员出口的额定转发速率不小于待分配速率,将待分配速率确定为目标成员出口对应的实际转发速率。
90.其中,待分配速率为匹配流量速率与所有已确定的实际转发速率之和的差值。
91.在本实施例中,由于选出的所有目标成员出口是额定速率之和刚好大于或等于匹配流量速率的,因此,针对优先级最高的目标成员出口,其待分配速率就为匹配流量速率,针对与优先级第二的目标成员出口,其待分配速率就为匹配流量速率减去优先级最高的目标成员出口的额定转发速率,以此类推,而在所有目标成员出口中优先级最低的目标成员出口对应的待分配速率就是匹配流量速率减去所有优先级不为最低的目标成员出口的额定转发速率之和的速率,优先级最低的目标成员出口对应的待分配速率是小于或等于其额定转发速率的。
92.可以理解,目标成员出口中优先级不为最低的目标成员出口都可以按照额定转发速率转发匹配流量,也就是说,优先级顺序不为目标成员出口中最后一位的其他所有目标成员出口都可以将额定转发速率作为实际转发速率转发匹配流量,优先级最低的目标成员出口则按照待分配速率转发匹配流量,即,将匹配流量速率减去上述优先级不为最低的目标成员出口的额定转发速率之和的速率作为优先级最低的目标成员出口的实际转发速率。
93.选用该实施例,可以使得目标成员出口按照其优先级顺序最大限度的转发匹配流量,使得优先级较高的目标成员出口更加完全的使用其流量转发性能,进一步的,提高了出口资源的利用率。
94.在一种可能的实施例中,即使各个目标成员出口的额定转发速率不同且优先级也不同,也有可能部分目标成员出口转发的匹配流量的数据量大小是相同的,例如,一个目标成员出口的额定转发速率较高但优先级较低,且另一个目标成员出口的额定转发速率较低但优先级较高,由于实际转发速率与额定转发速率和优先级正相关,因此,在这种情况下,这两个目标成员出口转发的匹配流量的数据量可能是相同的,此时,还是控制各个目标成
员出口按照对应的实际转发速率转发匹配流量。
95.在一种可能的实施例中,如图4所示,本发明还提供了一种流量转发方法,可以包括:
96.s401,确定与等价路由组匹配的匹配流量的速率,作为匹配流量速率。
97.该步骤与前述s101相同,可以参见前述s101的相关说明,在此不再赘述。
98.s402,根据等价路由组中各成员出口的流量转发质量,确定各个成员出口的优先级。
99.该步骤与前述s102相同,可以参见前述s102的相关说明,在此不再赘述。
100.s403,从所有成员出口中选取优先级最高的最小数量个成员出口,作为目标成员出口。
101.该步骤与前述s103相同,可以参见前述s103的相关说明,在此不再赘述。
102.s404,根据各个目标成员出口的优先级和额定转发速率,确定各个目标成员出口对应的实际转发速率。
103.该步骤与前述s304相同,可以参见前述s304的相关说明,在此不再赘述。
104.s405,确定各个目标成员出口对应的实际转发速率的比例,作为处理比例。
105.在确定目标成员出口的实际转发速率之后,可以将处各个目标成员出口的实际转发速率之比作为处理比例。可以理解的是,一个目标成员出口的实际转发速率越大,则该目标成员出口转发的匹配流量就越多,因此各个目标成员出口之间的实际转发速率的比例关系,就可以作为其转发匹配流量的比例关系。示例性的,共有三个目标成员出口a、b、c被确定的实际转发速率分别为20g/s、10g/s和5g/s,则处理比例就可以为4:2:1。
106.s406,将匹配流量中的流量按照处理比例分配至各个目标成员出口进行转发。
107.仍以前述的a、b、c三个目标成员出口为例,若匹配流量为42条流量,则控制目标成员出口按照处理比例转发匹配流量可以是,a出口转发24条流量,b出口转发12条流量,c出口转发6条流量。
108.可以理解的是,上述举例只是为了更加清楚地对本发明的实施例进行说明,对本发明的保护范围并不进行限定。
109.选用该实施例,可以使得目标成员出口按照其确定的实际转发速率确定处理比例,进一步确定各个目标成员出口的需要转发的部分匹配流量,因此,通过预设目标成员出口的优先级和额定转发速率,可以按照需求控制流量转发,进一步提高了流量转发的可靠性和灵活性。
110.为了更清楚的对本发明实施例提供的流量转发方法进行说明,下面将以一个具体的实现方式为例来进行说明:
111.在一种可能的实施例中,共有三个成员出口e、f、g,其额定转发速率分别为40g/s、20g/s和10g/s,成员出口的流量转发质量的大小关系是成员出口e<成员出口f=成员出口g,因此,成员出口的流量转发成本的大小关系是成员出口e<成员出口f=成员出口g,共有65条匹配流量需要转发。而匹配流量为匹配速率较大的流量,并且对转发质量不做要求,用户希望有限使用成本较低的成员出口e来转发流量,在成员出口e无法满足匹配流量速率时,再考虑使用成员出口f,当成员出口e和f都无法满足匹配流量速率时,再考虑使用成员出口g。可以理解,由于成员出口的流量转发质量的大小关系是成员出口e<成员出口f=成
员出口g因此成员出口的优先级e高于f高于g。
112.此时,可以先设置匹配流量速率的预设周期,例如,将预设周期设置为10s,若在第0秒时,确定出匹配流量速率为40g/s,此时由于优先级最高的成员出口e的额定转发速率已经等于匹配流量速率,因此,可以只选择成员出口e作为目标成员出口来转发流量,此时,目标成员出口e的处理比例为1,转发的流量就为65条,其他成员出口不进行流量转发。
113.若在第10秒时,确定出的匹配流量速率为50g/s,可以理解,此时,匹配流量速率已经大于成员出口e的额定转发速率,因此,此时需要选择优先级较高的成员出口e和成员出口f作为目标成员出口,成员出口e的额定转发速率为40g/s,而成员出口f的额定转发速率为20g/s,满足额定转发速率之和不小于50g/s的条件,将这两个成员出口作为目标成员出口完全可以满足匹配流量的转发需求。此时,基于额定转发速率和优先级确定目标成员出口的实际转发速率,由于额定转发速率和优先级都与实际转发速率正相关,可以理解,目标成员出口e的实际转发速率定然大于目标成员出口f的实际转发速率,因此,目标成员出口e的实际转发速率可以为40g/s,则目标成员出口f的实际转发速率就可以为10g/s,则处理比例就为40:10即4:1,因此,目标成员出口e可以转发52条流量,目标成员出口f可以转发13条流量,成员出口g不进行使用。
114.若在第20秒时,确定出的匹配流量速率为65g/s,可以理解,此时需要将成员出口e、f、g都作为目标成员出口才可以满足匹配流量的转发需求,即额定转发速率之和大于或等于匹配流量速率。此时,基于额定转发速率和优先级确定各目标成员出口的实际转发速率,可以理解,目标成员出口e的实际转发速率定然大于目标成员出口f大于目标成员出口g。则目标成员出口e的实际转发速率可以为40g/s,目标成员出口f的实际转发速率可以为20g/s,目标成员出口g的实际转发速率可以为5g/s,因此,得到的处理比例为40:20:5,则按照处理比例转发匹配流量时,目标成员出口e可以转发40条流量,目标成员出口f可以转发20条流量,目标成员出口f可以转发5条流量。
115.因此,选用本发明的实施例,可以根据匹配流量的匹配流量速率先确定出目标成员出口来避免网络资源的浪费,并且可以根据目标成员出口的优先级优先使用流量转发成本更低的出端口来转发流量,降低了流量转发成本。
116.为了更清楚的对本发明实施例提供的流量转发方法的实现过程进行说明,下面将以一个具体的实现方式为例来进行说明,参见图5:
117.当有待转发流量发往等价路由组等待转发时,等价路由组中的流量匹配单元先确定与其匹配的匹配流量,然后通过流量速率统计单元实时统计该匹配流量的速率,作为匹配流量速率。
118.在确定匹配流量速率后,等价路由组就可以根据匹配流量速率和各成员出口已经确定的优先级顺序按照预设周期来定期更新所有成员出口中的目标成员出口,并根据各目标成员出口的额定转发速率确定目标成员出口的实际转发速率。目标成员出口匹配流量分配单元可以将与等价路由组匹配后的匹配流量按照根据实际转发速率确定的处理比例分配给各个目标成员出口进行转发。
119.在一种可能的实施例中,如图5所示,等价路由组中的匹配流量哈希值计算模块可以获得待转发流量的哈希值,并从流量匹配单元获取匹配流量的条数,然后计算出匹配流量的哈希值。流量匹配单元在确定了匹配流量之后也可以确定各匹配流量在等价路由组中
对应的初始位置,而匹配流量位置计算单元就可以根据匹配流量的初始位置和匹配流量的哈希值确定出各匹配流量最终对应的位置。目标成员出口匹配流量分配单元可以根据目标成员出口的更新情况,确定各目标成员出口的实际转发速率,进一步确定处理比例,根据所确定出的处理比例和匹配流量对应的最终位置为各匹配流量分配目标成员出口进行转发。
120.在一种可能的实施例中,也可以使用按匹配流量中的报文进行逐包轮询分担的方式,使得目标成员出口匹配流量分配单元根据确定出的处理比例确定各个目标成员出口需要对应转发的匹配流量,本发明对此并不限定。
121.选用该实施例,可以在避免所有成员出口负载异常的前提下,仅使用所有成员出口中部分流量转发质量较低的成员出口进行流量的转发,降低了流量转发成本,提高了出口资源利用率。
122.参见图6,图6所示为本发明实施例提供的一种流量转发装置的结构示意图,可以包括:
123.匹配流量速率确定模块601,用于确定与等价路由组匹配的匹配流量的速率,作为匹配流量速率;
124.优先级确定模块602,用于根据所述等价路由组中各成员出口的流量转发质量,确定各个所述成员出口的优先级,所述优先级与所述流量转发质量负相关;
125.目标成员出口确定模块603,用于从所有所述成员出口中选取优先级最高的最小数量个成员出口,作为目标成员出口,其中,所述最小数量为满足速率条件的数量的最小值,所述速率条件为:所有所述成员出口中优先级最高的该数量个成员出口的额定转发速率之和不小于所述匹配流量速率;
126.流量转发模块604,用于通过各个所述目标成员出口转发所述匹配流量。
127.在一种可能的实施例中,所述目标成员出口确定模块603包括:
128.浮动数量判断单元,用于确定浮动数量是否满足所述速率条件,所述浮动数量初始时为预设初始值;如果所述浮动数量不满足所述速率条件,将所述浮动数量自加一,并返回执行所述确定浮动数量是否满足所述速率条件的步骤;
129.目标成员出口确定单元,用于如果所述浮动数量满足所述速率条件,从所有所述成员出口中选取优先级最高的所述浮动数量个成员出口,作为目标成员出口。
130.在一种可能的实施例中,所述流量转发模块604包括:
131.实际转发速率确定单元,用于根据各个所述目标成员出口的优先级和额定转发速率,确定各个所述目标成员出口对应的实际转发速率;所述实际转发速率与所述额定转发速率正相关,并且所述实际转发速率和所述优先级正相关,并且所有目标成员出口对应的实际转发速率之和等于所述匹配流量速率;
132.流量转发单元,用于通过各个所述目标成员出口按照各自对应的实际转发速率转发所述匹配流量。
133.在一种可能的实施例中,所述实际转发速率确定单元具体用于:
134.按照优先级由高到低所述目标成员出口的顺序,依次针对每个目标成员出口,如果所述目标成员出口的额定转发速率小于待分配速率,将出口的额定转发速率确定为所述目标成员出口对应的实际转发速率;如果所述目标成员出口的额定转发速率不小于所述待分配速率,将所述待分配速率确定为所述目标成员出口对应的实际转发速率;其中,所述待
分配速率为所述匹配流量速率与所有已确定的实际转发速率之和的差值。
135.在一种可能的实施例中,所述流量转发单元包括:
136.处理比例确定子单元,用于确定各个所述目标成员出口对应的实际转发速率的比例,作为处理比例;
137.流量转发子单元,用于将所述匹配流量中的流量按照所述处理比例分配至各个所述目标成员出口进行转发。
138.本发明实施例还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
139.存储器703,用于存放计算机程序;
140.处理器701,用于执行存储器703上所存放的程序时,实现上述任一流量转发方法的步骤。
141.上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
142.通信接口用于上述电子设备与其他设备之间的通信。
143.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non

volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
144.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
145.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一流量转发方法的步骤。
146.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一流量转发方法。
147.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者
是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
148.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
149.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质以及计算机程序产品的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
150.以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献