專(zhuān)利名稱(chēng):在數(shù)據(jù)保護(hù)系統(tǒng)中提供警告合成的方法、系統(tǒng)和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及數(shù)據(jù)保護(hù)和數(shù)據(jù)保護(hù)系統(tǒng),尤其涉及用于控制數(shù)據(jù)的保護(hù)和恢復(fù)的系統(tǒng)、方法和裝置。
背景技術(shù):
一般而言,大規(guī)模計(jì)算機(jī)系統(tǒng)常常包含若干計(jì)算設(shè)備和大量數(shù)據(jù)。在這樣一個(gè)系統(tǒng)中,計(jì)算設(shè)備常??梢员惶砑踊蛞瞥M瑯?,現(xiàn)有計(jì)算設(shè)備也常常通過(guò)添加共享、交換存儲(chǔ)組(Exchange Storage Group)、數(shù)據(jù)庫(kù)、卷和對(duì)存儲(chǔ)在計(jì)算設(shè)備上數(shù)據(jù)的其它改變來(lái)改變。對(duì)于利用這種計(jì)算機(jī)系統(tǒng)的組織,通常存在對(duì)保護(hù)存儲(chǔ)在該系統(tǒng)上的數(shù)據(jù)的需求,這經(jīng)常通過(guò)創(chuàng)建數(shù)據(jù)的備份來(lái)進(jìn)行。
然而,負(fù)責(zé)保護(hù)系統(tǒng)的個(gè)人常常不被通知對(duì)該系統(tǒng)的添加和/或改變,而因此不知道需要保護(hù)的新資源。例如,如果一個(gè)新的計(jì)算設(shè)備,諸如服務(wù)器,被添加到系統(tǒng)中,且未向負(fù)責(zé)保護(hù)該系統(tǒng)的個(gè)人通知這一添加,則新計(jì)算設(shè)備上的數(shù)據(jù)和該新計(jì)算設(shè)備都處在未保護(hù)中。
對(duì)于允許個(gè)人在系統(tǒng)內(nèi)邏輯層而不是物理層上操作的系統(tǒng),這個(gè)問(wèn)題不斷增長(zhǎng)。盡管個(gè)人在邏輯層上操作,但保護(hù)一般是在物理層上確定的。在這樣一種環(huán)境中,當(dāng)邏輯層上的操作要求改變備份過(guò)程時(shí)會(huì)發(fā)生問(wèn)題。例如,如果邏輯路徑\\history\public\tools指向服務(wù)器history1上的共享,并決定移動(dòng)\\history\public\tools來(lái)指向服務(wù)器history2上的不同共享上,如果未向負(fù)責(zé)保護(hù)的個(gè)人通知這一改變,則舊的共享可能被繼續(xù)保護(hù)而新共享仍是未保護(hù)的。
當(dāng)單個(gè)邏輯路徑可代表一組物理選擇時(shí),問(wèn)題也會(huì)增加,這些物理選擇包含底層數(shù)據(jù)的同步復(fù)制。例如,\\history\docs可指向history1和history2兩者之上同樣的共享;只有同樣的底層文件夾之一應(yīng)由系統(tǒng)保護(hù)。
導(dǎo)致未能保護(hù)大型系統(tǒng)上資料的一般原因是負(fù)責(zé)保護(hù)的個(gè)人必須手動(dòng)標(biāo)識(shí)要保護(hù)的資源和數(shù)據(jù)并手動(dòng)配置保護(hù)。當(dāng)系統(tǒng)變化時(shí),除非他們知道變化,否則數(shù)據(jù)和資源會(huì)成為未保護(hù)的。此外,對(duì)于歸檔數(shù)據(jù)備份到物理介質(zhì),人們必須手動(dòng)確定要使用什么介質(zhì)用于保護(hù),及何時(shí)/如何輪換介質(zhì)。對(duì)于大型系統(tǒng),手動(dòng)標(biāo)識(shí)變化、配置保護(hù)和維護(hù)歸檔是復(fù)雜的,而改變是困難的。對(duì)保護(hù)的這一手動(dòng)標(biāo)識(shí)、配置和修改常常導(dǎo)致遺漏了需要保護(hù)的數(shù)據(jù)和資源,并導(dǎo)致與保護(hù)本身有關(guān)的問(wèn)題。
當(dāng)問(wèn)題發(fā)生時(shí),一般人們必須能夠確定具體層上的問(wèn)題,并具有如何解決該問(wèn)題的知識(shí),而沒(méi)有被提供來(lái)自保護(hù)系統(tǒng)本身的信息。
因而,需要一種系統(tǒng)、方法和裝置,用于自動(dòng)化計(jì)算機(jī)系統(tǒng)的保護(hù)、標(biāo)識(shí)對(duì)系統(tǒng)的改變何時(shí)發(fā)生、當(dāng)發(fā)生有關(guān)保護(hù)的問(wèn)題時(shí)向用戶(hù)提供指導(dǎo)、以及使人們能夠通過(guò)在邏輯名字空間中工作來(lái)創(chuàng)建保護(hù)。
發(fā)明內(nèi)容
依照本發(fā)明的一個(gè)方面,提供了一種用于向用戶(hù)通知數(shù)據(jù)保護(hù)系統(tǒng)的狀態(tài)的方法。該方法監(jiān)視數(shù)據(jù)保護(hù)系統(tǒng)的活動(dòng),并確定是否存在與數(shù)據(jù)保護(hù)系統(tǒng)有關(guān)的任何潛在問(wèn)題。如果確定不存在與數(shù)據(jù)保護(hù)系統(tǒng)有關(guān)的任何潛在問(wèn)題,則向用戶(hù)提供關(guān)于該數(shù)據(jù)保護(hù)系統(tǒng)的狀態(tài)的信息報(bào)告。然而,如果確定存在與數(shù)據(jù)保護(hù)系統(tǒng)有關(guān)的潛在問(wèn)題,則確定該潛在問(wèn)題的嚴(yán)重性并基于所確定的嚴(yán)重性對(duì)該問(wèn)題分類(lèi)。該分類(lèi)用于向用戶(hù)生成關(guān)于該潛在問(wèn)題的適當(dāng)報(bào)告。
提供了一種用于診斷存儲(chǔ)位置處的數(shù)據(jù)的方法。該方法包括診斷位于存儲(chǔ)位置處的數(shù)據(jù)的副本,并診斷該數(shù)據(jù)副本的時(shí)間版本?;谠撛\斷,確定是否檢測(cè)到錯(cuò)誤或警告。如果檢測(cè)到任一個(gè),則提供具有建議的解決方案的響應(yīng)。
依照本發(fā)明的一個(gè)方面,提供了一種用于診斷數(shù)據(jù)副本的方法。確定副本是否有效,如果是,則確定確認(rèn)作業(yè)當(dāng)前是否正在運(yùn)行。如果確認(rèn)作業(yè)失敗,則向用戶(hù)報(bào)告適當(dāng)?shù)捻憫?yīng)。
依照本發(fā)明的另一方面,在具有產(chǎn)生位置、存儲(chǔ)位置以及用于在產(chǎn)生位置和存儲(chǔ)位置之間傳輸數(shù)據(jù)的通信信道的數(shù)據(jù)保護(hù)系統(tǒng)中,提供了一種用于診斷存儲(chǔ)位置處的副本的生成的方法,該副本具有產(chǎn)生位置處的數(shù)據(jù)的改變。該方法包括通過(guò)計(jì)算失敗的數(shù)量以及失敗的原因,確定在一段時(shí)間內(nèi)復(fù)制過(guò)程是否運(yùn)作良好。在計(jì)算之后,取決于復(fù)制的模式、失敗的計(jì)數(shù)以及失敗的原因提供一警告。
依照本發(fā)明的另一方面,在具有產(chǎn)生位置、存儲(chǔ)位置以及用于在產(chǎn)生位置和存儲(chǔ)位置之間傳輸數(shù)據(jù)的通信路徑的數(shù)據(jù)保護(hù)系統(tǒng)中,提供了一種用于診斷時(shí)間版本的方法。該方法確定最舊的預(yù)期時(shí)間版本是否可用,如果是,則計(jì)算在一段預(yù)定時(shí)間內(nèi)丟失的時(shí)間版本的數(shù)量。在計(jì)算之后,取決于該段預(yù)定時(shí)間內(nèi)丟失的時(shí)間版本的百分比,提供一報(bào)告。
依照本發(fā)明的由一方面,在具有產(chǎn)生位置、存儲(chǔ)位置以及用于在產(chǎn)生位置和存儲(chǔ)位置之間傳輸數(shù)據(jù)的通信路徑的數(shù)據(jù)保護(hù)系統(tǒng)中,提供了一種用于診斷數(shù)據(jù)從存儲(chǔ)位置到產(chǎn)生位置的恢復(fù)的方法。該方法包括確定恢復(fù)作業(yè)是否失敗,如果是,則獲得失敗的原因并報(bào)告標(biāo)識(shí)失敗的錯(cuò)誤。另外,在報(bào)告中也包括了解決該失敗的建議。
通過(guò)參考以下詳細(xì)描述,同時(shí)結(jié)合附圖,在更好地理解的同時(shí),本發(fā)明的前述諸方面及許多伴隨優(yōu)點(diǎn)將變得更顯而易見(jiàn),這些附圖是圖1A-2是依照本發(fā)明的實(shí)施例用于管理數(shù)據(jù)的保護(hù)和恢復(fù)的數(shù)據(jù)保護(hù)系統(tǒng)的框圖;圖3是依照本發(fā)明的實(shí)施例描述位于產(chǎn)生位置的可保護(hù)對(duì)象的初始選擇和保護(hù)的數(shù)據(jù)保護(hù)系統(tǒng)的流程圖;圖4依照本發(fā)明的實(shí)施例示出了在用于用戶(hù)交互和選擇的用戶(hù)界面上發(fā)布和顯示的多個(gè)名字空間和名字空間元素的框圖;圖5依照本發(fā)明的實(shí)施例示出了名字空間元素和可保護(hù)對(duì)象之間的映射;圖6依照本發(fā)明的實(shí)施例示出了用于將名字空間類(lèi)型和名字空間元素類(lèi)型相關(guān)聯(lián)的方案的框圖;圖7依照本發(fā)明俄實(shí)施例示出了用于將邏輯名字空間元素映射到物理可保護(hù)對(duì)象的方案的框圖;圖8依照本發(fā)明的實(shí)施例示出了包含可由數(shù)據(jù)保護(hù)系統(tǒng)保護(hù)的可保護(hù)對(duì)象的產(chǎn)生位置的框圖;圖9A-9B是依照本發(fā)明的實(shí)施例在產(chǎn)生位置處的可保護(hù)對(duì)象和將可保護(hù)對(duì)象組合成保護(hù)組的框圖;圖10依照本發(fā)明的實(shí)施例示出了包含選擇的名字空間元素、經(jīng)映射的保護(hù)對(duì)象和保護(hù)組的屬性的保護(hù)組的框圖;圖11是依照本發(fā)明的實(shí)施例配置用于保護(hù)保護(hù)組的計(jì)劃的配置例程的框圖;圖12依照本發(fā)明的實(shí)施例示出了更詳細(xì)地描述保護(hù)組的創(chuàng)建的保護(hù)組創(chuàng)建例程;圖13依照本發(fā)明的實(shí)施例示出了用于檢測(cè)包含在兩個(gè)或多個(gè)保護(hù)組中的數(shù)據(jù)源的重疊的重疊檢測(cè)例程;圖14是依照本發(fā)明的實(shí)施例的數(shù)據(jù)保護(hù)系統(tǒng)的流程圖,示出了用于恢復(fù)受保護(hù)對(duì)象的恢復(fù)過(guò)程的流程;圖15是依照本發(fā)明的實(shí)施例示出可包含在存儲(chǔ)位置的可恢復(fù)對(duì)象的更詳細(xì)視圖的框圖;圖16依照本發(fā)明的實(shí)施例示出了用于從存儲(chǔ)位置恢復(fù)保護(hù)對(duì)象的恢復(fù)例程;圖17-23A及24依照本發(fā)明的實(shí)施例示出了用于創(chuàng)建和利用自動(dòng)發(fā)現(xiàn)組的流程圖;圖23B依照本發(fā)明的實(shí)施例示出用于解決受保護(hù)名字空間元素的重映射的重映射解決例程;圖25依照本發(fā)明的實(shí)施例示出了用于最初發(fā)現(xiàn)頂層名字空間元素和可保護(hù)對(duì)象之間的映射的初始發(fā)現(xiàn)例程的流程圖;圖26依照本發(fā)明的實(shí)施例示出了用于發(fā)現(xiàn)名字空間和名字空間元素以及位于產(chǎn)生位置的可保護(hù)對(duì)象之間的映射的已調(diào)度發(fā)現(xiàn)例程的流程圖;圖27是依照本發(fā)明的實(shí)施例的自動(dòng)發(fā)現(xiàn)組創(chuàng)建例程的流程圖;圖28和29依照本發(fā)明的實(shí)施例示出了自動(dòng)發(fā)現(xiàn)組更新例程的流程圖;圖30依照本發(fā)明的實(shí)施例示出了用于將保護(hù)意圖轉(zhuǎn)換為用于保護(hù)一組數(shù)據(jù)的計(jì)劃的流程圖;圖31和32依照本發(fā)明的實(shí)施例示出了用于將保護(hù)意圖轉(zhuǎn)換成用于保護(hù)位于產(chǎn)生位置的物理對(duì)象的詳細(xì)計(jì)劃的意圖轉(zhuǎn)換例程的流程圖;圖33是依照本發(fā)明的實(shí)施例用于為保護(hù)組創(chuàng)建保護(hù)計(jì)劃的保護(hù)計(jì)劃創(chuàng)建例程的流程圖;圖34是依照本發(fā)明的實(shí)施例用于執(zhí)行準(zhǔn)備計(jì)劃的準(zhǔn)備計(jì)劃執(zhí)行例程的流程圖;圖35是依照本發(fā)明的實(shí)施例用于確認(rèn)位于存儲(chǔ)位置的數(shù)據(jù)的副本的確認(rèn)例程的流程圖;圖36是依照本發(fā)明的實(shí)施例用于確認(rèn)位于存儲(chǔ)位置的對(duì)象的副本的已調(diào)度確認(rèn)例程的流程圖;圖37是依照本發(fā)明的實(shí)施例示出用于存儲(chǔ)位置的存儲(chǔ)部分和/或整個(gè)存儲(chǔ)位置的狀態(tài)轉(zhuǎn)移的方框圖;圖38是依照本發(fā)明的實(shí)施例示出用于在前次意圖轉(zhuǎn)換例程期間發(fā)生的中斷之后重啟意圖轉(zhuǎn)換例程的重啟例程的流程圖;圖39是依照本發(fā)明的實(shí)施例示出用于生成歸檔數(shù)據(jù)的計(jì)劃的歸檔保護(hù)計(jì)劃創(chuàng)建例程;圖40是表格,依照本發(fā)明的實(shí)施例示出了可用于生成歸檔方案的不同世代的例子;圖41是依照本發(fā)明的實(shí)施例用于為歸檔數(shù)據(jù)分配介質(zhì)的流例程;圖42依照本發(fā)明的實(shí)施例示出了數(shù)據(jù)保護(hù)系統(tǒng)的方框圖;圖43-44依照本發(fā)明的實(shí)施例示出了由數(shù)據(jù)保護(hù)系統(tǒng)執(zhí)行的數(shù)據(jù)傳送監(jiān)視例程的流程圖;圖45依照本發(fā)明的實(shí)施例示出了數(shù)據(jù)保護(hù)系統(tǒng)重啟從產(chǎn)生位置到存儲(chǔ)位置的變化記錄的傳輸?shù)牧鞒虉D;圖46和47依照本發(fā)明的實(shí)施例示出了用于確認(rèn)復(fù)制品的確認(rèn)例程的流程圖;圖48A是依照本發(fā)明實(shí)施例用于處理由產(chǎn)生位置接收的命令的命令處理例程的流程圖;圖48B是依照本發(fā)明的實(shí)施例用于將變化記錄從產(chǎn)生位置傳輸?shù)酱鎯?chǔ)位置的傳輸數(shù)據(jù)例程的流程圖;圖48C是依照本發(fā)明的實(shí)施例用于確認(rèn)數(shù)據(jù)的確認(rèn)例程的流程圖;圖49A是依照本發(fā)明的實(shí)施例用于處理由存儲(chǔ)位置接收的命令的命令處理例程的流程圖;圖49B是依照本發(fā)明的實(shí)施例用于在存儲(chǔ)位置接收記錄的接收記錄例程的流程圖;圖49C是依照本發(fā)明的實(shí)施例用于將變化記錄應(yīng)用于存儲(chǔ)位置處的復(fù)制品的應(yīng)用變化記錄例程的流程圖;圖50是依照本發(fā)明的實(shí)施例包含多項(xiàng)任務(wù)的作業(yè)的框圖;圖51是依照本發(fā)明的實(shí)施例示出任務(wù)的監(jiān)視和補(bǔ)充作業(yè)的創(chuàng)建的流程圖;圖52是依照本發(fā)明的實(shí)施例示出補(bǔ)充作業(yè)例程的流程圖,該例程用于標(biāo)識(shí)任務(wù)失敗并且如果該任務(wù)是關(guān)鍵的則創(chuàng)建補(bǔ)充作業(yè);圖53是依照本發(fā)明的實(shí)施例示出用于診斷與副本和時(shí)間版本相關(guān)聯(lián)的問(wèn)題以及用于如果檢測(cè)到問(wèn)題則生成關(guān)于建議的修正的報(bào)告的流程圖;
圖54-56依照本發(fā)明的實(shí)施例示出了描述用于診斷與數(shù)據(jù)保護(hù)系統(tǒng)中數(shù)據(jù)副本有關(guān)的潛在問(wèn)題的副本診斷例程的流程圖;圖57-58依照本發(fā)明的實(shí)施例示出了描述用于診斷與由數(shù)據(jù)保護(hù)系統(tǒng)生成的時(shí)間版本有關(guān)的潛在問(wèn)題的時(shí)間版本診斷例程的流程圖;以及圖59是依照本發(fā)明的實(shí)施例描述用于診斷與數(shù)據(jù)保護(hù)系統(tǒng)中信息的恢復(fù)有關(guān)的潛在問(wèn)題的恢復(fù)診斷例程的流程圖。
具體實(shí)施例方式
圖1A是依照本發(fā)明的實(shí)施例用于管理數(shù)據(jù)的保護(hù)和恢復(fù)的數(shù)據(jù)保護(hù)系統(tǒng)的框圖。在此描述的數(shù)據(jù)保護(hù)系統(tǒng)100的實(shí)施例為諸如系統(tǒng)管理員等用戶(hù)提供容易地管理數(shù)據(jù)的保護(hù)與恢復(fù)的能力。通常,數(shù)據(jù)管理和保護(hù)對(duì)于在產(chǎn)生位置103主動(dòng)產(chǎn)生和修改的數(shù)據(jù)是期望的。保護(hù)該數(shù)據(jù)并將它作為數(shù)據(jù)的復(fù)制品或副本存儲(chǔ)在存儲(chǔ)位置105。存儲(chǔ)位置可以在遠(yuǎn)離產(chǎn)生位置的位置和/或與產(chǎn)生位置同一個(gè)位置。此外,存儲(chǔ)位置可包括不同存儲(chǔ)形式的多個(gè)位置。例如,數(shù)據(jù)的復(fù)制品可以在一個(gè)位置處維護(hù),而該數(shù)據(jù)的歸檔可在第二個(gè)位置處維護(hù)。因而,存儲(chǔ)位置一般描述可存儲(chǔ)和保護(hù)數(shù)據(jù)的位置的任何組合和/或類(lèi)型。
如將在這里描述的,數(shù)據(jù)保護(hù)系統(tǒng)100包括數(shù)據(jù)保護(hù)器101,它與產(chǎn)生位置103和存儲(chǔ)位置105通信以監(jiān)視產(chǎn)生位置103和存儲(chǔ)位置105之間數(shù)據(jù)的保護(hù)和流動(dòng)。如圖1A所示的數(shù)據(jù)保護(hù)器101可存在于諸如服務(wù)器等單個(gè)計(jì)算設(shè)備上,或者分布在多臺(tái)計(jì)算設(shè)備上。數(shù)據(jù)保護(hù)器101部署位于數(shù)據(jù)保護(hù)系統(tǒng)100內(nèi)不同計(jì)算設(shè)備上的代理,諸如產(chǎn)生位置103和/或存儲(chǔ)位置105,并與其通信,以便能夠進(jìn)行多設(shè)備間的數(shù)據(jù)保護(hù)的分布式控制與管理。由數(shù)據(jù)保護(hù)系統(tǒng)100提供的數(shù)據(jù)保護(hù)類(lèi)型的例子包括,但不限于,用時(shí)間版本的復(fù)制、在諸如磁帶或盤(pán)之類(lèi)的可移動(dòng)介質(zhì)上的傳統(tǒng)歸檔以及復(fù)制和歸檔兩者的組合??梢岳斫猓Wo(hù)的任何其它形式和/或組合都可用于本發(fā)明實(shí)施例,并且復(fù)制、時(shí)間版本和歸檔都是簡(jiǎn)單的例子。
圖1B示出數(shù)據(jù)保護(hù)系統(tǒng)100的另一實(shí)施例。具體地,數(shù)據(jù)保護(hù)器110可部分或全部駐留在產(chǎn)生位置111。在這樣一個(gè)實(shí)施例中,數(shù)據(jù)保護(hù)器110提供在它自己與產(chǎn)生位置111之間以及在它自己與存儲(chǔ)位置113之間的通信。
圖1C還示出依照本發(fā)明的實(shí)施例用于保護(hù)和恢復(fù)數(shù)據(jù)的數(shù)據(jù)保護(hù)系統(tǒng)100的又一實(shí)施例。如圖1C所示,數(shù)據(jù)保護(hù)器120可部分或全部駐留在存儲(chǔ)位置123上。在這樣一個(gè)實(shí)施例中,數(shù)據(jù)保護(hù)器120提供它自己與存儲(chǔ)位置123之間以及它自己與產(chǎn)生位置121之間的通信。
圖2是依照本發(fā)明的實(shí)施例用于保護(hù)和恢復(fù)數(shù)據(jù)的數(shù)據(jù)保護(hù)系統(tǒng)200的另一框圖。數(shù)據(jù)保護(hù)系統(tǒng)200示出多個(gè)產(chǎn)生位置,諸如產(chǎn)生位置1 203、產(chǎn)生位置2 205、一直到產(chǎn)生位置N 207,可與數(shù)據(jù)保護(hù)器201交互,以存儲(chǔ)源自產(chǎn)生位置的數(shù)據(jù)的復(fù)制品和/或時(shí)間版本。數(shù)據(jù)保護(hù)器2 201與產(chǎn)生位置203、205、207通信,并為駐留在諸如存儲(chǔ)位置A 209、存儲(chǔ)位置B 211和存儲(chǔ)位置X 213等的相應(yīng)存儲(chǔ)位置的數(shù)據(jù)提供保護(hù)。這里所述的實(shí)施例可用于任意數(shù)量的數(shù)據(jù)產(chǎn)生位置和存儲(chǔ)位置及其組合。
如將要理解的及示于圖1A-2,任何類(lèi)型的數(shù)據(jù)保護(hù)系統(tǒng)的配置都可按照本發(fā)明實(shí)施例用于保護(hù)和恢復(fù)數(shù)據(jù)。
總的來(lái)說(shuō),在此所述的數(shù)據(jù)保護(hù)系統(tǒng)實(shí)施例為數(shù)據(jù)保護(hù)系統(tǒng)的用戶(hù)提供在高層指定在產(chǎn)生位置的什么數(shù)據(jù)是重要的以及用戶(hù)想要如何保護(hù)該數(shù)據(jù)的能力。具體地,在此所述的系統(tǒng)為用戶(hù)提供邏輯地標(biāo)識(shí)他們想要保護(hù)特定產(chǎn)生位置的什么數(shù)據(jù)和他們想要如何保護(hù)它們的能力。數(shù)據(jù)保護(hù)系統(tǒng)將該邏輯標(biāo)識(shí)轉(zhuǎn)換成一系列被調(diào)度和執(zhí)行來(lái)保護(hù)數(shù)據(jù)的的“作業(yè)(job)”。如下所述,作業(yè)包括保護(hù)由用戶(hù)標(biāo)識(shí)的數(shù)據(jù)所需的詳細(xì)信息。例如,作業(yè)可執(zhí)行復(fù)制、確認(rèn)、時(shí)間版本管理、歸檔和介質(zhì)管理等等。
為了向用戶(hù)提供在邏輯層選擇數(shù)據(jù)的能力,數(shù)據(jù)保護(hù)系統(tǒng)向用戶(hù)提供以“名字空間”和“名字空間元素”形式存儲(chǔ)在產(chǎn)生位置的數(shù)據(jù)的的邏輯表示。如在此所述的名字空間是應(yīng)用程序的邏輯表示。例如,可在數(shù)據(jù)保護(hù)系統(tǒng)內(nèi)表示為名字空間的應(yīng)用程序包括但不限于,分布式文件系統(tǒng)(“DFS”)、本地文件系統(tǒng)、諸如共享點(diǎn)(Sharepoint)和交換名字空間(Exchange Namespace)等web應(yīng)用程序名字空間。如將意識(shí)到的,示例性應(yīng)用程序的列表僅為了說(shuō)明,而不是要以任何方式來(lái)限制本發(fā)明。數(shù)據(jù)保護(hù)系統(tǒng)可使用任何類(lèi)型的應(yīng)用程序并被標(biāo)識(shí)為名字空間。
如在此所述的名字空間元素是諸如數(shù)據(jù)等物理對(duì)象的邏輯表示,并且是組成名字空間的主要實(shí)體。例如,名字空間元素可以是但不限于,DFS鏈接、服務(wù)器、共享、卷、文件夾或交換存儲(chǔ)組。一般而言,交換存儲(chǔ)組是一個(gè)共同日志的數(shù)據(jù)庫(kù)集合。如相關(guān)領(lǐng)域的技術(shù)人員將意識(shí)到的,可使用名字空間元素來(lái)表示任何類(lèi)型的物理對(duì)象或物理對(duì)象集合。
為保護(hù)數(shù)據(jù),用戶(hù)在邏輯名字空間中搜索或?qū)Ш讲⑶疫x擇一個(gè)或多個(gè)名字空間元素。所選擇的名字空間元素與一個(gè)現(xiàn)有的“保護(hù)組”相關(guān)聯(lián)或者用于創(chuàng)建一個(gè)新的保護(hù)組。當(dāng)名字空間元素與一個(gè)保護(hù)組相關(guān)聯(lián)時(shí),與該名字空間元素相關(guān)聯(lián)的物理對(duì)象(數(shù)據(jù))也變成該保護(hù)組的一部分。如在此所述的保護(hù)組是名字空間元素以及應(yīng)用了相同保護(hù)規(guī)則的相關(guān)聯(lián)保護(hù)對(duì)象的邏輯組合。
每個(gè)名字空間元素用于定位一或多個(gè)物理對(duì)象(數(shù)據(jù)),在此稱(chēng)為“可保護(hù)對(duì)象”,可將它們添加到保護(hù)組。一旦被定位,可選擇可保護(hù)對(duì)象來(lái)保護(hù)。當(dāng)選擇一個(gè)可保護(hù)對(duì)象用于保護(hù)時(shí),所選擇的可保護(hù)對(duì)象變成作為保護(hù)組一部分的“可保護(hù)對(duì)象”。如在此所述的可保護(hù)對(duì)象是可保護(hù)的物理信息/數(shù)據(jù)。例如,可保護(hù)對(duì)象可以是但不限于,文件夾、文件、電子郵箱、數(shù)據(jù)庫(kù)、網(wǎng)站等等。如在此所述的保護(hù)對(duì)象是已經(jīng)被標(biāo)識(shí)和選擇用于保護(hù)的可保護(hù)對(duì)象。
除了創(chuàng)建保護(hù)組之外,用戶(hù)可以在高層指定他們想要何時(shí)(多久一次)和保護(hù)該保護(hù)組以及保護(hù)該組多長(zhǎng)時(shí)間。另外,用戶(hù)可指定他們想要保留該保護(hù)組的副本和歸檔多長(zhǎng)時(shí)間。這類(lèi)高層指定可跨越所有保護(hù)活動(dòng),如復(fù)制、歸檔、介質(zhì)管理和它們的任何組合?;谟脩?hù)提供的指定,創(chuàng)建用于保護(hù)保護(hù)組的對(duì)象的詳細(xì)計(jì)劃。
為恢復(fù)數(shù)據(jù),向用戶(hù)提供在邏輯名字空間中搜索或?qū)Ш揭远ㄎ挥脩?hù)要想恢復(fù)的數(shù)據(jù)的能力。隨后可使用到要恢復(fù)的數(shù)據(jù)的邏輯路徑來(lái)定位一個(gè)或多個(gè)可恢復(fù)對(duì)象,如下所述。每個(gè)可恢復(fù)對(duì)象表示保護(hù)對(duì)象或其一部分的版本。
圖3是依照本發(fā)明的實(shí)施例的數(shù)據(jù)保護(hù)系統(tǒng)300的流程圖,描述了位于產(chǎn)生位置的可保護(hù)對(duì)象的初始選擇和保護(hù)。如圖3所示,數(shù)據(jù)保護(hù)系統(tǒng)300將代理部署到產(chǎn)生位置305,以允許發(fā)現(xiàn)位于產(chǎn)生位置305的可保護(hù)對(duì)象并且標(biāo)識(shí)相應(yīng)于那些可保護(hù)對(duì)象的名字空間和名字空間元素。發(fā)布那些名字空間和名字空間元素以供用戶(hù)交互并在用戶(hù)界面303上顯示。
例如,圖4依照本發(fā)明實(shí)施例示出了在用戶(hù)界面303上發(fā)布和顯示以供用戶(hù)交互和選擇的多個(gè)名字空間和名字空間元素的框圖。如相關(guān)領(lǐng)域的技術(shù)人員將意識(shí)到的,圖4的說(shuō)明只是示例性的,并且本發(fā)明的實(shí)施例可顯示任何其它配置。例如,顯示可包括卷但沒(méi)有共享。
顯示400示出了DFS ROOT(DFS根)名字空間401和SERVERS(服務(wù)器)名字空間403。DFS ROOT名字空間401包括兩個(gè)名字空間元素405、407,兩者都是DFS根。在DFS ROOT名字空間401之下標(biāo)識(shí)的名字空間元素是\\ABCD\PUBLIC405和\\EFG\PRIVATE 407。另外,SERVERS名字空間403包括若干名字空間元素409、411、413、415、421、423、425。那些名字空間元素也可包括若干另外的名字空間元素。例如,SERVER1(服務(wù)器1)409包括若干名字空間元素類(lèi)型,諸如SHARES(共享)名字空間元素類(lèi)型411。同樣,SHARES名字空間元素類(lèi)型411包括SHARE1(共享1)名字空間元素413和SHARE2(共享2)名字空間元素415。另外,SHARES(共享)名字空間元素411、SHARE1(共享1)名字空間元素413和SHARE2(共享2)名字空間元素415都是可保護(hù)對(duì)象的邏輯表示。
用戶(hù)可通過(guò)選擇展開(kāi)或折疊框,諸如展開(kāi)框417來(lái)與名字空間和名字空間元素的顯示400交互。另外,用戶(hù)可通過(guò)選擇諸如選擇框419等選擇框來(lái)選擇一個(gè)或多個(gè)名字空間元素用于保護(hù)。在另一實(shí)施例中,除了能夠選擇名字空間元素用于保護(hù)之外,用戶(hù)還能選擇名字空間用于保護(hù)。
回來(lái)參考圖3,在用戶(hù)界面303上表示名字空間和名字空間元素的顯示400時(shí),用戶(hù)選擇用戶(hù)想要數(shù)據(jù)保護(hù)系統(tǒng)300保護(hù)哪個(gè)名字空間元素。另外,用戶(hù)可提供“保護(hù)意圖”用于所選擇的名字空間元素。如在此所述的保護(hù)意圖是如何保護(hù)所選擇的數(shù)據(jù)的高層描述。例如,用戶(hù)可指示通過(guò)每晚備份對(duì)象一次并且在一年內(nèi)維護(hù)每周的副本來(lái)保護(hù)所選擇的名字空間元素。所選擇的名字空間元素和相關(guān)聯(lián)的保護(hù)意圖從用戶(hù)界面303傳送到數(shù)據(jù)保護(hù)器301。
數(shù)據(jù)保護(hù)器301使用所選擇的名字空間元素和保護(hù)意圖,創(chuàng)建由所選擇的名字空間元素標(biāo)識(shí)的可保護(hù)對(duì)象的保護(hù)組。在選擇時(shí),可保護(hù)對(duì)象變成保護(hù)對(duì)象。保護(hù)組包括所選擇的名字空間元素、相關(guān)聯(lián)的保護(hù)對(duì)象的標(biāo)識(shí)、以及有關(guān)如何保護(hù)保護(hù)對(duì)象的詳細(xì)計(jì)劃。另外,數(shù)據(jù)保護(hù)器301創(chuàng)建至少一個(gè)自動(dòng)發(fā)現(xiàn)組,如下所述。在一個(gè)實(shí)施例中,數(shù)據(jù)保護(hù)器301也可創(chuàng)建已保存搜索例程,如下所述。
保護(hù)組的創(chuàng)建是通過(guò)將所選擇的邏輯對(duì)象(名字空間元素)映射到位于產(chǎn)生位置的合適的可保護(hù)對(duì)象來(lái)完成的。隨后添加所標(biāo)識(shí)的可保護(hù)對(duì)象作為保護(hù)組的成員并且變成保護(hù)對(duì)象。可將可保護(hù)對(duì)象添加到現(xiàn)有的保護(hù)組或者可形成一個(gè)新的保護(hù)組。另外,保護(hù)意圖用于創(chuàng)建保護(hù)保護(hù)組的組計(jì)劃。組計(jì)劃包括但不限于,資源計(jì)劃、準(zhǔn)備計(jì)劃和保護(hù)計(jì)劃,下面詳細(xì)地描述每個(gè)計(jì)劃。組計(jì)劃和組內(nèi)的計(jì)劃是由一個(gè)或多個(gè)作業(yè)和調(diào)度參數(shù)組成的。在資源計(jì)劃的情況下,標(biāo)識(shí)要分配資源的數(shù)量。分配的資源可包括但不限于,復(fù)制品的磁盤(pán)空間、諸如磁盤(pán)或磁帶等歸檔的可移動(dòng)介質(zhì)、復(fù)制品和可移動(dòng)介質(zhì)兩者的組合等等。調(diào)度參數(shù)標(biāo)識(shí)何時(shí)要執(zhí)行作業(yè)。
在生成保護(hù)組、保護(hù)數(shù)據(jù)的計(jì)劃、自動(dòng)發(fā)現(xiàn)組和已保存搜索之后,數(shù)據(jù)保護(hù)器301準(zhǔn)備產(chǎn)生位置305和存儲(chǔ)位置307用于保護(hù)。具體地,數(shù)據(jù)保護(hù)器部署代理,它們能夠?qū)?shù)據(jù)從產(chǎn)生位置305傳遞和傳送到存儲(chǔ)位置307。一旦已經(jīng)為保護(hù)準(zhǔn)備了產(chǎn)生位置和存儲(chǔ)位置,保護(hù)就開(kāi)始,并且將用于保護(hù)對(duì)象的數(shù)據(jù)副本從產(chǎn)生位置305傳送到存儲(chǔ)位置307。如下所述,所傳送的數(shù)據(jù)副本可作為復(fù)制品、歸檔副本、或者任何其它類(lèi)型的數(shù)據(jù)保護(hù)來(lái)維護(hù)。
如下面更詳細(xì)地討論的,在為保護(hù)準(zhǔn)備存儲(chǔ)位置307時(shí),數(shù)據(jù)保護(hù)器301分配必需的資源(通過(guò)資源計(jì)劃),用于按用戶(hù)所請(qǐng)求的存儲(chǔ)物理對(duì)象的副本。為開(kāi)始保護(hù),啟動(dòng)一個(gè)作業(yè),以創(chuàng)建所選擇的存儲(chǔ)在產(chǎn)生位置305的可保護(hù)對(duì)象的初始副本、發(fā)送副本、并且在存儲(chǔ)位置307存儲(chǔ)副本。如果副本是復(fù)制品,則通過(guò)執(zhí)行確認(rèn)作業(yè)來(lái)確認(rèn)它以保證它的準(zhǔn)確性。如果副本被歸檔到可移動(dòng)介質(zhì),則初始副本是所選擇可保護(hù)對(duì)象的完整備份。在生成初始副本之后,數(shù)據(jù)保護(hù)器301創(chuàng)建作業(yè)以周期性地更新副本,或者創(chuàng)建附加的副本(歸檔的情況也是如此),它具有已經(jīng)對(duì)位于產(chǎn)生位置305的信息作出的改變。
為標(biāo)識(shí)存儲(chǔ)在產(chǎn)生位置305、與所選擇的名字空間元素相關(guān)聯(lián)的可保護(hù)對(duì)象,數(shù)據(jù)保護(hù)器301將邏輯對(duì)象(名字空間元素)映射到物理對(duì)象(可保護(hù)對(duì)象)。再次參考圖4,顯示了兩個(gè)名字空間,DFS ROOTS 401和SERVERS名字空間403,其每一個(gè)具有多個(gè)名字空間元素。用戶(hù)可選擇一個(gè)或多個(gè)名字空間元素。在一個(gè)實(shí)施例中,當(dāng)選擇一個(gè)名字空間元素時(shí),也默認(rèn)地選擇了所有被包含的名字空間元素。使用圖4作為一個(gè)例子,如果用戶(hù)選擇SERVER 1409上的STORAGE GROUP1(存儲(chǔ)組1)421,則DATABASE A(數(shù)據(jù)庫(kù)A)和DATABASE B(數(shù)據(jù)庫(kù)B)也被自動(dòng)選擇。用戶(hù)可取消選擇一個(gè)或多個(gè)名字空間元素。
每個(gè)名字空間元素映射到位于產(chǎn)生位置305的一個(gè)或多個(gè)可保護(hù)對(duì)象。例如,名字空間元素\\ABCD\PUBLIC 405映射到多個(gè)可保護(hù)對(duì)象。參考圖5,名字空間元素\\ABCD\PUBLIC 505映射到位于產(chǎn)生位置305的三個(gè)可保護(hù)對(duì)象。具體地,名字空間元素\\ABCD\PUBLIC 505映射到在服務(wù)器1上的D\folder 507、服務(wù)器2上的D\folder 509和服務(wù)器3上的F\511。每個(gè)可保護(hù)對(duì)象507、509、511位于產(chǎn)生位置305。
為了使數(shù)據(jù)保護(hù)器能夠搜索和導(dǎo)航名字空間,以及從諸如名字空間元素505等邏輯對(duì)象映射到物理對(duì)象,創(chuàng)建將名字空間和名字空間元素相關(guān)聯(lián)的方案。方案是應(yīng)用程序名字空間的組成部分的抽象表示,其中可能的名字空間包括但不限于分布式文件系統(tǒng)和交換。
圖6依照本發(fā)明的一個(gè)實(shí)施例示出了一個(gè)這樣的方案的框圖,該方案用于將名字空間的類(lèi)型和名字空間元素的類(lèi)型相關(guān)聯(lián),表示卷方案。該方案被表示為一個(gè)有向圖,其中圖中的節(jié)點(diǎn)表示應(yīng)用程序名字空間內(nèi)的名字空間元素的類(lèi)型,而鏈接表示名字空間元素之間的包含和連接關(guān)系。名字空間元素類(lèi)型之間的包含關(guān)系和連接關(guān)系表示可以將那些類(lèi)型的實(shí)例相關(guān)的所有可能方式。參考圖6,包含關(guān)系被示為單箭頭線,而連接關(guān)系被示為雙箭頭線。例如,“DFS root”類(lèi)型的名字空間元素603可表示到“共享”類(lèi)型的名字空間元素609的連接617,而共享609可表示到卷611的連接619,或者到文件夾615的連接。
一種包含關(guān)系是名字空間元素之間直接的父/子關(guān)系,其中父節(jié)點(diǎn)在邏輯上包括子節(jié)點(diǎn)。例如,域601包含(623)服務(wù)器607,并包含(625)DFS根603。服務(wù)器607包含(627)共享609并包含(629)卷611。卷611包含(631)文件夾615并包含(633)固定點(diǎn)613。文件夾615可包含其它文件夾并包含文件(未示出)。
一種連接關(guān)系是源/目標(biāo)關(guān)系,其中源名字空間元素是目標(biāo)名字空間元素的邏輯同義詞,這意味著源和目標(biāo)路徑表示兩個(gè)不同的名字空間中相同的基礎(chǔ)對(duì)象。連接關(guān)系可以是一對(duì)多關(guān)系。即,單個(gè)源名字空間元素可具有多個(gè)目標(biāo)名字空間元素,在這種情況下,目標(biāo)表示可替換的位置,從這些位置檢索由源表示的基礎(chǔ)數(shù)據(jù)。例如,DFS根603可映射(617)到作為目標(biāo)的多個(gè)共享609。連接關(guān)系也可以是多對(duì)一的,連接的目標(biāo)可具有其它名字空間元素中的多個(gè)邏輯名字。例如,文件夾615可以具有許多映射(621)到文件夾615的共享609。
另外,多個(gè)邏輯名字空間元素可映射到同一可保護(hù)對(duì)象。例如,SHARE1名字空間元素513映射到服務(wù)器1上的E\PRIVATE 515。同樣,SHARE2名字空間元素517也可映射到服務(wù)器1上的E\PRIVATE 515。
圖7依照本發(fā)明的一個(gè)實(shí)施例示出了用于邏輯名字空間元素映射到物理可保護(hù)對(duì)象的方案的框圖。具體地,方案700示出域ABCD 701具有與DFS根(公共)703和三個(gè)服務(wù)器705的包含關(guān)系。同樣,DFS根(公共)703具有與三個(gè)DFS DFS鏈接707(包括鏈接1 707A、鏈接2 707B和鏈接3 707C)的包含關(guān)系。鏈接1 707A、鏈接2 707B和鏈接3 707C的每一個(gè)包括到共享711的連接關(guān)系。具體地,鏈接1 707A包括到\\server1\share的連接,鏈接2 707B包括到\\server2\share的連接,以及鏈接3 707C包括到\\server3\share的連接。\\server1\share、\\server2\share、\\server3\share的每一個(gè)是不同于DFS名字空間的名字空間中的邏輯對(duì)象。這是通過(guò)遍歷DFS鏈接707和共享711之間的連接719來(lái)示出的。具體地,\\server1\share、\\server2\share和\\server3\share在UNC服務(wù)器名字空間中。參考共享711,為完成\\ABCF\PUBLIC的映射,確定每個(gè)共享要映射到什么內(nèi)容。如上所述,共享可以映射到卷713和/或文件夾717。因而,繼續(xù)該例,確定邏輯對(duì)象\\server1\share映射到服務(wù)器1上的物理對(duì)象D\folder;\\server2\share映射到服務(wù)器2上的D\folder;以及\\server3\share映射到服務(wù)器3上的F\。服務(wù)器1上的D\folder、服務(wù)器2上的D\folder和服務(wù)器3上的F\是由邏輯對(duì)象\\ABCD\PUBLIC 505表示的三個(gè)物理可保護(hù)對(duì)象。
如圖7的例子所示,利用方案600(圖6),可以確定,從邏輯名字空間元素到存儲(chǔ)在由該名字空間元素表示的產(chǎn)生位置上的物理對(duì)象的映射關(guān)系。從方案600中的每個(gè)點(diǎn),可以知道,從該點(diǎn)可搜索什么關(guān)系以鏈接到映射的下一部分。
數(shù)據(jù)保護(hù)器的名字空間遍歷能力可應(yīng)用于任何類(lèi)型的應(yīng)用程序,用于瀏覽、搜索和從邏輯名字空間和名字空間元素映射到存儲(chǔ)在產(chǎn)生位置的物理對(duì)象。例如,通過(guò)用戶(hù)界面,用戶(hù)可指定搜索參數(shù),包括通配符,而且數(shù)據(jù)保護(hù)系統(tǒng)可以查詢(xún)現(xiàn)有的名字空間和名字空間元素列表并提供適當(dāng)?shù)慕Y(jié)果。用戶(hù)界面將傳遞搜索請(qǐng)求到數(shù)據(jù)保護(hù)器,并且數(shù)據(jù)保護(hù)器將結(jié)果發(fā)回用戶(hù)界面。數(shù)據(jù)保護(hù)器支持一般操作以在名字空間之間“搜索”、“導(dǎo)航”和“映射”,其中可以在一個(gè)方案中捕捉每個(gè)應(yīng)用程序名字空間的特定結(jié)構(gòu)。為擴(kuò)展數(shù)據(jù)保護(hù)器以支持新的應(yīng)用程序,隨后,僅需要提供一個(gè)模塊,以在該名字空間上執(zhí)行基本操作來(lái)遍歷包含關(guān)系和連接,并提供方案,它描述如何將那些操作組成到較大的“搜索”、“導(dǎo)航”和“映射”操作。
本發(fā)明的實(shí)施例同樣也可用于沒(méi)有數(shù)據(jù)保護(hù)的應(yīng)用程序。例如,可產(chǎn)生存儲(chǔ)報(bào)告,它說(shuō)明如何跨一個(gè)產(chǎn)生位置或者跨一個(gè)產(chǎn)生位置內(nèi)的一組服務(wù)器來(lái)使用存儲(chǔ)。在這樣一個(gè)實(shí)施例中,用戶(hù)可以配置一個(gè)報(bào)告來(lái)顯示在DFS根之下所有大于100MB的文件。
產(chǎn)生位置包括若干可保護(hù)的不同類(lèi)型對(duì)象。例如,圖8依照本發(fā)明的一個(gè)實(shí)施例示出了包含可由數(shù)據(jù)保護(hù)系統(tǒng)保護(hù)的可保護(hù)對(duì)象的產(chǎn)生位置800的框圖。包括在產(chǎn)生位置800中的是三個(gè)服務(wù)器801、803和805。每個(gè)服務(wù)器可以是它自己的計(jì)算設(shè)備,或者表現(xiàn)為單個(gè)服務(wù)器的計(jì)算設(shè)備組。每個(gè)服務(wù)器可以在一個(gè)中心位置,或者在地理位置上是分散的。
包括在諸如服務(wù)器-1 801等服務(wù)器中的是一個(gè)或多個(gè)“數(shù)據(jù)源”。如在此使用的數(shù)據(jù)源是由數(shù)據(jù)保護(hù)器操作的應(yīng)用程序數(shù)據(jù)的高層抽象。數(shù)據(jù)源將它的物理數(shù)據(jù)揭示為一個(gè)或多個(gè)可保護(hù)對(duì)象,并且數(shù)據(jù)源本身可以是可保護(hù)對(duì)象。數(shù)據(jù)源包含在單個(gè)服務(wù)器內(nèi),而服務(wù)器可包含一個(gè)或多個(gè)數(shù)據(jù)源。例如,服務(wù)器-1 801包括兩個(gè)數(shù)據(jù)源,數(shù)據(jù)源1(DS1)807和數(shù)據(jù)源2(DS2)821。
同樣,數(shù)據(jù)源1 807包含六個(gè)可保護(hù)對(duì)象809、811、813、815、817和819。類(lèi)似地,數(shù)據(jù)源2 821包含兩個(gè)可保護(hù)對(duì)象823和825。除了包含可保護(hù)對(duì)象的數(shù)據(jù)源之外,數(shù)據(jù)源本身可以是可保護(hù)對(duì)象。而且,可保護(hù)對(duì)象可包含其它可保護(hù)對(duì)象。例如,數(shù)據(jù)源3 835包含八個(gè)可保護(hù)對(duì)象827、829、831、833、837、839、841、843??杀Wo(hù)對(duì)象837包含可保護(hù)對(duì)象839,后者包含可保護(hù)對(duì)象841和843。
服務(wù)器-3 805包含四個(gè)數(shù)據(jù)源,數(shù)據(jù)源4(DS4)845、數(shù)據(jù)源5(DS5)851、數(shù)據(jù)源6(DS6)857和數(shù)據(jù)源7(DS7)859。四個(gè)數(shù)據(jù)源845,851,857和859的每一個(gè)都可以是可保護(hù)對(duì)象。包含在數(shù)據(jù)源4 845內(nèi)的是兩個(gè)可保護(hù)對(duì)象847和849。數(shù)據(jù)源5 851包含兩個(gè)可保護(hù)對(duì)象853和855,數(shù)據(jù)源6 857不包含可保護(hù)對(duì)象,數(shù)據(jù)源7 859包含兩個(gè)可保護(hù)對(duì)象861和863。
每個(gè)可保護(hù)對(duì)象是一個(gè)特定的可保護(hù)對(duì)象類(lèi)型,它允許數(shù)據(jù)保護(hù)系統(tǒng)在不同等級(jí)的粒度上揭示每個(gè)數(shù)據(jù)源中的可保護(hù)對(duì)象。例如,數(shù)據(jù)保護(hù)系統(tǒng)可將交換存儲(chǔ)組數(shù)據(jù)源整體地揭示為一個(gè)可保護(hù)對(duì)象,具有存儲(chǔ)組的保護(hù)對(duì)象類(lèi)型。也可將同一存儲(chǔ)組數(shù)據(jù)源劃分成多個(gè)可保護(hù)對(duì)象,每個(gè)可保護(hù)對(duì)象具有數(shù)據(jù)庫(kù)的可保護(hù)對(duì)象類(lèi)型。對(duì)于同一可保護(hù)對(duì)象,甚至可存在兩或多個(gè)不同可保護(hù)對(duì)象類(lèi)型。例如,數(shù)據(jù)保護(hù)系統(tǒng)可在塊級(jí)將卷揭示為一種可保護(hù)對(duì)象類(lèi)型的可保護(hù)對(duì)象,并且在文件級(jí)將它揭示為另一種可保護(hù)對(duì)象類(lèi)型的可保護(hù)對(duì)象。
數(shù)據(jù)源的例子包括但不限于操作系統(tǒng)、系統(tǒng)卷、交換存儲(chǔ)組、SQL數(shù)據(jù)庫(kù)等等。用于服務(wù)器的可保護(hù)對(duì)象類(lèi)型的例子包括但不限于,系統(tǒng)保護(hù)文件和操作系統(tǒng)數(shù)據(jù)存儲(chǔ),諸如注冊(cè)表和現(xiàn)用目錄。文件系統(tǒng)卷可保護(hù)對(duì)象類(lèi)型包括但不限于目錄和文件。文件系統(tǒng)卷實(shí)體可由鏈接到目標(biāo)名字空間元素的文件共享或DFS來(lái)定位。用于交換存儲(chǔ)組的可保護(hù)對(duì)象類(lèi)型包括但不限于數(shù)據(jù)庫(kù)和郵箱。
如上所述,每個(gè)可選擇的名字空間元素映射到一個(gè)或多個(gè)可保護(hù)對(duì)象,諸如可保護(hù)對(duì)象801-863(圖8)。每個(gè)可保護(hù)對(duì)象是一種可保護(hù)對(duì)象類(lèi)型,并且每個(gè)可保護(hù)對(duì)象在單個(gè)數(shù)據(jù)源內(nèi)。另外,每個(gè)數(shù)據(jù)源在一個(gè)產(chǎn)生位置的單個(gè)服務(wù)器內(nèi)。
再次參考用戶(hù)選擇名字空間元素\\ABCD\PUBLIC 405(圖4)并且繼續(xù)將名字空間元素映射到可保護(hù)對(duì)象的例子,如參考圖5和7所描述的,將依照本發(fā)明的一個(gè)實(shí)施例參考圖9A-9B描述將那些可保護(hù)對(duì)象及其關(guān)聯(lián)映射到保護(hù)組中。
從用戶(hù)的觀點(diǎn),保護(hù)組的成員是由用戶(hù)已經(jīng)選擇的名字空間元素定義的并且添加到保護(hù)組,以及作為自動(dòng)發(fā)現(xiàn)組(下面描述)的結(jié)果添加的可保護(hù)對(duì)象。另外,數(shù)據(jù)保護(hù)系統(tǒng)將允許用戶(hù)查看在保護(hù)組中每個(gè)名字空間元素映射到哪個(gè)保護(hù)對(duì)象以及那些保護(hù)對(duì)象每一個(gè)的狀態(tài)。
回來(lái)參考前面的例子,名字空間元素\\ABCD\PUBLIC 405映射到三個(gè)可保護(hù)對(duì)象服務(wù)器1上的D\Folder 507、服務(wù)器2上的D\Folder 509和服務(wù)器3上的F\511。接著通過(guò)參考圖7描述的映射,并且參考圖9A,服務(wù)器1上的D\Folder 507指包含在服務(wù)器1 901上的數(shù)據(jù)源D\907內(nèi)的文件夾909。服務(wù)器2上的D\folder509指包含在服務(wù)器2 903上的數(shù)據(jù)源D\935內(nèi)的文件夾927。最后,服務(wù)器3上的F\511指向服務(wù)器3 905上的數(shù)據(jù)源F\951。參考圖9B,名字空間元素\\ABCD\PUBLIC 505的選擇映射到參考圖9A描述的保護(hù)對(duì)象,并且那些對(duì)象與保護(hù)組930相關(guān)聯(lián)。如上所述,包含在所選擇的保護(hù)對(duì)象中的可保護(hù)對(duì)象可自動(dòng)地包括在保護(hù)組中。例如,部分地映射到服務(wù)器3 905上的F\951的\\ABCD\PUBLIC 505包括另外的可保護(hù)對(duì)象953和955,因?yàn)樗鼈儼诜?wù)器3905上的保護(hù)對(duì)象F\951內(nèi)。如在圖9B中所示,保護(hù)組930可包含位于不同服務(wù)器,諸如服務(wù)器1 901、服務(wù)器2 903和服務(wù)器3 905上的保護(hù)對(duì)象。
圖10依照本發(fā)明的一個(gè)實(shí)施例示出了包含所選擇的名字空間元素的保護(hù)組、所映射的保護(hù)對(duì)象和保護(hù)組的屬性的框圖。具體地,保護(hù)組1030包含名字空間元素\\ABCD\PUBLIC 1005,相對(duì)于前面的例子描述的每個(gè)所映射的保護(hù)對(duì)象,以及包含在所選擇的保護(hù)對(duì)象內(nèi)的保護(hù)對(duì)象。具體地,保護(hù)組1030包括保護(hù)對(duì)象服務(wù)器1上的D\folder 1009、服務(wù)器1上的D\folder 1027。另外,保護(hù)組1030包括服務(wù)器3上的保護(hù)對(duì)象F\1051,以及包含在保護(hù)對(duì)象服務(wù)器3上的F\1051內(nèi)的兩個(gè)保護(hù)對(duì)象1053、1055。
每個(gè)保護(hù)組,諸如保護(hù)組1030,包括一個(gè)組計(jì)劃1040,它可包括時(shí)間表1041、空間分配規(guī)則1043等。組計(jì)劃包括作業(yè)和用于保護(hù)組的其它信息。為了操作簡(jiǎn)單,保護(hù)組收集保護(hù)對(duì)象。在保護(hù)組中的所有保護(hù)對(duì)象共享從同一保護(hù)意圖集合生成的同一組計(jì)劃。
總之,保護(hù)組包括一個(gè)或多個(gè)保護(hù)名字空間元素。每個(gè)保護(hù)名字空間元素定位一個(gè)或多個(gè)可保護(hù)對(duì)象。保護(hù)對(duì)象進(jìn)而定位在數(shù)據(jù)源上。數(shù)據(jù)源可以是至多一個(gè)保護(hù)組的成員。在保護(hù)期間,周期性地重新評(píng)估保護(hù)組映射以標(biāo)識(shí)新發(fā)現(xiàn)的可保護(hù)對(duì)象(它們應(yīng)該潛在地包括在保護(hù)組本身之中),并且檢測(cè)到保護(hù)對(duì)象的邏輯路徑方面的變化。下面描述的這個(gè)周期性評(píng)估是使用自動(dòng)發(fā)現(xiàn)組完成的。
現(xiàn)在參考圖11,12,13,16,23B,25,26,27,28,29,30,31,32,33,34,35,36,38,39,41,48A,48B,48C,49A,49B,49C,52,53,54,55,56,57,58和59,描述由本發(fā)明各實(shí)施例實(shí)現(xiàn)的不同例程。相關(guān)領(lǐng)域的技術(shù)人員將意識(shí)到,可在如服務(wù)器等單個(gè)計(jì)算設(shè)備或者分布在許多計(jì)算設(shè)備上來(lái)實(shí)現(xiàn)這些例程。圖11,12,13,16,23B,25,26,27,28,29,30,31,32,33,34,35,36,38,39,41,48A,48B,48C,49A,49B,49C,52,53,54,55,56,57,58和59示出了用于執(zhí)行特定功能的塊。在另一實(shí)施例中,可使用更多或更少的塊。在本發(fā)明的一個(gè)實(shí)施例中,一個(gè)塊可單獨(dú)或組合地表示軟件程序、軟件對(duì)象、軟件功能、軟件子例程、軟件方法、軟件實(shí)例、代碼片斷、硬件操作或者用戶(hù)操作。
圖11是依照本發(fā)明一個(gè)實(shí)施例配置用于保護(hù)保護(hù)組的計(jì)劃的配置例程的流程圖。配置例程1100在塊1101開(kāi)始,并且在塊1103,例程從與用戶(hù)界面交互的用戶(hù)獲得名字空間元素的選擇和保護(hù)意圖。如將在下面描述的,用戶(hù)可選擇多個(gè)名字空間元素用于保護(hù)。所提供的保護(hù)意圖應(yīng)用于所有選擇的元素。在塊1105,所選擇的名字空間元素被映射到適當(dāng)?shù)目杀Wo(hù)對(duì)象。
在判定塊1107,判定是否已經(jīng)選擇另外的名字空間元素要與先前選擇的名字空間元素包括在一起。如果在判定塊1107判定已經(jīng)選擇了另外的名字空間元素,則例程返回,以在塊1103獲得所選擇的名字空間元素。然而,如果在判定塊1107判定沒(méi)有另外的名字空間元素,則在塊1109,數(shù)據(jù)保護(hù)器為所選擇的名字空間元素生成一個(gè)保護(hù)組,它將用于保護(hù)在塊1105映射的相關(guān)聯(lián)的可保護(hù)對(duì)象。添加到保護(hù)組的可保護(hù)對(duì)象變成保護(hù)對(duì)象。
在塊1111,基于由用戶(hù)在塊1103提供的保護(hù)意圖生成用于保護(hù)的組計(jì)劃。用于保護(hù)的組計(jì)劃可包括保護(hù)的頻率和所希望的保護(hù)類(lèi)型。保護(hù)類(lèi)型的例子包括,但不限于“后臺(tái)保護(hù)”、“備份保護(hù)”和歸檔保護(hù)。后臺(tái)保護(hù)指保護(hù)接近于連續(xù)(例如,每小時(shí)、一天24小時(shí)、一周七天地更新副本)的保護(hù)類(lèi)型。備份保護(hù)指調(diào)度保護(hù)在特定時(shí)間發(fā)生(例如,每晚一次)的保護(hù)類(lèi)型。組計(jì)劃應(yīng)用于保護(hù)組的所有保護(hù)對(duì)象。下面詳細(xì)地描述組計(jì)劃的生成并稱(chēng)之為“意圖轉(zhuǎn)換”(圖31-34)。
在塊1113,準(zhǔn)備包括保護(hù)對(duì)象的產(chǎn)生位置和將存儲(chǔ)對(duì)象副本的存儲(chǔ)位置用于保護(hù)。例如,數(shù)據(jù)保護(hù)器生成存儲(chǔ)在存儲(chǔ)位置的數(shù)據(jù)初始副本并且確認(rèn)準(zhǔn)確性。在保護(hù)已經(jīng)進(jìn)行之后,如由塊1115所示的,并且已經(jīng)復(fù)制和存儲(chǔ)與所選擇的名字空間元素相關(guān)聯(lián)的保護(hù)對(duì)象之后,例程在塊1117結(jié)束。
圖12依照本發(fā)明一個(gè)實(shí)施例示出了保護(hù)組創(chuàng)建例程,它更詳細(xì)地描述了在塊1109(圖11)引用的保護(hù)組的創(chuàng)建。保護(hù)組創(chuàng)建例程1200在塊1201開(kāi)始,并且在塊1203接收要進(jìn)行保護(hù)的名字空間元素的選擇。另外,還接收用于所選擇名字空間元素的保護(hù)意圖。在判定塊1205,判定所接收的名字空間元素是否要添加到一個(gè)新保護(hù)組或者是否要將它們包括在一個(gè)現(xiàn)有的保護(hù)組內(nèi)。如果判定不要將名字空間元素添加到新的保護(hù)組,則在塊1207獲得要將名字空間元素包括在哪個(gè)現(xiàn)有的保護(hù)組中的選擇。
在塊1209,解決與名字空間元素相關(guān)的數(shù)據(jù)源的重疊,如在下面將更詳細(xì)地描述的(圖13)。最后,在塊1211,更新現(xiàn)有的保護(hù)組以包括附加的名字空間元素和相關(guān)聯(lián)的可保護(hù)對(duì)象。另外,用戶(hù)可具有改變用于保護(hù)組的組計(jì)劃的選項(xiàng)。
回來(lái)參考判定塊1205,如果判定要將所接收的名字空間元素添加到新的保護(hù)組,則在塊1213解決與那些名字空間元素相關(guān)聯(lián)的數(shù)據(jù)源的任何重疊。在塊1215,接收新保護(hù)組的名字。在一個(gè)例子中,新保護(hù)組的名字可由用戶(hù)通過(guò)用戶(hù)界面提供。或者,保護(hù)組的名字可自動(dòng)地由數(shù)據(jù)保護(hù)系統(tǒng)本身生成。在塊1217,取決于先前向數(shù)據(jù)保護(hù)系統(tǒng)提供的保護(hù)意圖,為保護(hù)組創(chuàng)建組計(jì)劃。在塊1219,創(chuàng)建保護(hù)組的例程結(jié)束。
圖13依照本發(fā)明一個(gè)實(shí)施例示出了對(duì)應(yīng)于塊1209和1213(圖12)的重疊檢測(cè)例程,用于檢測(cè)包含在兩個(gè)或多個(gè)保護(hù)組中的數(shù)據(jù)源的重疊。重疊檢測(cè)例程1300在塊1301開(kāi)始,并且在判定塊1303,判定與所選擇的名字空間元素相關(guān)聯(lián)的任何可保護(hù)對(duì)象的包含數(shù)據(jù)源當(dāng)前是否包含在另一個(gè)保護(hù)組(現(xiàn)有保護(hù)組)中。如果判定沒(méi)有包含與所選擇的名字空間元素相關(guān)聯(lián)的可保護(hù)對(duì)象的數(shù)據(jù)源包含在現(xiàn)有保護(hù)組中,則例程在塊1313結(jié)束,并且將控制返回到適當(dāng)?shù)睦?,如保護(hù)組創(chuàng)建例程1200(圖12)。
然而,如果判定包含與所選擇的名字空間元素相關(guān)聯(lián)的可保護(hù)對(duì)象的數(shù)據(jù)源包含在一個(gè)現(xiàn)有的保護(hù)組中(即重疊),則在判定塊1305-1307,確定如何解決所檢測(cè)到的重疊。在本發(fā)明的一個(gè)實(shí)際實(shí)施例中,重疊的解決取決于用戶(hù)的確定。例如,如果檢測(cè)到重疊,則可向用戶(hù)提供從當(dāng)前保護(hù)組中排除重疊的數(shù)據(jù)源的可保護(hù)對(duì)象(“沖突的可保護(hù)對(duì)象”)的選項(xiàng)(1305),或者從現(xiàn)有保護(hù)組中移除包含導(dǎo)致重疊的沖突的可保護(hù)對(duì)象的數(shù)據(jù)源并將它添加到當(dāng)前的保護(hù)組(1307)。在一個(gè)替換的實(shí)施例中,可由用戶(hù)提供一個(gè)全局策略用于解決重疊,用于通過(guò)重疊檢測(cè)例程1300來(lái)進(jìn)行。在又一實(shí)施例中,添加一個(gè)可保護(hù)對(duì)象到將引起重疊的保護(hù)組的嘗試將導(dǎo)致故障。
在判定塊1305,確定是否要將沖突的可保護(hù)對(duì)象從目前要將它添加到的保護(hù)組(當(dāng)前的保護(hù)組)中排除。如果在判定塊1305確定要將沖突的可保護(hù)對(duì)象從當(dāng)前的保護(hù)組中排除,則從當(dāng)前的保護(hù)組中移除該可保護(hù)對(duì)象,但保留在引起沖突的現(xiàn)有保護(hù)組中,并且重疊檢測(cè)例程將控制返回到啟動(dòng)例程,如由塊1313例示的。
如果在判定塊1305確定不要將沖突的可保護(hù)對(duì)象從當(dāng)前的保護(hù)組中排除,則例程在判定塊判定是否要將可保護(hù)對(duì)象的數(shù)據(jù)源和包含在該數(shù)據(jù)源內(nèi)的所有保護(hù)對(duì)象從現(xiàn)有的保護(hù)組中移除,并且,將被移除的數(shù)據(jù)源、被移除的保護(hù)對(duì)象和沖突的可保護(hù)對(duì)象添加到當(dāng)前的保護(hù)組。如果從現(xiàn)有的保護(hù)組移除數(shù)據(jù)源和包含的保護(hù)對(duì)象并且添加到當(dāng)前的保護(hù)組,則例程在塊1313結(jié)束,將控制返回到它來(lái)自的適當(dāng)例程。
如果在判定塊1307確定不要從現(xiàn)有的保護(hù)組中移除沖突的可保護(hù)對(duì)象的數(shù)據(jù)源和所有包含的保護(hù)對(duì)象并且添加到當(dāng)前的保護(hù)組,則重疊保護(hù)例程1300生成一個(gè)重疊故障,如由塊1311例示的,并且在塊1313結(jié)束。
與用戶(hù)能夠通過(guò)選擇表示那些可保護(hù)對(duì)象的名字空間元素來(lái)保護(hù)存儲(chǔ)在產(chǎn)生位置上的物理對(duì)象(可保護(hù)對(duì)象)相似,用戶(hù)也可通過(guò)選擇表示要被恢復(fù)的物理對(duì)象的名字空間元素來(lái)恢復(fù)物理對(duì)象(可恢復(fù)對(duì)象)。圖14是依照本發(fā)明的一個(gè)實(shí)施例的數(shù)據(jù)保護(hù)系統(tǒng)的一個(gè)流程圖,它示出了用于恢復(fù)保護(hù)對(duì)象的恢復(fù)過(guò)程。為恢復(fù)對(duì)象,用戶(hù)選擇一個(gè)或多個(gè)表示要恢復(fù)的保護(hù)對(duì)象的名字空間元素。數(shù)據(jù)保護(hù)器1401響應(yīng)于接收名字空間元素的選擇,隨后查詢(xún)存儲(chǔ)位置1403以標(biāo)識(shí)與由用戶(hù)提供的所選擇的名字空間元素相關(guān)聯(lián)的可恢復(fù)對(duì)象的時(shí)間版本。在一個(gè)替換的實(shí)施例中,不必查詢(xún)存儲(chǔ)位置1403來(lái)標(biāo)識(shí)時(shí)間版本。例如,為從歸檔恢復(fù),數(shù)據(jù)保護(hù)器1401可通過(guò)搜索包含標(biāo)識(shí)可用的時(shí)間版本的信息的目錄或數(shù)據(jù)庫(kù)來(lái)標(biāo)識(shí)時(shí)間版本。合成所標(biāo)識(shí)的時(shí)間版本并作為可恢復(fù)數(shù)據(jù)的時(shí)間點(diǎn)提供給用戶(hù)。
用戶(hù)選擇一個(gè)要恢復(fù)的時(shí)間點(diǎn)并且提供該時(shí)間點(diǎn)的恢復(fù)意圖?;謴?fù)意圖的例子在下面更詳細(xì)地討論。在從用戶(hù)收到關(guān)于要恢復(fù)什么及相應(yīng)的恢復(fù)意圖時(shí),創(chuàng)建一個(gè)恢復(fù)計(jì)劃并且由數(shù)據(jù)保護(hù)器1401執(zhí)行,并且恢復(fù)位于存儲(chǔ)位置1403的適當(dāng)?shù)目苫謴?fù)對(duì)象并發(fā)送到產(chǎn)生位置1405。
圖15是依照本發(fā)明一個(gè)實(shí)施例示出可包含在存儲(chǔ)位置1403上的可恢復(fù)對(duì)象的更詳細(xì)視圖的框圖。通常,恢復(fù)將被損壞或丟失的保護(hù)對(duì)象(或其部分)帶回到先前的時(shí)間版本。時(shí)間版本可以是離散的或接近連續(xù)的。離散的時(shí)間版本由保護(hù)對(duì)象的持續(xù)時(shí)間點(diǎn)完整副本生成。離散時(shí)間版本的恢復(fù)可只要求保護(hù)對(duì)象的恢復(fù)或者可在恢復(fù)之后要求附加的恢復(fù)處理。接近連續(xù)的時(shí)間版本是由與保護(hù)對(duì)象相關(guān)聯(lián)的日志的持續(xù)時(shí)間點(diǎn)副本生成的。恢復(fù)通過(guò)日志的滾進(jìn)(roll forward)應(yīng)用進(jìn)行。在本發(fā)明的一個(gè)實(shí)施例中,滾進(jìn)可在包含在日志內(nèi)的任何時(shí)間點(diǎn)停止。
如在此所述的可恢復(fù)對(duì)象表示恢復(fù)保護(hù)對(duì)象的可能性。每個(gè)可恢復(fù)對(duì)象可以從一個(gè)或多個(gè)恢復(fù)源生成?;謴?fù)源可定位在與復(fù)制品相關(guān)聯(lián)的、復(fù)制品內(nèi)的、歸檔磁帶上的或者磁盤(pán)上的歸檔副本的時(shí)間版本上。
現(xiàn)在參考圖15,保護(hù)對(duì)象1509可包含一個(gè)或多個(gè)可恢復(fù)對(duì)象1511、1513、1515、1517、1519、1521。通常,可恢復(fù)對(duì)象可比保護(hù)對(duì)象更精細(xì)。例如,保護(hù)對(duì)象可以是文件夾,諸如服務(wù)器1上的D\folder 1509。保護(hù)對(duì)象1509可包含多個(gè)可恢復(fù)對(duì)象。例如,保護(hù)對(duì)象服務(wù)器1上的D\folder 1509可包含六個(gè)可恢復(fù)對(duì)象,包括文件1 1511、文件2 1513、文件3 1515、文件4 1517、文件5 1519和文件6 1521。另外,保護(hù)對(duì)象1509也是可恢復(fù)對(duì)象。
保護(hù)對(duì)象和保護(hù)方法的最初選擇常常確定可用的可恢復(fù)對(duì)象和/或恢復(fù)所需的工作。例如,如果保護(hù)對(duì)象是包含郵箱的數(shù)據(jù)庫(kù)的交換存儲(chǔ)組,則在該存儲(chǔ)組內(nèi)的所有數(shù)據(jù)庫(kù)可隱含地被保護(hù)。完整的存儲(chǔ)組或者一個(gè)或多個(gè)數(shù)據(jù)庫(kù)可被恢復(fù)并且因而是可恢復(fù)對(duì)象。如果保護(hù)僅由歸檔執(zhí)行(下面描述)并且沒(méi)有復(fù)制,則郵箱恢復(fù)可能是非常耗時(shí)的(昂貴的)。如果保護(hù)是由復(fù)制以及歸檔執(zhí)行的,則從復(fù)制品恢復(fù)郵箱可以是非??斓?便宜的)。
如果保護(hù)對(duì)象是存儲(chǔ)組的數(shù)據(jù)庫(kù),則可不整個(gè)地保護(hù)存儲(chǔ)組而只保護(hù)包含在所選擇的數(shù)據(jù)庫(kù)內(nèi)的郵箱。然而,如果保護(hù)對(duì)象是郵箱,則沒(méi)有相關(guān)聯(lián)的數(shù)據(jù)庫(kù)或存儲(chǔ)組的隱含保護(hù)。如果僅通過(guò)歸檔而不通過(guò)復(fù)制執(zhí)行保護(hù),則歸檔不可能有能力恢復(fù)除所選擇的郵箱之外的任何內(nèi)容??晒┨鎿Q地,如果已知郵箱被認(rèn)為是作為不同的保護(hù)組的一部分復(fù)制的數(shù)據(jù)庫(kù)的一部分,則郵箱恢復(fù)可從其它保護(hù)組的復(fù)制品而不是從歸檔介質(zhì)進(jìn)行。
圖16是依照本發(fā)明的一個(gè)實(shí)施例示出從存儲(chǔ)位置恢復(fù)保護(hù)對(duì)象的恢復(fù)例程?;謴?fù)例程1600在塊1601開(kāi)始,并且在塊1603從與顯示在用戶(hù)界面上的名字空間元素接口的用戶(hù)接收名字空間元素的選擇。用戶(hù)也可提供恢復(fù)意圖用于要恢復(fù)的數(shù)據(jù)。在塊1605,接收要恢復(fù)數(shù)據(jù)的特定時(shí)間點(diǎn)的選擇。在本發(fā)明的一個(gè)實(shí)施例中,用戶(hù)提供要進(jìn)行恢復(fù)的時(shí)間點(diǎn)。在另一個(gè)實(shí)施例中,可標(biāo)識(shí)所選擇的名字空間元素的時(shí)間版本并提供給用戶(hù)用于選擇。
在塊1607,確定是否已經(jīng)選擇另外的元素用于恢復(fù)。如果確定已經(jīng)選擇了另外的元素用于恢復(fù),則例程返回至塊1603并且接收那些另外的要恢復(fù)的名字空間元素的選擇。然而,如果確定沒(méi)有另外的元素要恢復(fù),則在塊1609使用上述映射方案和接收的恢復(fù)意圖將可恢復(fù)對(duì)象映射到位于存儲(chǔ)位置的適當(dāng)?shù)幕謴?fù)源。
在標(biāo)識(shí)必要的恢復(fù)源后,在塊1611創(chuàng)建恢復(fù)計(jì)劃。恢復(fù)計(jì)劃包括從適當(dāng)?shù)幕謴?fù)源合成可恢復(fù)對(duì)象版本中要求的時(shí)間點(diǎn)的過(guò)程。在塊1613,執(zhí)行計(jì)劃并且恢復(fù)所標(biāo)識(shí)的可恢復(fù)對(duì)象。在塊1615,恢復(fù)例程結(jié)束。
如上面提到的,除了創(chuàng)建保護(hù)組之外,數(shù)據(jù)保護(hù)系統(tǒng)還生成自動(dòng)發(fā)現(xiàn)組和已保存搜索條件。自動(dòng)發(fā)現(xiàn)組和已保存搜索條件提供一種自動(dòng)化裝置來(lái)向用戶(hù)通知產(chǎn)生位置的改變。例如,改變可包括如服務(wù)器等計(jì)算設(shè)備、交換存儲(chǔ)組、數(shù)據(jù)庫(kù)、卷和共享的添加或刪除,以及在名字空間元素和可保護(hù)對(duì)象之間映射方面的改變。為用戶(hù)提供產(chǎn)生位置改變的通知使用戶(hù)能夠采取適當(dāng)?shù)膭?dòng)作來(lái)保護(hù)需要保護(hù)的新數(shù)據(jù),并且在已經(jīng)重新定位或移除數(shù)據(jù)時(shí)調(diào)整它們的保護(hù)策略。
自動(dòng)發(fā)現(xiàn)組是一種機(jī)制,用于描述什么內(nèi)容應(yīng)該作為查詢(xún)而不是作為一組離散的物理資源來(lái)保護(hù)。例如,假定組織將所有文件服務(wù)器命名為\\FILESRV*,諸如\\FILESRV1、\\FILESRV2等等。該組織的用戶(hù)可以創(chuàng)建一個(gè)自動(dòng)發(fā)現(xiàn)組,它周期性地搜索在任何名為\\FILESRV*的服務(wù)器上的所有共享。自動(dòng)發(fā)現(xiàn)組將找到所有這樣的共享并允許用戶(hù)或者選擇或者拒絕任何位于這些共享或者與這些共享相關(guān)聯(lián)的可保護(hù)對(duì)象的保護(hù)。另外,在本發(fā)明的一個(gè)實(shí)施例中,自動(dòng)發(fā)現(xiàn)組可周期性地重新評(píng)估并且向用戶(hù)通知任何新的共享,并且給用戶(hù)或者批準(zhǔn)或者拒絕那些新共享的保護(hù)的機(jī)會(huì)。而且,重新評(píng)估標(biāo)識(shí)任何已經(jīng)被移除的現(xiàn)有共享并且給用戶(hù)提供移除的通知。
自動(dòng)發(fā)現(xiàn)組還可由數(shù)據(jù)保護(hù)器用于跟蹤名字空間元素與可保護(hù)對(duì)象之間的映射。再次參考上面的例子,假定用戶(hù)保護(hù)路徑\\ABCD\PUBLIC。數(shù)據(jù)保護(hù)系統(tǒng)自動(dòng)地生成包含名字\\ABCD\PUBLIC和到如服務(wù)器1上的D\folder、服務(wù)器2上的D\folder和服務(wù)器3上的F\folder等其保護(hù)對(duì)象的映射的自動(dòng)發(fā)現(xiàn)組。如果在將來(lái)\\ABCD\PUBLIC被改變成指向不同的文件夾,或者在同一服務(wù)器上或者在不同服務(wù)器上,則數(shù)據(jù)保護(hù)器將這種改變通知給用戶(hù),并且給用戶(hù)調(diào)整保護(hù)的機(jī)會(huì)。
圖17-24依照本發(fā)明一個(gè)實(shí)施例示出了創(chuàng)建和使用自動(dòng)發(fā)現(xiàn)組的流程圖。為了說(shuō)明圖17-24,假定數(shù)據(jù)保護(hù)系統(tǒng)剛好已經(jīng)安裝在需要保護(hù)的包含若干服務(wù)器的工作空間(示為產(chǎn)生位置1703)上。
在初始化數(shù)據(jù)保護(hù)系統(tǒng)1700時(shí),數(shù)據(jù)保護(hù)器1701查詢(xún)產(chǎn)生位置1703以標(biāo)識(shí)代表包含在產(chǎn)生位置內(nèi)的可保護(hù)對(duì)象的名字空間和名字空間元素。數(shù)據(jù)保護(hù)器1701通過(guò)用戶(hù)界面1705以用于用戶(hù)交互和選擇的名字空間及包含的名字空間元素的形式向用戶(hù)發(fā)布名字空間和名字空間元素。
與用戶(hù)界面1705交互的用戶(hù)可選擇用于保護(hù)的一個(gè)或多個(gè)名字空間元素,如\\ABCD\PUBLIC名字空間元素1707。除了選擇用于保護(hù)的名字空間元素之外,用戶(hù)提供標(biāo)識(shí)用戶(hù)想要如何保護(hù)相關(guān)聯(lián)的可保護(hù)對(duì)象的保護(hù)意圖。所選擇的名字空間元素和保護(hù)意圖的指示返回給數(shù)據(jù)保護(hù)器1701。
現(xiàn)在參考圖18,數(shù)據(jù)保護(hù)器1701將名字空間元素的選擇映射到位于產(chǎn)生位置1703的可保護(hù)對(duì)象。例如,基于名字空間元素\\ABCD\PUBLIC 1707的選擇,數(shù)據(jù)保護(hù)器使用如上所述的名字空間方案將該名字空間元素映射到可保護(hù)對(duì)象。該映射標(biāo)識(shí)名字空間元素\\ABCD\PUBLIC 1707映射到服務(wù)器1上的可保護(hù)對(duì)象D\folder1709和服務(wù)器2上的可保護(hù)對(duì)象D\folder 1711。在另一實(shí)施例中,在初始發(fā)現(xiàn)名字空間元素期間,元素可在那時(shí)被映射到相應(yīng)的可保護(hù)對(duì)象。
數(shù)據(jù)保護(hù)器1701創(chuàng)建包含所選擇的名字空間元素的保護(hù)組、要變成保護(hù)對(duì)象的可保護(hù)對(duì)象的標(biāo)識(shí)、自動(dòng)發(fā)現(xiàn)組1713和自動(dòng)發(fā)現(xiàn)組表1715。如討論的,基于用戶(hù)提供的意圖,保護(hù)組還包括組計(jì)劃,它描述要如何實(shí)際地保護(hù)保護(hù)組。自動(dòng)發(fā)現(xiàn)組1713包括名字空間搜索參數(shù),諸如\\ABCD\PUBLIC\*,以及該名字空間元素到保護(hù)對(duì)象服務(wù)器1上的D\folder和服務(wù)器2上的D\folder的當(dāng)前映射。創(chuàng)建包含用于所選擇的名字空間元素的名字空間搜索參數(shù)的自動(dòng)發(fā)現(xiàn)組1713為數(shù)據(jù)保護(hù)器提供隨后搜索對(duì)匹配名字空間搜索參數(shù)的產(chǎn)生位置的添加、刪除和重新映射的能力。將任何這樣的改變通過(guò)警報(bào)向用戶(hù)報(bào)告,因?yàn)樗鼈兛赡芘c保護(hù)有關(guān)系??捎酶鞣N形式向用戶(hù)提供警報(bào)。例如,可通過(guò)用戶(hù)界面、電子郵件、頁(yè)面、聲音消息等提供警報(bào)。
除了創(chuàng)建自動(dòng)發(fā)現(xiàn)組1713之外,數(shù)據(jù)保護(hù)器1701創(chuàng)建自動(dòng)發(fā)現(xiàn)組表1715,它包括當(dāng)前映射到保護(hù)對(duì)象的標(biāo)識(shí)和有關(guān)那些保護(hù)對(duì)象的信息。具體地,信息包括映射到保護(hù)對(duì)象是否匹配包含在自動(dòng)發(fā)現(xiàn)組1713中的自動(dòng)發(fā)現(xiàn)組參數(shù),如在匹配列1717所指示的;保護(hù)對(duì)象目前是否為待決的用戶(hù)動(dòng)作,如由待決列1719指示的;被映射的保護(hù)對(duì)象目前是否在組計(jì)劃的保護(hù)之下,如由在計(jì)劃中保護(hù)(“PP”)列1721來(lái)指示的;以及被映射的對(duì)象目前是否由用戶(hù)保護(hù),如由受用戶(hù)保護(hù)(“PU”)列1731來(lái)指示的。如下所述,對(duì)象可受到用戶(hù)保護(hù)但沒(méi)有受到數(shù)據(jù)保護(hù)系統(tǒng)保護(hù)。例如,用戶(hù)可指示它們想要保護(hù)一個(gè)特定的對(duì)象,從而使該對(duì)象受到用戶(hù)保護(hù),然而,該對(duì)象在已經(jīng)為該保護(hù)對(duì)象完成意圖轉(zhuǎn)換之后才會(huì)變成受計(jì)劃保護(hù)。
依照本發(fā)明一個(gè)實(shí)施例,在創(chuàng)建保護(hù)組、自動(dòng)發(fā)現(xiàn)組、組計(jì)劃和自動(dòng)發(fā)現(xiàn)組表、數(shù)據(jù)保護(hù)系統(tǒng)之后,數(shù)據(jù)保護(hù)系統(tǒng)為保護(hù)準(zhǔn)備產(chǎn)生位置和存儲(chǔ)位置。在已經(jīng)為保護(hù)準(zhǔn)備了這些位置(例如資源計(jì)劃)之后,執(zhí)行用于創(chuàng)建所選擇的可保護(hù)對(duì)象的初始副本的初始步驟(準(zhǔn)備計(jì)劃),并且隨后保護(hù)開(kāi)始(保護(hù)計(jì)劃)。
在保護(hù)了所選擇保護(hù)對(duì)象之后的某個(gè)預(yù)定的時(shí)間,數(shù)據(jù)保護(hù)系統(tǒng)運(yùn)行自動(dòng)發(fā)現(xiàn)組并且重新映射產(chǎn)生位置1703。例如,自動(dòng)發(fā)現(xiàn)組可被調(diào)度為每晚運(yùn)行一次。在晚上或者在產(chǎn)生位置的活動(dòng)少的某個(gè)時(shí)間運(yùn)行自動(dòng)發(fā)現(xiàn)組,減少了施加在產(chǎn)生位置上的負(fù)載總量。
返回到參考圖17-24描述的例子,為了說(shuō)明的目的,運(yùn)行自動(dòng)發(fā)現(xiàn)組,并且自動(dòng)發(fā)現(xiàn)組結(jié)果1723(圖19)標(biāo)識(shí)只有匹配自動(dòng)發(fā)現(xiàn)組搜索參數(shù)\\ABCD\PUBLIC\*的可保護(hù)對(duì)象是保護(hù)對(duì)象服務(wù)器2上的D\folder。數(shù)據(jù)保護(hù)器1701將自動(dòng)發(fā)現(xiàn)組結(jié)果1723與自動(dòng)發(fā)現(xiàn)組表1715比較。在本例中,它標(biāo)識(shí)保護(hù)對(duì)象服務(wù)器1上的D\folder不再匹配自動(dòng)發(fā)現(xiàn)組搜索參數(shù)。服務(wù)器1上的D\folder可因各種原因不再匹配搜索參數(shù)。例如,服務(wù)器1上的D\folder可不再存在,或者服務(wù)器1上的D\folder不再在\ABCD\PUBLIC之下被映射。
在比較之后,更新表1715以指示保護(hù)對(duì)象服務(wù)器1上的D\folder沒(méi)有在結(jié)果中返回,并且因此不再匹配自動(dòng)發(fā)現(xiàn)組搜索參數(shù),如在匹配列1717中由“N”所示的。另外,為保護(hù)對(duì)象服務(wù)器1上的D\folder更新自動(dòng)發(fā)現(xiàn)組表1715,以指示用戶(hù)交互目前對(duì)于該保護(hù)對(duì)象是待決的,如在列1719中由“Y”所示的。用戶(hù)交互目前是待決的,因?yàn)樵摫Wo(hù)對(duì)象不再匹配自動(dòng)發(fā)現(xiàn)組參數(shù)。服務(wù)器1上的D\folder保持被標(biāo)記為在計(jì)劃之下保護(hù)和受到用戶(hù)保護(hù),如在PP列1721和PU列1731中由Y所示的。
還更新自動(dòng)發(fā)現(xiàn)組表1715以指示服務(wù)器2上的D\folder匹配于自動(dòng)發(fā)現(xiàn)組搜索參數(shù)并且保持在計(jì)劃中和受用戶(hù)保護(hù),如分別在列1721和1731中由“Y”所示的。最后,存在對(duì)于保護(hù)對(duì)象服務(wù)器2上的D\folder沒(méi)有用戶(hù)動(dòng)作是待決的指示,因?yàn)樗_實(shí)匹配并且受到保護(hù),如在待決列1719中由“N”例示。
現(xiàn)在參考圖20,在自動(dòng)發(fā)現(xiàn)組已經(jīng)運(yùn)行之后第二天上午,自動(dòng)發(fā)現(xiàn)組表已經(jīng)被更新并且生成了警報(bào),用戶(hù)訪問(wèn)數(shù)據(jù)保護(hù)系統(tǒng),并且從數(shù)據(jù)保護(hù)系統(tǒng)向用戶(hù)提供了一個(gè)通知,保護(hù)對(duì)象服務(wù)器1上的D\folder不再匹配自動(dòng)發(fā)現(xiàn)組搜索參數(shù)。
作為響應(yīng),數(shù)據(jù)保護(hù)系統(tǒng)從用戶(hù)接收從保護(hù)組中移除該保護(hù)對(duì)象的指示。數(shù)據(jù)保護(hù)器1701更新自動(dòng)發(fā)現(xiàn)組,從而從保護(hù)組中移除服務(wù)器1上的D\folder的映射并更新自動(dòng)發(fā)現(xiàn)組表1715。具體地,將服務(wù)器1上的D\folder標(biāo)記為不再受用戶(hù)保護(hù),如由PU列1731中的“N”所示,并且標(biāo)記為不再待決,如由列1719中的“N”所示。在這一點(diǎn)上,服務(wù)器1上的D\folder保持由計(jì)劃保護(hù),因?yàn)檫€沒(méi)有重新運(yùn)行意圖轉(zhuǎn)換以從保護(hù)組中移除服務(wù)器1上的D\folder。
對(duì)象在自動(dòng)發(fā)現(xiàn)表1715中維護(hù)并且被標(biāo)記為不受用戶(hù)保護(hù),因此通過(guò)自動(dòng)發(fā)現(xiàn)例程的后續(xù)執(zhí)行來(lái)標(biāo)識(shí),它將不向用戶(hù)呈現(xiàn)為待決的批準(zhǔn),因?yàn)橐呀?jīng)將它從保護(hù)中排除了。由于對(duì)象不再受用戶(hù)保護(hù),因此它變成可保護(hù)對(duì)象。
圖21繼續(xù)先前的例子,并且在用戶(hù)已經(jīng)指示它們不再想要保護(hù)服務(wù)器1上的D\folder之后的某個(gè)時(shí)間點(diǎn)執(zhí)行意圖轉(zhuǎn)換。在意圖轉(zhuǎn)換執(zhí)行之后,更新組計(jì)劃并且從保護(hù)組中移除服務(wù)器1上的D\folder。即使服務(wù)器1上的D\folder不再受保護(hù)組保護(hù),保護(hù)組的現(xiàn)有時(shí)間版本也保持存儲(chǔ)在存儲(chǔ)位置,并且可用于將服務(wù)器1上的D\folder恢復(fù)至不再由計(jì)劃保護(hù)的點(diǎn)。在意圖轉(zhuǎn)換完成后,更新自動(dòng)發(fā)現(xiàn)組表1715。具體地,服務(wù)器1上的D\folder被標(biāo)記為不受計(jì)劃保護(hù),如在PP列1721中由“N”所示的。
在意圖轉(zhuǎn)換已經(jīng)完成之后的某個(gè)時(shí)間點(diǎn),自動(dòng)發(fā)現(xiàn)組再次執(zhí)行,查詢(xún)產(chǎn)生位置1703并且將自動(dòng)發(fā)現(xiàn)組搜索參數(shù)重新映射到位于產(chǎn)生位置1703的對(duì)象。在完成自動(dòng)發(fā)現(xiàn)組搜索參數(shù)的映射之后,提供自動(dòng)發(fā)現(xiàn)組結(jié)果1725并且包括一個(gè)指示,即搜索參數(shù)映射到可保護(hù)對(duì)象服務(wù)器2上的D\folder和新的可保護(hù)對(duì)象服務(wù)器2上的E\folder。再次,數(shù)據(jù)保護(hù)器1701將結(jié)果與自動(dòng)發(fā)現(xiàn)組表1715比較。該比較指示,保護(hù)對(duì)象服務(wù)器2上的D\folder再次匹配自動(dòng)發(fā)現(xiàn)組搜索參數(shù),因此不是待決的用戶(hù)動(dòng)作,并且保持受用戶(hù)和組計(jì)劃兩者的保護(hù)。另外,新的可保護(hù)對(duì)象服務(wù)器2上的E\folder目前未受組計(jì)劃保護(hù),如由PP列1721中“N”所示的;目前未受用戶(hù)保護(hù),如由PU列1731中“N”所示的;并且是目前待決的用戶(hù)動(dòng)作,如由待決列1719中“Y”所示的。在完成比較后,更新自動(dòng)發(fā)現(xiàn)組表1715以標(biāo)識(shí)新的映射和所有對(duì)象的狀態(tài)。
可保護(hù)對(duì)象服務(wù)器2上的E\folder目前未受計(jì)劃和受用戶(hù)保護(hù),因?yàn)樗怯勺詣?dòng)發(fā)現(xiàn)組新標(biāo)識(shí)的。數(shù)據(jù)保護(hù)系統(tǒng)1701生成提供給用戶(hù)的警報(bào),指示新的可保護(hù)對(duì)象已經(jīng)被添加到與保護(hù)組中的保護(hù)對(duì)象相似的產(chǎn)生位置。生成警報(bào),是因?yàn)橛脩?hù)可能對(duì)作為保護(hù)組的一部分另外保護(hù)新標(biāo)識(shí)的可保護(hù)對(duì)象感興趣。
在圖22中,用戶(hù)已經(jīng)收到警報(bào)并且提供應(yīng)答以開(kāi)始對(duì)由自動(dòng)發(fā)現(xiàn)組自動(dòng)標(biāo)識(shí)的新標(biāo)識(shí)的可保護(hù)對(duì)象的保護(hù)??杀Wo(hù)對(duì)象服務(wù)器2上的E\folder也被添加到保護(hù)組并且因而變成可保護(hù)對(duì)象。同樣,數(shù)據(jù)保護(hù)器1701將一個(gè)指示添加到自動(dòng)發(fā)現(xiàn)組表1715,即對(duì)象服務(wù)器2上的E\folder不再是待決的用戶(hù)動(dòng)作、受用戶(hù)保護(hù)、但在這點(diǎn)上還沒(méi)有受計(jì)劃保護(hù)。
圖23A繼續(xù)上面的例子,在由用戶(hù)指示將新標(biāo)識(shí)的可保護(hù)對(duì)象添加到保護(hù)組之后的某個(gè)時(shí)間,意圖轉(zhuǎn)換執(zhí)行并且服務(wù)器2上的E\folder變成受計(jì)劃保護(hù)。在完成意圖轉(zhuǎn)換之后,更新自動(dòng)發(fā)現(xiàn)組日志1715以指示服務(wù)器2上的E\folder現(xiàn)在受計(jì)劃保護(hù),如由PP列1721中“Y”所示的。
在意圖轉(zhuǎn)換已經(jīng)完成之后的某個(gè)時(shí)間,數(shù)據(jù)保護(hù)器1701再次運(yùn)行自動(dòng)發(fā)現(xiàn)組例程,并且將自動(dòng)發(fā)現(xiàn)組搜索參數(shù)\\ABCD\PUBLIC\*重新映射到位于產(chǎn)生位置1703的對(duì)象。在完成自動(dòng)發(fā)現(xiàn)組例程后,數(shù)據(jù)保護(hù)器已經(jīng)標(biāo)識(shí)了服務(wù)器2上的D\folder和服務(wù)器3上的E\folder的映射1729。那些結(jié)果用于比較和更新自動(dòng)發(fā)現(xiàn)組表1715以指示保護(hù)對(duì)象服務(wù)器2上的D\folder再次匹配自動(dòng)發(fā)現(xiàn)組搜索參數(shù)、不是待決的用戶(hù)動(dòng)作、保持受數(shù)據(jù)保護(hù)系統(tǒng)保護(hù)、并且保持受用戶(hù)保護(hù)。另外,指示先前的保護(hù)對(duì)象服務(wù)器2上的E\folder沒(méi)有被自動(dòng)發(fā)現(xiàn)例程標(biāo)識(shí),但保持受用戶(hù)和保護(hù)計(jì)劃保護(hù),并且因此是待決的用戶(hù)動(dòng)作。最后,新的可保護(hù)對(duì)象服務(wù)器3上的E\folder的添加被標(biāo)識(shí)為匹配自動(dòng)發(fā)現(xiàn)組搜索參數(shù),然而,目前不受用戶(hù)或保護(hù)計(jì)劃保護(hù),因?yàn)樗潜恍聵?biāo)識(shí)的,并且因此是待決的用戶(hù)動(dòng)作。在自動(dòng)發(fā)現(xiàn)表更新后,數(shù)據(jù)保護(hù)器1701生成一個(gè)警報(bào),它包括先前的保護(hù)對(duì)象服務(wù)器2上的E\folder不再匹配自動(dòng)發(fā)現(xiàn)組搜索參數(shù),以及服務(wù)器3上的E\folder已經(jīng)被添加到產(chǎn)生位置并且匹配自動(dòng)發(fā)現(xiàn)組搜索參數(shù)的標(biāo)識(shí)。這個(gè)警報(bào)可向用戶(hù)指示,保護(hù)對(duì)象服務(wù)器2上的E\folder已經(jīng)移動(dòng)到服務(wù)器3上的E\folder。在沒(méi)有自動(dòng)發(fā)現(xiàn)這樣一個(gè)改變的情況下,用戶(hù)可能一直在繼續(xù)保護(hù)舊對(duì)象并且沒(méi)有為新對(duì)象提供保護(hù)。
圖23B依照本發(fā)明的一個(gè)實(shí)施例示出了用于解決保護(hù)名字空間元素,如在圖23A中檢測(cè)到的名字空間元素的重新映射的重映射解決例程。當(dāng)判定已經(jīng)移動(dòng)了一個(gè)名字空間元素時(shí),重映射解決例程2300運(yùn)行。例如,先前被映射到服務(wù)器2上的E\folder的\\ABCD\PUBLIC\LINK3可能已經(jīng)被重映射到服務(wù)器3上的E\folder。
重映射解決例程2300在塊2301開(kāi)始。在塊2303,評(píng)估自動(dòng)發(fā)現(xiàn)組,并且確定保護(hù)名字空間元素已經(jīng)從一個(gè)可保護(hù)對(duì)象重映射到另一個(gè)可保護(hù)對(duì)象。在判定塊2305-2309,確定如何解決重映射。
具體地,在判定塊2305確定是否應(yīng)當(dāng)排他地保護(hù)新映射。如果確定新映射應(yīng)當(dāng)排他地保護(hù),則在塊2311將舊映射標(biāo)記為不受用戶(hù)保護(hù),并且將新映射標(biāo)記為受用戶(hù)保護(hù)。然而,如果確定新映射不應(yīng)該排他地保護(hù),則在判定塊2307確定舊映射是否應(yīng)該排他地保護(hù)。如果舊映射要排他地保護(hù),則在塊2311將舊映射標(biāo)記為受用戶(hù)保護(hù),并且將新映射標(biāo)記為不受保護(hù)。然而,如果在判定塊2307確定舊映射不應(yīng)該排他地保護(hù),則在判定塊2309確定兩個(gè)映射是否都應(yīng)該保護(hù)。
如果在判定塊2309確定兩個(gè)映射都應(yīng)該保護(hù),則在塊2311,兩個(gè)映射都被標(biāo)記為受用戶(hù)保護(hù)。然而,如果確定兩個(gè)映射都不要保護(hù),則在塊2311,兩個(gè)映射都標(biāo)記為不受用戶(hù)保護(hù)。
在塊2313,執(zhí)行意圖轉(zhuǎn)換例程,如在此所述。在完成意圖轉(zhuǎn)換后,更新保護(hù)對(duì)象,使得對(duì)于舊保護(hù)對(duì)象和新保護(hù)對(duì)象兩者,在計(jì)劃中受保護(hù)的標(biāo)志包含與受用戶(hù)保護(hù)標(biāo)志相同的值。在塊2315,例程結(jié)束。
如本例的先前部分一樣,圖24示出向用戶(hù)提供警報(bào),標(biāo)識(shí)通過(guò)先前運(yùn)行自動(dòng)發(fā)現(xiàn)組例程檢測(cè)到的改變。用戶(hù)選擇更新自動(dòng)發(fā)現(xiàn)組搜索參數(shù)的映射,以包括新標(biāo)識(shí)的可保護(hù)對(duì)象服務(wù)器3上的E\folder,并且移除舊保護(hù)對(duì)象服務(wù)器2上的E\folder的映射(塊2305,圖23B)。數(shù)據(jù)保護(hù)系統(tǒng)1701,響應(yīng)于從用戶(hù)接收更新映射的指示,更新保護(hù)組以包括新保護(hù)對(duì)象。另外,數(shù)據(jù)保護(hù)器1701更新自動(dòng)發(fā)現(xiàn)組表1715以標(biāo)識(shí)服務(wù)器2上的E\folder不再受用戶(hù)保護(hù),但在這一點(diǎn)上保持受計(jì)劃保護(hù),并且指示保護(hù)對(duì)象服務(wù)器3上的E\folder的新映射受用戶(hù)保護(hù)但還沒(méi)有受計(jì)劃保護(hù)。
在用戶(hù)已經(jīng)指示改變之后的某個(gè)時(shí)間,執(zhí)行意圖轉(zhuǎn)換,從而使服務(wù)器2上的E\folder從受組計(jì)劃保護(hù)中移除,并且添加服務(wù)器3上的E\folder為受組計(jì)劃保護(hù)。如將意識(shí)到的,可在用戶(hù)指示保護(hù)組中的改變(或者對(duì)象的添加或者對(duì)象的移除)之后的任何時(shí)間點(diǎn)執(zhí)行意圖轉(zhuǎn)換。例如,可在用戶(hù)已經(jīng)指示對(duì)保護(hù)組的改變之后立即執(zhí)行意圖轉(zhuǎn)換,或者在若干天之后執(zhí)行。另外,自動(dòng)發(fā)現(xiàn)組例程和意圖轉(zhuǎn)換可彼此獨(dú)立。自動(dòng)發(fā)現(xiàn)組例程可在用戶(hù)指示對(duì)保護(hù)組的改變和意圖轉(zhuǎn)換執(zhí)行之間執(zhí)行多次。在這一情況下,在自動(dòng)發(fā)現(xiàn)組的刷新之后,即使對(duì)組計(jì)劃的實(shí)際改變還沒(méi)有發(fā)生,也不為正在改變的對(duì)象生成警報(bào),因?yàn)橐呀?jīng)為用戶(hù)提供指令。
圖25依照本發(fā)明的一個(gè)實(shí)施例示出了初始發(fā)現(xiàn)例程的流程圖,它初始地發(fā)現(xiàn)頂層名字空間元素與可保護(hù)對(duì)象之間的映射。初始發(fā)現(xiàn)例程2500在塊2501開(kāi)始,并且在塊2503標(biāo)識(shí)產(chǎn)生位置的所有可易于發(fā)現(xiàn)的對(duì)象的名字空間和名字空間元素。可易于發(fā)現(xiàn)的對(duì)象是產(chǎn)生位置的頂層對(duì)象。例如,可容易地發(fā)現(xiàn)頂層對(duì)象,如DFS根、服務(wù)器、交換服務(wù)器和STS服務(wù)器的名字空間和名字空間元素。在塊2505,所發(fā)現(xiàn)的產(chǎn)生位置的頂層名字空間和名字空間元素持久地存儲(chǔ)在數(shù)據(jù)保護(hù)器的存儲(chǔ)器(例如數(shù)據(jù)庫(kù))中。在塊2507,初始發(fā)現(xiàn)例程2500結(jié)束。
圖26依照本發(fā)明的一個(gè)實(shí)施例示出了已調(diào)度發(fā)現(xiàn)例程的流程圖,它發(fā)現(xiàn)名字空間和名字空間元素與位于產(chǎn)生位置的可保護(hù)對(duì)象之間的映射。具體地,已調(diào)度發(fā)現(xiàn)例程2600開(kāi)始于塊2601,并且在塊2603,初始發(fā)現(xiàn)例程2500(圖25)執(zhí)行并且標(biāo)識(shí)產(chǎn)生位置的頂層名字空間元素。如上所述,所存儲(chǔ)的頂層名字空間元素的副本可由數(shù)據(jù)保護(hù)系統(tǒng)用于允許用戶(hù)通過(guò)產(chǎn)生位置導(dǎo)航和/或搜索產(chǎn)生位置的特定部分而不必在搜索時(shí)重新發(fā)現(xiàn)產(chǎn)生位置,從而增加搜索和導(dǎo)航時(shí)間并且移除產(chǎn)生位置的負(fù)載。
在判定塊2605,判定是否存在任何要執(zhí)行的現(xiàn)存的已保存搜索(下面討論)。如果在判定塊2605確定存在要執(zhí)行的已保存搜索,則在塊2607執(zhí)行那些已保存搜索。然而,如果在判定塊2605確定沒(méi)有現(xiàn)有的已保存搜索,則在判定塊2609判定是否存在任何要更新的現(xiàn)有自動(dòng)發(fā)現(xiàn)組。如果在判定塊2609確定有要更新的現(xiàn)有自動(dòng)發(fā)現(xiàn)組,則在塊2611更新那些自動(dòng)發(fā)現(xiàn)組,如先前參考圖17-24的例子描述的。例程在塊2617結(jié)束。
圖27是依照本發(fā)明的一個(gè)實(shí)施例的自動(dòng)發(fā)現(xiàn)組創(chuàng)建例程的流程圖。自動(dòng)發(fā)現(xiàn)組創(chuàng)建例程2700開(kāi)始于塊2701,并且在塊2703,接收用戶(hù)想要保護(hù)的名字空間元素的選擇。除了接收名字空間元素的選擇之外,還接收與那些名字空間元素相關(guān)聯(lián)的可保護(hù)對(duì)象。在塊2705,解決與那些名字空間元素相關(guān)聯(lián)的數(shù)據(jù)源的任何重疊。重疊解決是在上面參考圖13討論的。
在解決了任何重疊之后,在塊2707,創(chuàng)建標(biāo)識(shí)所選擇的名字空間元素的自動(dòng)發(fā)現(xiàn)組列表。另外,生成查詢(xún)參數(shù)并且將它包括在自動(dòng)發(fā)現(xiàn)組中,用于標(biāo)識(shí)與所選擇的名字空間元素相似的其它名字空間元素。查詢(xún)參數(shù)可按照物理資源(例如,服務(wù)器1上的所有卷)、在名字空間上的某個(gè)查詢(xún)(例如,DFS ROOT\products之下的所有共享)、或者某個(gè)組合(例如,名為\\FILESRV*的服務(wù)器上的所有共享)來(lái)表示。另外,查詢(xún)參數(shù)可基于預(yù)先存在的名字空間元素的某個(gè)屬性。
在每個(gè)情況下,數(shù)據(jù)保護(hù)系統(tǒng)跟蹤自動(dòng)發(fā)現(xiàn)組的成員資格并且向用戶(hù)通知對(duì)該組的改變。在塊2709,自動(dòng)發(fā)現(xiàn)組和所選擇的名字空間元素列表被添加到保護(hù)組。如上所述,保護(hù)組可以是現(xiàn)有的保護(hù)組或者為所選擇的名字空間元素新創(chuàng)建的保護(hù)組。在塊2711,自動(dòng)發(fā)現(xiàn)組創(chuàng)建例程結(jié)束。
如上所述參考圖27創(chuàng)建的自動(dòng)發(fā)現(xiàn)組是描述潛在地應(yīng)該作為查詢(xún)而不是一組離散的物理資源來(lái)保護(hù)的對(duì)象的一種方法。一旦檢測(cè)到改變,用戶(hù)可批準(zhǔn)或者拒絕對(duì)保護(hù)與該自動(dòng)發(fā)現(xiàn)組相關(guān)聯(lián)的和/或是保護(hù)組一部分的對(duì)象的計(jì)劃的改變。例如,如果自動(dòng)發(fā)現(xiàn)組包括服務(wù)器\\FILESRV*上的所有共享的搜索參數(shù),并且得到一個(gè)帶有十個(gè)新共享的新服務(wù)器\\FILESRV10,則用戶(hù)具有批準(zhǔn)或者拒絕保護(hù)每個(gè)新共享的選項(xiàng)。
如上所述,數(shù)據(jù)保護(hù)系統(tǒng)跟蹤對(duì)報(bào)告給用戶(hù)的自動(dòng)發(fā)現(xiàn)組改變的應(yīng)答。例如,如果用戶(hù)拒絕對(duì)新標(biāo)識(shí)的可保護(hù)對(duì)象的保護(hù),則如果該可保護(hù)對(duì)象隨后從產(chǎn)生位置移除,那么隨后不會(huì)有通知發(fā)給用戶(hù)。具體地,一旦用戶(hù)指示他們不想保護(hù)一個(gè)可保護(hù)對(duì)象并且想要自動(dòng)地忽略所有未來(lái)的通知,就為該可保護(hù)對(duì)象設(shè)置一個(gè)被排除標(biāo)志。在一個(gè)實(shí)施例中,拒絕一個(gè)對(duì)象一次不會(huì)自動(dòng)地設(shè)置被排除標(biāo)志。另外,可跟蹤一個(gè)對(duì)象被拒絕的次數(shù)并且在預(yù)定的拒絕數(shù)(例如五)之后將該對(duì)象標(biāo)記為被排除。隨后對(duì)被排除對(duì)象的標(biāo)識(shí)將不向用戶(hù)警告。
數(shù)據(jù)保護(hù)系統(tǒng)自動(dòng)地為每個(gè)用戶(hù)想要保護(hù)的名字空間元素創(chuàng)建和配置自動(dòng)發(fā)現(xiàn)組。例如,如果用戶(hù)保護(hù)服務(wù)器\\FILESRV1上的share1,則數(shù)據(jù)保護(hù)系統(tǒng)配置一個(gè)自動(dòng)發(fā)現(xiàn)組,它包括\\FILESRV1\share1到物理資源(例如,\\FILESRV1上卷X上的文件夾1)的映射。如果\\FILESRV1\share1消失或者從該共享到物理資源的映射被改變,則向用戶(hù)通知該改變,并且給用戶(hù)關(guān)于如何進(jìn)行的若干選項(xiàng)(圖23B)。例如,假定\\FILESRV1\share1現(xiàn)在映射到卷Y上的文件夾1。用戶(hù)具有繼續(xù)保護(hù)X\folder1、停止保護(hù)X\folder1并開(kāi)始保護(hù)Y\folder1或者保護(hù)兩個(gè)對(duì)象的選項(xiàng)。這樣,將對(duì)正試圖保護(hù)的名字空間元素和實(shí)際上正在保護(hù)的物理對(duì)象的任何改變通知給用戶(hù)。
圖28和29依照本發(fā)明的一個(gè)實(shí)施例示出了自動(dòng)發(fā)現(xiàn)組更新例程的流程圖。自動(dòng)發(fā)現(xiàn)組更新例程2800開(kāi)始于塊2801,并且在塊2803,從自動(dòng)發(fā)現(xiàn)組結(jié)果選擇一個(gè)可保護(hù)對(duì)象。在執(zhí)行自動(dòng)發(fā)現(xiàn)組映射序列(標(biāo)識(shí)該自動(dòng)發(fā)現(xiàn)組映射到或者先前映射到的每個(gè)可保護(hù)對(duì)象)之后,生成自動(dòng)發(fā)現(xiàn)組結(jié)果。在判定塊2805,判定所選擇的可保護(hù)對(duì)象目前是否受用戶(hù)保護(hù)。
如果在判定塊2805確定所選擇的可保護(hù)對(duì)象目前不受用戶(hù)保護(hù),則在判定塊2807確定所選擇的可保護(hù)對(duì)象目前是否在等待用戶(hù)的批準(zhǔn)。如果一個(gè)可保護(hù)對(duì)象先前已經(jīng)被標(biāo)識(shí)并且通過(guò)警報(bào)向用戶(hù)報(bào)告,并且用戶(hù)還沒(méi)有標(biāo)識(shí)該對(duì)象是否應(yīng)該被添加到保護(hù)組,則它目前正在等待用戶(hù)批準(zhǔn)以被添加到保護(hù)組。如參考圖17-24討論的,可通過(guò)在自動(dòng)發(fā)現(xiàn)組表中將待決列設(shè)置為“Y”來(lái)將對(duì)象標(biāo)識(shí)為等待批準(zhǔn)。如果在判定塊2807確定可保護(hù)對(duì)象不在等待批準(zhǔn),則在判定塊2809判定所選擇的可保護(hù)對(duì)象是否已經(jīng)從保護(hù)中排除。如上所述,可保護(hù)對(duì)象可按照來(lái)自用戶(hù)的標(biāo)識(shí)從保護(hù)中排除,該標(biāo)識(shí)表示它不想讓該可保護(hù)對(duì)象得到保護(hù),也不想得到對(duì)該可保護(hù)對(duì)象的改變的通知。這樣一個(gè)標(biāo)識(shí)是通過(guò)在自動(dòng)發(fā)現(xiàn)組表內(nèi)將該對(duì)象標(biāo)記為由用戶(hù)排除來(lái)標(biāo)識(shí)的。
如果在判定塊2809確定所選擇的可保護(hù)對(duì)象目前沒(méi)有從保護(hù)中排除,則在塊2811生成一個(gè)警報(bào),它標(biāo)識(shí)新的可保護(hù)對(duì)象并且請(qǐng)求用戶(hù)批準(zhǔn)將該可保護(hù)對(duì)象添加到保護(hù)組,和/或生成明確地將該可保護(hù)對(duì)象從保護(hù)組中排除的響應(yīng)。在塊2813,可保護(hù)對(duì)象被標(biāo)記為待決用戶(hù)批準(zhǔn)、不受用戶(hù)保護(hù)、而且不受計(jì)劃保護(hù)。
如果確定所選擇的可保護(hù)對(duì)象為目前正受用戶(hù)保護(hù)(塊2805);等待用戶(hù)的保護(hù)批準(zhǔn)(2807);或者從保護(hù)中排除(2809);則在判定塊2815判定是否存在被標(biāo)識(shí)為自動(dòng)發(fā)現(xiàn)組結(jié)果的其它可保護(hù)對(duì)象。如果在判定塊2815確定有其它可保護(hù)對(duì)象,則例程返回到塊2803,并且繼續(xù)處理每個(gè)標(biāo)識(shí)為自動(dòng)發(fā)現(xiàn)組結(jié)果的其它可保護(hù)對(duì)象。然而,如果在判定塊2815確定沒(méi)有其它的可保護(hù)對(duì)象被標(biāo)識(shí)為自動(dòng)發(fā)現(xiàn)組結(jié)果,則在塊2815(圖29)標(biāo)識(shí)自動(dòng)發(fā)現(xiàn)組的現(xiàn)有保護(hù)對(duì)象。
在判定塊2818,確定現(xiàn)有保護(hù)對(duì)象是否被標(biāo)記為受用戶(hù)保護(hù)。如果確定現(xiàn)有保護(hù)對(duì)象沒(méi)有被標(biāo)記為受用戶(hù)保護(hù),則例程進(jìn)行到判定塊2821。然而,如果確定現(xiàn)有保護(hù)對(duì)象受用戶(hù)保護(hù),則在判定塊2819判定現(xiàn)有保護(hù)對(duì)象是否包括在由自動(dòng)發(fā)現(xiàn)組執(zhí)行所生成的結(jié)果中。如果在判定塊2819確定現(xiàn)有保護(hù)對(duì)象包括在新生成的自動(dòng)發(fā)現(xiàn)組結(jié)果中,則在判定塊2821確定是否存在自動(dòng)發(fā)現(xiàn)組的另外的現(xiàn)有保護(hù)對(duì)象。如果在判定塊2821確定存在自動(dòng)發(fā)現(xiàn)組的另外的現(xiàn)有保護(hù)對(duì)象,則例程返回到塊2817并繼續(xù)。如果在判定塊2821確定自動(dòng)發(fā)現(xiàn)組沒(méi)有另外的現(xiàn)有保護(hù)對(duì)象,則例程在塊2827結(jié)束。
回來(lái)參考判定塊2819,如果確定所標(biāo)識(shí)的保護(hù)對(duì)象沒(méi)有包括在新生成的自動(dòng)發(fā)現(xiàn)組結(jié)果中,則在判定塊2822,通過(guò)檢查待決標(biāo)志來(lái)判定先前是否已經(jīng)向用戶(hù)發(fā)送了警報(bào)以向用戶(hù)通知改變。如果確定先前沒(méi)有發(fā)送過(guò)警報(bào),則通過(guò)警報(bào)向用戶(hù)報(bào)告改變,該警報(bào)標(biāo)識(shí)到受用戶(hù)保護(hù)對(duì)象的映射不再存在,如由塊2823所示的。在塊2825,該保護(hù)對(duì)象被標(biāo)記為待決從保護(hù)組中移除、不匹配自動(dòng)發(fā)現(xiàn)組搜索參數(shù)、但目前受用戶(hù)保護(hù)。從保護(hù)組中移除保護(hù)對(duì)象不會(huì)從存儲(chǔ)位置移除該保護(hù)對(duì)象的任何實(shí)際副本。如相關(guān)領(lǐng)域的技術(shù)人員將意識(shí)到的,待決移除和待決批準(zhǔn)可作為單個(gè)待決狀態(tài)來(lái)跟蹤。如上所述,跟蹤對(duì)象是否匹配自動(dòng)發(fā)現(xiàn)組搜索參數(shù)標(biāo)識(shí)出對(duì)象是否要被移除或添加。
當(dāng)對(duì)象由自動(dòng)發(fā)現(xiàn)例程標(biāo)識(shí)時(shí),除了跟蹤對(duì)象是否是待決的用戶(hù)動(dòng)作、是否受計(jì)劃保護(hù)、是否受用戶(hù)保護(hù)和是否匹配自動(dòng)發(fā)現(xiàn)搜索參數(shù)之外,在對(duì)象第一次被標(biāo)識(shí)并且添加到自動(dòng)發(fā)現(xiàn)組表中時(shí),還記錄標(biāo)識(shí)它的日期和時(shí)間。另外,當(dāng)存在于自動(dòng)發(fā)現(xiàn)組表中的一個(gè)保護(hù)對(duì)象不再被自動(dòng)發(fā)現(xiàn)組例程標(biāo)識(shí)時(shí),還記錄它消失的日期和時(shí)間。
除了數(shù)據(jù)保護(hù)系統(tǒng)在響應(yīng)于用戶(hù)選擇名字空間元素時(shí)自動(dòng)創(chuàng)建自動(dòng)發(fā)現(xiàn)組之外,數(shù)據(jù)保護(hù)系統(tǒng)還自動(dòng)創(chuàng)建已保存搜索。在另一個(gè)實(shí)施例中,可在安裝數(shù)據(jù)保護(hù)系統(tǒng)時(shí)生成已保存搜索。在又一個(gè)實(shí)施例中,已保存搜索也可由用戶(hù)創(chuàng)建。
已保存搜索用于在諸如服務(wù)器等產(chǎn)生位置的分段出現(xiàn)或消失時(shí)通知用戶(hù)。例如,利用已保存搜索向數(shù)據(jù)保護(hù)系統(tǒng)提供了向用戶(hù)通知新服務(wù)器、新DFS根、不再存在的服務(wù)器、不再存在的DFS根、新STS服務(wù)器、不再存在的STS服務(wù)器等的能力。與每個(gè)已保存搜索相關(guān)聯(lián)的是在同一已保存搜索的先前評(píng)估期間已經(jīng)定位的名字空間元素的列表。已保存搜索包括表示搜索起點(diǎn)的名字空間元素,以及一組描述要返回的所包含的名字空間元素的搜索準(zhǔn)則。不像自動(dòng)發(fā)現(xiàn)組,已保存搜索在名字空間元素而不是在可保護(hù)對(duì)象上操作。例如,可創(chuàng)建已保存搜索條件以標(biāo)識(shí)屬于一個(gè)公司的市場(chǎng)部的所有服務(wù)器。這通常不在一個(gè)有效的自動(dòng)發(fā)現(xiàn)組中。然而,像自動(dòng)發(fā)現(xiàn)組一樣,已保存搜索維護(hù)標(biāo)識(shí)匹配搜索參數(shù)的名字空間元素的已保存搜索結(jié)果表。
對(duì)于匹配搜索的名字空間元素,維持其狀態(tài)。例如,為每個(gè)名字空間元素維護(hù)第一次被標(biāo)識(shí)和最后一次見(jiàn)到的時(shí)間信息。該信息也可用于檢測(cè)改變。當(dāng)名字空間元素第一次被已保存搜索條件標(biāo)識(shí)時(shí),標(biāo)識(shí)該標(biāo)識(shí)的日期的時(shí)間標(biāo)記被持久維護(hù),并且當(dāng)該名字空間元素從產(chǎn)生位置移除時(shí),標(biāo)識(shí)最后一次見(jiàn)到該名字空間元素的日期和時(shí)間的時(shí)間標(biāo)記也被持久維護(hù)。在一個(gè)實(shí)際的實(shí)施例中,只要檢測(cè)到產(chǎn)生位置中的改變就提供警報(bào)給用戶(hù)。例如,對(duì)產(chǎn)生位置添加名字空間元素和/或移除名字空間元素將生成標(biāo)識(shí)產(chǎn)生位置的這一改變的警報(bào)給用戶(hù)。在一個(gè)實(shí)施例中,響應(yīng)于用戶(hù)標(biāo)識(shí)要保護(hù)服務(wù)器上的一個(gè)共享,創(chuàng)建用于該服務(wù)器上所有共享的已保存搜索。相似地,在保護(hù)服務(wù)器上的一個(gè)卷時(shí),創(chuàng)建用于該服務(wù)器上所有卷的已保存搜索?;趯?duì)該服務(wù)器的改變(例如,在適當(dāng)時(shí)添加共享或卷),將通知用戶(hù)這一改變。
自動(dòng)發(fā)現(xiàn)組和已保存搜索條件的結(jié)果也用于提高數(shù)據(jù)保護(hù)器的導(dǎo)航和搜索功能的性能。自動(dòng)發(fā)現(xiàn)組和已保存搜索可在周期性基礎(chǔ)上將它們的結(jié)果高速緩存在持久存儲(chǔ)中,因此在導(dǎo)航和搜索結(jié)果不頻繁改變的情況下,或者在某種程度的過(guò)時(shí)是可接受的情況下,數(shù)據(jù)保護(hù)器可使用這些高速緩存的結(jié)果來(lái)向用戶(hù)啟動(dòng)的導(dǎo)航和搜索提供較快速的響應(yīng)性。
由用戶(hù)提供保護(hù)意圖以描述他們想要如何保護(hù)一個(gè)保護(hù)組(例如,復(fù)制品、歸檔、兩者)和他們想要在時(shí)間上有多久能夠恢復(fù)(持續(xù)時(shí)間)。例如,用戶(hù)可能想要每晚為一組選擇的數(shù)據(jù)生成該數(shù)據(jù)的復(fù)制品—存儲(chǔ)在可移動(dòng)介質(zhì)上存儲(chǔ)位置處的副本,每周更新該副本一次,并且在可移動(dòng)介質(zhì)上最多保留四個(gè)副本。另外,用戶(hù)可指定它們想要能夠恢復(fù)至少一個(gè)月之久的信息。
在存儲(chǔ)位置的保護(hù)數(shù)據(jù),例如,復(fù)制品、歸檔或兩者,要求為數(shù)據(jù)的副本分配資源,以及處理本身所需要的任何資源。另外,要求許多作業(yè)以使那些資源進(jìn)入使用時(shí)所要求的狀態(tài),并且必需有正在進(jìn)行的作業(yè)來(lái)維護(hù)保護(hù)的準(zhǔn)確性。使用用于保護(hù)數(shù)據(jù)的作業(yè)將在下面更詳細(xì)地描述。手動(dòng)設(shè)置資源和作業(yè)會(huì)是單調(diào)乏味的并且是易出錯(cuò)的。另外,只要一組正被保護(hù)的對(duì)象改變,例如,響應(yīng)于自動(dòng)發(fā)現(xiàn)組檢測(cè)到的改變,則資源和作業(yè)可能需要改變。不要求用戶(hù)手動(dòng)指定具體的資源和作業(yè),而是用戶(hù)可僅通過(guò)名字空間元素的選擇來(lái)指定什么內(nèi)容要保護(hù)并提供保護(hù)意圖。隨后使用該信息來(lái)生成組計(jì)劃,用于維護(hù)所選擇數(shù)據(jù)的保護(hù)。在一個(gè)實(shí)施例中,組計(jì)劃包括三個(gè)部分資源計(jì)劃、準(zhǔn)備計(jì)劃和保護(hù)計(jì)劃。
資源計(jì)劃包括獲得允許保護(hù)所需要資源的所必需的作業(yè)的列表。準(zhǔn)備計(jì)劃包括設(shè)置所標(biāo)識(shí)數(shù)據(jù)的保護(hù)所需要的一次性作業(yè)的列表。例如,一次性作業(yè)是數(shù)據(jù)的初始復(fù)制以及從產(chǎn)生位置傳送到存儲(chǔ)位置。保護(hù)計(jì)劃包括維護(hù)保護(hù)數(shù)據(jù)的準(zhǔn)確性和完整性所要求的正在進(jìn)行的作業(yè)的列表。
從用戶(hù)標(biāo)識(shí)的保護(hù)意圖轉(zhuǎn)換到用于保護(hù)對(duì)象的具體計(jì)劃在此稱(chēng)為和描述為“意圖轉(zhuǎn)換”。在本發(fā)明的一個(gè)實(shí)際的實(shí)施例中,意圖轉(zhuǎn)換在保護(hù)組和為該保護(hù)組提供的保護(hù)意圖上操作。保護(hù)意圖表示為邏輯表示并且可陳述為目標(biāo)。目標(biāo)可標(biāo)識(shí)所希望的保護(hù)等級(jí)(粒度)、如何保護(hù)數(shù)據(jù)、要保護(hù)數(shù)據(jù)多久、以什么頻率保護(hù)數(shù)據(jù)等等。例如,用戶(hù)可標(biāo)識(shí)這樣的保護(hù)意圖“不要失去超過(guò)30分鐘的任何執(zhí)行文件共享;保留所有內(nèi)容一年”。來(lái)自保護(hù)意圖的動(dòng)詞用作將意圖轉(zhuǎn)換成用于保護(hù)對(duì)象的具體計(jì)劃的動(dòng)作。參考前面的例子,該意圖的相應(yīng)動(dòng)作是“每30分鐘復(fù)制卷和文件夾”、“每周歸檔”和“以一年的介質(zhì)保持力非現(xiàn)場(chǎng)儲(chǔ)存”。
在本發(fā)明的一個(gè)實(shí)施例中,標(biāo)識(shí)保護(hù)意圖的保護(hù)模板可由用戶(hù)選擇并且用于生成用于保護(hù)所選擇保護(hù)組的計(jì)劃。保護(hù)模板包含一個(gè)或多個(gè)原型作業(yè)定義,包括適當(dāng)?shù)膭?dòng)詞和默認(rèn)的屬性。保護(hù)模板還包括默認(rèn)的原型時(shí)間表。例如,“每小時(shí)復(fù)制,在白天創(chuàng)建三個(gè)時(shí)間版本,每晚歸檔,不加密傳送,在存儲(chǔ)位置不加密”是默認(rèn)的原型時(shí)間表。用戶(hù)具有覆蓋和顯式改變保護(hù)模板的能力。例如,用戶(hù)可改變以前的保護(hù)模板來(lái)創(chuàng)建每小時(shí)復(fù)制,白天僅一個(gè)時(shí)間版本,每周歸檔,不加密傳送,不在存儲(chǔ)位置加密。如在所提到的默認(rèn)原型時(shí)間表中標(biāo)識(shí)的“不加密傳送”標(biāo)識(shí)了在將數(shù)據(jù)從產(chǎn)生位置發(fā)送到存儲(chǔ)位置時(shí)不需要加密數(shù)據(jù)?;蛘?,在產(chǎn)生位置與存儲(chǔ)位置之間傳輸數(shù)據(jù)時(shí)可加密數(shù)據(jù)。“不在存儲(chǔ)位置加密”標(biāo)識(shí)了存儲(chǔ)在存儲(chǔ)位置的數(shù)據(jù),無(wú)論是復(fù)制品還是歸檔的,都不必加密?;蛘?,可加密存儲(chǔ)的數(shù)據(jù)。例如,被歸檔到諸如磁帶等可移動(dòng)介質(zhì)的產(chǎn)生位置的副本可被加密。另外,作為復(fù)制品存儲(chǔ)的副本也可或者可供替換地被加密。如相關(guān)領(lǐng)域的技術(shù)人員將意識(shí)到的,任何加密技術(shù)可由本發(fā)明的實(shí)施例使用,來(lái)加密用于傳輸和用于存儲(chǔ)的數(shù)據(jù)。
圖30依照本發(fā)明的一個(gè)實(shí)施例示出了將保護(hù)意圖轉(zhuǎn)換成用于保護(hù)一組數(shù)據(jù)的計(jì)劃的流程圖。通過(guò)用戶(hù)界面3003與數(shù)據(jù)保護(hù)系統(tǒng)交互的用戶(hù)選擇要保護(hù)的名字空間元素的列表。將對(duì)要保護(hù)的名字空間元素的選擇傳送到數(shù)據(jù)保護(hù)器3001,并且作為響應(yīng),數(shù)據(jù)保護(hù)器通過(guò)用戶(hù)界面3003向用戶(hù)提供默認(rèn)的保護(hù)意圖。具體地,數(shù)據(jù)保護(hù)器在收到所選擇的名字空間元素后,標(biāo)識(shí)與所選擇的名字空間元素相關(guān)聯(lián)的可保護(hù)對(duì)象并且標(biāo)識(shí)提供給用戶(hù)的保護(hù)意圖的默認(rèn)列表。
用戶(hù)響應(yīng)于接收默認(rèn)的保護(hù)意圖,與用戶(hù)界面3003交互,并且修改或選擇適當(dāng)?shù)哪J(rèn)保護(hù)意圖。數(shù)據(jù)保護(hù)器3001接收選擇或修改,并且存儲(chǔ)這些意圖并為對(duì)象創(chuàng)建一個(gè)保護(hù)組。這些意圖可用任何格式來(lái)存儲(chǔ),包括但不限于,二進(jìn)制、可擴(kuò)展標(biāo)記語(yǔ)言(XML)或數(shù)據(jù)庫(kù)表。數(shù)據(jù)保護(hù)器3001將任何修改應(yīng)用于默認(rèn)的保護(hù)意圖并且使用修改的保護(hù)意圖來(lái)創(chuàng)建用于保護(hù)保護(hù)組的具體計(jì)劃,計(jì)劃也可用任何格式來(lái)存儲(chǔ),包括但不限于二進(jìn)制、XML或數(shù)據(jù)庫(kù)表。
與創(chuàng)建用于保護(hù)保護(hù)組的具體計(jì)劃相似,數(shù)據(jù)保護(hù)器具有創(chuàng)建在給出規(guī)定恢復(fù)意圖、恢復(fù)參數(shù)和對(duì)要恢復(fù)的名字空間元素的選擇的情況下用于所選擇的可恢復(fù)對(duì)象的恢復(fù)計(jì)劃的能力。為創(chuàng)建恢復(fù)計(jì)劃,數(shù)據(jù)保護(hù)器確定必需的恢復(fù)資源并適當(dāng)?shù)嘏帕兴鼈兊捻樞?。另外,?shù)據(jù)保護(hù)器確定恢復(fù)目標(biāo),它是標(biāo)識(shí)要在何處恢復(fù)數(shù)據(jù)的物理路徑。
可指定若干不同的恢復(fù)意圖來(lái)控制恢復(fù)如何進(jìn)行。例如,覆寫(xiě)意圖控制如果當(dāng)試圖將一個(gè)文件恢復(fù)到產(chǎn)生位置時(shí),確定該文件已經(jīng)存在于該產(chǎn)生位置,則會(huì)發(fā)生什么。可提供若干替換計(jì)劃,包括但不限于,總是覆寫(xiě)、從不覆寫(xiě)、使用兩者中最近的??芍付ǖ牧硪粋€(gè)恢復(fù)意圖是應(yīng)該如何設(shè)置被恢復(fù)對(duì)象的安全性。例如,可指定被恢復(fù)對(duì)象的安全性繼承父對(duì)象的安全性(例如,被恢復(fù)到一個(gè)文件夾的文件的安全性將接收與該文件夾相同的安全性)。一個(gè)替換的模型是將被恢復(fù)對(duì)象的安全性精確地恢復(fù)到在它被備份時(shí)的安全性。意圖也可指定被恢復(fù)對(duì)象是否要在傳輸期間和/或在被存儲(chǔ)時(shí)被加密。
圖31和32依照本發(fā)明的一個(gè)實(shí)施例示出了意圖轉(zhuǎn)換例程的流程圖,用于將保護(hù)意圖轉(zhuǎn)換成用于保護(hù)位于產(chǎn)生位置的物理對(duì)象的具體計(jì)劃。意圖轉(zhuǎn)換例程3200開(kāi)始于塊3201,并且在塊3203接收對(duì)要保護(hù)的名字空間元素的選擇和要應(yīng)用于所選擇的名字空間元素的保護(hù)意圖。如上所述,名字空間元素被映射到位于產(chǎn)生位置的可保護(hù)對(duì)象。另外,如上所述,名字空間元素的選擇和相關(guān)聯(lián)的可保護(hù)對(duì)象由數(shù)據(jù)保護(hù)系統(tǒng)編譯成要應(yīng)用保護(hù)意圖的保護(hù)組。在塊3205,該保護(hù)組被標(biāo)記為“在轉(zhuǎn)換中”。將保護(hù)組標(biāo)記為“在轉(zhuǎn)換中”防止用戶(hù)對(duì)該保護(hù)組作出任何改變,直到意圖轉(zhuǎn)換成功結(jié)束或者失敗,回卷它已經(jīng)作出的任何改變。
在塊3207,計(jì)算足以向所選擇的保護(hù)組提供保護(hù)所必需的資源需求。資源需求是通過(guò)確定保護(hù)組需要什么改變來(lái)標(biāo)識(shí)的。保護(hù)組可能需要的改變的例子包括但不限于,要添加到保護(hù)組的新數(shù)據(jù)源、要從保護(hù)組移除的數(shù)據(jù)源、用于通過(guò)添加或者移除保護(hù)對(duì)象來(lái)改變的保護(hù)組的數(shù)據(jù)源、要添加或收回的資源(例如,向復(fù)制品添加或刪除磁盤(pán)空間、向歸檔添加或刪除可移動(dòng)介質(zhì))、為保護(hù)組調(diào)整的保護(hù)目標(biāo)或時(shí)間表、或者第一次添加的新保護(hù)組。另外,必需的資源大小是通過(guò)標(biāo)識(shí)位于將被復(fù)制和存儲(chǔ)在存儲(chǔ)位置的產(chǎn)生位置的保護(hù)對(duì)象的大小以及已經(jīng)指定的特定保護(hù)方法和保護(hù)意圖來(lái)確定的。
在塊3209,生成并執(zhí)行資源計(jì)劃以分配為保護(hù)組提供保護(hù)所必需的資源。資源計(jì)劃確定必需的資源并且包括獲得那些資源所必需的所有作業(yè)。例如,這類(lèi)作業(yè)可包括分配磁盤(pán)空間、增加現(xiàn)有的存儲(chǔ)空間、分配磁帶介質(zhì)、分配磁帶庫(kù)變換器和驅(qū)動(dòng)器、向空閑介質(zhì)池請(qǐng)求磁帶等等。包括在資源計(jì)劃中的作業(yè)依賴(lài)于用戶(hù)所希望的保護(hù)類(lèi)型。例如,對(duì)于復(fù)制,作業(yè)包括為復(fù)制品和時(shí)間版本分配磁盤(pán)資源,并且有可能為日志區(qū)域分配資源。執(zhí)行與在塊3209生成的資源計(jì)劃相關(guān)聯(lián)的作業(yè),并且分配用于保護(hù)組的必需資源。
在分配了資源之后,在塊3211,數(shù)據(jù)保護(hù)系統(tǒng)創(chuàng)建一個(gè)檢查點(diǎn)。在另一個(gè)實(shí)施例中,資源計(jì)劃可只包括分配那些資源所必需的作業(yè)的創(chuàng)建,并且實(shí)際上不包括那些作業(yè)的執(zhí)行。與資源計(jì)劃相關(guān)聯(lián)的作業(yè)的執(zhí)行可作為準(zhǔn)備計(jì)劃的一部分來(lái)調(diào)度和執(zhí)行。在這樣一個(gè)實(shí)施例中,在意圖轉(zhuǎn)換完成后才生成檢查點(diǎn)。因而,如果意圖轉(zhuǎn)換沒(méi)有完成,則它必須從開(kāi)頭重新開(kāi)始。如下面參考?jí)K3209所述,在資源分配之后創(chuàng)建檢查點(diǎn)提供了一個(gè)已知點(diǎn),如果例程沒(méi)有成功完成,則意圖轉(zhuǎn)換例程可在該已知點(diǎn)重新開(kāi)始。
由于有可能在資源分配作業(yè)的執(zhí)行期間要分配部分但不是全部資源(例如,在分配了一部分物理資源但還沒(méi)有分配其它資源之后系統(tǒng)崩潰),因此在本發(fā)明的一個(gè)實(shí)施例中包括一個(gè)清除例程,以清除在意圖轉(zhuǎn)換例程的不完整運(yùn)行中沒(méi)有完全分配的資源。這個(gè)清除例程是通過(guò)將系統(tǒng)的資源分配設(shè)計(jì)成以某種方式工作來(lái)完成的。在一個(gè)實(shí)際的實(shí)施例中,在每一數(shù)據(jù)源的基礎(chǔ)上分配資源,并且要么為一個(gè)給定數(shù)據(jù)源分配所必需的所有資源,要么什么也不分配。如果分配部分但非全部資源并且分配作業(yè)被中斷,則創(chuàng)建刷新作業(yè)以清除從資源分配計(jì)劃的分配作業(yè)的上次運(yùn)行中部分地分配的任何資源。一旦清除例程清除了任何部分地分配的資源,則數(shù)據(jù)保護(hù)系統(tǒng)可以在需要時(shí)重新分配資源。對(duì)于已經(jīng)成功地分配了資源的那些新保護(hù)對(duì)象,意圖轉(zhuǎn)換可繼續(xù)。
回來(lái)參考圖31,在塊3211,在成功完成塊3209的資源分配后,生成一個(gè)檢查點(diǎn)。在分配了資源之后創(chuàng)建檢查點(diǎn)為數(shù)據(jù)保護(hù)系統(tǒng)提供了解決如果意圖轉(zhuǎn)換例程3200在分配了資源之后但在結(jié)束之前被中斷則可能生成的任何問(wèn)題的能力。例如,如果系統(tǒng)在意圖轉(zhuǎn)換例程結(jié)束前但在添加了第一檢查點(diǎn)之后崩潰,如由塊3211例示,則在重新啟動(dòng)后,數(shù)據(jù)保護(hù)系統(tǒng)標(biāo)識(shí)意圖轉(zhuǎn)換例程被中斷,并且定位在資源分配之后添加的檢查點(diǎn)。通過(guò)標(biāo)識(shí)檢查點(diǎn),可使用先前分配的資源,并且意圖轉(zhuǎn)換例程3200可以從該檢查點(diǎn)繼續(xù)而不必完全重新啟動(dòng)和重新分配資源。意圖轉(zhuǎn)換例程被中斷之后的重新啟動(dòng)將參考圖38更詳細(xì)地描述。
在判定塊3213,意圖轉(zhuǎn)換例程3200判定是否存在當(dāng)前與保護(hù)組相關(guān)聯(lián)的任何現(xiàn)有的作業(yè)和/或任務(wù)。如果在判定塊3213確定存在與保護(hù)組相關(guān)聯(lián)的現(xiàn)有作業(yè)和/或任務(wù),則在塊3215注冊(cè)那些作業(yè)和任務(wù),并且終止任何活動(dòng)的作業(yè),如由塊3217所示的。如果保護(hù)組正在被修改,則用于該保護(hù)組的作業(yè)和任務(wù)可預(yù)先存在,而不是第一次創(chuàng)建。
如果在判定塊3213確定沒(méi)有用于保護(hù)組的現(xiàn)有作業(yè)和/或任務(wù),或者在塊3217現(xiàn)有作業(yè)和/或任務(wù)終止后,意圖轉(zhuǎn)換例程3200在3219創(chuàng)建和調(diào)度保護(hù)計(jì)劃。如將在下面更詳細(xì)地描述的,保護(hù)計(jì)劃包括隨著時(shí)間過(guò)去維護(hù)位于存儲(chǔ)位置的保護(hù)組的副本的準(zhǔn)確性所必需的作業(yè)的列表。另外,意圖轉(zhuǎn)換例程3200在塊3211創(chuàng)建和調(diào)度準(zhǔn)備計(jì)劃。如在下面將更詳細(xì)地描述的,準(zhǔn)備計(jì)劃包括一次性作業(yè)的列表,用于將產(chǎn)生位置和存儲(chǔ)位置設(shè)置在一個(gè)狀態(tài)中,使得與保護(hù)計(jì)劃相關(guān)聯(lián)的作業(yè)可被執(zhí)行并且保護(hù)組的保護(hù)準(zhǔn)確性可達(dá)到。例如,如果這是第一次創(chuàng)建保護(hù)組并且要將它存儲(chǔ)在復(fù)制品上,則將不存在與駐留在該復(fù)制品上的保護(hù)組相關(guān)聯(lián)的數(shù)據(jù)副本。因而,與準(zhǔn)備計(jì)劃相關(guān)聯(lián)的作業(yè)之一可以是保護(hù)對(duì)象的副本的創(chuàng)建和在復(fù)制品上存儲(chǔ)該副本。
現(xiàn)在參考圖32,在塊3225,意圖轉(zhuǎn)換例程3200創(chuàng)建上述已保存搜索和自動(dòng)發(fā)現(xiàn)組。如上所述,那些自動(dòng)發(fā)現(xiàn)組和已保存搜索是作為已調(diào)度發(fā)現(xiàn)例程的一部分執(zhí)行的。
在創(chuàng)建了用于資源計(jì)劃、準(zhǔn)備計(jì)劃、保護(hù)計(jì)劃、已保存搜索和自動(dòng)發(fā)現(xiàn)組的作業(yè)之后,在塊3227,將指示作業(yè)的創(chuàng)建完成的第二檢查點(diǎn)添加到數(shù)據(jù)保護(hù)系統(tǒng)。如上面指出并在下面更詳細(xì)討論的,該檢查點(diǎn)可由數(shù)據(jù)保護(hù)系統(tǒng)用于從意圖轉(zhuǎn)換例程3200期間發(fā)生的中斷中恢復(fù)。例如,如果意圖轉(zhuǎn)換例程3200在創(chuàng)建了一個(gè)檢查點(diǎn)之后中斷,如由塊3227例示,則在重啟期間,數(shù)據(jù)保護(hù)系統(tǒng)標(biāo)識(shí)意圖轉(zhuǎn)換例程3200在進(jìn)行中,并且定位指示已經(jīng)創(chuàng)建了計(jì)劃和作業(yè)的檢查點(diǎn)。在標(biāo)識(shí)了檢查點(diǎn)后,意圖轉(zhuǎn)換例程3200可從該檢查點(diǎn)繼續(xù)和完成。
在塊3229,新保護(hù)的對(duì)象和已經(jīng)從保護(hù)中移除的先前的保護(hù)對(duì)象的狀態(tài)被更新,以反映它們被包括在保護(hù)計(jì)劃中和排除在保護(hù)計(jì)劃之外。在塊3209,標(biāo)記為具有資源分配錯(cuò)誤的保護(hù)對(duì)象被返回到“待決狀態(tài)”。在塊3231,刪除所有檢查點(diǎn)并且將保護(hù)組標(biāo)記為“不在轉(zhuǎn)換中”。如果已經(jīng)移除了所有保護(hù)對(duì)象,則可刪除保護(hù)組。在塊3233,意圖轉(zhuǎn)換例程3200結(jié)束。
圖33是依照本發(fā)明的一個(gè)實(shí)施例的保護(hù)計(jì)劃創(chuàng)建例程的流程圖,用于創(chuàng)建用于保護(hù)組的保護(hù)計(jì)劃。保護(hù)計(jì)劃創(chuàng)建例程3300更詳細(xì)地描述上面參考?jí)K3219(圖31)引用的保護(hù)計(jì)劃的創(chuàng)建和調(diào)度。保護(hù)計(jì)劃創(chuàng)建例程3300開(kāi)始于3301,并且在塊3303,創(chuàng)建和調(diào)度用于保護(hù)組的復(fù)制作業(yè)。復(fù)制作業(yè)是將已經(jīng)對(duì)產(chǎn)生位置的一個(gè)或多個(gè)可保護(hù)對(duì)象發(fā)生的改變復(fù)制到存儲(chǔ)在存儲(chǔ)位置的對(duì)應(yīng)的一或多個(gè)可保護(hù)對(duì)象的副本的作業(yè)。例如,如果在白天用戶(hù)修改了位于產(chǎn)生位置的保護(hù)對(duì)象,在執(zhí)行復(fù)制作業(yè)后,那些改變被復(fù)制、傳送到存儲(chǔ)位置,并且更新該副本以包括那些改變。
在塊3305,保護(hù)計(jì)劃創(chuàng)建例程3300創(chuàng)建和調(diào)度時(shí)間版本作業(yè)。時(shí)間版本作業(yè)是被調(diào)度為在存儲(chǔ)位置執(zhí)行數(shù)據(jù)的實(shí)際版本化的作業(yè)。時(shí)間版本的創(chuàng)建是相關(guān)領(lǐng)域的技術(shù)人員已知的,并且在此不詳細(xì)描述。
在塊3307,創(chuàng)建和調(diào)度確認(rèn)例程。當(dāng)被執(zhí)行時(shí),該作業(yè)執(zhí)行如下參考圖35詳細(xì)描述的確認(rèn)例程。在塊3309,保護(hù)計(jì)劃創(chuàng)建例程3300結(jié)束。
圖34是依照本發(fā)明的一個(gè)實(shí)施例執(zhí)行準(zhǔn)備計(jì)劃的準(zhǔn)備計(jì)劃執(zhí)行例程的流程圖。準(zhǔn)備計(jì)劃執(zhí)行例程3400開(kāi)始于3401,并且在塊3403,確定是否需要其它資源來(lái)保護(hù)保護(hù)組。如上所述,生成資源計(jì)劃,用于確定保護(hù)存儲(chǔ)位置處的保護(hù)組所必需的資源。在一個(gè)實(shí)施例中,那些資源可在資源計(jì)劃期間在準(zhǔn)備計(jì)劃的創(chuàng)建和執(zhí)行之前分配。
如果在判定塊3403確定需要資源,則在塊3405執(zhí)行在資源計(jì)劃中為分配那些資源所創(chuàng)建的作業(yè)并且分配資源。
在塊3405分配資源之后,或者如果在塊3403確定保護(hù)組的保護(hù)不需要其它資源,則在塊3407,創(chuàng)建與保護(hù)組相關(guān)聯(lián)的物理對(duì)象的初始副本,傳送到存儲(chǔ)位置,并且存儲(chǔ)在先前分配的資源上。一旦在存儲(chǔ)位置創(chuàng)建和存儲(chǔ)了保護(hù)組的初始副本用于復(fù)制,就在塊3409用位于產(chǎn)生位置的實(shí)際物理對(duì)象來(lái)確認(rèn)該副本。將在下面參考圖35討論確認(rèn)。
在判定塊3411,確定是否有任何保護(hù)對(duì)象已經(jīng)從保護(hù)組移除。如果在塊3411確定有保護(hù)對(duì)象已經(jīng)從保護(hù)組移除,則在塊3413,準(zhǔn)備計(jì)劃包括停止監(jiān)視那些對(duì)象的作業(yè)并且那些對(duì)象仍然是可保護(hù)對(duì)象。由于監(jiān)視消耗資源,因此在不再需要它時(shí)這些作業(yè)停止監(jiān)視。在塊3415,準(zhǔn)備計(jì)劃執(zhí)行例程3400結(jié)束。
如上面提到的,可使用更多或更少的塊來(lái)執(zhí)行在此描述的例程。例如,當(dāng)通過(guò)介質(zhì)負(fù)載完成復(fù)制時(shí),準(zhǔn)備計(jì)劃3400不創(chuàng)建數(shù)據(jù)的初始副本(塊3407)。同樣,當(dāng)副本用于歸檔時(shí),準(zhǔn)備計(jì)劃3400不創(chuàng)建數(shù)據(jù)的初始副本(塊3407)。
圖35是依照本發(fā)明的一個(gè)實(shí)施例的確認(rèn)例程的流程圖,用于確認(rèn)處于存儲(chǔ)位置的數(shù)據(jù)副本。確認(rèn)例程3500開(kāi)始于塊3501,并且在塊3503,確認(rèn)例程3500獲得位于產(chǎn)生位置的物理對(duì)象的確認(rèn)參數(shù)。如相關(guān)領(lǐng)域的技術(shù)人員將意識(shí)到的,確認(rèn)參數(shù)可以是位于產(chǎn)生位置的物理對(duì)象的校驗(yàn)和?;蛘撸_認(rèn)參數(shù)可以是在產(chǎn)生位置的物理對(duì)象的最后修改時(shí)間,或者位于產(chǎn)生位置的物理對(duì)象的大小。通常,確認(rèn)參數(shù)可以是位于產(chǎn)生位置的物理對(duì)象的任何類(lèi)型的標(biāo)識(shí)。
在塊3505,確認(rèn)例程3500獲得位于存儲(chǔ)位置的確認(rèn)參數(shù)。與產(chǎn)生位置的對(duì)象的確認(rèn)參數(shù)相似,存儲(chǔ)位置的確認(rèn)參數(shù)可以是校驗(yàn)和、最后一次修改時(shí)間、文件大小等等。
在塊3507,比較在塊3503獲得的產(chǎn)生位置處的保護(hù)對(duì)象的確認(rèn)參數(shù)和在塊3505獲得的對(duì)象的確認(rèn)參數(shù),以確認(rèn)位于存儲(chǔ)位置的對(duì)象與位于產(chǎn)生位置的保護(hù)對(duì)象相匹配。在判定塊3509,確定在塊3507比較的參數(shù)是否匹配。如果在塊3509確定參數(shù)不匹配,則在塊3513,確認(rèn)例程3500重新從產(chǎn)生位置復(fù)制不匹配的保護(hù)對(duì)象,并代替位于存儲(chǔ)位置的對(duì)象以及進(jìn)行到判定塊3511。
然而,如果在判定塊3509確定參數(shù)匹配,則在判定塊3511確定是否存在還沒(méi)有為保護(hù)組確認(rèn)的其它數(shù)據(jù)。如果確定存在還沒(méi)有為保護(hù)組確認(rèn)的位于存儲(chǔ)位置的其它數(shù)據(jù),則確認(rèn)例程返回到塊3503并且繼續(xù)進(jìn)行?;蛘?,如果在判定塊3511確定沒(méi)有其它數(shù)據(jù),則確認(rèn)存儲(chǔ)位置,并且確認(rèn)例程在3515結(jié)束,從而確認(rèn)位于存儲(chǔ)位置的對(duì)象與保護(hù)對(duì)象相匹配。
除了確認(rèn)例程作為在意圖轉(zhuǎn)換期間準(zhǔn)備計(jì)劃的一部分執(zhí)行以確認(rèn)副本的準(zhǔn)確性之外,確認(rèn)例程可被調(diào)度為隨后重新確認(rèn)物理對(duì)象的保護(hù)的準(zhǔn)確性。而且,可調(diào)度和執(zhí)行確認(rèn)例程以將位于存儲(chǔ)位置的對(duì)象副本設(shè)置到一個(gè)確認(rèn)狀態(tài)中。如果系統(tǒng)崩潰或者如果一些其它類(lèi)型的未調(diào)度的改變發(fā)生,位于存儲(chǔ)位置的物理對(duì)象的副本可處在無(wú)效狀態(tài)中。例如,如果改變?nèi)罩?下面討論)因在存儲(chǔ)位置應(yīng)用那些改變的故障而溢出,則復(fù)制品可變成無(wú)效。
圖36是依照本發(fā)明的一個(gè)實(shí)施例的已調(diào)度確認(rèn)例程的流程圖,用于確認(rèn)位于存儲(chǔ)位置的對(duì)象副本。已調(diào)度確認(rèn)例程3600開(kāi)始于3601,并且在塊3603,例程標(biāo)識(shí)位于要確認(rèn)的存儲(chǔ)位置的保護(hù)組的對(duì)象副本。在判定塊3605,確定所標(biāo)識(shí)的副本是處在有效狀態(tài)還是無(wú)效狀態(tài)中。如果在判定塊3605確定所標(biāo)識(shí)的副本處在無(wú)效狀態(tài)中,則在塊3607,已調(diào)度確認(rèn)例程3600執(zhí)行參考圖35描述的確認(rèn)例程3500。
然而,如果在判定塊3605確定該副本處在有效狀態(tài)中,則在判定塊3609確定是否存在需要確認(rèn)其有效性的任何位于存儲(chǔ)位置的保護(hù)組的其它副本。如果在判定塊3609確定存在需要確認(rèn)其有效性的其它副本,則己調(diào)度確認(rèn)例程3600返回到塊3603,并且標(biāo)識(shí)要確認(rèn)的其它副本并繼續(xù)該過(guò)程。然而,如果在判定塊3609確定沒(méi)有位于存儲(chǔ)位置的其它副本要確認(rèn),則已調(diào)度確認(rèn)例程3600結(jié)束,如由塊3611例示。
圖37依照本發(fā)明的一個(gè)實(shí)施例示出了復(fù)制品的狀態(tài)轉(zhuǎn)移的框圖。在資源分配期間分配存儲(chǔ)位置的一部分之前,復(fù)制品處在未分配的狀態(tài)中。在意圖轉(zhuǎn)換為保護(hù)組分配資源之后,復(fù)制品轉(zhuǎn)移到已分配狀態(tài)。內(nèi)容(保護(hù)組的副本)隨后必須傳送和存儲(chǔ)在存儲(chǔ)位置。傳送和存儲(chǔ)可以使用磁盤(pán)到磁盤(pán)初始化(由數(shù)據(jù)保護(hù)系統(tǒng)自動(dòng)地)、由自動(dòng)化介質(zhì)負(fù)載、或者由管理員手動(dòng)(例如,由手動(dòng)介質(zhì)負(fù)載)來(lái)完成。如果完成磁盤(pán)到磁盤(pán)初始化,則意圖轉(zhuǎn)換自動(dòng)創(chuàng)建初始復(fù)制作業(yè)。初始復(fù)制作業(yè)在執(zhí)行后,將復(fù)制品設(shè)置在無(wú)效狀態(tài)中。如果使用介質(zhì)負(fù)載初始化副本,則用戶(hù)指示介質(zhì)負(fù)載何時(shí)結(jié)束,并且在該點(diǎn)將復(fù)制品設(shè)置在無(wú)效狀態(tài)中。
一旦復(fù)制品處在無(wú)效狀態(tài)中,則要運(yùn)行的確認(rèn)作業(yè)必須將它放置在有效狀態(tài)中。如上討論,確認(rèn)作業(yè)證實(shí)在存儲(chǔ)位置的副本與在產(chǎn)生位置的保護(hù)對(duì)象相匹配。
除了復(fù)制品處在已分配狀態(tài)3703、無(wú)效狀態(tài)3705或者有效狀態(tài)3711之外,復(fù)制品可轉(zhuǎn)移到故障狀態(tài)3713。例如,隨著時(shí)間過(guò)去,為用于一個(gè)特定保護(hù)組的復(fù)制品分配的物理介質(zhì)可能發(fā)生故障,從而將該復(fù)制品放置在故障狀態(tài)中。從故障狀態(tài)3713,數(shù)據(jù)保護(hù)系統(tǒng)通過(guò)與用戶(hù)交互,判定所復(fù)制的信息是否需要繼續(xù)被保護(hù)。如果保護(hù)組要繼續(xù)保護(hù),則重新分配資源,從而將復(fù)制品轉(zhuǎn)移回已分配狀態(tài)3703。如果從故障狀態(tài)3713確定與該復(fù)制品相關(guān)聯(lián)的信息不再需要保護(hù),則復(fù)制品可轉(zhuǎn)移到被毀狀態(tài)3707,并且用于保護(hù)組的復(fù)制品將不再由數(shù)據(jù)保護(hù)系統(tǒng)執(zhí)行。
復(fù)制品也可臨時(shí)轉(zhuǎn)移到故障狀態(tài)3713。例如,磁盤(pán)可能因?yàn)槟硞€(gè)硬件問(wèn)題臨時(shí)斷開(kāi)或不可用,并且隨后再次變成可用。在這一情況下,在盤(pán)再次變成可用后,復(fù)制品可返回到有效狀態(tài)3711或無(wú)效狀態(tài)3705。
響應(yīng)于用戶(hù)指示不再想要保護(hù)保護(hù)組,到達(dá)被毀狀態(tài)3707。復(fù)制品可從任何其它狀態(tài)轉(zhuǎn)移到被毀狀態(tài)3707。例如,如果復(fù)制品處在無(wú)效狀態(tài)3705,則用戶(hù)可指示不再想要保護(hù)復(fù)制在復(fù)制品上的保護(hù)對(duì)象,從而將復(fù)制品轉(zhuǎn)移到被毀狀態(tài)3707。將復(fù)制品放置在被毀狀態(tài)中向數(shù)據(jù)保護(hù)系統(tǒng)指示用戶(hù)結(jié)束保護(hù)復(fù)制在復(fù)制品上的保護(hù)對(duì)象,并且如硬盤(pán)等物理介質(zhì)可返回到空閑介質(zhì)池并且可分配給其它保護(hù)組。
在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)用戶(hù)指示不再想要繼續(xù)保護(hù)復(fù)制在復(fù)制品上的保護(hù)對(duì)象,則復(fù)制品可轉(zhuǎn)移到停止?fàn)顟B(tài)3709,由此復(fù)制品及其時(shí)間版本被維護(hù)一段有限時(shí)間。在已經(jīng)指示不再保護(hù)信息之后維護(hù)信息為用戶(hù)提供恢復(fù)該信息直到它停止保護(hù)時(shí)的能力。
圖38依照本發(fā)明的一個(gè)實(shí)施例示出了重新啟動(dòng)例程的流程圖,用于在先前的意圖轉(zhuǎn)換例程期間發(fā)生中斷之后重新啟動(dòng)意圖轉(zhuǎn)換例程。重新啟動(dòng)例程3800開(kāi)始于塊3801,并且在判定塊3803,例程判定保護(hù)組目前是否在意圖轉(zhuǎn)換中。如果在判定塊3803判定保護(hù)組在意圖轉(zhuǎn)換中,則在判定塊3805確定是否已經(jīng)為在意圖轉(zhuǎn)換中的保護(hù)組分配了所有資源。如果在判定塊3805確定還沒(méi)有分配所有資源,則解除分配在重新啟動(dòng)之前分配的任何資源,如由塊3806例示。在解除分配任何先前分配的資源之后,在判定塊3807判定在意圖轉(zhuǎn)換中的保護(hù)組是否是新保護(hù)組。如果在判定塊3807確定保護(hù)組不是新保護(hù)組,則在塊3808,例程使已經(jīng)添加到現(xiàn)有保護(hù)組的新對(duì)象返回到待決狀態(tài)。具體地,新對(duì)象返回到不受用戶(hù)保護(hù)并且是待決的用戶(hù)動(dòng)作。
在塊3809,現(xiàn)有保護(hù)組被標(biāo)記為不在轉(zhuǎn)換中,并且在塊3817,例程結(jié)束?,F(xiàn)有組返回到不在轉(zhuǎn)換中,并且新對(duì)象返回到待決狀態(tài),這使數(shù)據(jù)保護(hù)系統(tǒng)返回到其在嘗試的轉(zhuǎn)換之前的狀態(tài)。具體地,新對(duì)象必須再次添加到一個(gè)現(xiàn)有保護(hù)組,并且現(xiàn)有保護(hù)組的對(duì)象繼續(xù)受保護(hù),因?yàn)樗鼈冊(cè)谝鈭D轉(zhuǎn)換例程的初始嘗試之前是受保護(hù)的。
回來(lái)參考判定塊3807,如果確定在意圖轉(zhuǎn)換中的保護(hù)組在發(fā)生中斷時(shí)是新保護(hù)組,則在塊3811,新保護(hù)組的所有保護(hù)對(duì)象返回到待決狀態(tài)(即,不受用戶(hù)保護(hù)并且是待決的用戶(hù)動(dòng)作),并且例程在塊3817結(jié)束。除了使對(duì)象返回到待決狀態(tài)之外,保護(hù)組也可被刪除,因?yàn)樵诮M內(nèi)沒(méi)有保護(hù)對(duì)象。
回來(lái)參考判定塊3805,如果確定在中斷之前分配了所有資源,則在塊3813,標(biāo)識(shí)由嘗試的意圖轉(zhuǎn)換例程生成的最后一個(gè)檢查點(diǎn)。如上討論,在意圖轉(zhuǎn)換例程中在兩個(gè)不同點(diǎn)生成檢查點(diǎn)。具體地,在分配資源之后生成檢查點(diǎn),并且在創(chuàng)建和更新保護(hù)計(jì)劃之后且在創(chuàng)建準(zhǔn)備計(jì)劃之后再次生成檢查點(diǎn)。一旦在塊3813標(biāo)識(shí)了最后一個(gè)檢查點(diǎn),則從最后一個(gè)檢查點(diǎn)重新啟動(dòng)意圖轉(zhuǎn)換例程,如由塊3815所示的,并且過(guò)程在塊3817結(jié)束。
有若干方法可在存儲(chǔ)位置保護(hù)物理對(duì)象。例如,可在如服務(wù)器等計(jì)算設(shè)備上維護(hù)復(fù)制品,歸檔副本可存儲(chǔ)在如磁帶或其它可移動(dòng)介質(zhì)等物理介質(zhì)上。作為保護(hù)意圖或高層目標(biāo)(被轉(zhuǎn)換成一組計(jì)劃)的一部分,提供用戶(hù)希望的保護(hù)類(lèi)型,如上所討論的。對(duì)于在磁帶或其它可移動(dòng)介質(zhì)上的數(shù)據(jù)歸檔,數(shù)據(jù)保護(hù)通過(guò)創(chuàng)建“數(shù)據(jù)集(dataset)”工作,數(shù)據(jù)集通過(guò)一個(gè)或多個(gè)物理介質(zhì)塊包含特定時(shí)間點(diǎn)上保護(hù)組的數(shù)據(jù)表示或者相對(duì)于時(shí)間點(diǎn)的改變。數(shù)據(jù)集是與一個(gè)或多個(gè)保護(hù)對(duì)象相關(guān)聯(lián)的一個(gè)或多個(gè)歸檔路徑的結(jié)果。另外,每個(gè)數(shù)據(jù)集可包含一個(gè)或多個(gè)恢復(fù)源,因?yàn)槎鄠€(gè)恢復(fù)源可作用于一個(gè)恢復(fù),多個(gè)數(shù)據(jù)集也有必要作用于一個(gè)恢復(fù)。
不像其中介質(zhì)是管理的主要對(duì)象的其它備份應(yīng)用程序,依照本發(fā)明的實(shí)施例,管理數(shù)據(jù)集和數(shù)據(jù)集與介質(zhì)的關(guān)聯(lián),而非介質(zhì)本身。
歸檔被設(shè)計(jì)為長(zhǎng)時(shí)間(在周、月或年的等級(jí)上)維護(hù)數(shù)據(jù)。歸檔的介質(zhì)一般被非現(xiàn)場(chǎng)保存以針對(duì)如地震或火災(zāi)之類(lèi)影響整個(gè)產(chǎn)生位置的災(zāi)難來(lái)保護(hù)。歸檔的介質(zhì)也可被現(xiàn)場(chǎng)保存,用于從較小故障中恢復(fù),包括服務(wù)器或磁盤(pán)的丟失或用戶(hù)錯(cuò)誤。另外,對(duì)于那些使用復(fù)制和歸檔兩者的實(shí)施例,歸檔的介質(zhì)可與復(fù)制品一起在存儲(chǔ)位置、在產(chǎn)生位置或者在一單獨(dú)位置保存。
圖39依照本發(fā)明的一個(gè)實(shí)施例示出了歸檔保護(hù)計(jì)劃創(chuàng)建例程,用于生成用于歸檔數(shù)據(jù)的計(jì)劃。歸檔保護(hù)計(jì)劃創(chuàng)建例程3900開(kāi)始于塊3901,并且在塊3903,例程接收數(shù)據(jù)保護(hù)種類(lèi)。數(shù)據(jù)保護(hù)種類(lèi)是由用戶(hù)標(biāo)識(shí)的,它關(guān)于用戶(hù)想要現(xiàn)場(chǎng)、非現(xiàn)場(chǎng)還是既現(xiàn)場(chǎng)又非現(xiàn)場(chǎng)來(lái)歸檔它們的數(shù)據(jù)。除了接收數(shù)據(jù)保護(hù)種類(lèi)之外,在塊3905,例程接收數(shù)據(jù)保護(hù)持續(xù)時(shí)間。數(shù)據(jù)保護(hù)的持續(xù)時(shí)間是由用戶(hù)提供的高層意圖,關(guān)于他們想要能夠恢復(fù)在過(guò)去多長(zhǎng)時(shí)間的保護(hù)信息。這些意圖可被陳述為關(guān)于用戶(hù)想要能夠恢復(fù)什么的目標(biāo)。
例如,提供“我想要能夠恢復(fù)直到七年的數(shù)據(jù)”的意圖將轉(zhuǎn)換成一個(gè)歸檔計(jì)劃,它將允許用戶(hù)能夠恢復(fù)七年前存在于產(chǎn)生位置的信息的數(shù)據(jù)。數(shù)據(jù)保護(hù)持續(xù)時(shí)間可以是年、月、周或日。如由塊3907例示,歸檔保護(hù)計(jì)劃創(chuàng)建例程3900還接收調(diào)度意向,諸如用戶(hù)想要在何時(shí)讓歸檔數(shù)據(jù)的動(dòng)作發(fā)生。在另一實(shí)施例中,也可接收數(shù)據(jù)保護(hù)格式。數(shù)據(jù)保護(hù)格式包括但不限于,完全備份、差異備份和增量備份。如在此使用的完全備份是將所有保護(hù)對(duì)象復(fù)制到存儲(chǔ)位置的備份。在此使用的差異備份是將自從最后一次完全備份起修改過(guò)的保護(hù)對(duì)象的備份復(fù)制到存儲(chǔ)位置。如在此使用的增量備份是只復(fù)制自某個(gè)先前備份(完全、差異或增量)起修改過(guò)的保護(hù)對(duì)象。如在此討論的,差異和增量備份通常稱(chēng)為“部分備份”,并且其目的是標(biāo)識(shí)任一個(gè)。用戶(hù)也可指定應(yīng)該從產(chǎn)生位置處的原始數(shù)據(jù)創(chuàng)建歸檔還是應(yīng)該從存儲(chǔ)位置處的副本創(chuàng)建歸檔。
基于數(shù)據(jù)保護(hù)種類(lèi)和保護(hù)持續(xù)時(shí)間,歸檔保護(hù)計(jì)劃創(chuàng)建例程3900確定一個(gè)默認(rèn)的歸檔方案,它滿(mǎn)足由用戶(hù)指定的高層要求。在一個(gè)實(shí)際的實(shí)施例中,存在四個(gè)不同類(lèi)型的方案用于歸檔數(shù)據(jù)。第一個(gè)方案,稱(chēng)為曾祖父、祖父、父、子(GGFS),它提供現(xiàn)場(chǎng)維護(hù)四周的每年完全備份,和非現(xiàn)場(chǎng)維護(hù)某個(gè)年數(shù)的副本;現(xiàn)場(chǎng)維護(hù)四周的每月完全備份,和非現(xiàn)場(chǎng)維護(hù)一年的副本;現(xiàn)場(chǎng)維護(hù)四周的每周完全備份,和非現(xiàn)場(chǎng)維護(hù)四周的副本;以及,現(xiàn)場(chǎng)維護(hù)兩周的每日差異備份。在另一實(shí)施例中,取決于在塊3903標(biāo)識(shí)的保護(hù)種類(lèi),只維護(hù)現(xiàn)場(chǎng)或非現(xiàn)場(chǎng)副本。在另一個(gè)實(shí)施例中,基于在塊3903標(biāo)識(shí)的保護(hù)種類(lèi),現(xiàn)場(chǎng)副本本身可在一段時(shí)間后被傳送和被非現(xiàn)場(chǎng)維護(hù)。另一個(gè)方案在此被稱(chēng)為祖父、父、子(GFS)方案。GFS方案提供現(xiàn)場(chǎng)維護(hù)四周的每月完全備份和非現(xiàn)場(chǎng)維護(hù)一年的副本;現(xiàn)場(chǎng)維護(hù)四周的每周完全備份和非現(xiàn)場(chǎng)維護(hù)四周的副本;以及現(xiàn)場(chǎng)維護(hù)兩周的每日差異備份。
另一個(gè)歸檔方案在此稱(chēng)為父、子(FS)方案。FS方案提供現(xiàn)場(chǎng)維護(hù)四周的每周完全備份和非現(xiàn)場(chǎng)維護(hù)四周的副本,以及現(xiàn)場(chǎng)維護(hù)兩周的每日差異備份。另一個(gè)歸檔方案在此稱(chēng)為子(S)方案。S方案提供現(xiàn)場(chǎng)維護(hù)一周的每日完全備份和非現(xiàn)場(chǎng)維護(hù)一周的副本。最后,一個(gè)特別的例程也是可用的,它提供在正常的保護(hù)方案之外取得的備份。這可以是被現(xiàn)場(chǎng)維護(hù)或非現(xiàn)場(chǎng)的沒(méi)有期限的完全備份。
本領(lǐng)域的技術(shù)人員將意識(shí)到,默認(rèn)的歸檔方案可由用戶(hù)在任何層上修改,并且也可提供附加/替換的默認(rèn)歸檔方案。例如,種類(lèi)(現(xiàn)場(chǎng),非現(xiàn)場(chǎng))、持續(xù)時(shí)間(月,年)和格式(完全,差異,增量)都可修改。另外,用戶(hù)可指定對(duì)歸檔方案的調(diào)度控制。例如,用戶(hù)可指示方案開(kāi)始的一周的某一天、在生成歸檔的一天的某個(gè)時(shí)間、方案是在公司日歷還是在每月日歷上操作等等。
回來(lái)參考圖39,向用戶(hù)提供默認(rèn)的歸檔方案,并且給用戶(hù)覆蓋所提供的方案的任何部分的能力。在判定塊3911,確定用戶(hù)是否已經(jīng)向確定的歸檔方案提供了任何覆蓋。如果在判定塊3911確定用戶(hù)已經(jīng)提供了覆蓋,則在塊3913修改歸檔方案以包括那些覆蓋。覆蓋可提供給備份方案的任何部分,并且可在范圍內(nèi)改變。例如,覆蓋可包括備份格式(完全,差異,增量)、要維護(hù)的現(xiàn)場(chǎng)副本的數(shù)量、要維護(hù)的非現(xiàn)場(chǎng)副本的數(shù)量、非現(xiàn)場(chǎng)副本的保持時(shí)間、是否禁止S層、由備份生成的數(shù)據(jù)集是否應(yīng)該驗(yàn)證和何時(shí)驗(yàn)證、歸檔是應(yīng)該在產(chǎn)生位置、存儲(chǔ)位置還是其它地方進(jìn)行、一周的起始日、工作日的數(shù)量等等。由于各種原因可能希望禁止S層。例如,如果用戶(hù)已經(jīng)實(shí)現(xiàn)了歸檔和復(fù)制兩者,則用戶(hù)可確定省去每日歸檔保護(hù)(S層)且依賴(lài)于復(fù)制來(lái)處理所有現(xiàn)場(chǎng)恢復(fù)要求。
一旦在塊3909確定歸檔方案已經(jīng)被接受或者如在塊3913所示的被修改,則在塊3915,歸檔計(jì)劃創(chuàng)建例程3900生成通過(guò)歸檔保護(hù)數(shù)據(jù)所必需的計(jì)劃。如上討論,保護(hù)數(shù)據(jù)所必需的計(jì)劃可包括資源計(jì)劃、準(zhǔn)備計(jì)劃和保護(hù)計(jì)劃。最后,在如由塊3915所示地生成了計(jì)劃之后,歸檔保護(hù)計(jì)劃創(chuàng)建例程3900在塊3917結(jié)束。
圖40是依照本發(fā)明的一個(gè)實(shí)施例示出可用于生成歸檔方案的不同世代的例子的表格。表4000標(biāo)識(shí)具有增量備份模式的子世代4001,它維護(hù)一個(gè)現(xiàn)場(chǎng)副本兩周,該副本一周五天(例如,周一至周五)發(fā)生并且不維護(hù)非現(xiàn)場(chǎng)副本。父世代4003維護(hù)的一個(gè)以完全備份模式保留四周的現(xiàn)場(chǎng)副本,和一個(gè)每周執(zhí)行一次(例如周六)的完全備份,除了在每個(gè)月有一周不執(zhí)行(例如每個(gè)月的最后一個(gè)周六)。同樣,父世代4003維護(hù)一個(gè)非現(xiàn)場(chǎng)副本四周。祖父世代4005具有維護(hù)一個(gè)現(xiàn)場(chǎng)副本四周的完全備份模式,該副本每月生成一次(例如,在每個(gè)月的最后一個(gè)周六),除了每年有一個(gè)月不執(zhí)行(例如,每年的最后一個(gè)周六)。另外,祖父世代4005維護(hù)一個(gè)非現(xiàn)場(chǎng)副本12個(gè)月。最后,曾祖父世代4007具有維護(hù)一個(gè)保留四周的現(xiàn)場(chǎng)副本的完全備份模式,該副本每年生成一次(例如,每年的最后一個(gè)周六)。另外,曾祖父世代4007維護(hù)一個(gè)非現(xiàn)場(chǎng)副本七年。
作為對(duì)按照公司日歷(月的最后一個(gè)周六,年的最后一個(gè)周六等)調(diào)度的替換計(jì)劃,調(diào)度可按照物理日歷完成。例如,可調(diào)度作業(yè)在月的最后一天、年的最后一天、月的第一天發(fā)生。那些天可能是或者不是周六。如相關(guān)領(lǐng)域的技術(shù)人員將意識(shí)到的,任何類(lèi)型的調(diào)度和/或日程安排可由本發(fā)明的實(shí)施例使用,并且使用公司日歷或物理日歷只是作為例子提供的。調(diào)度的另一方面是指定執(zhí)行作業(yè)的時(shí)間段的能力。調(diào)度一個(gè)用于執(zhí)行作業(yè)的時(shí)間段允許用戶(hù)能夠標(biāo)識(shí)可執(zhí)行作業(yè)的特定時(shí)間。另外,數(shù)據(jù)保護(hù)系統(tǒng)可在保護(hù)系統(tǒng)看到作業(yè)沒(méi)有按照指定的時(shí)間完成時(shí)提供事前警告?;蛘?,當(dāng)一個(gè)作業(yè)沒(méi)有在調(diào)度的執(zhí)行時(shí)間段內(nèi)完成時(shí),可自動(dòng)終止它,并且有可能重新調(diào)度它。
如相關(guān)領(lǐng)域的技術(shù)人員將意識(shí)到的,可修改諸如子4001、父4003、祖父4005和曾祖父4007這樣的世代,以使用參考圖40所述的保護(hù)計(jì)劃上的不同的變化。唯一的要求是父世代是子世代的相同集合或超集。例如,如果父世代是完全備份,則子世代可以是完全、差異或增量備份。另外,現(xiàn)場(chǎng)或非現(xiàn)場(chǎng)維護(hù)的副本數(shù)量可以是從零到用戶(hù)希望的任何數(shù)字的任何組合。生成副本的保持時(shí)間和頻率也可按用戶(hù)所希望的調(diào)整。
除了創(chuàng)建長(zhǎng)期保護(hù)數(shù)據(jù)的歸檔方案之外,數(shù)據(jù)保護(hù)系統(tǒng)提供介質(zhì)的正在進(jìn)行中的分配、輪換、跳過(guò)(非現(xiàn)場(chǎng)存儲(chǔ))和收回。因而,按照本發(fā)明的一個(gè)實(shí)施例,與每個(gè)保護(hù)組相關(guān)聯(lián)的是介質(zhì)池。介質(zhì)池既是介質(zhì)的容器,也是一個(gè)對(duì)象,在其上放置各種意圖以便控制介質(zhì)的分配和重復(fù)利用。如將參考圖41更詳細(xì)地描述的,存在若干類(lèi)型的意圖用于控制介質(zhì)分配,諸如協(xié)同定位(co-location)意圖??梢勒毡景l(fā)明實(shí)施例使用的協(xié)同定位意圖的例子是作業(yè)配置意圖、子配置意圖和父/子配置意圖。作業(yè)配置意圖試圖使用相同的介質(zhì)用于相同作業(yè)內(nèi)的任務(wù)。在一個(gè)作業(yè)具有多個(gè)任務(wù)并且來(lái)自那些任務(wù)的數(shù)據(jù)被安裝在單個(gè)介質(zhì)塊上時(shí),這減少了介質(zhì)的安裝/拆卸數(shù)量。子配置意圖控制介質(zhì)如何用于GGFS、GFS、FS或S歸檔方案任一個(gè)的子作業(yè)。如果指定了子配置意圖,則一個(gè)循環(huán)(諸如周循環(huán))的第一個(gè)子作業(yè)將在一個(gè)新的介質(zhì)塊上開(kāi)始,但所有后續(xù)的子作業(yè)將試圖添加到同一介質(zhì)塊,除非不可行或者沒(méi)有包含足夠的空間。使用父/子配置意圖將使每周的完全和后續(xù)的每日差異和增量備份存儲(chǔ)在同一介質(zhì)塊上。
圖41是依照本發(fā)明的一個(gè)實(shí)施例用于在指定了作業(yè)配置意圖和子配置意圖的每一個(gè)時(shí)為歸檔數(shù)據(jù)分配介質(zhì)的流程圖。如將意識(shí)到的,可為分配用于歸檔的介質(zhì)指定配置意圖的其它組合,并且參考圖41描述的例程只是一個(gè)例子。只要需要介質(zhì)時(shí),就執(zhí)行介質(zhì)分配例程4100。介質(zhì)分配例程4100開(kāi)始于塊4101,并且在判定塊4102判定是否已經(jīng)指定作業(yè)配置。如果確定作業(yè)配置還沒(méi)有指定,則介質(zhì)分配例程進(jìn)行到判定塊4111,并且如下繼續(xù)。然而,如果在判定塊4102確定已經(jīng)指定了作業(yè)配置,則在判定塊4103確定試圖分配介質(zhì)的任務(wù)是否來(lái)自替換作業(yè)。替換作業(yè)是替換一個(gè)沒(méi)有成功完成的先前作業(yè)的作業(yè)。如果在判定塊4103確定任務(wù)來(lái)自替換作業(yè),則在塊4105,例程試圖分配在原來(lái)沒(méi)有成功完成的作業(yè)中使用和分配的同一物理介質(zhì)。
然而,如果在塊4103確定任務(wù)不是來(lái)自替換作業(yè),則在判定塊4107確定關(guān)于任務(wù)是否來(lái)自作業(yè)的第一個(gè)任務(wù)。如果確定任務(wù)不是來(lái)自作業(yè)的第一個(gè)任務(wù),則在塊4109,介質(zhì)分配例程4100試圖分配已經(jīng)為同一作業(yè)的先前任務(wù)所分配的介質(zhì)。
然而,如果在判定塊4107確定任務(wù)不是來(lái)自作業(yè)的第一個(gè)任務(wù),則在判定塊4111確定被保護(hù)的數(shù)據(jù)集是否為第一個(gè)子數(shù)據(jù)集。如果確定數(shù)據(jù)集是第二或后面的子數(shù)據(jù)集,則在判定塊4118判定是否指定了FS配置意圖或S配置意圖。如果指定了FS配置意圖,則在塊4113,介質(zhì)分配例程4100試圖分配由同一循環(huán)的父數(shù)據(jù)集使用的介質(zhì)。在此所述的循環(huán)是用于歸檔集的已調(diào)度長(zhǎng)度的時(shí)間(諸如日或周)。然而,如果在判定塊4112確定沒(méi)有指定FS配置意圖,則例程進(jìn)行至下面描述的判定塊4115。
如果在判定塊4111確定數(shù)據(jù)集不是子數(shù)據(jù)集或者不是循環(huán)的第一個(gè)子數(shù)據(jù)集,則在判定塊4114判定數(shù)據(jù)集是否是第二或后面的子數(shù)據(jù)集。如果確定數(shù)據(jù)集是第二或后面的子數(shù)據(jù)集,則在判定塊4118判定是否指定了FS配置意圖或S配置意圖。如果指定了FS配置意圖或S配置意圖,則在塊4116,介質(zhì)分配例程4100嘗試分配由同一循環(huán)的上一個(gè)子數(shù)據(jù)集使用的介質(zhì)。然而,如果在判定塊4118確定既沒(méi)有指定FS配置意圖也沒(méi)有指定S配置意圖,則例程進(jìn)行至下面描述的塊4115。
然而,如果在判定塊4114確定數(shù)據(jù)集不是第二或后面的數(shù)據(jù)集,則在判定塊4115確定來(lái)自同一世代的可重復(fù)利用介質(zhì)是否可用。例如,如果一個(gè)數(shù)據(jù)集是父數(shù)據(jù)集,則確定其它父數(shù)據(jù)集是否被包含在可用介質(zhì)上。如果在判定塊4115確定存在可用的、來(lái)自在同一世代的可重復(fù)利用介質(zhì),則在塊4117,介質(zhì)分配例程4100選擇最舊的、可從同一世代得到的可重復(fù)利用的介質(zhì),并且試圖分配該介質(zhì)。
如果在判定塊4115確定不能從同一世代得到介質(zhì),或者如果在判定塊4127確定塊4105、4109、4113、4117所嘗試的分配沒(méi)有成功完成,則在判定塊4119確定在空閑池中是否存在任何介質(zhì)。如果在判定塊4119確定在池中存在介質(zhì),則在塊4121,介質(zhì)分配例程4100從池中獲得空閑介質(zhì)并且使用該介質(zhì)用于分配。
最后,如果在判定塊4119確定在池中沒(méi)有空閑介質(zhì)用于特定保護(hù)組,則介質(zhì)分配例程4100在塊4123試圖獲得附加的介質(zhì)。附加的介質(zhì)可通過(guò)向用戶(hù)通知保護(hù)池需要附加介質(zhì)或者查詢(xún)現(xiàn)有的空閑介質(zhì)池來(lái)獲得??臻e介質(zhì)池包含不與其它保護(hù)組相關(guān)聯(lián)的介質(zhì)。如果在空閑介質(zhì)池中沒(méi)有空閑介質(zhì)可用,則通知用戶(hù)需要附加的空閑介質(zhì)添加到存儲(chǔ)位置并且將它分配給空閑介質(zhì)池。介質(zhì)分配例程4100在分配了附加介質(zhì)之后結(jié)束,或者如果不能分配附加介質(zhì)它就失敗,如由塊4125例示。
除了參考圖41描述的意圖,可使用另外的意圖來(lái)控制介質(zhì)池的活動(dòng)。例如,用戶(hù)可指定最大限度意圖,它指定可在介質(zhì)池中維護(hù)的介質(zhì)塊的最大數(shù)量。使用最大限度意圖防止將介質(zhì)不必要地添加(或者由用戶(hù)或者自動(dòng)地)到池而超過(guò)最大限度。同樣,最大每日限度意圖可用于控制在24小時(shí)內(nèi)分配給特定池的空閑介質(zhì)項(xiàng)的數(shù)量。使用最大限度和最大每日限度防止從空閑池將介質(zhì)不必要或者意外地分配到一個(gè)特定的池。
也可指定最低閾值意圖用于歸檔保護(hù)的介質(zhì)分配。最低閾值意圖指定在空閑介質(zhì)池中應(yīng)該可用于分配到各種介質(zhì)池的介質(zhì)塊最低數(shù)量。如果空閑介質(zhì)的數(shù)量落到低于最低數(shù)量,則通知用戶(hù),需要添加介質(zhì)到存儲(chǔ)位置并且分配給空閑介質(zhì)池。也可指定介質(zhì)擦除意圖,它控制任何可重復(fù)利用的介質(zhì)是否需要在重新使用或釋放到空閑介質(zhì)池用于重新分配之前擦除。
從產(chǎn)生位置復(fù)制或拷貝保護(hù)對(duì)象到存儲(chǔ)位置在一對(duì)安裝在各個(gè)位置的代理之前發(fā)生。這對(duì)代理的動(dòng)作是由數(shù)據(jù)保護(hù)器控制的。例如,對(duì)于復(fù)制,在產(chǎn)生位置安裝克隆代理,并且在存儲(chǔ)位置安裝復(fù)制代理??寺〈砗蛷?fù)制代理的動(dòng)作由數(shù)據(jù)保護(hù)器控制。另外,數(shù)據(jù)移動(dòng)器用作代理對(duì)之間的管道。數(shù)據(jù)移動(dòng)器保證代理之間的相互認(rèn)證并且可選地執(zhí)行數(shù)據(jù)加密、解密、壓縮或解壓。而且,數(shù)據(jù)移動(dòng)器包括節(jié)流控制器,以限制由數(shù)據(jù)保護(hù)系統(tǒng)在數(shù)據(jù)傳輸期間消耗的網(wǎng)絡(luò)帶寬。
圖42依照本發(fā)明的一個(gè)實(shí)施例示出了數(shù)據(jù)保護(hù)系統(tǒng)的框圖。數(shù)據(jù)保護(hù)系統(tǒng)4200包括數(shù)據(jù)保護(hù)器4201,用于管理數(shù)據(jù)從產(chǎn)生位置4203到存儲(chǔ)位置4205的傳送。如上面提到的,對(duì)于復(fù)制,產(chǎn)生位置4203包括克隆代理4207和數(shù)據(jù)移動(dòng)器部分4209A,用于控制從產(chǎn)生位置4203到存儲(chǔ)位置4205的數(shù)據(jù)流。同樣,存儲(chǔ)位置4205包括復(fù)制代理4211和數(shù)據(jù)移動(dòng)器的第二部分4209B,用于從產(chǎn)生位置4203獲得信息。產(chǎn)生位置4203、存儲(chǔ)位置4205和數(shù)據(jù)保護(hù)器4201之間的交互用于將數(shù)據(jù)從產(chǎn)生位置4203傳送到存儲(chǔ)位置4205,并且用于通過(guò)與數(shù)據(jù)保護(hù)器4201的通信來(lái)驗(yàn)證該數(shù)據(jù)傳送的有效性。
數(shù)據(jù)從經(jīng)由數(shù)據(jù)移動(dòng)器4209A的產(chǎn)生位置4203通過(guò)通信信道4213發(fā)送到經(jīng)由4209B的存儲(chǔ)位置4205。數(shù)據(jù)保護(hù)系統(tǒng)包括監(jiān)視數(shù)據(jù)從產(chǎn)生位置4203到存儲(chǔ)位置4205的傳送的能力,并且如果這樣的通信信道發(fā)生故障,則具有恢復(fù)進(jìn)行被中斷的數(shù)據(jù)傳送的能力。為了能夠恢復(fù)進(jìn)行數(shù)據(jù)的傳送,與從頭開(kāi)始相反,需要周期性地跟蹤和保存數(shù)據(jù)傳送的狀態(tài)。這是通過(guò)數(shù)據(jù)保護(hù)器4201監(jiān)視數(shù)據(jù)從產(chǎn)生位置4203到存儲(chǔ)位置4205的傳送來(lái)完成的。
數(shù)據(jù)以數(shù)據(jù)塊或記錄的形式通過(guò)通信信道4213傳送。在這樣一個(gè)傳輸系統(tǒng)中,部分?jǐn)?shù)據(jù)由產(chǎn)生位置4203維護(hù),而部分?jǐn)?shù)據(jù)由存儲(chǔ)位置4205維護(hù)。如果通信信道發(fā)生故障,則數(shù)據(jù)傳送中斷并且傳輸狀態(tài)會(huì)失去同步。例如,產(chǎn)生位置4203已經(jīng)發(fā)送的記錄數(shù)可能不同于存儲(chǔ)位置4205成功接收的記錄數(shù)。為解決這個(gè)問(wèn)題,數(shù)據(jù)保護(hù)器4201通過(guò)在停止或開(kāi)始數(shù)據(jù)傳送時(shí)單獨(dú)地指示產(chǎn)生位置4203和存儲(chǔ)位置4205,來(lái)監(jiān)視和控制數(shù)據(jù)傳輸過(guò)程。
為了數(shù)據(jù)的保護(hù),位于產(chǎn)生位置4203的克隆代理4207經(jīng)由數(shù)據(jù)移動(dòng)器4209將數(shù)據(jù)傳送到位于存儲(chǔ)位置4205的復(fù)制代理4211。為了創(chuàng)建位于產(chǎn)生位置的保護(hù)對(duì)象的復(fù)制品或副本,該數(shù)據(jù)作為數(shù)據(jù)記錄通過(guò)數(shù)據(jù)信道4213發(fā)送。克隆代理和復(fù)制代理將數(shù)據(jù)傳送狀態(tài)作為在此稱(chēng)為記錄檢查點(diǎn)的特殊數(shù)據(jù)塊發(fā)送給數(shù)據(jù)保護(hù)器4201。記錄檢查點(diǎn)由數(shù)據(jù)保護(hù)器4201接收并存儲(chǔ)在數(shù)據(jù)庫(kù)中。另外,數(shù)據(jù)保護(hù)器4201發(fā)送指令/命令到克隆代理和復(fù)制代理。
通常有兩種類(lèi)型的數(shù)據(jù)記錄由產(chǎn)生位置的克隆代理4207通過(guò)數(shù)據(jù)信道4213發(fā)送。第一種類(lèi)型的數(shù)據(jù)記錄表示已經(jīng)對(duì)位于產(chǎn)生位置的保護(hù)對(duì)象作出的改變。第二種類(lèi)型的數(shù)據(jù)記錄包括關(guān)于保護(hù)對(duì)象數(shù)據(jù)的信息(元數(shù)據(jù))。包含元數(shù)據(jù)的記錄是由數(shù)據(jù)保護(hù)系統(tǒng)生成的。如下所述,元數(shù)據(jù)用于確認(rèn)發(fā)送和存儲(chǔ)在存儲(chǔ)位置的數(shù)據(jù)副本,并且可以是例如數(shù)據(jù)的校驗(yàn)和。
在從克隆代理的改變?nèi)罩?圖43-47)發(fā)送到復(fù)制代理的溢出日志(圖43-47)的時(shí)候,通過(guò)將特殊的數(shù)據(jù)標(biāo)記(記錄檢查點(diǎn))插入到數(shù)據(jù)記錄流中來(lái)傳遞從產(chǎn)生位置4203的數(shù)據(jù)傳送的狀態(tài)。在一個(gè)實(shí)際的實(shí)施例中,在由產(chǎn)生位置的數(shù)據(jù)移動(dòng)器4209A發(fā)送的時(shí)候,將記錄檢查點(diǎn)添加到數(shù)據(jù)流的末尾。在另一實(shí)施例中,記錄檢查點(diǎn)可添加到改變?nèi)罩静⑶易鳛橐粋€(gè)數(shù)據(jù)項(xiàng)連同數(shù)據(jù)流一起發(fā)送。在由存儲(chǔ)位置的數(shù)據(jù)移動(dòng)器4209B接收數(shù)據(jù)流時(shí),數(shù)據(jù)和任何記錄檢查點(diǎn)存儲(chǔ)在溢出日志中。
當(dāng)復(fù)制代理4211在數(shù)據(jù)流中遇到這類(lèi)記錄檢查點(diǎn)時(shí),它將這些記錄檢查點(diǎn)轉(zhuǎn)發(fā)到數(shù)據(jù)保護(hù)器4201。另外,復(fù)制代理也生成它自己的記錄檢查點(diǎn)并且將它們轉(zhuǎn)發(fā)到數(shù)據(jù)保護(hù)器4201。包含在由克隆代理4207和復(fù)制代理4211生成的記錄檢查點(diǎn)中的信息由數(shù)據(jù)保護(hù)器在發(fā)送開(kāi)始或停止操作的命令時(shí)使用。
當(dāng)數(shù)據(jù)保護(hù)器4201接收任何記錄檢查點(diǎn)時(shí),它自動(dòng)地將它們存儲(chǔ)在數(shù)據(jù)庫(kù)中,從而使數(shù)據(jù)保護(hù)系統(tǒng)對(duì)通信故障、過(guò)程和系統(tǒng)重新啟動(dòng)有恢復(fù)能力。
在本發(fā)明的一個(gè)實(shí)際實(shí)施例中,克隆代理4207生成兩種類(lèi)型的檢查點(diǎn),在此稱(chēng)為“C類(lèi)檢查點(diǎn)”和“A類(lèi)檢查點(diǎn)”。C類(lèi)檢查點(diǎn)表示從克隆代理4207發(fā)送到復(fù)制代理4211的數(shù)據(jù)記錄狀態(tài)。A類(lèi)檢查點(diǎn)表示在生成元數(shù)據(jù)記錄的整個(gè)過(guò)程中的位置。
復(fù)制代理4211生成一類(lèi)記錄檢查點(diǎn),在此稱(chēng)為“B類(lèi)檢查點(diǎn)”。
C類(lèi)和B類(lèi)檢查點(diǎn)是數(shù)據(jù)檢查點(diǎn)。它們用于恢復(fù)數(shù)據(jù)從克隆代理4207到復(fù)制代理4211的傳輸,并且用于恢復(fù)復(fù)制代理4211上接收的數(shù)據(jù)記錄的應(yīng)用。A類(lèi)檢查點(diǎn)是元數(shù)據(jù)檢查點(diǎn)。它們用于監(jiān)視在生成元數(shù)據(jù)的克隆代理4207上長(zhǎng)期運(yùn)行的過(guò)程。生成A類(lèi)檢查點(diǎn)減少在數(shù)據(jù)傳輸中斷的情況下對(duì)這一長(zhǎng)期運(yùn)行過(guò)程要重復(fù)的工作總量。
更具體地,C類(lèi)檢查點(diǎn)包含指向克隆代理4207系統(tǒng)和復(fù)制代理4211系統(tǒng)上的數(shù)據(jù)記錄中的位置的指針。C類(lèi)檢查點(diǎn)由克隆代理4207生成并且轉(zhuǎn)發(fā)到復(fù)制代理4211。復(fù)制代理4211用在它的溢出日志中最后接收的記錄的指針更新C類(lèi)檢查點(diǎn)。
B類(lèi)檢查點(diǎn)包含指向由在存儲(chǔ)位置4205的復(fù)制代理4211應(yīng)用的數(shù)據(jù)記錄的指針。當(dāng)數(shù)據(jù)保護(hù)器4201接收B類(lèi)檢查點(diǎn)時(shí),該檢查點(diǎn)向數(shù)據(jù)保護(hù)器4201標(biāo)識(shí)在B類(lèi)檢查點(diǎn)之前的所有數(shù)據(jù)塊已經(jīng)應(yīng)用于存儲(chǔ)在存儲(chǔ)位置的數(shù)據(jù)的復(fù)制品。
A類(lèi)檢查點(diǎn)指示在生成元數(shù)據(jù)的同時(shí)由克隆代理4207處理的保護(hù)數(shù)據(jù)的總量。在由復(fù)制代理接收A類(lèi)檢查點(diǎn)時(shí),如果必要,復(fù)制代理添加它自己的元數(shù)據(jù),并且將A類(lèi)檢查點(diǎn)轉(zhuǎn)發(fā)到數(shù)據(jù)保護(hù)器。當(dāng)數(shù)據(jù)保護(hù)器接收A類(lèi)檢查點(diǎn)時(shí),意味著在包含在該檢查點(diǎn)中的位置之前,完成了元數(shù)據(jù)生成。在一個(gè)實(shí)施例中,可順序地引用A類(lèi)檢查點(diǎn)(例如,順序編號(hào)的),以使數(shù)據(jù)保護(hù)系統(tǒng)能夠判定是否丟失A類(lèi)檢查點(diǎn)。如果丟失A類(lèi)檢查點(diǎn),則將重新啟動(dòng)確認(rèn),因?yàn)榇嬖诓町惲斜淼脑貋G失的可能性。如下討論,差異列表包括標(biāo)識(shí)在復(fù)制品處沒(méi)有匹配的保護(hù)對(duì)象。那些對(duì)象是通過(guò)將在產(chǎn)生位置生成的元數(shù)據(jù)與在存儲(chǔ)位置生成的元數(shù)據(jù)進(jìn)行比較來(lái)標(biāo)識(shí)的。
除了上面提到的三個(gè)檢查點(diǎn)類(lèi)型之外,數(shù)據(jù)保護(hù)器4201可以生成特殊的標(biāo)記權(quán)標(biāo),并且將它發(fā)送到位于產(chǎn)生位置4203的克隆代理以將它插入到數(shù)據(jù)記錄流中。這個(gè)權(quán)標(biāo)隨后由克隆代理4207通過(guò)數(shù)據(jù)信道4213發(fā)送到復(fù)制代理4211。在接收后,復(fù)制代理4211將該權(quán)標(biāo)發(fā)送回?cái)?shù)據(jù)保護(hù)器4201。標(biāo)記權(quán)標(biāo)的目的是要在恢復(fù)元數(shù)據(jù)生成之前清除來(lái)自任何數(shù)據(jù)通信傳輸?shù)乃蠥類(lèi)檢查點(diǎn)。通過(guò)系統(tǒng)傳遞所有A類(lèi)檢查點(diǎn),發(fā)送已經(jīng)由克隆代理4207生成的元數(shù)據(jù),并且只有在這之后才能恢復(fù)元數(shù)據(jù)生成。這樣做的好處是它防止數(shù)據(jù)記錄傳輸日志溢出(如果元數(shù)據(jù)生成過(guò)程比克隆代理4207能夠發(fā)送的速度快得多),并且它避免多次生成相同的元數(shù)據(jù),因?yàn)閿?shù)據(jù)保護(hù)器4201在接收標(biāo)記權(quán)標(biāo)之前看見(jiàn)所有元數(shù)據(jù)。
圖43-44依照本發(fā)明的一個(gè)實(shí)施例示出了由數(shù)據(jù)保護(hù)系統(tǒng)執(zhí)行的數(shù)據(jù)傳送監(jiān)視例程的流程圖。如上討論,響應(yīng)于用戶(hù)或者另一個(gè)人對(duì)保護(hù)數(shù)據(jù)作出的單獨(dú)改變,或者在調(diào)度的作業(yè)執(zhí)行時(shí)間,啟動(dòng)產(chǎn)生位置4303與存儲(chǔ)位置4305之間的數(shù)據(jù)傳送。響應(yīng)于用戶(hù)對(duì)保護(hù)數(shù)據(jù)所作的改變,產(chǎn)生位置4303將保護(hù)數(shù)據(jù)的改變的記錄記錄到改變?nèi)罩?307。例如,R1,R2,R3,R4,R5和R6是由產(chǎn)生位置4303處的克隆代理記錄到改變?nèi)罩镜母鱾€(gè)改變記錄。包含在改變?nèi)罩?307中的記錄周期性地由數(shù)據(jù)移動(dòng)器從改變?nèi)罩?307中拉出,一起組合成批并發(fā)送到存儲(chǔ)位置4305。另外,克隆代理生成一個(gè)C類(lèi)檢查點(diǎn),它包含指向被發(fā)送的最后一個(gè)記錄的改變?nèi)罩?307中的位置的指針,并且將該C類(lèi)檢查點(diǎn)添加到傳輸批的末尾。例如,克隆代理可從改變?nèi)罩?307中拉出記錄R1,R2和R3,將這些記錄一起組合成批并且將該批發(fā)送到存儲(chǔ)位置4305。生成的C類(lèi)檢查點(diǎn)4311包含指向R3在改變?nèi)罩?307中位置的指針,在本例中是改變?nèi)罩疚恢?。C類(lèi)檢查點(diǎn)被添加到發(fā)送到存儲(chǔ)位置4305的批的末尾。
盡管上例示出了可生成C類(lèi)檢查點(diǎn)并隨數(shù)據(jù)的每個(gè)傳輸批一起發(fā)送,但在另一實(shí)施例中,C類(lèi)檢查點(diǎn)可基于要發(fā)送的數(shù)據(jù)總量生成。在這一實(shí)施例中,C類(lèi)檢查點(diǎn)可以只在數(shù)據(jù)總量超過(guò)一個(gè)預(yù)定的最小傳輸大小時(shí)生成。在另一個(gè)實(shí)施例中,C類(lèi)檢查點(diǎn)的生成和傳輸可取決于自前一C類(lèi)檢查點(diǎn)生成和發(fā)送起的時(shí)間。而且,C類(lèi)檢查點(diǎn)的生成和傳輸可在預(yù)定數(shù)量的數(shù)據(jù)傳輸處生成和發(fā)送。例如,C類(lèi)檢查點(diǎn)可在每當(dāng)?shù)谖鍌€(gè)數(shù)據(jù)傳輸時(shí)生成和發(fā)送。而且,本發(fā)明的實(shí)施例可使用用于生成和發(fā)送檢查點(diǎn)的技術(shù)的任何組合。例如,如果數(shù)據(jù)超過(guò)最低大小或者在每當(dāng)?shù)谖宕蝹鬏敃r(shí),可生成C類(lèi)檢查點(diǎn)。
位于存儲(chǔ)位置4305的復(fù)制代理通過(guò)數(shù)據(jù)移動(dòng)器接收發(fā)送的記錄和C類(lèi)檢查點(diǎn),并且在溢出日志4313中存儲(chǔ)發(fā)送的記錄和C類(lèi)檢查點(diǎn)。另外,在收到C類(lèi)檢查點(diǎn)4311后,存儲(chǔ)位置4305的復(fù)制代理添加指向該C類(lèi)檢查點(diǎn)的第二個(gè)指針,它標(biāo)識(shí)該C類(lèi)檢查點(diǎn)在溢出日志4313中的位置,在這種情況下被添加到C類(lèi)檢查點(diǎn)4311的指針是指向溢出日志位置106的指針。因而,C類(lèi)檢查點(diǎn)4313包含指向改變?nèi)罩?307的最后一個(gè)傳輸位置的位置和溢出日志4313中該C類(lèi)檢查點(diǎn)的位置兩者的指針。隨后由復(fù)制代理將C類(lèi)檢查點(diǎn)4313轉(zhuǎn)發(fā)到數(shù)據(jù)保護(hù)器4301。數(shù)據(jù)保護(hù)器4301在數(shù)據(jù)庫(kù)中記錄該C類(lèi)檢查點(diǎn)。在另一實(shí)施例中,C類(lèi)檢查點(diǎn)不存儲(chǔ)在溢出日志中,并且代之以由復(fù)制代理添加一個(gè)指向C類(lèi)檢查點(diǎn)的指針,它標(biāo)識(shí)用批發(fā)送的最后一個(gè)改變記錄,并且將C類(lèi)檢查點(diǎn)轉(zhuǎn)發(fā)到數(shù)據(jù)保護(hù)器4301。
現(xiàn)在參考圖44,數(shù)據(jù)保護(hù)器4301在從存儲(chǔ)位置4305收到C類(lèi)檢查點(diǎn)時(shí)將C類(lèi)檢查點(diǎn)存儲(chǔ)在數(shù)據(jù)保護(hù)器的數(shù)據(jù)庫(kù)中,并且發(fā)送C類(lèi)檢查點(diǎn)確認(rèn)到產(chǎn)生位置4303。產(chǎn)生位置4303對(duì)C類(lèi)檢查點(diǎn)確認(rèn)的接收向產(chǎn)生位置標(biāo)識(shí),在該C類(lèi)檢查點(diǎn)之前發(fā)送的所有記錄都已經(jīng)由存儲(chǔ)位置4305接收,并且那些發(fā)送的記錄可從改變?nèi)罩?307中清除。
除了接收記錄并將那些記錄存儲(chǔ)在溢出日志4313中之外,位于存儲(chǔ)位置4305的復(fù)制代理開(kāi)始將接收的記錄應(yīng)用于位于存儲(chǔ)位置4305的數(shù)據(jù)復(fù)制品。在一個(gè)預(yù)定點(diǎn),復(fù)制代理生成一個(gè)B類(lèi)檢查點(diǎn),它包括一個(gè)指向溢出日志4313內(nèi)被應(yīng)用于復(fù)制數(shù)據(jù)4317的最后一個(gè)記錄的位置的指針。預(yù)定點(diǎn)可基于例如但不限于,經(jīng)處理的數(shù)據(jù)總量、自最后一個(gè)B類(lèi)檢查點(diǎn)起的時(shí)間、或者兩者的組合。例如,復(fù)制代理可從溢出日志4313位置103應(yīng)用R1、從溢出日志4313位置104應(yīng)用R2、并且在將R2應(yīng)用于復(fù)制品數(shù)據(jù)4317之后生成一個(gè)B類(lèi)檢查點(diǎn),它包含指向溢出日志位置104的引用。所生成的B類(lèi)檢查點(diǎn)4319由存儲(chǔ)位置4305上的復(fù)制代理轉(zhuǎn)發(fā)到數(shù)據(jù)保護(hù)器4301。數(shù)據(jù)保護(hù)器4301將B類(lèi)檢查點(diǎn)存儲(chǔ)在數(shù)據(jù)庫(kù)中,以使記錄能夠在數(shù)據(jù)傳送被中斷的情況下使用。
另外,響應(yīng)于從存儲(chǔ)位置4305接收B類(lèi)檢查點(diǎn),數(shù)據(jù)保護(hù)器4301將B類(lèi)檢查點(diǎn)存儲(chǔ)在它的數(shù)據(jù)庫(kù)中,并且將B類(lèi)檢查點(diǎn)確認(rèn)發(fā)送回存儲(chǔ)位置4305。由存儲(chǔ)位置4305對(duì)B類(lèi)檢查點(diǎn)的接收向存儲(chǔ)位置4305標(biāo)識(shí),數(shù)據(jù)保護(hù)器已經(jīng)記錄了應(yīng)用于復(fù)制品數(shù)據(jù)4317的記錄的最后位置,并且那些記錄可從溢出日志4313中清除。
傳送記錄并將那些記錄應(yīng)用于在存儲(chǔ)位置的復(fù)制品數(shù)據(jù)的過(guò)程,以及檢查點(diǎn)的循環(huán)確認(rèn)了從產(chǎn)生位置4303到存儲(chǔ)位置4305的記錄傳輸準(zhǔn)確性,并且向數(shù)據(jù)保護(hù)器4301提供可在發(fā)生故障時(shí)用于重新啟動(dòng)數(shù)據(jù)傳輸。
圖45依照本發(fā)明的一個(gè)實(shí)施例示出了數(shù)據(jù)保護(hù)系統(tǒng)重新啟動(dòng)改變記錄從產(chǎn)生位置4303到存儲(chǔ)位置4305的傳輸?shù)牧鞒虉D。為了說(shuō)明的目的,假定系統(tǒng)正在從產(chǎn)生位置4303傳送到存儲(chǔ)位置4305,并且由于某種原因傳輸被中斷,并且系統(tǒng)正在恢復(fù)該傳輸。
為恢復(fù)數(shù)據(jù)傳輸,數(shù)據(jù)保護(hù)器4301參考存在于數(shù)據(jù)保護(hù)器4301的數(shù)據(jù)庫(kù)中的最后一個(gè)記錄的C類(lèi)和B類(lèi)檢查點(diǎn),來(lái)標(biāo)識(shí)產(chǎn)生位置4303和存儲(chǔ)位置4305的重新啟動(dòng)位置。例如,參考所記錄的B類(lèi)檢查點(diǎn)B2,數(shù)據(jù)保護(hù)器4301確定在溢出日志4313中所應(yīng)用的最后一個(gè)記錄的位置是位置107。因而,數(shù)據(jù)保護(hù)器4301生成一個(gè)被發(fā)送到存儲(chǔ)位置4305的命令,指示存儲(chǔ)位置4305的復(fù)制代理開(kāi)始應(yīng)用來(lái)自溢出日志位置108的記錄,并且在溢出日志位置111之后(即,溢出日志位置112)存儲(chǔ)下一個(gè)接收到數(shù)據(jù)記錄。復(fù)制代理開(kāi)始存儲(chǔ)接收記錄的位置(112)是通過(guò)參考記錄在數(shù)據(jù)保護(hù)器4301的數(shù)據(jù)庫(kù)中的最后一個(gè)C類(lèi)檢查點(diǎn)來(lái)標(biāo)識(shí)的。在本例中,數(shù)據(jù)保護(hù)器4301參考C類(lèi)檢查點(diǎn)C3來(lái)標(biāo)識(shí),由存儲(chǔ)位置4305接收的最后一個(gè)已知的C類(lèi)檢查點(diǎn)位于溢出日志位置111。
同樣,數(shù)據(jù)保護(hù)器4301參考最后一個(gè)收到的C類(lèi)檢查點(diǎn)C3,標(biāo)識(shí)產(chǎn)生位置4303發(fā)送的最后一個(gè)記錄(它知道已由存儲(chǔ)位置4305成功接收)定位在改變?nèi)罩疚恢?。因而,數(shù)據(jù)保護(hù)器4301生成一個(gè)發(fā)送給產(chǎn)生位置4303的命令,它指示位于產(chǎn)生位置4303的克隆代理從記錄10開(kāi)始將記錄發(fā)送到存儲(chǔ)位置4305。
總的來(lái)說(shuō),為了有效地恢復(fù)數(shù)據(jù)記錄的傳輸,數(shù)據(jù)保護(hù)器4301生成和發(fā)送三個(gè)命令。生成開(kāi)始發(fā)送記錄命令,并且將它發(fā)送到產(chǎn)生位置4303,它標(biāo)識(shí)在改變?nèi)罩?307中的傳輸起始點(diǎn)。發(fā)送開(kāi)始應(yīng)用記錄命令到存儲(chǔ)位置4305,它標(biāo)識(shí)在溢出日志4313中要恢復(fù)應(yīng)用的位置。還生成第三個(gè)命令,即開(kāi)始存儲(chǔ)接收記錄命令,并發(fā)送到存儲(chǔ)位置4305,它標(biāo)識(shí)在溢出日志4313中關(guān)于要存儲(chǔ)的新接收記錄的位置。
參考諸如B類(lèi)和C類(lèi)這樣的檢查點(diǎn)并且生成開(kāi)始應(yīng)用記錄命令、開(kāi)始發(fā)送記錄命令和開(kāi)始存儲(chǔ)接收記錄命令,使數(shù)據(jù)保護(hù)系統(tǒng)能夠通過(guò)從數(shù)據(jù)傳送內(nèi)已知的檢查點(diǎn)重新開(kāi)始重新同步它本身,因而不必從頭開(kāi)始數(shù)據(jù)傳輸并且不丟失任何數(shù)據(jù)。
除了如上所述監(jiān)視改變記錄從產(chǎn)生位置4303到存儲(chǔ)位置4305的傳輸之外,數(shù)據(jù)保護(hù)系統(tǒng)具有確認(rèn)位于存儲(chǔ)位置4305的復(fù)制品數(shù)據(jù)4317的完整性的能力。在本發(fā)明的一個(gè)實(shí)際實(shí)施例中,數(shù)據(jù)的確認(rèn)是通過(guò)從產(chǎn)生位置4303發(fā)送要與在存儲(chǔ)位置4305的記錄比較的確認(rèn)記錄來(lái)完成的。
圖46和47依照本發(fā)明的一個(gè)實(shí)施例示出了用于確認(rèn)復(fù)制品4317的確認(rèn)例程。為了開(kāi)始確認(rèn)例程,數(shù)據(jù)保護(hù)系統(tǒng)器4301生成要發(fā)給產(chǎn)生位置4303的開(kāi)始確認(rèn)命令。響應(yīng)于接收開(kāi)始確認(rèn)命令,在產(chǎn)生位置4303的克隆代理開(kāi)始生成位于產(chǎn)生位置4303的每個(gè)保護(hù)對(duì)象的元數(shù)據(jù)。該元數(shù)據(jù)作為一個(gè)記錄添加到改變?nèi)罩?307,并且連同改變記錄一起發(fā)送。記錄和元數(shù)據(jù)如上討論地從改變?nèi)罩?307發(fā)送到存儲(chǔ)位置4305。在收到改變記錄后,位于存儲(chǔ)位置4305的復(fù)制代理如上討論地將該記錄應(yīng)用于復(fù)制品數(shù)據(jù)4317。在應(yīng)用如V1等元數(shù)據(jù)記錄后,位于存儲(chǔ)位置4305的復(fù)制代理計(jì)算復(fù)制品數(shù)據(jù)4317相同部分的元數(shù)據(jù)。比較兩個(gè)元數(shù)據(jù)項(xiàng),以確認(rèn)復(fù)制品數(shù)據(jù)該部分的有效性和完整性。如果元數(shù)據(jù)不匹配,則復(fù)制代理生成一個(gè)差異列表,它標(biāo)識(shí)在復(fù)制品4317處不匹配的保護(hù)對(duì)象。
如相關(guān)領(lǐng)域的技術(shù)人員將意識(shí)到的,使用元數(shù)據(jù)將復(fù)制品數(shù)據(jù)與保護(hù)對(duì)象比較可通過(guò)生成要比較數(shù)據(jù)的校驗(yàn)和和/或通過(guò)比較如最后改變時(shí)間等數(shù)據(jù)的任何其它標(biāo)識(shí)標(biāo)記來(lái)完成。
在如V1和V2等一組元數(shù)據(jù)記錄已經(jīng)被包括在改變?nèi)罩?307中之后的預(yù)定時(shí)間點(diǎn),位于產(chǎn)生位置4303的克隆代理生成要作為記錄添加到改變?nèi)罩?307的A類(lèi)檢查點(diǎn)。如A1等A類(lèi)檢查點(diǎn)連同改變記錄和元數(shù)據(jù)記錄一起通過(guò)數(shù)據(jù)信道發(fā)送到存儲(chǔ)位置4305。
在由位于存儲(chǔ)位置4305的復(fù)制代理收到A類(lèi)檢查點(diǎn)后,復(fù)制代理將A類(lèi)檢查點(diǎn),以及已經(jīng)作為比較元數(shù)據(jù)的結(jié)果所生成的任何差異列表轉(zhuǎn)發(fā)到數(shù)據(jù)保護(hù)器4301。如在圖46中例示的,A類(lèi)檢查點(diǎn)可在溢出日志中維護(hù),直到它被清除?;蛘撸谑盏紸類(lèi)檢查點(diǎn)后,可連同差異列表一起轉(zhuǎn)發(fā)它并且不存儲(chǔ)在溢出日志中。
數(shù)據(jù)保護(hù)器4301接收A類(lèi)檢查點(diǎn)和差異列表,并且將A類(lèi)檢查點(diǎn)和差異列表記錄在數(shù)據(jù)庫(kù)中。差異列表被轉(zhuǎn)發(fā)到產(chǎn)生位置,且重新復(fù)制所標(biāo)識(shí)的保護(hù)對(duì)象并且重新發(fā)送到存儲(chǔ)位置。響應(yīng)于接收差異列表,所標(biāo)識(shí)的保護(hù)對(duì)象的重新復(fù)制和重新傳輸可發(fā)生,或者可被調(diào)度在某個(gè)以后的時(shí)間點(diǎn)(例如,在完成復(fù)制品的確認(rèn)之后)發(fā)生。
A類(lèi)檢查點(diǎn)在其本身內(nèi)包括一個(gè)對(duì)其計(jì)算元數(shù)據(jù)的特定保護(hù)對(duì)象的標(biāo)識(shí)。例如,如果為位于服務(wù)器1的C\生成元數(shù)據(jù),并且生成元數(shù)據(jù)的最后一個(gè)保護(hù)對(duì)象是服務(wù)器1上的C\file50,則A類(lèi)檢查點(diǎn)將包含到服務(wù)器1上的C\file50的引用。該信息由數(shù)據(jù)保護(hù)器4301存儲(chǔ)在數(shù)據(jù)庫(kù)中,因此,在數(shù)據(jù)傳輸中斷的情況下,它將具有一個(gè)引用點(diǎn),從該點(diǎn)重新開(kāi)始確認(rèn)。
圖47依照本發(fā)明的一個(gè)實(shí)施例示出了一個(gè)流程圖,它描述由數(shù)據(jù)保護(hù)系統(tǒng)生成的確認(rèn)例程的重新開(kāi)始,以在特定時(shí)間點(diǎn)確認(rèn)被中斷時(shí)重新開(kāi)始確認(rèn)。為了本討論的目的,假定數(shù)據(jù)傳輸已經(jīng)被中斷并且現(xiàn)在要恢復(fù)。當(dāng)重新進(jìn)行數(shù)據(jù)傳輸時(shí),數(shù)據(jù)保護(hù)器4301生成和發(fā)送標(biāo)記權(quán)標(biāo),在圖47中被示為Ap。標(biāo)記權(quán)標(biāo)是由數(shù)據(jù)保護(hù)器4301生成的唯一權(quán)標(biāo),在數(shù)據(jù)確認(rèn)恢復(fù)進(jìn)行之前,它通過(guò)系統(tǒng)循環(huán)以從系統(tǒng)清除所有元數(shù)據(jù)和A類(lèi)檢查點(diǎn)。
標(biāo)記Ap從數(shù)據(jù)保護(hù)器4301發(fā)送到產(chǎn)生位置4303,并且由位于產(chǎn)生位置4303的克隆代理將它包括在改變?nèi)罩?307中。在產(chǎn)生位置4303收到標(biāo)記權(quán)標(biāo)Ap,克隆代理添加標(biāo)記Ap到改變?nèi)罩?307并且隨后將標(biāo)記Ap發(fā)送到存儲(chǔ)位置4305。在存儲(chǔ)位置4305收到標(biāo)記權(quán)標(biāo)Ap后,位于存儲(chǔ)位置4305的復(fù)制代理將標(biāo)記權(quán)標(biāo)Ap轉(zhuǎn)發(fā)回?cái)?shù)據(jù)保護(hù)器4301。
在數(shù)據(jù)保護(hù)器4301收到標(biāo)記權(quán)標(biāo)Ap后,數(shù)據(jù)保護(hù)器4301變成知道先前已經(jīng)生成的所有元數(shù)據(jù)已經(jīng)從產(chǎn)生位置4303發(fā)送到存儲(chǔ)位置4305。參考類(lèi)A檢查點(diǎn)的數(shù)據(jù)庫(kù),數(shù)據(jù)保護(hù)器4301標(biāo)識(shí)被發(fā)送的最后一個(gè)A類(lèi)檢查點(diǎn),并且準(zhǔn)備一個(gè)重新啟動(dòng)命令,它包括產(chǎn)生位置要重新開(kāi)始數(shù)據(jù)確認(rèn)的位置。數(shù)據(jù)保護(hù)器4301將重新確認(rèn)命令和要恢復(fù)數(shù)據(jù)確認(rèn)的點(diǎn)的標(biāo)識(shí)發(fā)送到產(chǎn)生位置4303。
例如,參考圖47,數(shù)據(jù)保護(hù)器4301從它的數(shù)據(jù)庫(kù)標(biāo)識(shí)在先前的確認(rèn)例程期間計(jì)算元數(shù)據(jù)的最后一個(gè)保護(hù)對(duì)象是在服務(wù)器1上的C\file1003。因而,數(shù)據(jù)保護(hù)器4301知道已經(jīng)為一直到服務(wù)器1的卷C上的file1003的所有文件生成和發(fā)送了元數(shù)據(jù),因而生成一個(gè)重新啟動(dòng)確認(rèn)命令以指示產(chǎn)生位置4303重新啟動(dòng)服務(wù)器1上C\file1003之后的元數(shù)據(jù)生成。
圖48A是依照本發(fā)明的一個(gè)實(shí)施例的命令處理例程的流程圖,用于處理由產(chǎn)生位置接收的命令。命令處理例程4800開(kāi)始于4801,并且在判定塊4803確定所接收的命令是否是“開(kāi)始傳輸”命令。如上討論,命令是由數(shù)據(jù)保護(hù)器為控制部署在整個(gè)數(shù)據(jù)保護(hù)系統(tǒng)上的代理而生成的。如果在判定塊4803判定所接收的命令是“開(kāi)始傳輸”命令,則在塊4805標(biāo)識(shí)一個(gè)開(kāi)始傳輸點(diǎn)。開(kāi)始傳輸點(diǎn)可包括在“開(kāi)始傳輸”命令中。開(kāi)始傳輸點(diǎn)標(biāo)識(shí)改變?nèi)罩緝?nèi)的一個(gè)位置,從它開(kāi)始數(shù)據(jù)傳輸。
另外,在塊4807標(biāo)識(shí)一個(gè)結(jié)束傳輸點(diǎn)。結(jié)束傳輸點(diǎn)可用各種方法來(lái)確定。例如,可通過(guò)找出包含在改變?nèi)罩緝?nèi)的最后一個(gè)記錄并將它用作結(jié)束傳輸點(diǎn),通過(guò)確定數(shù)據(jù)傳輸?shù)淖畲蟪叽绮⑶覙?biāo)識(shí)日志內(nèi)達(dá)到該尺寸的點(diǎn)來(lái)標(biāo)識(shí)一個(gè)結(jié)束傳輸點(diǎn)。在標(biāo)識(shí)開(kāi)始和結(jié)束傳輸點(diǎn)后,在塊4809,命令處理例程4800將控制傳遞給數(shù)據(jù)傳輸流程(圖48B)。
回來(lái)參考判定塊4803,如果確定所接收的命令不是“開(kāi)始傳輸”命令,則在判定塊4811確定所接收的命令是否是“開(kāi)始確認(rèn)”命令。如果在判定塊4811確定命令是“開(kāi)始確認(rèn)”命令,則在塊4183,在產(chǎn)生位置處標(biāo)識(shí)一個(gè)關(guān)于開(kāi)始確認(rèn)的位置。如對(duì)于傳輸?shù)拈_(kāi)始和結(jié)束點(diǎn)一樣,該位置可包含在開(kāi)始確認(rèn)命令內(nèi)或者單獨(dú)地獲得該位置。在標(biāo)識(shí)產(chǎn)生位置內(nèi)開(kāi)始確認(rèn)的位置后,命令處理例程4800將控制傳遞給確認(rèn)例程(圖48C),如由塊4815例示。
如果在判定塊4811確定所接收的命令不是“開(kāi)始確認(rèn)”命令,則在判定塊4817判定所接收的命令是否是C類(lèi)檢查點(diǎn)確認(rèn)。如果是C類(lèi)檢查點(diǎn)確認(rèn),則包含在改變?nèi)罩局性谝呀?jīng)被確認(rèn)的C類(lèi)檢查點(diǎn)之前發(fā)送的記錄從改變?nèi)罩局星宄?,如由塊4819例示,并且例程在塊4821結(jié)束。然而,如果在判定塊4817確定所接收的檢查點(diǎn)不是C類(lèi)檢查點(diǎn)確認(rèn),則所接收的命令是標(biāo)記權(quán)標(biāo)Ap。在塊4823將標(biāo)記權(quán)標(biāo)Ap放置在改變?nèi)罩局?,并且例程在塊4825結(jié)束。
圖48B是依照本發(fā)明的一個(gè)實(shí)施例傳輸數(shù)據(jù)例程的流程圖,用于將改變記錄從產(chǎn)生位置發(fā)送到存儲(chǔ)位置。傳輸數(shù)據(jù)例程開(kāi)始于塊4831,并且在塊4833,將從改變?nèi)罩精@得的一組改變記錄一起組合成批用于傳輸。記錄的批可以是任何數(shù)量的記錄。創(chuàng)建記錄批可響應(yīng)于到達(dá)改變?nèi)罩镜淖畲蟪叽?、在一個(gè)改變發(fā)生后、在預(yù)定的時(shí)間點(diǎn)發(fā)生。如相關(guān)領(lǐng)域的技術(shù)人員將意識(shí)到的,所提供的生成記錄批的定時(shí)和記錄批的尺寸只是一些例子,并且本發(fā)明的實(shí)施例可使用任何定時(shí)和尺寸用于創(chuàng)建記錄批。例如,記錄批可以只包括一個(gè)記錄,并且可在每次對(duì)數(shù)據(jù)保護(hù)系統(tǒng)發(fā)生改變時(shí)創(chuàng)建。
在塊4835,從產(chǎn)生位置發(fā)送記錄批。除了發(fā)送記錄批之外,還生成一個(gè)C類(lèi)檢查點(diǎn)并且添加到記錄批的末尾,作為記錄批的一部分發(fā)送。如上討論,C類(lèi)檢查點(diǎn)包含指向包括在記錄批中最后一個(gè)改變記錄在改變?nèi)罩緝?nèi)的位置的指針。在判定塊4837,確定在改變?nèi)罩緝?nèi)是否還有其它記錄。如果在判定塊4837確定存在其它記錄,則傳輸數(shù)據(jù)例程4830將控制返回到塊4833,并且例程繼續(xù)。然而,如果在判定塊4837確定沒(méi)有更多記錄要發(fā)送,則例程結(jié)束,如由塊4839例示。
圖48C是依照本發(fā)明的一個(gè)實(shí)施例用于確認(rèn)數(shù)據(jù)的確認(rèn)例程的流程圖。確認(rèn)例程4840開(kāi)始于4841,并且在判定塊4843判定在產(chǎn)生位置是否存在需要進(jìn)行確認(rèn)的任何對(duì)象。如果在判定塊4843確定沒(méi)有其它對(duì)象要確認(rèn),則例程結(jié)束,如由塊4844所示的。然而,如果確定有其它對(duì)象要確認(rèn),則在塊4845生成對(duì)象的元數(shù)據(jù)。具體地,生成元數(shù)據(jù)的第一個(gè)對(duì)象對(duì)應(yīng)于在命令處理例程4800(圖48A)的塊4813標(biāo)識(shí)的起始位置的對(duì)象。在生成元數(shù)據(jù)后,以元數(shù)據(jù)記錄的形式(V)將該元數(shù)據(jù)添加到改變?nèi)罩尽?br>
在判定塊4847,確定是否要生成一個(gè)A類(lèi)檢查點(diǎn)并將它添加到改變?nèi)罩尽H缟嫌懻?,A類(lèi)檢查點(diǎn)表示在生成和發(fā)送元數(shù)據(jù)記錄的整個(gè)過(guò)程中的位置,并且可用于重新開(kāi)始數(shù)據(jù)確認(rèn)。另外,A類(lèi)檢查點(diǎn)可包括順序標(biāo)記,因此可判定所發(fā)送的A類(lèi)檢查點(diǎn)是否沒(méi)有收到。如果在判定塊4847確定要生成一個(gè)A類(lèi)檢查點(diǎn),則在塊4849生成檢查點(diǎn)并將它作為一個(gè)記錄添加到改變?nèi)罩?,它將被組成批并且與包含在改變?nèi)罩緝?nèi)的其它記錄一起發(fā)送。在將A類(lèi)檢查點(diǎn)添加到改變?nèi)罩竞?,確認(rèn)例程4840將控制返回到判定塊4843并且例程繼續(xù)。然而,如果在判定塊4847確定不要生成A類(lèi)檢查點(diǎn),則確認(rèn)例程4840返回到判定塊4843并繼續(xù)。
圖49A是依照本發(fā)明的一個(gè)實(shí)施例的命令處理例程的流程圖,用于處理由存儲(chǔ)位置接收的命令。命令處理例程4900開(kāi)始于塊4901,并且在判定塊4903,確定所接收的命令是否是“開(kāi)始接收”命令。“開(kāi)始接收”命令是使存儲(chǔ)位置開(kāi)始接收從產(chǎn)生位置發(fā)送的記錄的指令。如果在判定塊4903確定命令是“開(kāi)始接收”命令,則在塊4905標(biāo)識(shí)溢出日志內(nèi)用于存儲(chǔ)所接收的記錄的起始點(diǎn)。溢出日志內(nèi)位置的標(biāo)識(shí)可通過(guò)接收包含在“開(kāi)始接收”命令內(nèi)或者作為一個(gè)單獨(dú)指令的位置來(lái)確定。在標(biāo)識(shí)了溢出日志內(nèi)用于開(kāi)始存儲(chǔ)所接收記錄的起始位置后,命令處理例程4900將控制傳遞到接收記錄例程(圖49B),如由塊4907例示。
回來(lái)參考判定塊4903,如果確定所接收的命令不是“開(kāi)始接收”命令,則在判定塊4909判定所接收的命令是否是“開(kāi)始應(yīng)用”命令。如果所接收的命令是開(kāi)始應(yīng)用命令,則在塊4911標(biāo)識(shí)溢出日志內(nèi)開(kāi)始應(yīng)用記錄的起始位置。與開(kāi)始接收記錄位置一樣,溢出日志內(nèi)的標(biāo)識(shí)可通過(guò)包括在“開(kāi)始應(yīng)用”命令內(nèi)或者作為單獨(dú)命令來(lái)接收或者通過(guò)其它方法標(biāo)識(shí)的位置來(lái)標(biāo)識(shí)。在標(biāo)識(shí)了溢出日志內(nèi)開(kāi)始應(yīng)用的起始位置后,命令處理例程4900將控制傳遞給應(yīng)用改變記錄例程(圖49C)。
如果在判定塊4909確定命令不是“開(kāi)始應(yīng)用”命令,則命令是B類(lèi)檢查點(diǎn)確認(rèn),并且在塊4915,包含在溢出日志內(nèi)在發(fā)送所確認(rèn)的B類(lèi)檢查點(diǎn)之前已經(jīng)應(yīng)用于存儲(chǔ)位置處的副本的所有記錄從日志中清除。在塊4917例程結(jié)束。
圖49B是依照本發(fā)明的一個(gè)實(shí)施例接收記錄例程的流程圖,用于在存儲(chǔ)位置處接收記錄。接收記錄例程4920開(kāi)始于塊4921,并且在塊4923接收下一個(gè)進(jìn)入的塊。如上討論,記錄的傳輸可使用包括但不限于有線或無(wú)線等的任何傳輸介質(zhì)來(lái)完成。在判定塊4925,判定所接收的記錄是否是C類(lèi)檢查點(diǎn)。如果是C類(lèi)檢查點(diǎn),則將C類(lèi)檢查點(diǎn)的溢出日志位置添加到C類(lèi)檢查點(diǎn),并且將C類(lèi)檢查點(diǎn)轉(zhuǎn)發(fā)到數(shù)據(jù)保護(hù)器,如由塊4927所示的。然而,如果在判定塊4925確定記錄不是C類(lèi)檢查點(diǎn),則在判定塊4929判定記錄是否是標(biāo)記權(quán)標(biāo)Ap。如果記錄是標(biāo)記權(quán)標(biāo),則在塊4931將標(biāo)記權(quán)標(biāo)轉(zhuǎn)發(fā)到數(shù)據(jù)保護(hù)器。
如果在判定塊4929確定記錄不是標(biāo)記權(quán)標(biāo),則在判定塊4935判定記錄是否是A類(lèi)檢查點(diǎn)。如果在判定塊4935判定記錄是A類(lèi)檢查點(diǎn),則在塊4937將A類(lèi)檢查點(diǎn)和差異列表轉(zhuǎn)發(fā)到數(shù)據(jù)保護(hù)器。如果在判定塊4935判定記錄不是A類(lèi)檢查點(diǎn),或者在將記錄轉(zhuǎn)發(fā)到數(shù)據(jù)保護(hù)器(塊4927,4931,4937)之后,將所接收的記錄添加到溢出日志,如由塊4939例示。在判定塊4941,判定是否還有已經(jīng)接收的其它記錄。如果有其它記錄,則接收記錄例程4920返回到塊4923,并且例程繼續(xù)。如果沒(méi)有其它記錄,則例程在塊4943結(jié)束。
圖49C是依照本發(fā)明的一個(gè)實(shí)施例應(yīng)用改變記錄例程的流程圖,用于將改變記錄應(yīng)用于存儲(chǔ)位置的復(fù)制品。應(yīng)用記錄例程4950開(kāi)始于塊4951,并且在塊4953從溢出日志獲得一個(gè)記錄。在判定塊4955判定所獲得的記錄是否包含關(guān)于保護(hù)對(duì)象的元數(shù)據(jù)。如果確定記錄包含元數(shù)據(jù),則在塊4957將元數(shù)據(jù)與存儲(chǔ)在復(fù)制品上的相應(yīng)對(duì)象進(jìn)行比較。如上討論,元數(shù)據(jù)可以是任何形式的對(duì)象標(biāo)識(shí),諸如最后的改變時(shí)間、大小、計(jì)算的校驗(yàn)和等等。在判定塊4959,在比較元數(shù)據(jù)后,判定元數(shù)據(jù)是否不同。如果所比較的元數(shù)據(jù)不同,則在塊4961將比較了元數(shù)據(jù)的對(duì)象標(biāo)識(shí)添加到差異列表。在將所標(biāo)識(shí)的對(duì)象添加到差異列表(塊4961)后,或者如果在判定塊4949確定元數(shù)據(jù)沒(méi)有不同,則應(yīng)用改變記錄例程4950繼續(xù)到判定塊4965并且繼續(xù)。返回到判定塊4955,如果確定記錄不是元數(shù)據(jù),則記錄是改變記錄,并且將它應(yīng)用于復(fù)制品,如由塊4963例示。
在判定塊4965,判定是否應(yīng)該生成B類(lèi)檢查點(diǎn)。如上討論,B類(lèi)檢查點(diǎn)的生成可基于任何形式的準(zhǔn)則來(lái)創(chuàng)建。例如,在每次應(yīng)用了一個(gè)改變記錄之后、在預(yù)定的時(shí)間段之后等等,可生成B類(lèi)檢查點(diǎn)。如果在判定塊4965確定應(yīng)該生成B類(lèi)檢查點(diǎn),則在判定塊4967判定差異列表是否為空。如果確定差異列表不為空,則在塊4969,例程4950等待接收A類(lèi)檢查點(diǎn)。如果差異列表不為空,則等待A類(lèi)檢查點(diǎn),這保證如果系統(tǒng)重新啟動(dòng),在差異列表之外沒(méi)有生成的元數(shù)據(jù)記錄丟失。在發(fā)送B類(lèi)檢查點(diǎn)之前接收A類(lèi)檢查點(diǎn),這保證當(dāng)發(fā)送差異列表時(shí)不再需要所有用于生成該差異列表的元數(shù)據(jù)記錄。如果在判定塊4967確定差異列表為空,或者在塊4969收到A類(lèi)檢查點(diǎn)后,生成并發(fā)送一個(gè)B類(lèi)檢查點(diǎn),如由塊4971所示的。
回來(lái)參考判定塊4965,如果確定不要生成B類(lèi)檢查點(diǎn),或者在發(fā)送B類(lèi)檢查點(diǎn)(塊4971)之后,在判定塊4973判定在溢出日志中是否存在還沒(méi)有應(yīng)用于復(fù)制品的其它記錄。如果存在其它記錄,則應(yīng)用改變記錄例程4950返回到塊4953并且繼續(xù)。然而,如果在判定塊4973確定沒(méi)有其它記錄要應(yīng)用,則例程結(jié)束,如由塊4975所示的。
本發(fā)明的各實(shí)施例提供使用任何類(lèi)型的備份技術(shù)來(lái)保護(hù)產(chǎn)生位置處的數(shù)據(jù)的能力,諸如用時(shí)間版本化和/或?qū)?shù)據(jù)歸檔到可移動(dòng)介質(zhì)的復(fù)制。在本發(fā)明的一個(gè)實(shí)施例中,保護(hù)產(chǎn)生位置處數(shù)據(jù)的能力是通過(guò)使用分布式控件和協(xié)調(diào)由位于數(shù)據(jù)保護(hù)系統(tǒng)不同部分的代理執(zhí)行的動(dòng)作來(lái)完成的。例如,代理可位于產(chǎn)生位置、存儲(chǔ)位置和/或數(shù)據(jù)保護(hù)器位置。這些活動(dòng)被為稱(chēng)為作業(yè),一般在調(diào)度的基礎(chǔ)上運(yùn)行。因?yàn)樽鳂I(yè)經(jīng)常涉及與遠(yuǎn)程代理通信,所以它們一般是異步的,并且要用很長(zhǎng)時(shí)間來(lái)完成。作業(yè)是已調(diào)度的活動(dòng)單元,它可以一次性也可以在周期性的基礎(chǔ)上運(yùn)行。作業(yè)由一個(gè)或多個(gè)任務(wù)組成。任務(wù)可以串行或并行地運(yùn)行。另外,作業(yè)在任何任務(wù)失敗時(shí)失敗,或者任務(wù)無(wú)論完成還是失敗,作業(yè)都可繼續(xù)執(zhí)行所有任務(wù)。
對(duì)于數(shù)據(jù)保護(hù),作業(yè)被組織成為保護(hù)組的所有成員執(zhí)行給定的活動(dòng)。數(shù)據(jù)保護(hù)通過(guò)組織包含用于為特定作業(yè)執(zhí)行適當(dāng)活動(dòng)的任務(wù)的作業(yè)來(lái)進(jìn)行。例如,保護(hù)或恢復(fù)計(jì)劃包括一個(gè)或多個(gè)作業(yè),并且調(diào)度那些作業(yè)。在本發(fā)明的一個(gè)實(shí)際實(shí)施例中,作業(yè)可認(rèn)為是四個(gè)不同類(lèi)型之一保護(hù)、恢復(fù)、發(fā)現(xiàn)和內(nèi)務(wù)處理。保護(hù)作業(yè)執(zhí)行數(shù)據(jù)保護(hù)活動(dòng),諸如復(fù)制、時(shí)間版本管理、歸檔或數(shù)據(jù)集升級(jí)。每個(gè)保護(hù)任務(wù)與一個(gè)保護(hù)組相關(guān)聯(lián)。發(fā)現(xiàn)作業(yè)執(zhí)行從復(fù)制品、數(shù)據(jù)集、歸檔或其組合的數(shù)據(jù)恢復(fù)。每個(gè)恢復(fù)任務(wù)與一個(gè)恢復(fù)源相關(guān)聯(lián)。諸如初始發(fā)現(xiàn)例程(圖25)和已調(diào)度發(fā)現(xiàn)例程(圖26)等發(fā)現(xiàn)作業(yè)發(fā)現(xiàn)在數(shù)據(jù)保護(hù)器外部的實(shí)體。執(zhí)行發(fā)現(xiàn),用于搜索、導(dǎo)航、自動(dòng)發(fā)現(xiàn)組刷新或已保存搜索,以及保護(hù)組成員資格判定。內(nèi)務(wù)處理作業(yè)執(zhí)行數(shù)據(jù)保護(hù)系統(tǒng)維護(hù)所必需的活動(dòng)。內(nèi)務(wù)處理作業(yè)包括代理安裝版本調(diào)查、摘要跟蹤的創(chuàng)建、介質(zhì)遷移、以及數(shù)據(jù)保護(hù)系統(tǒng)數(shù)據(jù)庫(kù)無(wú)用信息收集。
數(shù)據(jù)保護(hù)系統(tǒng)的每個(gè)作業(yè)是由作業(yè)管理器監(jiān)視的。作業(yè)管理器監(jiān)視整個(gè)作業(yè)進(jìn)程,從與那些作業(yè)有關(guān)的數(shù)據(jù)保護(hù)器數(shù)據(jù)庫(kù)讀取信息,并且將從那些作業(yè)接收的信息寫(xiě)到它所維護(hù)的數(shù)據(jù)保護(hù)器數(shù)據(jù)庫(kù)的特定部分。對(duì)于作業(yè)管理器維護(hù)的數(shù)據(jù)庫(kù)的部分,它是數(shù)據(jù)保護(hù)系統(tǒng)中可將信息寫(xiě)至數(shù)據(jù)庫(kù)的該部分的唯一管理器。
圖50是依照本發(fā)明的一個(gè)實(shí)施例包含多個(gè)任務(wù)的作業(yè)的框圖。如上面提到的,作業(yè)5000包括一個(gè)或多個(gè)任務(wù),諸如任務(wù)1 5001,任務(wù)2 5002,直到任何數(shù)目的任務(wù),如由任務(wù)N 5003所示的。作業(yè)的每個(gè)任務(wù)是由任務(wù)執(zhí)行器5005、5007執(zhí)行和管理的。任務(wù)執(zhí)行器5005在執(zhí)行諸如任務(wù)2 5002等任務(wù)時(shí)可生成一個(gè)或多個(gè)命令,這些命令由分布在整個(gè)數(shù)據(jù)保護(hù)系統(tǒng)上的不同代理執(zhí)行。例如,任務(wù)執(zhí)行器5005可為任務(wù)2 5002生成三個(gè)不同命令,每個(gè)命令由不同代理完成。任務(wù)2 5002的第一個(gè)命令可由代理A 5009執(zhí)行,第二個(gè)命令由代理B 5011執(zhí)行,第三個(gè)命令由代理C 5013執(zhí)行。取決于任務(wù)類(lèi)型和作業(yè)類(lèi)型,代理5009-5013可串行或并行地執(zhí)行命令。
作業(yè)屬性應(yīng)用于作業(yè)的所有任務(wù)。一個(gè)作業(yè)的特定任務(wù)也可具有特定屬性。用于保護(hù)作業(yè)的作業(yè)和任務(wù)屬性是由意圖轉(zhuǎn)換作為創(chuàng)建組計(jì)劃的作業(yè)的一部分來(lái)確定的。在本發(fā)明的一個(gè)實(shí)際的實(shí)施例中,所有作業(yè)都有下列屬性在成功/失敗時(shí)的動(dòng)作,以及并行或者只是串行地執(zhí)行。另外,任何涉及數(shù)據(jù)移動(dòng)的作業(yè)可具有下列屬性加密、壓縮、節(jié)流和配置意圖。
每個(gè)任務(wù)執(zhí)行器5005、5007可作為由一個(gè)共同的引擎執(zhí)行的有限狀態(tài)機(jī)(FSM)而生成,該引擎響應(yīng)于輸入使FSM在不同狀態(tài)中轉(zhuǎn)移,持久維護(hù)狀態(tài),并且執(zhí)行重新啟動(dòng)邏輯。例如,任務(wù)執(zhí)行器可基于來(lái)自先前發(fā)給代理的命令的應(yīng)答轉(zhuǎn)移。使用共同引擎使所有FSM的設(shè)計(jì)能夠遵循共同設(shè)計(jì)方法,并且不同的FSM能夠共享同一共同塊(諸如輪詢(xún)以判定一個(gè)代理是否繼續(xù)有效并且從一個(gè)代理獲得狀態(tài))。
一般地,任務(wù)執(zhí)行器發(fā)命令給代理,并且基于那些命令的成功或失敗和從那些命令提供的響應(yīng)轉(zhuǎn)移到等待狀態(tài)之內(nèi)和之外。另外,任務(wù)執(zhí)行器5005、5007可在執(zhí)行一個(gè)任務(wù)期間特定的時(shí)間量已經(jīng)過(guò)去之后,響應(yīng)于取消請(qǐng)求(例如,來(lái)自用戶(hù)的取消請(qǐng)求,因一個(gè)作業(yè)超過(guò)分配給該作業(yè)的最大時(shí)間引起的內(nèi)部取消請(qǐng)求),或者響應(yīng)于基于數(shù)據(jù)庫(kù)狀態(tài)生成的內(nèi)部消息而轉(zhuǎn)移。在每次轉(zhuǎn)移時(shí),任務(wù)執(zhí)行器通過(guò)任務(wù)持久維護(hù)其進(jìn)展。持久維護(hù)的進(jìn)展點(diǎn)可存儲(chǔ)在數(shù)據(jù)保護(hù)器數(shù)據(jù)庫(kù)中。通過(guò)任務(wù)持久維護(hù)的進(jìn)展點(diǎn)為數(shù)據(jù)保護(hù)系統(tǒng)提供在遇到意料不到的終止(諸如掉電)時(shí)的穩(wěn)健性。在重新啟動(dòng)后,任務(wù)執(zhí)行器可以參考持久維護(hù)的點(diǎn)并且標(biāo)識(shí)適當(dāng)?shù)娜蝿?wù)狀態(tài)并立即從該點(diǎn)失敗,并且執(zhí)行必要的任何清除。
例如,對(duì)于用于復(fù)制的數(shù)據(jù)傳輸作業(yè),如上討論,任務(wù)執(zhí)行器發(fā)出命令到適當(dāng)?shù)拇?,用于?zhí)行作業(yè)的每個(gè)任務(wù)。包括在那些命令中的是發(fā)到克隆代理的開(kāi)始改變記錄傳輸?shù)拿?。同樣,任?wù)執(zhí)行器發(fā)出命令到復(fù)制代理,以開(kāi)始接收和應(yīng)用記錄。在代理在執(zhí)行那些命令時(shí),任務(wù)執(zhí)行器開(kāi)始定時(shí)器并且轉(zhuǎn)移到等待狀態(tài)。在每個(gè)轉(zhuǎn)移(發(fā)出命令,開(kāi)始等待)時(shí),任務(wù)執(zhí)行器持久維護(hù)任務(wù)的進(jìn)展點(diǎn)。任務(wù)執(zhí)行器可接收的響應(yīng)可以是檢查點(diǎn)、超時(shí)事件、取消請(qǐng)求等等。在接收響應(yīng)時(shí),任務(wù)執(zhí)行器按照響應(yīng)轉(zhuǎn)移,并且持久維護(hù)任務(wù)中該點(diǎn)。這個(gè)過(guò)程繼續(xù),直到任務(wù)或者成功或者失敗而結(jié)束。
如果超時(shí)事件發(fā)生,則任務(wù)執(zhí)行器5005也可輪詢(xún)每個(gè)代理以判定這些代理是否還繼續(xù)有效并且有可能獲得有關(guān)由該代理執(zhí)行的命令的進(jìn)程。除持久維護(hù)轉(zhuǎn)移點(diǎn)從而增加穩(wěn)健性之外,設(shè)計(jì)長(zhǎng)期運(yùn)行的活動(dòng)使得它們可以從中間點(diǎn)、檢查點(diǎn)重新啟動(dòng),因此所有工作在失敗時(shí)不會(huì)丟失。例如,再參考圖43至47,在數(shù)據(jù)傳輸和確認(rèn)期間創(chuàng)建檢查點(diǎn)。那些檢查點(diǎn)由復(fù)制管理器獲得并且存儲(chǔ)在數(shù)據(jù)保護(hù)數(shù)據(jù)庫(kù)中。如上參考圖43-47討論的,在從失敗重新啟動(dòng)后,可評(píng)估那些檢查點(diǎn),并且可從由檢查點(diǎn)標(biāo)識(shí)的點(diǎn)恢復(fù)數(shù)據(jù)傳輸和確認(rèn)。
除了運(yùn)行任務(wù)以完成之外,在本發(fā)明的一個(gè)實(shí)施例中,任務(wù)執(zhí)行器5005、5007向作業(yè)管理器通知任務(wù)的完成以及任務(wù)的完成是成功還是失敗。作業(yè)管理器維護(hù)它自己的蹤跡,給出關(guān)于作業(yè)中所有任務(wù)的概要信息。例如,作業(yè)蹤跡可包含成功完成的任務(wù)數(shù)。作業(yè)管理器還將從任務(wù)執(zhí)行器接收的信息持久維護(hù)在數(shù)據(jù)保護(hù)器數(shù)據(jù)庫(kù)的任務(wù)蹤跡中。另外,任務(wù)執(zhí)行器也可維護(hù)它自己的任務(wù)蹤跡,具有與任務(wù)有關(guān)的任務(wù)執(zhí)行器特定信息。任務(wù)蹤跡可包括在任務(wù)期間遇到的任何錯(cuò)誤以及與對(duì)數(shù)據(jù)保護(hù)系統(tǒng)的用戶(hù)有用的任務(wù)有關(guān)的統(tǒng)計(jì)資料。任務(wù)類(lèi)型專(zhuān)用的跟蹤由與該特定任務(wù)相關(guān)聯(lián)的管理器接收和維護(hù)。任務(wù)類(lèi)型專(zhuān)用的跟蹤可包括任務(wù)專(zhuān)用信息,諸如移動(dòng)數(shù)據(jù)所用的總時(shí)間、完成任務(wù)的總時(shí)間、傳送的數(shù)據(jù)總量等等。在重新啟動(dòng)數(shù)據(jù)保護(hù)系統(tǒng)后,任務(wù)蹤跡可用于標(biāo)識(shí)在失敗時(shí)導(dǎo)致的錯(cuò)誤路徑。另外,任務(wù)可維護(hù)任務(wù)私有元數(shù)據(jù)。該私有元數(shù)據(jù)可用于在重新啟動(dòng)時(shí)清除失敗的任務(wù)并且用于在任務(wù)完成(成功或失敗)時(shí)創(chuàng)建任務(wù)蹤跡。而且,任務(wù)執(zhí)行器5005、5007也可管理與任務(wù)相關(guān)聯(lián)的元數(shù)據(jù)。
在失敗的情況下,在重新啟動(dòng)后,作業(yè)進(jìn)行非常簡(jiǎn)單的清除。它們沒(méi)有重新調(diào)度它們自己或者執(zhí)行復(fù)雜的恢復(fù)動(dòng)作。相反,失敗作業(yè)的任務(wù)只是更新任何物理對(duì)象狀態(tài)并且失敗。失敗記錄在任務(wù)蹤跡和作業(yè)蹤跡中。對(duì)于保證迅速且自動(dòng)化的恢復(fù)行為足夠重要的任務(wù),數(shù)據(jù)保護(hù)系統(tǒng)通過(guò)健康管理器可創(chuàng)建用于從任務(wù)失敗的點(diǎn)完成作業(yè)或者在由任務(wù)生成的最后一個(gè)檢查點(diǎn)完成的補(bǔ)充作業(yè)。健康管理器使用任務(wù)蹤跡以及在數(shù)據(jù)庫(kù)中各種對(duì)象的狀態(tài)來(lái)實(shí)現(xiàn)更復(fù)雜的恢復(fù)機(jī)制,以使數(shù)據(jù)保護(hù)能夠進(jìn)行。
對(duì)于認(rèn)為是關(guān)鍵的任務(wù),諸如復(fù)制,健康管理器可監(jiān)視那些任務(wù)。在一個(gè)實(shí)施例中,健康供應(yīng)者由健康管理器實(shí)例化。關(guān)鍵任務(wù)在失敗時(shí)引起失敗事件。健康供應(yīng)者監(jiān)視那些事件,并且判定是否需要執(zhí)行任何恢復(fù)。如果恢復(fù)是必需的,則創(chuàng)建和調(diào)度補(bǔ)充作業(yè)以恢復(fù)一個(gè)或多個(gè)失敗的任務(wù)。另外,在系統(tǒng)啟動(dòng)時(shí),健康管理器啟動(dòng)健康供應(yīng)者。每個(gè)健康供應(yīng)者作出另外和獨(dú)立的確定,即在系統(tǒng)先前終止時(shí)已經(jīng)運(yùn)行的失敗任務(wù)的恢復(fù)是否是必需的。如果恢復(fù)是必需的,則創(chuàng)建和調(diào)度補(bǔ)充作業(yè)。在失敗作業(yè)內(nèi)單個(gè)任務(wù)失敗時(shí),或者在來(lái)自失敗作業(yè)的所有未完成任務(wù)包括那些從未啟動(dòng)的任務(wù)時(shí),補(bǔ)充作業(yè)可包含單個(gè)任務(wù)。
圖51是依照本發(fā)明的一個(gè)實(shí)施例示出任務(wù)的監(jiān)視和補(bǔ)充作業(yè)的創(chuàng)建的流程圖。如上所述,在數(shù)據(jù)保護(hù)系統(tǒng)內(nèi)的每個(gè)動(dòng)作是以具有若干任務(wù)的作業(yè)形式組織的。數(shù)據(jù)保護(hù)器5101可創(chuàng)建作業(yè),諸如在產(chǎn)生位置5103處的保護(hù)對(duì)象的復(fù)制,該作業(yè)要被傳送和存儲(chǔ)在存儲(chǔ)位置5105,作為執(zhí)行一個(gè)或多個(gè)任務(wù)的結(jié)果。該作業(yè)是由數(shù)據(jù)保護(hù)器5101啟動(dòng)的,并且該作業(yè)的每個(gè)任務(wù)是由一個(gè)或多個(gè)任務(wù)執(zhí)行器執(zhí)行的。例如,對(duì)于復(fù)制作業(yè),任務(wù)執(zhí)行器發(fā)出命令到若干代理,其中之一可位于產(chǎn)生位置5103,并且其中之一可位于存儲(chǔ)位置5105。那些任務(wù)被執(zhí)行而且目前在進(jìn)展中,并且為了本例的目的,作業(yè)被中斷并且隨后恢復(fù)。作業(yè)中斷可因如掉電等系統(tǒng)故障而發(fā)生。在恢復(fù)時(shí),數(shù)據(jù)保護(hù)器5101標(biāo)識(shí)在系統(tǒng)故障之前正在進(jìn)行的作業(yè)任務(wù)。在標(biāo)識(shí)正在進(jìn)行的作業(yè)任務(wù)后,數(shù)據(jù)保護(hù)器5101發(fā)出重新開(kāi)始任務(wù)的命令。在重新開(kāi)始任務(wù)后,任務(wù)執(zhí)行器使任務(wù)失敗,并且為失敗的任務(wù)執(zhí)行簡(jiǎn)單的清除。如果任務(wù)是關(guān)鍵的,通知適當(dāng)?shù)慕】倒?yīng)者。
補(bǔ)充作業(yè)是在先前作業(yè)停止處撿起的作業(yè)。補(bǔ)充作業(yè)包括在先前作業(yè)中失敗的任務(wù)或者在先前作業(yè)中沒(méi)有開(kāi)始的任務(wù)。例如,如果失敗的作業(yè)是復(fù)制作業(yè),則健康供應(yīng)者標(biāo)識(shí)復(fù)制作業(yè)的什么任務(wù)沒(méi)有成功完成,并且創(chuàng)建一個(gè)包括未完成任務(wù)和該作業(yè)的所有其它未完成任務(wù)的補(bǔ)充作業(yè)。如果響應(yīng)于接收失敗的任務(wù)生成補(bǔ)充作業(yè),則健康管理器標(biāo)識(shí)失敗的任務(wù),并且創(chuàng)建一個(gè)包含該任務(wù)以及有可能要與該作業(yè)串行或并行地執(zhí)行的任何其它任務(wù)的作業(yè)。在生成補(bǔ)充作業(yè)后,健康管理器調(diào)度執(zhí)行補(bǔ)充作業(yè)。該補(bǔ)充作業(yè)隨后按所調(diào)度的進(jìn)行,好象是它自己的作業(yè),并且執(zhí)行該補(bǔ)充作業(yè)的任務(wù)。另外,因?yàn)檠a(bǔ)充作業(yè)被調(diào)度為它自己的作業(yè),所以從作業(yè)管理器的觀點(diǎn)來(lái)看,被視為任何其它作業(yè),并且作業(yè)管理器可能不知道它是補(bǔ)充作業(yè)。
圖52依照本發(fā)明的一個(gè)實(shí)施例示出了補(bǔ)充作業(yè)例程的流程圖,用于標(biāo)識(shí)任務(wù)失敗并在該任務(wù)是關(guān)鍵時(shí)創(chuàng)建補(bǔ)充作業(yè)。補(bǔ)充作業(yè)例程5200可由數(shù)據(jù)保護(hù)系統(tǒng)執(zhí)行,或者在本發(fā)明的一個(gè)實(shí)際實(shí)施例中,它可以由健康管理器執(zhí)行。
補(bǔ)充作業(yè)例程5200開(kāi)始于塊5201,并且在塊5203接收任務(wù)失敗。如上討論,如果任務(wù)被中斷,則在重新啟動(dòng)后,任務(wù)執(zhí)行器重新啟動(dòng)并且使先前運(yùn)行的任務(wù)失敗,發(fā)出任務(wù)失敗通知。任務(wù)執(zhí)行器執(zhí)行該失敗任務(wù)的清除。
在判定塊5205,補(bǔ)充作業(yè)例程5200判定失敗的任務(wù)是否是關(guān)鍵的。在另一實(shí)施例中,用戶(hù)可指定要將什么任務(wù)視為關(guān)鍵的。如果在判定塊5205確定失敗的任務(wù)是關(guān)鍵的,則在塊5207,標(biāo)識(shí)未完成的任務(wù)和任何相關(guān)聯(lián)的任務(wù)。在塊5209,補(bǔ)充作業(yè)例程5200為每個(gè)未完成任務(wù)創(chuàng)建補(bǔ)充作業(yè),并且在塊5211調(diào)度該補(bǔ)充作業(yè)。
回來(lái)參考判定塊5205,如果確定失敗的任務(wù)不是關(guān)鍵的,則補(bǔ)充作業(yè)例程結(jié)束,如由塊5213所示。如果一個(gè)任務(wù)是執(zhí)行多次的例程作業(yè)的一部分,則可將任務(wù)標(biāo)識(shí)為非關(guān)鍵的。例如,如果復(fù)制作業(yè)被調(diào)度為每小時(shí)執(zhí)行,則用于后臺(tái)復(fù)制的復(fù)制作業(yè)可被視為非關(guān)鍵作業(yè)。因而,因?yàn)閺?fù)制作業(yè)將按照所調(diào)度的再次進(jìn)行,所以數(shù)據(jù)保護(hù)系統(tǒng)可確定復(fù)制作業(yè)的任務(wù)不是關(guān)鍵的。
除了判定是否應(yīng)該調(diào)度補(bǔ)充作業(yè)之外,數(shù)據(jù)保護(hù)器響應(yīng)于任務(wù)失敗,通過(guò)作業(yè)管理器判定包含失敗的任務(wù)的作業(yè)是應(yīng)該繼續(xù)還是失敗。如果失敗的任務(wù)是已經(jīng)確定將使作業(yè)失敗的任務(wù),則作業(yè)管理器使相關(guān)聯(lián)作業(yè)失敗。即使任務(wù)被認(rèn)為是關(guān)鍵的(因而需要補(bǔ)充作業(yè)),它也可能不要求該作業(yè)失敗。同樣,非關(guān)鍵任務(wù)的失敗可導(dǎo)致作業(yè)失敗。例如,當(dāng)作業(yè)包括從多個(gè)數(shù)據(jù)源的復(fù)制時(shí),復(fù)制任務(wù)(關(guān)鍵任務(wù))之一的失敗不會(huì)導(dǎo)致作業(yè)的失敗。
如上面提到的,數(shù)據(jù)保護(hù)系統(tǒng)包括控制數(shù)據(jù)保護(hù)系統(tǒng)的特定部分的管理器。例如,數(shù)據(jù)保護(hù)系統(tǒng)可包括但不限于復(fù)制管理器、配置管理器、健康管理器、概要管理器、作業(yè)管理器、介質(zhì)管理器、歸檔管理器等等。每個(gè)管理器維護(hù)數(shù)據(jù)保護(hù)器數(shù)據(jù)庫(kù)的特定部分。數(shù)據(jù)庫(kù)的每個(gè)部分由一組只可以由相應(yīng)管理器寫(xiě)的表組成。那些表可由任何管理器和其它外部應(yīng)用程序來(lái)讀,但由于相應(yīng)的管理器是可以將數(shù)據(jù)寫(xiě)到表中的唯一管理器,所有并發(fā)控制和同步邏輯是管理器擁有的。除了監(jiān)視任務(wù)和作業(yè)之外,健康管理器也可監(jiān)視其它管理器。健康管理器被配置為響應(yīng)于與管理器相關(guān)聯(lián)的任何任務(wù)的失敗并且可以檢查對(duì)應(yīng)于管理器的狀態(tài)來(lái)確定需要什么恢復(fù)動(dòng)作。
另外,管理器也可包含一個(gè)或多個(gè)實(shí)現(xiàn)管理器功能的任務(wù)執(zhí)行器。例如,復(fù)制管理器可包含所有與復(fù)制品相關(guān)聯(lián)的任務(wù)執(zhí)行器,包括但不限于復(fù)制任務(wù)執(zhí)行器、時(shí)間版本化任務(wù)執(zhí)行器和從時(shí)間版本恢復(fù)任務(wù)執(zhí)行器。
對(duì)于數(shù)據(jù)保護(hù)系統(tǒng)的物理對(duì)象(例如,復(fù)制品、介質(zhì)、磁盤(pán)、庫(kù)、驅(qū)動(dòng)器),維護(hù)一個(gè)狀態(tài)模型。每個(gè)狀態(tài)模型描述該對(duì)象可處的狀態(tài)以及在狀態(tài)之間允許的轉(zhuǎn)移。例如,圖37依照本發(fā)明的實(shí)施例示出了用于復(fù)制品的狀態(tài)模型。該狀態(tài)模型描述一個(gè)對(duì)象的生命周期,并且指示需要執(zhí)行什么活動(dòng)以使對(duì)象從一個(gè)狀態(tài)轉(zhuǎn)移到另一個(gè)狀態(tài)。例如,當(dāng)復(fù)制品處在無(wú)效狀態(tài)3705時(shí)(圖37),基于該狀態(tài),數(shù)據(jù)保護(hù)系統(tǒng)知道應(yīng)該執(zhí)行確認(rèn)作業(yè)以將復(fù)制品放置在有效狀態(tài)3711中。對(duì)象的狀態(tài)常常是健康供應(yīng)者的輸入。
維護(hù)狀態(tài)模型維護(hù)了可由健康供應(yīng)者用于恢復(fù)并且因而簡(jiǎn)化錯(cuò)誤處理的已知狀態(tài)。另外,通過(guò)監(jiān)視對(duì)象狀態(tài),向用戶(hù)提供數(shù)據(jù)保護(hù)系統(tǒng)如何處理任何錯(cuò)誤條件。
數(shù)據(jù)保護(hù)系統(tǒng)還監(jiān)視由數(shù)據(jù)保護(hù)系統(tǒng)的部分生成的事件,并且為用戶(hù)提供有關(guān)數(shù)據(jù)保護(hù)系統(tǒng)本身的整個(gè)狀態(tài)的報(bào)告。或者,報(bào)告可提供關(guān)于數(shù)據(jù)保護(hù)系統(tǒng)內(nèi)不同物理對(duì)象的特定信息。例如,如果在產(chǎn)生位置的服務(wù)器不可用,則可生成報(bào)告錯(cuò)誤,將問(wèn)題通知給用戶(hù)并且提供建議的解決方案。
事件由數(shù)據(jù)保護(hù)系統(tǒng)檢查,并且基于該檢查,生成有關(guān)檢查事件的報(bào)告。報(bào)告被分類(lèi)成三種類(lèi)別之一信息、警告或錯(cuò)誤??偟膩?lái)說(shuō),如果報(bào)告是錯(cuò)誤報(bào)告,則它標(biāo)識(shí)用戶(hù)動(dòng)作是必需的。如果報(bào)告是警告報(bào)告,則它標(biāo)識(shí)沒(méi)有直接的用戶(hù)動(dòng)作是必需的,但如果警告沒(méi)有自動(dòng)地或者由用戶(hù)解決,則可變成必需的。最后,如果報(bào)告是信息報(bào)告,則它通知用戶(hù)不要求用戶(hù)動(dòng)作,并且提供有關(guān)數(shù)據(jù)保護(hù)系統(tǒng)的信息。如本領(lǐng)域的技術(shù)人員將意識(shí)到的,除了或者代替信息、警告和錯(cuò)誤三種形式之外,可以用任何形式提供報(bào)告。
通過(guò)檢查由數(shù)據(jù)保護(hù)系統(tǒng)的不同部分生成的事件來(lái)創(chuàng)建報(bào)告?;谀切┦录?,數(shù)據(jù)保護(hù)系統(tǒng)編譯有關(guān)事件和數(shù)據(jù)保護(hù)系統(tǒng)的該部分狀態(tài)的報(bào)告。因而不向用戶(hù)提供由數(shù)據(jù)保護(hù)系統(tǒng)生成的所有事件,并且代之以提供已經(jīng)被分類(lèi)成信息報(bào)告、警告報(bào)告或錯(cuò)誤報(bào)告中任一報(bào)告的報(bào)告。所提供的報(bào)告在必要時(shí)可包括針對(duì)由數(shù)據(jù)保護(hù)系統(tǒng)檢測(cè)到的問(wèn)題的建議的解決方案。無(wú)論任務(wù)在最后的作業(yè)上是否失敗,均可生成報(bào)告。例如,如下所示,即使最一個(gè)復(fù)制作業(yè)成功(塊5409),如果用于維護(hù)在存儲(chǔ)位置的副本的磁盤(pán)空間超過(guò)預(yù)定的閾值(塊5411),則生成數(shù)據(jù)保護(hù)系統(tǒng)分類(lèi)為警告的事件,并且將警告報(bào)告提供給用戶(hù)(塊5413),通知用戶(hù)它們想要分配更多的磁盤(pán)空間。
報(bào)告類(lèi)型(信息,警告,錯(cuò)誤)可通過(guò)分析數(shù)據(jù)保護(hù)系統(tǒng)的特定部分來(lái)確定。例如,參考時(shí)間版本診斷例程5700(圖57),計(jì)算在預(yù)定時(shí)間段內(nèi)丟失的時(shí)間版本的數(shù)量和總的持續(xù)時(shí)間(塊5725),并且基于在那些時(shí)間段內(nèi)丟失時(shí)間版本的百分比來(lái)確定關(guān)于報(bào)告分類(lèi)(警告,錯(cuò)誤)的決定。
另外,在有些情況下,可執(zhí)行一系列測(cè)試以確定包括在報(bào)告中建議。例如,在副本診斷例程5400中,如果確定副本不是有效的(5403),并且確認(rèn)作業(yè)失敗(5445),則數(shù)據(jù)保護(hù)系統(tǒng)開(kāi)始通過(guò)一系列測(cè)試(判定塊5447、5451、5455、5459)來(lái)確定哪一建議的解決方案應(yīng)該包括在為用戶(hù)生成的錯(cuò)誤報(bào)告中。在恢復(fù)診斷例程5900中例示相似的例子(圖59)。具體地說(shuō),如果確定一個(gè)作業(yè)失敗(5911),則數(shù)據(jù)保護(hù)系統(tǒng)通過(guò)一系列測(cè)試(判定塊5917、5921、5925、5929)確定哪一建議的解決方案應(yīng)該包括在錯(cuò)誤報(bào)告中。
圖53依照本發(fā)明的一個(gè)實(shí)施例示出了用于診斷與數(shù)據(jù)的副本相關(guān)聯(lián)的問(wèn)題和用于如果檢測(cè)到問(wèn)題則生成具有建議修正的報(bào)告的流程圖。如上面提到的,報(bào)告可分類(lèi)成三種狀態(tài)之一錯(cuò)誤、警告和信息。
診斷例程5300開(kāi)始于塊5301,并且在塊5303,例程執(zhí)行副本診斷例程,如參考圖54-56詳細(xì)描述的。除了執(zhí)行副本診斷例程5303之外,診斷例程5300執(zhí)行時(shí)間版本診斷例程,如參考圖55-58描述的。最后,診斷例程5300判定是否存在已經(jīng)由數(shù)據(jù)保護(hù)系統(tǒng)發(fā)出的任何其它警告。
在判定塊5309,確定是否在副本診斷例程、時(shí)間版本診斷例程之中任何一個(gè)檢測(cè)到任何錯(cuò)誤,或者是否存在由其它警告提供的任何錯(cuò)誤。如果在判定塊5309確定已經(jīng)檢測(cè)到錯(cuò)誤,則在判定塊5311生成描述該錯(cuò)誤的錯(cuò)誤報(bào)告,并且向用戶(hù)提供解決所報(bào)告錯(cuò)誤要采取的建議步驟。然而,如果在判定塊5309確定沒(méi)有檢測(cè)到錯(cuò)誤,則在判定塊5313確定是否存在從副本診斷例程、時(shí)間版本診斷例程之中任何一個(gè)生成的任何警告,或者是否存在由其它警告提供的任何警告。如果在判定塊5313確定檢測(cè)到警告,則在塊5315生成警告報(bào)告,描述對(duì)用戶(hù)的警告并且向用戶(hù)提供解決該警告可執(zhí)行的可能步驟。最后,如果在判定塊5313確定沒(méi)有檢測(cè)到警告,則在判定塊5317生成信息報(bào)告,通知用戶(hù)數(shù)據(jù)保護(hù)系統(tǒng)沒(méi)有問(wèn)題并且正在按用戶(hù)要求保護(hù)信息。
通過(guò)塊5303、5305和5307的每個(gè)例程以及隨后確定這些例程(判定塊5309、5313)的最嚴(yán)重問(wèn)題,可將任何可能的問(wèn)題提供為單個(gè)報(bào)告。例如,如果標(biāo)識(shí)了一個(gè)錯(cuò)誤,則可提供錯(cuò)誤和建議的解決方案,并且停止任何警告或信息報(bào)告,直到更嚴(yán)重的問(wèn)題(即錯(cuò)誤)解決。
圖54依照本發(fā)明的一個(gè)實(shí)施例示出了描述副本診斷例程細(xì)節(jié)的流程圖,用于診斷與在數(shù)據(jù)保護(hù)系統(tǒng)中復(fù)制數(shù)據(jù)有關(guān)的可能問(wèn)題。副本診斷例程可用于任何類(lèi)型的存儲(chǔ),諸如復(fù)制品存儲(chǔ)、歸檔或復(fù)制品與歸檔兩者。如下面更詳細(xì)地描述的,副本診斷例程5400判定最后的復(fù)制任務(wù)成功還是失敗。如果最后的復(fù)制任務(wù)失敗,則基于復(fù)制模式是后臺(tái)還是備份來(lái)遵循不同路徑(塊5417)。由于一天運(yùn)行一次并且失敗的任務(wù)比每小時(shí)運(yùn)行的任務(wù)失敗更重要,因此基于那些失敗生成不同報(bào)告。例如,如果模式是后臺(tái)的并且任務(wù)失敗,則如果失敗數(shù)還沒(méi)有超過(guò)預(yù)定的下限,可給用戶(hù)提供信息報(bào)告?;蛘撸瑢?duì)于后臺(tái)模式,可不為被調(diào)度為經(jīng)常運(yùn)行的任務(wù)生成報(bào)告,因?yàn)樵撊蝿?wù)的后續(xù)執(zhí)行可自動(dòng)地解決問(wèn)題。相反,如果復(fù)制模式是備份的并且任務(wù)失敗,則向用戶(hù)提供警告報(bào)告或者錯(cuò)誤報(bào)告。
副本診斷例程5400開(kāi)始于塊5401,并且在判定塊5403確定副本是否有效。如果在判定塊5403確定副本是有效的,則在判定塊5405確定復(fù)制作業(yè)目前是否在運(yùn)行。如果在判定塊5405確定復(fù)制作業(yè)正在運(yùn)行,則在塊5407,數(shù)據(jù)保護(hù)系統(tǒng)生成一個(gè)信息報(bào)告,標(biāo)識(shí)副本的最后狀態(tài),并且向用戶(hù)提供復(fù)制作業(yè)目前在運(yùn)行的指示。
然而,如果在判定塊5405判定復(fù)制作業(yè)目前沒(méi)有在運(yùn)行,則在判定塊5409確定最后一個(gè)復(fù)制作業(yè)是否成功。如果在判定塊5409確定最后一個(gè)復(fù)制作業(yè)成功,則在判定塊5411確定是否從最后一個(gè)復(fù)制作業(yè)生成磁盤(pán)利用率閾值警告。響應(yīng)于數(shù)據(jù)保護(hù)系統(tǒng)生成磁盤(pán)利用率閾值警告,標(biāo)識(shí)目前正存儲(chǔ)副本的存儲(chǔ)位置部分變得可用磁盤(pán)空間較少。例如,只要在復(fù)制品上的盤(pán)磁空間變得較少,或者當(dāng)執(zhí)行歸檔到磁盤(pán)而不是磁帶介質(zhì)時(shí),以及或者在池中的介質(zhì)變得較少或者在空閑池中的介質(zhì)變得較少,可生成磁盤(pán)利用率閾值警告。這個(gè)閾值等級(jí)是預(yù)定或預(yù)設(shè)的大小值,在達(dá)到該值時(shí)生成閾值警告。
如果在判定塊5411確定已經(jīng)生成了磁盤(pán)利用率閾值警告,則在塊5413生成一個(gè)警告報(bào)告,指示在存儲(chǔ)位置的磁盤(pán)利用率已經(jīng)超過(guò)預(yù)定的閾值,并且提供可分配給副本的附加磁盤(pán)空間。在另一實(shí)施例中,除了生成警告報(bào)告向用戶(hù)通知閾值警告之外,數(shù)據(jù)保護(hù)系統(tǒng)也可通過(guò)確認(rèn)目前用于副本的磁盤(pán)空間狀態(tài)來(lái)檢查警告是否仍是適用的。
如果在判定塊5411確定沒(méi)有生成磁盤(pán)利用率閾值警告,則在塊5415向用戶(hù)提供一個(gè)信息報(bào)告,指示沒(méi)有與數(shù)據(jù)保護(hù)系統(tǒng)的這個(gè)部分相關(guān)聯(lián)的問(wèn)題。
再參考判定塊5409,如果確定最后的復(fù)制任務(wù)沒(méi)有成功,則在判定塊5417確定保護(hù)模式是否為后臺(tái)模式。如在此所述,保護(hù)的后臺(tái)模式是數(shù)據(jù)保護(hù)系統(tǒng)的操作模式,其中復(fù)制接近于連續(xù)的。例如,每小時(shí)、一天24小時(shí)、一周七天?;蛘撸瑥?fù)制的模式可以是備份模式。保護(hù)的備份模式是復(fù)制相對(duì)不太頻繁的操作模式。例如,歸檔和/或復(fù)制可每晚發(fā)生。
如果在判定塊5417確定復(fù)制模式是后臺(tái)的,則在塊5419計(jì)算先前失敗的復(fù)制作業(yè)的數(shù)量。在判定塊5421,確定在塊5419計(jì)算的失敗復(fù)制作業(yè)的數(shù)量已經(jīng)超過(guò)預(yù)定的下限。如果在判定塊5421確定先前失敗的復(fù)制作業(yè)數(shù)量還沒(méi)有超過(guò)預(yù)定的下限,則在塊5422生成一個(gè)信息報(bào)告,通知用戶(hù)數(shù)據(jù)保護(hù)系統(tǒng)目前按期望的操作。計(jì)算失敗復(fù)制作業(yè)的數(shù)量并且將它與限制比較以確定是否生成報(bào)告,為數(shù)據(jù)保護(hù)系統(tǒng)提供解決問(wèn)題的機(jī)會(huì)而不必通知用戶(hù)。例如,如果復(fù)制作業(yè)每小時(shí)生成并且如果丟失了一個(gè),則如果復(fù)制作業(yè)成功完成,數(shù)據(jù)保護(hù)系統(tǒng)可在下一小時(shí)解決這個(gè)問(wèn)題。
然而,如果在判定塊5421確定先前失敗的復(fù)制作業(yè)的數(shù)量已經(jīng)超過(guò)預(yù)定的下限,則在判定塊5423確定先前失敗的復(fù)制作業(yè)數(shù)量已經(jīng)超過(guò)第二上限。如果確定先前失敗的復(fù)制作業(yè)數(shù)量還沒(méi)有超過(guò)預(yù)定的上限,則在塊5424生成警告報(bào)告,通知用戶(hù)已經(jīng)失敗的復(fù)制作業(yè)的數(shù)量。警告報(bào)告還通知用戶(hù),失敗的復(fù)制作業(yè)的數(shù)量沒(méi)有達(dá)到預(yù)定的上限(關(guān)鍵性數(shù)量),并且目前不要求用戶(hù)的動(dòng)作。
如果在判定塊5417確定保護(hù)模式不是后臺(tái)模式,即它是備份模式,或者在在判定塊5423確定失敗的復(fù)制任務(wù)的數(shù)量超過(guò)預(yù)定的上限,則副本診斷例程5400獲得最后任務(wù)失敗的原因,如由塊5425所示的(圖55)。在本發(fā)明的一個(gè)實(shí)施例中,復(fù)制作業(yè)的失敗原因可從由包含在復(fù)制作業(yè)本身內(nèi)的任務(wù)生成的任務(wù)蹤跡獲得。如上所述,任務(wù)蹤跡包括關(guān)于任務(wù)本身的元數(shù)據(jù),任務(wù)在做什么,任務(wù)所完成的,或者任務(wù)為什么失敗。
在判定塊5427,確定失敗原因是否為用戶(hù)取消先前的復(fù)制作業(yè)。如果在判定塊5427確定復(fù)制作業(yè)因用戶(hù)取消該作業(yè)而失敗,則忽略復(fù)制失敗的通知。然而,如果在判定塊5427確定先前失敗的復(fù)制是因不同于用戶(hù)取消的原因,則在判定塊5431確定先前失敗的復(fù)制作業(yè)是否因?yàn)閿?shù)據(jù)保護(hù)系統(tǒng)不能聯(lián)系產(chǎn)生位置。不能聯(lián)系產(chǎn)生位置可由若干不同類(lèi)型的外部事件,如網(wǎng)絡(luò)中斷、電源問(wèn)題或者產(chǎn)生服務(wù)器目前因維護(hù)或其它操作而關(guān)閉所導(dǎo)致。
如果在判定塊5431確定失敗的最后一個(gè)復(fù)制作業(yè)是因?yàn)閿?shù)據(jù)保護(hù)系統(tǒng)不能聯(lián)系產(chǎn)生位置,則在塊5433生成報(bào)告,向用戶(hù)標(biāo)識(shí)先前的復(fù)制作業(yè)沒(méi)有成功完成并且向用戶(hù)提供建議,讓他們檢查網(wǎng)絡(luò)和/或產(chǎn)生位置,力圖確定數(shù)據(jù)保護(hù)系統(tǒng)為什么不能聯(lián)系產(chǎn)生位置。
如果在判定塊5431確定先前的失敗不是因?yàn)閿?shù)據(jù)保護(hù)系統(tǒng)不能聯(lián)系產(chǎn)生位置而發(fā)生的,則在判定塊5435確定先前的失敗是否因?yàn)閿?shù)據(jù)保護(hù)系統(tǒng)不能聯(lián)系執(zhí)行復(fù)制的代理。如果確定失敗因不能聯(lián)系進(jìn)行執(zhí)行的代理而發(fā)生,則生成警告報(bào)告,通知用戶(hù)錯(cuò)誤并且向用戶(hù)提供建議,檢查代理安裝和/或如果必要重新安裝代理,如由塊5437所示的。
然而,如果確定先前的失敗不是因?yàn)橛脩?hù)取消(塊5427)、不能聯(lián)系產(chǎn)生位置(塊5431)或者不能聯(lián)系代理(塊5435),則問(wèn)題是未知的并且生成錯(cuò)誤報(bào)告,通知用戶(hù)數(shù)據(jù)保護(hù)系統(tǒng)不能確定失敗的原因并且向用戶(hù)提供建議,檢查網(wǎng)絡(luò)連接和復(fù)制涉及的代理。
回來(lái)參考圖54,如果在判定塊5403確定使用副本診斷例程5400執(zhí)行診斷的副本不是有效的,則在判定塊5437(圖56)確定正在診斷的副本是否是無(wú)效的(即,處在圖37的無(wú)效狀態(tài))。如果在判定塊5437確定正在診斷的副本是無(wú)效的,則在塊5439,副本診斷例程通知用戶(hù),數(shù)據(jù)源的副本未初始化。在另一實(shí)施例中,在塊5439可向用戶(hù)提供報(bào)告,標(biāo)識(shí)正在診斷的用于特定數(shù)據(jù)源的副本未被初始化,并且詢(xún)問(wèn)用戶(hù)是否想要生成初始化作業(yè)。
如果在判定塊5437確定副本是無(wú)效的,則在判定塊5441確定確認(rèn)作業(yè)目前是否在正在診斷的副本上運(yùn)行。如果在判定塊5441確定確認(rèn)作業(yè)目前正在為正在診斷的特定副本運(yùn)行,則在塊5443生成警告報(bào)告,通知用戶(hù)正在診斷的副本目前正在由確認(rèn)作業(yè)確認(rèn)并且目前不需要?jiǎng)幼鳌?br>
如果在判定塊5441確定確認(rèn)作業(yè)不在運(yùn)行,則在判定塊5445,副本診斷例程5400判定先前的確認(rèn)作業(yè)是否運(yùn)行并且失敗。如果在判定塊5445確定確認(rèn)作業(yè)運(yùn)行并且失敗,則在判定塊5447確定失敗是否是由用戶(hù)取消確認(rèn)作業(yè)的結(jié)果。如果在判定塊5445確定先前運(yùn)行的確認(rèn)作業(yè)沒(méi)有失敗,或者先前運(yùn)行的確認(rèn)作業(yè)失敗并且失敗是用戶(hù)取消的結(jié)果,則在塊5449生成錯(cuò)誤報(bào)告,通知用戶(hù)失敗并且建議用戶(hù)運(yùn)行確認(rèn)作業(yè)。或者,確認(rèn)作業(yè)可自動(dòng)運(yùn)行。
然而,如果在判定塊5447確定失敗的先前運(yùn)行的確認(rèn)作業(yè)不是因用戶(hù)取消的原因而失敗的,則在塊5449從與先前確認(rèn)作業(yè)相關(guān)聯(lián)的任務(wù)蹤跡獲得該失敗的原因。使用在塊5449獲得的失敗的原因,副本診斷例程5400在判定塊5451判定失敗的先前運(yùn)行確認(rèn)作業(yè)是因?yàn)榭捎糜诟北镜拇鎯?chǔ)位置總量滿(mǎn)了。如果在判定塊5451確定在存儲(chǔ)位置用于副本的空間滿(mǎn)了,則在塊5453報(bào)告錯(cuò)誤,通知用戶(hù)存儲(chǔ)位置滿(mǎn)并且向用戶(hù)提供建議,為副本的存儲(chǔ)分配更多的磁盤(pán)空間。分配更多的磁盤(pán)空間可包括為復(fù)制品添加額外的磁盤(pán)空間。
如果在判定塊5451確定失敗不是空間不足的結(jié)果,則在塊5455確定失敗是否是數(shù)據(jù)保護(hù)系統(tǒng)根本不能到達(dá)存儲(chǔ)位置的結(jié)果。如果在判定塊5455確定數(shù)據(jù)保護(hù)系統(tǒng)不能到達(dá)存儲(chǔ)位置以便確認(rèn)副本,則生成錯(cuò)誤報(bào)告。錯(cuò)誤報(bào)告通知用戶(hù)存儲(chǔ)位置是不可訪問(wèn)的,并且建議用戶(hù)檢查數(shù)據(jù)保護(hù)系統(tǒng)與存儲(chǔ)位置之間的通信、與目標(biāo)卷的通信、以及存儲(chǔ)位置本身的完整性。
如果在判定塊5455確定失敗不是存儲(chǔ)位置不可訪問(wèn)的結(jié)果,則在判定塊5459確定在產(chǎn)生位置是否存在改變?nèi)罩疽绯觥H罩疽绯隹梢蛟诋a(chǎn)生位置的改變?nèi)罩局信抨?duì)了太多的改變和/或在存儲(chǔ)位置的溢出日志變滿(mǎn)所致。如果生成改變?nèi)罩竞痛_認(rèn)記錄比將它們發(fā)送到存儲(chǔ)位置或在存儲(chǔ)位置處理的速度快,則這可能發(fā)生。如果在判定塊5459確定失敗是日志溢出的結(jié)果,則生成錯(cuò)誤報(bào)告,通知用戶(hù)日志溢出并且指示日志已經(jīng)溢出,并且建議適當(dāng)?shù)刂匦抡{(diào)整日志的大小,如由塊5461所示。
最后,如果副本診斷例程5400在判定塊5459確定失敗不是日志溢出的結(jié)果,則在塊5463生成錯(cuò)誤報(bào)告,通知用戶(hù)失敗并且建議用戶(hù)對(duì)產(chǎn)生服務(wù)器、數(shù)據(jù)保護(hù)器和存儲(chǔ)服務(wù)器檢查可能的通信問(wèn)題或其它可能問(wèn)題,并且如果失敗繼續(xù),則重新初始化數(shù)據(jù)保護(hù)系統(tǒng)。
診斷保護(hù)問(wèn)題的另一個(gè)實(shí)例是時(shí)間版本的診斷。在圖53中(塊5305)描述的整個(gè)診斷例程提到該時(shí)間版本診斷例程并將參考圖57作更詳細(xì)地描述。
圖57依照本發(fā)明的一個(gè)實(shí)施例示出了描述時(shí)間版本診斷例程的流程圖,用于診斷與由數(shù)據(jù)保護(hù)系統(tǒng)生成的時(shí)間版本有關(guān)的可能問(wèn)題。時(shí)間版本診斷例程5700開(kāi)始于5701,并且在判定塊5703確定創(chuàng)建時(shí)間版本的副本是否處在有效狀態(tài)中。如果在判定塊5703確定生成時(shí)間版本的副本處在有效狀態(tài),則在判定塊5705確定該副本的最后時(shí)間版本是否成功。如果在判定塊5705確定副本的最后時(shí)間版本沒(méi)有成功,則在判定塊5707從與時(shí)間版本作業(yè)的任務(wù)相關(guān)聯(lián)的任務(wù)蹤跡獲得時(shí)間版本作業(yè)的失敗原因。
在判定塊5709生成錯(cuò)誤報(bào)告,提供解釋并且建議用戶(hù)要再次取一個(gè)時(shí)間版本。在另一實(shí)施例中,除了生成提供解釋的報(bào)告之外,數(shù)據(jù)保護(hù)系統(tǒng)可自動(dòng)調(diào)度一個(gè)時(shí)間版本作業(yè),用于取隨后的時(shí)間版本。
回來(lái)參考判定塊5703,如果確定要取的時(shí)間版本的副本不處在有效狀態(tài),則時(shí)間版本診斷例程5700如上所述參考圖56所示的塊繼續(xù)。
如果在判定塊5705確定有效副本的最后一個(gè)時(shí)間版本作業(yè)成功,則在判定塊5711確定一個(gè)時(shí)間版本是否是實(shí)際要取的時(shí)間版本。如果在判定塊5711確定時(shí)間版本不是實(shí)際要取的,則在判定塊5713確定是否存在復(fù)制作業(yè)失敗。如果在判定塊5713確定存在復(fù)制作業(yè)失敗,則時(shí)間版本診斷例程5700如上所述參考圖55所示和描述的塊繼續(xù)。
然而,如果在判定塊5711確定沒(méi)有時(shí)間版本要取,則在判定塊5713確定沒(méi)有復(fù)制作業(yè)失敗,這向數(shù)據(jù)保護(hù)系統(tǒng)標(biāo)識(shí)沒(méi)有關(guān)于副本的活動(dòng)并且因此不需要時(shí)間版本。另外,因?yàn)楦北竞?或時(shí)間版本沒(méi)有問(wèn)題,所以在塊5715生成信息報(bào)告,通知用戶(hù)沒(méi)有關(guān)于副本的活動(dòng)并且因此沒(méi)有時(shí)間版本要取。
回來(lái)參考判定塊5711,如果確定執(zhí)行了時(shí)間版本作業(yè)并且取得時(shí)間版本,則確定如果恢復(fù)是必需的則最舊的預(yù)期的時(shí)間版本是否可用,如由判定塊5721所示(圖58)。判定最舊的預(yù)期的時(shí)間版本是否可用確認(rèn)了是否滿(mǎn)足持續(xù)時(shí)間意圖。例如,如果持續(xù)時(shí)間是要能夠恢復(fù)至少一年以上的信息,并且最舊的預(yù)期的時(shí)間版本(一年之久)可用,確認(rèn)滿(mǎn)足該持續(xù)時(shí)間意圖。如果在判定塊5721確定最舊的預(yù)期的時(shí)間版本不能用于恢復(fù),則生成錯(cuò)誤報(bào)告,通知用戶(hù)最舊的預(yù)期的時(shí)間版本不可用,并且它的最可能原因是因?yàn)槿鄙俅疟P(pán)空間。錯(cuò)誤報(bào)告還向用戶(hù)提供建議,為時(shí)間版本分配更多的磁盤(pán)空間,如由塊5723所示。
如果在判定塊5721確定最舊的預(yù)期的時(shí)間版本可用,則在塊5725,時(shí)間版本診斷例程5700計(jì)算在預(yù)定的時(shí)間段內(nèi)丟失副本的數(shù)量,并且計(jì)算在總的保持時(shí)間內(nèi)丟失副本的總數(shù)。計(jì)算丟失時(shí)間版本的預(yù)定時(shí)間段可以是比總保持時(shí)間少的任何預(yù)定的時(shí)間長(zhǎng)度,諸如一周、兩周、一個(gè)月等??偙3謺r(shí)間是由用戶(hù)在設(shè)置保護(hù)意圖中在標(biāo)識(shí)用戶(hù)想要能夠恢復(fù)保護(hù)對(duì)象的總時(shí)間長(zhǎng)度時(shí)標(biāo)識(shí)的。計(jì)算丟失副本的數(shù)量確認(rèn)是否滿(mǎn)足頻率意圖。
在判定塊5727確定在塊5725計(jì)算丟失副本的預(yù)定時(shí)間段內(nèi)是否有超過(guò)0%的時(shí)間版本丟失。如果在判定塊5727確定沒(méi)有時(shí)間版本丟失,則在判定塊5729確定在總保持時(shí)間內(nèi)是否不超過(guò)50%的時(shí)間版本丟失。如果在判定塊5729確定在總時(shí)間段內(nèi)丟失時(shí)間版本的數(shù)量小于50%,則生成信息報(bào)告,通知用戶(hù)目前不存在與數(shù)據(jù)保護(hù)系統(tǒng)的時(shí)間版本部分有關(guān)的問(wèn)題,如由塊5731所示。如上討論,通過(guò)不立即報(bào)告問(wèn)題,數(shù)據(jù)保護(hù)系統(tǒng)有解決任何問(wèn)題的機(jī)會(huì)而不需要用戶(hù)卷入。例如,如果確定在總時(shí)間段內(nèi)丟失副本的數(shù)量是10%,但未來(lái)的復(fù)制作業(yè)成功完成,則這個(gè)百分比將隨著時(shí)間過(guò)去減少,而不必向用戶(hù)警告。
然而,如果在塊5729確定在總時(shí)間段內(nèi)超過(guò)50%的時(shí)間版本丟失,則生成警告報(bào)告,標(biāo)識(shí)目前丟失的時(shí)間版本的百分比,并且建議除了繼續(xù)監(jiān)視丟失時(shí)間版本的百分比之外不需要其它動(dòng)作,如由塊5733例示。
如果在判定塊5727確定在預(yù)定的時(shí)間段內(nèi)有些時(shí)間版本丟失,則在判定塊5735確定在該預(yù)定時(shí)間段內(nèi)丟失的時(shí)間版本數(shù)是否在0%與20%之間。如果在判定塊5735確定在預(yù)定時(shí)間段內(nèi)丟失的副本數(shù)在0%和20%之前,則在判定塊5737確定在總保持時(shí)間段內(nèi)丟失的時(shí)間版本數(shù)是否小于50%。如果在判定塊5737確定總保持時(shí)間段丟失的時(shí)間版本數(shù)小于50%,則在塊5739生成一警告報(bào)告,提供時(shí)間版本丟失百分比,并且建議除了監(jiān)視丟失時(shí)間版本百分比之外不要求其它動(dòng)作。
然而,如果在塊5737確定在總保持時(shí)間段內(nèi)丟失的時(shí)間版本的百分比大于50%,則在塊5741生成錯(cuò)誤報(bào)告,通知用戶(hù)丟失的時(shí)間版本的百分比。另外,在塊5741生成的錯(cuò)誤報(bào)告通知用戶(hù),沒(méi)有按預(yù)期執(zhí)行保護(hù),并且建議用戶(hù)檢查所標(biāo)識(shí)的保護(hù)參數(shù)并且為產(chǎn)生位置和存儲(chǔ)位置的磁盤(pán)設(shè)置進(jìn)行檢查。
回來(lái)參考判定塊5735,如果確定在預(yù)定時(shí)間段內(nèi)丟失的時(shí)間版本的百分比不在0%與20%之間,則在判定塊5743確定在總保持時(shí)間段內(nèi)丟失的時(shí)間版本數(shù)量是否小于50%。如果在判定塊5743確定在整個(gè)保持時(shí)間段內(nèi)丟失的時(shí)間版本的總數(shù)小于50%,則在塊5745生成錯(cuò)誤報(bào)告,通知用戶(hù)沒(méi)有按預(yù)期執(zhí)行保護(hù),為用戶(hù)提供在總保持時(shí)間段內(nèi)丟失的時(shí)間版本的總百分比,并且建議用戶(hù)檢查副本本身的完整性并且檢查保護(hù)時(shí)間表。最后,如果在判定塊5743確定在總保持時(shí)間段內(nèi)丟失的時(shí)間版本的數(shù)量大于50%,則生成錯(cuò)誤報(bào)告,通知用戶(hù)保護(hù)一貫很差,并且建議用戶(hù)檢查保護(hù)和在產(chǎn)生位置和存儲(chǔ)位置兩者進(jìn)行磁盤(pán)設(shè)置檢查,如由塊5747所示。
盡管在上述時(shí)間版本診斷例程5700的討論中使用了特定的百分比,但相關(guān)領(lǐng)域的技術(shù)人員將意識(shí)到,本發(fā)明實(shí)施例可使用任何預(yù)定的百分比,并且在此提供的百分比只是為了說(shuō)明目的。
圖59是依照本發(fā)明的一個(gè)實(shí)施例描述恢復(fù)診斷例程的流程圖,用于診斷與在數(shù)據(jù)保護(hù)系統(tǒng)中恢復(fù)信息有關(guān)的可能問(wèn)題?;謴?fù)診斷例程5900開(kāi)始于塊5901,并且在判定塊5903確定恢復(fù)作業(yè)目前是否正在運(yùn)行。如果在判定塊5903確定恢復(fù)作業(yè)目前正在運(yùn)行,則在判定塊5905,恢復(fù)診斷例程5900判定是否已經(jīng)從與運(yùn)行的恢復(fù)作業(yè)相關(guān)聯(lián)的任務(wù)生成了任何警告。如果在確定塊5905判定沒(méi)有與運(yùn)行的恢復(fù)作業(yè)相關(guān)聯(lián)的任務(wù)生成的警告,則生成信息報(bào)告,通知用戶(hù)數(shù)據(jù)保護(hù)系統(tǒng)沒(méi)有與恢復(fù)有關(guān)的問(wèn)題存在。如果在判定塊5905確定從與目前運(yùn)行的作業(yè)相關(guān)聯(lián)的任務(wù)生成了警告,則在塊5909生成警告報(bào)告,通知用戶(hù)目前運(yùn)行的恢復(fù)作業(yè)已經(jīng)生成了一個(gè)或多個(gè)警告,并且通知用戶(hù)那些警告,和提供解決那些警告的建議方法(如果需要任何解決方案的話)。例如,目前運(yùn)行的作業(yè)可生成一個(gè)警告,指示由于目前被打開(kāi)了而不能恢復(fù)一個(gè)文件。
如果在判定塊5903確定沒(méi)有恢復(fù)作業(yè)目前正在運(yùn)行,則在判定塊5911確定最近的恢復(fù)作業(yè)(例如,在最近的七十二個(gè)小時(shí)內(nèi)執(zhí)行的恢復(fù)作業(yè))未能完成。如果在判定塊5911確定沒(méi)有最近的恢復(fù)作業(yè)未能完成,即全部成功完成或者沒(méi)有執(zhí)行恢復(fù)作業(yè),則在塊5913生成一個(gè)報(bào)告,通知用戶(hù)沒(méi)有與數(shù)據(jù)保護(hù)系統(tǒng)的恢復(fù)部分相關(guān)聯(lián)的問(wèn)題。
如果在判定塊5911確定最近運(yùn)行的恢復(fù)作業(yè)失敗,則在塊5915從與該作業(yè)相關(guān)聯(lián)的任務(wù)蹤跡獲得該作業(yè)失敗的原因。如上所述,用于與一個(gè)特定作業(yè)相關(guān)聯(lián)的任務(wù)的任務(wù)蹤跡包含關(guān)于任務(wù)本身的信息,如果任務(wù)失敗則包括任務(wù)為什么失敗。
在判定塊5917,使用在塊5915獲得的失敗原因,確定恢復(fù)作業(yè)的失敗是否是數(shù)據(jù)保護(hù)系統(tǒng)不能聯(lián)系要恢復(fù)數(shù)據(jù)的產(chǎn)生位置的結(jié)果。如果在判定塊5917確定恢復(fù)作業(yè)失敗的原因是數(shù)據(jù)保護(hù)系統(tǒng)不能聯(lián)系產(chǎn)生位置,則在塊5919生成錯(cuò)誤報(bào)告,通知用戶(hù)最后的恢復(fù)作業(yè)失敗的原因,并且建議用戶(hù)檢查在產(chǎn)生位置的網(wǎng)絡(luò)連接和檢查在產(chǎn)生位置上的代理,以保證代理正確地操作。如上面參考副本診斷例程(圖54-56)所述,不能聯(lián)系如產(chǎn)生位置等位置,可以是如網(wǎng)絡(luò)中斷、電源問(wèn)題等若干外部事件,或產(chǎn)生位置因維護(hù)或其它操作而離線的結(jié)果。
如果在判定塊5917確定恢復(fù)作業(yè)失敗的原因不是數(shù)據(jù)保護(hù)系統(tǒng)不能聯(lián)系產(chǎn)生位置的結(jié)果,則在判定塊5921判定恢復(fù)作業(yè)失敗的原因是否是在產(chǎn)生位置上的目標(biāo)不可用。在產(chǎn)生位置上的目標(biāo)可以是要記錄被恢復(fù)數(shù)據(jù)的產(chǎn)生位置的物理位置。如果在判定塊5921確定目標(biāo)不可用,則生成錯(cuò)誤報(bào)告,如在塊5923所示,通知用戶(hù)恢復(fù)作業(yè)失敗的原因,并且建議用戶(hù)對(duì)產(chǎn)生服務(wù)器上的物理位置檢查可能的問(wèn)題。
如果在判定塊5921確定恢復(fù)作業(yè)失敗不是在產(chǎn)生位置上的目標(biāo)不可用的結(jié)果,則在判定塊5925判定恢復(fù)作業(yè)失敗的原因是否是恢復(fù)作業(yè)的任務(wù)不能從存儲(chǔ)位置讀。如果確定恢復(fù)作業(yè)的任務(wù)不能從存儲(chǔ)位置讀,則在塊5927生成錯(cuò)誤報(bào)告,通知用戶(hù)恢復(fù)作業(yè)失敗的原因,并且提供一個(gè)建議,讓用戶(hù)檢查在存儲(chǔ)位置處的盤(pán)和/或介質(zhì)。
如果在判定塊5925確定恢復(fù)作業(yè)失敗的原因不是任務(wù)不能從存儲(chǔ)位置讀的結(jié)果,則在判定塊5929確定在要恢復(fù)被恢復(fù)數(shù)據(jù)的產(chǎn)生位置目前是否滿(mǎn)。如果在判定塊5929確定磁盤(pán)滿(mǎn),則在塊5931生成錯(cuò)誤報(bào)告,通知用戶(hù)在恢復(fù)位置的磁盤(pán)沒(méi)有足夠的空間用于恢復(fù)所請(qǐng)求的數(shù)據(jù),并且建議用戶(hù)將數(shù)據(jù)恢復(fù)到另一個(gè)位置或者增加產(chǎn)生位置處的磁盤(pán)空間。
最后,如果在判定塊5929確定恢復(fù)作業(yè)失敗不是在產(chǎn)生位置處的磁盤(pán)滿(mǎn)的結(jié)果,則生成一個(gè)報(bào)告通知用戶(hù),在先前的恢復(fù)作業(yè)中已經(jīng)發(fā)生了一個(gè)未知的錯(cuò)誤,并且建議用戶(hù)重新運(yùn)行恢復(fù)作業(yè)。
盡管已經(jīng)例示和描述了本發(fā)明的較佳實(shí)施例,但應(yīng)意識(shí)到,可以在不脫離本發(fā)明的精神和范圍的情況下在這些實(shí)施例中作出各種改變。
權(quán)利要求
1.一種用于向用戶(hù)通知數(shù)據(jù)保護(hù)系統(tǒng)的狀態(tài)的方法,包括監(jiān)視所述數(shù)據(jù)保護(hù)系統(tǒng)的活動(dòng);確定是否存在與所述數(shù)據(jù)保護(hù)系統(tǒng)有關(guān)的任何潛在問(wèn)題;如果確定不存在與所述數(shù)據(jù)保護(hù)系統(tǒng)有關(guān)的任何潛在問(wèn)題,則向用戶(hù)提供關(guān)于所述數(shù)據(jù)保護(hù)系統(tǒng)的狀態(tài)的信息報(bào)告;如果確定存在與所述數(shù)據(jù)保護(hù)系統(tǒng)有關(guān)的潛在問(wèn)題,則確定所述潛在問(wèn)題的嚴(yán)重性;基于所述問(wèn)題的嚴(yán)重性對(duì)所述潛在問(wèn)題分類(lèi);以及向用戶(hù)提供對(duì)應(yīng)于所述潛在問(wèn)題的分類(lèi)的報(bào)告。
2.如權(quán)利要求1所述的方法,其特征在于,如果所述問(wèn)題的嚴(yán)重性要求進(jìn)行用戶(hù)交互,則所述潛在問(wèn)題被分類(lèi)為錯(cuò)誤。
3.如權(quán)利要求2所述的方法,其特征在于,所述報(bào)告向用戶(hù)通知所述潛在問(wèn)題,并向用戶(hù)提供對(duì)所述潛在問(wèn)題的建議的解決方案。
4.如權(quán)利要求1所述的方法,其特征在于,如果所述問(wèn)題的嚴(yán)重性不要求進(jìn)行用戶(hù)交互,則所述潛在問(wèn)題被分類(lèi)為警告。
5.如權(quán)利要求4所述的方法,其特征在于,所述報(bào)告向用戶(hù)通知所述潛在問(wèn)題,并向用戶(hù)提供對(duì)所述潛在問(wèn)題的建議的解決方案,或通知用戶(hù)當(dāng)前不需要任何動(dòng)作。
6.如權(quán)利要求1所述的方法,其特征在于,所述信息報(bào)告通知用戶(hù)所述數(shù)據(jù)保護(hù)系統(tǒng)正如預(yù)期的那樣運(yùn)作。
7.如權(quán)利要求1所述的方法,其特征在于,還包括監(jiān)視所述潛在問(wèn)題以發(fā)現(xiàn)變化;以及響應(yīng)于變化,基于所述變化改變所述問(wèn)題的嚴(yán)重性。
8.如權(quán)利要求1所述的方法,其特征在于,所述報(bào)告是基于一段時(shí)間內(nèi)對(duì)失敗的數(shù)目的計(jì)算而生成的。
9.如權(quán)利要求1所述的方法,其特征在于,所述報(bào)告是基于跨所述數(shù)據(jù)保護(hù)系統(tǒng)的多個(gè)位置對(duì)失敗的數(shù)目的計(jì)算而生成的。
10.一種用于診斷存儲(chǔ)位置的數(shù)據(jù)的方法,包括診斷位于所述存儲(chǔ)位置的數(shù)據(jù)的副本;診斷所述數(shù)據(jù)副本的時(shí)間版本;確定是否檢測(cè)到錯(cuò)誤;如果響應(yīng)于檢測(cè)到錯(cuò)誤,報(bào)告所述錯(cuò)誤并提供建議的解決方案;確定是否檢測(cè)到警告;以及如果響應(yīng)于檢測(cè)到警告,報(bào)告所述警告并提供建議的解決方案。
11.如權(quán)利要求10所述的方法,其特征在于,診斷副本包括確定所述副本是否有效。
12.如權(quán)利要求10所述的方法,其特征在于,診斷副本包括確定復(fù)制作業(yè)當(dāng)前是否正在運(yùn)行。
13.如權(quán)利要求10所述的方法,其特征在于,診斷副本包括確定最后一個(gè)復(fù)制作業(yè)是否成功地完成。
14.如權(quán)利要求10所述的方法,其特征在于,診斷數(shù)據(jù)的副本包括診斷所述數(shù)據(jù)副本的復(fù)制失敗。
15.如權(quán)利要求10所述的方法,其特征在于,診斷副本包括計(jì)算失敗的復(fù)制作業(yè)的數(shù)目。
16.如權(quán)利要求10所述的方法,其特征在于,診斷副本包括確定是否達(dá)到閾值。
17.如權(quán)利要求10所述的方法,其特征在于,診斷時(shí)間版本包括確定所述副本是否有效。
18.如權(quán)利要求10所述的方法,其特征在于,診斷時(shí)間版本包括確定最后一個(gè)時(shí)間版本是否成功地完成。
19.如權(quán)利要求10所述的方法,其特征在于,診斷時(shí)間版本包括確定是否采取了時(shí)間版本。
20.如權(quán)利要求10所述的方法,其特征雜魚(yú),診斷時(shí)間版本包括確定最舊的預(yù)期時(shí)間版本是否可用。
21.如權(quán)利要求10所述的方法,其特征在于,診斷時(shí)間版本包括確定預(yù)定時(shí)間段內(nèi)丟失的時(shí)間版本的百分比。
22.如權(quán)利要求10所述的方法,其特征在于,診斷時(shí)間版本包括確定總時(shí)間段內(nèi)丟失的時(shí)間版本的百分比。
23.一種用于診斷數(shù)據(jù)副本的方法,包括確定所述副本是否無(wú)效;響應(yīng)于確定所述副本無(wú)效,確定確認(rèn)作業(yè)當(dāng)前是否正在運(yùn)行;確定確認(rèn)作業(yè)是否失??;以及報(bào)告適當(dāng)?shù)捻憫?yīng)。
24.如權(quán)利要求23所述的方法,其特征在于,如果確定確認(rèn)作業(yè)正在運(yùn)行,則所述適當(dāng)?shù)捻憫?yīng)是警告。
25.如權(quán)利要求23所述的方法,其特征在于,如果確定確認(rèn)作業(yè)失敗,則所述適當(dāng)?shù)捻憫?yīng)是錯(cuò)誤。
26.如權(quán)利要求23所述的方法,其特征在于,還包括確定對(duì)所述副本是否有足夠的空間;以及響應(yīng)于確定對(duì)所述副本沒(méi)有足夠的空間,提供錯(cuò)誤報(bào)告以及建議的解決方案。
27.如權(quán)利要求23所述的方法,其特征在于,還包括確定所述目標(biāo)是否不可達(dá)到;以及響應(yīng)于確定所述目標(biāo)不可達(dá)到,報(bào)告錯(cuò)誤并提供建議的解決方案。
28.如權(quán)利要求23所述的方法,其特征在于,還包括確定所述副本是否依賴(lài)于監(jiān)視;響應(yīng)于確定所述副本依賴(lài)于監(jiān)視,確定所述監(jiān)視中是否有中斷;以及響應(yīng)于確定所述監(jiān)視中有中斷,報(bào)告錯(cuò)誤并提供建議的解決方案。
29.如權(quán)利要求23所述的方法,其特征在于,還包括確定復(fù)制作業(yè)是否正在運(yùn)行;以及響應(yīng)于確定復(fù)制作業(yè)正在運(yùn)行,提供數(shù)據(jù)源的最后狀態(tài)并指示作業(yè)正在運(yùn)行。
30.如權(quán)利要求23所述的方法,其特征在于,還包括確定最后一次復(fù)制是否成功;以及響應(yīng)于確定最后一次復(fù)制成功,確定是否達(dá)到閾值。
31.在具有產(chǎn)生位置、存儲(chǔ)位置和用于在所述產(chǎn)生位置和存儲(chǔ)位置之間傳輸數(shù)據(jù)的通信路徑的數(shù)據(jù)保護(hù)系統(tǒng)中,一種用于診斷時(shí)間版本的方法,所述方法包括確定最舊的預(yù)期時(shí)間版本是否可用;響應(yīng)于確定最舊的預(yù)期時(shí)間版本可用,計(jì)算預(yù)定時(shí)間段內(nèi)丟失的時(shí)間版本的數(shù)目;以及根據(jù)所述預(yù)定時(shí)間段內(nèi)丟失的時(shí)間版本的百分比報(bào)告響應(yīng)。
32.如權(quán)利要求31所述的方法,其特征在于,還包括計(jì)算總時(shí)間段內(nèi)丟失的時(shí)間版本的數(shù)目;以及根據(jù)所述總時(shí)間段內(nèi)丟失的時(shí)間版本的數(shù)目報(bào)告響應(yīng)。
33.如權(quán)利要求31所述的方法,其特征在于,所述響應(yīng)是警告。
34.如權(quán)利要求31所述的方法,其特征在于,所述響應(yīng)是錯(cuò)誤。
35.如權(quán)利要求31所述的方法,其特征在于,還包括確定前一時(shí)間版本是否成功。
36.如權(quán)利要求31所述的方法,其特征在于,還包括確定是否采取了時(shí)間版本。
37.在具有產(chǎn)生位置、存儲(chǔ)位置以及用于在所述產(chǎn)生位置和所述存儲(chǔ)位置之間傳輸數(shù)據(jù)的通信路徑的數(shù)據(jù)保護(hù)系統(tǒng)中,一種用于診斷從所述存儲(chǔ)位置到所述產(chǎn)生位置的數(shù)據(jù)恢復(fù)的方法,所述方法包括確定一恢復(fù)作業(yè)是否失敗;響應(yīng)于確定所述恢復(fù)作業(yè)失敗,獲取失敗的原因;報(bào)告標(biāo)識(shí)所述失敗的錯(cuò)誤;以及提供建議以解決所述失敗。
38.如權(quán)利要求37所述的方法,其特征在于,所述失敗是產(chǎn)生位置不可訪問(wèn)。
39.如權(quán)利要求37所述的方法,其特征在于,所述失敗是目標(biāo)位置不可訪問(wèn)。
40.如權(quán)利要求37所述的方法,其特征在于,所述失敗是磁盤(pán)滿(mǎn)。
41.如權(quán)利要求37所述的方法,其特征在于,還包括確定恢復(fù)作業(yè)是否正在進(jìn)行中。
42.如權(quán)利要求37所述的方法,其特征在于,還包括響應(yīng)于確定恢復(fù)作業(yè)正在進(jìn)行中,確定是否報(bào)告了警告;以及根據(jù)是否報(bào)告了警告提供響應(yīng)。
全文摘要
一種用于診斷與數(shù)據(jù)源的保護(hù)及其恢復(fù)有關(guān)的問(wèn)題的方法。該方法包括診斷位于存儲(chǔ)位置處的數(shù)據(jù)的副本以及診斷該數(shù)據(jù)副本的時(shí)間版本?;谠撛\斷,確定是否檢測(cè)到錯(cuò)誤或警告。如果檢測(cè)到任一個(gè),則用建議的解決方案來(lái)提供響應(yīng)。
文檔編號(hào)G06F11/00GK1760790SQ200510103680
公開(kāi)日2006年4月19日 申請(qǐng)日期2005年9月9日 優(yōu)先權(quán)日2004年9月9日
發(fā)明者B·T·伯科威茨, C·V·英根, K·S·阿南德, M·唐加拉斯南, P·M·庫(kù)卡尼, S·哈卡里思南, S·斯里尼瓦桑, W·T·謝爾頓, Y·Z·拉史卡里 申請(qǐng)人:微軟公司