亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種連續(xù)數(shù)據(jù)保護系統(tǒng)的快速恢復方法

文檔序號:6341565閱讀:203來源:國知局

專利名稱::一種連續(xù)數(shù)據(jù)保護系統(tǒng)的快速恢復方法
技術領域
:本發(fā)明屬于數(shù)據(jù)保護容災備份
技術領域
,涉及一種塊級連續(xù)數(shù)據(jù)保護系統(tǒng)的快速恢復方法。
背景技術
:在處理信息數(shù)據(jù)時,為保護重要的數(shù)據(jù)信息,通常采用數(shù)據(jù)備份技術,以便在數(shù)據(jù)不可用時能從備份介質中恢復數(shù)據(jù)。但是在恢復數(shù)據(jù)時,兩次備份之間的數(shù)據(jù)將會丟失。對于一些關鍵的信息系統(tǒng),所能容忍的數(shù)據(jù)丟失量,即恢復點目標(RPO,RecoveryPointObject)要盡可能的低,這就需要應用連續(xù)數(shù)據(jù)保護(CDP,ContinuousDataProtection)技術。CDP技術是將更改過的所有數(shù)據(jù)按時間順序保存下來,在系統(tǒng)每次寫操作時,都會生成帶有時間戳的數(shù)據(jù)塊版本,從而在恢復數(shù)據(jù)時能夠獲取任意一個時間點的數(shù)據(jù)狀態(tài)。其中,塊級CDP是將一個磁盤,即邏輯單元(LUN,LogicalUnit)劃分為固定大小的數(shù)據(jù)塊,并以數(shù)據(jù)塊為單位記錄數(shù)據(jù)變化,其特點是與應用的耦合比較低,性能和效率優(yōu)于文件級CDP。當需要恢復數(shù)據(jù)到某個指定的時間點時,帶有塊級CDP的系統(tǒng)可以從開始時間點遍歷所有已經(jīng)記錄的修改過的數(shù)據(jù)塊,一直到指定的時間點,從而恢復該時間點的數(shù)據(jù)狀態(tài),即,獲得該時間點的磁盤的每一個邏輯塊地址(LBA,LogicalBlockAddress)與CDP所記錄的數(shù)據(jù)塊之間的映射關系。為了縮短遍歷時間,通常需要在CDP中定期產(chǎn)生數(shù)據(jù)快照,將某個時刻的映射關系存儲起來。當要恢復快照時刻的數(shù)據(jù)時,就可以直接獲得映射關系,也就無需再遍歷CDP日志。當要恢復數(shù)據(jù)到其它時間點時,可從該時間點之前的那一次快照開始,遍歷CDP日志直到該時間點,即可獲得映射關系,也就無須從開始時間點遍歷。要恢復到任意時間點的數(shù)據(jù),則需要從該時間點的上一次快照開始,遍歷CDP日志,以獲得該時間點的映射關系。該時間點與上次快照之間的時間間隔越長,日志區(qū)中的數(shù)據(jù)變化量相應增加,恢復所需的時間也就越長。在恢復數(shù)據(jù)時,CDP為磁盤的所有數(shù)據(jù)塊重建映射表之后,將產(chǎn)生一個磁盤映像供用戶使用。但是,即使用戶只需從CDP提供的磁盤映像中恢復少量文件或查看個別文件的內容,即,即使只需讀取磁盤映像中的一小部分數(shù)據(jù)塊,也必須等待CDP系統(tǒng)遍歷日志區(qū)以獲得所有數(shù)據(jù)塊的映射表之后,才能使用磁盤映像。這就使得數(shù)據(jù)恢復過程較為耗時,無法做到快速恢復。
發(fā)明內容本發(fā)明的目的是為了克服現(xiàn)有技術的缺陷,提供一種在塊級CDP系統(tǒng)中對任意時間點數(shù)據(jù)的快速恢復方法。在生成某一時間點的磁盤映像時,CDP系統(tǒng)不需要獲取磁盤全部數(shù)據(jù)塊的映射關系,而是當計算機讀取磁盤映像的某一個數(shù)據(jù)塊時,CDP系統(tǒng)從日志中獲3取該數(shù)據(jù)塊的映射關系,再從CDP數(shù)據(jù)區(qū)中獲取數(shù)據(jù)塊內容。該方法實現(xiàn)了磁盤數(shù)據(jù)塊的按需恢復,能夠在較短的時間內為用戶提供任意時間點的磁盤映像。為實現(xiàn)上述目的,本發(fā)明所采用的技術方案如下—種連續(xù)數(shù)據(jù)保護系統(tǒng)的快速恢復方法。CDP系統(tǒng)維護一張映射表,該表記錄了磁盤中所有數(shù)據(jù)塊的最后一次修改操作。對于每一個寫入的數(shù)據(jù)塊,CDP系統(tǒng)均生成一個鏈表節(jié)點,也就是生成一個記錄該寫操作的CDP元數(shù)據(jù)。CDP系統(tǒng)在該鏈表節(jié)點中記錄下數(shù)據(jù)塊的塊號,并設置本節(jié)點的一個后向鏈接字段,以及映射表中相應塊號的最后一次修改位置。數(shù)據(jù)塊和鏈表節(jié)點分別寫入CDP日志。當需要恢復系統(tǒng)到某個指定時間點時,首先建立一個臨時映射表,并將其中的內容全部設為-1。之后,將磁盤映像作為一個邏輯單元(LUN)提供給計算機使用。當計算機對磁盤映像發(fā)起讀請求時,CDP系統(tǒng)根據(jù)讀請求中的數(shù)據(jù)塊號,獲得臨時映射表的對應表項。當表項內容為-1時,從系統(tǒng)當前映射表開始,通過后向鏈接向前查找,一直查找到指定時間點之前的最新節(jié)點,此時,獲取到該時間點此數(shù)據(jù)塊在CDP日志數(shù)據(jù)區(qū)中的位置(即塊號),并將它保存到臨時映射表的對應表項中。然后,根據(jù)臨時映射表的表項內容,從CDP日志數(shù)據(jù)區(qū)中讀出數(shù)據(jù)塊內容,并返回給計算機。本發(fā)明的有益效果是1)無需遍歷CDP日志即可提供磁盤映像。當計算機讀取磁盤映像的某個數(shù)據(jù)塊時,CDP系統(tǒng)根據(jù)鏈表從CDP元數(shù)據(jù)中獲取該數(shù)據(jù)塊的映射關系,實現(xiàn)磁盤數(shù)據(jù)塊的按需恢復。尤其適合于用戶需要快速建立磁盤映像,讀取其中一小部分文件的情況。2)不依賴快照即可進行數(shù)據(jù)快速恢復。通過在CDP元數(shù)據(jù)中加入鏈接信息,使得可以從當前時間點快速回溯到指定的時間點,而不必從CDP日志的開始時間點或快照時間點開始遍歷。圖1為本發(fā)明的數(shù)據(jù)結構示意圖;圖2本發(fā)明實施例中的后向鏈接示意圖。具體實施例方式下面結合附圖和具體實施方式對本發(fā)明作進一步詳細描述?!N連續(xù)數(shù)據(jù)保護系統(tǒng)的快速恢復方法,其技術方案如下首先對CDP日志及元數(shù)據(jù)結構進行描述,如圖1所示。1、CDP日志CDP日志包括數(shù)據(jù)區(qū)和元數(shù)據(jù)區(qū)。數(shù)據(jù)區(qū)用于保存數(shù)據(jù)塊;元數(shù)據(jù)區(qū)用于保存鏈表節(jié)點,即CDP元數(shù)據(jù)。數(shù)據(jù)區(qū)記錄每一次數(shù)據(jù)塊寫操作的數(shù)據(jù)內容。數(shù)據(jù)區(qū)由M個數(shù)據(jù)塊組成,塊的編號為0《k《M-l。數(shù)據(jù)塊的大小根據(jù)文件系統(tǒng)或上層應用的最小訪問粒度確定(例如每塊大小為4KB),將整個磁盤劃分N個數(shù)據(jù)塊,塊地址的范圍為0到N-l。2、鏈表節(jié)點鏈表節(jié)點作為CDP元數(shù)據(jù),包括2個字段數(shù)據(jù)塊的塊號、后向鏈接字段。每一個鏈表節(jié)點對應于一個數(shù)據(jù)塊寫操作。鏈表節(jié)點在CDP日志的元數(shù)據(jù)區(qū)中順序存放。日志能容納的節(jié)點數(shù)為M,鏈表節(jié)點的序號為從l到M-l,節(jié)點記為Ck(l《k《M-l)。CDP系統(tǒng)不使用鏈表節(jié)點O。同時,設置一個計數(shù)器,從1開始計數(shù),每當記錄一個數(shù)據(jù)塊寫操作(即,在日志中加入一個CDP元數(shù)據(jù))后,計數(shù)器便加1。鏈表節(jié)點的序號就是當前時刻計數(shù)器的計數(shù)值。對于第k個數(shù)據(jù)塊寫操作(即,計數(shù)器為k時接收到的寫操作,1《k《M-l),CDP系統(tǒng)把要寫入該數(shù)據(jù)塊的數(shù)據(jù)保存到CDP日志的數(shù)據(jù)區(qū)中,塊地址為k,并把這個操作的元數(shù)據(jù)存儲在鏈表節(jié)點Ck中。Ck中存儲的內容為Ck.L:該數(shù)據(jù)塊的塊號LCk.r:后向鏈接,即,該數(shù)據(jù)塊的上一次寫操作的元數(shù)據(jù)節(jié)點序號r圖2表示了15次數(shù)據(jù)塊寫操作的鏈表節(jié)點。由圖2中可以看出,共有8個數(shù)據(jù)塊,塊號為0至7。其中,數(shù)據(jù)塊5未被寫入。每個鏈表節(jié)點表示一次數(shù)據(jù)塊寫入操作,圖中的橫坐標是鏈表節(jié)點Q至C15的時刻,縱坐標是寫入的數(shù)據(jù)塊塊號。例如,數(shù)據(jù)塊6在時刻7和時刻13被寫入,生成C7、C『圖中實線箭頭表示后向鏈接。3.映射表SCDP系統(tǒng)在內存中設置一個映射表S,表中一共N項,每一項記錄當前時刻每個磁盤數(shù)據(jù)塊的最后一次修改操作,即,記錄該操作的鏈表節(jié)點(CDP元數(shù)據(jù))的序號。節(jié)點序號為O,表示該數(shù)據(jù)塊未被修改。映射表S中的每一項在系統(tǒng)初始化時被置為0。4.臨時映射表W在恢復某時間點k的數(shù)據(jù)狀態(tài)時,CDP系統(tǒng)在內存中建立一個臨時映射表W,表W一共有N項,在初始化時均被置為-1,并提供一個磁盤映像供計算機訪問。當計算機讀取磁盤映像某個數(shù)據(jù)塊時,CDP系統(tǒng)通過臨時映射表W獲取該磁盤數(shù)據(jù)塊在時間點k前的最后一次修改操作位置,即該操作的節(jié)點序號。節(jié)點序號為0時,表示該數(shù)據(jù)塊在時間點k時未被修改。節(jié)點序號為-1時,表示該數(shù)據(jù)塊的位置尚未確定。5.秒級索引ICDP系統(tǒng)設置一個索引表,每一秒在索引表的末尾增加一項,記錄當前時刻計數(shù)器的計數(shù)值。由此使恢復時間點能夠精確到秒級。6.磁盤原始數(shù)據(jù)區(qū)R磁盤原始數(shù)據(jù)區(qū)的容量和要保護的磁盤相同,其容納了N個數(shù)據(jù)塊。在建立CDP系統(tǒng)時,將磁盤上的所有數(shù)據(jù)塊復制到磁盤原始數(shù)據(jù)區(qū)。下面具體說明在CDP系統(tǒng)中針對某次寫操作的數(shù)據(jù)恢復過程。CDP系統(tǒng)設置并維護映射表S,表S記錄磁盤中所有數(shù)據(jù)塊的最后一次修改操作。記錄數(shù)據(jù)塊寫入操作的方法具體如下CDP系統(tǒng)中記錄一個磁盤數(shù)據(jù)塊寫操作,塊號為B,O《B《N-l,要寫入該塊的原始數(shù)據(jù)為D。其流程如下首先,取得當前計數(shù)器的計數(shù)值為k,計數(shù)值加1。若k大于等于數(shù)據(jù)區(qū)數(shù)據(jù)塊最大數(shù)M,說明日志區(qū)已滿,系統(tǒng)不再記錄數(shù)據(jù)塊寫操作。若k小于M,將原始數(shù)據(jù)D寫入到日志的數(shù)據(jù)區(qū)k。然后,構造此次數(shù)據(jù)塊寫操作的元數(shù)據(jù),即鏈表節(jié)點Ck,Ck的2個字段Ck.L、Ck.r:a)Ck.L=B,即記錄該數(shù)據(jù)塊對應的塊號。b)Ck.r=S[B],本鏈表節(jié)點Ck的后向鏈接指向該數(shù)據(jù)塊的上一次修改位置,即上一次修改操作的鏈表節(jié)點在CDP元數(shù)據(jù)區(qū)中的序號。最后,更新映射表S,S[B]=k。當需要恢復系統(tǒng)到用戶指定的時間點時,CDP系統(tǒng)建立該時刻的磁盤映像供計算機訪問。首先,在秒級索引I中獲取該時刻的計數(shù)值,記為k。然后,將臨時映射表W中的每一項初始化為-1。最后,使用臨時映射表W構造一個虛擬磁盤,作為一個邏輯單元(LUN)供計算機訪問。在建立指定時間點k的磁盤映像后,CDP系統(tǒng)就接受計算機對磁盤映像的讀取請求。從計算機的角度看,磁盤映像保存某一時刻所有磁盤數(shù)據(jù)塊的內容,當收到一個讀請求后,系統(tǒng)按順序執(zhí)行以下步驟首先,從讀請求中獲取數(shù)據(jù)塊號B。然后,讀取臨時映射表W中數(shù)據(jù)塊號B的表項內容,即W[B]。如果W[B]二-l,則從當前映射表S中讀取S[B],并從節(jié)點CS[B]開始,沿著后向鏈接查找。若查找過程中某鏈表節(jié)點Ci的序號i《k,則記錄W[B]=i,查找結束;如果鏈表中某個鏈表節(jié)點的后向鏈接Cj.r=O,數(shù)據(jù)塊B在時間點k之前沒有被修改,設置W[B]=O,查找結束。如果W[B]=O,則直接從磁盤原始數(shù)據(jù)讀出數(shù)據(jù)塊(塊號為B)返回給計算機;否則在CDP日志數(shù)據(jù)區(qū)中讀出數(shù)據(jù)塊(塊號為W[B])返回給計算機R。實施例例如,在圖2中,當前時刻為15,則當前系統(tǒng)映射表S的內容為S[O]S[l]S[2]S[3]S[4]S[5]S[6]S[7]<table>tableseeoriginaldocumentpage6</column></row><table>要建立指定時間點k=7的磁盤映像,要初始化一張臨時映射表W,其中各項的值全部為-l。若此時收到讀請求,要讀取塊號為3(B=3)的數(shù)據(jù)塊。由于W[3]=-1,S[3]=15,該數(shù)據(jù)塊的后向鏈接節(jié)點為C15、C6、C3。查找過程中,沿該鏈表一直查找到C6才滿足條件(i二6,6《7),設置W[3]二6,將CDP日志數(shù)據(jù)區(qū)中塊號為6的數(shù)據(jù)塊讀出,返回給計算機。以后,如果計算機要讀取數(shù)據(jù)塊3時,由于W[3]=6,直接從日志數(shù)據(jù)區(qū)中讀出塊號為6的數(shù)據(jù)塊即可,而不需遍歷后向鏈表。若又收到讀請求,要讀取塊號為7(B=7)的數(shù)據(jù)塊。該數(shù)據(jù)塊的后向鏈接節(jié)點為C14、C8。查找過程中,沒有滿足條件(i《k)的節(jié)點Ci,設置W[7]=0,從磁盤原始數(shù)據(jù)區(qū)中讀出數(shù)據(jù)塊(塊號為7),返回給計算機。權利要求一種連續(xù)數(shù)據(jù)保護系統(tǒng)的快速恢復方法,其特征在于CDP系統(tǒng)維護一張映射表,該表記錄了磁盤中所有數(shù)據(jù)塊的最后一次修改操作;對于每一個寫入的數(shù)據(jù)塊,CDP系統(tǒng)均生成一個鏈表節(jié)點,也就是生成一個記錄該寫操作的CDP元數(shù)據(jù);CDP系統(tǒng)在該鏈表節(jié)點中記錄下數(shù)據(jù)塊的塊號,并設置本節(jié)點的一個后向鏈接字段,以及映射表中相應塊號的最后一次修改位置;數(shù)據(jù)塊和鏈表節(jié)點分別寫入CDP日志;當需要恢復系統(tǒng)到某個指定時間點時,首先建立一個臨時映射表,并將其中的內容全部設為-1;之后,將磁盤映像作為一個邏輯單元提供給計算機使用;當計算機對磁盤映像發(fā)起讀請求時,CDP系統(tǒng)根據(jù)讀請求中的數(shù)據(jù)塊號,獲得臨時映射表的對應表項;當表項內容為-1時,從系統(tǒng)當前映射表開始,通過后向鏈接向前查找,一直查找到指定時間點之前的最新節(jié)點,此時,獲取到該時間點此數(shù)據(jù)塊在CDP日志數(shù)據(jù)區(qū)中的位置,并將它保存到臨時映射表的對應表項中;然后,根據(jù)臨時映射表的表項內容,從CDP日志數(shù)據(jù)區(qū)中讀出數(shù)據(jù)塊內容,并返回給計算機。2.如權利要求1所述的一種連續(xù)數(shù)據(jù)保護系統(tǒng)的快速恢復方法,其特征在于,記錄數(shù)據(jù)塊寫操作的方法具體如下CDP系統(tǒng)中記錄一個磁盤數(shù)據(jù)塊寫操作,塊號為B,O《B《N-l,要寫入該塊的原始數(shù)據(jù)為D,其流程如下首先,取得當前計數(shù)器的計數(shù)值為k,計數(shù)值加1;若k大于等于數(shù)據(jù)區(qū)數(shù)據(jù)塊最大數(shù)M,說明日志區(qū)已滿,系統(tǒng)不再記錄數(shù)據(jù)塊寫操作;若k小于M,將原始數(shù)據(jù)D寫入到日志的數(shù)據(jù)區(qū)k;然后,構造此次數(shù)據(jù)塊寫操作的元數(shù)據(jù),即鏈表節(jié)點Ck,Ck的2個字段Ck.L、Ck.r:a)Ck.L=B,即記錄該數(shù)據(jù)塊對應的塊號;b)Ck.r=S[B],本鏈表節(jié)點Ck的后向鏈接指向該數(shù)據(jù)塊的上一次修改位置,即上一次修改操作的鏈表節(jié)點在CDP元數(shù)據(jù)區(qū)中的序號;最后,更新映射表S,S[B]=k。全文摘要本發(fā)明公開了一種連續(xù)數(shù)據(jù)保護系統(tǒng)的快速恢復方法。在生成某一時間點的磁盤映像時,CDP系統(tǒng)不需要獲取磁盤全部數(shù)據(jù)塊的映射關系,而是當計算機讀取磁盤映像的某一個數(shù)據(jù)塊時,CDP系統(tǒng)從日志中獲取該數(shù)據(jù)塊的映射關系,再從CDP數(shù)據(jù)區(qū)中獲取數(shù)據(jù)塊內容。該方法實現(xiàn)了磁盤數(shù)據(jù)塊的按需恢復,能夠在較短的時間內為用戶提供任意時間點的磁盤映像。文檔編號G06F11/14GK101777017SQ20101918501公開日2010年7月14日申請日期2010年2月8日優(yōu)先權日2010年2月8日發(fā)明者何廣韜,周澤湘,李虓,肖建國,譚毓安申請人:北京同有飛驥科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1