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