專利名稱:用于進(jìn)行基于網(wǎng)格的數(shù)據(jù)存儲的設(shè)備、系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)格計算,具體來說,涉及在網(wǎng)格計算系統(tǒng)上跨多個客戶端進(jìn)行數(shù)據(jù)備份操作。
背景技術(shù):
網(wǎng)格計算在計算行業(yè)是相對較新的技術(shù)。許多當(dāng)前的網(wǎng)格計算系統(tǒng)可使多臺互相連接的計算機(jī)對在單獨的一臺機(jī)器上不可能完成的比較大的網(wǎng)格應(yīng)用(如計算問題)進(jìn)行協(xié)作。為了可行地管理這樣大量的計算過程,計算問題可以分為多個較小的,比較容易管理的作業(yè)。這種網(wǎng)格應(yīng)用的共享處理在某種程度上是可能的,因為在許多個人和商用計算機(jī)上有強(qiáng)制的或偶然空閑處理器時間。
網(wǎng)格計算未充分實現(xiàn)的一個方面在于數(shù)據(jù)備份應(yīng)用領(lǐng)域。常規(guī)數(shù)據(jù)備份功能是使用大型的獨立數(shù)據(jù)備份設(shè)備來實現(xiàn)的。事實上,整個業(yè)界都致力于創(chuàng)建專用于存儲信息、備份信息以及使該信息可用的數(shù)據(jù)中心。為提高此存儲的信息的可用性,數(shù)據(jù)中心常常使用冗余和錯誤檢測和校正代碼或功能。這樣的數(shù)據(jù)中心傳統(tǒng)上是使用大量的專用于存儲數(shù)據(jù)的數(shù)據(jù)存儲設(shè)備來設(shè)計和操作的。令人遺憾的是,這些及其他常規(guī)數(shù)據(jù)存儲技術(shù)和設(shè)備通常非常昂貴,價格高得驚人,因此,限制了這樣的技術(shù)的廣泛應(yīng)用。
與網(wǎng)格計算有關(guān)的另一個問題是大容量存儲設(shè)備在單個計算機(jī)和網(wǎng)絡(luò)計算機(jī)上的普遍應(yīng)用。許多企業(yè)和家庭,至少在美國,當(dāng)前具有一臺或多臺,即使不是常年也是在一天中頻繁連接到因特網(wǎng)的計算機(jī)。這些個人和商用計算機(jī)中的許多計算機(jī)不能充分利用它們的存儲量,可能只能利用它們的總?cè)萘康?%和20%之間的量。對于這些計算機(jī)上可用的存儲設(shè)備的大小,這意味著例如,在40和100GB之間的存儲設(shè)備上,有32和98GB之間的存儲空間沒有被使用或未被充分利用。甚至在較低容量的設(shè)備上,可能會有幾個GB的存儲量被閑置??偟貋碚f,每天都有價值數(shù)百萬(可能達(dá)數(shù)十億)美元的存儲量被閑置。
涉及本發(fā)明的背景的另一個問題是需要相當(dāng)大的存儲容量用于進(jìn)行數(shù)據(jù)備份操作。雖然諸如光盤和軟盤之類的低成本可移動介質(zhì)的存儲容量隨著時間的推移而顯著地增加,許多時候用于進(jìn)行完整的或部分的備份所需要的存儲空間還是超過了單個可移動介質(zhì)設(shè)備上可用的存儲空間。同樣,在多個可移動介質(zhì)設(shè)備上存儲備份數(shù)據(jù)所涉及的時間、勞動強(qiáng)度以及財務(wù)成本通常令人望而卻步。這種需要大容量存儲器來進(jìn)行數(shù)據(jù)備份的狀況,與網(wǎng)格計算的能力和現(xiàn)有的未使用的和未充分利用的大量的存儲空間結(jié)合起來,說明了需要實現(xiàn)基于網(wǎng)格的數(shù)據(jù)備份。
因此,需要有能夠方便網(wǎng)格計算系統(tǒng)上的有利的備份和恢復(fù)功能的設(shè)備、系統(tǒng)和方法。優(yōu)選情況下,這樣的設(shè)備、系統(tǒng)和方法將克服當(dāng)前的對專用數(shù)據(jù)中心的依賴以及利用可用的、未使用的存儲容量和網(wǎng)格計算技術(shù)。
發(fā)明內(nèi)容
本發(fā)明是針對當(dāng)前的技術(shù)狀況而開發(fā)出來的,具體來說,響應(yīng)當(dāng)前可用的網(wǎng)格計算系統(tǒng)還沒有完全解決的、現(xiàn)有技術(shù)中的問題和需求而產(chǎn)生的。相應(yīng)地,本發(fā)明提供了用于在網(wǎng)格計算系統(tǒng)上跨多個客戶端進(jìn)行數(shù)據(jù)備份的設(shè)備、系統(tǒng)和方法,克服了現(xiàn)有技術(shù)中上文所討論的許多缺點或全部缺點。
在本發(fā)明的優(yōu)選實施例中,用于在網(wǎng)格計算系統(tǒng)上跨多個客戶端進(jìn)行備份數(shù)據(jù)的設(shè)備配備有邏輯單元,該邏輯單元包含多個模塊,這些模塊被配置為在功能上執(zhí)行在網(wǎng)格計算系統(tǒng)上跨多個客戶端進(jìn)行備份數(shù)據(jù)的必需的步驟。所描述的實施例中的這些模塊包括客戶端請求模塊、序列模塊、全局配置文件管理模塊、數(shù)據(jù)包存儲模塊、數(shù)據(jù)包檢索模塊、數(shù)據(jù)匯編模塊、壓縮模塊、加密模塊以及冗余模塊。
根據(jù)本發(fā)明,現(xiàn)在提供了用于跨多個客戶端進(jìn)行數(shù)據(jù)備份的序列管理設(shè)備,該設(shè)備包括被配置為從源客戶端接收待備份的數(shù)據(jù)的客戶端請求模塊;被配置為生成多個目標(biāo)客戶端的不透明序列的序列模塊;以及被配置為根據(jù)不透明序列在多個目標(biāo)客戶端上存儲數(shù)據(jù)的數(shù)據(jù)包存儲模塊。
從另一個方面來看本發(fā)明,現(xiàn)在提供了用于跨多個客戶端進(jìn)行數(shù)據(jù)備份的方法,該方法包括從源客戶端接收待備份的數(shù)據(jù);生成多個目標(biāo)客戶端的不透明序列;以及根據(jù)不透明序列在多個目標(biāo)客戶端上存儲數(shù)據(jù)。
從再一個方面來看本發(fā)明,現(xiàn)在提供了包括計算機(jī)可讀取的代碼的計算機(jī)可讀取的存儲介質(zhì),該代碼被配置為執(zhí)行用于跨多個客戶端進(jìn)行數(shù)據(jù)備份的方法,該方法包括從源客戶端接收待備份的數(shù)據(jù);生成多個目標(biāo)客戶端的不透明序列;根據(jù)不透明序列在多個目標(biāo)客戶端上存儲數(shù)據(jù)。
本發(fā)明還提供了用于在網(wǎng)格計算系統(tǒng)上跨多個客戶端進(jìn)行數(shù)據(jù)備份的系統(tǒng)。系統(tǒng)可以在局域網(wǎng)、廣域網(wǎng)、局域網(wǎng)和廣域網(wǎng)的組合、一個或多個無線網(wǎng)絡(luò)、基于因特網(wǎng)的網(wǎng)格計算網(wǎng)絡(luò),或任何數(shù)量的網(wǎng)格計算環(huán)境中實現(xiàn)。具體來說,在一個實施例中,系統(tǒng)包括全局序列管理器、源客戶端、一個或多個目標(biāo)客戶端以及可以在這些組件之間進(jìn)行通信的通信基礎(chǔ)結(jié)構(gòu)。
系統(tǒng)可以進(jìn)一步包括預(yù)訂管理器,該管理器被配置為管理連接到網(wǎng)格計算系統(tǒng)的每一個客戶端的費(fèi)用預(yù)訂,并使用這里所描述的網(wǎng)格系統(tǒng)的備份和恢復(fù)功能。
還提供了用于在網(wǎng)格計算系統(tǒng)上跨多個客戶端進(jìn)行數(shù)據(jù)備份的客戶端。在一個實施例中,客戶端配備有邏輯單元,該邏輯單元包含多個模塊,這些模塊被配置為在功能上執(zhí)行在網(wǎng)格計算系統(tǒng)上跨多個客戶端進(jìn)行數(shù)據(jù)備份的必需的步驟。所描述的實施例中的這些模塊包括數(shù)據(jù)備份模塊、數(shù)據(jù)恢復(fù)模塊、本地配置文件管理模塊以及唯一數(shù)據(jù)標(biāo)識符生成模塊。
本發(fā)明還提供了用于在網(wǎng)格計算系統(tǒng)上跨多個客戶端進(jìn)行數(shù)據(jù)備份的進(jìn)程。所公開的實施例中的進(jìn)程基本上包括執(zhí)行上文關(guān)于所描述的設(shè)備和系統(tǒng)的操作提供的功能所需的步驟。在一個實施例中,進(jìn)程包括從源客戶端接收待備份的數(shù)據(jù),生成多個目標(biāo)客戶端的不透明序列,以及根據(jù)不透明序列在多個目標(biāo)客戶端上存儲數(shù)據(jù)。
進(jìn)程還可以包括管理說明備份數(shù)據(jù)的元數(shù)據(jù)信息,將數(shù)據(jù)細(xì)分為備份數(shù)據(jù)數(shù)據(jù)包,使用唯一數(shù)據(jù)標(biāo)識符(UDI)來創(chuàng)建和識別備份數(shù)據(jù),管理客戶端的對網(wǎng)格計算備份系統(tǒng)的預(yù)訂,跟蹤客戶端性能資源的分配,以及其他必需的、附帶的以及如這里所描述的有益的步驟。
優(yōu)選情況下,本發(fā)明的一個實施例允許大量備份數(shù)據(jù)分散并存儲在網(wǎng)格計算系統(tǒng)中的多個目標(biāo)客戶端中。優(yōu)選情況下,本發(fā)明的另一個實施例還允許在無需大型數(shù)據(jù)中心的情況下來對數(shù)據(jù)進(jìn)行備份。優(yōu)選情況下,本發(fā)明的進(jìn)一步的實施例通過將數(shù)據(jù)細(xì)分為數(shù)據(jù)包并根據(jù)不透明序列鍵將備份數(shù)據(jù)數(shù)據(jù)包存儲在目標(biāo)客戶端,為備份數(shù)據(jù)提供附加的安全性。
在整個說明書中對特征、優(yōu)點的引用或類似的語言并不意味著,可以用本發(fā)明實現(xiàn)的所有特征和優(yōu)點應(yīng)該是或在本發(fā)明的任何單個實施例中。相反,引用特征和優(yōu)點的語言應(yīng)被理解為表示,結(jié)合一個實施例描述的特征、優(yōu)點或特點至少包括在本發(fā)明的一個實施例中。因此,在整個說明書中,對特征和優(yōu)點的討論以及類似的語言,可以但不一定指的是同一個實施例。
從另一個方面來看本發(fā)明,現(xiàn)在提供了與序列管理設(shè)備相關(guān)的用于跨多個客戶端進(jìn)行數(shù)據(jù)備份的客戶端,該客戶端包括被配置為與序列管理設(shè)備進(jìn)行通信的網(wǎng)絡(luò)接口;被配置為定義已分配的存儲器的存儲器;以及被配置為使用唯一數(shù)據(jù)標(biāo)識符和不透明序列來管理備份操作的客戶端備份管理器設(shè)備。
客戶端可以是被配置為啟動備份操作并生成數(shù)據(jù)的唯一數(shù)據(jù)標(biāo)識符的源客戶端。同樣,客戶端可以是被配置為響應(yīng)來自序列管理設(shè)備的數(shù)據(jù)存儲請求,將數(shù)據(jù)的至少一部分存儲在已分配的存儲器中的目標(biāo)客戶端。
從再一個方面來看本發(fā)明,現(xiàn)在提供了用于跨多個客戶端進(jìn)行數(shù)據(jù)備份的系統(tǒng),該系統(tǒng)包括網(wǎng)絡(luò)通信信道;連接到網(wǎng)絡(luò)通信信道并被配置為啟動數(shù)據(jù)備份操作的源客戶端;連接到網(wǎng)絡(luò)通信信道并被配置為存儲至少一部分?jǐn)?shù)據(jù)的多個目標(biāo)客戶端;連接到網(wǎng)絡(luò)通信信道并被配置為根據(jù)不透明序列將數(shù)據(jù)存儲在多個目標(biāo)客戶端上的全局序列管理器。
全局序列管理器可以進(jìn)一步被配置為存儲對應(yīng)于唯一數(shù)據(jù)標(biāo)識符的數(shù)據(jù)的單一副本,并將數(shù)據(jù)的單一副本映射到在其上面存儲了數(shù)據(jù)的源客戶端,并映射到在其上面存儲了數(shù)據(jù)的相同副本的第二源客戶端。系統(tǒng)可以進(jìn)一步包括預(yù)訂管理器,該管理器被配置為管理每一個源客戶端和多個目標(biāo)客戶端的合同預(yù)訂。全局序列管理器和預(yù)訂管理器可以進(jìn)一步被配置為跟蹤源客戶端的源存儲分配參數(shù)。同樣,全局序列管理器和預(yù)訂管理器可以進(jìn)一步被配置為跟蹤多個目標(biāo)客戶端中的每一個目標(biāo)客戶端的目標(biāo)存儲分配參數(shù)。類似地,全局序列管理器和預(yù)訂管理器可以被配置為跟蹤資源分配參數(shù)。
可以從包括網(wǎng)絡(luò)分配參數(shù)、客戶端處理器參數(shù)以及客戶端帶寬參數(shù)的組中選擇資源分配參數(shù)。
從再一個方面來看本發(fā)明,現(xiàn)在提供了用于在網(wǎng)格計算系統(tǒng)內(nèi)管理預(yù)訂的客戶端的合同預(yù)訂的預(yù)訂管理器,該預(yù)訂管理器包括被配置為與預(yù)訂的客戶端進(jìn)行通信的網(wǎng)絡(luò)接口;被配置為接收來自預(yù)訂的客戶端的網(wǎng)格應(yīng)用啟動請求并允許預(yù)訂的客戶端啟動網(wǎng)格計算系統(tǒng)上的網(wǎng)格應(yīng)用的預(yù)訂模塊;以及被配置為計算客戶端預(yù)訂費(fèi)并根據(jù)合同預(yù)訂請求支付客戶端預(yù)訂費(fèi)的費(fèi)用模塊。
網(wǎng)格應(yīng)用可以是網(wǎng)格備份應(yīng)用。費(fèi)用模塊被進(jìn)一步配置為至少部分地基于指定的時間段內(nèi)的客戶端使用歷史來計算客戶端預(yù)訂費(fèi)。同樣,費(fèi)用模塊可以進(jìn)一步被配置為至少部分地基于定義分配給網(wǎng)格計算系統(tǒng)的客戶端資源的客戶端資源分配參數(shù)來計算客戶端預(yù)訂費(fèi)。
從再一個方面來看本發(fā)明,現(xiàn)在提供了用于跨多個客戶端進(jìn)行數(shù)據(jù)備份的方法,該方法包括從源客戶端請求待備份的數(shù)據(jù);從源客戶端接收待備份的數(shù)據(jù);將數(shù)據(jù)分為多個數(shù)據(jù)數(shù)據(jù)包;生成多個目標(biāo)客戶端的不透明序列;根據(jù)不透明序列在多個目標(biāo)客戶端上存儲數(shù)據(jù)數(shù)據(jù)包;使用對應(yīng)于數(shù)據(jù)的唯一數(shù)據(jù)標(biāo)識符來將數(shù)據(jù)映射到源客戶端;管理說明在多個目標(biāo)客戶端上備份的數(shù)據(jù)的元數(shù)據(jù)文件;跟蹤資源分配參數(shù),其中,資源分配參數(shù)是源存儲分配參數(shù)、目標(biāo)存儲分配參數(shù)、網(wǎng)絡(luò)分配參數(shù)、客戶端處理器參數(shù)以及客戶端帶寬參數(shù)中的某一個;以及管理源客戶端和多個目標(biāo)客戶端的合同預(yù)訂。
從另一個方面來看本發(fā)明,現(xiàn)在提供了用于跨多個客戶端進(jìn)行數(shù)據(jù)備份的設(shè)備,該設(shè)備包括用于從源客戶端接收待備份的數(shù)據(jù)的裝置;用于生成多個目標(biāo)客戶端的不透明序列的裝置;以及用于根據(jù)不透明序列在多個目標(biāo)客戶端上存儲數(shù)據(jù)的裝置。
此外,本發(fā)明的所描述的特征、優(yōu)點和特點可以在一個或多個實施例中以任何適當(dāng)?shù)姆绞胶喜?。那些本領(lǐng)域普通技術(shù)人員將知道,本發(fā)明可以在沒有特定實施例的一個或多個特征或優(yōu)點的情況下實施。在其他情況下,其他特征和優(yōu)點可以在某些實施例中出現(xiàn),不一定在本發(fā)明的所有實施例中出現(xiàn)。
通過下面的描述和所附的權(quán)利要求,本發(fā)明的這些特征和優(yōu)點將變得顯而易見,或者,也可以通過實踐本發(fā)明來了解。
為了能夠輕松地理解本發(fā)明的優(yōu)點,上文簡要描述的本發(fā)明的比較特定的說明將通過參考特定的實施例來說明,所述特定實施例將結(jié)合附圖加以說明。理解這些附圖只描述了本發(fā)明的典型實施例,不應(yīng)該被認(rèn)為是限制本發(fā)明的范圍,將通過使用
本發(fā)明的其他特征和細(xì)節(jié),其中圖1是說明根據(jù)本發(fā)明的網(wǎng)格系統(tǒng)的一個實施例的示意方框圖;圖2是顯示了根據(jù)本發(fā)明的客戶端存儲器的一個實施例的示意方框圖;
圖3是顯示了根據(jù)本發(fā)明的網(wǎng)格系統(tǒng)的另一個實施例的示意方框圖;圖4是顯示了根據(jù)本發(fā)明的全局序列管理器的一個實施例的示意方框圖;圖5是顯示了根據(jù)本發(fā)明的客戶端的一個實施例的示意方框圖;圖6是顯示了根據(jù)本發(fā)明的全局客戶端配置文件的一個實施例的示意方框圖;圖7是顯示了根據(jù)本發(fā)明的源客戶端配置文件的一個實施例的示意方框圖;圖8是顯示了根據(jù)本發(fā)明的源數(shù)據(jù)記錄的一個實施例的示意方框圖;圖9是顯示了根據(jù)本發(fā)明的目標(biāo)數(shù)據(jù)記錄的一個實施例的示意方框圖;圖10是顯示了根據(jù)本發(fā)明的數(shù)據(jù)匯編記錄的一個實施例的示意方框圖;圖11-12是顯示了根據(jù)本發(fā)明的備份方法的一個實施例的示意流程圖;以及圖13-16是顯示了根據(jù)本發(fā)明的恢復(fù)方法的一個實施例的示意流程圖。
具體實施例方式
本說明書中描述的許多功能單元被標(biāo)記為模塊,以便特別強(qiáng)調(diào)它們的實現(xiàn)方式的獨立性。例如,模塊可以作為包括自定義VLSI電路或門陣列、諸如邏輯芯片之類的現(xiàn)成半導(dǎo)體、晶體管或其他分離的元件的硬件電路來實現(xiàn)。模塊還可以以諸如現(xiàn)場可編程門陣列、可編程陣列邏輯、可編程邏輯器件之類的可編程硬件設(shè)備來實現(xiàn)。
模塊還可以由供各種處理器來執(zhí)行的軟件來實現(xiàn)??蓤?zhí)行代碼的識別的模塊例如,可以包括計算機(jī)指令的一個或多個物理或邏輯塊,而計算機(jī)指令可以作為對象、過程或函數(shù)來組織。盡管如此,識別的模塊的可執(zhí)行程序不必在物理上位于一起,但可以包括存儲在不同位置的不同的指令,當(dāng)這些指令在邏輯上聯(lián)合在一起時,包括模塊,并實現(xiàn)該模塊的指定目的。
實際上,可執(zhí)行代碼的模塊可以是單個指令、或許多指令,甚至可以在多個不同代碼段、在不同的程序中以及跨多個存儲設(shè)備地分布。同樣,這里可以在模塊內(nèi)標(biāo)識和顯示操作數(shù)據(jù),并可以以任何合適的形式來實現(xiàn)并在任何合適的數(shù)據(jù)結(jié)構(gòu)類型內(nèi)組織。操作數(shù)據(jù)可以作為單個數(shù)據(jù)集收集,也可以分布在不同的位置,包括分布在不同的存儲設(shè)備,全異的存儲器設(shè)備中,也可以至少部分地只作為系統(tǒng)或網(wǎng)絡(luò)上的電子信號存在。
此外,模塊也可以作為軟件和一個或多個硬件設(shè)備的組合來實現(xiàn)。例如,模塊也可以以存儲在存儲器設(shè)備中的軟件可執(zhí)行代碼的組合來實現(xiàn)。在另一個示例中,模塊可以是對操作數(shù)據(jù)的集合進(jìn)行操作的處理器的組合。此外,模塊也可以以通過傳輸電路傳輸?shù)碾娮有盘柕慕M合來實現(xiàn)。
在整個說明書中,對“一個實施例”、“實施例”的引用或類似的語言表示,結(jié)合實施例描述的特征、優(yōu)點或特點至少包括在本發(fā)明的一個實施例中。因此,在整個說明書中,“在一個實施例中”、“在實施例中”等句子的出現(xiàn)可以,但不一定都指的是同一個實施例。
此外,本發(fā)明的所描述的特點、結(jié)構(gòu)和特征可以在一個或多個實施例中以任何適當(dāng)?shù)姆绞胶喜ⅰT谙旅娴拿枋鲋?,提供了許多細(xì)節(jié),如編程、軟件模塊、用戶選擇、網(wǎng)絡(luò)事務(wù)、數(shù)據(jù)庫查詢、數(shù)據(jù)庫結(jié)構(gòu)、數(shù)據(jù)庫、硬件模塊、硬件電路、硬件芯片等等的示例,以提供對本發(fā)明的實施例的全面的了解。然而,那些本領(lǐng)域普通技術(shù)人員將認(rèn)識到,本發(fā)明可以在不使用一個或多個細(xì)節(jié)的情況下實施,或者可以用其他方法、組件、材料等等來實施。在其他情況下,沒有顯示或詳細(xì)描述公知的結(jié)構(gòu)、材料或操作,以避免使本發(fā)明某些方面變得模糊。
圖1描述了網(wǎng)格系統(tǒng)100,該網(wǎng)格系統(tǒng)包括通過通信信道112連接到多個客戶端104-110或節(jié)點的網(wǎng)格服務(wù)器102。所顯示的網(wǎng)格系統(tǒng)100類似于局域網(wǎng)(LAN),在一個實施例中,通信信道112可以是以太網(wǎng)通信信道、無線通信信道或其他相當(dāng)?shù)耐ㄐ判诺?。同樣,通信信?12可以包括各種類型的通信信道的組合。雖然所描述的網(wǎng)格系統(tǒng)100包括一個網(wǎng)格服務(wù)器102和四個客戶端104-110,但是,網(wǎng)格系統(tǒng)100可以包括各種網(wǎng)絡(luò)配置的組合,可以具有更少或更多的客戶端104-110,一個以上的服務(wù)器102,或其他服務(wù)器配置。在另一個實施例中,網(wǎng)格系統(tǒng)100還可以包括預(yù)訂管理器(未顯示),如參考圖3所描述的。在一個實施例中,網(wǎng)格服務(wù)器102還可以同時充當(dāng)網(wǎng)格系統(tǒng)100的預(yù)訂管理器。
在一個實施例中,網(wǎng)格系統(tǒng)100被配置執(zhí)行網(wǎng)格應(yīng)用。網(wǎng)格應(yīng)用是在一起獲得指定目標(biāo)的工程項目的集合。例如,網(wǎng)格應(yīng)用可以確定非常復(fù)雜的數(shù)學(xué)計算,包括天氣預(yù)報、股票市場發(fā)展等等。網(wǎng)格應(yīng)用還可以處理大規(guī)模的多媒體操作。在另一個實施例中,網(wǎng)格應(yīng)用可以對大型而不同的數(shù)據(jù)量執(zhí)行數(shù)據(jù)備份操作。雖然本發(fā)明可以適用于無數(shù)其他網(wǎng)格應(yīng)用和功能,但是,下列描述將致力于網(wǎng)格計算環(huán)境內(nèi)的數(shù)據(jù)備份操作。
網(wǎng)格應(yīng)用可以分為作業(yè),或單個的工作單元。網(wǎng)格應(yīng)用的多個作業(yè)可以在各個節(jié)點104-110中的一個或多個節(jié)點上同時執(zhí)行、串行地執(zhí)行或獨立地執(zhí)行。節(jié)點104-110中的每一個節(jié)點都可以給網(wǎng)格系統(tǒng)100分配某些性能資源,以便執(zhí)行網(wǎng)格應(yīng)用??蛻舳?04-110所提供的這些性能資源可以包括處理器能力、處理器容量、存儲容量、存儲器容量,及其他類似的資源。在一個實施例中,客戶端104-110可以給網(wǎng)格系統(tǒng)100貢獻(xiàn)出總的處理器能力、存儲容量或存儲器容量中的一定量,以便執(zhí)行網(wǎng)格應(yīng)用。
每一個客戶端104-110都可以充當(dāng)源客戶端或目標(biāo)客戶端,具體取決于客戶端104-110在特定網(wǎng)格應(yīng)用中的角色。例如,在客戶端104-110啟動網(wǎng)格應(yīng)用的情況下,客戶端104-110充當(dāng)源客戶端?;蛘?,在客戶端104-110使本地性能目標(biāo)可用于執(zhí)行遠(yuǎn)程啟動的網(wǎng)格應(yīng)用的情況下,客戶端104-110充當(dāng)目標(biāo)客戶端。例如,在網(wǎng)格備份操作的情況下,源客戶端在一個或多個目標(biāo)客戶端上可以具有備份數(shù)據(jù)文件,而目標(biāo)客戶端分配一些可用的存儲空間給網(wǎng)格系統(tǒng)100,以便執(zhí)行這樣的備份網(wǎng)格應(yīng)用。
圖2描述了圖1的網(wǎng)格系統(tǒng)100內(nèi)的客戶端存儲器200的一個實施例。在所顯示的實施例中,特定客戶端104-110上的存儲器200可以包括已使用的存儲器202和空閑存儲器204。已使用的存儲器202是存儲數(shù)據(jù)的電子存儲空間,包括操作系統(tǒng)文件206、應(yīng)用程序文件208、數(shù)據(jù)文件210等等??臻e存儲器204是沒有專門用于客戶端104-110的操作或存儲操作的電子存儲空間。
在一個實施例中,空閑存儲器204可以包括溢出存儲器212、可用的存儲器214以及已分配的存儲器216。溢出存儲器212可以是為應(yīng)用程序的執(zhí)行而預(yù)留的存儲空間,類似于WindowsTM操作系統(tǒng)中的頁文件。已分配的存儲器216是可以專用于網(wǎng)格系統(tǒng)100以便執(zhí)行網(wǎng)格應(yīng)用和存儲網(wǎng)格數(shù)據(jù)的存儲空間。下面將在隨后的說明中詳細(xì)地討論已分配的存儲器216。可用的存儲器214可以是當(dāng)前沒有被用作溢出存儲器212或已分配的存儲器216并被預(yù)留供客戶端104-110未來使用的存儲空間。
雖然圖2描述了已使用的存儲器202和空閑存儲器204的特定類型,但是,網(wǎng)格系統(tǒng)100上的特定客戶端104-110的存儲器200可以在大小、容量、用途、可用性,特別是專用于網(wǎng)格系統(tǒng)100的已分配的存儲器216的總量方面有所不同。特定客戶端104-110的存儲器200也可以在已使用的存儲器202和空閑存儲器204的數(shù)量和分配方面以及其細(xì)分方面隨著時間的推移而變化。在一個實施例中,已分配的存儲器可以是相對于客戶端104-110上的總存儲量200的最小值?;蛘撸逊峙涞拇鎯ζ?16也可以包括除溢出存儲器212之外的空閑存儲器204的全部,在這種情況下,客戶端104-110就不會有如上文所定義的可用的存儲器214。
圖3描述了網(wǎng)格系統(tǒng)300的另一個實施例,它在某些方面類似于圖1的網(wǎng)格系統(tǒng)100。所顯示的網(wǎng)格系統(tǒng)300在因特網(wǎng)302上運(yùn)行,因特網(wǎng)302在網(wǎng)格系統(tǒng)300的各個其他組件之間提供通信信道。所顯示的網(wǎng)格系統(tǒng)300還包括網(wǎng)絡(luò)系統(tǒng)304、306,它們類似于圖1所示的網(wǎng)格系統(tǒng)100,并構(gòu)成了圖3的網(wǎng)格系統(tǒng)300內(nèi)的子系統(tǒng)。此外,網(wǎng)格系統(tǒng)300還可以包括直接連接到因特網(wǎng)的其他客戶端308、310,因為它們不是局域網(wǎng)的一部分。
網(wǎng)格系統(tǒng)300還可以包括在此說明書中稍后比較詳細(xì)地描述的預(yù)訂管理器312。預(yù)訂管理器312也可以連接到網(wǎng)格系統(tǒng)300內(nèi)的其他網(wǎng)絡(luò)系統(tǒng)304、306。在另一個實施例中,網(wǎng)格系統(tǒng)300可以具有多個預(yù)訂管理器312,每一個預(yù)訂管理器都獨立地管理所定義的預(yù)訂組。
如上所述,可以使用其他類似的網(wǎng)格系統(tǒng)配置代替或補(bǔ)充圖1和3中所描述的網(wǎng)格系統(tǒng)100、300。在下面的描述中,對網(wǎng)格系統(tǒng)100、300中的任何一個的引用都可以可互換地表示網(wǎng)格系統(tǒng)100、300中的任何一個或兩者,除非明確地指出專指網(wǎng)格系統(tǒng)100、300中的某一個。
圖4描述了全局序列管理器400的一個實施例。在一個實施例中,所顯示的全局序列管理器400被配置為對網(wǎng)格系統(tǒng)100上的數(shù)據(jù)備份操作進(jìn)行管理。在一個實施例中,全局序列管理器400包括中央處理單元(CPU)402、本地存儲設(shè)備404、用戶界面406、網(wǎng)絡(luò)接口408、存儲器410以及全局序列管理設(shè)備412。CPU 402一般地被配置為在全局序列管理器400內(nèi)執(zhí)行操作。在一個實施例中,用戶界面406被配置為允許用戶與全局序列管理器400進(jìn)行交互,包括允許用戶輸入數(shù)據(jù)和命令并將輸出數(shù)據(jù)傳遞給用戶。在一個實施例中,網(wǎng)絡(luò)接口408被配置為方便全局序列管理器400通過格型網(wǎng)絡(luò)100的通信信道112的網(wǎng)絡(luò)通信。
在一個實施例中,本地存儲器410被配置為存儲幾個可以結(jié)合網(wǎng)格備份操作使用的幾個數(shù)據(jù)和元數(shù)據(jù)文件。在另一個實施例中,這些數(shù)據(jù)和元數(shù)據(jù)文件中的某些或全部可以在本地存儲設(shè)備404中進(jìn)行復(fù)制。在另一個實施例中,這些數(shù)據(jù)和元數(shù)據(jù)文件中的一個或全部可以排他地存儲在本地存儲設(shè)備404而不是存儲在存儲器410中。在另一個實施例中,這些數(shù)據(jù)和元數(shù)據(jù)文件中的一個或全部可以存儲在網(wǎng)格系統(tǒng)100上的分布式存儲器上。雖然本說明書引用了“文件”,但是,可以理解本發(fā)明以與使用其他電子存儲器和存儲結(jié)構(gòu)基本上相同的方式進(jìn)行操作。這里對數(shù)據(jù)文件或元數(shù)據(jù)文件的引用被理解為等效地引用其他這樣的電子存儲器和存儲結(jié)構(gòu)。
具體來說,存儲器410可以存儲全局客戶端配置文件414、源客戶端配置文件416、源數(shù)據(jù)記錄418、目標(biāo)數(shù)據(jù)記錄420、數(shù)據(jù)匯編記錄422以及全局備份日志424。在一個實施例中,全局客戶端配置文件414被配置為存儲網(wǎng)絡(luò)配置文件,也可以存儲默認(rèn)客戶端配置文件。下面將參考圖6比較詳細(xì)地討論全局客戶端配置文件414。在一個實施例中,源客戶端配置文件416被配置為存儲唯一客戶端配置文件,而在另一個實施例中,可以存儲數(shù)據(jù)單元配置文件。下面將參考圖7比較詳細(xì)地討論源客戶端配置文件216。
在一個實施例中,源數(shù)據(jù)記錄418被配置為存儲關(guān)于一個或多個目標(biāo)客戶端上存儲的備份數(shù)據(jù)文件或其某些部分的元數(shù)據(jù)。類似地,在一個實施例中,目標(biāo)數(shù)據(jù)記錄420被配置為存儲關(guān)于一個或多個目標(biāo)客戶端上存儲的備份數(shù)據(jù)文件或其某些部分的元數(shù)據(jù)。單個文件的源數(shù)據(jù)記錄418和目標(biāo)數(shù)據(jù)記錄420,或其一部分,可以包含有關(guān)備份文件的類似的或部分地復(fù)制的元數(shù)據(jù)。下面將分別參考圖8和9比較詳細(xì)地討論源數(shù)據(jù)記錄418和目標(biāo)數(shù)據(jù)記錄420。
在一個實施例中,數(shù)據(jù)匯編記錄422被配置為存儲有關(guān)匯編多個數(shù)據(jù)包應(yīng)該遵循的順序的信息,所述多個數(shù)據(jù)包屬于單個備份文件的信息,以便恢復(fù)的備份文件準(zhǔn)確地反映存儲在最初備份的文件中的信息。下面將參考圖10比較詳細(xì)地討論數(shù)據(jù)匯編記錄422。在一個實施例中,全局備份日志424可以被配置為存儲在某一時間段內(nèi)記錄一個或多個全局備份網(wǎng)格應(yīng)用操作的備份歷史。因此,全局備份日志424可以有助于查看備份歷史,并可能恢復(fù)在執(zhí)行給定的備份網(wǎng)格應(yīng)用之前存在的網(wǎng)格或客戶端狀態(tài)。
在一個實施例中,全局序列管理設(shè)備412被配置為方便跨網(wǎng)格系統(tǒng)100的數(shù)據(jù)備份操作。全局序列管理設(shè)備412可以對由特定源客戶端所啟動的備份和恢復(fù)操作的執(zhí)行進(jìn)行管理。所顯示的全局序列管理設(shè)備412包括客戶端請求模塊426、序列模塊428、全局配置文件管理模塊430、數(shù)據(jù)包存儲模塊432、數(shù)據(jù)包檢索模塊434、數(shù)據(jù)匯編模塊436、壓縮模塊438、加密模塊440以及冗余模塊442。
在一個實施例中,客戶端請求模塊426被配置為處理來自源客戶端的對一個或多個文件進(jìn)行備份的請求??蛻舳苏埱竽K426可以進(jìn)一步被配置為從源客戶端接收待備份的數(shù)據(jù)。在一個實施例中,序列模塊428可以被配置為生成不透明序列鍵,該鍵識別在其上面可以存儲備份數(shù)據(jù)的一個或多個目標(biāo)客戶端。不透明序列鍵可以專門存儲在全局序列管理器上,并可通過全局序列管理器進(jìn)行訪問,以便為備份數(shù)據(jù)提供一個安全級別。序列鍵的不透明字符表示其唯一性、其生成的排他性、可訪問性和重復(fù)性。
例如,全局序列管理器可以通過在多個目標(biāo)客戶端中的每一個目標(biāo)客戶端上存儲數(shù)據(jù)包或數(shù)據(jù)的某些部分,在多個目標(biāo)客戶端上備份來自源客戶端的數(shù)據(jù)。由于來自源客戶端的部分?jǐn)?shù)據(jù)可以存儲在遠(yuǎn)程目標(biāo)客戶端的本地存儲設(shè)備中,可以通過以只有全局序列管理器400知道的順序?qū)浞輸?shù)據(jù)數(shù)據(jù)包存儲在多個不同的目標(biāo)客戶端上,提供數(shù)據(jù)安全性的一個級別。因此,即使可以在特定目標(biāo)客戶端上訪問一部分?jǐn)?shù)據(jù)(雖然也可以對備份數(shù)據(jù)進(jìn)行加密,并添加第二層安全),基本上或完全重新組合最初存儲在發(fā)出請求的源客戶端上的數(shù)據(jù)是非常困難的,甚至無法實現(xiàn)。由此可見,隨著存儲在不同的目標(biāo)客戶端上的這些數(shù)據(jù)的大小變小,數(shù)據(jù)安全性級別可以提高。
在一個實施例中,全局配置文件管理模塊430可以方便默認(rèn)和唯一客戶端配置文件的管理,包括網(wǎng)格系統(tǒng)100內(nèi)連接的單個網(wǎng)絡(luò)的配置文件。在一個實施例中,全局配置文件管理模塊430可以允許用戶定義分別參考圖6和7比較詳細(xì)地在上文描述和討論的全局客戶端配置文件414和源客戶端配置文件416。
在一個實施例中,數(shù)據(jù)包存儲模塊432被配置為在網(wǎng)格系統(tǒng)100中的一個或多個目標(biāo)客戶端上存儲來自源客戶端的備份數(shù)據(jù)。在一個實施例中,數(shù)據(jù)包存儲模塊432可以在將備份數(shù)據(jù)存儲在目標(biāo)客戶端上之前將備份數(shù)據(jù)細(xì)分為相等或不均勻的大小的數(shù)據(jù)包。在再一個實施例中,數(shù)據(jù)包存儲模塊432可以根據(jù)由序列模塊428所生成的不透明序列鍵在一個或多個目標(biāo)客戶端上存儲備份數(shù)據(jù)數(shù)據(jù)包。在再一個實施例中,數(shù)據(jù)包存儲模塊432可以在允許備份數(shù)據(jù)被壓縮模塊438壓縮,通過加密模塊440加密,或通過冗余模塊442復(fù)制之后,在目標(biāo)客戶端上存儲備份數(shù)據(jù)。對于復(fù)制的數(shù)據(jù),數(shù)據(jù)包存儲模塊432也可以根據(jù)不透明的序列鍵來存儲復(fù)制的備份數(shù)據(jù)。在一個實施例中,數(shù)據(jù)包存儲模塊432也可以被配置為創(chuàng)建或存儲一個或多個源數(shù)據(jù)記錄418、目標(biāo)數(shù)據(jù)記錄420以及數(shù)據(jù)匯編記錄422。
在一個實施例中,數(shù)據(jù)包檢索模塊434可以被配置為從在其上面可以存儲數(shù)據(jù)包的目標(biāo)客戶端中檢索備份數(shù)據(jù)數(shù)據(jù)包或其副本。在一個實施例中,數(shù)據(jù)包檢索模塊434可以使用與數(shù)據(jù)包存儲模塊432所使用的相同或類似的不透明序列鍵,以預(yù)先將備份數(shù)據(jù)數(shù)據(jù)包存儲在目標(biāo)客戶端上。
在一個實施例中,數(shù)據(jù)匯編模塊436可以被配置為在細(xì)分之前將多個備份數(shù)據(jù)數(shù)據(jù)包匯編為類似于(即使不是相同)原始數(shù)據(jù)文件的格式的可理解的格式。在一個實施例中,數(shù)據(jù)匯編模塊436可以根據(jù)大致在原始數(shù)據(jù)被細(xì)分為數(shù)據(jù)包并存儲在目標(biāo)客戶端上的時候創(chuàng)建的數(shù)據(jù)匯編記錄422,匯編恢復(fù)的數(shù)據(jù)。
如上文所提及的,壓縮模塊438、加密模塊440以及冗余模塊442中每一個模塊都可以在數(shù)據(jù)被存儲在一個或多個目標(biāo)客戶端之前修改備份數(shù)據(jù)。同樣,壓縮模塊438、加密模塊440以及冗余模塊442可以獨立地使用或一起使用,以通過解壓、解密等等將數(shù)據(jù)恢復(fù)為其原始格式。
圖5描述了可以作為網(wǎng)格系統(tǒng)100內(nèi)的源客戶端或者目標(biāo)客戶端操作的客戶端500的一個實施例。與圖4的全局序列管理器400一樣,客戶端500包括CPU 502、本地存儲設(shè)備504、用戶界面506、網(wǎng)絡(luò)接口508和存儲器510。所顯示的客戶端500還包括本地序列管理設(shè)備512。客戶端500的CPU 502、用戶界面506和網(wǎng)絡(luò)接口508基本上類似于全局序列管理器400的CPU 402、用戶界面406和網(wǎng)絡(luò)接口508。本地存儲設(shè)備504類似于圖2的存儲器200,在一個實施例中,可以被分開,如參考圖2所描述的。例如,在一個實施例中,存儲器504可以包括已使用的存儲器202(包括操作系統(tǒng)文件206、應(yīng)用程序文件208以及數(shù)據(jù)文件210)和空閑存儲器204(包括溢出存儲器212、可用的存儲器214以及已分配的存儲器216)。
在一個實施例中,存儲器510被配置為存儲多個數(shù)據(jù)和元數(shù)據(jù)文件,這些文件可以與網(wǎng)格備份操作一起使用。在另一個實施例中,這些數(shù)據(jù)和元數(shù)據(jù)文件中的某些或全部可以在本地存儲設(shè)備504中進(jìn)行復(fù)制。在另一個實施例中,這些數(shù)據(jù)和元數(shù)據(jù)文件中的一個或全部可以排他地存儲在本地存儲設(shè)備504而不是存儲在存儲器510中。在另一個實施例中,這些數(shù)據(jù)和元數(shù)據(jù)文件中的一個或全部可以存儲在網(wǎng)格系統(tǒng)100上的分布式存儲器上。
在一個實施例中,存儲器510可以存儲全局客戶端配置文件514、源客戶端配置文件516、目標(biāo)數(shù)據(jù)記錄518、本地源日志520以及本地目標(biāo)日志522。全局客戶端配置文件514基本上類似于全局序列管理器400的全局客戶端配置文件414,在一個實施例中,一個可以是另一個的副本。同樣,源客戶端配置文件516基本上類似于全局序列管理器400的源客戶端配置文件416,在一個實施例中,一個可以是另一個的副本。類似地,目標(biāo)數(shù)據(jù)記錄518基本上類似于全局序列管理器400的目標(biāo)數(shù)據(jù)記錄420,在一個實施例中,一個可以是另一個的副本。本地源日志520和本地目標(biāo)日志522兩者都類似于全局備份日志424,但作為源客戶端或目標(biāo)客戶端,在其容量方面是客戶端500所特有的。在一個實施例中,客戶端500和全局序列管理器400可以在單個客戶端104-110中實現(xiàn)。
在一個實施例中,本地序列管理設(shè)備512被配置為啟動和方便通過網(wǎng)格系統(tǒng)100的數(shù)據(jù)備份和恢復(fù)操作。在一個特定實施例中,客戶端500可以充當(dāng)源客戶端,并啟動備份網(wǎng)格應(yīng)用,以備份最初存儲在客戶端500的本地存儲設(shè)備504上的數(shù)據(jù)文件。在全局序列管理器400的管理下,本地序列管理設(shè)備512可以將本地文件備份到網(wǎng)格系統(tǒng)100內(nèi)的一個或多個遠(yuǎn)程目標(biāo)客戶端104-110上。同樣,客戶端500可以充當(dāng)源客戶端,并啟動恢復(fù)網(wǎng)格應(yīng)用,以從相應(yīng)的目標(biāo)客戶端104-110中恢復(fù)備份數(shù)據(jù)數(shù)據(jù)包。在另一個實施例中,客戶端500可以充當(dāng)目標(biāo)客戶端,并存儲最初存儲在遠(yuǎn)端源客戶端104-110上的文件或其部分的備份副本。在這樣的情況下,客戶端500可以使用本地存儲設(shè)備504內(nèi)的已分配的存儲器216來存儲備份數(shù)據(jù)。
所顯示的本地序列管理設(shè)備512包括數(shù)據(jù)備份模塊524、數(shù)據(jù)恢復(fù)模塊526、本地配置文件管理模塊528以及唯一數(shù)據(jù)標(biāo)識符生成模塊530。在一個實施例中,數(shù)據(jù)備份模塊524被配置為向全局序列管理器400發(fā)送數(shù)據(jù)備份請求。在一個實施例中,數(shù)據(jù)備份模塊524可以請求各種類型的備份,如完全或部分備份,包括增量式備份、差異備份等等。可以響應(yīng)用戶請求通過客戶端500或響應(yīng)管理員請求通過局域網(wǎng)或網(wǎng)格系統(tǒng)100來調(diào)用備份請求。或者,可以響應(yīng)預(yù)定事件,例如每周增量備份過程,或響應(yīng)異步事件,如存儲器使用定點,來調(diào)用備份請求?;蛘?,可以響應(yīng)諸如在客戶端500上或在網(wǎng)格系統(tǒng)100內(nèi)發(fā)生的特定活動或事件之類的觸發(fā)事件,來調(diào)用備份請求。
在一個實施例中,數(shù)據(jù)恢復(fù)模塊526被配置為向全局序列管理器400發(fā)送數(shù)據(jù)恢復(fù)請求。類似于數(shù)據(jù)備份請求,可以響應(yīng)一個或多個手動或自動輸入,包括用戶請求、存儲器故障或來自本地應(yīng)用程序的請求,來調(diào)用數(shù)據(jù)恢復(fù)請求。本地配置文件管理模塊528類似于全局序列管理設(shè)備412的全局配置文件管理模塊430。在一個實施例中,本地配置文件管理模塊528創(chuàng)建或存儲本地配置文件管理模塊528所在的客戶端500所特有的唯一源客戶端配置文件516。在再一個實施例中,本地配置文件管理模塊523可以創(chuàng)建或存儲特定數(shù)據(jù)單元所特有的唯一源客戶端配置文件516。
在一個實施例中,唯一數(shù)據(jù)標(biāo)識符生成模塊530被配置為生成可以駐留在客戶端500上的每一個原始(非備份)唯一數(shù)據(jù)單元的唯一數(shù)據(jù)標(biāo)識符(UDI)。例如,UDI生成模塊530可以創(chuàng)建唯一數(shù)據(jù)標(biāo)識符(UDI)并指定給客戶端500上的每一個數(shù)據(jù)文件或其一部分。在再一個實施例中,UDI生成模塊530可以駐留在全局序列管理設(shè)備412上,并為每一個數(shù)據(jù)數(shù)據(jù)包(可以是一部分?jǐn)?shù)據(jù)文件)指定唯一數(shù)據(jù)標(biāo)識符(UDI)。唯一數(shù)據(jù)標(biāo)識符(UDI)可以用來判斷特定數(shù)據(jù)單元、文件、數(shù)據(jù)包或其一部分的備份副本是否已經(jīng)備份到特定目標(biāo)客戶端或一組目標(biāo)客戶端中。如果是,全局序列管理設(shè)備412可以通過引用現(xiàn)有的備份副本而不是創(chuàng)建同一個數(shù)據(jù)單元的重復(fù)備份副本,來節(jié)省網(wǎng)格系統(tǒng)100可用的存儲空間,即使數(shù)據(jù)單元的原始副本發(fā)自于不同的源客戶端。
在一個實施例中,本地序列管理設(shè)備512和全局序列管理設(shè)備412可以駐留在單個設(shè)備上。例如,不是較大的局域網(wǎng)的一部分的直接連接客戶端308、310可以根據(jù)需要作為客戶端500和全局序列管理器400來工作。在再一個實施例中,客戶端500可以被配置有必需的模塊,以在將數(shù)據(jù)數(shù)據(jù)包發(fā)送到全局存儲管理器400之前將其分組、壓縮、加密、復(fù)制等等。在另一個實施例中,客戶端500或全局存儲管理器400中的模塊可以分布到網(wǎng)格系統(tǒng)100中的多個設(shè)備。
圖6描述了基本上類似于圖4和5的全局客戶端配置文件414、514的全局客戶端配置文件600的一個實施例。在一個實施例中,全局客戶端配置文件600可以存儲在全局序列管理器400和客戶端500中的某一個中或兩者中。所顯示的全局客戶端配置文件600包括網(wǎng)絡(luò)標(biāo)識符字段602、網(wǎng)絡(luò)分配字段604、客戶端標(biāo)識符字段606、客戶端數(shù)據(jù)包壓縮字段608、客戶端數(shù)據(jù)包冗余字段610、客戶端數(shù)據(jù)包加密字段612、客戶端備份鄰近字段614、客戶端數(shù)據(jù)包鄰近字段616、客戶端存儲器字段618、客戶端處理器字段620、客戶端帶寬字段622、客戶端同步字段624以及客戶端自動存檔字段626。
在一個實施例中,網(wǎng)絡(luò)標(biāo)識符字段602可以被配置為存儲網(wǎng)格系統(tǒng)300內(nèi)的特定網(wǎng)絡(luò)系統(tǒng)(例如,圖3的網(wǎng)絡(luò)系統(tǒng)304)的網(wǎng)絡(luò)標(biāo)識符。在一個實施例中,網(wǎng)絡(luò)分配字段604可以存儲表示專用于網(wǎng)格系統(tǒng)300的網(wǎng)絡(luò)性能資源的網(wǎng)絡(luò)分配參數(shù)。例如,網(wǎng)絡(luò)分配字段604可以存儲表示專用于網(wǎng)格系統(tǒng)300的并可用于備份網(wǎng)格應(yīng)用的網(wǎng)絡(luò)帶寬的百分比的網(wǎng)絡(luò)帶寬分配參數(shù)。
在一個實施例中,客戶端標(biāo)識符字段606可以被配置為存儲諸如客戶端名稱或編號之類的客戶端標(biāo)識參數(shù)。在一個實施例中,連接到網(wǎng)格系統(tǒng)100的每一個客戶端500都可以通過唯一客戶端名稱來標(biāo)識。在再一個實施例中,存儲在客戶端標(biāo)識符字段606中的客戶端標(biāo)識參數(shù)可以集成存儲在網(wǎng)絡(luò)標(biāo)識符字段602中的網(wǎng)絡(luò)標(biāo)識參數(shù)。
在一個實施例中,客戶端備份鄰近參數(shù)可以表示諸如源客戶端和在其上面存儲了備份數(shù)據(jù)的目標(biāo)客戶端之間的最小或最大距離之類的地理限制。在另一個實施例中,客戶端數(shù)據(jù)包鄰近參數(shù)可以表示在其上面存儲了備份數(shù)據(jù)的多個目標(biāo)客戶端之間的最小或最大距離。因此,客戶端備份和數(shù)據(jù)包鄰近參數(shù)確保了一個數(shù)據(jù)包的可訪問性可以基本上獨立于不同的數(shù)據(jù)數(shù)據(jù)包的可訪問性。例如,源客戶端可以通過相應(yīng)地調(diào)整客戶端備份鄰近參數(shù)來請求備份數(shù)據(jù)存儲在不與源客戶端位于同一個大都會地區(qū)、州、甚至國家的目標(biāo)客戶端中。
在一個實施例中,客戶端備份和數(shù)據(jù)包鄰近參數(shù)可以表示諸如英里或公里之類的物理距離??梢允褂萌蚨ㄎ幌到y(tǒng)(GPS)坐標(biāo)來計算或估計節(jié)點104-110之間的距離。在另一個實施例中,客戶端備份和數(shù)據(jù)包鄰近參數(shù)可以表示邏輯距離。例如,客戶端備份和數(shù)據(jù)包鄰近參數(shù)可以引用源客戶端的因特網(wǎng)協(xié)議(IP)地址,并指定備份數(shù)據(jù)包存儲在不同的網(wǎng)絡(luò)或子網(wǎng)內(nèi)的目標(biāo)客戶端上。在再一個實施例中,客戶端備份和數(shù)據(jù)包鄰近參數(shù)可以包含地或?qū)iT地指定在其上面存儲或不存儲備份數(shù)據(jù)數(shù)據(jù)包的某些節(jié)點104-110。
客戶端數(shù)據(jù)包壓縮字段608、客戶端數(shù)據(jù)包冗余字段610以及客戶端數(shù)據(jù)包加密字段612可以分別被配置為存儲默認(rèn)壓縮、冗余和加密參數(shù)。這些參數(shù)可以表示,例如可以被用作默認(rèn)參數(shù)的壓縮的類型、加密的級別、或冗余的級別。類似地,客戶端備份鄰近字段614和客戶端數(shù)據(jù)包鄰近字段616可以被配置為存儲默認(rèn)鄰近參數(shù)。
在一個實施例中,客戶端存儲器字段618可以被配置為存儲定義專用于網(wǎng)格系統(tǒng)100的客戶端存儲器的默認(rèn)數(shù)量的默認(rèn)客戶端存儲分配參數(shù)。同樣,在一個實施例中,客戶端處理器字段620和客戶端帶寬字段612可以分別表示專用于網(wǎng)格系統(tǒng)100的處理器能力和帶寬的量。在一個實施例中,這些參數(shù)中的每一個參數(shù)可以通過數(shù)量編號來表示。在另一個實施例中,這些參數(shù)中的每一個參數(shù)都可以表示為可用的總?cè)萘康陌俜直取?br>
在一個實施例中,客戶端同步字段624可以被配置為存儲客戶端同步參數(shù),該參數(shù)表示全局序列管理器400上的全局客戶端配置文件600應(yīng)該與客戶端500上的全局客戶端配置文件514或源客戶端配置文件516進(jìn)行同步的頻度。在一個實施例中,此同步可以是單一步驟過程,或者可以包括將客戶端500上的全局客戶端配置文件514和全局序列管理器400上的源客戶端配置文件416進(jìn)行同步的附加步驟。優(yōu)選情況下,如果在客戶端500和全局序列管理器400兩者上都存在全局客戶端配置文件600的多個副本,則每當(dāng)需要向客戶端500和全局序列管理器400兩者提供準(zhǔn)確的信息時,都可以將這些副本同步。
在一個實施例中,客戶端自動存檔字段626被配置為存儲客戶端自動存檔參數(shù),該參數(shù)表示應(yīng)該備份客戶端數(shù)據(jù)文件的頻度。在再一個實施例中,客戶端自動存檔參數(shù)可以表示響應(yīng)給定刺激執(zhí)行的備份的類型,完全或增量式備份,或另一種備份。
圖7描述了基本上類似于圖4和5的源客戶端配置文件416、516的源客戶端配置文件700的一個實施例。在一個實施例中,源客戶端配置文件700可以存儲在全局序列管理器400和客戶端500中的某一個中或兩者中。所顯示的源客戶端配置文件700包括源客戶端標(biāo)識符字段702、唯一數(shù)據(jù)標(biāo)識符(UDI)字段704、數(shù)據(jù)源位置字段706、數(shù)據(jù)數(shù)據(jù)包壓縮字段708、數(shù)據(jù)數(shù)據(jù)包冗余字段710、數(shù)據(jù)數(shù)據(jù)包加密字段712、數(shù)據(jù)備份鄰近字段714、數(shù)據(jù)數(shù)據(jù)包鄰近字段716、數(shù)據(jù)同步字段718以及數(shù)據(jù)序列鍵字段720。
在一個實施例中,源客戶端標(biāo)識符字段702基本上類似于全局客戶端配置文件600的客戶端標(biāo)識符字段606。在一個實施例中,唯一數(shù)據(jù)標(biāo)識符(UDI)字段704可以被配置為存儲對應(yīng)于特定數(shù)據(jù)單元的唯一數(shù)據(jù)標(biāo)識符(UDI)。在一個實施例中,數(shù)據(jù)源位置字段706,可以被配置為識別由存儲在源客戶端上的UDI字段704中的唯一數(shù)據(jù)標(biāo)識符(UDI)所標(biāo)識的原始數(shù)據(jù)單元的文件位置。
數(shù)據(jù)數(shù)據(jù)包壓縮字段708、數(shù)據(jù)數(shù)據(jù)包冗余字段710以及數(shù)據(jù)數(shù)據(jù)包加密字段712類似于全局客戶端配置文件600的客戶端數(shù)據(jù)包壓縮字段608、客戶端數(shù)據(jù)包冗余字段610以及客戶端數(shù)據(jù)包加密字段612。然而,在一個實施例中,源客戶端配置文件700中的這些字段708、710、712可以存儲由唯一數(shù)據(jù)標(biāo)識符(UDI)標(biāo)識的每一個數(shù)據(jù)單元的實際參數(shù),而不是特定源客戶端上的所有數(shù)據(jù)單元的默認(rèn)參數(shù)。或者,這些字段708、710、712可以存儲所有數(shù)據(jù)單元的相同參數(shù),并可以存儲與全局客戶端配置文件600中的相應(yīng)的字段608、610、612相同的參數(shù)。類似地,數(shù)據(jù)備份鄰近字段714和數(shù)據(jù)數(shù)據(jù)包鄰近字段716類似于全局客戶端配置文件600的鄰近字段614、616。然而,源客戶端配置文件700中的這些字段714、716可以存儲每一個數(shù)據(jù)單元所特定的用戶定義的參數(shù),類似于上文所描述的字段708、710、712。
優(yōu)選情況下,如果在客戶端500和全局序列管理器400兩者上都存在源客戶端配置文件700的多個副本,則每當(dāng)需要向客戶端500和全局序列管理器400兩者提供準(zhǔn)確的信息時,都可以將這些副本同步。在一個實施例中,數(shù)據(jù)同步字段718可以被配置為存儲客戶端同步參數(shù),該參數(shù)表示全局序列管理器400上的源客戶端配置文件416應(yīng)該與客戶端500上的源客戶端配置文件516進(jìn)行同步的頻度。數(shù)據(jù)同步字段718和參數(shù)可以類似于全局客戶端配置文件600的客戶端同步字段624和參數(shù)。在適用的情況下,源客戶端配置文件700也可以與全局客戶端配置文件600的至少一部分進(jìn)行同步。
在一個實施例中,數(shù)據(jù)序列鍵字段720被配置為存儲特定數(shù)據(jù)單元的不透明序列鍵。如上所述,序列鍵可以由全局序列管理設(shè)備412的序列模塊428來生成。在另一個實施例中,數(shù)據(jù)序列鍵字段720可以存儲生成刺激鍵,而不是實際序列鍵。因此,實際序列鍵可以只存儲在全局序列管理器400中,而不是存儲在客戶端500上。在再一個實施例中,不透明序列鍵可以不必存儲在網(wǎng)格系統(tǒng)100中的任何地方,而是可以在每次需要它時,通過至少使用生成刺激鍵由序列模塊428來生成。序列模塊428也可以和生成刺激鍵一起使用唯一數(shù)據(jù)標(biāo)識符(UDI)、數(shù)據(jù)源位置參數(shù)、源客戶端標(biāo)識符參數(shù)或一個或多個其他參數(shù),以便根據(jù)需要生成序列鍵。
圖8描述了基本上類似于圖4的源數(shù)據(jù)記錄418的源數(shù)據(jù)記錄800的一個實施例。在一個實施例中,源數(shù)據(jù)記錄800僅僅存儲在全局序列管理器400中。所顯示的源數(shù)據(jù)記錄800包括唯一數(shù)據(jù)標(biāo)識符(UDI)字段802、數(shù)據(jù)包標(biāo)識符字段804和一個或多個目標(biāo)標(biāo)識符字段806-810。在一個實施例中,源數(shù)據(jù)記錄800標(biāo)識在其上面存儲了每一個備份數(shù)據(jù)數(shù)據(jù)包的各種目標(biāo)客戶端。
在一個實施例中,UDI字段802被配置為存儲備份數(shù)據(jù)文件的唯一數(shù)據(jù)標(biāo)識符(UDI)。在一個實施例中,數(shù)據(jù)包標(biāo)識符字段804被配置為存儲屬于備份數(shù)據(jù)文件的特定數(shù)據(jù)數(shù)據(jù)包的數(shù)據(jù)包標(biāo)識符。在一個實施例中,目標(biāo)標(biāo)識符字段806-810被配置為,每一個都存儲對應(yīng)于在其上面已經(jīng)存儲了備份數(shù)據(jù)數(shù)據(jù)包的副本的目標(biāo)客戶端的目標(biāo)標(biāo)識符。取決于有多少目標(biāo)客戶端可以存儲相同數(shù)據(jù)數(shù)據(jù)包的副本,可以將多個目標(biāo)標(biāo)識符806-810附加到源數(shù)據(jù)記錄800中。在替代實施例中,唯一數(shù)據(jù)標(biāo)識符(UDI)可以標(biāo)識特定數(shù)據(jù)數(shù)據(jù)包而不是整個備份數(shù)據(jù)文件。在此情況下,源數(shù)據(jù)記錄800可以使用等效的裝置來表示原始文件、數(shù)據(jù)數(shù)據(jù)包以及數(shù)據(jù)數(shù)據(jù)包的每一個備份副本的位置。
圖9描述了基本上類似于圖4和5的目標(biāo)數(shù)據(jù)記錄420、518的目標(biāo)數(shù)據(jù)記錄900的一個實施例。在一個實施例中,目標(biāo)數(shù)據(jù)記錄900可以存儲在全局序列管理器400和客戶端500中的某一個中或兩者中。所顯示的目標(biāo)數(shù)據(jù)記錄900包括唯一數(shù)據(jù)標(biāo)識符(UDI)字段902、數(shù)據(jù)包標(biāo)識符字段904、數(shù)據(jù)包大小字段906以及目標(biāo)位置字段908。
在一個實施例中,UDI字段902被配置為存儲備份數(shù)據(jù)文件的唯一數(shù)據(jù)標(biāo)識符(UDI)。在一個實施例中,數(shù)據(jù)包標(biāo)識符字段904被配置為存儲屬于備份數(shù)據(jù)文件的特定數(shù)據(jù)數(shù)據(jù)包的數(shù)據(jù)包標(biāo)識符。在一個實施例中,數(shù)據(jù)包大小字段906被配置為存儲數(shù)據(jù)包大小參數(shù)來表示數(shù)據(jù)包的大小。在一個實施例中,目標(biāo)位置字段908被配置為表示目標(biāo)客戶端上存儲了備份數(shù)據(jù)數(shù)據(jù)包的存儲位置。因此,目標(biāo)數(shù)據(jù)記錄900可以在恢復(fù)操作過程中方便源客戶端的被請求的備份數(shù)據(jù)數(shù)據(jù)包的恢復(fù)。在另一個實施例中,唯一數(shù)據(jù)標(biāo)識符(UDI)可以標(biāo)識特定數(shù)據(jù)數(shù)據(jù)包而不是整個備份數(shù)據(jù)文件。在此情況下,目標(biāo)數(shù)據(jù)記錄900可以使用等效的裝置來表示原始文件、數(shù)據(jù)數(shù)據(jù)包,數(shù)據(jù)包的大小以及備份副本在目標(biāo)客戶端上的位置。
圖10描述了基本上類似于圖4的數(shù)據(jù)匯編記錄422的數(shù)據(jù)匯編記錄1000的一個實施例。在一個實施例中,數(shù)據(jù)匯編記錄1000僅僅存儲在全局序列管理器400中。數(shù)據(jù)匯編記錄1000包括唯一數(shù)據(jù)標(biāo)識符(UDI)字段1002和一個或更多數(shù)據(jù)包字段1004a-m到1010a-m的表。
在一個實施例中,UDI字段1002被配置為存儲備份數(shù)據(jù)文件的唯一數(shù)據(jù)標(biāo)識符(UDI)。在一個實施例中,數(shù)據(jù)包標(biāo)識符字段1004a-m被配置為存儲屬于備份數(shù)據(jù)文件的第一數(shù)據(jù)數(shù)據(jù)包的重復(fù)副本的數(shù)據(jù)包標(biāo)識符。同樣,在一個實施例中,數(shù)據(jù)包標(biāo)識符字段1006a-m被配置為存儲屬于備份數(shù)據(jù)文件的第二數(shù)據(jù)數(shù)據(jù)包的副本的數(shù)據(jù)包標(biāo)識符。類似地,在一個實施例中,數(shù)據(jù)包標(biāo)識符字段1008a-m被配置為存儲屬于備份數(shù)據(jù)文件的第三數(shù)據(jù)數(shù)據(jù)包的副本的數(shù)據(jù)包標(biāo)識符。此模式持續(xù)進(jìn)行,直到數(shù)據(jù)包標(biāo)識符字段1010a-m,這些字段存儲屬于備份數(shù)據(jù)文件的最后一個數(shù)據(jù)數(shù)據(jù)包的副本的數(shù)據(jù)包標(biāo)識符。在替代實施例中,唯一數(shù)據(jù)標(biāo)識符(UDI)可以標(biāo)識特定數(shù)據(jù)數(shù)據(jù)包而不是整個備份數(shù)據(jù)文件。在此情況下,數(shù)據(jù)匯編記錄1000可以使用等效的裝置來表示原始文件和數(shù)據(jù)數(shù)據(jù)包的匯編次序。
下面的示意流程圖將一般性地闡述為邏輯流程圖。因此,所描述的順序和標(biāo)記的步驟表示所提供的過程的一個實施例。其他步驟和過程可以被認(rèn)為是在功能、邏輯或效果上類似。此外,所提供的格式和符號用于說明過程的邏輯步驟,而不對過程的范圍作出限制。同樣,雖然在流程圖中可以使用各個箭頭類型和線條類型,但是,它們不對對應(yīng)的過程的范圍作出限制。實際上,可以使用某些箭頭或其他連接符來只表示過程的邏輯流程。例如,箭頭可以表示所描述的過程的枚舉的步驟之間的未指定的持續(xù)時間的等待或監(jiān)視時間段。
圖11-12描述了可以用來在網(wǎng)格系統(tǒng)100上備份數(shù)據(jù)的備份方法1100的一個實施例。所顯示的備份方法1100被分成三個部分。每一個部分都表示可能在網(wǎng)格系統(tǒng)100的特定組件上發(fā)生的子進(jìn)程。然而,雖然備份過程1100被分成三個子進(jìn)程并被標(biāo)記為在特定組件上發(fā)生,但是此說明不意味著將子進(jìn)程限制到特定組件。事實上,備份過程1100中的許多所描述的步驟可以在網(wǎng)格系統(tǒng)100內(nèi)的各種組件上發(fā)生或由這些組件來執(zhí)行。此外,并非單個子進(jìn)程的所有步驟都必須由單個組件來執(zhí)行。同樣,單個組件也可以執(zhí)行來自不同的子進(jìn)程的各種步驟。
所顯示的備份方法1100開始1102時生成1104待備份的數(shù)據(jù)單元的唯一數(shù)據(jù)標(biāo)識符(UDI)。隨后,源客戶端向全局序列管理器發(fā)送1106備份請求。然后,全局序列管理器400接收1110來自源客戶端的備份請求。在一個實施例中,備份請求包括待備份的數(shù)據(jù)單元的唯一數(shù)據(jù)標(biāo)識符(UDI)?;蛘?,可以單獨地傳輸唯一數(shù)據(jù)標(biāo)識符(UDI)。
使用唯一數(shù)據(jù)標(biāo)識符(UDI),全局序列管理器400判斷1112在網(wǎng)格系統(tǒng)100內(nèi)是否已經(jīng)有了數(shù)據(jù)單元的備份副本。如果還沒有對應(yīng)于唯一數(shù)據(jù)標(biāo)識符(UDI)的數(shù)據(jù)的備份副本,則全局序列管理器400向源客戶端發(fā)送1202一個請求待備份的數(shù)據(jù)單元的副本的數(shù)據(jù)請求。源客戶端接收1204數(shù)據(jù)請求,隨后向全局序列管理器400發(fā)送1206數(shù)據(jù)單元的副本。在所描述的實施例中,之后,全局序列管理器400從源客戶端接收1208數(shù)據(jù)單元,將數(shù)據(jù)單元細(xì)分1210為必需的數(shù)據(jù)數(shù)據(jù)包數(shù)量,并生成1210a數(shù)據(jù)單元的唯一不透明序列鍵。
然后,全局序列管理器400根據(jù)不透明序列鍵將備份數(shù)據(jù)數(shù)據(jù)包存儲1212在目標(biāo)客戶端上。對于每一個數(shù)據(jù)單元,或其一部分,全局序列管理器400可以創(chuàng)建或修改1214相應(yīng)的配置文件600、700和與客戶端500和數(shù)據(jù)單元關(guān)聯(lián)的記錄800、900、1000。然后,全局序列管理器400向源客戶端發(fā)送1216數(shù)據(jù)備份確認(rèn),表示已經(jīng)成功地完成備份操作。源客戶端在從全局序列管理器400接收到1220數(shù)據(jù)備份確認(rèn)時,判斷1222是否有更多的數(shù)據(jù)單元需要進(jìn)行備份。如果有,則所顯示的備份方法1100返回,以生成1104下一個數(shù)據(jù)單元的新的唯一數(shù)據(jù)標(biāo)識符(UDI)。否則,所描述的備份方法1100結(jié)束。
或者,如果全局序列管理器400確定1112在網(wǎng)格系統(tǒng)100上已經(jīng)有了數(shù)據(jù)單元的備份副本,則全局序列管理器400將現(xiàn)有的備份通知1114給源客戶端。然后,所描述的備份方法1100按上文所描述的方式繼續(xù)。在再一個實施例中,全局序列管理器400可以在將現(xiàn)有備份通知1114給源客戶端之前創(chuàng)建或修改1214相應(yīng)的配置文件600、700或記錄800、900、1000。
圖13-16描述了可以用來在網(wǎng)格系統(tǒng)100上恢復(fù)數(shù)據(jù)的恢復(fù)方法1300的一個實施例。所顯示的恢復(fù)方法1300被分成三個部分。每一個部分都表示可能在網(wǎng)格系統(tǒng)100的特定組件上發(fā)生的子進(jìn)程。然而,雖然恢復(fù)過程1300被分成三個子進(jìn)程并被標(biāo)記為在特定組件上發(fā)生,但是此說明不意味著將子進(jìn)程限制到特定組件。事實上,恢復(fù)過程1300中的許多所描述的步驟可以在網(wǎng)格系統(tǒng)100內(nèi)的各種組件上發(fā)生或由這些組件來執(zhí)行。此外,并非單個子進(jìn)程的所有步驟都必須由單個組件來執(zhí)行。同樣,單個組件也可以執(zhí)行來自不同的子進(jìn)程的各種步驟。
當(dāng)源客戶端向全局序列管理器400發(fā)送1304數(shù)據(jù)恢復(fù)請求時,所顯示的恢復(fù)方法1300開始1302。在一個實施例中,恢復(fù)請求包括待恢復(fù)的備份數(shù)據(jù)單元的唯一恢復(fù)數(shù)據(jù)標(biāo)識符(UDI)?;蛘?,可以單獨地傳輸唯一數(shù)據(jù)標(biāo)識符(UDI)。全局序列管理器400在接收到1308數(shù)據(jù)恢復(fù)請求時,可以訪問1310對應(yīng)的源數(shù)據(jù)記錄800,以判斷哪些目標(biāo)客戶端存儲了被請求的數(shù)據(jù)單元的備份數(shù)據(jù)數(shù)據(jù)包。在另一個實施例中,全局序列管理器400可以訪問1310對應(yīng)的源客戶端配置文件700,并重新生成序列鍵,以判斷哪些目標(biāo)客戶端存儲了被請求的數(shù)據(jù)單元的備份數(shù)據(jù)數(shù)據(jù)包。
然后,全局序列管理器400向相應(yīng)的目標(biāo)客戶端發(fā)送1312數(shù)據(jù)包請求。如上文所討論的,每一個數(shù)據(jù)數(shù)據(jù)包的重復(fù)的副本可以存儲在一個或多個目標(biāo)客戶端上。在所描述的實施例中,每一個目標(biāo)客戶端都接收1318來自全局序列管理器400的數(shù)據(jù)包請求。假定網(wǎng)格系統(tǒng)100可以包括多個獨立地管理的網(wǎng)絡(luò)和客戶端,某些目標(biāo)客戶端可以是脫機(jī)的,否則在請求時不可用。如果目標(biāo)客戶端在請求時可用,則目標(biāo)客戶端判斷1402被請求的數(shù)據(jù)包是否可用。某些可用的目標(biāo)客戶端可以回收以前被用作網(wǎng)格資源的存儲空間,從而銷毀或制作否則會對網(wǎng)格系統(tǒng)100不可用的備份數(shù)據(jù)數(shù)據(jù)包的副本。
如果可用的目標(biāo)客戶端判斷1402被請求的數(shù)據(jù)包不可用,則目標(biāo)客戶端將丟失的數(shù)據(jù)包通知1404給全局序列管理器400。響應(yīng)丟失的數(shù)據(jù)包,全局序列管理器400可以判斷1408是否有另一個具有被請求的數(shù)據(jù)數(shù)據(jù)包的副本的目標(biāo)客戶端可用。如果有另一個目標(biāo)客戶端可用,則全局序列管理器400可以向可用的目標(biāo)客戶端發(fā)送1312數(shù)據(jù)包請求,所描述的恢復(fù)方法1300按上文所描述的方式繼續(xù)。如果可用的目標(biāo)客戶端判斷1402被請求的數(shù)據(jù)包可用,則目標(biāo)客戶端向全局序列管理器400發(fā)送1410被請求的數(shù)據(jù)包。然后,全局序列管理器400接收1414來自可用的目標(biāo)客戶端的被請求的數(shù)據(jù)包。
無論特定數(shù)據(jù)數(shù)據(jù)包是否可用,全局序列管理器400判斷1502是否需要更多數(shù)據(jù)包并可用于被請求的數(shù)據(jù)單元。如果需要更多數(shù)據(jù)包,則全局序列管理器400向?qū)?yīng)的目標(biāo)客戶端發(fā)送1312必需的數(shù)據(jù)包請求。然后,所顯示的恢復(fù)方法1300按上文所描述的方式繼續(xù)。
一旦從目標(biāo)客戶端中請求并接收了所有數(shù)據(jù)數(shù)據(jù)包(如果可用的話),則全局序列管理器可以判斷1504是否有被請求的數(shù)據(jù)包丟失、損壞或以別的方式不可用。在一個實施例中,全局序列管理器400可以引用存儲在配置文件600、700中的客戶端數(shù)據(jù)包冗余參數(shù)和數(shù)據(jù)數(shù)據(jù)包冗余參數(shù),以訪問丟失的數(shù)據(jù)包的冗余副本。
然后,全局序列管理器400判斷1506是否已經(jīng)檢索到足夠數(shù)量的數(shù)據(jù)包以匯編所有或部分原始數(shù)據(jù)。如果有足夠的數(shù)據(jù)包可用,則在一個實施例中,全局序列管理器400使用數(shù)據(jù)匯編記錄1000來匯編1508數(shù)據(jù),并向源客戶端發(fā)送1510數(shù)據(jù)。然后,源客戶端從全局序列管理器400中接收1514部分地或完全匯編的數(shù)據(jù)。
如果在備份和恢復(fù)操作過程中某些數(shù)據(jù)丟失或以別的方式不可用,則源客戶端判斷1602是否完全地或充分地重建了數(shù)據(jù)。如果已經(jīng)充分地重建了數(shù)據(jù),則源客戶端判斷1612是否有更多數(shù)據(jù)單元需要恢復(fù),如果有,則返回,以向全局序列管理器400發(fā)送1304后續(xù)數(shù)據(jù)恢復(fù)請求。然后,所描述的恢復(fù)方法1300按上文所描述的方式繼續(xù)。
如果源客戶端判斷1602沒有充分地重建被請求的數(shù)據(jù),則源客戶端反復(fù)地從全局序列管理器400請求1604剩余的數(shù)據(jù)數(shù)據(jù)包。全局序列管理器400判斷1608是否已經(jīng)窮盡了所有恢復(fù)嘗試,如果沒有,則在向目標(biāo)客戶端發(fā)送1312a隨后的數(shù)據(jù)包請求之前等待1610預(yù)先確定的延遲期。或者,全局序列管理器可以等待1610隨機(jī)延遲期,而不是預(yù)先確定的延遲期。例如,在一個實施例中,全局序列管理器400可以等待24小時。在另一個實施例中,全局序列管理器400可以在發(fā)送1312隨后的數(shù)據(jù)包請求之前等到下一個工作日的開始。以前不可用的目標(biāo)客戶端可以在此延遲時間內(nèi)對網(wǎng)格系統(tǒng)100可用。
然后,所顯示的恢復(fù)方法1300按上文所描述的方式繼續(xù),直到被請求的數(shù)據(jù)單元完成或直到窮盡了所有恢復(fù)嘗試。如果所有數(shù)據(jù)恢復(fù)嘗試都已經(jīng)窮盡,而數(shù)據(jù)沒有完成,則全局序列管理器400可以將丟失的數(shù)據(jù)和窮盡的嘗試通知1614給源客戶端。源客戶端從全局序列管理器400接收1618有關(guān)丟失的數(shù)據(jù)的通知和所描述的恢復(fù)方法1300,然后結(jié)束1620。
和上文所討論的備份方法1100和恢復(fù)方法1300一起,網(wǎng)格系統(tǒng)100可以包括對客戶端預(yù)訂程序進(jìn)行管理所需的組件,客戶端預(yù)訂程序允許客戶端104-110為對網(wǎng)格系統(tǒng)100的備份和恢復(fù)功能進(jìn)行的訪問進(jìn)行支付。在一個實施例中,圖3的預(yù)訂管理器312可以被配置為對這種客戶端預(yù)訂系統(tǒng)進(jìn)行管理??蛻舳祟A(yù)訂系統(tǒng)可以允許很多源和目標(biāo)客戶端。每一個客戶端的預(yù)訂費(fèi)可以取決于要存儲的數(shù)據(jù)量,源客戶端所需的備份的可靠性和可訪問性,專用于網(wǎng)格系統(tǒng)的本地客戶端性能資源的量以及分配的資源隨著時間經(jīng)過的一致性。影響網(wǎng)格系統(tǒng)100的性能的其他因數(shù)也可以用來判斷特定客戶端104-110的費(fèi)用。
進(jìn)一步討論預(yù)訂管理器312,在一個實施例中,預(yù)訂管理器312是這樣的一種設(shè)備用于管理在確定用戶費(fèi)用的過程中收集、使用或產(chǎn)生的信息,控制服務(wù)級別,控制服務(wù)的使用,控制性能資源等等提供給網(wǎng)格應(yīng)用,或從客戶、企業(yè)等等或向客戶、企業(yè)提供性能資源等等的情況。
在一個實施例中,預(yù)訂管理器312至少可以有兩個用途。首先,它可以基于用戶使用網(wǎng)格資源的情況和/或用戶向網(wǎng)格提供性能資源的情況,確定向用戶征收的使用費(fèi)。其次,預(yù)訂管理器312可以控制對網(wǎng)格系統(tǒng)100和網(wǎng)格資源的訪問、使用、使用級別等等。預(yù)訂管理器312還可以基于這里所描述的自治策略控制客戶端性能資源向網(wǎng)格系統(tǒng)100的分配、提供的級別等等。
為了管理各種客戶端400向網(wǎng)格系統(tǒng)100的預(yù)訂,預(yù)訂管理器312可以創(chuàng)建和存儲客戶端配置文件、全局配置文件和客戶配置文件。在一個實施例中,預(yù)訂管理器312的全局配置文件可以包含有關(guān)性能資源分配和使用情況的信息,才能確定特定客戶的使用費(fèi)。在一個實施例中,預(yù)訂管理器312的全局配置文件可以對所有性能資源和使用網(wǎng)格系統(tǒng)100的客戶端400通用。
在一個實施例中,客戶配置文件包含將全局配置文件與特定客戶關(guān)聯(lián)的信息??蛻襞渲梦募梢允占嘘P(guān)特定客戶的信息,包括有關(guān)客戶端性能資源分配和本地調(diào)用的網(wǎng)格應(yīng)用的信息??蛻襞渲梦募梢杂脕泶_定向客戶收取的總費(fèi)用。同樣,在一個實施例中,預(yù)訂管理器312中的客戶端配置文件可以包含對應(yīng)于特定客戶端400的類似的信息。
在一個實施例中,預(yù)訂管理器312基于客戶端400為網(wǎng)格應(yīng)用使用網(wǎng)格系統(tǒng)100的瞬時、平均、最大、最小、計劃、預(yù)留、峰值等等使用情況中的一個或多個確定使用費(fèi)。在另一個實施例中,預(yù)訂管理器312可以跟蹤客戶端400向網(wǎng)格系統(tǒng)100分配客戶端性能資源的情況。預(yù)訂管理器312可以跟蹤提供的級別的瞬時值、平均值、最大值、最小值、計劃值、預(yù)留值、峰值等等中的一個或多個。在另一個實施例中,預(yù)訂管理器312跟蹤上面所列的因素中的一個或多個的組合。
在另一個實施例中,預(yù)訂管理器312可以監(jiān)視和控制全局自治管理器300或客戶端400執(zhí)行自治策略的情況。例如,一家企業(yè)可以為備份檢索網(wǎng)格應(yīng)用預(yù)訂網(wǎng)格系統(tǒng)100。為降低成本,該企業(yè)可以決定從所連接的客戶端400中的每一個客戶端向網(wǎng)格系統(tǒng)100提供性能資源。如果用戶決定回收特定客戶端所分配的性能資源,并將提供的資源降為零,預(yù)訂管理器312可以改變客戶端配置文件和客戶配置文件以確定相應(yīng)的費(fèi)用。根據(jù)預(yù)訂管理器312的全局配置文件,網(wǎng)格系統(tǒng)100的全局自治管理器300可以為性能資源分配維持上下閾值,從而防止所有分配的資源都被回收。
在另一個實施例中,預(yù)訂管理器312可以控制客戶端400或全局自治管理器300請求的策略更改。預(yù)訂管理器312的客戶配置文件可以防止對資源分配或?qū)蛻舳?00的網(wǎng)格應(yīng)用使用情況的某些更改。例如,客戶端配置文件可以對在預(yù)先確定的記帳時間段內(nèi)客戶可能花費(fèi)的總成本作出限制。如果超過了這些限制,預(yù)訂管理器312可以阻止客戶端400使用某些資源。
在不偏離本發(fā)明的精神或基本特征的情況下,本發(fā)明可以以其他特定形式來實現(xiàn)。所描述的實施例在各個方面都只作為說明性的,而不是限制性的。因此,本發(fā)明的范圍不是由前述的說明書來指出,而是由所附的權(quán)利要求來指出。權(quán)利要求的等效內(nèi)容的含義和范圍內(nèi)的所有變化都將包括在它們的范圍內(nèi)。
權(quán)利要求
1.一種用于跨多個客戶端進(jìn)行數(shù)據(jù)備份的序列管理設(shè)備,該設(shè)備包括被配置為從源客戶端接收待備份的數(shù)據(jù)的客戶端請求模塊;被配置為生成多個目標(biāo)客戶端的不透明序列的序列模塊;以及被配置為根據(jù)不透明序列在多個目標(biāo)客戶端上存儲數(shù)據(jù)的數(shù)據(jù)包存儲模塊。
2.根據(jù)權(quán)利要求1所述的設(shè)備,進(jìn)一步包括被配置為對元數(shù)據(jù)文件進(jìn)行管理的全局配置文件管理模塊,所述元數(shù)據(jù)文件說明在多個目標(biāo)客戶端上備份的數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的設(shè)備,其中數(shù)據(jù)文件是從包括全局客戶端配置文件、源客戶端配置文件、源數(shù)據(jù)記錄、目標(biāo)數(shù)據(jù)記錄、數(shù)據(jù)匯編記錄以及全局備份日志的組中選擇的。
4.根據(jù)權(quán)利要求2所述的設(shè)備,其中全局配置文件管理模塊被進(jìn)一步配置為使用對應(yīng)于數(shù)據(jù)的唯一數(shù)據(jù)標(biāo)識符將數(shù)據(jù)映射到源客戶端,所述唯一數(shù)據(jù)標(biāo)識符表示數(shù)據(jù)的與其他數(shù)據(jù)相比的唯一性。
5.根據(jù)權(quán)利要求4所述的設(shè)備,其中全局配置文件管理模塊被進(jìn)一步配置為將唯一數(shù)據(jù)標(biāo)識符映射到在其上面存儲了數(shù)據(jù)的相同副本的第二源客戶端。
6.根據(jù)權(quán)利要求1所述的設(shè)備,進(jìn)一步包括被配置為響應(yīng)來自源客戶端的恢復(fù)請求而檢索在多個目標(biāo)客戶端中的一個目標(biāo)客戶端上備份的至少一部分?jǐn)?shù)據(jù)的數(shù)據(jù)包檢索模塊。
7.根據(jù)權(quán)利要求6所述的設(shè)備,其中數(shù)據(jù)包檢索模塊被進(jìn)一步配置為根據(jù)由序列模塊所生成的不透明序列來檢索在多個目標(biāo)客戶端中的一個目標(biāo)客戶端上備份的至少一部分?jǐn)?shù)據(jù)。
8.根據(jù)權(quán)利要求1所述的設(shè)備,進(jìn)一步包括被配置為響應(yīng)來自源客戶端的恢復(fù)請求,在檢索在多個目標(biāo)客戶端中的一個目標(biāo)客戶端上備份的至少一部分?jǐn)?shù)據(jù)之后,以可理解的格式匯編數(shù)據(jù)的數(shù)據(jù)匯編模塊。
9.根據(jù)權(quán)利要求1所述的設(shè)備,其中數(shù)據(jù)包存儲模塊被進(jìn)一步配置為將數(shù)據(jù)分為多個數(shù)據(jù)數(shù)據(jù)包,并將數(shù)據(jù)數(shù)據(jù)包存儲在多個目標(biāo)客戶端上。
10.根據(jù)權(quán)利要求9所述的設(shè)備,進(jìn)一步包括被配置為在將數(shù)據(jù)包存儲在多個目標(biāo)客戶端上之前壓縮數(shù)據(jù)數(shù)據(jù)包內(nèi)的數(shù)據(jù)的壓縮模塊。
11.根據(jù)權(quán)利要求9所述的設(shè)備,進(jìn)一步包括被配置為在將數(shù)據(jù)包存儲在多個目標(biāo)客戶端上之前加密數(shù)據(jù)數(shù)據(jù)包內(nèi)的數(shù)據(jù)的加密模塊。
12.根據(jù)權(quán)利要求9所述的設(shè)備,進(jìn)一步包括被配置為在將數(shù)據(jù)包存儲在多個目標(biāo)客戶端上之前創(chuàng)建至少一個數(shù)據(jù)數(shù)據(jù)包的冗余數(shù)據(jù)數(shù)據(jù)包的冗余模塊。
13.根據(jù)權(quán)利要求12所述的設(shè)備,其中數(shù)據(jù)包存儲模塊被進(jìn)一步配置為根據(jù)不透明序列將冗余數(shù)據(jù)數(shù)據(jù)包存儲在多個目標(biāo)客戶端中的一個目標(biāo)客戶端上。
14.根據(jù)權(quán)利要求9所述的設(shè)備,其中數(shù)據(jù)包存儲模塊根據(jù)數(shù)據(jù)包鄰近參數(shù)將數(shù)據(jù)包存儲在多個目標(biāo)客戶端上,所述數(shù)據(jù)包鄰近參數(shù)定義第一目標(biāo)客戶端和第二目標(biāo)客戶端之間的最小和最大距離中的至少一個。
15.根據(jù)權(quán)利要求1所述的設(shè)備,其中數(shù)據(jù)包存儲模塊根據(jù)備份鄰近參數(shù)將數(shù)據(jù)存儲在多個目標(biāo)客戶端上,備份鄰近參數(shù)定義源客戶端和多個目標(biāo)客戶端中的每一個目標(biāo)客戶端之間的最小和最大距離中的至少一個。
16.一種用于跨多個客戶端進(jìn)行數(shù)據(jù)備份的方法,該方法包括從源客戶端接收待備份的數(shù)據(jù);生成多個目標(biāo)客戶端的不透明序列;以及根據(jù)不透明序列在多個目標(biāo)客戶端上存儲數(shù)據(jù)。
17.根據(jù)權(quán)利要求16所述的方法,進(jìn)一步包括對說明在多個目標(biāo)客戶端上備份的數(shù)據(jù)的元數(shù)據(jù)文件進(jìn)行管理,所述數(shù)據(jù)文件包括全局客戶端配置文件、源客戶端配置文件、源數(shù)據(jù)記錄、目標(biāo)數(shù)據(jù)記錄、數(shù)據(jù)匯編記錄以及全局備份日志中的一個。
18.根據(jù)權(quán)利要求16所述的方法,進(jìn)一步包括將數(shù)據(jù)分為多個數(shù)據(jù)數(shù)據(jù)包,并將數(shù)據(jù)數(shù)據(jù)包存儲在多個目標(biāo)客戶端上。
19.根據(jù)權(quán)利要求16所述的方法,進(jìn)一步包括使用對應(yīng)于數(shù)據(jù)的唯一數(shù)據(jù)標(biāo)識符將數(shù)據(jù)映射到源客戶端,所述唯一數(shù)據(jù)標(biāo)識符表示數(shù)據(jù)的與其他數(shù)據(jù)相比的唯一性。
20.根據(jù)權(quán)利要求16所述的方法,進(jìn)一步包括對源客戶端和多個目標(biāo)客戶端的合同預(yù)訂進(jìn)行管理。
21.根據(jù)權(quán)利要求16所述的方法,進(jìn)一步包括跟蹤資源分配參數(shù),其中資源分配參數(shù)是源存儲分配參數(shù)、目標(biāo)存儲分配參數(shù)、網(wǎng)絡(luò)分配參數(shù)、客戶端處理器參數(shù)以及客戶端帶寬參數(shù)中的一個。
22.一種計算機(jī)可讀取的存儲介質(zhì),包括被配置為執(zhí)行用于跨多個客戶端進(jìn)行數(shù)據(jù)備份的方法的計算機(jī)可讀代碼,該方法包括從源客戶端接收待備份的數(shù)據(jù);生成多個目標(biāo)客戶端的不透明序列;以及根據(jù)不透明序列在多個目標(biāo)客戶端上存儲數(shù)據(jù)。
23.根據(jù)權(quán)利要求22所述的計算機(jī)可讀取的存儲介質(zhì),其中,該方法進(jìn)一步包括對說明在多個目標(biāo)客戶端上備份的數(shù)據(jù)的元數(shù)據(jù)文件進(jìn)行管理,所述數(shù)據(jù)文件包括全局客戶端配置文件、源客戶端配置文件、源數(shù)據(jù)記錄、目標(biāo)數(shù)據(jù)記錄、數(shù)據(jù)匯編記錄以及全局備份日志中的一個。
24.根據(jù)權(quán)利要求22所述的計算機(jī)可讀取的存儲介質(zhì),其中所述方法進(jìn)一步包括使用對應(yīng)于數(shù)據(jù)的唯一數(shù)據(jù)標(biāo)識符將數(shù)據(jù)映射到源客戶端,所述唯一數(shù)據(jù)標(biāo)識符表示數(shù)據(jù)的與其他數(shù)據(jù)相比的唯一性。
25.根據(jù)權(quán)利要求22所述的計算機(jī)可讀取的存儲介質(zhì),其中所述方法進(jìn)一步包括響應(yīng)來自源客戶端的恢復(fù)請求,根據(jù)不透明序列,檢索在多個目標(biāo)客戶端中的一個目標(biāo)客戶端上備份的至少一部分?jǐn)?shù)據(jù)。
26.根據(jù)權(quán)利要求22所述的計算機(jī)可讀取的存儲介質(zhì),其中所述方法進(jìn)一步包括,響應(yīng)接收來自源客戶端的恢復(fù)請求,并在檢索在多個目標(biāo)客戶端中的一個目標(biāo)客戶端上備份的至少一部分?jǐn)?shù)據(jù)之后,以可理解的格式匯編數(shù)據(jù)。
27.根據(jù)權(quán)利要求22所述的計算機(jī)可讀取的存儲介質(zhì),其中所述方法進(jìn)一步包括將數(shù)據(jù)分為多個數(shù)據(jù)數(shù)據(jù)包,并將數(shù)據(jù)數(shù)據(jù)包存儲在多個目標(biāo)客戶端上。
28.根據(jù)權(quán)利要求22所述的計算機(jī)可讀取的存儲介質(zhì),其中所述方法進(jìn)一步包括根據(jù)數(shù)據(jù)包鄰近參數(shù)將數(shù)據(jù)數(shù)據(jù)包存儲在多個目標(biāo)客戶端上,所述數(shù)據(jù)包鄰近參數(shù)定義第一目標(biāo)客戶端和第二目標(biāo)客戶端之間的最小和最大距離中的至少一個。
29.根據(jù)權(quán)利要求22所述的計算機(jī)可讀取的存儲介質(zhì),其中所述方法進(jìn)一步包括,在將數(shù)據(jù)存儲在多個目標(biāo)客戶端上之前對數(shù)據(jù)進(jìn)行修改,其中所述修改數(shù)據(jù)的過程包括對至少一部分?jǐn)?shù)據(jù)執(zhí)行壓縮、加密以及復(fù)制中的一項。
30.根據(jù)權(quán)利要求22所述的計算機(jī)可讀取的存儲介質(zhì),其中所述方法進(jìn)一步包括根據(jù)備份鄰近參數(shù)將數(shù)據(jù)存儲在多個目標(biāo)客戶端上,所述備份鄰近參數(shù)定義源客戶端和多個目標(biāo)客戶端中的每一個目標(biāo)客戶端之間的最小和最大距離中的至少一個。
全文摘要
說明了用于在網(wǎng)格計算系統(tǒng)上跨多個客戶端進(jìn)行數(shù)據(jù)備份的設(shè)備、系統(tǒng)和方法。序列管理設(shè)備包括客戶端請求模塊、序列模塊以及數(shù)據(jù)包存儲模塊。序列模塊被配置為從源客戶端接收待備份的數(shù)據(jù)。序列模塊被配置為生成不透明序列鍵,該鍵識別網(wǎng)格計算系統(tǒng)上的一個或多個目標(biāo)客戶端。數(shù)據(jù)包存儲模塊被配置為根據(jù)不透明序列鍵將來自源客戶端的數(shù)據(jù)的備份副本存儲在多個目標(biāo)客戶端上。不透明序列鍵可以由序列管理設(shè)備生成,并且只能由序列管理設(shè)備知道,以便為在多個目標(biāo)客戶端上備份的數(shù)據(jù)維護(hù)最小的安全級別。
文檔編號G06F11/14GK1894930SQ200480037303
公開日2007年1月10日 申請日期2004年11月8日 優(yōu)先權(quán)日2003年12月15日
發(fā)明者約瑟夫·J.·法圖拉 申請人:國際商業(yè)機(jī)器公司