CN106059718A - 一种数据重传方法及装置 - Google Patents
一种数据重传方法及装置 Download PDFInfo
- Publication number
- CN106059718A CN106059718A CN201610292019.7A CN201610292019A CN106059718A CN 106059718 A CN106059718 A CN 106059718A CN 201610292019 A CN201610292019 A CN 201610292019A CN 106059718 A CN106059718 A CN 106059718A
- Authority
- CN
- China
- Prior art keywords
- packet
- ipc
- nvr
- appointment
- data
- 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
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1835—Buffer management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1874—Buffer management
-
- 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/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- 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/765—Media network packet handling intermediate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种数据重传方法及装置,所述方法包括:当NVR收到IPC发送的数据包时,判断该数据包是否为重传数据;若是重传数据,则将该数据包保存在公共缓存区;在NVR收到客户端请求对该IPC中的指定数据包进行重传时,该NVR在公共缓存区中查找该指定数据包;在查找到该指定数据包时,将该指定数据包发送至该客户端。因此本发明可以通过缓存重传数据包来使后续其他客户端请求相同的数据包时可以快速的重传,从而可以向客户端重传时间较早的数据包,提升用户体验。
Description
技术领域
本发明涉及视频监控技术领域,尤其涉及一种数据重传方法及装置。
背景技术
在视频监控系统中,一般采用组播方式发送实时视频数据到固定组播组,而接收者只需要加入相应的组播组即可接收到视频数据。现有的视频监控系统中,NVR(NetworkVideo Recorder,网络视频录像机)管理多台IPC以及多台点播客户端,基于UDP机制,IPC的数据先传输到NVR,NVR将数据进行存储或者解码播放,如果有客户端也在点播该IPC的实况数据,那么NVR就将该数据包转发给客户端。由于UDP是不可靠的通信协议,现有的视频监控系统一般都会采用消息重传来实现其可靠性。因此客户端可以通过数据包的序列表检测数据包的丢失情况。当检测到数据包丢失时,客户端通常会向NVR端发起重传请求,NVR再从缓存中再次发送该数据包给客户端。然而NVR自身的缓存资源十分有限,通常无法缓存太多数据,因此当客户端请求重传时间较早的丢包数据时,NVR通常很难实现数据重传服务。
发明内容
有鉴于此,本发明提供一种数据重传方法及装置来解决现有技术中NVR无法重传时间较早的数据包的问题。
具体地,本发明是通过如下技术方案实现的:
本发明提供一种数据重传方法,所述方法包括:
当NVR收到IPC发送的数据包时,判断该数据包是否为重传数据;若是重传数据,则将该数据包保存在公共缓存区;
在NVR收到客户端请求对该IPC中的指定数据包进行重传时,该NVR在公共缓存区中查找该指定数据包;
在查找到该指定数据包时,将该指定数据包发送至该客户端。
进一步的,所述方法还包括:
若所述IPC发送的数据包不是重传数据时,则将该数据包保存在该IPC对应的独立缓存区;
当NVR在公共缓存区中未查找到该指定数据包时,在该IPC对应的独立缓存区中查找该指定数据包;
在查找到该指定数据包时,将该指定数据包发送至该客户端。
进一步的,所述方法还包括:
当NVR在该IPC对应的独立缓存区中未查找到该指定数据包时,向该IPC请求对该指定数据包进行重传;
当收到该IPC重传的所述指定数据包时,将该指定数据包保存在公共缓存区,并将该指定数据包发送至客户端。
进一步的,所述方法还包括:
NVR按照预设时间间隔将该IPC对应的独立缓存区的缓存空间大小发送到该IPC,以使该IPC根据当前流量将自身的缓存数据大小反馈至该NVR,NVR接收并记录该IPC的缓存数据大小;
在NVR向该IPC请求对该指定数据包进行重传之前,所述方法还包括:
通过记录的该IPC的缓存数据大小判断该IPC是否缓存该指定数据包,若是,则向该IPC请求对该指定数据包进行重传。
进一步的,所述若所述IPC发送的数据包不是重传数据时,则将该数据包保存在该IPC对应的独立缓存区,具体包括:
当NVR收到IPC发送的非重传的第一数据包时,判断该IPC对应的独立缓存区是否存满;
若存满,则NVR根据该IPC的缓存数据大小判断该IPC的缓存数据中是否包括该IPC对应的独立缓存区中时间最早的第二数据包,若包括,则将该第二数据包删除;若不包括,则将该第二数据包回传至该IPC;并将该第一数据包按照时间顺序存储到该独立缓存区;
若未存满,则NVR将该第一数据包按照时间顺序存储到该独立缓存区。
基于相同的构思,本发明还提供一种数据重传装置,所述装置包括:
保存单元,用于在NVR收到IPC发送的数据包时,判断该数据包是否为重传数据;若是重传数据,则将该数据包保存在公共缓存区;
查找单元,用于在NVR收到客户端请求对该IPC中的指定数据包进行重传时,该NVR在公共缓存区中查找该指定数据包;
发送单元,用于在查找到该指定数据包时,将该指定数据包发送至该客户端。
进一步的,所述保存单元,还用于当所述IPC发送的数据包不是重传数据时,将该数据包保存在该IPC对应的独立缓存区;
所述查找单元,还用于在公共缓存区中未查找到该指定数据包时,在该IPC对应的独立缓存区中查找该指定数据包;
所述发送单元,还用于在查找到该指定数据包时,将该指定数据包发送至该客户端。
进一步的,所述装置还包括:
请求单元,用于在该IPC对应的独立缓存区中未查找到该指定数据包时,向该IPC请求对该指定数据包进行重传;当收到该IPC重传的所述指定数据包时,将该指定数据包保存在公共缓存区,并将该指定数据包发送至客户端。
进一步的,所述装置还包括:
检测单元,用于按照预设时间间隔将该IPC对应的独立缓存区的缓存空间大小发送到该IPC,以使该IPC根据当前流量将自身的缓存数据大小反馈至该NVR,NVR接收并记录该IPC的缓存数据大小;
所述请求单元,还用于在NVR向该IPC请求对该指定数据包进行重传之前,通过记录的该IPC的缓存数据大小判断该IPC是否缓存该指定数据包,若是,则向该IPC请求对该指定数据包进行重传。
进一步的,所述保存单元,具体用于在NVR收到IPC发送的非重传的第一数据包时,判断该IPC对应的独立缓存区是否存满;若存满,则NVR根据该IPC的缓存数据大小判断该IPC的缓存数据中是否包括该IPC对应的独立缓存区中时间最早的第二数据包,若包括,则将该第二数据包删除;若不包括,则将该第二数据包回传至该IPC;并将该第一数据包按照时间顺序存储到该独立缓存区;若未存满,则NVR将该第一数据包按照时间顺序存储到该独立缓存区。
由此可见,本发明可以将IPC重传的数据包保存在NVR的公共缓存区,并在收到客户端请求IPC对指定数据包进行重传时,在公共缓存区查找该指定数据包,并将查找的该指定数据包发送至该客户端。因此本发明可以通过缓存重传数据包来使后续其他客户端请求相同的数据包时可以快速的重传,从而可以向客户端重传时间较早的数据包,提升用户体验。
附图说明
图1是本发明一种示例性实施方式中的一种数据重传方法的处理流程图;
图2是本发明一种示例性实施方式中的数据重传组网架构的示意图;
图3本发明一种示例性实施方式中的数据重传装置所在设备的硬件结构图;
图4本发明一种示例性实施方式中的一种数据重传装置的逻辑结构图。
具体实施方式
为了解决现有技术存在的问题,本发明提供一种数据重传方法及装置,可以将IPC重传的数据包保存在NVR的公共缓存区,并在收到客户端请求IPC对指定数据包进行重传时,在公共缓存区查找该指定数据包,并将查找的该指定数据包发送至该客户端。因此本发明可以通过缓存重传数据包来使后续其他客户端请求相同的数据包时可以快速的重传,从而可以向客户端重传时间较早的数据包,提升用户体验。
请参考图1,是本发明一种示例性实施方式中的一种数据重传方法的处理流程,所述方法可应用于NVR,所述方法包括:
步骤101、当NVR收到IPC发送的数据包时,判断该数据包是否为重传数据;若是重传数据,则将该数据包保存在公共缓存区;
在本实施例中,NVR除了为每个IPC设置对应的独立缓存区以外,还会设置公共缓存区,该公共缓存区用于存储所有IPC已重传的数据包。因此,当NVR收到IPC发送的数据包时,先判断该数据包是否为重传数据,若是重传数据,则将该数据包保存在公共缓存区,这就是公共缓存区的数据来源方式。公共缓存区可以按照时间的顺序进行队列的出入操作,缓存空间被存满时,会删除时间较早的数据包。因此,结合上述方案,当NVR收到客户端请求IPC对指定数据包进行重传时,该NVR具体可以在公共缓存区的已重传数据包中查找该指定数据包。由于现有技术中NVR只缓存每个IPC在一段时间内发送的数据包,因此当用户需要重传更早的数据包时,NVR通常无法实现数据重传。但本发明在缓存每个IPC在一段时间内发送的数据包之外,还可以在公共缓存区缓存这些IPC已重传的数据包。因此当其他客户端也请求重传的数据包时,NVR则可以将数据包发送给客户端,从而可以扩大NVR缓存的数据量,提升用户体验。
步骤102、在NVR收到客户端请求对该IPC中的指定数据包进行重传时,该NVR在公共缓存区中查找该指定数据包;
在本实施例中,当客户端接收IPC的数据过程中检测到丢包时,可以向NVR发送重传请求,请求中包括该IPC的IP地址等标识信息,以及需要重传的指定数据包对应的序列号。当NVR收到客户端的重传请求时,可以根据该重传请求中的IPC标识信息以及该指定数据包对应的序列号,在本地的公共缓存区中保存的已重传的数据包中查找该指定数据包。
步骤103、在查找到该指定数据包时,将该指定数据包发送至该客户端。
当NVR在公共缓存区查找到该指定数据包时,可以将该指定数据包发送至该客户端。由于已重传的数据包相比于其他数据包来讲,其被请求重传的概率会更高,因此本发明通过公共缓存区缓存这些IPC已重传的数据包,可以扩大NVR缓存的数据量,为客户端提供更高效的重传服务。
若IPC发送的数据包不是重传数据,则NVR可以将该数据包保存在该IPC对应的独立缓存区。由于公共缓存区只缓存已重传的数据包,而不是所有独立缓存区中的数据包,因此当NVR在公共缓存区中未查找到该指定数据包时,还可以在该IPC对应的独立缓存区中查找该指定数据包,并在查找到该指定数据包时,将该指定数据包发送至该客户端。
若NVR在该IPC对应的独立缓存区中亦未查找到该指定数据包时,还可以向该IPC请求对该指定数据包进行重传。若该IPC中存储该指定数据包时,可以将该指定数据包发送到NVR。当NVR收到该IPC重传的所述指定数据包时,可以将该指定数据包保存在公共缓存区,并将该指定数据包发送至客户端。需要说明的是,由于IPC发送的指定数据包的源地址为IPC的地址,目的地址为NVR的地址,因此NVR在将该指定数据包发送到客户端时需要重新封装该指定数据包的IP头部,即将该指定数据包IP头部的源地址改为该NVR的地址,目的地址改为请求该指定数据包的客户端的地址。从而可以使该客户端收到重传的指定数据包。
然而在一般情况下,IPC和NVR的独立缓存区中的数据包都是同一时间段内的最新数据,比如通过计算IPC独立缓存区的空间只能保存30秒的数据,假设此时最新时间为10:00:00秒,那么缓存数据保存范围就应该是9:59:30秒到10点这30秒的数据。重传的数据如果超出此时间范围则无法重传。由于目前IPC和NVR二者都保存着最新时间段的30秒的数据,所以二者缓存区的数据是重复的,换言之,IPC缓存区的存在的数据NVR中该IPC独立缓存区中也会存在,反之则二者都不存在。
为了解决上述问题,本发明在NVR和IPC之间建立一种协同工作机制。具体来讲,NVR可按照预设时间间隔将该IPC对应的独立缓存区的缓存空间大小发送到该IPC,以使该IPC根据当前流量确定自身的缓存数据大小并向该NVR反馈该缓存数据大小,NVR接收并记录该IPC的缓存数据大小。例如,IPC在被NVR管理上线后,NVR在自己的缓存里为该IPC划分独立缓存区,假设该缓存空间大小为5MB,之后NVR可定期向该IPC发送缓存空间大小。例如NVR通过SIP/ONVIF等协议通知IPC,告知IPC对应的独立缓存区为5MB。考虑到独立缓存区空间如果有变化,则NVR需要定期发送该消息来通报实时的缓存区空间大小,例如间隔1分钟。当IPC接收到该信息后,即得知NVR的对应IPC的独立缓存区的空间为5MB,此时IPC再实时检测自身的视频码流大小,假设视频流量为8Mb/s,即1MB/s,通过运算得知NVR的独立缓存区可以接收当前码流为5秒。假设IPC的缓存空间为5MB,则IPC可以告知NVR其可以缓存更早一点,例如IPC可以缓存比NVR更早5秒的数据。IPC确定自身的缓存数据大小后,会进一步向该NVR反馈该缓存数据大小。NVR接收并记录IPC发送的缓存数据大小,从而可以在请求重传数据前进行预判操作。具体来讲,在NVR向该IPC请求对该指定数据包进行重传之前,NVR可以通过记录的IPC的缓存数据大小可以判断该IPC是否缓存该指定数据包,若是,则向该IPC请求对该指定数据包进行重传。例如,如果IPC将自身的缓存数据大小为1-5秒告知NVR,当NVR向该IPC请求对第二秒的数据包进行重传之前,根据IPC的缓存数据大小判断得知IPC缓存有第二秒的数据包,因此可以向IPC发送重传请求,并获得IPC的重传数据;如果IPC将自身的缓存数据大小为3-5秒告知NVR,当NVR向该IPC请求对第二秒的数据包进行重传之前,根据IPC的缓存数据大小判断得知IPC未缓存第二秒的数据包,因此可以避免向IPC发送重传请求,因此本实施例可以进一步提高NVR的重传效率。
在本发明可选的实施例中,当NVR收到IPC发送的非重传的第一数据包时,可以进一步判断该IPC对应的独立缓存区是否存满;若存满,则NVR根据IPC的缓存数据大小判断该IPC的缓存数据中是否包括该IPC对应的独立缓存区中时间最早的第二数据包,若包括,则将该第二数据包删除;若不包括,则将该第二数据包回传至该IPC,并将该第一数据包按照时间顺序存储到该独立缓存区。具体来讲,当IPC的缓存空间大于NVR中IPC对应的独立缓存区时,IPC中缓存的数据包中会包括所述第二数据包,因此NVR可以将该第二数据包删除;当IPC的缓存空间小于等于NVR中IPC对应的独立缓存区时,IPC中缓存的数据包中则不包括所述第二数据包,因此NVR可以将该第二数据包回传至该IPC,以使IPC缓存该第二数据包,需要说明的是,NVR在向IPC回传之前,需要通知IPC该回传消息,以使IPC启动与NVR的回传机制。此外,在本发明可选的实施例中,IPC也可以根据NVR发送的缓存空间大小以及IPC自身的缓存数据大小判断是否需要NVR进行回传数据,判断方法与NVR端的判断方法类似,不同的是,若需要NVR回传,则IPC会向NVR发送回传请求,并主动启动与NVR的回传机制。
若NVR中的独立缓存区未存满,说明IPC发送的数据包没有超过缓存范围,则NVR可以将该第一数据包按照时间顺序存储到该独立缓存区。
为使本发明的目的、技术方案及优点更加清楚明白,下面对本发明该方案作进一步地详细说明。
请参考图2,该数据重传组网架构中包括NVR、IPC以及客户端。该NVR上将缓存区预先划分为公共缓存区以及为在线IPC1至IPCn划分对应的独立缓存区,即缓存区1至缓存区n。有当客户端点播IPC1的实况数据时,假设IPC1为客户端发送序列号为1-15的数据包,假设NVR的缓存区1的缓存空间为5个数据包,则NVR每次可以将最新的5个数据包缓存在IPC1对应的缓存区1中,并发送到客户端。当客户端检测到丢包时,客户端可向NVR发送重传请求,其中包括IPC1的IP地址以及丢包的数据包的序列号,例如数据包3。当NVR收到重传请求后,首先在公共缓存区查找该数据包IP头部为IPC1的IP地址,且序列号为3的数据包。若之前有其他客户端也请求重传该IPC1中的数据包3,则NVR此时可以在公共缓存区中查找到数据包3,并将该数据包3发送至客户端。但若之前没有客户端请求重传过IPC1中的数据包3,则NVR可以在IPC1对应的缓存区1中查找该数据包3,若查找到则将该数据包3发送至客户端。若在独立缓存区仍未查找到该数据包3,则NVR需要再向对应的IPC1发送重传请求。IPC1收到NVR的重传请求后,在IPC1本地的缓存区查找该数据包3,并将该数据包3发送到NVR。NVR从IPC1获取到数据包3后,首先将该数据包放入到公共缓存区,再将数据包3转发给客户端。转发时需要重新封装数据包3的IP头部,因为IPC1的发过来的数据包3的IP源地址和目的地址分别为IPC1的地址和NVR的地址,此时NVR将该数据包3转发至客户端,需要将源地址和目的地址分别改成NVR的地址和客户端的地址。此后,若有其他客户端请求IPC1的数据包3,则NVR可以在公共缓存区查找到该数据包3,并将数据包3发送至该客户端。从而可以快速实现数据重传。
另外,IPC1在被NVR管理上线后,假设NVR为IPC1划分独立缓存区(缓存区1)的缓存空间大小为5MB,之后NVR通过SIP/ONVIF等协议通知IPC1该缓存空间大小的消息。当IPC1接收到该信息后,会再次检查自身数据缓存区空间,如果IPC1的数据缓存区空间大于NVR的独立缓存区空间,比如IPC1数据缓存区空间为10MB,那么意味着IPC1自身可以缓存的数据比NVR要多,因此IPC1自身可以缓存10秒的数据,如果按一秒一个数据生成序列号的话,即IPC1的数据缓存区空间缓存了序列号为1-10数据包,而NVR的独立缓存区缓存了序列号为11-15数据包(较新数据)。此时IPC1得知自己比NVR可以多缓存5个序列号的数据包时,IPC1会回应NVR的定期缓存通知消息,IPC1回应的内容包括IPC1可以缓存更老10秒的数据。考虑到独立缓存区空间可能会发生变化,因此NVR可以设置定时器,例如每隔1分钟向IPC1发送消息来通报实时的缓存区空间大小。当NVR在实况数据发送的过程中,接收到客户端发送的重传请求时,若NVR无法查询到需要的数据包,则会通过需要重传的数据序列号来判断IPC1中是否会存在该数据包,假设需要重传的数据序列号为2,NVR独立缓存区中最老的数据序列号为11,由于IPC1可以缓存更老10秒的数据,,则NVR可知IPC1此时的缓存数据中包括序列号1-10的数据包,因此IPC1包含有序列号2的数据包,在这个条件满足后,NVR才会向IPC1发送重传申请,反之则不会发出。
上述情况为IPC1的缓存空间大于NVR的独立缓存区,这样IPC1才能存放更多更旧的数据包,但IPC1的缓存空间小于等于NVR的缓存区时,例如NVR独立缓存区空间为10MB,IPC的数据缓存区空间为5MB时,在NVR的缓存空间定期消息上报到IPC1后,IPC1通过自身计算可得知自身缓存可以缓存的包的数量。并得知自身数据缓存区空间小于NVR的独立缓存区空间时,IPC1会回应NVR的定期缓存通知消息,IPC1回应的内容包括IPC1可以缓存更老5秒的数据。因此,当NVR需要将该IPC1对应的独立缓存区(缓存区1)的数据丢弃时,则可以将该数据反向传回给IPC1。例如,IPC1发送了数据序列1-15,NVR的缓存区1会保存最新的一部分数据(10个数据包),假设当前NVR的缓存区1数据包序列号为5-14,那么当序列号为15的数据包到达后,缓存区1会自动清除最老的数据包,也就是序列号为5的数据包,此时NVR可以根据IPC1的反馈得知IPC1的缓存空间中没有序列号为5的数据包,因此NVR会在清除序列号为5的数据包之前将该数据回传到IPC1。IPC1接收到回传的序列号为5的数据包后,会将其放入自身的缓存空间,这样就保障了IPC1的缓存空间为旧数据,NVR的为新数据。并且由于IPC1和NVR一般带宽是足够的,数据回传并不会带来负面的影响。
因此本发明可以通过缓存通知的机制使得IPC和NVR能保存不同时间范围的数据,从而使总缓存时间大大延长。
基于相同的构思,本发明还提供一种数据重传装置,该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,本发明的数据重传装置作为一个逻辑意义上的装置,是通过其所在NVR设备中的CPU将存储器中对应的计算机程序指令读取后运行而成。
请参考图3及图4,是本发明一种示例性实施方式中的一种数据重传装置400,该装置基本运行环境包括CPU,存储器以及其他硬件,从逻辑层面上来看,该装置400包括:
保存单元401,用于在NVR收到IPC发送的数据包时,判断该数据包是否为重传数据;若是重传数据,则将该数据包保存在公共缓存区;
查找单元402,用于在NVR收到客户端请求对该IPC中的指定数据包进行重传时,该NVR在公共缓存区中查找该指定数据包;
发送单元403,用于在查找到该指定数据包时,将该指定数据包发送至该客户端。
可选的,所述保存单元401,还用于当所述IPC发送的数据包不是重传数据时,将该数据包保存在该IPC对应的独立缓存区;
所述查找单元402,还用于在公共缓存区中未查找到该指定数据包时,在该IPC对应的独立缓存区中查找该指定数据包;
所述发送单元403,还用于在查找到该指定数据包时,将该指定数据包发送至该客户端。
可选的,所述装置还包括:
请求单元404,用于在该IPC对应的独立缓存区中未查找到该指定数据包时,向该IPC请求对该指定数据包进行重传;当收到该IPC重传的所述指定数据包时,将该指定数据包保存在公共缓存区,并将该指定数据包发送至客户端。
可选的,所述装置还包括:
检测单元405,用于按照预设时间间隔将该IPC对应的独立缓存区的缓存空间大小发送到该IPC,以使该IPC根据当前流量将自身的缓存数据大小反馈至该NVR,NVR接收并记录该IPC的缓存数据大小;
所述请求单元404,还用于在NVR向该IPC请求对该指定数据包进行重传之前,通过记录的该IPC的缓存数据大小判断该IPC是否缓存该指定数据包,若是,则向该IPC请求对该指定数据包进行重传。
可选的,所述保存单元401,具体用于在NVR收到IPC发送的非重传的第一数据包时,判断该IPC对应的独立缓存区是否存满;若存满,则NVR根据该IPC的缓存数据大小判断该IPC的缓存数据中是否包括该IPC对应的独立缓存区中时间最早的第二数据包,若包括,则将该第二数据包删除;若不包括,则将该第二数据包回传至该IPC;并将该第一数据包按照时间顺序存储到该独立缓存区;若未存满,则NVR将该第一数据包按照时间顺序存储到该独立缓存区。
由此可见,本发明可以将IPC重传的数据包保存在NVR的公共缓存区,并在收到客户端请求IPC对指定数据包进行重传时,在公共缓存区查找该指定数据包,并将查找的该指定数据包发送至该客户端。因此本发明可以通过缓存重传数据包来使后续其他客户端请求相同的数据包时可以快速的重传,从而可以向客户端重传时间较早的数据包,提升用户体验。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种数据重传方法,其特征在于,所述方法包括:
当NVR收到IPC发送的数据包时,判断该数据包是否为重传数据;若是重传数据,则将该数据包保存在公共缓存区;
在NVR收到客户端请求对该IPC中的指定数据包进行重传时,该NVR在公共缓存区中查找该指定数据包;
在查找到该指定数据包时,将该指定数据包发送至该客户端。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述IPC发送的数据包不是重传数据时,则将该数据包保存在该IPC对应的独立缓存区;
当NVR在公共缓存区中未查找到该指定数据包时,在该IPC对应的独立缓存区中查找该指定数据包;
在查找到该指定数据包时,将该指定数据包发送至该客户端。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当NVR在该IPC对应的独立缓存区中未查找到该指定数据包时,向该IPC请求对该指定数据包进行重传;
当收到该IPC重传的所述指定数据包时,将该指定数据包保存在公共缓存区,并将该指定数据包发送至客户端。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
NVR按照预设时间间隔将该IPC对应的独立缓存区的缓存空间大小发送到该IPC,以使该IPC根据当前流量将自身的缓存数据大小反馈至该NVR,NVR接收并记录该IPC的缓存数据大小;
在NVR向该IPC请求对该指定数据包进行重传之前,所述方法还包括:
通过记录的该IPC的缓存数据大小判断该IPC是否缓存该指定数据包,若是,则向该IPC请求对该指定数据包进行重传。
5.根据权利要求4所述的方法,其特征在于,所述若所述IPC发送的数据包不是重传数据时,则将该数据包保存在该IPC对应的独立缓存区,具体包括:
当NVR收到IPC发送的非重传的第一数据包时,判断该IPC对应的独立缓存区是否存满;
若存满,则NVR根据该IPC的缓存数据大小判断该IPC的缓存数据中是否包括该IPC对应的独立缓存区中时间最早的第二数据包,若包括,则将该第二数据包删除;若不包括,则将该第二数据包回传至该IPC;并将该第一数据包按照时间顺序存储到该独立缓存区;
若未存满,则NVR将该第一数据包按照时间顺序存储到该独立缓存区。
6.一种数据重传装置,其特征在于,所述装置包括:
保存单元,用于在NVR收到IPC发送的数据包时,判断该数据包是否为重传数据;若是重传数据,则将该数据包保存在公共缓存区;
查找单元,用于在NVR收到客户端请求对该IPC中的指定数据包进行重传时,该NVR在公共缓存区中查找该指定数据包;
发送单元,用于在查找到该指定数据包时,将该指定数据包发送至该客户端。
7.根据权利要求6所述的方法,其特征在于,
所述保存单元,还用于当所述IPC发送的数据包不是重传数据时,将该数据包保存在该IPC对应的独立缓存区;
所述查找单元,还用于在公共缓存区中未查找到该指定数据包时,在该IPC对应的独立缓存区中查找该指定数据包;
所述发送单元,还用于在查找到该指定数据包时,将该指定数据包发送至该客户端。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
请求单元,用于在该IPC对应的独立缓存区中未查找到该指定数据包时,向该IPC请求对该指定数据包进行重传;当收到该IPC重传的所述指定数据包时,将该指定数据包保存在公共缓存区,并将该指定数据包发送至客户端。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
检测单元,用于按照预设时间间隔将该IPC对应的独立缓存区的缓存空间大小发送到该IPC,以使该IPC根据当前流量将自身的缓存数据大小反馈至该NVR,NVR接收并记录该IPC的缓存数据大小;
所述请求单元,还用于在NVR向该IPC请求对该指定数据包进行重传之前,通过记录的该IPC的缓存数据大小判断该IPC是否缓存该指定数据包,若是,则向该IPC请求对该指定数据包进行重传。
10.根据权利要求7所述的装置,其特征在于,
所述保存单元,具体用于在NVR收到IPC发送的非重传的第一数据包时,判断该IPC对应的独立缓存区是否存满;若存满,则NVR根据该IPC的缓存数据大小判断该IPC的缓存数据中是否包括该IPC对应的独立缓存区中时间最早的第二数据包,若包括,则将该第二数据包删除;若不包括,则将该第二数据包回传至该IPC;并将该第一数据包按照时间顺序存储到该独立缓存区;若未存满,则NVR将该第一数据包按照时间顺序存储到该独立缓存区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610292019.7A CN106059718B (zh) | 2016-05-05 | 2016-05-05 | 一种数据重传方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610292019.7A CN106059718B (zh) | 2016-05-05 | 2016-05-05 | 一种数据重传方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106059718A true CN106059718A (zh) | 2016-10-26 |
CN106059718B CN106059718B (zh) | 2019-06-11 |
Family
ID=57177709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610292019.7A Active CN106059718B (zh) | 2016-05-05 | 2016-05-05 | 一种数据重传方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106059718B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106533639A (zh) * | 2016-12-06 | 2017-03-22 | 迈锐数据(北京)有限公司 | 一种数据重传方法及装置 |
CN109729319A (zh) * | 2019-01-21 | 2019-05-07 | 山东劳动职业技术学院(山东劳动技师学院) | 一种监控设备的录像文件断网续传的实现方法 |
CN110784289A (zh) * | 2019-10-31 | 2020-02-11 | 海光信息技术有限公司 | 一种数据重传方法以及数据重传装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621368A (zh) * | 2009-08-13 | 2010-01-06 | 北京必创科技有限公司 | 一种重传数据包的方法、装置及系统 |
CN103378955A (zh) * | 2012-04-26 | 2013-10-30 | 华为技术有限公司 | 数据重传的方法、系统、数据重传装置和数据获取装置 |
US20140101508A1 (en) * | 2000-08-30 | 2014-04-10 | Sony Corporation | Hybrid error-control algorithm |
CN103841380A (zh) * | 2014-03-19 | 2014-06-04 | 苏州科达科技股份有限公司 | 一种媒体流转分发的方法及其系统 |
CN104284135A (zh) * | 2013-07-02 | 2015-01-14 | 华为技术有限公司 | 视频传输方法及设备 |
-
2016
- 2016-05-05 CN CN201610292019.7A patent/CN106059718B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140101508A1 (en) * | 2000-08-30 | 2014-04-10 | Sony Corporation | Hybrid error-control algorithm |
CN101621368A (zh) * | 2009-08-13 | 2010-01-06 | 北京必创科技有限公司 | 一种重传数据包的方法、装置及系统 |
CN103378955A (zh) * | 2012-04-26 | 2013-10-30 | 华为技术有限公司 | 数据重传的方法、系统、数据重传装置和数据获取装置 |
CN104284135A (zh) * | 2013-07-02 | 2015-01-14 | 华为技术有限公司 | 视频传输方法及设备 |
CN103841380A (zh) * | 2014-03-19 | 2014-06-04 | 苏州科达科技股份有限公司 | 一种媒体流转分发的方法及其系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106533639A (zh) * | 2016-12-06 | 2017-03-22 | 迈锐数据(北京)有限公司 | 一种数据重传方法及装置 |
CN106533639B (zh) * | 2016-12-06 | 2019-09-17 | 迈锐数据(北京)有限公司 | 一种数据重传方法及装置 |
CN109729319A (zh) * | 2019-01-21 | 2019-05-07 | 山东劳动职业技术学院(山东劳动技师学院) | 一种监控设备的录像文件断网续传的实现方法 |
CN110784289A (zh) * | 2019-10-31 | 2020-02-11 | 海光信息技术有限公司 | 一种数据重传方法以及数据重传装置 |
CN110784289B (zh) * | 2019-10-31 | 2022-04-05 | 海光信息技术股份有限公司 | 一种数据重传方法以及数据重传装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106059718B (zh) | 2019-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2874116A1 (en) | Communication method between content requester and content provider for providing content and real-time streaming content in content name-based content centric network | |
US9369520B2 (en) | Enhancement of upload and/or download performance based on client and/or server feedback information | |
US7376749B2 (en) | Heuristics-based peer to peer message routing | |
US8819080B2 (en) | System and method for collection, retrieval, and distribution of data | |
CN107979592B (zh) | 一种发送业务请求消息的方法及装置 | |
US20120155464A1 (en) | Communication node and communication method | |
CN106130882A (zh) | 用于传输消息的方法和装置 | |
US10708820B2 (en) | Apparatus and method for data delivery in delay-tolerant network (DTN) | |
US9854062B2 (en) | Data relay apparatus and method, server apparatus, and data sending method | |
WO2018166415A1 (zh) | 云存储系统、媒体数据存储方法及系统 | |
CN106412063A (zh) | 教育网内cdn节点检测与资源调度系统及方法 | |
CN105306585A (zh) | 一种多数据中心的数据同步方法 | |
CN106059718A (zh) | 一种数据重传方法及装置 | |
CN110022369A (zh) | 消息处理方法、装置、电子设备及计算机可读存储介质 | |
CN102857354A (zh) | 告警信息上报方法、装置及系统 | |
CN106066877A (zh) | 一种异步更新数据的方法及系统 | |
Connolly et al. | An extension to TCP: Partial order service | |
CN105610716B (zh) | 一种基于sdn的多媒体流量优化调度方法、装置及系统 | |
WO2012031511A1 (zh) | 管理消息的方法和装置 | |
CN105491158B (zh) | 一种基于网络数据流的http内容还原方法及系统 | |
CN109769005A (zh) | 一种网络请求的数据缓存方法及数据缓存系统 | |
CN107665235A (zh) | 缓存处理方法、装置、计算机设备和存储介质 | |
CN106790647A (zh) | 一种自适应服务管理的方法和系统 | |
CN102387062B (zh) | 动态桥接点改善p2p节点在跨网络时的传输速度的方法 | |
WO2018090315A1 (zh) | 数据请求的处理方法及缓存系统 |
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 |