CN102739548B - 一种数据传输的速率控制方法 - Google Patents
一种数据传输的速率控制方法 Download PDFInfo
- Publication number
- CN102739548B CN102739548B CN201210239888.5A CN201210239888A CN102739548B CN 102739548 B CN102739548 B CN 102739548B CN 201210239888 A CN201210239888 A CN 201210239888A CN 102739548 B CN102739548 B CN 102739548B
- Authority
- CN
- China
- Prior art keywords
- receiving terminal
- packet
- time
- delay
- early warning
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000012546 transfer Methods 0.000 title claims abstract description 16
- 230000005540 biological transmission Effects 0.000 claims abstract description 39
- 230000003139 buffering effect Effects 0.000 claims abstract description 39
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种数据传输的速率控制方法,本发明方法包括以下步骤。发送端以预设速率发送数据包到接收端,所述接收端缓存所述数据包并当开始播放所述数据包后,所述接收端比较所述缓存的数据包个数与接收端缓冲区预警值的大小。当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值,所述接收端获取数据包网络延迟时间,且当所述数据包网络延迟时间大于单个数据包播放时间时,所述接收端根据传输速率、单个数据包播放时间及数据包网络延迟时间计算所述发送端发送速率并发送通知给所述发送端,所述发送端根据所述通知调整发送速率。
Description
技术领域
本发明属于网络通信领域,尤其涉及一种数据传输的速率控制方法。
背景技术
随着信息社会的飞速发展,各种各样的通信工具如飞信、QQ等被人们普遍使用,除了个人应用以外,一些企业版的即时通信方式也逐渐为大众所熟悉,譬如视频会议等。能否连续流畅地播放音视频数据,成为影响视频会议质量的关键因素。然而在现实应用中,音视频数据的传输中常存在抖动延时的现象,当延迟时间过长时,容易导致接收端播放音视频中断。而现有技术中,当接收端本地缓存的数据量不足以支持音视频连续播放时,发送端会在短时间内发送大量音视频数据到接收端,容易引起数据包拥塞,甚至导致其它网络应用卡死。
发明内容
本发明提供一种数据传输的速率控制方法以解决上述问题。
本发明提供一种数据传输的速率控制方法,包括以下步骤。发送端以预设速率发送数据包到接收端,所述接收端缓存所述数据包并当开始播放所述数据包后,所述接收端比较所述缓存的数据包个数与接收端缓冲区预警值的大小。当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值,所述接收端获取数据包网络延迟时间,且当所述数据包网络延迟时间大于单个数据包播放时间时,所述接收端根据传输速率、单个数据包播放时间及数据包网络延迟时间计算所述发送端发送速率并发送通知给所述发送端,所述发送端根据所述通知调整发送速率。
本发明提供一种数据传输的速率控制系统,包括发送端及接收端,所述发送端连接所述接收端。所述发送端,用于以预设速率发送数据包到所述接收端,还用于根据所述接收端的通知调整发送速率。所述接收端,用于缓存数据包并当开始播放所述数据包后,比较所述缓存的数据包个数与接收端缓冲区预警值的大小,还用于当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值时,获取数据包网络延迟时间,且当所述获取的数据包网络延迟时间大于单个数据包播放时间时,所述接收端根据传输速率、单个数据包播放时间及数据包网络延迟时间计算所述发送端发送速率并发送通知给所述发送端。
相较于先前技术,根据本发明提供的数据传输的速率控制方法,发送端以预设速率发送数据包到接收端,接收端开始播放数据包后,比较接收后缓存的数据包个数与接收端缓冲区预警值的大小。通过对接收端设置缓冲区预警值,可有效监控接收端的数据包个数。当接收端缓存的数据包大小小于或等于缓冲区预警值时,所述接收端获取数据包网络延迟时间,且当所述获取的数据包网络延迟时间大于单个数据包播放时间时,接收端根据传输速率、单个数据包播放时间及数据包网络延迟时间计算发送端发送速率并通知发送端后,发送端调整发送速率。如此,由接收端根据数据接收情况控制发送端发送速率,可保证音视频数据连续播放。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1所示为根据本发明的较佳实施例提供的数据传输的速率控制方法的流程图;
图2所示为根据本发明的较佳实施例提供的数据传输的速率控制系统的示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1所示为根据本发明的较佳实施例提供的数据传输的速率控制方法。如图1所示,本发明的较佳实施例提供的数据传输的速率控制方法包括步骤101~102。
步骤101:发送端以预设速率发送数据包到接收端,所述接收端缓存所述数据包并当开始播放所述数据包后,所述接收端比较所述缓存的数据包个数与接收端缓冲区预警值的大小。
具体而言,接收端于接收发送端发送的数据前预设自身的缓冲区大小,且接收端设置缓冲区播放值,所述缓冲区播放值小于或等于缓冲区大小。当接收端缓存的数据包个数第一次达到缓冲区播放值时,接收端开始播放所述数据包。于此,所述缓冲区播放值仅在数据包第一次开始播放前起限定作用,并不影响数据包之后的连续播放。所述接收端开始播放缓存的数据包后,将所述已播放的数据包从接收端的缓存中删除。于本实施例中,所述速率单位为个/秒,缓冲区计量单位为数据包个数。
此外,接收端存储缓冲区预警值对照表,所述对照表包括单个数据包播放时间、数据包网络延迟时间及缓冲区预警值。所述接收端根据数据包网络延迟时间确定自身缓冲区预警值。所述缓冲区预警值对照表格式例如下表所示。
在上表中,所述接收端获取单个数据包播放时间的方式为,所述发送端向所述接收端发送的数据包中携带单个数据包播放时间信息,所述接收端接收并解析所述数据包后获得所述单个数据包播放时间,或者当发送端向接收端开始发送数据包后,所述接收端播放单个数据包后,获取单个数据包播放时间。接收端第一次获取数据包网络延迟时间的方式为,所述接收端根据接收到的第一个数据包及第二个数据包的时间戳确定所述第一次的数据包网络延迟时间,所述接收端根据第一次获取的数据包网络延迟时间确定第一次缓冲区预警值。
步骤102:当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值,所述接收端获取数据包网络延迟时间,且当所述获取的数据包网络延迟时间大于单个数据包播放时间时,所述接收端根据传输速率、单个数据包播放时间及数据包网络延迟时间计算所述发送端发送速率并发送通知给所述发送端,所述发送端根据所述通知调整发送速率。
具体而言,按照步骤101,当接收端缓存的数据包个数第一次达到缓冲区播放值时,接收端开始播放所述数据包。当接收端监控到本地缓存的数据包个数小于或者等于所述缓冲区预警值时,接收端根据缓存的最近一次接收的数据包及后续接收的首个数据包的时间戳获取所述数据包网络延迟时间。若接收端没有缓存的数据包,所述接收端根据后续接收的连续两个数据包的时间戳获取所述数据包网络延迟时间。
如上所述,当接收端缓存的数据包个数小于或等于缓冲区预警值,且当所述获取的数据包网络延迟时间大于单个数据包播放时间时,接收端计算发送端发送速率。若以n表示数据包传输速率,所述传输速率可以为数据包网络延迟时间为零时发送端的发送速率,并由发送端预设,或者为数据包网络延迟时间为零时接收端的播放速率,并由接收端预设。T表示单个数据包播放时间,t表示数据包网络延迟时间,则(n-T*n/t)表示数据包传输存在网络延迟时,播放完缓冲数据期间,网络能够传送的数据包个数。n+(n-T*n/t)表示在预设速率上加了修正后的发送数据包速率,来修正网络延时变化时少发送的数据包个数,即接收端调整后的发送速率V=n+(n-T*n/t)。
于此,当接收端获取的数据包网络延迟时间小于或等于单个数据包播放时间时,所述接收端通知所述发送端按所述预设速率发送所述数据包。
举例而言,若发送端在T1时刻以5个/秒的预设速率开始向接收端发送数据包,接收端接收并播放单个数据包后,获取单个数据包播放时间为200ms,且所述接收端根据接收到的第一个数据包及第二个数据包的时间戳确定第一次的数据包网络延迟时间为50ms。根据步骤101中的对照表,接收端确定自身缓冲区预警值为1个数据包。若接收端设定自身缓冲区播放值为5个数据包,当接收端缓存的数据包达到5个后,接收端开始播放数据包。
若T2时刻接收端监控到自身缓存的数据包个数小于缓冲区预警值(1个),且所述接收端该时刻无缓存的数据包。则所述接收端根据T2时刻起后续接收的连续两个数据包的时间戳,获取数据包网络延迟时间为500ms,并按照所述对照表将缓冲区预警值调整为3个数据包。于此,数据包网络延迟时间大于单个数据包播放时间,接收端计算发送端发送速率为5+(5-200*5/500)=8,发送端根据接收端的通知将发送速率调整为8个/秒。接下来在T3时刻,接收端监控到自身缓存的数据包大小达到缓冲区预警值(3个数据包),所述接收端根据缓存的最近一次接收的数据包及后续接收的首个数据包的时间戳,获取数据包网络延迟时间为100ms,并按照所述对照表调整缓冲区预警值为1个数据包。于此,数据包网络延迟时间小于单个数据包播放时间,则接收端通知发送端按预设速率(5个/秒)发送所述数据包。
图2所示为根据本发明的较佳实施例提供的数据传输的速率控制系统的示意图。如图2所示,本发明较佳实施例提供的数据传输的速率控制系统包括发送端201及接收端202,所述发送端201连接所述接收端202。所述发送端201,用于以预设速率发送数据包到所述接收端202,还用于根据所述接收端202的通知调整发送速率。所述接收端202,用于缓存所述数据包并当开始播放所述数据包后,比较所述缓存的数据包与接收端202缓冲区预警值的大小,还用于当所述接收端202缓存的数据包大小小于或者等于所述缓冲区预警值时,获取数据包网络延迟时间,且当所述获取的数据包网络延迟时间大于单个数据包播放时间时,所述接收端202根据传输速率、单个数据包播放时间及数据包网络延迟时间计算所述发送端201发送速率并发送通知给所述发送端201。关于上述系统的操作流程同上述方法所述,故于此不再赘述。
综上所述,根据本发明的较佳实施例提供的数据传输的速率控制方法,发送端以预设速率发送数据包到接收端,接收端开始播放数据包后,比较缓存的数据包个数与接收端缓冲区预警值的大小。通过对接收端设置缓冲区预警值,可有效监控接收端的数据包个数。当接收端缓存的数据包大小小于或等于缓冲区预警值时,所述接收端获取数据包网络延迟时间,且当所述获取的数据包网络延迟时间大于单个数据包播放时间时,接收端根据传输速率、单个数据包播放时间及数据包网络延迟时间计算发送端发送速率并通知发送端后,发送端调整发送速率。如此,由接收端根据缓存的数据包控制发送端发送速率,可保证音视频数据连续播放。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种数据传输的速率控制方法,其特征在于,包括以下步骤:
发送端以预设速率发送数据包到接收端,所述接收端缓存所述数据包并当开始播放所述数据包后,所述接收端比较所述缓存的数据包个数与接收端缓冲区预警值的大小;
其中,所述预设速率为n并由发送端或接收端预设;
当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值,所述接收端获取数据包网络延迟时间,且当所述数据包网络延迟时间大于单个数据包播放时间时,所述接收端根据传输速率、单个数据包播放时间及数据包网络延迟时间计算所述发送端发送速率并发送通知给所述发送端,所述发送端根据所述通知调整发送速率;
所述接收端根据公式V=n+(n-T*n/t)计算发送速率,其中V表示发送速率,n表示传输速率并由发送端或接收端预设,T表示单个数据包播放时间,t表示数据包网络延迟时间。
2.根据权利要求1所述的方法,其特征在于,所述接收端存储缓冲区预警值对照表,所述对照表包括单个数据包播放时间、数据包网络延迟时间及缓冲区预警值。
3.根据权利要求1或2所述的方法,其特征在于,当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值时,所述接收端获取数据包网络延迟时间,并根据所述缓冲区预警值对照表调整自身缓冲区预警值。
4.根据权利要求1所述的方法,其特征在于,当接收端获取的数据包网络延迟时间小于或等于单个数据包播放时间时,所述接收端通知所述发送端按所述预设速率发送所述数据包。
5.根据权利要求1所述的方法,其特征在于,接收端获取单个数据包播放时间的方式为,所述发送端向所述接收端发送的数据包中携带单个数据包播放时间信息,所述接收端接收并解析所述数据包后获得所述单个数据包播放时间,或者所述发送端向所述接收端发送所述数据包后,所述接收端播放单个数据包获取所述单个数据包播放时间。
6.根据权利要求1所述的方法,其特征在于,接收端第一次获取数据包网络延迟时间的方式为,所述接收端根据接收到的第一个数据包及第二个数据包的时间戳确定所述第一次的数据包网络延迟时间,所述接收端根据第一次获取的数据包网络延迟时间第一次确定缓冲区预警值。
7.根据权利要求1所述的方法,其特征在于,当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值时,接收端根据缓存的最近一次接收的数据包及后续接收的首个数据包的时间戳获取所述数据包网络延迟时间。
8.根据权利要求1所述的方法,其特征在于,当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值时,若接收端没有缓存的数据包,所述接收端根据后续接收的连续两个数据包的时间戳获取所述数据包网络延迟时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210239888.5A CN102739548B (zh) | 2012-07-12 | 2012-07-12 | 一种数据传输的速率控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210239888.5A CN102739548B (zh) | 2012-07-12 | 2012-07-12 | 一种数据传输的速率控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102739548A CN102739548A (zh) | 2012-10-17 |
CN102739548B true CN102739548B (zh) | 2015-08-19 |
Family
ID=46994360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210239888.5A Expired - Fee Related CN102739548B (zh) | 2012-07-12 | 2012-07-12 | 一种数据传输的速率控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102739548B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104780401B (zh) * | 2015-03-25 | 2017-12-22 | 腾讯科技(深圳)有限公司 | 视频数据的发送方法及装置 |
CN105224491B (zh) * | 2015-09-01 | 2018-02-06 | 成都金本华电子有限公司 | 一种自适应速率接收总线数据的方法及装置 |
CN105611313B (zh) * | 2015-12-16 | 2018-10-12 | 浪潮(北京)电子信息产业有限公司 | 一种流媒体中视频数据的缓存方法及系统 |
CN106301684B (zh) * | 2016-08-12 | 2020-04-10 | 广州市百果园网络科技有限公司 | 一种媒体数据传输方法及装置 |
WO2018081937A1 (zh) * | 2016-11-01 | 2018-05-11 | 华为技术有限公司 | 一种确定音视频数据编码速率的方法、终端以及存储介质 |
CN109525936B (zh) * | 2018-01-15 | 2024-03-19 | 四川中电昆辰科技有限公司 | 多频点位置数据回传系统 |
CN111162870B (zh) * | 2019-12-09 | 2023-04-07 | 南京大鱼半导体有限公司 | 控制数据传输的方法、装置、存储介质及终端和网络设备 |
CN113132256B (zh) * | 2019-12-30 | 2023-08-01 | 深圳Tcl新技术有限公司 | 一种数据传输方法、终端及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123573A (zh) * | 2006-08-09 | 2008-02-13 | 普天信息技术研究院 | 在高速下行链路分组接入网络中分组数据单元的流控方法 |
CN101577672A (zh) * | 2008-05-07 | 2009-11-11 | 中国移动通信集团公司 | 在流媒体业务中数据传输的方法、系统及装置 |
CN101803383A (zh) * | 2008-07-17 | 2010-08-11 | 松下电器产业株式会社 | 发送装置、接收装置、速率控制装置、发送方法及接收方法 |
CN102447606A (zh) * | 2010-09-30 | 2012-05-09 | 重庆重邮信科通信技术有限公司 | 一种数据传输流量控制方法及装置 |
-
2012
- 2012-07-12 CN CN201210239888.5A patent/CN102739548B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123573A (zh) * | 2006-08-09 | 2008-02-13 | 普天信息技术研究院 | 在高速下行链路分组接入网络中分组数据单元的流控方法 |
CN101577672A (zh) * | 2008-05-07 | 2009-11-11 | 中国移动通信集团公司 | 在流媒体业务中数据传输的方法、系统及装置 |
CN101803383A (zh) * | 2008-07-17 | 2010-08-11 | 松下电器产业株式会社 | 发送装置、接收装置、速率控制装置、发送方法及接收方法 |
CN102447606A (zh) * | 2010-09-30 | 2012-05-09 | 重庆重邮信科通信技术有限公司 | 一种数据传输流量控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102739548A (zh) | 2012-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102752212B (zh) | 一种传输速率控制方法 | |
CN102739548B (zh) | 一种数据传输的速率控制方法 | |
US20140108622A1 (en) | Streaming media transmission method, device, and system | |
US9807452B2 (en) | Practical delivery of high quality video using dynamic adaptive hypertext transport protocol (HTTP) streaming (DASH) without using HTTP in a broadcast network | |
EP2369840B1 (en) | Channel switching method, device and system | |
WO2017096935A1 (zh) | 一种快速频道切换方法、服务器及iptv系统 | |
WO2023035894A1 (zh) | 一种数据处理方法、设备、可读存储介质和程序产品 | |
WO2012097643A1 (zh) | Iptv系统中直播媒体流的方法和装置 | |
CN101668310A (zh) | 播放流媒体的方法和装置 | |
CN112714353B (zh) | 一种多媒体流分布式同步方法 | |
CN103002354A (zh) | 一种消除视频数据传输网络抖动的方法及系统 | |
CN105142002A (zh) | 音/视频直播方法、装置及控制方法、装置 | |
CN104168218B (zh) | 抖动缓冲方法及装置 | |
US20150095447A1 (en) | Serving method of cache server, cache server, and system | |
CN108881931A (zh) | 一种数据缓冲方法及网络设备 | |
CN102739547B (zh) | 一种速率控制方法 | |
US20220295127A1 (en) | Consolidating content streams to conserve bandwidth | |
CN101964716B (zh) | 一种实现流业务的方法及通信系统以及相关设备 | |
CN105472404A (zh) | 一种视频业务中的数据处理方法 | |
CN101090369B (zh) | 一种在流媒体系统中控制数据包发送速率的方法 | |
WO2013189435A2 (zh) | 基于播放状态信息同步的处理方法、系统及相关装置 | |
KR20150146116A (ko) | 이종망 기반 방송 서비스를 제공하는 방법 및 장치 | |
EP2043372B1 (en) | Method for audio and video synchronization, receiving and transmitting device | |
CA3026535C (en) | Multimedia resource synchronous pushing method based on heterogeneous network | |
CN113691827B (zh) | 媒体流传输方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee | ||
CP01 | Change in the name or title of a patent holder |
Address after: Suzhou City, Jiangsu province 215121 Fengting Avenue Suzhou Industrial Park No. 666 Weiting Intelligent Industrial Park Building 8 Patentee after: CODYY EDUCATION TECHNOLOGY Co.,Ltd. Address before: Suzhou City, Jiangsu province 215121 Fengting Avenue Suzhou Industrial Park No. 666 Weiting Intelligent Industrial Park Building 8 Patentee before: SUZHOU CODYY NETWORK SCIENCE & TECHNOLOGY Co.,Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150819 |