1.一種支持異構(gòu)時(shí)序數(shù)據(jù)庫的數(shù)據(jù)在線遷移方法,其特征在于,包括如下步驟:
步驟1:數(shù)據(jù)遷移前先進(jìn)行目標(biāo)數(shù)據(jù)庫和源數(shù)據(jù)庫的準(zhǔn)備,并確定切換的時(shí)間和頻率;
步驟2:完成目標(biāo)數(shù)據(jù)庫和源數(shù)據(jù)庫的準(zhǔn)備后,部署多路數(shù)據(jù)代理;
步驟3:將多路數(shù)據(jù)代理接入目標(biāo)數(shù)據(jù)庫,設(shè)計(jì)目標(biāo)數(shù)據(jù)庫優(yōu)先級并設(shè)置暫時(shí)禁用業(yè)務(wù)應(yīng)用;
步驟4:啟動源數(shù)據(jù)庫的數(shù)據(jù)泵;
步驟5:將業(yè)務(wù)應(yīng)用的數(shù)據(jù)操作指向多路數(shù)據(jù)代理,重新啟動業(yè)務(wù)應(yīng)用;
步驟6:歷史數(shù)據(jù)和日志數(shù)據(jù)在源數(shù)據(jù)庫進(jìn)行壓縮,并傳到目標(biāo)數(shù)據(jù)庫;
步驟7:目標(biāo)數(shù)據(jù)拾取器接收從源數(shù)據(jù)庫傳入的歷史數(shù)據(jù)并進(jìn)行目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)恢復(fù);
步驟8:根據(jù)原設(shè)定的切換的時(shí)間判斷是否到達(dá)時(shí)間截止點(diǎn);
步驟9:當(dāng)時(shí)間戳未到達(dá)截止點(diǎn)時(shí)間時(shí),返回步驟7;到達(dá)截止點(diǎn)時(shí)間時(shí),進(jìn)入下一步驟;
步驟10:啟動中斷程序,中斷歷史數(shù)據(jù)接收程序,進(jìn)入下一步驟;
步驟11:啟用日志補(bǔ)登程序,對日志數(shù)據(jù)進(jìn)行補(bǔ)登;
步驟12:判斷已經(jīng)傳輸完成的日志數(shù)據(jù)是否補(bǔ)登完成;
步驟13:當(dāng)日志數(shù)據(jù)已經(jīng)補(bǔ)登完成時(shí),進(jìn)入下一步驟;當(dāng)日志數(shù)據(jù)沒有補(bǔ)登完成時(shí),返回步驟11;
步驟14:啟動目標(biāo)數(shù)據(jù)庫的結(jié)點(diǎn)并停用源數(shù)據(jù)庫;
步驟15:多路數(shù)據(jù)代理停止日志創(chuàng)建,創(chuàng)建日志停止標(biāo)識;
步驟16:多路數(shù)據(jù)代理自動切換至目標(biāo)數(shù)據(jù)庫的時(shí)序數(shù)據(jù)庫讀寫;
步驟17:源數(shù)據(jù)庫服務(wù)器正式下線,完成數(shù)據(jù)遷移。
2.根據(jù)權(quán)利要求1所述的一種支持異構(gòu)時(shí)序數(shù)據(jù)庫的數(shù)據(jù)在線遷移方法,其特征在于,所述步驟1數(shù)據(jù)遷移前準(zhǔn)備的具體過程為:
步驟1.1:準(zhǔn)備好一個(gè)目標(biāo)數(shù)據(jù)庫并把目標(biāo)數(shù)據(jù)庫部署好,目標(biāo)數(shù)據(jù)庫為X-DB數(shù)據(jù)庫;
步驟1.2:準(zhǔn)備好源數(shù)據(jù)庫中的歷史數(shù)據(jù)泵;
步驟1.3:準(zhǔn)備好X-DB數(shù)據(jù)庫操作日志創(chuàng)建模塊;
步驟1.4:準(zhǔn)備好X-DB數(shù)據(jù)庫的數(shù)據(jù)操作引擎;
步驟1.5:確定目標(biāo)數(shù)據(jù)庫與源數(shù)據(jù)庫的接口切換的時(shí)間截止點(diǎn),同時(shí)確定數(shù)據(jù)抽取的頻率參數(shù)。
3.根據(jù)權(quán)利要求1所述的一種支持異構(gòu)時(shí)序數(shù)據(jù)庫的數(shù)據(jù)在線遷移方法,其特征在于,所述步驟2中,多路數(shù)據(jù)代理啟動后,需要從配置可讀取可用目標(biāo)結(jié)點(diǎn)及其優(yōu)先級信息,并啟用專用線程周期性檢測各目標(biāo)結(jié)點(diǎn)的可用性、CPU空閑、內(nèi)存空閑、存儲空間和網(wǎng)絡(luò)跳點(diǎn)數(shù)信息,并通過相應(yīng)影響因子計(jì)算其權(quán)限,形成按權(quán)重順序排列的可用服務(wù)節(jié)點(diǎn)列表,當(dāng)節(jié)點(diǎn)讀寫異常時(shí),從節(jié)點(diǎn)列表中優(yōu)先選擇權(quán)重較大的服務(wù)節(jié)點(diǎn)。
4.根據(jù)權(quán)利要求1所述的一種支持異構(gòu)時(shí)序數(shù)據(jù)庫的數(shù)據(jù)在線遷移方法,其特征在于,所述步驟2中,多路數(shù)據(jù)代理攔截并配置源數(shù)據(jù)庫、目標(biāo)數(shù)據(jù)庫數(shù)據(jù)日志和目標(biāo)數(shù)據(jù)庫。
5.根據(jù)權(quán)利要求1所述的一種支持異構(gòu)時(shí)序數(shù)據(jù)庫的數(shù)據(jù)在線遷移方法,其特征在于,所述步驟16中目標(biāo)數(shù)據(jù)庫的時(shí)序數(shù)據(jù)庫讀寫過程為;
步驟16.1:判斷是否有日記停止標(biāo)識;
步驟16.2:當(dāng)有日記停止標(biāo)識時(shí),選擇可用的目標(biāo)服務(wù)器,并對時(shí)序數(shù)據(jù)庫進(jìn)行寫數(shù)操作,完成寫數(shù)過程;當(dāng)沒有日記停止標(biāo)識時(shí),創(chuàng)建目標(biāo)數(shù)據(jù)庫數(shù)據(jù)日志,對目標(biāo)數(shù)據(jù)庫數(shù)據(jù)日志壓縮并傳輸,進(jìn)入步驟11。
6.根據(jù)權(quán)利要求5所述的一種支持異構(gòu)時(shí)序數(shù)據(jù)庫的數(shù)據(jù)在線遷移方法,其特征在于,所述步驟16.2中時(shí)序數(shù)據(jù)庫進(jìn)行寫數(shù)操作中出現(xiàn)異常時(shí)進(jìn)行服務(wù)結(jié)點(diǎn)調(diào)度,服務(wù)結(jié)點(diǎn)調(diào)度的過程為:
步驟16.2.1:啟動數(shù)據(jù)代理,讀入可用的目標(biāo)結(jié)點(diǎn)的信息;
步驟16.2.2:檢測目標(biāo)節(jié)點(diǎn)的可用性、CPU信息、存儲信息、內(nèi)存信息和距離信息;
步驟16.2.3:時(shí)序數(shù)據(jù)庫進(jìn)行寫數(shù)操作;
步驟16.2.4:多路數(shù)據(jù)代理檢測到寫數(shù)異常時(shí),回滾本周期的時(shí)序數(shù)據(jù)讀寫操作;
步驟16.2.5:構(gòu)造目標(biāo)數(shù)據(jù)庫目標(biāo)結(jié)點(diǎn)和權(quán)重表;
步驟16.2.6:關(guān)聯(lián)可用的目標(biāo)結(jié)點(diǎn),并進(jìn)行時(shí)序數(shù)據(jù)存取,完成服務(wù)結(jié)點(diǎn)調(diào)度。
7.根據(jù)權(quán)利要求1所述的一種支持異構(gòu)時(shí)序數(shù)據(jù)庫的數(shù)據(jù)在線遷移方法,其特征在于,所述數(shù)據(jù)在線遷移方法為源數(shù)據(jù)庫向目標(biāo)數(shù)據(jù)庫在業(yè)務(wù)應(yīng)用在線的情況下進(jìn)行數(shù)據(jù)遷移。