專利名稱:用于數據遷移的裝置、系統和方法
技術領域:
本發明涉及數據管理系統,并且具體而言涉及在不同類型的數據保留系統間進行保留數據的數據遷移的系統和方法。
背景技術:
數據存儲系統提供對海量數據的成本合算的存儲和檢索。數據被放置在數據存儲媒體上,其可包括磁媒體(例如磁帶或磁盤)、光媒體(例如光帶或光盤)、電子媒體(例如PROM、EEPROM、閃速PROM、緊湊式閃存TM、智能媒體TM、存儲棒TM等等)或其他合適的媒體。
數據存儲系統通常包括用于對在指定時間(這里稱為保留時間)期間不應該被修改或刪除的數據進行存儲的數據保留系統。數據保留系統一般給放置于其中的每個數據對象分配保留時間。該數據保留系統監視保留時間并管理相應的數據對象,以防止在數據對象的保留時間過期前對數據對象的修改或刪除。創建數據、保持數據以及隨后允許對數據進行修改或刪除的過程被稱作信息生命周期,如圖1中的框圖所示。
傳統的數據管理系統10可包括客戶端系統12、文檔管理系統14、數據保留系統16和包括所保持數據20的保留數據存儲媒體18。保留數據存儲媒體18可包括磁盤驅動器、光盤(包括磁光盤、數字多用光盤、高清晰度數字多用光盤、藍光盤或全息盤)、磁帶、閃速存儲器等等。文檔管理系統14可以訪問在數據保留系統16的控制之外的附加的數據存儲媒體28。數據存儲媒體28上的數據可包括非保持數據22。
典型地,客戶端系統12生成在指定時間期間可能需要保持或不需要保持的數據和信息。示范性的客戶端系統12可以包括前端應用、自動紙張掃描解決方案、數據庫、電子文件系統或其中可進行數據生成、查看和更新的交互式網站。
客戶端系統12可以將生成的數據傳送給文檔管理系統14,該文檔管理系統14隨后可以生成在通過內容或上下文來對該數據進行搜索時使用的索引。如果從該客戶端系統12到達的數據要被保持,即要存儲一段時間而不被修改或刪除,那么文檔管理系統14將該數據傳遞給數據保留管理系統14,否則將該數據作為非保持數據22放入可選的數據存儲媒體28。
數據保留系統16為從文檔管理系統14到達的每個數據確定恰當的保留時間,并且將保留時間分配為元數據對象30內的數據的元數據。如此處所示,包括所保持數據32的保留時間元數據對象30被放入保留數據存儲媒體18。數據保留系統16防止對所保持的數據32進行修改或刪除,直到保留時間34過期為止。
一旦保留時間過期,數據保留系統16可以立即刪除相應的保持數據32或可將其狀態改變為可刪除,這允許諸如客戶端系統12這樣的外在應用刪除該保持數據32。作為替代,由于額外的保持數據20需要存儲單元,該數據保留管理系統16可以刪除可刪除的數據。一旦刪除了保持數據32,該保留時間元數據對象30就也將被刪除。
數據保留管理系統10可以利用用于為每個保持數據32建立保留時間的各種方法之一。一種方法響應于諸如系統狀態的改變之類的事件而創建保留時間。另一種觸發事件可以包括由客戶端系統12發布分配或更新保留時間的指令。作為響應,數據保留系統16將使用預期的保留時間來更新保留時間數據對象30。如果與觸發事件關聯的保留時間已經過期,則該數據保留系統16修改目標數據的保留時間值。以這種方式,客戶端系統12可以利用保留時間修改命令以刪除保持數據32或者使保持數據32為可刪除。多個調整需求可能要求不減少保留時間。因此,數據保留系統16可能不允許保留時間元數據對象30具有比請求更新之前的保留時間更短的保留時間。
有時希望將保持數據20從一個數據保留系統16傳送給另一個數據保留系統。這種數據傳送可能因為下述期望而成為必要,所述期望為對保持數據20存檔、復制保持數據20、或者將保持數據20傳送給不同類型的或更現代的數據管理系統或數據保留管理系統。圖2示出了傳統數據遷移系統100。
傳統數據遷移系統100典型地包括一個或多個交換機102,交換機102可以形成交換結構104。此處,數據遷移系統100可以利用在光纖信道(“FC”)物理層上運行的小型計算機系統接口(SCSI)協議。不過,數據遷移系統100可以利用其他協議,諸如Infiniband、FICON、TCP/IP、以太網、千兆以太網或iSCSI等。交換機102包含到一個或多個主機106和數據保留系統108、110的地址。
如此處所示,主機106利用I/O接口112連接到結構104。該I/O接口112可以包括光纖信道(“FC”)環路或者一個或多個直接連接信號線。I/O接口112將信息傳送到交換結構104并從交換結構104傳送信息。
交換結構104通過I/O接口114、116將主機106與數據保留系統108、110互連。這些I/O接口還可以包括光纖信道、Infiniband、千兆以太網、以太網、TCP/IP、iSCSI、SCSI或者一個或多個直接連接信號線。
在該傳統數據遷移系統100中,運行在主機106上的主機應用118可以啟動將保持數據120從第一數據保留系統108到第二數據保留系統110的傳送。然而,該遷移保持數據的傳統過程需要對處理和通信資源的大范圍分配。例如,主機應用118利用其主機106的處理資源以創建和發布命令,所述命令由交換結構104攜帶到第一數據保留管理系統108,用于檢索保持數據120。然后通過交換結構104將所檢索的數據120傳給主機106,在主機106中將所檢索數據120重新打包,并通過同一交換結構104將其傳輸給第二保留數據管理系統110。
因為主機應用118具有管理該數據遷移過程的任務,因此可能將大量的主機處理資源分配給該任務。類似地,因為主機應用的指令、所檢索數據和重新傳輸的數據都通過交換結構104進行傳遞,因此可能顯著地限制可用于其他過程的通信帶寬。因此,希望有一種用于在兩個或多個數據保留系統之間遷移保持數據的系統和方法,其減少對主機處理能力的利用并且減少對交換結構的通信帶寬的需求。
傳統數據遷移系統100的另一個問題是,一旦已經將保持數據120從第一數據保留系統108拷貝到第二數據保留系統110,則可能無法從第一數據保留系統108中刪除該保持數據120。該問題可能發生,因為在第一數據保留系統100內與保持數據關聯的保留時間還沒有過期。該情況需要主機應用118發布附加命令以修改駐留在第一數據保留系統108中的保持數據的保留時間。然而,可能期望防止減小保留時間。因此,希望有一種用于遷移保持數據的系統和方法,其允許在不需要來自主機應用118的附加指令的情況下刪除原始的保持數據。
如果第一數據保留系統108和第二數據保留系統110來自不同的制造商,還可能發生另一個問題。例如,如果第一數據保留系統108包括IBMDR550,則來自主機應用118的事件或命令可以通過在第一數據保留系統108內的類來創建保留時間。另外,一旦保留時間已經過期,就可以自動刪除相應的保持數據。然而,第二數據保留系統110可以是不同于IBMDR550的數據保留系統。
在該第二數據保留系統110中,其利用可對內容尋址的存儲設備,從主機應用118向第二數據保留系統110發布保留時間連同與其關聯的數據。另外,當數據的保留時間已經過期時,該第二數據保留系統110可以不自動刪除數據,而是允許響應于發布自主機應用118的命令而刪除數據。因為在這兩種類型的數據保留系統之間的差異,從第一數據保留系統108到第二數據保留系統110的保持數據的遷移可能是困難的。
相應地,典型地,所編寫的主機應用118具有足夠的復雜度,用來(a)探知第一數據保留系統的類型,(b)從第一數據保留系統108中檢索保持數據120,(c)確定與每個數據關聯的每個保留時間的余額,(d)探知第二數據保留系統的類型,(e)計算新的保留時間,(f)將保持數據拷貝到第二數據保留系統110,以及(g)用第二數據保留系統110所需的方式發布新的保留時間。由于要求第一和第二數據保留系統必須具有同步的時鐘而使得這種令人畏懼的任務變得更復雜。否則,必須由主機應用118計算出適當的時間差異。
根據前述的討論,顯然存在下述需求需要一種在沒有主機應用的監控的情況下監控和促進在不同類型的數據保留系統之間遷移保持數據的裝置、系統和方法。
發明內容
已經響應于現有技術而開發了本發明,并且具體而言,響應于在現有技術中當前可用的數據遷移系統還沒有完全解決的問題和需求而開發了本發明。因此,已經開發了本發明來提供一種用于在數據保留系統之間遷移保持數據的裝置、系統和方法,其克服了上面所討論的現有技術中的很多或所有缺點。
在一實施例中,所述裝置被配置為根據通用數據保留協議接收保持數據的拷貝,根據第二數據保留協議將保持數據的拷貝存儲到數據存儲媒體,以及根據第二數據保留協議存儲保留時間,而不依賴于外部應用。
在另一實施例中,所述裝置可被配置為確認已經發生了一次成功的數據遷移過程,其允許從第一數據保留系統中刪除原始的保持數據。
還提供了一種本發明的系統,用于根據第一數據保留協議創建來自第一數據保留系統的保持數據的拷貝,將該保持數據的拷貝傳輸給第二數據保留系統,根據第二數據保留協議在第二數據保留系統上接收該保持數據的拷貝,為生成該保持數據的拷貝的保留時間,以及在該第二數據保留系統中存儲該保持數據的拷貝和所生成的保留時間。特別地,在一實施例中,該系統可以不依賴于外部應用來執行該數據遷移過程。
該系統還可被配置為確認已發生一次成功的數據遷移過程,其允許從第一數據保留系統中刪除原始的保持數據。
還提供了一種本發明的用于遷移保持數據的方法。在所公開的實施例中,該方法基本上包括執行上面關于所希望的裝置和系統的操作所提供的功能所必需的步驟。在一實施例中,該方法包括在第一數據保留設備中創建保持數據的拷貝,根據通用協議翻譯該保持數據的拷貝,將該數據傳輸給第二數據保留設備,根據對應于第二數據保留設備的協議翻譯所接收的數據,生成與該第二數據保留系統有關的數據保留時間,以及在該第二數據保留系統中存儲該保持數據的拷貝及其保留時間。該方法還可包括對保持數據的遷移已經成功的確認。
在另一實施例中,該方法包括刪除該第一數據保留系統中的原始的保持數據。
在整個的本說明書中對特征、優點或類似文字的引用并不意味著本發明可以實現的所有這些特征和優點應該或者就出現在本發明的任意單個實施例中。相反,涉及特性和優點的文字應該理解成意味著結合實施例描述的特定特征、優點或特性被包括在本發明的至少一個實施例中。因此,在整個的本說明書中對特征和優點的討論以及類似文字可以但并不必須涉及同一實施例。
此外,所描述的本發明的特征、優點和特性可以在一個或多個實施例中以任何合適的方式來組合。本領域技術人員將認識到,可以在不具有特定實施例的一個或多個特定特征或優點的情形下實施本發明。在其他例子中,在某些實施例中可以認識到可能沒在本發明的所有實施例中提供的其他特征和優點。
根據下面的描述以及權利要求,本發明的這些特征和優點將變得更加明顯,或者可通過實施下文闡述的本發明來了解本發明的這些特征和優點。
為了易于理解本發明的優點,將通過參考附圖中示出的特定實施例來呈現出對上面已簡要描述的本發明的更為具體的描述。應當理解,這些附圖僅描述本發明的典型實施例,并且因此不能認為它們限制了本發明的范圍,將通過使用附圖并結合其他特性和細節來描述和解釋本發明,在附圖中圖1是例示了包括數據保留系統的傳統數據管理系統的方框圖;圖2是例示了包括完全不同類型的數據保留系統的傳統數據遷移系統的方框圖;圖3是例示了根據本發明一實施例的利用了通信網絡的示范性數據遷移系統的各方面的方框圖;圖4是例示了根據本發明一實施例的利用了交換結構的示范性數據遷移系統的各方面的方框圖;圖5是例示了根據本發明另一實施例的利用了數據遷移I/O接口的示范性數據遷移系統的各方面的方框圖;圖6是例示了根據本發明另一實施例的利用了通用數據遷移I/O接口的示范性數據遷移系統的各方面的方框圖;圖7是例示了根據本發明一實施例的利用了通用數據遷移管理器的示范性數據遷移系統的各方面的方框圖;圖8是例示了根據本發明一實施例的用于遷移保持數據的過程的流程圖;以及圖9是例示了根據本發明一實施例的用于遷移保持數據的過程的方框圖。
具體實施例方式
本說明書中所描述的許多功能單元已被標記為模塊,以便更加特別地強調它們的應用獨立性。例如,可以將模塊實現成包括定制VLSI電路或門陣列的硬件電路、諸如邏輯芯片的現有半導體、晶體管、或者其他分立組件。還可在諸如場可編程門陣列、可編程陣列邏輯、可編程邏輯設備等等的可編程硬件設備內實現模塊。
還可以用軟件的形式來實現模塊,用以由多種類型的處理器來執行。例如,已標識的可執行代碼模塊可以包括計算機指令的一個或多個物理或邏輯塊,該計算機指令例如可以被組織成對象、過程或函數。不過,已標識模塊的可執行代碼不需要在物理上位于一起,而是可以包括存儲在不同位置的完全不同的指令,當這些指令邏輯上連接在一起時其包括該模塊并完成該模塊的所述目的。
實際上,可執行代碼的模塊可以是單個指令或許多指令,并且甚至可以分布于若干不同的代碼段、不同的程序和若干存儲器設備。類似地,這里可以在模塊內標識和說明操作數據,并且操作數據可以以任何合適的形式來體現以及被組織在任何合適類型的數據結構內。可將操作數據收集成單個數據集,或者可以將操作數據分布在不同的位置(包括不同的存儲設備),并且操作數據可以至少部分地僅作為電子信號存在于系統或網絡上。
在整個的本說明書中對“一實施例”、“實施例”或類似的文字的引用意指在本發明的至少一個實施例中包括結合該實施例來描述的特定特征、結構或特性。因此,在整個的本說明書中所出現的短語“在一實施例中”、“在實施例中”以及類似的文字可以但不必須全部涉及同一實施例。
對承載信號的媒體的引用可以采用能夠生成信號、導致信號被生成或導致在數字處理裝置上的機器可讀指令程序的執行的任何形式。承載信號的媒體可以包括傳輸線、緊致磁盤、數字視頻盤、磁帶、Bernoulli驅動器、磁盤、穿孔卡片、閃速存儲器、集成電路或其他數字處理裝置的存儲器設備。
此外,所描述的本發明的特征、結構或特性可以在一個或更多的實施例中以任何合適的方式來組合。在后續的描述中,提供了許多具體細節(諸如編程、軟件模塊、用戶選項、網絡事務、數據庫查詢、數據庫結構、硬件模塊、硬件電路、硬件芯片等等的示例)來提供對本發明的實施例的全面理解。然而,本領域技術人員將認識到,可以在缺少一個或更多具體細節的情況下、或者通過其他方法、組件、材料等等來實施本發明。在其他情況下,未詳細示出或描述公知的結構、材料或操作,以便避免混淆本發明的各方面。
參考附圖,其中相同部分用相同的標號和符號來指定,圖3是例示了根據本發明一實施例的示范性的數據遷移系統200的方框圖。數據遷移系統200連接到局域網,其中通信網絡204包括一個或更多個傳統路由器202并且可以是基于TCP/IP協議的。傳統路由器202包含一個或更多主機206、第一數據保留系統208和第二數據保留系統210的地址。
該主機206利用主機I/O接口212與該通信網絡204相連接。該通信網絡204接著通過第一數據保留I/O接口214與該第一數據保留系統208相連接以及通過第二數據保留I/O接口216與該第二數據保留系統210相連接。這些數據保留I/O接口被該主機206用來存儲、檢索、查詢以及刪除數據對象。
該主機206上運行的主機應用218可以啟動將保持數據220從該第一數據保留系統208到該第二數據保留系統210的轉移。然而,這么做避免了對大量使用主機206的處理能力的需要以及減少了對通信網絡204的通信帶寬的使用。在優選實施例中,獨立于該主機系統206或應用218來在該第一數據保留系統208內或在該第二數據保留系統210內觸發對保持數據220的轉移的啟動。
第一和第二數據遷移管理器222、224創建和發出用于將該保持數據220從第一數據保留系統208轉移到第二數據保留系統210的命令。第一數據遷移管理器222、224可以經由該第一數據保留I/O接口214將保持數據220傳遞給通信網絡204,以及經由該第二數據保留I/O接口216將保持數據220傳遞給第二數據保留系統210。
該數據遷移管理器222、224具有下述任務(a)從第一數據保留系統208向第二數據保留系統210發送和檢索保持數據220,(b)確定與每個數據相關聯的每個保留時間的余額,(c)計算新的保留時間或者如果需要的話就調整為保持數據220定義的保留時間的拷貝,(d)將保持數據拷貝到第二數據保留系統210,(e)將該新的或調整過的保留時間寫入第二數據保留系統210,(f)執行完整性檢查和出錯處理以保證所遷移的數據230沒有被更改,以及(g)生成用作遷移證明的跟蹤記錄以及在法律事件、醫學記錄等等中的數據保存。另外,第一數據遷移管理器222可以具有刪除第一數據保留系統208上的保持數據220或者使該保持數據220可以被刪除的任務。
因為數據遷移管理器222、224具有管理數據遷移過程的任務,因此不需要將大量主機處理資源分配給該任務。同樣,因為該主機應用218只是發出啟動保持數據的遷移的指令,因此也減少了對通信網絡204的通信帶寬的需求。
在本發明的該實施例中,該第一數據保留系統208和該第二數據保留系統210屬于來自不同制造商的不同類型。例如,第一數據保留系統208可以包括IBM DR550,而第二數據保留系統210可以包括EMCCentera。本領域技術人員認識到,該第一數據保留系統208和第二數據保留系統210可以是相同的構造和模型并且可以來自同一制造商。
數據遷移管理器222、224可以每個都包括前端代理232a、232b以及后端代理234a、234b。前端代理使得通過該第一和第二數據保留I/O接口214、216以及通信網絡204在第一和第二數據遷移管理器222、224間所進行的通信更加容易。這些前端代理232a、232b還與相關聯的后端代理234a、234b相交互,該后端代理隨后與該保持數據220、230相交互并且可以包括應用程序接口(“API”)。
本發明的優點之一是可以對多個前端代理232進行標準化,即使每個前端代理232與不同類型的數據保留系統208、210相關聯也是如此。然而,每個后端代理234a、234b使用對于其各自的數據保留系統208、210唯一的方法。這樣,就在前端代理和它們各自的后端代理間產生了對數據遷移任務的翻譯和合一。作為選擇,前端代理利用與源數據保留系統相關聯的協議將數據和命令翻譯成那些符合與目標數據保留系統相關聯的協議的數據和命令。作為另外一種選擇,可以在通信網絡204中在完全不相同的協議間進行數據和信息的翻譯。
由前端代理232a、232b所體現的遷移協議可以包括以下命令構造,其包括(1)啟動遷移過程;(2)源點和目的地的協商;(3)發送/接收遷移數據;(4)發送/接收數據對象信息;以及(5)遷移完成。該啟動遷移過程命令可以起源于主機應用218、第一數據保留系統208或者第二數據保留系統210。源點和目的地間的協商開始于啟動設備并且包括每個設備(源/目標)的指定規則以及待遷移的數據對象的名字。接收系統可以出于各種原因拒絕協商請求,例如該對象名字或對象選擇策略無效、系統已被禁止進行遷移等等。
響應于發送/接收遷移數據命令來轉移保持數據220,并且響應于發送/接收數據對象信息命令來傳輸對象信息。對象信息可以包括(a)對象大小,(b)校驗和,(c)保留時間,(d)數據位置,(e)對象類型,(f)所有者/用戶信息,(g)訪問控制信息,和(h)對象描述,等等。在(a)目的地代理已接收到該數據和對象信息,(b)目的地代理已檢查了校驗和,以及(c)數據對象和對象信息已經被成功存儲的時候,遷移完成命令向前端代理232a、232b通知數據遷移已經完成并且該遷移完成命令被發送。
后端代理234a、234b的作用是根據與每個數據保留系統208、210相關聯的協議來與每個前端代理232a、232b相接口。每個協議的命令結構可以不同,從一種類型的數據保留系統到另一種類型的數據保留系統。然而,無論數據保留系統可使用何種協議,與后端代理234a、234b相關聯的前端代理優選地可使用該數據保留系統的所有數據和屬性。
因此,后端代理234a、234b包括以下能力(1)查詢由數據保留系統所管理的對象的信息項,其包括對象大小、數據校驗和、保留時間、存儲單元、對象類型、所有權/用戶信息、訪問控制屬性以及描述等等;(2)獲得/讀取數據對象;(3)存儲/寫入數據對象;(4)設置數據對象信息;以及(5)刪除數據對象。取決于與特定后端代理234a、234b相關聯的數據保留系統的類型,這些功能中的一些可能不可用。在那些情形中,后端代理234a、234b給每個缺失屬性提供缺省值,例如“NULL”。
圖4是被設計成交換訪問網絡的數據遷移系統300的替代性實施例,其中交換機302被用來創建交換結構304。在本發明的此實施例中,使用運行于光纖信道(“FC”)物理層上的小型計算機系統接口(SCSI)協議來實現數據遷移系統300。然而,可以使用其他協議(諸如Infiniband、FICON、iSCSI等)來實現數據遷移系統300。交換機302包含一個或更多主機306、第一數據保留系統308以及第二數據保留系統310的地址。
該主機306利用主機I/O接口312與該交換結構304相連。這個主機I/O接口312可以包括FC環路、直接連接、或一個或更多信號線,用于向該交換結構304傳送信息以及從該交換結構304傳送信息。交換機302通過第一數據保留I/O接口314使該交換結構304與第一數據保留系統308互連,并且通過第二數據保留I/O接口316使該交換結構304與第二數據保留系統310互連。這些數據保留I/O接口可以包括光纖信道、Infiniband、iSCSI、SCSI、一個或更多信號線、或者其他恰當的通信信道。主機306利用這些數據保留I/O接口來存儲、檢索、查詢和刪除數據對象。
在本發明的此實施例中,運行于該主機306上的主機應用318啟動從第一數據保留系統308向第二數據保留系統310的保持數據320的轉移。一個或更多數據遷移管理器332、324創建和發出用來將保持數據320從第一數據保留系統308向第二數據保留系統310轉移的命令。將所檢索的數據經由該第一數據保留I/O接口314傳遞給該交換結構304,并且經由第二數據保留I/O接口316傳遞給該第二數據保留系統310。
數據遷移管理器322、324每個都包括前端代理332a、332b以及后端代理334a、334b。前端代理使得通過第一和第二數據保留I/O接口326、328以及交換結構304在第一和第二數據遷移管理器322、324間所進行的通信更加容易。這些前端代理還與后端代理334a、334b相交互。這些后端代理隨后與保持數據320、330相交互并且可以包括應用程序接口(“API”)。
圖5是與圖4中的方框圖所例示的數據遷移系統相類似的數據遷移系統300的另一實施例的例示。然而,在本發明的此實施例中,將所檢索的數據經由第一數據保留I/O接口326傳遞給該交換結構304,并且經由第二數據保留I/O接口328傳遞給該第二數據保留系統310。以此方式,該數據保留I/O接口314、316可以專用于除保持數據遷移之外的任務。有利地,將用于數據遷移的I/O接口326、328與主機接口314、316分隔開,這樣允許用于經由該主機接口314、316的正常數據轉移的更好的帶寬和性能以及經由接口326、328的數據遷移轉移。這些數據遷移I/O接口326、328還可以包括光纖信道、Infiniband、iSCSI、SCSI、一個或更多信號線,或者其他恰當的通信信道。
圖6的方框圖例示了與圖5所例示明的數據遷移系統相類似的本發明的再一實施例。然而,該第一和第二數據遷移I/O接口326、328已經被通用數據遷移I/O接口336替代,該通用數據遷移I/O接口336將該第一前端代理332a直接連接到該第二前端代理332b。以此方式,已拷貝的保持數據不需要通過交換結構304進行傳遞,從而就減少了對交換結構304的通信帶寬的需求。這樣,經由I/O接口314、316的正常數據轉移就完全與經由接口326的數據遷移轉移分隔開。
圖7的方框圖例示了本發明的又一個實施例,其中通用數據遷移管理器338包括經由第一數據遷移I/O接口326連接到第一數據保留系統308的第一后端代理334a、通用前端代理332、以及經由第二數據遷移I/O接口328連接到第二數據保留系統310的第二后端代理334b。每個后端代理334a、334b仍然具有與其各自數據保留系統308、310相接口的任務,而該通用前端代理332使得在每個后端代理334a、334b間的通信更容易。
根據本發明的用于遷移保持數據的方法通過圖8的流程圖400以及圖9的方框圖來示范。這些算法定義了可以按特定順序發生的具體操作。然而,在替代性的實現中,某一邏輯操作可以以不同的順序來執行、可以被修改或者可以被移除。此外,操作可以被添加到上述邏輯中并且仍然符合所描述的實現。這里所描述的操作可以順序地發生或者可以被并行地處理。另外,按照由單一過程來執行而描述的操作可以由分布式過程來執行。這些算法可以是該主機系統306的操作系統或應用程序(諸如主機應用318(圖3-7)或第一數據保留系統308或第二數據保留系統310)的一部分。主機應用318和主機系統306的組合是且僅是制品的一個例子。
以下的示意性流程圖被一般性地闡述為邏輯流程圖。這樣,所描述的順序以及所標記的步驟指示了所提出的方法的一實施例。可以構想其他步驟和方法,其在功能、邏輯或者效果上等同于所例示方法的一個或更多步驟或者一個或更多步驟的一部分。另外,所采用的格式和符號被提供用來解釋該方法的邏輯步驟并且不將其理解成限制該方法的范圍。雖然可以在流程圖中采用各種箭頭類型和線條類型,但是不將它們理解成用來限制相應方法的范圍。事實上,某些箭頭或其他連接符被用來僅僅指示該方法的邏輯流。例如,箭頭可以指示所描述方法的各列舉步驟間的未指定持續時間的等待或監視時段。另外,特定方法發生的順序可以或者可以不嚴格遵守所示出的相應步驟的順序。
數據遷移典型地包括當前存儲數據的源系統以及該數據將要遷移到的目標系統。在如流程400所例示的圖8的算法中,駐留在源數據保留系統308(圖5)中的數據對象被遷移到目標數據保留系統310。在此實施例中,數據保留系統308、310都包括前端代理332a、332b和后端代理334a、334b,并且通過結構304來相互進行通信。該遷移過程是從目標數據保留系統310的視角來描述的,在此情形中該目標數據保留系統310已啟動從源數據保留系統308對保持數據的遷移。
當目標數據保留系統310的前端代理334b通過向源數據保留系統的前端代理332a發送遷移啟動消息來啟動404遷移過程時,該遷移方法可以開始402。為了清楚起見,本領域技術人員將認識到,該啟動不需要源自該目標數據保留系統,而且還可源自該源數據保留系統308或外部過程,諸如主機應用318。在此示例中,該源數據保留系統308給該啟動消息提供響應。該啟動前端代理334b對此進行評估406。如果該源數據保留系統308拒絕該遷移啟動請求,那么方法400就結束499。發生對遷移啟動消息的拒絕可能是因為源數據保留系統308可能當前被禁用。
如果源數據保留系統308接受該啟動請求,則啟動前端代理332b可以向源數據保留系統308的前端代理332a發送408協商請求。該協商請求指示出源前端代理332b作為該次遷移會話的源的任務。目標前端代理332b還可以傳輸指明了將從源前端代理332a中遷移的對象的目標選擇策略。對象選擇策略可以包括一個或更多標準的邏輯組合,并可描述出將怎樣選擇用于遷移的對象名字主題。對象選擇可以得到可用于遷移的一個或更多對象名字的列表。以下更詳細地討論對象選擇策略。
該目標前端代理332b對源前端代理332a的響應進行評估410。如果是否定的,那么該數據遷移管理器324對該源前端代理332a所給出的返回代碼進行評估430。
接下來,數據遷移管理器324基于該返回代碼來確定432是否重試該協商。重試的一個原因可以是對象選擇策略得到了不能被源數據遷移管理器322識別的對象名字。在這種情況下,該目標前端代理332b可以嘗試使用不同的對象選擇策略來重試該數據遷移過程。如果該重試確定432是肯定的,那么該方法400發送408另外一個協商請求。如果該確定432是否定的,那么該方法400以錯誤狀態來結束499。
如果該目標前端代理332b評估410響應為肯定結果,那么該方法400繼續。接下來,該源前端332a選擇411適合于從該源數據保留系統308中進行遷移的數據對象。該源前端332a可以基于下面所解釋的引入不同標準的對象選擇策略來選擇適合于遷移的數據對象。典型地,該源前端332a生成包含一個或更多待遷移對象的名字的列表。
源數據保留系統308的前端代理332a指示412相關聯的后端代理334a檢索該列表上的所選數據對象32(見圖1)。該前端代理332a將所選數據對象32發送412給接收數據對象32的目標系統310的前端代理334b。
接下來,前端代理332a計算413所轉移的數據的校驗和。接著,源系統308的前端代理332a指示414相關聯的后端代理334a來檢索元數據對象保留信息30,諸如保留時間、校驗和、存儲單元、所有者等等。前端代理332a向目標系統310的前端代理332b發送414對象保留信息。目標系統前端代理332b將所計算的校驗和與所傳輸的校驗和進行比較416。如果該校驗和不匹配,那么目標系統前端代理332b使重試記數器遞增434。
目標系統前端代理332b將該記數器與最大重試記數器進行比較436。如果該重試記數器比最大重試記數器大,那么該方法400以錯誤狀態結束499。否則,該方法400返回到重試發送412和檢索412數據。
如果上述校驗和匹配,那么目標系統前端代理332b就計算并設置417剩余保留時間。該剩余保留時間變成目標數據保留系統310內的新的保留時間。可以通過當對象被存儲時分配給對象的全部保留時間減去已經過期的保留時間的算術差值來計算該剩余保留時間。
接下來,目標前端代理332b指示其相關聯的后端代理334b存儲418數據對象32和元數據對象信息30。更為精確地,后端代理332b可以存儲數據、應用保留時間以及用于目標系統310內剛剛遷移的對象的其他對象信息。后端代理332b對存儲操作的結果進行評估422。如果結果有效,那么后端代理332b將遷移完成消息發送428給源前端代理332a。一旦接收到這個消息,源前端代理332a就可以指示429其后端代理334a刪除原始保持數據,而且該過程成功結束498。如果存儲操作失敗,那么該方法400返回到使重試計數器遞增434。
在一實施例中,分別為每個已選數據對象執行方法400的操作。在替代的實施例中,為所有已選數據對象一起執行方法400。
這個例示性過程通過記錄每個所執行的操作而使得提供跟蹤記錄更容易。在一實施例中,該數據遷移管理器322、324包括被配置成記錄遷移每個數據對象32以及元數據對象信息30的進展的記錄器(未顯示出)。這個跟蹤記錄可以被保持在數據保留系統308、310中其一或兩者內的不可重寫和不可擦除的媒體中,例如通過將相關聯的信息存儲在諸如CD或DVD的光WORM媒體上。
遷移過程400可以由多種不同方式之一來觸發(1)遷移的啟動可以基于源數據保留系統308或目標數據保留系統310內的用戶可配置時間表;(2)該遷移可以由用戶通過主機系統306或應用318或者通過源數據保留系統308或目標數據保留系統310來觸發;(3)該遷移過程可以由外部事件(例如源數據保留系統308的廢棄以及較新的目標數據保留系統310的可用)來觸發。
基于上面所解釋的對象選擇策略來選擇適合于遷移的數據對象。啟動前端代理提供該對象選擇策略。源前端代理接著生成待遷移的對象列表。該選擇策略可以包括一個標準或多個標準的邏輯組合并且可以基于下列標準(a)對象的壽命,(b)檔案的日期和時間,(c)駐留于一個邏輯或物理存儲單元的對象,(d)所有者的名字,(e)對象的大小,(f)經排序的列表,(g)指明對象名字的各部分的通配符,(h)過期日期,以及(i)其他保留參數,諸如對事件或刪除保持的接收。例如,選擇策略可以包括所有超過2年的對象。一個不同的策略可以包括所有超過2年并且駐留在特定數據存儲媒體上的對象。邏輯存儲單元可以是卷系統(volume system)或文件系統,物理存儲單元是諸如磁帶、盤或光學媒體的物理存儲實體。
圖9的方框圖例示了遷移保持數據的過程。首先,源后端代理334a根據源數據保留系統308的協議來創建502保持數據的拷貝。源系統308的協議是基于數據保留系統的實現的,并且可以在不同類型的系統間進行變化。相關聯的前端代理332a根據通用協議翻譯504所拷貝的數據。該通用協議經由前端代理332a、332b來統一不同的數據保留系統。數據32的拷貝接下來被傳輸506給目標前端代理332b。目標后端代理334b根據目標數據保留系統310的協議翻譯508所接收的數據32并且接下來存儲510該數據。優選地,將諸如保留時間、所有者、校驗和以及存儲單元的元數據保留信息30與數據一起進行存儲。
可以在不偏離本發明的精髓和必要特性的條件下以其他具體的形式來實現本發明。所描述的實施例在所有方面都將被看成是例示性的而不是限制性的。因此,本發明的范圍由權利要求而不是前面的描述來指示。在權利要求的等價物的內涵和范圍內的任何改變都將被包括在權利要求的范圍內。
權利要求
1.一種數據遷移系統,包括具有含有原始保持數據的第一存儲媒體的第一數據保留設備;具有第二存儲媒體的第二數據保留設備;以及與所述第一數據保留設備以及所述第二數據保留設備進行通信的數據遷移管理器,其中所述數據遷移管理器適合于創建所述原始保持數據的拷貝,將所述原始保持數據的所述拷貝傳輸給所述第二數據保留設備,接收所述原始保持數據的所述拷貝,將所述原始保持數據的所述拷貝存儲在所述第二存儲媒體上,將與所述原始保持數據的所述拷貝相對應的保留時間存儲在所述第二存儲媒體上,以及使得從所述第一數據保留設備中刪除所述原始保持數據更容易。
2.根據權利要求1所述的數據遷移系統,其中所述數據遷移管理器包括與所述第一數據保留設備進行通信的第一組件,并且其中所述第一組件適合于在所述數據遷移管理器將所述原始保持數據的所述拷貝傳輸給所述第二數據保留設備之前獨立于外部應用根據通用數據保留協議翻譯所述原始保持數據的所述拷貝。
3.根據權利要求2所述的數據遷移系統,其中所述數據遷移管理器包括與所述第二數據保留設備進行通信的第二組件,并且其中所述第二組件適合于在所述數據遷移管理器將所述原始保持數據的所述拷貝存儲在所述第二數據存儲媒體上之前根據第一數據保留協議翻譯所述原始保持數據的所述拷貝,并且其中所述第二組件還適合于將對成功數據遷移的確認傳輸給所述第一組件。
4.根據權利要求3所述的數據遷移系統,其中所述第一組件包括適合于根據第二數據保留協議來訪問所述第一數據保留系統的第一后端代理。
5.根據權利要求4所述的數據遷移系統,其中所述第一組件包括適合于在所述第一后端代理與所述第二組件間進行接口的第一前端代理。
6.根據權利要求5所述的數據遷移系統,其中所述第二組件包括適合于根據所述第一數據保留協議來訪問所述第二數據保留系統的第二后端代理,并且其中所述第二組件還包括適合于在所述第一前端代理與所述第二后端代理間進行接口的第二前端代理。
7.一種數據保留設備,包括存儲媒體;以及數據遷移管理器,其適合于根據通用數據保留協議從第二數據保留設備接收原始保持數據的第一拷貝,根據第二數據保留協議將原始保持數據的所述第一拷貝存儲到所述存儲媒體,以及根據所述第二數據保留協議將第一保留時間存儲到所述存儲媒體。
8.根據權利要求7所述的數據保留設備,其中所述數據遷移管理器還適合于根據所述通用數據保留協議來傳輸原始保持數據的第二拷貝。
9.根據權利要求7所述的數據保留設備,其中所述數據遷移管理器包括適合于根據所述通用數據保留協議來接收原始保持數據的所述第一拷貝。
10.根據權利要求9所述的數據保留設備,其中所述數據遷移管理器包括適合于根據所述通用數據保留協議與所述前端代理相接口以及根據第二數據保留協議與所述數據存儲媒體相接口的后端代理。
11.根據權利要求10所述的數據保留設備,其中所述數據遷移管理器適合于在將所述保留時間存儲到所述數據存儲媒體之前接收所述保留時間。
12.一種提供用于遷移保持數據的服務的方法,所述方法包括將計算機可讀代碼集成到計算系統中,其中所述計算機可讀代碼與所述計算系統相結合能夠執行下列操作根據第一數據保留協議來創建駐留在源數據保留設備中所包括的第一數據存儲設備內的具有第一保留時間的原始保持數據的拷貝;將原始保持數據的所述拷貝和所述第一保留時間傳輸給目標數據保留設備;根據第二數據保留協議來創建第二保留時間;根據第二數據保留協議將原始保持數據的所述拷貝存儲到所述目標數據保留設備內的第二數據存儲設備;以及將所述第二保留時間存儲到所述第二數據存儲媒體。
13.根據權利要求12所述的方法,還包括在將原始保持數據的所述拷貝和所述第一保留時間傳輸給所述目標數據保留設備之前根據通用數據保留協議翻譯原始保持數據的所述拷貝。
14.根據權利要求12所述的方法,還包括在存儲原始保持數據的所述拷貝之前根據第二數據保留協議翻譯原始保持數據的所述拷貝。
15.根據權利要求12所述的方法,還包括將成功數據遷移的確認從所述目標數據保留設備傳輸給所述源數據保留設備。
16.一種有形地包括機器可讀指令程序的承載信號的媒體,所述機器可讀指令程序可以由數字處理裝置運行來執行權利要求12-15的任何一項中的操作。
全文摘要
公開了一種用于在數據保留系統間進行保留數據的數據遷移的裝置、系統和方法。所述系統包括用來根據第一通信協議來訪問第一數據保留系統的第一后端代理,用來在所述第一后端代理與第二前端代理間進行接口的第一前端代理,以及用來根據第二通信協議在第二前端代理與第二數據保留系統間進行接口的第二后端代理。這里所描述的本發明允許用戶將保持數據從一個保留數據系統遷移到另外一個保留數據系統而同時維持諸如保留時間的數據屬性。
文檔編號G06F17/30GK1955965SQ20061013931
公開日2007年5月2日 申請日期2006年9月22日 優先權日2005年10月26日
發明者N·豪施泰因, C·A·克萊恩, D·J·維納爾斯基 申請人:國際商業機器公司