專利名稱:數(shù)據(jù)恢復(fù)系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種對已經(jīng)丟失的數(shù)據(jù)進行恢復(fù)的系統(tǒng)和方法。更具體地, 本發(fā)明的實施例涉及在數(shù)據(jù)庫鏡像環(huán)境下進行數(shù)據(jù)恢復(fù)的系統(tǒng)和方法。
背景技術(shù):
在日常生活和商業(yè)環(huán)境中,計算機網(wǎng)絡(luò)無處不在。除了廣泛的互聯(lián)網(wǎng)應(yīng)用之外,局域網(wǎng)(LANs)允許用戶共享計算機服務(wù)。很多企業(yè)實體在其機 構(gòu)內(nèi)部使用LANs,并通過網(wǎng)絡(luò)為用戶提供數(shù)據(jù)的存取。對計算機和計算機網(wǎng)絡(luò)的依賴就產(chǎn)生了提高數(shù)據(jù)可用性和可靠性的需 求。很多商業(yè)實體將幾乎所有的商業(yè)數(shù)據(jù)存儲在計算機網(wǎng)絡(luò)中,并且網(wǎng)絡(luò)用 戶希望在任何允許時間內(nèi)都擁有不間斷的數(shù)據(jù)存取。而這種不間斷的數(shù)據(jù)存 取的需求則需要具有功能增強的軟件和硬件的支持。因為網(wǎng)絡(luò)中存儲數(shù)據(jù)的 數(shù)量、網(wǎng)絡(luò)中數(shù)據(jù)存取能力的需求都在不斷增長,所以保護數(shù)據(jù)不受如系統(tǒng) 故障、文件損壞和病毒入侵等意外事件的影響就變得越來越困難。一般而言,保護數(shù)據(jù)不受潛存的破壞性事件的影響,都由用以備份數(shù)據(jù) 的軟件以及用以存儲所備份數(shù)據(jù)的安全硬件共同完成。隨著需要保存的數(shù)據(jù) 量增加,數(shù)據(jù)備份操作就變得愈加復(fù)雜。例如,千兆字節(jié)的數(shù)據(jù)(gigabytes of data)就不能從原始位置快速傳輸?shù)絺浞菸恢?。此外,對于持續(xù)的數(shù)據(jù)存取 是絕對必要的環(huán)境而言,在進行備份時使得數(shù)據(jù)變成不可用就不是可行的選 擇。雖然對大批量數(shù)據(jù)進行備份時己經(jīng)成為問題,但這卻不是僅存的與典型 的數(shù)據(jù)備份系統(tǒng)相關(guān)的問題。網(wǎng)絡(luò)用戶和管理員可能還希望對不同類型的數(shù) 據(jù)進行備份。在文件備份之外,網(wǎng)絡(luò)用戶可能還想備份應(yīng)用(程序)和服務(wù), 而對應(yīng)用和服務(wù)的備份則頗有難度。例如,當啟動備份時,應(yīng)用和服務(wù)通常 都含有打開文件,而此類打開文件一般不能被有效地或可靠地備份,這些文 件在備份操作時經(jīng)常會被跳過。其結(jié)果就是,往往需要額外的備份應(yīng)用來協(xié)
同管理在啟動文件系統(tǒng)備份時被跳過的應(yīng)用和服務(wù)的備份操作。與數(shù)據(jù)備份有關(guān)的另外的問題涉及到當數(shù)據(jù)被傳輸?shù)絺浞菸恢脮r,備份 數(shù)據(jù)的跟蹤方式。特別地,當數(shù)據(jù)被備份時,備份副本被移到新的位置,此 時很有必要形成一個有關(guān)數(shù)據(jù)是怎樣被存儲的記錄,以利于對存儲數(shù)據(jù)進行 存取。 一般而言,備份系統(tǒng)包括記錄每個備份文件或應(yīng)用的精確位置的數(shù)據(jù) 庫。當用戶希望從備份系統(tǒng)中對文件進行定位或恢復(fù)時,數(shù)據(jù)庫在備份介質(zhì) 中文件的存儲位置對文件進行定位。當對備份數(shù)據(jù)的位置進行跟蹤時,典型的備份軟件系統(tǒng)僅僅將數(shù)據(jù)放到 備份位置并在索引中對其位置進行跟蹤。更具智能的數(shù)據(jù)庫軟件系統(tǒng)則具有 在備份數(shù)據(jù)時對數(shù)據(jù)進行分類的功能,這樣數(shù)據(jù)就可以被智能地存儲起來。 例如,較為復(fù)雜的數(shù)據(jù)庫軟件系統(tǒng)可以在同一介質(zhì)中存儲相似文件的備份, 用此方式分類和存儲數(shù)據(jù)將允許更有效的數(shù)據(jù)存儲和恢復(fù)。典型備份軟件系統(tǒng)的另一個缺點是,在網(wǎng)絡(luò)中它們不能進行數(shù)據(jù)的重新 定位,或者在網(wǎng)絡(luò)中不能有多于一個可用的數(shù)據(jù)副本。雖然備份軟件系統(tǒng)從 網(wǎng)絡(luò)中的所有用戶處收集數(shù)據(jù),但數(shù)據(jù)本身被認為是處在網(wǎng)絡(luò)中的某個單一 位置中,而不是與其他位置交叉參照。當對網(wǎng)絡(luò)中的數(shù)據(jù)進行備份時,上述 冗余和交叉參照都不能實現(xiàn)。備份數(shù)據(jù)的存取是數(shù)據(jù)庫備份系統(tǒng)的配置中需要考慮的重要因素。備份 數(shù)據(jù)的目的之一就是以一種方式保存數(shù)據(jù),以備當文件損壞或丟失時找回備 份副本和恢復(fù)文件之用。當一個文件損壞或丟失后,用戶向備份服務(wù)器請求 文件的備份副本,備份服務(wù)器隨后利用文件索引和介質(zhì)數(shù)據(jù)庫中存儲的位置 對此文件定位,恢復(fù)該文件,并令該文件變成對用戶可用。
為了更進一步明確本發(fā)明的實施例的上述和其他特點,將參照附圖中示 出的具體實施例對本發(fā)明進行更具體描述。應(yīng)該理解這些附圖僅僅是示出了 本發(fā)明的典型實施例,而不是用以限定其范圍。附圖的繪制沒有按比例進行。利用下面的附圖,結(jié)合附加的特點和細節(jié)對本發(fā)明進行描述和解釋,附 圖中
圖1示出在網(wǎng)絡(luò)中備份和恢復(fù)文件系統(tǒng)數(shù)據(jù)的系統(tǒng)示例; 圖2示出在數(shù)據(jù)庫鏡像環(huán)境中進行數(shù)據(jù)庫定位的系統(tǒng)示例; 圖3示出在數(shù)據(jù)庫鏡像環(huán)境中對任意數(shù)量的數(shù)據(jù)庫進行鏡像配置的系統(tǒng) 示例;圖4示出數(shù)據(jù)庫恢復(fù)系統(tǒng)示例;圖5是一個流程圖,用以描述通過從數(shù)據(jù)庫請求目標數(shù)據(jù)而恢復(fù)數(shù)據(jù)的 程序。
具體實施方式
I.數(shù)據(jù)庫操作系統(tǒng)示例圖1顯示一個適用于本發(fā)明實施例的操作環(huán)境。在圖1中舉例說明文件系統(tǒng)數(shù)據(jù)備份和恢復(fù)系統(tǒng)示例("DBRS") 100,其通常的功能是在存儲位置 復(fù)制在線文件系統(tǒng)數(shù)據(jù),以及保存有關(guān)該數(shù)據(jù)的位置和過時的跟蹤信息。如 果數(shù)據(jù)的在線副本丟失或損壞了, DBRS100可以再生該數(shù)據(jù)。當運行 DBRSIOO的網(wǎng)絡(luò)出現(xiàn)故障時,DBRS100可以再生所有的DBRS100文件系統(tǒng),將它們恢復(fù)到其當初被寫入存儲時各自的原始結(jié)構(gòu)。DBRS100的示例性實施例包括三個基本組件備份服務(wù)器102, 一個或 多個客戶機104、 105、 106、 107和108,以及數(shù)據(jù)的備份巻110。其中備份服 務(wù)器102和客戶機104、 105、 106、 107和108是配有運行DBRS100操作所需軟 件的實體。備份服務(wù)器102包括編配和管理DBRS100功能的程序和服務(wù),客 戶機104、 105、 106、 107、禾口108包括執(zhí)行DBRS100功能的程序和服務(wù)。備份服務(wù)器102為其客戶機組,例如客戶機104、 105、 106、 107和108管 理數(shù)據(jù)。例如,客戶機104、 105、 106、 107和108代表在網(wǎng)絡(luò)上傳輸文件以 進行備份的機器。備份服務(wù)器102可以結(jié)合不同的備份組112、 114和116來編 配客戶機/數(shù)據(jù)。備份組是指被作為一個組備份到一起的客戶機和/或數(shù)據(jù)組。 單個客戶機可以被包括到多個備份組中,如圖示的備份組112和備份組114之 中。DBRS100依靠數(shù)據(jù)跟蹤信息來管理自客戶機104、 105、 106、 107和108 中備份的數(shù)據(jù),該數(shù)據(jù)跟蹤信息在圖1中由備份服務(wù)器102的文件索引118和 介質(zhì)數(shù)據(jù)庫120表示。文件索引118和介質(zhì)數(shù)據(jù)庫120中的輸入項保存內(nèi)容和
位置信息,該內(nèi)容和位置信息用以描述已經(jīng)在DBRS100環(huán)境中備份的所有數(shù) 據(jù)(客戶機的機器和文件這兩者)。文件備份服務(wù)器102的文件索引118是對應(yīng)每個客戶機而編配的備份文 件的瀏覽目錄。網(wǎng)絡(luò)中每個客戶機的每個備份文件都在索引中被列出。文件 索引118的輸入項包括文件信息,例如文件類型、文件備份時間以及和該文 件有關(guān)的例如存放(hosting)初始文件的客戶機等其他信息。因為一個文件 可以被多次備份,而那些備份副本可以存儲在多個位置,文件索引118和介 質(zhì)數(shù)據(jù)庫120中針對客戶機文件的輸入可以包括有關(guān)每一次文件備份的備份 位置和備份時間的信息。文件索引118和介質(zhì)數(shù)據(jù)庫120中與某一特定文件有 關(guān)的多個備份位置和多個備份時間的信息可以使用戶識別出待檢索文件的 某一特定版本。有關(guān)一個文件的多次備份的輸入項信息可以在文件索引118 中保留由管理員決定的任意長的時間。當文件索引118對單個文件進行跟蹤時,介質(zhì)數(shù)據(jù)庫120對文件存儲的位 置進行跟蹤。換句話說,介質(zhì)數(shù)據(jù)庫120中包括有關(guān)介質(zhì)存儲位置的參考信 息。在運行中,每次當備份組112、 114或116被備份到DBRS100的存儲巻上 時,介質(zhì)數(shù)據(jù)庫120接收一個輸入項。正如文件索引118的輸入項一般,其輸 入項將會一直保留在介質(zhì)數(shù)據(jù)庫120中,直到管理員刪除該輸入項。如果其 對應(yīng)的數(shù)據(jù)己經(jīng)被重寫,介質(zhì)數(shù)據(jù)庫120中的輸入項也是可以刪除的。當獲得有關(guān)數(shù)據(jù)的位置信息時,數(shù)據(jù)可以以不同的方式存儲。例如,數(shù) 據(jù)可以存儲在例如磁帶驅(qū)動器,磁盤或可擦除磁盤等可以被服務(wù)器102存取 的設(shè)備的介質(zhì)巻上,如圖1所示,或者也可以以遠程服務(wù)器的方式進行存取。 在一個備份數(shù)據(jù)系統(tǒng)示例中,數(shù)據(jù)被存儲在如備份巻110以及備份設(shè)備126、 128、 130和132等設(shè)備巻實例上, 一個在設(shè)備和巻上存儲數(shù)據(jù)的實例是在磁 盤陣列中存儲數(shù)據(jù),其中數(shù)據(jù)被分組存儲到各磁盤上。設(shè)備和巻上存儲數(shù) 據(jù)的另一個實例是在磁帶驅(qū)動器中存儲數(shù)據(jù),其中數(shù)據(jù)被分組存儲到預(yù)定的 各磁帶巻上。在設(shè)備和巻上存儲數(shù)據(jù)的最后一個實例是在遠程服務(wù)器中存儲 數(shù)據(jù),其中數(shù)據(jù)被分組存儲到服務(wù)器的各硬盤中。雖然這些實例有助于了解 設(shè)備和巻的可能配置,但是DBRS100在設(shè)備和巻上存儲數(shù)據(jù)的能力并非局限 在給出的實例內(nèi)。最普遍的看法是,備份設(shè)備126、 128、 130和132給出的是 數(shù)據(jù)存儲方式的概念模型,而這些數(shù)據(jù)存儲方式并非局限于特定的系統(tǒng)或設(shè) 備°DBRS100中的備份設(shè)備126、 128、 130和132的效用因備份設(shè)備126、 128、 130和132可以存儲各種不同類型數(shù)據(jù)的能力而進一步增強。具體來說,備份 設(shè)備126、 128、 130和132可以包括任何文件類型的數(shù)據(jù)。例如,圖形文件、 程序執(zhí)行文件和文檔文件的備份副本可以在備份設(shè)備126、 128、 130和132中一起存儲。備份設(shè)備126、 128、 130和132的一個基本特性是,備份設(shè)備126、 128、 130和132可以加速DBRS100中備份文件的檢索。例如,當用戶請求對備份文 件進行恢復(fù)時,如果文件索引和文件的介質(zhì)數(shù)據(jù)庫輸入項包含高度具體的位 置信息,則DBRS100可以很快地檢索文件,上述位置信息包含有關(guān)備份設(shè)備 126、 128、 130和132的參考信息,以及所使用的具體介質(zhì)例如,磁帶,CD, DVD或用來存儲文件的其他介質(zhì)。關(guān)于備份設(shè)備126、 128、 130和132的許多特性,包括備份,DBRS100最 初的配置是獨立執(zhí)行各功能。不過,管理員有許多控制DBRS100功能的權(quán)限, 如管理員可以針對不同的客戶機和/或文件特性來隔離存儲文件,以及可以判 定在什么時候備份巻已經(jīng)被不再使用并且應(yīng)該被刪除。例如,自備份生成起, 經(jīng)過一個預(yù)定時段之后,管理員可以配置DBRS 100以把備份巻從介質(zhì)數(shù)據(jù)庫 120刪除。管理員還可以定義備份組112、 114、和116,其可以包括一個或多 個客戶機及其文件、目錄、或文件系統(tǒng)、或客戶機上所有文件。當對客戶機104、 105、 106、 107和108進行存取時,管理員可以在管理 員圖形用戶接口GUI(未顯示)內(nèi)工作。管理員GUI可以在任何DBRS 1 OO機器上 顯示,無論是什么用戶平臺,都允許管理員對任何客戶機104、 105、 106、 107或108進行連接和代理(broker)服務(wù)。管理員權(quán)限的另一個重要部分包 括可以具體規(guī)定應(yīng)用環(huán)境的能力。例如,管理員可以生成記錄,該記錄指定 例如DBRS100將要使用的備份設(shè)備和限定的客戶機的序號等的指令。管理員 也可以規(guī)定在備份和恢復(fù)環(huán)境下強制應(yīng)用的規(guī)則,包括備份進度表,以及數(shù) 據(jù)在被重復(fù)使用前將被保護多久。除了管理員權(quán)限之外,DBRS100還引入一個系統(tǒng)以恢復(fù)丟失數(shù)據(jù)。當用 戶數(shù)據(jù)丟失或損壞時,用戶或管理員可以瀏覽文件索引118中的可恢復(fù)文件, 然后生成狀態(tài)報告,以描述通過介質(zhì)數(shù)據(jù)庫120跟蹤的、備份設(shè)備126、 128、 130和132上的巻內(nèi)內(nèi)容中的丟失數(shù)據(jù)或位置。然后用戶可以及時將丟失數(shù)據(jù) 恢復(fù)到用戶指定點。當請求恢復(fù)丟失數(shù)據(jù)時,DBRS100定位所要尋找的數(shù)據(jù) 并指示文件的恢復(fù)。數(shù)據(jù)可以被恢復(fù)到原來保存該數(shù)據(jù)的客戶機104、 105、 106、 107或108上,或其他指定的客戶機上。此外,DBRS100可以在不同類型的環(huán)境中實施而且可以在多個不同平臺 上運行。例如,UNIX服務(wù)器上的備份軟件可以支持windows客戶機,反之亦 然。無論服務(wù)器平臺是什么,涉及一個客戶機的任何設(shè)備或巻內(nèi)的備份數(shù)據(jù) 均可以被讀出,并且該設(shè)備和巻的數(shù)據(jù)可以被任何DBRS100服務(wù)器及時再生 到用戶指定點。而無論客戶機104、 105、 106、 107或108的平臺是什么,來 自任何系統(tǒng)客戶機104、 105、 106、 107或108的備份數(shù)據(jù)可以在某單個備份 設(shè)備或單個介質(zhì)組上共存。n.動態(tài)備份系統(tǒng)和方法A.示例性鏡像系統(tǒng)的組件上述的DBRS100示例在網(wǎng)絡(luò)上智能地存儲和檢索文件。除了上面討論的 示例性系統(tǒng)功能之外,該示例性系統(tǒng)可以支持多種其他的應(yīng)用和特性。其中 一個應(yīng)用包括用以解釋數(shù)據(jù)庫鏡像的數(shù)據(jù)庫備份的特性。圖2顯示一個示例性數(shù)據(jù)庫鏡像系統(tǒng)200。該數(shù)據(jù)庫鏡像系統(tǒng)200包括數(shù) 據(jù)庫服務(wù)器202和數(shù)據(jù)庫服務(wù)器204。數(shù)據(jù)庫服務(wù)器202和數(shù)據(jù)庫服務(wù)器204中 的一個被指定為主服務(wù)器,而另一個被指定為副服務(wù)器。當數(shù)據(jù)庫服務(wù)器202 被指定為主服務(wù)器時,位于服務(wù)器202上的用戶數(shù)據(jù)庫206是實時數(shù)據(jù)庫(live database)。類似地,當數(shù)據(jù)庫服務(wù)器204指定為副服務(wù)器時,用戶數(shù)據(jù)庫208 是鏡像數(shù)據(jù)庫(mirror database)。除了用戶數(shù)據(jù)庫206和208之外,數(shù)據(jù)庫服務(wù)器202和數(shù)據(jù)庫服務(wù)器204分 別包括系統(tǒng)數(shù)據(jù)庫210和212,系統(tǒng)數(shù)據(jù)庫210和212包括用以將用戶數(shù)據(jù)庫 206和208設(shè)定為"實時"或"鏡像"數(shù)據(jù)庫的信息。當用戶數(shù)據(jù)庫206和208 配置成參與數(shù)據(jù)庫鏡像時,服務(wù)器應(yīng)用214和216分別更新在數(shù)據(jù)庫服務(wù)器 202和數(shù)據(jù)庫服務(wù)器204上安裝的系統(tǒng)數(shù)據(jù)庫210和212,以使其包含所有有關(guān) 用戶數(shù)據(jù)庫206和208作為"實時"或者"鏡像"中的一個的狀態(tài)信息。在此 初始設(shè)置之后,在系統(tǒng)數(shù)據(jù)庫210和212上的所有包括有關(guān)用戶數(shù)據(jù)庫206和 208作為"實時"或"鏡像"的狀態(tài)的信息被服務(wù)器應(yīng)用214和216保存。每一
個服務(wù)器應(yīng)用214和216監(jiān)測用戶數(shù)據(jù)庫206和用戶數(shù)據(jù)庫208的狀態(tài),并記錄 與服務(wù)器應(yīng)用有關(guān)的系統(tǒng)數(shù)據(jù)庫中每一個用戶數(shù)據(jù)庫206和用戶數(shù)據(jù)庫208 的狀態(tài)。例如,當用戶數(shù)據(jù)庫206的狀態(tài)從"實時"轉(zhuǎn)為"鏡像"時,用戶 數(shù)據(jù)庫206的狀態(tài)改變被服務(wù)器應(yīng)用214監(jiān)測到并被記錄在系統(tǒng)數(shù)據(jù)庫210 中。用戶數(shù)據(jù)庫208從"鏡像"轉(zhuǎn)換到"實時"的即時狀態(tài)變化也被服務(wù)器 應(yīng)用214檢測和在系統(tǒng)數(shù)據(jù)庫210中記錄。類似地,當用戶數(shù)據(jù)庫208從"鏡 像"轉(zhuǎn)換到"實時"時,用戶數(shù)據(jù)庫208的狀態(tài)改變同樣被服務(wù)器應(yīng)用216監(jiān) 測并記錄在系統(tǒng)數(shù)據(jù)庫212中。用戶數(shù)據(jù)庫206從"實時"轉(zhuǎn)換到"鏡像"的 即時狀態(tài)變化也被服務(wù)器應(yīng)用216監(jiān)測并記錄在系統(tǒng)數(shù)據(jù)庫212中。服務(wù)器應(yīng)用214和216監(jiān)測用戶數(shù)據(jù)庫206和208的狀態(tài)變化,服務(wù)器應(yīng)用 模塊218和220管理數(shù)據(jù)庫鏡像系統(tǒng)200中用戶數(shù)據(jù)庫206和208的狀態(tài)信息。 一個模塊,例如服務(wù)器應(yīng)用模塊218和220,是可以運行某個功能如用戶數(shù)據(jù) 庫的備份和/或恢復(fù)的編碼塊。例如,由一個模塊運行的功能可以是微軟SQL 服務(wù)器數(shù)據(jù)庫的備份和/或恢復(fù),此時用戶數(shù)據(jù)庫206和208是微軟SQL服務(wù)器 數(shù)據(jù)庫,并且服務(wù)器應(yīng)用214和216是微軟SQL服務(wù)器應(yīng)用。雖然本發(fā)明可以 和微軟SQL服務(wù)器一起使用,但本發(fā)明的范圍不能被局限于使用微軟SQL服 務(wù)器,而是可以擴充到能與此處揭示的系統(tǒng)、設(shè)備和程序兼容的任何其他服 務(wù)器。服務(wù)器應(yīng)用214和216的每一個均與一個特定的服務(wù)器應(yīng)用模塊相關(guān)。此 外,服務(wù)器應(yīng)用模塊218與服務(wù)器應(yīng)用214相關(guān),且服務(wù)器應(yīng)用模塊220與服 務(wù)器應(yīng)用216相關(guān)。在數(shù)據(jù)庫服務(wù)器202上,服務(wù)器應(yīng)用模塊218詢問系統(tǒng)數(shù) 據(jù)庫210的狀態(tài)信息,以判斷用戶數(shù)據(jù)庫206是實時用戶數(shù)據(jù)庫還是鏡像用戶 數(shù)據(jù)庫。同樣,在數(shù)據(jù)庫服務(wù)器204上,服務(wù)器應(yīng)用模塊220詢問系統(tǒng)數(shù)據(jù)庫 212的狀態(tài)信息,以判斷用戶數(shù)據(jù)庫208是實時用戶數(shù)據(jù)庫還是鏡像用戶數(shù)據(jù) 庫。在數(shù)據(jù)庫鏡像系統(tǒng)200內(nèi)備份實時用戶數(shù)據(jù)庫之前,服務(wù)器應(yīng)用模塊218 和220中的一個首先識別當前的實時用戶數(shù)據(jù)庫。在備份操作期間,服務(wù)器應(yīng)用模塊218和220不僅用以判定實時用戶數(shù)據(jù) 庫,服務(wù)器應(yīng)用模塊218和220還相互傳輸信息以協(xié)調(diào)并管理在備份和恢復(fù)操 作期間的鏡像關(guān)聯(lián)。當服務(wù)器應(yīng)用模塊218或220被與圖1所示的備份服務(wù)器 102對應(yīng)的備份服務(wù)器221調(diào)用時,服務(wù)器應(yīng)用模塊218和220可以檢測用戶數(shù)
據(jù)庫206的和208的設(shè)置的改變。進而,服務(wù)器應(yīng)用模塊218和220彼此傳輸關(guān) 于用戶數(shù)據(jù)庫206和208的指定改變的信息。在服務(wù)器應(yīng)用模塊218和220彼此 傳輸信息之后,服務(wù)器應(yīng)用模塊218再將用戶數(shù)據(jù)庫206和208的指定改變傳 輸?shù)絺浞莘?wù)器221 。備份服務(wù)器221就能夠在備份數(shù)據(jù)庫服務(wù)器的相關(guān)保存 集(saveset)內(nèi)將有關(guān)用戶數(shù)據(jù)庫206和208的指定信息更新,并詢問與實時 數(shù)據(jù)庫對應(yīng)的服務(wù)器應(yīng)用模塊218或220,以實現(xiàn)備份操作。假設(shè)發(fā)生了故障恢復(fù)(failover),該故障恢復(fù)導致用戶數(shù)據(jù)庫206的狀 態(tài)從"實時"改變?yōu)?鏡像",舉例說明為了完成備份和恢復(fù)操作,服務(wù)器 應(yīng)用模塊218和220彼此之間是如何傳輸信息,以及隨后與備份服務(wù)器221是 如何傳輸信息的。當服務(wù)器應(yīng)用模塊218在故障恢復(fù)發(fā)生后被調(diào)用時,服務(wù) 器應(yīng)用模塊218與服務(wù)器應(yīng)用模塊220傳輸針對用戶數(shù)據(jù)庫206的狀態(tài)信息, 服務(wù)器應(yīng)用模塊218從服務(wù)器應(yīng)用模塊220獲知該用戶數(shù)據(jù)庫208是當前的實 時數(shù)據(jù)庫,同時服務(wù)器應(yīng)用模塊218也告知服務(wù)器應(yīng)用模塊220此時用戶數(shù)據(jù) 庫206是鏡像數(shù)據(jù)庫。在與服務(wù)器應(yīng)用模塊220傳輸信息之后,服務(wù)器應(yīng)用模 塊218與備份服務(wù)器221傳輸信息,將用戶數(shù)據(jù)庫206和用戶數(shù)據(jù)庫208的狀態(tài) 改變告知備份服務(wù)器221 。然后備份服務(wù)器221在備份于數(shù)據(jù)庫鏡像系統(tǒng)200 中的數(shù)據(jù)庫服務(wù)器的保存集信息中記錄被修改的狀態(tài)信息。這一程序被稱為 探測,用于定位實時數(shù)據(jù)庫。在數(shù)據(jù)庫鏡像系統(tǒng)200內(nèi)開始備份操作之前,必須首先確定實時數(shù)據(jù)庫 的位置。當啟動備份操作之后,可以連接位于數(shù)據(jù)庫服務(wù)器202上的服務(wù)器 應(yīng)用214和位于數(shù)據(jù)庫服務(wù)器204上的服務(wù)器應(yīng)用216中的任何一個以定位實 時用戶數(shù)據(jù)庫。備份操作可以由用戶或備份服務(wù)器221啟動。備份服務(wù)器221 與服務(wù)器應(yīng)用模塊218或220連接,而后者可以與服務(wù)器應(yīng)用214或216連接, 以判定用戶數(shù)據(jù)庫206和208的狀態(tài)。與實時用戶數(shù)據(jù)庫206或208對應(yīng)的服務(wù) 器應(yīng)用模塊218或220運行備份操作。用戶數(shù)據(jù)庫206和208的狀態(tài)通過從系統(tǒng) 數(shù)據(jù)庫210和212中讀入的信息而確定。例如,如果備份服務(wù)器221與服務(wù)器 應(yīng)用模塊218連接,服務(wù)器應(yīng)用模塊218通過連接服務(wù)器應(yīng)用214而執(zhí)行讀入 系統(tǒng)數(shù)據(jù)庫210的表格輸入項的功能。類似地,如果備份服務(wù)器221與服務(wù)器 應(yīng)用模塊220連接,服務(wù)器應(yīng)用模塊220通過連接服務(wù)器應(yīng)用216而執(zhí)行讀入 系統(tǒng)數(shù)據(jù)庫212的表格輸入項的功能。系統(tǒng)數(shù)據(jù)庫210和212的表格輸入項包
含有關(guān)用戶數(shù)據(jù)庫206和208的狀態(tài)信息。每個系統(tǒng)數(shù)據(jù)庫210和212包含數(shù)據(jù) 庫鏡像系統(tǒng)200中的每個用戶數(shù)據(jù)庫206和208的狀態(tài)信息。例如,系統(tǒng)數(shù)據(jù) 庫210可以包含有關(guān)用戶數(shù)據(jù)庫206作為"實時"用戶數(shù)據(jù)庫,以及用戶數(shù)據(jù) 庫208作為"鏡像"用戶數(shù)據(jù)庫的狀態(tài)信息。在系統(tǒng)數(shù)據(jù)庫210和212包含的 有關(guān)每一個用戶數(shù)據(jù)庫206和208的信息允許備份服務(wù)器通過連接位于數(shù)據(jù) 庫服務(wù)器202和204上的服務(wù)器應(yīng)用模塊218和220中的僅其中之一而獲得有 關(guān)實時數(shù)據(jù)庫的位置信息。假設(shè)用戶數(shù)據(jù)庫206是當前的實時用戶數(shù)據(jù)庫,而用戶數(shù)據(jù)庫208是當 前的鏡像數(shù)據(jù)庫,舉例說明在備份操作期間數(shù)據(jù)庫鏡像系統(tǒng)200內(nèi)運行的功 能。當啟動備份操作之后,備份服務(wù)器221與位于數(shù)據(jù)庫服務(wù)器204上的服 務(wù)器應(yīng)用模塊220連接,然后服務(wù)器應(yīng)用模塊220通過與服務(wù)器應(yīng)用216連 接而讀入系統(tǒng)數(shù)據(jù)庫212的表格輸入項。系統(tǒng)數(shù)據(jù)庫212的表格輸入項指示 用戶數(shù)據(jù)庫208是鏡像數(shù)據(jù)庫,而用戶數(shù)據(jù)庫206是實時數(shù)據(jù)庫。服務(wù)器應(yīng) 用模塊220會將此信息返回給備份服務(wù)器102。然后,因為用戶數(shù)據(jù)庫206 是當前的實時數(shù)據(jù)庫,備份服務(wù)器102對該用戶數(shù)據(jù)庫206進行備份。請參考圖l,在備份實時用戶數(shù)據(jù)庫之后,存有實時用戶數(shù)據(jù)庫的數(shù)據(jù) 庫服務(wù)器的名稱被記錄到位于備份服務(wù)器102上的文件索引118中。在文件索 引118中對實時用戶數(shù)據(jù)庫制作的輸入項是實時輸入項(live entry)。而存有 鏡像數(shù)據(jù)庫的數(shù)據(jù)庫服務(wù)器的名稱也被記錄在文件索引118中。在文件索引 118中對鏡像用戶數(shù)據(jù)庫制作的輸入項被稱為別名輸入項(alias entry)。通 過記錄在進行預(yù)定備份時每個用戶數(shù)據(jù)庫的狀態(tài),文件索引118中的輸入項 使得能夠重組備份鏈,并在需要恢復(fù)實時用戶數(shù)據(jù)庫的情形中,提供一個可 以很容易地識別實時用戶數(shù)據(jù)庫的方法。請回到附圖2,從上面可以注意到,為了讓備份服務(wù)器102(圖1)可以對實 時用戶數(shù)據(jù)庫進行備份,在數(shù)據(jù)庫鏡像系統(tǒng)200內(nèi)對用戶數(shù)據(jù)庫206和208的 狀態(tài)進行跟蹤。當數(shù)據(jù)庫服務(wù)器202和204分別包括用以跟蹤用戶數(shù)據(jù)庫206 和208的狀態(tài)的系統(tǒng)數(shù)據(jù)庫210和212時,也可以在數(shù)據(jù)庫鏡像系統(tǒng)200內(nèi)引入 見證數(shù)據(jù)庫服務(wù)器(witness) 222以跟蹤用戶數(shù)據(jù)庫206和208的狀態(tài)。例如, 當用戶數(shù)據(jù)庫206的狀態(tài)從"實時"數(shù)據(jù)庫轉(zhuǎn)換到"鏡像"數(shù)據(jù)庫時,見證數(shù) 據(jù)庫服務(wù)器222通過將用戶數(shù)據(jù)庫206的當前狀態(tài)記錄到系統(tǒng)數(shù)據(jù)庫224中而
跟蹤該變化。類似地,當用戶數(shù)據(jù)庫208的狀態(tài)從"鏡像"數(shù)據(jù)庫轉(zhuǎn)換為"實時"數(shù)據(jù)庫時,見證數(shù)據(jù)庫服務(wù)器222在系統(tǒng)數(shù)據(jù)庫224內(nèi)對用戶數(shù)據(jù)庫208 的狀態(tài)變化進行跟蹤。這樣,系統(tǒng)數(shù)據(jù)庫224分別運行與位于數(shù)據(jù)庫服務(wù)器 202和204上的系統(tǒng)數(shù)據(jù)庫210和212類似的功能。見證數(shù)據(jù)庫服務(wù)器222和數(shù)據(jù)庫服務(wù)器202之間的另一個相似點在于,與 數(shù)據(jù)庫服務(wù)器202和204相似,見證數(shù)據(jù)庫服務(wù)器222包括有服務(wù)器應(yīng)用226和 服務(wù)器應(yīng)用模塊228。服務(wù)器應(yīng)用226運行類似在服務(wù)器應(yīng)用214和216上運行 的功能。即,服務(wù)器應(yīng)用226被存有用戶數(shù)據(jù)庫206和208的狀態(tài)的服務(wù)器應(yīng) 用214和216更新,并且在系統(tǒng)數(shù)據(jù)庫224中保存此信息的記錄。服務(wù)器應(yīng)用 模塊22S,與服務(wù)器應(yīng)用模塊218和220類似,也通過與服務(wù)器應(yīng)用模塊218和 220傳輸信息而獲得用戶數(shù)據(jù)庫206和208的狀態(tài)信息,并且服務(wù)器應(yīng)用模塊 228也通過與服務(wù)器應(yīng)用226連接而檢索來自系統(tǒng)數(shù)據(jù)庫224的此信息。除了跟蹤用戶數(shù)據(jù)庫206和208的狀態(tài)之外,見證數(shù)據(jù)庫服務(wù)器222還可 以運行其他功能。例如,見證數(shù)據(jù)庫服務(wù)器222可以參與到數(shù)據(jù)庫鏡像系統(tǒng) 200的角色指定中。具體來說,見證數(shù)據(jù)庫服務(wù)器222可以參與將實時數(shù)據(jù)庫 的角色指定給用戶數(shù)據(jù)庫206,將鏡像數(shù)據(jù)庫角色指定給用戶數(shù)據(jù)庫208。角 色的指定以實時數(shù)據(jù)庫服務(wù)器202、鏡像數(shù)據(jù)庫服務(wù)器204和見證數(shù)據(jù)庫服務(wù) 器222中的多數(shù)一致的信息為根據(jù)。更具體地,見證數(shù)據(jù)庫服務(wù)器222可以判 別用戶數(shù)據(jù)庫206和用戶數(shù)據(jù)庫208在不同角色間的變化。見證數(shù)據(jù)庫服務(wù)器 222可以在數(shù)據(jù)庫鏡像系統(tǒng)200內(nèi)驅(qū)動自動故障恢復(fù)以及伴隨的用戶數(shù)據(jù)庫 206和208的狀態(tài)改變。例如,如果當故障恢復(fù)發(fā)生而用戶數(shù)據(jù)庫206是實時 數(shù)據(jù)庫時,見證數(shù)據(jù)庫服務(wù)器222立刻將實時數(shù)據(jù)庫的角色指定給用戶數(shù)據(jù) 庫208并且將用戶數(shù)據(jù)庫206的角色改變?yōu)殓R像數(shù)據(jù)庫。通過判別用戶數(shù)據(jù)庫 206和208角色的改變,見證數(shù)據(jù)庫服務(wù)器222確保在發(fā)生故障恢復(fù)時沒有數(shù) 據(jù)丟失。如果在數(shù)據(jù)庫鏡像系統(tǒng)200中沒有見證數(shù)據(jù)庫服務(wù)器222, 一個用戶 可以選擇驅(qū)動故障恢復(fù)并將用戶數(shù)據(jù)庫206的角色指定為實時數(shù)據(jù)庫,將用 戶數(shù)據(jù)庫208的角色指定為鏡像數(shù)據(jù)庫。如圖2所示,雖然數(shù)據(jù)庫鏡像系統(tǒng)可以僅僅包括主服務(wù)器202、副服務(wù)器 204和見證數(shù)據(jù)庫服務(wù)器222,但鏡像數(shù)據(jù)庫也可以有很多其他結(jié)構(gòu)。如圖3 所示,既沒有針對可以被鏡像的不同數(shù)據(jù)庫的數(shù)量的限制,也沒有針對存放
鏡像數(shù)據(jù)庫的數(shù)據(jù)庫服務(wù)器之間的關(guān)聯(lián)的限制。例如,第一數(shù)據(jù)庫服務(wù)器302可以存放實時數(shù)據(jù)庫"A" 304,也可以存放鏡像數(shù)據(jù)庫n'306。第二數(shù)據(jù)庫 服務(wù)器308可以存放實時數(shù)據(jù)庫"B"310,也可以存放鏡像數(shù)據(jù)庫A'312。在 這個實例中,保存在第二數(shù)據(jù)庫服務(wù)器308上的鏡像數(shù)據(jù)庫A' 312與保存在第 一數(shù)據(jù)庫服務(wù)器302上的實時數(shù)據(jù)庫A304聯(lián)系在一起。但是,與實時數(shù)據(jù)庫 B310聯(lián)系在一起的鏡像數(shù)據(jù)庫B' 314,不是保存在第一數(shù)據(jù)庫服務(wù)器302上, 而是改為保存在第三數(shù)據(jù)庫服務(wù)器316上。除了存放鏡像數(shù)據(jù)庫B' 314之外, 第三數(shù)據(jù)庫服務(wù)器316還存放實時數(shù)據(jù)庫C318。最后,第n數(shù)據(jù)庫服務(wù)器320 存放實時數(shù)據(jù)庫n 322和鏡像數(shù)據(jù)庫(n-l)' 324。圖3舉例說明在多個數(shù)據(jù)庫服 務(wù)器上的實時和鏡像數(shù)據(jù)庫的一個示例性實施例的結(jié)構(gòu)。此外,任何數(shù)據(jù)庫 服務(wù)器302、 308、 316或320都可以作為任何數(shù)據(jù)庫的見證服務(wù)器。然而,在 任意數(shù)量的數(shù)據(jù)庫服務(wù)器上可以有任意數(shù)目的實時數(shù)據(jù)庫和鏡像數(shù)據(jù)庫的 不同結(jié)構(gòu),并且可以被本發(fā)明的實施例實現(xiàn)。本發(fā)明的范圍并不限于與在預(yù) 定服務(wù)器上保存的實時數(shù)據(jù)庫和鏡像數(shù)據(jù)庫的任何特定組合相聯(lián)系而應(yīng)用。在此揭示的備份數(shù)據(jù)的方法的實例在美國專利申請?zhí)?1/080, 229、名稱 為"Systems and Methods for Dynamic Data Backup" (Workman Nydegger案號 16192丄1沖公開,該專利申請在本專利申請的同一日申請,并通過參考援引 于此。B.鏡像功能請再參閱圖2,模塊218、 220和228以及用戶數(shù)據(jù)庫206和208是數(shù)據(jù)庫鏡 像系統(tǒng)200的模塊的示例。模塊218、 220和228以及用戶數(shù)據(jù)庫206和208配置 成以如下方式協(xié)作允許數(shù)據(jù)從數(shù)據(jù)庫鏡像系統(tǒng)200的數(shù)據(jù)庫206和208進行 備份。如前所述,在一個數(shù)據(jù)庫鏡像系統(tǒng)200的示例中至少包括二個數(shù)據(jù)庫服 務(wù)器202和204,以及用戶數(shù)據(jù)庫206和用戶數(shù)據(jù)庫208。在包括兩個或更多數(shù) 據(jù)庫服務(wù)器202和204的網(wǎng)絡(luò)中,用戶數(shù)據(jù)庫206和用戶數(shù)據(jù)庫208中的任何一個均可以被指定為實時用戶數(shù)據(jù)庫或鏡像用戶數(shù)據(jù)庫中的任意一個。雖然用 戶數(shù)據(jù)庫206最初被指定為實時用戶數(shù)據(jù)庫,而用戶數(shù)據(jù)庫208最初被指定為鏡像用戶數(shù)據(jù)庫,但對預(yù)定數(shù)據(jù)庫的指定可以隨時改變。因此,"實時"和 "鏡像"的角色可以被動態(tài)地重新指定。例如,保存在數(shù)據(jù)庫服務(wù)器202上的
用戶數(shù)據(jù)庫206可能最初是被指定為實時用戶數(shù)據(jù)庫。隨著保存在數(shù)據(jù)庫服務(wù)器202上的用戶數(shù)據(jù)庫206被指定為實時用戶數(shù)據(jù)庫,保存在數(shù)據(jù)庫服務(wù)器 204上的用戶數(shù)據(jù)庫208就被指定為鏡像用戶數(shù)據(jù)庫。隨后,各用戶數(shù)據(jù)庫206 和208的角色可以被改變,對用戶數(shù)據(jù)庫206的指定將從"實時"變成"鏡像", 同時對用戶數(shù)據(jù)庫208的指定將從"鏡像"變成"實時"。在網(wǎng)絡(luò)中,各用戶數(shù) 據(jù)庫206和208的角色可以根據(jù)任意個數(shù)的理由而改變,這些理由例如是保存 被指定為實時用戶數(shù)據(jù)庫的用戶數(shù)據(jù)庫206的數(shù)據(jù)庫服務(wù)器202發(fā)生故障,不 同的用戶數(shù)據(jù)庫角色的預(yù)定改變,或通過一個附加的數(shù)據(jù)庫服務(wù)器(例如見 證數(shù)據(jù)庫服務(wù)器222)或其他的系統(tǒng)設(shè)備進行的判別結(jié)果。被包括在數(shù)據(jù)庫鏡像系統(tǒng)200中的用戶數(shù)據(jù)庫可以被指定為實時用戶數(shù) 據(jù)庫或鏡像用戶數(shù)據(jù)庫,而保存有用戶數(shù)據(jù)庫的客戶機也可以被指定為"實 時"客戶機或"鏡像"客戶機。當保存其上的用戶數(shù)據(jù)庫被指定為實時用戶數(shù) 據(jù)庫時,客戶機被稱為實時客戶機;而當保存其上的用戶數(shù)據(jù)庫被指定為鏡 像用戶數(shù)據(jù)庫時,客戶機被稱為鏡像客戶機。在鏡像數(shù)據(jù)庫的系統(tǒng)200內(nèi),不僅用戶數(shù)據(jù)庫206和208的角色隨著時間 而動態(tài)地改變,并且這些角色并不是隨意而定的,而是與不同的用戶數(shù)據(jù)庫 206和208所運行的預(yù)定功能有關(guān)。具體來說,數(shù)據(jù)庫鏡像系統(tǒng)200之所以指 定用戶數(shù)據(jù)庫206為"實時",是因為在系統(tǒng)中,該用戶數(shù)據(jù)庫206是主動工 作的數(shù)據(jù)庫。在進行備份操作時,被指定為實時用戶數(shù)據(jù)庫的用戶數(shù)據(jù)庫206 是數(shù)據(jù)庫鏡像系統(tǒng)200中被備份的數(shù)據(jù)庫。同時,用戶數(shù)據(jù)庫208,當被指定 為鏡像用戶數(shù)據(jù)庫時,是被動的,只要被指定為鏡像用戶數(shù)據(jù)庫,該用戶數(shù) 據(jù)庫208就不直接介入備份操作。雖然被指定為鏡像用戶數(shù)據(jù)庫的用戶數(shù)據(jù)庫208不直接介入備份操作, 但是數(shù)據(jù)庫鏡像系統(tǒng)200可能需要被指定為鏡像用戶數(shù)據(jù)庫的用戶數(shù)據(jù)庫 208隨時轉(zhuǎn)換角色,以擔當實時用戶數(shù)據(jù)庫的角色。為此,每次當被指定為 鏡像數(shù)據(jù)庫的用戶數(shù)據(jù)庫206的表格被修正時,被指定為鏡像用戶數(shù)據(jù)庫的 用戶數(shù)據(jù)庫208都要接收和存儲與數(shù)據(jù)庫更新有關(guān)的信息。g卩,只要用戶數(shù) 據(jù)庫208被指定為鏡像用戶數(shù)據(jù)庫,用戶數(shù)據(jù)庫208就要"鏡像"被指定為實 時用戶數(shù)據(jù)庫的用戶數(shù)據(jù)庫206中的輸入項,以保存被指定為實時用戶數(shù)據(jù) 庫的用戶數(shù)據(jù)庫206所有數(shù)據(jù)的最新記錄。這樣,在數(shù)據(jù)庫鏡像系統(tǒng)200需要
用戶數(shù)據(jù)庫208的角色從鏡像轉(zhuǎn)換為實時用戶數(shù)據(jù)庫的情形下,沒有用戶數(shù) 據(jù)庫信息被丟失或變得無法存取。因為當用戶數(shù)據(jù)庫206的功能為實時用戶 數(shù)據(jù)庫時,所有出現(xiàn)在用戶數(shù)據(jù)庫206中的信息也會在用戶數(shù)據(jù)庫208中出 現(xiàn),此時用戶數(shù)據(jù)庫208的功能就是鏡像用戶數(shù)據(jù)庫。作為執(zhí)行諸如在此公開的數(shù)據(jù)庫鏡像處理的標準示例,在本申請中通過 參考援弓I標準型微軟SQL服務(wù)器2005(編號名稱Yukon)。在一個實施例示例 中,本發(fā)明可以結(jié)合微軟SQL服務(wù)器2005(Yukon)數(shù)據(jù)庫實施。然而,本發(fā)明 也可以適用或期望用于其他應(yīng)用,本發(fā)明的范圍并限于結(jié)合微軟SQL服務(wù)器 2005(Yukon)的應(yīng)用。C.鏡像環(huán)境下的數(shù)據(jù)庫恢復(fù)操作數(shù)據(jù)庫系統(tǒng)的鏡像功能為需要恢復(fù)丟失數(shù)據(jù)庫的客戶機提供了附加的 管理和邏輯(logistical)選擇。如圖1所示,DBRS100是一個可以運行備份和 恢復(fù)操作的數(shù)據(jù)庫系統(tǒng)的實例,當然本發(fā)明的范圍并不受DBRS100或任何特 定數(shù)據(jù)庫系統(tǒng)的局限。數(shù)據(jù)庫系統(tǒng)的鏡像特性能夠生成這樣一個環(huán)境,在其 中總有可用的數(shù)據(jù)庫,所以對客戶機而言總有可以存取的數(shù)據(jù)庫。客戶機, 也稱為數(shù)據(jù)庫服務(wù)器,是鏡像數(shù)據(jù)庫系統(tǒng)內(nèi)的計算機,用戶或管理員通過所 述計算機進行數(shù)據(jù)庫的存取、備份和恢復(fù)。在一個包含了客戶機的數(shù)據(jù)庫鏡 像系統(tǒng)中,客戶機無需具有在實時數(shù)據(jù)庫和鏡像數(shù)據(jù)庫之間轉(zhuǎn)換角色的知 識。當用戶想啟動恢復(fù)操作時,假定鏡像關(guān)聯(lián)存在,則鏡像系統(tǒng)數(shù)據(jù)庫中客 戶機之間的鏡像關(guān)聯(lián)被終止,數(shù)據(jù)庫信息在恢復(fù)服務(wù)器中被檢索,數(shù)據(jù)庫被 再生于在數(shù)據(jù)庫鏡像系統(tǒng)中的客戶機上。然后鏡像關(guān)聯(lián)被重建,恢復(fù)程序完 成。現(xiàn)在請參閱圖4,其中提供了數(shù)據(jù)庫恢復(fù)系統(tǒng)400的細節(jié),利用該數(shù)據(jù)庫 恢復(fù)系統(tǒng)400可以運行示例性的數(shù)據(jù)庫恢復(fù)操作。當數(shù)據(jù)庫恢復(fù)系統(tǒng)400中的 客戶機402希望再生用戶數(shù)據(jù)庫時,客戶機402與恢復(fù)服務(wù)器404傳輸信息。 除了作為恢復(fù)服務(wù)器之外,恢復(fù)服務(wù)器404在數(shù)據(jù)庫鏡像系統(tǒng)100內(nèi)的備份操 作期間還可以作為備份服務(wù)器102(如圖1所示)??蛻魴C406,以及可選擇的見 證客戶機408,也被設(shè)置在數(shù)據(jù)庫恢復(fù)系統(tǒng)400中,而且能與恢復(fù)服務(wù)器404 傳輸信息以再生用戶數(shù)據(jù)庫。除此之外,數(shù)據(jù)庫恢復(fù)系統(tǒng)400內(nèi)的客戶機402 和406是鏡像伙伴。如客戶機402和406的鏡像伙伴之間的關(guān)聯(lián)的稱為動態(tài)鏡
像關(guān)聯(lián),其被定義為一種關(guān)聯(lián),其中位于例如客戶機402和406等客戶機上的 用戶數(shù)據(jù)庫的實時和鏡像角色指定能夠隨著時間而動態(tài)地改變。雖然客戶機402和406、以及見證客戶機408中的每一個都可以設(shè)置于數(shù) 據(jù)庫恢復(fù)系統(tǒng)400中,但在單個恢復(fù)操作期間,恢復(fù)服務(wù)器404僅僅處理來自 客戶機402、客戶機406或見證客戶機408的一個恢復(fù)請求。不過,從客戶機 402、 406或見證客戶機408向存儲服務(wù)器404發(fā)出的請求可以涉及多個數(shù)據(jù)庫 的再生。多個數(shù)據(jù)庫可以在客戶機402上同時再生。具體而言,正如圖3所示 以及與如圖3對應(yīng)的說明所描述的,客戶機402可能是多個鏡像關(guān)聯(lián)中的鏡像 伙伴。由此,在恢復(fù)操作期間,其鏡像關(guān)聯(lián)涉及客戶機402的任何一個數(shù)據(jù) 庫都可以在上再生。如果有客戶機402同時涉及多個鏡像關(guān)聯(lián)中,則多個數(shù) 據(jù)庫就可以在進行單一恢復(fù)操作時在客戶機402上再生。數(shù)據(jù)庫恢復(fù)系統(tǒng)400的恢復(fù)操作被存取客戶機402、 406或408的用戶或管 理員啟動。由用戶或管理員進行存取的客戶機被稱為"當前客戶機"。在下 面的討論中,當前客戶機是客戶機402。但很顯然,當前客戶機既可以是客 戶機406也可以是408。因為下面的討論中客戶機402是當前用戶,就由位于 客戶機402上的模塊410啟動模塊功能,當然,如果客戶機406或408是當前客 戶機,位于客戶機406和408之上的模塊424或426中的任何一個都分別可以啟 動數(shù)據(jù)庫恢復(fù)系統(tǒng)400的模塊功能。當恢復(fù)操作被啟動后,假定鏡像關(guān)聯(lián)存在,則分別位于客戶機402、 406 和408上的模塊410、 424和426必須終止數(shù)據(jù)庫恢復(fù)系統(tǒng)400中的客戶機402、 406和408之間的鏡像關(guān)聯(lián)。首先,位于當前客戶機402上的模塊410控制同樣 位于當前客戶機402上的服務(wù)器應(yīng)用420,以終止其鏡像關(guān)聯(lián)。然后服務(wù)器應(yīng) 用420重寫系統(tǒng)數(shù)據(jù)庫422內(nèi)的鏡像關(guān)聯(lián)信息。模塊410也發(fā)指令給模塊424和 426來分別控制服務(wù)器應(yīng)用428和430,以終止在客戶機402、 406和408之間的 鏡像關(guān)聯(lián)。隨后,模塊424和426分別控制服務(wù)器應(yīng)用428和430,以終止其鏡 像關(guān)聯(lián)。服務(wù)器應(yīng)用428重寫系統(tǒng)數(shù)據(jù)庫432中包含的鏡像關(guān)聯(lián)信息,服務(wù)器 應(yīng)用430重寫系統(tǒng)數(shù)據(jù)庫434中包含的鏡像關(guān)聯(lián)信息。 一旦系統(tǒng)數(shù)據(jù)庫422、 432和434的鏡像關(guān)聯(lián)信息被重寫,客戶機402、 406和408之間的鏡像關(guān)聯(lián)就 被終止。當啟動恢復(fù)操作后,存取當前客戶機的用戶或管理員必須選擇用戶或管 理員希望再生的數(shù)據(jù)庫的備份版本。每次當用戶數(shù)據(jù)庫被備份后,數(shù)據(jù)庫的不同版本可以通過恢復(fù)服務(wù)器404完成備份。因此,恢復(fù)服務(wù)器404可以存取 數(shù)據(jù)庫的任何數(shù)目的不同版本的備份副本。例如,用戶數(shù)據(jù)庫的備份可能在 第1天發(fā)生于時間A、 B、和C,在第2天發(fā)生于時間D、 E和F,在第3天發(fā)生 于時間H和G。這些天數(shù)和時間的每一個均代表一個特定的用戶數(shù)據(jù)庫的備 份版本。希望再生用戶數(shù)據(jù)庫的用戶或管理員必須選擇再生這些版本中的那 一個。例如,用戶或管理員可以決定,其希望再生的用戶數(shù)據(jù)庫版本是在第 3天的G時間備份的版本。當啟動恢復(fù)操作后,當前客戶機將會從恢復(fù)服務(wù)器 404中請求第3天G時間備份的用戶數(shù)據(jù)庫。用戶或管理員選擇再生的用戶數(shù) 據(jù)庫的特定備份版本也被稱為"目標數(shù)據(jù)"。有關(guān)目標數(shù)據(jù)的信息,以及所有通過恢復(fù)服務(wù)器404完成備份的用戶數(shù) 據(jù)庫的版本,被包含在位于恢復(fù)服務(wù)器404上的文件索引412和介質(zhì)數(shù)據(jù)庫 414中。存取當前客戶機的用戶或管理員并不需要獨立地知道用戶或管理員 希望再生的目標數(shù)據(jù)。通過位于客戶機402上的模塊410,用戶或管理員存取 位于恢復(fù)服務(wù)器404上的文件索引412和介質(zhì)數(shù)據(jù)庫414,并可以檢査文件索 弓I412和介質(zhì)數(shù)據(jù)庫414所包含的信息。通過檢査包含在文件索引412和介質(zhì) 數(shù)據(jù)庫414中的有關(guān)用戶數(shù)據(jù)庫備份版本的信息,用戶或管理員可以識別出 目標數(shù)據(jù)。文件索引412和介質(zhì)數(shù)據(jù)庫414中的信息包括所有用戶數(shù)據(jù)庫的備 份版本的識別特性,例如,備份運行日期,備份運行時間,以及用戶數(shù)據(jù)庫 特定備份版本的存儲位置。在文件索引412中包含的每個用戶數(shù)據(jù)庫的備份版本的信息還包括在 運行用戶數(shù)據(jù)庫的備份操作時存放用戶數(shù)據(jù)庫的客戶機的狀態(tài)。例如,如果 在對目標數(shù)據(jù)進行備份時,客戶機402是實時客戶機,文件索引412將包含一 個客戶機402的實時輸入項。同理,如果在對目標數(shù)據(jù)進行備份時,客戶機 402是鏡像用戶,文件索引412將包含一個客戶機402的別名輸入項。因為對 客戶機402是實時客戶機還是鏡像客戶機的指定將決定位于客戶機402上的 用戶數(shù)據(jù)庫416是被指定為實時用戶數(shù)據(jù)庫還是鏡像用戶數(shù)據(jù)庫,所以文件 索引412中的實時輸入項和別名輸入項可以表示在備份操作時,用戶數(shù)據(jù)庫 416是被指定為實時還是鏡像數(shù)據(jù)庫。當運行目標數(shù)據(jù)的備份時,文件索引 412中有關(guān)客戶機402的指定信息,以及有關(guān)客戶機406和408的指定信息,對
再生目標數(shù)據(jù)后在數(shù)據(jù)庫恢復(fù)系統(tǒng)400內(nèi)重建鏡像關(guān)聯(lián)而言變得很重要。下面將討論鏡像關(guān)聯(lián)重建的更具體的細節(jié)。如上所知,位于客戶機402上的模塊410對文件索引412、恢復(fù)服務(wù)器404 和介質(zhì)數(shù)據(jù)庫414進行存取,以使用戶或管理員識別目標數(shù)據(jù)并獲取目標數(shù) 據(jù)的信息。當位于客戶機402上的模塊410己經(jīng)完成文件索引412中包含的信 息的存取之后,模塊410從恢復(fù)服務(wù)器404請求目標數(shù)據(jù)?;謴?fù)服務(wù)器404定 位并檢索目標數(shù)據(jù),并將目標數(shù)據(jù)傳輸至信息給模塊410。在目標數(shù)據(jù)已經(jīng) 被檢索之后,模塊410向服務(wù)器應(yīng)用420傳輸目標數(shù)據(jù)信息,然后服務(wù)器應(yīng)用 420利用該目標數(shù)據(jù)再生用戶數(shù)據(jù)庫416。除了與服務(wù)器應(yīng)用420傳輸信息之外,模塊41 O還分別與客戶機406和408 中的模塊424、 426傳輸信息。具體地,模塊410將經(jīng)由恢復(fù)服務(wù)器404檢索的 目標數(shù)據(jù)的信息傳輸?shù)侥K424和426。然后模塊424將接收到的目標數(shù)據(jù)傳 輸?shù)椒?wù)器應(yīng)用428,隨后服務(wù)器應(yīng)用428利用該目標數(shù)據(jù)再生用戶數(shù)據(jù)庫 418。因為位于客戶機408上的服務(wù)器應(yīng)用430并沒有包括用戶數(shù)據(jù)庫,所以 模塊426不會向客戶機408傳輸目標數(shù)據(jù)。用戶數(shù)據(jù)庫416和418分別被服務(wù)器 應(yīng)用420和428使用同一個目標數(shù)據(jù)再生,因此,只要用戶數(shù)據(jù)庫416和418已 經(jīng)被再生,用戶數(shù)據(jù)庫416和418中的每一個都包括目標數(shù)據(jù)的同一副本。然 而,在數(shù)據(jù)庫恢復(fù)系統(tǒng)400內(nèi)啟動恢復(fù)操作的用戶也可能只選擇恢復(fù)一個用 戶數(shù)據(jù)庫,如用戶數(shù)據(jù)庫416,而保留用戶數(shù)據(jù)庫418,因此用戶數(shù)據(jù)庫418 不被重寫。在用戶數(shù)據(jù)庫416和418再生之后,客戶機402、 406和408之間的鏡像關(guān) 聯(lián)被重建。在發(fā)生備份操作時從文件索引412經(jīng)由模塊410獲得的有關(guān)客戶機 402、 406、和408的指定信息,被用于重新指定客戶機402、 406和408為實時、 鏡像、或見證客戶機。如果由模塊410從文件索引412獲得的有關(guān)當前客戶機 402的指定信息表示在進行備份操作時當前客戶機402曾經(jīng)是實時客戶機,那 么當前客戶機402將被重新指定為實時客戶機。對當前客戶機402作為實時客 戶機的重新指定暗含地包括對用戶數(shù)據(jù)庫426作為實時用戶數(shù)據(jù)庫的重新指 定。如果包含在文件索引412的信息表示在目標數(shù)據(jù)備份時當前客戶機402曾 經(jīng)是鏡像客戶機,則用戶可以選擇重新指定客戶機402為鏡像客戶機,因此 也重新指定用戶數(shù)據(jù)庫416為鏡像用戶數(shù)據(jù)庫。
雖然模塊410已經(jīng)獲得有關(guān)客戶機402、 406和408作為實時、鏡像、或見 證的信息,但鏡像關(guān)聯(lián)并沒被重建,直到服務(wù)器應(yīng)用420、 428、和430將角 色指定信息分別寫入系統(tǒng)數(shù)據(jù)庫422、 432和434。模塊410,在已經(jīng)獲得來自 文件索引412的角色指定信息后,向服務(wù)器應(yīng)用420傳輸角色指定信息。然后 服務(wù)器應(yīng)用420將該角色指定信息寫入系統(tǒng)數(shù)據(jù)庫422。模塊410將角色指定 信息傳輸給模塊424和426,模塊424和426分別與服務(wù)器應(yīng)用428和430傳輸信 息。然后服務(wù)器應(yīng)用428和430將該角色指定信息分別寫入系統(tǒng)數(shù)據(jù)庫432和 434。角色指定信息表示在進行目標數(shù)據(jù)備份時客戶機402曾經(jīng)是實時客戶機 而客戶機406曾經(jīng)是鏡像客戶機。該角色指定信息也同樣表示當運行目標數(shù) 據(jù)備份時,位于客戶機402上的用戶數(shù)據(jù)庫416被指定為實時用戶數(shù)據(jù)庫,以 及位于客戶機406上的用戶數(shù)據(jù)庫418被指定為鏡像用戶數(shù)據(jù)庫。當角色指定 信息被服務(wù)器應(yīng)用420、 428和430分別寫入系統(tǒng)數(shù)據(jù)庫422、 432、和434之后, 客戶機402和406被重新指定為實時客戶機402和鏡像客戶機406。當文件索引 中的信息指出客戶機408既不是實時用戶也不是鏡像用戶時,客戶機408就被 重新指定為見證客戶機。在數(shù)據(jù)庫恢復(fù)系統(tǒng)400中運行的恢復(fù)程序的細節(jié)描 述包括在在下面針對圖5的討論。請參閱圖5,在一個數(shù)據(jù)庫恢復(fù)系統(tǒng),例如數(shù)據(jù)庫恢復(fù)系統(tǒng)示例400中運 行的示例恢復(fù)程序500中,示范了客戶機之間的鏡像關(guān)聯(lián)是如何被終止,用 戶數(shù)據(jù)庫信息如何在客戶機上再生,以及客戶機間的鏡像關(guān)聯(lián)是如何被重建 的?;謴?fù)程序500出現(xiàn)于在數(shù)據(jù)庫恢復(fù)系統(tǒng)內(nèi)存在、并參與其鏡像關(guān)聯(lián)的每 個客戶機上。此外,組成恢復(fù)程序500的步驟是示例性的,而且其運行次序 可以改變以適用于恢復(fù)程序500的任何特定應(yīng)用。當存取客戶機的用戶或管 理員請求恢復(fù)操作時,程序500從步驟502開始。在步驟503中判別數(shù)據(jù)庫恢 復(fù)系統(tǒng)的客戶機之間存在還是不存在鏡像關(guān)聯(lián)。如果存在鏡像關(guān)聯(lián),則終止 在數(shù)據(jù)庫恢復(fù)系統(tǒng)的客戶機之間的鏡像關(guān)聯(lián)如步驟504所示。當位于每個客戶機上的服務(wù)器應(yīng)用重寫存在于服務(wù)器應(yīng)用中的系統(tǒng)數(shù)據(jù)庫時,鏡像關(guān)聯(lián)被 終止。如果客戶機之間不存在鏡像關(guān)聯(lián),那么在步驟506中,在數(shù)據(jù)庫恢復(fù) 系統(tǒng)中位于客戶機上的模塊存取位于恢復(fù)服務(wù)器上的文件索弓I和介質(zhì)數(shù)據(jù) 庫中包含的信息。該模塊從文件索引和介質(zhì)數(shù)據(jù)庫獲得的信息包括由恢復(fù)服 務(wù)器恢復(fù)的不同備份版本的識別信息和角色指定信息。
由該模塊獲得的識別信息,可以幫助存取該模塊所位于的客戶機的用戶 或管理員識別用戶或管理員希望恢復(fù)的備份數(shù)據(jù)庫或目標數(shù)據(jù)的預(yù)定備份 版本。
一旦用戶數(shù)據(jù)庫數(shù)據(jù)再生,角色指定信息將允許鏡像關(guān)聯(lián)被重建。繼續(xù)參考存儲程序500,在步驟508中,用戶或管理員識別待再生的目標 數(shù)據(jù)。然后在步驟510中,客戶機讀出文件索引的輸入項以識別角色指定信 息。在步驟512中,由模塊判別該模塊所位于的客戶機是否與作為實時輸入 項的目標數(shù)據(jù)的文件索引輸入項中列出的客戶機相匹配。如果客戶機與實時 輸入項中列出的客戶機匹配,則存儲程序500繼續(xù),模塊從恢復(fù)服務(wù)器請求 目標數(shù)據(jù),如步驟514所示?;謴?fù)服務(wù)器檢索目標數(shù)據(jù)并向模塊傳輸該目標 數(shù)據(jù),如步驟516所示。然后模塊向服務(wù)器應(yīng)用傳輸該目標數(shù)據(jù),服務(wù)器應(yīng) 用再生位于當前客戶機上的用戶數(shù)據(jù)庫,如步驟518所示。當模塊向服務(wù)器應(yīng)用傳輸目標數(shù)據(jù)時,在步驟518中,模塊也將由該模 塊從文件索引中獲得的角色指定信息傳輸?shù)椒?wù)器應(yīng)用中。在步驟520中, 服務(wù)器應(yīng)用寫入位于客戶機上的服務(wù)器應(yīng)用中的系統(tǒng)數(shù)據(jù)庫的角色指定信 息,并將位于客戶機上的用戶數(shù)據(jù)庫設(shè)定為實時用戶數(shù)據(jù)庫,同時將該客戶 機設(shè)定為實時客戶機。在步驟512中,如果客戶機與文件索引實時輸入中列出的客戶機不匹配 的話,恢復(fù)程序500在步驟522繼續(xù),由客戶機判別其是否與文件索引的別名 輸入項中列出的客戶機相匹配。如果客戶機與文件索引的別名輸入項中列出 的客戶機相匹配,恢復(fù)程序500繼續(xù)步驟524,模塊向恢復(fù)服務(wù)器請求目標數(shù) 據(jù)?;謴?fù)服務(wù)器檢索目標數(shù)據(jù)并向該模塊傳輸目標數(shù)據(jù),如步驟526所示。 然后模塊向服務(wù)器應(yīng)用傳輸目標數(shù)據(jù),服務(wù)器應(yīng)用再生位于與模塊和服務(wù)器 應(yīng)用相關(guān)聯(lián)的客戶機上的用戶數(shù)據(jù)庫,如步驟528所示。如上所述,當模塊向服務(wù)器應(yīng)用傳輸目標數(shù)據(jù)時,模塊也將由該模塊從 文件索引獲得的角色指定信息傳輸?shù)椒?wù)器應(yīng)用上,同樣如步驟528所示。 在步驟530中,服務(wù)器應(yīng)用寫入位于客戶機的服務(wù)器應(yīng)用上的系統(tǒng)數(shù)據(jù)庫的 角色指定信息,并將用戶數(shù)據(jù)庫設(shè)定為鏡像用戶數(shù)據(jù)庫,同時將客戶機設(shè)定 為鏡像客戶機。當模塊存取在文件索引和介質(zhì)數(shù)據(jù)庫內(nèi)包含的信息時,如果模塊確認客 戶機既沒有和文件索引實時輸入項中列出的客戶機、也沒有和文件索引的別
名輸入項中列出的客戶機相匹配,在這種情形下,如步驟532所示,該客戶 機就是見證客戶機。在步驟534中,模塊將從文件索引獲得的角色指定信息 輸送到客戶機的服務(wù)器應(yīng)用中,并且該服務(wù)器應(yīng)用將角色指定信息寫入位于 客戶機上的系統(tǒng)數(shù)據(jù)庫中。當目標數(shù)據(jù)再生之后,并且角色指定信息也已經(jīng) 在數(shù)據(jù)庫恢復(fù)系統(tǒng)的每位用戶的系統(tǒng)數(shù)據(jù)庫中被寫入之后,鏡像關(guān)聯(lián)被重 建,恢復(fù)程序500完成。因此,示例恢復(fù)程序500提供一種從介入鏡像關(guān)聯(lián)的用戶數(shù)據(jù)庫中備份 的目標數(shù)據(jù)進行恢復(fù)的方法。通過終止鏡像關(guān)聯(lián),恢復(fù)和再生丟失的用戶數(shù) 據(jù)庫信息,并重建數(shù)據(jù)庫鏡像關(guān)聯(lián),本發(fā)明的實施例提供一種對已經(jīng)在動態(tài) 數(shù)據(jù)庫鏡像環(huán)境下備份的數(shù)據(jù)的恢復(fù)方法,在該動態(tài)數(shù)據(jù)庫鏡像環(huán)境下用戶 數(shù)據(jù)庫的角色指定可以隨著時間而動態(tài)改變。本發(fā)明可以用其他特定方式實施而不會背離其精神或主要特點。在所有 方案中描述的實施例都僅僅是示例性的而不是限制性的。因此,本發(fā)明的范 圍由附加的權(quán)利要求示出,而不是由前面的說明書示出。落入權(quán)利要求的等 同方案的內(nèi)涵和范圍內(nèi)的所有變換均被包括在其范圍內(nèi)。
權(quán)利要求
1.一種在網(wǎng)絡(luò)中恢復(fù)備份數(shù)據(jù)的方法,該網(wǎng)絡(luò)包括位于第一客戶機上的第一數(shù)據(jù)庫,以及位于第二位客戶機上的第二數(shù)據(jù)庫,該方法包括如下步驟啟動恢復(fù)操作請求;終止所述第一數(shù)據(jù)庫和第二數(shù)據(jù)庫之間的動態(tài)鏡像關(guān)聯(lián);識別要恢復(fù)的目標數(shù)據(jù);生成對該目標數(shù)據(jù)的位置信息的請求;接收該目標數(shù)據(jù)的位置的相關(guān)位置信息;傳輸對該目標數(shù)據(jù)的請求;接收該目標數(shù)據(jù);在位于所述第一客戶機和第二客戶機上的第一數(shù)據(jù)庫和第二數(shù)據(jù)庫中再生該目標數(shù)據(jù);以及重建所述第一數(shù)據(jù)庫和第二數(shù)據(jù)庫之間的動態(tài)鏡像關(guān)聯(lián)。
2. 如權(quán)利要求1所述的方法,其中,該目標數(shù)據(jù)通過在位于恢復(fù)服務(wù)器 上的文件索引和介質(zhì)數(shù)據(jù)庫中包含的位置信息而被識別。
3. 如權(quán)利要求1所述的方法,其中,該動態(tài)鏡像關(guān)聯(lián)通過在分別位于所 述第一客戶機和第二客戶機上的系統(tǒng)數(shù)據(jù)庫中寫入角色指定信息而被重建。
4. 如權(quán)利要求1所述的方法,還包括如下步驟 從文件索引中檢索角色指定信息;以及將該角色指定信息寫入位于所述第一客戶機和第二客戶機上的系統(tǒng)數(shù) 據(jù)庫中。
5. 如權(quán)利要求4所述的方法,其中,該角色指定信息涉及在備份該目標 數(shù)據(jù)時對第一數(shù)據(jù)庫和第二數(shù)據(jù)庫的角色指定。
6. 如權(quán)利要求4所述的方法,其中,該文件索引中的實時輸入項表示當 備份該目標數(shù)據(jù)時在該實時輸入項中列出的第一數(shù)據(jù)庫或第二數(shù)據(jù)庫被指 定為實時數(shù)據(jù)庫。
7. 如權(quán)利要求4所述的方法,其中,該文件索引中的別名輸入項表示當 備份該目標數(shù)據(jù)時在該別名輸入項中列出的第一數(shù)據(jù)庫或第二數(shù)據(jù)庫被指 定為鏡像數(shù)據(jù)庫。
8. 如權(quán)利要求1所述的方法,其中,由見證客戶機判別該動態(tài)鏡像關(guān)聯(lián)。
9. 如權(quán)利要求1所述的方法,其中,通過將角色指定信息寫入位于所述第一客戶機、第二客戶機和一見證客戶機上的系統(tǒng)數(shù)據(jù)庫而重建該鏡像關(guān) 聯(lián)。
10. —種有助于在網(wǎng)絡(luò)中恢復(fù)備份數(shù)據(jù)庫的方法,該網(wǎng)絡(luò)包括至少兩個客戶機,該方法包括如下步驟 接收對備份數(shù)據(jù)庫的請求;允許所述至少兩個客戶機之一對包含有動態(tài)鏡像關(guān)聯(lián)信息的文件索引中的輸入項進行存?。蛔R別該備份數(shù)據(jù)庫的位置; 檢索該備份數(shù)據(jù)庫;以及將該備份數(shù)據(jù)庫傳輸?shù)剿鲋辽賰蓚€客戶機之一。
11. 如權(quán)利要求10所述的方法,其中,該文件索引中的輸入項記錄當備 份數(shù)據(jù)庫時數(shù)據(jù)庫的角色指定。
12. 如權(quán)利要求10所述的方法,其中,該文件索引中的實時輸入項表示 當備份數(shù)據(jù)庫時在該實時輸入項中涉及的數(shù)據(jù)庫被指定為實時數(shù)據(jù)庫。
13. 如權(quán)利要求10所述的方法,其中,該文件索引中的別名輸入項表示 當備份數(shù)據(jù)庫時在該別名輸入項中涉及的數(shù)據(jù)庫被指定為鏡像數(shù)據(jù)庫。
14. 如權(quán)利要求10所述的方法,其中,該備份數(shù)據(jù)庫的位置是遠程存儲 位置。
15. 如權(quán)利要求10所述的方法,其中,對該備份數(shù)據(jù)庫的檢索還包括如 下步驟存取存儲位置;以及自該存儲位置獲取該備份數(shù)據(jù)庫的副本。
16. —種計算機程序產(chǎn)品,用以實現(xiàn)在網(wǎng)絡(luò)中恢復(fù)數(shù)據(jù)的方法,該網(wǎng)絡(luò) 包括位于第一客戶機上的第一數(shù)據(jù)庫和位于第二客戶機上的第二數(shù)據(jù)庫,該 計算機程序包括計算機可讀介質(zhì),其上載有用以實現(xiàn)包括如下步驟的方法的可執(zhí)行指令啟動恢復(fù)操作請求;終止所述第一數(shù)據(jù)庫和第二數(shù)據(jù)庫之間的動態(tài)鏡像關(guān)聯(lián);識別要恢復(fù)的目標數(shù)據(jù);生成對該目標數(shù)據(jù)的位置信息的請求;接收該目標數(shù)據(jù)位置的相關(guān)位置信息;傳輸對該目標數(shù)據(jù)的請求;接收該目標數(shù)據(jù);在位于所述第一客戶機和第二客戶機上的第一數(shù)據(jù)庫和第二數(shù)據(jù)庫中 再生該目標數(shù)據(jù);以及重建所述第一數(shù)據(jù)庫和第二數(shù)據(jù)庫之間的動態(tài)鏡像關(guān)聯(lián)。
17. 如權(quán)利要求16所述的計算機程序產(chǎn)品,其中,該目標數(shù)據(jù)通過位于 恢復(fù)服務(wù)器上的文件索引和介質(zhì)數(shù)據(jù)庫中包含的位置信息而被識別。
18. 如權(quán)利要求16所述的計算機程序產(chǎn)品,其中,該動態(tài)鏡像關(guān)聯(lián)通過 在分別位于所述第一客戶機和第二客戶機上的系統(tǒng)數(shù)據(jù)庫中寫入角色指定 信息而被重建。
19. 如權(quán)利要求16所述的計算機程序產(chǎn)品,還包括如下步驟 從文件索引中檢索角色指定信息;以及將該角色指定信息寫入位于所述第一客戶機和第二客戶機上的系統(tǒng)數(shù) 據(jù)庫中。
20. 如權(quán)利要求19所述的計算機程序產(chǎn)品,其中,該角色指定信息涉及 在備份該目標數(shù)據(jù)時對所述第一數(shù)據(jù)庫和第二數(shù)據(jù)庫的角色指定。
21. 如權(quán)利要求19所述的計算機程序產(chǎn)品,其中,該文件索引中的實時 輸入項表示當備份該目標數(shù)據(jù)時在該實時輸入項中列出的第一數(shù)據(jù)庫或第 二數(shù)據(jù)庫被指定為實時數(shù)據(jù)庫。
22. 如權(quán)利要求19所述的計算機程序產(chǎn)品,其中,該文件索引中的別名 輸入項表示當備份該目標數(shù)據(jù)時在該別名輸入項中列出的第一數(shù)據(jù)庫或第 二數(shù)據(jù)庫被指定為鏡像數(shù)據(jù)庫。
23. 如權(quán)利要求16所述的計算機程序產(chǎn)品,其中,由見證客戶機判別該動態(tài)鏡像關(guān)聯(lián)。
24. 如權(quán)利要求16所述的計算機程序產(chǎn)品,其中,通過將角色指定信息 寫入位于所述第一客戶機、第二客戶機和一見證客戶機上的系統(tǒng)數(shù)據(jù)庫而重 建該鏡像關(guān)聯(lián)。
全文摘要
在包括位于第一客戶機上的第一數(shù)據(jù)庫和位于第二客戶機上的第二數(shù)據(jù)庫的網(wǎng)絡(luò)中,用戶或管理員啟動恢復(fù)操作。終止第一客戶機和第二客戶機之間的動態(tài)鏡像關(guān)聯(lián),并且識別用戶或管理員希望恢復(fù)的數(shù)據(jù)庫的備份副本。當運行備份操作時,第一客戶機或第二客戶機之一從恢復(fù)服務(wù)器中接收有關(guān)數(shù)據(jù)庫備份副本的位置信息及數(shù)據(jù)庫的角色指定信息。數(shù)據(jù)庫的備份副本從存儲位置檢索并再生于第一和第二客戶機的每一個之上,重建第一客戶機和第二客戶機之間的動態(tài)鏡像關(guān)聯(lián)。
文檔編號G06F11/00GK101120319SQ200580048140
公開日2008年2月6日 申請日期2005年12月21日 優(yōu)先權(quán)日2004年12月30日
發(fā)明者克雷格·鄧肯, 木 柴, 阿迪蒂亞·卡普爾, 馬聞璐 申請人:伊姆西公司