專利名稱:維護用于脫機儲存庫的元數(shù)據(jù)的裝置、系統(tǒng)和方法
技術領域:
這個發(fā)明涉及對自動和手動文件恢復設備的維護,并且尤其涉及跟蹤用于文件的一個或者多個備份拷貝的元數(shù)據(jù)并且延遲與該文件相關的元數(shù)據(jù)的刪除直到已經(jīng)刪除了該文件的全部備份拷貝為止。
背景技術:
大型和小型企業(yè)定期地創(chuàng)建關鍵文件的備份。系統(tǒng)管理員和信息技術(IT)管理員設計備份系統(tǒng)和時間表,以確保定期地、例如每日、每周或每月地保持重要文件的拷貝。作為災難恢復計劃的一部分,管理員可以創(chuàng)建每個備份文件的多個拷貝,以便存儲在地理上分離的多個位置處。例如,作為策略上的數(shù)據(jù)保持計劃的一部分,麻薩諸塞州(Massachusetts)波士頓的銀行可以在麻薩諸塞州的劍橋和加利福尼亞州的洛杉磯存儲備份文件。
備份文件可以被存儲在計算機可存取的聯(lián)機儲存庫中,或者存儲在計算機不可存取的脫機儲存庫中。經(jīng)常地,虛擬存儲系統(tǒng)跟蹤聯(lián)機文件拷貝的位置而忽略脫機文件拷貝的存在和位置信息。盡管有可能存在文件的脫機拷貝,文件的聯(lián)機備份拷貝的刪除也可能導致與該文件相關的全部跟蹤信息的刪除。
通過刪除文件的聯(lián)機拷貝和相關聯(lián)的跟蹤信息,可能丟失脫機拷貝的位置信息。文件的屬性和文件曾經(jīng)存在的事實也可能丟失,這使得脫機文件拷貝實質(zhì)上是無用的。為了發(fā)現(xiàn)脫機文件的內(nèi)容,管理員可能需要安裝包含脫機文件的卷,并且將卷的內(nèi)容引入聯(lián)機儲存庫中。將脫機卷的內(nèi)容或者索引加載到聯(lián)機存儲設備中是耗時的處理,而且如果已經(jīng)保持了脫機卷的索引的拷貝的話,則該處理將不是必需的。
根據(jù)上述論述,顯然存在對在聯(lián)機數(shù)據(jù)庫中維護用于脫機儲存庫的元數(shù)據(jù)以便高效地存取脫機儲存庫中的脫機文件的裝置、系統(tǒng)、和方法的需要。有利地,這樣的裝置、系統(tǒng)、和方法將會幫助管理員實現(xiàn)災難恢復并避免需要歸類脫機儲存庫以讀取脫機卷的內(nèi)容和索引。另外,這樣的裝置、系統(tǒng)、和方法將會大大增加存取脫機文件的效率。
發(fā)明內(nèi)容
已經(jīng)根據(jù)本技術領域的當前狀態(tài),尤其是根據(jù)當前可用的備份存儲系統(tǒng)還未充分解決的本技術領域中的問題和需要,而開發(fā)了本發(fā)明。因此,開發(fā)了本發(fā)明,以提供一種在聯(lián)機數(shù)據(jù)庫中維護用于脫機儲存庫的元數(shù)據(jù)以便高效地存取脫機儲存庫中的數(shù)據(jù)的裝置、系統(tǒng)和方法,其克服了本技術領域的許多或者全部上述缺點。
在聯(lián)機數(shù)據(jù)庫中維護用于脫機儲存庫的元數(shù)據(jù)以便進行高效存取的裝置具有多個模塊,它們被配置為在功能上執(zhí)行維護脫機儲存庫的聯(lián)機元數(shù)據(jù)所必需的步驟。在所述實施例中的這些模塊包括數(shù)據(jù)記錄的一個或多個拷貝、元數(shù)據(jù)模塊、和查詢處理器模塊。數(shù)據(jù)記錄的至少一個拷貝被存儲在脫機存儲介質(zhì)上。元數(shù)據(jù)模塊被配置為維護與一個或者多個數(shù)據(jù)記錄拷貝相關的元數(shù)據(jù)。查詢處理器模塊被配置為檢索與一個或者多個數(shù)據(jù)記錄拷貝相關的元數(shù)據(jù)。
在一個實施例中,所述裝置還包含記錄創(chuàng)建模塊,被配置為向元數(shù)據(jù)模塊通知記錄創(chuàng)建事件;以及刪除模塊,被配置為向元數(shù)據(jù)模塊通知記錄刪除事件。
該裝置還可以被配置為響應于收到記錄創(chuàng)建事件而遞增數(shù)據(jù)記錄的拷貝數(shù)目的計數(shù);響應于收到記錄刪除事件而遞減數(shù)據(jù)記錄的拷貝數(shù)目的計數(shù);以及響應于將計數(shù)遞減到零而刪除該元數(shù)據(jù)。
在進一步的實施例中,維護元數(shù)據(jù)的操作包含跟蹤數(shù)據(jù)記錄的一個或者多個拷貝;并且響應于數(shù)據(jù)記錄的最后拷貝的刪除,而刪除與一個或者多個數(shù)據(jù)記錄拷貝相關的元數(shù)據(jù)。
該裝置可以被配置為維護與存儲在計算機磁帶、光盤(CD)、數(shù)字視頻盤(DVD)、可移動硬盤、軟盤、通用串行總線存儲設備等上的文件有關的元數(shù)據(jù)。
此外,還給出了一種有形地包含機器可讀指令程序的信號承載介質(zhì),該機器可讀指令程序可由數(shù)字處理裝置執(zhí)行,以執(zhí)行操作以便從多個數(shù)據(jù)儲存庫中檢索數(shù)據(jù)。在所公開實施例中的操作實質(zhì)上包括執(zhí)行上面針對所述裝置的操作而給出的功能所必需的步驟。在一個實施例中,所述操作包括維護數(shù)據(jù)記錄的聯(lián)機和脫機儲存庫;維護將數(shù)據(jù)記錄的一個或多個拷貝相關聯(lián)的聯(lián)機元數(shù)據(jù)條目,其中在脫機儲存庫中維護一個或者多個拷貝中的至少一個。
在進一步的實施例中,所述操作包括響應于數(shù)據(jù)記錄的拷貝的刪除而更新聯(lián)機元數(shù)據(jù)條目,以及響應于數(shù)據(jù)記錄的最后拷貝的刪除而刪除元數(shù)據(jù)條目。
此外,還給出了一種計算機程序產(chǎn)品,其包括用于部署計算機程序產(chǎn)品的計算機可用程序以及用于執(zhí)行該計算機程序產(chǎn)品的計算機可用代碼。計算機程序產(chǎn)品包含模塊,這些模塊實質(zhì)上執(zhí)行實現(xiàn)上面針對信號承載介質(zhì)的操作而給出的功能所必需的步驟。
在這個說明書中對特征、優(yōu)點、或者類似措辭的描述并不意味著,可以利用本發(fā)明實現(xiàn)的所有特征和優(yōu)點應該或者已經(jīng)處于本發(fā)明的任何單個實施例中。相反,描述了特征和優(yōu)點的措辭應當被理解為是指結合實施例描述的特定特征、優(yōu)點、或者特性包括在本發(fā)明的至少一個實施例中。因此,在這個說明書中對特征和優(yōu)點的論述、以及類似措辭可能但未必涉及同一個實施例。
此外,本發(fā)明的所述特征、優(yōu)點、和特性可以在一個或多個實施例中以任何適當?shù)姆绞浇M合。相關領域的技術人員將會認識到,可以實踐本發(fā)明而不用具體實施例的一個或多個特定特征或者優(yōu)點。在其它情況下,可以在某些實施例中認識到未必在本發(fā)明的全部實施例中存在的額外特征和優(yōu)點。
根據(jù)以下的描述和所附的權利要求,本發(fā)明的這些特征和優(yōu)點將變得更為明顯,或者它們可以根據(jù)下文所闡述的本發(fā)明的實踐而獲知。
為了容易地理解本發(fā)明的優(yōu)點,將參考附圖中所說明的具體實施例對上面簡述的發(fā)明進行更詳細地描述。應當理解,這些附圖僅僅描述了本發(fā)明的典型實施例,因此不應當被認為是對本發(fā)明范圍的限制,本發(fā)明將通過使用附圖用附加的特性和細節(jié)進行描述和闡明,在附圖中圖1是說明根據(jù)本發(fā)明的系統(tǒng)的一個實施例的示意框圖;圖2是說明根據(jù)本發(fā)明的備份系統(tǒng)的示意框圖;圖3是說明根據(jù)本發(fā)明的三個儲存庫的示意框圖;圖4是說明根據(jù)本發(fā)明的元數(shù)據(jù)數(shù)據(jù)庫的示意框圖;圖5A是說明根據(jù)本發(fā)明的用于維護元數(shù)據(jù)的方法的一個實施例的示意流程圖;圖5B是說明圖5A中的方法的功能之一的擴展視圖的一個實施例的示意流程圖;圖6是說明圖5A中的方法的功能之一的擴展視圖的一個實施例的示意流程圖;以及圖7是說明圖5A中的方法的功能之一的擴展視圖的一個實施例的示意流程圖。
具體實施例方式
為了更顯著地強調(diào)這個說明書中描述的許多功能單元的實現(xiàn)獨立性,將這些功能單元記為模塊。例如,模塊可以被實現(xiàn)為包含定制的VLSI電路或者門陣列的硬件電路、諸如邏輯芯片之類的成品半導體、晶體管、或者其它分立元件。模塊還可以用諸如現(xiàn)場可編程門陣列、可編程陣列邏輯、可編程邏輯器件等之類的可編程硬件設備實現(xiàn)。
模塊還可以用由各種類型的處理器執(zhí)行的軟件實現(xiàn)。例如,可執(zhí)行碼的標識模塊可能包含計算機指令的一個或多個物理或者邏輯塊,它們例如可以被組織成對象、過程、或函數(shù)。雖然如此,但標識模塊的可執(zhí)行部分不必物理地位于一起,而是可以包含存儲在不同位置中的不同的指令,當這些指令邏輯地連接在一起時,就組成了模塊并且實現(xiàn)該模塊所申明的目的。
實際上,可執(zhí)行碼模塊可以是單條指令、或者許多指令,而且甚至可以是跨越幾個存儲設備、在不同的程序當中、以及在幾個不同的代碼段上分布。類似地,操作數(shù)據(jù)在此處可以在模塊內(nèi)進行標識和說明,并且可以任何適當?shù)男问桨⑶医M織在任何適當類型的數(shù)據(jù)結構中。該操作數(shù)據(jù)可以被集中為單個數(shù)據(jù)集,或者可以分布在不同的位置上(包括分布在不同的存儲設備上),而且可以至少部分地僅僅作為系統(tǒng)或者網(wǎng)絡上的電子信號而存在。
在這個說明書中對“一個實施例”、“實施例”或者類似措辭的描述意味著,結合該實施例描述的具體特征、結構、或者特性包含在本發(fā)明的至少一個實施例中。因此,在這個說明書中出現(xiàn)的短語“在一個實施例中”、“在實施例中”以及類似的措辭可以但未必全部都涉及同一個實施例。
信號承載介質(zhì)可以采取能夠生成信號、導致信號生成、或者導致機器可讀指令的程序在數(shù)字處理裝置上執(zhí)行的任何形式。信號承載介質(zhì)可以由傳輸線路、緊致盤、數(shù)字視頻盤、磁帶、伯努利(Bernoulli)驅動器、磁盤、穿孔卡、閃速存儲器、集成電路、或者其它數(shù)字處理裝置存儲器設備實現(xiàn)。
此外,本發(fā)明的所述特征、結構、和特性可以在一個或多個實施例中以任何適當?shù)姆绞浇M合。在以下的描述中,提供了諸如編程、軟件模塊、用戶選擇、網(wǎng)絡事務、數(shù)據(jù)庫查詢、數(shù)據(jù)庫結構、硬件模塊、硬件電路、硬件芯片等的示例之類的大量具體細節(jié),以提供對本發(fā)明實施例的徹底理解。然而,相關領域的技術人員將會認識到,可以在不需要一個或者多個具體細節(jié)的情況下、或者利用其它方法、部件、材料等來實踐本發(fā)明。在其它情況下,沒有詳細示出或者描述眾所周知的結構、材料、或操作,以避免使本發(fā)明的特征不清楚。
下面的示意流程圖通常被闡述為邏輯流程圖。因而,所描述的次序和所標記的步驟表示了所給出的方法的一個實施例??赡芟氲皆诠δ?、邏輯、或者效果方面與所述方法中的一個或多個步驟或者其多個部分等效的其它步驟和方法。另外,提供了所采用的格式和符號來說明該方法的邏輯步驟,并且這些格式和符號應當被理解為不是對該方法范圍的限制。雖然可以在流程圖中采用各種箭頭類型和線類型,但是它們應當被理解為不是對相應方法的范圍的限制。實際上,可以使用一些箭頭或者其它連接符來僅僅指示方法的邏輯流程。例如,箭頭可以指示在所述方法的列舉步驟之間的未指定持續(xù)時間的等待或者監(jiān)控期間。另外,特定方法發(fā)生的次序可能或者未必嚴格遵循所示的相應步驟的次序。
圖1說明了用于在聯(lián)機數(shù)據(jù)庫中維護用于脫機儲存庫的元數(shù)據(jù)以便進行高效存取的系統(tǒng)100的一個實施例。該系統(tǒng)被設計為維護數(shù)據(jù)記錄的一個或多個拷貝。在一個實施例中,系統(tǒng)用于管理備份文件的一個或多個拷貝。計算機管理員和計算機用戶經(jīng)常期望從一個計算機系統(tǒng)中備份文件到存儲系統(tǒng)110。存儲系統(tǒng)110可以提供用于文件拷貝的存儲介質(zhì)以及存儲管理,以便于文件系統(tǒng)備份和恢復。存儲系統(tǒng)110可以維護備份文件的多個版本。在一些情況下,可以在脫機儲存庫中存儲一個或多個備份文件。存儲系統(tǒng)110維護備份文件的聯(lián)機元數(shù)據(jù)數(shù)據(jù)庫,以便于對脫機文件的快速存取,以及跟蹤每個文件的文件位置信息和創(chuàng)建時間。
在本發(fā)明的另一個實施例中,系統(tǒng)100可以維護文件的一個或多個經(jīng)高速緩存的拷貝,并且可以使用聯(lián)機元數(shù)據(jù)數(shù)據(jù)庫來跟蹤與各種文件拷貝相關的信息。本領域的那些技術人員將會理解,本發(fā)明中的系統(tǒng)100不必跟蹤備份文件。例如,系統(tǒng)100可以跟蹤高速緩存的文件、虛擬存儲系統(tǒng)文件等,而沒有背離本發(fā)明的精神。
此外,存儲系統(tǒng)110可以維護存儲在不同類型的介質(zhì)和不同地理位置上的備份文件的一個版本的多個拷貝。一些文件拷貝可以聯(lián)機存儲,而其他文件拷貝可以脫機存儲。區(qū)分聯(lián)機和脫機數(shù)據(jù)是相對的區(qū)別。聯(lián)機拷貝可被計算機系統(tǒng)立即存取,而脫機拷貝則不可立即存取。存取時間方面的時間差別因各個計算機系統(tǒng)和各個應用的不同而不同。在一個系統(tǒng)中,聯(lián)機記錄可以是存儲在計算機系統(tǒng)的電子隨機存取存儲器(RAM)中或者附連于計算機系統(tǒng)的硬盤或光學驅動器上的記錄。
用于同一系統(tǒng)的脫機記錄可以存儲在必須被手動安裝以便存取其數(shù)據(jù)的計算機磁帶或者光盤上。脫機記錄還可以存儲在光盤(CD)、數(shù)字視頻盤(DVD)、硬盤驅動器、可移動硬盤、軟盤、通用串行總線存儲設備等上。然而,本領域的那些技術人員將會理解,可以根據(jù)計算系統(tǒng)的臨時數(shù)據(jù)存取性能和在系統(tǒng)上設置的臨時數(shù)據(jù)檢索要求而修改聯(lián)機和脫機數(shù)據(jù)記錄之間的區(qū)別。這樣的區(qū)別可能影響符合本發(fā)明精神的存儲系統(tǒng)110的設計和實現(xiàn)。
一些系統(tǒng)使用自動化的自動機用于安裝計算機磁帶和/或光盤,以減少存取存儲在這樣的介質(zhì)上的數(shù)據(jù)所需要的時間。本領域的那些技術人員將會理解,對于存儲介質(zhì)而言,存在從存儲在計算機系統(tǒng)的高速緩存中的數(shù)據(jù)到存儲在需要人工干預的遠程存儲介質(zhì)上的數(shù)據(jù)的可存取范圍,以便于進行數(shù)據(jù)存取。為了這個應用的目的,聯(lián)機記錄是可以由計算機系統(tǒng)電子地存取而不用人為干預的記錄,其包括可以跨越存儲區(qū)域網(wǎng)絡(SAN)或者其它計算機網(wǎng)絡存取的數(shù)據(jù)記錄,以及可以借助于可編程控制的自動機或者磁帶存取系統(tǒng)的幫助而存取的數(shù)據(jù)記錄。另一方面,脫機記錄需要人為干預,以便在計算機系統(tǒng)可以存取存儲介質(zhì)上的數(shù)據(jù)之前,將該存儲介質(zhì)物理地插入到驅動器、讀取器、或者其它設備中。此外,脫機記錄可以存儲在必須在被插入存儲設備讀取器中之前從存儲設施運送到計算中心的介質(zhì)上。
系統(tǒng)100可以包含存儲系統(tǒng)110、網(wǎng)絡102、以及一個或多個計算設備106。存儲系統(tǒng)110可以包含接收和完成備份請求、啟動和完成備份操作、以及接收和服務于恢復請求所必需的邏輯和硬件。存儲系統(tǒng)110可以包含被配置為存儲備份文件的計算機硬件和軟件。存儲系統(tǒng)110還可以包含存儲設施,其包括用于計算機磁帶、機架等的存儲室(storage closet)。存儲系統(tǒng)110可以包括實施備份文件的聯(lián)機和脫機存儲所必需的硬件、軟件、介質(zhì)、和設施。
計算設備106可以包含中央處理單元(CPU)、RAM、操作系統(tǒng)、本地硬盤、光學存儲設備、其它存儲設備、和網(wǎng)絡接口。計算設備106可以在RAM中創(chuàng)建文件104,以及在硬盤或者本地存儲設備上創(chuàng)建文件104。計算設備106可以包含備份恢復模塊108。計算設備106可以包含能夠經(jīng)由網(wǎng)絡102與存儲系統(tǒng)110進行通信的硬件和軟件。
系統(tǒng)管理員或者計算設備106的用戶可以安排在計算設備106的控制下對單個文件104、一組文件104或者全部文件104的備份。計算設備106通過備份恢復模塊108發(fā)出備份和恢復命令,該備份恢復模塊108與存儲系統(tǒng)110進行通信以實現(xiàn)備份和恢復操作。
網(wǎng)絡102可以包含存儲區(qū)域網(wǎng)絡(SAN)、局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、互聯(lián)網(wǎng)、使用光纖通道的直接連接、帶狀電纜、或者允許計算設備106與存儲系統(tǒng)110進行通信的其它連接。網(wǎng)絡102可以包含單個網(wǎng)絡102或者通過集線器、交換機、路由器及其他聯(lián)網(wǎng)設備鏈接在一起的多個網(wǎng)絡102。
圖2說明了本發(fā)明中的存儲系統(tǒng)110的一個實施例。存儲系統(tǒng)110可以包含各種模塊,其中包括元數(shù)據(jù)模塊212、記錄創(chuàng)建模塊214、查詢處理器模塊216、記錄刪除模塊218、恢復模塊222、以及包含文件104的各種拷貝226的一個或多個儲存庫224。
元數(shù)據(jù)模塊212維護并管理聯(lián)機元數(shù)據(jù)數(shù)據(jù)庫213。元數(shù)據(jù)數(shù)據(jù)庫213跟蹤用于文件104的各種拷貝226的元數(shù)據(jù)。存儲系統(tǒng)110可以存儲同一個文件104的多個版本以及每個版本的多個拷貝226。元數(shù)據(jù)模塊212跟蹤各種拷貝,包括拷貝226的文件名、版本控制信息、備份日期、位置等。存儲系統(tǒng)110依賴于元數(shù)據(jù)模塊212來準確地維護全部文件拷貝226的狀態(tài)。一些元數(shù)據(jù)可能與在遠程存檔中或者在系統(tǒng)管理員或計算設備106的用戶的監(jiān)視下遠程存儲的文件拷貝226有關。
記錄創(chuàng)建模塊214處理新的備份拷貝226的創(chuàng)建。例如,如果系統(tǒng)管理員執(zhí)行計算設備106的每周備份,則將拷貝226發(fā)送到存儲系統(tǒng)110。實際的拷貝226存儲在儲存庫224中。然而,記錄創(chuàng)建模塊214處理記錄創(chuàng)建,并且向元數(shù)據(jù)模塊212通知與新拷貝226有關的具體信息,包括與拷貝226有關的文件名、創(chuàng)建日期、版本信息、位置介質(zhì)等。記錄創(chuàng)建可能由計算設備106中的備份恢復模塊108所發(fā)起的備份引起,或者可能由存儲系統(tǒng)110中發(fā)出的或者安排要運行的命令所發(fā)起的備份引起??梢园才琶恳?、每周、每月、或者以其它時間間隔進行記錄創(chuàng)建。
查詢處理器模塊216處理系統(tǒng)管理員和用戶對文件拷貝226的當前狀態(tài)的請求。例如,用戶可能向存儲系統(tǒng)110查詢字處理文件104的最新版本。查詢處理器模塊216查詢元數(shù)據(jù)模塊212,以發(fā)現(xiàn)可用于恢復的拷貝226的數(shù)目,以及與每個文件104相關聯(lián)的版本和日期。因為元數(shù)據(jù)模塊212存儲了聯(lián)機和脫機文件104的當前信息,所以查詢處理器模塊216不需要在儲存庫224中查詢當前信息。
記錄刪除模塊218處理記錄刪除通知,并且酌情更新元數(shù)據(jù)模塊212。定期地,可以從一個或多個儲存庫224中刪除備份拷貝226。系統(tǒng)管理員可以在定期的時間表上安排備份拷貝226的到期和刪除。在一個實施例中,管理員可以將時間超過一個月以上的備份拷貝226移動到脫機并且地理上遠程的儲存庫224中以便為災難作好準備。記錄刪除模塊218還跟蹤備份拷貝226的移動。如果災難破壞了主要聯(lián)機儲存庫224,則存儲系統(tǒng)110利用由元數(shù)據(jù)模塊212維護的元數(shù)據(jù)信息來定位遠程備份拷貝226。記錄刪除模塊218的功能確保恰當?shù)鼐S護與當前可用的備份拷貝226相關的元數(shù)據(jù)。
恢復模塊222處理來自系統(tǒng)管理員和用戶的恢復請求?;謴驼埱笠话阏埱笪募?04的拷貝226?;謴驼埱罂梢哉埱笪募?04的最新拷貝226或者特定日期的拷貝226。系統(tǒng)管理員可以在不小心的文件刪除之后請求恢復單個文件104,在聯(lián)機儲存庫224的破壞之后請求恢復整個文件系統(tǒng),在硬盤驅動器崩潰之后請求恢復單個計算設備106,或者在整個計算中心的破壞之后請求恢復大量的系統(tǒng)。
恢復模塊222與元數(shù)據(jù)模塊212進行通信,以便定位期望的備份拷貝226,并且將這些拷貝226遞送到指定的目的地計算系統(tǒng)。在一些情況下,期望的拷貝226存在于聯(lián)機儲存庫224中,而且可以快速地恢復拷貝226。在其它情況下,期望的拷貝226僅僅存在于脫機拷貝226中?;謴湍K222利用元數(shù)據(jù)模塊212中的聯(lián)機元數(shù)據(jù)數(shù)據(jù)庫213來高效地存取所期望的拷貝226?;謴湍K222可以生成工作命令,以便從脫機儲存庫224中檢索恰當?shù)拇鏅n卷。
在網(wǎng)絡出故障的情況下,存儲系統(tǒng)110可以創(chuàng)建單獨的備份帶,以便物理地遞送給單獨的用戶以幫助恢復單獨的計算設備106。每個計算設備106中的備份恢復模塊108可以包含從單獨的備份帶中恢復備份拷貝226的邏輯,以及經(jīng)由網(wǎng)絡102直接從存儲系統(tǒng)110中恢復備份拷貝226的邏輯。
元數(shù)據(jù)模塊212跟蹤聯(lián)機元數(shù)據(jù)數(shù)據(jù)庫213中的全部備份拷貝226的位置和狀態(tài)。直到刪除了全部拷貝226,元數(shù)據(jù)模塊212才會刪除用于特定文件104的元數(shù)據(jù)。元數(shù)據(jù)模塊212和記錄刪除模塊218進行通信,以確保元數(shù)據(jù)模塊212不會不小心地刪除與脫機拷貝226相關聯(lián)的元數(shù)據(jù)。
圖3說明了不同類型的儲存庫224的實施例聯(lián)機儲存庫301、脫機儲存庫304、以及單個拷貝儲存庫306。所示的聯(lián)機儲存庫301描述了一個自動機幫助的聯(lián)機儲存庫302,其包含庫管理器310、機器人磁帶存取器314、用于存儲計算機可存取的計算機磁帶326的存儲箱(storage bin)317、以及存儲設備312。自動機幫助的聯(lián)機儲存庫302經(jīng)由SAN 308或者諸如ESCON和FICON之類的類似通信裝置與存儲系統(tǒng)110進行通信。庫管理器310處理文件存取請求,并且指示機器人磁帶存取器314將特定的計算機磁帶316從存儲箱317安裝到存儲設備312中。機器人磁帶存取器314還可以存取包括光盤在內(nèi)的其它介質(zhì)類型。典型的機器人幫助的聯(lián)機儲存庫302可以包含多個存儲設備312,以允許對多個計算機磁帶316的并行存取。機器人幫助的聯(lián)機儲存庫302雖然嚴格地說不是聯(lián)機儲存庫224,但是它提供了對存儲在計算機磁帶316上的備份文件104的快速存取。
脫機儲存庫304包含計算機不能存取的計算機磁帶327的存儲箱317。作為數(shù)據(jù)保持策略的一部分,脫機儲存庫304可以位于與存儲系統(tǒng)110中的邏輯模塊相同的位置上,或者作為選擇,它可以位于遠程位置處。管理員可能需要將脫機儲存庫304中的計算機磁帶316運送到具有存儲設備312的計算中心,并且可能進一步需要將計算機磁帶316手動地插入到存儲設備312中。元數(shù)據(jù)模塊212跟蹤在其聯(lián)機元數(shù)據(jù)數(shù)據(jù)庫213中的、在脫機儲存庫304的計算機不能存取的計算機磁帶327上包含的文件拷貝226的狀態(tài)。
單個拷貝儲存庫306表示單個計算機不能存取的計算機磁帶327。一些單獨的用戶可以與他們的計算設備106一起保持存儲箱317,以允許個人數(shù)據(jù)恢復。作為選擇,單個拷貝儲存庫306中的單個計算機磁帶316可以是發(fā)送給單獨用戶的恢復拷貝。計算設備106中的備份恢復模塊108可以包含專門的邏輯,以便從單個計算機磁帶316中恢復文件104。元數(shù)據(jù)模塊212跟蹤位于全部類型的脫機和聯(lián)機儲存庫224中的全部文件拷貝226的位置和狀態(tài)。
圖4說明了元數(shù)據(jù)模塊212中的元數(shù)據(jù)數(shù)據(jù)庫213的一個實施例。元數(shù)據(jù)模塊212跟蹤有關包含在儲存庫224中的每個備份拷貝226的各種信息,并且將該信息存儲在元數(shù)據(jù)數(shù)據(jù)庫213中。元數(shù)據(jù)模塊212利用元數(shù)據(jù)數(shù)據(jù)庫213向存儲系統(tǒng)110中的各個模塊提供有關可用的備份拷貝226的位置、版本、和年代信息。
元數(shù)據(jù)數(shù)據(jù)庫213包含元數(shù)據(jù)條目441。每個元數(shù)據(jù)條目441映射到單個文件104。對于每個文件104,可能存在幾個文件拷貝226。只要存在特定文件104的一個文件拷貝226,元數(shù)據(jù)數(shù)據(jù)庫213就維護用于該文件的元數(shù)據(jù)條目441。例如,系統(tǒng)管理員可能創(chuàng)建了2006年1月2日的銀行交易日志的兩個文件拷貝226。一個文件拷貝226可以存儲在聯(lián)機儲存庫301中,而第二個文件拷貝226可以存儲在脫機儲存庫304中。隨著時間的過去,并且根據(jù)策略,銀行可能刪除聯(lián)機文件拷貝226并保持脫機文件拷貝226。直到這兩個文件拷貝226都已經(jīng)被刪除了,元數(shù)據(jù)數(shù)據(jù)庫213才會刪除與該日志相關的元數(shù)據(jù)條目441。
元數(shù)據(jù)條目441保持存在的文件拷貝226的數(shù)目的元數(shù)據(jù)計數(shù)443。在刪除文件拷貝226時,記錄刪除模塊218向元數(shù)據(jù)模塊212通知該刪除事件,而且元數(shù)據(jù)模塊212遞減元數(shù)據(jù)計數(shù)443。類似地,當創(chuàng)建文件104的新拷貝226時,元數(shù)據(jù)模塊212響應于來自記錄創(chuàng)建模塊214的創(chuàng)建通知而遞增元數(shù)據(jù)計數(shù)443。元數(shù)據(jù)數(shù)據(jù)庫213保持用于給定文件104的元數(shù)據(jù)條目441,直到元數(shù)據(jù)計數(shù)443等于0(這指示不存在流置在外的文件拷貝226)為止。本領域的技術人員應當理解,可以設計其它機制以便實現(xiàn)元數(shù)據(jù)計數(shù)443的目的而沒有背離本發(fā)明的精神,這些機制例如為元數(shù)據(jù)數(shù)據(jù)庫213中的表示文件拷貝226的鏈接列表。
元數(shù)據(jù)條目441可以包含一個或多個元數(shù)據(jù)子條目442。每個元數(shù)據(jù)子條目442跟蹤與單個文件拷貝226相關的信息。例如,元數(shù)據(jù)子條目442可以跟蹤下列與文件拷貝226相關的數(shù)據(jù)文件名444、創(chuàng)建日期446、到期日448、卷標識符450、記錄位置452、卷位置454等。文件名444可以保存存檔文件104的原有文件名。創(chuàng)建日期446可以保存?zhèn)浞菘截?26的創(chuàng)建日期。到期日448可以表示系統(tǒng)將會刪除文件拷貝226的日期。
卷標識符450可以保存諸如計算機磁帶序列號之類的序列號或者與備份卷相關聯(lián)的其它標識符。記錄位置452可以保存在備份卷上定位文件所必需的偏移或者其它信息。在很多情況下,單個計算機磁帶316可以存儲數(shù)以萬計的文件拷貝226,并且可能需要幾分鐘來進行搜索。記錄位置452可以減少在備份卷上定位文件拷貝226所需要的時間。卷位置454可以保存卷所處的物理或者地理位置,其包括城市、州、存儲箱317的標識符、和存儲箱槽。備份集標識符456可以標識具有特定備份集或者備份文件組的備份儲存庫224。
在圖4所述的實施例中,元數(shù)據(jù)條目441包含三個元數(shù)據(jù)子條目442442a,442b,442c。元數(shù)據(jù)條目442a涉及特定文件104的聯(lián)機RAM拷貝424。在有些情況下,存儲系統(tǒng)110可以保持文件104的RAM拷貝424以便進行快速存取。存儲系統(tǒng)110可以與企業(yè)存儲系統(tǒng)完全集成,將文件104的最新拷貝226作為要由存儲系統(tǒng)110跟蹤的拷貝226對待。RAM拷貝424包含在計算設備106的RAM 422中。
在所述實施例中,元數(shù)據(jù)條目442b涉及在聯(lián)機儲存庫301的光盤426上的光盤拷貝428。元數(shù)據(jù)條目442b維護與光盤拷貝428有關的文件名444、創(chuàng)建日期446、到期448、卷標識符450、記錄位置452、卷位置454等。
在所述實施例中,元數(shù)據(jù)條目442c涉及在脫機儲存庫304的計算機磁帶430上的計算機磁帶拷貝432。元數(shù)據(jù)條目442c維護與元數(shù)據(jù)條目442b類似的信息。在這個圖示說明中,元數(shù)據(jù)計數(shù)443可被設置為三,以反映元數(shù)據(jù)子條目442的數(shù)目。當刪除文件拷貝226時,元數(shù)據(jù)數(shù)據(jù)庫213刪除相應的元數(shù)據(jù)子條目442,并且遞減元數(shù)據(jù)計數(shù)443。當元數(shù)據(jù)計數(shù)443等于零時,不再剩余與元數(shù)據(jù)條目441相關的元數(shù)據(jù)子條目442,而且元數(shù)據(jù)數(shù)據(jù)庫213可以刪除該元數(shù)據(jù)條目441。
圖5A說明了用于在聯(lián)機數(shù)據(jù)庫中維護用于脫機儲存庫的元數(shù)據(jù)以便進行高效存取的方法500。方法500包含各種功能,這些功能包括提供(505)和維護聯(lián)機記錄,以及提供(510)和維護脫機記錄。脫機和聯(lián)機記錄可以包含各個文件104的一個或多個拷貝226。方法500可以將拷貝226維護為在計算設備106的物理RAM 422中的RAM拷貝424。該方法500還可以在計算機硬盤、光盤426、計算機磁帶430或者其它類型的存儲介質(zhì)上維護拷貝226。
方法500還包含提供(515)和維護與存儲在各種存儲介質(zhì)上的各種拷貝226相關的元數(shù)據(jù)條目441。對于每個拷貝226而言,提供(515)和維護元數(shù)據(jù)條目441的操作可以進一步包含為文件104的每個單獨拷貝226維護元數(shù)據(jù)子條目442。
方法500還包含處理(520)文件創(chuàng)建事件、處理(525)查詢事件、以及處理(530)文件刪除事件。方法500可以接收文件創(chuàng)建事件的通知和文件刪除請求。在一些實施例中,方法500可以包括文件104的實際刪除。然而,在替換實施例中,方法500簡單地接收與實際儲存庫224相關的創(chuàng)建事件和刪除事件的通知。方法500分別使用記錄創(chuàng)建模塊214、查詢處理器模塊216、和記錄刪除模塊218處理(520、525、530)創(chuàng)建事件、查詢請求、和刪除事件。
圖5B說明了方法500為文件創(chuàng)建事件而實現(xiàn)的處理520的一個實施例。當收到(521)文件創(chuàng)建通知事件時,記錄創(chuàng)建模塊214可以查詢(522)元數(shù)據(jù)模塊212,以確定是否存在新創(chuàng)建的文件拷貝226的元數(shù)據(jù)條目441。如果不存在元數(shù)據(jù)條目441,則記錄創(chuàng)建模塊214發(fā)信號通知元數(shù)據(jù)模塊212創(chuàng)建(523)新的元數(shù)據(jù)條目441。隨后,元數(shù)據(jù)模塊212可以創(chuàng)建(524)用于新拷貝226的新的元數(shù)據(jù)子條目442。記錄創(chuàng)建模塊214可以可選地創(chuàng)建實際的文件拷貝226。然而,記錄創(chuàng)建模塊214可以在創(chuàng)建文件拷貝226之后簡單地處理創(chuàng)建通知事件。
圖6說明了方法500響應于文件查詢請求而實現(xiàn)的處理525的一個實施例。當收到(610)文件查詢事件時,詢問處理器模塊216可以查詢(612)元數(shù)據(jù)模塊212,以確定是否存在用于所查詢的文件104的元數(shù)據(jù)條目441。元數(shù)據(jù)模塊212還可以檢查(614)元數(shù)據(jù)子條目442。
元數(shù)據(jù)模塊212可以首先確定(616)是否存在所期望文件104的聯(lián)機拷貝226。如果存在聯(lián)機文件拷貝226,則查詢處理器模塊216可以返回(618)對相關聯(lián)的元數(shù)據(jù)子條目442的引用。如果不存在聯(lián)機文件拷貝226,則查詢處理器模塊216可以返回對與脫機文件拷貝226相關聯(lián)的元數(shù)據(jù)子條目442的引用。在一個實施例中,查詢處理器模塊216可以返回有關全部拷貝226的全部當前信息,或者作為選擇,查詢處理器模塊216可以簡單地返回對最好地滿足查詢參數(shù)的文件拷貝226的引用,該文件拷貝226例如為最近的文件拷貝226,或者在特定日期之前創(chuàng)建的最近文件拷貝226。
圖7說明了文件刪除事件的處理530的一個實施例。記錄刪除模塊218接收到(710)文件刪除事件。記錄刪除模塊218可以管理文件拷貝226的實際刪除,或者作為選擇,可以簡單地處理刪除事件,并且與元數(shù)據(jù)模塊212一起協(xié)調(diào)元數(shù)據(jù)條目441和元數(shù)據(jù)子條目442的維護。
當收到(710)刪除事件時,記錄刪除模塊218查詢(712)元數(shù)據(jù)模塊212,以確定是否存在用于所刪除的文件拷貝226的元數(shù)據(jù)條目441。如果不存在元數(shù)據(jù)條目441,則記錄刪除模塊218結束該事件的處理。然而,如果存在元數(shù)據(jù)條目441,則記錄刪除模塊218指示元數(shù)據(jù)模塊212刪除(714)相關聯(lián)的元數(shù)據(jù)子條目442。元數(shù)據(jù)模塊212可以遞減元數(shù)據(jù)計數(shù)443。元數(shù)據(jù)模塊212確定(716)是否不再存在更多的元數(shù)據(jù)子條目442,或者作為選擇,確定(716)元數(shù)據(jù)計數(shù)443是否等于零(這表明已經(jīng)刪除了最后的元數(shù)據(jù)子條目442)。當刪除了最后的元數(shù)據(jù)子條目442時,元數(shù)據(jù)模塊212刪除(718)元數(shù)據(jù)條目441并且結束處理。
在替換實施例中,可以在作為元數(shù)據(jù)模塊212的一部分的元數(shù)據(jù)保持模塊中,實現(xiàn)只要儲存庫224之一中存在至少一個文件拷貝226就維護元數(shù)據(jù)條目441的邏輯。元數(shù)據(jù)保持模塊確保在刪除全部文件拷貝226之前不刪除對文件104的引用。
本發(fā)明可以用其它特定形式實現(xiàn)而不背離本發(fā)明的精神或者本質(zhì)特征。所述實施例無論從哪一方面來看都應當僅僅被認為是說明性的而非限制性的。因此,本發(fā)明的范圍由附加權利要求所指示而不是由上述描述所指示。在權利要求的等效內(nèi)容的含義和范圍內(nèi)的所有改變都將被包括在本發(fā)明的范圍之內(nèi)。
權利要求
1.一種管理與文件拷貝相關的元數(shù)據(jù)的裝置,該裝置包含數(shù)據(jù)記錄的一個或多個拷貝,其中至少一個數(shù)據(jù)記錄拷貝存儲在脫機存儲介質(zhì)上;元數(shù)據(jù)模塊,被配置為維護與所述一個或多個數(shù)據(jù)記錄拷貝相關的元數(shù)據(jù);以及查詢處理器模塊,被配置為根據(jù)存儲在元數(shù)據(jù)模塊中的元數(shù)據(jù),檢索與所述一個或多個數(shù)據(jù)記錄拷貝相關的元數(shù)據(jù)。
2.如權利要求1所述的裝置,該裝置還包含記錄創(chuàng)建模塊,被配置為向元數(shù)據(jù)模塊通知記錄創(chuàng)建事件;以及記錄刪除模塊,被配置為向元數(shù)據(jù)模塊通知記錄刪除事件。
3.如權利要求2所述的裝置,其中,所述元數(shù)據(jù)模塊還被配置為通過下述操作來維護與所述一個或多個數(shù)據(jù)記錄相關的元數(shù)據(jù)響應于收到用于數(shù)據(jù)記錄的記錄創(chuàng)建事件,而遞增該數(shù)據(jù)記錄的拷貝數(shù)目的計數(shù);響應于收到用于該數(shù)據(jù)記錄的記錄刪除事件,而遞減所述計數(shù);以及響應于將所述計數(shù)遞減到零,而刪除用于該數(shù)據(jù)記錄的元數(shù)據(jù)。
4.如權利要求1所述的裝置,其中,所述元數(shù)據(jù)模塊還被配置為通過下述操作來維護與所述一個或多個數(shù)據(jù)記錄相關的元數(shù)據(jù)跟蹤數(shù)據(jù)記錄的所述一個或多個拷貝;以及響應于對所述數(shù)據(jù)記錄的最后拷貝的刪除,而刪除與所述一個或多個數(shù)據(jù)記錄拷貝相關的元數(shù)據(jù)。
5.如權利要求1所述的裝置,其中,所述元數(shù)據(jù)模塊還被配置為響應于對不是數(shù)據(jù)記錄的最后拷貝的數(shù)據(jù)記錄拷貝的刪除,而阻止與所述一個或多個數(shù)據(jù)記錄拷貝相關的元數(shù)據(jù)的刪除。
6.如權利要求1所述的裝置,其中,所述脫機存儲介質(zhì)是從下述這樣的組中選擇出來的,所述組包含可從自動化磁帶庫中存取的計算機磁帶、不可從自動化磁帶庫中存取的計算機磁帶、光盤(CD)、數(shù)字視頻盤(DVD)、光學驅動器、可移動硬盤、軟盤、以及通用串行總線存儲設備。
7.如權利要求1所述的裝置,其中,對于數(shù)據(jù)記錄的所述一個或多個拷貝中的每一個拷貝而言,元數(shù)據(jù)包含文件名;創(chuàng)建日期;到期日;卷標識符;以及卷位置。
8.如權利要求7所述的裝置,還包含恢復模塊,被配置為響應于恢復請求而有選擇地恢復數(shù)據(jù)記錄。
9.如權利要求8所述的裝置,其中,所述恢復模塊還被配置為根據(jù)指定的日期值有選擇地恢復數(shù)據(jù)記錄。
10.一種用于管理與文件拷貝相關的元數(shù)據(jù)的方法,該方法包含維護數(shù)據(jù)記錄的聯(lián)機儲存庫;維護數(shù)據(jù)記錄的脫機儲存庫;維護與數(shù)據(jù)記錄的一個或多個拷貝相關聯(lián)的聯(lián)機元數(shù)據(jù)條目,其中在所述脫機儲存庫中維護所述一個或多個拷貝中的至少一個;根據(jù)元數(shù)據(jù)條目檢索數(shù)據(jù)記錄的拷貝。
11.如權利要求10所述的方法,其中,操作還包含響應于刪除請求而刪除數(shù)據(jù)記錄的拷貝;更新聯(lián)機元數(shù)據(jù)條目以反映所述拷貝的刪除;以及響應于對數(shù)據(jù)記錄的最后拷貝的刪除而刪除所述元數(shù)據(jù)條目。
12.如權利要求10所述的方法,其中,所述脫機儲存庫包含計算機磁帶卷。
13.如權利要求10所述的方法,其中,用于數(shù)據(jù)記錄的每個拷貝的聯(lián)機元數(shù)據(jù)條目包含文件名;創(chuàng)建日期;到期日;卷標識符;卷位置;以及備份集名稱。
14.如權利要求11所述的方法,其中,所述聯(lián)機元數(shù)據(jù)條目存儲在元數(shù)據(jù)數(shù)據(jù)庫中。
15.如權利要求10所述的方法,該方法還包含響應于對不是數(shù)據(jù)記錄的最后拷貝的數(shù)據(jù)記錄拷貝的刪除,而阻止與所述一個或多個數(shù)據(jù)記錄拷貝相關的聯(lián)機元數(shù)據(jù)條目的刪除。
16.一種用于管理與文件拷貝有關的元數(shù)據(jù)的系統(tǒng),該系統(tǒng)包含計算機網(wǎng)絡;聯(lián)機存儲儲存庫,連接到所述計算機網(wǎng)絡,并且被配置為存儲文件的聯(lián)機拷貝;脫機存儲儲存庫,被配置為對存儲卷進行存儲;存儲設備,連接到所述計算機網(wǎng)絡,并且被配置為在脫機存儲儲存庫中的存儲卷上存儲文件的脫機拷貝;聯(lián)機元數(shù)據(jù)數(shù)據(jù)庫;元數(shù)據(jù)模塊,被配置為在聯(lián)機元數(shù)據(jù)數(shù)據(jù)庫中維護與聯(lián)機拷貝有關的元數(shù)據(jù)以及與脫機拷貝有關的元數(shù)據(jù);查詢處理器模塊,被配置為從聯(lián)機元數(shù)據(jù)數(shù)據(jù)庫中檢索與聯(lián)機拷貝和脫機拷貝有關的元數(shù)據(jù);以及元數(shù)據(jù)保持模塊,被配置為在刪除聯(lián)機拷貝和脫機拷貝之前防止刪除與文件有關的元數(shù)據(jù)。
17.如權利要求16所述的系統(tǒng),該系統(tǒng)還包含記錄創(chuàng)建模塊,被配置為向元數(shù)據(jù)模塊通知記錄創(chuàng)建事件;以及記錄刪除模塊,被配置為向元數(shù)據(jù)模塊通知記錄刪除事件。
18.如權利要求16所述的系統(tǒng),其中,所述元數(shù)據(jù)模塊還被配置為通過下述操作來維護與所述一個或多個數(shù)據(jù)記錄有關的元數(shù)據(jù)響應于收到用于數(shù)據(jù)記錄的記錄創(chuàng)建事件,而遞增該數(shù)據(jù)記錄的拷貝數(shù)目的計數(shù);響應于收到用于該數(shù)據(jù)記錄的記錄刪除事件,而遞減所述計數(shù);以及響應于將所述計數(shù)遞減到零,而刪除用于該數(shù)據(jù)記錄的元數(shù)據(jù)。
19.如權利要求16所述的系統(tǒng),其中,所述元數(shù)據(jù)模塊還被配置為通過下述操作來維護與所述一個或多個數(shù)據(jù)記錄有關的元數(shù)據(jù)跟蹤數(shù)據(jù)記錄的所述一個或多個拷貝;以及響應于對所述數(shù)據(jù)記錄的最后拷貝的刪除,而刪除與所述一個或多個數(shù)據(jù)記錄拷貝有關的元數(shù)據(jù)。
全文摘要
公開了一種在聯(lián)機數(shù)據(jù)庫中維護用于脫機儲存庫的元數(shù)據(jù)以便進行高效存取的裝置、系統(tǒng)、和方法。在一個實施例中,該裝置包括元數(shù)據(jù)模塊,其被配置為維護與數(shù)據(jù)記錄的一個或者多個數(shù)據(jù)記錄拷貝相關的元數(shù)據(jù)。一個或者多個數(shù)據(jù)記錄拷貝中的至少一個被存儲在脫機存儲介質(zhì)中。該裝置還包含查詢處理器模塊,其被配置為根據(jù)存儲在元數(shù)據(jù)模塊中的元數(shù)據(jù),而檢索與所述一個或者多個數(shù)據(jù)記錄拷貝相關的元數(shù)據(jù)。
文檔編號G06F17/30GK101030225SQ200710084668
公開日2007年9月5日 申請日期2007年3月1日 優(yōu)先權日2006年3月2日
發(fā)明者馬修·約瑟夫·安格林, 肯尼思·E.·漢尼甘, 馬克·艾倫·哈葉 申請人:國際商業(yè)機器公司