本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種復(fù)制快照的方法和裝置。
背景技術(shù):
快照是一種關(guān)于指定數(shù)據(jù)集合的一個(gè)完全可用拷貝,該拷貝包括相應(yīng)數(shù)據(jù)在某個(gè)時(shí)間點(diǎn)(拷貝開始的時(shí)間點(diǎn))的映像。快照能夠記錄下存儲(chǔ)設(shè)備某個(gè)時(shí)間點(diǎn)的數(shù)據(jù),并且不影響存儲(chǔ)設(shè)備的數(shù)據(jù)讀寫,因此快照技術(shù)被應(yīng)用于備份、數(shù)據(jù)分析、應(yīng)用測試等方面。
異步遠(yuǎn)程復(fù)制就是快照的一個(gè)典型應(yīng)用。異步遠(yuǎn)程復(fù)制是周期性地將生產(chǎn)端發(fā)生數(shù)據(jù)改變的存儲(chǔ)區(qū)域的原始數(shù)據(jù)復(fù)制到備份端,即將快照中部分或全部內(nèi)容復(fù)制到備份端。
在現(xiàn)有技術(shù)中,有兩種實(shí)現(xiàn)方式。
一、在本次復(fù)制周期開始時(shí),激活一個(gè)快照。當(dāng)有數(shù)據(jù)要寫入一個(gè)存儲(chǔ)區(qū)域時(shí),首先將該存儲(chǔ)區(qū)域中的原始數(shù)據(jù)拷貝到快照中,并且在快照中將拷貝的數(shù)據(jù)與該存儲(chǔ)區(qū)域?qū)?yīng)起來。然后,將快照映射表中指向原始數(shù)據(jù)的指針修改為指向拷貝數(shù)據(jù)。接著系統(tǒng)在差異位圖中記錄下該存儲(chǔ)區(qū)域存在差異。最后在存儲(chǔ)區(qū)域中寫入新數(shù)據(jù)。
在下一個(gè)復(fù)制周期開始時(shí),根據(jù)差異位圖,將記錄到的存在差異的存儲(chǔ)區(qū)域,在快照中對(duì)應(yīng)的內(nèi)容拷貝到備份端。
二、首次同步時(shí)激活一個(gè)快照。由于首次同步為全量復(fù)制,因此將本次激 活的快照中的全部內(nèi)容復(fù)制到備份端。從第二個(gè)同步周期開始,在每個(gè)周期達(dá)到時(shí),激活本周期的快照,并保持上一個(gè)周期的快照仍然處于激活狀態(tài)。然后對(duì)比上一個(gè)周期的快照和本周期的快照之間的差異,將本周期的快照中存在差異的部分復(fù)制到備份端。然后刪除上一個(gè)周期的快照。
從上述描述中可以看出,在第一種實(shí)現(xiàn)方式中,由于系統(tǒng)需要在差異位圖中持續(xù)記錄差異,因此會(huì)對(duì)系統(tǒng)輸入輸出性能造成影響。而第二種實(shí)現(xiàn)方式中,有兩個(gè)快照同時(shí)處于激活狀態(tài),故同樣會(huì)對(duì)系統(tǒng)輸入輸出性能造成影響。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種異步遠(yuǎn)程復(fù)制的方法和裝置,用以減少異步遠(yuǎn)程復(fù)制對(duì)設(shè)備輸入輸出性能的影響。
本申請第一方面提供了一種異步遠(yuǎn)程復(fù)制的方法,包括:
在當(dāng)前復(fù)制周期開始時(shí),將快照設(shè)置為非激活狀態(tài);
獲取所述快照對(duì)應(yīng)的快照映射表,所述快照映射表記錄了原數(shù)據(jù)所在存儲(chǔ)空間的地址參數(shù);
確定所述快照映射表中發(fā)生變化的第一地址參數(shù);
在下一個(gè)復(fù)制周期,將存儲(chǔ)在所述第一地址參數(shù)指向的存儲(chǔ)空間中的數(shù)據(jù)復(fù)制到目標(biāo)存儲(chǔ)設(shè)備。
結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,在確定所述快照映射表中發(fā)生變化的第一地址參數(shù)之后,所述方法還包括:
將差異位圖中與所述第一地址參數(shù)對(duì)應(yīng)的標(biāo)志位設(shè)置為第一標(biāo)志位。
結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn) 方式中,將存儲(chǔ)在所述第一地址參數(shù)指向的存儲(chǔ)空間中的數(shù)據(jù)復(fù)制到目標(biāo)存儲(chǔ)設(shè)備,具體包括:
確定所述第一標(biāo)志位所對(duì)應(yīng)的存儲(chǔ)空間,其中所述差異位圖中的標(biāo)志位與所述快照的存儲(chǔ)空間相互對(duì)應(yīng);
將所述第一標(biāo)志位所對(duì)應(yīng)的存儲(chǔ)空間的數(shù)據(jù)復(fù)制到所述目標(biāo)存儲(chǔ)設(shè)備。
結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述方法還包括:
當(dāng)所述第一標(biāo)志位所對(duì)應(yīng)的存儲(chǔ)空間中的數(shù)據(jù)完成復(fù)制后,將所述第一標(biāo)志位修改為第二標(biāo)志位,所述第二標(biāo)志位與所述第一標(biāo)志位不同。
結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式至第一方面的第三種可能的實(shí)現(xiàn)方式中的任意一種,在第一方面的第四種可能的實(shí)現(xiàn)方式中,在將存儲(chǔ)在所述第一地址參數(shù)指向的存儲(chǔ)空間中的數(shù)據(jù)復(fù)制到目標(biāo)存儲(chǔ)設(shè)備之前,所述方法還包括:
激活新的快照。
本申請第二方面提供了一種異步遠(yuǎn)程復(fù)制的裝置,包括:
設(shè)置單元,用于在當(dāng)前復(fù)制周期開始時(shí),將快照設(shè)置為非激活狀態(tài);
獲取單元,用于獲取所述快照對(duì)應(yīng)的快照映射表,所述快照映射表記錄了原數(shù)據(jù)所在存儲(chǔ)空間的地址參數(shù);
確定單元,用于確定所述快照映射表中發(fā)生變化的第一地址參數(shù);
復(fù)制單元,用于在下一個(gè)復(fù)制周期,將存儲(chǔ)在所述第一地址參數(shù)指向的存儲(chǔ)空間中的數(shù)據(jù)復(fù)制到目標(biāo)存儲(chǔ)設(shè)備。
結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述裝置還包括:
標(biāo)志位設(shè)置單元,用于在確定所述快照映射表中發(fā)生變化的第一地址參數(shù)之后,將差異位圖中與所述第一地址參數(shù)對(duì)應(yīng)的標(biāo)志位設(shè)置為第一標(biāo)志位。
結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述復(fù)制單元具體用于:
確定所述第一標(biāo)志位所對(duì)應(yīng)的存儲(chǔ)空間,其中所述差異位圖中的標(biāo)志位與所述快照的存儲(chǔ)空間相互對(duì)應(yīng);
在下一個(gè)復(fù)制周期,將所述第一標(biāo)志位所對(duì)應(yīng)的存儲(chǔ)空間的數(shù)據(jù)復(fù)制到所述目標(biāo)存儲(chǔ)設(shè)備。
結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述標(biāo)志位設(shè)置單元還用于:
當(dāng)所述第一標(biāo)志位所對(duì)應(yīng)的存儲(chǔ)空間中的數(shù)據(jù)完成復(fù)制后,將所述第一標(biāo)志位修改為第二標(biāo)志位,所述第二標(biāo)志位與所述第一標(biāo)志位不同。
結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式至第二方面的第三種可能的實(shí)現(xiàn)方式中的任意一種,在第二方面的第四種可能的實(shí)現(xiàn)方式中,所述裝置還包括:
激活單元,用于在將存儲(chǔ)在所述第一地址參數(shù)指向的存儲(chǔ)空間中的數(shù)據(jù)復(fù)制到目標(biāo)存儲(chǔ)設(shè)備之前,激活新的快照。
本申請第三方面提供了一種異生產(chǎn)設(shè)備,包括:
處理器,用于在當(dāng)前復(fù)制周期開始時(shí),將快照設(shè)置為非激活狀態(tài);獲取所述快照對(duì)應(yīng)的快照映射表,所述快照映射表記錄了原數(shù)據(jù)所在存儲(chǔ)空間的地址參數(shù);確定所述快照映射表中發(fā)生變化的第一地址參數(shù);在下一個(gè)復(fù)制周期,將存儲(chǔ)在所述第一地址參數(shù)指向的存儲(chǔ)空間中的數(shù)據(jù)復(fù)制到目標(biāo)存儲(chǔ)設(shè)備;
發(fā)送器,用于向所述目標(biāo)存儲(chǔ)設(shè)備發(fā)送復(fù)制的數(shù)據(jù)。
結(jié)合第三方面,在第三方面的第一種可能的實(shí)現(xiàn)方式中,所述處理器還用于:
在確定所述快照映射表中發(fā)生變化的第一地址參數(shù)之后,將差異位圖中與所述第一地址參數(shù)對(duì)應(yīng)的標(biāo)志位設(shè)置為第一標(biāo)志位。
結(jié)合第三方面的第一種可能的實(shí)現(xiàn)方式,在第三方面的第二種可能的實(shí)現(xiàn)方式中,所述處理器具體用于:
確定所述第一標(biāo)志位所對(duì)應(yīng)的存儲(chǔ)空間,其中所述差異位圖中的標(biāo)志位與所述快照的存儲(chǔ)空間相互對(duì)應(yīng);
將所述第一標(biāo)志位所對(duì)應(yīng)的存儲(chǔ)空間的數(shù)據(jù)復(fù)制到所述目標(biāo)存儲(chǔ)設(shè)備。
結(jié)合第三方面的第二種可能的實(shí)現(xiàn)方式,在第三方面的第三種可能的實(shí)現(xiàn)方式中,所述處理器還用于:
當(dāng)所述第一標(biāo)志位所對(duì)應(yīng)的存儲(chǔ)空間中的數(shù)據(jù)完成復(fù)制后,將所述第一標(biāo)志位修改為第二標(biāo)志位,所述第二標(biāo)志位與所述第一標(biāo)志位不同。
結(jié)合第三方面或第三方面的第一種可能的實(shí)現(xiàn)方式至第三方面的第三種可能的實(shí)現(xiàn)方式中的任意一種,在第三方面的第四種可能的實(shí)現(xiàn)方式中,所述處理器還用于:
在將存儲(chǔ)在所述第一地址參數(shù)指向的存儲(chǔ)空間中的數(shù)據(jù)復(fù)制到目標(biāo)存儲(chǔ)設(shè)備之前,激活新的快照。
本發(fā)明實(shí)施例中提供的一個(gè)或多個(gè)技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點(diǎn):
在本發(fā)明實(shí)施例中,在當(dāng)前復(fù)制周期開始時(shí),將快照設(shè)置為非激活狀態(tài); 獲取所述快照對(duì)應(yīng)的快照映射表,所述快照映射表記錄了原數(shù)據(jù)所在存儲(chǔ)空間的地址參數(shù);確定所述快照映射表發(fā)生變化的第一地址參數(shù);在下一個(gè)復(fù)制周期,將存儲(chǔ)在所述第一地址參數(shù)指向的存儲(chǔ)空間中的數(shù)據(jù)復(fù)制到目標(biāo)存儲(chǔ)設(shè)備。所以,在本發(fā)明實(shí)施例的技術(shù)方案中,通過快照映射表中確定發(fā)生變化的第一地址參數(shù),進(jìn)而就可以確定出在進(jìn)行異步遠(yuǎn)程復(fù)制時(shí),需要復(fù)制快照中的哪些數(shù)據(jù)。從而使得本發(fā)明實(shí)施例中的電子設(shè)備不再需要持續(xù)在差異位圖中記錄差異的狀態(tài),也不需要?jiǎng)?chuàng)建兩個(gè)快照,因此減少了異步遠(yuǎn)程復(fù)制對(duì)電子設(shè)備輸入輸出性能的影響。
附圖說明
圖1a為本發(fā)明實(shí)施例中T1時(shí)刻數(shù)據(jù)的存儲(chǔ)空間所存儲(chǔ)數(shù)據(jù)示意圖;
圖1b為本發(fā)明實(shí)施例中T1時(shí)刻的快照示意圖;
圖1c為本發(fā)明實(shí)施例中T1時(shí)刻的快照映射表示意圖;
圖1d為本發(fā)明實(shí)施例中T2時(shí)刻的快照示意圖;
圖1e為本發(fā)明實(shí)施例中T2時(shí)刻數(shù)據(jù)的存儲(chǔ)空間所存儲(chǔ)數(shù)據(jù)的示意圖;
圖1f為本發(fā)明實(shí)施例中T2時(shí)刻的快照映射表示意圖;
圖2為本發(fā)明實(shí)施例中異步遠(yuǎn)程復(fù)制的方法流程圖;
圖3為本發(fā)明實(shí)施例中與圖1f所示的快照對(duì)應(yīng)的差異位圖示意圖;
圖4為本發(fā)明實(shí)施例中異步遠(yuǎn)程復(fù)制的裝置結(jié)構(gòu)示意圖;
圖5為本發(fā)明實(shí)施例中生產(chǎn)設(shè)備結(jié)構(gòu)示意圖。
具體實(shí)現(xiàn)方式
本發(fā)明實(shí)施例提供了一種異步遠(yuǎn)程復(fù)制的方法和裝置,用以減少異步遠(yuǎn)程復(fù)制對(duì)設(shè)備輸入輸出性能的影響。
為了解決上述技術(shù)問題,本發(fā)明實(shí)施例提供的技術(shù)方案解決思路包括如下內(nèi)容:
在本發(fā)明實(shí)施例中,在當(dāng)前復(fù)制周期開始時(shí),將快照設(shè)置為非激活狀態(tài);獲取所述快照對(duì)應(yīng)的快照映射表,所述快照映射表記錄了原數(shù)據(jù)所在存儲(chǔ)空間的地址參數(shù);確定所述快照映射表發(fā)生變化的第一地址參數(shù);在下一個(gè)復(fù)制周期,將存儲(chǔ)在所述第一地址參數(shù)指向的存儲(chǔ)空間中的數(shù)據(jù)復(fù)制到目標(biāo)存儲(chǔ)設(shè)備。所以,在本發(fā)明實(shí)施例的技術(shù)方案中,通過快照映射表中確定發(fā)生變化的第一地址參數(shù),進(jìn)而就可以確定出在進(jìn)行異步遠(yuǎn)程復(fù)制時(shí),需要復(fù)制快照中的哪些數(shù)據(jù)。從而使得本發(fā)明實(shí)施例中的電子設(shè)備不再需要持續(xù)在差異位圖中記錄差異的狀態(tài),也不需要?jiǎng)?chuàng)建兩個(gè)快照,因此減少了異步遠(yuǎn)程復(fù)制對(duì)電子設(shè)備輸入輸出性能的影響。
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本文中術(shù)語“和/或”,僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,A和/或B,可以表示:單獨(dú)存在A,同時(shí)存在A和B,單獨(dú)存在B這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。
快照是一種關(guān)于指定數(shù)據(jù)集合的一個(gè)完全可用拷貝,該拷貝包括相應(yīng)數(shù)據(jù)在某個(gè)時(shí)間點(diǎn)(拷貝開始的時(shí)間點(diǎn))的映像。具體來講,快照是指向保存在存儲(chǔ)設(shè)備中的數(shù)據(jù)的引用標(biāo)記或指針。在具體實(shí)現(xiàn)過程中,快照的存儲(chǔ)空間與數(shù)據(jù)的存儲(chǔ)空間不同??煺盏拇鎯?chǔ)空間和數(shù)據(jù)的存儲(chǔ)空間可以在同一邏輯單元號(hào)(英文:Logical Unit Number;簡稱:LUN)中,但相對(duì)獨(dú)立。例如LUN共有4T的存儲(chǔ)空間,其中,可以將0T-3T設(shè)置為數(shù)據(jù)的存儲(chǔ)空間,將3T-4T設(shè)備為快照的存儲(chǔ)空間。快照的存儲(chǔ)空間和數(shù)據(jù)的存儲(chǔ)空間也可以分別在兩個(gè)不同的LUN中。本申請不做具體限制。
然而,數(shù)據(jù)的存儲(chǔ)空間的數(shù)據(jù)變化由快照進(jìn)行記錄。例如,數(shù)據(jù)的存儲(chǔ)空間中有新的數(shù)據(jù)寫入時(shí),快照會(huì)將原數(shù)據(jù)從數(shù)據(jù)的存儲(chǔ)空間中拷貝到快照的存儲(chǔ)空間。
進(jìn)一步,快照映射表中記錄了原數(shù)據(jù)所在存儲(chǔ)空間的地址參數(shù)。具體來講,在本發(fā)明實(shí)施例中,原數(shù)據(jù)為激活快照時(shí),數(shù)據(jù)的存儲(chǔ)空間中所存儲(chǔ)的數(shù)據(jù)。其中,快照映射表中的地址參數(shù)包括但不限于地址、指針或索引等。例如數(shù)據(jù)的存儲(chǔ)空間共有4個(gè),快照映射表在快照激活時(shí)刻記錄的原數(shù)據(jù)的地址為該4個(gè)數(shù)據(jù)的存儲(chǔ)空間的地址參數(shù)。當(dāng)?shù)?個(gè)數(shù)據(jù)的存儲(chǔ)空間的原數(shù)據(jù)發(fā)生變化時(shí),快照將原數(shù)據(jù)拷貝至快照的存儲(chǔ)空間,進(jìn)而快照映射表中記錄該原數(shù)據(jù)的地址參數(shù)就變?yōu)榱丝截惡笤瓟?shù)據(jù)所在的快照的存儲(chǔ)空間的地址參數(shù)。
為了方便介紹,請參考圖1a-圖1f,假設(shè)快照在T1時(shí)刻被激活。假設(shè)數(shù)據(jù)的存儲(chǔ)空間共有4T,被劃分為4個(gè)存儲(chǔ)空間。具體為0T-1T的第1存儲(chǔ)空間,1T-2T的第2存儲(chǔ)空間,2T-3T的第3存儲(chǔ)空間和3T-4T的第4存儲(chǔ)空間。在本發(fā)明實(shí)施例中,如圖1a所示的T1時(shí)刻數(shù)據(jù)的存儲(chǔ)空間的存儲(chǔ)情況和。圖1中 的1、2、3和4分別表示4個(gè)存儲(chǔ)空間的編號(hào)。A0為第1存儲(chǔ)空間中存儲(chǔ)的原數(shù)據(jù),B0為第2存儲(chǔ)空間中的原數(shù)據(jù),C0為第3存儲(chǔ)空間的原數(shù)據(jù),D0為第4存儲(chǔ)空間的原數(shù)據(jù)。第1存儲(chǔ)空間的地址為a,指針a0指向地址a;第2存儲(chǔ)空間的地址為b,指針b0指向地址b;第3存儲(chǔ)空間的地址為c,指針c0指向地址c,第4存儲(chǔ)空間的地址為d,指針d0指向地址d??煺赵诒患せ詈螅瑫?huì)記錄下四個(gè)存儲(chǔ)空間的索引、指針、序列號(hào)或編號(hào)等。本發(fā)明實(shí)施例中,假設(shè)快照中記錄的是四個(gè)存儲(chǔ)空間的編號(hào)1,2,3和4,T0時(shí)刻的快照如附圖1b所示。此時(shí)快照映射表中記錄存儲(chǔ)原數(shù)據(jù)的地址參數(shù),以指針為例,如附圖1c所示。
在T1時(shí)刻之后的T2時(shí)刻(T1和T2均為當(dāng)前復(fù)制周期內(nèi)的時(shí)刻),第1存儲(chǔ)空間將要被寫入新的數(shù)據(jù)A1,第4存儲(chǔ)空間將要被寫入新的數(shù)據(jù)D1。寫入新數(shù)據(jù)后,第1存儲(chǔ)空間中存儲(chǔ)的數(shù)據(jù)為A1,第4存儲(chǔ)空間中存儲(chǔ)的數(shù)據(jù)為D1。在本發(fā)明實(shí)施例中,設(shè)備會(huì)在寫入新數(shù)據(jù)之前,將待寫入新數(shù)據(jù)的存儲(chǔ)空間的原數(shù)據(jù)復(fù)制到快照的存儲(chǔ)空間中。因此,在T2時(shí)刻有新數(shù)據(jù)要寫入第1存儲(chǔ)空間和第4存儲(chǔ)空間時(shí),設(shè)備將數(shù)據(jù)A0和D0復(fù)制到快照對(duì)應(yīng)的第1存儲(chǔ)空間和第4存儲(chǔ)空間中。T2時(shí)刻的快照如圖1d所示。復(fù)制完成后,將A1寫入數(shù)據(jù)的存儲(chǔ)空間的第1存儲(chǔ)空間,D1寫入數(shù)據(jù)的存儲(chǔ)空間的第4存儲(chǔ)空間。T2時(shí)刻數(shù)據(jù)的存儲(chǔ)空間存儲(chǔ)的數(shù)據(jù)如圖1e所示。
進(jìn)一步,由于原數(shù)據(jù)A0從第1存儲(chǔ)空間中復(fù)制到了快照的第1存儲(chǔ)空間中,因此原數(shù)據(jù)A0的地址參數(shù)也會(huì)相應(yīng)發(fā)生變化。具體來講,假設(shè)A0復(fù)制到地址為a’的快照的存儲(chǔ)空間中,D0復(fù)制到地址為d’的快照的存儲(chǔ)空間中。所以,在A0和D0復(fù)制完成后,指針a0將修改為指向地址a’的指針a1,指針d0將修改為指向d’的指針d1。那么,快照映射表如圖1f所示。
下面,將對(duì)本發(fā)明實(shí)施例中的異步遠(yuǎn)程復(fù)制的方法進(jìn)行介紹,請參考圖2,包括:
S101:在當(dāng)前復(fù)制周期開始時(shí),將快照設(shè)置為非激活狀態(tài)。
S102:獲取所述快照對(duì)應(yīng)的快照映射表。
S103:確定所述快照映射表中發(fā)生變化的第一地址參數(shù)。
S104:在下一個(gè)復(fù)制周期,將存儲(chǔ)在所述第一地址參數(shù)指向的存儲(chǔ)空間中的數(shù)據(jù)復(fù)制到目標(biāo)存儲(chǔ)設(shè)備。
在當(dāng)前復(fù)制周期開始時(shí),由于此時(shí)生產(chǎn)設(shè)備并不確定應(yīng)當(dāng)將哪些數(shù)據(jù)復(fù)制到目標(biāo)存儲(chǔ)設(shè)備,因此需要在快照從激活狀態(tài)調(diào)整至非激活狀態(tài)時(shí),才能確認(rèn)復(fù)制哪些數(shù)據(jù)。所以在S101中將快照設(shè)置為非激活狀態(tài)。
接下來,在S102中,獲得快照對(duì)應(yīng)快照映射表。
由于快照映射表中記錄了每個(gè)存儲(chǔ)有原數(shù)據(jù)的存儲(chǔ)空間的地址參數(shù),如圖1f所示,所以根據(jù)上文中對(duì)數(shù)據(jù)的存儲(chǔ)空間,快照和快照映射表的對(duì)應(yīng)關(guān)系的描述可知,若快照映射表中的地址參數(shù)發(fā)生變化,則表明發(fā)生變化的地址參數(shù)所對(duì)應(yīng)的原數(shù)據(jù)發(fā)生了變化,所以發(fā)生變化后數(shù)據(jù),就是異步遠(yuǎn)程復(fù)制時(shí)需要復(fù)制的是數(shù)據(jù)。
所以在S103中,確定快照映射表中發(fā)生變化的第一地址參數(shù)。具體來講,在本發(fā)明實(shí)施例中,從快照映射表的地址參數(shù)中確定發(fā)生變化的第一地址參數(shù)的方法有多種,下面將詳細(xì)列表兩種。在具體實(shí)現(xiàn)過程中,包括但不限于以下兩種。
第一種:
當(dāng)快照映射表中的地址參數(shù)發(fā)生變化后,將發(fā)生變化的地址參數(shù)的標(biāo)志位 由第三標(biāo)識(shí)位修改為第四標(biāo)志位;
確定標(biāo)志位為所述第四標(biāo)志位的地址參數(shù)為所述第一地址參數(shù)。
具體來講,為了區(qū)分地址參數(shù)是否發(fā)生變化,可以為每個(gè)地址參數(shù)設(shè)置一標(biāo)志位。在本發(fā)明實(shí)施例中,地址參數(shù)的標(biāo)志位具體為第三標(biāo)識(shí)位和第四標(biāo)識(shí)位。其中,第三標(biāo)志位表征地址參數(shù)未發(fā)生變化,第四標(biāo)志位表征地址參數(shù)發(fā)生變化。第三標(biāo)志位例如為0,第四標(biāo)志位例如為1,或者第三標(biāo)志位例如為a,第四標(biāo)志位例如為b。
舉例來說,T1時(shí)刻的快照映射表如圖1c所示。當(dāng)T2時(shí)刻有數(shù)據(jù)A1寫入第1存儲(chǔ)空間,并且在生產(chǎn)設(shè)備將原數(shù)據(jù)A0復(fù)制到快照的存儲(chǔ)空間后,快照映射表中的地址參數(shù)a0變?yōu)閍1。T2時(shí)刻的快照映射表如圖1f所示。由于a0變成了a1,生產(chǎn)設(shè)備將地址參數(shù)a1的標(biāo)志位設(shè)置為第四標(biāo)志位,例如設(shè)置為1。地址參數(shù)d1的標(biāo)志位也設(shè)置為第四標(biāo)志位。而地址參數(shù)b0和c0的標(biāo)志位仍然設(shè)置為第三標(biāo)識(shí)位,例如0。
因此,在S103中,查詢各個(gè)地址參數(shù)的標(biāo)志位可知,地址參數(shù)a1和d1為第一地址參數(shù)。
第二種:
當(dāng)所述地址參數(shù)指向的地址未在預(yù)設(shè)范圍內(nèi)時(shí),確定所述地址參數(shù)為第一地址參數(shù)。
具體來講,數(shù)據(jù)的存儲(chǔ)空間和快照的存儲(chǔ)空間是相當(dāng)獨(dú)立的,因此,快照的存儲(chǔ)空間的地址范圍就與數(shù)據(jù)的存儲(chǔ)空間的地址范圍不同。進(jìn)而,指向快照的存儲(chǔ)空間的地址參數(shù)所指向的范圍就不會(huì)在數(shù)據(jù)的存儲(chǔ)空間的地址范圍內(nèi)。所以,在本發(fā)明實(shí)施例中,將預(yù)設(shè)范圍設(shè)置為數(shù)據(jù)的存儲(chǔ)空間的地址范圍,進(jìn) 而未指向預(yù)設(shè)范圍內(nèi)的地址參數(shù)就是第一地址參數(shù)。
沿用上文中的例子來說。在上文的描述中,數(shù)據(jù)的存儲(chǔ)空間地址范圍為0T-4T,并進(jìn)一步假設(shè)快照的存儲(chǔ)空間的地址為6T-8T。如圖1f所示,在T2時(shí)刻的快照映射表中,指針a1指向地址6T-7T,b0指向1T-2T,c0指向2T-3T,d1指向7T-8T,預(yù)設(shè)范圍為0T-4T。由于a1指向的地址為6T-7T,d1指向的地址為7T-8T,而6T-7T和7T-8T不在預(yù)設(shè)范圍0T-4T內(nèi),所以a1和d1為第一地址參數(shù)。
在本發(fā)明實(shí)施例中,S104中復(fù)制數(shù)據(jù)之前,還需將一個(gè)新的快照設(shè)置為激活狀態(tài)。激活的新的快照將在圖1d所示的快照被刪除后,用于記錄數(shù)據(jù)的存儲(chǔ)空間的數(shù)據(jù)變化。記錄的具體實(shí)施方式在上文中已有介紹,這里就不再一一贅述了。
最后,在S104中,在下一個(gè)復(fù)制周期,將第一地址參數(shù)指向的存儲(chǔ)空間中的數(shù)據(jù)復(fù)制到目標(biāo)存儲(chǔ)設(shè)備中。具體來講,第一地址參數(shù)指向快照的存儲(chǔ)空間,在下一個(gè)復(fù)制周期,快照的存儲(chǔ)空間中存儲(chǔ)的為所述新的快照的數(shù)據(jù)。因此,根據(jù)第一地址參數(shù)可以訪問到快照的存儲(chǔ)空間,進(jìn)而就可以從訪問的快照的存儲(chǔ)空間中讀取數(shù)據(jù),并將讀取到的數(shù)據(jù)復(fù)制到目標(biāo)存儲(chǔ)設(shè)備。
舉例來說,在圖1f中,第一地址參數(shù)a1和d1指向存儲(chǔ)A0和D0的兩個(gè)快照的存儲(chǔ)空間。那么在下一個(gè)復(fù)制周期時(shí),生產(chǎn)設(shè)備根據(jù)a1和d1訪問兩個(gè)存儲(chǔ)空間。此時(shí)a1和d1指向的快照的存儲(chǔ)空間中存儲(chǔ)的是A1和D1,所以將A1和D1復(fù)制到目標(biāo)存儲(chǔ)設(shè)備。
可選的,在本發(fā)明實(shí)施例中,S103之后,還包括:
將差異位圖中與所述第一地址參數(shù)對(duì)應(yīng)的標(biāo)志位設(shè)置為第一標(biāo)志位。
為了避免在S103中激活快照后,快照中再次發(fā)生變化,因此,可以根據(jù)第一地址參數(shù)設(shè)置差異位圖的標(biāo)志位。
具體來講,差異位圖的標(biāo)志位與快照的存儲(chǔ)空間是相當(dāng)對(duì)應(yīng)的。例如上文中將快照的存儲(chǔ)空間劃分為4個(gè)存儲(chǔ)空間,那么差異位圖中就有4個(gè)標(biāo)識(shí)位,且第1個(gè)標(biāo)志位與第1快照存儲(chǔ)空間對(duì)應(yīng),同時(shí)第1個(gè)標(biāo)志位也與快照映射表中的第一個(gè)地址參數(shù)對(duì)應(yīng)。其他3個(gè)標(biāo)志位的對(duì)應(yīng)關(guān)系也類似,這里就不一一列舉了。
在本發(fā)明實(shí)施例中,差異位圖用于指導(dǎo)生產(chǎn)設(shè)備進(jìn)行異步遠(yuǎn)程復(fù)制。差異位圖的標(biāo)志位有兩種,分別為表征異步遠(yuǎn)程復(fù)制時(shí)需要復(fù)制的第一標(biāo)志位,以及表征異步遠(yuǎn)程復(fù)制時(shí)需要復(fù)制的第二標(biāo)志位。在S103確定出第一地址參數(shù)后,將與第一地址參數(shù)對(duì)應(yīng)的標(biāo)志位設(shè)置為第一標(biāo)志位。
沿用上文中的例子來說。如圖3所示,當(dāng)確定第一地址參數(shù)為a1和d1后,由于a1與第1個(gè)標(biāo)識(shí)位對(duì)應(yīng),d1與第4個(gè)標(biāo)志位對(duì)應(yīng),因此將第1和第4個(gè)標(biāo)志位均修改為第一標(biāo)志位,例如1。而其余標(biāo)志位設(shè)置為第二標(biāo)志位,例如0。
接下來,在本發(fā)明實(shí)施例中,S104具體包括:
確定所述第一標(biāo)志位所對(duì)應(yīng)所述存儲(chǔ)空間,其中所述差異位圖中的標(biāo)志位與所述快照中的存儲(chǔ)空間相互對(duì)應(yīng);
將所述第一標(biāo)志位所對(duì)應(yīng)的存儲(chǔ)空間的數(shù)據(jù)復(fù)制到所述目標(biāo)存儲(chǔ)設(shè)備。
具體來講,首先根據(jù)差異位圖中的第一標(biāo)志位,確定出第一標(biāo)志位所對(duì)應(yīng)的存儲(chǔ)空間。例如圖3中,第1個(gè)標(biāo)志位和第4個(gè)標(biāo)志位是第一標(biāo)志位1,那么就確定在異步遠(yuǎn)程復(fù)制的下一個(gè)復(fù)制周期中,需要復(fù)制的是快照中與第1個(gè)標(biāo)志位和第4個(gè)標(biāo)志位對(duì)應(yīng)的存儲(chǔ)空間中的數(shù)據(jù),即A1和D1。
接下來,按照需要復(fù)制數(shù)據(jù)的存儲(chǔ)空間的地址,依次復(fù)制存儲(chǔ)空間中的數(shù)據(jù)。
具體來講,當(dāng)?shù)谝粯?biāo)志位僅有一個(gè)時(shí),那么第一標(biāo)志位所對(duì)應(yīng)的存儲(chǔ)空間也只有一個(gè),則直接復(fù)制該存儲(chǔ)空間中的數(shù)據(jù)即可。而當(dāng)?shù)谝粯?biāo)志位有兩個(gè)或兩個(gè)以上時(shí),對(duì)應(yīng)的存儲(chǔ)空間也有兩個(gè)或兩個(gè)以上時(shí),在本發(fā)明實(shí)施例中,將按照這些存儲(chǔ)空間的地址,依次復(fù)制存儲(chǔ)空間中的數(shù)據(jù)。
具體來講,在具體實(shí)現(xiàn)過程中,可以按照地址由大到小的順序依次復(fù)制存儲(chǔ)空間中的數(shù)據(jù)。假設(shè)差異位圖如圖3所示,快照的存儲(chǔ)空間如圖1d所示。第1個(gè)標(biāo)志位所對(duì)應(yīng)的存儲(chǔ)空間的地址假設(shè)為6T-7T,第4個(gè)標(biāo)志位所對(duì)應(yīng)的存儲(chǔ)空間的地址假設(shè)為7T-8T。那么先將D1復(fù)制到目標(biāo)存儲(chǔ)設(shè)備,再將A1復(fù)制到目標(biāo)存儲(chǔ)設(shè)備。還可以按照地址由小到大的順序依次復(fù)制目標(biāo)空間中的地址。即先將A1復(fù)制到目標(biāo)存儲(chǔ)設(shè)備,再將D1復(fù)制到目標(biāo)存儲(chǔ)設(shè)備。本申請所屬領(lǐng)域的普通技術(shù)人員可以根據(jù)實(shí)際進(jìn)行設(shè)置,本申請不做具體限制。
本申請第二方面提供了一種異步遠(yuǎn)程復(fù)制的裝置,如圖4所示,包括:
設(shè)置單元401,用于在當(dāng)前復(fù)制周期開始時(shí),將快照設(shè)置為非激活狀態(tài);
獲取單元402,用于獲取所述快照對(duì)應(yīng)的快照映射表,所述快照映射表記錄了原數(shù)據(jù)所在存儲(chǔ)空間的地址參數(shù);
確定單元403,用于確定所述快照映射表中發(fā)生變化的第一地址參數(shù);
復(fù)制單元404,用于在下一個(gè)復(fù)制周期,將存儲(chǔ)在所述第一地址參數(shù)指向的存儲(chǔ)空間中的數(shù)據(jù)復(fù)制到目標(biāo)存儲(chǔ)設(shè)備。
可選的,在本發(fā)明實(shí)施例中,異步遠(yuǎn)程復(fù)制裝置還可以包括:
標(biāo)志位設(shè)置單元,用于在確定所述快照映射表中發(fā)生變化的第一地址參數(shù) 之后,將差異位圖中與所述第一地址參數(shù)對(duì)應(yīng)的標(biāo)志位設(shè)置為第一標(biāo)志位。
當(dāng)裝置包括標(biāo)志位設(shè)置單元時(shí),復(fù)制單元404具體用于:
確定所述第一標(biāo)志位所對(duì)應(yīng)的存儲(chǔ)空間,其中所述差異位圖中的標(biāo)志位與所述快照的存儲(chǔ)空間相互對(duì)應(yīng);
將所述第一標(biāo)志位所對(duì)應(yīng)的存儲(chǔ)空間的數(shù)據(jù)復(fù)制到所述目標(biāo)存儲(chǔ)設(shè)備。
可選的,在本發(fā)明實(shí)施例中,標(biāo)志位設(shè)置單元還用于:
當(dāng)所述第一標(biāo)志位所對(duì)應(yīng)的存儲(chǔ)空間中的數(shù)據(jù)完成復(fù)制后,將所述第一標(biāo)志位修改為第二標(biāo)志位,所述第二標(biāo)志位與所述第一標(biāo)志位不同。
可選的,本申請實(shí)施例中的裝置還包括:
激活單元,用于在將存儲(chǔ)在所述第一地址參數(shù)指向的存儲(chǔ)空間中的數(shù)據(jù)復(fù)制到目標(biāo)存儲(chǔ)設(shè)備之前,激活新的快照。
本申請第三方面提供了一種生產(chǎn)設(shè)備,如圖5所示,包括:
處理器503,用于在當(dāng)前復(fù)制周期開始時(shí),將快照設(shè)置為非激活狀態(tài);獲取所述快照對(duì)應(yīng)的快照映射表,所述快照映射表記錄了原數(shù)據(jù)所在存儲(chǔ)空間的地址參數(shù);確定所述快照映射表中發(fā)生變化的第一地址參數(shù);在下一個(gè)復(fù)制周期,將存儲(chǔ)在所述第一地址參數(shù)指向的存儲(chǔ)空間中的數(shù)據(jù)復(fù)制到目標(biāo)存儲(chǔ)設(shè)備;
發(fā)送器502,用于向所述目標(biāo)存儲(chǔ)設(shè)備發(fā)送復(fù)制的數(shù)據(jù)
可選的,處理器503還用于:
在確定所述快照映射表中發(fā)生變化的第一地址參數(shù)之后,將差異位圖中與所述第一地址參數(shù)對(duì)應(yīng)的標(biāo)志位設(shè)置為第一標(biāo)志位。
在本發(fā)明實(shí)施例中,處理器503具體用于:
確定所述第一標(biāo)志位所對(duì)應(yīng)的存儲(chǔ)空間,其中所述差異位圖中的標(biāo)志位與 所述快照的存儲(chǔ)空間相互對(duì)應(yīng);
將所述第一標(biāo)志位所對(duì)應(yīng)的存儲(chǔ)空間的數(shù)據(jù)復(fù)制到所述目標(biāo)存儲(chǔ)設(shè)備。
可選的,處理器503還用于:
當(dāng)所述第一標(biāo)志位所對(duì)應(yīng)的存儲(chǔ)空間中的數(shù)據(jù)完成復(fù)制后,將所述第一標(biāo)志位修改為第二標(biāo)志位,所述第二標(biāo)志位與所述第一標(biāo)志位不同。
可選的,處理器503還用于:在將存儲(chǔ)在所述第一地址參數(shù)指向的存儲(chǔ)空間中的數(shù)據(jù)復(fù)制到目標(biāo)存儲(chǔ)設(shè)備之前,激活新的快照。
其中,在圖5中,總線架構(gòu)(用總線500來代表),總線500可以包括任意數(shù)量的互聯(lián)的總線和橋,總線500將包括由處理器503代表的一個(gè)或多個(gè)處理器和存儲(chǔ)器504代表的存儲(chǔ)器的各種電路鏈接在一起。總線500還可以將諸如外圍設(shè)備、穩(wěn)壓器和功率管理電路等之類的各種其他電路鏈接在一起,這些都是本領(lǐng)域所公知的,因此,本文不再對(duì)其進(jìn)行進(jìn)一步描述。總線接口505在總線500和接收器501和發(fā)送器502之間提供接口。接收器501和發(fā)送器502可以是同一個(gè)元件,即收發(fā)機(jī),提供用于在傳輸介質(zhì)上與各種其他裝置通信的單元。
處理器503負(fù)責(zé)管理總線500和通常的處理,而存儲(chǔ)器504可以被用于存儲(chǔ)處理器503在執(zhí)行操作時(shí)所使用的數(shù)據(jù)。
前述實(shí)施例中描述的異步遠(yuǎn)程復(fù)制的過程的各種變化方式和具體實(shí)例同樣適用于本實(shí)施例的生產(chǎn)設(shè)備,通過前述的詳細(xì)描述,本領(lǐng)域技術(shù)人員可以清楚的知道本實(shí)施例中生產(chǎn)設(shè)備的實(shí)施方法,所以為了說明書的簡潔,在此不再詳述。
本發(fā)明實(shí)施例中提供的一個(gè)或多個(gè)技術(shù)方案,至少具有如下技術(shù)效果或優(yōu) 點(diǎn):
在本發(fā)明實(shí)施例中,在當(dāng)前復(fù)制周期開始時(shí),將快照設(shè)置為非激活狀態(tài);獲取所述快照對(duì)應(yīng)的快照映射表,所述快照映射表記錄了原數(shù)據(jù)所在存儲(chǔ)空間的地址參數(shù);確定所述快照映射表發(fā)生變化的第一地址參數(shù);在下一個(gè)復(fù)制周期,將存儲(chǔ)在所述第一地址參數(shù)指向的存儲(chǔ)空間中的數(shù)據(jù)復(fù)制到目標(biāo)存儲(chǔ)設(shè)備。所以,在本發(fā)明實(shí)施例的技術(shù)方案中,通過快照映射表中確定發(fā)生變化的第一地址參數(shù),進(jìn)而就可以確定出在進(jìn)行異步遠(yuǎn)程復(fù)制時(shí),需要復(fù)制快照中的哪些數(shù)據(jù)。從而使得本發(fā)明實(shí)施例中的電子設(shè)備不再需要持續(xù)在差異位圖中記錄差異的狀態(tài),也不需要?jiǎng)?chuàng)建兩個(gè)快照,因此減少了異步遠(yuǎn)程復(fù)制對(duì)電子設(shè)備輸入輸出性能的影響。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。