[發明專利]實時同步數據庫遷移裝置及方法在審
| 申請號: | 202010139193.4 | 申請日: | 2020-03-03 |
| 公開(公告)號: | CN111400276A | 公開(公告)日: | 2020-07-10 |
| 發明(設計)人: | 曹先勝;郭峰;陽鶴翔;金宏洲;程亮 | 申請(專利權)人: | 杭州天谷信息科技有限公司 |
| 主分類號: | G06F16/21 | 分類號: | G06F16/21;G06F16/27;G06F9/54 |
| 代理公司: | 杭州裕陽聯合專利代理有限公司 33289 | 代理人: | 姚宇吉 |
| 地址: | 310000 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 實時 同步 數據庫 遷移 裝置 方法 | ||
本發明公開了一種實時同步數據庫遷移裝置及方法,該系統包括:配置組件;全量遷移組件,用于將全量數據進行數據異構后轉移至目標數據庫;增量遷移組件,用于當所述全量遷移組件完成全量數據遷移時進行增量數據遷移;zookeeper組件,用于協調所述全量遷移組件和所述增量遷移組件;所述增量遷移組件讀取并解析所述源數據庫在全量數據遷移期間的binlog得到增量數據并將所述增量數據進行數據異構后轉移至目標數據庫。本發明的有益之處在于所提供的實時同步數據庫遷移裝置及方法能夠以配置化的方式完成一次完整的數據庫遷移,不用每次進行數據庫遷移時都需要編寫SQL程序。
技術領域
本發明涉及一種實時同步數據庫遷移裝置及方法。
背景技術
分布式系統設計中,數據之間的異構/遷移需求非常多;例如,系統從1.0版本升級到2.0,數據庫中的表結構發生了巨大變更。此時,無法通過修改表結構來實現,只能通過將源庫中的數據遷移到目標數據庫中,并且在遷移的過程中,使用一些技術進行異構。
常用的技術方案一般先停止源數據庫的運行,防止復制過程中,新數據插入到源數據庫中,導致漏掉數據。寫一個SQL腳本,或者能執行SQL的程序,從源數據庫慢慢遍歷出所有的數據,將數據根據某些規則進行清洗或者異構,最后將數據插入到目標數據庫中。
現有技術的缺陷在于:停止源數據庫這對于一些高可用的系統來說是不可接受的。SQL腳本或者SQL程序過于簡單,只能進行簡單的數據異構,無法進行RPC(RemotingProcess Call,遠程方法調用)執行數據異構。同時也無法復用,每次都要重新實現所有邏輯。不支持增量數據同步。
發明內容
本發明提供了一種實時同步數據庫遷移裝置及方法,采用如下的技術方案:
一種實時同步數據庫遷移裝置,包含:
配置組件,用于接收用戶設置的數據遷移配置信息,數據遷移配置信息包括源數據庫地址和目標數據庫地址;
全量遷移組件,用于在接收到數據遷移配置信息后對源數據庫生成一個數據節點并將從源數據庫中獲取到的數據節點前的全量數據進行數據異構后轉移至目標數據庫;
增量遷移組件,用于當全量遷移組件完成全量數據遷移時進行增量數據遷移;
zookeeper組件,用于協調全量遷移組件和增量遷移組件,zookeeper組件包含處于第一狀態的第一參考量;
全量遷移組件在完成全量數據遷移時將第一參考量修改成第二狀態;
增量遷移組件在zookeeper組件的第一參考量處于第二狀態時讀取并解析源數據庫在全量數據遷移期間的binlog得到增量數據并將增量數據進行數據異構后轉移至目標數據庫;
配置組件、全量遷移組件、增量遷移組件和zookeeper組件通過TCP協議進行網絡通信。
進一步地,zookeeper組件還包含處于第一狀態的第二參考量;
增量遷移組件在目標數據庫與源數據庫之間的差異小于閾值時將第二參考量修改成第二狀態;
增量遷移組件在目標數據庫與源數據庫完全相同時將第二參考量修改成第三狀態;
實時同步數據庫遷移裝置還包括:
切換組件,用于在第二參考量為第二狀態時切斷連接至源數據庫的應用程序和源數據庫之間的連接關系并在第二參考量為第三狀態時將應用程序連接至目標數據庫。
進一步地,增量遷移組件在讀取binlog時計算每條操作記錄的時間戳與當前時間的時間差;
當時間差小于第一時間時增量遷移組件將第二參考量修改成第二狀態;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州天谷信息科技有限公司,未經杭州天谷信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010139193.4/2.html,轉載請聲明來源鉆瓜專利網。





