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

一种基于自诱导拥塞和单向延迟的可用带宽测量方法与流程

2022-07-22 23:13:42 来源:中国专利 TAG:


1.本发明涉及下一代互联网技术领域,尤其涉及的是一种基于自诱导拥塞和单向延迟的可用带宽测量方法。


背景技术:

2.网络测量是网络研究中非常重要的一部分,它可以用于拥塞控制、路由选择算法等研究。因此它的性能和表现对网络研究具有重大的影响。
3.目前现有的传统的主动可用带宽测量方法包括两类:探测间隔模型法和探测速率模型法。包间隔模型法发送探测包队列,观测它的接收间隔,根据可用带宽与包间隔变化的关系计算可用带宽。它的优点是测量速度快,开销低,即它发送一轮队列就能完成一次测量;它的缺点是缺乏通用性,当网络路径的跳数增加时,测量误差也会增加。包速率模型法发送探测包队列引起路径拥塞,尝试调整队列速率,寻找恰好发生/不发生拥塞的临界速率,该速率即为可用带宽。它的优点是通用性强,无论路径跳数多少测量结果总是收敛于实际可用带宽;它的缺点是测量速度慢,即需要多轮队列和速率不断调整才能完成一次测量。
4.近年来随着互联网的发展,网络设备和技术经历着快速的变革。网卡从电接口发展到高速光接口;主要骨干网络的带宽速率增加到10gbps以上。在大型数据中心,对高速的40gbps和100gbps传输速率需求越来越旺盛。传统的主动可用带宽测量方法难以适用于高速率、快速变化的网络,效率和准确性低的问题。
5.因此,现有技术还有待改进和发展。


技术实现要素:

6.本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于自诱导拥塞和单向延迟的可用带宽测量方法,旨在解决现有技术中可用带宽测量方法难以适用于高速率、快速变化的网络,效率和准确性低的问题。
7.本发明解决问题所采用的技术方案如下:
8.第一方面,本发明实施例提供一种基于自诱导拥塞和单向延迟的可用带宽测量方法,其中,所述方法包括:
9.获取预设的自诱导拥塞负载队列的第一参数和预设的恢复拥塞的检查队列的第二参数,并基于预设的算法,根据所述第一参数和所述第二参数,生成探测队列;其中,自诱导拥塞负载队列和恢复拥塞的检查队列均基于突发缓冲区恢复模型设置;
10.通过发包器对所述探测队列进行一轮定时发送,并通过收包器测量一轮定时发送后的所述探测队列的接收时间,接着根据所述接收时间和定时发送时的发送时间获取单向延迟数组;根据预设的恢复定位算法和预设的去噪算法,对所述单向延迟数组进行定位和去噪处理,得到恢复时间预测值和首个恢复的包的下标,并根据所述恢复时间预测值和首个恢复的包的下标,计算网络的可用带宽。
11.在一种实现方式中,所述自诱导拥塞负载队列为包容量恒定的匀速率队列。
12.在一种实现方式中,所述恢复拥塞的检查队列包括第一检查队列和第二检查队列;其中,所述第一检查队列由非均匀分布的若干数据包组成;所述第二检查队列由均匀分布的若干数据包组成。
13.在一种实现方式中,所述第一参数包括:自诱导拥塞负载队列的包数量,自诱导拥塞负载队列的包容量和自诱导拥塞负载队列的发送速率。
14.在一种实现方式中,所述第二参数包括:所述检查队列的包容量、第一检查队列的包数量、第一检查队列的包间隔上限和包间隔下限、第二检查队列的包数量、第二检查队列的包间隔、可用带宽上限和可用带宽下限。
15.在一种实现方式中,所述基于预设的算法,根据所述第一参数和所述第二参数,生成探测队列包括:
16.基于所述第一参数和所述第二参数获取当前数据包相对起始时刻的时间和最后一个数据包相对起始时刻的时间;
17.基于预设的递归函数,根据所述第一参数、所述第二参数、当前数据包相对起始时刻的时间和最后一个数据包相对起始时刻的时间,生成探测队列。
18.在一种实现方式中,所述基于预设的递归函数,根据所述第一参数、所述第二参数、当前数据包相对起始时刻的时间和最后一个数据包相对起始时刻的时间,生成探测队列包括:
19.将所述第一参数中的自诱导拥塞负载队列的包数量加上所述第二参数中的第一检查队列的包数量,得到第一中间包数量;
20.将所述第一中间包数量减去1,得到第二中间包数量;
21.将所述第一参数中的自诱导拥塞负载队列的包数量乘以所述第一参数中的自诱导拥塞负载队列的包容量,得到第一流量;
22.将所述第一流量、所述第一参数中的自诱导拥塞负载队列的包数量、所述第二中间包数量、所述可用带宽上限和所述可用带宽下限、当前数据包相对起始时刻的时间、最后一个数据包相对起始时刻的时间、第一检查队列的包间隔上限和包间隔下限输入到预设的递归函数,得到若干数据包的发送时间;其中,所述发送时间以首个数据包的时间为参考;
23.若干发送时间的数据包组成探测队列。
24.在一种实现方式中,所述根据所述接收时间和定时发送时的发送时间获取单向延迟数组包括:
25.将所述接收时间减去定时发送时的发送时间,得到单向延迟数组。
26.9.根据权利要求1所述的基于自诱导拥塞和单向延迟的可用带宽测量方法,其特征在于,所述通过发包器对所述探测队列进行一轮定时发送,并通过收包器测量一轮定时发送后的所述探测队列的接收时间,接着根据所述接收时间和定时发送时的发送时间获取单向延迟数组之后,包括:
27.获取预设的第一阈值和预设的第二阈值、恢复拥塞的最低探测包数量;
28.将所述单向延迟数组、所述第一阈值、所述第二阈值和恢复拥塞的最低探测包数量输入到预设的恢复评估算法,得到单向延迟恢复的阈值和恢复测量结果。
29.在一种实现方式中,所述根据预设的恢复定位算法和预设的去噪算法,对所述单向延迟数组进行定位和去噪处理,得到恢复时间预测值和首个恢复的包的下标,并根据所
述恢复时间预测值和首个恢复的包的下标,计算网络的可用带宽包括:
30.基于预设的去噪算法去除网卡中断合并和进程切换过程中的噪声;
31.当所述恢复测量结果为测量成功时,将单向延迟数组、单向延迟恢复的阈值和探测队列中所有数据包的发送时间输入到预设的恢复定位算法中,得到恢复时间预测值和首个恢复的包的下标;
32.将所述首个恢复的包的下标乘以检查队列的包容量,得到第一乘积;
33.将自诱导拥塞负载队列的包数量乘以自诱导拥塞负载队列的包容量,得到第二乘积;
34.将所述第一乘积加上所述第二乘积,得到乘积和;
35.将所述乘积和除以所述恢复时间预测值,得到网络的可用带宽。
36.第二方面,本发明实施例还提供一种基于自诱导拥塞和单向延迟的可用带宽测量装置,其中,所述装置包括:探测队列生成模块,用于获取预设的自诱导拥塞负载队列的第一参数和预设的恢复拥塞的检查队列的第二参数,并基于预设的算法,根据所述第一参数和所述第二参数,生成探测队列;其中,自诱导拥塞负载队列和恢复拥塞的检查队列均基于突发缓冲区恢复模型设置;
37.单向延迟数组获取模块,用于通过发包器对所述探测队列进行一轮定时发送,并通过收包器测量一轮定时发送后的所述探测队列的接收时间,接着根据所述接收时间和定时发送时的发送时间获取单向延迟数组;
38.可用带宽计算模块,用于根据预设的恢复定位算法和预设的去噪算法,对所述单向延迟数组进行定位和去噪处理,得到恢复时间预测值和首个恢复的包的下标,并根据所述恢复时间预测值和首个恢复的包的下标,计算网络的可用带宽。
39.第三方面,本发明实施例还提供一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如上述任意一项所述的基于自诱导拥塞和单向延迟的可用带宽测量方法。
40.第四方面,本发明实施例还提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述中任意一项所述的基于自诱导拥塞和单向延迟的可用带宽测量方法。
41.本发明的有益效果:本发明实施例首先获取预设的自诱导拥塞负载队列的第一参数和预设的恢复拥塞的检查队列的第二参数,并基于预设的算法,根据所述第一参数和所述第二参数,生成探测队列;其中,自诱导拥塞负载队列和恢复拥塞的检查队列均基于突发缓冲区恢复模型设置;然后通过发包器对所述探测队列进行一轮定时发送,并通过收包器测量一轮定时发送后的所述探测队列的接收时间,接着根据所述接收时间和定时发送时的发送时间获取单向延迟数组;最后根据预设的恢复定位算法和预设的去噪算法,对所述单向延迟数组进行定位和去噪处理,得到恢复时间预测值和首个恢复的包的下标,并根据所述恢复时间预测值和首个恢复的包的下标,计算网络的可用带宽;可见,本发明实施例通过生成预期的探测队列的自诱导拥塞以及拥塞恢复来实现一轮的可用带宽测量,通过恢复定位算法和去噪算法,能够实现准确的可用带宽测量。
附图说明
42.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
43.图1为本发明实施例提供的基于自诱导拥塞和单向延迟的可用带宽测量方法方法流程示意图。
44.图2为本发明实施例提供的简化网络拓扑图。
45.图3为本发明实施例提供的探测队列生成算法流程图。
46.图4为本发明实施例提供的arrangefunc函数算法流程图。
47.图5为本发明实施例提供的恢复评估算法流程图。
48.图6为本发明实施例提供的去噪算法流程图。
49.图7为本发明实施例提供的恢复定位算法流程图。
50.图8为本发明实施例提供的测量环境示意图。
51.图9为本发明实施例提供的基于自诱导拥塞和单向延迟的可用带宽测量方法装置的原理框图。
52.图10为本发明实施例提供的智能终端的内部结构原理框图。
具体实施方式
53.本发明公开了一种基于自诱导拥塞和单向延迟的可用带宽测量方法,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
54.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
55.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
56.由于现有技术中,主动可用带宽测量方法难以适用于高速率、快速变化的网络,出现效率和准确性低的问题,系统在完成可用带宽测量时面临如下三点挑战:
57.1.传统方法的问题:探测间隔模型简化网络为单跳,因此在多跳场景下表现不佳;探测速率模型使用多轮队列探测,因此测量速度较慢。无论哪种传统方法都无法满足实际的需求。
58.2.多样化的噪声来源:主动可用带宽测量方法的表现依赖于收发包的时间戳的准确性。而收发包的准确性,收到多种噪声影响:收发包的服务器的操作系统的进程切换可能导致发包的延后、收包的延后,引起时间戳的误差;路由器或接收端网卡的中断延迟使能,导致包在到达网卡后被存储起来,经历一段延迟后才被继续处理。
59.3.难以比较:在现实网络中,真实的可用带宽随着时间变化,难以获取真实值,从而对验证方法的准确度造成了一定困扰。
60.为了解决现有技术的问题,本实施例提供了基于自诱导拥塞和单向延迟的可用带宽测量方法,通过生成预期的探测队列的自诱导拥塞以及拥塞恢复来实现一轮的可用带宽测量,通过恢复定位算法和去噪算法,能够实现准确的可用带宽测量。具体实施时,首先获取预设的自诱导拥塞负载队列的第一参数和预设的恢复拥塞的检查队列的第二参数,并基于预设的算法,根据所述第一参数和所述第二参数,生成探测队列;其中,自诱导拥塞负载队列和恢复拥塞的检查队列均基于突发缓冲区恢复模型设置;然后通过发包器对所述探测队列进行一轮定时发送,并通过收包器测量一轮定时发送后的所述探测队列的接收时间,接着根据所述接收时间和定时发送时的发送时间获取单向延迟数组;最后根据预设的恢复定位算法和预设的去噪算法,对所述单向延迟数组进行定位和去噪处理,得到恢复时间预测值和首个恢复的包的下标,并根据所述恢复时间预测值和首个恢复的包的下标,计算网络的可用带宽。
61.示例性方法
62.本实施例提供一种基于自诱导拥塞和单向延迟的可用带宽测量方法,该方法可以应用于下一代互联网的智能终端。具体如图1所示,所述方法包括:
63.步骤s100、获取预设的自诱导拥塞负载队列的第一参数和预设的恢复拥塞的检查队列的第二参数,并基于预设的算法,根据所述第一参数和所述第二参数,生成探测队列;其中,自诱导拥塞负载队列和恢复拥塞的检查队列均基于突发缓冲区恢复模型设置;
64.在本实施例中,突发缓冲区恢复模型的理论基础如下:
65.1.单路由缓冲区长度变化与可用带宽关系
66.如图2所示,假设i代表的是第i个路由器,δti为从探测包到达缓冲区开始到某一时刻经历的时间,并且这段时间内路由器一直以最大链路带宽工作,为该段时间内的到达的背景流量的平均值,p为这段时间内到达缓冲区的探测包流量总和,δqi为这段时间结束时缓冲区与这段时间开始时缓冲区的长度差,ci代表路由器出口的链路带宽,ai为该路由器在这段时间内的可用带宽,则缓冲区长度变化与背景流量、探测流量和链路带宽存在以下关系:
[0067][0068]
根据定义,得到缓冲区长度变化与可用带宽的关系:
[0069][0070]
2.多跳单向延迟与缓冲区长度变化的关系
[0071]
假设固定大小的包在t时刻从起始点出发到目标点的单向延迟为d(t),它在经过第i个路由时,需要经历排队,假设此时路由器缓冲区长度为qi(t),路由器链路带宽为ci,包
在到达第i个路由器时经历的与缓冲区长度有关的部分为di(t),固定传输延迟之和用β表示,则:
[0072][0073][0074]
定理:若假设t表示紧链路,即可用带宽最小的链路,考虑时刻t1和t2。设λ1=d(t1)-β,设λ2=d(t2)-β。若δq
t
=q
t
(t2)-q
t
(t1),则-c
t
·
λ1≤aq
t
≤c
t
·
a2[0075]
|aq
t
|≤c
t
·
max(λ1,λ2)
[0076]
证明:
[0077]
因为d
t
(t)≤d(t)-β而且q
t
(t)=d
t
(t)
·ct
,所以
[0078]qt
(t)≤c
t
·
(d(t)-β)
[0079]
将t=t1和t=t2代入,得到
[0080]qt
(t1)≤c
t
·
λ1[0081]qt
(t2)≤≤c
t
·
λ2[0082]
又已知q
t
(t)非负,故
[0083]-c
t
·
λ1≤δq
t
≤c
t
·
λ2[0084]
|δq
t
|≤c
t
·
max(λ1,λ2)
[0085]
3.理论相对误差
[0086]
可以发现,当λ1和λ2均较小时,预测值与真实值将很接近。设偏差为假设p>δq
t
,相对误差为:
[0087][0088]
当δq
t
=0时,η=0;当δq
t
<0时,η<0;当δq
t
>0时,η>0。
[0089]
若使用-c
t
·
λ1≤δqt≤c
t
·
λ2代入,可得:
[0090][0091]
因为上式中的各项都是可知的,所以可计算理论相对误差的上下限。
[0092]
根据上述突发缓冲区恢复模型设置自诱导拥塞负载队列的第一参数和恢复拥塞的检查队列的第二参数,所述自诱导拥塞负载队列为包容量恒定的匀速率队列;所述恢复拥塞的检查队列包括第一检查队列和第二检查队列;其中,所述第一检查队列由非均匀分布的若干数据包组成;所述第二检查队列由均匀分布的若干数据包组成;所述第一参数包括:自诱导拥塞负载队列的包数量n
l
,自诱导拥塞负载队列的包容量s
l
和自诱导拥塞负载队列的发送速率r
l
。所述第二参数包括:所述检查队列的包容量si、第一检查队列的包数量na、第一检查队列的包间隔上限gm和包间隔下限gm、第二检查队列的包数量nb、第二检查队列的
包间隔gn、可用带宽上限am和可用带宽下限am。得到第一参数后,就可以基于基于预设的算法,根据所述第一参数和所述第二参数,生成探测队列;相应的,所述基于预设的算法,根据所述第一参数和所述第二参数,生成探测队列包括如下步骤:基于所述第一参数和所述第二参数获取当前数据包相对起始时刻的时间和最后一个数据包相对起始时刻的时间;基于预设的递归函数,根据所述第一参数、所述第二参数、当前数据包相对起始时刻的时间和最后一个数据包相对起始时刻的时间,生成探测队列,探测队列是预先被工程师设计的,故得到的是预期的探测队列。
[0093]
具体地,如图3所示,基于所述第一参数和所述第二参数获取当前数据包相对起始时刻的时间t[n
l
]和最后一个数据包相对起始时刻的时间t[na n
l-1]具体为:将所述第一参数中的自诱导拥塞负载队列的包数量n
l
乘以所述第一参数中的自诱导拥塞负载队列的包容量s
l
,得到第一流量p1;将第一流量p1除以am得到当前数据包相对起始时刻的时间t[n
l
],也即,t[n
l
]=n
l
*s
l
/am=p1/am;第二流量p2的计算公式如下:p2=p1 (n
a-1)*si,则t[na n
l-1]=p2/am,然后,基于预设的递归函数,根据所述第一参数、所述第二参数、当前数据包相对起始时刻的时间和最后一个数据包相对起始时刻的时间,生成探测队列。
[0094]
为了得到探测队列,所述基于预设的递归函数,根据所述第一参数、所述第二参数、当前数据包相对起始时刻的时间和最后一个数据包相对起始时刻的时间,生成探测队列包括如下步骤:将所述第一参数中的自诱导拥塞负载队列的包数量加上所述第二参数中的第一检查队列的包数量,得到第一中间包数量;将所述第一中间包数量减去1,得到第二中间包数量;将所述第一参数中的自诱导拥塞负载队列的包数量乘以所述第一参数中的自诱导拥塞负载队列的包容量,得到第一流量;将所述第一流量、所述第一参数中的自诱导拥塞负载队列的包数量、所述第二中间包数量、所述可用带宽上限和所述可用带宽下限、当前数据包相对起始时刻的时间、最后一个数据包相对起始时刻的时间、第一检查队列的包间隔上限和包间隔下限输入到预设的递归函数,得到若干数据包的发送时间;其中,所述发送时间为探测队列的预期发送时间戳,以首个数据包的时间为参考;若干发送时间的数据包组成探测队列。
[0095]
具体地,将所述第一参数中的自诱导拥塞负载队列的包数量n
l
加上所述第二参数中的第一检查队列的包数量na,得到第一中间包数量(na n
l
);将所述第一中间包数量(na n
l
)减去1,得到第二中间包数量(na n
l-1);上述已经得到第一流量p1;将所述第一流量p1、所述第一参数中的自诱导拥塞负载队列的包数量n
l
、所述第二中间包数量(na n
l-1)、所述可用带宽上限am和所述可用带宽下限am、当前数据包相对起始时刻的时间t[n
l
]、最后一个数据包相对起始时刻的时间t[na n
l-1]、第一检查队列的包间隔上限am和包间隔下限am输入到预设的递归函数,得到若干数据包的发送时间ta;其中,所述发送时间以首个数据包的时间为参考;ta为探测队列的每一个包相对于首个包的计划发送时间。若干发送时间的数据包组成探测队列。在本实施例中递归函数为arrf函数,arrf函数的计算过程如图4所示,arrf函数的参数有:p,i
l
,ir,a
l
,ar,t
l
,tr,gm,gm,si,ta,如果i
l
1大于ir则返回,将(i
r-i
l
)/(i
r-i
l
1)的结果赋值给q,将q*a
l
(1-q)*ar的结果赋值给a
temp
,将p/a
temp
的结果赋值给t
temp
,如果t
temp
小于t
l
gm,则将t
l
gm的结果赋值给t
temp
,否则,将t
l
gm的结果赋值给t
temp
,将t
temp
赋值给ta[i
l
1],将p/t
temp
赋值给a
temp
。再次调用arrf函数,并将参数p加上si替换p,i
l
加上1替换i
l
,将a
temp
替换al,将t
temp
替换t
l

[0096]
得到探测队列后,就可以执行如图1所示的如下步骤:s200、通过发包器对所述探测队列进行一轮定时发送,并通过收包器测量一轮定时发送后的所述探测队列的接收时间,接着根据所述接收时间和定时发送时的发送时间获取单向延迟数组;
[0097]
具体地,使用linux系统调用按预期时间戳进行定时发送和接收并计时,通过发包器对所述探测队列进行一轮定时发送,并通过收包器测量一轮定时发送后的所述探测队列的接收时间,上述定时发送和接收时间的获取为现有技术,在此不再赘述。根据所述接收时间和定时发送时的发送时间获取单向延迟数组具体为将所述接收时间减去定时发送时的发送时间,得到单向延迟数组d。
[0098]
在一种实现方式中,得到单向延迟数组后,可以执行如下步骤:获取预设的第一阈值和预设的第二阈值、恢复拥塞的最低探测包数量;将所述单向延迟数组、所述第一阈值、所述第二阈值和恢复拥塞的最低探测包数量输入到预设的恢复评估算法,得到单向延迟恢复的阈值和恢复测量结果。
[0099]
具体地,在完成探测队列的发送和接收之后,可以得到单向延迟数组d,此时需要使用恢复评估算法,对实际的探测队列进行评估,以确认该轮探测队列的测量是否成功。恢复评估算法实现如图5,恢复评估算法输入参数包括:d,n,tha,thb,m,输出参数为rec,thc,将d[n-1]-d[0]赋值给va,如果va大于tha,将false赋值给rec,将0赋值给thc,否则将max(d[i])-min(d[i])的结果赋值给vb,其中,i大于n-m并且小于n;如果vb大于thb,则将false赋值给rec,将0赋值给thc,否则将true赋值给rec,将max(d[i])的值赋值给thc。算法最终返回rec,thc。其中,d为单向延迟数组,n为总共的包数量,n=n
l
na nb,d表示所有探测包的单向延迟按顺序组成的数组;tha表示单向延迟的判断阈值,如果结束和开始时的单向延迟差大于它即认为此时的路径拥塞未恢复;thb是用于路径单向延迟稳定的衡量阈值,若单向延迟变化大于它则认为不稳定;m代表恢复所需的探测包数量,若最后处于恢复状态的包数量小于它,则认为路径未恢复;rec代表本次测量是否成功恢复,当成功时,rec为true,否则为false;thc代表单向延迟恢复阈值,若单向延迟低于它则认为已恢复。
[0100]
得到单向延迟数组后,就可以执行如图1所示的如下步骤:s300、根据预设的恢复定位算法和预设的去噪算法,对所述单向延迟数组进行定位和去噪处理,得到恢复时间预测值和首个恢复的包的下标,并根据所述恢复时间预测值和首个恢复的包的下标,计算网络的可用带宽。
[0101]
步骤s300包括如下步骤:
[0102]
s301、基于预设的去噪算法去除网卡中断合并和进程切换过程中的噪声;
[0103]
s302、当所述恢复测量结果为测量成功时,将单向延迟数组、单向延迟恢复的阈值和探测队列中所有数据包的发送时间输入到预设的恢复定位算法中,得到恢复时间预测值和首个恢复的包的下标;
[0104]
s303、将所述首个恢复的包的下标乘以检查队列的包容量,得到第一乘积;
[0105]
s304、将自诱导拥塞负载队列的包数量乘以自诱导拥塞负载队列的包容量,得到第二乘积;
[0106]
s305、将所述第一乘积加上所述第二乘积,得到乘积和;
[0107]
s306、将所述乘积和除以所述恢复时间预测值,得到网络的可用带宽。
[0108]
实际中,单个测量包在被开启中断合并的设备上接收时,它会被硬件存储起来,等
待一段时间,再触发中断,转发给操作系统。本发明发现这两类机制均为引起探测包聚集性地被接收到,即以极小的间隔收到多个连续的包,然后等待较长时间,再收到多个连续的包;在这个过程中,进程切换和中断合并均会引起包被聚集成簇发送的噪声,需要对聚集型噪声进行去噪。本发明基于预设的去噪算法去除网卡中断合并和进程切换过程中的噪声,本发明的去噪算法能有效降低网卡中断合并和收发包上下文切换的去噪算法。在本实施例中,去噪的算法如图6所示,去噪算法的输入参数为t
in
,n
in
,thd,输出参数为t
out
,n
out
,将t
out
赋值为空,将n
out
赋值为0;采用for循环,将0赋值给i,i每执行完一次后续操作自加一次1,直到i者等于n
out-1,后续操作为将t
in
[i 1]-t
in
[i]的结果赋值给g[i],如果g[i]大于thd,则调用push_back(t
out
,t
in
[i]),并将n
out
进行自累加1,其中,push_back为现有技术中的函数,在此不做赘述。最终去噪的算法输出t
out
,n
out
。其中,t
in
为带有噪声的时间戳数组,n
in
为数组包含的时间戳数量,thd表示我们设定的异常阈值,当相邻时间戳间隔小于该阈值时,确定时间戳都被系统性地延迟了;当相邻时间戳的间隔大于该阈值时,确定前一个时间戳是准确的。t
out
为去除噪声后的时间戳数组,n
out
为去除噪声后的时间戳数组包含的时间戳数量。去噪之后,时间序列数据会消除来自进程切换和中断合并的噪声。需要注意的是,噪声去除算法是与前面的探测队列生成算法、恢复评估算法以及后面的恢复定位算法是独立的过程。在完成了恢复评估算法后,如果它返回的rec为false,则舍弃该次测量结果;如果它为true,说明该次测量结果为测量成功,将单向延迟数组d、单向延迟恢复的阈值thc和探测队列中所有数据包的发送时间tb输入到预设的恢复定位算法中,此外还要将所述第一参数中的自诱导拥塞负载队列的包数量n
l
,也输入到预设的恢复定位算法中,得到恢复时间预测值e和首个恢复的包的下标rec
id
。其中,恢复定位算法如图7所示,恢复定位算法输入参数为n
l
,d,n,thc,tb,输出参数为l,e,u,rec
id
,在一个for循环中,rec
id
的初始值为n-1,当rec
id
大于或者等于n
l
,就执行后续操作,每执行一次就将rec
id
的值自减1,直到rec
id
小于n
l
时停止执行后续操作,后续操作为如果d[rec
id
]大于thc则跳出。将rec
id
加1的值赋给rec
id
,将tb[rec
id-1]赋值给l,将tb[rec
id
]赋值给u,调用xvaluef(xa,ya,xb,yb,y),将rec
id-1赋值pre,将xvaluef(tb[pre],d[pre],tb[rec
id
],d[rec
id
],thc)的值赋给e,返回l,e,u,rec
id
,其中,xvaluef函数为现有技术中的函数,在此不做赘述。此外,通过恢复定位算法还可以得到如下参数:所有包的实际发送时间按顺序组成的数组tb,恢复时间的下界l,恢复时间的上界u。
[0109]
为了计算可用带宽,将所述首个恢复的包的下标rec
id
乘以检查队列的包容量si,得到第一乘积rec
id
*si;将自诱导拥塞负载队列的包数量n
l
乘以自诱导拥塞负载队列的包容量s
l
,得到第二乘积n
l
*s
l
;将所述第一乘积rec
id
*si加上所述第二乘积n
l
*s
l
,得到乘积和n
l
*s
l
rec
id
*si;将所述乘积和n
l
*s
l
rec
id
*si除以所述恢复时间预测值e,得到网络的可用带宽带宽理论模型中,a=(p-dq)/dt,下面的计算公式中,因为rec
id
代表恢复时已发送的包数,所以p-dq=n
l
*s
l
rec
id
*si,dt=n
l
*s
l
rec
id
*si,所以在下面的计算中,a=(n
l
*s
l
rec
id
*si)/e。
[0110]
在一种实现方式中,本发明采用的通用测量环境如图8所示,测试平台的拓扑结构由5个终端结点组成,即测量结点、远程结点和三个侧结点。这5个结点是amax xp-4a201g服务器,它们都配备intel(r)xeon(r)silver4216cpu(@2.10ghz)和两个网卡:intel 82599es
的万兆网卡和intel x722千兆网卡。它们的操作系统都是ubuntu 18.04。路径上包含三个路由器,实际为华为s5731-s48t4x交换机,提供10gbps sfp端口和10/100/1000base-t电气端口。
[0111]
本发明的平台使用两种工具生成背景流量:iperf3,一种使用linux网络堆栈生成tcp、udp流量的工具;tcpreplay,一种重放抓包文件以模拟真实突发性流量的工具。
[0112]
真实值:先对各链路测量出无任何背景流量时的最大传输带宽,我们将它作为链路带宽。然后,令侧结点发送指定速率的背景流量,此时的可用带宽真实值,即可通过链路带宽减去背景流量速率得到。
[0113]
通过构建该系统,传统的可用带宽测量工具和最新的工具可以准确地进行对比测试,从而分析各自的不足以进行改进。
[0114]
该发明的主要亮点包括:
[0115]
1.提出了一种新的主动可用带宽测量模型——缓冲区拥塞恢复模型。它基于网络是多跳、流量是可变的假设,将可用带宽与单向延迟关联起来。该模型改善了探测间隔模型不通用和探测速率模型测量慢的缺点;
[0116]
2.基于缓冲区拥塞恢复模型实现了一种主动可用带宽测量工具。该工具实现了在高速网络下发送队列、接收队列等技术,包含数据处理、去噪等功能,提升了可用带宽测量的效果;
[0117]
3.搭建了一个多跳的测试环境,本发明可以调节该环境下的背景流量速率从而获知实时的可用带宽,从而验证方法的效果。
[0118]
示例性设备
[0119]
如图9中所示,本发明实施例提供一种基于自诱导拥塞和单向延迟的可用带宽测量装置,该装置包括探测队列生成模块401、单向延迟数组获取模块402和可用带宽计算模块403:探测队列生成模块401,用于获取预设的自诱导拥塞负载队列的第一参数和预设的恢复拥塞的检查队列的第二参数,并基于预设的算法,根据所述第一参数和所述第二参数,生成探测队列;其中,自诱导拥塞负载队列和恢复拥塞的检查队列均基于突发缓冲区恢复模型设置;
[0120]
单向延迟数组获取模块402,用于通过发包器对所述探测队列进行一轮定时发送,并通过收包器测量一轮定时发送后的所述探测队列的接收时间,接着根据所述接收时间和定时发送时的发送时间获取单向延迟数组;
[0121]
可用带宽计算模块403,用于根据预设的恢复定位算法和预设的去噪算法,对所述单向延迟数组进行定位和去噪处理,得到恢复时间预测值和首个恢复的包的下标,并根据所述恢复时间预测值和首个恢复的包的下标,计算网络的可用带宽。
[0122]
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图10所示。该智能终端包括通过系统总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于自诱导拥塞和单向延迟的可用带宽测量方法。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示
屏,该智能终端的温度传感器是预先在智能终端内部设置,用于检测内部设备的运行温度。
[0123]
本领域技术人员可以理解,图10中的原理图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0124]
在一个实施例中,提供了一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:获取预设的自诱导拥塞负载队列的第一参数和预设的恢复拥塞的检查队列的第二参数,并基于预设的算法,根据所述第一参数和所述第二参数,生成探测队列;其中,自诱导拥塞负载队列和恢复拥塞的检查队列均基于突发缓冲区恢复模型设置;
[0125]
通过发包器对所述探测队列进行一轮定时发送,并通过收包器测量一轮定时发送后的所述探测队列的接收时间,接着根据所述接收时间和定时发送时的发送时间获取单向延迟数组;
[0126]
根据预设的恢复定位算法和预设的去噪算法,对所述单向延迟数组进行定位和去噪处理,得到恢复时间预测值和首个恢复的包的下标,并根据所述恢复时间预测值和首个恢复的包的下标,计算网络的可用带宽。
[0127]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0128]
综上所述,本发明公开了一种基于自诱导拥塞和单向延迟的可用带宽测量方法,所述方法包括:获取预设的自诱导拥塞负载队列的第一参数和预设的恢复拥塞的检查队列的第二参数,并基于预设的算法,根据所述第一参数和所述第二参数,生成探测队列;其中,自诱导拥塞负载队列和恢复拥塞的检查队列均基于突发缓冲区恢复模型设置;通过发包器对所述探测队列进行一轮定时发送,并通过收包器测量一轮定时发送后的所述探测队列的接收时间,接着根据所述接收时间和定时发送时的发送时间获取单向延迟数组;根据预设的恢复定位算法和预设的去噪算法,对所述单向延迟数组进行定位和去噪处理,得到恢复时间预测值和首个恢复的包的下标,并根据所述恢复时间预测值和首个恢复的包的下标,计算网络的可用带宽。本发明实施例通过生成预期的探测队列的自诱导拥塞以及拥塞恢复来实现一轮的可用带宽测量,通过恢复定位算法和去噪算法,能够实现准确的可用带宽测量。
[0129]
基于上述实施例,本发明公开了一种基于自诱导拥塞和单向延迟的可用带宽测量方法,应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以
根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
再多了解一些

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

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

相关文献