CN113965517B - 网络传输方法、装置、电子设备及存储介质 - Google Patents
网络传输方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113965517B CN113965517B CN202111057676.0A CN202111057676A CN113965517B CN 113965517 B CN113965517 B CN 113965517B CN 202111057676 A CN202111057676 A CN 202111057676A CN 113965517 B CN113965517 B CN 113965517B
- Authority
- CN
- China
- Prior art keywords
- trip time
- time period
- round
- bandwidth
- transmission speed
- 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 431
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000003247 decreasing effect Effects 0.000 claims abstract description 20
- 230000009467 reduction Effects 0.000 claims description 40
- 238000004590 computer program Methods 0.000 claims description 8
- 230000001105 regulatory effect Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 abstract description 9
- 238000005259 measurement Methods 0.000 abstract description 7
- 230000000875 corresponding effect Effects 0.000 description 316
- 230000007423 decrease Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000011084 recovery Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000003102 growth factor Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003828 downregulation Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- 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/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- 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/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本公开关于一种网络传输方法,包括:在数据传输的第一阶段,逐次调高多个往返时间周期对应的发送速度,直到网络中占用带宽达到预设的第一带宽限值,进入预设的第二阶段;在第二阶段,逐次调低至少一个往返时间周期对应的发送速度,直到占用带宽达到预设的第二带宽限值,进入预设的第三阶段;在第三阶段,确定目标往返时间周期,按照预设概率调高或调低目标往返时间周期对应的发送速度,并获取网络反馈,根据网络反馈调节下一往返时间周期对应的发送速度。本公开的方案,发送端可以随机调整发送速度,并基于对应的网络反馈确定当前网络带宽的变化情况,对下一往返时间周期的发送速度适配调整,有效减少测量滞后和失效的问题,提高网络传输效率。
Description
技术领域
本公开涉及计算机技术,尤其涉及一种网络传输方法、装置、电子设备及存储介质。
背景技术
网络文件的传输速度影响着用户使用体验,如网络视频文件传输速度过低时,容易引发视频的播放卡顿、播放失败。
在现有技术中,TCP BBR拥塞控制协议可以基于当前可用带宽探测和RTT(Round-Trip Time,往返时间)跟踪机制对网络状态进行测量,并对数据的发送速度进行调整。
然而,在波动多变的网络进行中,会出现网络中的实际带宽与探测带宽不符的情况,给TCP BBR拥塞控制协议带来错误的反馈,降低了网络传输效率。
发明内容
本公开提供一种网络传输方法、装置、电子设备及存储介质,以至少解决相关技术中网络传输效率低的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种网络传输方法,包括:
在数据传输的第一阶段,逐次调高多个往返时间周期对应的发送速度,直到网络中占用带宽达到预设的第一带宽限值,进入预设的第二阶段;
在所述第二阶段,逐次调低至少一个往返时间周期对应的发送速度,直到网络中占用带宽达到预设的第二带宽限值,进入预设的第三阶段;所述第二带宽限值小于所述第一带宽限值;
在所述第三阶段,确定目标往返时间周期,按照预设概率调高或调低所述目标往返时间周期对应的发送速度,并获取网络反馈,根据所述网络反馈调节下一往返时间周期对应的发送速度。
在一示例性实施例中,所述在数据传输的第一阶段,逐次调高多个往返时间周期对应的发送速度,直到网络中占用带宽达到第一带宽限值,包括:
在数据传输的第一阶段,基于预设的增长系数逐次扩大多个往返时间周期对应的发送窗口的窗口大小,以调高所述多个往返时间周期各自对应的发送速度;
确定调高发送速度后各个往返时间周期对应的占用带宽增加率;所述占用带宽增加率,表征对应往返时间周期的占用带宽相对于上一往返时间周期的占用带宽的增加幅度;
若连续多个往返时间周期对应的所述占用带宽增加率均不超过预设的增加率阈值,确定网络中占用带宽达到预设的第一带宽限值。
在一示例性实施例中,所述确定调高发送速度后各个往返时间周期对应的占用带宽增加率,包括:
针对各往返时间周期,在该往返时间周期对应的发送速度调高后,获取该往返时间周期对应的实际占用带宽,以及,获取上一往返时间周期对应的历史占用带宽;
根据所述实际带宽和所述历史带宽的比值,确定该往返时间周期对应的占用带宽增加率。
在一示例性实施例中,所述在所述第二阶段,逐次调低至少一个往返时间周期对应的发送速度,直到网络中占用带宽达到预设的第二带宽限值,包括:
在所述第二阶段,针对当前往返时间周期,基于预设的第一降低系数,调低当前往返时间周期对应的发送速度;
若确定调低发送速度后的当前往返时间周期对应的网络中占用带宽大于或等于预设的第二带宽限值,在下一往返时间周期到来时,将所述下一往返时间周期作为当前往返时间周期,再次执行所述基于预设的第一降低系数,调低当前往返时间周期对应的发送速度的步骤,直到所述当前往返时间周期对应的占用带宽小于所述第二带宽限值。
在一示例性实施例中,所述在所述第二阶段,逐次调低至少一个往返时间周期对应的发送速度,直到网络中占用带宽达到预设的第二带宽限值的步骤之前,所述方法还包括:
获取预设的回调系数以及所述第一带宽限值;所述回调系数表征对所述第一带宽限值值进行回调的降低幅度;
根据所述回调系数与所述第一带宽限值的乘积,确定所述第二带宽限值。
在一示例性实施例中,所述在所述第三阶段,确定目标往返时间周期,按照预设概率调高或调低所述目标往返时间周期对应的发送速度,包括:
在所述第三阶段,确定目标往返时间周期,并按照预设概率确定所述目标往返时间周期对应发送速度的调整方向;
获取所述调整方向对应的随机数;所述随机数为预设范围内的正数或负数,所述正数指示所述目标往返时间周期对应发送速度的调高幅度,所述负数指示所述目标往返时间周期对应发送速度的调低幅度;
根据所述随机数,调整所述目标往返时间周期对应的发送速度。
在一示例性实施例中,所述根据所述网络反馈调节下一往返时间周期对应的发送速度,包括:
若所述网络反馈为正反馈,则将所述目标往返时间周期的发送速度作为下一往返时间周期对应的发送速度;所述正反馈表征所述目标往返时间周期的占用带宽相对于上一往返时间周期对应的参考占用带宽增加;
若所述网络反馈为负反馈,则将所述目标往返时间周期对应的上一往返时间周期的发送速度,作为下一往返时间周期对应的发送速度;所述负反馈表征所述目标往返时间周期的占用带宽相对于上一往返时间周期对应的参考占用带宽减少。
根据本公开实施例的第二方面,提供一种网络传输方法,包括:
在数据传输的初始阶段,基于预设的增长系数逐次调高多个往返时间周期对应的发送速度;
若确定调高发送速度后的多个往返时间周期对应的占用带宽达到预设的第一带宽限值,则停止调高下一往返时间周期对应的发送速度。
根据本公开实施例的第三方面,提供一种网络传输方法,包括:
在数据传输过程中,确定目标往返时间周期并按照预设概率确定所述目标往返时间周期对应发送速度的调整方向;
获取所述调整方向对应的随机数;所述随机数为预设范围内的正数或负数,所述正数指示所述目标往返时间周期对应发送速度的调高幅度,所述负数指示所述目标往返时间周期对应发送速度的调低幅度;
根据所述随机数,调整所述目标往返时间周期对应的发送速度,并获取网络反馈;
根据所述网络反馈调节下一往返时间周期对应的发送速度。
根据本公开实施例的第四方面,提供一种网络传输装置,包括:
发送速度提高单元,被配置为执行在数据传输的第一阶段,逐次调高多个往返时间周期对应的发送速度,直到网络中占用带宽达到预设的第一带宽限值,进入预设的第二阶段;
发送速度降低单元,被配置为执行在所述第二阶段,逐次调低至少一个往返时间周期对应的发送速度,直到网络中占用带宽达到预设的第二带宽限值,进入预设的第三阶段;所述第二带宽限值小于所述第一带宽限值;
发送速度随机调整单元,被配置为执行在所述第三阶段,确定目标往返时间周期,按照预设概率调高或调低所述目标往返时间周期对应的发送速度,并获取网络反馈,根据所述网络反馈调节下一往返时间周期对应的发送速度。
在一示例性实施例中,所述发送速度提高单元,包括:
发送窗口调整模块,被配置为执行在数据传输的第一阶段,基于预设的增长系数逐次扩大多个往返时间周期对应的发送窗口的窗口大小,以调高所述多个往返时间周期各自对应的发送速度;
占用带宽增加率确定模块,被配置为执行确定调高发送速度后各个往返时间周期对应的占用带宽增加率;所述占用带宽增加率,表征对应往返时间周期的占用带宽相对于上一往返时间周期的占用带宽的增加幅度;
增加率阈值比较模块,被配置为执行若连续多个往返时间周期对应的所述占用带宽增加率均不超过预设的增加率阈值,确定网络中占用带宽达到预设的第一带宽限值。
在一示例性实施例中,所述占用带宽增加率确定模块,包括:
实际占用带宽获取模块,被配置为执行针对各往返时间周期,在该往返时间周期对应的发送速度调高后,获取该往返时间周期对应的实际占用带宽,以及,获取上一往返时间周期对应的历史占用带宽;
比值确定模块,被配置为执行根据所述实际带宽和所述历史带宽的比值,确定该往返时间周期对应的占用带宽增加率。
在一示例性实施例中,所述发送速度降低单元,包括:
发送速度调低模块,被配置为执行在所述第二阶段,针对当前往返时间周期,基于预设的降低系数,调低当前往返时间周期对应的发送速度;
占用带宽比较模块,被配置为执行若确定调低发送速度后的当前往返时间周期对应的网络中占用带宽大于或等于预设的第二带宽限值,则在下一往返时间周期到来时,将所述下一往返时间周期作为当前往返时间周期,再次执行所述基于预设的降低系数,调低当前往返时间周期对应的发送速度的步骤,直到所述当前往返时间周期对应的占用带宽小于所述第二带宽限值。
在一示例性实施例中,所述装置还包括:
回调系数获取单元,被配置为执行获取预设的回调系数以及所述第一带宽限值;所述回调系数表征对所述第一带宽限值进行回调的降低幅度;
第二带宽限值确定单元,被配置为执行根据所述回调系数与所述第一带宽限值的乘积,确定所述第二带宽限值。
在一示例性实施例中,所述发送速度随机调整单元,包括:
目标周期确定模块,被配置为执行在所述第三阶段,确定目标往返时间周期,并按照预设概率确定所述目标往返时间周期对应发送速度的调整方向;
随机数生成模块,被配置为执行获取所述调整方向对应的随机数;所述随机数为预设范围内的正数或负数,所述正数指示所述目标往返时间周期对应发送速度的调高幅度,所述负数指示所述目标往返时间周期对应发送速度的调低幅度;
发送速度调整模块,被配置为执行根据所述随机数,调整所述目标往返时间周期对应的发送速度。
在一示例性实施例中,所述发送速度随机调整单元,还包括:
速度更新模块,被配置为执行若所述网络反馈为正反馈,则将所述目标往返时间周期的发送速度作为下一往返时间周期对应的发送速度;所述正反馈表征所述目标往返时间周期的占用带宽相对于上一往返时间周期对应的参考占用带宽增加;
速度保持模块,被配置为执行若所述网络反馈为负反馈,则将所述目标往返时间周期对应的上一往返时间周期的发送速度,作为下一往返时间周期对应的发送速度;所述负反馈表征所述目标往返时间周期的占用带宽相对于上一往返时间周期对应的参考占用带宽减少。
根据本公开实施例的第五方面,提供一种网络传输装置,包括:
发送速度调高单元,被配置为执行在数据传输的初始阶段,基于预设的增长系数逐次调高多个往返时间周期对应的发送速度;
暂停调高单元,被配置为执行若确定调高发送速度后的多个往返时间周期对应的占用带宽达到预设的第一带宽限值,则停止调高下一往返时间周期对应的发送速度。
根据本公开实施例的第六方面,提供一种网络传输装置,包括:
目标周期获取单元,被配置为执行在数据传输过程中,确定目标往返时间周期,并按照预设概率确定所述目标往返时间周期对应发送速度的调整方向;
随机更新单元,被配置为执行获取所述调整方向对应的随机数;所述随机数为预设范围内的正数或负数,所述正数指示所述目标往返时间周期对应发送速度的调高幅度,所述负数指示所述目标往返时间周期对应发送速度的调低幅度;
网络反馈获取单元,被配置为执行根据所述随机数,调整所述目标往返时间周期对应的发送速度,并获取网络反馈;
发送速度更改单元,被配置为执行根据所述网络反馈调节下一往返时间周期对应的发送速度。
根据本公开实施例的第七方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上任一项所述的网络传输方法。
根据本公开实施例的第八方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如上任一项所述的网络传输方法。
根据本公开实施例的第八方面,提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如上任一项所述的网络传输方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
数据的发送端可以提前随机地调整目标往返时间周期的发送速度,再基于网络反馈确定调整是否恰当,及时获取当前网络带宽的变化情况,再对下一往返时间周期的发送速度进行适配调整,有效减少测量滞后和失效的问题,提高了网络传输效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种网络传输方法的应用环境图。
图2是根据一示例性实施例示出的一种网络传输方法的流程图。
图3是根据另一示例性实施例示出的一种网络传输方法的流程图。
图4是根据另一示例性实施例示出的一种网络传输方法的流程图。
图5是根据另一示例性实施例示出的一种网络传输方法的流程图。
图6是根据另一示例性实施例示出的一种网络传输方法的流程图。
图7是根据一示例性实施例示出的一种网络传输装置的框图。
图8是根据另一示例性实施例示出的一种网络传输装置的框图。
图9是根据另一示例性实施例示出的一种网络传输装置的框图。
图10是根据一示例性实施例示出的一种电子设备的框图。
图11是根据另一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
还需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
随着宽带网络技术和终端设备技术的快速发展,网络文件的传输日益广泛,而网络文件的传输速度也影响着用户使用体验,如网络视频文件传输速度过低时,引发视频的播放卡顿、播放失败等问题。在保持网络架构和硬件设备不变的情况下,可以通过优化传输协议提高传输速度。
在现有技术中,TCP BBR拥塞控制协议可以基于当前可用带宽探测和RTT(Round-Trip Time,往返时间)跟踪机制对网络状态进行测量,并对数据的发送速度进行调整。具体而言,在TCP BBR拥塞控制协议中,数据包的发送端可以确定接收端应答的数据量,以及应答该数据量所消耗的时间,根据应答的数据量与时间的比值,确定当前的带宽。在TCP连接的过程中,可以根据当前的带宽不断调节增益系数,实现发送速度的调整。
然而,在波动多变的网络进行中,会出现网络中的实际带宽与探测带宽不符的情况,给TCP BBR拥塞控制协议带来错误的反馈,导致TCP BBR出现调节滞后或调节失效的情况,降低了网络传输效率。
基于此,本公开提供一种网络传输方法,以至少解决相关技术中通过网络传输效率低的问题。
本公开所提供的一种网络传输方法,可以应用于如图1所示的应用环境中,在该应用环境中,发送端110可以通过网络与接收端120进行数据交互,发送端110可以是向对端发送数据的一方,接收端120可以是接收来自对端数据的一方。具体而言,发送端110和接收端120可以基于预设的网络传输协议向对方发送数据,在发送数据的过程中,发送端110可以根据网络中占用带宽对数据的发送速度进行调整。其中,发送端110和接收端120可以是终端或服务器中的至少一种,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。可以理解的是,当终端或服务器中的至少一种通过网络进行数据交互时,若终端或服务器是作为向对端发送数据的一方,则终端或服务器可以理解为发送端110;若终端或服务器是作为接收来自对端数据的一方,则终端或服务器可以理解为接收端120。
图2是根据一示例性实施例示出的一种网络传输方法的流程图,如图2所示,以该方法应用于发送端110为例进行说明,可以包括以下步骤。
在步骤S210中,在数据传输的第一阶段,逐次调高多个往返时间周期对应的发送速度,直到网络中占用带宽达到预设的第一带宽限值,进入预设的第二阶段。
作为一示例,数据传输的第一阶段可以是数据传输的初始阶段,第一阶段可以是从数据开始传输到发送端的占用带宽达到第一带宽限值时的阶段,也可以是从数据开始传输到发送端的占用带宽达到第一带宽限值时的阶段中,任一个或多个时间段。
数据传输可以是数据包传输,该数据包可以是一种或多种数据载体对应的数据包,例如视频文件、音频文件、文本文件或图像文件对应的数据包。
往返时间周期可以是从发送端发送数据开始,到发送端收到来自接收端针对该数据返回的确认信息所经历的时间。
占用带宽可以是发送端在网络中进行数据传输时实际可以使用或占用的带宽。
第一带宽限值可以是网络中发送端110可使用或占用的最大带宽。
在实际应用中,发送端110在获取到待传输的数据包后,可以进行数据传输。在数据传输的第一阶段,发送端110可以逐次调高多个往返时间周期对应的发送速度。具体而言,发送端110可以在每次向接收端发送数据包前,调高当前的往返时间周期对应的发送速度,并在当前往返时间周期中,采用调高后的发送速度向接收端120发送数据包。
在提高多个往返时间周期对应的发送速度的过程中,发送端110可以判断当前网络中的占用带宽是否达到预设的第一带宽限值,若当前网络中占用带宽未达到第一带宽限值,可以继续增加往返时间周期对应的发送速度,直到当前网络中发送端110的占用带宽达到第一带宽限值时,可以暂停调高往返时间周期对应的发送速度,进入第二阶段。
在第一阶段中,通过不断提高每个往返时间周期对应的发送速度,直到达到第一带宽限值,无需经过长时间的带宽探测即可以高速进行数据传输,能够在数据刚开始传输时,实现数据的快速传输。
在步骤S220中,在所述第二阶段,逐次调低至少一个往返时间周期对应的发送速度,直到网络中占用带宽达到预设的第二带宽限值,进入预设的第三阶段。
作为一示例,第二带宽限值小于第一带宽限值。第二阶段可以是占用带宽从第一带宽限值调整至第二带宽限值的时间段。
在第一阶段中发送端110通过不断调高往返时间周期对应的发送速度,使其在网络中占用的带宽快速达到了第一带宽限值,迅速提高了数据的传输速度,但存在由于发送端110发送速度增加较快而出现数据包传输过多的情况,例如发送端110快速发送大量数据包,但发送速度超过了接收端120数据包接收能力上限(如单位时间可接收的数据包数量上限)。
在具体实现中,在暂停提高往返时间周期对应的发送速度、进入第二阶段后,可以逐次调低至少一个往返时间周期对应的发送速度,直到网络中的占用带宽达到预设第二带宽限值,可以进入预设的第三阶段。
具体地,在第二阶段中,可以通过调整往返时间周期对应的发送速度,将发送端110在网络中的占用带宽从第一带宽限值回调至第二带宽限值,在该调整过程中,可以通过一个往返时间周期,直接将占用带宽调整至第二带宽限值或第二带宽限值以下。或者,也可以通过多个连续或不连续的往返时间周期,分多次进行调整,在每个往返时间周期逐次调低对应的发送速度。
在步骤S230中,在所述第三阶段,确定目标往返时间周期,按照预设概率调高或调低所述目标往返时间周期对应的发送速度,并获取网络反馈,根据所述网络反馈调节下一往返时间周期对应的发送速度。
作为一示例,第三阶段可以是第二阶段结束后的数据发送过程,或者,也可以是第二阶段结束后的数据发送过程中的任一个或多个时间段。
发送端110在网络中的占用带宽可以存在一定的波动性,例如当网络信号、网络使用者数量等网络属性发生变化时,将影响发送端110的占用带宽。若基于针对发送端110探测计算得到的带宽对发送速度进行调整,网络中的波动性容易导致两者并不一致。
在实际应用中,可以在数据传输的第三阶段,可以确定目标往返时间周期,并按照预设概率随机调高或调低目标往返时间周期对应的发送速度,例如按照预设概率确定目标往返时间周期为待调高发送速度的往返时间周期,或是待调低发送速度的往返时间周期。在确定后,可以确定调整幅度,并基于该调整幅度调高或调低发送速度。
在调整目标往返时间周期对应的发送速度后,可以获取调整发送速度后的目标往返时间周期对应的网络反馈,根据网络反馈可以确定针对目标往返时间周期对应发送速度的调整方式是否恰当,进而可以根据网络反馈,调节下一往返时间周期对应的发送速度。
在本公开中,发送端110可以在数据传输的第一阶段,逐次调高多个往返时间周期对应的发送速度,直到网络中占用带宽达到预设的第一带宽限值,进入预设的第二阶段,在第二阶段,逐次调低至少一个往返时间周期对应的发送速度,直到网络中占用带宽达到预设的第二带宽限值,进入预设的第三阶段,在第三阶段,按照预设概率确定目标往返时间周期,调高或调低目标往返时间周期对应的发送速度,并获取网络反馈,根据网络反馈调节下一往返时间周期对应的发送速度。本公开的方案,发送端110可以提前随机地调整目标往返时间周期的发送速度,再基于网络反馈确定调整是否恰当,及时获取当前网络带宽的变化情况,再对下一往返时间周期的发送速度进行适配调整,有效减少测量滞后和失效的问题,提高了网络传输效率。
在一示例性实施例中,如图3所示,在步骤S210中,所述在数据传输的第一阶段,逐次调高多个往返时间周期对应的发送速度,直到网络中占用带宽达到第一带宽限值,可以包括以下步骤:
在步骤S211中,在数据传输的第一阶段,基于预设的增长系数逐次扩大多个往返时间周期对应的发送窗口的窗口大小,以调高所述多个往返时间周期各自对应的发送速度。
作为一示例,发送窗口可以是发送端110已发送但尚未被接收端120确认的数据包的序号队列的界限,其上下界分别为发送窗口的上下沿,上下沿的距离可以称为窗口大小或窗口尺寸。发送窗口的窗口大小与发送速度可以呈正相关,在每个往返时间周期中,发送端可以通过发送窗口发送数据包。
实际应用中,可预先设置增长系数,该增长系数可以是大于1的系数。在数据传输的第一阶段,可以基于预设的增长系数,逐次扩大多个往返时间周期对应的发送窗口的窗口大小,进而可以通过扩大发送窗口的窗口大小,提高多个往返时间周期各自对应的发送速度。具体例如,在基于预设的增长系数扩大窗口大小时,若增长系数为a,可以将当前的往返时间周期对应发送窗口的窗口大小,扩大为上一往返时间周期对应发送窗口的窗口大小的a倍。通过增长系数可以迅速扩大窗口大小,迅速提高发送端110在多个往返时间周期对应的发送速度。
在步骤S212中,确定调高发送速度后各个往返时间周期对应的占用带宽增加率。
其中,占用带宽增加率,可以表征对应往返时间周期对应的占用带宽相对于上一往返时间周期对应的占用带宽的增加幅度。
具体实际中,在调高各个往返时间周期对应的发送速度后,可以确定调高发送速度后各个往返时间周期对应的占用带宽增加率。具体而言,针对每个往返时间周期,可以在调高发送速度后,确定当前往返时间周期对应的占用带宽,以及,可以获取当前往返时间周期的上一个往返时间周期对应的占用带宽,通过对两者进行比较,可以确定当前往返时间周期对应的占用带宽相对于上一往返时间周期对应的占用带宽的增加幅度,得到占用带宽增加率。
在步骤S213中,若连续多个往返时间周期对应的所述占用带宽增加率均不超过预设的增加率阈值,确定网络中占用带宽达到预设的第一带宽限值。
其中,连续多个往返时间周期的具体数量,即往返时间周期数量,以及增加率阈值,本领域技术人员可以根据实际情况设置。例如,可以对实际网络中多路TCP连接情况进行记录和统计,得到合适的增长系数、往返时间周期数量和增加率阈值。通过对增长系数、往返时间周期数量和增加率阈值进行调整,可以使发送端110合理使用网络资源的情况下,快速达到第一带宽限值。
在获取到多个往返时间周期对应的占用带宽增加率后,可以判断是否存在连续的多个往返时间周期对应的占用带宽增加率均不超过预设的增加率阈值。若是,则可以确定网络中的占用带宽已达到预设的第一带宽限值;若否,则可以继续提高往返时间周期对应的发送速。
具体而言,发送端110在网络中的占用带宽可以与带宽占用率正相关,其中,带宽占用率可以是发送端110的占用带宽与整个网络的带宽两者之间的比值。当占用带宽较低时,其对应的带宽占用率也较低(如带宽占用率低于预设的第一占用率阈值),此时发送端110通过扩大发送窗口,可增加单位时间发送的数据量,发送速度提升,相应地,占用带宽和带宽占用率能够得到提升,反映到占用带宽增加率上,即为占用带宽增加率超过预设的增加率阈值。相反,若占用带宽和带宽占用率很高(如带宽占用率高于或等于预设的第二占用率阈值,第二阈值大于第一阈值),即使增加发送速度,占用带宽增加率的上升也较为缓慢,甚至出现下降或变为负数的情况。
而在具有随机波动的网络中,存在由于网络的随机性而导致某个往返时间周期网络性能下降的情况,例如间断的数个往返时间周期对应的占用带宽增加率下降。在本示例中,可以判断是否存在连续的多个往返时间周期对应的占用带宽增加率是否均不拆过预设的增加率阈值,由此确定占用带宽增加率的上涨缓慢或下降是由网络波动性导致的,还是由于当前的占用带宽达到了第一带宽限值。
在本公开中,在数据传输的第一阶段,可以基于预设的增长系数逐次扩大多个往返时间周期对应的发送窗口的窗口大小,以调高所述多个往返时间周期各自对应的发送速度,确定调高发送速度后各个往返时间周期对应的占用带宽增加率,若连续多个往返时间周期对应的占用带宽增加率均不超过预设的增加率阈值,确定网络中占用带宽达到预设的第一带宽限值。本公开的方案,通过判断占用带宽增加率的增长缓慢是由网络随机性引起还是达到第一带宽限值而导致,能够在网络存在波动的情况下,快速提高发送速度,保证数据快速传输的稳定性。
在一示例性实施例中,在步骤S212中,所述确定调高发送速度后各个往返时间周期对应的占用带宽增加率,可以包括如下步骤:
针对各往返时间周期,在该往返时间周期对应的发送速度调高后,获取该往返时间周期对应的实际占用带宽,以及,获取上一往返时间周期对应的历史占用带宽;根据所述实际带宽和所述历史带宽的比值,确定该往返时间周期对应的占用带宽增加率。
其中,实际占用带宽为当前往返时间周期对应的占用带宽,历史占用带宽为当前往返时间周期的上一往返时间周期对应的占用带宽。
在实际应用中,针对各个往返时间周期,在该往返时间周期对应的发送速度提高后,可以获取该往返时间周期对应的实际占用带宽和上一往返时间周期对应的历史占用带宽。在得到实际占用带宽和历史占用带宽后,可以采用实际占用带宽除以历史占用带宽,得到两者之间的比值,进而可以按照该比值确定该往返时间周期对应的占用带宽增加率。
在本公开中,可以获取当前往返时间周期对应的实际占用带宽和上一往返时间周期对应的历史占用带宽,并根据两者的比值,确定当前往返时间周期对应的占用带宽增加率,计算简单,能够迅速确定发送速度调整后占用带宽的变化情况。
在一示例性实施例中,在步骤S220中,所述在所述第二阶段,逐次调低至少一个往返时间周期对应的发送速度,直到网络中占用带宽达到预设的第二带宽限值,可以包括如下步骤:
在步骤S221中,在所述第二阶段,针对当前往返时间周期,基于预设的降低系数,调低当前往返时间周期对应的发送速度。
作为一示例,降低系数可以是用于降低往返时间周期对应发送速度的系数,降低系数具体可以是小于1的系数。
实际应用中,可以预先设置降低系数。在第二阶段中,针对当前往返时间周期,发送端110可以基于预设的降低系数,调低当前往返时间周期对应的发送速度。例如,若降低系数为b,可以将当前往返时间周期对应发送窗口的窗口大小,缩小为上一往返时间周期对应发送窗口的窗口大小的b倍,实现发送速度的降低。
在步骤S222中,若确定调低发送速度后的当前往返时间周期对应的网络中占用带宽大于或等于预设的第二带宽限值,则在下一往返时间周期到来时,将所述下一往返时间周期作为当前往返时间周期,再次执行所述基于预设的降低系数,调低当前往返时间周期对应的发送速度的步骤,直到所述当前往返时间周期对应的占用带宽小于所述第二带宽限值。
在调低发送速度后,可以确定调低发送速度后的当前往返时间周期对应的网络中占用带宽,是否大于或等于预设的第二带宽限值。当确定占用带宽大于或等于预设的第二带宽限值时,可以在下一往返时间周期到来时,将下一往返时间周期确定为当前往返时间周期,再次执行基于预设的降低系数,调低当前往返时间周期对应的发送速度的步骤,并判断调低发送速度后的当前往返时间周期对应的网络中占用带宽是否大于或等于预设的第二带宽限值,重复上述步骤,直到占用带宽小于第二带宽限值。
具体而言,在第一阶段中,由于发送端不断提升发送速度,存在发送速度超过接收断接收速度上限的情况,此时可以通过上述步骤降低发送速度,使发送端110的发送速度与接收端120的接收速度更加匹配。
在本公开中,在第二阶段发送端110可以针对当前往返时间周期,基于预设的第一降低系数,调低当前往返时间周期对应的发送速度,若确定调低发送速度后的当前往返时间周期对应的网络中占用带宽大于或等于预设的第二带宽限值,则可以在下一往返时间周期到来时,将下一往返时间周期作为当前往返时间周期,再次执行基于预设的第一降低系数,调低当前往返时间周期对应的发送速度的步骤,直到当前往返时间周期对应的占用带宽小于第二带宽限值,能够降低第一阶段快速增大的第一带宽限值,避免发送端110持续向接收端120发送过多的数据包。
在一示例性实施例中,所述在所述第二阶段,逐次调低至少一个往返时间周期对应的发送速度,直到网络中占用带宽达到预设的第二带宽限值的步骤之前,所述方法还包括以下步骤:
获取预设的回调系数以及所述第一带宽限值;根据所述回调系数与所述第一带宽限值的乘积,确定所述第二带宽限值。
其中,回调系数可以表征对第一带宽限值进行回调的降低幅度;
在具体实现中,可以获取预设的回调系数,在第一阶段结束后,可以获取回调系数和第一带宽限值,并根据回调系数和第一带宽限值的乘积,确定第二带宽限值。
在本公开中,发送端110可以获取预设的回调系数以及第一带宽限值,并根据回调系数与第一带宽限值的乘积确定第二带宽限值,能够确定对第一带宽限值的调整幅度,得到作为调整目标的第二带宽限值。
在一示例中,本领域技术人员可以根据实际情况调整回调系数和降低系数,通过对回调系数和降低系数进行调整,可以控制对第一带宽限值回调的总的降低幅度和每次下调发送速度的幅度,能够降低网络负载探测,维持理想可用带宽的平衡点。
在一示例性实施例中,如图3所示,在步骤S230中,所述在所述第三阶段,确定目标往返时间周期,按照预设概率调高或调低所述目标往返时间周期对应的发送速度,可以包括如下步骤:
在步骤S231中,在所述第三阶段,确定目标往返时间周期,并按照预设概率确定所述目标往返时间周期对应发送速度的调整方向。
作为一示例,预设概率可以包括调高发送速度的概率Pa和调低发送速度的概率Pb。目标往返时间周期可以是待调整发送速度的往返时间周期。发送速度的调整方向可以包括调高发送速度或调低发送速度。
具体实现中,在数据传输的第三阶段中,可以确定目标往返时间周期,进而可以在确定出目标往返时间周期后,按照预设的概率,确定目标往返时间周期发送速度的调整方向。
在确定目标往返时间周期时,可以基于预先设定的概率确定,例如,可以设置保持当前发送速度的概率Pc和调整发送速度的概率Pd,进而可以根据概率Pc和概率Pd确定当前往返时间周期是否为目标往返时间周期。
或者,也可以按照预设的时间间隔或预设的往返时间周期间隔,确定出待调整发送速度的目标往返时间周期。本领域技术人员可以根据实际情况选择。
在一示例中,可以预先设定调高发送速度的概率Pa、调低发送速度的概率Pb和保持当前发送速度的概率Pc,概率Pa、概率Pb和概率Pc的和可以等于1,进而可以基于概率Pa、概率Pb和概率Pc确定出当前往返时间周期是否为目标往返时间周期及其对应的发送速度调整方向。
在步骤S232中,获取所述调整方向对应的随机数。
其中,随机数可以为预设范围内的正数或负数,正数可以指示目标往返时间周期对应发送速度的调高幅度,负数可以指示目标往返时间周期对应发送速度的调低幅度。
预设范围可以是发送速度的调整幅度范围,实际应用中,针对调高发送速度和调低发送速度,可以具有相同或不同的预设范围。
在确定目标往返时间周期对应的调整方向后,则可以获取与调整方向对应的随机数。具体的,若按照预设概率确定目标往返时间周期为待调高发送速度的往返时间周期,则可以在针对调高发送速度的预设范围内,随机生成一正数;若确定目标往返时间周期为待调低发送速度的往返时间周期,则可以在针对调低发送速度的预设范围内,随机生成一负数。
在步骤S233中,根据所述随机数,调整所述目标往返时间周期对应的发送速度。
在生成随机数后,发送端110可以根据该随机数调整目标往返时间周期对应的发送速度。具体例如,当随机数为正数时,可以根据该正数对应的调整幅度,调高目标往返时间周期对应的发送速度;当随机数为负数时,可以根据该负数对应的调整幅度,调低目标往返时间周期对应的发送速度。
在本公开中,发送端110可以在数据传输的第三阶段中,确定目标往返时间周期,并按照预设概率确定目标往返时间周期对应发送速度的调整方向,获取该调整方向对应的随机数,并根据随机数,调整目标往返时间周期对应的发送速度,能够提前随机地调整目标往返时间周期的发送速度,使发送端110的占用带宽在网络中实际可用带宽的范围内上下波动,有效降低网络中的冗余,当网络状况出现随机波动时,能够通过随机调整发送速度,避免测量滞后和失效的问题。并且,通过随机调整发送速度,并根据网络反馈调整下一往返时间周期的发送速度,在网络中存在其他TCP算法时,能更有效地竞争网络带宽并避免失速问题。
在一示例性实施例中,在确定目标往返时间周期后,也可以按照预设的增长幅度或降低幅度调整发送速度,其中,增长幅度可以大于1,降低幅度可以大于0且小于1。
例如,针对待调高发送速度的目标往返时间周期,可以将目标往返时间周期对应的发送速度,提高为上一往返时间周期的发送速度的Qa倍,得到目标往返时间周期对应的发送速度;针对待调低发送速度的目标往返时间周期,可以将目标往返时间周期对应的发送速度,降低为上一往返时间周期的发送速度的Qb倍。
在一示例性实施例中,在步骤S230中,所述根据所述网络反馈调节下一往返时间周期对应的发送速度,可以包括如下步骤:
若所述网络反馈为正反馈,则将所述目标往返时间周期的发送速度作为下一往返时间周期对应的发送速度;若所述网络反馈为负反馈,则将所述目标往返时间周期对应的上一往返时间周期的发送速度,作为下一往返时间周期对应的发送速度。
作为一示例,正反馈可以表征目标往返时间周期的占用带宽相对于上一往返时间周期对应的参考占用带宽增加;负反馈可以表征目标往返时间周期的占用带宽相对于上一往返时间周期对应的参考占用带宽减少。
在具体实现中,在获取网络反馈后,可以确定网络反馈的反馈类型,若网络反馈为正反馈,即通过随机调高或调低目标往返时间周期对应的发送速度,使得目标往返时间周期对应的占用带宽,相对于上一往返时间周期对应的参考占用带宽增加,则可以确定针对目标往返时间周期发送速度的调整方式与网络当前状况匹配,可以将目标往返时间周期的发送速度,作为下一往返时间周期对应的发送速度,保持调整后的发送速度在下一往返时间周期不变。
若网络反馈为负反馈,即通过随机调高或调低目标往返时间周期对应的发送速度,使得目标往返时间周期对应的占用带宽,相对于上一往返时间周期对应的参考占用带宽减少,则可以确定针对目标往返时间周期发送速度的调整方式与网络当前状况并不匹配,可以将目标往返时间周期对应的上一往返时间周期的发送速度,作为下一往返时间周期对应的发送速度,实现发送速度的恢复。
具体例如,在调高目标往返时间周期对应的发送速度后,若得到的网络反馈为正反馈,则可以确定通过提高发送速度,使得当前网络中空余的带宽被成功利用,因此可以将目标往返时间周期的发送速度作为下一往返时间周期的发送速度。若得到的网络反馈为负反馈,则确定当前网络并没有多余的带宽可使用,提高发送速度难以带来明显的占用带宽增加,则可以将发送速度降低为调高前的发送速度,并作为下一往返时间周期的发送速度。
又如,在调低目标往返时间周期对应的发送速度后,若得到的网络反馈为正反馈,则可以确定当前网络中存在冗余,通过降低发送速度带来的退让,能够成功提高发送端110的占用带宽,有效降低冗余,因此可以将目标往返时间周期的发送速度作为下一往返时间周期的发送速度。若得到的网络反馈为负反馈,则确定降低发送速而导致没有充分利用网络中的带宽,可以将发送速度降低为调低前的发送速度,并作为下一往返时间周期的发送速度。
在本公开中,若网络反馈为正反馈,则可以将目标往返时间周期的发送速度作为下一往返时间周期对应的发送速度,若网络反馈为负反馈,则将目标往返时间周期对应的上一往返时间周期的发送速度,作为下一往返时间周期对应的发送速度,能够根据网络反馈对下一往返时间周期的发送速度匹配调整,及时获取当前网络带宽的变化情况,有效避免测量滞后和失效的问题。
在一示例性实施例中,所述获取网络反馈的步骤之前,所述方法还可以包括:
确定所述目标往返时间周期的上一往返时间周期对应的历史占用带宽;若所述目标往返时间周期对应的发送速度调高,则根据预设的目标增长阈值和上一往返时间周期对应的历史占用带宽的乘积,得到上一往返时间周期对应参考占用带宽;若所述目标往返时间周期对应的发送速度调低,则根据预设的目标降低阈值和上一往返时间周期对应的历史占用带宽的乘积,得到上一往返时间周期对应参考占用带宽。
在实际应用中,可以预先设置目标增长阈值和目标降低阈值。在随机调整目标往返时间周期对应的发送速度后,可以确定目标往返时间周期的上一往返时间周期对应的历史占用带宽。若目标往返时间周期对应的发送速度调高,则可以根据目标增长阈值和上一往返时间周期对应的历史占用带宽的乘积,得到上一往返时间周期对应的参考占用带宽。若目标往返时间周期对应的发送速度调低,则可以根据目标降低阈值和上一往返时间周期对应的历史占用带宽的乘积,得到上一往返时间周期对应的参考占用带宽。
在本公开中,通过根据预设的目标增长阈值和上一往返时间周期对应的历史占用带宽的乘积,得到上一往返时间周期对应参考占用带宽,或者根据预设的目标降低阈值和上一往返时间周期对应的历史占用带宽的乘积,得到上一往返时间周期对应参考占用带宽,能够得到与上一往返时间周期匹配的参考占用带宽,在存在波动的网络中,避免仅单独比对目标往返时间周期和上一往返时间周期各自对应的占用带宽,有效提高网络反馈结果的准确性和可靠性。
在一示例性实施例中,在步骤S230中,所述获取网络反馈,可以包括如下步骤:
获取所述目标往返时间周期对应的占用带宽;若所述目标往返时间周期对应的占用带宽小于预先生成的参考占用带宽,则确定网络反馈为负反馈;若所述目标往返时间周期对应的当前带宽大于或等于所述参考占用带宽,则确定网络反馈为正反馈。
在具体实现中,在调高或调低目标往返时间周期对应的发送速度后,可以获取目标往返时间周期对应的占用带宽,并将该占用带宽与预先生成的、上一往返时间周期对应的参考占用带宽进行比较。若目标往返时间周期对应的占用带宽小于参考占用带宽,则可以确定网络反馈为负反馈;若目标往返时间周期对应的当前带宽大于或等于参考占用带宽,则可以确定网络反馈为正反馈。
在本公开中,通过对目标往返时间周期对应的占用带宽和上一往返时间周期对应的参考占用带宽进行比较,可以获取到随机调高或调低发送速度后的网络反馈,为确定下一往返时间周期对应的发送速度调整方式提供参考。
为了使本领域技术人员能够更好地理解上述步骤,以下通过一个例子对本公开实施例加以示例性说明,但应当理解的是,本公开实施例并不限于此。
在一示例性实施例中,发送端110可以通过传输控制协议(Transmission ControlProtocol,TCP)与接收端120进行数据交互,当本公开的网络传输方法应用于TCP协议的数据传输过程中时,该方法也可以称为TCP拥塞控制方法。
如图4所示,在本示例中,可以包含快速启动阶段、带宽恢复阶段和稳定传输阶段共三个阶段,此三个阶段可以分别对应与本公开中的第一阶段、第二阶段和第三阶段。
在快速启动阶段中,发送端110可以按照预设的探测周期对数据的发送速度和网络中占用带宽进行跟踪探测。发送端110针对每个往返时间周期,可以按照预设的增长系数a增加发送速度,具体例如,针对每个往返时间周期,可以将该往返时间周期对应的发送窗口,扩大为上一个往返时间周期对应发送窗口的a倍。
在增加发送速度后,可以获取增加发送速度后的当前往返时间周期对应的占用带宽,并采用该占用带宽除以与上一往返时间周期对应占用带宽,得到对应的占用带宽增加率。若连续多个往返时间周期对应的占用带宽增加率未超过预设的增加率阈值,则可以确定当前网络中的占用带宽对应的带宽占用率已经达到限值,带宽达到上限(对应于本公开中的第一带宽限值)。
在带宽达到上限后,可以停止快速启动阶段,进入带宽恢复阶段。在带宽恢复阶段中,可以获取预设的回调系数和降低系数,根据回调系数与第一带宽限值的乘积,确定第二带宽限值。在确定第二带宽限值后,可以采用降低系数逐次降低发送速度,并通过判断往返时间周期对应的占用带宽是否小于第二带宽限值,确定当前带宽是否稳定。当往返时间周期对应的占用带宽小于第二带宽限值时,停止带宽恢复阶段,进而稳定传输阶段。
在稳定传输阶段中,可以按照预设概率确定目标往返时间周期,并对目标往返时间周期的发送速度进行随机调整。
图5是根据一示例性实施例示出的一种网络传输方法的流程图,如图5所示,以该方法应用于发送端110为例进行说明,可以包括以下步骤。
在步骤S310中,在数据传输的初始阶段,基于预设的增长系数逐次调高多个往返时间周期对应的发送速度。
作为一示例,数据传输的初始阶段可以是从数据开始传输到发送端的占用带宽达到第一带宽限值时的阶段,也可以是从数据开始传输到发送端的占用带宽达到第一带宽限值时的阶段中,任一个或多个时间段。在一示例中,本公开中的数据传输过程,可以是上述一种网络传输方法中的第一阶段。
在实际应用中,发送端110在获取到待传输的数据包后,可以进入数据传输的初始阶段,开始进行数据传输。在数据传输的初始阶段,发送端110可以基于预设的增长系数,逐次调高多个往返时间周期对应的发送速度。具体而言,发送端110可以在每次向接收端发送数据包前,调高当前的往返时间周期对应的发送速度,并在当前往返时间周期中,采用调高后的发送速度向接收端120发送数据包。
在步骤S320中,若确定调高发送速度后的多个往返时间周期对应的占用带宽达到预设的第一带宽限值,则停止调高下一往返时间周期对应的发送速度。
在逐次提高多个往返时间周期对应的发送速度后,可以根据多个往返时间周期对应的占用带宽,确定当前网络中的占用带宽是否达到预设的第一带宽限值。若当前网络中占用带宽未达到第一带宽限值,则可以继续基于预设的增长系数调高往返时间周期对应的发送速度。若确定占用带宽达到所述第一带宽限值,则可以暂停调高往返时间周期对应的发送速度。
在本公开中,在数据传输的初始阶段,基于预设的增长系数逐次调高多个往返时间周期对应的发送速度,若确定调高发送速度后的多个往返时间周期对应的占用带宽达到预设的第一带宽限值,则可以停止调高下一往返时间周期对应的发送速度。本公开的方案,通过不断提高每个往返时间周期对应的发送速度,直到达到第一带宽限值,无需经过长时间的带宽探测即可以高速进行数据传输,相较于传统的TCP BBR拥塞控制协议需要经过一段时间的探测才能进入稳定传输阶段的方式,本公开在数据刚开始传输时,即可实现数据的快速传输,缩短数据传输时间。
本公开中的一种网络传输方法,可以参考上述网络传输方法中关于第一阶段的描述,本实施例不作赘述。
图6是根据一示例性实施例示出的一种网络传输方法的流程图,如图6所示,以该方法应用于发送端110为例进行说明,可以包括以下步骤。
在步骤S410中,在数据传输过程中,确定目标往返时间周期,并按照预设概率确定所述目标往返时间周期对应发送速度的调整方向。
作为一示例,数据传输过程可以是数据开始传输到传输结束的过程,也可以是数据开始传输至传输结束过程中任意一个或多个时间段,在一示例中,本公开中的数据传输过程,可以是上述一种网络传输方法中的第三阶段。
预设概率可以包括调高发送速度的概率Pa和调低发送速度的概率Pb。目标往返时间周期可以时待调整发送速度的往返时间周期。发送速度的调整方向可以包括调高发送速度或调低发送速度。
具体实现中,在数据传输过程中,可以确定当前往返时间周期是否为目标往返时间周期,进而可以在确定出目标往返时间周期后,按照预设概率,确定目标往返时间周期发送速度的调整方向。
在确定目标往返时间周期时,可以基于预先设定的概率确定,例如,可以设置保持当前发送速度的概率Pc和调整发送速度的概率Pd,进而可以根据概率Pc和概率Pd确定当前往返时间周期是否为目标往返时间周期。
或者,也可以按照预设的时间间隔或预设的往返时间周期间隔,确定出待调整发送速度的目标往返时间周期。本领域技术人员可以根据实际情况选择。
在步骤S420中,获取所述调整方向对应的随机数。
其中,随机数可以为正数或负数,正数可以指示调高目标往返时间周期对应的发送速度,负数可以指示调低目标往返时间周期对应发送速度。
预设范围可以是发送速度的调整幅度范围,实际应用中,针对调高发送速度和调低发送速度,可以具有相同或不同的预设范围。
在确定目标往返时间周期及其对应的调整方向后,则可以在预设范围内生成一随机数。具体的,若按照预设概率确定目标往返时间周期为待调高发送速度的往返时间周期,则可以在针对调高发送速度的预设范围内,随机生成一正数;若确定目标往返时间周期为待调低发送速度的往返时间周期,则可以在针对调低发送速度的预设范围内,随机生成一负数。
在步骤S430中,根据所述随机数,调整所述目标往返时间周期对应的发送速度,并获取网络反馈。
在生成随机数后,发送端110可以根据该随机数调整目标往返时间周期对应的发送速度。具体例如,当随机数为正数时,可以根据该正数对应的调整幅度,调高目标往返时间周期对应的发送速度;当随机数为负数时,可以根据该负数对应的调整幅度,调低目标往返时间周期对应的发送速度。在调整目标往返时间周期对应的发送速度后,可以获取调整发送速度后的目标往返时间周期对应的网络反馈。
在步骤S440中,根据所述网络反馈调节下一往返时间周期对应的发送速度。
在具体实现中,可以通过网络反馈确定调整发送速度后带来的影响,例如确定调高发送速度可以带来正面影响或负面影响。在获取到目标往返时间周期对应的网络反馈后,发送端110可以根据网络反馈调节下一往返时间周期对应的发送速度,以对发送速度进行适应性调整。在本公开中,发送端110可以在数据传输过程中,按照预设概率确定当前往返时间周期是否为目标往返时间周期,若确定当前往返时间周期为目标往返时间周期,可以生成在预设范围内的随机数,根据随机数,调整目标往返时间周期对应的发送速度,并获取网络反馈,进而可以根据网络反馈调节下一往返时间周期对应的发送速度,能够提前随机地调整目标往返时间周期的发送速度,使发送端110的占用带宽在网络中实际可用带宽的范围内上下波动,有效降低网络中的冗余,当网络状况出现随机波动时,能够通过随机调整发送速度,避免测量滞后和失效的问题。
在一示例性实施例中,在确定目标往返时间周期后,也可以按照预设的增长幅度或降低幅度调整发送速度,其中,增长幅度可以大于1,降低幅度可以大于0且小于1。
例如,针对待调高发送速度的目标往返时间周期,可以将目标往返时间周期对应的发送速度,提高为上一往返时间周期的发送速度的Qa倍,得到目标往返时间周期对应的发送速度;针对待调低发送速度的目标往返时间周期,可以将目标往返时间周期对应的发送速度,降低为上一往返时间周期的发送速度的Qb倍。
在一示例性实施例中,在所述根据所述随机数,调整所述目标往返时间周期对应的发送速度步骤之后,所述方法还可以包括如下步骤:
获取网络反馈,若所述网络反馈为正反馈,则将所述目标往返时间周期的发送速度作为下一往返时间周期对应的发送速度;若所述网络反馈为负反馈,则将所述目标往返时间周期对应的上一往返时间周期的发送速度,作为下一往返时间周期对应的发送速度。
作为一示例,正反馈可以表征目标往返时间周期的占用带宽相对于上一往返时间周期对应的参考占用带宽增加;负反馈可以表征目标往返时间周期的占用带宽相对于上一往返时间周期对应的参考占用带宽减少。
在具体实现中,在获取网络反馈后,可以确定网络反馈的反馈类型,若网络反馈为正反馈,则可以确定针对目标往返时间周期发送速度的调整方式与网络当前状况匹配,可以将目标往返时间周期的发送速度,作为下一往返时间周期对应的发送速度。
若网络反馈为负反馈,则可以确定针对目标往返时间周期发送速度的调整方式与网络当前状况并不匹配,可以将目标往返时间周期对应的上一往返时间周期的发送速度,作为下一往返时间周期对应的发送速度,实现发送速度的恢复。
在本公开中,若网络反馈为正反馈,则可以将目标往返时间周期的发送速度作为下一往返时间周期对应的发送速度,若网络反馈为负反馈,则将目标往返时间周期对应的上一往返时间周期的发送速度,作为下一往返时间周期对应的发送速度,能够根据网络反馈对下一往返时间周期的发送速度匹配调整,及时获取当前网络带宽的变化情况,有效避免测量滞后和失效的问题。
本公开中的一种网络传输方法,可以参考上述网络传输方法中关于第三阶段的描述,本实施例不作赘述。
应该理解的是,虽然图2-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
图7是根据一示例性实施例示出的一种网络传输装置框图。参照图7,该装置包括发送速度提高单元701,发送速度降低单元702和发送速度随机调整单元703。
发送速度提高单元701,被配置为执行在数据传输的第一阶段,逐次调高多个往返时间周期对应的发送速度,直到网络中占用带宽达到预设的第一带宽限值,进入预设的第二阶段;
发送速度降低单元702,被配置为执行在所述第二阶段,逐次调低至少一个往返时间周期对应的发送速度,直到网络中占用带宽达到预设的第二带宽限值,进入预设的第三阶段;所述第二带宽限值小于所述第一带宽限值;
发送速度随机调整单元703,被配置为执行在所述第三阶段,确定目标往返时间周期,按照预设概率调高或调低所述目标往返时间周期对应的发送速度,并获取网络反馈,根据所述网络反馈调节下一往返时间周期对应的发送速度。
在一示例性实施例中,所述发送速度提高单元701,包括:
发送窗口调整模块,被配置为执行在数据传输的第一阶段,基于预设的增长系数逐次扩大多个往返时间周期对应的发送窗口的窗口大小,以调高所述多个往返时间周期各自对应的发送速度;
占用带宽增加率确定模块,被配置为执行确定调高发送速度后各个往返时间周期对应的占用带宽增加率;所述占用带宽增加率,表征对应往返时间周期的占用带宽相对于上一往返时间周期的占用带宽的增加幅度;
增加率阈值比较模块,被配置为执行若连续多个往返时间周期对应的所述占用带宽增加率均不超过预设的增加率阈值,确定网络中占用带宽达到预设的第一带宽限值。
在一示例性实施例中,所述占用带宽增加率确定模块,包括:
实际占用带宽获取模块,被配置为执行针对各往返时间周期,在该往返时间周期对应的发送速度调高后,获取该往返时间周期对应的实际占用带宽,以及,获取上一往返时间周期对应的历史占用带宽;
比值确定模块,被配置为执行根据所述实际带宽和所述历史带宽的比值,确定该往返时间周期对应的占用带宽增加率。
在一示例性实施例中,所述发送速度降低单元702,包括:
发送速度调低模块,被配置为执行在所述第二阶段,针对当前往返时间周期,基于预设的降低系数,调低当前往返时间周期对应的发送速度;
占用带宽比较模块,被配置为执行若确定调低发送速度后的当前往返时间周期对应的网络中占用带宽大于或等于预设的第二带宽限值,则在下一往返时间周期到来时,将所述下一往返时间周期作为当前往返时间周期,再次执行所述基于预设的降低系数,调低当前往返时间周期对应的发送速度的步骤,直到所述当前往返时间周期对应的占用带宽小于所述第二带宽限值。
在一示例性实施例中,所述装置还包括:
回调系数获取单元,被配置为执行获取预设的回调系数以及所述第一带宽限值;所述回调系数表征对所述第一带宽限值进行回调的降低幅度;
第二带宽限值确定单元,被配置为执行根据所述回调系数与所述第一带宽限值的乘积,确定所述第二带宽限值。
在一示例性实施例中,所述发送速度随机调整单元703,包括:
目标周期确定模块,被配置为执行在所述第三阶段确定目标往返时间周期,并按照预设概率确定所述目标往返时间周期对应发送速度的调整方向;
随机数生成模块,被配置为执行获取所述调整方向对应的随机数;所述随机数为预设范围内的正数或负数,所述正数指示所述目标往返时间周期对应发送速度的调高幅度,所述负数指示调低所述目标往返时间周期对应发送速度的调低幅度;
发送速度调整模块,被配置为执行根据所述随机数,调整所述目标往返时间周期对应的发送速度。
在一示例性实施例中,所述发送速度随机调整单元703,还包括:
速度更新模块,被配置为执行若所述网络反馈为正反馈,则将所述目标往返时间周期的发送速度作为下一往返时间周期对应的发送速度;所述正反馈表征所述目标往返时间周期的占用带宽相对于上一往返时间周期对应的参考占用带宽增加;
速度保持模块,被配置为执行若所述网络反馈为负反馈,则将所述目标往返时间周期对应的上一往返时间周期的发送速度,作为下一往返时间周期对应的发送速度;所述负反馈表征所述目标往返时间周期的占用带宽相对于上一往返时间周期对应的参考占用带宽减少。
图8是根据一示例性实施例示出的一种网络传输装置框图。参照图8,该装置包括发送速度调高单元801和暂停调高单元802。
发送速度调高单元801,被配置为执行在数据传输的初始阶段,基于预设的增长系数逐次调高多个往返时间周期对应的发送速度;
暂停调高单元802,被配置为执行若确定调高发送速度后的多个往返时间周期对应的占用带宽达到预设的第一带宽限值,则停止调高下一往返时间周期对应的发送速度。
图9是根据一示例性实施例示出的一种网络传输装置框图。参照图9,该装置包括目标周期获取单元901,随机更新单元902、网络反馈获取单元903和发送速度更改单元904。
目标周期获取单元901,被配置为执行在数据传输过程中,确定目标往返时间周期,并按照预设概率确定所述目标往返时间周期对应发送速度的调整方向;
随机更新单元902,被配置为执行获取所述调整方向对应的随机数;所述随机数为预设范围内的正数或负数,所述正数指示所述目标往返时间周期对应发送速度的调高幅度,所述负数指示所述目标往返时间周期对应发送速度的调低幅度;
网络反馈获取单元903,被配置为执行根据所述随机数,调整所述目标往返时间周期对应的发送速度,并获取网络反馈;
发送速度更改单元904,被配置为执行根据所述网络反馈调节下一往返时间周期对应的发送速度。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图10是根据一示例性实施例示出的一种用于执行网络传输方法的设备1000的框图。例如,设备1000可以是移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
参照图10,设备1000可以包括以下一个或多个组件:处理组件1002、存储器1004、电源组件1006、多媒体组件1008、音频组件1010、输入/输出(I/O)的接口1012、传感器组件1014以及通信组件1016。
处理组件1002通常控制设备1000的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关联的操作。处理组件1002可以包括一个或多个处理器1020来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1002可以包括一个或多个模块,便于处理组件1002和其他组件之间的交互。例如,处理组件1002可以包括多媒体模块,以方便多媒体组件1008和处理组件1002之间的交互。
存储器1004被配置为存储各种类型的数据以支持在设备1000的操作。这些数据的示例包括用于在设备1000上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器1004可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、快闪存储器、磁盘或光盘。
电源组件1006为设备1000的各种组件提供电力。电源组件1006可以包括电源管理***,一个或多个电源,及其他与为设备1000生成、管理和分配电力相关联的组件。
多媒体组件1008包括在所述设备1000和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1008包括一个前置摄像头和/或后置摄像头。当设备1000处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件1010被配置为输出和/或输入音频信号。例如,音频组件1010包括一个麦克风(MIC),当设备1000处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1004或经由通信组件1016发送。在一些实施例中,音频组件1010还包括一个扬声器,用于输出音频信号。
I/O接口1012为处理组件1002和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1014包括一个或多个传感器,用于为设备1000提供各个方面的状态评估。例如,传感器组件1014可以检测到设备1000的打开/关闭状态,组件的相对定位,例如所述组件为设备1000的显示器和小键盘,传感器组件1014还可以检测设备1000或设备1000一个组件的位置改变,用户与设备1000接触的存在或不存在,设备1000方位或加速/减速和设备1000的温度变化。传感器组件1014可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1014还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1014还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
通信组件1016被配置为便于设备1000和其他设备之间有线或无线方式的通信。设备1000可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件1016经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1016还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,设备1000可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器1004,上述指令可由设备1000的处理器1020执行以完成上述方法。例如,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,包括计算机程序/指令,上述计算机程序/指令被处理器执行时实现上述方法。
图11是根据一示例性实施例示出的一种用于执行网络传输方法的设备1100的框图。例如,设备1100可以为一服务器。参照图11,设备1100包括处理组件1120,其进一步包括一个或多个处理器,以及由存储器1122所代表的存储器资源,用于存储可由处理组件1120的执行的指令,例如应用程序。存储器1122中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1120被配置为执行指令,以执行上述网络传输方法。
设备1100还可以包括一个电源组件1124被配置为执行设备1100的电源管理,一个有线或无线网络接口1126被配置为将设备1100连接到网络,和一个输入输出(I/O)接口1128。设备1100可以操作基于存储在存储器1122的操作***,例如Window11 11erver,MacO11 X,Unix,Linux,FreeB11D或类似。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器1122,上述指令可由设备1100的处理器执行以完成上述方法。存储介质可以是计算机可读存储介质,例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,包括计算机程序/指令,上述计算机程序/指令被处理器执行时实现上述方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (17)
1.一种网络传输方法,其特征在于,包括:
在数据传输的第一阶段,基于预设的增长系数得到发送窗口的扩大倍数,将当前往返时间周期对应的发送窗口的窗口大小,扩大为上一往返时间周期对应发送窗口的窗口大小的所述扩大倍数,以逐次调高多个往返时间周期各自对应的发送速度;
确定调高发送速度后各个往返时间周期对应的占用带宽增加率;所述占用带宽增加率,表征对应往返时间周期的占用带宽相对于上一往返时间周期的占用带宽的增加幅度;
若根据所述占用带宽增加率确定网络中占用带宽达到预设的第一带宽限值,进入预设的第二阶段;
在所述第二阶段,逐次调低至少一个往返时间周期对应的发送速度,直到网络中占用带宽达到预设的第二带宽限值,进入预设的第三阶段;所述第二带宽限值小于所述第一带宽限值;
在所述第三阶段,根据保持当前发送速度的第一概率和调整发送速度的第二概率,确定待调整发送速度的目标往返时间周期,按照预设概率确定所述目标往返时间周期对应发送速度的调整方向,根据预先获取的随机数,随机调高或调低所述目标往返时间周期对应的发送速度,并获取调整发送速度后所述目标往返时间周期对应的网络反馈,根据所述网络反馈调节下一往返时间周期对应的发送速度;所述发送速度的调整方向包括调高发送速度或调低发送速度。
2.根据权利要求1所述的方法,其特征在于,在所述确定调高发送速度后各个往返时间周期对应的占用带宽增加率之后,还包括:
若连续多个往返时间周期对应的所述占用带宽增加率均不超过预设的增加率阈值,则确定网络中占用带宽达到预设的第一带宽限值。
3.根据权利要求2所述的方法,其特征在于,所述确定调高发送速度后各个往返时间周期对应的占用带宽增加率,包括:
针对各往返时间周期,在该往返时间周期对应的发送速度调高后,获取该往返时间周期对应的实际占用带宽,以及,获取上一往返时间周期对应的历史占用带宽;
根据所述实际带宽和所述历史带宽的比值,确定该往返时间周期对应的占用带宽增加率。
4.根据权利要求1所述的方法,其特征在于,所述在所述第二阶段,逐次调低至少一个往返时间周期对应的发送速度,直到网络中占用带宽达到预设的第二带宽限值,包括:
在所述第二阶段,针对当前往返时间周期,基于预设的降低系数,调低当前往返时间周期对应的发送速度;
若调低发送速度后的当前往返时间周期对应的网络中占用带宽大于或等于预设的第二带宽限值,则在下一往返时间周期到来时,将所述下一往返时间周期作为当前往返时间周期,再次执行所述基于预设的降低系数,调低当前往返时间周期对应的发送速度的步骤,直到所述当前往返时间周期对应的占用带宽小于所述第二带宽限值。
5.根据权利要求1所述的方法,其特征在于,所述在所述第二阶段,逐次调低至少一个往返时间周期对应的发送速度,直到网络中占用带宽达到预设的第二带宽限值的步骤之前,所述方法还包括:
获取预设的回调系数以及所述第一带宽限值;所述回调系数表征对所述第一带宽限值进行回调的降低幅度;
根据所述回调系数与所述第一带宽限值的乘积,确定所述第二带宽限值。
6.根据权利要求1所述的方法,其特征在于,所述根据预先获取的随机数,随机调高或调低所述目标往返时间周期对应的发送速度,包括:
获取所述调整方向对应的随机数;所述随机数为预设范围内的正数或负数,所述正数指示所述目标往返时间周期对应发送速度的调高幅度,所述负数指示所述目标往返时间周期对应发送速度的调低幅度;
根据所述随机数,调整所述目标往返时间周期对应的发送速度。
7.根据权利要求1所述的方法,其特征在于,所述根据所述网络反馈调节下一往返时间周期对应的发送速度,包括:
若所述网络反馈为正反馈,则将所述目标往返时间周期的发送速度作为下一往返时间周期对应的发送速度;所述正反馈表征所述目标往返时间周期的占用带宽相对于上一往返时间周期对应的参考占用带宽增加;
若所述网络反馈为负反馈,则将所述目标往返时间周期对应的上一往返时间周期的发送速度,作为下一往返时间周期对应的发送速度;所述负反馈表征所述目标往返时间周期的占用带宽相对于上一往返时间周期对应的参考占用带宽减少。
8.一种网络传输装置,其特征在于,包括:
发送速度提高单元,被配置为执行在数据传输的第一阶段,基于预设的增长系数得到发送窗口的扩大倍数,将当前往返时间周期对应的发送窗口的窗口大小,扩大为上一往返时间周期对应发送窗口的窗口大小的所述扩大倍数,以逐次调高多个往返时间周期各自对应的发送速度,确定调高发送速度后各个往返时间周期对应的占用带宽增加率,若根据所述占用带宽增加率确定网络中占用带宽达到预设的第一带宽限值,进入预设的第二阶段;所述占用带宽增加率,表征对应往返时间周期的占用带宽相对于上一往返时间周期的占用带宽的增加幅度;
发送速度降低单元,被配置为执行在所述第二阶段,逐次调低至少一个往返时间周期对应的发送速度,直到网络中占用带宽达到预设的第二带宽限值,进入预设的第三阶段;所述第二带宽限值小于所述第一带宽限值;
发送速度随机调整单元,被配置为执行在所述第三阶段,根据保持当前发送速度的第一概率和调整发送速度的第二概率,确定待调整发送速度的目标往返时间周期,按照预设概率确定所述目标往返时间周期对应发送速度的调整方向,根据预先获取的随机数,随机调高或调低所述目标往返时间周期对应的发送速度,并获取调整发送速度后所述目标往返时间周期对应的网络反馈,根据所述网络反馈调节下一往返时间周期对应的发送速度;所述发送速度的调整方向包括调高发送速度或调低发送速度。
9.根据权利要求8所述的装置,其特征在于,所述发送速度提高单元,包括:
增加率阈值比较模块,被配置为执行若连续多个往返时间周期对应的所述占用带宽增加率均不超过预设的增加率阈值,确定网络中占用带宽达到预设的第一带宽限值。
10.根据权利要求9所述的装置,其特征在于,所述占用带宽增加率确定模块,包括:
实际占用带宽获取模块,被配置为执行针对各往返时间周期,在该往返时间周期对应的发送速度调高后,获取该往返时间周期对应的实际占用带宽,以及,获取上一往返时间周期对应的历史占用带宽;
比值确定模块,被配置为执行根据所述实际带宽和所述历史带宽的比值,确定该往返时间周期对应的占用带宽增加率。
11.根据权利要求8所述的装置,其特征在于,所述发送速度降低单元,包括:
发送速度调低模块,被配置为执行在所述第二阶段,针对当前往返时间周期,基于预设的降低系数,调低当前往返时间周期对应的发送速度;
占用带宽比较模块,被配置为执行若调低发送速度后的当前往返时间周期对应的网络中占用带宽大于或等于预设的第二带宽限值,则在下一往返时间周期到来时,将所述下一往返时间周期作为当前往返时间周期,再次执行所述基于预设的降低系数,调低当前往返时间周期对应的发送速度的步骤,直到所述当前往返时间周期对应的占用带宽小于所述第二带宽限值。
12.根据权利要求8所述的装置,其特征在于,所述装置还包括:
回调系数获取单元,被配置为执行获取预设的回调系数以及所述第一带宽限值;所述回调系数表征对所述第一带宽限值进行回调的降低幅度;
第二带宽限值确定单元,被配置为执行根据所述回调系数与所述第一带宽限值的乘积,确定所述第二带宽限值。
13.根据权利要求8所述的装置,其特征在于,所述发送速度随机调整单元,包括:
随机数生成模块,被配置为执行获取所述调整方向对应的随机数;所述随机数为预设范围内的正数或负数,所述正数指示所述目标往返时间周期对应发送速度的调高幅度,所述负数指示所述目标往返时间周期对应发送速度的调低幅度;
发送速度调整模块,被配置为执行根据所述随机数,调整所述目标往返时间周期对应的发送速度。
14.根据权利要求8所述的装置,其特征在于,所述发送速度随机调整单元,还包括:
速度更新模块,被配置为执行若所述网络反馈为正反馈,则将所述目标往返时间周期的发送速度作为下一往返时间周期对应的发送速度;所述正反馈表征所述目标往返时间周期的占用带宽相对于上一往返时间周期对应的参考占用带宽增加;
速度保持模块,被配置为执行若所述网络反馈为负反馈,则将所述目标往返时间周期对应的上一往返时间周期的发送速度,作为下一往返时间周期对应的发送速度;所述负反馈表征所述目标往返时间周期的占用带宽相对于上一往返时间周期对应的参考占用带宽减少。
15.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的网络传输方法。
16.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至7中任一项所述的网络传输方法。
17.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1至7任一项所述的网络传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111057676.0A CN113965517B (zh) | 2021-09-09 | 2021-09-09 | 网络传输方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111057676.0A CN113965517B (zh) | 2021-09-09 | 2021-09-09 | 网络传输方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113965517A CN113965517A (zh) | 2022-01-21 |
CN113965517B true CN113965517B (zh) | 2024-05-28 |
Family
ID=79461219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111057676.0A Active CN113965517B (zh) | 2021-09-09 | 2021-09-09 | 网络传输方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113965517B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022247B (zh) * | 2022-06-02 | 2023-10-20 | 成都卫士通信息产业股份有限公司 | 流控制传输方法、装置、设备及介质 |
CN115348196A (zh) * | 2022-08-05 | 2022-11-15 | 上海久尺网络科技有限公司 | 一种带宽探测方法、装置、电子设备和存储介质 |
CN116847360B (zh) * | 2022-12-30 | 2024-04-02 | 曲阜师范大学 | 一种非实时数据传输方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222380A (zh) * | 2007-12-27 | 2008-07-16 | 腾讯科技(深圳)有限公司 | 可用带宽测量方法、***与装置 |
CN101540657A (zh) * | 2008-03-19 | 2009-09-23 | 索尼株式会社 | 通信控制设备、通信控制方法和通信控制程序 |
CN102946432A (zh) * | 2012-11-16 | 2013-02-27 | 深信服网络科技(深圳)有限公司 | 带宽占用率控制方法及装置 |
CA3149828A1 (en) * | 2019-08-08 | 2021-02-11 | Imad AZZAM | Systems and methods for managing data packet communications |
-
2021
- 2021-09-09 CN CN202111057676.0A patent/CN113965517B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222380A (zh) * | 2007-12-27 | 2008-07-16 | 腾讯科技(深圳)有限公司 | 可用带宽测量方法、***与装置 |
CN101540657A (zh) * | 2008-03-19 | 2009-09-23 | 索尼株式会社 | 通信控制设备、通信控制方法和通信控制程序 |
CN102946432A (zh) * | 2012-11-16 | 2013-02-27 | 深信服网络科技(深圳)有限公司 | 带宽占用率控制方法及装置 |
CA3149828A1 (en) * | 2019-08-08 | 2021-02-11 | Imad AZZAM | Systems and methods for managing data packet communications |
Non-Patent Citations (4)
Title |
---|
Bandwidth vs speed;Chandan Singh Takuli;https://learningnetwork.cisco.com/s/blogs/a0D3i000002SKQrEAO/bandwidth-vs-speed;全文 * |
TCP一FIT: An Improved TCP Congestion Control Algorithm and its Performance;Jingyuan Wang,Jiangtao Wen,Jun Zhang,Yuxing Han;2010 IEEE Globecom Workshops;第2896页 * |
互联网拥塞控制算法研究;陈虎;中国博士学位论文全文数据库信息科技辑;第61-62页 * |
陈虎.互联网拥塞控制算法研究.中国博士学位论文全文数据库信息科技辑.2009,第61-62页. * |
Also Published As
Publication number | Publication date |
---|---|
CN113965517A (zh) | 2022-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113965517B (zh) | 网络传输方法、装置、电子设备及存储介质 | |
CN109408207B (zh) | 微服务访问控制方法、装置及存储介质 | |
CN109474538B (zh) | 一种数据传输方法、装置、终端设备及存储介质 | |
CN110611829B (zh) | 视频预加载的方法、装置、电子设备及存储介质 | |
WO2020211535A1 (zh) | 网络延迟控制方法、装置、电子设备及存储介质 | |
EP3382527B1 (en) | Method and apparatus for managing a shared storage system | |
CN109698794B (zh) | 一种拥塞控制方法、装置、电子设备及存储介质 | |
EP3865995A1 (en) | Method, device and server for playing audio | |
CN109561356B (zh) | 数据发送方法、数据发送装置、电子设备和计算机可读存储介质 | |
CN111654354B (zh) | 最大传输单元mtu的探测方法、装置及存储介质 | |
US11388459B2 (en) | Method and apparatus for determining bandwidth, and electronic device and storage medium | |
CN112260787B (zh) | 设备时延调整方法及装置、电子设备及存储介质 | |
CN111601377B (zh) | 温度的控制方法、装置及存储介质 | |
CN110933773B (zh) | 链路监测方法及装置 | |
CN115002007B (zh) | 网络延迟判别方法、装置、电子设备及存储介质 | |
US20220124045A1 (en) | Data transmission method and apparatus, electronic device and storage medium | |
CN109450595B (zh) | 报文发送方法和装置 | |
CN115065643B (zh) | 网络链路拥塞检测方法、装置、电子设备及存储介质 | |
CN114363426B (zh) | 基于udt协议的数据传输方法及装置、电子设备和存储介质 | |
CN115774617A (zh) | 负载处理方法及装置、电子设备及存储介质 | |
CN105517048B (zh) | 消息处理方法及装置 | |
CN115808954A (zh) | 帧率处理方法、装置及可读存储介质 | |
CN115208870A (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 |