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