專利名稱:一種持續(xù)數(shù)據(jù)保護(hù)技術(shù)中數(shù)據(jù)快速同步方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)據(jù)備份技術(shù)領(lǐng)域,尤其是一種持續(xù)數(shù)據(jù)保護(hù)技術(shù)中數(shù)據(jù)快速同步方法。
背景技術(shù):
隨著信息化應(yīng)用的深入,用戶普遍加強(qiáng)了對數(shù)據(jù)的保護(hù)。對數(shù)據(jù)的保護(hù)通常是通過數(shù)據(jù)備份和數(shù)據(jù)恢復(fù)的方法實(shí)現(xiàn)的,傳統(tǒng)的定時(shí)備份方法已經(jīng)遠(yuǎn)遠(yuǎn)不能適應(yīng)實(shí)時(shí)保護(hù)的需要,因此,很多關(guān)鍵應(yīng)用均采用持續(xù)數(shù)據(jù)保護(hù)技術(shù)實(shí)現(xiàn)對數(shù)據(jù)的實(shí)時(shí)保護(hù)和快速恢復(fù)。例如,專利文獻(xiàn)“一種多時(shí)間粒度的數(shù)據(jù)保護(hù)方法”(申請?zhí)?01110270306. 5)給出了一種持續(xù)數(shù)據(jù)保護(hù)的方法,其實(shí)現(xiàn)方法為步驟1、初始化時(shí)將生產(chǎn)端數(shù)據(jù)同步到目標(biāo)端鏡像存儲(chǔ)區(qū)域中;步驟2、捕獲生產(chǎn)端數(shù)據(jù)寫操作,并記錄到目標(biāo)端增量存儲(chǔ)區(qū)域中;步驟3、將增量存儲(chǔ)區(qū)域中信息寫入到鏡像存儲(chǔ)區(qū)域中。在步驟I的處理過程中,目前國內(nèi)外廠商均需要暫停生產(chǎn)端設(shè)備的應(yīng)用來進(jìn)行,隨著用戶數(shù)據(jù)量的增加,這種暫停的時(shí)間也會(huì)越來越長,由于采用持續(xù)數(shù)據(jù)保護(hù)方法的應(yīng)用一般情況下均為關(guān)鍵應(yīng)用,這種中斷將會(huì)給用戶帶來一定損失,并且增加了用戶使用的復(fù)雜度,在某些特殊情況下用戶不能接受這種中斷。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種設(shè)計(jì)合理、實(shí)時(shí)性強(qiáng)、處理速度快且安全可靠的持續(xù)數(shù)據(jù)保護(hù)技術(shù)中數(shù)據(jù)快速同步方法。本發(fā)明解決其技術(shù)問題是采取以下技術(shù)方案實(shí)現(xiàn)的一種持續(xù)數(shù)據(jù)保護(hù)技術(shù)中數(shù)據(jù)快速同步方法,包括以下步驟步驟1:在生產(chǎn)端設(shè)備里建立磁盤分區(qū)的全部數(shù)據(jù)塊與寫操作狀態(tài)位圖的對應(yīng)關(guān)系;步驟2 :首次同步處理將生產(chǎn)端設(shè)備的磁盤分區(qū)的全部數(shù)據(jù)塊復(fù)制到目標(biāo)端的鏡像存儲(chǔ)區(qū)域中;步驟3 :遞進(jìn)同步處理計(jì)算在同步過程中磁盤分區(qū)中發(fā)生寫操作的數(shù)據(jù)塊的個(gè)數(shù),如果變化的個(gè)數(shù)低于設(shè)定的閥值,則中斷生產(chǎn)端設(shè)備的前端應(yīng)用,將生產(chǎn)端磁盤分區(qū)中發(fā)生寫操作的數(shù)據(jù)塊復(fù)制到目標(biāo)端的鏡像存儲(chǔ)區(qū)域中;否則將生產(chǎn)端磁盤分區(qū)中發(fā)生寫操作的數(shù)據(jù)塊復(fù)制到目標(biāo)端的鏡像存儲(chǔ)區(qū)域中。而且,所述的首次同步處理包括以下步驟⑴將寫操作狀態(tài)位圖中的全部標(biāo)志位置為0,將復(fù)制指針指向磁盤分區(qū)的第一個(gè)數(shù)據(jù)塊;⑵將復(fù)制指針?biāo)赶虻臄?shù)據(jù)塊復(fù)制到目標(biāo)端的鏡像存儲(chǔ)區(qū)域;⑶將復(fù)制指針指向磁盤分區(qū)的下一個(gè)數(shù)據(jù)塊;⑷判斷復(fù)制指針是否超過磁盤分區(qū)最后一個(gè)數(shù)據(jù)塊,如果不是的話,則返回步驟⑵循環(huán)執(zhí)行,否則完成首次同步處理。
而且,所述的遞進(jìn)同步處理包括以下處理步驟⑴計(jì)算寫操作狀態(tài)位圖中標(biāo)志位為I的個(gè)數(shù);⑵判斷標(biāo)志位為I的個(gè)數(shù)是否大于設(shè)定的閥值,是則執(zhí)行步驟⑶,否則執(zhí)行步驟
(8);⑶將復(fù)制指針指向?qū)懖僮鳡顟B(tài)位圖中第一個(gè)標(biāo)志位為I所對應(yīng)的數(shù)據(jù)塊;⑷將復(fù)制指針指向的數(shù)據(jù)塊復(fù)制到目標(biāo)端的鏡像存儲(chǔ)區(qū)域;(5)將寫操作狀態(tài)位圖中該數(shù)據(jù)塊所對應(yīng)的標(biāo)志位置為O ;(6)將復(fù)制指針指向?qū)懖僮鳡顟B(tài)位圖中下一個(gè)標(biāo)志位為I所對應(yīng)的數(shù)據(jù)塊;(7)判斷復(fù)制指針是否為空?,是則執(zhí)行步驟⑴,否則執(zhí)行步驟⑷;(8)暫停前端應(yīng)用對此磁盤分區(qū)的訪問;(9)將當(dāng)前寫操作狀態(tài)位圖中所有標(biāo)志位為I所有對應(yīng)的數(shù)據(jù)塊復(fù)制到鏡像存儲(chǔ)區(qū)域;(1Φ打開前端應(yīng)用。而且,所述的當(dāng)前寫操作狀態(tài)位圖建立在生產(chǎn)端設(shè)備的內(nèi)存中。本發(fā)明的優(yōu)點(diǎn)和積極效果是
本發(fā)明利用寫操作狀態(tài)位圖記錄在數(shù)據(jù)同步過程中發(fā)生變化的數(shù)據(jù)塊,在一次同步完成后,通過位圖判斷發(fā)生變化的數(shù)據(jù)塊,當(dāng)變化的數(shù)據(jù)塊個(gè)數(shù)較少時(shí),以用戶可以容忍的時(shí)間終端前端應(yīng)用并快速完成變化數(shù)據(jù)塊的同步,否則重復(fù)執(zhí)行同步過程,本同步方法不需要進(jìn)行數(shù)據(jù)塊的直接比對,提高了數(shù)據(jù)同步效率??蓮V泛用于服務(wù)器、桌面PC機(jī)和移動(dòng)設(shè)備(筆記本電腦、平板電腦和智能手機(jī)等數(shù)據(jù)同步過程。
圖1是本發(fā)明在初始化時(shí)的寫操作狀態(tài)位圖結(jié)構(gòu);圖2是本發(fā)明在磁盤分區(qū)發(fā)生數(shù)據(jù)寫操作時(shí)的寫操作狀態(tài)位圖結(jié)構(gòu);圖3是本發(fā)明的首次同步處理流程圖;圖4是本發(fā)明的遞進(jìn)同步處理流程圖。
具體實(shí)施例方式以下結(jié)合附圖對本發(fā)明做進(jìn)一步詳述。一種持續(xù)數(shù)據(jù)保護(hù)技術(shù)中數(shù)據(jù)快速同步方法,包括以下步驟步驟1:在生產(chǎn)端設(shè)備的內(nèi)存中建立磁盤分區(qū)的全部數(shù)據(jù)塊與寫操作狀態(tài)位圖的對應(yīng)關(guān)系。如圖1所示,寫操作狀態(tài)位圖存儲(chǔ)于生產(chǎn)端設(shè)備的內(nèi)存中,寫操作狀態(tài)位圖中的每一標(biāo)志位對應(yīng)生產(chǎn)端設(shè)備需要保護(hù)磁盤分區(qū)中的一個(gè)數(shù)據(jù)塊(數(shù)據(jù)塊的大小可以自己定義,本例以32kbyte為一個(gè)數(shù)據(jù)塊),即磁盤分區(qū)中每一數(shù)據(jù)塊與寫操作狀態(tài)位圖中的每一標(biāo)志位存在一一對應(yīng)關(guān)系。在初始狀態(tài)時(shí),寫操作狀態(tài)位圖中的所有標(biāo)志位均為0,如圖1所示。當(dāng)生產(chǎn)端磁盤分區(qū)中的某個(gè)數(shù)據(jù)塊發(fā)生數(shù)據(jù)寫操作時(shí),在寫操作狀態(tài)位圖中將該數(shù)據(jù)塊所對應(yīng)的標(biāo)志位置為1,如圖2所示。通過寫操作狀態(tài)位圖可以記錄磁盤分區(qū)中發(fā)生寫操作的數(shù)據(jù)塊;通過查詢寫操作狀態(tài)位圖的標(biāo)志即可判斷相應(yīng)的磁盤數(shù)據(jù)塊是否需要進(jìn)行備份。步驟2 :首次同步處理步驟將生產(chǎn)端設(shè)備的磁盤分區(qū)的全部數(shù)據(jù)塊復(fù)制到目標(biāo)端的鏡像存儲(chǔ)區(qū)域中;如圖3所示,首次同步處理包括以下步驟⑴寫操作狀態(tài)位圖初始化將寫操作狀態(tài)位圖中的全部標(biāo)志位置為0,將復(fù)制指針(*duplicate_ptr,指向當(dāng)前復(fù)制的數(shù)據(jù)塊)指向磁盤分區(qū)的第一個(gè)數(shù)據(jù)塊;⑵將復(fù)制指針(*dupliCate_ptr)所指向的數(shù)據(jù)塊復(fù)制到目標(biāo)端的鏡像存儲(chǔ)區(qū)域;⑶將復(fù)制指針(*duplicate_ptr)指向磁盤分區(qū)的下一個(gè)數(shù)據(jù)塊;⑷判斷復(fù)制指針(*duplicate_ptr)是否超過磁盤分區(qū)最后一個(gè)數(shù)據(jù)塊,如果不是的話,則返回步驟⑵循環(huán)執(zhí)行,否則完成首次同步處理。在進(jìn)行首次同步處理過程中,生產(chǎn)端設(shè)備中的前端應(yīng)用可能會(huì)對磁盤分區(qū)進(jìn)行寫操作,當(dāng)前端應(yīng)用對磁盤分區(qū)中的數(shù)據(jù)塊進(jìn)行寫操作時(shí),寫操作狀態(tài)位圖中該數(shù)據(jù)塊所對應(yīng)的標(biāo)志位被置為I。步驟3 :遞進(jìn)同步·處理計(jì)算在同步過程中磁盤分區(qū)中發(fā)生寫操作的數(shù)據(jù)塊(寫操作狀態(tài)位圖中標(biāo)志位為I的生產(chǎn)端磁盤分區(qū)的數(shù)據(jù)塊)的個(gè)數(shù),如果變化的個(gè)數(shù)低于設(shè)定的閥值,則中斷生產(chǎn)端設(shè)備的前端應(yīng)用,以用戶可以容忍的時(shí)間(幾秒到十幾秒)快速完成變化數(shù)據(jù)塊的同步(將生產(chǎn)端磁盤分區(qū)中發(fā)生寫操作的數(shù)據(jù)塊復(fù)制到目標(biāo)端的鏡像存儲(chǔ)區(qū)域中);否則將生產(chǎn)端磁盤分區(qū)中發(fā)生寫操作的數(shù)據(jù)塊復(fù)制到目標(biāo)端的鏡像存儲(chǔ)區(qū)域中。如圖4所示,遞進(jìn)同步處理包括以下處理步驟⑴計(jì)算寫操作狀態(tài)位圖中標(biāo)志位為I的個(gè)數(shù);⑵判斷標(biāo)志位為I的個(gè)數(shù)是否大于設(shè)定的閥值;是則執(zhí)行步驟⑶,否則執(zhí)行步驟
(8);該閥值可以根據(jù)具體應(yīng)用需求設(shè)定。當(dāng)上一個(gè)同步處理過程中,發(fā)生磁盤數(shù)據(jù)塊寫操作的數(shù)量較少時(shí),可以暫時(shí)中斷生產(chǎn)端設(shè)備的前端應(yīng)用而僅執(zhí)行少量數(shù)據(jù)塊備份工作,該備份工作并不需要花費(fèi)太長的時(shí)間且該時(shí)間是能夠被用戶所接受的,則執(zhí)行步驟(8)至⑶的數(shù)據(jù)備份過程,否則執(zhí)行步驟⑶至步驟⑴的數(shù)據(jù)備份過程;⑶將復(fù)制指針(*duplicate_ptr)指向?qū)懖僮鳡顟B(tài)位圖中第一個(gè)標(biāo)志位為I所對應(yīng)的數(shù)據(jù)塊;⑷將復(fù)制指針(*duplicate_ptr)指向的數(shù)據(jù)塊復(fù)制到目標(biāo)端的鏡像存儲(chǔ)區(qū)域;(5)將寫操作狀態(tài)位圖中該數(shù)據(jù)塊所對應(yīng)的標(biāo)志位置為O ;(6)將復(fù)制指針(*duplicate_ptr)指向?qū)懖僮鳡顟B(tài)位圖中下一個(gè)標(biāo)志位為I所對應(yīng)的數(shù)據(jù)塊;(7)判斷復(fù)制指針(*duplicate_ptr)是否為空(沒有下一個(gè)置為I或到磁盤分區(qū)結(jié)尾),是則執(zhí)行步驟⑴,否則執(zhí)行步驟⑷;⑶暫停前端應(yīng)用對此磁盤分區(qū)的訪問(如通過Windows VSS);(9)將當(dāng)前寫操作狀態(tài)位圖中所有標(biāo)志位為I所有對應(yīng)的數(shù)據(jù)塊復(fù)制到鏡像存儲(chǔ)區(qū)域;(1Φ打開前端應(yīng)用。
本發(fā)明同樣可以適用于離線狀態(tài)的持續(xù)保護(hù)方法,可以作為網(wǎng)絡(luò)不可用時(shí)的臨時(shí)處理方案,有效地降低網(wǎng)絡(luò)流量。其處理過程為當(dāng)網(wǎng)絡(luò)中斷時(shí),生產(chǎn)端將發(fā)生變化的數(shù)據(jù)塊標(biāo)記在寫操作狀態(tài)位圖中,當(dāng)網(wǎng)絡(luò)恢復(fù)時(shí),跳過首次同步子過程,按照遞進(jìn)同步過程完成數(shù)據(jù)的同步。需要強(qiáng)調(diào)的是,本發(fā)明所述的實(shí)施例是說明性的,而不是限定性的,因此本發(fā)明包括并不限于具體實(shí)施方式
中所述的實(shí)施例,凡是由本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明的技術(shù)方案得出的其他實(shí)施方式,同樣屬于本發(fā)明保護(hù)的范圍。
權(quán)利要求
1.一種持續(xù)數(shù)據(jù)保護(hù)技術(shù)中數(shù)據(jù)快速同步方法,其特征在于包括以下步驟 步驟1:在生產(chǎn)端設(shè)備里建立磁盤分區(qū)的全部數(shù)據(jù)塊與寫操作狀態(tài)位圖的對應(yīng)關(guān)系;步驟2 :首次同步處理將生產(chǎn)端設(shè)備的磁盤分區(qū)的全部數(shù)據(jù)塊復(fù)制到目標(biāo)端的鏡像存儲(chǔ)區(qū)域中; 步驟3 :遞進(jìn)同步處理計(jì)算在同步過程中磁盤分區(qū)中發(fā)生寫操作的數(shù)據(jù)塊的個(gè)數(shù),如果變化的個(gè)數(shù)低于設(shè)定的閥值,則中斷生產(chǎn)端設(shè)備的前端應(yīng)用,將生產(chǎn)端磁盤分區(qū)中發(fā)生寫操作的數(shù)據(jù)塊復(fù)制到目標(biāo)端的鏡像存儲(chǔ)區(qū)域中;否則將生產(chǎn)端磁盤分區(qū)中發(fā)生寫操作的數(shù)據(jù)塊復(fù)制到目標(biāo)端的鏡像存儲(chǔ)區(qū)域中。
2.根據(jù)權(quán)利要求1所述的一種持續(xù)數(shù)據(jù)保護(hù)技術(shù)中數(shù)據(jù)快速同步方法,其特征在于所述的首次同步處理包括以下步驟 ⑴將寫操作狀態(tài)位圖中的全部標(biāo)志位置為O,將復(fù)制指針指向磁盤分區(qū)的第一個(gè)數(shù)據(jù)塊; ⑵將復(fù)制指針?biāo)赶虻臄?shù)據(jù)塊復(fù)制到目標(biāo)端的鏡像存儲(chǔ)區(qū)域; ⑶將復(fù)制指針指向磁盤分區(qū)的下一個(gè)數(shù)據(jù)塊; ⑷判斷復(fù)制指針是否超過磁盤分區(qū)最后一個(gè)數(shù)據(jù)塊,如果不是的話,則返回步驟⑵循環(huán)執(zhí)行,否則完成首次同步處理。
3.根據(jù)權(quán)利要求1所述的一種持續(xù)數(shù)據(jù)保護(hù)技術(shù)中數(shù)據(jù)快速同步方法,其特征在于所述的遞進(jìn)同步處理包括以下處理步驟 (1)計(jì)算寫操作狀態(tài)位圖中標(biāo)志位為I的個(gè)數(shù); ⑵判斷標(biāo)志位為I的個(gè)數(shù)是否大于設(shè)定的閥值,是則執(zhí)行步驟⑶,否則執(zhí)行步驟⑶; ⑶將復(fù)制指針指向?qū)懖僮鳡顟B(tài)位圖中第一個(gè)標(biāo)志位為I所對應(yīng)的數(shù)據(jù)塊; ⑷將復(fù)制指針指向的數(shù)據(jù)塊復(fù)制到目標(biāo)端的鏡像存儲(chǔ)區(qū)域; (5)將寫操作狀態(tài)位圖中該數(shù)據(jù)塊所對應(yīng)的標(biāo)志位置為O; (6)將復(fù)制指針指向?qū)懖僮鳡顟B(tài)位圖中下一個(gè)標(biāo)志位為I所對應(yīng)的數(shù)據(jù)塊; ⑴判斷復(fù)制指針是否為空?,是則執(zhí)行步驟⑴,否則執(zhí)行步驟⑷; ⑶暫停前端應(yīng)用對此磁盤分區(qū)的訪問; ⑶將當(dāng)前寫操作狀態(tài)位圖中所有標(biāo)志位為I所有對應(yīng)的數(shù)據(jù)塊復(fù)制到鏡像存儲(chǔ)區(qū)域; (10)打開前端應(yīng)用。
4.根據(jù)權(quán)利要求1至3任一項(xiàng)所述的一種持續(xù)數(shù)據(jù)保護(hù)技術(shù)中數(shù)據(jù)快速同步方法,其特征在于所述的當(dāng)前寫操作狀態(tài)位圖建立在生產(chǎn)端設(shè)備的內(nèi)存中。
全文摘要
本發(fā)明涉及一種持續(xù)數(shù)據(jù)保護(hù)技術(shù)中數(shù)據(jù)快速同步方法,其技術(shù)特點(diǎn)是包括以下步驟1、在生產(chǎn)端設(shè)備里建立磁盤分區(qū)的全部數(shù)據(jù)塊與寫操作狀態(tài)位圖的對應(yīng)關(guān)系;2、首次同步處理將生產(chǎn)端設(shè)備的磁盤分區(qū)的全部數(shù)據(jù)塊復(fù)制到目標(biāo)端的鏡像存儲(chǔ)區(qū)域中;3、遞進(jìn)同步處理計(jì)算在同步過程中磁盤分區(qū)中發(fā)生寫操作的數(shù)據(jù)塊的個(gè)數(shù),如果變化的個(gè)數(shù)低于設(shè)定的閥值,則中斷生產(chǎn)端設(shè)備的前端應(yīng)用,快速完成變化數(shù)據(jù)塊的同步;否則將發(fā)生寫操作的數(shù)據(jù)塊復(fù)制到目標(biāo)端。本發(fā)明利用寫操作狀態(tài)位圖記錄在數(shù)據(jù)同步過程中發(fā)生變化的數(shù)據(jù)塊,根據(jù)位圖判斷發(fā)生變化的數(shù)據(jù)塊實(shí)現(xiàn)數(shù)據(jù)的快速同步功能,提高了數(shù)據(jù)同步效率,具有實(shí)時(shí)性強(qiáng)、處理速度快且安全可靠等特點(diǎn)。
文檔編號G06F11/14GK103064766SQ20131000438
公開日2013年4月24日 申請日期2013年1月7日 優(yōu)先權(quán)日2013年1月7日
發(fā)明者黃疆 申請人:天津火星科技有限公司