[發(fā)明專利]數(shù)據(jù)同步方法、裝置、系統(tǒng)及計算機可讀存儲介質(zhì)在審
| 申請?zhí)枺?/td> | 202110962016.0 | 申請日: | 2021-08-20 |
| 公開(公告)號: | CN113656503A | 公開(公告)日: | 2021-11-16 |
| 發(fā)明(設(shè)計)人: | 張遠銀;高海釗;王偉;金國賓 | 申請(專利權(quán))人: | 北京健康之家科技有限公司 |
| 主分類號: | G06F16/27 | 分類號: | G06F16/27;G06F16/25;G06F16/28 |
| 代理公司: | 北京超凡宏宇專利代理事務(wù)所(特殊普通合伙) 11463 | 代理人: | 董艷芳 |
| 地址: | 100102 北京市*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 數(shù)據(jù) 同步 方法 裝置 系統(tǒng) 計算機 可讀 存儲 介質(zhì) | ||
1.一種數(shù)據(jù)同步方法,其特征在于,包括:
根據(jù)與源存儲組件對應(yīng)的接入配置信息,將所述源存儲組件中每個服務(wù)實例對應(yīng)的源數(shù)據(jù)實時寫入分布式日志系統(tǒng)Kafka的對應(yīng)主題中;
當監(jiān)聽到存在待處理的同步任務(wù)時,獲取所述同步任務(wù)的配置數(shù)據(jù),所述配置數(shù)據(jù)包括所述源存儲組件、所述Kafka的目標主題和目的存儲組件的地址信息;
根據(jù)所述配置數(shù)據(jù),執(zhí)行所述同步任務(wù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述源存儲組件包括關(guān)系型數(shù)據(jù)庫管理系統(tǒng)MySQL,所述接入配置信息包括庫表的白名單配置信息和主題映射關(guān)系配置信息;所述根據(jù)與源存儲組件對應(yīng)的接入配置信息,將所述源存儲組件中每個服務(wù)實例對應(yīng)的源數(shù)據(jù)實時寫入分布式日志系統(tǒng)Kafka的對應(yīng)主題中,包括:
通過開源中間件Canal將所述MySQL的每個服務(wù)實例偽裝成一個從庫節(jié)點,實時獲取每個所述服務(wù)實例對應(yīng)的二進制日志binlog數(shù)據(jù);
對每個所述服務(wù)實例對應(yīng)的binlog數(shù)據(jù)進行數(shù)據(jù)格式轉(zhuǎn)換,得到每個所述服務(wù)實例對應(yīng)的預(yù)定數(shù)據(jù)格式的源數(shù)據(jù);
根據(jù)所述庫表的白名單配置信息和所述主題映射關(guān)系配置信息,將每個所述服務(wù)實例對應(yīng)的源數(shù)據(jù)寫入所述Kafka的對應(yīng)主題中。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述當監(jiān)聽到存在待處理的同步任務(wù)時,獲取所述同步任務(wù)的配置數(shù)據(jù),包括:
當監(jiān)聽到ZooKeeper創(chuàng)建節(jié)點時,確定存在待處理的同步任務(wù);所述ZooKeeper用于在存入新的同步任務(wù)的配置數(shù)據(jù)時進行節(jié)點創(chuàng)建;
從所述ZooKeeper中獲取所述同步任務(wù)的配置數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述配置數(shù)據(jù),執(zhí)行所述同步任務(wù),包括:
根據(jù)所述配置數(shù)據(jù),啟動與所述同步任務(wù)對應(yīng)的消費者線程;所述消費者線程用于從所述Kafka的目標主題中拉取來自所述源存儲組件的目標源數(shù)據(jù),并將拉取的所述目標源數(shù)據(jù)實時同步至所述目的存儲組件中。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括:
當監(jiān)測到所述消費者線程在運行過程中出現(xiàn)異常中止時,將未處理成功的數(shù)據(jù)發(fā)送至所述Kafka的臨時主題中;
當所述消費者線程重新啟動時,從所述Kafka的臨時主題中重新消費所述未處理成功的數(shù)據(jù)。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括:
實時對所述消費者線程的輸出日志進行監(jiān)控;
當監(jiān)控到所述輸出日志存在異常時,將所述輸出日志中的異常日志條數(shù)和異常日志內(nèi)容發(fā)送至預(yù)設(shè)的終端設(shè)備。
7.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括:
定時對預(yù)設(shè)時長范圍內(nèi)同步完成的數(shù)據(jù)進行一致性校驗,得到校驗結(jié)果,所述校驗結(jié)果包括不一致數(shù)據(jù)和不一致原因;
將所述校驗結(jié)果輸出至指定文件中,以進行數(shù)據(jù)修復(fù)。
8.一種數(shù)據(jù)同步裝置,其特征在于,包括:
寫入模塊,用于根據(jù)與源存儲組件對應(yīng)的接入配置信息,將所述源存儲組件中每個服務(wù)實例對應(yīng)的源數(shù)據(jù)實時寫入分布式日志系統(tǒng)Kafka的對應(yīng)主題中;
獲取模塊,用于當監(jiān)聽到存在待處理的同步任務(wù)時,獲取所述同步任務(wù)的配置數(shù)據(jù),所述配置數(shù)據(jù)包括所述源存儲組件、所述Kafka的目標主題和目的存儲組件的地址信息;
同步模塊,用于根據(jù)所述配置數(shù)據(jù),執(zhí)行所述同步任務(wù)。
9.一種數(shù)據(jù)同步系統(tǒng),其特征在于,包括源存儲組件、數(shù)據(jù)同步設(shè)備和目的存儲組件,所述數(shù)據(jù)同步設(shè)備分別與所述源存儲組件和所述目的存儲組件連接;
所述數(shù)據(jù)同步設(shè)備包括存儲器、處理器,所述存儲器中存儲有可在所述處理器上運行的計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)權(quán)利要求1-7中任一項所述的方法。
10.一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)上存儲有計算機程序,其特征在于,所述計算機程序被處理器運行時執(zhí)行權(quán)利要求1-7中任一項所述的方法。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京健康之家科技有限公司,未經(jīng)北京健康之家科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110962016.0/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





