CN106789718B - 数据传输的拥塞控制方法、设备、服务器及可编程设备 - Google Patents
数据传输的拥塞控制方法、设备、服务器及可编程设备 Download PDFInfo
- Publication number
- CN106789718B CN106789718B CN201611105210.2A CN201611105210A CN106789718B CN 106789718 B CN106789718 B CN 106789718B CN 201611105210 A CN201611105210 A CN 201611105210A CN 106789718 B CN106789718 B CN 106789718B
- Authority
- CN
- China
- Prior art keywords
- window
- congestion
- reference value
- size
- updating
- 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.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 161
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000005070 sampling Methods 0.000 claims description 65
- 230000002829 reductive effect Effects 0.000 claims description 7
- 239000012634 fragment Substances 0.000 claims description 6
- 238000012790 confirmation Methods 0.000 claims 6
- 230000008859 change Effects 0.000 abstract description 12
- 238000004422 calculation algorithm Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 238000004088 simulation Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 101001094649 Homo sapiens Popeye domain-containing protein 3 Proteins 0.000 description 1
- 101000608234 Homo sapiens Pyrin domain-containing protein 5 Proteins 0.000 description 1
- 101000578693 Homo sapiens Target of rapamycin complex subunit LST8 Proteins 0.000 description 1
- 102100027802 Target of rapamycin complex subunit LST8 Human genes 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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/27—Evaluation 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
技术领域
本发明涉及数据传输技术领域,更具体地,涉及一种数据传输的拥塞控制方法、设备及可编程设备。
背景技术
TCP(Transmission Control Protocol传输控制协议)是一种用于数据传输的网络传输层通信协议,为网络各个端点之间提供可靠的数据传输服务,是目前使用范围最广的传输层协议。TCP采用拥塞控制机制保证数据包的可靠传输以及同时保证网络资源使用的公平性。目前,TCP拥塞控制算法的焦点主要集中在拥塞窗口控制管理上,而基于拥塞控制算法进行拥塞窗口控制管理所基于的因素不同,一般分为基于丢包反馈的拥塞控制算法以及基于时延反馈的拥塞控制算法:
1)基于丢包反馈的拥塞控制算法:根据网络中的丢包事件来作为网络拥塞判断依据,大体的算法思路如图1中所示,在数据传输开始时,进入慢启动阶段,在慢启动阶段下每收到一个数据包的ACK(接收确认)就会相应增加拥塞窗口cwnd,直到拥塞窗口cwnd超过慢启动门限ssthresh时,从慢启动阶段转入拥塞避免阶段,在拥塞避免阶段更新窗口的间隔会比在慢启动阶段更长,避免窗口增长过快,直到收到3个重复的ACK确定为发生拥塞,进入快速重传阶段将原有拥塞窗口cwnd的大小减半得到新的cwnd,进入快速恢复阶段,通过算法重新更新拥塞窗口cwnd使得可以重新回到拥塞避免阶段(具体实现中,快速重传阶段与快速恢复阶段通常合并为快速重传恢复阶段),目前Linux内核默认使用的Cubic算法是此类算法的一个实现,cubic算法采用三次增长曲线,在判断网络发生丢包后能够快速恢复上次丢包的窗口值,即能够进过快速重传恢复阶段后,快速回到拥塞避免阶段,但是,在实际应用中,网络发生丢包时并不一定代表网络发生拥塞,例如在移动网络环境中,如链路状态不佳、误码率高等非拥塞因素也会造成丢包,但基于丢包反馈的拥塞控制算法无法识别这类场景,只要发生丢包就会认为网络出现拥塞,就会减小拥塞窗口以减低传输速率,因此,在移动网络非拥塞丢包的场景下会有较大的误判率,从而造成传输速率的不必要降低;
2)基于时延反馈的拥塞控制算法:根据RTT(Round-Trip Time,往返时延,表示从发送端发送数据开始,到发送端收到来自接收端的收到数据后便立即发送的确认,总共经历的时延)的变化情况来估算当前网络的状况,在RTT变大时判定网络出现拥塞,主动减小拥塞窗口,当RTT变小时则认为拥塞解除,恢复增加拥塞窗口,Vegas算法是该类中一个比较经典的算法,Vegas拥塞控制方法主要通过测量RTT,计算期望吞吐率与实际吞吐率,根据两者差值与设定阀值之间的大小关系调节拥塞窗口,相较于基于丢包反馈的拥塞控制算法来说,此类算法在移动网络场景下能够预判网络状态,避免拥塞丢包的发生,并且可以有效识别非拥塞丢包的情况,从而避免不必要的窗口减小,但是,实际环境中RTT的估计会受到诸多噪音影响,造成误差增大影响当前网络状态的判断,因此完全依赖RTT进行拥塞窗口更新也会存在问题,并且,当网络中同时存在采用基于时延反馈的拥塞控制算法的数据传输链路以及采用基于丢包反馈的拥塞控制算法的数据传输链路时,例如采用cubic算法的数据传输链路以及采用vegas算法的数据传输链路时,当网络数据传输延迟较大但还未发生丢包(实际可能已出现网络拥塞时),由于cubic算法是根据丢包反馈进行拥塞窗口调节,其对应的传输链路不会更新拥塞窗口,但采用vegas算法的数据传输链路则会使能vegas算法,增大拥塞窗口以降低自身的发送速率,从而导致其带宽竞争力较弱。
针对上述问题,目前也出现基于丢包和时延的混合拥塞控制方法,预估在接近网络拥塞时拥塞窗口能达到并保持的最大窗口值即稳态窗口值,根据时延反馈和丢包反馈的信息进行拥塞窗口更新,使得拥塞窗口大小尽可能快速平稳地到达稳态窗口值,以克服仅针对丢包反馈或者时延反馈来更新拥塞窗口存在的缺陷,但是,在实际应用中,特别是在移动网络中,常常会存在突发的大量用户接入造成突发的网络拥塞,很难能准确估计与网络传输状态对应的稳态窗口值,使得拥塞窗口的更新不仅不能适应网络的变化,反而适得其反,降低传输网络的带宽利用效率。
此外,随着移动网络的兴盛,用户可以通过例如3G网络、4G网络、wifi网络等不同网络制式的传输网络接入以获取移动数据服务,在不同网络制式下进行数据传输都会涉及到拥塞控制,但是,目前的拥塞控制算法在具体应用时需要对不同的传输网络进行不同设计以及实现,尚未存在一种可以自动适应不同网络制式的数据传输模式进行拥塞控制的方法。
因此,发明人认为,有必要对针对上述现有技术中存在的问题进行改进。
发明内容
本发明的一个目的是提供一种用于数据传输的拥塞控制的新技术方案。
根据本发明的第一方面,提供了一种数据传输的拥塞控制方法,包括:
根据所获取的目标数据传输链路的传输网络制式,设置拥塞窗口的初始大小,并根据第一拥塞参数更新所述拥塞窗口的大小,其中,所述第一拥塞参数至少包括所述目标数据传输链路的理论往返时延、在最近的第一采样间隔内的实际往返时延以及被确认接收的数据包个数;
当所述拥塞窗口的大小大于预定阈值时,根据丢包反馈参数获取窗口更新基准值,以及根据第二拥塞参数获取窗口更新参考值,并根据最近获取的所述窗口更新基准值以及所述窗口更新参考值更新所述拥塞窗口的大小,其中,所述丢包反馈参数至少包括判断发生丢包时的所述拥塞窗口的大小,所述第二拥塞参数至少包括所述目标数据传输链路的理论往返时延、在最近的第二采样间隔内的实际往返时延以及被确认接收的数据包个数。
可选地,所述根据所述窗口更新基准值以及所述窗口更新参考值更新所述拥塞窗口的大小的步骤为:
在每个所述第二采样间隔内,将最近获取的窗口更新基准值以及窗口更新参考值相加,获取当前拥塞窗口的大小。
可选地,所述根据所述窗口更新基准值以及所述窗口更新参考值更新所述拥塞窗口的大小的步骤包括:
根据预设的窗口更新间隔获取当前所述第二采样间隔的更新频率;
根据所述更新频率以及最近获取的窗口更新参考值,计算每个所述窗口更新间隔内的窗口更新量;
根据最近获取的窗口更新基准值、所述更新频率以及所述窗口更新量,更新当前所述第二采样间隔内的所述拥塞窗口的大小。
可选地,所述根据第二拥塞参数获取窗口更新参考值的步骤包括:
根据当前所述拥塞窗口的大小、所述目标数据传输链路的理论往返时延、在预设的第二采样间隔内的实际往返时延计算得到目标差值;
根据所述目标差值、预设的上限阈值以及下限阈值,确定所述窗口更新参考值。
可选地,所述传输网络制式为2G网络、2.5G网络、2.75G网络、3G网络、4G网络、5G网络或WIFI网络中的一种。
可选地,所述第二采样间隔为当前拥塞窗口内第一个数据包发送起至接收到最后一个数据包的接收确认的时长。
根据本发明的第二方面,提供了一种数据传输的拥塞控制设备,包括:
第一窗口更新单元,用于根据所获取的目标数据传输链路的传输网络制式,设置拥塞窗口的初始大小,并根据第一拥塞参数更新所述拥塞窗口的大小,其中,所述第一拥塞参数至少包括所述目标数据传输链路的理论往返时延、在最近的第一采样间隔内的实际往返时延以及被确认接收的数据包个数;
第二窗口更新单元,用于当所述拥塞窗口的大小大于预定阈值时,根据丢包反馈参数获取窗口更新基准值,以及根据第二拥塞参数获取窗口更新参考值,并根据最近获取的所述窗口更新基准值以及所述窗口更新参考值更新所述拥塞窗口的大小,其中,所述丢包反馈参数至少包括判断发生丢包时的所述拥塞窗口的大小,所述第二拥塞参数至少包括所述目标数据传输链路的理论往返时延、在最近的第二采样间隔内的实际往返时延以及被确认接收的数据包个数。
可选地,所述第二窗口更新单元至少包括:
用于在每个所述第二采样间隔内,将最近获取的窗口更新基准值以及窗口更新参考值相加,获取当前拥塞窗口的大小的装置。
可选地,所述第二窗口更新单元至少包括:
更新频率获取单元,用于根据预设的窗口更新间隔获取当前所述第二采样间隔的更新频率;
窗口更新量计算单元,用于根据所述更新频率以及最近获取的窗口更新参考值,计算每个所述窗口更新间隔内的窗口更新量;
拥塞窗口更新单元,用于根据最近获取的窗口更新基准值、所述更新频率以及所述窗口更新量,更新当前所述第二采样间隔内的所述拥塞窗口的大小。
可选地,所述第二窗口更新单元至少包括:
目标差值获取单元,用于根据当前所述拥塞窗口的大小、所述目标数据传输链路的理论往返时延、在预设的第二采样间隔内的实际往返时延计算得到目标差值;
窗口更新参考值确定单元,用于根据所述目标差值、预设的上限阈值以及下限阈值,确定所述窗口更新参考值。
根据本发明的第三方面,提供一种服务器,至少包括本发明第二方面提供的任意一项所述的数据传输的拥塞控制设备。
根据本发明的第四方面,提供一种可编程设备,包括存储器和处理器,所述存储器用于存储指令,所述指令用于控制所述处理器进行操作以执行本发明的第一方面提供的任意一项所述的数据传输的拥塞控制方法。
本发明的发明人发现,在现有技术中,尚未存在一种数据传输的拥塞控制方法、设备、服务器及可编程设备,可以基于不同的传输网络制式进行自适应的数据传输的拥塞窗口控制,并且可以使得数据传输的拥塞控制能更准确地符合链路传输状态的实际变化,提升传输网络的带宽利用效率。因此,本发明所要实现的技术任务或者所要解决的技术问题是本领域技术人员从未想到的或者没有预期到的,故本发明是一种新的技术方案。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是显示可用于实现本发明的背景技术中示意性状态转移图。
图2是显示可用于实现本发明的实施例的实施环境的框图。
图3示出了本发明的实施例的数据传输的拥塞控制方法的流程图。
图4示出了本发明的实施例的数据传输的拥塞控制方法实现效果图。
图5是本发明的实施例的数据传输的拥塞控制设备的示意性框图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<硬件配置>
如图2所示,实施环境1000包括服务器1100、客户端1200以及网络1300。
网页服务器1100例如可以是刀片服务器等。在一个例子中,服务器1100可以是一台计算机。在在另一个例子中,服务器1100可以如图1所示,包括处理器1110、存储装置1120、接口装置1130、通信装置1140、显示装置1150、输入装置1160。尽管服务器也可以包括扬声器、麦克风等等,但是,这些部件与本发明无关,故在此省略。其中,处理器1110例如可以是中央处理器CPU、微处理器MCU等。存储器1120例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1130例如包括USB接口、串行接口等。通信装置1140例如能够进行有线或无线通信。显示装置1150例如是液晶显示屏。输入装置1160例如可以包括触摸屏、键盘等。
客户端1200可以是便携式电脑(1200-1)、台式计算机(1200-2)、手机(1200-3)、平板电脑(1200-4)等。
网络1300可以是无线网络也可以是有线网络,可以是局域网也可以是广域网。在图2所示的配置环境1000中,客户端1200-1、1200-2、1200-3、1200-4以及服务器1100可以通过通信网络1300进行通信。对于不同的客户端1200,与服务器1100通信的网络1300具体可以是不同网络制式,例如客户端1200-1可以通过网络制式具体为wifi的网络1300与服务器1100通信,而客户端1200-3可以通过网络制式具体为4G的网络1300与服务器1100通信,在此不一一列举。
图2所示的配置环境1100仅是解释性的,并且决不是为了要限制本发明、其应用或用途。应用于本发明的实施例中,服务器1100的所述存储装置1120用于存储指令,所述指令用于控制所述处理器1110进行操作以执行本发明实施例提供的任意一项数据传输的拥塞控制方法。本领域技术人员应当理解,尽管在图1中对服务器1100示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,服务器1100只涉及处理器1110和存储装置1120。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
<实施例>
本实施例中提供一种数据传输的拥塞控制方法,如图3所示,包括:
步骤S3100,根据所获取的目标数据传输链路的传输网络制式,设置拥塞窗口的初始大小,并根据第一拥塞参数更新所述拥塞窗口的大小。
所述目标数据传输链路是由数据传输发起方请求建立的,数据传输链路建立请求通常需要通过期望的特定网络制式的传输网络进行传输,或者在数据传输链路建立请求中已包含期望的传输网络的网络制式,因此,可以在目标数据传输建立时获取目标数据传输链路的传输网络制式。所述传输网络的网络制式,可以是2G网络、2.5G网络、2.75G网络、3G网络、4G网络、5G网络或WIFI网络中的一种。
在本实施例中,根据所获取的目标数据传输链路的传输网络制式,设置拥塞窗口的初始大小,使得可以基于不同的传输网络制式进行自适应的数据传输的拥塞窗口控制,具体地,对应不同的传输网络制式设置的拥塞窗口的初始大小的可以根据工程经验值、应用统计值或实验仿真值确定,例如:传输网络制式为2G网络时,设置拥塞窗口的初始大小为10;传输网络制式为2.5G网络时,设置拥塞窗口的初始大小为10;传输网络制式为2.75G网络时,设置拥塞窗口的初始大小为10;传输网络制式为3G网络时,设置拥塞窗口的初始大小为13;传输网络制式为4G网络时,设置拥塞窗口的初始大小为13;传输网络制式为WIFI网络时,设置拥塞窗口的初始大小为15。
在本实施例中,设置拥塞窗口的初始大小之后,根据第一拥塞参数更新所述拥塞窗口的大小,其中,所述第一拥塞参数至少包括所述目标数据传输链路的理论往返时延、在最近的第一采样间隔内的实际往返时延以及被确认接收的数据包个数。所述被确认接收的数据包,可以是收到的ACK对应的数据包。
具体地,第一采样间隔可以设置为每收到一个ACK与上一次收到ACK之前的时间间隔(若同时收到多个ACK则当成收到一个ACK处理),采样间隔设置较小,可以使得拥塞窗口的更新对往返时延的变化更灵敏。而所述往返时延为RTT(Round-Trip Time),表示从发送端发送数据开始,到发送端收到来自接收端的接收确认(接收端到数据包后便立即发送的接收确认)总共经历的时延。所述目标数据传输链路的理论往返时延,可以是当前所有采样间隔内采样得到的最小往返时延。
假设理论往返时延为base_rtt_1,当前第一采样间隔内的实际往返时延为cur_rtt_1,以及在当前第一采样间隔内被确认接收的数据包个数为ackN,当前拥塞窗口的大小为cwnd,根据下述公式计算获取diff_1:
diff_1=cwnd×(cur_rtt_1–base_rtt_1)÷base_rtt_1 (公式1);
再根据diff_1、ackN以及预设的α1、β1根据公式2更新拥塞窗口cwnd的大小:
在步骤S3100中,根据所述第一拥塞参数更新所述拥塞窗口的大小,为了避免拥塞窗口的增长过快导致数据传输链路的速率降低过快,在步骤S3100之后进入步骤S3200,当所述拥塞窗口的大小大于预定阈值时,根据丢包反馈参数获取窗口更新基准值,以及根据第二拥塞参数获取窗口更新参考值,并根据最近获取的所述窗口更新基准值以及所述窗口更新参考值更新所述拥塞窗口的大小。
在本实施例中,所述预定阈值可以根据工程经验值、应用统计值或实验仿真值确定,还可以结合具体的应用场景确定,例如,根据应用的传输网络的网络制式确定,根据不同的传输网络设置不同的预定阈值,可以使得基于不同的传输网络制式进行自适应的数据传输的拥塞窗口控制。
所述丢包反馈参数至少包括判断发生丢包时的所述拥塞窗口的大小,所述判断发生丢包的条件可以是,在发包后预定时间内未收到对应数据包的ACK,或者其他类似的方法,在此不一一列举。对应地,所述根据丢包反馈参数获取窗口更新基准值的步骤,具体可以是,假设当判断发生丢包时的拥塞窗口的大小为Wmax,可以根据下述公式获取窗口更新基准值为snd_cwnd:
snd_cwnd=C×(t-K)3+Wmax (公式3);
所述第二拥塞参数至少包括所述目标数据传输链路的理论往返时延、在最近的第二采样间隔内的实际往返时延以及被确认接收的数据包个数。其中,第二采样间隔可以设置为当前拥塞窗口内所有数据包发送完的往返时延,使得拥塞窗口的更新相对于往返时延的变化具有一定的滞后性,使得拥塞窗口的更新更为平稳,不会带来传输速率的突变。所述目标数据传输链路的理论往返时延,可以是当前所有采样间隔内采样得到的最小往返时延。
对应地,所述根据第二拥塞参数获取窗口更新参考值的步骤,具体可以包括:
根据当前所述拥塞窗口的大小、所述目标数据传输链路的理论往返时延、在预设的第二采样间隔内的实际往返时延计算得到目标差值;
根据所述目标差值、预设的上限阈值以及下限阈值,确定所述窗口更更新值。
更具体地,假设理论往返时延为base_rtt_2,当前第二采样间隔内的实际往返时延为cur_rtt_2,以及在当前第二采样间隔内被确认接收的数据包个数为ackN2,当前拥塞窗口的大小为cwnd,根据下述公式计算获取目标差值diff_2:
diff_2=cwnd×(cur_rtt_2–base_rtt_2)÷base_rtt_2 (公式4);
再根据diff_2、ackN2以及预设的下限阈值α2、上限阈值β2根据下述公式获取窗口更新参考值smt_cwnd:
下限阈值α2、上限阈值β2可以根据工程经验值、应用统计值或实验仿真值确定,还可以结合具体的应用场景确定,例如,根据应用的传输网络的网络制式确定,根据不同的传输网络设置不同的预定阈值,可以使得基于不同的传输网络制式进行自适应的数据传输的拥塞窗口控制。在一个例子中,下限阈值α2为6,上限阈值β2为8。
在获取所述窗口更新基准值以及所述窗口更新参数值后,根据述窗口更新基准值以及所述窗口更新参考值更新所述拥塞窗口的大小,由于所述窗口更新基准值是根据丢包反馈参数获取,而所述窗口更新参考值主要是能反映往返时延变化的第二拥塞参数获取,因此,根据所述窗口更新基准值以及所述窗口更新参考值更新所述拥塞窗口的大小可以更好地适应传输网络的传输状态变化,例如,当传输网络真实发生拥塞时,通常实际的往返时延会发生变化,因此获取的窗口更新参考值也会相应减小,使得拥塞窗口的增长会放缓,而当网络发生不是由拥塞导致的丢包,例如链路状态不佳、误码率高导致的丢包时,通常实际的往返时延会并没有太大变化,获取的窗口更新参考值也会继续增长,以弥补窗口更新基准值减小,使得拥塞窗口还能保持良好的增长率。可以有效避免拥塞窗口更新不能符合链路传输的实际变化时,对传输网络的传输能力影响,提升带宽利用效率。
所述窗口更新基准值以及所述窗口更新参考值更新所述拥塞窗口的大小的步骤可以为:在每个所述第二采样间隔内,将最近获取的窗口更新基准值以及窗口更新参考值相加,获取当前拥塞窗口的大小。
具体地,假设当前的第二采样间隔内,最近获取的窗口更新基准值为snd_cwnd,最近获取的窗口更新参考值为smt_cwnd(通常是上一个第二采样间隔内获取的窗口更新基准值),则当前的拥塞窗口cwnd为:
cwnd=snd_cwnd+smt_cwnd (公式6)。
考虑到某些传输网络的传输能力受限的应用场景,例如小带宽网络下,拥塞窗口增长较快会带来传输速率突涨,对小带宽网络造成冲击,因此,在这样的应用场景中,所述根据所述窗口更新基准值以及所述窗口更新参考值更新所述拥塞窗口的大小的步骤可以包括:
根据预设的窗口更新间隔获取当前所述第二采样间隔的更新频率;
根据所述更新频率以及最近获取的窗口更新参考值,计算每个所述窗口更新间隔内的窗口更新量;
根据最近获取的窗口更新基准值、所述更新频率以及所述窗口更新量,更新当前所述第二采样间隔内的所述拥塞窗口的大小。
具体地,假设当前所述第二采样间隔为T,预设的窗口更新间隔为init_fragment,最近获取的窗口更新基准值为snd_cwnd,最近获取的窗口更新参考值为smt_cwnd:
首先,根据snd_cwnd获取当前所述第二采样间隔的更新频率N:
N=T÷init_fragment (公式7);
其次,根据N、smt_cwnd计算每个窗口更新间隔内的窗口更新量delta:
delta=smt_cwnd÷N (公式8);
最后,根据snd_cwnd、N以及delta获得第i个窗口更新间隔内的拥塞窗口cwnd_i(i=1,…N):
cwnd_i=snd_cwnd+delta×i (公式9)。
通过将每个第二采样间隔划分为多个窗口更新间隔,使得每个第二采样间隔内的拥塞窗口的更新平滑化,得到更平稳的拥塞窗口的更新效果,降低拥塞窗口增长较快对小带宽网络的传输能力的影响。
上述已经结合附图和例子说明了本实施例中提供的数据传输的拥塞控制方法,通过根据目标数据传输链路的传输网络制式设置拥塞窗口的初始大小,使得可以基于不同的传输网络制式进行自适应的数据传输的拥塞窗口控制;以及通过根据丢包反馈参数获取窗口更新基准值,以及根据第二拥塞参数获取窗口更新参考值,并根据最近获取的所述窗口更新基准值以及所述窗口更新参考值更新拥塞窗口的大小,可以使得数据传输的拥塞控制能更准确地符合链路传输状态的实际变化,提升传输网络的带宽利用效率;并且,可以对拥塞窗口的更新进行平滑处理,进而降低拥塞窗口增长较快对小带宽网络的传输能力的影响。
此外,将本实施例中的数据传输的拥塞控制方法与现有的cubic算法在同样的应用场景下进行比较,分别测试网络时延在[0,50)、[50,100)、[100,200)、[200,500)、[500,∞)的区间内(网络时延单位:ms),每个网络时延区间下传输数据大小在[0,20480)、[20480,40960)、[40960,61446)、[61446,102400)、[102400,∞)传输数据区间内(传输数据单位:byte)下本实施例中的数据传输的拥塞控制方法与现有的cubic算法提升的比例,统计结果如图4所示,可见本实施例中的数据传输的拥塞控制方法对传输速度的提升较大,相应地,对传输网络的带宽利用效率更大。
在本实施例中,还提供一种数据传输的拥塞控制设备5000,如图5所示,包括第一窗口更新单元5100、第二窗口更新单元5200,可选地,还包括更新频率获取单元5300、窗口更新量计算单元5400、拥塞窗口更新单元5500、目标差值获取单元5600以及窗口更新参考值确定单元5700。用于实施本实施例中提供的数据传输的拥塞控制方法,在此不再赘述。
数据传输的拥塞控制设备5000,包括:
第一窗口更新单元5100,用于根据所获取的目标数据传输链路的传输网络制式,设置拥塞窗口的初始大小,并根据第一拥塞参数更新所述拥塞窗口的大小,其中,所述第一拥塞参数至少包括所述目标数据传输链路的理论往返时延、在最近的第一采样间隔内的实际往返时延以及被确认接收的数据包个数;
第二窗口更新单元5200,用于当所述拥塞窗口的大小大于预定阈值时,根据丢包反馈参数获取窗口更新基准值,以及根据第二拥塞参数获取窗口更新参考值,并根据最近获取的所述窗口更新基准值以及所述窗口更新参考值更新所述拥塞窗口的大小,其中,所述丢包反馈参数至少包括判断发生丢包时的所述拥塞窗口的大小,所述第二拥塞参数至少包括所述目标数据传输链路的理论往返时延、在最近的第二采样间隔内的实际往返时延以及被确认接收的数据包个数。
可选地,所述传输网络制式为2G网络、2.5G网络、2.75G网络、3G网络、4G网络、5G网络或WIFI网络中的一种。
可选地,所述第二窗口更新单元5200至少包括:
用于在每个所述第二采样间隔内,将最近获取的窗口更新基准值以及窗口更新参考值相加,获取当前拥塞窗口的大小的装置。
或者,可选地,所述第二窗口更新单元5200至少包括:
更新频率获取单元5300,用于根据预设的窗口更新间隔获取当前所述第二采样间隔的更新频率;
窗口更新量计算单元5400,用于根据所述更新频率以及最近获取的窗口更新参考值,计算每个所述窗口更新间隔内的窗口更新量;
拥塞窗口更新单元5500,用于根据最近获取的窗口更新基准值、所述更新频率以及所述窗口更新量,更新当前所述第二采样间隔内的所述拥塞窗口的大小。
或者,可选地,所述第二窗口更新单元5200至少包括:
目标差值获取单元5600,用于根据当前所述拥塞窗口的大小、所述目标数据传输链路的理论往返时延、在预设的第二采样间隔内的实际往返时延计算得到目标差值;
窗口更新参考值确定单元5700,用于根据所述目标差值、预设的上限阈值以及下限阈值,确定所述窗口更新参考值。
在一个例子中,所述第二采样间隔为当前拥塞窗口内第一个数据包发送起至接收到最后一个数据包的接收确认的时长。
在本实施例中,还提供一种服务器,至少包括本实施例中提供的任意一项所述的数据传输的拥塞控制设备5000。
具体地,所述服务器可以通过修改现有的Ngnix服务器获取(Ngnix服务器是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行,具有稳定、丰富的功能集、示例配置文件和低***资源消耗的优点),例如,可以通过livepatch的方式修改了do_tcp_setsockopt函数,以实现拥塞控制设备5000中包含第一窗口更新单元5100的根据所获取的目标数据传输链路的传输网络制式设置拥塞窗口的初始大小的功能,对应地,也可以修改Ngnix服务器其他模块以实施本实施例中拥塞控制设备5000的其他功能,在此不一一赘述。
在本实施例中,还提供一种可编程设备,包括存储器和处理器,所述存储器用于存储指令,所述指令用于控制所述处理器进行操作以执行本实施例中提供的任意一项所述的数据传输的拥塞控制方法。具体地,可以可编程设备的实体形式可以如图2所示的服务器1100。
以上已经结合附图描述了本发明的实施例,根据本实施例,提供一种数据传输的拥塞控制方法、设备、服务器及可编程设备,根据目标数据传输链路的传输网络制式设置拥塞窗口的初始大小,使得可以基于不同的传输网络制式进行自适应的数据传输的拥塞窗口控制;以及通过根据丢包反馈参数获取窗口更新基准值,以及根据第二拥塞参数获取窗口更新参考值,并根据最近获取的所述窗口更新基准值以及所述窗口更新参考值更新拥塞窗口的大小,可以使得数据传输的拥塞控制能更准确地符合链路传输状态的实际变化,提升传输网络的带宽利用效率;并且,可以对拥塞窗口的更新进行平滑处理,进而降低拥塞窗口增长较快对小带宽网络的传输能力的影响。
本领域技术人员应当明白,可以通过各种方式来实现拥塞控制设备5000。例如,可以通过指令配置处理器来实现拥塞控制设备5000。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来实现拥塞控制设备5000。例如,可以将拥塞控制设备5000固化到专用器件(例如ASIC)中。可以将拥塞控制设备5000分成相互独立的单元,或者可以将它们合并在一起实现。拥塞控制设备5000可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。
本领域技术人员公知的是,随着诸如大规模集成电路技术的电子信息技术的发展和软件硬件化的趋势,要明确划分计算机***软、硬件界限已经显得比较困难了。因为,任何操作可以软件来实现,也可以由硬件来实现。任何指令的执行可以由硬件完成,同样也可以由软件来完成。对于某一机器功能采用硬件实现方案还是软件实现方案,取决于价格、速度、可靠性、存储容量、变更周期等非技术性因素。因此,对于电子信息技术领域的普通技术人员来说,更为直接和清楚地描述一个技术方案的方式是描述该方案中的各个操作。在知道所要执行的操作的情况下,本领域技术人员可以基于对所述非技术性因素的考虑直接设计出期望的产品。
本发明可以是***、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
Claims (5)
1.一种数据传输的拥塞控制方法,其特征在于,包括:
根据所获取的目标数据传输链路的传输网络制式,设置拥塞窗口的初始大小,并根据第一拥塞参数更新所述拥塞窗口的大小,其中,所述第一拥塞参数至少包括所述目标数据传输链路的理论往返时延、在最近的第一采样间隔内的实际往返时延以及被确认接收的数据包个数;
其中,按照以下公式根据第一拥塞参数更新所述拥塞窗口的大小:
diff_1=cwnd×(cur_rtt_1–base_rtt_1)÷base_rtt_1
base_rtt_1为所述目标数据传输链路的理论往返时延,cur_rtt_1为当前第一采样间隔内的实际往返时延,cwnd为当前拥塞窗口的大小,ackN为当前第一采样间隔内被确认接收的数据包个数为ackN,α1、β1为预设值,diff_1为一中间量;
当所述拥塞窗口的大小大于预定阈值时,根据丢包反馈参数获取窗口更新基准值,以及根据第二拥塞参数获取窗口更新参考值,并根据最近获取的所述窗口更新基准值以及所述窗口更新参考值更新所述拥塞窗口的大小,其中,所述丢包反馈参数至少包括判断发生丢包时的所述拥塞窗口的大小,所述第二拥塞参数至少包括所述目标数据传输链路的理论往返时延、在最近的第二采样间隔内的实际往返时延以及被确认接收的数据包个数;
在所述根据丢包反馈参数获取窗口更新基准值的步骤中,根据以下公式获取窗口更新基准值:
snd_cwnd=C×(t-K)3+Wmax
在所述根据第二拥塞参数获取窗口更新参考值的步骤中,根据以下公式获取窗口更新参考值:
diff_2=cwnd×(cur_rtt_2–base_rtt_2)÷base_rtt_2
base_rtt_2为理论往返时延,cur_rtt_2为当前第二采样间隔内的实际往返时延,ackN2为在当前第二采样间隔内被确认接收的数据包个数,α2为预设值,smt_cwnd为窗口更新参考值,diff_2为一中间量;
所述根据最近获取的所述窗口更新基准值以及所述窗口更新参考值更新所述拥塞窗口的大小的步骤为:在每个第二采样间隔内,将最近获取的窗口更新基准值以及窗口更新参考值相加,以获取当前拥塞窗口的大小;
或者,
在所述根据最近获取的所述窗口更新基准值以及所述窗口更新参考值更新所述拥塞窗口的大小的步骤中,根据以下公式更新拥塞窗口的大小:
N=T÷init_fragment
delta=smt_cwnd÷N
cwnd_i=snd_cwnd+delta×i
init_fragment为预设的窗口更新间隔,T为第二采样间隔,N为当前第二采样间隔的更新频率,delta为每个窗口更新间隔内的窗口更新量,cwnd_i为第i个窗口更新间隔内的拥塞窗口的大小:
第一采样间隔为每收到一个接收确认与上一次收到接收确认之前的时间间隔,第二采样间隔为第二采样间隔为当前拥塞窗口内第一个数据包发送起至接收到最后一个数据包的接收确认的时长。
2.根据权利要求1所述的方法,其特征在于,
所述传输网络制式为2G网络、2.5G网络、2.75G网络、3G网络、4G网络、5G网络或WIFI网络中的一种。
3.一种数据传输的拥塞控制设备,其特征在于,包括:
第一窗口更新单元,用于根据所获取的目标数据传输链路的传输网络制式,设置拥塞窗口的初始大小,并根据第一拥塞参数更新所述拥塞窗口的大小,其中,所述第一拥塞参数至少包括所述目标数据传输链路的理论往返时延、在最近的第一采样间隔内的实际往返时延以及被确认接收的数据包个数;
其中,第一窗口更新单元,用于按照以下公式根据第一拥塞参数更新所述拥塞窗口的大小:
diff_1=cwnd×(cur_rtt_1–base_rtt_1)÷base_rtt_1
base_rtt_1为所述目标数据传输链路的理论往返时延,cur_rtt_1为当前第一采样间隔内的实际往返时延,cwnd为当前拥塞窗口的大小,ackN为当前第一采样间隔内被确认接收的数据包个数为ackN,α1、β1为预设值,diff_1为一中间量;
第二窗口更新单元,用于当所述拥塞窗口的大小大于预定阈值时,根据丢包反馈参数获取窗口更新基准值,以及根据第二拥塞参数获取窗口更新参考值,并根据最近获取的所述窗口更新基准值以及所述窗口更新参考值更新所述拥塞窗口的大小,其中,所述丢包反馈参数至少包括判断发生丢包时的所述拥塞窗口的大小,所述第二拥塞参数至少包括所述目标数据传输链路的理论往返时延、在最近的第二采样间隔内的实际往返时延以及被确认接收的数据包个数;
其中,第二窗口更新单元用于根据以下公式获取窗口更新基准值:
snd_cwnd=C×(t-K)3+Wmax
其中,第二窗口更新单元用于根据以下公式获取窗口更新参考值:
diff_2=cwnd×(cur_rtt_2–base_rtt_2)÷base_rtt_2
base_rtt_2为理论往返时延,cur_rtt_2为当前第二采样间隔内的实际往返时延,ackN2为在当前第二采样间隔内被确认接收的数据包个数,α2为预设值,smt_cwnd为窗口更新参考值,diff_2为一中间量;
其中,第二窗口更新单元用于在每个第二采样间隔内,将最近获取的窗口更新基准值以及窗口更新参考值相加,以获取当前拥塞窗口的大小;
或者,
第二窗口更新单元用于根据以下公式更新拥塞窗口的大小:
N=T÷init_fragment
delta=smt_cwnd÷N
cwnd_i=snd_cwnd+delta×i
init_fragment为预设的窗口更新间隔,T为第二采样间隔,N为当前第二采样间隔的更新频率,delta为每个窗口更新间隔内的窗口更新量,cwnd_i为第i个窗口更新间隔内的拥塞窗口的大小:
第一采样间隔为每收到一个接收确认与上一次收到接收确认之前的时间间隔,第二采样间隔为第二采样间隔为当前拥塞窗口内第一个数据包发送起至接收到最后一个数据包的接收确认的时长。
4.一种服务器,其特征在于,至少包括如权利要求3所述的数据传输的拥塞控制设备。
5.一种可编程设备,其特征在于,包括存储器和处理器,所述存储器用于存储指令,所述指令用于控制所述处理器进行操作以执行根据权利要求1-2中任意一项所述的数据传输的拥塞控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611105210.2A CN106789718B (zh) | 2016-12-05 | 2016-12-05 | 数据传输的拥塞控制方法、设备、服务器及可编程设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611105210.2A CN106789718B (zh) | 2016-12-05 | 2016-12-05 | 数据传输的拥塞控制方法、设备、服务器及可编程设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106789718A CN106789718A (zh) | 2017-05-31 |
CN106789718B true CN106789718B (zh) | 2020-10-16 |
Family
ID=58874059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611105210.2A Active CN106789718B (zh) | 2016-12-05 | 2016-12-05 | 数据传输的拥塞控制方法、设备、服务器及可编程设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106789718B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109698797B (zh) * | 2017-10-24 | 2022-06-14 | ***通信集团山东有限公司 | 一种tcp拥塞控制方法和装置 |
CN108111430B (zh) * | 2017-12-22 | 2022-02-25 | 北京百度网讯科技有限公司 | 一种tcp初始窗口优化方法和*** |
WO2019143181A1 (en) | 2018-01-18 | 2019-07-25 | Samsung Electronics Co., Ltd. | Method and an electronic device for dynamically controlling tcp congestion window |
CN108494702B (zh) * | 2018-02-23 | 2021-05-11 | 腾讯科技(深圳)有限公司 | 传输控制方法和装置、存储介质及电子装置 |
CN109462527A (zh) * | 2019-01-11 | 2019-03-12 | 深圳市网心科技有限公司 | 网络拥塞分析方法、装置及存储介质 |
CN110809288B (zh) * | 2019-11-04 | 2022-02-15 | 腾讯科技(深圳)有限公司 | 一种网络拥塞控制方法、装置、设备及介质 |
CN112787942A (zh) * | 2019-11-05 | 2021-05-11 | 中兴通讯股份有限公司 | 一种tcp拥塞控制方法、装置、终端及可读存储介质 |
CN111797117A (zh) * | 2020-07-02 | 2020-10-20 | 北京润科通用技术有限公司 | 一种数据处理方法及装置 |
CN112217725B (zh) * | 2020-10-13 | 2022-02-08 | 安徽极玩云科技有限公司 | 一种基于边缘计算的延迟优化方法 |
CN112383485B (zh) * | 2020-10-30 | 2022-08-19 | 新华三技术有限公司 | 一种网络拥塞控制方法及装置 |
CN112291747B (zh) * | 2020-11-13 | 2021-12-03 | 珠海大横琴科技发展有限公司 | 网络拥塞控制方法及装置、电子设备、存储介质 |
CN112653635A (zh) * | 2020-12-23 | 2021-04-13 | 百果园技术(新加坡)有限公司 | 一种拥塞控制算法的改进方法、装置、设备及存储介质 |
CN113300971B (zh) * | 2021-02-05 | 2024-07-02 | 阿里巴巴集团控股有限公司 | 数据处理***及方法 |
CN113179220B (zh) * | 2021-05-12 | 2022-04-26 | 中移智行网络科技有限公司 | 一种数据传输方法、装置和计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1556629A (zh) * | 2004-01-06 | 2004-12-22 | �����ʵ��ѧ | 通信网络中调整拥塞窗口的方法 |
CN102664867A (zh) * | 2012-03-15 | 2012-09-12 | 南京邮电大学 | 一种卫星通信***中的传输协议的增强方法 |
CN102882803A (zh) * | 2012-10-11 | 2013-01-16 | 四川大学 | 一种基于丢包和时延的混合拥塞控制方法 |
CN105049369A (zh) * | 2015-08-14 | 2015-11-11 | 浙江大学 | 异构无线网络中基于mptcp的视频传输拥塞控制方法 |
CN105207949A (zh) * | 2014-06-12 | 2015-12-30 | ***通信集团内蒙古有限公司 | 一种tcp优化方法和***、sp服务器 |
CN105827537A (zh) * | 2016-06-01 | 2016-08-03 | 四川大学 | 一种基于quic协议的拥塞改进方法 |
-
2016
- 2016-12-05 CN CN201611105210.2A patent/CN106789718B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1556629A (zh) * | 2004-01-06 | 2004-12-22 | �����ʵ��ѧ | 通信网络中调整拥塞窗口的方法 |
CN102664867A (zh) * | 2012-03-15 | 2012-09-12 | 南京邮电大学 | 一种卫星通信***中的传输协议的增强方法 |
CN102882803A (zh) * | 2012-10-11 | 2013-01-16 | 四川大学 | 一种基于丢包和时延的混合拥塞控制方法 |
CN105207949A (zh) * | 2014-06-12 | 2015-12-30 | ***通信集团内蒙古有限公司 | 一种tcp优化方法和***、sp服务器 |
CN105049369A (zh) * | 2015-08-14 | 2015-11-11 | 浙江大学 | 异构无线网络中基于mptcp的视频传输拥塞控制方法 |
CN105827537A (zh) * | 2016-06-01 | 2016-08-03 | 四川大学 | 一种基于quic协议的拥塞改进方法 |
Non-Patent Citations (1)
Title |
---|
一种改进的TCP拥塞控制算法;张清华等;《科学技术与工程》;20101231;第10卷(第35期);8870-8877 * |
Also Published As
Publication number | Publication date |
---|---|
CN106789718A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106789718B (zh) | 数据传输的拥塞控制方法、设备、服务器及可编程设备 | |
US10594609B2 (en) | System and method of providing improved throughput control under delay-based congestion situation in a network | |
JP6029074B2 (ja) | ネットワークトラフィックにおける到着間遅延の低減 | |
US9641650B2 (en) | TCP proxy server | |
EP3232638B1 (en) | Data transmission method, apparatus and system | |
US20210067453A1 (en) | Data transmission method and apparatus | |
JP5920006B2 (ja) | 画面更新制御プログラム、画面更新制御方法、および情報処理装置 | |
US10244425B2 (en) | Electronic device and method for controlling transmission control protocol thereof | |
CN102201997A (zh) | 数据传输控制方法和设备 | |
CN109660467B (zh) | 用于控制流量的方法和装置 | |
WO2021103706A1 (zh) | 控制数据包发送方法、模型训练方法、装置及*** | |
US9432296B2 (en) | Systems and methods for initializing packet transfers | |
US9584420B2 (en) | Switching between loss-based and delay-based mode for real-time media congestion controllers | |
US10666565B2 (en) | Method to measure relative QOS gains and to reduce the variance in QOS for similar connections for during bandwidth contention | |
EP3697043B1 (en) | Method, device, and system for controlling qos of application | |
CN117376212A (zh) | 网络速率调整方法及装置、存储介质及电子设备 | |
CN117014379A (zh) | 码率控制方法、装置、电子设备和存储介质 | |
CN117041243A (zh) | 文件上传方法、装置、电子设备和可读介质 | |
JP2015222882A (ja) | 通信スループット予測装置、通信スループット予測方法、及び、プログラム | |
KR101825210B1 (ko) | CoAP 서버의 관찰 주기 조절 시스템 및 방법 | |
US10742561B2 (en) | Prevention of network retransmission timeout | |
US10015288B2 (en) | Communication apparatus and control method of communication apparatus | |
US9626330B2 (en) | Information processing apparatus, and information processing method | |
JP6805713B2 (ja) | 受信トラヒックの高速化装置、高速化方法、および高速化プログラム | |
CN117119524B (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200527 Address after: 310051 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Alibaba (China) Co.,Ltd. Address before: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping square B radio tower 13 layer self unit 01 Applicant before: GUANGZHOU SHENMA MOBILE INFORMATION TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |