一種數(shù)據(jù)備份、恢復(fù)方法及其裝置、服務(wù)器的制造方法
【專利摘要】本申請(qǐng)公開(kāi)了一種數(shù)據(jù)備份、恢復(fù)方法及其裝置、服務(wù)器。所述備份方法包括如下步驟:備份服務(wù)器從生產(chǎn)端獲取第一目標(biāo)卷的原始差量位圖;根據(jù)所述原始差量位圖從所述第一目標(biāo)卷中獲取每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù);根據(jù)所述原始差量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到所述定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件,其中,所述定長(zhǎng)卷位圖文件用于標(biāo)識(shí)所述有效數(shù)據(jù)的存儲(chǔ)地址;將定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件。上述方案,能夠?qū)崿F(xiàn)只傳輸有效數(shù)據(jù),減少生產(chǎn)端和服務(wù)器之間的數(shù)據(jù)傳輸量,加快傳輸速度,節(jié)省存儲(chǔ)空間。
【專利說(shuō)明】一種數(shù)據(jù)備份、恢復(fù)方法及其裝置、服務(wù)器
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及通信領(lǐng)域,特別是一種數(shù)據(jù)備份、恢復(fù)方法及其裝置、服務(wù)器。
【背景技術(shù)】
[0002]目前,物理服務(wù)器與虛擬機(jī)的備份越來(lái)越趨向于基于卷(即,磁盤(pán))級(jí)別的備份。基于卷級(jí)別的備份,由全量備份和增量備份組成。
[0003]當(dāng)?shù)谝淮螌⒋齻浞萏摂M機(jī)的其中一個(gè)卷備份到服務(wù)器時(shí),進(jìn)行全量備份,將目標(biāo)卷中的所有數(shù)據(jù)備份到服務(wù)器。第二次及后續(xù)備份時(shí),進(jìn)行差量備份,將該目標(biāo)卷中發(fā)生改變的數(shù)據(jù)備份到服務(wù)器。
[0004]其中,為了便于恢復(fù)數(shù)據(jù),待備份數(shù)據(jù)的存儲(chǔ)格式通常為定長(zhǎng)裸卷塊數(shù)據(jù)(將待備份數(shù)據(jù)分成多個(gè)長(zhǎng)度相等的塊數(shù)據(jù))。虛擬機(jī)以及虛擬機(jī)上的卷都是在虛擬化平臺(tái)產(chǎn)生。服務(wù)器和虛擬化平臺(tái)交互,從虛擬化平臺(tái)獲取待備份虛擬機(jī)目標(biāo)卷的原始差量位圖,根據(jù)原始差量位圖從虛擬化平臺(tái)獲取卷數(shù)據(jù)。服務(wù)器根據(jù)卷數(shù)據(jù)生成卷數(shù)據(jù)對(duì)應(yīng)的卷映射文件,根據(jù)卷映射文件將卷數(shù)據(jù)以若干個(gè)定長(zhǎng)大小的卷文件存儲(chǔ)到相應(yīng)的位置。原始差量位圖是虛擬化平臺(tái)通過(guò)改變塊跟蹤(Change Block Tracking, CBT)等類似技術(shù)計(jì)算得到。
[0005]基于定長(zhǎng)卷數(shù)據(jù)文件將待備份虛擬機(jī)的數(shù)據(jù)備份到服務(wù)器的實(shí)現(xiàn)方式具體為:
[0006]假設(shè),待備份虛擬機(jī)的卷定長(zhǎng)大小為16MB,每個(gè)卷數(shù)據(jù)由4個(gè)定長(zhǎng)大小為4MB的定長(zhǎng)數(shù)據(jù)塊組成,每個(gè)定長(zhǎng)數(shù)據(jù)塊包括4個(gè)粒度為1MB的數(shù)據(jù)。待備份虛擬機(jī)第一目標(biāo)卷(存儲(chǔ)地址為0-16)的卷數(shù)據(jù)如圖1所示。
[0007]當(dāng)服務(wù)器對(duì)待備份虛擬機(jī)的第一目標(biāo)卷進(jìn)行第一次備份時(shí),第一次備份為全量備份:
[0008]服務(wù)器與待備份虛擬化平臺(tái)進(jìn)行交互,從虛擬化平臺(tái)獲取待備份虛擬機(jī)的第一目標(biāo)卷的原始差量位圖,獲取到的原始差量位圖如圖2所示。其中,原始差量位圖中“1”用于標(biāo)識(shí)第一目標(biāo)卷中該地址對(duì)應(yīng)的存儲(chǔ)區(qū)域的數(shù)據(jù)為有效數(shù)據(jù),“0”用于標(biāo)識(shí)第一目標(biāo)卷中該地址對(duì)應(yīng)的存儲(chǔ)區(qū)域的數(shù)據(jù)為無(wú)效數(shù)據(jù)。有效數(shù)據(jù)定義為該地址對(duì)應(yīng)的存儲(chǔ)區(qū)域存儲(chǔ)了數(shù)據(jù)或者該地址對(duì)應(yīng)的存儲(chǔ)區(qū)域的數(shù)據(jù)有變化。無(wú)效數(shù)據(jù)定義為該地址對(duì)應(yīng)的存儲(chǔ)區(qū)域沒(méi)有存儲(chǔ)數(shù)據(jù)或所存儲(chǔ)的數(shù)據(jù)沒(méi)有發(fā)生變化。
[0009]服務(wù)器在獲取到第一目標(biāo)卷的原始差量位圖之后,將原始差量位圖重新計(jì)算生成一個(gè)4比特(Bit)的位圖,1比特(Bit)占用4MB的存儲(chǔ)空間,重新生成的位圖如圖3所示。其中,重新生成的位圖中“1”用于標(biāo)識(shí)在第一目標(biāo)卷的原始位圖中,該地址段中有至少一個(gè)地址對(duì)應(yīng)的值為1,表示需要獲取該地址段存儲(chǔ)的數(shù)據(jù);重新生成的位圖中“0”用于標(biāo)識(shí)在第一目標(biāo)卷的原始位圖中,該地址段中所有地址對(duì)應(yīng)的值均為0,表示不需要獲取該地址段存儲(chǔ)的數(shù)據(jù)。
[0010]服務(wù)器根據(jù)重新計(jì)算的位圖,從虛擬化平臺(tái)中按地址從低到高的順序依次獲取圖3中值為1的地址段對(duì)應(yīng)位置的卷備份數(shù)據(jù),并將第一目標(biāo)卷數(shù)據(jù)分為4個(gè)定長(zhǎng)卷文件保存,同時(shí)生成第一目標(biāo)卷對(duì)應(yīng)的卷映射文件。此時(shí),備份的數(shù)據(jù)大小為16MB。其中,一個(gè)定長(zhǎng)數(shù)據(jù)塊在一次備份中對(duì)應(yīng)一個(gè)定長(zhǎng)卷文件,每個(gè)定長(zhǎng)卷文件的定長(zhǎng)大小為4MB(即一個(gè)定長(zhǎng)數(shù)據(jù)塊的大小),定長(zhǎng)卷文件用于標(biāo)識(shí)本次備份需要存儲(chǔ)的數(shù)據(jù)。每個(gè)目標(biāo)卷對(duì)應(yīng)一個(gè)卷映射文件,每個(gè)定長(zhǎng)卷文件對(duì)應(yīng)一個(gè)卷映射文件的其中一個(gè)元素,每個(gè)卷映射文件對(duì)應(yīng)一個(gè)地址段,定長(zhǎng)卷文件與卷映射文件通過(guò)定長(zhǎng)卷文件的名稱關(guān)聯(lián)。保存的定長(zhǎng)卷文件如圖4所示,其中,F(xiàn)_l_Snap_l標(biāo)識(shí)該文件為第一次備份的第一定長(zhǎng)卷文件。卷映射文件如圖5所示,其中,F(xiàn)_l_Snap_l標(biāo)識(shí)第一次備份的第一定長(zhǎng)卷文件存儲(chǔ)地址為0_3。
[0011]當(dāng)服務(wù)器對(duì)待備份虛擬機(jī)的第一目標(biāo)卷進(jìn)行第二次或后續(xù)備份時(shí),第二次備份可以為增量備份。
[0012]假設(shè),此時(shí)第一目標(biāo)卷的卷數(shù)據(jù)發(fā)生變化,服務(wù)器對(duì)待備份虛擬機(jī)的第一目標(biāo)卷進(jìn)行增量備份,第一目標(biāo)卷的卷數(shù)據(jù)如圖6所示。其中,圖6中陰影部分的地址標(biāo)識(shí)該地址存儲(chǔ)的數(shù)據(jù)發(fā)生變化。
[0013]服務(wù)器與待備份虛擬化平臺(tái)進(jìn)行交互,從虛擬化平臺(tái)獲取待備份虛擬機(jī)的第一目標(biāo)卷相對(duì)于最近一次備份的原始差量位圖,此時(shí),獲取到的原始差量位圖如圖7所示。其中,原始差量位圖中“I”用于標(biāo)識(shí)第一目標(biāo)卷中該地址對(duì)應(yīng)的存儲(chǔ)區(qū)域的數(shù)據(jù)為有效數(shù)據(jù),“O”用于標(biāo)識(shí)第一目標(biāo)卷中該地址對(duì)應(yīng)的存儲(chǔ)區(qū)域的數(shù)據(jù)為無(wú)效數(shù)據(jù)。有效數(shù)據(jù)定義為該地址對(duì)應(yīng)的存儲(chǔ)區(qū)域所存儲(chǔ)的數(shù)據(jù)發(fā)生變化。無(wú)效數(shù)據(jù)定義為該地址對(duì)應(yīng)的存儲(chǔ)區(qū)域所存儲(chǔ)的數(shù)據(jù)沒(méi)有發(fā)生變化。
[0014]服務(wù)器在獲取到第一目標(biāo)卷的原始差量位圖之后,將原始差量位圖重新計(jì)算生成一個(gè)4比特(Bit)的位圖,I比特(Bit)占用4MB的存儲(chǔ)空間,重新生成的位圖如圖8所示。
[0015]服務(wù)器根據(jù)重新計(jì)算的位圖,從虛擬化平臺(tái)中按地址從低到高的順序依次獲取圖8中值為I的地址段對(duì)應(yīng)位置的卷備份數(shù)據(jù),并將第一目標(biāo)卷數(shù)據(jù)分為4個(gè)定長(zhǎng)卷文件保存,同時(shí)生成第一目標(biāo)卷對(duì)應(yīng)的卷映射文件。此時(shí),備份的數(shù)據(jù)大小為8MB。保存的定長(zhǎng)卷文件如圖9所示,其中,F(xiàn)_l_Snap_2標(biāo)識(shí)該文件為第二次備份的第一定長(zhǎng)卷文件。卷映射文件如圖10所示,圖10中的卷映射文件是由第一次備份生成的卷備份文件和第二次備份生成的卷映射文件疊加而成。其中,F(xiàn)_l_Snap_2標(biāo)識(shí)第二次備份的第一定長(zhǎng)卷文件存儲(chǔ)地址為0-3,F(xiàn)_2_Snap_l標(biāo)識(shí)第一次備份的第二定長(zhǎng)卷文件存儲(chǔ)地址為4_7。
[0016]當(dāng)虛擬化平臺(tái)第一目標(biāo)卷數(shù)據(jù)丟失,需要將服務(wù)器中第一目標(biāo)卷的第二次備份的卷數(shù)據(jù)恢復(fù)到虛擬化平臺(tái)時(shí),服務(wù)器通過(guò)備份軟件查找具體備份時(shí)間點(diǎn)對(duì)應(yīng)的第一目標(biāo)卷的卷映射文件,并從該卷映射文件中獲取每個(gè)定長(zhǎng)卷文件的名稱,打開(kāi)相應(yīng)的定長(zhǎng)卷文件,讀出定長(zhǎng)卷文件的所有數(shù)據(jù),傳輸?shù)教摂M化平臺(tái),以使虛擬化平臺(tái)能夠?qū)⒔邮盏降臄?shù)據(jù)存儲(chǔ)到備份軟件指定的位置。
[0017]然而,這種基于定長(zhǎng)卷數(shù)據(jù)文件的備份和恢復(fù)方法,由于服務(wù)器根據(jù)虛擬化平臺(tái)的原始差量位圖重新計(jì)算的位圖中I比特(Bit)的粒度為4MB,當(dāng)?shù)谝荒繕?biāo)卷的定長(zhǎng)數(shù)據(jù)塊中只有部分?jǐn)?shù)據(jù)為有效數(shù)據(jù)時(shí),該定長(zhǎng)數(shù)據(jù)塊需要被全部備份。例如,如圖6所示的卷數(shù)據(jù)相對(duì)于圖1所示的卷數(shù)據(jù),地址0-3對(duì)應(yīng)的定長(zhǎng)數(shù)據(jù)塊中只有地址0、地址2中存儲(chǔ)的數(shù)據(jù)發(fā)生改變,在備份時(shí),卻需要對(duì)地址0-3對(duì)應(yīng)的定長(zhǎng)數(shù)據(jù)塊進(jìn)行整體備份。由于備份時(shí)將定長(zhǎng)數(shù)據(jù)塊中的沒(méi)有發(fā)生變化的數(shù)據(jù)(無(wú)效數(shù)據(jù))也備份到服務(wù)器,導(dǎo)致服務(wù)器與虛擬化平臺(tái)間的數(shù)據(jù)傳輸量大,增加了備份時(shí)間。
[0018]并且,當(dāng)待備份虛擬化平臺(tái)的第一目標(biāo)卷為精簡(jiǎn)配置卷時(shí),對(duì)于虛擬化平臺(tái)還未分配的空間,在將待備份虛擬化平臺(tái)的第一目標(biāo)卷的數(shù)據(jù)備份到服務(wù)器時(shí),由于卷數(shù)據(jù)根據(jù)定長(zhǎng)對(duì)齊,會(huì)導(dǎo)致服務(wù)器寫(xiě)入無(wú)效數(shù)據(jù)。在將服務(wù)器中第一目標(biāo)卷的數(shù)據(jù)恢復(fù)到虛擬化平臺(tái)時(shí),將定長(zhǎng)卷文件的數(shù)據(jù)0(數(shù)據(jù)O占用IMB的存儲(chǔ)空間)也寫(xiě)入虛擬化平臺(tái),導(dǎo)致虛擬化平臺(tái)占用過(guò)多的空間。其中,精簡(jiǎn)配置卷的特點(diǎn)是先設(shè)置有權(quán)限使用的存儲(chǔ)空間,但按實(shí)際使用情況分配存儲(chǔ)空間。
【發(fā)明內(nèi)容】
[0019]本申請(qǐng)?zhí)峁┮环N數(shù)據(jù)備份、恢復(fù)方法及其裝置、服務(wù)器,能夠?qū)崿F(xiàn)只傳輸有效數(shù)據(jù),減少生產(chǎn)端和服務(wù)器之間的數(shù)據(jù)傳輸量,加快傳輸速度,節(jié)省存儲(chǔ)空間。
[0020]本申請(qǐng)第一方面提供一種數(shù)據(jù)傳輸方法,包括如下步驟:備份服務(wù)器從生產(chǎn)端獲取第一目標(biāo)卷的原始差量位圖,其中,所述第一目標(biāo)卷為待備份卷,所述原始差量位圖為第一目標(biāo)卷的所有定長(zhǎng)數(shù)據(jù)塊的原始差量位圖;根據(jù)所述原始差量位圖從所述第一目標(biāo)卷中獲取定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù);根據(jù)所述原始差量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到所述定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件,其中,所述定長(zhǎng)卷位圖文件用于標(biāo)識(shí)所述有效數(shù)據(jù)在所述第一目標(biāo)卷中的存儲(chǔ)地址;將所述定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到所述定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件,其中,所述定長(zhǎng)卷文件與所述定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存,所述定長(zhǎng)卷文件用于保存本次備份的有效數(shù)據(jù)。
[0021]結(jié)合第一方面,本申請(qǐng)第一方面的第一種可能的實(shí)施方式中,根據(jù)所述定長(zhǎng)卷文件保存所述第一目標(biāo)卷的卷映射文件,其中,所述卷映射文件至少包括所述第一目標(biāo)卷的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑。
[0022]結(jié)合第一方面或第一方面的第一種可能的實(shí)施方式,本申請(qǐng)第一方面的第二種可能的實(shí)施方式中,所述方法還包括:所述備份服務(wù)器從生產(chǎn)端獲取所述第一目標(biāo)卷的增量位圖,所述增量位圖為所述第一目標(biāo)卷中發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的差量位圖;根據(jù)所述增量位圖從所述第一目標(biāo)卷中獲取發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù);根據(jù)所述增量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到所述定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷位圖文件中;將所述定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到所述定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷文件中。
[0023]結(jié)合第一方面的第一種可能的實(shí)施方式,本申請(qǐng)第一方面的第三種可能的實(shí)施方式中,所述卷映射文件還包括與所述定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件的名稱。
[0024]本申請(qǐng)第二方面提供一種一種數(shù)據(jù)恢復(fù)方法,所述方法包括如下步驟:備份服務(wù)器獲取第一目標(biāo)卷的定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件,其中,所述第一目標(biāo)卷為待恢復(fù)卷,所述第一目標(biāo)卷包括多個(gè)定長(zhǎng)卷文件,所述定長(zhǎng)卷文件與所述定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存,所述定長(zhǎng)卷文件用于標(biāo)識(shí)需要存儲(chǔ)的有效數(shù)據(jù),所述定長(zhǎng)卷位圖文件用于標(biāo)識(shí)所述有效數(shù)據(jù)在生產(chǎn)端中的存儲(chǔ)地址;根據(jù)所述定長(zhǎng)卷文件以及所述定長(zhǎng)卷位圖文件,將所述定長(zhǎng)卷文件中的數(shù)據(jù)恢復(fù)到生產(chǎn)端中所述定長(zhǎng)卷位圖文件標(biāo)識(shí)的存儲(chǔ)地址。
[0025]結(jié)合第二方面,本申請(qǐng)第二方面的第一種可能的實(shí)施方式中,所述定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件是根據(jù)所述第一目標(biāo)卷的卷映射文件獲得,所述卷映射文件至少包括所述第一目標(biāo)卷的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑。
[0026]結(jié)合第二方面的第一種可能的實(shí)施方式,本申請(qǐng)第二方面的第二種可能的實(shí)施方式中,所述卷映射文件還包括與所述定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件的名稱。
[0027]本申請(qǐng)第三方面提供一種數(shù)據(jù)備份裝置,包括如下步驟:所述裝置包括位圖獲取模塊、卷數(shù)據(jù)獲取模塊、位圖組織模塊、備份數(shù)據(jù)存儲(chǔ)模塊;所述位圖獲取模塊用于從生產(chǎn)端獲取第一目標(biāo)卷的原始差量位圖,其中所述第一目標(biāo)卷為待備份卷,所述原始差量位圖為第一目標(biāo)卷的所有定長(zhǎng)數(shù)據(jù)塊的原始差量位圖;所述卷數(shù)據(jù)獲取模塊用于根據(jù)所述位圖獲取模塊獲取的所述原始差量位圖從所述第一目標(biāo)卷中獲取定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù);所述位圖組織模塊用于根據(jù)所述原始差量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到所述定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件,其中,所述定長(zhǎng)卷位圖文件用于標(biāo)識(shí)所述有效數(shù)據(jù)在所述第一目標(biāo)卷中存儲(chǔ)地址;所述備份數(shù)據(jù)存儲(chǔ)模塊用于將所述卷數(shù)據(jù)獲取模塊獲取的所述定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到所述定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件,其中,所述定長(zhǎng)卷文件與所述定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存,所述定長(zhǎng)卷文件用于標(biāo)識(shí)本次備份的有效數(shù)據(jù)。
[0028]結(jié)合第三方面,本申請(qǐng)第三方面的第一種可能的實(shí)施方式中,所述裝置還包括卷映射文件生成模塊,所述卷映射文件生成模塊用于根據(jù)所述定長(zhǎng)卷文件保存所述第一目標(biāo)卷的卷映射文件,其中,所述卷映射文件至少包括所述第一目標(biāo)卷的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑。
[0029]結(jié)合第三方面或第三方面的第一種可能的實(shí)施方式,本申請(qǐng)第三方面的第二種可能的實(shí)施方式中,所述位圖獲取模塊還用于從生產(chǎn)端獲取所述第一目標(biāo)卷的增量位圖,所述增量位圖為所述第一目標(biāo)卷中發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的差量位圖;所述卷數(shù)據(jù)獲取模塊還用于根據(jù)所述增量位圖從所述第一目標(biāo)卷中獲取發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù);所述位圖組織模塊還用于根據(jù)所述增量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到所述定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷位圖文件中;所述備份數(shù)據(jù)存儲(chǔ)模塊用于將所述定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到所述定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷文件中。
[0030]結(jié)合第三方面的第一種可能的實(shí)施方式,本申請(qǐng)第三方面的第三種可能的實(shí)施方式中,所述卷映射文件還包括與所述定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件的名稱。
[0031]本申請(qǐng)第四方面提供一種數(shù)據(jù)備份裝置,包括如下步驟:存儲(chǔ)器、處理器;
[0032]所述存儲(chǔ)器用于存儲(chǔ)數(shù)據(jù);所述處理器用于從生產(chǎn)端獲取第一目標(biāo)卷的原始差量位圖,其中所述第一目標(biāo)卷為待備份卷,所述原始差量位圖為第一目標(biāo)卷的所有定長(zhǎng)數(shù)據(jù)塊的原始差量位圖;所述處理器用于根據(jù)所述原始差量位圖從所述第一目標(biāo)卷中獲取定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù);所述處理器用于根據(jù)所述原始差量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到所述定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件,其中,所述定長(zhǎng)卷位圖文件用于標(biāo)識(shí)所述有效數(shù)據(jù)在所述第一目標(biāo)卷中存儲(chǔ)地址;所述處理器用于將所述定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到所述定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件,其中,所述定長(zhǎng)卷文件與所述定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存,所述定長(zhǎng)卷文件用于標(biāo)識(shí)本次備份的有效數(shù)據(jù)。
[0033]結(jié)合第四方面,本申請(qǐng)第四方面的第一種可能的實(shí)施方式中,所述處理器還用于根據(jù)所述定長(zhǎng)卷文件保存所述第一目標(biāo)卷的卷映射文件,其中,所述卷映射文件至少包括所述第一目標(biāo)卷的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑。
[0034]結(jié)合第四方面或第四方面的第一種可能的實(shí)施方式,本申請(qǐng)第四方面的第二種可能的實(shí)施方式中,所述處理器還用于從生產(chǎn)端獲取所述第一目標(biāo)卷的增量位圖,所述增量位圖為所述第一目標(biāo)卷中發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的差量位圖;所述處理器還用于根據(jù)所述增量位圖從所述第一目標(biāo)卷中獲取發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù);所述處理器還用于根據(jù)所述增量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到所述定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷位圖文件中;所述處理器用于將所述定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到所述定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷文件中。
[0035]結(jié)合第四方面的第一種可能的實(shí)施方式,本申請(qǐng)第四方面的第三種可能的實(shí)施方式中,所述卷映射文件還包括與所述定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件的名稱。
[0036]本申請(qǐng)第五方面提供一種數(shù)據(jù)恢復(fù)裝置,所述裝置包括獲取模塊、恢復(fù)模塊;所述獲取模塊用于獲取第一目標(biāo)卷的定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件,其中,所述第一目標(biāo)卷為待恢復(fù)卷,所述第一目標(biāo)卷包括多個(gè)定長(zhǎng)卷文件,所述定長(zhǎng)卷文件與所述定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存,所述定長(zhǎng)卷文件用于標(biāo)識(shí)需要存儲(chǔ)的有效數(shù)據(jù),所述定長(zhǎng)卷位圖文件用于標(biāo)識(shí)所述有效數(shù)據(jù)在生產(chǎn)端中的存儲(chǔ)地址;所述恢復(fù)模塊用于根據(jù)所述定長(zhǎng)卷文件以及所述定長(zhǎng)卷位圖文件,將所述定長(zhǎng)卷文件中的數(shù)據(jù)恢復(fù)到生產(chǎn)端中所述定長(zhǎng)卷位圖文件標(biāo)識(shí)的存儲(chǔ)地址。
[0037]結(jié)合第五方面,本申請(qǐng)第五方面的第一種可能的實(shí)施方式中,所述獲取模塊具體用于根據(jù)所述第一目標(biāo)卷的卷映射文件獲取所述定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件,所述卷映射文件至少包括所述第一目標(biāo)卷的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑。
[0038]結(jié)合第五方面的第一種可能的實(shí)施方式,本申請(qǐng)第五方面的第二種可能的實(shí)施方式中,所述卷映射文件還包括與所述定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件的名稱。
[0039]本申請(qǐng)第六方面提供一種數(shù)據(jù)恢復(fù)裝置,所述裝置包括存儲(chǔ)器、處理器;所述存儲(chǔ)器用于存儲(chǔ)數(shù)據(jù);所述處理器用于獲取第一目標(biāo)卷的定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件,其中,所述第一目標(biāo)卷為待恢復(fù)卷,所述第一目標(biāo)卷包括多個(gè)定長(zhǎng)卷文件,所述定長(zhǎng)卷文件與所述定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存,所述定長(zhǎng)卷文件用于標(biāo)識(shí)需要存儲(chǔ)的有效數(shù)據(jù),所述定長(zhǎng)卷位圖文件用于標(biāo)識(shí)所述有效數(shù)據(jù)在生產(chǎn)端中的存儲(chǔ)地址;所述處理器用于根據(jù)所述定長(zhǎng)卷文件以及所述定長(zhǎng)卷位圖文件,將所述定長(zhǎng)卷文件中的數(shù)據(jù)恢復(fù)到生產(chǎn)端中所述定長(zhǎng)卷位圖文件標(biāo)識(shí)的存儲(chǔ)地址。
[0040]結(jié)合第六方面,本申請(qǐng)第六方面的第一種可能的實(shí)施方式中,所述處理器具體用于根據(jù)所述第一目標(biāo)卷的卷映射文件獲取所述定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件,所述卷映射文件至少包括所述第一目標(biāo)卷的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑。
[0041]結(jié)合第六方面的第一種可能的實(shí)施方式,本申請(qǐng)第六方面的第二種可能的實(shí)施方式中,所述卷映射文件還包括與所述定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件的名稱。
[0042]本申請(qǐng)第七方面提供一種用于數(shù)據(jù)備份、恢復(fù)的服務(wù)器,所述服務(wù)器包括上述任一項(xiàng)所述的數(shù)據(jù)備份裝置、以及上述任一項(xiàng)所述的數(shù)據(jù)恢復(fù)裝置。
[0043]上述方案中,服務(wù)器從生產(chǎn)端獲取第一目標(biāo)卷的原始差量位圖,根據(jù)獲取到的原始差量位圖從第一目標(biāo)卷中獲取每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),以及將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到第一目標(biāo)卷的定長(zhǎng)卷位圖文件,并將定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到第一目標(biāo)卷的定長(zhǎng)卷文件,能夠?qū)崿F(xiàn)只傳輸有效數(shù)據(jù),減少生產(chǎn)端和服務(wù)器之間的數(shù)據(jù)傳輸量,加快傳輸速度,節(jié)省存儲(chǔ)空間。
【專利附圖】
【附圖說(shuō)明】
[0044]圖1是現(xiàn)有技術(shù)中基于定長(zhǎng)卷數(shù)據(jù)文件的待備份卷數(shù)據(jù)存儲(chǔ)格式一實(shí)施方式的示意圖;
[0045]圖2是圖1中待備份卷的原始差量位圖;
[0046]圖3是現(xiàn)有技術(shù)中備份服務(wù)器根據(jù)圖2生成第一次備份的定長(zhǎng)卷位圖文件;
[0047]圖4是現(xiàn)有技術(shù)中備份服務(wù)器第一次備份生成的定長(zhǎng)卷文件一實(shí)施方式的示意圖;
[0048]圖5是現(xiàn)有技術(shù)中備份服務(wù)器第一次備份生成的卷映射文件一實(shí)施方式的示意圖;
[0049]圖6是現(xiàn)有技術(shù)中基于定長(zhǎng)卷數(shù)據(jù)文件的待備份卷數(shù)據(jù)存儲(chǔ)格式另一實(shí)施方式的示意;
[0050]圖7是圖6相對(duì)于圖1中待備份卷數(shù)據(jù)的原始差量位圖;
[0051]圖8是圖7中待備份卷的原始差量位圖;
[0052]圖9是現(xiàn)有技術(shù)中備份服務(wù)器根據(jù)圖8生成的位圖;
[0053]圖10是現(xiàn)有技術(shù)中備份服務(wù)器第二次備份生成的定長(zhǎng)卷映射文件一實(shí)施方式的示意圖;
[0054]圖11是本申請(qǐng)數(shù)據(jù)備份、恢復(fù)系統(tǒng)一實(shí)施方式的結(jié)構(gòu)示意圖;
[0055]圖12是本申請(qǐng)服務(wù)器對(duì)第一目標(biāo)卷進(jìn)行第一次備份時(shí)保存的定長(zhǎng)卷位圖文件一實(shí)施方式的示意圖;
[0056]圖13是本申請(qǐng)服務(wù)器對(duì)第一目標(biāo)卷進(jìn)行第一次備份時(shí)保存的定長(zhǎng)卷文件一實(shí)施方式的示意圖;
[0057]圖14是本申請(qǐng)服務(wù)器對(duì)第一目標(biāo)卷進(jìn)行第一次備份時(shí)保存的卷映射文件一實(shí)施方式的示意圖;
[0058]圖15是本申請(qǐng)備份服務(wù)器對(duì)第一目標(biāo)卷進(jìn)行第二次備份時(shí)保存的定長(zhǎng)卷位圖文件的不意圖;
[0059]圖16是本申請(qǐng)服務(wù)器對(duì)第一目標(biāo)卷進(jìn)行第二次備份時(shí)保存的定長(zhǎng)卷文件一實(shí)施方式的示意圖;
[0060]圖17是本申請(qǐng)服務(wù)器對(duì)第一目標(biāo)卷進(jìn)行第二次備份時(shí)保存的卷映射文件一實(shí)施方式的示意圖;
[0061]圖18是本申請(qǐng)數(shù)據(jù)備份方法一實(shí)施方式的流程圖;
[0062]圖19是本申請(qǐng)數(shù)據(jù)備份方法另一實(shí)施方式的流程圖;
[0063]圖20是本申請(qǐng)數(shù)據(jù)備份方法又一實(shí)施方式的流程圖;
[0064]圖21是本申請(qǐng)數(shù)據(jù)恢復(fù)方法一實(shí)施方式的流程圖;
[0065]圖22是本申請(qǐng)數(shù)據(jù)備份裝置一實(shí)施方式的結(jié)構(gòu)示意圖;
[0066]圖23是本申請(qǐng)數(shù)據(jù)備份裝置另一實(shí)施方式的結(jié)構(gòu)示意圖;
[0067]圖24是本申請(qǐng)數(shù)據(jù)恢復(fù)裝置一實(shí)施方式的結(jié)構(gòu)示意圖;
[0068]圖25是本申請(qǐng)數(shù)據(jù)備份裝置又一實(shí)施方式的結(jié)構(gòu)示意圖;
[0069]圖26是本申請(qǐng)數(shù)據(jù)恢復(fù)裝置另一實(shí)施方式的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0070]以下描述中,為了說(shuō)明而不是為了限定,提出了諸如特定系統(tǒng)結(jié)構(gòu)、接口、技術(shù)之類的具體細(xì)節(jié),以便透徹理解本申請(qǐng)。
[0071]請(qǐng)參閱圖11,圖11是本申請(qǐng)數(shù)據(jù)備份、恢復(fù)系統(tǒng)一實(shí)施方式的結(jié)構(gòu)示意圖。本實(shí)施方式中包括生產(chǎn)端100和備份端200。
[0072]其中,生產(chǎn)端100為待備份虛擬機(jī)或物理服務(wù)器,備份端200為服務(wù)器。生產(chǎn)端100中包括至少一個(gè)待備份卷110,待備份卷110的卷數(shù)據(jù)包括多個(gè)對(duì)齊的定長(zhǎng)數(shù)據(jù)塊,每個(gè)定長(zhǎng)數(shù)據(jù)塊占用的存儲(chǔ)空間相同,不同的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的存儲(chǔ)地址段各不相同。
[0073]生產(chǎn)端100和生產(chǎn)端100中的待備份卷110都是在虛擬化平臺(tái)(圖未示)上產(chǎn)生的,服務(wù)器200中安裝了備份軟件,可以實(shí)現(xiàn)備份、恢復(fù)的功能。當(dāng)生產(chǎn)端100將待備份卷110的數(shù)據(jù)備份到服務(wù)器200時(shí),服務(wù)器200與虛擬化平臺(tái)交互,進(jìn)行卷數(shù)據(jù)備份與恢復(fù)。
[0074]在本實(shí)施方式中以生產(chǎn)端100包括一個(gè)待備份卷110 (待備份卷為目標(biāo)卷)為例進(jìn)行說(shuō)明,但并不限于此,在其他實(shí)施方式中還可以包括兩個(gè)或更多個(gè)待備份卷。
[0075]當(dāng)服務(wù)器200對(duì)生產(chǎn)端100的第一目標(biāo)卷110的卷數(shù)據(jù)進(jìn)行第一次備份時(shí),需要對(duì)第一目標(biāo)卷110的卷數(shù)據(jù)進(jìn)行全量備份。
[0076]請(qǐng)一并參閱圖1至圖2,圖1是現(xiàn)有技術(shù)中基于定長(zhǎng)卷數(shù)據(jù)文件的待備份卷數(shù)據(jù)存儲(chǔ)格式一實(shí)施方式的示意圖,圖2是圖1中待備份卷的原始差量位圖。
[0077]其中,如圖1所示的卷數(shù)據(jù)為第一目標(biāo)卷110的原始卷數(shù)據(jù)。第一目標(biāo)卷110的定長(zhǎng)大小為16M,由4個(gè)4M (但并不限于此,可根據(jù)實(shí)際需求設(shè)置為其他值)大小的定長(zhǎng)數(shù)據(jù)塊組成,存儲(chǔ)地址0-3存儲(chǔ)第一定長(zhǎng)數(shù)據(jù)塊,存儲(chǔ)地址4-7存儲(chǔ)第二定長(zhǎng)數(shù)據(jù)塊,存儲(chǔ)地址8-11存儲(chǔ)第三定長(zhǎng)數(shù)據(jù)塊,存儲(chǔ)地址12-15存儲(chǔ)第四定長(zhǎng)數(shù)據(jù)塊。
[0078]如圖2所示的原始差量位圖中,“I”用于標(biāo)識(shí)第一目標(biāo)卷110中該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)區(qū)域的數(shù)據(jù)為有效數(shù)據(jù),“O”用于標(biāo)識(shí)第一目標(biāo)卷110中該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)區(qū)域的數(shù)據(jù)為無(wú)效數(shù)據(jù)。有效數(shù)據(jù)定義為該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)區(qū)域存儲(chǔ)了數(shù)據(jù)或者該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)區(qū)域的數(shù)據(jù)有變化。無(wú)效數(shù)據(jù)定義為該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)區(qū)域沒(méi)有存儲(chǔ)數(shù)據(jù)或所存儲(chǔ)的數(shù)據(jù)沒(méi)有發(fā)生變化。
[0079]服務(wù)器200從生產(chǎn)端100獲取第一目標(biāo)卷110的原始差量位圖,其中,生產(chǎn)端100為待備份的虛擬機(jī)或物理服務(wù)器,第一目標(biāo)卷110為待備份卷。原始差量位圖為第一目標(biāo)卷110的所有定長(zhǎng)數(shù)據(jù)塊的原始差量位圖。
[0080]例如,當(dāng)服務(wù)器200接收到備份指令時(shí),從備份指令中獲取待備份卷的信息,并為待備份卷分配存儲(chǔ)空間,在預(yù)設(shè)的存儲(chǔ)路徑下創(chuàng)建待備份卷的卷映射文件、定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件。其中,備份指令包括待備份卷的名稱,待備份卷的信息包括定長(zhǎng)卷的數(shù)量以及定長(zhǎng)卷的大小等。每次備份都會(huì)創(chuàng)建相應(yīng)的卷映射文件、定長(zhǎng)卷文件、定長(zhǎng)卷文件位圖。定長(zhǎng)卷文件與定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存。卷映射文件至少包括第一目標(biāo)卷的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑。
[0081]假設(shè),服務(wù)器200從備份指令獲取到待備份卷為第一目標(biāo)卷110,第一目標(biāo)卷110包括4個(gè)定長(zhǎng)數(shù)據(jù)塊,服務(wù)器200為第一目標(biāo)卷110分配存儲(chǔ)空間為D盤(pán),在D盤(pán)目錄下創(chuàng)建卷映射文件、定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件。其中,定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件的數(shù)量均為4。
[0082]卷映射文件的名稱為D_M卷映射文件(但不限于此,還可以是其他的名稱),存儲(chǔ)路徑為D:\,D_M卷映射文件用于存儲(chǔ)第Μ次備份時(shí)第一目標(biāo)卷110的每個(gè)定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件的名稱。Μ >0,且Μ為自然數(shù)。定長(zhǎng)卷文件的名稱為F_N_Snap_M,定長(zhǎng)卷文件的存儲(chǔ)地址為D:\F,用于標(biāo)識(shí)在卷D目錄下的F文件夾的子文件夾F_N_Snap_M中存儲(chǔ)第Μ次備份中第Ν個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。定長(zhǎng)卷位圖文件的名稱為BitMap_F_N_Snap_M,定長(zhǎng)卷位圖文件的存儲(chǔ)地址為D: \B,用于標(biāo)識(shí)在卷D目錄的B文件夾的子文件夾BitMap_F_N_Snap_M中保存第Μ次備份中第Ν個(gè)定長(zhǎng)數(shù)據(jù)塊的位圖文件。可以理解的是,定長(zhǎng)卷文件和定長(zhǎng)卷位圖文件的存儲(chǔ)路徑可以相同,也可以不同,此處不做限制。N>0,且N為自然數(shù)。
[0083]定長(zhǎng)卷文件與定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存,定長(zhǎng)卷文件的名稱中的Ν、Μ與定長(zhǎng)卷位圖文件的名稱中的Ν、Μ分別相等。
[0084]可以理解的是,本實(shí)施方式是在獲取包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊時(shí),創(chuàng)建定長(zhǎng)卷文件、定長(zhǎng)卷位圖文件。在其他實(shí)施方式中,也可以是在其他的時(shí)間點(diǎn)創(chuàng)建定長(zhǎng)卷文件、定長(zhǎng)卷位圖文件,在此對(duì)創(chuàng)建定長(zhǎng)卷文件、定長(zhǎng)卷位圖文件的時(shí)間不做限制,可以是服務(wù)器200在接收到備份指令時(shí)創(chuàng)建,也可以是在獲取定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)時(shí)創(chuàng)建。卷映射文件、定長(zhǎng)卷文件、定長(zhǎng)卷位圖文件的預(yù)設(shè)的存儲(chǔ)路徑可以根據(jù)實(shí)際需要設(shè)定。
[0085]服務(wù)器200對(duì)生產(chǎn)端100的第一目標(biāo)卷110進(jìn)行第一次備份時(shí),在預(yù)設(shè)的存儲(chǔ)路徑下創(chuàng)建待備份卷第二次備份的卷映射文件、定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件。其中,創(chuàng)建的第一次備份卷映射文件的名稱為D_1卷映射文件。在D_1卷映射文件的目錄下創(chuàng)建的定長(zhǎng)卷文件包括第一定長(zhǎng)卷F_l_Snap_l、F_2_Snap_l、F_3_Snap_l、F_4_Snap_l,創(chuàng)建的定長(zhǎng)卷位圖文件包括 BitMap_F_l_Snap_l、BitMap_F_2_Snap_l、BitMap_F_3_Snap_l、BitMap_F—4—Snap—Ιο
[0086]服務(wù)器200與虛擬化平臺(tái)進(jìn)行交互,通過(guò)虛擬化平臺(tái)從生產(chǎn)端100獲取第一次備份中第一目標(biāo)卷110的原始差量位圖。其中,第一目標(biāo)卷110的原始差量位圖是生產(chǎn)端100在檢測(cè)到第一目標(biāo)卷110的卷數(shù)據(jù)發(fā)生改變時(shí),自動(dòng)生成的,原始差量位圖包括第一目標(biāo)卷110的所有定長(zhǎng)數(shù)據(jù)塊的原始差量位圖。
[0087]服務(wù)器200根據(jù)原始差量位圖從第一目標(biāo)卷110中獲取定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),根據(jù)原始差量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件。其中,包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊與定長(zhǎng)卷位圖文件一一對(duì)應(yīng),定長(zhǎng)卷位圖文件用于標(biāo)識(shí)有效數(shù)據(jù)在第一目標(biāo)卷110中的存儲(chǔ)地址。
[0088]例如,服務(wù)器200獲取到第一目標(biāo)卷110的原始差量位圖之后,按存儲(chǔ)地址從低到高的順序依次檢測(cè)每個(gè)存儲(chǔ)地址對(duì)應(yīng)的值,從而判斷每個(gè)定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的存儲(chǔ)地址段是否有需要獲取的有效數(shù)據(jù)??梢岳斫獾氖?,在其他實(shí)施方式中,服務(wù)器200可以按存儲(chǔ)地址從高到低的順序依次檢測(cè)每個(gè)存儲(chǔ)地址對(duì)應(yīng)的值,還可以隨機(jī)檢測(cè)任一定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的存儲(chǔ)地址段中每個(gè)存儲(chǔ)地址對(duì)應(yīng)的值,此處不作限制,只要能夠完全檢測(cè)第一目標(biāo)卷110的卷數(shù)據(jù)對(duì)應(yīng)的存儲(chǔ)地址對(duì)應(yīng)的值即可。
[0089]當(dāng)服務(wù)器200檢測(cè)到原始差量位圖中任一存儲(chǔ)地址對(duì)應(yīng)的值為1時(shí),判斷為該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)區(qū)域存儲(chǔ)了需要獲取的有效數(shù)據(jù)。服務(wù)器200以定長(zhǎng)數(shù)據(jù)塊為基本單位,按順序分別獲取每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。
[0090]其中,服務(wù)器200判斷需要獲取第一定長(zhǎng)塊數(shù)據(jù)、第二定長(zhǎng)數(shù)據(jù)塊、第三定長(zhǎng)數(shù)據(jù)塊以及第四定長(zhǎng)數(shù)據(jù)塊包含的有效數(shù)據(jù)。
[0091]服務(wù)器200獲取的第一定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)為A、B,獲取的第二定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)為E、G,獲取的第三定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)為I,獲取的第四定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)為P。
[0092]當(dāng)服務(wù)器200獲取到定長(zhǎng)數(shù)據(jù)塊包含有效數(shù)據(jù)后,根據(jù)原始差量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到預(yù)先創(chuàng)建的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件。其中,一個(gè)包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)一個(gè)定長(zhǎng)卷位圖文件,定長(zhǎng)卷位圖文件用于標(biāo)識(shí)有效數(shù)據(jù)在第一目標(biāo)卷110中的存儲(chǔ)地址。
[0093]例如,當(dāng)服務(wù)器200獲取到定長(zhǎng)數(shù)據(jù)塊包含有效數(shù)據(jù)后,根據(jù)原始差量位圖將第一定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖以文件的形式保存到存儲(chǔ)路徑為D:\B的子文件夾BitMap_F_l_Snap_l中,標(biāo)識(shí)在卷D目錄的B文件夾的子文件夾BitMap_F_l_Snap_l保存了第一目標(biāo)卷110的第一定長(zhǎng)卷位圖文件。BitMap_F_l_Snap_l標(biāo)識(shí)第一定長(zhǎng)數(shù)據(jù)塊的第一個(gè)有效數(shù)據(jù)在生產(chǎn)端100的第一目標(biāo)卷110的存儲(chǔ)地址為0,第一定長(zhǎng)數(shù)據(jù)塊的第二個(gè)有效數(shù)據(jù)在生產(chǎn)端100的第一目標(biāo)卷110的存儲(chǔ)地址為I。
[0094]服務(wù)器200將第二定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖以文件的形式保存到存儲(chǔ)路徑D: \B的子文件夾BitMap_F_2_Snap_l中,標(biāo)識(shí)在卷D目錄的B文件夾的子文件夾BitMap_F_2_Snap_l保存了第一目標(biāo)卷110的第二定長(zhǎng)卷位圖文件。BitMap_F_2_Snap_l標(biāo)識(shí)第二定長(zhǎng)數(shù)據(jù)塊的第一個(gè)有效數(shù)據(jù)在生產(chǎn)端100的第一目標(biāo)卷110的存儲(chǔ)地址為4,第二定長(zhǎng)數(shù)據(jù)塊的第二個(gè)有效數(shù)據(jù)在生產(chǎn)端100的第一目標(biāo)卷110的存儲(chǔ)地址為6。
[0095]服務(wù)器200將第三定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖以文件的形式保存到存儲(chǔ)路徑D: \B的子文件夾BitMap_F_3_Snap_l中,標(biāo)識(shí)在卷D目錄的B文件夾的子文件夾BitMap_F_3_Snap_l保存了第一目標(biāo)卷110的第三定長(zhǎng)卷位圖文件。BitMap_F_3_Snap_l標(biāo)識(shí)第三定長(zhǎng)數(shù)據(jù)塊的第一個(gè)有效數(shù)據(jù)在生產(chǎn)端100的第一目標(biāo)卷110的存儲(chǔ)地址為8。
[0096]服務(wù)器200將第四定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖以文件的形式保存到存儲(chǔ)路徑D:\B的子文件夾BitMap_F_4_Snap_l中,標(biāo)識(shí)在卷D目錄的B文件夾的子文件夾BitMap_F_4_Snap_l保存了第一目標(biāo)卷110的第四定長(zhǎng)卷位圖文件。BitMap_F_4_Snap_l標(biāo)識(shí)第四定長(zhǎng)數(shù)據(jù)塊的第一個(gè)有效數(shù)據(jù)在生產(chǎn)端100的第一目標(biāo)卷110的存儲(chǔ)地址為15。
[0097]如圖12所示,圖12是本申請(qǐng)服務(wù)器對(duì)第一目標(biāo)卷進(jìn)行第一次備份時(shí)保存的定長(zhǎng)卷位圖文件一實(shí)施方式的示意圖。
[0098]在第一次備份中,第一定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷位圖文件為第一定長(zhǎng)卷位圖文件,名稱為BitMap_F_l_Snap_l,第一定長(zhǎng)卷位圖文件用于標(biāo)識(shí)在將服務(wù)器200將第一次備份的數(shù)據(jù)恢復(fù)到生產(chǎn)端100中時(shí),第一定長(zhǎng)數(shù)據(jù)塊的第一個(gè)有效數(shù)據(jù)A需要存儲(chǔ)到生產(chǎn)端100的存儲(chǔ)地址O對(duì)應(yīng)的存儲(chǔ)區(qū)域,第一定長(zhǎng)數(shù)據(jù)塊的第二個(gè)有效數(shù)據(jù)B需要存儲(chǔ)到生產(chǎn)端100的存儲(chǔ)地址I對(duì)應(yīng)的存儲(chǔ)區(qū)域。
[0099]第二定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷位圖文件為第二定長(zhǎng)卷位圖文件,名稱為BitMap_F_2_Snap_l,第二定長(zhǎng)卷位圖文件用于標(biāo)識(shí)在將服務(wù)器200將第一次備份的的數(shù)據(jù)恢復(fù)到生產(chǎn)端100中時(shí),第二定長(zhǎng)數(shù)據(jù)塊的第一個(gè)有效數(shù)據(jù)E需要存儲(chǔ)到生產(chǎn)端100的存儲(chǔ)地址4對(duì)應(yīng)的存儲(chǔ)區(qū)域,第二定長(zhǎng)數(shù)據(jù)塊的第二個(gè)有效數(shù)據(jù)G需要存儲(chǔ)到生產(chǎn)端100的存儲(chǔ)地址6對(duì)應(yīng)的存儲(chǔ)區(qū)域。
[0100]第三定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷位圖文件為第三定長(zhǎng)卷位圖文件,名稱為BitMap_F_3_Snap_l,第三定長(zhǎng)卷位圖文件用于標(biāo)識(shí)在將服務(wù)器200將第一次備份的的數(shù)據(jù)恢復(fù)到生產(chǎn)端100中時(shí),第三定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)I需要存儲(chǔ)到生產(chǎn)端100的存儲(chǔ)地址8對(duì)應(yīng)的存儲(chǔ)區(qū)域。
[0101]第四定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷位圖文件為第四定長(zhǎng)卷位圖文件,名稱為BitMap_F_4_Snap_l,第四定長(zhǎng)卷位圖文件用于標(biāo)識(shí)在將服務(wù)器200將第一次備份的的數(shù)據(jù)恢復(fù)到生產(chǎn)端100中時(shí),第四定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)P需要存儲(chǔ)到生產(chǎn)端100的存儲(chǔ)地址15對(duì)應(yīng)的存儲(chǔ)區(qū)域。
[0102]服務(wù)器200將定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到第一目標(biāo)卷的定長(zhǎng)卷文件,其中,一個(gè)定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)一個(gè)定長(zhǎng)卷文件,定長(zhǎng)卷文件與定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存,定長(zhǎng)卷文件用于保存本次備份的有效數(shù)據(jù)。
[0103]例如,服務(wù)器200在獲得定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),并且將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到第一目標(biāo)卷110的定長(zhǎng)卷位圖文件后,將獲取到的每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),存儲(chǔ)到預(yù)先創(chuàng)建的定長(zhǎng)卷文件中。其中,一個(gè)定長(zhǎng)卷文件對(duì)應(yīng)一個(gè)定長(zhǎng)卷位圖文件,定長(zhǎng)卷文件與定長(zhǎng)卷位圖文件是關(guān)聯(lián)保存的,定長(zhǎng)卷文件用于標(biāo)識(shí)本次備份的有效數(shù)據(jù)。如圖13所示,圖13是本申請(qǐng)服務(wù)器對(duì)第一目標(biāo)卷進(jìn)行第一次備份時(shí)保存的定長(zhǎng)卷文件一實(shí)施方式的示意圖。
[0104]服務(wù)器200將第一定長(zhǎng)數(shù)據(jù)塊的第一個(gè)有效數(shù)據(jù)A、第二個(gè)有效數(shù)據(jù)B依次存儲(chǔ)到存儲(chǔ)路徑為D:\F的子文件夾F_l_Snap_l。F_l_Snap_l為第一定長(zhǎng)卷文件,標(biāo)識(shí)在卷D目錄下的F文件夾的子文件夾F_l_Snap_l中保存了第一定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。
[0105]服務(wù)器200將第二定長(zhǎng)數(shù)據(jù)塊的第一個(gè)有效數(shù)據(jù)E、第二個(gè)有效數(shù)據(jù)G依次存儲(chǔ)到D:\F的子文件夾F_2_Snap_l為第二定長(zhǎng)卷文件。F_2_Snap_l為第一定長(zhǎng)卷文件,標(biāo)識(shí)在卷D目錄下的F文件夾的子文件夾F_2_Snap_l中保存了第二定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。
[0106]服務(wù)器200將第三定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)I存儲(chǔ)到D:\F的子文件夾F_3_Snap_l。F_3_Snap_l為第一定長(zhǎng)卷文件,標(biāo)識(shí)在卷D目錄下的F文件夾的子文件夾F_3_Snap_l中保存了第三定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。
[0107]服務(wù)器200將第四定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)P存儲(chǔ)到D: \F的子文件夾F_4_Snap_l。F_4_Snap_l為第四定長(zhǎng)卷文件,標(biāo)識(shí)在卷D目錄下的F文件夾的子文件夾F_4_Snap_l中保存了第一定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。
[0108]在本實(shí)施方式中,服務(wù)器200是每獲取到一個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件,以及將獲取到的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件中。如此循環(huán),直到將第一目標(biāo)卷110的所有定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)分別存儲(chǔ)到各自對(duì)應(yīng)的定長(zhǎng)卷文件。
[0109]在其他實(shí)施方式中,也可以為分別獲取完第一目標(biāo)卷110的所有定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)后,再將每個(gè)包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到定長(zhǎng)數(shù)據(jù)塊各自對(duì)應(yīng)的定長(zhǎng)卷位圖文件,以及將獲取到的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到定長(zhǎng)數(shù)據(jù)塊各自對(duì)應(yīng)的定長(zhǎng)卷文件中。
[0110]可選地,服務(wù)器200在將所有定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到各自對(duì)應(yīng)的第一次備份的定長(zhǎng)卷文件之后,根據(jù)定長(zhǎng)卷文件保存第一目標(biāo)卷的卷映射文件,其中,每次備份都會(huì)生成相應(yīng)的卷映射文件、定長(zhǎng)卷文件、定長(zhǎng)卷文件位圖。定長(zhǎng)卷文件與定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存。卷映射文件至少包括第一目標(biāo)卷110的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑。在服務(wù)器220需要將第一目標(biāo)卷110的卷數(shù)據(jù)恢復(fù)到生產(chǎn)端100中時(shí),卷映射文件用于指引服務(wù)器220查找每個(gè)定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件,以及根據(jù)每個(gè)定長(zhǎng)卷文件的存儲(chǔ)路徑查找每個(gè)定長(zhǎng)卷文件的數(shù)據(jù)。其中,定長(zhǎng)卷文件的名稱與定長(zhǎng)卷文件的存儲(chǔ)路徑一一對(duì)應(yīng),并關(guān)聯(lián)保存。
[0111]可選地,卷映射文件還包括與定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件的名稱。其中,定長(zhǎng)卷文件的名稱、定長(zhǎng)卷文件的存儲(chǔ)路徑以及定長(zhǎng)卷位圖文件的名稱一一對(duì)應(yīng),并關(guān)聯(lián)保存。
[0112]如圖14所示,圖14是本申請(qǐng)服務(wù)器對(duì)第一目標(biāo)卷進(jìn)行第一次備份時(shí)保存的卷映射文件一實(shí)施方式的不意圖。
[0113]例如,服務(wù)器200在每保存一個(gè)第一次備份的定長(zhǎng)卷文件時(shí),將該定長(zhǎng)卷文件的文件名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑關(guān)聯(lián)保存到預(yù)先建立的第一目標(biāo)卷的卷映射文件中,直到將所有的定長(zhǎng)卷文件名稱以及存儲(chǔ)路徑保存到卷映射文件。其中,卷映射文件至少包括定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑。
[0114]定長(zhǎng)卷文件的名稱用于在將服務(wù)器200中的數(shù)據(jù)恢復(fù)到生產(chǎn)端100時(shí),能夠使得服務(wù)器200根據(jù)定長(zhǎng)卷文件的名稱查找定長(zhǎng)卷文件的名稱對(duì)應(yīng)的定長(zhǎng)卷文件,以及與定長(zhǎng)卷文件關(guān)聯(lián)保存的定長(zhǎng)卷位圖文件,根據(jù)定長(zhǎng)卷文件的存儲(chǔ)路徑獲取該定長(zhǎng)卷文件包含的數(shù)據(jù)。定長(zhǎng)卷位圖文件用于標(biāo)識(shí)定長(zhǎng)卷文件包含的數(shù)據(jù)需要傳輸?shù)缴a(chǎn)端100的存儲(chǔ)地址。
[0115]卷映射文件標(biāo)識(shí):在存儲(chǔ)路徑I指向的位置保存了第一次備份的第一定長(zhǎng)卷文件F_l_Snap_l,第一定長(zhǎng)卷文件F_l_Snap_l對(duì)應(yīng)生產(chǎn)端100中存儲(chǔ)在存儲(chǔ)地址段0_3的第一定長(zhǎng)數(shù)據(jù)塊。在存儲(chǔ)路徑2指向的位置保存了第一次備份的第二定長(zhǎng)卷文件F_2_Snap_l,第二定長(zhǎng)卷文件F_2_Snap_l對(duì)應(yīng)生產(chǎn)端100中存儲(chǔ)在存儲(chǔ)地址段4_7的第二定長(zhǎng)數(shù)據(jù)塊。在存儲(chǔ)路徑3指向的位置保存了第一次備份的第三定長(zhǎng)卷文件F_3_Snap_l,第三定長(zhǎng)卷文件F_3_Snap_l對(duì)應(yīng)生產(chǎn)端100中存儲(chǔ)在存儲(chǔ)地址段8_11的第三定長(zhǎng)數(shù)據(jù)塊。在存儲(chǔ)路徑4指向的位置保存了第一次備份的第四定長(zhǎng)卷文件F_4_Snap_l,第四定長(zhǎng)卷文件F_4_Snap_l對(duì)應(yīng)生產(chǎn)端100中存儲(chǔ)在存儲(chǔ)地址段12-15的第四定長(zhǎng)數(shù)據(jù)塊。
[0116]可選地,卷映射文件還包括與定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件的名稱。其中,定長(zhǎng)卷文件的名稱、定長(zhǎng)卷文件的存儲(chǔ)路徑以及定長(zhǎng)卷位圖文件的名稱一一對(duì)應(yīng)并關(guān)聯(lián)保存,定長(zhǎng)卷文件的名稱用于查找定長(zhǎng)卷文件的名稱對(duì)應(yīng)的定長(zhǎng)卷文件,定長(zhǎng)卷文件的存儲(chǔ)路徑用于標(biāo)識(shí)定長(zhǎng)卷文件的存儲(chǔ)位置,定長(zhǎng)卷位圖文件的名稱用于查找定長(zhǎng)卷位圖文件的名稱對(duì)應(yīng)的定長(zhǎng)卷位圖文件。
[0117]當(dāng)?shù)谝荒繕?biāo)卷110的卷數(shù)據(jù)發(fā)生變化,服務(wù)器200對(duì)生產(chǎn)端100的第一目標(biāo)卷110的卷數(shù)據(jù)進(jìn)行第N (N多2)次備份時(shí),需要對(duì)第一目標(biāo)卷110的卷數(shù)據(jù)進(jìn)行增量備份,每一次增量備份的方式相同,下面以第二次備份為例進(jìn)行說(shuō)明:
[0118]服務(wù)器200對(duì)第一目標(biāo)卷110進(jìn)行第二次備份與第一次備份的不同之處在于,月艮務(wù)器200獲取到的差量位圖為第一目標(biāo)卷110相對(duì)于第一次備份的原始差量位圖,即待備份卷數(shù)據(jù)的增量位圖;并根據(jù)增量位圖從第一目標(biāo)卷110中獲取發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),以及有效數(shù)據(jù)對(duì)應(yīng)的位圖。其中,有效數(shù)據(jù)是由本次備份中發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊所包含的有效數(shù)據(jù),由本次備份的發(fā)生改變的數(shù)據(jù)(增量數(shù)據(jù))以及上一次備份中的有效數(shù)據(jù)合并得到。
[0119]具體地,請(qǐng)一并參閱圖6至圖7,圖6是現(xiàn)有技術(shù)中基于定長(zhǎng)卷數(shù)據(jù)文件的待備份卷數(shù)據(jù)存儲(chǔ)格式另一實(shí)施方式的示意圖,圖7是圖6相對(duì)于圖1中待備份卷數(shù)據(jù)的原始差量位圖。其中,如圖6中陰影部分所示的卷數(shù)據(jù)為第一目標(biāo)卷110發(fā)生變化的卷數(shù)據(jù),存儲(chǔ)地址0、3、13、15對(duì)應(yīng)的存儲(chǔ)區(qū)域存儲(chǔ)的數(shù)據(jù)發(fā)生變化。如圖7所示的原始差量位圖是圖6相對(duì)于圖1中第一次備份的卷數(shù)據(jù)的原始差量位圖,即待備份卷數(shù)據(jù)的增量位圖?!?”用于標(biāo)識(shí)該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)區(qū)域的數(shù)據(jù)有變化,有變化的數(shù)據(jù)為有效數(shù)據(jù)。
[0120]服務(wù)器200從生產(chǎn)端獲取第一目標(biāo)卷110的增量位圖,增量位圖為第一目標(biāo)卷100中發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的差量位圖。
[0121]例如,當(dāng)服務(wù)器200接收到第N(N彡2,此時(shí)N = 2)次備份指令時(shí),在預(yù)設(shè)的存儲(chǔ)路徑下創(chuàng)建待備份卷第二次備份的卷映射文件、定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件。其中,創(chuàng)建的第一次備份卷映射文件的名稱為D_2卷映射文件。在D_2卷映射文件的目錄下創(chuàng)建的定長(zhǎng)卷文件包括第一定長(zhǎng)卷F_l_Snap_2、F_2_Snap_2、F_3_Snap_2、F_4_Snap_2,創(chuàng)建的定長(zhǎng)卷位圖文件包括 BitMap_F_l_Snap_2、BitMap_F_2_Snap_2、BitMap_F_3_Snap_2、BitMap_F_4_Snap_2。卷映射文件至少包括第一目標(biāo)卷100的所有定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑。定長(zhǎng)卷文件與定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存。
[0122]服務(wù)器200與虛擬化平臺(tái)進(jìn)行交互,通過(guò)虛擬化平臺(tái)從生產(chǎn)端100獲取第二次備份中第一目標(biāo)卷110的增量位圖。其中,第一目標(biāo)卷110的增量位圖是生產(chǎn)端100在檢測(cè)到第一目標(biāo)卷110的卷數(shù)據(jù)發(fā)生改變時(shí),自動(dòng)生成的,增量位圖包括第一目標(biāo)卷110中所有發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的差量位圖。
[0123]其中,服務(wù)器200獲取到第二次備份中第一目標(biāo)卷110的增量位圖中包括第一定長(zhǎng)數(shù)據(jù)塊的增量位圖BitMap_F_l、第四定長(zhǎng)數(shù)據(jù)塊的增量位圖BitMap_F_4。
[0124]BitMap_F_l用于標(biāo)識(shí)在生產(chǎn)端100中第一定長(zhǎng)數(shù)據(jù)塊的第一個(gè)有效數(shù)據(jù)A'存儲(chǔ)在存儲(chǔ)地址0對(duì)于的存儲(chǔ)區(qū)域,第一定長(zhǎng)數(shù)據(jù)塊的第二個(gè)有效數(shù)據(jù)C存儲(chǔ)在存儲(chǔ)地址2對(duì)于的存儲(chǔ)區(qū)域。
[0125]BitMap_F_4用于標(biāo)識(shí)在生產(chǎn)端100中第四定長(zhǎng)數(shù)據(jù)塊的第一個(gè)有效數(shù)據(jù)N存儲(chǔ)在存儲(chǔ)地址13對(duì)于的存儲(chǔ)區(qū)域,第四定長(zhǎng)數(shù)據(jù)塊的第二個(gè)有效數(shù)據(jù)P存儲(chǔ)在存儲(chǔ)地址15對(duì)于的存儲(chǔ)區(qū)域。
[0126]服務(wù)器200根據(jù)增量位圖從第一目標(biāo)卷110中獲取發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。
[0127]例如,服務(wù)器200在獲取到第一目標(biāo)卷110的增量位圖后,按存儲(chǔ)地址從低到高的順序依次檢測(cè)每個(gè)存儲(chǔ)地址對(duì)應(yīng)的值,從而判斷每個(gè)定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的存儲(chǔ)地址段是否有需要獲取的有效數(shù)據(jù)??梢岳斫獾氖牵谄渌麑?shí)施方式中,服務(wù)器200可以按存儲(chǔ)地址從高到低的順序依次檢測(cè)每個(gè)存儲(chǔ)地址對(duì)應(yīng)的值,還可以隨機(jī)檢測(cè)任一定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的存儲(chǔ)地址段中每個(gè)存儲(chǔ)地址對(duì)應(yīng)的值,此處不作限制,只要能夠完全檢測(cè)第一目標(biāo)卷110的卷數(shù)據(jù)對(duì)應(yīng)的存儲(chǔ)地址對(duì)應(yīng)的值即可。當(dāng)服務(wù)器200檢測(cè)到增量位圖中任一存儲(chǔ)地址對(duì)應(yīng)的值為I時(shí),判斷為該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)區(qū)域存儲(chǔ)了需要獲取的有效數(shù)據(jù)。服務(wù)器200以定長(zhǎng)數(shù)據(jù)塊為基本單位,按順序分別獲取每個(gè)發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。
[0128]其中,服務(wù)器200判斷第一定長(zhǎng)數(shù)據(jù)塊以及第四定長(zhǎng)數(shù)據(jù)塊的數(shù)據(jù)發(fā)生改變,需要獲取第一定長(zhǎng)數(shù)據(jù)塊以及第四定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。服務(wù)器200獲取的發(fā)生改變的第一定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)為A'、C,獲取的第四定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)為N、P'。
[0129]服務(wù)器200根據(jù)增量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷位圖文件中。當(dāng)前的定長(zhǎng)卷位圖文件即為第N次備份的定長(zhǎng)卷位圖文件。
[0130]例如,服務(wù)器200根據(jù)增量位圖,從存儲(chǔ)在本地的第一次備份的定長(zhǎng)卷位圖文件中,獲取包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的第(N-1)次備份的定長(zhǎng)卷位圖文件,并將每個(gè)包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的第N次備份的增量位圖以及第(N-1)次備份的定長(zhǎng)卷位圖文件合并,將合并后的位圖保存到定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷位圖文件中,以得到第N次備份的定長(zhǎng)卷位圖文件。
[0131]如圖15所示,圖15是本申請(qǐng)備份服務(wù)器生成第二次備份的定長(zhǎng)卷位圖文件的示意圖。
[0132]服務(wù)器200根據(jù)包含有效數(shù)據(jù)的第一定長(zhǎng)數(shù)據(jù)塊的增量位圖BitMap_F_l,從存儲(chǔ)在本地的第一次備份的定長(zhǎng)卷位圖文件中,獲取第一定長(zhǎng)數(shù)據(jù)塊的對(duì)應(yīng)的定長(zhǎng)卷位圖文件BitMap_F_l_Snap_l,并將第一定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的第二次備份的增量位圖BitMap_F_l以及第一次備份的定長(zhǎng)卷位圖文件BitMap_F_l_Snap_l取“或”進(jìn)行合并,保存到定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷位圖文件中,從而得到第二次備份中第一定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷位圖文件BitMap—F—I—Snap—2。
[0133]服務(wù)器200根據(jù)包含有效數(shù)據(jù)的第一定長(zhǎng)數(shù)據(jù)塊的增量位圖BitMap_F_4,從存儲(chǔ)在本地的第一次備份的定長(zhǎng)卷位圖文件中,獲取第四定長(zhǎng)數(shù)據(jù)塊的對(duì)應(yīng)的定長(zhǎng)卷位圖文件BitMap_F_4_Snap_l。將第四定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的第二次備份的增量位圖BitMap_F_4以及第一次備份的定長(zhǎng)卷位圖文件BitMap_F_4_Snap_l取“或”進(jìn)行合并,保存到定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷位圖文件中,從而得到第二次備份中第四定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷位圖文件BitMap—F—4—Snap—2。
[0134]服務(wù)器200將定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷文件中。
[0135]例如,服務(wù)器200在獲取到第N(N彡2,此時(shí)N = 2)次備份的包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件后,比較定長(zhǎng)數(shù)據(jù)塊在第N次備份中的增量位圖以及第N次的定長(zhǎng)卷位圖文件,以判斷第N次備份中的增量位圖與第N次的定長(zhǎng)卷位圖文件是否相同。其中,判斷方法為判斷相同存儲(chǔ)地址對(duì)應(yīng)的值是否相同。
[0136]當(dāng)服務(wù)器200判斷定長(zhǎng)數(shù)據(jù)塊在本次備份中的增量位圖與定長(zhǎng)卷位圖文件相同時(shí),將已經(jīng)獲取的發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷文件中,從而得到第N次備份中定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件。
[0137]當(dāng)服務(wù)器200判斷定長(zhǎng)數(shù)據(jù)塊在本次備份中的增量位圖與定長(zhǎng)卷位圖文件不相同時(shí),從本地存儲(chǔ)在本地的第(N-1)次備份的定長(zhǎng)卷文件中獲取值不同的存儲(chǔ)地址對(duì)應(yīng)的有效數(shù)據(jù)。
[0138]之后,將已經(jīng)獲取的發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)以及從第(N-1)次備份的定長(zhǎng)卷文件中獲取的有效數(shù)據(jù),按存儲(chǔ)地址的排列順序依次保存到定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷文件中,從而得到第N次備份中定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件。
[0139]如圖16所示,圖16是本申請(qǐng)服務(wù)器對(duì)第一目標(biāo)卷進(jìn)行第二次備份時(shí)保存的定長(zhǎng)卷文件一實(shí)施方式的示意圖。
[0140]第一定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷文件中保存的有效數(shù)據(jù)為A'、B、C,A'、C為第N次備份已經(jīng)獲取的發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),B為從第(N-1)次備份的定長(zhǎng)卷文件中獲取的有效數(shù)據(jù)。
[0141]第四定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷文件中保存的有效數(shù)據(jù)為N、P',N、P'為第N次備份已經(jīng)獲取的發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。
[0142]可以理解的是:有效數(shù)據(jù)是本次備份中發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊所存儲(chǔ)的數(shù)據(jù),由本次備份的發(fā)生改變的數(shù)據(jù)以及上一次備份中的有效數(shù)據(jù)組成。在本實(shí)施方式中,第一定長(zhǎng)數(shù)據(jù)塊在本次備份中的增量位圖與定長(zhǎng)卷位圖文件不相同,第四定長(zhǎng)數(shù)據(jù)塊在本次備份中的增量位圖與定長(zhǎng)卷位圖文件相同。
[0143]在本實(shí)施方式中,當(dāng)備份服務(wù)器判斷定長(zhǎng)數(shù)據(jù)塊在本次備份中的增量位圖與定長(zhǎng)卷位圖文件不相同時(shí),從本地存儲(chǔ)在本地的第(Ν-1)次備份的定長(zhǎng)卷文件中獲取值不同的存儲(chǔ)地址對(duì)應(yīng)的有效數(shù)據(jù)。在其他實(shí)施方式中,也可以直接從生產(chǎn)端100的第一目標(biāo)卷110中獲取,此時(shí),會(huì)占用生產(chǎn)端100與服務(wù)器200之間的傳輸通道,傳輸速率相對(duì)來(lái)說(shuō)較慢。
[0144]可選地,服務(wù)器200在得到第二次備份的定長(zhǎng)卷文件之后,將該定長(zhǎng)卷文件的文件名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑關(guān)聯(lián)保存到預(yù)先建立的第一目標(biāo)卷的卷映射文件中,直到將所有的定長(zhǎng)卷文件名稱以及存儲(chǔ)路徑保存到卷映射文件。其中,卷映射文件至少包括定長(zhǎng)卷文件的名稱以及存儲(chǔ)路徑。
[0145]定長(zhǎng)卷文件的名稱用于在將服務(wù)器200中的數(shù)據(jù)恢復(fù)到生產(chǎn)端100時(shí),能夠使得服務(wù)器200根據(jù)定長(zhǎng)卷文件的名稱查找定長(zhǎng)卷文件的名稱對(duì)應(yīng)的定長(zhǎng)卷文件,以及與定長(zhǎng)卷文件關(guān)聯(lián)保存的定長(zhǎng)卷位圖文件,根據(jù)定長(zhǎng)卷文件的存儲(chǔ)路徑獲取該定長(zhǎng)卷文件包含的數(shù)據(jù)。定長(zhǎng)卷位圖文件用于標(biāo)識(shí)定長(zhǎng)卷文件包含的數(shù)據(jù)需要傳輸?shù)缴a(chǎn)端100的存儲(chǔ)地址。
[0146]可選地,卷映射文件還包括與定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件的名稱。其中,定長(zhǎng)卷文件的名稱、定長(zhǎng)卷文件的存儲(chǔ)路徑以及定長(zhǎng)卷位圖文件的名稱一一對(duì)應(yīng)并關(guān)聯(lián)保存,定長(zhǎng)卷文件的名稱用于查找定長(zhǎng)卷文件的名稱對(duì)應(yīng)的定長(zhǎng)卷文件,定長(zhǎng)卷文件的存儲(chǔ)路徑用于標(biāo)識(shí)定長(zhǎng)卷文件的存儲(chǔ)位置,定長(zhǎng)卷位圖文件的名稱查找定長(zhǎng)卷位圖文件的名稱對(duì)應(yīng)的定長(zhǎng)卷位圖文件。
[0147]如圖17所示,圖17是本申請(qǐng)服務(wù)器對(duì)第一目標(biāo)卷進(jìn)行第二次備份時(shí)生成的卷映射文件一實(shí)施方式的不意圖。
[0148]例如,服務(wù)器200在每保存一個(gè)第二次備份的定長(zhǎng)卷文件后,將該定長(zhǎng)卷文件的文件名稱以及存儲(chǔ)路徑關(guān)聯(lián)保存到預(yù)先建立的第一目標(biāo)卷的卷映射文件中,直到將所有的定長(zhǎng)卷文件名稱以及存儲(chǔ)路徑保存到卷映射文件。其中,卷映射文件至少包括定長(zhǎng)卷文件的名稱以及存儲(chǔ)路徑。定長(zhǎng)卷文件的名稱用于在將服務(wù)器200中的數(shù)據(jù)恢復(fù)到生產(chǎn)端100時(shí),能夠使得服務(wù)器200根據(jù)定長(zhǎng)卷文件的名稱查找定長(zhǎng)卷文件的名稱對(duì)應(yīng)的定長(zhǎng)卷文件,以及定長(zhǎng)卷文件關(guān)聯(lián)保存的定長(zhǎng)卷位圖文件,根據(jù)定長(zhǎng)卷文件的存儲(chǔ)路徑獲取該定長(zhǎng)卷文件包含的數(shù)據(jù)。定長(zhǎng)卷位圖文件用于標(biāo)識(shí)定長(zhǎng)卷文件包含的數(shù)據(jù)需要傳輸?shù)缴a(chǎn)端100的存儲(chǔ)地址。
[0149]其中,將第N次備份中的第一定長(zhǎng)卷文件的名稱保存到第N-1次備份中第一定長(zhǎng)卷文件的名稱的位置,將第N次備份中的第四定長(zhǎng)卷文件的名稱保存到第N-1次備份中第四定長(zhǎng)卷文件的名稱的位置。
[0150]卷映射文件標(biāo)識(shí):在存儲(chǔ)路徑I指向的位置保存了第二次備份的第一定長(zhǎng)卷文件F_l_Snap_2,第一定長(zhǎng)卷文件F_l_Snap_2對(duì)應(yīng)生產(chǎn)端100中存儲(chǔ)在存儲(chǔ)地址段0_3的第一定長(zhǎng)數(shù)據(jù)塊。在存儲(chǔ)路徑2指向的位置保存了第一次備份的第二定長(zhǎng)卷文件F_2_Snap_l,第二定長(zhǎng)卷文件F_2_Snap_l對(duì)應(yīng)生產(chǎn)端100中存儲(chǔ)在存儲(chǔ)地址段4_7的第二定長(zhǎng)數(shù)據(jù)塊。在存儲(chǔ)路徑3指向的位置保存了第一次備份的第三定長(zhǎng)卷文件F_3_Snap_l,第三定長(zhǎng)卷文件F_3_Snap_l對(duì)應(yīng)生產(chǎn)端100中存儲(chǔ)在存儲(chǔ)地址段8_11的第三定長(zhǎng)數(shù)據(jù)塊。在存儲(chǔ)路徑4指向的位置保存了第二次備份的第四定長(zhǎng)卷文件F_4_Snap_2,第四定長(zhǎng)卷文件F_4_Snap_2對(duì)應(yīng)生產(chǎn)端100中存儲(chǔ)在存儲(chǔ)地址段12-15的第四定長(zhǎng)數(shù)據(jù)塊。
[0151]當(dāng)生產(chǎn)端100中第一目標(biāo)卷110中的卷數(shù)據(jù)丟失時(shí),生產(chǎn)端100可以向服務(wù)器200發(fā)送請(qǐng)求信息,以請(qǐng)求服務(wù)器200將已經(jīng)備份的第一目標(biāo)卷110的卷數(shù)據(jù)恢復(fù)到生產(chǎn)端100中第一目標(biāo)卷110。其中,請(qǐng)求信息包括待恢復(fù)卷的信息。生產(chǎn)端100可進(jìn)行全量恢復(fù),也可進(jìn)行增量恢復(fù),即只恢復(fù)其中的至少一個(gè)定長(zhǎng)數(shù)據(jù)塊。
[0152]具體為:服務(wù)器200在接收到生產(chǎn)端100的請(qǐng)求恢復(fù)數(shù)據(jù)的請(qǐng)求信息后,獲取第一目標(biāo)卷110的定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件,根據(jù)定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件,將定長(zhǎng)卷文件中的數(shù)據(jù)恢復(fù)到生產(chǎn)端中定長(zhǎng)卷位圖文件標(biāo)識(shí)的存儲(chǔ)地址,其中,第一目標(biāo)卷為待恢復(fù)卷,第一目標(biāo)卷包括多個(gè)定長(zhǎng)卷文件,定長(zhǎng)卷文件與定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存,定長(zhǎng)卷文件用于標(biāo)識(shí)需要存儲(chǔ)的有效數(shù)據(jù),每個(gè)定長(zhǎng)卷文件與對(duì)應(yīng)的定長(zhǎng)卷位圖文件是關(guān)聯(lián)保存的,定長(zhǎng)卷位圖文件用于標(biāo)識(shí)有效數(shù)據(jù)在生產(chǎn)端100中的存儲(chǔ)地址,生產(chǎn)端為待備份的虛擬機(jī)或物理服務(wù)器。
[0153]例如,當(dāng)服務(wù)器200接收到生產(chǎn)端100發(fā)送的請(qǐng)求恢復(fù)數(shù)據(jù)的請(qǐng)求信息后,從該信息中讀取待恢復(fù)卷的備份信息,并從待恢復(fù)卷的備份信息中獲取待恢復(fù)卷的具體備份時(shí)間點(diǎn),從而根據(jù)該時(shí)間點(diǎn)識(shí)別出需要將第N(N多I)次備份的待恢復(fù)卷的數(shù)據(jù)恢復(fù)到生產(chǎn)端。其中,待恢復(fù)卷為第一目標(biāo)卷110,每個(gè)時(shí)間點(diǎn)對(duì)應(yīng)一次備份,每次備份會(huì)生成相應(yīng)的定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件,且定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存。
[0154]當(dāng)服務(wù)器200獲知需要將第一次備份的第一目標(biāo)卷110的卷數(shù)據(jù)恢復(fù)到生產(chǎn)端100時(shí),從本地查找第一次備份中第一目標(biāo)卷110包括的所有定長(zhǎng)卷文件、每個(gè)定長(zhǎng)卷文件的存儲(chǔ)路徑以及每個(gè)定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件。
[0155]當(dāng)服務(wù)器200獲取到第一次備份中第一目標(biāo)卷的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑后,根據(jù)每個(gè)定長(zhǎng)卷文件的名稱獲取定長(zhǎng)卷文件各自對(duì)應(yīng)的定長(zhǎng)卷位圖文件,分別從每個(gè)定長(zhǎng)卷的存儲(chǔ)路徑中依次獲取定長(zhǎng)卷文件所包括的數(shù)據(jù),根據(jù)每個(gè)定長(zhǎng)卷文件各自對(duì)應(yīng)的定長(zhǎng)卷位圖文件將獲取的數(shù)據(jù)依次傳輸?shù)缴a(chǎn)端100中定長(zhǎng)卷位圖文件所標(biāo)識(shí)的每個(gè)數(shù)據(jù)對(duì)應(yīng)的存儲(chǔ)地址中進(jìn)行存儲(chǔ)。其中,存儲(chǔ)地址為生產(chǎn)端100為每個(gè)定長(zhǎng)卷位圖文件各自對(duì)應(yīng)的定長(zhǎng)卷分配的存儲(chǔ)地址。
[0156]其中,服務(wù)器獲取到第一次備份中第一目標(biāo)卷110的第一定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷的存儲(chǔ)路徑之后,根據(jù)第一定長(zhǎng)卷文件的名稱獲取第一定長(zhǎng)卷文件對(duì)應(yīng)的第一定長(zhǎng)卷位圖文件,從第一定長(zhǎng)卷的存儲(chǔ)路徑中獲取第一定長(zhǎng)卷包括的數(shù)據(jù),并根據(jù)第一定長(zhǎng)卷位圖文件將獲取的數(shù)據(jù)傳輸?shù)缴a(chǎn)端100中第一目標(biāo)卷110的第一定長(zhǎng)卷對(duì)應(yīng)的存儲(chǔ)地址中進(jìn)行存儲(chǔ),從而恢復(fù)第一定長(zhǎng)卷的數(shù)據(jù)。其中,第一定長(zhǎng)卷位圖文件標(biāo)識(shí)了每個(gè)數(shù)據(jù)的在生產(chǎn)端100中的存儲(chǔ)地址。比如,按地址從高到底的順序(但并不限于此,還可以按從高到低的順序)順次獲取的第一定長(zhǎng)卷的數(shù)據(jù)為A、B,第一定長(zhǎng)卷位圖文件的位圖為“1100”,月艮務(wù)器根據(jù)第一定長(zhǎng)卷位圖文件將第一個(gè)數(shù)據(jù)A傳輸?shù)缴a(chǎn)端中第一目標(biāo)卷的第一定長(zhǎng)卷對(duì)應(yīng)的存儲(chǔ)地址段的第一個(gè)存儲(chǔ)地址中進(jìn)行存儲(chǔ),將第二個(gè)數(shù)據(jù)B傳輸?shù)缴a(chǎn)端中第一目標(biāo)卷110的第一定長(zhǎng)卷對(duì)應(yīng)的存儲(chǔ)地址段的第二個(gè)存儲(chǔ)地址中進(jìn)行存儲(chǔ)。
[0157]按照同樣的方法依次把第一目標(biāo)卷110的第二定長(zhǎng)卷、……、第N定長(zhǎng)卷恢復(fù)到生產(chǎn)端第一目標(biāo)卷的第二定長(zhǎng)卷對(duì)應(yīng)的存儲(chǔ)地址段,……,第N定長(zhǎng)卷對(duì)應(yīng)的存儲(chǔ)地址段。
[0158]可選地,定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件是從第一目標(biāo)卷的卷映射文件中獲得,卷映射文件至少包括第一目標(biāo)卷的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑。
[0159]例如,服務(wù)器200從本地獲取第一目標(biāo)卷110的卷映射文件,從本地存儲(chǔ)的卷映射文件中獲取第一目標(biāo)卷110的第一定長(zhǎng)卷文件的名稱、第一定長(zhǎng)卷文件的存儲(chǔ)路徑。服務(wù)器200通過(guò)第一定長(zhǎng)卷文件的名稱、第一定長(zhǎng)卷文件的存儲(chǔ)路徑查找與該名稱對(duì)應(yīng)的第一定長(zhǎng)卷文件,以及第一定長(zhǎng)卷文件關(guān)聯(lián)保存的第一定長(zhǎng)卷位圖文件;從查找到的第一定長(zhǎng)卷文件中獲取第一定長(zhǎng)卷文件中的所有數(shù)據(jù);根據(jù)第一定長(zhǎng)卷文件對(duì)應(yīng)的第一定長(zhǎng)卷位圖文件,依次將第一定長(zhǎng)卷文件中的數(shù)據(jù)傳輸?shù)缴a(chǎn)端100中第一定長(zhǎng)卷位圖文件標(biāo)識(shí)的存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)區(qū)域,從而完成第一定長(zhǎng)卷文件的恢復(fù)。
[0160]依此循環(huán),直到將第一目標(biāo)卷110的所有定長(zhǎng)卷文件恢復(fù)到生產(chǎn)端100。
[0161]可選地,卷映射文件還包括與所述定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件的名稱。服務(wù)器200可從卷映射文件直接獲取關(guān)聯(lián)的定長(zhǎng)卷文件的名稱、定長(zhǎng)卷文件的存儲(chǔ)地址以及定長(zhǎng)卷位圖文件的名稱,從而實(shí)現(xiàn)數(shù)據(jù)恢復(fù)。
[0162]可以理解的是,當(dāng)需要將第二次備份的第一目標(biāo)卷的所有定長(zhǎng)數(shù)據(jù)塊恢復(fù)到生產(chǎn)端,并且第二次備份的定長(zhǎng)卷文件中只保存了第二次備份獲取的有效數(shù)據(jù),服務(wù)器200在將第一目標(biāo)卷110的卷數(shù)據(jù)恢復(fù)到生產(chǎn)端時(shí),根據(jù)第二次備份的定長(zhǎng)卷位圖文件將第二次備份的定長(zhǎng)卷文件恢復(fù)到生產(chǎn)端100。在此之后,服務(wù)器200還比較第二次備份的定長(zhǎng)卷位圖文件和第一次備份的定長(zhǎng)卷位圖文件,判斷兩個(gè)位圖文件中相同存儲(chǔ)地址的值是否不同。當(dāng)任一定長(zhǎng)卷的兩個(gè)位圖文件中相同存儲(chǔ)地址的值不同時(shí),從第一次備份的卷文件中獲取將該存儲(chǔ)地址對(duì)應(yīng)的數(shù)據(jù),并將該數(shù)據(jù)傳輸?shù)缴a(chǎn)端100中該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)區(qū)域。
[0163]當(dāng)?shù)诙蝹浞莸亩ㄩL(zhǎng)卷文件保存了第二次備份獲取的有效數(shù)據(jù)以及第一次獲取的有效數(shù)據(jù),服務(wù)器200在將第一目標(biāo)卷110的所有定長(zhǎng)數(shù)據(jù)塊恢復(fù)到生產(chǎn)端時(shí),服務(wù)器200依次根據(jù)第二次備份的定長(zhǎng)卷位圖文件,分別將每個(gè)定長(zhǎng)卷位圖文件對(duì)應(yīng)的定長(zhǎng)卷文件中的數(shù)據(jù)恢復(fù)到生產(chǎn)端中定長(zhǎng)卷位圖文件標(biāo)識(shí)的存儲(chǔ)地址,從而將第一目標(biāo)卷110的卷數(shù)據(jù)恢復(fù)到生產(chǎn)端100。
[0164]其恢復(fù)數(shù)據(jù)的方法與恢復(fù)第一次恢復(fù)數(shù)據(jù)的方法相同,具體的恢復(fù)方法請(qǐng)參閱上述相關(guān)內(nèi)容,此處不贅述。
[0165]可以理解的是,在本實(shí)施方式中,服務(wù)器200中保存的定長(zhǎng)卷文件的存儲(chǔ)地址可以是連續(xù)的,也可以是不連續(xù)的。從服務(wù)器200恢復(fù)到生產(chǎn)端100中的第一目標(biāo)卷110的所有定長(zhǎng)卷文件是根據(jù)地址順序連續(xù)存儲(chǔ)的。在其他實(shí)施方式中,當(dāng)生產(chǎn)端100能夠標(biāo)識(shí)第一目標(biāo)卷110的各定長(zhǎng)卷文件的存儲(chǔ)地址時(shí),定長(zhǎng)卷文件的存儲(chǔ)地址也可以為不連續(xù)的。
[0166]上述方案,服務(wù)器對(duì)第一目標(biāo)卷進(jìn)行備份時(shí),只備份第一目標(biāo)卷中的有效數(shù)據(jù)。當(dāng)定長(zhǎng)數(shù)據(jù)塊中的有效數(shù)據(jù)的大小小于定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)大小時(shí),由于只備份有效數(shù)據(jù),能夠減少生產(chǎn)端和服務(wù)器之間的數(shù)據(jù)傳輸量,提高備份速度。當(dāng)生產(chǎn)端中的第一目標(biāo)卷是精簡(jiǎn)配置卷時(shí),由于服務(wù)器不會(huì)對(duì)生產(chǎn)端還未分配的存儲(chǔ)空間進(jìn)行備份,能夠提高備份速度,使服務(wù)器節(jié)省存儲(chǔ)空間。
[0167]服務(wù)器將存儲(chǔ)在本地的第一目標(biāo)卷的卷數(shù)據(jù)恢復(fù)到生產(chǎn)端時(shí),由于只需要恢復(fù)第一目標(biāo)卷中的有效數(shù)據(jù),能夠提高恢復(fù)速度。當(dāng)生產(chǎn)端中的第一目標(biāo)卷是精簡(jiǎn)配置卷時(shí),不會(huì)導(dǎo)致恢復(fù)無(wú)效數(shù)據(jù)而需要分配存儲(chǔ)空間,能夠使生產(chǎn)端節(jié)省存儲(chǔ)空間。
[0168]請(qǐng)參閱圖18,圖18是本申請(qǐng)數(shù)據(jù)備份方法一實(shí)施方式的流程圖,本實(shí)施方式的執(zhí)行主體為數(shù)據(jù)備份裝置,數(shù)據(jù)備份裝置可以為服務(wù)器。
[0169]當(dāng)服務(wù)器對(duì)生產(chǎn)端的第一目標(biāo)卷的卷數(shù)據(jù)進(jìn)行第一次備份時(shí),需要對(duì)第一目標(biāo)卷的卷數(shù)據(jù)進(jìn)行全量備份;第”0 ^ 2)次備份時(shí),進(jìn)行增量備份。在本實(shí)施方式中,第一次備份和第N次備份的方法相同。
[0170]本實(shí)施方式的數(shù)據(jù)備份方法包括以下步驟:
[0171]S101:備份服務(wù)器從生產(chǎn)端獲取第一目標(biāo)卷的原始差量位圖,其中,所述生產(chǎn)端為待備份的虛擬機(jī)或物理服務(wù)器,所述第一目標(biāo)卷為待備份卷,所述原始差量位圖為第一目標(biāo)卷的所有定長(zhǎng)數(shù)據(jù)塊的原始差量位圖。
[0172]請(qǐng)一并參閱圖1至圖2,圖1是現(xiàn)有技術(shù)中基于定長(zhǎng)卷數(shù)據(jù)文件的待備份卷數(shù)據(jù)存儲(chǔ)格式一實(shí)施方式的示意圖,圖2是圖1中待備份卷的原始差量位圖。
[0173]其中,如圖1所示的卷數(shù)據(jù)為第一目標(biāo)卷110的原始卷數(shù)據(jù)。第一目標(biāo)卷110的定長(zhǎng)大小為16M,由4個(gè)4M (但并不限于此,可根據(jù)實(shí)際需求設(shè)置為其他值)大小的定長(zhǎng)數(shù)據(jù)塊組成,存儲(chǔ)地址0-3存儲(chǔ)第一定長(zhǎng)數(shù)據(jù)塊,存儲(chǔ)地址4-7存儲(chǔ)第二定長(zhǎng)數(shù)據(jù)塊,存儲(chǔ)地址8-11存儲(chǔ)第三定長(zhǎng)數(shù)據(jù)塊,存儲(chǔ)地址12-15存儲(chǔ)第四定長(zhǎng)數(shù)據(jù)塊。
[0174]如圖2所示的原始差量位圖中,“1”用于標(biāo)識(shí)第一目標(biāo)卷110中該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)區(qū)域的數(shù)據(jù)為有效數(shù)據(jù),“0”用于標(biāo)識(shí)第一目標(biāo)卷110中該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)區(qū)域的數(shù)據(jù)為無(wú)效數(shù)據(jù)。有效數(shù)據(jù)定義為該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)區(qū)域存儲(chǔ)了數(shù)據(jù)或者該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)區(qū)域的數(shù)據(jù)有變化。無(wú)效數(shù)據(jù)定義為該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)區(qū)域沒(méi)有存儲(chǔ)數(shù)據(jù)或所存儲(chǔ)的數(shù)據(jù)沒(méi)有發(fā)生變化。
[0175]服務(wù)器從生產(chǎn)端獲取第一目標(biāo)卷的原始差量位圖,其中,生產(chǎn)端為待備份的虛擬機(jī)或物理服務(wù)器,第一目標(biāo)卷為待備份卷。原始差量位圖為第一目標(biāo)卷110的所有定長(zhǎng)數(shù)據(jù)塊的原始差量位圖。
[0176]例如,服務(wù)器與虛擬化平臺(tái)進(jìn)行交互,通過(guò)虛擬化平臺(tái)從生產(chǎn)端獲取第一次備份中第一目標(biāo)卷的原始差量位圖。其中,第一目標(biāo)卷的原始差量位圖是生產(chǎn)端在檢測(cè)到第一目標(biāo)卷的卷數(shù)據(jù)發(fā)生改變時(shí),自動(dòng)生成的,原始差量位圖為第一目標(biāo)卷的所有定長(zhǎng)數(shù)據(jù)塊的原始差量位圖。
[0177]S102:根據(jù)所述原始差量位圖從所述第一目標(biāo)卷中獲取定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。
[0178]服務(wù)器獲取到第一目標(biāo)卷的原始差量位圖之后,按存儲(chǔ)地址從低到高的順序依次檢測(cè)每個(gè)存儲(chǔ)地址對(duì)應(yīng)的值,從而判斷每個(gè)定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的存儲(chǔ)地址段是否有需要獲取的有效數(shù)據(jù)。可以理解的是,在其他實(shí)施方式中,服務(wù)器可以按存儲(chǔ)地址從高到低的順序依次檢測(cè)每個(gè)存儲(chǔ)地址對(duì)應(yīng)的值,還可以隨機(jī)檢測(cè)任一定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的存儲(chǔ)地址段中每個(gè)存儲(chǔ)地址對(duì)應(yīng)的值,此處不作限制,只要能夠完全檢測(cè)第一目標(biāo)卷的卷數(shù)據(jù)對(duì)應(yīng)的存儲(chǔ)地址對(duì)應(yīng)的值即可。
[0179]當(dāng)服務(wù)器檢測(cè)到原始差量位圖中任一存儲(chǔ)地址對(duì)應(yīng)的值為I時(shí),判斷為該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)區(qū)域存儲(chǔ)了需要獲取的有效數(shù)據(jù)。服務(wù)器以定長(zhǎng)數(shù)據(jù)塊為基本單位,按順序分別獲取每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。
[0180]其中,服務(wù)器判斷需要獲取第一定長(zhǎng)塊數(shù)據(jù)、第二定長(zhǎng)數(shù)據(jù)塊、第三定長(zhǎng)數(shù)據(jù)塊以及第四定長(zhǎng)數(shù)據(jù)塊包含的有效數(shù)據(jù)。
[0181]服務(wù)器獲取的第一定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)為A、B,獲取的第二定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)為E、G,獲取的第三定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)為I,獲取的第四定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)為P。
[0182]S103:根據(jù)所述原始差量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到所述定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件,其中,所述定長(zhǎng)卷位圖文件用于標(biāo)識(shí)所述有效數(shù)據(jù)在所述第一目標(biāo)卷中的存儲(chǔ)地址。
[0183]服務(wù)器根據(jù)原始差量位圖按存儲(chǔ)地址從高到低的順序,依次將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到第一目標(biāo)卷的每個(gè)定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷位圖文件中。其中,定長(zhǎng)卷位圖文件是服務(wù)器在預(yù)設(shè)的存儲(chǔ)路徑下的創(chuàng)建的,一個(gè)定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)一個(gè)定長(zhǎng)卷位圖文件,定長(zhǎng)卷位圖文件用于標(biāo)識(shí)獲取的有效數(shù)據(jù)在第一目標(biāo)卷中的存儲(chǔ)地址。獲取的每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)的存儲(chǔ)地址和獲取的包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖的存儲(chǔ)地址一一對(duì)應(yīng)。
[0184]例如,當(dāng)服務(wù)器獲取到定長(zhǎng)數(shù)據(jù)塊包含有效數(shù)據(jù)后,根據(jù)原始差量位圖將第一定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖以文件的形式保存到在預(yù)設(shè)的存儲(chǔ)路徑下的創(chuàng)建的第一定長(zhǎng)卷位圖文件 BitMap_F_l_Snap_l 中。
[0185]服務(wù)器200將第二定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖以文件的形式保存到在預(yù)設(shè)的存儲(chǔ)路徑下的創(chuàng)建的第二定長(zhǎng)卷位圖文件BitMap_F_2_Snap_l中。
[0186]服務(wù)器200將第三定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖以文件的形式保存到在預(yù)設(shè)的存儲(chǔ)路徑下的創(chuàng)建的第三定長(zhǎng)卷位圖文件BitMap_F_3_Snap_l中。
[0187]服務(wù)器200將第四定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖以文件的形式保存到在預(yù)設(shè)的存儲(chǔ)路徑下的創(chuàng)建的第四定長(zhǎng)卷位圖文件BitMap_F_4_Snap_l中。如圖12所示,圖12是本申請(qǐng)服務(wù)器對(duì)第一目標(biāo)卷進(jìn)行第一次備份時(shí)生成的定長(zhǎng)卷位圖文件一實(shí)施方式的示意圖。
[0188]在第一次備份中,第一定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷位圖文件為第一定長(zhǎng)卷位圖文件,名稱為BitMap_F_l_Snap_l,第一定長(zhǎng)卷位圖文件用于標(biāo)識(shí),標(biāo)識(shí)第一定長(zhǎng)數(shù)據(jù)塊的第一個(gè)有效數(shù)據(jù)在生產(chǎn)端100的第一目標(biāo)卷110的存儲(chǔ)地址為0,第一定長(zhǎng)數(shù)據(jù)塊的第二個(gè)有效數(shù)據(jù)在生產(chǎn)端100的第一目標(biāo)卷110的存儲(chǔ)地址為1。在將服務(wù)器將第一次備份的數(shù)據(jù)恢復(fù)到生產(chǎn)端中時(shí),第一定長(zhǎng)數(shù)據(jù)塊的第一個(gè)有效數(shù)據(jù)A需要存儲(chǔ)到生產(chǎn)端的存儲(chǔ)地址0對(duì)應(yīng)的存儲(chǔ)區(qū)域,第一定長(zhǎng)數(shù)據(jù)塊的第二個(gè)有效數(shù)據(jù)B需要存儲(chǔ)到生產(chǎn)端的存儲(chǔ)地址1對(duì)應(yīng)的存儲(chǔ)區(qū)域。
[0189]第二定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷位圖文件為第二定長(zhǎng)卷位圖文件,名稱為BitMap_F_2_Snap_l,第二定長(zhǎng)卷位圖文件用于標(biāo)識(shí)第二定長(zhǎng)數(shù)據(jù)塊的第一個(gè)有效數(shù)據(jù)在生產(chǎn)端100的第一目標(biāo)卷110的存儲(chǔ)地址為4,第二定長(zhǎng)數(shù)據(jù)塊的第二個(gè)有效數(shù)據(jù)在生產(chǎn)端100的第一目標(biāo)卷110的存儲(chǔ)地址為6。在將服務(wù)器將第一次備份的數(shù)據(jù)恢復(fù)到生產(chǎn)端中時(shí),第二定長(zhǎng)數(shù)據(jù)塊的第一個(gè)有效數(shù)據(jù)E需要存儲(chǔ)到生產(chǎn)端的存儲(chǔ)地址4對(duì)應(yīng)的存儲(chǔ)區(qū)域,第二定長(zhǎng)數(shù)據(jù)塊的第二個(gè)有效數(shù)據(jù)G需要存儲(chǔ)到生產(chǎn)端的存儲(chǔ)地址6對(duì)應(yīng)的存儲(chǔ)區(qū)域。
[0190]第三定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷位圖文件為第三定長(zhǎng)卷位圖文件,名稱為BitMap_F_3_Snap_l,第三定長(zhǎng)卷位圖文件用于標(biāo)識(shí)第三定長(zhǎng)數(shù)據(jù)塊的第一個(gè)有效數(shù)據(jù)在生產(chǎn)端100的第一目標(biāo)卷110的存儲(chǔ)地址為8。在將服務(wù)器將第一次備份的數(shù)據(jù)恢復(fù)到生產(chǎn)端中時(shí),第三定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)I需要存儲(chǔ)到生產(chǎn)端的存儲(chǔ)地址8對(duì)應(yīng)的存儲(chǔ)區(qū)域。
[0191]第四定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷位圖文件為第四定長(zhǎng)卷位圖文件,名稱為BitMap_F_4_Snap_l,第四定長(zhǎng)卷位圖文件用于標(biāo)識(shí)第四定長(zhǎng)數(shù)據(jù)塊的第一個(gè)有效數(shù)據(jù)在生產(chǎn)端100的第一目標(biāo)卷110的存儲(chǔ)地址為15。在將服務(wù)器第一次備份的數(shù)據(jù)恢復(fù)到生產(chǎn)端中時(shí),第四定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)P需要存儲(chǔ)到生產(chǎn)端的存儲(chǔ)地址15對(duì)應(yīng)的存儲(chǔ)區(qū)域。
[0192]S104:將所述定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到所述定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件,其中,所述定長(zhǎng)卷文件與所述定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存,所述定長(zhǎng)卷文件用于標(biāo)識(shí)本次備份的有效數(shù)據(jù)。
[0193]服務(wù)器將獲取到的每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),依次存儲(chǔ)到預(yù)先創(chuàng)建的每個(gè)定長(zhǎng)數(shù)據(jù)塊各自對(duì)應(yīng)的定長(zhǎng)卷文件中。其中,定長(zhǎng)卷文件是服務(wù)器在預(yù)設(shè)的存儲(chǔ)路徑下的創(chuàng)建的,一個(gè)定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)一個(gè)定長(zhǎng)卷文件,定長(zhǎng)卷文件與定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存,定長(zhǎng)卷文件用于標(biāo)識(shí)本次備份的有效數(shù)據(jù)。
[0194]如圖13所示,圖13是本申請(qǐng)服務(wù)器對(duì)第一目標(biāo)卷進(jìn)行第一次備份時(shí)生成的定長(zhǎng)卷文件一實(shí)施方式的示意圖。
[0195]服務(wù)器將第一定長(zhǎng)數(shù)據(jù)塊的第一個(gè)有效數(shù)據(jù)A、第二個(gè)有效數(shù)據(jù)B依次存儲(chǔ)到在預(yù)設(shè)的存儲(chǔ)路徑下的創(chuàng)建的第一定長(zhǎng)卷文件F_l_Snap_l。
[0196]服務(wù)器將第二定長(zhǎng)數(shù)據(jù)塊的第一個(gè)有效數(shù)據(jù)E、第二個(gè)有效數(shù)據(jù)G依次存儲(chǔ)到在預(yù)設(shè)的存儲(chǔ)路徑下的創(chuàng)建的第二定長(zhǎng)卷文件F_2_Snap_l。
[0197]服務(wù)器將第三定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)I在預(yù)設(shè)的存儲(chǔ)路徑下的創(chuàng)建的第三定長(zhǎng)卷文件 F_3_Snap_l。
[0198]服務(wù)器將第四定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)P存儲(chǔ)到在預(yù)設(shè)的存儲(chǔ)路徑下的創(chuàng)建的第四定長(zhǎng)卷文件F_4_Snap_l。
[0199]在本實(shí)施方式中,服務(wù)器是按存儲(chǔ)地址從低到高的順序依次獲取每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),將每個(gè)包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖依次保存到定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件,以及依次將獲取到的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件中。
[0200]在其他實(shí)施方式中也可以按存儲(chǔ)地址從高到低的順序依次獲取每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),將每個(gè)包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖依次保存到定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件,以及依次將獲取到的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件中?;蛘?,或者以定長(zhǎng)數(shù)據(jù)塊為基本單位,隨機(jī)任意獲取定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)以及包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖,此處不做限制。只要保證獲取的每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)的存儲(chǔ)地址和獲取的包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖的存儲(chǔ)地址一一對(duì)應(yīng)即可。
[0201]可以理解的是,在預(yù)設(shè)的存儲(chǔ)路徑下的創(chuàng)建的定長(zhǎng)卷文件和定長(zhǎng)卷位圖文件的存儲(chǔ)目錄可以相同,也可以不同,此處不做限制。
[0202]上述方案,服務(wù)器從生產(chǎn)端獲取第一目標(biāo)卷的原始差量位圖,根據(jù)獲取到的原始差量位圖從第一目標(biāo)卷中獲取每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),以及以及將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到第一目標(biāo)卷的定長(zhǎng)卷位圖文件,并將定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件。由于不需要傳輸無(wú)效數(shù)據(jù),能夠減少數(shù)據(jù)傳輸量,提高備份速度,使服務(wù)器節(jié)省存儲(chǔ)空間。
[0203]請(qǐng)參閱圖請(qǐng)參閱圖19,圖19是本申請(qǐng)數(shù)據(jù)備份方法另一實(shí)施方式的流程圖。本實(shí)施方式的執(zhí)行主體為數(shù)據(jù)備份裝置,數(shù)據(jù)備份裝置可以為服務(wù)器。
[0204]當(dāng)服務(wù)器對(duì)生產(chǎn)端的第一目標(biāo)卷的卷數(shù)據(jù)進(jìn)行第一次備份時(shí),需要對(duì)第一目標(biāo)卷的卷數(shù)據(jù)進(jìn)行全量備份;第”0 ^ 2)次備份時(shí),進(jìn)行增量備份。在本實(shí)施方式中,第一次備份和第N (N ^ 2)次備份的方法相同,第N(N ^ 3)次備份和第N-1次備份的方法相同。
[0205]本實(shí)施方式的數(shù)據(jù)備份方法與上一實(shí)施方式的數(shù)據(jù)備份方法的不同之處在于,本實(shí)施方式的數(shù)據(jù)備份方法還包括步驟S205。
[0206]步驟S201?S204與上一實(shí)施方式中的步驟SlOl?S104相同,具體請(qǐng)參閱上一實(shí)施方式的步驟SlOl?S104及相關(guān)描述,此處不贅述。
[0207]S205:根據(jù)所述定長(zhǎng)卷文件保存所述第一目標(biāo)卷的卷映射文件,其中,所述卷映射文件至少包括所述第一目標(biāo)卷的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑。
[0208]服務(wù)器依次將定長(zhǎng)卷文件的文件名稱以及存儲(chǔ)路徑保存到在預(yù)設(shè)的存儲(chǔ)路徑下的創(chuàng)建的第一目標(biāo)卷的卷映射文件中。其中,卷映射文件是服務(wù)器在預(yù)設(shè)的存儲(chǔ)路徑下的創(chuàng)建的,每次備份都會(huì)生成相應(yīng)的卷映射文件、定長(zhǎng)卷文件、定長(zhǎng)卷文件位圖。定長(zhǎng)卷文件與定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存。卷映射文件至少包括第一目標(biāo)卷的所有定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑。定長(zhǎng)卷文件的名稱與定長(zhǎng)卷文件的存儲(chǔ)路徑對(duì)應(yīng),并關(guān)聯(lián)保存。
[0209]如圖14所示,圖14是本申請(qǐng)服務(wù)器對(duì)第一目標(biāo)卷進(jìn)行第一次備份時(shí)生成的卷映射文件一實(shí)施方式的不意圖。
[0210]例如,服務(wù)器在每保存一個(gè)第一次備份的定長(zhǎng)卷文件時(shí),將該定長(zhǎng)卷文件的文件名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑關(guān)聯(lián)保存到預(yù)先建立的第一目標(biāo)卷的卷映射文件中,直到將所有的定長(zhǎng)卷文件名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑保存到卷映射文件。其中,每次備份都會(huì)生成相應(yīng)的卷映射文件、定長(zhǎng)卷文件、定長(zhǎng)卷文件位圖。定長(zhǎng)卷文件與定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存。,卷映射文件至少包括第一目標(biāo)卷的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑。定長(zhǎng)卷文件的名稱用于在將服務(wù)器中的數(shù)據(jù)恢復(fù)到生產(chǎn)端時(shí),能夠使得服務(wù)器根據(jù)定長(zhǎng)卷文件的名稱查找定長(zhǎng)卷文件的名稱對(duì)應(yīng)的定長(zhǎng)卷文件,以及定長(zhǎng)卷文件關(guān)聯(lián)保存的定長(zhǎng)卷位圖文件,根據(jù)定長(zhǎng)卷文件的存儲(chǔ)路徑獲取該定長(zhǎng)卷文件包含的數(shù)據(jù)。定長(zhǎng)卷位圖文件用于標(biāo)識(shí)定長(zhǎng)卷文件包含的數(shù)據(jù)需要傳輸?shù)缴a(chǎn)端的存儲(chǔ)地址。
[0211]卷映射文件標(biāo)識(shí):在存儲(chǔ)路徑1指向的位置保存了第一次備份的第一定長(zhǎng)卷文件F_l_Snap_l,第一定長(zhǎng)卷文件F_l_Snap_l對(duì)應(yīng)生產(chǎn)端100中存儲(chǔ)在存儲(chǔ)地址段0_3的第一定長(zhǎng)數(shù)據(jù)塊。在存儲(chǔ)路徑2指向的位置保存了第一次備份的第二定長(zhǎng)卷文件F_2_Snap_l,第二定長(zhǎng)卷文件F_2_Snap_l對(duì)應(yīng)生產(chǎn)端100中存儲(chǔ)在存儲(chǔ)地址段4_7的第二定長(zhǎng)數(shù)據(jù)塊。在存儲(chǔ)路徑3指向的位置保存了第一次備份的第三定長(zhǎng)卷文件F_3_Snap_l,第三定長(zhǎng)卷文件F_3_Snap_l對(duì)應(yīng)生產(chǎn)端100中存儲(chǔ)在存儲(chǔ)地址段8_11的第三定長(zhǎng)數(shù)據(jù)塊。在存儲(chǔ)路徑4指向的位置保存了第一次備份的第四定長(zhǎng)卷文件F_4_Snap_l,第四定長(zhǎng)卷文件F_4_Snap_l對(duì)應(yīng)生產(chǎn)端100中存儲(chǔ)在存儲(chǔ)地址段12-15的第四定長(zhǎng)數(shù)據(jù)塊。
[0212]可選地,卷映射文件包括定長(zhǎng)卷文件的名稱以及存儲(chǔ)路徑、以及定長(zhǎng)卷位圖文件的名稱。其中,定長(zhǎng)卷文件的名稱、定長(zhǎng)卷文件的存儲(chǔ)路徑以及定長(zhǎng)卷位圖文件的名稱關(guān)聯(lián)保存,定長(zhǎng)卷文件的名稱用于查找定長(zhǎng)卷文件的名稱對(duì)應(yīng)的定長(zhǎng)卷文件,定長(zhǎng)卷文件的存儲(chǔ)路徑用于標(biāo)識(shí)定長(zhǎng)卷文件的存儲(chǔ)位置,定長(zhǎng)卷位圖文件的名稱查找定長(zhǎng)卷位圖文件的名稱對(duì)應(yīng)的定長(zhǎng)卷位圖文件。
[0213]在本實(shí)施方式中,服務(wù)器是按存儲(chǔ)地址從低到高的順序依次獲取每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),將每個(gè)包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖依次保存到定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件,以及依次將獲取到的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件中。
[0214]在其他實(shí)施方式中也可以按存儲(chǔ)地址從高到低的順序依次獲取每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),將每個(gè)包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖依次保存到定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件,以及依次將獲取到的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件中?;蛘?,或者以定長(zhǎng)數(shù)據(jù)塊為基本單位,隨機(jī)任意獲取定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)以及包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖,此處不做限制。只要保證獲取的每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)的存儲(chǔ)地址和獲取的包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖的存儲(chǔ)地址一一對(duì)應(yīng)即可。
[0215]其中,定長(zhǎng)卷文件和定長(zhǎng)卷位圖文件的存儲(chǔ)路徑是在定長(zhǎng)卷映射文件的存儲(chǔ)路徑的下一級(jí)目錄。
[0216]可以理解的是,在預(yù)設(shè)的存儲(chǔ)路徑下的創(chuàng)建的定長(zhǎng)卷文件和定長(zhǎng)卷位圖文件的存儲(chǔ)目錄可以相同,也可以不同,此處不做限制。
[0217]上述方案,服務(wù)器從生產(chǎn)端獲取第一目標(biāo)卷的原始差量位圖,根據(jù)獲取到的原始差量位圖從第一目標(biāo)卷中獲取每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),以及將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到第一目標(biāo)卷的定長(zhǎng)卷位圖文件,并將定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件。由于不需要傳輸無(wú)效數(shù)據(jù),能夠減少數(shù)據(jù)傳輸量,提高備份速度,使服務(wù)器節(jié)省存儲(chǔ)空間。
[0218]請(qǐng)參閱圖20,圖20是本申請(qǐng)數(shù)據(jù)備份方法又一實(shí)施方式的流程圖。本實(shí)施方式的執(zhí)行主體為數(shù)據(jù)備份裝置,數(shù)據(jù)備份裝置可以為服務(wù)器。
[0219]當(dāng)服務(wù)器對(duì)生產(chǎn)端的第一目標(biāo)卷的卷數(shù)據(jù)進(jìn)行第一次備份時(shí),需要對(duì)第一目標(biāo)卷的卷數(shù)據(jù)進(jìn)行全量備份;第”0 ^ 2)次備份時(shí),進(jìn)行增量備份。在本實(shí)施方式中,第一次備份和第N(N ^ 2)次備份的方法不相同,即全量備份和增量備份的備份方法不同,第二次備份和第N (N ^ 3)次備份的方法相同。
[0220]在本實(shí)施方式中,步驟S301?S305對(duì)生產(chǎn)端的第一目標(biāo)卷的卷數(shù)據(jù)進(jìn)行全量備份,步驟S306?S310對(duì)生產(chǎn)端的第一目標(biāo)卷的卷數(shù)據(jù)進(jìn)行增量備份。
[0221]步驟S301?S305與上一實(shí)施方式的步驟S201?S205相同,具體請(qǐng)參閱上一實(shí)施方式中步驟S201?S205的相關(guān)描述,此處不贅述。
[0222]S301:備份服務(wù)器從生產(chǎn)端獲取第一目標(biāo)卷的原始差量位圖。步驟S301與上一實(shí)施方式的步驟SlOl相同,具體請(qǐng)參閱上一實(shí)施方式中步驟SlOl的相關(guān)描述,此處不贅述。
[0223]S302:根據(jù)所述原始差量位圖從所述第一目標(biāo)卷中獲取定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。步驟S302與上一實(shí)施方式的步驟S102相同,具體請(qǐng)參閱上一實(shí)施方式中步驟S102的相關(guān)描述,此處不贅述。
[0224]S303:根據(jù)所述原始差量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到所述定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件。步驟S303與上一實(shí)施方式的步驟S103相同,具體請(qǐng)參閱上一實(shí)施方式中步驟S103的相關(guān)描述,此處不贅述。
[0225]S304:將所述定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到所述定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件。步驟S304與上一實(shí)施方式的步驟S104相同,具體請(qǐng)參閱上一實(shí)施方式中步驟S104的相關(guān)描述,此處不贅述。
[0226]S305:根據(jù)所述定長(zhǎng)卷文件保存所述第一目標(biāo)卷第一次備份的卷映射文件。步驟S305與上一實(shí)施方式的步驟S205相同,具體請(qǐng)參閱上一實(shí)施方式中步驟S205的相關(guān)描述,此處不贅述。
[0227]S306:所述備份服務(wù)器從生產(chǎn)端獲取所述第一目標(biāo)卷的增量位圖,所述增量位圖為所述第一目標(biāo)卷中發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的差量位圖。
[0228]備份服務(wù)器從生產(chǎn)端獲取第一目標(biāo)卷的增量位圖,增量位圖為第一目標(biāo)卷中發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的差量位圖。下面以第二次備份為例進(jìn)行說(shuō)明:
[0229]請(qǐng)一并參閱圖6至圖7,圖6是現(xiàn)有技術(shù)中基于定長(zhǎng)卷數(shù)據(jù)文件的待備份卷數(shù)據(jù)存儲(chǔ)格式另一實(shí)施方式的示意圖,圖7是圖6相對(duì)于圖1中待備份卷數(shù)據(jù)的原始差量位圖。其中,如圖6中陰影部分所示的卷數(shù)據(jù)為第一目標(biāo)卷110發(fā)生變化的卷數(shù)據(jù),存儲(chǔ)地址0、3、13,15對(duì)應(yīng)的存儲(chǔ)區(qū)域存儲(chǔ)的數(shù)據(jù)發(fā)生變化。如圖7所示的原始差量位圖是圖6相對(duì)于圖1中第一次備份的卷數(shù)據(jù)的原始差量位圖,即待備份卷數(shù)據(jù)的增量位圖?!癐”用于標(biāo)識(shí)該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)區(qū)域的數(shù)據(jù)有變化,有變化的數(shù)據(jù)為有效數(shù)據(jù)。
[0230]例如,當(dāng)備份服務(wù)器接收到第N(N ^ 2,此時(shí)N = 2)次備份指令時(shí),在預(yù)設(shè)的存儲(chǔ)路徑下創(chuàng)建待備份卷第二次備份的卷映射文件、定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件。
[0231]其中,創(chuàng)建的第一次備份卷映射文件的名稱為D_2卷映射文件。在0_2卷映射文件的目錄下創(chuàng)建的定長(zhǎng)卷文件包括第一定長(zhǎng)卷F_l_Snap_2、F_2_Snap_2、F_3_Snap_2、F_4_Snap_2,創(chuàng)建的定長(zhǎng)卷位圖文件包括 BitMap_F_l_Snap_2、BitMap_F_2_Snap_2、BitMap_F_3_Snap_2、BitMap_F_4_Snap_2。卷映射文件至少包括第一目標(biāo)卷的所有定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑。定長(zhǎng)卷文件與定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存。
[0232]備份服務(wù)器與虛擬化平臺(tái)進(jìn)行交互,通過(guò)虛擬化平臺(tái)從生產(chǎn)端100獲取第二次備份中第一目標(biāo)卷110的增量位圖。其中,第一目標(biāo)卷110的增量位圖是生產(chǎn)端100在檢測(cè)到第一目標(biāo)卷110的卷數(shù)據(jù)發(fā)生改變時(shí),自動(dòng)生成的,增量位圖包括第一目標(biāo)卷110中所有發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的差量位圖。
[0233]其中,備份服務(wù)器獲取到第二次備份中第一目標(biāo)卷的增量位圖中包括第一定長(zhǎng)數(shù)據(jù)塊的增量位圖BitMap_F_l、第四定長(zhǎng)數(shù)據(jù)塊的增量位圖BitMap_F_4。
[0234]BitMap_F_l用于標(biāo)識(shí)在生產(chǎn)端中第一定長(zhǎng)數(shù)據(jù)塊的第一個(gè)有效數(shù)據(jù)A'存儲(chǔ)在存儲(chǔ)地址0對(duì)于的存儲(chǔ)區(qū)域,第一定長(zhǎng)數(shù)據(jù)塊的第二個(gè)有效數(shù)據(jù)C存儲(chǔ)在存儲(chǔ)地址2對(duì)于的存儲(chǔ)區(qū)域。
[0235]BitMap_F_4用于標(biāo)識(shí)在生產(chǎn)端中第四定長(zhǎng)數(shù)據(jù)塊的第一個(gè)有效數(shù)據(jù)N存儲(chǔ)在存儲(chǔ)地址13對(duì)于的存儲(chǔ)區(qū)域,第四定長(zhǎng)數(shù)據(jù)塊的第二個(gè)有效數(shù)據(jù)P存儲(chǔ)在存儲(chǔ)地址15對(duì)于的存儲(chǔ)區(qū)域。
[0236]S307:根據(jù)所述增量位圖從所述第一目標(biāo)卷中獲取發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。
[0237]例如,備份服務(wù)器在獲取到第一目標(biāo)卷的增量位圖后,按存儲(chǔ)地址從低到高的順序依次檢測(cè)每個(gè)存儲(chǔ)地址對(duì)應(yīng)的值,從而判斷每個(gè)定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的存儲(chǔ)地址段是否有需要獲取的有效數(shù)據(jù)??梢岳斫獾氖?,在其他實(shí)施方式中,服務(wù)器可以按存儲(chǔ)地址從高到低的順序依次檢測(cè)每個(gè)存儲(chǔ)地址對(duì)應(yīng)的值,還可以隨機(jī)檢測(cè)任一定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的存儲(chǔ)地址段中每個(gè)存儲(chǔ)地址對(duì)應(yīng)的值,此處不作限制,只要能夠完全檢測(cè)第一目標(biāo)卷的卷數(shù)據(jù)對(duì)應(yīng)的存儲(chǔ)地址對(duì)應(yīng)的值即可。當(dāng)服務(wù)器檢測(cè)到增量位圖中任一存儲(chǔ)地址對(duì)應(yīng)的值為1時(shí),判斷為該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)區(qū)域存儲(chǔ)了需要獲取的有效數(shù)據(jù)。服務(wù)器以定長(zhǎng)數(shù)據(jù)塊為基本單位,按順序分別獲取每個(gè)發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。
[0238]其中,服務(wù)器判斷第一定長(zhǎng)數(shù)據(jù)塊以及第四定長(zhǎng)數(shù)據(jù)塊的數(shù)據(jù)發(fā)生改變,需要獲取第一定長(zhǎng)數(shù)據(jù)塊以及第四定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。服務(wù)器獲取的發(fā)生改變的第一定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)為A'、C,獲取的第四定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)為N、P'。
[0239]S308:根據(jù)所述增量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到所述定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷位圖文件中。
[0240]例如,備份服務(wù)器根據(jù)增量位圖,從存儲(chǔ)在本地的第一次備份的定長(zhǎng)卷位圖文件中,獲取包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的第(N-1)次備份的定長(zhǎng)卷位圖文件,并將每個(gè)包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的第N次備份的增量位圖以及第(N-1)次備份的定長(zhǎng)卷位圖文件合并,將合并后的位圖保存到定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷位圖文件中,以得到第N次備份的定長(zhǎng)卷位圖文件。
[0241]如圖15所示,圖15是本申請(qǐng)備份服務(wù)器生成第二次備份的定長(zhǎng)卷位圖文件的示意圖。
[0242]備份服務(wù)器根據(jù)包含有效數(shù)據(jù)的第一定長(zhǎng)數(shù)據(jù)塊的增量位圖BitMap_F_l,從存儲(chǔ)在本地的第一次備份的定長(zhǎng)卷位圖文件中,獲取第一定長(zhǎng)數(shù)據(jù)塊的對(duì)應(yīng)的定長(zhǎng)卷位圖文件BitMap_F_l_Snap_l,并將第一定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的第二次備份的增量位圖BitMap_F_l以及第一次備份的定長(zhǎng)卷位圖文件BitMap_F_l_Snap_l取“或”進(jìn)行合并,保存到定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷位圖文件中,從而得到第二次備份中第一定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷位圖文件BitMap—F—I—Snap—2。
[0243]備份服務(wù)器根據(jù)包含有效數(shù)據(jù)的第一定長(zhǎng)數(shù)據(jù)塊的增量位圖BitMap_F_4,從存儲(chǔ)在本地的第一次備份的定長(zhǎng)卷位圖文件中,獲取第四定長(zhǎng)數(shù)據(jù)塊的對(duì)應(yīng)的定長(zhǎng)卷位圖文件BitMap_F_4_Snap_l。將第四定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的第二次備份的增量位圖BitMap_F_4以及第一次備份的定長(zhǎng)卷位圖文件BitMap_F_4_Snap_l取“或”進(jìn)行合并,保存到定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷位圖文件中,從而得到第二次備份中第四定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷位圖文件BitMap—F—4—Snap—2。
[0244]S309:將所述定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到所述定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷文件中。
[0245]例如,備份服務(wù)器在獲取到第N(N彡2,此時(shí)N = 2)次備份的包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件后,比較定長(zhǎng)數(shù)據(jù)塊在第N次備份中的增量位圖以及第N次的定長(zhǎng)卷位圖文件,以判斷第N次備份中的增量位圖與第N次的定長(zhǎng)卷位圖文件是否相同。其中,判斷方法為判斷相同存儲(chǔ)地址對(duì)應(yīng)的值是否相同。
[0246]當(dāng)備份服務(wù)器判斷定長(zhǎng)數(shù)據(jù)塊在本次備份中的增量位圖與定長(zhǎng)卷位圖文件相同時(shí),將已經(jīng)獲取的發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷文件中,從而得到第N次備份中定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件。
[0247]當(dāng)備份服務(wù)器判斷定長(zhǎng)數(shù)據(jù)塊在本次備份中的增量位圖與定長(zhǎng)卷位圖文件不相同時(shí),從本地存儲(chǔ)在本地的第(N-1)次備份的定長(zhǎng)卷文件中獲取值不同的存儲(chǔ)地址對(duì)應(yīng)的有效數(shù)據(jù)。
[0248]之后,將已經(jīng)獲取的發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)以及從第(N-1)次備份的定長(zhǎng)卷文件中獲取的有效數(shù)據(jù),按存儲(chǔ)地址的排列順序依次保存到定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷文件中,從而得到第N次備份中定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件。
[0249]如圖16所示,圖16是本申請(qǐng)服務(wù)器對(duì)第一目標(biāo)卷進(jìn)行第二次備份時(shí)保存的定長(zhǎng)卷文件一實(shí)施方式的示意圖。
[0250]第一定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷文件中保存的有效數(shù)據(jù)為A'、B、C,A'、C為第N次備份已經(jīng)獲取的發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),B為從第(N-1)次備份的定長(zhǎng)卷文件中獲取的有效數(shù)據(jù)。第N次備份中
[0251]第四定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷文件中保存的有效數(shù)據(jù)為N、P',N、P'為第N次備份已經(jīng)獲取的發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。
[0252]可以理解的是:有效數(shù)據(jù)是本次備份中發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊所存儲(chǔ)的數(shù)據(jù),由本次備份的發(fā)生改變的數(shù)據(jù)以及上一次備份中的有效數(shù)據(jù)組成。在本實(shí)施方式中,第一定長(zhǎng)數(shù)據(jù)塊在本次備份中的增量位圖與定長(zhǎng)卷位圖文件不相同,第四定長(zhǎng)數(shù)據(jù)塊在本次備份中的增量位圖與定長(zhǎng)卷位圖文件相同。
[0253]在本實(shí)施方式中,當(dāng)備份服務(wù)器判斷定長(zhǎng)數(shù)據(jù)塊在本次備份中的增量位圖與定長(zhǎng)卷位圖文件不相同時(shí),從本地存儲(chǔ)在本地的第(N-1)次備份的定長(zhǎng)卷文件中獲取值不同的存儲(chǔ)地址對(duì)應(yīng)的有效數(shù)據(jù)。在其他實(shí)施方式中,也可以直接從生產(chǎn)端的第一目標(biāo)卷中獲取,此時(shí),會(huì)占用生產(chǎn)端與服務(wù)器之間的傳輸通道,傳輸速率相對(duì)來(lái)說(shuō)較慢。
[0254]S310:根據(jù)所述定長(zhǎng)卷文件保存所述第一目標(biāo)卷第N(N ^ 2)次備份的卷映射文件。
[0255]備份服務(wù)器在得到第二次備份的定長(zhǎng)卷文件之后,將該定長(zhǎng)卷文件的文件名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑關(guān)聯(lián)保存到預(yù)先建立的第一目標(biāo)卷的卷映射文件中,直到將所有的定長(zhǎng)卷文件名稱以及存儲(chǔ)路徑保存到卷映射文件。其中,卷映射文件至少包括定長(zhǎng)卷文件的名稱以及存儲(chǔ)路徑。
[0256]定長(zhǎng)卷文件的名稱用于在將服務(wù)器中的數(shù)據(jù)恢復(fù)到生產(chǎn)端時(shí),能夠使得服務(wù)器根據(jù)定長(zhǎng)卷文件的名稱查找定長(zhǎng)卷文件的名稱對(duì)應(yīng)的定長(zhǎng)卷文件,以及與定長(zhǎng)卷文件關(guān)聯(lián)保存的定長(zhǎng)卷位圖文件,根據(jù)定長(zhǎng)卷文件的存儲(chǔ)路徑獲取該定長(zhǎng)卷文件包含的數(shù)據(jù)。定長(zhǎng)卷位圖文件用于標(biāo)識(shí)定長(zhǎng)卷文件包含的數(shù)據(jù)需要傳輸?shù)缴a(chǎn)端的存儲(chǔ)地址。
[0257]可選地,卷映射文件還包括與定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件的名稱。其中,定長(zhǎng)卷文件的名稱、定長(zhǎng)卷文件的存儲(chǔ)路徑以及定長(zhǎng)卷位圖文件的名稱一一對(duì)應(yīng)并關(guān)聯(lián)保存,定長(zhǎng)卷文件的名稱用于查找定長(zhǎng)卷文件的名稱對(duì)應(yīng)的定長(zhǎng)卷文件,定長(zhǎng)卷文件的存儲(chǔ)路徑用于標(biāo)識(shí)定長(zhǎng)卷文件的存儲(chǔ)位置,定長(zhǎng)卷位圖文件的名稱查找定長(zhǎng)卷位圖文件的名稱對(duì)應(yīng)的定長(zhǎng)卷位圖文件。
[0258]如圖17所示,圖17是本申請(qǐng)服務(wù)器對(duì)第一目標(biāo)卷進(jìn)行第二次備份時(shí)生成的卷映射文件一實(shí)施方式的不意圖。
[0259]例如,備份服務(wù)器在每保存一個(gè)第二次備份的定長(zhǎng)卷文件后,將該定長(zhǎng)卷文件的文件名稱以及存儲(chǔ)路徑關(guān)聯(lián)保存到預(yù)先建立的第一目標(biāo)卷的卷映射文件中,直到將所有的定長(zhǎng)卷文件名稱以及存儲(chǔ)路徑保存到卷映射文件。其中,卷映射文件至少包括定長(zhǎng)卷文件的名稱以及存儲(chǔ)路徑。定長(zhǎng)卷文件的名稱用于在將服務(wù)器中的數(shù)據(jù)恢復(fù)到生產(chǎn)端時(shí),能夠使得服務(wù)器根據(jù)定長(zhǎng)卷文件的名稱查找定長(zhǎng)卷文件的名稱對(duì)應(yīng)的定長(zhǎng)卷文件,以及定長(zhǎng)卷文件關(guān)聯(lián)保存的定長(zhǎng)卷位圖文件,根據(jù)定長(zhǎng)卷文件的存儲(chǔ)路徑獲取該定長(zhǎng)卷文件包含的數(shù)據(jù)。定長(zhǎng)卷位圖文件用于標(biāo)識(shí)定長(zhǎng)卷文件包含的數(shù)據(jù)需要傳輸?shù)缴a(chǎn)端的存儲(chǔ)地址。
[0260]其中,將第N次備份中的第一定長(zhǎng)卷文件的名稱保存到第N-1次備份中第一定長(zhǎng)卷文件的名稱的位置,將第N次備份中的第四定長(zhǎng)卷文件的名稱保存到第N-1次備份中第四定長(zhǎng)卷文件的名稱的位置。
[0261]卷映射文件標(biāo)識(shí):在存儲(chǔ)路徑1指向的位置保存了第二次備份的第一定長(zhǎng)卷文件F_l_Snap_2,第一定長(zhǎng)卷文件F_l_Snap_2對(duì)應(yīng)生產(chǎn)端中存儲(chǔ)在存儲(chǔ)地址段0_3的第一定長(zhǎng)數(shù)據(jù)塊。在存儲(chǔ)路徑2指向的位置保存了第一次備份的第二定長(zhǎng)卷文件F_2_Snap_l,第二定長(zhǎng)卷文件F_2_Snap_l對(duì)應(yīng)生產(chǎn)端中存儲(chǔ)在存儲(chǔ)地址段4_7的第二定長(zhǎng)數(shù)據(jù)塊。在存儲(chǔ)路徑3指向的位置保存了第一次備份的第三定長(zhǎng)卷文件F_3_Snap_l,第三定長(zhǎng)卷文件F_3_Snap_l對(duì)應(yīng)生產(chǎn)端中存儲(chǔ)在存儲(chǔ)地址段8-11的第三定長(zhǎng)數(shù)據(jù)塊。在存儲(chǔ)路徑4指向的位置保存了第二次備份的第四定長(zhǎng)卷文件F_4_Snap_2,第四定長(zhǎng)卷文件F_4_Snap_2對(duì)應(yīng)生產(chǎn)端中存儲(chǔ)在存儲(chǔ)地址段12-15的第四定長(zhǎng)數(shù)據(jù)塊。
[0262]在本實(shí)施方式中,服務(wù)器是按存儲(chǔ)地址從低到高的順序依次獲取每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),將每個(gè)包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖依次保存到定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件,以及依次將獲取到的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件中。
[0263]在其他實(shí)施方式中也可以按存儲(chǔ)地址從高到低的順序依次獲取每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),將每個(gè)包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖依次保存到定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件,以及依次將獲取到的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件中?;蛘撸蛘咭远ㄩL(zhǎng)數(shù)據(jù)塊為基本單位,隨機(jī)任意獲取定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)以及包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖,此處不做限制。只要保證獲取的每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)的存儲(chǔ)地址和獲取的包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖的存儲(chǔ)地址一一對(duì)應(yīng)即可。
[0264]其中,定長(zhǎng)卷文件和定長(zhǎng)卷位圖文件的存儲(chǔ)路徑是在定長(zhǎng)卷映射文件的存儲(chǔ)路徑的下一級(jí)目錄。
[0265]可以理解的是,在預(yù)設(shè)的存儲(chǔ)路徑下的創(chuàng)建的定長(zhǎng)卷文件和定長(zhǎng)卷位圖文件的存儲(chǔ)目錄可以相同,也可以不同,此處不做限制。
[0266]上述方式,服務(wù)器從生產(chǎn)端獲取第一目標(biāo)卷的位圖,根據(jù)獲取到的位圖從第一目標(biāo)卷中獲取每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),以及將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到第一目標(biāo)卷的定長(zhǎng)卷位圖文件,并將定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到第一目標(biāo)卷的定長(zhǎng)卷文件。由于服務(wù)器對(duì)第一目標(biāo)卷進(jìn)行備份時(shí),只備份第一目標(biāo)卷中的有效數(shù)據(jù),當(dāng)定長(zhǎng)數(shù)據(jù)塊中的有效數(shù)據(jù)的大小小于定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)大小時(shí),由于只備份有效數(shù)據(jù),能夠減少生產(chǎn)端和服務(wù)器之間的數(shù)據(jù)傳輸量,提高備份速度。當(dāng)生產(chǎn)端中的第一目標(biāo)卷是精簡(jiǎn)配置卷時(shí),由于服務(wù)器不會(huì)對(duì)生產(chǎn)端還未分配的存儲(chǔ)空間進(jìn)行備份,能夠提高備份速度,使服務(wù)器節(jié)省存儲(chǔ)空間。
[0267]當(dāng)備份服務(wù)器判斷定長(zhǎng)數(shù)據(jù)塊在本次備份中的增量位圖與定長(zhǎng)卷位圖文件不相同時(shí),從本地存儲(chǔ)在本地的第(N-1)次備份的定長(zhǎng)卷文件中獲取值不同的存儲(chǔ)地址對(duì)應(yīng)的有效數(shù)據(jù),保存到定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷文件中,能夠防止在第N-1次備份的定長(zhǎng)卷文件丟失或刪除時(shí),值不同的存儲(chǔ)地址對(duì)應(yīng)的數(shù)據(jù)丟失。
[0268]請(qǐng)參閱圖21,圖21是本申請(qǐng)數(shù)據(jù)恢復(fù)方法一實(shí)施方式的流程圖。本實(shí)施方式的執(zhí)行主體為數(shù)據(jù)恢復(fù)裝置,數(shù)據(jù)恢復(fù)裝置可以為服務(wù)器。數(shù)據(jù)備份裝置和數(shù)據(jù)恢復(fù)裝置可以是集成在一起的,也可以單獨(dú)存在。本實(shí)施方式的恢復(fù)方法包括以下步驟:
[0269]S401:備份服務(wù)器獲取第一目標(biāo)卷的定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件,其中,所述第一目標(biāo)卷為待恢復(fù)卷,所述第一目標(biāo)卷包括多個(gè)定長(zhǎng)卷文件,所述定長(zhǎng)卷文件與所述定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存,所述定長(zhǎng)卷文件用于標(biāo)識(shí)需要存儲(chǔ)的有效數(shù)據(jù),所述定長(zhǎng)卷位圖文件用于標(biāo)識(shí)所述有效數(shù)據(jù)在生產(chǎn)端中的存儲(chǔ)地址。
[0270]備份服務(wù)器在接收到生產(chǎn)端的請(qǐng)求恢復(fù)數(shù)據(jù)的請(qǐng)求信息后,獲取第一目標(biāo)卷的定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件。其中,請(qǐng)求信息用于標(biāo)識(shí)請(qǐng)求恢復(fù)的備份數(shù)據(jù),請(qǐng)求信息包括恢復(fù)第一目標(biāo)卷的備份信息,第一目標(biāo)卷的備份信息至少包括備份的時(shí)間點(diǎn)。第一目標(biāo)卷為待恢復(fù)卷,第一目標(biāo)卷包括多個(gè)定長(zhǎng)卷文件,定長(zhǎng)卷文件用于標(biāo)識(shí)需要存儲(chǔ)的有效數(shù)據(jù)。定長(zhǎng)卷位圖文件用于標(biāo)識(shí)有效數(shù)據(jù)的存儲(chǔ)地址,生產(chǎn)端為待備份的虛擬機(jī)或物理服務(wù)器。
[0271]例如,當(dāng)備份服務(wù)器接收到生產(chǎn)端發(fā)送的請(qǐng)求恢復(fù)數(shù)據(jù)的請(qǐng)求信息后,從該信息中讀取待恢復(fù)卷的備份信息,并從待恢復(fù)卷的備份信息中獲取待恢復(fù)卷的具體備份時(shí)間點(diǎn),從而根據(jù)該時(shí)間點(diǎn)識(shí)別出需要將第N(N多I)次備份的待恢復(fù)卷的數(shù)據(jù)恢復(fù)到生產(chǎn)端。其中,待恢復(fù)卷為第一目標(biāo)卷,每個(gè)時(shí)間點(diǎn)對(duì)應(yīng)一次備份,每次備份會(huì)生成相應(yīng)的定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件,定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存。
[0272]比如,當(dāng)備份服務(wù)器獲知需要將第一次備份的第一目標(biāo)卷的卷數(shù)據(jù)恢復(fù)到生產(chǎn)端時(shí),從本地獲取第一次備份中第一目標(biāo)卷包括的所有定長(zhǎng)卷文件、每個(gè)定長(zhǎng)卷文件的存儲(chǔ)路徑以及每個(gè)定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件。備份數(shù)據(jù)均為有效數(shù)據(jù)。
[0273]可選地,定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件是從第一目標(biāo)卷的卷映射文件中獲得,卷映射文件至少包括第一目標(biāo)卷的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱、定長(zhǎng)卷文件的存儲(chǔ)路徑。
[0274]例如,備份服務(wù)器從本地獲取第一目標(biāo)卷的卷映射文件,從卷映射文件中獲取第一目標(biāo)卷的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱、定長(zhǎng)卷文件的存儲(chǔ)路徑,并根據(jù)每個(gè)定長(zhǎng)卷文件的名稱、定長(zhǎng)卷文件的存儲(chǔ)路徑查找與該名稱對(duì)應(yīng)的定長(zhǎng)卷文件,以及定長(zhǎng)卷文件關(guān)聯(lián)保存的定長(zhǎng)卷位圖文件。
[0275]其中,備份服務(wù)器從卷映射文件中獲取到第一次備份的第一定長(zhǎng)數(shù)據(jù)塊的第一定長(zhǎng)卷文件名稱為F_l_Snap_l、存儲(chǔ)路徑為1,并根據(jù)第一定長(zhǎng)卷文件的名稱查找第一定長(zhǎng)卷文件、以及獲取第一定長(zhǎng)卷文件關(guān)聯(lián)保存的第一定長(zhǎng)卷位圖文件BitMap_F_l_Snap_l。
[0276]備份服務(wù)器獲取到第一次備份的第二定長(zhǎng)數(shù)據(jù)塊的第二定長(zhǎng)卷文件名稱為F_2_Snap_l,并根據(jù)第二定長(zhǎng)卷文件的名稱、存儲(chǔ)路徑為2、查找第二定長(zhǎng)卷文件、以及獲取第二定長(zhǎng)卷文件關(guān)聯(lián)保存的第二定長(zhǎng)卷位圖文件BitMap_F_2_Snap_l。
[0277]備份服務(wù)器獲取到第一次備份的第三定長(zhǎng)數(shù)據(jù)塊的第三定長(zhǎng)卷文件名稱為F_3_Snap_l、存儲(chǔ)路徑為3,并根據(jù)第三定長(zhǎng)卷文件的名稱,查找第三定長(zhǎng)卷文件,以及獲取第三定長(zhǎng)卷文件關(guān)聯(lián)保存的第三定長(zhǎng)卷位圖文件BitMap_F_3_Snap_l。
[0278]備份服務(wù)器獲取到第一次備份的第四定長(zhǎng)數(shù)據(jù)塊的第四定長(zhǎng)卷文件名稱為F_4_Snap_l、存儲(chǔ)路徑為4,并根據(jù)第四定長(zhǎng)卷文件的名稱、查找第四定長(zhǎng)卷文件,以及獲取第四定長(zhǎng)卷文件關(guān)聯(lián)保存的第四定長(zhǎng)卷位圖文件Bi tMap_F_4_Snap_l。
[0279]可選地,卷映射文件包括卷映射文件還與定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件的名稱。備份服務(wù)器可從卷映射文件直接獲取關(guān)聯(lián)保存的定長(zhǎng)卷文件的名稱、定長(zhǎng)卷文件的存儲(chǔ)地址以及定長(zhǎng)卷位圖文件的名稱,進(jìn)而分別獲取每個(gè)定長(zhǎng)卷文件、以及每個(gè)定長(zhǎng)卷各自對(duì)應(yīng)的定長(zhǎng)卷位圖文件。
[0280]S402:根據(jù)所述定長(zhǎng)卷文件以及所述定長(zhǎng)卷位圖文件,將所述定長(zhǎng)卷文件中的數(shù)據(jù)恢復(fù)到生產(chǎn)端中所述定長(zhǎng)卷位圖文件標(biāo)識(shí)的存儲(chǔ)地址。
[0281]備份服務(wù)器從本地分別獲取第一目標(biāo)卷的每個(gè)定長(zhǎng)卷文件、每個(gè)定長(zhǎng)卷文件的存儲(chǔ)路徑以及每個(gè)定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件后,從每個(gè)定長(zhǎng)卷文件對(duì)應(yīng)的存儲(chǔ)路徑中依次獲取每個(gè)定長(zhǎng)卷文件包含的數(shù)據(jù),然后根據(jù)每個(gè)定長(zhǎng)卷文件各自對(duì)應(yīng)的定長(zhǎng)卷位圖文件,將每個(gè)定長(zhǎng)卷文件中的數(shù)據(jù)傳輸?shù)缴a(chǎn)端中定長(zhǎng)卷位圖文件標(biāo)識(shí)的存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)區(qū)域。
[0282]例如,當(dāng)服務(wù)器獲取到第一次備份中第一目標(biāo)卷的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷的存儲(chǔ)路徑后,根據(jù)每個(gè)定長(zhǎng)卷文件的名稱獲取定長(zhǎng)卷文件各自對(duì)應(yīng)的定長(zhǎng)卷位圖文件,分別從每個(gè)定長(zhǎng)卷的存儲(chǔ)路徑中依次獲取定長(zhǎng)卷所包括的數(shù)據(jù),根據(jù)每個(gè)定長(zhǎng)卷文件各自對(duì)應(yīng)的定長(zhǎng)卷位圖文件將獲取的數(shù)據(jù)依次傳輸?shù)缴a(chǎn)端中定長(zhǎng)卷位圖文件所標(biāo)識(shí)的每個(gè)數(shù)據(jù)對(duì)應(yīng)的存儲(chǔ)地址中進(jìn)行存儲(chǔ)。其中,存儲(chǔ)地址為生產(chǎn)端為每個(gè)定長(zhǎng)卷位圖文件各自對(duì)應(yīng)的定長(zhǎng)卷分配的存儲(chǔ)地址。
[0283]其中,服務(wù)器獲取到第一次備份中第一目標(biāo)卷的第一定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷的存儲(chǔ)路徑之后,根據(jù)第一定長(zhǎng)卷文件的名稱獲取第一定長(zhǎng)卷文件對(duì)應(yīng)的第一定長(zhǎng)卷位圖文件,從第一定長(zhǎng)卷的存儲(chǔ)路徑中獲取第一定長(zhǎng)卷包括的數(shù)據(jù),并根據(jù)第一定長(zhǎng)卷位圖文件將獲取的數(shù)據(jù)傳輸?shù)缴a(chǎn)端中第一目標(biāo)卷的第一定長(zhǎng)卷對(duì)應(yīng)的存儲(chǔ)地址中進(jìn)行存儲(chǔ),從而恢復(fù)第一定長(zhǎng)卷的數(shù)據(jù)。第一定長(zhǎng)卷位圖文件標(biāo)識(shí)了每個(gè)數(shù)據(jù)在生產(chǎn)端中的存儲(chǔ)位置。
[0284]假如,按地址從高到底的順序(但并不限于此,還可以按從高到低的順序)順次獲取的第一定長(zhǎng)卷的數(shù)據(jù)為A、B,第一定長(zhǎng)卷位圖文件的位圖為“1100”,服務(wù)器根據(jù)第一定長(zhǎng)卷位圖文件將第一個(gè)數(shù)據(jù)A傳輸?shù)缴a(chǎn)端中第一目標(biāo)卷的第一定長(zhǎng)卷對(duì)應(yīng)的存儲(chǔ)地址段的第一個(gè)存儲(chǔ)地址中進(jìn)行存儲(chǔ),將第二個(gè)數(shù)據(jù)B傳輸?shù)缴a(chǎn)端中第一目標(biāo)卷的第一定長(zhǎng)卷對(duì)應(yīng)的存儲(chǔ)地址段的第二個(gè)存儲(chǔ)地址中進(jìn)行存儲(chǔ)。
[0285]按照同樣的方法,依次把第一目標(biāo)卷的第二定長(zhǎng)卷、……、第N定長(zhǎng)卷恢復(fù)到生產(chǎn)端第一目標(biāo)卷的第二定長(zhǎng)卷對(duì)應(yīng)的存儲(chǔ)地址段,……,第N定長(zhǎng)卷對(duì)應(yīng)的存儲(chǔ)地址段。
[0286]可選地,當(dāng)定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件是從第一目標(biāo)卷的卷映射文件中獲得時(shí),從第一定長(zhǎng)卷文件的每個(gè)定長(zhǎng)卷文件各自對(duì)應(yīng)的存儲(chǔ)路徑中依次獲取每個(gè)定長(zhǎng)卷文件中的所有數(shù)據(jù);根據(jù)每個(gè)定長(zhǎng)卷文件各自對(duì)應(yīng)的定長(zhǎng)卷位圖文件,依次將每個(gè)定長(zhǎng)卷文件中的數(shù)據(jù)傳輸?shù)缴a(chǎn)端中定長(zhǎng)卷位圖文件標(biāo)識(shí)的存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)區(qū)域,從而完成第一定長(zhǎng)卷文件的恢復(fù)。
[0287]可以理解的是,在本實(shí)施方式中,服務(wù)器中保存的定長(zhǎng)卷文件的存儲(chǔ)地址可以是連續(xù)的,也可以是不連續(xù)的。從服務(wù)器恢復(fù)到生產(chǎn)端中的第一目標(biāo)卷的所有定長(zhǎng)卷文件是根據(jù)地址順序連續(xù)存儲(chǔ)的。在其他實(shí)施方式中,當(dāng)生產(chǎn)端能夠標(biāo)識(shí)第一目標(biāo)卷的各定長(zhǎng)卷文件的存儲(chǔ)地址時(shí),定長(zhǎng)卷文件的存儲(chǔ)地址也可以為不連續(xù)的。
[0288]可以理解的是,服務(wù)器可對(duì)生產(chǎn)端的第一目標(biāo)卷進(jìn)行全量恢復(fù),也可進(jìn)行增量恢復(fù),增量恢復(fù)即只恢復(fù)其中的至少一個(gè)定長(zhǎng)數(shù)據(jù)塊。
[0289]當(dāng)服務(wù)器對(duì)生產(chǎn)端的第一目標(biāo)卷進(jìn)行全量恢復(fù)時(shí),獲取第一目標(biāo)卷的每個(gè)定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件、每個(gè)定長(zhǎng)卷文件的存儲(chǔ)路徑、以及每個(gè)定長(zhǎng)卷文件各自對(duì)應(yīng)的定長(zhǎng)卷位圖文件,并根據(jù)每個(gè)定長(zhǎng)卷文件各自對(duì)應(yīng)的定長(zhǎng)卷位圖文件,將從每個(gè)定長(zhǎng)卷文件的存儲(chǔ)路徑獲取的定長(zhǎng)卷文件保護(hù)的數(shù)據(jù)依次傳輸?shù)缴a(chǎn)端中每個(gè)定長(zhǎng)卷位圖文件所標(biāo)識(shí)的每個(gè)數(shù)據(jù)對(duì)應(yīng)的存儲(chǔ)地址中進(jìn)行存儲(chǔ)。
[0290]當(dāng)服務(wù)器對(duì)生產(chǎn)端的第一目標(biāo)卷進(jìn)行增量恢復(fù)時(shí),獲取第一目標(biāo)卷的需要恢復(fù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件、需要恢復(fù)的定長(zhǎng)卷文件的存儲(chǔ)路徑、以及需要恢復(fù)的定長(zhǎng)卷文件各自對(duì)應(yīng)的定長(zhǎng)卷位圖文件,并根據(jù)每個(gè)定長(zhǎng)卷文件各自對(duì)應(yīng)的定長(zhǎng)卷位圖文件,將從每個(gè)定長(zhǎng)卷文件的存儲(chǔ)路徑獲取的定長(zhǎng)卷文件保護(hù)的數(shù)據(jù)依次傳輸?shù)缴a(chǎn)端中每個(gè)定長(zhǎng)卷位圖文件所標(biāo)識(shí)的每個(gè)數(shù)據(jù)對(duì)應(yīng)的存儲(chǔ)地址中進(jìn)行存儲(chǔ)。
[0291]上述方案,服務(wù)器將存儲(chǔ)在本地的第一目標(biāo)卷的卷數(shù)據(jù)恢復(fù)到生產(chǎn)端時(shí),由于只需要恢復(fù)第一目標(biāo)卷中的有效數(shù)據(jù),能夠提高恢復(fù)速度。當(dāng)生產(chǎn)端中的第一目標(biāo)卷是精簡(jiǎn)配置卷時(shí),不會(huì)導(dǎo)致恢復(fù)無(wú)效數(shù)據(jù)而需要分配存儲(chǔ)空間,能夠使生產(chǎn)端節(jié)省存儲(chǔ)空間。
[0292]請(qǐng)參閱圖22,圖22是本申請(qǐng)數(shù)據(jù)備份裝置一實(shí)施方式的結(jié)構(gòu)示意圖。本申請(qǐng)的數(shù)據(jù)備份裝置可以為服務(wù)器,本實(shí)施方式的數(shù)據(jù)備份裝置的各模塊用于執(zhí)行圖18所示的數(shù)據(jù)備份方法中相應(yīng)的步驟,具體請(qǐng)參閱圖18對(duì)應(yīng)的方法實(shí)施中的相關(guān)描述,此處不贅述。本實(shí)施方式的數(shù)據(jù)備份裝置包括位圖獲取模塊2210、卷數(shù)據(jù)獲取模塊2220、位圖組織模塊2230、備份數(shù)據(jù)存儲(chǔ)模塊2240。
[0293]位圖獲取模塊2210用于從生產(chǎn)端獲取第一目標(biāo)卷的原始差量位圖,其中,第一目標(biāo)卷為待備份卷,原始差量位圖為第一目標(biāo)卷的所有定長(zhǎng)數(shù)據(jù)塊的原始差量位圖。比如,位圖獲取模塊2210從生產(chǎn)端獲取第一目標(biāo)卷的原始差量位圖,其中,生產(chǎn)端為待備份的虛擬機(jī)或物理服務(wù)器,第一目標(biāo)卷為待備份卷,原始差量位圖為第一目標(biāo)卷的所有定長(zhǎng)數(shù)據(jù)塊的原始差量位圖。位圖獲取模塊2210將獲取到的第一目標(biāo)卷的原始差量位圖發(fā)送給卷數(shù)據(jù)獲取模塊2220。
[0294]卷數(shù)據(jù)獲取模塊2220用于根據(jù)位圖獲取模塊2210獲取的原始差量位圖從第一目標(biāo)卷中獲取定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。比如,卷數(shù)據(jù)獲取模塊2220接收位圖獲取模塊2210發(fā)送的原始差量位圖,根據(jù)原始差量位圖從第一目標(biāo)卷中獲取每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。卷數(shù)據(jù)獲取模塊2220將原始差量位圖發(fā)送給位圖組織模塊2230,將每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)發(fā)送給備份數(shù)據(jù)存儲(chǔ)模塊2240。
[0295]位圖組織模塊2230用于根據(jù)原始差量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件,其中,定長(zhǎng)卷位圖文件用于標(biāo)識(shí)有效數(shù)據(jù)在第一目標(biāo)卷中的存儲(chǔ)地址。
[0296]比如,位圖組織模塊2230接收卷數(shù)據(jù)獲取模塊2220發(fā)送的原始差量位圖,并根據(jù)原始差量位圖獲取包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖,將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件。其中,定長(zhǎng)卷位圖文件是在預(yù)設(shè)的存儲(chǔ)路徑下的創(chuàng)建的,一個(gè)定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)一個(gè)定長(zhǎng)卷位圖文件,定長(zhǎng)卷位圖文件用于標(biāo)識(shí)定獲取的有效數(shù)據(jù)數(shù)據(jù)在生產(chǎn)端的第一目標(biāo)卷中的存儲(chǔ)地址。
[0297]備份數(shù)據(jù)存儲(chǔ)模塊2240用于將卷數(shù)據(jù)獲取模塊2220獲取的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到第一目標(biāo)卷的定長(zhǎng)卷文件,其中,所述定長(zhǎng)卷文件與所述定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存,所述定長(zhǎng)卷文件用于標(biāo)識(shí)本次備份的有效數(shù)據(jù)。
[0298]比如,備份數(shù)據(jù)存儲(chǔ)模塊2240,接收卷數(shù)據(jù)獲取模塊2220發(fā)送的第一目標(biāo)卷的每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),并將每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到每個(gè)定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件中。其中,定長(zhǎng)卷文件預(yù)先創(chuàng)建于預(yù)設(shè)的存儲(chǔ)路徑,一個(gè)定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)一個(gè)定長(zhǎng)卷文件,一個(gè)定長(zhǎng)卷文件對(duì)應(yīng)一個(gè)定長(zhǎng)卷位圖文件,每個(gè)定長(zhǎng)卷文件和各自對(duì)應(yīng)的定長(zhǎng)卷位圖文件關(guān)聯(lián)保存,定長(zhǎng)卷文件用于標(biāo)識(shí)本次備份的有效數(shù)據(jù)。
[0299]在本實(shí)施方式中,服務(wù)器是按存儲(chǔ)地址從低到高的順序依次獲取每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),將每個(gè)包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖依次保存到定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件,以及依次將獲取到的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件中。
[0300]在其他實(shí)施方式中也可以按存儲(chǔ)地址從高到低的順序依次獲取每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),將每個(gè)包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖依次保存到定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件,以及依次將獲取到的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件中?;蛘?,或者以定長(zhǎng)數(shù)據(jù)塊為基本單位,隨機(jī)任意獲取定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)以及包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖,此處不做限制。只要保證獲取的每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)的存儲(chǔ)地址和獲取的包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖的存儲(chǔ)地址一一對(duì)應(yīng)即可。
[0301]可以理解的是,在預(yù)設(shè)的存儲(chǔ)路徑下的創(chuàng)建的定長(zhǎng)卷文件和定長(zhǎng)卷位圖文件的存儲(chǔ)目錄可以相同,也可以不同,此處不做限制。
[0302]請(qǐng)參閱圖23,圖23是本申請(qǐng)數(shù)據(jù)備份裝置另一實(shí)施方式的結(jié)構(gòu)示意圖。本申請(qǐng)的數(shù)據(jù)備份裝置可以為服務(wù)器,本實(shí)施方式的數(shù)據(jù)備份裝置的各模塊用于執(zhí)行圖19所示的數(shù)據(jù)備份方法中相應(yīng)的步驟,具體請(qǐng)參閱圖19對(duì)應(yīng)的方法實(shí)施中的相關(guān)描述,此處不贅述。與上一實(shí)施方式的不同之處在于,本實(shí)施方式的數(shù)據(jù)備份裝置還包括卷映射文件生成模塊2350。
[0303]卷映射文件生成模塊2250用于根據(jù)定長(zhǎng)卷文件保存第一目標(biāo)卷的卷映射文件,其中,卷映射文件至少包括定長(zhǎng)卷文件的名稱以及存儲(chǔ)路徑,卷映射文件用于標(biāo)識(shí)每個(gè)定長(zhǎng)卷文件的存儲(chǔ)位置。
[0304]比如,卷映射文件生成模塊2250接收備份數(shù)據(jù)存儲(chǔ)模塊2240發(fā)送的定長(zhǎng)卷文件的名稱,并將定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑關(guān)聯(lián)保存到預(yù)先創(chuàng)建于預(yù)設(shè)的存儲(chǔ)路徑的第一目標(biāo)卷的卷映射文件。其中,每次備份中第一目標(biāo)卷對(duì)應(yīng)的卷映射文件不同,卷映射文件預(yù)先創(chuàng)建于預(yù)設(shè)的存儲(chǔ)路徑,卷映射文件至少包括定長(zhǎng)卷文件的名稱以及存儲(chǔ)路徑,卷映射文件用于標(biāo)識(shí)每個(gè)定長(zhǎng)卷文件的存儲(chǔ)位置。
[0305]可選地,卷映射文件還包括與定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件的名稱。其中,定長(zhǎng)卷文件的名稱、定長(zhǎng)卷文件的存儲(chǔ)路徑以及定長(zhǎng)卷位圖文件的名稱一一對(duì)應(yīng)并關(guān)聯(lián)保存,定長(zhǎng)卷文件的名稱用于查找定長(zhǎng)卷文件的名稱對(duì)應(yīng)的定長(zhǎng)卷文件,定長(zhǎng)卷文件的存儲(chǔ)路徑用于標(biāo)識(shí)定長(zhǎng)卷文件的存儲(chǔ)位置,定長(zhǎng)卷位圖文件的名稱查找定長(zhǎng)卷位圖文件的名稱對(duì)應(yīng)的定長(zhǎng)卷位圖文件。
[0306]比如,卷映射文件生成模塊2250還接收位圖組織模塊2230發(fā)送的定長(zhǎng)卷位圖文件的名稱,并將定長(zhǎng)卷文件的名稱、定長(zhǎng)卷文件的存儲(chǔ)路徑以及定長(zhǎng)卷位圖文件關(guān)聯(lián)保存到預(yù)先創(chuàng)建于預(yù)設(shè)的存儲(chǔ)路徑的第一目標(biāo)卷的卷映射文件。
[0307]上述方案,服務(wù)器從生產(chǎn)端獲取第一目標(biāo)卷的原始差量位圖,根據(jù)獲取到的原始差量位圖從第一目標(biāo)卷中獲取每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),以及將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到第一目標(biāo)卷的定長(zhǎng)卷位圖文件,并將定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到第一目標(biāo)卷的定長(zhǎng)卷文件。由于不需要傳輸無(wú)效數(shù)據(jù),能夠減少生產(chǎn)端和服務(wù)器之間的數(shù)據(jù)傳輸量,提高備份速度,使服務(wù)器節(jié)省存儲(chǔ)空間。
[0308]此外,卷映射文件標(biāo)識(shí)了每個(gè)定長(zhǎng)卷文件的存儲(chǔ)地址,以便于在服務(wù)器將第一目標(biāo)卷的卷數(shù)據(jù)恢復(fù)到生產(chǎn)端時(shí),能夠快速獲取第一目標(biāo)卷的定長(zhǎng)卷文件、定長(zhǎng)卷文件的存儲(chǔ)地址以及定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件,能夠根據(jù)定長(zhǎng)卷文件的存儲(chǔ)地址獲取定長(zhǎng)卷文件的數(shù)據(jù)。
[0309]請(qǐng)繼續(xù)參閱圖23,在另一中實(shí)施方式中,本實(shí)施方式的數(shù)據(jù)備份裝置的各模塊用于執(zhí)行圖20所示的數(shù)據(jù)備份方法中相應(yīng)的步驟,具體請(qǐng)參閱圖20對(duì)應(yīng)的方法實(shí)施中的相關(guān)描述,此處不贅述。
[0310]本實(shí)施方式的數(shù)據(jù)備份裝置包括位圖獲取模塊2310、卷數(shù)據(jù)獲取模塊2320、位圖組織模塊2330、備份數(shù)據(jù)存儲(chǔ)模塊2340以及卷映射文件生成模塊2350。
[0311]位圖獲取模塊2310用于當(dāng)備份服務(wù)器對(duì)生產(chǎn)端進(jìn)行第一次備份時(shí),從生產(chǎn)端獲取第一目標(biāo)卷的原始差量位圖,其中,第一目標(biāo)卷為待備份卷,原始差量位圖為第一目標(biāo)卷的所有定長(zhǎng)數(shù)據(jù)塊的原始差量位圖。比如,位圖獲取模塊2310從生產(chǎn)端獲取第一目標(biāo)卷的原始差量位圖,其中,生產(chǎn)端為待備份的虛擬機(jī)或物理服務(wù)器,第一目標(biāo)卷為待備份卷,原始差量位圖為第一目標(biāo)卷的所有定長(zhǎng)數(shù)據(jù)塊的原始差量位圖。
[0312]位圖獲取模塊2310還用于當(dāng)備份服務(wù)器對(duì)生產(chǎn)端進(jìn)行第N(N多2)次備份時(shí),從生產(chǎn)端獲取第一目標(biāo)卷的增量位圖,增量位圖為第一目標(biāo)卷中發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的差量位圖。
[0313]位圖獲取模塊2310將第一次備份時(shí)獲取到的第一目標(biāo)卷的原始差量位圖,以及第N(N多2)次備份時(shí)獲取到的第一目標(biāo)卷的增量位圖發(fā)送給卷數(shù)據(jù)獲取模塊2320。
[0314]卷數(shù)據(jù)獲取模塊2320用于在第一次備份時(shí),根據(jù)位圖獲取模塊2310獲取的原始差量位圖從第一目標(biāo)卷中獲取定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。比如,在第一次備份時(shí),卷數(shù)據(jù)獲取模塊2320接收位圖獲取模塊2310發(fā)送的第一目標(biāo)卷的原始差量位圖,根據(jù)原始差量位圖從第一目標(biāo)卷中獲取每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。
[0315]卷數(shù)據(jù)獲取模塊2320還用于在第N(N多2)次備份時(shí),根據(jù)位圖獲取模塊2310獲取的增量位圖從第一目標(biāo)卷中獲取發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。比如,在第N(N ^ 2)次備份時(shí),卷數(shù)據(jù)獲取模塊2320接收位圖獲取模塊2310發(fā)送的第一目標(biāo)卷的增量位圖,根據(jù)增量位圖從第一目標(biāo)卷中獲取發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。
[0316]卷數(shù)據(jù)獲取模塊2320在第一次備份時(shí)將原始差量位圖發(fā)送給位圖組織模塊2330,將每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)發(fā)送給備份數(shù)據(jù)存儲(chǔ)模塊2340 ;卷數(shù)據(jù)獲取模塊2320還在第N(N ^ 2)次備份時(shí),將增量位圖發(fā)送給位圖組織模塊2330,將發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)發(fā)送給備份數(shù)據(jù)存儲(chǔ)模塊2340。
[0317]位圖組織模塊2330用于在第一次備份時(shí),根據(jù)原始差量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件,其中,定長(zhǎng)卷位圖文件用于標(biāo)識(shí)有效數(shù)據(jù)在第一目標(biāo)卷中的存儲(chǔ)地址。
[0318]比如,位圖組織模塊2330在第一次備份時(shí),接收卷數(shù)據(jù)獲取模塊2320發(fā)送的原始差量位圖,并根據(jù)原始差量位圖獲取包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖,將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件。其中,定長(zhǎng)卷位圖文件是在預(yù)設(shè)的存儲(chǔ)路徑下的創(chuàng)建的,一個(gè)定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)一個(gè)定長(zhǎng)卷位圖文件,定長(zhǎng)卷位圖文件用于標(biāo)識(shí)定獲取的有效數(shù)據(jù)數(shù)據(jù)在生產(chǎn)端的第一目標(biāo)卷中的存儲(chǔ)地址。
[0319]位圖組織模塊2330還用于在第N(N ^ 2)次備份時(shí),根據(jù)增量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷位圖文件中。比如,位圖組織模塊2330在第N(N ^ 2)次備份時(shí),接收卷數(shù)據(jù)獲取模塊2320發(fā)送的增量位圖,根據(jù)增量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷位圖文件中。
[0320]位圖組織模塊2330在第一次備份時(shí),將定長(zhǎng)卷位圖文件的名稱發(fā)送給卷映射文件生成模塊2350 ;在第N(N ^ 2)次備份時(shí),將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖發(fā)送給備份數(shù)據(jù)存儲(chǔ)模塊2340,以及當(dāng)前的定長(zhǎng)卷位圖文件的名稱發(fā)送給卷映射文件生成模塊2350ο
[0321]備份數(shù)據(jù)存儲(chǔ)模塊2340用于在第一次備份時(shí),將卷數(shù)據(jù)獲取模塊2320獲取的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到第一目標(biāo)卷的定長(zhǎng)卷文件,其中,定長(zhǎng)卷文件與定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存,定長(zhǎng)卷文件用于標(biāo)識(shí)本次備份的有效數(shù)據(jù)。
[0322]比如,備份數(shù)據(jù)存儲(chǔ)模塊2340,接收卷數(shù)據(jù)獲取模塊2320發(fā)送的第一目標(biāo)卷的每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),并將每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到每個(gè)定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件中。其中,定長(zhǎng)卷文件預(yù)先創(chuàng)建于預(yù)設(shè)的存儲(chǔ)路徑,一個(gè)定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)一個(gè)定長(zhǎng)卷文件,一個(gè)定長(zhǎng)卷文件對(duì)應(yīng)一個(gè)定長(zhǎng)卷位圖文件,每個(gè)定長(zhǎng)卷文件和各自對(duì)應(yīng)的定長(zhǎng)卷位圖文件關(guān)聯(lián)保存,定長(zhǎng)卷文件用于標(biāo)識(shí)本次備份的有效數(shù)據(jù)。
[0323]備份數(shù)據(jù)存儲(chǔ)模塊2350還用于在將定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷文件中。比如,備份數(shù)據(jù)存儲(chǔ)模塊2350還用于第Ν(Ν多2)次備份時(shí),接收位圖組織模塊2330包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖,并根據(jù)包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖,將定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷文件中。
[0324]備份數(shù)據(jù)存儲(chǔ)模塊2350將第一次備份的定長(zhǎng)卷文件的名稱以及將第N (N ^ 2)次備份的當(dāng)前的定長(zhǎng)卷文件的名稱發(fā)送給卷映射文件生成模塊2350。
[0325]卷映射文件生成模塊2350用于在第一次備份時(shí),根據(jù)定長(zhǎng)卷文件保存第一目標(biāo)卷的卷映射文件,其中,卷映射文件至少包括定長(zhǎng)卷文件的名稱以及存儲(chǔ)路徑,卷映射文件用于標(biāo)識(shí)每個(gè)定長(zhǎng)卷文件的存儲(chǔ)位置。
[0326]比如,卷映射文件生成模塊2350在第一次備份時(shí),接收備份數(shù)據(jù)存儲(chǔ)模塊2340發(fā)送的定長(zhǎng)卷文件的名稱,并將定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑關(guān)聯(lián)保存到預(yù)先創(chuàng)建于預(yù)設(shè)的存儲(chǔ)路徑的第一目標(biāo)卷的卷映射文件。其中,每次備份中第一目標(biāo)卷對(duì)應(yīng)的卷映射文件不同,卷映射文件預(yù)先創(chuàng)建于預(yù)設(shè)的存儲(chǔ)路徑,卷映射文件至少包括定長(zhǎng)卷文件的名稱以及存儲(chǔ)路徑,卷映射文件用于標(biāo)識(shí)每個(gè)定長(zhǎng)卷文件的存儲(chǔ)位置。
[0327]卷映射文件生成模塊2350還用于在第N(N ^ 2)次備份時(shí),根據(jù)當(dāng)前的定長(zhǎng)卷文件第一目標(biāo)卷的卷映射文件。比如,卷映射文件生成模塊2350在第Ν(Ν多2)次備份時(shí),接收備份數(shù)據(jù)存儲(chǔ)模塊2340發(fā)送的當(dāng)前的定長(zhǎng)卷文件的名稱,并將定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑關(guān)聯(lián)保存到預(yù)先創(chuàng)建于預(yù)設(shè)的存儲(chǔ)路徑的第一目標(biāo)卷的卷映射文件。
[0328]可選地,卷映射文件還包括與定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件的名稱。其中,定長(zhǎng)卷文件的名稱、定長(zhǎng)卷文件的存儲(chǔ)路徑以及定長(zhǎng)卷位圖文件的名稱一一對(duì)應(yīng)并關(guān)聯(lián)保存,定長(zhǎng)卷文件的名稱用于查找定長(zhǎng)卷文件的名稱對(duì)應(yīng)的定長(zhǎng)卷文件,定長(zhǎng)卷文件的存儲(chǔ)路徑用于標(biāo)識(shí)定長(zhǎng)卷文件的存儲(chǔ)位置,定長(zhǎng)卷位圖文件的名稱查找定長(zhǎng)卷位圖文件的名稱對(duì)應(yīng)的定長(zhǎng)卷位圖文件。
[0329]比如,卷映射文件生成模塊2350還接收位圖組織模塊2330發(fā)送的定長(zhǎng)卷位圖文件,并將定長(zhǎng)卷文件的名稱、定長(zhǎng)卷文件的存儲(chǔ)路徑以及定長(zhǎng)卷位圖文件關(guān)聯(lián)保存到預(yù)先創(chuàng)建于預(yù)設(shè)的存儲(chǔ)路徑的第一目標(biāo)卷的卷映射文件。
[0330]在本實(shí)施方式中,服務(wù)器是按存儲(chǔ)地址從低到高的順序依次獲取每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),將每個(gè)包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖依次保存到定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件,以及依次將獲取到的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件中。
[0331]在其他實(shí)施方式中也可以按存儲(chǔ)地址從高到低的順序依次獲取每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù),將每個(gè)包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖依次保存到定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件,以及依次將獲取到的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件中?;蛘?,或者以定長(zhǎng)數(shù)據(jù)塊為基本單位,隨機(jī)任意獲取定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)以及包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖,此處不做限制。只要保證獲取的每個(gè)定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)的存儲(chǔ)地址和獲取的包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖的存儲(chǔ)地址一一對(duì)應(yīng)即可。
[0332]可以理解的是,在預(yù)設(shè)的存儲(chǔ)路徑下的創(chuàng)建的定長(zhǎng)卷文件和定長(zhǎng)卷位圖文件的存儲(chǔ)目錄可以相同,也可以不同,此處不做限制。
[0333]上述方案,服務(wù)器對(duì)第一目標(biāo)卷進(jìn)行備份時(shí),只備份第一目標(biāo)卷中的有效數(shù)據(jù)。當(dāng)定長(zhǎng)數(shù)據(jù)塊中的有效數(shù)據(jù)的大小小于定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)大小時(shí),由于只備份有效數(shù)據(jù),能夠減少生產(chǎn)端和服務(wù)器之間的數(shù)據(jù)傳輸量,提高備份速度。當(dāng)生產(chǎn)端中的第一目標(biāo)卷是精簡(jiǎn)配置卷時(shí),由于服務(wù)器不會(huì)對(duì)生產(chǎn)端還未分配的存儲(chǔ)空間進(jìn)行備份,能夠提高備份速度,使服務(wù)器節(jié)省存儲(chǔ)空間。
[0334]此外,卷映射文件標(biāo)識(shí)了每個(gè)定長(zhǎng)卷文件的存儲(chǔ)地址,以便于在服務(wù)器將第一目標(biāo)卷的卷數(shù)據(jù)恢復(fù)到生產(chǎn)端時(shí),能夠快速獲取第一目標(biāo)卷的定長(zhǎng)卷文件、定長(zhǎng)卷文件的存儲(chǔ)地址以及定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件,能夠根據(jù)定長(zhǎng)卷文件的存儲(chǔ)地址獲取定長(zhǎng)卷文件的數(shù)據(jù)。
[0335]請(qǐng)參閱圖24,圖24是本申請(qǐng)數(shù)據(jù)恢復(fù)裝置一實(shí)施方式的結(jié)構(gòu)示意圖。數(shù)據(jù)恢復(fù)裝置可以為服務(wù)器。其中,本實(shí)施方式中的數(shù)據(jù)恢復(fù)裝置和上述實(shí)施方式中的數(shù)據(jù)備份裝置可以是集成在一起的,也可以單獨(dú)存在。本實(shí)施方式中數(shù)據(jù)恢復(fù)裝置的各模塊用于分別執(zhí)行圖21的恢復(fù)方法中相應(yīng)的步驟。本實(shí)施方式的數(shù)據(jù)恢復(fù)裝置包括獲取模塊2410以及恢復(fù)模塊2420。
[0336]獲取模塊2410用于獲取第一目標(biāo)卷的定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件,其中,第一目標(biāo)卷為待恢復(fù)卷,第一目標(biāo)卷包括多個(gè)定長(zhǎng)卷文件,定長(zhǎng)卷文件用于標(biāo)識(shí)需要存儲(chǔ)的有效數(shù)據(jù),一個(gè)定長(zhǎng)卷文件對(duì)應(yīng)一個(gè)定長(zhǎng)卷位圖文件,定長(zhǎng)卷位圖文件用于標(biāo)識(shí)有效數(shù)據(jù)在生產(chǎn)端的存儲(chǔ)地址。
[0337]比如,獲取模塊2410從本地獲取第一目標(biāo)卷的定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件。其中,第一目標(biāo)卷為待恢復(fù)卷,第一目標(biāo)卷包括多個(gè)定長(zhǎng)卷文件,定長(zhǎng)卷文件與定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存,定長(zhǎng)卷文件用于標(biāo)識(shí)需要存儲(chǔ)的有效數(shù)據(jù),定長(zhǎng)卷位圖文件用于標(biāo)識(shí)有效數(shù)據(jù)在生產(chǎn)端的存儲(chǔ)地址。獲取模塊2410將獲取到的第一目標(biāo)卷的定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件發(fā)送給恢復(fù)模塊2420。
[0338]恢復(fù)模塊2420用于根據(jù)定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件,將定長(zhǎng)卷文件中的數(shù)據(jù)恢復(fù)到生產(chǎn)端中定長(zhǎng)卷位圖文件標(biāo)識(shí)的存儲(chǔ)地址,其中,生產(chǎn)端為待備份的虛擬機(jī)或物理服務(wù)器。
[0339]比如,恢復(fù)模塊2420接收第一目標(biāo)卷的定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件,根據(jù)每個(gè)定長(zhǎng)卷位圖文件將每個(gè)定長(zhǎng)卷位圖文件各自對(duì)應(yīng)的定長(zhǎng)卷文件中的數(shù)據(jù)恢復(fù)到生產(chǎn)端中定長(zhǎng)卷位圖文件標(biāo)識(shí)的存儲(chǔ)地址,其中,生產(chǎn)端為待備份的虛擬機(jī)或物理服務(wù)器。其中,存儲(chǔ)地址為生產(chǎn)端為每個(gè)定長(zhǎng)卷位圖文件各自對(duì)應(yīng)的定長(zhǎng)卷分配的存儲(chǔ)地址。
[0340]在另一種實(shí)施方式中,獲取模塊2410具體用于從第一目標(biāo)卷的卷映射文件中獲得定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件,卷映射文件至少包括第一目標(biāo)卷的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑,每個(gè)定長(zhǎng)卷文件和各自對(duì)應(yīng)的定長(zhǎng)卷位圖文件關(guān)聯(lián)保存。卷映射文件用于指引獲取模塊2410查找每個(gè)定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件、以及每個(gè)定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件。
[0341]比如,獲取模塊2410從本地獲取第一目標(biāo)卷的卷映射文件,從卷映射文件中分別獲取第一目標(biāo)卷的定長(zhǎng)卷文件的名稱、定長(zhǎng)卷文件的存儲(chǔ)地址。獲取模塊2410通過(guò)定長(zhǎng)卷文件的名稱、定長(zhǎng)卷文件的存儲(chǔ)路徑查找與該名稱對(duì)應(yīng)的第一定長(zhǎng)卷文件,以及該定長(zhǎng)卷文件關(guān)聯(lián)保存的定長(zhǎng)卷位圖文件。獲取模塊2410將獲取到的第一目標(biāo)卷的定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件發(fā)送給恢復(fù)模塊2420,以使恢復(fù)模塊2420根據(jù)第一目標(biāo)卷的定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件將第一目標(biāo)卷的卷數(shù)據(jù)恢復(fù)到生產(chǎn)端。
[0342]可選地,卷映射文件還包括與定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件的名稱。比如,獲取模塊2410可從卷映射文件直接獲取關(guān)聯(lián)的定長(zhǎng)卷文件的名稱、定長(zhǎng)卷文件的存儲(chǔ)地址以及定長(zhǎng)卷位圖文件的名稱。
[0343]比如,獲取模塊2410從本地獲取第一目標(biāo)卷的卷映射文件,獲取模塊2410可從卷映射文件直接獲取關(guān)聯(lián)保存的定長(zhǎng)卷文件的名稱、定長(zhǎng)卷文件的存儲(chǔ)路徑以及定長(zhǎng)卷位圖文件的名稱,通過(guò)定長(zhǎng)卷文件的名稱、定長(zhǎng)卷文件的存儲(chǔ)路徑查找與該名稱對(duì)應(yīng)的第一定長(zhǎng)卷文件,并定長(zhǎng)卷位圖文件的名稱查找與該名稱對(duì)應(yīng)的第一定長(zhǎng)卷位圖文件。
[0344]獲取模塊2410將獲取到的第一目標(biāo)卷的定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件發(fā)送給恢復(fù)模塊2420,以使恢復(fù)模塊2420根據(jù)第一目標(biāo)卷的定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件將第一目標(biāo)卷的卷數(shù)據(jù)恢復(fù)到生產(chǎn)端。
[0345]上述方案,服務(wù)器將存儲(chǔ)在本地的第一目標(biāo)卷的卷數(shù)據(jù)恢復(fù)到生產(chǎn)端時(shí),由于只需要恢復(fù)第一目標(biāo)卷中的有效數(shù)據(jù),能夠提高恢復(fù)速度。當(dāng)生產(chǎn)端中的第一目標(biāo)卷是精簡(jiǎn)配置卷時(shí),不會(huì)導(dǎo)致恢復(fù)無(wú)效數(shù)據(jù)而需要分配存儲(chǔ)空間,能夠使生產(chǎn)端節(jié)省存儲(chǔ)空間。
[0346]請(qǐng)參閱圖25,圖25是本申請(qǐng)數(shù)據(jù)備份裝置又一實(shí)施方式的結(jié)構(gòu)示意圖。數(shù)據(jù)備份裝置可以為服務(wù)器,本實(shí)施方式的數(shù)據(jù)備份裝置包括:接收器2510、處理器2520、發(fā)送器2530、只讀存儲(chǔ)器2540、隨機(jī)存取存儲(chǔ)器2550以及總線2560。
[0347]接收器2510用于接收數(shù)據(jù)。
[0348]處理器2520控制數(shù)據(jù)備份裝置的操作,處理器2520還可以稱為CPU (CentralProcessing Unit,中央處理單元)。處理器72520可能是一種集成電路芯片,具有信號(hào)的處理能力。處理器2520還可以是通用處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程門(mén)陣列(FPGA)或者其他可編程邏輯器件、分立門(mén)或者晶體管邏輯器件、分立硬件組件。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。
[0349]發(fā)送器2530用于發(fā)送數(shù)據(jù)。
[0350]存儲(chǔ)器可以包括只讀存儲(chǔ)器2540和隨機(jī)存取存儲(chǔ)器2550,并向處理器2520提供指令和數(shù)據(jù)。存儲(chǔ)器的一部分還可以包括非易失性隨機(jī)存取存儲(chǔ)器(NVRAM)。
[0351]數(shù)據(jù)備份裝置的各個(gè)組件通過(guò)總線2560耦合在一起,其中總線2560除包括數(shù)據(jù)總線之外,還可以包括電源總線、控制總線和狀態(tài)信號(hào)總線等。但是為了清楚說(shuō)明起見(jiàn),在圖中將各種總線都標(biāo)為總線2560。
[0352]存儲(chǔ)器存儲(chǔ)了如下的元素,可執(zhí)行模塊或者數(shù)據(jù)結(jié)構(gòu),或者它們的子集,或者它們的擴(kuò)展集:
[0353]操作指令:包括各種操作指令,用于實(shí)現(xiàn)各種操作。
[0354]操作系統(tǒng):包括各種系統(tǒng)程序,用于實(shí)現(xiàn)各種基礎(chǔ)業(yè)務(wù)以及處理基于硬件的任務(wù)。
[0355]在本發(fā)明實(shí)施例中,處理器2520通過(guò)調(diào)用存儲(chǔ)器存儲(chǔ)的操作指令(該操作指令可存儲(chǔ)在操作系統(tǒng)中),執(zhí)行如下操作:
[0356]處理器2520用于從生產(chǎn)端獲取第一目標(biāo)卷的原始差量位圖,其中,所述第一目標(biāo)卷為待備份卷,所述原始差量位圖為第一目標(biāo)卷的所有定長(zhǎng)數(shù)據(jù)塊的原始差量位圖。
[0357]處理器2520根據(jù)獲取的所述原始差量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到所述第一目標(biāo)卷的定長(zhǎng)卷位圖文件,其中,,所述定長(zhǎng)卷位圖文件用于標(biāo)識(shí)所述有效數(shù)據(jù)在所述第一目標(biāo)卷中的存儲(chǔ)地址。
[0358]處理器2520用于將所述卷數(shù)據(jù)獲取模塊獲取的所述定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到所述第一目標(biāo)卷的定長(zhǎng)卷文件,其中,所述定長(zhǎng)卷文件與所述定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存,所述定長(zhǎng)卷文件用于保存本次備份的有效數(shù)據(jù)。
[0359]可選地,處理器2520還用于根據(jù)所述定長(zhǎng)卷文件保存所述第一目標(biāo)卷的卷映射文件,其中所述卷映射文件至少包括所述第一目標(biāo)卷的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑。
[0360]可選地,處理器2520還用于從生產(chǎn)端獲取所述第一目標(biāo)卷的增量位圖,所述增量位圖為所述第一目標(biāo)卷中發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的差量位圖。
[0361]處理器2520還用于根據(jù)所述增量位圖從所述第一目標(biāo)卷中獲取發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)。
[0362]處理器2520還用于根據(jù)所述增量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到所述定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷位圖文件中。
[0363]處理器2520還用于將所述定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到所述定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷文件中。
[0364]可選地,卷映射文件還包括與所述定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件的名稱。
[0365]上述方案,服務(wù)器對(duì)第一目標(biāo)卷進(jìn)行備份時(shí),只備份第一目標(biāo)卷中的有效數(shù)據(jù)。當(dāng)定長(zhǎng)數(shù)據(jù)塊中的有效數(shù)據(jù)的大小小于定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)大小時(shí),由于只備份有效數(shù)據(jù),能夠減少生產(chǎn)端和服務(wù)器之間的數(shù)據(jù)傳輸量,提高備份速度。當(dāng)生產(chǎn)端中的第一目標(biāo)卷是精簡(jiǎn)配置卷時(shí),由于服務(wù)器不會(huì)對(duì)生產(chǎn)端還未分配的存儲(chǔ)空間進(jìn)行備份,能夠提高備份速度,使服務(wù)器節(jié)省存儲(chǔ)空間。
[0366]此外,卷映射文件標(biāo)識(shí)了每個(gè)定長(zhǎng)卷文件的存儲(chǔ)地址,以便于在服務(wù)器將第一目標(biāo)卷的卷數(shù)據(jù)恢復(fù)到生產(chǎn)端時(shí),能夠快速獲取第一目標(biāo)卷的定長(zhǎng)卷文件、定長(zhǎng)卷文件的存儲(chǔ)地址以及定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件,能夠根據(jù)定長(zhǎng)卷文件的存儲(chǔ)地址獲取定長(zhǎng)卷文件的數(shù)據(jù)。
[0367]請(qǐng)參閱圖26,圖26是本申請(qǐng)數(shù)據(jù)恢復(fù)裝置另一實(shí)施方式的結(jié)構(gòu)示意圖。數(shù)據(jù)恢復(fù)裝置可以是服務(wù)器。本實(shí)施方式中的數(shù)據(jù)恢復(fù)裝置和圖25所示的數(shù)據(jù)備份裝置可以是集成為一個(gè)整體,也可以是單獨(dú)存在。本實(shí)施方式的數(shù)據(jù)恢復(fù)裝置包括:接收器2610、處理器2620、發(fā)送器2630、只讀存儲(chǔ)器2640、隨機(jī)存取存儲(chǔ)器2650以及總線2660。
[0368]接收器2610用于數(shù)據(jù)。
[0369]處理器2620控制數(shù)據(jù)恢復(fù)裝置的操作,處理器2620還可以稱為CPU (CentralProcessing Unit,中央處理單元)。處理器2620可能是一種集成電路芯片,具有信號(hào)的處理能力。處理器2620還可以是通用處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程門(mén)陣列(FPGA)或者其他可編程邏輯器件、分立門(mén)或者晶體管邏輯器件、分立硬件組件。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。
[0370]發(fā)送器2630用于發(fā)送數(shù)據(jù)。
[0371]存儲(chǔ)器可以包括只讀存儲(chǔ)器2640和隨機(jī)存取存儲(chǔ)器2650,并向處理器2620提供指令和數(shù)據(jù)。存儲(chǔ)器的一部分還可以包括非易失性隨機(jī)存取存儲(chǔ)器(NVRAM)。
[0372]數(shù)據(jù)恢復(fù)裝置的各個(gè)組件通過(guò)總線2660耦合在一起,其中總線2660除包括數(shù)據(jù)總線之外,還可以包括電源總線、控制總線和狀態(tài)信號(hào)總線等。但是為了清楚說(shuō)明起見(jiàn),在圖中將各種總線都標(biāo)為總線2660。
[0373]存儲(chǔ)器存儲(chǔ)了如下的元素,可執(zhí)行模塊或者數(shù)據(jù)結(jié)構(gòu),或者它們的子集,或者它們的擴(kuò)展集:
[0374]操作指令:包括各種操作指令,用于實(shí)現(xiàn)各種操作。
[0375]操作系統(tǒng):包括各種系統(tǒng)程序,用于實(shí)現(xiàn)各種基礎(chǔ)業(yè)務(wù)以及處理基于硬件的任務(wù)。
[0376]在本發(fā)明實(shí)施例中,處理器2620通過(guò)調(diào)用存儲(chǔ)器存儲(chǔ)的操作指令(該操作指令可存儲(chǔ)在操作系統(tǒng)中),執(zhí)行如下操作:
[0377]處理器2620用于獲取第一目標(biāo)卷的定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件,其中,所述第一目標(biāo)卷為待恢復(fù)卷,所述第一目標(biāo)卷包括多個(gè)定長(zhǎng)卷文件,所述定長(zhǎng)卷文件與所述定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存,所述定長(zhǎng)卷文件用于標(biāo)識(shí)需要存儲(chǔ)的有效數(shù)據(jù),所述定長(zhǎng)卷位圖文件用于標(biāo)識(shí)所述有效數(shù)據(jù)在生產(chǎn)端中的存儲(chǔ)地址。
[0378]處理器2620用于根據(jù)所述定長(zhǎng)卷文件以及所述定長(zhǎng)卷位圖文件,將所述定長(zhǎng)卷文件中的數(shù)據(jù)恢復(fù)到生產(chǎn)端中所述定長(zhǎng)卷位圖文件標(biāo)識(shí)的存儲(chǔ)地址。
[0379]可選地,處理器2620具體根據(jù)所述第一目標(biāo)卷的卷映射文件獲取所述定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件,所述卷映射文件至少包括所述第一目標(biāo)卷的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑,每個(gè)定長(zhǎng)卷文件和各自對(duì)應(yīng)的定長(zhǎng)卷位圖文件關(guān)聯(lián)保存。
[0380]可選地,所述卷映射文件還包括與所述定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件的名稱。
[0381]上述方案,服務(wù)器將存儲(chǔ)在本地的第一目標(biāo)卷的卷數(shù)據(jù)恢復(fù)到生產(chǎn)端時(shí),由于只需要恢復(fù)第一目標(biāo)卷中的有效數(shù)據(jù),能夠提高恢復(fù)速度。當(dāng)生產(chǎn)端中的第一目標(biāo)卷是精簡(jiǎn)配置卷時(shí),不會(huì)導(dǎo)致恢復(fù)無(wú)效數(shù)據(jù)而需要分配存儲(chǔ)空間,能夠使生產(chǎn)端節(jié)省存儲(chǔ)空間。
[0382]以上描述中,為了說(shuō)明而不是為了限定,提出了諸如特定系統(tǒng)結(jié)構(gòu)、接口、技術(shù)之類的具體細(xì)節(jié),以便透徹理解本申請(qǐng)。然而,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)清楚,在沒(méi)有這些具體細(xì)節(jié)的其它實(shí)施方式中也可以實(shí)現(xiàn)本申請(qǐng)。在其它情況中,省略對(duì)眾所周知的裝置、電路以及方法的詳細(xì)說(shuō)明,以免不必要的細(xì)節(jié)妨礙本申請(qǐng)的描述。
【權(quán)利要求】
1.一種數(shù)據(jù)備份方法,其特征在于,所述方法包括如下步驟: 備份服務(wù)器從生產(chǎn)端獲取第一目標(biāo)卷的原始差量位圖,其中,所述第一目標(biāo)卷為待備份卷,所述原始差量位圖為第一目標(biāo)卷的所有定長(zhǎng)數(shù)據(jù)塊的原始差量位圖; 根據(jù)所述原始差量位圖從所述第一目標(biāo)卷中獲取定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù); 根據(jù)所述原始差量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到所述定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件,其中,所述定長(zhǎng)卷位圖文件用于標(biāo)識(shí)所述有效數(shù)據(jù)在所述第一目標(biāo)卷中的存儲(chǔ)地址; 將所述定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到所述定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件,其中,所述定長(zhǎng)卷文件與所述定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存,所述定長(zhǎng)卷文件用于保存本次備份的有效數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 根據(jù)所述定長(zhǎng)卷文件保存所述第一目標(biāo)卷的卷映射文件,其中,所述卷映射文件至少包括所述第一目標(biāo)卷的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括: 所述備份服務(wù)器從生產(chǎn)端獲取所述第一目標(biāo)卷的增量位圖,所述增量位圖為所述第一目標(biāo)卷中發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的差量位圖; 根據(jù)所述增量位圖從所述第一目標(biāo)卷中獲取發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù);根據(jù)所述增量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到所述定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件中; 將所述定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到所述定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷文件中。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述卷映射文件還包括與所述定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件的名稱。
5.一種數(shù)據(jù)恢復(fù)方法,其特征在于,所述方法包括如下步驟: 備份服務(wù)器獲取第一目標(biāo)卷的定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件,其中,所述第一目標(biāo)卷為待恢復(fù)卷,所述第一目標(biāo)卷包括多個(gè)定長(zhǎng)卷文件,所述定長(zhǎng)卷文件與所述定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存,所述定長(zhǎng)卷文件用于標(biāo)識(shí)需要存儲(chǔ)的有效數(shù)據(jù),所述定長(zhǎng)卷位圖文件用于標(biāo)識(shí)所述有效數(shù)據(jù)在生產(chǎn)端中的存儲(chǔ)地址; 根據(jù)所述定長(zhǎng)卷文件以及所述定長(zhǎng)卷位圖文件,將所述定長(zhǎng)卷文件中的數(shù)據(jù)恢復(fù)到生產(chǎn)端中所述定長(zhǎng)卷位圖文件標(biāo)識(shí)的存儲(chǔ)地址。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件是根據(jù)所述第一目標(biāo)卷的卷映射文件獲得,所述卷映射文件至少包括所述第一目標(biāo)卷的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述卷映射文件還包括與所述定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件的名稱。
8.—種數(shù)據(jù)備份裝置,其特征在于,所述裝置包括位圖獲取模塊、卷數(shù)據(jù)獲取模塊、位圖組織模塊、備份數(shù)據(jù)存儲(chǔ)模塊; 所述位圖獲取模塊用于從生產(chǎn)端獲取第一目標(biāo)卷的原始差量位圖,其中所述第一目標(biāo)卷為待備份卷,所述原始差量位圖為第一目標(biāo)卷的所有定長(zhǎng)數(shù)據(jù)塊的原始差量位圖; 所述卷數(shù)據(jù)獲取模塊用于根據(jù)所述位圖獲取模塊獲取的所述原始差量位圖從所述第一目標(biāo)卷中獲取定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù); 所述位圖組織模塊用于根據(jù)所述原始差量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到所述定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷位圖文件,其中,所述定長(zhǎng)卷位圖文件用于標(biāo)識(shí)所述有效數(shù)據(jù)在所述第一目標(biāo)卷中存儲(chǔ)地址; 所述備份數(shù)據(jù)存儲(chǔ)模塊用于將所述卷數(shù)據(jù)獲取模塊獲取的所述定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到所述定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件,其中,所述定長(zhǎng)卷文件與所述定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存,所述定長(zhǎng)卷文件用于標(biāo)識(shí)本次備份的有效數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括卷映射文件生成模塊,所述卷映射文件生成模塊用于根據(jù)所述定長(zhǎng)卷文件保存所述第一目標(biāo)卷的卷映射文件,其中,所述卷映射文件至少包括所述第一目標(biāo)卷的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑。
10.根據(jù)權(quán)利要求8或9任一項(xiàng)所述的裝置,其特征在于,所述位圖獲取模塊還用于從生產(chǎn)端獲取所述第一目標(biāo)卷的增量位圖,所述增量位圖為所述第一目標(biāo)卷中發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的差量位圖; 所述卷數(shù)據(jù)獲取模塊還用于根據(jù)所述增量位圖從所述第一目標(biāo)卷中獲取發(fā)生改變的定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù); 所述位圖組織模塊還用于根據(jù)所述增量位圖將包含有效數(shù)據(jù)的定長(zhǎng)數(shù)據(jù)塊對(duì)應(yīng)的位圖保存到所述定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷位圖文件中; 所述備份數(shù)據(jù)存儲(chǔ)模塊用于將所述定長(zhǎng)數(shù)據(jù)塊的有效數(shù)據(jù)保存到所述定長(zhǎng)數(shù)據(jù)塊的當(dāng)前的定長(zhǎng)卷文件中。
11.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述卷映射文件還包括與所述定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件的名稱。
12.一種數(shù)據(jù)恢復(fù)裝置,其特征在于,所述裝置包括獲取模塊、恢復(fù)模塊; 所述獲取模塊用于獲取第一目標(biāo)卷的定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件,其中,所述第一目標(biāo)卷為待恢復(fù)卷,所述第一目標(biāo)卷包括多個(gè)定長(zhǎng)卷文件,所述定長(zhǎng)卷文件與所述定長(zhǎng)卷位圖文件一一對(duì)應(yīng)并關(guān)聯(lián)保存,所述定長(zhǎng)卷文件用于標(biāo)識(shí)需要存儲(chǔ)的有效數(shù)據(jù),所述定長(zhǎng)卷位圖文件用于標(biāo)識(shí)所述有效數(shù)據(jù)在生產(chǎn)端中的存儲(chǔ)地址; 所述恢復(fù)模塊用于根據(jù)所述定長(zhǎng)卷文件以及所述定長(zhǎng)卷位圖文件,將所述定長(zhǎng)卷文件中的數(shù)據(jù)恢復(fù)到生產(chǎn)端中所述定長(zhǎng)卷位圖文件標(biāo)識(shí)的存儲(chǔ)地址。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述獲取模塊具體用于根據(jù)所述第一目標(biāo)卷的卷映射文件獲取所述定長(zhǎng)卷文件以及定長(zhǎng)卷位圖文件,所述卷映射文件至少包括所述第一目標(biāo)卷的定長(zhǎng)數(shù)據(jù)塊的定長(zhǎng)卷文件的名稱以及定長(zhǎng)卷文件的存儲(chǔ)路徑。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述卷映射文件還包括與所述定長(zhǎng)卷文件對(duì)應(yīng)的定長(zhǎng)卷位圖文件的名稱。
15.一種用于數(shù)據(jù)備份、恢復(fù)的服務(wù)器,其特征在于,所述服務(wù)器包括權(quán)利要求8-11任一項(xiàng)所述的數(shù)據(jù)備份裝置、權(quán)利要求12-14中任一項(xiàng)所述的數(shù)據(jù)恢復(fù)裝置。
【文檔編號(hào)】G06F11/14GK104506619SQ201410810797
【公開(kāi)日】2015年4月8日 申請(qǐng)日期:2014年12月22日 優(yōu)先權(quán)日:2014年12月22日
【發(fā)明者】張磊 申請(qǐng)人:華為技術(shù)有限公司