專利名稱:使用文件系統(tǒng)將文件自動備份為世代文件的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及計算機系統(tǒng),尤其涉及使用文件系統(tǒng)在持久存儲中自動備份文件的經(jīng)改進的系統(tǒng)和方法。
背景技術(shù):
計算機用戶經(jīng)常在其計算機上存儲對于實現(xiàn)其任務(wù)而言可能具有關(guān)鍵性的重要信息。遺憾的是,許多計算機用戶由于許多不同的原因而遭受丟失重要信息之痛,這些原因包括硬件故障、軟件故障、以及操作應(yīng)用程序時的簡單錯誤。例如,計算機用戶可以在文檔中進行幾處更改,并意在用新的文件名來保存更改的文檔。但是,該計算機用戶可能會通過在現(xiàn)有的文件名之下保存該文檔而犯常見錯誤,并且無法將該文件保存為具有另一個名稱的文檔,從而導(dǎo)致原始文件被覆蓋。但是,通過創(chuàng)建其文件的備份,計算機用戶可以從在保存更改的文檔的過程中可能會發(fā)生的這類名字空間沖突中恢復(fù)。即使那樣,當(dāng)備份越來越多的文件副本時,可以使用平面名字空間的現(xiàn)有應(yīng)用程序也可能無法保存它們。
雖然計算機用戶可以通過創(chuàng)建其數(shù)據(jù)的備份來避免丟失重要信息,但是,由于在其計算機上備份其數(shù)據(jù)的過程中所涉及的各種挑戰(zhàn),計算機用戶會感到氣餒。一個挑戰(zhàn)是啟動其數(shù)據(jù)的備份的負擔(dān)通常是施加在計算機用戶身上。為了這樣做,可以要求計算機用戶指定將要在哪里備份其數(shù)據(jù)。例如,計算機用戶可以選擇在與存儲原始數(shù)據(jù)相同的介質(zhì)上備份數(shù)據(jù),如果該介質(zhì)被損壞,這可能會造成風(fēng)險;或者,計算機用戶可以選擇另一個位置,該位置可以要求計算機用戶有意識地附加于或連接到那個介質(zhì)。如果可以對可被附加于或連接到計算機的介質(zhì)進行備份,那么,若介質(zhì)不再被附加或連接,則備份以后可能不可用。另一個挑戰(zhàn)是可能要求計算機用戶管理備份的多個版本或承擔(dān)用破壞的或錯誤的數(shù)據(jù)覆蓋先前備份的數(shù)據(jù)的風(fēng)險,這樣會無意中破壞可能需要的有效備份。而且,如果計算機用戶用完備份介質(zhì)中的空間,那么,要么可以通過刪除文件來創(chuàng)建空間,要么可以選擇具有足夠空間的另一個備份介質(zhì),從而進一步使進程復(fù)雜化。當(dāng)可能需要使用備份時,計算機用戶可能會難以定位或訪問備份介質(zhì)。例如,如果備份在本地介質(zhì)上,那么,這會特別困難,從而要求將本地介質(zhì)移到新的計算機。
假設(shè)這些挑戰(zhàn),則計算機用戶可能無法按應(yīng)該做的那樣經(jīng)常備份其數(shù)據(jù)。需要一種方法供計算機系統(tǒng)在不要求用戶干預(yù)的條件下自動備份文件。這種系統(tǒng)和方法應(yīng)該提供每個保存文件的備份副本,以便計算機用戶能夠恢復(fù)用戶可能需要的文件的任何副本。
發(fā)明內(nèi)容
簡而言之,本發(fā)明提供一種使用文件系統(tǒng)在持久存儲中自動備份文件的經(jīng)改進的系統(tǒng)和方法。為此,可以將一個或多個應(yīng)用程序操作上耦合到策略引擎和操作系統(tǒng),該操作系統(tǒng)可以包括操作上耦合到可以具有可訪問持久存儲的一個或多個設(shè)備的文件系統(tǒng)。在一個實施例中,操作系統(tǒng)可以包括操作上耦合的各個組件,例如,卷管理器、文件系統(tǒng)過濾器驅(qū)動器、文件系統(tǒng)、存儲聚集器、存儲類別驅(qū)動器、以及操作上耦合到具有持久存儲的一個或多個設(shè)備的一個或多個小型端口驅(qū)動器。
在各個實施例中,文件系統(tǒng)過濾器驅(qū)動器可以接收來自可執(zhí)行軟件代碼的對于持久地存儲文件的請求;并且可以訪問策略引擎提供的策略,以便確定是否創(chuàng)建該文件的備份副本、將什么備份類型應(yīng)用于該文件、以及在哪里存儲備份副本。例如,文件系統(tǒng)過濾器驅(qū)動器可以指示文件系統(tǒng)將文件的備份副本存儲在嵌入式非易失性存儲器中、可移動的非易失性存儲器中、諸如硬盤驅(qū)動器等計算機存儲介質(zhì)中、或非易失性存儲器和/或包括連接網(wǎng)絡(luò)上的遠程存儲器的其他計算機存儲介質(zhì)的組合中。而且,文件系統(tǒng)過濾器驅(qū)動器可以包括世代(generational)文件處理程序,該世代文件處理程序可以用來創(chuàng)建和管理世代文件集,作為特定應(yīng)用程序文件的備份副本。
存儲聚集器可以操作上耦合到文件系統(tǒng),用于枚舉和組織計算機系統(tǒng)中可用的持久存儲器,它們可以共同用于存儲文件的備份副本。該存儲聚集器可以包括存儲枚舉器,該存儲枚舉器可以標(biāo)識可以被文件系統(tǒng)用于存儲應(yīng)用程序文件的備份副本的可用持久存儲。在一個實施例中,在計算機系統(tǒng)中可用的持久存儲可以共同用作文件系統(tǒng)的卷,用于在一個或多個物理設(shè)備上存儲備份文件,這些物理設(shè)備可以使用包括鏡像、條帶化的任何數(shù)量的存儲技術(shù),或者可以使用RAID或SAN來配置。
一旦文件系統(tǒng)可以創(chuàng)建并持久地存儲應(yīng)用程序文件的備份副本,就可以提供用戶界面,用于在該應(yīng)用程序文件丟失或破壞的情況下恢復(fù)該應(yīng)用程序文件的一個或多個備份副本??梢栽谝粋€實施例中提供諸如恢復(fù)用實用程序等通用工具,用于備份文件的恢復(fù)。在另一個實施例中,可以提供操作上耦合到應(yīng)用程序的恢復(fù)用戶界面,以檢索諸如世代文件集等一個或多個備份副本,用于供用戶檢查,以恢復(fù)用戶可能需要的文件的任何副本。
有利的是,可以被添加到計算機系統(tǒng)的各種組件的可訪問持久存儲可以共同用于存儲文件系統(tǒng)自動創(chuàng)建的文件的備份副本而無須用戶干預(yù)。而且,世代文件集可以被存儲為備份副本,用于供用戶檢查,以恢復(fù)用戶可能需要的文件的任何副本。通過以下結(jié)合附圖的詳細描述,其他優(yōu)點將變得一目了然。在這些附圖中
圖1是一般表示其中可結(jié)合本發(fā)明的計算機系統(tǒng)的框圖;圖2是根據(jù)本發(fā)明的一方面,一般表示用于使用文件系統(tǒng)在持久存儲中自動備份文件的一個實施例中的系統(tǒng)組件的示例性體系結(jié)構(gòu)的框圖;圖3是根據(jù)本發(fā)明的一方面,一般表示用于使用文件系統(tǒng)在持久存儲中自動備份文件的一個實施例中采取的示例性步驟的流程圖;圖4是根據(jù)本發(fā)明的一方面,一般表示用于確定通過使用文件系統(tǒng)在持久存儲中自動備份文件而應(yīng)用于文件的備份類型的一個實施例中采取的示例性步驟的流程圖;圖5是根據(jù)本發(fā)明的一方面,一般表示用于恢復(fù)通過使用文件系統(tǒng)在持久存儲中自動備份文件而創(chuàng)建的備份文件的一個實施例中采取的示例性步驟的流程圖;以及圖6是根據(jù)本發(fā)明的一方面,一般表示用于恢復(fù)通過使用文件系統(tǒng)在持久存儲中自動備份文件而創(chuàng)建的備份文件的另一個實施例中采取的示例性步驟的流程圖。
具體實施例方式
示例性操作環(huán)境圖1示出了可以在其上實現(xiàn)本發(fā)明的合適的計算系統(tǒng)環(huán)境100的例子。計算系統(tǒng)環(huán)境100只是合適的計算環(huán)境的一個例子,它并不意在對本發(fā)明的使用范圍或功能提出任何限制。也不應(yīng)該將計算環(huán)境100解釋為具有涉及示例性操作環(huán)境100中所示的任何一個組件或組件組合的任何依賴或要求。
本發(fā)明可利用眾多其他的通用或?qū)S糜嬎阆到y(tǒng)環(huán)境或配置來操作??赡苓m用于本發(fā)明的眾所周知的計算系統(tǒng)、環(huán)境和/或配置的例子包括(但不局限于)個人計算機、服務(wù)器計算機、手持式設(shè)備或便攜式設(shè)備、圖形輸入板設(shè)備、無頭服務(wù)器、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機頂盒、可編程的消費者電子設(shè)備、網(wǎng)絡(luò)PC、小型計算機、大型計算機、包括以上任何系統(tǒng)或設(shè)備的分布式計算環(huán)境等。
可以在由計算機執(zhí)行的計算機可執(zhí)行指令(例如,程序模塊)的一般上下文中描述本發(fā)明。通常,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。也可以在分布式計算環(huán)境中實踐本發(fā)明,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括記憶存儲設(shè)備的本地和/或遠程計算機存儲介質(zhì)中。
參照圖1,用于實現(xiàn)本發(fā)明的示例性系統(tǒng)包括采取計算機110的形式的通用計算設(shè)備。計算機110的組件可以包括(但不局限于)處理單元120、系統(tǒng)存儲器130和系統(tǒng)總線121,系統(tǒng)總線121將包括該系統(tǒng)存儲器的各種系統(tǒng)組件耦合到處理單元120。系統(tǒng)總線121可以是幾種類型的總線結(jié)構(gòu)中的任一種,包括存儲總線或存儲控制器、外圍總線、以及使用各種總線體系結(jié)構(gòu)中的任一種的局部總線。舉例來講(不作限制),這類體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強型ISA(EISA)總線、視頻電子技術(shù)標(biāo)準(zhǔn)協(xié)會(VESA)局部總線和外圍部件互連(PCI)總線(也被稱作Mezzanine總線)。
計算機110通常包括各種計算機可讀介質(zhì)。計算機可讀介質(zhì)可以是可由計算機110訪問的任何可用介質(zhì),它包括易失性和非易失性介質(zhì)、可移動和不可移動介質(zhì)。舉例來講(不作限制),計算機可讀介質(zhì)可以包括計算機存儲介質(zhì)和通信介質(zhì)。計算機存儲介質(zhì)包括易失性和非易失性、可移動和不可移動介質(zhì),該介質(zhì)用關(guān)于例如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的存儲的任何方法或技術(shù)來實現(xiàn)。計算機存儲介質(zhì)包括(但不局限于)RAM、ROM、EEPROM、閃存或其他存儲技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其他光盤存儲器、盒式磁帶、磁帶、磁盤存儲或其他磁存儲設(shè)備、或可以被用來存儲所需信息并可以由計算機110訪問的其他任何介質(zhì)。通信介質(zhì)通常具體表現(xiàn)為調(diào)制數(shù)據(jù)信號(例如,載波或其他傳送機制)中的計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù),它包括任何信息傳遞介質(zhì)。術(shù)語“調(diào)制數(shù)據(jù)信號”意味著這樣一種信號,其一個或多個特征按為該信號中的信息編碼的這樣一種方式來加以設(shè)置或更改。舉例來講(不作限制),通信介質(zhì)包括有線介質(zhì)(例如,有線網(wǎng)絡(luò)或直線連接)和無線介質(zhì)(例如,聲音、RF、紅外線和其他無線介質(zhì))。以上任何內(nèi)容的組合也應(yīng)該被包括在計算機可讀介質(zhì)的范圍以內(nèi)。
系統(tǒng)存儲器130包括采取易失性和/或非易失性存儲器形式的計算機存儲介質(zhì),例如,只讀存儲器(ROM)131和隨機存取存儲器(RAM)132。基本輸入/輸出系統(tǒng)133(BIOS)通常被存儲在ROM 131中,該基本輸入/輸出系統(tǒng)包含有助于在計算機110內(nèi)的各個元件之間傳送信息(例如,在啟動期間)的基本例程。RAM 132通常包含可立即由處理單元120訪問和/或目前正由處理單元120進行操作的數(shù)據(jù)和/或程序模塊。舉例來講(不作限制),圖1示出了操作系統(tǒng)134、應(yīng)用程序135、其他程序模塊136和程序數(shù)據(jù)137。
計算機110也可以包括其他可移動/不可移動、易失性/非易失性計算機存儲介質(zhì)。只舉例來講,圖1示出了從不可移動的非易失性磁介質(zhì)讀取或?qū)ζ鋵懭氲挠脖P驅(qū)動器141、從可移動的非易失性磁盤152讀取或?qū)ζ鋵懭氲拇疟P驅(qū)動器151、以及從可移動的非易失性光盤156(例如,CD ROM或其他光學(xué)介質(zhì))讀取或?qū)ζ鋵懭氲墓獗P驅(qū)動器155??梢员挥糜谠撌纠圆僮鳝h(huán)境中的其他可移動/不可移動的易失性/非易失性計算機存儲介質(zhì)包括(但不局限于)卡型盒式磁帶機、閃存卡、數(shù)字多功能盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等。硬盤驅(qū)動器141通常通過不可移動的存儲器接口(例如,接口140)而被連接到系統(tǒng)總線121,磁盤驅(qū)動器151和光盤驅(qū)動器155通常由可移動的存儲器接口(例如,接口150)連接到系統(tǒng)總線121。
以上所討論的和圖1中所示的這些驅(qū)動器及其相關(guān)聯(lián)的計算機存儲介質(zhì)為計算機110提供計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其他數(shù)據(jù)的存儲。例如,在圖1中,硬盤驅(qū)動器141被示為存儲操作系統(tǒng)144、應(yīng)用程序145、其他程序模塊146和程序數(shù)據(jù)147。注意,這些組件可以等同于或不同于操作系統(tǒng)134、應(yīng)用程序135、其他程序模塊136和程序數(shù)據(jù)137。這里為操作系統(tǒng)144、應(yīng)用程序145、其他程序模塊146和程序數(shù)據(jù)147提供不同的標(biāo)號,以展示它們至少是不同的副本。用戶可以通過輸入設(shè)備(例如,寫字板或電子數(shù)字轉(zhuǎn)換器164、話筒163、鍵盤162和通常被稱作鼠標(biāo)、跟蹤球或觸墊的定點設(shè)備161),來將命令和信息輸入計算機110。圖1中未示出的其他輸入設(shè)備可以包括操縱桿、游戲墊、圓盤式衛(wèi)星電視天線、掃描儀、或包括包含生物測定傳感器、環(huán)境傳感器、位置傳感器或其他類型的傳感器的設(shè)備的其他設(shè)備。這些和其他的輸入設(shè)備經(jīng)常通過被耦合到該系統(tǒng)總線的用戶輸入接口160而被連接到處理單元120,但也可以由其他接口和總線結(jié)構(gòu)(例如,并行端口、游戲端口或通用串行總線(USB))連接。監(jiān)視器191或其他類型的顯示設(shè)備也經(jīng)由接口(例如,視頻接口190)而被連接到系統(tǒng)總線121。監(jiān)視器191也可以與經(jīng)由觸屏接口192而被連接到系統(tǒng)總線121的觸屏面板或類似物相集成。注意,該監(jiān)視器和/或觸屏面板可以在物理上被耦合到其中包含計算設(shè)備110的外殼(例如,在圖形輸入板類型的個人計算機中)。此外,諸如計算設(shè)備110的計算機也可以包括其他外圍輸出設(shè)備(例如,揚聲器194和打印機195),這些外圍輸出設(shè)備可以通過輸出外圍接口193或類似物來加以連接。
計算機110可以使用與一臺或多臺遠程計算機(例如,遠程計算機180)的邏輯連接而在網(wǎng)絡(luò)化環(huán)境中進行操作。遠程計算機180可以是個人計算機、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其他共同的網(wǎng)絡(luò)節(jié)點,它通常包括以上相對于計算機110而描述的許多或所有這些元件,盡管圖1中只示出了記憶存儲設(shè)備181。圖1中所描繪的這些邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也可以包括其他網(wǎng)絡(luò)。這類網(wǎng)絡(luò)環(huán)境在辦公室、企業(yè)范圍的計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中很普遍。當(dāng)被用于LAN網(wǎng)絡(luò)環(huán)境中時,計算機110通過網(wǎng)絡(luò)接口或適配器170而被連接到LAN 171。當(dāng)被用于WAN網(wǎng)絡(luò)環(huán)境中時,計算機110通常包括調(diào)制解調(diào)器172或用于通過WAN 173(例如,因特網(wǎng))建立通信的其他裝置。調(diào)制解調(diào)器172(可以是內(nèi)置的,也可以是外置的)可以經(jīng)由用戶輸入接口160或其他適當(dāng)?shù)臋C制而被連接到系統(tǒng)總線121。在網(wǎng)絡(luò)化環(huán)境中,相對于計算機110或其各個部分而描繪的程序模塊可以被存儲在遠程記憶存儲設(shè)備中。舉例來講(不作限制),圖1將遠程應(yīng)用程序185示為駐留在存儲設(shè)備181上。將會理解所示的這些網(wǎng)絡(luò)連接起示例性的作用,可以使用在這些計算機之間建立通信鏈路的其他手段。
使用文件系統(tǒng)在持久存儲中自動備份文件本發(fā)明一般針對使用文件系統(tǒng)在持久存儲中自動備份文件的系統(tǒng)和方法。該系統(tǒng)和方法可以有利地制作文件的備份副本,而無需用戶干預(yù)。為此,本發(fā)明可以提供一種文件系統(tǒng)過濾器驅(qū)動器,以便從用于保存文件的應(yīng)用程序接收請求;并且可以訪問策略,以確定是否創(chuàng)建該文件的備份副本、將什么備份類型應(yīng)用于該文件、以及在哪里存儲該備份副本。例如,文件系統(tǒng)過濾器驅(qū)動器可以指示文件系統(tǒng)將文件的備份副本存儲在嵌入式非易失性存儲器中、可移動的非易失性存儲器中、諸如硬盤驅(qū)動器等計算機存儲介質(zhì)中,或者存儲在非易失性存儲器和/或包括連接網(wǎng)絡(luò)上的遠程存儲的其他計算機存儲介質(zhì)的組合中。
而且,文件系統(tǒng)過濾器驅(qū)動器可以包括世代文件處理程序,該世代文件處理程序可以被用來創(chuàng)建和管理世代文件集,作為特定應(yīng)用文件的備份副本。通過創(chuàng)建世代文件集,可以在保存應(yīng)用程序文件時制作備份副本,以便計算機用戶能夠恢復(fù)用戶可能需要的文件的任何副本。如將會看到的,可以聚集可被添加到計算機系統(tǒng)的各種組件的可訪問持久存儲,用于自動存儲文件的備份副本。如將會理解的,這里所描述的各種框圖、流程圖和情形只是例子,并且,有許多本發(fā)明將適用的其他情形。
參考附圖中的圖2,示出的框圖一般表示用于使用文件系統(tǒng)來自動備份文件以便在持久存儲中保存工作數(shù)據(jù)的一個實施例中的系統(tǒng)組件的示例性體系結(jié)構(gòu)。本領(lǐng)域的技術(shù)人員將會理解在該圖中所示的方框內(nèi)實現(xiàn)的功能可以作為單獨的組件來實現(xiàn),或者,這些方框中的幾個或全部的功能可以在單個組件內(nèi)實現(xiàn)。作為例子,文件系統(tǒng)過濾器驅(qū)動器214的功能可以被包括在文件系統(tǒng)218內(nèi)?;蛘撸梢栽谂c文件系統(tǒng)過濾器驅(qū)動器214分開的組件中實現(xiàn)世代文件處理程序216。
圖2中所示的一個或多個應(yīng)用程序204可以操作上耦合到策略引擎208和操作系統(tǒng)210。每個應(yīng)用程序204可以是可執(zhí)行軟件代碼,用于利用計算機系統(tǒng)的用戶可能希望持續(xù)的數(shù)據(jù)來執(zhí)行任何數(shù)量的操作。例如,該應(yīng)用程序可以利用數(shù)據(jù)來執(zhí)行文字處理操作、電子表格操作、繪圖操作或其他操作。策略引擎208可以操作上耦合到一個或多個應(yīng)用程序204、恢復(fù)實用程序202和操作系統(tǒng)210。策略引擎208可以是包括內(nèi)核組件、應(yīng)用程序組件、鏈接庫的組件、對象等的任何可執(zhí)行軟件代碼。策略組件208可以包括一個或多個策略,這些策略可以被用來確定通過使用用于在持久存儲中保存數(shù)據(jù)的文件系統(tǒng)可以自動備份什么數(shù)據(jù)。在一個實施例中,策略組件208可以包括一個或多個策略,這些策略可以用來確定應(yīng)該在哪里備份數(shù)據(jù)。例如,策略可以提供指令,用于通過使用文件系統(tǒng)將數(shù)據(jù)存儲在嵌入式非易失性存儲器中、可移動的非易失性存儲器中、諸如硬盤驅(qū)動器等計算機存儲介質(zhì)中,或者存儲在非易失性存儲器和/或其他計算機存儲器介質(zhì)的組合中,來自動備份該數(shù)據(jù)。
操作系統(tǒng)210一般可以包括文件系統(tǒng)以及可以具有可訪問持久存儲的一個或多個設(shè)備。更具體地,一個實施例中的操作系統(tǒng)210可以包括操作上耦合的各種組件,例如,卷管理器212、文件系統(tǒng)過濾器驅(qū)動器214、文件系統(tǒng)218、存儲聚集器220、存儲類別驅(qū)動器224、諸如小型端口驅(qū)動器226和228等一個或多個小型端口驅(qū)動器、以及諸如嵌入式設(shè)備230和可移動設(shè)備232等一個或多個設(shè)備。卷管理器212可以提供用于創(chuàng)建和管理卷的功能,這些卷可以是簡單的(例如,為存儲設(shè)備的分區(qū)上的特定文件系統(tǒng)而格式化的邏輯驅(qū)動器的卷),或者可以跨越可包括非易失性存儲器的多個存儲介質(zhì)或在該介質(zhì)上條帶化。
文件系統(tǒng)過濾器驅(qū)動器214可以提供用于從應(yīng)用程序接收保存文件的請求的功能,并可以指示文件系統(tǒng)保存該文件的備份副本。在一個實施例中,文件系統(tǒng)過濾器驅(qū)動器214可以訪問例如由策略引擎208提供的策略,該策略可以指定是否應(yīng)該創(chuàng)建文件的備份副本,以及,如果創(chuàng)建的話,則應(yīng)該在哪里存儲該備份副本。在各個實施例中,文件系統(tǒng)過濾器驅(qū)動器可以指示文件系統(tǒng)將文件的備份副本存儲在嵌入式非易失性存儲器中、可移動的非易失性存儲器中、諸如硬盤驅(qū)動器等計算機存儲介質(zhì)中,或者存儲在非易失性存儲器和/或其他計算機存儲介質(zhì)的組合中。文件系統(tǒng)過濾器驅(qū)動器214可以包括世代文件處理程序,該世代文件處理程序可以創(chuàng)建和管理世代文件集,作為特定應(yīng)用程序文件的備份副本。該集合中的每個世代文件可以包括作為文件名的一部分的屬性,該屬性可以唯一地標(biāo)識文件的副本。在一個實施例中,文件系統(tǒng)過濾器驅(qū)動器214可以將世代文件創(chuàng)建為應(yīng)用程序文件的備份副本,并指示文件系統(tǒng)在哪里存儲該世代文件。
文件系統(tǒng)218可以是可接收將文件作為卷的一部分來存儲的請求的任何類型的文件系統(tǒng)。在一個實施例中,文件系統(tǒng)218可以接收同時存儲應(yīng)用程序文件和該應(yīng)用程序文件的備份副本兩者的請求。用于存儲備份副本的請求可以指定如何存儲備份副本。例如,可以請求文件系統(tǒng)218在可具有使用鏡像、條帶化或使用RAID或SAN來配置的物理存儲的卷上存儲備份副本。
存儲聚集器220可以提供用于枚舉和組織計算機系統(tǒng)中可用的持久存儲的功能。存儲聚集器220可以包括存儲枚舉器,該存儲枚舉器可以標(biāo)識并列出可以被文件系統(tǒng)用于保存應(yīng)用程序文件的備份副本的可用持久存儲。在一個實施例中,可以聚集在計算機系統(tǒng)中可能可用的持久存儲,以形成卷,該卷可以用來在可以使用包括鏡像、條帶化的任何數(shù)量的存儲技術(shù)或可以使用RAID或SAN來配置的一個或多個物理設(shè)備上存儲文件。存儲聚集器220可以在引導(dǎo)時或在可以讓計算機系統(tǒng)可訪問額外的持久存儲的任何時候聚集持久存儲或持久存儲的各個部分。
為了與物理設(shè)備進行通信,存儲類別驅(qū)動器224可以包括用于將文件或文件的一部分發(fā)送到小型端口驅(qū)動器以及用于從小型端口驅(qū)動器接收文件或文件的一部分的功能。小型端口驅(qū)動器又可以提供用于與諸如小型端口驅(qū)動器226等設(shè)備進行通信的功能,該設(shè)備被配置成與諸如具有非易失性存儲器234的嵌入式設(shè)備230等嵌入式設(shè)備進行通信??赡苡腥魏螖?shù)量的不同類型的嵌入式設(shè)備,這些嵌入式設(shè)備可以包括可以被文件系統(tǒng)用于保存應(yīng)用程序文件的備份副本的持久存儲。例如,非易失性存儲器可以被插入主板或南橋芯片,被插入嵌入式硬盤驅(qū)動器或用于嵌入式硬盤驅(qū)動器的磁盤控制器,或者可以操作上耦合在計算機系統(tǒng)中的其他嵌入式組件和控制器內(nèi)。如這里所使用的,嵌入式設(shè)備意味著計算機系統(tǒng)的任何設(shè)備或組件,包括但不限于主板、控制器或外圍設(shè)備。除嵌入式設(shè)備以外,諸如小型端口驅(qū)動器228等小型端口驅(qū)動器可以被配置成與諸如具有非易失性存儲器236的可移動設(shè)備232等可移動設(shè)備進行通信。也可以有任何數(shù)量的不同類型的可移動設(shè)備,這些可移動設(shè)備可以包括可以被文件系統(tǒng)用于保存應(yīng)用程序文件的備份副本的持久存儲。例如,通用串行總線(USB)快閃驅(qū)動器(UFD)、諸如Secure Digital、CompactFlash、MemoryStick的數(shù)字介質(zhì)、以及其他可移動介質(zhì)可以提供可被用來存儲應(yīng)用程序文件的備份副本或應(yīng)用程序文件的一部分的持久存儲。嵌入式和可移動設(shè)備可以包括,但不限于可提供持久存儲的完全不同的高速緩存的這些例子,該持久存儲可以被聚集,以提供可以被文件系統(tǒng)用來自動保存應(yīng)用程序文件的備份副本的統(tǒng)一存儲。
一旦文件系統(tǒng)可以創(chuàng)建并保存應(yīng)用程序文件的備份副本,就可以提供用戶界面,用于在應(yīng)用程序文件丟失或破壞的情況下恢復(fù)應(yīng)用程序文件的一個或多個備份副本,它們可能已被系統(tǒng)存儲在例如可能已經(jīng)歷災(zāi)難性故障的旋轉(zhuǎn)介質(zhì)上??梢栽谝粋€實施例中提供諸如恢復(fù)實用程序202等通用工具,用于備份文件的恢復(fù)?;蛘撸梢栽诟鱾€實施例中提供用于特定應(yīng)用程序的工具,例如操作上耦合到應(yīng)用程序204的恢復(fù)用戶界面206?;謴?fù)用戶界面206可以是呈現(xiàn)給用戶的普通對話框的一部分,用于打開文件。利用恢復(fù)備份應(yīng)用文件的動作,可以擴展這類普通對話框。例如,可以對應(yīng)用程序文件作出系統(tǒng)查詢,并且,恢復(fù)用戶界面可以使用該文件的名字空間來檢索一個或多個備份副本,例如世代文件集,用于供用戶檢查,以恢復(fù)該用戶可能需要的文件的任何副本。在其他實施例中,恢復(fù)實用程序可以作為讀取諸如UFD等已安裝的可移動存儲設(shè)備的目錄的一部分而運行,它可認(rèn)識到該已安裝的設(shè)備可以包含另一個機器所存儲的備份文件。然后,該恢復(fù)實用程序可以向用戶呈現(xiàn)備份副本,以恢復(fù)文件的任何可用副本。
本領(lǐng)域的技術(shù)人員將會理解圖2中所示的系統(tǒng)組件的示例性體系結(jié)構(gòu)可以只是用于實踐本發(fā)明的一個示例性實施例,并且,其他計算系統(tǒng)配置可以被用來實現(xiàn)本發(fā)明。例如,計算系統(tǒng)可能不被配置成包括存儲聚集器,而文件系統(tǒng)可以被配置成只要文件系統(tǒng)可以從應(yīng)用程序接收保存或關(guān)閉應(yīng)用程序文件的請求,就可在具有持久存儲器的一個或多個設(shè)備(例如,可移動設(shè)備)上創(chuàng)建和存儲該應(yīng)用程序文件的備份副本。作為另一個例子,可移動介質(zhì)可以包括固件,用于在可以訪問、修改或刪除該可移動介質(zhì)上所存儲的備份文件之前交換安全憑證。在一個實施例中,可移動介質(zhì)上可能有持久存儲的公用和專用區(qū)域,并且,在成功的憑證交換之后,可以讓該專用區(qū)域變得可訪問。在另一個例子中,計算機系統(tǒng)的持久存儲中所存儲的備份文件可以另外被機會性地保存到可以通過無線或有線網(wǎng)絡(luò)連接的其他設(shè)備或計算機系統(tǒng),例如,圖1中所示的遠程計算機180或存儲設(shè)備181。利用這個方法,可以實現(xiàn)事務(wù)式系統(tǒng),包括使用對網(wǎng)絡(luò)的非易失性高速緩存。在一個實施例中,備份文件的位置也可以被包括在備份副本的文件系統(tǒng)信息中,以便當(dāng)文件與這一遠程存儲設(shè)備或系統(tǒng)同步時,可以對它進行定位,用于應(yīng)用程序文件的恢復(fù)。
圖3呈現(xiàn)了一般表示用于使用文件系統(tǒng)來自動備份文件以便在持久存儲中保存工作數(shù)據(jù)的一個實施例中采取的示例性步驟的流程圖。本領(lǐng)域的技術(shù)人員將會理解實現(xiàn)可以選擇按不同的順序執(zhí)行這些步驟,或者可以出于效率或靈活性的目的而選擇只執(zhí)行這些步驟中的某一些,同時達到相同的效果,而不脫離本發(fā)明的范圍。在步驟302中,可執(zhí)行代碼可以作出保存文件的請求。在一個實施例中,諸如應(yīng)用程序204等應(yīng)用程序可以作出保存應(yīng)用程序文件的請求。在步驟304中,文件系統(tǒng)過濾器驅(qū)動器可以接收保存應(yīng)用程序文件的請求。在一個實施例中,諸如文件系統(tǒng)過濾器驅(qū)動器214等文件系統(tǒng)過濾器驅(qū)動器可以監(jiān)控對于文件系統(tǒng)服務(wù)的請求,例如對于應(yīng)用程序文件的保存、關(guān)閉或?qū)懻埱蟆?br>
然后,文件系統(tǒng)過濾器驅(qū)動器可以在步驟306中訪問策略,以確定是否備份文件。在一個實施例中,可以使用策略來確定可以自動備份什么數(shù)據(jù)。例如,對于某些應(yīng)用程序的文件可能不被備份。例如,策略可以指定應(yīng)該為文字處理文件(而不是為電子郵件應(yīng)用程序)進行備份。策略可以根據(jù)文件的屬性或元數(shù)據(jù)(包括文件類型、文件名、目錄名、目錄位置等)來相應(yīng)地選擇要備份的文件。文件的任何屬性都可以被指定用于選擇文件來備份??梢允褂萌魏卧獢?shù)據(jù),包括用戶定義的元數(shù)據(jù)。策略也可以指定多少存儲空間可被使用、多少存儲空間應(yīng)該保持空閑、可以被備份的最大文件數(shù)量,并且可以指定哪些文件可以比其他文件優(yōu)先用于在可用存儲空間中存儲備份副本。例如,策略可以指定與不太新近訪問的文件的備份副本相比,最新近訪問的文件的備份副本可以優(yōu)先用于可用的存儲空間。作為另一個例子,策略可以指定當(dāng)前打開的文件的最新近的備份副本被存儲在具有持久存儲的可移動設(shè)備(例如,UFD設(shè)備)上。
在步驟308中,可以從策略中確定是否應(yīng)該進行文件的備份。如果否,那么,可以結(jié)束處理,并且,可以不為文件進行備份。如果在步驟308中可以確定應(yīng)該進行文件的備份,那么,文件系統(tǒng)過濾器驅(qū)動器隨后可以在步驟310中訪問策略,以確定要為文件應(yīng)用的備份類型。在一個實施例中,世代文件可以被創(chuàng)建為文件的備份副本。在各個實施例中,文件系統(tǒng)過濾器驅(qū)動器可以指示文件系統(tǒng)在哪里存儲文件的備份副本,例如,存儲在嵌入式非易失性存儲器中、在可移動的非易失性存儲器中、在諸如硬盤驅(qū)動器等計算機存儲介質(zhì)中,或者存儲在非易失性存儲器和/或其他計算機存儲介質(zhì)的組合中。然后,可以在步驟312中備份文件。在步驟314中,可以更新關(guān)于已被備份的文件的內(nèi)容表格。
圖4呈現(xiàn)了一般表示用于確定通過使用文件系統(tǒng)在持久存儲中自動備份文件而應(yīng)用于文件的備份類型的一個實施例中采取的示例性步驟的流程圖。在步驟402中,可以獲得與文件相關(guān)聯(lián)的屬性。這類屬性可以包括文件類型、文件名、目錄名、目錄位置等。文件的任何屬性可以被指定用于確定應(yīng)用于文件的備份類型。在步驟404中,可以獲得關(guān)于文件的屬性的一個或多個策略。然后,可以在步驟406中確定將要被應(yīng)用于文件的備份類型。例如,策略可以指定備份副本應(yīng)該被鏡像、條帶化或使用RAID來存儲。作為另一個例子,策略可以指定備份文件應(yīng)該被存儲在隱藏的卷中,以便不會通過用戶界面可視地向用戶顯示備份文件。
在一個實施例中,策略可以指定世代文件應(yīng)該被創(chuàng)建為備份副本。世代文件集中的每個世代文件可以包括作為文件名的一部分的屬性,該屬性可以唯一地標(biāo)識文件的副本。例如,可以利用包括一個或多個屬性(例如,卷、日期、創(chuàng)建時間、循環(huán)冗余碼(CRC)或用于為文件的該副本創(chuàng)建唯一簽名的其他屬性)的后綴來附加文件名。世代文件的命名對于添加對應(yīng)用程序或用戶的需求可能是唯一的屬性而言也可以是可擴展的。在一個實施例中,關(guān)于世代數(shù)據(jù)集的策略可以指定將要被創(chuàng)建和持久地存儲的一個或多個世代文件。
在步驟408中,可以確定是否應(yīng)該生成世代文件,作為應(yīng)用程序文件的備份副本。在一個實施例中,策略可以指定應(yīng)該將世代文件制作為備份副本。如果否,那么,在步驟410中,可以將應(yīng)用程序文件的副本制作為文件的備份副本。如果可以確定應(yīng)該將世代文件制作為文件的備份,那么,可以在步驟412中制作世代文件。在可以將文件的副本或世代文件制作為備份副本之后,可以結(jié)束處理。
一旦文件系統(tǒng)可以創(chuàng)建和保存應(yīng)用程序文件的備份副本,就可以提供用戶界面,用于在可能已被持久地存儲的應(yīng)用程序文件丟失或破壞的情況下恢復(fù)應(yīng)用程序文件的一個或多個備份副本??梢栽谝粋€實施例中提供通用工具,例如恢復(fù)實用程序202,用于備份文件的恢復(fù)?;蛘?,可以在各個實施例中提供用于特定應(yīng)用程序的工具,例如操作上耦合到應(yīng)用程序204的恢復(fù)用戶界面206。在各個實施例中,可以防止可能具有備份副本的目錄被偶然地覆蓋。例如,對備份目錄的訪問可以局限于恢復(fù)實用程序或策略引擎。
圖5呈現(xiàn)了一般表示用于恢復(fù)通過使用文件系統(tǒng)在持久存儲中自動備份文件而創(chuàng)建的備份文件的一個實施例中采取的示例性步驟的流程圖。在步驟502中,可以執(zhí)行具有恢復(fù)用戶界面的應(yīng)用程序,用于備份文件的恢復(fù)?;謴?fù)用戶界面206可以被包括在應(yīng)用程序或恢復(fù)實用程序中。在一個實施例中,恢復(fù)用戶界面可以是向用戶呈現(xiàn)的普通對話框的一部分,用于打開文件。利用恢復(fù)備份應(yīng)用程序文件的動作,可以擴展這種普通對話框。在步驟504中,可以請求文件的一個或多個備份副本的列表,隨后可以在步驟506中檢索。例如,在一個實施例中,可以對應(yīng)用程序文件作出系統(tǒng)查詢,并且,恢復(fù)用戶界面可以使用文件的名字空間來檢索一個或多個備份副本的列表(例如,世代文件集)。
在步驟508中,可以在用戶界面中呈現(xiàn)文件的備份副本列表,用于供用戶檢查,以恢復(fù)該用戶可能需要的文件的任何副本。在步驟510中,可以接收將要被恢復(fù)的所選備份副本的指示。在步驟512中,可以持久地保存所選備份副本,供應(yīng)用程序訪問。
在其他實施例中,恢復(fù)實用程序可以作為讀取諸如UFD等已安裝的可移動存儲設(shè)備的目錄的一部分而運行。在讀取目錄的過程中,該恢復(fù)實用程序可以認(rèn)識到該已安裝的設(shè)備可以包含另一個機器所存儲的備份文件。然后,恢復(fù)實用程序可以向用戶呈現(xiàn)備份副本,以恢復(fù)文件的任何可用副本。圖6呈現(xiàn)了一般表示用于恢復(fù)已安裝的可移動存儲設(shè)備上所存儲的備份文件的這類實施例所采取的示例性步驟的流程圖。
在步驟602中,可以在計算機系統(tǒng)中安裝可移動設(shè)備,其備份副本被存儲在持久存儲中。例如,具有備份副本的UFD可以被插入USB端口,并且,該計算機系統(tǒng)可以安裝該UFD。在步驟604中,可以執(zhí)行恢復(fù)實用程序。在一個實施例中,恢復(fù)實用程序可以連同備份副本一起被存儲在設(shè)備上。該恢復(fù)實用程序可以在安裝期間被發(fā)現(xiàn),并被執(zhí)行。在步驟606中,可以確定備份副本是否是由安裝可移動設(shè)備的計算機系統(tǒng)創(chuàng)建的。在一個實施例中,被寫入設(shè)備的備份文件的目錄可以存儲在設(shè)備上存儲過備份文件的計算機系統(tǒng)的標(biāo)識。該標(biāo)識可以是可以用于標(biāo)識它的計算機系統(tǒng)的任何屬性,例如,計算機系統(tǒng)的處理器ID或MAC地址。
如果在步驟608中可以確定計算機系統(tǒng)可能還沒有創(chuàng)建備份文件,那么,可以結(jié)束處理。例如,恢復(fù)應(yīng)用程序可以關(guān)閉自身。否則,如果在步驟608中可以確定備份副本是由安裝可移動設(shè)備的計算機系統(tǒng)創(chuàng)建的,那么,通過使用如前所述的圖5中的步驟504-512,可以在步驟610中恢復(fù)文件。文件的一個或多個備份副本可以如步驟504中所描述的那樣被請求,然后如步驟506中所描述的那樣被檢索。文件的備份副本隨后可以如步驟508中所描述的那樣被呈現(xiàn)在用戶界面中,用于供用戶檢查,以恢復(fù)該用戶可能需要的文件的任何副本。可以如步驟510中所描述的那樣接收將要恢復(fù)的所選備份副本的指示,并且,可以如步驟512中所描述的那樣持久地保存所選備份副本,供應(yīng)用程序訪問。
利用這個方法,可以使用文件系統(tǒng)來自動恢復(fù)可以被存儲在具有持久存儲的設(shè)備上的應(yīng)用程序的備份副本??梢跃奂杀惶砑拥接嬎阆到y(tǒng)的各種組件的任何可訪問持久存儲,用于存儲文件的備份副本。例如,硬盤驅(qū)動器制造商可以增大具有大量非易失性存儲器的驅(qū)動器控制器,當(dāng)硬盤可以被降速自旋來保存能量時,可以使用該非易失性存儲器。通過使用這種持久存儲,本發(fā)明可以利用發(fā)生在硬件中的變形,因為可以將增加的持久存儲添加到系統(tǒng),包括添加到設(shè)備和設(shè)備控制器。
如從前述詳細說明中可見,本發(fā)明提供一種用于使用文件系統(tǒng)在持久存儲中自動備份文件的經(jīng)改進的系統(tǒng)和方法。對于應(yīng)用程序透明地,可以使用世代數(shù)據(jù)文件來制作文件的自動備份副本。有利的是,應(yīng)用程序不需要被修改而得益于本發(fā)明。而且,所提供的系統(tǒng)和方法是可擴展的。在命名世代文件的過程中,可以添加對于應(yīng)用程序或用戶的需求而言可能是唯一的任何屬性。文件的任何屬性可以用于確定可應(yīng)用于文件的備份類型。如現(xiàn)在所理解的,該系統(tǒng)和方法因此提供了當(dāng)代計算中所需要的重要的優(yōu)點和好處。
本發(fā)明容許各種修改和替換構(gòu)造,但其某些所示的實施例在附圖中示出并且已在以上詳細描述。但是,應(yīng)該理解并不意在將本發(fā)明局限于所揭示的具體形式,而相反,意在包括落入本發(fā)明的精神和范圍以內(nèi)的所有修改、替換構(gòu)造和等效技術(shù)方案。
權(quán)利要求
1.一種用于制作文件的備份副本的計算機系統(tǒng),包括可執(zhí)行軟件代碼,用于請求文件被持久地存儲;操作上耦合到所述可執(zhí)行軟件代碼的操作系統(tǒng),用于接收對于持久地存儲文件的請求,所述操作系統(tǒng)具有文件系統(tǒng)過濾器驅(qū)動器,用于確定是否創(chuàng)建文件的備份副本;操作上耦合到所述文件系統(tǒng)過濾器驅(qū)動器的世代文件處理程序,用于創(chuàng)建世代文件作為文件的備份副本;以及操作上耦合到所述文件系統(tǒng)過濾器驅(qū)動器的文件系統(tǒng),用于持久地存儲文件的備份副本。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括操作上耦合到所述文件系統(tǒng)的存儲聚集器,用于在所述計算機系統(tǒng)中聚集包括非易失性存儲器在內(nèi)的用于存儲文件的備份副本的持久存儲。
3.如權(quán)利要求2所述的系統(tǒng),其特征在于,所述存儲聚集器包括操作上耦合的存儲枚舉器,用于在所述計算機系統(tǒng)中標(biāo)識可以被聚集用于存儲文件的備份副本的持久存儲。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括操作上耦合到所述操作系統(tǒng)的嵌入式設(shè)備,所述嵌入式設(shè)備包括持久存儲。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括操作上耦合到所述操作系統(tǒng)的可移動設(shè)備,所述可移動設(shè)備包括持久存儲。
6.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括操作上耦合到所述操作系統(tǒng)的策略引擎,用于提供一個或多個策略,所述策略可以用來確定是否創(chuàng)建文件的備份副本。
7.如權(quán)利要求1所述的系統(tǒng),其特征在于,用于請求文件被持久地存儲的所述可執(zhí)行軟件代碼包括用于還原所述文件的備份副本的恢復(fù)用戶界面。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括操作上耦合到所述操作系統(tǒng)的恢復(fù)實用程序,用于還原所述文件的備份副本。
9.一種具有構(gòu)成如權(quán)利要求1所述的系統(tǒng)的計算機可執(zhí)行組件的計算機可讀介質(zhì)。
10.一種用于在計算機系統(tǒng)中制作文件的備份副本的方法,包括以下步驟接收對于持久地存儲文件的、被發(fā)送到文件系統(tǒng)的請求;確定是否備份文件,并且如果是,則創(chuàng)建世代文件作為所述文件的備份副本;將持久地存儲所述文件的備份副本的請求發(fā)送到所述文件系統(tǒng);以及,持久地存儲所述文件的備份副本。
11.如權(quán)利要求10所述的方法,其特征在于,還包括訪問策略以確定是否備份所述文件。
12.如權(quán)利要求10所述的方法,其特征在于,還包括訪問策略以確定應(yīng)用于所述文件的備份類型。
13.如權(quán)利要求12所述的方法,其特征在于,還包括獲得所述文件的一個或多個文件屬性,并且確定可應(yīng)用于所述一個或多個文件屬性的備份類型。
14.如權(quán)利要求10所述的方法,其特征在于,持久地存儲所述文件的備份副本包括在所述計算機系統(tǒng)的一個或多個計算機可讀介質(zhì)上持久地存儲所述文件的備份副本的至少一部分,所述計算機可讀介質(zhì)已被聚集,以便在所述計算機系統(tǒng)中包括用于存儲所述文件的備份副本的非易失性存儲器。
15.如權(quán)利要求14所述的方法,其特征在于,還包括更新內(nèi)容表格,所述內(nèi)容表格包括被持久地存儲在所述一個或多個計算機可讀介質(zhì)上的文件的備份副本的至少一部分。
16.如權(quán)利要求10所述的方法,其特征在于,還包括將持久地存儲文件的請求發(fā)送到所述文件系統(tǒng)。
17.如權(quán)利要求14所述的方法,其特征在于,在所述計算機系統(tǒng)的一個或多個計算機可讀介質(zhì)上持久地存儲所述文件的備份副本的至少一部分包括在操作上耦合到所述計算機系統(tǒng)的遠程存儲上持久地存儲所述文件的備份副本的至少一部分,其中所述計算機可讀介質(zhì)已被聚集,以便在所述計算機系統(tǒng)中包括用于存儲所述文件的備份副本的非易失性存儲器。
18.一種具有用于執(zhí)行如權(quán)利要求10所述的方法的計算機可執(zhí)行指令的計算機可讀介質(zhì)。
19.一種用于恢復(fù)文件的備份副本的方法,包括以下步驟執(zhí)行具有恢復(fù)用戶界面的應(yīng)用程序,以恢復(fù)被持久地存儲為文件的備份副本的世代文件;發(fā)送獲得作為所述文件的備份副本創(chuàng)建的一個或多個世代文件的列表的請求;檢索作為所述文件的備份副本創(chuàng)建的一個或多個世代文件的列表;在用戶界面中呈現(xiàn)作為所述文件的備份副本創(chuàng)建的一個或多個世代文件的列表;接收從所述列表中被選為將要被還原的備份副本的世代文件的指示;以及檢索被選為將要被還原的備份副本的世代文件,并且,通過在應(yīng)用程序可訪問的名字空間中持久地存儲所選擇的世代文件,來還原所選擇的世代文件。
20.如權(quán)利要求19所述的方法,其特征在于,執(zhí)行具有恢復(fù)用戶界面的應(yīng)用程序來恢復(fù)被持久地存儲為所述文件的備份副本的世代文件包括安裝使所述世代文件作為備份副本被持久地存儲在非易失性存儲器中的可移動設(shè)備,以及確定所述備份副本是否是由所述計算機系統(tǒng)創(chuàng)建的。
21.一種用于制作文件的備份副本的計算機系統(tǒng),包括可執(zhí)行軟件代碼,用于請求文件被持久地存儲;操作上耦合到所述可執(zhí)行軟件代碼的操作系統(tǒng),用于接收對于持久地存儲文件的請求,所述操作系統(tǒng)具有用于確定是否創(chuàng)建所述文件的備份副本的文件系統(tǒng)過濾器驅(qū)動器;操作上耦合到所述文件系統(tǒng)過濾器驅(qū)動器的文件系統(tǒng),用于持久地存儲所述文件的備份副本;以及操作上耦合到所述文件系統(tǒng)的存儲聚集器,用于在所述計算機系統(tǒng)中聚集包括非易失性存儲器在內(nèi)的用于存儲所述文件的備份副本的存儲器。
22.如權(quán)利要求21所述的系統(tǒng),其特征在于,所述文件系統(tǒng)過濾器驅(qū)動器包括操作上耦合的世代文件處理程序,用于創(chuàng)建世代文件作為所述文件的備份副本。
23.如權(quán)利要求21所述的系統(tǒng),其特征在于,所述存儲聚集器包括操作上耦合的存儲枚舉器,用于在所述計算機系統(tǒng)中標(biāo)識可以被聚集用于存儲所述文件的備份副本的持久存儲。
24.如權(quán)利要求21所述的系統(tǒng),其特征在于,還包括操作上耦合到所述操作系統(tǒng)的嵌入式設(shè)備,所述嵌入式設(shè)備包括持久存儲。
25.如權(quán)利要求21所述的系統(tǒng),其特征在于,還包括操作上耦合到所述操作系統(tǒng)的可移動設(shè)備,所述可移動設(shè)備包括持久存儲。
26.如權(quán)利要求21所述的系統(tǒng),其特征在于,還包括操作上耦合到所述操作系統(tǒng)的策略引擎,用于提供一個或多個策略,所述策略可以用來確定是否創(chuàng)建所述文件的備份副本。
27.如權(quán)利要求21所述的系統(tǒng),其特征在于,用于請求文件被持久地存儲的所述可執(zhí)行軟件代碼包括用于還原所述文件的備份副本的恢復(fù)用戶界面。
28.如權(quán)利要求21所述的系統(tǒng),其特征在于,還包括操作上耦合到所述操作系統(tǒng)的恢復(fù)實用程序,用于還原所述文件的備份副本。
29.一種具有構(gòu)成如權(quán)利要求21所述的系統(tǒng)的計算機可執(zhí)行組件的計算機可讀介質(zhì)。
30.一種用于在計算機系統(tǒng)中制作文件的備份副本的方法,包括以下步驟接收對于持久地存儲文件的、被發(fā)送到文件系統(tǒng)的請求;確定是否備份所述文件,并且如果是,則創(chuàng)建所述文件的備份副本;將持久地存儲所述文件的備份副本的請求發(fā)送到所述文件系統(tǒng);以及在所述計算機系統(tǒng)的一個或多個計算機可讀介質(zhì)上持久地存儲所述文件的備份副本的至少一部分,所述計算機可讀介質(zhì)已被聚集,以便在所述計算機系統(tǒng)中包括用于存儲所述文件的備份副本的非易失性存儲器。
31.如權(quán)利要求30所述的方法,其特征在于,還包括訪問策略以確定是否備份所述文件。
32.如權(quán)利要求30所述的方法,其特征在于,還包括訪問策略以確定應(yīng)用于所述文件的備份類型。
33.如權(quán)利要求32所述的方法,其特征在于,還包括獲得所述文件的一個或多個文件屬性,并且確定可應(yīng)用于所述一個或多個文件屬性的備份類型。
34.如權(quán)利要求30所述的方法,其特征在于,創(chuàng)建所述文件的備份副本包括創(chuàng)建世代文件作為所述文件的備份副本。
35.如權(quán)利要求30所述的方法,其特征在于,還包括更新內(nèi)容表格,所述內(nèi)容表格包括被持久地存儲在所述一個或多個計算機可讀介質(zhì)上的文件的備份副本的至少一部分。
36.如權(quán)利要求30所述的方法,其特征在于,還包括將對于持久地存儲文件的請求發(fā)送到所述文件系統(tǒng)。
37.如權(quán)利要求30所述的方法,其特征在于,在所述計算機系統(tǒng)的一個或多個計算機可讀介質(zhì)上持久地存儲所述文件的備份副本的至少一部分包括在操作上耦合到所述計算機系統(tǒng)的遠程存儲上持久地存儲所述文件的備份副本的至少一部分,其中所述計算機可讀介質(zhì)已被聚集,以便在所述計算機系統(tǒng)中包括用于存儲所述文件的備份副本的非易失性存儲器。
38.一種具有用于執(zhí)行如權(quán)利要求30所述的方法的計算機可執(zhí)行指令的計算機可讀介質(zhì)。
39.一種用于恢復(fù)文件的備份副本的方法,包括以下步驟執(zhí)行具有恢復(fù)用戶界面的應(yīng)用程序,以恢復(fù)被持久地存儲在計算機系統(tǒng)的一個或多個計算機可讀介質(zhì)上的文件的備份副本,所述計算機可讀介質(zhì)已被聚集,以便在所述計算機系統(tǒng)中包括非易失性存儲器;發(fā)送獲得所述文件的一個或多個備份副本的列表的請求;檢索所述文件的一個或多個備份副本的列表;在用戶界面中呈現(xiàn)所述文件的一個或多個備份副本的列表;接收從所述列表中選擇的將要被還原的備份副本的指示;以及從所述計算機系統(tǒng)的一個或多個計算機可讀介質(zhì)中檢索所選擇的備份副本,并且通過在應(yīng)用程序可訪問的名字空間中持久地存儲所選擇的備份副本來還原所選擇的備份副本,其中所述計算機可讀介質(zhì)已被聚集,以便在所述計算機系統(tǒng)中包括非易失性存儲器。
40.如權(quán)利要求39所述的方法,其特征在于,執(zhí)行具有恢復(fù)用戶界面的應(yīng)用程序來恢復(fù)被持久地存儲在計算機系統(tǒng)的一個或多個計算機可讀介質(zhì)上的文件的備份副本包括安裝使備份副本被存儲在非易失性存儲器中的可移動設(shè)備,并且確定所述備份副本是否是由所述計算機系統(tǒng)創(chuàng)建的,其中所述計算機可讀介質(zhì)已被聚集,以便在所述計算機系統(tǒng)中包括非易失性存儲器。
全文摘要
提供了一種用于使用文件系統(tǒng)在持久存儲器中自動備份文件的經(jīng)改進的系統(tǒng)和方法。存儲聚集器可以組織在合計中用于存儲文件的備份副本的非易失性存儲器。文件系統(tǒng)過濾器驅(qū)動器可以從應(yīng)用程序接收關(guān)于存儲文件的請求,并且可以訪問策略,以確定是否創(chuàng)建該文件的備份副本以及應(yīng)用于該文件的是什么備份類型。世代文件處理程序可以創(chuàng)建和管理世代文件集,作為特定應(yīng)用文件的備份副本??梢蕴峁┗謴?fù)用戶界面,以檢索一個或多個備份副本(例如,世代文件集),用于供用戶檢查,以恢復(fù)該用戶可能需要的文件的任何副本。
文檔編號G06F11/14GK1822004SQ200610054920
公開日2006年8月23日 申請日期2006年2月17日 優(yōu)先權(quán)日2005年2月18日
發(fā)明者J·麥吉爾三世, P·德馬奧, T·G·菲力浦斯, W·J·韋斯特林恩 申請人:微軟公司