基于嵌入式視頻存儲(chǔ)的專用文件系統(tǒng)設(shè)計(jì)
數(shù)據(jù)存儲(chǔ)的流程如圖3所示??梢钥闯?,只要視頻數(shù)據(jù)緩存到一個(gè)數(shù)據(jù)塊的大小時(shí)就可以進(jìn)行一次存盤。例如,數(shù)據(jù)塊大小為64 KB,對(duì)應(yīng)為512 kbps碼率1 s的視頻數(shù)據(jù),也就是緊急斷電等突發(fā)事故中實(shí)際丟失的視頻數(shù)據(jù)最多是一個(gè)數(shù)據(jù)塊的錄像長度。由于突然斷電導(dǎo)致文件信息和索引信息沒有及時(shí)存儲(chǔ),可以在啟動(dòng)的時(shí)候通過掃描沒有形成文件的數(shù)據(jù)塊來進(jìn)行恢復(fù)。即使在最壞的情況下,硬盤的磁盤信息、文件信息及索引信息等都丟失了,完全可以通過掃描所有的數(shù)據(jù)塊來重建整個(gè)文件系統(tǒng),這樣極大提高了數(shù)據(jù)的安全性。由于數(shù)據(jù)塊是順序排列,每個(gè)數(shù)據(jù)塊的讀寫幾率幾乎一致,不會(huì)因?yàn)轭l繁讀寫某一個(gè)硬盤扇區(qū)導(dǎo)致壞道或縮短硬盤使用壽命,也提高了系統(tǒng)和數(shù)據(jù)的可靠性。
3.2 數(shù)據(jù)的讀取
數(shù)據(jù)的讀取可以通過兩種模式進(jìn)行,一種是直接通過文件號(hào)來讀取文件,另一種是通過輸入時(shí)間檢索定位指定的錄像資料。這兩種方式最終都是定位到指定的數(shù)據(jù)塊實(shí)現(xiàn)數(shù)據(jù)的讀取,只要定位了第一個(gè)數(shù)據(jù)塊,就可以根據(jù)數(shù)據(jù)塊的DataBlockInfo來實(shí)現(xiàn)前/后數(shù)據(jù)塊的讀取,還可以通過數(shù)據(jù)塊的時(shí)間戳來實(shí)現(xiàn)高效的快進(jìn)快退等操作。
圖4 數(shù)據(jù)恢復(fù)流程
3.3 數(shù)據(jù)的恢復(fù)
在實(shí)際使用中,不可避免會(huì)出現(xiàn)異常關(guān)機(jī)、斷電、磁盤壞道等問題,本系統(tǒng)中數(shù)據(jù)恢復(fù)的流程如圖4所示。在開機(jī)后首先檢查文件是否正常關(guān)閉。若是則不需要恢復(fù),否則進(jìn)行數(shù)據(jù)恢復(fù)。先讀取數(shù)據(jù)塊信息,然后檢驗(yàn)數(shù)據(jù)塊信息的合法性,合法則更新相應(yīng)信息。
3.4 錄像資料的檢索和精確定位
在本文件系統(tǒng)中,由于文件信息、索引信息和數(shù)據(jù)塊都是嚴(yán)格按照時(shí)間進(jìn)行記錄的,所以可以采用二分法快速查找到指定錄像時(shí)間的錄像文件,再根據(jù)錄像文件信息的錄像開始時(shí)間及索引信息里包含的時(shí)間偏移和地址偏移,就可以快速準(zhǔn)確定位指定錄像時(shí)間的數(shù)據(jù)塊,根據(jù)數(shù)據(jù)塊的幀信息可以準(zhǔn)確定位到某一秒甚至某一幀,這樣就可以實(shí)現(xiàn)快速、準(zhǔn)確的錄像資料檢索。
結(jié)語
本視頻存儲(chǔ)專用文件系統(tǒng)通過對(duì)嵌入式數(shù)字硬盤錄像機(jī)媒體數(shù)據(jù)的特點(diǎn)深入研究和分析,分別從存儲(chǔ)機(jī)制、檢索機(jī)制、讀取機(jī)制和數(shù)據(jù)恢復(fù)機(jī)制等幾個(gè)方面詳細(xì)闡述設(shè)計(jì)思想和具體的實(shí)現(xiàn)方法。經(jīng)過相關(guān)產(chǎn)品的嚴(yán)格測(cè)試和大規(guī)模應(yīng)用,證明此文件系統(tǒng)可以很好地滿足實(shí)際應(yīng)用需求,在數(shù)據(jù)讀寫效率、檢索效率、檢索精確度、數(shù)據(jù)安全性和系統(tǒng)穩(wěn)定性等幾方面都達(dá)到了相應(yīng)指標(biāo),實(shí)現(xiàn)了對(duì)媒體流數(shù)據(jù)高效、安全的存儲(chǔ)。
DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY
評(píng)論