專利名稱:持續(xù)保護(hù)數(shù)據(jù)的裝置、系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及保護(hù)數(shù)據(jù),更具體地,涉及連續(xù)保護(hù)數(shù)字?jǐn)?shù)據(jù)。
技術(shù)背景數(shù)據(jù)處理系統(tǒng)在數(shù)據(jù)存儲裝置上存儲并處理大量有價值的數(shù)據(jù),例如金融交易記錄、發(fā)貨和庫存記錄以;sj良務(wù)事務(wù)記錄。如果數(shù)據(jù)存儲裝置出 現(xiàn)故障,則數(shù)據(jù)可能丟失,或者如果錯誤地輸入數(shù)據(jù),則數(shù)據(jù)會被破壞。 由于丟失數(shù)據(jù)的代價很高,所以數(shù)據(jù)處理系統(tǒng)可采用冗余數(shù)據(jù)存儲裝置來 提高數(shù)據(jù)可用性和防止數(shù)據(jù)丟失。例如,數(shù)據(jù)處理系統(tǒng)可包括獨(dú)立磁盤冗余陣列("RAID")存儲系統(tǒng),用以在多個盤上冗余地存儲數(shù)據(jù)。即使 RAID系統(tǒng)中的盤數(shù)據(jù)存儲裝置出現(xiàn)故障,數(shù)據(jù)處理系統(tǒng)也可以繼續(xù)存儲 和檢索數(shù)據(jù)。數(shù)據(jù)處理系統(tǒng)還可以a數(shù)據(jù),以防止數(shù)據(jù)丟失。例如,數(shù)據(jù)處理系 統(tǒng)可以定期地(例如在每天夜里)將一個或多個數(shù)據(jù)存儲裝置的內(nèi)容^M^ 到磁帶等。如果數(shù)據(jù)在l^從數(shù)據(jù)存儲裝置中丟失,則可恢復(fù)在備除時的 數(shù)據(jù)實例(instance)。不幸地是,在數(shù)據(jù)丟失時數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)與備 份數(shù)據(jù)之間通常存在很大不同。因此,數(shù)據(jù)備份并不能完全防止數(shù)據(jù)丟失。結(jié)果,數(shù)據(jù)處理系統(tǒng)可通過將數(shù)據(jù)復(fù)制到M數(shù)據(jù)存儲裝置來進(jìn)行頻 繁的數(shù)據(jù)快速備除。由于在快速備份之間的時間間隔通常很小,所以快速 備除進(jìn)一步減少了不可恢復(fù)地丟失的數(shù)據(jù)量。不幸地是,由于被破壞或錯誤輸入的數(shù)據(jù)(以下稱為破壞數(shù)據(jù)),所 以頻繁的快速*僅能較少地防止數(shù)據(jù)丟失。數(shù)據(jù)可被重復(fù)表項、錯誤表 項、軟件病毒和未授權(quán)表項所破壞。破壞數(shù)據(jù)在被發(fā)現(xiàn)之前會持續(xù)存在于數(shù)據(jù)處理系統(tǒng)中一段時間。結(jié)果,當(dāng)去除破壞數(shù)據(jù)時,快速備除不能足以 保護(hù)有效的數(shù)據(jù)。根據(jù)以上的討論,應(yīng)該清楚,需要一種持續(xù)保護(hù)數(shù)據(jù)的裝置、系統(tǒng)和 方法。有益地,此類裝置、系統(tǒng)和方法將使得所有數(shù)據(jù)實例可用于恢復(fù)到 數(shù)據(jù)處理系統(tǒng)。發(fā)明內(nèi)容響應(yīng)于本領(lǐng)域的情況,具體地,響應(yīng)于還沒有被當(dāng)前可用的數(shù)據(jù)保護(hù) 方法完全解決的在本領(lǐng)域中的問題和需求,開發(fā)了本發(fā)明。相應(yīng)地,已經(jīng) 開發(fā)的本發(fā)明提供了一種用于持續(xù)數(shù)據(jù)保護(hù)的裝置、系統(tǒng)和方法,其解決 了本領(lǐng)域中的上文討論的許多或所有缺點(diǎn)。持續(xù)保護(hù)數(shù)據(jù)的裝置配備有多個模塊,所述多個模塊配置為從功能上執(zhí)行以下必要步驟,包括鏡像主記錄集、累積記錄更改的日志、選#^己 錄更改和應(yīng)用所選擇的記錄更改。在所述實施例中的這些模塊包括鏡像 模塊、日志模塊、更改選擇模塊和更改應(yīng)用模塊。鏡像模塊鏡像或產(chǎn)生主記錄集到基本記錄集的完全副本。主記錄集包 括駐留在主巻上的多個記錄。主巻可以是包含一個或多個數(shù)據(jù)存儲裝置(例 如硬盤驅(qū)動器)的多個分區(qū)的邏輯巻。鏡像模塊將主記錄集鏡像到備份巻, 所鏡像的副本形成基本記錄集?;居涗浖韧谠阽R像主記錄集時的主 記錄集實例。日志模塊累積對主記錄集的記錄更改的日志。在一個實施例中,每一 個記錄更改包括一致性組。每一個一致性組包括用于跟蹤向記錄的寫入、 對日志的寫入更新和表示記錄更改完成的寫入完成的數(shù)據(jù)。日志可累積在 將主記錄集鏡像到基本記錄集之后對主記錄集作出的每一個記錄更改。更改選擇模塊從日志選#^己錄更改。在一個實施例中,用戶選擇記錄 更改。用戶可選擇在指定恢復(fù)時間之前的時間發(fā)生的記錄更改。此外,用 戶也可選擇在指定恢復(fù)時間之后的時間發(fā)生的記錄更改。在一個實施例中, 用戶可選擇和取消選擇記錄更改。更改應(yīng)用模塊將所選擇的記錄更改應(yīng)用到基本記錄集,以形成恢復(fù)后 的記錄集。例如,更改應(yīng)用模塊可通過將所選記錄更改包含的數(shù)據(jù)寫入復(fù) 制到如記錄更改所記錄的主記錄集,來應(yīng)用所選擇的記錄更改,其中通過 基本記錄集來復(fù)制數(shù)據(jù)寫入。具有所應(yīng)用的記錄更改的基本記錄集包括恢 復(fù)后的記錄集。在一個實施例中,恢復(fù)后的記錄集等同于在指定恢復(fù)時間 的主記錄集。該裝置通過維護(hù)從中可恢復(fù)主記錄集的多個實例的基本記錄 集和日志來持續(xù)保護(hù)數(shù)據(jù)。本發(fā)明還提供了 一種持續(xù)保護(hù)數(shù)據(jù)的系統(tǒng)。該系統(tǒng)可以在一個或多個數(shù)據(jù)存儲系統(tǒng)中實現(xiàn)。具體地,在一個實施例中,該系統(tǒng)包括主巻、主 控制器、備除巻和備份控制器。此外,*控制器還可包括鏡4"莫塊、 日志模塊、更改選擇模塊和更改應(yīng)用模塊。在一個實施例中,主巻存儲作為用于一個或多個主^L系統(tǒng)的主記錄集 的數(shù)據(jù)。主機(jī)系統(tǒng)可以是計算機(jī)工作站、服務(wù)器或大型計算機(jī)。在某一實 施例中,主巻與主機(jī)系統(tǒng)集成。主控制器管理主巻。例如,主控制器可對 主巻執(zhí)行維護(hù)操作、向主巻寫入數(shù)據(jù)或從主巻讀取數(shù)據(jù)。備份巻存儲用于恢復(fù)主記錄集的數(shù)據(jù)。在一個實施例中,備除巻包括 基本記錄集和日志。*控制器管理^#巻。鏡^^莫塊將主記錄集鏡像到 基本記錄集。日志模塊將對主記錄集的每一個記錄更改累積到日志中。使 用基本記錄集和日志模塊,系統(tǒng)可恢復(fù)主記錄集的多個實例。更改選擇模塊從日志選擇記錄更改。更改選擇模塊將所選擇的記錄更 改應(yīng)用到基本記錄集,以形成恢復(fù)后的記錄集。恢復(fù)后的記錄集是主記錄 集的指定實例。系統(tǒng)通過允許恢復(fù)多個主記錄集實例的連續(xù)集來持續(xù)保護(hù) 數(shù)據(jù)。此外,系統(tǒng)允許選擇性恢復(fù)主記錄集的記錄,以避免破壞數(shù)據(jù)。本發(fā)明還提供了 一種持續(xù)保護(hù)數(shù)據(jù)的方法。在公開實施例中的方法實 質(zhì)上包括用以執(zhí)行有關(guān)上述裝置和系統(tǒng)的操作的功能所必須的步驟。在一 個實施例中,該方法包括鏡像主記錄集、累積記錄更改的日志、選擇記 錄更改和應(yīng)用所選擇的記錄更改。鏡像才莫塊將主記錄集鏡像到基本記錄集。日志模塊將對主記錄集的每8一個記錄更改累積到日志中。更改選擇模塊從日志選擇記錄更改。更改應(yīng) 用模塊將所選擇的記錄更改應(yīng)用到基本記錄集,以形成恢復(fù)后的記錄集。 該方法通過支持恢復(fù)持續(xù)的多個主記錄集實例來持續(xù)保護(hù)數(shù)據(jù)。本說明書中對功能、優(yōu)點(diǎn)的參考或類似語言并非暗示可以與本發(fā)明一 起實現(xiàn)的所有功能和優(yōu)點(diǎn)應(yīng)在本發(fā)明的任何單個實施例中。相反,應(yīng)當(dāng)理 解,引用所述功能和優(yōu)點(diǎn)的語言指與實施例一起描述的特定功能、優(yōu)點(diǎn)或 特性包括在本發(fā)明的至少一個實施例中。因此,本"^兌明書中對功能、優(yōu)點(diǎn) 的討論和類似語言可以(但并不一定)指同一實施例。此外,本發(fā)明的所述功能、優(yōu)點(diǎn)和特性可以以任何適當(dāng)?shù)姆绞浇M合在 一個或多個實施例中。相關(guān)領(lǐng)域的技術(shù)人員將認(rèn)識到,可以在沒有特定實 施例的一個或多個特定功能或優(yōu)點(diǎn)的情況下實現(xiàn)本發(fā)明。在其他情況下, 可以在特定實施例中認(rèn)識到可能不存在于本發(fā)明的所有實施例中的其他功 能和優(yōu)點(diǎn)。本發(fā)明的實施例將主記錄集鏡像到基本記錄集,并且將對主記錄集的 每一個記錄更改累積到日志中。此外,本發(fā)明的實施例從日志選擇記錄更 改,并將選擇的記錄更改應(yīng)用到基本記錄集,以形成恢復(fù)后的記錄集,其 中恢復(fù)后的記錄集是包含無破壞數(shù)據(jù)的實例的主記錄集的期望實例。從以 下說明和所附權(quán)利要求,本發(fā)明的這些功能和優(yōu)點(diǎn)將變得更加顯而易見, 或者通過實現(xiàn)如下文所述的本發(fā)明,可以了解本發(fā)明的這些功能和優(yōu)點(diǎn)。
現(xiàn)在將僅通過實例的方式參照附圖描述本發(fā)明的 一個或多個實施例,其中圖1是示出根據(jù)本發(fā)明的基礎(chǔ)數(shù)據(jù)處理系統(tǒng)的一個實施例的示意性框圖;圖2a是示出根據(jù)本發(fā)明的擴(kuò)展數(shù)據(jù)處理系統(tǒng)的一個實施例的示意性框圖;意性框圖;圖3是示出本發(fā)明的數(shù)據(jù)巻的一個實施例的示意性框圖; 圖4是示出本發(fā)明的持續(xù)保護(hù)裝置的一個實施例的示例性框圖; 圖5是示出本發(fā)明的控制器的一個實施例的示意性框圖; 圖6是示出本發(fā)明的持續(xù)保護(hù)方法的一個實施例的示意性流程圖; 圖7是示出本發(fā)明的恢復(fù)方法的一個實施例的示意性流程圖; 圖8是示出本發(fā)明的選擇修改方法的一個實施例的示意性流程圖; 圖9是示出本發(fā)明的快速*方法的一個實施例的示意性流程圖;和 圖10是示出本發(fā)明的基本記錄集/日志初始化方法的一個實施例的示 意性流程圖。M實施方式將本說明書中描述的多個功能單元標(biāo)記為模塊,以便更具體地強(qiáng)調(diào)它 們的實現(xiàn)無關(guān)性。例如,模塊可以被實現(xiàn)為包括定制VLSI電路或門陣列、 諸如邏輯芯片、晶體管或其他分離組件之類的現(xiàn)用半導(dǎo)體的硬件電路。模 塊還可以在諸如現(xiàn)場可編程門陣列、可編程陣列邏輯、可編程邏輯設(shè)備之 類的可編程硬件i殳備中實現(xiàn)。模塊還可以在軟件中實現(xiàn),以便由各種類型的處理器執(zhí)行。例如,標(biāo) 識的可執(zhí)行代碼的模塊可以包括一個或多個物理或邏輯的計算機(jī)指令塊, 所述塊可以例如組織為對象、過程或函數(shù)。然而,標(biāo)識的模塊的可執(zhí)行代 碼不需要在物理上位于一起,而是可以包括存儲在不同位置的不同指令,當(dāng)所述指令被邏輯地結(jié)合時,將包括所述模塊并實現(xiàn)模塊的所述目的。實際上,可執(zhí)行代碼的模塊可以是單個指令或多個指令,并且甚至可 以分布在數(shù)個不同的代碼段上、多個不同的程序中,以及跨多個存儲器設(shè) 備。同樣,操作lt據(jù)可以在模塊中被標(biāo)識和在此示出,并且可以包括在任 何適當(dāng)?shù)男问街胁⒔M織在任何適當(dāng)類型的數(shù)據(jù)結(jié)構(gòu)中。操作數(shù)據(jù)可以被收 集為單個數(shù)據(jù)集,或可以分布在包括不同存儲i殳備的不同位置上,并且可 以至少部分地僅作為電子信號存在于系統(tǒng)或網(wǎng)絡(luò)中。本說明書中對"一個實施例"、"實施例"或類似語言的引用指結(jié)合該實施例描述的特定功能、結(jié)構(gòu)或特性;陂包括在本發(fā)明的至少一個實施例 中。因此,本說明書中出現(xiàn)的短語"在一個實施例中"、"在實施例中" 和類似語言可以(但是并非一定)都指相同的實施例。所提及的信號承載介質(zhì)可以采取任何能夠生成信號、導(dǎo)致信號生成、 或?qū)е略跀?shù)字處理裝置上執(zhí)行機(jī)器可讀指令的程序的形式。信號承載介質(zhì) 可以通過傳輸線、光盤、數(shù)字視盤、磁帶、貝努利驅(qū)動器、磁盤、穿孔卡 片、閃存、集成電路,或其他數(shù)字處理裝置存儲器設(shè)備來實現(xiàn)。此外,本發(fā)明的所述功能、結(jié)構(gòu)或特性可以以任何適當(dāng)?shù)男问浇M合在一 個或多個實施例中。在以下說明中,提供了大量特定的詳細(xì)信息,如編程、 軟件模塊、用戶選擇、網(wǎng)絡(luò)事務(wù)、數(shù)據(jù)庫查詢、數(shù)據(jù)庫結(jié)構(gòu)、硬件模塊、 硬件電路、硬件芯片等的實例,以便徹底理解本發(fā)明的實施例。但是,本 領(lǐng)域的技術(shù)人員將認(rèn)識到,可以在沒有一個或多個特定的細(xì)節(jié)的情況下實 現(xiàn)本發(fā)明,或者可以通過其他方法、組件、材料等實現(xiàn)本發(fā)明。在其他情 況下,未詳細(xì)示出或描述公知的結(jié)構(gòu)、材料或操作以避免使本發(fā)明的各方 面變得模糊不清。圖1是示出根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng)100的一個實施例的示意性框 圖。系統(tǒng)100包括 一個或多個主機(jī)105、主存儲子系統(tǒng)130、 ^#存儲子 系統(tǒng)135、代替存儲子系統(tǒng)140和時間服務(wù)器145。主存儲子系統(tǒng)130包括 主巻110和主控制器115a。 4^存儲子系統(tǒng)135包括備份巻112和^^控 制器115b。代替存儲子系統(tǒng)140包括代替巻114和代替控制器115c。雖然 將系統(tǒng)100描述為具有2個主機(jī)105、 l個主存儲子系統(tǒng)130、 l個^f^存 儲子系統(tǒng)135和1個代替存儲子系統(tǒng)140 ,但是可采用任意數(shù)目的主機(jī)105 和存儲子系統(tǒng)130、 135、 140。此外,每一個存儲子系統(tǒng)130、 135、 140 可包括一個或多個控制器115和一個或多個巻110。在一個實施例中,時間服務(wù)器145向主機(jī)105提供標(biāo)準(zhǔn)時間。此外, 時間服務(wù)器145可向每一個控制器115提供標(biāo)準(zhǔn)時間。例如,時間服務(wù)器 145可提供用于對系統(tǒng)100中的數(shù)據(jù)加蓋時間戳的時間。可將每一個巻110、 112、 114配置為邏輯巻。在一個實施例中,每一 個巻IIO、 112、 114包括一個或多個存儲裝置(例如,硬盤驅(qū)動器、光存 儲裝置、磁帶驅(qū)動器、半導(dǎo)體存儲裝置和微機(jī)械存儲裝置)的一個或多個 邏輯分區(qū)。例如,主巻110可包括一個或多個硬盤驅(qū)動器的邏輯分區(qū),而 備份巻112可包括一個或多個磁帶的一個或多個邏輯分區(qū)。每一個邏輯分 區(qū)可包括存儲介質(zhì)(例如,硬盤、磁帶或微機(jī)械存儲陣列)的一個或多個 物理分區(qū)。主機(jī)105可以在主巻110上存儲數(shù)據(jù)。在一個實施例中,主存儲子系 統(tǒng)130通過網(wǎng)絡(luò)與主機(jī)105通信。在另一實施例中,主才幾105可以與主存 儲子系統(tǒng)130集成,以及通過內(nèi)部數(shù)據(jù)總線與主存儲子系統(tǒng)130通信。主控制器115a管理主巻110。在一個實施例中,主控制器115a是專 用存儲控制器。在另一實施例中,主控制器115a與由主巻110包含的一個 或多個存儲裝置集成。主控制器115a可以向主巻110寫入數(shù)據(jù),以及可以 從主巻110讀取數(shù)據(jù)。此外,主控制器115a可以對主巻110執(zhí)行一個或多 個維護(hù)操作。例如,主控制器115a可以向主巻110添加邏輯分區(qū)。*存儲子系統(tǒng)135通過通信通道140與主存儲子系統(tǒng)130通信。通 信通道140可以是分組交換網(wǎng)絡(luò)連接、專用光纖通信線路等。*存儲子 系統(tǒng)135可以與主存儲子系統(tǒng)130位于一起,或位于遠(yuǎn)程站點(diǎn)。例如,備 份存儲子系統(tǒng)135可以位于與主存儲子系統(tǒng)130較遠(yuǎn)的物理距離,以降低 系統(tǒng)故障、自然災(zāi)害和與主存儲子系統(tǒng)130的位置相關(guān)的政治動蕩的風(fēng)險。可將主巻110的內(nèi)容復(fù)制到備除巻112,以保護(hù)在主巻110上存儲的 數(shù)據(jù)。因此,如果主巻IIO的數(shù)據(jù)丟失或被破壞,則備階巻112可用于恢 復(fù)在復(fù)制主巻110時存在的主巻110的數(shù)據(jù)的實例。在一個實施例中,將 來自備份巻的數(shù)據(jù)恢復(fù)到代替存儲子系統(tǒng)140的代替巻114。主機(jī)105可 通過通信介質(zhì)150從代替巻114訪問所恢復(fù)的數(shù)據(jù)。不幸地是,如果主機(jī)105在將主巻110復(fù)制到備除巻112之后修改了 主巻110中的任一數(shù)據(jù),則在再次將主巻110的數(shù)據(jù)復(fù)制到備份巻112之 前就不能保護(hù)所修改的數(shù)據(jù)。本發(fā)明的實施例通過累積對主巻110的所有12更改,并允許對主巻110的每一個實例進(jìn)行恢復(fù),來持續(xù)保護(hù)主巻110的數(shù)據(jù)。圖2a是示出才艮據(jù)本發(fā)明的擴(kuò)展數(shù)據(jù)處理系統(tǒng)200的一個實施例的示意 性框圖。系統(tǒng)200包括圖1的一個或多個單元,其中對同樣的單元進(jìn)行同 樣的編號。 一個或多個主機(jī)105通過網(wǎng)絡(luò)225 (例如局域網(wǎng)或互聯(lián)網(wǎng))與 存^i殳備205通信。存^i殳備205通過第一內(nèi)部網(wǎng)絡(luò)210a與主存儲子系統(tǒng) 130通信。此外,存儲設(shè)備205還通過通信通道140和第二內(nèi)部網(wǎng)絡(luò)210b 與M存儲子系統(tǒng)135通信。時間服務(wù)器145可向存儲設(shè)備205提供標(biāo)準(zhǔn) 時間。此外,時間服務(wù)器145可為主存儲子系統(tǒng)130和*存儲子系統(tǒng)135 提供標(biāo)準(zhǔn)時間。主存儲子系統(tǒng)130包括第一和第二主控制器115a、 115c。 *存儲子 系統(tǒng)135也凈皮描述為包括第一和第二^^控制器115b、 115d。每一個控制 器115管理一個或多個存儲裝置215。每一個存儲子系統(tǒng)130、 135可采用 任意數(shù)目的控制器115和存儲裝置215。在一個實施例中,控制器115通 過數(shù)據(jù)通道220與存儲裝置215通信。數(shù)據(jù)通道220可以是光纖通道、小 型計算機(jī)系統(tǒng)接口 ( "SCSI")通道等??刂破?15可管理對本領(lǐng)域普通技術(shù)人員已知的存儲裝置215的格式 化、對巻IIO的邏輯分區(qū)的分配以及例如擦除之類的維護(hù)操作。例如,第 一主控制器115a可從一個或多個存儲裝置215的一個或多個邏輯分區(qū)組織 圖1的主巻110。同樣,第二*控制器115d可從一個或多個存儲裝置215 的一個或多個邏輯分區(qū)組織圖1的a巻112。圖2b是示出根據(jù)本發(fā)明的另 一擴(kuò)展數(shù)據(jù)處理系統(tǒng)250的一個實施例的 示意性框圖。系統(tǒng)250包括圖l和圖2a的單元,同樣的標(biāo)號表示同樣的單 元。此外,系統(tǒng)250增加了多個存儲設(shè)備205、主存儲子系統(tǒng)130和4^ 存儲子系統(tǒng)135。為了簡單,將不描述在主存儲子系統(tǒng)130和^#存儲子系統(tǒng)135內(nèi)部 的單元,但是這些單元等同于在圖2a的主存儲子系統(tǒng)130和*存儲子系 統(tǒng)135內(nèi)部的單元。雖然示出了 3個主存儲子系統(tǒng)130、 3個存儲設(shè)備205和2個*存儲子系統(tǒng)135,但是可采用任意數(shù)目的主存儲子系統(tǒng)130、存 儲設(shè)備205和#存儲子系統(tǒng)135。可以跨一個或多個存^f^i殳備205將記錄集從主存儲子系統(tǒng)130復(fù)制或 鏡像到M存儲子系統(tǒng)135。例如,可以跨第一、第二和第三存儲設(shè)備205a-c 將第一主存儲子系統(tǒng)130a的主巻110中存儲的記錄集鏡像到第二4^存儲 子系統(tǒng)135b。同樣,可以跨第二存^i殳備205b將第三主存儲子系統(tǒng)130c 的主巻110中存儲的記錄集鏡像到第一*存儲子系統(tǒng)135a。圖3是示出本發(fā)明的數(shù)據(jù)巻300的一個實施例的示意性框圖。巻300 的描述引用圖1和圖2的單元,同樣的標(biāo)號表示同樣的單元。將主巻110 描述為包含主記錄集320。主記錄集320可以是由一個或多個主機(jī)105存 儲在主巻110上的數(shù)據(jù)。在一個實施例中,主記錄集包括一個或多個記錄。 每一個記錄可以是數(shù)據(jù)字、包含一個或多個數(shù)據(jù)字的數(shù)據(jù)塊等。例如,每 一個記錄可以是具有相鄰地址的五百一十二 (512)個數(shù)據(jù)字。將備除巻112描述為包含基本記錄集305、日志310和快速記錄集315。 基本記錄集305可以是在特定時間情況下主記錄集320的每一個記錄的全 部鏡像。例如,可將主記錄集320的每一個記錄復(fù)制到基本記錄集305的 對應(yīng)記錄。此外,主記錄集320和基本記錄集305可共享尋址方案,從而 對主記錄集320的指定記錄尋址的一部分地址也可以對基本記錄集305的 指定記錄的副本尋址。日志310 #:配置為累積記錄更改。在一個實施例中,日志310累積在 將主記錄集320鏡像到基本記錄集305之后發(fā)生的記錄更改。每一個記錄 更改描述了對主記錄集320的記錄的更改。例如,如果向記錄寫入數(shù)據(jù), 則記錄更 文描述了數(shù)據(jù)的寫入,從而可使用該描述來重復(fù)寫入操作。在一 個實施例中,記錄更改包括記錄的地址和向記錄寫入的數(shù)據(jù)。快速記錄集315表示主記錄集320的實例。在一個實施例中,快速記 錄集315是主記錄集320的臨時實例,例如在指定時間的主記錄集320的 副本。在另一實施例中,快速記錄集315是主記錄集320的邏輯實例,例 如主記錄集320的所有未破壞的記錄??蓪⒅饔涗浖?20直接復(fù)制到快速記錄集315。本發(fā)明的實施例還支持從基本記錄集305和日志310創(chuàng)建快 速記錄集315,這允許將快速記錄集315配置為主記錄集320的任意臨時 或邏輯實例。如果主記錄集320丟失或凈皮破壞,則本發(fā)明的實施例還從基本記錄集 305和日志310恢復(fù)主記錄集320的實例作為恢復(fù)后的記錄集325。在所描 述的實施例中,將恢復(fù)后的記錄集325存儲在代替巻114。例如,如果主 巻110出現(xiàn)故障,并且主巻110包括第一和第二存儲裝置215a和215b, 則第一主控制器115可以從第三和第四存儲裝置215c、 215d的多個邏輯分 區(qū)創(chuàng)建代替巻114。控制器115 (例如第一a控制器115b)可以從基本 記錄集305和日志310將主記錄集320的實例恢復(fù)到恢復(fù)后的記錄集325。圖4是示出本發(fā)明的持續(xù)保護(hù)裝置400的一個實施例的示例性框圖。 裝置400的描述引用圖l-3的單元,同樣的標(biāo)號表示同樣的單元。裝置400 包括鏡像模塊405、日志模塊410、更改選擇模塊415、更改應(yīng)用模塊420、 狀態(tài)數(shù)據(jù)集模塊425、控制數(shù)據(jù)集模塊430和快速復(fù)制模塊435。在一個實施例中,在一個或多個控制器115上執(zhí)行的一個或多個軟件 處理包括鏡#^莫塊405、日志模塊410、更改選擇模塊415、更改應(yīng)用模 塊420、狀態(tài)數(shù)據(jù)集模塊425、控制數(shù)據(jù)集模塊430和快速復(fù)制模塊435。 在另 一實施例中,主機(jī)105或存儲設(shè)備205可執(zhí)行包括以下模塊的軟件處 理,即鏡#^莫塊405、日志模塊410、更改選擇模塊415、更改應(yīng)用模塊 420、狀態(tài)數(shù)據(jù)集模塊425、控制數(shù)據(jù)集模塊430和快速復(fù)制模塊435。鏡像4莫塊405將主記錄集320鏡像到基本記錄集305?;居涗浖?05 等同于在鏡^f象主記錄集320時存在的主記錄集320的實例。鏡傳^莫塊405 可通過將主記錄集320的每一個記錄復(fù)制到基本記錄集305來鏡像主記錄 集320?;蛘?,鏡^^莫塊405可通過從日志310將更改記錄應(yīng)用到基本記 錄集305的第 一 實例來將主記錄集320鏡像到基本記錄集305的第二實例。曰志;漠塊410累積對主記錄集320的記錄更改的日志310。在一個實 施例中,每一個記錄更改包括一致性組(consistency group)。每個一致 性組可包括用以跟蹤向記錄寫入、向日志310寫入更新和表示記錄更改完成的寫入完成的數(shù)據(jù)。在一個實施例中,日志模塊410累積包含對主記錄 集320的每一個記錄更改的按時間排序的一致性組,作為日志310。更改選擇模塊415從日志310選擇記錄更改。在一個實施例中,用戶 指示記錄更改的選擇。用戶可選擇在指定恢復(fù)時間之前發(fā)生的記錄更改。 此外,用戶也可選擇在指定恢復(fù)時間之后發(fā)生的記錄更改。在一個實施例 中,用戶可選擇和取消選擇記錄更改。更改應(yīng)用模塊420將選擇的記錄更改應(yīng)用到基本記錄集305,以形成 恢復(fù)后的記錄集325。例如,更改應(yīng)用^t塊420可通過如記錄更改所記錄 的數(shù)據(jù)寫入那樣重復(fù)對主記錄集320的數(shù)據(jù)寫入,來應(yīng)用所選擇的記錄更 改,即通過基本記錄集305來重復(fù)數(shù)據(jù)寫入或?qū)居涗浖?05應(yīng)用數(shù)據(jù) 寫入。在一個實施例中,更改應(yīng)用模塊420將選擇的記錄更改應(yīng)用到基本 記錄集305的副本。例如,更改應(yīng)用模塊420可將基本記錄集305復(fù)制到 恢復(fù)巻114,以及將選擇的記錄更改應(yīng)用到基本記錄集305的副本,以形 成恢復(fù)后的記錄集325。基本記錄集305和應(yīng)用記錄更改的實例包括恢復(fù)后的記錄集325。恢 復(fù)后的記錄集325等同于主記錄集320的指定邏輯和/或臨時實例。因此, 可將主記錄集320的任意邏輯或臨時實例恢復(fù)到恢復(fù)后的記錄集325。在一個實施例中,狀態(tài)數(shù)據(jù)集才莫塊425將主記錄集320的巻110或主 巻100映射到基本記錄集305和日志310的巻110或務(wù)除巻112。例如, 狀態(tài)數(shù)據(jù)集模塊425可選擇具有足夠容量的備盼巻112,以支持主記錄集 320。在一個實施例中,控制數(shù)據(jù)集模塊430跟蹤每一個記錄更改的狀態(tài) (status)。在某一實施例中,控制數(shù)據(jù)集模塊430跟蹤通過每一個記錄更 改所實現(xiàn)的 一致性組的狀態(tài)。在一個實施例中,快速復(fù)制模塊435從基本記錄305和日志310創(chuàng)建 快速記錄集315。例如,快速復(fù)制模塊435可創(chuàng)建快速記錄集315,作為在 指定時間的主記錄集320的實例??焖購?fù)制模塊435可將快速記錄集315 復(fù)制到檔案存儲介質(zhì)(例如磁帶),以保存主記錄集320的時間點(diǎn)副本。 裝置400通過維護(hù)基本記錄集305和日志310以及支持多個主記錄集32016的實例的恢復(fù),來持續(xù)保護(hù)數(shù)據(jù)。圖5是示出本發(fā)明的控制器115的一個實施例的示意性框圖。控制器 115的描述引用圖1-4的單元,同樣的標(biāo)號表示同樣的單元??刂破?15 包括處理器模塊505、存儲器模塊510、橋接器模塊515、網(wǎng)絡(luò)接口模塊 520和存儲接口才莫塊525。此外,還描述了與控制器115通信的存儲設(shè)備 205和存儲裝置215。處理器模塊505、存儲器模塊510、橋接器模塊515、網(wǎng)絡(luò)接口模塊520 和存儲接口模塊525可由一個或多個半導(dǎo)體襯底上的半導(dǎo)體柵極來制造。每一個半導(dǎo)體襯底可封裝于在電路板上設(shè)置的一個或多個半導(dǎo)體器件中。 在處理器模塊505、存儲器模塊510、橋接器模塊515、網(wǎng)絡(luò)接口模塊520 和存儲接口模塊525之間的連接可經(jīng)過半導(dǎo)體金屬層、襯底與襯底的配線、 或連接半導(dǎo)體器件的電路板路線或布線。存儲器模塊510存儲軟件指令和數(shù)據(jù)。如本領(lǐng)域普通技術(shù)人員已知的, 處理器模塊505執(zhí)行軟件指令并操作數(shù)據(jù)。處理器模塊505通過橋接器模 塊515與網(wǎng)絡(luò)接口模塊520和存儲接口模塊525通信。在一個實施例中,存儲器模塊510存儲包括圖4的鏡像模塊405、日 志模塊410、更改選擇模塊415、更改應(yīng)用模塊420、狀態(tài)數(shù)據(jù)集模塊425、 控制數(shù)據(jù)集;f莫塊430和快速復(fù)制;f莫塊435的一個或多個軟件處理,而處理 器模塊505執(zhí)行所述的一個或多個軟件處理。例如,執(zhí)行包括鏡4^漢塊405 的一個或多個軟件處理的處理器模塊505可經(jīng)過存^i殳備205、網(wǎng)絡(luò)接口 520和存儲接口模塊525將主記錄集320鏡像到存儲裝置215的備份巻112 , 以作為基本記錄集305。同樣,執(zhí)行包括日志模塊410的一個或多個軟件 處理的處理器模塊505可經(jīng)過存儲設(shè)備205將一個或多個記錄更改復(fù)制到 存儲裝置215,以累積記錄更改,作為駐留在存儲裝置215上的日志310。此外,執(zhí)行包括更改選擇模塊415和更改應(yīng)用模塊420的一個或多個 軟件處理的處理器模塊505可經(jīng)過存儲接口模塊525從日志310選擇記錄 更改,以及經(jīng)過存儲接口模塊525將選擇的記錄更改應(yīng)用到駐留在存儲裝 置215的基本記錄集305??刂破?15通過維護(hù)基本記錄集305和日志310以及通過將記錄更改從日志310應(yīng)用到基本記錄集,以形成恢復(fù)后的記錄 集325,來支持持續(xù)的數(shù)據(jù)保護(hù)。通常作為邏輯流程圖提出以下的示意性流程圖。因此,所示順序和標(biāo) 記的步驟指示所提供方法的一個實施例??梢詷?gòu)想其他步驟和方法,它們 在功能、邏輯或效果上與所示方法的一個或多個步驟或其各部分等效。另 外,提供所使用的格式和符號以說明所述方法的邏輯步驟,并且應(yīng)理解它 們并非限制所述方法的范圍。盡管可以在流程圖中使用不同的箭頭類型和 線條類型,但是應(yīng)理解,它們并非限制相應(yīng)方法的范圍。實際上,某些箭 頭或其他連接器可用來僅指示所述方法的邏輯流。例如,箭頭可以指示所 述方法的列出步驟之間的未指定持續(xù)時間的等待或監(jiān)視周期。另外,發(fā)生 特定方法的順序可以或可以不嚴(yán)格地依照所示的相應(yīng)步驟的順序。圖6是示出本發(fā)明的持續(xù)保護(hù)方法600的一個實施例的示意性流程圖。 方法600實質(zhì)上包括用以執(zhí)行上文中有關(guān)圖1-4的所述系統(tǒng)100、 200、巻 300和裝置400的操作的功能所必須的步驟。方法600的描述引用圖1-5 的單元,同樣的標(biāo)號表示同樣的單元。方法600開始,在一個實施例中,狀態(tài)數(shù)據(jù)集模塊425將主巻110映 射(605)到備份巻112。在另一實施例中,狀態(tài)數(shù)據(jù)集模塊425將多個主 巻110映射(605)到備份巻112。在某一實施例中,狀態(tài)數(shù)據(jù)集模塊425 具備份以描述主存儲子系統(tǒng)130和*存儲子系統(tǒng)135的數(shù)據(jù)。狀態(tài)數(shù)據(jù) 集模塊425可使用該數(shù)據(jù)將主巻110映射(605 )到*巻112。例如,狀 態(tài)數(shù)據(jù)集模塊425可以知道主巻110的容量是100千兆字節(jié)(100GB)。 在這種情形下,狀態(tài)數(shù)據(jù)集模塊425可將主巻110映射(605)到具有主巻 110a容量的百分之二百(200% )或200千兆字節(jié)(200GB)的備除巻112。鏡像模塊405將主巻110的主記錄集320鏡像(610 )到備份巻112 的基本記錄集305。主記錄集320可存儲在一個或多個主巻110中。此外, 主巻110可位于一個或多個主存儲子系統(tǒng)120中。在一個實施例中,鏡像 模塊405可通過將主記錄集320的每一個記錄復(fù)制到基本記錄集305來鏡 像(610)主記錄集320。鏡#^莫塊405可作為定期調(diào)度的*操作的一部18分來鏡像(610)主記錄集320。或者,鏡像才莫塊405可以在由用戶指示時 鏡像(610)主記錄集320。在某一實施例中,鏡#^莫塊405鏡像(610) 多個主記錄集320實例作為多個基本記錄集305。
在一個實施例中,主機(jī)105更改(615)主記錄集320的記錄。主機(jī) 105可向記錄寫入數(shù)據(jù)以便更改記錄。在某一實施例中,控制數(shù)據(jù)集模塊 430跟蹤(620)每一個記錄更改的狀態(tài)。在某一實施例中,控制數(shù)據(jù)集模 塊430跟蹤(620)由每一個記錄更改實現(xiàn)的一致性組的狀態(tài)。例如,控制 數(shù)據(jù)集模塊430可跟蹤(620)向記錄的寫入、將記錄更改累積到日志310 和記錄更改的完成。此外,控制數(shù)據(jù)集模塊430可跟蹤(620)所有記錄更 改,直到每一個記錄更改完成并累積到日志310中為止。在一個實施例中, 從時間服務(wù)器145對由控制數(shù)據(jù)集模塊430跟蹤(620 )的所有數(shù)據(jù)加蓋時 間戳。
曰志模塊410將對主記錄集320的每一個記錄更改累積(625 )到日志 310中。在一個實施例中,日志模塊410累積(625)記錄更改,作為按時 間排序的一致性組。例如,在日志310中首先累積(625 )用以記錄到主記 錄集320的第一寫入的第一一致性組,邏輯上在第一一致性組之后,累積 (625 )用以記錄到主記錄集320的第二寫入的第二一致性組。
在一個實施例中,日志模塊410從多個主巻110累積(625)記錄更改。 此外,日志模塊410可跨多個存^&備205累積(625)更改記錄。例如, 曰志模塊410可累積(625 )對在圖2b的第一主存儲子系統(tǒng)130a中存儲的 主巻110以及在圖2b的第二和第三主存儲子系統(tǒng)130b-c中存儲的主巻110 中實現(xiàn)的主記錄集320的記錄更改,其中日志;溪塊410從跨圖2b的第一、 第二和第三存儲i免備205a-c的主巻110累積(625 )記錄更改。
在一個實施例中,日志模塊410判定(630)是否終止持續(xù)保護(hù)。日志 模塊410可響應(yīng)于來自用戶的指示來判定(630 )是否終止持續(xù)保護(hù)?;蛘撸?曰志模塊410可才艮據(jù)主記錄集320的參數(shù)來判定(630 )是否終止持續(xù)保護(hù)。 如果不終止持續(xù)保護(hù),則方法600循環(huán),并且主機(jī)105更改(615 )記錄。 如果日志模塊410判定(630)終止持續(xù)保護(hù),則方法600終止。方法600通過維護(hù)基本記錄集305和日志310來持續(xù)保護(hù)主記錄集320的數(shù)據(jù)。
圖7是示出本發(fā)明的恢復(fù)方法700的一個實施例的示意性流程圖。方 法700實質(zhì)上包括用以執(zhí)行上文中有關(guān)圖1-4的所述系統(tǒng)100、 200、巻300 和裝置400的操作的功能所必須的步驟。方法700的描述引用圖1-5的單 元,同樣的標(biāo)號表示同樣的單元。
方法700開始,在一個實施例中,更改選擇模塊415選擇(705 )恢復(fù) 實例?;謴?fù)實例表示主記錄集320的邏輯和臨時實例。例如,恢復(fù)實例可 指定在指定時間的主記錄集320的實例或臨時實例。
此外,恢復(fù)實例可指定從主記錄集320的臨時實例忽略一個或多個記 錄更改或通過主記錄集320的臨時實例包括一個或多個記錄更改。例如, 恢復(fù)實例可指定從2008年7月31日午夜開始的主記錄集320的臨時實例, 且從所述臨時實例忽略從指定第一主機(jī)105a提交的每一個記錄更改。在一 個實施例中,用戶通過更改選擇模塊415指示恢復(fù)實例的選擇(705)。在 另 一實施例中,例如操作系統(tǒng)或軟件應(yīng)用的軟件處理通過更改選擇模塊 415指示恢復(fù)實例的選擇(705)。
在一個實施例中,更改選擇模塊415選擇(710)基本記錄集305。更 改選擇模塊415可選擇(710 )基本記錄集305作為唯一的基本記錄集305。 或者,更改選擇才莫塊415可以從多個基本記錄集305選擇(710 )基本記錄 集305的實例。更改選擇模塊415可響應(yīng)于恢復(fù)實例而選擇(710 )基本記 錄集305。例如,更改選擇才莫塊415可選擇(710)在由恢復(fù)實例指定的時 間之前最先創(chuàng)建的基本記錄集305。
更改選擇模塊415從日志310選擇(715 )記錄更改。在一個實施例中, 更改選擇才莫塊415響應(yīng)于恢復(fù)實例而選擇(715 )記錄更改。例如,如果恢 復(fù)實例指定在l: 04 p.m.東部夏令時間("EDT")的主記錄集320的實 例,則更改選擇模塊415可以選擇(715)從創(chuàng)建選擇的基本記錄集305 直到1: 04p.m.EDT為止累積的每一個記錄更改。
在一個實施例中, 一致性組實現(xiàn)記錄更改。 一致性組可包括用于記錄 更改的數(shù)據(jù)時間戳。時間服務(wù)器14可提供時間戳數(shù)據(jù),從而所有單元使用一致的時間。更改選擇模塊415可通過將數(shù)據(jù)時間戳與恢復(fù)實例相比較來 選擇(715)記錄更改。因此,如果在以上實例中在12: OOp.m.EDT創(chuàng)建 選擇的基本記錄集305,并且第一記錄更改包括12: 15 p.m. EDT的數(shù)據(jù) 時間戳,則更改選擇模塊415將選擇(715)第一記錄更改。
更改應(yīng)用模塊420將選擇的記錄更改應(yīng)用(720 )到選擇的基本記錄集 305,以形成恢復(fù)后的記錄集325,并且方法700終止。在一個實施例中, 更改應(yīng)用模塊420通過將記錄更改應(yīng)用到基本記錄集305來重復(fù)對主記錄 集320的原始記錄更改。此外,更改應(yīng)用模塊420可將多個記錄更改應(yīng)用 (720)到選擇的基本記錄集305,以形成恢復(fù)后的記錄集325。在某一實 施例中,更改應(yīng)用模塊420將選擇的記錄更改應(yīng)用(720)到基本記錄集 305的副本。
在一個實施例中,更改應(yīng)用模塊420保存(725 )恢復(fù)后的記錄集325。 更改應(yīng)用模塊420可將恢復(fù)后的記錄集保存(725)到代替巻114?;蛘撸?更改應(yīng)用模塊420可將恢復(fù)后的記錄集保存(725)到備除巻112或主巻 110。
通過將一個或多個選擇的記錄更改應(yīng)用到基本記錄集305,方法700 可形成主記錄集320的^f壬意實例,以作為恢復(fù)^己錄集325。例如,方法700 可形成主記錄集320的每一個臨時實例。方法700還可通過選擇性地忽略 或包括一個或多個記錄更改來形成主記錄集320的每一個臨時實例的多個 邏輯實例。此外,方法700可重復(fù)傳統(tǒng)的時間點(diǎn)備盼或事件調(diào)度備除,其 中時間點(diǎn)務(wù)盼是主記錄集320的實例。更改應(yīng)用模塊420還可創(chuàng)建以特定 應(yīng)用(例如規(guī)定檔案復(fù)制、異地檔案復(fù)制以及與商業(yè)伙伴或其它第三方實 體共享的復(fù)制)為目標(biāo)的多個恢復(fù)記錄集325。
圖8是示出本發(fā)明的選擇修改方法800的一個實施例的示意性流程圖。 方法800實質(zhì)上包括用以執(zhí)行上文中有關(guān)圖1-4的所述系統(tǒng)100、 200、巻 300和裝置400的操作的功能所必須的步驟。方法800的描述引用圖1-5 的單元,同樣的標(biāo)號表示同樣的單元。
方法800開始,在一個實施例中,更改選擇^f莫塊415向用戶呈現(xiàn)(805)記錄更改。更改選擇模塊415可進(jìn)一步呈現(xiàn)(805 )多個記錄更改。在某一 實施例中,更改選擇模塊415通過主機(jī)105向用戶呈現(xiàn)(805 )記錄更改。 例如,主機(jī)105可以是與更改選擇模塊415通信的計算機(jī)工作站。
更改選擇模塊415可呈現(xiàn)(805 )聚合在一個或多個組中的一個或多個 記錄更改。例如,更改選擇模塊415可按時間、按更改的源、按數(shù)據(jù)庫中 的數(shù)據(jù)列、按更改類型等來聚合數(shù)據(jù)更改。此外,更改選擇模塊415可呈 現(xiàn)(805)分層次聚合的更改。例如,記錄更改可首先按更改的源來分類, 然后按更改的時間分類。
在一個實施例中,更改選擇模塊415標(biāo)記(810 )每一個選擇的記錄更 改。可以如圖7的步驟715所述來選擇所選擇的記錄更改。在另一實施例 中,更改選擇才莫塊415標(biāo)記(810)每一個未選擇的記錄更改。主機(jī)105 可顯示所標(biāo)記的和未標(biāo)記的記錄更改。
在某一實施例中,更改選擇模塊415從主機(jī)105接收(815 )用戶修改。 用戶修改可指示記錄更改的選擇或未選擇狀態(tài)。例如,用戶修改可指示記 錄更改被選擇或未被選擇?;蛘?,用戶修改可指定記錄更改的已更改狀態(tài)。 因此,如果記錄更改4皮選擇,并且更改選擇模塊415接收指定了已更改狀 態(tài)的用戶修改,則用戶修改指示記錄更改未被選擇。
在一個實施例中,更改選擇模塊415響應(yīng)于用戶修改而更新(820)記 錄更改選擇,并且方法800終止。方法800允許用戶選擇用于恢復(fù)到恢復(fù) 后的記錄集325的主記錄集320的不同臨時和邏輯實例,包括主記錄集320 的每一個臨時實例和來自主記錄集320的每一個臨時實例的多個導(dǎo)出結(jié) 果。
圖9是示出本發(fā)明的快速務(wù)除方法900的一個實施例的示意性流程圖。 方法卯O實質(zhì)上包括用以執(zhí)行上文中有關(guān)圖1-4的所述系統(tǒng)100、 200、巻 300和裝置400的操作的功能所必須的步驟。方法900的描述引用圖1-5 的單元,同樣的標(biāo)號表示同樣的單元。
方法卯O開始,在一個實施例中,快速復(fù)制模塊435指示更改選擇模 塊415以選擇(905 )快速實例??焖賹嵗硎局饔涗浖?30的邏輯和臨時
22實例。例如,快速實例可指定主記錄集230的臨時實例。
在一個實施例中,快速復(fù)制模塊435指示更改選擇模塊415,以選擇 (910 )基本記錄集305。更改選擇模塊415可選擇(910)基本記錄集305 作為唯一的基本記錄集305?;蛘撸倪x擇模塊415可從多個基本記錄 集305選擇(910 )基本記錄集305的實例。更改選擇模塊415可響應(yīng)于快 速實例而選擇(910 )基本記錄集305。例如,更改選擇模塊415可選擇(910 ) 在由快速實例指定的時間之前最先創(chuàng)建的基本記錄集305。
在一個實施例中,快速復(fù)制模塊435指示更改選擇模塊415,以從日 志310選擇(915 )記錄更改。更改選擇模塊415可響應(yīng)于快速實例而選擇 (915)記錄更改。例如,如果快速實例指定12: 01 a.m. EDT的主記錄集 320的實例,則更改選擇才莫塊415可選擇(915)從創(chuàng)建選擇的基本記錄集 305直到12: 01 a.m. EDT為止累積的每一個記錄更改。
在一個實施例中,快速復(fù)制模塊435指示更改應(yīng)用模塊420,以將所 選擇的記錄更改應(yīng)用(920)到所選擇的基本記錄集305,以形成快速記錄 集315,并且方法900終止。在一個實施例中,更改應(yīng)用模塊420對于基 本記錄集305重復(fù)對主記錄集320的原始記錄更改。此外,更改應(yīng)用模塊 420可將多個記錄更改應(yīng)用(920)到選擇的基本記錄集305,以形成快速 記錄集315。在某一實施例中,更改應(yīng)用模塊420將選擇的記錄更改應(yīng)用 (920 )到基本記錄集305的副本。
在一個實施例中,快速復(fù)制模塊435保存(925 )快速記錄集315,并 且方法卯O終止。例如,快速復(fù)制模塊435可將快速記錄集315復(fù)制到檔 案存儲介質(zhì)(例如磁帶),以保存主記錄集320的時間點(diǎn)副本。方法900 保存主記錄集320的實例,以作為快速記錄集315。
圖10是示出本發(fā)明的基本記錄集/日志初始化方法1000的一個實施例 的示意性流程圖。方法1000實質(zhì)上包括用以執(zhí)行上文中有關(guān)圖1-4的所述 系統(tǒng)IOO、 200、巻300和裝置400的操作的功能所必須的步驟。方法700 的描述引用圖l-5的單元,同樣的標(biāo)號表示同樣的單元。
方法1000開始,在一個實施例中,快速復(fù)制模塊435將基本記錄集320的第一實例存檔(1005 )。快速復(fù)制才莫塊435可通過將基本記錄集320 的第一實例復(fù)制到檔案存儲介質(zhì)(例如磁帶)來將基本記錄集320的第一 實例存檔(1005)。此外,快速復(fù)制模塊435可將日志310存檔(1010)。 例如,快速復(fù)制模塊435也可以將日志310復(fù)制到磁帶。
在一個實施例中,如圖6的步驟610所述,鏡像模塊405將主記錄集 320鏡像(1015 )到基本記錄集305的第二實例。此外。日志模塊410清 除(1020 )日志310,從而日志310不包含記錄更改,并且方法1000終止。 方法1000初始化基本記錄集320和日志310。
本發(fā)明的實施例將主記錄集320鏡像(610 )到基本記錄集305,并且 將對主記錄集320的每一個記錄更改累積(625 )到日志310中。此外,本 發(fā)明的實施例從日志310選擇(715 )記錄更改,并將所選擇的記錄更改應(yīng) 用(720)到基本記錄集320,以形成恢復(fù)后的記錄集325,其中恢復(fù)后的 記錄集325是包含無破壞數(shù)據(jù)的實例的主記錄集320的期望實例。
可以在不脫離本發(fā)明的精神或?qū)嵸|(zhì)特征的情況下以其它具體形式實現(xiàn) 本發(fā)明。所描述的實施例可被認(rèn)為,在所有方面都僅是示例性的,而不是 限制性的。因此,本發(fā)明的范圍將由所附權(quán)利要求指定,而并非由以上說 明指定。
權(quán)利要求
1.一種持續(xù)保護(hù)數(shù)據(jù)的裝置,該裝置包括鏡像模塊,配置為將主記錄集鏡像到基本記錄集;日志模塊,配置為累積對所述主記錄集的記錄更改的日志,其中每一個記錄更改包括一致性組;更改選擇模塊,配置為選擇記錄更改;和更改應(yīng)用模塊,配置為將所選擇的記錄更改應(yīng)用到所述基本記錄集,以形成恢復(fù)后的記錄集。
2. 根據(jù)權(quán)利要求1的裝置,其中所述一致性組包括從一個公共時 鐘源加蓋時間戳的數(shù)據(jù),該數(shù)據(jù)用于跟蹤寫入、寫入更新和所述記錄更改 的寫入完成。
3. 根據(jù)權(quán)利要求2的裝置,其中跨多個主M儲所述主記錄集,并 且所述日志模塊還配置為,從跨所述多個主巻的所述主記錄集來累積記錄 更改的日志。
4. 根據(jù)權(quán)利要求3的裝置,所述日志模塊還配置為,跨多個存儲設(shè) 備累積所述記錄更改。
5. 根據(jù)權(quán)利要求1的裝置,還包括控制數(shù)據(jù)集模塊,配置為跟蹤 所述記錄更改的狀態(tài)。
6. 根據(jù)權(quán)利要求1的裝置,還包括狀態(tài)數(shù)據(jù)集模塊,配置為將包 含所述主記錄集的巻映射到包含所述基本記錄集和所述日志的巻。
7. 根據(jù)權(quán)利要求1的裝置,還包括快速復(fù)制模塊,配置為將所述 記錄更改應(yīng)用到所述基本記錄集,以形成快速記錄集。
8. —種持續(xù)保護(hù)數(shù)據(jù)的計算機(jī)程序產(chǎn)品,所述計算機(jī)程序產(chǎn)品當(dāng)加 栽到計算機(jī)中時使得計算機(jī)執(zhí)行以下步驟將主記錄集鏡像到基本記錄集;累積對所述主記錄集的記錄更改的日志,其中每一個記錄更改包括一 致性組,并且其中在備份巻中累積所述日志;選擇記錄更改;和將所選擇的記錄更改應(yīng)用到所述基本記錄集,以形成恢復(fù)后的記錄集。
9. 根據(jù)權(quán)利要求8的計算機(jī)程序產(chǎn)品,其中所述記錄更改來自附加 到至少 一個存儲子系統(tǒng)的至少 一個主巻。
10. 根據(jù)權(quán)利要求9的計算機(jī)程序產(chǎn)品,其中所述指令還包括將所 述至少 一個主巻映射到所述務(wù)盼巻的操作。
11. 根據(jù)權(quán)利要求8的計算機(jī)程序產(chǎn)品,其中所述一致性組包括從 一個公共時鐘源加蓋時間戳的數(shù)據(jù),該數(shù)據(jù)用于跟蹤寫入、寫入更新和所 述記錄更改的寫入完成。
12. 根據(jù)權(quán)利要求11的計算機(jī)程序產(chǎn)品,其中在多個主巻中存儲所 述主記錄集,并且從所述多個主巻累積記錄更改的日志。
13. 根據(jù)權(quán)利要求12的計算機(jī)程序產(chǎn)品,其中跨多個存儲設(shè)備累積 記錄更改的日 /志o
14. 根據(jù)權(quán)利要求8的計算機(jī)程序產(chǎn)品,其中所述指令還包括跟蹤 所述記錄更改的狀態(tài)的操作。
15. 根據(jù)權(quán)利要求8的計算機(jī)程序產(chǎn)品,其中所述指令還包括選擇 在指定恢復(fù)實例之前的時間發(fā)生的記錄更改的操作。
16. 根據(jù)權(quán)利要求8的計算機(jī)程序產(chǎn)品,其中所述指令還包括選擇 在指定恢復(fù)實例之后的時間發(fā)生的記錄更改的操作。
17. 根據(jù)權(quán)利要求8的計算機(jī)程序產(chǎn)品,其中所述指令還包括用戶 選擇和取消選擇所述記錄更改的操作。
18. 根據(jù)權(quán)利要求8的計算機(jī)程序產(chǎn)品,其中所述指令還包括將所 述記錄更改應(yīng)用到所述基本記錄集以形成快速記錄集的操作。
19. 根據(jù)權(quán)利要求18的計算機(jī)程序產(chǎn)品,其中所述快速記錄集包括 在從指定時間點(diǎn)和指定事件選擇的指定終止符之前應(yīng)用于所述基本記錄集 的一個或多個記錄更改。
20. 根據(jù)權(quán)利要求19的計算機(jī)程序產(chǎn)品,其中所述快速記錄集存儲 在不同的存儲子系統(tǒng)上。
21. —種持續(xù)保護(hù)數(shù)據(jù)的系統(tǒng),該系統(tǒng)包括 主巻,用于存儲主記錄集;主控制器,配置為管理所述主巻;備份巻,用于存儲基本記錄集和曰志;*控制器,配置為管理所述備盼巻,并且包括鏡^^莫塊,配置為將所述主記錄集鏡像到所述基本記錄集;日志才莫塊,配置為將對所述主記錄集的記錄更改累積到所述日志中,其中每一個記錄更改配置為一致性組,所述一致性組包括從一個公共時鐘源加蓋時間戳的數(shù)據(jù),該數(shù)據(jù)用于跟蹤寫入、寫入更新和 所述記錄更改的寫入完成;更改選擇才莫塊,配置為選擇記錄更改;和更改應(yīng)用模塊,配置為將所選擇的記錄更改應(yīng)用到所述基本記錄 集,以形成恢復(fù)后的記錄集。
22. 根據(jù)權(quán)利要求21的系統(tǒng),還包括多個主巻和多個存^i殳備, 其中所述主記錄集存儲在所述多個主巻中,并且所述日志模塊還配置為, 跨所述多個主巻以及跨所述多個存儲設(shè)備從所述主記錄集來累積記錄更改 的曰志。
23. 根據(jù)權(quán)利要求21的系統(tǒng),還包括控制數(shù)據(jù)集模塊,配置為跟 蹤所述記錄更改的狀態(tài)。
24. 根據(jù)權(quán)利要求21的系統(tǒng),還包括狀態(tài)數(shù)據(jù)集模塊,配置為將 所述主巻映射到所述##巻。
25. 根據(jù)權(quán)利要求21的系統(tǒng),還包括快速復(fù)制模塊,配置為將所 述記錄更改應(yīng)用到所述基本記錄集,以形成快速記錄集。
26. —種用于部署計算機(jī)J^出設(shè)施的方法,包括將計算機(jī)可讀代碼 集成到計算系統(tǒng)中,其中與所述計算系統(tǒng)結(jié)合的所述代碼能執(zhí)行以下步驟將跨多個主巻存儲的主記錄集鏡像到基本記錄集; 跨所述多個主巻以及跨多個存儲設(shè)備來累積對所述主記錄集的記錄更 改的日志,其中每一個記錄更改配置為一致性組,所述一致性組包括從一個公共時鐘源加蓋時間戳的數(shù)據(jù),該數(shù)據(jù)用于跟蹤寫入、寫入更新和所述記錄更改的寫入完成; 選擇記錄更改;和將所選擇的記錄更改應(yīng)用到所述基本記錄集,以形成恢復(fù)后的記錄集。
27. 根據(jù)權(quán)利要求26的方法,其中用戶能夠選擇和取消選擇所述記 錄更改。
28. 根據(jù)權(quán)利要求26的方法,還包括選擇在指定恢復(fù)時間之后的 記錄更改。
29. —種持續(xù)保護(hù)數(shù)據(jù)的裝置,該裝置包括 用于將主巻映射到務(wù)盼巻的裝置;用于將所述主巻的主記錄集鏡像到所述務(wù)除巻的基本記錄集的裝置;用于累積對所述主記錄集的記錄更改的日志的裝置,其中所述日志存 儲在所述備盼巻中,并且每一個記錄更改配置為一致性組,所述一致性組 包括從一個公共時鐘源加蓋時間戳的數(shù)據(jù),該數(shù)據(jù)用于跟蹤寫入、寫入 更新和所述記錄更改的寫入完成;用于跟蹤每一個記錄更改的狀態(tài)的裝置;用于選擇記錄更改的裝置;和將所選擇的記錄更改應(yīng)用到所述基本記錄集以形成恢復(fù)后的記錄集的裝置。
30. 根據(jù)權(quán)利要求29的裝置,還包括用于將多個主巻映射到所述備 份巻的裝置,其中跨所述多個主巻存儲所述主記錄集;和用于跨所述多個 主巻以及跨多個存儲設(shè)備累積對所述主記錄集的記錄更改的日志的裝置。
全文摘要
公開了一種持續(xù)保護(hù)數(shù)據(jù)的裝置、系統(tǒng)和方法。鏡像模塊將主記錄集鏡像到基本記錄集。日志模塊將對所述主記錄集的每一個記錄更改累積到日志中。更改選擇模塊從所述日志選擇記錄更改。更改應(yīng)用模塊將所選擇的記錄更改應(yīng)用到所述基本記錄集,以形成恢復(fù)后的記錄集。
文檔編號G06F11/14GK101326496SQ200680046103
公開日2008年12月17日 申請日期2006年11月21日 優(yōu)先權(quán)日2005年12月7日
發(fā)明者D·M·沙克爾福德, G·E·麥克布賴德, J·T·小弗林, K·W·博伊德, R·F·科恩, W·F·米奇卡 申請人:國際商業(yè)機(jī)器公司