一種復(fù)制過(guò)程調(diào)整方法及裝置制造方法
【專利摘要】本發(fā)明提供一種復(fù)制過(guò)程調(diào)整方法及裝置,其中,該方法包括:步驟A、復(fù)制源設(shè)備啟動(dòng)一次復(fù)制并轉(zhuǎn)步驟B;步驟B、啟動(dòng)具有預(yù)設(shè)定時(shí)時(shí)長(zhǎng)的定時(shí)器,并統(tǒng)計(jì)當(dāng)前定時(shí)時(shí)長(zhǎng)內(nèi)復(fù)制源設(shè)備的數(shù)據(jù)發(fā)送參數(shù)Psent以及復(fù)制容量參數(shù)Psucc;步驟C、在所述定時(shí)器啟動(dòng)后使用復(fù)制源設(shè)備內(nèi)部保存的復(fù)制發(fā)送窗口繼續(xù)向復(fù)制目標(biāo)設(shè)備發(fā)送復(fù)制命令;步驟D、在所述定時(shí)器超時(shí)后判斷Psent/Psucc的比值是否達(dá)到第一預(yù)設(shè)閾值,如果沒(méi)有達(dá)到則增大復(fù)制源設(shè)備內(nèi)部保存的復(fù)制發(fā)送窗口;然后轉(zhuǎn)步驟B。本發(fā)明既可以有效避免復(fù)制帶寬惡化時(shí)持續(xù)發(fā)送大量數(shù)據(jù)導(dǎo)致發(fā)生嚴(yán)重?fù)砣蛠G包的情況,也可以有效避免復(fù)制帶寬狀況良好時(shí)不能充分利用復(fù)制帶寬的情況。
【專利說(shuō)明】一種復(fù)制過(guò)程調(diào)整方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及存儲(chǔ)【技術(shù)領(lǐng)域】,尤其涉及一種復(fù)制過(guò)程調(diào)整方法及裝置。
【背景技術(shù)】
[0002]遠(yuǎn)程復(fù)制可以將生產(chǎn)中心的數(shù)據(jù)通過(guò)遠(yuǎn)程鏈路(比如IP或者FC)傳輸?shù)綖?zāi)難備份中心,這樣可以保證當(dāng)生產(chǎn)中心發(fā)生故障時(shí),可以通過(guò)災(zāi)難備份中心的數(shù)據(jù)進(jìn)行恢復(fù)。
[0003]在常見(jiàn)的數(shù)據(jù)中心數(shù)據(jù)保護(hù)方案中,遠(yuǎn)程復(fù)制是一種典型的技術(shù)方案。通過(guò)遠(yuǎn)程復(fù)制,管理者可以將生產(chǎn)中心的數(shù)據(jù)通過(guò)遠(yuǎn)程鏈路(比如IP或者Fe)傳輸?shù)綖?zāi)難備份中心(災(zāi)備中心),這樣可以保證當(dāng)生產(chǎn)中心發(fā)生故障時(shí),可以通過(guò)災(zāi)備中心的數(shù)據(jù)進(jìn)行恢復(fù)。圖1是一個(gè)典型的遠(yuǎn)程復(fù)制解決方案,在該方案中,生產(chǎn)中心的存儲(chǔ)設(shè)備用于日常業(yè)務(wù)運(yùn)行,災(zāi)備中心的存儲(chǔ)設(shè)備作為備份,二者之間通過(guò)網(wǎng)絡(luò)連接,通過(guò)復(fù)制功能傳輸數(shù)據(jù)。同時(shí),應(yīng)用服務(wù)器通過(guò)網(wǎng)絡(luò)連接到兩個(gè)數(shù)據(jù)中心,一旦生產(chǎn)中心發(fā)生災(zāi)難,應(yīng)用立即可以切換到災(zāi)備中心去。
[0004]存儲(chǔ)設(shè)備制造商通常會(huì)通過(guò)私有的復(fù)制協(xié)議來(lái)實(shí)現(xiàn)生產(chǎn)中心到災(zāi)備中心的數(shù)據(jù)傳輸,這個(gè)過(guò)程被稱為復(fù)制過(guò)程。在復(fù)制過(guò)程中,其中一個(gè)比較關(guān)鍵的參數(shù)是復(fù)制并發(fā)命令數(shù)(也稱為復(fù)制發(fā)送窗口)。假設(shè)該參數(shù)取值為64,則復(fù)制源設(shè)備可以同時(shí)發(fā)送64個(gè)命令。但是只有任意一個(gè)命令被復(fù)制目標(biāo)設(shè)備處理完成并返回后,復(fù)制源設(shè)備才可以發(fā)送下一個(gè)命令,也就是說(shuō)當(dāng)前并發(fā)處理的命令數(shù)不能超過(guò)64。
[0005]在很多情況下,存儲(chǔ)設(shè)備會(huì)采用默認(rèn)的復(fù)制并發(fā)命令數(shù),即采用默認(rèn)復(fù)制發(fā)送窗口進(jìn)行復(fù)制。然而有時(shí)候默認(rèn)復(fù)制發(fā)送窗口的大小未必能滿足實(shí)際業(yè)務(wù)需要,而管理員可以結(jié)合網(wǎng)絡(luò)實(shí)際情況通過(guò)存儲(chǔ)設(shè)備提供的配置接口手工修改該復(fù)制發(fā)送窗口。由管理員來(lái)設(shè)置合理的復(fù)制發(fā)送窗口,對(duì)管理員要求較高;如果參數(shù)設(shè)置不合理,將影響復(fù)制的性能和功能,比如復(fù)制心跳報(bào)文無(wú)法及時(shí)發(fā)送等。
【發(fā)明內(nèi)容】
[0006]有鑒于此,本發(fā)明提供一種復(fù)制過(guò)程調(diào)整裝置,應(yīng)用于作為復(fù)制源設(shè)備的存儲(chǔ)設(shè)備上,以控制該復(fù)制源設(shè)備向復(fù)制目標(biāo)設(shè)備發(fā)送復(fù)制命令的過(guò)程,該裝置包括復(fù)制執(zhí)行單元、業(yè)務(wù)統(tǒng)計(jì)單元、壓力分析單元以及復(fù)制調(diào)整單元,其中:
[0007]復(fù)制執(zhí)行單元,用于在啟動(dòng)一次復(fù)制時(shí)觸發(fā)所述業(yè)務(wù)統(tǒng)計(jì)單元啟動(dòng)定時(shí)器,并在定時(shí)器啟動(dòng)后根據(jù)業(yè)務(wù)統(tǒng)計(jì)單元的通知使用復(fù)制源設(shè)備內(nèi)部保存的復(fù)制發(fā)送窗口繼續(xù)向復(fù)制目標(biāo)設(shè)備發(fā)送復(fù)制命令;
[0008]業(yè)務(wù)統(tǒng)計(jì)單元,用于啟動(dòng)具有預(yù)設(shè)定時(shí)時(shí)長(zhǎng)的定時(shí)器,在所述定時(shí)器啟動(dòng)后通知復(fù)制執(zhí)行單元繼續(xù)復(fù)制,并統(tǒng)計(jì)當(dāng)前定時(shí)時(shí)長(zhǎng)內(nèi)復(fù)制源設(shè)備的數(shù)據(jù)發(fā)送參數(shù)Psent以及復(fù)制容量參數(shù)Psucc ;
[0009]壓力分析單元,用于在所述定時(shí)器超時(shí)后判斷Psent/Psucc的比值是否達(dá)到第一預(yù)設(shè)閾值,如果沒(méi)有達(dá)到,則通知復(fù)制調(diào)整單元進(jìn)行正向調(diào)整;[0010]復(fù)制調(diào)整單元,用于根據(jù)壓力分析單元的通知對(duì)所述復(fù)制發(fā)送窗口進(jìn)行調(diào)整,并在調(diào)整完成后轉(zhuǎn)業(yè)務(wù)統(tǒng)計(jì)單元處理,其中當(dāng)壓力分析單元的通知為正向調(diào)整通知時(shí),所述調(diào)整為增大復(fù)制源設(shè)備內(nèi)部保存的復(fù)制發(fā)送窗口。
[0011]本發(fā)明還提供一種復(fù)制過(guò)程調(diào)整方法,應(yīng)用于作為復(fù)制源設(shè)備的存儲(chǔ)設(shè)備上,以控制該復(fù)制源設(shè)備向復(fù)制目標(biāo)設(shè)備發(fā)送復(fù)制命令的過(guò)程,該方法包括:
[0012]步驟A、復(fù)制源設(shè)備啟動(dòng)一次復(fù)制并轉(zhuǎn)步驟B ;
[0013]步驟B、啟動(dòng)具有預(yù)設(shè)定時(shí)時(shí)長(zhǎng)的定時(shí)器,并統(tǒng)計(jì)當(dāng)前定時(shí)時(shí)長(zhǎng)內(nèi)復(fù)制源設(shè)備的數(shù)據(jù)發(fā)送參數(shù)Psent以及復(fù)制容量參數(shù)Psucc ;
[0014]步驟C、在所述定時(shí)器啟動(dòng)后使用復(fù)制源設(shè)備內(nèi)部保存的復(fù)制發(fā)送窗口繼續(xù)向復(fù)制目標(biāo)設(shè)備發(fā)送復(fù)制命令;
[0015]步驟D、在所述定時(shí)器超時(shí)后判斷Psent/Psucc的比值是否達(dá)到第一預(yù)設(shè)閾值,如果沒(méi)有達(dá)到則增大復(fù)制源設(shè)備內(nèi)部保存的復(fù)制發(fā)送窗口 ;然后轉(zhuǎn)步驟B。
[0016]無(wú)論是廣域網(wǎng)鏈路帶寬發(fā)生變化,還是復(fù)制目標(biāo)設(shè)備發(fā)生任何變化而導(dǎo)致復(fù)制帶寬變化,本發(fā)明均可以讓復(fù)制源設(shè)備很快地適應(yīng)這種變化,既可以有效避免復(fù)制帶寬惡化時(shí)持續(xù)發(fā)送大量數(shù)據(jù)導(dǎo)致發(fā)生嚴(yán)重?fù)砣蛠G包的情況,也可以有效避免復(fù)制帶寬狀況良好時(shí)不能充分利用復(fù)制帶寬的情況。
【專利附圖】
【附圖說(shuō)明】
[0017]圖1是一種典型的數(shù)據(jù)復(fù)制過(guò)程示意圖。
[0018]圖2是本發(fā)明一種實(shí)施方式中復(fù)制過(guò)程調(diào)整裝置的邏輯結(jié)構(gòu)圖。
[0019]圖3是本發(fā)明一種實(shí)施方式中復(fù)制過(guò)程調(diào)整方法的流程圖。
【具體實(shí)施方式】
[0020]請(qǐng)參考圖1,生產(chǎn)中心與災(zāi)備中心通常會(huì)通過(guò)廣域網(wǎng)相連,而廣域網(wǎng)的特點(diǎn)是環(huán)境復(fù)雜多變。當(dāng)廣域網(wǎng)的網(wǎng)絡(luò)環(huán)境發(fā)生變化時(shí),比如說(shuō)當(dāng)廣域網(wǎng)鏈路發(fā)生擁塞、或者網(wǎng)絡(luò)中某個(gè)交換機(jī)/路由器故障是,其可能導(dǎo)致原來(lái)相對(duì)高速的鏈路突然變?yōu)榈退冁溌贰_@種情況需要管理員來(lái)調(diào)低復(fù)制發(fā)送窗口,否則只會(huì)導(dǎo)致加劇鏈路擁塞。一種可以考慮改進(jìn)方案是定期檢測(cè)廣域網(wǎng)鏈路的情況,根據(jù)廣域網(wǎng)鏈路的狀況來(lái)動(dòng)態(tài)調(diào)整參數(shù)。然而這種方式效果依然不理想,首先對(duì)廣域網(wǎng)鏈路的探測(cè)需要在已有的通信協(xié)議上進(jìn)行再次開(kāi)發(fā),其次探測(cè)結(jié)果存在一定的不可靠性。舉例來(lái)說(shuō),廣域網(wǎng)沿途海量網(wǎng)絡(luò)設(shè)備或者防火墻等設(shè)備上部署的安全策略可能會(huì)把復(fù)制源設(shè)備發(fā)送的探測(cè)報(bào)文丟棄掉,但同時(shí)允許攜帶復(fù)制命令的業(yè)務(wù)報(bào)文通過(guò)。這就會(huì)導(dǎo)致探測(cè)的結(jié)果是鏈路帶寬下降,但實(shí)際上對(duì)于復(fù)制業(yè)務(wù)來(lái)說(shuō),鏈路帶寬未有變化。這是一種典型的探測(cè)結(jié)果不可信的情況,最后,為了更為實(shí)時(shí)地了解廣域網(wǎng)鏈路的狀況,無(wú)疑需要采用更高頻率的探測(cè)機(jī)制,但這種高頻率的鏈路探測(cè)無(wú)疑也是在占用廣域網(wǎng)寶貴的帶寬資源。
[0021]本發(fā)明并不是從網(wǎng)絡(luò)的維度來(lái)解決復(fù)制發(fā)送窗口調(diào)整的問(wèn)題,而是從復(fù)制業(yè)務(wù)本身著手。在一種優(yōu)選的實(shí)施方式中,本發(fā)明提供一種復(fù)制過(guò)程調(diào)整裝置,該裝置應(yīng)用于作為復(fù)制源設(shè)備的存儲(chǔ)設(shè)備上;該裝置包括:復(fù)制執(zhí)行單元、業(yè)務(wù)統(tǒng)計(jì)單元、壓力分析單元以及復(fù)制調(diào)整單元。在優(yōu)選的方案中,該裝置可以通過(guò)計(jì)算機(jī)軟件實(shí)現(xiàn),其運(yùn)行在存儲(chǔ)設(shè)備上時(shí)執(zhí)行如下的處理流程。
[0022]步驟101,復(fù)制執(zhí)行單元在啟動(dòng)一次復(fù)制時(shí)觸發(fā)所述業(yè)務(wù)統(tǒng)計(jì)單元執(zhí)行步驟102 ;
[0023]步驟102,業(yè)務(wù)統(tǒng)計(jì)單元啟動(dòng)具有預(yù)設(shè)定時(shí)時(shí)長(zhǎng)的定時(shí)器,通知復(fù)制執(zhí)行單元執(zhí)行步驟103,并轉(zhuǎn)步驟104繼續(xù)處理;
[0024]步驟103,復(fù)制執(zhí)行單元使用復(fù)制源設(shè)備內(nèi)部保存的復(fù)制發(fā)送窗口向復(fù)制目標(biāo)設(shè)備發(fā)送復(fù)制命令,并在本次復(fù)制結(jié)束時(shí)通知業(yè)務(wù)統(tǒng)計(jì)單元轉(zhuǎn)入步驟107處理;
[0025]步驟104,業(yè)務(wù)統(tǒng)計(jì)單元統(tǒng)計(jì)該定時(shí)時(shí)長(zhǎng)內(nèi)復(fù)制源設(shè)備的數(shù)據(jù)發(fā)送參數(shù)Psent以及當(dāng)前定時(shí)時(shí)長(zhǎng)內(nèi)的復(fù)制容量參數(shù)Psucc;并在當(dāng)前定時(shí)時(shí)長(zhǎng)結(jié)束時(shí)通知復(fù)制執(zhí)行單元將復(fù)制過(guò)程暫停,轉(zhuǎn)步驟105處理;
[0026]步驟105,壓力分析單元在所述定時(shí)器超時(shí)后判斷Psent與Psucc的比值是否達(dá)到第一預(yù)定閾值,如果沒(méi)有達(dá)到,則通知復(fù)制調(diào)整單元進(jìn)行正向調(diào)整;如果達(dá)到則轉(zhuǎn)步驟106 ;
[0027]步驟106,壓力分析單元進(jìn)一步判斷Psent與Psucc的比值是否達(dá)到第二預(yù)定閾值,如果達(dá)到,則通知復(fù)制調(diào)整單元進(jìn)行反向調(diào)整,如果沒(méi)有達(dá)到,則返回步驟102。
[0028]步驟107,業(yè)務(wù)統(tǒng)計(jì)單元在收到復(fù)制執(zhí)行單元的復(fù)制結(jié)束通知時(shí),清除定時(shí)器并結(jié)束當(dāng)前處理流程。
[0029]事實(shí)上在復(fù)制過(guò)程中,鏈路帶寬是一個(gè)重要參考,但不是全部。假設(shè)災(zāi)備中心的復(fù)制目標(biāo)設(shè)備處理性能低下,那么即便鏈路帶寬再好,復(fù)制過(guò)程依然很緩慢。其次,即便復(fù)制目標(biāo)設(shè)備處理性能強(qiáng)勁,但如果其承擔(dān)了很多其他業(yè)務(wù),導(dǎo)致其無(wú)法分配更多資源給復(fù)制過(guò)程,這同樣會(huì)造成成功復(fù)制過(guò)程緩慢。最后,即便復(fù)制目標(biāo)設(shè)備一切正常,從整個(gè)網(wǎng)絡(luò)來(lái)看,如果承載復(fù)制的廣域網(wǎng)鏈路上任何一個(gè)節(jié)點(diǎn)性能下降同樣會(huì)引發(fā)復(fù)制過(guò)程緩慢。為規(guī)避這些復(fù)雜的因素,本發(fā)明引入復(fù)制容量參數(shù)Psucc這一新的概念,Psucc并不像鏈路帶寬或者設(shè)備性能等固定參數(shù)那樣,其是一個(gè)動(dòng)態(tài)的參數(shù)。這一動(dòng)態(tài)參數(shù)可能被很多前述因素所影響,但對(duì)于本發(fā)明而言,影響Psucc的那些參數(shù)不再重要,本發(fā)明著重關(guān)注Psucc本身。
[0030]第一次啟動(dòng)復(fù)制時(shí),本發(fā)明也可以使用一個(gè)默認(rèn)的復(fù)制發(fā)送窗口作為第一個(gè)統(tǒng)計(jì)周期內(nèi)的復(fù)制發(fā)送窗口。當(dāng)然此時(shí)無(wú)法得知這個(gè)復(fù)制發(fā)送窗口是否是為最佳的復(fù)制發(fā)送窗口。復(fù)制開(kāi)始的時(shí)候,可以啟動(dòng)一個(gè)統(tǒng)計(jì)定時(shí)器,其定時(shí)時(shí)長(zhǎng)可以理解為一個(gè)統(tǒng)計(jì)周期的長(zhǎng)度,大小可以根據(jù)經(jīng)驗(yàn)預(yù)設(shè),在優(yōu)選的方式中推薦使用秒這樣的時(shí)間量級(jí),比如5秒或者10秒。接下來(lái)復(fù)制源設(shè)備會(huì)根據(jù)當(dāng)前保存的復(fù)制發(fā)送窗口大小開(kāi)始發(fā)送復(fù)制命令(數(shù)據(jù)寫(xiě)入命令)。在定時(shí)器開(kāi)啟的同時(shí),業(yè)務(wù)統(tǒng)計(jì)單元會(huì)實(shí)時(shí)統(tǒng)計(jì)更新本定時(shí)時(shí)長(zhǎng)內(nèi)的Psent以及Psucc這兩個(gè)參數(shù)。假設(shè)復(fù)制過(guò)程中每個(gè)復(fù)制命令的大小是固定的,Psent可以是本統(tǒng)計(jì)周期內(nèi)復(fù)制發(fā)送命令計(jì)數(shù);如果復(fù)制過(guò)程中復(fù)制命令大小不是固定的,則業(yè)務(wù)執(zhí)行單元需要統(tǒng)計(jì)本統(tǒng)計(jì)周期內(nèi)每個(gè)復(fù)制命令大小,并累加得到Psent。同樣的道理,對(duì)于Psucc,如果復(fù)制命令大小固定,則Psucc可以是本統(tǒng)計(jì)周期內(nèi)復(fù)制目標(biāo)設(shè)備返回的復(fù)制處理成功的命令計(jì)數(shù),如果復(fù)制命令大小不固定,則業(yè)務(wù)執(zhí)行單元需要統(tǒng)計(jì)本統(tǒng)計(jì)周期內(nèi)每個(gè)復(fù)制目標(biāo)設(shè)備返回的復(fù)制處理成功的命令大小,然后累加得到Psucc。
[0031]在定時(shí)器超時(shí)的時(shí)候,業(yè)務(wù)統(tǒng)計(jì)單元可以通知復(fù)制執(zhí)行單元暫停發(fā)送復(fù)制命令。此時(shí)壓力分析單元將判斷Psent與Psucc的比值是否達(dá)到第一預(yù)定閾值,在優(yōu)選的方式中,為了最大限度的利用復(fù)制帶寬,第一預(yù)定閾值通常大于等于I。所謂復(fù)制帶寬是一個(gè)業(yè)務(wù)層面的概念,也就是單位時(shí)間內(nèi)可以成功完成復(fù)制的數(shù)據(jù)量。假設(shè)第一預(yù)設(shè)閾值為1.2,當(dāng)Psent/Psucc小于1.2時(shí),說(shuō)明全部或者大部分的復(fù)制命令都可以被復(fù)制目標(biāo)設(shè)備及時(shí)成功處理,復(fù)制帶寬有相當(dāng)大的可能性進(jìn)一步被擴(kuò)大。此時(shí)可以通知復(fù)制調(diào)整單元進(jìn)行正向調(diào)整,復(fù)制執(zhí)行單元可以按照一個(gè)預(yù)設(shè)百分比的步長(zhǎng)值或者固定值的步長(zhǎng)值增大設(shè)備內(nèi)部當(dāng)前保存的復(fù)制發(fā)送窗口,比如按照8為步長(zhǎng)將復(fù)制發(fā)送窗口的大小從64增大到72等。這個(gè)修改后的復(fù)制的發(fā)送窗口將在后續(xù)復(fù)制數(shù)據(jù)過(guò)程作為新的復(fù)制發(fā)送窗口被使用,相當(dāng)于持續(xù)壓榨出可能剩余的復(fù)制帶寬。
[0032]當(dāng)Psent/Psucc大于等于1.2時(shí),說(shuō)明復(fù)制帶寬已經(jīng)被充分利用。在Psent/Psucc沒(méi)有達(dá)到第二預(yù)設(shè)閾值(比如1.5)時(shí),可以保持當(dāng)前的復(fù)制發(fā)送窗口,如此一來(lái)既可以保證復(fù)制帶寬可以被充分利用,也不會(huì)造成對(duì)復(fù)制帶寬的過(guò)度壓榨。如前所述,鏈路帶寬以及復(fù)制目標(biāo)設(shè)備性能等很多因素會(huì)影響到復(fù)制的成功率(也就是影響復(fù)制帶寬)。比如剛剛過(guò)去的定時(shí)時(shí)長(zhǎng)內(nèi)(假設(shè)是5秒)發(fā)生鏈路質(zhì)量下降事件,或者復(fù)制目標(biāo)設(shè)備CPU負(fù)載過(guò)重等意外情況都可能嚴(yán)重影響這個(gè)定時(shí)時(shí)長(zhǎng)內(nèi)的復(fù)制帶寬大小,可能會(huì)導(dǎo)致復(fù)制帶寬有較大幅度的下降。此時(shí)壓力分析單元可能會(huì)發(fā)現(xiàn)Psent/Psucc的數(shù)值已經(jīng)達(dá)到了第二預(yù)設(shè)閾值(t匕如1.5),而且Psent/Psucc很可能會(huì)遠(yuǎn)大于1.5,比如3。在這種狀況下如果按照一個(gè)預(yù)設(shè)步長(zhǎng)去做反向調(diào)整,顯然需要經(jīng)過(guò)多個(gè)統(tǒng)計(jì)周期才能將Psent/Psucc調(diào)整到一個(gè)正常值,無(wú)法及時(shí)響應(yīng)復(fù)制帶寬的突發(fā)變化。因此,在優(yōu)選的實(shí)施方式中,本發(fā)明反向調(diào)整的步長(zhǎng)是一個(gè)動(dòng)態(tài)步長(zhǎng),該動(dòng)態(tài)步長(zhǎng)與當(dāng)前定時(shí)時(shí)長(zhǎng)中統(tǒng)計(jì)到的Psucc/Psent這一比值相關(guān)聯(lián),其中該比值越小,則所述動(dòng)態(tài)步長(zhǎng)越大;即根據(jù)最近一個(gè)定時(shí)時(shí)長(zhǎng)的復(fù)制命令的完成比例來(lái)動(dòng)態(tài)調(diào)整復(fù)制發(fā)送窗口。Psucc/Psent越小則說(shuō)明復(fù)制帶寬惡化越嚴(yán)重,此時(shí)應(yīng)當(dāng)使用更大的動(dòng)態(tài)步長(zhǎng)將復(fù)制發(fā)送窗口迅速調(diào)低。一種優(yōu)選的計(jì)算方法為:新的復(fù)制發(fā)送窗口的計(jì)算放法為:前復(fù)制發(fā)送窗口乘以Psucc/Psent,然后對(duì)該乘積取整;而動(dòng)態(tài)步長(zhǎng)則等于原復(fù)制發(fā)送窗口減去新的復(fù)制發(fā)送窗口。
[0033]在本發(fā)明中復(fù)制發(fā)送窗口通常是一步一步按照預(yù)定步長(zhǎng)調(diào)整上來(lái)的,達(dá)到第一預(yù)設(shè)閾值之后,比如Psent/Psucc達(dá)到1.2之后,如果沒(méi)有發(fā)生異常情況,則復(fù)制發(fā)送窗口可以在相當(dāng)長(zhǎng)的一段時(shí)間內(nèi)保持相對(duì)穩(wěn)定的狀態(tài),至少其大小的抖動(dòng)的幅度會(huì)很小。Psent/Psucc這個(gè)比值在相當(dāng)長(zhǎng)的時(shí)間內(nèi)也會(huì)保持比較穩(wěn)定的狀態(tài),不會(huì)有太大的波動(dòng)。如果合理設(shè)置第二預(yù)設(shè)閾值,Psent/Psucc的正常波動(dòng)不會(huì)突然達(dá)到第二預(yù)設(shè)閾值的。反過(guò)來(lái)說(shuō),一旦Psent/Psucc突然跳變第二預(yù)設(shè)閾值,則說(shuō)明有一些因素發(fā)生了較大的變化導(dǎo)致復(fù)制帶寬有突發(fā)的惡化,此時(shí)本發(fā)明可以用一個(gè)動(dòng)態(tài)步長(zhǎng)的反向調(diào)整方式及時(shí)去響應(yīng)這種突發(fā)變化,避免了持續(xù)發(fā)送大量數(shù)據(jù)導(dǎo)致鏈路或者復(fù)制目標(biāo)設(shè)備處理的擁塞。進(jìn)一步來(lái)說(shuō),復(fù)制帶寬也可能會(huì)正向的突發(fā)變化,比如用戶如果對(duì)廣域網(wǎng)帶寬進(jìn)行擴(kuò)容,比如租用了更高速率的接入線路,或者對(duì)復(fù)制目標(biāo)設(shè)備進(jìn)行升級(jí),比如增加了更多的內(nèi)存或者業(yè)務(wù)緩存等。此時(shí)Psent/Psucc可能會(huì)突然間變小,在下一個(gè)統(tǒng)計(jì)周期中,本發(fā)明均可以自動(dòng)適應(yīng)這種變化,完全無(wú)需人工干預(yù)。
[0034]需要補(bǔ)充說(shuō)明的是,業(yè)務(wù)統(tǒng)計(jì)單元通知復(fù)制執(zhí)行單元暫停復(fù)制并不是必須的,其實(shí)復(fù)制執(zhí)行單元未必一定要暫停復(fù)制。從本質(zhì)上說(shuō),這個(gè)通知只是要求復(fù)制執(zhí)行單元使用更新后的復(fù)制發(fā)送窗口即可。上述實(shí)施方式只是一種優(yōu)選的方式,在軟件設(shè)計(jì)中,使用新的復(fù)制發(fā)送窗口這樣的參數(shù),最好是先將復(fù)制任務(wù)短暫地暫停一下,避免可能發(fā)生任何錯(cuò)誤,有利于簡(jiǎn)化軟件設(shè)計(jì)而已。另外,上述優(yōu)選的方式中,每次調(diào)整復(fù)制發(fā)送窗口之后都會(huì)立刻再重新啟動(dòng)定時(shí)器,但是這并不是必須的,定時(shí)器的啟動(dòng)時(shí)機(jī)是可以靈活設(shè)定。比如說(shuō)每一次復(fù)制過(guò)程僅僅啟用一次定時(shí)器,或者啟用少數(shù)幾次,這同樣可以實(shí)現(xiàn)本發(fā)明的目的,因?yàn)榻?jīng)過(guò)幾次復(fù)制之后,復(fù)制發(fā)送窗口就會(huì)調(diào)整到一個(gè)比較好的狀況,只是實(shí)時(shí)性比上述實(shí)施方式略差。從以上的描述可以知道,無(wú)論是廣域網(wǎng)鏈路帶寬發(fā)生變化,還是復(fù)制目標(biāo)設(shè)備發(fā)生任何變化而導(dǎo)致復(fù)制帶寬變化,本發(fā)明均可以讓復(fù)制源設(shè)備很快地適應(yīng)這種變化,既可以有效避免復(fù)制帶寬惡化時(shí)持續(xù)發(fā)送大量數(shù)據(jù)導(dǎo)致發(fā)生嚴(yán)重?fù)砣蛠G包的情況,也可以有效避免復(fù)制帶寬狀況良好時(shí)不能充分利用復(fù)制帶寬的情況。
[0035]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
【權(quán)利要求】
1.一種復(fù)制過(guò)程調(diào)整裝置,應(yīng)用于作為復(fù)制源設(shè)備的存儲(chǔ)設(shè)備上,以控制該復(fù)制源設(shè)備向復(fù)制目標(biāo)設(shè)備發(fā)送復(fù)制命令的過(guò)程,該裝置包括復(fù)制執(zhí)行單元、業(yè)務(wù)統(tǒng)計(jì)單元、壓力分析單元以及復(fù)制調(diào)整單元,其特征在于: 復(fù)制執(zhí)行單元,用于在啟動(dòng)一次復(fù)制時(shí)觸發(fā)所述業(yè)務(wù)統(tǒng)計(jì)單元啟動(dòng)定時(shí)器,并在定時(shí)器啟動(dòng)后根據(jù)業(yè)務(wù)統(tǒng)計(jì)單元的通知使用復(fù)制源設(shè)備內(nèi)部保存的復(fù)制發(fā)送窗口繼續(xù)向復(fù)制目標(biāo)設(shè)備發(fā)送復(fù)制命令; 業(yè)務(wù)統(tǒng)計(jì)單元,用于啟動(dòng)具有預(yù)設(shè)定時(shí)時(shí)長(zhǎng)的定時(shí)器,在所述定時(shí)器啟動(dòng)后通知復(fù)制執(zhí)行單元繼續(xù)復(fù)制,并統(tǒng)計(jì)當(dāng)前定時(shí)時(shí)長(zhǎng)內(nèi)復(fù)制源設(shè)備的數(shù)據(jù)發(fā)送參數(shù)Psent以及復(fù)制容量參數(shù)Psucc ; 壓力分析單元,用于在所述定時(shí)器超時(shí)后判斷Psent/Psucc的比值是否達(dá)到第一預(yù)設(shè)閾值,如果沒(méi)有達(dá)到,則通知復(fù)制調(diào)整單元進(jìn)行正向調(diào)整; 復(fù)制調(diào)整單元,用于根據(jù)壓力分析單元的通知對(duì)所述復(fù)制發(fā)送窗口進(jìn)行調(diào)整,并在調(diào)整完成后轉(zhuǎn)業(yè)務(wù)統(tǒng)計(jì)單元處理,其中當(dāng)壓力分析單元的通知為正向調(diào)整通知時(shí),所述調(diào)整為增大復(fù)制源設(shè)備內(nèi)部保存的復(fù)制發(fā)送窗口。
2.如權(quán)利要求1所述的裝置,其特征在于,所述壓力分析單元進(jìn)一步用于在Psent/Psucc的比值達(dá)到第一預(yù)設(shè)閾值時(shí)進(jìn)一步判斷該比值是否達(dá)到第二預(yù)設(shè)閾值,如果有則通知復(fù)制調(diào)整單元進(jìn)行反向調(diào)整; 所述復(fù)制調(diào)整單元進(jìn)一步用于根據(jù)壓力分析單元的反向調(diào)整通知,減小復(fù)制源設(shè)備內(nèi)部保存的復(fù)制發(fā)送窗口。
3.如權(quán)利要求1所述的裝置,其特征在于,其中所述復(fù)制調(diào)整單元進(jìn)一步用于在進(jìn)行正向調(diào)整時(shí)按照預(yù)設(shè)的步長(zhǎng)增大所述復(fù)制發(fā)送窗口。
4.如權(quán)利要求2所述的裝置,其特征在于,其中所述復(fù)制調(diào)整單元進(jìn)一步用于在進(jìn)行反向調(diào)整時(shí),按照動(dòng)態(tài)步長(zhǎng)減小所述復(fù)制發(fā)送窗口,其中該動(dòng)態(tài)步長(zhǎng)與當(dāng)前定時(shí)時(shí)長(zhǎng)中統(tǒng)計(jì)到的Psucc/Psent相關(guān)聯(lián),其中該P(yáng)succ/Psent越小,貝U所述動(dòng)態(tài)步長(zhǎng)越大。
5.如權(quán)利要求1所述的裝置,其特征在于,所述業(yè)務(wù)統(tǒng)計(jì)單元進(jìn)一步用于在定時(shí)器超時(shí)的時(shí)候通知復(fù)制執(zhí)行單元暫停發(fā)送復(fù)制命令。
6.一種復(fù)制過(guò)程調(diào)整方法,應(yīng)用于作為復(fù)制源設(shè)備的存儲(chǔ)設(shè)備上,以控制該復(fù)制源設(shè)備向復(fù)制目標(biāo)設(shè)備發(fā)送復(fù)制命令的過(guò)程,其特征在于,該方法包括: 步驟A、復(fù)制源設(shè)備啟動(dòng)一次復(fù)制并轉(zhuǎn)步驟B ; 步驟B、啟動(dòng)具有預(yù)設(shè)定時(shí)時(shí)長(zhǎng)的定時(shí)器,并統(tǒng)計(jì)當(dāng)前定時(shí)時(shí)長(zhǎng)內(nèi)復(fù)制源設(shè)備的數(shù)據(jù)發(fā)送參數(shù)Psent以及復(fù)制容量參數(shù)Psucc ; 步驟C、在所述定時(shí)器啟動(dòng)后使用復(fù)制源設(shè)備內(nèi)部保存的復(fù)制發(fā)送窗口繼續(xù)向復(fù)制目標(biāo)設(shè)備發(fā)送復(fù)制命令; 步驟D、在所述定時(shí)器超時(shí)后判斷Psent/Psucc的比值是否達(dá)到第一預(yù)設(shè)閾值,如果沒(méi)有達(dá)到則增大復(fù)制源設(shè)備內(nèi)部保存的復(fù)制發(fā)送窗口 ;然后轉(zhuǎn)步驟B。
7.如權(quán)利要求6所述的方法,其特征在于,所述步驟D進(jìn)一步包括: 在Psent/Psucc的比值達(dá)到第一預(yù)設(shè)閾值時(shí)進(jìn)一步判斷該比值是否達(dá)到第二預(yù)設(shè)閾值,如果達(dá)到則減小復(fù)制源設(shè)備內(nèi)部保存的復(fù)制發(fā)送窗口。
8.如權(quán)利要求6所述的方法,其特征在于,其中所述增大復(fù)制源設(shè)備內(nèi)部保存的復(fù)制發(fā)送窗口具體為: 按照預(yù)設(shè)的步長(zhǎng)增大所述復(fù)制發(fā)送窗口。
9.如權(quán)利要求7所述的方法,其特征在于,其中所述減小復(fù)制源設(shè)備內(nèi)部保存的復(fù)制發(fā)送窗口具體為: 按照動(dòng)態(tài)步長(zhǎng)減小所述復(fù)制發(fā)送窗口;其中該動(dòng)態(tài)步長(zhǎng)與當(dāng)前定時(shí)時(shí)長(zhǎng)中統(tǒng)計(jì)到的Psucc/Psent相關(guān)聯(lián),其中該P(yáng)succ/Psent越小,則所述動(dòng)態(tài)步長(zhǎng)越大。
10.如權(quán)利要求6所述的方法,其特征在于,所述步驟B進(jìn)一步包括: 在定時(shí)器超時(shí)的時(shí)候通知復(fù)制執(zhí)行單元暫停發(fā)送復(fù)制命令。
【文檔編號(hào)】G06F11/14GK103970622SQ201310040761
【公開(kāi)日】2014年8月6日 申請(qǐng)日期:2013年1月30日 優(yōu)先權(quán)日:2013年1月30日
【發(fā)明者】龔飛, 上官應(yīng)蘭 申請(qǐng)人:杭州宏杉科技有限公司