一種網(wǎng)絡(luò)存儲方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及網(wǎng)絡(luò)存儲,特別涉及一種視頻數(shù)據(jù)存儲方法。
【背景技術(shù)】
[0002] 近年來,隨著視頻壓縮技術(shù)的不斷發(fā)展以及網(wǎng)絡(luò)帶寬的提升,視頻監(jiān)控系統(tǒng)以其 體積小、一體化、可操作性強、可定制、易維護(hù)、可接入的特點,受到了安防監(jiān)控領(lǐng)域的極大 歡迎。除了可以對現(xiàn)場情況進(jìn)行實時監(jiān)控,還可以將無人監(jiān)視時段的前端現(xiàn)場或者突發(fā)報 警事件等進(jìn)行實時視頻,供事后進(jìn)行讀取和分析評價。目前已有多種存儲體系來支持視頻 監(jiān)控系統(tǒng)。其中DAS適合服務(wù)器在地理分布上很分散的狀況,將存儲設(shè)備通過SCSI接口或 光纖通道直接連接到服務(wù)器上。SAN將數(shù)據(jù)塊通過光纖通道傳輸至存儲網(wǎng)絡(luò),NAS是通過IP 通道將文件進(jìn)行多協(xié)議共享,適用于文件服務(wù)器的整合,CAS適用于長時間的完整性保存固 定數(shù)據(jù)。以上各種架構(gòu)均對視頻監(jiān)控提供了較好的系統(tǒng)支持,然而視頻存儲的穩(wěn)定性和清 晰度是監(jiān)控質(zhì)量的重要保證,目前視頻監(jiān)控系統(tǒng)的存儲通常具有以下不足:編碼格式較為 固定;傳統(tǒng)文件系統(tǒng)采用基于多級指針的數(shù)據(jù)存儲模式,在存儲幀數(shù)據(jù)時具有I/O操作量 大和易產(chǎn)生存儲碎片等問題,從而導(dǎo)致視頻存儲效率低和檢索性能差,成為系統(tǒng)性能及規(guī) 模提升的瓶頸。
【發(fā)明內(nèi)容】
[0003] 為解決上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明提出了一種網(wǎng)絡(luò)存儲方法,包括:
[0004] 在存儲設(shè)備中建立全局塊、一級索引區(qū)和數(shù)據(jù)區(qū),將視頻數(shù)據(jù)直接存儲在存儲設(shè) 備中,所述全局塊在存儲設(shè)備格式化時寫入,記錄系統(tǒng)的全局存儲管理信息,該全局存儲管 理信息包括創(chuàng)建時間、數(shù)據(jù)塊大小、一級索引樹的根節(jié)點位置和分段時長,所述一級索引區(qū) 由一組索引節(jié)點組成,所有節(jié)點按索引樹結(jié)構(gòu)進(jìn)行組織,索引樹節(jié)點由多個一級索引信息 組成,每個一級索引代表一個視頻片段,一級索引中記錄了視頻片段的碼流類型、起始存儲 位置、視頻片段開始時間和結(jié)束時間等信息,所述數(shù)據(jù)區(qū)以定長數(shù)據(jù)塊的形式存儲視頻數(shù) 據(jù);
[0005] 設(shè)置幀緩存和索引緩存,在視頻存儲時,將幀數(shù)據(jù)及其索引信息先保存在幀緩存 和索引緩存中,當(dāng)緩存區(qū)被寫滿時,采用先數(shù)據(jù)、后索引的順序?qū)⒕彺嬷械臄?shù)據(jù)一次性寫入 存儲設(shè)備,并采用索引樹對視頻信息進(jìn)行組織管理,同時對索引樹中相應(yīng)的視頻片段信息 節(jié)點進(jìn)行更新。
[0006] 優(yōu)選地,該方法還包括,當(dāng)在存儲視頻時,包括以下步驟:
[0007] 步驟1. 1 :將幀數(shù)據(jù)按塊對齊寫入數(shù)據(jù)區(qū);
[0008] 步驟1. 2 :寫入對應(yīng)的次級索引;
[0009] 步驟1. 3 :更新對應(yīng)視頻片段的一級索引;
[0010] 步驟1. 4 :更新全局塊信息;
[0011] 當(dāng)從所述存儲設(shè)備中讀取視頻時,包括以下步驟:
[0012] 步驟2. 1 :檢索索引樹獲取視頻片段的一級索引;
[0013] 步驟2.2 :通過一級索引定位出視頻片段的次級索引區(qū)間;
[0014] 步驟2. 3 :根據(jù)次級索引找出視頻片段的幀數(shù)據(jù)存儲塊區(qū)間;
[0015] 步驟2. 4 :讀出視頻片段的幀數(shù)據(jù)。
[0016] 優(yōu)選地,在所述索引樹中,每個關(guān)鍵字對應(yīng)一個指向子節(jié)點的指針,葉節(jié)點包含了 樹中全部關(guān)鍵字信息,索引樹組織所有一級索引信息,其根節(jié)點位置記錄在全局塊中,并以 視頻片段的開始時間作為索引鍵值,所有一級索引信息均可從葉子節(jié)點中獲取,以提供視 頻檢索;
[0017] 樹中的每個節(jié)點由以下部分組成,包括keyNum,用于記錄節(jié)點中的實際一級索引 數(shù)量;main_index和child_pointer,分別用于保存一級索引信息及其對應(yīng)的子節(jié)點指針; 在檢索開始時,先從全局塊中獲取索引樹的根節(jié)點位置,通過遍歷關(guān)鍵字找出一條從根節(jié) 點到葉節(jié)點的符合檢索時間條件的檢索路徑,通過一級索引定位至次級索引實現(xiàn)幀數(shù)據(jù)的 檢索,得到相應(yīng)的視頻片段。
[0018] 優(yōu)選地,所述幀緩存用于緩存幀數(shù)據(jù),索引緩存用于緩存視頻對應(yīng)的索引信息,幀 緩存組建完成后一次性寫入存儲設(shè)備,所述視頻的一幀由一個I幀與多個P幀組成,在每幀 前后各添加一個2字節(jié)大小的標(biāo)志位MH和MT,用于數(shù)據(jù)校驗和實現(xiàn)視頻幀的單獨提?。?br>[0019] 所述幀緩存由幀頭、幀數(shù)據(jù)和標(biāo)志位MH和MT組成,在內(nèi)存中組建的幀緩存大小為 塊大小的整數(shù)倍,其計算方法如下:
[0020]
【主權(quán)項】
1. 一種網(wǎng)絡(luò)存儲方法,其特征在于,包括: 在存儲設(shè)備中建立全局塊、一級索引區(qū)和數(shù)據(jù)區(qū),將視頻數(shù)據(jù)直接存儲在存儲設(shè)備中, 所述全局塊在存儲設(shè)備格式化時寫入,記錄系統(tǒng)的全局存儲管理信息,該全局存儲管理信 息包括創(chuàng)建時間、數(shù)據(jù)塊大小、一級索引樹的根節(jié)點位置和分段時長,所述一級索引區(qū)由一 組索引節(jié)點組成,所有節(jié)點按索引樹結(jié)構(gòu)進(jìn)行組織,索引樹節(jié)點由多個一級索引信息組成, 每個一級索引代表一個視頻片段,一級索引中記錄了視頻片段的碼流類型、起始存儲位置、 視頻片段開始時間和結(jié)束時間等信息,所述數(shù)據(jù)區(qū)以定長數(shù)據(jù)塊的形式存儲視頻數(shù)據(jù); 設(shè)置幀緩存和索引緩存,在視頻存儲時,將幀數(shù)據(jù)及其索引信息先保存在幀緩存和索 引緩存中,當(dāng)緩存區(qū)被寫滿時,采用先數(shù)據(jù)、后索引的順序?qū)⒕彺嬷械臄?shù)據(jù)一次性寫入存儲 設(shè)備,并采用索引樹對視頻信息進(jìn)行組織管理,同時對索引樹中相應(yīng)的視頻片段信息節(jié)點 進(jìn)行更新。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法還包括,當(dāng)在存儲視頻時,包括以 下步驟: 步驟1. 1 :將幀數(shù)據(jù)按塊對齊寫入數(shù)據(jù)區(qū); 步驟1. 2 :寫入對應(yīng)的次級索引; 步驟1. 3 :更新對應(yīng)視頻片段的一級索引; 步驟1. 4 :更新全局塊信息; 當(dāng)從所述存儲設(shè)備中讀取視頻時,包括以下步驟: 步驟2. 1 :檢索索引樹獲取視頻片段的一級索引; 步驟2. 2 :通過一級索引定位出視頻片段的次級索引區(qū)間; 步驟2. 3 :根據(jù)次級索引找出視頻片段的幀數(shù)據(jù)存儲塊區(qū)間; 步驟2. 4 :讀出視頻片段的幀數(shù)據(jù)。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述索引樹中,每個關(guān)鍵字對應(yīng)一個指 向子節(jié)點的指針,葉節(jié)點包含了樹中全部關(guān)鍵字信息,索引樹組織所有一級索引信息,其根 節(jié)點位置記錄在全局塊中,并以視頻片段的開始時間作為索引鍵值,所有一級索引信息均 可從葉子節(jié)點中獲取,以提供視頻檢索; 樹中的每個節(jié)點由以下部分組成,包括keyNum,用于記錄節(jié)點中的實際一級索引數(shù)量; main_index和child_pointer,分別用于保存一級索引信息及其對應(yīng)的子節(jié)點指針;在檢 索開始時,先從全局塊中獲取索引樹的根節(jié)點位置,通過遍歷關(guān)鍵字找出一條從根節(jié)點到 葉節(jié)點的符合檢索時間條件的檢索路徑,通過一級索引定位至次級索引實現(xiàn)幀數(shù)據(jù)的檢 索,得到相應(yīng)的視頻片段。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述幀緩存用于緩存幀數(shù)據(jù),索引緩存用 于緩存視頻對應(yīng)的索引信息,幀緩存組建完成后一次性寫入存儲設(shè)備,所述視頻的一幀由 一個I幀與多個P幀組成,在每幀前后各添加一個2字節(jié)大小的標(biāo)志位MH和MT,用于數(shù)據(jù) 校驗和實現(xiàn)視頻幀的單獨提取; 所述幀緩存由幀頭、幀數(shù)據(jù)和標(biāo)志位MH和MT組成,在內(nèi)存中組建的幀緩存大小為塊大 小的整數(shù)倍,其計算方法如下:
其中,BR為視頻碼率;ML為標(biāo)志位長度;HS為視頻幀頭部大?。籉R為幀率;BS為存儲 設(shè)備中數(shù)據(jù)單元的大小。
【專利摘要】本發(fā)明提供了一種網(wǎng)絡(luò)存儲方法,該方法包括:在存儲設(shè)備中建立全局塊、一級索引區(qū)和數(shù)據(jù)區(qū),將視頻數(shù)據(jù)直接存儲在存儲設(shè)備中;設(shè)置幀緩存和索引緩存,在視頻存儲時,將幀數(shù)據(jù)及其索引信息先保存在幀緩存和索引緩存中,并采用索引樹對視頻信息進(jìn)行組織管理。本發(fā)明提出了一種基于網(wǎng)絡(luò)的存儲方法,在較高的數(shù)據(jù)量下實現(xiàn)了穩(wěn)定存儲以及快速準(zhǔn)確的檢索,具有實用性和可靠性。
【IPC分類】G06F17-30, G06F12-08
【公開號】CN104750859
【申請?zhí)枴緾N201510180766
【發(fā)明人】徐宇
【申請人】成都影泰科技有限公司
【公開日】2015年7月1日
【申請日】2015年4月16日