一種異構(gòu)數(shù)據(jù)源高效數(shù)據(jù)同步方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及自控的并行數(shù)據(jù)抽取和同步領(lǐng)域,具體涉及一種異構(gòu)數(shù)據(jù)源高效數(shù)據(jù)同步方法。
【背景技術(shù)】
[0002]ETL中海量數(shù)據(jù)抽取的方法,現(xiàn)有的ETL數(shù)據(jù)抽取工具可以進(jìn)行異構(gòu)數(shù)據(jù)的數(shù)據(jù)抽取和轉(zhuǎn)移,通過(guò)編寫(xiě)SQL或腳本的方式來(lái)實(shí)現(xiàn),但現(xiàn)有的方法多為串行執(zhí)行,并且對(duì)多個(gè)數(shù)據(jù)源之間需要執(zhí)行相同的邏輯,而且ETL服務(wù)為單點(diǎn),造成了抽取效率較低。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的技術(shù)任務(wù)是針對(duì)現(xiàn)有技術(shù)的不足,提供一種異構(gòu)數(shù)據(jù)源高效數(shù)據(jù)同步方法。使用PAX0S —致性算法約束的ETL服務(wù)集群,自組織任務(wù)策略,并行執(zhí)行。
[0004]本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:
一種異構(gòu)數(shù)據(jù)源高效數(shù)據(jù)同步方法,使用ETL的方式,在異構(gòu)數(shù)據(jù)庫(kù)之間的同步數(shù)據(jù),在多個(gè)同步服務(wù)器上并行執(zhí)行多個(gè)數(shù)據(jù)庫(kù)之間的同步任務(wù)。
[0005]使用PAX0S —致性算法選舉主服務(wù),由主服務(wù)來(lái)生成和調(diào)度任務(wù),并整理結(jié)果,返回結(jié)果。
[0006]構(gòu)建ETL服務(wù)集群,由libpaxos3庫(kù)實(shí)現(xiàn)的PAX0S算法選舉出ETLserver的主節(jié)點(diǎn),由主節(jié)點(diǎn)讀取配置,梳理成任務(wù)池的形式,然后通知所有ETL服務(wù)從任務(wù)池中領(lǐng)取任務(wù),并確保任務(wù)唯一,任務(wù)執(zhí)行后,將執(zhí)行結(jié)果反饋給任務(wù)池。由主節(jié)點(diǎn)匯總結(jié)果輸出。
[0007]本發(fā)明的一種異構(gòu)數(shù)據(jù)源高效數(shù)據(jù)同步方法與現(xiàn)有技術(shù)相比,所產(chǎn)生的有益效果是:經(jīng)過(guò)測(cè)試單個(gè)ETL工具在百兆網(wǎng)絡(luò)內(nèi),同步單行大小為512Byte的數(shù)據(jù)時(shí),速度為260行每秒左右,改為ETL集群后,在帶寬充足的情況下,單庫(kù)對(duì)多庫(kù)的同步,速度大約為260*0.8* (ETL節(jié)點(diǎn)數(shù))每秒。
【具體實(shí)施方式】
[0008]下面對(duì)本發(fā)明的一種異構(gòu)數(shù)據(jù)源高效數(shù)據(jù)同步方法作以下詳細(xì)地說(shuō)明。
[0009]—種異構(gòu)數(shù)據(jù)源高效數(shù)據(jù)同步方法,使用ETL的方式,在異構(gòu)數(shù)據(jù)庫(kù)之間的同步數(shù)據(jù),在多個(gè)同步服務(wù)器上并行執(zhí)行多個(gè)數(shù)據(jù)庫(kù)之間的同步任務(wù)。
[0010]使用PAX0S —致性算法選舉主服務(wù),由主服務(wù)來(lái)生成和調(diào)度任務(wù),并整理結(jié)果,返回結(jié)果。
[0011]構(gòu)建ETL服務(wù)集群,由libpaxos3庫(kù)實(shí)現(xiàn)的PAX0S算法選舉出ETLserver的主節(jié)點(diǎn),由主節(jié)點(diǎn)讀取配置,梳理成任務(wù)池的形式,然后通知所有ETL服務(wù)從任務(wù)池中領(lǐng)取任務(wù),并確保任務(wù)唯一,任務(wù)執(zhí)行后,將執(zhí)行結(jié)果反饋給任務(wù)池。由主節(jié)點(diǎn)匯總結(jié)果輸出。
[0012]經(jīng)過(guò)測(cè)試單個(gè)ETL工具在百兆網(wǎng)絡(luò)內(nèi),同步單行大小為512Byte的數(shù)據(jù)時(shí),速度為260行每秒左右,改為ETL集群后,在帶寬充足的情況下,單庫(kù)對(duì)多庫(kù)的同步,速度大約為 260*0.8* (ETL節(jié)點(diǎn)數(shù))每秒。
【主權(quán)項(xiàng)】
1.一種異構(gòu)數(shù)據(jù)源高效數(shù)據(jù)同步方法,其特征在于,使用ETL的方式,在異構(gòu)數(shù)據(jù)庫(kù)之間的同步數(shù)據(jù),在多個(gè)同步服務(wù)器上并行執(zhí)行多個(gè)數(shù)據(jù)庫(kù)之間的同步任務(wù)。2.根據(jù)權(quán)利要求1所述的一種異構(gòu)數(shù)據(jù)源高效數(shù)據(jù)同步方法,其特征在于使用PAXOS一致性算法選舉主服務(wù),由主服務(wù)來(lái)生成和調(diào)度任務(wù),并整理結(jié)果,返回結(jié)果。
【專利摘要】本發(fā)明提供一種異構(gòu)數(shù)據(jù)源高效數(shù)據(jù)同步方法,使用ETL的方式,在異構(gòu)數(shù)據(jù)庫(kù)之間的同步數(shù)據(jù),在多個(gè)同步服務(wù)器上并行執(zhí)行多個(gè)數(shù)據(jù)庫(kù)之間的同步任務(wù)。使用PAXOS一致性算法選舉主服務(wù),由主服務(wù)來(lái)生成和調(diào)度任務(wù),并整理結(jié)果,返回結(jié)果。本發(fā)明對(duì)多個(gè)數(shù)據(jù)源的數(shù)據(jù)抽取構(gòu)建ETL集群,提高了抽取效率。
【IPC分類】G06F17/30
【公開(kāi)號(hào)】CN105389380
【申請(qǐng)?zhí)枴緾N201510810139
【發(fā)明人】李光學(xué), 陳堯
【申請(qǐng)人】浪潮軟件股份有限公司
【公開(kāi)日】2016年3月9日
【申請(qǐng)日】2015年11月23日