两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

遠(yuǎn)程增量備份方法及系統(tǒng)的制作方法

文檔序號:6353668閱讀:260來源:國知局
專利名稱:遠(yuǎn)程增量備份方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)備 份技術(shù)領(lǐng)域,特別涉及一種遠(yuǎn)程增量備份方法及系統(tǒng)。
背景技術(shù)
隨著信息技術(shù)的發(fā)展,數(shù)據(jù)成為信息技術(shù)中最為關(guān)鍵的元素,數(shù)據(jù)的損壞可能意 味著業(yè)務(wù)的停頓、工廠的停產(chǎn)、交通的混亂,或者是巨額的財(cái)產(chǎn)損失等等。因此對于數(shù)據(jù)的 保護(hù),在信息技術(shù)中是首當(dāng)其沖的基本任務(wù)之一。數(shù)據(jù)存儲技術(shù)發(fā)展的同時(shí),數(shù)據(jù)安全及保護(hù)的技術(shù)也在同時(shí)發(fā)展。但是引起數(shù)據(jù) 丟失或者損壞的情況多種多樣,如自然災(zāi)害,如人為損壞,如機(jī)械故障,如電力失效等等都 可能會(huì)造成數(shù)據(jù)保護(hù)方面的問題。數(shù)據(jù)保護(hù)的最好辦法就是生成冗余備份,即存儲多份同 樣的數(shù)據(jù),這樣就避免了存儲的單點(diǎn)故障而導(dǎo)致丟失所有的數(shù)據(jù)的悲劇。但是數(shù)據(jù)的多副 本存儲只是在理論上給解決數(shù)據(jù)保護(hù)的問題提供了一個(gè)指導(dǎo)思想。在現(xiàn)實(shí)的生活中,要防 止各種破壞事件對數(shù)據(jù)造成的威脅,則需要針對不同的情況應(yīng)用不同的策略。如在分離的磁盤上進(jìn)行數(shù)據(jù)的冗余備份,解決了一到兩塊磁盤失效時(shí)的數(shù)據(jù)安全 問題。而在分離的整機(jī)物理存理存儲設(shè)備上進(jìn)行數(shù)據(jù)的冗余備份,則是解決了單機(jī)損壞的 情況下的數(shù)據(jù)安全問題。如果上面所列的數(shù)據(jù)復(fù)制方案在地理位置上處于同一位置,那么 稍大范圍的破壞事件,如火災(zāi)、雷電、地震或者洪水等等,就會(huì)使得數(shù)據(jù)保護(hù)努力成為擺設(shè)。 因此我們需要的不但是一種在物理上的數(shù)據(jù)復(fù)制策略,還需要在地理位置上對數(shù)據(jù)復(fù)本進(jìn) 行遠(yuǎn)程分離,以達(dá)到將數(shù)據(jù)損壞事件局部化的結(jié)果,保證在任何時(shí)候,都至少有一個(gè)可用的 副本。對此,人們提出了遠(yuǎn)程數(shù)據(jù)備份的方法,即將需要保護(hù)的源數(shù)據(jù)通過各種網(wǎng)絡(luò) (如互聯(lián)網(wǎng))傳輸?shù)轿挥诹硪粋€(gè)地理位置的存儲介質(zhì)(如磁盤)中,從而實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)備 份。但是在現(xiàn)有的遠(yuǎn)程備份方法中,仍然沿用普通的數(shù)據(jù)復(fù)制方式,即采用全盤復(fù)制 或增量復(fù)制方式進(jìn)行;其中,全盤復(fù)制方式需要復(fù)制所有的數(shù)據(jù)到備份的數(shù)據(jù)存儲介質(zhì),導(dǎo) 致在進(jìn)行遠(yuǎn)程數(shù)據(jù)備份時(shí),需要通過網(wǎng)絡(luò)傳輸大量的重復(fù)數(shù)據(jù),網(wǎng)絡(luò)資源占用量極大;而即 使使用增量復(fù)制方式,僅復(fù)制磁盤中有變化的數(shù)據(jù)塊到備份的數(shù)據(jù)存儲介質(zhì),但受到增量 復(fù)制的數(shù)據(jù)塊粒度大小的限制(增量復(fù)制需要按照某一粒度大小進(jìn)行全盤數(shù)據(jù)校驗(yàn),以找 出有變化的數(shù)據(jù)塊,這個(gè)過程需要大量的計(jì)算資源開銷,為保證增量復(fù)制的實(shí)時(shí)性,往往增 量復(fù)制的數(shù)據(jù)塊粒度不能做的太小,否則只能實(shí)現(xiàn)異步增量復(fù)制,而不能實(shí)現(xiàn)實(shí)時(shí)增量復(fù) 制),所需復(fù)制的數(shù)據(jù)量依然很大,在網(wǎng)絡(luò)帶寬有限的情況下,即使數(shù)據(jù)復(fù)制的過程可以做 到實(shí)時(shí),但是受到網(wǎng)絡(luò)傳輸速度的限制,最終仍無法做到實(shí)時(shí)的遠(yuǎn)程備份。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種遠(yuǎn)程增量備份方法,能夠減少需要復(fù)制的數(shù)據(jù)量,以較少 的網(wǎng)絡(luò)帶寬需求,實(shí)現(xiàn)實(shí)時(shí)的遠(yuǎn)程備份。
本發(fā)明實(shí)施例提供一種遠(yuǎn)程增量備份系統(tǒng),能夠減少需要復(fù)制的數(shù)據(jù)量,以較少 的網(wǎng)絡(luò)帶寬需求,實(shí)現(xiàn)實(shí)時(shí)的遠(yuǎn)程備份。為達(dá)到上述目的,本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的一種遠(yuǎn)程增量備份方法,用于通過目標(biāo)卷對源卷進(jìn)行遠(yuǎn)程備份,該方法包括捕獲所有對源卷的寫請求;將對源卷的寫請求中包含的寫入位置和需要寫入的數(shù)據(jù)發(fā)送到目標(biāo)卷;目標(biāo)卷根據(jù)所述寫入位置將需要寫入的數(shù)據(jù)寫入目標(biāo)卷中與該寫入位置對應(yīng)的 位置中。較佳地,所述捕獲所有對源卷的寫請求之前,該方法進(jìn)一步包括計(jì)算源卷存儲范圍內(nèi)所有數(shù)據(jù)塊的摘要值,以及與源卷存儲范圍對應(yīng)的目標(biāo)卷中 所有數(shù)據(jù)塊的摘要值;比較源卷中所有數(shù)據(jù)塊的摘要值和目標(biāo)卷中與源卷存儲范圍對應(yīng)的所有數(shù)據(jù)塊 的摘要值;對源卷和目標(biāo)卷中,摘要值不同的數(shù)據(jù)塊進(jìn)行數(shù)據(jù)同步。較佳地,所述數(shù)據(jù)同步包括由源卷將摘要值不同的數(shù)據(jù)塊及該數(shù)據(jù)塊的位置信息發(fā)送到目標(biāo)卷,目標(biāo)卷根據(jù) 該數(shù)據(jù)塊的位置信息將接收到的塊數(shù)據(jù)寫入到相應(yīng)的位置。較佳地,所述計(jì)算源卷存儲范圍內(nèi)所有數(shù)據(jù)塊的摘要值,以及與源卷存儲范圍對 應(yīng)的目標(biāo)卷中所有數(shù)據(jù)塊的摘要值之前,該方法進(jìn)一步包括向已建立的復(fù)制對關(guān)系中的目標(biāo)卷發(fā)送握手請求;若在預(yù)設(shè)的時(shí)間內(nèi)得到目標(biāo)卷的回復(fù)確認(rèn),則繼續(xù)執(zhí)行所述計(jì)算源卷存儲范圍內(nèi) 所有數(shù)據(jù)塊的摘要值,以及與源卷存儲范圍對應(yīng)的目標(biāo)卷中所有數(shù)據(jù)塊的摘要值的步驟, 及后續(xù)步驟。較佳地,所述計(jì)算源卷存儲范圍內(nèi)所有數(shù)據(jù)塊的摘要值,以及與源卷存儲范圍對 應(yīng)的目標(biāo)卷中所有數(shù)據(jù)塊的摘要值之前,該方法進(jìn)一步包括根據(jù)源卷與目標(biāo)卷的相關(guān)信息,向目標(biāo)卷發(fā)送握手請求;若在預(yù)設(shè)的時(shí)間段內(nèi)收到目標(biāo)卷針對握手請求返回的回復(fù)確認(rèn),且目標(biāo)卷大于等 于源卷,則繼續(xù)執(zhí)行所述計(jì)算源卷存儲范圍內(nèi)所有數(shù)據(jù)塊的摘要值,以及與源卷存儲范圍 對應(yīng)的目標(biāo)卷中所有數(shù)據(jù)塊的摘要值的步驟,及其后續(xù)步驟。較佳地,所述握手請求包括同步所處的階段、采用的摘要算法和同步時(shí)采用的相
關(guān)參數(shù)。—種遠(yuǎn)程增量備份系統(tǒng),包括源卷和用于備份源卷的目標(biāo)卷,所述源卷包括增量備份模塊,用于捕獲所有對源卷的寫請求;將對源卷的寫請求中包含的寫入 位置和需要寫入的數(shù)據(jù)發(fā)送到目標(biāo)卷;所述目標(biāo)卷包括通信模塊,用于根據(jù)所述寫入位置將需要寫入的數(shù)據(jù)寫入目標(biāo)卷中與該寫入位置 對應(yīng)的位置中。較佳地,所述源卷進(jìn)一步包括 同步模塊,用于計(jì)算源卷存儲范圍內(nèi)所有數(shù)據(jù)塊的摘要值,比較源卷中所有數(shù)據(jù)塊的摘要值和目標(biāo)卷中與源卷存儲范圍對應(yīng)的所有數(shù)據(jù)塊的摘要值;將摘要值不同的數(shù)據(jù) 塊及該數(shù)據(jù)塊的位置信息發(fā)送到目標(biāo)卷, 所述通信模塊進(jìn)一步用于計(jì)算與源卷存儲范圍對應(yīng)的目標(biāo)卷中所有數(shù)據(jù)塊的摘 要值,并發(fā)送給源卷;根據(jù)所述數(shù)據(jù)塊的位置信息將接收到的塊數(shù)據(jù)寫入到相應(yīng)的位置。較佳地,所述源卷進(jìn)一步包括復(fù)制對啟動(dòng)模塊,用于向已建立的復(fù)制對關(guān)系中的目標(biāo)卷發(fā)送握手請求;若在預(yù)設(shè)的時(shí)間內(nèi)得到目標(biāo)卷的回復(fù)確認(rèn),則使能所述同步模塊及增量備份模 塊。較佳地,所述源卷進(jìn)一步包括復(fù)制對啟動(dòng)模塊,用于根據(jù)源卷與目標(biāo)卷的相關(guān)信息,向目標(biāo)卷發(fā)送握手請求;若在預(yù)設(shè)的時(shí)間段內(nèi)收到目標(biāo)卷針對握手請求返回的回復(fù)確認(rèn),且目標(biāo)卷大于等 于源卷,則使能所述同步模塊及增量備份模塊。由上述的技術(shù)方案可見,本發(fā)明的這種遠(yuǎn)程增量備份方法及系統(tǒng),由于需要網(wǎng)絡(luò) 傳輸?shù)臄?shù)據(jù)只包含能引起原數(shù)據(jù)變化的寫請求,比現(xiàn)有增量復(fù)制方法在由寫數(shù)據(jù)引起原數(shù) 據(jù)變化后,再通過較大數(shù)據(jù)塊粒度將存儲介質(zhì)中變化的數(shù)據(jù)復(fù)制到網(wǎng)絡(luò)遠(yuǎn)端備份存儲介質(zhì) 的方法,所需傳輸?shù)臄?shù)據(jù)更少,只需較少的網(wǎng)絡(luò)帶寬,即可實(shí)現(xiàn)實(shí)時(shí)的遠(yuǎn)程數(shù)據(jù)備份。


圖1為本發(fā)明實(shí)施例的復(fù)制對關(guān)系示意圖;圖2為本發(fā)明實(shí)施例的數(shù)據(jù)同步方法流程圖;圖3為本發(fā)明實(shí)施例的增量備份方法流程圖;圖4為本發(fā)明實(shí)施例啟動(dòng)已存在復(fù)制對的方法流程圖;圖5為本發(fā)明實(shí)施例啟動(dòng)新建復(fù)制對的方法流程圖;圖6為本發(fā)明實(shí)施例的數(shù)據(jù)同步方法具體流程圖;圖7為本發(fā)明實(shí)施例的增量備份方法具體流程圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對 本發(fā)明進(jìn)一步詳細(xì)說明。本發(fā)明主要是通過截獲所有對原存儲介質(zhì)進(jìn)行寫入操作的寫請求(寫請求包含 需要寫入的數(shù)據(jù)和寫入的位置),在該寫請求將數(shù)據(jù)寫入到原存儲介質(zhì),引起原數(shù)據(jù)變化的 同時(shí),將該寫請求通過網(wǎng)絡(luò)傳輸?shù)骄W(wǎng)絡(luò)遠(yuǎn)端的備份存儲介質(zhì)中,并寫入該備份存儲介質(zhì)中, 由于需要網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)只包含能引起原數(shù)據(jù)變化的寫請求,比現(xiàn)有增量復(fù)制方法在由寫 數(shù)據(jù)引起原數(shù)據(jù)變化后,再通過較大數(shù)據(jù)塊粒度將存儲介質(zhì)中變化的數(shù)據(jù)復(fù)制到網(wǎng)絡(luò)遠(yuǎn)端 備份存儲介質(zhì)的方法,所需傳輸?shù)臄?shù)據(jù)更少,只需較少的網(wǎng)絡(luò)帶寬,即可實(shí)現(xiàn)實(shí)時(shí)的遠(yuǎn)程數(shù) 據(jù)備份。在本發(fā)明中,將需要備份的數(shù)據(jù)存儲介質(zhì)稱為源卷,將網(wǎng)絡(luò)遠(yuǎn)端與需要備份的存 儲介質(zhì)對應(yīng)的備份存儲介質(zhì)稱為目標(biāo)卷;將具有對應(yīng)關(guān)系的源卷和目標(biāo)卷的組合稱為復(fù)制 對。
其中,源卷和目標(biāo)卷之間的對應(yīng)關(guān)系并不一定是一對一的,也可以是一對多,具體 如圖1所示。源卷和目標(biāo)卷中,一個(gè)源卷可以對應(yīng)多個(gè)目標(biāo)卷,但是一個(gè)目標(biāo)卷只能對應(yīng)一 個(gè)源卷。一個(gè)源卷對應(yīng)多個(gè)目標(biāo)卷,可以使得對同一份數(shù)據(jù)進(jìn)行多處數(shù)據(jù)復(fù)制,增強(qiáng)數(shù)據(jù)的 保護(hù)能力。但是一對多的關(guān)系中,多方不能無限制,多個(gè)目標(biāo)卷,會(huì)影響存儲介質(zhì)的性能,同 時(shí)也增大了維護(hù)成本。如果確實(shí)需要多個(gè)的目標(biāo)卷,也可以在遠(yuǎn)端的存儲介質(zhì)中,將從源卷中發(fā)過來的 寫請求再次進(jìn)行轉(zhuǎn)發(fā),形成如圖1所示A到B再到C這樣的一對一鏈?zhǔn)疥P(guān)系,這樣的安排可 以使得性能開銷進(jìn)行均分。但這樣的結(jié)構(gòu)也使得數(shù)據(jù)保護(hù)的延遲增大,數(shù)據(jù)維護(hù)的難度也 增大,在數(shù)據(jù)同步時(shí)的成本也會(huì)非常高。因此鏈?zhǔn)降慕Y(jié)構(gòu)方式也不應(yīng)設(shè)置過長。另外,在復(fù)制對中,目標(biāo)卷的大小不能小于源卷的大小,否則會(huì)導(dǎo)致源卷的某些存 儲空間不能進(jìn)行保護(hù)。本發(fā)明的遠(yuǎn)程增量備份方法是基于上述復(fù)制對進(jìn)行的,如果復(fù)制對沒有啟動(dòng),則 在進(jìn)行遠(yuǎn)程增量備份之前,需要進(jìn)行復(fù)制對的初始化啟動(dòng)過程,該過程在后文詳述;而在復(fù) 制對啟動(dòng)后,具體開始遠(yuǎn)程增量備份前,還需要保證復(fù)制對中,源卷和目標(biāo)卷中的數(shù)據(jù)是一 致的,如果不一致,則需要進(jìn)行數(shù)據(jù)同步,具體同步過程如圖2所示,包括如下步驟步驟201,計(jì)算源卷存儲范圍內(nèi)所有數(shù)據(jù)塊的摘要值,以及與源卷存儲范圍對應(yīng)的 目標(biāo)卷中所有數(shù)據(jù)塊的摘要值(數(shù)據(jù)塊的摘要值是指對指定數(shù)據(jù)使用某個(gè)摘要算法進(jìn)行 計(jì)算,取得的一個(gè)比原始數(shù)據(jù)小得多的一個(gè)數(shù)據(jù)。這個(gè)數(shù)據(jù)相當(dāng)于原始數(shù)據(jù)的一個(gè)指紋或 者簽名。數(shù)據(jù)摘要的長度一般在幾個(gè)字節(jié)到幾十個(gè)字節(jié),但同一個(gè)摘要算法的摘要長度是 固定的。不同數(shù)據(jù)的數(shù)據(jù)摘要一般不同,而相同的數(shù)據(jù)計(jì)算出的摘要?jiǎng)t一定會(huì)相同。數(shù)據(jù) 摘要越長,數(shù)據(jù)摘要產(chǎn)生沖突的可能性越小,選擇合適的摘要算法,則摘要計(jì)算幾十億年中 才會(huì)產(chǎn)生一次沖突,這個(gè)機(jī)率比磁盤出錯(cuò)的可能性要低得多)。具體地,可以由源卷向目標(biāo)卷發(fā)送摘要計(jì)算請求,該請求中包含源卷中劃分的數(shù) 據(jù)塊(簡稱塊)的大小,和以塊為單位計(jì)算的存儲范圍,如果復(fù)制對是新創(chuàng)建的,則塊大小 一般是磁盤的扇區(qū)大小,典型為512字節(jié),如果是已經(jīng)使用的復(fù)制對,那么塊大小為其上文 件系統(tǒng)的塊大小,典型的值有512、1024、2048字節(jié)等等。例如源卷的存儲范圍是0-3000, 塊大小為512字節(jié),目標(biāo)卷收到源卷發(fā)來的摘要計(jì)算請求后,則計(jì)算目標(biāo)卷中,0-3000范圍 內(nèi)的每一個(gè)塊的摘要值;而源卷存儲范圍內(nèi)所有數(shù)據(jù)塊的摘要值則可以由源卷自己計(jì)算得 至IJ。因?yàn)樵谟形募到y(tǒng)時(shí),文件系統(tǒng)都以文件系統(tǒng)的邏輯塊進(jìn)行讀寫操作,采用不同的塊大 小的目的在于盡可能壓縮在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)量大小。步驟202,比較源卷中所有數(shù)據(jù)塊的摘要值和目標(biāo)卷中與源卷存儲范圍對應(yīng)的所 有數(shù)據(jù)塊的摘要值。如果源卷和目標(biāo)卷中相同位置的數(shù)據(jù)塊的摘要值相同,則說明源卷和目標(biāo)卷中該 位置的數(shù)據(jù)是一致的,否則說明數(shù)據(jù)不相同;這一步用來找出源卷和目標(biāo)卷之間數(shù)據(jù)不一 致的部分。 步驟203,對源卷和目標(biāo)卷中,摘要值不同的數(shù)據(jù)塊進(jìn)行數(shù)據(jù)同步。具體地,數(shù)據(jù)同步可以隨步驟202的比較結(jié)果實(shí)時(shí)進(jìn)行,即每確定出一個(gè)摘要值 不同的數(shù)據(jù)塊就進(jìn)行一次數(shù)據(jù)同步的操作,由源卷將摘要值不同的數(shù)據(jù)塊及該數(shù)據(jù)塊的位 置信息發(fā)送到目標(biāo)卷,目標(biāo)卷根據(jù)該數(shù)據(jù)塊的位置信息將接收到的塊數(shù)據(jù)寫入到相應(yīng)的位置;也可以等待所有比較結(jié)果都得到后,統(tǒng)一對摘要值不同的數(shù)據(jù)塊進(jìn)行同步,由源卷將摘 要值不同的數(shù)據(jù)塊及各數(shù)據(jù)塊的位置信息一次性全部發(fā)送到目標(biāo)卷,目標(biāo)卷根據(jù)位置信息 將接收到的塊數(shù)據(jù)寫入到相應(yīng)的位置。當(dāng)然,如果沒有摘要值不同的數(shù)據(jù)塊,則直接結(jié)束流程。

經(jīng)過上述數(shù)據(jù)同步過程,直到源卷和目標(biāo)卷中所有摘要值不同的數(shù)據(jù)塊都進(jìn)行了 同步,則在同步完成后,可以進(jìn)入本發(fā)明的增量備份流程。本發(fā)明的增量備份流程如圖3所示,包括如下步驟步驟301,捕獲所有對源卷的寫請求;由于只有寫請求才會(huì)導(dǎo)致源卷的數(shù)據(jù)變化,因此對于源卷的讀請求可以不捕獲, 或者捕獲但不做任何處理。步驟302,將對源卷的寫請求中包含的寫入位置和需要寫入的數(shù)據(jù)發(fā)送到目標(biāo) 卷;在將寫入位置和需要寫入的數(shù)據(jù)發(fā)送到目標(biāo)卷之后,源卷可以按照該寫請求繼續(xù) 正常的數(shù)據(jù)寫入過程。步驟303,目標(biāo)卷根據(jù)寫入位置將需要寫入的數(shù)據(jù)寫入目標(biāo)卷中與該寫入位置對 應(yīng)的位置中。目標(biāo)卷從源卷發(fā)來的數(shù)據(jù)中提取出寫入位置信息以及需要寫入的數(shù)據(jù),將需要寫 入的數(shù)據(jù)寫入到目標(biāo)卷中與該寫入位置對應(yīng)位置,即與源卷中寫入位置相同的位置。至此,本發(fā)明的遠(yuǎn)程增量備份方法得以實(shí)現(xiàn),下面舉個(gè)具體的例子。在復(fù)制對啟動(dòng)時(shí),如果有已經(jīng)生成的復(fù)制對,則進(jìn)行已生成復(fù)制對的啟動(dòng)過程,否 則建立新的復(fù)制對,并進(jìn)行啟動(dòng)過程。圖4為已生成復(fù)制對的啟動(dòng)過程流程圖,如圖4所示,該流程包括步驟401,從配置文件中讀取下一個(gè)之前已經(jīng)生成的復(fù)制對關(guān)系。復(fù)制對關(guān)系中包含源卷與其對應(yīng)的目標(biāo)卷的標(biāo)識信息等。步驟402,判斷是否有未啟動(dòng)的復(fù)制對,如果是則進(jìn)入步驟403,否則結(jié)束流程。步驟403,向復(fù)制對關(guān)系中的目標(biāo)卷發(fā)送握手請求。握手請求是源卷與目標(biāo)卷為進(jìn)行數(shù)據(jù)同步而發(fā)送的協(xié)商數(shù)據(jù)及協(xié)商結(jié)果,比如這 些請求包括同步所處的階段、采用的摘要算法、同步時(shí)采用的相關(guān)參數(shù)等。源卷可以通過上 述復(fù)制對關(guān)系中包含的目標(biāo)卷的標(biāo)識信息來確定握手請求的具體發(fā)送位置。步驟404,判斷是否收到目標(biāo)卷對握手請求的回復(fù);如果在預(yù)設(shè)的時(shí)間內(nèi)得到目 標(biāo)卷的回復(fù)確認(rèn),則進(jìn)入步驟405,如果未在預(yù)設(shè)的時(shí)間內(nèi)得到回復(fù),則可以進(jìn)入步驟406 ;步驟405,啟動(dòng)該復(fù)制對的數(shù)據(jù)同步過程,返回步驟401。步驟406,判斷發(fā)送握手請求的次數(shù)是否達(dá)到預(yù)設(shè)的次數(shù)上限,如果是,則返回步 驟401,否則返回步驟403,繼續(xù)發(fā)送握手請求。另外,在達(dá)到預(yù)設(shè)的次數(shù)上限返回步驟401 時(shí),還可以進(jìn)一步發(fā)出錯(cuò)誤信息,提示復(fù)制對啟動(dòng)錯(cuò)誤。本步驟并非必需。在本發(fā)明中,復(fù)制對的數(shù)據(jù)同步可以采用任意同步方法,作為較佳的實(shí)施例,可以 采用異步同步方式,所謂異步,是指數(shù)據(jù)同步過程與源卷與目標(biāo)卷各自的其它數(shù)據(jù)處理過 程之間沒有依賴關(guān)系,各自獨(dú)立地運(yùn)行。采用異步方式是為了充分利用存儲設(shè)備的計(jì)算能 力,使各自過程盡可能快地執(zhí)行。具體數(shù)據(jù)同步過程將在后文詳述。
以上已有復(fù)制對的啟動(dòng)過程是針對存在多個(gè)復(fù)制對需要啟動(dòng)的情況進(jìn)行的,如果 僅對當(dāng)前已知的一個(gè)復(fù)制對進(jìn)行啟動(dòng),則可以直接從步驟403開始執(zhí)行,到步驟405執(zhí)行后 結(jié)束流程即可。圖5為新建復(fù)制對并啟動(dòng)的過程流程圖,如圖5所示,該流程包括步驟501,獲取源卷與目標(biāo)卷的標(biāo)識信息。本步驟目的在于使源卷可以利用源卷與目標(biāo)卷的標(biāo)識信息進(jìn)行后續(xù)操作,這里可 以由目標(biāo)卷或者其它第三方,如管理服務(wù)器等,將相關(guān)信息如源卷與目標(biāo)卷的標(biāo)識信息發(fā) 送給源卷。步驟502,向目標(biāo)卷發(fā)送握手請求;本步驟中需要使用步驟501中獲取的所述標(biāo)識
fn息O步驟503,判斷是否在預(yù)設(shè)的時(shí)間段內(nèi)收到目標(biāo)卷針對握手請求返回的回復(fù)消息, 如果是,則進(jìn)入步驟504,否則進(jìn)入步驟507 ;步驟504,判斷目標(biāo)卷的大小是否大于等于源卷;若是,則進(jìn)入步驟505,否則進(jìn)入 步驟506 ;目標(biāo)卷的大小信息可以從握手請求中提取。步驟505,啟動(dòng)復(fù)制對的數(shù)據(jù)同步過程;結(jié)束流程。步驟506,輸出出錯(cuò)信息,并結(jié)束流程。本步驟可選。步驟507,判斷發(fā)送握手請求的次數(shù)是否達(dá)到預(yù)設(shè)的最大次數(shù),如果是,則進(jìn)入步 驟508,否則返回步驟502 ;本步驟可選。步驟508,輸出錯(cuò)誤信息,并結(jié)束流程。本步驟可選。當(dāng)復(fù)制對重新啟動(dòng),或者新建復(fù)制對并啟動(dòng)后,都要對復(fù)制對中的源卷與目標(biāo)卷 進(jìn)行數(shù)據(jù)同步,以保證數(shù)據(jù)的一致性。對于多個(gè)復(fù)制對,每一個(gè)復(fù)制對都會(huì)啟動(dòng)一個(gè)新的同 步過程來完成,相互之間不會(huì)交叉影響。具體數(shù)據(jù)同步過程如圖6所示,包括如下步驟步驟601,源卷向目標(biāo)卷發(fā)送同步請求,該請求中可以攜帶如下信息源卷標(biāo)識、 塊大小、同步范圍等。步驟602,啟動(dòng)一個(gè)異步的摘要接收過程接收從目標(biāo)卷發(fā)送過來的數(shù)據(jù)摘要,然后 進(jìn)入步驟603,其中,具體異步接收過程在后文詳述。步驟603,以所述塊大小為單位,順序讀取源卷中的數(shù)據(jù),并計(jì)算數(shù)據(jù)塊的摘要值 (簡稱數(shù)據(jù)摘要)。每讀取一個(gè)數(shù)據(jù)塊便同時(shí)計(jì)算出該數(shù)據(jù)塊的摘要值。步驟604,判斷步驟603中是否所有數(shù)據(jù)塊都已經(jīng)讀取完畢,如果所有數(shù)據(jù)塊都讀 取完畢,則進(jìn)入步驟622,否則進(jìn)入步驟605。所有數(shù)據(jù)塊讀取完畢時(shí),相應(yīng)的所有數(shù)據(jù)摘要也計(jì)算完畢。步驟605,從步驟602的摘要接收過程接收到的來自目標(biāo)卷的數(shù)據(jù)摘要中查找與 讀取的數(shù)據(jù)塊相應(yīng)位置上的數(shù)據(jù)摘要; 步驟606,判斷從步驟602的摘要接收過程接收到的來自目標(biāo)卷的數(shù)據(jù)摘要中是 否存在與讀取的數(shù)據(jù)塊相應(yīng)位置的數(shù)據(jù)摘要,如果沒有,則進(jìn)入步驟607,否則進(jìn)入步驟 608。
步驟607,將該數(shù)據(jù)摘要記錄在未處理的摘要列表中,進(jìn)入步驟612。 步驟608,比較接收到的來自目標(biāo)卷的數(shù)據(jù)摘要與查找到的相應(yīng)位置的數(shù)據(jù)摘 要;步驟609,判斷接收到的來自目標(biāo)卷的數(shù)據(jù)摘要與查找到的相應(yīng)位置的數(shù)據(jù)摘要 是否相同。如果相同,則進(jìn)入步驟610。如果不相同,則進(jìn)入步驟611。步驟610,從接收過程中接收到的摘要數(shù)據(jù)中刪除相應(yīng)位置的數(shù)據(jù)摘要值,返回步 驟603,繼續(xù)讀取下一個(gè)數(shù)據(jù)塊。步驟611,將讀取的數(shù)據(jù)塊以及數(shù)據(jù)塊位置發(fā)送到目標(biāo)卷,并返回步驟610。該步驟中,數(shù)據(jù)塊以及數(shù)據(jù)塊位置信息可以攜帶在數(shù)據(jù)同步請求中發(fā)送到目標(biāo)卷。步驟612,判斷所述未完成數(shù)據(jù)的列表是否已經(jīng)達(dá)到預(yù)設(shè)的最大容量,若是,則進(jìn) 入步驟613,否則返回步驟603。步驟613,依次提取所述列表中的摘要值。步驟614,判斷是否取得下一個(gè)摘要值,若是,則進(jìn)入615,否則進(jìn)入618。步驟615,在接收到的數(shù)據(jù)摘要中查找相應(yīng)位置的數(shù)據(jù)摘要;步驟616,判斷在接收到的數(shù)據(jù)摘要中是否存在相應(yīng)位置的摘要,如果存在則進(jìn)入 步驟617,如果不存在則返回步驟613。步驟617,從所述列表中刪除當(dāng)前正在處理數(shù)據(jù)摘要,返回步驟608。步驟618,執(zhí)行到這里說明列表中的數(shù)據(jù)摘要都已經(jīng)遍歷過一次,此時(shí)判斷列表中 的數(shù)據(jù)摘要是否達(dá)到預(yù)設(shè)的最大列表容量,是則進(jìn)入步驟619,否則返回步驟603。步驟619,等待一個(gè)預(yù)設(shè)的等待時(shí)間,以便步驟602可以接收到新的數(shù)據(jù)摘要。步驟620,判斷在等待時(shí)間內(nèi)是否接收到新的數(shù)據(jù)摘要,即判斷完成接收新的數(shù) 據(jù)摘要是否超過了預(yù)設(shè)的等待時(shí)間,如果超時(shí),表示沒有接收到任何摘要數(shù)據(jù),則進(jìn)入步驟 621,否則返回步驟613。步驟621,提示錯(cuò)誤消息,并結(jié)束流程。步驟622,檢查所述未處理的摘要列表;步驟623,判斷未處理的摘要列表是否為空,若是,則結(jié)束流程,否則返回步驟 613。上述步驟602中的數(shù)據(jù)摘要接收過程實(shí)際上就是一個(gè)不停接收目標(biāo)卷發(fā)來的數(shù) 據(jù)摘要的過程,該過程獨(dú)立持續(xù)進(jìn)行,和上述數(shù)據(jù)同步過程互不影響,直到接收到目標(biāo)卷發(fā) 來的結(jié)束請求,則結(jié)束接收過程,該過程以向目標(biāo)卷發(fā)送同步請求為開始。目標(biāo)卷在復(fù)制對啟動(dòng)后,會(huì)對接收到的請求進(jìn)行判斷,針對不同的請求執(zhí)行不同 的過程。如果請求是同步請求,則首先從請求數(shù)據(jù)中提取出同步請求的塊大小及范圍,并啟 動(dòng)一個(gè)異步的同步過程,對范圍內(nèi)的所有數(shù)據(jù)順序讀取每一塊數(shù)據(jù),成功后將數(shù)據(jù)計(jì)算數(shù) 據(jù)摘要,并將位置信息一同往送到源卷端,直到將所有數(shù)據(jù)塊的數(shù)據(jù)摘要和位置信息送到 源卷后,向源卷發(fā)送同步結(jié)束請求,結(jié)束同步過程。如果接收到數(shù)據(jù)同步請求(如步驟611),則從請求中提取位置信息及數(shù)據(jù),并將 數(shù)據(jù)寫入到相應(yīng)的位置。數(shù)據(jù)同步過程完成后,即可進(jìn)入本發(fā)明的增量數(shù)據(jù)備份過程,具體如圖7所示,包括如下步驟步驟701,捕獲下一個(gè)發(fā)向源卷的讀/寫請求;步驟702,判斷該請求是否為寫請求,如果是則進(jìn)入步驟703,否則返回步驟701。步驟703,將寫請求的位置及需要寫入的數(shù)據(jù)一同發(fā)送到目標(biāo)卷,并返回步驟 701。上述各步驟,如沒有特別標(biāo)明目標(biāo)卷執(zhí)行,則均為源卷執(zhí)行,具體執(zhí)行時(shí),可以在 源卷中設(shè)置一增量備份模塊,用于執(zhí)行上述增量備份過程,設(shè)置一復(fù)制對啟動(dòng)模塊,用于執(zhí) 行上述已有復(fù)制對的啟動(dòng)和新建復(fù)制對的啟動(dòng)過程,以及設(shè)置一同步模塊,用于執(zhí)行上述 數(shù)據(jù)同步過程。而目標(biāo)卷中,則可以設(shè)置一通信模塊,用于執(zhí)行上述需要目標(biāo)卷執(zhí)行的步 驟,其中各模塊執(zhí)行的具體步驟可參考上述方法實(shí)施例,具體舉例如下一種遠(yuǎn)程增量備份系統(tǒng),包括源卷和用于遠(yuǎn)程備份源卷的目標(biāo)卷,所述源卷包 括增量備份模塊,用于捕獲所有對源卷的寫請求;將對源卷的寫請求中包含的寫入 位置和需要寫入的數(shù)據(jù)發(fā)送到目標(biāo)卷;所述目標(biāo)卷包括通信模塊,用于根據(jù)所述寫入位置將需要寫入的數(shù)據(jù)寫入目標(biāo)卷中與該寫入位置 對應(yīng)的位置中。其中,所述源卷可以進(jìn)一步包括同步模塊,用于計(jì)算源卷存儲范圍內(nèi)所有數(shù)據(jù)塊的摘要值,比較源卷中所有數(shù)據(jù) 塊的摘要值和目標(biāo)卷中與源卷存儲范圍對應(yīng)的所有數(shù)據(jù)塊的摘要值;將摘要值不同的數(shù)據(jù) 塊及該數(shù)據(jù)塊的位置信息發(fā)送到目標(biāo)卷,所述通信模塊進(jìn)一步用于計(jì)算與源卷存儲范圍對應(yīng)的目標(biāo)卷中所有數(shù)據(jù)塊的摘 要值,并發(fā)送給源卷;根據(jù)所述數(shù)據(jù)塊的位置信息將接收到的塊數(shù)據(jù)寫入到相應(yīng)的位置。另外,所述源卷還可以進(jìn)一步包括復(fù)制對啟動(dòng)模塊,用于向已建立的復(fù)制對關(guān)系中的目標(biāo)卷發(fā)送握手請求;若在預(yù)設(shè)的時(shí)間內(nèi)得到目標(biāo)卷的回復(fù)確認(rèn),則使能所述同步模塊及增量備份模 塊?;蛘撸鳛榱硪粚?shí)施例,所述源卷還可以進(jìn)一步包括 復(fù)制對啟動(dòng)模塊,用于根據(jù)源卷與目標(biāo)卷的相關(guān)信息,向目標(biāo)卷發(fā)送握手請求;若在預(yù)設(shè)的時(shí)間段內(nèi)收到目標(biāo)卷針對握手請求返回的回復(fù)確認(rèn),且目標(biāo)卷大于等 于源卷,則使能所述同步模塊及增量備份模塊。由上述的實(shí)施例可見,本發(fā)明的這種遠(yuǎn)程增量備份方法及系統(tǒng),由于需要網(wǎng)絡(luò)傳 輸?shù)臄?shù)據(jù)只包含能引起原數(shù)據(jù)變化的寫請求,比現(xiàn)有增量復(fù)制方法在由寫數(shù)據(jù)引起原數(shù)據(jù) 變化后,再通過較大數(shù)據(jù)塊粒度將存儲介質(zhì)中變化的數(shù)據(jù)復(fù)制到網(wǎng)絡(luò)遠(yuǎn)端備份存儲介質(zhì)的 方法,所需傳輸?shù)臄?shù)據(jù)更少,只需較少的網(wǎng)絡(luò)帶寬,即可實(shí)現(xiàn)實(shí)時(shí)的遠(yuǎn)程數(shù)據(jù)備份。
權(quán)利要求
1.一種遠(yuǎn)程增量備份方法,用于通過目標(biāo)卷對源卷進(jìn)行遠(yuǎn)程備份,其特征在于,該方法 包括捕獲所有對源卷的寫請求;將對源卷的寫請求中包含的寫入位置和需要寫入的數(shù)據(jù)發(fā)送到目標(biāo)卷;目標(biāo)卷根據(jù)所述寫入位置將需要寫入的數(shù)據(jù)寫入目標(biāo)卷中與該寫入位置對應(yīng)的位置中。
2.如權(quán)利要求1所述的遠(yuǎn)程增量備份方法,其特征在于,所述捕獲所有對源卷的寫請 求之前,該方法進(jìn)一步包括計(jì)算源卷存儲范圍內(nèi)所有數(shù)據(jù)塊的摘要值,以及與源卷存儲范圍對應(yīng)的目標(biāo)卷中所有 數(shù)據(jù)塊的摘要值;比較源卷中所有數(shù)據(jù)塊的摘要值和目標(biāo)卷中與源卷存儲范圍對應(yīng)的所有數(shù)據(jù)塊的摘 要值;對源卷和目標(biāo)卷中,摘要值不同的數(shù)據(jù)塊進(jìn)行數(shù)據(jù)同步。
3.如權(quán)利要求2所述的遠(yuǎn)程增量備份方法,其特征在于,所述數(shù)據(jù)同步包括 由源卷將摘要值不同的數(shù)據(jù)塊及該數(shù)據(jù)塊的位置信息發(fā)送到目標(biāo)卷,目標(biāo)卷根據(jù)該數(shù)據(jù)塊的位置信息將接收到的塊數(shù)據(jù)寫入到相應(yīng)的位置。
4.如權(quán)利要求2所述的遠(yuǎn)程增量備份方法,其特征在于,所述計(jì)算源卷存儲范圍內(nèi)所 有數(shù)據(jù)塊的摘要值,以及與源卷存儲范圍對應(yīng)的目標(biāo)卷中所有數(shù)據(jù)塊的摘要值之前,該方 法進(jìn)一步包括向已建立的復(fù)制對關(guān)系中的目標(biāo)卷發(fā)送握手請求;若在預(yù)設(shè)的時(shí)間內(nèi)得到目標(biāo)卷的回復(fù)確認(rèn),則繼續(xù)執(zhí)行所述計(jì)算源卷存儲范圍內(nèi)所有 數(shù)據(jù)塊的摘要值,以及與源卷存儲范圍對應(yīng)的目標(biāo)卷中所有數(shù)據(jù)塊的摘要值的步驟,及后 續(xù)步驟。
5.如權(quán)利要求2所述的遠(yuǎn)程增量備份方法,其特征在于,所述計(jì)算源卷存儲范圍內(nèi)所 有數(shù)據(jù)塊的摘要值,以及與源卷存儲范圍對應(yīng)的目標(biāo)卷中所有數(shù)據(jù)塊的摘要值之前,該方 法進(jìn)一步包括根據(jù)源卷與目標(biāo)卷的相關(guān)信息,向目標(biāo)卷發(fā)送握手請求;若在預(yù)設(shè)的時(shí)間段內(nèi)收到目標(biāo)卷針對握手請求返回的回復(fù)確認(rèn),且目標(biāo)卷大于等于源 卷,則繼續(xù)執(zhí)行所述計(jì)算源卷存儲范圍內(nèi)所有數(shù)據(jù)塊的摘要值,以及與源卷存儲范圍對應(yīng) 的目標(biāo)卷中所有數(shù)據(jù)塊的摘要值的步驟,及其后續(xù)步驟。
6.如權(quán)利要求4或5所述的遠(yuǎn)程增量備份方法,其特征在于,所述握手請求包括同步 所處的階段、采用的摘要算法和同步時(shí)采用的相關(guān)參數(shù)。
7.—種遠(yuǎn)程增量備份系統(tǒng),包括源卷和用于遠(yuǎn)程備份源卷的目標(biāo)卷,其特征在于,所述 源卷包括增量備份模塊,用于捕獲所有對源卷的寫請求;將對源卷的寫請求中包含的寫入位置 和需要寫入的數(shù)據(jù)發(fā)送到目標(biāo)卷; 所述目標(biāo)卷包括通信模塊,用于根據(jù)所述寫入位置將需要寫入的數(shù)據(jù)寫入目標(biāo)卷中與該寫入位置對應(yīng) 的位置中。
8.如權(quán)利要求7所述的遠(yuǎn)程增量備份系統(tǒng),其特征在于,所述源卷進(jìn)一步包括同步模塊,用于計(jì)算源卷存儲范圍內(nèi)所有數(shù)據(jù)塊的摘要值,比較源卷中所有數(shù)據(jù)塊的 摘要值和目標(biāo)卷中與源卷存儲范圍對應(yīng)的所有數(shù)據(jù)塊的摘要值;將摘要值不同的數(shù)據(jù)塊及 該數(shù)據(jù)塊的位置信息發(fā)送到目標(biāo)卷,所述通信模塊進(jìn)一步用于計(jì)算與源卷存儲范圍對應(yīng)的目標(biāo)卷中所有數(shù)據(jù)塊的摘要 值,并發(fā)送給源卷;根據(jù)所述數(shù)據(jù)塊的位置信息將接收到的塊數(shù)據(jù)寫入到相應(yīng)的位置。
9.如權(quán)利要求8所述的遠(yuǎn)程增量備份系統(tǒng),其特征在于,所述源卷進(jìn)一步包括 復(fù)制對啟動(dòng)模塊,用于向已建立的復(fù)制對關(guān)系中的目標(biāo)卷發(fā)送握手請求; 若在預(yù)設(shè)的時(shí)間內(nèi)得到目標(biāo)卷的回復(fù)確認(rèn),則使能所述同步模塊及增量備份模塊。
10.如權(quán)利要求8所述的遠(yuǎn)程增量備份系統(tǒng),其特征在于,所述源卷進(jìn)一步包括 復(fù)制對啟動(dòng)模塊,用于根據(jù)源卷與目標(biāo)卷的相關(guān)信息,向目標(biāo)卷發(fā)送握手請求;若在預(yù)設(shè)的時(shí)間段內(nèi)收到目標(biāo)卷針對握手請求返回的回復(fù)確認(rèn),且目標(biāo)卷大于等于源 卷,則使能所述同步模塊及增量備份模塊。
全文摘要
本發(fā)明公開了一種遠(yuǎn)程增量備份方法,用于通過目標(biāo)卷對源卷進(jìn)行備份的情況,該方法包括捕獲所有對源卷的寫請求;將對源卷的寫請求中包含的寫入位置和需要寫入的數(shù)據(jù)發(fā)送到目標(biāo)卷;目標(biāo)卷根據(jù)所述寫入位置將需要寫入的數(shù)據(jù)寫入目標(biāo)卷中與該寫入位置對應(yīng)的位置中。本發(fā)明還公開了一種遠(yuǎn)程增量備份系統(tǒng),該方法和系統(tǒng)能夠減少需要復(fù)制的數(shù)據(jù)量,以較少的網(wǎng)絡(luò)帶寬需求,實(shí)現(xiàn)實(shí)時(shí)的遠(yuǎn)程備份。
文檔編號G06F3/06GK102096615SQ20111002673
公開日2011年6月15日 申請日期2011年1月25日 優(yōu)先權(quán)日2011年1月25日
發(fā)明者葉佑群 申請人:上海愛數(shù)軟件有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
精河县| 宁都县| 应用必备| 平山县| 巧家县| 六枝特区| 桃江县| 克东县| 襄汾县| 封丘县| 华蓥市| 沈丘县| 荔波县| 突泉县| 临泉县| 苗栗县| 巴彦淖尔市| 玉田县| 自治县| 谷城县| 天津市| 清徐县| 陆川县| 丰城市| 赣榆县| 会东县| 沙坪坝区| 启东市| 兴安县| 常德市| 长兴县| 定结县| 梧州市| 盐山县| 宜章县| 万山特区| 宜宾市| 怀宁县| 得荣县| 读书| 徐闻县|