吳國慶
摘 要:近年來,一系列建設都向縱深方向發(fā)展,監(jiān)控視頻系統(tǒng)被廣泛應用于各行業(yè)中。在此背景下,如何有效存儲監(jiān)控視頻數(shù)據(jù)成為了這一領域的熱點問題。從系統(tǒng)的相關方面入手描述系統(tǒng),主要闡述了基于HBase的監(jiān)控視頻存儲方案的設計過程。
關鍵詞:HBase;監(jiān)控視頻;存儲方案;設計過程
中圖分類號:TN948.6 文獻標識碼:A DOI:10.15913/j.cnki.kjycx.2015.07.007
1 系統(tǒng)應用架構(gòu)
基于HBase的監(jiān)控視頻存儲方案共分為6個層次。
1.1 硬件與虛擬化層
該層的作用是為基于HBase的監(jiān)控視頻存儲系統(tǒng)提供主要的基礎環(huán)境支持。底層采用云計算技術(shù),將整個計算環(huán)境建立在采用了虛擬化技術(shù)的PC機服務器集群上。
1.2 分布式文件系統(tǒng)層
該層的作用是為系統(tǒng)提供底層存儲平臺。HDFS可以提供高吞吐量的數(shù)據(jù)訪問,向數(shù)據(jù)庫層提供訪問、存儲接口,其他模塊則可以借用其在系統(tǒng)中存取數(shù)據(jù)。同時,它負載均衡、副本策略等機制也可以保證其可靠性和可用性,為系統(tǒng)提供了一定的存儲空間。
1.3 數(shù)據(jù)庫層
該層的作用是為系統(tǒng)提供數(shù)據(jù)存儲支持,向業(yè)務邏輯層提供數(shù)據(jù)持久化功能,并借助行關鍵字設置和索引機制形成數(shù)據(jù)訪問能力。將HBase作為數(shù)據(jù)庫,可以滿足系統(tǒng)各方面的需求,將系統(tǒng)中各種數(shù)據(jù)都存儲在數(shù)據(jù)庫層中。
1.4 業(yè)務邏輯層
該層的作用是進行與用戶管理、視頻檢索、人體行為識別和視頻預處理之類相關的操作,通過數(shù)據(jù)庫層實現(xiàn)對數(shù)據(jù)的讀寫操作。它主要提供數(shù)據(jù)入庫、人體行為識別、視頻查詢和視頻特征抽取之類的業(yè)務。
1.5 用戶接口層
該層的作用是接受用戶操作請求和查看系統(tǒng)反饋結(jié)果。使用Web服務器接受請求,并開展各種驗證和處理工作,借助動態(tài)頁面生成技術(shù)展示結(jié)果。
1.6 分布式系統(tǒng)管理層
該層的作用是管理系統(tǒng)服務器集群,并提供全局配置信息管理功能。在系統(tǒng)中,ZooKeeper可以快速響應集群中機器的變化,從而提供相應的服務。
2 總體設計
2.1 視頻預處理模塊
這個模塊主要負責處理監(jiān)控視頻,提取出該視頻中的各種信息。
2.2 MPEG-7 標準化特征值處理模塊
這個模塊主要利用MPEG-7描述定義語言和與之配套的標準描述子來描述圖片的特征值述。其中,MPEG-7位于信息檢索系統(tǒng)的中心。
2.3 行為識別模塊
這個模塊主要負責識別運動對象和合成行為視頻片段。即首先判斷出對象圖片表達的行為,再將后者合成為行為視頻,并存儲其在數(shù)據(jù)庫中。
2.4 數(shù)據(jù)存儲模塊
這個模塊主要負責系統(tǒng)數(shù)據(jù)的存儲,包括用戶信息、視頻信息、視頻片段信息和運動對象圖片等。
2.5 數(shù)據(jù)檢索模塊
這個模塊主要負責數(shù)據(jù)檢索工作,包括運動對象行為、MPEG-7 特征值、事件地點信息和事件時間信息的檢索這4個部分。
2.6 管理模塊
這個模塊主要是針對管理員設計的,它包括2部分,即用戶管理和系統(tǒng)管理。
3 數(shù)據(jù)庫設計
數(shù)據(jù)庫模塊的總體設計思路是為系統(tǒng)提供持久化的數(shù)據(jù)支持。在設計數(shù)據(jù)庫時,要能夠完整地實現(xiàn)系統(tǒng)的功能,并盡量提高系統(tǒng)的性能。其數(shù)據(jù)庫包括視頻表、圖片表、視頻片段表和用戶表4個主要內(nèi)容。
3.1 視頻表設計
視頻表主要是用來存儲與原始視頻相關的信息,將視頻發(fā)生的時間、視頻內(nèi)容記錄的地點和原始視頻數(shù)據(jù)作為列族video_infor中的一列存入視頻表中。當用戶通過客戶端檢索時,需要以事件時間和事件發(fā)生的地點這2個條件完成篩選工作。
3.2 圖片表設計
圖片表主要是保存運動對象的原始圖片和圖片的各種信息。在基于HBase的海量小視頻存儲和檢索系統(tǒng)中,考慮到一個運動對象對應多張運動對象圖片,所以,要提取運動對象每張圖片的特征,而系統(tǒng)會將每張運動對象的圖片特征值存儲在一個單獨的XML文件中。
3.3 視頻片段表設計
視頻片段表主要記錄對象執(zhí)行某些行為的視頻片段信息,具體設計如下。列和列族:考慮到人物對象的行為數(shù)目是有限的,所以,將對象執(zhí)行走、跑、跳等動作的視頻片段設置為列族video_segment中的一列,以展現(xiàn)系統(tǒng)在行為識別模塊上的拓展性。
3.4 用戶表設計
用戶表主要用于記錄用戶的基本信息和用戶的歷史信息,具體設計如下。列和列族:用戶表中包括用戶昵稱、密碼和最后登錄的時間。對于最后登錄時間,可以利用HBase中的時間戳來記錄用戶登錄的歷史數(shù)據(jù),它可以作為后期系統(tǒng)分析資料使用。
4 數(shù)據(jù)庫模塊與系統(tǒng)業(yè)務邏輯交互設計
4.1 用戶信息交互
用戶信息的交互主要是用戶通過基于HBase的監(jiān)控視頻存儲系統(tǒng)注冊或者修改用戶信息,并完成系統(tǒng)管理員對系統(tǒng)中所有用戶信息的增加、刪除、修改和查看等操作。
4.2 視頻預處理交互
數(shù)據(jù)庫模塊與視頻預處理模塊的交互主要是通過視頻表和圖片表完成的,具體的交互過程如下:視頻預處理模塊對從監(jiān)控攝像頭中獲取的原始視頻進行一系列的處理,將原始視頻數(shù)據(jù)和視頻信息存儲在視頻表中,將運動對象圖片和根據(jù) MPEG-7標準描述的圖像特征值信息存儲在圖片表中。
4.3 行為識別交互
系統(tǒng)的行為識別模塊與數(shù)據(jù)庫模塊的交互也非常頻繁,詳細過程如下:①行為識別模塊需要讀取圖片表中的對象灰度圖,并得到對象圖片ID;②行為識別模塊處理對象灰度圖,識別出人體的行為,并結(jié)合對象圖片ID合成執(zhí)行對應動作的視頻片段。
4.4 視頻片段查詢交互
視頻片段查詢交互的具體過程是:①將用戶選擇的事件時間、事件地點與視頻表中的相關數(shù)據(jù)相匹配,得到一組視頻ID;②結(jié)合視頻ID,將用戶上傳的圖片特征值信息與數(shù)據(jù)庫圖片表中的特征值信息進行對比,得到一組對象圖片ID,并獲取視頻ID和對象ID;③根據(jù)用戶選擇的目標人物行為名稱和由中間結(jié)果集得到的視頻ID,查詢對象ID對應的視頻片段表,從而獲取命中的視頻片段內(nèi)容并將其展示到用戶客戶端。
5 結(jié)束語
本文設計了基于HBase的監(jiān)控視頻存儲方案,在一定程度上解決了海量小視頻的存儲問題。
參考文獻
[1]張洪磊.基于Hadoop的醫(yī)院數(shù)據(jù)中心系統(tǒng)設計與實現(xiàn)[D].杭州:浙江大學,2014.
〔編輯:白潔〕
Abstract: In recent years, a series of construction are to the depth direction, video surveillance systems are widely used in various industries. In this context, how to effectively store surveillance video data has become a hot issue in this area. Describe the system starting from the relevant aspects of the system, mainly on the design process HBase based surveillance video storage solutions.
Key words: HBase; surveillance video; storage solutions; design process