Dvr終端上的fat文件系統(tǒng)自動(dòng)修復(fù)方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及一種DVR終端上的FAT文件系統(tǒng)自動(dòng)修復(fù)方法。
【背景技術(shù)】
[0002]DVR:Digital Video Recorder,即數(shù)字視頻錄像機(jī)。相對(duì)于傳統(tǒng)的模擬視頻錄像機(jī),采用硬盤錄像,故常常被稱為硬盤錄像機(jī),也被稱為DVR。它是一套進(jìn)行圖像存儲(chǔ)處理的計(jì)算機(jī)系統(tǒng),具有對(duì)圖像/語音進(jìn)行長時(shí)間錄像、錄音、遠(yuǎn)程監(jiān)視和控制的功能。
[0003]操作系統(tǒng)中負(fù)責(zé)管理和存儲(chǔ)文件信息的軟件機(jī)構(gòu)稱為文件管理系統(tǒng),簡稱文件系統(tǒng)。具體地說,它負(fù)責(zé)管理存儲(chǔ)設(shè)備(SD卡,磁盤等)上的分區(qū),為用戶建立文件,存入、讀出、修改、轉(zhuǎn)儲(chǔ)文件,當(dāng)用戶不再使用時(shí)撤銷文件等。常見文件系統(tǒng)如NTFS,F(xiàn)AT, EXT等。
[0004]FAT文件系統(tǒng)是一種由微軟發(fā)明的文件系統(tǒng),供MS-DOS使用,目前主要用于U盤、SD卡等移動(dòng)存儲(chǔ)上。
[0005]現(xiàn)有技術(shù)通過以下三種方案完成FAT文件系統(tǒng)的修復(fù):
技術(shù)1:嵌入式Iinux自帶的dosfsck工具程序;
優(yōu)點(diǎn):可以直接使用,操作簡單;
缺點(diǎn):整個(gè)修復(fù)過程需要人工干預(yù),不能自動(dòng)完成。
[0006]技術(shù)2:開源方案dosfstools提供的修復(fù)工具;
優(yōu)點(diǎn):經(jīng)過移植后可以直接使用,操作簡單;
缺點(diǎn):整個(gè)修復(fù)過程需要人工干預(yù),不能自動(dòng)完成。
[0007]技術(shù)3:windows系統(tǒng)下的其他修復(fù)工具;
優(yōu)點(diǎn):可以自動(dòng)修復(fù)的錯(cuò)誤類型較多;
缺點(diǎn):無法在DVR終端上直接使用,需把存儲(chǔ)設(shè)備連接到windows系統(tǒng)上。
[0008]但現(xiàn)有的方案由于其面向的用戶具有不確定性,故不能自動(dòng)完成FAT文件系統(tǒng)的修復(fù)過程,中間需要人工給出決策。而結(jié)合到視頻數(shù)據(jù)自身的一些特性,和特定用戶的特定需求,可以實(shí)現(xiàn)自動(dòng)的修復(fù)策略。
[0009]由于斷電或其他意外情況導(dǎo)致FAT文件系統(tǒng)內(nèi)的數(shù)據(jù)文件出現(xiàn)錯(cuò)誤時(shí),應(yīng)該能夠檢測到其錯(cuò)誤的發(fā)生,并能修復(fù)該錯(cuò)誤,保證設(shè)備的正常運(yùn)行。并且,這種修復(fù)最好是自動(dòng)的,不需要人工介入的。
【發(fā)明內(nèi)容】
[0010]本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種不需要人工干預(yù)的DVR終端上的FAT文件系統(tǒng)自動(dòng)修復(fù)方法。
[0011]本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的:DVR終端上的FAT文件系統(tǒng)自動(dòng)修復(fù)方法,它包括以下步驟:
51:DVR終端在一定條件下會(huì)觸發(fā)對(duì)FAT文件系統(tǒng)的檢測和修復(fù),進(jìn)入步驟S2 ;
52:檢測和修復(fù),包括以下子步驟: 521:檢測FAT文件系統(tǒng),當(dāng)發(fā)現(xiàn)某個(gè)錯(cuò)誤,則從配置中獲取該錯(cuò)誤的修復(fù)方案:
(O如果修復(fù)方案為自動(dòng)修復(fù),則啟用自動(dòng)修復(fù)邏輯;
(2)如果修復(fù)方案為不修復(fù)該錯(cuò)誤但需要報(bào)警,則記錄報(bào)警信息,適時(shí)發(fā)出報(bào)警,然后跳過該錯(cuò)誤;
(3)如果修復(fù)方案為不修復(fù)該錯(cuò)誤,則跳過該錯(cuò)誤;
522:循環(huán)步驟S21,直到?jīng)]有再發(fā)現(xiàn)文件系統(tǒng)的錯(cuò)誤。
[0012]步驟SI所述的DVR終端在一定條件下出發(fā)對(duì)FAT文件系統(tǒng)的檢測和修復(fù)的觸發(fā)條件包括:
(1)終端每啟動(dòng)N次會(huì)啟動(dòng)一次檢測和修復(fù);
(2)在上次運(yùn)行時(shí),F(xiàn)AT文件系統(tǒng)出現(xiàn)了錯(cuò)誤,則本次啟動(dòng)時(shí)需要檢測。
[0013]所述的對(duì)FAT文件系統(tǒng)的檢測和修復(fù)都是發(fā)生在終端啟動(dòng)的時(shí)候。
[0014]所述的自動(dòng)修復(fù)邏輯包括:
(1)若FAT表包含無效的簇號(hào),則將該簇號(hào)修改為EOF;
(2)若文件的簇鏈包含了循環(huán),則該循環(huán)將被截?cái)啵?br> (3)若損壞的簇即出現(xiàn)讀錯(cuò)誤,則這些簇將被標(biāo)記為壞簇,并且從包含他們的文件中刪除;
(4)若”和”被標(biāo)識(shí)為非目錄,則刪除這兩個(gè)條目;
(5)若文件夾的大小字段不為0,則自動(dòng)修改為O;
(6)若文件夾”沒有指向當(dāng)前目錄,則其開始指針字段將被修正為當(dāng)前目錄;
(7)若文件夾“..”沒有指向父目錄,其開始指針字段將被修正為父目錄;
(8)若文件的開始簇號(hào)非法,則該文件將被截?cái)啵?br> (9)若文件里包含了損壞的或并未并分配的簇,則該文件將被截?cái)啵?br> (10)若通過文件簇鏈計(jì)算的文件大小和文件大小字段的值不一致,則該文件將被截?cái)啵?br> (11)多個(gè)文件共享相同的簇,除第一個(gè)文件外,其他文件將被截?cái)啵?br> (12)簇被標(biāo)識(shí)為已使用但并不被任何文件所擁有,他們將被標(biāo)識(shí)為空閑簇。
[0015]所述的自動(dòng)修復(fù)邏輯包括:
(1)文件夾下包含了大量的錯(cuò)誤的條目,超過配置的百分比,則刪除此目錄;
(2)出現(xiàn)錯(cuò)誤的文件名,則根據(jù)文件頭里的時(shí)間信息自動(dòng)重命名;
(3)文件夾下有重復(fù)的條目,則根據(jù)文件頭里的時(shí)間信息自動(dòng)重命名;
(4)出現(xiàn)任何的長文件名錯(cuò)誤,則刪除錯(cuò)誤的長文件名,然后根據(jù)短文件名和文件頭信息重命名文件。
[0016]本發(fā)明的有益效果是:
1.本發(fā)明使得整個(gè)FAT文件系統(tǒng)的修復(fù)過程可以自動(dòng)完成,在觸發(fā)自動(dòng)檢測和修復(fù)之后,能夠檢測到由于斷電或其他意外情況導(dǎo)致FAT文件系統(tǒng)內(nèi)的數(shù)據(jù)文件出現(xiàn)的錯(cuò)誤,并能自動(dòng)修復(fù)該錯(cuò)誤,保證設(shè)備的正常運(yùn)行,不需要人工給出決策。
[0017]2.而且用戶可以根據(jù)特定需求,配置需要自動(dòng)修復(fù)的項(xiàng)和需要報(bào)警的項(xiàng)。
【附圖說明】
[0018]圖1為本發(fā)明方法流程圖。
【具體實(shí)施方式】
[0019]下面結(jié)合附圖進(jìn)一步詳細(xì)描述本發(fā)明的技術(shù)方案:如圖1所示,DVR終端上的FAT文件系統(tǒng)自動(dòng)修復(fù)方法,它包括以下步驟:
51=DVR終端在一定條件下會(huì)觸發(fā)對(duì)FAT文件系統(tǒng)的檢測和修復(fù),進(jìn)入步驟S2 ;
52:檢測和修復(fù),包括以下子步驟:
521:檢測FAT文件系統(tǒng),當(dāng)發(fā)現(xiàn)某個(gè)錯(cuò)誤,則從配置中獲取該錯(cuò)誤的修復(fù)方案:
(O如果修復(fù)方案為自動(dòng)修復(fù),則啟用自動(dòng)修復(fù)邏輯;
(2)如果修復(fù)方案為不修復(fù)該錯(cuò)誤但需要報(bào)警,則記錄報(bào)警信息,適時(shí)發(fā)出報(bào)警,然后跳過該錯(cuò)誤;
(3)如果修復(fù)方案為不修復(fù)該錯(cuò)誤,則跳過該錯(cuò)誤;
522:循環(huán)步驟S21,直到?jīng)]有再發(fā)現(xiàn)文件系統(tǒng)的錯(cuò)誤。
[0020]步驟SI所述的DVR終端在一定條件下出發(fā)對(duì)FAT文件系統(tǒng)的檢測和修復(fù)的觸發(fā)條件包括:
(1)終端每啟動(dòng)N次會(huì)啟動(dòng)一次檢測和修復(fù);
(2)在上次運(yùn)行時(shí),F(xiàn)AT文件系統(tǒng)出現(xiàn)了錯(cuò)誤,則本次啟動(dòng)時(shí)需要檢測。
[0021]所述的對(duì)FAT文件系統(tǒng)的檢測和修復(fù)都是發(fā)生在終端啟動(dòng)的時(shí)候。
[0022]所述的自動(dòng)修復(fù)邏輯包括:
(1)若FAT表包含無效的簇號(hào),則將該簇號(hào)修改為EOF;
(2)若文件的簇鏈包含了循環(huán),則該循環(huán)將被截?cái)啵?br> (3)若損壞的簇即出現(xiàn)讀錯(cuò)誤,則這些簇將被標(biāo)記為壞簇,并且從包含他們的文件中刪除;
(4)若”和”被標(biāo)識(shí)為非目錄,則刪除這兩個(gè)條目;
(5)若文件夾的大小字段不為0,則自動(dòng)修改為O;
(6)若文件夾”沒有指向當(dāng)前目錄,則其開始指針字段將被修正為當(dāng)前目錄;
(7)若文件夾“..”沒有指向父目錄,其開始指針字段將被修正為父目錄;
(8)若文件的開始簇號(hào)非法,則該文件將被截?cái)啵?br> (9)若文件里包含了損壞的或并未并分配的簇,則該文件將被截?cái)啵?br> (10)若通過文件簇鏈計(jì)算的文件大小和文件大小字段的值不一致,則該文件將被截?cái)啵?br> (11)多個(gè)文件共享相同的簇,除第一個(gè)文件外,其他文件將被截?cái)啵?br> (12)簇被標(biāo)識(shí)為已使用但并不被任何文件所擁有,他們將被標(biāo)識(shí)為空閑簇。
[0023]所述的自動(dòng)修復(fù)邏輯包括:
(1)文件夾下包含了大量的錯(cuò)誤的條目,超過配置的百分比,則刪除此目錄;
(2)出現(xiàn)錯(cuò)誤的文件名,則根據(jù)文件頭里的時(shí)間信息自動(dòng)重命名;
(3)文件夾下有重復(fù)的條目,則根據(jù)文件頭里的時(shí)間信息自動(dòng)重命名;
(4)出現(xiàn)任何的長文件名錯(cuò)誤,則刪除錯(cuò)誤的長文件名,然后根據(jù)短文件名和文件頭信息重命名文件。
【主權(quán)項(xiàng)】
1.DVR終端上的FAT文件系統(tǒng)自動(dòng)修復(fù)方法,其特征在于:它包括以下步驟: 51=DVR終端在一定條件下會(huì)觸發(fā)對(duì)FAT文件系統(tǒng)的檢測和修復(fù),進(jìn)入步驟S2 ; 52:檢測和修復(fù),包括以下子步驟: 521:檢測FAT文件系統(tǒng),當(dāng)發(fā)現(xiàn)某個(gè)錯(cuò)誤,則從配置中獲取該錯(cuò)誤的修復(fù)方案: (O如果修復(fù)方案為自動(dòng)修復(fù),則啟用自動(dòng)修復(fù)邏輯; (2)如果修復(fù)方案為不修復(fù)該錯(cuò)誤但需要報(bào)警,則記錄報(bào)警信息,適時(shí)發(fā)出報(bào)警,然后跳過該錯(cuò)誤; (3)如果修復(fù)方案為不修復(fù)該錯(cuò)誤,則跳過該錯(cuò)誤; 522:循環(huán)步驟S21,直到?jīng)]有再發(fā)現(xiàn)文件系統(tǒng)的錯(cuò)誤。2.根據(jù)權(quán)利要求1所述的DVR終端上的FAT文件系統(tǒng)自動(dòng)修復(fù)方法,其特征在于:步驟SI所述的DVR終端在一定條件下出發(fā)對(duì)FAT文件系統(tǒng)的檢測和修復(fù)的觸發(fā)條件包括: (1)終端每啟動(dòng)N次會(huì)啟動(dòng)一次檢測和修復(fù); (2)在上次運(yùn)行時(shí),F(xiàn)AT文件系統(tǒng)出現(xiàn)了錯(cuò)誤,則本次啟動(dòng)時(shí)需要檢測。3.根據(jù)權(quán)利要求1所述的DVR終端上的FAT文件系統(tǒng)自動(dòng)修復(fù)方法,其特征在于:所述的對(duì)FAT文件系統(tǒng)的檢測和修復(fù)都是發(fā)生在終端啟動(dòng)的時(shí)候。4.根據(jù)權(quán)利要求1所述的DVR終端上的FAT文件系統(tǒng)自動(dòng)修復(fù)方法,其特征在于:所述的自動(dòng)修復(fù)邏輯包括: (1)若FAT表包含無效的簇號(hào),則將該簇號(hào)修改為EOF; (2)若文件的簇鏈包含了循環(huán),則該循環(huán)將被截?cái)啵? (3)若損壞的簇即出現(xiàn)讀錯(cuò)誤,則這些簇將被標(biāo)記為壞簇,并且從包含他們的文件中刪除; (4)若”和”被標(biāo)識(shí)為非目錄,則刪除這兩個(gè)條目; (5)若文件夾的大小字段不為0,則自動(dòng)修改為O; (6)若文件夾”沒有指向當(dāng)前目錄,則其開始指針字段將被修正為當(dāng)前目錄; (7)若文件夾“..”沒有指向父目錄,其開始指針字段將被修正為父目錄; (8)若文件的開始簇號(hào)非法,則該文件將被截?cái)啵? (9)若文件里包含了損壞的或并未并分配的簇,則該文件將被截?cái)啵? (10)若通過文件簇鏈計(jì)算的文件大小和文件大小字段的值不一致,則該文件將被截?cái)啵? (11)多個(gè)文件共享相同的簇,除第一個(gè)文件外,其他文件將被截?cái)啵?(12)簇被標(biāo)識(shí)為已使用但并不被任何文件所擁有,他們將被標(biāo)識(shí)為空閑簇。5.根據(jù)權(quán)利要求1所述的DVR終端上的FAT文件系統(tǒng)自動(dòng)修復(fù)方法,其特征在于:所述的自動(dòng)修復(fù)邏輯包括: (1)文件夾下包含了大量的錯(cuò)誤的條目,超過配置的百分比,則刪除此目錄; (2)出現(xiàn)錯(cuò)誤的文件名,則根據(jù)文件頭里的時(shí)間信息自動(dòng)重命名; (3)文件夾下有重復(fù)的條目,則根據(jù)文件頭里的時(shí)間信息自動(dòng)重命名; (4)出現(xiàn)任何的長文件名錯(cuò)誤,則刪除錯(cuò)誤的長文件名,然后根據(jù)短文件名和文件頭信息重命名文件。
【專利摘要】本發(fā)明公開了一種DVR終端上的FAT文件系統(tǒng)自動(dòng)修復(fù)方法,包括以下步驟:S1:DVR終端在一定條件下會(huì)觸發(fā)對(duì)FAT文件系統(tǒng)的檢測和修復(fù),進(jìn)入步驟S2;S2:檢測和修復(fù),包括以下子步驟:S21:檢測FAT文件系統(tǒng),當(dāng)發(fā)現(xiàn)某個(gè)錯(cuò)誤,則從配置中獲取該錯(cuò)誤的修復(fù)方案:(1)如果修復(fù)方案為自動(dòng)修復(fù),則啟用自動(dòng)修復(fù)邏輯;(2)如果修復(fù)方案為不修復(fù)該錯(cuò)誤但需要報(bào)警,則記錄報(bào)警信息,適時(shí)發(fā)出報(bào)警,然后跳過該錯(cuò)誤;(3)如果修復(fù)方案為不修復(fù)該錯(cuò)誤,則跳過該錯(cuò)誤;S22:循環(huán)步驟S21。本發(fā)明使得整個(gè)FAT文件系統(tǒng)的修復(fù)過程可以自動(dòng)完成,在觸發(fā)自動(dòng)檢測和修復(fù)之后,能夠檢測到錯(cuò)誤,并能自動(dòng)修復(fù)該錯(cuò)誤,保證設(shè)備的正常運(yùn)行,不需要人工給出決策。
【IPC分類】H04N17/06, H04N5/781
【公開號(hào)】CN105072372
【申請(qǐng)?zhí)枴緾N201510457894
【發(fā)明人】王春波, 陳軍
【申請(qǐng)人】成都億盟恒信科技有限公司
【公開日】2015年11月18日
【申請(qǐng)日】2015年7月30日