[發(fā)明專(zhuān)利]MySQL集群在線擴(kuò)容方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)在審
| 申請(qǐng)?zhí)枺?/td> | 202110374199.4 | 申請(qǐng)日: | 2021-04-07 |
| 公開(kāi)(公告)號(hào): | CN113051252A | 公開(kāi)(公告)日: | 2021-06-29 |
| 發(fā)明(設(shè)計(jì))人: | 黃李強(qiáng);熊志強(qiáng) | 申請(qǐng)(專(zhuān)利權(quán))人: | 深圳市漢云科技有限公司 |
| 主分類(lèi)號(hào): | G06F16/21 | 分類(lèi)號(hào): | G06F16/21;G06F16/27;G06F16/28 |
| 代理公司: | 深圳市特訊知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 44653 | 代理人: | 黃彧 |
| 地址: | 518000 廣東省深圳市南山區(qū)西麗*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | mysql 集群 在線 擴(kuò)容 方法 裝置 設(shè)備 存儲(chǔ) 介質(zhì) | ||
本發(fā)明涉及數(shù)據(jù)庫(kù)處理領(lǐng)域,公開(kāi)了一種MySQL集群在線擴(kuò)容方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。該方法包括:獲取所述MySQL集群在線擴(kuò)容至N個(gè)節(jié)點(diǎn)的擴(kuò)容指令,其中N為大于M的正整數(shù);讀取所述M個(gè)節(jié)點(diǎn)中每個(gè)節(jié)點(diǎn)管理的數(shù)據(jù)量,計(jì)算出所述M個(gè)節(jié)點(diǎn)對(duì)應(yīng)的數(shù)據(jù)總量;根據(jù)所述數(shù)據(jù)總量,計(jì)算出所述N個(gè)節(jié)點(diǎn)中每個(gè)節(jié)點(diǎn)管理的目標(biāo)數(shù)據(jù)量;根據(jù)N個(gè)所述目標(biāo)數(shù)據(jù)量,對(duì)所述M個(gè)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)遷移處理,將所述M個(gè)節(jié)點(diǎn)擴(kuò)展至所述N個(gè)節(jié)點(diǎn)。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫(kù)處理領(lǐng)域,尤其涉及一種MySQL集群在線擴(kuò)容方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù)
MySQL作為性能卓越的單體數(shù)據(jù)庫(kù)被廣泛應(yīng)用與各種業(yè)務(wù)。而隨著數(shù)據(jù)量的不斷增大,單體數(shù)據(jù)庫(kù)已不再滿足業(yè)務(wù)需求,一種可行的方案是由多個(gè)MySQL數(shù)據(jù)庫(kù)組成一個(gè)MySQL集群,并通過(guò)水平分表的方式將一個(gè)表的數(shù)據(jù)拆分到多個(gè)表,以此來(lái)突破單個(gè)MySQL數(shù)據(jù)庫(kù)的限制。Share-Nothing分布式數(shù)據(jù)庫(kù)一般采用這種架構(gòu),存儲(chǔ)層由多個(gè)MySQL單體數(shù)據(jù)庫(kù)節(jié)點(diǎn)組成節(jié)點(diǎn)集群,上層通過(guò)水平分表的方式將一個(gè)表的數(shù)據(jù)按照一定的規(guī)則(通常采用hash算法)分布到集群上。
隨著業(yè)務(wù)的增長(zhǎng),現(xiàn)有集群規(guī)模可能不足以支撐業(yè)務(wù)的需要,單個(gè)表的數(shù)據(jù)量過(guò)大,導(dǎo)致計(jì)算性能降低。這時(shí)候就需要對(duì)集群進(jìn)行擴(kuò)展,將表數(shù)據(jù)水平的分布到更多的節(jié)點(diǎn)上,減少單個(gè)表的數(shù)據(jù)量,提升計(jì)算性能。
在進(jìn)行水平擴(kuò)容的過(guò)程中,如何盡量減少對(duì)業(yè)務(wù)的影響,并保證數(shù)據(jù)不丟失就至關(guān)重要。因此需要一種簡(jiǎn)單、高效的在線水平擴(kuò)容方案,實(shí)現(xiàn)擴(kuò)容過(guò)程對(duì)業(yè)務(wù)透明化,同時(shí)保證數(shù)據(jù)不丟失。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于解決數(shù)據(jù)集群在線擴(kuò)容時(shí)會(huì)對(duì)業(yè)務(wù)的產(chǎn)生巨大影響的技術(shù)問(wèn)題。
本發(fā)明第一方面提供了一種MySQL集群在線擴(kuò)容方法,包括步驟:
獲取所述MySQL集群在線擴(kuò)容至N個(gè)節(jié)點(diǎn)的擴(kuò)容指令,其中N為大于M的正整數(shù);
讀取所述M個(gè)節(jié)點(diǎn)中每個(gè)節(jié)點(diǎn)管理的數(shù)據(jù)量,計(jì)算出所述M個(gè)節(jié)點(diǎn)對(duì)應(yīng)的數(shù)據(jù)總量;
根據(jù)所述數(shù)據(jù)總量,計(jì)算出所述N個(gè)節(jié)點(diǎn)中每個(gè)節(jié)點(diǎn)管理的目標(biāo)數(shù)據(jù)量;
根據(jù)N個(gè)所述目標(biāo)數(shù)據(jù)量,對(duì)所述M個(gè)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)遷移處理,將所述M個(gè)節(jié)點(diǎn)擴(kuò)展至所述N個(gè)節(jié)點(diǎn)。
可選的,在本發(fā)明第一方面的第一種實(shí)現(xiàn)方式中,所述讀取所述M個(gè)節(jié)點(diǎn)中每個(gè)節(jié)點(diǎn)管理的數(shù)據(jù)量,計(jì)算出所述M個(gè)節(jié)點(diǎn)對(duì)應(yīng)的數(shù)據(jù)總量包括:
基于預(yù)置hash函數(shù)對(duì)所述M個(gè)節(jié)點(diǎn)中每個(gè)節(jié)點(diǎn)的每行數(shù)據(jù)進(jìn)行hash值計(jì)算,得到所述M個(gè)節(jié)點(diǎn)對(duì)應(yīng)的hash值集;
統(tǒng)計(jì)所述hash值集中的hash值數(shù)量,得到hash值總數(shù),以及將所述hash值總數(shù)確定為所述M個(gè)節(jié)點(diǎn)對(duì)應(yīng)的數(shù)據(jù)總量。
可選的,在本發(fā)明第一方面的第二種實(shí)現(xiàn)方式中,所述讀取所述M個(gè)節(jié)點(diǎn)中每個(gè)節(jié)點(diǎn)管理的數(shù)據(jù)量,計(jì)算出所述M個(gè)節(jié)點(diǎn)對(duì)應(yīng)的數(shù)據(jù)總量還包括:
基于預(yù)置hash函數(shù)對(duì)所述M個(gè)節(jié)點(diǎn)中每個(gè)節(jié)點(diǎn)的每行數(shù)據(jù)進(jìn)行hash值計(jì)算,得到所述M個(gè)節(jié)點(diǎn)對(duì)應(yīng)的hash值集;
根據(jù)所述hash值集中每個(gè)hash值,生成每個(gè)所述hash值對(duì)應(yīng)的數(shù)據(jù)名稱(chēng),并將每個(gè)數(shù)據(jù)名稱(chēng)與所述數(shù)據(jù)名稱(chēng)對(duì)應(yīng)的hash值進(jìn)行合并,生成hash值名稱(chēng)集;
統(tǒng)計(jì)所述hash值名稱(chēng)集中的hash值數(shù)量,得到hash值總數(shù),以及將所述hash值總數(shù)確定為所述M個(gè)節(jié)點(diǎn)對(duì)應(yīng)的數(shù)據(jù)總量。
可選的,在本發(fā)明第一方面的第三種實(shí)現(xiàn)方式中,所述根據(jù)所述數(shù)據(jù)總量,計(jì)算出所述N個(gè)節(jié)點(diǎn)中每個(gè)節(jié)點(diǎn)管理的目標(biāo)數(shù)據(jù)量包括:
將所述N個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)數(shù)量確定為取余值;
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于深圳市漢云科技有限公司,未經(jīng)深圳市漢云科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110374199.4/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 一種分布式數(shù)據(jù)庫(kù)擴(kuò)容的方法和系統(tǒng)
- 一種MySQL的批量化安裝部署方法
- 一種MySQL高可用性的實(shí)現(xiàn)方法及系統(tǒng)
- MySQL數(shù)據(jù)庫(kù)的集群系統(tǒng)
- 一種容器MySQL主從同步及性能采集實(shí)現(xiàn)方法及系統(tǒng)
- 一種Kubernetes容器平臺(tái)的MySQL數(shù)據(jù)同步方法及系統(tǒng)
- 一種基于哨兵機(jī)制的MySQL故障切換方法及裝置
- 基于OpenStack的MySQL數(shù)據(jù)庫(kù)自動(dòng)創(chuàng)建方法、裝置及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 一種單應(yīng)用多MySQL Set的部署方法及系統(tǒng)
- 客戶端數(shù)據(jù)的獲取方法及裝置、存儲(chǔ)介質(zhì)、電子設(shè)備
- 一種集群調(diào)度呼叫業(yè)務(wù)中主叫終端信息顯示方法
- 更新網(wǎng)絡(luò)流量管理設(shè)備同時(shí)維持有效性
- 與集群調(diào)度系統(tǒng)進(jìn)行通信的方法、群集接入網(wǎng)關(guān)及系統(tǒng)
- 一種管理集群通信系統(tǒng)資源的方法
- 基于Kubernetes和OpenStack容器云平臺(tái)多集群構(gòu)建方法、介質(zhì)、設(shè)備
- 一種容災(zāi)系統(tǒng)、容災(zāi)處理方法、監(jiān)控節(jié)點(diǎn)和備份集群
- 一種ETCD集群恢復(fù)方法、系統(tǒng)、設(shè)備及計(jì)算機(jī)介質(zhì)
- 混合云場(chǎng)景下保證可用集群數(shù)量的方法、裝置及系統(tǒng)
- 一種集群拓?fù)涓路椒ā⑾到y(tǒng)、設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 集群切換方法、集群切換裝置、電子設(shè)備及可讀存儲(chǔ)介質(zhì)
- 用于呈現(xiàn)在線實(shí)體在線狀態(tài)的系統(tǒng)和方法
- 提供web服務(wù)接入的在線系統(tǒng)和方法
- 定制在線圖標(biāo)
- 一種水質(zhì)在線檢測(cè)預(yù)處理裝置
- 在線測(cè)試學(xué)習(xí)方法、系統(tǒng)、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 一種在線文檔的分頁(yè)方法、裝置、設(shè)備以及可讀介質(zhì)
- 一種基于web在線學(xué)習(xí)的資源訪問(wèn)平臺(tái)
- 一種在線學(xué)習(xí)系統(tǒng)
- 在線文檔提交方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 空調(diào)冷媒量確定方法、系統(tǒng)和可讀存儲(chǔ)介質(zhì)
- 實(shí)現(xiàn)存儲(chǔ)系統(tǒng)自動(dòng)精簡(jiǎn)配置動(dòng)態(tài)擴(kuò)容的系統(tǒng)及方法
- 一種基于精簡(jiǎn)配置的存儲(chǔ)空間批量擴(kuò)容的方法及裝置
- 一種數(shù)據(jù)庫(kù)擴(kuò)容方法及系統(tǒng)
- 基站擴(kuò)容方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 一種小區(qū)擴(kuò)容方法及系統(tǒng)
- 一種全文檢索系統(tǒng)擴(kuò)容方法、裝置、設(shè)備及介質(zhì)
- 一種擴(kuò)容包裝盒
- 一種分布式數(shù)據(jù)庫(kù)的在線擴(kuò)容方法
- 網(wǎng)絡(luò)擴(kuò)容方法及裝置
- 一種擴(kuò)容合理性的確定方法及裝置





