国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種磁盤(pán)數(shù)據(jù)恢復(fù)方法及裝置的制作方法

      文檔序號(hào):6578671閱讀:261來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):一種磁盤(pán)數(shù)據(jù)恢復(fù)方法及裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及磁盤(pán)陣列技術(shù),具體地講,涉及一種磁盤(pán)數(shù)據(jù)恢復(fù)方法及裝置。:
      背景技術(shù)
      當(dāng)數(shù)據(jù)損壞后,例如發(fā)生了黑客病毒等邏輯上的損壞后,對(duì)傳統(tǒng)磁盤(pán)恢復(fù) 而言,磁盤(pán)數(shù)據(jù)的恢復(fù)方法一般包括兩種,(l)利用鏡像巻,將鏡像巻的數(shù)據(jù)往
      回拷貝;(2)使用快照數(shù)據(jù)進(jìn)行離線(xiàn)增量恢復(fù)。
      具體的恢復(fù)過(guò)程可包括如下步驟(1)在源巻數(shù)據(jù)損壞時(shí),首先將用戶(hù)業(yè) 務(wù)瞬間切換到某個(gè)時(shí)間點(diǎn)的鏡像巻或者快照巻,讓用戶(hù)業(yè)務(wù)立即可用,其中該 鏡像巻用作整盤(pán)拷貝,所述快照巻用作增量拷貝。在將用戶(hù)業(yè)務(wù)切換到鏡像巻 或快照巻之前,可先暫時(shí)停止業(yè)務(wù)系統(tǒng),停止業(yè)務(wù)系統(tǒng)可釋放高速緩存以避免 高速緩存影響數(shù)據(jù)的一致性,在切換完成后,立即重新啟動(dòng)業(yè)務(wù)系統(tǒng)。由于用 戶(hù)業(yè)務(wù)的切換過(guò)程是瞬間完成的,因此用戶(hù)業(yè)務(wù)的暫停也是瞬間的。(2)當(dāng)鎧 要的業(yè)務(wù)運(yùn)行完畢后,在系統(tǒng)不忙的時(shí)候,實(shí)踐中一般為晚上或者凌晨,將業(yè) 務(wù)停止,需要較長(zhǎng)的時(shí)間將鏡像巻或者快照巻上的數(shù)據(jù)全部拷回至生產(chǎn)數(shù)據(jù)巻, 生產(chǎn)數(shù)據(jù)巻可以理解為應(yīng)用程序使用的巻,或稱(chēng)源巻,該過(guò)程中業(yè)務(wù)停止運(yùn)行。 (3)在拷貝完成后將業(yè)務(wù)切換到源巻。
      上述的磁盤(pán)數(shù)據(jù)恢復(fù)方法是目前所謂的實(shí)現(xiàn)磁盤(pán)數(shù)據(jù)瞬間恢復(fù)的方法,其 都需要邏輯的或者物理的路徑切換,以保證用戶(hù)的業(yè)務(wù)立即可用。對(duì)于使用快 照或者鏡像而言,雖然用戶(hù)的某個(gè)時(shí)間點(diǎn)的數(shù)據(jù)立即可用,但是在之后,仍然 需要一個(gè)較長(zhǎng)的時(shí)間窗口停止掉用戶(hù)業(yè)務(wù),進(jìn)行鏡像的重新同步或者快照數(shù)據(jù) 的往回拷貝,因此傳統(tǒng)的技術(shù)并沒(méi)有真正的實(shí)現(xiàn)將業(yè)務(wù)停止的時(shí)間窗口縮減為 零。現(xiàn)在的所謂實(shí)現(xiàn)瞬間恢復(fù)的方法,只是把停機(jī)的時(shí)間移到了后面,數(shù)據(jù)并 沒(méi)有真正的瞬間恢復(fù)到生產(chǎn)巻上面,因此對(duì)于一些需要全天或全周連續(xù)運(yùn)行的系統(tǒng)而言,該方法是無(wú)法被接受的。

      發(fā)明內(nèi)容
      本發(fā)明實(shí)施例提供一種磁盤(pán)數(shù)據(jù)恢復(fù)方法及裝置,以實(shí)現(xiàn)磁盤(pán)數(shù)據(jù)的瞬間 恢復(fù)。
      為了實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供一種磁盤(pán)數(shù)據(jù)恢復(fù)方法,包括 根據(jù)數(shù)據(jù)塊變更標(biāo)識(shí)指示的數(shù)據(jù)塊的變更狀態(tài)確定磁盤(pán)中需要恢復(fù)的數(shù)據(jù)
      塊,所述數(shù)據(jù)塊的變更狀態(tài)為該數(shù)據(jù)塊被創(chuàng)建備份數(shù)據(jù)之后的變更狀態(tài);
      在所述需要恢復(fù)的數(shù)據(jù)塊未恢復(fù)時(shí),利用所述備份數(shù)據(jù)恢復(fù)所述需要恢復(fù) 的數(shù)據(jù)塊,并對(duì)恢復(fù)完成的數(shù)據(jù)塊設(shè)置恢復(fù)完成標(biāo)識(shí)。
      本發(fā)明實(shí)施例另提供一種磁盤(pán)數(shù)據(jù)恢復(fù)方法,包括 接收對(duì)數(shù)據(jù)塊的輸入輸出請(qǐng)求;
      當(dāng)所述數(shù)據(jù)塊為需要恢復(fù)的數(shù)據(jù)塊且該需要恢復(fù)的數(shù)據(jù)塊未恢復(fù)時(shí),利用
      備份數(shù)據(jù)恢復(fù)所述數(shù)據(jù)塊,并對(duì)完成恢復(fù)的數(shù)據(jù)塊設(shè)置恢復(fù)完成標(biāo)識(shí); 處理所述對(duì)數(shù)據(jù)塊的輸入輸出請(qǐng)求。 本發(fā)明實(shí)施例還提供一種磁盤(pán)陣列,包括
      確定單元,用于根據(jù)數(shù)據(jù)塊變更標(biāo)識(shí)指示的數(shù)據(jù)塊的變更狀態(tài)確定磁盤(pán)中 需要恢復(fù)的數(shù)據(jù)塊,所述數(shù)據(jù)塊的變更狀態(tài)為該數(shù)據(jù)塊被創(chuàng)建備份數(shù)據(jù)之后的
      變更狀態(tài);
      恢復(fù)單元,用于在所述需要恢復(fù)的數(shù)據(jù)塊尚未恢復(fù)時(shí),利用所述備份數(shù)據(jù) 恢復(fù)所述需要恢復(fù)的數(shù)據(jù)塊,并對(duì)恢復(fù)完成的數(shù)據(jù)塊設(shè)置恢復(fù)完成標(biāo)識(shí)。 本發(fā)明實(shí)施例還提供一種磁盤(pán)陣列,包括 接收單元,用于接收對(duì)數(shù)據(jù)塊的輸入輸出請(qǐng)求;
      恢復(fù)單元,用于當(dāng)所述數(shù)據(jù)塊為需要恢復(fù)的數(shù)據(jù)塊且該需要恢復(fù)的數(shù)據(jù)塊 尚未恢復(fù)時(shí),利用備份數(shù)據(jù)恢復(fù)該數(shù)據(jù)塊,并對(duì)完成恢復(fù)的數(shù)據(jù)塊設(shè)置恢復(fù)完 成標(biāo)識(shí);
      處理單元,用于處理所述對(duì)數(shù)據(jù)塊的輸入輸出請(qǐng)求。本發(fā)明實(shí)施例實(shí)現(xiàn)了磁盤(pán)數(shù)據(jù)的瞬間恢復(fù)而無(wú)需切換主機(jī)的物理及邏輯路 徑,也無(wú)需業(yè)務(wù)停止時(shí)間窗,從而使源巻數(shù)據(jù)瞬時(shí)可用。


      為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施 例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅 僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞 動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      圖l為本發(fā)明實(shí)施例l的磁盤(pán)數(shù)據(jù)恢復(fù)流程圖2為本發(fā)明實(shí)施例中的數(shù)據(jù)變更位圖結(jié)構(gòu)與數(shù)據(jù)塊的關(guān)系示意圖3為本發(fā)明實(shí)施例中的恢復(fù)回滾位圖結(jié)構(gòu)與數(shù)據(jù)塊的關(guān)系示意圖4為本發(fā)明實(shí)施例的數(shù)據(jù)恢復(fù)流程的實(shí)現(xiàn)示意圖5為本發(fā)明實(shí)施例2的磁盤(pán)數(shù)據(jù)恢復(fù)流程圖6為本發(fā)明實(shí)施例3中后臺(tái)磁盤(pán)數(shù)據(jù)恢復(fù)的流程圖7為本發(fā)明實(shí)施例3中后臺(tái)磁盤(pán)數(shù)據(jù)恢復(fù)的應(yīng)用程序運(yùn)行流程圖8為本發(fā)明實(shí)施例3中主動(dòng)數(shù)據(jù)塊恢復(fù)的流程圖9為本發(fā)明實(shí)施例3中主動(dòng)數(shù)據(jù)塊恢復(fù)的應(yīng)用程序運(yùn)行流程圖10為本發(fā)明實(shí)施例4中磁盤(pán)陣列的結(jié)構(gòu)示意圖11為本發(fā)明實(shí)施例5中一磁盤(pán)陣列的結(jié)構(gòu)示意圖12為本發(fā)明實(shí)施例5中另一磁盤(pán)陣列的結(jié)構(gòu)示意圖。
      具體實(shí)施例方式
      下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清 楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是 全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造 性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
      本發(fā)明如下實(shí)施例僅以基于快照或鏡像實(shí)現(xiàn)磁盤(pán)數(shù)據(jù)的恢復(fù)為例對(duì)本發(fā)明 進(jìn)行說(shuō)明,但本發(fā)明并不限于此,同樣還可以基于其他的數(shù)據(jù)備份方式實(shí)現(xiàn)磁盤(pán)數(shù)據(jù)的恢復(fù)。本發(fā)明實(shí)施例中,所述磁盤(pán)數(shù)據(jù)指的是源巻,即生產(chǎn)數(shù)據(jù)巻上 的數(shù)據(jù),生產(chǎn)數(shù)據(jù)巻可以理解為應(yīng)用程序使用的巻。
      實(shí)施例l
      本發(fā)明實(shí)施例提供一種磁盤(pán)數(shù)據(jù)恢復(fù)方法。本方法是通過(guò)后臺(tái)線(xiàn)程完成對(duì) 磁盤(pán)數(shù)據(jù)的恢復(fù)。如圖1所示,該方法包括如下步驟
      步驟11Q,根據(jù)數(shù)據(jù)塊變更標(biāo)識(shí)指示的數(shù)據(jù)塊的變更狀態(tài)確定需要恢復(fù)的數(shù)
      據(jù)塊(CHUNK),該數(shù)據(jù)塊的變更狀態(tài)為該數(shù)據(jù)塊被創(chuàng)建備份數(shù)據(jù)之后的變更狀 態(tài)。
      所述備份數(shù)據(jù)可為某一時(shí)間點(diǎn)的快照數(shù)據(jù)或鏡像數(shù)據(jù)。例如,在不同的時(shí) 間點(diǎn)5: OOam、 8: OOam、 1: OOpm、 3: 30pm分別對(duì)生產(chǎn)數(shù)據(jù)巻(源巻)創(chuàng)建 了快照,如果在3: 35pm時(shí)生產(chǎn)數(shù)據(jù)巻上的數(shù)據(jù)感染了病毒,則可選擇將生產(chǎn)數(shù) 據(jù)巻恢復(fù)到3: 30pm創(chuàng)建的快照。此時(shí)3: 30pm的快照數(shù)據(jù)便是用于恢復(fù)數(shù)據(jù)塊 的備份數(shù)據(jù)。當(dāng)然,也可以選擇3: 35pm之前的其他快照時(shí)間點(diǎn)的快照數(shù)據(jù),如 5: OOam、 8: OOam或l: OOpm的快照數(shù)據(jù)作為用于恢復(fù)數(shù)據(jù)塊的備份數(shù)據(jù)。
      在備份數(shù)據(jù)為快照數(shù)據(jù)或鏡像數(shù)據(jù)時(shí),所述數(shù)據(jù)變更標(biāo)識(shí)用于指示快照或 鏡像時(shí)間點(diǎn)后源巻中數(shù)據(jù)塊的變更狀態(tài),根據(jù)該標(biāo)識(shí)便可確定在預(yù)恢復(fù)到的快 照或鏡像時(shí)間點(diǎn)后發(fā)生了變更的數(shù)據(jù)塊,也即源巻中需要恢復(fù)的數(shù)據(jù)塊。
      本發(fā)明實(shí)施例中,所述數(shù)據(jù)變更標(biāo)識(shí)的設(shè)置可以有多種形式,例如可以設(shè) 置在用于記錄磁盤(pán)數(shù)據(jù)塊的變更狀態(tài)的數(shù)據(jù)變更位圖中,即以數(shù)據(jù)變更位圖的 位來(lái)指示創(chuàng)建備份數(shù)據(jù)之后磁盤(pán)數(shù)據(jù)塊的變更狀態(tài)。
      位圖是一種邏輯資源,位圖由多個(gè)位(Bit)構(gòu)成,每個(gè)位取值1或0,位圖 中每個(gè)位對(duì)應(yīng)到一個(gè)同位相關(guān)聯(lián)的邏輯對(duì)象,如數(shù)據(jù)塊。數(shù)據(jù)變更位圖就是通 過(guò)位的值標(biāo)識(shí)數(shù)據(jù)塊是否進(jìn)行了修改,如位取值為l時(shí)標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)塊有修 改,位取值為O時(shí)標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)塊沒(méi)有修改。
      在以數(shù)據(jù)變更位圖的位指示數(shù)據(jù)塊的變更時(shí),所述數(shù)據(jù)變更位圖可在創(chuàng)建快照或鏡像時(shí)建立,用于記錄快照或鏡像時(shí)間點(diǎn)后磁盤(pán)數(shù)據(jù)塊變更的信息,位 圖中的每一個(gè)位對(duì)應(yīng)每個(gè)磁盤(pán)數(shù)據(jù)塊,例如在創(chuàng)建快照或鏡像后生產(chǎn)數(shù)據(jù)巻中 如果發(fā)生數(shù)據(jù)塊的變更,則該數(shù)據(jù)塊對(duì)應(yīng)的位的值可設(shè)置為l,在變更之前數(shù)據(jù)
      變更位圖中位的初始值都為o。
      該數(shù)據(jù)變更位圖的結(jié)構(gòu)可以圖2為例進(jìn)行說(shuō)明,圖2中,CHUNK 1 CH麗K 5 為源盤(pán)中的數(shù)據(jù)塊,每一數(shù)據(jù)塊包括一個(gè)或多個(gè)扇區(qū),具體包括的扇區(qū)的個(gè)數(shù) 由預(yù)設(shè)的數(shù)據(jù)塊的粒度大小確定,圖2中CH麗K2、 CHUNK4、 CHUNK5對(duì)應(yīng)的數(shù)據(jù)變 更位圖中相應(yīng)位的值為l,表示在快照時(shí)間點(diǎn)之后這些數(shù)據(jù)都已經(jīng)被改變過(guò),這 些改變的數(shù)據(jù)在改變前被執(zhí)行了COW (寫(xiě)時(shí)拷貝)操作,即原先的舊數(shù)據(jù)已經(jīng)被 拷到了另外一個(gè)地方,如拷到了快照巻,如果要做恢復(fù)的話(huà),需要把所有數(shù)據(jù) 變更位圖中位值為l的數(shù)據(jù)塊的數(shù)據(jù)從快照巻中拷貝回來(lái)。對(duì)于鏡像而言,鏡像 是快照的一種特殊形態(tài),即每個(gè)數(shù)據(jù)塊都被變更,因此每個(gè)數(shù)據(jù)變更位圖的位 值都是l,即需要將所有數(shù)據(jù)塊的數(shù)據(jù)從鏡像巻中拷貝回來(lái)。
      這樣根據(jù)數(shù)據(jù)變更位圖中的位便可確定在預(yù)恢復(fù)到的快照或鏡像時(shí)間點(diǎn)后 發(fā)生了變更的數(shù)據(jù)塊,也即需要恢復(fù)的數(shù)據(jù)塊。
      步驟120,在所述需要恢復(fù)的數(shù)據(jù)塊尚未恢復(fù)時(shí),利用所述備份數(shù)據(jù)恢復(fù)所 述需要恢復(fù)的數(shù)據(jù)塊,并對(duì)恢復(fù)完成的數(shù)據(jù)塊設(shè)置恢復(fù)完成標(biāo)識(shí)。
      本步驟中,利用所述備份數(shù)據(jù)恢復(fù)所述需要恢復(fù)的數(shù)據(jù)塊是指將需要恢復(fù) 的數(shù)據(jù)從快照巻或鏡像巻回拷至生產(chǎn)數(shù)據(jù)巻的相應(yīng)需要恢復(fù)的數(shù)據(jù)塊中。
      對(duì)需要恢復(fù)的數(shù)據(jù)塊進(jìn)行恢復(fù)完成后,對(duì)該恢復(fù)完成的數(shù)據(jù)塊可設(shè)置恢復(fù) 完成標(biāo)識(shí),避免對(duì)已恢復(fù)完成的數(shù)據(jù)塊重復(fù)進(jìn)行恢復(fù)。本發(fā)明實(shí)施例中,所述 恢復(fù)完成標(biāo)識(shí)可設(shè)置在用于記錄需要恢復(fù)的數(shù)據(jù)塊的恢復(fù)狀態(tài)的回滾位圖中, 即以恢復(fù)回滾位圖的位來(lái)指示數(shù)據(jù)塊是否完成恢復(fù)。此時(shí),恢復(fù)回滾位圖的格 式可如圖3所示,恢復(fù)回滾位圖中的每一個(gè)位對(duì)應(yīng)一個(gè)磁盤(pán)數(shù)據(jù)塊,如果某一數(shù) 據(jù)塊對(duì)應(yīng)的恢復(fù)回滾位圖中的位值為O,表示該數(shù)據(jù)塊尚未恢復(fù),如果該數(shù)據(jù)塊 對(duì)應(yīng)的恢復(fù)回滾位圖值的位為l,則表示己經(jīng)恢復(fù)完成,無(wú)需再進(jìn)行恢復(fù)。圖3中,CHUNK2和CHUNK4對(duì)應(yīng)的位為1,表示己經(jīng)完成恢復(fù);CHUNK5對(duì)應(yīng)的位為0, 表示尚未完成恢復(fù),需要執(zhí)行恢復(fù)操作。
      本步驟中對(duì)數(shù)據(jù)塊的恢復(fù)是瞬間完成的。如上步驟IIO、 120都可以通過(guò)后 臺(tái)的恢復(fù)任務(wù)線(xiàn)程來(lái)運(yùn)行完成。
      本實(shí)施例中,有可能會(huì)同時(shí)接收到來(lái)自主機(jī)的多個(gè)IO請(qǐng)求,該多個(gè)IO請(qǐng)求 有可能會(huì)涉及同一個(gè)數(shù)據(jù)塊。由于針對(duì)主機(jī)的每一個(gè)IO請(qǐng)求都會(huì)對(duì)相應(yīng)的數(shù)據(jù) 塊進(jìn)行恢復(fù)的操作,而對(duì)這多個(gè)IO請(qǐng)求的數(shù)據(jù)塊恢復(fù)操作是并行的,這樣對(duì)同 一數(shù)據(jù)塊的操作就會(huì)產(chǎn)生沖突和不一致,對(duì)此本發(fā)明實(shí)施例中優(yōu)選地對(duì)恢復(fù)回 滾位圖設(shè)置鎖保護(hù)來(lái)保證互斥,避免沖突和不一致。比如,根據(jù)主機(jī)的對(duì)某數(shù) 據(jù)塊的第一個(gè)IO請(qǐng)求對(duì)該數(shù)據(jù)塊進(jìn)行了恢復(fù),并正準(zhǔn)備將恢復(fù)回滾位圖中該數(shù) 據(jù)塊對(duì)應(yīng)的BIT由0修改為1,如果與此同時(shí),響應(yīng)主機(jī)對(duì)該數(shù)據(jù)塊的第二個(gè)IO請(qǐng) 求,也剛好讀取到該數(shù)據(jù)塊對(duì)應(yīng)的該BIT,并認(rèn)為這個(gè)BIT是O,但是實(shí)際上該BI T即將被置l,這樣就有可能造成錯(cuò)誤的數(shù)據(jù)塊恢復(fù)操作。對(duì)此需要對(duì)恢復(fù)回滾 位圖設(shè)置鎖保護(hù),即對(duì)恢復(fù)回滾位圖加鎖, 一旦對(duì)恢復(fù)回滾位圖加鎖,那么訪(fǎng) 問(wèn)者對(duì)該恢復(fù)回滾位圖可以認(rèn)為是獨(dú)占的,可以進(jìn)行安全的操作,這樣就避免 了數(shù)據(jù)塊恢復(fù)操作的不一致。鎖一般有自旋鎖、信號(hào)量鎖、RCU (讀-拷貝-更新) 鎖等。
      通過(guò)本發(fā)明如上實(shí)施例,在接收到對(duì)源數(shù)據(jù)塊的訪(fǎng)問(wèn)請(qǐng)求后,如圖4所示, 無(wú)需切換主機(jī)的邏輯及物理路徑,也無(wú)需專(zhuān)門(mén)的業(yè)務(wù)停止時(shí)間窗,使原始生產(chǎn) 巻數(shù)據(jù)瞬間可用,實(shí)現(xiàn)了零宕機(jī)時(shí)間。
      本發(fā)明如上實(shí)施例不僅適用于磁盤(pán)數(shù)據(jù)損壞時(shí)的瞬間恢復(fù),同樣適用于磁 盤(pán)陣列的后臺(tái)初始化過(guò)程。
      實(shí)施例2
      本發(fā)明實(shí)施例還提供一種磁盤(pán)數(shù)據(jù)恢復(fù)方法。本方法是通過(guò)磁盤(pán)在接收到 來(lái)自主機(jī)的輸入輸出請(qǐng)求后的主動(dòng)恢復(fù)過(guò)程來(lái)實(shí)現(xiàn)磁盤(pán)數(shù)據(jù)的恢復(fù)。如圖5所
      10示,該方法包括如下步驟
      步驟210,接收來(lái)自主機(jī)的對(duì)數(shù)據(jù)塊的輸入輸出(10)請(qǐng)求。 該輸入輸出請(qǐng)求包括寫(xiě)請(qǐng)求和讀請(qǐng)求。
      步驟220,在確定所述數(shù)據(jù)塊為需要恢復(fù)的數(shù)據(jù)塊且確定該需要恢復(fù)的數(shù)據(jù)
      塊尚未恢復(fù)時(shí),利用備份數(shù)據(jù)對(duì)該數(shù)據(jù)塊進(jìn)行恢復(fù),并對(duì)完成恢復(fù)的數(shù)據(jù)塊對(duì) 應(yīng)設(shè)置恢復(fù)完成標(biāo)識(shí)。
      所述利用備份數(shù)據(jù)對(duì)該數(shù)據(jù)塊進(jìn)行恢復(fù)是指將需要恢復(fù)的數(shù)據(jù)從快照巻或 鏡像巻回拷至生產(chǎn)數(shù)據(jù)巻的該數(shù)據(jù)塊中。
      其中,確定所述數(shù)據(jù)塊為需要恢復(fù)的數(shù)據(jù)塊可包括根據(jù)數(shù)據(jù)塊變更標(biāo)識(shí) 指示的數(shù)據(jù)塊的變更狀態(tài)確定所述數(shù)據(jù)塊為需要恢復(fù)的數(shù)據(jù)塊,該數(shù)據(jù)塊的變 更狀態(tài)位該數(shù)據(jù)塊被創(chuàng)建所述備份數(shù)據(jù)之后的變更狀態(tài)。
      本發(fā)明實(shí)施例中,所述數(shù)據(jù)變更標(biāo)識(shí)的設(shè)置可以有多種形式,例如可以設(shè) 置在用于記錄磁盤(pán)數(shù)據(jù)塊的變更狀態(tài)的數(shù)據(jù)變更位圖中,即以數(shù)據(jù)變更位圖的 位來(lái)指示創(chuàng)建備份數(shù)據(jù)之后磁盤(pán)數(shù)據(jù)塊的變更狀態(tài)。
      所述備份數(shù)據(jù)可包括快照數(shù)據(jù)或鏡像數(shù)據(jù),但并不限于此,例如所述備 份數(shù)據(jù)還可以是直接進(jìn)行巻拷貝獲得的備份數(shù)據(jù)。
      所述確定該需要恢復(fù)的數(shù)據(jù)塊尚未恢復(fù)可包括如果該需要恢復(fù)的數(shù)據(jù)塊 沒(méi)有對(duì)應(yīng)的恢復(fù)完成標(biāo)識(shí),則確定該需要恢復(fù)的數(shù)據(jù)塊尚未恢復(fù)。對(duì)需要恢復(fù) 的數(shù)據(jù)塊進(jìn)行恢復(fù)完成后,要對(duì)該恢復(fù)完成的數(shù)據(jù)塊設(shè)置恢復(fù)完成標(biāo)識(shí),這樣 就不會(huì)對(duì)恢復(fù)完成的數(shù)據(jù)塊進(jìn)行重復(fù)恢復(fù)。
      所述恢復(fù)完成標(biāo)識(shí)可設(shè)置在用于記錄需要恢復(fù)的數(shù)據(jù)塊的恢復(fù)狀態(tài)的回滾 位圖中,即以恢復(fù)回滾位圖的位來(lái)指示數(shù)據(jù)塊是否完成恢復(fù)。
      本步驟中對(duì)數(shù)據(jù)塊的恢復(fù)是瞬間完成的。
      步驟230,處理所述主機(jī)的對(duì)數(shù)據(jù)塊的輸入輸出請(qǐng)求。
      將需要恢復(fù)的數(shù)據(jù)從快照巻或鏡像巻回拷至生產(chǎn)數(shù)據(jù)巻后,就可以處理來(lái) 自主機(jī)的輸入輸出請(qǐng)求,并在處理完成后向主機(jī)回應(yīng)10完成消息。本實(shí)施例在接收來(lái)來(lái)自主機(jī)的訪(fǎng)問(wèn)請(qǐng)求后,無(wú)需切換主機(jī)的邏輯路徑,也
      無(wú)需專(zhuān)門(mén)的業(yè)務(wù)停止時(shí)間窗,并且由于步驟220的數(shù)據(jù)塊的恢復(fù)是瞬間完成的, 原始生產(chǎn)巻數(shù)據(jù)瞬間可用,實(shí)現(xiàn)了零宕機(jī)時(shí)間。
      實(shí)施例3
      本實(shí)施例提供一種磁盤(pán)數(shù)據(jù)恢復(fù)方法,本實(shí)施例中,通過(guò)將后臺(tái)線(xiàn)程運(yùn)行 的磁盤(pán)恢復(fù)和根據(jù)主機(jī)的訪(fǎng)問(wèn)請(qǐng)求進(jìn)行的立即實(shí)時(shí)恢復(fù)相結(jié)合,來(lái)實(shí)現(xiàn)數(shù)據(jù)的
      瞬間恢復(fù)。其中,后臺(tái)運(yùn)行的磁盤(pán)數(shù)據(jù)恢復(fù)步驟如圖6所示,包括
      步驟310,根據(jù)與數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)變更位圖確定需要恢復(fù)的數(shù)據(jù)塊。 所述數(shù)據(jù)變更位圖用于標(biāo)識(shí)創(chuàng)建備份數(shù)據(jù)之后每一數(shù)據(jù)塊的是否變更的狀態(tài)。
      所述數(shù)據(jù)變更位圖可在創(chuàng)建快照或鏡像時(shí)建立,用于記錄快照或鏡像時(shí)間 點(diǎn)后磁盤(pán)數(shù)據(jù)塊變更的信息,位圖中的每一個(gè)位對(duì)應(yīng)每個(gè)磁盤(pán)數(shù)據(jù)塊,例如在 創(chuàng)建快照或鏡像后生產(chǎn)數(shù)據(jù)巻中如果發(fā)生數(shù)據(jù)塊的變更,則該數(shù)據(jù)塊對(duì)應(yīng)的扭 的值可設(shè)置為l,在變更之前數(shù)據(jù)變更位圖中位的初始值都為O。
      這樣根據(jù)數(shù)據(jù)變更位圖中的位便可確定在預(yù)恢復(fù)到的快照或鏡像時(shí)間點(diǎn)后 發(fā)生了變更的數(shù)據(jù)塊,也即需要恢復(fù)的數(shù)據(jù)塊。
      步驟320,在利用恢復(fù)回滾位圖確定所述需要恢復(fù)的數(shù)據(jù)塊尚未恢復(fù)時(shí),通 過(guò)后臺(tái)線(xiàn)程將所述需要恢復(fù)的數(shù)據(jù)塊利用所述備份數(shù)據(jù)進(jìn)行恢復(fù),并更新恢復(fù) 回滾位圖的相應(yīng)的位,以指示數(shù)據(jù)塊恢復(fù)完成狀態(tài)。
      在執(zhí)行本步驟之前,需要事先建立磁盤(pán)數(shù)據(jù)塊的恢復(fù)回滾的位圖,恢復(fù)回 滾的位圖中的每一位對(duì)應(yīng)一個(gè)磁盤(pán)數(shù)據(jù)塊。
      本步驟中,利用恢復(fù)回滾位圖確定所述需要恢復(fù)的數(shù)據(jù)塊尚未恢復(fù)可包括 如果所述需要恢復(fù)的數(shù)據(jù)塊對(duì)應(yīng)的恢復(fù)回滾位圖中的位值為O,表示該數(shù)據(jù)塊尚 未恢復(fù)。反之,如果該數(shù)據(jù)塊對(duì)應(yīng)的恢復(fù)回滾位圖值的位為l,則表示已經(jīng)恢復(fù) 完成,無(wú)需再進(jìn)行恢復(fù)。本發(fā)明實(shí)施例中,通過(guò)后臺(tái)線(xiàn)程運(yùn)行的磁盤(pán)數(shù)據(jù)恢復(fù)任務(wù)可以通過(guò)應(yīng)用禾呈
      序來(lái)執(zhí)行,該應(yīng)用程序會(huì)從第一個(gè)CHUNK到最后一個(gè)CHUNK掃描,通過(guò)檢查對(duì)應(yīng) 的delta-bitmap中的位是否為l,如果為l就主動(dòng)將這些數(shù)據(jù)塊對(duì)應(yīng)的快照巻或 鏡像巻中的數(shù)據(jù)拷貝回來(lái),否則就略過(guò)這個(gè)數(shù)據(jù)塊。后臺(tái)任務(wù)完成了某數(shù)據(jù)塊 的拷貝后,將revert-bitmap對(duì)應(yīng)的位置l。圖7為本發(fā)明示例性的應(yīng)用程序運(yùn)行 流程,該流程包括
      S301,后臺(tái)任務(wù)啟動(dòng),開(kāi)始按照磁盤(pán)數(shù)據(jù)塊的順序依次掃描源巻中的磁盤(pán) 數(shù)據(jù)塊。
      S302,確認(rèn)掃描的磁盤(pán)數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)變更位圖中相應(yīng)位的值是否為O。 如果當(dāng)前掃描的數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)變更位圖的位為O,則表示該數(shù)據(jù)塊在快
      照或鏡像時(shí)間點(diǎn)之后沒(méi)有修改,于是經(jīng)S306后返回S301,繼續(xù)掃描下一個(gè)數(shù)搪塊。
      如果當(dāng)前掃描的數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)變更位圖的位為l,則表示該數(shù)據(jù)塊在快 照或鏡像時(shí)間點(diǎn)之后有修改,于是進(jìn)入S303。
      S303,確認(rèn)該數(shù)據(jù)塊對(duì)應(yīng)的恢復(fù)回滾位圖的位是否為l。 如果為l,則確認(rèn)該數(shù)據(jù)塊已完成恢復(fù),于是經(jīng)S306后返回S301,繼續(xù)掃插 下一個(gè)數(shù)據(jù)塊。
      如果不為l,則確認(rèn)該數(shù)據(jù)塊尚未恢復(fù),于是進(jìn)入S304。 S304,利用快照巻或鏡像巻對(duì)該數(shù)據(jù)塊進(jìn)行恢復(fù),即將快照巻或鏡像巻中 相應(yīng)的數(shù)據(jù)拷貝回該數(shù)據(jù)塊。
      S305,將該完成恢復(fù)的數(shù)據(jù)塊對(duì)應(yīng)的恢復(fù)回滾位圖中的位設(shè)置為1 。 S306,確認(rèn)當(dāng)前數(shù)據(jù)塊是否為最后一個(gè)數(shù)據(jù)塊,如果是,恢復(fù)完成。 本發(fā)明實(shí)施例中,在后臺(tái)運(yùn)行磁盤(pán)數(shù)據(jù)恢復(fù)流程的同時(shí),在接收到來(lái)自主 機(jī)的對(duì)數(shù)據(jù)塊的IO請(qǐng)求時(shí),由于主機(jī)的IO請(qǐng)求可能發(fā)生在還沒(méi)有被后臺(tái)任務(wù)掃 描到的數(shù)據(jù)塊,所以這個(gè)時(shí)候磁盤(pán)陣列需要主動(dòng)地優(yōu)先對(duì)被請(qǐng)求的數(shù)據(jù)塊進(jìn)行 復(fù)操作,以更快地處理主機(jī)對(duì)該數(shù)據(jù)塊的IO請(qǐng)求。本實(shí)施例中,磁盤(pán)陣列^接收到I0請(qǐng)求時(shí)對(duì)應(yīng)的數(shù)據(jù)塊主動(dòng)恢復(fù)流程如圖8所示,包括如下步驟 步驟330,接收來(lái)自主機(jī)的對(duì)數(shù)據(jù)塊的IO請(qǐng)求;
      步驟340,在根據(jù)數(shù)據(jù)變更位圖確定所述數(shù)據(jù)塊為需要恢復(fù)的數(shù)據(jù)塊且根據(jù)
      恢復(fù)回滾位圖確定該需要恢復(fù)的數(shù)據(jù)塊尚未恢復(fù)時(shí),利用備份數(shù)據(jù)對(duì)該數(shù)據(jù)塊 進(jìn)行恢復(fù),并更新恢復(fù)回滾位圖的相應(yīng)的位,以指示數(shù)據(jù)塊恢復(fù)完成狀態(tài)。
      步驟350,所述數(shù)據(jù)塊恢復(fù)后,處理主機(jī)對(duì)該數(shù)據(jù)塊的輸入輸出請(qǐng)求。 如上步驟330 350可以通過(guò)應(yīng)用程序來(lái)執(zhí)行,該應(yīng)用程序會(huì)在接收到主機(jī) 發(fā)送來(lái)的對(duì)某數(shù)據(jù)塊的IO請(qǐng)求時(shí),先檢查該數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)變更位圖的相應(yīng) 位是否為l,如果為l表示需要執(zhí)行主動(dòng)的恢復(fù)拷貝,接著檢查恢復(fù)回滾位圖中 的相應(yīng)位是否為l,如果為l表示后臺(tái)任務(wù)已經(jīng)掃描過(guò)了,不需要主動(dòng)恢復(fù)了, 這個(gè)時(shí)候可以直接處理來(lái)自主機(jī)的IO請(qǐng)求,否則需要主動(dòng)執(zhí)行數(shù)據(jù)塊的恢復(fù)拷 貝,拷貝完成后再將revert-bitmap對(duì)應(yīng)的BIT置l,最后再下發(fā)主機(jī)的IO請(qǐng)求至ij 對(duì)應(yīng)的數(shù)據(jù)塊,來(lái)執(zhí)行主機(jī)的IO請(qǐng)求。圖9為主動(dòng)執(zhí)行數(shù)據(jù)塊恢復(fù)的應(yīng)用程序運(yùn) 行流程,該流程包括
      S401,接收來(lái)自主機(jī)的對(duì)某一數(shù)據(jù)塊的IO請(qǐng)求。 S402,檢査該數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)變更位圖的相應(yīng)位是否為l。 如果是l,表示該數(shù)據(jù)塊自快照創(chuàng)建以來(lái)已經(jīng)發(fā)生改變,于是進(jìn)入S403。如 果是O,表示該數(shù)據(jù)塊自快照創(chuàng)建以來(lái)沒(méi)有發(fā)生改變,進(jìn)入S406。
      S403,檢査該數(shù)據(jù)塊對(duì)應(yīng)的恢復(fù)回滾位圖是否為l,如果為l,表示后臺(tái)任 務(wù)已經(jīng)掃描過(guò)了,進(jìn)入S406。如果不為l,表示該數(shù)據(jù)塊尚未恢復(fù),進(jìn)入S404。 S404,利用快照巻或鏡像巻對(duì)該數(shù)據(jù)塊進(jìn)行主動(dòng)恢復(fù),即將快照巻或鏡像 巻中相應(yīng)的數(shù)據(jù)拷貝回該數(shù)據(jù)塊。
      S405,將該完成恢復(fù)的數(shù)據(jù)塊對(duì)應(yīng)的恢復(fù)回滾位圖中的位設(shè)置為l,以避免 后臺(tái)任務(wù)重復(fù)拷貝導(dǎo)致數(shù)據(jù)不一致。
      S406,執(zhí)行主機(jī)IO請(qǐng)求。執(zhí)行該IO請(qǐng)求所訪(fǎng)問(wèn)的數(shù)據(jù)塊即為后臺(tái)恢復(fù)或主 動(dòng)恢復(fù)后的數(shù)據(jù)塊,該恢復(fù)后的數(shù)據(jù)塊的數(shù)據(jù)立即可用。
      14本實(shí)施例中,由于恢復(fù)的操作涉及兩種情況(1)主機(jī)的10請(qǐng)求到達(dá)后所
      涉及的數(shù)據(jù)塊的恢復(fù);以及(2)后臺(tái)線(xiàn)程恢復(fù)。由于(1)與(2)是并行工作, 對(duì)同一數(shù)據(jù)塊的操作有可能會(huì)產(chǎn)生沖突,所以本實(shí)施例優(yōu)選地對(duì)恢復(fù)回滾位圖 設(shè)置鎖保護(hù)來(lái)保證互斥,避免沖突和不一致。比如,根據(jù)主機(jī)的對(duì)某數(shù)據(jù)塊的I O請(qǐng)求對(duì)該數(shù)據(jù)塊進(jìn)行了恢復(fù),并正準(zhǔn)備將恢復(fù)回滾位圖中該數(shù)據(jù)塊對(duì)應(yīng)的BIT 由0修改為1,如果與此同時(shí),后臺(tái)線(xiàn)程也正好讀取到該數(shù)據(jù)塊對(duì)應(yīng)的該BIT,并 認(rèn)為這個(gè)BIT是O,但是實(shí)際上該BIT即將被置1,這樣就有可能造成錯(cuò)誤的數(shù)據(jù)土A 恢復(fù)操作。對(duì)此需要對(duì)恢復(fù)回滾位圖設(shè)置鎖保護(hù),即對(duì)恢復(fù)回滾位圖加鎖,J 旦對(duì)恢復(fù)回滾位圖加鎖,那么訪(fǎng)問(wèn)者對(duì)該恢復(fù)回滾位圖可以認(rèn)為是獨(dú)占的,可 以進(jìn)行安全的操作,這樣就避免了數(shù)據(jù)塊恢復(fù)操作的不一致。鎖一般有自旋鎖、 信號(hào)量鎖、RCU鎖等,由于對(duì)數(shù)據(jù)加鎖屬于的技術(shù)為現(xiàn)有技術(shù),在此并不詳述。
      通過(guò)本發(fā)明實(shí)施例,在接收到主機(jī)下發(fā)的實(shí)時(shí)10請(qǐng)求時(shí),能夠優(yōu)先恢復(fù)這 些10請(qǐng)求所涉及的數(shù)據(jù)塊,以保證業(yè)務(wù)不受影響,同時(shí)通過(guò)后臺(tái)的線(xiàn)程還會(huì)在 后臺(tái)遍歷并恢復(fù)所有尚未恢復(fù)的數(shù)據(jù)塊。
      本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟可 以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ) 介質(zhì)中,比如R0M/RAM、磁碟、光盤(pán)等。
      實(shí)施例4
      本實(shí)施例提供一種磁盤(pán)陣列,如圖10所示,該磁盤(pán)陣列包括
      確定單元51Q,用于根據(jù)數(shù)據(jù)塊變更標(biāo)識(shí)確定需要恢復(fù)的數(shù)據(jù)塊,所述數(shù)據(jù) 變更標(biāo)識(shí)用于指示創(chuàng)建備份數(shù)據(jù)之后磁盤(pán)數(shù)據(jù)塊的變更狀態(tài);
      恢復(fù)單元520,用于在所述需要恢復(fù)的數(shù)據(jù)塊尚未恢復(fù)時(shí),通過(guò)后臺(tái)線(xiàn)程蔣 所述需要恢復(fù)的數(shù)據(jù)塊利用所述備份數(shù)據(jù)進(jìn)行恢復(fù),并對(duì)恢復(fù)完成的數(shù)據(jù)塊對(duì) 應(yīng)設(shè)置恢復(fù)完成標(biāo)識(shí)。
      在實(shí)際操作中,本發(fā)明實(shí)施例還可包括第一記錄單元,用于記錄數(shù)據(jù)變更位圖,該數(shù)據(jù)變更位圖中設(shè)置數(shù)據(jù)塊變 更標(biāo)識(shí)。
      第二記錄單元,用于記錄回滾位圖,該回滾位圖中設(shè)置數(shù)據(jù)塊的恢復(fù)完成 標(biāo)識(shí)。
      本實(shí)施例將磁盤(pán)瞬間恢復(fù)功能集成進(jìn)磁盤(pán)陣列里面,這樣當(dāng)用戶(hù)的數(shù)據(jù)損 壞的時(shí)候,利用磁盤(pán)陣列的本身的快照或鏡像功能就可以在后臺(tái)實(shí)現(xiàn)數(shù)據(jù)的瞬 間恢復(fù)。
      實(shí)施例5
      本實(shí)施例提供一種磁盤(pán)陣列,如圖11所示,該磁盤(pán)陣列包括-接收單元610,用于接收來(lái)自主機(jī)的對(duì)數(shù)據(jù)塊的輸入輸出請(qǐng)求;
      恢復(fù)單元62G,用于在確定所述數(shù)據(jù)塊為需要恢復(fù)的數(shù)據(jù)塊且確定該需要恢
      復(fù)的數(shù)據(jù)塊尚未恢復(fù)時(shí),利用備份數(shù)據(jù)對(duì)該數(shù)據(jù)塊進(jìn)行恢復(fù),并對(duì)完成恢復(fù)的
      數(shù)據(jù)塊對(duì)應(yīng)設(shè)置恢復(fù)完成標(biāo)識(shí);
      處理單元630,用于處理所述主機(jī)的對(duì)數(shù)據(jù)塊的輸入輸出請(qǐng)求。 本實(shí)施例將磁盤(pán)瞬間恢復(fù)功能集成進(jìn)磁盤(pán)陣列里面,這樣當(dāng)用戶(hù)的數(shù)據(jù)損
      壞的時(shí)候,利用磁盤(pán)陣列的本身的快照或鏡像功能就可以主動(dòng)實(shí)現(xiàn)數(shù)據(jù)的瞬間恢復(fù)。
      在本發(fā)明另一實(shí)施例中,如圖12所示,所述磁盤(pán)陣列還包括 確定單元640,用于通過(guò)后臺(tái)線(xiàn)程根據(jù)數(shù)據(jù)塊變更標(biāo)識(shí)確定磁盤(pán)中需要恢復(fù)
      的數(shù)據(jù)塊,所述數(shù)據(jù)變更標(biāo)識(shí)用于指示創(chuàng)建備份數(shù)據(jù)之后磁盤(pán)數(shù)據(jù)塊的變更狀
      態(tài);
      所述恢復(fù)單元620還用于在所述確定單元640確定的需要恢復(fù)的數(shù)據(jù)塊尚未 恢復(fù)時(shí),通過(guò)后臺(tái)線(xiàn)程將所述需要恢復(fù)的數(shù)據(jù)塊利用所述備份數(shù)據(jù)進(jìn)行恢復(fù), 并對(duì)恢復(fù)完成的數(shù)據(jù)塊對(duì)應(yīng)設(shè)置恢復(fù)完成標(biāo)識(shí)。
      在實(shí)際應(yīng)用中,本發(fā)明實(shí)施例還可包括第一記錄單元,用于記錄數(shù)據(jù)變更位圖,該數(shù)據(jù)變更位圖中設(shè)置數(shù)據(jù)塊變 更標(biāo)識(shí)。
      第二記錄單元,用于記錄回滾位圖,該回滾位圖中設(shè)置數(shù)據(jù)塊的恢復(fù)完成 標(biāo)識(shí)。
      以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn) 一步詳細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而己,并不 用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、 等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
      權(quán)利要求
      1、一種磁盤(pán)數(shù)據(jù)恢復(fù)方法,其特征在于,包括根據(jù)數(shù)據(jù)塊變更標(biāo)識(shí)指示的數(shù)據(jù)塊的變更狀態(tài)確定磁盤(pán)中需要恢復(fù)的數(shù)據(jù)塊,所述數(shù)據(jù)塊的變更狀態(tài)為該數(shù)據(jù)塊被創(chuàng)建備份數(shù)據(jù)之后的變更狀態(tài);在所述需要恢復(fù)的數(shù)據(jù)塊未恢復(fù)時(shí),利用所述備份數(shù)據(jù)恢復(fù)所述需要恢復(fù)的數(shù)據(jù)塊,并對(duì)恢復(fù)完成的數(shù)據(jù)塊設(shè)置恢復(fù)完成標(biāo)識(shí)。
      2、 根據(jù)權(quán)利要求l所述的方法,其特征在于所述數(shù)據(jù)塊變更標(biāo)識(shí)設(shè)置在用于記錄磁盤(pán)數(shù)據(jù)塊的變更狀態(tài)的數(shù)據(jù)變更位 圖中。
      3、 根據(jù)權(quán)利要求1或2所述的方法,其特征在于所述恢復(fù)完成標(biāo)識(shí)設(shè)置在用于記錄需要恢復(fù)的數(shù)據(jù)塊的恢復(fù)狀態(tài)的回滾位 圖中。
      4、 一種磁盤(pán)數(shù)據(jù)恢復(fù)方法,其特征在于,包括 接收對(duì)數(shù)據(jù)塊的輸入輸出請(qǐng)求;當(dāng)所述數(shù)據(jù)塊為需要恢復(fù)的數(shù)據(jù)塊且該需要恢復(fù)的數(shù)據(jù)塊未恢復(fù)時(shí),利用備份數(shù)據(jù)恢復(fù)所述數(shù)據(jù)塊,并對(duì)完成恢復(fù)的數(shù)據(jù)塊設(shè)置恢復(fù)完成標(biāo)識(shí); 處理所述對(duì)數(shù)據(jù)塊的輸入輸出請(qǐng)求。
      5、 根據(jù)權(quán)利要求4所述的方法,其特征在于,還包括 根據(jù)數(shù)據(jù)塊變更標(biāo)識(shí)指示的數(shù)據(jù)塊的變更狀態(tài)確定磁盤(pán)中需要恢復(fù)的數(shù)據(jù)塊,所述數(shù)據(jù)塊的變更狀態(tài)為該數(shù)據(jù)塊被創(chuàng)建備份數(shù)據(jù)之后的變更狀態(tài);在所述需要恢復(fù)的數(shù)據(jù)塊未恢復(fù)時(shí),利用所述備份數(shù)據(jù)恢復(fù)所述需要恢復(fù) 的數(shù)據(jù)塊,并對(duì)恢復(fù)完成的數(shù)據(jù)塊設(shè)置恢復(fù)完成標(biāo)識(shí)。
      6、 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括根據(jù)數(shù)據(jù)塊變更標(biāo)識(shí)指示的該數(shù)據(jù)塊的變更狀態(tài)確定所述數(shù)據(jù)塊為需要恢 復(fù)的數(shù)據(jù)塊,該數(shù)據(jù)塊的變更狀態(tài)為該數(shù)據(jù)塊被創(chuàng)建所述備份數(shù)據(jù)之后的變更狀態(tài)。
      7、 根據(jù)權(quán)利要求5或6所述的方法,其特征在于所述數(shù)據(jù)塊變更標(biāo)識(shí)設(shè)置在用于記錄磁盤(pán)數(shù)據(jù)塊的變更狀態(tài)的數(shù)據(jù)變更位 圖中。
      8、 根據(jù)權(quán)利要求4 6中任意一項(xiàng)所述的方法,其特征在于,所述該需要恢復(fù)的數(shù)據(jù)塊未恢復(fù)包括如果該需要恢復(fù)的數(shù)據(jù)塊沒(méi)有對(duì)應(yīng)的恢復(fù)完成標(biāo)識(shí),則確定該需要恢復(fù)的 數(shù)據(jù)塊未恢復(fù)。
      9、 根據(jù)權(quán)利要求8所述的方法,其特征在于所述恢復(fù)完成標(biāo)識(shí)設(shè)置在恢復(fù)回滾位圖中,該恢復(fù)回滾位圖用于記錄需要 恢復(fù)的數(shù)據(jù)塊的恢復(fù)狀態(tài)。
      10、 根據(jù)權(quán)利要求9所述的方法,其特征在于所述恢復(fù)回滾位圖設(shè)置有鎖保護(hù)。
      11、 一種磁盤(pán)陣列,其特征在于,包括確定單元,用于根據(jù)數(shù)據(jù)塊變更標(biāo)識(shí)指示的數(shù)據(jù)塊的變更狀態(tài)確定磁盤(pán)中 需要恢復(fù)的數(shù)據(jù)塊,所述數(shù)據(jù)塊的變更狀態(tài)為該數(shù)據(jù)塊被創(chuàng)建備份數(shù)據(jù)之后的 變更狀態(tài);恢復(fù)單元,用于在所述需要恢復(fù)的數(shù)據(jù)塊尚未恢復(fù)時(shí),利用所述備份數(shù)據(jù) 恢復(fù)所述需要恢復(fù)的數(shù)據(jù)塊,并對(duì)恢復(fù)完成的數(shù)據(jù)塊設(shè)置恢復(fù)完成標(biāo)識(shí)。
      12、 根據(jù)權(quán)利要求ll所述的磁盤(pán)陣列,其特征在于,還包括第一記錄單元,用于記錄數(shù)據(jù)變更位圖,該數(shù)據(jù)變更位圖中設(shè)置數(shù)據(jù)塊變更標(biāo)識(shí)。
      13、 根據(jù)權(quán)利要求ll所述的磁盤(pán)陣列,其特征在于,還包括 第二記錄單元,用于記錄回滾位圖,該回滾位圖中設(shè)置數(shù)據(jù)塊的恢復(fù)完成標(biāo)識(shí)。
      14、 一種磁盤(pán)陣列,其特征在于,包括接收單元,用于接收對(duì)數(shù)據(jù)塊的輸入輸出請(qǐng)求;恢復(fù)單元,用于當(dāng)所述數(shù)據(jù)塊為需要恢復(fù)的數(shù)據(jù)塊且該需要恢復(fù)的數(shù)據(jù)塊 尚未恢復(fù)時(shí),利用備份數(shù)據(jù)恢復(fù)該數(shù)據(jù)塊,并對(duì)完成恢復(fù)的數(shù)據(jù)塊設(shè)置恢復(fù)完成標(biāo)識(shí);處理單元,用于處理所述對(duì)數(shù)據(jù)塊的輸入輸出請(qǐng)求。
      15、 根據(jù)權(quán)利要求14所述的磁盤(pán)陣列,其特征在于,還包括確定單元,用于根據(jù)數(shù)據(jù)塊變更標(biāo)識(shí)指示的數(shù)據(jù)塊的變更狀態(tài)確定磁盤(pán)中 需要恢復(fù)的數(shù)據(jù)塊,所述數(shù)據(jù)塊的變更狀態(tài)為該數(shù)據(jù)塊被創(chuàng)建備份數(shù)據(jù)之后的 變更狀態(tài);所述恢復(fù)單元還用于在所述確定單元確定的需要恢復(fù)的數(shù)據(jù)塊未恢復(fù)時(shí), 利用所述備份數(shù)據(jù)恢復(fù)所述需要恢復(fù)的數(shù)據(jù)塊,并對(duì)恢復(fù)完成的數(shù)據(jù)塊設(shè)置恢 復(fù)完成標(biāo)識(shí)。
      16、 根據(jù)權(quán)利要求15所述的磁盤(pán)陣列,其特征在于,還包括 第一記錄單元,用于記錄數(shù)據(jù)變更位圖,該數(shù)據(jù)變更位圖中設(shè)置數(shù)據(jù)塊變更標(biāo)識(shí)。
      17、 根據(jù)權(quán)利要求14或15所述的磁盤(pán)陣列,其特征在于,還包括 第二記錄單元,用于記錄回滾位圖,該回滾位圖中設(shè)置數(shù)據(jù)塊的恢復(fù)完成標(biāo)識(shí)。
      全文摘要
      本發(fā)明提供一種磁盤(pán)數(shù)據(jù)恢復(fù)方法及裝置,所述方法包括根據(jù)數(shù)據(jù)塊變更標(biāo)識(shí)指示的數(shù)據(jù)塊的變更狀態(tài)確定磁盤(pán)中需要恢復(fù)的數(shù)據(jù)塊,所述數(shù)據(jù)塊的變更狀態(tài)為該數(shù)據(jù)塊被創(chuàng)建備份數(shù)據(jù)之后的變更狀態(tài);在所述需要恢復(fù)的數(shù)據(jù)塊未恢復(fù)時(shí),利用所述備份數(shù)據(jù)恢復(fù)所述需要恢復(fù)的數(shù)據(jù)塊,并對(duì)恢復(fù)完成的數(shù)據(jù)塊設(shè)置恢復(fù)完成標(biāo)識(shí)。本發(fā)明實(shí)施例可實(shí)現(xiàn)源卷數(shù)據(jù)的瞬間恢復(fù)而無(wú)需切換邏輯和物理路徑,也無(wú)需業(yè)務(wù)停止時(shí)間窗。
      文檔編號(hào)G06F11/14GK101561773SQ20091014654
      公開(kāi)日2009年10月21日 申請(qǐng)日期2009年6月3日 優(yōu)先權(quán)日2009年6月3日
      發(fā)明者羅姣林 申請(qǐng)人:成都市華為賽門(mén)鐵克科技有限公司
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1