專利名稱:一種采用快照恢復(fù)數(shù)據(jù)的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)保護(hù)技術(shù)領(lǐng)域,特別涉及一種采用快照恢復(fù)數(shù)據(jù)的方法 和裝置。
背景技術(shù):
隨著信息科學(xué)技術(shù)的廣泛應(yīng)用與不斷發(fā)展,數(shù)據(jù)保護(hù)變得越來(lái)越重要。 為了能夠在不中斷主機(jī)業(yè)務(wù)的前提下,快速進(jìn)行數(shù)據(jù)的備份,快照技術(shù)應(yīng)運(yùn) 而生。通常將進(jìn)行讀寫的資源稱為數(shù)據(jù)巻,實(shí)現(xiàn)快照而增加的資源稱為快照 巻,在快照過(guò)程中,通常以數(shù)據(jù)塊為單位進(jìn)行數(shù)據(jù)處理。
最初的快照方式的核心的原理是初次寫拷貝(COFW, Copy On First Write),在某一時(shí)間點(diǎn)為數(shù)據(jù)巻建立快照后,當(dāng)對(duì)該數(shù)據(jù)巻上進(jìn)行寫操作 時(shí),如果要進(jìn)行寫操作的資源塊中的數(shù)據(jù)是第一次發(fā)生變化,則先將要進(jìn)行 寫操作的資源塊當(dāng)前存儲(chǔ)的數(shù)據(jù)存儲(chǔ)在快照巻中,并建立快照巻中各數(shù)據(jù)與 其來(lái)源的數(shù)據(jù)巻中資源塊之間的對(duì)應(yīng)關(guān)系;然后再向數(shù)據(jù)巻中的該資源塊寫 入數(shù)據(jù)。在此后寫入數(shù)據(jù)的過(guò)程中,如果要進(jìn)行寫操作的資源塊中的數(shù)據(jù)不 是第一次發(fā)生變化,則直接向資源塊寫入數(shù)據(jù)而不向快照巻存儲(chǔ)數(shù)據(jù)。當(dāng)發(fā) 生突發(fā)事件,例如病毒攻擊或者人為操作失誤,導(dǎo)致數(shù)據(jù)損壞業(yè)務(wù)不可用而 需要對(duì)數(shù)據(jù)巻中的數(shù)據(jù)進(jìn)行恢復(fù)時(shí),可以將快照巻中的數(shù)據(jù)塊重新寫入其對(duì) 應(yīng)的數(shù)據(jù)巻的資源塊。以圖l為例,圖中"/"之前的字母標(biāo)識(shí)資源塊,"/" 之后的數(shù)字標(biāo)識(shí)該資源塊中存儲(chǔ)的數(shù)據(jù),例如,A/1標(biāo)識(shí)資源塊A中存儲(chǔ)數(shù) 據(jù)1。假設(shè)將要對(duì)數(shù)據(jù)巻中的資源塊A、 E和I寫入數(shù)據(jù),則如果這些資源 塊中的數(shù)據(jù)都是第一次發(fā)生變化,則先將資源塊A、 E和I中的數(shù)據(jù)存儲(chǔ)在 快照巻中,即生成快照,并建立各數(shù)據(jù)與資源塊之間的對(duì)應(yīng)關(guān)系,再向數(shù)據(jù)巻的資源塊A、 E和I中寫入新的數(shù)據(jù);如果以后再次對(duì)資源塊A、 E或I 寫入數(shù)據(jù),則不再生成快照直接寫入數(shù)據(jù)。如果發(fā)生突發(fā)事件需要恢復(fù)數(shù)據(jù), 則將快照巻中的各數(shù)據(jù)塊寫入其對(duì)應(yīng)的數(shù)據(jù)巻中的資源塊即可。
但是,由于最初的快照方式的快照巻中僅存儲(chǔ)第 一次發(fā)生變化的數(shù)據(jù), 因此,進(jìn)行數(shù)據(jù)恢復(fù)時(shí),僅能夠?qū)?shù)據(jù)巻恢復(fù)到原始的狀況。鑒于這種狀況 現(xiàn)有技術(shù)中還存在另外一種快照方式,每隔固定的時(shí)間間隔創(chuàng)建一個(gè)快照, 該創(chuàng)建的快照用創(chuàng)建時(shí)的時(shí)刻進(jìn)行標(biāo)識(shí),每個(gè)快照中數(shù)據(jù)的存儲(chǔ)均采用 COFW的方式,直至下一個(gè)快照創(chuàng)建。如圖2所示,假設(shè)每隔一個(gè)小時(shí)創(chuàng)建 一個(gè)快照,首先在9點(diǎn)時(shí)在快照巻中創(chuàng)建一個(gè)以9點(diǎn)作為標(biāo)識(shí)的快照,對(duì)數(shù) 據(jù)巻在9點(diǎn)到10點(diǎn)第一次發(fā)生變化的數(shù)據(jù)進(jìn)行存儲(chǔ),假設(shè)在此時(shí)間段中對(duì) 數(shù)據(jù)巻資源塊A、 E和I中分別寫入了數(shù)據(jù)10、 11和12,則在快照巻的9 點(diǎn)快照中存儲(chǔ)資源塊A、 E和I的數(shù)據(jù)1、 5和9,并建立各數(shù)據(jù)與其來(lái)源的 數(shù)據(jù)巻資源塊之間的對(duì)應(yīng)關(guān)系,然后將數(shù)據(jù)IO、 11和12寫入數(shù)據(jù)巻資源塊 A、 E和I;在10點(diǎn)再創(chuàng)建一個(gè)以10點(diǎn)作為標(biāo)識(shí)的快照,對(duì)數(shù)據(jù)巻在10點(diǎn) 到11點(diǎn)第一次發(fā)生變化的數(shù)據(jù)進(jìn)行存儲(chǔ),如果在10點(diǎn)到11點(diǎn)之間向數(shù)據(jù) 巻資源塊D和G中分別寫入數(shù)據(jù)13和14,則在快照巻10點(diǎn)快照中存儲(chǔ)數(shù) 據(jù)巻資源塊D和G中的數(shù)據(jù)4和7,并建立各數(shù)據(jù)與其來(lái)源的數(shù)據(jù)巻資源塊 之間的對(duì)應(yīng)關(guān)系,然后將數(shù)據(jù)13和14寫入數(shù)據(jù)巻資源塊D和G。此時(shí),在 快照巻中形成了 9點(diǎn)快照和10點(diǎn)快照。如果在11點(diǎn)到12點(diǎn)之間向數(shù)據(jù)巻 資源塊B、 C和D中分別寫入數(shù)據(jù)15、 16和17,則先將數(shù)據(jù)巻資源塊B、 C和D中的數(shù)據(jù)存儲(chǔ)在11點(diǎn)快照中,在向數(shù)據(jù)巻資源塊B、 C和D中分別 寫入數(shù)據(jù)15、 16和17。并且如圖2所示,建立的快照以鏈?zhǔn)浇Y(jié)構(gòu)進(jìn)行排列, 最后建立的快照排列在鏈?zhǔn)浇Y(jié)構(gòu)的末端,并且,存在一個(gè)回滾指針總指向最 末端的快照,即回滾指針指向排在快照巻最末端的ll點(diǎn)快照。
如果在11點(diǎn)和12點(diǎn)之間發(fā)生突發(fā)狀況需要恢復(fù)9點(diǎn)的數(shù)據(jù),則可以先 將11點(diǎn)快照中的數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊中;再利用IO點(diǎn)常規(guī)快照恢 復(fù)到IO點(diǎn)時(shí)的狀況,即將IO點(diǎn)常規(guī)快照中的數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊中,并將數(shù)據(jù)巻替換掉的數(shù)據(jù)寫入最末端的常規(guī)快照即11點(diǎn)的常規(guī)快照; 進(jìn)一步利用9點(diǎn)常規(guī)快照恢復(fù)到9點(diǎn)時(shí)的狀況,即將9點(diǎn)常規(guī)快照中的數(shù)據(jù) 寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊中,并將數(shù)據(jù)巻替換到的數(shù)據(jù)寫入11點(diǎn)的常規(guī)快 照。采用這種方式可以將數(shù)據(jù)恢復(fù)到中間的某個(gè)時(shí)刻,而不是必須恢復(fù)到原 始時(shí)刻;但是,采用這種方式在進(jìn)行數(shù)據(jù)恢復(fù)過(guò)程中,如果當(dāng)前時(shí)刻和要恢 復(fù)的時(shí)刻不處于同 一 時(shí)間段,則需要將數(shù)據(jù)巻中被替換掉的數(shù)據(jù)仍存儲(chǔ)在當(dāng) 前時(shí)間段對(duì)應(yīng)的快照中,這部分?jǐn)?shù)據(jù)進(jìn)行了重復(fù)存儲(chǔ),如圖2中恢復(fù)到9點(diǎn) 狀況后,9點(diǎn)快照和IO點(diǎn)快照中的數(shù)據(jù)還重復(fù)存儲(chǔ)在11點(diǎn)快照中,顯然, 這種方式浪費(fèi)了快照巻的存儲(chǔ)空間。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種采用快照恢復(fù)數(shù)據(jù)的方法和裝置,以便于 節(jié)約數(shù)據(jù)恢復(fù)過(guò)程中占用快照巻的空間。
一種采用快照恢復(fù)數(shù)據(jù)的方法,當(dāng)接收到包含要恢復(fù)到的時(shí)刻的數(shù)據(jù)恢 復(fù)指令后,執(zhí)行以下步驟
A、 將要所述要恢復(fù)到的時(shí)刻與數(shù)據(jù)巻中當(dāng)前最末端的常規(guī)快照所對(duì)應(yīng)的 時(shí)刻進(jìn)行比較,如果所迷要恢復(fù)到的時(shí)刻小于當(dāng)前最末端的常規(guī)快照所對(duì)應(yīng)的 時(shí)刻,則將最末端的常規(guī)快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊,并刪除該 最末端的常規(guī)快照;
B、 將所述要恢復(fù)到的時(shí)刻與數(shù)據(jù)巻中當(dāng)前最末端的常;^見快照所對(duì)應(yīng)的時(shí)刻 進(jìn)行比較,如果所述要恢復(fù)到的時(shí)刻小于當(dāng)前最末端的常規(guī)快照,則執(zhí)行步驟 C;如果所述要恢復(fù)到的時(shí)刻等于當(dāng)前最末端的常規(guī)快照,則執(zhí)行步驟D;
C、 確定當(dāng)前最末端的常規(guī)快照中各數(shù)據(jù)所對(duì)應(yīng)的數(shù)據(jù)巻資源塊,創(chuàng)建一個(gè) 回滾快照以上一個(gè)刪除的常規(guī)快照所對(duì)應(yīng)的時(shí)刻進(jìn)行標(biāo)識(shí),將確定的數(shù)據(jù)巻資 源塊中的數(shù)據(jù)存儲(chǔ)在該回滾快照中,并將當(dāng)前最末端的常規(guī)快照中的各數(shù)據(jù)寫 入對(duì)應(yīng)的數(shù)據(jù)巻資源塊,刪除當(dāng)前最末端的常規(guī)快照,轉(zhuǎn)至執(zhí)行步驟B;
D、 確定當(dāng)前最末端的常規(guī)快照中各數(shù)據(jù)所對(duì)應(yīng)的數(shù)據(jù)巻資源塊,創(chuàng)建一個(gè)回滾快照以上 一 個(gè)刪除的常規(guī)快照所對(duì)應(yīng)的時(shí)刻進(jìn)行標(biāo)識(shí),將確定的數(shù) 據(jù)巻資源塊中的數(shù)據(jù)存儲(chǔ)在該回滾快照中,將當(dāng)前最末端的常規(guī)快照中的各 數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊,刪除該最末端的常規(guī)快照,并將執(zhí)行刪除操 作后當(dāng)前最末端的常規(guī)快照與創(chuàng)建的回滾快照相關(guān)聯(lián),創(chuàng)建一個(gè)常規(guī)快照以 要恢復(fù)到的時(shí)刻進(jìn)行標(biāo)識(shí)。
一種采用快照恢復(fù)數(shù)據(jù)的裝置,該裝置包括
第一比較單元,用于接收到包含要恢復(fù)到的時(shí)刻的數(shù)據(jù)恢復(fù)指令后,將要 恢復(fù)到的時(shí)刻與數(shù)據(jù)巻中當(dāng)前最末端的常規(guī)快照所對(duì)應(yīng)的時(shí)刻進(jìn)行比較,如果 要恢復(fù)到的時(shí)刻小于當(dāng)前最末端的常規(guī)快照所對(duì)應(yīng)的時(shí)刻,則向第一處理單元 發(fā)送第一處理通知;
第一處理單元,用于接收到第一處理通知后,將最末端的常規(guī)快照中的各 數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊,刪除該最末端的常規(guī)快照,并向第二比較單元 發(fā)送第一比較通知;
第二比較單元,用于接收到第一比較通知后,將要恢復(fù)到的時(shí)刻與數(shù)據(jù)巻 中當(dāng)前最末端的常規(guī)快照所對(duì)應(yīng)的時(shí)刻進(jìn)行比較,如果所述要恢復(fù)到的時(shí)刻小 于當(dāng)前最末端的常規(guī)快照,則向第二處理單元發(fā)送第二處理通知;如果所述要 恢復(fù)到的時(shí)刻等于當(dāng)前最末端的常規(guī)快照,則向第三處理單元發(fā)送第三處理通 知;
第二處理單元,用于接收到第二處理通知后,確定當(dāng)前最末端的常規(guī)快照 中各數(shù)據(jù)所對(duì)應(yīng)的數(shù)據(jù)巻資源塊,創(chuàng)建一個(gè)回滾快照以上一個(gè)刪除的常規(guī)快照 所對(duì)應(yīng)的時(shí)刻進(jìn)行標(biāo)識(shí),將確定的數(shù)據(jù)巻資源塊中的數(shù)據(jù)存儲(chǔ)在該回滾快照中, 并將當(dāng)前最末端的常規(guī)快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊,刪除當(dāng)前最 末端的常規(guī)快照,并向所述第二比較單元發(fā)送第一比較通知;
第三處理單元,用于接收到第三處理通知后,確定當(dāng)前最末端的常規(guī)快照 中各數(shù)據(jù)所對(duì)應(yīng)的數(shù)據(jù)巻資源塊,創(chuàng)建一個(gè)回滾快照以上一個(gè)刪除的常規(guī)快照 所對(duì)應(yīng)的時(shí)刻進(jìn)行標(biāo)識(shí),將確定的數(shù)據(jù)巻資源塊中的lt據(jù)存儲(chǔ)在該回滾快照中, 將當(dāng)前最末端的常規(guī)快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊,刪除該最末端的常規(guī)快照,向第一關(guān)聯(lián)單元發(fā)送關(guān)聯(lián)通知;
第一關(guān)聯(lián)單元,用于接收到關(guān)聯(lián)通知后,將當(dāng)前最末端的常規(guī)快照與創(chuàng) 建的回滾快照相關(guān)聯(lián),創(chuàng)建一個(gè)常規(guī)快照以要恢復(fù)到的時(shí)刻進(jìn)行標(biāo)識(shí)。
一種建立回滾快照的方法,所述回滾快照用于存儲(chǔ)在數(shù)據(jù)恢復(fù)過(guò)程中數(shù)據(jù)
巻中被替換掉的數(shù)據(jù);該方法包括
在進(jìn)行數(shù)據(jù)恢復(fù)的過(guò)程中,將快照中的數(shù)據(jù)寫入相應(yīng)的數(shù)據(jù)巻資源塊前, 如果數(shù)據(jù)巻資源塊中將被替換的數(shù)據(jù)具有對(duì)應(yīng)的常規(guī)快照時(shí)刻,則創(chuàng)建一個(gè)回 滾快照,并以被替換的數(shù)據(jù)對(duì)應(yīng)的常規(guī)快照時(shí)刻進(jìn)行標(biāo)識(shí),將當(dāng)前最末端的常 規(guī)快照中的數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊,并刪除當(dāng)前最末端的常規(guī)快照,直 到數(shù)據(jù)恢復(fù)過(guò)程停止,將當(dāng)前最末端的常規(guī)快照與創(chuàng)建的回滾快照相關(guān)聯(lián)。
一種上述方法建立的回滾快照恢復(fù)數(shù)據(jù)的方法,該方法包括
在數(shù)據(jù)恢復(fù)過(guò)程中,當(dāng)所要恢復(fù)的時(shí)刻大于當(dāng)前最末端的常規(guī)快照所對(duì) 應(yīng)的時(shí)刻時(shí),將當(dāng)前最末端的常規(guī)快照中的數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊 后,刪除當(dāng)前最末端的常規(guī)快照;
確定與當(dāng)前最末端的常規(guī)快照相關(guān)聯(lián)的回滾快照中各數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù) 巻資源塊;創(chuàng)建一個(gè)常規(guī)快照以該回滾快照所對(duì)應(yīng)時(shí)刻的上 一 時(shí)刻進(jìn)行標(biāo) 識(shí),將確定的數(shù)據(jù)巻資源塊中的數(shù)據(jù)存儲(chǔ)在創(chuàng)建的常規(guī)快照中,并將確定的 回滾快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊中,刪除所述確定的回滾快 照、
由以上技術(shù)方案可以看出,利用本發(fā)明提供的方法和裝置進(jìn)行數(shù)據(jù)恢復(fù) 時(shí),在將最末端的常規(guī)快照寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊后,會(huì)及時(shí)將使用過(guò)的 常規(guī)快照刪除,并在后續(xù)數(shù)據(jù)恢復(fù)過(guò)程中,每利用常規(guī)快照進(jìn)行回滾操作, 即將常規(guī)快照中的數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊后,及時(shí)刪除使用過(guò)的常規(guī) 快照并相應(yīng)創(chuàng)建一個(gè)回滾快照用來(lái)存儲(chǔ)數(shù)據(jù)巻資源塊中替換掉的數(shù)據(jù),以保 證回滾掉的狀態(tài)也能夠再次恢復(fù)。而現(xiàn)有技術(shù)中的方式在進(jìn)行數(shù)據(jù)恢復(fù)過(guò)程 中不僅保留常規(guī)快照,還會(huì)在當(dāng)前時(shí)間段對(duì)應(yīng)的常規(guī)快照中重復(fù)存儲(chǔ)數(shù)據(jù)巻 資源塊中替換掉的數(shù)據(jù),而本發(fā)明建立相應(yīng)的回滾快照后會(huì)立即刪除相應(yīng)的常規(guī)快照,不會(huì)額外占用快照巻的資源,很顯然,本發(fā)明相對(duì)于現(xiàn)有技術(shù)中 的方法在數(shù)據(jù)恢復(fù)過(guò)程中能夠占用較少的快照巻資源,更加節(jié)約快照巻空間。
圖1為現(xiàn)有技術(shù)中最初快照技術(shù)的示意圖; 圖2為現(xiàn)有技術(shù)中另一種快照技術(shù)的示意圖; 圖3為本發(fā)明實(shí)施例提供的詳細(xì)方法流程圖; 圖4為本發(fā)明實(shí)施例提供的按常規(guī)方式寫入數(shù)據(jù)的過(guò)程示意圖; 圖5為本發(fā)明實(shí)施例提供的在圖4基礎(chǔ)上恢復(fù)到IO點(diǎn)時(shí)狀況的過(guò)程示 意圖6為本發(fā)明實(shí)施例提供的在圖5基礎(chǔ)上恢復(fù)到11點(diǎn)時(shí)狀況的過(guò)程示 意圖7為本發(fā)明實(shí)施例提供的在圖5基礎(chǔ)上按常規(guī)方式寫入數(shù)據(jù)的過(guò)程示 意圖8為本發(fā)明實(shí)施例提供的在圖7基礎(chǔ)上恢復(fù)到11點(diǎn)時(shí)狀況的過(guò)程示 意圖9為本發(fā)明實(shí)施例提供的裝置結(jié)構(gòu)圖。
具體實(shí)施例方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體 實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
本發(fā)明提供的方法是對(duì)現(xiàn)有技術(shù)中的第二種方式進(jìn)行的改進(jìn),在進(jìn)行正 常的寫入操作過(guò)程中形成快照的方式相同,本發(fā)明在數(shù)據(jù)恢復(fù)過(guò)程中對(duì)快照 的處理方式進(jìn)行了改進(jìn),增加了另外一種快照形式,為了以示區(qū)分,將正常 寫入操作過(guò)程中形成的快照稱為常規(guī)快照,將數(shù)據(jù)恢復(fù)過(guò)程中形成的快照稱 為回滾快照。下面結(jié)合具體實(shí)施例對(duì)本發(fā)明提供的方法進(jìn)行詳細(xì)描述。圖3為本發(fā)明 實(shí)施例提供的詳細(xì)方法流程圖。該實(shí)施例中,正常向數(shù)據(jù)巻寫入數(shù)據(jù)時(shí)采用 的方法與現(xiàn)有技術(shù)中的第二種方法相同,即每隔一定的時(shí)間創(chuàng)建一個(gè)常規(guī)快 照,該常規(guī)快照用創(chuàng)建時(shí)的時(shí)刻進(jìn)行標(biāo)識(shí),每個(gè)常規(guī)快照中數(shù)據(jù)的存儲(chǔ)均采
用COFW的方式,直至下一個(gè)常規(guī)快照創(chuàng)建,仍假設(shè)每隔一個(gè)小時(shí)創(chuàng)建一 個(gè)常規(guī)快照,從9點(diǎn)到12點(diǎn)之間形成的快照的過(guò)程如圖4所示。以下數(shù)據(jù) 恢復(fù)操作可以如圖3所示,當(dāng)接收到包含的要恢復(fù)到的時(shí)刻的數(shù)據(jù)恢復(fù)指令 后,該實(shí)施例中的方法可以包括以下步驟
步驟301:將要恢復(fù)到的時(shí)刻與快照巻中當(dāng)前最末端的常規(guī)快照所對(duì)應(yīng) 時(shí)刻進(jìn)行比較;如果要恢復(fù)到的時(shí)刻小于最末端的常規(guī)快照所對(duì)應(yīng)的時(shí)刻, 則執(zhí)行步驟302;如果要恢復(fù)到的時(shí)刻等于最末端的常規(guī)快照所對(duì)應(yīng)的時(shí)刻, 則執(zhí)行步驟310;如果恢復(fù)到的時(shí)刻大于最末端的常規(guī)快照所對(duì)應(yīng)的時(shí)刻, 則執(zhí)行步驟311。
步驟302:將最末端的常規(guī)快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊, 并刪除該最末端的常規(guī)快照。
步驟303:將要恢復(fù)的時(shí)刻與快照巻中當(dāng)前最末端的常規(guī)快照所對(duì)應(yīng)的 時(shí)刻進(jìn)行比較,如果要恢復(fù)的時(shí)刻小于快照巻中當(dāng)前最末端的常規(guī)快照所對(duì) 應(yīng)的時(shí)刻,則執(zhí)行步驟304;如果恢復(fù)的時(shí)刻等于快照巻中當(dāng)前最末端的常 規(guī)快照所對(duì)應(yīng)的時(shí)刻,則執(zhí)行步驟305;如果恢復(fù)的時(shí)刻大于快照巻中當(dāng)前 最末端的常規(guī)快照所對(duì)應(yīng)的時(shí)刻,則執(zhí)行步驟306。
步驟304:確定該最末端的常規(guī)快照中各數(shù)據(jù)所對(duì)應(yīng)的數(shù)據(jù)巻資源塊; 創(chuàng)建一個(gè)回滾快照以上一個(gè)刪除的常規(guī)快照所對(duì)應(yīng)時(shí)刻進(jìn)行標(biāo)識(shí),將確定的 數(shù)據(jù)巻資源塊中的數(shù)據(jù)存儲(chǔ)在該回滾快照中,并將確定的常規(guī)快照中的各數(shù) 據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊中,刪除該確定的常規(guī)快照,轉(zhuǎn)至執(zhí)行步驟303。
當(dāng)多次循環(huán)執(zhí)行步驟303和步驟304之后,可能會(huì)逐一刪除多個(gè)常規(guī)快 照并相應(yīng)創(chuàng)建多個(gè)回滾快照,創(chuàng)建的多個(gè)回滾快照按照創(chuàng)建時(shí)間的順序也進(jìn) 行鏈?zhǔn)脚帕校詈髣?chuàng)建的回滾快照位于回滾快照鏈的最末端。步驟305:確定該最末端的常規(guī)快照中各數(shù)據(jù)所對(duì)應(yīng)的數(shù)據(jù)巻資源塊; 創(chuàng)建一個(gè)回滾快照以上一個(gè)刪除的常規(guī)快照所對(duì)應(yīng)時(shí)刻進(jìn)行標(biāo)識(shí),將確定的 數(shù)據(jù)巻資源塊中的數(shù)據(jù)存儲(chǔ)在該回滾快照中,并將確定的常規(guī)快照中的各數(shù) 據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊中,刪除該確定的常規(guī)快照,并將當(dāng)前最末端的 常規(guī)快照與創(chuàng)建的回滾快照相關(guān)聯(lián),創(chuàng)建一個(gè)常規(guī)快照以要恢復(fù)到的時(shí)刻進(jìn) 4亍標(biāo)識(shí),結(jié)束流牙呈。
步驟306:確定該最末端的常規(guī)快照中各數(shù)據(jù)所對(duì)應(yīng)的數(shù)據(jù)巻資源塊; 創(chuàng)建一個(gè)回滾快照以上一個(gè)被刪除的常規(guī)快照所對(duì)應(yīng)時(shí)刻進(jìn)行標(biāo)識(shí),將確定 的數(shù)據(jù)巻資源塊中的數(shù)據(jù)存儲(chǔ)在該回滾快照中,并將確定的常規(guī)快照中的各 數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊中,刪除該確定的常規(guī)快照,并將當(dāng)前最末端 的常規(guī)快照與創(chuàng)建的回滾快照相關(guān)聯(lián)。
步驟307:確定與當(dāng)前最末端的常規(guī)快照相關(guān)聯(lián)的回滾快照中各數(shù)據(jù)對(duì) 應(yīng)的數(shù)據(jù)巻資源塊;創(chuàng)建 一 個(gè)常規(guī)快照以該回滾快照所對(duì)應(yīng)時(shí)刻的上 一 時(shí)刻 進(jìn)行標(biāo)識(shí),將確定的數(shù)據(jù)巻資源塊中的數(shù)據(jù)存儲(chǔ)在創(chuàng)建的常規(guī)快照中,并將 確定的回滾快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊中,刪除該確定的回滾 快照。
步驟308:確定刪除的回滾快照是否存在下一回滾快照,如果不存在, 則創(chuàng)建一個(gè)常規(guī)快照以要恢復(fù)到的時(shí)刻進(jìn)行標(biāo)識(shí),結(jié)束流程;如果存在,則 執(zhí)行步驟309。
步驟309:判斷該下一回滾快照所對(duì)應(yīng)的時(shí)刻是否小于或等于要恢復(fù)的 時(shí)刻,如果是,執(zhí)行步驟307,否則,將該確定的回滾快照與當(dāng)前最末端的 常規(guī)快照相關(guān)聯(lián),創(chuàng)建一個(gè)常規(guī)快照以要恢復(fù)到的時(shí)刻進(jìn)行標(biāo)識(shí),結(jié)束流程。
步驟310:將最末端的常規(guī)快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊, 結(jié)束流程。
步驟311:將最末端的常規(guī)快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊, 并刪除該最末端的常規(guī)快照,轉(zhuǎn)至執(zhí)行步驟307。
舉一個(gè)例子在圖4所示所形成的數(shù)據(jù)巻狀況下,如果在11點(diǎn)至12點(diǎn)之間發(fā)生突發(fā)狀況需要將數(shù)據(jù)巻恢復(fù)到IO點(diǎn)時(shí)的狀況,則會(huì)向數(shù)據(jù)恢復(fù)裝
置發(fā)送一個(gè)包含要恢復(fù)到IO點(diǎn)的數(shù)據(jù)恢復(fù)指令,在步驟301中確定出要恢 復(fù)的時(shí)刻小于快照巻當(dāng)前最末端常規(guī)快照的時(shí)刻即11點(diǎn),因此執(zhí)行步驟 302,在步驟302中將最末端的常規(guī)快照即11點(diǎn)的常規(guī)快照中的各輸入分別 寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊B、 C和D中,并刪除該11點(diǎn)的常規(guī)快照。此時(shí), 回滾指針變?yōu)橹赶騃O點(diǎn)的常規(guī)快照,即當(dāng)前最末端的常規(guī)快照變?yōu)镮O點(diǎn)。
然后,繼續(xù)執(zhí)行步驟303,將要恢復(fù)的時(shí)刻IO點(diǎn)與當(dāng)前最末端的常規(guī) 快照所對(duì)應(yīng)的時(shí)刻10點(diǎn)進(jìn)行比較,確定要恢復(fù)的時(shí)刻與快照巻中當(dāng)前最末 端的常規(guī)快照所對(duì)應(yīng)的時(shí)刻相等,執(zhí)行步驟305。確定該最末端快照中各數(shù) 據(jù)所對(duì)應(yīng)的數(shù)據(jù)巻資源塊為D和G,創(chuàng)建一個(gè)回滾快照以上一個(gè)被刪除的常 規(guī)快照所對(duì)應(yīng)的時(shí)刻進(jìn)行標(biāo)識(shí),即11點(diǎn)進(jìn)行標(biāo)識(shí)。將數(shù)據(jù)巻中資源塊D和 G的數(shù)據(jù)存儲(chǔ)在創(chuàng)建的11點(diǎn)的回滾快照中,刪除10點(diǎn)的常規(guī)快照,將11 點(diǎn)的回滾快照與當(dāng)前最末端的常規(guī)快照即9點(diǎn)的常規(guī)快照相關(guān)聯(lián)。為了保持 當(dāng)前正常寫入數(shù)據(jù),因此,創(chuàng)建一個(gè)常規(guī)快照以要恢復(fù)到的時(shí)刻進(jìn)行標(biāo)識(shí), 即創(chuàng)建一個(gè)IO點(diǎn)的常規(guī)快照,剛創(chuàng)建時(shí)該IO點(diǎn)的常規(guī)快照為空。此時(shí)恢復(fù) 到10點(diǎn)狀態(tài)的流程可以結(jié)束,其恢復(fù)過(guò)程可以如圖5所示。
如果此時(shí)仍在11點(diǎn)至12點(diǎn)之間,用戶發(fā)現(xiàn)11點(diǎn)時(shí)數(shù)據(jù)巻的狀況比較 好,想重新回到11點(diǎn),則會(huì)向數(shù)據(jù)恢復(fù)裝置發(fā)送一個(gè)包含要恢復(fù)到11點(diǎn)的 數(shù)據(jù)恢復(fù)指令,此時(shí),在步驟301中確定要恢復(fù)到的時(shí)刻比當(dāng)前最末端的常 規(guī)快照所對(duì)應(yīng)的時(shí)刻大,執(zhí)行步驟311,將作末端的常規(guī)快照即10點(diǎn)常規(guī) 快照中的數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊,由于假設(shè)此時(shí)10點(diǎn)常規(guī)快照中尚 無(wú)數(shù)據(jù),則不進(jìn)行寫入,直接刪除該10點(diǎn)的常規(guī)快照,轉(zhuǎn)至執(zhí)行步驟307。 確定與當(dāng)前最末端的常規(guī)快照即9點(diǎn)的常規(guī)快照相關(guān)聯(lián)的回滾快照中各數(shù) 據(jù)對(duì)應(yīng)的數(shù)據(jù)巻資源塊,即D和G;創(chuàng)建一個(gè)常規(guī)快照以該回滾快照所對(duì)應(yīng) 時(shí)刻的上一時(shí)刻進(jìn)行標(biāo)識(shí),即創(chuàng)建一個(gè)IO點(diǎn)的常規(guī)快照,將數(shù)據(jù)巻資源塊 D和G中的數(shù)據(jù)4和7存儲(chǔ)在10點(diǎn)的常規(guī)快照,再將11點(diǎn)的回滾快照中的 各數(shù)據(jù)13和14寫入數(shù)據(jù)巻的資源塊D和G,刪除該11點(diǎn)的回滾快照。繼續(xù)執(zhí)行步驟308,判斷11點(diǎn)的回滾快照是否存在下一回滾快照,該實(shí)施例 中不存在,則創(chuàng)建一個(gè)常規(guī)快照以要恢復(fù)到的時(shí)刻進(jìn)行標(biāo)識(shí),即創(chuàng)建一個(gè) ll的常規(guī)快照,結(jié)束流程。該數(shù)據(jù)恢復(fù)過(guò)程如圖6所示。
如果11點(diǎn)的回滾快照的下一回滾快照為12的回滾快照,并且要恢復(fù)到 的時(shí)刻為12點(diǎn),則在步驟308中可以判斷出下一回滾快照所對(duì)應(yīng)的時(shí)刻等 于要恢復(fù)的時(shí)刻,則利用12點(diǎn)的回滾快照,繼續(xù)循環(huán)到步驟307進(jìn)行恢復(fù) 操作。
本發(fā)明所提供的上述數(shù)據(jù)恢復(fù)的方法并不會(huì)影響對(duì)數(shù)據(jù)巻正常的數(shù)據(jù) 讀寫,可以按照現(xiàn)有技術(shù)的方案進(jìn)行正常數(shù)據(jù)讀寫,在此舉一個(gè)例子,假設(shè) 用戶數(shù)據(jù)恢復(fù)到IO點(diǎn)即圖5所示的狀況后,不再重新恢復(fù)到11點(diǎn)的狀況, 而是繼續(xù)進(jìn)行數(shù)據(jù)巻正常的數(shù)據(jù)寫入,例如,仍在11點(diǎn)至12點(diǎn)的時(shí)間段內(nèi), 對(duì)數(shù)據(jù)巻資源塊E、 F和H要分別寫入數(shù)據(jù)18、 19和20,則按照現(xiàn)有技術(shù) 中的方式,先將數(shù)據(jù)巻資源塊E、 F和H中的數(shù)據(jù)先存儲(chǔ)在10點(diǎn)常規(guī)快照 中,然后向數(shù)據(jù)巻資源塊E、 F和H分別寫入數(shù)據(jù)18、 19和20;在12點(diǎn)至 13點(diǎn)之間向數(shù)據(jù)巻資源塊A和B中分別寫入數(shù)據(jù)21和22,則先將數(shù)據(jù)巻 資源塊A和B中的數(shù)據(jù)先存儲(chǔ)在12點(diǎn)創(chuàng)建的12點(diǎn)常規(guī)快照中,然后向數(shù) 據(jù)巻資源塊A和B中分別寫入數(shù)據(jù)21和22。該過(guò)程可以如圖7所示。
如果此時(shí),用戶要恢復(fù)到11點(diǎn)時(shí)的狀態(tài),則可以按照?qǐng)D3所述的流程 執(zhí)行,執(zhí)行過(guò)程會(huì)先利用IO點(diǎn)的常規(guī)快照使數(shù)據(jù)巻從當(dāng)前狀況恢復(fù)到10點(diǎn) 的狀況,再利用與9點(diǎn)的常規(guī)快照存在關(guān)聯(lián)的11點(diǎn)的回滾快照恢復(fù)到11點(diǎn) 的狀況,其過(guò)程如圖8所示。具體為在步驟301中首先判斷要恢復(fù)的時(shí)刻 11點(diǎn)小于當(dāng)前最末端的常規(guī)快照所對(duì)應(yīng)的時(shí)刻即12點(diǎn),執(zhí)行步驟302,將 最末端的常規(guī)快照即12點(diǎn)的常規(guī)快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源 塊,并刪除12點(diǎn)的常規(guī)快照。繼續(xù)執(zhí)行步驟303,將11點(diǎn)繼續(xù)與當(dāng)前最末 端的常規(guī)快照所對(duì)應(yīng)的時(shí)刻10點(diǎn)進(jìn)行比較后,轉(zhuǎn)至執(zhí)行步驟306。確定10 點(diǎn)常規(guī)快照中各數(shù)據(jù)所對(duì)應(yīng)的數(shù)據(jù)巻資源塊E、 F和H,創(chuàng)建一個(gè)回滾快照 以上一個(gè)被刪除的常規(guī)快照所對(duì)應(yīng)的時(shí)刻進(jìn)行標(biāo)識(shí),即12點(diǎn)回滾快照,將確定的數(shù)據(jù)巻資源塊E、 F和H中的數(shù)據(jù)18、 19和20存儲(chǔ)在12點(diǎn)回滾快 照中,刪除10點(diǎn)常規(guī)快照,將9點(diǎn)常規(guī)快照和12點(diǎn)回滾快照相關(guān)聯(lián)。執(zhí)行 步驟307,確定與9點(diǎn)相關(guān)聯(lián)的回滾快照,如果在步驟307中發(fā)現(xiàn)與9點(diǎn)關(guān) 聯(lián)的回滾快照有兩個(gè),即12點(diǎn)的回滾快照和11點(diǎn)的回滾快照,則選擇其中 小于或等于要恢復(fù)到的時(shí)刻的回滾快照,在該例子中即選擇11點(diǎn)的回滾快 照,確定11點(diǎn)回滾快照中各數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)巻資源塊,即資源塊D和G, 創(chuàng)建一個(gè)IO點(diǎn)的常規(guī)快照,將數(shù)據(jù)巻資源塊中的數(shù)據(jù)存儲(chǔ)在IO點(diǎn)的常規(guī)快 照中,并將數(shù)據(jù)巻資源塊D和G中的數(shù)據(jù)4和7存儲(chǔ)在10點(diǎn)的常規(guī)快照中, 將11點(diǎn)回滾快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊中,刪除11點(diǎn)的回滾 快照,在步驟308中判斷不存在下一個(gè)回滾快照,并創(chuàng)建一個(gè)ll點(diǎn)的常規(guī) 快照,結(jié)束流程。
常規(guī)快照和回滾快照占用的都是快照巻的資源,由于通常發(fā)生突發(fā)狀況 的時(shí)候才會(huì)進(jìn)行數(shù)據(jù)恢復(fù),因此,回滾快照中存儲(chǔ)的可能是問(wèn)題數(shù)據(jù)或無(wú)用 數(shù)據(jù),所以,當(dāng)快照巻的資源已滿需要釋放一些快照時(shí),可以首先選擇將回 滾快照按照創(chuàng)建的先后順序,將創(chuàng)建時(shí)間較早的回滾快照刪除來(lái)釋放快照巻 的資源,從而保證常規(guī)快照鏈的存在。對(duì)回滾快照進(jìn)行刪除可以采用對(duì)最頂 端的回滾快照進(jìn)行溢出式的自動(dòng)刪除,也可以采用手動(dòng)的方式對(duì)較早創(chuàng)建的 回滾快照進(jìn)行刪除。
從上述方法中可以看出,本發(fā)明能夠建立用于存儲(chǔ)在數(shù)據(jù)恢復(fù)過(guò)程中數(shù)據(jù) 巻中被替換掉的數(shù)據(jù),具體為在進(jìn)行數(shù)據(jù)恢復(fù)的過(guò)程中,將快照中的數(shù)據(jù)寫 入相應(yīng)的數(shù)據(jù)巻資源塊前,如果數(shù)據(jù)巻資源塊中將被替換的數(shù)據(jù)具有對(duì)應(yīng)的常 規(guī)快照時(shí)刻,則創(chuàng)建一個(gè)回滾快照,并以被替換的數(shù)據(jù)對(duì)應(yīng)的常規(guī)快照時(shí)刻進(jìn) 行標(biāo)識(shí),將當(dāng)前最末端的常規(guī)快照中的數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊,并刪除 當(dāng)前最末端的常規(guī)快照,直到數(shù)據(jù)恢復(fù)過(guò)程停止,將當(dāng)前最末端的常規(guī)快照與 創(chuàng)建的回滾快照相關(guān)聯(lián)。
并且,可以利用建立的上述回滾快照恢復(fù)數(shù)據(jù),在數(shù)據(jù)恢復(fù)過(guò)程中,當(dāng) 所要恢復(fù)的時(shí)刻大于當(dāng)前最末端的常規(guī)快照所對(duì)應(yīng)的時(shí)刻時(shí),將當(dāng)前最末端的常規(guī)快照中的數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊后,刪除當(dāng)前最末端的常規(guī)快 照;確定與當(dāng)前最末端的常規(guī)快照相關(guān)聯(lián)的回滾快照中各數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)巻
資源塊;創(chuàng)建 一 個(gè)常規(guī)快照以該回滾快照所對(duì)應(yīng)時(shí)刻的上 一 時(shí)刻進(jìn)行標(biāo)識(shí), 將確定的數(shù)據(jù)巻資源塊中的數(shù)據(jù)存儲(chǔ)在創(chuàng)建的常規(guī)快照中,并將確定的回滾 快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊中,刪除所述確定的回滾快照。
以上是對(duì)本發(fā)明所提供的方法進(jìn)行的描述,下面對(duì)本發(fā)明提供的裝置進(jìn)行 詳細(xì)描述。圖9為本發(fā)明實(shí)施例提供的裝置結(jié)構(gòu)圖,如圖9所示,該裝置可以 包括第一比較單元901、第一處理單元902、第二比較單元903、第二處理單 元904、第三處理單元卯5和第一關(guān)聯(lián)單元906。
第一比較單元901,用于接收到包含要恢復(fù)到的時(shí)刻的數(shù)據(jù)恢復(fù)指令后, 將要恢復(fù)到的時(shí)刻與數(shù)據(jù)巻中當(dāng)前最末端的常^L快照所對(duì)應(yīng)的時(shí)刻進(jìn)行比較, 如果要恢復(fù)到的時(shí)刻小于當(dāng)前最末端的常規(guī)快照所對(duì)應(yīng)的時(shí)刻,則向第 一處理 單元902發(fā)送第一處理通知。
第一處理單元902,用于接收到第一處理通知后,將最末端的常規(guī)快照中 的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊,刪除該最末端的常規(guī)快照,并向第二比較 單元903發(fā)送第一比較通知。
第二比較單元903,用于接收到第一比較通知后,將要恢復(fù)到的時(shí)刻與數(shù) 據(jù)巻中當(dāng)前最末端的常規(guī)快照所對(duì)應(yīng)的時(shí)刻進(jìn)行比較,如果所述要恢復(fù)到的時(shí) 刻小于當(dāng)前最末端的常規(guī)快照,則向第二處理單元904發(fā)送第二處理通知;如 果所述要恢復(fù)到的時(shí)刻等于當(dāng)前最末端的常規(guī)快照,則向第三處理單元905發(fā) 送第三處理通知。
第二處理單元904,用于接收到第二處理通知后,確定當(dāng)前最末端的常規(guī) 快照中各數(shù)據(jù)所對(duì)應(yīng)的數(shù)據(jù)巻資源塊,創(chuàng)建一個(gè)回滾快照以上一個(gè)刪除的常規(guī) 快照所對(duì)應(yīng)的時(shí)刻進(jìn)行標(biāo)識(shí),將確定的數(shù)據(jù)巻資源塊中的數(shù)據(jù)存儲(chǔ)在該回滾快 照中,并將當(dāng)前最末端的常規(guī)快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊,刪除 當(dāng)前最末端的常規(guī)快照,并向所述第二比較單元903發(fā)送第一比較通知。
第三處理單元905,用于接收到第三處理通知后,確定當(dāng)前最末端的常規(guī)快照中各數(shù)據(jù)所對(duì)應(yīng)的數(shù)據(jù)巻資源塊,創(chuàng)建一個(gè)回滾快照以上一個(gè)刪除的常規(guī) 快照所對(duì)應(yīng)的時(shí)刻進(jìn)行標(biāo)識(shí),將確定的數(shù)據(jù)巻資源塊中的數(shù)據(jù)存儲(chǔ)在該回滾快 照中,將當(dāng)前最末端的常規(guī)快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊,刪除該 最末端的常規(guī)快照,向第 一關(guān)聯(lián)單元卯6發(fā)送關(guān)聯(lián)通知。
第一關(guān)聯(lián)單元906,用于接收到關(guān)聯(lián)通知后,將當(dāng)前最末端的常規(guī)快照與
創(chuàng)建的回滾快照相關(guān)聯(lián),創(chuàng)建一個(gè)常規(guī)快照以要恢復(fù)到的時(shí)刻進(jìn)行標(biāo)識(shí)。
更進(jìn)一步地,該裝置還可以包括第四處理單元卯7。
第一比較單元901,還用于如果確定要恢復(fù)到的時(shí)刻等于當(dāng)前最末端的常 規(guī)快照所對(duì)應(yīng)的時(shí)刻,向第四處理單元907發(fā)送第四處理通知。
第四處理單元907,用于接收到第四處理通知后,將當(dāng)前最末端的常規(guī)快 照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊。
另外,該裝置還可以包括第五處理單元908、第六處理單元909和第三 比較單元910。
第一比較單元901,還用于如果確定要恢復(fù)到的時(shí)刻大于當(dāng)前最末端的常 規(guī)快照所對(duì)應(yīng)的時(shí)刻,向第五處理單元908發(fā)送第五處理通知。
第五處理單元908,用于接收到第五處理通知后,將最末端的常規(guī)快照中 的各數(shù)據(jù)寫入對(duì)應(yīng)的凄t據(jù)巻資源塊,并刪除該最末端的常My決照后,向第六處 理單元909發(fā)送第六處理通知。
第六處理單元909,用于接收到第六處理通知后,確定與當(dāng)前最末端的常 規(guī)快照相關(guān)聯(lián)的回滾快照中各數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)巻資源塊,創(chuàng)建一個(gè)常規(guī)快照以 該回滾快照所對(duì)應(yīng)時(shí)刻的上一時(shí)刻進(jìn)行標(biāo)識(shí),將確定的數(shù)據(jù)巻資源塊中的數(shù)據(jù) 存儲(chǔ)在該創(chuàng)建的常M/決照中,并將確定的回滾快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù) 巻資源塊中,刪除該確定的回滾快照,向第三比4交單元910發(fā)送第二比較通知;
第三比較單元910,用于接收到第二比較通知后,確定刪除的回滾快照的 下一回滾快照,判斷該確定的回滾快照所對(duì)應(yīng)的時(shí)刻是否小于或等于要恢復(fù)的 時(shí)刻,如果是,向第六處理單元909發(fā)送第六處理通知;如果否,則向第一關(guān) 聯(lián)單元906發(fā)送關(guān)聯(lián)通知。更優(yōu)地,在第六處理單元和第三比較單元之間還包括判斷處理單元911, 用于接收第二比較通知,判斷第六處理單元909刪除的回滾快照是否存在下一 回滾快照,如果是,則將第二比較通知發(fā)送給第三比較單元910;否則創(chuàng)建一 個(gè)常規(guī)快照以要恢復(fù)的時(shí)刻進(jìn)行標(biāo)識(shí)。
更進(jìn)一步地,該裝置還可以包括第七處理單元912。
第二比較單元903,還可以用于如果確定要恢復(fù)到的時(shí)刻大于當(dāng)前最末端 的常規(guī)快照,則向第七處理單元912發(fā)送第七處理通知;
第七處理單元912,用于接收到第七處理通知后,確定當(dāng)前最末端的常規(guī) 快照中各數(shù)據(jù)所對(duì)應(yīng)的數(shù)據(jù)巻資源塊,創(chuàng)建一個(gè)回滾快照以上一個(gè)刪除的常規(guī) 快照所對(duì)應(yīng)的時(shí)刻進(jìn)行標(biāo)識(shí),將確定的數(shù)據(jù)巻資源塊中的數(shù)據(jù)存儲(chǔ)在該創(chuàng)建的 回滾快照中,并將當(dāng)前最末端的常規(guī)快照中各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊中, 刪除當(dāng)前最末端的常規(guī)快照,并將執(zhí)行該刪除操作后當(dāng)前最末端的常規(guī)快照與 創(chuàng)建的回滾快照相關(guān)聯(lián),向第六處理單元909發(fā)送第六處理通知。
另外,上述第六處理單元909接收到第六處理通知后,如果與當(dāng)前最末端 的常規(guī)快照相關(guān)聯(lián)的回滾快照數(shù)目大于1,則從相關(guān)聯(lián)的回滾快照中選擇對(duì)應(yīng) 時(shí)刻小于或等于要恢復(fù)到的時(shí)刻的回滾快照,并確定該選擇的回滾快照中各數(shù) 據(jù)對(duì)應(yīng)的數(shù)據(jù)巻資源塊。
該裝置還可以包括常規(guī)處理單元(在圖中未示出)用于以固定的時(shí)間間 隔創(chuàng)建常規(guī)快照,并以創(chuàng)建時(shí)的時(shí)刻進(jìn)行標(biāo)識(shí);在按照常規(guī)的方式向數(shù)據(jù)巻寫 入數(shù)據(jù)時(shí),如果要進(jìn)行寫入操作的數(shù)據(jù)巻資源塊中的數(shù)據(jù)在當(dāng)前時(shí)間段內(nèi)是第 一次發(fā)生變化,則在寫入數(shù)據(jù)之前,將要進(jìn)行寫入操作的數(shù)據(jù)巻資源塊中的數(shù) 據(jù)存儲(chǔ)在當(dāng)前最末端的常規(guī)快照中。該常規(guī)處理單元是現(xiàn)有技術(shù)已有的單元, 在此不再贅述。
另外,該裝置還可以包括刪除處理單元(圖中未示出)用于在快照巻資 源已滿時(shí),按照創(chuàng)建時(shí)間先后順序?qū)貪L快照進(jìn)行溢出式刪除,或者,按照用 戶指令對(duì)回滾快照進(jìn)行刪除。
由以上描述可以看出,利用本發(fā)明提供的方法和裝置進(jìn)行數(shù)據(jù)恢復(fù)時(shí),在將最末端的常規(guī)快照寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊后,會(huì)及時(shí)將使用過(guò)的常規(guī) 快照刪除,并在后續(xù)數(shù)據(jù)恢復(fù)過(guò)程中,每利用常規(guī)快照進(jìn)行回滾操作,即將 常規(guī)快照中的數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊后,及時(shí)刪除使用過(guò)的常規(guī)快照 并相應(yīng)創(chuàng)建 一個(gè)回滾快照用來(lái)存儲(chǔ)數(shù)據(jù)巻資源塊中替換掉的數(shù)據(jù),以保證回 滾掉的狀態(tài)也能夠再次恢復(fù)。而現(xiàn)有技術(shù)中的方式在進(jìn)行數(shù)據(jù)恢復(fù)過(guò)程中不 僅保留常規(guī)快照,還會(huì)在當(dāng)前時(shí)間段對(duì)應(yīng)的常規(guī)快照中重復(fù)存儲(chǔ)數(shù)據(jù)巻資源 塊中替換掉的數(shù)據(jù),而本發(fā)明建立相應(yīng)的回滾快照后會(huì)立即刪除相應(yīng)的常規(guī) 快照,不會(huì)額外占用快照巻的資源,很顯然,本發(fā)明相對(duì)于現(xiàn)有技術(shù)中的方 法在數(shù)據(jù)恢復(fù)過(guò)程中能夠占用較少的快照巻資源,更加節(jié)約快照巻空間。
更優(yōu)地,本發(fā)明能夠利用回滾快照中存儲(chǔ)的數(shù)據(jù)方便地將回滾掉的狀態(tài) 進(jìn)行恢復(fù),從而避免了因錯(cuò)誤操作而丟失數(shù)據(jù),又保證了快照巻資源的有效 利用,由于不需要在數(shù)據(jù)恢復(fù)過(guò)程中仍在當(dāng)前時(shí)間點(diǎn)對(duì)應(yīng)的常規(guī)快照中頻繁 寫入數(shù)據(jù),因此,大大提升了數(shù)據(jù)恢復(fù)的速度。
更優(yōu)地,當(dāng)快照巻中已滿時(shí),可以將回滾快照中的數(shù)據(jù)進(jìn)行溢出式刪除 或手動(dòng)選擇刪除,由于回滾快照相對(duì)于常規(guī)快照中的數(shù)據(jù)通常為問(wèn)題數(shù)據(jù)或 無(wú)用的數(shù)據(jù),因此,這種方式能夠盡可能的保證有用數(shù)據(jù)的保存。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本 發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在 本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1、一種采用快照恢復(fù)數(shù)據(jù)的方法,其特征在于,當(dāng)接收到包含要恢復(fù)到的時(shí)刻的數(shù)據(jù)恢復(fù)指令后,執(zhí)行以下步驟A、將要所述要恢復(fù)到的時(shí)刻與數(shù)據(jù)卷中當(dāng)前最末端的常規(guī)快照所對(duì)應(yīng)的時(shí)刻進(jìn)行比較,如果所述要恢復(fù)到的時(shí)刻小于當(dāng)前最末端的常規(guī)快照所對(duì)應(yīng)的時(shí)刻,則將最末端的常規(guī)快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)卷資源塊,并刪除該最末端的常規(guī)快照;B、將所述要恢復(fù)到的時(shí)刻與數(shù)據(jù)卷中當(dāng)前最末端的常規(guī)快照所對(duì)應(yīng)的時(shí)刻進(jìn)行比較,如果所述要恢復(fù)到的時(shí)刻小于當(dāng)前最末端的常規(guī)快照,則執(zhí)行步驟C;如果所述要恢復(fù)到的時(shí)刻等于當(dāng)前最末端的常規(guī)快照,則執(zhí)行步驟D;C、確定當(dāng)前最末端的常規(guī)快照中各數(shù)據(jù)所對(duì)應(yīng)的數(shù)據(jù)卷資源塊,創(chuàng)建一個(gè)回滾快照以上一個(gè)刪除的常規(guī)快照所對(duì)應(yīng)的時(shí)刻進(jìn)行標(biāo)識(shí),將確定的數(shù)據(jù)卷資源塊中的數(shù)據(jù)存儲(chǔ)在該回滾快照中,并將當(dāng)前最末端的常規(guī)快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)卷資源塊,刪除當(dāng)前最末端的常規(guī)快照,轉(zhuǎn)至執(zhí)行步驟B;D、確定當(dāng)前最末端的常規(guī)快照中各數(shù)據(jù)所對(duì)應(yīng)的數(shù)據(jù)卷資源塊,創(chuàng)建一個(gè)回滾快照以上一個(gè)刪除的常規(guī)快照所對(duì)應(yīng)的時(shí)刻進(jìn)行標(biāo)識(shí),將確定的數(shù)據(jù)卷資源塊中的數(shù)據(jù)存儲(chǔ)在該回滾快照中,將當(dāng)前最末端的常規(guī)快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)卷資源塊,刪除該最末端的常規(guī)快照,并將執(zhí)行刪除操作后當(dāng)前最末端的常規(guī)快照與創(chuàng)建的回滾快照相關(guān)聯(lián),創(chuàng)建一個(gè)常規(guī)快照以要恢復(fù)到的時(shí)刻進(jìn)行標(biāo)識(shí)。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述步驟A中,如果所 述要恢復(fù)到的時(shí)刻等于當(dāng)前最末端的常規(guī)快照所對(duì)應(yīng)的時(shí)刻,則將當(dāng)前最末端 的常規(guī)快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊,結(jié)束流程。
3、 根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述步驟A中,如果所 述要恢復(fù)到的時(shí)刻大于當(dāng)前最末端的常規(guī)快照所對(duì)應(yīng)的時(shí)刻,則執(zhí)行以下步驟E、 將最末端的常規(guī)快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊,并刪除該最末端的常規(guī)快照;F、確定與當(dāng)前最末端的常規(guī)快照相關(guān)聯(lián)的回滾快照中各數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)巻 資源塊,創(chuàng)建一個(gè)常規(guī)快照以該回滾快照所對(duì)應(yīng)時(shí)刻的上一時(shí)刻進(jìn)行標(biāo)識(shí),將 確定的數(shù)據(jù)巻資源塊中的數(shù)據(jù)存儲(chǔ)在該創(chuàng)建的常規(guī)快照中,并將確定的回滾快 照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊中,刪除該確定的回滾快照;G 、確定刪除的回滾快照的下 一 回滾快照,判斷該確定的回滾快照所對(duì)應(yīng) 的時(shí)刻是否小于或等于所述要恢復(fù)的時(shí)刻,如果是,則轉(zhuǎn)至扭J亍步驟F,否則, 將確定的回滾快照與當(dāng)前最末端的常規(guī)快照相關(guān)聯(lián),創(chuàng)建一個(gè)常規(guī)快照以所述 要恢復(fù)到的時(shí)刻進(jìn)行標(biāo)識(shí)。
4、 根據(jù)權(quán)利要求3所述的方法,其特征在于,在所述步驟F之后且步驟G 之前,還包括判斷刪除的回滾快照是否存在下一回滾快照,如果是,則繼續(xù) 執(zhí)行所述步驟G,否則,創(chuàng)建一個(gè)常規(guī)快照以所述要恢復(fù)到的時(shí)刻進(jìn)行標(biāo)識(shí)。
5、 根據(jù)權(quán)利要求3所述的方法,其特征在于,在所述步驟B中,如果所述 要恢復(fù)到的時(shí)刻大于當(dāng)前最末端的常規(guī)快照,則執(zhí)行以下步驟H、確定當(dāng)前最末端的常規(guī)快照中各數(shù)據(jù)所對(duì)應(yīng)的數(shù)據(jù)巻資源塊,創(chuàng)建一 個(gè)回滾快照以上一個(gè)刪除的常規(guī)快照所對(duì)應(yīng)的時(shí)刻進(jìn)行標(biāo)識(shí),將確定的數(shù)據(jù)巻 資源塊中的數(shù)據(jù)存儲(chǔ)在該創(chuàng)建的回滾快照中,并將當(dāng)前最末端的常規(guī)快照中各 數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊中,刪除當(dāng)前最末端的常規(guī)快照,并將執(zhí)行該刪 除操作后當(dāng)前最末端的常規(guī)快照與創(chuàng)建的回滾快照相關(guān)聯(lián);執(zhí)行所述步驟F。
6、 根據(jù)權(quán)利要求3或5所述的方法,其特征在于,在步驟F中如果與當(dāng)前 最末端的常規(guī)快照相關(guān)聯(lián)的回滾快照數(shù)目大于1,則從相關(guān)聯(lián)的回滾快照中選 擇所對(duì)應(yīng)時(shí)刻小于或等于要恢復(fù)到的時(shí)刻的回滾快照,所述確定的操作為確 定該選擇的回滾快照中各數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)巻資源塊。
7、 根據(jù)權(quán)利要求1至5任一權(quán)項(xiàng)所述的方法,其特征在于,該方法還包括 以固定的時(shí)間間隔創(chuàng)建常規(guī)快照,并以創(chuàng)建時(shí)的時(shí)刻進(jìn)行標(biāo)識(shí);在按照常規(guī)的方式向數(shù)據(jù)巻寫入數(shù)據(jù)時(shí),如果要進(jìn)行寫入操作的數(shù)據(jù)巻資 源塊中的數(shù)據(jù)在當(dāng)前時(shí)間段內(nèi)是第一次發(fā)生變化,則在寫入數(shù)據(jù)之前,將要進(jìn)行寫入操作的數(shù)據(jù)巻資源塊中的數(shù)據(jù)存儲(chǔ)在當(dāng)前最末端的常規(guī)快照中。
8、 根據(jù)權(quán)利要求1至5任一權(quán)項(xiàng)所述的方法,其特征在于,如果快照巻的 資源已滿,則按照創(chuàng)建時(shí)間先后順序?qū)貪L快照進(jìn)行溢出式刪除或手動(dòng)刪除。
9、 一種采用快照恢復(fù)數(shù)據(jù)的裝置,其特征在于,該裝置包括 第一比較單元,用于接收到包含要恢復(fù)到的時(shí)刻的數(shù)據(jù)恢復(fù)指令后,將要恢復(fù)到的時(shí)刻與數(shù)據(jù)巻中當(dāng)前最末端的常規(guī)快照所對(duì)應(yīng)的時(shí)刻進(jìn)行比較,如果 要恢復(fù)到的時(shí)刻小于當(dāng)前最末端的常規(guī)快照所對(duì)應(yīng)的時(shí)刻,則向第一處理單元 發(fā)送第一處理通知;第一處理單元,用于接收到第一處理通知后,將最末端的常規(guī)快照中的各 數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊,刪除該最末端的常規(guī)快照,并向第二比較單元 發(fā)送第一比較通知;第二比較單元,用于接收到第一比較通知后,將要恢復(fù)到的時(shí)刻與數(shù)據(jù)巻 中當(dāng)前最末端的常規(guī)快照所對(duì)應(yīng)的時(shí)刻進(jìn)行比較,如果所迷要恢復(fù)到的時(shí)刻小 于當(dāng)前最末端的常規(guī)快照,則向第二處理單元發(fā)送第二處理通知;如果所述要 恢復(fù)到的時(shí)刻等于當(dāng)前最末端的常規(guī)快照,則向第三處理單元發(fā)送第三處理通 知;第二處理單元,用于接收到第二處理通知后,確定當(dāng)前最末端的常-見快照 中各數(shù)據(jù)所對(duì)應(yīng)的數(shù)據(jù)巻資源塊,創(chuàng)建一個(gè)回滾快照以上一個(gè)刪除的常^L快照 所對(duì)應(yīng)的時(shí)刻進(jìn)行標(biāo)識(shí),將確定的數(shù)據(jù)巻資源塊中的數(shù)據(jù)存儲(chǔ)在該回滾快照中, 并將當(dāng)前最末端的常規(guī)快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊,刪除當(dāng)前最 末端的常規(guī)快照,并向所述第二比較單元發(fā)送第一比較通知;第三處理單元,用于接收到第三處理通知后,確定當(dāng)前最末端的常規(guī)快照 中各數(shù)據(jù)所對(duì)應(yīng)的數(shù)據(jù)巻資源塊,創(chuàng)建一個(gè)回滾快照以上一個(gè)刪除的常規(guī)快照 所對(duì)應(yīng)的時(shí)刻進(jìn)行標(biāo)識(shí),將確定的數(shù)據(jù)巻資源塊中的數(shù)據(jù)存儲(chǔ)在該回滾快照中, 將當(dāng)前最末端的常規(guī)快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊,刪除該最末端 的常規(guī)快照,向第一關(guān)聯(lián)單元發(fā)送關(guān)聯(lián)通知;第一關(guān)聯(lián)單元,用于接收到關(guān)聯(lián)通知后,將當(dāng)前最末端的常規(guī)快照與創(chuàng)建的回滾快照相關(guān)聯(lián),創(chuàng)建一個(gè)常規(guī)快照以要恢復(fù)到的時(shí)刻進(jìn)行標(biāo)識(shí)。
10、 根據(jù)權(quán)利要求9所述的裝置,其特征在于,該裝置還包括第四處理單元;所述第一比較單元,還用于如果確定要恢復(fù)到的時(shí)刻等于當(dāng)前最末端的常規(guī)快照所對(duì)應(yīng)的時(shí)刻,向所述第四處理單元發(fā)送第四處理通知;所述第四處理單元,用于接收到第四處理通知后,將當(dāng)前最末端的常規(guī)快 照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊。
11、 根據(jù)權(quán)利要求9所述的裝置,其特征在于,該裝置還包括第五處理 單元、第六處理單元和第三比較單元;所述第 一比較單元,還用于如果確定要恢復(fù)到的時(shí)刻大于當(dāng)前最末端的常 Mv決照所對(duì)應(yīng)的時(shí)刻,向所述第五處理單元發(fā)送第五處理通知;所述第五處理單元,用于接收到第五處理通知后,將最末端的常規(guī)快照中 的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊,并刪除該最末端的常規(guī)快照后,向所述第 六處理單元發(fā)送第六處理通知;所述第六處理單元,用于接收到第六處理通知后,確定與當(dāng)前最末端的常 規(guī)快照相關(guān)聯(lián)的回滾快照中各數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)巻資源塊,創(chuàng)建一個(gè)常規(guī)快照以 該回滾快照所對(duì)應(yīng)時(shí)刻的上一時(shí)刻進(jìn)行標(biāo)識(shí),將確定的數(shù)據(jù)巻資源塊中的數(shù)據(jù) 存儲(chǔ)在該創(chuàng)建的常規(guī)快照中,并將確定的回滾快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù) 巻資源塊中,刪除該確定的回滾快照,向所述第三比較單元發(fā)送第二比較通知;所述第三比較單元,用于接收到第二比較通知后,確定所述第六處理單元 刪除的回滾快照的下一回滾快照,判斷該確定的回滾快照所對(duì)應(yīng)的時(shí)刻是否小 于或等于所述要恢復(fù)的時(shí)刻,如果是,向所述第六處理單元發(fā)送第六處理通知; 如果否,則向所述第一關(guān)聯(lián)單元發(fā)送關(guān)聯(lián)通知。
12、 根據(jù)權(quán)利要求11所述的裝置,其特征在于,在所述第六處理單元和第 三比較單元之間還包括判斷處理單元,用于接收所述第二比較通知,判斷所 述第六處理單元?jiǎng)h除的回滾快照是否存在下一回滾快照,如果是,則將所述第 二比較通知發(fā)送給所述第三比較單元;否則創(chuàng)建一個(gè)常規(guī)快照以所述要恢復(fù)的時(shí)刻進(jìn)4t標(biāo)識(shí)。
13、 根據(jù)權(quán)利要求IO所述的裝置,其特征在于,該裝置還包括第七處理 單元;所述第二比較單元,還用于如果確定所述要恢復(fù)到的時(shí)刻大于當(dāng)前最末端的常規(guī)快照,則向所述第七處理單元發(fā)送第七處理通知;所述第七處理單元,用于接收到第七處理通知后,確定當(dāng)前最末端的常規(guī) 快照中各數(shù)據(jù)所對(duì)應(yīng)的數(shù)據(jù)巻資源塊,創(chuàng)建一個(gè)回滾快照以上一個(gè)刪除的常規(guī) 快照所對(duì)應(yīng)的時(shí)刻進(jìn)行標(biāo)識(shí),將確定的數(shù)據(jù)巻資源塊中的數(shù)據(jù)存儲(chǔ)在該創(chuàng)建的 回滾快照中,并將當(dāng)前最末端的常規(guī)快照中各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊中, 刪除當(dāng)前最末端的常規(guī)快照,并將執(zhí)行該刪除操作后當(dāng)前最末端的常規(guī)快照與 創(chuàng)建的回滾快照相關(guān)聯(lián),向第六處理單元發(fā)送第六處理通知。
14、 根據(jù)權(quán)利要求11或13所述的裝置,其特征在于,所述第六處理單元 接收到所述第六處理通知后,如果與當(dāng)前最末端的常規(guī)快照相關(guān)聯(lián)的回滾快照 數(shù)目大于1,則從相關(guān)聯(lián)的回滾快照中選擇所對(duì)應(yīng)時(shí)刻小于或等于要恢復(fù)到的 時(shí)刻的回滾快照,并確定該選擇的回滾快照中各數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)巻資源塊。
15、 根據(jù)權(quán)利要求9至13任一權(quán)項(xiàng)所述的裝置,其特征在于,該裝置還包 括常規(guī)處理單元,用于以固定的時(shí)間間隔創(chuàng)建常規(guī)快照,并以創(chuàng)建時(shí)的時(shí)刻 進(jìn)行標(biāo)識(shí);在按照常規(guī)的方式向數(shù)據(jù)巻寫入數(shù)據(jù)時(shí),如果要進(jìn)行寫入操作的數(shù) 據(jù)巻資源塊中的數(shù)據(jù)在當(dāng)前時(shí)間段內(nèi)是第一次發(fā)生變化,則在寫入數(shù)據(jù)之前, 將要進(jìn)行寫入操作的數(shù)據(jù)巻資源塊中的數(shù)據(jù)存儲(chǔ)在當(dāng)前最末端的常規(guī)快照中。
16、 根據(jù)權(quán)利要求9至13任一權(quán)項(xiàng)所述的裝置,其特征在于,該裝置還包 括刪除處理單元,用于在快照巻資源已滿時(shí),按照創(chuàng)建時(shí)間先后順序?qū)貪L 快照進(jìn)行溢出式刪除,或者,按照用戶指令對(duì)回滾快照進(jìn)行刪除。
17、 一種建立回滾快照的方法,所述回滾快照用于存儲(chǔ)在數(shù)據(jù)恢復(fù)過(guò)程中 數(shù)據(jù)巻中被替換掉的數(shù)據(jù),其特征在于,該方法包括在進(jìn)行數(shù)據(jù)恢復(fù)的過(guò)程中,將快照中的數(shù)據(jù)寫入相應(yīng)的數(shù)據(jù)巻資源塊前, 如果數(shù)據(jù)巻資源塊中將被替換的數(shù)據(jù)具有對(duì)應(yīng)的常規(guī)快照時(shí)刻,則創(chuàng)建一個(gè)回滾快照,并以被替換的數(shù)據(jù)對(duì)應(yīng)的常規(guī)快照時(shí)刻進(jìn)行標(biāo)識(shí),將當(dāng)前最末端的常 規(guī)快照中的數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊,并刪除當(dāng)前最末端的常規(guī)快照,直 到數(shù)據(jù)恢復(fù)過(guò)程停止,將當(dāng)前最末端的常規(guī)快照與創(chuàng)建的回滾快照相關(guān)聯(lián)。
18、 一種利用如權(quán)利要求17所釆用的方法建立的回滾快照恢復(fù)數(shù)據(jù)的 方法,其特4正在于,該方法包括在數(shù)據(jù)恢復(fù)過(guò)程中,當(dāng)所要恢復(fù)的時(shí)刻大于當(dāng)前最末端的常規(guī)快照所對(duì) 應(yīng)的時(shí)刻時(shí),將當(dāng)前最末端的常規(guī)快照中的數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊 后,刪除當(dāng)前最末端的常規(guī)快照;確定與當(dāng)前最末端的常規(guī)快照相關(guān)聯(lián)的回滾快照中各數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù) 巻資源塊;創(chuàng)建 一 個(gè)常規(guī)快照以該回滾快照所對(duì)應(yīng)時(shí)刻的上 一 時(shí)刻進(jìn)行標(biāo) 識(shí),將確定的數(shù)據(jù)巻資源塊中的數(shù)據(jù)存儲(chǔ)在創(chuàng)建的常規(guī)快照中,并將確定的 回滾快照中的各數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)巻資源塊中,刪除所述確定的回滾快 照。
全文摘要
本發(fā)明提供的采用快照恢復(fù)數(shù)據(jù)的方法和裝置,在將最末端的常規(guī)快照寫入對(duì)應(yīng)的數(shù)據(jù)卷資源塊后,會(huì)及時(shí)將使用過(guò)的常規(guī)快照刪除,并在后續(xù)數(shù)據(jù)恢復(fù)過(guò)程中,每利用常規(guī)快照進(jìn)行回滾操作,即將常規(guī)快照中的數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)卷資源塊后,及時(shí)刪除使用過(guò)的常規(guī)快照并相應(yīng)創(chuàng)建一個(gè)回滾快照用來(lái)存儲(chǔ)數(shù)據(jù)卷資源塊中替換掉的數(shù)據(jù),以保證回滾掉的狀態(tài)也能夠再次恢復(fù)。本發(fā)明在數(shù)據(jù)恢復(fù)過(guò)程中能夠占用較少的快照卷資源,更加節(jié)約快照卷空間。
文檔編號(hào)G06F11/14GK101419564SQ200810239360
公開日2009年4月29日 申請(qǐng)日期2008年12月11日 優(yōu)先權(quán)日2008年12月11日
發(fā)明者迪 周, 策 孫, 楊西平 申請(qǐng)人:杭州華三通信技術(shù)有限公司