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

一种网络拥塞控制方法及相关装置与流程

2022-10-13 06:18:52 来源:中国专利 TAG:


1.本技术涉及,特别涉及一种网络拥塞控制方法、网络拥塞控制装置、终端设备以及计算机可读存储介质。


背景技术:

2.在可靠传输网络中,网络拥塞控制是避免网络拥塞重要的功能特性。
3.相关技术中,一般通过网络拥塞算法进行控制,需要用到大量浮点乘、除法运算,在一些硬件平台中(如fpga(field programmable gate array,现场可编程逻辑门阵列)),并不一定具有浮点乘除功能,通常需要通过定点运算进行转换,在转换实现中,需要占用较多的计算资源和计算周期;如果用软件实现,在高速率场景下,响应时间不够及时,造成拥塞控制性能下降,同时占用大量cpu(central processing unit,中央处理器)运算系统资源,影响整个系统性能输出。
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.图1为本技术实施例所提供的一种网络拥塞控制方法的流程图;
38.图2为本技术实施例所提供的一种网络拥塞控制装置的结构示意图;
39.图3为本技术所提供的一种终端设备的结构示意图。
具体实施方式
40.本技术的核心是提供一种网络拥塞控制方法、网络拥塞控制装置、终端设备以及计算机可读存储介质,避免在网络拥塞控制过程进行复杂的浮点乘除运算,减小拥塞控制算法的硬件实现复杂度及提高拥塞控制算法的效率和效果。
41.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
42.相关技术中,一般通过网络拥塞算法进行控制,需要用到大量浮点乘、除法运算,在一些硬件平台中,并不一定具有浮点乘除功能,通常需要通过定点运算进行转换,在转换实现中,需要占用较多的计算资源和计算周期;如果用软件实现,在高速率场景下,响应时间不够及时,造成拥塞控制性能下降,同时占用大量cpu运算系统资源,影响整个系统性能输出。
43.因此,本技术提供了一种网络拥塞控制方法,通过先测量出往返时延数据,并维护在途数据,然后通过往返时延数据内接收到的已应答的数据量,评估得出该网络当下的报文发送窗口数据,最后基于在途数据和报文发送窗口数据对报文进行发送控制,避免了通过大量的浮点计算进行网络拥塞控制,提高网络拥塞控制的效率并减小硬件实现复杂度;同时基于评估的窗口控制网络中的在途数据量,减小了对网络设备(如交换机、路由器)的队列堆积,从而减小了端到端的往返时间并能保持高吞吐率。
44.以下通过一个实施例,对本技术提供的一种网络拥塞控制方法进行说明。
45.请参考图1,图1为本技术实施例所提供的一种网络拥塞控制方法的流程图。
46.本实施例中,该方法可以包括:
47.s101,对网络进行往返时延测量,得到往返时延数据;
48.可见,本步骤旨在对网络进行往返时延测量,得到往返时延数据。也就是,测得一次发送报文所需要的时间。其中,包括发送请求报文到收到回应报文之间的时间。
49.进一步的,对多个报文进行测量的过程中会获取到多个不相同的时延数据。可以将其中最小的时延数据作为本步骤中的往返时延数据。
50.进一步的,本步骤可以包括:
51.步骤1,对网络的目标数据报文的发送时间和回应时间进行记录,得到目标数据报文对应的往返时延;
52.步骤2,将多个目标数据报文中的最小的往返时延作为往返时延数据。
53.可见,本可选方案中主要是说明如何获取到往返时延数据。本可选方案中,对网络的目标数据报文的发送时间和回应时间进行记录,得到目标数据报文对应的往返时延,将多个目标数据报文中的最小的往返时延作为往返时延数据。
54.s102,对网络进行在途数维护处理,得到在途数据;
55.在s101的基础上,本步骤旨在对网络进行在途数维护处理,得到在途数据。可见,
本步骤中主要是获取在途数据。其中,在途数据是指当前在途过程中的报文的数量,也就是,没有接收到回应报文时,传输过程中的报文数量作为在途数据。
56.可见,通过本步骤中就可以获取到网络中正在传输的报文的数量,就可以确定到当前正在处理的报文的数量。
57.其中,在途数维护的方式可以采用现有技术提供的任意一种在途数维护方式。
58.进一步的,本步骤可以包括:
59.基于发送的请求报文的数量和接收的回应报文的数量对原始在途数据进行维护,得到在途数据。
60.可见,本可选方案中主要是说明如何维护在途数。本可选方案中基于发送的请求报文的数量和接收的回应报文的数量对原始在途数据进行维护,得到在途数据。
61.s103,基于往返时延数据和接收到的已应答报文数据进行发送窗口维护处理,得到报文发送窗口数据;
62.在s102的基础上,本步骤旨在基于往返时延数据和接收到的已应答报文数据进行发送窗口维护处理,得到报文发送窗口数据。其中,报文发送窗口数据就是当前网络状态下可以处理的最合适的报文数量,称为网络窗口。
63.其中,接收到的已应答报文数据是指在一定时间内接收到的应答报文的数量。其中,一定时间可以是往返时延对应的时间段,也可以是其他时间段,在此不做具体限定。
64.进一步的,本步骤可以包括:
65.在往返时延数据内进行应答报文统计,得到已应答报文数据;基于已应答报文数据进行数据评估,得到报文发送窗口数据。
66.s104,基于在途数据和报文发送窗口数据对网络的报文进行发送控制。
67.在s103的基础上,本步骤旨在基于在途数据和报文发送窗口数据对网络的报文进行发送控制。
68.可见,本可选方案中主要是基于在途数据和报文发送窗口数据对报文进行控制。可以是进行大小判断以便确定是否发送报文或不发送报文。
69.进一步的,本步骤可以包括:
70.步骤1,判断在途数据是否大于报文发送窗口数据;
71.步骤2,若是,则设置为停止发送状态。
72.可见,本可选方案中主要是说明如何控制发送。本可选方案主要是判断在途数据是否大于报文发送窗口数据;若是,则设置为停止发送状态。
73.综上,本实施例通过先测量出往返时延数据,并维护在途数据,然后通过往返时延数据内接收到的已应答的数据量,评估得出该网络当下的报文发送窗口数据,最后基于在途数据和报文发送窗口数据对报文进行发送控制,避免了通过大量的浮点计算进行网络拥塞控制,提高网络拥塞控制的效率并减小硬件实现复杂度;同时基于评估的窗口控制网络中的在途数据量,减小了对网络设备(如交换机、路由器)的队列堆积,从而减小了端到端的往返时间并能保持高吞吐率。
74.以下通过另一具体的实施例,对本技术提供的一种网络拥塞控制方法做进一步说明。
75.本实施例中,该方法可以以下处理过程:
76.步骤1,往返时延(rtt,round-trip time,往返时延)测量:
77.通过记录特定数据报文的发出时间和回应时间获得该报文的往返时延(rtt)。记录历史最小值(rttmin),作为该路径的特征值(rttmin)。每当测量结果小于历史rttmin,将结果刷新为新的最小值。
78.步骤2,在途数(inflight,在途,已发送出去但未收到确认的数据)维护:
79.每发出一个请求报文将在途数(inflight)加上对应数值,每接收到一个回应报文将inflight减去对应数值,在有损网络的情况,对于可以判断已丢失的报文信息,也减去对应数值。
80.步骤3,网络窗口(win)计算:
81.针对每个流初始化默认阶段,rttmin和inflight还没有有效参考值情况下,窗口值可以设置为一个较大值保证不对发送速度设限;在该收到第一个回应报文后,得到第一次的rttmin和当时的inflight,可以立即将窗口设置为此时的inflight值,用以锁定发送带宽,防止拥塞加剧的情况发生。
82.后续利用rttmin的时间量启动测量时间窗口,当测量到该窗口内收到的回应报文代表的数据量,可以获得在rttmin时间段内,该流对应路径上实际传输成功的数据量。对应得到测量时间段内网络的inflight理想数值。
83.将在途报文窗口设置为上述inflight理想数值。以保证系统的发送带宽和系统内的负载接近瓶颈链路bdp点对应的负载。
84.持续重复上述rttmin,inflight,win的测量运算和维护。保持系统的拥塞控制到达预想状态。
85.步骤4,发送控制:
86.针对上述步骤2-3的信息,根据在途报文数值(inflight)和窗口(win)数值的比对,确定是否允许将队列中的报文发送出去,以及可以发送多少。结合实际系统的调度策略,确定实际发送动作的调节判断。以此达成使网络inflight数据接近理论的bdp(bandwidth delay product,带宽时延积)值,使得网路的带宽利用率高且时延小的最优综合性能。
87.可见,本实施例通过先测量出往返时延数据,并维护在途数据,然后通过往返时延数据内接收到的已应答的数据量,评估得出该网络当下的报文发送窗口数据,最后基于在途数据和报文发送窗口数据对报文进行发送控制,避免了通过大量的浮点计算进行网络拥塞控制,提高网络拥塞控制的效率并减小硬件实现复杂度;同时基于评估的窗口控制网络中的在途数据量,减小了对网络设备(如交换机、路由器)的队列堆积,从而减小了端到端的往返时间并能保持高吞吐率。
88.下面对本技术实施例提供的网络拥塞控制装置进行介绍,下文描述的网络拥塞控制装置与上文描述的网络拥塞控制方法可相互对应参照。
89.请参考图2,图2为本技术实施例所提供的一种网络拥塞控制装置的结构示意图。
90.本实施例中,该装置可以包括:
91.时延数据获取模块100,用于对网络进行往返时延测量,得到往返时延数据;
92.在途数据获取模块200,用于对网络进行在途数维护处理,得到在途数据;
93.窗口数据获取模块300,用于基于往返时延数据和接收到的已应答报文数据进行
发送窗口维护处理,得到报文发送窗口数据;
94.网络报文控制模块400,用于基于在途数据和报文发送窗口数据对网络的报文进行发送控制。
95.可选的,时延数据获取模块100,具体用于对网络的目标数据报文的发送时间和回应时间进行记录,得到目标数据报文对应的往返时延;将多个目标数据报文中的最小的往返时延作为往返时延数据。
96.可选的,在途数据获取模块200,具体用于基于发送的请求报文的数量和接收的回应报文的数量对原始在途数据进行维护,得到在途数据。
97.可选的,网络报文控制模块400,具体用于判断在途数据是否大于报文发送窗口数据;若是,则设置为停止发送状态。
98.本技术还提供了一种终端设备,请参考图3,图3为本技术所提供的一种终端设备的结构示意图,该终端设备可包括:
99.存储器,用于存储计算机程序;
100.处理器,用于执行计算机程序时可实现如上述任意一种网络拥塞控制方法的步骤。
101.如图3所示,为终端设备的组成结构示意图,终端设备可以包括:处理器10、存储器11、通信接口12和通信总线13。处理器10、存储器11、通信接口12均通过通信总线13完成相互间的通信。
102.在本技术实施例中,处理器10可以为中央处理器(central processing unit,cpu)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。
103.处理器10可以调用存储器11中存储的程序,具体的,处理器10可以执行异常ip识别方法的实施例中的操作。
104.存储器11中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本技术实施例中,存储器11中至少存储有用于实现以下功能的程序:
105.对网络进行往返时延测量,得到往返时延数据;
106.对网络进行在途数维护处理,得到在途数据;
107.基于往返时延数据和和接收到的已应答的数据量,得到报文发送窗口数据;
108.基于在途数据和报文发送窗口数据对网络的报文进行发送控制。
109.在一种可能的实现方式中,存储器11可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能所需的应用程序等;存储数据区可存储使用过程中所创建的数据。
110.此外,存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
111.通信接口12可以为通信模块的接口,用于与其他设备或者系统连接。
112.当然,需要说明的是,图3所示的结构并不构成对本技术实施例中终端设备的限定,在实际应用中终端设备可以包括比图3所示的更多或更少的部件,或者组合某些部件。
113.本技术还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算
机程序,计算机程序被处理器执行时可实现如上述任意一种网络拥塞控制方法的步骤。
114.该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
115.对于本技术提供的计算机可读存储介质的介绍请参照上述方法实施例,本技术在此不做赘述。
116.说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
117.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
118.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
119.以上对本技术所提供的一种网络拥塞控制方法、网络拥塞控制装置、终端设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献