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

響應(yīng)處理信息將大容量存儲器恢復(fù)到先前狀態(tài)的制作方法

文檔序號:6476127閱讀:264來源:國知局
專利名稱:響應(yīng)處理信息將大容量存儲器恢復(fù)到先前狀態(tài)的制作方法
背景技術(shù)
發(fā)明領(lǐng)域本發(fā)明涉及備份和恢復(fù)計(jì)算機(jī)數(shù)據(jù)。特別涉及當(dāng)恢復(fù)由中斷所導(dǎo)致的計(jì)算機(jī)數(shù)據(jù)損失時(shí),最小化計(jì)算機(jī)數(shù)據(jù)損失的系統(tǒng)和方法。
現(xiàn)有技術(shù)隨著個(gè)人計(jì)算機(jī)的出現(xiàn),全球商業(yè)在執(zhí)行日常商業(yè)活動中都依賴于計(jì)算機(jī)數(shù)據(jù)。但是,在計(jì)算機(jī)處理的過程中,可能發(fā)生大量的意外,如自然災(zāi)害、恐怖活動、或者更平常的事件,如計(jì)算機(jī)硬件和/或/軟件故障。這些故障通常導(dǎo)致計(jì)算機(jī)數(shù)據(jù)損壞、不可靠,甚至丟失。數(shù)據(jù)損壞或數(shù)據(jù)丟失,如客戶名單、金融交易,商業(yè)文檔,商務(wù)交易等等,導(dǎo)致了大量的時(shí)間與/或金錢投資的損失,對商業(yè)造成嚴(yán)重破壞。
計(jì)算機(jī)數(shù)據(jù)的丟失或損壞在全球電子商務(wù)領(lǐng)域破壞性特別大?;ヂ?lián)網(wǎng)允許世界上的每個(gè)人進(jìn)行電子化交易,從而帶來電子化訂單連續(xù)不斷的儲入。但是,這些訂單的所有拷貝都是電子化的,因此,電子計(jì)算機(jī)數(shù)據(jù)的損壞或丟失可以導(dǎo)致由這些丟失訂單所帶來的商業(yè)損失。由于意識到可靠計(jì)算機(jī)數(shù)據(jù)的商業(yè)價(jià)值,商業(yè)人士尋求保護(hù)他們數(shù)據(jù)以及重建被損壞、不可靠或被丟失數(shù)據(jù)的方法。傳統(tǒng)的數(shù)據(jù)保護(hù)和重建方法包括建立該計(jì)算機(jī)數(shù)據(jù)的一個(gè)備份拷貝。盡管在一張軟盤上保存一個(gè)個(gè)人文件的備份拷貝是一個(gè)簡單的步驟,但隨著數(shù)據(jù)量的增加,創(chuàng)建一個(gè)備份拷貝變得更加困難。
可能建立一個(gè)計(jì)算機(jī)數(shù)據(jù)的大容量備份拷貝的最簡單的辦法是,從一個(gè)大容量存儲系統(tǒng)復(fù)制數(shù)據(jù)到一個(gè)數(shù)據(jù)設(shè)備,如一個(gè)或多個(gè)磁帶。這種方法通過犧牲對數(shù)據(jù)的即時(shí)存儲來存儲大量的計(jì)算機(jī)數(shù)據(jù)。磁帶可以存儲在本地或遠(yuǎn)端,當(dāng)大容量存儲系統(tǒng)出現(xiàn)問題時(shí),數(shù)據(jù)將從磁帶中復(fù)制到大容量存儲系統(tǒng)。
雖然使用數(shù)據(jù)設(shè)備來保護(hù)數(shù)據(jù)丟失具有相對簡單和低廉的優(yōu)點(diǎn),但它也有嚴(yán)重的局限性。一個(gè)這樣的制約是在創(chuàng)建備份拷貝時(shí)以及在重建數(shù)據(jù)時(shí),禁止用戶讀取該計(jì)算機(jī)數(shù)據(jù)的時(shí)間長度。用戶讀取的禁止,一般是用來保證在這一過程中沒有改變數(shù)據(jù)。因?yàn)椴幌M霈F(xiàn)用戶不無法存取數(shù)據(jù)的情況,就很少創(chuàng)建備份拷貝,從而導(dǎo)致備份拷貝中的計(jì)算機(jī)數(shù)據(jù)陳舊。類似的是,將計(jì)算機(jī)數(shù)據(jù)從一個(gè)磁帶上復(fù)制到一個(gè)大容量存儲系統(tǒng)里會非常耗時(shí),因?yàn)樵撚?jì)算機(jī)數(shù)據(jù)是基于文件對文件模式傳輸。當(dāng)大容量數(shù)據(jù)存儲設(shè)備位于遠(yuǎn)距離,且不能通過一個(gè)網(wǎng)絡(luò)訪問時(shí),這種耗時(shí)更多。這種冗長的重建時(shí)間導(dǎo)致計(jì)算機(jī)不可訪問的時(shí)間增長,并使商務(wù)成本增加時(shí)間和金錢的數(shù)額。
傳統(tǒng)方法的另一局限是備份拷貝表示的數(shù)據(jù)是之前某個(gè)時(shí)刻的,這意味著備份拷貝在源數(shù)據(jù)隨后發(fā)生變化后沒有更新。建立數(shù)據(jù)備份為在源數(shù)據(jù)發(fā)生損壞或丟失時(shí)恢復(fù)大部分計(jì)算機(jī)數(shù)據(jù)提供保證。這使得數(shù)據(jù)損失僅局限于最近一次備份拷貝后對源數(shù)據(jù)所做的改變。但是,在某些商業(yè)領(lǐng)域,如果計(jì)算機(jī)數(shù)據(jù)不是最新的,那么該數(shù)據(jù)就是陳舊的、不可靠的,甚至是無效的。在費(fèi)率和信息急劇變化的金融領(lǐng)域,這尤其麻煩。因此,當(dāng)計(jì)算機(jī)數(shù)據(jù)損失或丟失時(shí),依賴于頻繁變化的信息的商業(yè),將面臨丟失其所有有價(jià)值的計(jì)算機(jī)數(shù)據(jù)的危險(xiǎn)。
因此,本發(fā)明闡述了該技術(shù)領(lǐng)域里的一種改進(jìn),以提供一種用于備份計(jì)算機(jī)數(shù)據(jù)的系統(tǒng)和方法,其可以最小化由于計(jì)算機(jī)故障或數(shù)據(jù)損壞所造成的計(jì)算機(jī)數(shù)據(jù)丟失量。本發(fā)明還闡述了該技術(shù)領(lǐng)域里的另一種改進(jìn),以提供一種不需要終止用戶訪問該大容量存儲系統(tǒng)就可以備份數(shù)據(jù)的系統(tǒng)。

發(fā)明內(nèi)容
本發(fā)明涉及備份和恢復(fù)計(jì)算機(jī)數(shù)據(jù)的系統(tǒng)和方法。當(dāng)計(jì)算機(jī)數(shù)據(jù)發(fā)生損壞或丟失時(shí),本發(fā)明能以一種增量的方法方式來恢復(fù)數(shù)據(jù)。特別是當(dāng)數(shù)據(jù)損壞或丟失時(shí),該數(shù)據(jù)能向越來越舊的狀態(tài)增量地倒推,直到獲得一個(gè)有效的數(shù)據(jù)集。通過此方法,數(shù)據(jù)可以到恢復(fù)到一個(gè)比該數(shù)據(jù)的完全鏡像或其存檔拷貝更新的狀態(tài)。因此,進(jìn)行大量數(shù)據(jù)的完全鏡像或存檔操作的頻率可以降低,且不存在丟失最近完全鏡像或存檔操作后所作數(shù)據(jù)修改的危險(xiǎn)。
根據(jù)本發(fā)明,一個(gè)大容量存儲設(shè)備在時(shí)刻T0存儲多個(gè)數(shù)據(jù)塊。在T0時(shí)刻,可對存儲在大容量存儲設(shè)備中的數(shù)據(jù)進(jìn)行鏡像備份,以便在必要時(shí),可方便地恢復(fù)T0時(shí)刻的數(shù)據(jù)。通常獲得數(shù)據(jù)鏡像拷貝是一個(gè)耗費(fèi)時(shí)間和資源的過程,最好發(fā)生頻率相對較低。為了保存從創(chuàng)建鏡像拷貝之后到導(dǎo)致數(shù)據(jù)丟失的潛在事件之前修改的數(shù)據(jù),在T0時(shí)刻之后將被覆蓋的數(shù)據(jù)塊被保存在一個(gè)保留存儲器中。特別是,如果在T0后,一個(gè)特定的數(shù)據(jù)塊作為一個(gè)寫操作的部分需被覆蓋,在大容量存儲器中替換源數(shù)據(jù)塊之前,該源數(shù)據(jù)塊的一個(gè)拷貝被存儲在保留存儲器中。另外,存儲在保留存儲器中的該數(shù)據(jù)塊需要加上時(shí)間戳或其他的標(biāo)記,以標(biāo)明寫操作的發(fā)生時(shí)間,或者標(biāo)明寫操作在相關(guān)所有寫操作中按時(shí)間先后順序排列所處的位置。
T0時(shí)刻后,隨著寫操作的成功執(zhí)行,需被覆蓋的原始數(shù)據(jù)塊被依次存儲在保留存儲器中并加上了相應(yīng)的時(shí)間戳。因此,在T0后被覆蓋或修改的數(shù)據(jù)塊被存儲在保留存儲器中,且在大容量存儲器中被覆蓋的數(shù)據(jù)塊里的時(shí)間或次序是特定的。
當(dāng)大容量存儲單元設(shè)備中的某數(shù)據(jù)塊損壞或丟失時(shí),存儲在保留存儲器中的這些數(shù)據(jù)塊就可用來增量恢復(fù)或重建一個(gè)正確的數(shù)據(jù)集,而不需要將數(shù)據(jù)完全恢復(fù)到T0時(shí)刻的數(shù)據(jù)。例如,如果無效或損壞的數(shù)據(jù)在T0時(shí)刻之后被寫到該大容量存儲設(shè)備中的某些數(shù)據(jù)塊里,則如上所述,原始、有效的數(shù)據(jù)塊將被存儲在一個(gè)保留存儲器中。利用表示在大容量存儲設(shè)備中存儲在一個(gè)保留存儲器里的數(shù)據(jù)塊被覆蓋的先后順序的時(shí)間戳,保留存儲器里的這些數(shù)據(jù)塊可以寫入該大容量存儲設(shè)備中的當(dāng)前數(shù)據(jù)。在該保留存儲器中的一個(gè)或多個(gè)數(shù)據(jù)塊按一個(gè)相反的先后順序?qū)懟氐皆摯笕萘看鎯υO(shè)備后,在該大容量存儲設(shè)備里,可以最終獲得一個(gè)有效的數(shù)據(jù)集。因此,利用存儲在該保留存儲器中的數(shù)據(jù)塊可以重建數(shù)據(jù),且不要求將數(shù)據(jù)完全恢復(fù)到T0時(shí)刻的數(shù)據(jù)。
需要注意的是,根據(jù)本發(fā)明,對存儲在該大容量存儲設(shè)備里的所有數(shù)據(jù)進(jìn)行完全鏡像或存檔操作的頻率可以比沒有利用本發(fā)明時(shí)所需要的頻率低。利用存儲在保留存儲器中的數(shù)據(jù)塊可以將損壞數(shù)據(jù)恢復(fù)到一個(gè)比最近完全鏡像數(shù)據(jù)拷貝更新的狀態(tài)。另需注意的是,在保留存儲器中存儲一系列已覆蓋數(shù)據(jù)塊顯然比執(zhí)行該大容量存儲器數(shù)據(jù)的完全鏡像操作具有更低的資源密集度(resource intensive)。另外,響應(yīng)寫操作、存儲在保留存儲器中的數(shù)據(jù)可以是一個(gè)相對于一個(gè)完整文件有良好粒度(granularity)的數(shù)據(jù)塊。例如,在大容量存儲設(shè)備中響應(yīng)寫操作、存儲在保留存儲器里的數(shù)據(jù)可以是該大容量存儲設(shè)備中一個(gè)扇區(qū)、或是一個(gè)部分或片斷。按照本方法,在一個(gè)保留存儲器中存儲數(shù)據(jù)可以避免響應(yīng)寫操作而復(fù)制整個(gè)文件,且允許數(shù)據(jù)可以獨(dú)立于該數(shù)據(jù)的任何文件結(jié)構(gòu)存儲。本發(fā)明的其他特征和優(yōu)點(diǎn)將在后面詳細(xì)闡明,其中部分內(nèi)容可以從該說明中顯而易見,或者可以通過本發(fā)明的實(shí)踐而了解??梢酝ㄟ^在附帶權(quán)利要求中指出的方法和組合來了解和獲得本發(fā)明的特征和優(yōu)點(diǎn)。本發(fā)明的這些和其他特征通過后面的說明及附帶的權(quán)利要求將更加清楚,或者也可通過在下文中介紹的本發(fā)明的應(yīng)用來了解。
附圖簡述為了獲得上述方法和本發(fā)明的其他優(yōu)點(diǎn)和特征,一個(gè)如上所述的本發(fā)明的更具體描述將通過參考一個(gè)在附圖中解釋的具體的實(shí)施例來提供。應(yīng)理解,這些圖僅僅描述本發(fā)明的典型實(shí)施例,并不意味著限制本發(fā)明的范圍,本發(fā)明將利用如下附圖來詳細(xì)描述和解釋本發(fā)明

圖1是表示帶有相連大容量存儲設(shè)備和保留存儲器、可以實(shí)現(xiàn)本發(fā)明的計(jì)算機(jī)系統(tǒng)框圖。
圖2是圖1中計(jì)算機(jī)系統(tǒng)的框圖,顯示在T0時(shí)刻存儲在大容量存儲設(shè)備中的數(shù)據(jù)。
圖3說明一系列寫操作,其中被覆蓋的數(shù)據(jù)塊被存儲在一個(gè)保留存儲器。
圖4說明一個(gè)操作,其中在大容量存儲設(shè)備中的數(shù)據(jù)在一個(gè)數(shù)據(jù)損壞的情況下被增量恢復(fù)。
圖5說明一個(gè)虛擬設(shè)備的操作,該操作顯示在一個(gè)大容量存儲設(shè)備中包括一個(gè)數(shù)據(jù)之前狀態(tài)的拷貝。
圖6說明一個(gè)表示實(shí)現(xiàn)本發(fā)明相宜的操作環(huán)境的計(jì)算機(jī)系統(tǒng)。
優(yōu)選實(shí)施例詳述本發(fā)明涉及計(jì)算機(jī)數(shù)據(jù)的備份與恢復(fù)。具體而言,本發(fā)明能夠恢復(fù)已損壞數(shù)據(jù),而不需要將該數(shù)據(jù)完全恢復(fù)到最近的完全鏡像數(shù)據(jù)拷貝。在創(chuàng)建該數(shù)據(jù)的一個(gè)鏡像拷貝后,將要被覆蓋的數(shù)據(jù)塊被存儲在一個(gè)保留存儲器中。這些數(shù)據(jù)塊都關(guān)聯(lián)一個(gè)時(shí)間戳或標(biāo)志時(shí)間的信息,或者是這些數(shù)據(jù)塊被覆蓋或在該大容量存儲設(shè)備中原始數(shù)據(jù)被覆蓋的先后順序的信息。一般而言,術(shù)語“時(shí)間戳”指任何用來表示存儲在保留存儲器中數(shù)據(jù)塊的先后順序或時(shí)間的信息當(dāng)發(fā)生數(shù)據(jù)損壞時(shí),保留存儲器中的數(shù)據(jù)塊可以用來將在該大容量存儲設(shè)備中該數(shù)據(jù)當(dāng)前的損壞拷貝增量修復(fù)為一個(gè)有效數(shù)據(jù)集。圖1解釋一個(gè)可以用來實(shí)現(xiàn)本發(fā)明的計(jì)算機(jī)系統(tǒng)。圖1中的計(jì)算機(jī)系統(tǒng)包括一個(gè)計(jì)算機(jī)10,一個(gè)大容量存儲器12,一個(gè)保留存儲器14以及一個(gè)I/O設(shè)備16。計(jì)算機(jī)10可以是管理、生成、存儲及其他數(shù)據(jù)處理的任一計(jì)算機(jī)或其他處理設(shè)備。例如,計(jì)算機(jī)10可以是一臺傳統(tǒng)的個(gè)人電腦,一臺服務(wù)器,特定用途的計(jì)算機(jī)等等類似的設(shè)備。后文將講解的圖6中詳細(xì)介紹了一個(gè)可以應(yīng)用本發(fā)明的計(jì)算機(jī)實(shí)例。
大容量存儲設(shè)備12和計(jì)算機(jī)10相連,用于存儲從計(jì)算機(jī)10中獲得的數(shù)據(jù)。一般而言,大容量存儲器12是一個(gè)可寫的、穩(wěn)定的大容量存儲設(shè)備。具體而言,大容量存儲器12可以是連接在傳統(tǒng)個(gè)人計(jì)算機(jī)上的硬盤,或任何其他用于存儲從計(jì)算機(jī)10上所獲得數(shù)據(jù)的存儲設(shè)備。
保留存儲器14是一個(gè)和計(jì)算機(jī)10相連的物理或邏輯設(shè)備,用以保存在大容量存儲器12中將被覆蓋的數(shù)據(jù)塊。保留存儲器14可以是一易失性存儲設(shè)備,例如隨機(jī)存儲器(RAM),或其他任何用于存儲大容量存儲器12中將被覆蓋數(shù)據(jù)塊的設(shè)備。盡管在圖1中保留存儲器被表示成一個(gè)獨(dú)立的設(shè)備,但該保留存儲器可以是大容量存儲器12的一部分。
如圖1所示,計(jì)算機(jī)10還可包括一個(gè)允許用戶操作由計(jì)算機(jī)10處理且存儲在該大容量存儲器12中的數(shù)據(jù)輸入/輸出(I/O)設(shè)備16。另外,典型的計(jì)算機(jī)10包括由該大容量存儲設(shè)備12來滿足的數(shù)據(jù)存儲要求的應(yīng)用或軟件。但是一般而言,本發(fā)明可以充分?jǐn)U展應(yīng)用于任何帶軟、硬件的計(jì)算機(jī)10,只要其中包含一個(gè)用于存儲數(shù)據(jù)的大容量存儲器12和一個(gè)用于存儲覆蓋數(shù)據(jù)塊的保留存儲器14。
圖2表示了圖1中的計(jì)算機(jī)系統(tǒng)處于T0時(shí)刻,此時(shí)大容量設(shè)備12包括一個(gè)存儲給定數(shù)據(jù)的數(shù)據(jù)塊集。在圖2示例中,為便于說明,大容量存儲器12顯示為包含五個(gè)數(shù)據(jù)塊,分別定義為數(shù)據(jù)塊A、B、C、D、E。假設(shè)在T0時(shí)刻已建立并存儲了大容量存儲器中的所有數(shù)據(jù)的鏡像或其他形式的備份拷貝。可以通過任何方式產(chǎn)生在T0時(shí)刻獲得的數(shù)據(jù)的鏡像或備份拷貝,包括傳統(tǒng)的方式。
根據(jù)大容量存儲器12中數(shù)據(jù)的特性,獲得時(shí)刻T0包括邏輯一致的數(shù)據(jù)的鏡像或備份拷貝是有益的。當(dāng)存儲在大容量設(shè)備12中的數(shù)據(jù)表示處理時(shí),其中為了獲得一個(gè)有效或有用的數(shù)據(jù)集,每個(gè)處理都要求多個(gè)寫操作或要求其他多個(gè)I/O操作,這尤為重要。當(dāng)一個(gè)處理中的所有必需的操作或所需的一系列I/O操作未全部完成,數(shù)據(jù)就是邏輯上不一致的。因此,根據(jù)大容量存儲器12中的數(shù)據(jù)的特性,T0時(shí)刻數(shù)據(jù)的鏡像或備份拷貝必須是邏輯上一致的數(shù)據(jù)。
在T0時(shí)刻獲得的該數(shù)據(jù)鏡像或備份拷貝,使得T0時(shí)刻大容量存儲器12上的數(shù)據(jù)塊A、B、C、D、E可以通過存取該數(shù)據(jù)的鏡像或備份拷貝來重建。但如上所述,完全鏡像或備份操作會耗費(fèi)較多的時(shí)間與帶寬,因此這種操作需要以較低頻率進(jìn)行。如上所述,且在后面還會更詳細(xì)的介紹,本發(fā)明利用保留存儲器14來存儲數(shù)據(jù)塊,使得大容量存儲設(shè)備12中的數(shù)據(jù)可以在不需要將數(shù)據(jù)完全恢復(fù)到T0時(shí)刻,通過一個(gè)相反的先后順序增量恢復(fù)。盡管大容量存儲設(shè)備12中數(shù)據(jù)的定期鏡像或備份拷貝通常是有利的,但本發(fā)明可以僅依靠存儲在保留存儲器14中的數(shù)據(jù)而不需要定期的鏡像或備份拷貝。
為了描述時(shí)刻T0之后數(shù)據(jù)是如何存儲在保留存儲器中的,圖3表示在大容量存儲設(shè)備中的一個(gè)數(shù)據(jù)塊集的一個(gè)特定實(shí)例與應(yīng)用其上的多個(gè)寫操作。如圖3所示,在時(shí)刻T0保存在大容量存儲器中的數(shù)據(jù)塊20表示為(A,B,C,D,E)。在時(shí)刻T1.0,圖2中的計(jì)算機(jī)10發(fā)出一個(gè)寫請求,借此用數(shù)據(jù)塊30 A1來覆蓋已存在的數(shù)據(jù)塊A,并形成一個(gè)新的數(shù)據(jù)塊集20a(A1,B,C,D,E)。一般而言,響應(yīng)此寫請求之后,在用新的數(shù)據(jù)塊來覆蓋該大容量存儲設(shè)備中的數(shù)據(jù)塊之前,現(xiàn)存的數(shù)據(jù)塊被存儲在保留存儲器里,并帶上一個(gè)時(shí)間戳。
在這個(gè)例子里,在T10時(shí)刻,數(shù)據(jù)塊A被寫入到該保留存儲器中,并如40a所示,帶有一個(gè)表示T1.0時(shí)刻的時(shí)間戳。因此,盡管在大容量存儲器中數(shù)據(jù)塊A被覆蓋,但數(shù)據(jù)塊A已被存儲在該保留存儲器中,以備將來某個(gè)時(shí)間用于重建被損壞的數(shù)據(jù)。
在T1.1時(shí)刻,數(shù)據(jù)塊30b(D1)被存儲到大容量存儲設(shè)備中,從而形成新的數(shù)據(jù)塊集20b(A1,B,C,D1,E)數(shù)據(jù)集。在此寫操作之前,將要被覆蓋的數(shù)據(jù)塊D存儲在該保留存儲器中,并如40b所示,帶有一個(gè)表示T1.1時(shí)刻的時(shí)間戳。在T1.2時(shí)刻,發(fā)生一個(gè)數(shù)據(jù)損壞事件,導(dǎo)致數(shù)據(jù)塊30c(Dx)被寫入存儲在該大容量存儲設(shè)備中的數(shù)據(jù)。如本例中所使用的,下標(biāo)“x”和“y”表示損壞的數(shù)據(jù)??赡苡卸喾N原因?qū)е聰?shù)據(jù)損壞,如數(shù)據(jù)輸入問題、軟件問題、硬件問題,等等。T1.2時(shí)刻的數(shù)據(jù)損壞事件導(dǎo)致新的數(shù)據(jù)塊集20c(A1,B,C,Dx,E)。在寫操作之前,將被覆蓋的數(shù)據(jù)塊D1被存儲在保留存儲器中,并如40c所示,帶有一個(gè)表示T1.2時(shí)刻的時(shí)間戳。
在T1.3時(shí)刻,數(shù)據(jù)塊30d(B1)被寫入存儲在大容量存儲器中的數(shù)據(jù),并形成新的數(shù)據(jù)集20d(A1,B1,C,Dx,E)。在寫操作之前,將被覆蓋的數(shù)據(jù)塊B被存儲在該保留存儲器,并如40d所示,帶有一個(gè)表示T1.3時(shí)刻的時(shí)間戳。
最后,在T1.4時(shí)刻,發(fā)生另一次數(shù)據(jù)損壞事件,導(dǎo)致數(shù)據(jù)塊30e(Dy)被寫入存儲在大容量存儲器中的數(shù)據(jù)。T1.4時(shí)刻的數(shù)據(jù)損壞事件形成了新的數(shù)據(jù)塊集20e(A1,B1,C,Dy,E)。在寫操作之前,將被覆蓋的數(shù)據(jù)塊Dx存儲在該保留存儲器,并如40e所示,帶上一個(gè)表示T1.4時(shí)刻的時(shí)間戳。
因此,在T1.4時(shí)刻,在大容量存儲器中現(xiàn)存的數(shù)據(jù)塊集20e是(A1,B1,C,Dy,E)。如上所述,數(shù)據(jù)塊Dy表示損壞的數(shù)據(jù),它可能使大容量存儲器中所有數(shù)據(jù)塊都失效。在T1.4時(shí)刻,保留存儲器中存儲了數(shù)據(jù)塊集合(A,D,D1,B,Dx),及相應(yīng)的時(shí)間戳(T1.0,T1.1,T1.2,T1.3,T1.4)。
因?yàn)樵赥0時(shí)刻之后發(fā)生了數(shù)據(jù)損壞事件,所以可以通過存取T0時(shí)刻創(chuàng)建的所有數(shù)據(jù)的任何鏡像或備份拷貝完全恢復(fù)到在該大容量存儲器中存在過的數(shù)據(jù)來獲得一個(gè)數(shù)據(jù)的有效集。但是,完全恢復(fù)到T0時(shí)刻的數(shù)據(jù)將導(dǎo)致丟失在T0后寫入該大容量存儲設(shè)備的所有數(shù)據(jù)。因此,根據(jù)本發(fā)明,存儲在保留存儲器中的數(shù)據(jù)塊被用來以一個(gè)相反的先后順序增量恢復(fù)該大容量存儲設(shè)備中的數(shù)據(jù)到一個(gè)如圖4所示的有效、無損壞的數(shù)據(jù)狀態(tài)。圖4中的保留存儲器在T2時(shí)刻包括在T1.4時(shí)刻時(shí)刻存儲在保留存儲器中的數(shù)據(jù)塊集和相應(yīng)的時(shí)間戳。依此類推,圖4中的大容量存儲器在時(shí)刻T2包括圖3中T1.4時(shí)刻的數(shù)據(jù)塊集20e(A1,B1,C,Dy,E)。
在圖4所示的數(shù)據(jù)恢復(fù)操作,開始于當(dāng)前的可能損壞數(shù)據(jù)塊集20e和存儲在保留存儲器中的數(shù)據(jù)塊集40e。時(shí)間戳T1.0-T1.4用來以相反的先后順序重建在大容量存儲設(shè)備中之前存在的數(shù)據(jù)。因此,在保留存儲器(Dx)中最近的存儲數(shù)據(jù)塊被寫入T2時(shí)刻存在的數(shù)據(jù)集以回滾該大容量存儲設(shè)備中的數(shù)據(jù)集到T3時(shí)刻的狀態(tài),產(chǎn)生一個(gè)數(shù)據(jù)塊集(A1,B1,C,Dx,E)。
需要注意的是,圖4中說明的這種回滾該大容量存儲設(shè)備中數(shù)據(jù)的操作可以利用存儲在該大容量存儲設(shè)備的數(shù)據(jù)集或該數(shù)據(jù)集的拷貝來執(zhí)行。
回滾到T1.3時(shí)刻之后,通過計(jì)算機(jī)或手動,根據(jù)數(shù)據(jù)塊Dx被損壞來確定T1.3時(shí)刻的數(shù)據(jù)集20d依表示損壞的數(shù)據(jù)。因?yàn)閿?shù)據(jù)塊依然有損壞,則利用該保留存儲器中帶時(shí)間戳T1.3的數(shù)據(jù)塊B來進(jìn)一步回滾該大容量存儲設(shè)備中的數(shù)據(jù)到T1.2時(shí)刻的狀態(tài)。因此,產(chǎn)生表示T1.2時(shí)刻時(shí)大容量存儲器中存儲的數(shù)據(jù)塊集20c(A1,B,C,Dx,E)。因?yàn)閿?shù)據(jù)塊集20c也包含損壞的數(shù)據(jù)塊Dx,所以可以確定該數(shù)據(jù)塊表示損壞數(shù)據(jù)。相應(yīng)的,繼續(xù)按照相反的先后順序?qū)懭朐谠摯笕萘看鎯υO(shè)備中的數(shù)據(jù)來將數(shù)據(jù)進(jìn)一步回滾到T1.1時(shí)刻的狀態(tài)。其中,帶有時(shí)間戳T1.2的數(shù)據(jù)塊D1被寫入到大容量存儲器中,產(chǎn)生大容量存儲設(shè)備T1.1時(shí)刻的數(shù)據(jù)塊集20b(A1,B,C,D1,E)
此時(shí),可確定數(shù)據(jù)集數(shù)據(jù)集20b(A1,B,C,D1,E)是一個(gè)有效且未損壞的數(shù)據(jù)集。因此,該保留存儲器中的數(shù)據(jù)塊被用于按相反的先后順序來增量恢復(fù)該大容量存儲設(shè)備中的數(shù)據(jù),直至獲得一個(gè)有效的數(shù)據(jù)集。必須指出,此時(shí)數(shù)據(jù)塊20b(A1,B,C,D1,E)包含特定數(shù)據(jù)(例如A1和D1),這些特定數(shù)據(jù)本不應(yīng)包括在已將數(shù)據(jù)完全還原到T0時(shí)刻所鏡像或備份的拷貝數(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í),保留存儲器中的數(shù)據(jù)塊數(shù)目會快速上升。因此,在實(shí)踐中,要在數(shù)據(jù)完全鏡像或備份操作頻率與保留存儲器中存儲數(shù)據(jù)塊數(shù)目之間折衷。在一個(gè)實(shí)施例中,完全鏡像或備份操作的頻率由保留存儲器被填滿或到達(dá)某一存儲量的頻率決定。換言之,當(dāng)保留存儲器中的數(shù)據(jù)量到達(dá)保留存儲器的容量上限時(shí),就對大容量存儲器進(jìn)行完全鏡像或備份操作。同時(shí)丟棄保留存儲器中所有的數(shù)據(jù),因?yàn)榇笕萘看鎯ζ髦凶钚碌臄?shù)據(jù)的完全鏡像或備份已創(chuàng)建起來,所以不需要保留存儲器中的數(shù)據(jù)。
雖然本發(fā)明已經(jīng)描述一種在數(shù)據(jù)損壞事件發(fā)生時(shí),按相反先后順序來增量恢復(fù)損壞數(shù)據(jù)的方法,但本發(fā)明還有其他的用途。例如,可以根據(jù)其他原因而用保留存儲器中的數(shù)據(jù)塊將大容量存儲器中的數(shù)據(jù)恢復(fù)到之前某個(gè)狀態(tài)。實(shí)際上,很多場合中用戶會希望獲得大容量存儲器中之前某時(shí)刻存儲的數(shù)據(jù)。
在另一個(gè)實(shí)施例中,將保存在保留存儲器中的數(shù)據(jù)和一些有選擇的時(shí)間點(diǎn)上的數(shù)據(jù)的鏡像或備份相結(jié)合,以用于將數(shù)據(jù)恢復(fù)到建立鏡像或備份之前的某個(gè)狀態(tài)。如上圖4中所述,在保留存儲器中存儲的,比大容量存儲器中被覆蓋的數(shù)據(jù)更早的數(shù)據(jù)塊可以用來將大容量存儲器的狀態(tài)增量式地恢復(fù)。所以,如果在保留存儲器中存儲了一系列在時(shí)間上比大容量存儲器數(shù)據(jù)的完全數(shù)據(jù)鏡像或備份副本還早的數(shù)據(jù)塊,就可以用保留存儲器中的這一系列數(shù)據(jù)塊將數(shù)據(jù)的鏡像或備份考本的狀態(tài)增量式地恢復(fù)到所需時(shí)刻的狀態(tài)。
通過保留存儲器中的已覆蓋數(shù)據(jù)塊,本發(fā)明可用來創(chuàng)建一個(gè)虛擬的大容量存儲器(“虛擬設(shè)備”),從而允許訪問大容量存儲器中以前保存的數(shù)據(jù)。圖5中的虛擬設(shè)備50,從訪問虛擬設(shè)備的用戶或應(yīng)用,即數(shù)據(jù)訪問程序60的角度來看,虛擬設(shè)備就如保存了過去保存過的數(shù)據(jù)一般。例如,可以通過操作系統(tǒng)及其文件系統(tǒng)來訪問虛擬設(shè)備,這時(shí)虛擬設(shè)備就如安裝在圖1的計(jì)算機(jī)10上的另一個(gè)硬盤。
圖5中說明了一種利用虛擬設(shè)備50來存取在過去某個(gè)時(shí)間點(diǎn)存在的數(shù)據(jù)的方法例子,該方法利了用圖3和圖4中所描述的數(shù)據(jù)集。在圖5的例子中,圖4中已說明可通過使用保留存儲器14中的數(shù)據(jù)塊40e,把大容量存儲器12中的數(shù)據(jù)塊20e回滾到T1.1時(shí)刻所處的狀態(tài),以獲得有效未損壞的數(shù)據(jù)塊集。
當(dāng)利用虛擬設(shè)備50訪問數(shù)據(jù)時(shí),數(shù)據(jù)訪問程序60向虛擬設(shè)備50發(fā)送一個(gè)讀取請求70,而不是向大容量存儲器12或保留存儲器14的相應(yīng)地址發(fā)送請求。在例子中,用讀請求訪問在造成損壞數(shù)據(jù)塊Dx和Dy的數(shù)據(jù)損壞事件發(fā)生之前的大容量存儲器12中最新的數(shù)據(jù)。如前所述,在受損數(shù)據(jù)塊Dx寫入之前存在一個(gè)正確的數(shù)據(jù)塊集合,此集合是可以獲得的。換言之,就在發(fā)生數(shù)據(jù)損壞的時(shí)刻T1.2之前的時(shí)刻T1.1,就可以獲得其正確的數(shù)據(jù)集合。
在接收到讀數(shù)據(jù)的請求后,因所請求讀取的數(shù)據(jù)存在于先前的、未損壞的狀態(tài)中,虛擬設(shè)備將確定滿足讀請求的數(shù)據(jù)是從大容量存儲器12中還是從保留存儲器14中獲得。如果讀請求被指向保留存儲器中數(shù)據(jù)損壞事件發(fā)生時(shí)刻或之后(也即T1.2時(shí)刻或之后)的某個(gè)無損壞版本的數(shù)據(jù)塊,則用訪問到的所述的數(shù)據(jù)塊中最舊的一個(gè)來響應(yīng)讀請求。例如,如果數(shù)據(jù)訪問程序60要求訪問“D”位置上最新的正確的數(shù)據(jù),則用保留存儲器中T1.2時(shí)刻或之后最舊的未損壞數(shù)據(jù)塊來響應(yīng)讀取請求。在接到讀“D”數(shù)據(jù)塊的請求之后,虛擬設(shè)備就訪問圖5中用陰影標(biāo)示的數(shù)據(jù)塊D1。與此類似,在處理讀取“B”數(shù)據(jù)塊的請求時(shí),則訪問保留存儲器(14)中如圖五中陰影標(biāo)示的數(shù)據(jù)塊B。
但是,如果讀取請求要讀取的數(shù)據(jù)塊在保留存儲器中沒有保存相應(yīng)的、數(shù)據(jù)損壞時(shí)刻或之后(即T1.2時(shí)刻或之后)的未損壞的數(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í)刻存儲過的全部數(shù)據(jù)塊集,例如上述例子,就是(A1,B,C,D1,E)數(shù)據(jù)塊集。其中由虛擬設(shè)備確定讀取哪個(gè)數(shù)據(jù)塊,以及是從大容量存儲器12還是從保留存儲器14讀取數(shù)據(jù)塊。因此,數(shù)據(jù)訪問程序60就可以在不需要知道大容量存儲器12、保留存儲器14及它們上面存儲的數(shù)據(jù)細(xì)節(jié)的條件下,僅通過簡單的向虛擬設(shè)備50發(fā)送讀請求就可獲得數(shù)據(jù),就如虛擬設(shè)備中保存了以往的數(shù)據(jù)集一般。
在一個(gè)實(shí)施例中,也可以通過圖5所示的方式來重建一個(gè)以往的數(shù)據(jù)集。具體而言,即可以按如上所述方法,通過虛擬設(shè)備讀取到以往某時(shí)刻的未損壞的數(shù)據(jù)塊集。這樣數(shù)據(jù)訪問程序60就獲得了一個(gè)以往某時(shí)刻的無損壞的數(shù)據(jù),以做他用。
本發(fā)明的實(shí)施例可以包括一個(gè)包含多個(gè)部件的特殊用途或一般用途的計(jì)算機(jī),這將在下文中詳述。本發(fā)明領(lǐng)域內(nèi)的實(shí)施例可能包含用來存儲或攜帶計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)的計(jì)算機(jī)可讀媒介。這種計(jì)算機(jī)可讀媒介可以是任何一般用途計(jì)算機(jī)或特殊用途計(jì)算機(jī)可訪問的媒介。試舉幾例,但并不局限于此,上述的計(jì)算機(jī)可讀媒介可以是RAM(隨機(jī)訪問存儲器)、ROM(只讀存儲器)、EEPROM(電可擦只讀存儲器)、CD-ROM(只讀光盤)或者其他的光盤存儲器、磁盤存儲器及其他磁存儲器,或者其他任何可以用于存放和攜帶計(jì)算機(jī)可執(zhí)行指令形式的特定程序代碼裝置或可被一般用途計(jì)算機(jī)或者特殊用途計(jì)算機(jī)訪問的數(shù)據(jù)結(jié)構(gòu)的媒介。
當(dāng)通過網(wǎng)絡(luò)或其他通訊連接(如如有線、無線或有線無線的結(jié)合)給計(jì)算機(jī)發(fā)送或提供信息時(shí),計(jì)算機(jī)把該連接也視為一個(gè)計(jì)算機(jī)可讀媒介。也即任何上述的通訊連接都被稱為計(jì)算機(jī)可讀媒介。如果系統(tǒng)中包含上述連接方式的結(jié)合體,則結(jié)合體也應(yīng)被視為計(jì)算機(jī)可讀媒介。而計(jì)算機(jī)可執(zhí)行指令則由比如指令和數(shù)據(jù)組成,它可以使一般用途計(jì)算機(jī)、特殊用途計(jì)算機(jī)或特殊用途處理器完成一個(gè)或多個(gè)函數(shù)。
圖6及后文將對可以運(yùn)用本發(fā)明的適合的計(jì)算環(huán)境做一個(gè)簡單的、一般性的介紹。盡管不是必須的,但本發(fā)明可以表示成一般的計(jì)算機(jī)可執(zhí)行命令形式,如程序模塊形式,并由網(wǎng)絡(luò)環(huán)境中的計(jì)算機(jī)調(diào)用。一般而言,程序模塊包括完成特殊任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件和數(shù)據(jù)結(jié)構(gòu)等等。下文將介紹計(jì)算機(jī)可執(zhí)行指令及其相關(guān)的數(shù)據(jù)結(jié)構(gòu),以及本文所披露發(fā)明的執(zhí)行步驟例程的程序模塊示例。并用一個(gè)可執(zhí)行命令的特定序列來表示實(shí)現(xiàn)本發(fā)明上述功能步驟的特定操作。
本領(lǐng)域一般技術(shù)人員可理解本發(fā)明在包含了各種計(jì)算機(jī)系統(tǒng)配置,如個(gè)人計(jì)算機(jī)、手提設(shè)備、移動電話、個(gè)人數(shù)字助理(“PDAs”)、多處理器系統(tǒng)、基于微處理器的或用戶可編程的電子設(shè)備、網(wǎng)絡(luò)PCs、小型計(jì)算機(jī)、大型計(jì)算機(jī)等等類似圖1所例示系統(tǒng)的網(wǎng)絡(luò)計(jì)算機(jī)環(huán)境下實(shí)施。本發(fā)明也可應(yīng)用在分布式計(jì)算環(huán)境中,即本地的處理設(shè)備和遠(yuǎn)端的處理設(shè)備通過通訊網(wǎng)絡(luò)(有線的,或無線的,或有線無線相結(jié)合的)相連并共同完成各種任務(wù)的環(huán)境。
如圖6所示,一個(gè)實(shí)現(xiàn)本發(fā)明的系統(tǒng)包括了一個(gè)以計(jì)算機(jī)120表示的一般用途的計(jì)算設(shè)備,該設(shè)備包括一個(gè)處理單元121,一個(gè)系統(tǒng)存儲器122,一個(gè)將各系統(tǒng)部件,包括系統(tǒng)存儲器122和處理單元121相連的系統(tǒng)總線123。圖6中所示的計(jì)算機(jī)120及其相關(guān)部件是圖1中的計(jì)算機(jī)10的詳細(xì)說明。系統(tǒng)總線123可以是任意一種總線體系結(jié)構(gòu),其中包括存儲器總線或存儲控制器、外圍總線和局部總線。系統(tǒng)存儲器可以包括只讀存儲器(“ROM”)124和隨機(jī)訪問存儲器(“RAM”)125。ROM124中可以有基本輸入/輸出系統(tǒng)(“BIOS”)126,其中包含了用于如在啟動時(shí)計(jì)算機(jī)120內(nèi)各部件間傳送信息的例程。
計(jì)算機(jī)120還可以包括一個(gè)硬盤驅(qū)動器127用于從硬盤139上讀寫數(shù)據(jù),一個(gè)硬盤驅(qū)動器128用于從可移動硬盤129讀寫數(shù)據(jù),一個(gè)光盤驅(qū)動器130用于從可移動光盤131,比如CD-ROM或其他光媒介上讀寫數(shù)據(jù)。硬盤驅(qū)動器127、磁盤驅(qū)動器128和光盤驅(qū)動器130分別由硬盤驅(qū)動器接口132、磁盤驅(qū)動器接口133和光盤驅(qū)動器接口134連接到系統(tǒng)總線123上。這些驅(qū)動器及其相連的計(jì)算機(jī)可讀媒介為計(jì)算機(jī)120用于穩(wěn)定地存儲計(jì)算機(jī)的可執(zhí)行指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊及其他數(shù)據(jù)。盡管本文所舉的示例系統(tǒng)中采用的是硬盤139,可移動軟盤129和可移動光盤131,但也可以采用其他類型的用于存儲數(shù)據(jù)的計(jì)算機(jī)可讀媒介,包括磁帶機(jī)、閃存卡、通用數(shù)字盤、貝努里(Bernoulli)編碼磁帶盒、RAM、ROM等等。
程序代碼裝置包含了存放在硬盤139、光盤131、ROM124或RAM125上的一個(gè)或多個(gè)程序模塊,其由一個(gè)操作系統(tǒng)135、一個(gè)或多個(gè)應(yīng)用程序136、其他程序模塊137及程序數(shù)據(jù)138組成。用戶可以通過鍵盤140、定點(diǎn)設(shè)備142或其他輸入設(shè)備(未圖示)比如話筒、游戲桿、游戲柄、碟形衛(wèi)星天線、掃描儀等等之類的設(shè)備來將命令和信息輸入計(jì)算機(jī)120。上述這些輸入設(shè)備通常都通過連在系統(tǒng)總線123上的一個(gè)串行接口146連接到處理單元121。當(dāng)然,它們也可通過其他接口連接到計(jì)算機(jī),比如說并行接口、游戲端口或通用串行總線(“USB”)。監(jiān)視器147或其他顯示設(shè)備通過一個(gè)接口,比如說視頻適配器148,連接到系統(tǒng)總線123上。除了顯示器,個(gè)人計(jì)算機(jī)通常還包括其他輸出設(shè)備(未圖示),例如揚(yáng)聲器和打印機(jī)。
計(jì)算機(jī)120可以利用連接到一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)的邏輯連接,如圖6中的遠(yuǎn)端計(jì)算機(jī)149a和149b,工作在一個(gè)網(wǎng)絡(luò)環(huán)境中。遠(yuǎn)端計(jì)算機(jī)149a和149b可以分別是其他的個(gè)人計(jì)算機(jī),或服務(wù)器、路由器、網(wǎng)絡(luò)PC、同級(peer)設(shè)備及其他常見的網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)備。遠(yuǎn)端計(jì)算機(jī)149a和149b可以包含計(jì)算機(jī)120所包含的部分或所有部件,盡管在圖6中它們分別只包含了內(nèi)存存儲器150a和150b及其相關(guān)的應(yīng)用程序136a和136b。圖6中舉例顯示的邏輯連接方式有局域網(wǎng)(LAN)151和廣域網(wǎng)(WAN)152,但實(shí)際中并不限于此兩種。上述的網(wǎng)絡(luò)環(huán)境在辦公室網(wǎng)絡(luò)、企業(yè)計(jì)算機(jī)網(wǎng)絡(luò)、企業(yè)內(nèi)部互聯(lián)網(wǎng)及國際互聯(lián)網(wǎng)中很常見。
在局域網(wǎng)環(huán)境中,計(jì)算機(jī)120通過一個(gè)網(wǎng)絡(luò)接口適配器153或類似的適配器連接到局域網(wǎng)151。在廣域網(wǎng)環(huán)境中,計(jì)算機(jī)可能要包括一個(gè)調(diào)制解調(diào)器154,一個(gè)無線鏈路或其他的設(shè)備以連接上廣域網(wǎng)152,如國際互聯(lián)網(wǎng)。內(nèi)置式或外置式的調(diào)制解調(diào)器154通過一個(gè)串行接口146連接到系統(tǒng)總線123。在網(wǎng)絡(luò)環(huán)境中,關(guān)于計(jì)算機(jī)120的程序模塊,或其中部分模塊可以存放在遠(yuǎn)端的內(nèi)存存儲器上。顯示的本網(wǎng)絡(luò)連接只是示范性的,其他獲得廣域網(wǎng)連接的方法也可使用。
本發(fā)明亦可用其他形式來說明,且并不違背它的本質(zhì)特性。上述的實(shí)施例從各方面來考慮僅僅是說明性的,并不嚴(yán)謹(jǐn)。所以,本發(fā)明的范圍將通過后面附帶的權(quán)利要求書來表述,而非以上說明。所有在等同于權(quán)利要求書的方法和范圍中出現(xiàn)的修改,都將包含在它們的范圍里。
權(quán)利要求
1.在包含有存儲多個(gè)數(shù)據(jù)塊的大容量存儲設(shè)備的計(jì)算機(jī)系統(tǒng)中,一種在允許訪問大容量存儲設(shè)備先前狀態(tài)的同時(shí)更新數(shù)據(jù)塊的方法,包括以下操作接收用新數(shù)據(jù)塊覆蓋大容量存儲器中現(xiàn)有數(shù)據(jù)塊的寫請求;在執(zhí)行所述寫操作之前,將現(xiàn)有數(shù)據(jù)塊的拷貝保存到與所述計(jì)算機(jī)系統(tǒng)相關(guān)的一個(gè)保留存儲器中并將保留存儲器中的該數(shù)據(jù)塊拷貝與一個(gè)時(shí)間戳關(guān)聯(lián);及執(zhí)行寫操作,使得新的數(shù)據(jù)塊覆蓋大容量存儲器中的現(xiàn)有數(shù)據(jù)塊。
2.如權(quán)利要求1中所述的方法,其特征在于所述保留存儲器包括一個(gè)易失性的存儲設(shè)備。
3.如權(quán)利要求1中所述的方法,其特征在于所述保留存儲器包括大容量存儲器的一部分。
4.如權(quán)利要求1中所述的方法,還包括在執(zhí)行接收寫請求前創(chuàng)建該大容量存儲設(shè)備中多個(gè)數(shù)據(jù)塊的一個(gè)備份拷貝的操作。
5.如權(quán)利要求6中所述的方法,其特征在于當(dāng)所述多個(gè)數(shù)據(jù)塊是邏輯上一致的數(shù)據(jù)時(shí)才創(chuàng)建這些數(shù)據(jù)的備份拷貝。
6.如權(quán)利要求1中所述的方法,還包括利用存儲在所述保留存儲器中的現(xiàn)有數(shù)據(jù)塊備份,將大容量存儲器中存儲的所述多個(gè)數(shù)據(jù)塊恢復(fù)到先前所處的狀態(tài)的操作。
7.如權(quán)利要求1中所述的方法,還包括響應(yīng)一個(gè)或多個(gè)要覆蓋現(xiàn)有數(shù)據(jù)塊的寫請求而將一個(gè)現(xiàn)有數(shù)據(jù)塊序列存儲到保留存儲器中,并將該序列的每一個(gè)現(xiàn)有數(shù)據(jù)塊與一個(gè)時(shí)間戳關(guān)聯(lián)的操作。
8.如權(quán)利要求7中所述的方法,還包括利用所述保留存儲器中存儲的所述數(shù)據(jù)塊序列將大容量存儲器中的多個(gè)數(shù)據(jù)塊恢復(fù)到先前狀態(tài)的操作。
9.如權(quán)利要求8中所述的方法,還包括在大容量存儲器中遭受數(shù)據(jù)損壞事件,其中執(zhí)行恢復(fù)所述多個(gè)數(shù)據(jù)塊的操作以獲得無損壞數(shù)據(jù)。
10.如權(quán)利要求8中所述的方法,其特征在于恢復(fù)數(shù)據(jù)操作包括按照相反的先后順序用保留存儲器中存儲的現(xiàn)有數(shù)據(jù)塊序列來施加給大容量存儲器中存儲的所述多個(gè)數(shù)據(jù)塊的最新版本。
11.如權(quán)利要求9中所述的方法,其特征在于,恢復(fù)所述大容量存儲器中多個(gè)數(shù)據(jù)塊以獲得無損壞數(shù)據(jù)的操作,其中恢復(fù)數(shù)據(jù)的操作中還包括確定是否已獲得無損壞數(shù)據(jù)的操作。
12.如權(quán)利要求1中所述的方法,還包括在計(jì)算機(jī)系統(tǒng)中建立虛擬設(shè)備的操作,該虛擬設(shè)備就如保存了該大容量存儲器之前某時(shí)刻狀態(tài)的多個(gè)數(shù)據(jù)塊一般。
13.如權(quán)利要求12中所述的方法,還包括如下操作虛擬設(shè)備接收讀取某特定數(shù)據(jù)塊的請求;響應(yīng)該讀請求;若保留存儲器中存在之前某時(shí)刻及其后時(shí)間存入保留存儲器中的,所需讀取數(shù)據(jù)塊的無損壞拷貝,則用保留存儲器中這些無損壞數(shù)據(jù)塊版本中最舊的數(shù)據(jù)塊來處理讀取請求;若保留存儲器中不包含所述的之前某時(shí)刻及其后時(shí)間的所需讀取數(shù)據(jù)塊的無損壞數(shù)據(jù)塊拷貝,則用大容量存儲器中保存的所被請求的數(shù)據(jù)塊的一個(gè)數(shù)據(jù)塊版本來處理讀取請求。
14.一個(gè)提供訪問之前某時(shí)刻的數(shù)據(jù)塊的計(jì)算機(jī)系統(tǒng),包括一個(gè)保存多個(gè)響應(yīng)寫請求而將被覆蓋的數(shù)據(jù)塊的大容量存儲器;一個(gè)在大容量存儲器中某數(shù)據(jù)塊響應(yīng)寫請求而將被覆蓋之前,接收并存儲該數(shù)據(jù)塊的拷貝,并在每一個(gè)所述拷貝上加上相應(yīng)時(shí)間戳的保留存儲器;一個(gè)可以用來訪問大容量存儲器中的當(dāng)前版本數(shù)據(jù)塊及保留存儲器中數(shù)據(jù)塊拷貝的虛擬設(shè)備,其特征在于該虛擬設(shè)備在響應(yīng)訪問之前某時(shí)刻的某特定數(shù)據(jù)塊數(shù)據(jù)的讀取請求后,確定是應(yīng)從大容量存儲器中讀取特定數(shù)據(jù)塊的當(dāng)前版本還是從保留存儲器中讀取特定數(shù)據(jù)塊的一個(gè)拷貝。
15.如權(quán)利要求14中所述的計(jì)算機(jī)系統(tǒng),其特征在于所述保留存儲器包括大容量存儲器的一部分。
16.如權(quán)利要求14中所述的計(jì)算機(jī)系統(tǒng),其特征在于所述虛擬設(shè)備從數(shù)據(jù)訪問程序的角度來看,就如保存了之前某時(shí)刻大容量存儲器中的數(shù)據(jù)一般。
17.如權(quán)利要求14中所述的計(jì)算機(jī)系統(tǒng),其特征在于所述虛擬設(shè)備在響應(yīng)讀取請求,并執(zhí)行如下操作若保留存儲器中保存了在之前某時(shí)刻及其后時(shí)間存入到保留存儲器中的特定數(shù)據(jù)塊的無損壞版本,則用保留存儲器中特定數(shù)據(jù)塊的這些數(shù)據(jù)塊版本中最舊的一個(gè)數(shù)據(jù)塊來處理讀取請求;若保留存儲器中沒保存所述的之前某時(shí)刻及其后時(shí)間存入到保留存儲器中的特定數(shù)據(jù)塊的無損壞版本,則用大容量存儲器中特定數(shù)據(jù)塊的一個(gè)數(shù)據(jù)塊版本處理讀取請求。
18.如權(quán)利要求15中所述的計(jì)算機(jī)系統(tǒng),還包括在接收寫請求之前建立數(shù)據(jù)塊備份拷貝的方法。
全文摘要
將一個(gè)大容量存儲設(shè)備12,其中包括一個(gè)存儲其上相應(yīng)的數(shù)據(jù)塊20,恢復(fù)到一個(gè)先前時(shí)刻所處的狀態(tài),來最小化由于數(shù)據(jù)塊20損壞或丟失所造成的數(shù)據(jù)損失。在完成一個(gè)鏡像或備份拷貝后,響應(yīng)一個(gè)寫請求而將被修改的數(shù)據(jù)塊40,在修改之前,存儲在一個(gè)保留存儲器14中。存儲在該保留存儲器14中的該數(shù)據(jù)塊40帶有時(shí)間戳,以標(biāo)明該數(shù)據(jù)塊40被修改的時(shí)間順序。如果數(shù)據(jù)損壞,將保留存儲器14中的數(shù)據(jù)塊40按相反的時(shí)間順序應(yīng)用到該已損壞的數(shù)據(jù)20中,直到獲得一個(gè)沒有損壞的數(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)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
乌兰察布市| 家居| 峨山| 东明县| 尼勒克县| 隆安县| 肃南| 乌兰察布市| 安西县| 辽中县| 亚东县| 青州市| 宁化县| 清苑县| 云阳县| 南皮县| 航空| 斗六市| 云霄县| 大悟县| 林州市| 东源县| 民勤县| 玉树县| 乐陵市| 武乡县| 崇州市| 上栗县| 柳河县| 宝鸡市| 岳阳县| 扎鲁特旗| 鄂托克旗| 邵阳市| 阿克| 伊通| 电白县| 嵊泗县| 依兰县| 平湖市| 黔西县|