鐘海峰 陳龍 謝雪英 劉偉
(江西警察學(xué)院 江西省南昌市 330100)
視頻監(jiān)控節(jié)能存儲(chǔ)文件系統(tǒng)設(shè)計(jì)
鐘海峰 陳龍 謝雪英 劉偉
(江西警察學(xué)院 江西省南昌市 330100)
基于磁盤的數(shù)字化和網(wǎng)絡(luò)化安放視頻監(jiān)控系統(tǒng)已成為一種趨勢(shì),本文采用NAS方式,針對(duì)視頻監(jiān)控的訪問特性,設(shè)計(jì)專門的數(shù)據(jù)布局方法和磁盤訪問模型,以提高單一磁盤支持并發(fā)視頻流的能力,減少視頻存儲(chǔ)服務(wù)器中處于工作狀態(tài)的磁盤數(shù)從而降低存儲(chǔ)節(jié)點(diǎn)的能耗。
NAS;視頻服務(wù)器;節(jié)能存儲(chǔ)
數(shù)字化、高清化、網(wǎng)絡(luò)化的安防視頻監(jiān)控系統(tǒng)帶來了爆炸式增長(zhǎng)的數(shù)字視頻信息,硬盤以其特有的大容量、高性能、低價(jià)格優(yōu)勢(shì)成為監(jiān)控視頻信息的主要記錄設(shè)備,目前,使用硬盤構(gòu)成大容量磁盤存儲(chǔ)系統(tǒng)成為視頻監(jiān)控系統(tǒng)的核心組成部分,實(shí)現(xiàn)方式分為SAN、NAS和DAS三種,其中的NAS模式因?qū)崿F(xiàn)容易、部署簡(jiǎn)單而廣受歡迎,這種方式使用視頻監(jiān)控系統(tǒng)中存儲(chǔ)服務(wù)器上的磁盤組實(shí)現(xiàn)系統(tǒng)視頻數(shù)據(jù)的存儲(chǔ),并可以簡(jiǎn)單地增加磁盤數(shù)量實(shí)現(xiàn)系統(tǒng)存儲(chǔ)容量的擴(kuò)充。
視頻監(jiān)控NAS存儲(chǔ)系統(tǒng)的流媒體數(shù)據(jù)讀寫方式與其它以小文件應(yīng)用為主NAS系統(tǒng)的隨機(jī)數(shù)據(jù)讀寫方式有很大不同,以采用D1格式圖像的視頻監(jiān)控系統(tǒng)為例,每路D1圖像數(shù)據(jù)流為2Mb/s,一天的視頻記錄需要約50G空間,包含500個(gè)攝像頭的系統(tǒng)產(chǎn)生的合并數(shù)據(jù)流超過100MB/s,達(dá)到單塊硬盤的大數(shù)據(jù)平均讀寫速度,而H.264協(xié)議高清視頻數(shù)據(jù)流在6Mbps以上,因此視頻監(jiān)控系統(tǒng)存儲(chǔ)系統(tǒng)必須具備很高的容量和讀寫性能,同時(shí),系統(tǒng)存儲(chǔ)容量和磁盤數(shù)量的不斷增長(zhǎng),不僅導(dǎo)致存儲(chǔ)服務(wù)器的高能耗和散熱問題,還增加了磁盤的故障率。本文針對(duì)上述問題設(shè)計(jì)了一種基于NAS的視頻監(jiān)控存儲(chǔ)系統(tǒng)GRNAS(GreenNAS),其根據(jù)視頻監(jiān)控?cái)?shù)據(jù)流的特點(diǎn)來設(shè)計(jì)數(shù)據(jù)配置方式,實(shí)現(xiàn)NAS視頻存儲(chǔ)的高性能和低能耗。
視頻監(jiān)控系統(tǒng)是典型的I/O密集型應(yīng)用,其系統(tǒng)瓶頸是磁盤的I/O性能,由于系統(tǒng)包含成百上千連續(xù)工作的攝像頭,磁盤子系統(tǒng)需同時(shí)支持多條并發(fā)視頻數(shù)據(jù)流,具有很強(qiáng)的并發(fā)大數(shù)據(jù)塊的讀寫能力。同時(shí),由于系統(tǒng)容量有限,每個(gè)磁盤中保存的視頻數(shù)據(jù)都有時(shí)間期限,系統(tǒng)需要不斷循環(huán)用新的視頻數(shù)據(jù)覆蓋舊視頻數(shù)據(jù)。在經(jīng)過多次這樣的循環(huán)覆蓋,必然產(chǎn)生大量磁盤碎片,降低磁盤的讀寫性能。
針對(duì)視頻監(jiān)控的訪問特性,需要設(shè)計(jì)一種專門的文件系統(tǒng)通過控制數(shù)據(jù)在磁盤上的存放位置(布局),減少長(zhǎng)期循環(huán)覆蓋操作產(chǎn)生文件碎片的可能,以提高磁頭順序訪問數(shù)據(jù)的速率,同時(shí),盡可能合并視頻數(shù)據(jù)流,減少處于工作狀態(tài)的磁盤數(shù)從而降低存儲(chǔ)節(jié)點(diǎn)能耗。
節(jié)能NAS文件系統(tǒng)(GRNAS)應(yīng)用于視頻監(jiān)控文件存儲(chǔ)服務(wù)器,其作用是將網(wǎng)絡(luò)攝像機(jī)的數(shù)據(jù)存儲(chǔ)服務(wù)統(tǒng)一到專門的存儲(chǔ)服務(wù)器上,使得分布在網(wǎng)絡(luò)上的視頻數(shù)據(jù)流可以集中存儲(chǔ)。其軟件結(jié)構(gòu)見圖1。
系統(tǒng)采用分層化的程序結(jié)構(gòu),應(yīng)用程序管理模塊管理和調(diào)度各路攝像頭任務(wù)的運(yùn)行,當(dāng)攝像頭產(chǎn)生視頻流時(shí),它向GRNAS文件系統(tǒng)發(fā)出I/O請(qǐng)求,GRNAS文件系統(tǒng)根據(jù)數(shù)據(jù)布局算法和元數(shù)據(jù)數(shù)據(jù)庫(kù)記錄決定視頻數(shù)據(jù)流寫入哪一個(gè)磁盤的具體物理位置,本地?cái)?shù)據(jù)管理模塊進(jìn)一步?jīng)Q定數(shù)據(jù)寫人哪一個(gè)磁盤,并將視頻流直接傳輸給驅(qū)動(dòng)程序?qū)懭胫付ㄓ脖P,同時(shí)修改該視頻片段的元數(shù)據(jù)數(shù)據(jù)庫(kù)記錄,GRNAS文件系統(tǒng)和元數(shù)據(jù)數(shù)據(jù)庫(kù)共同實(shí)現(xiàn)視頻流數(shù)據(jù)的高效磁盤訪問。
3.1 磁盤空間管理
圖1 GRNAS文件系統(tǒng)結(jié)構(gòu)圖
執(zhí)行一次視頻數(shù)據(jù)輸入/輸出的磁盤訪問時(shí)間TIO由磁頭徑向移動(dòng)到物理磁道的尋道時(shí)間Ts,磁頭旋轉(zhuǎn)到目標(biāo)扇區(qū)的時(shí)間Tr,磁頭讀/寫時(shí)間Trw,即:
從上式可知,磁盤的訪問性能直接受制于磁頭定位延遲時(shí)間Ts+Tr,磁頭移動(dòng)距離短和磁盤旋轉(zhuǎn)時(shí)間少的文件需要的訪問時(shí)間少,因?yàn)槲锢砦恢蒙舷噜彺疟P塊的數(shù)據(jù)讀寫避免了磁頭的頻繁移動(dòng)從而提高了磁盤的讀寫效率,因此實(shí)現(xiàn)磁盤塊順序訪問模式的是提高文件存儲(chǔ)性能的有效方法。
傳統(tǒng)的視頻監(jiān)控系統(tǒng)的文件存儲(chǔ)方式割裂了文件的邏輯塊與其對(duì)應(yīng)磁盤塊的物理位置之間的關(guān)系,當(dāng)多路視頻流并發(fā)寫入磁盤時(shí),視頻數(shù)據(jù)寫入是無序的狀態(tài),磁頭移動(dòng)頻繁導(dǎo)致系統(tǒng)性能低下。為了實(shí)現(xiàn)視頻數(shù)據(jù)記錄的磁盤順序訪問,GRNAS系統(tǒng)采用數(shù)據(jù)庫(kù)SQLserver來建立文件邏輯塊與其對(duì)應(yīng)磁盤塊物理位置之間的映射關(guān)系并管理視頻文件的元數(shù)據(jù),如表1所示。
表1 文件映射分配表
表1記錄了每個(gè)視頻文件的創(chuàng)建時(shí)間,狀態(tài),對(duì)應(yīng)的物理設(shè)備及其磁盤位置信息,系統(tǒng)邏輯卷中的塊編號(hào),并對(duì)物理磁盤和磁盤塊按其物理位置進(jìn)行排序,使得對(duì)應(yīng)磁盤邏輯塊呈單調(diào)遞增關(guān)系排列,當(dāng)多路視頻流并發(fā)訪問系統(tǒng)時(shí),通過對(duì)數(shù)據(jù)流的有效調(diào)度,實(shí)現(xiàn)對(duì)磁盤的順序訪問,即將隨機(jī)的視頻數(shù)據(jù)I/O請(qǐng)求盡可能轉(zhuǎn)化為磁盤物理塊的順序I/O響應(yīng),從而提高單個(gè)磁盤的數(shù)據(jù)吞吐率。表中還使用文件名表示視頻流編號(hào),并記錄視頻流的時(shí)間屬性。
3.2 視頻文件的管理
監(jiān)控設(shè)備產(chǎn)生的視頻數(shù)據(jù)流是以文件形式存儲(chǔ)于磁盤上,在設(shè)備存儲(chǔ)容量有限的情況下,需要通過不斷的文件創(chuàng)建和刪除,實(shí)現(xiàn)存儲(chǔ)空間的循環(huán)覆蓋使用,對(duì)于傳統(tǒng)文件系統(tǒng)如FAT32、NTFS、EXT2等非定長(zhǎng)模式文件邏輯塊分配方式,必然產(chǎn)生大量文件碎片,破壞文件訪問的順序性,降低磁盤的數(shù)據(jù)傳輸率。因此,GRNAS系統(tǒng)采用定長(zhǎng)文件模式實(shí)現(xiàn)磁盤存儲(chǔ)塊的充分利用,對(duì)于每一路視頻數(shù)據(jù)流都分配相同大小的磁盤塊來保存,每一個(gè)視頻文件大小相同,記錄相同時(shí)間段的視頻信息,從根本上避免磁盤碎片的產(chǎn)生。其文件數(shù)據(jù)結(jié)構(gòu)定義如下:
該文件信息包括:視頻設(shè)備編號(hào)、文件創(chuàng)建時(shí)間、數(shù)據(jù)塊分配狀、磁盤編號(hào)、邏輯塊編號(hào)態(tài)、有效期等。GRNAS視頻存儲(chǔ)設(shè)備由多個(gè)磁盤組成,可以根據(jù)需要控制每一個(gè)磁盤的工作狀態(tài),通過減少處于活動(dòng)狀態(tài)的耗能磁盤個(gè)數(shù)來有效降低系統(tǒng)能耗,這就要滿足高強(qiáng)度視頻I/O負(fù)載的服務(wù)質(zhì)量前提下,盡可能提高單個(gè)磁盤的數(shù)據(jù)吞吐率,使得數(shù)據(jù)訪問集中在少量硬盤上。
假設(shè)系統(tǒng)由i個(gè)磁盤組成,每個(gè)磁盤所能支持的負(fù)載量為Ci,系統(tǒng)記錄j路數(shù)據(jù)流,每路數(shù)據(jù)流的速率為Sj,系統(tǒng)總的負(fù)載需求為L(zhǎng)i如下式所示:
從負(fù)載的角度看,存儲(chǔ)服務(wù)器至少需保持在活動(dòng)狀態(tài)的磁盤個(gè)數(shù)A如下式所示:
3.3 磁盤調(diào)度算法
視頻監(jiān)控的多路視頻流是并發(fā)執(zhí)行的,若不對(duì)數(shù)據(jù)流邏輯塊序列進(jìn)行有效的調(diào)度,而允許它們無序地并發(fā)寫入的話,將破壞數(shù)據(jù)讀寫的順序訪問性,GRNAS系統(tǒng)設(shè)計(jì)專門的磁盤調(diào)度算法合并并發(fā)的多路視頻數(shù)據(jù),它以邏輯塊為基本的單元,每一個(gè)邏輯塊內(nèi)可以存儲(chǔ)固定時(shí)間圖像幀的視頻數(shù)據(jù),同時(shí)還保存下一個(gè)可寫邏輯塊與前后關(guān)聯(lián)邏輯塊的地址。由于每一路視頻流數(shù)據(jù)量較大,每個(gè)視頻記錄文件所需要占用n個(gè)邏輯磁盤塊,并采用大數(shù)據(jù)量寫方式,即當(dāng)數(shù)據(jù)流達(dá)到該n個(gè)邏輯塊容量時(shí)才一次性寫入磁盤。其存儲(chǔ)單元的數(shù)據(jù)配置如圖2所示。其中A1、A2、A3為一路視頻流在不同時(shí)間段的記錄文件,每個(gè)記錄文件又包含n個(gè)邏輯塊。
圖2 視頻文件數(shù)據(jù)配置結(jié)構(gòu)圖
GRNAS系統(tǒng)初次使用前,先要進(jìn)行初始化,即按照指定大小創(chuàng)立邏輯塊,并創(chuàng)建數(shù)據(jù)庫(kù)文件來維護(hù)邏輯塊和物理塊的映射信息,并描述文件的邏輯塊分配信息,包括視頻文件名、創(chuàng)建的時(shí)間)、邏輯塊分配狀態(tài)等信息,在進(jìn)行數(shù)據(jù)存儲(chǔ)時(shí),GRNAS系統(tǒng)首先查詢數(shù)據(jù)庫(kù)表,從表中得到一個(gè)空邏輯塊,然后開始寫入操作。若存儲(chǔ)設(shè)備空間己滿,用最新的視頻流覆蓋最早的視頻文件。系統(tǒng)運(yùn)行過程中,GRNAS不斷根據(jù)合并數(shù)據(jù)流的路數(shù)和磁盤端口速率計(jì)算合并的數(shù)據(jù)流數(shù)量。
現(xiàn)代視頻監(jiān)控系統(tǒng)以視頻存儲(chǔ)技術(shù)為核心,對(duì)于大數(shù)據(jù)量的高清監(jiān)控?cái)?shù)據(jù)存儲(chǔ)系統(tǒng),除了要求具有高并發(fā)性能外,還要實(shí)現(xiàn)環(huán)保節(jié)能。本文針對(duì)傳統(tǒng)的流媒體存儲(chǔ)割裂文件存儲(chǔ)和磁盤物理塊的關(guān)系這一缺陷,采用數(shù)據(jù)庫(kù)進(jìn)行文件邏輯塊和磁盤物理塊的集中管理,并設(shè)計(jì)了固定大小的文件長(zhǎng)度和克服文件碎片的調(diào)度算法。相對(duì)于傳統(tǒng)文件系統(tǒng),大大提高了磁盤數(shù)據(jù)順序訪問的比率,有效地提高了服務(wù)器的支持并發(fā)數(shù)據(jù)流的性能并降低了系統(tǒng)能耗,為后期數(shù)據(jù)安全、可靠的保存提供了保障。
[1]孫功星,等譯.Marc Farley.SAN存儲(chǔ)區(qū)域網(wǎng)絡(luò).北京:機(jī)械工業(yè)出版,2001:20~23.
[2]G..Gibson et al.File Server Scaling with Network-Attached Secure Disks.ACM SIGMETRICS,June 1997:3~5.
[3]蔡明,任綺年,易劍光.視頻監(jiān)控系統(tǒng)中的視頻存儲(chǔ)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].江南大學(xué)學(xué)報(bào)自然科學(xué)版,2003,2(2):115~118.
[4]駱云志,劉治紅.視頻監(jiān)控技術(shù)發(fā)展綜述[J].兵工自動(dòng)化,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
本文受江西省大學(xué)生創(chuàng)新創(chuàng)業(yè)項(xiàng)目《綠色多媒體網(wǎng)絡(luò)文件服務(wù)器》支持(201311504003)。
2016-4-10