在網絡視頻監控系統中,音視頻流的傳輸是基于IP 網絡的,在存在大量音視頻流傳輸的情況下,如何有效地實現對音視頻數據的存儲,和對多個用戶檢索回放視頻文件的管理是一個重要的課題。
因此,本文就對網絡視頻監控系統的存儲技術進行了探討,給出了一種音視頻存儲服務器軟件的設計方案和具體實現。支持圖像存儲、網絡回放的雙工模式,最大可以同時對多路視頻進行錄像,支持多個用戶同時在線檢索回放歷史數據,可以根據圖像的、記錄時間、報警事件類別等多種方式對存儲的圖像數據進行檢索。
媒體流的文件存儲
業界較為典型的監控存儲的數據管理方案是“DVS+媒體服務器+存儲系統”,其中媒體服務器是系統的核心,由其負責媒體數據流的分發、錄像、以及VOD點播。
在這種流媒體服務器的方案中,數據管理方式是基于文件系統進行的,所有的錄像數據在通過媒體服務器時,都被轉成了標準的流媒體文件(幾分鐘到幾十分鐘的錄像形成一個文件),然后再進行存儲。這種存儲方式利用了傳統文件系統自身的特性,系統開發比較簡單,但有可能降低監控存儲的效率,主要體現在:
存在視頻數據丟失的風險。文件形成需要時間,在形成過程中若網絡有誤碼、前端DVR/DVS/IPCAM有故障/停電,服務器自身軟件缺陷等情況出現,就會造成整段時間視頻文件的丟失。
受文件碎片的影響。文件系統使用過程中會形成大量的文件碎片,在使用過程中存儲空間會逐漸變小,性能也會隨之降低。
文件檢索效率低。歷史數據檢索的最小單位是文件,顆粒度太大,精確度低。
除了文件系統自身的不足之外,方案還會受到流媒體服務器集群能力的影響。一臺普通的PC Server大約能承載幾十路2Mbps媒體數據流的處理,在這種組網下,要支撐更多數量的媒體流處理,需要將多臺媒體服務器組成一個集群。但是,受限于媒體流服務器的集群能力,媒體服務器的數量不能太多,一般十幾臺媒體服務器就達到了一個集群的極限。因此,媒體服務器集群成為了整個監控系統的瓶頸,這使得監控系統無法大規模展開。在構建平安工程這類大規模監控系統時,這種方案就會遇到很大問題,大量的媒體服務器不僅增加成本,管理同時變得更復雜。
由此可見,傳統的監控系統在數據管理方面面臨的兩個主要問題:普通文件系統不是專為監控存儲設計,因此會影響到監控數據存儲的效率;媒體服務器的集群能力有限,導致監控系統大規模部署困難。那么,是否有針對監控存儲的更好的數據管理方式?
針對監控存儲的數據特點,業界早在幾年前就開始嘗試一些新的數據管理方式,希望能夠提高監控存儲的數據管理效率,滿足監控大規模應用的需求。在這些數據管理方式中,“塊直存”就是其中比較有特點的一種,已經成為業界發展的方向。其創新性主要體現在:
創造性的采用了“時間索引+塊數據”的專用數據結構,拋棄了傳統的文件系統,提高監控數據的管理效率。
創造性的采用了基于iSCSI協議的IP SAN直存技術,拋棄了傳統的流媒體服務器,簡化系統架構。
通過集中式數據管理,實現了對資源的統一劃分和調度,實現數據的全局性管理。
媒體服務器文件存儲模式
實際上,在很多大規模監控方案中,為了解決媒體服務器性能瓶頸的問題,一般會采用服務器群的方式完成。但又帶來新的問題,如多個服務器之間如何進行負載分擔?某個服務器故障之后,系統如何將數據流量切換至其他服務器?這些服務器如何管理?如何共享一個存儲空間?等等,解決這些問題需要一個非常優秀的集群管理系統,增加系統復雜性的同時,還需要一筆不菲的預算,更遺憾的是,目前業界還沒有一個集群管理系統可以很好的解決該問題。
因此,前端設備到IP SAN的端到端直存就是一種很好的解決辦法。在存儲方式上,“數據塊直存”的數據管理方式拋棄了媒體服務器,在IP網絡的基礎上,在編碼設備中集成了iSCSI模塊,使得編碼設備可以基于iSCSI的協議端到端的把錄像數據寫入IP SAN存儲設備中。
監控錄像的檢索效率
傳統監控中,對于媒體流的文件存儲模式,在錄像檢索時首先要根據攝像頭、檢索的時間查找到對應的文件,然后再進一步定位具體的時間點,從該時間點回放錄像。歷史數據檢索的最小單位是文件,顆粒度太大,精確度低。
文件系統本來是為隨機讀寫的數據管理應用設計的,檢索效率較低,一個含幾百萬個文件的系統的檢索效率很難想象。所以,當系統規模擴大后,傳統數字監控方案的效率下降很快。
在“塊直存”的系統中,“塊”存儲可以理解成自定義的一種文件系統,在裸盤上進行數據讀寫;時間作為每個數據單元的索引,并且把索引和數據單元保存在一個完全獨立的邏輯存儲空間上。錄像的索引和數據形成獨立的、完整的數據結構,這種數據結構完全由自己管理,不再由操作系統和文件管理。通過時間索引+塊數據存儲這種組合,在錄像檢索上,可以基于時間進行檢索,可以快速定位到任意時間的錄像,檢索效率大幅度提高。在檢索的顆粒度上,也不再受文件大小的限制,可以實現秒級的連續檢索。
H3C創新存儲模式—“iSCSI塊直存”
作為IP領域的領導廠商之一,H3C同時在IP網絡、IP視頻、IP存儲等領域有著長期的技術和產品積累。進入IP監控領域后,H3C將這些技術進行融合,首家將iSCSI塊存儲的存儲方式引入監控中,從而有效的解決了媒體服務器引入的存儲的性能、可靠性以及檢索效率的問題。
在“塊數據”和“直存”兩者的技術基礎上,通過全局性的資源統一劃分和調度,實現數據的全局性管理。在大型監控系統里面,可能有成千上萬個攝像機和海量的存儲空間。
如何管理這些攝像頭和存儲設備之間的對應關系是一個非常復雜的難題。在“塊直存”視頻監控系統中,H3C引入了數據管理服務器單元(DM),以此來實現存儲資源的統一管理。
DM是一個專用的數據管理設備,所有的攝像頭和存儲資源都由其管理。攝像頭需要存儲資源時,會統一向DM申請,DM會從存儲空間中選擇合適的存儲資源分配給攝像頭,使攝像頭與這一塊的存儲資源建立讀寫關系。
IP SAN設備完成某個攝像頭媒體數據塊的存儲工作后,根據監控點的IP地址、寫入媒體數據的起始和終止時間,自動生成一個塊索引值。DM和IP SAN之間進行通信,獲取最新的視頻存儲信息,對所有監控圖像的檢索等通過DM完成。
當然,這種存儲方式必然對監控廠商的技術積累和實力提出了更高的要求,如要求編碼器支持雙碼流,實時監控視頻流和存儲視頻流可以獨立編碼,同時編碼器支持iSCSI協議。
雙碼流是現在所有高端編碼器的基本要求,實現的廠商較多,編碼器支持iSCSI則要求監控廠商同時具備專業的存儲技術積累,對于目前的多數監控廠商而言,存在一定的技術門檻。可喜的是,我們看到,越來越多的監控廠商認識到存儲對于一個監控方案的重要性,開始進行這方面的技術積累。
評論