鐘海峰 陳龍 謝雪英 劉偉
(江西警察學院 江西省南昌市 330100)
視頻監控節能存儲文件系統設計
鐘海峰 陳龍 謝雪英 劉偉
(江西警察學院 江西省南昌市 330100)
基于磁盤的數字化和網絡化安放視頻監控系統已成為一種趨勢,本文采用NAS方式,針對視頻監控的訪問特性,設計專門的數據布局方法和磁盤訪問模型,以提高單一磁盤支持并發視頻流的能力,減少視頻存儲服務器中處于工作狀態的磁盤數從而降低存儲節點的能耗。
NAS;視頻服務器;節能存儲
數字化、高清化、網絡化的安防視頻監控系統帶來了爆炸式增長的數字視頻信息,硬盤以其特有的大容量、高性能、低價格優勢成為監控視頻信息的主要記錄設備,目前,使用硬盤構成大容量磁盤存儲系統成為視頻監控系統的核心組成部分,實現方式分為SAN、NAS和DAS三種,其中的NAS模式因實現容易、部署簡單而廣受歡迎,這種方式使用視頻監控系統中存儲服務器上的磁盤組實現系統視頻數據的存儲,并可以簡單地增加磁盤數量實現系統存儲容量的擴充。
視頻監控NAS存儲系統的流媒體數據讀寫方式與其它以小文件應用為主NAS系統的隨機數據讀寫方式有很大不同,以采用D1格式圖像的視頻監控系統為例,每路D1圖像數據流為2Mb/s,一天的視頻記錄需要約50G空間,包含500個攝像頭的系統產生的合并數據流超過100MB/s,達到單塊硬盤的大數據平均讀寫速度,而H.264協議高清視頻數據流在6Mbps以上,因此視頻監控系統存儲系統必須具備很高的容量和讀寫性能,同時,系統存儲容量和磁盤數量的不斷增長,不僅導致存儲服務器的高能耗和散熱問題,還增加了磁盤的故障率。本文針對上述問題設計了一種基于NAS的視頻監控存儲系統GRNAS(GreenNAS),其根據視頻監控數據流的特點來設計數據配置方式,實現NAS視頻存儲的高性能和低能耗。
視頻監控系統是典型的I/O密集型應用,其系統瓶頸是磁盤的I/O性能,由于系統包含成百上千連續工作的攝像頭,磁盤子系統需同時支持多條并發視頻數據流,具有很強的并發大數據塊的讀寫能力。同時,由于系統容量有限,每個磁盤中保存的視頻數據都有時間期限,系統需要不斷循環用新的視頻數據覆蓋舊視頻數據。在經過多次這樣的循環覆蓋,必然產生大量磁盤碎片,降低磁盤的讀寫性能。
針對視頻監控的訪問特性,需要設計一種專門的文件系統通過控制數據在磁盤上的存放位置(布局),減少長期循環覆蓋操作產生文件碎片的可能,以提高磁頭順序訪問數據的速率,同時,盡可能合并視頻數據流,減少處于工作狀態的磁盤數從而降低存儲節點能耗。
節能NAS文件系統(GRNAS)應用于視頻監控文件存儲服務器,其作用是將網絡攝像機的數據存儲服務統一到專門的存儲服務器上,使得分布在網絡上的視頻數據流可以集中存儲。其軟件結構見圖1。
系統采用分層化的程序結構,應用程序管理模塊管理和調度各路攝像頭任務的運行,當攝像頭產生視頻流時,它向GRNAS文件系統發出I/O請求,GRNAS文件系統根據數據布局算法和元數據數據庫記錄決定視頻數據流寫入哪一個磁盤的具體物理位置,本地數據管理模塊進一步決定數據寫人哪一個磁盤,并將視頻流直接傳輸給驅動程序寫入指定硬盤,同時修改該視頻片段的元數據數據庫記錄,GRNAS文件系統和元數據數據庫共同實現視頻流數據的高效磁盤訪問。
3.1 磁盤空間管理

圖1 GRNAS文件系統結構圖
執行一次視頻數據輸入/輸出的磁盤訪問時間TIO由磁頭徑向移動到物理磁道的尋道時間Ts,磁頭旋轉到目標扇區的時間Tr,磁頭讀/寫時間Trw,即:

從上式可知,磁盤的訪問性能直接受制于磁頭定位延遲時間Ts+Tr,磁頭移動距離短和磁盤旋轉時間少的文件需要的訪問時間少,因為物理位置上相鄰磁盤塊的數據讀寫避免了磁頭的頻繁移動從而提高了磁盤的讀寫效率,因此實現磁盤塊順序訪問模式的是提高文件存儲性能的有效方法。
傳統的視頻監控系統的文件存儲方式割裂了文件的邏輯塊與其對應磁盤塊的物理位置之間的關系,當多路視頻流并發寫入磁盤時,視頻數據寫入是無序的狀態,磁頭移動頻繁導致系統性能低下。為了實現視頻數據記錄的磁盤順序訪問,GRNAS系統采用數據庫SQLserver來建立文件邏輯塊與其對應磁盤塊物理位置之間的映射關系并管理視頻文件的元數據,如表1所示。

表1 文件映射分配表
表1記錄了每個視頻文件的創建時間,狀態,對應的物理設備及其磁盤位置信息,系統邏輯卷中的塊編號,并對物理磁盤和磁盤塊按其物理位置進行排序,使得對應磁盤邏輯塊呈單調遞增關系排列,當多路視頻流并發訪問系統時,通過對數據流的有效調度,實現對磁盤的順序訪問,即將隨機的視頻數據I/O請求盡可能轉化為磁盤物理塊的順序I/O響應,從而提高單個磁盤的數據吞吐率。表中還使用文件名表示視頻流編號,并記錄視頻流的時間屬性。
3.2 視頻文件的管理
監控設備產生的視頻數據流是以文件形式存儲于磁盤上,在設備存儲容量有限的情況下,需要通過不斷的文件創建和刪除,實現存儲空間的循環覆蓋使用,對于傳統文件系統如FAT32、NTFS、EXT2等非定長模式文件邏輯塊分配方式,必然產生大量文件碎片,破壞文件訪問的順序性,降低磁盤的數據傳輸率。因此,GRNAS系統采用定長文件模式實現磁盤存儲塊的充分利用,對于每一路視頻數據流都分配相同大小的磁盤塊來保存,每一個視頻文件大小相同,記錄相同時間段的視頻信息,從根本上避免磁盤碎片的產生。其文件數據結構定義如下:

該文件信息包括:視頻設備編號、文件創建時間、數據塊分配狀、磁盤編號、邏輯塊編號態、有效期等。GRNAS視頻存儲設備由多個磁盤組成,可以根據需要控制每一個磁盤的工作狀態,通過減少處于活動狀態的耗能磁盤個數來有效降低系統能耗,這就要滿足高強度視頻I/O負載的服務質量前提下,盡可能提高單個磁盤的數據吞吐率,使得數據訪問集中在少量硬盤上。
假設系統由i個磁盤組成,每個磁盤所能支持的負載量為Ci,系統記錄j路數據流,每路數據流的速率為Sj,系統總的負載需求為Li如下式所示:

從負載的角度看,存儲服務器至少需保持在活動狀態的磁盤個數A如下式所示:

3.3 磁盤調度算法
視頻監控的多路視頻流是并發執行的,若不對數據流邏輯塊序列進行有效的調度,而允許它們無序地并發寫入的話,將破壞數據讀寫的順序訪問性,GRNAS系統設計專門的磁盤調度算法合并并發的多路視頻數據,它以邏輯塊為基本的單元,每一個邏輯塊內可以存儲固定時間圖像幀的視頻數據,同時還保存下一個可寫邏輯塊與前后關聯邏輯塊的地址。由于每一路視頻流數據量較大,每個視頻記錄文件所需要占用n個邏輯磁盤塊,并采用大數據量寫方式,即當數據流達到該n個邏輯塊容量時才一次性寫入磁盤。其存儲單元的數據配置如圖2所示。其中A1、A2、A3為一路視頻流在不同時間段的記錄文件,每個記錄文件又包含n個邏輯塊。

圖2 視頻文件數據配置結構圖
GRNAS系統初次使用前,先要進行初始化,即按照指定大小創立邏輯塊,并創建數據庫文件來維護邏輯塊和物理塊的映射信息,并描述文件的邏輯塊分配信息,包括視頻文件名、創建的時間)、邏輯塊分配狀態等信息,在進行數據存儲時,GRNAS系統首先查詢數據庫表,從表中得到一個空邏輯塊,然后開始寫入操作。若存儲設備空間己滿,用最新的視頻流覆蓋最早的視頻文件。系統運行過程中,GRNAS不斷根據合并數據流的路數和磁盤端口速率計算合并的數據流數量。
現代視頻監控系統以視頻存儲技術為核心,對于大數據量的高清監控數據存儲系統,除了要求具有高并發性能外,還要實現環保節能。本文針對傳統的流媒體存儲割裂文件存儲和磁盤物理塊的關系這一缺陷,采用數據庫進行文件邏輯塊和磁盤物理塊的集中管理,并設計了固定大小的文件長度和克服文件碎片的調度算法。相對于傳統文件系統,大大提高了磁盤數據順序訪問的比率,有效地提高了服務器的支持并發數據流的性能并降低了系統能耗,為后期數據安全、可靠的保存提供了保障。
[1]孫功星,等譯.Marc Farley.SAN存儲區域網絡.北京:機械工業出版,2001:20~23.
[2]G..Gibson et al.File Server Scaling with Network-Attached Secure Disks.ACM SIGMETRICS,June 1997:3~5.
[3]蔡明,任綺年,易劍光.視頻監控系統中的視頻存儲系統的設計與實現[J].江南大學學報自然科學版,2003,2(2):115~118.
[4]駱云志,劉治紅.視頻監控技術發展綜述[J].兵工自動化,2009(1):1~11.
[5]M.Greiffenhagen,D.Comaniciu,H.Niemann,et al.Analysis and Engineering of Vedio Monitoring Systems:An Approach and a Case Study.Proceeding of the IEEE,2001,90(10).
TP277
A
1004-7344(2016)12-0261-02
本文受江西省大學生創新創業項目《綠色多媒體網絡文件服務器》支持(201311504003)。
2016-4-10