CN110266551B - 一种带宽预测方法、装置、设备及存储介质 - Google Patents
一种带宽预测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110266551B CN110266551B CN201910690505.8A CN201910690505A CN110266551B CN 110266551 B CN110266551 B CN 110266551B CN 201910690505 A CN201910690505 A CN 201910690505A CN 110266551 B CN110266551 B CN 110266551B
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- queue
- round
- predicted value
- uplink
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- 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
- H04L43/0864—Round trip 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
- H04L43/0894—Packet rate
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
技术领域
本申请涉及网络传输技术领域,尤其涉及一种带宽预测方法、装置、设备及存储介质。
背景技术
在许多网络场景下为了提高网络带宽利用率,需要精准地探测带宽,根据探测出的带宽值来控制发包速率,以在最大化利用带宽资源的情况下避免网络堵塞。
例如,以实时通话场景为例,在该场景下需要精确地探测带宽,根据探测出的带宽值来适应性调整数据发送编码率,在带宽较大的情况下适度增大发送编码率,而在带宽变小的情况下再适度降低发送编码率,根据带宽预测值适应性控制发送编码率,使得视频流传输更稳定更流畅,从而使得实时通话效果更好,提高用户体验质量。
目前常用的带宽预测方案是基于谷歌提出的TCP拥塞控制算法BBR(BottleneckBandwidth and RTT,BBR)来实现,BBR算法从瓶颈链路带宽和传播时延的角度进行拥塞判决,能够在一定丢包率的网络链路上探测较为准确的带宽,提高带宽利用率并降低网络延迟;但是,在实际应用中,BBR算法依赖于报文到达确认机制来统计往返时延(Round-TripTime,RTT),在该机制下要求接收方每次接收到报文之后就需要向发送方反馈ACK(Acknowledgement,确认字符),如此就额外增加了信令开销,浪费网络资源。
发明内容
本申请实施例提供了一种带宽预测方法、装置、设备及存储介质,能够在保证带宽预测准确度的同时减少信令开销从而节约网络资源。
有鉴于此,本申请第一方面提供了一种带宽预测方法,包括:
获取接收端的上行接收带宽预测值队列,所述上行接收带宽预测值队列用于存储最近的第一预设数量周期的上行接收带宽预测值;
获取发送端的当前发送速率、第一往返时延队列和丢包率队列以及上一周期的上行发送带宽预测值;所述第一往返时延队列用于存储最近的第二预设数量周期的往返时延;其中,每个周期的往返时延是根据所述发送端在每个周期内发送用于预测带宽的测试数据包的发送时间以及所述发送端接收到所述接收端针对所述测试数据包而反馈的测试响应数据包的接收时间而确定的;所述丢包率队列用于存储最近的第三预设数量周期的丢包率;
根据所述上行接收带宽预测值队列、所述当前发送速率、所述第一往返时延队列和所述丢包率队列以及所述上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
本申请第二方面提供了一种带宽预测装置,包括:
第一获取模块,用于获取接收端的上行接收带宽预测值队列,所述上行接收带宽预测值队列用于存储最近的第一预设数量周期的上行接收带宽预测值;
第二获取模块,用于获取发送端的当前发送速率、第一往返时延队列和丢包率队列以及上一周期的上行发送带宽预测值;所述第一往返时延队列用于存储最近的第二预设数量周期的往返时延;其中,每个周期的往返时延是根据所述发送端在每个周期内发送用于预测带宽的测试数据包的发送时间以及所述发送端接收到所述接收端针对所述测试数据包而反馈的测试响应数据包的接收时间而确定的;所述丢包率队列用于存储最近的第三预设数量周期的丢包率;
带宽预测模块,用于根据所述上行接收带宽预测值队列、所述当前发送速率、所述第一往返时延队列和所述丢包率队列以及所述上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
本申请第三方面提供了一种设备,所述设备包括:处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行第一方面所述的带宽预测方法。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面所述的带宽预测方法。
本申请第五方面提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行上述第一方面所述的带宽预测方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种带宽预测方法,该方法另辟蹊径,不再基于每个数据包均反馈ACK的机制确定往返时延,而是通过发送特定的测试数据包的方式确定往返时延,相比BBR算法中针对每个发送出去的数据包均要反馈ACK,本申请提供的带宽预测方法仅需在周期性发送测试数据包,接收端只需要针对这些特质的测试数据包进行反馈,为发送端反馈对应的测试响应数据包,如此,每个周期针对测试数据包的发送时间以及接收端接收对应的测试响应数据包的接收时间来确定这个周期对应的往返时延。如此,在本申请中不需要针对每个数据包都反馈ACK,而只需要周期性针对每个周期地测试数据包进行反馈,如此就能够大幅度地降低了信令开销,节约了网络资源。而且,该方法中不再单纯依赖每个时刻的接收速率和发送速率,而且综合性参考发送端和接收端的多种维度的数据,如上行接收带宽预测值队列、当前发送速率、第一往返时延队列、丢包率队列以及上一周期的上行发送带宽预测值,对当前周期的上行发送带宽进行预测,这些数据能够从多个维度映射出当前网络的实际情况,如此,基于这些维度的数据进行网络带宽值预测能够保证预测准确度。
附图说明
图1为本申请实施例提供的带宽预测方法的应用场景示意图;
图2为本申请实施例提供的一种带宽预测方法的流程示意图;
图3为接收端数据接收状态的示意图;
图4为往返时延的变化趋势及丢包率的变化趋势的示意图;
图5为本申请实施例提供的另一种带宽预测方法的流程示意图;
图6为限制带宽为300kpbs的场景下发送端码率和接收端帧率的效果图;
图7为本申请实施例提供的一种带宽预测装置的结构示意图;
图8为本申请实施例提供的另一种带宽预测装置的结构示意图;
图9为本申请实施例提供的一种终端设备的结构示意图;
图10为本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
相关技术中,采用谷歌提出的BBR算法对带宽进行预测存在以下技术问题:针对发送的每个数据包均需要反馈ACK,以基于此统计往返时延,如此会造成大量额外的信令开销,浪费网络资源。
针对上述相关技术存在的技术问题,本申请实施例提供了一种带宽预测方法,能够在保证带宽预测准确度的同时减少信令开销从而节约网络资源。
具体的,在本申请实施例提供的带宽预测方法中,获取接收端的上行接收带宽预测值队列,该上行接收带宽预测值队列用于存储最近的第一预设数量周期的上行接收带宽预测值;获取发送端的当前发送速率、第一往返时延队列、丢包率队列以及上一周期的上行发送带宽预测值,其中,第一往返时延队列用于存储最近的第二预设数量周期的往返时延,丢包率队列用于存储最近的第三预设数量周期的丢包率,上述每个周期的往返时延均是根据每个周期内用于预测带宽的测试数据包的发送时间以及接收到来自接收端针对该测试数据包反馈的测试响应数据包的接收时间确定的;进而,根据上述上行接收带宽预测值队列、当前发送速率、第一往返时延队列、丢包率队列以及上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
在本申请实施例提供的带宽预测方法中,采用了周期性发送特定的测试数据包的方式确定往返时延,相比BBR算法中基于反馈ACK的机制确定往返时延,本申请中确定往返时延的方式可以大幅度降低信令开销,节约网络资源。并且本申请实施例提供的带宽预测方法不再单纯地依赖每个时刻的接收速率和发送速率对带宽进行预测,而采用了一种新的带宽预测策略,即综合参考上行接收带宽预测值队列、当前发送速率、第一往返时延队列丢包率队列以及上一周期的上行发送带宽预测值等多个维度的数据,对带宽进行预测,如此保证所预测的网络带宽预测的准确性。
应理解,本申请实施例提供的带宽预测方法可以应用于需要通过网络发送数据的设备,如终端设备、服务器等;其中,终端设备具体可以为智能手机、计算机、个人数字助理(Personal Digital Assitant,PDA)、平板电脑等;服务器具体可以为应用服务器,也可以为Web服务器,在实际部署时,该服务器可以为独立服务器,也可以为集群服务器。
若本申请实施例提供的带宽预测方法由终端设备执行时,则终端设备可以直接根据自己预测的上行发送带宽来进行资源分配,例如为音视频传输分配资源等,终端设备执行该带宽预测方法能够周期性地预测上行发送带宽,进而能够实时根据上行发送带宽预测值调节业务参数,从而在保证业务正常进行的情况下,提高带宽利用率。若本申请实施例提供的带宽预测方法由服务器执行时,则服务器将自己预测的上行发送带宽再发送至终端设备,进而方便终端设备根据该上行发送带宽预测值进行资源分配。
为了便于理解本申请实施例提供的技术方案,下面对本申请实施例提供的带宽预测方法应用于终端设备为例,对本申请实施例提供的带宽预测方法适用的应用场景进行示例性介绍。
参见图1,图1为本申请实施例提供的带宽预测方法的应用场景示意图。如图1所示,该应用场景包括:终端设备101和服务器102;终端设备101作为数据的发送端,服务器102作为数据的接收端,终端设备101用于执行本申请实施例提供的带宽预测方法预测每个周期的上行发送带宽。
服务器102创建上行接收带宽预测值队列来存储最近的第一预设数量周期的上行接收带宽预测值,服务器102周期性地根据自身的数据接收速率确定每个周期的上行接收带宽预测值,以周期性更新该上行接收带宽预测值队列。
服务器102可以主动地周期地向终端设备101发送上行接收带宽预测值队列,也可以被动地响应于终端设备101的数据获取请求,再向终端设备101发送上行接收带宽预测值队列,如此,以使终端设备101基于该上行接收带宽预测值队列预测当前周期的上行发送带宽。
终端设备101除了需要获取服务器102发送的上行接收带宽预测值队列外,还需要获取自身的当前发送速率、第一往返时延队列、丢包率队列和上一周期的上行发送带宽预测值。其中,第一往返时延队列存储有最近的第二预设数量周期的往返时延;丢包率队列存储有最近的第三预设数量周期的丢包率。
需要说明的是,上述往返时延均是由终端设备101通过周期性地发送测试数据包的方式确定的,具体的,终端设备101可以在每个周期内向服务器102发送若干个测试数据包,例如,每秒向服务器102发送一个测试数据包,该测试数据包中可以携带相关业务信息,也可以不携带相关业务信息,服务器102接收到测试数据包后,相应地向终端设备101返回确定接收到该测试数据包的测试响应数据包,该测试响应数据包中会携带服务器102在当前周期的实际收包数量,此外,该测试响应数据包中还可以携带其他业务信息;进而,终端设备101可以根据测试数据包的发送时间以及与其对应的测试响应数据包的接收时间确定往返时延。在实际应用中,可以采用心跳包作为上述测试数据包。
另外,终端设备101还会创建丢包率队列来存储最近的第三预设数量周期的丢包率,终端设备101会根据服务器102通过测试响应数据包返回的实际收包数量确定每个周期的丢包率,进而周期性地更新该丢包率队列。
最终,终端设备101可以根据上述上行接收带宽预测值队列、当前发送速率、第一往返时延队列、丢包率队列和上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
应理解,在实际应用中,也可以由作为接收端的服务器102执行本申请实施例提供的带宽预测方法,预测终端设备101当前周期的上行发送带宽预测值。具体的,服务器102可以从终端设备101处获取终端设备101的当前发送速率、第一往返时延队列、丢包率队列和上一周期的上行发送带宽预测值,然后,将这些数据与自身确定的上行接收带宽预测值队列结合起来,确定终端设备101当前周期的上行发送带宽预测值,进而,将该上行发送带宽预测值发送给终端设备101,以便终端设备101根据该上行发送带宽预测值确定相关业务数据。
应理解,图1所示的应用场景仅为示例,在实际应用中,本申请实施例提供的带宽预测方法还可以应用于其他需要预测网络带宽的应用场景,在此不对本申请实施例提供的带宽预测方法做任何限定。
下面通过实施例对本申请提供的带宽预测方法进行介绍。
参见图2,图2为本申请实施例提供的带宽预测方法的流程示意图。为了便于描述,下述实施例仅以终端设备为执行主体为例对该带宽预测方法进行介绍。如图2所示,该带宽预测方法包括以下步骤:
步骤201:获取接收端的上行接收带宽预测值队列,所述上行接收带宽预测值队列用于存储最近的第一预设数量周期的上行接收带宽预测值。
当本申请实施例的执行主体终端设备作为发送端时,终端设备需要从其对应的接收端(如服务器等)处,获取由该接收端维护的上行接收带宽预测值队列。上述上行接收带宽预测值队列存储有第一预设数量周期的上行接收带宽预测值,该上行接收带宽预测值队列会周期性地更新数值,该上行接收带宽预测值队列中存储的上行接收带宽预测值通常是接收端基于自身接收数据的接收速率确定出的。在带宽有限的情况下,发送端发送的数据经路由器等缓冲后,会在接收端呈现出如图3所示的较为均匀的接收状态,基于此,接收端可以根据其接收的预设数量的数据包对应的字节数以及接收预设数量的数据包耗费的时间,计算自身接收数据的接收速率,具体可以基于式(1)计算接收速率:
recv_rate=total bytes/elapsed time (1)
其中,recv_rate为接收端的接收速率,total bytes为所接收的预设数量的数据包对应的字节数,elapsed time为接收预设数量的数据包耗费的时间。
进而,根据在一个周期内计算出的接收速率,确定该周期对应的上行接收带宽预测值;如此,计算出各周期对应的上行接收带宽预测值,创建以及更新上行接收带宽预测值队列。例如,上行接收带宽预测值队列用于维护最近8个周期的上行接收带宽预测值,则最初状态下,第1至8个周期的上行接收带宽预测值按照周期顺序加入该上行接收带宽预测值队列,而随着周期迭代,当第9个周期的上行接收带宽预测值确定时,将其加入该上行接收带宽预测值队列,则此时,该上行接收带宽预测值队列会维护第2-9个周期的上行接收带宽预测值,按照如此方式周期性更新上行接收带宽预测值队列。下面通过示例对如何确定每个周期的上行接收带宽预测值进行说明。
例如,假设接收端每接收3个数据包计算一次接收速率,即接收端每接收3个数据包,就根据所接收的3个数据包对应的字节数与接收这3个数据包耗费的时间计算一次接收速率;若以1秒作为1个周期,假设接收端在一秒内接收了120个数据包,则接收端需要通过上述计算方式计算40次接收速率。进而,对这一秒内的40个接收速率进行平滑处理,从中选择第二大的接收速率值作为这一秒对应的上行接收带宽预测值。假设第一预设数量为8,则上行接收带宽预测值队列中就会存储有距离当前时间最近的8个周期对应的上行接收带宽预测值。
应理解,上述确定上行接收带宽预测值的方式仅为示例,在实际应用中,接收端可以根据实际需求,基于其接收的任意数量的数据包对应的字节数和接收时间计算接收速率,也可以选取任意合适的时间长度作为周期长度,还可以采取其他方式基于周期内的接收速率确定该周期对应的上行接收带宽预测值,在此不对确定上行接收带宽预测值的方式做任何限定。
步骤202:获取发送端的当前发送速率、第一往返时延队列和丢包率队列以及上一周期的上行发送带宽预测值。
在具体实现时,终端设备需要记录当前发送速率以及上一周期的上行发送带宽预测值,并需要创建以及更新第一往返时延队列丢包率队列。需要说明的是,上述第一往返时延队列用于存储最近的第二预设数量周期的往返时延;此处每个周期的往返时延均是发送端通过发送测试数据包的方式确定的,具体的,发送端可以在每个周期内向接收端发送若干个测试数据包,例如,每秒发送两个心跳包(此处将心跳包作为测试数据包),接收端接收到发送端发送的测试数据包后,相应地向发送端返回测试响应数据包,如此,发送端即可根据自身发送测试数据包的时间以及自身接收到测试响应数据包的时间确定往返时延。上述丢包率队列用于存储最近的第三预设数量周期的丢包率。
为了保证本申请实施例提供的带宽预测方法在网络突变的场景下仍然能够对网络带宽进行准确地预测,例如,保证在其他用户或其他软件抢占网络、基站切换、突发网络丢包等场景下对带宽进行准确预测,本申请实施例提供的带宽预测方法还可以进一步获取第二往返时延队列,该第二往返时延队列用于存储最近的预设数量个最小往返时延。利用该第二往返时延队列作为监控网络状况是否良好的参考依据,保证在网络突变场景下带宽预测的准确性。上述第一往返时延队列和上述第二往返时延队列以及上述丢包率队列都是由终端设备创建以及周期性更新的;针对第一往返时延队列的更新,终端设备需要周期性地将最新往返时延加入第一往返时延队列,将第一往返时延队列中最久远的历史往返时延剔除,使得第一往返时延队列中存储第二预设数量周期的往返时延。针对第二往返时延队列的更新,由终端设备根据自身确定的每个周期的往返时延,如果发现最新往返时延小于第二往返时延队列的历史最小值时,则将最新往返时延更新至该第二往返时延队列中,否则该第二往返时延队列保持不变。针对丢包率队列的更新过程与上文描述的上行接收带宽预测值队列的更新方式类似,此处不再赘述。
另外,关于上文中描述的第一预设数量和第二预设数量以及第三预设数量,三者取值均为大于1的正整数,三者可以相同例如第一预设数量、第二预设数量和第三预设数量均可以取值为8,当然三者取值也可以不同,例如第一预设数量可以取值为8,第二预设数量可以取值为8,第三预设数量可以取值为5,当然,具体取值情况根据实际业务需求而定,本申请实施对此不做具体限定。
需要说明的是,上述第一往返时延队列和丢包率队列为衡量网络带宽的两个较为重要的指标,如图4所示,随着发送速率越来越接近网络带宽,往返时延将逐渐提升,当发送速率超过网络带宽时,往返时延将呈现大幅度提升,同时触发丢包,可见,随着发送速率的改变,往返时延的变化相比丢包率的变化更为敏感,将往返时延的变化趋势与丢包率的变化趋势结合起来,能够对在一定程度上对带宽进行准确地预估。例如,当发送速率为400kpbs,往返时延为10ms,丢包率为0时,可以认为发送速率400kpbs在当前网络带宽之内;当发送速率为450kpbs,往返时延为100ms,丢包率为0时,则认为450kpbs处于当前网络带宽的附近;当发送速率为500kpbs,往返时延为200ms,丢包率为50%时,结合之前的数据,可以认为500kpbs已超过当前网络带宽。
但是,在网络突变的场景中,仅基于第一往返时延队列和丢包率队列衡量出的网络带宽往往不够准确,为了进一步保证带宽预估的准确性,还需要结合存储有网络情况较好时的往返时延的第二往返时延队列,对网络带宽进行预估。具体的,当网络情况较差时,第一往返时延队列中的往返时延通常会呈现上升趋势且不稳定,但是仅基于第一往返时延队列中往返时延的变化趋势不能直接定论当前网络情况的好坏,还需要进一步结合第二往返时延队列中存储的往返时延,对当前的网络情况进行衡量,例如,假设第一往返时延队列中存储的往返时延包括5ms、10ms、25ms和34ms,第二往返时延队列中存储的往返时延包括5ms、10ms、25ms、30ms和35ms,虽然第一往返时延队列中的往返时延呈上升趋势且不稳定,但是将其与第二往返时延队列中存储的网络情况较好时的往返时延进行对比可以发现,第一往返时延队列中存储的往返时延能够明显表征当前的网络情况较好,可见,在综合考虑第一往返时延队列与第二往返时延队列的情况下,才能够较为准确地衡量当前的网络情况,进而准确地预估当前周期的上行发送带宽。
需要说明的是,若终端设备在某一周期对视频进行编码时采用的码率达到了预设的目标码率,且数据传输的过程中没有发生丢包,则可以认为此时的网络情况较为理想,可以将该周期的往返时延添加至第二往返时延队列中。此外,如果某一周期的往返时延低于第二往返时延队列中所有往返时延的平均值,则该周期的往返时延也将被添加至第二往返时延队列中。向第二往返时延队列中添加往返时延的同时,终端设备还会将第二往返时延队列中最大的往返时延删除。
需要说明的是,在实际应用中,可以先执行步骤201,后执行步骤202,也可以先执行步骤202,后执行步骤201,还可以同时执行步骤201和步骤202,在此不对步骤201和步骤202的执行顺序做任何限定。
步骤203:根据所述上行接收带宽预测值队列、所述当前发送速率、所述第一往返时延队列和所述丢包率队列以及所述上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
终端设备获取到上行接收带宽预设值队列、当前发送速率、第一往返时延队列、丢包率队列以及上一周期的上行发送带宽预测值后,进一步根据所获取的上行接收带宽预设值队列、当前发送速率、第一往返时延队列、丢包率队列以及上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
具体实现时,终端设备可以通过比较上行接收带宽预测值队列中的值是否均大于上一周期的上行发送带宽预测值,来确定第一比较结果;根据第一往返时延队列确定往返时延的变化趋势,并根据丢包率队列确定丢包率的变化趋势;进而,根据第一比较结果、往返时延的变化趋势、丢包率的变化趋势、当前发送速率以及上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
当终端设备获取到的参考数据包括第二往返时延时,终端设备可以根据上行接收带宽预测值队列、当前发送速率、第一往返时延队列、第二往返时延队列、丢包率队列以及上一周期的上行发送带宽预测值,确定当前的上行发送带宽预测值。
具体实现时,终端设备可以通过比较上行接收带宽预测值队列中的值是否均大于上一周期的上行发送带宽预测值,来确定第一比较结果;根据第二往返时延队列和第一往返时延队列确定往返时延的变化趋势,并根据丢包率队列确定丢包率的变化趋势;进而,根据第一比较结果、往返时延的变化趋势、丢包率的变化趋势、当前发送速率以及上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
终端设备具体确定上述第一比较结果时,可以逐一判断上行接收带宽预测队列中的值是否均大于上一周期的上行发送带宽预测值,若上行接收带宽预测队列中的值均大于上一周期的上行发送带宽预测值,则确定第一比较结果为是,反之,若上行接收带宽预测队列中存在任意一个或多个值小于或等于上一周期的上行发送带宽预测值,则确定第一比较结果为否。
终端设备具体确定往返时延的变化趋势时,通常需要确定往返时延的变化趋势是否稳定,以及往返时延的变化趋势是否呈增长趋势。
具体确定往返时延的变化趋势是否稳定时,终端设备可以从第一往返时延队列中选取最近的预设数量周期的往返时延,例如,假设第一往返时延队列中包括最近的8个周期的往返时延,终端设备可以从中选取最近的3个周期的往返时延;进而,基于所选取的往返时延计算方差或标准差,在计算得到的方差或标准差小于对应的阈值的情况下,判定往返时延的变化趋势稳定。当然,在实际应用中,终端设备也可以直接基于第一往返时延队列中所有的往返时延,判定往返时延的变化趋势是否稳定。具体确定往返时延的变化趋势是否呈增长趋势时,终端设备可以按时间顺序将第一往返时延队列中各周期的往返时延排列起来,进而,根据排列后的往返时延所表现出的变化趋势,判断往返时延是否呈增长趋势。当终端设备获取到第二往返时延队列时,终端设备还可以结合第二往返时延队列确定往返时延的变化趋势是否呈增长趋势时,终端设备可以从第一往返时延队列中选取最近的预设数量周期的往返时延,计算所选取的往返时延的平均值作为第一往返时延队列对应的平均值,计算第二往返时延队列中所有的往返时延对应的平均值作为第二往返时延队列对应的平均值,将第一往返时延队列对应的平均值与第二往返时延队列对应的平均值进行对比,得到第一对比结果;应理解,在实际应用中,终端设备也可以直接计算第一往返时延队列中所有的往返时延对应的平均值,作为第一往返时延队列对应的平均值。此外,终端设备还需要将第一往返时延队列中最近的往返时延与第二往返时延队列中最小的往返时延进行对比,得到第二对比结果。若第一对比结果表征第一往返时延队列对应的平均值大于第二往返时延队列对应的平均值,且第二对比结果表征第一往返时延队列中最近的往返时延大于第二往返时延队列中最小的往返时延,则可以确定往返时延的变化趋势呈增长趋势。
终端设备具体确定丢包率的变化趋势时,通常也需要确定丢包率的变化趋势是否稳定,以及丢包率的变化趋势是否呈增长趋势。具体确定丢包率的变化趋势是否稳定时,终端设备可以从丢包率队列中选取最近的预设数量周期的丢包率,进而,基于所选取的丢包率计算方差或标准差,在计算得到的方差或标准差小于对应的阈值的情况下,判定丢包率的变化趋势稳定;当然,在实际应用中,终端设备也可以直接基于丢包率队列中所有的丢包率,判定丢包率的变化趋势是否稳定。具体确定丢包率的变化趋势是否呈增长趋势时,终端设备可以按时间顺序将丢包率队列中各丢包率排列起来,进而,根据排列起来后的丢包率所表现出的变化趋势,判断丢包率的变化趋势是否呈增长趋势。
应理解,在实际应用中,终端设备除了可以通过上述方式确定往返时延的变化趋势以及丢包率的变化趋势外,终端设备还可以根据实际需求,采用其他方式确定往返时延的变化趋势以及丢包率的变化趋势,在此不对往返时延的变化趋势以及丢包率的变化趋势的确定方式做任何限定。
需要说明的是,在实际应用中,可以先确定第一比较结果,也可以先确定往返时延的变化趋势,还可以先确定丢包率的变化趋势,在此不对上述第一比较结果、往返时延的变化趋势以及丢包率的变化趋势的确定顺序做任何限定。
终端设备确定出第一比较结果、往返时延的变化趋势以及丢包率的变化趋势后,可以进一步根据第一比较结果、往返时延的变化趋势、丢包率的变化趋势、当前发送速率和上一周期的上行发送带宽预测值,相应地选取第一提升带宽策略、降低带宽策略或第二提升带宽策略,确定当前周期的上行发送带宽预测值。
当第一比较结果表示为是时,基于第一提升带宽策略确定当前周期的上行发送带宽预测值,该第一提升带宽策略指示基于上行接收带宽预测值队列中的最小值和上一周期的上行发送带宽预测值确定当前周期的上行发送带宽预测值。
若上行接收带宽预测值队列中的值均大于上一周期的上行发送带宽预测值,则说明当前网络情况很好,可以相应地采用第一提升带宽策略,快速地提升当前周期的上行发送带宽预测值,使其快速地接近实际网络带宽,即基于上行接收带宽预测值队列和上一周期的上行发送带宽预测值确定当前周期的上行发送带宽预测值。
具体基于第一提升带宽策略确定当前周期的上行发送带宽预测值时,终端设备可以获取与当前业务需求匹配的预设调整系数,然后,计算上行接收带宽预测值队列中最小上行接收带宽与预设调整系数的比值,作为第一调整值T1;最终,从第一调整值T1与上一周期的上行发送带宽预测值中选取最大值,作为当前周期的上行发送带宽预测值。
为了防止直接基于上行接收带宽预测值队列确定出的当前周期的上行发送带宽预测值过高,本实施例提供的方法利用与当前业务需求相匹配的预设调整系数进行阈值保护。例如,假设上行接收带宽预测值队列中最小的上行接收带宽为500kpbs,与当前业务需求匹配的预设调整系数为1.25,则终端设备可以先计算500kpbs/1.25得到第一调整值400kpbs,进而,在400kpbs与上一周期的上行发送带宽预测值中选取最大值,作为当前周期的上行发送带宽预测值。
应理解,不同的业务需求通常与不同的预设调整系数相匹配,以传输视频的应用场景为例,流畅模式对应的预设调整系数可以为1.25,清晰模式对应的预设调整系数可以为1.2;在此不对不同业务需求所匹配的预设调整系数做任何限定。
应理解,在实际应用中,除了可以将上述实现方式作为第一提升带宽策略外,还可采用其他实现方式作为第一提升带宽策略,在此不对第一提升带宽策略做具体限定。
当第一比较结果表示为否,且往返时延的变化趋势和丢包率的变化趋势均不稳定且呈增长趋势时,基于降低带宽策略确定当前周期的上行发送带宽预测值,该降低带宽策略指示基于丢包率队列和上一周期的上行发送带宽预测值确定当前周期的上行带宽预测值。
若上行接收带宽预测值队列中的值并非均大于上一周期的上行发送带宽预测值,并且往返时延的变化趋势不稳定且呈增长趋势,并且丢包率的变化趋势不稳定且呈增长趋势,则说明当前的网络情况较差,此时需要采用降低带宽策略,基于丢包率队列和上一周期的上行发送带宽预测值确定当前周期的上行发送带宽预测值。
本实施例在此提供了两种示例性的降低带宽策略对应的实现方式,下面对这两种实现方式逐一进行介绍:
在第一种实现方式中,终端设备可以在上行接收带宽预测值队列中最近的上行接收带宽预测值不小于上一周期的上行带宽预测值时,根据式(2)计算第二调整值T2:
T2=(1-average_loss/2)*dec_rate (2)
其中,average_loss是根据丢包率队列中最近的第四预设周期的丢包率确定的平均丢包率,dec_rate为发送端的当前发送速率。
将上一周期的上行发送带宽预测值与预设下降步长的差值作为第三调整值T3;从第二调整值T2和第三调整值T3中选取最小值作为当前周期的上行发送带宽预测值。
具体触发采用降低带宽策略时,终端设备可以从丢包率队列中选取第四预设数量周期的丢包率,并计算所选取的丢包率对应的平均值,然后采用式(2)计算第二调整值T2。此外,终端设备还需要利用上一周期的上行发送带宽预测值中减去预设下降步长,得到第三调整值T3。进而,从第二调整值T2和第三调整值T3中选取较小的值,作为当前周期的上行发送带宽预测值。在一些应用场景中,发送速率超出网络带宽后,可能只增加往返时延,而不增加丢包率,此时基于式(2)计算得到的第二调整值实际上与上一周期的上行发送带宽预测值相等,而继续采用上一周期的上行发送带宽预测值作为当前周期的上行发送带宽预测值显然是不合理的,因此,需要利用上一周期的上行发送带宽预测值中减去预设下降步长,确定当前周期的上行发送带宽预测值。
应理解,上述第四预设数量小于等于第三预设数量,在此不对第四预设数量做任何限定。此外,上述预设下降步长可以根据实际需求进行设定,在此也不对上述预设下降步长做具体限定。
在第二种实现方式中,终端设备可以在上行接收带宽预测值队列中的最近上行接收带宽预测值小于上一周期的上行发送带宽预测值时,确定上行接收带宽预测值队列中最小上行接收带宽与当前业务需求匹配的预设调整系数的比值,作为第一调整值T1;根据式(2)确定第二调整值T2:
T2=(1-average_loss/2)*dec_rate (2)
其中,average_loss是根据丢包率队列中最近的第四预设周期的丢包率确定的平均丢包率,dec_rate为发送端的当前发送速率。
将上一周期的上行发送带宽预测值与预设下降步长的差值作为第三调整值T3;根据式(3)确定第四调整值T4:
T2=(1-average_loss)*dec_rate (3)
从第四调整值T4和第一调整值T1中选择最大值作为第五调整值T5;从第二调整值T2和第三调整值T3中选择最小值作为第六调整值T6;最终,将第五调整值T5和第六调整值T6中的最小值确定为当前周期的上行发送带宽预测值。
应理解,在实际应用中,除了可以将上述两种实现方式作为降低带宽策略外,还可采用其他实现方式作为降低带宽策略,在此不对降低带宽策略做具体限定。
当第一比较结果表示为否,且且当前发送速率与上一周期的上行发送带宽预测值相近,且往返时延的变化趋势和丢包率的变化趋势均为稳定趋势时,基于第二提升带宽策略确定当前周期的上行发送带宽预测值,该第二提升带宽策略指示将上一周期的上行发送带宽预测值和预设调整步长的和值作为当前周期的上行发送带宽预测值。
需要说明的是,当终端所获取用于预测带宽的参考数据包括第二往返时延队列时,可以在第一比较结果表示为否,且第一往返时延队列中的最近往返时延与第二往返时延队列中的最小值相近,且当前发送速率与上一周期的上行发送带宽预测值相近,且往返时延的变化趋势和丢包率的变化趋势均为稳定趋势的情况下,基于第二提升带宽策略确定当前周期的上行发送带宽预测值。
若上行接收带宽预测值队列中的值并非均大于上一周期的上行发送带宽预测值,并且第一往返时延队列中最近的往返时延与第二往返时延队列中的最小值相近,并且发送端的当前发送速率与上一周期的上行发送带宽预测值相近,并且往返时延的变化趋势与丢包率的变化趋势均稳定,则说明当前的网络情况较好,并且上一周期的上行发送带宽预测值已与实际的网络带宽值较为接近,此时可以采用较为谨慎的提升带宽策略确定当前周期的上行发送带宽预测值,即终端设备可以通过在上一周期的上行发送带宽预测值的基础上增加预设调整步长的方式,确定当前周期的上行发送带宽预测值。
应理解,上述预设调整步长可以根据实际情况进行设定,在此不对该预设调整步长做具体限定。此外,在实际应用中,除了可以将上述实现方式作为第二提升带宽策略外,还可采用其他实现方式作为第二提升带宽策略,在此不对第二提升带宽策略做具体限定。
为了保证对于上行发送带宽预估的准确性,在实际应用中,终端设备还可以根据实际网络变化情况对第二往返时延队列进行更新,例如,在更换接入点导致网络情况变化较大的情况下,第二往返时延队列中记录的往返时延可能对于当前网络情况没有任何参考价值,此时就需要及时地更新第二往返时延队列中的参数,以为后续带宽预估提供更准确的参考指标。
具体的,当上行接收带宽预测值队列中的上行接收带宽预测值均大于上一周期的上行发送带宽预测值,且第一往返时延队列中的往返时延呈增长趋势时,终端设备可以清空第二往返时延队列中已存储的往返时延,重新维护第二往返时延队列。
若上行接收带宽预测值队列中的上行接收带宽预测值均大于上一周期的上行发送带宽预测值,则说明当前预测的网络带宽已足够,但是,第一往返时延队列中的往返时延相比第二往返时延队列整体上发生提升,并且往返时延的变化趋势较为稳定,说明整体往返时延已提升,此时需要对第二往返时延队列中的往返时延进行更新,以保证获得更符合当前网络情况的第二往返时延队列,进而保证第二往返时延队列对于带宽的预测具有较高的参考价值。
上述带宽预测方法采用了周期性发送测试数据包的方式确定往返时延,相比BBR算法中基于反馈ACK的机制确定往返时延,本申请中确定往返时延的方式可以大幅度降低信令开销,节约网络资源。并且上述带宽预测方法采用了新的带宽预测策略,即同时参考上行接收带宽预测值队列、当前发送速率、第一往返时延队列、丢包率队列以及上一周期的上行发送带宽预测值对带宽进行预测,相比BBR算法中仅根据发送速率及其对应的接收速率对带宽进行预测,本申请实施例提供的带宽预测方法可以基于多个维度的数据对网络带宽值进行预测,如此保证网络带宽预测的准确度。
为了便于进一步理解本申请实施例提供的带宽预测方法,下面仍以终端设备作为执行主体,结合图5对本申请实施例提供的带宽预测方法做整体介绍。
参见图5,图5为本申请实施例提供的带宽预测方法的流程示意图。如图5所示,终端设备可以先对联网服务质量(Quality of Service,QoS)数据进行处理,以基于处理后得到的数据确定是否需要对Low RTT队列(即上文中的第二往返时延队列)进行调整;具体的,可以先判断采用目标码率编码的视频传输过程中是否没有丢包,并且此时的RTT是否低于Low RTT队列的平均值,若均是,则将此时的RTT加入Low RTT队列中,并丢弃Low RTT队列中最大的RTT。
若采用目标码率编码的视频传输过程中发生了丢包,和/或此时的RTT不低于LowRTT队列的平均值,进一步判断是否需要对Low RTT队列进行更新;具体的,终端设备可以在上行接收带宽预测值大于上一周期的上行发送带宽预测值,且RTT变化趋势稳定且呈增长趋势时,对Low RTT队列进行更新。其中,上行接收带宽预测值大于上一周期的上行发送带宽预测值,且RTT变化趋势稳定且呈增长趋势,具体是指,上行接收带宽预测值队列中的上行接收带宽预测值均大于上一周期的上行发送带宽预测值,且RTT队列(即上文中的第一往返时延队列)中的RTT变化趋势稳定且呈增长趋势时。
在完成对于Low RTT队列的更新后,或者在确定不需要更新Low RTT队列的情况下,获取上行接收带宽预测值队列、发送端的当前发送速率、Low RTT队列、RTT队列、丢包率队列和上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
具体的,终端设备可以先判断上行接收带宽预测值队列中的值是否均大于上一周期的上行发送带宽预测值,若是,则直接采用第一提升带宽策略确定当前周期的上行发送带宽预测值,第一提升带宽策略的具体实现方式详细参见图2所示实施例中的相关介绍;若否,则继续判断RTT的变化趋势和丢包率的变化趋势是否均不稳定,且呈增长趋势,若是,则采用降低带宽策略确定当前周期的上行发送带宽预测值,降低带宽策略的具体实现方式详细参见图2所示实施例中的相关介绍;若否,则继续判断RTT与Low RTT是否相近,以及RTT的变化趋势和丢包率的变化趋势是否均稳定,若是,则采用第二提升带宽策略确定当前周期的上行发送带宽预测值,第二提升带宽策略的具体实现方式详细参见图2所示实施例中的相关介绍;若否,则更新预估带宽。其中,判断RTT与Low RTT是否相近,具体是指,判断RTT队列中最近的RTT与Low RTT队列中的最小值是否相近。更新预估带宽可以是直接将上一周期的上行发送带宽预测值作为当前周期的上行发送带宽预测值。
采用本申请实施例提供的带宽预测方法,可以在各种网络场景中精准地预测带宽,例如,在高丢包、高抖动、限带宽、高RTT及上述情况的组合场景下,均能良好地适应,实现带宽的准确预测,进而,能够对编码、重传、数据冗余等进行合理地分配,保证获得更优质的QoS。
参见图6,图6中的601为在限制带宽为300kpbs的场景下,不对带宽进行预估时发送端码率和接收端帧率对应的效果图,如601所示,在不对带宽进行预估,直接按照目标码率传输视频的场景中,会持续超发,并且在接收端会出现持续的卡顿,601中接收端帧率曲线图中的竖线即表征接收端出现的卡顿次数;图6中的602为在限制带宽为300kpbs的场景下,采用本申请提供的带宽预测方法对带宽进行准确预估的时发送端码率和接收端帧率对应的效果图,如602所示,绝大多数时间能保持发送速率在带宽以下,并且接收端能够平稳地接收视频进行渲染,不产生任何卡顿,提升了接收端视频播放的流畅性。。
针对上文描述的带宽预测方法,本申请还提供了对应的带宽预测装置,以使上述带宽预测方法在实际中得以应用和实现。
参见图7,图7是与上文图2所示的带宽预测方法对应的一种带宽预测装置700的结构示意图,该带宽预测装置700包括:
第一获取模块701,用于获取接收端的上行接收带宽预测值队列,所述上行接收带宽预测值队列用于存储最近的第一预设数量周期的上行接收带宽预测值;
第二获取模块702,用于获取发送端的当前发送速率、第一往返时延队列和丢包率队列以及上一周期的上行发送带宽预测值;所述第一往返时延队列用于存储最近的第二预设数量周期的往返时延;其中,每个周期的往返时延是根据所述发送端在每个周期内发送用于预测带宽的测试数据包的发送时间以及所述发送端接收到所述接收端针对所述测试数据包而反馈的测试响应数据包的接收时间而确定的;所述丢包率队列用于存储最近的第三预设数量周期的丢包率;
带宽预测模块703,用于根据所述上行接收带宽预测值队列、所述当前发送速率、所述第一往返时延队列和所述丢包率队列以及所述上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
可选的,在图7所示的带宽预测装置的基础上,所述带宽预测模块703具体用于:
确定所述上行接收带宽预测值队列中的值是否均大于所述上一周期的上行发送带宽预测值得到第一比较结果;
根据所述第一往返时延队列确定往返时延的变化趋势,并根据所述丢包率队列确定丢包率的变化趋势;
根据所述第一比较结果、所述往返时延的变化趋势、所述丢包率的变化趋势以及所述当前发送速率和所述上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
可选的,在图7所示的带宽预测装置的基础上,所述装置还包括:
第三获取模块,用于获取第二往返时延队列,所述第二往返时延队列用于存储最近的预设数量个最小往返时延;
则所述带宽预测模块703,具体用于:
根据所述上行接收带宽预测值队列、所述当前发送速率、所述第一往返时延队列、所述第二往返时延队列和所述丢包率队列以及所述上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
可选的,在图7所示的带宽预测装置的基础上,所述带宽预测模块703具体用于:
确定所述上行接收带宽预测值队列中的值是否均大于所述上一周期的上行发送带宽预测值得到第一比较结果;
根据所述第二往返时延队列和所述第一往返时延队列确定往返时延的变化趋势,并根据所述丢包率队列确定丢包率的变化趋势;
根据所述第一比较结果、所述往返时延的变化趋势、所述丢包率的变化趋势以及所述当前发送速率和所述上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
可选的,在图7所示的带宽预测装置的基础上,所述带宽预测模块703具体用于:
当所述第一比较结果表示为是时,基于第一提升带宽策略确定当前周期的上行发送带宽预测值;所述第一提升带宽策略指示基于所述上行接收带宽预测值队列中最小值和所述上一周期的上行发送带宽预测值确定当前周期的上行发送带宽预测值;
当所述第一比较结果表示为否且所述往返时延的变化趋势和所述丢包率的变化趋势均为增长趋势时,基于降低带宽策略确定当前周期的上行发送带宽预测值;所述降低带宽策略指示基于所述丢包率队列和所述上一周期的上行发送带宽预测值确定当前周期的上行带宽预测值;
当所述第一比较结果表示为否且在所述当前发送速率与所述上一周期的上行发送带宽预测值相近且在所述往返时延的变化趋势和所述丢包率的变化趋势均为稳定趋势的情况下,基于第二提升带宽策略确定当前周期的上行发送带宽预测值,所述当前周期的上行发送带宽预测值为所述上一周期的上行发送带宽预测值和预设调整步长的和值。
可选的,在图7所示的带宽预测装置的基础上,所述带宽预测模块703具体用于:
获取与当前业务需求匹配的预设调整系数;
确定所述上行接收带宽预测值队列中最小上行接收速率与所述预设调整系数的比值,作为第一调整值T1;
将所述第一调整值和所述上一周期的上行发送带宽预测值中的最大值确定为当前周期的上行发送带宽预测值。
可选的,在图7所示的带宽预测装置的基础上,所述带宽预测模块703具体用于:
当所述上行接收带宽预测值队列中的最近上行接收带宽预测值不小于所述上一周期的上行带宽预测值时,根据T2=(1-average_loss/2)*dec_rate确定第二调整值T2,所述average_loss是根据所述丢包率队列中的距离当前时刻最近的第四预设周期的丢包率确定的平均丢包率,所述dec_rate为所述当前发送速率;
将所述上一周期的上行发送带宽预测值与预设下降步长的差值作为第三调整值;
将所述第二调整值和所述第三调整值中的最小值确定为当前周期的上行发送带宽预测值。
可选的,在图7所示的带宽预测装置的基础上,所述带宽预测模块703具体用于:
当所述上行接收带宽预测值队列中的最近上行接收带宽预测值小于所述上一周期的上行发送带宽预测值时,确定所述上行接收带宽预测值队列中最小上行接收速率与当前业务需求匹配的预设调整系数的比值,作为第一调整值T1;
根据T2=(1-average_loss/2)*dec_rate确定第二调整值T2,所述average_loss是根据所述丢包率队列中的距离当前时刻最近的第四预设周期的丢包率确定的平均丢包率,所述dec_rate为所述当前发送速率;
将所述上一周期的上行发送带宽预测值与预设下降步长的差值作为第三调整值;
根据T4=(1-average_loss)*dec_rate确定第四调整值T4;
从所述第四调整值和所述第一调整值中选择最大值作为第五调整值;
从所述第二调整值和所述第三调整值中选择最小值作为第六调整值;
将所述第五调整值和所述第六调整值中的最小值确定为当前周期的上行发送带宽预测值。
可选的,在图7所示的带宽预测装置的基础上,参见图8,图8为本申请实施例提供的另一种带宽预测装置的结构示意图,如图8所示,该带宽预测装置还包括:
更新模块801,用于当所述上行接收带宽预测值队列中的上行接收带宽预测值均大于所述上一周期的上行发送带宽预测值,且所述第一往返时延队列中的往返时延呈增长趋势时,则清空所述第二往返时延队列中已有数据,重新维护所述第二往返时延队列。
上述带宽预测装置采用了周期性发送测试数据包的方式确定往返时延,能够大幅度降低信令开销,节约网络资源。并且上述带宽预测装置采用了新的带宽预测策略,即同时参考上行接收带宽预测值队列、当前发送速率、第一往返时延队列、丢包率队列以及上一周期的上行发送带宽预测值对带宽进行预测,该带宽预测策略综合参考了多个维度的数据,有效地保证了带宽预测的准确性。
本申请实施例还提供了一种用于预测带宽的终端设备和服务器,下面将从硬件实体化的角度对本申请实施例提供的用于预测带宽的终端设备和服务器进行介绍。
参见图9,为本申请实施例提供的一种终端设备的结构示意图。为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(英文全称:Personal DigitalAssistant,英文缩写:PDA)、销售终端(英文全称:Point of Sales,英文缩写:POS)、车载电脑等任意终端设备,以终端为手机为例:
图9示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图9,手机包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路910、存储器920、输入单元930、显示单元940、传感器950、音频电路960、无线保真(英文全称:wireless fidelity,英文缩写:WiFi)模块970、处理器980、以及电源990等部件。本领域技术人员可以理解,图9中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器980是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器980可包括一个或多个处理单元;优选的,处理器980可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器980中。
在本申请实施例中,该终端所包括的处理器980还具有以下功能:
获取接收端的上行接收带宽预测值队列,所述上行接收带宽预测值队列用于存储最近的第一预设数量周期的上行接收带宽预测值;
获取发送端的当前发送速率、第一往返时延队列和丢包率队列以及上一周期的上行发送带宽预测值;所述第一往返时延队列用于存储最近的第二预设数量周期的往返时延;其中,每个周期的往返时延是根据所述发送端在每个周期内发送用于预测带宽的测试数据包的发送时间以及所述发送端接收到所述接收端针对所述测试数据包而反馈的测试响应数据包的接收时间而确定的;所述丢包率队列用于存储最近的第三预设数量周期的丢包率;
根据所述上行接收带宽预测值队列、所述当前发送速率、所述第一往返时延队列和所述丢包率队列以及所述上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
可选的,所述处理器980还用于执行本申请实施例提供的带宽预测方法的任意一种实现方式的步骤。
本申请实施例还提供了一种服务器,图10是本申请实施例提供的一种服务器的结构示意图,该服务器1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1022(例如,一个或一个以上处理器)和存储器1032,一个或一个以上存储应用程序1042或数据1044的存储介质1030(例如一个或一个以上海量存储设备)。其中,存储器1032和存储介质1030可以是短暂存储或持久存储。存储在存储介质1030的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1022可以设置为与存储介质1030通信,在服务器1000上执行存储介质1030中的一系列指令操作。
服务器1000还可以包括一个或一个以上电源1026,一个或一个以上有线或无线网络接口1050,一个或一个以上输入输出接口1058,和/或,一个或一个以上操作系统1041,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图10所示的服务器结构。
其中,CPU 1022用于执行如下步骤:
获取接收端的上行接收带宽预测值队列,所述上行接收带宽预测值队列用于存储最近的第一预设数量周期的上行接收带宽预测值;
获取发送端的当前发送速率、第一往返时延队列和丢包率队列以及上一周期的上行发送带宽预测值;所述第一往返时延队列用于存储最近的第二预设数量周期的往返时延;其中,每个周期的往返时延是根据所述发送端在每个周期内发送用于预测带宽的测试数据包的发送时间以及所述发送端接收到所述接收端针对所述测试数据包而反馈的测试响应数据包的接收时间而确定的;所述丢包率队列用于存储最近的第三预设数量周期的丢包率;
根据所述上行接收带宽预测值队列、所述当前发送速率、所述第一往返时延队列和所述丢包率队列以及所述上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
可选的,CPU 1022还可以用于执行本申请实施例中带宽预测方法的任意一种实现方式的步骤。
本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的一种带宽预测方法中的任意一种实施方式。
本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的一种带宽预测方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储计算机程序的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (15)
1.一种带宽预测方法,其特征在于,包括:
获取接收端的上行接收带宽预测值队列,所述上行接收带宽预测值队列用于存储最近的第一预设数量周期的上行接收带宽预测值;
获取发送端的当前发送速率、第一往返时延队列和丢包率队列以及上一周期的上行发送带宽预测值;所述第一往返时延队列用于存储最近的第二预设数量周期的往返时延;其中,每个周期的往返时延是根据所述发送端在每个周期内发送用于预测带宽的测试数据包的发送时间以及所述发送端接收到所述接收端针对所述测试数据包而反馈的测试响应数据包的接收时间而确定的;所述丢包率队列用于存储最近的第三预设数量周期的丢包率;
根据所述上行接收带宽预测值队列、所述当前发送速率、所述第一往返时延队列和所述丢包率队列以及所述上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
2.根据权利要求1所述方法,其特征在于,所述根据所述上行接收带宽预测值队列、所述当前发送速率、所述第一往返时延队列和所述丢包率队列以及所述上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值,包括:
确定所述上行接收带宽预测值队列中的值是否均大于所述上一周期的上行发送带宽预测值得到第一比较结果;
根据所述第一往返时延队列确定往返时延的变化趋势,并根据所述丢包率队列确定丢包率的变化趋势;
根据所述第一比较结果、所述往返时延的变化趋势、所述丢包率的变化趋势以及所述当前发送速率和所述上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
3.根据权利要求1所述方法,其特征在于,所述方法还包括:
获取第二往返时延队列,所述第二往返时延队列用于存储最近的预设数量个最小往返时延;
则所述根据所述上行接收带宽预测值队列、所述当前发送速率、所述第一往返时延队列和所述丢包率队列以及所述上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值,包括:
根据所述上行接收带宽预测值队列、所述当前发送速率、所述第一往返时延队列、所述第二往返时延队列和所述丢包率队列以及所述上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
4.根据权利要求3所述方法,其特征在于,所述根据所述上行接收带宽预测值队列、所述当前发送速率、所述第一往返时延队列、所述第二往返时延队列和所述丢包率队列以及所述上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值,包括:
确定所述上行接收带宽预测值队列中的值是否均大于所述上一周期的上行发送带宽预测值得到第一比较结果;
根据所述第二往返时延队列和所述第一往返时延队列确定往返时延的变化趋势,并根据所述丢包率队列确定丢包率的变化趋势;
根据所述第一比较结果、所述往返时延的变化趋势、所述丢包率的变化趋势以及所述当前发送速率和所述上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
5.根据权利要求2或4所述方法,其特征在于,所述根据所述第一比较结果、所述往返时延的变化趋势、所述丢包率的变化趋势以及所述当前发送速率和所述上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值,包括:
当所述第一比较结果表示为是时,基于第一提升带宽策略确定当前周期的上行发送带宽预测值;所述第一提升带宽策略指示基于所述上行接收带宽预测值队列中最小值和所述上一周期的上行发送带宽预测值确定当前周期的上行发送带宽预测值;
当所述第一比较结果表示为否且所述往返时延的变化趋势和所述丢包率的变化趋势均为不稳定且增长趋势时,基于降低带宽策略确定当前周期的上行发送带宽预测值;所述降低带宽策略指示基于所述丢包率队列和所述上一周期的上行发送带宽预测值确定当前周期的上行带宽预测值;
当所述第一比较结果表示为否且在所述当前发送速率与所述上一周期的上行发送带宽预测值相近且在所述往返时延的变化趋势和所述丢包率的变化趋势均为稳定趋势的情况下,基于第二提升带宽策略确定当前周期的上行发送带宽预测值,所述当前周期的上行发送带宽预测值为所述上一周期的上行发送带宽预测值和预设调整步长的和值。
6.根据权利要求5所述方法,其特征在于,所述基于第一提升带宽策略确定当前周期的上行发送带宽预测值,包括:
获取与当前业务需求匹配的预设调整系数;
确定所述上行接收带宽预测值队列中最小上行接收带宽与所述预设调整系数的比值,作为第一调整值T1;
将所述第一调整值和所述上一周期的上行发送带宽预测值中的最大值确定为当前周期的上行发送带宽预测值。
7.根据权利要求5所述方法,其特征在于,所述基于降低带宽策略确定当前周期的上行发送带宽预测值,包括:
当所述上行接收带宽预测值队列中的最近上行接收带宽预测值不小于所述上一周期的上行带宽预测值时,根据T2=(1-average_loss/2)*dec_rate确定第二调整值T2,所述average_loss是根据所述丢包率队列中最近的第四预设周期的丢包率确定的平均丢包率,所述dec_rate为所述当前发送速率;
将所述上一周期的上行发送带宽预测值与预设下降步长的差值作为第三调整值T3;
将所述第二调整值T2和所述第三调整值T3中的最小值确定为当前周期的上行发送带宽预测值。
8.根据权利要求5所述方法,其特征在于,所述基于降低带宽策略确定当前周期的上行发送带宽预测值,包括:
当所述上行接收带宽预测值队列中的最近上行接收带宽预测值小于所述上一周期的上行发送带宽预测值时,确定所述上行接收带宽预测值队列中最小上行接收带宽与当前业务需求匹配的预设调整系数的比值,作为第一调整值T1;
根据T2=(1-average_loss/2)*dec_rate确定第二调整值T2,所述average_loss是根据所述丢包率队列中的距离当前时刻最近的第四预设周期的丢包率确定的平均丢包率,所述dec_rate为所述当前发送速率;
将所述上一周期的上行发送带宽预测值与预设下降步长的差值作为第三调整值T3;
根据T4=(1-average_loss)*dec_rate确定第四调整值T4;
从所述第四调整值和所述第一调整值中选择最大值作为第五调整值;
从所述第二调整值和所述第三调整值中选择最小值作为第六调整值;
将所述第五调整值和所述第六调整值中的最小值确定为当前周期的上行发送带宽预测值。
9.根据权利要求3或4所述方法,其特征在于,所述方法还包括:
当所述上行接收带宽预测值队列中的上行接收带宽预测值均大于所述上一周期的上行发送带宽预测值,且所述第一往返时延队列中的往返时延呈增长趋势时,则清空所述第二往返时延队列中已有数据,重新维护所述第二往返时延队列。
10.一种带宽预测装置,其特征在于,包括:
第一获取模块,用于获取接收端的上行接收带宽预测值队列,所述上行接收带宽预测值队列用于存储最近的第一预设数量周期的上行接收带宽预测值;
第二获取模块,用于获取发送端的当前发送速率、第一往返时延队列和丢包率队列以及上一周期的上行发送带宽预测值;所述第一往返时延队列用于存储最近的第二预设数量周期的往返时延;其中,每个周期的往返时延是根据所述发送端在每个周期内发送用于预测带宽的测试数据包的发送时间以及所述发送端接收到所述接收端针对所述测试数据包而反馈的测试响应数据包的接收时间而确定的;所述丢包率队列用于存储最近的第三预设数量周期的丢包率;
带宽预测模块,用于根据所述上行接收带宽预测值队列、所述当前发送速率、所述第一往返时延队列和所述丢包率队列以及所述上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
11.根据权利要求10所述装置,其特征在于,所述带宽预测模块,具体用于:
确定所述上行接收带宽预测值队列中的值是否均大于所述上一周期的上行发送带宽预测值得到第一比较结果;
根据所述第一往返时延队列确定往返时延的变化趋势,并根据所述丢包率队列确定丢包率的变化趋势;
根据所述第一比较结果、所述往返时延的变化趋势、所述丢包率的变化趋势以及所述当前发送速率和所述上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
12.根据权利要求10所述装置,其特征在于,所述装置还包括:
第三获取模块,用于获取第二往返时延队列,所述第二往返时延队列用于存储最近的预设数量个最小往返时延;
则所述带宽预测模块,具体用于:
根据所述上行接收带宽预测值队列、所述当前发送速率、所述第一往返时延队列、所述第二往返时延队列和所述丢包率队列以及所述上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
13.根据权利要求12所述装置,其特征在于,所述带宽预测模块,具体用于:
确定所述上行接收带宽预测值队列中的值是否均大于所述上一周期的上行发送带宽预测值得到第一比较结果;
根据所述第二往返时延队列和所述第一往返时延队列确定往返时延的变化趋势,并根据所述丢包率队列确定丢包率的变化趋势;
根据所述第一比较结果、所述往返时延的变化趋势、所述丢包率的变化趋势以及所述当前发送速率和所述上一周期的上行发送带宽预测值,确定当前周期的上行发送带宽预测值。
14.一种带宽预测设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行权利要求1至9中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910690505.8A CN110266551B (zh) | 2019-07-29 | 2019-07-29 | 一种带宽预测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910690505.8A CN110266551B (zh) | 2019-07-29 | 2019-07-29 | 一种带宽预测方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110266551A CN110266551A (zh) | 2019-09-20 |
CN110266551B true CN110266551B (zh) | 2021-06-25 |
Family
ID=67912195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910690505.8A Active CN110266551B (zh) | 2019-07-29 | 2019-07-29 | 一种带宽预测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110266551B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110784684A (zh) * | 2019-10-21 | 2020-02-11 | 华中科技大学 | 数据处理方法、装置及设备 |
CN111190745B (zh) * | 2019-11-05 | 2024-01-30 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及计算机可读存储介质 |
CN111225254B (zh) * | 2020-01-20 | 2023-04-18 | 视联动力信息技术股份有限公司 | 一种视频传输方法、装置、终端设备及存储介质 |
CN111447108B (zh) * | 2020-03-23 | 2022-12-06 | 中电福富信息科技有限公司 | 基于深度学习的渐进式时延带宽测速分析方法及其系统 |
CN111836297B (zh) * | 2020-06-30 | 2022-07-08 | 珠海云洲智能科技股份有限公司 | 通信链路参数的预测方法、装置及终端设备 |
CN112187651B (zh) * | 2020-09-09 | 2022-06-21 | 苏州浪潮智能科技有限公司 | 一种流量调度方法、装置、设备及可读介质 |
CN112637055B (zh) * | 2020-12-02 | 2023-02-07 | 广东中兴新支点技术有限公司 | 基于vpn隧道的多链路聚合方法、系统及存储介质 |
CN115118600A (zh) * | 2021-03-18 | 2022-09-27 | 华为技术有限公司 | 调整出接口的物理带宽的方法、装置及存储介质 |
CN113067750B (zh) * | 2021-03-24 | 2023-05-30 | 北京字节跳动网络技术有限公司 | 带宽测量方法、设备及电子设备 |
CN113115078B (zh) * | 2021-04-09 | 2022-08-16 | 浙江大华技术股份有限公司 | 带宽的调整方法及装置 |
CN113141277B (zh) * | 2021-05-19 | 2022-11-22 | 北京安信智通科技有限公司 | 传输带宽的确定方法、装置以及存储介质 |
CN113542215B (zh) * | 2021-05-31 | 2023-04-25 | 浙江大华技术股份有限公司 | 一种提升流媒体传输性能的方法及相关装置 |
CN113423122B (zh) * | 2021-06-03 | 2023-01-31 | Oppo广东移动通信有限公司 | 上行速率的调节方法、装置、电子设备和存储介质 |
CN113453004B (zh) * | 2021-06-28 | 2022-12-27 | 苏州科达科技股份有限公司 | 视频编码速率调节方法、系统、设备及存储介质 |
CN113453045B (zh) * | 2021-06-28 | 2023-03-14 | 苏州科达科技股份有限公司 | 网络带宽预测方法、系统、设备及存储介质 |
CN113839830B (zh) * | 2021-07-15 | 2023-10-24 | 腾讯科技(深圳)有限公司 | 数据包多发参数的预测方法、装置与存储介质 |
CN113726562A (zh) * | 2021-08-19 | 2021-11-30 | 中国电子科技集团公司第二十八研究所 | 空管系统间监视信息传输所需网络通信带宽评估方法 |
CN115150283B (zh) * | 2022-09-05 | 2022-11-22 | 腾讯科技(深圳)有限公司 | 网络带宽探测方法、装置、计算机设备和存储介质 |
CN116055364B (zh) * | 2023-03-06 | 2023-06-16 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种测量最大上行带宽的方法和装置 |
CN117560531B (zh) * | 2024-01-11 | 2024-04-05 | 淘宝(中国)软件有限公司 | 一种带宽探测方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905263A (zh) * | 2012-12-26 | 2014-07-02 | 中国移动通信集团公司 | 一种业务带宽测试方法及装置 |
CN105430532A (zh) * | 2015-11-18 | 2016-03-23 | 南京创维信息技术研究院有限公司 | 一种视频数据传输自适应调整的控制方法及其系统 |
CN106357453A (zh) * | 2016-09-30 | 2017-01-25 | 邦彦技术股份有限公司 | 一种带宽自适应控制系统及方法 |
CN109587073A (zh) * | 2019-01-07 | 2019-04-05 | 北京三体云联科技有限公司 | 网络拥塞控制方法、装置及终端设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9137163B2 (en) * | 2010-08-04 | 2015-09-15 | Kryterion, Inc. | Optimized data stream upload |
-
2019
- 2019-07-29 CN CN201910690505.8A patent/CN110266551B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905263A (zh) * | 2012-12-26 | 2014-07-02 | 中国移动通信集团公司 | 一种业务带宽测试方法及装置 |
CN105430532A (zh) * | 2015-11-18 | 2016-03-23 | 南京创维信息技术研究院有限公司 | 一种视频数据传输自适应调整的控制方法及其系统 |
CN106357453A (zh) * | 2016-09-30 | 2017-01-25 | 邦彦技术股份有限公司 | 一种带宽自适应控制系统及方法 |
CN109587073A (zh) * | 2019-01-07 | 2019-04-05 | 北京三体云联科技有限公司 | 网络拥塞控制方法、装置及终端设备 |
Non-Patent Citations (1)
Title |
---|
面向业务的带宽预测及分配方法的研究;张一丹 等;《通讯世界》;20160126;第24-25页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110266551A (zh) | 2019-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110266551B (zh) | 一种带宽预测方法、装置、设备及存储介质 | |
JP6943337B2 (ja) | 受信した体感品質情報に基づくリソース割り当ての最適化 | |
JP6178523B2 (ja) | 要求マネージャおよび接続マネージャの機能を実装するトランスポートアクセラレータ | |
US9215637B2 (en) | Buffer-aware radio resource management | |
CN105284077B (zh) | 互联网协议电话带宽管理方法 | |
US10271345B2 (en) | Network node and method for handling a process of controlling a data transfer related to video data of a video streaming service | |
CN109818874B (zh) | 数据传输方法、设备及计算机存储介质 | |
US20150215922A1 (en) | Method and apparatus for traffic distribution control in heterogeneous wireless networks | |
CN110809288B (zh) | 一种网络拥塞控制方法、装置、设备及介质 | |
CN110856214B (zh) | 一种tcp拥塞控制方法及装置 | |
WO2015069944A1 (en) | Systems and methods for proactive congestion detection in radio access networks | |
US20210400338A1 (en) | Systems and methods of video jitter estimation | |
JP5565601B2 (ja) | アドミッション制御のための通信装置、方法、及びコンピューター実施可能製品 | |
CN106921860B (zh) | 一种端到端的视频发送方法及装置 | |
JPWO2019244966A1 (ja) | 通信装置、通信方法及びプログラム | |
WO2011013768A1 (ja) | 無線端末及び伝送速度予測方法 | |
EP3366060B1 (en) | Allocating radio resources in a cellular network | |
KR101837637B1 (ko) | 클라이언트 측 ack 조정 기반 적응 스트리밍 방법 및 장치 | |
US10819582B2 (en) | Traffic optimization device and traffic optimization method | |
US10298475B2 (en) | System and method for jitter-aware bandwidth estimation | |
CN110290552B (zh) | 缓存深度的测量方法和装置、存储介质、电子装置 | |
JPWO2014171543A1 (ja) | データ送信装置、データ送信方法、及びそのプログラム | |
KR101835387B1 (ko) | 단말기 및 그 단말기에서 자원 스케줄링 방법 | |
WO2019124290A1 (ja) | 送信データ量制御装置、方法および記録媒体 | |
CN112511702A (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 |