[發(fā)明專利]一種數(shù)據(jù)庫擴容的方法和裝置在審
| 申請?zhí)枺?/td> | 201810936192.5 | 申請日: | 2018-08-16 |
| 公開(公告)號: | CN110858194A | 公開(公告)日: | 2020-03-03 |
| 發(fā)明(設(shè)計)人: | 鄒興生;王彪 | 申請(專利權(quán))人: | 北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司 |
| 主分類號: | G06F16/21 | 分類號: | G06F16/21;G06F16/22;G06F16/27 |
| 代理公司: | 中原信達知識產(chǎn)權(quán)代理有限責(zé)任公司 11219 | 代理人: | 張一軍;張效榮 |
| 地址: | 100195 北京市海淀區(qū)杏石口路6*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù)庫 擴容 方法 裝置 | ||
本發(fā)明公開了一種數(shù)據(jù)庫擴容的方法和裝置,涉及計算機技術(shù)領(lǐng)域。該方法的一具體實施方式包括:獲取數(shù)據(jù)庫監(jiān)控信息,根據(jù)預(yù)先配置的擴容規(guī)則和所述數(shù)據(jù)庫監(jiān)控信息判定是否需要對所述數(shù)據(jù)庫進行擴容;若需要對所述數(shù)據(jù)庫進行擴容,則根據(jù)當(dāng)前數(shù)據(jù)庫分片規(guī)則建立至少一個新庫表;根據(jù)預(yù)設(shè)的路由讀寫規(guī)則,將所述數(shù)據(jù)庫的原始數(shù)據(jù)和新增數(shù)據(jù)分別寫入到對應(yīng)的庫表中;其中,所述庫表包括所述新庫表。該方法在判定數(shù)據(jù)庫需要擴容后,根據(jù)當(dāng)前數(shù)據(jù)庫分片規(guī)則增加新庫表,并基于路由讀寫規(guī)則將數(shù)據(jù)寫入到對應(yīng)庫表中,無需停機部署即可實現(xiàn)自動分庫分表和數(shù)據(jù)遷移。
技術(shù)領(lǐng)域
本發(fā)明涉及計算機領(lǐng)域,尤其涉及一種數(shù)據(jù)庫擴容的方法和裝置。
背景技術(shù)
在開發(fā)企業(yè)級應(yīng)用過程中,關(guān)系型數(shù)據(jù)庫在大于一定數(shù)據(jù)量的情況下檢索性能會急劇下降。當(dāng)需要對海量數(shù)據(jù)進行操作時,如果將所有數(shù)據(jù)保存在一張數(shù)據(jù)表中,往往會超出數(shù)據(jù)表可以存儲的閾值,另外,過多的并發(fā)請求訪問同一個數(shù)據(jù)庫時,數(shù)據(jù)庫的響應(yīng)也會變慢。現(xiàn)有技術(shù)中通過分庫分表策略,將并發(fā)請求分發(fā)到不同的數(shù)據(jù)庫以及數(shù)據(jù)表中,從而解決了大數(shù)據(jù)量和高并發(fā)所導(dǎo)致的數(shù)據(jù)庫檢索性能差和數(shù)據(jù)庫響應(yīng)慢的問題。
在實現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題:
(1)在實現(xiàn)分庫分表過程中,每次增庫增表均需要修改數(shù)據(jù)庫文件,且需要停止服務(wù)器的運行并在服務(wù)器上重新部署應(yīng)用,增加了線上業(yè)務(wù)系統(tǒng)的風(fēng)險;
(2)增庫增表后,原始庫表的數(shù)據(jù)量較大,新庫表的數(shù)據(jù)量較少,導(dǎo)致數(shù)據(jù)存儲不均衡;
(3)在實現(xiàn)分庫分表過程中,需人工進行數(shù)據(jù)遷移,耗費大量的人力成本,而且在數(shù)據(jù)遷移過程中還會影響數(shù)據(jù)的正確性。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實施例提供一種數(shù)據(jù)庫擴容的方法和裝置,在判定數(shù)據(jù)庫需要擴容后,根據(jù)當(dāng)前數(shù)據(jù)庫分片規(guī)則增加新庫表,并基于路由讀寫規(guī)則將數(shù)據(jù)寫入到對應(yīng)庫表中,無需停機部署即可實現(xiàn)自動分庫分表和數(shù)據(jù)遷移。
為實現(xiàn)上述目的,根據(jù)本發(fā)明實施例的一個方面,提供了一種數(shù)據(jù)庫擴容的方法。
本發(fā)明實施例的一種數(shù)據(jù)庫擴容的方法,包括:獲取數(shù)據(jù)庫監(jiān)控信息,根據(jù)預(yù)先配置的擴容規(guī)則和所述數(shù)據(jù)庫監(jiān)控信息判定是否需要對所述數(shù)據(jù)庫進行擴容;若需要對所述數(shù)據(jù)庫進行擴容,則根據(jù)當(dāng)前數(shù)據(jù)庫分片規(guī)則建立至少一個新庫表;根據(jù)預(yù)設(shè)的路由讀寫規(guī)則,將所述數(shù)據(jù)庫的原始數(shù)據(jù)和新增數(shù)據(jù)分別寫入到對應(yīng)的庫表中;其中,所述庫表包括所述新庫表。
可選地,所述數(shù)據(jù)庫監(jiān)控信息包括下列至少一項:數(shù)據(jù)存儲容量、連接利用率和單表數(shù)據(jù)量;所述擴容規(guī)則包括下列至少一項:當(dāng)所述數(shù)據(jù)存儲容量大于第一閾值時,需要對所述數(shù)據(jù)庫進行擴容;當(dāng)所述連接利用率大于第二閾值時,需要對所述數(shù)據(jù)庫進行擴容;以及當(dāng)所述單表數(shù)據(jù)量大于第三閾值時,需要對所述數(shù)據(jù)庫進行擴容。
可選地,數(shù)據(jù)庫分片規(guī)則中設(shè)置有擴容后的數(shù)據(jù)庫和數(shù)據(jù)表的數(shù)量;所述根據(jù)當(dāng)前數(shù)據(jù)庫分片規(guī)則建立至少一個新庫表,包括:根據(jù)所述數(shù)據(jù)庫的數(shù)量、所述數(shù)據(jù)庫中數(shù)據(jù)表的數(shù)量,以及當(dāng)前數(shù)據(jù)庫分片規(guī)則中設(shè)置的擴容后的數(shù)據(jù)庫和數(shù)據(jù)表的數(shù)量,新建對應(yīng)數(shù)量的數(shù)據(jù)庫和數(shù)據(jù)表。
可選地,所述根據(jù)預(yù)設(shè)的路由讀寫規(guī)則,將所述數(shù)據(jù)庫的原始數(shù)據(jù)和新增數(shù)據(jù)分別寫入到對應(yīng)的庫表中,包括:根據(jù)預(yù)設(shè)的路由讀寫規(guī)則,確定所述數(shù)據(jù)庫的每條數(shù)據(jù)所歸屬的庫表;對原始庫表中的原始數(shù)據(jù)進行過濾,將過濾得到的數(shù)據(jù)寫入歸屬的所述新庫表中,記錄當(dāng)前過濾開始時間;判斷所述原始數(shù)據(jù)是否過濾完成,如果未過濾完成,則根據(jù)所述當(dāng)前過濾開始時間和過濾間隔確定下一次過濾開始時間,以繼續(xù)進行下一次過濾,直至所述原始數(shù)據(jù)全部過濾完成;將所述新增數(shù)據(jù)寫入到歸屬的所述庫表中。
可選地,所述路由讀寫規(guī)則基于下述任意一種算法得到:環(huán)狀哈希算法、散列算法和取模算法。
可選地,所述方法還包括:判斷是否擴容成功,如果擴容成功,則更新所述擴容規(guī)則。
該專利技術(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/201810936192.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(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í)行方法及裝置





