一種基于數(shù)據(jù)塊的持續(xù)數(shù)據(jù)保護方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)備份方法,尤其涉及一種基于數(shù)據(jù)塊的持續(xù)數(shù)據(jù)保護方法。
【背景技術(shù)】
[0002]數(shù)據(jù)信息在當(dāng)今社會已成為重要財富。從全球范圍來看,數(shù)據(jù)存儲量正在以年均80%的速度增長。某公司在對企業(yè)IT部門存儲開銷調(diào)查中,備份排名第2,占總開銷的27.6%,與其后4位(容災(zāi)、存儲整合、存儲管理、數(shù)據(jù)歸檔)的總和(28.3%)幾乎相當(dāng),數(shù)據(jù)保護的意義可見一斑。傳統(tǒng)的數(shù)據(jù)備份方法是定期把數(shù)據(jù)存儲到備份存儲介質(zhì)上,當(dāng)源數(shù)據(jù)損壞或丟失時,可以從備份的存儲介質(zhì)上恢復(fù),但是用戶會丟失備份窗口之間的數(shù)據(jù)變化,且恢復(fù)時間較長,且會中斷應(yīng)用業(yè)務(wù)的正常運行。
[0003]持續(xù)數(shù)據(jù)保護(CDP)在不影響應(yīng)用業(yè)務(wù)運行的前提下,實現(xiàn)持續(xù)捕捉或跟蹤目標(biāo)數(shù)據(jù)所發(fā)生的改變,可以使系統(tǒng)將數(shù)據(jù)狀態(tài)恢復(fù)到數(shù)據(jù)遭到破壞之前的任意一個時間點,消除傳統(tǒng)備份方法中備份窗口數(shù)據(jù)丟失的問題。
[0004]當(dāng)前CDP技術(shù)的實現(xiàn)模式主要有兩類:基于應(yīng)用程序?qū)崿F(xiàn)和基于文件系統(tǒng)實現(xiàn)。
[0005]I)基于應(yīng)用程序?qū)崿F(xiàn)⑶P技術(shù):可以針對關(guān)鍵的特定應(yīng)用程序開發(fā)CDP技術(shù),這種方式要求CDP技術(shù)和應(yīng)用程序緊密結(jié)合,保持應(yīng)用程序的數(shù)據(jù)一致性和完整性。目前基于應(yīng)用程序的CDP解決方案大部分是針對成熟的應(yīng)用開發(fā)的,如支持微軟公司的SQL Server數(shù)據(jù)庫、Exchange郵件服務(wù)、IBM的DB2和Oracle數(shù)據(jù)庫等。這類⑶R技術(shù)只能對系統(tǒng)中某個特定的程序?qū)崿F(xiàn)實時數(shù)據(jù)保護,無法實現(xiàn)對整個系統(tǒng)數(shù)據(jù)保護。
[0006]2)基于文件系統(tǒng)實現(xiàn)CDP技術(shù):基于文件系統(tǒng)的CDP技術(shù)可以捕捉文件系統(tǒng)數(shù)據(jù)變化或元數(shù)據(jù)的變化事件,并及時將文件的變動進行記錄,以便將來實現(xiàn)任意時間點的文件恢復(fù)。IBM 公司的 VitalFile、Storactive 公司的 Live Backup for Desktop/Laptops、TimeSpring 公司的 TimeData、Microsoft 公司的 Volume Shadow Copy Service 等產(chǎn)品,都能提供基于文件的CDP功能。這類CDP技術(shù)的最大缺點是無法適用于多種不同的平臺,適用性較窄。
【發(fā)明內(nèi)容】
[0007]本發(fā)明針對現(xiàn)有技術(shù)中的不足,提供了一種基于數(shù)據(jù)塊的持續(xù)數(shù)據(jù)保護方法,能夠?qū)崟r備份數(shù)據(jù)庫的內(nèi)容,并且不受平臺限制。
[0008]為解決上述技術(shù)問題,本發(fā)明通過下述技術(shù)方案得以解決:一種基于數(shù)據(jù)塊的持續(xù)數(shù)據(jù)保護方法,包括如下步驟:1)建立一個保存卷;2)捕獲對源數(shù)據(jù)卷所有的讀寫1/0,當(dāng)檢測到源數(shù)據(jù)卷的某個數(shù)據(jù)塊要被改寫時,先在所述保存卷上分配一個新的存儲單元,這個存儲單元稱為快照單元,將要修改的數(shù)據(jù)塊的地址以及要修改的數(shù)據(jù)塊的當(dāng)前值記錄在新分配的快照單元中,然后將新數(shù)據(jù)寫入所述數(shù)據(jù)塊內(nèi),所有所述快照單元組成了快照區(qū)。
[0009]有本發(fā)明可知,只有源數(shù)據(jù)卷上發(fā)生變化的數(shù)據(jù)才會保存在保存卷上,這樣就節(jié)省了對備份資源的占用,而且不需執(zhí)行對源數(shù)據(jù)塊完整的拷貝,數(shù)據(jù)的恢復(fù)過程十分快速,基本對系統(tǒng)無性能影響。另外每個源數(shù)據(jù)卷可以在保存卷上創(chuàng)建一系列連續(xù)的不同時間點的快照,可以將源數(shù)據(jù)卷恢復(fù)到任何一個時間點的狀態(tài)。
[0010]上述技術(shù)方案中,優(yōu)選的,所述保存卷與所述源數(shù)據(jù)卷不在同一存儲介質(zhì)上,這樣可以保證數(shù)據(jù)的穩(wěn)定性。
[0011]上述技術(shù)方案中,優(yōu)選的,所述保存卷為在線存儲介質(zhì)。這樣可以防止保存卷因為停電而造成的備份失效。
[0012]上述技術(shù)方案中,優(yōu)選的,預(yù)先分配一定數(shù)量的所述快照單元和所述快照單元存儲區(qū)。減少突發(fā)1瓶頸的產(chǎn)生,提高系統(tǒng)的響應(yīng)速度。
[0013]上述技術(shù)方案中,優(yōu)選的,建立一系列備份數(shù)據(jù)的時間點,在兩個相鄰的時間點之間,某個所述數(shù)據(jù)塊內(nèi)的數(shù)據(jù)反復(fù)修改多次,只將該數(shù)據(jù)塊第一次修改前的源數(shù)據(jù)存儲到所述快照單元內(nèi)。在多個快照被觸發(fā)的情況下,每接收到一個對源卷存儲單元進行修改的指令,只需在快照區(qū)中對本次快照被觸發(fā)后所分配的快照單元,進行一次針對存儲單元地址的遍歷和比較,和最多一次對新分配的快照單元的寫入操作。因此,一次數(shù)據(jù)修改的完成所需要占用的系統(tǒng)處理資源與被觸發(fā)的快照數(shù)量無關(guān),提高了系統(tǒng)的處理效率。
[0014]本發(fā)明的有益效果是:(I)本發(fā)明采用捕獲對源數(shù)據(jù)卷讀寫I/O的方式,與具體應(yīng)用程序無關(guān),不受上層應(yīng)用程序和文件系統(tǒng)屬性的影響,實現(xiàn)簡便,具有較好的跨平臺、可移植特性。
[0015](2)本發(fā)明可提高系統(tǒng)和存儲資源的利用率,同時采用預(yù)分配快照存儲單元和存儲區(qū)的方法,提高了系統(tǒng)的響應(yīng)速度和1穩(wěn)定性。
【附圖說明】
[0016]圖1備份過程示意圖1;
圖2備份過程示意圖2;
圖3備份過程示意圖3;
圖4恢復(fù)過程示意圖。
【具體實施方式】
[0017]下面結(jié)合附圖與【具體實施方式】對本發(fā)明作進一步詳細(xì)描述:
參見圖1-圖3,一種基于數(shù)據(jù)塊的持續(xù)數(shù)據(jù)保護方法,先建立一個與源數(shù)據(jù)卷不在同一存儲介質(zhì)上的保存卷,這個保存卷是在線存儲介質(zhì)。假設(shè)在源數(shù)據(jù)盤的某個區(qū)域具有連續(xù)五個存儲單元,其地址依次為0001到0005,在初始階段這五個存儲單元內(nèi)記錄的數(shù)據(jù)都是A0
[0018]參見圖1,在第一快照時刻后,第二快照時刻前,收到一條對源數(shù)據(jù)盤的存儲單元進行修改的指令。指令修改地址為0001的存儲單元,修改前為A,修改后為B。方法判斷出需要寫時復(fù)制,首先在在保存卷上分配一個快照單元,記錄存儲單元0001的地址以及存儲單元0001的當(dāng)前值A(chǔ),然后將存儲單元0001的值修改為B。
[0019]參見圖2,在第二快照時刻后,第三快照時刻前,收到兩條對源數(shù)據(jù)卷的存儲單元進行修改的指令。
[0020]第一條指令,修改存儲單元0002的值,修改前為A,修改后為C。先在在保存卷上分配一個快照單元,記錄存儲單元0002的地址以及存儲單元0002的當(dāng)前值A(chǔ),然后修改存儲單元0002的值為C ;
第二條指令的執(zhí)行過程同上,將存儲單元0003的值修改為C。
[0021]在收到第二條指令后,系統(tǒng)配置的預(yù)分配1闊值為2,此時預(yù)分配兩個新的快照單元。
[0022]參見圖3,在第三快照時刻后,第四快照時刻前,收到三條對數(shù)據(jù)存儲區(qū)的存儲單元進行修改的指令。
[0023]第一條指令,是將存儲單元0003的值,從當(dāng)前的C修改為D。方法判斷出需要寫時復(fù)制,分配一個快照單元,記錄下存儲單元0003的地址以及存儲單元0003的當(dāng)前值C,然后存儲單元0003的值修改為D。
[0024]第二條指令同上,將存儲單元0004的值修改為D。
[0025]在收到第二條指令后,系統(tǒng)配置的預(yù)分配1闊值為2,此時預(yù)分配兩個新的快照單元。
[0026]第三條對指令對將存儲單元0003進行修改,從當(dāng)前的C修改為E。因存儲單元0003已經(jīng)在快照區(qū)中進行過記錄,方法判斷不需要寫時復(fù)制,因此直接執(zhí)行對源數(shù)據(jù)卷修改存儲單元的指令,將存儲單元0003的值修改為E。
[0027]按照同樣的方法,源數(shù)據(jù)卷上的內(nèi)容再次被改變時,也可以將改變的內(nèi)容記錄在保存卷不同的快照時間處。
[0028]參見圖4,恢復(fù)數(shù)據(jù)時,這里我們假設(shè)要將數(shù)據(jù)恢復(fù)到第一快照時間點,先創(chuàng)建與源數(shù)據(jù)卷上數(shù)據(jù)存儲區(qū)容量相同的暫存區(qū),將當(dāng)前時刻數(shù)據(jù)存儲區(qū)的數(shù)據(jù)復(fù)制到暫存區(qū)中,并且建立暫存區(qū)的暫存單元地址與數(shù)據(jù)存儲區(qū)的存儲單元地址之間一一對應(yīng)的關(guān)系,并且將暫存區(qū)中所有暫存單元作為未處理暫存單元。
[0029]讀取快照單元中所有的6個快照單元。將所讀取的所有快照單元作為未處理快照單元。選擇未處理的快照單元中最靠近待恢復(fù)時刻的一個快照單元,根據(jù)其中記錄的存儲單元地址,按照暫存單元地址與存儲單元地址的映射關(guān)系,計算出暫存單元的地址。當(dāng)處理完第一快照時刻后的第一個快照單元后,未處理的快照單元中最靠近恢復(fù)時科的快照單元就是第一快照時刻后的第二個快照單元,以此類推。
[0030]本示例中,在處理第一快照時刻后的第一快照單元時,根據(jù)該快照單元所記錄的存儲單元地址,所得到的暫存單元地址為2001,由于該暫存單元是未處理暫存單元,則將第一快照時刻后的第一個快照單元所記錄的數(shù)據(jù)A寫入暫存單元2001,并且將暫存單元2001標(biāo)記為已處理暫存單元。
[0031]在處理第一快照時刻后的第二個快照單元時,根據(jù)該快照單元所記錄的存儲單元地址,所得到的暫存單元地址為2002,由于該暫存單元是未處理暫存單元,則將第一快照時刻后的第二個快照單元所記錄的數(shù)據(jù)A寫入暫存單元2002,并且將暫存單元2002標(biāo)記為已處理暫存單元。
[0032]在處理第二快照時刻后的第一個快照單元時,根據(jù)該快照單元所記錄的存儲單元地址,所得到的暫存單元地址為2002,由于該暫存單元已被標(biāo)記為已處理暫存單元,因此不對該暫存單元做任何操作。
[0033]后面的處理方法以此類推,直至所有的快照單元都為已處理快照單元。然后,將暫存區(qū)中的數(shù)據(jù)復(fù)制到數(shù)據(jù)存儲區(qū)中,這就完成了數(shù)據(jù)的恢復(fù)。
【主權(quán)項】
1.一種基于數(shù)據(jù)塊的持續(xù)數(shù)據(jù)保護方法,其特征在于,包括如下步驟:1)建立一個保存卷;2)捕獲對源數(shù)據(jù)卷所有的讀寫1/0,當(dāng)檢測到源數(shù)據(jù)卷的某個數(shù)據(jù)塊要被改寫時,先在所述保存卷上分配一個新的存儲單元,這個存儲單元稱為快照單元,將要修改的數(shù)據(jù)塊的地址以及要修改的數(shù)據(jù)塊的當(dāng)前值記錄在新分配的快照單元中,然后將新數(shù)據(jù)寫入所述數(shù)據(jù)塊內(nèi),所有所述快照單元組成了快照區(qū)。2.根據(jù)權(quán)利要求1所述的基于數(shù)據(jù)塊的持續(xù)數(shù)據(jù)保護方法,其特征在于:所述保存卷與所述源數(shù)據(jù)卷不在同一存儲介質(zhì)上。3.根據(jù)權(quán)利要求1所述的基于數(shù)據(jù)塊的持續(xù)數(shù)據(jù)保護方法,其特征在于:所述保存卷為在線存儲介質(zhì)。4.根據(jù)權(quán)利要求1所述的基于數(shù)據(jù)塊的持續(xù)數(shù)據(jù)保護方法,其特征在于:預(yù)先分配一定數(shù)量的所述快照單元。5.根據(jù)權(quán)利要求1所述的基于數(shù)據(jù)塊的持續(xù)數(shù)據(jù)保護方法,其特征在于:建立一系列備份數(shù)據(jù)的時間點,在兩個相鄰的時間點之間,某個所述數(shù)據(jù)塊內(nèi)的數(shù)據(jù)反復(fù)修改多次,只將該數(shù)據(jù)塊第一次修改前的源數(shù)據(jù)存儲到所述快照單元內(nèi)。
【專利摘要】本發(fā)明公開了一種基于數(shù)據(jù)塊的持續(xù)數(shù)據(jù)保護方法,其特征在于,包括如下步驟:1)建立一個保存卷;2)捕獲對源數(shù)據(jù)卷所有的讀寫I/O,當(dāng)檢測到源數(shù)據(jù)卷的某個數(shù)據(jù)塊要被改寫時,在所述保存卷上分配一個新的存儲單元,這個存儲單元稱為快照單元,將要修改的數(shù)據(jù)單塊的地址以及要修改的數(shù)據(jù)塊的當(dāng)前值記錄在新分配的快照單元中,然后將新數(shù)據(jù)寫入所述數(shù)據(jù)塊內(nèi),所有所述快照單元組成了快照區(qū)。采用捕獲對源數(shù)據(jù)卷讀寫I/O的方式,與具體應(yīng)用程序無關(guān),不受上層應(yīng)用程序和文件系統(tǒng)屬性的影響,實現(xiàn)簡便,具有較好的跨平臺、可移植特性。
【IPC分類】G06F11/14, G06F12/02
【公開號】CN104978279
【申請?zhí)枴緾N201410840350
【發(fā)明人】劉二騰, 江安
【申請人】寧波江東圣陽軟件有限公司
【公開日】2015年10月14日
【申請日】2014年12月30日