CN106130746A - 一种数据传输方法及装置 - Google Patents
一种数据传输方法及装置 Download PDFInfo
- Publication number
- CN106130746A CN106130746A CN201610539735.0A CN201610539735A CN106130746A CN 106130746 A CN106130746 A CN 106130746A CN 201610539735 A CN201610539735 A CN 201610539735A CN 106130746 A CN106130746 A CN 106130746A
- Authority
- CN
- China
- Prior art keywords
- repeat requests
- requests message
- multicast group
- decoding end
- packet
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
- H04L12/1868—Measures taken after transmission, e.g. acknowledgments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
- H04L12/1868—Measures taken after transmission, e.g. acknowledgments
- H04L12/1872—Measures taken after transmission, e.g. acknowledgments avoiding ACK or NACK implosion
-
- 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
- H04L65/764—Media network packet handling at the destination
Abstract
本发明提供一种数据传输方法及装置,所述方法包括:当发生数据包丢失时,判断是否接收到同一组播组中的其它解码端设备发送的第一重传请求报文;若接收到所述第一重传请求报文,则确定所述第一重传请求报文请求重传的第一目标数据包;若自身丢失的数据包中存在未包括在所述第一目标数据包中的第二目标数据包,则发送用于请求重传所述第二目标数据包的第二重传请求报文,其中,所述第一重传请求报文和所述第二重传请求报文可达编码端设备以及所述组播组中发送方设备之外的其它设备。应用本发明实施例可以降低编码端设备的负荷,并减少网络资源浪费。
Description
技术领域
本发明涉及视频监控技术领域,尤其涉及一种数据传输方法及装置。
背景技术
随着IP(Internet Protocol,互联网协议)监控技术、互联网的推广普及,互联网接入越来越方便,跨地区部门分支机构、商业集团全球分布越来越多地需要远程互联网视频监控。
当视频监控数据在网络中传输时,不可避免的会发生数据包丢失的情况,在该情况下,解码端设备(如解码器)需要向编码端设备(如IPC(IP Camera,网络摄像机))发送重传请求报文,请求编码端设备重新发送丢失的数据包。
当编码端设备通过组播方式向解码端设备发送视频监控数据时,若同一组播组中多个解码端设备发生数据包丢失,则该多个解码端设备都会向编码端设备发送重传请求报文;编码端设备接收到重传请求报文时,会将请求重传的数据包以组播的方式发送给该组播组内的解码端设备。
然而实践发现,在上述组播重传方案中,当同一组播组中多个解码端设备丢失相同数据包时,该多个解码端设备均需要向编码端设备请求重传该丢失的数据包,相应地,编码端设备则需要将该丢失的数据包多次组播给组播组内的各解码端设备,造成发送端设备工作负荷过大,且浪费了网络资源。
发明内容
本发明提供一种数据传输方法及装置,以解决现有组播重传方案中同一组播组多个解码端设备发生数据丢失时可能会导致编码端多次对同一数据包进行重传的问题。
根据本发明的第一方面,提供一种数据传输方法,应用于视频监控系统中的解码端设备,所述视频监控系统包括编码端设备以及解码端设备,所述编码端设备通过可靠用户数据报文协议UDP组播方式向解码端设备发送视频流,所述方法包括:
当发生数据包丢失时,判断是否接收到同一组播组中的其它解码端设备发送的第一重传请求报文;
若接收到所述第一重传请求报文,则确定所述第一重传请求报文请求重传的第一目标数据包;
若自身丢失的数据包中存在未包括在所述第一目标数据包中的第二目标数据包,则发送用于请求重传所述第二目标数据包的第二重传请求报文,其中,所述第一重传请求报文和所述第二重传请求报文可达编码端设备以及所述组播组中发送方设备之外的其它设备。
根据本发明的第二方面,提供一种数据传输装置,应用于视频监控系统中的解码端设备,所述视频监控系统包括编码端设备以及解码端设备,所述编码端设备通过可靠用户数据报文协议UDP组播方式向解码端设备发送视频流,所述装置包括:
判断单元,用于当发生数据包丢失时,判断是否接收到同一组播组中的其它解码端设备发送的第一重传请求报文;
确定单元,用于若所述判断单元判断接收到所述第一重传请求报文,则确定所述第一重传请求报文请求重传的第一目标数据包;
发送单元,用于若自身丢失的数据包中存在未包括在所述第一目标数据包中的第二目标数据包,则发送用于请求重传所述第二目标数据包的第二重传请求报文,其中,所述第一重传请求报文和所述第二重传请求报文可达编码端设备以及所述组播组中发送方设备之外的其它设备。
应用本发明公开的技术方案,通过使解码端设备发送的重传请求报文既可达作为组播源的编码端设备,又可达同一组播组中的其它设备,当解码端设备发生数据包丢失,且接收到同一组播组中的其它解码端设备发送的第一重传请求报文时,解码端设备可以确定该第一重传请求报文请求重传的第一目标数据包,并当自身丢失的数据包中存在未包括在第一目标数据包中的第二目标数据包时,发送用于请求重传该第二目标数据包的第二重传请求报文,与现有组播重传方案相比,避免了同一组播组中多个解码端设备重复请求重传相同的数据包,降低了编码端设备的负荷,并减少了网络资源浪费。
附图说明
图1是本发明实施例提供的一种数据传输的网络架构示意图;
图2是本发明实施例提供的一种数据传输方法的流程示意图;
图3是本发明实施例提供的一种具体应用场景的架构示意图;
图4是本发明实施例提供的一种数据传输装置的结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本发明实施例中的技术方案,下面先对可靠UDP(User Datagram Protocol,用户数据报协议)原理进行简单说明。
视频发送端(即编码端设备)和接收端(即解码端设备)根据流量的码率特点,自适应地开辟专用的发送缓存和接收缓存。解码端设备内置乱序和丢包处理模块,在一定算法控制下,解码端设备在恰当时刻向编码端设备请求发送缓存中的特定报文,同时编码端设备在算法控制下实时更新发送缓存中的数据。简要步骤如下:
1、编码端设备的数据备份机制
a)、当备份数据超过指定时间(如T1)时,丢弃该备份数据;
b)、当备份数据的重传次数超过预设值(如N)时,丢弃该备份数据。
2、解码端设备的缓存机制
a)、解码端设备根据接收到的数据包的序列号是否连续来判断是否丢包(一般判断条件:收到的数据包序列号=上一数据包序列号+1,则无丢包),当检测到丢包后,根据序列号匹配向编码端设备发送重传请求(可靠UDP重传请求报文);
b)、开启定时器(定时时长为T2),将后续收到的数据缓存,待收到上述数据的重传后,再进行数据解码。
其中,若定时器超时时,解码端设备仍未收到重传数据,则直接将缓存中的数据发送给解码端设备进行解码。
3、编码端设备接收到解码端设备发送的可靠UDP重传请求报文后,如果指定的数据不存在备份(即超时已被清除),则不进行任何处理。如果该数据存在备份,则查看该备份数据的标识,处理如下:
a)、若重传次数超过预设值,则不进行重传,同时将该数据从缓存中清除;
b)、若最后重传时间与当前时间的时间差小于预设的最小重传间隔(Tm),也不进行重传。
为了使使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
下面先对本发明实施例适用的网络架构进行描述。
请参见图1,图1为本发明实施例提供的一种数据传输的网络架构示意图,如图1所示,该网络架构适用于视频监控系统,其可以包括编码端设备(如IPC(IP Camera,网络摄像机))以及解码端设备(如DC(decoder,解码器)),编码端设备通过可靠UDP组播方式向解码端设备发送视频流。
在该网络架构中,解码端设备发送的重传请求报文除了可达编码端设备之外,还可达同一组播组中的其它设备(如同一组播组中的其它解码端设备);相应地,当解码端设备发生数据包丢失,且接收到同一组播组的其它解码端设备发送的重传请求报文时,该解码端设备可以比较自身丢失的数据包,以及其它解码端设备已经请求重传的数据包,对于自身丢失且其它解码端设备已经请求重传的数据包,解码端设备可以不需要再次进行重传请求;对于自身丢失且其它解码端设备未请求重传的数据包,解码端设备可以进行重传请求,从而,避免了同一组播组的解码端设备重复请求重传同一数据包,降低了编码端设备的负荷,并减少了网络资源浪费。
基于图1所示的网络架构,本发明实施例提供了一种数据传输方法,请参见图2,图2为本发明实施例提供的一种数据传输方法的流程示意图,如图2所示,该数据传输方法可以包括以下步骤:
需要说明的是,在本发明实施例中,步骤201~步骤204的执行主体可以为图1所示网络架构中的解码端设备或解码端设备的处理器,如CPU(Center Process Unit,中央处理单元),为便于描述,以下以步骤201~步骤204的执行主体为解码端设备为例进行说明。
步骤201、当发生数据包丢失时,判断是否接收到同一组播组中的其它解码端设备发送的第一重传请求报文。若是,转至步骤202;否则,转至步骤203。
本发明实施例中,为了避免同一组播组多个解码端设备重复请求编码端设备重传同一数据包,解码端设备发送的重传请求报文除了可达编码端设备之外,还可达同一组播组中的其它设备,以使同一组播组的解码端设备可以根据该组播组中的其它解码端设备请求重传的数据包,以及自身丢失的数据包,确定需要请求编码端设备重传的数据包。
相应地,在本发明实施例中,当解码端设备发生数据包丢失时,解码端设备在发送重传请求报文之前可以先判断是否接收到同一组播组中的其它解码端设备发送的重传请求报文(本文中称为第一重传请求报文)。
值得说明的是,在本发明实施例中,解码端设备接收到的第一重传请求报文的数量不限于1个,当同一组播组中存在3个或3个以上的解码端设备时,解码端设备也可以接收到2个或2个以上的其它解码端设备发送的第一重传请求报文(即第一重传请求报文的数量为2个或2个以上)。
本发明实施例中,为了使解码端设备确定需要请求重传的数据包时,可以参考其它解码端设备请求重传的数据包,可以将同一组播组中的不同解码端设备进行重传请求的时机配置为不完全相同。
作为一种可选的实施方式,在本发明实施例中,解码端设备发送重传请求报文之前,可以包括以下步骤:
11)、当发生数据包丢失时,确定重传请求的延迟;
12)、根据重传请求的延迟确定发送重传请求报文的目标时刻。
相应地,上述步骤201中,判断是否接收到同一组播组中的其它解码端设备发送的第一重传请求报文,可以包括:
判断是否在目标时刻之前接收到同一组播组中的其它解码端设备发送的第一重传请求报文。
在该实施方式中,为了使同一组播组中的不同解码端设备进行重传请求的时机不完全相同,可以分别在同一组播组中的不同解码端设备上配置重传请求的延迟,其中,不同解码端设备上重传请求的延迟不完全相同,或者,可以在同一组播组中的不同解码端设备上配置一个重传请求的延迟范围,由解码端设备需要发送重传请求报文时,随机确定一个预设延迟范围内的延迟。
相应地,当解码端设备发生数据包丢失时,解码端设备可以确定重传请求的延迟,进而根据该重传请求的延迟确定发送重传请求报文(本文中称为第二重传请求报文)的时刻(本文中称为目标时刻),并判断是否在目标时刻之前接收到同一组播组中的其它解码端设备发送的第一重传请求报文。
步骤202、确定第一重传请求报文请求重传的第一目标数据包。
本发明实施例中,若解码端设备接收到第一重传请求报文,则解码端设备需要确定该第一重传请求报文请求重传的目标数据包(第一目标数据包)。
例如,解码端设备可以根据第一重传请求报文中携带的数据包的序列号确定第一重传请求报文请求重传的第一目标数据包。
应该认识到,在本发明实施例中,第一目标数据包的数量可以为1个,也可以为多个。
步骤203、若自身丢失的数据包中存在未包括第一目标数据包中的第二目标数据包,则发送用于请求重传第二目标数据包的第二重传请求报文。
本发明实施例中,解码端设备接收到第一重传请求报文,并确定了第一重传请求报文请求重传的第一目标数据包之后,解码端设备可以比较自身丢失的数据包以及该第一目标数据包,判断自身丢失的数据包中是否存在未包括在第一目标数据包中的数据包(本文中称为第二目标数据包)。
若解码端设备确定自身丢失的数据包中存在未包括在第一目标数据包中的第二目标数据包,则解码端设备可以发送用于请求重传第二目标数据包的第二重传请求报文。
若解码端设备确定自身丢失的数据包中不存在未包括在第一目标数据包中的第二目标数据包,则解码端设备可以确定不需要发送重传请求报文。
作为一种可选的实施方式,上述步骤203中,发送用于请求重传第二目标数据包的第二重传请求报文,可以包括:
发送携带第二目标数据包的序列号的第二重传请求报文,该第二重传请求报文的目的MAC(Media Access Control,媒体访问控制)地址为上述组播组的组播MAC,目的IP地址为编码端设备的IP地址,目的端口为编码端设备上对应上述组播组的端口,源IP地址为自身的IP地址,源MAC地址为自身的MAC地址,源端口为自身对应上述组播组的端口,以使同一组播组的其它解码端设备需要发送重传请求报文时,根据该第二重传请求报文确定自身需要请求重传的数据包,以及使三层网关根据第二重传请求报文的目的IP地址和目的端口将第二重传请求报文转发给编码端设备。
在该实施方式中,为了使解码端设备发送的重传请求报文(如第一重传请求报文、第二重传请求报文等)可达编码端设备以及同一组播组中的其它设备,一方面,解码端设备发送的重传请求报文的目的MAC地址可以复用UDP可靠组播组的组播MAC,目的IP地址设置为编码端的IP地址;另一方面,还需要将该组播组中的解码端设备对应的三层网关加入该组播组,从而该三层网关能够接收到该重传请求报文,并将其转发给编码端设备。
相应地,在该实施方式中,当解码端设备确定了需要请求重传的第二目标数据包时,解码端设备可以发送第二重传请求报文,该第二重传请求报文中携带有第二目标数据包的序列号,该第二重传请求报文的目的MAC地址为组播组的组播MAC,目的IP地址为编码端设备的IP地址,目的端口为编码端设备上对应该组播组的端口,源IP地址为自身(发送第二重传请求报文的解码端设备)的IP地址,源MAC地址为自身的MAC地址,源端口为自身对应该组播组的端口。其中,组播组的组播MAC根据组播组的组播地址确定。
由于第二重传请求报文的目的MAC地址为组播组的组播MAC,因此,解码端设备发送上述第二重传请求报文之后,该组播组的其它解码端设备以及该解码端设备对应的三层网关均可以接收到该第二重传请求报文。
当组播组的其它解码端设备接收到第二重传请求报文时,若该其它解码端设备发生数据包丢失,且还未发送重传请求报文,则该其它解码端设备可以按照步骤201~步骤204所描述的方法流程进行处理;若该其它解码设备发生数据包丢失,但已经发送了重传请求报文,或者,该其它解码端设备未发生数据包丢失,则该其它解码端设备可以不对该第二重传请求报文进行处理。
当三层网关接收到该第二重传请求报文时,该三层网关可以根据该第二重传请求报文的目的IP地址和目的端口,查询路由转发表项,将其转发给编码端设备。
值得说明的是,在本发明实施例中,编码端设备接收到重传请求报文之后的处理方式可以参见现有技术中的相关实现中的相关描述,本发明实施例在此不做赘述。
步骤204、发送用于请求自身丢失的数据包的第三重传请求报文。
本发明实施例中,若解码端设备发生数据包丢失,且未接收到同一组播组中其它解码端设备发送的第一重传请求报文,则解码端设备可以发送用于请求自身丢失的数据包的重传请求报文(本文中称为第三重传请求报文)。
值得说明的是,在本发明实施例中,解码端设备发送第三重传请求报文或解码端设备作为步骤201中的其它解码端设备发送第一重传请求报文的具体实现可以参见上述流程中描述的解码端设备发送用于请求第二目标数据包的第二重传请求报文的相关实现,本发明实施例对此不做赘述。
可见,在图2所示方法流程中,通过使解码端设备发送的重传请求报文既可达作为组播源的编码端设备,又可达同一组播组中的其它设备,从而,同一组播组中的解码端设备发生数据包丢失,需要发送重传请求报文时,可以参照其它已经发送的重传请求报文确定自身需要请求重传的数据包,避免了同一组播组内多个解码端设备重复请求重传同一数据包,降低了编码端设备的负荷,并减少了网络资源浪费。
为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体应用场景对本发明实施例提供的技术方案进行描述。
请参见图3,图3为本发明实施提供的一种具体应用场景的架构示意图,如图3所示,该应用场景中可以包括IPC1(IP地址为1.1.1.3),解码器DC1、DC2和DC3(IP地址分别为3.1.1.6、3.1.1.7和3.1.1.8),IPC1发送的可靠UDP组播的视频流经过交换机SW1(IP地址为11.1.1.1)和交换机SW2(IP地址为3.1.1.1)到达组播地址为224.100.1.23,端口为2008的组播组(该实施例中称为组播组1),解码器DC1、DC2和DC3加入到组播组1。
在该应用场景中,IPC1和解码器DC1、DC2和DC3之间遵循可靠UDP组播原理,当IPC1发送到组播组的视频流发生丢包时,组播组中的解码器需要发送丢失数据包的重传请求报文给IPC1,请求IPC1重发丢失的数据包。
基于该应用场景,本发明实施例提供的数据传输的具体流程如下:
1、当组播组1中多个解码器发生数据包丢失时,触发可靠UDP重传机制。
其中,假设DC1丢失的数据包为序列号为10001、10002、10003、10004和10005的数据包;
DC2丢失的数据包为序列号10001、10003和10005的数据包;
DC3丢失的数据包为序列号10003、10004和10005的数据包。
若按照现有组播重传方案处理,则DC1需要向IPC1发送携带序列号10001、10002、10003、10004和10005的重传请求报文,请求IPC1重传序列号为10001、10002、10003、10004和10005的数据包;DC2需要向IPC1发送携带序列号10001、10003和10005的重传请求报文,请求IPC1重传序列号为10001、10003和10005的数据包;DC3需要向IPC1发送携带序列号10003、10004和10005的重传请求报文,请求IPC1重传序列号为10003、10004和10005的数据包;IPC1收到DC1、DC2和DC3发送的重传请求报文之后,需要分别重传序列号为10001(重传2次)、10002(重传1次)、10003(重传3次)、10004(重传2次)和10005(重传3次)的数据包。
2、DC1、DC2和DC3配置有0~10ms的重传请求的随机延迟。
假设DC1的重传请求的延迟为10ms;
DC2的重传请求的延迟为8ms;
DC的重传请求的延迟为5ms。
即DC3优先发送重传请求报文,该重传请求报文可达IPC1、DC1和DC2。
3、DC3发送目的MAC地址为组播组1的组播MAC,目的IP地址为IPC1的IP地址(1.1.1.3),目的端口为IPC1上对应组播组1的端口(端口2008),源IP地址为DC3的IP地址(3.1.1.8),源MAC地址为DC3的MAC地址(假设为00-AD-62-29-35-0B),源端口为DC3上对应组播组1的端口(端口2008)的重传请求报文(假设为重传请求报文1),该重传请求报文1中携带有需要重传的数据包的序列号(即10003、10004和10005)。
其中,组播组1的组播MAC可以根据IPC1到DC1、DC2和DC3的组播地址,即224.100.1.23来确定。
例如,可以采用组播头01005E加上224.100.1.23对应的二进制的后23位组成,即组播组1的组播MAC地址为:01005E640117。
4、DC2在发送重传请求报文之前,会接收到DC3发送的重传请求报文1,DC通过解析重传请求报文1,可以确定DC3请求重传的数据包为序列号分别为10003、10004和10005的数据包,而DC2丢失的数据包为序列号分别为10001、10003和10005,此时DC2只需要请求重传序列号为10001的数据包,DC2可以发送重传请求报文2,其中,重传请求报文2的报文格式与重传请求报文1的报文格式相同,其主要区别为重传请求报文2中的源IP地址为DC2的IP地址(3.1.1.7),源MAC地址为DC2的MAC地址(假设为00-AD-62-29-35-0B),源端口为DC2上对应组播组1的端口(端口2008),重传请求报文2中携带的需要重传的数据包的序列号为10001。
5、DC1在发送重传请求报文之前,会分别接收到DC3发送的重传请求报文1和DC2发送的重传请求报文2,DC1通过解析重传请求报文1和重传请求2,可以确定DC3请求重传了序列号为10003、10004和10005的数据包,DC2请求重传了序列号为10001的数据包,而DC1丢失的数据包的序列号为10001、10002、10003、10004和10005的数据包,此时DC1只需要请求重传序列号为10002的数据包,DC1可以发送重传请求报文3,其中,重传请求报文3的报文格式与重传请求报文1的报文格式相同,其主要区别为重传请求报文3中的源IP地址为DC2的IP地址(3.1.1.6),源MAC地址为DC2的MAC地址(假设为00-AC-62-29-35-0A),源端口为DC1上对应组播组1的端口(端口2008),重传请求报文3中携带的需要重传的数据包的序列号为10002。
6、DC1、DC2和DC3对应的三层网关(交换机SW3)也加入组播组1,因此,交换机SW3能够接收到各DC发送的重传请求报文(包括重传请求报文1、重传请求报文2和重传请求报文3);交换机接收到DC发送的重传请求报文时,可以根据重传请求报文的目的IP地址和目的端口查询路由表项,通过路由转发将其转发给IPC1。
7、IPC1接收到重传请求报文(包括重传请求报文1、重传请求报文2和重传请求报文3)后,将缓存中序列号为10001、10002、10003、10004和10005的数据包,通过可靠UDP组播的方式重新发送到组播组1。其中,序列号分别为10001、10002、10003、10004和10005的数据包均只需要发送一次,与现有组播重传方案相比,降低了IPC1的负荷,减少了网络资源浪费。
通过以上描述可以看出,在本发明实施例提供的技术方案中,通过使解码端设备发送的重传请求报文既可达作为组播源的编码端设备,又可达同一组播组中的其它设备,当解码端设备发生数据包丢失,且接收到同一组播组中的其它解码端设备发送的第一重传请求报文时,解码端设备可以确定该第一重传请求报文请求重传的第一目标数据包,并当自身丢失的数据包中存在未包括在第一目标数据包中的第二目标数据包时,发送用于请求重传该第二目标数据包的第二重传请求报文,与现有组播重传方案相比,避免了同一组播组中多个解码端设备重复请求重传相同的数据包,降低了编码端设备的负荷,并减少了网络资源浪费。
请参见图4,为本发明实施例提供的一种数据传输装置的结构示意图,其中,该数据传输装置可以应用于上述方法实施例中的解码端设备,如图4所示,该数据传输装置可以包括:
判断单元410,用于当发生数据包丢失时,判断是否接收到同一组播组中的其它解码端设备发送的第一重传请求报文;
确定单元420,用于若所述判断单元410判断接收到所述第一重传请求报文,则确定所述第一重传请求报文请求重传的第一目标数据包;
发送单元430,用于若自身丢失的数据包中存在未包括在所述第一目标数据包中的第二目标数据包,则发送用于请求重传所述第二目标数据包的第二重传请求报文,其中,所述第一重传请求报文和所述第二重传请求报文可达编码端设备以及所述组播组中发送方设备之外的其它设备。
在可选实施例中,所述组播组中的解码端设备对应的三层网关加入所述组播组;
所述发送单元430,可以具体用于发送携带所述第二目标数据包的序列号的第二重传请求报文,所述第二重传请求报文的目的媒体访问控制MAC地址为所述组播组的组播MAC,目的互联网协议IP地址为所述编码端设备的IP地址,目的端口为所述编码端设备上对应所述组播组的端口,源IP地址为自身的IP地址,源MAC地址为自身的MAC地址,源端口为自身对应所述组播组的端口,以使同一组播组的其它解码端设备需要发送重传请求报文时,根据该第二重传请求报文确定自身需要请求重传的数据包,以及使所述三层网关根据所述第二重传请求报文的目的IP地址和目的端口将所述第二重传请求报文转发给所述编码端设备。
在可选实施例中,所述确定单元420,还可以用于当发生数据包丢失时,确定重传请求的延迟;
所述确定单元420,还可以用于根据所述重传请求的延迟确定发送所述第二重传请求报文的目标时刻;
所述判断单元410,可以具体用于判断是否在所述目标时刻之前接收到同一组播组中的其它解码端设备发送的第一重传请求报文。
在可选实施例中,所述发送单元430,还可以用于若所述判断单元410判断未接收到同一组播组中的其它解码端设备发送的第一重传请求报文,则发送用于请求自身丢失的数据包的第三重传请求报文。
在可选实施例中,所述发送单元430,还可以用于若自身丢失的数据包中不存在包括在所述第一目标数据包中的第二目标数据包,则确定不需要发送重传请求报文。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,通过使解码端设备发送的重传请求报文既可达作为组播源的编码端设备,又可达同一组播组中的其它设备,当解码端设备发生数据包丢失,且接收到同一组播组中的其它解码端设备发送的第一重传请求报文时,解码端设备可以确定该第一重传请求报文请求重传的第一目标数据包,并当自身丢失的数据包中存在未包括在第一目标数据包中的第二目标数据包时,发送用于请求重传该第二目标数据包的第二重传请求报文,与现有组播重传方案相比,避免了同一组播组中多个解码端设备重复请求重传相同的数据包,降低了编码端设备的负荷,并减少了网络资源浪费。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种数据传输方法,应用于视频监控系统中的解码端设备,所述视频监控系统包括编码端设备以及解码端设备,所述编码端设备通过可靠用户数据报文协议UDP组播方式向解码端设备发送视频流,其特征在于,所述方法包括:
当发生数据包丢失时,判断是否接收到同一组播组中的其它解码端设备发送的第一重传请求报文;
若接收到所述第一重传请求报文,则确定所述第一重传请求报文请求重传的第一目标数据包;
若自身丢失的数据包中存在未包括在所述第一目标数据包中的第二目标数据包,则发送用于请求重传所述第二目标数据包的第二重传请求报文,其中,所述第一重传请求报文和所述第二重传请求报文可达编码端设备以及所述组播组中发送方设备之外的其它设备。
2.根据权利要求1所述的方法,其特征在于,所述组播组中的解码端设备对应的三层网关加入所述组播组;
所述发送用于请求重传所述第二目标数据包的第二数据重传请求,包括:
发送携带所述第二目标数据包的序列号的第二重传请求报文,所述第二重传请求报文的目的媒体访问控制MAC地址为所述组播组的组播MAC,目的互联网协议IP地址为所述编码端设备的IP地址,目的端口为所述编码端设备上对应所述组播组的端口,源IP地址为自身的IP地址,源MAC地址为自身的MAC地址,源端口为自身对应所述组播组的端口,以使同一组播组的其它解码端设备需要发送重传请求报文时,根据该第二重传请求报文确定自身需要请求重传的数据包,以及使所述三层网关根据所述第二重传请求报文的目的IP地址和目的端口将所述第二重传请求报文转发给所述编码端设备;其中,所述组播组的组播MAC根据所述组播组的组播地址确定。
3.根据权利要求1所述的方法,其特征在于,所述发送用于请求重传所述第二目标数据包的第二数据重传请求之前,还包括:
当发生数据包丢失时,确定重传请求的延迟;
根据所述重传请求的延迟确定发送所述第二重传请求报文的目标时刻;
所述判断是否接收到同一组播组中的其它解码端设备发送的第一重传请求报文,包括:
判断是否在所述目标时刻之前接收到同一组播组中的其它解码端设备发送的第一重传请求报文。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若未接收到同一组播组中的其它解码端设备发送的第一重传请求报文,则发送用于请求自身丢失的数据包的第三重传请求报文;其中,所述第三重传请求报文可达所述编码端设备以及所述组播组中的其它设备。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若自身丢失的数据包中不存在包括在所述第一目标数据包中的第二目标数据包,则确定不需要发送重传请求报文。
6.一种数据传输装置,应用于视频监控系统中的解码端设备,所述视频监控系统包括编码端设备以及解码端设备,所述编码端设备通过可靠用户数据报文协议UDP组播方式向解码端设备发送视频流,其特征在于,所述装置包括:
判断单元,用于当发生数据包丢失时,判断是否接收到同一组播组中的其它解码端设备发送的第一重传请求报文;
确定单元,用于若所述判断单元判断接收到所述第一重传请求报文,则确定所述第一重传请求报文请求重传的第一目标数据包;
发送单元,用于若自身丢失的数据包中存在未包括在所述第一目标数据包中的第二目标数据包,则发送用于请求重传所述第二目标数据包的第二重传请求报文,其中,所述第一重传请求报文和所述第二重传请求报文可达编码端设备以及所述组播组中发送方设备之外的其它设备。
7.根据权利要求6所述的装置,其特征在于,所述组播组中的解码端设备对应的三层网关加入所述组播组;
所述发送单元,具体用于发送携带所述第二目标数据包的序列号的第二重传请求报文,所述第二重传请求报文的目的媒体访问控制MAC地址为所述组播组的组播MAC,目的互联网协议IP地址为所述编码端设备的IP地址,目的端口为所述编码端设备上对应所述组播组的端口,源IP地址为自身的IP地址,源MAC地址为自身的MAC地址,源端口为自身对应所述组播组的端口,以使同一组播组的其它解码端设备需要发送重传请求报文时,根据该第二重传请求报文确定自身需要请求重传的数据包,以及使所述三层网关根据所述第二重传请求报文的目的IP地址和目的端口将所述第二重传请求报文转发给所述编码端设备;其中,所述组播组的组播MAC根据所述组播组的组播地址确定。
8.根据权利要求6所述的装置,其特征在于,
所述确定单元,还用于当发生数据包丢失时,确定重传请求的延迟;
所述确定单元,还用于根据所述重传请求的延迟确定发送所述第二重传请求报文的目标时刻;
所述判断单元,具体用于判断是否在所述目标时刻之前接收到同一组播组中的其它解码端设备发送的第一重传请求报文。
9.根据权利要求6所述的装置,其特征在于,
所述发送单元,还用于若所述判断单元判断未接收到同一组播组中的其它解码端设备发送的第一重传请求报文,则发送用于请求自身丢失的数据包的第三重传请求报文。
10.根据权利要求6所述的装置,其特征在于,
所述发送单元,还用于若自身丢失的数据包中不存在包括在所述第一目标数据包中的第二目标数据包,则确定不需要发送重传请求报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610539735.0A CN106130746B (zh) | 2016-07-06 | 2016-07-06 | 一种数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610539735.0A CN106130746B (zh) | 2016-07-06 | 2016-07-06 | 一种数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106130746A true CN106130746A (zh) | 2016-11-16 |
CN106130746B CN106130746B (zh) | 2021-03-09 |
Family
ID=57282768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610539735.0A Active CN106130746B (zh) | 2016-07-06 | 2016-07-06 | 一种数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106130746B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106330547A (zh) * | 2016-08-26 | 2017-01-11 | 浙江宇视科技有限公司 | 一种冗余链路数据包转发的方法及装置 |
CN109586932A (zh) * | 2018-10-18 | 2019-04-05 | 招商证券股份有限公司 | 组播方法及终端设备 |
CN111740939A (zh) * | 2019-08-07 | 2020-10-02 | 北京京东尚科信息技术有限公司 | 报文传输装置、设备、方法及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105099827A (zh) * | 2015-08-24 | 2015-11-25 | 北京润科通用技术有限公司 | 一种车载自组织网络数据处理方法、装置及系统 |
-
2016
- 2016-07-06 CN CN201610539735.0A patent/CN106130746B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105099827A (zh) * | 2015-08-24 | 2015-11-25 | 北京润科通用技术有限公司 | 一种车载自组织网络数据处理方法、装置及系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106330547A (zh) * | 2016-08-26 | 2017-01-11 | 浙江宇视科技有限公司 | 一种冗余链路数据包转发的方法及装置 |
CN106330547B (zh) * | 2016-08-26 | 2020-06-19 | 浙江宇视科技有限公司 | 一种冗余链路数据包转发的方法及装置 |
CN109586932A (zh) * | 2018-10-18 | 2019-04-05 | 招商证券股份有限公司 | 组播方法及终端设备 |
CN111740939A (zh) * | 2019-08-07 | 2020-10-02 | 北京京东尚科信息技术有限公司 | 报文传输装置、设备、方法及存储介质 |
CN111740939B (zh) * | 2019-08-07 | 2022-11-08 | 北京京东尚科信息技术有限公司 | 报文传输装置、设备、方法及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106130746B (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1747644B1 (en) | Method and apparatus for group communication with end-to-end reliability | |
KR101032512B1 (ko) | 멀티캐스트 컨퍼런스 세션 참가 방법 및 컴퓨터 판독 가능 기록 매체 | |
EP3531631A1 (en) | Data transmission method and apparatus | |
US8612617B2 (en) | Reliable multicast transport protocol | |
CN106301694B (zh) | 一种减少可靠组播传输中数据包重传次数的方法及装置 | |
WO2001099355A1 (fr) | Procede et systeme de retransmission de paquets | |
KR20030093221A (ko) | 통신 네트워크를 통한 데이터 전송 방법, 프로그램 요소,컴퓨터 소프트웨어 제품 및 컴퓨터 시스템 | |
KR101341439B1 (ko) | 적응 가능하고 크기 조정 가능한 패킷 에러 정정 장치 및 방법 | |
JP4619806B2 (ja) | インターネット・プロトコル・パケットの複数のコピーの伝搬 | |
CN104780028A (zh) | 一种实现tcp数据报文重传的方法及设备 | |
JP5550198B2 (ja) | マルチキャスト・ネットワークにおけるsctpのためのプロトコル・ブースタ | |
CN106130746A (zh) | 一种数据传输方法及装置 | |
CN102938833A (zh) | 视频会议中的方法及装置、多点控制设备及视频会议系统 | |
JP2007053588A (ja) | パケット再送方式、パケット再送システム、パケット再送プログラム及びプログラム記録媒体 | |
KR100240645B1 (ko) | 멀티캐스트 통신의 패킷 오류 제어기 및 이를 이용한패킷 오류제어 방법 | |
CN106452689A (zh) | 客户端和服务端的数据传输装置和方法 | |
CN115189813A (zh) | Ott组播方法、系统、装置、组播代理和组播服务器 | |
EP3136684A1 (en) | Multicast transmission using programmable network | |
JP2003174478A (ja) | マルチキャスト通信方式、マルチキャスト通信に用いる中継ノード装置、及び、中継ノード装置における送信制御方法 | |
Wang et al. | Experimental evaluation of TCP-based DTN for cislunar communications in presence of long link disruption | |
JP5062121B2 (ja) | マルチキャスト通信におけるパケット再送制御方法及び装置 | |
JP2009081567A (ja) | 再送制御システム、再送制御方法、送信機及び受信機 | |
JP4805072B2 (ja) | 通信システム | |
JP4973749B2 (ja) | 通信装置及び通信制御方法 | |
JP2007116411A (ja) | データ通信装置およびデータ通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |