本申請(qǐng)涉及通信技術(shù),尤其涉及一種集群數(shù)據(jù)復(fù)制方法、優(yōu)先級(jí)確定方法及裝置。
背景技術(shù):
集群大大提高了單機(jī)的存儲(chǔ)極限和處理極限。但隨著互聯(lián)網(wǎng)特別是移動(dòng)互聯(lián)網(wǎng)的持續(xù)發(fā)展,很多公司產(chǎn)生的數(shù)據(jù)已經(jīng)達(dá)到pb甚至eb級(jí)別,并且每天新增加的數(shù)據(jù)數(shù)量也在迅速增長。當(dāng)這些數(shù)據(jù)超過單個(gè)集群的存儲(chǔ)上線,或單個(gè)集群無法滿足數(shù)據(jù)處理的需求時(shí),就需要將這些數(shù)據(jù)按照業(yè)務(wù)單元分拆并存儲(chǔ)在多個(gè)集群中。
業(yè)務(wù)單元之間往往有依賴關(guān)系,業(yè)務(wù)a的數(shù)據(jù)存儲(chǔ)在第一集群中,若同在第一集群中的業(yè)務(wù)b需要訪問業(yè)務(wù)a的數(shù)據(jù),則可以從第一集群內(nèi)直接讀取數(shù)據(jù);若位于第二集群的業(yè)務(wù)c需要訪問業(yè)務(wù)a的數(shù)據(jù),則需要跨集群異地讀取數(shù)據(jù)。若第二集群中存在多個(gè)業(yè)務(wù)需要訪問業(yè)務(wù)a的數(shù)據(jù),那么需要多次跨集群異地讀取同一份數(shù)據(jù),這會(huì)浪費(fèi)集群之間的帶寬資源。特別是隨著業(yè)務(wù)數(shù)量越來越多,跨集群異地讀取同一份數(shù)據(jù)的業(yè)務(wù)數(shù)量也會(huì)越來越多,導(dǎo)致帶寬資源的浪費(fèi)更加嚴(yán)重。
為節(jié)約帶寬資源,業(yè)界普遍采取的方式是將業(yè)務(wù)a的數(shù)據(jù)在其它集群中保留一個(gè)副本,這樣其它集群中的業(yè)務(wù)在需要業(yè)務(wù)a的數(shù)據(jù)時(shí)就可以在集群內(nèi)直接讀取數(shù)據(jù)。這需要將數(shù)據(jù)在各個(gè)集群之間進(jìn)行復(fù)制?,F(xiàn)有技術(shù)一般采用離線復(fù)制方式,即停止各集群的數(shù)據(jù)庫操作,一次性將數(shù)據(jù)全部從一個(gè)集群復(fù)制到另一個(gè)集群,這種方式需要大量帶寬資源。但是,跨域帶寬是有限且很寶貴的,并且隨著業(yè)務(wù)數(shù)量不斷增長,需要復(fù)制的數(shù)據(jù)也會(huì)逐漸增多,所以在跨域帶寬有限的條件下,離線復(fù)制方法顯然已經(jīng)無法滿足需求,因此急需一種新的數(shù)據(jù)復(fù)制方法。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)?zhí)峁┮环N集群數(shù)據(jù)復(fù)制方法及裝置,用以在跨域帶寬有限的條件下,對(duì)待復(fù)制數(shù)據(jù)進(jìn)行合理調(diào)度,實(shí)現(xiàn)數(shù)據(jù)的快速復(fù)制。
為達(dá)到上述目的,本申請(qǐng)的實(shí)施例采用如下技術(shù)方案:
第一方面,提供了一種集群數(shù)據(jù)復(fù)制方法,包括:
確定需要跨集群復(fù)制數(shù)據(jù)的至少一個(gè)復(fù)制任務(wù);
計(jì)算所述至少一個(gè)復(fù)制任務(wù)中各復(fù)制任務(wù)的優(yōu)先級(jí);
根據(jù)所述各復(fù)制任務(wù)的優(yōu)先級(jí),執(zhí)行所述各復(fù)制任務(wù)。
第二方面,提供了一種集群數(shù)據(jù)復(fù)制裝置,包括:
確定模塊,用于確定需要跨集群復(fù)制數(shù)據(jù)的至少一個(gè)復(fù)制任務(wù);
計(jì)算模塊,用于計(jì)算所述至少一個(gè)復(fù)制任務(wù)中各復(fù)制任務(wù)的優(yōu)先級(jí);
執(zhí)行模塊,用于根據(jù)所述各復(fù)制任務(wù)的優(yōu)先級(jí),執(zhí)行所述各復(fù)制任務(wù)。
第三方面,提供一種優(yōu)先級(jí)確定方法,包括:
獲取需要跨集群復(fù)制數(shù)據(jù)的復(fù)制任務(wù)的觸發(fā)方式、所述復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間、以及所述復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度中的至少一個(gè)因素,所述復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)是指產(chǎn)生所述復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的業(yè)務(wù);
根據(jù)所述至少一個(gè)因素,計(jì)算所述復(fù)制任務(wù)的優(yōu)先級(jí)。
第四方面,提供一種優(yōu)先級(jí)確定裝置,包括:
信息獲取模塊,用于獲取需要跨集群復(fù)制數(shù)據(jù)的復(fù)制任務(wù)的觸發(fā)方式、所述復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間、以及所述復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度中的至少一個(gè)因素,所述復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)是指產(chǎn)生所述復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的業(yè)務(wù);
優(yōu)先級(jí)計(jì)算模塊,用于根據(jù)所述至少一個(gè)因素,計(jì)算所述復(fù)制任務(wù)的優(yōu)先級(jí)。
在本申請(qǐng)中,在確定需要跨集群復(fù)制數(shù)據(jù)的復(fù)制任務(wù)之后,計(jì)算各復(fù)制任務(wù)的優(yōu)先級(jí),然后根據(jù)各復(fù)制任務(wù)的優(yōu)先級(jí),執(zhí)行各復(fù)制任務(wù)。 由此可見,本申請(qǐng)?jiān)诳缬驇捰邢薜臈l件下,按照復(fù)制任務(wù)的優(yōu)先級(jí)對(duì)復(fù)制任務(wù)進(jìn)行調(diào)度,優(yōu)先調(diào)度優(yōu)先級(jí)較高的復(fù)制任務(wù),能夠?qū)?fù)制任務(wù)進(jìn)行合理調(diào)度,有利于實(shí)現(xiàn)數(shù)據(jù)的快速復(fù)制。
上述說明僅是本申請(qǐng)技術(shù)方案的概述,為了能夠更清楚了解本申請(qǐng)的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本申請(qǐng)的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本申請(qǐng)的具體實(shí)施方式。
附圖說明
通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本申請(qǐng)的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
圖1為本申請(qǐng)一實(shí)施例提供的集群系統(tǒng)的結(jié)構(gòu)示意圖;
圖2為本申請(qǐng)另一實(shí)施例提供集群數(shù)據(jù)復(fù)制方法的流程示意圖;
圖3為本申請(qǐng)又一實(shí)施例提供的復(fù)制系統(tǒng)的架構(gòu)示意圖;
圖4為本申請(qǐng)又一實(shí)施例提供的對(duì)復(fù)制任務(wù)進(jìn)行打包處理的流程示意圖;
圖5為本申請(qǐng)又一實(shí)施例提供的集群數(shù)據(jù)復(fù)制裝置的結(jié)構(gòu)示意圖;
圖6為本申請(qǐng)又一實(shí)施例提供的優(yōu)先級(jí)確定方法的流程示意圖;
圖7為本申請(qǐng)又一實(shí)施例提供的優(yōu)先級(jí)確定裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
圖1為本申請(qǐng)實(shí)施例一提供的集群系統(tǒng)的結(jié)構(gòu)示意圖。如圖1所示, 該集群系統(tǒng)僅象征性的示意出3個(gè)集群,分別為集群a、集群b和集群c,實(shí)際上集群系統(tǒng)可以包含任意數(shù)量的集群。
結(jié)合圖1所示集群系統(tǒng)說明一下跨集群數(shù)據(jù)復(fù)制的過程。
假設(shè)集群a中存在一業(yè)務(wù)a,集群b中存在一業(yè)務(wù)b,集群c中存在一業(yè)務(wù)c,業(yè)務(wù)a產(chǎn)生數(shù)據(jù),而且業(yè)務(wù)b和業(yè)務(wù)c需要業(yè)務(wù)a產(chǎn)生的數(shù)據(jù),故需要將業(yè)務(wù)a產(chǎn)生的數(shù)據(jù)從集群a復(fù)制到集群b和集群c中。當(dāng)然,若集群a中還包括業(yè)務(wù)d,且業(yè)務(wù)b和業(yè)務(wù)c也需要業(yè)務(wù)d產(chǎn)生的數(shù)據(jù),則也需要將業(yè)務(wù)d產(chǎn)生的數(shù)據(jù)從集群a復(fù)制到集群b和集群c中。當(dāng)然,若業(yè)務(wù)a需要業(yè)務(wù)b和業(yè)務(wù)c產(chǎn)生的數(shù)據(jù),則也需要將業(yè)務(wù)b和c產(chǎn)生的數(shù)據(jù)從集群b和c分別復(fù)制到集群a中。
由于集群之間的帶寬資源有限,而且隨著業(yè)務(wù)數(shù)量不斷增長,需要復(fù)制的數(shù)據(jù)也會(huì)逐漸增多,所以如果采用離線復(fù)制方式,需要一次性將所有數(shù)據(jù)從一個(gè)集群復(fù)制到另一個(gè)集群,這需要大量帶寬資源,在集群之間的帶寬資源有限的情況下,該方法不再適用,需要部分的進(jìn)行數(shù)據(jù)復(fù)制,這就涉及到待復(fù)制數(shù)據(jù)之間的調(diào)度問題,如果能夠合理的調(diào)度待復(fù)制數(shù)據(jù),那么將有利于提高復(fù)制效率。
針對(duì)上述問題,本申請(qǐng)?zhí)峁┮环N解決方案,其主要思想在于,在確定需要跨集群復(fù)制數(shù)據(jù)的復(fù)制任務(wù)之后,計(jì)算復(fù)制任務(wù)的優(yōu)先級(jí),然后根據(jù)復(fù)制任務(wù)的優(yōu)先級(jí),執(zhí)行復(fù)制任務(wù)。本申請(qǐng)?jiān)诳缬驇捰邢薜臈l件下,按照復(fù)制任務(wù)的優(yōu)先級(jí)對(duì)復(fù)制任務(wù)進(jìn)行調(diào)度,優(yōu)先調(diào)度優(yōu)先級(jí)較高的復(fù)制任務(wù),能夠?qū)?fù)制任務(wù)進(jìn)行合理調(diào)度,有利于實(shí)現(xiàn)數(shù)據(jù)的快速復(fù)制。
下面結(jié)合附圖對(duì)本申請(qǐng)技術(shù)方案進(jìn)行詳細(xì)說明。
圖2為本申請(qǐng)另一實(shí)施例提供的集群數(shù)據(jù)復(fù)制方法的流程示意圖。如圖2所示,該方法包括:
201、確定需要跨集群復(fù)制數(shù)據(jù)的至少一個(gè)復(fù)制任務(wù)。
202、計(jì)算至少一個(gè)復(fù)制任務(wù)中各復(fù)制任務(wù)的優(yōu)先級(jí)。
203、根據(jù)各復(fù)制任務(wù)的優(yōu)先級(jí),執(zhí)行各復(fù)制任務(wù)。
本實(shí)施例提供一種集群數(shù)據(jù)復(fù)制方法,可由集群數(shù)據(jù)復(fù)制裝置(后 續(xù)簡(jiǎn)稱為復(fù)制裝置)執(zhí)行,用以合理調(diào)度復(fù)制任務(wù),實(shí)現(xiàn)跨集群復(fù)制數(shù)據(jù),提高數(shù)據(jù)復(fù)制效率。
在具體實(shí)現(xiàn)上,復(fù)制裝置可以部署于集群系統(tǒng)中,例如部署于集群系統(tǒng)中的某個(gè)集群,例如可以是產(chǎn)生數(shù)據(jù)的集群(簡(jiǎn)稱為源集群),或需要復(fù)制數(shù)據(jù)的集群(簡(jiǎn)稱為目的集群)內(nèi),或者也可以是獨(dú)立于集群系統(tǒng)但能夠與集群系統(tǒng)進(jìn)行通信的設(shè)備。
具體的,復(fù)制裝置首先需要確定需要跨集群復(fù)制數(shù)據(jù)的至少一個(gè)復(fù)制任務(wù)。復(fù)制任務(wù)是指需要將數(shù)據(jù)從一個(gè)集群復(fù)制到其它集群的任務(wù)。
其中,復(fù)制裝置可以采用但不限于以下幾種方式確定復(fù)制任務(wù):
第一種方式:定期輪詢數(shù)據(jù)版本管理服務(wù)器,在發(fā)現(xiàn)有數(shù)據(jù)的版本發(fā)生變化時(shí),確定有需要對(duì)所述版本發(fā)生變化的數(shù)據(jù)進(jìn)行跨集群復(fù)制的復(fù)制任務(wù)。第一種方式也可稱為掃描(scan)觸發(fā)方式。
在第一種方式中,需要通過數(shù)據(jù)版本管理服務(wù)器管理整個(gè)集群系統(tǒng)中各數(shù)據(jù)的版本信息。例如,復(fù)制裝置可以啟動(dòng)一線程定期輪詢數(shù)據(jù)版本管理服務(wù)器,當(dāng)發(fā)現(xiàn)有數(shù)據(jù)的版本發(fā)生變化時(shí),確定有需要對(duì)版本發(fā)生變化的數(shù)據(jù)進(jìn)行跨集群復(fù)制的復(fù)制任務(wù)。
第二種方式:獲取控制服務(wù)器根據(jù)收到的復(fù)制任務(wù)通知消息所下發(fā)的復(fù)制任務(wù),該復(fù)制任務(wù)通知消息是第一業(yè)務(wù)在產(chǎn)生新版本數(shù)據(jù)時(shí)主動(dòng)上報(bào)給控制服務(wù)器的。第二種方式也可稱為事件(event)觸發(fā)方式。
在第二種方式中,需要部署控制服務(wù)器。基于此,一種實(shí)施本實(shí)施例方法的系統(tǒng)架構(gòu)如圖3所示,該系統(tǒng)包括控制服務(wù)器31和至少一個(gè)受控服務(wù)器32,復(fù)制裝置位于受控服務(wù)器32中實(shí)現(xiàn),但不限于此。
在部署實(shí)現(xiàn)上,該系統(tǒng)架構(gòu)可以運(yùn)行在集群系統(tǒng)中的某個(gè)集群上,例如可以是源集群或目的集群,或者也可以運(yùn)行于集群系統(tǒng)之外。
具體的,控制服務(wù)器31負(fù)責(zé)集群中復(fù)制任務(wù)的分發(fā)管理,監(jiān)控受控服務(wù)器32以及其上運(yùn)行的復(fù)制裝置的狀態(tài),此外,控制服務(wù)器31還負(fù)責(zé)同外界進(jìn)行通信,例如接收復(fù)制任務(wù)通知消息,查詢系統(tǒng)狀態(tài)等??刂品?wù)器31和受控服務(wù)器32之間依靠心跳消息進(jìn)行通信,受控服務(wù)器32向控制服務(wù)器31匯報(bào)運(yùn)行狀態(tài),包括cpu、內(nèi)存使用量,以及復(fù)制 裝置的運(yùn)行狀態(tài)等??刂品?wù)器31將需要啟動(dòng)或停止的復(fù)制裝置的信息發(fā)給受控服務(wù)器32。例如,運(yùn)維人員通過管控接口,向控制服務(wù)器31發(fā)送啟動(dòng)或停止某復(fù)制裝置的消息。當(dāng)控制服務(wù)器31接到一個(gè)啟動(dòng)或停止某復(fù)制裝置的消息時(shí),隨機(jī)選定某個(gè)受控服務(wù)器32,在該受控服務(wù)器32的心跳消息中加上啟動(dòng)或停止某復(fù)制裝置的消息,受控服務(wù)器32接到心跳消息后,就會(huì)啟動(dòng)或停止相應(yīng)的復(fù)制裝置以執(zhí)行或結(jié)束執(zhí)行復(fù)制任務(wù)。
其中,控制服務(wù)器31可以采用消息訂閱方式,即集群中產(chǎn)生數(shù)據(jù)的業(yè)務(wù)(簡(jiǎn)稱為第一業(yè)務(wù))在產(chǎn)生新版本數(shù)據(jù)時(shí),主動(dòng)向控制服務(wù)器發(fā)送復(fù)制任務(wù)通知消息,以通知控制服務(wù)器31有復(fù)制任務(wù)。一般來說,復(fù)制任務(wù)通知消息攜帶有需要跨集群復(fù)制的數(shù)據(jù)的信息、該數(shù)據(jù)所在的源集群的信息以及需要復(fù)制該數(shù)據(jù)的目的集群的信息等??刂品?wù)器31根據(jù)復(fù)制任務(wù)通知消息向復(fù)制裝置下發(fā)復(fù)制任務(wù)。
第三種方式:接收控制服務(wù)器在接收到復(fù)制任務(wù)通知消息時(shí)下發(fā)的復(fù)制任務(wù),該復(fù)制任務(wù)通知消息是需要數(shù)據(jù)的業(yè)務(wù)(簡(jiǎn)稱為第二業(yè)務(wù))在確定該數(shù)據(jù)在第二業(yè)務(wù)所在集群中的版本與該數(shù)據(jù)所在源集群中的版本不一致時(shí)上報(bào)給控制服務(wù)器的。第三種方式也可稱為需求(on-demand)觸發(fā)方式。
在第三種方式中,需要部署控制服務(wù)器。該方式也可以采用圖3所示的系統(tǒng)架構(gòu)實(shí)現(xiàn)。關(guān)于圖3所示系統(tǒng)的描述參見上述實(shí)施例。
具體的,當(dāng)?shù)诙I(yè)務(wù)的用戶希望在第二業(yè)務(wù)所在集群(例如集群c)提交的作業(yè)需要用到位于其他集群(例如集群a)中的業(yè)務(wù)產(chǎn)生的數(shù)據(jù)時(shí),第二業(yè)務(wù)會(huì)判斷所需數(shù)據(jù)在第二業(yè)務(wù)所在集群(例如集群c)中的版本與該數(shù)據(jù)所在源集群(例如集群a)中的版本是否一致,例如第二業(yè)務(wù)可以到數(shù)據(jù)版本管理服務(wù)器查詢以獲取源集群中的版本,將第二業(yè)務(wù)所在集群中的版本與查詢到的源集群中的版本進(jìn)行比較,如果判斷結(jié)果為不一致,則第二業(yè)務(wù)會(huì)向控制服務(wù)器31發(fā)送一個(gè)復(fù)制任務(wù)通知消息,控制服務(wù)器31根據(jù)復(fù)制任務(wù)通知消息向復(fù)制裝置下發(fā)復(fù)制任務(wù)。
上述三種方式可以單獨(dú)使用,也可以結(jié)合使用。
通過上述任意方式,復(fù)制裝置可以確定需要跨集群復(fù)制數(shù)據(jù)的復(fù)制任務(wù)。由于業(yè)務(wù)數(shù)量不斷增長,所以需要跨集群復(fù)制數(shù)據(jù)的復(fù)制任務(wù)也在逐漸增多,但是集群之間的帶寬有限,這就需要對(duì)復(fù)制任務(wù)進(jìn)行合理調(diào)度,以便更高效、快速的完成各復(fù)制任務(wù)。針對(duì)該問題,復(fù)制裝置計(jì)算各復(fù)制任務(wù)的優(yōu)先級(jí),根據(jù)各復(fù)制任務(wù)的優(yōu)先級(jí),對(duì)各復(fù)制任務(wù)進(jìn)行調(diào)度執(zhí)行。這樣可以保證高優(yōu)先級(jí)的復(fù)制任務(wù)優(yōu)先得到處理,能夠?qū)?fù)制任務(wù)進(jìn)行合理調(diào)度,有利于實(shí)現(xiàn)數(shù)據(jù)的快速復(fù)制。
在一可選實(shí)施方式中,上述步驟202,即計(jì)算各復(fù)制任務(wù)的優(yōu)先級(jí)的一種實(shí)施方式包括:
根據(jù)各復(fù)制任務(wù)的觸發(fā)方式、各復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間、以及各復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度中的至少一個(gè)因素,計(jì)算各復(fù)制任務(wù)的優(yōu)先級(jí)。
上述復(fù)制任務(wù)的觸發(fā)方式主要是指上述確定復(fù)制任務(wù)的三種方式,例如掃描觸發(fā)方式、事件觸發(fā)方式和需求觸發(fā)方式。不同觸發(fā)方式的復(fù)制任務(wù)具有不同的優(yōu)先級(jí)。例如,可以設(shè)置需求觸發(fā)方式觸發(fā)的復(fù)制任務(wù)的優(yōu)先級(jí)最高,事件觸發(fā)方式觸發(fā)的復(fù)制任務(wù)的優(yōu)先級(jí)次之,掃描觸發(fā)方式觸發(fā)的復(fù)制任務(wù)的優(yōu)先級(jí)最低,但不限于此。
上述復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)是指產(chǎn)生復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的業(yè)務(wù)。舉例說明,假設(shè)集群a中的業(yè)務(wù)a產(chǎn)生數(shù)據(jù),需要將該數(shù)據(jù)從集群a復(fù)制到集群b和c中,則復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)即為業(yè)務(wù)a產(chǎn)生的數(shù)據(jù),業(yè)務(wù)a即為復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)。一般來說,不同業(yè)務(wù)的重要度并不相同,重要度越高的業(yè)務(wù)產(chǎn)生的數(shù)據(jù)的重要度相對(duì)也會(huì)較高,所以用于復(fù)制重要度較高的業(yè)務(wù)產(chǎn)生的數(shù)據(jù)的復(fù)制任務(wù)的優(yōu)先級(jí)就越高。
上述復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間主要用于表示復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的新鮮程度,一般來說,數(shù)據(jù)產(chǎn)生時(shí)間越晚,數(shù)據(jù)越新,則用于復(fù)制新鮮程度較高的數(shù)據(jù)的復(fù)制任務(wù)的優(yōu)先級(jí)就越高。
在一具體實(shí)施方式中,可以采用上述三個(gè)因素中的一個(gè)因素,確定各復(fù)制任務(wù)的優(yōu)先級(jí)。例如,僅根據(jù)各復(fù)制任務(wù)的觸發(fā)方式,確定各復(fù)制任務(wù)的優(yōu)先級(jí)。又例如,僅根據(jù)各復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度, 確定各復(fù)制任務(wù)的優(yōu)先級(jí)。又例如,僅根據(jù)各復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間,確定各復(fù)制任務(wù)的優(yōu)先級(jí)。
在另一具體實(shí)施方式中,可以結(jié)合使用上述三個(gè)因素中的任意兩個(gè)因素,確定各復(fù)制任務(wù)的優(yōu)先級(jí)。具體可以根據(jù)每個(gè)因素計(jì)算出一個(gè)優(yōu)先級(jí)取值,然后對(duì)兩個(gè)優(yōu)先級(jí)取值進(jìn)行加權(quán)平均,獲得復(fù)制任務(wù)的最終優(yōu)先級(jí)。其中,可以預(yù)先為不同因素配置不同的權(quán)重。
例如,可以結(jié)合各復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度以及各復(fù)制任務(wù)的觸發(fā)方式,則假設(shè)根據(jù)復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度,確定復(fù)制任務(wù)的優(yōu)先級(jí)取值為p1,根據(jù)復(fù)制任務(wù)的觸發(fā)方式,確定復(fù)制任務(wù)的優(yōu)先級(jí)取值為p2,預(yù)先為源業(yè)務(wù)的重要度和觸發(fā)方式確定的權(quán)重分別為w1和w2,則復(fù)制任務(wù)的最終優(yōu)先級(jí)為:w1*p1+w2*p2。
當(dāng)然,也可以結(jié)合復(fù)制任務(wù)的觸發(fā)方式和復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間,也可以結(jié)合復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度和復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間,具體計(jì)算方式同上,不再贅述。
在又一具體實(shí)施方式中,可以同時(shí)結(jié)合各復(fù)制任務(wù)的觸發(fā)方式、各復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間以及各復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度,計(jì)算各復(fù)制任務(wù)的優(yōu)先級(jí)。
具體的,復(fù)制裝置可以根據(jù)各復(fù)制任務(wù)的觸發(fā)方式,確定各復(fù)制任務(wù)的第一優(yōu)先級(jí)取值;根據(jù)各復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度,確定各復(fù)制任務(wù)的第二優(yōu)先級(jí)取值;根據(jù)各復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間,確定各復(fù)制任務(wù)的第三優(yōu)先級(jí)取值;根據(jù)各復(fù)制任務(wù)的第一優(yōu)先級(jí)取值、第二優(yōu)先級(jí)取值以及第三優(yōu)先級(jí)取值,生成各復(fù)制任務(wù)的優(yōu)先級(jí)。
可選的,復(fù)制裝置可以預(yù)先為復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度、復(fù)制任務(wù)的觸發(fā)方式以及復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間三個(gè)因素配置權(quán)重,例如分別為w1、w2、w3?;诖耍瑥?fù)制裝置可以根據(jù)對(duì)應(yīng)因素的權(quán)重,對(duì)各復(fù)制任務(wù)的第一優(yōu)先級(jí)取值、第二優(yōu)先級(jí)取值以及第三優(yōu)先級(jí)取值進(jìn)行加權(quán)平均,以生成各復(fù)制任務(wù)的優(yōu)先級(jí)。例如,復(fù)制任務(wù)的優(yōu)先級(jí)=w1*第一優(yōu)先級(jí)取值+w2*第二優(yōu)先級(jí)取值+w3*第三優(yōu)先級(jí)取值。
可選的,復(fù)制裝置也可以按照由高位到低位的順序,將各復(fù)制任務(wù)的第一優(yōu)先級(jí)取值、第二優(yōu)先級(jí)取值以及第三優(yōu)先級(jí)取值拼接在一起,以生成各復(fù)制任務(wù)的優(yōu)先級(jí)。
例如,預(yù)先定義觸發(fā)方式對(duì)應(yīng)的優(yōu)先級(jí)取值的范圍為[0,2],其中需求觸發(fā)方式對(duì)應(yīng)的優(yōu)先級(jí)取值為0,事件觸發(fā)方式對(duì)應(yīng)的優(yōu)先級(jí)取值為1,掃描觸發(fā)方式對(duì)應(yīng)的優(yōu)先級(jí)取值為2?;诖耍魪?fù)制任務(wù)的觸發(fā)方式為需求觸發(fā)方式,則可以確定該復(fù)制任務(wù)的第一優(yōu)先級(jí)取值為0,若復(fù)制任務(wù)的觸發(fā)方式為事件觸發(fā)方式,則可以確定該復(fù)制任務(wù)的第一優(yōu)先級(jí)取值為1,若復(fù)制任務(wù)的觸發(fā)方式為掃描觸發(fā)方式,則可以確定該復(fù)制任務(wù)的第一優(yōu)先級(jí)取值為2。為便于后續(xù)描述,將第一優(yōu)先級(jí)取值記為pt。
例如,預(yù)先定義源業(yè)務(wù)的重要度對(duì)應(yīng)的優(yōu)先級(jí)取值的范圍為[0,9],具體可以根據(jù)源業(yè)務(wù)的重要度進(jìn)行設(shè)定,一般來說,源業(yè)務(wù)的重要度越高,對(duì)應(yīng)的優(yōu)先級(jí)取值越低。其中,復(fù)制任務(wù)的第二優(yōu)先級(jí)取值為0-9中任一數(shù)值。為便于后續(xù)描述,將第一優(yōu)先級(jí)取值記為pp。
又例如,預(yù)先定義需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間對(duì)應(yīng)的優(yōu)先級(jí)取值的范圍為[0,9]??蛇x的,復(fù)制裝置可以根據(jù)公式(1),確定各復(fù)制任務(wù)的第三優(yōu)先級(jí)取值。
pd=9*t/t(1)
在上述公式(1)中,t表示各復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間;t表示各復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的生命周期,且0<t<t;pd表示各復(fù)制任務(wù)的第三優(yōu)先級(jí)取值。值得說明的是,不同復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的生命周期可能相同,也可能不同。生命周期的長短,一般可由業(yè)務(wù)需求、重要程度等因素決定。
基于上述,復(fù)制裝置可以將上述優(yōu)先級(jí)取值組成三位數(shù)字,其中,百位,十位,個(gè)位依次為pt,pp,pd,該三位數(shù)字即為復(fù)制任務(wù)的優(yōu)先級(jí),其取值范圍為[000,299],該三位數(shù)字越小,表示對(duì)應(yīng)復(fù)制任務(wù)的優(yōu)先級(jí)越高。
在計(jì)算出各復(fù)制任務(wù)的優(yōu)先級(jí)之后,復(fù)制任務(wù)之間就具有了可比性,因此復(fù)制裝置可以根據(jù)各復(fù)制任務(wù)的優(yōu)先級(jí),為各復(fù)制任務(wù)申請(qǐng)帶寬資 源,然后基于所申請(qǐng)到的帶寬資源,執(zhí)行各復(fù)制任務(wù)。其中,高優(yōu)先級(jí)的復(fù)制任務(wù),會(huì)優(yōu)先申請(qǐng)到帶寬資源,所以會(huì)優(yōu)先被執(zhí)行,有利于提高跨域數(shù)據(jù)的復(fù)制效率。
具體的,復(fù)制裝置可以維護(hù)一個(gè)多優(yōu)先級(jí)隊(duì)列,例如300個(gè)隊(duì)列,然后按照復(fù)制任務(wù)的優(yōu)先級(jí),將復(fù)制任務(wù)加入相應(yīng)優(yōu)先級(jí)隊(duì)列中。復(fù)制裝置按照優(yōu)先級(jí)由高到低的順序依次輪詢各優(yōu)先級(jí)隊(duì)列,并為輪詢到的復(fù)制任務(wù)申請(qǐng)帶寬資源。結(jié)合圖3所示系統(tǒng)架構(gòu),控制服務(wù)器31還負(fù)責(zé)整個(gè)復(fù)制系統(tǒng)帶寬的分配。復(fù)制裝置可以向控制服務(wù)器發(fā)送帶寬申請(qǐng)請(qǐng)求,控制服務(wù)器31通過心跳消息攜帶分配給復(fù)制任務(wù)的帶寬數(shù)以及申請(qǐng)帶寬資源的復(fù)制任務(wù)的優(yōu)先級(jí)下發(fā)給復(fù)制裝置。復(fù)制裝置接收控制服務(wù)器31下發(fā)的心跳消息,從中獲取申請(qǐng)到的帶寬數(shù)。
值得的說明的是,當(dāng)有多個(gè)復(fù)制任務(wù)同時(shí)申請(qǐng)帶寬資源時(shí),控制服務(wù)器31會(huì)根據(jù)優(yōu)先級(jí)的高低進(jìn)行分配。對(duì)于高優(yōu)先級(jí)的復(fù)制任務(wù),不僅可以獲得額定帶寬內(nèi)的配額,當(dāng)帶寬資源分配完時(shí),控制服務(wù)器31還對(duì)高優(yōu)先級(jí)的復(fù)制任務(wù)的申請(qǐng)通過超賣進(jìn)行滿足。
進(jìn)一步,復(fù)制裝置可以不斷輪詢優(yōu)先級(jí)隊(duì)列,將若干復(fù)制任務(wù)打包成一個(gè)復(fù)制作業(yè),并以復(fù)制作業(yè)為單位,向控制服務(wù)器31申請(qǐng)帶寬資源,并。其中,一個(gè)復(fù)制作業(yè)中執(zhí)行多個(gè)復(fù)制任務(wù)可以有效地提高效率;但一個(gè)復(fù)制作業(yè)中包含的復(fù)制任務(wù)太多,則會(huì)導(dǎo)致復(fù)制作業(yè)執(zhí)行時(shí)間過長,無法滿足實(shí)時(shí)性要求較高的復(fù)制任務(wù)的需求?;诖?,需要對(duì)每個(gè)復(fù)制作業(yè)的大小進(jìn)行限制。例如,可以限制復(fù)制作業(yè)包含的文件總數(shù),或文件總大小,或者也可以同時(shí)限制復(fù)制作業(yè)包含的文件總數(shù)和文件總大小。為便于描述,將用于限制復(fù)制作業(yè)的大小的條件稱為作業(yè)提交限制。作業(yè)提交限制可以包括以下至少一個(gè):文件總個(gè)數(shù)上限值,文件總大小上限值。文件總個(gè)數(shù)上限值和文件總大小上限值的取值可以根據(jù)應(yīng)用需求適應(yīng)性設(shè)置,本實(shí)施例不限定其具體取值。
基于上述作業(yè)提交限制,復(fù)制裝置打包申請(qǐng)帶寬資源的過程包括:根據(jù)各復(fù)制任務(wù)的優(yōu)先級(jí)以及預(yù)設(shè)的作業(yè)提交限制,對(duì)各復(fù)制任務(wù)進(jìn)行打包處理,以形成至少一個(gè)復(fù)制作業(yè);然后,根據(jù)各復(fù)制作業(yè)所包含的 復(fù)制任務(wù)的優(yōu)先級(jí),確定各復(fù)制作業(yè)的優(yōu)先級(jí);根據(jù)各復(fù)制作業(yè)的優(yōu)先級(jí),為各復(fù)制作業(yè)所包含的復(fù)制任務(wù)申請(qǐng)帶寬資源。
進(jìn)一步,復(fù)制裝置可以采用以下方式對(duì)復(fù)制任務(wù)進(jìn)行打包處理:
復(fù)制裝置按照優(yōu)先級(jí)由高到低的順序,依次獲取復(fù)制任務(wù)作為當(dāng)前復(fù)制任務(wù);判斷當(dāng)前復(fù)制任務(wù)是否達(dá)到作業(yè)提交限制,例如判斷當(dāng)前復(fù)制任務(wù)包含的文件總個(gè)數(shù)是否達(dá)到文件總個(gè)數(shù)上限值,并判斷當(dāng)前復(fù)制任務(wù)包含的文件的總大小是否達(dá)到文件總大小上限值,若判斷結(jié)果中存在一個(gè)為是的情況,則確定當(dāng)前復(fù)制任務(wù)達(dá)到作業(yè)提交限制,這說明當(dāng)前復(fù)制任務(wù)太大或文件數(shù)太多,不需要與其他復(fù)制任務(wù)打包,可以直接將當(dāng)前復(fù)制任務(wù)作為一個(gè)復(fù)制作業(yè);若判斷結(jié)果均為否,這說明當(dāng)前復(fù)制任務(wù)符合打包要求,則繼續(xù)獲取其他未達(dá)到作業(yè)提交限制的復(fù)制任務(wù),直到未達(dá)到作業(yè)提交限制的多個(gè)復(fù)制任務(wù)的總和達(dá)到作業(yè)提交限制為止,將未達(dá)到作業(yè)提交限制的多個(gè)復(fù)制任務(wù)打包,以生成一個(gè)復(fù)制作業(yè)。
結(jié)合多優(yōu)先級(jí)隊(duì)列,復(fù)制裝置對(duì)復(fù)制任務(wù)進(jìn)行打包處理的過程如圖4所示,包括以下步驟:
401、判斷是否當(dāng)前優(yōu)先級(jí)隊(duì)列中讀取復(fù)制任務(wù),若是,即讀取到復(fù)制任務(wù),則執(zhí)行步驟402;若否,即未讀取到復(fù)制任務(wù),則執(zhí)行步驟408;
402、判斷讀取到的復(fù)制任務(wù)是否達(dá)到作業(yè)提交限制,若判斷結(jié)果為是,則執(zhí)行步驟403;若判斷結(jié)果為否,則執(zhí)行步驟404;
可以執(zhí)行以下至少一種判斷操作:
判斷讀取到的復(fù)制任務(wù)包含的文件總個(gè)數(shù)是否達(dá)到文件總個(gè)數(shù)上限值;
判斷讀取到的復(fù)制任務(wù)包含的文件總大小是否達(dá)到文件總大小上限值;
若至少一個(gè)判斷操作的判斷結(jié)果均為否,確定讀取到的復(fù)制任務(wù)未達(dá)到作業(yè)提交限制;若至少一個(gè)判斷操作的判斷結(jié)果均為是,則確定讀取到的復(fù)制任務(wù)達(dá)到作業(yè)提交限制;
403、將讀取到的復(fù)制任務(wù)放入當(dāng)前優(yōu)先級(jí)隊(duì)列中,并將讀取指針加1,返回執(zhí)行步驟401;
404、將讀取到的復(fù)制任務(wù)加入當(dāng)前作業(yè)隊(duì)列中,并執(zhí)行步驟405;
405、判斷當(dāng)前作業(yè)隊(duì)列中復(fù)制任務(wù)的總和是否達(dá)到作業(yè)提交限制,若判斷結(jié)果為是,執(zhí)行步驟406;若判斷結(jié)果為否,執(zhí)行步驟407;
具體執(zhí)行以下至少一個(gè)判斷操作:
可以執(zhí)行以下至少一種判斷操作:
判斷當(dāng)前作業(yè)隊(duì)列中所有復(fù)制任務(wù)包含的文件總個(gè)數(shù)是否達(dá)到文件總個(gè)數(shù)上限值;
判斷當(dāng)前作業(yè)隊(duì)列中所有復(fù)制任務(wù)包含文件總大小是否達(dá)到文件總大小上限值;
若至少一個(gè)判斷操作的判斷結(jié)果均為否,確定當(dāng)前作業(yè)隊(duì)列中復(fù)制任務(wù)的總和未達(dá)到作業(yè)提交限制;若至少一個(gè)判斷操作的判斷結(jié)果均為是,則確定當(dāng)前作業(yè)隊(duì)列中復(fù)制任務(wù)的總和達(dá)到作業(yè)提交限制;
406、將當(dāng)前作業(yè)隊(duì)列中的復(fù)制任務(wù)打包為復(fù)制任務(wù),并確定該復(fù)制作業(yè)的優(yōu)先級(jí),為該復(fù)制作業(yè)申請(qǐng)帶寬資源,并提交該復(fù)制作業(yè)以啟動(dòng)復(fù)制,并執(zhí)行步驟411。
407、將讀取指針加1,返回執(zhí)行步驟401;
408、判斷當(dāng)前作業(yè)隊(duì)列是否為空,若判斷結(jié)果為否,則執(zhí)行步驟409;若判斷結(jié)果為是,則執(zhí)行步驟411。
409、判斷等待次數(shù)是否超過預(yù)設(shè)次數(shù)上限值,若判斷結(jié)果為否,則執(zhí)行步驟410;若判斷結(jié)果為是,則執(zhí)行步驟411;
410、將等待次數(shù)+1,并在等待300ms,返回執(zhí)行步驟407。
411、結(jié)束此次操作。
由上述可見,本實(shí)施例通過將若干個(gè)復(fù)制任務(wù)打包成一個(gè)復(fù)制作業(yè)提交執(zhí)行,既有利于提高執(zhí)行效率,又可以滿足復(fù)制任務(wù)的及時(shí)性要求。
圖5為本申請(qǐng)又一實(shí)施例提供的集群數(shù)據(jù)復(fù)制裝置的結(jié)構(gòu)示意圖。如圖5所示,該裝置包括:確定模塊51、計(jì)算模塊52和執(zhí)行模塊53。
確定模塊51,用于確定需要跨集群復(fù)制數(shù)據(jù)的至少一個(gè)復(fù)制任務(wù)。
計(jì)算模塊52,用于計(jì)算至少一個(gè)復(fù)制任務(wù)中各復(fù)制任務(wù)的優(yōu)先級(jí)。
執(zhí)行模塊53,用于根據(jù)各復(fù)制任務(wù)的優(yōu)先級(jí),執(zhí)行各復(fù)制任務(wù)。
在一可選實(shí)施方式中,確定模塊51具體用于執(zhí)行以下至少一種操作:
定期輪詢數(shù)據(jù)版本管理服務(wù)器,在發(fā)現(xiàn)有數(shù)據(jù)的版本發(fā)生變化時(shí),確定有需要對(duì)版本發(fā)生變化的數(shù)據(jù)進(jìn)行跨集群復(fù)制的復(fù)制任務(wù);
接收控制服務(wù)器在接收到復(fù)制任務(wù)通知消息時(shí)下發(fā)的復(fù)制任務(wù);
其中,復(fù)制任務(wù)通知消息是第一業(yè)務(wù)在產(chǎn)生新版本數(shù)據(jù)時(shí)上報(bào)給控制服務(wù)器的,或者是需要數(shù)據(jù)的第二業(yè)務(wù)在確定數(shù)據(jù)在第二業(yè)務(wù)所在集群中的版本與數(shù)據(jù)所在源集群中的版本不一致時(shí)上報(bào)給控制服務(wù)器的。
在一可選實(shí)施方式中,計(jì)算模塊52具體用于:
根據(jù)各復(fù)制任務(wù)的觸發(fā)方式、各復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間、以及各復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度中的至少一個(gè)因素,計(jì)算各復(fù)制任務(wù)的優(yōu)先級(jí);
其中,復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)是指產(chǎn)生復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的業(yè)務(wù)。
可選的,計(jì)算模塊52進(jìn)一步具體用于:
根據(jù)各復(fù)制任務(wù)的觸發(fā)方式,確定各復(fù)制任務(wù)的第一優(yōu)先級(jí)取值;
根據(jù)各復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度,確定各復(fù)制任務(wù)的第二優(yōu)先級(jí)取值;
根據(jù)各復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間,確定各復(fù)制任務(wù)的第三優(yōu)先級(jí)取值;
根據(jù)各復(fù)制任務(wù)的第一優(yōu)先級(jí)取值、第二優(yōu)先級(jí)取值以及第三優(yōu)先級(jí)取值,生成各復(fù)制任務(wù)的優(yōu)先級(jí)。
更進(jìn)一步,計(jì)算模塊52在根據(jù)各復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間,確定各復(fù)制任務(wù)的第三優(yōu)先級(jí)取值時(shí),具體用于:根據(jù)公式(1),確定各復(fù)制任務(wù)的第三優(yōu)先級(jí)取值。關(guān)于公式(1)的描述具體參見前述實(shí)施例,在此不再贅述。
更進(jìn)一步,計(jì)算模塊52在根據(jù)各復(fù)制任務(wù)的第一優(yōu)先級(jí)取值、第二優(yōu)先級(jí)取值以及第三優(yōu)先級(jí)取值,生成各復(fù)制任務(wù)的優(yōu)先級(jí)時(shí),具體用 于:
按照由高位到低位的順序,將各復(fù)制任務(wù)的第一優(yōu)先級(jí)取值、第二優(yōu)先級(jí)取值以及第三優(yōu)先級(jí)取值拼接在一起,以生成各復(fù)制任務(wù)的優(yōu)先級(jí)。
在一可選實(shí)施方式中,執(zhí)行模塊53具體用于:
根據(jù)各復(fù)制任務(wù)的優(yōu)先級(jí),為各復(fù)制任務(wù)申請(qǐng)帶寬資源;
基于所申請(qǐng)到的帶寬資源,執(zhí)行各復(fù)制任務(wù)。
進(jìn)一步,執(zhí)行模塊53在根據(jù)各復(fù)制任務(wù)的優(yōu)先級(jí),為各復(fù)制任務(wù)申請(qǐng)帶寬資源時(shí),具體用于:
根據(jù)各復(fù)制任務(wù)的優(yōu)先級(jí)以及預(yù)先設(shè)置的作業(yè)提交限制,對(duì)各復(fù)制任務(wù)進(jìn)行打包處理,以形成至少一個(gè)復(fù)制作業(yè);
根據(jù)至少一個(gè)復(fù)制作業(yè)中各復(fù)制作業(yè)所包含的復(fù)制任務(wù)的優(yōu)先級(jí),確定各復(fù)制作業(yè)的優(yōu)先級(jí);
根據(jù)各復(fù)制作業(yè)的優(yōu)先級(jí),為各復(fù)制作業(yè)所包含的復(fù)制任務(wù)申請(qǐng)帶寬資源。
更進(jìn)一步,執(zhí)行模塊53在根據(jù)各復(fù)制任務(wù)的優(yōu)先級(jí)以及預(yù)先設(shè)置的作業(yè)提交限制,對(duì)各復(fù)制任務(wù)進(jìn)行打包處理,以形成至少一個(gè)復(fù)制作業(yè)時(shí),具體用于:
按照優(yōu)先級(jí)由高到低的順序,依次獲取復(fù)制任務(wù)作為當(dāng)前復(fù)制任務(wù);
若當(dāng)前復(fù)制任務(wù)未達(dá)到作業(yè)提交限制,則繼續(xù)獲取其它未達(dá)到作業(yè)提交限制的復(fù)制任務(wù),直到未達(dá)到作業(yè)提交限制的多個(gè)復(fù)制任務(wù)的總和達(dá)到作業(yè)提交限制為止,將未達(dá)到作業(yè)提交限制的多個(gè)復(fù)制任務(wù)打包,以生成一個(gè)復(fù)制作業(yè);
若當(dāng)前復(fù)制任務(wù)達(dá)到作業(yè)提交限制,則直接將當(dāng)前復(fù)制任務(wù)作為一個(gè)復(fù)制作業(yè)。
可選的,上述作業(yè)提交限制包括以下至少一個(gè):
文件總個(gè)數(shù)上限值;
文件總大小上限值。
本實(shí)施例提供的集群數(shù)據(jù)復(fù)制裝置,在確定需要跨集群復(fù)制數(shù)據(jù)的 復(fù)制任務(wù)之后,計(jì)算各復(fù)制任務(wù)的優(yōu)先級(jí),然后根據(jù)各復(fù)制任務(wù)的優(yōu)先級(jí),執(zhí)行各復(fù)制任務(wù)。由此可見,本申請(qǐng)?jiān)诳缬驇捰邢薜臈l件下,按照復(fù)制任務(wù)的優(yōu)先級(jí)對(duì)復(fù)制任務(wù)進(jìn)行調(diào)度,優(yōu)先調(diào)度優(yōu)先級(jí)較高的復(fù)制任務(wù),能夠?qū)?fù)制任務(wù)進(jìn)行合理調(diào)度,有利于實(shí)現(xiàn)數(shù)據(jù)的快速復(fù)制。
除上述技術(shù)方案之外,本申請(qǐng)還針對(duì)跨集群復(fù)制任務(wù)提供了一種優(yōu)先級(jí)確定方法,用以確定跨集群復(fù)制任務(wù)的優(yōu)先級(jí)。其中,優(yōu)先級(jí)確定方法的流程如圖6所示,包括:
601、獲取需要跨集群復(fù)制數(shù)據(jù)的復(fù)制任務(wù)的觸發(fā)方式、復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間、以及復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度中的至少一個(gè)因素,復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)是指產(chǎn)生該復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的業(yè)務(wù)。
602、根據(jù)上述至少一個(gè)因素,計(jì)算復(fù)制任務(wù)的優(yōu)先級(jí)。
上述復(fù)制任務(wù)的觸發(fā)方式主要是指上述確定復(fù)制任務(wù)的三種方式,例如掃描觸發(fā)方式、事件觸發(fā)方式和需求觸發(fā)方式。不同觸發(fā)方式的復(fù)制任務(wù)具有不同的優(yōu)先級(jí)。例如,可以設(shè)置需求觸發(fā)方式觸發(fā)的復(fù)制任務(wù)的優(yōu)先級(jí)最高,事件觸發(fā)方式觸發(fā)的復(fù)制任務(wù)的優(yōu)先級(jí)次之,掃描觸發(fā)方式觸發(fā)的復(fù)制任務(wù)的優(yōu)先級(jí)最低,但不限于此。
上述復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)是指產(chǎn)生復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的業(yè)務(wù)。舉例說明,假設(shè)集群a中的業(yè)務(wù)a產(chǎn)生數(shù)據(jù),需要將該數(shù)據(jù)從集群a復(fù)制到集群b和c中,則復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)即為業(yè)務(wù)a產(chǎn)生的數(shù)據(jù),業(yè)務(wù)a即為復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)。一般來說,不同業(yè)務(wù)的重要度并不相同,重要度越高的業(yè)務(wù)產(chǎn)生的數(shù)據(jù)的重要度相對(duì)也會(huì)較高,所以用于復(fù)制重要度較高的業(yè)務(wù)產(chǎn)生的數(shù)據(jù)的復(fù)制任務(wù)的優(yōu)先級(jí)就越高。
上述復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間主要用于表示復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的新鮮程度,一般來說,數(shù)據(jù)產(chǎn)生時(shí)間越晚,數(shù)據(jù)越新,則用于復(fù)制新鮮程度較高的數(shù)據(jù)的復(fù)制任務(wù)的優(yōu)先級(jí)就越高。
在一具體實(shí)施方式中,可以采用上述三個(gè)因素中的一個(gè)因素,確定各復(fù)制任務(wù)的優(yōu)先級(jí)。例如,僅根據(jù)各復(fù)制任務(wù)的觸發(fā)方式,確定各復(fù) 制任務(wù)的優(yōu)先級(jí)。又例如,僅根據(jù)各復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度,確定各復(fù)制任務(wù)的優(yōu)先級(jí)。又例如,僅根據(jù)各復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間,確定各復(fù)制任務(wù)的優(yōu)先級(jí)。
在另一具體實(shí)施方式中,可以結(jié)合使用上述三個(gè)因素中的任意兩個(gè)因素,確定各復(fù)制任務(wù)的優(yōu)先級(jí)。具體可以根據(jù)每個(gè)因素計(jì)算出一個(gè)優(yōu)先級(jí)取值,然后對(duì)兩個(gè)優(yōu)先級(jí)取值進(jìn)行加權(quán)平均,獲得復(fù)制任務(wù)的最終優(yōu)先級(jí)。其中,可以預(yù)先為不同因素配置不同的權(quán)重。
例如,可以結(jié)合各復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度以及各復(fù)制任務(wù)的觸發(fā)方式,則假設(shè)根據(jù)復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度,確定復(fù)制任務(wù)的優(yōu)先級(jí)取值為p1,根據(jù)復(fù)制任務(wù)的觸發(fā)方式,確定復(fù)制任務(wù)的優(yōu)先級(jí)取值為p2,預(yù)先為源業(yè)務(wù)的重要度和觸發(fā)方式確定的權(quán)重分別為w1和w2,則復(fù)制任務(wù)的最終優(yōu)先級(jí)為:w1*p1+w2*p2。
當(dāng)然,也可以結(jié)合復(fù)制任務(wù)的觸發(fā)方式和復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間,也可以結(jié)合復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度和復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間,具體計(jì)算方式同上,不再贅述。
在又一具體實(shí)施方式中,可以同時(shí)結(jié)合各復(fù)制任務(wù)的觸發(fā)方式、各復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間以及各復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度,計(jì)算復(fù)制任務(wù)的優(yōu)先級(jí)。
具體的,復(fù)制裝置可以根據(jù)各復(fù)制任務(wù)的觸發(fā)方式,確定各復(fù)制任務(wù)的第一優(yōu)先級(jí)取值;根據(jù)復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度,確定復(fù)制任務(wù)的第二優(yōu)先級(jí)取值;根據(jù)復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間,確定復(fù)制任務(wù)的第三優(yōu)先級(jí)取值;根據(jù)復(fù)制任務(wù)的第一優(yōu)先級(jí)取值、第二優(yōu)先級(jí)取值以及第三優(yōu)先級(jí)取值,生成復(fù)制任務(wù)的優(yōu)先級(jí)。
可選的,復(fù)制裝置可以預(yù)先為復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度、復(fù)制任務(wù)的觸發(fā)方式以及復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間三個(gè)因素配置權(quán)重,例如分別為w1、w2、w3?;诖耍瑥?fù)制裝置可以根據(jù)對(duì)應(yīng)因素的權(quán)重,對(duì)復(fù)制任務(wù)的第一優(yōu)先級(jí)取值、第二優(yōu)先級(jí)取值以及第三優(yōu)先級(jí)取值進(jìn)行加權(quán)平均,以生成復(fù)制任務(wù)的優(yōu)先級(jí)。例如,復(fù)制任務(wù)的優(yōu)先級(jí)=w1*第一優(yōu)先級(jí)取值+w2*第二優(yōu)先級(jí)取值+w3*第三優(yōu)先級(jí)取 值。
可選的,復(fù)制裝置也可以按照由高位到低位的順序,將各復(fù)制任務(wù)的第一優(yōu)先級(jí)取值、第二優(yōu)先級(jí)取值以及第三優(yōu)先級(jí)取值拼接在一起,以生成復(fù)制任務(wù)的優(yōu)先級(jí)。
例如,預(yù)先定義觸發(fā)方式對(duì)應(yīng)的優(yōu)先級(jí)取值的范圍為[0,2],其中需求觸發(fā)方式對(duì)應(yīng)的優(yōu)先級(jí)取值為0,事件觸發(fā)方式對(duì)應(yīng)的優(yōu)先級(jí)取值為1,掃描觸發(fā)方式對(duì)應(yīng)的優(yōu)先級(jí)取值為2。基于此,若復(fù)制任務(wù)的觸發(fā)方式為需求觸發(fā)方式,則可以確定該復(fù)制任務(wù)的第一優(yōu)先級(jí)取值為0,若復(fù)制任務(wù)的觸發(fā)方式為事件觸發(fā)方式,則可以確定該復(fù)制任務(wù)的第一優(yōu)先級(jí)取值為1,若復(fù)制任務(wù)的觸發(fā)方式為掃描觸發(fā)方式,則可以確定該復(fù)制任務(wù)的第一優(yōu)先級(jí)取值為2。為便于后續(xù)描述,將第一優(yōu)先級(jí)取值記為pt。
例如,預(yù)先定義源業(yè)務(wù)的重要度對(duì)應(yīng)的優(yōu)先級(jí)取值的范圍為[0,9],具體可以根據(jù)源業(yè)務(wù)的重要度進(jìn)行設(shè)定,一般來說,源業(yè)務(wù)的重要度越高,對(duì)應(yīng)的優(yōu)先級(jí)取值越低。其中,復(fù)制任務(wù)的第二優(yōu)先級(jí)取值為0-9中任一數(shù)值。為便于后續(xù)描述,將第一優(yōu)先級(jí)取值記為pp。
又例如,預(yù)先定義需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間對(duì)應(yīng)的優(yōu)先級(jí)取值的范圍為[0,9]??蛇x的,復(fù)制裝置可以根據(jù)公式(1),確定各復(fù)制任務(wù)的第三優(yōu)先級(jí)取值。關(guān)于公式(1)可參見前面描述,在此不再贅述。
基于上述,復(fù)制裝置可以將上述優(yōu)先級(jí)取值組成三位數(shù)字,其中,百位,十位,個(gè)位依次為pt,pp,pd,該三位數(shù)字即為復(fù)制任務(wù)的優(yōu)先級(jí),其取值范圍為[000,299],該三位數(shù)字越小,表示對(duì)應(yīng)復(fù)制任務(wù)的優(yōu)先級(jí)越高。
本實(shí)施例可以計(jì)算出跨集群的復(fù)制任務(wù)的優(yōu)先級(jí),為后續(xù)基于復(fù)制任務(wù)的優(yōu)先級(jí)的復(fù)制任務(wù)處理過程(例如復(fù)制任務(wù)調(diào)度過程)提供條件。
圖7為本申請(qǐng)又一實(shí)施例提供的優(yōu)先級(jí)確定裝置的結(jié)構(gòu)示意圖。如圖7所示,該裝置包括:信息獲取模塊71和優(yōu)先級(jí)計(jì)算模塊72。
信息獲取模塊71,用于獲取需要跨集群復(fù)制數(shù)據(jù)的復(fù)制任務(wù)的觸發(fā)方式、復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間、以及復(fù)制任務(wù)對(duì)應(yīng)的源業(yè) 務(wù)的重要度中的至少一個(gè)因素,復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)是指產(chǎn)生該復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的業(yè)務(wù)。
優(yōu)先級(jí)計(jì)算模塊72,用于根據(jù)信息獲取模塊71獲取的至少一個(gè)因素,計(jì)算復(fù)制任務(wù)的優(yōu)先級(jí)。
上述復(fù)制任務(wù)的觸發(fā)方式主要是指上述確定復(fù)制任務(wù)的三種方式,例如掃描觸發(fā)方式、事件觸發(fā)方式和需求觸發(fā)方式。不同觸發(fā)方式的復(fù)制任務(wù)具有不同的優(yōu)先級(jí)。例如,可以設(shè)置需求觸發(fā)方式觸發(fā)的復(fù)制任務(wù)的優(yōu)先級(jí)最高,事件觸發(fā)方式觸發(fā)的復(fù)制任務(wù)的優(yōu)先級(jí)次之,掃描觸發(fā)方式觸發(fā)的復(fù)制任務(wù)的優(yōu)先級(jí)最低,但不限于此。
上述復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)是指產(chǎn)生復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的業(yè)務(wù)。舉例說明,假設(shè)集群a中的業(yè)務(wù)a產(chǎn)生數(shù)據(jù),需要將該數(shù)據(jù)從集群a復(fù)制到集群b和c中,則復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)即為業(yè)務(wù)a產(chǎn)生的數(shù)據(jù),業(yè)務(wù)a即為復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)。一般來說,不同業(yè)務(wù)的重要度并不相同,重要度越高的業(yè)務(wù)產(chǎn)生的數(shù)據(jù)的重要度相對(duì)也會(huì)較高,所以用于復(fù)制重要度較高的業(yè)務(wù)產(chǎn)生的數(shù)據(jù)的復(fù)制任務(wù)的優(yōu)先級(jí)就越高。
上述復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間主要用于表示復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的新鮮程度,一般來說,數(shù)據(jù)產(chǎn)生時(shí)間越晚,數(shù)據(jù)越新,則用于復(fù)制新鮮程度較高的數(shù)據(jù)的復(fù)制任務(wù)的優(yōu)先級(jí)就越高。
在一具體實(shí)施方式中,信息獲取模塊71可以獲取上述三個(gè)因素中的一個(gè)因素,優(yōu)先級(jí)計(jì)算模塊72具體根據(jù)信息獲取模塊71獲取的因素確定復(fù)制任務(wù)的優(yōu)先級(jí)。例如,優(yōu)先級(jí)計(jì)算模塊72僅根據(jù)復(fù)制任務(wù)的觸發(fā)方式,確定復(fù)制任務(wù)的優(yōu)先級(jí)。又例如,優(yōu)先級(jí)計(jì)算模塊72僅根據(jù)復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度,確定復(fù)制任務(wù)的優(yōu)先級(jí)。又例如,優(yōu)先級(jí)計(jì)算模塊72僅根據(jù)復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間,確定復(fù)制任務(wù)的優(yōu)先級(jí)。
在另一具體實(shí)施方式中,信息獲取模塊71可以獲取上述三個(gè)因素中的任意兩個(gè)因素,優(yōu)先級(jí)計(jì)算模塊72具體根據(jù)信息獲取模塊71獲取的兩個(gè)因素確定各復(fù)制任務(wù)的優(yōu)先級(jí)。優(yōu)先級(jí)計(jì)算模塊72具體可以根據(jù)每個(gè)因素計(jì)算出一個(gè)優(yōu)先級(jí)取值,然后對(duì)兩個(gè)優(yōu)先級(jí)取值進(jìn)行加權(quán)平均, 獲得復(fù)制任務(wù)的最終優(yōu)先級(jí)。其中,可以預(yù)先為不同因素配置不同的權(quán)重。
例如,優(yōu)先級(jí)計(jì)算模塊72可以結(jié)合復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度以及復(fù)制任務(wù)的觸發(fā)方式,則假設(shè)根據(jù)復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度,確定復(fù)制任務(wù)的優(yōu)先級(jí)取值為p1,根據(jù)復(fù)制任務(wù)的觸發(fā)方式,確定復(fù)制任務(wù)的優(yōu)先級(jí)取值為p2,預(yù)先為源業(yè)務(wù)的重要度和觸發(fā)方式確定的權(quán)重分別為w1和w2,則復(fù)制任務(wù)的最終優(yōu)先級(jí)為:w1*p1+w2*p2。
當(dāng)然,也可以結(jié)合復(fù)制任務(wù)的觸發(fā)方式和復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間,也可以結(jié)合復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度和復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間,具體計(jì)算方式同上,不再贅述。
在又一具體實(shí)施方式中,信息獲取模塊71可以獲取上述三個(gè)因素,優(yōu)先級(jí)計(jì)算模塊72可以同時(shí)結(jié)合復(fù)制任務(wù)的觸發(fā)方式、復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間以及復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度,計(jì)算復(fù)制任務(wù)的優(yōu)先級(jí)。
具體的,優(yōu)先級(jí)計(jì)算模塊72可以根據(jù)復(fù)制任務(wù)的觸發(fā)方式,確定復(fù)制任務(wù)的第一優(yōu)先級(jí)取值;根據(jù)復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度,確定復(fù)制任務(wù)的第二優(yōu)先級(jí)取值;根據(jù)復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間,確定復(fù)制任務(wù)的第三優(yōu)先級(jí)取值;根據(jù)復(fù)制任務(wù)的第一優(yōu)先級(jí)取值、第二優(yōu)先級(jí)取值以及第三優(yōu)先級(jí)取值,生成復(fù)制任務(wù)的優(yōu)先級(jí)。
可選的,可以預(yù)先為復(fù)制任務(wù)對(duì)應(yīng)的源業(yè)務(wù)的重要度、復(fù)制任務(wù)的觸發(fā)方式以及復(fù)制任務(wù)需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間三個(gè)因素配置權(quán)重,例如分別為w1、w2、w3?;诖耍瑑?yōu)先級(jí)計(jì)算模塊72可以根據(jù)對(duì)應(yīng)因素的權(quán)重,對(duì)復(fù)制任務(wù)的第一優(yōu)先級(jí)取值、第二優(yōu)先級(jí)取值以及第三優(yōu)先級(jí)取值進(jìn)行加權(quán)平均,以生成復(fù)制任務(wù)的優(yōu)先級(jí)。例如,復(fù)制任務(wù)的優(yōu)先級(jí)=w1*第一優(yōu)先級(jí)取值+w2*第二優(yōu)先級(jí)取值+w3*第三優(yōu)先級(jí)取值。
可選的,優(yōu)先級(jí)計(jì)算模塊72也可以按照由高位到低位的順序,將復(fù)制任務(wù)的第一優(yōu)先級(jí)取值、第二優(yōu)先級(jí)取值以及第三優(yōu)先級(jí)取值拼接在一起,以生成復(fù)制任務(wù)的優(yōu)先級(jí)。
例如,預(yù)先定義觸發(fā)方式對(duì)應(yīng)的優(yōu)先級(jí)取值的范圍為[0,2],其中需求觸發(fā)方式對(duì)應(yīng)的優(yōu)先級(jí)取值為0,事件觸發(fā)方式對(duì)應(yīng)的優(yōu)先級(jí)取值為1,掃描觸發(fā)方式對(duì)應(yīng)的優(yōu)先級(jí)取值為2?;诖耍魪?fù)制任務(wù)的觸發(fā)方式為需求觸發(fā)方式,則可以確定該復(fù)制任務(wù)的第一優(yōu)先級(jí)取值為0,若復(fù)制任務(wù)的觸發(fā)方式為事件觸發(fā)方式,則可以確定該復(fù)制任務(wù)的第一優(yōu)先級(jí)取值為1,若復(fù)制任務(wù)的觸發(fā)方式為掃描觸發(fā)方式,則可以確定該復(fù)制任務(wù)的第一優(yōu)先級(jí)取值為2。為便于后續(xù)描述,將第一優(yōu)先級(jí)取值記為pt。
例如,預(yù)先定義源業(yè)務(wù)的重要度對(duì)應(yīng)的優(yōu)先級(jí)取值的范圍為[0,9],具體可以根據(jù)源業(yè)務(wù)的重要度進(jìn)行設(shè)定,一般來說,源業(yè)務(wù)的重要度越高,對(duì)應(yīng)的優(yōu)先級(jí)取值越低。其中,復(fù)制任務(wù)的第二優(yōu)先級(jí)取值為0-9中任一數(shù)值。為便于后續(xù)描述,將第一優(yōu)先級(jí)取值記為pp。
又例如,預(yù)先定義需要復(fù)制的數(shù)據(jù)的產(chǎn)生時(shí)間對(duì)應(yīng)的優(yōu)先級(jí)取值的范圍為[0,9]??蛇x的,復(fù)制裝置可以根據(jù)公式(1),確定各復(fù)制任務(wù)的第三優(yōu)先級(jí)取值。關(guān)于公式(1)可參見前面描述,在此不再贅述。
基于上述,優(yōu)先級(jí)計(jì)算模塊72可以將上述優(yōu)先級(jí)取值組成三位數(shù)字,其中,百位,十位,個(gè)位依次為pt,pp,pd,該三位數(shù)字即為復(fù)制任務(wù)的優(yōu)先級(jí),其取值范圍為[000,299],該三位數(shù)字越小,表示對(duì)應(yīng)復(fù)制任務(wù)的優(yōu)先級(jí)越高。
本實(shí)施例提供的優(yōu)先級(jí)確定裝置,可以計(jì)算出跨集群的復(fù)制任務(wù)的優(yōu)先級(jí),為后續(xù)基于復(fù)制任務(wù)的優(yōu)先級(jí)的復(fù)制任務(wù)處理過程(例如復(fù)制任務(wù)調(diào)度過程)提供條件。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:rom、ram、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本申請(qǐng)的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本申請(qǐng)進(jìn)行了詳細(xì)的說明,本領(lǐng) 域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本申請(qǐng)各實(shí)施例技術(shù)方案的范圍。