[發(fā)明專利]數(shù)據(jù)同步方法、系統(tǒng)、服務(wù)器及存儲(chǔ)介質(zhì)在審
| 申請?zhí)枺?/td> | 202310073103.X | 申請日: | 2023-01-13 |
| 公開(公告)號(hào): | CN116303764A | 公開(公告)日: | 2023-06-23 |
| 發(fā)明(設(shè)計(jì))人: | 張昆;李保進(jìn);熊學(xué)武;韋利東 | 申請(專利權(quán))人: | 上海泛微軟件有限公司 |
| 主分類號(hào): | G06F16/27 | 分類號(hào): | G06F16/27;G06F16/25;G06F16/22;G06F16/23 |
| 代理公司: | 成都頂峰專利事務(wù)所(普通合伙) 51224 | 代理人: | 曹源 |
| 地址: | 200000 上*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 數(shù)據(jù) 同步 方法 系統(tǒng) 服務(wù)器 存儲(chǔ) 介質(zhì) | ||
本發(fā)明公開了一種數(shù)據(jù)同步方法、系統(tǒng)、服務(wù)器及存儲(chǔ)介質(zhì),涉及數(shù)據(jù)同步技術(shù)領(lǐng)域。數(shù)據(jù)同步方法用于源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫之間的數(shù)據(jù)同步更新,該數(shù)據(jù)同步方法包括:生產(chǎn)端將源數(shù)據(jù)庫中的更新數(shù)據(jù)寫入中間表,并在中間表中寫入更新數(shù)據(jù)的數(shù)據(jù)同步狀態(tài)為未同步;生產(chǎn)端掃描中間表中數(shù)據(jù)同步狀態(tài)為未同步的目標(biāo)數(shù)據(jù),并將目標(biāo)數(shù)據(jù)發(fā)送至消息隊(duì)列;消費(fèi)端消費(fèi)消息隊(duì)列中的數(shù)據(jù),并將被消費(fèi)數(shù)據(jù)寫入目標(biāo)數(shù)據(jù)庫。本發(fā)明公開的數(shù)據(jù)同步方法、系統(tǒng)、服務(wù)器及存儲(chǔ)介質(zhì)可十分方便的完成源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫之間的數(shù)據(jù)同步更新,且支持各類型數(shù)據(jù)庫之間的數(shù)據(jù)同步更新,使得數(shù)據(jù)同步更新的應(yīng)用場景不再局限于MySQL數(shù)據(jù)庫。
技術(shù)領(lǐng)域
本發(fā)明屬于數(shù)據(jù)同步技術(shù)領(lǐng)域,具體涉及一種數(shù)據(jù)同步方法、系統(tǒng)、服務(wù)器及存儲(chǔ)介質(zhì)。
背景技術(shù)
為保證數(shù)據(jù)安全,通常會(huì)采用數(shù)據(jù)同步的方式將源數(shù)據(jù)庫中變化的數(shù)據(jù)同步到目標(biāo)數(shù)據(jù)庫。目前,現(xiàn)有的數(shù)據(jù)同步大都是通過基于MySQL(MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL?AB公司開發(fā),屬于Oracle旗下產(chǎn)品。MySQL是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一)的高性能數(shù)據(jù)同步系統(tǒng)Canal獲取binlog(binlog是一個(gè)二進(jìn)制格式的文件,用于記錄用戶對數(shù)據(jù)庫更新的SQL語句信息)中的數(shù)據(jù)并解析,然后將數(shù)據(jù)變動(dòng)傳輸給下游的目標(biāo)數(shù)據(jù)庫,實(shí)現(xiàn)數(shù)據(jù)同步。
然而采用這樣的方式,在進(jìn)行數(shù)據(jù)同步時(shí)源數(shù)據(jù)庫就要求必須是MySQL數(shù)據(jù)庫,這大大限制了數(shù)據(jù)同步的應(yīng)用場景。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種數(shù)據(jù)同步方法、系統(tǒng)、服務(wù)器及存儲(chǔ)介質(zhì),用以解決現(xiàn)有技術(shù)中存在的上述問題。
為了實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:
第一方面,本發(fā)明提供了一種數(shù)據(jù)同步方法,用于源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫之間的數(shù)據(jù)同步更新,包括:
生產(chǎn)端將源數(shù)據(jù)庫中的更新數(shù)據(jù)寫入中間表,并在所述中間表中寫入所述更新數(shù)據(jù)的數(shù)據(jù)同步狀態(tài)為未同步;
生產(chǎn)端掃描所述中間表中數(shù)據(jù)同步狀態(tài)為未同步的目標(biāo)數(shù)據(jù),并將所述目標(biāo)數(shù)據(jù)發(fā)送至消息隊(duì)列;
消費(fèi)端消費(fèi)所述消息隊(duì)列中的數(shù)據(jù),并將被消費(fèi)數(shù)據(jù)寫入目標(biāo)數(shù)據(jù)庫。
在一個(gè)可能的設(shè)計(jì)中,在生產(chǎn)端將源數(shù)據(jù)庫中的更新數(shù)據(jù)寫入中間表之后,所述方法還包括:
生產(chǎn)端在所述中間表中寫入所述更新數(shù)據(jù)的數(shù)據(jù)更新類型;
生產(chǎn)端將被消費(fèi)數(shù)據(jù)寫入目標(biāo)數(shù)據(jù)庫,包括:
生產(chǎn)端依據(jù)將被消費(fèi)數(shù)據(jù)所對應(yīng)的數(shù)據(jù)更新類型,將被消費(fèi)數(shù)據(jù)寫入目標(biāo)數(shù)據(jù)庫;
其中,被消費(fèi)數(shù)據(jù)所對應(yīng)的數(shù)據(jù)更新類型為數(shù)據(jù)插入、數(shù)據(jù)更新或數(shù)據(jù)刪除。
在一個(gè)可能的設(shè)計(jì)中,在生產(chǎn)端將所述目標(biāo)數(shù)據(jù)發(fā)送至消息隊(duì)列之后,所述方法還包括:
生產(chǎn)端將所述目標(biāo)數(shù)據(jù)的數(shù)據(jù)同步狀態(tài)更新為數(shù)據(jù)同步中;
在消費(fèi)端將被消費(fèi)數(shù)據(jù)寫入目標(biāo)數(shù)據(jù)庫之后,所述方法還包括:
消費(fèi)端將所述中間表中與被消費(fèi)數(shù)據(jù)對應(yīng)的數(shù)據(jù)的數(shù)據(jù)同步狀態(tài)更新為已完成更新。
在一個(gè)可能的設(shè)計(jì)中,在生產(chǎn)端將所述目標(biāo)數(shù)據(jù)發(fā)送至消息隊(duì)列之前,所述方法還包括:
生產(chǎn)端對所述目標(biāo)數(shù)據(jù)加上分布式鎖。
在一個(gè)可能的設(shè)計(jì)中,生產(chǎn)端掃描所述中間表中數(shù)據(jù)同步狀態(tài)為未同步的目標(biāo)數(shù)據(jù),包括:
生產(chǎn)端以心跳的方式掃描所述中間表中數(shù)據(jù)同步狀態(tài)為未同步的目標(biāo)數(shù)據(jù)。
第二方面,本發(fā)明提供了一種數(shù)據(jù)同步系統(tǒng),用于源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫之間的數(shù)據(jù)同步更新,包括:
該專利技術(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/202310073103.X/2.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)裝置
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測試終端的測試方法
- 一種服裝用人體測量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





