,所述數(shù)據(jù)增量應用包括如下步驟:首先,讀取數(shù)據(jù)增量應用配置表,連接相應的數(shù)據(jù)庫;然后,讀取增量數(shù)據(jù)文件,解析完成后寫入目標表中。最后,重復上述一步的步驟,持續(xù)應用增量的數(shù)據(jù)。
[0095]其中,數(shù)據(jù)增量應用配置表中的相關(guān)信息包括但不限于源數(shù)據(jù)庫信息、源表名信息、源字段名信息、目標數(shù)據(jù)庫信息、目標表名信息、目標字段名信息、字段順序信息。
[0096]同時,本發(fā)明還提供一種采用上述的實現(xiàn)異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步的方法的異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步系統(tǒng),所述系統(tǒng)包括數(shù)據(jù)配置模塊;數(shù)據(jù)同步的數(shù)據(jù)增量捕獲模塊;全量數(shù)據(jù)的同步模塊;增量數(shù)據(jù)同步模塊。
[0097]所述數(shù)據(jù)配置模塊包括但不限于配置基本數(shù)據(jù)作業(yè)單元模塊、配置數(shù)據(jù)作業(yè)流模塊、配置數(shù)據(jù)作業(yè)流定時任務模塊。
[0098]所述配置基本數(shù)據(jù)作業(yè)單元模塊包括選擇操作類型的模塊;輸入上述數(shù)據(jù)作業(yè)單元的操作類型對應的參數(shù)的模塊;保存相應的數(shù)據(jù)操作作業(yè)的模塊。所述操作類型對應的參數(shù)包括數(shù)據(jù)庫相關(guān)參數(shù)和HADOOP相關(guān)參數(shù)。所述數(shù)據(jù)庫相關(guān)參數(shù)包括但不限于數(shù)據(jù)庫名稱、數(shù)據(jù)庫用戶名、數(shù)據(jù)庫表名、SQL語句。所述HADOOP相關(guān)參數(shù)的格式為:〈she 11>she11腳本內(nèi)容〈/shell〉;〈pig>pig腳本內(nèi)容</pig> ;文件路徑;文件名稱;文件是否分割。
[0099]所述數(shù)據(jù)同步的數(shù)據(jù)增量捕獲模塊中包括數(shù)據(jù)增量文件信息表,所述數(shù)據(jù)增量文件信息表的文件格式包括但不限于元數(shù)據(jù)文件和數(shù)據(jù)文件。
[0100]所述元數(shù)據(jù)文件的格式為:表名+ 0x07 +字段列表+ 0x07 +字段類型列表+0x07 +主鍵字段名+ 0x07 +主鍵字段類型。所述字段列表=字段I + OxlB +字段2 +OxlB +...+字段η。所述字段類型列表==字段I + OxlB +字段2 + OxlB +...+字段η。所述主鍵字段名=字段I + OxlB +字段2 + OxlB +...+字段η。所述主鍵字段類型列表=字段I + OxlB +字段2 + OxlB +...+字段η。
[0101]所述數(shù)據(jù)文件以數(shù)據(jù)生成的時間戳命名。所述數(shù)據(jù)文件的形式為:行分隔符為0x08 ;每行數(shù)據(jù)格式:刪除=D + 0x07 +日志序號+ 0x07 +主鍵值;新增=I + 0x07+日志序號+ 0x07 +主鍵值+ 0x07 +字段I值+ OxlB +字段2值+ OxlB +...+字段η值;修改=U + 0x07 +日志序號+ 0x07 +主鍵值+ 0x07 +字段I值+ OxlB +字段2值+ OxlB +...+字段η值; 字段空值時保存為ΛΝ。
[0102]所述增量數(shù)據(jù)同步模塊包括數(shù)據(jù)增量應用配置表,所述數(shù)據(jù)增量應用配置表中的相關(guān)信息包括但不限于源數(shù)據(jù)庫信息、源表名信息、源字段名信息、目標數(shù)據(jù)庫信息、目標表名信息、目標字段名信息、字段順序信息。
[0103]上述詳細描述通過實施例和/或示意圖闡明了系統(tǒng)和/或過程的各種實施例。就這些示意圖和/或包含一個或多個功能和/或操作而言,本領域技術(shù)人員將理解,這些示意圖或?qū)嵤├械拿恳粋€功能和/或操作都可由各種各樣的硬件、軟件、固件、或?qū)嶋H上其任意組合來單獨地和/或共同地實現(xiàn)。
[0104]應該理解,本文描述的方法可以結(jié)合硬件或軟件,或在適當時結(jié)合兩者的組合來實現(xiàn)。因此,本發(fā)明的方法,可以采用包含在諸如軟盤、CD-ROM、硬盤驅(qū)動器或任何其他機器可讀存儲介質(zhì)等有形介質(zhì)中的程序代碼(即,指令)的形式,其中,當程序代碼在可編程計算機上執(zhí)行的情況下,計算設備通常包括處理器、該處理器可讀的存儲介質(zhì)(包括易失性存儲器和/或存儲元件)、至少一個輸入設備、以及至少一個輸出設備。一個或多個程序可以例如,通過使用API,可重用控件等來實現(xiàn)或利用結(jié)合本發(fā)明描述的過程。這樣的程序優(yōu)選地用高級過程語言或面向?qū)ο缶幊陶Z言來實現(xiàn),以與計算機系統(tǒng)通信。然而,如果需要,該程序可以用匯編語言或機器語言來實現(xiàn)。在任何情形中,語言可以是編譯語言或解釋語言,且與硬件實現(xiàn)相結(jié)合。
[0105]需要說明的是,本發(fā)明的一種實現(xiàn)異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步的方法以及采用所述方法的異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步系統(tǒng)的方案的范疇包括但不限于上述各部分之間的任意組合。
[0106]盡管具體地參考其優(yōu)選實施例來示出并描述了本發(fā)明,但本領域的技術(shù)人員可以理解,可以做出形式和細節(jié)上的各種改變而不脫離所附權(quán)利要求書中所述的本發(fā)明的范圍。以上結(jié)合本發(fā)明的具體實施例做了詳細描述,但并非是對本發(fā)明的限制。凡是依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所做的任何簡單修改,均仍屬于本發(fā)明技術(shù)方案的范圍。
【主權(quán)項】
1.一種實現(xiàn)異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步的方法,包括如下步驟: a)異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步的準備工作,對數(shù)據(jù)進行配置; b)數(shù)據(jù)同步的數(shù)據(jù)增量捕獲; c)全量數(shù)據(jù)的同步; d)增量數(shù)據(jù)同步。
2.如權(quán)利要求1所述的實現(xiàn)異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步的方法,其特征在于,所述對數(shù)據(jù)進行配置包括但不限于配置基本數(shù)據(jù)作業(yè)單元、配置數(shù)據(jù)作業(yè)流、配置數(shù)據(jù)作業(yè)流定時任務。
3.如權(quán)利要求2所述的實現(xiàn)異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步的方法,其特征在于,所述配置基本數(shù)據(jù)作業(yè)單元包括如下步驟: 選擇操作類型; 輸入上述數(shù)據(jù)作業(yè)單元的操作類型對應的參數(shù); 保存相應的數(shù)據(jù)操作作業(yè)。
4.如權(quán)利要求3所述的實現(xiàn)異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步的方法,其特征在于,所述數(shù)據(jù)作業(yè)單元支持的所述操作類型包括從ORACLE數(shù)據(jù)表到GP數(shù)據(jù)表的數(shù)據(jù)操作。
5.如權(quán)利要求3所述的實現(xiàn)異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步的方法,其特征在于,所述數(shù)據(jù)作業(yè)單元支持的所述操作類型還包括從ORACLE數(shù)據(jù)表到ORACLE數(shù)據(jù)表的數(shù)據(jù)操作。
6.一種采用如權(quán)利要求1所述的實現(xiàn)異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步的方法的異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步系統(tǒng),其特征在于,所述系統(tǒng)包括數(shù)據(jù)配置模塊;數(shù)據(jù)同步的數(shù)據(jù)增量捕獲模塊;全量數(shù)據(jù)的同步模塊;增量數(shù)據(jù)同步模塊。
7.如權(quán)利要求6所述的實現(xiàn)異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步的系統(tǒng),其特征在于,所述數(shù)據(jù)配置模塊包括但不限于配置基本數(shù)據(jù)作業(yè)單元模塊、配置數(shù)據(jù)作業(yè)流模塊、配置數(shù)據(jù)作業(yè)流定時任務模塊。
8.如權(quán)利要求7所述的實現(xiàn)異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步的系統(tǒng),其特征在于,所述配置基本數(shù)據(jù)作業(yè)單元模塊包括選擇操作類型的模塊;輸入上述數(shù)據(jù)作業(yè)單元的操作類型對應的參數(shù)的模塊;保存相應的數(shù)據(jù)操作作業(yè)的模塊。
9.如權(quán)利要求8所述的實現(xiàn)異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步的系統(tǒng),其特征在于,所述操作類型對應的參數(shù)包括數(shù)據(jù)庫相關(guān)參數(shù)和HADOOP相關(guān)參數(shù)。
10.如權(quán)利要求9所述的實現(xiàn)異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步的系統(tǒng),其特征在于,所述數(shù)據(jù)庫相關(guān)參數(shù)包括但不限于數(shù)據(jù)庫名稱、數(shù)據(jù)庫用戶名、數(shù)據(jù)庫表名、SQL語句。
【專利摘要】本發(fā)明提供一種實現(xiàn)異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步的方法,同時還提供基于該方法的異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步系統(tǒng)。所述數(shù)據(jù)同步的方法包括如下步驟:a)異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步的準備工作,對數(shù)據(jù)進行配置;b)數(shù)據(jù)同步的數(shù)據(jù)增量捕獲;c)全量數(shù)據(jù)的同步;d)增量數(shù)據(jù)同步。本發(fā)明所述的實現(xiàn)異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步的方法和系統(tǒng)能夠兼容各種數(shù)據(jù)存儲,并且高效地進行數(shù)據(jù)同步與交換的技術(shù)和工具,以滿足企業(yè)對內(nèi)及對外業(yè)務的各方面數(shù)據(jù)需求。
【IPC分類】G06F17-30
【公開號】CN104778175
【申請?zhí)枴緾N201410013022
【發(fā)明人】李雷, 劉文濤
【申請人】世紀禾光科技發(fā)展(北京)有限公司
【公開日】2015年7月15日
【申請日】2014年1月13日