1.概述
隨著城市化進(jìn)程的推進(jìn),作為一種重要的安防系統(tǒng),網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)以其直觀、實(shí)時(shí)和信息量大等特點(diǎn),廣泛應(yīng)用于交通、金融和電力等眾多領(lǐng)域。為保證系統(tǒng)的實(shí)時(shí)性和可靠性,對海量視頻數(shù)據(jù)進(jìn)行高效、可靠存儲(chǔ)和實(shí)時(shí)、有效的訪問成為系統(tǒng)開發(fā)的一個(gè)重要方面。目前視頻監(jiān)控系統(tǒng)的錄像存儲(chǔ)通常具有以下特性:(1)編碼格式固定:采用H.264/AVC(Advanced Video Coding)標(biāo)準(zhǔn)對圖像數(shù)據(jù)進(jìn)行實(shí)時(shí)編碼,獲得穩(wěn)定、優(yōu)質(zhì)的視頻數(shù)據(jù)流;(2)錄像數(shù)據(jù)集中存儲(chǔ):通過互聯(lián)網(wǎng)小型計(jì)算機(jī)接口(Internet SmallComputer System Interface, ISCSI)協(xié)議對視頻數(shù)據(jù)幀進(jìn)行封裝并傳輸至存儲(chǔ)區(qū)域網(wǎng)絡(luò)(Storage Area Network, SAN)進(jìn)行集中文件方式存儲(chǔ),保證數(shù)據(jù)存儲(chǔ)的可靠性。由于傳統(tǒng)文件系統(tǒng)(NTFS, EXT3 等)采用基于多級指針的數(shù)據(jù)存儲(chǔ)模式,在存儲(chǔ)視頻數(shù)據(jù)時(shí)具有I/O 操作量大和易產(chǎn)生磁盤“碎片”等問題,從而導(dǎo)致錄像存儲(chǔ)效率低和檢索性能差,成為系統(tǒng)性能及規(guī)模提升的瓶頸。本文針對傳統(tǒng)文件系統(tǒng)存儲(chǔ)方案的缺陷,并根據(jù)網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的錄像存儲(chǔ)特性,提出一種專用于網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的基于裸磁盤設(shè)備的存儲(chǔ)方案。
2.基于裸磁盤設(shè)備的存儲(chǔ)方案設(shè)計(jì)
本文基于裸磁盤設(shè)備設(shè)計(jì)了一種專用于視頻監(jiān)控系統(tǒng)的存儲(chǔ)方案,方案總體設(shè)計(jì)結(jié)構(gòu)如圖1 所示。本文方案主要由磁盤邏輯存儲(chǔ)結(jié)構(gòu)、基于B+樹的錄像段索引信息管理和基于GOP 的數(shù)據(jù)緩存機(jī)制3 個(gè)部分組成。方案在將磁盤從邏輯上分為索引區(qū)與數(shù)據(jù)區(qū)的基礎(chǔ)上,基于GOP 設(shè)計(jì)了視頻數(shù)據(jù)緩存(Video Data Buffer, VDB)和索引數(shù)據(jù)緩存(Index Data Buffer, IDB),在錄像存儲(chǔ)時(shí),將視頻數(shù)據(jù)及其索引信息先保存在VDB 和IDB 中,當(dāng)緩存區(qū)被寫滿時(shí),以GOP 為單位,采用先數(shù)據(jù)、后索引的機(jī)制將緩存中的數(shù)據(jù)一次性寫入磁盤,同時(shí)對B+樹中相應(yīng)的錄像段信息節(jié)點(diǎn)進(jìn)行更新。由于在網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)中采用網(wǎng)絡(luò)磁盤進(jìn)行數(shù)據(jù)存儲(chǔ),因此該方案可有效地減少網(wǎng)絡(luò)傳輸與磁盤I/O 的數(shù)量,從而提高錄像存儲(chǔ)效率。
圖1 方案總體設(shè)計(jì)結(jié)構(gòu)
方案采用B+樹對錄像信息進(jìn)行組織管理,因此錄像段信息更新和錄像檢索過程即B+樹的深度搜索過程。該過程的檢索代價(jià)為樹深度L,明顯優(yōu)于文件系統(tǒng)中文件遍歷的代價(jià)。因此,較之傳統(tǒng)的文件系統(tǒng)方案,本文方案有效提升了錄像檢索性能。
3.方案實(shí)現(xiàn)方法
3.1 磁盤邏輯存儲(chǔ)結(jié)構(gòu)
本文方案根據(jù)視頻監(jiān)控系統(tǒng)的數(shù)據(jù)存儲(chǔ)特點(diǎn),摒棄了文件的概念,設(shè)計(jì)了一種磁盤邏輯存儲(chǔ)結(jié)構(gòu),所有數(shù)據(jù)均以此結(jié)構(gòu)為基礎(chǔ)按格式進(jìn)行組織并直接存儲(chǔ)于裸磁盤設(shè)備中,該結(jié)構(gòu)如圖2 所示。
圖2 磁盤邏輯存儲(chǔ)結(jié)構(gòu)
磁盤從邏輯上分為超級塊、主索引區(qū)和數(shù)據(jù)區(qū)3 個(gè)部分。其存儲(chǔ)內(nèi)容具體如下:
(1)超級塊:記錄了系統(tǒng)的全局存儲(chǔ)管理信息,包括創(chuàng)建時(shí)間、數(shù)據(jù)塊大小、主索引樹的根節(jié)點(diǎn)位置和分段時(shí)長等,在磁盤格式化時(shí)寫入。
(2)主索引區(qū):由一組索引節(jié)點(diǎn)組成,所有節(jié)點(diǎn)按B+樹結(jié)構(gòu)進(jìn)行組織。樹節(jié)點(diǎn)由若干個(gè)主索引信息組成,每個(gè)主索引代表一個(gè)錄像段。主索引中記錄了錄像段的碼流類型、起始GOP 存儲(chǔ)位置、GOP 數(shù)量、錄像段開始時(shí)間和結(jié)束時(shí)間等信息,其結(jié)構(gòu)如圖3所示。
圖3 主索引結(jié)構(gòu)
(3)數(shù)據(jù)區(qū):等分為若干個(gè)大小為64 MB 的數(shù)據(jù)塊,末尾不足一個(gè)數(shù)據(jù)塊的部分保留不用。每個(gè)數(shù)據(jù)塊由4×1024 個(gè)16 KB 大小的數(shù)據(jù)單元(block)組成,分為次索引區(qū)和數(shù)據(jù)單元區(qū)。為了減少數(shù)據(jù)存儲(chǔ)過程中磁頭移動(dòng)的距離、提高存儲(chǔ)效率,方案將所有次索引均勻分布在各個(gè)數(shù)據(jù)塊中,分別占用4個(gè)block,用于記錄本數(shù)據(jù)塊組中GOP 的存儲(chǔ)信息。每個(gè)次索引對應(yīng)一個(gè)GOP,記錄了GOP 的數(shù)據(jù)類型、編碼格式、GOP 數(shù)據(jù)在磁盤中的起始block 編號、block 數(shù)量和GOP 時(shí)間戳等信息,其結(jié)構(gòu)如圖4所示。
圖4 次索引結(jié)構(gòu)
上述磁盤邏輯存儲(chǔ)結(jié)構(gòu)為本文存儲(chǔ)方案的基礎(chǔ),方案設(shè)計(jì)了索引與數(shù)據(jù)分離、分級錄像索引及數(shù)據(jù)結(jié)構(gòu)化存儲(chǔ)等方法,保證了錄像存儲(chǔ)的高效性與精確性,為存儲(chǔ)效率和檢索性能的提高打下基礎(chǔ);诒疚拇鎯(chǔ)結(jié)構(gòu),錄像的存儲(chǔ)與回放流程描述如下。
錄像存儲(chǔ)流程如下:
Step1 將視頻數(shù)據(jù)以GOP 為單位按block 對齊寫入數(shù)據(jù)區(qū);
Step2 寫入GOP 對應(yīng)的次索引;
Step3 更新對應(yīng)錄像段的主索引;
Step4 更新超級塊信息。
錄像回放流程如下:
Step1 檢索索引B+樹獲取錄像段的主索引;
Step2 通過主索引定位出錄像段的次索引區(qū)間;
Step3 根據(jù)次索引找出錄像段的視頻數(shù)據(jù)存儲(chǔ)block區(qū)間;
Step4 以GOP 為單位讀出錄像段視頻數(shù)據(jù)。
3.2 基于B+樹的錄像段索引信息管理
為提升系統(tǒng)在海量存儲(chǔ)中的錄像檢索性能,本文方案采用B+樹對錄像段索引信息進(jìn)行組織管理。B+樹是B樹的一種變體,一棵深度為L 的m 階B+樹的最大關(guān)鍵字?jǐn)?shù)量為mL,樹中的每個(gè)內(nèi)部節(jié)點(diǎn)最多可包含m 棵子樹,子樹數(shù)量與關(guān)鍵字?jǐn)?shù)量相等,節(jié)點(diǎn)搜索時(shí)間復(fù)雜度為O(L)。每個(gè)關(guān)鍵字對應(yīng)一個(gè)指向孩子節(jié)點(diǎn)的指針,葉節(jié)點(diǎn)包含了樹中全部關(guān)鍵字信息。
本文方案中的B+樹用于組織所有主索引信息,其根節(jié)點(diǎn)位置記錄在超級塊中,并以錄像段的開始時(shí)間作為索引鍵值,所有主索引信息均可從葉子節(jié)點(diǎn)中獲取,以提供錄像的快速檢索。圖5為B+樹及其節(jié)點(diǎn)結(jié)構(gòu)。
圖5 B+樹及其節(jié)點(diǎn)結(jié)構(gòu)
樹中的每個(gè)節(jié)點(diǎn)由4個(gè)部分組成,其中,keyNum記錄了節(jié)點(diǎn)中的實(shí)際主索引數(shù)量,最大取值為25;main_index和children_pointer 分別保存了主索引信息及其對應(yīng)的孩子節(jié)點(diǎn)指針; reserved 為保留字段, 使節(jié)點(diǎn)在空間上按1024 Byte 對齊,以提高磁盤I/O 的效率。
在檢索開始時(shí),先從超級塊中獲取B+樹的根節(jié)點(diǎn)位置,通過遍歷關(guān)鍵字找出一條從根節(jié)點(diǎn)到葉節(jié)點(diǎn)的符合檢索時(shí)間條件的檢索路徑,得到相應(yīng)的錄像段。假設(shè)B+樹中保存的主索引總數(shù)為N,階為m,樹的深度為L,從磁盤中讀取一個(gè)內(nèi)部節(jié)點(diǎn)的代價(jià)為Cr,在內(nèi)存中遍歷一個(gè)內(nèi)部節(jié)點(diǎn)中的所有主索引信息的代價(jià)為Dr,則一次錄像檢索的代價(jià)Q=L×(Cr+Dr),其中,Cr 與Dr 均可近似為常量且Dr<<Cr;而在文件系統(tǒng)中,錄像檢索時(shí)需要進(jìn)行錄像文件遍歷,其一次錄像檢索代價(jià)Q’=N×Rr,其中,Rr 為從磁盤中讀取一個(gè)錄像文件頭部的代價(jià),與Cr 近似相等。由B+樹的性質(zhì)可知L≈logmN,因此相比于文件系統(tǒng),本文方案明顯提升了錄像檢索性能。
此外,本文方案通過主索引定位至次索引實(shí)現(xiàn)視頻數(shù)據(jù)的秒級檢索,檢索代價(jià)為常量時(shí)間復(fù)雜度O(1),而文件系統(tǒng)則需要讀取錄像文件并遍歷錄像文件的內(nèi)容,需進(jìn)行多次磁盤I/O,其帶來的檢索代價(jià)呈線性增長。因此,本文方案在錄像檢索性能上相對于文件系統(tǒng)的錄像存儲(chǔ)方案具有明顯提高。
3.3 基于GOP 的數(shù)據(jù)緩存機(jī)制
基于GOP 的數(shù)據(jù)緩存分為VDB 和IDB 2 個(gè)部分,其中,VDB 用于緩存視頻數(shù)據(jù),IDB 用于緩存視頻GOP 對應(yīng)的索引信息。VDB 以GOP 為單位進(jìn)行組建,組建完成后一次性寫入磁盤。在H.264 標(biāo)準(zhǔn)中,一個(gè)GOP 由一個(gè)I 幀與若干P 幀組成,為保證GOP 中各幀的完整性和相鄰幀之間的獨(dú)立性,本機(jī)制在每幀前后各添加一個(gè)2 Byte 大小的魔數(shù),分別稱為MAGIC_HEAD 和MAGIC_TAIL,在達(dá)到數(shù)據(jù)校驗(yàn)效果的同時(shí),也為單獨(dú)提取視頻幀提供了實(shí)現(xiàn)方法。圖6為VDB 緩存的組建格式。
圖6 VDB緩存組建格式
如圖6所示,VDB 緩存由幀頭部(Head)、幀數(shù)據(jù)(Frame)和魔數(shù)(MH 和MT)3 個(gè)部分組成。基于本文方案中的磁盤邏輯存儲(chǔ)結(jié)構(gòu),數(shù)據(jù)組織的最小單位為block,因此,在內(nèi)存中組建的VDB 緩存大小為block 大小的整數(shù)倍,其計(jì)算方法如下所示:
其中,BR 為視頻碼率;ML 為魔數(shù)長度;HS 為視頻幀幀頭部大。籉R 為幀率;BS 為磁盤結(jié)構(gòu)中數(shù)據(jù)單元的大小。除BR 單位為bit/s 之外,其余參數(shù)的單位均為Byte。
基于GOP 的緩存機(jī)制在保證視頻存儲(chǔ)可靠性的基礎(chǔ)上,可有效地減少網(wǎng)絡(luò)傳輸與磁盤I/O 的數(shù)量,獲得存儲(chǔ)效率的提高。同時(shí),在該機(jī)制中還維護(hù)了一個(gè)由n 個(gè)次索引組成的IDB 緩存與VDB 緩存相對應(yīng),并采用先數(shù)據(jù)、后索引,先次索引、后主索引的寫入策略進(jìn)行錄像存儲(chǔ)。基于該寫入策略,本文方案設(shè)計(jì)了一種錄像重建機(jī)制。當(dāng)系統(tǒng)出現(xiàn)異常時(shí),如編碼器異常斷電或網(wǎng)絡(luò)中斷等,該重建機(jī)制可在異;謴(fù)后,根據(jù)錄像數(shù)據(jù)重建次索引、根據(jù)次索引重建主索引,最大限度地減少錄像丟失,消除數(shù)據(jù)緩存所帶來的數(shù)據(jù)與索引的非一致性問題,提升系統(tǒng)的容錯(cuò)性。
4.測試與結(jié)果分析
為驗(yàn)證方案的有效性,本文以實(shí)際網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)作為測試平臺(tái),對錄像存儲(chǔ)效率和錄像檢索性能進(jìn)行測試。圖7 為網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的總體架構(gòu)。
圖7 網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)總體架構(gòu)
系統(tǒng)由IP 攝像機(jī)、事務(wù)管理中心、視頻點(diǎn)播服務(wù)器和存儲(chǔ)服務(wù)器等設(shè)備組成,所有設(shè)備通過一個(gè)H3C 5500 千兆以太網(wǎng)交換機(jī)互聯(lián)。各個(gè)設(shè)備的配置信息與功能如表1所示。
表1 網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的設(shè)備配置與功能
測試時(shí)通過事務(wù)管理中心在IPSAN 上創(chuàng)建一個(gè)10 GB的邏輯卷,并通過ISCSI 映射給IP攝像機(jī)和視頻點(diǎn)播服務(wù)器,后者可通過ISCSI 協(xié)議登錄至IPSAN 并將該邏輯卷驅(qū)動(dòng)成本地SCSI 硬盤。錄像的讀寫與檢索均基于此硬盤完成。
(1)存儲(chǔ)效率測試與分析
本文選取512 Kb/s、1 Mb/s、2 Mb/s、4 Mb/s 和8 Mb/s等5 種視頻碼率按Write-Through 寫入方式分別對傳統(tǒng)的文件系統(tǒng)(選用EXT3)與本文方案進(jìn)行存儲(chǔ)效率測試,通過記錄連續(xù)寫入1GB 視頻數(shù)據(jù)的耗時(shí)計(jì)算平均存儲(chǔ)帶寬,得出錄像存儲(chǔ)效率對比曲線如圖8所示。
圖8 錄像存儲(chǔ)效率對比曲線
在網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)中,數(shù)據(jù)網(wǎng)絡(luò)傳輸與磁盤讀寫I/O是限制錄像存儲(chǔ)效率的最主要因素。相比于文件系統(tǒng),本文方案中錄像存儲(chǔ)均基于裸磁盤設(shè)備,且以GOP 為單位進(jìn)行數(shù)據(jù)緩存,可有效減少數(shù)據(jù)網(wǎng)絡(luò)傳輸與磁盤I/O 的次數(shù),且在等數(shù)據(jù)量下,碼率越小,減少次數(shù)越多,存儲(chǔ)效率提升幅度越大。目前視頻監(jiān)控系統(tǒng)在實(shí)際使用中,為節(jié)省存儲(chǔ)資源節(jié)約成本,通常采用512 Kb/s 或1 Mb/s 的低碼率進(jìn)行錄像存儲(chǔ),通過分析圖8 中的曲線可知,在此2 種碼率下的存儲(chǔ)效率相比于文件系統(tǒng)分別提升了43.6%和30.3%,提升效果極為明顯。
(2)檢索性能測試與分析
選取碼率為1 Mb/s 的視頻分別以本文方案和文件系統(tǒng)進(jìn)行連續(xù)錄像720h后,從中隨機(jī)選取100個(gè)時(shí)間點(diǎn)(精確到秒)對2 種方案的錄像進(jìn)行秒級錄像檢索(即GOP 檢索),根據(jù)每次檢索耗時(shí)得出檢索性能對比曲線,如圖9 所示。從圖9中的曲線可以看出,本文方案的錄像檢索耗時(shí)保持在25 ms~35 ms之間,近似于常量值;而基于文件系統(tǒng)方案的錄像檢索耗時(shí)隨著GOP在錄像段中的位置增大呈線性增
長。因此,本文方案相對于文件系統(tǒng)明顯提高了錄像檢索性能。
圖9 錄像檢索性能對比曲線
5.結(jié)束語
本文針對文件系統(tǒng)的錄像存儲(chǔ)方案的缺陷,結(jié)合網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的錄像存儲(chǔ)特點(diǎn),提出了一種基于裸磁盤設(shè)備的錄像存儲(chǔ)方案。設(shè)計(jì)一種索引與數(shù)據(jù)分離、分級錄像索引及數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)化的磁盤邏輯存儲(chǔ)結(jié)構(gòu),其中采用B+樹管理錄像段索引信息,并基于此結(jié)構(gòu)給出了一種基于GOP 的數(shù)據(jù)緩存機(jī)制。在實(shí)際系統(tǒng)環(huán)境中的測試結(jié)果表明,在監(jiān)控系統(tǒng)的512 Kb/s 和1 Mb/s 典型存儲(chǔ)碼率下,本文方案相比于文件系統(tǒng)的錄像存儲(chǔ)效率分別提升了43.6%和30.3%;而在錄像檢索性能上,本文方案具有常量時(shí)間復(fù)雜度,檢索耗時(shí)保持在25 ms~35 ms 之間,相比于文件系統(tǒng)的線性時(shí)間復(fù)雜度具有良好的優(yōu)化效果。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:一種網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的專用存儲(chǔ)方案
本文網(wǎng)址:http://www.ezxoed.cn/html/support/11121512858.html