專利名稱:高效地創(chuàng)建頻繁應(yīng)用程序一致的備份的制作方法
高效地創(chuàng)建頻繁應(yīng)用程序一致的備份
背景
背景和相關(guān)技術(shù)
隨著計(jì)算機(jī)化系統(tǒng)的日益流行,存儲(chǔ)和備份由相關(guān)聯(lián)的用戶和應(yīng)用程序創(chuàng) 建的電子文件和其他通信的需要也日益增加。 一般而言,計(jì)算機(jī)系統(tǒng)和相關(guān)的 設(shè)備出于各種原因創(chuàng)建文件,諸如在工作環(huán)境中創(chuàng)建一個(gè)文字處理文檔,以及 創(chuàng)建用于更復(fù)雜數(shù)據(jù)庫(kù)的目的的文件的一般情況下。此外,許多這些文檔可包 括有價(jià)值的工作產(chǎn)品,或應(yīng)該被保護(hù)的敏感信息。因此人們將會(huì)認(rèn)識(shí)到, 一個(gè) 組織會(huì)想要定期備份電子文件,并藉此在需要時(shí)創(chuàng)建最初創(chuàng)建的文件的可靠的 還原有各種原因。
盡管有許多常規(guī)的備份系統(tǒng)提供的某些便利,但許多常規(guī)系統(tǒng)使用的機(jī)制 通常不如最優(yōu)機(jī)制那樣高效。例如,創(chuàng)建應(yīng)用程序一致的備份的能力可能是某 些備份系統(tǒng)的重要組成部分。應(yīng)用程序一致(以及文件系統(tǒng)一致)的備份基本 上是對(duì)于特定的時(shí)間點(diǎn)在文件狀態(tài)上一致的備份的數(shù)據(jù)集。例如,如果備份管 理員復(fù)制給定生產(chǎn)服務(wù)器巻上的所有數(shù)據(jù),甚至當(dāng)該數(shù)據(jù)正處于被寫入或更新 的過程中的時(shí)候,則對(duì)應(yīng)的備份副本的文件狀態(tài)可能不一定對(duì)單個(gè)時(shí)間點(diǎn)是一 致的。因此,創(chuàng)建應(yīng)用程序一致的備份一般涉及協(xié)調(diào)文件狀態(tài)的附加工作。
然而,可以認(rèn)識(shí)到,可能有任意數(shù)量的與創(chuàng)建應(yīng)用程序一致的數(shù)據(jù)備份相 關(guān)聯(lián)的困難。例如,用于創(chuàng)建備份的常規(guī)機(jī)制一般涉及諸如郵件或數(shù)據(jù)庫(kù)應(yīng)用 程序的備份組件等應(yīng)用程序調(diào)用一個(gè)或多個(gè)備份和/或還原應(yīng)用程序編程接口
("API")。特別地,該備份組件可告知API凍結(jié)對(duì)生產(chǎn)服務(wù)器上的某些指 定的盤數(shù)據(jù)的寫入,然后創(chuàng)建該數(shù)據(jù)的備份副本(即,"復(fù)制品")。不幸的 是, 一般沒有簡(jiǎn)單的方法來供備份組件向生產(chǎn)服務(wù)器處的備份API描述其數(shù) 據(jù)。有時(shí)候可能有大量需要在備份過程期間參考的備份API的事實(shí)進(jìn)一步加劇 了這一困難。
另外,創(chuàng)建特定數(shù)據(jù)的特定應(yīng)用程序正請(qǐng)求備份服務(wù)的事實(shí)通常意味著在任何給定時(shí)間可能備份少于全部的生產(chǎn)服務(wù)器數(shù)據(jù)。例如,常規(guī)的備份機(jī)制通 常對(duì)于正被備份的數(shù)據(jù)而言是應(yīng)用程序?qū)S玫?。這一應(yīng)用程序?qū)S脗浞莘椒ㄍ?常涉及在備份過程期間運(yùn)行給定應(yīng)用程序的多個(gè)實(shí)例。然而,可以理解,運(yùn)行 給定應(yīng)用程序的多個(gè)實(shí)例出于多種原因,不論是從成本還是資源花費(fèi)觀點(diǎn)來看 都是低效的。
此外,甚至使用應(yīng)用程序來提供備份服務(wù)在某種程度上是低效的,因?yàn)閼?yīng) 用程序?qū)S玫膫浞菀话悴惶峁?yīng)用程序數(shù)據(jù)的時(shí)間點(diǎn)副本而不帶來重大的資 源花費(fèi)。這可意味著應(yīng)用程序可能無法以高頻率提供應(yīng)用程序一致的時(shí)間點(diǎn)備 份(由此提供高粒度的恢復(fù)點(diǎn))而不使生產(chǎn)服務(wù)器和備份服務(wù)器負(fù)擔(dān)過重。由 此,由特定應(yīng)用程序執(zhí)行的常規(guī)備份通常不能提供僅舊了幾分鐘的時(shí)間點(diǎn)備份
的"開機(jī)備用"(hot standby)。
該一般缺乏粒度可配置性可延及備份系統(tǒng)中的各種各樣其它問題。例如, 常規(guī)的備份系統(tǒng)可能難以為特定巻上的各種類型的文件、特定文件夾或文件夾 位置來配置。由此,可能存在與使得常規(guī)備份系統(tǒng)以比僅整個(gè)一個(gè)或多個(gè)巻或 僅整個(gè)文件更好的粒度來備份生產(chǎn)服務(wù)器數(shù)據(jù),而非僅備份文件的實(shí)際上已經(jīng) 修改了的那些部分相關(guān)聯(lián)的困難。這些和其它類似的問題通常意味著生產(chǎn)服務(wù) 器和備份服務(wù)器被配置成在其間復(fù)制和傳輸比所需的更多的數(shù)據(jù),這當(dāng)然會(huì)影 響系統(tǒng)性能和網(wǎng)絡(luò)帶寬。特別地,生產(chǎn)服務(wù)器可能正在復(fù)制和傳輸未改變的文 件數(shù)據(jù),以及僅一小部分改變的整個(gè)文件。由于這一原因,備份服務(wù)器也可能 需要投入比所需的更多的存儲(chǔ)容量來備份生產(chǎn)服務(wù)器數(shù)據(jù)。
因此,可以理解,上述因素中的每一個(gè)(或其組合)會(huì)負(fù)面地影響恢復(fù)點(diǎn) 目標(biāo)("RPO"),其一般指的是需要將數(shù)據(jù)恢復(fù)回到多遠(yuǎn)的時(shí)間以使組織能 在災(zāi)難之后重新啟動(dòng)操作。上述因素也會(huì)負(fù)面地影響恢復(fù)時(shí)間目標(biāo)(RTO), 其一般指的是在災(zāi)難之后要經(jīng)過多少時(shí)間才可恢復(fù)重新啟動(dòng)操作所必需的數(shù) 據(jù)。即,常規(guī)的備份系統(tǒng)一般配備較差以致于無法提供相對(duì)高的恢復(fù)點(diǎn),尤其 是在相對(duì)快的時(shí)間量?jī)?nèi),而不會(huì)對(duì)系統(tǒng)資源帶來不恰當(dāng)?shù)呢?fù)擔(dān)。
因此,現(xiàn)有的備份系統(tǒng)面臨著可被解決的多個(gè)困難。
簡(jiǎn)要概述本發(fā)明的各實(shí)現(xiàn)用被至少部分地配置成優(yōu)化備份系統(tǒng)中的恢復(fù)點(diǎn)目標(biāo)和 恢復(fù)時(shí)間目標(biāo)的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品解決了現(xiàn)有技術(shù)中的一個(gè)或多個(gè) 問題。例如,在至少一個(gè)實(shí)現(xiàn)中,生產(chǎn)服務(wù)器處的資源節(jié)省可通過用巻過濾器 驅(qū)動(dòng)器監(jiān)視對(duì)生產(chǎn)服務(wù)器巻的改變來實(shí)現(xiàn)。另外,可通過主要僅向備份服務(wù)器 傳輸自從最后一個(gè)復(fù)制周期以來的增量改變(例如,改變的字節(jié)或字節(jié)范圍) 來高效地使用網(wǎng)絡(luò)帶寬和備份服務(wù)器資源。如可從本文中更完全地理解的,這 些優(yōu)化可提供以實(shí)際上連續(xù)(或近乎連續(xù))的方式備份生產(chǎn)服務(wù)器數(shù)據(jù)而不會(huì) 大量耗盡生產(chǎn)服務(wù)器資源、備份服務(wù)器資源和/或網(wǎng)絡(luò)帶寬問題的能力。
例如,從生產(chǎn)服務(wù)器的觀點(diǎn)來看的以實(shí)際上連續(xù)的、 一致的方式復(fù)制生產(chǎn) 服務(wù)器數(shù)據(jù)的方法可涉及將巻數(shù)據(jù)的副本從生產(chǎn)服務(wù)器的一個(gè)或多個(gè)巻發(fā)送 到備份服務(wù)器。在這一情況下,所發(fā)送的關(guān)于巻的數(shù)據(jù)的副本一般對(duì)于第一時(shí)
間實(shí)例(instance of time)是一致的(即,應(yīng)用程序一致或文件系統(tǒng)一致)。 此外,該方法可涉及經(jīng)由一個(gè)或多個(gè)巻日志文件來標(biāo)識(shí)對(duì)巻數(shù)據(jù)的一個(gè)或多個(gè) 改變。該方法還可涉及在標(biāo)識(shí)了復(fù)制周期事件之后,將一個(gè)或多個(gè)數(shù)據(jù)改變保 存在一個(gè)或多個(gè)巻日志文件中。 一般而言, 一個(gè)或多個(gè)數(shù)據(jù)改變對(duì)于第二(即, 后續(xù)的)時(shí)間實(shí)例也是一致的。此外,該方法可涉及向備份服務(wù)器發(fā)送一個(gè)或 多個(gè)改變的副本。由此,備份服務(wù)器將具有一個(gè)或多個(gè)巻的數(shù)據(jù)的副本,其中 數(shù)據(jù)對(duì)于第一時(shí)間實(shí)例和第二時(shí)間實(shí)例是有效的。
相反,從備份服務(wù)器的觀點(diǎn)來看的以實(shí)際上連續(xù)的、 一致的方式復(fù)制生產(chǎn) 服務(wù)器數(shù)據(jù)的方法可涉及從生產(chǎn)服務(wù)器接收一個(gè)或多個(gè)巻備份。在這一情況 下, 一個(gè)或多個(gè)巻備份對(duì)于初始時(shí)間實(shí)例是一致的。該方法還可涉及接收一個(gè) 或多個(gè)應(yīng)用程序一致的備份更新,其中至少一個(gè)備份更新是對(duì)于后續(xù)時(shí)間實(shí) 例、對(duì)一個(gè)或多個(gè)巻備份中的至少一個(gè)的一致更新。另外,該方法可涉及接收 對(duì)根據(jù)后續(xù)時(shí)間實(shí)例為有效的數(shù)據(jù)的恢復(fù)請(qǐng)求。
此外,該方法還可涉及標(biāo)識(shí)一個(gè)或多個(gè)備份服務(wù)器巻處對(duì)后續(xù)時(shí)間實(shí)例所 請(qǐng)求的數(shù)據(jù)。在這一情況下,所請(qǐng)求的數(shù)據(jù)包括至少一個(gè)應(yīng)用程序一致的備份 更新的至少一部分。另外,該方法可涉及將對(duì)后續(xù)時(shí)間實(shí)例有效的所請(qǐng)求的數(shù) 據(jù)發(fā)送給生產(chǎn)服務(wù)器。
提供本概述以便以簡(jiǎn)化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概念。該概述不旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨 在用于幫助確定所要求保護(hù)的主題的范圍。
本發(fā)明的示例性實(shí)現(xiàn)的附加特征和優(yōu)點(diǎn)將在以下描述中敘述,且其一部分 根據(jù)本描述將是顯而易見的,或可通過對(duì)這些示例性實(shí)現(xiàn)的實(shí)踐而獲知。各個(gè) 特征和優(yōu)點(diǎn)可以通過在所附權(quán)利要求中特別指出的手段和組合來實(shí)現(xiàn)和獲得。 這些和其他特征將從以下描述和所附權(quán)利要求書中變得更完全顯而易見,或者 可通過如下所述的這些示例性實(shí)現(xiàn)的實(shí)踐而知。
附圖簡(jiǎn)述
為了描述可獲得本發(fā)明的上述和其它優(yōu)點(diǎn)和特征的方法,將通過引用附圖 中示出的本發(fā)明的具體實(shí)施例來呈現(xiàn)以上簡(jiǎn)要描述的本發(fā)明的更具體描述。可 以理解,這些附圖僅描述本發(fā)明的典型實(shí)施例,從而不被認(rèn)為是對(duì)其范圍的限 制,本發(fā)明將通過使用附圖用附加特征和細(xì)節(jié)來描述和說明,附圖中
圖1A示出了根據(jù)本發(fā)明的一個(gè)實(shí)現(xiàn)的體系結(jié)構(gòu)概覽圖,其中生產(chǎn)服務(wù)器 創(chuàng)建增量的應(yīng)用程序(或文件系統(tǒng)) 一致的備份,并將這些備份發(fā)送給備份服 務(wù)器;
圖1B示出了根據(jù)本發(fā)明的一個(gè)實(shí)現(xiàn)的概覽圖,其中巻過濾器驅(qū)動(dòng)器使用 系統(tǒng)存儲(chǔ)器和一個(gè)或多個(gè)物理盤來監(jiān)視對(duì)巻的改變;以及
圖2示出了根據(jù)本發(fā)明的各實(shí)現(xiàn)的、包括從生產(chǎn)服務(wù)器和備份服務(wù)器的觀 點(diǎn)執(zhí)行的動(dòng)作序列的方法的流程圖。
詳細(xì)描述
本發(fā)明涉及至少部分地被配置成優(yōu)化備份系統(tǒng)中的恢復(fù)點(diǎn)目標(biāo)和恢復(fù)時(shí) 間目標(biāo)的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品。例如,在至少一個(gè)實(shí)現(xiàn)中,生產(chǎn)服務(wù) 器處的資源節(jié)省可通過用巻過濾器驅(qū)動(dòng)器監(jiān)視對(duì)生產(chǎn)服務(wù)器巻的改變來實(shí)現(xiàn)。 另外,可通過主要僅向備份服務(wù)器傳輸自從最后一個(gè)復(fù)制周期以來的增量改變 (例如,改變的字節(jié)或字節(jié)范圍)來高效地使用網(wǎng)絡(luò)帶寬和備份服務(wù)器資源。 如可從本文中更完全地理解的,這些優(yōu)化可提供以實(shí)際上連續(xù)(或近乎連續(xù)) 的方式備份生產(chǎn)服務(wù)器數(shù)據(jù)而不會(huì)大量耗盡生產(chǎn)服務(wù)器資源、備份服務(wù)器資源和/或網(wǎng)絡(luò)帶寬問題的能力。
如可從以下說明書和權(quán)利要求書中更完全理解的,本發(fā)明的各實(shí)現(xiàn)可通過 用生產(chǎn)服務(wù)器數(shù)據(jù)的"全快照"刷新備份服務(wù)器來滿足各種各樣的"恢復(fù)時(shí)間 目標(biāo)"。另外,本發(fā)明的各實(shí)現(xiàn)包括能在生產(chǎn)服務(wù)器處實(shí)現(xiàn)的巻過濾器驅(qū)動(dòng)器。
如此處可更完全地理解的,巻過濾器驅(qū)動(dòng)器可被配置成監(jiān)視對(duì)生產(chǎn)服務(wù)器巻上 的字節(jié)(和/或字節(jié)塊)的改變。生產(chǎn)服務(wù)器因而可被配置成通過僅向備份服務(wù) 器發(fā)送這些改變的字節(jié)(或字節(jié)塊)來發(fā)送整個(gè)快照(或備^3、副本)。由此, 對(duì)巻過濾器驅(qū)動(dòng)器的使用可減輕對(duì)否則可能在將生產(chǎn)服務(wù)器數(shù)據(jù)的全快照移 至備份服務(wù)器時(shí)消耗的資源的負(fù)擔(dān)。
此外,由于這些和其它特征,生產(chǎn)服務(wù)器可向備份服務(wù)器提供時(shí)間上間隔 較近的若干"一致"(即,應(yīng)用程序一致和/或文件系統(tǒng)一致)快照(即,初始 備份和后續(xù)陰影副本)的實(shí)際上連續(xù)的備份。另外,由于對(duì)備份的每一更新是 應(yīng)用程序一致(和/或文件系統(tǒng)一致)的,或者對(duì)特定的時(shí)間實(shí)例是有效的,因 此每一更新之間的差異也將是應(yīng)用程序一致的。由此,本發(fā)明的各實(shí)現(xiàn)向用戶
提供了以相當(dāng)高的粒度(例如,僅舊了幾分鐘)恢復(fù)各種各樣的應(yīng)用程序一致 的數(shù)據(jù)(例如,從文件級(jí)、數(shù)據(jù)庫(kù)級(jí)、甚至整個(gè)生產(chǎn)服務(wù)器級(jí))而只有比本來 所需的少得多的負(fù)擔(dān)的能力。
一般而言,有各種根據(jù)本發(fā)明的各實(shí)現(xiàn)的用于實(shí)現(xiàn)連續(xù)的、 一致的備份服 務(wù)的方法。在至少一個(gè)非?;镜囊饬x上,創(chuàng)建一致備份包括創(chuàng)建一個(gè)或多個(gè)
巻(例如,175)的基線副本(例如,145),然后用對(duì)該一個(gè)或多個(gè)巻的遞增 的、 一致的更新(例如,150、 155)來補(bǔ)充該基線副本。例如,圖1A示出生 產(chǎn)服務(wù)器105創(chuàng)建所選巻175上的數(shù)據(jù)的至少一個(gè)基線備份副本(例如,145)。 除了簡(jiǎn)單地創(chuàng)建基線副本145之外,系統(tǒng)100中的備份管理員可使用任意數(shù)量 或類型的機(jī)制來使得副本145 —致。
在一個(gè)實(shí)現(xiàn)中,備份管理員可使用安裝在備份服務(wù)器110和/或生產(chǎn)服務(wù) 器105處的復(fù)制代理(未示出)來引導(dǎo)該復(fù)制過程。例如,在復(fù)制周期期間, 復(fù)制代理可被配置成指示生產(chǎn)服務(wù)器105上的任何一個(gè)或多個(gè)適當(dāng)?shù)膽?yīng)用程序 寫入器對(duì)單個(gè)時(shí)間點(diǎn)即刻掛起任何一個(gè)或多個(gè)巻上的寫活動(dòng)(例如,數(shù)據(jù)庫(kù)可
橫跨若干巻,并且若干應(yīng)用程序可使用具有不同復(fù)制時(shí)間表的同一巻)。(對(duì)于文件共享備份,可能甚至完全不涉及應(yīng)用程序?qū)懭肫?。這允許復(fù)制代理因 而創(chuàng)建一個(gè)或多個(gè)巻的單時(shí)間點(diǎn)備份(即,"陰影副本")。
復(fù)制代理還可向每一應(yīng)用程序?qū)懭肫魈峁┲噶钜詫?duì)其感興趣的數(shù)據(jù)執(zhí)行 特定功能,由此確保所有數(shù)據(jù)和元數(shù)據(jù)對(duì)于復(fù)制周期的該時(shí)間點(diǎn)是一致的。對(duì) 于沒有應(yīng)用程序?qū)懭肫骰蚺c其相關(guān)聯(lián)的相應(yīng)插件的更簡(jiǎn)單的應(yīng)用程序,復(fù)制代 理可被配置成僅僅指示這些應(yīng)用程序在復(fù)制周期期間凍結(jié)或關(guān)閉。上述用于創(chuàng) 建一致備份的代理、組件和功能在至少一個(gè)實(shí)現(xiàn)中可在例如具有巻陰影副本服 務(wù)("VSS")的微軟環(huán)境中提供。
在任何情況下,對(duì)特定的時(shí)間實(shí)例凍結(jié)了對(duì)特定巻(或多個(gè)巻)的感興趣
的寫入,生產(chǎn)服務(wù)器105然后可形成并發(fā)送感興趣的巻(或替換地,僅這些所 選的文件夾、文件或文件類型)的副本。例如,圖1A示出生產(chǎn)服務(wù)器105可 向備份服務(wù)器110提供該初始基線副本145。 一般而言,生產(chǎn)服務(wù)器105可用' 任意數(shù)量的方式來提供基線副本145。例如,在一個(gè)實(shí)現(xiàn)中,生產(chǎn)服務(wù)器105 只需通過網(wǎng)絡(luò)連接來發(fā)送副本145。在其它實(shí)現(xiàn)中,諸如在網(wǎng)絡(luò)帶寬可能更受 限的情況下,備份管理員可以將巻副本轉(zhuǎn)移到磁帶(或另一中間存儲(chǔ)節(jié)點(diǎn)一未 示出),且在稍后將該磁帶連接到備份服務(wù)器110。不論是如何執(zhí)行的,生產(chǎn) 服務(wù)器105都向備份服務(wù)器110提供了對(duì)于共享同一復(fù)制周期的感興趣的巻、 文件夾、文件或文件集的所有數(shù)據(jù)的至少一個(gè)一致的基線副本(即,對(duì)于時(shí)刻 "to"是有效的)。
在提供了一個(gè)或多個(gè)生產(chǎn)服務(wù)器巻的一個(gè)或多個(gè)基線副本之后,備份服務(wù) 器110可繼續(xù)接收對(duì)基線備份的更新。例如,備份服務(wù)器110可按照各種各樣 可配置復(fù)制時(shí)間表,諸如范圍為約5-10分鐘、10-15分鐘、15-30分鐘等的時(shí) 間表,來繼續(xù)備份生產(chǎn)服務(wù)器105。 一般而言,備份管理員配置復(fù)制周期的等 級(jí)是能訪問特定"恢復(fù)點(diǎn)"的粒度等級(jí)。
如先前所討論的,通常時(shí)間點(diǎn)備份的可訪問性中的相對(duì)較高的粒度等級(jí)可 能對(duì)于某些備份系統(tǒng)而言是極其資源昂貴的。由此,為了創(chuàng)建上述"恢復(fù)點(diǎn)" 的粒度等級(jí)而不會(huì)必然地?fù)p害"恢復(fù)所花費(fèi)的時(shí)間"(例如,不招致顯著的開 銷),本發(fā)明的各實(shí)現(xiàn)可提供多個(gè)重要的組件和功能。
例如,在以下更完整討論的一個(gè)實(shí)現(xiàn)中,可使用巻過濾器驅(qū)動(dòng)器115來監(jiān)視對(duì)生產(chǎn)服務(wù)器105處的一個(gè)或多個(gè)巻(例如,175)中的任一個(gè)的迭代改變, 這或者用存儲(chǔ)器中位圖來實(shí)現(xiàn),或者通過在盤上的巻日志文件中標(biāo)記特定的已 改變字節(jié)(或字節(jié)塊)來實(shí)現(xiàn)。 一般而言,巻過濾器驅(qū)動(dòng)器(例如,115)將 獨(dú)立于基于硬件或軟件的"快照"如何在生產(chǎn)服務(wù)器105上實(shí)現(xiàn)。然而,可以 理解,巻過濾器驅(qū)動(dòng)器115不一定是必需的,并且可由其它組件執(zhí)行類似的功 能,這些功能也在此討論。在附加或替換實(shí)現(xiàn)中,生產(chǎn)服務(wù)器105還可通過使 用常規(guī)的陰影副本監(jiān)視機(jī)制,和/或更新序列號(hào)日記(即,"USN日記"140) 等,來監(jiān)視對(duì)巻的改變(例如,對(duì)文件120、 125、 130等的改變)。特別地對(duì) 于微軟操作環(huán)境,例如,這些組件是通過對(duì)巻陰影副本服務(wù)("VSS")和 USN日記的組合使用來提供的。
一般而言,巻日志文件(例如,135)可包括在關(guān)于對(duì)巻的每一次寫入的 特定復(fù)制周期期間對(duì)巻的所有改變(例如,巻偏移量、數(shù)據(jù)長(zhǎng)度改變),和/ 或改變的存儲(chǔ)器內(nèi)位圖。當(dāng)出現(xiàn)特定復(fù)制周期時(shí),現(xiàn)有巻日志文件(例如,135) 被凍結(jié),并且可創(chuàng)建一新的巻日志文件(未示出)來收集對(duì)于下一復(fù)制周期的 改變。在一個(gè)實(shí)現(xiàn)中,巻級(jí)改變可直接被發(fā)送到備份服務(wù)器110,而沒有任何 附加的相關(guān)信息。發(fā)送到備份服務(wù)器110的對(duì)應(yīng)的更新然后可作為"字節(jié)n" (或"字節(jié)塊n變?yōu)閚+l")應(yīng)用于復(fù)制品。在附加或替換實(shí)現(xiàn)中,生產(chǎn)服務(wù) 器105處的巻數(shù)據(jù)也可與USN日記(或相關(guān)組件)140信息相關(guān)。
特別地,USN日記(例如,140)包括關(guān)于文件系統(tǒng)中的文件名數(shù)據(jù)的這 些活動(dòng)的加時(shí)間戳的信息。與USN日記140相似或相同的組件也被稱為改變 過濾器或改變?nèi)沼浀?。因此,此處?duì)"USN日記"140的特別引用主要是出于 方便的目的而做出的。在任何情況下,參考文件系統(tǒng)活動(dòng),生產(chǎn)服務(wù)器105可 組合巻日志文件(例如,135)數(shù)據(jù)和改變?nèi)沼洈?shù)據(jù)(例如,USN日記140) 來將對(duì)巻174的各個(gè)寫入的時(shí)間、活動(dòng)類型和文件名等相關(guān)。
由此,USN日記140也可結(jié)合巻日志文件135使用來將諸如特定字節(jié)或 "字節(jié)塊"改變的地址(以及對(duì)于該改變的對(duì)應(yīng)的文件)等相關(guān)。特別地,巻 上的每一文件可被認(rèn)為是可尋址字節(jié)的開集,以及可尋址固定長(zhǎng)度字節(jié)塊的開 集。在某些情況下,監(jiān)視并傳輸字節(jié)塊(而非個(gè)別字節(jié))可能是監(jiān)視并傳輸改 變以及確定對(duì)備份目的需要多少空間更高效的方式。特別地,這部分地是由于字節(jié)塊表示了通常在某種程度上小于整個(gè)文件、但大于單個(gè)字節(jié)的粒度等級(jí)。 由此,圖1A示出生產(chǎn)服務(wù)器105將對(duì)其要保護(hù)的文件的各種字節(jié)或字節(jié)塊改 變記入日志。
例如,圖1A示出生產(chǎn)服務(wù)器105將自從上一個(gè)復(fù)制周期(例如,前5、 10、 15、 20、 25或30分鐘等)以來文件120的字節(jié)(或"字節(jié)塊")121、 122 和123已改變(例如,120是一新文件)記入日志。類似地,盡管文件125包 括字節(jié)(或字節(jié)塊)127、 128和129,但僅字節(jié)128和129已改變;并且在文 件130包括字節(jié)131、 132和133的情況下,僅字節(jié)133自從上一個(gè)復(fù)制周期 以來已改變。 一般而言,生產(chǎn)服務(wù)器105可將這些已改變字節(jié)記入巻、文件夾 或相關(guān)文件的只讀陰影副本中。如上所述,生產(chǎn)服務(wù)器105還可將對(duì)于巻日志 文件的這些已改變字節(jié)作為存儲(chǔ)器內(nèi)位圖(例如,對(duì)巻上的每一數(shù)據(jù)塊使用一 位)來存儲(chǔ),該位圖稍后在復(fù)制期間被傳遞給物理盤。不論是如何記入日志或 監(jiān)視的,在適當(dāng)?shù)臅r(shí)刻(即,下一復(fù)制周期),生產(chǎn)服務(wù)器105然后可僅準(zhǔn)備 這些文件改變(即,121、 122、 123、 128、 129、 133等)來發(fā)送到備份服務(wù)器 110。
在該特定示例中,改變(即,121、 122、 123、 128、 129、 133等)各自
對(duì)于最新近的時(shí)間點(diǎn)(即,"V')是有效的,且因此是一致的(即,應(yīng)用程 序一致或文件系統(tǒng)一致)。值得注意的是,由于這些字節(jié)(或字節(jié)塊)表示了 兩個(gè)一致的時(shí)間點(diǎn)備份之間的差異,因此備份服務(wù)器110處的這些字節(jié)(或字 節(jié)塊)的應(yīng)用也可以是一致的。在標(biāo)識(shí)了這些數(shù)據(jù)改變之后,生產(chǎn)服務(wù)器105 可將這些改變作為更新150 (對(duì)時(shí)刻h)發(fā)送到備份服務(wù)器110。類似地,生 產(chǎn)服務(wù)器105可在對(duì)下一復(fù)制周期的下一遞增更新中標(biāo)識(shí)并發(fā)送每一下一遞增 數(shù)據(jù)改變集(即,對(duì)一個(gè)或多個(gè)巻記入日志的數(shù)據(jù)改變)。例如,圖1A還示 出生產(chǎn)服務(wù)器105準(zhǔn)備并向備份服務(wù)器110發(fā)送更新155 (對(duì)時(shí)刻t2)等等。
可以理解,從生產(chǎn)服務(wù)器105讀取改變的數(shù)據(jù)并準(zhǔn)備消息150的時(shí)刻,對(duì) 巻數(shù)據(jù)可能有附加的改變,這會(huì)使得所讀取的數(shù)據(jù)變得不一致(即,對(duì)于時(shí)刻 "V'是一致的,且對(duì)后續(xù)時(shí)刻是有效的)。因此,如先前關(guān)于基線副本145 所討論的,在至少一個(gè)實(shí)現(xiàn)中可使用巻陰影副本服務(wù)(或其它類似VSS的機(jī) 制)來讀取僅關(guān)于凍結(jié)的、特定的時(shí)間實(shí)例的數(shù)據(jù),而不讀取其后續(xù)的任何改變。這可幫助確??煺崭?50 (以及155等)直到所指示的發(fā)生快照(也稱
為備份更新或更新)操作的時(shí)間實(shí)例都是一致的。
在接收到之后,備份服務(wù)器110可將每一備份和對(duì)應(yīng)的更新存儲(chǔ)在特定的 復(fù)制巻中。在一個(gè)實(shí)現(xiàn)中,備份服務(wù)器110將備份和更新存儲(chǔ)在同一存儲(chǔ)介質(zhì) 的同一巻分配中。在其它實(shí)現(xiàn)中,備份服務(wù)器110 (和/或另外的備份服務(wù)器或
存儲(chǔ)節(jié)點(diǎn))可將備份和對(duì)應(yīng)的更新存儲(chǔ)在分開的巻上,甚至存儲(chǔ)在分開的存儲(chǔ) 介質(zhì)上,而不管備份管理員期望如何。
在某些情況下,由于對(duì)生產(chǎn)服務(wù)器105的實(shí)際上連續(xù)的、迭代的備份的特 性,備份管理員可能需要將數(shù)據(jù)的多個(gè)方面與生產(chǎn)服務(wù)器105數(shù)據(jù)同步。例如, 可能存在復(fù)制周期期間和/或在若干復(fù)制周期上失敗的情況,諸如可能由于網(wǎng)絡(luò) 斷線、日志溢出(例如,USN日記換行等)。因此,在一個(gè)實(shí)現(xiàn)中,備份管理 員可以通過創(chuàng)建生產(chǎn)服務(wù)器105的新基線全快照(例如,類似于145)來執(zhí)行 確認(rèn)或糾正。備份管理員然后可以在生產(chǎn)服務(wù)器105上的數(shù)據(jù)的快照和備份服 務(wù)器110上的數(shù)據(jù)之間執(zhí)行(例如,僅有生產(chǎn)服務(wù)器105)校驗(yàn)和比較(或其 它確認(rèn))。如有必要,然后可修補(bǔ)備份服務(wù)器110上的任何錯(cuò)誤數(shù)據(jù)。
特別地對(duì)于WINDOWS操作組件,例如,該校驗(yàn)和在至少一個(gè)實(shí)現(xiàn)中可 以使用在WINDOWS SERVER 2003中使用的遠(yuǎn)程差異比較("RDC")來執(zhí) 行。在某些情況下,對(duì)RDC類型的機(jī)制的使用在廣域網(wǎng)("WAN")環(huán)境中 可能是優(yōu)選的。在另一實(shí)現(xiàn)中,諸如在局域網(wǎng)("LAN")中可能是優(yōu)選的, 備份管理員可將快照中的每一文件劃分成"組塊"(例如,字節(jié)塊)集,然后 對(duì)每一組塊計(jì)算校驗(yàn)和。
在任何情況下,部分地由于由本發(fā)明的各實(shí)現(xiàn)提供的復(fù)制粒度等級(jí),如果 用戶請(qǐng)求僅舊了幾分鐘的文件(或其它數(shù)據(jù)表示)的特定版本(例如,因最近 的個(gè)人計(jì)算機(jī)崩潰而需要的),則用戶可向備份服務(wù)器110發(fā)送對(duì)該文件的特 定版本的請(qǐng)求。例如,用戶可請(qǐng)求在5分鐘之前(例如,"V',或在更新121、 122、 123之前)有效的文件120的特定副本。類似地,管理員可請(qǐng)求一個(gè)或多 個(gè)巻175的整個(gè)復(fù)制(未示出)。在接收到該請(qǐng)求之后,并取決于請(qǐng)求的 本質(zhì),備份服務(wù)器110然后可找出適當(dāng)?shù)乃?qǐng)求的數(shù)據(jù)。例如,對(duì)于基本文件 系統(tǒng)數(shù)據(jù),巻175的每一更新可包含所請(qǐng)求的數(shù)據(jù)的全副本。由此,備份服務(wù)器110可能只需標(biāo)識(shí)用戶所請(qǐng)求的時(shí)刻,標(biāo)識(shí)該時(shí)刻相應(yīng)的更新內(nèi)的數(shù)據(jù),然 后向用戶提供該數(shù)據(jù)的副本(例如,恢復(fù)消息160)。
在其它情況下,諸如對(duì)于郵件或其它類型的數(shù)據(jù)庫(kù)應(yīng)用程序數(shù)據(jù),備份服
務(wù)器110所接收的每一增量更新(例如,150、 155)可能僅包含對(duì)所請(qǐng)求的數(shù) 據(jù)的增量更新。由此,備份服務(wù)器110可被配置成回放從回到最后一個(gè)完整基 線的所請(qǐng)求的恢復(fù)點(diǎn)開始的每一增量更新。備份服務(wù)器IIO然后可在回放期間 組合所標(biāo)識(shí)的所請(qǐng)求的數(shù)據(jù)(例如,145、 150、 155或t^),直到達(dá)到請(qǐng)求中 所指定的時(shí)刻。當(dāng)組合并準(zhǔn)備了來自原始備份和相應(yīng)更新的所有相關(guān)數(shù)據(jù)時(shí), 備份服務(wù)器IIO然后可發(fā)送恢復(fù)響應(yīng)(例如,160),其根據(jù)所請(qǐng)求的時(shí)刻是 有效的。例如,圖1A示出備份服務(wù)器IIO發(fā)送響應(yīng)160,其指示所恢復(fù)的數(shù) 據(jù)對(duì)于時(shí)刻"t,是有效的。
在上述實(shí)現(xiàn)中,備份服務(wù)器110因此需要應(yīng)用程序支持來回放增量更新。 在另一實(shí)現(xiàn)中,基線全副本和基線全和所請(qǐng)求的時(shí)間點(diǎn)之間的任何對(duì)應(yīng)的增量 更新可以簡(jiǎn)單地被復(fù)制回生產(chǎn)服務(wù)器105。生產(chǎn)服務(wù)器105處相應(yīng)的應(yīng)用程序 寫入器(例如,陰影副本服務(wù)框架內(nèi)的應(yīng)用程序?qū)懭肫?然后可回放該全備份 上的日志。
一般而言,在對(duì)特定數(shù)據(jù)的請(qǐng)求和相應(yīng)的響應(yīng)之間經(jīng)過的時(shí)間是至少以下 兩部分的函數(shù)
1. 將數(shù)據(jù)從備份服務(wù)器IIO傳輸?shù)缴a(chǎn)服務(wù)器105的時(shí)間;以及
2. 備份服務(wù)器IIO (例如,經(jīng)由相關(guān)備份代理)完成恢復(fù)的時(shí)間。 當(dāng)然,將數(shù)據(jù)從目標(biāo)傳輸?shù)皆吹臅r(shí)間一般是可用網(wǎng)絡(luò)帶寬以及備份服務(wù)器
IIO和生產(chǎn)服務(wù)器105處的盤速度和資源使用的函數(shù)。相反,創(chuàng)建特定恢復(fù)的 時(shí)間通常是從給定基線恢復(fù)生產(chǎn)服務(wù)器數(shù)據(jù)的全副本所需的時(shí)間、以及標(biāo)識(shí)并 回放從基線累積的累積更新(例如,)以恢復(fù)特定時(shí)間點(diǎn)所需的時(shí)間的 函數(shù)。因此,可以理解,恢復(fù)時(shí)間可以通過限制備份服務(wù)器110 (或生產(chǎn)服務(wù) 器105)對(duì)任何給定恢復(fù)請(qǐng)求必須回放的更新的數(shù)量,諸如通過創(chuàng)建周期性的 基線全副本(例如,145)來極大地改善。
如上所述,限制備份服務(wù)器110需要回放的增量更新的數(shù)量的一種方法可 涉及周期性地創(chuàng)建新的"全"基線快照。由于創(chuàng)建并向備份服務(wù)器110發(fā)送新的全快照在某些情況下可能是資源昂貴的(例如,網(wǎng)絡(luò)帶寬、生產(chǎn)服務(wù)器105 資源、以及所需的備份服務(wù)器110盤空間的量),因此本發(fā)明的各實(shí)現(xiàn)還允許 創(chuàng)建"智能全快照"。這些智能全快照實(shí)際上是預(yù)定時(shí)間點(diǎn)的基線分界。例如, 每隔預(yù)定時(shí)段,諸如每隔兩周,備份服務(wù)器110可巻起兩周的增量更新(例如, 150、 155等)以及數(shù)據(jù)的上一個(gè)基線副本(例如,145或更加新),且因此創(chuàng) 建生產(chǎn)服務(wù)器105數(shù)據(jù)的本質(zhì)上新的"tQ"副本。
為了將這些增量更新的每一個(gè)高效地巻在一起,備份服務(wù)器IIO可被配置 成監(jiān)視自從上一次全快照以來對(duì)生產(chǎn)服務(wù)器105巻的所有寫入。例如,在至少 一個(gè)實(shí)現(xiàn)中,備份服務(wù)器IIO在生產(chǎn)服務(wù)器105處實(shí)現(xiàn)巻過濾器驅(qū)動(dòng)器115以 監(jiān)視對(duì)巻(即, 一個(gè)或多個(gè)巻)的改變,并在每一復(fù)制周期間將這些寫入存儲(chǔ) 在生產(chǎn)服務(wù)器105的存儲(chǔ)器170中。例如,圖1A (也參見圖1B)示出巻過濾 器驅(qū)動(dòng)器115在生產(chǎn)服務(wù)器105上的巻175和存儲(chǔ)器170之間接口 。如在圖1B 中更全面地理解的,每次當(dāng)對(duì)巻數(shù)據(jù)做出改變時(shí),巻過濾器驅(qū)動(dòng)器115可將該 改變(或改變集)記錄在巻日志文件135中。在至少一個(gè)實(shí)現(xiàn)中,這些改變作 為對(duì)一個(gè)或多個(gè)巻的每一個(gè)的存儲(chǔ)器內(nèi)位圖(例如,117a)被記錄在系統(tǒng)存儲(chǔ) 器170中。當(dāng)生產(chǎn)服務(wù)器105準(zhǔn)備好特定的復(fù)制周期時(shí),巻過濾器驅(qū)動(dòng)器115 然后可將所有存儲(chǔ)器內(nèi)位圖傳遞給巻175,并且生產(chǎn)服務(wù)器105然后可將對(duì)應(yīng) 的數(shù)據(jù)發(fā)送給備份服務(wù)器IIO。
例如,圖1B示出存儲(chǔ)170用于收集對(duì)應(yīng)于各種存儲(chǔ)器內(nèi)位圖的快照數(shù)據(jù)。 特別地,圖1B示出巻過濾器驅(qū)動(dòng)器115標(biāo)識(shí)特定文件改變(g卩,文件改變121、 122、 123等),并隨后將這些改變作為相應(yīng)的存儲(chǔ)器內(nèi)位圖193、 195等存儲(chǔ) 在存儲(chǔ)器分配190a中。在該特定示例中,巻過濾器驅(qū)動(dòng)器115存儲(chǔ)自從上一 復(fù)制周期以來對(duì)相應(yīng)的一個(gè)或多個(gè)巻的所有改變(即,快照185a— "t2"), 且因此每一位圖193、 195等對(duì)于相應(yīng)快照(即,190a,快照"t3")中的最新 近的時(shí)間實(shí)例是有效的。
當(dāng)觸發(fā)復(fù)制周期時(shí),諸如由于從復(fù)制代理接收到指令,巻過濾器驅(qū)動(dòng)器 115將對(duì)快照190a的所有位圖(即,位圖193、 195等)傳輸?shù)竭m當(dāng)?shù)膸?75 分配190b。例如,圖1B示出存儲(chǔ)器快照部分180a和185a被清空,因?yàn)橐呀?jīng) 經(jīng)過了生成它們的復(fù)制周期。此外,對(duì)應(yīng)的巻175分配180b、 185b等現(xiàn)在包含先前分別存儲(chǔ)在存儲(chǔ)器部分180a、 185a中的"所有位圖"183、 187。最終, 當(dāng)對(duì)應(yīng)于位圖集的快照被刪除時(shí),位圖(例如,183、 187)可保留在巻(例如, 175)上。
這些存儲(chǔ)器內(nèi)位圖(例如,193、 195)可用多種不同的方式來創(chuàng)建和實(shí)現(xiàn)。 例如,在一個(gè)實(shí)現(xiàn)中,備份服務(wù)器110取生產(chǎn)服務(wù)器105巻的陰影副本快照(例 如,快照150),可向陰影副本提供者(軟件或硬件)發(fā)送輸入/輸出控制
("IOCTL")。該IOCTL可由巻過濾器驅(qū)動(dòng)器115截取以拆分活動(dòng)位圖。 作為響應(yīng),在陰影副本的創(chuàng)建期間,巻過濾器驅(qū)動(dòng)器115通過創(chuàng)建一組凍結(jié)的 位圖(例如,180a/189b、 185a/185b)以及一組新的活動(dòng)位圖(例如,190a/190b) 來同步該拆分。在另一替換實(shí)現(xiàn)中,能夠獲得陰影副本差異區(qū)域(例如,VSS 差異區(qū)域)的實(shí)體可知曉巻級(jí)改變并且還知曉USN/文件系統(tǒng)。由此,該實(shí)體 可提供將給出改變的文件集和文件中的改變集的抽象。適當(dāng)?shù)膹?fù)制或備份應(yīng)用 程序然后可使用該基礎(chǔ)結(jié)構(gòu)來實(shí)現(xiàn)復(fù)制。
當(dāng)觸發(fā)復(fù)制周期時(shí),巻過濾器驅(qū)動(dòng)器115將凍結(jié)的位圖傳遞給盤以減少存 儲(chǔ)器170使用。巻過濾器驅(qū)動(dòng)器115還可展示可針對(duì)自從最新近的快照(例如, "C )發(fā)生以來的所有改變來查詢的一個(gè)或多個(gè)IOCTL。在一個(gè)實(shí)現(xiàn)中, 查詢這些IOCTL返回自從最新近的快照以來累積的所有位圖??梢岳斫猓?用此處描述的存儲(chǔ)器內(nèi)位圖來監(jiān)視改變可以是非常高效的,這至少部分是由于 存儲(chǔ)器內(nèi)位圖往往不會(huì)顯著影響生產(chǎn)服務(wù)器105資源。
在替換實(shí)現(xiàn)中,為標(biāo)識(shí)這些所監(jiān)視的改變的每一個(gè),備份服務(wù)器110還可 使用例如USN日記140(或使用其它監(jiān)視的文件元數(shù)據(jù))來標(biāo)識(shí)改變的文件集。 備份服務(wù)器110 (或相關(guān)組件)然后可以向生產(chǎn)服務(wù)器105文件系統(tǒng)查詢每一 改變的文件所占據(jù)的文件范圍。從文件系統(tǒng)查詢到的文件范圍和巻過濾器驅(qū)動(dòng) 器115所報(bào)告的文件范圍之間的交集可提供自從上一個(gè)復(fù)制周期以來改變的文 件的范圍,且因此允許將特定文件(例如,數(shù)據(jù)庫(kù)文件)排除在特定復(fù)制過程 之外。備份服務(wù)器110 (或相關(guān)組件)然后可對(duì)每一改變的文件(或者如USN 日記所報(bào)告的,或者如類似配置的元數(shù)據(jù)文檔所報(bào)告的)重復(fù)該過程。
特別地對(duì)于使用USN日記來監(jiān)視生產(chǎn)服務(wù)器105處的改變,可以理解, 生產(chǎn)服務(wù)器105處的文件參考號(hào)("FRN")可能不匹配存儲(chǔ)在備份服務(wù)器110處的同一文件的FRN。由此,為了從生產(chǎn)服務(wù)器105向備份服務(wù)器110發(fā)送監(jiān) 視的改變,在某些情況下計(jì)算到特定的改變的文件的正確的、匹配的路徑可能 是重要的。例如,巻可具有以下改變,這涉及修改生產(chǎn)服務(wù)器105處對(duì)于文件 "y.txt"的路徑
1) 修改C:\a\b\c\y.txt
2) 重命名C:\a\b為C:\p\q\r
3) 修改C:\p\q\r\b\c\y.txt
4) 刪除C:\a
在以上示出的示例中,生產(chǎn)服務(wù)器105處的原始路徑"a\b"被重命名為 路徑"p\q\r",而原始路徑的目錄"\a"被刪除。這得到生產(chǎn)服務(wù)器105處對(duì) 于文件"y.txt"的路徑為"C:\p\q\p\r\b\c\y.txt"。然而,對(duì)生產(chǎn)服務(wù)器105處的 "y.txt"的這些路徑改變可能不會(huì)自動(dòng)導(dǎo)致對(duì)備份服務(wù)器110處的路徑的改變。 具體地,對(duì)備份服務(wù)器110處的y.txt的路徑一般保持為"a\b\c\y.txt"。 在 快照的時(shí)候,生產(chǎn)服務(wù)器105還可將以下對(duì)示例記錄1-5所示的改變記錄到 USN日記中
1) (rsn-修改,F(xiàn)RN = yFRN,父FRN-cFRN, 文件名=y.txt}
2) {rsn=重命名-舊,F(xiàn)RN = bFRN,父FRN = aFRN, 文件名=b}
3) {rsn=重命名-新,F(xiàn)RN = bFRN,父FRN = rFRN,文件名=b}
4) {rsn =修改,F(xiàn)RN = yFRN,父FRN = cFRN, 文件名=y.txt}
5) {rsn =刪除,F(xiàn)RN = aFRN,父FRN =根,文件名=a} 除了上述示例之外,相關(guān)生產(chǎn)服務(wù)器105巻在復(fù)制時(shí)的狀態(tài)被示為
"C:\p\q\r\b\c\y.txt"。
為了將該具體示例中對(duì)記錄1的改變發(fā)送到備份服務(wù)器110,生產(chǎn)服務(wù)器 105需要從備份服務(wù)器110檢索對(duì)"y.txt"的文件路徑。具體地,由于上述路 徑改變,對(duì)于"c-FRN"的快照中生產(chǎn)服務(wù)器105處的"y.txt"的路徑是 C:\p\q\r\b\c\y.txt,這不同于其在備份服務(wù)器110處的路徑(即,C:\a\b\c\y.txt)。 本發(fā)明的各實(shí)現(xiàn)可用至少兩種替換方法來解決該問題。例如,在一個(gè)實(shí)現(xiàn)中, USN日記可簡(jiǎn)單地在關(guān)系型數(shù)據(jù)庫(kù)中從備份服務(wù)器110檢索并存儲(chǔ)路徑元數(shù) 據(jù),且因此連續(xù)地將生產(chǎn)服務(wù)器105和備份服務(wù)器110處的文件路徑相關(guān)。在替換實(shí)現(xiàn)中,生產(chǎn)服務(wù)器105可掃描USN日記兩次。在第一遍中,生 產(chǎn)服務(wù)器105可通過對(duì)USN日記140的迭代掃描(或"遍")來相關(guān)該信息。 在一次掃描中,例如,生產(chǎn)服務(wù)器105高速緩存每一文件夾重命名。在第二遍 中,生產(chǎn)服務(wù)器105可基于高速緩存的重命名和當(dāng)前路徑來計(jì)算備份服務(wù)器 110處的相應(yīng)路徑。例如,在第一遍的結(jié)束,生產(chǎn)服務(wù)器105可高速緩存以下 關(guān)于已刪除和/或重命名的目錄的信息
{FRN = bFRN, 復(fù)制品—父=aFRN, 復(fù)制品_名稱=b} {FRN = aFRN, 復(fù)制品一父=根, 復(fù)制品一名稱-a) 為計(jì)算y.txt的文件路徑,生產(chǎn)服務(wù)器105首先標(biāo)識(shí)記錄"1"中y.txt的父 FRN (即,"文件參考號(hào)")是cFRN。在下一步,生產(chǎn)服務(wù)器105計(jì)算cFRN 的文件名,以及父FRN的文件名。生產(chǎn)服務(wù)器105然后在査詢文件系統(tǒng)之前 查看高速緩存。在該示例中,由于高速緩存對(duì)于父cFRN沒有文件名條目,因 此生產(chǎn)服務(wù)器105查詢文件系統(tǒng),并確定文件名為c,且父為bFRN。
生產(chǎn)服務(wù)器105然后計(jì)算bFRN的文件名,以及bFRN的對(duì)應(yīng)的父文件名。 如前一樣,生產(chǎn)服務(wù)器105首先在査詢文件系統(tǒng)之前查看。由于該示例中高速 緩存具有對(duì)于bFRN的條目,因此生產(chǎn)服務(wù)器105確定文件名是b,且父是 aFRN。生產(chǎn)服務(wù)器然后計(jì)算aFRN的文件名以及aFRN的父文件名。再一次, 生產(chǎn)服務(wù)器105在查詢文件系統(tǒng)之前首先査看高速緩存,且由于該示例中髙速 緩存具有對(duì)于aFRN的條目,因此生產(chǎn)服務(wù)器105確定aFRN的文件名是"a", 且父FRN是"根"。
最終,生產(chǎn)服務(wù)器105計(jì)算最終路徑為"c:\a\b\c\y.txt"。接著,當(dāng)在第二 遍中處理記錄3 (重命名-新)時(shí),如下對(duì)新的父文件名更新高速緩存。 {FRN = bFRN,復(fù)制品—父=rFRN, 復(fù)制品—名稱=b} {FRN = aFRN,復(fù)制品_父=根, 復(fù)制品—名稱=&}
當(dāng)生產(chǎn)服務(wù)器105處理了記錄4時(shí),即使該記錄與記錄1相同,為y.txt 計(jì)算的路徑現(xiàn)在也是"C:\p\q\r\b\c\y.txt"。所計(jì)算的路徑在該特定情況下是不 同的,因?yàn)楦咚倬彺嬷械母?bFRN"現(xiàn)在是"rFRN"。因此,上文示出了兩 遍算法如何可幫助優(yōu)化生產(chǎn)服務(wù)器105傳輸?shù)絺浞莘?wù)器110的數(shù)據(jù)量。特別 地,上文描述了生產(chǎn)服務(wù)器105可在第二遍時(shí)標(biāo)識(shí)任何創(chuàng)建的文件,以及任何修改然后被刪除的文件,且由此正確地將文件路徑與備份服務(wù)器110相關(guān)的多 種方式。
因此,圖1A-1B和相應(yīng)的文字提供了用于以實(shí)際上連續(xù)的方式高效地備 份生產(chǎn)服務(wù)器的數(shù)據(jù)的多種系統(tǒng)、組件和機(jī)制。除了上述內(nèi)容之外,本發(fā)明的 各實(shí)現(xiàn)還可以按照具有用于實(shí)現(xiàn)特定結(jié)果的動(dòng)作序列的方法的流程圖來描述。
具體地,圖2示出了從生產(chǎn)服務(wù)器105和備份服務(wù)器110的觀點(diǎn)來看的、根據(jù) 本發(fā)明的各實(shí)現(xiàn)的用于備份和恢復(fù)數(shù)據(jù)的流程圖。圖2所示的動(dòng)作在以下參考 圖1A-1B所示的組件和圖示來描述。
首先要說明的是,此處有時(shí)作出對(duì)時(shí)間序列中的"第一"、"第二"或"第 三"事件(或"實(shí)例")的引用。然而,可以理解,這些指定僅僅是為了區(qū)分 連續(xù)集上的獨(dú)特實(shí)例,使得"第一"事件或?qū)嵗粌H不同于"第二"或"第三"
實(shí)例,而且還在"第二"和域"第三"實(shí)例之前的某一點(diǎn)發(fā)生。例如,創(chuàng)建和 發(fā)送數(shù)據(jù)(例如,145)的基線"全副本"也可被認(rèn)為是關(guān)于某一先前事件(未 示出)的第二或第三(或稍后)實(shí)例,即使其最初被描述為對(duì)于更新150的第 一實(shí)例。類似地,更新150可被描述為相對(duì)于更新155 (例如,"第二"實(shí)例) 的"第一"時(shí)間實(shí)例處發(fā)生的事件,等等,盡管這些術(shù)語最初在此被描述為所 示示例中相對(duì)于基線全145的"第二"和"第三"時(shí)間實(shí)例。在相對(duì)意義上對(duì) 順序事件的此類術(shù)語使用也適用于此處對(duì)術(shù)語"最初"或"后續(xù)"的使用。
例如,圖2示出從生產(chǎn)服務(wù)器105的觀點(diǎn)來看的以實(shí)際上連續(xù)的、應(yīng)用程 序(即,或文件系統(tǒng)) 一致的方式復(fù)制生產(chǎn)服務(wù)器數(shù)據(jù),使得新近的數(shù)據(jù)可容 易地從備份服務(wù)器恢復(fù)的方法包括向備份服務(wù)器發(fā)送巻數(shù)據(jù)的一致副本的動(dòng) 作200。動(dòng)作200包括從生產(chǎn)服務(wù)器向備份服務(wù)器發(fā)送巻數(shù)據(jù)的副本,其中數(shù) 據(jù)對(duì)于第一時(shí)間實(shí)例是一致的。例如,生產(chǎn)服務(wù)器105 (例如,響應(yīng)于復(fù)制代 理或來自備份服務(wù)器110的其它命令)創(chuàng)建對(duì)特定時(shí)間點(diǎn)(例如,"to") — 致的完整巻備份145。在一個(gè)實(shí)現(xiàn)中,這涉及調(diào)用生產(chǎn)服務(wù)器105處的所有應(yīng) 用程序?qū)懭肫鲀鼋Y(jié)并開始準(zhǔn)備備份。生產(chǎn)服務(wù)器105然后復(fù)制巻(或特定文件、 文件夾或文件類型等)上的所有數(shù)據(jù),并準(zhǔn)備該數(shù)據(jù)來發(fā)送到(并存儲(chǔ)在)備 份服務(wù)器110。
類似地,圖2示出從備份服務(wù)器110的觀點(diǎn)來看的以實(shí)際上連續(xù)的、 一致的方式復(fù)制生產(chǎn)服務(wù)器數(shù)據(jù),使得新近數(shù)據(jù)可從備份服務(wù)器容易地恢復(fù)的方法
包括從生產(chǎn)服務(wù)器接收一致巻備份的動(dòng)作240。動(dòng)作240包括從生產(chǎn)服務(wù)器接
收一個(gè)或多個(gè)巻備份,其中一個(gè)或多個(gè)巻備份對(duì)于初始時(shí)間實(shí)例是一致的(即,
應(yīng)用程序或文件系統(tǒng)一致)。例如,圖1A示出備份服務(wù)器1I0接收并存儲(chǔ)全 備份145,該備份是通過網(wǎng)絡(luò)從生產(chǎn)服務(wù)器105接收的,或是從在某一點(diǎn)處與 備份服務(wù)器110連接的磁帶驅(qū)動(dòng)器或其它存儲(chǔ)節(jié)點(diǎn)接收的。特別地,備份管理 員可以獲得生產(chǎn)服務(wù)器105的硬件快照,然后將該快照附連到備份服務(wù)器110。
此外,圖2示出從生產(chǎn)服務(wù)器105的觀點(diǎn)來看的方法包括標(biāo)識(shí)對(duì)巻數(shù)據(jù)的 一個(gè)或多個(gè)改變的動(dòng)作210。動(dòng)作210包括經(jīng)由一個(gè)或多個(gè)巻日志文件來標(biāo)識(shí) 對(duì)巻數(shù)據(jù)的一個(gè)或多個(gè)改變。例如,如圖1A和1B所示,巻過濾器驅(qū)動(dòng)器115 可跟蹤對(duì)文件120、 125和130的改變,并將這些改變存儲(chǔ)在巻日志文件135 中。在一個(gè)實(shí)現(xiàn)中,這一個(gè)或多個(gè)改變可在被置于巻日志文件135中之前替換 地作為存儲(chǔ)器內(nèi)位圖存儲(chǔ)在存儲(chǔ)器170中。
圖2還示出從生產(chǎn)服務(wù)器105的觀點(diǎn)來看的方法包括將一個(gè)或多個(gè)一致更 新保存到盤的動(dòng)作220。動(dòng)作220包括在標(biāo)識(shí)了復(fù)制周期事件之后,將一個(gè)或 多個(gè)數(shù)據(jù)改變保存在一個(gè)或多個(gè)巻日志文件中,其中一個(gè)或多個(gè)數(shù)據(jù)改變對(duì)于 第二時(shí)間實(shí)例是一致的。例如,在標(biāo)識(shí)了復(fù)制周期觸發(fā)器(例如,來自復(fù)制代 理)之后,巻過濾器驅(qū)動(dòng)器將存儲(chǔ)器分配190a中的位圖193、 195傳遞給所分 配的物理盤空間190b (例如,也對(duì)應(yīng)于巻日志文件135)。該物理盤分配190b 因而包括了不同于存儲(chǔ)在盤分配185b處的快照187 (即,"所有位圖"187) 的、對(duì)于一個(gè)時(shí)間點(diǎn)的快照。
此外,圖2示出從生產(chǎn)服務(wù)器105的觀點(diǎn)來看的方法包括在復(fù)制期間將一 致更新的副本發(fā)送到備份服務(wù)器的動(dòng)作230。動(dòng)作230包括將一個(gè)或多個(gè)數(shù)據(jù) 改變的副本發(fā)送到備份服務(wù)器,使得備份服務(wù)器具有對(duì)于第一時(shí)間實(shí)例和第二 時(shí)間實(shí)例有效的數(shù)據(jù)副本。例如,除了將全更新145傳遞給備份服務(wù)器110之 外,生產(chǎn)服務(wù)器還發(fā)送一致快照更新150和155,它們各自對(duì)于不同的時(shí)間點(diǎn) (即,"t, 、 "t2"等)是有效的。
因此,圖2示出從備份服務(wù)器110的觀點(diǎn)來看的方法包括接收一個(gè)或多個(gè) 一致更新的動(dòng)作250。動(dòng)作250包括接收一個(gè)或多個(gè)一致備份更新,其中至少一個(gè)備份更新是對(duì)于后續(xù)時(shí)間實(shí)例的、對(duì)一個(gè)或多個(gè)巻備份中的至少一個(gè)的一
致更新。例如,備份服務(wù)器110接收一致快照更新150、 155中的任一個(gè),使 得備份服務(wù)器現(xiàn)在具有與全備份145 ( "to",或某一其它基線全)相比的、 對(duì)于各種增量時(shí)間點(diǎn)(即,"V' 、 "t2"等)的數(shù)據(jù)副本。
此外,圖2示出從備份服務(wù)器110的觀點(diǎn)來看的方法包括接收恢復(fù)請(qǐng)求的 動(dòng)作260。動(dòng)作260包括接收對(duì)根據(jù)后續(xù)時(shí)間實(shí)例為有效的數(shù)據(jù)的恢復(fù)請(qǐng)求。 例如,備份服務(wù)器110接收對(duì)于對(duì)時(shí)刻"t,有效的特定文件的請(qǐng)求(未示出), 該特定文件是在基線全備份145和更新150兩者中找到的文件。此外,圖2示 出從備份服務(wù)器110的觀點(diǎn)來看的方法包括標(biāo)識(shí)對(duì)后續(xù)時(shí)間實(shí)例有效的所請(qǐng)求 的數(shù)據(jù)的動(dòng)作270。動(dòng)作270包括標(biāo)識(shí)一個(gè)或多個(gè)備份服務(wù)器巻處對(duì)后續(xù)時(shí)間 實(shí)例的所請(qǐng)求的數(shù)據(jù),其中所請(qǐng)求的數(shù)據(jù)包括至少一個(gè)一致備份更新的至少一 部分。
例如,對(duì)于數(shù)據(jù)庫(kù)數(shù)據(jù),備份服務(wù)器110可將每一前導(dǎo)和當(dāng)前時(shí)間點(diǎn)處對(duì) 該請(qǐng)求有效的文件的副本巻在一起;S卩,備份服務(wù)器110組合來自時(shí)刻"to" 和"t,的文件副本。另一方面,對(duì)于文件系統(tǒng)數(shù)據(jù),每一后續(xù)更新(例如, 150、 155)可包括所請(qǐng)求的文件的全更新副本,且因此,備份服務(wù)器110只需 標(biāo)識(shí)對(duì)所請(qǐng)求的時(shí)間點(diǎn)的最新近的更新(或某一其它后續(xù)更新)中所請(qǐng)求的數(shù) 據(jù)。由此,取決于所請(qǐng)求的數(shù)據(jù)的類型,備份服務(wù)器UO可能需要標(biāo)識(shí)從所請(qǐng) 求的點(diǎn)回到最近的基線全的每一增量更新,或者可能需要僅僅標(biāo)識(shí)最近的時(shí)間 點(diǎn)更新中所請(qǐng)求的數(shù)據(jù)。
由此,圖2也示出從備份服務(wù)器110的觀點(diǎn)來看的方法包括返回所請(qǐng)求的 數(shù)據(jù)的動(dòng)作280。動(dòng)作280包括將對(duì)后續(xù)時(shí)間實(shí)例有效的所請(qǐng)求的數(shù)據(jù)發(fā)送給 生產(chǎn)服務(wù)器。例如,對(duì)于數(shù)據(jù)庫(kù)數(shù)據(jù)的情況,備份服務(wù)器110提供恢復(fù)160, 其包括基線全數(shù)據(jù)(例如,145)以及增量更新數(shù)據(jù)(例如,150、 155),而 對(duì)于文件系統(tǒng)數(shù)據(jù),備份服務(wù)器110提供至少具有來自所請(qǐng)求的更新時(shí)間點(diǎn)的 文件數(shù)據(jù)的恢復(fù)。備份服務(wù)器110的響應(yīng)160也可以是響應(yīng)對(duì)于哪一恢復(fù)時(shí)間 有效的指示。如圖1A所示,恢復(fù)數(shù)據(jù)160示出數(shù)據(jù)對(duì)于時(shí)刻"tr是有效的。
因此,根據(jù)本發(fā)明的各實(shí)現(xiàn)的圖示、組件和方法提供了優(yōu)于常規(guī)備份系統(tǒng) 的多個(gè)優(yōu)點(diǎn)。具體地,本發(fā)明的各實(shí)現(xiàn)提供了備份數(shù)據(jù)的方法,該方法是數(shù)據(jù)源不可知的(例如,經(jīng)由巻過濾器驅(qū)動(dòng)器115)、不一定要求運(yùn)行在備份服務(wù) 器上的應(yīng)用程序的版本、并且表示實(shí)際上連續(xù)的復(fù)制。如上所述,這些優(yōu)化至 少部分地基于使用巻過濾器驅(qū)動(dòng)器(例如,115)在巻級(jí)以低開銷跟蹤或監(jiān)視 改變,以及也使用例如USN日記在文件級(jí)執(zhí)行復(fù)制周期,使得文件級(jí)包括/排 除仍可被應(yīng)用。
另外,本發(fā)明的各實(shí)現(xiàn)能夠以優(yōu)化的方式在備份服務(wù)器處創(chuàng)建生產(chǎn)服務(wù)器 數(shù)據(jù)的全基線副本,而無需通過網(wǎng)絡(luò)傳輸完整的數(shù)據(jù)。最小化傳輸?shù)絺浞莘?wù) 器的后續(xù)數(shù)據(jù)的量可大量減少網(wǎng)絡(luò)和生產(chǎn)服務(wù)器上的潛在資源耗盡。由此,本 發(fā)明的各實(shí)現(xiàn)進(jìn)一步提供了滿足嚴(yán)格的恢復(fù)時(shí)間目標(biāo)的多種替換方式。本發(fā)明 的各實(shí)現(xiàn)還提供了以低性能開銷來跟蹤數(shù)據(jù)改變(例如,字節(jié)或字節(jié)塊級(jí)), 以及以獨(dú)立于文件系統(tǒng)和硬件/軟件快照的方式來跟蹤數(shù)據(jù)改變的多種方式。此
外,本發(fā)明的各實(shí)現(xiàn)還提供重構(gòu)路徑信息(諸如用基于USN的復(fù)制)而無需
相關(guān)生產(chǎn)服務(wù)器上的持久狀態(tài)的一種或多種方式。
本發(fā)明的各實(shí)施例可以包括含有各種計(jì)算機(jī)硬件的專用或通用計(jì)算機(jī),這 將在以下做出進(jìn)一步討論。本發(fā)明的范圍內(nèi)的各實(shí)施例也包括用于承載或其上 儲(chǔ)存有計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)的計(jì)算機(jī)可讀介質(zhì)。這樣的計(jì)算機(jī)可讀介 質(zhì)可以是可由通用或?qū)S糜?jì)算機(jī)訪問的任何可用介質(zhì)。作為示例而非限制,
這樣的計(jì)算機(jī)可讀介質(zhì)可包括RAM、 ROM、 EEPROM、 CD-ROM或其它光盤 存儲(chǔ)、磁盤存儲(chǔ)或其它磁存儲(chǔ)設(shè)備、或可用于承載或存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令或 數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜?jì)算機(jī)訪問的任何其它 介質(zhì)。當(dāng)信息通過網(wǎng)絡(luò)或另一通信連接(硬連線、無線或硬連線或無線的組合) 傳輸或提供給計(jì)算機(jī)時(shí),該計(jì)算機(jī)將該連接適當(dāng)?shù)匾暈橛?jì)算機(jī)可讀介質(zhì)。因此, 任何這樣的連接被適當(dāng)?shù)胤Q為計(jì)算機(jī)可讀介質(zhì)。以上的組合也應(yīng)包括在計(jì)算機(jī) 可讀介質(zhì)的范圍之內(nèi)。
計(jì)算機(jī)可執(zhí)行指令包括例如,使通用計(jì)算機(jī)、專用計(jì)算機(jī)、或?qū)S锰幚碓O(shè) 備執(zhí)行某一功能或某組功能的指令和數(shù)據(jù)。盡管用對(duì)結(jié)構(gòu)特征和/或方法動(dòng)作專 用的語言描述了本主題,但可以理解,所附權(quán)利要求書中定義的主題不必限于 上述具體特征或動(dòng)作。相反,上述具體特征和動(dòng)作是作為實(shí)現(xiàn)權(quán)利要求的示例 形式公開的。本發(fā)明可具體化為其它具體形式而不背離其精神或本質(zhì)特征。所述實(shí)施例 在所有方面都應(yīng)被認(rèn)為僅是說明性而非限制性的。從而,本發(fā)明的范圍由所附 權(quán)利要求書而非所述描述指示。落入權(quán)利要求書的等效方式的含義和范圍內(nèi)的 所有改變應(yīng)被權(quán)利要求書的范圍涵蓋。
權(quán)利要求
1. 一種在計(jì)算機(jī)化環(huán)境(100)中的生產(chǎn)服務(wù)器(105)處的方法,在所述計(jì)算機(jī)化環(huán)境中,一個(gè)或多個(gè)生產(chǎn)服務(wù)器在一個(gè)或多個(gè)備份服務(wù)器(110)處備份一個(gè)或多個(gè)卷(175)上要保護(hù)的數(shù)據(jù),所述方法以實(shí)際上連續(xù)的、一致的方式復(fù)制生產(chǎn)服務(wù)器數(shù)據(jù),使得新近數(shù)據(jù)可容易地從所述備份服務(wù)器恢復(fù),所述方法包括以下動(dòng)作從生產(chǎn)服務(wù)器(105)向備份服務(wù)器(110)發(fā)送(200)一個(gè)或多個(gè)卷的數(shù)據(jù)的副本,其中所述數(shù)據(jù)對(duì)于第一時(shí)間實(shí)例(145)是一致的;使用一個(gè)或多個(gè)卷日志文件(135)標(biāo)識(shí)(210)對(duì)所述一個(gè)或多個(gè)卷(175)的數(shù)據(jù)的一個(gè)或多個(gè)改變(121、122、123);在標(biāo)識(shí)了復(fù)制周期事件之后,將所述一個(gè)或多個(gè)數(shù)據(jù)改變保存(220)在所述一個(gè)或多個(gè)卷日志文件中,其中所述一個(gè)或多個(gè)數(shù)據(jù)改變對(duì)于第二時(shí)間實(shí)例(150)是一致的;以及將所述一個(gè)或多個(gè)卷的一個(gè)或多個(gè)數(shù)據(jù)改變的副本發(fā)送(230)到所述備份服務(wù)器,使得所述備份服務(wù)器具有對(duì)第一時(shí)間實(shí)例(145)和第二時(shí)間實(shí)例(150)有效的所述一個(gè)或多個(gè)卷的數(shù)據(jù)的副本。
2. 如權(quán)利要求1所述的方法,其特征在于,還包括將所述巻的文件級(jí)數(shù)據(jù)改變保存在改變過濾器、改變?nèi)沼浕騏SN日記(140)之一中。
3. 如權(quán)利要求2所述的方法,其特征在于,還包括將所述一個(gè)或多個(gè)巻日志文件(135)與所述改變過濾器、改變?nèi)沼浕騏SN日記(140)之一相關(guān)以標(biāo)識(shí)對(duì)應(yīng)于每一改變的文件中的一個(gè)或多個(gè)數(shù)據(jù)改變的一個(gè)或多個(gè)改變的文件(120)的動(dòng)作。
4. 如權(quán)利要求1所述的方法,其特征在于,還包括在所述一個(gè)或多個(gè)巻曰志文件中標(biāo)記在字節(jié)級(jí)或字節(jié)塊級(jí)的任一個(gè)上的所述一個(gè)或多個(gè)數(shù)據(jù)改變(121、 122、 123)的動(dòng)作。
5. 如權(quán)利要求1所述的方法,其特征在于,還包括經(jīng)由一個(gè)或多個(gè)存儲(chǔ)器內(nèi)位圖(117a)標(biāo)識(shí)對(duì)所述一個(gè)或多個(gè)巻的數(shù)據(jù)的改變的動(dòng)作,其中所述一個(gè)或多個(gè)存儲(chǔ)器內(nèi)位圖對(duì)應(yīng)于所述第二時(shí)間實(shí)例(150)。
6. 如權(quán)利要求5所述的方法,其特征在于,還包括在所述復(fù)制周期事件 期間將所述一個(gè)或多個(gè)存儲(chǔ)器內(nèi)位圖(187)保存到所述一個(gè)或多個(gè)巻日志文 件的動(dòng)作,其中所述一個(gè)或多個(gè)巻日志文件存儲(chǔ)在盤(117b、 185b)上。
7. 如權(quán)利要求5所述的方法,其特征在于,還包括以下動(dòng)作 凍結(jié)對(duì)應(yīng)于所述第二時(shí)間實(shí)例的一個(gè)或多個(gè)存儲(chǔ)器內(nèi)位圖;以及 創(chuàng)建對(duì)應(yīng)于在所述第三事件實(shí)例(155)對(duì)所述一個(gè)或多個(gè)改變的文件的新寫入的一個(gè)或多個(gè)存儲(chǔ)器內(nèi)位圖(193、 195)的新集合。
8. 如權(quán)利要求l所述的方法,其特征在于,巻過濾器驅(qū)動(dòng)器(115)接收 所述一個(gè)或多個(gè)數(shù)據(jù)改變,并將所述一個(gè)或多個(gè)數(shù)據(jù)改變應(yīng)用于所述一個(gè)或多 個(gè)巻日志文件(135)。
9. 如權(quán)利要求1所述的方法,其特征在于,對(duì)所述第一和第二時(shí)間實(shí)例 一致的所述一個(gè)或多個(gè)數(shù)據(jù)改變是應(yīng)用程序一致或文件系統(tǒng)一致的至少一種。
10. 如權(quán)利要求1所述的方法,其特征在于,還包括改變所述生產(chǎn)服務(wù)器 處對(duì)應(yīng)于所述一個(gè)或多個(gè)數(shù)據(jù)改變(121、 122、 123)中的任一個(gè)的文件(120) 的文件路徑,使得所述生產(chǎn)服務(wù)器(105)處的文件路徑不同于到所述備份服 務(wù)器(110)處的文件的路徑的動(dòng)作。
11. 如權(quán)利要求10所述的方法,其特征在于,還包括用于將所述生產(chǎn)服 務(wù)器(105)處和所述備份服務(wù)器(110)處的文件的路徑相關(guān),使得對(duì)所述文 件的新改變可與所述文件的路徑改變一起被發(fā)送到所述備份服務(wù)器的步驟。
12. 如權(quán)利要求ll所述的方法,其特征在于,所述用于將文件(120)的 文件路徑相關(guān)的步驟包括以下動(dòng)作標(biāo)識(shí)所述文件(120)的初始路徑;以及 存儲(chǔ)所述生產(chǎn)服務(wù)器(105)處的所述文件的初始文件路徑。
13. 如權(quán)利要求ll所述的方法,其特征在于,所述用于將文件(120)的 文件路徑相關(guān)的步驟包括以下動(dòng)作至少第一次掃描USN日記(140)以高速緩存所述生產(chǎn)服務(wù)器處的所述文 件路徑的改變;至少第二次掃描所述USN日記以標(biāo)識(shí)所述生產(chǎn)服務(wù)器(105)處的所述初始文件路徑;基于所述第一次和第二次掃描計(jì)算到所述備份服務(wù)器處的所述文件的經(jīng) 調(diào)整的路徑。
14. 如權(quán)利要求l所述的方法,其特征在于,還包括將所述生產(chǎn)服務(wù)器處的巻數(shù)據(jù)的新更新發(fā)送到所述備份服務(wù)器的動(dòng)作,其中所述新更新對(duì)于第三時(shí)間實(shí)例(155)是一致的,并且其中在所述第二 (150)和第三(155)時(shí)間實(shí) 例之間經(jīng)過的時(shí)間可被配置為小于約一小時(shí)、或小于約半小時(shí)中的任一個(gè)。
15. 如權(quán)利要求14所述的方法,其特征在于,還包括向所述備份服務(wù)器 (110)發(fā)送對(duì)一個(gè)或多個(gè)文件的副本的請(qǐng)求的動(dòng)作,其中向所述備份服務(wù)器的對(duì)一個(gè)或多個(gè)文件的副本的請(qǐng)求包括所述一個(gè)或多個(gè)文件對(duì)于所述第二 (150)或第三(155)時(shí)間實(shí)例中的一個(gè)是有效的指示。
16. 如權(quán)利要求15所述的方法,其特征在于,還包括從所述備份服務(wù)器 (110)接收恢復(fù)響應(yīng)(160)的動(dòng)作,其中所述恢復(fù)響應(yīng)包括從所述第二或第三時(shí)間實(shí)例開始的所請(qǐng)求的一個(gè)或多個(gè)文件的數(shù)據(jù)的全副本。
17. —種在計(jì)算機(jī)化環(huán)境(100)中的備份服務(wù)器(110)處的方法,在所 述計(jì)算機(jī)化環(huán)境中, 一個(gè)或多個(gè)備份服務(wù)器備份來自 一個(gè)或多個(gè)生產(chǎn)服務(wù)器(105)的一個(gè)或多個(gè)巻的數(shù)據(jù),所述方法以實(shí)際上連續(xù)的、 一致的方式復(fù)制 所述一個(gè)或多個(gè)生產(chǎn)服務(wù)器巻(175)的數(shù)據(jù),使得新近數(shù)據(jù)可從所述備份服 務(wù)器容易地恢復(fù),所述方法包括以下動(dòng)作從生產(chǎn)服務(wù)器(105)接收(240) —個(gè)或多個(gè)巻備份,其中所述一個(gè)或多 個(gè)巻備份對(duì)于初始時(shí)間實(shí)例(145)是一致的;接收(250) —個(gè)或多個(gè)一致的備份更新,至少一個(gè)備份更新是關(guān)于后續(xù) 時(shí)間實(shí)例(150、 155)對(duì)所述一個(gè)或多個(gè)巻備份中的至少一個(gè)的應(yīng)用程序一致 的更新;接收(260)對(duì)根據(jù)所述后續(xù)時(shí)間實(shí)例為有效的數(shù)據(jù)的恢復(fù)請(qǐng)求;標(biāo)識(shí)(270) —個(gè)或多個(gè)備份服務(wù)器巻處關(guān)于所述后續(xù)時(shí)間實(shí)例的所請(qǐng)求的數(shù)據(jù),其中所請(qǐng)求的數(shù)據(jù)包括所述至少一個(gè)一致備份更新的至少一部分;以及將對(duì)所述后續(xù)時(shí)間實(shí)例有效的所請(qǐng)求的數(shù)據(jù)(160)發(fā)送(280)給所述生 產(chǎn)服務(wù)器。
18. 如權(quán)利要求16所述的方法,其特征在于,還包括以下動(dòng)作標(biāo)識(shí)所請(qǐng)求的數(shù)據(jù)的基線全副本(145);標(biāo)識(shí)在接收所述基線全副本和接收關(guān)于所述后續(xù)時(shí)間實(shí)例的至少一個(gè)備份更新之間接收到的、對(duì)所請(qǐng)求的數(shù)據(jù)的一個(gè)或多個(gè)一致備份更新(150、 155) 中的每一個(gè);以及將所請(qǐng)求的數(shù)據(jù)的基線全副本與所標(biāo)識(shí)的對(duì)所請(qǐng)求的數(shù)據(jù)的一個(gè)或多個(gè) 一致備份更新相組合。
19. 如權(quán)利要求18所述的方法,其特征在于,所述一個(gè)或多個(gè)巻備份和所述一個(gè)或多個(gè)一致備份更新是應(yīng)用程序一致或文件系統(tǒng)一致中的至少一個(gè)。
20. —種在計(jì)算機(jī)化環(huán)境(100)中的生產(chǎn)服務(wù)器(105)處的計(jì)算機(jī)程序 產(chǎn)品,在所述計(jì)算機(jī)化環(huán)境中, 一個(gè)或多個(gè)生產(chǎn)服務(wù)器在一個(gè)或多個(gè)備份服務(wù) 器(110)處備份要保護(hù)的數(shù)據(jù),所述計(jì)算機(jī)程序產(chǎn)品上存儲(chǔ)有計(jì)算機(jī)可執(zhí)行 指令,所述計(jì)算機(jī)可執(zhí)行指令在被執(zhí)行時(shí)使得所述生產(chǎn)服務(wù)器處的一個(gè)或多個(gè) 處理器執(zhí)行一種方法,所述方法以實(shí)際上連續(xù)的、應(yīng)用程序一致的方式復(fù)制生 產(chǎn)服務(wù)器數(shù)據(jù),使得新近數(shù)據(jù)可容易地從所述備份服務(wù)器恢復(fù),所述方法包括 以下動(dòng)作從生產(chǎn)服務(wù)器(105)向備份服務(wù)器(110)發(fā)送(200) —個(gè)或多個(gè)巻的 數(shù)據(jù)的副本,其中所述數(shù)據(jù)對(duì)于第一時(shí)間實(shí)例(145)是一致的;使用一個(gè)或多個(gè)巻日志文件(135)標(biāo)識(shí)(210)對(duì)所述一個(gè)或多個(gè)巻(175) 的數(shù)據(jù)的一個(gè)或多個(gè)改變(121、 122、 123);在標(biāo)識(shí)了復(fù)制周期事件之后,將所述一個(gè)或多個(gè)數(shù)據(jù)改變保存(220)在 所述一個(gè)或多個(gè)巻日志文件中,其中所述一個(gè)或多個(gè)數(shù)據(jù)改變對(duì)于第二時(shí)間實(shí) 例(150)是一致的;以及將所述一個(gè)或多個(gè)巻的一個(gè)或多個(gè)數(shù)據(jù)改變的副本發(fā)送(230)到所述備 份服務(wù)器,使得所述備份服務(wù)器具有對(duì)第一時(shí)間實(shí)例(145)和第二時(shí)間實(shí)例 (150)有效的所述一個(gè)或多個(gè)巻的數(shù)據(jù)的副本。
全文摘要
數(shù)據(jù)可在生產(chǎn)服務(wù)器處以實(shí)際上連續(xù)的方式受到保護(hù),而不必對(duì)源應(yīng)用程序施加嚴(yán)格的約束。例如,生產(chǎn)服務(wù)器可以創(chuàng)建一個(gè)或多個(gè)卷的應(yīng)用程序一致的備份,這些備份對(duì)應(yīng)于第一時(shí)間實(shí)例。卷過濾器驅(qū)動(dòng)器可使用存儲(chǔ)器內(nèi)位圖來監(jiān)視數(shù)據(jù)改變,同時(shí)日志文件和/或更新序列號(hào)日記可跟蹤哪些文件被修改。卷更新對(duì)于(稍后的)時(shí)間實(shí)例也是一致的。在下一復(fù)制周期,諸如每隔幾分鐘(不論是如何配置的),卷過濾器驅(qū)動(dòng)器將每一存儲(chǔ)器內(nèi)位圖傳遞給生產(chǎn)服務(wù)器上的物理盤。生產(chǎn)服務(wù)器然后將更新發(fā)送給備份服務(wù)器,后者因而存儲(chǔ)對(duì)多個(gè)時(shí)間實(shí)例的對(duì)卷的應(yīng)用程序一致的備份。
文檔編號(hào)G06F12/16GK101460934SQ200780020313
公開日2009年6月17日 申請(qǐng)日期2007年4月26日 優(yōu)先權(quán)日2006年5月29日
發(fā)明者A·艾利, A·辛格拉, K·S·阿南德, M·K·瓦利亞帕拉姆比爾, R·M·弗萊爾斯, V·S·拜德彌, V·薩哈斯拉納曼 申請(qǐng)人:微軟公司