數(shù)據(jù)恢復(fù)期間的數(shù)據(jù)訪問的制作方法
【專利摘要】一種用于在數(shù)據(jù)恢復(fù)期間訪問數(shù)據(jù)的方法、制造物品和設(shè)備。在一些實施例中,這包括:將來自應(yīng)用的I/O請求發(fā)送到對象,其中該對象正在恢復(fù);建立I/O攔截;用該I/O攔截來攔截應(yīng)用的I/O請求;以及基于對象的子對象的狀態(tài)使I/O請求重定向。
【專利說明】數(shù)據(jù)恢復(fù)期間的數(shù)據(jù)訪問
[0001]本申請相關(guān)于:共同待審的與之同時提交的US專利申請N0.12/828,198 (代理機構(gòu)卷號EMC-10-169)(優(yōu)先級化的備份分段),其通過所有目的的引用而結(jié)合于此;以及共同待審的與之同時提交的US專利申請N0.12/828, 205 (代理機構(gòu)卷號EMC-10-186)(動態(tài)優(yōu)先級化的恢復(fù)),其通過所有目的的引用而結(jié)合于此;以及共同待審的與之同時提交的US專利申請N0.12/828,218 (代理機構(gòu)卷號EMC-10-188)(訪問后數(shù)據(jù)保存),其通過所有目的的引用而結(jié)合于此。
【技術(shù)領(lǐng)域】
[0002]本發(fā)明大體上涉及數(shù)據(jù)系統(tǒng),并且更具體地,涉及高效保護和訪問數(shù)據(jù)的系統(tǒng)和方法。
【背景技術(shù)】
[0003]現(xiàn)代的數(shù)據(jù)系統(tǒng)包含大量數(shù)據(jù)。這樣的數(shù)據(jù)系統(tǒng)可例如包括電子郵件服務(wù)器、商用網(wǎng)站、銀行記錄、政府?dāng)?shù)據(jù)庫等。
[0004]日益存在這樣的期望,用戶必須總是能訪問這些數(shù)據(jù)系統(tǒng)。例如,如果用戶不能訪
問商用網(wǎng)站(例如Amazon, com停止),在不能訪問網(wǎng)站的每天,業(yè)務(wù)將損失數(shù)百萬美元的收.、
Mo
[0005]利用日益不斷增加的數(shù)據(jù)量以及日益不斷增加的能訪問數(shù)據(jù)的期望,保護數(shù)據(jù)存在著巨大的壓力。在事故的情況下
然而,這些常規(guī)的數(shù)據(jù)保護方案在恢復(fù)數(shù)據(jù)方面太慢,或太昂貴。此外,常規(guī)的數(shù)據(jù)保護方案在允許訪問數(shù)據(jù)前需要完全恢復(fù)數(shù)據(jù)。
[0006]遺憾地,可能有時在完成恢復(fù)操作之前需要能訪問數(shù)據(jù)系統(tǒng)中的數(shù)據(jù)。
[0007]因此,需要有用于保護和訪問數(shù)據(jù)系統(tǒng)中的數(shù)據(jù)的改進的方法、制造物品和設(shè)備。
【專利附圖】
【附圖說明】
[0008]本發(fā)明將通過下列詳細(xì)說明連同附圖而容易理解,其中類似的標(biāo)號指示類似的結(jié)構(gòu)元件,并且其中:
圖1是根據(jù)一些實施例的數(shù)據(jù)系統(tǒng)的圖。
[0009]圖2是根據(jù)一些實施例的用于備份數(shù)據(jù)的方法的流程圖。
[0010]圖3是根據(jù)一些實施例的用于恢復(fù)數(shù)據(jù)的方法的流程圖。
[0011]圖4是根據(jù)一些實施例的用于訪問數(shù)據(jù)的方法的流程圖。
[0012]圖5是根據(jù)一些實施例的用于保存數(shù)據(jù)的方法的流程圖。
【具體實施方式】
[0013]在下文連同圖示本發(fā)明原理的附圖來提供本發(fā)明的一個或多個實施例的詳細(xì)說明。盡管本發(fā)明連同這樣的實施例描述,應(yīng)該理解本發(fā)明不限于任一個實施例。相反地,本發(fā)明的范圍僅由權(quán)利要求限制并且本發(fā)明包含許多備選、修改和等同物。為了示例目的,在下列說明中闡述許多具體細(xì)節(jié)以便提供本發(fā)明的全面理解。為了示例目的而提供這些細(xì)節(jié),并且本發(fā)明在沒有這些具體細(xì)節(jié)中的一些或全部的情況下可根據(jù)權(quán)利要求來實踐。為了清楚目的,在與本發(fā)明有關(guān)的【技術(shù)領(lǐng)域】中已知的技術(shù)材料未被詳細(xì)描述使得不會多余地混淆本發(fā)明。
[0014]應(yīng)該意識到本發(fā)明可以以許多方式實施,包括作為過程、設(shè)備、系統(tǒng)、裝置、方法或計算機可讀介質(zhì)(例如計算機可讀存儲介質(zhì),其包含計算機可讀指令或計算機程序代碼),或作為計算機程序產(chǎn)品,其包括具有嵌入其中的計算機可讀程序代碼的計算機可用介質(zhì)。在本公開的背景下,計算機可用介質(zhì)或計算機可讀介質(zhì)可以是可以包含或存儲程序供指令執(zhí)行系統(tǒng)、設(shè)備或裝置使用或與之結(jié)合來使用的任何介質(zhì)。例如,計算機可讀存儲介質(zhì)或計算機可用介質(zhì)可以是,但不限于,隨機存取存儲器(RAM)、只讀存儲器(ROMA)或持久性存儲(例如大容量存儲裝置、硬驅(qū)動器、
閃速存儲器)或任何磁、電磁、紅外、光或電手段系統(tǒng)、設(shè)備或裝置以便存儲信息。備選地或另外,計算機可讀存儲介質(zhì)或計算機可用介質(zhì)可以是這些裝置的任何組合或甚至是在其上打印程序代碼的紙或另一個適合的介質(zhì),因為程序代碼可以例如經(jīng)由紙或其他介質(zhì)的光掃描而電子地被捕獲,然后被編譯、解釋或以適合的方式另外處理(如必要的話)并且然后存儲在計算機存儲器中。應(yīng)用、軟件程序或計算機可讀指令可稱為部件或模塊。應(yīng)用可以在硬件中硬接線或硬編碼或采取在通用計算機上執(zhí)行的軟件的形式或在硬件中硬接線或硬編碼使得當(dāng)軟件裝載到計算機和/或由計算機執(zhí)行時,計算機變成用于實踐本發(fā)明的設(shè)備。應(yīng)用還可通過使用軟件開發(fā)包或工具包(其實現(xiàn)本發(fā)明的創(chuàng)建和實施)而被全部或部分下載。在該說明書中,這些實施或本發(fā)明可采取的任何其他形式可稱為技術(shù)。一般地,可在本發(fā)明的范圍內(nèi)更改公開的過程的步驟順序。
[0015]本發(fā)明的實施例將參考配置成存儲文件的數(shù)據(jù)系統(tǒng)而描述,但應(yīng)該理解本發(fā)明的原理不限于數(shù)據(jù)系統(tǒng)。相反,它們能應(yīng)用于能夠存儲和處理各種類型的對象(采用模擬、數(shù)字或其他形式)的任何系統(tǒng)。盡管可通過示例使用例如文檔、文件、對象等術(shù)語,本發(fā)明的原理不限于任何特定形式,
能夠代表信息的任何對象。
[0016]圖1圖示根據(jù)本發(fā)明的一些實施例的數(shù)據(jù)系統(tǒng)。數(shù)據(jù)系統(tǒng)10包括命名空間100、對象102、恢復(fù)服務(wù)104、容器106、攔截108、應(yīng)用110和版本112。盡管圖1圖示命名空間100、對象102、恢復(fù)服務(wù)104、容器106、攔截108、應(yīng)用110和版本112為單獨部件,應(yīng)該理解這些部件可存在于一個或多個機器中。例如,恢復(fù)服務(wù)104和容器106可存在于相同的機器中,而攔截108和應(yīng)用110存在于不同的機器中,并且對象102和命名空間100存在于再另一個不同的機器中。
[0017]命名空間100包括一組名稱地址對。例如,在一些實施例中,命名空間100可包括文件系統(tǒng)目錄結(jié)構(gòu)。命名空間100由應(yīng)用110使用來使對象102定位。
[0018]容器106包含備份數(shù)據(jù)。該備份數(shù)據(jù)可包括若干文件,以及相同文件的若干版本,如由圖1中的版本112描繪。例如,第一備份可存儲文件的初步版本。第二備份可存儲文件的最終版本。在這兩個備份期間,文件可具有相同的文件名。第二備份可存儲文件的第二版本而不是覆蓋文件的初步版本。[0019]版本112可被分段成子對象。應(yīng)該理解盡管使用術(shù)語“版本”,在容器中不需要有文件的多個版本。例如,容器可以具有文件X,并且僅具有文件X的一個版本。在該情況下,它是被分段成子對象的文件X。
[0020]在一些實施例中,分段可使用預(yù)定間隔(例如,以每IOkB創(chuàng)建段)而進行。在一些實施例中,分段可根據(jù)訪問方式而進行。例如,假設(shè)版本112是虛擬機的備份。如果版本112的第一 30kB對于啟動虛擬機是必需的,分段出第一 30kB可以是優(yōu)選的。版本112的剩余部分可被分段成30kB的段,或可根據(jù)一些其他標(biāo)準(zhǔn)(例如,40kB的段,根據(jù)其他已知的訪問方式來分段,等)而被分段。剩余段在尺寸上彼此不必相同,或不必與初始的30kB段相同。分段還可基于元數(shù)據(jù)(例如由應(yīng)用維護的文件歷史),或基于策略或用戶命令。
[0021]在一些實施例中,可對段分配優(yōu)先級。優(yōu)先級可通過多種方法而分配。在一些實施例中,訪問方式可在分配優(yōu)先級中用作標(biāo)準(zhǔn)。在上文的示例中,對虛擬機的備份的第一30kB分配最高優(yōu)先級可是優(yōu)選的。因為虛擬機的任何用戶首先將必須訪問第一 30kB來啟動虛擬機,盡可能快地恢復(fù)第一 30kB將是優(yōu)選的。通過對第一 30kB分配最高優(yōu)先級,恢復(fù)操作將能夠看到分配給第一 30kB的最高優(yōu)先級,并且盡可能快地恢復(fù)它。其他訪問方式可用于確定優(yōu)先級。例如,假設(shè)版本112是Microsoft Word應(yīng)用的備份,并且備份的最后5kB包含“最近訪問文件”列表。用戶可決定他們希望知道哪些文件是最近訪問的并且對該5kB段分配高優(yōu)先級。相似地,可以設(shè)置策略使得最近訪問的文件最有可能首先被訪問,
優(yōu)先級??墒褂孟嗨频倪壿嬙O(shè)置低優(yōu)先級。例如,如果某些子對象在恢復(fù)操作期間不太可能被訪問,可對那些子對象分配低優(yōu)先級。
[0022]段(例如子對象)或版本(例如對象)可被“固定”。在如本文描述的恢復(fù)操作期間,固定對象或子對象使被固定的對象或子對象局限于“遠程I/o”設(shè)置。當(dāng)正在恢復(fù)的對象是高度敏感時,固定可是優(yōu)選的,并且數(shù)據(jù)完整性具有最大重要性(超越性能重要性)。例如,如果正在恢復(fù)的對象是大的數(shù)據(jù)庫,數(shù)據(jù)完整性可被損害(如果在并行的子對象中進行恢復(fù))。在該情況下,快速地使大的數(shù)據(jù)庫復(fù)原到遠程位置(但“局限”于容器,從而允許在這兩個之間的快速數(shù)據(jù)傳輸)并且允許從客戶端遠程訪問,這可是優(yōu)選的。這樣,保護數(shù)據(jù)完整性,但客戶端可注意到由于與訪問遠程位置關(guān)聯(lián)的帶寬和資源問題而引起的性能下降。
[0023]在備份數(shù)據(jù)包括事務(wù)數(shù)據(jù)庫的情況下,還備份事務(wù)日志連同數(shù)據(jù)對象可以是優(yōu)選的。例如,當(dāng)事務(wù)數(shù)據(jù)庫失效時,在失效時訪問的對象的狀態(tài)可以是未知的。在一些情況下,可已經(jīng)進行最后的寫請求,但沒有確認(rèn)。在其他情況下,可完全沒有進行最后的寫請求。利用事務(wù)日志,可以確定是否已經(jīng)正確地執(zhí)行寫請求,從而允許恢復(fù)操作確定要恢復(fù)文件的哪個版本。
[0024]圖2圖示根據(jù)一些實施例的用于備份數(shù)據(jù)的方法。在步驟200中,將對象備份到存儲庫中。在步驟202中,
對象的分段可基于多種標(biāo)準(zhǔn)。例如,除了其他外,分段可基于訪問方式、元數(shù)據(jù)、策略或命令,或標(biāo)準(zhǔn)的任何組合。在步驟204中,對子對象分配優(yōu)先級。如上文描述的,還可基于多種標(biāo)準(zhǔn)分配優(yōu)先級。例如,除了其他外,優(yōu)先級可基于訪問方式、元數(shù)據(jù)、策略或用戶命令,或標(biāo)準(zhǔn)的任何組合。應(yīng)該注意不是每個對子對象需要分配的優(yōu)先級。在一些實施例中,在恢復(fù)操作期間使子對象“固定”到遠程I/O可是優(yōu)選的。在一些實施例中,優(yōu)先級化自身可作為元數(shù)據(jù)存儲在備份存儲庫中,或作為每個段中的首標(biāo)。[0025]應(yīng)用110包括在一個或多個機器上執(zhí)行的一個或多個計算過程,其中每個計算過程可進行從一個或多個裝置的輸入/輸出(I/O)。例如,在一些實施例中,應(yīng)用110可包括Microsoft Exchange Server 客戶端。
[0026]恢復(fù)服務(wù)104管理對象102的恢復(fù)。在一些實施例中,恢復(fù)服務(wù)104可對對象102和版本112追蹤改變,例如在遠程I/O期間。
[0027]圖3圖示根據(jù)一些實施例的用于恢復(fù)數(shù)據(jù)的方法。在步驟300中,選擇要恢復(fù)的對象。在步驟302中,基于分配給子對象的優(yōu)先級恢復(fù)對象的子對象。在步驟304中,在恢復(fù)期間基于應(yīng)用的I/O而對子對象重定優(yōu)先級。例如,應(yīng)用可希望訪問具有低優(yōu)先級的子對象。如果該子對象還未被恢復(fù),該子對象的優(yōu)先級可以
對象,并且允許應(yīng)用訪問該子對象。
[0028]對象102包括數(shù)據(jù)對象,其在應(yīng)用110使用數(shù)據(jù)對象時正被恢復(fù)服務(wù)104恢復(fù)。使用版本112使對象102復(fù)原,該版本112是容器106的一部分。在一些實施例中,對象102可被分段成子對象。將對象102分段成子對象允許子對象的并行恢復(fù)。
[0029]如在圖1中由對象102圖示,應(yīng)用110可通過多個方法訪問數(shù)據(jù)對象。一個方法是本地I/O。這是在數(shù)據(jù)(例如子對象)已經(jīng)完全恢復(fù)到本地站點的時候。在本地I/O期間,攔截108允許應(yīng)用110本地訪問對象102中的子對象。在一些實施例中,在本地I/O期間,攔截108可充當(dāng)應(yīng)用110與子對象之間的中介。例如,應(yīng)用110可發(fā)送請求到應(yīng)用110認(rèn)為是該子對象的地方。攔截108攔截請求、從子對象檢索請求的數(shù)據(jù)并且將請求的數(shù)據(jù)發(fā)送到應(yīng)用110。在一些實施例中,在本地I/O期間,攔截108可充當(dāng)看守,并且允許應(yīng)用110直接與子對象通信。例如,應(yīng)用110可發(fā)送請求到應(yīng)用110認(rèn)為是該子對象的地方。攔截108攔截請求、確定請求是否可以繼續(xù),并且假如這樣的話,允許請求通過。應(yīng)用110然后直接從子對象接收請求的數(shù)據(jù)。在一些實施例中,在攔截108已經(jīng)確定應(yīng)用110可直接與子對象通信之后,應(yīng)用110用于從子對象檢索數(shù)據(jù)所進行的隨后請求不必經(jīng)歷如本文描述的確定階段(例如,攔截108將不再需要確定應(yīng)用110是否可訪問子對象),
訪問與應(yīng)用110相同的機器上的數(shù)據(jù)。相反,“本地”可包括在地理上遠離但可由相對更高的帶寬連接而連接的機器?!氨镜亍边€可包括通常由應(yīng)用110訪問的機器。例如,存在于加利福尼亞的Microsoft Exchange客戶端典型地可連接到存儲在俄勒R的數(shù)據(jù)。數(shù)據(jù)的備份副本可存儲在華盛頓。在恢復(fù)期間,備份副本復(fù)原到俄勒R。當(dāng)將子對象復(fù)原到俄勒岡時,加利福尼亞客戶端可經(jīng)由“本地I/O” “本地”訪問俄勒岡子對象。
[0030]應(yīng)用110訪問數(shù)據(jù)的另一個方法是遠程I/O。這在未將子對象復(fù)原到本地站點但應(yīng)用110需要訪問該子對象時發(fā)生。這也可在正復(fù)原的對象或子對象如本文描述的那樣被“固定”時發(fā)生。在一些實施例中,攔截108將攔截應(yīng)用110的請求,并且重定向到恢復(fù)服務(wù)104。恢復(fù)服務(wù)104將在由恢復(fù)服務(wù)104維護的子對象的副本上進行應(yīng)用110的請求。經(jīng)由遠程I/O訪問的數(shù)據(jù)對象在具有比主系統(tǒng)少的資源限制的系統(tǒng)上由恢復(fù)服務(wù)起旋(例如啟動、安裝、恢復(fù)等)。例如,恢復(fù)服務(wù)104可將虛擬機安裝在“局限”于容器的物理機上,從而導(dǎo)致這兩個之間的高帶寬連接并且允許虛擬機快得多的復(fù)原。在應(yīng)用110與起旋的數(shù)據(jù)對象之間建立遠程連接,從而允許I/O操作。這在子對象未復(fù)原到本地站點的時候但是對子對象的即刻訪問是需要的或優(yōu)選的時候可是有用的。例如,可花費大量的時間來修補或替換 訪問數(shù)據(jù)。應(yīng)用110可使用遠程I/O來訪問由恢復(fù)服務(wù)104起旋的數(shù)據(jù),而不是等待更換部件到達。此外,當(dāng)同時恢復(fù)對使用可用網(wǎng)絡(luò)帶寬的應(yīng)用服務(wù)的影響不能被接受時,或當(dāng)數(shù)據(jù)完整性風(fēng)險太高時,例如在正復(fù)原的對象是大的數(shù)據(jù)庫時的情況下,遠程I/O可是優(yōu)選的。
[0031]應(yīng)用110訪問數(shù)據(jù)的另一個方法是訪問時恢復(fù)。這包括應(yīng)用110發(fā)送I/O請求到子對象,并且攔截108使到子對象的I/O請求延遲直到已經(jīng)恢復(fù)子對象。當(dāng)由于延遲的I/O請求引起的性能影響是可容許時,這可是優(yōu)選的。
[0032]在一些實施例中,攔截108是對于應(yīng)用110透明的代碼。也就是說,應(yīng)用110在事實上攔截108正將應(yīng)用110的指令重路由到恢復(fù)服務(wù)104時認(rèn)為它是正本地訪問對象102。
[0033]圖4圖示根據(jù)一些實施例的用于在數(shù)據(jù)恢復(fù)期間訪問數(shù)據(jù)的方法。在步驟400中,I/O請求從應(yīng)用發(fā)送到對象,其中正恢復(fù)該對象。在步驟402中,建立I/O攔截。在步驟404中,應(yīng)用的I/O請求被I/O攔截所攔截。在步驟406中,基于對象的子對象的狀態(tài)使I/O請求重定向。在一些實施例中,一旦應(yīng)用能夠經(jīng)由本地I/O訪問子對象,I/O攔截因為已經(jīng)恢復(fù)子對象而不再需要攔截應(yīng)用的I/O請求。在這樣的情況下,
應(yīng)用的I/O請求繼續(xù)而不受限制。
[0034]可對恢復(fù)優(yōu)先級化。如上文論述的,備份數(shù)據(jù)(例如對象或版本)的段可具有分配的優(yōu)先級。當(dāng)恢復(fù)操作檢測到這些優(yōu)先級時,它可基于優(yōu)先級而恢復(fù)段。例如,假設(shè)對象的第一 30kB是包含虛擬機的啟動信息的段,并且已經(jīng)對該第一 30kB分配最高優(yōu)先級。當(dāng)恢復(fù)操作掃描對象時,它將識別第一 30kB具有最高優(yōu)先級,并且在較低優(yōu)先級段之前開始復(fù)原第一 30kB。
[0035]在恢復(fù)操作期間復(fù)原的優(yōu)先級可是動態(tài)的。例如,假設(shè)備份圖像(該備份圖像是版本)的最后的IOOkB包含兩個最近訪問的文件,文件A和文件B。備份后操作可識別這些文件為高優(yōu)先級(因為他們是兩個最近訪問的文件),并且策略指示近期訪問的文件被分配高優(yōu)先級。然而,在恢復(fù)過程期間,用戶可試圖訪問中間的50kB,其包含很少被訪問的文件C。因為文件C很少被訪問,策略可已經(jīng)指示它被分配低優(yōu)先級,并且恢復(fù)操作將低優(yōu)先級施加于復(fù)原文件C。當(dāng)恢復(fù)操作檢測到應(yīng)用嘗試訪問文件C時,或當(dāng)攔截方告訴恢復(fù)操作應(yīng)用正嘗試訪問文件C時,恢復(fù)操作可使文件C的優(yōu)先級改變成高的。根據(jù)文件C的性能容許度,或由策略或用戶施加的其他限制,訪問文件C可以是遠程1/0,或訪問時恢復(fù)。例如,如果用戶將文件C視為非常重要的文件,其中數(shù)據(jù)完整性具有最大重要性,用戶可迫使恢復(fù)操作允許經(jīng)由遠程I/o訪問文件C。在另一個
容許性能下降(例如,在訪問之前等待文件C復(fù)原)中,則恢復(fù)操作可使用如本文描述的訪問時恢復(fù)。
[0036]此外,可在對象關(guān)閉期間更改優(yōu)先級。例如,假設(shè)對象(對象Z)正被復(fù)原。對象Z具有三個子對象,子對象A、B和C。A已經(jīng)被復(fù)原,并且經(jīng)由本地I/O被應(yīng)用訪問。B正在復(fù)原,但還未被復(fù)原。C已經(jīng)被“固定”,并且受限于遠程I/O。在恢復(fù)操作期間,應(yīng)用只訪問子對象A。在B或C恢復(fù)之前,應(yīng)用以對象Z而完成,并且關(guān)閉對象Z。這時,對B和C重新分配低優(yōu)先級是優(yōu)選的,因為應(yīng)用可以對象Z來進行并且對于恢復(fù)操作的剩余部分不需要訪問它。
[0037]在一些實施例中,由于遠程I/O而保留更改的子對象的副本可是優(yōu)選的。使用上文的示例,假設(shè)應(yīng)用已經(jīng)經(jīng)由本地I/o訪問子對象A,并且經(jīng)由遠程I/O訪問子對象C。在已經(jīng)完成恢復(fù)之前,應(yīng)用以對象Z而完成。在該情況下,對于恢復(fù)操作,保存對子對象C做出的改變(例如,保存子對象C的遠程副本)并且維護I/O攔截可是有利的。萬一在恢復(fù)操作期間應(yīng)用再次希望訪問子對象C,維護I/O攔截將是有用的。萬一在恢復(fù)操作期間應(yīng)用再次希望訪問子對象C,保存C的遠程副本也將是有用的。一旦應(yīng)用已經(jīng)關(guān)閉對象Z,恢復(fù)操作可開始使C的遠程副本復(fù)原至
優(yōu)先級的重新分配或由策略或用戶確定的其他設(shè)置。
[0038]圖5圖示根據(jù)一些實施例用于保存在數(shù)據(jù)恢復(fù)期間做出的數(shù)據(jù)改變的方法。在步驟500中,使備份恢復(fù)到遠程位置。在步驟502中,I/O攔截用于訪問恢復(fù)的數(shù)據(jù)。在步驟504中,第一次修改恢復(fù)的數(shù)據(jù)。在步驟506中,完成恢復(fù)的數(shù)據(jù)的修改(例如,應(yīng)用已經(jīng)關(guān)閉對象)。在步驟508中,保存I/O攔截。在步驟510中,將修改的數(shù)據(jù)存儲在遠程位置。在一些實施例中,應(yīng)用可在關(guān)閉對象后再次訪問修改的數(shù)據(jù)(例如,第二次訪問備份數(shù)據(jù))。在該情況下,維護I/O攔截以方便遠程I/O是有用的。在一些實施例中,在修改的數(shù)據(jù)已經(jīng)恢復(fù)到本地位置之后(例如,遠程位置數(shù)據(jù)已經(jīng)完全復(fù)原到本地位置),存儲在遠程位置的修改的數(shù)據(jù)可被刪除、可添加到備份數(shù)據(jù)或可替換備份數(shù)據(jù)。一旦副本已經(jīng)復(fù)原到遠程位置,還可從遠程位置刪除修改的數(shù)據(jù)。
[0039]為了清楚起見,本文的過程和方法已經(jīng)用具體流圖示,但應(yīng)該理解其他順序可是可能的并且一些可并行進行,而不偏離本發(fā)明的精神。另外,步驟可細(xì)分或組合。如本文公開,根據(jù)本發(fā)明編寫的軟件可以采用例如存儲器或CD-ROM等計算機可讀介質(zhì)的一些形式存儲,或在網(wǎng)絡(luò)上傳送,并且由處理器執(zhí)行。
[0040]本文引用的所有參考意在通過引用而包含。盡管已經(jīng)在上文從具體方面描述本發(fā)明,
毫無疑問地對于本領(lǐng)域內(nèi)技術(shù)人員變得明顯并且可在附上的權(quán)利要求的范圍和等同物內(nèi)實踐??墒褂贸^一個的計算機,例如通過使用以并行或均載設(shè)置的多個計算機或通過使任務(wù)跨多個計算機分布使得它們整體地進行本文識別的部件的功能;即,它們代替單個計算機。上文描述的各種功能可由單個計算機上或分布在若干計算機上的單個過程或成組的過程進行。過程可調(diào)用其他過程來處理某些任務(wù)??墒褂脝蝹€存儲裝置,或可使用若干個來代替單個存儲裝置。本實施例要視為說明性和非限制性的,并且本發(fā)明不限于本文給出的細(xì)節(jié)。因此規(guī)定本公開和下面的權(quán)利要求解釋為涵蓋所有這樣的改動和修改,其落入本發(fā)明的真正精神和范圍內(nèi)。
【權(quán)利要求】
1.一種用于在數(shù)據(jù)恢復(fù)期間訪問數(shù)據(jù)的方法,其包括: 將來自應(yīng)用的I/o請求發(fā)送到對象,其中所述對象正在恢復(fù); 建立I/O攔截; 用I/o攔截來攔截所述應(yīng)用的I/O請求;以及 基于所述對象的子對象的狀態(tài)使所述I/o請求重定向。
2.如權(quán)利要求1所述的方法,其中使所述I/o請求重定向包括使所述I/O請求重定向到所述對象的子對象的本地副本。
3.如權(quán)利要求1所述的方法,其中使所述I/o請求重定向包括使所述I/O請求重定向到所述對象的子對象的遠程副本。
4.如權(quán)利要求1所述的方法,其中使所述I/O請求重定向包括保持所述I/O請求直到恢復(fù)子對象。
5.如權(quán)利要求3所述的方法,其中使所述I/O請求重定向到遠程副本基于所述對象的子對象的固定狀態(tài)。
6.如權(quán)利要求2所述的方法,其進一步包括在所述應(yīng)用已經(jīng)在所述本地副本上成功進行I/o后關(guān)于所述本地副本取消所述I/O攔截。
7. 以及處理器,配置成選擇將來自應(yīng)用的I/o請求發(fā)送到對象,其中所述對象正在恢復(fù),建立I/O攔截,用所述I/O攔 截來攔截所述應(yīng)用的I/O請求,以及基于所述對象的子對象的狀態(tài)使所述I/o請求重 定向。
8.如權(quán)利要求1所述的系統(tǒng),其中使所述I/o請求重定向包括使所述I/O請求重定向到所述對象的子對象的本地副本。
9.如權(quán)利要求1所述的系統(tǒng),其中使所述I/o請求重定向包括使所述I/O請求重定向到所述對象的子對象的遠程副本。
10.如權(quán)利要求1所述的系統(tǒng),其中使所述I/o請求重定向包括保持所述I/O請求直到恢復(fù)子對象。
11.如權(quán)利要求9所述的系統(tǒng),其中使所述I/O請求重定向到遠程副本基于所述對象的子對象的固定狀態(tài)。
12.如權(quán)利要求8所述的系統(tǒng),所述處理器進一步配置成在所述應(yīng)用已經(jīng)在所述本地副本上成功進行I/O后關(guān)于所述本地副本取消所述I/O攔截。
13.一種用于在數(shù)據(jù)恢復(fù)期間訪問數(shù)據(jù)的計算機程序產(chǎn)品,其包括具有嵌入其中的機器可讀代碼的計算機可用介質(zhì),用于: 恢復(fù); 建立I/O攔截; 用所述I/o攔截來攔截所述應(yīng)用的I/O請求;以及 基于所述對象的子對象的狀態(tài)使所述I/o請求重定向。
14.如權(quán)利要求13所述的計算機程序產(chǎn)品,其中使所述I/O請求重定向包括使所述I/O請求重定向到所述對象的子對象的本地副本。
15.如權(quán)利要求13所述的計算機程序產(chǎn)品,其中使所述I/O請求重定向包括使所述I/O請求重定向到所述對象的子對象 的遠程副本。
16.如權(quán)利要求13所述的計算機程序產(chǎn) 品,其中使所述I/O請求重定向包括保持所述I/O請求直到恢復(fù)子對象。
17.如權(quán)利要求15所述的計算機程序產(chǎn)品,其中使所述I/O請求重定向到遠程副本基于所述對象的子對象的固定狀態(tài)。
18.如權(quán)利要求14所述的計算機程序產(chǎn)品,其進一步包括用于在所述應(yīng)用已經(jīng)在所述本地副本上成功進行I/O后關(guān) 于所述本地副本取消所述I/O攔截的機器可讀代碼。
【文檔編號】G06F7/00GK103890708SQ201180041638
【公開日】2014年6月25日 申請日期:2011年6月28日 優(yōu)先權(quán)日:2010年6月30日
【發(fā)明者】M.J.杜奇, C.H.克勞達托斯, M.N.勞 申請人:Emc 公司