專利名稱:計(jì)算機(jī)異常斷電文件系統(tǒng)防破壞的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計(jì)算機(jī)文件系統(tǒng)防破壞的方法,尤其是一種異常斷電文件系統(tǒng)防破壞的方法,屬于計(jì)算機(jī)技術(shù)領(lǐng)域。
為此,本發(fā)明提供如下技術(shù)方案實(shí)現(xiàn)上述目的一種計(jì)算機(jī)異常斷電文件系統(tǒng)防破壞的方法,它至少包括如下步驟將文件系統(tǒng)存儲(chǔ)區(qū)域分為第一存儲(chǔ)區(qū)和第二存儲(chǔ)區(qū),兩存儲(chǔ)區(qū)文件交叉?zhèn)浞?,系統(tǒng)對(duì)于兩存儲(chǔ)區(qū)的文件進(jìn)行交叉訪問。
文件系統(tǒng)啟動(dòng)時(shí),首先進(jìn)行文件系統(tǒng)完整性判斷,檢查文件系統(tǒng)是否被破壞;如果文件系統(tǒng)被破壞,則訪問另一存儲(chǔ)區(qū)的當(dāng)前文件;如果文件系統(tǒng)沒有被破壞,則直接訪問該存儲(chǔ)區(qū)文件。
第一存儲(chǔ)區(qū)和第二存儲(chǔ)區(qū)必須有能區(qū)分?jǐn)?shù)據(jù)新舊的標(biāo)識(shí),例如區(qū)域被訪問的次數(shù),用于區(qū)分最新數(shù)據(jù);第一存儲(chǔ)區(qū)和第二存儲(chǔ)區(qū)必須有校驗(yàn)記錄,用于判斷數(shù)據(jù)是否完整。
進(jìn)一步地,第一存儲(chǔ)區(qū)和第二存儲(chǔ)區(qū)必須有能區(qū)分?jǐn)?shù)據(jù)新舊的標(biāo)識(shí),根據(jù)標(biāo)識(shí),分別可對(duì)新或舊區(qū)域進(jìn)行數(shù)據(jù)校驗(yàn)檢測(cè),結(jié)果為是,并使用該區(qū)域,將內(nèi)存標(biāo)識(shí)改為該區(qū)域標(biāo)識(shí),;檢測(cè)校驗(yàn)正確性為否,則檢測(cè)另一區(qū)域的校驗(yàn)正確性,為是,則使用該區(qū)域,將內(nèi)存標(biāo)識(shí)為該區(qū)域標(biāo)識(shí);為否,則使用該區(qū)域缺省數(shù)據(jù),將內(nèi)存標(biāo)識(shí)為該區(qū)域標(biāo)識(shí)。
第一存儲(chǔ)區(qū)和第二存儲(chǔ)區(qū)為在硬盤上保留2倍于希望存儲(chǔ)數(shù)據(jù)的空閑區(qū)域,從而進(jìn)行雙備份。
本發(fā)明利用文件系統(tǒng)雙備份方式,如果文件系統(tǒng)被破壞,下次啟動(dòng)時(shí),訪問上次完整的未被破壞的文件備份系統(tǒng),解決了長期以來、硬盤數(shù)據(jù)存儲(chǔ)對(duì)文件系統(tǒng)結(jié)構(gòu)的依賴性,對(duì)于要實(shí)現(xiàn)硬盤等設(shè)備防異常斷電,文件系統(tǒng)崩潰,提供了一個(gè)好的解決途徑。
文件系統(tǒng)啟動(dòng)時(shí),首先進(jìn)行文件系統(tǒng)完整性判斷,檢查文件系統(tǒng)是否被破壞;如果文件系統(tǒng)被破壞,則訪問另一存儲(chǔ)區(qū)的當(dāng)前文件;如果文件系統(tǒng)沒有被破壞,則直接訪問該存儲(chǔ)區(qū)文件。
具體地,例如一嵌入式Linux系統(tǒng),用硬盤作為存儲(chǔ)設(shè)備,為實(shí)現(xiàn)系統(tǒng)易用性,要設(shè)計(jì)滿足系統(tǒng)可隨時(shí)關(guān)機(jī);要保證系統(tǒng)可靠性,在任何時(shí)候都不會(huì)被破壞,設(shè)計(jì)整個(gè)Linux系統(tǒng)以只讀方式啟動(dòng),臨時(shí)存儲(chǔ)使用內(nèi)存虛擬ramdisk方式,這樣就可以保證硬盤數(shù)據(jù)的完整性。但總有一些應(yīng)用的配置需要保存,像新設(shè)置的網(wǎng)卡地址、應(yīng)用更改的配置等,為了實(shí)現(xiàn)數(shù)據(jù)保存,必須設(shè)置一分區(qū)可寫,用以存儲(chǔ)數(shù)據(jù),但如果正在向硬盤文件寫操作時(shí)系統(tǒng)異常斷電,那就會(huì)導(dǎo)致硬盤文件結(jié)構(gòu)損壞或不完整,甚至整個(gè)系統(tǒng)被破壞,不能正常工作。
為此,本發(fā)明設(shè)計(jì)使用了兩塊硬盤區(qū)域,在啟動(dòng)時(shí)判斷完整性后,拷貝數(shù)據(jù)到ramdisk中,映射為一目錄,像正常系統(tǒng)一樣進(jìn)行存儲(chǔ)和讀寫,當(dāng)要保存數(shù)據(jù)時(shí),從對(duì)應(yīng)目錄映射的ramdisk中拷貝數(shù)據(jù)到硬盤存儲(chǔ)區(qū)域。結(jié)果就實(shí)現(xiàn)了異常斷電硬盤文件系統(tǒng)的保護(hù)。
具體地,第一存儲(chǔ)區(qū)和第二存儲(chǔ)區(qū)分別包括操作次數(shù)記錄區(qū),用于記錄該區(qū)域記錄被訪問的次數(shù),來區(qū)分?jǐn)?shù)據(jù)的新舊;第一存儲(chǔ)區(qū)和第二存儲(chǔ)區(qū)分別還包括CRC檢驗(yàn)值記錄區(qū),用于記錄該區(qū)域經(jīng)過CRC校驗(yàn)后文件系統(tǒng)是否完整的標(biāo)記,系統(tǒng)可直接通過該標(biāo)記判斷某區(qū)域文件系統(tǒng)是否完整。本發(fā)明數(shù)據(jù)的備份存儲(chǔ)如
圖1所示。存儲(chǔ)結(jié)構(gòu)如表1所示,在硬盤上保留2倍于希望存儲(chǔ)數(shù)據(jù)的空閑區(qū)域,劃分為第一存儲(chǔ)區(qū)域和第二存儲(chǔ)區(qū)域(雙備份)。每一區(qū)域其后都有兩個(gè)32位數(shù)一個(gè)表示該區(qū)域被訪問次數(shù);一個(gè)表示該區(qū)域的數(shù)據(jù)包括訪問次數(shù)的CRC校驗(yàn)值。表1
其中number為一區(qū)、二區(qū)的訪問次數(shù);CRC flag為一區(qū)、二取的CRC校驗(yàn)值。
參見圖2,進(jìn)一步地,第一存儲(chǔ)區(qū)和第二存儲(chǔ)區(qū)分別包括操作次數(shù)記錄區(qū),用于記錄該區(qū)域被訪問的次數(shù),系統(tǒng)讀取操作時(shí),可首先判斷該次數(shù)的大小,分別可對(duì)于次數(shù)大或小的區(qū)域進(jìn)行CRC正確性檢測(cè),結(jié)果為是,并使用該區(qū)域,將內(nèi)存標(biāo)識(shí)為該區(qū)域標(biāo)識(shí),并將次數(shù)增加一;檢測(cè)CRC正確性為否,則檢測(cè)另一區(qū)域的CRC正確性,為是,則使用該區(qū)域,將內(nèi)存標(biāo)識(shí)為該區(qū)域標(biāo)識(shí);為否,則使用該區(qū)域缺省數(shù)據(jù),將內(nèi)存標(biāo)識(shí)為該區(qū)域標(biāo)識(shí)。
以上實(shí)施例僅用以說明本發(fā)明而非限制,盡管參照以上較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明進(jìn)行修改、變形或者等同替換,而不脫離本發(fā)明的精神和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.一種計(jì)算機(jī)異常斷電文件系統(tǒng)防破壞的方法,其特征在于它至少包括如下步驟將文件系統(tǒng)存儲(chǔ)區(qū)域分為第一存儲(chǔ)區(qū)和第二存儲(chǔ)區(qū),兩存儲(chǔ)區(qū)文件交叉?zhèn)浞?,系統(tǒng)對(duì)于兩存儲(chǔ)區(qū)的文件進(jìn)行交叉訪問。
2.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)異常斷電文件系統(tǒng)防破壞的方法,其特征在于文件系統(tǒng)啟動(dòng)時(shí),首先進(jìn)行文件系統(tǒng)完整性判斷,檢查文件系統(tǒng)是否被破壞;如果文件系統(tǒng)被破壞,則訪問另一存儲(chǔ)區(qū)的當(dāng)前文件;如果文件系統(tǒng)沒有被破壞,則直接訪問該存儲(chǔ)區(qū)文件。
3.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)異常斷電文件系統(tǒng)防破壞的方法,其特征在于第一存儲(chǔ)區(qū)和第二存儲(chǔ)區(qū)設(shè)有能區(qū)分?jǐn)?shù)據(jù)新舊的標(biāo)識(shí)。
4.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)異常斷電文件系統(tǒng)防破壞的方法,其特征在于區(qū)分?jǐn)?shù)據(jù)新舊的標(biāo)識(shí)為區(qū)域被訪問的次數(shù)。
5.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)異常斷電文件系統(tǒng)防破壞的方法,其特征在于第一存儲(chǔ)區(qū)和第二存儲(chǔ)區(qū)分別還包括數(shù)據(jù)校驗(yàn)區(qū),用于記錄該區(qū)域數(shù)據(jù)校驗(yàn)值,系統(tǒng)可直接通過該標(biāo)記判斷某區(qū)域文件系統(tǒng)是否完整。
6.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)異常斷電文件系統(tǒng)防破壞的方法,其特征在于數(shù)據(jù)校驗(yàn)為循環(huán)冗余校驗(yàn)(CRC)。
7.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)異常斷電文件系統(tǒng)防破壞的方法,其特征在于系統(tǒng)首先根據(jù)第一存儲(chǔ)區(qū)和第二存儲(chǔ)區(qū)的新舊標(biāo)識(shí),進(jìn)行識(shí)別,結(jié)果為是,則使用該區(qū)域,將內(nèi)存標(biāo)識(shí)改為該區(qū)域標(biāo)識(shí);檢測(cè)校驗(yàn)正確性為否,則檢測(cè)另一區(qū)域的校驗(yàn)正確性,為是,則使用該區(qū)域,將內(nèi)存標(biāo)識(shí)為該區(qū)域標(biāo)識(shí);為否,則使用該區(qū)域缺省數(shù)據(jù),將內(nèi)存標(biāo)識(shí)為該區(qū)域標(biāo)識(shí)。
8.根據(jù)權(quán)利要求1或2或3或4或5或6或7所述的計(jì)算機(jī)異常斷電文件系統(tǒng)防破壞的方法,其特征在于數(shù)據(jù)校驗(yàn)為包括文件或訪問次數(shù)或部分?jǐn)?shù)據(jù)在內(nèi)的校驗(yàn)。
9.根據(jù)權(quán)利要求1或2或3或5或7所述的計(jì)算機(jī)異常斷電文件系統(tǒng)防破壞的方法,其特征在于第一存儲(chǔ)區(qū)和第二存儲(chǔ)區(qū)為在硬盤上保留2倍于希望存儲(chǔ)數(shù)據(jù)的空閑區(qū)域,從而進(jìn)行雙備份。
10.根據(jù)權(quán)利要求1或2或3或5或7所述的計(jì)算機(jī)異常斷電文件系統(tǒng)防破壞的方法,其特征在于第一存儲(chǔ)區(qū)采用臨時(shí)存儲(chǔ)使用內(nèi)存虛擬方式。
全文摘要
一種計(jì)算機(jī)異常斷電文件系統(tǒng)防破壞的存儲(chǔ)方法,它至少包括如下步驟將文件系統(tǒng)存儲(chǔ)區(qū)域分為第一存儲(chǔ)區(qū)和第二存儲(chǔ)區(qū),兩存儲(chǔ)區(qū)文件交叉?zhèn)浞?,系統(tǒng)對(duì)于兩存儲(chǔ)區(qū)的文件進(jìn)行交叉訪問。本系統(tǒng)基于雙備份原理,通過交叉?zhèn)浞莺驮L問,實(shí)現(xiàn)不完整系統(tǒng)的自動(dòng)容錯(cuò),從而達(dá)到計(jì)算機(jī)異常斷電文件系統(tǒng)的防破壞。采用本發(fā)明的方法,可以安全地在硬盤等存儲(chǔ)設(shè)備上實(shí)現(xiàn)計(jì)算機(jī)的隨時(shí)關(guān)機(jī)特性。
文檔編號(hào)G06F12/08GK1466030SQ0212345
公開日2004年1月7日 申請(qǐng)日期2002年6月28日 優(yōu)先權(quán)日2002年6月28日
發(fā)明者趙明, 柯克, 趙 明 申請(qǐng)人:聯(lián)想(北京)有限公司