[發(fā)明專利]一種數(shù)據(jù)同步的方法和裝置及設(shè)備有效
| 申請(qǐng)?zhí)枺?/td> | 202110202822.8 | 申請(qǐng)日: | 2021-02-23 |
| 公開(公告)號(hào): | CN112905700B | 公開(公告)日: | 2023-03-31 |
| 發(fā)明(設(shè)計(jì))人: | 張杰;蔡輝;廖祥俐;邵顯根;曹偲 | 申請(qǐng)(專利權(quán))人: | 杭州網(wǎng)易云音樂科技有限公司 |
| 主分類號(hào): | G06F16/27 | 分類號(hào): | G06F16/27;G06F16/23;G06F9/54 |
| 代理公司: | 北京同達(dá)信恒知識(shí)產(chǎn)權(quán)代理有限公司 11291 | 代理人: | 李琴 |
| 地址: | 310052 浙江省杭州市蕭山區(qū)錢江世*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù) 同步 方法 裝置 設(shè)備 | ||
本發(fā)明提供了一種數(shù)據(jù)同步的方法和裝置及設(shè)備,所述方法包括:監(jiān)聽采用不同數(shù)據(jù)模型的兩個(gè)數(shù)據(jù)庫分別廣播的數(shù)據(jù)變更消息;當(dāng)任一數(shù)據(jù)庫發(fā)生業(yè)務(wù)操作觸發(fā)的數(shù)據(jù)變更時(shí),廣播攜帶第一數(shù)據(jù)變更類型指示的數(shù)據(jù)變更消息;當(dāng)任一數(shù)據(jù)庫發(fā)生增量數(shù)據(jù)同步操作觸發(fā)的數(shù)據(jù)變更時(shí),廣播攜帶第二變更類型指示的數(shù)據(jù)變更消息;監(jiān)聽到所述攜帶第一變更類型指示的數(shù)據(jù)變更消息時(shí),將其中一個(gè)數(shù)據(jù)庫中變更的數(shù)據(jù)作為待同步數(shù)據(jù),觸發(fā)執(zhí)行將所述待同步數(shù)據(jù)同步到另一數(shù)據(jù)庫的增量數(shù)據(jù)同步操作。利用本發(fā)明提供的方法,可以在采用不同數(shù)據(jù)模型的數(shù)據(jù)庫之間實(shí)現(xiàn)數(shù)據(jù)同步,且避免了數(shù)據(jù)同步環(huán)問題。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種數(shù)據(jù)同步的方法和裝置及設(shè)備。
背景技術(shù)
隨著業(yè)務(wù)的發(fā)展,用戶、產(chǎn)品、運(yùn)營的需求都在變化,當(dāng)數(shù)據(jù)模型無法滿足上述需求時(shí),就需要對(duì)原有數(shù)據(jù)模型進(jìn)行重構(gòu)處理。數(shù)據(jù)模型的重構(gòu)涉及將原數(shù)據(jù)模型的底層數(shù)據(jù)庫中的數(shù)據(jù)同步到新數(shù)據(jù)模型的底層數(shù)據(jù)庫,以保證新數(shù)據(jù)模型能使業(yè)務(wù)正常的運(yùn)轉(zhuǎn);同時(shí),由于業(yè)務(wù)系統(tǒng)的復(fù)雜性,短期內(nèi)無法廢棄舊業(yè)務(wù)系統(tǒng),所以還需要將新數(shù)據(jù)模型的底層數(shù)據(jù)庫中的數(shù)據(jù)同步到原數(shù)據(jù)模型的底層數(shù)據(jù)庫。
數(shù)據(jù)同步中由于數(shù)據(jù)量在億級(jí),同步過程持續(xù)的時(shí)間較長,為了保證不影響用戶的使用,會(huì)存在業(yè)務(wù)系統(tǒng)共用兩個(gè)數(shù)據(jù)庫的階段。在共用數(shù)據(jù)庫的階段,需要保證業(yè)務(wù)操作引起的數(shù)據(jù)在兩個(gè)數(shù)據(jù)庫中的同步。相關(guān)技術(shù)中存在一種雙寫同步的方案,即原有業(yè)務(wù)向原有數(shù)據(jù)模型的底層數(shù)據(jù)庫寫入數(shù)據(jù)的同時(shí),也向新數(shù)據(jù)模型的底層數(shù)據(jù)庫寫入;新業(yè)務(wù)向新數(shù)據(jù)模型的底層數(shù)據(jù)庫寫入數(shù)據(jù)的同時(shí),也向原有數(shù)據(jù)模型的底層數(shù)據(jù)庫寫入。
但是上述方案面對(duì)數(shù)據(jù)量大的數(shù)據(jù)同步時(shí),在業(yè)務(wù)入口雙寫新舊數(shù)據(jù)模型的數(shù)據(jù)庫時(shí),需要耗費(fèi)巨大的工作量,可實(shí)施性不高;同時(shí)新的業(yè)務(wù)也要寫舊的數(shù)據(jù)模型這不利于業(yè)務(wù)系統(tǒng)的可擴(kuò)張性,導(dǎo)致留下很大的長尾的效應(yīng),影響后續(xù)的處理。
發(fā)明內(nèi)容
本發(fā)明提供一種數(shù)據(jù)同步的方法和裝置及設(shè)備,解決現(xiàn)有的雙寫同步方案存在的可實(shí)施性不高且不利于業(yè)務(wù)系統(tǒng)的可擴(kuò)張性的問題。
第一方面,本發(fā)明提供一種數(shù)據(jù)同步的方法,該方法包括:
監(jiān)聽采用不同數(shù)據(jù)模型的兩個(gè)數(shù)據(jù)庫分別廣播的數(shù)據(jù)變更消息;
當(dāng)任一數(shù)據(jù)庫發(fā)生業(yè)務(wù)操作觸發(fā)的數(shù)據(jù)變更時(shí),廣播攜帶第一數(shù)據(jù)變更類型指示的數(shù)據(jù)變更消息;
當(dāng)任一數(shù)據(jù)庫發(fā)生增量數(shù)據(jù)同步操作觸發(fā)的數(shù)據(jù)變更時(shí),廣播攜帶第二變更類型指示的數(shù)據(jù)變更消息;
監(jiān)聽到所述攜帶第一變更類型指示的數(shù)據(jù)變更消息時(shí),將其中一個(gè)數(shù)據(jù)庫中變更的數(shù)據(jù)作為待同步數(shù)據(jù),觸發(fā)執(zhí)行將所述待同步數(shù)據(jù)同步到另一數(shù)據(jù)庫的增量數(shù)據(jù)同步操作。
在一種可能的實(shí)施方式中,執(zhí)行增量數(shù)據(jù)同步操作,包括:
根據(jù)其中一個(gè)數(shù)據(jù)庫中的數(shù)據(jù)模型表與另一個(gè)數(shù)據(jù)庫中的數(shù)據(jù)模型表的映射關(guān)系,執(zhí)行從其中一個(gè)數(shù)據(jù)庫中的數(shù)據(jù)模型表到另一個(gè)數(shù)據(jù)庫中的數(shù)據(jù)模型表的增量數(shù)據(jù)同步操作;
所述映射關(guān)系包括其中一個(gè)數(shù)據(jù)庫中的一個(gè)數(shù)據(jù)模型表關(guān)聯(lián)另一個(gè)數(shù)據(jù)庫中的多個(gè)數(shù)據(jù)模型表的拆分關(guān)系,及其中一個(gè)數(shù)據(jù)庫中的多個(gè)數(shù)據(jù)模型表關(guān)聯(lián)另一個(gè)數(shù)據(jù)庫中一個(gè)數(shù)據(jù)模型表的組合關(guān)系;
所述多個(gè)數(shù)據(jù)模型表中包括一個(gè)主表,其中所述主表中包含對(duì)應(yīng)的數(shù)據(jù)模型的必要表項(xiàng)。
本發(fā)明實(shí)施例提供的數(shù)據(jù)同步的方法,根據(jù)不同數(shù)據(jù)庫的數(shù)據(jù)模型表之間的映射關(guān)系,執(zhí)行數(shù)據(jù)同步操作,解決了多張表往單張表映射,以及單張表往多張表映射的增量數(shù)據(jù)同步的問題,通過在多個(gè)數(shù)據(jù)模型表中確定出一個(gè)主表,以支持復(fù)雜數(shù)據(jù)同步的解決方案,提高了數(shù)據(jù)同步的可行性。
在一種可能的實(shí)施方式中,采用如下方式確定所述多個(gè)數(shù)據(jù)模型表中的主表:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于杭州網(wǎng)易云音樂科技有限公司,未經(jīng)杭州網(wǎng)易云音樂科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110202822.8/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 上一篇:顯示面板和顯示設(shè)備
- 下一篇:一種獲得染色體水平基因組的方法
- 數(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)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





