1.概述
隨著城市化進程的推進,作為一種重要的安防系統(tǒng),網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)以其直觀、實時和信息量大等特點,廣泛應(yīng)用于交通、金融和電力等眾多領(lǐng)域。為保證系統(tǒng)的實時性和可靠性,對海量視頻數(shù)據(jù)進行高效、可靠存儲和實時、有效的訪問成為系統(tǒng)開發(fā)的一個重要方面。目前視頻監(jiān)控系統(tǒng)的錄像存儲通常具有以下特性:(1)編碼格式固定:采用H.264/AVC(Advanced Video Coding)標(biāo)準(zhǔn)對圖像數(shù)據(jù)進行實時編碼,獲得穩(wěn)定、優(yōu)質(zhì)的視頻數(shù)據(jù)流;(2)錄像數(shù)據(jù)集中存儲:通過互聯(lián)網(wǎng)小型計算機接口(Internet SmallComputer System Interface, ISCSI)協(xié)議對視頻數(shù)據(jù)幀進行封裝并傳輸至存儲區(qū)域網(wǎng)絡(luò)(Storage Area Network, SAN)進行集中文件方式存儲,保證數(shù)據(jù)存儲的可靠性。由于傳統(tǒng)文件系統(tǒng)(NTFS, EXT3 等)采用基于多級指針的數(shù)據(jù)存儲模式,在存儲視頻數(shù)據(jù)時具有I/O 操作量大和易產(chǎn)生磁盤“碎片”等問題,從而導(dǎo)致錄像存儲效率低和檢索性能差,成為系統(tǒng)性能及規(guī)模提升的瓶頸。本文針對傳統(tǒng)文件系統(tǒng)存儲方案的缺陷,并根據(jù)網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的錄像存儲特性,提出一種專用于網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的基于裸磁盤設(shè)備的存儲方案。
2.基于裸磁盤設(shè)備的存儲方案設(shè)計
本文基于裸磁盤設(shè)備設(shè)計了一種專用于視頻監(jiān)控系統(tǒng)的存儲方案,方案總體設(shè)計結(jié)構(gòu)如圖1 所示。本文方案主要由磁盤邏輯存儲結(jié)構(gòu)、基于B+樹的錄像段索引信息管理和基于GOP 的數(shù)據(jù)緩存機制3 個部分組成。方案在將磁盤從邏輯上分為索引區(qū)與數(shù)據(jù)區(qū)的基礎(chǔ)上,基于GOP 設(shè)計了視頻數(shù)據(jù)緩存(Video Data Buffer, VDB)和索引數(shù)據(jù)緩存(Index Data Buffer, IDB),在錄像存儲時,將視頻數(shù)據(jù)及其索引信息先保存在VDB 和IDB 中,當(dāng)緩存區(qū)被寫滿時,以GOP 為單位,采用先數(shù)據(jù)、后索引的機制將緩存中的數(shù)據(jù)一次性寫入磁盤,同時對B+樹中相應(yīng)的錄像段信息節(jié)點進行更新。由于在網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)中采用網(wǎng)絡(luò)磁盤進行數(shù)據(jù)存儲,因此該方案可有效地減少網(wǎng)絡(luò)傳輸與磁盤I/O 的數(shù)量,從而提高錄像存儲效率。
	 
圖1 方案總體設(shè)計結(jié)構(gòu)
方案采用B+樹對錄像信息進行組織管理,因此錄像段信息更新和錄像檢索過程即B+樹的深度搜索過程。該過程的檢索代價為樹深度L,明顯優(yōu)于文件系統(tǒng)中文件遍歷的代價。因此,較之傳統(tǒng)的文件系統(tǒng)方案,本文方案有效提升了錄像檢索性能。
3.方案實現(xiàn)方法
3.1 磁盤邏輯存儲結(jié)構(gòu)
本文方案根據(jù)視頻監(jiān)控系統(tǒng)的數(shù)據(jù)存儲特點,摒棄了文件的概念,設(shè)計了一種磁盤邏輯存儲結(jié)構(gòu),所有數(shù)據(jù)均以此結(jié)構(gòu)為基礎(chǔ)按格式進行組織并直接存儲于裸磁盤設(shè)備中,該結(jié)構(gòu)如圖2 所示。
	
圖2 磁盤邏輯存儲結(jié)構(gòu)
磁盤從邏輯上分為超級塊、主索引區(qū)和數(shù)據(jù)區(qū)3 個部分。其存儲內(nèi)容具體如下:
(1)超級塊:記錄了系統(tǒng)的全局存儲管理信息,包括創(chuàng)建時間、數(shù)據(jù)塊大小、主索引樹的根節(jié)點位置和分段時長等,在磁盤格式化時寫入。
(2)主索引區(qū):由一組索引節(jié)點組成,所有節(jié)點按B+樹結(jié)構(gòu)進行組織。樹節(jié)點由若干個主索引信息組成,每個主索引代表一個錄像段。主索引中記錄了錄像段的碼流類型、起始GOP 存儲位置、GOP 數(shù)量、錄像段開始時間和結(jié)束時間等信息,其結(jié)構(gòu)如圖3所示。
	
圖3 主索引結(jié)構(gòu)
(3)數(shù)據(jù)區(qū):等分為若干個大小為64 MB 的數(shù)據(jù)塊,末尾不足一個數(shù)據(jù)塊的部分保留不用。每個數(shù)據(jù)塊由4×1024 個16 KB 大小的數(shù)據(jù)單元(block)組成,分為次索引區(qū)和數(shù)據(jù)單元區(qū)。為了減少數(shù)據(jù)存儲過程中磁頭移動的距離、提高存儲效率,方案將所有次索引均勻分布在各個數(shù)據(jù)塊中,分別占用4個block,用于記錄本數(shù)據(jù)塊組中GOP 的存儲信息。每個次索引對應(yīng)一個GOP,記錄了GOP 的數(shù)據(jù)類型、編碼格式、GOP 數(shù)據(jù)在磁盤中的起始block 編號、block 數(shù)量和GOP 時間戳等信息,其結(jié)構(gòu)如圖4所示。
	
圖4 次索引結(jié)構(gòu)
	  上述磁盤邏輯存儲結(jié)構(gòu)為本文存儲方案的基礎(chǔ),方案設(shè)計了索引與數(shù)據(jù)分離、分級錄像索引及數(shù)據(jù)結(jié)構(gòu)化存儲等方法,保證了錄像存儲的高效性與精確性,為存儲效率和檢索性能的提高打下基礎(chǔ)。基于本文存儲結(jié)構(gòu),錄像的存儲與回放流程描述如下。
	
	
錄像存儲流程如下:
Step1 將視頻數(shù)據(jù)以GOP 為單位按block 對齊寫入數(shù)據(jù)區(qū);
Step2 寫入GOP 對應(yīng)的次索引;
Step3 更新對應(yīng)錄像段的主索引;
Step4 更新超級塊信息。
錄像回放流程如下:
Step1 檢索索引B+樹獲取錄像段的主索引;
Step2 通過主索引定位出錄像段的次索引區(qū)間;
Step3 根據(jù)次索引找出錄像段的視頻數(shù)據(jù)存儲block區(qū)間;
Step4 以GOP 為單位讀出錄像段視頻數(shù)據(jù)。
3.2 基于B+樹的錄像段索引信息管理
為提升系統(tǒng)在海量存儲中的錄像檢索性能,本文方案采用B+樹對錄像段索引信息進行組織管理。B+樹是B樹的一種變體,一棵深度為L 的m 階B+樹的最大關(guān)鍵字?jǐn)?shù)量為mL,樹中的每個內(nèi)部節(jié)點最多可包含m 棵子樹,子樹數(shù)量與關(guān)鍵字?jǐn)?shù)量相等,節(jié)點搜索時間復(fù)雜度為O(L)。每個關(guān)鍵字對應(yīng)一個指向孩子節(jié)點的指針,葉節(jié)點包含了樹中全部關(guān)鍵字信息。
本文方案中的B+樹用于組織所有主索引信息,其根節(jié)點位置記錄在超級塊中,并以錄像段的開始時間作為索引鍵值,所有主索引信息均可從葉子節(jié)點中獲取,以提供錄像的快速檢索。圖5為B+樹及其節(jié)點結(jié)構(gòu)。
	 
圖5 B+樹及其節(jié)點結(jié)構(gòu)
樹中的每個節(jié)點由4個部分組成,其中,keyNum記錄了節(jié)點中的實際主索引數(shù)量,最大取值為25;main_index和children_pointer 分別保存了主索引信息及其對應(yīng)的孩子節(jié)點指針; reserved 為保留字段, 使節(jié)點在空間上按1024 Byte 對齊,以提高磁盤I/O 的效率。
在檢索開始時,先從超級塊中獲取B+樹的根節(jié)點位置,通過遍歷關(guān)鍵字找出一條從根節(jié)點到葉節(jié)點的符合檢索時間條件的檢索路徑,得到相應(yīng)的錄像段。假設(shè)B+樹中保存的主索引總數(shù)為N,階為m,樹的深度為L,從磁盤中讀取一個內(nèi)部節(jié)點的代價為Cr,在內(nèi)存中遍歷一個內(nèi)部節(jié)點中的所有主索引信息的代價為Dr,則一次錄像檢索的代價Q=L×(Cr+Dr),其中,Cr 與Dr 均可近似為常量且Dr<<Cr;而在文件系統(tǒng)中,錄像檢索時需要進行錄像文件遍歷,其一次錄像檢索代價Q’=N×Rr,其中,Rr 為從磁盤中讀取一個錄像文件頭部的代價,與Cr 近似相等。由B+樹的性質(zhì)可知L≈logmN,因此相比于文件系統(tǒng),本文方案明顯提升了錄像檢索性能。
此外,本文方案通過主索引定位至次索引實現(xiàn)視頻數(shù)據(jù)的秒級檢索,檢索代價為常量時間復(fù)雜度O(1),而文件系統(tǒng)則需要讀取錄像文件并遍歷錄像文件的內(nèi)容,需進行多次磁盤I/O,其帶來的檢索代價呈線性增長。因此,本文方案在錄像檢索性能上相對于文件系統(tǒng)的錄像存儲方案具有明顯提高。
3.3 基于GOP 的數(shù)據(jù)緩存機制
基于GOP 的數(shù)據(jù)緩存分為VDB 和IDB 2 個部分,其中,VDB 用于緩存視頻數(shù)據(jù),IDB 用于緩存視頻GOP 對應(yīng)的索引信息。VDB 以GOP 為單位進行組建,組建完成后一次性寫入磁盤。在H.264 標(biāo)準(zhǔn)中,一個GOP 由一個I 幀與若干P 幀組成,為保證GOP 中各幀的完整性和相鄰幀之間的獨立性,本機制在每幀前后各添加一個2 Byte 大小的魔數(shù),分別稱為MAGIC_HEAD 和MAGIC_TAIL,在達到數(shù)據(jù)校驗效果的同時,也為單獨提取視頻幀提供了實現(xiàn)方法。圖6為VDB 緩存的組建格式。
	
圖6 VDB緩存組建格式
如圖6所示,VDB 緩存由幀頭部(Head)、幀數(shù)據(jù)(Frame)和魔數(shù)(MH 和MT)3 個部分組成。基于本文方案中的磁盤邏輯存儲結(jié)構(gòu),數(shù)據(jù)組織的最小單位為block,因此,在內(nèi)存中組建的VDB 緩存大小為block 大小的整數(shù)倍,其計算方法如下所示:
	
其中,BR 為視頻碼率;ML 為魔數(shù)長度;HS 為視頻幀幀頭部大;FR 為幀率;BS 為磁盤結(jié)構(gòu)中數(shù)據(jù)單元的大小。除BR 單位為bit/s 之外,其余參數(shù)的單位均為Byte。
	  基于GOP 的緩存機制在保證視頻存儲可靠性的基礎(chǔ)上,可有效地減少網(wǎng)絡(luò)傳輸與磁盤I/O 的數(shù)量,獲得存儲效率的提高。同時,在該機制中還維護了一個由n 個次索引組成的IDB 緩存與VDB 緩存相對應(yīng),并采用先數(shù)據(jù)、后索引,先次索引、后主索引的寫入策略進行錄像存儲;谠搶懭氩呗,本文方案設(shè)計了一種錄像重建機制。當(dāng)系統(tǒng)出現(xiàn)異常時,如編碼器異常斷電或網(wǎng)絡(luò)中斷等,該重建機制可在異;謴(fù)后,根據(jù)錄像數(shù)據(jù)重建次索引、根據(jù)次索引重建主索引,最大限度地減少錄像丟失,消除數(shù)據(jù)緩存所帶來的數(shù)據(jù)與索引的非一致性問題,提升系統(tǒng)的容錯性。
	
	
4.測試與結(jié)果分析
為驗證方案的有效性,本文以實際網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)作為測試平臺,對錄像存儲效率和錄像檢索性能進行測試。圖7 為網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的總體架構(gòu)。
	 
圖7 網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)總體架構(gòu)
系統(tǒng)由IP 攝像機、事務(wù)管理中心、視頻點播服務(wù)器和存儲服務(wù)器等設(shè)備組成,所有設(shè)備通過一個H3C 5500 千兆以太網(wǎng)交換機互聯(lián)。各個設(shè)備的配置信息與功能如表1所示。
	表1 網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的設(shè)備配置與功能
	
測試時通過事務(wù)管理中心在IPSAN 上創(chuàng)建一個10 GB的邏輯卷,并通過ISCSI 映射給IP攝像機和視頻點播服務(wù)器,后者可通過ISCSI 協(xié)議登錄至IPSAN 并將該邏輯卷驅(qū)動成本地SCSI 硬盤。錄像的讀寫與檢索均基于此硬盤完成。
(1)存儲效率測試與分析
本文選取512 Kb/s、1 Mb/s、2 Mb/s、4 Mb/s 和8 Mb/s等5 種視頻碼率按Write-Through 寫入方式分別對傳統(tǒng)的文件系統(tǒng)(選用EXT3)與本文方案進行存儲效率測試,通過記錄連續(xù)寫入1GB 視頻數(shù)據(jù)的耗時計算平均存儲帶寬,得出錄像存儲效率對比曲線如圖8所示。
	
圖8 錄像存儲效率對比曲線
在網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)中,數(shù)據(jù)網(wǎng)絡(luò)傳輸與磁盤讀寫I/O是限制錄像存儲效率的最主要因素。相比于文件系統(tǒng),本文方案中錄像存儲均基于裸磁盤設(shè)備,且以GOP 為單位進行數(shù)據(jù)緩存,可有效減少數(shù)據(jù)網(wǎng)絡(luò)傳輸與磁盤I/O 的次數(shù),且在等數(shù)據(jù)量下,碼率越小,減少次數(shù)越多,存儲效率提升幅度越大。目前視頻監(jiān)控系統(tǒng)在實際使用中,為節(jié)省存儲資源節(jié)約成本,通常采用512 Kb/s 或1 Mb/s 的低碼率進行錄像存儲,通過分析圖8 中的曲線可知,在此2 種碼率下的存儲效率相比于文件系統(tǒng)分別提升了43.6%和30.3%,提升效果極為明顯。
(2)檢索性能測試與分析
	  選取碼率為1 Mb/s 的視頻分別以本文方案和文件系統(tǒng)進行連續(xù)錄像720h后,從中隨機選取100個時間點(精確到秒)對2 種方案的錄像進行秒級錄像檢索(即GOP 檢索),根據(jù)每次檢索耗時得出檢索性能對比曲線,如圖9 所示。從圖9中的曲線可以看出,本文方案的錄像檢索耗時保持在25 ms~35 ms之間,近似于常量值;而基于文件系統(tǒng)方案的錄像檢索耗時隨著GOP在錄像段中的位置增大呈線性增
	長。因此,本文方案相對于文件系統(tǒng)明顯提高了錄像檢索性能。
	 
圖9 錄像檢索性能對比曲線
5.結(jié)束語
本文針對文件系統(tǒng)的錄像存儲方案的缺陷,結(jié)合網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的錄像存儲特點,提出了一種基于裸磁盤設(shè)備的錄像存儲方案。設(shè)計一種索引與數(shù)據(jù)分離、分級錄像索引及數(shù)據(jù)存儲結(jié)構(gòu)化的磁盤邏輯存儲結(jié)構(gòu),其中采用B+樹管理錄像段索引信息,并基于此結(jié)構(gòu)給出了一種基于GOP 的數(shù)據(jù)緩存機制。在實際系統(tǒng)環(huán)境中的測試結(jié)果表明,在監(jiān)控系統(tǒng)的512 Kb/s 和1 Mb/s 典型存儲碼率下,本文方案相比于文件系統(tǒng)的錄像存儲效率分別提升了43.6%和30.3%;而在錄像檢索性能上,本文方案具有常量時間復(fù)雜度,檢索耗時保持在25 ms~35 ms 之間,相比于文件系統(tǒng)的線性時間復(fù)雜度具有良好的優(yōu)化效果。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標(biāo)題:一種網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的專用存儲方案
本文網(wǎng)址:http://www.oesoe.com/html/support/11121512858.html



 
	

 相關(guān)文章
  相關(guān)文章
 






















 
  
  
  
  
  
  
  
 