一種數(shù)據(jù)重傳方法及裝置的制造方法
【專利摘要】本發(fā)明提供一種數(shù)據(jù)重傳方法及裝置,所述方法包括:當(dāng)NVR收到IPC發(fā)送的數(shù)據(jù)包時(shí),判斷該數(shù)據(jù)包是否為重傳數(shù)據(jù);若是重傳數(shù)據(jù),則將該數(shù)據(jù)包保存在公共緩存區(qū);在NVR收到客戶端請(qǐng)求對(duì)該IPC中的指定數(shù)據(jù)包進(jìn)行重傳時(shí),該NVR在公共緩存區(qū)中查找該指定數(shù)據(jù)包;在查找到該指定數(shù)據(jù)包時(shí),將該指定數(shù)據(jù)包發(fā)送至該客戶端。因此本發(fā)明可以通過(guò)緩存重傳數(shù)據(jù)包來(lái)使后續(xù)其他客戶端請(qǐng)求相同的數(shù)據(jù)包時(shí)可以快速的重傳,從而可以向客戶端重傳時(shí)間較早的數(shù)據(jù)包,提升用戶體驗(yàn)。
【專利說(shuō)明】
一種數(shù)據(jù)重傳方法及裝置
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及視頻監(jiān)控技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)重傳方法及裝置。
【背景技術(shù)】
[0002]在視頻監(jiān)控系統(tǒng)中,一般采用組播方式發(fā)送實(shí)時(shí)視頻數(shù)據(jù)到固定組播組,而接收者只需要加入相應(yīng)的組播組即可接收到視頻數(shù)據(jù)?,F(xiàn)有的視頻監(jiān)控系統(tǒng)中,NVR(NetWOrkVideo Recorder,網(wǎng)絡(luò)視頻錄像機(jī))管理多臺(tái)IPC以及多臺(tái)點(diǎn)播客戶端,基于UDP機(jī)制,IPC的數(shù)據(jù)先傳輸?shù)絅VR,NVR將數(shù)據(jù)進(jìn)行存儲(chǔ)或者解碼播放,如果有客戶端也在點(diǎn)播該IPC的實(shí)況數(shù)據(jù),那么NVR就將該數(shù)據(jù)包轉(zhuǎn)發(fā)給客戶端。由于UDP是不可靠的通信協(xié)議,現(xiàn)有的視頻監(jiān)控系統(tǒng)一般都會(huì)采用消息重傳來(lái)實(shí)現(xiàn)其可靠性。因此客戶端可以通過(guò)數(shù)據(jù)包的序列表檢測(cè)數(shù)據(jù)包的丟失情況。當(dāng)檢測(cè)到數(shù)據(jù)包丟失時(shí),客戶端通常會(huì)向NVR端發(fā)起重傳請(qǐng)求,NVR再?gòu)木彺嬷性俅伟l(fā)送該數(shù)據(jù)包給客戶端。然而NVR自身的緩存資源十分有限,通常無(wú)法緩存太多數(shù)據(jù),因此當(dāng)客戶端請(qǐng)求重傳時(shí)間較早的丟包數(shù)據(jù)時(shí),NVR通常很難實(shí)現(xiàn)數(shù)據(jù)重傳服務(wù)。
【發(fā)明內(nèi)容】
[0003]有鑒于此,本發(fā)明提供一種數(shù)據(jù)重傳方法及裝置來(lái)解決現(xiàn)有技術(shù)中NVR無(wú)法重傳時(shí)間較早的數(shù)據(jù)包的問(wèn)題。
[0004]具體地,本發(fā)明是通過(guò)如下技術(shù)方案實(shí)現(xiàn)的:
[0005]本發(fā)明提供一種數(shù)據(jù)重傳方法,所述方法包括:
[0006]當(dāng)NVR收到IPC發(fā)送的數(shù)據(jù)包時(shí),判斷該數(shù)據(jù)包是否為重傳數(shù)據(jù);若是重傳數(shù)據(jù),則將該數(shù)據(jù)包保存在公共緩存區(qū);
[0007]在NVR收到客戶端請(qǐng)求對(duì)該IPC中的指定數(shù)據(jù)包進(jìn)行重傳時(shí),該NVR在公共緩存區(qū)中查找該指定數(shù)據(jù)包;
[0008]在查找到該指定數(shù)據(jù)包時(shí),將該指定數(shù)據(jù)包發(fā)送至該客戶端。
[0009]進(jìn)一步的,所述方法還包括:
[0010]若所述IPC發(fā)送的數(shù)據(jù)包不是重傳數(shù)據(jù)時(shí),則將該數(shù)據(jù)包保存在該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū);
[0011]當(dāng)NVR在公共緩存區(qū)中未查找到該指定數(shù)據(jù)包時(shí),在該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)中查找該指定數(shù)據(jù)包;
[0012]在查找到該指定數(shù)據(jù)包時(shí),將該指定數(shù)據(jù)包發(fā)送至該客戶端。
[0013]進(jìn)一步的,所述方法還包括:
[0014]當(dāng)NVR在該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)中未查找到該指定數(shù)據(jù)包時(shí),向該IPC請(qǐng)求對(duì)該指定數(shù)據(jù)包進(jìn)行重傳;
[0015]當(dāng)收到該IPC重傳的所述指定數(shù)據(jù)包時(shí),將該指定數(shù)據(jù)包保存在公共緩存區(qū),并將該指定數(shù)據(jù)包發(fā)送至客戶端。
[0016]進(jìn)一步的,所述方法還包括:
[0017]NVR按照預(yù)設(shè)時(shí)間間隔將該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)的緩存空間大小發(fā)送到該IPC,以使該IPC根據(jù)當(dāng)前流量將自身的緩存數(shù)據(jù)大小反饋至該NVR,NVR接收并記錄該IPC的緩存數(shù)據(jù)大小;
[0018]在NVR向該IPC請(qǐng)求對(duì)該指定數(shù)據(jù)包進(jìn)行重傳之前,所述方法還包括:
[0019]通過(guò)記錄的該IPC的緩存數(shù)據(jù)大小判斷該IPC是否緩存該指定數(shù)據(jù)包,若是,則向該IPC請(qǐng)求對(duì)該指定數(shù)據(jù)包進(jìn)行重傳。
[0020]進(jìn)一步的,所述若所述IPC發(fā)送的數(shù)據(jù)包不是重傳數(shù)據(jù)時(shí),則將該數(shù)據(jù)包保存在該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū),具體包括:
[0021]當(dāng)NVR收到IPC發(fā)送的非重傳的第一數(shù)據(jù)包時(shí),判斷該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)是否存滿;
[0022]若存滿,則NVR根據(jù)該IPC的緩存數(shù)據(jù)大小判斷該IPC的緩存數(shù)據(jù)中是否包括該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)中時(shí)間最早的第二數(shù)據(jù)包,若包括,則將該第二數(shù)據(jù)包刪除;若不包括,則將該第二數(shù)據(jù)包回傳至該IPC;并將該第一數(shù)據(jù)包按照時(shí)間順序存儲(chǔ)到該獨(dú)立緩存區(qū);
[0023]若未存滿,則NVR將該第一數(shù)據(jù)包按照時(shí)間順序存儲(chǔ)到該獨(dú)立緩存區(qū)。
[0024]基于相同的構(gòu)思,本發(fā)明還提供一種數(shù)據(jù)重傳裝置,所述裝置包括:
[0025]保存單元,用于在NVR收到IPC發(fā)送的數(shù)據(jù)包時(shí),判斷該數(shù)據(jù)包是否為重傳數(shù)據(jù);若是重傳數(shù)據(jù),則將該數(shù)據(jù)包保存在公共緩存區(qū);
[0026]查找單元,用于在NVR收到客戶端請(qǐng)求對(duì)該IPC中的指定數(shù)據(jù)包進(jìn)行重傳時(shí),該NVR在公共緩存區(qū)中查找該指定數(shù)據(jù)包;
[0027]發(fā)送單元,用于在查找到該指定數(shù)據(jù)包時(shí),將該指定數(shù)據(jù)包發(fā)送至該客戶端。
[0028]進(jìn)一步的,所述保存單元,還用于當(dāng)所述IPC發(fā)送的數(shù)據(jù)包不是重傳數(shù)據(jù)時(shí),將該數(shù)據(jù)包保存在該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū);
[0029]所述查找單元,還用于在公共緩存區(qū)中未查找到該指定數(shù)據(jù)包時(shí),在該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)中查找該指定數(shù)據(jù)包;
[0030]所述發(fā)送單元,還用于在查找到該指定數(shù)據(jù)包時(shí),將該指定數(shù)據(jù)包發(fā)送至該客戶端。
[0031]進(jìn)一步的,所述裝置還包括:
[0032]請(qǐng)求單元,用于在該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)中未查找到該指定數(shù)據(jù)包時(shí),向該IPC請(qǐng)求對(duì)該指定數(shù)據(jù)包進(jìn)行重傳;當(dāng)收到該IPC重傳的所述指定數(shù)據(jù)包時(shí),將該指定數(shù)據(jù)包保存在公共緩存區(qū),并將該指定數(shù)據(jù)包發(fā)送至客戶端。
[0033]進(jìn)一步的,所述裝置還包括:
[0034]檢測(cè)單元,用于按照預(yù)設(shè)時(shí)間間隔將該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)的緩存空間大小發(fā)送到該IPC,以使該IPC根據(jù)當(dāng)前流量將自身的緩存數(shù)據(jù)大小反饋至該NVR,NVR接收并記錄該IPC的緩存數(shù)據(jù)大小;
[0035]所述請(qǐng)求單元,還用于在NVR向該IPC請(qǐng)求對(duì)該指定數(shù)據(jù)包進(jìn)行重傳之前,通過(guò)記錄的該IPC的緩存數(shù)據(jù)大小判斷該IPC是否緩存該指定數(shù)據(jù)包,若是,則向該IPC請(qǐng)求對(duì)該指定數(shù)據(jù)包進(jìn)行重傳。
[0036]進(jìn)一步的,所述保存單元,具體用于在NVR收到IPC發(fā)送的非重傳的第一數(shù)據(jù)包時(shí),判斷該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)是否存滿;若存滿,則NVR根據(jù)該IPC的緩存數(shù)據(jù)大小判斷該IPC的緩存數(shù)據(jù)中是否包括該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)中時(shí)間最早的第二數(shù)據(jù)包,若包括,則將該第二數(shù)據(jù)包刪除;若不包括,則將該第二數(shù)據(jù)包回傳至該IPC;并將該第一數(shù)據(jù)包按照時(shí)間順序存儲(chǔ)到該獨(dú)立緩存區(qū);若未存滿,則NVR將該第一數(shù)據(jù)包按照時(shí)間順序存儲(chǔ)到該獨(dú)立緩存區(qū)。
[0037]由此可見,本發(fā)明可以將IPC重傳的數(shù)據(jù)包保存在NVR的公共緩存區(qū),并在收到客戶端請(qǐng)求IPC對(duì)指定數(shù)據(jù)包進(jìn)行重傳時(shí),在公共緩存區(qū)查找該指定數(shù)據(jù)包,并將查找的該指定數(shù)據(jù)包發(fā)送至該客戶端。因此本發(fā)明可以通過(guò)緩存重傳數(shù)據(jù)包來(lái)使后續(xù)其他客戶端請(qǐng)求相同的數(shù)據(jù)包時(shí)可以快速的重傳,從而可以向客戶端重傳時(shí)間較早的數(shù)據(jù)包,提升用戶體驗(yàn)。
【附圖說(shuō)明】
[0038]圖1是本發(fā)明一種示例性實(shí)施方式中的一種數(shù)據(jù)重傳方法的處理流程圖;
[0039]圖2是本發(fā)明一種示例性實(shí)施方式中的數(shù)據(jù)重傳組網(wǎng)架構(gòu)的示意圖;
[0040]圖3本發(fā)明一種示例性實(shí)施方式中的數(shù)據(jù)重傳裝置所在設(shè)備的硬件結(jié)構(gòu)圖;
[0041]圖4本發(fā)明一種示例性實(shí)施方式中的一種數(shù)據(jù)重傳裝置的邏輯結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0042]為了解決現(xiàn)有技術(shù)存在的問(wèn)題,本發(fā)明提供一種數(shù)據(jù)重傳方法及裝置,可以將IPC重傳的數(shù)據(jù)包保存在NVR的公共緩存區(qū),并在收到客戶端請(qǐng)求IPC對(duì)指定數(shù)據(jù)包進(jìn)行重傳時(shí),在公共緩存區(qū)查找該指定數(shù)據(jù)包,并將查找的該指定數(shù)據(jù)包發(fā)送至該客戶端。因此本發(fā)明可以通過(guò)緩存重傳數(shù)據(jù)包來(lái)使后續(xù)其他客戶端請(qǐng)求相同的數(shù)據(jù)包時(shí)可以快速的重傳,從而可以向客戶端重傳時(shí)間較早的數(shù)據(jù)包,提升用戶體驗(yàn)。
[0043]請(qǐng)參考圖1,是本發(fā)明一種示例性實(shí)施方式中的一種數(shù)據(jù)重傳方法的處理流程,所述方法可應(yīng)用于NVR,所述方法包括:
[0044]步驟101、當(dāng)NVR收到IPC發(fā)送的數(shù)據(jù)包時(shí),判斷該數(shù)據(jù)包是否為重傳數(shù)據(jù);若是重傳數(shù)據(jù),則將該數(shù)據(jù)包保存在公共緩存區(qū);
[0045]在本實(shí)施例中,NVR除了為每個(gè)IPC設(shè)置對(duì)應(yīng)的獨(dú)立緩存區(qū)以外,還會(huì)設(shè)置公共緩存區(qū),該公共緩存區(qū)用于存儲(chǔ)所有IPC已重傳的數(shù)據(jù)包。因此,當(dāng)NVR收到IPC發(fā)送的數(shù)據(jù)包時(shí),先判斷該數(shù)據(jù)包是否為重傳數(shù)據(jù),若是重傳數(shù)據(jù),則將該數(shù)據(jù)包保存在公共緩存區(qū),這就是公共緩存區(qū)的數(shù)據(jù)來(lái)源方式。公共緩存區(qū)可以按照時(shí)間的順序進(jìn)行隊(duì)列的出入操作,緩存空間被存滿時(shí),會(huì)刪除時(shí)間較早的數(shù)據(jù)包。因此,結(jié)合上述方案,當(dāng)NVR收到客戶端請(qǐng)求IPC對(duì)指定數(shù)據(jù)包進(jìn)行重傳時(shí),該NVR具體可以在公共緩存區(qū)的已重傳數(shù)據(jù)包中查找該指定數(shù)據(jù)包。由于現(xiàn)有技術(shù)中NVR只緩存每個(gè)IPC在一段時(shí)間內(nèi)發(fā)送的數(shù)據(jù)包,因此當(dāng)用戶需要重傳更早的數(shù)據(jù)包時(shí),NVR通常無(wú)法實(shí)現(xiàn)數(shù)據(jù)重傳。但本發(fā)明在緩存每個(gè)IPC在一段時(shí)間內(nèi)發(fā)送的數(shù)據(jù)包之外,還可以在公共緩存區(qū)緩存這些IPC已重傳的數(shù)據(jù)包。因此當(dāng)其他客戶端也請(qǐng)求重傳的數(shù)據(jù)包時(shí),NVR則可以將數(shù)據(jù)包發(fā)送給客戶端,從而可以擴(kuò)大NVR緩存的數(shù)據(jù)量,提升用戶體驗(yàn)。
[0046]步驟102、在NVR收到客戶端請(qǐng)求對(duì)該IPC中的指定數(shù)據(jù)包進(jìn)行重傳時(shí),該NVR在公共緩存區(qū)中查找該指定數(shù)據(jù)包;
[0047]在本實(shí)施例中,當(dāng)客戶端接收IPC的數(shù)據(jù)過(guò)程中檢測(cè)到丟包時(shí),可以向NVR發(fā)送重傳請(qǐng)求,請(qǐng)求中包括該IPC的IP地址等標(biāo)識(shí)信息,以及需要重傳的指定數(shù)據(jù)包對(duì)應(yīng)的序列號(hào)。當(dāng)NVR收到客戶端的重傳請(qǐng)求時(shí),可以根據(jù)該重傳請(qǐng)求中的IPC標(biāo)識(shí)信息以及該指定數(shù)據(jù)包對(duì)應(yīng)的序列號(hào),在本地的公共緩存區(qū)中保存的已重傳的數(shù)據(jù)包中查找該指定數(shù)據(jù)包。
[0048]步驟103、在查找到該指定數(shù)據(jù)包時(shí),將該指定數(shù)據(jù)包發(fā)送至該客戶端。
[0049]當(dāng)NVR在公共緩存區(qū)查找到該指定數(shù)據(jù)包時(shí),可以將該指定數(shù)據(jù)包發(fā)送至該客戶端。由于已重傳的數(shù)據(jù)包相比于其他數(shù)據(jù)包來(lái)講,其被請(qǐng)求重傳的概率會(huì)更高,因此本發(fā)明通過(guò)公共緩存區(qū)緩存這些IPC已重傳的數(shù)據(jù)包,可以擴(kuò)大NVR緩存的數(shù)據(jù)量,為客戶端提供更高效的重傳服務(wù)。
[0050]若IPC發(fā)送的數(shù)據(jù)包不是重傳數(shù)據(jù),則NVR可以將該數(shù)據(jù)包保存在該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)。由于公共緩存區(qū)只緩存已重傳的數(shù)據(jù)包,而不是所有獨(dú)立緩存區(qū)中的數(shù)據(jù)包,因此當(dāng)NVR在公共緩存區(qū)中未查找到該指定數(shù)據(jù)包時(shí),還可以在該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)中查找該指定數(shù)據(jù)包,并在查找到該指定數(shù)據(jù)包時(shí),將該指定數(shù)據(jù)包發(fā)送至該客戶端。
[0051 ]若NVR在該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)中亦未查找到該指定數(shù)據(jù)包時(shí),還可以向該IPC請(qǐng)求對(duì)該指定數(shù)據(jù)包進(jìn)行重傳。若該IPC中存儲(chǔ)該指定數(shù)據(jù)包時(shí),可以將該指定數(shù)據(jù)包發(fā)送到NVR。當(dāng)NVR收到該IPC重傳的所述指定數(shù)據(jù)包時(shí),可以將該指定數(shù)據(jù)包保存在公共緩存區(qū),并將該指定數(shù)據(jù)包發(fā)送至客戶端。需要說(shuō)明的是,由于IPC發(fā)送的指定數(shù)據(jù)包的源地址為IPC的地址,目的地址為NVR的地址,因此NVR在將該指定數(shù)據(jù)包發(fā)送到客戶端時(shí)需要重新封裝該指定數(shù)據(jù)包的IP頭部,即將該指定數(shù)據(jù)包IP頭部的源地址改為該NVR的地址,目的地址改為請(qǐng)求該指定數(shù)據(jù)包的客戶端的地址。從而可以使該客戶端收到重傳的指定數(shù)據(jù)包。
[0052]然而在一般情況下,IPC和NVR的獨(dú)立緩存區(qū)中的數(shù)據(jù)包都是同一時(shí)間段內(nèi)的最新數(shù)據(jù),比如通過(guò)計(jì)算IPC獨(dú)立緩存區(qū)的空間只能保存30秒的數(shù)據(jù),假設(shè)此時(shí)最新時(shí)間為10:00:00秒,那么緩存數(shù)據(jù)保存范圍就應(yīng)該是9:59:30秒到10點(diǎn)這30秒的數(shù)據(jù)。重傳的數(shù)據(jù)如果超出此時(shí)間范圍則無(wú)法重傳。由于目前IPC和NVR二者都保存著最新時(shí)間段的30秒的數(shù)據(jù),所以二者緩存區(qū)的數(shù)據(jù)是重復(fù)的,換言之,IPC緩存區(qū)的存在的數(shù)據(jù)NVR中該IPC獨(dú)立緩存區(qū)中也會(huì)存在,反之則二者都不存在。
[0053]為了解決上述問(wèn)題,本發(fā)明在NVR和IPC之間建立一種協(xié)同工作機(jī)制。具體來(lái)講,NVR可按照預(yù)設(shè)時(shí)間間隔將該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)的緩存空間大小發(fā)送到該IPC,以使該IPC根據(jù)當(dāng)前流量確定自身的緩存數(shù)據(jù)大小并向該NVR反饋該緩存數(shù)據(jù)大小,NVR接收并記錄該IPC的緩存數(shù)據(jù)大小。例如,IPC在被NVR管理上線后,NVR在自己的緩存里為該IPC劃分獨(dú)立緩存區(qū),假設(shè)該緩存空間大小為5MB,之后NVR可定期向該IPC發(fā)送緩存空間大小。例如NVR通過(guò)SIP/0NVIF等協(xié)議通知IPC,告知IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)為5MB??紤]到獨(dú)立緩存區(qū)空間如果有變化,則NVR需要定期發(fā)送該消息來(lái)通報(bào)實(shí)時(shí)的緩存區(qū)空間大小,例如間隔I分鐘。當(dāng)IPC接收到該信息后,即得知NVR的對(duì)應(yīng)IPC的獨(dú)立緩存區(qū)的空間為5MB,此時(shí)IPC再實(shí)時(shí)檢測(cè)自身的視頻碼流大小,假設(shè)視頻流量為8Mb/s,即IMB/s,通過(guò)運(yùn)算得知NVR的獨(dú)立緩存區(qū)可以接收當(dāng)前碼流為5秒。假設(shè)IPC的緩存空間為5MB,則IPC可以告知NVR其可以緩存更早一點(diǎn),例如IPC可以緩存比NVR更早5秒的數(shù)據(jù)。IPC確定自身的緩存數(shù)據(jù)大小后,會(huì)進(jìn)一步向該NVR反饋該緩存數(shù)據(jù)大小。NVR接收并記錄IPC發(fā)送的緩存數(shù)據(jù)大小,從而可以在請(qǐng)求重傳數(shù)據(jù)前進(jìn)行預(yù)判操作。具體來(lái)講,在NVR向該IPC請(qǐng)求對(duì)該指定數(shù)據(jù)包進(jìn)行重傳之前,NVR可以通過(guò)記錄的IPC的緩存數(shù)據(jù)大小可以判斷該IPC是否緩存該指定數(shù)據(jù)包,若是,則向該IPC請(qǐng)求對(duì)該指定數(shù)據(jù)包進(jìn)行重傳。例如,如果IPC將自身的緩存數(shù)據(jù)大小為1-5秒告知NVR,當(dāng)NVR向該IPC請(qǐng)求對(duì)第二秒的數(shù)據(jù)包進(jìn)行重傳之前,根據(jù)IPC的緩存數(shù)據(jù)大小判斷得知IPC緩存有第二秒的數(shù)據(jù)包,因此可以向IPC發(fā)送重傳請(qǐng)求,并獲得IPC的重傳數(shù)據(jù);如果IPC將自身的緩存數(shù)據(jù)大小為3-5秒告知NVR,當(dāng)NVR向該IPC請(qǐng)求對(duì)第二秒的數(shù)據(jù)包進(jìn)行重傳之前,根據(jù)IPC的緩存數(shù)據(jù)大小判斷得知IPC未緩存第二秒的數(shù)據(jù)包,因此可以避免向IPC發(fā)送重傳請(qǐng)求,因此本實(shí)施例可以進(jìn)一步提高NVR的重傳效率。
[0054]在本發(fā)明可選的實(shí)施例中,當(dāng)NVR收到IPC發(fā)送的非重傳的第一數(shù)據(jù)包時(shí),可以進(jìn)一步判斷該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)是否存滿;若存滿,則NVR根據(jù)IPC的緩存數(shù)據(jù)大小判斷該IPC的緩存數(shù)據(jù)中是否包括該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)中時(shí)間最早的第二數(shù)據(jù)包,若包括,則將該第二數(shù)據(jù)包刪除;若不包括,則將該第二數(shù)據(jù)包回傳至該IPC,并將該第一數(shù)據(jù)包按照時(shí)間順序存儲(chǔ)到該獨(dú)立緩存區(qū)。具體來(lái)講,當(dāng)IPC的緩存空間大于NVR中IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)時(shí),IPC中緩存的數(shù)據(jù)包中會(huì)包括所述第二數(shù)據(jù)包,因此NVR可以將該第二數(shù)據(jù)包刪除;當(dāng)IPC的緩存空間小于等于NVR中IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)時(shí),IPC中緩存的數(shù)據(jù)包中則不包括所述第二數(shù)據(jù)包,因此NVR可以將該第二數(shù)據(jù)包回傳至該IPC,以使IPC緩存該第二數(shù)據(jù)包,需要說(shuō)明的是,NVR在向IPC回傳之前,需要通知IPC該回傳消息,以使IPC啟動(dòng)與NVR的回傳機(jī)制。此外,在本發(fā)明可選的實(shí)施例中,IPC也可以根據(jù)NVR發(fā)送的緩存空間大小以及IPC自身的緩存數(shù)據(jù)大小判斷是否需要NVR進(jìn)行回傳數(shù)據(jù),判斷方法與NVR端的判斷方法類似,不同的是,若需要NVR回傳,則IPC會(huì)向NVR發(fā)送回傳請(qǐng)求,并主動(dòng)啟動(dòng)與NVR的回傳機(jī)制。
[0055]若NVR中的獨(dú)立緩存區(qū)未存滿,說(shuō)明IPC發(fā)送的數(shù)據(jù)包沒(méi)有超過(guò)緩存范圍,則NVR可以將該第一數(shù)據(jù)包按照時(shí)間順序存儲(chǔ)到該獨(dú)立緩存區(qū)。
[0056]為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,下面對(duì)本發(fā)明該方案作進(jìn)一步地詳細(xì)說(shuō)明。
[0057]請(qǐng)參考圖2,該數(shù)據(jù)重傳組網(wǎng)架構(gòu)中包括NVR、IPC以及客戶端。該NVR上將緩存區(qū)預(yù)先劃分為公共緩存區(qū)以及為在線IPCl至IPCn劃分對(duì)應(yīng)的獨(dú)立緩存區(qū),即緩存區(qū)I至緩存區(qū)η。有當(dāng)客戶端點(diǎn)播IPCl的實(shí)況數(shù)據(jù)時(shí),假設(shè)IPCl為客戶端發(fā)送序列號(hào)為1-15的數(shù)據(jù)包,假設(shè)NVR的緩存區(qū)I的緩存空間為5個(gè)數(shù)據(jù)包,則NVR每次可以將最新的5個(gè)數(shù)據(jù)包緩存在IPCl對(duì)應(yīng)的緩存區(qū)I中,并發(fā)送到客戶端。當(dāng)客戶端檢測(cè)到丟包時(shí),客戶端可向NVR發(fā)送重傳請(qǐng)求,其中包括IPCl的IP地址以及丟包的數(shù)據(jù)包的序列號(hào),例如數(shù)據(jù)包3。當(dāng)NVR收到重傳請(qǐng)求后,首先在公共緩存區(qū)查找該數(shù)據(jù)包IP頭部為IPCl的IP地址,且序列號(hào)為3的數(shù)據(jù)包。若之前有其他客戶端也請(qǐng)求重傳該IPCl中的數(shù)據(jù)包3,則NVR此時(shí)可以在公共緩存區(qū)中查找到數(shù)據(jù)包3,并將該數(shù)據(jù)包3發(fā)送至客戶端。但若之前沒(méi)有客戶端請(qǐng)求重傳過(guò)IPCl中的數(shù)據(jù)包3,貝IjNVR可以在IPCl對(duì)應(yīng)的緩存區(qū)I中查找該數(shù)據(jù)包3,若查找到則將該數(shù)據(jù)包3發(fā)送至客戶端。若在獨(dú)立緩存區(qū)仍未查找到該數(shù)據(jù)包3,則NVR需要再向?qū)?yīng)的IPCl發(fā)送重傳請(qǐng)求。IPCl收到NVR的重傳請(qǐng)求后,在IPCl本地的緩存區(qū)查找該數(shù)據(jù)包3,并將該數(shù)據(jù)包3發(fā)送到NVR。NVR從IPCl獲取到數(shù)據(jù)包3后,首先將該數(shù)據(jù)包放入到公共緩存區(qū),再將數(shù)據(jù)包3轉(zhuǎn)發(fā)給客戶端。轉(zhuǎn)發(fā)時(shí)需要重新封裝數(shù)據(jù)包3的IP頭部,因?yàn)镮PCl的發(fā)過(guò)來(lái)的數(shù)據(jù)包3的IP源地址和目的地址分別為IPCl的地址和NVR的地址,此時(shí)NVR將該數(shù)據(jù)包3轉(zhuǎn)發(fā)至客戶端,需要將源地址和目的地址分別改成NVR的地址和客戶端的地址。此后,若有其他客戶端請(qǐng)求IPCl的數(shù)據(jù)包3,則NVR可以在公共緩存區(qū)查找到該數(shù)據(jù)包3,并將數(shù)據(jù)包3發(fā)送至該客戶端。從而可以快速實(shí)現(xiàn)數(shù)據(jù)重傳。
[0058]另外,IPCl在被NVR管理上線后,假設(shè)NVR為IPCl劃分獨(dú)立緩存區(qū)(緩存區(qū)I)的緩存空間大小為5MB,之后NVR通過(guò)SIP/0NVIF等協(xié)議通知IPCl該緩存空間大小的消息。當(dāng)IPCl接收到該信息后,會(huì)再次檢查自身數(shù)據(jù)緩存區(qū)空間,如果IPCl的數(shù)據(jù)緩存區(qū)空間大于NVR的獨(dú)立緩存區(qū)空間,比如IPCl數(shù)據(jù)緩存區(qū)空間為1MB,那么意味著IPCl自身可以緩存的數(shù)據(jù)比NVR要多,因此IPCl自身可以緩存10秒的數(shù)據(jù),如果按一秒一個(gè)數(shù)據(jù)生成序列號(hào)的話,SPIPCl的數(shù)據(jù)緩存區(qū)空間緩存了序列號(hào)為1-10數(shù)據(jù)包,而NVR的獨(dú)立緩存區(qū)緩存了序列號(hào)為11-15數(shù)據(jù)包(較新數(shù)據(jù))。此時(shí)IPCl得知自己比NVR可以多緩存5個(gè)序列號(hào)的數(shù)據(jù)包時(shí),IPCl會(huì)回應(yīng)NVR的定期緩存通知消息,IPCl回應(yīng)的內(nèi)容包括IPCl可以緩存更老10秒的數(shù)據(jù)??紤]到獨(dú)立緩存區(qū)空間可能會(huì)發(fā)生變化,因此NVR可以設(shè)置定時(shí)器,例如每隔I分鐘向IPCl發(fā)送消息來(lái)通報(bào)實(shí)時(shí)的緩存區(qū)空間大小。當(dāng)NVR在實(shí)況數(shù)據(jù)發(fā)送的過(guò)程中,接收到客戶端發(fā)送的重傳請(qǐng)求時(shí),若NVR無(wú)法查詢到需要的數(shù)據(jù)包,則會(huì)通過(guò)需要重傳的數(shù)據(jù)序列號(hào)來(lái)判斷IPCl中是否會(huì)存在該數(shù)據(jù)包,假設(shè)需要重傳的數(shù)據(jù)序列號(hào)為2,NVR獨(dú)立緩存區(qū)中最老的數(shù)據(jù)序列號(hào)為11,由于IPCl可以緩存更老1秒的數(shù)據(jù),,則NVR可知IPCI此時(shí)的緩存數(shù)據(jù)中包括序列號(hào)1-10的數(shù)據(jù)包,因此IPCl包含有序列號(hào)2的數(shù)據(jù)包,在這個(gè)條件滿足后,NVR才會(huì)向IPCl發(fā)送重傳申請(qǐng),反之則不會(huì)發(fā)出。
[0059]上述情況為IPCl的緩存空間大于NVR的獨(dú)立緩存區(qū),這樣IPCl才能存放更多更舊的數(shù)據(jù)包,但I(xiàn)PCI的緩存空間小于等于NVR的緩存區(qū)時(shí),例如NVR獨(dú)立緩存區(qū)空間為1MB,IPC的數(shù)據(jù)緩存區(qū)空間為5MB時(shí),在NVR的緩存空間定期消息上報(bào)到IPCl后,IPCl通過(guò)自身計(jì)算可得知自身緩存可以緩存的包的數(shù)量。并得知自身數(shù)據(jù)緩存區(qū)空間小于NVR的獨(dú)立緩存區(qū)空間時(shí),IPCl會(huì)回應(yīng)NVR的定期緩存通知消息,IPCl回應(yīng)的內(nèi)容包括IPCl可以緩存更老5秒的數(shù)據(jù)。因此,當(dāng)NVR需要將該IPCl對(duì)應(yīng)的獨(dú)立緩存區(qū)(緩存區(qū)I)的數(shù)據(jù)丟棄時(shí),則可以將該數(shù)據(jù)反向傳回給IPCl。例如,IPCl發(fā)送了數(shù)據(jù)序列1-15,NVR的緩存區(qū)I會(huì)保存最新的一部分?jǐn)?shù)據(jù)(10個(gè)數(shù)據(jù)包),假設(shè)當(dāng)前NVR的緩存區(qū)I數(shù)據(jù)包序列號(hào)為5-14,那么當(dāng)序列號(hào)為15的數(shù)據(jù)包到達(dá)后,緩存區(qū)I會(huì)自動(dòng)清除最老的數(shù)據(jù)包,也就是序列號(hào)為5的數(shù)據(jù)包,此時(shí)NVR可以根據(jù)IPCl的反饋得知IPCl的緩存空間中沒(méi)有序列號(hào)為5的數(shù)據(jù)包,因此NVR會(huì)在清除序列號(hào)為5的數(shù)據(jù)包之前將該數(shù)據(jù)回傳到IPCUIPC1接收到回傳的序列號(hào)為5的數(shù)據(jù)包后,會(huì)將其放入自身的緩存空間,這樣就保障了 IPCl的緩存空間為舊數(shù)據(jù),NVR的為新數(shù)據(jù)。并且由于IPCl和NVR—般帶寬是足夠的,數(shù)據(jù)回傳并不會(huì)帶來(lái)負(fù)面的影響。
[0060 ]因此本發(fā)明可以通過(guò)緩存通知的機(jī)制使得IPC和NVR能保存不同時(shí)間范圍的數(shù)據(jù),從而使總緩存時(shí)間大大延長(zhǎng)。
[0061]基于相同的構(gòu)思,本發(fā)明還提供一種數(shù)據(jù)重傳裝置,該裝置可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,本發(fā)明的數(shù)據(jù)重傳裝置作為一個(gè)邏輯意義上的裝置,是通過(guò)其所在NVR設(shè)備中的CPU將存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取后運(yùn)行而成。
[0062]請(qǐng)參考圖3及圖4,是本發(fā)明一種示例性實(shí)施方式中的一種數(shù)據(jù)重傳裝置400,該裝置基本運(yùn)行環(huán)境包括CPU,存儲(chǔ)器以及其他硬件,從邏輯層面上來(lái)看,該裝置400包括:
[0063]保存單元401,用于在NVR收到IPC發(fā)送的數(shù)據(jù)包時(shí),判斷該數(shù)據(jù)包是否為重傳數(shù)據(jù);若是重傳數(shù)據(jù),則將該數(shù)據(jù)包保存在公共緩存區(qū);
[0064]查找單元402,用于在NVR收到客戶端請(qǐng)求對(duì)該IPC中的指定數(shù)據(jù)包進(jìn)行重傳時(shí),該NVR在公共緩存區(qū)中查找該指定數(shù)據(jù)包;
[0065]發(fā)送單元403,用于在查找到該指定數(shù)據(jù)包時(shí),將該指定數(shù)據(jù)包發(fā)送至該客戶端。
[0066]可選的,所述保存單元401,還用于當(dāng)所述IPC發(fā)送的數(shù)據(jù)包不是重傳數(shù)據(jù)時(shí),將該數(shù)據(jù)包保存在該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū);
[0067]所述查找單元402,還用于在公共緩存區(qū)中未查找到該指定數(shù)據(jù)包時(shí),在該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)中查找該指定數(shù)據(jù)包;
[0068]所述發(fā)送單元403,還用于在查找到該指定數(shù)據(jù)包時(shí),將該指定數(shù)據(jù)包發(fā)送至該客戶端。
[0069]可選的,所述裝置還包括:
[0070]請(qǐng)求單元404,用于在該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)中未查找到該指定數(shù)據(jù)包時(shí),向該IPC請(qǐng)求對(duì)該指定數(shù)據(jù)包進(jìn)行重傳;當(dāng)收到該IPC重傳的所述指定數(shù)據(jù)包時(shí),將該指定數(shù)據(jù)包保存在公共緩存區(qū),并將該指定數(shù)據(jù)包發(fā)送至客戶端。
[0071]可選的,所述裝置還包括:
[0072]檢測(cè)單元405,用于按照預(yù)設(shè)時(shí)間間隔將該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)的緩存空間大小發(fā)送到該IPC,以使該IPC根據(jù)當(dāng)前流量將自身的緩存數(shù)據(jù)大小反饋至該NVR,NVR接收并記錄該IPC的緩存數(shù)據(jù)大小;
[0073]所述請(qǐng)求單元404,還用于在NVR向該IPC請(qǐng)求對(duì)該指定數(shù)據(jù)包進(jìn)行重傳之前,通過(guò)記錄的該IPC的緩存數(shù)據(jù)大小判斷該IPC是否緩存該指定數(shù)據(jù)包,若是,則向該IPC請(qǐng)求對(duì)該指定數(shù)據(jù)包進(jìn)行重傳。
[0074]可選的,所述保存單元401,具體用于在NVR收到IPC發(fā)送的非重傳的第一數(shù)據(jù)包時(shí),判斷該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)是否存滿;若存滿,則NVR根據(jù)該IPC的緩存數(shù)據(jù)大小判斷該IPC的緩存數(shù)據(jù)中是否包括該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)中時(shí)間最早的第二數(shù)據(jù)包,若包括,則將該第二數(shù)據(jù)包刪除;若不包括,則將該第二數(shù)據(jù)包回傳至該IPC;并將該第一數(shù)據(jù)包按照時(shí)間順序存儲(chǔ)到該獨(dú)立緩存區(qū);若未存滿,則NVR將該第一數(shù)據(jù)包按照時(shí)間順序存儲(chǔ)到該獨(dú)立緩存區(qū)。
[0075]由此可見,本發(fā)明可以將IPC重傳的數(shù)據(jù)包保存在NVR的公共緩存區(qū),并在收到客戶端請(qǐng)求IPC對(duì)指定數(shù)據(jù)包進(jìn)行重傳時(shí),在公共緩存區(qū)查找該指定數(shù)據(jù)包,并將查找的該指定數(shù)據(jù)包發(fā)送至該客戶端。因此本發(fā)明可以通過(guò)緩存重傳數(shù)據(jù)包來(lái)使后續(xù)其他客戶端請(qǐng)求相同的數(shù)據(jù)包時(shí)可以快速的重傳,從而可以向客戶端重傳時(shí)間較早的數(shù)據(jù)包,提升用戶體驗(yàn)。
[0076]上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過(guò)程具體詳見上述方法中對(duì)應(yīng)步驟的實(shí)現(xiàn)過(guò)程,在此不再贅述。
[0077]對(duì)于裝置實(shí)施例而言,由于其基本對(duì)應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說(shuō)明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本申請(qǐng)方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
[0078]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種數(shù)據(jù)重傳方法,其特征在于,所述方法包括: 當(dāng)NVR收到IPC發(fā)送的數(shù)據(jù)包時(shí),判斷該數(shù)據(jù)包是否為重傳數(shù)據(jù);若是重傳數(shù)據(jù),則將該數(shù)據(jù)包保存在公共緩存區(qū); 在NVR收到客戶端請(qǐng)求對(duì)該IPC中的指定數(shù)據(jù)包進(jìn)行重傳時(shí),該NVR在公共緩存區(qū)中查找該指定數(shù)據(jù)包; 在查找到該指定數(shù)據(jù)包時(shí),將該指定數(shù)據(jù)包發(fā)送至該客戶端。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 若所述IPC發(fā)送的數(shù)據(jù)包不是重傳數(shù)據(jù)時(shí),則將該數(shù)據(jù)包保存在該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū); 當(dāng)NVR在公共緩存區(qū)中未查找到該指定數(shù)據(jù)包時(shí),在該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)中查找該指定數(shù)據(jù)包; 在查找到該指定數(shù)據(jù)包時(shí),將該指定數(shù)據(jù)包發(fā)送至該客戶端。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 當(dāng)NVR在該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)中未查找到該指定數(shù)據(jù)包時(shí),向該IPC請(qǐng)求對(duì)該指定數(shù)據(jù)包進(jìn)行重傳; 當(dāng)收到該IPC重傳的所述指定數(shù)據(jù)包時(shí),將該指定數(shù)據(jù)包保存在公共緩存區(qū),并將該指定數(shù)據(jù)包發(fā)送至客戶端。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括: NVR按照預(yù)設(shè)時(shí)間間隔將該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)的緩存空間大小發(fā)送到該IPC,以使該IPC根據(jù)當(dāng)前流量將自身的緩存數(shù)據(jù)大小反饋至該NVR,NVR接收并記錄該IPC的緩存數(shù)據(jù)大??; 在NVR向該IPC請(qǐng)求對(duì)該指定數(shù)據(jù)包進(jìn)行重傳之前,所述方法還包括: 通過(guò)記錄的該IPC的緩存數(shù)據(jù)大小判斷該IPC是否緩存該指定數(shù)據(jù)包,若是,則向該IPC請(qǐng)求對(duì)該指定數(shù)據(jù)包進(jìn)行重傳。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述若所述IPC發(fā)送的數(shù)據(jù)包不是重傳數(shù)據(jù)時(shí),則將該數(shù)據(jù)包保存在該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū),具體包括: 當(dāng)NVR收到IPC發(fā)送的非重傳的第一數(shù)據(jù)包時(shí),判斷該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)是否存滿;若存滿,則NVR根據(jù)該IPC的緩存數(shù)據(jù)大小判斷該IPC的緩存數(shù)據(jù)中是否包括該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)中時(shí)間最早的第二數(shù)據(jù)包,若包括,則將該第二數(shù)據(jù)包刪除;若不包括,則將該第二數(shù)據(jù)包回傳至該IPC;并將該第一數(shù)據(jù)包按照時(shí)間順序存儲(chǔ)到該獨(dú)立緩存區(qū); 若未存滿,則NVR將該第一數(shù)據(jù)包按照時(shí)間順序存儲(chǔ)到該獨(dú)立緩存區(qū)。6.一種數(shù)據(jù)重傳裝置,其特征在于,所述裝置包括: 保存單元,用于在NVR收到IPC發(fā)送的數(shù)據(jù)包時(shí),判斷該數(shù)據(jù)包是否為重傳數(shù)據(jù);若是重傳數(shù)據(jù),則將該數(shù)據(jù)包保存在公共緩存區(qū); 查找單元,用于在NVR收到客戶端請(qǐng)求對(duì)該IPC中的指定數(shù)據(jù)包進(jìn)行重傳時(shí),該NVR在公共緩存區(qū)中查找該指定數(shù)據(jù)包; 發(fā)送單元,用于在查找到該指定數(shù)據(jù)包時(shí),將該指定數(shù)據(jù)包發(fā)送至該客戶端。7.根據(jù)權(quán)利要求6所述的方法,其特征在于, 所述保存單元,還用于當(dāng)所述IPC發(fā)送的數(shù)據(jù)包不是重傳數(shù)據(jù)時(shí),將該數(shù)據(jù)包保存在該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū); 所述查找單元,還用于在公共緩存區(qū)中未查找到該指定數(shù)據(jù)包時(shí),在該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)中查找該指定數(shù)據(jù)包; 所述發(fā)送單元,還用于在查找到該指定數(shù)據(jù)包時(shí),將該指定數(shù)據(jù)包發(fā)送至該客戶端。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括: 請(qǐng)求單元,用于在該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)中未查找到該指定數(shù)據(jù)包時(shí),向該IPC請(qǐng)求對(duì)該指定數(shù)據(jù)包進(jìn)行重傳;當(dāng)收到該IPC重傳的所述指定數(shù)據(jù)包時(shí),將該指定數(shù)據(jù)包保存在公共緩存區(qū),并將該指定數(shù)據(jù)包發(fā)送至客戶端。9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括: 檢測(cè)單元,用于按照預(yù)設(shè)時(shí)間間隔將該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)的緩存空間大小發(fā)送到該IPC,以使該IPC根據(jù)當(dāng)前流量將自身的緩存數(shù)據(jù)大小反饋至該NVR,NVR接收并記錄該IPC的緩存數(shù)據(jù)大??; 所述請(qǐng)求單元,還用于在NVR向該IPC請(qǐng)求對(duì)該指定數(shù)據(jù)包進(jìn)行重傳之前,通過(guò)記錄的該IPC的緩存數(shù)據(jù)大小判斷該IPC是否緩存該指定數(shù)據(jù)包,若是,則向該IPC請(qǐng)求對(duì)該指定數(shù)據(jù)包進(jìn)行重傳。10.根據(jù)權(quán)利要求7所述的裝置,其特征在于, 所述保存單元,具體用于在NVR收到IPC發(fā)送的非重傳的第一數(shù)據(jù)包時(shí),判斷該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)是否存滿;若存滿,則NVR根據(jù)該IPC的緩存數(shù)據(jù)大小判斷該IPC的緩存數(shù)據(jù)中是否包括該IPC對(duì)應(yīng)的獨(dú)立緩存區(qū)中時(shí)間最早的第二數(shù)據(jù)包,若包括,則將該第二數(shù)據(jù)包刪除;若不包括,則將該第二數(shù)據(jù)包回傳至該IPC;并將該第一數(shù)據(jù)包按照時(shí)間順序存儲(chǔ)到該獨(dú)立緩存區(qū);若未存滿,則NVR將該第一數(shù)據(jù)包按照時(shí)間順序存儲(chǔ)到該獨(dú)立緩存區(qū)。
【文檔編號(hào)】H04L29/06GK106059718SQ201610292019
【公開日】2016年10月26日
【申請(qǐng)日】2016年5月5日
【發(fā)明人】周迪, 余劍聲
【申請(qǐng)人】浙江宇視科技有限公司