两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于塊存儲的索引恢復(fù)方法和裝置的制作方法

文檔序號:7868554閱讀:376來源:國知局
專利名稱:一種基于塊存儲的索引恢復(fù)方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及視頻監(jiān)控技術(shù)領(lǐng)域,尤其涉及一種基于塊存儲的索引恢復(fù)方法和裝置。
背景技術(shù)
目前,在視頻監(jiān)控系統(tǒng)中使用互聯(lián)網(wǎng)協(xié)議存儲區(qū)域網(wǎng)絡(luò)(Internet ProtocolStorage Area Network,IPSAN)作為存儲普遍應(yīng)用。監(jiān)控編碼設(shè)備將獲取到的監(jiān)控數(shù)據(jù)存儲到IPSAN中,當(dāng)用戶需要查看歷史監(jiān)控數(shù)據(jù)時,可以從IPSAN中讀取相應(yīng)的監(jiān)控數(shù)據(jù)。圖1為一種現(xiàn)有的視頻監(jiān)控系統(tǒng)的典型組網(wǎng)結(jié)構(gòu)示意圖,其中,視頻編碼器(Encoder, EC)通過互聯(lián)網(wǎng)小型計算機(jī)系統(tǒng)接口( internet Small Computer SystemInterface, iSCSI)與IPSAN連接,并將監(jiān)控攝像機(jī)獲取到的監(jiān)控數(shù)據(jù)進(jìn)行編碼后存儲在IPSAN中。當(dāng)用戶需要查看歷史監(jiān)控數(shù)據(jù)時,可以通過視頻監(jiān)控客戶端(Video Client, VC)或者視頻解碼器(Decoder,DC)向視頻監(jiān)控服務(wù)器(Video Management,VM)發(fā)送回放請求,VM接收到該回放請求后,向數(shù)據(jù)管理服務(wù)器(Data Management, DM)發(fā)送指示消息,指示DM讀取IPSAN中存儲的相應(yīng)監(jiān)控數(shù)據(jù),并返回給VC或者DC。在上述的組網(wǎng)結(jié)構(gòu)中,IPSAN將多個磁盤組成獨立磁盤冗余陣列(RAID)后,將RAID分成一系列邏輯單元,每個邏輯單元都有一個邏輯單元號(LUN),然后將LUN分配給EC進(jìn)行存儲。EC錄像數(shù)據(jù)的一種存儲格式可以如圖2所示,其中,該存儲格式是基于塊的存儲格式,包括超級塊、主索引區(qū)和多個數(shù)據(jù)區(qū),每個數(shù)據(jù)區(qū)對應(yīng)一個數(shù)據(jù)塊,數(shù)據(jù)塊的大小可以為256M,每個數(shù)據(jù)塊包括副索引區(qū)和多個I幀組,可選地,所述數(shù)據(jù)塊中還包括有填充區(qū)。EC按照圖2所示的索引結(jié)構(gòu)將錄像數(shù)據(jù)存入IPSAN,每次數(shù)據(jù)寫入都需要更改索引區(qū),因此索引區(qū)數(shù)據(jù)讀寫頻繁。回放錄像時,首先是讀取主索引區(qū)(一級索引),然后找到指定的數(shù)據(jù)區(qū),再從數(shù)據(jù)區(qū)中根據(jù)副索引(二級索引)查找到指定時間的I幀組數(shù)據(jù),然后讀取I幀組數(shù)據(jù)發(fā)給客戶端進(jìn)行播放。其中,主索引區(qū)和副索引區(qū)的結(jié)構(gòu)如圖3所示,包括索引描述和索引項,索引項的內(nèi)容為時間和/或空間信息,根據(jù)索引項的內(nèi)容可以查詢指定時刻的錄像數(shù)據(jù)所在的位置。為了避免頻繁的讀寫索引區(qū)域,現(xiàn)有的一種解決方案為,EC將索引區(qū)存于自身的緩存中,設(shè)定一個索引緩存時間(例如16秒),當(dāng)索引緩存時間到達(dá)時進(jìn)行一次索引區(qū)數(shù)據(jù)的寫入,I幀組數(shù)據(jù)則是持續(xù)的寫入數(shù)據(jù)區(qū)。在上述解決方案中, 由于索引數(shù)據(jù)非即時寫入物理硬盤,當(dāng)EC發(fā)生故障或被人為損壞時,錄像數(shù)據(jù)已經(jīng)寫入存儲設(shè)備,但緩存中的索引數(shù)據(jù)可能還沒有寫入存儲設(shè)備,導(dǎo)致一部分錄像數(shù)據(jù)無法查看。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的是提供一種基于塊存儲的索引恢復(fù)方法和裝置,能夠在視頻編碼設(shè)備離線后,對索引數(shù)據(jù)進(jìn)行及時的恢復(fù),從而保證索引數(shù)據(jù)的完整性。為實現(xiàn)上述目的,本發(fā)明提供技術(shù)方案如下一種基于塊存儲的索引恢復(fù)方法,應(yīng)用于視頻監(jiān)控系統(tǒng)中,所述索引恢復(fù)方法包括當(dāng)滿足索引恢復(fù)條件時,從待進(jìn)行索引恢復(fù)的視頻編碼設(shè)備對應(yīng)的存儲資源的超級塊中獲取數(shù)據(jù)的結(jié)束時間;根據(jù)所述存儲資源的索引獲取所述結(jié)束時間對應(yīng)的I幀組,并從所述I幀組中獲取時間戳信息TM_Last ;從所述存儲資源中獲取所述I幀組的后續(xù)I幀組,每獲取一個I幀組,從該I幀組中獲取時間戳信息TM,當(dāng)O < TM-TM_Last ( Tc時,根據(jù)該I幀組的信息對所述存儲資源的索引進(jìn)行更新,其中,Tc為所述視頻編碼設(shè)備對應(yīng)的索引緩存時間。一種基于塊存儲的索引恢復(fù)裝置,應(yīng)用于視頻監(jiān)控系統(tǒng)中,所述索引恢復(fù)裝置包括結(jié)束時間獲取模塊,用于當(dāng)滿足索引恢復(fù)條件時,從待進(jìn)行索引恢復(fù)的視頻編碼設(shè)備對應(yīng)的存儲資源的超級塊中獲取索引的結(jié)束時間;結(jié)束幀組獲取模塊,用于根據(jù)所述存儲資源的索引獲取所述結(jié)束時間對應(yīng)的I幀組,并從所述I幀組中獲取時間戳信息TM_Last ;索引更新模塊,用于從所述存儲資源中獲取所述I幀組的后續(xù)I幀組,每獲取一個I幀組,從該I幀組中獲取時間戳信息TM,當(dāng)0 < TM-TM_Last≤ Tc時,根據(jù)該I幀組的信息對所述存儲資源的索引進(jìn)行更新,其中,Tc為所述視頻編碼設(shè)備對應(yīng)的索引緩存時間。根據(jù)本發(fā)明的上述技術(shù)方案,在視頻編碼設(shè)備離線后需要進(jìn)行索引恢復(fù)時,從與該視頻編碼設(shè)備對應(yīng)的存儲資源的超級塊中獲取索引的結(jié)束時間,并根據(jù)所述存儲資源的索引獲取所述結(jié)束時間對應(yīng)的I幀組,根據(jù)所述I幀組就能夠獲取后續(xù)的I幀組,并根據(jù)獲取到的I幀組的信息對所述存儲資源的索引進(jìn)行更新,如此,實現(xiàn)了對索引數(shù)據(jù)的及時恢復(fù),從而保證了索引數(shù)據(jù)的完整性,使得客戶端可以根據(jù)完整的索引數(shù)據(jù)查看任意時刻的錄像數(shù)據(jù)。


圖1為現(xiàn)有的視頻監(jiān)控系統(tǒng)的典型組網(wǎng)結(jié)構(gòu)示意圖;圖2為是錄像數(shù)據(jù)的一種存儲格式示意圖;圖3為主索引區(qū)和副索引區(qū)的結(jié)構(gòu)示意圖;圖4為本發(fā)明實施例的基于塊存儲的索引恢復(fù)方法流程圖;圖5為本發(fā)明實施例的基于塊存儲的索引恢復(fù)裝置結(jié)構(gòu)圖。圖6為本發(fā)明實施例中超級索引塊的結(jié)構(gòu)圖。圖7為本發(fā)明實施例中一級索引中的索引描述的數(shù)據(jù)結(jié)構(gòu)圖。圖8為本發(fā)明實施例中一級索引中的索引項的數(shù)據(jù)結(jié)構(gòu)圖。圖9為本發(fā)明實施例中二級索引中的索引描述的數(shù)據(jù)結(jié)構(gòu)圖。圖10為本發(fā)明實施例中二級索引中的索引項的數(shù)據(jù)結(jié)構(gòu)圖。
具體實施例方式為解決現(xiàn)有技術(shù)中存在的錄像數(shù)據(jù)已經(jīng)寫入存儲設(shè)備,但緩存中的索引數(shù)據(jù)可能還沒有寫入存儲設(shè)備,導(dǎo)致一部分錄像數(shù)據(jù)無法查看的問題,本發(fā)明實施例提供的一種解決方案為,從離線的視頻編碼設(shè)備對應(yīng)的存儲資源的超級塊中獲取索引的結(jié)束時間,然后,根據(jù)所述存儲資源的索引獲取所述結(jié)束時間對應(yīng)的I幀組,根據(jù)所述I幀組從所述存儲資源中獲取后續(xù)的I幀組,每獲取一個I幀組,并根據(jù)該I幀組的信息對所述存儲資源的索引進(jìn)行更新。以下結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)描述。在本發(fā)明的下述實施例中,是以圖2所示的存儲格式為例來描述索引數(shù)據(jù)的恢復(fù),需要說明的是,本發(fā)明實施例的方案也可以適用于基于塊存儲方式的其他存儲格式。圖4為本發(fā)明實施例的基于塊存儲的索引恢復(fù)方法流程圖,所述索引恢復(fù)方法應(yīng)用于視頻監(jiān)控系統(tǒng)中,所述視頻監(jiān)控系統(tǒng)可以包括視頻監(jiān)控服務(wù)器、視頻監(jiān)控客戶端、視頻編碼設(shè)備、IPSAN等,視頻監(jiān)控服務(wù)器包括數(shù)據(jù)管理服務(wù)器DM和視頻管理服務(wù)器VM等,所述視頻編碼設(shè)備可以是網(wǎng)絡(luò)攝像機(jī)IPC和視頻編碼器EC等。其中,所述索引恢復(fù)方法可以由視頻監(jiān)控服務(wù)器例如DM執(zhí)行,也可以由視頻編碼設(shè)備執(zhí)行。下面以所述索引恢復(fù)方法由DM執(zhí)行,且視頻編碼設(shè)備為EC為例進(jìn)行說明。參照圖4,所述索引恢復(fù)方法可以包括如下步驟步驟401,當(dāng)滿足索引恢復(fù)條件時,從待進(jìn)行索引恢復(fù)的視頻編碼器對應(yīng)的存儲資源的超級塊中獲取數(shù)據(jù)的結(jié)束時間;所述索引恢復(fù)條件可以為視頻編碼設(shè)備離線后,所述數(shù)據(jù)管理服務(wù)器的巡檢時間間隔到達(dá);或者,視頻編碼設(shè)備離線后,用戶手動查詢視頻編設(shè)備對應(yīng)的存儲資源;或者,視頻編碼設(shè)備重新上線。具體地,EC的網(wǎng)絡(luò)異常或被人為破壞之后,VM在一段時間內(nèi)將檢測到EC離線,然后,VM可以查詢該EC是否配置存儲計劃,如果已配置存儲計劃,則可以將該EC的存儲計劃做一個“待恢復(fù)”標(biāo)記,并查詢該EC對應(yīng)的DM,將EC離線的信息通知給該DM。其中,VM記錄有各個EC的索引緩存時間(Tc,如果全局統(tǒng)一,則記入全局參數(shù))。DM在巡檢時間間隔到達(dá)或者當(dāng)有用戶手動查詢該編碼器上通道錄像時,DM向VM獲取該編碼器對應(yīng)通道的索引緩存時間Tc,然后對該錄像數(shù)據(jù)進(jìn)行索引恢復(fù)過程。另外,當(dāng)EC上線時,VM收到EC的注冊消息后,檢測該EC對應(yīng)的存儲計劃狀態(tài),如果處于“待恢復(fù)”狀態(tài),則馬上進(jìn)行錄像恢復(fù)過程,同時通知EC存儲計劃暫停,直到下述的所述恢復(fù)過程結(jié)束后,再通知EC開始存儲。DM在確定需要進(jìn)行索引恢復(fù)時,首先獲取對該EC的存儲資源的讀寫權(quán)限,具體地,是將EC通道對應(yīng)的存儲資源以讀寫方式掛載(即在存儲設(shè)備上將iSCSI target設(shè)置成讀寫,同時重新通過iSCSI連接存儲磁盤);然后,查詢該存儲資源的超級塊信息,獲取當(dāng)前超級塊中索引的結(jié)束時間。例如,對于圖2所示的存儲格式,其中的超級塊數(shù)據(jù)結(jié)構(gòu)可以參考圖6所示,可以獲取其中的end_time作為索引的結(jié)束時間。 在上述數(shù)據(jù)結(jié)構(gòu)中,units是靜態(tài)配置的,也就是說,其值是固定的,具體值與EC對應(yīng)的存儲資源的大小有關(guān)。對于end_time,其對應(yīng)于有索引信息的最后一個I幀組的時間。步驟402,根據(jù)所述存儲資源的索引獲取所述結(jié)束時間對應(yīng)的I幀組,并從所述I幀組中獲取時間戳信息TM_Last ;首先,根據(jù)所述存儲資源的一級索引定位所述結(jié)束時間對應(yīng)的數(shù)據(jù)塊;然后,根據(jù)定位到的數(shù)據(jù)塊中的二級索引獲取所述結(jié)束時間對應(yīng)的I幀組。具體地,DM在獲取到所述結(jié)束時間后,通過查詢一級索引項中的時間信息找出該結(jié)束時間對應(yīng)的數(shù)據(jù)塊(一級索引項的時間信息為每個數(shù)據(jù)塊中第一個I幀組的時間,這里的查詢過程可以用二分法實現(xiàn))。例如,對于圖2所示的存儲格式,其一級索引中的索引描述的數(shù)據(jù)結(jié)構(gòu)可以參考圖7所示。其一級索引中的索引項的數(shù)據(jù)結(jié)構(gòu)可以參考圖8所示。索引項中包括如下時間信息year為年,month為月,day為日,hour為小時,minute為分鐘,second為秒。將所述結(jié)束時間與索引項中的時間信息進(jìn)行比較,可以確定該結(jié)束時間對應(yīng)的數(shù)據(jù)塊。在定位到所述結(jié)束時間對應(yīng)的數(shù)據(jù)塊后,就可以從該數(shù)據(jù)塊中的二級索引獲取所述結(jié)束時間對應(yīng)的I幀組。例如,對于圖2所示的存儲格式,其二級索引中的索引描述的數(shù)據(jù)結(jié)構(gòu)可以參考圖9所示;而其二級索引中的索引項的數(shù)據(jù)結(jié)構(gòu)可以參考圖10所示。在塊存儲方案中,可以以例如16k作為一個存儲單元,且以存儲單元作為最小單位存儲接收到的數(shù)據(jù)。為區(qū)別于一級索引中的數(shù)據(jù)塊,將二級索引中的存儲單元稱為二級數(shù)據(jù)塊。
`
在上述數(shù)據(jù)結(jié)構(gòu)中,pos表示一個數(shù)據(jù)塊(256M)中最后一個二級數(shù)據(jù)塊(16K)的結(jié)束位置,items表示當(dāng)前寫完的二級數(shù)據(jù)塊的索引號;year為年,month為月,day為日,hour為小時,minute為分鐘,second為秒;block_offset表示該索引項對應(yīng)的I巾貞組的開始位置相對于256M的數(shù)據(jù)塊的開始位置所偏移的二級數(shù)據(jù)塊的數(shù)目。根據(jù)二級索引項可以定位到所述結(jié)束時間對應(yīng)的I幀組,從所述I幀組中獲取時間戳信息TM_Last。例如,對于圖2所示的存儲格式,每個I幀組的數(shù)據(jù)結(jié)構(gòu)如下
權(quán)利要求
1.一種基于塊存儲的索引恢復(fù)方法,應(yīng)用于視頻監(jiān)控系統(tǒng)中,其特征在于,所述索引恢復(fù)方法包括 當(dāng)滿足索引恢復(fù)條件時,從待進(jìn)行索引恢復(fù)的視頻編碼設(shè)備對應(yīng)的存儲資源的超級塊中獲取數(shù)據(jù)的結(jié)束時間; 根據(jù)所述存儲資源的索引獲取所述結(jié)束時間對應(yīng)的I幀組,并從所述I幀組中獲取時間戳信息TM_Last ; 從所述存儲資源中獲取所述I幀組的后續(xù)I幀組,每獲取一個I幀組,從該I幀組中獲取時間戳信息TM,當(dāng)
2.如權(quán)利要求1所述的索引恢復(fù)方法,其特征在于,所述索引恢復(fù)條件為 視頻編碼設(shè)備離線后,視頻監(jiān)控服務(wù)器的巡檢時間間隔到達(dá);或者 視頻編碼設(shè)備離線后,用戶手動查詢視頻編碼設(shè)備對應(yīng)的存儲資源;或者 視頻編碼設(shè)備重新上線。
3.如權(quán)利要求1所述的索引恢復(fù)方法,其特征在于,所述根據(jù)所述存儲資源的索引獲取所述結(jié)束時間對應(yīng)的I幀組,包括 根據(jù)所述存儲資源的一級索引定位所述結(jié)束時間對應(yīng)的數(shù)據(jù)塊; 根據(jù)定位到的數(shù)據(jù)塊中的二級索引獲取所述結(jié)束時間對應(yīng)的I幀組。
4.如權(quán)利要求1所述的索引恢復(fù)方法,其特征在于,還包括 當(dāng)
5.如權(quán)利要求1所述的索引恢復(fù)方法,其特征在于,所述根據(jù)該I幀組的信息對所述存儲資源的索引進(jìn)行更新,包括 根據(jù)該I幀組的大小、位置以及時間戳信息,更新二級索引; 更新超級塊中索引的結(jié)束時間為該I幀組對應(yīng)的時間戳信息; 如果該I幀組為數(shù)據(jù)塊中的第一個I幀組,更新一級索引。
6.一種基于塊存儲的索引恢復(fù)裝置,應(yīng)用于視頻監(jiān)控系統(tǒng)中,其特征在于,所述索引恢復(fù)裝置包括 結(jié)束時間獲取模塊,用于當(dāng)滿足索引恢復(fù)條件時,從待進(jìn)行索引恢復(fù)的視頻編碼設(shè)備對應(yīng)的存儲資源的超級塊中獲取索引的結(jié)束時間; 結(jié)束幀組獲取模塊,用于根據(jù)所述存儲資源的索引獲取所述結(jié)束時間對應(yīng)的I幀組,并從所述I幀組中獲取時間戳信息TM_Last ; 索引更新模塊,用于從所述存儲資源中獲取所述I幀組的后續(xù)I幀組,每獲取一個I幀組,從該I幀組中獲取時間戳信息TM,當(dāng)
7.如權(quán)利要求6所述的索引恢復(fù)裝置,其特征在于,所述索引恢復(fù)條件為 視頻編碼設(shè)備離線后,視頻監(jiān)控服務(wù)器的巡檢時間間隔到達(dá);或者 視頻編碼設(shè)備離線后,用戶手動查詢視頻編碼設(shè)備對應(yīng)的存儲資源;或者 視頻編碼設(shè)備重新上線。
8.如權(quán)利要求6所述的索引恢復(fù)裝置,其特征在于,所述結(jié)束幀組獲取模塊進(jìn)一步用于根據(jù)所述存儲資源的一級索引定位所述結(jié)束時間對應(yīng)的數(shù)據(jù)塊;根據(jù)定位到的數(shù)據(jù)塊中的二級索引獲取所述結(jié)束時間對應(yīng)的I幀組。
9.如權(quán)利要求6所述的索引恢復(fù)裝置,其特征在于,所述索引更新模塊還用于當(dāng)TM-TM_Last > Tc,或者,TM_TM_Last ( O時,結(jié)束索引恢復(fù)過程。
10.如權(quán)利要求6所述的索引恢復(fù)裝置,其特征在于,所述索引更新模塊進(jìn)一步用于根據(jù)該I幀組的大小、位置以及時間戳信息,更新二級索引;更新超級塊中索引的結(jié)束時間為該I幀組對應(yīng)的時間戳信息;如果該I幀組為數(shù)據(jù)塊中的第一個I幀組,更新一級索引。
全文摘要
本發(fā)明提供一種基于塊存儲的索引恢復(fù)方法和裝置,屬于視頻監(jiān)控技術(shù)領(lǐng)域。所述方法包括當(dāng)滿足索引恢復(fù)條件時,從待進(jìn)行索引恢復(fù)的視頻編碼設(shè)備對應(yīng)的存儲資源的超級塊中獲取數(shù)據(jù)的結(jié)束時間;根據(jù)所述存儲資源的索引獲取所述結(jié)束時間對應(yīng)的I幀組,并從所述I幀組中獲取時間戳信息TM_Last;從所述存儲資源中獲取所述I幀組的后續(xù)I幀組,每獲取一個I幀組,從該I幀組中獲取時間戳信息TM,當(dāng)0<TM-TM_Last≤Tc時,根據(jù)該I幀組的信息對所述存儲資源的索引進(jìn)行更新,其中,Tc為所述視頻編碼設(shè)備對應(yīng)的索引緩存時間。本發(fā)明能夠在視頻編碼設(shè)備離線后,對相應(yīng)的索引數(shù)據(jù)進(jìn)行及時的恢復(fù),從而保證索引數(shù)據(jù)的完整性。
文檔編號H04N21/8547GK103037203SQ20121053893
公開日2013年4月10日 申請日期2012年12月11日 優(yōu)先權(quán)日2012年12月11日
發(fā)明者周迪, 陳乾業(yè) 申請人:浙江宇視科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
锦屏县| 当雄县| 聂拉木县| 安康市| 类乌齐县| 岫岩| 郸城县| 隆化县| 娱乐| 伊宁市| 葫芦岛市| 通山县| 石景山区| 金秀| 海兴县| 疏勒县| 安陆市| 尼勒克县| 崇明县| 张掖市| 深州市| 贡觉县| 双柏县| 榆中县| 庆阳市| 高陵县| 华亭县| 肥东县| 吴江市| 句容市| 沛县| 凤城市| 张北县| 巴东县| 枣庄市| 抚顺市| 武川县| 宁强县| 秭归县| 永清县| 宿松县|