CN116962258A - 一种带宽探测方法、装置、系统、设备及存储介质 - Google Patents
一种带宽探测方法、装置、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN116962258A CN116962258A CN202310822816.1A CN202310822816A CN116962258A CN 116962258 A CN116962258 A CN 116962258A CN 202310822816 A CN202310822816 A CN 202310822816A CN 116962258 A CN116962258 A CN 116962258A
- Authority
- CN
- China
- Prior art keywords
- network
- period
- bandwidth
- detection
- detected
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 283
- 230000005540 biological transmission Effects 0.000 claims abstract description 191
- 238000000034 method Methods 0.000 claims description 68
- 239000000523 sample Substances 0.000 claims description 61
- 238000009825 accumulation Methods 0.000 claims description 10
- 230000009286 beneficial effect Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000005070 sampling Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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
- 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/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- 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/0852—Delays
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开关于一种带宽探测方法、装置、系统、设备及存储介质,涉及互联网技术领域,可以解决带宽探测时,影响传输效率的问题。该带宽探测方法应用于发送端;该带宽探测方法包括:根据待探测网络在第一时段的状态统计信息,对待探测网络的原始配置参数进行调整,得到与待探测网络的网络状态对应的目标配置参数;根据待发送的原始数据和目标配置参数,生成探测数据;在第二时段向接收端发送探测数据;探测数据用于接收端根据探测数据的传输参数,确定待探测网络在第二时段的预估带宽;第二时段为第一时段之后的待测量时段。
Description
技术领域
本公开涉及互联网技术领域,尤其涉及一种带宽探测方法、装置、系统、设备及存储介质。
背景技术
由于网络中的带宽资源是共享的,而网络中可以包括各种传输,传输控制算法需要准确、及时的感知可用带宽的变化来调整发送速率,以保证传输的低延时和高吞吐。
目前,进行带宽探测的通用方法主要包括传输控制协议(transmission controlprotocol,TCP)、网页实时通信(web real-time communications,WebRTC)协议栈中,通过加性增加乘性减少机制(additive increase multiplicative decrease,AIMD)或者乘性增加乘性减少机制(multiplicative increase multiplicative decrease,MIMD)周期性的超发制造拥塞以获取可用带宽,以及以BBR拥塞控制(bottleneck bandwidth andround-trip propagation time)算法为代表的通过调整增益(pacing gain)周期性的超发制造拥塞以获取可用带宽。由于网络的带宽资源是有限的,当发送速率超过网络可用带宽时,会引起网络拥塞,此时超发的数据包将被网络设备缓存或丢弃,影响传输效率。
此外,在探测完成后,还需要调整发送速率低于可用带宽,以保证网络恢复。此时网络中吞吐量较低,较低的发送速率也会影响传输效率。
发明内容
本公开提供一种带宽探测方法、装置、系统、设备及存储介质,用于解决带宽探测时,影响传输效率的问题。
本公开实施例的技术方案如下:
根据本公开实施例的第一方面,提供一种带宽探测方法,应用于发送端;带宽探测方法包括:根据待探测网络在第一时段的状态统计信息,对待探测网络的原始配置参数进行调整,得到与待探测网络的网络状态对应的目标配置参数;根据待发送的原始数据和目标配置参数,生成探测数据;在第二时段向接收端发送探测数据;探测数据用于接收端根据探测数据的传输参数,并根据传输参数,确定待探测网络在第二时段的预估带宽;第二时段为第一时段之后的待测量时段。
可选的,上述“根据待探测网络在第一时段的状态统计信息,对待探测网络的原始配置参数进行调整,得到与待探测网络的网络状态对应的目标配置参数”的方法,包括:根据状态统计信息,确定与网络状态对应的目标探测类型;当状态统计信息满足预设的网络良好条件时,确定目标探测类型为短探测;当状态统计信息不满足网络良好条件,或者预设时间内短探测未成功时,确定目标探测类型为长探测;长探测的探测时长大于短探测的探测时长;基于预设的探测类型与调整系数的对应关系,确定与目标探测类型对应的目标调整系数;根据原始配置参数和目标调整系数,确定目标配置参数。
可选的,目标配置参数包括:探测数据的目标发送速率;上述“根据待发送的原始数据和目标配置参数,生成探测数据”的方法,包括:当原始数据的生成速率小于目标发送速率时,对原始数据执行预设的填充操作,得到探测数据。
可选的,目标配置参数包括:探测数据的目标发送速率和目标探测时长;上述“在第二时段向接收端发送探测数据”之前,该方法,还包括:根据目标发送速率和目标探测时长,确定目标数据量;根据探测数据的数据量和目标数据量,确定第二时段。
可选的,状态统计信息包括:发送速率、在第一时段的预估带宽、排队延时变化量、丢包率变化量、缓存延时、缓存数据量;排队延时变化量用于表征在第一时段的排队延时,相较于在第三时段的排队延时的变化情况;丢包率变化量用于表征在第一时段的丢包率,相较于在第三时段的丢包率的变化情况;第三时段在第一时段之前;该方法还包括:获取传输网络的状态统计信息;当传输网络的状态统计信息满足网络拥塞条件或者缓冲堆积条件时,确定传输网络为待探测网络;网络拥塞条件包括:发送速率小于在第一时段的预估带宽、排队延时变化量大于预设的第一变化量阈值、丢包率变化量大于预设的第二变化量阈值中的至少一种;缓冲堆积条件包括:缓存延时大于预设缓存延时、缓存数据量大于预设缓存数据量中的至少一种。
根据本公开实施例的第二方面,提供一种带宽探测方法,应用于接收端;带宽探测方法包括:获取发送端在第二时段向接收端传输探测数据的传输参数;探测数据是发送端根据待发送的原始数据和目标配置参数生成的;目标配置参数与待探测网络在第一时段的网络状态对应;第二时段为第一时段之后的待测量时段;根据传输参数,确定待探测网络在第二时段的预估带宽。
可选的,上述“根据传输参数,确定待探测网络在第二时段的预估带宽”的方法,包括:基于预设的有效性检测规则,确定传输参数是否为有效采样;当传输参数为有效采样时,根据传输参数,确定待探测网络的网络状态;基于与待探测网络的网络状态对应的目标带宽估计规则,根据传输参数,确定待探测网络在第二时段的预估带宽。
可选的,传输参数包括:当前接收速率、在第一时段的预估带宽、排队延时变化量、丢包率变化量;排队延时变化量用于表征在第二时段的排队延时,相较于在第一时段的排队延时的变化情况;丢包率变化量用于表征在第二时段的丢包率,相较于在第一时段的丢包率的变化情况;上述“根据传输参数,确定待探测网络的网络状态”的方法,包括:当传输参数满足网络拥塞条件时,确定网络状态为拥塞状态;网络拥塞条件包括:当前接收速率小于在第一时段的预估带宽、排队延时变化量大于预设的第一变化量阈值、丢包率变化量大于预设的第二变化量阈值中的至少一种;当传输参数不满足网络拥塞条件时,确定网络状态为非拥塞状态。
可选的,当网络状态为拥塞状态时,传输参数,还包括:在第二时段的平均接收速率;上述“基于与待探测网络的网络状态对应的目标带宽估计规则,根据传输参数,确定待探测网络在第二时段的预估带宽”的方法,包括:当网络状态为拥塞状态时,将当前接收速率和平均接收速率中数值最小的,确定为待探测网络在第二时段的预估带宽;当网络状态为非拥塞状态时,将当前接收速率确定为待探测网络在第二时段的预估带宽。
根据本公开实施例的第三方面,提供一种带宽探测装置,应用于发送端;带宽探测装置包括:控制单元、生成单元和发送单元;控制单元,用于根据待探测网络在第一时段的状态统计信息,对待探测网络的原始配置参数进行调整,得到与待探测网络的网络状态对应的目标配置参数;生成单元,用于根据待发送的原始数据和目标配置参数,生成探测数据;发送单元,用于在第二时段向接收端发送探测数据;探测数据用于接收端根据探测数据的传输参数,确定待探测网络在第二时段的预估带宽;第二时段为第一时段之后的待测量时段。
可选的,控制单元,具体用于根据状态统计信息,确定与网络状态对应的目标探测类型;当状态统计信息满足预设的网络良好条件时,确定目标探测类型为短探测;当状态统计信息不满足网络良好条件,或者预设时间内短探测未成功时,确定目标探测类型为长探测;长探测的探测时长大于短探测的探测时长;基于预设的探测类型与调整系数的对应关系,确定与目标探测类型对应的目标调整系数;根据原始配置参数和目标调整系数,确定目标配置参数。
可选的,目标配置参数包括:探测数据的目标发送速率;生成单元,具体用于当原始数据的生成速率小于目标发送速率时,对原始数据执行预设的填充操作,得到探测数据。
可选的,目标配置参数包括:探测数据的目标发送速率和目标探测时长;发送单元,还用于根据目标发送速率和目标探测时长,确定目标数据量;根据探测数据的数据量和目标数据量,确定第二时段。
可选的,状态统计信息包括:发送速率、在第一时段的预估带宽、排队延时变化量、丢包率变化量、缓存延时、缓存数据量;排队延时变化量用于表征在第一时段的排队延时,相较于在第三时段的排队延时的变化情况;丢包率变化量用于表征在第一时段的丢包率,相较于在第三时段的丢包率的变化情况;第三时段在第一时段之前;控制单元,还用于:获取传输网络的状态统计信息;当传输网络的状态统计信息满足网络拥塞条件或者缓冲堆积条件时,确定传输网络为待探测网络;网络拥塞条件包括:发送速率小于在第一时段的预估带宽、排队延时变化量大于预设的第一变化量阈值、丢包率变化量大于预设的第二变化量阈值中的至少一种;缓冲堆积条件包括:缓存延时大于预设缓存延时、缓存数据量大于预设缓存数据量中的至少一种。
根据本公开实施例的第四方面,提供一种带宽探测装置,应用于接收端;带宽探测装置包括:获取单元和预估单元;获取单元,用于获取发送端在第二时段向接收端传输探测数据的传输参数;探测数据是发送端根据待发送的原始数据和目标配置参数生成的;目标配置参数与待探测网络在第一时段的网络状态对应;第二时段为第一时段之后的待测量时段;预估单元,用于根据传输参数,确定待探测网络在第二时段的预估带宽。
可选的,预估单元,具体用于基于预设的有效性检测规则,确定传输参数是否为有效采样;当传输参数为有效采样时,根据传输参数,确定待探测网络的网络状态;基于与待探测网络的网络状态对应的目标带宽估计规则,根据传输参数,确定待探测网络在第二时段的预估带宽。
可选的,传输参数包括:当前接收速率、在第一时段的预估带宽、排队延时变化量、丢包率变化量;排队延时变化量用于表征在第二时段的排队延时,相较于在第一时段的排队延时的变化情况;丢包率变化量用于表征在第二时段的丢包率,相较于在第一时段的丢包率的变化情况;预估单元,具体用于当传输参数满足网络拥塞条件时,确定网络状态为拥塞状态;网络拥塞条件包括:当前接收速率小于在第一时段的预估带宽、排队延时变化量大于预设的第一变化量阈值、丢包率变化量大于预设的第二变化量阈值中的至少一种;当传输参数不满足网络拥塞条件时,确定网络状态为非拥塞状态。
可选的,当网络状态为拥塞状态时,传输参数还包括:在第二时段的平均接收速率;预估单元,具体用于当网络状态为拥塞状态时,将当前接收速率和平均接收速率中数值最小的,确定为待探测网络在第二时段的预估带宽;当网络状态为非拥塞状态时,将当前接收速率确定为待探测网络在第二时段的预估带宽。
根据本公开实施例的第五方面,提供一种带宽探测系统,带宽探测系统包括:发送端和接收端;发送端,用于执行上述第一方面中任一种可选的带宽探测方法;接收端,用于执行上述第二方面中任一种可选的带宽探测方法。
根据本公开实施例的第六方面,提供一种带宽探测装置,可以包括:处理器和用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现上述第一方面中任一种,或者第二方面中任一种可选的带宽探测方法。
根据本公开实施例的第七方面,提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,当计算机可读存储介质中的指令由带宽探测装置的处理器执行时,使得带宽探测装置能够执行上述第一方面中任一种,或者第二方面中任一种可选的带宽探测方法。
根据本公开实施例的第八方面,提供一种计算机程序产品,包含指令,当其在带宽探测装置上运行时,使得带宽探测装置执行上述第一方面中任一种,或者第二方面中任一种可选的带宽探测方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本申请提供的技术方案至少带来以下有益效果:
基于上述任一方面,本申请中,发送端可以根据待探测网络在第一时段的状态统计信息,对待探测网络的原始配置参数进行调整,得到与待探测网络的网络状态对应的目标配置参数,并根据待发送的原始数据和目标配置参数,生成探测数据。后续,发送端可以在第二时段向接收端发送探测数据。其中,第二时段为第一时段之后的待测量时段。相应的,接收端可以接收探测数据,并获取探测数据的传输参数,然后可以根据传输参数,确定待探测网络在第二时段的预估带宽。从而实现发送端和接收端之间网络链路可用带宽的探测。
由于本公开可以根据网络状态,对待探测网络的原始配置参数及时进行相应的调整,实现带宽探测过程中,控制传输的探测数据,因此,本公开还可以有效减少网络拥塞现象,确保传输的实时性,维持待探测网络在探测时段内的高吞吐,不影响传输效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1为本公开实施例提供的一种带宽探测系统示意图;
图2示出了本公开实施例提供的一种发送端和接收端的结构示例图;
图3示出了本公开实施例提供的一种带宽探测方法的流程示意图一;
图4示出了本公开实施例提供的一种带宽探测方法的流程示意图二;
图5示出了本公开实施例提供的一种数据传输的延时示意图;
图6示出了本公开实施例提供的一种带宽探测方法的流程示意图三;
图7示出了本公开实施例提供的一种带宽探测方法的流程示意图四;
图8示出了本公开实施例提供的一种带宽探测方法的流程示意图五;
图9示出了本公开实施例提供的一种带宽探测方法的流程示意图六;
图10示出了本公开实施例提供的一种带宽探测方法的流程示意图七;
图11示出了本公开实施例提供的一种带宽探测方法的流程示意图八;
图12示出了本公开实施例提供的一种带宽探测方法的流程示意图九;
图13示出了本公开实施例提供的一种带宽探测方法的流程示意图十;
图14示出了本公开实施例提供的一种带宽探测方法的流程示意图十一;
图15示出了本公开实施例提供的一种带宽探测装置的结构示意图一;
图16示出了本公开实施例提供的一种带宽探测装置的结构示意图二;
图17示出了本公开实施例提供的一种带宽探测装置的结构示意图三。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
还应当理解的是,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素和/或组件的存在或添加。
本公开所涉及的数据可以为经用户授权或者经过各方充分授权的数据。
如背景技术中所描述,进行带宽探测的通用方法主要是通过周期性的超发数据,制造网络拥塞,以检测可用带宽。由于网络的带宽资源是有限的,当发送速率超过网络可用带宽时,会引起网络拥塞,此时超发的数据包将被网络设备缓存或丢弃,影响传输效率。
此外,在探测完成后,还需要调整发送速率低于可用带宽,以保证网络恢复。此时网络中吞吐量较低,也会影响传输效率。
基于此,本公开实施例提供一种带宽探测方法,发送端可以根据待探测网络在第一时段的状态统计信息,对待探测网络的原始配置参数进行调整,得到与待探测网络的网络状态对应的目标配置参数,并根据待发送的原始数据和目标配置参数,生成探测数据。后续,发送端可以在第二时段向接收端发送探测数据。其中,第二时段为第一时段之后的待测量时段。相应的,接收端可以接收探测数据,并获取探测数据的传输参数,然后可以根据传输参数,确定待探测网络在第二时段的预估带宽。从而实现发送端和接收端之间网络链路可用带宽的探测。
由于本公开可以根据网络状态,对待探测网络的原始配置参数及时进行相应的调整,实现带宽探测过程中,控制传输的探测数据,因此,本公开还可以有效减少网络拥塞现象,确保传输的实时性,维持待探测网络在探测时段内的高吞吐,不影响传输效率。
以下结合附图对本公开实施例提供的带宽探测方法进行示例性说明:
图1为本公开实施例提供的一种带宽探测系统示意图,如图1所示,该带宽探测系统中可以包括:发送端101和接收端102。发送端101与接收端102之间连接。
可选的,发送端101与接收端102之间可以采用有线方式连接,也可以采用无线方式连接,本公开实施例对此不作限定。
具体的,发送端101可以通过传输网络向接收端102发送任意一种数据,包括探测数据或者普通数据。然后,当接收端102接收到发送端101发送的探测数据时,可以基于探测数据的传输参数,确定传输网络的预估带宽。
一些实施例中,发送端101和接收端102上可以运行有相应的功能模块来提供相应的数据传输。发送端101和接收端102可以是传输网络中的任意的节点设备,包括终端设备和服务器等。本公开对发送端101和接收端102的具体实现方式不作限制。
一些实施例中,终端设备可以为智能手机、智能手表、台式电脑、手提电脑、虚拟现实终端、增强现实终端、无线终端和膝上型便携计算机等设备中的至少一种。
一些实施例中,服务器可以是单独的一个物理服务器,或者,也可以是由多个服务器构成的服务器集群。部分实施方式中,服务器集群还可以是分布式集群。
需要说明的是,上述发送端101和接收端102均可以称为电子设备。
结合图1,图2为本公开实施例提供的一种发送端101和接收端102的结构示意图,如图2所示,发送端101中可以包括:探测控制模块201、数据缓存模块202、数据填充模块203和数据发送模块204。
其中,探测控制模块201用于根据前一时段反馈的状态统计信息,决定下一时段探测的方式和配置、探测的启动和停止。
数据缓存模块202用于缓存待发送的数据。
数据填充模块203用于根据探测控制模块201对发送速率的配置需求,对待发送的原始数据进行补充。
数据发送模块204用于根据探测控制模块201的配置需求,发送数据。可选的,数据发送模块204可以是平滑发送模块(pacer)。
如图2所示,接收端102中可以包括:数据接收模块211、带宽探测模块212、信息统计模块213和状态检测模块214。
其中,数据接收模块211用于接收数据,并基于预设的有效性检测规则,过滤不置信的探测数据。
带宽探测模块212用于根据数据接收模块211过滤后的探测数据的传输参数,推测预估带宽。
信息统计模块213用于获取数据的传输参数。
状态检测模块214用于基于信息统计模块213获取的传输参数,确定传输网络的网络状态。
本公开实施例提供的带宽探测方法可以应用于前述图1所示的应用场景中的发送端101和接收端102。
如图3所示,该带宽探测方法可以应用于发送端,包括:
S301、发送端根据待探测网络在第一时段的状态统计信息,对待探测网络的原始配置参数进行调整,得到与待探测网络的网络状态对应的目标配置参数。
可选的,待探测网络可以为任意一种传输网络,例如第三代移动通信技术(3rdgeneration,3G)网络、第四代移动通信技术(4th generation,4G)网络、第五代移动通信技术(5th generation,5G)网络、数字同步网、有线电视网(cable television,CATV)和光纤通信网等。
可选的,状态统计信息可以包括在第一时段统计窗口的丢包率(loss)、排队延时、最大队列深度(dly_maxqueue)、发送速率(pacing_rate)、在第三时刻的预估带宽(bw)、排队延时变化量、丢包率变化量、缓存延时(Durbuffer)、缓存数据量(Bytesbuffer)、探测成功标记等。
其中,丢包率可以为平均丢包率(loss_avg)或者最大丢包率。排队延时可以为平均排队延时(dly_avgqueue)或者最大排队延时(dly_maxqueue)。
排队延时变化量用于表征在第一时段的排队延时,相较于在第三时段的排队延时的变化情况。丢包率变化量用于表征在第一时段的丢包率,相较于在第三时段的丢包率的变化情况。第三时段在第一时段之前。
可选的,待探测网络的原始配置参数可以包括:当前网络状态下的基准发送速率、预设的基准探测时长。
在一种可以实现的方式中,发送端根据待探测网络在第一时段的状态统计信息,对待探测网络的原始配置参数进行调整,得到与待探测网络的网络状态对应的目标配置参数的方法可以包括:发送端可以根据状态统计信息,确定与网络状态对应的目标探测类型,然后,可以基于预设的探测类型与调整系数的对应关系,确定与目标探测类型对应的目标调整系数,并根据原始配置参数和目标调整系数,确定目标配置参数。
S302、发送端根据待发送的原始数据和目标配置参数,生成探测数据。
可选的,原始数据可以为上层应用生成的待传输数据。
可选的,探测数据的数据包前可以增加探测包头,探测包头可以包括:时间戳、目标配置参数、目标探测类型的标识等信息。
在一种可以实现的方式中,当原始数据的传输参数不满足目标配置参数时,发送端可以对原始数据进行填充,得到探测数据。
S303、发送端在第二时段向接收端发送探测数据。
探测数据用于接收端根据探测数据的传输参数,确定待探测网络在第二时段的预估带宽。
其中,第二时段为第一时段之后的待测量时段。
可选的,传输参数可以包括探测数据的发送速率、接收速率、丢包率、数据量、在第一时段的预估带宽、排队延时变化量、丢包率变化量等。
上述实施例提供的技术方案至少带来以下有益效果:由S301-S303可知,发送端可以根据待探测网络在第一时段的状态统计信息,对待探测网络的原始配置参数进行调整,得到与待探测网络的网络状态对应的目标配置参数,并根据待发送的原始数据和目标配置参数,生成探测数据。后续,发送端可以在第二时段向接收端发送探测数据。其中,第二时段为第一时段之后的待测量时段。相应的,接收端可以接收探测数据,并获取探测数据的传输参数,然后可以根据传输参数,确定待探测网络在第二时段的预估带宽。从而实现发送端和接收端之间网络链路可用带宽的探测,有效减少网络拥塞现象。
由于本公开可以根据网络状态,对待探测网络的原始配置参数及时进行相应的调整,实现带宽探测过程中,控制传输的探测数据,因此,本公开还可以有效减少网络拥塞现象,确保传输的实时性,维持待探测网络在探测时段内的高吞吐,不影响传输效率。
在一种可选的实施例中,发送端得到目标配置参数的方法,在图3示出的方法实施例的基础上,本实施例提供一种可能实现方式。结合图3,如图4所示,S301中,发送端根据待探测网络在第一时段的状态统计信息,对待探测网络的原始配置参数进行调整,得到与待探测网络的网络状态对应的目标配置参数的方法包括:
S401、发送端根据状态统计信息,确定与网络状态对应的目标探测类型。
可选的,探测类型可以包括:短探测和长探测。其中,短探测的探测时长小于长探测的探测时长。
如图5所示,假定在T时刻,发送端以目标发送速率target_send_rate发送了一组数据,数据量为Bytesprobe_need,则该组数据的发送时长Tsend=Bytesprobe_need/target_send_rate。接收端在链路延时dlylink之后可以接收该组数据。预设当前网络中可用带宽为BWaviliable,则该组包的接收时长Trecv=Bytesprobe_need/BWaviliable。
若target_send_rate≤BWaviliable,则Trecv=Tsend。
若target_send_rate>BWaviliable,则Trecv>Tsend,此时缓存数据的数据量为Bytesqueue=BWaviliable×dlyqueue,且Trecv=Tsend+dlyqueue,Bytesqueue=(target_send_rate-BWaviliable)×Tsend。dlyqueue为排队延时。
因此,此时网络中的可用带宽BWaviliable=Bytesreceive/Trecv,Bytesreceive为接收的数据量。
一种情况下,在较理想的网络状态中,Trecv=Tsend+dlyqueue,通过使用短探测,造成短时间内较小dlyqueue来探测到BWaviliable,不会导致长时间网络拥塞。此时target_send_rate>BWaviliable。
若target_send_rate=α×BWaviliable,α>1,则探测引发的排队延时增量Δdlyqueue=(α-1)×Tsend。
当前链路需满足最大队列深度dly_maxqueue应大于探测前网络的排队延时dlyqueue与探测引发的排队延时增量Δdlyqueue之和,即dly_maxqueue>dlyqueue+(α-1)Tsend。
因此,当满足以上条件时,目标探测类型为短探测。
另一种情况下,在网络状态较差,例如极浅队列、高随机丢包或高延时抖动的网络中,Trecv=Tsend+dlyqueue+dlyjitter,Bytesreceive=Bytessent×(1-loss)。dlyjitter为随机延时噪声。
此时,短时间的探测容易存在较大的偏差,不能准确的反应BWaviliable,可以通过维持较长的探测时间来获取,故目标探测类型选用长探测。
S402、发送端基于预设的探测类型与调整系数的对应关系,确定与目标探测类型对应的目标调整系数。
结合上述描述,短探测的调整系数可以包括用于提高基准发送速率的系数,以及缩短基准探测时长的系数。相应的,长探测的调整系数可以包括用于降低基准发送速率的系数,以及延长基准探测时长的系数。
S403、发送端根据原始配置参数和目标调整系数,确定目标配置参数。
上述实施例提供的技术方案至少带来以下有益效果:由S401-S403可知,发送端可以根据状态统计信息,确定与网络状态对应的目标探测类型,然后基于预设的探测类型与调整系数的对应关系,确定与目标探测类型对应的目标调整系数,并根据原始配置参数和目标调整系数,确定目标配置参数。本公开提供了一种调整探测配置参数的方法,以使得可以根据网络状态,对待探测网络的原始配置参数进行相应的调整,可以实现在正常网络和高丢包、高延时抖动,浅队列的网络链路上工作,确保传输的实时性和高吞吐。
在一种可选的实施例中,当状态统计信息包括丢包率、排队延时、最大队列深度时,发送端确定目标探测类型的方法,在图4示出的方法实施例的基础上,本实施例提供一种可能实现方式。结合图4,如图6所示,S401中,发送端根据状态统计信息,确定与网络状态对应的目标探测类型的方法包括:
S601、当状态统计信息满足预设的网络良好条件时,发送端确定目标探测类型为短探测。
可选的,网络良好条件可以包括:丢包率小于预设丢包率,且排队延时小于预设排队延时,且最大队列深度大于短探测所需的队列深度。
具体的,丢包率小于预设丢包率,且排队延时小于预设排队延时,表示当前网络状态处于较理想状态。
此外,短探测所需的队列深度(target_probe_duration)为基于排队延时和短探测的探测时长确定的。容易理解的是,target_probe_duration=Tsend,结合S401中的描述,最大队列深度大于短探测所需的队列深度,即为dly_maxqueue>dlyqueue+(α-1)Tsend。此时,适用短探测。
S602、当状态统计信息不满足网络良好条件,或者预设时间内短探测未成功时,发送端确定目标探测类型为长探测。
长探测的探测时长大于短探测的探测时长。
具体的,当状态统计信息不满足网络良好条件,可以认为网络状态不处于较理想状态,此时,适用长探测。
另外,当预设时间内短探测未成功时,为了实现目标网络的带宽探测,也可以使用长探测。
在一种可以实现的方式中,发送端可以获取状态统计信息中的探测成功标记来判断探测是否成功。在预设时间内,发送端未获取到短探测的探测成功标记,即认为预设时间内短探测未成功。
上述实施例提供的技术方案至少带来以下有益效果:由S601-S602可知,当状态统计信息满足网络良好条件时,发送端确定目标探测类型为短探测。当状态统计信息不满足网络良好条件,或者预设时间内短探测未成功时,发送端确定目标探测类型为长探测。本公开提供了一种确定目标探测类型的方法,可以根据网络状态确定对应的带宽探测方法,可以有效提高带宽探测的准确性。
在一种可选的实施例中,当目标配置参数包括探测数据的目标发送速率时,发送端生成探测数据的方法,在图3示出的方法实施例的基础上,本实施例提供一种可能实现方式。结合图3,如图7所示,S302中,发送端根据待发送的原始数据和目标配置参数,生成探测数据的方法包括:
S701、当原始数据的生成速率小于目标发送速率时,发送端对原始数据执行预设的填充操作,得到探测数据。
具体的,当原始数据的生成速率小于目标发送速率时,待发送的原始数据的数据量无法满足探测的配置需求,因此需要对原始数据进行数据填充。
可选的,预设的填充操作可以包括:数据重传、生成前向纠错码(forward errorcorrection,FEC)、填充(padding)等任意一种。
上述实施例提供的技术方案至少带来以下有益效果:由S701可知,当原始数据的生成速率小于目标发送速率时,发送端可以对原始数据执行预设的填充操作,得到探测数据。本公开提供了一种在原始数据的生成速率小于目标发送速率的情况下,生成探测数据,以实现带宽探测的方法,可以在上层应用生成速率不匹配的情况下正常工作,减少缓存等待时间,确保传输的低延时,进而拓展带宽探测适用的网络环境,增加了本公开的适用范围。
在一种可选的实施例中,当目标配置参数包括:探测数据的目标发送速率和目标探测时长时,在图3示出的方法实施例的基础上,本实施例提供一种可能实现方式。结合图3,如图8所示,S303之前,该带宽探测方法,还包括:
S801、发送端根据目标发送速率和目标探测时长,确定目标数据量。
容易理解的是,目标发送速率(target_send_rate)与目标探测时长(target_probe_duration)的乘积,为目标数据量(Bytesprobe_need),即:
Bytesprobe_need=target_send_rate×target_probe_duration。
S802、发送端根据探测数据的数据量和目标数据量,确定第二时段。
具体的,当探测数据的数据量Bytesprod大于或者等于目标数据量时,可以认为探测数据可以满足目标配置参数对目标发送速率和目标探测时长的需求,此时,可以开始发送探测数据,因此,可以将该时刻确定为第二时段的开始时刻。
在一种可以实现的方式中,当待探测网络未进行带宽探测的间隔超过预设间隔时,发送端也可以将该时刻确定为第二时段的开始时刻。
在一种可以实现的方式中,当目标数据量的探测数据已传输完成,或者探测时长已经满足目标探测时长时,发送端可以将该时刻确定为第二时段的结束时刻。
上述实施例提供的技术方案至少带来以下有益效果:由S801-S802可知,发送端可以根据目标发送速率和目标探测时长,确定目标数据量,然后可以根据探测数据的数据量和目标数据量,确定第二时段。本公开提供了一种确定探测时段的方法,以使得探测在合适的时刻开始或者结束,避免浪费传输资源,减少探测造成的长时间拥塞。
在一种可选的实施例中,当状态统计信息包括:发送速率、在第一时段的预估带宽、排队延时变化量、丢包率变化量、缓存延时、缓存数据量时,结合图3,如图9所示,该带宽探测方法还包括:
S901、发送端获取传输网络的状态统计信息。
在一种可以实现的方式中,发送端101的探测控制模块201可以从接收端获取发送速率、在第一时段的预估带宽、排队延时变化量、丢包率变化量等传输状态信息,还可以从数据缓存模块202获取缓存延时、缓存数据量的缓存状态信息。
S902、当传输网络的状态统计信息满足网络拥塞条件或者缓冲堆积条件时,发送端确定传输网络为待探测网络。
其中,网络拥塞条件包括:发送速率小于在第一时段的预估带宽、排队延时变化量大于预设的第一变化量阈值、丢包率变化量大于预设的第二变化量阈值中的至少一种。
缓冲堆积条件包括:缓存延时大于预设缓存延时、缓存数据量大于预设缓存数据量中的至少一种。
具体的,当传输网络处于网络拥塞状态,或者缓存堆积状态时,如果不能及时处理,会导致网络传输性能下降。因此,需要进行带宽探测,预测网络的可用带宽,对实际发送速率进行调整,以贴近环境的带宽上限。
上述实施例提供的技术方案至少带来以下有益效果:由S901-S902可知,发送端可以获取传输网络的状态统计信息,当传输网络的状态统计信息满足网络拥塞条件或者缓冲堆积条件时,发送端确定传输网络为待探测网络。本公开确定一种确定待探测网络的方法,可以有效减少不必要的探测行为,占用传输资源。
如图10所示,该带宽探测方法可以应用于接收端,包括:
S1001、接收端获取发送端在第二时段向接收端传输探测数据的传输参数。
其中,探测数据是发送端根据待发送的原始数据和目标配置参数生成的。目标配置参数与待探测网络在第一时段的网络状态对应。第二时段为第一时段之后的待测量时段。
可选的,传输参数可以包括:在第一时段的预估带宽、排队延时变化量、丢包率变化量、当前接收速率、在第二时段的平均接收速率。
排队延时变化量用于表征在第二时段的排队延时,相较于在第一时段的排队延时的变化情况。丢包率变化量用于表征在第二时段的丢包率,相较于在第一时段的丢包率的变化情况。
S1002、接收端根据传输参数,确定待探测网络在第二时段的预估带宽。
在一种可以实现的方式中,接收端根据传输参数,确定待探测网络在第二时段的预估带宽的方法可以包括:接收端根据传输参数,确定待探测网络的网络状态,然后基于与待探测网络的网络状态对应的目标带宽估计规则,根据传输参数,确定待探测网络在第二时段的预估带宽。
上述实施例提供的技术方案至少带来以下有益效果:由S1001-S1002可知,接收端可以接收探测数据,并获取探测数据的传输参数,然后可以根据传输参数,确定待探测网络在第二时段的预估带宽。其中,探测数据是发送端根据待发送的原始数据和目标配置参数生成的。从而实现发送端和接收端之间网络链路可用带宽的探测。
由于本公开可以根据网络状态,对待探测网络的原始配置参数及时进行相应的调整,实现带宽探测过程中,控制传输的探测数据,因此,本公开还可以有效减少网络拥塞现象,维持待探测网络在探测时段内的高吞吐,不影响传输效率。
在一种可选的实施例中,接收端确定待探测网络在第二时段的预估带宽的方法,在图10示出的方法实施例的基础上,本实施例提供一种可能实现方式。结合图10,如图11所示,S1002中,接收端根据传输参数,确定待探测网络在第二时段的预估带宽的方法包括:
S1101、接收端基于预设的有效性检测规则,确定传输参数是否为有效采样。
可选的,有效性检测规则可以包括:接收时长大于或者等于发送时长、丢包率小于预设阈值、接收速率大于或者等于基于平均接收速率确定的速率阈值中的至少一种。
可选的,丢包率小于预设阈值可以表示为:接收数据量Bytesreceive≥Bytessent×β,0.9<β≤1。其中,Bytessent为缓存数据量。
可选的,接收速率大于或者等于基于平均接收速率确定的速率阈值可以表示为:recv_rateprobe≥recv_rate_avg×γ,0.9小于γ。
S1102、当传输参数为有效采样时,接收端根据传输参数,确定待探测网络的网络状态。
可选的,网络状态包括拥塞状态和非拥塞状态。
S1103、接收端基于与待探测网络的网络状态对应的目标带宽估计规则,根据传输参数,确定待探测网络在第二时段的预估带宽。
具体的,当网络状态不同时,探测方法不同,因此需要基于与待探测网络的网络状态对应的目标带宽估计规则,根据传输参数,确定待探测网络在第二时段的预估带宽。
上述实施例提供的技术方案至少带来以下有益效果:由S1101-S1103可知,接收端可以基于预设的有效性检测规则,确定传输参数是否为有效采样。当传输参数为有效采样时,接收端可以根据传输参数,确定待探测网络的网络状态,并基于与待探测网络的网络状态对应的目标带宽估计规则,根据传输参数,确定待探测网络在第二时段的预估带宽。本公开提供一种确定预估带宽的方法,可以基于预设的有效性检测规则,过滤不置信的探测数据,有效提高预估带宽探测的准确性。
在一种可选的实施例中,当传输参数包括:当前接收速率、在第一时段的预估带宽、排队延时变化量、丢包率变化量时,接收端确定待探测网络的网络状态的方法,在图11示出的方法实施例的基础上,本实施例提供一种可能实现方式。结合图11,如图12所示,S1102中,接收端根据传输参数,确定待探测网络的网络状态的方法包括:
S1201、当传输参数满足网络拥塞条件时,接收端确定网络状态为拥塞状态。
其中,网络拥塞条件包括:当前接收速率小于在第一时段的预估带宽、排队延时变化量大于预设的第一变化量阈值、丢包率变化量大于预设的第二变化量阈值中的至少一种。
S1202、当传输参数不满足网络拥塞条件时,接收端确定网络状态为非拥塞状态。
上述实施例提供的技术方案至少带来以下有益效果:由S1201-S1202可知,当传输参数满足网络拥塞条件时,接收端确定网络状态为拥塞状态,当传输参数不满足网络拥塞条件时,接收端确定网络状态为非拥塞状态。本公开提供一种确定待探测网络的网络状态的方法,以使得后续基于待探测网络的网络状态,确定使用的探测方法,从而预估网络的可用带宽。
在一种可选的实施例中,接收端确定待探测网络在第二时段的预估带宽的方法,在图12示出的方法实施例的基础上,本实施例提供一种可能实现方式。结合图12,如图13所示,S1103中,接收端基于与待探测网络的网络状态对应的目标带宽估计规则,根据传输参数,确定待探测网络在第二时段的预估带宽的方法包括:
S1301、当网络状态为拥塞状态时,接收端将当前接收速率和平均接收速率中数值最小的,确定为待探测网络在第二时段的预估带宽。
具体的,当网络状态为拥塞状态时,可以从当前接收速率和平均接收速率中取最小值,作为预估带宽,以使得后续可以降低发送速率,减少拥塞状态的持续时间。
S1302、当网络状态为非拥塞状态时,接收端将当前接收速率确定为待探测网络在第二时段的预估带宽。
具体的,当网络状态为非拥塞状态时,可以将当前接收速率确定为预估带宽,维持当前网络状态。
上述实施例提供的技术方案至少带来以下有益效果:由S1301-S1302可知,当网络状态为拥塞状态时,接收端将当前接收速率和平均接收速率中数值最小的,确定为待探测网络在第二时段的预估带宽。当网络状态为非拥塞状态时,接收端将当前接收速率确定为待探测网络在第二时段的预估带宽。本公开提供一种确定预估带宽的方法,可以实现针对不同的网络状态,选取对应的方法确定预估带宽,可以有效提高带宽探测的准确性,进一步提高网络控制的效率。
下面结合图14对本公开实施例进行说明,该带宽探测方法,包括:
S1、发送端接收在第一时段的传输状态信息,并获取缓存状态信息,得到传输网络在第一时段的状态统计信息。
S2、发送端确定传输网络的状态统计信息是否满足网络拥塞条件或者缓冲堆积条件。
当满足网络拥塞条件或者缓冲堆积条件时,发送端确定传输网络为待探测网络,执行S3;
当不满足网络拥塞条件和缓冲堆积条件时,发送端返回继续执行S1。
S3、发送端根据状态统计信息,确定与网络状态对应的目标探测类型。
S4、发送端确定与目标探测类型对应的目标调整系数,并根据原始配置参数和目标调整系数,确定目标配置参数。
S5、发送端根据目标配置参数,确定是否执行第二时段的探测。
当开始执行第二时段的探测时,发送端执行S6;
当尚未开始执行第二时段的探测时,发送端返回继续执行S1。
S6、发送端确定原始数据的生成速率是否小于目标发送速率。
当原始数据的生成速率小于目标发送速率时,发送端执行S7;
当原始数据的生成速率大于或者等与目标发送速率时,发送端直接执行S8。
S7、发送端对原始数据执行预设的填充操作,得到探测数据。
S8、发送端在第二时段向接收端发送探测数据。
S9、接收端接收发送端发送的数据,并获取传输参数。
S10、接收端通过识别数据包头,确定接收的数据是否为探测数据。
当数据是探测数据时,接收端执行S11;
当数据不是探测数据时,接收端返回执行S9。
S11、接收端基于预设的有效性检测规则,确定传输参数是否为有效采样。
当传输参数为有效采样时,接收端执行S12;
当传输参数不是有效采样时,接收端返回执行S9。
S12、接收端根据传输参数,确定待探测网络在第二时段的预估带宽。
S13、接收端将传输参数和待探测网络在第二时段的预估带宽,确定为在第二时段的传输状态参数。
S14、接收端向发送端发送在第二时段的传输状态参数。
可以理解的,在实际实施时,本公开实施例所述的带宽探测装置可以包含有用于实现前述对应带宽探测方法的一个或多个硬件结构和/或软件模块,这些执行硬件结构和/或软件模块可以构成一个电子设备。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
基于这样的理解,本公开实施例还对应提供一种带宽探测装置。图15示出了本公开实施例提供的带宽探测装置的结构示意图一。如图15所示,应用于发送端;该带宽探测装置包括:控制单元1501、生成单元1502和发送单元1503。
控制单元1501,用于根据待探测网络在第一时段的状态统计信息,对待探测网络的原始配置参数进行调整,得到与待探测网络的网络状态对应的目标配置参数。
生成单元1502,用于根据待发送的原始数据和目标配置参数,生成探测数据。
发送单元1503,用于在第二时段向接收端发送探测数据;探测数据用于接收端根据探测数据的传输参数,确定待探测网络在第二时段的预估带宽;第二时段为第一时段之后的待测量时段。
可选的,控制单元1501,具体用于根据状态统计信息,确定与网络状态对应的目标探测类型;当状态统计信息满足预设的网络良好条件时,确定目标探测类型为短探测;当状态统计信息不满足网络良好条件,或者预设时间内短探测未成功时,确定目标探测类型为长探测;长探测的探测时长大于短探测的探测时长;基于预设的探测类型与调整系数的对应关系,确定与目标探测类型对应的目标调整系数;根据原始配置参数和目标调整系数,确定目标配置参数。
可选的,目标配置参数包括:探测数据的目标发送速率;生成单元1502,具体用于当原始数据的生成速率小于目标发送速率时,对原始数据执行预设的填充操作,得到探测数据。
可选的,目标配置参数包括:探测数据的目标发送速率和目标探测时长;发送单元1503,还用于根据目标发送速率和目标探测时长,确定目标数据量;根据探测数据的数据量和目标数据量,确定第二时段。
可选的,状态统计信息包括:发送速率、在第一时段的预估带宽、排队延时变化量、丢包率变化量、缓存延时、缓存数据量;排队延时变化量用于表征在第一时段的排队延时,相较于在第三时段的排队延时的变化情况;丢包率变化量用于表征在第一时段的丢包率,相较于在第三时段的丢包率的变化情况;第三时段在第一时段之前;控制单元1501,还用于:获取传输网络的状态统计信息;当传输网络的状态统计信息满足网络拥塞条件或者缓冲堆积条件时,确定传输网络为待探测网络;网络拥塞条件包括:发送速率小于在第一时段的预估带宽、排队延时变化量大于预设的第一变化量阈值、丢包率变化量大于预设的第二变化量阈值中的至少一种;缓冲堆积条件包括:缓存延时大于预设缓存延时、缓存数据量大于预设缓存数据量中的至少一种。
另外,本公开实施例还对应提供一种带宽探测装置。图16示出了本公开实施例提供的带宽探测装置的结构示意图二。如图16所示,应用于接收端;带宽探测装置包括:获取单元1601和预估单元1602。
获取单元1601,用于获取发送端在第二时段向接收端传输探测数据的传输参数;探测数据是发送端根据待发送的原始数据和目标配置参数生成的;目标配置参数与待探测网络在第一时段的网络状态对应;第二时段为第一时段之后的待测量时段。
预估单元1602,用于根据传输参数,确定待探测网络在第二时段的预估带宽。
可选的,预估单元1602,具体用于基于预设的有效性检测规则,确定传输参数是否为有效采样;当传输参数为有效采样时,根据传输参数,确定待探测网络的网络状态;基于与待探测网络的网络状态对应的目标带宽估计规则,根据传输参数,确定待探测网络在第二时段的预估带宽。
可选的,传输参数包括:当前接收速率、在第一时段的预估带宽、排队延时变化量、丢包率变化量;排队延时变化量用于表征在第二时段的排队延时,相较于在第一时段的排队延时的变化情况;丢包率变化量用于表征在第二时段的丢包率,相较于在第一时段的丢包率的变化情况;预估单元1602,具体用于当传输参数满足网络拥塞条件时,确定网络状态为拥塞状态;网络拥塞条件包括:当前接收速率小于在第一时段的预估带宽、排队延时变化量大于预设的第一变化量阈值、丢包率变化量大于预设的第二变化量阈值中的至少一种;当传输参数不满足网络拥塞条件时,确定网络状态为非拥塞状态。
可选的,当网络状态为拥塞状态时,传输参数还包括:在第二时段的平均接收速率;预估单元1602,具体用于当网络状态为拥塞状态时,将当前接收速率和平均接收速率中数值最小的,确定为待探测网络在第二时段的预估带宽;当网络状态为非拥塞状态时,将当前接收速率确定为待探测网络在第二时段的预估带宽。
如上所述,本公开实施例可以根据上述方法示例对发送端/接收端进行功能模块的划分。其中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,还需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。
关于上述实施例中的带宽探测装置,其中各个模块执行操作的具体方式、以及具备的有益效果,均已经在前述方法实施例中进行了详细描述,此处不再赘述。
本公开实施例还提供一种带宽探测装置。图17示出了本公开实施例提供的带宽探测装置的结构示意图三。该带宽探测装置可以包括至少一个处理器221,通信总线222,存储器223以及至少一个通信接口224。
处理器221可以是一个处理器(central processing units,CPU),微处理单元,ASIC,或一个或多个用于控制本公开方案程序执行的集成电路。结合图15,处理器221可以用于执行控制单元1501和生成单元1502执行的操作。结合图16,处理器221可以用于执行预估单元1602执行的操作。
通信总线222可包括一通路,在上述组件之间传送信息。
通信接口224,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如电子设备、以太网,无线接入网(radio access network,RAN),无线局域网(wirelesslocal area networks,WLAN)等。结合图15,处理器221可以用于执行发送单元1503执行的操作。结合图16,处理器221可以用于执行预估单元1602执行的操作。
存储器223可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理单元相连接。存储器也可以和处理单元集成在一起。
其中,存储器223用于存储执行本公开方案的应用程序代码,并由处理器221来控制执行。处理器221用于执行存储器223中存储的应用程序代码,从而实现本公开方法中的功能。
在具体实现中,作为一种实施例,处理器221可以包括一个或多个CPU,例如图17中的CPU0和CPU1。
在具体实现中,作为一种实施例,带宽探测装置可以包括多个处理器,例如图17中的处理器221和处理器225。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,带宽探测装置还可以包括输入设备226和输出设备227。输入设备226和输出设备227通信,可以以多种方式接受用户的输入。例如,输入设备226可以是鼠标、键盘、触摸屏设备或传感设备等。输出设备227和处理器221通信,可以以多种方式来显示信息。例如,输出设备221可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备等。
本领域技术人员可以理解,图17中示出的结构并不构成对带宽探测装置的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本公开还提供了一种带宽探测系统,该带宽探测系统包括发送端和接收端;
所述发送端,用于执行上述图3-图9所示的带宽探测方法。
所述接收端,用于执行上述图10-图13所示的带宽探测方法。
本公开还提供了一种包括指令的计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述计算机可读存储介质中的指令由带宽探测装置的处理器执行时,使得带宽探测装置能够执行上述所示实施例提供的带宽探测方法。例如,计算机可读存储介质可以为包括指令的存储器223,上述指令可由带宽探测装置的处理器221执行以完成上述方法。
可选的,计算机可读存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
本公开还提供了一种包含指令的计算机程序产品,当其在带宽探测装置上运行时,使得带宽探测装置执行上述所示实施例提供的带宽探测方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (14)
1.一种带宽探测方法,其特征在于,应用于发送端;所述带宽探测方法包括:
根据待探测网络在第一时段的状态统计信息,对所述待探测网络的原始配置参数进行调整,得到与所述待探测网络的网络状态对应的目标配置参数;
根据待发送的原始数据和所述目标配置参数,生成探测数据;
在第二时段向接收端发送所述探测数据;所述探测数据用于所述接收端根据所述探测数据的传输参数,确定所述待探测网络在所述第二时段的预估带宽;所述第二时段为所述第一时段之后的待测量时段。
2.根据权利要求1所述的带宽探测方法,其特征在于,所述根据待探测网络在第一时段的状态统计信息,对所述待探测网络的原始配置参数进行调整,得到与所述待探测网络的网络状态对应的目标配置参数,包括:
根据所述状态统计信息,确定与所述网络状态对应的目标探测类型;当所述状态统计信息满足预设的网络良好条件时,确定所述目标探测类型为短探测;当所述状态统计信息不满足所述网络良好条件,或者预设时间内所述短探测未成功时,确定所述目标探测类型为长探测;所述长探测的探测时长大于所述短探测的探测时长;
基于预设的探测类型与调整系数的对应关系,确定与所述目标探测类型对应的目标调整系数;
根据所述原始配置参数和所述目标调整系数,确定所述目标配置参数。
3.根据权利要求1所述的带宽探测方法,其特征在于,所述目标配置参数包括:所述探测数据的目标发送速率;
所述根据待发送的原始数据和所述目标配置参数,生成探测数据,包括:
当所述原始数据的生成速率小于所述目标发送速率时,对所述原始数据执行预设的填充操作,得到所述探测数据。
4.根据权利要求1所述的带宽探测方法,其特征在于,所述目标配置参数包括:所述探测数据的目标发送速率和目标探测时长;
所述在第二时段向接收端发送所述探测数据之前,所述方法还包括:
根据所述目标发送速率和所述目标探测时长,确定目标数据量;
根据所述探测数据的数据量和所述目标数据量,确定所述第二时段。
5.根据权利要求1-4任一项所述的带宽探测方法,其特征在于,所述状态统计信息包括:发送速率、在所述第一时段的预估带宽、排队延时变化量、丢包率变化量、缓存延时、缓存数据量;所述排队延时变化量用于表征在所述第一时段的排队延时,相较于在第三时段的排队延时的变化情况;所述丢包率变化量用于表征在所述第一时段的丢包率,相较于在所述第三时段的丢包率的变化情况;所述第三时段在所述第一时段之前;
所述带宽探测方法,还包括:
获取传输网络的状态统计信息;
当所述传输网络的状态统计信息满足网络拥塞条件或者缓冲堆积条件时,确定所述传输网络为所述待探测网络;所述网络拥塞条件包括:所述发送速率小于在所述第一时段的预估带宽、所述排队延时变化量大于预设的第一变化量阈值、所述丢包率变化量大于预设的第二变化量阈值中的至少一种;所述缓冲堆积条件包括:所述缓存延时大于预设缓存延时、所述缓存数据量大于预设缓存数据量中的至少一种。
6.一种带宽探测方法,其特征在于,应用于接收端;所述带宽探测方法包括:
获取发送端在第二时段向所述接收端传输探测数据的传输参数;所述探测数据是所述发送端根据待发送的原始数据和目标配置参数生成的;所述目标配置参数与待探测网络在第一时段的网络状态对应;所述第二时段为所述第一时段之后的待测量时段;
根据所述传输参数,确定所述待探测网络在所述第二时段的预估带宽。
7.根据权利要求6所述的带宽探测方法,其特征在于,所述根据所述传输参数,确定所述待探测网络在所述第二时段的预估带宽,包括:
基于预设的有效性检测规则,确定所述传输参数是否为有效采样;
当所述传输参数为所述有效采样时,根据所述传输参数,确定所述待探测网络的网络状态;
基于与所述待探测网络的网络状态对应的目标带宽估计规则,根据所述传输参数,确定所述待探测网络在所述第二时段的预估带宽。
8.根据权利要求7所述的带宽探测方法,其特征在于,所述传输参数包括:当前接收速率、在所述第一时段的预估带宽、排队延时变化量、丢包率变化量;所述排队延时变化量用于表征在所述第二时段的排队延时,相较于在所述第一时段的排队延时的变化情况;所述丢包率变化量用于表征在所述第二时段的丢包率,相较于在所述第一时段的丢包率的变化情况;
所述根据所述传输参数,确定所述待探测网络的网络状态,包括:
当所述传输参数满足网络拥塞条件时,确定所述网络状态为拥塞状态;所述网络拥塞条件包括:所述当前接收速率小于在所述第一时段的预估带宽、所述排队延时变化量大于预设的第一变化量阈值、所述丢包率变化量大于预设的第二变化量阈值中的至少一种;
当所述传输参数不满足所述网络拥塞条件时,确定所述网络状态为非拥塞状态。
9.根据权利要求8所述的带宽探测方法,其特征在于,当所述网络状态为所述拥塞状态时,所述传输参数,还包括:在所述第二时段的平均接收速率;
所述基于与所述待探测网络的网络状态对应的目标带宽估计规则,根据所述传输参数,确定所述待探测网络在所述第二时段的预估带宽,包括:
当所述网络状态为所述拥塞状态时,将所述当前接收速率和所述平均接收速率中数值最小的,确定为所述待探测网络在所述第二时段的预估带宽;
当所述网络状态为所述非拥塞状态时,将所述当前接收速率确定为所述待探测网络在所述第二时段的预估带宽。
10.一种带宽探测装置,其特征在于,应用于发送端;所述带宽探测装置包括:控制单元、生成单元和发送单元;
所述控制单元,用于根据待探测网络在第一时段的状态统计信息,对所述待探测网络的原始配置参数进行调整,得到与所述待探测网络的网络状态对应的目标配置参数;
所述生成单元,用于根据待发送的原始数据和所述目标配置参数,生成探测数据;
所述发送单元,用于在第二时段向接收端发送所述探测数据,以使得所述接收端获取所述探测数据的传输参数,并根据所述传输参数,确定所述待探测网络在所述第二时段的预估带宽;所述第二时段为所述第一时段之后的待测量时段。
11.一种带宽探测装置,其特征在于,应用于接收端;所述带宽探测装置包括:获取单元和预估单元;
所述获取单元,用于获取发送端在第二时段向所述接收端传输探测数据的传输参数;所述探测数据是所述发送端根据待发送的原始数据和目标配置参数生成的;所述目标配置参数与待探测网络在第一时段的网络状态对应;所述第二时段为所述第一时段之后的待测量时段;
所述预估单元,用于根据所述传输参数,确定所述待探测网络在所述第二时段的预估带宽。
12.一种带宽探测系统,其特征在于,所述带宽探测系统包括:发送端和接收端;
所述发送端,用于执行如权利要求1-5中任一项所述的带宽探测方法;
所述接收端,用于执行如权利要求6-9中任一项所述的带宽探测方法。
13.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-5中任一项,或者权利要求6-9中任一项所述的带宽探测方法。
14.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1-5中任一项,或者权利要求6-9中任一项所述的带宽探测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310822816.1A CN116962258A (zh) | 2023-07-05 | 2023-07-05 | 一种带宽探测方法、装置、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310822816.1A CN116962258A (zh) | 2023-07-05 | 2023-07-05 | 一种带宽探测方法、装置、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116962258A true CN116962258A (zh) | 2023-10-27 |
Family
ID=88459621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310822816.1A Pending CN116962258A (zh) | 2023-07-05 | 2023-07-05 | 一种带宽探测方法、装置、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116962258A (zh) |
-
2023
- 2023-07-05 CN CN202310822816.1A patent/CN116962258A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102350504B1 (ko) | 통신 시스템에서 하향링크 전송률 제어를 위한 장치 및 방법 | |
CN113169896B (zh) | 网络度量的连续校准 | |
US20090059950A1 (en) | Information polling method, apparatus and system | |
CN110875915B (zh) | 数据传输方法及装置 | |
US8848736B2 (en) | Method and apparatus for transmitting data | |
CN114157603A (zh) | 拥塞控制方法、装置、设备及存储介质 | |
CN110072254B (zh) | 一种数据的传输方法及其相关设备 | |
CN114039926B (zh) | 传输控制协议确定方法、装置、可读介质及电子设备 | |
US11190430B2 (en) | Determining the bandwidth of a communication link | |
US9130843B2 (en) | Method and apparatus for improving HTTP adaptive streaming performance using TCP modifications at content source | |
CN117676695A (zh) | Tcp传输方法、装置和系统 | |
CN116319569A (zh) | 网络参数更新方法、网络参数更新装置、介质及电子设备 | |
US8966070B1 (en) | System and method of reducing network latency | |
CN108259576B (zh) | 一种软硬件实时信息传输系统和方法 | |
CN116962258A (zh) | 一种带宽探测方法、装置、系统、设备及存储介质 | |
CN113542215B (zh) | 一种提升流媒体传输性能的方法及相关装置 | |
CN115277556A (zh) | 拥塞控制方法、电子设备及可读存储介质 | |
CN111917525B (zh) | 一种数据传输方法、装置、设备和可读存储介质 | |
US11368400B2 (en) | Continuously calibrated network system | |
US9319330B2 (en) | Apparatus and method for avoiding packet losses in a network connection | |
WO2023119511A1 (ja) | 通信装置、通信システム、及び通信方法 | |
US9882751B2 (en) | Communication system, communication controller, communication control method, and medium | |
CN113439416B (zh) | 连续校准的网络系统 | |
CN114338839B (zh) | 基于tcp的数据传输方法、装置、电子设备及存储介质 | |
US11882049B2 (en) | Managing network latency using buffer fill control |
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 |