一种基于自适应滑动窗的弱连接流量管控方法与流程

您所在的位置:网站首页 滑动窗口示意图怎么做 一种基于自适应滑动窗的弱连接流量管控方法与流程

一种基于自适应滑动窗的弱连接流量管控方法与流程

2023-01-02 06:51| 来源: 网络整理| 查看: 265

一种基于自适应滑动窗的弱连接流量管控方法与流程

1.本发明涉及一种流量管控方法,特别是一种基于自适应滑动窗的弱连接流量管控方法。

背景技术:

2.目前网络传输技术及设备的发展迅猛,在日常生活中,人们所能享受到的网络条件越来越好,基本能够实现传输链路的相对稳定,频率资源分配充足,传输时延无明显抖动,大大提升了人们的生活质量。但是在一些特定的场景下,因为部分频点受干扰不可用、地形地物遮挡、部署位置距离过远以及信道拥塞等因素影响,导致传输链路链路状态不稳定,传输时延抖动明显,连接断续。为了更好的衡量服务质量,业界定义了多个维度,1)时延,ip包从网络入口点到达网络出口点所需的传输时间,主要与实际网络中的数据流量状况有关,当数据量较大、网络和设备满负荷运转时,产生的拥塞和排队、调度和转发时延将会显著增加;2)抖动,主要还是指连续的语音信号在传输过程中数据包到达接收端时间不同而导致回放语音时断时续的状况;3)丢包率,通常当接收包的数量超过了输出端口的大小限制时就会产生拥塞,从而产生丢包;4)吞吐量,指网络中ip包的传输速率;5)可用性是指用户能够使用ip业务可用性功能的时间间隔占ip业务全部时间间隔的百分比。结合这几个维度来看,流量管理的核心是解决各类网络情况下的信道拥塞问题。3.1988年开始,jacobson提出了“慢启动”和“拥塞避免”算法。1990年又出现了“快速重传”“快速恢复”算法,奠定了避免网络拥塞的基础。在互联网经历了多次中带变革后,现行流量管控产品基本采用应用和协议识别技术以及队列管理机制(例如《网络流量控制技术及应用研究》或《ip网络流量控制技术的应用及发展》),但依然会面临控制难、网络资源利用率低以及网络出口拥塞不可控等问题。

技术实现要素:

4.发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于自适应滑动窗的弱连接流量管控方法。5.为了解决上述技术问题,本发明公开了一种基于自适应滑动窗的弱连接流量管控方法,包括以下步骤:步骤1、在网络传输过程中,定义滑动窗口,对发送数据的长度进行限制;步骤2、根据设定的默认窗口值,即滑动窗口的长度,启动传输策略;步骤3、分析当前网络质量,确定滑动窗口大小,并根据滑动窗口大小调整网络流量;步骤4、极端网络质量条件下,对滑动窗口的状态进行监听及调控;步骤5、多任务类型下基于状态的并行处理策略。6.本发明步骤1中所述的定义滑动窗口的方法包括:在短报文传输服务的发送端与接收端同步定义滑动窗口,待发送数据存入缓冲区后,每次发送数据的长度由所述滑动窗口的长度决定。7.本发明步骤2中所述的启动传输策略包括:首次启动传输时,自动获取设定的默认窗口值,即滑动窗口的长度,并根据所述的即滑动窗口的长度限定发送数据的长度;在整个传输过程中,周期性记录产生拥塞的窗口长度上限值,并计算得到产生拥塞的窗口长度的平均值,保存为默认窗口值,在下次启动传输时使用。8.本发明步骤3中所述的分析当前网络质量的方法包括:根据传输数据的可达性判断网络质量,同一个目的地址的消息通过发送-应答的串行方式传输,当出现应答问题时表示网络质量下降。9.本发明步骤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表示需同时满足。10.多进程同步处理应答任务的方法,具体包括:步骤3-1-1,等待应答超时,网络中数据发送端所使用的带宽,即发送窗口长度减小一个步进值n;步骤3-1-2,数据发送端的发送数据量等于调整前发送窗口,且未发生数据丢失,即belost1=0/1andbelost2=0,那么发送窗口按线性增长btlbw=btlbw+n;步骤3-1-3,数据发送端的发送数据量等于调整前发送窗口,发生少量数据丢失,即belost1=1andbelost2=1,那么发送窗口线性减少btlbw=btlbw–n;步骤3-1-4,数据发送端的发送数据量小于调整前发送窗口,且未发生数据丢失,那么发送窗口根据发送数据量按比例线性增长;步骤3-1-5,数据发送端的发送数据量小于调整前发送窗口,且发生数据丢失,发送窗口线性减小;步骤3-1-6,当发送窗口长度值持续线性增长过程中,第一次出现线性减小,即belost1=0andbelost2=1;,预示出现网络拥塞,则当前窗口长度值定义为临时最优窗口值tempbw=btlbw。11.步骤3-2,多进程同步处理窗口管理任务,方法包括:当多进程同步处理窗口管理任务时,采用临时最优窗口值规则进行处理;临时最优窗口值规则如下:其中,count为临时最优窗口值的持续执行次数,effcount为临时最优窗口值的最大有效执行次数;当窗口值持续线性增长过程中,第一次出现线性减小,预示着出现网络拥塞,则当前窗口值定义为临时最优窗口值tempbw=btlbw;对临时最优窗口值进行有效期计数,有效期内发送窗口值不再变动,均使用临时最优窗口btlbw=tempbw;临时最优窗口值超出有效期后,默认失效,继续执行步骤3-2。12.本发明步骤4中所述的极端网络质量条件下的应对方法包括:在极端网络质量条件下,发送方数据包存在丢包情况,接收方只能接收到失序分段数据,此时,为避免任务处理的无效循环,当发送方接收方连续发出三个重复确认报文后,发送方强制判定网络拥塞,采取窗口线性减小策略,所述窗口线性减小策略即以步进值n为单位减小窗口大小,再次发送数据,若再次判定为网络拥塞,则重复上述操作。13.本发明步骤5中所述的多任务类型下基于状态的并行处理策略包括:所有数据处理任务的处理措施都基于对应的任务状态,当任务处理队列中包含数据处理任务及状态处理任务时,状态任务的处理优先级高于数据任务,确保基于状态的调控策略得到第一时间的响应。14.有益效果:(1)能够根据历史数据获取启动默认窗口值,在外围条件不变的情况下,可以更快的将窗口值收敛在最优解。15.(2)以实际数据传输效果作为网络状态依据,反哺于发送数据窗口的大小控制,能够实时且自适应的实现滑动窗口的调整,在避免网络拥塞的同时能够将窗口控制在动态最优解的附近,从而提高传输效率。16.(3)临时最优窗口策略能够在弱连接场景下实现短时间窗口期内的平稳传输。17.下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。附图说明18.图1是本发明涉及的数据流动示意图。19.图2是本发明实现步骤流程图。20.图3是本发明中自适应滑动窗口图的示意图。21.图4是对比相同场景下tcp拥塞控制下的示意图。22.图5是本发明一个实施例的组成示意图。具体实施方式23.实现本发明目的的技术解决方案是根据网络质量在应答报文中设置“滑动窗口”的大小来实现的。在短报文传输服务的发送端与接收端同步定义滑动窗口的概念,待发送数据存入缓冲区后,每次发送数据长度由窗口长度决定。24.开始发送数据时,按默认窗口发送数据,正确接收应答报文后,则按线性规律增长滑动窗口长度。当接收方收到数据后发现数据是非尾包数据且不足窗口长度,则表明当前网络信道质量不足以支撑该数据量的正常传输,需要降低下次传输的数据量,以防止产生网络拥塞。接收方在向发送方发送应答报文时,将“滑动窗口”长度减小。发送方将滑动窗口做同步调整,使下次发送的数据分段长度变短,直至能够接收正确应答报文后,再次按线性规律增长滑动窗口长度。以此达到动态适配网络质量的传输目的。25.考虑到弱连接下出现的极端情况,接收方可以向发送方发送“零窗口”报文,使发送方暂停数据的发送。当接收方条件允许后,接收方将再次向发送方发送窗口大小大于0的“允许发送”报文。为了避免“允许发送”报文的丢失导致死锁,接收到“零窗口”报文的发送方会设置一个计时器,如果计时时间内未收到ꢀ“允许发送”报文,那么发送方将发送数据长度为1字节的“零窗口探测报文”。26.本发明的原理是:开始发送数据时,发送方并不清楚当前的网络状况,如果发送大量的数据可能导致网络拥塞。因此采用历史经验法来试探的方式,先从默认窗口值开始,以线性规律逐步增大发送端的拥塞控制窗口。由于弱连接下网络状态相对不稳定,过快的增大窗口反而会增加单位时间内产生网络拥塞的概率。27.发生拥塞后,拥塞控制窗口线性减小,在减小过程中首次正确应答时,出现临时最优窗口值,为确保数据传输的效率最优,窗口大小按临时最优策略保持一段时间后再次线性增加,在保持过程中出现异常应答,则继续执行线性减小策略,以此类推。28.另外,在接收方收到失序分段后,立即发出重复确认报文。当发送方连续收到三个重复确认报文时,发送方不必等待定时器超时,直接发送未确认接收成功的报文分段。当发送方连续收到三个重复确认时,并不能确定当前网络是否出现了拥塞,强制判定为出现网络拥塞,并采取窗口线性减小的策略。29.如图1所示,本发明主要涉及在数据收发端的处理模块。其中,发送模块中包括待发送任务优先级队列、回执等待任务链表、发送数据缓冲值、数据分段发送线程、回执处理线程以及发送任务状态探寻模块;接收模块包括接收任务状态定时探询模块、接收处理队列、接收数据缓冲池等。30.在发送端,从待发送任务优先级队列中取出最优先任务并分段发送数据至数据缓冲区,在数据缓冲区中,按照自适应滑动窗口取出对应长度数据对外发送。等待接收回执的同时定时探询发送任务状态,发送成功则移除任务,失败或等待超过失效时间则丢弃任务。31.在接收端,从接收数据缓冲区中按自适应窗口取出对应长度数据,存入接收任务队列进行处理。同时定时探询接收任务状态,等待分段数据超时,则发送重传回执,超最大超时次数或失效则丢弃任务。32.一种基于自适应滑动窗的弱连接流量管控方法,如图2所示,包括以下步骤:步骤1、在网络传输过程中,定义滑动窗口,对发送数据的长度进行限制;步骤2、根据设定的默认窗口值,即滑动窗口的长度,启动传输策略;步骤3、分析当前网络质量,确定滑动窗口大小,并根据滑动窗口大小调整网络流量;步骤4、极端网络质量条件下,对滑动窗口的状态进行监听及调控;步骤5、多任务类型下基于状态的并行处理策略。33.本发明步骤1中所述的定义滑动窗口的方法包括:在短报文传输服务的发送端与接收端同步定义滑动窗口,待发送数据存入缓冲区后,每次发送数据的长度由所述滑动窗口的长度决定。34.本发明步骤2中所述的启动传输策略包括:首次启动传输时,自动获取设定的默认窗口值,即滑动窗口的长度,并根据所述的即滑动窗口的长度限定发送数据的长度;在整个传输过程中,周期性记录产生拥塞的窗口长度上限值,并计算得到产生拥塞的窗口长度的平均值,保存为默认窗口值,在下次启动传输时使用。35.本发明步骤3中所述的分析当前网络质量的方法包括:根据传输数据的可达性判断网络质量,同一个目的地址的消息通过发送-应答的串行方式传输,当出现应答问题时表示网络质量下降。36.如图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表示需同时满足。37.多进程同步处理应答任务的方法,具体包括:步骤3-1-1,等待应答超时,网络中数据发送端所使用的带宽,即发送窗口长度减小一个步进值n;步骤3-1-2,数据发送端的发送数据量等于调整前发送窗口,且未发生数据丢失,即belost1=0/1andbelost2=0,那么发送窗口按线性增长btlbw=btlbw+n;步骤3-1-3,数据发送端的发送数据量等于调整前发送窗口,发生少量数据丢失,即belost1=1andbelost2=1,那么发送窗口线性减少btlbw=btlbw–n;步骤3-1-4,数据发送端的发送数据量小于调整前发送窗口,且未发生数据丢失,那么发送窗口根据发送数据量按比例线性增长;步骤3-1-5,数据发送端的发送数据量小于调整前发送窗口,且发生数据丢失,发送窗口线性减小;步骤3-1-6,当发送窗口长度值持续线性增长过程中,第一次出现线性减小,即belost1=0andbelost2=1;,预示出现网络拥塞,则当前窗口长度值定义为临时最优窗口值tempbw=btlbw。38.步骤3-2,多进程同步处理窗口管理任务,方法包括:当多进程同步处理窗口管理任务时,采用临时最优窗口值规则进行处理;临时最优窗口值规则如下:其中,count为临时最优窗口值的持续执行次数,effcount为临时最优窗口值的最大有效执行次数;当窗口值持续线性增长过程中,第一次出现线性减小,预示着出现网络拥塞,则当前窗口值定义为临时最优窗口值tempbw=btlbw;对临时最优窗口值进行有效期计数,有效期内发送窗口值不再变动,均使用临时最优窗口btlbw=tempbw;距离当前时间超过“发送窗口保鲜时间”,那么将发送重置为默认窗口值、并更新“最近一次更新时间”。发送窗口的超时重置在查询时发生,保证流程的串行执行。50.步骤5:根据窗口值及数据缓冲区数据量计算发送数据量。51.步骤6:更新消息“发送次数”和“上次发送时间”,将接收端状态置为不可用,将任务状态置为“正在发送”,把待发送数据进行合理分包后使用udp协议发送,并返回步骤1.2。52.步骤7:多进程同步处理应答任务。53.步骤7.1:如果消息已接收完毕,移除任务队列中相应的数据发送任务。54.步骤7.2:如果消息未接收完成,消息状态中的“发送次数”置0。55.步骤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。56.步骤8:多进程同步处理窗口管理任务。57.步骤8.1:针对每个发送任务记录窗口值,并根据规则获取临时最优窗口值,并强制覆盖写入该任务的窗口值。临时最优窗口值规则如下:规则8.1.1:当窗口值持续线性增长过程中,第一次出现线性减小,预示着出现网络拥塞,则当前窗口值定义为临时最优窗口值tempbw=btlbw。58.步骤8.2:对临时最优窗口值进行有效期计数,有效期内发送窗口值不再变动,均使用临时最优窗口btlbw=tempbw。59.步骤8.3:临时最优窗口值超出有效期后,默认失效,继续执行7.3步骤除以上步骤外,为进一步快速处理拥塞场景下数据丢失的情况,而外补充以下步骤。60.步骤9:在接收方收到失序分段后,立即发出重复确认报文。当发送方连续收到三个重复确认报文时,发送方不必等待定时器超时,直接发送未确认接收成功的报文分段。61.步骤10:当发送方连续收到三个重复确认时,并不能确定当前网络是否出现了拥塞,强制判定为出现网络拥塞,并采取窗口线性减小的策略。62.如图4所示为本发明方法的对比对象,在弱连接场景下,对比tcp拥塞控制下数据传输,与图4所示方法相比,本文提出的方法更能够使得窗口值在窗口值更快、更长时间的收敛在最优值附近,从而更易于保证在一定网络状态下的高效传输。63.具体实现中,本技术提供计算机存储介质以及对应的数据处理单元,其中,该计算机存储介质能够存储计算机程序,所述计算机程序通过数据处理单元执行时可运行本发明提供的一种基于自适应滑动窗的弱连接流量管控方法的发明内容以及各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。64.本领域的技术人员可以清楚地了解到本发明实施例中的技术方案可借助计算机程序以及其对应的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机程序即软件产品的形式体现出来,该计算机程序软件产品可以存储在存储介质中,包括若干指令用以使得一台包含数据处理单元的设备(可以是个人计算机,服务器,单片机,muu或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。65.本发明提供了一种基于自适应滑动窗的弱连接流量管控方法的思路及方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3