网络拥塞的控制方法、装置及系统与流程

文档序号:11995546阅读:333来源:国知局
网络拥塞的控制方法、装置及系统与流程
本发明涉及通信技术领域,尤其涉及一种网络拥塞的控制方法、装置及系统。

背景技术:
在当今的互联网时代,两个网络终端之间经常通过网络频繁交互数据,如上传文件或下载视频等,但当某个时间网络上使用人数骤增并且传输数据量很大时,则会造成网络拥塞,网速变慢的同时还将造成数据丢包等问题。为了避免局域网中的网络拥塞问题,现有技术的解决办法是将数据的发送速率的最大值限定为一个固定值,这样,无论传输的数据量多少,发送速率都被限制在该固定值之内,从而避免的数据量过大而造成丢包或延时递增的问题。由于将数据发送速率的最大值限定为固定值,该固定值无法满足网络的实时变化,若固定值设的较高,仍会产生拥塞造成丢包及时延递增问题,而若设的过小,则会影响传输效率,因此,通过限制发送速率的最大值存在无法依据网络带宽的实时变化而进行预防拥塞发生的问题。

技术实现要素:
本发明的实施例提供一种网络拥塞的控制方法、装置及系统,解决了不能依据网络带宽的实时变化而进行预防拥塞发生的问题。为达到上述目的,本发明的实施例采用如下技术方案:一种网络拥塞的控制方法,包括以下步骤:当第一定时器满足预设的探测发送间隔时,向目的终端发送第一探测报文;接收所述目的终端根据所述第一探测报文返回的第一应答报文;获取所述第一应答报文的收到时间;当第二定时器满足预设的监控间隔时,获取当前时间;获取所述当前时间与所述当前时间最后收到的第一应答报文的收到时间的时间差为相对应答时间;根据所述相对应答时间与预先设置的应答时间差值的关系,调整数据的发送速率。进一步地,还包括:接收所述目的终端依据所述探测发送间隔发送的包含顺序编号的第二探测报文;获取所述第二探测报文的收到时间;获取所述当前时间与所述第二探测报文的收到时间的差值为探测时间差;当所述当前时间最后收到的两个所述第二探测报文之间的编号为连续时,获取所述当前时间与所述两个第二探测报文中的后者的收到时间的差值为探测间隔;获取所述探测间隔和所述探测时间差中的最大值为相对探测时间;获取所述相对应答时间与所述相对探测时间的差值为相对时间差;所述根据所述相对应答时间与预先设置的应答时间差值的关系,调整所述数据的发送速率,包括:当所述相对应答时间大于预设的应答时间差值,依据所述相对时间差与预先设置的相对时间差值的关系,调整所述数据的发送速率。进一步地,所述当所述相对应答时间大于预设的应答时间差值,依据所述相对时间差与预先设置的相对时间差值的关系,调整所述数据的发送速率,包括:当所述相对应答时间大于预设的应答时间差值,并且所述相对时间差大于预先设置的第一相对时间差值时,降低所述数据的发送速率。其中,所述当所述相对应答时间大于预设的应答时间差值,并且所述相对时间差大于预先设置的第一相对时间差值时,降低所述数据的发送速率,包括:根据所述相对时间差的预设取值范围,分段降低所述数据的发送速率。进一步地,所述当所述相对应答时间大于预设的应答时间差值,依据所述相对时间差与预先设置的相对时间差值的关系,调整所述数据的发送速率,包括:当所述相对应答时间大于预设的应答时间差值,并且所述相对时间差小于预设的第二相对时间差值时,获取从向目的终端发送所述第一探测报文至收到所述第一探测报文对应的所述第一应答报文的时间为环回时间RTT;当所述环回时间RTT大于预设的RTT值时,向所述目的终端发送降低所述目的终端的数据的发送速率的指示。进一步地,包括:获取从向目的终端发送所述第一探测报文至收到所述第一应答报文的时间为环回时间RTT;获取所述当前时间最后一个所述环回时间RTT与所述探测间隔的数值之和;获取所述当前时间的至少连续N1个的环回时间RTT,其中N1为常数;当所述N1个环回时间RTT之间的变化量不超过预先设置的变化值时,获取所述环回时间RTT的最小值为RTT正常值;当所述相对应答时间大于所述数值之和,并且所述相对探测时间大于所述RTT正常值的N2倍时,其中N2为常数,降低所述数据的发送速率。进一步地,所述根据所述相对应答时间与预先设置的应答时间差值的关系,调整所述数据的发送速率,包括:当连续至少两次所述相对时间差小于时间差预设值并且所述数据的发送速率小于速率预设值时,提高所述数据的发送速率。进一步地,还包括:当所述数据为图像数据时,根据所述图像数据的码率与帧率之间的关系,进行限制所述发送速率的最大值。其中,所述当所述数据为图像数据时,根据所述图像数据的码率与帧率之间的参数关系,进行限制所述发送速率的最大值,包括:当所述数据为图像数据时,根据限制速率Vmax=(CXM)/S,其中C为所述图像数据的码率,S为所述图像数据的帧率,M为常数,进行限制所述发送速率的最大值;当所述图像数据的发送速率和所述限制速率都大于预设速度值时,同时所述发送速率大于所述限制速率时,进行限制所述发送速率的最大值为所述发送速率。又一方面,提供了一种网络拥塞的控制装置,包括:第一定时模块,用于依据预设的探测发送间隔进行定时;探测发送模块,用于当所述第一定时模块满足所述预设的探测发送间隔时,向目的终端发送第一探测报文;应答接收模块,用于接收所述目的终端根据所述第一探测报文返回的第一应答报文,并获取所述第一应答报文的收到时间;第二定时模块,用于依据预设的监控间隔进行定时;拥塞判断模块,用于当所述第二定时模块满足预设的监控间隔时,获取当前时间,并获取所述当前时间与所述应答接收模块接收的第一应答报文的收到时间的时间差为相对应答时间,根据所述相对应答时间与预先设置的应答时间差值的关系,调整所述数据的发送速率。进一步地,还包括:探测接收模块,用于接收所述目的终端依据所述预设的探测发送间隔发送的包含顺序编号的第二探测报文,获取所述第二探测报文的收到时间;所述拥塞判断模块,还用于获取所述当前时间与所述探测接收模块接收的第二探测报文的收到时间的差值为探测时间差,当所述当前时间最后收到的两个所述第二探测报文之间的编号连续时,获取所述当前时间与所述两个第二探测报文中的后者的收到时间的差值为探测间隔,获取所述探测间隔和所述探测时间差中的最大值为相对探测时间,获取所述相对应答时间与所述相对探测时间的差值为相对时间差,当所述相对应答时间大于预设的应答时间差值,依据所述相对时间差与预先设置的相对时间差值的关系,调整所述数据的发送速率。另一方面,提供了一种网络拥塞的控制系统,包括:数据发送装置,用于当第一定时器满足预设的探测发送间隔时,向数据接收装置发送第一探测报文,接收所述数据接收装置返回的所述第一探测报文对应的第一应答报文,并获取所述第一应答报文的收到时间,当第二定时器满足预设的监控间隔时,获取当前时间,获取所述当前时间与所述第一应答报文的收到时间的时间差为相对应答时间,根据所述相对应答时间与预先设置的应答时间差值的关系,调整所述数据的发送速率;数据接收装置,用于接收所述数据发送装置发送的第一探测报文,依据所述预设的探测发送间隔向所述数据发送装置返回所述第一探测报文对应的第一应答报文。本发明实施例提供的网络拥塞的控制方法、装置及系统,由于通过向目的终端发送第一探测报文及目的终端返回对应的第一应答报文,得到定时获取的当前时间与该当前时间最后收到的第一应答报文的收到时间的差值为相对应答时间,依据该应答时间与预先设置的应答时间差值的关系,可以判断每个当前时间下是否产生数据传输的延时,由于通过当前时间的监测,能动态地监控数据传输速率的变化,从而实时有效地调整数据的发送速率以适应网络带宽的变化,实现了实时监控网络传输并动态调整速率以预防拥塞的发生,达到了对网络宽带资源进行充分适应及利用。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例一中的网络拥塞的控制方法的步骤流程图一;图2为本发明实施例一中的网络拥塞的控制方法的步骤流程图二;图3为本发明实施例二中的网络拥塞的控制方法的步骤流程图一;图4为本发明实施例二中的网络拥塞的控制方法的步骤流程图二;图5为本发明实施例三中的网络拥塞的控制装置的结构图一;图6为本发明实施例三中的网络拥塞的控制装置的结构图二;图7为本发明实施例四中的网络拥塞的控制系统的结构图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例一如图1所示,本发明实施例提供的网络拥塞的控制方法,该方法包括以下步骤:步骤101,当第一定时器满足预设的探测发送间隔时,向目的终端发送第一探测报文。在本实例中,通过步骤101中的第一定时器可以依据预设探测发送间隔,定期地向目的终端发送第一探测报文,该第一探测报文可以包括顺序编号和时间戳,每个时间戳用来记录相应第一探测报文的发送时间。其中,预设探测发送间隔可以依据具体网络环境进行设定或更改,在此不一一赘述。步骤102,接收目的终端根据第一探测报文返回的第一应答报文。步骤103,获取第一应答报文的收到时间。本实例中,当目的终端收到第一探测报文时会确认返回该第一探测报文对应的的第一应答报文,通过步骤102接收每个第一应答报文,该第一应答报文的内容可以包括与其对应的第一探测报文一致的编号和时间戳。通过步骤103获取每个第一应答报文的收到时间,依据每个第一应答报文的编号可以核查顺序编号中那些编号未返回第一应答报文的第一探测报文,从而可以判断是否出现丢包的现象。步骤104,当第二定时器满足预设的监控间隔时,获取当前时间。本实施例中,步骤104的预设的监控间隔可以依据具体网络环境进行设定或更改,本发明实施例是以单位为毫秒的时间间隔,由于间隔很短,这样可以实时动态地获取到网络数据的传输情况。步骤105,获取当前时间与当前时间最后收到的第一应答报文的收到时间的时间差为相对应答时间。步骤106,根据所述相对应答时间与预先设置的应答时间差值的关系,调整所述数据的发送速率。本实施例中,通过步骤105和106进行实时地判断每个当前时间与该当前时间最后收到的第一应答报文的时间差值,当相对应答时间不断增加并大于预先设置的应答时间差值时,说明截至当前时间下一直未收到新的第一应答报文,表明网络开始出现了数据传输延时,进而提前进行调整控制发送速率,实现了实时动态地监控网络出现数据延时的发生,进而提前进行调整控制发送速率而预防拥塞。其中,该预先设置的应答时间差值的范围可以依据具体网络环境进行设定或更改,在此不一一赘述。进一步地,如图2所示,在图1的基础上,还可以包括以下步骤:步骤201,获取从向目的终端发送第一探测报文至收到所述第一应答报文的时间为环回时间RTT。步骤202,获取当前时间最后一个所述环回时间RTT与探测间隔的数值之和。步骤203,当N1个环回时间RTT之间的变化量不超过预先设置的变化值时,获取所述环回时间RTT的最小值为RTT正常值。步骤204,当所述相对应答时间大于所述数值之和,并且所述相对探测时间大于所述RTT正常值的N2倍时,降低所述数据的发送速率。本实例中,N1、N2和预先设置的变化值的数值范围可以依据具体网络环境进行设定或更改,其中N1、N2为常数,在此不一一赘述。本实施例提供的网络拥塞的控制方法,通过步骤步骤201至204实现了当无法判断拥塞方向时,通过发送终端和目的终端同时进行降低数据的发送速率以降低拥塞的严重性。本实施例提供的网络拥塞的控制方法,通过在数据传输过程中以定时获取的当前时间实时地获知每个当前时间最后接收第一应答报文的是否大于预设的时间差值而判断是否存在数据传输的延时发生,进而调整数据的传送速率,实现了实时依据网络数据的传输延时情况动态地调整速率并预防拥塞的发生。实施例二如图3所示,本实施例提供的网络拥塞的控制方法,该方法与图1提供的类似,区别在于增加了以下步骤:步骤107,接收目的终端依据探测发送间隔发送的包含顺序编号的第二探测报文。步骤108,获取该第二探测报文的收到时间。步骤109,获取当前时间与该第二探测报文的收到时间的差值为探测时间差。步骤110,当该当前时间最后收到的两个第二探测报文之间的编号为连续时,获取该当前时间与上述两个第二探测报文中的后者的收到时间的差值为探测间隔。步骤111,获取该探测间隔和探测时间差中的最大值为相对探测时间。步骤112,获取相对应答时间与相对探测时间的时间差值为相对时间差。其中,步骤106进一步被细化为以下步骤:步骤1060,当相对应答时间大于预先设置的应答时间差值,依据相对时间差与预先设置的相对时间差值的关系,调整数据的发送速率。本实施例中,步骤1060依据不同相对时间差与预先设置的相对时间差值的关系,可以区分数据延时产生的网络方向,从而针对不同的方向进行调整数据的发送速率。进一步地,步骤1060可以包括以下步骤:当所述相对应答时间大于预设的应答时间差值,且相对时间差大于预先设置的第一相对时间差值时,降低数据的发送速率。本实施例中,在实施例一的步骤1060中,当相对应答时间大于预先设置的应答时间差值时,说明已产生了数据传输延时,但此时不能区分延时发送的方向,通过本实例中步骤1060的改进,当相对时间差大于预先设置的第一相对时间差值时,则当前时间最近收到的两个第二探测报文的时间差比最近收到的两个第一应答报文的时间差小,说明后一个第一应答报文对应的第一探测报文在向目的终端传输过程中出现了延时,所以得出上行方向开始出现了数据延时,通过降低上行方向的数据发送速率而避免上行方向发生拥塞,在实时的当前时间下依据相对应答时间和相对时间差的变化,实现了动态地控制网络上行方向的传送速率以预防拥塞的发生。其中,预先设置的第一相对时间差值可以依据具体网络环境进行设定或更改,在此不一一赘述。进一步地,步骤106还可以包括以下步骤:当相对应答时间大于预设的应答时间差值,并且相对时间差小于预设的第二相对时间差值时,获取从向目的终端发送所述第一探测报文至收到所述第一探测报文对应的所述第一应答报文的时间为环回时间RTT。当所述环回时间RTT大于预设的RTT值时,向所述目的终端发送降低所述目的终端的数据的发送速率的指示。本实施例中,相对应答时间大于预设的应答时间差值,而当相对时间差小于预设的第二相对时间差值时,且环回时间RTT大于预设的RTT值时,说明网络的下行方向出现了数据延时,此时通过向所述目的终端发送降低所述目的终端的数据的发送速率的指示,从而通过指示目的终端降低的数据发送速率而避免下行方向发生拥塞,实现了实时动态地监控网络下行方向的数据延时以预防拥塞的发生。其中,预先设置的第二相对时间差值和预设的RTT值可以依据具体网络环境进行设定或更改,在此不一一赘述。另外,步骤106中的降低数据的发送速率可以具体为:根据相对时间差的预设取值范围,分段降低所述数据的发送速率。本实施例中,通过相对时间差的预设取值范围,进行分段降低发送速率,可以避免盲目降低的过多或过少而造成网络不稳定的问题,实现了有效地控制发送速率的平稳过渡。其中,相对时间差的预设取值范围可以依据具体网络环境进行设定或更改,在此不一一赘述。进一步地,如图4所示,在如图3所示的本实施例基础上,当完成步骤1060后,又增加了以下步骤:步骤401,当连续至少两次相对时间差小于时间差预设值并且数据的发送速率小于速率预设值时,提高所述数据的发送速率。本实施例中,当步骤1060完成后,通过步骤401判断,如果连续两次相对时间差减小于时间差预设值时,则上行网络的宽带传输顺畅,无延时,此时数据发送速率过小并小于速率预设值时,则说明发送速率过低而未充分利用宽带资源,此时需要通过步骤401提高数据的发送速率。发送速率的提高可以依据预设的速度增加值进行调整,实现了当发送速率过低而网络畅通的情况下时,动态地调整发送速率能充分地利用网络宽带资源。其中,时间差预设值、速率预设值可以依据具体网络环境进行设定或更改,在此不一一赘述。进一步地,当数据为图像数据时,本实施还可以增加了以下步骤:当数据为图像数据时,根据该图像数据的码率与帧率之间的关系,进行限制发送速率的最大值。具体为,当数据为图像数据时,限制速率Vmax=(CXM)/S,其中C为所述图像数据的码率,S为所述图像数据的帧率,M为常数,进行限制发送速率的最大值。当该图像数据的发送速率和限制速度都大于预设速度值时,同时发送速率大于所述限制速率时,进行限制发送速率的最大值为所述发送速率。其中,图像数据可以为视频数据或频幕数据,M值、预设速度值、速率预设值可以依据具体网络环境进行设定或更改,在此不一一赘述。本实例中,先通过图像数据的码率与帧率之间的关系限定发送速率的最大值,但当图像数据实时地发送速率和该限制速度超过预设速度值,同时发送速率大于该限制速率时,说明网络传输很畅通,这时用该发送速率作为发送速率的最大值进行限制,实现了当传输图像数据时,依据网络实时的传输情况,动态地限制发送速率,达到了实时动态地利用宽带利用效率并防止发送速度的虚高的效果。实施例三如图5所示,本发明实施例提供的网络拥塞的控制装置,该装置包括:第一定时模块501:用于依据预设的探测发送间隔进行定时。探测发送模块502:用于当所述第一定时模块501满足所述预设的探测发送间隔时,向目的终端发送第一探测报文。应答接收模块503:用于接收目的终端返回根据探测发送模块502发送的第一探测报文返回第一应答报文,并获取第一应答报文的收到时间。第二定时模块504:用于依据预设的监控间隔进行定时;拥塞判断模块505:用于当第二定时模块504满足预设的监控间隔时,获取当前时间,并获取当前时间与应答接收模块503接收的第一应答报文的收到时间的时间差为相对应答时间,用于当拥塞判断模块505获取的所述相对应答时间大于预设应答时间值时,降低数据的发送速率。本实施例中,通过第一定时模块501、探测发送模块502、应答接收模块503、第二定时模块504及拥塞判断模块505实现了通过判断每个当前时间与该当前时间最后收到的第一应答报文的时间差值不断增大并超过预先设置的应答时间差值的时,降低传送速度,本实施例与实施例一相似,实现了实时地监控网络出现数据延时的征兆,进而提前进行控制发送速率而预防拥塞。进一步地,如图6所示,本实施例提供的网络拥塞的控制装置还可以包括:探测接收模块506,用于接收所述目的终端依据所述预设的探测发送间隔发送的包含顺序编号的第二探测报文,获取该第二探测报文的收到时间。拥塞判断模块505,还用于获取所述当前时间与所述探测接收模块506接收的第二探测报文的收到时间的差值为探测时间差,当所述当前时间最后收到的两个所述第二探测报文之间的编号连续时,获取所述当前时间与所述两个第二探测报文中的后者的收到时间的差值为探测间隔,获取所述探测间隔和所述探测时间差中的最大值为相对探测时间,获取所述相对应答时间与所述相对探测时间的差值为相对时间差,当所述相对应答时间大于预设的应答时间差值,依据所述相对时间差与预先设置的相对时间差值的关系,调整所述数据的发送速率。本实施例中,通过探测接收模块506、拥塞判断模块505实现了,实现依据不同相对时间差与预先设置的相对时间差值的关系,可以区分数据延时产生的网络方向,从而针对不同的方向进行调整数据的发送速率,本实施例与实施例二相似,在此不一一赘述。实施例四如图7所示,一种网络拥塞的控制系统,其特征在于,包括:数据发送装置001,用于当第一定时器满足预设的探测发送间隔时,向数据接收装置发送第一探测报文,接收所述数据接收装置返回的所述第一探测报文对应的第一应答报文,并获取所述第一应答报文的收到时间,当第二定时器满足预设的监控间隔时,获取当前时间,获取所述当前时间与所述第一应答报文的收到时间的时间差为相对应答时间,根据所述相对应答时间与预先设置的应答时间差值的关系,调整所述数据的发送速率;数据接收装置002,用于接收所述数据发送装置发送的第一探测报文,依据所述预设的探测发送间隔向所述数据发送装置返回所述第一探测报文对应的第一应答报文。本实施例提供的网络拥塞的控制系统,通过数据发送装置001、数据接收装置002实现了通过判断每个当前时间与该当前时间最后收到的第一应答报文的时间差值不断增大并超过预先设置的应答时间差值的时,调整传送速度,本实施例与实施例一相似,实现了实时地监控网络数据传输的延时情况,进而调控发送速率以避免拥塞发送。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1