專利名稱:檔案系統(tǒng)的備份與恢復(fù)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種檔案系統(tǒng)的備份與恢復(fù)方法,尤其涉及一種當(dāng)計(jì)算機(jī)系統(tǒng) 的磁盤分區(qū)中的檔案系統(tǒng)出現(xiàn)錯(cuò)誤時(shí),可自動(dòng)轉(zhuǎn)換數(shù)據(jù)線備份模式完成鏡像備 份與恢復(fù)的方法。
背景技術(shù):
隨著信息技術(shù)的廣泛應(yīng)用,越來越多的行業(yè)開始采用計(jì)算機(jī)來進(jìn)行管理、 控制及應(yīng)用操作。同時(shí),隨著個(gè)人計(jì)算機(jī)的普及,使得人們?cè)诩抑屑纯蓪?shí)現(xiàn)各 種計(jì)算機(jī)教育、電子購(gòu)物、游戲及娛樂。因此,計(jì)算機(jī)已經(jīng)對(duì)社會(huì)生產(chǎn)效率和 人類生活水平的提高起到了舉足輕重的作用。但是,隨著計(jì)算機(jī)使用的增多, 其出現(xiàn)故障或檔案系統(tǒng)數(shù)據(jù)線遺失的可能性就越大,而對(duì)于廣大的計(jì)算機(jī)從業(yè) 人員及非計(jì)算機(jī)行業(yè)的群體來說,當(dāng)計(jì)算機(jī)系統(tǒng)出現(xiàn)故障或其檔案系統(tǒng)數(shù)據(jù)線 遺失之前,采用怎樣的方法能夠?qū)⒂?jì)算機(jī)系統(tǒng)的磁盤分區(qū)中有用的檔案系統(tǒng)數(shù) 據(jù)線及時(shí)有效地進(jìn)行備份,并在計(jì)算機(jī)系統(tǒng)出現(xiàn)故障或其檔案系統(tǒng)數(shù)據(jù)線遺失 之后,迅速可靠的將計(jì)算機(jī)系統(tǒng)從故障狀態(tài)恢復(fù)到正常狀態(tài)或?qū)z失的檔案系 統(tǒng)數(shù)據(jù)線進(jìn)行完整、準(zhǔn)確地恢復(fù),將具有十分重大的意義。目前,較為流行的計(jì)算機(jī)數(shù)據(jù)線備份與恢復(fù)方法大都采用鏡像工具(ImageTool)來得以實(shí)現(xiàn),鏡像工具的功能是對(duì)計(jì)算機(jī)磁盤中的全部數(shù)據(jù)線 內(nèi)容進(jìn)行備份和恢復(fù)操作,其會(huì)自行判斷磁盤上各個(gè)分區(qū)的檔案系統(tǒng)類型,并 根據(jù)不同的檔案系統(tǒng)結(jié)構(gòu)來提取有用的用戶數(shù)據(jù)線進(jìn)行鏡像(Image)備份, 并在需要的時(shí)候?qū)@些數(shù)據(jù)線進(jìn)行恢復(fù)。事實(shí)上,時(shí)下所有的備份與恢復(fù)軟件 的操作處理方式也都是如此,這樣既可以節(jié)約備份與恢復(fù)操作的時(shí)間,又能夠 節(jié)省備份數(shù)據(jù)線所需的空間。然而,這種現(xiàn)有的數(shù)據(jù)線備份與恢復(fù)方法的操作處理方式也帶來了另一個(gè) 重要的問題。即由于在現(xiàn)有的數(shù)據(jù)線備份與恢復(fù)方法中,其應(yīng)用程序需要根 據(jù)檔案系統(tǒng)的結(jié)構(gòu)來提取數(shù)據(jù)線進(jìn)行備份,且在備份與恢復(fù)操作開始時(shí)會(huì)根據(jù)
檔案系統(tǒng)的類型來確定具體的數(shù)據(jù)線備份與恢復(fù)模式, 一旦模式確定下來,整 個(gè)數(shù)據(jù)線備份與恢復(fù)的過程便會(huì)遵循同樣的數(shù)據(jù)線備份與恢復(fù)模式來進(jìn)行,而 不會(huì)再發(fā)生改變,如此便要求檔案系統(tǒng)本身一定要完好無損。在大部分情況下, 檔案系統(tǒng)是完好的,這種備份與恢復(fù)的工作方式也不會(huì)發(fā)生異常,但在某些情 況F,例如計(jì)算機(jī)磁盤的扇區(qū)受損或執(zhí)行某些非法操作或異常關(guān)機(jī)等,會(huì)使得 檔案系統(tǒng)并不十分完好(但仍然可以正常使用),即造成檔案系統(tǒng)本身的數(shù) 據(jù)結(jié)構(gòu)出現(xiàn)"不一致性",如此,上述的備份工作方式就會(huì)出現(xiàn)問題,其應(yīng)用 程序在解析檔案系統(tǒng)的過程中會(huì)發(fā)生錯(cuò)誤,從而導(dǎo)致備份操作失敗,進(jìn)而無法 成功完成對(duì)磁盤中檔案系統(tǒng)數(shù)據(jù)線的備份操作。于是,便會(huì)給用戶帶來"系統(tǒng) 可用卻無法備份"的遺憾。發(fā)明內(nèi)容為了解決上述現(xiàn)有技術(shù)中的問題與缺陷,本發(fā)明的目的在于提供一種檔案 系統(tǒng)的備份與恢復(fù)方法,用以對(duì)計(jì)算機(jī)系統(tǒng)的磁盤分區(qū)中的檔案系統(tǒng)數(shù)據(jù)線進(jìn) 行完整、準(zhǔn)確地鏡像備份與恢復(fù)。本發(fā)明的檔案系統(tǒng)的備份與恢復(fù)方法,包含以下步驟(a)判別計(jì)算機(jī) 系統(tǒng)的磁盤分區(qū)的檔案系統(tǒng)類型;(b)根據(jù)檔案系統(tǒng)類型選擇數(shù)據(jù)線備份模 式;(C)提取需要備份的檔案系統(tǒng)中的數(shù)據(jù)線;(d)判斷檔案系統(tǒng)的數(shù)據(jù)結(jié) 構(gòu)信息是否正確,若正確則執(zhí)行步驟(e),若不正確則執(zhí)行歩驟(f) ; (e) 按照選定的數(shù)據(jù)線備份模式將數(shù)據(jù)線備份至鏡像檔案中,然后執(zhí)行步驟(g);(f)轉(zhuǎn)換數(shù)據(jù)線備份模式為通用二進(jìn)制數(shù)據(jù)線備份模式,并將磁盤分區(qū)中剩余的全部數(shù)據(jù)線備份至鏡像檔案中,然后結(jié)束數(shù)據(jù)線備份過程;以及(g)判 斷檔案系統(tǒng)的數(shù)據(jù)線備份是否全部完成,若完成則結(jié)束數(shù)據(jù)線備份過程,若未 完成則返回至步驟(c)。另外,本發(fā)明的檔案系統(tǒng)的備份與恢復(fù)方法,還包含以下步驟(h)解 析鏡像檔案,以判別出鏡像檔案中的數(shù)據(jù)線在備份開始時(shí)所采用的數(shù)據(jù)線備份 模式;(i)根據(jù)數(shù)據(jù)線備份模式選擇相對(duì)應(yīng)的數(shù)據(jù)線恢復(fù)模式;(j)按照選 定的數(shù)據(jù)線恢復(fù)模式對(duì)鏡像檔案中的數(shù)據(jù)線進(jìn)行數(shù)據(jù)線恢復(fù);(k)在數(shù)據(jù)線 恢復(fù)過程中,判斷鏡像檔案的數(shù)據(jù)線備份模式是否發(fā)生變化,若未發(fā)生變化則 執(zhí)行歩驟(1),若發(fā)生變化則執(zhí)行步驟(m) ;(1)按照選定的數(shù)據(jù)線恢復(fù)
模式繼續(xù)對(duì)鏡像檔案中的數(shù)據(jù)線進(jìn)行數(shù)據(jù)線恢復(fù),然后執(zhí)行步驟(n) ; (m) 轉(zhuǎn)換數(shù)據(jù)線恢復(fù)模式為通用二進(jìn)制數(shù)據(jù)線恢復(fù)模式,并對(duì)鏡像檔案中剩余的全 部數(shù)據(jù)線繼續(xù)進(jìn)行數(shù)據(jù)線恢復(fù),然后結(jié)束數(shù)據(jù)線恢復(fù)過程;以及(n)判斷鏡 像檔案的數(shù)據(jù)線恢復(fù)是否全部完成,若完成則結(jié)束數(shù)據(jù)線恢復(fù)過程,若未完成 則返回至步驟(k)。綜上所述,本發(fā)明的優(yōu)點(diǎn)在于由于本發(fā)明的檔案系統(tǒng)的備份與恢復(fù)方法,其數(shù)據(jù)線備份或恢復(fù)模式在整 個(gè)數(shù)據(jù)線備份與恢復(fù)操作過程中并不是一成不變的,而是可以根據(jù)對(duì)檔案系統(tǒng) 或鏡像檔案中已備份數(shù)據(jù)線的解析過程來自動(dòng)轉(zhuǎn)換操作模式的,從而可以有效 避免由于檔案系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)存在的"不一致性"而導(dǎo)致的數(shù)據(jù)線備份操作失 敗,并能在執(zhí)行恢復(fù)操作時(shí),根據(jù)鏡像檔案中已備份數(shù)據(jù)線的備份模式選擇相 對(duì)應(yīng)的數(shù)據(jù)線恢復(fù)模式對(duì)數(shù)據(jù)線進(jìn)行恢復(fù),使得即便在鏡像檔案的數(shù)據(jù)線備份 模式發(fā)生變化時(shí)仍能順利完成恢復(fù)操作,因此,本發(fā)明的檔案系統(tǒng)的備份與恢 復(fù)方法令用戶無須對(duì)數(shù)據(jù)結(jié)構(gòu)不 一致的檔案系統(tǒng)進(jìn)行檢査和修復(fù),就可以直接 對(duì)其進(jìn)行數(shù)據(jù)線備份與恢復(fù)操作,不僅極大的方便了用戶對(duì)計(jì)算機(jī)系統(tǒng)的磁盤 分區(qū)中的檔案系統(tǒng)數(shù)據(jù)線進(jìn)行鏡像備份與恢復(fù),提高了數(shù)據(jù)線備份與恢復(fù)工作 的效率,而且確保了檔案系統(tǒng)數(shù)據(jù)線在備份與恢復(fù)時(shí)的正確性與完整性。以下結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述,但不作為對(duì)本發(fā)明的 限定。
圖1為本發(fā)明的檔案系統(tǒng)的備份與恢復(fù)方法在執(zhí)行數(shù)據(jù)線備份操作過程 中的方法流程圖;圖2為本發(fā)明的檔案系統(tǒng)的備份與恢復(fù)方法的步驟106的細(xì)部步驟流程圖;圖3為本發(fā)明的檔案系統(tǒng)的備份與恢復(fù)方法在執(zhí)行數(shù)據(jù)線恢復(fù)操作過程 中的方法流程圖;以及圖4為本發(fā)明-實(shí)施例中描述的Ext3檔案系統(tǒng)的系統(tǒng)結(jié)構(gòu)方塊圖。 其中,附圖標(biāo)記10 Ext3檔案系統(tǒng) 11 超級(jí)區(qū)塊
12 數(shù)據(jù)塊位圖 13 索引節(jié)點(diǎn)位圖14索引節(jié)點(diǎn)表 15 數(shù)據(jù)塊16 數(shù)據(jù)線區(qū)塊步驟IOI判別磁盤分區(qū)的檔案系統(tǒng)類型 步驟102根據(jù)檔案系統(tǒng)類型選擇數(shù)據(jù)線備份模式 歩驟103提取需要備份的檔案系統(tǒng)中的數(shù)據(jù)線 歩驟104判斷檔案系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)信息是否正確 步驟105將數(shù)據(jù)線備份至鏡像檔案中步驟106轉(zhuǎn)換數(shù)據(jù)線備份模式為通用二進(jìn)制模式,并將磁盤分區(qū)中剩余 數(shù)據(jù)線備份至鏡像檔案中歩驟1061當(dāng)發(fā)現(xiàn)待備份的數(shù)據(jù)線區(qū)塊的元數(shù)據(jù)結(jié)構(gòu)內(nèi)容與檔案系統(tǒng)的整 體數(shù)據(jù)結(jié)構(gòu)信息存在不一致性時(shí),將鏡像檔案重新定位到上一個(gè)還原點(diǎn)標(biāo)志步驟1062將數(shù)據(jù)線備份模式轉(zhuǎn)換為通用二進(jìn)制數(shù)據(jù)線備份模式步驟1063通過通用二進(jìn)制數(shù)據(jù)線備份模式從磁盤分區(qū)h出現(xiàn)不一致性的 數(shù)據(jù)區(qū)塊的起始位置開始,將磁盤分區(qū)中剩余的全部數(shù)據(jù)線逐一備份至鏡像檔 案中,直至檔案系統(tǒng)的數(shù)據(jù)線備份結(jié)束為止歩驟1064在鏡像檔案頭信息中記錄最后一個(gè)還原點(diǎn)標(biāo)志號(hào)步驟107判斷檔案系統(tǒng)的數(shù)據(jù)線備份是否全部完成步驟201解析鏡像檔案,以判別數(shù)據(jù)線備份模式步驟202根據(jù)數(shù)據(jù)線備份模式選擇相應(yīng)的數(shù)據(jù)線恢復(fù)模式步驟203恢復(fù)鏡像檔案中的數(shù)據(jù)線步驟204判斷鏡像檔案的數(shù)據(jù)線備份模式是否發(fā)生變化步驟205恢復(fù)鏡像檔案中的數(shù)據(jù)線步驟206轉(zhuǎn)換數(shù)據(jù)線恢復(fù)模式為通用二進(jìn)制模式,并對(duì)鏡像檔案中的剩 余數(shù)據(jù)線繼續(xù)進(jìn)行恢復(fù)步驟207判斷鏡像檔案的數(shù)據(jù)線恢復(fù)是否全部完成具體實(shí)施方式
以下,將結(jié)合圖式部份對(duì)本發(fā)明的較佳實(shí)施方式作詳細(xì)說明。請(qǐng)參考圖1,圖中表示了本發(fā)明的檔案系統(tǒng)的備份與恢復(fù)方法在執(zhí)行數(shù)據(jù)
線備份操作過程中的方法流程圖,如圖所示,本發(fā)明的一種檔案系統(tǒng)的備份與 恢復(fù)方法,包含以下步驟判別計(jì)算機(jī)系統(tǒng)的磁盤分區(qū)的檔案系統(tǒng)類型(步驟101),其屮判別計(jì)算 機(jī)系統(tǒng)的磁盤分區(qū)的檔案系統(tǒng)類型是通過應(yīng)用程序解析檔案系統(tǒng)的開始位置的幻數(shù)(Magic Number)與整體數(shù)據(jù)結(jié)構(gòu)來識(shí)別當(dāng)前磁盤分區(qū)的檔案系統(tǒng)類型, 并且此步驟101中進(jìn)一步包含將檔案系統(tǒng)的類型信息記錄到鏡像檔案頭信息 中的步驟;根據(jù)檔案系統(tǒng)類型選擇數(shù)據(jù)線備份模式(步驟102);提取需要備份的檔案系統(tǒng)中的數(shù)據(jù)線(步驟103),此歩驟中提取需要備 份的檔案系統(tǒng)中的數(shù)據(jù)線是將檔案系統(tǒng)的數(shù)據(jù)線分成多個(gè)連續(xù)分布的數(shù)據(jù)線 區(qū)塊,并依序擷取每一數(shù)據(jù)線區(qū)塊以進(jìn)行后續(xù)的數(shù)據(jù)線備份操作;判斷檔案系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)信息是否正確(步驟104),其中判斷檔案系統(tǒng) 的數(shù)據(jù)結(jié)構(gòu)信息是否正確是指在對(duì)提取的每一數(shù)據(jù)線區(qū)塊進(jìn)行備份之前,判斷 解析檔案系統(tǒng)的數(shù)據(jù)線區(qū)塊的元數(shù)據(jù)線(metadata)結(jié)構(gòu)內(nèi)容與檔案系統(tǒng)的整 體數(shù)據(jù)結(jié)構(gòu)信息是否存在不一致性(即待備份的數(shù)據(jù)線區(qū)塊的元數(shù)據(jù)結(jié)構(gòu)內(nèi)容 與檔案系統(tǒng)的整體數(shù)據(jù)結(jié)構(gòu)信息是否發(fā)生沖突),如果未存在不一致性(即未 發(fā)生沖突),則表明檔案系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)信息正確,然后執(zhí)行步驟105,如果 存在不一致性,則表明檔案系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)信息不正確,然后執(zhí)行步驟106;按照選定的數(shù)據(jù)線備份模式將數(shù)據(jù)線(即數(shù)據(jù)線區(qū)塊)備份至鏡像(Image) 檔案中(步驟105),此步驟中還包含當(dāng)每一數(shù)據(jù)線區(qū)塊的數(shù)據(jù)線備份完成之 后,于鏡像檔案的當(dāng)前位置,即數(shù)據(jù)線區(qū)塊備份結(jié)束的位置寫入一還原點(diǎn)標(biāo)志 的步驟,然后執(zhí)行步驟107;轉(zhuǎn)換數(shù)據(jù)線備份模式為通用二進(jìn)制數(shù)據(jù)線備份模式,并將磁盤分區(qū)中剩余 的全部數(shù)據(jù)線備份至鏡像檔案中(步驟106),此步驟106可進(jìn)一步分解為多 個(gè)歩驟,其具體步驟將在下文中詳細(xì)描述,此步驟106執(zhí)行完后將結(jié)束數(shù)據(jù)線 備份過程;以及判斷檔案系統(tǒng)的數(shù)據(jù)線備份是否全部完成(步驟107),若完成則結(jié)束數(shù) 據(jù)線備份過程,若未完成則返回至步驟103,以便提取檔案系統(tǒng)中下一數(shù)據(jù)線 區(qū)塊繼續(xù)進(jìn)行數(shù)據(jù)線備份操作?,F(xiàn)在請(qǐng)參考圖2,圖中表示了上述步驟106的細(xì)部步驟流程圖,如圖所示,
步驟106可進(jìn)一歩分解為如下歩驟當(dāng)發(fā)現(xiàn)待備份的數(shù)據(jù)線區(qū)塊的元數(shù)據(jù)結(jié)構(gòu)內(nèi)容與檔案系統(tǒng)的整體數(shù)據(jù)結(jié) 構(gòu)信息存在不一致性時(shí),將鏡像檔案重新定位到上-一個(gè)還原點(diǎn)標(biāo)志(步驟1061);將數(shù)據(jù)線備份模式轉(zhuǎn)換為通用一進(jìn)制數(shù)據(jù)線備份模式(歩驟1062); 通過通用二進(jìn)制數(shù)據(jù)線備份模式從磁盤分區(qū)上出現(xiàn)不一致性的數(shù)據(jù)區(qū)塊的起 始位置開始,將磁盤分區(qū)中剩余的全部數(shù)據(jù)線逐一備份至鏡像檔案中,直至檔 案系統(tǒng)的數(shù)據(jù)線備份結(jié)束為止(歩驟1063);以及在鏡像檔案頭信息中記錄 最后一個(gè)還原點(diǎn)標(biāo)志號(hào)(步驟1064)?,F(xiàn)在請(qǐng)參考圖3,圖中表示了本發(fā)明的檔案系統(tǒng)的備份與恢復(fù)方法在執(zhí)行 數(shù)據(jù)線恢復(fù)操作過程中的方法流程圖,如圖所示,本發(fā)明的 一種檔案系統(tǒng)的備 份與恢復(fù)方法,進(jìn)一步包含以下歩驟解析鏡像檔案,以判別出鏡像檔案中的數(shù)據(jù)線在備份開始時(shí)所采用的數(shù)據(jù) 線備份模式(步驟201),其中鏡像檔案中的數(shù)據(jù)線在備份開始時(shí)所采用的數(shù) 據(jù)線備份模式是指此鏡像檔案中第-個(gè)已備份數(shù)據(jù)線區(qū)塊在備份時(shí)所采用的 數(shù)據(jù)線備份模式;根據(jù)數(shù)據(jù)線備份模式選擇相對(duì)應(yīng)的數(shù)據(jù)線恢復(fù)模式(歩驟202);按照選定的數(shù)據(jù)線恢復(fù)模式對(duì)鏡像檔案中的數(shù)據(jù)線進(jìn)行數(shù)據(jù)線恢復(fù)(步驟 203),其中鏡像檔案中的數(shù)據(jù)線是指此鏡像檔案中第一個(gè)己備份數(shù)據(jù)線區(qū)塊 的數(shù)據(jù)線;在數(shù)據(jù)線恢復(fù)過程中,判斷鏡像檔案的數(shù)據(jù)線備份模式是否發(fā)生變化(步 驟204),其中判斷鏡像檔案的數(shù)據(jù)線備份模式是否發(fā)生變化是每恢復(fù)完一個(gè) 已備份數(shù)據(jù)線區(qū)塊的數(shù)據(jù)線便判斷數(shù)據(jù)線區(qū)塊備份結(jié)束的位置處的還原點(diǎn)標(biāo) 志號(hào)是否與鏡像檔案頭信息中記錄的最后一個(gè)還原點(diǎn)標(biāo)志號(hào)相同,如不相同, 則表示數(shù)據(jù)線備份模式未發(fā)生變化,于是執(zhí)行步驟205,以繼續(xù)按照選定的數(shù) 據(jù)線恢復(fù)模式對(duì)鏡像檔案中下一個(gè)己備份數(shù)據(jù)線區(qū)塊的數(shù)據(jù)線進(jìn)行數(shù)據(jù)線恢 復(fù),如相同,則表示數(shù)據(jù)線備份模式發(fā)生變化,于是執(zhí)行歩驟206;按照選定的數(shù)據(jù)線恢復(fù)模式繼續(xù)對(duì)鏡像檔案中的數(shù)據(jù)線(即下--個(gè)已備份 數(shù)據(jù)線區(qū)塊的數(shù)據(jù)線)進(jìn)行數(shù)據(jù)線恢復(fù)(步驟205),然后執(zhí)行步驟207;轉(zhuǎn)換數(shù)據(jù)線恢復(fù)模式為通用二進(jìn)制數(shù)據(jù)線恢復(fù)模式,并對(duì)鏡像檔案中剩余 的全部數(shù)據(jù)線進(jìn)行數(shù)據(jù)線恢復(fù)(步驟206),然后結(jié)束數(shù)據(jù)線恢復(fù)過程;以及
判斷鏡像檔案的數(shù)據(jù)線恢復(fù)是否全部完成(歩驟207),若完成則結(jié)束數(shù) 據(jù)線恢復(fù)過程,若未完成則返回至歩驟204。此處需要說明的是,上述本發(fā)明的一種檔案系統(tǒng)的備份與恢復(fù)方法屮所提 到的通用二進(jìn)制數(shù)據(jù)線備份與恢復(fù)模式,是在磁盤讀寫的級(jí)別進(jìn)行相應(yīng)操作, 對(duì)磁盤的逐個(gè)扇區(qū)進(jìn)行備份與恢復(fù),不會(huì)受檔案系統(tǒng)種類的限制,這種通用二 進(jìn)制數(shù)據(jù)線備份與恢復(fù)操作模式的優(yōu)點(diǎn)是通用性強(qiáng),不受檔案系統(tǒng)的限制; 其缺點(diǎn)是不能區(qū)分?jǐn)?shù)據(jù)線是否有效,對(duì)全部數(shù)據(jù)線進(jìn)行備份與恢復(fù)操作,效 率較低,而且無法進(jìn)行分區(qū)容量調(diào)整的變化操作。反之,其它的數(shù)據(jù)線備份與 恢復(fù)操作模式是在檔案系統(tǒng)類型的基礎(chǔ)的上進(jìn)行數(shù)據(jù)線備份與恢復(fù)操作的,每 種數(shù)據(jù)線備份與恢復(fù)操作模式只能對(duì)應(yīng)--種特定的檔案系統(tǒng)類型來抽取檔案 系統(tǒng)中的有效數(shù)據(jù)線進(jìn)行備份與恢復(fù),這種數(shù)據(jù)線備份與恢復(fù)操作模式的優(yōu)點(diǎn) 是備份與恢復(fù)操作只針對(duì)用戶數(shù)據(jù)線進(jìn)行,不受檔案系統(tǒng)本身大小的影響, 效率較高,而且在數(shù)據(jù)線恢復(fù)過程中也可以支持分區(qū)容量調(diào)整的變化;其缺點(diǎn) 是通用性差,只能針對(duì)單一類型的檔案系統(tǒng)結(jié)構(gòu)進(jìn)行數(shù)據(jù)線備份與恢復(fù)操作。以下,將通過兩個(gè)實(shí)施例,對(duì)本發(fā)明的一種檔案系統(tǒng)的備份與恢復(fù)方法做 進(jìn) -步說明,以便本領(lǐng)域的技術(shù)人員能對(duì)本發(fā)明的檔案系統(tǒng)的備份與恢復(fù)方法 有更為清楚的認(rèn)識(shí)與了解。實(shí)施例h例如某企業(yè)計(jì)算機(jī)系統(tǒng)管理人員,需要對(duì)某些設(shè)置好的系統(tǒng)進(jìn)行備份操 作,由于某些特殊原因(如扇區(qū)受損、非法關(guān)機(jī)及異常重新開機(jī)等),致使系 統(tǒng)的檔案系統(tǒng)出現(xiàn)不一致的現(xiàn)象,但系統(tǒng)仍然可以正常啟動(dòng)和使用。在這種情 況下,如果采用傳統(tǒng)的備份與恢復(fù)方法對(duì)其進(jìn)行備份與恢復(fù)操作,應(yīng)用軟件在 解析檔案系統(tǒng)時(shí)很可能會(huì)發(fā)生錯(cuò)誤,而導(dǎo)致操作失敗。如果想解決此問題,用 戶就不得不花費(fèi)大量時(shí)間對(duì)存在不一致性的檔案系統(tǒng)進(jìn)行檢査和修復(fù),而這樣 做義會(huì)存在一個(gè)很大的風(fēng)險(xiǎn),那就是有可能會(huì)損壞原有的用戶數(shù)據(jù)線,顯然, 這樣結(jié)果是非常嚴(yán)重和危險(xiǎn)的。而采用上述本發(fā)明所提供的備份與恢復(fù)方法,用戶無須對(duì)存在不一致性的 檔案系統(tǒng)進(jìn)行檢查和修復(fù),應(yīng)用程序會(huì)在備份過程中自動(dòng)判斷待備份的數(shù)據(jù)線 區(qū)塊的元數(shù)據(jù)結(jié)構(gòu)內(nèi)容與檔案系統(tǒng)的整體數(shù)據(jù)結(jié)構(gòu)信息是否存在"不一致性", 當(dāng)發(fā)現(xiàn)不一致時(shí),將鏡像檔案重新定位到上一個(gè)還原點(diǎn)標(biāo)志,并將數(shù)據(jù)線備份
模式轉(zhuǎn)換為通用二進(jìn)制數(shù)據(jù)線備份模式就可以直接將磁盤分區(qū)中剩余的全部 數(shù)據(jù)線逐^備份至鏡像檔案中,直全:檔案系統(tǒng)的數(shù)據(jù)線備份結(jié)束時(shí)為止;、3用 戶對(duì)鏡像檔案中已備份好的數(shù)據(jù)線進(jìn)行恢復(fù)時(shí),每恢復(fù)完--個(gè)已備份數(shù)據(jù)線區(qū) 塊的數(shù)據(jù)線便判斷數(shù)據(jù)線區(qū)塊備份結(jié)束的位置處的還原點(diǎn)標(biāo)志號(hào)是否與鏡像 檔案頭信息中記錄的最后 個(gè)還原點(diǎn)標(biāo)志號(hào)相同,如果相同,則證明鏡像檔案 中后面剩余的數(shù)據(jù)線都是以通用二進(jìn)制模式進(jìn)行備份的,則應(yīng)用程序會(huì)自動(dòng)對(duì) 當(dāng)前的數(shù)據(jù)線恢復(fù)模式進(jìn)行相應(yīng)調(diào)整,將其轉(zhuǎn)換為通用二進(jìn)制數(shù)據(jù)線恢復(fù)模 式,并對(duì)鏡像檔案中剩余的全部數(shù)據(jù)線進(jìn)行數(shù)據(jù)線恢復(fù),如果不相同,則證明 鏡像檔案中下-個(gè)數(shù)據(jù)線區(qū)塊的數(shù)據(jù)線仍是以選定的數(shù)據(jù)線備份模式進(jìn)行備 份的,因此繼續(xù)按照選定的數(shù)據(jù)線恢復(fù)模式對(duì)鏡像檔案中下-個(gè)已備份數(shù)據(jù)線 區(qū)塊的數(shù)據(jù)線進(jìn)行數(shù)據(jù)線恢復(fù)。如此不僅相關(guān)的數(shù)據(jù)線備份與恢復(fù)操作可以順 利完成,而且還可以保證用戶數(shù)據(jù)線在備份與恢復(fù)時(shí)的正確性與完整性。 實(shí)施例2:雖然每種檔案系統(tǒng)的具體結(jié)構(gòu)各有區(qū)別,但其框架結(jié)構(gòu)都大致相同,基本 操作思路也都比較相近。下面以Ext3檔案系統(tǒng)(一種具有日志記錄功能的日 志式檔案系統(tǒng))為例,對(duì)上述本發(fā)明備份與恢復(fù)方法的技術(shù)點(diǎn)進(jìn)行更進(jìn)一歩地 講解。Ext3檔案系統(tǒng)10的基本結(jié)構(gòu)如圖4所示。 1、備份過程(1) 判斷檔案系統(tǒng)的種類 首先解析磁盤分區(qū)起始位置的數(shù)據(jù)結(jié)構(gòu),每種檔案系統(tǒng)都具有自身的獨(dú)特結(jié)構(gòu)和幻數(shù)(Magic Number),例如Ext3檔案系統(tǒng)10在起始的超級(jí)區(qū)塊11 (Super Block)中的固定位置包含了自身的幻數(shù)信息,為0xEF53。應(yīng)用程序 可以解析此幻數(shù)來確定此檔案系統(tǒng)的類型為Ext3檔案系統(tǒng)。(2) 判斷檔案系統(tǒng)是否存在"不一致性"以及發(fā)現(xiàn)系統(tǒng)存在"不一致性" 時(shí)如何執(zhí)行備份操作應(yīng)用程序首先解析超級(jí)區(qū)塊11中的數(shù)據(jù)線信息,獲得檔案系統(tǒng)的整體信 息。當(dāng)然,超級(jí)區(qū)塊11本身包含對(duì)自身的校驗(yàn)碼,可以確保所獲得的數(shù)據(jù)線 信息的正確性。然后依序?qū)χ饌€(gè)數(shù)據(jù)線區(qū)塊16進(jìn)行解析,抽取用戶數(shù)據(jù)線。 在抽取過程中,應(yīng)用程序會(huì)通過數(shù)據(jù)塊位圖12來判斷數(shù)據(jù)塊15是否存有數(shù)據(jù)
線,并通過索引節(jié)點(diǎn)位圖13和索引節(jié)點(diǎn)表14可以確定檔案節(jié)點(diǎn)所占用的數(shù)據(jù)塊號(hào),如果此數(shù)據(jù)塊號(hào)屬于非常規(guī)值(如負(fù)值、元數(shù)據(jù)塊號(hào)或超出規(guī)定范圍等等)或者指定的數(shù)據(jù)塊號(hào)與數(shù)據(jù)塊位圖12的數(shù)據(jù)線相沖突,則可以判定此檔 案系統(tǒng)中的元數(shù)據(jù)結(jié)構(gòu)信息有誤,存在"不一致性",此時(shí)即可通過上述本發(fā) 明所提供的備份與恢復(fù)方法將鏡像檔案重新定位到上一個(gè)還原點(diǎn)標(biāo)忐,并將數(shù) 據(jù)線備份模式轉(zhuǎn)換為通用二進(jìn)制數(shù)據(jù)線備份模式后直接將磁盤分區(qū)中剩余的 全部數(shù)據(jù)線逐一備份至鏡像檔案中,直至檔案系統(tǒng)的數(shù)據(jù)線備份結(jié)束時(shí)為止。 2、恢復(fù)過程應(yīng)用程序會(huì)首先解析鏡像(Image)檔案,得到已備份的磁盤分區(qū)的檔案 系統(tǒng)的類型信息,并以相應(yīng)的恢復(fù)模式對(duì)其進(jìn)行數(shù)據(jù)線恢復(fù)。每恢復(fù)完一個(gè)數(shù) 據(jù)線區(qū)塊16,就檢査此數(shù)據(jù)區(qū)塊16結(jié)尾處的還原點(diǎn)標(biāo)志, 一旦此還原點(diǎn)標(biāo)志 號(hào)與鏡像檔案頭信息中記錄的還原點(diǎn)標(biāo)志號(hào)相同時(shí),則說明后面剩余的數(shù)據(jù)線 都是以通用二進(jìn)制模式進(jìn)行備份的,則應(yīng)用程序會(huì)自動(dòng)對(duì),'1前的數(shù)據(jù)線恢復(fù)模 式進(jìn)行相應(yīng)調(diào)整,將其轉(zhuǎn)換為通用二進(jìn)制數(shù)據(jù)線恢復(fù)模式,以確保鏡像檔案中 剩余的全部數(shù)據(jù)線能夠順利恢復(fù)完成;如果此還原點(diǎn)標(biāo)志號(hào)與鏡像檔案頭信息 中記錄的還原點(diǎn)標(biāo)志號(hào)不相同,則證明下一個(gè)數(shù)據(jù)線區(qū)塊16的數(shù)據(jù)線仍是以 選定的數(shù)據(jù)線備份模式進(jìn)行備份的,閑此繼續(xù)按照選定的數(shù)據(jù)線恢復(fù)模式對(duì)鏡 像檔案中下一個(gè)已備份數(shù)據(jù)線區(qū)塊16的數(shù)據(jù)線進(jìn)行數(shù)據(jù)線恢復(fù)。當(dāng)然,本發(fā)明還可有其它多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情 況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但 這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1、一種檔案系統(tǒng)的備份與恢復(fù)方法,用以對(duì)一計(jì)算機(jī)系統(tǒng)的磁盤分區(qū)中的檔案系統(tǒng)數(shù)據(jù)線進(jìn)行鏡像備份與恢復(fù),其特征在于,該方法包含以下步驟(a)判別該磁盤分區(qū)的檔案系統(tǒng)類型;(b)根據(jù)該檔案系統(tǒng)類型選擇數(shù)據(jù)線備份模式;(c)提取需要備份的檔案系統(tǒng)中的數(shù)據(jù)線;(d)判斷該檔案系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)信息是否正確,若正確則執(zhí)行步驟(e),若不正確則執(zhí)行步驟(f);(e)按照該選定的數(shù)據(jù)線備份模式將該數(shù)據(jù)線備份至一鏡像檔案中,然后執(zhí)行步驟(g);(f)轉(zhuǎn)換該數(shù)據(jù)線備份模式為通用二進(jìn)制數(shù)據(jù)線備份模式,并將該磁盤分區(qū)中剩余的數(shù)據(jù)線全部備份至該鏡像檔案中,然后結(jié)束數(shù)據(jù)線備份過程;以及(g)判斷該檔案系統(tǒng)的數(shù)據(jù)線備份是否全部完成,若完成則結(jié)束數(shù)據(jù)線備份過程,若未完成則返回至步驟(c)。
2、 根據(jù)權(quán)利要求1所述的檔案系統(tǒng)的備份與恢復(fù)方法,其特征在于,還 包含如下步驟(h) 解析該鏡像檔案,以判別出該鏡像檔案中的數(shù)據(jù)線在備份開始時(shí)所 采用的數(shù)據(jù)線備份模式;(i) 根據(jù)該數(shù)據(jù)線備份模式選擇相對(duì)應(yīng)的數(shù)據(jù)線恢復(fù)模式;(j)按照選定的該數(shù)據(jù)線恢復(fù)模式對(duì)該鏡像檔案中的數(shù)據(jù)線進(jìn)行數(shù)據(jù)線恢復(fù);(k)在數(shù)據(jù)線恢復(fù)過程中,判斷該鏡像檔案的數(shù)據(jù)線備份模式是否發(fā)生 變化,若未發(fā)生變化則執(zhí)行步驟(1),若發(fā)生變化則執(zhí)行歩驟(m);(1)按照選定的該數(shù)據(jù)線恢復(fù)模式繼續(xù)對(duì)該鏡像檔案中的數(shù)據(jù)線進(jìn)行數(shù) 據(jù)線恢復(fù),然后執(zhí)行步驟(n);(m)轉(zhuǎn)換該數(shù)據(jù)線恢復(fù)模式為通用二進(jìn)制數(shù)據(jù)線恢復(fù)模式,并對(duì)該鏡像 檔案中剩余的全部數(shù)據(jù)線進(jìn)行數(shù)據(jù)線恢復(fù),然后結(jié)束數(shù)據(jù)線恢復(fù)過程;以及(n)判斷該鏡像檔案的數(shù)據(jù)線恢復(fù)是否全部完成,若完成則結(jié)束數(shù)據(jù)線 恢復(fù)過程,若未完成則返回至歩驟(k)。
3、 根據(jù)權(quán)利要求1所述的檔案系統(tǒng)的備份與恢復(fù)方法,其特征在于,該 步驟(c)中所述的提取需要備份的檔案系統(tǒng)中的數(shù)據(jù)線是將該檔案系統(tǒng)的數(shù) 據(jù)線分成多個(gè)連續(xù)分布的數(shù)據(jù)線區(qū)塊,并依序提取每一數(shù)據(jù)線區(qū)塊以進(jìn)行后續(xù) 的數(shù)據(jù)線備份操作。
4、 根據(jù)權(quán)利要求1所述的檔案系統(tǒng)的備份與恢復(fù)方法,其特征在于,該 步驟(e)中還包含當(dāng)每一數(shù)據(jù)線區(qū)塊的數(shù)據(jù)線備份完成之后,于該鏡像檔案 的當(dāng)前位置,即該數(shù)據(jù)線區(qū)塊備份結(jié)束的位置寫入一還原點(diǎn)標(biāo)志的步驟。
5、 根據(jù)權(quán)利要求1所述的檔案系統(tǒng)的備份與恢復(fù)方法,其特征在于,該 步驟(d)中所述的判斷該檔案系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)信息是否正確是在對(duì)提取的每 一數(shù)據(jù)線區(qū)塊進(jìn)行備份之前,判斷解析該檔案系統(tǒng)的數(shù)據(jù)線區(qū)塊的元數(shù)據(jù)結(jié)構(gòu) 內(nèi)容與該檔案系統(tǒng)的整體數(shù)據(jù)結(jié)構(gòu)信息是否存在不一致性。
6、 根據(jù)權(quán)利要求1所述的檔案系統(tǒng)的備份與恢復(fù)方法,其特征在于,該 步驟(f)進(jìn)一步分解為如下步驟當(dāng)發(fā)現(xiàn)待備份的數(shù)據(jù)線區(qū)塊的元數(shù)據(jù)結(jié)構(gòu)內(nèi)容與該檔案系統(tǒng)的整體數(shù)據(jù) 結(jié)構(gòu)信息存在不一致性時(shí),將該鏡像檔案重新定位到上一個(gè)還原點(diǎn)標(biāo)志;將該數(shù)據(jù)線備份模式轉(zhuǎn)換為通用二進(jìn)制數(shù)據(jù)線備份模式;通過該通用二進(jìn)制數(shù)據(jù)線備份模式從該磁盤分區(qū)上出現(xiàn)不一致性的數(shù)據(jù) 區(qū)塊的起始位置開始,將該磁盤分區(qū)中剩余的全部數(shù)據(jù)線逐一備份至該鏡像檔 案中,直至該檔案系統(tǒng)的數(shù)據(jù)線備份結(jié)束為止;以及在該鏡像檔案頭信息中記錄最后一個(gè)還原點(diǎn)標(biāo)志號(hào)。
7、 根據(jù)權(quán)利要求2所述的檔案系統(tǒng)的備份與恢復(fù)方法,其特征在于,步 驟(k)中所述的判斷該鏡像檔案的數(shù)據(jù)線備份模式是否發(fā)生變化是每恢復(fù)完 一個(gè)已備份數(shù)據(jù)線區(qū)塊的數(shù)據(jù)線便判斷該數(shù)據(jù)線區(qū)塊備份結(jié)束的位置處的還 原點(diǎn)標(biāo)志號(hào)是否與該鏡像檔案頭信息中記錄的最后一個(gè)還原點(diǎn)標(biāo)志號(hào)相同,如 相同,則執(zhí)行步驟(m);如不相同,則執(zhí)行步驟(1),以繼續(xù)按照選定的該 數(shù)據(jù)線恢復(fù)模式對(duì)該鏡像檔案中下一已備份數(shù)據(jù)線區(qū)塊的數(shù)據(jù)線進(jìn)行數(shù)據(jù)線 恢復(fù)。
8、 根據(jù)權(quán)利要求1所述的檔案系統(tǒng)的備份與恢復(fù)方法,其特征在于,步 驟(a)中所述的判別該磁盤分區(qū)的檔案系統(tǒng)類型是通過應(yīng)用程序解析該檔案 系統(tǒng)的開始位置的幻數(shù)與整體數(shù)據(jù)結(jié)構(gòu)來識(shí)別該磁盤分區(qū)的檔案系統(tǒng)類型。
9、根據(jù)權(quán)利要求1所述的檔案系統(tǒng)的備份與恢復(fù)方法,其特征在于,步 驟(a)中還包含將該檔案系統(tǒng)的類型信息記錄到該鏡像檔案頭信息屮的步驟。
全文摘要
一種檔案系統(tǒng)的備份與恢復(fù)方法,用以對(duì)計(jì)算機(jī)系統(tǒng)的磁盤分區(qū)中的檔案系統(tǒng)數(shù)據(jù)線進(jìn)行鏡像備份與恢復(fù),本方法在執(zhí)行備份操作時(shí),先根據(jù)檔案系統(tǒng)類型選擇相應(yīng)的數(shù)據(jù)線備份模式,當(dāng)發(fā)現(xiàn)需要備份的檔案系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)信息不正確時(shí),將選定的數(shù)據(jù)線備份模式轉(zhuǎn)換為通用二進(jìn)制數(shù)據(jù)線備份模式對(duì)剩余的數(shù)據(jù)線內(nèi)容繼續(xù)進(jìn)行備份;本方法在執(zhí)行恢復(fù)操作時(shí),可根據(jù)鏡像檔案中已備份數(shù)據(jù)線的備份模式選擇相對(duì)應(yīng)的數(shù)據(jù)線恢復(fù)模式對(duì)數(shù)據(jù)線進(jìn)行恢復(fù),如此當(dāng)鏡像檔案的數(shù)據(jù)線備份模式發(fā)生變化時(shí)仍能順利完成恢復(fù)操作。本方法確保了檔案系統(tǒng)數(shù)據(jù)線在備份與恢復(fù)時(shí)的正確性及完整性。
文檔編號(hào)G06F11/14GK101118506SQ20061009916
公開日2008年2月6日 申請(qǐng)日期2006年7月31日 優(yōu)先權(quán)日2006年7月31日
發(fā)明者劉文涵, 吳樹桂, 周宏亮, 陳玄同 申請(qǐng)人:英業(yè)達(dá)股份有限公司