用于聚合链路的流量分配方法、装置、光线路终端及介质与流程

文档序号:29034545发布日期:2022-02-25 17:35阅读:257来源:国知局
用于聚合链路的流量分配方法、装置、光线路终端及介质与流程

1.本发明实施例涉及光线路终端olt技术领域,尤其涉及一种用于聚合链路 的流量分配方法、装置、光线路终端及介质。


背景技术:

2.随着5g技术的推广,各种高带宽需求的app如雨后春笋般不断涌现,这对 综合接入媒体网关设备等olt局端设备的数据转发提出了更高的要求。而在数 据转发过程中特别是超大流量的数据转发,即便是超强能力的转发芯片也可能会 面临带宽不够,网络传输的可靠性不足和流量阻塞链路等问题。链路聚合技术提 供了一个解决方案,链路聚合技术是将多个物理链路聚合到一起形成一条完整的 逻辑链路。聚合后的链路带宽将会是各个物理端口带宽的总和,因此数据转发通 道的带宽被扩展,解决了带宽的瓶颈;另外将多条物理链路聚合在一起形成逻辑 通道,意味着即便因为某种原因导致其中一条链路受损,数据会被调整到使用其 它链路来传输后完整地送到千家万户,毫无疑问地提高了网络的可靠性,解决了 链路阻塞引发的连锁式风险。
3.但是ieee802.3ad虽然定义了链路聚合的框架结构和规则,但是并没有定义 使用何种方法来实施。多个物理端口做了链路聚合后可能会出现如下情景:高负 荷传输的端口可能会遇到高突发流量,导致该端口流量超限;某些物理端口高负 荷转发数据而其他物理端口长期处于低流量负载、带宽没有被充分利用的状态, 造成了资源的浪费。因此,如何动态分配聚合链路各个物理端口的流量,尽可能 减小各个物理端口的负荷差,成为亟待解决的问题。


技术实现要素:

4.本说明书一个或多个实施例的目的是提供一种用于聚合链路的流量分配方 法、装置、光线路终端olt及介质,可以动态分配聚合链路各个物理端口的流 量,减小各个物理端口的负荷差,减少资源浪费。
5.为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
6.第一方面,提供了一种用于聚合链路的流量分配方法,所述方法包括:至少 基于端口上一个监控周期内的端口流量预测当前监控周期内所述端口的预测平 均速率和所有所述端口的速率平均值,所述速率平均值为所述预测平均速率的平 均值;将待调整端口当前监控周期内的端口流量按照负荷分担元调整至被调整端 口,其中所述负荷分担元包括所述端口流量中不同速率的预设报文长度区间,所 述待调整端口为所述端口中所述预测流量速率大于所述速率平均值的端口,所述 被调整端口为所述端口中所述预测流量速率小于所述速率平均值的端口。
7.第二方面,提出了一种用于聚合链路的流量分配装置,所述装置包括:速率 预测模块,用于至少基于所述端口上一个监控周期内的端口流量预测当前监控周 期内所述端口的预测平均速率和所有所述端口的速率平均值,所述速率平均值为 所述预测平均速率
的平均值;调整模块,用于将待调整端口当前监控周期内的端 口流量按照负荷分担元调整至被调整端口,其中所述负荷分担元包括所述端口流 量中不同速率的预设报文长度区间,所述待调整端口为所述端口中所述预测流量 速率大于所述速率平均值的端口,所述被调整端口为所述端口中所述预测流量速 率小于所述速率平均值的端口。
8.第三方面,提出了一种光线路终端,所述光线路终端包括如上文所述用于聚 合链路的流量分配装置。
9.第四方面,提出了一种储存介质,用于计算机可读存储,所述存储介质存储 有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行时, 实现如上文所述用于聚合链路的流量分配方法的步骤。
10.由以上本说明书一个或多个实施例提供的技术方案可见,本发明实施例提供 的用于聚合链路的流量分配方法利用端口的至少上一个监控周期内的端口流量 预测当前监控周期内端口的预测平均速率和所有端口的速率平均值,并且将预测 平均速率大于速率平均值的端口作为待调整端口,预测平均速率小于速率平均值 的端口作为被调整端口,目的是将待调整端口的端口流量按照负荷分单元为调整 粒度调整至被调整端口,负荷分单元可以包括端口流量中不同速率的预设报文长 度区间,可以按照端口流量中不同速率的预设报文长度区间进行调整,可以动态 分配聚合链路各个物理端口的流量,减小各个物理端口的负荷差,减少资源浪费。
附图说明
11.为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下 面将对一个或多个实施例或现有技术描述中所需要使用的附图作简单地介绍,显 而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域 普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得 其他的附图。
12.图1是本发明实施例提供一种用于聚合链路的流量分配方法的步骤示意图。
13.图2是本发明实施例提供另一种用于聚合链路的流量分配方法的步骤示意 图。
14.图3是本发明实施例提供又一种用于聚合链路的流量分配方法的步骤示意 图。
15.图4是本发明实施例提供又一种用于聚合链路的流量分配方法的步骤示意 图。
16.图5是本发明实施例提供又一种用于聚合链路的流量分配方法的步骤示意 图。
17.图6是本发明实施例提供又一种用于聚合链路的流量分配方法的步骤示意 图。
18.图7是本发明实施例提供又一种用于聚合链路的流量分配方法的步骤示意 图。
19.图8是本发明实施例提供又一种用于聚合链路的流量分配方法的步骤示意 图。
20.图9是本发明实施例提供一种用于聚合链路的流量分配装置的结构示意图。
21.图10是本发明实施例提供一种光线路终端的结构示意图。
22.图11是本发明实施例提供又一种用于聚合链路的流量分配方法中流量预测 示意图。
23.图12是本发明实施例提供一种用于聚合链路的流量分配方法中流量调整示 意图。
具体实施方式
24.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本 说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案 进行清楚、完整地描述,显然,所描述的一个或多个实施例仅仅是本说明书一部 分实施例,而不是全部的实施例。基于本说明书中的一个或多个实施例,本领域 普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属 于本文件的保护范围。
25.本发明实施例提供的一种用于聚合链路的流量分配方法适用于聚合链路,可 以在聚合链路的各个物理端口之间动态调整端口流量,实现了聚合链路的流量动 态分配,减小各个物理端口的负荷差。下面将详细地描述本说明书提供的用于聚 合链路的流量分配方法及其各个步骤。
26.需要说明的是,本发明实施例提供的用于聚合链路的流量分配方法中聚合链 路的各个物理端口在当前监控周期下总的端口流量保持不变的情况下在各个端 口之间动态调整部分物理端口的端口流量,待调整端口和被调整端口均是聚合链 路上的端口。
27.实施例一
28.参照图1所示,为本发明实施例提供的一种用于聚合链路的流量分配方法的 步骤示意图。可以理解的是,本发明实施例提供的用于聚合链路的流量分配方法 适用于具有聚合链路的光线路终端olt。该用于聚合链路的流量分配方法,包括 以下步骤:
29.步骤10:至少基于端口上一个监控周期内的端口流量预测当前监控周期内 端口的预测平均速率和所有端口的速率平均值,速率平均值为预测平均速率的平 均值;
30.本发明实施例的新颖之处一是在于可以根据历史端口流量预测当前监控周 期内端口的预测平均速率,满足复杂流量场的流量需求。通过当前网络监控模块 可以直接获取各个端口的端口流量,不必引入额外的计算开销,为端口流量的快 速分配节省了时间。二是根据报文长度划分负荷分担元,采用负荷分担元作为调 整粒度对各个端口的端口流量进行分配,而当前的网络监控模块可以直接获取报 文长度的统计,同样为端口流量的快速分配节省了时间。
31.当前网络监控模块可以周期性地获取聚合链路中每一个端口的流量统计信 息和每一个端口流量中报文长度的统计信息。当前监控周期内端口的预测平均速 率是该端口在当前监控周期内端口流量的通过率,即当前监控周期内端口流量总 和除以当前监控周期。
32.从当前网络监控模块中读取每一个端口的流量统计信息后,计算在上一个监 控周期内每一个端口的端口流量的平均速率,将一个监控周期内对于一个端口的 端口流量的平均速率视为一个采样样本,至少可以基于历史出现的上一个监控周 期的端口流量的平均速率预测当前监控周期内端口的预测平均速率,并且可以基 于每一个端口的预测平均速率得到所有端口的速率平均值,为下面待调整端口和 被调整端口的区分做准备。
33.步骤20:将待调整端口当前监控周期内的端口流量按照负荷分担元调整至 被调整端口,其中负荷分担元包括端口流量中不同速率的预设报文长度区间,待 调整端口为端口中预测流量速率大于速率平均值的端口,被调整端口为端口中预 测流量速率小于速率平均值的端口。
34.当前的网络监控模块周期性地获取每一个端口的流量统计信息和每一个端 口流
量中报文长度的统计信息。基于上述每一个端口流量中报文长度的统计信息 可以计算出当前监控周期内每一个预设报文长度区间的速率,预设报文长度区间 可以根据流量分配要求设定比如每次需要调整的负荷分担元的粒度大一点可以 将预设报文长度区间设定的报文长度范围大一些,反之亦然。预设报文长度区间 的速率是当前监控周期内该预设报文长度区间内不同长度报文的通过率,即当前 监控周期内不同长度报文的流量总和除以当前监控周期。
35.待调整端口当前监控周期内的预测平均速率大于速率平均值,因此待调整端 口在当前监控周期内的端口流量需要调整,被调整端口则在当前监控周期内的端 口流量需要从待调整端口调整一些过来,需要与待调整端口分担流量。
36.预设报文长度区间的定义可以参见表1,表1中对不同的预设报文长度区间 做了编码id方便后续的调用,表1中不同速率的预设报文长度区间成为流量分 配可以调整的最小颗粒度。
37.表1
38.预设报文长度区间预设报文长度区间id速率(0,64]1rate_1(64,128]2rate_2(128,256]3rate_3(256,512]4rate_4(512,1024]5rate_5(1024,1500]6rate_6
39.参见图2所示,在一些实施例中,本发明实施例提供的流量分配方法中,步 骤10:至少基于端口上一个监控周期内的端口流量预测当前监控周期内端口的 预测平均速率,具体包括:
40.步骤100:基于端口流量获取端口的n个采样样本,n个采样样本包括上一 个监控周期在内的n个监控周期内端口流量的平均速率;
41.可以根据每个端口的流量统计信息计算出在上一个监控周期内每个端口的 平均速率,即该上一个监控周期内的流量总和除以该一个监控周期。将上一个监 控周期内的平均速率视为一个采样样本,将包括上一个监控周期在内的若干个监 控周期视为一个采样时间窗口。当监控时间累计达到有效采样时间阈值时得到n 个数据样本,对该n个数据样本建立最小二乘数学模型,利用最小二乘数学模 型预测当前监控周期内每个端口的预测平均速率。
42.步骤110:基于n个采样样本预测当前监控周期内端口的预测平均速率。
43.获取n个采样样本后可以基于最小二乘数学模型或者其他数学算法对当前 监控周期内端口流量的预测平均速率进行预测,满足复杂流量场的流量需求。
44.具体的流量分配方法的执行步骤可以参见下面的一个示例:
45.初始化网络监控模块的监控参数,监控周期配置为t秒,缺省为30s;有效 采样时间阈值为t
sample
秒,缺省为300s;采样时间窗口为n
×
t秒,n缺省为10; 监控周期的序号因变量为n,初始化为1。定义负荷分担元为端口进行负荷分配 时能够调整的最小单元,这里为报文长度区间,初始化报文长度区间表如表1 所示。
46.开始启动网络监控模块,当前开始时间记为t
start
,获取端口号,假设为 p={p1,...,pn}。
47.针对第一个端口p1,获取第一个监控周期内的流量,记为cnt
1n
,计算该端口在该监控周 期内的平均速率为rate
1n
=cnt
1n
/t,采用同样的方法计算其他端口的平均速率,平均速率作 为采样样本的值存储到内存。
48.判定n是否小于n,如果小于n等待下一个监控周期到来,并将n=n+1,跳 转到上一步骤继续执行,否则执行下一步骤。
49.按照最小二乘数学模型,以rate
1(n-1)
,...,rate
1(n-n)
为样本,预测出第一个端 口在n+1个监控周期的预测平均速率比如采用历史n个采样样本得到当前监控 周期内端口的预测平均速率,记为rate
1(n+1)
。采用同样的方法预测出其他端口在 n+1个监控周期比如当前监控周期的预测平均速率,这样得到预测平均速率集合 50.参见图3所示,在一些实施例中,基于n个采样样本利用最小二乘数学模 型预测当前监控周期内端口的预测平均速率之后,本发明实施例提供的流量分配 方法,还包括:
51.步骤120:分别得到所有端口的预测平均速率;
52.正如上文所述可以基于采集的历史n个采样样本利用最小二乘数学模型预 测所有端口在当前监控周期内的预测平均速率,参见图11所示。
53.步骤130:对所有端口的预测平均速率求平均值得到速率平均值;
54.对得到的所有端口在当前监控周期内的预测平均速率求平均值得到速率平 均值,目的是基于所有端口的预测平均速率和速率平均值区分出待调整端口和被 调整端口。
55.步骤140:基于预测平均速率和速率平均值确定待调整端口和被调整端口。
56.待调整端口为端口中预测流量速率大于速率平均值的端口,被调整端口为端 口中预测流量速率小于速率平均值的端口。确定出待调整端口和被调整端口的目 的是实现聚合链路流量的重新分配。待调整端口当前监控周期内的预测平均速率 大于速率平均值,因此待调整端口在当前监控周期内的端口流量需要调整,被调 整端口则在当前监控周期内的端口流量需要从待调整端口调整一些过来,需要与 待调整端口分担流量。
57.参见图4所示,在一些实施例中,步骤20:将待调整端口当前监控周期内 的端口流量按照负荷分担元调整至被调整端口,其中负荷分担元包括端口流量中 不同速率的预设报文长度区间之前,本发明实施例提供的流量分配方法,还包括:
58.步骤30:将所有端口按照预测平均速率从大到小排序,形成端口集合;
59.按照预测平均速率从大到小对所有端口进行排序形成端口集合,记该集合为 c1。
60.步骤40:从端口集合中顺次选取待调整端口后,基于端口流量中报文的长 度计算当前监控周期内待调整端口的报文所属预设报文长度区间的速率,直至得 到所有待调整端口的报文所属预设报文长度区间的速率。
61.当前监控周期内统计端口流量中报文的长度可以相应地统计出报文所属预 设报文长度区间的流量除以当前监控周期时间得到当前监控周期内报文所属预 设报文长度区间的速率。因此获取一个端口在当前监控周期的每个负荷分担元的 流量,方法类似于监控周期内端口流量的统计,然后依次计算出每个负荷分担元 的速率,并将每一个端口的端口流量中所有负荷分单元按照速率从小到大排序。
62.假设记为:rate_elem
p1
={rate
p1,len1
,rate
p1,len2
,rate
p1,len3
,rate
p1,len4
}。对其他端 口采用同样的操作方法计算出其他端口的端口流量中所有负荷分担元的速率并 且按照速率从小到大的顺序排序。采用上面的方法可以得到所有的待调整端口的 报文所属预设报文长度区间的速率。
63.参见图5所示,在一些实施例中,本发明实施例提供的流量分配方法,步骤 20:将待调整端口当前监控周期内的端口流量按照负荷分担元调整至被调整端口, 其中负荷分担元包括端口流量中不同速率的预设报文长度区间,待调整端口为端 口中预测流量速率大于速率平均值的端口,被调整端口为端口中预测流量速率小 于速率平均值的端口,具体包括:
64.步骤200:按照预设报文长度区间的速率由小到大顺次将端口流量以预设报 文长度区间为粒度从待调整端口调整至被调整端口;
65.如果报文长度单一,则只有一个预设报文长度区间,并且该预设报文长度区 间只有一个速率,因此只能按照该单一速率的单一预设报文长度区间作为调整粒 度将待调整端口的端口流量进行分配。
66.从所有的端口中取出一个端口比如可以从端口集合c1中取出第一个端口, 该第一个端口的端口号,记为p
balance_1
,由于端口集合c1是按照预测平均速率从 大到小对所有端口进行排序,第一个端口在当前监控周期内的预测平均速率最大, 因此第一个端口在当前监控周期的负荷是最大的,需要首先被分担。从第一个端 口p
balance_1
的所有负荷分单元rate_elem
pbalance_1
中选择负荷分担元进行流量分配, 并且记下负荷分担元的编号id、待调整端口的端口号p
balance_1
和对应的被调整端 口的端口号的对应关系,直至第一个端口的预测平均速率被分配到速率平均值附 近。参见图12所示,按照预设报文长度区间的速率由小到大顺次将第一端口的 端口流量以预设报文长度区间为粒度从待调整端口调整至被调整端口,图12最 左边的方向柱以不同颜色的条形块表示不同速率的预设报文长度区间,其中面积 越小的条形块表示速率越小,对于第一端口的端口流量依次从预设报文长度区间 的速率由小到大顺次从第一个端口调整至被调整端口,被调整端口优先选择当前 监控周期内预测平均速率与速率平均值相差最大的端口。做重复操作,直到第一 端口的预测平均速率被分配到速率平均值附近。做重复操作,直到所有的被调整 端口的预测平均速率全部被分配到速率平均值附近。
67.步骤210:形成待调整端口、被调整端口和预设报文长度区间的编号id的 对应关系。
68.待调整端口、被调整端口和预设报文长度区间的编号id的对应关系可以作 为聚合链路的均匀负荷分配表如表2所示。
69.表2
70.待调整端口预设报文长度区间id被调整端口src_port11id_n.........port_n4dest_port_n
71.在当前监控周期内获取用户数据报文后可以在统计每一个待调整端口的端 口流量中不同速率的报文所属的预设报文长度区间后查询均匀负荷分配表获得 被调整端口,
从而可以对聚合链路上所有物理端口进行流量分配。
72.参见图6所示,在一些实施例中,本发明实施例提供的流量分配方法,步骤 200:按照预设报文长度区间的速率由小到大顺次将端口流量以预设报文长度区 间为粒度从待调整端口调整至被调整端口,具体包括:
73.步骤201:采用贪心算法将端口流量以预设报文长度区间为粒度从待调整端 口调整至被调整端口,直至待调整端口的预测平均速率接近速率平均值。
74.参见图12所示,按照贪心算法将待调整端口的端口流量以预设报文长度区 间为粒度调整至被调整端口,并且记下负荷分担元的编号id、待调整端口和对 应的被调整端口号。贪心算法可以保证待调整端口的预测平均速率尽可能地接近 速率平均值。
75.参见图7所示,在一些实施例中,步骤220:形成待调整端口的端口、被调 整端口的端口和预设报文长度区间的编号id的对应关系之后,本发明实施例提 供的流量分配方法,还包括:
76.步骤230:基于端口流量中报文携带的参数确定报文的源端口、报文所属的 预设报文长度区间及预设报文长度区间的编号id;
77.提取端口流量中报文携带的参数比如报文头头的len字段获取聚合链路的物 理端口个数,该报文的源端口,并且基于len字段判断该报文所属预设报文长度 区间。预设报文长度区间可以设定(0,64],(64,128],(128,256],(256,512], (512,1024],(1024,1518]六个区间,获得该报文所属预设报文长度区间的编号 id,比如(0,64]区间的id为1,(64,128]为2,参见表1所示。
78.步骤240:判断对应关系中是否存在源端口和报文所属预设报文长度区间的 编号id;
79.以该报文的参数获取的源端口和报文所属预设报文长度区间的编号id作为 索引查询对应关系(参见表2)中是否存在相同的待调整端口和预设报文长度区 间的编号id。
80.步骤250:如果存在,则将端口流量中报文的预设目的转发端口替换为对应 关系中待调整端口的端口和预设报文长度区间的编号id对应的被调整端口的端 口。
81.如果存在则从对应关系中取出被调整端口作为预设目的转发端口,否则保持 原有的预设目的转发端口dest不变,完成报文的转发。
82.参见图8所示,在一些实施例中,步骤240:判断对应关系中是否存在源端 口和报文所属预设报文长度区间的编号id之前,本发明实施例提供的流量分配 方法,还包括:
83.步骤260:基于聚合链路的负荷分担模式进行crc运算;
84.原有的目的转发端口dest的获得可以是基于聚合链路的负荷分担模式来确 定。如果负荷分担模式基于源端口的mac地址,取源端口的mac地址做crc32 运算,将得到的结果记为mac_crc,然后将其对聚合链路的所有端口的个数取模 作为预设目的转发端口dest,即:dest=mac_crc%port_num。
85.步骤270:根据运算结果得到端口流量的预设目的转发端口。
86.预设目的转发端口dest是根据聚合链路的负荷分担模式得到的,不同的负 荷分担模式得到的预设目的转发端口不同,但是只要对应关系中存在与报文的源 端口和报文所属预设报文长度区间的编号id相同的待调整端口和预设报文长度 区间的编号id,则将对应关系中对应的被调整端口作为预设目的转发端口。
87.通过以上分析可以看出,本发明实施例提供的用于聚合链路的流量分配方法 利用端口的至少上一个监控周期内的端口流量预测当前监控周期内端口的预测 平均速率和所有端口的速率平均值,并且将预测平均速率大于速率平均值的端口 作为待调整端口,预测平均速率小于速率平均值的端口作为被调整端口,目的是 将待调整端口的端口流量按照负荷分单元为调整粒度调整至被调整端口,负荷分 单元可以包括端口流量中不同速率的预设报文长度区间,可以按照端口流量中不 同速率的预设报文长度区间进行调整,可以动态分配聚合链路各个物理端口的流 量,减小各个物理端口的负荷差,减少资源浪费。
88.实施例二
89.参照图8所示,为本发明实施例提供的一种用于聚合链路的流量分配装置 10,该装置包括:速率预测模块100和调整模块120。其中:
90.速率预测模块100,用于至少基于端口上一个监控周期内的端口流量预测当 前监控周期内端口的预测平均速率和所有端口的速率平均值,速率平均值为预测 平均速率的平均值;
91.本发明实施例的新颖之处一是在于可以根据历史端口流量预测当前监控周 期内端口的预测平均速率,满足复杂流量场的流量需求。通过当前网络监控模块 可以直接获取各个端口的端口流量,不必引入额外的计算开销,为端口流量的快 速分配节省了时间。二是根据报文长度划分负荷分担元,采用负荷分担元作为调 整粒度对各个端口的端口流量进行分配,而当前的网络监控模块可以直接获取报 文长度的统计,同样为端口流量的快速分配节省了时间。
92.当前网络监控模块可以周期性地获取聚合链路中每一个端口的流量统计信 息和每一个端口流量中报文长度的统计信息。当前监控周期内端口的预测平均速 率是该端口在当前监控周期内端口流量的通过率。
93.从当前网络监控模块中读取每一个端口的流量统计信息后,计算在上一个监 控周期内每一个端口的端口流量的平均速率,将一个监控周期内对于一个端口的 端口流量的平均速率视为一个采样样本,至少可以基于历史出现的上一个监控周 期的端口流量的平均速率预测当前监控周期内端口的预测平均速率,并且可以基 于每一个端口的预测平均速率得到所有端口的速率平均值,为下面待调整端口和 被调整端口的区分做准备。
94.调整模块120,用于将待调整端口当前监控周期内的端口流量按照负荷分担 元调整至被调整端口,其中负荷分担元包括端口流量中不同速率的预设报文长度 区间,待调整端口为端口中预测流量速率大于速率平均值的端口,被调整端口为 端口中预测流量速率小于速率平均值的端口。
95.当前的网络监控模块周期性地获取每一个端口的流量统计信息和每一个端 口流量中报文长度的统计信息。基于上述每一个端口流量中报文长度的统计信息 可以计算出当前监控周期内每一个预设报文长度区间的速率,预设报文长度区间 可以根据流量分配要求设定比如每次需要调整的负荷分担元的粒度大一点可以 将预设报文长度区间设定的报文长度范围大一些,反之亦然。预设报文长度区间 的速率是当前监控周期内该预设报文长度区间内不同报文长度的通过率。
96.待调整端口当前监控周期内的预测平均速率大于速率平均值,因此待调整端 口在当前监控周期内的端口流量需要调整,被调整端口则在当前监控周期内的端 口流量需
要从待调整端口调整一些过来,需要与待调整端口分担流量。
97.预设报文长度区间的定义可以参见表1,表1中对不同的预设报文长度区间 做了编码id方便后续的调用,表1中不同速率的预设报文长度区间成为流量分 配可以调整的最小颗粒度。
98.表3
99.预设报文长度区间预设报文长度区间id速率(0,64]1rate_1(64,128]2rate_2(128,256]3rate_3(256,512]4rate_4(512,1024]5rate_5(1024,1500]6rate_6
100.通过以上分析可以看出,本发明实施例提供的用于聚合链路的流量分配方法 利用端口的至少上一个监控周期内的端口流量预测当前监控周期内端口的预测 平均速率和所有端口的速率平均值,并且将预测平均速率大于速率平均值的端口 作为待调整端口,预测平均速率小于速率平均值的端口作为被调整端口,目的是 将待调整端口的端口流量按照负荷分单元为调整粒度调整至被调整端口,负荷分 单元可以包括端口流量中不同速率的预设报文长度区间,可以按照端口流量中不 同速率的预设报文长度区间进行调整,可以动态分配聚合链路各个物理端口的流 量,减小各个物理端口的负荷差,减少资源浪费。
101.实施例三
102.参见图10所示,为本发明实施例提供的一种光线路终端1,所述光线路终 端包括如上文所述用于聚合链路的流量分配装置10。该用于聚合链路的流量分 配装置10包括:速率预测模块100和调整模块120。其中:
103.速率预测模块100,用于至少基于端口上一个监控周期内的端口流量预测当 前监控周期内端口的预测平均速率和所有端口的速率平均值,速率平均值为预测 平均速率的平均值;
104.本发明实施例的新颖之处一是在于可以根据历史端口流量预测当前监控周 期内端口的预测平均速率,满足复杂流量场的流量需求。通过当前网络监控模块 可以直接获取各个端口的端口流量,不必引入额外的计算开销,为端口流量的快 速分配节省了时间。二是根据报文长度划分负荷分担元,采用负荷分担元作为调 整粒度对各个端口的端口流量进行分配,而当前的网络监控模块可以直接获取报 文长度的统计,同样为端口流量的快速分配节省了时间。
105.当前网络监控模块可以周期性地获取聚合链路中每一个端口的流量统计信 息和每一个端口流量中报文长度的统计信息。当前监控周期内端口的预测平均速 率是该端口在当前监控周期内端口流量的通过率。
106.从当前网络监控模块中读取每一个端口的流量统计信息后,计算在上一个监 控周期内每一个端口的端口流量的平均速率,将一个监控周期内对于一个端口的 端口流量的平均速率视为一个采样样本,至少可以基于历史出现的上一个监控周 期的端口流量的平均速率预测当前监控周期内端口的预测平均速率,并且可以基 于每一个端口的预测平
均速率得到所有端口的速率平均值,为下面待调整端口和 被调整端口的区分做准备。
107.调整模块120,用于将待调整端口当前监控周期内的端口流量按照负荷分担 元调整至被调整端口,其中负荷分担元包括端口流量中不同速率的预设报文长度 区间,待调整端口为端口中预测流量速率大于速率平均值的端口,被调整端口为 端口中预测流量速率小于速率平均值的端口。
108.当前的网络监控模块周期性地获取每一个端口的流量统计信息和每一个端 口流量中报文长度的统计信息。基于上述每一个端口流量中报文长度的统计信息 可以计算出当前监控周期内每一个预设报文长度区间的速率,预设报文长度区间 可以根据流量分配要求设定比如每次需要调整的负荷分担元的粒度大一点可以 将预设报文长度区间设定的报文长度范围大一些,反之亦然。预设报文长度区间 的速率是当前监控周期内该预设报文长度区间内不同报文长度的通过率。
109.待调整端口当前监控周期内的预测平均速率大于速率平均值,因此待调整端 口在当前监控周期内的端口流量需要调整,被调整端口则在当前监控周期内的端 口流量需要从待调整端口调整一些过来,需要与待调整端口分担流量。
110.预设报文长度区间的定义可以参见表1,表1中对不同的预设报文长度区间 做了编码id方便后续的调用,表1中不同速率的预设报文长度区间成为流量分 配可以调整的最小颗粒度。
111.表4
112.预设报文长度区间预设报文长度区间id速率(0,64]1rate_1(64,128]2rate_2(128,256]3rate_3(256,512]4rate_4(512,1024]5rate_5(1024,1500]6rate_6
113.通过以上分析可以看出,本发明实施例提供的用于聚合链路的流量分配方法 利用端口的至少上一个监控周期内的端口流量预测当前监控周期内端口的预测 平均速率和所有端口的速率平均值,并且将预测平均速率大于速率平均值的端口 作为待调整端口,预测平均速率小于速率平均值的端口作为被调整端口,目的是 将待调整端口的端口流量按照负荷分单元为调整粒度调整至被调整端口,负荷分 单元可以包括端口流量中不同速率的预设报文长度区间,可以按照端口流量中不 同速率的预设报文长度区间进行调整,可以动态分配聚合链路各个物理端口的流 量,减小各个物理端口的负荷差,减少资源浪费。
114.实施例四
115.本发明实施例提供的一种储存介质,用于计算机可读存储,所述存储介质存 储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行, 以实现如图1至图8所示用于聚合链路的流量分配方法的步骤,具体可以执行以 下步骤:
116.步骤10:至少基于端口上一个监控周期内的端口流量预测当前监控周期内 端口的预测平均速率和所有端口的速率平均值,速率平均值为预测平均速率的平 均值;
117.本发明实施例的新颖之处一是在于可以根据历史端口流量预测当前监控周 期内
端口的预测平均速率,满足复杂流量场的流量需求。通过当前网络监控模块 可以直接获取各个端口的端口流量,不必引入额外的计算开销,为端口流量的快 速分配节省了时间。二是根据报文长度划分负荷分担元,采用负荷分担元作为调 整粒度对各个端口的端口流量进行分配,而当前的网络监控模块可以直接获取报 文长度的统计,同样为端口流量的快速分配节省了时间。
118.当前网络监控模块可以周期性地获取聚合链路中每一个端口的流量统计信 息和每一个端口流量中报文长度的统计信息。当前监控周期内端口的预测平均速 率是该端口在当前监控周期内端口流量的通过率,即当前监控周期内端口流量总 和除以当前监控周期。
119.从当前网络监控模块中读取每一个端口的流量统计信息后,计算在上一个监 控周期内每一个端口的端口流量的平均速率,将一个监控周期内对于一个端口的 端口流量的平均速率视为一个采样样本,至少可以基于历史出现的上一个监控周 期的端口流量的平均速率预测当前监控周期内端口的预测平均速率,并且可以基 于每一个端口的预测平均速率得到所有端口的速率平均值,为下面待调整端口和 被调整端口的区分做准备。
120.步骤20:将待调整端口当前监控周期内的端口流量按照负荷分担元调整至 被调整端口,其中负荷分担元包括端口流量中不同速率的预设报文长度区间,待 调整端口为端口中预测流量速率大于速率平均值的端口,被调整端口为端口中预 测流量速率小于速率平均值的端口。
121.当前的网络监控模块周期性地获取每一个端口的流量统计信息和每一个端 口流量中报文长度的统计信息。基于上述每一个端口流量中报文长度的统计信息 可以计算出当前监控周期内每一个预设报文长度区间的速率,预设报文长度区间 可以根据流量分配要求设定比如每次需要调整的负荷分担元的粒度大一点可以 将预设报文长度区间设定的报文长度范围大一些,反之亦然。预设报文长度区间 的速率是当前监控周期内该预设报文长度区间内不同报文长度的通过率,即当前 监控周期内不同报文长度的流量总和除以当前监控周期。
122.待调整端口当前监控周期内的预测平均速率大于速率平均值,因此待调整端 口在当前监控周期内的端口流量需要调整,被调整端口则在当前监控周期内的端 口流量需要从待调整端口调整一些过来,需要与待调整端口分担流量。
123.预设报文长度区间的定义可以参见表1,表1中对不同的预设报文长度区间 做了编码id方便后续的调用,表1中不同速率的预设报文长度区间成为流量分 配可以调整的最小颗粒度。
124.表5
125.预设报文长度区间预设报文长度区间id速率(0,64]1rate_1(64,128]2rate_2(128,256]3rate_3(256,512]4rate_4(512,1024]5rate_5(1024,1500]6rate_6
126.通过以上分析可以看出,本发明实施例提供的用于聚合链路的流量分配方法 利用端口的至少上一个监控周期内的端口流量预测当前监控周期内端口的预测 平均速率和所有端口的速率平均值,并且将预测平均速率大于速率平均值的端口 作为待调整端口,预测平均速率小于速率平均值的端口作为被调整端口,目的是 将待调整端口的端口流量按照负荷分单元为调整粒度调整至被调整端口,负荷分 单元可以包括端口流量中不同速率的预设报文长度区间,可以按照端口流量中不 同速率的预设报文长度区间进行调整,可以动态分配聚合链路各个物理端口的流 量,减小各个物理端口的负荷差,减少资源浪费。
127.总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的 保护范围。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、改进 等,均应包含在本说明书的保护范围之内。
128.上述一个或多个实施例阐明的系统、装置、模块或单元,具体可以由计算机 芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计 算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机 电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏 控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
129.计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由 任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序 的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、 静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机 存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、 快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任 何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定, 计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号 和载波。
130.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排 他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那 些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、 商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”ꢀ
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另 外的相同要素。
131.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似 的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤 其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单, 相关之处参见方法实施例的部分说明即可。
132.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范 围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例 中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一 定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中, 多任务处理和并行处理也是可以的或者可能是有利的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1