CN111835649A - 一种数据发送方法、装置及相关组件 - Google Patents

一种数据发送方法、装置及相关组件 Download PDF

Info

Publication number
CN111835649A
CN111835649A CN201910300004.4A CN201910300004A CN111835649A CN 111835649 A CN111835649 A CN 111835649A CN 201910300004 A CN201910300004 A CN 201910300004A CN 111835649 A CN111835649 A CN 111835649A
Authority
CN
China
Prior art keywords
window
congestion window
round
data packet
trip delay
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
Application number
CN201910300004.4A
Other languages
English (en)
Other versions
CN111835649B (zh
Inventor
黄忠强
罗得安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201910300004.4A priority Critical patent/CN111835649B/zh
Publication of CN111835649A publication Critical patent/CN111835649A/zh
Application granted granted Critical
Publication of CN111835649B publication Critical patent/CN111835649B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种数据发送方法,所述数据发送方法包括检测目标时间段内接收到确认应答消息的数据包,并确定数据包在拥塞窗口中对应的窗口区域;当数据包在拥塞窗口的第一区域内时,确定目标时间段内的每一数据包的往返时延,并根据往返时延执行时延控制操作调整拥塞窗口;按照当前拥塞窗口大小对应的发送速率执行数据发送操作。本方法能够避免出现网络拥塞状况,优化数据传输过程以提高操作实时性。本申请还公开了一种数据发送装置、一种计算机可读存储介质及一种电子设备,具有以上有益效果。

Description

一种数据发送方法、装置及相关组件
技术领域
本发明涉及数据传输技术领域,特别涉及一种数据发送方法、装置、一种计算机可读存储介质及一种电子设备。
背景技术
远程桌面传输协议是VDI(Virtual Desktop Infrastructure,虚拟桌面基础架构)中的一个重要模块,它依赖于网络环境。恶劣的网络环境将对VDI的用户体验产生很大影响,可能造成操作的时延增加、交互的卡顿现象增多、带宽利用率低等问题。
现有技术中,对远程桌面的传输控制主要是为每台虚拟机配置目标带宽,远程桌面传输依照配置的目标带宽来发送数据。但是,由于网络环境复杂多变,而且自身往网络中注入的流量也会改变网络状况,所以配置目标带宽的方案在多数场景下体验不好。
因此,如何避免出现网络拥塞状况,优化数据传输过程以提高操作实时性是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种数据发送方法、装置、一种计算机可读存储介质及一种电子设备,能够避免出现网络拥塞状况,优化数据传输过程以提高操作实时性。
为解决上述技术问题,本申请提供一种数据发送方法,该数据发送方法包括:
检测目标时间段内接收到确认应答消息的数据包,并确定数据包在拥塞窗口中对应的窗口区域;
当数据包在拥塞窗口的第一区域内时,确定目标时间段内的每一数据包的往返时延,并根据往返时延执行时延控制操作调整拥塞窗口;
按照当前拥塞窗口大小对应的发送速率执行数据发送操作。
可选的,还包括:
当数据包在拥塞窗口的第二区域内时,根据数据包数量确定拥塞窗口增长量,并根据拥塞窗口增长量调整当前拥塞窗口大小。
可选的,根据往返时延执行时延控制操作调整拥塞窗口包括:
根据往返时延计算数据包的拥塞窗口与理想窗口的窗口差值;
判断窗口差值是否大于预设差值;
若是,则将拥塞窗口的数据包个数减小第二预设数量个;
若否,则将拥塞窗口的数据包个数增加第三预设数量个。
可选的,根据往返时延计算数据包的拥塞窗口与理想窗口的窗口差值包括:
利用第一差值计算公式计算数据包的拥塞窗口与理想窗口的窗口差值;
其中,第一差值计算公式为
Figure BDA0002027923980000021
diff为窗口差值,cwnd为数据包的拥塞窗口大小,BaseRTT为基准往返时延,RTT为数据包的往返时延。
可选的,还包括:
判断数据包的往返时延是否小于基准往返时延;
若是,则将基准往返时延的值调整为往返时延;
若否,则统计往返时延连续大于基准往返时延的累积次数;
当累计次数大于第四预设值时,按照预设增长策略增加基准往返时延的数值。
可选的,还包括:
当数据包在拥塞窗口的第三区域内时,保持拥塞窗口的当前拥塞窗口大小不变。
本申请还提供了一种数据发送装置,该数据发送装置包括:
检测模块,用于检测目标时间段内接收到确认应答消息的数据包并确定数据包在拥塞窗口中对应的窗口区域;
时延控制模块,用于当数据包在拥塞窗口的第一区域内时,确定目标时间段内的每一数据包的往返时延,并根据往返时延执行时延控制操作调整拥塞窗口;
发送模块,用于按照当前拥塞窗口大小对应的发送速率执行数据发送操作。
可选的,还包括:
窗口增长模块,用于当数据包在拥塞窗口的第二区域内时,根据数据包数量确定拥塞窗口增长量,并根据拥塞窗口增长量调整当前拥塞窗口大小。
可选的,时延控制模块包括:
时延确定子模块,用于当数据包在拥塞窗口的第一区域内时,确定目标时间段内的每一数据包的往返时延;
差值计算子模块,用于根据往返时延计算数据包的拥塞窗口与理想窗口的窗口差值;
窗口调整子模块,用于判断窗口差值是否大于预设差值;若是,则将拥塞窗口的数据包个数减小第二预设数量个;若否,则将拥塞窗口的数据包个数增加第三预设数量个。
可选的,差值计算子模块具体为利用第一差值计算公式计算数据包的拥塞窗口与理想窗口的窗口差值的子模块;
其中,第一差值计算公式为
Figure BDA0002027923980000031
diff为窗口差值,cwnd为数据包的拥塞窗口大小,BaseRTT为基准往返时延,RTT为数据包的往返时延。
可选的,还包括:
判断模块,用于判断数据包的往返时延是否小于基准往返时延;
第一基准时延调整模块,用于当数据包的往返时延小于基准往返时延时,将基准往返时延的值调整为往返时延;
第二基准时延调整模块,用于当数据包的往返时延大于基准往返时延时,统计往返时延连续大于基准往返时延的累积次数;还用于当累计次数大于第四预设值时,按照预设增长策略增加基准往返时延的数值。
可选的,还包括:
窗口维持模块,用于当数据包在拥塞窗口的第三区域内时,保持拥塞窗口的当前拥塞窗口大小不变。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序执行时实现上述数据发送方法执行的步骤。
本申请还提供了一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,处理器调用存储器中的计算机程序时实现上述数据发送方法执行的步骤。
本发明提供了一种数据发送方法,包括获取目标时间段内接收到确认应答消息的数据包数量;判断数据包数量是否大于第一预设数量;若是,则确定目标时间段内的每一数据包的往返时延,并根据往返时延执行时延控制操作调整拥塞窗口;按照当前拥塞窗口大小对应的发送速率执行数据发送操作。
本申请首先获取目标时间段内收到确认应答消息的数据包,进而确定数据包处于拥塞窗口的位置。当数据包为拥塞窗口中第一区域的数据包时,执行时延控制操作。通过确定每一数据包的往返时延,根据往返时延的具体数值调整拥塞窗口的大小,由于拥塞窗口可以控制已发送但未被应答的数据包数量,进而可以调节数据的发送速度,避免出现网络拥塞的状况。因此,申请能够避免出现网络拥塞状况,优化数据传输过程以提高操作实时性。本申请同时还提供了一种数据发送装置、一种计算机可读存储介质和一种电子设备,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种数据发送方法的流程图;
图2为TCP拥塞控制示意;
图3为本申请实施例所提供的一种拥塞窗口的调整方法的流程图;
图4为本申请实施例所提供的一种基准往返时延的测算方法的流程图;
图5基准往返时延测算示意图;
图6为本申请实施例所提供的一种数据发送装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
数据传输依赖于网络环境,恶劣的网络环境将对VDI的用户体验产生很大影响,可能造成操作的时延增加、交互的卡顿现象增多、带宽利用率低等问题。现有技术中对远程桌面的传输控制方式为:由中央控制器统一调度每条连接的带宽和优先级。但是该现有技术中央控制器的存在增加了系统复杂性以及额外的延迟,而且虚拟机数量较多时也会增加中央控制器的性能损耗。现有技术中还存在另一种远程桌面的传输控制方式:为每台虚拟机配置目标带宽,远程桌面传输依照配置的目标带宽来发送数据。但是由于网络环境复杂多变,而且自身往网络中注入的流量也会改变网络状况,所以配置目标带宽的方案在多数场景下体验不好。
针对上述现有技术中的不足,本申请通过以下几个实施例提供新的数据发送方法能够解决上述现有技术中的问题,达到避免出现网络拥塞状况,优化数据传输过程以提高操作实时性的效果。
下面请参见图1,图1为本申请实施例所提供的一种数据发送方法的流程图。
具体步骤可以包括:
S101:检测目标时间段内接收到确认应答消息的数据包,并确定数据包在拥塞窗口中对应的窗口区域;
其中,本实施例提供的数据发送方法可以应用于TCP协议的数据发传输过程中,TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在TCP协议中,接收端会给发送端返回一个消息,叫做确认应答(ACK),因此TCP协议的数据包具有三种可能的状态:已应答,已发送但未应答,未发送。TCP协议可以通过拥塞窗口来控制数据包的发送速度,实际上就是控制“已发送但未应答”这部分数据的量,它反映了一个RTT(Round-Trip Time,往返时延)时间内能发送到网络中的数据包总和。请参见图2,图2为TCP拥塞控制示意,其中TCP发送队列中含有三种类型的数据,受拥塞窗口限制,只能有一定数量的数据包被发送出去而未收到接收端应答,拥塞窗口越大则发送出去的数据包就越多,越小则发送出去的数据包越少。在数据包被应答后窗口才能往后滑动继续发送未发送的数据。本实施例在内核还是应用层中均可以实现,具体的本实施例可以应用于虚拟桌面基础架构中服务端向客户端发送数据的过程。
本步骤的目的在于确定拥塞窗口中在目标时间段内接收到确认应答信息的数据包。如图2所示拥塞窗口中可以容纳多个数据包,本实施例默认将拥塞窗口划分为多个不相互重叠的窗口区域,数据包存在于拥塞窗口的某一窗口区域中。
需要说明的是,本步骤不限定数据包的数量,可以是一个数据包也可以是多个数据包。通过确定数据包在拥塞窗口中的窗口位置,并根据窗口位置确定数据包对应的区域。
S102:当数据包在拥塞窗口的第一区域内时,确定目标时间段内的每一数据包的往返时延,并根据往返时延执行时延控制操作调整拥塞窗口;
其中,本实施例默认处于第一区域内的数据包需要执行时延控制操作,通过增加拥塞窗口中允许容纳的数据包数量(即,增大拥塞窗口的窗口大小)来发送更多的数据包。但是,若只要检测到数据发送压力较大便增大拥塞窗口,将会导致数据包的往返时延增长导致网络拥塞的状况。因此,本实施例可以在不造成网络拥塞的条件下增加拥塞窗口的窗口大小。网络拥塞指网络传输性能下降并持续过载的状态,此时用户对网络资源的需求超过了固有的处理能力和容量。从网络拥塞的角度来说,若数据包的往返时延过长则说明数据发送压力较大且存在网络拥塞的状况,因此此时需要适当的减小拥塞窗口中允许容纳的数据包数量。本实施例中的提到的往返时延既可以使用原始的数据包往返时延,也可以使用经过处理后的往返时延,如进行了拉普拉斯平滑处理的往返时延。拥塞窗口英文名称为congestion window,TCP协议可以通过拥塞窗口控制数据的发送速度。在TCP协议中接收端会返回给客户端一个应答消息,拥塞窗口正是控制已发送但未被应答的数据包数量来调节数据的发送速度。
由此可知,当数据包在拥塞窗口第一区域内时往返时延成为如何调整拥塞窗口的参考。往返时延是一个数据包从源主机发出开始计时到收到目的地主机的应答为止,这一过程所经历的时延。RTT时延包括链路固有延迟、排队延迟、处理延迟等。根据往返时延调整拥塞窗口可以有效防止网络拥塞,通过控制数据的发送速率防止过多的数据注入到网络中。
具体的,本实施例除了第一区域还可以包括其他区域,例如可以将拥塞窗口对应的k个数据包为一个处理轮次,其中k=k1+k2+k3,每个数据包收到对应的ACK消息后都会执行相应的操作,对于其中k1个数据包,拥塞窗口不增不减,即维持当前的窗口大小来发送数据;对于其中k2个数据包,每接收到一个包的ACK(确认应答)消息窗口都会固定增加m,这使得窗口能够积极地增长从而提升带宽利用率。对于最后k3个数据包,每收到一次ACK都会进行一次S103中的时延控制,从而有效地避免网络拥塞,降低数据包的延迟。k1,k2,k3为0或正数,表示数据包的个数。按轮次处理既避免了网络的拥塞又能够提高带宽利用率,在二者之间取得了平衡。本步骤中提到的第一区域就是指上述k3个数据包对应的区域。
因此,作为对本实施例的进一步补充,本实施例还可以包括以下操作:当数据包在拥塞窗口的第二区域内时,根据数据包数量确定拥塞窗口增长量,并根据拥塞窗口增长量调整当前拥塞窗口大小。当数据包在拥塞窗口的第三区域内时,保持拥塞窗口的当前拥塞窗口大小不变。上述操作能够实现将拥塞窗口划分为三种区域,每一区域对应的是数据包接收到确认应答消息后均可以执行响应的操作。第一区域用于对拥塞窗口进行时延控制,第二区域用于激励窗口增长,第三区域用于保持拥塞窗口不增不减。
S103:按照当前拥塞窗口大小对应的发送速率执行数据发送操作。
其中,在调整拥塞窗口大小后,本实施例可以按照新的拥塞窗口大小发送数据。本实施例首先获取目标时间段内收到确认应答消息的数据包,进而确定数据包处于拥塞窗口的位置。当数据包为拥塞窗口中第一区域的数据包时,执行时延控制操作。通过确定每一数据包的往返时延,根据往返时延的具体数值调整拥塞窗口的大小,由于拥塞窗口可以控制已发送但未被应答的数据包数量,进而可以调节数据的发送速度,避免出现网络拥塞的状况。因此,本实施例能够避免出现网络拥塞状况,优化数据传输过程以提高操作实时性。
下面请参见图3,图3为本申请实施例所提供的一种拥塞窗口的调整方法的流程图,本实施例是图1对应实施例中S103根据往返时延执行时延控制操作调整拥塞窗口操作的具体描述,可以将本实施例与图1对应实施例相结合得到更为优选的实施方式,本实施例可以包括以下步骤:
S201:根据往返时延计算数据包的拥塞窗口与理想窗口的窗口差值;
其中,本步骤将数据包实际的往返时延与标准值进行比较,由于拥塞窗口反映一个往返时延内能发送到网络中的数据包总和,因此可以通过提交数据包的拥塞窗口与理想窗口的窗口差值来确定往返时延与标准值的相差程度。
作为一种可行的实施方式,可以利用第一差值计算公式计算数据包的拥塞窗口与理想窗口的窗口差值;
其中,第一差值计算公式为
Figure BDA0002027923980000081
diff为窗口差值,cwnd为数据包的拥塞窗口大小,BaseRTT为基准往返时延,RTT为数据包的往返时延。基准时延表示链路的固有延迟,具体指数据包在链路传输所需要的时间。
S202:判断窗口差值是否大于预设差值;若是,则进入S203;若否,则进入S204;
其中,若窗口差值大于预设差值说明往返时延明显大于基准往返时延,存在网络拥塞的状况需要减小拥塞窗口;若窗口差值小于或预设差值说明往返时延与基准往返时延相差并不明显,网络状况相对畅通可以适当增加拥塞窗口提高数据发送速度。
S203:将拥塞窗口的数据包个数减小第二预设数量个;
S204:将拥塞窗口的数据包个数增加第三预设数量个。
其中,上述提到的第二预设数量和第三预设数量均为根据实际应用条件灵活设定的值,此处不进行具体的限定。需要说明的是,本实施例可以对目标时间段每一接收到确认应答消息的处于第一区域的数据包执行本实施例中调整拥塞窗口的操作。可以存在某一数据包的执行结果是增大拥塞窗口,而另一个数据包的执行结果是减小拥塞窗口的操作。例如目标时间段内存在数据包A和数据包B均接收到确认应答消息,数据包A对应的窗口差值大于预设差值而数据包B对应的窗口差值小于预设差值,因此调整后的拥塞窗口的数据包个数等于原数据包个数减去第二预设数量再加上第三预设数量。
本实施例通过实时地调整拥塞窗口来调节数据的发送速度,如果当前数据包的RTT明显比基准RTT大,那么减小拥塞窗口;如果当前数据包的RTT与基准RTT差值在预设范围内则可以增大拥塞窗口,具体实现方式可以是比较当前窗口与理想窗口的差值来控制窗口增减。
在数据传输过程中带宽公平性对于用户体验的影响很大,带宽公平性指各条TCP连接能够公平竞争带宽,在相同的操作场景下可以大致均分带宽。例如,两台虚拟机都在播视频,它们能够均分带宽,而如果其中一台虚拟机播视频,另一台办公的虚拟机能够抢到需要的带宽,这体现了带宽的公平性。下面请参见图4,图4为本申请实施例所提供的一种基准往返时延的测算方法的流程图,本实施例可以通过根据往返时延灵活调整基准往返时延,可以将本实施例基准时延的测算方法与图3对应的实施例相结合,实现公平分配带宽,本实施例可以包括以下步骤:
S301:判断数据包的往返时延是否小于基准往返时延;若是,则进入S302;若否,则进入S303;
S302:将基准往返时延的值调整为往返时延;
S303:统计往返时延连续大于基准往返时延的累积次数。
S304:当累计次数大于第四预设值时,按照预设增长策略增加基准往返时延的数值。
举例说明上述过程,用于保证带宽公平性的自适应BaseRTT测算机制的具体实现如下:
1)当RTT<BaseRTT时,令BaseRTT=RTT;
2)当RTT>BaseRTT时,累积计数器加1;
3)当累计计数器超过阈值thresh时,BaseRTT增长r。
其中,thresh与r为设定的两个值。
请参见图5,图5基准往返时延测算示意图,在当前RTT比BaseRTT小时,BaseRTT更新为了当前RTT;而在当前RTT连续多次高于BaseRTT时,引起了BaseRTT的增长。累积计数器的存在是为了避免过快的增长。
当数据包的往返时延小于基准往返时延时,说明此时数据发送端需要占用的网络带宽较小,可以将基准往返时延调整为往返时延,以便当图3对应的实施例与本实施例相结合时使得到的窗口差值变大,进而减小拥塞窗口大小。当数据包的往返时延大于基准往返时延时,说明此时数据发送端需要占用的网络带宽较大,可以统计返时延连续大于基准往返时延的累积次数,若累计此时大于第四预设值是,则增大基准往返时延以便当图3对应的实施例与本实施例相结合时使得到的窗口差值变小,进而增大拥塞窗口大小。由此可见,通过上述方法能够实现BaseRTT(基准往返时延)的自适应测算,本实施例可以根据当前RTT进行动态地调整BaseRTT。如果两条TCP连接发生了带宽竞争,比如他们共享一个网络带宽,那么它们数据包的RTT将基本一致。又因为BaseRTT会根据当前RTT动态调整,所以两条连接将具有类似的拥塞控制行为,最终可以达到带宽公平,即它们能够大致均分带宽,这能显著改善多用户并发操作的体验效果。
当然,还可以将图1、图3和图4对应的实施例相结合得到更为优选的实施方式:通过探测网络的RTT时延情况来动态调整数据包的发送速度,从而灵敏地对网络拥塞作出反应,同时通过自适应的基准RTT测算机制,来为各条TCP连接公平分配带宽。上述这种优选的实施方式能够降低操作的响应延迟,提升用户操作的实时性,还能够保证带宽公平性,提升多用户或多虚拟机的并发体验。
请参见图6,图6为本申请实施例所提供的一种数据发送装置的结构示意图;
该装置可以包括:
检测模块100,用于检测目标时间段内接收到确认应答消息的数据包,并确定数据包在拥塞窗口中对应的窗口区域;
时延控制模块200,用于当数据包在拥塞窗口的第一区域内时,确定目标时间段内的每一数据包的往返时延,并根据往返时延执行时延控制操作调整拥塞窗口;
发送模块300,用于按照当前拥塞窗口大小对应的发送速率执行数据发送操作。
本实施例首先获取目标时间段内收到确认应答消息的数据包,进而确定数据包处于拥塞窗口的位置。当数据包为拥塞窗口中第一区域的数据包时,执行时延控制操作。通过确定每一数据包的往返时延,根据往返时延的具体数值调整拥塞窗口的大小,由于拥塞窗口可以控制已发送但未被应答的数据包数量,进而可以调节数据的发送速度,避免出现网络拥塞的状况。因此,本实施例能够避免出现网络拥塞状况,优化数据传输过程以提高操作实时性。
进一步的,该装置还包括:
窗口增长模块,用于当数据包在拥塞窗口的第二区域内时,根据数据包数量确定拥塞窗口增长量,并根据拥塞窗口增长量调整当前拥塞窗口大小。
进一步的,时延控制模块200包括:
时延确定子模块,用于当数据包在拥塞窗口的第一区域内时,确定目标时间段内的每一数据包的往返时延;
差值计算子模块,用于根据往返时延计算数据包的拥塞窗口与理想窗口的窗口差值;
窗口调整子模块,用于判断窗口差值是否大于预设差值;若是,则将拥塞窗口的数据包个数减小第二预设数量个;若否,则将拥塞窗口的数据包个数增加第三预设数量个。
进一步的,差值计算子模块具体为利用第一差值计算公式计算数据包的拥塞窗口与理想窗口的窗口差值的子模块;
其中,第一差值计算公式为
Figure BDA0002027923980000111
diff为窗口差值,cwnd为数据包的拥塞窗口大小,BaseRTT为基准往返时延,RTT为数据包的往返时延。
进一步的,该装置还包括:
判断模块,用于判断数据包的往返时延是否小于基准往返时延;
第一基准时延调整模块,用于当数据包的往返时延小于基准往返时延时,将基准往返时延的值调整为往返时延;
第二基准时延调整模块,用于当数据包的往返时延大于基准往返时延时,统计往返时延连续大于基准往返时延的累积次数;还用于当累计次数大于第四预设值时,按照预设增长策略增加基准往返时延的数值。
进一步的,该装置还包括:
窗口维持模块,用于当数据包在拥塞窗口的第三区域内时,保持拥塞窗口的当前拥塞窗口大小不变。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (14)

1.一种数据发送方法,其特征在于,包括:
检测目标时间段内接收到确认应答消息的数据包,并确定所述数据包在拥塞窗口中对应的窗口区域;
当所述数据包在所述拥塞窗口的第一区域内时,确定所述目标时间段内的每一数据包的往返时延,并根据所述往返时延执行时延控制操作调整拥塞窗口;
按照当前拥塞窗口大小对应的发送速率执行数据发送操作。
2.根据权利要求1所述数据发送方法,其特征在于,还包括:
当所述数据包在所述拥塞窗口的第二区域内时,根据所述数据包数量确定拥塞窗口增长量,并根据所述拥塞窗口增长量调整所述当前拥塞窗口大小。
3.根据权利要求1所述数据发送方法,其特征在于,所述根据所述往返时延执行时延控制操作调整拥塞窗口包括:
根据所述往返时延计算数据包的拥塞窗口与理想窗口的窗口差值;
判断所述窗口差值是否大于预设差值;
若是,则将所述拥塞窗口的数据包个数减小第二预设数量个;
若否,则将所述拥塞窗口的数据包个数增加第三预设数量个。
4.根据权利要求3所述数据发送方法,其特征在于,根据所述往返时延计算数据包的拥塞窗口与理想窗口的窗口差值包括:
利用第一差值计算公式计算所述数据包的拥塞窗口与所述理想窗口的窗口差值;
其中,所述第一差值计算公式为
Figure FDA0002027923970000011
diff为所述窗口差值,cwnd为所述数据包的拥塞窗口大小,BaseRTT为基准往返时延,RTT为所述数据包的往返时延。
5.根据权利要求4所述数据发送方法,其特征在于,还包括:
判断所述数据包的往返时延是否小于所述基准往返时延;
若是,则将所述基准往返时延的值调整为所述往返时延;
若否,则统计所述往返时延连续大于基准往返时延的累积次数;
当所述累计次数大于第四预设值时,按照预设增长策略增加所述基准往返时延的数值。
6.根据权利要求1至5任一项所述数据发送方法,其特征在于,还包括:
当所述数据包在所述拥塞窗口的第三区域内时,保持所述拥塞窗口的当前拥塞窗口大小不变。
7.一种数据发送装置,其特征在于,包括:
检测模块,用于检测目标时间段内接收到确认应答消息的数据包,并确定所述数据包在拥塞窗口中对应的窗口区域;
时延控制模块,用于当所述数据包在所述拥塞窗口的第一区域内时,确定所述目标时间段内的每一数据包的往返时延,并根据所述往返时延执行时延控制操作调整拥塞窗口;
发送模块,用于按照当前拥塞窗口大小对应的发送速率执行数据发送操作。
8.根据权利要求7所述数据发送装置,其特征在于,还包括:
窗口增长模块,用于当所述数据包在所述拥塞窗口的第二区域内时,根据所述数据包数量确定拥塞窗口增长量,并根据所述拥塞窗口增长量调整所述当前拥塞窗口大小。
9.根据权利要求7所述数据发送装置,其特征在于,所述时延控制模块包括:
时延确定子模块,用于当所述数据包在所述拥塞窗口的第一区域内时,确定所述目标时间段内的每一数据包的往返时延;
差值计算子模块,用于根据所述往返时延计算数据包的拥塞窗口与理想窗口的窗口差值;
窗口调整子模块,用于判断所述窗口差值是否大于预设差值;若是,则将所述拥塞窗口的数据包个数减小第二预设数量个;若否,则将所述拥塞窗口的数据包个数增加第三预设数量个。
10.根据权利要求9所述数据发送装置,其特征在于,所述差值计算子模块具体为利用第一差值计算公式计算所述数据包的拥塞窗口与所述理想窗口的窗口差值的子模块;
其中,所述第一差值计算公式为
Figure FDA0002027923970000031
diff为所述窗口差值,cwnd为所述数据包的拥塞窗口大小,BaseRTT为基准往返时延,RTT为所述数据包的往返时延。
11.根据权利要求10所述数据发送装置,其特征在于,还包括:
判断模块,用于判断所述数据包的往返时延是否小于所述基准往返时延;
第一基准时延调整模块,用于当所述数据包的往返时延小于所述基准往返时延时,将所述基准往返时延的值调整为所述往返时延;
第二基准时延调整模块,用于当所述数据包的往返时延大于所述基准往返时延时,统计所述往返时延连续大于基准往返时延的累积次数;还用于当所述累计次数大于第四预设值时,按照预设增长策略增加所述基准往返时延的数值。
12.根据权利要求1至6任一项所述数据发送装置,其特征在于,还包括:
窗口维持模块,用于当所述数据包在所述拥塞窗口的第三区域内时,保持所述拥塞窗口的当前拥塞窗口大小不变。
13.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述数据发送方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据发送方法的步骤。
CN201910300004.4A 2019-04-15 2019-04-15 一种数据发送方法、装置及相关组件 Active CN111835649B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910300004.4A CN111835649B (zh) 2019-04-15 2019-04-15 一种数据发送方法、装置及相关组件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910300004.4A CN111835649B (zh) 2019-04-15 2019-04-15 一种数据发送方法、装置及相关组件

Publications (2)

Publication Number Publication Date
CN111835649A true CN111835649A (zh) 2020-10-27
CN111835649B CN111835649B (zh) 2023-11-07

Family

ID=72915601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910300004.4A Active CN111835649B (zh) 2019-04-15 2019-04-15 一种数据发送方法、装置及相关组件

Country Status (1)

Country Link
CN (1) CN111835649B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113098782A (zh) * 2021-03-22 2021-07-09 武汉大学 一种网络拥塞的控制方法和计算机设备
CN113206795A (zh) * 2021-04-12 2021-08-03 烽火通信科技股份有限公司 传输策略调整方法、装置、设备及可读存储介质
CN113300971A (zh) * 2021-02-05 2021-08-24 阿里巴巴集团控股有限公司 数据处理系统及方法
CN114268988A (zh) * 2021-12-30 2022-04-01 广州爱浦路网络技术有限公司 基于5g的低轨卫星拥塞控制方法、系统、装置及介质
CN114401225A (zh) * 2021-12-02 2022-04-26 北京快乐茄信息技术有限公司 数据处理方法及装置、电子设备及存储介质
CN115022247A (zh) * 2022-06-02 2022-09-06 成都卫士通信息产业股份有限公司 流控制传输方法、装置、设备及介质
CN115174478A (zh) * 2022-07-27 2022-10-11 深圳星云智联科技有限公司 一种网络拥塞控制方法及相关装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5193151A (en) * 1989-08-30 1993-03-09 Digital Equipment Corporation Delay-based congestion avoidance in computer networks
US20030198183A1 (en) * 2000-11-22 2003-10-23 Bengt Henriques Monitoring traffic in packet networks using the sliding window procedure with subwindows
CN103888367A (zh) * 2014-03-10 2014-06-25 清华大学 基于分组传输时延的多路径tcp拥塞控制方法
JP2015033125A (ja) * 2013-08-07 2015-02-16 日本放送協会 パケット送信装置およびそのプログラム
CN107743057A (zh) * 2017-09-29 2018-02-27 国信优易数据有限公司 一种数据传输系统和方法
CN108737296A (zh) * 2017-09-27 2018-11-02 新华三技术有限公司 一种数据传输方法、装置和网络设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5193151A (en) * 1989-08-30 1993-03-09 Digital Equipment Corporation Delay-based congestion avoidance in computer networks
US20030198183A1 (en) * 2000-11-22 2003-10-23 Bengt Henriques Monitoring traffic in packet networks using the sliding window procedure with subwindows
JP2015033125A (ja) * 2013-08-07 2015-02-16 日本放送協会 パケット送信装置およびそのプログラム
CN103888367A (zh) * 2014-03-10 2014-06-25 清华大学 基于分组传输时延的多路径tcp拥塞控制方法
CN108737296A (zh) * 2017-09-27 2018-11-02 新华三技术有限公司 一种数据传输方法、装置和网络设备
CN107743057A (zh) * 2017-09-29 2018-02-27 国信优易数据有限公司 一种数据传输系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黄俊琳 等: "基于BBR的NDN拥塞控制算法", 《重庆邮电大学学报(自然科学版)》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113300971A (zh) * 2021-02-05 2021-08-24 阿里巴巴集团控股有限公司 数据处理系统及方法
CN113300971B (zh) * 2021-02-05 2024-07-02 阿里巴巴集团控股有限公司 数据处理系统及方法
CN113098782A (zh) * 2021-03-22 2021-07-09 武汉大学 一种网络拥塞的控制方法和计算机设备
CN113098782B (zh) * 2021-03-22 2022-08-30 武汉大学 一种网络拥塞的控制方法和计算机设备
CN113206795A (zh) * 2021-04-12 2021-08-03 烽火通信科技股份有限公司 传输策略调整方法、装置、设备及可读存储介质
CN114401225A (zh) * 2021-12-02 2022-04-26 北京快乐茄信息技术有限公司 数据处理方法及装置、电子设备及存储介质
CN114268988A (zh) * 2021-12-30 2022-04-01 广州爱浦路网络技术有限公司 基于5g的低轨卫星拥塞控制方法、系统、装置及介质
CN114268988B (zh) * 2021-12-30 2022-10-21 广州爱浦路网络技术有限公司 基于5g的低轨卫星拥塞控制方法、系统、装置及介质
CN115022247A (zh) * 2022-06-02 2022-09-06 成都卫士通信息产业股份有限公司 流控制传输方法、装置、设备及介质
CN115022247B (zh) * 2022-06-02 2023-10-20 成都卫士通信息产业股份有限公司 流控制传输方法、装置、设备及介质
CN115174478A (zh) * 2022-07-27 2022-10-11 深圳星云智联科技有限公司 一种网络拥塞控制方法及相关装置

Also Published As

Publication number Publication date
CN111835649B (zh) 2023-11-07

Similar Documents

Publication Publication Date Title
CN111835649A (zh) 一种数据发送方法、装置及相关组件
CN102763385B (zh) 用于计算机网络中的拥塞控制的方法和设备
US6560243B1 (en) System and method for receiver based allocation of network bandwidth
US11606297B2 (en) Congestion control method and network device
US7284047B2 (en) System and method for controlling network demand via congestion pricing
CN107342848B (zh) 一种自适应码流传输方法、装置及设备
CN115208828A (zh) 速率优化的拥塞管理
CN112104562B (zh) 拥塞控制方法及装置、通信网络、计算机存储介质
CN107171969A (zh) 一种数据传输方法、装置及系统
WO2011133624A1 (en) Congestion window control based on queuing delay and packet loss
WO1991015069A1 (en) Method and apparatus for scheduling access to a csma communication medium
JP2008193335A (ja) 通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラム
US10965613B2 (en) Multi-pipe bandwidth control in hosted systems
CN102804714A (zh) 控制分组传输
US10128987B2 (en) Scalable receive window auto-tuning
CN113242183A (zh) 一种数据流发送控制方法、装置、智能终端及存储介质
CN117376212A (zh) 网络速率调整方法及装置、存储介质及电子设备
CN116546276A (zh) 链路带宽估计方法、装置、设备、存储介质以及程序产品
CN104579582B (zh) 一种基于通信网络的高质量语音传输方法
CN114024913B (zh) 一种网络性能优化方法、装置、设备以及存储介质
US11190454B2 (en) Receiver-directed computer network congestion control system
CN115801639A (zh) 一种带宽探测方法、装置、电子设备及存储介质
Cisco Distributed WRED
Tahiliani et al. Tcp congestion control in data center networks
CN117692396B (zh) 一种复杂网络环境下的tcp单边加速方法及装置

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