一種基于單進(jìn)度位圖的克隆拷貝方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種基于單進(jìn)度位圖的克隆拷貝方法和系統(tǒng),包括:采用兩個(gè)克隆卷和一個(gè)進(jìn)度位圖進(jìn)行數(shù)據(jù)塊的克隆拷貝。在克隆拷貝開始前,將進(jìn)度位圖的所有位初始化為0;在克隆拷貝過程中,每一個(gè)數(shù)據(jù)塊的克隆拷貝完成時(shí),將進(jìn)度位圖的相應(yīng)位置為1。其中,克隆卷包括需要拷貝的克隆源邏輯卷和克隆目標(biāo)邏輯卷,克隆源邏輯卷和克隆目標(biāo)邏輯卷的大小相同;進(jìn)度位圖是指記錄克隆拷貝進(jìn)度的位圖,進(jìn)度位圖的每一位只有兩種狀態(tài):0和1;0代表未進(jìn)行克隆拷貝,1代表已進(jìn)行克隆拷貝。通過本發(fā)明的方案,能夠在克隆拷貝過程中減少磁盤讀寫次數(shù),節(jié)省內(nèi)存和磁盤空間,提高災(zāi)備克隆系統(tǒng)的效率。
【專利說明】
一種基于單進(jìn)度位圖的克隆拷貝方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)災(zāi)備領(lǐng)域,具體涉及一種基于單進(jìn)度位圖的克隆拷貝方法和系統(tǒng)。
【背景技術(shù)】
[0002]在災(zāi)備數(shù)據(jù)備份系統(tǒng)中,克隆是一項(xiàng)重要的技術(shù),是一種通過計(jì)算機(jī)軟件或硬件的方式,把邏輯卷的內(nèi)容完整的復(fù)制到另一邏輯卷的過程,是指將數(shù)據(jù)進(jìn)行全部的復(fù)制,而得到某一時(shí)刻的精確的副本。在當(dāng)前的災(zāi)備數(shù)據(jù)備份產(chǎn)品中,克隆作為一項(xiàng)基本功能存在,一般以卷為單位進(jìn)行克隆。通常,在克隆技術(shù)中,會(huì)使用位圖技術(shù)記錄克隆進(jìn)度和卷差異。一個(gè)克隆任務(wù)包括一個(gè)克隆源邏輯卷和一個(gè)克隆目標(biāo)邏輯卷,簡稱源卷和目標(biāo)卷,數(shù)據(jù)從源卷復(fù)制到目標(biāo)卷。通常,在源卷和目標(biāo)卷各自對應(yīng)一個(gè)進(jìn)度位圖,相應(yīng)記錄源卷和目標(biāo)卷各自的拷貝進(jìn)度。每次改變位圖數(shù)據(jù)時(shí),都需要將位圖內(nèi)容更新到磁盤上,以隨時(shí)記錄拷貝進(jìn)度。這一做法需要反復(fù)進(jìn)行磁盤讀寫,浪費(fèi)內(nèi)存和磁盤空間,并且效率較低。
【發(fā)明內(nèi)容】
[0003]為了解決上述問題,本發(fā)明提出了一種基于單進(jìn)度位圖的克隆拷貝方法和系統(tǒng),能夠在克隆拷貝過程中減少磁盤讀寫次數(shù),節(jié)省內(nèi)存和磁盤空間,提高災(zāi)備克隆系統(tǒng)的效率。
[0004]為了達(dá)到上述目的,本發(fā)明提出了一種基于單進(jìn)度位圖的克隆拷貝方法,該方法包括:
[0005]采用兩個(gè)克隆卷和一個(gè)進(jìn)度位圖進(jìn)行數(shù)據(jù)塊的克隆拷貝。
[0006]在克隆拷貝開始前,將進(jìn)度位圖的所有位初始化為0 ;在克隆拷貝過程中,每一個(gè)數(shù)據(jù)塊的克隆拷貝完成時(shí),將進(jìn)度位圖的相應(yīng)位置為1。
[0007]其中,克隆卷包括需要拷貝的克隆源邏輯卷和克隆目標(biāo)邏輯卷,克隆源邏輯卷是指被拷貝的邏輯卷,克隆目標(biāo)邏輯卷是指拷貝到的目標(biāo)地址邏輯卷??寺≡催壿嬀砗涂寺∧繕?biāo)邏輯卷的大小相同;進(jìn)度位圖是指記錄克隆拷貝進(jìn)度的位圖,進(jìn)度位圖的每一位只有兩種狀態(tài):0和1 ;0代表未進(jìn)行克隆拷貝,1代表已進(jìn)行克隆拷貝。
[0008]優(yōu)選地,該方法還包括:在克隆拷貝開始前,根據(jù)用戶設(shè)置的克隆基本單位,將克隆卷劃分為大小相同的塊,進(jìn)度位圖的大小與克隆卷被劃分的塊數(shù)相同,進(jìn)度位圖中的每一位分別一一對應(yīng)克隆源邏輯卷的每一塊,同時(shí)進(jìn)度位圖中的每一位分別一一對應(yīng)克隆目標(biāo)邏輯卷的每一塊;克隆源邏輯卷的每一塊與克隆目標(biāo)邏輯卷的每一塊一一對應(yīng)。
[0009]優(yōu)選地,克隆拷貝過程包括以下述兩種克隆拷貝方式:順序拷貝法和指定塊拷貝法。
[0010]順序拷貝法是指:從指定位置開始,查找對應(yīng)進(jìn)度位圖中代表該塊尚未被克隆拷貝的第一個(gè)為0的位置,并克隆拷貝對應(yīng)的數(shù)據(jù)塊;在克隆拷貝完成后,將進(jìn)度位圖中的對應(yīng)位置為1 ;繼續(xù)查找進(jìn)度位圖中下一個(gè)為0的位置。
[0011]指定塊拷貝法是指:對于被指定的數(shù)據(jù)塊的位置,判斷進(jìn)度位圖對應(yīng)位置是否為0 ;如果進(jìn)度位圖的對應(yīng)位為0,則進(jìn)行克隆拷貝,克隆拷貝完成后將對應(yīng)位置為1 ;如果進(jìn)度位圖對應(yīng)位置不為0,則不做任何動(dòng)作。
[0012]優(yōu)選地,該方法還包括:進(jìn)度位圖中的每一位改變時(shí),將改變同步保存到磁盤上;如果在克隆拷貝過程中發(fā)生故障,通過讀取磁盤中的數(shù)據(jù)重建克隆拷貝過程。
[0013]本發(fā)明還提出一種基于單進(jìn)度位圖的克隆拷貝系統(tǒng),該系統(tǒng)包括:克隆拷貝模塊、置位模塊。
[0014]克隆拷貝模塊,用于克隆拷貝兩個(gè)克隆卷之間的數(shù)據(jù)塊。
[0015]置位模塊,用于在克隆拷貝開始前,將進(jìn)度位圖的所有位初始化為0 ;在克隆拷貝過程中,每一個(gè)數(shù)據(jù)塊的克隆拷貝完成時(shí),將進(jìn)度位圖的相應(yīng)位置為1。
[0016]優(yōu)選地,該系統(tǒng)還包括劃分模塊:用于在克隆拷貝開始前,根據(jù)用戶設(shè)置的克隆基本單位,將克隆卷劃分為大小相同的塊;劃分的依據(jù)為:進(jìn)度位圖的大小與克隆卷被劃分的塊數(shù)相同,進(jìn)度位圖中的每一位分別一一對應(yīng)克隆源邏輯卷的每一塊,同時(shí)進(jìn)度位圖中的每一位分別一一對應(yīng)克隆目標(biāo)邏輯卷的每一塊;克隆源邏輯卷的每一塊與克隆目標(biāo)邏輯卷的每一塊--對應(yīng)。
[0017]優(yōu)選地,克隆拷貝模塊還用于:以下述兩種方式完成拷貝:順序拷貝法和指定塊拷貝法。
[0018]其中,順序拷貝法是指:從指定位置開始,查找對應(yīng)進(jìn)度位圖中代表該塊尚未被克隆拷貝的第一個(gè)為0的位置,并克隆拷貝對應(yīng)的數(shù)據(jù)塊;在克隆拷貝完成并且置位模塊將進(jìn)度位圖中的對應(yīng)位置為1后;繼續(xù)查找進(jìn)度位圖中下一個(gè)為0的位置。
[0019]指定塊拷貝法是指:對于被指定的數(shù)據(jù)塊的位置,判斷進(jìn)度位圖對應(yīng)位置是否為0 ;如果進(jìn)度位圖的對應(yīng)位為0,則進(jìn)行克隆拷貝,克隆拷貝完成后等待置位模塊將對應(yīng)位置為1 ;如果進(jìn)度位圖的對應(yīng)位不為0,則不做任何動(dòng)作。
[0020]優(yōu)選地,該系統(tǒng)還包括備份模塊:用于在進(jìn)度位圖中的每一位改變時(shí),將改變同步保存到磁盤上;如果在克隆拷貝過程中發(fā)生故障,通過讀取磁盤中的數(shù)據(jù)重建所述克隆拷貝過程。
[0021]與現(xiàn)有技術(shù)相比,本發(fā)明包括:采用兩個(gè)克隆卷和一個(gè)進(jìn)度位圖進(jìn)行數(shù)據(jù)塊的克隆拷貝。在克隆拷貝開始前,將進(jìn)度位圖的所有位初始化為0 ;在克隆拷貝過程中,每一個(gè)數(shù)據(jù)塊的克隆拷貝完成時(shí),將進(jìn)度位圖的相應(yīng)位置為1。其中,克隆卷包括需要拷貝的克隆源邏輯卷和克隆目標(biāo)邏輯卷,克隆源邏輯卷和克隆目標(biāo)邏輯卷的大小相同;進(jìn)度位圖是指記錄克隆拷貝進(jìn)度的位圖,進(jìn)度位圖的每一位只有兩種狀態(tài):0和1 ;0代表未進(jìn)行克隆拷貝,1代表已進(jìn)行克隆拷貝。通過本發(fā)明的方案,能夠在克隆拷貝過程中減少磁盤讀寫次數(shù),節(jié)省內(nèi)存和磁盤空間,提聞災(zāi)備克隆系統(tǒng)的效率。
【專利附圖】
【附圖說明】
[0022]下面對本發(fā)明實(shí)施例中的附圖進(jìn)行說明,實(shí)施例中的附圖是用于對本發(fā)明的進(jìn)一步理解,與說明書一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明保護(hù)范圍的限制。
[0023]圖1為本發(fā)明的基于單進(jìn)度位圖的克隆拷貝方法流程圖;
[0024]圖2為本發(fā)明的基于單進(jìn)度位圖的克隆拷貝系統(tǒng)框圖;
[0025]圖3為本發(fā)明的基于單進(jìn)度位圖的克隆拷貝方法示意圖;
[0026]圖4為本發(fā)明的順序拷貝法流程圖;
[0027]圖5為本發(fā)明的指定塊拷貝法流程圖。
【具體實(shí)施方式】
[0028]為了便于本領(lǐng)域技術(shù)人員的理解,下面結(jié)合附圖對本發(fā)明作進(jìn)一步的描述,并不能用來限制本發(fā)明的保護(hù)范圍。
[0029]本發(fā)明基于位圖的克隆拷貝技術(shù),使用位圖記錄克隆的拷貝進(jìn)度;使用單進(jìn)度位圖拷貝,簡化拷貝的邏輯判斷,優(yōu)化拷貝過程中的磁盤讀寫次數(shù)。
[0030]本發(fā)明提出了一種基于單進(jìn)度位圖的克隆拷貝方法,如圖1、圖2所示,該方法包括:
[0031]S101、采用兩個(gè)克隆卷和一個(gè)進(jìn)度位圖進(jìn)行數(shù)據(jù)塊的克隆拷貝。
[0032]其中,克隆卷包括需要拷貝的克隆源邏輯卷和克隆目標(biāo)邏輯卷,克隆源邏輯卷和克隆目標(biāo)邏輯卷的大小相同。基于位圖的克隆拷貝技術(shù),是指使用位圖記錄克隆過程中的拷貝進(jìn)度的技術(shù);進(jìn)度位圖是指記錄所述克隆拷貝進(jìn)度的位圖,進(jìn)度位圖的每一位只有兩種狀態(tài):0和1 ;0代表未進(jìn)行克隆拷貝,1代表已進(jìn)行克隆拷貝。
[0033]S102、在克隆拷貝開始前,將進(jìn)度位圖的所有位初始化為0。
[0034]優(yōu)選地,該方法還包括:在克隆拷貝開始前,根據(jù)用戶設(shè)置的克隆基本單位,將克隆卷劃分為大小相同的塊,進(jìn)度位圖的大小與克隆卷被劃分的塊數(shù)相同,進(jìn)度位圖中的每一位分別一一對應(yīng)克隆源邏輯卷的每一塊,同時(shí)進(jìn)度位圖中的每一位分別一一對應(yīng)克隆目標(biāo)邏輯卷的每一塊;克隆源邏輯卷的每一塊與克隆目標(biāo)邏輯卷的每一塊一一對應(yīng)。
[0035]S103、在克隆拷貝過程中,每一個(gè)數(shù)據(jù)塊的克隆拷貝完成時(shí),將進(jìn)度位圖的相應(yīng)位置為1。
[0036]優(yōu)選地,克隆拷貝過程包括以下兩種克隆拷貝方式:順序拷貝法和指定塊拷貝法。具體流程圖如圖4、圖5所不。
[0037]順序拷貝法是指:從指定位置開始,查找對應(yīng)進(jìn)度位圖中代表該塊尚未被克隆拷貝的第一個(gè)為0的位置,并克隆拷貝對應(yīng)的數(shù)據(jù)塊;在克隆拷貝完成后,將進(jìn)度位圖中的對應(yīng)位置為1 ;繼續(xù)查找進(jìn)度位圖中下一個(gè)為0的位置。
[0038]指定塊拷貝法是指:對于被指定的數(shù)據(jù)塊的位置,判斷進(jìn)度位圖對應(yīng)位置是否為0 ;如果進(jìn)度位圖的對應(yīng)位為0,則進(jìn)行克隆拷貝,克隆拷貝完成后將對應(yīng)位置為1 ;如果進(jìn)度位圖對應(yīng)位置不為0,則不做任何動(dòng)作。
[0039]優(yōu)選地,該方法還包括:進(jìn)度位圖中的每一位改變時(shí),將該改變同步保存到磁盤上;如果在克隆拷貝過程中發(fā)生故障,通過讀取磁盤中的數(shù)據(jù)重建克隆拷貝過程。
[0040]本發(fā)明還提出一種基于單進(jìn)度位圖的克隆拷貝系統(tǒng)01,如圖2所示,該系統(tǒng)包括:克隆拷貝模塊02、置位模塊03。
[0041]克隆拷貝模塊02,用于克隆拷貝兩個(gè)克隆卷之間的數(shù)據(jù)塊。
[0042]置位模塊03,用于在克隆拷貝開始前,將進(jìn)度位圖的所有位初始化為0 ;在克隆拷貝過程中,每一個(gè)數(shù)據(jù)塊的克隆拷貝完成時(shí),將進(jìn)度位圖的相應(yīng)位置為1。
[0043]優(yōu)選地,系統(tǒng)還包括劃分模塊04:用于在克隆拷貝開始前,根據(jù)用戶設(shè)置的克隆基本單位,將克隆卷劃分為大小相同的塊;劃分的依據(jù)為:進(jìn)度位圖的大小與克隆卷被劃分的塊數(shù)相同,進(jìn)度位圖中的每一位分別一一對應(yīng)克隆源邏輯卷的每一塊,同時(shí)進(jìn)度位圖中的每一位分別一一對應(yīng)克隆目標(biāo)邏輯卷的每一塊;克隆源邏輯卷的每一塊與克隆目標(biāo)邏輯卷的每一塊一一對應(yīng)。
[0044]優(yōu)選地,克隆拷貝模塊02還用于:以下述兩種方式完成拷貝:順序拷貝法和指定塊拷貝法。
[0045]其中,順序拷貝法是指:從指定位置開始,查找對應(yīng)進(jìn)度位圖中代表該塊尚未被克隆拷貝的第一個(gè)為0的位置,并克隆拷貝對應(yīng)的數(shù)據(jù)塊;在克隆拷貝完成并且置位模塊將進(jìn)度位圖中的對應(yīng)位置為1后;繼續(xù)查找進(jìn)度位圖中下一個(gè)為0的位置。
[0046]指定塊拷貝法是指:對于被指定的數(shù)據(jù)塊的位置,判斷進(jìn)度位圖對應(yīng)位置是否為0 ;如果進(jìn)度位圖的對應(yīng)位為0,則進(jìn)行克隆拷貝,克隆拷貝完成后等待置位模塊將對應(yīng)位置為1 ;如果進(jìn)度位圖的對應(yīng)位不為0,則不做任何動(dòng)作。
[0047]優(yōu)選地,該系統(tǒng)還包括備份模塊05:用于在進(jìn)度位圖中的每一位改變時(shí),將改變同步保存到磁盤上;如果在克隆拷貝過程中發(fā)生故障,通過讀取磁盤中的數(shù)據(jù)重建克隆拷貝過程。
[0048]需要說明的是,以上所述的實(shí)施例僅是為了便于本領(lǐng)域的技術(shù)人員理解而已,并不用于限制本發(fā)明的保護(hù)范圍,在不脫離本發(fā)明的發(fā)明構(gòu)思的前提下,本領(lǐng)域技術(shù)人員對本發(fā)明所做出的任何顯而易見的替換和改進(jìn)等均在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種基于單進(jìn)度位圖的克隆拷貝方法,其特征在于,所述方法包括: 采用兩個(gè)克隆卷和一個(gè)進(jìn)度位圖進(jìn)行數(shù)據(jù)塊的克隆拷貝; 在所述克隆拷貝開始前,將所述進(jìn)度位圖的所有位初始化為O ;在所述克隆拷貝過程中,每一個(gè)數(shù)據(jù)塊的克隆拷貝完成時(shí),將所述進(jìn)度位圖的相應(yīng)位置為I; 其中,所述克隆卷包括需要拷貝的克隆源邏輯卷和克隆目標(biāo)邏輯卷,所述克隆源邏輯卷和克隆目標(biāo)邏輯卷的大小相同;所述進(jìn)度位圖是指記錄所述克隆拷貝進(jìn)度的位圖,所述進(jìn)度位圖的每一位只有兩種狀態(tài):0和I ;0代表未進(jìn)行克隆拷貝,I代表已進(jìn)行克隆拷貝。
2.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括:在所述克隆拷貝開始前,根據(jù)用戶設(shè)置的克隆基本單位,將所述克隆卷劃分為大小相同的塊,所述進(jìn)度位圖的大小與所述克隆卷被劃分的塊數(shù)相同,所述進(jìn)度位圖中的每一位分別一一對應(yīng)所述克隆源邏輯卷的每一塊,同時(shí)所述進(jìn)度位圖中的每一位分別一一對應(yīng)所述克隆目標(biāo)邏輯卷的每一塊;所述克隆源邏輯卷的每一塊與所述克隆目標(biāo)邏輯卷的每一塊一一對應(yīng)。
3.如權(quán)利要求1所述的方法,其特征在于,所述克隆拷貝過程包括以下述兩種克隆拷貝方式:順序拷貝法和指定塊拷貝法; 所述順序拷貝法是指:從指定位置開始,查找對應(yīng)進(jìn)度位圖中代表該塊尚未被克隆拷貝的第一個(gè)為O的位置,并克隆拷貝對應(yīng)的數(shù)據(jù)塊;在所述克隆拷貝完成后,將所述進(jìn)度位圖中的對應(yīng)位置為I;繼續(xù)查找所述進(jìn)度位圖中下一個(gè)為O的位置; 所述指定塊拷貝法是指:對于被指定的數(shù)據(jù)塊的位置,判斷所述進(jìn)度位圖對應(yīng)位置是否為O ;如果所述進(jìn)度位圖的對應(yīng)位為O,則進(jìn)行克隆拷貝,所述克隆拷貝完成后將所述對應(yīng)位置為I ;如果所述進(jìn)度位圖對應(yīng)位置不為O,則不做任何動(dòng)作。
4.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括:所述進(jìn)度位圖中的每一位改變時(shí),將所述改變同步保存到磁盤上;如果在所述克隆拷貝過程中發(fā)生故障,通過讀取所述磁盤中的數(shù)據(jù)重建所述克隆拷貝過程。
5.一種基于單進(jìn)度位圖的克隆拷貝系統(tǒng),其特征在于,所述系統(tǒng)包括:克隆拷貝模塊、置位模塊; 所述克隆拷貝模塊,用于克隆拷貝兩個(gè)克隆卷之間的數(shù)據(jù)塊; 所述置位模塊,用于在所述克隆拷貝開始前,將所述進(jìn)度位圖的所有位初始化為O ;在所述克隆拷貝過程中,每一個(gè)數(shù)據(jù)塊的克隆拷貝完成時(shí),將所述進(jìn)度位圖的相應(yīng)位置為I。
6.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括劃分模塊:用于在所述克隆拷貝開始前,根據(jù)用戶設(shè)置的克隆基本單位,將所述克隆卷劃分為大小相同的塊;劃分的依據(jù)為:所述進(jìn)度位圖的大小與所述克隆卷被劃分的塊數(shù)相同,所述進(jìn)度位圖中的每一位分別一一對應(yīng)所述克隆源邏輯卷的每一塊,同時(shí)所述進(jìn)度位圖中的每一位分別一一對應(yīng)所述克隆目標(biāo)邏輯卷的每一塊;所述克隆源邏輯卷的每一塊與所述克隆目標(biāo)邏輯卷的每一塊--對應(yīng)。
7.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述克隆拷貝模塊還用于:以下述兩種方式完成拷貝:順序拷貝法和指定塊拷貝法; 其中,所述順序拷貝法是指:從指定位置開始,查找對應(yīng)進(jìn)度位圖中代表該塊尚未被克隆拷貝的第一個(gè)為O的位置,并克隆拷貝對應(yīng)的數(shù)據(jù)塊;在所述克隆拷貝完成并且所述置位模塊將所述進(jìn)度位圖中的對應(yīng)位置為I后;繼續(xù)查找所述進(jìn)度位圖中下一個(gè)為O的位 置; 所述指定塊拷貝法是指:對于被指定的數(shù)據(jù)塊的位置,判斷所述進(jìn)度位圖對應(yīng)位置是否為O;如果所述進(jìn)度位圖的對應(yīng)位為O,則進(jìn)行克隆拷貝,所述克隆拷貝完成后等待所述置位模塊將所述對應(yīng)位置為I;如果所述進(jìn)度位圖的對應(yīng)位不為O,則不做任何動(dòng)作。
8.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括備份模塊:用于在所述進(jìn)度位圖中的每一位改變時(shí),將所述改變同步保存到磁盤上;如果在所述克隆拷貝過程中發(fā)生故障,通過讀取所述磁盤中的數(shù)據(jù)重建所述克隆拷貝過程。
【文檔編號(hào)】G06F11/14GK104461784SQ201410768235
【公開日】2015年3月25日 申請日期:2014年12月11日 優(yōu)先權(quán)日:2014年12月11日
【發(fā)明者】王倩, 穆裕, 張?jiān)诶? 申請人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司