欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

仿效存儲系統(tǒng)的制作方法

文檔序號:6478135閱讀:239來源:國知局
專利名稱:仿效存儲系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明的諸方面涉及數(shù)據(jù)存儲,更具體地說涉及用來模仿能提供全部數(shù)據(jù)備份的
等價物的磁帶存儲系統(tǒng)使用現(xiàn)有的全部備份和后來逐漸增加的備份并準(zhǔn)許用戶從這樣的 備份恢復(fù)數(shù)據(jù)的裝置和方法。
現(xiàn)有技術(shù) 許多計算機系統(tǒng)包括一個或多個主機和一個或多個儲存主機所用數(shù)據(jù)的數(shù)據(jù)存 儲系統(tǒng)。這些主機和存儲系統(tǒng)通常是使用網(wǎng)絡(luò)(例如,光纖通道(Fibre Channel)網(wǎng)絡(luò)、以 太網(wǎng)網(wǎng)絡(luò)或另一類型的通信網(wǎng)絡(luò))聯(lián)網(wǎng)的。光纖通道是標(biāo)準(zhǔn),它把基于信道的傳輸方案的 速度和基于網(wǎng)絡(luò)的傳輸方案的靈活性結(jié)合起來并且允許多個初啟程序與多個目標(biāo)在網(wǎng)絡(luò) 上通信,其中初啟程序和目標(biāo)可能是與網(wǎng)絡(luò)耦合的任何裝置。光纖通道通常是使用光纖電 纜之類的快速傳輸媒體實現(xiàn)的,并因此是用于轉(zhuǎn)移大量數(shù)據(jù)的存儲系統(tǒng)網(wǎng)絡(luò)的流行選擇。
包括若干主機和備份存儲系統(tǒng)的典型的網(wǎng)絡(luò)計算機環(huán)境的范例展示在圖1中。 一個或多個應(yīng)用服務(wù)器102經(jīng)由局域網(wǎng)(LAN)103與眾多用戶計算機104耦合。應(yīng)用服 務(wù)器102和用戶計算機104兩者都可能被視為"主機"。應(yīng)用服務(wù)器102經(jīng)由存儲區(qū)網(wǎng)絡(luò) (SAN) 108與一個或多個主存儲裝置106耦合。主存儲裝置106可能是,舉例來說,可從諸如 EMC公司、IBM公司之類的公司得到的磁盤陣列。作為替代,總線(未展示)或其它的網(wǎng)絡(luò) 鏈路可能提供應(yīng)用服務(wù)器和主存儲系統(tǒng)106之間的互連??偩€和/或光纖通道網(wǎng)絡(luò)連接可 以使用規(guī)定在主機(例如,應(yīng)用服務(wù)器102)和存儲系統(tǒng)(s)106之間轉(zhuǎn)移的數(shù)據(jù)包的格式 的協(xié)議(例如,小部件系統(tǒng)連接(SCSI)協(xié)議)來操作。 人們將領(lǐng)會到圖1舉例說明的聯(lián)網(wǎng)的計算機環(huán)境代表可能被,舉例來說,大的財 務(wù)機構(gòu)或大公司使用的大系統(tǒng)。人們將理解許多聯(lián)網(wǎng)的計算機環(huán)境不需要包括圖l舉例說 明的所有的元素。舉例來說,較小的聯(lián)網(wǎng)計算機環(huán)境可能僅僅包括與存儲系統(tǒng)直接或經(jīng)由 LAN連接的主機。除此之外,雖然圖1舉例說明分開的用戶計算機104、應(yīng)用服務(wù)器102和 媒體服務(wù)器114,但是這些功能可能被結(jié)合到一個或多個計算機中。 除了主存儲裝置106之外,許多聯(lián)網(wǎng)計算機環(huán)境包括至少一個次要的或備份存儲 系統(tǒng)110。備份存儲系統(tǒng)110通??赡苁谴艓?,雖然可能使用其它大容量的、可靠的次存 儲系統(tǒng)。通常,這些次存儲系統(tǒng)比主存儲器裝置慢,但是包括某種類型的可以被拆除和遠(yuǎn)距 離儲存的可拆除媒體(例如,磁帶、磁盤或光盤)。 在列舉的范例中,應(yīng)用服務(wù)器102可能能夠經(jīng)由,舉例來說,以太網(wǎng)或其它通信鏈 路112直接與備份存儲系統(tǒng)110通信。然而,這樣的連接可能是相對緩慢的而且可能用盡 資源,例如,處理器時間或網(wǎng)絡(luò)帶寬。因此,像列舉的那樣的系統(tǒng)可能包括一個或多個媒體 服務(wù)器114,該媒體服務(wù)器可能使用,舉例來說,光纖通道,在SAN 108和備份存儲系統(tǒng)110 之間提供通信鏈路115。 媒體服務(wù)器114可能運行某種軟件,該軟件包括控制在主機(例如,用戶計算機 104、媒體服務(wù)器114和/或應(yīng)用服務(wù)器102)、主存儲器裝置106和備份存儲系統(tǒng)110之間的數(shù)據(jù)轉(zhuǎn)移的備份/還原應(yīng)用程序。備份/還原應(yīng)用程序的范例可從Veritas、 Legato之 類的公司得到。為了保護數(shù)據(jù),在聯(lián)網(wǎng)的計算機環(huán)境中來自各種不同的主機和/或主存儲 器裝置的數(shù)據(jù)可能如同技術(shù)上已知的那樣被定期地使用備份/還原應(yīng)用程序備份到備份 存儲系統(tǒng)110之上。 當(dāng)然,人們將領(lǐng)會到,依照前面的討論,許多聯(lián)網(wǎng)的計算機環(huán)境與圖1列舉的可仿 效的聯(lián)網(wǎng)計算機環(huán)境相比可能是比較小的而且可能包括較少的成分。所以,人們還將領(lǐng)會 到媒體服務(wù)器114可能事實上與應(yīng)用服務(wù)器102結(jié)合在單一的主機中,而且備份/還原應(yīng) 用程序可能是在與備份存儲系統(tǒng)110(直接地或間接地,例如通過網(wǎng)絡(luò))耦合的任何主機上 運行的。 典型的備份存儲系統(tǒng)的一個范例是包括若干盒式磁帶和至少一個磁帶驅(qū)動器以 及控制盒式磁帶往磁帶驅(qū)動器上裝卸的機器人機制的磁帶庫。備份/還原應(yīng)用程序把指令 提供指向機器人機制,使特定的盒式磁帶(例如,0001號磁帶)定位,并且將該盒式磁帶裝 進(jìn)磁帶驅(qū)動器,以便將數(shù)據(jù)寫到該磁帶上。備份/還原應(yīng)用程序還控制往磁帶上寫數(shù)據(jù)的 格式。通常,備份/還原應(yīng)用程序可能使用SCSI指令或其它標(biāo)準(zhǔn)化指令指導(dǎo)機器人機制和 控制磁帶驅(qū)動器把數(shù)據(jù)寫到磁帶上和并且復(fù)原先前寫在磁帶上的數(shù)據(jù)。
傳統(tǒng)的磁帶庫備份系統(tǒng)有許多問題,包括速度、可信度和固定的容量。許多大公司 需要每星期備份數(shù)千兆字節(jié)的數(shù)據(jù)。然而,即使昂貴的高端磁帶通常也只能以每秒30-40 兆字節(jié)(30-40MB/s)(即大約每小時50千兆字節(jié)(50GB/hr))的速度讀/寫數(shù)據(jù)。因此,把 一或二千兆字節(jié)的數(shù)據(jù)備份到磁帶備份系統(tǒng)上可能至少花費10到20小時的連續(xù)數(shù)據(jù)轉(zhuǎn)移 時間。 除此之外,如果磁帶跌落(這在典型的磁帶庫可能中相對地時常發(fā)生,因為人類 操作員或機器人機制在搬動或裝載操作期間可能將磁帶跌落)或者如果磁帶暴露在非理 想的環(huán)境條件下(例如,在極端的溫度或濕度條件下),大多數(shù)磁帶制造商將不保證往磁帶 儲存數(shù)據(jù)(或恢復(fù)來自磁帶的數(shù)據(jù))將是可能的。所以,需要十分小心地把磁帶保存在受 控的環(huán)境中。此外,復(fù)雜的磁帶庫的機器(包括機器人機制)維護費用是高昂的,而且個體 盒式磁帶式是相對地昂貴的而且壽命有限。

發(fā)明內(nèi)容
本發(fā)明的實施方案提供一種備份存儲系統(tǒng),該備份存儲系統(tǒng)克服或減輕傳統(tǒng)磁帶
庫系統(tǒng)的一些或全部問題,而且可能提供比傳統(tǒng)的磁帶庫系統(tǒng)大的靈活性。 概括地說,本發(fā)明的各個方面和各個實施方案提供以隨機存取為基礎(chǔ)的存儲系
統(tǒng),該存儲系統(tǒng)仿效傳統(tǒng)的磁帶備份存儲系統(tǒng),以致備份/還原應(yīng)用程序看到與實際的磁
帶庫一樣的裝置和媒體的視野。本發(fā)明的存儲系統(tǒng)使用軟件和硬件仿效實際的磁帶媒體并
且用一個或多個隨機存取的磁盤陣列替換它們,轉(zhuǎn)化磁帶格式,把線性的連續(xù)的數(shù)據(jù)轉(zhuǎn)換
成適合在磁盤上儲存的數(shù)據(jù)。 依照本發(fā)明的一些方面和實施方案,提供一種用來將現(xiàn)有的備份數(shù)據(jù)組解碼并把 元數(shù)據(jù)(即,表現(xiàn)有關(guān)用戶數(shù)據(jù)的信息的數(shù)據(jù))儲存在可搜尋的元數(shù)據(jù)高速緩沖存儲器中 的機制、一種允許針對文件或?qū)ο笏褜ず?或查看元數(shù)據(jù)高速緩沖存儲器的機制和一種用 來經(jīng)由網(wǎng)絡(luò)連接從通過現(xiàn)有的備份政策和典型的備份軟件實踐儲存的數(shù)據(jù)下載這些文件或?qū)ο蟮臋C制。用來通過現(xiàn)有的鑒別機制鑒別用戶和用來以用戶現(xiàn)在的證件為基礎(chǔ)限制查 看元數(shù)據(jù)高速緩沖存儲器的機制可能也被包括在內(nèi)。 本發(fā)明的各個方面和實施方案還準(zhǔn)備把冗余數(shù)據(jù)從備份數(shù)據(jù)對象中除去。這個 可能被稱為"重復(fù)數(shù)據(jù)刪除"的切除程序減少維持備份數(shù)據(jù)的副本所需要的存儲能力并因 此減少儲存?zhèn)浞輸?shù)據(jù)所需要的電子媒體的數(shù)量。依照本發(fā)明的至少一些方面,刪除重復(fù)程 序的實施方案通過使用元數(shù)據(jù)有效地利用計算機資源優(yōu)化刪除重復(fù)處理,下面將進(jìn)一步討 論。 依照本發(fā)明的其它的方面和實施方案,提供用來在元數(shù)據(jù)高速緩沖存儲器中實現(xiàn) 多樣的盒式磁帶表達(dá)的邏輯合并的機制和用來適當(dāng)?shù)刂赶蛐潞铣傻暮惺酱艓Ъ訕?biāo)簽和條 形碼以致它作為有效的數(shù)據(jù)組被備份/還原軟件接受的機制。另外,依照本發(fā)明的進(jìn)一步 的方面和實施方案,提供用來儲存代表合成盒式磁帶的數(shù)據(jù)元素的多樣的副本或用來只儲 存指向在元數(shù)據(jù)高速緩沖存儲器中表現(xiàn)現(xiàn)有數(shù)據(jù)的指針的機制。 本發(fā)明的一個方面指向用來把冗余數(shù)據(jù)從備份存儲系統(tǒng)中除去的方法,該方法包
括識別第一備份數(shù)據(jù)對象;識別第二備份數(shù)據(jù)對象;檢測第一備份數(shù)據(jù)對象的第一部分是
第二備份數(shù)據(jù)對象的第二部分的副本;以及用指向第一部分的指針取代第二部分。 在該方法中,用指向第一部分的指針取代第二部分可能包括創(chuàng)建第二備份數(shù)據(jù)對
象的副本,把第二部分排除在外,把指向第一部分的指針包括在內(nèi)并且刪除第二備份數(shù)據(jù)對象。 該方法可能還包括確認(rèn)第二備份數(shù)據(jù)對象的副本代表與第二備份數(shù)據(jù)對象一樣 的數(shù)據(jù)。在該方法中,識別第二備份數(shù)據(jù)對象可能包括識別與第一備份數(shù)據(jù)對象相比最近 被較少地備份的第二備份數(shù)據(jù)對象。在該方法中,識別第二備份數(shù)據(jù)對象可能包括識別與 第一備份數(shù)據(jù)對象相比最近被較多地備份的第二備份數(shù)據(jù)對象。 該方法可能還包括識別數(shù)據(jù)對象元數(shù)據(jù)的至少一個特征。在該方法中,識別第一 備份數(shù)據(jù)對象可能包括識別與有那至少一個特征的數(shù)據(jù)對象元數(shù)據(jù)相關(guān)聯(lián)的第一備份數(shù) 據(jù)對象。另外,在該方法中,識別第二備份數(shù)據(jù)對象可能包括識別與有那至少一個特征的數(shù) 據(jù)對象元數(shù)據(jù)相關(guān)聯(lián)的第二備份數(shù)據(jù)對象。 在該方法中,識別數(shù)據(jù)對象元數(shù)據(jù)的至少一個特征可能包括識別與第一備份數(shù)據(jù) 對象相關(guān)聯(lián)的主存儲器的位置和識別與第二備份數(shù)據(jù)對象相關(guān)聯(lián)的主存儲器的位置。在該 方法中,識別數(shù)據(jù)對象元數(shù)據(jù)的至少一個特征可能包括識別與第一備份數(shù)據(jù)對象相關(guān)聯(lián)的 軟件應(yīng)用程序和識別與第二備份數(shù)據(jù)對象相關(guān)聯(lián)的軟件應(yīng)用程序。在該方法中,識別數(shù)據(jù) 對象元數(shù)據(jù)的至少一個特征可能包括識別與第一備份數(shù)據(jù)對象相關(guān)聯(lián)的備份政策和識別 與第二備份數(shù)據(jù)對象相關(guān)聯(lián)的備份政策。 在該方法中,識別數(shù)據(jù)對象元數(shù)據(jù)的至少一個特征可能包括識別當(dāng)?shù)谝粋浞輸?shù)據(jù) 對象被備份的時候被儲存的數(shù)據(jù)對象元數(shù)據(jù)的至少一個特征和識別當(dāng)?shù)诙浞輸?shù)據(jù)對象 被備份的時候被儲存的數(shù)據(jù)對象元數(shù)據(jù)的至少一個特征。在該方法中,檢測第一備份數(shù)據(jù) 對象的第一部分可能包括使用與第一備份數(shù)據(jù)對象相關(guān)聯(lián)的元數(shù)據(jù)和與第二備份數(shù)據(jù)對 象相關(guān)聯(lián)的元數(shù)據(jù)檢測第一備份數(shù)據(jù)對象的第一部分。在該方法中,使用元數(shù)據(jù)檢測第一 備份數(shù)據(jù)對象的第一部分可能包括使用儲存在關(guān)系數(shù)據(jù)庫中的元數(shù)據(jù)檢測第一備份數(shù)據(jù) 對象的第一部分。在該方法中,識別第一備份數(shù)據(jù)對象可能包括識別第一數(shù)據(jù)文件而識別
6第二備份數(shù)據(jù)對象可能包括識別第二數(shù)據(jù)文件。該方法可能是在柵格計算機環(huán)境中運行 的。當(dāng)數(shù)據(jù)未被備份到備份存儲系統(tǒng)中的時候,該方法可能是在備份存儲系統(tǒng)上運行的。
本發(fā)明的另一方面指向計算機易讀的媒體,在該媒體上儲存計算機易讀的信號, 這些信號定義一些指令,這些指令在被計算機執(zhí)行時指導(dǎo)計算機識別第一備份數(shù)據(jù)對象, 識別第二備份數(shù)據(jù)對象,檢測作為第二備份數(shù)據(jù)對象的第二部分的副本的第一備份數(shù)據(jù)對 象的第一部分,以及用指向該第一部分的指針代替該第二部分。 本發(fā)明的另一方面指向一種方法,該方法包括識別與軟件應(yīng)用程序相關(guān)聯(lián)的第一 數(shù)據(jù)對象,識別與軟件應(yīng)用程序相關(guān)聯(lián)的第二數(shù)據(jù)對象,使用與軟件應(yīng)用程序相關(guān)聯(lián)的數(shù) 據(jù)分布圖檢測在第一數(shù)據(jù)對象和第二數(shù)據(jù)對象中冗余數(shù)據(jù),以及用安排在第二數(shù)據(jù)對象中 指向冗余數(shù)據(jù)的指針代替第一數(shù)據(jù)對象中的冗余數(shù)據(jù)。 本發(fā)明的另一方面指向一種計算機易讀的媒體,在該媒體上存有計算機易讀的信
號,這些信號定義一些指令,這些指令被計算機執(zhí)行的時候指導(dǎo)計算機識別與軟件應(yīng)用程
序相關(guān)聯(lián)的第一數(shù)據(jù)對象,識別與軟件應(yīng)用程序相關(guān)聯(lián)的第二數(shù)據(jù)對象,使用與軟件應(yīng)用
程序相關(guān)聯(lián)的數(shù)據(jù)分布圖檢測在第一數(shù)據(jù)對象和第二數(shù)據(jù)對象兩者中的冗余數(shù)據(jù),以及用
安排在第二數(shù)據(jù)對象中指向冗余數(shù)據(jù)的指針代替第一數(shù)據(jù)對象中的冗余數(shù)據(jù)。 本發(fā)明的另一方面指向某種系統(tǒng),該系統(tǒng)包括儲存將包括第一數(shù)據(jù)的第一備份數(shù)
據(jù)對象和包括第二數(shù)據(jù)的第二備份數(shù)據(jù)對象包括在內(nèi)的眾多備份數(shù)據(jù)對象的備份存儲媒
體和配置成識別第二數(shù)據(jù)與第一數(shù)據(jù)的任何相同部分并且用指向第一數(shù)據(jù)的對應(yīng)部分的
指針代替第二數(shù)據(jù)的被識別部分的控制器。 在該系統(tǒng)中,控制器可能被進(jìn)一步配置成通過創(chuàng)建第二數(shù)據(jù)對象把被識別部分排 除在外而把指向第一數(shù)據(jù)的對應(yīng)部分的指針包括在內(nèi)的副本來取代第二數(shù)據(jù)對象的被識 別部分。 本發(fā)明的另一方面指向一種方法,該方法包括識別數(shù)據(jù)對象元數(shù)據(jù)的至少一個特
征,識別與有那至少一個特征的數(shù)據(jù)對象元數(shù)據(jù)相關(guān)聯(lián)的第一備份數(shù)據(jù)對象,識別與有那
至少一個特征的數(shù)據(jù)對象元數(shù)據(jù)相關(guān)聯(lián)的第二備份數(shù)據(jù)對象,檢測在第一備份數(shù)據(jù)對象和
第二備份數(shù)據(jù)對象中的冗余數(shù)據(jù),創(chuàng)建第二備份數(shù)據(jù)對象把冗余數(shù)據(jù)的至少一個例證排除 在外的副本,其中該副本包括指向冗余數(shù)據(jù)的指針而不是冗余數(shù)據(jù)的被排除的至少一個例
證,以及刪除第二備份數(shù)據(jù)對象。 這些可仿效的方面和實施方案的另外一些方面、實施方案和利益將在下面詳細(xì)地 討論。此外,人們將理解前面的信息和下面的詳細(xì)描述僅僅是各種不同的方面和實施方案 的說明性范例,而且傾向于提供用來理解有索賠要求的方面和實施方案的本性和特征的綜 述或架構(gòu)。為了提供例證和進(jìn)一步理解各種不同的方面和實施方案附圖被包括在內(nèi),并且 被并入,構(gòu)成這份說明書的一部分。這些附圖與本說明書的其余部分一起用來解釋所描述 的并有索賠要求的方面和實施方案的原則和操作。


至少一個實施方案的各種不同的方面是參照附圖在下面討論的。在這些不打算依 比例繪制的附圖中,在各種不同的附圖中舉例說明的每個同一的或者幾乎同一的成份是用 相似的數(shù)字表示的。為了清楚起見,并非每個成份都被標(biāo)注在每幅圖畫中。這些附圖是為舉例說明和解釋準(zhǔn)備的,不傾向于作為本發(fā)明的限度的定義。在這些附圖中 圖1是包括備份存儲系統(tǒng)的大規(guī)模網(wǎng)絡(luò)計算機環(huán)境的一個范例的方框圖; 圖2是依照本發(fā)明的某些方面包括存儲系統(tǒng)的聯(lián)網(wǎng)計算機環(huán)境的一個實施方案 的方框圖; 圖3是依照本發(fā)明的某些方面的存儲系統(tǒng)的一個實施方案的方框圖; 圖4是依照本發(fā)明的某些方面舉例說明存儲系統(tǒng)的一個實施方案的虛擬布局的
方框圖; 圖5是依照本發(fā)明的某些方面的系統(tǒng)文件的一個范例的示意圖; 圖6是依照本發(fā)明的某些方面的磁帶目錄結(jié)構(gòu)的一個范例; 圖7是依照本發(fā)明的某些方面描繪創(chuàng)建完整的綜合性備份的方法的一個范例的 圖表; 圖8是依照本發(fā)明的某些方面包括完整的綜合性備份的一系列備份數(shù)據(jù)組的一 個范例的示意圖; 圖9是元數(shù)據(jù)高速緩沖存儲器結(jié)構(gòu)的一個范例的圖表; 圖10是儲存完整的綜合性備份數(shù)據(jù)組的虛擬盒式磁帶的一個范例的圖表; 圖11是儲存完整的綜合性備份數(shù)據(jù)組的虛擬盒式磁帶的另一個范例的圖表; 圖12是依照本發(fā)明刪除重復(fù)數(shù)據(jù)對象的方法的流程圖; 圖13A是兩個備份數(shù)據(jù)對象的圖表; 圖13B是圖13A所描繪的備份數(shù)據(jù)對象的刪除重復(fù)的副本的圖表;而 圖13C是圖13A所描繪的備份數(shù)據(jù)對象的刪除重復(fù)的副本的另一個圖表。
具體實施例方式
現(xiàn)在將參照附圖更詳細(xì)地描述其各種不同的實施方案和方面。人們將領(lǐng)會到這項 發(fā)明在其應(yīng)用方面不局限于在下面的描述中陳述的和在附圖中舉例說明的各種成份的構(gòu) 造和安排的細(xì)節(jié)。本發(fā)明能夠有其它實施方案和以各種不同的方式實踐或?qū)嵤?。特定的?實范例在此僅僅是為了舉例說明準(zhǔn)備的,不傾向于作為限制。具體地說,結(jié)合任何一個或多 個實施方案討論的行為、元素和特征都不傾向于被排除在任何其它實施方案的相似的作用 之夕卜。另外,在此使用的措辭和術(shù)語是為了描述,不應(yīng)該被視為限制。"包括"、"包含"、"有"、 "包含"、"包括"及其在此的變化的使用意味著囊括其后列出的項目及其等同項目以及附加 項目。 如同在此使用的那樣,術(shù)語"主機"指的是能夠與其它裝置(例如,存儲系統(tǒng)或其 它的主機)通信的有至少一個處理器的任何計算機,例如,個人計算機、工作站,大型計算 機、聯(lián)網(wǎng)的客戶機、服務(wù)器,等等。主機可能包括媒體服務(wù)器和應(yīng)用服務(wù)器(如同先前參照
圖l描述的那樣)以及用戶計算機(它可能是用戶工作站、個人計算機,主機,等等)。除 此之外,在這份揭示之內(nèi),術(shù)語"聯(lián)網(wǎng)的計算機環(huán)境"包括任何計算機環(huán)境,在該環(huán)境中眾多 主機以這樣的方式與一個或多個共享的存儲系統(tǒng)連接,以致該存儲系統(tǒng)能與每一個主機通 信。光纖通道是可能用于本發(fā)明的實施方案的通信網(wǎng)絡(luò)的一個范例。然而,人們將領(lǐng)會到在 此描述的網(wǎng)絡(luò)不局限于光纖通道,而且各種不同的網(wǎng)絡(luò)成份可以在代替或補充光纖通道的 任何網(wǎng)絡(luò)連接(例如,令牌環(huán)網(wǎng)(Token Ring)或以太網(wǎng))上或在在不同的網(wǎng)絡(luò)連接的組合上彼此通信。此外,本發(fā)明的各個方面也可能被用于總線拓?fù)洌?,SCSI或平行的SCSI。
依照本發(fā)明的各種不同的實施方案和方面,提供虛擬的可拆裝的媒體庫備份存儲 系統(tǒng),該存儲系統(tǒng)可能使用一個或多個磁盤陣列模仿以可拆裝的媒體為基礎(chǔ)的存儲系統(tǒng)。 使用本發(fā)明的實施方案,數(shù)據(jù)可以被備份到使用同樣的備份/還原應(yīng)用程序的磁盤陣列 上,如同過去用來把數(shù)據(jù)備份到可拆裝的媒體(例如,磁帶、磁盤、光盤,等等)上,用戶不必 對現(xiàn)有的備份程序作任何修改或調(diào)整或者購買新的備份/還原應(yīng)用程序。在本文詳細(xì)描述 的一個實施方案中,被仿效的可拆裝媒體是磁帶,而本發(fā)明的備份存儲系統(tǒng)仿效包括磁帶 和在傳統(tǒng)的磁帶庫系統(tǒng)中用來搬運磁帶的機器人機制的磁帶庫系統(tǒng)。 可以使用本發(fā)明的實施方案備份和還原的數(shù)據(jù)可能被組織成各種不同的數(shù)據(jù)對 象。這些數(shù)據(jù)對象可能包括可以將數(shù)據(jù)儲存在其中的任何結(jié)構(gòu)??煞滦У臄?shù)據(jù)對象的非限 制性目錄包括位、字節(jié)、數(shù)據(jù)文件、數(shù)據(jù)塊、數(shù)據(jù)目錄、備份數(shù)據(jù)組和虛擬盒式磁帶,下面將 進(jìn)一步討論。雖然這個揭示大部份提及數(shù)據(jù)文件的備份和還原,但是本發(fā)明的實施方案可 以操縱任何數(shù)據(jù)對象,而且人們將領(lǐng)會到術(shù)語"數(shù)據(jù)文件"與"數(shù)據(jù)對象"是可互換的。
依照本發(fā)明的某些方面的存儲系統(tǒng)包括一起與運行備份/還原應(yīng)用程序的主機 和備份存儲媒體接口的硬件和軟件。該存儲系統(tǒng)可能被設(shè)計成仿效磁帶或其它類型的可移 去存儲媒體,以致備份/還原應(yīng)用程序看到與實際的磁帶庫一樣的裝置和媒體的視野,而 且被設(shè)計成把線性的連續(xù)的磁帶格式的數(shù)據(jù)轉(zhuǎn)換成適合儲存在隨機存取的磁盤上的數(shù)據(jù)。 這樣,本發(fā)明的存儲系統(tǒng)可以提供增強的功能性(例如,允許用戶尋找個別的備份用戶文 件,下面將討論),不需要新的備份/還原應(yīng)用軟件或政策。 參照圖2,以方框圖形式舉例說明包括依照本發(fā)明的某些方面的備份存儲系統(tǒng) 170的聯(lián)網(wǎng)計算機環(huán)境的一個實施方案。如圖所示,主機120經(jīng)由網(wǎng)絡(luò)連接121與存儲系統(tǒng) 170耦合。這個網(wǎng)絡(luò)連接121可能是,舉例來說,允許在主機120和存儲系統(tǒng)170之間高速 轉(zhuǎn)移數(shù)據(jù)的光纖通道連接。人們將領(lǐng)會到主機120可能是或可能包括一個或多個應(yīng)用服務(wù) 器102(見圖1)和/或媒體服務(wù)器114(見圖1)而且可能使數(shù)據(jù)的備份能夠來自該聯(lián)網(wǎng)計 算機環(huán)境中出現(xiàn)的任何計算機或來自主存儲器裝置106 (見圖1)。除此之外, 一個或多個用 戶計算機136也可能經(jīng)由另一個網(wǎng)絡(luò)連接138 (例如,以太網(wǎng)連接)與存儲系統(tǒng)170耦合。 依照下面的詳細(xì)討論,該存儲系統(tǒng)可能使用戶計算機136的用戶能夠看到和非必選地還原 來自該存儲系統(tǒng)的備份用戶文件。 該存儲系統(tǒng)包括備份存儲媒體126,該存儲媒體可能是,舉例來說, 一個或多個磁 盤陣列,下面將更詳細(xì)地討論。備份存儲媒體126為來自主機120的備份數(shù)據(jù)準(zhǔn)備實際的存 儲空間。然而,存儲系統(tǒng)170也可能包括仿效諸如磁帶庫之類的可拆裝的媒體存儲系統(tǒng)的 軟件和追加硬件,以致對在主機120上運行的備份/還原應(yīng)用程序來說,好像數(shù)據(jù)正在往傳 統(tǒng)的可拆裝的存儲媒體上備份。因此,如圖2所示,存儲系統(tǒng)170可能包括"仿效媒體"134, 該仿效媒體代表,舉例來說,虛擬的或仿效的可拆裝存儲媒體,例如,磁帶。這些"仿效媒 體"134被存儲系統(tǒng)軟件和/或硬件呈現(xiàn)指向主機而且在主機120看來似乎是實際的存儲 媒體。在仿效媒體134和真實的備份存儲媒體126之間進(jìn)一步的接口可能是存儲系統(tǒng)控制 器(未展示)和開關(guān)網(wǎng)絡(luò)132,后者接受來自主機120的數(shù)據(jù)并且把該數(shù)據(jù)儲存到備份存儲 媒體126上,下面將更完全地詳細(xì)討論。這樣,該存儲系統(tǒng)對主機來說"仿效"傳統(tǒng)的磁帶 存儲系統(tǒng)120。
9
依照一個實施方案,該存儲系統(tǒng)可能包括儲存與從主機120備份到存儲系統(tǒng)170 上的用戶數(shù)據(jù)有關(guān)的元數(shù)據(jù)的"邏輯元數(shù)據(jù)高速緩沖存儲器"242。如同在此使用的那樣, 術(shù)語"元數(shù)據(jù)"指的是表現(xiàn)關(guān)于用戶數(shù)據(jù)的信息和描述真實用戶數(shù)據(jù)屬性的數(shù)據(jù)。關(guān)于數(shù) 據(jù)對象的元數(shù)據(jù)的可仿效的非限制性目錄可能包括數(shù)據(jù)對象大小、數(shù)據(jù)對象在主存儲器中 的邏輯和/或?qū)嶋H位置、數(shù)據(jù)對象的創(chuàng)建日期、數(shù)據(jù)對象的最后修改日期、儲存數(shù)據(jù)對象的 備份策略名、數(shù)據(jù)對象的標(biāo)識符(例如,名稱或水印)和數(shù)據(jù)對象的數(shù)據(jù)類型,例如,與數(shù)據(jù) 對象相關(guān)聯(lián)的軟件應(yīng)用程序。邏輯元數(shù)據(jù)高速緩沖存儲器242代表準(zhǔn)許用戶和/或軟件應(yīng) 用程序隨機地確定備份用戶文件的位置,將用戶文件相互比較以及以別的方式存取和操縱 備份用戶文件的可搜尋的數(shù)據(jù)集合??梢允褂脙Υ嬖谶壿嬙獢?shù)據(jù)高速緩沖存儲器242中的 數(shù)據(jù)的軟件應(yīng)用程序的兩個范例包括將更全面地討論的合成完整備份應(yīng)用程序240和用 戶端還原應(yīng)用程序300。 簡而言之,合成完整備份應(yīng)用程序240能夠利用一個現(xiàn)有的完整備份數(shù)據(jù)組和一 個或多個增量備份數(shù)據(jù)組創(chuàng)建合成完整備份數(shù)據(jù)組。合成完整備份可能消除對定期(例 如,每周)完成全部備份的需求,借此節(jié)省相當(dāng)多的時間和網(wǎng)絡(luò)資源。合成完整備份應(yīng)用程 序240的細(xì)節(jié)將在下面進(jìn)一步描述。也將在下面更全面地詳細(xì)描述的用戶還原應(yīng)用300使 用戶能夠(例如,用戶計算機136的操作員)瀏覽、定位、查看和/或還原來自存儲系統(tǒng)170 的先前備份的用戶文件。 依照前面的討論,存儲系統(tǒng)170包括與主機120和備份存儲媒體126接口的硬件 和軟件。同時,本發(fā)明的實施方案的硬件和軟件可以這樣仿效傳統(tǒng)的磁帶庫備份系統(tǒng),以致 從主機120的觀點看,數(shù)據(jù)似乎被備份到磁帶上,但是事實上被備份到另一種存儲媒體(例 如,眾多磁盤陣列)上,。 參照圖3,以方框圖的形式舉例說明依照本發(fā)明的某些方面的存儲系統(tǒng)170的一 個實施方案。在一個范例中,存儲系統(tǒng)170的硬件包括存儲系統(tǒng)控制器122和把存儲系統(tǒng) 控制器122與備份存儲媒體126連接起來的開關(guān)網(wǎng)絡(luò)132。存儲系統(tǒng)控制器122包括可以 運行全部或一部分存儲系統(tǒng)軟件的處理器127(可能是單一的處理器或多樣的處理器)和 存儲器129 (例如,RAM、 ROM、 PR0M、 EEPR0M、閃存存儲器體或其組合,等等)。存儲器129也 可能用來儲存與儲存在備份存儲媒體126上的數(shù)據(jù)有關(guān)的元數(shù)據(jù)。軟件,包括實現(xiàn)本發(fā)明 的實施方案的程序碼,通常被儲存在計算機易讀的和/或可寫入的諸如RAM、 R0M、光盤、磁 盤或磁帶之類的非易失性記錄媒體上,然后被復(fù)制到存儲器129之中,然后它可能被處理 器127運行。這樣的程序碼可能是用眾多程序設(shè)計語言(例如,Java、Visual Basic、C、C# 或C++、Tortran、Pascal、Eiffel、Basic、COBAL或其組合)編寫的,因為本發(fā)明不受特定的 程序設(shè)計語言限制。通常,在操作時,處理器127引起將數(shù)據(jù)(例如,實現(xiàn)本發(fā)明的實施方 案的代碼)從非易失性記錄媒體讀到另一種形式的存儲器(例如,RAM)中,后者考慮到與 非易失性記錄媒體相比處理器能更快速地存取數(shù)據(jù)。 如圖3所示,控制器122還包括一些端口適配器,這些適配器把控制器122與主機 120和開關(guān)網(wǎng)絡(luò)132連接在一起。如圖所示,主機120經(jīng)由端口適配器124a與存儲系統(tǒng)耦 合,該端口適配器可能是,舉例來說,光纖通道端口適配器。經(jīng)由存儲系統(tǒng)控制器122,主機 120把數(shù)據(jù)備份到備份存儲媒體126上而且能還原來自備份存儲媒體126的數(shù)據(jù)。
在列舉的范例中,開關(guān)網(wǎng)絡(luò)132可能包括一個或多個光纖通道開關(guān)128a、128b。存儲系統(tǒng)控制器122包括眾多使該存儲系統(tǒng)控制器與光纖通道開關(guān)128a、 128b耦合的光纖通 道端口適配器124b和124c。借助光纖通道開關(guān)128a、128b,存儲系統(tǒng)控制器122允許將數(shù) 據(jù)備份到備份存儲媒體126上。如圖3所示,開關(guān)網(wǎng)絡(luò)132可能進(jìn)一步包括一個或多個經(jīng) 由以太網(wǎng)絡(luò)端口適配器125a、 125b與存儲系統(tǒng)控制器122耦合的以太網(wǎng)絡(luò)開關(guān)130a、 130b。 在一個范例中,存儲系統(tǒng)控制器122進(jìn)一步包括另一個以太網(wǎng)端口適配器125c,該端口適 配器可能,舉例來說,與局域網(wǎng)103耦合,使存儲系統(tǒng)170能夠如同下面討論的那樣與主機 (例如,用戶計算機)通信。 在圖3舉例說明的范例中,存儲系統(tǒng)控制器122經(jīng)由包括兩個光纖通道開關(guān)和兩 個以太網(wǎng)開關(guān)的開關(guān)網(wǎng)絡(luò)與備份存儲媒體126耦合。在存儲系統(tǒng)170內(nèi)每個類型的開關(guān)至 少提供兩個消除了該系統(tǒng)中的任何單一故障點。換句話說,即使一個開關(guān)(例如,光纖通道 開關(guān)128a)出現(xiàn)故障,該存儲系統(tǒng)控制器122將仍然能夠經(jīng)由另一個開關(guān)與備份存儲媒體 126通信。這樣的安排在可信度和速度方面可能是有利的。舉例來說,依照前面的討論,可 信度是通過提供冗余的成份和消除單一故障點改善的。除此之外,在一些實施方案中,該 存儲系統(tǒng)控制器能夠使用一些或全部光纖通道開關(guān)平行地把數(shù)據(jù)備份到備份存儲媒體126 上,借此增加總的備份速度。然而,人們將領(lǐng)會到既沒有在該系統(tǒng)中每個類型的開關(guān)要有兩 個以上的需求,也沒有該開關(guān)網(wǎng)絡(luò)要包含光纖通道和以太網(wǎng)兩種開關(guān)的需求。此外,在備份 存儲媒體126包含單一磁盤陣列的范例中,開關(guān)可能根本不是必需的。
依照前面的討論,在一個實施方案中,備份存儲媒體126可能包括一個或多個磁 盤陣列。在一個優(yōu)選的實施方案中,備份存儲媒體126包括眾多ATA或SATA磁盤。這樣的 磁盤是"現(xiàn)貨供應(yīng)"產(chǎn)品而且與來自諸如EMC、 IBM之類的制造商的傳統(tǒng)的存儲器陣列產(chǎn)品 相比可能是相對便宜的。此外,當(dāng)人們分析可拆裝媒體(例如,磁帶)的費用和這樣的媒體 壽命有限這一事實的時候,這樣的磁盤在費用方面與以傳統(tǒng)磁帶為基礎(chǔ)的備份存儲系統(tǒng)是 相當(dāng)?shù)?。除此之外,這樣的磁盤能以實質(zhì)上比磁帶快的速度讀/寫數(shù)據(jù)。舉例來說,在單一 的光纖通道連接上,數(shù)據(jù)能以至少大約150MB/s(大約540GB/hr)的速度備份到磁盤上,這 個速度明顯地比磁帶備份速度快(例如,快一個數(shù)量級)。除此之外, 一些光纖通道連接可 能是平行地實現(xiàn)的,借此進(jìn)一步增加速度。依照本發(fā)明的實施方案,備份存儲媒體可能是為 實現(xiàn)許多種RAID(獨立磁盤的冗余陣列)方案之中的任何一種RAID組織起來的。舉例來 說,在一個實施方案中,備份存儲媒體可能實現(xiàn)RAID-5落實。 依照前面的討論,本發(fā)明的實施方案使用磁盤陣列代替盒式磁帶作為實際的備份 存儲媒體仿效傳統(tǒng)的磁帶庫備份系統(tǒng),借此提供"虛擬磁帶庫"。在傳統(tǒng)的磁帶庫中會出現(xiàn) 的實際的盒式磁帶被在此稱之為"虛擬盒式磁帶"的東西代替。人們將領(lǐng)會到為了這份揭 示,術(shù)語"虛擬磁帶庫"指的是可以以軟件和/或?qū)嶋H硬件(例如,一個或多個磁盤陣列)實 現(xiàn)的仿效磁帶庫。人們將進(jìn)一步領(lǐng)會到,雖然這個討論主要提到仿效磁帶,但是該存儲系統(tǒng) 也可能仿效其它的存儲媒體,例如,CD-ROM或DVD-R0M,而且術(shù)語"虛擬的盒式磁帶"通常指 的是仿效存儲媒體,例如,仿效磁帶或仿效CD。在一個實施方案中,虛擬的盒式磁帶事實上 對應(yīng)于一個或多個硬盤。 因此,在一個實施方案中,軟件接口是為仿效磁帶庫提供的,以致對備份/還原應(yīng) 用程序來說似乎數(shù)據(jù)正在備份到磁帶上。然而,真實的磁帶庫已被一個或多個磁盤陣列代 替,以致數(shù)據(jù)事實上正在備份到這些磁盤陣列上。人們將領(lǐng)會到其它類型的可拆裝媒體存儲系統(tǒng)可能被仿效,而且本發(fā)明不局限于仿效磁帶庫存儲系統(tǒng)?,F(xiàn)在將用下面的討論解釋 包括在存儲系統(tǒng)170之中的軟件的各種不同的方面、特征和操作。 人們將領(lǐng)會到雖然該軟件可能被描述為"包括"在存儲系統(tǒng)170之中,而且可能被 存儲系統(tǒng)控制器122的處理器127運行(見圖3),但是不要求所有的軟件都在存儲系統(tǒng)控 制器122上運行。諸如合成完整備份應(yīng)用程序和用戶端還原應(yīng)用程序之類的軟件程序可能 在主機和/或用戶計算機上運行,而其一部分可能分布在所有的或一些存儲系統(tǒng)控制器、 主機和用戶計算機上。因此,人們將領(lǐng)會到不要求存儲系統(tǒng)控制器是所包含的物理實體,例 如,計算機。存儲系統(tǒng)170可能與駐留在諸如媒體服務(wù)器114或應(yīng)用服務(wù)器102之類的主機 上的軟件通信。除此之外,該存儲系統(tǒng)可能包含一些軟件應(yīng)用程序,這些程序可能在相同的 或不同的主機上運行或駐留。此外,人們將領(lǐng)會到存儲系統(tǒng)170不局限于離散的設(shè)備,雖然 在一些實施方案中,存儲系統(tǒng)170可能被體現(xiàn)為離散的設(shè)備。在一個范例中,存儲系統(tǒng)170 可能是作為代替?zhèn)鹘y(tǒng)的磁帶庫備份系統(tǒng)起"即插即用"作用(即,不需要對現(xiàn)有的備份程序 和策略進(jìn)行修改)的獨立單元提供的。這樣的存儲系統(tǒng)單元也可能被用于聯(lián)網(wǎng)的計算機環(huán) 境,該環(huán)境包括提供冗余度或附加的存儲能力的傳統(tǒng)備份系統(tǒng)。在另一個實施方案中,存儲 系統(tǒng)116可能是在分布式計算機環(huán)境(例如,群集或柵格環(huán)境)中實現(xiàn)的。
與前面的討論一樣,依照一個實施方案,主機120 (它可能是,舉例來說,應(yīng)用服務(wù) 器102或媒體服務(wù)器114,見圖1)可以經(jīng)由將主機120與存儲系統(tǒng)170耦合的網(wǎng)絡(luò)鏈路(例 如,光纖通道鏈路)121把數(shù)據(jù)備份到備份存儲媒體126上。人們將領(lǐng)會到雖然下面的討論 將主要提及往仿效媒體上備份數(shù)據(jù),但是那些原則也適用于還原來自該仿效媒體的備份數(shù) 據(jù)。依照前面的討論,主機120和仿效媒體134之間的數(shù)據(jù)流可能受備份/還原應(yīng)用程序 控制。從備份/還原應(yīng)用程序的角度看,似乎是數(shù)據(jù)實際上被備份到仿效媒體的實際版本 上。 參照圖4,存儲系統(tǒng)軟件150可能包括一個或多個代表仿效媒體的合乎邏輯的抽 象層而且在駐留在主機120和備份存儲媒體126上的備份/還原應(yīng)用程序140之間提供接 口 。軟件150接受來自備份/還原應(yīng)用程序140的磁帶格式數(shù)據(jù)而且把該數(shù)據(jù)轉(zhuǎn)換成適合 儲存在隨機存取磁盤(例如,硬盤、光盤,等等)上的數(shù)據(jù)。在一個范例中,這個軟件150是 在存儲系統(tǒng)控制器122的處理器127上運行的而且可能被儲存在存儲器129中(見圖3)。
依照一個實施方案,軟件150可能包括在此被稱為虛擬磁帶庫(VTL)層142的層, 該層可以提供磁帶、磁帶驅(qū)動器和用來在磁帶驅(qū)動器之間來回轉(zhuǎn)移磁帶的機器人機制的 SCSI仿效。備份/還原應(yīng)用程序140可能使用,舉例來說,SCSI指令與VTL 142通信(例 如,把數(shù)據(jù)備份或?qū)懙椒滦襟w上),如箭頭144所示。因此,該VTL可以形成在其它的存儲 系統(tǒng)軟件和硬件與該備份/還原應(yīng)用程序之間的軟件接口 ,從而把仿效存儲媒體134 (圖2) 呈現(xiàn)指向備份/還原應(yīng)用程序和允許仿效媒體對備份/還原應(yīng)用程序來說似乎是傳統(tǒng)的可 拆裝的備份存儲媒體。 在此稱之為文件系統(tǒng)層146的第二軟件層可以在仿效存儲媒體(表現(xiàn)在VTL中) 和實際的備份存儲媒體126之間提供接口。在一個范例中,文件系統(tǒng)146充當(dāng)迷你操作系 統(tǒng),使用,舉例來說,SCSI指令與備份存儲媒體126通信,如箭頭148所示,從備份存儲媒體 126讀數(shù)據(jù)/把數(shù)據(jù)寫到備份存儲媒體126上。 在一個實施方案中,VTL提供普通的磁帶庫支持和可能支持任何SCSI媒體變換
12器。仿效磁帶裝置可能包括但不限于IBMLT0-l和LT0-2磁帶裝置、QUANTUM SuperDLT320 磁帶裝置、QUANTUM P3000磁帶庫系統(tǒng)或STORAGETEK L180磁帶庫系統(tǒng)。在VTL內(nèi),當(dāng)數(shù)據(jù) 被儲存的時候,每個虛擬的盒式磁帶都是可以隨著數(shù)據(jù)存入動態(tài)生長的文件。這與有固定 大小的傳統(tǒng)盒式磁帶相反。 一個或多個虛擬盒式磁帶可能如同下面關(guān)于圖5進(jìn)一步描述的 那樣被儲存在系統(tǒng)文件中。 圖5舉例說明在依照本發(fā)明的一個實施方案舉例說明系統(tǒng)文件200的文件系統(tǒng) 軟件146內(nèi)數(shù)據(jù)結(jié)構(gòu)的一個范例。在這個實施方案中,系統(tǒng)文件200包括首部202和數(shù)據(jù) 204。首部202可能包括識別儲存在系統(tǒng)文件中的每個虛擬盒式磁帶的信息。首部也可能包 含這樣的信息,例如,虛擬盒式磁帶是否被寫保護,虛擬盒式磁帶的創(chuàng)建/修改日期,等等。 在一個范例中,首部202包括唯一地識別每個虛擬盒式磁帶和把每個虛擬盒式磁帶與儲存 在該存儲系統(tǒng)中的其它虛擬盒式磁帶區(qū)分開的信息。舉例來說,這個信息可能包括虛擬盒 式磁帶的名稱和識別編號(對應(yīng)于通常出現(xiàn)在實際磁帶上便于機器人機制識別磁帶的通
行碼)。首部202也可能包含附加信息,例如,每個虛擬盒式磁帶的容量,最后的修改日期,
坐坐 寸寸。 依照本發(fā)明的一個實施方案,首部202的大小可能被優(yōu)化,為的是反映被儲存數(shù) 據(jù)的類型(例如,代表來自一個或多個主機系統(tǒng)的數(shù)據(jù)備份的虛擬盒式磁帶)和系統(tǒng)能追 蹤的這種截然不同的數(shù)據(jù)組(例如,虛擬盒式磁帶)的數(shù)目。舉例來說,通常備份到磁帶存 儲系統(tǒng)上的數(shù)據(jù)通常是用代表很多系統(tǒng)和用戶文件的較大的數(shù)據(jù)組表征的。因為該數(shù)據(jù)組 是如此大,要追蹤的離散的數(shù)據(jù)文件的數(shù)目可能是對應(yīng)地小。因此,在一個實施方案中,首 部202的大小可能是基于儲存太多的數(shù)據(jù)無法有效地掌控(即,首部太大)和沒有空間儲 存足夠多的盒式磁帶標(biāo)識符(即,首部太小)之間的折中選定的。在一個可仿效的實施方 案中,首部202利用系統(tǒng)文件200的頭32MB。然而,人們將領(lǐng)會到首部202可能根據(jù)系統(tǒng)的 需要和特征有不同的大小,而且人們可以根據(jù)系統(tǒng)的需要和容量為首部202選擇不同的大 小。 人們將領(lǐng)會到,從備份/還原應(yīng)用程序的角度來看,虛擬盒式磁帶是作為有所有 相同屬性和特征的實際盒式磁帶出現(xiàn)的。換句話說,對備份還原應(yīng)用程序來說,虛擬盒式磁 帶是作為連續(xù)寫入的磁帶出現(xiàn)的。然而,在一個優(yōu)選的實施方案中,儲存在虛擬盒式磁帶中 的數(shù)據(jù)不以連續(xù)的格式儲存在備份存儲媒體126上。而是,在虛擬盒式磁帶看來似乎要寫 入的數(shù)據(jù)事實上是作為可隨機存取的磁盤格式的數(shù)據(jù)儲存在存儲系統(tǒng)的文件中。元數(shù)據(jù) 用來鏈接儲存數(shù)據(jù)和虛擬盒式磁帶,以便備份/還原應(yīng)用程序能以盒式磁帶的格式讀寫數(shù) 據(jù)。 因此,在一個優(yōu)選實施方案的綜述中,用戶和/或系統(tǒng)數(shù)據(jù)(在此稱之為"文件數(shù) 據(jù)")被來自主機120的存儲系統(tǒng)170接受和被儲存在構(gòu)成備份存儲媒體126的磁盤陣列 上。存儲系統(tǒng)的軟件150(見圖4)和/或硬件把這個文件數(shù)據(jù)以系統(tǒng)文件的形式寫到備份 存儲媒體126中,下面將更詳細(xì)地描述。元數(shù)據(jù)在備份數(shù)據(jù)文件的時候被存儲系統(tǒng)控制器 提取,以便掌握被備份的用戶/或系統(tǒng)文件的屬性。舉例來說,對于每個文件這樣的元數(shù)據(jù) 可能包括文件名、文件的創(chuàng)建日期或最后修改日期、與文件有關(guān)的任何加密信息、以及其它 信息。除此之外,元數(shù)據(jù)可能是由存儲系統(tǒng)針對每個文件產(chǎn)生的,它把文件和虛擬盒式磁帶 聯(lián)系起來。使用這樣的元數(shù)據(jù),軟件把盒式磁帶的仿效過程提供指向主機;然而文件數(shù)據(jù)事實上沒有按磁帶格式儲存,而是被儲存在系統(tǒng)文件中,下面將討論。把數(shù)據(jù)儲存在系統(tǒng)文件 中,并非以連續(xù)的盒式磁帶格式,可能是有利的,因為它允許快速、有效、隨機地存取個別文 件,不需要為了尋找特定的文件從頭到尾掃描連續(xù)的數(shù)據(jù)。 依照前面的討論,依照一個實施方案,文件數(shù)據(jù)(即,用戶和/或系統(tǒng)數(shù)據(jù))作為 系統(tǒng)文件被儲存在備份存儲媒體上,每個系統(tǒng)文件都包括首部和數(shù)據(jù),數(shù)據(jù)是真實的用戶 和/或系統(tǒng)文件。每個系統(tǒng)文件200的首部202都包括磁帶目錄206,該磁帶目錄包含把鏈 路用戶和/或系統(tǒng)文件與虛擬盒式磁帶聯(lián)系起來的元數(shù)據(jù)。在此使用的術(shù)語"元數(shù)據(jù)"指 的不是用戶或系統(tǒng)文件數(shù)據(jù),而是描述真實的用戶和/或系統(tǒng)數(shù)據(jù)的屬性的數(shù)據(jù)。依照一 個范例,磁帶目錄可能降至字節(jié)水平定義數(shù)據(jù)在虛擬盒式磁帶上的布局。
在一個實施方案中,磁帶目錄206有表格結(jié)構(gòu),如圖6所示。該表格包括儲存信息 類型(例如,數(shù)據(jù)、文件標(biāo)志(FM),等等)的列220、按字節(jié)計表示所用磁盤區(qū)段大小的列 222和計算儲存文件數(shù)據(jù)的磁盤區(qū)段的數(shù)目的列224。因此,磁帶目錄允許控制器隨機地 (與連續(xù)地相反)存取任何儲存在備份存儲媒體上的數(shù)據(jù)文件126。舉例來說,參照圖6, 因為磁帶目錄指出文件226的數(shù)據(jù)從系統(tǒng)文件200的起點開始一個區(qū)段,所以可以很快地 確定該數(shù)據(jù)文件226在虛擬磁帶上的位置。這一個區(qū)段沒有大小,因為它對應(yīng)于文件標(biāo)志 (FM)。文件標(biāo)志不儲存在系統(tǒng)文件中,S卩,文件標(biāo)志對應(yīng)于零數(shù)據(jù)。磁帶目錄包括文件標(biāo)志, 因為它們被傳統(tǒng)的磁帶使用,因此備份/還原應(yīng)用程序把文件標(biāo)志連同數(shù)據(jù)文件一起寫入 并且期待在查看虛擬盒式磁帶的時候能看到文件標(biāo)志。所以,文件標(biāo)志是在磁帶目錄中掌 握的。然而,文件標(biāo)志不代表任何數(shù)據(jù)并因此不儲存在系統(tǒng)文件的數(shù)據(jù)段中。因此,文件 226的數(shù)據(jù)從箭頭205指出的系統(tǒng)文件的數(shù)據(jù)段的起點開始(見圖5),而且在長度方面是 1024個字節(jié)(即,大小為1024個字節(jié)的一個磁盤區(qū)段)。人們應(yīng)該領(lǐng)會到其它的文件數(shù)據(jù) 可能是按不同于1024個字節(jié)的區(qū)段大小儲存的,取決于數(shù)據(jù)量,S卩,數(shù)據(jù)文件大小。舉例來 說,為了提高效率,較大的數(shù)據(jù)文件可能是用較大的磁盤區(qū)段儲存的。 在一個范例中,磁帶目錄可能被包含在"文件描述符"中,該文件描述符與備份在 存儲系統(tǒng)上的每個數(shù)據(jù)文件相關(guān)聯(lián)。文件描述符包含與儲存在存儲系統(tǒng)上的數(shù)據(jù)文件204 有關(guān)的元數(shù)據(jù)。在一個實施方案中,文件描述符可能是依照標(biāo)準(zhǔn)化的格式(例如,大多數(shù)以 UNIX為基礎(chǔ)的系統(tǒng)使用的磁帶存檔(tar)格式)實現(xiàn)的。每個文件描述符可能包括諸如對 應(yīng)的用戶文件名、用戶文件的產(chǎn)生/修改日期、用戶文件大小、有關(guān)用戶文件的任何存取限 制之類的信息。儲存在文件描述符中的附加信息可能進(jìn)一步包括描述利用哪種目錄結(jié)構(gòu)復(fù) 制數(shù)據(jù)的信息。因此,文件描述符可能包含關(guān)于對應(yīng)的數(shù)據(jù)文件的可搜尋的元數(shù)據(jù),下面將 更詳細(xì)地討論。 從備份/還原應(yīng)用程序的角度看,任何虛擬盒式磁帶都可能包含眾多數(shù)據(jù)文件和
對應(yīng)的文件描述符。從存儲系統(tǒng)軟件的角度看,數(shù)據(jù)文件被儲存在系統(tǒng)文件中,該系統(tǒng)文件
可能與,舉例來說,特定的備份任務(wù)鏈接。舉例來說,一臺主機在特定的時間運行的備份可
能產(chǎn)生一份可能與一個或多個虛擬盒式磁帶相對應(yīng)的系統(tǒng)文件。虛擬盒式磁帶因此可能有
任何大小而且可能隨著更多的用戶文件被儲存在虛擬盒式磁帶上動態(tài)地生長。 再一次參照圖2,依照前面的討論,存儲系統(tǒng)170可能包括合成完整備份軟件應(yīng)用
程序240。在一個實施方案中,主機120把數(shù)據(jù)備份到仿效媒體134上,形成一個或多個虛
擬盒式磁帶。在一些計算機環(huán)境中,"完整備份",即儲存在網(wǎng)絡(luò)中的主存儲系統(tǒng)上的所有數(shù)據(jù)的備份副本(見到圖l),可能是定期地(例如,每周)完成的。這個程序通常是非常冗長 的,因為有大量的數(shù)據(jù)要復(fù)制。所以,在許多計算機環(huán)境中,稱為增量備份的追加備份可能 是在連貫的完整備份之間完成的,例如,每天。增量備份是只備份自從最后的備份被運行以 來已經(jīng)改變的數(shù)據(jù)(無論是增量還是完整的)的程序。通常,這個改變的數(shù)據(jù)是以文件為 基礎(chǔ)備份的,即使往往文件中的大部分?jǐn)?shù)據(jù)尚未改變。因此,增量備份通常非常小,因此完 成得比被完整備份快得多。人們將領(lǐng)會到雖然許多環(huán)境通常執(zhí)行每周一次的完整備份并在 該周期間執(zhí)行每天的增量備份,但是沒有使用這樣的時間范圍的需求。舉例來說,特定的環(huán) 境可能要求每天增量備份好幾次。本發(fā)明的原則適用于使用完整備份(和非必選的增量備 份)的任何環(huán)境,不管它們多久運行一次。 在完整備份程序期間,主機可能創(chuàng)建一個或多個包含組成眾多數(shù)據(jù)文件的備份數(shù) 據(jù)的虛擬盒式磁帶。為了清楚起見,下面的討論將假定完整備份只產(chǎn)生一個虛擬盒式磁帶。 然而,人們將領(lǐng)會到一完整備份可能產(chǎn)生不止一個虛擬盒式磁帶,而且本發(fā)明的原則適用 于任何虛擬盒式磁帶數(shù)目。 依照一個實施方案,提供一種利用一個現(xiàn)有的完整備份數(shù)據(jù)組和一個或多個增量 備份數(shù)據(jù)組創(chuàng)建合成的完整備份數(shù)據(jù)組的方法。這個方法可能消除對完成周期性(例如, 每周)的完整備份的需要,借此節(jié)省用戶相當(dāng)多的時間和網(wǎng)絡(luò)資源。此外,如同熟悉這項技 術(shù)的人所知道的那樣,以完整備份和一個或多個增量備份為基礎(chǔ)還原數(shù)據(jù)可能是耗費時間 的程序,因為,舉例來說,如果文件的最新版本存在于增量備份之中,那么備份/還原應(yīng)用 程序通常將以最后的完整備份為基礎(chǔ)還原該文件,然后應(yīng)用來自增量備份的任何變化。所 以,提供合成的完整備份可能有允許備份還原應(yīng)用程序獨自以合成的完整備份為基礎(chǔ)較快 地還原數(shù)據(jù)文件而不需要從完整備份和一個或多個增量備份起完成多樣的還原的附加利 益。人們將領(lǐng)會到在此使用的片語"最新版本"通常指的是數(shù)據(jù)文件的最新副本(即,保存 數(shù)據(jù)文件的最近的時間),無論該文件是否有新的版本編號。術(shù)語"版本"在此通常用來表 示可能以某種方式修改過的或可能已經(jīng)被保存多次的同一文件的副本。
參照圖7,舉例說明合成完整備份程序的示意表達(dá)。主機120可能及時地在第一 瞬間運行完整備份230,舉例來說,在周末。然后主機120可能運行后來的增量備份232a、 232b、232c、232d、232e,舉例來說,在一周中的每個工作日。然后,存儲系統(tǒng)170可能如同下 面討論的那樣產(chǎn)生合成的完整備份數(shù)據(jù)組234。 依照一個實施方案,存儲系統(tǒng)170可能包括在此稱之為合成完整備份應(yīng)用程序 240的軟件應(yīng)用程序(見圖3)。合成完整備份應(yīng)用程序240可能在存儲系統(tǒng)控制器122上 運行(見圖2)也可能在主機120上運行。合成完整備份應(yīng)用程序包括創(chuàng)建合成的完整備 份數(shù)據(jù)組234必不可少的軟件指令和界面。在一個范例中,合成完整備份應(yīng)用程序可能完 成每個完整備份數(shù)據(jù)組230和增量備份數(shù)據(jù)組232的元數(shù)據(jù)表達(dá)的邏輯歸并,產(chǎn)生包含合 成的完整備份數(shù)據(jù)組234的新的虛擬盒式磁帶。 舉例來說,參照圖8,現(xiàn)有的完整備份數(shù)據(jù)組可能包括用戶文件F1、 F2、 F3和F4。 第一增量備份數(shù)據(jù)組232可能包括用戶文件F2' ,F(xiàn)2的修改版本,和F3' F3的修改版本。 第二增量備份數(shù)據(jù)組232b可能包括用戶文件Fl' , Fl的修改版本,和F2〃 , F2的進(jìn)一步 修改版本,以及新的用戶文件F5。所以,由完整備份數(shù)據(jù)組230和兩個增量數(shù)據(jù)組232a和 232b的邏輯歸并形成的合成的完整備份數(shù)據(jù)組234包含每個用戶文件F1、F2、F3、F4和F5的最新版本。所以,如圖8所示,合成的完整備份數(shù)據(jù)組包含用戶文件F1' 、F2〃 、F3' 、F4 和F5。 再一次參照圖3和圖4,文件系統(tǒng)軟件146可能產(chǎn)生邏輯元數(shù)據(jù)高速緩沖存儲器 242,該高速緩沖存儲器儲存與儲存在仿效媒體134上的每個用戶文件有關(guān)的元數(shù)據(jù)。人們 將領(lǐng)會到邏輯元數(shù)據(jù)高速緩沖存儲器并非必須是實際的數(shù)據(jù)高速緩沖存儲器,而是可以改 為是儲存在存儲媒體126上的可搜尋的數(shù)據(jù)集合。在另一個范例中,邏輯元數(shù)據(jù)高速緩沖 存儲器242能是作為數(shù)據(jù)庫實現(xiàn)的。在元數(shù)據(jù)儲存在數(shù)據(jù)庫中的情況下,傳統(tǒng)的數(shù)據(jù)庫指 令(例如,SQL指令)能用來完成完整備份數(shù)據(jù)組和一個或多個增量備份數(shù)據(jù)組的邏輯歸 并,產(chǎn)生合成的完整備份數(shù)據(jù)組。 在另一個實施方案中,一部分元數(shù)據(jù)可能儲存在數(shù)據(jù)庫中,而另一部分可能儲存 在存儲系統(tǒng)文件中。舉例來說,包括備份數(shù)據(jù)組名稱和它包含的數(shù)據(jù)對象的備份數(shù)據(jù)組元 數(shù)據(jù)可能被包括在傳統(tǒng)的數(shù)據(jù)庫之中,而數(shù)據(jù)對象特有的元數(shù)據(jù),例如,在數(shù)據(jù)對象是數(shù)據(jù) 文件的情況下,數(shù)據(jù)文件大小、安全信息和在主存儲器中的位置,可能被包括在存儲系統(tǒng)文 件之中。以這種方式儲存元數(shù)據(jù)使頻繁查詢的數(shù)據(jù)能靈活地從傳統(tǒng)的數(shù)據(jù)庫取回而且通過 使不經(jīng)常查詢的數(shù)據(jù)較快地儲存在存儲系統(tǒng)文件中提高系統(tǒng)的可擴縮性。
依照前面的討論,儲存在仿效媒體134上的每個數(shù)據(jù)文件可能包括文件描述符, 該文件描述符包含與數(shù)據(jù)文件有關(guān)的元數(shù)據(jù),包括該文件在備份存儲媒體126上的位置。 在一個實施方案中,在主機120上運行的備份/還原應(yīng)用程序把數(shù)據(jù)以流動磁帶格式儲存 在仿效媒體134上。代表這種磁帶格式的數(shù)據(jù)結(jié)構(gòu)250的一個范例是用圖9舉例說明的。 依照前面的討論,系統(tǒng)文件數(shù)據(jù)結(jié)構(gòu)包括可能包含關(guān)于數(shù)據(jù)文件的信息(例如,數(shù)據(jù)文件 的文件描述符、文件的創(chuàng)建和/或修改日期、安全信息、據(jù)此搜尋文件的主系統(tǒng)目錄結(jié)構(gòu)、 以及其它鏈接文件與虛擬盒式磁帶的信息)的首部。這些首部與已經(jīng)從主機、主存儲系統(tǒng) 備份(復(fù)制)的真實的用戶和系統(tǒng)文件的數(shù)據(jù)254相關(guān)聯(lián)。系統(tǒng)文件數(shù)據(jù)結(jié)構(gòu)可能還非必 選地包括補白(pads) 256,該補白可以適當(dāng)?shù)厥瓜乱粋€首部對準(zhǔn)區(qū)段邊界。
如圖9所示,在一個實施方案中,首部數(shù)據(jù)位于邏輯元數(shù)據(jù)高速緩沖存儲器242 中,允許快速搜索和隨機存取另外的連續(xù)磁帶數(shù)據(jù)格式。使用文件系統(tǒng)軟件146在存儲系 統(tǒng)控制器122上實現(xiàn)的邏輯元數(shù)據(jù)高速緩沖存儲器的使用允許把儲存在仿效媒體134上的 線性的且連續(xù)的磁帶數(shù)據(jù)格式轉(zhuǎn)變成儲存在構(gòu)成備份存儲媒體126的實際磁盤上的隨機 存取數(shù)據(jù)格式。邏輯元數(shù)據(jù)高速緩沖存儲器242儲存首部,該首部包括數(shù)據(jù)文件的文件描 述符、可以用來控制存取數(shù)據(jù)文件的安全信息(下面將更詳細(xì)地討論)和指出數(shù)據(jù)文件在 虛擬盒式磁帶和備份存儲媒體126上的實際位置的指針257。在一個實施方案中,邏輯元數(shù) 據(jù)高速緩沖存儲器儲存與備份在完整備份數(shù)據(jù)組230和每個增量數(shù)據(jù)組232中的所有的數(shù) 據(jù)文件有關(guān)的數(shù)據(jù)。 依照一個實施方案,合成完整備份應(yīng)用軟件240使用儲存在邏輯元數(shù)據(jù)高速緩沖 存儲器中的信息創(chuàng)建合成的完整備份數(shù)據(jù)組。然后,這個合成的完整備份數(shù)據(jù)組與用合成 完整備份應(yīng)用程序240創(chuàng)建的合成的虛擬盒式磁帶鏈接。對備份/還原應(yīng)用程序來說,合成 的完整備份數(shù)據(jù)組似乎被儲存在這個合成的虛擬盒式磁帶上。依照前面的討論,合成的完 整備份數(shù)據(jù)組可能是通過完成現(xiàn)有的完整備份數(shù)據(jù)組和增量備份數(shù)據(jù)組的邏輯歸并產(chǎn)生 的。依照前面參照圖8的討論,這種邏輯歸并可能包括比較包括在每個現(xiàn)有的完整備份數(shù)據(jù)組和增量備份數(shù)據(jù)組中的每個數(shù)據(jù)文件和創(chuàng)建每個用戶文件的最新修改版本的合成物。
依照一個實施方案,合成的虛擬盒式磁帶260包括指向數(shù)據(jù)文件在其它的虛擬盒 式磁帶(明確地說,包含現(xiàn)有的完整備份數(shù)據(jù)組和增量備份數(shù)據(jù)組的虛擬盒式磁帶)上的 位置的指針,如圖10所示。考慮前面關(guān)于圖8給出的范例,合成的虛擬盒式磁帶260包括指 針266,這些指針(用箭頭268指出)指向用戶文件F4在虛擬盒式磁帶262上的現(xiàn)有完整 備份數(shù)據(jù)組中的位置(因為現(xiàn)有的完整備份數(shù)據(jù)組包含F(xiàn)4的最新本)和指向,舉例來說, 用戶文件F3'在虛擬盒式磁帶264上的增量數(shù)據(jù)組232a中的位置。 合成的虛擬盒式磁帶也包括目錄270,該目錄包含所有包含指針266所指數(shù)據(jù)的 虛擬盒式磁帶的識別號(和非必選的名稱)。這個非獨立的盒式磁帶目錄270可能對于記 住真實的數(shù)據(jù)在哪里和防止非獨立的虛擬盒式磁帶被擦除是重要的。在這個實施方案中, 合成的完整備份數(shù)據(jù)組不包含任何真實的用戶文件,而是一組指出用戶文件在備份存儲媒 體126上的位置的指針。所以,防止真實的用戶文件(儲存在其它的虛擬盒式磁帶上)被 刪除可能是令人想要的。這可以部份地通過保存包含數(shù)據(jù)的虛擬盒式磁帶的記錄(非獨 立的盒式磁帶目錄270)和防止那些虛擬盒式磁帶被蓋寫或刪除得以實現(xiàn)。合成的虛擬盒 式磁帶可能還包括盒式磁帶數(shù)據(jù)272,例如,合成虛擬盒式磁帶的大小、它在備份存儲媒體 126上的位置,等等。除此之外,合成的虛擬盒式磁帶可能有識別號和/或名稱274。
依照另一個實施方案,合成的虛擬盒式磁帶可能包括指針和實際儲存的用戶文件 的組合。參照圖11,在一個范例中,合成的虛擬盒式磁帶包括指出在虛擬的盒式磁帶262上 數(shù)據(jù)文件(最新版本,依照上面參照圖9的討論)在現(xiàn)有的完整備份數(shù)據(jù)組230中的位置 的指針266。如同箭頭280指出的那樣,合成的虛擬盒式磁帶也可能包括包含從增量數(shù)據(jù)組 232復(fù)制的真實數(shù)據(jù)文件的數(shù)據(jù)278。這樣,增量備份數(shù)據(jù)組能在創(chuàng)建合成的完整備份數(shù)據(jù) 組276之后被刪除,借此節(jié)約存儲空間。合成的虛擬盒式磁帶是比較小的,因為它們包含的 全部或部分是指針,而不是全部用戶文件的副本。 人們將領(lǐng)會到合成的完整備份可能包括指針和存儲文件數(shù)據(jù)的任何組合而且不 局限于前面給出的范例。舉例來說,合成的完整備份可能對于儲存在特定的增量和/或完 整備份上的一些文件包括指向數(shù)據(jù)文件的指針而且可能包括從其它現(xiàn)有的完整和/或增 量備份復(fù)制的存儲文件數(shù)據(jù)。依然作為替代,合成的完整備份可能是基于先前的完整備份 和任何相關(guān)的增量備份產(chǎn)生的,它不包括任何指針而是包括從適當(dāng)?shù)耐暾?或增量備份 復(fù)制的真實文件數(shù)據(jù)的最新版本。 在一個實施方案中,合成完整備份應(yīng)用軟件可能包括使它能夠針對每個現(xiàn)有完整 備份數(shù)據(jù)組和增量備份數(shù)據(jù)組比較用戶和系統(tǒng)文件元數(shù)據(jù)確定每個數(shù)據(jù)文件的最新版本 位于哪里的差分算法。舉例來說,差分算法可能用來在不同備份組的同一數(shù)據(jù)文件的不同 版本之間比較創(chuàng)建和/或修改日期、版本號(如果適用)等等,選擇該數(shù)據(jù)文件的最新版 本。然而,用戶可能時常打開用戶文件并且實際上沒有變更文件里面的任何數(shù)據(jù)就保存文 件(借此改變它的修改數(shù)據(jù))。所以,系統(tǒng)可能實現(xiàn)更先進(jìn)的差分算法,該算法可能分析該 系統(tǒng)或用戶文件里面的數(shù)據(jù),以確定數(shù)據(jù)事實上是否已經(jīng)改變。這樣的差分算法和其它類 型的比較算法的變化可能是熟悉這項技術(shù)的人已知的。除此之外,依照上面的討論,在以數(shù) 據(jù)庫格式儲存元數(shù)據(jù)的情況下,諸如SQL指令之類的數(shù)據(jù)庫命令也能用來完成邏輯歸并。 本發(fā)明可能應(yīng)用任何這樣的算法保證每個用戶文件的最近或最新版本可以從所有被比較
17的現(xiàn)有備份組中選定,以便適當(dāng)?shù)貏?chuàng)建合成的完整備份數(shù)據(jù)組。 熟悉這項技術(shù)的人應(yīng)該領(lǐng)會到,合成完整備份應(yīng)用程序使完整的備份數(shù)據(jù)組能夠 產(chǎn)生和變成可得的,不需要主機運行實際的完整備份。這不僅避免用把數(shù)據(jù)轉(zhuǎn)移到備份存 儲系統(tǒng)的處理器內(nèi)務(wù)操作給主機增加負(fù)擔(dān),而且在合成完整備份應(yīng)用程序在存儲系統(tǒng)上運 行的實施方案中顯著地減少網(wǎng)絡(luò)帶寬的利用。如圖7所示,進(jìn)一步合成的完整備份數(shù)據(jù)組 可以使用最初合成的完整備份數(shù)據(jù)組234和后來的增量備份數(shù)據(jù)組236產(chǎn)生。這可以提供 重要的時間利益,因為不頻繁修改的文件或?qū)ο罂赡懿槐活l繁地復(fù)制。相反,合成的完整備 份數(shù)據(jù)組可以維持指針指向這些僅僅被復(fù)制一次的文件。 本發(fā)明的實施方案還包括運行從數(shù)據(jù)對象中除去冗余數(shù)據(jù)的程序的計算機系統(tǒng)。 這樣的冗余數(shù)據(jù)的去除技術(shù)上被稱為"刪除重復(fù)"數(shù)據(jù)。圖12舉例說明依照本發(fā)明的一個 實施方案用來從數(shù)據(jù)對象中刪除重復(fù)數(shù)據(jù)的范例程序1200。這個程序可以使用單一的備份 存儲系統(tǒng)或在分布式存儲系統(tǒng)環(huán)境(例如,前面討論過的柵格環(huán)境)內(nèi)實現(xiàn)。
—般地說,管理程序1200的系統(tǒng)可能從頭到尾挑選與一系列數(shù)據(jù)對象相關(guān)聯(lián)的 元數(shù)據(jù)以便識別那些將經(jīng)歷進(jìn)一步刪除重復(fù)程序步驟的數(shù)據(jù)對象,例如,有可能共享重復(fù) 數(shù)據(jù)的數(shù)據(jù)對象。該系統(tǒng)可能檢查被識別數(shù)據(jù)對象,以便進(jìn)行另外的處理確定任何冗余數(shù) 據(jù)的位置。此外,該系統(tǒng)可能構(gòu)成指向一個冗余數(shù)據(jù)副本的被識別數(shù)據(jù)對象的副本,而且非 必選地確認(rèn)這些副本的完整性。為了恢復(fù)被冗余數(shù)據(jù)占據(jù)的存儲能力,該系統(tǒng)可能刪除最 初識別的數(shù)據(jù)對象。包括在這個程序中的更多的關(guān)于那些特定行為的細(xì)節(jié)將下面討論。
仍然參照圖12,在步驟1202,刪除重復(fù)數(shù)據(jù)程序1200開始。在步驟1204,該系統(tǒng) 識別將會經(jīng)歷進(jìn)一步刪除重復(fù)處理的數(shù)據(jù)對象。在一個實施方案中,系統(tǒng)可能識別有可能 包含冗余數(shù)據(jù)的數(shù)據(jù)對象。可能使用各種不同的方法和元數(shù)據(jù)進(jìn)行這種識別。舉例來說, 在一個實施方案中,備份數(shù)據(jù)對象在主存儲器的實際位置可能指出它可能有與另一個備份 數(shù)據(jù)對象一致的數(shù)據(jù)。更具體地說,如果兩個備份數(shù)據(jù)對象起源于同一主存儲裝置(例如, 特定的服務(wù)器)那么這兩個數(shù)據(jù)對象可能被確認(rèn)為有可能包括冗余數(shù)據(jù)的副本。同樣,在 另一個實施方案中,如果兩個數(shù)據(jù)對象是用一個特定的軟件應(yīng)用程序創(chuàng)建的,那兩個數(shù)據(jù) 對象可能被確認(rèn)為可能有冗余數(shù)據(jù)。在另外一個實施方案中,不管數(shù)據(jù)對象是否作為完整 或增量備份策略部份被儲存都可能指出冗余數(shù)據(jù)的可能性。有可能包含重復(fù)數(shù)據(jù)的數(shù)據(jù)對 象的確認(rèn)通過使稀有的計算機資源(例如,CPU周期)能夠集中在那些將從除去冗余數(shù)據(jù) 獲得最大利益的數(shù)據(jù)對象提高程序1200的總效率。 在另一個實施方案中,系統(tǒng)可能被配置成自動地根據(jù)與某些數(shù)據(jù)對象相關(guān)聯(lián)的元 數(shù)據(jù)把這些數(shù)據(jù)對象包括在進(jìn)一步刪除重復(fù)處理之內(nèi)或?qū)⑦@些數(shù)據(jù)對象排除在進(jìn)一步刪 除重復(fù)處理之外。舉例來說,系統(tǒng)可能配置成把用特定的軟件應(yīng)用程序創(chuàng)建的數(shù)據(jù)對象包 括在刪除重復(fù)處理之中。同樣,系統(tǒng)可能配置成把作為特定策略的一部份備份的數(shù)據(jù)對象 包括在進(jìn)一步的刪除重復(fù)處理之中。反之,系統(tǒng)可能配置成把所有用特定的策略備份的數(shù) 據(jù)對象和/或明確地命名的數(shù)據(jù)對象排除在進(jìn)一步刪除重復(fù)處理之外。這些配置選項使系 統(tǒng)行為能夠被調(diào)整到適合任何客戶環(huán)境的特定需求,因此有利于系統(tǒng)的性能和可擴縮性。
在步驟1206,管理程序1200的系統(tǒng)確定冗余數(shù)據(jù)在被確認(rèn)適合于進(jìn)一步刪除重 復(fù)處理的數(shù)據(jù)對象中的位置。這項分析可能是通過使用元數(shù)據(jù)和/或通過檢查被識別數(shù)據(jù) 對象的真實內(nèi)容完成的。在一個實施方案中,有相似的元數(shù)據(jù)的數(shù)據(jù)對象被假定包含相同的數(shù)據(jù)。舉例來說,如果數(shù)據(jù)對象是數(shù)據(jù)文件而且兩者有相同的名稱、在主存儲器和CRC中 的實際位置、無用信息或在刪除重復(fù)期間產(chǎn)生的一些其它元數(shù)據(jù),那么那兩個數(shù)據(jù)對象可 能是作為冗余記錄的。使用元數(shù)據(jù)識別冗余數(shù)據(jù)提供若干優(yōu)勢。因為可能只處理數(shù)據(jù)對象 的元數(shù)據(jù)而不是數(shù)據(jù)對象的全部,所以使用元數(shù)據(jù)將提高效率。 在另一個實施方案中,數(shù)據(jù)對象可能被逐位進(jìn)行比較,以便在在被這樣記錄之前 保證冗余。雖然這種類型的比較可能是計算資源密集型的,但是它也提供強烈的保證,保證 任何被確認(rèn)為冗余數(shù)據(jù)事實上是完全冗余的。這種確定冗余的方法可能是有用的,舉例來 說,當(dāng)處理完整性特別重要的數(shù)據(jù)對象(例如,財務(wù)信息)的時候。 在另外一個實施方案中,包括在數(shù)據(jù)對象之中的數(shù)據(jù)的一些部分被分析以確定整 個對象的冗余。舉例來說,某些軟件應(yīng)用程序可能把修改過的數(shù)據(jù)轉(zhuǎn)移到在它們修改的數(shù) 據(jù)對象里面的特定位置,例如在對象的始端或末端。因此,使用這個數(shù)據(jù)分配圖,系統(tǒng)可以 把它的刪除重復(fù)處理集中在數(shù)據(jù)對象的更有可能是靜態(tài)的那些部分上,借此提高系統(tǒng)效率。 本發(fā)明的實施方案可能使用這些技術(shù)的組合確定冗余數(shù)據(jù)的位置。更明確地說,
系統(tǒng)可能基于像前面用來識別適合于進(jìn)一步刪除重復(fù)處理的數(shù)據(jù)對象的元數(shù)據(jù)那樣的元
數(shù)據(jù)把特定的技術(shù)指向特定的數(shù)據(jù)對象。這個元數(shù)據(jù)可能其中包括在主存儲器中的位置、
導(dǎo)致數(shù)據(jù)對象被備份的策略和與數(shù)據(jù)對象相關(guān)聯(lián)的軟件應(yīng)用程序。與數(shù)據(jù)對象確認(rèn)一樣,
關(guān)于重復(fù)數(shù)據(jù)的定位方式調(diào)節(jié)系統(tǒng)的能力提高系統(tǒng)的可擴縮性和性能。 在步驟1208,運行程序1200的系統(tǒng)可能產(chǎn)生先前識別的包括冗余數(shù)據(jù)的數(shù)據(jù)對
象的刪除重復(fù)副本。這些刪除重復(fù)的副本可能包括微不足道的冗余數(shù)據(jù)或者甚至沒有冗余
數(shù)據(jù)。在一個實施方案中,被識別的數(shù)據(jù)對象可能包括,舉例來說,虛擬的盒式磁帶。在這
個例證中,該系統(tǒng)可能產(chǎn)生一個或多個刪除重復(fù)的虛擬盒式磁帶,這些虛擬盒式磁帶在被
完全分辨的時候包括所有的包括在被識別的虛擬盒式磁帶之中的數(shù)據(jù)。與前面討論過的合
成的虛擬盒式磁帶一樣,這些刪除重復(fù)的虛擬盒式磁帶可能包含數(shù)據(jù)對象和指向數(shù)據(jù)對象
的指針。 在創(chuàng)建這些刪除重復(fù)數(shù)據(jù)的副本期間,系統(tǒng)可能把被復(fù)制數(shù)據(jù)的副本儲存在特定
的數(shù)據(jù)對象內(nèi)而且產(chǎn)生和/或修改在其它數(shù)據(jù)對象內(nèi)的指針以便把被復(fù)制的數(shù)據(jù)儲存在
那些數(shù)據(jù)對象內(nèi)。該系統(tǒng)在儲存被復(fù)制的數(shù)據(jù)和指針的時候可能遵循各種不同的方法。在
一個實施方案中,復(fù)制數(shù)據(jù)被收容在最古老的數(shù)據(jù)對象中,而識別該復(fù)制數(shù)據(jù)的位置的指
針被儲存在包括該復(fù)制數(shù)據(jù)的較年輕的數(shù)據(jù)對象中。這項技術(shù)上被稱為逆向引用的技術(shù)是
普通的,其中散列索引是為概述適合進(jìn)行刪除重復(fù)處理的數(shù)據(jù)對象建立的。 在另一個實施方案中,復(fù)制數(shù)據(jù)被收容在最年輕的數(shù)據(jù)對象中,而識別該復(fù)制數(shù)
據(jù)的位置的指針被儲存在包括該復(fù)制數(shù)據(jù)的較古老的數(shù)據(jù)對象中。這項技術(shù)可能被稱為前
向引用。前向引用提高數(shù)據(jù)還原性能,其中數(shù)據(jù)是從最后的備份還原的,因為指針的縮減間
接引用是分辨所有包含在備份數(shù)據(jù)對象中的數(shù)據(jù)所需要的。由于當(dāng)對主存儲器來說必須還
原數(shù)據(jù)的時候通常使用最近的(即最年輕的)備份這一事實,所以這個提高的性能是特別
有益的。 圖13A、、13B和13C舉例說明前面描述過的前向和逆向引用。圖13A展示刪除重復(fù) 處理之前的備份數(shù)據(jù)對象1302和1304。就這個例證的目的而言,請假定備份數(shù)據(jù)對象1302是在備份數(shù)據(jù)對象1304之前儲存的。備份數(shù)據(jù)對象1302包括獨特的數(shù)據(jù)部分1306和冗 余數(shù)據(jù)部分1310A。備份數(shù)據(jù)對象1304包括獨特的數(shù)據(jù)部分1308和冗余數(shù)據(jù)部分1310B。
圖13B舉例說明數(shù)據(jù)對象1302和1304在前向引用方案之下刪除重復(fù)的副本。數(shù) 據(jù)對象1304作為兩者中較新近儲存的數(shù)據(jù)對象包括冗余數(shù)據(jù)部分1310B的副本。數(shù)據(jù)對 象1302作為兩者中較早儲存的數(shù)據(jù)對象包括指向冗余數(shù)據(jù)部分1310B的指針1312。因此, 在創(chuàng)建刪除重復(fù)的副本之后,較年輕的數(shù)據(jù)對象包括冗余數(shù)據(jù)的副本,而較古老的數(shù)據(jù)對 象包括指向較年輕的數(shù)據(jù)對象中的冗余數(shù)據(jù)的指針。 圖13C舉例說明數(shù)據(jù)對象1302和1304在逆向引用方案之下刪除重復(fù)的副本。數(shù) 據(jù)對象1302作為兩者中較早儲存的數(shù)據(jù)對象包括冗余數(shù)據(jù)1310A的副本。數(shù)據(jù)對象1304 作為兩者中較新近儲存的數(shù)據(jù)對象包括指向冗余數(shù)據(jù)部分1310A的指針1312。因此,在產(chǎn)
生刪除重復(fù)的副本之后,較古老的數(shù)據(jù)對象包括冗余數(shù)據(jù)的副本,而較年輕的數(shù)據(jù)對象包 括指向較古老的數(shù)據(jù)對象中的冗余數(shù)據(jù)的指針。 在步驟1210,系統(tǒng)可能將刪除重復(fù)的副本對照先前識別的數(shù)據(jù)對象進(jìn)行比較,以 保證數(shù)據(jù)完整性已經(jīng)得到保護。這個比較可能需要數(shù)據(jù)對象指針的間接引用而且可能包括 對該數(shù)據(jù)對象中包含的數(shù)據(jù)的逐位比較。在一個實施方案中,在完成這個完整性檢查之后, 系統(tǒng)可能交換識別刪除重復(fù)的副本和它們各自先前識別的數(shù)據(jù)對象的指針以便刪除重復(fù) 的數(shù)據(jù)對象變成主要的數(shù)據(jù)對象而先前識別的數(shù)據(jù)對象可能在不破壞引用它的任何數(shù)據(jù) 對象的完整性的情況下被刪除。系統(tǒng)也可能對元數(shù)據(jù)進(jìn)行其它的調(diào)整,以保證它正確地反 映刪除重復(fù)的副本的特征。 在步驟1212,先前識別的數(shù)據(jù)對象所利用的存儲能力被回收,供其它的數(shù)據(jù)對象 使用。在一個實施方案中,這可能是通過簡單地刪除先前識別的數(shù)據(jù)對象完成的。在步驟 1214,程序1200結(jié)束。 程序1200描述優(yōu)選的事件序列。在不脫離本發(fā)明的精神的情況下可以在程序 1200中添加其它的行為或改變行為的次序。在一個具體化中,程序1200可能是針對備份存 儲系統(tǒng)中包含的每個數(shù)據(jù)對象運行的。在另一個實施方案中,系統(tǒng)可能針對備份存儲系統(tǒng) 中的某個數(shù)據(jù)對象子集運行程序1200。 程序1200可能是按要求運行的或作為一次性的或重新出現(xiàn)的程序確定時間的。 程序1200的進(jìn)一步的子集可能是在通過刪除重復(fù)回收的空間將符合或超過特定的門限值 的時候運行的。舉例來說,在一個實施方案中,程序1200可能只有當(dāng)刪除重復(fù)將至少釋放 指定數(shù)目(例如,50)兆字節(jié)或指定百分比(例如,25%)被利用的備份存儲能力的時候才 運行。組成程序1200的行為當(dāng)作為驅(qū)動計算行動的事件實現(xiàn)的時候可能是在分布式計算 環(huán)境(例如,柵格環(huán)境)中運行的。 因此,簡要地說,刪除重復(fù)程序1200的實施方案可能減少維持備份數(shù)據(jù)的副本所 需的存儲能力并因此減少儲存?zhèn)浞輸?shù)據(jù)所需的電子媒體的數(shù)量。此外,刪除重復(fù)程序1200 的實施方案可能通過使用元數(shù)據(jù)優(yōu)化刪除重復(fù)處理有效地利用計算資源。最后,通過按前 向引用方案儲存刪除重復(fù)的數(shù)據(jù),刪除重復(fù)能提高普遍使用的數(shù)據(jù)恢復(fù)功能性的性能。
如同前面參照圖3討論的那樣,存儲系統(tǒng)也可能包括被稱為終端用戶還原應(yīng)用程 序300的軟件應(yīng)用程序。因此,依照另一個實施方案,提供一種終端用戶在沒有IT職員干預(yù) 和現(xiàn)有的備份/還原程序和/或策略不需要有任何改變的情況下定位和還原備份數(shù)據(jù)的方
20法。在典型的備份存儲系統(tǒng)中,在主機120上運行的備份/還原應(yīng)用程序受IT職員控制,而 且沒有IT職員的干預(yù)終端用戶存取備份數(shù)據(jù)可能是不可能的或者是非常困難的。依照本 發(fā)明的某些方面和實施方案,提供存儲系統(tǒng)軟件,該軟件允許終端用戶以備份存儲媒體126 經(jīng)由,舉例來說,基于網(wǎng)絡(luò)的或其它的接口查找和還原他們的文件。 人們將領(lǐng)會到那,與合成完整備份應(yīng)用程序240 —樣,終端用戶還原應(yīng)用程序300 可能是在存儲系統(tǒng)控制器122(見圖2)上運行的也可能是在主機120上運行的。終端用戶 還原應(yīng)用程序包括允許法定用戶利用備份存儲媒體126搜尋邏輯元數(shù)據(jù)高速緩沖存儲器 確定備份文件的位置和非必選地還原備份文件所需的軟件指令和接口 。
依照一個實施方案,提供包括在用戶計算機136上安裝和/或運行的用戶界面的 軟件。該用戶界面可能是允許用戶確定文件在備份存儲媒體上的位置的任何類型的界面。 舉例來說,用戶界面可能是圖形用戶界面,可能是基于網(wǎng)絡(luò)的界面或可能是本文界面。用戶 計算機經(jīng)由網(wǎng)絡(luò)連接138(它可能是,舉例來說,以太網(wǎng)連接)與存儲系統(tǒng)170耦合。通過 這個網(wǎng)絡(luò)連接138,用戶計算機136的操作員能存取儲存在存儲系統(tǒng)170上的數(shù)據(jù)。
在一個范例中,終端用戶還原應(yīng)用程序300包括用戶認(rèn)證和/或授權(quán)特征。舉例 來說,用戶可能被要求經(jīng)由用戶界面使用用戶名和密碼在用戶計算機上登錄。用戶計算機 可能把用戶名稱和密碼傳送給可以使用適當(dāng)?shù)挠脩粽J(rèn)證機制確定該用戶是否有權(quán)訪問該 存儲系統(tǒng)的存儲系統(tǒng)(例如,用戶還原應(yīng)用程序)??赡苁褂玫挠脩粽J(rèn)證機制的一些范例包 括但不限于MICROSOFT的活動目錄服務(wù)器,UNIX "黃頁"服務(wù)器或輕型目錄訪問協(xié)議。登錄 /用戶認(rèn)證機制可能與終端用戶還原應(yīng)用程序通信,交換用戶特權(quán)。舉例來說,一些用戶可 能被允許只搜尋他們自已創(chuàng)建的或他們有特定的特權(quán)或被確認(rèn)為擁有者的那些文件。其它 的用戶,例如,系統(tǒng)操作員或管理者可能被允許存取所有的備份文件,等等。
依照一個實施方案,終端用戶還原應(yīng)用程序使用邏輯元數(shù)據(jù)高速緩沖存儲器獲得 關(guān)于備份存儲媒體上的所有數(shù)據(jù)文件備份的信息。終端用戶還原應(yīng)用程序經(jīng)由用戶界面把 按,舉例來說,備份時間/日期、用戶名、最初的用戶計算機目錄結(jié)構(gòu)(該目錄結(jié)構(gòu)在備份文 件的時候可能已經(jīng)獲得)或其它文件特征分類的用戶文件的分層目錄結(jié)構(gòu)呈現(xiàn)給用戶。在 一個范例中,呈現(xiàn)給用戶的目錄結(jié)構(gòu)可能依照對于那個用戶被準(zhǔn)許的特權(quán)改變。終端用戶 還原應(yīng)用程序可能接受瀏覽請求(即,通過用戶界面,用戶可以瀏覽該目錄結(jié)構(gòu)確定所需 文件的位置),或者用戶可以用名稱、日期等等尋找文件。 依照一個實施方案,用戶可以還原來自存儲系統(tǒng)的備份文件。舉例來說,一旦用戶 依照前面的描述已經(jīng)確定所需文件的位置,用戶就可以經(jīng)由網(wǎng)絡(luò)連接138從存儲系統(tǒng)下載 文件。在一個范例中,這個下載程序可能是如同熟悉這項技術(shù)的人已知的那樣以與任何基 于網(wǎng)絡(luò)的下載相似的方式實現(xiàn)的。 通過允許終端用戶存取那些他們獲準(zhǔn)查看/下載的文件和通過準(zhǔn)許這種通過用 戶界面的訪問(例如,基于網(wǎng)絡(luò)的技術(shù)),終端用戶還原應(yīng)用程序能使用戶不需要改變?nèi)魏?備份策略或程序就能夠?qū)ふ液瓦€原他們自己的文件。 人們應(yīng)該領(lǐng)會到雖然本發(fā)明的某些方面(例如,合成完整備份應(yīng)用程序和用戶還 原應(yīng)用程序)在此主要是按照軟件描述的,但是人們應(yīng)該領(lǐng)會到作為替代它們可能是在軟 件、硬件或固件或其任何組合中實現(xiàn)的。因此,舉例來說,本發(fā)明的實施方案可能包含用電 腦程序(即,眾多指令)編碼的至少部份地在存儲系統(tǒng)的處理器上運行的時候?qū)崿F(xiàn)前面詳
21細(xì)描述的合成完整備份應(yīng)用程序和/或終端用戶還原應(yīng)用程序的功能的任何計算機易讀 的媒體(例如,計算機存儲器、軟盤、光盤、磁帶,等等)。 概括地說,本發(fā)明的某些實施方案和某些方面因此包括仿效傳統(tǒng)的磁帶備份系統(tǒng) 但可以提供增強的功能性(例如,能夠產(chǎn)生合成的備份和允許終端用戶查看和還原備份文 件)的存儲系統(tǒng)和方法。然而,人們應(yīng)該領(lǐng)會到本發(fā)明的各個方面可能用于備份計算機數(shù) 據(jù)以外的應(yīng)用。因為本發(fā)明的存儲系統(tǒng)可以用來經(jīng)濟地儲存巨量的數(shù)據(jù)而且所儲存的數(shù)據(jù) 能按硬盤存取時間隨機地存取(與連續(xù)地存取相反),所以本發(fā)明的實施方案可以在傳統(tǒng) 的備份存儲系統(tǒng)之外找到用途。舉例來說,本發(fā)明的實施方案可以用來儲存表現(xiàn)電影和音 樂和隨選錄像或聲音的寬廣選擇的視頻和音頻數(shù)據(jù)。 至此已經(jīng)描述了這項發(fā)明的至少一個實施方案的若干方面,人們將領(lǐng)會到各種不 同的變更、修改和改進(jìn)對于熟悉這項技術(shù)的人將很容易發(fā)生。這樣的變更、修改和改進(jìn)傾向 于成為這份揭示的一部份,而且傾向于在本發(fā)明的范圍之內(nèi)。因此,前面的描述和附圖僅僅 是作為范例。
2權(quán)利要求
一種用來把冗余數(shù)據(jù)從備份存儲系統(tǒng)中除去的方法,該方法包括識別數(shù)據(jù)對象元數(shù)據(jù)的至少一個特征;識別與有那至少一個特征的數(shù)據(jù)對象元數(shù)據(jù)相關(guān)聯(lián)的第一備份數(shù)據(jù)對象;識別與有那至少一個特征的數(shù)據(jù)對象元數(shù)據(jù)相關(guān)聯(lián)的第二備份數(shù)據(jù)對象;檢測是第二備份數(shù)據(jù)對象的第二部分的副本的第一備份數(shù)據(jù)對象的第一部分;以及用指向該第一部分的指針取代該第二部分。
2. 根據(jù)權(quán)利要求1的方法,其中識別數(shù)據(jù)對象元數(shù)據(jù)的至少一個特征包括 識別在主存儲器中與第一備份數(shù)據(jù)對象相關(guān)聯(lián)的位置;以及 識別在主存儲器中與第二備份數(shù)據(jù)對象相關(guān)聯(lián)的位置。
3. 根據(jù)權(quán)利要求1的方法,其中至少識別數(shù)據(jù)對象元數(shù)據(jù)的一個特征包括 識別與一個軟件申請相關(guān)聯(lián)的第一筆備份數(shù)據(jù)對象;而且 識別與一個軟件申請相關(guān)聯(lián)的第二的備份數(shù)據(jù)對象。
4. 根據(jù)權(quán)利要求3的方法,其中檢測第一備份數(shù)據(jù)對象的第一部分包括至少部份地基 于與軟件應(yīng)用程序相關(guān)聯(lián)的數(shù)據(jù)分布圖檢測是第二備份數(shù)據(jù)對象的第二部分的副本的第 一備份數(shù)據(jù)對象的第一部分。
5. 根據(jù)權(quán)利要求1的方法,其中識別數(shù)據(jù)對象元數(shù)據(jù)的至少一個特征包括 識別與第一備份數(shù)據(jù)對象相關(guān)聯(lián)的備份政策;以及 識別與第二備份數(shù)據(jù)對象相關(guān)聯(lián)的備份政策。
6. 根據(jù)權(quán)利要求1的方法,其中識別數(shù)據(jù)對象元數(shù)據(jù)的至少一個特征包括 識別當(dāng)?shù)谝粋浞輸?shù)據(jù)對象被備份的時候被儲存的數(shù)據(jù)對象元數(shù)據(jù)的至少一個特征;以及識別當(dāng)?shù)诙浞輸?shù)據(jù)對象被備份的時候被儲存的數(shù)據(jù)對象元數(shù)據(jù)的至少一個特征。
7. 根據(jù)權(quán)利要求l的方法,其中識別第一備份數(shù)據(jù)對象包括識別第一數(shù)據(jù)文件,識別 第二備份數(shù)據(jù)對象包括識別第二數(shù)據(jù)文件。
8. 根據(jù)權(quán)利要求l的方法,其中識別第二備份數(shù)據(jù)對象包括識別與第一備份數(shù)據(jù)對象 相比最近被較少地備份的第二備份數(shù)據(jù)對象。
9. 根據(jù)權(quán)利要求l的方法,其中識別第二備份數(shù)據(jù)對象包括識別與第一備份數(shù)據(jù)對象 相比最近被較多地備份的第二備份數(shù)據(jù)對象。
10. 根據(jù)權(quán)利要求l的方法,其中檢測第一備份數(shù)據(jù)對象的第一部分包括使用與第一 備份數(shù)據(jù)對象相關(guān)聯(lián)的元數(shù)據(jù)和與第二備份數(shù)據(jù)對象相關(guān)聯(lián)的元數(shù)據(jù)檢測第一備份數(shù)據(jù) 對象的第一部分。
11. 根據(jù)權(quán)利要求10的方法,其中使用元數(shù)據(jù)檢測第一備份數(shù)據(jù)對象的第一部分包括 使用儲存在關(guān)系數(shù)據(jù)庫中的元數(shù)據(jù)檢測第一備份數(shù)據(jù)對象的第一部分。
12. 根據(jù)權(quán)利要求1的方法,其中用指向第一部分的指針取代第二部分包括 創(chuàng)建第二備份數(shù)據(jù)對象的副本把第二部分排除在外并且把指向第一部分的指針包括在內(nèi);以及刪除第二備份數(shù)據(jù)對象。
13. 根據(jù)權(quán)利要求12的方法,進(jìn)一步包括確認(rèn)第二備份數(shù)據(jù)對象的副本代表與第二備 份數(shù)據(jù)對象相同的數(shù)據(jù)。
14. 根據(jù)權(quán)利要求1到13之中的任何一項的方法,其中該方法是在柵格計算環(huán)境中運 行的。
15. 根據(jù)權(quán)利要求1到13之中任何一項的方法,其中該方法是當(dāng)數(shù)據(jù)對備份存儲系統(tǒng) 來說未被備份的時候在備份存儲系統(tǒng)上運行的。
16. —種有定義指令的計算機易讀的信號儲存在其上的計算機易讀的媒體,這些指令 作為計算機運行的結(jié)果指導(dǎo)計算機實現(xiàn)根據(jù)權(quán)利要求1到15的任何方法。
17. —種系統(tǒng),其中包括儲存眾多備份數(shù)據(jù)對象的備份存儲媒體,眾多備份數(shù)據(jù)對象包括 與元數(shù)據(jù)的至少一個特征相關(guān)聯(lián)并且包括第一數(shù)據(jù)的第一備份數(shù)據(jù)對象;以及 與元數(shù)據(jù)那至少一個特征相關(guān)聯(lián)并且包括第二數(shù)據(jù)的第二備份數(shù)據(jù)對象;以及 配置成使用元數(shù)據(jù)的那至少一個特征識別第一備份數(shù)據(jù)對象和第二備份數(shù)據(jù)對象,識別與第一數(shù)據(jù)的任何部分相同的第二數(shù)據(jù)的任何部分并且以指向第一數(shù)據(jù)的對應(yīng)部分的指針取代第二數(shù)據(jù)的被識別部分的控制器。
18. 根據(jù)權(quán)利要求17的系統(tǒng),其中控制器被進(jìn)一步配置成通過創(chuàng)建第二數(shù)據(jù)對象的副 本把被識別的部分排除在外并且把指向第一數(shù)據(jù)的對應(yīng)部分的指針包括在內(nèi)來取代第二 數(shù)據(jù)對象的被識別部分。
19. 根據(jù)權(quán)利要求17的系統(tǒng),其中第一備份數(shù)據(jù)對象是與第二備份數(shù)據(jù)對象相比最近 被較多備份的。
20. —種用來把冗余數(shù)據(jù)從備份存儲系統(tǒng)中除去的方法,該方法包括 識別與軟件應(yīng)用程序相關(guān)聯(lián)的第一數(shù)據(jù)對象; 識別與軟件應(yīng)用程序相關(guān)聯(lián)的第二數(shù)據(jù)對象;至少部份地基于與軟件應(yīng)用程序相關(guān)聯(lián)的數(shù)據(jù)分布圖檢測在第一數(shù)據(jù)對象和第二數(shù) 據(jù)對象中的冗余數(shù)據(jù);以及用安排在第二數(shù)據(jù)對象中指向冗余數(shù)據(jù)的指針取代第一數(shù)據(jù)對象中的冗余數(shù)據(jù)。
全文摘要
這項發(fā)明揭示一種用來把冗余數(shù)據(jù)從備份存儲系統(tǒng)中除去的方法。在一個范例中,該方法可能包括識別第一備份數(shù)據(jù)對象,識別第二備份數(shù)據(jù)對象,檢測第一備份數(shù)據(jù)對象的第一部分是第二備份數(shù)據(jù)對象的第二部分的副本,以及用指向第一部分的指針取代該第二部分。
文檔編號G06F12/16GK101784996SQ200880104416
公開日2010年7月21日 申請日期2008年6月27日 優(yōu)先權(quán)日2007年6月29日
發(fā)明者M·桑多菲, T·G·瑞特 申請人:賽帕頓有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
光泽县| 滨州市| 宁安市| 汉川市| 沽源县| 玉山县| 平塘县| 闵行区| 云和县| 得荣县| 长岭县| 玉树县| 海宁市| 个旧市| 交城县| 永康市| 宜章县| 喜德县| 出国| 阿合奇县| 育儿| 贡山| 长沙市| 敦化市| 无锡市| 澄江县| 许昌县| 东莞市| 高阳县| 莎车县| 三原县| 大连市| 乐平市| 宁南县| 洞口县| 深泽县| 略阳县| 绥棱县| 镇康县| 儋州市| 蒙城县|