專利名稱:一種遠(yuǎn)程復(fù)制方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及備份技術(shù),特別涉及一種遠(yuǎn)程復(fù)制方法及裝置。
背景技術(shù):
遠(yuǎn)程復(fù)制是基于存儲區(qū)域網(wǎng)絡(luò)(SAN,Storage Area Network)或者廣域網(wǎng)的一種 遠(yuǎn)程容災(zāi)備份技術(shù),本地設(shè)備中包括對應(yīng)不同用戶的不同本地卷,遠(yuǎn)程設(shè)備中包括分別與 各個本地卷對應(yīng)的遠(yuǎn)程卷。在本地設(shè)備,針對某個用戶創(chuàng)建一個新的本地卷時,該本地卷中可能為空,也可能 存在其他數(shù)據(jù),或者用戶在本地卷寫入數(shù)據(jù)時,有時寫入數(shù)據(jù)并不覆蓋整個本地卷,這時本 地卷中未被覆蓋的部分可能存在其他數(shù)據(jù)。不管是上述哪種情況,將本地卷中存在的、非用 戶寫入的數(shù)據(jù)統(tǒng)稱為無效數(shù)據(jù),本地卷為空時可以視為一種無效數(shù)據(jù)的特殊情況。相應(yīng)的, 將用戶寫入的數(shù)據(jù)稱為有效數(shù)據(jù)。執(zhí)行遠(yuǎn)程復(fù)制時,一般需要把本地卷中的所有數(shù)據(jù)通過網(wǎng)絡(luò)同步到對應(yīng)的遠(yuǎn)程 卷,在現(xiàn)有技術(shù)的方案中,將本地卷中的有效數(shù)據(jù)和無效數(shù)據(jù)全部同步到對應(yīng)的遠(yuǎn)程卷,極 大的浪費(fèi)了網(wǎng)絡(luò)帶寬并降低了遠(yuǎn)程復(fù)制性能。
發(fā)明內(nèi)容
本發(fā)明提供一種遠(yuǎn)程復(fù)制方法,提高網(wǎng)絡(luò)帶寬利用率,提高遠(yuǎn)程復(fù)制性能。本發(fā)明提供一種遠(yuǎn)程復(fù)制裝置,提高網(wǎng)絡(luò)帶寬利用率,提高遠(yuǎn)程復(fù)制性能。本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種遠(yuǎn)程復(fù)制方法,關(guān)鍵在于,將每個本地卷及其對應(yīng)的遠(yuǎn)程卷分別分成兩個以 上數(shù)量相同、一一對應(yīng)的數(shù)據(jù)塊,具有對應(yīng)關(guān)系的兩個數(shù)據(jù)塊具有相同的塊號;設(shè)置每個本 地卷的指示標(biāo)識,當(dāng)用戶寫入有效數(shù)據(jù)時,在被寫入的本地卷的指示標(biāo)識中填寫表示被寫 入的數(shù)據(jù)塊存在有效數(shù)據(jù)的取值;該方法還包括A、利用所述指示標(biāo)識,確定每個本地卷中存在有效數(shù)據(jù)的數(shù)據(jù)塊;B、針對每個本地卷,將確定出的數(shù)據(jù)塊中的有效數(shù)據(jù)復(fù)制到對應(yīng)遠(yuǎn)程卷的對應(yīng)的 數(shù)據(jù)塊中。一種遠(yuǎn)程復(fù)制裝置,關(guān)鍵在于,該裝置包括數(shù)據(jù)模塊、寫入模塊、指示標(biāo)識模塊和 復(fù)制模塊;所述數(shù)據(jù)模塊中包括本地卷,每個本地卷包括與對應(yīng)遠(yuǎn)程卷中數(shù)量相同、一一對 應(yīng)的兩個以上數(shù)據(jù)塊;每個本地卷及其對應(yīng)遠(yuǎn)程卷中具有對應(yīng)關(guān)系的兩個數(shù)據(jù)塊具有相同 的塊號;所述指示標(biāo)識模塊,存儲每個本地卷的指示標(biāo)識;所述寫入模塊,接收有效數(shù)據(jù)寫入所述數(shù)據(jù)模塊中,在被寫入的本地卷的指示標(biāo) 識中填寫表示被寫入的數(shù)據(jù)塊存在有效數(shù)據(jù)的取值;所述復(fù)制模塊,利用所述指示標(biāo)識,確定每個本地卷中存在有效數(shù)據(jù)的數(shù)據(jù)塊;針對每個本地卷,將確定出的數(shù)據(jù)塊中的數(shù)據(jù)復(fù)制到對應(yīng)遠(yuǎn)程卷的對應(yīng)的數(shù)據(jù)塊中??梢姡景l(fā)明的遠(yuǎn)程復(fù)制方法及裝置中,將本地卷和遠(yuǎn)程卷分成了更小粒度的數(shù) 據(jù)塊,并設(shè)置了每個本地卷的指示標(biāo)識,在執(zhí)行遠(yuǎn)程復(fù)制時,針對每個本地卷,通過其指示 標(biāo)識確定該本地卷中存在有效數(shù)據(jù)的數(shù)據(jù)塊,只將存在有效數(shù)據(jù)的數(shù)據(jù)塊復(fù)制到對應(yīng)遠(yuǎn)程 卷的對應(yīng)數(shù)據(jù)塊中,減少無效數(shù)據(jù)的傳輸,大大提高了網(wǎng)絡(luò)帶寬利用率,提高了遠(yuǎn)程復(fù)制效 率和性能。
圖1為本發(fā)明遠(yuǎn)程復(fù)制方法的流程圖;圖2為本發(fā)明實(shí)施例中遠(yuǎn)程復(fù)制方法的流程圖;圖3為本發(fā)明實(shí)施例中指示標(biāo)識的結(jié)構(gòu)示意圖;圖4為本發(fā)明實(shí)施例中第一種數(shù)據(jù)塊的塊號設(shè)置示意圖;圖5為本發(fā)明實(shí)施例中第二種數(shù)據(jù)塊的塊號設(shè)置示意圖;圖6為本發(fā)明遠(yuǎn)程復(fù)制的裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明的目的和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步的 詳細(xì)說明。在本發(fā)明的遠(yuǎn)程復(fù)制方法中,將每個本地卷及其對應(yīng)的遠(yuǎn)程卷分別分成兩個以上 數(shù)量相同、一一對應(yīng)的數(shù)據(jù)塊,具有對應(yīng)關(guān)系的兩個數(shù)據(jù)塊具有相同的塊號;設(shè)置每個本地 卷的指示標(biāo)識,當(dāng)用戶寫入有效數(shù)據(jù)時,在被寫入的本地卷的指示標(biāo)識中填寫表示被寫入 的數(shù)據(jù)塊存在有效數(shù)據(jù)的取值。圖1為本發(fā)明遠(yuǎn)程復(fù)制方法的流程圖,該方法包括步驟101 利用指示標(biāo)識,確定每個本地卷中存在有效數(shù)據(jù)的數(shù)據(jù)塊。步驟102 針對每個本地卷,將確定出的數(shù)據(jù)塊中的數(shù)據(jù)復(fù)制到對應(yīng)遠(yuǎn)程卷的對 應(yīng)的數(shù)據(jù)塊中。可見,本發(fā)明的遠(yuǎn)程復(fù)制方法中,將本地卷和遠(yuǎn)程卷分成了更小粒度的數(shù)據(jù)塊,并 設(shè)置了每個本地卷的指示標(biāo)識,在執(zhí)行遠(yuǎn)程復(fù)制時,針對每個本地卷,通過其指示標(biāo)識確定 該本地卷中存在有效數(shù)據(jù)的數(shù)據(jù)塊,只將存在有效數(shù)據(jù)的數(shù)據(jù)塊復(fù)制到對應(yīng)遠(yuǎn)程卷的對應(yīng) 數(shù)據(jù)塊中,減少無效數(shù)據(jù)的傳輸,大大提高了網(wǎng)絡(luò)帶寬利用率,提高了遠(yuǎn)程復(fù)制效率和性 能。下面給出本發(fā)明的遠(yuǎn)程復(fù)制方法的一個實(shí)施例。在本實(shí)施例中,當(dāng)用戶寫入數(shù)據(jù)時,根據(jù)數(shù)據(jù)的大小和本地卷中劃分出的數(shù)據(jù)塊 的大小,該寫入的數(shù)據(jù)將作為有效數(shù)據(jù)存入該用戶對應(yīng)的本地卷的一個或兩個以上數(shù)據(jù) 塊,并在該用戶對應(yīng)的本地卷的指示標(biāo)識中填寫表示被寫入的數(shù)據(jù)塊存在有效數(shù)據(jù)的取 值。至于具體存入哪個數(shù)據(jù)或哪些數(shù)據(jù)塊中,可以根據(jù)實(shí)際應(yīng)用和本領(lǐng)域的公知常識確定, 這并非本發(fā)明要討論的重點(diǎn),因此這里不再贅述。本實(shí)施例中,為方便操作,本地卷和遠(yuǎn)程卷中分出的各個數(shù)據(jù)塊的大小均相同。圖2為本發(fā)明實(shí)施例中遠(yuǎn)程復(fù)制方法的流程圖,該流程包括
步驟201 利用指示標(biāo)識,確定每個本地卷中存在有效數(shù)據(jù)的數(shù)據(jù)塊。本實(shí)施例中,每個本地卷對應(yīng)一個指示標(biāo)識,該指示標(biāo)識為比特位圖(bitmap),其 中的每一比特位對應(yīng)該本地卷的一個數(shù)據(jù)塊,設(shè)置各個比特位填寫不同的取值代表對應(yīng)的 數(shù)據(jù)塊中是否存在有效數(shù)據(jù),圖3為本發(fā)明實(shí)施例中指示標(biāo)識的結(jié)構(gòu)示意圖,假設(shè)0代表對 應(yīng)數(shù)據(jù)塊中不存在有效數(shù)據(jù),1代表對應(yīng)數(shù)據(jù)塊中存在有效數(shù)據(jù),可以看出圖3所示的本地 卷中,從左至右第2和第4個數(shù)據(jù)塊中存在有效數(shù)據(jù),其他數(shù)據(jù)塊中不存在有效數(shù)據(jù)。步驟202 針對每個確定出的數(shù)據(jù)塊計算哈希值。本實(shí)施例中,針對每個確定出的數(shù)據(jù)塊計算哈希值的具體算法,可以根據(jù)實(shí)際需 求選擇,計算的方式也屬于本領(lǐng)域的公知常識,這里不再贅述。本實(shí)施例中,在本地設(shè)備中維護(hù)一個哈希表,其中每個記錄項(xiàng)記錄一個哈希值及 具有該哈希值的數(shù)據(jù)塊的塊號。哈希表的表結(jié)構(gòu)如下面的表一所示。
權(quán)利要求
1.一種遠(yuǎn)程復(fù)制方法,其特征在于,將每個本地卷及其對應(yīng)的遠(yuǎn)程卷分別分成兩個以 上數(shù)量相同、一一對應(yīng)的數(shù)據(jù)塊,具有對應(yīng)關(guān)系的兩個數(shù)據(jù)塊具有相同的塊號;設(shè)置每個本 地卷的指示標(biāo)識,當(dāng)用戶寫入有效數(shù)據(jù)時,在被寫入的本地卷的指示標(biāo)識中填寫表示被寫 入的數(shù)據(jù)塊存在有效數(shù)據(jù)的取值;該方法還包括A、利用所述指示標(biāo)識,確定每個本地卷中存在有效數(shù)據(jù)的數(shù)據(jù)塊;B、針對每個本地卷,將確定出的數(shù)據(jù)塊中的有效數(shù)據(jù)復(fù)制到對應(yīng)遠(yuǎn)程卷的對應(yīng)的數(shù)據(jù) 塊中。
2.如權(quán)利要求1所述的方法,其特征在于,設(shè)置哈希表,其中每個記錄項(xiàng)記錄一個哈希 值及具有該哈希值的數(shù)據(jù)塊的塊號;所述步驟A和步驟B之間進(jìn)一步包括計算每個確定出的數(shù)據(jù)塊的哈希值;所述步驟B包括針對每個確定出的數(shù)據(jù)塊,判斷該數(shù)據(jù)塊的哈希值是否已記錄在所 述哈希表中,如果不是,在所述哈希表中創(chuàng)建一個新紀(jì)錄項(xiàng)、將該數(shù)據(jù)塊的哈希值和塊號記 錄到該新記錄項(xiàng)中,并將該數(shù)據(jù)塊中的有效數(shù)據(jù)復(fù)制到對應(yīng)遠(yuǎn)程卷的對應(yīng)的數(shù)據(jù)塊中;否 則進(jìn)一步比對該數(shù)據(jù)塊中的有效數(shù)據(jù)和記錄在哈希表中、且具有相同哈希值的其他數(shù)據(jù)塊 中的有效數(shù)據(jù)是否相同,如果是,通知遠(yuǎn)程設(shè)備將所述其他數(shù)據(jù)塊在遠(yuǎn)程卷的對應(yīng)數(shù)據(jù)塊 中的有效數(shù)據(jù)恢復(fù)到該數(shù)據(jù)塊在遠(yuǎn)程卷的對應(yīng)數(shù)據(jù)塊中,否則按照該數(shù)據(jù)塊的哈希值,將 該數(shù)據(jù)塊的塊號記錄到哈希表中,再將該數(shù)據(jù)塊中的有效數(shù)據(jù)復(fù)制到對應(yīng)遠(yuǎn)程卷的對應(yīng)的 數(shù)據(jù)塊中。
3.如權(quán)利要求2所述的方法,其特征在于,每兩個具有對應(yīng)關(guān)系的數(shù)據(jù)塊具有唯一的 塊號;針對一個數(shù)據(jù)塊執(zhí)行所述通知遠(yuǎn)程設(shè)備的操作時,包括通知遠(yuǎn)程設(shè)備該數(shù)據(jù)塊的塊 號、及所述記錄在哈希表中、且具有相同哈希值的其他數(shù)據(jù)塊的塊號。
4.權(quán)利要求2所述的方法,其特征在于,每個本地卷及其對應(yīng)的遠(yuǎn)程卷具有相同的卷 號,每個本地卷中的每個數(shù)據(jù)塊的塊號不相同;針對一個數(shù)據(jù)塊執(zhí)行所述通知遠(yuǎn)程設(shè)備的操作時,包括通知遠(yuǎn)程設(shè)備該數(shù)據(jù)塊的塊 號、該數(shù)據(jù)塊所在本地卷的卷號、所述記錄在哈希表中、且具有相同哈希值的其他數(shù)據(jù)塊的 塊號、及所述其他數(shù)據(jù)塊所在本地卷的卷號。
5.如權(quán)利要求1或2所述的方法,其特征在于,各個數(shù)據(jù)塊的大小均相同。
6.如權(quán)利要求1或2所述的方法,其特征在于,所述指示標(biāo)識為比特位圖,其中的每一 比特位對應(yīng)指示本地卷的一個數(shù)據(jù)塊中是否存在有效數(shù)據(jù)。
7.—種遠(yuǎn)程復(fù)制裝置,其特征在于,該裝置包括數(shù)據(jù)模塊、寫入模塊、指示標(biāo)識模塊 和復(fù)制模塊;所述數(shù)據(jù)模塊中包括本地卷,每個本地卷包括與對應(yīng)遠(yuǎn)程卷中數(shù)量相同、一一對應(yīng)的 兩個以上數(shù)據(jù)塊;每個本地卷及其對應(yīng)遠(yuǎn)程卷中具有對應(yīng)關(guān)系的兩個數(shù)據(jù)塊具有相同的塊 號;所述指示標(biāo)識模塊,存儲每個本地卷的指示標(biāo)識;所述寫入模塊,接收有效數(shù)據(jù)寫入所述數(shù)據(jù)模塊中,在被寫入的本地卷的指示標(biāo)識中 填寫表示被寫入的數(shù)據(jù)塊存在有效數(shù)據(jù)的取值;所述復(fù)制模塊,利用所述指示標(biāo)識,確定每個本地卷中存在有效數(shù)據(jù)的數(shù)據(jù)塊;針對每個本地卷,將確定出的數(shù)據(jù)塊中的數(shù)據(jù)復(fù)制到對應(yīng)遠(yuǎn)程卷的對應(yīng)的數(shù)據(jù)塊中。
8.如權(quán)利要求7所述的裝置,其特征在于,該裝置中進(jìn)一步包括哈希表模塊,存儲有 哈希表,所述哈希表中的每個記錄項(xiàng)記錄一個哈希值及具有該哈希值的數(shù)據(jù)塊的塊號;所述復(fù)制模塊,利用所述指示標(biāo)識,確定每個本地卷中存在有效數(shù)據(jù)的數(shù)據(jù)塊,計算每 個確定出的數(shù)據(jù)塊的哈希值;針對每個確定出的數(shù)據(jù)塊,判斷該數(shù)據(jù)塊的哈希值是否已記 錄在所述哈希表中,如果不是,在所述哈希表中創(chuàng)建一個新紀(jì)錄項(xiàng)、將該數(shù)據(jù)塊的哈希值和 塊號記錄到該新記錄項(xiàng)中,并將該數(shù)據(jù)塊中的有效數(shù)據(jù)復(fù)制到對應(yīng)遠(yuǎn)程卷的對應(yīng)的數(shù)據(jù)塊 中;否則進(jìn)一步比對該數(shù)據(jù)塊中的有效數(shù)據(jù)和記錄在哈希表中、且具有相同哈希值的其他 數(shù)據(jù)塊中的有效數(shù)據(jù)是否相同,如果是,通知遠(yuǎn)程設(shè)備將該其他數(shù)據(jù)塊在遠(yuǎn)程卷的對應(yīng)數(shù) 據(jù)塊中的數(shù)據(jù)恢復(fù)到該數(shù)據(jù)塊在遠(yuǎn)程卷對應(yīng)的數(shù)據(jù)塊中,否則按照該數(shù)據(jù)塊的哈希值,將 該數(shù)據(jù)塊的塊號記錄到哈希表中,再將該數(shù)據(jù)塊中的有效數(shù)據(jù)復(fù)制到對應(yīng)遠(yuǎn)程卷的對應(yīng)的 數(shù)據(jù)塊中。
全文摘要
本發(fā)明公開了一種遠(yuǎn)程復(fù)制方法及裝置,將每個本地卷及其對應(yīng)的遠(yuǎn)程卷分別分成兩個以上數(shù)量相同、一一對應(yīng)的數(shù)據(jù)塊,具有對應(yīng)關(guān)系的兩個數(shù)據(jù)塊具有相同的塊號;設(shè)置每個本地卷的指示標(biāo)識,當(dāng)用戶寫入有效數(shù)據(jù)時,在被寫入的本地卷的指示標(biāo)識中填寫表示被寫入的數(shù)據(jù)塊存在有效數(shù)據(jù)的取值;該方法還包括利用所述指示標(biāo)識,確定每個本地卷中存在有效數(shù)據(jù)的數(shù)據(jù)塊;針對每個本地卷,將確定出的數(shù)據(jù)塊中的有效數(shù)據(jù)復(fù)制到對應(yīng)遠(yuǎn)程卷的對應(yīng)的數(shù)據(jù)塊中。應(yīng)用本發(fā)明,能夠提高網(wǎng)絡(luò)帶寬利用率,提高遠(yuǎn)程復(fù)制性能。
文檔編號G06F11/14GK102130939SQ201010595399
公開日2011年7月20日 申請日期2010年12月10日 優(yōu)先權(quán)日2010年12月10日
發(fā)明者吉永光 申請人:創(chuàng)新科存儲技術(shù)(深圳)有限公司, 創(chuàng)新科存儲技術(shù)有限公司