[發(fā)明專利]分布式數(shù)據(jù)庫同步處理的方法和裝置有效
| 申請?zhí)枺?/td> | 201610716743.8 | 申請日: | 2016-08-24 |
| 公開(公告)號: | CN107783975B | 公開(公告)日: | 2021-02-26 |
| 發(fā)明(設(shè)計)人: | 王英杰;丁瓊;周寧;匙凱明 | 申請(專利權(quán))人: | 北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司 |
| 主分類號: | G06F16/27 | 分類號: | G06F16/27 |
| 代理公司: | 中原信達(dá)知識產(chǎn)權(quán)代理有限責(zé)任公司 11219 | 代理人: | 張一軍;姜勁 |
| 地址: | 100195 北京市海淀區(qū)杏石口路6*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 分布式 數(shù)據(jù)庫 同步 處理 方法 裝置 | ||
本發(fā)明提供一種分布式數(shù)據(jù)庫同步處理的方法和裝置,能夠?qū)⑿略龅臉I(yè)務(wù)代碼與現(xiàn)有的業(yè)務(wù)代碼解耦,實(shí)現(xiàn)高性能的數(shù)據(jù)同步處理以及聚合查詢。本發(fā)明的分布式數(shù)據(jù)庫同步處理的方法,多個業(yè)務(wù)系統(tǒng)獨(dú)立地操作所述數(shù)據(jù)庫,每個業(yè)務(wù)系統(tǒng)對應(yīng)一個監(jiān)聽機(jī)構(gòu)、一個數(shù)據(jù)變更日志、一個同步消息隊列和一個消息消費(fèi)者,所述方法包括:每個監(jiān)聽機(jī)構(gòu)監(jiān)聽對應(yīng)的業(yè)務(wù)系統(tǒng)的數(shù)據(jù)變更日志,并且當(dāng)監(jiān)聽到數(shù)據(jù)變更日志發(fā)生變更時,根據(jù)該變更生成數(shù)據(jù)同步消息,并且把該數(shù)據(jù)同步消息置于對應(yīng)的業(yè)務(wù)系統(tǒng)的同步消息隊列;每個消息消費(fèi)者從對應(yīng)的業(yè)務(wù)系統(tǒng)的同步消息隊列中獲取數(shù)據(jù)同步消息,根據(jù)數(shù)據(jù)同步消息獲得待同步數(shù)據(jù),并且把待同步數(shù)據(jù)加載到搜索引擎。
技術(shù)領(lǐng)域
本發(fā)明涉及計算機(jī)和計算機(jī)軟件技術(shù)領(lǐng)域,特別地涉及一種分布式數(shù)據(jù)庫同步處理的方法和裝置。
背景技術(shù)
隨著虛擬業(yè)務(wù)的快速發(fā)展,虛擬業(yè)務(wù)線已經(jīng)深入到各行各業(yè),每條業(yè)務(wù)線的數(shù)據(jù)量也出現(xiàn)了迅猛增長。目前各業(yè)務(wù)系統(tǒng)的壓力都非常大,部分業(yè)務(wù)線的訂單數(shù)據(jù)的存儲架構(gòu)都從MySQL單庫單表的存儲開始向分庫分表、分布式存儲的方向改造升級。在進(jìn)行分布式存儲改造的過程中基本都面臨歷史訂單的遷移、生產(chǎn)訂單的聚合查詢等難題。在解決數(shù)據(jù)同步聚合查詢方面一般通過搜索引擎創(chuàng)建索引來完成,創(chuàng)建索引的過程通過業(yè)務(wù)代碼埋點(diǎn)來解決,但是,這種實(shí)現(xiàn)方式對現(xiàn)有業(yè)務(wù)系統(tǒng)代碼的耦合性高、侵入性強(qiáng)。
常用的數(shù)據(jù)同步處理的實(shí)現(xiàn)方式依賴業(yè)務(wù)代碼,在業(yè)務(wù)代碼實(shí)現(xiàn)流程上加入數(shù)據(jù)同步搜索引擎的處理,或者是通過插入數(shù)據(jù)同步任務(wù),通過異步任務(wù)驅(qū)動的方式實(shí)現(xiàn);或者,以分庫分表中間件取代搜索引擎,例如Cobar、京東云平臺推出的Jproxy等,目前這種分庫分表中間件在解決數(shù)據(jù)同步聚合查詢方面都是通過從每個分庫里面查詢記錄,然后再進(jìn)行聚合返回,而且在數(shù)據(jù)存儲上其實(shí)只做到了數(shù)據(jù)分庫存儲,并不支持分表存儲,每個庫的數(shù)據(jù)量會隨著時間的推移逐漸增大。
在使用過程中,會發(fā)現(xiàn)現(xiàn)有常用的數(shù)據(jù)同步處理的方法具有以下的缺點(diǎn):
1、數(shù)據(jù)同步耦合性高
傳統(tǒng)的通過業(yè)務(wù)代碼流程添加數(shù)據(jù)庫同步的功能,對現(xiàn)有的業(yè)務(wù)代碼耦合性高、侵入性強(qiáng),同時也降低了現(xiàn)有業(yè)務(wù)的處理效率;
2、開發(fā)、維護(hù)成本高
由于同步數(shù)據(jù)功能強(qiáng)耦合現(xiàn)有業(yè)務(wù)流程,故而造成代碼可讀性差,而且需要在數(shù)據(jù)變更的每一個節(jié)點(diǎn)上去進(jìn)行數(shù)據(jù)同步的處理,因此容易出現(xiàn)遺漏,一旦遺漏就會出現(xiàn)數(shù)據(jù)不一致,這點(diǎn)將給開發(fā)團(tuán)隊帶來很大的麻煩;
3、分庫分表中間件性能受限
分庫分表中間件在解決數(shù)據(jù)同步的聚合查詢時,需要通過分庫分表中間件代理服務(wù)查詢每個庫的記錄,然后在內(nèi)存中進(jìn)行數(shù)據(jù)結(jié)果的聚合返回,在涉及數(shù)據(jù)量比較大并且需要進(jìn)行排序分頁的時候,性能堪憂;
4、歷史數(shù)據(jù)遷移風(fēng)險高
利用現(xiàn)有技術(shù)對數(shù)據(jù)庫架構(gòu)進(jìn)行升級改造,基本都涉及到對歷史數(shù)據(jù)的遷移,但是這種遷移的風(fēng)險高,難度大。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種分布式數(shù)據(jù)庫同步處理的方法和裝置,能夠?qū)崿F(xiàn)將新增的業(yè)務(wù)代碼與現(xiàn)有的業(yè)務(wù)代碼解耦,從而實(shí)現(xiàn)高性能的數(shù)據(jù)同步處理以及聚合查詢。
為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了一種分布式數(shù)據(jù)庫同步處理的方法。
一種分布式數(shù)據(jù)庫同步處理的方法,多個業(yè)務(wù)系統(tǒng)獨(dú)立地操作所述數(shù)據(jù)庫,每個業(yè)務(wù)系統(tǒng)對應(yīng)一個監(jiān)聽機(jī)構(gòu)、一個數(shù)據(jù)變更日志、一個同步消息隊列和一個消息消費(fèi)者,所述方法包括:每個所述監(jiān)聽機(jī)構(gòu)監(jiān)聽對應(yīng)的業(yè)務(wù)系統(tǒng)的數(shù)據(jù)變更日志,并且當(dāng)監(jiān)聽到所述數(shù)據(jù)變更日志發(fā)生變更時,根據(jù)該變更生成數(shù)據(jù)同步消息,并且把該數(shù)據(jù)同步消息置于對應(yīng)的業(yè)務(wù)系統(tǒng)的同步消息隊列;每個所述消息消費(fèi)者從對應(yīng)的業(yè)務(wù)系統(tǒng)的同步消息隊列中獲取數(shù)據(jù)同步消息,根據(jù)所述數(shù)據(jù)同步消息獲得待同步數(shù)據(jù),并且把所述待同步數(shù)據(jù)加載到搜索引擎。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司,未經(jīng)北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610716743.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種鍍鉻件環(huán)保清洗液及使用方法
- 下一篇:一種金屬鉻片的清洗方法
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構(gòu)筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構(gòu)筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設(shè)備及存儲介質(zhì)
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置





