国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于文件系統(tǒng)快照持久性的方法和裝置的制作方法

      文檔序號:6513919閱讀:544來源:國知局
      專利名稱:用于文件系統(tǒng)快照持久性的方法和裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明通常涉及改進型數(shù)據(jù)處理系統(tǒng),特別是,用于處理數(shù)據(jù)的方法和裝置。更具體而言,本發(fā)明提供了一種用于管理文件系統(tǒng)的方法,裝置和計算機指令背景技術(shù)文件系統(tǒng)是用于在盤上存儲和檢索文件的機制。文件系統(tǒng)定義了用于跟蹤文件的目錄結(jié)構(gòu)和訪問文件所需的路徑語法。文件系統(tǒng)也定義了命名文件的方式,以及文件或卷的最大文件尺寸。文件系統(tǒng)通常由兩個不同的部分組成,即文件集合和目錄結(jié)構(gòu)。在文件集合中的每個文件存儲有關(guān)的數(shù)據(jù)。目錄結(jié)構(gòu)組織并提供有關(guān)文件系統(tǒng)中文件的信息。
      關(guān)于文件系統(tǒng)的某些問題涉及文件系統(tǒng)中出現(xiàn)的損壞和錯誤。采用文件系統(tǒng)快照來建立在某一時間點處文件系統(tǒng)的一致塊級映像。塊表示同時一起發(fā)送或處理的數(shù)據(jù)組。塊也被稱之為數(shù)據(jù)塊。例如,塊的大小可為1K字節(jié)。文件系統(tǒng)快照用于創(chuàng)建文件系統(tǒng)的備份。
      這些快照用于重構(gòu)文件系統(tǒng)。目前的快照對于數(shù)據(jù)處理系統(tǒng)崩潰不具有持久性(persistence)。本發(fā)明認識到當(dāng)前可獲得的快照系統(tǒng)在文件系統(tǒng)恢復(fù)操作期間并不會被保持。從而,這些類型的快照在系統(tǒng)重新啟動期間不具持久性。
      因此,提供用于創(chuàng)建和管理文件系統(tǒng)快照的改進型方法,裝置,和計算機指令將是有益的。

      發(fā)明內(nèi)容
      本發(fā)明提供了一種用于在數(shù)據(jù)處理系統(tǒng)中管理文件系統(tǒng)中的數(shù)據(jù)的方法,裝置和計算機指令。在文件系統(tǒng)恢復(fù)期間,檢測用于修改文件系統(tǒng)中數(shù)據(jù)塊的請求。當(dāng)檢測到該請求時,將描述數(shù)據(jù)塊的元數(shù)據(jù)寫入快照映像。將文件系統(tǒng)中數(shù)據(jù)塊的數(shù)據(jù)拷貝到快照映像。當(dāng)將該數(shù)據(jù)拷貝到快照映像中之后修改文件系統(tǒng)中的數(shù)據(jù)塊。該快照映像可用于將文件系統(tǒng)返回到修改文件系統(tǒng)中的數(shù)據(jù)塊之前的狀態(tài)。


      看作是本發(fā)明特性的新穎特征由所附權(quán)利要求給出。不過,結(jié)合附圖,參照以下示意性實施例的詳細描述,將更好地理解本發(fā)明本身,優(yōu)選實施方式,及其他目的和優(yōu)點,其中圖1為根據(jù)本發(fā)明優(yōu)選實施例可實現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的示意圖;圖2為可實現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的框圖;圖3表示根據(jù)本發(fā)明優(yōu)選實施例用在創(chuàng)建和管理文件系統(tǒng)快照中的示意性部件;圖4表示根據(jù)本發(fā)明優(yōu)選實施例的快照元數(shù)據(jù);圖5表示根據(jù)本發(fā)明優(yōu)選實施例、文件系統(tǒng)快照的開始部分的示意圖;圖6表示根據(jù)本發(fā)明優(yōu)選實施例、快照映像中的快照映像組的示意圖;圖7表示根據(jù)本發(fā)明優(yōu)選實施例、快照映像組中的快照映像頁的示意圖;圖8表示根據(jù)本發(fā)明優(yōu)選實施例的分段的示意圖;圖9A和9B表示根據(jù)本發(fā)明優(yōu)選實施例、用于更新文件系統(tǒng)快照的流程圖;圖10表示根據(jù)本發(fā)明優(yōu)選實施例、用于啟動恢復(fù)過程的過程;圖11表示根據(jù)本發(fā)明優(yōu)選實施例、用于檢查文件系統(tǒng)的過程;圖12表示根據(jù)本發(fā)明優(yōu)選實施例、用于對文件系統(tǒng)執(zhí)行文件系統(tǒng)檢查恢復(fù)過程的過程;
      圖13表示根據(jù)本發(fā)明優(yōu)選實施例、用于對寫有日志的文件系統(tǒng)執(zhí)行日志重寫恢復(fù)過程的過程。
      具體實施例方式
      現(xiàn)在參照附圖,具體參照圖1進行描述,其中,圖1表示根據(jù)本發(fā)明優(yōu)選實施例可實現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的示意圖。所示計算機100包括系統(tǒng)單元102,視頻顯示終端104,鍵盤106,存儲設(shè)備108(存儲設(shè)備108可包括軟盤驅(qū)動器以及其他類型的永久和可移動存儲介質(zhì)),和鼠標110。個人計算機100還可包括附加輸入設(shè)備,如操縱桿,觸摸板,觸摸屏,跟蹤球,麥克風(fēng)等。計算機100可使用任何合適的計算機實現(xiàn),如IBM eServer計算機或IntelliStation計算機(它們是處于紐約Armonk的IBM公司的產(chǎn)品)。盡管所述表示示出為計算機,然而還可以用其他類型的數(shù)據(jù)處理系統(tǒng),如網(wǎng)絡(luò)計算機,來構(gòu)成本發(fā)明的其他實施例。計算機100還優(yōu)選包括圖形用戶接口(GUI),在計算機100的運行操作中,圖形用戶接口可通過駐留在計算機可讀介質(zhì)中的系統(tǒng)軟件來實現(xiàn)。
      現(xiàn)參照圖2,圖2表示可實現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的框圖。數(shù)據(jù)處理系統(tǒng)200是計算機的示例,如圖1中的計算機100,其中,可設(shè)置有用于實現(xiàn)本發(fā)明的過程的代碼或指令。數(shù)據(jù)處理系統(tǒng)200采用外設(shè)部件接口(PCI)局部總線體系結(jié)構(gòu)。雖然所述示例采用PCI總線,但也可采用其他總線體系結(jié)構(gòu),如加速圖形端口(AGP)和工業(yè)標準體系結(jié)構(gòu)(ISA)。處理器202和主存儲器204通過PCI橋208與PCI局部總線206連接。PCI橋208還可包括用于處理器202的集成存儲器控制器和高速緩存。通過直接部件互連或通過內(nèi)插(add-in)連接器可構(gòu)成到PCI局部總線206的附加連接。在所述示例中,局域網(wǎng)(LAN)適配器210,小型計算機系統(tǒng)接口SCSI主機總線適配器212,和擴展總線接口214通過直接部件連接與PCI局部總線206連接。與之相反,音頻適配器216,圖形適配器218,和音頻/視頻適配器219通過插入到擴展槽中的內(nèi)插板與PCI局部總線206連接。擴展總線接口214為鍵盤和鼠標適配器220,調(diào)制解調(diào)器222,和附加存儲器224提供連接。SCSI主機總線適配器212為硬盤驅(qū)動器226,磁帶驅(qū)動器228,和CD-ROM驅(qū)動器230提供連接。典型的PCI局部總線的實現(xiàn)將支持三或四個PCI擴展槽或內(nèi)插連接。
      操作系統(tǒng)運行在處理器202上,用于協(xié)調(diào)和控制如圖2所示數(shù)據(jù)處理系統(tǒng)200內(nèi)的各種部件。操作系統(tǒng)可為市場上可獲得的操作系統(tǒng),如Windows XP(可從微軟公司獲得)。面向?qū)ο蟮木幊滔到y(tǒng),如Java,可結(jié)合操作系統(tǒng)運行,并提供從數(shù)據(jù)處理系統(tǒng)200上執(zhí)行的Java程序或應(yīng)用對操作系統(tǒng)的調(diào)用?!癑ava”為Sun Microsystems公司的商標。用于操作系統(tǒng)的指令,面向?qū)ο蟮木幊滔到y(tǒng),以及應(yīng)用或程序置于存儲設(shè)備上,如硬盤驅(qū)動器226上,并可將其載入主存儲器204中以便由處理器202執(zhí)行。
      本領(lǐng)域普通技術(shù)人員將會理解,在圖2中的硬件可根據(jù)實現(xiàn)方式進行變化。除圖2所示的硬件外,還可使用或代之以使用其他內(nèi)部硬件或外設(shè),如快擦寫只讀存儲器(ROM),等效非易失性存儲器,或光盤驅(qū)動器等。此外,本發(fā)明的程序還可應(yīng)用于多處理器數(shù)據(jù)處理系統(tǒng)。
      例如,對于數(shù)據(jù)處理系統(tǒng)200,如果可選地配置為網(wǎng)絡(luò)計算機,其可不包含SCSI主機總線適配器212,硬盤驅(qū)動器226,磁帶驅(qū)動器228,和CD-ROM 230。在此情形中,計算機(恰當(dāng)稱之為客戶機計算機)包括某些類型的網(wǎng)絡(luò)通信接口,如LAN適配器210,調(diào)制解調(diào)器222等。作為另一示例,數(shù)據(jù)處理系統(tǒng)200可為獨立系統(tǒng),其被配置成可在不依賴于某類型網(wǎng)絡(luò)通信接口的條件下進行啟動,而不管數(shù)據(jù)處理系統(tǒng)200是否包括某類型網(wǎng)絡(luò)通信接口。作為又一示例,數(shù)據(jù)處理系統(tǒng)200可為個人數(shù)字助理(PDA),且該個人數(shù)字助理配置有ROM和/或快擦寫ROM,以提供用于存儲操作系統(tǒng)文件和/或用戶生成的數(shù)據(jù)的非易失性存儲器。
      圖2所述示例以及上述示例并不意在表示對體系結(jié)構(gòu)的限制。例如,除采用PDA的形式外,數(shù)據(jù)處理系統(tǒng)200還可為筆記本計算機或手持式計算機。數(shù)據(jù)處理系統(tǒng)200還可為公用信息機(kiosk)或Web電器。
      本發(fā)明的處理通過處理器202使用計算機實現(xiàn)的指令來執(zhí)行,指令可設(shè)置在諸如主存儲器204,存儲器224之類的存儲器中,或設(shè)置在一個或多個外設(shè)226-230中。
      參看圖3,圖3表示根據(jù)本發(fā)明優(yōu)選實施例用在創(chuàng)建和管理文件系統(tǒng)快照中的示意性部件。如此處所使用的,術(shù)語“快照”用于表示文件系統(tǒng)的快照,另外還可將其稱為“文件系統(tǒng)快照”。
      在該示例中,存在有用戶空間300和內(nèi)核空間302??煺沼脩艚涌?04和恢復(fù)用戶接口306處在用戶空間300中。采用這些用戶接口以接收用來創(chuàng)建快照的用戶輸入,以及當(dāng)要將文件系統(tǒng)恢復(fù)到先前狀態(tài)時執(zhí)行恢復(fù)處理。具體是,使用快照用戶接口304啟動快照的創(chuàng)建。該接口用于接收諸如創(chuàng)建或刪除查詢之類的命令。用戶可為個人或應(yīng)用程序?;謴?fù)用戶接口306用于在系統(tǒng)崩潰或斷電后啟動文件系統(tǒng)的恢復(fù)。
      內(nèi)核空間302包含文件處理線程308,文件系統(tǒng)快照線程310,邏輯卷管理器312,文件系統(tǒng)設(shè)備314,和快照設(shè)備316。文件系統(tǒng)318處在文件系統(tǒng)設(shè)備314內(nèi),而快照320處在快照設(shè)備316內(nèi)。在這些示例中,這兩個設(shè)備為邏輯卷。文件處理線程308用于數(shù)據(jù)訪問,如讀操作,寫操作,或安裝驅(qū)動操作。對文件系統(tǒng)(如文件系統(tǒng)設(shè)備314中的文件系統(tǒng)318)中發(fā)現(xiàn)的數(shù)據(jù)執(zhí)行這些操作。當(dāng)在正常文件系統(tǒng)操作期間接收到用于數(shù)據(jù)訪問的請求時,使用文件處理線程308的處理。
      文件系統(tǒng)快照線程310用于實現(xiàn)創(chuàng)建快照(如處在快照設(shè)備316中的快照320)的處理。該設(shè)備可設(shè)置在多個位置。例如,快照320可與文件系統(tǒng)318處在同一物理硬盤驅(qū)動器上?;蛘撸煺?20可處在另一存儲介質(zhì)上,如非易失性隨機存取存儲器(NVRAM),另一物理硬盤驅(qū)動器,或光學(xué)介質(zhì)上。邏輯卷管理器312用于在文件處理線程308,文件系統(tǒng)快照線程310和邏輯設(shè)備,與文件系統(tǒng)設(shè)備314和快照設(shè)備316之間提供接口。
      在運行期間,按照當(dāng)數(shù)據(jù)處理系統(tǒng)中出現(xiàn)崩潰時可重構(gòu)快照320中的狀態(tài)的方式,構(gòu)造快照元數(shù)據(jù)并將其寫入快照320。在這些說明性示例中,在文件系統(tǒng)恢復(fù)或修復(fù)期間,在快照設(shè)備320中重構(gòu)的快照通過恢復(fù)或修復(fù)程序而不斷被更新,從而使重新設(shè)置時所重構(gòu)快照的狀態(tài)與重新設(shè)置時所修復(fù)的文件系統(tǒng)的狀態(tài)相一致。當(dāng)文件系統(tǒng)恢復(fù)或修復(fù)操作完成后,快照將繼續(xù)包含創(chuàng)建快照時刻的文件系統(tǒng)的一致塊級映像。
      特別是,當(dāng)在文件系統(tǒng)中要修改數(shù)據(jù)時,如將其寫入文件系統(tǒng)318或從文件系統(tǒng)318中將其刪除時,使用來自文件系統(tǒng)的數(shù)據(jù)來更新快照320。在這些示例中,將所要在文件系統(tǒng)318中修改的數(shù)據(jù)塊在對其實際進行修改之前將其拷貝到快照320中。除來自數(shù)據(jù)塊的數(shù)據(jù)外,還將描述修改之前該數(shù)據(jù)塊的信息和元數(shù)據(jù)拷貝或?qū)懭氲娇煺?20中??墒褂迷卺槍煺?20中數(shù)據(jù)塊的運行期間所產(chǎn)生的元數(shù)據(jù)和數(shù)據(jù),將文件系統(tǒng)318設(shè)置到對該數(shù)據(jù)塊進行修改之前的狀態(tài)。
      下面參看圖4,圖4表示根據(jù)本發(fā)明優(yōu)選實施例的快照元數(shù)據(jù)。快照元數(shù)據(jù)400為用于跟蹤文件系統(tǒng)中的文件系統(tǒng)塊的快照元數(shù)據(jù)的示例,如在圖3中的快照320??煺赵獢?shù)據(jù)400通過快照處理(如在圖3中的文件系統(tǒng)快照線程310)來創(chuàng)建。在本發(fā)明所示示例中,該快照在數(shù)據(jù)處理系統(tǒng)的系統(tǒng)重新啟動期間是具有持久性的。在這些示例中,當(dāng)文件系統(tǒng)恢復(fù)或修復(fù)操作能夠保持快照映像時,會出現(xiàn)快照的持久性。
      在所示示例中,快照元數(shù)據(jù)400包含快照摘要映像(snapshotsummary map)402,快照映像404,和快照分段406。在快照摘要映像402中的項用于描述在快照映像404中發(fā)現(xiàn)的快照映像頁。在這些示例中,在快照摘要映像402中的每個項描述快照映像404中快照映像組的初始化狀態(tài)。快照映像組包含32個快照映像頁。在快照映像404中的數(shù)據(jù)描述在文件系統(tǒng)中每個數(shù)據(jù)塊的現(xiàn)用(in-use)和拷貝(copied)狀態(tài)??煺辗侄?06包含描述拷貝到快照分段406中的數(shù)據(jù)塊的前映像(before-image)描述符,以及文件系統(tǒng)修改之前的數(shù)據(jù)塊。
      在運行期間,當(dāng)要對文件系統(tǒng)上的數(shù)據(jù)塊進行修改時,在快照元數(shù)據(jù)400中保留盤上(on-disc)結(jié)構(gòu)狀態(tài)。這些修改包括寫入時拷貝(COW,copy-on-write)和刪除時拷貝(COD,copy-on-delete)操作。對數(shù)據(jù)塊的這些狀態(tài)的保留使得能夠?qū)⑽募到y(tǒng)返回到文件系統(tǒng)中的數(shù)據(jù)塊被修改之前的狀態(tài)。對在快照映像404中的快照映像組進行分配,初始化每個快照映像項的現(xiàn)用狀態(tài),并將其同步寫到在快照元數(shù)據(jù)400中初始化的每個快照映像組的盤上。在運行期間,同步初始化和更新摘要快照映像項。
      現(xiàn)在參看圖5,根據(jù)本發(fā)明優(yōu)選實施例,給出了文件系統(tǒng)快照的開始部分的示意圖。部分500表示在硬盤驅(qū)動器上的包含有快照超級塊502,塊映像Xtree拷貝504,和快照摘要映像506的部分。
      快照摘要映像506為快照的開始,如在圖4中的快照元數(shù)據(jù)400。快照超級塊502用于標識快照的開始,并指向自文件系統(tǒng)最后安裝后所寫入的快照中的快照分段的開始和末尾。當(dāng)在數(shù)據(jù)處理系統(tǒng)中文件系統(tǒng)可用于訪問時,文件系統(tǒng)安裝完畢。塊映像X樹(Xtree)拷貝504包含有描述文件系統(tǒng)中不同塊的現(xiàn)用狀態(tài)的文件系統(tǒng)結(jié)構(gòu)映像。快照摘要映像506包含有若干項,其中,每個項指向快照分段,該快照分段包含快照映像組,以及該快照映像組中初始化的每個快照映像頁的現(xiàn)用狀態(tài)的摘要。
      現(xiàn)參看圖6,根據(jù)本發(fā)明優(yōu)選實施例,表示出快照映像中的快照映像組。快照映像組600表示設(shè)置在快照映像(如圖4所示的快照映像404)中的頁的示例。在這些示例中,快照映像組600包括32個頁,但在該圖中僅顯示出其中的4個頁,快照映像頁602,快照映像頁604,快照映像頁606,和快照映像頁608。將快照組600中的每個快照映像頁初始化為現(xiàn)用狀態(tài),并將其同步寫到對于該頁映射的每個文件系統(tǒng)塊的盤上。文件系統(tǒng)塊的前映像進行拷貝后,將文件系統(tǒng)塊的拷貝狀態(tài)異步寫入到快照映像頁中。
      現(xiàn)參看圖7,根據(jù)本發(fā)明優(yōu)選實施例,表示出快照映像組中的快照映像頁??煺沼诚耥?00表示快照映像頁(如在圖6中的快照映像頁602)的示例。該頁或項包含有與快照分段中的該具體頁相關(guān)的每個數(shù)據(jù)塊的現(xiàn)用狀態(tài)的描述。例如,項702,704,706,708,710,712和714描述正處于使用狀態(tài)的文件系統(tǒng)數(shù)據(jù)塊。該示例表示,當(dāng)創(chuàng)建了快照時,文件系統(tǒng)塊0,1,2,508,509,510和511在文件系統(tǒng)中處于現(xiàn)用(in use)狀態(tài)。項716,718和720顯示文件系統(tǒng)塊處理拷貝(copied)狀態(tài)。該示例表示,文件系統(tǒng)塊509,510和511已將其前映像拷貝到快照中。項726,728和730顯示在快照中拷貝了文件系統(tǒng)塊的前映像的位置。該示例表示,文件系統(tǒng)塊509的前映像被拷貝到了快照塊516,文件系統(tǒng)塊510的前映像被拷貝到了快照塊517,以及文件系統(tǒng)塊511的前映像被拷貝到了快照塊518。項722和724顯示為既沒有被使用,又沒有被拷貝。在這些示例中,在快照映像頁700中出現(xiàn)有512個項。出于說明目的,在快照映像頁700中僅顯示出數(shù)個項。
      下面,參看圖8,顯示出根據(jù)本發(fā)明優(yōu)選實施例的分段的示意圖。分段頭部800表示處在快照分段(如在圖4中的快照分段406)中的分段頭部的示例。在該示例中,分段頭部800處在分段801中的某個頁中,在該示例中,分段801的長度為128k字節(jié)。當(dāng)然,根據(jù)實現(xiàn)方式,可使用任何大小的分段。
      分段801包含分段頭部800和248個sLog項,分段頭部800包含鏈接,自身值,和擴展(extent)數(shù)。鏈接是到下一個分段的地址,自身值是當(dāng)前分段的地址。擴展數(shù)的值表示被拷貝到分段中的擴展的數(shù)目。擴展是作為單位分配到文件系統(tǒng)的連續(xù)文件系統(tǒng)塊的序列。如圖所示,sLog項804,806和808是用于描述已拷貝到快照中的文件系統(tǒng)前映像的頭部項的示例。每個sLog項包括循環(huán)冗余校驗(CRC)數(shù)據(jù),起始數(shù)據(jù)塊地址,(sAddr)和長度,該長度表示連續(xù)數(shù)據(jù)塊的數(shù)量。在該示例中,在部分或擴展810或812中找到前映像文件系統(tǒng)數(shù)據(jù)塊。在此情形中,“前映像”表示在創(chuàng)建快照時在文件系統(tǒng)中已存在的文件系統(tǒng)塊。當(dāng)試圖修改塊映像時,該塊映像即成為“前映像”。同時,將新的塊映像稱為“后映像”??煺斋@取文件系統(tǒng)塊的前映像的拷貝,然后,文件系統(tǒng)能夠?qū)⒑笥诚駢K寫入到其設(shè)備上。
      對于分段,如分段801,將前映像數(shù)據(jù)塊同步寫入到這些分段中。這些分段在超級塊(如在圖5中的快照超級塊502)中的鏈表中得以描述。該鏈表的最后分段的頭部,總是在僅次于最后的分段的頭部被寫成指向該最后分段之前被初始化。這些分段還包括描述拷貝到分段中的數(shù)據(jù)塊的前映像描述符。在這些示例中,校驗和字段,如CRC數(shù)據(jù)字段,用于驗證當(dāng)出現(xiàn)崩潰時最后前映像擴展的換出。
      圖9A和9B表示,根據(jù)本發(fā)明優(yōu)選實施例,用于更新文件系統(tǒng)快照的流程圖。在圖9A和9B的處理還可在快照過程(如在圖3中文件系統(tǒng)快照線程310)中實現(xiàn)。
      處理以接收到用于修改文件系統(tǒng)中數(shù)據(jù)的請求而開始,例如寫入或刪除請求(步驟900)。接下來,確定是否存在文件系統(tǒng)的快照(步驟902)。如果存在快照,則確定塊X的快照摘要映像(ssMap)項是否已初始化(步驟904)。在這些示例中,ssMap項在ssMap中創(chuàng)建,如在圖4中的快照摘要映像402中創(chuàng)建。塊X用于在文件系統(tǒng)中要被修改的數(shù)據(jù)塊。如果塊X的ssMap項未被初始化,則對該ssMap項的32個sMap頁進行現(xiàn)用(inUse)狀態(tài)的初始化(步驟906)。這些sMap頁例如可為在圖6所示快照映像組600中的頁。
      之后,將32個快照映像(sMap)頁同步寫入到快照中(步驟908)。接下來,將ssMap標記為已被初始化,在該項中對sMapGroup的位置進行標記,并將其同步寫入到在快照中的摘要快照映像中(步驟910)。
      下面,確定當(dāng)產(chǎn)生快照時塊X是否處于現(xiàn)用狀態(tài)(步驟912)。如果當(dāng)產(chǎn)生快照時在文件系統(tǒng)中塊X處于現(xiàn)用狀態(tài),則確定塊X是否被拷貝到快照中(步驟914)。如果塊X尚未從文件系統(tǒng)拷貝到快照中,則從文件系統(tǒng)讀取來自文件系統(tǒng)的塊X的前映像(步驟916)。
      之后,確定在快照中的當(dāng)前分段是否已滿(步驟918)。如果當(dāng)前分段未滿,則使用以下內(nèi)容修改當(dāng)前分段頭部塊X的前映像在快照中的位置,該數(shù)據(jù)塊在文件系統(tǒng)中的位置,以及塊X的前映像的校驗和(步驟920)。接下來,將分段頭部和塊X的前映像同步寫入到快照中(步驟922)。換而言之,將在修改文件系統(tǒng)的數(shù)據(jù)塊之前從文件系統(tǒng)讀取的對于數(shù)據(jù)塊的數(shù)據(jù)寫入到快照中。之后,異步更新sMap頁,以表示塊X已被拷貝到快照中,以及表示塊X的前映像的位置(步驟924)。該快照映像頁例如可為在圖6中的快照映像頁602。下面,執(zhí)行文件系統(tǒng)修改,如文件系統(tǒng)寫入或刪除操作(步驟926),其后,過程終止。
      轉(zhuǎn)到步驟902,如果快照不存在,則過程進行到如以上所述的步驟926。接下來,回到步驟904,如果塊X的ssMap項已被初始化,則過程直接進行到如以上所述的步驟912。在步驟912中,如果當(dāng)產(chǎn)生快照時塊X未處于現(xiàn)用狀態(tài),則過程進行到如以上所述的步驟926?;氐讲襟E914,如果塊X未拷貝到快照中,則過程進行到如以上所述的步驟926。
      回到步驟918,如果當(dāng)前分段滿,則在快照中為新分段分配空間(步驟928)。接下來,初始化新分段的頭部,以顯示新分段為空,且目前在快照中是最后的分段(步驟930)。然后,同步寫入新分段頭部(步驟932)。此外,標記前一個分段,以使其指向作為下一個分段的新分段(步驟934)。下面,同步寫入前一個分段的頭部(步驟936)。同步寫入這些分段的頭部,并按這種特定順序,從而確保在它們都被寫入盤上之前不會出現(xiàn)系統(tǒng)崩潰。該文件系統(tǒng)恢復(fù)過程依賴于能夠確定在該列表中最后寫入的分段。然后,將新分段標記為當(dāng)前分段(步驟938)。之后,過程進行到如上所述的步驟920。
      圖10-13的流程圖描述了用于將文件系統(tǒng)恢復(fù)到一致狀態(tài)的恢復(fù)過程。本發(fā)明的機制提供了用于保留當(dāng)發(fā)生文件系統(tǒng)的恢復(fù)或修復(fù)時的快照的方法。
      通過遍歷(walking)前映像數(shù)據(jù)分段的鏈表以找出已拷貝到快照中的文件系統(tǒng)塊,從而重構(gòu)摘要映像頁的拷貝狀態(tài)。此外,以下所描述的過程通過恢復(fù)或修復(fù)過程對文件系統(tǒng)數(shù)據(jù)塊的任何寫入或刪除執(zhí)行寫入時拷貝和刪除時拷貝處理。在未安裝文件系統(tǒng)的條件下出現(xiàn)系統(tǒng)崩潰或掉電后,文件系統(tǒng)元數(shù)據(jù)將處在不一致的狀態(tài)。例如,可能已刷新某些塊到盤中,而其他塊未刷新到盤中。使用恢復(fù)/修復(fù)過程(fsck代碼或日志重寫(logredo))將系統(tǒng)文件元數(shù)據(jù)恢復(fù)到一致狀態(tài)。該狀態(tài)不必與當(dāng)前快照的狀態(tài)相同。內(nèi)核側(cè)(kernel-side)代碼不對不一致狀態(tài)的文件系統(tǒng)進行處理,從而,文件系統(tǒng)在其能夠被再次安裝前必須進行修復(fù)。此外,以下所描述的過程在運行期間保持有盤上結(jié)構(gòu)狀態(tài),以便在中斷時能夠繼續(xù)進行恢復(fù)和修復(fù)。
      圖10表示根據(jù)本發(fā)明優(yōu)選實施例、用于啟動恢復(fù)過程的過程??稍谥T如圖3所示恢復(fù)UI 306之類的過程中實現(xiàn)該過程。
      過程以讀取從超級塊所指向的第一分段頭部而開始(步驟1000)。該超級塊例如為在圖5中的快照超級塊502。其次,選出在分段中未處理的sLog項(步驟1002)。該項等效于如圖8中所示sLog項。然后,確定該選出的分段是否為快照分段表中最后的分段(步驟1004)。如果這就是最后的分段,則通過檢查校驗和來確定是否已拷貝了數(shù)據(jù)塊(步驟1006)。利用步驟1006確定在系統(tǒng)暫停之前前映像是否完全寫到盤上。例如,如果來自文件系統(tǒng)的數(shù)據(jù)塊未拷貝到快照,而數(shù)據(jù)塊的元數(shù)據(jù)已寫入到快照中且系統(tǒng)崩潰,校驗和將不匹配。在這種情形中,數(shù)據(jù)塊未拷貝到快照中,而在文件系統(tǒng)上的數(shù)據(jù)塊保持完整,這是由于在這種情形中數(shù)據(jù)塊在文件系統(tǒng)上未被修改。由于分段頭部的同步寫入,該校驗只在最后分段上是必需的。
      接下來,確定在項中的校驗和是否正確(步驟1008)。如果校驗和正確,則確定數(shù)據(jù)塊是否標記為在sMap中已拷貝(步驟1010)。如果數(shù)據(jù)塊當(dāng)前未標記為在sMap中已拷貝,則現(xiàn)在將該數(shù)據(jù)塊標記為在sMap中已拷貝(步驟1012)。
      此外,確定對該分段是否存在任何附加項(步驟1018)。如果對該分段存在附加項,則確定是否存在另一個未處理的分段(步驟1020)。如果存在另一個未處理的分段,則讀取下一個未處理的分段(步驟1022)。然后,過程進行到以上所述的步驟1002。回到步驟1018,如果對分段存在更多未處理的項,則過程還進行到如上所述的步驟1002。
      回到步驟1020,如果不存在另一未處理的分段,則開始進行恢復(fù)處理(步驟1014)。其次,啟動運行時處理過程(步驟1016),之后過程終止。步驟1014與圖12中的步驟1208或圖13中的步驟1306相同。步驟1016與圖12中的步驟1214或圖13中的步驟1312相同。
      回到步驟1004,如果這不是最后的分段,則過程進行到如上所述的步驟1010?;氐讲襟E1008,如果校驗和不正確,則過程進行到如上所述的步驟1014。在步驟1010中,如果塊被標記為在sMap中已拷貝,則過程進行到如上所述的步驟1018。
      下面,參看圖11,根據(jù)本發(fā)明優(yōu)選實施例,表示用于檢查文件系統(tǒng)的過程。圖11中的過程可被實現(xiàn)到恢復(fù)UI(如在圖3中的恢復(fù)UI306)中。該過程表示當(dāng)啟動文件系統(tǒng)恢復(fù)如fsck代碼時的流程。
      過程以運行日志重寫而開始(步驟1102)。用于日志重寫所執(zhí)行的步驟在后面的圖13中進行更詳細的描述。其次,確定是否請求了快速文件系統(tǒng)檢查以及文件系統(tǒng)是否標記為干凈(clean)。檢查文件系統(tǒng)超級塊,以確定文件系統(tǒng)是否干凈。如果日志重寫不能修復(fù)文件系統(tǒng),則狀態(tài)將被標記為臟(dirty)。如果快速文件系統(tǒng)檢查未被請求或標記為干凈,則運行文件系統(tǒng)(步驟1106),之后,過程終止。文件系統(tǒng)檢查步驟將在后面的圖12中進行更詳細地描述?;氐讲襟E1104,如果快速文件系統(tǒng)檢查被請求,以及文件系統(tǒng)被標記為臟,則之后過程終止。
      在圖12中,根據(jù)本發(fā)明優(yōu)選實施例,表示用于對文件系統(tǒng)執(zhí)行文件系統(tǒng)檢查恢復(fù)過程的過程。文件系統(tǒng)檢查恢復(fù)過程是通過查看所有系統(tǒng)元數(shù)據(jù)來驗證和修復(fù)文件系統(tǒng)元數(shù)據(jù)使之具有一致性的方法。該過程還被稱為fsck。在圖12中的過程可被實現(xiàn)到恢復(fù)UI(如在圖3中的恢復(fù)UI 306)中。
      過程以確定文件系統(tǒng)檢查是否具有文件系統(tǒng)寫入許可而開始(步驟1202)。如果文件系統(tǒng)檢查具有文件系統(tǒng)寫入許可,則將運行時結(jié)構(gòu)初始化以與快照連接(步驟1204)。運行時結(jié)構(gòu)是用于保持所要在恢復(fù)操作期間寫入到快照中的數(shù)據(jù)的緩沖區(qū)。
      接下來,通過遍歷分段表來重構(gòu)sMap頁(步驟1206)。參照在圖10中的步驟1000-1014以及1018-1022更詳細地描述了步驟1206。由于在運行期間sMap頁被異步寫入,從而恢復(fù)sMap頁。sMap頁沒有必要具有文件系統(tǒng)塊的正確拷貝狀態(tài)。之后,繼續(xù)進行正常的讀/寫(rw)文件系統(tǒng)處理(步驟1208)。在步驟1208期間,fsck代碼查看所有文件系統(tǒng)元數(shù)據(jù),并確定在系統(tǒng)文件元數(shù)據(jù)中是否存在任何不一致性。如果fsck代碼找到任何不一致性,則fsck代碼確定如何修復(fù)文件系統(tǒng)元數(shù)據(jù)。fsck代碼或去除文件系統(tǒng)對象,或嘗試修復(fù)文件系統(tǒng)對象的元數(shù)據(jù)。去除將導(dǎo)致COD,修復(fù)將導(dǎo)致COW。
      然后,確定文件系統(tǒng)檢查是否通過寫入時拷貝(COW)操作或刪除時拷貝(COD)操作來修改文件系統(tǒng)(步驟1210)。如果文件系統(tǒng)檢查不通過COW操作或COD操作修改文件系統(tǒng),則通過刷新sMap頁的任何緩沖寫入到盤上而關(guān)閉快照(步驟1212),之后,過程終止。
      回到步驟1202,如果文件系統(tǒng)檢查不具有文件系統(tǒng)寫入許可,則繼續(xù)進行不具有快照交互的只讀文件系統(tǒng)檢查(步驟1216),之后,過程終止。在只讀檢查期間,fsck代碼查看所有文件系統(tǒng)元數(shù)據(jù),如果找到任何不一致性,則發(fā)出告警消息。它不對文件系統(tǒng)做任何修改?;氐讲襟E1210,如果文件系統(tǒng)檢查通過COW操作或COD操作修改文件系統(tǒng),那么,假如文件系統(tǒng)塊已被拷貝到快照中,則執(zhí)行運行時檢查(步驟1214),然后,過程進行到如上所述的步驟1208。該檢查采用與圖9A和9B所述相同的方式進行。它是在與當(dāng)前運行在圖3所示恢復(fù)UI 306中的fsck代碼過程相同的過程下進行。
      下面,參看圖13,根據(jù)本發(fā)明優(yōu)選實施例,表示用于對寫有日志的文件系統(tǒng)執(zhí)行日志重寫恢復(fù)過程的過程。圖13中的過程可被實現(xiàn)到恢復(fù)UI(如圖3中的恢復(fù)UI 306)中。
      過程以初始化運行時結(jié)構(gòu)以與快照連接而開始(步驟1302)。接下來,通過遍歷分段表來重構(gòu)sMap頁(步驟1304)。參照在圖10中的步驟1000-1014以及1018-1022更詳細地描述了步驟1304。之后,繼續(xù)進行正常的日志重寫處理(步驟1306)。讀取與文件系統(tǒng)相關(guān)的日志記錄。文件系統(tǒng)使用數(shù)據(jù)庫日志技術(shù),以通過在日志記錄中跟蹤文件系統(tǒng)元數(shù)據(jù)的變化,從而保持文件系統(tǒng)的結(jié)構(gòu)一致性。重現(xiàn)日志記錄。每個日志記錄包含關(guān)于文件系統(tǒng)元數(shù)據(jù)變化的信息。通過重現(xiàn)日志記錄,根據(jù)日志記錄來修改文件系統(tǒng)元數(shù)據(jù)。將從日志結(jié)束起始并且反向移動的所有日志記錄重現(xiàn),直至到達最近的同步點。其次,確定日志重寫是否通過COW操作或COD操作來修改文件系統(tǒng)(步驟1308)。如果日志重寫不通過COW操作或COD操作修改文件系統(tǒng),則通過刷新sMap頁的任何緩沖寫入到盤上而關(guān)閉快照(步驟1310),之后,過程終止。
      回到步驟1308,如果日志重寫通過COW操作或COD操作修改文件系統(tǒng),那么,執(zhí)行運行時檢查以確定文件系統(tǒng)數(shù)據(jù)塊是否已被拷貝到快照中(步驟1312)。與fsck代碼類似,步驟1312等效于先前在圖9A和9B所述的過程。然后,過程進行到如上所述的步驟1306。
      從而,本發(fā)明提供了用于從系統(tǒng)崩潰恢復(fù),并保持通過本發(fā)明的過程所創(chuàng)建的文件系統(tǒng)快照的改進型方法,裝置和計算機指令。本發(fā)明的機制動態(tài)更新文件系統(tǒng)的快照。將關(guān)于在文件系統(tǒng)中進行修改的數(shù)據(jù)塊的元數(shù)據(jù)包括在快照中。在這些示例中,修改為在文件系統(tǒng)中對數(shù)據(jù)塊的寫入和刪除操作。在文件系統(tǒng)中對數(shù)據(jù)塊執(zhí)行修改操作之前,將要經(jīng)受這樣操作的數(shù)據(jù)塊拷貝到快照中。此外,在修改之前,將諸如在文件系統(tǒng)中數(shù)據(jù)塊的位置之類的數(shù)據(jù),以及在快照中數(shù)據(jù)塊的位置,包括在快照中。數(shù)據(jù)塊被寫入到快照之前,將關(guān)于數(shù)據(jù)塊的元數(shù)據(jù)寫入到快照中。寫入到快照中的數(shù)據(jù)塊用于該數(shù)據(jù)塊的前映像,這是由于在創(chuàng)建快照時它已存在于文件系統(tǒng)中。在文件系統(tǒng)中的數(shù)據(jù)塊的修改發(fā)生在元數(shù)據(jù)以及數(shù)據(jù)塊的前映像寫入快照之后。該修改導(dǎo)致數(shù)據(jù)塊的“后映像”版本。如果想要將文件系統(tǒng)的狀態(tài)恢復(fù)到創(chuàng)建快照時的狀態(tài),則可使用快照進行恢復(fù)。
      重要的是應(yīng)注意,雖然針對全功能的數(shù)據(jù)處理系統(tǒng)描述了本發(fā)明,然而本領(lǐng)域普通技術(shù)人員應(yīng)該理解,本發(fā)明的處理能夠以指令的計算機可讀介質(zhì)的形式以及多種形式分布,并且無論實際用于實現(xiàn)分布的信號承載介質(zhì)的具體類型如何,本發(fā)明均同樣適用。計算機可讀介質(zhì)的示例包括可記錄型介質(zhì),如軟盤,硬盤驅(qū)動器,RAM,CD-ROM,DVD-ROM,和傳輸型介質(zhì),諸如使用例如無線電頻率和光波傳輸?shù)膫鬏斝问降臄?shù)據(jù)和模擬通信鏈路,有線或無線通信鏈路。計算機可讀介質(zhì)可采用編碼格式的形式,該格式在具體數(shù)據(jù)處理系統(tǒng)中為實際應(yīng)用而進行解碼。
      本發(fā)明的描述是出于說明及描述的目的,并不意在以所批露的形式詳盡列舉出本發(fā)明或限制本發(fā)明。顯而易見,本領(lǐng)域普通技術(shù)人員能夠易于想到多種修改和變形。所選及所述實施例是旨在更好地說明本發(fā)明的原理以及實際應(yīng)用,并使本領(lǐng)域其他普通技術(shù)人員能夠想到本發(fā)明的多種修改的多種實施例,這些修改的實施例適用于他們所想到的具體應(yīng)用。
      權(quán)利要求
      1.一種在數(shù)據(jù)處理系統(tǒng)中用于管理文件系統(tǒng)中的數(shù)據(jù)的方法,所述方法包括檢測用于修改在文件系統(tǒng)中的數(shù)據(jù)塊的請求;當(dāng)檢測到所述請求時,將描述文件系統(tǒng)中的數(shù)據(jù)塊的元數(shù)據(jù)寫入快照映像中;將文件系統(tǒng)中數(shù)據(jù)塊的數(shù)據(jù)拷貝到快照映像中;以及當(dāng)將數(shù)據(jù)塊中的數(shù)據(jù)拷貝到快照映像中之后,修改在文件系統(tǒng)中的數(shù)據(jù)塊,其中所述快照映像可用于將文件系統(tǒng)返回到修改文件系統(tǒng)中的數(shù)據(jù)塊之前的狀態(tài)。
      2.根據(jù)權(quán)利要求1的方法,其中,拷貝步驟包括將用于定位數(shù)據(jù)的信息標識存儲在快照映像內(nèi)的表中,其中,所述表用于定位在文件系統(tǒng)中的不同數(shù)據(jù)塊。
      3.根據(jù)權(quán)利要求1的方法,其中,快照映像包括快照摘要映像,快照映像和一組分段,且其中摘要映像標識快照映像中快照映像頁的初始化狀態(tài),快照映像包含快照映像頁,所述快照映像頁標識在文件系統(tǒng)中現(xiàn)用的數(shù)據(jù)塊,所述分段組包括來自文件系統(tǒng)的數(shù)據(jù)塊的拷貝。
      4.根據(jù)權(quán)利要求1的方法,其中,元數(shù)據(jù)包括快照摘要映像,摘要映像,和分段頭部。
      5.根據(jù)權(quán)利要求4的方法,其中,所選事件為當(dāng)在修改文件系統(tǒng)中的數(shù)據(jù)塊時數(shù)據(jù)處理系統(tǒng)的失效。
      6.根據(jù)權(quán)利要求4的方法,其中,所選事件為請求將文件系統(tǒng)恢復(fù)到一致狀態(tài)的用戶輸入。
      7.根據(jù)權(quán)利要求1的方法,其中,寫入步驟包括在由快照映像組所引用的任何前映像數(shù)據(jù)塊被寫入到快照映像之前,將快照映像組的快照映像項的現(xiàn)用狀態(tài)寫入到快照映像中。
      8.根據(jù)權(quán)利要求7的方法,其中,寫入步驟還包括當(dāng)將快照映像組的數(shù)據(jù)塊的現(xiàn)用狀態(tài)寫入到快照映像后,將摘要快照映像項標記為被初始化,并標記快照映像組的位置。
      9.根據(jù)權(quán)利要求8的方法,其中,寫入步驟還包括在將前一個分段修改為指向分段表中新的最后分段之前,初始化該新的最后分段的分段頭部。
      10.根據(jù)權(quán)利要求4的方法,其中,快照映像包括快照映像頁,且其中在恢復(fù)操作期間重構(gòu)所述快照映像頁。
      11.根據(jù)權(quán)利要求10的方法,其中,由恢復(fù)操作處理文件系統(tǒng)中將由恢復(fù)操作修改的數(shù)據(jù)塊的前映像的拷貝。
      12.一種用于管理文件系統(tǒng)中的數(shù)據(jù)的數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)包括檢測裝置,用于檢測修改文件系統(tǒng)中的數(shù)據(jù)塊的請求;寫入裝置,當(dāng)檢測到所述請求時,用于將描述文件系統(tǒng)中的數(shù)據(jù)塊的元數(shù)據(jù)寫入快照映像中;拷貝裝置,當(dāng)檢測到所述請求時,用于將文件系統(tǒng)中數(shù)據(jù)塊的數(shù)據(jù)拷貝到快照映像中;以及修改裝置,當(dāng)將數(shù)據(jù)塊中的數(shù)據(jù)拷貝到快照映像中之后,用于修改在文件系統(tǒng)中的數(shù)據(jù)塊,其中,所述快照映像可用于將文件系統(tǒng)返回到修改文件系統(tǒng)中的數(shù)據(jù)塊之前的狀態(tài)。
      13.根據(jù)權(quán)利要求12的數(shù)據(jù)處理系統(tǒng),其中,拷貝裝置包括存儲裝置,用于在快照映像內(nèi)的表中存儲用于定位數(shù)據(jù)的信息標識,其中,所述表用于定位文件系統(tǒng)中的不同數(shù)據(jù)塊。
      14.根據(jù)權(quán)利要求12的數(shù)據(jù)處理系統(tǒng),其中,快照映像包括快照摘要映像,快照映像,和一組分段,且其中摘要映像標識快照映像中快照映像頁的初始化狀態(tài),快照映像包含快照映像頁,所述快照映像頁標識文件系統(tǒng)中的現(xiàn)用數(shù)據(jù)塊,所述分段組包括來自文件系統(tǒng)的數(shù)據(jù)塊的拷貝。
      15.根據(jù)權(quán)利要求12的數(shù)據(jù)處理系統(tǒng),其中,元數(shù)據(jù)包括快照摘要映像,摘要映像,和分段頭部。
      16.根據(jù)權(quán)利要求15的數(shù)據(jù)處理系統(tǒng),其中,所選事件為當(dāng)修改文件系統(tǒng)的數(shù)據(jù)塊時數(shù)據(jù)處理系統(tǒng)的失效。
      17.根據(jù)權(quán)利要求15的數(shù)據(jù)處理系統(tǒng),其中,所選事件為請求將文件系統(tǒng)恢復(fù)到一致狀態(tài)的用戶輸入。
      18.一種在計算機可讀介質(zhì)中、用于在數(shù)據(jù)處理系統(tǒng)中管理文件系統(tǒng)中的數(shù)據(jù)的計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括第一指令,用于檢測修改文件系統(tǒng)中的數(shù)據(jù)塊的請求;第二指令,當(dāng)檢測到所述請求時,用于將描述文件系統(tǒng)中的數(shù)據(jù)塊的元數(shù)據(jù)寫入快照映像中;第三指令,當(dāng)檢測到所述請求時,用于將文件系統(tǒng)中數(shù)據(jù)塊的數(shù)據(jù)拷貝到快照映像中;第四指令,用于當(dāng)將數(shù)據(jù)塊中的數(shù)據(jù)拷貝到快照映像中之后修改文件系統(tǒng)中的數(shù)據(jù)塊,其中,所述快照映像可用于將文件系統(tǒng)返回到修改文件系統(tǒng)中的數(shù)據(jù)塊之前的狀態(tài)。
      19.根據(jù)權(quán)利要求18的計算機程序產(chǎn)品,其中,第三指令包括子指令,用于在快照映像中的表中存儲用于定位數(shù)據(jù)的信息標識,其中,所述表用于定位文件系統(tǒng)中的不同數(shù)據(jù)塊。
      20.根據(jù)權(quán)利要求18的計算機程序產(chǎn)品,其中,快照映像包括快照摘要映像,快照映像,和一組分段,且其中,摘要映像用于標識快照映像中快照映像頁的初始化狀態(tài),快照映像包含快照映像頁,所述快照映像頁標識文件系統(tǒng)的現(xiàn)用數(shù)據(jù)塊或拷貝到快照中的數(shù)據(jù)塊,所述分段組包括來自文件系統(tǒng)的數(shù)據(jù)塊的拷貝。
      21.根據(jù)權(quán)利要求18的計算機程序產(chǎn)品,其中,元數(shù)據(jù)包括快照摘要映像,摘要映像,和分段頭部。
      22.根據(jù)權(quán)利要求21的計算機程序產(chǎn)品,其中,所選事件為當(dāng)修改文件系統(tǒng)中的數(shù)據(jù)塊時數(shù)據(jù)處理系統(tǒng)的失效。
      23.根據(jù)權(quán)利要求21的計算機程序產(chǎn)品,其中,所選事件為用于將文件系統(tǒng)恢復(fù)到一致狀態(tài)的用戶輸入。
      24.一種數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)包括總線系統(tǒng);與所述總線系統(tǒng)連接的存儲器,其中,所述存儲器包括一組指令;和與總線系統(tǒng)相連的處理單元,其中處理單元執(zhí)行一組指令,所述指令用于檢測用于修改文件系統(tǒng)中的數(shù)據(jù)塊的請求;當(dāng)檢測到所述請求時,將描述文件系統(tǒng)中的數(shù)據(jù)塊的元數(shù)據(jù)寫入快照映像中;當(dāng)檢測到所述請求時,將文件系統(tǒng)中數(shù)據(jù)塊的數(shù)據(jù)拷貝到快照映像中;當(dāng)將數(shù)據(jù)塊中的數(shù)據(jù)拷貝到快照映像中之后修改文件系統(tǒng)中的數(shù)據(jù)塊,其中,所述快照映像可用于將文件系統(tǒng)返回到修改文件系統(tǒng)中的數(shù)據(jù)塊之前的狀態(tài)。
      全文摘要
      一種用于在數(shù)據(jù)處理系統(tǒng)中管理文件系統(tǒng)中的數(shù)據(jù)的方法,裝置和計算機指令。在文件系統(tǒng)恢復(fù)期間,檢測用于修改文件系統(tǒng)中數(shù)據(jù)塊的請求。當(dāng)檢測到該請求時,將描述數(shù)據(jù)塊的元數(shù)據(jù)寫入快照映像。將用于文件系統(tǒng)中數(shù)據(jù)塊的數(shù)據(jù)拷貝到快照映像。當(dāng)將該數(shù)據(jù)拷貝到快照映像中之后修改文件系統(tǒng)中的數(shù)據(jù)塊。該快照映像可用于將文件系統(tǒng)返回到修改文件系統(tǒng)中的數(shù)據(jù)塊之前的狀態(tài)。
      文檔編號G06F17/30GK1655146SQ20051000642
      公開日2005年8月17日 申請日期2005年1月31日 優(yōu)先權(quán)日2004年2月12日
      發(fā)明者珍妮特·伊麗莎白·艾德金斯, 喬恩·常 申請人:國際商業(yè)機器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1