CN115514710A - 一种基于自适应滑动窗的弱连接流量管控方法 - Google Patents
一种基于自适应滑动窗的弱连接流量管控方法 Download PDFInfo
- Publication number
- CN115514710A CN115514710A CN202211390843.8A CN202211390843A CN115514710A CN 115514710 A CN115514710 A CN 115514710A CN 202211390843 A CN202211390843 A CN 202211390843A CN 115514710 A CN115514710 A CN 115514710A
- Authority
- CN
- China
- Prior art keywords
- window
- data
- sending
- sliding window
- value
- 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.)
- Granted
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/22—Traffic shaping
- H04L47/225—Determination of shaping rate, e.g. using a moving window
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种基于自适应滑动窗的弱连接流量管控方法,包括:在网络传输过程中,定义滑动窗口,对发送数据的长度进行限制;根据设定的默认窗口值,即滑动窗口的长度,启动传输策略;分析当前网络质量,调整滑动窗口大小,并根据滑动窗口大小控制当下网络流量;极端网络质量条件下,对滑动窗口的状态进行监听并及时调控;多任务类型下基于状态的并行处理策略。借鉴“慢启动”、“拥塞避免”和“快恢复”等方法,结合弱连接场景特点,利用丢包情况对信道状况进行评估并作为自适应窗口控制影响因子,采用滑动窗口的自适应策略保证了信道通畅,以及对信道的相对满载使用,实现了窄带、高往返时延、时断时续的弱连接网络环境下数据的高效传输。
Description
技术领域
本发明涉及一种流量管控方法,特别是一种基于自适应滑动窗的弱连接流量管控方法。
背景技术
目前网络传输技术及设备的发展迅猛,在日常生活中,人们所能享受到的网络条件越来越好,基本能够实现传输链路的相对稳定,频率资源分配充足,传输时延无明显抖动,大大提升了人们的生活质量。但是在一些特定的场景下,因为部分频点受干扰不可用、地形地物遮挡、部署位置距离过远以及信道拥塞等因素影响,导致传输链路链路状态不稳定,传输时延抖动明显,连接断续。为了更好的衡量服务质量,业界定义了多个维度,1)时延,IP包从网络入口点到达网络出口点所需的传输时间,主要与实际网络中的数据流量状况有关,当数据量较大、网络和设备满负荷运转时,产生的拥塞和排队、调度和转发时延将会显著增加;2)抖动,主要还是指连续的语音信号在传输过程中数据包到达接收端时间不同而导致回放语音时断时续的状况;3)丢包率,通常当接收包的数量超过了输出端口的大小限制时就会产生拥塞,从而产生丢包;4)吞吐量,指网络中IP包的传输速率;5)可用性是指用户能够使用IP业务可用性功能的时间间隔占IP业务全部时间间隔的百分比。结合这几个维度来看,流量管理的核心是解决各类网络情况下的信道拥塞问题。
1988年开始,Jacobson提出了“慢启动”和“拥塞避免”算法。1990年又出现了“快速重传”“快速恢复”算法,奠定了避免网络拥塞的基础。在互联网经历了多次中带变革后,现行流量管控产品基本采用应用和协议识别技术以及队列管理机制(例如《网络流量控制技术及应用研究》或《IP网络流量控制技术的应用及发展》),但依然会面临控制难、网络资源利用率低以及网络出口拥塞不可控等问题。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于自适应滑动窗的弱连接流量管控方法。
为了解决上述技术问题,本发明公开了一种基于自适应滑动窗的弱连接流量管控方法,包括以下步骤:
步骤1、在网络传输过程中,定义滑动窗口,对发送数据的长度进行限制;
步骤2、根据设定的默认窗口值,即滑动窗口的长度,启动传输策略;
步骤3、分析当前网络质量,确定滑动窗口大小,并根据滑动窗口大小调整网络流量;
步骤4、极端网络质量条件下,对滑动窗口的状态进行监听及调控;
步骤5、多任务类型下基于状态的并行处理策略。
本发明步骤1中所述的定义滑动窗口的方法包括:
在短报文传输服务的发送端与接收端同步定义滑动窗口,待发送数据存入缓冲区后,每次发送数据的长度由所述滑动窗口的长度决定。
本发明步骤2中所述的启动传输策略包括:
首次启动传输时,自动获取设定的默认窗口值,即滑动窗口的长度,并根据所述的即滑动窗口的长度限定发送数据的长度;
在整个传输过程中,周期性记录产生拥塞的窗口长度上限值,并计算得到产生拥塞的窗口长度的平均值,保存为默认窗口值,在下次启动传输时使用。
本发明步骤3中所述的分析当前网络质量的方法包括:
根据传输数据的可达性判断网络质量,同一个目的地址的消息通过发送-应答的串行方式传输,当出现应答问题时表示网络质量下降。
本发明步骤3中所述的确定滑动窗口大小,并根据滑动窗口大小调整网络流量的方法包括:
步骤3-1,多进程同步处理应答任务,方法包括:
在弱连接情况下,从A端传输数据到B端的链路中的属性定义如下:
BtlBw,表示瓶颈带宽,即在A端到B端的链路中,传输数据存在最小的最慢的传输瓶颈,该段带宽定义为瓶颈带宽;
BtlBufSize,表示瓶颈缓存,即在A端和B端都存在收发缓存,其中较小的一方缓存定义为瓶颈缓存;
RTprop,表示数据从A端到B端的传输最小时延;
BDP,表示整条链路所存储的数据量;其中BDP= BtlBw* RTprop;
T,表示数据从A端到B端的传输实际时延;
R,表示数据从A端到B端的传输实际带宽;
D,表示数据从A端发出后,未被B端接收到的数据;
由以上定义可以得出:
T>= RTprop,即实际时延总是大于等于最小时延的;
R<= BtlBw,即实际带宽总是小于等于瓶颈带宽的;
R=D/T;
根据如下方法计算并确定滑动窗口大小:
其中,BeLost1为记录上一次数据丢失情况,BeLost2为记录当前数据丢失情况,TempBw为临时最优带宽值,n为带宽增长或减小的步进值,And表示需同时满足。
多进程同步处理应答任务的方法,具体包括:
步骤3-1-1,等待应答超时,网络中数据发送端所使用的带宽,即发送窗口长度减小一个步进值n;
步骤3-1-2,数据发送端的发送数据量等于调整前发送窗口,且未发生数据丢失,即BeLost1 = 0/1 And BeLost2 = 0,那么发送窗口按线性增长BtlBw = BtlBw+n;
步骤3-1-3,数据发送端的发送数据量等于调整前发送窗口,发生少量数据丢失,即BeLost1 = 1 And BeLost2 =1,那么发送窗口线性减少BtlBw = BtlBw – n;
步骤3-1-4,数据发送端的发送数据量小于调整前发送窗口,且未发生数据丢失,那么发送窗口根据发送数据量按比例线性增长;
步骤3-1-5,数据发送端的发送数据量小于调整前发送窗口,且发生数据丢失,发送窗口线性减小;
步骤3-1-6,当发送窗口长度值持续线性增长过程中,第一次出现线性减小,即BeLost1 = 0 And BeLost2 =1;,预示出现网络拥塞,则当前窗口长度值定义为临时最优窗口值TempBw= BtlBw。
步骤3-2,多进程同步处理窗口管理任务,方法包括:
当多进程同步处理窗口管理任务时,采用临时最优窗口值规则进行处理;临时最优窗口值规则如下:
其中,count为临时最优窗口值的持续执行次数,effcount为临时最优窗口值的最大有效执行次数;
当窗口值持续线性增长过程中,第一次出现线性减小,预示着出现网络拥塞,则当前窗口值定义为临时最优窗口值TempBw= BtlBw;
对临时最优窗口值进行有效期计数,有效期内发送窗口值不再变动,均使用临时最优窗口BtlBw= TempBw;
临时最优窗口值超出有效期后,默认失效,继续执行步骤3-2。
本发明步骤4中所述的极端网络质量条件下的应对方法包括:
在极端网络质量条件下,发送方数据包存在丢包情况,接收方只能接收到失序分段数据,此时,为避免任务处理的无效循环,当发送方接收方连续发出三个重复确认报文后,发送方强制判定网络拥塞,采取窗口线性减小策略,所述窗口线性减小策略即以步进值n为单位减小窗口大小,再次发送数据,若再次判定为网络拥塞,则重复上述操作。
本发明步骤5中所述的多任务类型下基于状态的并行处理策略包括:
所有数据处理任务的处理措施都基于对应的任务状态,当任务处理队列中包含数据处理任务及状态处理任务时,状态任务的处理优先级高于数据任务,确保基于状态的调控策略得到第一时间的响应。
有益效果:
(1)能够根据历史数据获取启动默认窗口值,在外围条件不变的情况下,可以更快的将窗口值收敛在最优解。
(2)以实际数据传输效果作为网络状态依据,反哺于发送数据窗口的大小控制,能够实时且自适应的实现滑动窗口的调整,在避免网络拥塞的同时能够将窗口控制在动态最优解的附近,从而提高传输效率。
(3)临时最优窗口策略能够在弱连接场景下实现短时间窗口期内的平稳传输。
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
附图说明
图1是本发明涉及的数据流动示意图。
图2是本发明实现步骤流程图。
图3是本发明中自适应滑动窗口图的示意图。
图4是对比相同场景下TCP拥塞控制下的示意图。
图5是本发明一个实施例的组成示意图。
具体实施方式
实现本发明目的的技术解决方案是根据网络质量在应答报文中设置“滑动窗口”的大小来实现的。在短报文传输服务的发送端与接收端同步定义滑动窗口的概念,待发送数据存入缓冲区后,每次发送数据长度由窗口长度决定。
开始发送数据时,按默认窗口发送数据,正确接收应答报文后,则按线性规律增长滑动窗口长度。当接收方收到数据后发现数据是非尾包数据且不足窗口长度,则表明当前网络信道质量不足以支撑该数据量的正常传输,需要降低下次传输的数据量,以防止产生网络拥塞。接收方在向发送方发送应答报文时,将“滑动窗口”长度减小。发送方将滑动窗口做同步调整,使下次发送的数据分段长度变短,直至能够接收正确应答报文后,再次按线性规律增长滑动窗口长度。以此达到动态适配网络质量的传输目的。
考虑到弱连接下出现的极端情况,接收方可以向发送方发送“零窗口”报文,使发送方暂停数据的发送。当接收方条件允许后,接收方将再次向发送方发送窗口大小大于0的“允许发送”报文。为了避免“允许发送”报文的丢失导致死锁,接收到“零窗口”报文的发送方会设置一个计时器,如果计时时间内未收到 “允许发送”报文,那么发送方将发送数据长度为1字节的“零窗口探测报文”。
本发明的原理是:
开始发送数据时,发送方并不清楚当前的网络状况,如果发送大量的数据可能导致网络拥塞。因此采用历史经验法来试探的方式,先从默认窗口值开始,以线性规律逐步增大发送端的拥塞控制窗口。由于弱连接下网络状态相对不稳定,过快的增大窗口反而会增加单位时间内产生网络拥塞的概率。
发生拥塞后,拥塞控制窗口线性减小,在减小过程中首次正确应答时,出现临时最优窗口值,为确保数据传输的效率最优,窗口大小按临时最优策略保持一段时间后再次线性增加,在保持过程中出现异常应答,则继续执行线性减小策略,以此类推。
另外,在接收方收到失序分段后,立即发出重复确认报文。当发送方连续收到三个重复确认报文时,发送方不必等待定时器超时,直接发送未确认接收成功的报文分段。当发送方连续收到三个重复确认时,并不能确定当前网络是否出现了拥塞,强制判定为出现网络拥塞,并采取窗口线性减小的策略。
如图1所示,本发明主要涉及在数据收发端的处理模块。其中,发送模块中包括待发送任务优先级队列、回执等待任务链表、发送数据缓冲值、数据分段发送线程、回执处理线程以及发送任务状态探寻模块;接收模块包括接收任务状态定时探询模块、接收处理队列、接收数据缓冲池等。
在发送端,从待发送任务优先级队列中取出最优先任务并分段发送数据至数据缓冲区,在数据缓冲区中,按照自适应滑动窗口取出对应长度数据对外发送。等待接收回执的同时定时探询发送任务状态,发送成功则移除任务,失败或等待超过失效时间则丢弃任务。
在接收端,从接收数据缓冲区中按自适应窗口取出对应长度数据,存入接收任务队列进行处理。同时定时探询接收任务状态,等待分段数据超时,则发送重传回执,超最大超时次数或失效则丢弃任务。
一种基于自适应滑动窗的弱连接流量管控方法,如图2所示,包括以下步骤:
步骤1、在网络传输过程中,定义滑动窗口,对发送数据的长度进行限制;
步骤2、根据设定的默认窗口值,即滑动窗口的长度,启动传输策略;
步骤3、分析当前网络质量,确定滑动窗口大小,并根据滑动窗口大小调整网络流量;
步骤4、极端网络质量条件下,对滑动窗口的状态进行监听及调控;
步骤5、多任务类型下基于状态的并行处理策略。
本发明步骤1中所述的定义滑动窗口的方法包括:
在短报文传输服务的发送端与接收端同步定义滑动窗口,待发送数据存入缓冲区后,每次发送数据的长度由所述滑动窗口的长度决定。
本发明步骤2中所述的启动传输策略包括:
首次启动传输时,自动获取设定的默认窗口值,即滑动窗口的长度,并根据所述的即滑动窗口的长度限定发送数据的长度;
在整个传输过程中,周期性记录产生拥塞的窗口长度上限值,并计算得到产生拥塞的窗口长度的平均值,保存为默认窗口值,在下次启动传输时使用。
本发明步骤3中所述的分析当前网络质量的方法包括:
根据传输数据的可达性判断网络质量,同一个目的地址的消息通过发送-应答的串行方式传输,当出现应答问题时表示网络质量下降。
如图3所示,本发明步骤3中所述的确定滑动窗口大小,并根据滑动窗口大小调整网络流量的方法包括:
步骤3-1,多进程同步处理应答任务,方法包括:
在弱连接情况下,从A端传输数据到B端的链路中的属性定义如下:
BtlBw,表示瓶颈带宽,即在A端到B端的链路中,传输数据存在最小的最慢的传输瓶颈,该段带宽定义为瓶颈带宽;
BtlBufSize,表示瓶颈缓存,即在A端和B端都存在收发缓存,其中较小的一方缓存定义为瓶颈缓存;
RTprop,表示数据从A端到B端的传输最小时延;
BDP,表示整条链路所存储的数据量;其中BDP= BtlBw* RTprop;
T,表示数据从A端到B端的传输实际时延;
R,表示数据从A端到B端的传输实际带宽;
D,表示数据从A端发出后,未被B端接收到的数据;
由以上定义可以得出:
T>= RTprop,即实际时延总是大于等于最小时延的;
R<= BtlBw,即实际带宽总是小于等于瓶颈带宽的;
R=D/T;
根据如下方法计算并确定滑动窗口大小:
其中,BeLost1为记录上一次数据丢失情况,BeLost2为记录当前数据丢失情况,TempBw为临时最优带宽值,n为带宽增长或减小的步进值,And表示需同时满足。
多进程同步处理应答任务的方法,具体包括:
步骤3-1-1,等待应答超时,网络中数据发送端所使用的带宽,即发送窗口长度减小一个步进值n;
步骤3-1-2,数据发送端的发送数据量等于调整前发送窗口,且未发生数据丢失,即BeLost1 = 0/1 And BeLost2 = 0,那么发送窗口按线性增长BtlBw = BtlBw+n;
步骤3-1-3,数据发送端的发送数据量等于调整前发送窗口,发生少量数据丢失,即BeLost1 = 1 And BeLost2 =1,那么发送窗口线性减少BtlBw = BtlBw – n;
步骤3-1-4,数据发送端的发送数据量小于调整前发送窗口,且未发生数据丢失,那么发送窗口根据发送数据量按比例线性增长;
步骤3-1-5,数据发送端的发送数据量小于调整前发送窗口,且发生数据丢失,发送窗口线性减小;
步骤3-1-6,当发送窗口长度值持续线性增长过程中,第一次出现线性减小,即BeLost1 = 0 And BeLost2 =1;,预示出现网络拥塞,则当前窗口长度值定义为临时最优窗口值TempBw= BtlBw。
步骤3-2,多进程同步处理窗口管理任务,方法包括:
当多进程同步处理窗口管理任务时,采用临时最优窗口值规则进行处理;临时最优窗口值规则如下:
其中,count为临时最优窗口值的持续执行次数,effcount为临时最优窗口值的最大有效执行次数;
当窗口值持续线性增长过程中,第一次出现线性减小,预示着出现网络拥塞,则当前窗口值定义为临时最优窗口值TempBw= BtlBw;
对临时最优窗口值进行有效期计数,有效期内发送窗口值不再变动,均使用临时最优窗口BtlBw= TempBw;
临时最优窗口值超出有效期后,默认失效,继续执行步骤3-2。
本发明步骤4中所述的极端网络质量条件下的应对方法包括:
在极端网络质量条件下,发送方数据包存在丢包情况,接收方只能接收到失序分段数据,此时,为避免任务处理的无效循环,当发送方接收方连续发出三个重复确认报文后,发送方强制判定网络拥塞,采取窗口线性减小策略,所述窗口线性减小策略即以步进值n为单位减小窗口大小,再次发送数据,若再次判定为网络拥塞,则重复上述操作。
本发明步骤5中所述的多任务类型下基于状态的并行处理策略包括:
所有数据处理任务的处理措施都基于对应的任务状态,当任务处理队列中包含数据处理任务及状态处理任务时,状态任务的处理优先级高于数据任务,确保基于状态的调控策略得到第一时间的响应。
实施例:
如图5所示,在一个实施例中,流量管控的方法包括:
步骤1:从配置文件中获取默认窗口值,作为软件启动后首次数据发送控制窗口;
此时BtlBw = defBw;
步骤1.1:多任务并行处理,主要包括对外发送数据任务和接收应答任务;
步骤1.2:获取发送数据任务,根据任务状态管理机制创建状态监控,同步记录当前的BtlBufSize、RTprop以及计算BDP= BtlBw* RTprop,便于对该任务全生命周期内状态的记录;
步骤1.3:若任务队列为空,处理流程将阻塞,直到等到新的任务到来。
步骤2:获取发送数据任务状态。
步骤2.1:任务处于“未发送”状态,那么直接执行步骤3;
步骤2.2:任务处于“正在发送”状态,执行步骤2.3检查消息是否失效;
步骤2.3:检查任务“发送时间”和当前时间差,
如果时间间隔超过时效性,即SendTime>EffTime,那么从任务队列中移除消息,继续执行步骤1.2,否则执行步骤2.4;
步骤2.4:检查消息“发送次数”。如果“发送次数”超过“最大重传次数”,SendCount>ReSCount,那么从任务队列中移除消息,重新执行步骤1.2,否则执行步骤2.5;
步骤2.5:检查消息“上次发送时间”和当前时间差,如果时间间隔超过“消息重传时间”,Time > ResTime 那么将发送数据内容替换为消息接收状态查询信令,直接执行步骤4。
步骤3:获取发送数据任务状态管理信息中接收端状态(以目的IP为标记)。
步骤3.1:仅选择可用的接收端进行数据的发送,其他处于不可用状态的接收端暂停其数据的发送。
步骤3.2:如果接收端可用,那么进入步骤4。
步骤3.3:任务状态管理机制定期对接收端状态进行检查,处于不可用状态的接收端一旦超出状态保持期限,自动修改为可用。
步骤4:根据接收端标识查询发送窗口值,若首次发送则填入默认窗口值。
在所述步骤4中,考虑弱连接场景下到网络可能存在严重的抖动,为防止接收端发送窗口失效,对对应发送窗口的“最近一次更新时间”进行检查:如果“最近一次更新时间”距离当前时间超过“发送窗口保鲜时间”,那么将发送重置为默认窗口值、并更新“最近一次更新时间”。发送窗口的超时重置在查询时发生,保证流程的串行执行。
步骤5:根据窗口值及数据缓冲区数据量计算发送数据量。
步骤6:更新消息“发送次数”和“上次发送时间”,将接收端状态置为不可用,将任务状态置为“正在发送”,把待发送数据进行合理分包后使用UDP协议发送,并返回步骤1.2。
步骤7:多进程同步处理应答任务。
步骤7.1:如果消息已接收完毕,移除任务队列中相应的数据发送任务。
步骤7.2:如果消息未接收完成,消息状态中的“发送次数”置0。
步骤7.3:根据消息接收情况,调整发送窗口,并修改“最近一次更新时间”。目的地址发送窗口调整规则如下:
规则7.3.1:发送数据量等于调整前发送窗口,且未发生数据丢失,BeLost2 == 0那么发送窗口根据发送数据量按比例线性增长BtlBw = BtlBw+n;
规则7.3.2:发送数据量等于调整前发送窗口,发生少量数据丢失,BeLost2 == 0那么发送窗口线性减少BtlBw = BtlBw-n;
规则7.3.4:发送数据量小于调整前发送窗口,且未发生数据丢失,那么发送窗口根据发送数据量按比例线性增长BtlBw = BtlBw+n;
规则7.3.5:发送数据量小于调整前发送窗口,且发生数据丢失,发送窗口指数减小BtlBw = BtlBw-n。
步骤8:多进程同步处理窗口管理任务。
步骤8.1:针对每个发送任务记录窗口值,并根据规则获取临时最优窗口值,并强制覆盖写入该任务的窗口值。临时最优窗口值规则如下:
规则8.1.1:当窗口值持续线性增长过程中,第一次出现线性减小,预示着出现网络拥塞,则当前窗口值定义为临时最优窗口值TempBw= BtlBw。
步骤8.2:对临时最优窗口值进行有效期计数,有效期内发送窗口值不再变动,均使用临时最优窗口BtlBw= TempBw。
步骤8.3:临时最优窗口值超出有效期后,默认失效,继续执行7.3步骤
除以上步骤外,为进一步快速处理拥塞场景下数据丢失的情况,而外补充以下步骤。
步骤9:在接收方收到失序分段后,立即发出重复确认报文。当发送方连续收到三个重复确认报文时,发送方不必等待定时器超时,直接发送未确认接收成功的报文分段。
步骤10:当发送方连续收到三个重复确认时,并不能确定当前网络是否出现了拥塞,强制判定为出现网络拥塞,并采取窗口线性减小的策略。
如图4所示为本发明方法的对比对象,在弱连接场景下,对比TCP拥塞控制下数据传输,与图4所示方法相比,本文提出的方法更能够使得窗口值在窗口值更快、更长时间的收敛在最优值附近,从而更易于保证在一定网络状态下的高效传输。
具体实现中,本申请提供计算机存储介质以及对应的数据处理单元,其中,该计算机存储介质能够存储计算机程序,所述计算机程序通过数据处理单元执行时可运行本发明提供的一种基于自适应滑动窗的弱连接流量管控方法的发明内容以及各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(random access memory,RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术方案可借助计算机程序以及其对应的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机程序即软件产品的形式体现出来,该计算机程序软件产品可以存储在存储介质中,包括若干指令用以使得一台包含数据处理单元的设备(可以是个人计算机,服务器,单片机,MUU或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本发明提供了一种基于自适应滑动窗的弱连接流量管控方法的思路及方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (10)
1.一种基于自适应滑动窗的弱连接流量管控方法,其特征在于,包括以下步骤:
步骤1、在网络传输过程中,定义滑动窗口,对发送数据的长度进行限制;
步骤2、根据设定的默认窗口值,即滑动窗口的长度,启动传输策略;
步骤3、分析当前网络质量,确定滑动窗口大小,并根据滑动窗口大小调整网络流量;
步骤4、极端网络质量条件下,对滑动窗口的状态进行监听及调控;
步骤5、多任务类型下基于状态的并行处理策略。
2.根据权利要求1所述的一种基于自适应滑动窗的弱连接流量管控方法,其特征在于,步骤1中所述的定义滑动窗口的方法包括:
在短报文传输服务的发送端与接收端同步定义滑动窗口,待发送数据存入缓冲区后,每次发送数据的长度由上述滑动窗口的长度决定。
3.根据权利要求2所述的一种基于自适应滑动窗的弱连接流量管控方法,其特征在于,步骤2中所述的启动传输策略包括:
首次启动传输时,自动获取设定的默认窗口值,即滑动窗口的长度,并根据所述的滑动窗口的长度限定发送数据的长度;
在整个传输过程中,周期性记录产生拥塞的窗口长度上限值,并计算得到产生拥塞的窗口长度的平均值,保存为默认窗口值,在下次启动传输时使用。
4.根据权利要求3所述的一种基于自适应滑动窗的弱连接流量管控方法,其特征在于,步骤3中所述的分析当前网络质量的方法包括:
根据传输数据的可达性判断网络质量,同一个目的地址的消息通过发送-应答的串行方式传输,当出现应答问题时表示网络质量下降。
5.根据权利要求4所述的一种基于自适应滑动窗的弱连接流量管控方法,其特征在于,步骤3中所述的确定滑动窗口大小,并根据滑动窗口大小调整网络流量的方法包括:
步骤3-1,多进程同步处理应答任务;
步骤3-2,多进程同步处理窗口管理任务。
6.根据权利要求5所述的一种基于自适应滑动窗的弱连接流量管控方法,其特征在于,步骤3-1中所述的多进程同步处理应答任务的方法包括:
在弱连接情况下,从A端传输数据到B端的链路中的属性定义如下:
BtlBw,表示瓶颈带宽,即在A端到B端的链路中,传输数据存在最小的最慢的传输瓶颈,该段带宽定义为瓶颈带宽;
BtlBufSize,表示瓶颈缓存,即在A端和B端都存在收发缓存,其中较小的一方缓存定义为瓶颈缓存;
RTprop,表示数据从A端到B端的传输最小时延;
BDP,表示整条链路所存储的数据量;其中BDP= BtlBw* RTprop;
T,表示数据从A端到B端的传输实际时延;
R,表示数据从A端到B端的传输实际带宽;
D,表示数据从A端发出后,未被B端接收到的数据;
由以上定义可以得出:
T>= RTprop,即实际时延总是大于等于最小时延的;
R<= BtlBw,即实际带宽总是小于等于瓶颈带宽的;
R=D/T;
根据如下方法计算并确定滑动窗口大小:
其中,BeLost1为记录上一次数据丢失情况,BeLost2为记录当前数据丢失情况,TempBw为临时最优带宽值,n为带宽增长或减小的步进值,And表示需同时满足。
7.根据权利要求6所述的一种基于自适应滑动窗的弱连接流量管控方法,其特征在于,步骤3-1中所述的多进程同步处理应答任务的方法,具体包括:
步骤3-1-1,等待应答超时,网络中数据发送端所使用的带宽,即发送窗口长度减小一个步进值n;
步骤3-1-2,数据发送端的发送数据量等于调整前发送窗口,且未发生数据丢失,即BeLost1 = 0/1 And BeLost2 = 0,那么发送窗口按线性增长BtlBw = BtlBw+n;
步骤3-1-3,数据发送端的发送数据量等于调整前发送窗口,发生少量数据丢失,即BeLost1 = 1 And BeLost2 =1,那么发送窗口线性减少BtlBw = BtlBw – n;
步骤3-1-4,数据发送端的发送数据量小于调整前发送窗口,且未发生数据丢失,那么发送窗口根据发送数据量按比例线性增长;
步骤3-1-5,数据发送端的发送数据量小于调整前发送窗口,且发生数据丢失,发送窗口线性减小;
步骤3-1-6,当发送窗口长度值持续线性增长过程中,第一次出现线性减小,即BeLost1= 0 And BeLost2 =1;,预示出现网络拥塞,则当前窗口长度值定义为临时最优窗口值TempBw= BtlBw。
8.根据权利要求7所述的一种基于自适应滑动窗的弱连接流量管控方法,其特征在于,步骤3-2中所述的多进程同步处理窗口管理任务的方法包括:
当多进程同步处理窗口管理任务时,采用临时最优窗口值规则进行处理;临时最优窗口值规则如下:
其中,count为临时最优窗口值的持续执行次数,effcount为临时最优窗口值的最大有效执行次数;
当窗口值持续线性增长过程中,第一次出现线性减小,预示着出现网络拥塞,则当前窗口值定义为临时最优窗口值TempBw= BtlBw;
对临时最优窗口值进行有效期计数,有效期内发送窗口值不再变动,均使用临时最优窗口BtlBw= TempBw;
临时最优窗口值超出有效期后,默认失效,继续执行步骤3-2。
9.根据权利要求8所述的一种基于自适应滑动窗的弱连接流量管控方法,其特征在于,步骤4中所述的极端网络质量条件下的应对方法包括:
在极端网络质量条件下,发送方数据包存在丢包情况,接收方只能接收到失序分段数据,此时,为避免任务处理的无效循环,当发送方接收方连续发出三个重复确认报文后,发送方强制判定网络拥塞,采取窗口线性减小策略,所述窗口线性减小策略即以步进值n为单位减小窗口大小,再次发送数据,若再次判定为网络拥塞,则重复上述操作。
10.根据权利要求9所述的一种基于自适应滑动窗的弱连接流量管控方法,其特征在于,步骤5中所述的多任务类型下基于状态的并行处理策略包括:
所有数据处理任务的处理措施都基于对应的任务状态,当任务处理队列中包含数据处理任务及状态处理任务时,状态任务的处理优先级高于数据任务,确保基于状态的调控策略得到第一时间的响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211390843.8A CN115514710B (zh) | 2022-11-08 | 2022-11-08 | 一种基于自适应滑动窗的弱连接流量管控方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211390843.8A CN115514710B (zh) | 2022-11-08 | 2022-11-08 | 一种基于自适应滑动窗的弱连接流量管控方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115514710A true CN115514710A (zh) | 2022-12-23 |
CN115514710B CN115514710B (zh) | 2023-03-10 |
Family
ID=84514457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211390843.8A Active CN115514710B (zh) | 2022-11-08 | 2022-11-08 | 一种基于自适应滑动窗的弱连接流量管控方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115514710B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501359A (zh) * | 2023-06-29 | 2023-07-28 | 深圳和润达科技有限公司 | 对设备进行自适应远程升级的方法、装置、系统及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2037010A1 (en) * | 1990-04-27 | 1991-10-28 | Bharat Tarachand Doshi | High speed transport protocol with two windows |
CN1405994A (zh) * | 2002-11-08 | 2003-03-26 | 清华大学 | Tp-s卫星信道专用传输协议及传输方法 |
US6643259B1 (en) * | 1999-11-12 | 2003-11-04 | 3Com Corporation | Method for optimizing data transfer in a data network |
CN1556629A (zh) * | 2004-01-06 | 2004-12-22 | �����ʵ��ѧ | 通信网络中调整拥塞窗口的方法 |
CN101094047A (zh) * | 2007-07-06 | 2007-12-26 | 中国人民解放军国防科学技术大学 | 基于网络状态测量的分阶段慢启动传输控制方法 |
CN101188473A (zh) * | 2007-12-20 | 2008-05-28 | 上海交通大学 | 无线自组织网络中的传输层发送速率自适应调整方法 |
CN103929370A (zh) * | 2013-01-11 | 2014-07-16 | 中国科学院声学研究所 | 一种用于带宽预留网络的tcp拥塞控制方法 |
WO2016138786A1 (zh) * | 2015-03-02 | 2016-09-09 | 华为技术有限公司 | 传输控制协议tcp数据包的发送方法、发送装置和系统 |
CN110740098A (zh) * | 2018-07-18 | 2020-01-31 | 云南电网有限责任公司 | 一种针对空间数据通信的拥塞控制算法 |
-
2022
- 2022-11-08 CN CN202211390843.8A patent/CN115514710B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2037010A1 (en) * | 1990-04-27 | 1991-10-28 | Bharat Tarachand Doshi | High speed transport protocol with two windows |
US6643259B1 (en) * | 1999-11-12 | 2003-11-04 | 3Com Corporation | Method for optimizing data transfer in a data network |
CN1405994A (zh) * | 2002-11-08 | 2003-03-26 | 清华大学 | Tp-s卫星信道专用传输协议及传输方法 |
CN1556629A (zh) * | 2004-01-06 | 2004-12-22 | �����ʵ��ѧ | 通信网络中调整拥塞窗口的方法 |
CN101094047A (zh) * | 2007-07-06 | 2007-12-26 | 中国人民解放军国防科学技术大学 | 基于网络状态测量的分阶段慢启动传输控制方法 |
CN101188473A (zh) * | 2007-12-20 | 2008-05-28 | 上海交通大学 | 无线自组织网络中的传输层发送速率自适应调整方法 |
CN103929370A (zh) * | 2013-01-11 | 2014-07-16 | 中国科学院声学研究所 | 一种用于带宽预留网络的tcp拥塞控制方法 |
WO2016138786A1 (zh) * | 2015-03-02 | 2016-09-09 | 华为技术有限公司 | 传输控制协议tcp数据包的发送方法、发送装置和系统 |
CN110740098A (zh) * | 2018-07-18 | 2020-01-31 | 云南电网有限责任公司 | 一种针对空间数据通信的拥塞控制算法 |
Non-Patent Citations (2)
Title |
---|
杨华甫,倪子伟: "基于TCP的流量控制和拥塞控制分析", 《计算机系统应用》 * |
高飞: "SUPANET的流量控制技术研究", 《全国优秀硕士学位论文全文数据库》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501359A (zh) * | 2023-06-29 | 2023-07-28 | 深圳和润达科技有限公司 | 对设备进行自适应远程升级的方法、装置、系统及介质 |
CN116501359B (zh) * | 2023-06-29 | 2023-09-15 | 深圳和润达科技有限公司 | 对设备进行自适应远程升级的方法、装置、系统及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115514710B (zh) | 2023-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6310886B1 (en) | Method and apparatus implementing a multimedia digital network | |
US7613114B2 (en) | Packet scheduling apparatus | |
JP5059976B2 (ja) | 通信装置及び通信方法 | |
EP1701506B1 (en) | Method and system for transmission control protocol (TCP) traffic smoothing | |
US5361063A (en) | Method and apparatus for scheduling access to a CSMA communication medium | |
US7733773B2 (en) | Playout based delay scheduler | |
US8391292B2 (en) | Systems and methods for dynamically adjusting QoS parameters | |
CN112104562B (zh) | 拥塞控制方法及装置、通信网络、计算机存储介质 | |
CN113938945B (zh) | 数据包发送的方法、装置 | |
JP4700290B2 (ja) | 通信システム内のフロー制御のための方法 | |
CN115514710B (zh) | 一种基于自适应滑动窗的弱连接流量管控方法 | |
US20040047361A1 (en) | Method and system for TCP/IP using generic buffers for non-posting TCP applications | |
CN113315720B (zh) | 一种数据流控制方法、系统及设备 | |
US20220248259A1 (en) | Data processing method and apparatus | |
CN113242183A (zh) | 一种数据流发送控制方法、装置、智能终端及存储介质 | |
CN110022218B (zh) | 组播通讯方法、终端设备及存储介质 | |
CN116319569A (zh) | 网络参数更新方法、网络参数更新装置、介质及电子设备 | |
US20060221827A1 (en) | Tcp implementation with message-count interface | |
JP2606128B2 (ja) | コンピュータ間通信方法 | |
WO2021013260A1 (zh) | 一种网络传输控制方法及装置 | |
CN112152938B (zh) | 一种云虚拟环境中往返时延的确定方法 | |
CN117579556A (zh) | 拥塞控制方法、设备、介质和程序产品 | |
CN117478618A (zh) | 网络数据的调度方法、装置、电子设备及可读存储介质 | |
JPH11205332A (ja) | データ転送装置および方法 | |
CN114363956A (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 |