[發明專利]一種基于sql的增量數據同步獲取方法及系統在審
| 申請號: | 202110345061.1 | 申請日: | 2021-03-31 |
| 公開(公告)號: | CN112883118A | 公開(公告)日: | 2021-06-01 |
| 發明(設計)人: | 朱傳舉;方建勛;張明哲 | 申請(專利權)人: | 浪潮云信息技術股份公司 |
| 主分類號: | G06F16/27 | 分類號: | G06F16/27;G06F16/25 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 姜明 |
| 地址: | 250100 山東省濟南市高*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 sql 增量 數據 同步 獲取 方法 系統 | ||
本發明公開了一種基于sql的增量數據同步獲取方法及系統,屬于數據庫全量、增量數據同步領域;所述的方法具體步驟包括:S1在數據庫采集端通過執行數據庫sql創建邏輯復制槽;S2采集程序實時獲取表結構和邏輯解碼后的增量數據;S3將邏輯解碼后的字符串數據集二次解析并序列化后通過cmsp傳輸;S4入庫端根據數據庫類型反序列化獲取數據,將數據寫入數據庫;S5當采集需求結束后清理創建的邏輯復制槽;S6獲取數據庫增量數據;本發明方法通過時間戳或增量字段方式無法獲取表結構變化的情況,利用數據庫解析,提高了解析的準確性和效率;將采集數據發送到目的端,目的端根據數據庫類型啟動相應的轉換,入庫模塊實時的將增量數據寫入目的數據庫中。
技術領域
本發明公開一種基于sql的增量數據同步獲取方法及系統,涉及數據庫全量、增量數據同步技術領域。
背景技術
PostgreSQL自9.4+版本之后提供了邏輯復制與邏輯解碼的功能,邏輯復制能實現主備間數據同步,邏輯解碼是內置的插件實現增量數據的結構集的解析,以插件test_decoding舉例,可把增量采集的結果,以字符串表示結果集的形式反饋給用戶;CMSP是云和大數據時代的一種高性能消息中間件,以云服務和集群方式對外提供高性能和高可靠的消息隊列服務,支撐大數據采集、傳輸、匯聚、交換,大數據實時處理和微服務處理架構,CMSP實現的功能如圖3所示;
隨著Postgresql被越來越多的用戶熟悉和使用,目前其本身的功能,并不能實現與其它數據庫間的全量、增量數據同步,為了實現PG與其它數據庫間增量數據同步,我們利用PG9.4版本之后的邏輯復制與解碼技術,在其內置的test_decoding插件解析基礎上,完成二次開發,獲取dml變更記錄,在采集端,通過把數據序列化,通過cmsp傳輸,在入庫端獲取數據,反序列化,根據目的數據庫類型自適配,完成增量數據的同步。
基于現有的時間戳或增量字段的采集方式,所采集數據并不能滿足業務要求,例如:獲取刪除的記錄和時間戳/增量點之前的記錄,就不能滿足,故現發明一種基于sql的增量數據同步獲取方法及系統,以解決上述問題。
發明內容
本發明針對現有技術的問題,提供一種基于sql的增量數據同步獲取方法及系統,所采用的技術方案為:一種基于sql的增量數據同步獲取方法,所述的方法具體步驟包括:
S1在數據庫采集端通過執行數據庫sql創建邏輯復制槽;
S2采集程序實時獲取表結構和邏輯解碼后的增量數據;
S3將邏輯解碼后的字符串數據集二次解析并序列化后通過cmsp傳輸;
S4入庫端根據數據庫類型反序列化獲取數據,將數據寫入數據庫;
S5當采集需求結束后清理創建的邏輯復制槽;
S6獲取數據庫增量數據。
所述S1在數據庫采集端通過執行數據庫sql創建邏輯復制槽的具體步驟包括:
S101針對需要同步的表創建邏輯復制槽;
S102根據業務需求確定邏輯槽管理表的數據同步信息的數量。
所述S3將邏輯解碼后的字符串數據集二次解析并序列化后通過cmsp傳輸的具體步驟包括:
S301通過查詢表結構變化獲取采集表列信息;
S302將結果集中取需要同步的表和同步的字段相結合;
S303將得到的結果集序列化放到cmsp中傳輸。
所述S6的具體步驟包括:
S601解析增量數據判斷是否為表信息
S602解析字符串獲取模式名+表名,同時獲取dml的增量類型;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮云信息技術股份公司,未經浪潮云信息技術股份公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110345061.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:CMOS圖像傳感器及其制造方法
- 下一篇:一種帶閃爍燈伸縮式推雪板
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





