當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導讀]引言目前的硬盤錄像機中,基于PC和采集卡的一般采用Windows系統(tǒng),文件系統(tǒng)則多采用NTFS或FAT32;而嵌入式硬盤錄像機所采用的文件系統(tǒng)則與廠商選擇的嵌入式操作系統(tǒng)及其研發(fā)能

引言

目前的硬盤錄像機中,基于PC和采集卡的一般采用Windows系統(tǒng),文件系統(tǒng)則多采用NTFS或FAT32;而嵌入式硬盤錄像機所采用的文件系統(tǒng)則與廠商選擇的嵌入式操作系統(tǒng)及其研發(fā)能力有密切的關系。目前嵌入式硬盤錄像機中所采用的嵌入式操作系統(tǒng)有RTOS、pSOS、嵌入式 Linux、VxWorks等,一般也都采用FAT文件系統(tǒng)。

隨著對硬盤錄像機需求的增長,傳統(tǒng)FAT格式的文件系統(tǒng)逐漸顯得有些力不從心,例如讀寫效率低,磁盤容量和分區(qū)大小有限制,有文件大小限制,沒有斷電保護功能,文件數據安全性低等。另外,長時間連續(xù)覆蓋使用后會存在大量文件碎片,降低磁盤使用率。據不完全統(tǒng)計,硬盤錄像機(DVR)的故障率60%是由硬盤引起的。這些問題在需要高安全性的安防行業(yè)顯得尤為重要,特別是當前嵌入式數字硬盤錄像機朝高清和高路數方向發(fā)展的趨勢下,需要存儲的數據量倍增,不解決數據存儲的問題就不能滿足相關設備的安全性和穩(wěn)定性要求。PC系統(tǒng)使用的FAT文件系統(tǒng),對于長時間錄像產生的大數據包無法管理,只能進行分包,將一段完整的錄像,分為若干個小的文件包,如5、10、30 min自動形成一個文件,或者150 MB、200 MB作為一個文件。這樣容易產生包與包之間丟幀現象。同時,硬盤磁頭需要頻繁地讀寫數據與文件索引,磁頭頻繁跳動,對于每天十幾~24小時連續(xù)讀寫硬盤的 DVR系統(tǒng),極易造成硬盤故障。硬盤錄滿后,需要刪除整段文件,但新錄制的文件與老的文件大小不同,由此會在硬盤上產生大量碎片空間,影響硬盤的使用和系統(tǒng)效率。此外,FAT文件系統(tǒng)用做錄像機錄像資料管理還存在兩個風險:一是文件分配表如果損壞,則錄像資料大多會丟失;二是系統(tǒng)突然斷電或遭到人為破壞,當前的錄像數據不能保存和恢復。

錄像監(jiān)控行業(yè)的趨勢是高清晰度和高集成度。高清晰度必然產生更大的數據量,原來一臺硬盤錄像機一般只有4路或8路,對文件系統(tǒng)的要求不是很高?,F在16路以上的也已較為普遍,特別是網絡集中存儲方式出現,一臺設備可能需要存儲幾十路甚至上百路的視頻數據,如何可靠、安全、快捷地實現大量視頻數據的存儲和檢索就成為一個亟待解決的突出問題。

為彌補FAT文件系統(tǒng)在媒體數據流存儲領域中的不足之處,本文提出一種適合媒體數據流存儲方式的硬盤管理文件系統(tǒng),該系統(tǒng)可以高效率地管理整個硬盤,克服FAT文件系統(tǒng)的固有缺陷。

1 理論分析

本文提出的嵌入式視頻專用文件系統(tǒng)的基本原理是把硬盤所有扇區(qū)劃分為幾個數據區(qū):文件信息區(qū)、索引信息區(qū)和數據區(qū)。數據區(qū)又劃分為若干個數據塊,數據塊的大小可以根據實際情況自由設置。通過文件信息和索引信息來管理數據塊,即相當于把硬盤模擬成傳統(tǒng)的模擬錄像帶,錄像文件長度可從幾s到幾十小時,數據可從幾KB到幾十TB。采用這種硬盤管理方式,克服了FAT系統(tǒng)對長時間錄像管理存在的缺陷。由于數據是連續(xù)存儲,因此不存在丟幀或丟數據的情況,并且每個扇區(qū)也能實現均衡讀寫,延長硬盤使用壽命;硬盤錄滿后,采用數據塊覆蓋技術,不存在硬盤碎片,也能最大限度保留磁盤的錄像資料。硬盤任何地方的錯誤,不會影響前面或后面的錄像。在突然斷電的情況下,也能保存斷電前瞬間的圖像。同時,原始錄像資料盤數據與PC不兼容,無法在PC上直接修改和查看,保證原始資料的保密性和安全性。

設計思想是把硬盤記錄數據的扇區(qū)劃分為一個一個的數據塊,并通過索引信息(索引塊)為每個數據塊建立索引,快速定位每個錄像文件或某個時間對應的數據塊;通過每個數據塊的鏈表又可以快速定位相關聯的前后數據塊的位置。由于同一個視頻源所產生的視頻數據是嚴格按照時間來錄像的,所以同一個視頻源對應的文件信息、索引信息和數據塊在機制上就保證了嚴格按照時間順序來排序。但由于存在多路視頻和音頻數據,數據的產生和存儲位置是隨機的,所以必須通過索引和鏈表來把這些隨機的數據塊組織成一個個獨立的錄像文件。

2 文件系統(tǒng)結構

對硬盤所有扇區(qū)進行了重新劃分,共劃分為5個區(qū)域,分別為磁盤信息區(qū)、保留信息區(qū)、文件信息區(qū)、索引信息區(qū)、數據區(qū)。

通過磁盤信息可以找到文件信息、索引信息、數據區(qū)及保留信息區(qū)。而通過文件信息又可得到索引信息,從而通過索引信息單元找到數據塊。這些磁盤區(qū)域的關聯關系如圖1所示。

 

2.1 磁盤信息區(qū)

磁盤信息區(qū)的位置固定,用于保存當前磁盤信息和文件系統(tǒng)基本信息,如記錄每個區(qū)域的具體位置和大小、信息區(qū)的使用情況、最后數據塊位置等。下面為典型的磁盤信息結構:

typedef STruct {

UInt32 Formatted;/*格式化標志*/

UInt32 DBN_Num;/*總數據塊數*/

UInt32 DBN_Size;/*數據塊的大小*/

UInt32 DBN_Begin;/*當前可用數據塊開始地址*/

UInt32 CurrentFAT;/*當前所用的分區(qū)*/

UInt32 OtherInfoBlockAddr; /*保留信息區(qū)開始扇區(qū)*/

UInt32 OtherInfoBlockSize;/*保留信息區(qū)大小*/

UInt32 FileInfoBlockAddr[2][MAX_CHANNEL]; /*文件信息塊開始扇區(qū)*/

UInt32 FileInfoBlockSize;/*文件信息區(qū)大小*/

UInt32 IndexInfoBlockAddr[2][ MAX_CHANNEL];/*索引信息塊開始扇區(qū)*/

UInt32 IndexInfoBlockSize;/*索引信息區(qū)大小*/

} DiskInfo;

2.2 保留信息區(qū)

保留信息區(qū)用于保存其他系統(tǒng)信息,如操作日志信息、系統(tǒng)設置信息等,此區(qū)域大小可自由設定。

2.3 文件信息區(qū)

文件信息區(qū)用于保存錄像文件的文件信息,如錄像開始和結束時間,第一個數據塊和最后一個數據塊的位置,索引信息的位置和其他文件信息。每個文件的數據結構和大小固定。通過文件序號就可以準確定位文件信息的具體位置。

文件信息區(qū)分兩個部分,分別為分區(qū)一和分區(qū)二,用于描述覆蓋前的文件信息和覆蓋后的文件信息。每個分區(qū)根據最大文件數按錄像路數順序分配存儲空間。

每個文件信息包含以下信息:文件開始時間和結束時間,文件開始索引塊地址和結束索引塊地址,文件開始數據塊地址和結束數據塊地址等。下面為典型的文件信息結構:

typedef struct {

UInt32 FileID;/*文件序號*/

time_t FileStartTime;/*錄像開始時間*/[!--empirenews.page--]

time_t FileEndTime;/*錄像結束時間*/

UInt32 FileStartDBN;/*文件開始DBN*/

UInt32 FileEndDBN;/*文件結束DBN*/

IndexInfoAddr IndexInfoStart;/*索引信息開始地址*/

IndexInfoAddr IndexInfoEnd;/*索引信息結束地址*/

} FileInfo;

2.4 索引信息區(qū)

索引信息區(qū)用于保存錄像文件所使用數據塊的索引信息。索引信息也分為兩部分,分別為分區(qū)一和分區(qū)二,用于描述覆蓋前和覆蓋后的索引信息。每個分區(qū)根據最大文件數按錄像路數順序分配存儲空間。

每個錄像文件至少需要使用一個索引塊,每個索引塊包含N個索引信息,一個數據塊對應一個索引信息。每個索引信息描述下一個數據塊的物理偏離和時間偏移,每個索引塊描述本索引塊所描述第一個數據塊的物理地址和時間偏移。典型的數據結構如下:

typedef struct {

UInt8 TimeOffset;/*與上一個數據塊的時間偏移*/

UInt8 DBNOffset;/*與上一個數據塊的物理偏移*/

} IndexInfo; /*索引信息*/

typedef struct {

UInt16 BeginDBN;/*本索引塊的起始數據塊地址*/

UInt16 TimeOffset;/*本索引塊與上一個索引塊的時間偏移*/

IndexInfo IndexInfo[N];

} IndexBlockInfo; /*索引塊信息,包含N個索引信息*/

2.5 數據區(qū)

數據區(qū)是指整個磁盤空間除了用于以上文件系統(tǒng)開銷外的所有空間,重新劃分為若干個數據塊,數據塊的大小可以自由設置。數據塊是指錄像數據保存的最小單元,一般以32~512 KB之間為宜,每個數據塊的頭部保留幾個字節(jié)用于保存本數據塊的時間戳和相關數據塊的地址偏移。

文件系統(tǒng)在使用前需要獲取磁盤的容量和可使用扇區(qū)的大小,并定義一個最大文件數。由于文件信息和索引信息需要占用一定的磁盤空間,并且與最大文件數密切相關,在實際使用時定義一個最小文件的大小,并通過磁盤容量得到一個固定的最大文件數,這樣文件信息和索引信息所占用的磁盤空間在整個磁盤中只占很小的比例。

3 系統(tǒng)實現

3.1 數據的存儲

數據的存儲過程比較簡單,創(chuàng)建文件的時候系統(tǒng)自動分配一個唯一的文件號,并通過文件號進行計算得到文件信息和索引信息對應的磁盤地址。當有足夠一個數據塊大小的數據時打包并保存到當前可以使用的數據塊,同時更新文件信息和索引信息。

數據存儲的流程如圖3所示??梢钥闯觯灰曨l數據緩存到一個數據塊的大小時就可以進行一次存盤。例如,數據塊大小為64 KB,對應為512 kbps碼率1 s的視頻數據,也就是緊急斷電等突發(fā)事故中實際丟失的視頻數據最多是一個數據塊的錄像長度。由于突然斷電導致文件信息和索引信息沒有及時存儲,可以在啟動的時候通過掃描沒有形成文件的數據塊來進行恢復。即使在最壞的情況下,硬盤的磁盤信息、文件信息及索引信息等都丟失了,完全可以通過掃描所有的數據塊來重建整個文件系統(tǒng),這樣極大提高了數據的安全性。由于數據塊是順序排列,每個數據塊的讀寫幾率幾乎一致,不會因為頻繁讀寫某一個硬盤扇區(qū)導致壞道或縮短硬盤使用壽命,也提高了系統(tǒng)和數據的可靠性。

3.2 數據的讀取

數據的讀取可以通過兩種模式進行,一種是直接通過文件號來讀取文件,另一種是通過輸入時間檢索定位指定的錄像資料。這兩種方式最終都是定位到指定的數據塊實現數據的讀取,只要定位了第一個數據塊,就可以根據數據塊的DataBlockInfo來實現前/后數據塊的讀取,還可以通過數據塊的時間戳來實現高效的快進快退等操作。

 

3.3 數據的恢復

在實際使用中,不可避免會出現異常關機、斷電、磁盤壞道等問題,本系統(tǒng)中數據恢復的流程如圖4所示。在開機后首先檢查文件是否正常關閉。若是則不需要恢復,否則進行數據恢復。先讀取數據塊信息,然后檢驗數據塊信息的合法性,合法則更新相應信息。

3.4 錄像資料的檢索和精確定位

在本文件系統(tǒng)中,由于文件信息、索引信息和數據塊都是嚴格按照時間進行記錄的,所以可以采用二分法快速查找到指定錄像時間的錄像文件,再根據錄像文件信息的錄像開始時間及索引信息里包含的時間偏移和地址偏移,就可以快速準確定位指定錄像時間的數據塊,根據數據塊的幀信息可以準確定位到某一秒甚至某一幀,這樣就可以實現快速、準確的錄像資料檢索。

結語

本視頻存儲專用文件系統(tǒng)通過對嵌入式數字硬盤錄像機媒體數據的特點深入研究和分析,分別從存儲機制、檢索機制、讀取機制和數據恢復機制等幾個方面詳細闡述設計思想和具體的實現方法。經過相關產品的嚴格測試和大規(guī)模應用,證明此文件系統(tǒng)可以很好地滿足實際應用需求,在數據讀寫效率、檢索效率、檢索精確度、數據安全性和系統(tǒng)穩(wěn)定性等幾方面都達到了相應指標,實現了對媒體流數據高效、安全的存儲。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯合牽頭組建的NVI技術創(chuàng)新聯盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯...

關鍵字: VI 傳輸協議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉