CN110225419A - 一种实现流量控制的丢包重传方法 - Google Patents

一种实现流量控制的丢包重传方法 Download PDF

Info

Publication number
CN110225419A
CN110225419A CN201910406433.XA CN201910406433A CN110225419A CN 110225419 A CN110225419 A CN 110225419A CN 201910406433 A CN201910406433 A CN 201910406433A CN 110225419 A CN110225419 A CN 110225419A
Authority
CN
China
Prior art keywords
packet
media
media packet
serial number
queue
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
Application number
CN201910406433.XA
Other languages
English (en)
Inventor
周志文
梁智游
奉诗斌
张星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHENZHEN MAPGOO TECHNOLOGY Co Ltd
Original Assignee
SHENZHEN MAPGOO TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHENZHEN MAPGOO TECHNOLOGY Co Ltd filed Critical SHENZHEN MAPGOO TECHNOLOGY Co Ltd
Priority to CN201910406433.XA priority Critical patent/CN110225419A/zh
Publication of CN110225419A publication Critical patent/CN110225419A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/647Control 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/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种实现流量控制的丢包重传方法,包括以下步骤:将要发送的媒体数据封装成媒体包,对媒体包进行编号,在发送端创建循环发送队列,按照顺序发送媒体包,并且将媒体包放到发送队列中。本发明所述的一种实现流量控制的丢包重传方法,通过调整放弃重传阈值的大小,可以支持0%到100%的丢包率,很好的满足了用户对时延的各种需求,可以最大程度的传输音视频资源,且可以将网络流量控制住,减少数据丢包率对声音和图像播放的影响,而且解决丢包的问题同时也考虑到了时延的问题,不会出现同一个媒体包连续1到N次的重传请求造成时延的加大的情况,可以更大程度的满足用户的各种需求,带来更好的使用前景。

Description

一种实现流量控制的丢包重传方法
技术领域
本发明涉及数据传输领域,特别涉及一种实现流量控制的丢包重传方法。
背景技术
在视频会议、监控系统及网络直播中,用户对体验提出了更高的要求,即需要时延小同时还要流畅不花屏,当视频源处于偏远山区等网络建设不完善,网络信号状态不好的地区时,传输音视频资源容易发生数据包丢包现象。音视频源数据包丢失,接收方不能获取完整的音视频数据,导致播放的图像花屏声音卡顿,致使监控任务失败而发生重大经济损失或者用户体验极度不好而流失用户,为此,我们提出一种实现流量控制的丢包重传方法。
发明内容
本发明的主要目的在于提供一种实现流量控制的丢包重传方法,可以有效解决背景技术中的问题。
为实现上述目的,本发明采取的技术方案为:
一种实现流量控制的丢包重传方法,包括以下步骤:
(1)、将要发送的媒体数据封装成媒体包,对媒体包进行编号,在发送端创建循环发送队列,按照顺序发送媒体包,并且将媒体包放到发送队列中;
(2)、在接收端创建对应的线性接收队列,将接收到的媒体包放置到对应的线性接收队列中;
(3)、扫描接收队列,接收端将空缺序号对应的媒体包的信息发送给发送端,进行重传请求;
(4)、发送端收到重传请求后,根据重传请求包里的序号从队列中找到相应的媒体包并发送出去,直到接收端接收队列中没有不连续的序号。
优选的,所述步骤(1)中,媒体数据封装成媒体包后媒体包携带媒体数据、数据长度、序号和包间时长,序号是一个无符号短整形的值,其最大值是65536,初始值为0-65536的任意值,媒体包的序号为连续的。
优选的,所述步骤(1)中,循环发送队列的每一项称为一个盒子,发送后,媒体包存储在一个盒子里,盒子均可重复利用。
优选的,所述步骤(1)中,媒体包传输前开辟两个传输通道,一个基于UDP的媒体通道,一个基于TCP的信令通道,媒体通道负责发送和接收媒体数据,信令通道负责发送和接收信令数据。
优选的,所述步骤(2)中,线性接收队列的每一项称为一个盒子,每个盒子都有一个索引信息,索引值从0开始,数量与媒体包数量相同,接收到的媒体包需要增加接收时间信息,根据媒体包中的序号对65536取模得到一个索引,取模后的索引就是该媒体包在线性接收队列中的存储位置。
优选的,所述步骤(3)中,扫描接收队列后没有出现不连续的序号,则将队列前一个媒体包提交给上层应用并将该媒体包从队列中擦除掉,例如,当接收到第一媒体包时不立即返回,其后每接收到一个媒体包,只要该媒体包的序号是连续的则返回最前面的一个媒体包,将最前面的一个媒体包提交给上层应用并将该媒体包从队列中擦除掉。
优选的,所述步骤(3)中,扫描队列时需要设置一个可以重传阈值和放弃重传阈值。
优选的,所述步骤(3)中,扫描到出现不连续的序号时,判断已经接收到的媒体包得到该空缺包的序号以及上一个媒体包的接收时间到现在时间的时间差,判断时间差与可以重传阈值和放弃重传阈值的大小,时间差小于可以重传阈值时不做处理,时间差大于放弃重传阈值并且小于可以重传阈值时,构造一个包含序号的重传请求包通过信令通道发送到发送端请求重传该序号的媒体包,时间差大于放弃重传阈值时返回空缺序号前面的包媒体包。
优选的,所述步骤(4)中,发送端开辟一个新线程用于循环处理重传请求,接收到一个重传请求包,根据重传请求包中的序号搜索发送队列,查看发送队列中是否存在该序号的媒体包,如果在发送队列中存在该媒体包,则取出该媒体包并发送出去,发送列队状态不变。
与现有技术相比,本发明具有如下有益效果:该一种实现流量控制的丢包重传方法,通过调整放弃重传阈值的大小,可以支持0%到100%的丢包率,很好的满足了用户对时延的各种需求,通过调小放弃重传阈值,时延也相应变小,可以最大程度的传输音视频资源,且可以将网络流量控制住,使数据丢包率降低,减少数据丢包率对声音和图像播放的影响,而且解决丢包的问题同时也考虑到了时延的问题,不会出现同一个媒体包连续1到N次的重传请求造成时延的加大的情况,可以更大程度的满足用户的各种需求,使用效果相对于传统方式更好。
附图说明
图1为本发明一种实现流量控制的丢包重传方法的整体方法步骤图;
图2为本发明一种实现流量控制的丢包重传方法中发送队列的流程图;
图3为本发明一种实现流量控制的丢包重传方法中接收端处理的流程图;
图4为本发明一种实现流量控制的丢包重传方法中发送请求重传的媒体包的流程图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
实施例
(1)、将要发送的媒体数据封装成媒体包,对媒体包进行编号,在发送端创建循环发送队列,按照顺序发送媒体包,并且将媒体包放到发送队列中;
媒体数据封装成媒体包后媒体包携带媒体数据、数据长度、序号和包间时长,序号是一个无符号短整形的值,其最大值是65536,初始值为0-65536的任意值,媒体包的序号为连续的;
循环发送队列的每一项称为一个盒子,发送后,媒体包存储在一个盒子里,盒子均可重复利用;
媒体包传输前开辟两个传输通道,一个基于UDP的媒体通道,一个基于TCP的信令通道,媒体通道负责发送和接收媒体数据,信令通道负责发送和接收信令数据。
(2)、在接收端创建对应的线性接收队列,将接收到的媒体包放置到对应的线性接收队列中;
线性接收队列的每一项称为一个盒子,每个盒子都有一个索引信息,索引值从0开始,数量与媒体包数量相同,接收到的媒体包需要增加接收时间信息,根据媒体包中的序号对65536取模得到一个索引,取模后的索引就是该媒体包在线性接收队列中的存储位置。
(3)、扫描接收队列,接收端将空缺序号对应的媒体包的信息发送给发送端,进行重传请求;
扫描接收队列后没有出现不连续的序号,则将队列前一个媒体包提交给上层应用并将该媒体包从队列中擦除掉,例如,当接收到第一媒体包时不立即返回,其后每接收到一个媒体包,只要该媒体包的序号是连续的则返回最前面的一个媒体包,将最前面的一个媒体包提交给上层应用并将该媒体包从队列中擦除掉;
扫描到出现不连续的序号时,判断已经接收到的媒体包得到该空缺包的序号以及上一个媒体包的接收时间到现在时间的时间差,判断时间差与可以重传阈值和放弃重传阈值的大小,时间差小于可以重传阈值时不做处理,时间差大于放弃重传阈值并且小于可以重传阈值时,构造一个包含序号的重传请求包通过信令通道发送到发送端请求重传该序号的媒体包,时间差大于放弃重传阈值时返回空缺序号前面的媒体包。
(4)、发送端收到重传请求后,根据重传请求包里的序号从队列中找到相应的媒体包并发送出去,直到接收端接收队列中没有不连续的序号;
发送端开辟一个新线程用于循环处理重传请求,接收到一个重传请求包,根据重传请求包中的序号搜索发送队列,查看发送队列中是否存在该序号的媒体包,如果在发送队列中存在该媒体包,则取出该媒体包并发送出去,发送列队状态不变。
需要说明的是,本发明为一种实现流量控制的丢包重传方法,发送端和接收端即可以是软件也可以是硬件产品;
阈值的值根据媒体包携带的包间时长设置,可以重传阈值小于放弃重传阈值,由于路由的原因各个媒体包到达的顺序和发送顺序是不一致的,先发送的包有可能晚到达,可以重传阈值设置超过媒体包正常传输时间的1.2倍,具体值可以综合考虑包间时长和往返时延RTT值来设置;
本发明基于音视频数据的丢包重传算法,发送端媒体包只保留序号、数据和数据长度,接收端媒体包只增加重传次数,根据重传限制在一个最大次数的阈值。也可以保留媒体包的其他信息实现基于其它类型数据(文字、图片、动画、影片等)的丢包重传;
本发明通过调整放弃重传阈值的大小,可以支持0%到100%的丢包率,很好的满足了用户对时延的各种需求,通过调小放弃重传阈值,时延也相应变小,可以最大程度的传输音视频资源,且可以将网络流量控制住,使数据丢包率降低,减少数据丢包率对声音和图像播放的影响,而且解决丢包的问题同时也考虑到了时延的问题,不会出现同一个媒体包连续1到N次的重传请求造成时延的加大的情况,可以更大程度的满足用户的各种需求,使用效果相对于传统方式更好。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (9)

1.一种实现流量控制的丢包重传方法,包括以下步骤:
(1)、将要发送的媒体数据封装成媒体包,对媒体包进行编号,在发送端创建循环发送队列,按照顺序发送媒体包,并且将媒体包放到发送队列中;
(2)、在接收端创建对应的线性接收队列,将接收到的媒体包放置到对应的线性接收队列中;
(3)、扫描接收队列,接收端将空缺序号对应的媒体包的信息发送给发送端,进行重传请求;
(4)、发送端收到重传请求后,根据重传请求包里的序号从队列中找到相应的媒体包并发送出去,直到接收端接收队列中没有不连续的序号。
2.根据权利要求1所述的一种实现流量控制的丢包重传方法,其特征在于:所述步骤(1)中,媒体数据封装成媒体包后媒体包携带媒体数据、数据长度、序号和包间时长,序号是一个无符号短整形的值,其最大值是65536,初始值为0-65536的任意值,媒体包的序号为连续的。
3.根据权利要求1所述的一种实现流量控制的丢包重传方法,其特征在于:所述步骤(1)中,循环发送队列的每一项称为一个盒子,发送后,媒体包存储在一个盒子里,盒子均可重复利用。
4.根据权利要求1所述的一种实现流量控制的丢包重传方法,其特征在于,所述步骤(1)中,媒体包传输前开辟两个传输通道,一个基于UDP的媒体通道,一个基于TCP的信令通道,媒体通道负责发送和接收媒体数据,信令通道负责发送和接收信令数据。
5.根据权利要求1所述的一种实现流量控制的丢包重传方法,其特征在于:所述步骤(2)中,线性接收队列的每一项称为一个盒子,每个盒子都有一个索引信息,索引值从0开始,数量与媒体包数量相同,接收到的媒体包需要增加接收时间信息,根据媒体包中的序号对65536取模得到一个索引,取模后的索引就是该媒体包在线性接收队列中的存储位置。
6.根据权利要求1所述的一种实现流量控制的丢包重传方法,其特征在于:所述步骤(3)中,扫描接收队列后没有出现不连续的序号,则将队列前一个媒体包提交给上层应用并将该媒体包从队列中擦除掉,例如,当接收到第一媒体包时不立即返回,其后每接收到一个媒体包,只要该媒体包的序号是连续的则返回最前面的一个媒体包,将最前面的一个媒体包提交给上层应用并将该媒体包从队列中擦除掉。
7.根据权利要求1所述的一种实现流量控制的丢包重传方法,其特征在于:所述步骤(3)中,扫描队列时需要设置一个可以重传阈值和放弃重传阈值。
8.根据权利要求6所述的一种实现流量控制的丢包重传方法,其特征在于:所述步骤(3)中,扫描到出现不连续的序号时,判断已经接收到的媒体包得到该空缺包的序号以及上一个媒体包的接收时间到现在时间的时间差,判断时间差与可以重传阈值和放弃重传阈值的大小,时间差小于可以重传阈值时不做处理,时间差大于放弃重传阈值并且小于可以重传阈值时,构造一个包含序号的重传请求包通过信令通道发送到发送端请求重传该序号的媒体包,时间差大于放弃重传阈值时返回空缺序号前面的媒体包。
9.根据权利要求1所述的一种实现流量控制的丢包重传方法,其特征在于:所述步骤(4)中,发送端开辟一个新线程用于循环处理重传请求,接收到一个重传请求包,根据重传请求包中的序号搜索发送队列,查看发送队列中是否存在该序号的媒体包,如果在发送队列中存在该媒体包,则取出该媒体包并发送出去,发送列队状态不变。
CN201910406433.XA 2019-05-15 2019-05-15 一种实现流量控制的丢包重传方法 Pending CN110225419A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910406433.XA CN110225419A (zh) 2019-05-15 2019-05-15 一种实现流量控制的丢包重传方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910406433.XA CN110225419A (zh) 2019-05-15 2019-05-15 一种实现流量控制的丢包重传方法

Publications (1)

Publication Number Publication Date
CN110225419A true CN110225419A (zh) 2019-09-10

Family

ID=67821054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910406433.XA Pending CN110225419A (zh) 2019-05-15 2019-05-15 一种实现流量控制的丢包重传方法

Country Status (1)

Country Link
CN (1) CN110225419A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113726811A (zh) * 2021-09-08 2021-11-30 苏州洛翌鑫珂智能科技有限公司 一种电梯视频监控数据传输的丢包补偿方法
CN114584845A (zh) * 2020-11-30 2022-06-03 青岛海信宽带多媒体技术有限公司 一种rtp包丢包重传方法、装置及播放终端
CN114584844A (zh) * 2020-11-30 2022-06-03 青岛海信宽带多媒体技术有限公司 一种rtp包丢包重传方法、装置及播放终端

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143137A (zh) * 2010-09-10 2011-08-03 华为技术有限公司 媒体流发送及接收方法、装置和系统
CN103533450A (zh) * 2013-06-09 2014-01-22 浙江宇视科技有限公司 一种媒体流可靠传输和接收的方法以及装置
CN104768081A (zh) * 2015-04-17 2015-07-08 武汉兴图新科电子股份有限公司 一种实现流量控制的丢包重传方法
CN105430320A (zh) * 2015-11-23 2016-03-23 兰玉杰 基于udp和tcp的音视频媒体数据传输方法
WO2018121294A1 (zh) * 2016-12-30 2018-07-05 华为技术有限公司 一种报文传输方法、终端、网络设备及通信系统
CN108377427A (zh) * 2018-01-29 2018-08-07 明博教育科技股份有限公司 一种实时视频传输方法和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143137A (zh) * 2010-09-10 2011-08-03 华为技术有限公司 媒体流发送及接收方法、装置和系统
CN103533450A (zh) * 2013-06-09 2014-01-22 浙江宇视科技有限公司 一种媒体流可靠传输和接收的方法以及装置
CN104768081A (zh) * 2015-04-17 2015-07-08 武汉兴图新科电子股份有限公司 一种实现流量控制的丢包重传方法
CN105430320A (zh) * 2015-11-23 2016-03-23 兰玉杰 基于udp和tcp的音视频媒体数据传输方法
WO2018121294A1 (zh) * 2016-12-30 2018-07-05 华为技术有限公司 一种报文传输方法、终端、网络设备及通信系统
CN108377427A (zh) * 2018-01-29 2018-08-07 明博教育科技股份有限公司 一种实时视频传输方法和系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114584845A (zh) * 2020-11-30 2022-06-03 青岛海信宽带多媒体技术有限公司 一种rtp包丢包重传方法、装置及播放终端
CN114584844A (zh) * 2020-11-30 2022-06-03 青岛海信宽带多媒体技术有限公司 一种rtp包丢包重传方法、装置及播放终端
CN114584844B (zh) * 2020-11-30 2023-09-22 青岛海信宽带多媒体技术有限公司 一种rtp包丢包重传方法、装置及智能机顶盒
CN114584845B (zh) * 2020-11-30 2023-10-20 青岛海信宽带多媒体技术有限公司 一种rtp包丢包重传方法、装置及智能机顶盒
CN113726811A (zh) * 2021-09-08 2021-11-30 苏州洛翌鑫珂智能科技有限公司 一种电梯视频监控数据传输的丢包补偿方法

Similar Documents

Publication Publication Date Title
US6700893B1 (en) System and method for controlling the delay budget of a decoder buffer in a streaming data receiver
US5918002A (en) Selective retransmission for efficient and reliable streaming of multimedia packets in a computer network
EP1420590A1 (en) Content providing apparatus and content providing method
US7310694B2 (en) Reducing information reception delays
CN110225419A (zh) 一种实现流量控制的丢包重传方法
US8699522B2 (en) System and method for low delay, interactive communication using multiple TCP connections and scalable coding
JP2024519363A (ja) ゲームデータの処理方法、装置、コンピュータ機器、及びコンピュータプログラム
CN101552660B (zh) 对流媒体数据进行重传、播放的方法、装置及通信系统
CN104768081B (zh) 一种实现流量控制的丢包重传方法
CN101030938B (zh) QoS自适应的P2P流媒体数据组织与传输系统及方法
CN103780971A (zh) 一种互联网条件下基于rudp的实时视频传输方法
EP2028861A2 (en) Method and apparatus for changing received streaming content channels
US20080137728A1 (en) System, Transmitter, Receiver, Method and Software For Transmitting and Receiving Ordered Sets of Video Frames
CN108696773A (zh) 一种实时视频的传输方法及装置
CN107295364B (zh) 用于弹幕视频的实时流传输控制方法、控制装置
CN206908759U (zh) 一种视频组播丢包重传系统
CN102006476A (zh) 一种传输和接收实时视频数据的优化处理方法
CN103096183B (zh) 一种高效流媒体传输方法
CN106713345A (zh) 一种流媒体传输方法
CN101944982B (zh) 基于时间驱动滑动窗口协议的流媒体实时转发方法
CN108234080A (zh) 一种音视频传输方法
CN109981693A (zh) 3d内容分发平台的速率控制方法及系统
CN115209163B (zh) 数据处理方法、装置、存储介质及电子设备
TW201019768A (en) Communications system and data transmitting method
US7673060B2 (en) Systems and methods for providing reliable multicast messaging in a multi-node graphics system

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190910

RJ01 Rejection of invention patent application after publication