CN110290428B - 一种拥塞控制方法、装置、终端及存储介质 - Google Patents
一种拥塞控制方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN110290428B CN110290428B CN201910561023.2A CN201910561023A CN110290428B CN 110290428 B CN110290428 B CN 110290428B CN 201910561023 A CN201910561023 A CN 201910561023A CN 110290428 B CN110290428 B CN 110290428B
- Authority
- CN
- China
- Prior art keywords
- target
- stage
- network parameter
- historical
- code rate
- 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
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64723—Monitoring of network processes or resources, e.g. monitoring of network load
- H04N21/64738—Monitoring network characteristics, e.g. bandwidth, congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64784—Data processing by the network
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种拥塞控制方法、装置、终端及存储介质,在满足网络参数测量条件的情况下,触发进入目标网络参数测量阶段;依据在最近一次历史网络参数测量阶段中测得的历史网络参数及在最近一次历史带宽探测阶段中测得的历史发送数据量,确定码率降低系数;依据码率降低系数,得到目标数据传输码率,依据目标数据传输码率发送数据包;在超过目标网络参数测量阶段的持续时长时,计算在目标网络参数测量阶段的持续时长内的目标网络参数,并触发进入目标带宽探测阶段;目标带宽探测阶段,依据目标网络参数计算目标发送数据量。不会对网络中的实时带宽降低太多,因而不会导致网络整体数据传输带宽的下降,有利于减小对视频传输质量的影响。
Description
技术领域
本发明涉及通信技术领域,更具体的说,是涉及一种拥塞控制方法、装置、终端及存储介质。
背景技术
在网络数据传输过程中,经常会由于网络数据量过大或网络传输带宽限制等原因,导致网络数据发生拥塞,影响网络传输性能。为了解决网络数据拥塞的问题,通常采用BBR(Bottleneck Bandwidth and Round-trip propagation time,瓶颈带宽和往返传播时间)拥塞控制方法,来调整发送端发送的数据量。BBR拥塞控制方法分为四个阶段,分别为STARTUP阶段、DRAIN阶段、PROBE_BW阶段以及PROBE_RTT阶段。
STARTUP阶段为连接建立阶段,DRAIN阶段为排空阶段,经过STARTUP阶段与DRAIN阶段之后,进入稳定状态,在稳定状态,交替执行PROBE_BW阶段以及PROBE_RTT阶段,PROBE_BW阶段主要进行带宽探测,PROBE_RTT阶段主要进行延迟探测,延迟探测阶段采用每次只发四个数据包的策略,探测最小RTT,探测到最小RTT之后,则进入PROBE_BW阶段,在PROBE_BW阶段利用探测到的最大带宽以及最小RTT来计算发送端每次需要发送的数据量,并将计算结果通知发送端,使得发送端按照计算出来的数据量来发送数据,起到拥塞控制的目的。
由于上述拥塞控制方法的PROBE_RTT阶段采用的是每次只发四个数据包的策略,该策略相当于几乎不发包,对实时带宽降低较多,会造成网络整体数据传输带宽下降,影响视频传输质量。
发明内容
有鉴于此,本发明提供了一种拥塞控制方法、装置、终端及存储介质,以克服现有技术中的拥塞控制方法造成网络整体数据传输带宽下降,影响视频传输质量的问题。
为实现上述目的,一方面,本申请提供了一种拥塞控制方法,包括:
在满足网络参数测量条件的情况下,触发进入目标网络参数测量阶段;
依据在最近一次历史网络参数测量阶段中测得的历史网络参数,以及在最近一次历史带宽探测阶段中测得的历史发送数据量,确定码率降低系数;
依据所述码率降低系数,降低原始数据传输码率,得到目标数据传输码率,并依据目标数据传输码率发送数据包;
在超过目标网络参数测量阶段的持续时长时,计算在所述目标网络参数测量阶段的持续时长内的目标网络参数,并触发进入目标带宽探测阶段;
在所述目标带宽探测阶段,依据所述目标网络参数计算目标发送数据量,所述目标发送数据量为在所述目标带宽探测阶段计算出的发送端需要发送的数据量。
又一方面,本申请还提供了一种拥塞控制装置,所述装置包括:
触发进入单元,用于在满足网络参数测量条件的情况下,触发进入目标网络参数测量阶段;
码率降低系数确定单元,用于依据在最近一次历史网络参数测量阶段中测得的历史网络参数,以及在最近一次历史带宽探测阶段中测得的历史发送数据量,确定码率降低系数;
目标数据传输码率获取单元,用于依据所述码率降低系数,降低原始数据传输码率,得到目标数据传输码率;
数据包发送单元,用于依据目标数据传输码率发送数据包;
目标网络参数计算单元,用于在超过目标网络参数测量阶段的持续时长时,计算在所述目标网络参数测量阶段的持续时长内的目标网络参数,并触发进入目标带宽探测阶段;
数据量计算单元,用于在所述目标带宽探测阶段,依据所述目标网络参数计算目标发送数据量,所述目标发送数据量为在所述目标带宽探测阶段计算出的发送端需要发送的数据量。
又一方面,本申请还提供了一种终端,包括:
处理器和存储器;
所述处理器,用于调用并执行所述存储器中存储的程序;
所述存储器用于存储所述程序,所述程序至少用于:
在满足网络参数测量条件的情况下,触发进入目标网络参数测量阶段;
依据在最近一次历史网络参数测量阶段中测得的历史网络参数,以及在最近一次历史带宽探测阶段中测得的历史发送数据量,确定码率降低系数;
依据所述码率降低系数,降低原始数据传输码率,得到目标数据传输码率,并依据目标数据传输码率发送数据包;
在超过目标网络参数测量阶段的持续时长时,计算在所述目标网络参数测量阶段的持续时长内的目标网络参数,并触发进入目标带宽探测阶段;
在所述目标带宽探测阶段,依据所述目标网络参数计算目标发送数据量,所述目标发送数据量为在所述目标带宽探测阶段计算出的发送端需要发送的数据量。
又一方面,本申请还提供了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上所述的拥塞控制方法。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种拥塞控制方法、装置、终端及存储介质,所述方法包括:在满足网络参数测量条件的情况下,触发进入目标网络参数测量阶段;依据在最近一次历史网络参数测量阶段中测得的历史网络参数,以及在最近一次历史带宽探测阶段中测得的历史发送数据量,确定码率降低系数;依据所述码率降低系数,降低原始数据传输码率,得到目标数据传输码率,并依据目标数据传输码率发送数据包;在超过目标网络参数测量阶段的持续时长时,计算在所述目标网络参数测量阶段的持续时长内的目标网络参数,并触发进入目标带宽探测阶段;在所述目标带宽探测阶段,依据所述目标网络参数计算目标发送数据量,所述目标发送数据量为在所述目标带宽探测阶段计算出的发送端需要发送的数据量。由于本申请可以依据历史网络参数以及历史发送数据量确定码率降低系数,从而依据所述码率降低系数,得到目标数据传输码率,进而在目标网络参数测量阶段,依据目标数据传输码率发送数据包,也就是说,本申请在目标网络参数测量阶段数据包的传输码率参考了能够反应网络拥塞状况的历史网络参数以及历史发送数据量,从而依据目标数据传输码率发送数据包,不会对网络中的实时带宽降低太多,因而不会导致网络整体数据传输带宽的下降,有利于减小对视频传输质量的影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的终端的一种组成结构示意图;
图2为本发明实施例提供的一种拥塞控制方法的流程示意图;
图3为本发明实施例提供的另一种拥塞控制方法的流程示意图;
图4为本发明实施例提供的一种拥塞控制方法应用的网络架构示意图;
图5为本发明实施例提供的一种数据发送过程流程图;
图6为本发明实施例提供的一种拥塞控制装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,为了对网络拥塞状况进行控制,现有技术中采用的是BBR拥塞控制方法,BBR拥塞控制方法分为四个阶段,分别为STARTUP阶段、DRAIN阶段、PROBE_BW阶段以及PROBE_RTT阶段。
STARTUP阶段为连接建立阶段,在该阶段采用指数增加数据发送码率,使得发送数据尽可能快的占满通信管道,通信管道被占满后,开始占用缓冲器,接下来进入DRAIN阶段。
DRAIN阶段为排空阶段,采用指数降低数据发送码率,将缓冲器中的数据慢慢排空。
完成上面两步,进入稳定状态,在稳定状态,交替执行PROBE_BW阶段以及PROBE_RTT阶段,交替执行过程为:首先进入PROBE_BW阶段,PROBE_BW阶段为带宽探测阶段,PROBE_BW阶段中改变数据发送码率进行带宽探测,具体为先在一个RTT时间内增加数据发送码率,探测最大带宽,直到RTT没有变化后减小发送码率排空前一个RTT多发出来的数据。在该阶段,除了进行带宽探测之外,还计算发送端每次需要发送的数据量,每过10秒,如果估计RTT(往返时延,Round-Trip Time)不变,就进入PROBE_RTT阶段。
PROBE_RTT阶段为延迟探测阶段,该阶段采用每次只发四个数据包的策略,排空链路上的数据包,探测最小RTT,探测到最小RTT之后,则重新进入PROBE_BW阶段,在PROBE_BW阶段处理再次探测最大带宽之外,还利用探测到的最大带宽以及最小RTT来计算发送端每次需要发送的数据量,并将计算结果通知发送端,使得发送端按照计算出来的数据量来发送数据,起到拥塞控制的目的。在PROBE_BW阶段,每过10秒,如果估计延迟不变,则继续进入PROBE_RTT阶段重复执行上述过程。
由于上述拥塞控制方法的PROBE_RTT阶段采用的是每次只发四个数据包的策略,该策略相当于几乎不发包,对实时带宽降低较多,会造成网络整体数据传输带宽下降,影响视频传输质量。
基于此,本申请技术方案为了解决上述技术问题,在拥塞控制算法中增加了目标网络参数测量阶段,在该阶段中主要用来测量目标网络参数,从而在所述目标带宽探测阶段,可以利用测量的目标网络参数计算发送端需要发送的数据量,使得发送端按照计算出的数据量来发送数据包,起到拥塞控制的目的。并且,由于本申请可以依据历史网络参数以及历史发送数据量确定码率降低系数,从而依据所述码率降低系数,得到目标数据传输码率,进而在目标网络参数测量阶段,依据目标数据传输码率发送数据包,也就是说,本申请在目标网络参数测量阶段数据包的传输码率参考了能够反应网络拥塞状况的历史网络参数以及历史发送数据量,从而依据目标数据传输码率发送数据包,不会对网络中的实时带宽降低太多,因而不会导致网络整体数据传输带宽的下降,有利于减小对视频传输质量的影响。
本申请的方案可以适用于手机、平板电脑等终端。
为了便于理解,先对本申请实施例的拥塞控制方法所适用的终端进行介绍。如图1所示,其示出了本申请的方案所适用的终端的一种组成结构示意图。在图1中,该终端100可以包括:处理器101和存储器102。
该终端100还可以包括:通信接口103、输入单元104和显示器105和通信总线106。
处理器101、存储器102、通信接口103、输入单元104、显示器105、均通过通信总线106完成相互间的通信。
在本申请实施例中,该处理器101,可以为中央处理器(Central ProcessingUnit,CPU),现成可编程门阵列(FPGA)或者其他可编程逻辑器件等。
该处理器可以调用存储器102中存储的程序,具体的,可以处理器可以执行以下方法实施例中终端侧所执行的操作。
存储器102中用于存放一个或者一个以上程序,程序可以包括程序代码,所述程序代码包括计算机操作指令,在本申请实施例中,该存储器中至少存储有用于实现以下功能的程序:
在满足网络参数测量条件的情况下,触发进入目标网络参数测量阶段;
依据在最近一次历史网络参数测量阶段中测得的历史网络参数,以及在最近一次历史带宽探测阶段中测得的历史发送数据量,确定码率降低系数;
依据所述码率降低系数,降低原始数据传输码率,得到目标数据传输码率,并依据目标数据传输码率发送数据包;
在超过目标网络参数测量阶段的持续时长时,计算在所述目标网络参数测量阶段的持续时长内的目标网络参数,并触发进入目标带宽探测阶段;
在所述目标带宽探测阶段,依据所述目标网络参数计算目标发送数据量,所述目标发送数据量为在所述目标带宽探测阶段计算出的发送端需要发送的数据量。
在一种可能的实现方式中,该存储器102可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、以上所提到的程序等;存储数据区可存储根据终端的使用过程中所创建的数据。
此外,存储器102可以包括高速随机存取存储器,还可以包括非易失性存储器等。该通信接口103可以为通信模块的接口,如GSM模块的接口。该输入单元可以包括感应触摸显示面板上的触摸事件的触摸感应单元、键盘等等。该显示器104包括显示面板,如触摸显示面板等。
当然,图1所示的终端结构并不构成对本申请实施例中终端的限定,在实际应用中终端可以包括比图1所示的更多或更少的部件,或者组合某些部件。
结合以上内容,对本申请的拥塞控制方法进行介绍。
如图2,其示出了本申请一种拥塞控制方法一个实施例的流程示意图,本实施例应用于如上所提到的终端,需要说明的是,本申请公开的一种拥塞控制方法中的网络参数测量阶段以及带宽探测阶段是交替执行的,本实施例包括:
S200、在满足网络参数测量条件的情况下,触发进入目标网络参数测量阶段;
目标网络参数测量阶段主要是在数据包发送过程中,对传输数据包的网络的相关参数进行测量。
需要说明的是,由于本申请中的网络参数测量阶段以及带宽探测阶段是交替执行的,因此,本申请中在距离所述目标网络参数测量阶段最近一次的历史带宽探测阶段中,会实时监测是否满足网络参数测量条件,如果监测到满足网络参数测量条件,则触发从距离所述目标网络参数测量阶段最近一次的历史带宽探测阶段进入目标网络参数测量阶段。
可选的,本申请中公开的在满足网络参数测量条件的情况下,触发进入目标网络参数测量阶段的过程可以包括:
在距离所述目标网络参数测量阶段最近一次的历史带宽探测阶段中,监测在距离所述目标网络参数测量阶段最近一次的历史带宽探测阶段的持续时长内的网络参数是否满足预设参数异常条件;在所述网络参数满足预设参数异常条件的情况下,触发进入目标网络参数测量阶段。
需要说明的是,本申请对网络参数的种类并不做具体限定,只要是能够反应出网络拥塞状况的参数都可以作为本申请中的网络参数。当历史带宽探测阶段的持续时长内的至少一种网络参数满足预设参数异常条件的情况下,都可以触发进入目标网络参数测量阶段。
不同种类的网络参数对应不同的预设参数异常条件,本申请中的预设参数异常条件可以由本领域技术人员依据网络参数的种类以及网络拥塞状况进行设定,本申请并不做具体限定。
举例来说,当网络参数为RTT的情况下,预设参数异常条件可以为RTT低于预设RTT阈值、还可以为RTT高于预设RTT阈值;当网络参数为丢包率的情况下,预设参数异常条件可以为丢包率高于预设丢包率阈值、还可以为丢包率低于预设丢包率阈值;当网络参数为发送端发送的数据包中还未收到接收端响应的数据包的量的情况下,预设参数异常条件可以为发送端发送的数据包中还未收到接收端响应的数据包的量大于预设数据包量阈值,还可以为发送端发送的数据包中还未收到接收端响应的数据包的量小于预设数据包量阈值等,本申请并不做具体限定。
可选的,本申请中公开的在满足网络参数测量条件的情况下,触发进入目标网络参数测量阶段的过程还可以包括:
在距离所述目标网络参数测量阶段最近一次的历史带宽探测阶段中,监测所述历史带宽探测阶段的持续时长;在所述历史带宽探测阶段的持续时长满足预设时长阈值的情况下,触发进入目标网络参数测量阶段。例如:历史带宽探测阶段的持续时长高于预设时长阈值的情况下,触发进入目标网络参数测量阶段。其中,预设时长阈值可以由本领域技术人员依据网络拥塞状况设定,本申请并不做具体限定。
S201、依据在最近一次历史网络参数测量阶段中测得的历史网络参数,以及在最近一次历史带宽探测阶段中测得的历史发送数据量,确定码率降低系数;
最近一次历史网络参数测量阶段为从时间上来看,在历史时间段内,距离当前触发进入的目标网络参数测量阶段时间上最近的一次历史网络参数测量阶段。最近一次历史带宽探测阶段为从时间上来看,在历史时间段内,距离当前触发进入的目标网络参数测量阶段最近的一次历史带宽探测阶段。
本申请对历史网络参数的种类并不做具体限定,只要是在最近一次历史网络参数测量阶段中测得的,能够反应出网络拥塞状况的参数都可以作为本申请中的历史网络参数。
历史发送数据量为在距离当前触发进入的目标网络参数测量阶段最近一次历史带宽探测阶段中测得的发送端需要发送的数据量。
需要说明的是,在第一次进入目标网络参数测量阶段,还没有产生历史网络参数以及历史发送数据量,本申请会分别预先赋予历史网络参数以及历史发送数据量初始值,得到历史网络参数初始值与历史发送数据量初始值,历史网络参数初始值与历史发送数据量初始值并不是实际生成的历史网络参数以及历史发送数据量,而是本领域技术人员依据网络拥塞情况预先设定的初始值,具体数值的大小本申请不做具体限定,具体历史网络参数初始值的种类也可以由本领域技术人员依据网络参数的种类进行设置。
相应的,此步骤会依据历史网络参数初始值与历史发送数据量初始值,确定码率降低系数。
S202、依据所述码率降低系数,降低原始数据传输码率,得到目标数据传输码率,并依据目标数据传输码率发送数据包;
在本申请中采用降低原始数据传输码率,得到目标数据传输码率,以目标数据传输码率发送数据包,在以目标数据传输码率发送数据包的过程中对网络参数进行测量。
S203、在超过目标网络参数测量阶段的持续时长时,计算在所述目标网络参数测量阶段的持续时长内的目标网络参数,并触发进入目标带宽探测阶段;
在超过目标网络参数测量阶段的持续时长时,说明目标网络参数测量阶段结束,在目标网络参数测量阶段结束的时候,计算在所述目标网络参数测量阶段的持续时长内的目标网络参数,并触发进入目标带宽探测阶段。
S204、在所述目标带宽探测阶段,依据所述目标网络参数计算目标发送数据量。
可选的,所述目标发送数据量为在所述目标带宽探测阶段计算出的发送端需要发送的数据量。
在目标带宽探测阶段,主要改变数据发送码率进行带宽探测,具体为先设定一个初始数据发送码率,然后在一个RTT时间内在初始数据发送码率的基础上,增加数据发送码率,探测最大带宽,直到RTT没有变化后减小发送码率排空前一个RTT多发出来的数据。在该阶段,除了进行带宽探测之外,还依据所述目标网络参数以及探测到的最大带宽计算发送端每次需要发送的数据量,并将计算的结果通知发送端,使得发送端按照计算出来的数据量来发送数据,起到拥塞控制的目的。并在目标带宽探测阶段探测到满足网络参数测量条件的情况下,触发进入下一次的目标网络参数测量阶段,重复上述过程,具体内容详见上述内容,本申请不再赘述。
需要说明的是,本申请可以周期性增加数据发送码率,具体增加数据发送码率的方式可以为依据在预设数据发送码率增加周期内测得的最大带宽,以及目标网络参数测量阶段测得的目标网络参数来设定。例如:可以按照如下方式计算增加的数据发送码率的大小:增加的数据发送码率的大小=10*RTT时间段内测得的最大带宽*(1+目标网络参数测量阶段测得的丢包率)。
当然,本申请也可以非周期性增加数据发送码率,在此不做详细介绍。
由于本申请可以依据历史网络参数以及历史发送数据量确定码率降低系数,从而依据所述码率降低系数,得到目标数据传输码率,进而在目标网络参数测量阶段,依据目标数据传输码率发送数据包,也就是说,本申请在目标网络参数测量阶段数据包的传输码率参考了能够反应网络拥塞状况的历史网络参数以及历史发送数据量,从而依据目标数据传输码率发送数据包,不会对网络中的实时带宽降低太多,因而不会导致网络整体数据传输带宽的下降,有利于减小对视频传输质量的影响。
可选的,图3示出了本发明实施例提供的另一种拥塞控制方法的流程图,参照图3,该方法可以包括:
S300、在满足网络参数测量条件的情况下,触发进入目标网络参数测量阶段;
S301、依据在最近一次历史网络参数测量阶段中测得的历史网络参数以及在最近一次历史带宽探测阶段中测得的历史发送数据量,确定网络拥塞系数;
网络拥塞系数为能够表明网络拥塞状况的系数。
下面本发明实施例给出了如下一种依据在最近一次历史网络参数测量阶段中测得的历史网络参数以及在最近一次历史带宽探测阶段中测得的历史发送数据量,计算网络拥塞系数的计算方法,当然,对于其他的依据在最近一次历史网络参数测量阶段中测得的历史网络参数以及在最近一次历史带宽探测阶段中测得的历史发送数据量,计算网络拥塞系数的具体计算方法也属于本申请的保护范围。
cc=flight’/bdp,其中,cc为网络拥塞系数,bdp为在距离目标网络参数测量阶段最近一次历史带宽探测阶段中测得的历史发送数据量,即为在最近一次历史带宽探测阶段中测得的发送端需要发送的数据量;flight’=flight*(avg_rtt/min_rtt),avg_rtt为距离目标网络参数测量阶段最近一次历史网络参数测量阶段中测得的RTT的平均值,min_rtt为距离目标网络参数测量阶段最近一次历史网络参数测量阶段中测得的RTT的最小值,flight为最近一次历史网络参数测量阶段中发送端发送的数据包中还未收到接收端响应的数据包的量,fligh具体可以采用数据包的字节数表示,本申请并不做限定。
S302、依据所述网络拥塞系数确定码率降低系数;
可选的,码率降低系数为k,k=a*cc,a为常数,a的大小可以由本领域技术人员依据网络拥塞状况而确定,本申请并不做具体限定。cc为网络拥塞系数。
S303、依据所述码率降低系数,降低原始数据传输码率,得到目标数据传输码率,并依据目标数据传输码率发送数据包;
依据所述码率降低系数k,将原始数据传输码率降为原来的1/k倍,得到目标数据传输码率,目标数据传输码率=原始数据传输码率*(1/k)。
S304、依据在最近一次历史网络参数测量阶段中测得的历史网络参数,以及在最近一次历史带宽探测阶段中测得的历史发送数据量,确定目标网络参数测量阶段的持续时长;
下面本发明实施例给出了如下一种依据在最近一次历史网络参数测量阶段中测得的历史网络参数,以及在最近一次历史带宽探测阶段中测得的历史发送数据量,确定目标网络参数测量阶段的持续时长的计算方法,当然,对于其他的依据在最近一次历史网络参数测量阶段中测得的历史网络参数,以及在最近一次历史带宽探测阶段中测得的历史发送数据量,确定目标网络参数测量阶段的持续时长的具体计算方法也属于本申请的保护范围。
目标网络参数测量阶段的持续时长为t,t=a*cc+b*w1+c*w2+d;其中,w1=丢包率^1.2,w2=RTT^1.3,a、b、c、d为常数,其中,公式中的^表示乘方运算,w1为丢包率的1.2次方,w2为RTT的1.3次方,a、b、c、d的大小可以由本领域技术人员依据网络拥塞状况而确定,本申请并不做具体限定。cc为网络拥塞系数。
S305、在超过目标网络参数测量阶段的持续时长时,计算在所述目标网络参数测量阶段的持续时长内的目标网络参数,并触发进入目标带宽探测阶段;
可选的,本申请中的所述目标网络参数包括:最小往返时延RTT、最大RTT、平均RTT、丢包率以及在所述目标网络参数测量阶段的持续时长内,发送的数据包中还未收到接收端响应(例如ack响应)的数据包的量中的至少一种。当然,本申请还可以包含其他能够反应网络拥塞状况的目标网络参数的种类,本申请并不做具体限定,只要是能够反应网络拥塞状况的目标网络参数的种类都属于本申请的保护范围。
平均RTT可以依据最小RTT与最大RTT来计算,还可以采用其他方式来计算,本申请并不做具体限定。
S306、在所述目标带宽探测阶段,探测最大带宽;
S307、依据最小RTT、最大RTT、平均RTT、丢包率以及在所述目标网络参数测量阶段的持续时长内,发送的数据包中还未收到接收端响应的数据包的量中的至少一种,以及探测到的最大带宽计算目标发送数据量。
所述目标发送数据量为在所述目标带宽探测阶段计算出的发送端需要发送的数据量。
下面本发明实施例给出了如下两种依据最小RTT、最大RTT、平均RTT、丢包率以及在所述目标网络参数测量阶段的持续时长内,发送的数据包中还未收到接收端响应的数据包的量中的至少一种,以及探测到的最大带宽计算目标发送数据量的计算方法,当然,对于其他的依据最小RTT、最大RTT、平均RTT、丢包率以及在所述目标网络参数测量阶段的持续时长内,发送的数据包中还未收到接收端响应的数据包的量中的至少一种,以及探测到的最大带宽计算目标发送数据量的具体计算方法也属于本申请的保护范围。
第一种计算目标发送数据量的计算方法为:
目标带宽探测阶段计算出的目标发送数据量bdp’,bdp’=(bw/(1-mea_loss))*min_rtt-flight’,其中,bw为探测到的最大带宽,mea_loss为在目标网络参数测量阶段中测得的丢包率,loss为在目标网络参数测量阶段针对每个发送数据包测量得到的丢包率,n为在目标网络参数测量阶段发送的数据包的个数。min_rtt为距离当前带宽探测阶段最近一次历史网络参数测量阶段中测得的历史网络参数RTT的最小值,在该实施例中此处min_rtt为mea_min_rtt,即为在目标网络参数测量阶段中测得的所有RTT中最小的RTT。
flight’=flight*(mea_avg_rtt/mea_min_rtt),mea_avg_rtt为在目标网络参数测量阶段中测得的所有RTT的平均值,mea_min_rtt为在目标网络参数测量阶段中测得的所有的RTT中最小的RTT,flight为在目标网络参数测量阶段中发送端发送的数据包中还未收到接收端响应的数据包的量,fligh具体可以采用数据包的字节数表示,本申请并不做限定。
第二种计算目标发送数据量的计算方法为:
bdp’=bw*f(mea_loss)*g(min_rtt)-flight'
其中:f(mea_loss)=1/mea_loss,或者f(mea_loss)=n^mea_loss,或者f(mea_loss)=mea_loss^n;g(min_rtt)=n*min_rtt;公式中的^表示乘方运算;
n为大于0的常数;bw为探测到的最大带宽,mea_loss为在目标网络参数测量阶段中测得的丢包率,loss为在目标网络参数测量阶段针对每个发送数据包测量得到的丢包率,n为在目标网络参数测量阶段发送的数据包的个数。min_rtt为距离当前带宽探测阶段最近一次历史网络参数测量阶段中测得的历史网络参数RTT的最小值,在该实施例中min_rtt为mea_min_rtt,即为在目标网络参数测量阶段中测得的所有RTT中最小的RTT。
flight’=flight*(mea_avg_rtt/mea_min_rtt),mea_avg_rtt为在目标网络参数测量阶段中测得的所有RTT的平均值,mea_min_rtt为在目标网络参数测量阶段中测得的所有的RTT中最小的RTT,flight为在目标网络参数测量阶段中发送端发送的数据包中还未收到接收端响应的数据包的量,fligh具体可以采用数据包的字节数表示,本申请并不做限定。
由于本申请可以依据历史网络参数以及历史发送数据量确定码率降低系数,从而依据所述码率降低系数,得到目标数据传输码率,进而在目标网络参数测量阶段,依据目标数据传输码率发送数据包,也就是说,本申请在目标网络参数测量阶段数据包的传输码率参考了能够反应网络拥塞状况的历史网络参数以及历史发送数据量,从而依据目标数据传输码率发送数据包,不会对网络中的实时带宽降低太多,因而不会导致网络整体数据传输带宽的下降,有利于减小对视频传输质量的影响。
并且,由于本申请中在目标网络参数测量阶段数据包的传输码率参考了能够反应网络拥塞状况的历史网络参数以及历史发送数据量,从而依据目标数据传输码率发送数据包,不会对网络中的实时带宽降低太多,不会导致网络整体数据传输带宽的下降,因此,本申请中的目标网络参数测量阶段可以持续较长的时间,可以测量到例如:除了最小RTT之外的最大RTT、平均RTT、丢包率以及在所述目标网络参数测量阶段的持续时长内,发送的数据包中还未收到接收端响应的数据包的量等更多种类的目标网络参数,进而本申请实施例可以依据更多种类的目标网络参数计算发送端每次需要发送的数据量,从而能够探测到其他网络相关参数对发送端每次需要发送的数据量的影响,提高关于发送端每次需要发送的数据量的计算结果的准确性,进而提高拥塞控制的精确性。
本发明实施例提供的拥塞控制方法的应用例可以如下:
参照图4所示的一种拥塞控制方法应用的网络架构示意图,例如在观众通过客户端观看网络主播的直播过程中,网络主播客户端通过服务器与观众客户端进行通信,服务器中包含流控服务器、接口机与代理机,网络主播客户端将网络主播视频画面通过服务器传输至观众客户端,观众可以通过观众客户端将观众与网络主播的互动信息通过服务器传输至网络主播客户端。为了保证网络主播视频画面的流畅性以及网络主播与观众互动的及时性,在此场景中对视频传输质量的要求较高。为了避免网络出现拥塞情况,采用本申请实施例中公开的拥塞控制方法提高视频传输质量。
首先需要说明的是,参照附图5所示的数据发送过程流程图,本申请中的拥塞控制方法应用在整个数据发送过程中,在整个数据发送过程中通过定时检查模块进行网络检查之后,跳转到流控模块以及跳帧逻辑模块,通过流控模块设置码率并将设置的码率发送至编码模块,通过跳帧逻辑模块设置帧率并将设置的帧率发送至编码模块,编码模块利用设置的码率以及帧率执行编码操作,然后将编码的数据通过UDT(UDP-based Data TransferProtocol,基于UDP的数据传输协议)发送缓冲模块发送给发送器,发送器与接口机进行通信连接,在接口机回复ACK数据之后,执行拥塞控制过程,来控制发送器每次需要发送的数据量。
本申请实施例中公开的拥塞控制方法具体方法如下:
1、在拥塞控制过程中首先执行STARTUP阶段,STARTUP阶段为连接建立阶段,在该阶段采用指数增加数据发送码率,使得发送数据尽可能快的占满通信管道,通信管道被占满后,开始占用缓冲器,接下来进入DRAIN阶段。
2、DRAIN阶段为排空阶段,采用指数降低数据发送码率,将缓冲器中的数据慢慢排空。
3、完成上面两步,进入稳定状态,在稳定状态,交替执行目标带宽探测阶段以及目标网络参数测量阶段;
4、首先进入目标带宽探测阶段,在目标带宽探测阶段,主要改变数据发送码率进行带宽探测,具体为先设定一个初始数据发送码率,然后在一个RTT时间内在初始数据发送码率的基础上,增加数据发送码率,探测最大带宽,直到RTT没有变化后减小发送码率排空前一个RTT多发出来的数据。并计算发送端每次需要发送的数据量,将计算的结果通知发送端,使得发送端按照计算出来的数据量来发送数据;在目标带宽探测阶段检测到满足网络参数测量条件的情况下,触发进入目标网络参数测量阶段;
5、在目标网络参数测量阶段会依据在最近一次历史网络参数测量阶段中测得的历史网络参数,以及在最近一次历史带宽探测阶段中测得的历史发送数据量,确定码率降低系数;依据所述码率降低系数,降低原始数据传输码率,得到目标数据传输码率,并依据目标数据传输码率发送数据包;在超过目标网络参数测量阶段的持续时长时,计算在所述目标网络参数测量阶段的持续时长内的目标网络参数,并触发再次进入目标带宽探测阶段;
需要说明的是,在第一次进入目标网络参数测量阶段,还没有产生历史网络参数以及历史发送数据量,本申请会分别预先赋予历史网络参数以及历史发送数据量初始值,得到历史网络参数初始值与历史发送数据量初始值,历史网络参数初始值与历史发送数据量初始值并不是实际生成的历史网络参数以及历史发送数据量,而是本领域技术人员依据网络拥塞情况预先设定的初始值,具体数值的大小本申请不做具体限定,具体历史网络参数初始值的种类也可以由本领域技术人员依据网络参数的种类进行设置。
6、再次进入目标带宽探测阶段之后,除了再次进行带宽探测之外,还依据上述计算得到的目标网络参数以及探测到的最大带宽,重新计算发送端每次需要发送的数据量,并将计算的结果通知发送端,使得发送端按照重新计算出来的数据量来发送数据,起到拥塞控制的目的。并在目标带宽探测阶段探测到满足网络参数测量条件的情况下,触发进入下一次的目标网络参数测量阶段,返回执行上述步骤5,重复上述过程,直到数据传输结束。
经过上述步骤的处理,能够对发送端每次需要发送的数据量进行调节,当网络中拥塞严重的情况下,减小发送端需要发送的数据量;当网络中拥塞缓解的情况下,可以增加发送端需要发送的数据量,从而保证网络主播视频画面的流畅性以及网络主播与观众互动的及时性。
对应本申请的一种拥塞控制方法,本申请还提供了一种拥塞控制装置。如图6所示,其示出了本申请一种拥塞控制装置的一种组成结构示意图,本实施例的装置可以应用于前面提到的终端,该装置可以包括:
触发进入单元400,用于在满足网络参数测量条件的情况下,触发进入目标网络参数测量阶段;
码率降低系数确定单元401,用于依据在最近一次历史网络参数测量阶段中测得的历史网络参数,以及在最近一次历史带宽探测阶段中测得的历史发送数据量,确定码率降低系数;
目标数据传输码率获取单元402,用于依据所述码率降低系数,降低原始数据传输码率,得到目标数据传输码率;
数据包发送单元403,用于依据目标数据传输码率发送数据包;
目标网络参数计算单元404,用于在超过目标网络参数测量阶段的持续时长时,计算在所述目标网络参数测量阶段的持续时长内的目标网络参数,并触发进入目标带宽探测阶段;
数据量计算单元405,用于在所述目标带宽探测阶段,依据所述目标网络参数计算目标发送数据量,所述目标发送数据量为在所述目标带宽探测阶段计算出的发送端需要发送的数据量。
在一种可能的实现方式中,所述码率降低系数确定单元包括:
网络拥塞系数确定单元,用于依据在最近一次历史网络参数测量阶段中测得的历史网络参数以及在最近一次历史带宽探测阶段中测得的历史发送数据量,确定网络拥塞系数;
码率降低系数确定子单元,用于依据所述网络拥塞系数确定码率降低系数。
可选的,所述目标网络参数包括:最小往返时延RTT、最大RTT、平均RTT、丢包率以及在所述目标网络参数测量阶段的持续时长内,发送的数据包中还未收到接收端响应的数据包的量中的至少一种。
可选的,所述数据量计算单元包括:
最大带宽探测单元,用于在所述目标带宽探测阶段,探测最大带宽;
数据量计算子单元,用于依据最小RTT、最大RTT、平均RTT、丢包率以及在所述目标网络参数测量阶段的持续时长内,发送的数据包中还未收到接收端响应的数据包的量中的至少一种,以及探测到的最大带宽计算目标发送数据量。
可选的,所述拥塞控制装置还包括:
持续时长确定单元,用于依据在最近一次历史网络参数测量阶段中测得的历史网络参数,以及在最近一次历史带宽探测阶段中测得的历史发送数据量,确定目标网络参数测量阶段的持续时长。
可选的,所述触发进入单元还包括:
第一触发进入子单元,用于在距离所述目标网络参数测量阶段最近一次的历史带宽探测阶段中,监测在所述历史带宽探测阶段的持续时长内的网络参数是否满足预设参数异常条件;在所述网络参数满足预设参数异常条件的情况下,触发进入目标网络参数测量阶段。
可选的,所述触发进入单元还包括:第二触发进入子单元,用于在距离所述目标网络参数测量阶段最近一次的历史带宽探测阶段中,监测所述历史带宽探测阶段的持续时长;
在所述历史带宽探测阶段的持续时长满足预设时长阈值的情况下,触发进入目标网络参数测量阶段。
另一方面,本申请还提供了一种存储介质,该存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上任意一个实施例中的拥塞控制方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种拥塞控制方法,其特征在于,应用于终端,所述方法包括:
在满足网络参数测量条件的情况下,触发进入目标网络参数测量阶段;
依据在最近一次历史网络参数测量阶段中测得的历史网络参数,以及在最近一次历史带宽探测阶段中测得的历史发送数据量,确定码率降低系数;
依据所述码率降低系数,降低原始数据传输码率,得到目标数据传输码率,并依据目标数据传输码率发送数据包;
在超过目标网络参数测量阶段的持续时长时,计算在所述目标网络参数测量阶段的持续时长内的目标网络参数,并触发进入目标带宽探测阶段;
在所述目标带宽探测阶段,依据所述目标网络参数和探测到的最大带宽计算目标发送数据量,所述目标发送数据量为在所述目标带宽探测阶段计算出的发送端需要发送的数据量。
2.根据权利要求1所述的方法,其特征在于,所述依据在最近一次历史网络参数测量阶段中测得的历史网络参数以及在最近一次历史带宽探测阶段中测得的历史发送数据量,确定码率降低系数的过程包括:
依据在最近一次历史网络参数测量阶段中测得的历史网络参数以及在最近一次历史带宽探测阶段中测得的历史发送数据量,确定网络拥塞系数;
依据所述网络拥塞系数确定码率降低系数。
3.根据权利要求1所述的方法,其特征在于,所述目标网络参数包括:最小往返时延RTT、最大RTT、平均RTT、丢包率以及在所述目标网络参数测量阶段的持续时长内,发送的数据包中还未收到接收端响应的数据包的量中的至少一种。
4.根据权利要求3所述的方法,其特征在于,所述在所述目标带宽探测阶段,依据所述目标网络参数计算目标发送数据量的过程包括:
在所述目标带宽探测阶段,探测最大带宽;
依据最小RTT、最大RTT、平均RTT、丢包率以及在所述目标网络参数测量阶段的持续时长内,发送的数据包中还未收到接收端响应的数据包的量中的至少一种,以及探测到的最大带宽计算目标发送数据量。
5.根据权利要求1所述的方法,其特征在于,在满足网络参数测量条件的情况下,触发进入目标网络参数测量阶段之后,还包括:
依据在最近一次历史网络参数测量阶段中测得的历史网络参数,以及在最近一次历史带宽探测阶段中测得的历史发送数据量,确定目标网络参数测量阶段的持续时长。
6.根据权利要求1所述的方法,其特征在于,所述在满足网络参数测量条件的情况下,触发进入目标网络参数测量阶段的过程包括:
在距离所述目标网络参数测量阶段最近一次的历史带宽探测阶段中,监测在所述历史带宽探测阶段的持续时长内的网络参数是否满足预设参数异常条件;
在所述网络参数满足预设参数异常条件的情况下,触发进入目标网络参数测量阶段。
7.根据权利要求1所述的方法,其特征在于,所述在满足网络参数测量条件的情况下,触发进入目标网络参数测量阶段的过程包括:
在距离所述目标网络参数测量阶段最近一次的历史带宽探测阶段中,监测所述历史带宽探测阶段的持续时长;
在所述历史带宽探测阶段的持续时长满足预设时长阈值的情况下,触发进入目标网络参数测量阶段。
8.一种拥塞控制装置,其特征在于,所述装置包括:
触发进入单元,用于在满足网络参数测量条件的情况下,触发进入目标网络参数测量阶段;
码率降低系数确定单元,用于依据在最近一次历史网络参数测量阶段中测得的历史网络参数,以及在最近一次历史带宽探测阶段中测得的历史发送数据量,确定码率降低系数;
目标数据传输码率获取单元,用于依据所述码率降低系数,降低原始数据传输码率,得到目标数据传输码率;
数据包发送单元,用于依据目标数据传输码率发送数据包;
目标网络参数计算单元,用于在超过目标网络参数测量阶段的持续时长时,计算在所述目标网络参数测量阶段的持续时长内的目标网络参数,并触发进入目标带宽探测阶段;
数据量计算单元,用于在所述目标带宽探测阶段,依据所述目标网络参数和探测到的最大带宽计算目标发送数据量,所述目标发送数据量为在所述目标带宽探测阶段计算出的发送端需要发送的数据量。
9.一种终端,其特征在于,包括:
处理器和存储器;
所述处理器,用于调用并执行所述存储器中存储的程序;
所述存储器用于存储所述程序,所述程序用于:
在满足网络参数测量条件的情况下,触发进入目标网络参数测量阶段;
依据在最近一次历史网络参数测量阶段中测得的历史网络参数,以及在最近一次历史带宽探测阶段中测得的历史发送数据量,确定码率降低系数;
依据所述码率降低系数,降低原始数据传输码率,得到目标数据传输码率,并依据目标数据传输码率发送数据包;
在超过目标网络参数测量阶段的持续时长时,计算在所述目标网络参数测量阶段的持续时长内的目标网络参数,并触发进入目标带宽探测阶段;
在所述目标带宽探测阶段,依据所述目标网络参数和探测到的最大带宽计算目标发送数据量,所述目标发送数据量为在所述目标带宽探测阶段计算出的发送端需要发送的数据量。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上权利要求1至7任一项所述的拥塞控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910561023.2A CN110290428B (zh) | 2019-06-26 | 2019-06-26 | 一种拥塞控制方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910561023.2A CN110290428B (zh) | 2019-06-26 | 2019-06-26 | 一种拥塞控制方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110290428A CN110290428A (zh) | 2019-09-27 |
CN110290428B true CN110290428B (zh) | 2021-08-20 |
Family
ID=68006101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910561023.2A Active CN110290428B (zh) | 2019-06-26 | 2019-06-26 | 一种拥塞控制方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110290428B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112653635A (zh) * | 2020-12-23 | 2021-04-13 | 百果园技术(新加坡)有限公司 | 一种拥塞控制算法的改进方法、装置、设备及存储介质 |
CN113315773B (zh) * | 2021-05-31 | 2022-08-12 | 浙江大华技术股份有限公司 | 一种码率调整方法、装置、电子设备及存储介质 |
CN113747202B (zh) * | 2021-08-05 | 2023-09-15 | 杭州网易智企科技有限公司 | 一种通过带宽估计发送数据的方法、装置、设备及介质 |
CN113766564B (zh) * | 2021-10-15 | 2023-05-30 | 武汉联影医疗科技有限公司 | 数据传输的拥塞控制方法、装置、计算机设备和存储介质 |
CN114374628A (zh) * | 2022-02-09 | 2022-04-19 | 江苏济楚信息技术有限公司 | 一种基于模型的音视频通信低延时拥塞控制方法 |
CN115150333B (zh) * | 2022-05-26 | 2024-02-09 | 腾讯科技(深圳)有限公司 | 拥塞控制方法、装置、计算机设备和存储介质 |
CN116170379B (zh) * | 2023-04-25 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 一种传输控制方法、装置、设备及计算机可读存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014133745A2 (en) * | 2013-02-28 | 2014-09-04 | Google Inc. | Multi-stream optimization |
CN105827537A (zh) * | 2016-06-01 | 2016-08-03 | 四川大学 | 一种基于quic协议的拥塞改进方法 |
CN107196863A (zh) * | 2016-03-15 | 2017-09-22 | 掌赢信息科技(上海)有限公司 | 一种码率调节方法及电子设备 |
CN107276850A (zh) * | 2017-06-26 | 2017-10-20 | 中国电力科学研究院 | 一种用电信息采集***统一接口测试并发传输方法及*** |
WO2017192341A1 (en) * | 2016-05-04 | 2017-11-09 | Microsoft Technology Licensing, Llc | Modified slow start for background connections |
CN107734537A (zh) * | 2016-08-10 | 2018-02-23 | 腾讯科技(深圳)有限公司 | 网络性能参数的测量方法、发送端及接收端 |
CN108011780A (zh) * | 2017-12-01 | 2018-05-08 | 北京百度网讯科技有限公司 | 一种数据传输速率测量方法、装置、设备和计算机可读介质 |
CN109257252A (zh) * | 2018-09-12 | 2019-01-22 | 复旦大学 | 一种判断网络拥塞状态的方法 |
CN109428784A (zh) * | 2017-08-31 | 2019-03-05 | 腾讯科技(深圳)有限公司 | 网络探测方法及装置、计算机存储介质及设备 |
CN109639340A (zh) * | 2018-12-11 | 2019-04-16 | 成都天奥信息科技有限公司 | 一种适用于卫星链路的tcp加速方法 |
CN109698797A (zh) * | 2017-10-24 | 2019-04-30 | ***通信集团山东有限公司 | 一种tcp拥塞控制方法和装置 |
CN109698794A (zh) * | 2019-01-21 | 2019-04-30 | 北京达佳互联信息技术有限公司 | 一种拥塞控制方法、装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10735324B2 (en) * | 2017-11-07 | 2020-08-04 | Hughes Network Systems, Llc | Bottleneck bandwidth and round-trip propagation time (BBR) congestion control with random early detection (RED) |
US10931587B2 (en) * | 2017-12-08 | 2021-02-23 | Reniac, Inc. | Systems and methods for congestion control in a network |
-
2019
- 2019-06-26 CN CN201910561023.2A patent/CN110290428B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014133745A2 (en) * | 2013-02-28 | 2014-09-04 | Google Inc. | Multi-stream optimization |
CN107196863A (zh) * | 2016-03-15 | 2017-09-22 | 掌赢信息科技(上海)有限公司 | 一种码率调节方法及电子设备 |
WO2017192341A1 (en) * | 2016-05-04 | 2017-11-09 | Microsoft Technology Licensing, Llc | Modified slow start for background connections |
CN105827537A (zh) * | 2016-06-01 | 2016-08-03 | 四川大学 | 一种基于quic协议的拥塞改进方法 |
CN107734537A (zh) * | 2016-08-10 | 2018-02-23 | 腾讯科技(深圳)有限公司 | 网络性能参数的测量方法、发送端及接收端 |
CN107276850A (zh) * | 2017-06-26 | 2017-10-20 | 中国电力科学研究院 | 一种用电信息采集***统一接口测试并发传输方法及*** |
CN109428784A (zh) * | 2017-08-31 | 2019-03-05 | 腾讯科技(深圳)有限公司 | 网络探测方法及装置、计算机存储介质及设备 |
CN109698797A (zh) * | 2017-10-24 | 2019-04-30 | ***通信集团山东有限公司 | 一种tcp拥塞控制方法和装置 |
CN108011780A (zh) * | 2017-12-01 | 2018-05-08 | 北京百度网讯科技有限公司 | 一种数据传输速率测量方法、装置、设备和计算机可读介质 |
CN109257252A (zh) * | 2018-09-12 | 2019-01-22 | 复旦大学 | 一种判断网络拥塞状态的方法 |
CN109639340A (zh) * | 2018-12-11 | 2019-04-16 | 成都天奥信息科技有限公司 | 一种适用于卫星链路的tcp加速方法 |
CN109698794A (zh) * | 2019-01-21 | 2019-04-30 | 北京达佳互联信息技术有限公司 | 一种拥塞控制方法、装置、电子设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
"Adaptive-BBR: Fine-Grained Congestion Control with Improved Fairness and Low Latency";Ming Yang et.al;《2019 IEEE Wireless Communications and Networking Conference (WCNC)》;20190418;全文 * |
"Modest BBR: Enabling Better Fairness for BBR Congestion Control";Yuxiang Zhang et.al;《2018 IEEE Symposium on Computers and Communications (ISCC)》;20180628;全文 * |
"基于BBR的NDN拥塞控制算法";黄俊琳等;《重庆邮电大学学报(自然科学版)》;20180228;第30卷(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110290428A (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110290428B (zh) | 一种拥塞控制方法、装置、终端及存储介质 | |
CN111628847B (zh) | 数据传输方法及装置 | |
KR101638223B1 (ko) | 적응적 스트리밍 서비스를 제공하기 위한 방법 | |
CN107342848B (zh) | 一种自适应码流传输方法、装置及设备 | |
CN106612284B (zh) | 一种流数据的传输方法和装置 | |
CN113992967B (zh) | 一种投屏数据传输方法、装置、电子设备及存储介质 | |
CN105141542A (zh) | 基于tcp通信协议的拥塞窗口的控制算法和*** | |
CN110719616A (zh) | 网络切换方法及装置、存储介质、电子设备 | |
CN109286957B (zh) | 一种回源链路的切换方法、装置、电子设备及存储介质 | |
CN110677355A (zh) | 一种丢包应对方法、装置、电子设备及存储介质 | |
CN110620738A (zh) | 带宽分配方法、装置、设备及存储介质 | |
CN114401224B (zh) | 一种数据限流方法、装置、电子设备以及存储介质 | |
CN114466177B (zh) | 基于http传输视频流的质量评估方法及电子设备 | |
CN113438180B (zh) | Udp数据包的传输控制方法、装置、设备及可读存储介质 | |
WO2024109734A1 (zh) | 数据传输方法、装置、电子设备及存储介质 | |
CN112422356B (zh) | 确定网络状态的方法及装置 | |
CN110290552B (zh) | 缓存深度的测量方法和装置、存储介质、电子装置 | |
US20120083220A1 (en) | Determining the quality of service in a communication terminal device | |
CN114302142A (zh) | 视频编码方法、图像发送设备及存储介质 | |
CN114124755B (zh) | 网络数据断流检测方法及装置、终端设备和存储介质 | |
JP2000278720A (ja) | 動画通信評価装置、及び動画通信評価方法 | |
CN112261354B (zh) | 基于多个网络摄像机的数据传输方法及相关装置 | |
CN106899510B (zh) | 一种基于iSCSI协议的传输速率控制方法和装置 | |
CN111371675B (zh) | 智能寻址方法、装置、设备及其存储介质 | |
CN109922307B (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 |