亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種塊設(shè)備異步數(shù)據(jù)遷移方法和系統(tǒng)的制作方法

文檔序號(hào):7870843閱讀:344來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種塊設(shè)備異步數(shù)據(jù)遷移方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)遷移技術(shù),特別涉及一種塊設(shè)備間的異步數(shù)據(jù)遷移方法和系統(tǒng)。
背景技術(shù)
數(shù)據(jù)遷移是信息化建設(shè)中數(shù)據(jù)管理的重要任務(wù)。在存儲(chǔ)網(wǎng)絡(luò)中常見(jiàn)的情況是將數(shù)據(jù)從一個(gè)結(jié)點(diǎn)的存儲(chǔ)設(shè)備移動(dòng)到另一個(gè)結(jié)點(diǎn)的存儲(chǔ)設(shè)備。傳統(tǒng)的數(shù)據(jù)遷移方法通常采用一種同步遷移的方法,需要先中斷遷移結(jié)點(diǎn)提供的服務(wù),然后宕機(jī)進(jìn)行數(shù)據(jù)遷移,遷移進(jìn)行的時(shí)間和遷移的數(shù)據(jù)規(guī)模相關(guān),遷移完成后用新的結(jié)點(diǎn)代替原有結(jié)點(diǎn),恢復(fù)中斷的服務(wù)。在傳統(tǒng)的數(shù)據(jù)遷移方法中,遷移過(guò)程中遷移結(jié)點(diǎn)(即要遷移的結(jié)點(diǎn),是由存儲(chǔ)服務(wù)器、硬盤(pán)和存儲(chǔ)服務(wù)軟件組成的單元)不能提供存儲(chǔ)服務(wù),因而造成了業(yè)務(wù)的中斷。當(dāng)前,在業(yè)務(wù)要求日益苛刻的情況下,業(yè)務(wù)中斷可能會(huì)給企業(yè)帶來(lái)一定的損失,且遷移過(guò)程進(jìn)行的時(shí)間與數(shù)據(jù)規(guī)模相關(guān),當(dāng)需要遷移的數(shù)據(jù)規(guī)模巨大時(shí),遷移的成本也相應(yīng)變得難以承受。因此迫切需要·一種能夠保持應(yīng)用在線的數(shù)據(jù)遷移技術(shù),以滿(mǎn)足遷移過(guò)程中業(yè)務(wù)不中斷且遷移時(shí)間短的要求。
·
而現(xiàn)有的異步數(shù)據(jù)遷移方法主要有1)擴(kuò)展遠(yuǎn)程復(fù)制(XRC, eXtendedRemoteCopy)技術(shù),通過(guò)SDM(System Data Mover)系統(tǒng)負(fù)責(zé)實(shí)時(shí)地將主站點(diǎn)磁盤(pán)上的數(shù)據(jù)鏡像拷貝到遠(yuǎn)程的備份站點(diǎn)磁盤(pán)中,該方法需要軟硬件協(xié)同工作,其部署和實(shí)現(xiàn)的成本比較高;2)IBM的透明數(shù)據(jù)遷移工具(TDMF, Transparent Data Migration Facility),通過(guò)軟件的方式進(jìn)行數(shù)據(jù)遷移,以設(shè)備為單位進(jìn)行遷移。上述兩種方法的缺點(diǎn)在于遷移的數(shù)據(jù)量過(guò)多、遷移的時(shí)間長(zhǎng)、成本高。

發(fā)明內(nèi)容
針對(duì)上述現(xiàn)有數(shù)據(jù)遷移技術(shù)中出現(xiàn)的問(wèn)題,根據(jù)本發(fā)明一個(gè)實(shí)施例,提供一種塊設(shè)備異步數(shù)據(jù)遷移方法,所述方法包括步驟I)、將源設(shè)備通過(guò)網(wǎng)絡(luò)導(dǎo)出到目標(biāo)結(jié)點(diǎn),并且所述目標(biāo)結(jié)點(diǎn)獲得所述源設(shè)備的數(shù)據(jù)有效性信息;步驟2)、根據(jù)所述源設(shè)備的數(shù)據(jù)有效性信息將所述源設(shè)備上的有效數(shù)據(jù)遷移到所述目標(biāo)設(shè)備,其中所述源設(shè)備的數(shù)據(jù)有效性信息用于指示所述源設(shè)備上的數(shù)據(jù)是有效數(shù)據(jù)或者是無(wú)效數(shù)據(jù),所述有效數(shù)據(jù)指應(yīng)用寫(xiě)過(guò)的數(shù)據(jù),所述無(wú)效數(shù)據(jù)指應(yīng)用從未寫(xiě)過(guò)的數(shù)據(jù)。在一個(gè)實(shí)施例中,步驟2)中將所述源設(shè)備上的有效數(shù)據(jù)遷移到所述目標(biāo)設(shè)備包括步驟2-1)、將所述有效數(shù)據(jù)從所述源設(shè)備讀取到所述目標(biāo)結(jié)點(diǎn);步驟2-2)、將所述有效數(shù)據(jù)寫(xiě)入所述目標(biāo)結(jié)點(diǎn)的目標(biāo)設(shè)備;步驟2-3)、將所述有效數(shù)據(jù)標(biāo)記為數(shù)據(jù)有效遷移已經(jīng)完成。在一個(gè)實(shí)施例中,步驟2)中還包括
步驟a)、將應(yīng)用從所述源結(jié)點(diǎn)切換到所述目標(biāo)結(jié)點(diǎn);步驟b)、所述目標(biāo)結(jié)點(diǎn)根據(jù)所述數(shù)據(jù)有效性信息以及所請(qǐng)求的數(shù)據(jù)是否完成遷移來(lái)處理應(yīng)用請(qǐng)求。在一個(gè)實(shí)施例中,步驟a)包括步驟a_l)、將應(yīng)用請(qǐng)求掛起;步驟a_2)、將應(yīng)用從所述源結(jié)點(diǎn)切換到所述目標(biāo)結(jié)點(diǎn);步驟a_3 )、重新處理所述應(yīng)用請(qǐng)求。在一個(gè)實(shí)施例中,步驟b )包括如果應(yīng)用請(qǐng)求的數(shù)據(jù)處于數(shù)據(jù)有效遷移已經(jīng)完成的狀態(tài),將所述應(yīng)用請(qǐng)求轉(zhuǎn)發(fā)到所述目標(biāo)設(shè)備;如果應(yīng)用請(qǐng)求的數(shù)據(jù)處于數(shù)據(jù)有效需要進(jìn)行遷移的狀態(tài),對(duì)于讀請(qǐng)求來(lái)說(shuō),將該讀請(qǐng)求轉(zhuǎn)發(fā)到所述源設(shè)備,再將該讀請(qǐng)求的數(shù)據(jù)從源設(shè)備讀取到目標(biāo)結(jié)點(diǎn);對(duì)于寫(xiě)請(qǐng)求來(lái)說(shuō),將該寫(xiě)請(qǐng)求轉(zhuǎn)發(fā)到所述目標(biāo)設(shè)備進(jìn)行覆蓋,同時(shí)將該應(yīng)用請(qǐng)求的數(shù)據(jù)標(biāo)記為數(shù)據(jù)有效遷移已經(jīng)完成;如果應(yīng)用請(qǐng)求的數(shù)據(jù)處于數(shù)據(jù)無(wú)效的狀態(tài),對(duì)于讀請(qǐng)求來(lái)說(shuō),將該讀請(qǐng)求轉(zhuǎn)發(fā)到所述目標(biāo)設(shè)備;對(duì)于寫(xiě)請(qǐng)求來(lái)說(shuō),將該寫(xiě)請(qǐng)求轉(zhuǎn)發(fā)到所述目標(biāo)設(shè)備進(jìn)行覆蓋,同時(shí)將該應(yīng)用請(qǐng)求的數(shù)據(jù)標(biāo)記為數(shù)據(jù)有效遷移已經(jīng)完成。
`
在進(jìn)一步的實(shí)施例中,將寫(xiě)請(qǐng)求轉(zhuǎn)發(fā)到目標(biāo)設(shè)備進(jìn)行覆蓋包括將所述寫(xiě)請(qǐng)求聚合成粒度對(duì)齊的大寫(xiě);再將所述大寫(xiě)直接寫(xiě)到目標(biāo)設(shè)備。在一個(gè)實(shí)施例中,步驟2)中還包括步驟2-0)、當(dāng)應(yīng)用請(qǐng)求正在訪問(wèn)要遷移的有效數(shù)據(jù)時(shí),等待應(yīng)用請(qǐng)求完成后再進(jìn)行步驟2-1);步驟b)中還包括當(dāng)應(yīng)用請(qǐng)求命中正在遷移的有效數(shù)據(jù)時(shí),等待該有效數(shù)據(jù)遷移完成后再處理應(yīng)用請(qǐng)求。根據(jù)本發(fā)明一個(gè)實(shí)施例,提供一種塊設(shè)備異步數(shù)據(jù)遷移系統(tǒng),所述系統(tǒng)包括源結(jié)點(diǎn)和目標(biāo)結(jié)點(diǎn),其中所述源結(jié)點(diǎn)包括源設(shè)備,用于存儲(chǔ)源結(jié)點(diǎn)的數(shù)據(jù)且維護(hù)記錄數(shù)據(jù)有效性信息的源結(jié)點(diǎn)元數(shù)據(jù);以及導(dǎo)出模塊,用于與導(dǎo)入模塊配合將所述源設(shè)備以標(biāo)準(zhǔn)塊設(shè)備的語(yǔ)義導(dǎo)出到目標(biāo)結(jié)點(diǎn)。所述目標(biāo)結(jié)點(diǎn)包括目標(biāo)設(shè)備,用于存儲(chǔ)從所述源設(shè)備遷移過(guò)來(lái)的有效數(shù)據(jù);導(dǎo)入模塊,用于與所述導(dǎo)出模塊配合將所述源設(shè)備以標(biāo)準(zhǔn)塊設(shè)備的語(yǔ)義導(dǎo)出到所述目標(biāo)結(jié)點(diǎn);以及遷移模塊,用于將所述源設(shè)備中的有效數(shù)據(jù)遷移到所述目標(biāo)設(shè)備且維護(hù)用于記錄數(shù)據(jù)狀態(tài)的目標(biāo)結(jié)點(diǎn)元數(shù)據(jù)。其中,通過(guò)所述導(dǎo)出模塊和所述導(dǎo)入模塊將所述源設(shè)備通過(guò)網(wǎng)絡(luò)導(dǎo)出到所述目標(biāo)結(jié)點(diǎn)形成所述目標(biāo)設(shè)備,所述目標(biāo)結(jié)點(diǎn)獲得所述源結(jié)點(diǎn)元數(shù)據(jù)。所述遷移模塊根據(jù)源結(jié)點(diǎn)元數(shù)據(jù)將所述源設(shè)備中的有效數(shù)據(jù)遷移至所述目標(biāo)設(shè)備。在一個(gè)實(shí)施例中,所述遷移模塊根據(jù)源結(jié)點(diǎn)元數(shù)據(jù)將所述源設(shè)備中的有效數(shù)據(jù)遷移至所述目標(biāo)設(shè)備包括將所述有效數(shù)據(jù)從所述源設(shè)備讀取到目標(biāo)結(jié)點(diǎn);將所述有效數(shù)據(jù)寫(xiě)入所述目標(biāo)設(shè)備;以及修改目標(biāo)結(jié)點(diǎn)元數(shù)據(jù)將所述有效數(shù)據(jù)狀態(tài)標(biāo)記為數(shù)據(jù)有效遷移已經(jīng)完成。在一個(gè)實(shí)施例中,所述系統(tǒng)還包括應(yīng)用切換模塊,用于在所述源設(shè)備被導(dǎo)出到所述目標(biāo)結(jié)點(diǎn)后,將應(yīng)用切換到所述目標(biāo)結(jié)點(diǎn)。在一個(gè)實(shí)施例中,所述遷移模塊還用于通過(guò)檢索目標(biāo)結(jié)點(diǎn)元數(shù)據(jù)查找所請(qǐng)求的數(shù)據(jù)狀態(tài)來(lái)處理應(yīng)用請(qǐng)求如果應(yīng)用請(qǐng)求的數(shù)據(jù)處于數(shù)據(jù)有效遷移已經(jīng)完成的狀態(tài),將所述應(yīng)用請(qǐng)求轉(zhuǎn)發(fā)到所述目標(biāo)設(shè)備;如果應(yīng)用請(qǐng)求的數(shù)據(jù)處于數(shù)據(jù)有效需要進(jìn)行遷移的狀態(tài),對(duì)于讀請(qǐng)求來(lái)說(shuō),將該讀請(qǐng)求轉(zhuǎn)發(fā)到所述源設(shè)備,再將該讀請(qǐng)求的數(shù)據(jù)從源設(shè)備讀取到目標(biāo)結(jié)點(diǎn);對(duì)于寫(xiě)請(qǐng)求來(lái)說(shuō),將該寫(xiě)請(qǐng)求轉(zhuǎn)發(fā)到所述目標(biāo)設(shè)備進(jìn)行覆蓋,同時(shí)修改目標(biāo)結(jié)點(diǎn)元數(shù)據(jù)將該應(yīng)用請(qǐng)求的數(shù)據(jù)狀態(tài)標(biāo)記為數(shù)據(jù)有效遷移已經(jīng)完成;如果應(yīng)用請(qǐng)求的數(shù)據(jù)處于數(shù)據(jù)無(wú)效的狀態(tài),對(duì)于讀請(qǐng)求來(lái)說(shuō),將該讀請(qǐng)求轉(zhuǎn)發(fā)到所述目標(biāo)設(shè)備;對(duì)于寫(xiě)請(qǐng)求來(lái)說(shuō),將該寫(xiě)請(qǐng)求轉(zhuǎn)發(fā)到所述目標(biāo)設(shè)備進(jìn)行覆蓋,同時(shí)修改目標(biāo)結(jié)點(diǎn)元數(shù)據(jù)將該應(yīng)用請(qǐng)求的數(shù)據(jù)狀態(tài)標(biāo)記為數(shù)據(jù)有效遷移已經(jīng)完成。在進(jìn)一步的實(shí)施例中,所述系統(tǒng)還包括整流模塊,用于對(duì)應(yīng)用的小寫(xiě)請(qǐng)求進(jìn)行聚合,將小寫(xiě)請(qǐng)求聚合成粒度對(duì)齊的大寫(xiě),再將所述大寫(xiě)請(qǐng)求轉(zhuǎn)發(fā)到遷移模塊。在一個(gè)實(shí)施例中,所述遷移模塊采用排隊(duì)的方法,將遷移過(guò)程和應(yīng)用請(qǐng)求串行進(jìn)行處理。相比現(xiàn)有的異步數(shù)據(jù)遷移方法,本發(fā)明提供的塊設(shè)備異步數(shù)據(jù)遷移方法和系統(tǒng)縮短業(yè)務(wù)層感知的遷移時(shí)間,且解決遷移的數(shù)據(jù)量過(guò)多、遷移時(shí)間長(zhǎng)、成本高的問(wèn)題。


圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的塊設(shè)備異步數(shù)據(jù)遷移方法流程圖;圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的目標(biāo)結(jié)點(diǎn)對(duì)應(yīng)用請(qǐng)求進(jìn)行轉(zhuǎn)發(fā)的策略圖;圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的塊設(shè)備異步數(shù)據(jù)遷移系統(tǒng)拓?fù)浣Y(jié)構(gòu)圖。
具體實(shí)施例方式下面結(jié)合說(shuō)明書(shū)附圖來(lái)描述本發(fā)明的具體實(shí)施方式
。根據(jù)本發(fā)明的一個(gè)實(shí)施例,提出了一種塊設(shè)備異步數(shù)據(jù)遷移方法,該方法首先將遷移源結(jié)點(diǎn)(或源結(jié)點(diǎn))上的存儲(chǔ)設(shè)備(即源設(shè)備)導(dǎo)出至遷移目標(biāo)結(jié)點(diǎn)(或目標(biāo)結(jié)點(diǎn)),接著可將應(yīng)用切換到目標(biāo)結(jié)點(diǎn),然后,由目標(biāo)結(jié)點(diǎn)來(lái)向應(yīng)用服務(wù)器提供存儲(chǔ)服務(wù),且同時(shí)可進(jìn)行數(shù)據(jù)遷移的過(guò)程,直到數(shù)據(jù)遷移結(jié)束。圖1示出了該方法的流程圖,包括以下步驟步驟一、將源結(jié)點(diǎn)的存儲(chǔ)設(shè)備(或者稱(chēng)為源結(jié)點(diǎn)的數(shù)據(jù)設(shè)備、源設(shè)備),通過(guò)網(wǎng)絡(luò)導(dǎo)出到目標(biāo)結(jié)點(diǎn),在目標(biāo)結(jié)點(diǎn)形成源存儲(chǔ)設(shè)備的鏡像,即目標(biāo)結(jié)點(diǎn)的存儲(chǔ)設(shè)備(或者稱(chēng)目標(biāo)設(shè)備)。且目標(biāo)結(jié)點(diǎn)獲得源設(shè)備的數(shù)據(jù)有效性信息。其中,源設(shè)備通過(guò)網(wǎng)絡(luò)導(dǎo)出到目標(biāo)結(jié)點(diǎn)上,從而使得可在目標(biāo)結(jié)點(diǎn)上看到源設(shè)備,而在目標(biāo)結(jié)點(diǎn)中,導(dǎo)出的設(shè)備通常顯示為一個(gè)設(shè)備名。在一個(gè)實(shí)施例中,可通過(guò)iscsi協(xié)議將源設(shè)備導(dǎo)出至目標(biāo)結(jié)點(diǎn),而在其他實(shí)施例中,可通過(guò)諸如fc協(xié)議(光纖通道)的協(xié)議來(lái)導(dǎo)出源設(shè)備。
在將源設(shè)備導(dǎo)出到目標(biāo)結(jié)點(diǎn)后,目標(biāo)結(jié)點(diǎn)可以對(duì)源結(jié)點(diǎn)存儲(chǔ)設(shè)備上的數(shù)據(jù)進(jìn)行正常的讀寫(xiě),并且可以進(jìn)行符合標(biāo)準(zhǔn)塊設(shè)備語(yǔ)義的其他操作。對(duì)于目標(biāo)結(jié)點(diǎn)來(lái)說(shuō),源結(jié)點(diǎn)的存儲(chǔ)設(shè)備是遠(yuǎn)程設(shè)備,需要通過(guò)網(wǎng)絡(luò)來(lái)訪問(wèn)源設(shè)備,而目標(biāo)結(jié)點(diǎn)的存儲(chǔ)設(shè)備(即目標(biāo)設(shè)備)是本地設(shè)備,對(duì)本地設(shè)備的訪問(wèn)優(yōu)先于對(duì)遠(yuǎn)程設(shè)備的訪問(wèn)。因此,當(dāng)數(shù)據(jù)同時(shí)在源設(shè)備和目標(biāo)設(shè)備中存在時(shí),應(yīng)用的數(shù)據(jù)請(qǐng)求應(yīng)直接訪問(wèn)本地設(shè)備。目標(biāo)結(jié)點(diǎn)可以對(duì)源設(shè)備和目標(biāo)設(shè)備進(jìn)行管理,在這兩個(gè)設(shè)備之間轉(zhuǎn)發(fā)應(yīng)用請(qǐng)求或者進(jìn)行數(shù)據(jù)遷移。在一個(gè)實(shí)施例中,源設(shè)備的數(shù)據(jù)有效性信息用于表示哪些數(shù)據(jù)是有效數(shù)據(jù)、哪些是無(wú)效數(shù)據(jù)。其中,有效數(shù)據(jù)是指應(yīng)用寫(xiě)過(guò)的數(shù)據(jù),而無(wú)效數(shù)據(jù)是指應(yīng)用從未寫(xiě)過(guò)的數(shù)據(jù)。例如,如果硬盤(pán)上的某一扇區(qū)從未被應(yīng)用寫(xiě)過(guò),那么這一扇區(qū)上的數(shù)據(jù)就被認(rèn)為是無(wú)效數(shù)據(jù)。該區(qū)分的目的在于數(shù)據(jù)遷移過(guò)程中只遷移有效數(shù)據(jù)。步驟二、目標(biāo)結(jié)點(diǎn)驅(qū)動(dòng)數(shù)據(jù)遷移的進(jìn)行,根據(jù)本發(fā)明的一個(gè)實(shí)施例,數(shù)據(jù)遷移過(guò)程包括I)、目標(biāo)結(jié)點(diǎn)將有效數(shù)據(jù)從源設(shè)備讀取到目標(biāo)結(jié)點(diǎn)本地;2)、目標(biāo)結(jié)點(diǎn)將有效數(shù)據(jù)寫(xiě)入目標(biāo)設(shè)備;3)、目標(biāo)結(jié)點(diǎn)根據(jù)遷移過(guò)程完成與否,修改數(shù)據(jù)狀態(tài)(其中,數(shù)據(jù)狀態(tài)包括數(shù)據(jù)無(wú)效、數(shù)據(jù)有效需要進(jìn)行遷移和數(shù)據(jù)有效遷移已經(jīng)完成)。例如,當(dāng)數(shù)據(jù)遷移完成則將該數(shù)據(jù)標(biāo)記為數(shù)據(jù)有效遷移已經(jīng)完成。在一個(gè)實(shí)施例中,由于在將源設(shè)備導(dǎo)出到目標(biāo)設(shè)備后即可進(jìn)行應(yīng)用的切換過(guò)程,因而在步驟一之后,在目標(biāo)結(jié) 點(diǎn)遷移數(shù)據(jù)的過(guò)程中還包括步驟二’、將應(yīng)用從源結(jié)點(diǎn)切換到目標(biāo)結(jié)點(diǎn)。應(yīng)用切換的本質(zhì)是對(duì)應(yīng)用進(jìn)行一次停止一恢復(fù)操作,該操作中間有一段時(shí)間窗口,由于切換過(guò)程中源結(jié)點(diǎn)下層的存儲(chǔ)設(shè)備不能提供存儲(chǔ)服務(wù),因而存儲(chǔ)服務(wù)需要中斷。但是這個(gè)時(shí)間窗口是可控的,配合周邊的切換技術(shù)(例如通過(guò)周邊設(shè)備將應(yīng)用的數(shù)據(jù)請(qǐng)求掛起),可以做到存儲(chǔ)服務(wù)停止之后,在秒級(jí)的時(shí)間內(nèi)由目標(biāo)結(jié)點(diǎn)恢復(fù)該存儲(chǔ)服務(wù)。在一個(gè)實(shí)施例中,可以通過(guò)如下步驟實(shí)現(xiàn)應(yīng)用的切換a)先將應(yīng)用請(qǐng)求掛起;b)進(jìn)行應(yīng)用切換,將應(yīng)用從源結(jié)點(diǎn)切換到目標(biāo)結(jié)點(diǎn);c)完成切換后再以由目標(biāo)結(jié)點(diǎn)重新處理該應(yīng)用請(qǐng)求的方式來(lái)實(shí)現(xiàn)對(duì)用戶(hù)透明的數(shù)據(jù)遷移。對(duì)應(yīng)用而言,遷移過(guò)程中該應(yīng)用并沒(méi)有中斷,只是出現(xiàn)了暫時(shí)的性能下降。在一個(gè)實(shí)施例中,可采用多路徑管理技術(shù)(multipath)實(shí)現(xiàn)路徑的切換、I/O流量的負(fù)載均衡等。先將應(yīng)用的數(shù)據(jù)請(qǐng)求掛起,待存儲(chǔ)服務(wù)恢復(fù)后再進(jìn)行處理。即延長(zhǎng)應(yīng)用切換時(shí)數(shù)據(jù)請(qǐng)求的響應(yīng)時(shí)間,以換取業(yè)務(wù)的連續(xù)性。切換過(guò)程結(jié)束以后,對(duì)應(yīng)用來(lái)說(shuō),遷移已經(jīng)完成。此時(shí)目標(biāo)結(jié)點(diǎn)進(jìn)入生產(chǎn)流程,目標(biāo)結(jié)點(diǎn)的計(jì)算資源、網(wǎng)絡(luò)資源等可以直接為應(yīng)用服務(wù),從而得到了有效的利用。此后,應(yīng)用可以切斷與源結(jié)點(diǎn)的聯(lián)系而直接訪問(wèn)目標(biāo)結(jié)點(diǎn)。在一個(gè)實(shí)施例中,步驟二’后還包括步驟三’、目標(biāo)結(jié)點(diǎn)根據(jù)應(yīng)用請(qǐng)求的數(shù)據(jù)的狀態(tài)來(lái)處理應(yīng)用請(qǐng)求,其中數(shù)據(jù)狀態(tài)包括數(shù)據(jù)無(wú)效、數(shù)據(jù)有效需要進(jìn)行遷移和數(shù)據(jù)有效遷移已經(jīng)完成。
在應(yīng)用切換后,由目標(biāo)結(jié)點(diǎn)來(lái)處理應(yīng)用的數(shù)據(jù)請(qǐng)求。目標(biāo)結(jié)點(diǎn)根據(jù)數(shù)據(jù)狀態(tài)對(duì)數(shù)據(jù)請(qǐng)求進(jìn)行處理。圖2中示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的目標(biāo)結(jié)點(diǎn)對(duì)應(yīng)用請(qǐng)求進(jìn)行轉(zhuǎn)發(fā)的策略,包括如果該數(shù)據(jù)處于數(shù)據(jù)有效遷移已經(jīng)完成的狀態(tài),意味著該數(shù)據(jù)已經(jīng)存在于目標(biāo)結(jié)點(diǎn)本地,則無(wú)論應(yīng)用請(qǐng)求的類(lèi)型是讀還是寫(xiě)都直接把請(qǐng)求轉(zhuǎn)發(fā)到目標(biāo)設(shè)備。如果該數(shù)據(jù)處于數(shù)據(jù)有效需要進(jìn)行遷移的狀態(tài),意味著數(shù)據(jù)存在于源結(jié)點(diǎn),而目標(biāo)結(jié)點(diǎn)本地沒(méi)有該數(shù)據(jù)。則對(duì)于讀請(qǐng)求來(lái)說(shuō),只能將該讀請(qǐng)求轉(zhuǎn)發(fā)到源設(shè)備從遠(yuǎn)程讀取,再將應(yīng)用請(qǐng)求的數(shù)據(jù)讀取到本地;對(duì)于寫(xiě)請(qǐng)求來(lái)說(shuō),如果將寫(xiě)請(qǐng)求轉(zhuǎn)發(fā)到源設(shè)備進(jìn)行覆蓋,然后在未來(lái)的某一時(shí)刻又遷移回目標(biāo)結(jié)點(diǎn),這段路徑其實(shí)是從目標(biāo)結(jié)點(diǎn)到源結(jié)點(diǎn)后又返回目標(biāo)結(jié)點(diǎn),形成了對(duì)網(wǎng)絡(luò)資源的浪費(fèi),基于這種考慮,可以直接把寫(xiě)請(qǐng)求轉(zhuǎn)發(fā)到目標(biāo)設(shè)備進(jìn)行覆蓋,同時(shí)標(biāo)記該數(shù)據(jù)狀態(tài)為有效遷移已經(jīng)完成。如果該數(shù)據(jù)處于數(shù)據(jù)無(wú)效的狀態(tài),意味著源存儲(chǔ)設(shè)備上并沒(méi)有對(duì)該數(shù)據(jù)塊進(jìn)行過(guò)寫(xiě)操作,對(duì)于讀請(qǐng)求來(lái)說(shuō),按照標(biāo)準(zhǔn)塊設(shè)備的語(yǔ)義,這種讀取的結(jié)果是未知的,可以直接將該讀請(qǐng)求轉(zhuǎn)發(fā)到目標(biāo)設(shè)備讀取目標(biāo)結(jié)點(diǎn)底層設(shè)備上的數(shù)據(jù);對(duì)于寫(xiě)請(qǐng)求來(lái)說(shuō),也轉(zhuǎn)發(fā)到目標(biāo)設(shè)備完成一次新寫(xiě),同時(shí)將該數(shù)據(jù)狀態(tài)修改為數(shù)據(jù)有效遷移已經(jīng)完成。對(duì)于寫(xiě)請(qǐng)求來(lái)說(shuō),粒度對(duì)齊的大寫(xiě)更容易處理。在一個(gè)實(shí)施例中,先對(duì)目標(biāo)結(jié)點(diǎn)的寫(xiě)請(qǐng)求進(jìn)行聚合,全部以大寫(xiě)的形式處理可以減少對(duì)網(wǎng)絡(luò)資源的浪費(fèi)。因而,目標(biāo)結(jié)點(diǎn)需要將寫(xiě)請(qǐng)求聚合成粒度對(duì)齊的大寫(xiě),再將大寫(xiě)直接寫(xiě)到目標(biāo)設(shè)備。在一個(gè)實(shí)施例中,將寫(xiě)請(qǐng)求聚合成粒度對(duì)齊的大寫(xiě)可以采用延遲一段時(shí)間的方法。在另一個(gè)實(shí)施例中,可以采用補(bǔ)齊讀方法實(shí)現(xiàn)聚合,即當(dāng)一個(gè)寫(xiě)請(qǐng)求命中了一個(gè)數(shù)據(jù)塊的其中一部分,將該塊的剩余部分從目標(biāo)結(jié)點(diǎn)底層存儲(chǔ)設(shè)備中讀出,與寫(xiě)請(qǐng)求命中的那一部分組成整個(gè)塊的數(shù)據(jù)一次寫(xiě)到目標(biāo)設(shè)備中。如上文所述,在數(shù)據(jù)遷移的同時(shí),可以保持應(yīng)用在線,應(yīng)用請(qǐng)求和遷移過(guò)程可同時(shí)進(jìn)行,因而需要對(duì)應(yīng)用請(qǐng)求和 遷移過(guò)程進(jìn)行并發(fā)控制,根據(jù)本發(fā)明一個(gè)實(shí)施例,可以采用并發(fā)的請(qǐng)求排隊(duì)的方法,將遷移過(guò)程和應(yīng)用請(qǐng)求串行處理,當(dāng)應(yīng)用請(qǐng)求命中正在進(jìn)行遷移的有效數(shù)據(jù)時(shí),該應(yīng)用請(qǐng)求將進(jìn)行等待,直到該數(shù)據(jù)遷移完成后再處理,反之亦然。本領(lǐng)域技術(shù)人員應(yīng)理解,也可以采用其他方法,例如采用仲裁控制機(jī)制或者協(xié)同控制機(jī)制,來(lái)進(jìn)行應(yīng)用請(qǐng)求和數(shù)據(jù)遷移的并發(fā)控制。根據(jù)本發(fā)明一個(gè)實(shí)施例,對(duì)于分層的存儲(chǔ)設(shè)備可以實(shí)現(xiàn)靈活的遷移策略。例如,對(duì)于有緩存空間的存儲(chǔ)設(shè)備,可以將緩存空間中的數(shù)據(jù)和下層的原始數(shù)據(jù)分開(kāi)進(jìn)行遷移。根據(jù)本發(fā)明的一個(gè)實(shí)施例,提供一種塊設(shè)備異步數(shù)據(jù)遷移系統(tǒng)。該系統(tǒng)包括遷移源結(jié)點(diǎn)部分(源結(jié)點(diǎn))、遷移目標(biāo)結(jié)點(diǎn)部分(目標(biāo)結(jié)點(diǎn))和應(yīng)用服務(wù)器。其中遷移源結(jié)點(diǎn)部分包括源設(shè)備(即源結(jié)點(diǎn)的存儲(chǔ)設(shè)備)和導(dǎo)出模塊;遷移目標(biāo)結(jié)點(diǎn)部分包括目標(biāo)設(shè)備(即目標(biāo)結(jié)點(diǎn)的存儲(chǔ)設(shè)備)、導(dǎo)入模塊、遷移模塊以及整流模塊;應(yīng)用服務(wù)器包括應(yīng)用切換模塊。圖3示出了該系統(tǒng)的架構(gòu)圖,其中應(yīng)用服務(wù)器通過(guò)網(wǎng)絡(luò)與源結(jié)點(diǎn)和目標(biāo)結(jié)點(diǎn)連接。一.源設(shè)備和目標(biāo)設(shè)備源設(shè)備是源結(jié)點(diǎn)的存儲(chǔ)設(shè)備,用于存儲(chǔ)源結(jié)點(diǎn)的數(shù)據(jù),這些數(shù)據(jù)中的有效數(shù)據(jù)將被遷移到目標(biāo)結(jié)點(diǎn)中的目標(biāo)設(shè)備。此外,源設(shè)備還維護(hù)記錄數(shù)據(jù)有效性信息的源結(jié)點(diǎn)元數(shù)據(jù)。
目標(biāo)設(shè)備是目標(biāo)結(jié)點(diǎn)的存儲(chǔ)設(shè)備,用于存儲(chǔ)從源設(shè)備遷移過(guò)來(lái)的有效數(shù)據(jù)。二.導(dǎo)出模塊和導(dǎo)入模塊源結(jié)點(diǎn)的導(dǎo)出模塊與目標(biāo)結(jié)點(diǎn)的導(dǎo)入模塊相配合,用于將源結(jié)點(diǎn)的源設(shè)備以標(biāo)準(zhǔn)塊設(shè)備的語(yǔ)義導(dǎo)出到目標(biāo)結(jié)點(diǎn),這意味著目標(biāo)結(jié)點(diǎn)可以訪問(wèn)源設(shè)備上的數(shù)據(jù)資源。在將源結(jié)點(diǎn)的源設(shè)備導(dǎo)出到目標(biāo)結(jié)點(diǎn)后,目標(biāo)結(jié)點(diǎn)可獲取源結(jié)點(diǎn)元數(shù)據(jù)信息。在一個(gè)實(shí)施例中,目標(biāo)結(jié)點(diǎn)可以例如通過(guò)設(shè)備級(jí)的ioctl (ioctl是一種獲得設(shè)備信息和向設(shè)備發(fā)送控制參數(shù)的手段)與源結(jié)點(diǎn)的底層設(shè)備進(jìn)行交互以獲取源設(shè)備上的數(shù)據(jù)有效性信息(指示有效數(shù)據(jù)和無(wú)效數(shù)據(jù)),以實(shí)現(xiàn)數(shù)據(jù)遷移的優(yōu)化。為源結(jié)點(diǎn)的底層設(shè)備提供了很大的靈活性底層設(shè)備可以決定哪些數(shù)據(jù)需要遷移,將這些數(shù)據(jù)通過(guò)ioctl命令提供給目標(biāo)結(jié)點(diǎn),由目標(biāo)結(jié)點(diǎn)執(zhí)行遷移的過(guò)程(而對(duì)于不支持此ioctl命令的普通設(shè)備來(lái)說(shuō),將進(jìn)行全盤(pán)的數(shù)據(jù)遷移)。三.應(yīng)用切換模塊該模塊處于應(yīng)用服務(wù)器中,用于在源設(shè)備被導(dǎo)出到目標(biāo)結(jié)點(diǎn)后將應(yīng)用切換到目標(biāo)結(jié)點(diǎn),包括將應(yīng)用請(qǐng)求掛起、進(jìn)行應(yīng)用切換,以及完成切換后再重新處理該應(yīng)用請(qǐng)求。四.遷移模塊目標(biāo)結(jié)點(diǎn)的遷移模塊用于將源設(shè)備中的有效數(shù)據(jù)遷移到目標(biāo)設(shè)備(即從源存儲(chǔ)設(shè)備讀取有效數(shù)據(jù)寫(xiě)入到目標(biāo)設(shè)備相同的位置上),從而避免無(wú)效數(shù)據(jù)遷移而造成的資源浪費(fèi)。在一個(gè)實(shí)施例中,首先在node結(jié)構(gòu)的源結(jié)點(diǎn)元數(shù)據(jù)集合中選取需要遷移的數(shù)據(jù)塊,然后從源設(shè)備讀取該數(shù)據(jù)塊,寫(xiě)入到目標(biāo)設(shè)備,并更改數(shù)據(jù)塊的狀態(tài)為已經(jīng)完成遷移。在一個(gè)實(shí)例中,IT大小的源設(shè)備只存儲(chǔ)IM大小的數(shù)據(jù),且該存儲(chǔ)設(shè)備維護(hù)有關(guān)于數(shù)據(jù)有效性的元數(shù)據(jù),目標(biāo)結(jié)點(diǎn)可以通過(guò)和該存儲(chǔ)設(shè)備交互,實(shí)現(xiàn)只遷移這有效的IM數(shù)據(jù)。在一個(gè)實(shí)施例中, 遷移模塊還維護(hù)用于記錄數(shù)據(jù)的狀態(tài)的目標(biāo)結(jié)點(diǎn)元數(shù)據(jù),該目標(biāo)結(jié)點(diǎn)元數(shù)據(jù)用于標(biāo)記數(shù)據(jù)是否完成了遷移以及數(shù)據(jù)是否有效。目標(biāo)結(jié)點(diǎn)可以將源設(shè)備粒度化,例如,以位圖或hash的方式來(lái)組織元數(shù)據(jù)。根據(jù)本發(fā)明一個(gè)實(shí)施例,在遷移模塊采用node結(jié)構(gòu)(其中,node是一個(gè)內(nèi)存結(jié)構(gòu),用來(lái)描述遷移設(shè)備一個(gè)數(shù)據(jù)塊的信息,該node結(jié)構(gòu)可以表示數(shù)據(jù)塊的塊號(hào),起始和結(jié)束扇區(qū)以及數(shù)據(jù)塊當(dāng)前的狀態(tài))來(lái)表示一個(gè)數(shù)據(jù)粒度的實(shí)施例中,每個(gè)數(shù)據(jù)塊標(biāo)記有三種狀態(tài)數(shù)據(jù)無(wú)效,數(shù)據(jù)有效需要進(jìn)行遷移和數(shù)據(jù)有效遷移已經(jīng)完成。遷移模塊通過(guò)該采用node結(jié)構(gòu)表示數(shù)據(jù)狀態(tài)的目標(biāo)結(jié)點(diǎn)元數(shù)據(jù)來(lái)處理應(yīng)用請(qǐng)求。在另一個(gè)實(shí)施例中,遷移模塊還用于轉(zhuǎn)發(fā)應(yīng)用的請(qǐng)求,對(duì)于到來(lái)的應(yīng)用請(qǐng)求,首先通過(guò)檢索遷移模塊維護(hù)的目標(biāo)結(jié)點(diǎn)元數(shù)據(jù)查找到請(qǐng)求的數(shù)據(jù)狀態(tài),然后根據(jù)數(shù)據(jù)狀態(tài)進(jìn)行數(shù)據(jù)的轉(zhuǎn)發(fā)。如果應(yīng)用請(qǐng)求的數(shù)據(jù)處于數(shù)據(jù)有效遷移已經(jīng)完成的狀態(tài),則將所述應(yīng)用請(qǐng)求轉(zhuǎn)發(fā)到所述目標(biāo)設(shè)備;如果應(yīng)用請(qǐng)求的數(shù)據(jù)處于數(shù)據(jù)有效需要進(jìn)行遷移的狀態(tài),對(duì)于讀請(qǐng)求來(lái)說(shuō),將該讀請(qǐng)求轉(zhuǎn)發(fā)到源設(shè)備,再將該讀請(qǐng)求的數(shù)據(jù)從源設(shè)備讀取到目標(biāo)結(jié)點(diǎn);對(duì)于寫(xiě)請(qǐng)求來(lái)說(shuō),將該寫(xiě)請(qǐng)求轉(zhuǎn)發(fā)到目標(biāo)設(shè)備進(jìn)行覆蓋,同時(shí)修改目標(biāo)結(jié)點(diǎn)元數(shù)據(jù)將該應(yīng)用請(qǐng)求的數(shù)據(jù)狀態(tài)標(biāo)記為數(shù)據(jù)有效遷移已經(jīng)完成;如果應(yīng)用請(qǐng)求的數(shù)據(jù)處于數(shù)據(jù)無(wú)效的狀態(tài),對(duì)于讀請(qǐng)求來(lái)說(shuō),將該讀請(qǐng)求轉(zhuǎn)發(fā)到目標(biāo)設(shè)備,對(duì)于寫(xiě)請(qǐng)求來(lái)說(shuō),把該寫(xiě)請(qǐng)求轉(zhuǎn)發(fā)到目標(biāo)設(shè)備進(jìn)行覆蓋,同時(shí)修改目標(biāo)結(jié)點(diǎn)元數(shù)據(jù)將該應(yīng)用請(qǐng)求的數(shù)據(jù)狀態(tài)標(biāo)記為數(shù)據(jù)有效遷移已經(jīng)完成,以完成處理應(yīng)用請(qǐng)求的語(yǔ)義。應(yīng)用請(qǐng)求和數(shù)據(jù)遷移過(guò)程可能形成對(duì)node結(jié)構(gòu)的元數(shù)據(jù)的并發(fā)訪問(wèn),因此需要對(duì)應(yīng)用請(qǐng)求和數(shù)據(jù)遷移進(jìn)行并發(fā)控制。在一個(gè)實(shí)施例中,遷移模塊采用排隊(duì)的方法,將遷移過(guò)程和應(yīng)用請(qǐng)求串行處理。當(dāng)應(yīng)用請(qǐng)求命中正在進(jìn)行遷移的數(shù)據(jù)塊時(shí),應(yīng)用請(qǐng)求將進(jìn)行等待,遷移完成后再處理,反之亦然。應(yīng)理解,可以采用其他方法進(jìn)行應(yīng)用請(qǐng)求和數(shù)據(jù)遷移的并發(fā)控制,例如采用仲裁控制機(jī)制或者協(xié)同控制機(jī)制。五.整流模塊整流模塊是一個(gè)內(nèi)存級(jí)的緩存設(shè)備。整流模塊將到來(lái)的應(yīng)用請(qǐng)求進(jìn)行過(guò)濾,主要功能語(yǔ)義是對(duì)小寫(xiě)請(qǐng)求進(jìn)行聚合,形成大寫(xiě)。在一個(gè)實(shí)施例中,可同時(shí)采用延遲寫(xiě)和補(bǔ)齊讀的方式,將小寫(xiě)請(qǐng)求聚合成大寫(xiě),最后以粒度對(duì)齊的大寫(xiě)請(qǐng)求轉(zhuǎn)發(fā)到遷移模塊。相比現(xiàn)有的異步數(shù)據(jù)遷移方法,本發(fā)明提供的塊設(shè)備異步數(shù)據(jù)遷移方法和系統(tǒng)對(duì)使用自動(dòng)精簡(jiǎn)配置的存儲(chǔ)設(shè)備做出優(yōu)化,通過(guò)和遷移結(jié)點(diǎn)進(jìn)行交互查詢(xún)存儲(chǔ)設(shè)備上的有效數(shù)據(jù)塊,做到只遷移有效數(shù)據(jù),避免無(wú)效數(shù)據(jù)的遷移對(duì)系統(tǒng)資源造成的浪費(fèi)。除了可在數(shù)據(jù)遷移時(shí)保持應(yīng)用持續(xù)在線,還可以縮短業(yè)務(wù)層感知的遷移時(shí)間,且解決遷移的數(shù)據(jù)量過(guò)多、遷移時(shí)間長(zhǎng)、成本高的問(wèn)題。應(yīng)該注意到并理解,在不脫離后附的權(quán)利要求所要求的本發(fā)明的精神和范圍的情況下,能夠?qū)ι鲜鲈敿?xì)描述的本發(fā)明做出各種修改和改進(jìn)。因此,要求保護(hù)的技術(shù)方案的范圍不受所給出的任何特定示 范教導(dǎo)的限制。
權(quán)利要求
1.一種塊設(shè)備異步數(shù)據(jù)遷移方法,所述方法包括 步驟I)、將源設(shè)備通過(guò)網(wǎng)絡(luò)導(dǎo)出到目標(biāo)結(jié)點(diǎn),并且所述目標(biāo)結(jié)點(diǎn)獲得所述源設(shè)備的數(shù)據(jù)有效性信息; 步驟2)、根據(jù)所述源設(shè)備的數(shù)據(jù)有效性信息將所述源設(shè)備上的有效數(shù)據(jù)遷移到所述目標(biāo)設(shè)備,其中所述源設(shè)備的數(shù)據(jù)有效性信息用于指示所述源設(shè)備上的數(shù)據(jù)是有效數(shù)據(jù)或者是無(wú)效數(shù)據(jù),所述有效數(shù)據(jù)指應(yīng)用寫(xiě)過(guò)的數(shù)據(jù),所述無(wú)效數(shù)據(jù)指應(yīng)用從未寫(xiě)過(guò)的數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,步驟2)中將所述源設(shè)備上的有效數(shù)據(jù)遷移到所述目標(biāo)設(shè)備包括 步驟2-1)、將所述有效數(shù)據(jù)從所述源設(shè)備讀取到所述目標(biāo)結(jié)點(diǎn); 步驟2-2)、將所述有效數(shù)據(jù)寫(xiě)入所述目標(biāo)結(jié)點(diǎn)的目標(biāo)設(shè)備; 步驟2-3)、將所述有效數(shù)據(jù)標(biāo)記為數(shù)據(jù)有效遷移已經(jīng)完成。
3.根據(jù)權(quán)利要求1或2所述的方法,步驟2)中還包括 步驟a)、將應(yīng)用從所述源結(jié)點(diǎn)切換到所述目標(biāo)結(jié)點(diǎn); 步驟b)、所述目標(biāo)結(jié)點(diǎn)根據(jù)所述數(shù)據(jù)有效性信息以及所請(qǐng)求的數(shù)據(jù)是否完成遷移來(lái)處理應(yīng)用請(qǐng)求。
4.根據(jù)權(quán)利要求3所述的方法,其中步驟a)包括 步驟a-1)、將應(yīng)用請(qǐng)求掛起; 步驟a-2)、將應(yīng)用從所述源結(jié)點(diǎn)切換到所述目標(biāo)結(jié)點(diǎn); 步驟a-3)、重新處理所述應(yīng)用請(qǐng)求。
5.根據(jù)權(quán)利要求3或4所述的方法,其中步驟b)包括 如果應(yīng)用請(qǐng)求的數(shù)據(jù)處于數(shù)據(jù)有效遷移已經(jīng)完成的狀態(tài),將所述應(yīng)用請(qǐng)求轉(zhuǎn)發(fā)到所述目標(biāo)設(shè)備; 如果應(yīng)用請(qǐng)求的數(shù)據(jù)處于數(shù)據(jù)有效需要進(jìn)行遷移的狀態(tài),對(duì)于讀請(qǐng)求來(lái)說(shuō),將該讀請(qǐng)求轉(zhuǎn)發(fā)到所述源設(shè)備,再將該讀請(qǐng)求的數(shù)據(jù)從源設(shè)備讀取到目標(biāo)結(jié)點(diǎn);對(duì)于寫(xiě)請(qǐng)求來(lái)說(shuō),將該寫(xiě)請(qǐng)求轉(zhuǎn)發(fā)到所述目標(biāo)設(shè)備進(jìn)行覆蓋,同時(shí)將該應(yīng)用請(qǐng)求的數(shù)據(jù)標(biāo)記為數(shù)據(jù)有效遷移已經(jīng)完成; 如果應(yīng)用請(qǐng)求的數(shù)據(jù)處于數(shù)據(jù)無(wú)效的狀態(tài),對(duì)于讀請(qǐng)求來(lái)說(shuō),將該讀請(qǐng)求轉(zhuǎn)發(fā)到所述目標(biāo)設(shè)備;對(duì)于寫(xiě)請(qǐng)求來(lái)說(shuō),將該寫(xiě)請(qǐng)求轉(zhuǎn)發(fā)到所述目標(biāo)設(shè)備進(jìn)行覆蓋,同時(shí)將該應(yīng)用請(qǐng)求的數(shù)據(jù)標(biāo)記為數(shù)據(jù)有效遷移已經(jīng)完成。
6.根據(jù)權(quán)利要求5所述的方法,其中,將寫(xiě)請(qǐng)求轉(zhuǎn)發(fā)到目標(biāo)設(shè)備進(jìn)行覆蓋包括 將所述寫(xiě)請(qǐng)求聚合成粒度對(duì)齊的大寫(xiě); 再將所述大寫(xiě)直接寫(xiě)到目標(biāo)設(shè)備。
7.根據(jù)權(quán)利要求3或4所述的方法,步驟2)中還包括 步驟2-0)、當(dāng)應(yīng)用請(qǐng)求正在訪問(wèn)要遷移的有效數(shù)據(jù)時(shí),等待應(yīng)用請(qǐng)求完成后再進(jìn)行步驟 2-1); 步驟b)中還包括 當(dāng)應(yīng)用請(qǐng)求命中正在遷移的有效數(shù)據(jù)時(shí),等待該有效數(shù)據(jù)遷移完成后再處理應(yīng)用請(qǐng)求。
8.一種塊設(shè)備異步數(shù)據(jù)遷移系統(tǒng),所述系統(tǒng)包括源結(jié)點(diǎn)和目標(biāo)結(jié)點(diǎn),其中所述源結(jié)點(diǎn)包括 源設(shè)備,用于存儲(chǔ)源結(jié)點(diǎn)的數(shù)據(jù)且維護(hù)記錄數(shù)據(jù)有效性信息的源結(jié)點(diǎn)元數(shù)據(jù),和 導(dǎo)出模塊,用于與導(dǎo)入模塊配合將所述源設(shè)備以標(biāo)準(zhǔn)塊設(shè)備的語(yǔ)義導(dǎo)出到目標(biāo)結(jié)點(diǎn); 所述目標(biāo)結(jié)點(diǎn)包括 目標(biāo)設(shè)備,用于存儲(chǔ)從所述源設(shè)備遷移過(guò)來(lái)的有效數(shù)據(jù), 導(dǎo)入模塊,用于與所述導(dǎo)出模塊配合將所述源設(shè)備以標(biāo)準(zhǔn)塊設(shè)備的語(yǔ)義導(dǎo)出到所述目標(biāo)結(jié)點(diǎn),和 遷移模塊,用于將所述源設(shè)備中的有效數(shù)據(jù)遷移到所述目標(biāo)設(shè)備且維護(hù)用于記錄數(shù)據(jù)狀態(tài)的目標(biāo)結(jié)點(diǎn)元數(shù)據(jù); 其中,通過(guò)所述導(dǎo)出模塊和所述導(dǎo)入模塊將所述源設(shè)備通過(guò)網(wǎng)絡(luò)導(dǎo)出到所述目標(biāo)結(jié)點(diǎn)形成所述目標(biāo)設(shè)備,所述目標(biāo)結(jié)點(diǎn)獲得所述源結(jié)點(diǎn)元數(shù)據(jù); 所述遷移模塊根據(jù)源結(jié)點(diǎn)元數(shù)據(jù)將所述源設(shè)備中的有效數(shù)據(jù)遷移至所述目標(biāo)設(shè)備。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述遷移模塊根據(jù)源結(jié)點(diǎn)元數(shù)據(jù)將所述源設(shè)備中的有效數(shù)據(jù)遷移至所述目標(biāo)設(shè)備包括將所述有效數(shù)據(jù)從所述源設(shè)備讀取到目標(biāo)結(jié)點(diǎn);將所述有效數(shù)據(jù)寫(xiě)入所述目標(biāo)設(shè)備;以及修改目標(biāo)結(jié)點(diǎn)元數(shù)據(jù)將所述有效數(shù)據(jù)狀態(tài)標(biāo)記為數(shù)據(jù)有效遷移已經(jīng)完成。
10.根據(jù)權(quán)利要求8或9所述的系統(tǒng),其中所述系統(tǒng)還包括 應(yīng)用切換模塊,用于在所述源設(shè)備被導(dǎo)出到所述目標(biāo)結(jié)點(diǎn)后,將應(yīng)用切換到所述目標(biāo)結(jié)點(diǎn)。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其中所述遷移模塊還用于通過(guò)檢索目標(biāo)結(jié)點(diǎn)元數(shù)據(jù)查找所請(qǐng)求的數(shù)據(jù)狀態(tài)來(lái)處理應(yīng)用請(qǐng)求 如果應(yīng)用請(qǐng)求的數(shù)據(jù)處于數(shù)據(jù)有效遷移已經(jīng)完成的狀態(tài),將所述應(yīng)用請(qǐng)求轉(zhuǎn)發(fā)到所述目標(biāo)設(shè)備; 如果應(yīng)用請(qǐng)求的數(shù)據(jù)處于數(shù)據(jù)有效需要進(jìn)行遷移的狀態(tài),對(duì)于讀請(qǐng)求來(lái)說(shuō),將該讀請(qǐng)求轉(zhuǎn)發(fā)到所述源設(shè)備,再將該讀請(qǐng)求的數(shù)據(jù)從源設(shè)備讀取到目標(biāo)結(jié)點(diǎn);對(duì)于寫(xiě)請(qǐng)求來(lái)說(shuō),將該寫(xiě)請(qǐng)求轉(zhuǎn)發(fā)到所述目標(biāo)設(shè)備進(jìn)行覆蓋,同時(shí)修改目標(biāo)結(jié)點(diǎn)元數(shù)據(jù)將該應(yīng)用請(qǐng)求的數(shù)據(jù)狀態(tài)標(biāo)記為數(shù)據(jù)有效遷移已經(jīng)完成; 如果應(yīng)用請(qǐng)求的數(shù)據(jù)處于數(shù)據(jù)無(wú)效的狀態(tài),對(duì)于讀請(qǐng)求來(lái)說(shuō),將該讀請(qǐng)求轉(zhuǎn)發(fā)到所述目標(biāo)設(shè)備;對(duì)于寫(xiě)請(qǐng)求來(lái)說(shuō),將該寫(xiě)請(qǐng)求轉(zhuǎn)發(fā)到所述目標(biāo)設(shè)備進(jìn)行覆蓋,同時(shí)修改目標(biāo)結(jié)點(diǎn)元數(shù)據(jù)將該應(yīng)用請(qǐng)求的數(shù)據(jù)狀態(tài)標(biāo)記為數(shù)據(jù)有效遷移已經(jīng)完成。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),還包括 整流模塊,用于對(duì)應(yīng)用的小寫(xiě)請(qǐng)求進(jìn)行聚合,將小寫(xiě)請(qǐng)求聚合成粒度對(duì)齊的大寫(xiě),再將所述大寫(xiě)請(qǐng)求轉(zhuǎn)發(fā)到遷移模塊。
13.根據(jù)權(quán)利要求8或9所述的系統(tǒng),所述遷移模塊采用排隊(duì)的方法,將遷移過(guò)程和應(yīng)用請(qǐng)求串行進(jìn)行處理。
全文摘要
本發(fā)明提供一種塊設(shè)備異步數(shù)據(jù)遷移方法和系統(tǒng),所述方法包括1)將源設(shè)備通過(guò)網(wǎng)絡(luò)導(dǎo)出到目標(biāo)結(jié)點(diǎn),并且所述目標(biāo)結(jié)點(diǎn)獲得所述源設(shè)備的數(shù)據(jù)有效性信息;2)根據(jù)所述源設(shè)備的數(shù)據(jù)有效性信息將所述源設(shè)備上的有效數(shù)據(jù)遷移到所述目標(biāo)設(shè)備,從而避免無(wú)效數(shù)據(jù)前已造成的資源浪費(fèi),節(jié)約了遷移成本。根據(jù)本發(fā)明的一個(gè)實(shí)施例,在將源設(shè)備導(dǎo)出到目標(biāo)結(jié)點(diǎn)后,可將應(yīng)用從源結(jié)點(diǎn)切換到目標(biāo)結(jié)點(diǎn)。在保證應(yīng)用持續(xù)在線的同時(shí),縮短了業(yè)務(wù)層感知的遷移時(shí)間。
文檔編號(hào)H04L29/08GK103067506SQ201210585790
公開(kāi)日2013年4月24日 申請(qǐng)日期2012年12月28日 優(yōu)先權(quán)日2012年12月28日
發(fā)明者許魯, 劉昌 , 陳方縣 申請(qǐng)人:中國(guó)科學(xué)院計(jì)算技術(shù)研究所, 天津中科藍(lán)鯨信息技術(shù)有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1