基于嵌入式視頻存儲的專用文件系統設計
摘要: 基于嵌入式視頻存儲的特點,分析目前已有的文件系統在視頻應用上的不足,提出了適合硬盤錄像機的專用文件系統設計方案,并從數據存儲、檢索、讀取和恢復等方面闡述了設計思想及具體實現。經過在相關產品上的應用,表明該文件系統可以實現高效、安全的視頻存儲。
本文引用地址:http://www.104case.com/article/151345.htm引言
目前的硬盤錄像機中,基于PC和采集卡的一般采用Windows系統,文件系統則多采用NTFS或FAT32;而嵌入式硬盤錄像機所采用的文件系統則與廠商選擇的嵌入式操作系統及其研發能力有密切的關系。目前嵌入式硬盤錄像機中所采用的嵌入式操作系統有RTOS、pSOS、嵌入式 Linux、VxWorks等,一般也都采用FAT文件系統。
隨著對硬盤錄像機需求的增長,傳統FAT格式的文件系統逐漸顯得有些力不從心,例如讀寫效率低,磁盤容量和分區大小有限制,有文件大小限制,沒有斷電保護功能,文件數據安全性低等。另外,長時間連續覆蓋使用后會存在大量文件碎片,降低磁盤使用率。據不完全統計,硬盤錄像機(DVR)的故障率60%是由硬盤引起的。這些問題在需要高安全性的安防行業顯得尤為重要,特別是當前嵌入式數字硬盤錄像機朝高清和高路數方向發展的趨勢下,需要存儲的數據量倍增,不解決數據存儲的問題就不能滿足相關設備的安全性和穩定性要求。PC系統使用的FAT文件系統,對于長時間錄像產生的大數據包無法管理,只能進行分包,將一段完整的錄像,分為若干個小的文件包,如5、10、30 min自動形成一個文件,或者150 MB、200 MB作為一個文件。這樣容易產生包與包之間丟幀現象。同時,硬盤磁頭需要頻繁地讀寫數據與文件索引,磁頭頻繁跳動,對于每天十幾~24小時連續讀寫硬盤的DVR系統,極易造成硬盤故障。硬盤錄滿后,需要刪除整段文件,但新錄制的文件與老的文件大小不同,由此會在硬盤上產生大量碎片空間,影響硬盤的使用和系統效率。此外,FAT文件系統用做錄像機錄像資料管理還存在兩個風險:一是文件分配表如果損壞,則錄像資料大多會丟失;二是系統突然斷電或遭到人為破壞,當前的錄像數據不能保存和恢復。
錄像監控行業的趨勢是高清晰度和高集成度。高清晰度必然產生更大的數據量,原來一臺硬盤錄像機一般只有4路或8路,對文件系統的要求不是很高。現在16路以上的也已較為普遍,特別是網絡集中存儲方式出現,一臺設備可能需要存儲幾十路甚至上百路的視頻數據,如何可靠、安全、快捷地實現大量視頻數據的存儲和檢索就成為一個亟待解決的突出問題。
為彌補FAT文件系統在媒體數據流存儲領域中的不足之處,本文提出一種適合媒體數據流存儲方式的硬盤管理文件系統,該系統可以高效率地管理整個硬盤,克服FAT文件系統的固有缺陷。
1 理論分析
本文提出的嵌入式視頻專用文件系統的基本原理是把硬盤所有扇區劃分為幾個數據區:文件信息區、索引信息區和數據區。數據區又劃分為若干個數據塊,數據塊的大小可以根據實際情況自由設置。通過文件信息和索引信息來管理數據塊,即相當于把硬盤模擬成傳統的模擬錄像帶,錄像文件長度可從幾s到幾十小時,數據可從幾KB到幾十TB。采用這種硬盤管理方式,克服了FAT系統對長時間錄像管理存在的缺陷。由于數據是連續存儲,因此不存在丟幀或丟數據的情況,并且每個扇區也能實現均衡讀寫,延長硬盤使用壽命;硬盤錄滿后,采用數據塊覆蓋技術,不存在硬盤碎片,也能最大限度保留磁盤的錄像資料。硬盤任何地方的錯誤,不會影響前面或后面的錄像。在突然斷電的情況下,也能保存斷電前瞬間的圖像。同時,原始錄像資料盤數據與PC不兼容,無法在PC上直接修改和查看,保證原始資料的保密性和安全性。
設計思想是把硬盤記錄數據的扇區劃分為一個一個的數據塊,并通過索引信息(索引塊)為每個數據塊建立索引,快速定位每個錄像文件或某個時間對應的數據塊;通過每個數據塊的鏈表又可以快速定位相關聯的前后數據塊的位置。由于同一個視頻源所產生的視頻數據是嚴格按照時間來錄像的,所以同一個視頻源對應的文件信息、索引信息和數據塊在機制上就保證了嚴格按照時間順序來排序。但由于存在多路視頻和音頻數據,數據的產生和存儲位置是隨機的,所以必須通過索引和鏈表來把這些隨機的數據塊組織成一個個獨立的錄像文件。
2 文件系統結構
對硬盤所有扇區進行了重新劃分,共劃分為5個區域,分別為磁盤信息區、保留信息區、文件信息區、索引信息區、數據區。
通過磁盤信息可以找到文件信息、索引信息、數據區及保留信息區。而通過文件信息又可得到索引信息,從而通過索引信息單元找到數據塊。這些磁盤區域的關聯關系如圖1所示。
圖1 文件系統關系圖
DIY機械鍵盤相關社區:機械鍵盤DIY
評論