CN105721950B - 一种可靠媒体流传输装置 - Google Patents

一种可靠媒体流传输装置 Download PDF

Info

Publication number
CN105721950B
CN105721950B CN201610192473.5A CN201610192473A CN105721950B CN 105721950 B CN105721950 B CN 105721950B CN 201610192473 A CN201610192473 A CN 201610192473A CN 105721950 B CN105721950 B CN 105721950B
Authority
CN
China
Prior art keywords
data
media stream
module
caching
unit
Prior art date
Application number
CN201610192473.5A
Other languages
English (en)
Other versions
CN105721950A (zh
Inventor
周迪
关春天
Original Assignee
浙江宇视科技有限公司
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 浙江宇视科技有限公司 filed Critical 浙江宇视科技有限公司
Priority to CN201610192473.5A priority Critical patent/CN105721950B/zh
Publication of CN105721950A publication Critical patent/CN105721950A/zh
Application granted granted Critical
Publication of CN105721950B publication Critical patent/CN105721950B/zh

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/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/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • 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

Abstract

本发明公开了一种可靠媒体流传输装置,用于在发送端设备与接收端设备间进行可靠媒体流传输,所述可靠媒体流传输装置包括设置在发送端设备侧的第一单元和设置在接收端设备侧的第二单元,所述第一单元包括媒体流转换模块、媒体流备份发送模块和第一通讯模块,所述第二单元包括媒体流接收模块、丢包处理模块、媒体流发送模块和第二通讯模块。丢包处理模块在丢包时发送数据重传请求,媒体流备份发送模块在收到第二单元发送的数据重传请求后,判断缓存中是否存在待重传的媒体流数据,如果存在则对该媒体流数据进行重传,否则忽略该重传请求。本发明通过可靠媒体流传输装置解决了媒体流数据在传输过程中丢包的问题,实现了媒体流数据的可靠传输。

Description

一种可靠媒体流传输装置

技术领域

本发明属于媒体流传输领域,尤其涉及一种可靠媒体流传输装置。

背景技术

随着IP监控技术、互联网的推广普及,互联网接入越来越方便,跨地区部门分支机构、商业集团全球分布越来越多地需要远程互联网视频监控。媒体流数据的丢包、乱序、延时会带来视频图像的卡顿、花屏等严重后果,影响用户的体验。而在广域网或者无线网络环境下媒体流数据出现丢包、乱序无法避免,因此如何实现媒体流数据的可靠传输是提高视频监控图像质量的关键。

媒体流数据传输一般采用UDP进行传输,UDP传输的实时性很好,传输效率很高,但UDP协议没有重传机制,在出现丢包的情况下就会造成视频图像的质量下降。在申请号为CN201310426244.1的专利申请中,申请人通过在发送端设备实行媒体流数据备份,在接收端设备实行媒体流数据缓存,当接收端设备检测到媒体流数据出现丢包时通知发送端设备进行数据重传,实现了UDP数据的可靠传输。为了适应对监控视频实时性要求较高的应用,申请号为CN201410483645.5的专利申请对申请号为CN201310426244.1的专利申请进行了改进,在该专利申请中,根据预定的策略选取重要的媒体流数据进行标注,而对于一般的媒体数据流则不进行标注,系统只对进行标注过的媒体数据流进行备份缓存和重传,从而减少了需要进行重传的数据量,提高了监控视频的实时性。

上述专利申请虽然解决了UDP包的可靠传输,但它们都是通过重新编写发送端设备和接收端设备的软件来实现的,只有在使用了新软件的设备上才能实现,而现网中大量的各个厂家的原有设备还是无法实现可靠的媒体流数据传输。

发明内容

本发明的目的是提供一种可靠媒体流传输装置,以解决现网中大量不具备可靠媒体流传输的视频监控系统在媒体流数据传输过程存在乱序和丢包,影响监控视频质量的问题。

为了实现上述目的,本发明技术方案如下:

一种可靠媒体流传输装置,用于在发送端设备与接收端设备间进行可靠媒体流传输,所述可靠媒体流传输装置包括设置在发送端设备侧的第一单元和设置在接收端设备侧的第二单元,所述第一单元包括媒体流转换模块、媒体流备份发送模块和第一通讯模块,所述第二单元包括媒体流接收模块、丢包处理模块、媒体流发送模块和第二通讯模块,其中:

所述媒体流转换模块,用于接收发送端设备发送过来的媒体流数据,并将接收到的媒体流数据转换成UDP数据;

所述媒体流备份发送模块,用于将转换后的UDP数据备份到缓存中并发送,在收到第二单元发送的数据重传请求后,根据数据重传请求中包含的数据包序列号判断缓存中是否存在待重传的媒体流数据,如果存在则对该媒体流数据进行重传,否则忽略该重传请求;

所述第一通讯模块,用于与发送端设备以及第二单元进行通讯;

所述媒体流接收模块,用于接收从第一单元发送过来的媒体流数据,并将接收的媒体流数据缓存在缓存中;

所述丢包处理模块,用于检测接收的媒体流数据是否存在丢包,如果存在丢包则发送数据重传请求,该数据重传请求中包括丢失的数据包序列号;

所述媒体流发送模块,用于在存在丢包时,则在收到重传的数据,或者超过设定的时间T2没有收到重传的数据时,将缓存的媒体流数据发送给接收端设备,否则直接将缓存的媒体流数据发送给接收端设备;

所述第二通讯模块,用于与接收端设备以及第一单元进行通讯。

进一步地,所述媒体流转换模块接收发送端设备发送过来的媒体流数据,并将接收到的媒体流数据转换成UDP数据,执行如下操作:

检查接收到的媒体流数据的数据类型,将接收到的媒体流数据转换成UDP单播数据或UDP组播数据。

从而将接收到的媒体流数据无论是TCP还是UDP的数据,转换为UDP单播数据或UDP组播数据,在第一单元与第二单元间传输,实现可靠UDP传输。

进一步地,所述媒体流备份发送模块对于备份到缓存的媒体流数据,还进行如下处理:

在备份的媒体流数据超过设定的时间T1时,丢弃该数据。

进一步地,所述丢包处理模块在发送数据重传请求后,间隔设定的时间,如果还未收到重传的数据包,则再次发送数据重传请求。

进一步地,所述媒体流备份发送模块在判断缓存中还存在待重传的媒体流数据时,还执行如下操作:

判断重传次数是否超过预设值N,超过则不进行重传,同时将该媒体流数据从缓存中清除。

进一步地,所述媒体流备份发送模块在判断缓存中还存在待重传的媒体流数据时,还执行如下操作:

如果最后重传时间与当前时间差小于预设的最小重传间隔,不进行重传。

通过设置T1、T2、T4,为数据包的重传设置了能够容忍的时间限制,即保证了缓存的利用率,又为丢包重传创造了最大的可能,保证了视频流的可靠传输。

进一步地,所述第二单元还包括排序模块,用于对缓存中的媒体流数据按照数据包序列号进行排序,以便媒体流发送模块按照数据包序列号顺序发送媒体流数据。

或者,所述丢包处理模块在检测接收的媒体流数据是否存在丢包时,还对缓存的媒体流数据按照数据包序列号进行重排,所述媒体流发送模块在将缓存的媒体流数据发送给接收端设备时,按照数据包序列号顺序发送。

由于在对媒体流数据进行发送时,一般都是按照编码的顺序即数据包序列号的顺序发送,而在传输的过程中存在乱序问题,因此本发明第二单元对存在乱序时的数据进行重排,对数据包按照序列号发送,有利于进行丢包排查,并消除了乱序发送的问题。

进一步地,第一单元还包括缓存管理模块,用于在数据突发时调整第一单元各个输入和输出端口发送数据的速度。通过缓存管理模块对第一单元接入侧GE口和上行GE口各个缓存区的检测、管理以及接入侧GE口和上行GE口通过互相发送消息来调整数据发送的速度,实现了统一协调多个缓存区的缓存空间,更好的解决了数据突发的问题。

本发明提出了一种可靠媒体流传输装置,通过在不具备可靠媒体流传输视频监控系统的发送端设备和接收端设备之间增加一对可靠媒体流传输设备,将不同类型的原始媒体流数据转换成进行可靠媒体流传输的UDP数据,并对UDP数据进行备份缓存和丢包重传,实现了媒体流数据的可靠传输。本发明的第一单元还通过分级缓存和统一协调管理多个缓存区的机制实现了对突发数据的有效缓存,避免了数据的丢失。

附图说明

图1为本发明可靠媒体流传输装置组网结构示意图;

图2为本发明可靠媒体流传输装置内部结构示意图。

具体实施方式

下面结合附图和实施例对本发明技术方案做进一步详细说明,以下实施例不构成对本发明的限定。

如图1所示,本实施例一种可靠媒体流传输装置,用于在发送端设备与接收端设备间进行可靠媒体流传输,包括第一单元和第二单元,第一单元放在发送端设备侧,第二单元放在接收端设备侧,发送端设备和接收端设备采用普通的媒体流传输方式,本身不具备可靠媒体流传输能力,通过可靠媒体流传输装置对原始媒体流数据进行转换、备份缓存和重传实现媒体流数据的可靠传输。在本实施例以视频监控系统为例,发送端设备为编码侧设备,例如网络摄像机IPC、编码器等,接收端设备为解码侧设备,例如播放客户端、大屏显示装置等。

如图2所示,本实施例第一单元包括媒体流转换模块、媒体流备份发送模块和第一通讯模块;第二单元包括媒体流接收模块、丢包处理模块、媒体流发送模块和第二通讯模块。

发送端设备在发送媒体流数据之前需要先和接收端设备进行通讯协议沟通来建立连接,本实施例中的第一通讯模块和第二通讯模块实现发送端设备和接收端设备之间的通讯协议转发和传输。具体为:第一通讯模块接收到发送端设备发送的协议消息后转发给第二通讯模块,第二通讯模块收到第一通讯模块转发过来的协议消息后再转发给接收端设备;第二通讯模块接收到接收端设备发送的协议消息后转发给第一通讯模块,第一通讯模块收到第二通讯模块转发过来的协议消息后再转发给发送端设备。通过第一通讯模块和第二通讯模块对通讯协议的转发,发送端设备和接收端设备建立数据连接。另外,第一通讯模块和第二通讯模块还实现第一单元与第二单元之间数据重传请求的发送。

建立数据连接之后,发送端设备将媒体流数据发送给第一单元,发送端设备发送的媒体流数据包括多种数据类型,例如TCP单播数据、UDP组播数据和UDP单播数据。媒体流转换模块在接收到发送端设备发送过来的媒体流数据后,首先进行解包,将数据重新封装为UDP数据在第一单元与第二单元间发送,便于实现基于可靠UDP的传输。在第一单元与第二单元之间,不限于是采用组播还是采用单播进行发送。如果是单个第一单元对应单个第二单元,则一般采用UDP单播发送;而如果是单个第一单元对应多个第二单元,则可以采用UDP组播或UDP单播来发送。至于第二单元发送给接收端设备的媒体流数据,是采用单播还是组播发送,是由第二单元注册到视频监控系统,由视频监控系统下发具体的策略来进行配置,这里不再赘述。

例如,媒体流转换模块接收到媒体流数据后,首先检测数据的类型,如果媒体流数据为TCP单播数据,则先将TCP单播数据进行解包,将数据重新封装成UDP单播数据,然后将UDP单播数据发送给媒体流备份模块进行处理;如果媒体流数据为UDP组播数据则直接将数据的IP包头中的目的IP地址由组播IP地址改为单播IP地址,这样就将UDP组播数据转换成了UDP单播数据,然后将UDP单播数据发送给媒体流备份发送模块进行处理;如果媒体流数据为UDP单播数据则不进行转换,直接将UDP单播数据发送给媒体流备份发送模块进行处理。

媒体流备份发送模块在收到媒体流转换模块发送过来的UDP数据后,将数据保存在单独开辟的缓存区进行备份,并发送备份的媒体流数据。对于备份的媒体流数据,媒体流备份发送模块进行如下的处理:

在备份的媒体流数据超过设定的时间T1时,丢弃该数据;

或,在备份的媒体流数据的重传次数超过预设值N时,丢弃该数据。

本实施例通过对备份的媒体流数据设置上述的丢弃规则,可以使得缓存中的备份媒体流数据得以及时地清除。即备份的媒体流数据超过设定的时间T1时,说明该备份的媒体流数据已经可靠地发送到了接收端设备侧,备份在缓存中已经没有必要,需要进行清除并将缓存空间留给下一个需要备份的媒体流数据;或者已经重传了预设值N次,再重传已经没有实际的意义,需要采用其他方法来消除网络的丢包故障,需要进行清除并将缓存空间留给下一个需要备份的数据。

本发明并不限于上述两条丢弃规则,也可以直接采用先到先存,缓存空间满了的时候删除最先存入的备份媒体流数据的方式,这里不再赘述。

第二单元的媒体流接收模块接收到第一单元发送过来的UDP数据后,将数据按接收的先后顺序缓存在单独开辟的缓存区内。需要注意的是,第一单元与第二单元都设置了单独开辟的缓存区,各单元内的模块对于缓存的操作是在自己单元内单独开辟的缓存区操作。

丢包处理模块检测媒体流接收模块接收并缓存的媒体流数据是否存在丢包,如果存在丢包则发送数据重传请求,该数据重传请求中包括丢失的数据包序列号。

具体的丢包检测,在本实施例中通过依次对缓存区中的每个数据包进行序列号检测,如果检测到的数据包序列号为连续序列号则认为不存在丢包,不进行任何处理。如果检测到某个数据包序列号和已经检测到的数据包序列号中的最大序列号不连续并且大于已经检测到的数据包序列号中的最大序列号时,启动定时器T3,同时继续进行后续数据包序列号检测。如果在T3定时器超时前,丢包处理模块检测到了丢失的数据包序列号,则判断数据在传输过程中出现了乱序,按数据包序列号从小到大的顺序对乱序的数据进行重新排序;如果T3定时器超时后,丢包处理模块还没有检测到丢失的数据包序列号,则认为出现了丢包,需要发送数据重传请求给第一单元,请求重传丢失的数据包数据。

下面对丢包处理模块处理数据乱序和丢包的过程进行举例说明:假设丢包处理模块检测到当前数据的序列号为205,已经检测到的数据包序列号中最大的序列号为202,当前的数据包序列号205大于已经检测到的数据包序列号中最大的序列号202,且序列号不连续,判断数据出现了乱序或丢包,启动定时器T3,同时继续检测后续数据包序列号,在T3超时之前检测到的后续数据包序列号为206、207、208、203、209、210,序列号206、207、208与已经检测到的最大序列号205连续,因此判断序列号为206、207、208的数据为正常数据,不进行处理;序列号203和已经检测到的最大序列号208不连续,但序列号203小于208,因此判断序列号为203的数据出现了乱序,将序列号为203的数据进行重新排序,排在序列号为202的数据后面;序列号209、210和已经检测到的最大序列号208连续,判断序列号为209、210的数据为正常数据,不进行处理;由于在定时器T3超时后仍没有收到序列号为204的数据,因此发送数据重传请求,请求重传序列号为204的数据,收到重传的序列号为204的数据后判断为乱序,将序列号为204的数据进行重新排序,排在序列号为203的数据后面。这样丢包处理模块就完成了这部分数据的乱序和丢包处理。

进一步地,丢包处理模块在发送数据重传请求后,间隔设定的时间T4,如果还未收到重传的数据包,则再次发送数据重传请求。即本实施例可以进行一次重传请求,也可以进行多次重传请求。

数据重传请求中包含丢失的数据包序列号,媒体流备份发送模块接收到数据重传请求后,根据请求重传的数据包序列号判断缓存中是否存在待重传的媒体流数据,如果存在则对该媒体流数据进行重传,否则忽略该重传请求。

具体地,媒体流备份发送模块,在收到数据重传请求后,根据请求重传的数据包序列号判断缓存中是否存在待重传的媒体流数据。容易理解的是,如果备份数据在缓存中超过了设定的时间T1,则该数据已经被删除,在缓存中就不存在,这时不必进行重传。如果存在,则需要进行下一步的判定:

判断重传次数是否超过预设值N,超过则不进行重传,同时将该媒体流数据从缓存中清除。媒体流备份发送模块通过这样的操作,满足了对备份的数据设置的第二条丢弃规则。

容易理解的是,对于重传次数,可以在第一单元中单独设置一个计数器,来对要求重传的数据包序列号进行计数,从而统计重传次数。也可以将该计数器设置在媒体流备份发送模块中,本发明对此不做具体的限制。

同时,为了避免在重传后,第二单元未收到重传的数据时,又发送重传请求来请求重传,本实施例媒体流备份发送模块在判断缓存中还存在待重传的媒体流数据时,还执行如下操作:

如果最后重传时间与当前时间差小于预设的最小重传间隔,不进行重传。

容易理解的是,本实施例的第一单元还可以设置一单独的记录模块,来记录每次重传的时间,以便计算最后重传时间与当前时间的时间差。或者在媒体流备份发送模块中设置该记录模块,本发明对此不做具体的限制。

本实施例第二单元的媒体流发送模块,在不存在丢包的情况下,直接将媒体流数据发送给接收端设备,在存在丢包时,则在收到重传的数据,或者超过设定的时间没有收到重传的数据时,将媒体流数据发送给接收端设备。

具体地,本实施例对于媒体流接收模块单独开辟的缓存空间内的媒体流数据,分以下三种情况分别进行发送:

1、接收的媒体流数据不存在丢包的情况下,直接将媒体流数据发送给接收端设备。

2、在接收的媒体流数据存在丢包的情况下,丢包处理模块发起数据重传请求,如果收到重传的数据则将媒体流数据发送给接收端设备。

3、在接收的媒体流数据存在丢包的情况下,丢包处理模块发起数据重传请求,如果超过设定的时间T2还没有收到重传的数据时,直接将缓存的数据发送给接收端设备,不再等待重传。

可见,通过设置T2,避免了没有收到重传的数据时造成的始终无法发送数据的情况,尽可能保证了媒体流数据的发送。本实施例媒体流发送模块在数据发送完成后,即清空缓存区内已经发送的数据,进行后续数据的接收和处理。

需要说明的是,媒体流数据从第一单元发送到第二单元,媒体流数据可能会经过不同的路径,而不同路径上数据传输的时延和抖动不同,这样会造成第二单元接收到的数据出现乱序,设置T3的目的就是为了解决数据的乱序问题,设置T3的值时要充分考虑不同路径上数据传输的时延差和抖动,使T3大于数据在不同路径上传输的最大时延差,确保在T3超时之前能收到所有乱序的数据。同时在T3超时后再发送数据重传请求可以避免因数据出现乱序造成不必要的数据重传,减小可靠媒体流传输设备和数据传输网络的负荷。另外,设置器T1和T2的值时也要充分考虑数据传输的时延和抖动,确保在T1和T2超时之前,丢失的数据能完成至少一次重传。而设置的时间T4小于T2,使得在T2超时之前,有机会进行第二次重传请求。在判断是否达到设置的具体时间T1、T2、T3时,一般通过设置定时器来实现,这里不再赘述。

需要说明的是,发送端设备发送过来的媒体流数据的数据包都带有序列号,一般都是按照编码的顺序即数据包序列号的顺序发送,媒体流转换模块在对发送端设备发送过来的媒体流数据进行转换时,会采用数据包原来的序列号,不对数据包的序列号进行任何改变。

在本实施例中,媒体流备份发送模块在发送媒体流数据时,按照数据包序列号顺序发送,由于在传输过程中有可能存在乱序问题,在第二单元需要对乱序的数据包进行重排,从而丢包处理模块可以根据数据包序列号来判断是否出现丢包。对应地,丢包处理模块在检测接收的媒体流数据是否存在丢包时,还对缓存的媒体流数据按照数据包序列号进行重排,媒体流发送模块在将缓存的媒体流数据发送给接收端设备时,按照数据包序列号顺序发送。或者,第二单元设置有专门用于对数据包进行排序的排序模块,对缓存中的媒体流数据按照数据包序列号进行排序,以便媒体流发送模块按照数据包序列号顺序发送媒体流数据。按照数据包序列号进行重排有利于快速检测到丢失的数据包,同时媒体流发送模块在将缓存的媒体流数据发送给接收端设备时,按照数据包序列号顺序发送,更便于接收端设备在接收到媒体流数据后,能够快速地进行解码。

本实施例中的第一单元有多个接入侧GE口和一个上行GE口,接入侧GE口用于接入发送端设备,例如网络摄像机IPC,上行GE口用于和可靠媒体流传输设备进行对接。由于有多个接入侧GE口,但只有一个上行GE口,当接入侧多个GE口流量突发时,可能会造成所有GE入口流量总和超过1G,大于上行GE口的数据传输速度,导致数据丢失。为了避免出现上述情况,在进行网络规划时需要控制好接入到第一单元的发送端设备的数量,使所有发送端设备发送媒体流数据的流量之和小于或等于1G。

在此基础上,本实施例第一单元还包括通过缓存管理模块,来进一步处理数据突发,具体为:每个接入侧的GE口都分配有入口缓存和出口缓存,入口缓存用于缓存接入侧GE口接收到的数据,出口缓存用于缓存接入侧GE口发送给上行口的数据。上行GE口也分配有缓存,用于缓存各个接入侧GE口发送过来的数据。这样在数据突发时可以通过三个缓存区进行分级缓存,统一协调处理。

具体地,当发生数据突发时,如果缓存管理模块检测到某个接入侧GE口的入口缓存已存储数据的比例达到预设的阈值C1时,则该GE口向上行口发送入口缓存将满,请求提高发送数据速度的消息。上行GE口确认后,该接入侧GE口按预设的比例提高数据发送速度,并持续一定的时间。当缓存管理模块检测到上行GE口对应某个接入侧GE口的缓存已存储数据的比例达到预设的阈值C2时,上行GE口向该接入侧GE口发送降速请求,接入侧GE口收到降速请求后按预设的比例降低数据发送的速度,并持续一定的时间。通过缓存管理模块对各个缓存区的检测、管理以及接入侧GE口和上行GE口通过互相发送消息来调整数据发送的速度,实现了统一协调多个缓存区的缓存空间,更好的解决了数据突发的问题。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (8)

1.一种可靠媒体流传输装置,用于在发送端设备与接收端设备间进行可靠媒体流传输,其特征在于,所述可靠媒体流传输装置包括设置在发送端设备侧的第一单元和设置在接收端设备侧的第二单元,所述第一单元包括媒体流转换模块、媒体流备份发送模块和第一通讯模块,所述第二单元包括媒体流接收模块、丢包处理模块、媒体流发送模块和第二通讯模块,其中:
所述媒体流转换模块,用于接收发送端设备发送过来的媒体流数据,并将接收到的媒体流数据转换成UDP数据;
所述媒体流备份发送模块,用于将转换后的UDP数据备份到缓存中并发送,在收到第二单元发送的数据重传请求后,根据数据重传请求中包含的数据包序列号判断缓存中是否存在待重传的媒体流数据,如果存在则对该媒体流数据进行重传,否则忽略该重传请求;
所述第一通讯模块,用于与发送端设备以及第二单元进行通讯;
所述媒体流接收模块,用于接收从第一单元发送过来的媒体流数据,并将接收的媒体流数据缓存在缓存中;
所述丢包处理模块,用于检测接收的媒体流数据是否存在丢包,如果存在丢包则发送数据重传请求,该数据重传请求中包括丢失的数据包序列号;
所述媒体流发送模块,用于在存在丢包时,则在收到重传的数据,或者超过设定的时间T2没有收到重传的数据时,将缓存的媒体流数据发送给接收端设备,否则直接将缓存的媒体流数据发送给接收端设备;
所述第二通讯模块,用于与接收端设备以及第一单元进行通讯;
其中,所述第一单元还包括缓存管理模块,用于在数据突发时调整第一单元各个输入和输出端口发送数据的速度,所述第一单元的每个接入侧端口都分配有入口缓存和出口缓存,入口缓存用于缓存接入侧端口接收到的数据,出口缓存用于缓存接入侧端口发送给上行端口的数据,上行端口也分配有缓存,用于缓存各个接入侧端口发送过来的数据;当发生数据突发时,如果缓存管理模块检测到接入侧端口的入口缓存已存储数据的比例达到预设的阈值C1时,则该端口向上行口发送入口缓存将满,请求提高发送数据速度的消息;上行端口确认后,该接入侧端口按预设的比例提高数据发送速度,并持续一定的时间;当缓存管理模块检测到上行端口对应接入侧端口的缓存已存储数据的比例达到预设的阈值C2时,上行端口向该接入侧端口发送降速请求,接入侧端口收到降速请求后按预设的比例降低数据发送的速度,并持续一定的时间。
2.根据权利要求1所述可靠媒体流传输装置,其特征在于,所述媒体流转换模块接收发送端设备发送过来的媒体流数据,并将接收到的媒体流数据转换成UDP数据,执行如下操作:
检查接收到的媒体流数据的数据类型,将接收到的媒体流数据转换成UDP单播数据或UDP组播数据。
3.根据权利要求1所述可靠媒体流传输装置,其特征在于,所述媒体流备份发送模块对于备份到缓存的媒体流数据,还进行如下处理:
在备份的媒体流数据超过设定的时间T1时,丢弃该数据。
4.根据权利要求1所述可靠媒体流传输装置,其特征在于,所述丢包处理模块在发送数据重传请求后,间隔设定的时间T4,如果还未收到重传的数据包,则再次发送数据重传请求。
5.根据权利要求4所述可靠媒体流传输装置,其特征在于,所述媒体流备份发送模块在判断缓存中还存在待重传的媒体流数据时,还执行如下操作:
判断重传次数是否超过预设值N,超过则不进行重传,同时将该媒体流数据从缓存中清除。
6.根据权利要求4所述可靠媒体流传输装置,其特征在于,所述媒体流备份发送模块在判断缓存中还存在待重传的媒体流数据时,还执行如下操作:
如果最后重传时间与当前时间差小于预设的最小重传间隔,不进行重传。
7.根据权利要求1所述可靠媒体流传输装置,其特征在于,所述第二单元还包括排序模块,用于对缓存中的媒体流数据按照数据包序列号进行排序,以便媒体流发送模块按照数据包序列号顺序发送媒体流数据。
8.根据权利要求1所述可靠媒体流传输装置,其特征在于,所述丢包处理模块在检测接收的媒体流数据是否存在丢包时,还对缓存的媒体流数据按照数据包序列号进行重排,所述媒体流发送模块在将缓存的媒体流数据发送给接收端设备时,按照数据包序列号顺序发送。
CN201610192473.5A 2016-03-30 2016-03-30 一种可靠媒体流传输装置 CN105721950B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610192473.5A CN105721950B (zh) 2016-03-30 2016-03-30 一种可靠媒体流传输装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610192473.5A CN105721950B (zh) 2016-03-30 2016-03-30 一种可靠媒体流传输装置

Publications (2)

Publication Number Publication Date
CN105721950A CN105721950A (zh) 2016-06-29
CN105721950B true CN105721950B (zh) 2019-04-09

Family

ID=56159369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610192473.5A CN105721950B (zh) 2016-03-30 2016-03-30 一种可靠媒体流传输装置

Country Status (1)

Country Link
CN (1) CN105721950B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106131710B (zh) * 2016-07-14 2019-03-26 天彩电子(深圳)有限公司 一种视频数据重传的方法及其系统
CN106603481A (zh) * 2016-07-22 2017-04-26 深圳曼塔智能科技有限公司 数据传输方法及装置
CN106330930A (zh) * 2016-08-29 2017-01-11 烽火通信科技股份有限公司 基于流媒体丢包二次重传系统及其方法
CN108696773A (zh) * 2017-04-11 2018-10-23 上海谦问万答吧云计算科技有限公司 一种实时视频的传输方法及装置
CN110351020A (zh) * 2018-04-03 2019-10-18 华为技术有限公司 一种传输数据的方法、装置和系统
CN108616334B (zh) * 2018-05-10 2020-09-29 南京中兴软件有限责任公司 报文传输方法及装置、系统、存储介质、电子装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101304302A (zh) * 2008-06-06 2008-11-12 广东威创视讯科技股份有限公司 视频数据的传输方法及其系统
CN102447606A (zh) * 2010-09-30 2012-05-09 重庆重邮信科通信技术有限公司 一种数据传输流量控制方法及装置
CN103533450A (zh) * 2013-06-09 2014-01-22 浙江宇视科技有限公司 一种媒体流可靠传输和接收的方法以及装置
CN104243267A (zh) * 2014-09-18 2014-12-24 百度在线网络技术(北京)有限公司 数据传输方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8478890B2 (en) * 2011-07-15 2013-07-02 Damaka, Inc. System and method for reliable virtual bi-directional data stream communications with single socket point-to-multipoint capability

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101304302A (zh) * 2008-06-06 2008-11-12 广东威创视讯科技股份有限公司 视频数据的传输方法及其系统
CN102447606A (zh) * 2010-09-30 2012-05-09 重庆重邮信科通信技术有限公司 一种数据传输流量控制方法及装置
CN103533450A (zh) * 2013-06-09 2014-01-22 浙江宇视科技有限公司 一种媒体流可靠传输和接收的方法以及装置
CN104243267A (zh) * 2014-09-18 2014-12-24 百度在线网络技术(北京)有限公司 数据传输方法及装置

Also Published As

Publication number Publication date
CN105721950A (zh) 2016-06-29

Similar Documents

Publication Publication Date Title
US10164858B2 (en) Apparatus and methods for monitoring and diagnosing a wireless network
CN105357068B (zh) 一种面向应用QoS保障的OpenFlow网络流量控制方法
Floyd A report on recent developments in TCP congestion control
La Porta et al. Architectures, features, and implementation of high-speed transport protocols
Floyd et al. A reliable multicast framework for light-weight sessions and application level framing
Zhang et al. Understanding the power of pull-based streaming protocol: Can we do better?
US6577599B1 (en) Small-scale reliable multicasting
RU2357379C2 (ru) Способы и устройство для гибридной многоадресной и одноадресной передач в сети передачи данных
CN101282281B (zh) 一种媒体分发系统、装置及流媒体播放方法
US8185809B2 (en) Multi-output packet server with independent streams
Vicisano et al. TCP-like congestion control for layered multicast data transfer
US6567929B1 (en) Network-based service for recipient-initiated automatic repair of IP multicast sessions
US8503294B2 (en) Transport layer relay method, transport layer relay device, and program
US6275471B1 (en) Method for reliable real-time multimedia streaming
Aggarwal et al. Understanding the performance of TCP pacing
KR200404695Y1 (ko) 매시 네트워크에서 사용되는 무선 스테이션
US7970828B2 (en) Liveness monitoring in a publish/subscribe messaging system
US7639614B2 (en) Distribution-tuning mechanism for link aggregation group management
US8437267B2 (en) System and method for recovery of packets in overlay networks
Obraczka Multicast transport protocols: a survey and taxonomy
CA2564363C (en) Method and apparatus for group communication with end-to-end reliability
US20140043994A1 (en) Providing Feedback To Media Senders Over Real Time Transport Protocol (RTP)
CN103533450B (zh) 一种媒体流可靠传输和接收的方法以及装置
US6505253B1 (en) Multiple ACK windows providing congestion control in reliable multicast protocol
US9717035B2 (en) Methods and system in supporting real time services with spectrum efficiency in a satellite network

Legal Events

Date Code Title Description
PB01 Publication
C06 Publication
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
GR01 Patent grant
GR01 Patent grant