一種緩存補錄方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及存儲技術(shù)領(lǐng)域,尤其涉及一種緩存補錄方法和裝置。
【背景技術(shù)】
[0002] ANR(Automatic Network Replenishment Technology,斷網(wǎng)智能補錄技術(shù))是一 種結(jié)合本地存儲和網(wǎng)絡(luò)存儲的技術(shù)。具備ANR技術(shù)的視頻編碼設(shè)備會在網(wǎng)絡(luò)出現(xiàn)故障時自 動啟用本地存儲,該過程通常稱為緩存;網(wǎng)絡(luò)恢復(fù)后再將視頻編碼設(shè)備存儲在本地的錄像 數(shù)據(jù)同步至視頻管理服務(wù)器,該過程通常稱為補錄。
[0003] 在視頻監(jiān)控領(lǐng)域中,通常由視頻管理服務(wù)器主動根據(jù)本地錄像缺失時間段向視 頻編碼設(shè)備檢索需補錄的錄像,其中檢索精度為秒級,再將獲取的視頻編碼設(shè)備存儲在本 地的錄像數(shù)據(jù)寫入存儲設(shè)備。同時為便于事后分析錄像數(shù)據(jù),通常將視頻畫面進行時間 OSD (On Screen Display,屏幕菜單式調(diào)節(jié)方式)疊加處理后再進行存儲,即通常存儲的錄 像數(shù)據(jù)中已疊加時間0SD信息。
[0004] 由于視頻編碼設(shè)備和視頻管理服務(wù)器的時間晶振頻率不同或硬件的差異,兩者間 存在時間不同步的問題。在網(wǎng)絡(luò)故障發(fā)生后,視頻編碼設(shè)備與視頻管理服務(wù)器間無法通過 信令進行時間同步。當兩者時間不同步時,后續(xù)補錄的錄像與已有錄像存在銜接不連續(xù)引 起的事后取證關(guān)鍵線索丟失的問題和回放畫面卡頓、回放畫面上的時間0SD跳秒等體驗差 的問題。
【發(fā)明內(nèi)容】
[0005] 有鑒于此,本發(fā)明提供一種緩存補錄方法和裝置,保證網(wǎng)絡(luò)恢復(fù)后補錄的視頻編 碼設(shè)備的本地存儲錄像與視頻管理服務(wù)器上已有錄像無縫銜接,解決錄像數(shù)據(jù)不完整引起 的事后取證關(guān)鍵線索丟失的問題及解決錄像數(shù)據(jù)不完整或錄像數(shù)據(jù)重復(fù)引起的回放畫面 卡頓和回放畫面上時間0SD跳秒等體驗性差的問題。
[0006] 該緩存補錄方法,應(yīng)用于視頻監(jiān)控系統(tǒng),所述視頻監(jiān)控系統(tǒng)包括視頻編碼設(shè)備和 視頻管理服務(wù)器,其特征在于,所述方法包括:
[0007] 視頻編碼設(shè)備在網(wǎng)絡(luò)發(fā)生故障后,根據(jù)固定周期校正系統(tǒng)時間,并根據(jù)已校正的 系統(tǒng)時間進行本地存儲,且本地存儲的錄像數(shù)據(jù)已進行時間0SD疊加處理;
[0008] 視頻管理服務(wù)器在網(wǎng)絡(luò)故障恢復(fù)后,發(fā)送錄像檢索請求,所述錄像檢索請求包括 已校正的檢索時間段;
[0009] 視頻編碼設(shè)備根據(jù)所述錄像檢索請求檢索本地存儲的錄像數(shù)據(jù),并對匹配的錄像 數(shù)據(jù)進行I幀組完整性檢查,將包含完整I幀組時間信息的錄像時間段作為檢索結(jié)果返 回;
[0010] 視頻管理服務(wù)器判斷所述檢索結(jié)果所攜帶的錄像時間段是否與請求的檢索時間 段一致,如果不一致,則校正補錄時間段;
[0011] 視頻管理服務(wù)器發(fā)送錄像數(shù)據(jù)流請求,并接收視頻編碼設(shè)備發(fā)送的錄像數(shù)據(jù)流, 同時根據(jù)已校正的補錄時間段將接收的錄像數(shù)據(jù)寫入存儲設(shè)備。
[0012] 優(yōu)選地,所述根據(jù)固定周期進行系統(tǒng)時間校正,包括:視頻編碼設(shè)備獲取其與視頻 管理服務(wù)器間每次時間同步前后的系統(tǒng)時間差值,同時根據(jù)該時間差值計算每相差TI時 間的間隔T,并取T的絕對值| T |作為網(wǎng)絡(luò)故障后校正系統(tǒng)時間的固定周期,其中TI時間單 位為毫秒;如果間隔T為正數(shù),則每經(jīng)過固定周期| T |,取當前系統(tǒng)時間與TI的和作為校正 后的系統(tǒng)時間;如果間隔T為負數(shù),則每經(jīng)過固定周期|T|,取當前系統(tǒng)時間與TI的差作為 校正后的系統(tǒng)時間。
[0013] 優(yōu)選地,所述已校正的檢索時間段的計算方式,包括:視頻管理服務(wù)器獲取視頻 編碼設(shè)備存儲異常的時間間隔NVR_IPCOffLineTI和視頻管理服務(wù)器與視頻編碼設(shè)備間的 時間差值NVR_IPC_TD,并根據(jù)所述NVR_IPCOffLineTI和NVR_IPC_TD計算視頻管理服務(wù) 器與視頻編碼設(shè)備間每秒鐘的時間差值TS,其中TS = NVR_IPC_TD/NVR_IPCOffLineTI, 且NVR_IPCOffLineTI、NVR_IPC_TD及TS的單位為毫秒;視頻管理服務(wù)器統(tǒng)計補錄時間段, 所述補錄時間段的補錄起始時間為NVRBeginT,補錄結(jié)束時間為NVREndT,其中NVRBeginT 和NVREndT的單位為毫秒;視頻管理服務(wù)器校正檢索時間段,所述檢索時間段的檢索起始 時間為 IPCBeginT,其中 IPCBeginT = NVRBeginT-((NVRBeginT-NVR_IPCOfflineT)*TS)), 所述檢索時間段的檢索結(jié)束時間為IPCEndT,其中IPCEndT = NVREndT-((NVREndT-NVR_ IPCOfflineT) *TS) ),NVR_IPCOfflineT 為網(wǎng)絡(luò)故障發(fā)生時的系統(tǒng)時間,且 IPCBeginT、 IPCEndT 及 NVR_IPCOfflineT 的單位為毫秒。
[0014] 優(yōu)選地,所述錄像I幀組完整性檢查,包括:視頻編碼設(shè)備本地存儲時在每個I幀 組的I幀幀頭部分記錄該I幀組最后一個P幀的結(jié)束時間;如果檢索結(jié)束時間訪問到的數(shù) 據(jù)幀不是其所在I幀組的最后一個P幀,則將最后一個P幀的時間信息作為檢索結(jié)果中錄 像時間段的結(jié)束時間返回。
[0015] 優(yōu)選地,所述校正補錄時間段,包括:視頻編碼設(shè)備返回的檢索結(jié)果,包括錄像起 始時間NewIPCBenginT和錄像結(jié)束時間NewIPCEndT,其中NewIPCBenginT和NewIPCEndT的 單位為毫秒;如果錄像起始時間NewIPCBenginT與檢索起始時間IPCBeginT不相同,則校正 補錄的起始時間NewNVRBenginT,其中NewNVRBenginT=NewIPCBenginT+(NewIPCBenginT -NVR_IPCOfflineT)*TS ;如果錄像結(jié)束時間NewIPCEndT與檢索結(jié)束時間IPCEndT不相同, 則校正補錄的結(jié)束時間NewNVREndT,其中NewNVREndT=NewIPCEndT+(NewIPCEndT-NVR_ IPCOfflineT)*TS〇
[0016] 基于同樣的構(gòu)思,本發(fā)明提供一種緩存補錄裝置,應(yīng)用于視頻監(jiān)控系統(tǒng),包括視頻 編碼設(shè)備和視頻管理服務(wù)器,其特征在于,所述裝置包括:
[0017] 存儲時間校正模塊,用于在網(wǎng)絡(luò)故障發(fā)生后,視頻編碼設(shè)備根據(jù)固定周期進行系 統(tǒng)時間校正,并根據(jù)已校正的系統(tǒng)時間進行本地存儲,且本地存儲的錄像數(shù)據(jù)已進行時間 0SD疊加處理;
[0018] 檢索時間校正模塊,用于在網(wǎng)絡(luò)故障恢復(fù)后,視頻管理服務(wù)器發(fā)送錄像檢索請求, 所述錄像檢索請求包括已校正的檢索時間段;
[0019] 錄像I幀組完整性檢查模塊,用于視頻編碼設(shè)備根據(jù)所述錄像檢索請求檢索本地 存儲的錄像數(shù)據(jù),并對匹配的錄像數(shù)據(jù)進行I幀組完整性檢查,將包含完整I幀組時間信息 的錄像時間段作為檢索結(jié)果返回;
[0020] 補錄時間校正模塊,用于視頻管理服務(wù)器判斷所述檢索結(jié)果所攜帶的錄像時間段 是否與請求的檢索時間段一致,如果不一致,則校正補錄時間段;
[0021] 錄像補錄模塊,用于視頻管理服務(wù)器發(fā)送錄像數(shù)據(jù)流請求,并接收視頻編碼設(shè)備 發(fā)送的錄像數(shù)據(jù)流,同時根據(jù)已校正的補錄時間段將接收的錄像數(shù)據(jù)寫入存儲設(shè)備。
[0022] 優(yōu)選地,所述存儲時間校正模塊,還包括:通過視頻編碼設(shè)備獲取其與視頻管理服 務(wù)器間每次時間同步前后的系統(tǒng)時間差值,同時根據(jù)該時間差值計算每相差TI時間的間 隔T,并取T的絕對值|T|作為網(wǎng)絡(luò)故障后校正系統(tǒng)時間的固定周期,其中TI時間單位為毫 秒;如果間隔T為正數(shù),則每經(jīng)過固定周期|T|,取當前系統(tǒng)時間與TI的和作為校正后的系 統(tǒng)時間;如果間隔T為負數(shù),則每經(jīng)過固定周期|T|,取當前系統(tǒng)時間與TI的差作為校正后 的系統(tǒng)時間。
[0023] 優(yōu)選地,所述檢索時間校正模塊,還包括:視頻管理服務(wù)器獲取視頻編碼設(shè)備 存儲異常的時間間隔NVR_IPCOffLineTI和視頻管理服務(wù)器與視頻編碼設(shè)備間的時間差 值NVR_IPC_TD,并根據(jù)所述NVR_IPCOffLineTI和NVR_IPC_TD計算視頻管理服務(wù)器與視 頻編碼設(shè)備間每秒鐘的時間差值TS,其中TS = NVR_IPC_TD/NVR_IPCOffLineTI,且NVR_ IPCOffLineTI、NVR_IPC_TD及TS的單位為毫秒;視頻管理服務(wù)器統(tǒng)計補錄時間段,所述 補錄時間段的補錄起始時間為NVRBeginT,補錄結(jié)束時間為NVREndT,其中NVRBeginT和 NVREndT的單位為毫秒;視頻管理服務(wù)器校正檢索時間段,所述檢索時間段的檢索起始時 間為 IPCBeginT,其中 IPCBeginT = NVRBeginT-((NVRBeginT-NVR_IPCOfflineT)*TS)), 所述檢索時間段檢索結(jié)束時間為IPCEndT,其中IPCEndT = NVREndT- ((NVREndT-NVR_ IPCOfflineT) *TS) ),NVR_IPCOfflineT 為網(wǎng)絡(luò)故障發(fā)生時的系統(tǒng)時間,且 IPCBeginT、 IPCEndT 及 NVR_IPCOfflineT 的單位為毫秒。
[0024] 優(yōu)選地,所述錄像I幀組完整性檢查模塊,還包括:視頻編碼設(shè)備本地存儲時在每 個I幀組的I幀幀頭部分記錄該I幀組最后一個P幀的結(jié)束時間;如果檢索結(jié)束時間訪問 到的數(shù)據(jù)幀不是其所在I幀組的最后一個P幀,則將最后一個P幀的時間信息作為檢索結(jié) 果中錄像時間段的結(jié)束時間返回。
[0025] 優(yōu)選地,所述補錄時間校正模塊,還包括:視頻編碼設(shè)備返回的檢索結(jié)果,包 括錄像起始時間NewIPCBenginT和錄像結(jié)束時間NewIPCEndT,其中NewIPCBenginT和 NewIPCEndT的單位為毫秒;如果錄像起始時間NewIPCBenginT與檢索起始時間IPCBeginT 不相同,則校正補錄的起始時間NewNVRBenginT,其中NewNVRBeng