專利名稱:響應(yīng)處理信息將大容量存儲器恢復(fù)到先前狀態(tài)的制作方法
背景技術(shù):
發(fā)明領(lǐng)域本發(fā)明涉及備份和恢復(fù)計算機數(shù)據(jù)。特別涉及當(dāng)恢復(fù)由中斷所導(dǎo)致的計算機數(shù)據(jù)損失時,最小化計算機數(shù)據(jù)損失的系統(tǒng)和方法。
現(xiàn)有技術(shù)隨著個人計算機的出現(xiàn),全球商業(yè)在執(zhí)行日常商業(yè)活動中都依賴于計算機數(shù)據(jù)。但是,在計算機處理的過程中,可能發(fā)生大量的意外,如自然災(zāi)害、恐怖活動、或者更平常的事件,如計算機硬件和/或/軟件故障。這些故障通常導(dǎo)致計算機數(shù)據(jù)損壞、不可靠,甚至丟失。數(shù)據(jù)損壞或數(shù)據(jù)丟失,如客戶名單、金融交易,商業(yè)文檔,商務(wù)交易等等,導(dǎo)致了大量的時間與/或金錢投資的損失,對商業(yè)造成嚴重破壞。
計算機數(shù)據(jù)的丟失或損壞在全球電子商務(wù)領(lǐng)域破壞性特別大?;ヂ?lián)網(wǎng)允許世界上的每個人進行電子化交易,從而帶來電子化訂單連續(xù)不斷的儲入。但是,這些訂單的所有拷貝都是電子化的,因此,電子計算機數(shù)據(jù)的損壞或丟失可以導(dǎo)致由這些丟失訂單所帶來的商業(yè)損失。由于意識到可靠計算機數(shù)據(jù)的商業(yè)價值,商業(yè)人士尋求保護他們數(shù)據(jù)以及重建被損壞、不可靠或被丟失數(shù)據(jù)的方法。傳統(tǒng)的數(shù)據(jù)保護和重建方法包括建立該計算機數(shù)據(jù)的一個備份拷貝。盡管在一張軟盤上保存一個個人文件的備份拷貝是一個簡單的步驟,但隨著數(shù)據(jù)量的增加,創(chuàng)建一個備份拷貝變得更加困難。
可能建立一個計算機數(shù)據(jù)的大容量備份拷貝的最簡單的辦法是,從一個大容量存儲系統(tǒng)復(fù)制數(shù)據(jù)到一個數(shù)據(jù)設(shè)備,如一個或多個磁帶。這種方法通過犧牲對數(shù)據(jù)的即時存儲來存儲大量的計算機數(shù)據(jù)。磁帶可以存儲在本地或遠端,當(dāng)大容量存儲系統(tǒng)出現(xiàn)問題時,數(shù)據(jù)將從磁帶中復(fù)制到大容量存儲系統(tǒng)。
雖然使用數(shù)據(jù)設(shè)備來保護數(shù)據(jù)丟失具有相對簡單和低廉的優(yōu)點,但它也有嚴重的局限性。一個這樣的制約是在創(chuàng)建備份拷貝時以及在重建數(shù)據(jù)時,禁止用戶讀取該計算機數(shù)據(jù)的時間長度。用戶讀取的禁止,一般是用來保證在這一過程中沒有改變數(shù)據(jù)。因為不希望出現(xiàn)用戶不無法存取數(shù)據(jù)的情況,就很少創(chuàng)建備份拷貝,從而導(dǎo)致備份拷貝中的計算機數(shù)據(jù)陳舊。類似的是,將計算機數(shù)據(jù)從一個磁帶上復(fù)制到一個大容量存儲系統(tǒng)里會非常耗時,因為該計算機數(shù)據(jù)是基于文件對文件模式傳輸。當(dāng)大容量數(shù)據(jù)存儲設(shè)備位于遠距離,且不能通過一個網(wǎng)絡(luò)訪問時,這種耗時更多。這種冗長的重建時間導(dǎo)致計算機不可訪問的時間增長,并使商務(wù)成本增加時間和金錢的數(shù)額。
傳統(tǒng)方法的另一局限是備份拷貝表示的數(shù)據(jù)是之前某個時刻的,這意味著備份拷貝在源數(shù)據(jù)隨后發(fā)生變化后沒有更新。建立數(shù)據(jù)備份為在源數(shù)據(jù)發(fā)生損壞或丟失時恢復(fù)大部分計算機數(shù)據(jù)提供保證。這使得數(shù)據(jù)損失僅局限于最近一次備份拷貝后對源數(shù)據(jù)所做的改變。但是,在某些商業(yè)領(lǐng)域,如果計算機數(shù)據(jù)不是最新的,那么該數(shù)據(jù)就是陳舊的、不可靠的,甚至是無效的。在費率和信息急劇變化的金融領(lǐng)域,這尤其麻煩。因此,當(dāng)計算機數(shù)據(jù)損失或丟失時,依賴于頻繁變化的信息的商業(yè),將面臨丟失其所有有價值的計算機數(shù)據(jù)的危險。
因此,本發(fā)明闡述了該技術(shù)領(lǐng)域里的一種改進,以提供一種用于備份計算機數(shù)據(jù)的系統(tǒng)和方法,其可以最小化由于計算機故障或數(shù)據(jù)損壞所造成的計算機數(shù)據(jù)丟失量。本發(fā)明還闡述了該技術(shù)領(lǐng)域里的另一種改進,以提供一種不需要終止用戶訪問該大容量存儲系統(tǒng)就可以備份數(shù)據(jù)的系統(tǒng)。
發(fā)明內(nèi)容
本發(fā)明涉及備份和恢復(fù)計算機數(shù)據(jù)的系統(tǒng)和方法。當(dāng)計算機數(shù)據(jù)發(fā)生損壞或丟失時,本發(fā)明能以一種增量的方法方式來恢復(fù)數(shù)據(jù)。特別是當(dāng)數(shù)據(jù)損壞或丟失時,該數(shù)據(jù)能向越來越舊的狀態(tài)增量地倒推,直到獲得一個有效的數(shù)據(jù)集。通過此方法,數(shù)據(jù)可以到恢復(fù)到一個比該數(shù)據(jù)的完全鏡像或其存檔拷貝更新的狀態(tài)。因此,進行大量數(shù)據(jù)的完全鏡像或存檔操作的頻率可以降低,且不存在丟失最近完全鏡像或存檔操作后所作數(shù)據(jù)修改的危險。
根據(jù)本發(fā)明,一個大容量存儲設(shè)備在時刻T0存儲多個數(shù)據(jù)塊。在T0時刻,可對存儲在大容量存儲設(shè)備中的數(shù)據(jù)進行鏡像備份,以便在必要時,可方便地恢復(fù)T0時刻的數(shù)據(jù)。通常獲得數(shù)據(jù)鏡像拷貝是一個耗費時間和資源的過程,最好發(fā)生頻率相對較低。為了保存從創(chuàng)建鏡像拷貝之后到導(dǎo)致數(shù)據(jù)丟失的潛在事件之前修改的數(shù)據(jù),在T0時刻之后將被覆蓋的數(shù)據(jù)塊被保存在一個保留存儲器中。特別是,如果在T0后,一個特定的數(shù)據(jù)塊作為一個寫操作的部分需被覆蓋,在大容量存儲器中替換源數(shù)據(jù)塊之前,該源數(shù)據(jù)塊的一個拷貝被存儲在保留存儲器中。另外,存儲在保留存儲器中的該數(shù)據(jù)塊需要加上時間戳或其他的標(biāo)記,以標(biāo)明寫操作的發(fā)生時間,或者標(biāo)明寫操作在相關(guān)所有寫操作中按時間先后順序排列所處的位置。
T0時刻后,隨著寫操作的成功執(zhí)行,需被覆蓋的原始數(shù)據(jù)塊被依次存儲在保留存儲器中并加上了相應(yīng)的時間戳。因此,在T0后被覆蓋或修改的數(shù)據(jù)塊被存儲在保留存儲器中,且在大容量存儲器中被覆蓋的數(shù)據(jù)塊里的時間或次序是特定的。
當(dāng)大容量存儲單元設(shè)備中的某數(shù)據(jù)塊損壞或丟失時,存儲在保留存儲器中的這些數(shù)據(jù)塊就可用來增量恢復(fù)或重建一個正確的數(shù)據(jù)集,而不需要將數(shù)據(jù)完全恢復(fù)到T0時刻的數(shù)據(jù)。例如,如果無效或損壞的數(shù)據(jù)在T0時刻之后被寫到該大容量存儲設(shè)備中的某些數(shù)據(jù)塊里,則如上所述,原始、有效的數(shù)據(jù)塊將被存儲在一個保留存儲器中。利用表示在大容量存儲設(shè)備中存儲在一個保留存儲器里的數(shù)據(jù)塊被覆蓋的先后順序的時間戳,保留存儲器里的這些數(shù)據(jù)塊可以寫入該大容量存儲設(shè)備中的當(dāng)前數(shù)據(jù)。在該保留存儲器中的一個或多個數(shù)據(jù)塊按一個相反的先后順序?qū)懟氐皆摯笕萘看鎯υO(shè)備后,在該大容量存儲設(shè)備里,可以最終獲得一個有效的數(shù)據(jù)集。因此,利用存儲在該保留存儲器中的數(shù)據(jù)塊可以重建數(shù)據(jù),且不要求將數(shù)據(jù)完全恢復(fù)到T0時刻的數(shù)據(jù)。
需要注意的是,根據(jù)本發(fā)明,對存儲在該大容量存儲設(shè)備里的所有數(shù)據(jù)進行完全鏡像或存檔操作的頻率可以比沒有利用本發(fā)明時所需要的頻率低。利用存儲在保留存儲器中的數(shù)據(jù)塊可以將損壞數(shù)據(jù)恢復(fù)到一個比最近完全鏡像數(shù)據(jù)拷貝更新的狀態(tài)。另需注意的是,在保留存儲器中存儲一系列已覆蓋數(shù)據(jù)塊顯然比執(zhí)行該大容量存儲器數(shù)據(jù)的完全鏡像操作具有更低的資源密集度(resource intensive)。另外,響應(yīng)寫操作、存儲在保留存儲器中的數(shù)據(jù)可以是一個相對于一個完整文件有良好粒度(granularity)的數(shù)據(jù)塊。例如,在大容量存儲設(shè)備中響應(yīng)寫操作、存儲在保留存儲器里的數(shù)據(jù)可以是該大容量存儲設(shè)備中一個扇區(qū)、或是一個部分或片斷。按照本方法,在一個保留存儲器中存儲數(shù)據(jù)可以避免響應(yīng)寫操作而復(fù)制整個文件,且允許數(shù)據(jù)可以獨立于該數(shù)據(jù)的任何文件結(jié)構(gòu)存儲。本發(fā)明的其他特征和優(yōu)點將在后面詳細闡明,其中部分內(nèi)容可以從該說明中顯而易見,或者可以通過本發(fā)明的實踐而了解。可以通過在附帶權(quán)利要求中指出的方法和組合來了解和獲得本發(fā)明的特征和優(yōu)點。本發(fā)明的這些和其他特征通過后面的說明及附帶的權(quán)利要求將更加清楚,或者也可通過在下文中介紹的本發(fā)明的應(yīng)用來了解。
附圖簡述為了獲得上述方法和本發(fā)明的其他優(yōu)點和特征,一個如上所述的本發(fā)明的更具體描述將通過參考一個在附圖中解釋的具體的實施例來提供。應(yīng)理解,這些圖僅僅描述本發(fā)明的典型實施例,并不意味著限制本發(fā)明的范圍,本發(fā)明將利用如下附圖來詳細描述和解釋本發(fā)明
圖1是表示帶有相連大容量存儲設(shè)備和保留存儲器、可以實現(xiàn)本發(fā)明的計算機系統(tǒng)框圖。
圖2是圖1中計算機系統(tǒng)的框圖,顯示在T0時刻存儲在大容量存儲設(shè)備中的數(shù)據(jù)。
圖3說明一系列寫操作,其中被覆蓋的數(shù)據(jù)塊被存儲在一個保留存儲器。
圖4說明一個操作,其中在大容量存儲設(shè)備中的數(shù)據(jù)在一個數(shù)據(jù)損壞的情況下被增量恢復(fù)。
圖5說明一個虛擬設(shè)備的操作,該操作顯示在一個大容量存儲設(shè)備中包括一個數(shù)據(jù)之前狀態(tài)的拷貝。
圖6說明一個表示實現(xiàn)本發(fā)明相宜的操作環(huán)境的計算機系統(tǒng)。
優(yōu)選實施例詳述本發(fā)明涉及計算機數(shù)據(jù)的備份與恢復(fù)。具體而言,本發(fā)明能夠恢復(fù)已損壞數(shù)據(jù),而不需要將該數(shù)據(jù)完全恢復(fù)到最近的完全鏡像數(shù)據(jù)拷貝。在創(chuàng)建該數(shù)據(jù)的一個鏡像拷貝后,將要被覆蓋的數(shù)據(jù)塊被存儲在一個保留存儲器中。這些數(shù)據(jù)塊都關(guān)聯(lián)一個時間戳或標(biāo)志時間的信息,或者是這些數(shù)據(jù)塊被覆蓋或在該大容量存儲設(shè)備中原始數(shù)據(jù)被覆蓋的先后順序的信息。一般而言,術(shù)語“時間戳”指任何用來表示存儲在保留存儲器中數(shù)據(jù)塊的先后順序或時間的信息當(dāng)發(fā)生數(shù)據(jù)損壞時,保留存儲器中的數(shù)據(jù)塊可以用來將在該大容量存儲設(shè)備中該數(shù)據(jù)當(dāng)前的損壞拷貝增量修復(fù)為一個有效數(shù)據(jù)集。圖1解釋一個可以用來實現(xiàn)本發(fā)明的計算機系統(tǒng)。圖1中的計算機系統(tǒng)包括一個計算機10,一個大容量存儲器12,一個保留存儲器14以及一個I/O設(shè)備16。計算機10可以是管理、生成、存儲及其他數(shù)據(jù)處理的任一計算機或其他處理設(shè)備。例如,計算機10可以是一臺傳統(tǒng)的個人電腦,一臺服務(wù)器,特定用途的計算機等等類似的設(shè)備。后文將講解的圖6中詳細介紹了一個可以應(yīng)用本發(fā)明的計算機實例。
大容量存儲設(shè)備12和計算機10相連,用于存儲從計算機10中獲得的數(shù)據(jù)。一般而言,大容量存儲器12是一個可寫的、穩(wěn)定的大容量存儲設(shè)備。具體而言,大容量存儲器12可以是連接在傳統(tǒng)個人計算機上的硬盤,或任何其他用于存儲從計算機10上所獲得數(shù)據(jù)的存儲設(shè)備。
保留存儲器14是一個和計算機10相連的物理或邏輯設(shè)備,用以保存在大容量存儲器12中將被覆蓋的數(shù)據(jù)塊。保留存儲器14可以是一易失性存儲設(shè)備,例如隨機存儲器(RAM),或其他任何用于存儲大容量存儲器12中將被覆蓋數(shù)據(jù)塊的設(shè)備。盡管在圖1中保留存儲器被表示成一個獨立的設(shè)備,但該保留存儲器可以是大容量存儲器12的一部分。
如圖1所示,計算機10還可包括一個允許用戶操作由計算機10處理且存儲在該大容量存儲器12中的數(shù)據(jù)輸入/輸出(I/O)設(shè)備16。另外,典型的計算機10包括由該大容量存儲設(shè)備12來滿足的數(shù)據(jù)存儲要求的應(yīng)用或軟件。但是一般而言,本發(fā)明可以充分擴展應(yīng)用于任何帶軟、硬件的計算機10,只要其中包含一個用于存儲數(shù)據(jù)的大容量存儲器12和一個用于存儲覆蓋數(shù)據(jù)塊的保留存儲器14。
圖2表示了圖1中的計算機系統(tǒng)處于T0時刻,此時大容量設(shè)備12包括一個存儲給定數(shù)據(jù)的數(shù)據(jù)塊集。在圖2示例中,為便于說明,大容量存儲器12顯示為包含五個數(shù)據(jù)塊,分別定義為數(shù)據(jù)塊A、B、C、D、E。假設(shè)在T0時刻已建立并存儲了大容量存儲器中的所有數(shù)據(jù)的鏡像或其他形式的備份拷貝??梢酝ㄟ^任何方式產(chǎn)生在T0時刻獲得的數(shù)據(jù)的鏡像或備份拷貝,包括傳統(tǒng)的方式。
根據(jù)大容量存儲器12中數(shù)據(jù)的特性,獲得時刻T0包括邏輯一致的數(shù)據(jù)的鏡像或備份拷貝是有益的。當(dāng)存儲在大容量設(shè)備12中的數(shù)據(jù)表示處理時,其中為了獲得一個有效或有用的數(shù)據(jù)集,每個處理都要求多個寫操作或要求其他多個I/O操作,這尤為重要。當(dāng)一個處理中的所有必需的操作或所需的一系列I/O操作未全部完成,數(shù)據(jù)就是邏輯上不一致的。因此,根據(jù)大容量存儲器12中的數(shù)據(jù)的特性,T0時刻數(shù)據(jù)的鏡像或備份拷貝必須是邏輯上一致的數(shù)據(jù)。
在T0時刻獲得的該數(shù)據(jù)鏡像或備份拷貝,使得T0時刻大容量存儲器12上的數(shù)據(jù)塊A、B、C、D、E可以通過存取該數(shù)據(jù)的鏡像或備份拷貝來重建。但如上所述,完全鏡像或備份操作會耗費較多的時間與帶寬,因此這種操作需要以較低頻率進行。如上所述,且在后面還會更詳細的介紹,本發(fā)明利用保留存儲器14來存儲數(shù)據(jù)塊,使得大容量存儲設(shè)備12中的數(shù)據(jù)可以在不需要將數(shù)據(jù)完全恢復(fù)到T0時刻,通過一個相反的先后順序增量恢復(fù)。盡管大容量存儲設(shè)備12中數(shù)據(jù)的定期鏡像或備份拷貝通常是有利的,但本發(fā)明可以僅依靠存儲在保留存儲器14中的數(shù)據(jù)而不需要定期的鏡像或備份拷貝。
為了描述時刻T0之后數(shù)據(jù)是如何存儲在保留存儲器中的,圖3表示在大容量存儲設(shè)備中的一個數(shù)據(jù)塊集的一個特定實例與應(yīng)用其上的多個寫操作。如圖3所示,在時刻T0保存在大容量存儲器中的數(shù)據(jù)塊20表示為(A,B,C,D,E)。在時刻T1.0,圖2中的計算機10發(fā)出一個寫請求,借此用數(shù)據(jù)塊30 A1來覆蓋已存在的數(shù)據(jù)塊A,并形成一個新的數(shù)據(jù)塊集20a(A1,B,C,D,E)。一般而言,響應(yīng)此寫請求之后,在用新的數(shù)據(jù)塊來覆蓋該大容量存儲設(shè)備中的數(shù)據(jù)塊之前,現(xiàn)存的數(shù)據(jù)塊被存儲在保留存儲器里,并帶上一個時間戳。
在這個例子里,在T10時刻,數(shù)據(jù)塊A被寫入到該保留存儲器中,并如40a所示,帶有一個表示T1.0時刻的時間戳。因此,盡管在大容量存儲器中數(shù)據(jù)塊A被覆蓋,但數(shù)據(jù)塊A已被存儲在該保留存儲器中,以備將來某個時間用于重建被損壞的數(shù)據(jù)。
在T1.1時刻,數(shù)據(jù)塊30b(D1)被存儲到大容量存儲設(shè)備中,從而形成新的數(shù)據(jù)塊集20b(A1,B,C,D1,E)數(shù)據(jù)集。在此寫操作之前,將要被覆蓋的數(shù)據(jù)塊D存儲在該保留存儲器中,并如40b所示,帶有一個表示T1.1時刻的時間戳。在T1.2時刻,發(fā)生一個數(shù)據(jù)損壞事件,導(dǎo)致數(shù)據(jù)塊30c(Dx)被寫入存儲在該大容量存儲設(shè)備中的數(shù)據(jù)。如本例中所使用的,下標(biāo)“x”和“y”表示損壞的數(shù)據(jù)。可能有多種原因?qū)е聰?shù)據(jù)損壞,如數(shù)據(jù)輸入問題、軟件問題、硬件問題,等等。T1.2時刻的數(shù)據(jù)損壞事件導(dǎo)致新的數(shù)據(jù)塊集20c(A1,B,C,Dx,E)。在寫操作之前,將被覆蓋的數(shù)據(jù)塊D1被存儲在保留存儲器中,并如40c所示,帶有一個表示T1.2時刻的時間戳。
在T1.3時刻,數(shù)據(jù)塊30d(B1)被寫入存儲在大容量存儲器中的數(shù)據(jù),并形成新的數(shù)據(jù)集20d(A1,B1,C,Dx,E)。在寫操作之前,將被覆蓋的數(shù)據(jù)塊B被存儲在該保留存儲器,并如40d所示,帶有一個表示T1.3時刻的時間戳。
最后,在T1.4時刻,發(fā)生另一次數(shù)據(jù)損壞事件,導(dǎo)致數(shù)據(jù)塊30e(Dy)被寫入存儲在大容量存儲器中的數(shù)據(jù)。T1.4時刻的數(shù)據(jù)損壞事件形成了新的數(shù)據(jù)塊集20e(A1,B1,C,Dy,E)。在寫操作之前,將被覆蓋的數(shù)據(jù)塊Dx存儲在該保留存儲器,并如40e所示,帶上一個表示T1.4時刻的時間戳。
因此,在T1.4時刻,在大容量存儲器中現(xiàn)存的數(shù)據(jù)塊集20e是(A1,B1,C,Dy,E)。如上所述,數(shù)據(jù)塊Dy表示損壞的數(shù)據(jù),它可能使大容量存儲器中所有數(shù)據(jù)塊都失效。在T1.4時刻,保留存儲器中存儲了數(shù)據(jù)塊集合(A,D,D1,B,Dx),及相應(yīng)的時間戳(T1.0,T1.1,T1.2,T1.3,T1.4)。
因為在T0時刻之后發(fā)生了數(shù)據(jù)損壞事件,所以可以通過存取T0時刻創(chuàng)建的所有數(shù)據(jù)的任何鏡像或備份拷貝完全恢復(fù)到在該大容量存儲器中存在過的數(shù)據(jù)來獲得一個數(shù)據(jù)的有效集。但是,完全恢復(fù)到T0時刻的數(shù)據(jù)將導(dǎo)致丟失在T0后寫入該大容量存儲設(shè)備的所有數(shù)據(jù)。因此,根據(jù)本發(fā)明,存儲在保留存儲器中的數(shù)據(jù)塊被用來以一個相反的先后順序增量恢復(fù)該大容量存儲設(shè)備中的數(shù)據(jù)到一個如圖4所示的有效、無損壞的數(shù)據(jù)狀態(tài)。圖4中的保留存儲器在T2時刻包括在T1.4時刻時刻存儲在保留存儲器中的數(shù)據(jù)塊集和相應(yīng)的時間戳。依此類推,圖4中的大容量存儲器在時刻T2包括圖3中T1.4時刻的數(shù)據(jù)塊集20e(A1,B1,C,Dy,E)。
在圖4所示的數(shù)據(jù)恢復(fù)操作,開始于當(dāng)前的可能損壞數(shù)據(jù)塊集20e和存儲在保留存儲器中的數(shù)據(jù)塊集40e。時間戳T1.0-T1.4用來以相反的先后順序重建在大容量存儲設(shè)備中之前存在的數(shù)據(jù)。因此,在保留存儲器(Dx)中最近的存儲數(shù)據(jù)塊被寫入T2時刻存在的數(shù)據(jù)集以回滾該大容量存儲設(shè)備中的數(shù)據(jù)集到T3時刻的狀態(tài),產(chǎn)生一個數(shù)據(jù)塊集(A1,B1,C,Dx,E)。
需要注意的是,圖4中說明的這種回滾該大容量存儲設(shè)備中數(shù)據(jù)的操作可以利用存儲在該大容量存儲設(shè)備的數(shù)據(jù)集或該數(shù)據(jù)集的拷貝來執(zhí)行。
回滾到T1.3時刻之后,通過計算機或手動,根據(jù)數(shù)據(jù)塊Dx被損壞來確定T1.3時刻的數(shù)據(jù)集20d依表示損壞的數(shù)據(jù)。因為數(shù)據(jù)塊依然有損壞,則利用該保留存儲器中帶時間戳T1.3的數(shù)據(jù)塊B來進一步回滾該大容量存儲設(shè)備中的數(shù)據(jù)到T1.2時刻的狀態(tài)。因此,產(chǎn)生表示T1.2時刻時大容量存儲器中存儲的數(shù)據(jù)塊集20c(A1,B,C,Dx,E)。因為數(shù)據(jù)塊集20c也包含損壞的數(shù)據(jù)塊Dx,所以可以確定該數(shù)據(jù)塊表示損壞數(shù)據(jù)。相應(yīng)的,繼續(xù)按照相反的先后順序?qū)懭朐谠摯笕萘看鎯υO(shè)備中的數(shù)據(jù)來將數(shù)據(jù)進一步回滾到T1.1時刻的狀態(tài)。其中,帶有時間戳T1.2的數(shù)據(jù)塊D1被寫入到大容量存儲器中,產(chǎn)生大容量存儲設(shè)備T1.1時刻的數(shù)據(jù)塊集20b(A1,B,C,D1,E)
此時,可確定數(shù)據(jù)集數(shù)據(jù)集20b(A1,B,C,D1,E)是一個有效且未損壞的數(shù)據(jù)集。因此,該保留存儲器中的數(shù)據(jù)塊被用于按相反的先后順序來增量恢復(fù)該大容量存儲設(shè)備中的數(shù)據(jù),直至獲得一個有效的數(shù)據(jù)集。必須指出,此時數(shù)據(jù)塊20b(A1,B,C,D1,E)包含特定數(shù)據(jù)(例如A1和D1),這些特定數(shù)據(jù)本不應(yīng)包括在已將數(shù)據(jù)完全還原到T0時刻所鏡像或備份的拷貝數(shù)據(jù)的被恢復(fù)數(shù)據(jù)中。而且恢復(fù)這種更新的數(shù)據(jù)塊并不需要在T0之后再做完全數(shù)據(jù)鏡像或備份。
如前所述,恢復(fù)數(shù)據(jù)的操作一般包括以相反的順序應(yīng)用該保留存儲器中的數(shù)據(jù)塊到該大容量存儲設(shè)備中數(shù)據(jù)塊的現(xiàn)存拷貝上,直到這些數(shù)據(jù)塊表示有效、沒有損失的數(shù)據(jù)。
由此可見,當(dāng)寫操作數(shù)量較多或者較頻繁時,保留存儲器中的數(shù)據(jù)塊數(shù)目會快速上升。因此,在實踐中,要在數(shù)據(jù)完全鏡像或備份操作頻率與保留存儲器中存儲數(shù)據(jù)塊數(shù)目之間折衷。在一個實施例中,完全鏡像或備份操作的頻率由保留存儲器被填滿或到達某一存儲量的頻率決定。換言之,當(dāng)保留存儲器中的數(shù)據(jù)量到達保留存儲器的容量上限時,就對大容量存儲器進行完全鏡像或備份操作。同時丟棄保留存儲器中所有的數(shù)據(jù),因為大容量存儲器中最新的數(shù)據(jù)的完全鏡像或備份已創(chuàng)建起來,所以不需要保留存儲器中的數(shù)據(jù)。
雖然本發(fā)明已經(jīng)描述一種在數(shù)據(jù)損壞事件發(fā)生時,按相反先后順序來增量恢復(fù)損壞數(shù)據(jù)的方法,但本發(fā)明還有其他的用途。例如,可以根據(jù)其他原因而用保留存儲器中的數(shù)據(jù)塊將大容量存儲器中的數(shù)據(jù)恢復(fù)到之前某個狀態(tài)。實際上,很多場合中用戶會希望獲得大容量存儲器中之前某時刻存儲的數(shù)據(jù)。
在另一個實施例中,將保存在保留存儲器中的數(shù)據(jù)和一些有選擇的時間點上的數(shù)據(jù)的鏡像或備份相結(jié)合,以用于將數(shù)據(jù)恢復(fù)到建立鏡像或備份之前的某個狀態(tài)。如上圖4中所述,在保留存儲器中存儲的,比大容量存儲器中被覆蓋的數(shù)據(jù)更早的數(shù)據(jù)塊可以用來將大容量存儲器的狀態(tài)增量式地恢復(fù)。所以,如果在保留存儲器中存儲了一系列在時間上比大容量存儲器數(shù)據(jù)的完全數(shù)據(jù)鏡像或備份副本還早的數(shù)據(jù)塊,就可以用保留存儲器中的這一系列數(shù)據(jù)塊將數(shù)據(jù)的鏡像或備份考本的狀態(tài)增量式地恢復(fù)到所需時刻的狀態(tài)。
通過保留存儲器中的已覆蓋數(shù)據(jù)塊,本發(fā)明可用來創(chuàng)建一個虛擬的大容量存儲器(“虛擬設(shè)備”),從而允許訪問大容量存儲器中以前保存的數(shù)據(jù)。圖5中的虛擬設(shè)備50,從訪問虛擬設(shè)備的用戶或應(yīng)用,即數(shù)據(jù)訪問程序60的角度來看,虛擬設(shè)備就如保存了過去保存過的數(shù)據(jù)一般。例如,可以通過操作系統(tǒng)及其文件系統(tǒng)來訪問虛擬設(shè)備,這時虛擬設(shè)備就如安裝在圖1的計算機10上的另一個硬盤。
圖5中說明了一種利用虛擬設(shè)備50來存取在過去某個時間點存在的數(shù)據(jù)的方法例子,該方法利了用圖3和圖4中所描述的數(shù)據(jù)集。在圖5的例子中,圖4中已說明可通過使用保留存儲器14中的數(shù)據(jù)塊40e,把大容量存儲器12中的數(shù)據(jù)塊20e回滾到T1.1時刻所處的狀態(tài),以獲得有效未損壞的數(shù)據(jù)塊集。
當(dāng)利用虛擬設(shè)備50訪問數(shù)據(jù)時,數(shù)據(jù)訪問程序60向虛擬設(shè)備50發(fā)送一個讀取請求70,而不是向大容量存儲器12或保留存儲器14的相應(yīng)地址發(fā)送請求。在例子中,用讀請求訪問在造成損壞數(shù)據(jù)塊Dx和Dy的數(shù)據(jù)損壞事件發(fā)生之前的大容量存儲器12中最新的數(shù)據(jù)。如前所述,在受損數(shù)據(jù)塊Dx寫入之前存在一個正確的數(shù)據(jù)塊集合,此集合是可以獲得的。換言之,就在發(fā)生數(shù)據(jù)損壞的時刻T1.2之前的時刻T1.1,就可以獲得其正確的數(shù)據(jù)集合。
在接收到讀數(shù)據(jù)的請求后,因所請求讀取的數(shù)據(jù)存在于先前的、未損壞的狀態(tài)中,虛擬設(shè)備將確定滿足讀請求的數(shù)據(jù)是從大容量存儲器12中還是從保留存儲器14中獲得。如果讀請求被指向保留存儲器中數(shù)據(jù)損壞事件發(fā)生時刻或之后(也即T1.2時刻或之后)的某個無損壞版本的數(shù)據(jù)塊,則用訪問到的所述的數(shù)據(jù)塊中最舊的一個來響應(yīng)讀請求。例如,如果數(shù)據(jù)訪問程序60要求訪問“D”位置上最新的正確的數(shù)據(jù),則用保留存儲器中T1.2時刻或之后最舊的未損壞數(shù)據(jù)塊來響應(yīng)讀取請求。在接到讀“D”數(shù)據(jù)塊的請求之后,虛擬設(shè)備就訪問圖5中用陰影標(biāo)示的數(shù)據(jù)塊D1。與此類似,在處理讀取“B”數(shù)據(jù)塊的請求時,則訪問保留存儲器(14)中如圖五中陰影標(biāo)示的數(shù)據(jù)塊B。
但是,如果讀取請求要讀取的數(shù)據(jù)塊在保留存儲器中沒有保存相應(yīng)的、數(shù)據(jù)損壞時刻或之后(即T1.2時刻或之后)的未損壞的數(shù)據(jù)塊的備份,則需要根據(jù)讀取請求訪問大容量存儲器12中的相應(yīng)數(shù)據(jù)塊。例如,讀“A”、“C”、“E”位置數(shù)據(jù)塊的讀請求就會訪問到大容量存儲器12中如圖五中陰影標(biāo)示的A1、C和E數(shù)據(jù)塊。按上述方法,數(shù)據(jù)訪問程序60就可以通過虛擬設(shè)備來訪問之前某時刻存儲過的全部數(shù)據(jù)塊集,例如上述例子,就是(A1,B,C,D1,E)數(shù)據(jù)塊集。其中由虛擬設(shè)備確定讀取哪個數(shù)據(jù)塊,以及是從大容量存儲器12還是從保留存儲器14讀取數(shù)據(jù)塊。因此,數(shù)據(jù)訪問程序60就可以在不需要知道大容量存儲器12、保留存儲器14及它們上面存儲的數(shù)據(jù)細節(jié)的條件下,僅通過簡單的向虛擬設(shè)備50發(fā)送讀請求就可獲得數(shù)據(jù),就如虛擬設(shè)備中保存了以往的數(shù)據(jù)集一般。
在一個實施例中,也可以通過圖5所示的方式來重建一個以往的數(shù)據(jù)集。具體而言,即可以按如上所述方法,通過虛擬設(shè)備讀取到以往某時刻的未損壞的數(shù)據(jù)塊集。這樣數(shù)據(jù)訪問程序60就獲得了一個以往某時刻的無損壞的數(shù)據(jù),以做他用。
本發(fā)明的實施例可以包括一個包含多個部件的特殊用途或一般用途的計算機,這將在下文中詳述。本發(fā)明領(lǐng)域內(nèi)的實施例可能包含用來存儲或攜帶計算機可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)的計算機可讀媒介。這種計算機可讀媒介可以是任何一般用途計算機或特殊用途計算機可訪問的媒介。試舉幾例,但并不局限于此,上述的計算機可讀媒介可以是RAM(隨機訪問存儲器)、ROM(只讀存儲器)、EEPROM(電可擦只讀存儲器)、CD-ROM(只讀光盤)或者其他的光盤存儲器、磁盤存儲器及其他磁存儲器,或者其他任何可以用于存放和攜帶計算機可執(zhí)行指令形式的特定程序代碼裝置或可被一般用途計算機或者特殊用途計算機訪問的數(shù)據(jù)結(jié)構(gòu)的媒介。
當(dāng)通過網(wǎng)絡(luò)或其他通訊連接(如如有線、無線或有線無線的結(jié)合)給計算機發(fā)送或提供信息時,計算機把該連接也視為一個計算機可讀媒介。也即任何上述的通訊連接都被稱為計算機可讀媒介。如果系統(tǒng)中包含上述連接方式的結(jié)合體,則結(jié)合體也應(yīng)被視為計算機可讀媒介。而計算機可執(zhí)行指令則由比如指令和數(shù)據(jù)組成,它可以使一般用途計算機、特殊用途計算機或特殊用途處理器完成一個或多個函數(shù)。
圖6及后文將對可以運用本發(fā)明的適合的計算環(huán)境做一個簡單的、一般性的介紹。盡管不是必須的,但本發(fā)明可以表示成一般的計算機可執(zhí)行命令形式,如程序模塊形式,并由網(wǎng)絡(luò)環(huán)境中的計算機調(diào)用。一般而言,程序模塊包括完成特殊任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件和數(shù)據(jù)結(jié)構(gòu)等等。下文將介紹計算機可執(zhí)行指令及其相關(guān)的數(shù)據(jù)結(jié)構(gòu),以及本文所披露發(fā)明的執(zhí)行步驟例程的程序模塊示例。并用一個可執(zhí)行命令的特定序列來表示實現(xiàn)本發(fā)明上述功能步驟的特定操作。
本領(lǐng)域一般技術(shù)人員可理解本發(fā)明在包含了各種計算機系統(tǒng)配置,如個人計算機、手提設(shè)備、移動電話、個人數(shù)字助理(“PDAs”)、多處理器系統(tǒng)、基于微處理器的或用戶可編程的電子設(shè)備、網(wǎng)絡(luò)PCs、小型計算機、大型計算機等等類似圖1所例示系統(tǒng)的網(wǎng)絡(luò)計算機環(huán)境下實施。本發(fā)明也可應(yīng)用在分布式計算環(huán)境中,即本地的處理設(shè)備和遠端的處理設(shè)備通過通訊網(wǎng)絡(luò)(有線的,或無線的,或有線無線相結(jié)合的)相連并共同完成各種任務(wù)的環(huán)境。
如圖6所示,一個實現(xiàn)本發(fā)明的系統(tǒng)包括了一個以計算機120表示的一般用途的計算設(shè)備,該設(shè)備包括一個處理單元121,一個系統(tǒng)存儲器122,一個將各系統(tǒng)部件,包括系統(tǒng)存儲器122和處理單元121相連的系統(tǒng)總線123。圖6中所示的計算機120及其相關(guān)部件是圖1中的計算機10的詳細說明。系統(tǒng)總線123可以是任意一種總線體系結(jié)構(gòu),其中包括存儲器總線或存儲控制器、外圍總線和局部總線。系統(tǒng)存儲器可以包括只讀存儲器(“ROM”)124和隨機訪問存儲器(“RAM”)125。ROM124中可以有基本輸入/輸出系統(tǒng)(“BIOS”)126,其中包含了用于如在啟動時計算機120內(nèi)各部件間傳送信息的例程。
計算機120還可以包括一個硬盤驅(qū)動器127用于從硬盤139上讀寫數(shù)據(jù),一個硬盤驅(qū)動器128用于從可移動硬盤129讀寫數(shù)據(jù),一個光盤驅(qū)動器130用于從可移動光盤131,比如CD-ROM或其他光媒介上讀寫數(shù)據(jù)。硬盤驅(qū)動器127、磁盤驅(qū)動器128和光盤驅(qū)動器130分別由硬盤驅(qū)動器接口132、磁盤驅(qū)動器接口133和光盤驅(qū)動器接口134連接到系統(tǒng)總線123上。這些驅(qū)動器及其相連的計算機可讀媒介為計算機120用于穩(wěn)定地存儲計算機的可執(zhí)行指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊及其他數(shù)據(jù)。盡管本文所舉的示例系統(tǒng)中采用的是硬盤139,可移動軟盤129和可移動光盤131,但也可以采用其他類型的用于存儲數(shù)據(jù)的計算機可讀媒介,包括磁帶機、閃存卡、通用數(shù)字盤、貝努里(Bernoulli)編碼磁帶盒、RAM、ROM等等。
程序代碼裝置包含了存放在硬盤139、光盤131、ROM124或RAM125上的一個或多個程序模塊,其由一個操作系統(tǒng)135、一個或多個應(yīng)用程序136、其他程序模塊137及程序數(shù)據(jù)138組成。用戶可以通過鍵盤140、定點設(shè)備142或其他輸入設(shè)備(未圖示)比如話筒、游戲桿、游戲柄、碟形衛(wèi)星天線、掃描儀等等之類的設(shè)備來將命令和信息輸入計算機120。上述這些輸入設(shè)備通常都通過連在系統(tǒng)總線123上的一個串行接口146連接到處理單元121。當(dāng)然,它們也可通過其他接口連接到計算機,比如說并行接口、游戲端口或通用串行總線(“USB”)。監(jiān)視器147或其他顯示設(shè)備通過一個接口,比如說視頻適配器148,連接到系統(tǒng)總線123上。除了顯示器,個人計算機通常還包括其他輸出設(shè)備(未圖示),例如揚聲器和打印機。
計算機120可以利用連接到一個或多個遠程計算機的邏輯連接,如圖6中的遠端計算機149a和149b,工作在一個網(wǎng)絡(luò)環(huán)境中。遠端計算機149a和149b可以分別是其他的個人計算機,或服務(wù)器、路由器、網(wǎng)絡(luò)PC、同級(peer)設(shè)備及其他常見的網(wǎng)絡(luò)節(jié)點設(shè)備。遠端計算機149a和149b可以包含計算機120所包含的部分或所有部件,盡管在圖6中它們分別只包含了內(nèi)存存儲器150a和150b及其相關(guān)的應(yīng)用程序136a和136b。圖6中舉例顯示的邏輯連接方式有局域網(wǎng)(LAN)151和廣域網(wǎng)(WAN)152,但實際中并不限于此兩種。上述的網(wǎng)絡(luò)環(huán)境在辦公室網(wǎng)絡(luò)、企業(yè)計算機網(wǎng)絡(luò)、企業(yè)內(nèi)部互聯(lián)網(wǎng)及國際互聯(lián)網(wǎng)中很常見。
在局域網(wǎng)環(huán)境中,計算機120通過一個網(wǎng)絡(luò)接口適配器153或類似的適配器連接到局域網(wǎng)151。在廣域網(wǎng)環(huán)境中,計算機可能要包括一個調(diào)制解調(diào)器154,一個無線鏈路或其他的設(shè)備以連接上廣域網(wǎng)152,如國際互聯(lián)網(wǎng)。內(nèi)置式或外置式的調(diào)制解調(diào)器154通過一個串行接口146連接到系統(tǒng)總線123。在網(wǎng)絡(luò)環(huán)境中,關(guān)于計算機120的程序模塊,或其中部分模塊可以存放在遠端的內(nèi)存存儲器上。顯示的本網(wǎng)絡(luò)連接只是示范性的,其他獲得廣域網(wǎng)連接的方法也可使用。
本發(fā)明亦可用其他形式來說明,且并不違背它的本質(zhì)特性。上述的實施例從各方面來考慮僅僅是說明性的,并不嚴謹。所以,本發(fā)明的范圍將通過后面附帶的權(quán)利要求書來表述,而非以上說明。所有在等同于權(quán)利要求書的方法和范圍中出現(xiàn)的修改,都將包含在它們的范圍里。
權(quán)利要求
1.在包含有存儲多個數(shù)據(jù)塊的大容量存儲設(shè)備的計算機系統(tǒng)中,一種在允許訪問大容量存儲設(shè)備先前狀態(tài)的同時更新數(shù)據(jù)塊的方法,包括以下操作接收用新數(shù)據(jù)塊覆蓋大容量存儲器中現(xiàn)有數(shù)據(jù)塊的寫請求;在執(zhí)行所述寫操作之前,將現(xiàn)有數(shù)據(jù)塊的拷貝保存到與所述計算機系統(tǒng)相關(guān)的一個保留存儲器中并將保留存儲器中的該數(shù)據(jù)塊拷貝與一個時間戳關(guān)聯(lián);及執(zhí)行寫操作,使得新的數(shù)據(jù)塊覆蓋大容量存儲器中的現(xiàn)有數(shù)據(jù)塊。
2.如權(quán)利要求1中所述的方法,其特征在于所述保留存儲器包括一個易失性的存儲設(shè)備。
3.如權(quán)利要求1中所述的方法,其特征在于所述保留存儲器包括大容量存儲器的一部分。
4.如權(quán)利要求1中所述的方法,還包括在執(zhí)行接收寫請求前創(chuàng)建該大容量存儲設(shè)備中多個數(shù)據(jù)塊的一個備份拷貝的操作。
5.如權(quán)利要求6中所述的方法,其特征在于當(dāng)所述多個數(shù)據(jù)塊是邏輯上一致的數(shù)據(jù)時才創(chuàng)建這些數(shù)據(jù)的備份拷貝。
6.如權(quán)利要求1中所述的方法,還包括利用存儲在所述保留存儲器中的現(xiàn)有數(shù)據(jù)塊備份,將大容量存儲器中存儲的所述多個數(shù)據(jù)塊恢復(fù)到先前所處的狀態(tài)的操作。
7.如權(quán)利要求1中所述的方法,還包括響應(yīng)一個或多個要覆蓋現(xiàn)有數(shù)據(jù)塊的寫請求而將一個現(xiàn)有數(shù)據(jù)塊序列存儲到保留存儲器中,并將該序列的每一個現(xiàn)有數(shù)據(jù)塊與一個時間戳關(guān)聯(lián)的操作。
8.如權(quán)利要求7中所述的方法,還包括利用所述保留存儲器中存儲的所述數(shù)據(jù)塊序列將大容量存儲器中的多個數(shù)據(jù)塊恢復(fù)到先前狀態(tài)的操作。
9.如權(quán)利要求8中所述的方法,還包括在大容量存儲器中遭受數(shù)據(jù)損壞事件,其中執(zhí)行恢復(fù)所述多個數(shù)據(jù)塊的操作以獲得無損壞數(shù)據(jù)。
10.如權(quán)利要求8中所述的方法,其特征在于恢復(fù)數(shù)據(jù)操作包括按照相反的先后順序用保留存儲器中存儲的現(xiàn)有數(shù)據(jù)塊序列來施加給大容量存儲器中存儲的所述多個數(shù)據(jù)塊的最新版本。
11.如權(quán)利要求9中所述的方法,其特征在于,恢復(fù)所述大容量存儲器中多個數(shù)據(jù)塊以獲得無損壞數(shù)據(jù)的操作,其中恢復(fù)數(shù)據(jù)的操作中還包括確定是否已獲得無損壞數(shù)據(jù)的操作。
12.如權(quán)利要求1中所述的方法,還包括在計算機系統(tǒng)中建立虛擬設(shè)備的操作,該虛擬設(shè)備就如保存了該大容量存儲器之前某時刻狀態(tài)的多個數(shù)據(jù)塊一般。
13.如權(quán)利要求12中所述的方法,還包括如下操作虛擬設(shè)備接收讀取某特定數(shù)據(jù)塊的請求;響應(yīng)該讀請求;若保留存儲器中存在之前某時刻及其后時間存入保留存儲器中的,所需讀取數(shù)據(jù)塊的無損壞拷貝,則用保留存儲器中這些無損壞數(shù)據(jù)塊版本中最舊的數(shù)據(jù)塊來處理讀取請求;若保留存儲器中不包含所述的之前某時刻及其后時間的所需讀取數(shù)據(jù)塊的無損壞數(shù)據(jù)塊拷貝,則用大容量存儲器中保存的所被請求的數(shù)據(jù)塊的一個數(shù)據(jù)塊版本來處理讀取請求。
14.一個提供訪問之前某時刻的數(shù)據(jù)塊的計算機系統(tǒng),包括一個保存多個響應(yīng)寫請求而將被覆蓋的數(shù)據(jù)塊的大容量存儲器;一個在大容量存儲器中某數(shù)據(jù)塊響應(yīng)寫請求而將被覆蓋之前,接收并存儲該數(shù)據(jù)塊的拷貝,并在每一個所述拷貝上加上相應(yīng)時間戳的保留存儲器;一個可以用來訪問大容量存儲器中的當(dāng)前版本數(shù)據(jù)塊及保留存儲器中數(shù)據(jù)塊拷貝的虛擬設(shè)備,其特征在于該虛擬設(shè)備在響應(yīng)訪問之前某時刻的某特定數(shù)據(jù)塊數(shù)據(jù)的讀取請求后,確定是應(yīng)從大容量存儲器中讀取特定數(shù)據(jù)塊的當(dāng)前版本還是從保留存儲器中讀取特定數(shù)據(jù)塊的一個拷貝。
15.如權(quán)利要求14中所述的計算機系統(tǒng),其特征在于所述保留存儲器包括大容量存儲器的一部分。
16.如權(quán)利要求14中所述的計算機系統(tǒng),其特征在于所述虛擬設(shè)備從數(shù)據(jù)訪問程序的角度來看,就如保存了之前某時刻大容量存儲器中的數(shù)據(jù)一般。
17.如權(quán)利要求14中所述的計算機系統(tǒng),其特征在于所述虛擬設(shè)備在響應(yīng)讀取請求,并執(zhí)行如下操作若保留存儲器中保存了在之前某時刻及其后時間存入到保留存儲器中的特定數(shù)據(jù)塊的無損壞版本,則用保留存儲器中特定數(shù)據(jù)塊的這些數(shù)據(jù)塊版本中最舊的一個數(shù)據(jù)塊來處理讀取請求;若保留存儲器中沒保存所述的之前某時刻及其后時間存入到保留存儲器中的特定數(shù)據(jù)塊的無損壞版本,則用大容量存儲器中特定數(shù)據(jù)塊的一個數(shù)據(jù)塊版本處理讀取請求。
18.如權(quán)利要求15中所述的計算機系統(tǒng),還包括在接收寫請求之前建立數(shù)據(jù)塊備份拷貝的方法。
全文摘要
將一個大容量存儲設(shè)備12,其中包括一個存儲其上相應(yīng)的數(shù)據(jù)塊20,恢復(fù)到一個先前時刻所處的狀態(tài),來最小化由于數(shù)據(jù)塊20損壞或丟失所造成的數(shù)據(jù)損失。在完成一個鏡像或備份拷貝后,響應(yīng)一個寫請求而將被修改的數(shù)據(jù)塊40,在修改之前,存儲在一個保留存儲器14中。存儲在該保留存儲器14中的該數(shù)據(jù)塊40帶有時間戳,以標(biāo)明該數(shù)據(jù)塊40被修改的時間順序。如果數(shù)據(jù)損壞,將保留存儲器14中的數(shù)據(jù)塊40按相反的時間順序應(yīng)用到該已損壞的數(shù)據(jù)20中,直到獲得一個沒有損壞的數(shù)據(jù)集。利用這種方式,可以重建比完全鏡像或備份拷貝更新的數(shù)據(jù)。
文檔編號G06F3/06GK1483164SQ01821116
公開日2004年3月17日 申請日期2001年12月21日 優(yōu)先權(quán)日2000年12月21日
發(fā)明者理查德·S·奧赫拉恩, 理查德 S 奧赫拉恩, R 奧赫拉恩, 邁克爾·R·奧赫拉恩 申請人:雷卡托系統(tǒng)公司