徐步東, 田曉艷
(1.山東師范大學 信息技術管理處, 山東 濟南250014; 2.山東師范大學 信息科學與工程學院, 山東 濟南 250014)
近年來,互聯網上數據呈現爆炸式增長,其中非結構化數據的比重迅速增加.非結構化數據把信息存儲在文件系統中,而不是數據庫中,這使得很多數據庫技術無法應用于非結構化數據管理,因此非結構化數據的存儲、檢索、挖掘等有很多問題亟待解決.云計算技術(Cloud Computing)正是在這種背景下提出的.云計算是一種商業計算模型,它將計算任務分布在大量計算設備構成的資源池上,使用戶能夠按需獲取計算力、存儲空間和信息服務[1].云存儲并不是某一個存儲設備,而是云計算系統中的一種數據訪問服務.云存儲服務模型是以云計算為基礎架構,通過集群、網格或分布式文件系統等技術,將網絡中大量不同類型的存儲設備通過應用軟件集成起來協同工作,共同對外提供數據存儲和業務訪問功能的一個系統,如微軟的云計算平臺Azure、Amazon的EC2、IBM的blue cloud等[2].
云存儲是配置了大容量存儲空間并以數據存儲和管理為核心的一個云計算系統[3],云存儲技術比其他存儲方式有更多優勢,云數據中心能夠整合移動數據、降低存儲成本和復雜性,備份及災難恢復更為容易,數據遷移更方便,數據安全性高.
云存儲系統結構從下到上依次是存儲層、基礎管理層、應用接口層、訪問層.如圖1所示,其中存儲層是云存儲的基礎部分,基礎管理層是云存儲的核心部分,應用接口層負責云存儲的擴展功能,訪問層針對不同需求的用戶提供不同的訪問類型.
目前云存儲數據存儲技術主要有谷歌的GFS(Google File System)和Hadoop的HDFS(Hadoop Distributed File System). GFS是一種高效集群存儲技術,可以實現性能與容量的線性擴展。目前雅虎、英特爾的“云”計劃等都采用HDFS數據存儲技術[4].
計算機網絡正在改變著傳統的監控方式,視頻監控技術的網絡化發展已經成為趨勢.網絡視頻技術的核心問題是海量視頻流的傳輸以及存儲問題.目前的絡視頻技術中, P2P技術、流媒體技術和分布式技術應用在視頻點播和實時監控等方面,有效改善了傳輸視頻流時的網絡擁塞等問題;DVR存儲等存儲技術從不同側重點解決了視頻存儲問題.
基于多播的P2P流媒體技術與可擴展性視頻編碼技術結合能極大地提高每個用戶所接收的視頻質量.由于可擴展性編碼流具有可加性,媒體數據可以分塊傳輸給不同用戶,通過用戶間的連接就可以得到合在一起的媒體數據.即使每個用戶與服務器的連接帶寬是有限的,應用P2P技術用戶依然可以通過流媒體系統享受高質量的多媒體服務[5].
基于多播的P2P流媒體技術會對網絡擁塞和視頻質量帶來很大改進.而視頻監控與普通視頻需求有很大不同,它需要多個點同時向一個點傳輸數據,機器性能和網絡帶寬限制給監控數據的流暢穩定傳輸帶來很大的挑戰,因此需要考慮服務器及緩存副本等機制來協助解決這些問題.
分布式網絡視頻監控系統[6]中監控信號經過前端編碼后由網絡傳輸到控制端解碼.前端編碼采用了軟件編碼方式,編碼技術主要采用了ISO的MPEG系列和ITU的H系列;控制端解碼則采取了硬件解碼器.利用軟件編碼硬件解碼的思路,提出了一個分布式網絡視頻系統架構,符合目前視頻監控的網絡化趨勢.但是,海量視頻數據在網絡環境下進行多路信號同時傳輸會造成嚴重的擁塞.
視頻監控存儲主要有以下幾種技術:
1)DVR存儲.采用編解碼器設備直接掛接硬盤的方式,但性能局限性影響了圖像數據的共享及分析.
2)編碼器外掛存儲設備直連存儲.通過編解碼器的外部存儲接口連接,主要采用SATA、USB、iSCSI和NAS等存儲協定進行容量擴展,在轉發環節易出現瓶頸,且多節點并發寫入數據時效率不高.
3)集中管理存儲.服務器連接前端編解碼器,通過流媒體協議下載數據,然后存放到存儲設備上.在節點較多的監控環境和中小型應用中較為合適.
4)NVR存儲.NVR系統將傳統的視頻、音頻及控制信號數字化,通過NVR設備上的網絡接口,以IP包的形式在網絡上傳輸,在DVR的基礎上,實現系統網絡化.但高清監控視頻文件,對存儲設備容量、讀寫性能、可靠性提出了更高要求.
以上存儲方式都無法有效滿足目前高清信號的監控存儲需求.而視頻監控云存儲,可以突破傳統存儲方式的性能和容量瓶頸,在網絡中聯接大量各種不同類型的存儲設備形成強大的存儲能力,實現視頻監控數據的海量存儲管理.
作為網絡視頻監控的一個應用方面,高考視頻監控數據管理系統的目標是建設一個遍布全省甚至是全國的系統,并提供遠程的實時視頻監控和視頻回放功能.由于網絡帶寬因素、監控存儲設備規模及性能上的限制等因素,一般都只能在一個城市內,甚至某一個區縣內來建設,很難跨城來建設.目前網絡帶寬和路由瓶頸等問題很難實時傳輸.海量視頻數據基于云存儲服務模型的工作原理提出高考視頻監控數據管理系統來解決上述問題.
高考視頻監控數據一般采用考后人工報盤方式向上集中存儲,這種方式效率低且耗費人力物力.本文提出高考視頻監控管理系統采用分布式存儲管理方式,利用網絡和視頻傳輸技術實現實時監控及安全存儲.系統中多級監控點與底層各個考點之間有明確的控制關系,上一級監控點可以監看并控制下一級監控點,所有視頻數據均存儲于底層考點服務器上.
如圖2所示,以某省為例建設的高考視頻監控數據管理系統.省市縣為自上而下為層次結構,每層監控點在邏輯上連成環狀,將市級監控點T_M連成的環上增加一個省/市控制點P/T_C,將縣級監控點C_M連成環狀并根據距離范圍遠近和考點分布密度在環上增加一個或多個市/縣控制點T/C_C.各級監控點和控制點邏輯上連成環狀,分別負責視頻數據的上傳、數據備份并整理存儲數據的目錄信息等.
系統采用分層結構,最頂層為省級監控點,省級監控點P_M與下一層省/市控制點P/T_C及各個市級監控點T_M連接,并將市級監控點T_M與同層上的省/市控制點P/T_C連成環狀;每個市級監控點T_M與下一層各個從屬的縣級監控點C_M及市/縣控制點T/C_C連接,省/市控制點P/T_C與下一級的所有市/縣控制點T/C_C連接,并將每個市的縣級監控點C_M與其同市級轄區內的市/縣控制點T/C_C連成環狀;每個縣級監控點C_M與從屬各個考點服務器連接,所有市/縣控制點T/C_C與所在市級考點按地理位置和考點密度就近連接.
縣級監控點C_M及市/縣控制點T/C_C.管理和維護其轄域內各個考點存儲的視頻監控數據,分別存儲底層考點服務器送來的復制編碼數據.T/C_C還負責存儲維護一張目錄信息表記錄復制編碼數據的存儲位置,在一定時間內交換環上各個T/C_C的信息,保證每個T/C_C內都完整存儲這一個市級單位的實時考點信息,并將整理合并好的目錄數據向P/T_C傳輸,保證整個系統穩定.
市級監控點T_M及省/市控制點P/T_C.功能上近似縣級監控點C_M和市/縣控制點T/C_C.而結構上,只有一個P/T_C,是為了便于省級監控點P_M對整個系統的控制.T_M和P/T_C分別存儲底層考點服務器送來的復制編碼數據(與C_M、T/C_C存儲的復制編碼數據不同,四者存儲的分別為某個視頻文件的不同部分),P/T_C也負責維護一張目錄信息表記錄復制的編碼數據的存儲位置,并將下層各個控制點合并好的目錄數據備份保存.
省級監控點P_M. 主要有兩個功能:一是為各級監控點和控制點各自產生一個全局標識,另一個是記錄各級監控點和控制點的信息.
上層調看視頻監控數據時,根據可擴展編碼技術的可加性,控制點同時向上層監控點以及控制點傳輸視頻數據的不同部分,上層監控點將接收到的視頻數據合并起來,避免了多點同時向一個點傳輸視頻數據時出現網絡擁塞等問題.監控點還可以依據副本創建策略以及緩存技術,減少由于網絡不穩定對視頻實時性傳輸的影響.為了提高安全性,管理節點在邏輯上構成一個環狀,避免了單點失效等故障引起的其從屬考點無法連接到問題,提高了系統魯棒性.
在高考視頻監控數據管理系統中,分布式存儲是其中最基礎的應用實現.目前的分布式存儲解決方案中,文獻[7]采用SAN作為視頻監控應用的存儲系統、文獻[8]提出了高碼率監控視頻存儲系統THNVR(Tsinghua Network Video Recorder)、文獻[9]基于信息散列算法提出了一種分布式存儲策略等.
借鑒已有分布式存儲策略,在滿足系統的存儲要求下,提出了一種適用于高考視頻監控數據管理的分布式存儲策略——多點備份.在底層各個考點服務器上采取定長存儲和加大緩存的方法實時存儲各個考場的視頻數據;考試過程中底層考點服務器實時監控數據并編碼復制上傳到上層控制服務器中,這樣一方面可以保證底層服務器受到攻擊篡改時,可以將上層監控點服務器存儲的數據與其對比;另一方面在上層監控點服務器調看某一考點視頻數據時只需上傳復制之外的部分,減少數據傳輸量.
3.3.1 數據存儲與檢索
在底層考點服務器上創建定長文件存儲高考視頻數據,采用了輕量級數據庫SQLite來存儲考場監控文件記錄表(見表1).在數據表中記錄每個視頻文件的場次科目信息、起止學號戳、復制編碼數據存儲位置,以便檢索.
表1最后一欄數字表示視頻文件編碼數據的順序,符號代表其復制后的存儲位置,若存儲于上層監控點,則是考點所屬的縣級或者市級監控點,分號間隔開不同部分的存儲信息.同時在每個T/C_C中也會維護一張記錄表,將多個控制點記錄表的信息合并后上傳至P/T_C.在P_M需要調看某一考場的監控視頻時,首先從P/T_C維護的記錄表中獲得某場考試的存儲位置,并控制監控視頻的不同部分從不同存儲位置向上同時傳遞,按照可擴展編碼的可加性將視頻合并復原.T_M要求監看數據時,其過程與P_M類似.
3.3.2 磁盤存儲優化
高考視頻監控中每個考點全部考場的視頻數據同時集中存儲到本地磁盤,存在著多路視頻流同時寫盤沖突的問題.為解決這一問題,系統采用緩沖存儲法,為每一路視頻數據分配較大的緩沖區,當緩沖區滿時一并寫入磁盤,即“大寫”.這樣并行操作保證了對磁盤的訪問是順序的、連續的、大量的,從而更有效地利用了磁盤寫入帶寬,實現高效訪問,同時因為每個文件是定長存儲,所以方便了檢索定位.
云存儲已經成為未來存儲的一種發展趨勢,未來云存儲的發展主要在安全性、便攜性、有效性和可用性及數據訪問等方面.
本文將云存儲技術應用于高考視頻監控數據管理,實現了視頻監控數據的分布式存儲.該系統采用層次架構和同層節點邏輯上的環連接機制,避免了單點失效等故障引起的其從屬考點無法連接到的問題,提高了系統的魯棒性;采用底層考點定長存儲視頻數據并維護記錄表的方式,方便了視頻數據檢索;多點備份策略有效改善了上層監控點在同時讀取多路考點視頻信息時的網絡擁塞問題.
[1]劉鵬.云計算[M].第2版.北京:電子工業出版社,2011:1-2
[2]Microsoft. Cloud computing platform: Azure service platform overview[R].INSIGHT (Microsoft), 2008
[3]Dejun J,Pierre G,Chi C H.EC2 performance analysis for resource provisioning of service-oriented applications[C]//Proc of Workshop on Non-Functional Properties and SLA Management in Service-Oriented Computing,2009.
[4]網佳雋,呂智慧,吳杰,等.云計算技術發展分析及其應用探討[J].計算機工程與設計,2010,31(20):4 405-4 407.
[5]竇凌云.P2P技術在視頻流媒體網絡中的研究和應用[D].成都: 電子科技大學,2006.
[6]王永利.分布式網絡視頻監控系統的架構[J].自動化儀表, 2010(7):42-44.
[7]雷凌.視頻監控系統中最佳存儲方案的實踐[J].中國安防,2009(1):122-125.
[8]鄔建元,顧瑜,鞠大鵬,等,分布式大規模監控視頻存儲系統THNVR[J].計算機工程與應用, 2009,45(31):56-59
[9]呂衛忠,康紅勛,周園春,等.數據網格中高效的分布式存儲策略[J].計算機工程,2011,37(5):38-40.