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