[發(fā)明專(zhuān)利]一種基于mysql MGR的應(yīng)用故障轉(zhuǎn)移系統(tǒng)及轉(zhuǎn)移方法在審
| 申請(qǐng)?zhí)枺?/td> | 202110732953.7 | 申請(qǐng)日: | 2021-06-30 |
| 公開(kāi)(公告)號(hào): | CN113190374A | 公開(kāi)(公告)日: | 2021-07-30 |
| 發(fā)明(設(shè)計(jì))人: | 朱小容;謝明陽(yáng);馮釗;茍李平;張明;吳博 | 申請(qǐng)(專(zhuān)利權(quán))人: | 四川新網(wǎng)銀行股份有限公司 |
| 主分類(lèi)號(hào): | G06F11/07 | 分類(lèi)號(hào): | G06F11/07;G06F16/27;G06F16/28;H04L29/12 |
| 代理公司: | 成都智言知識(shí)產(chǎn)權(quán)代理有限公司 51282 | 代理人: | 蔣秀清 |
| 地址: | 610094 四川省成都市成都*** | 國(guó)省代碼: | 四川;51 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 mysql mgr 應(yīng)用 故障 轉(zhuǎn)移 系統(tǒng) 方法 | ||
本發(fā)明屬于數(shù)據(jù)轉(zhuǎn)移技術(shù)領(lǐng)域,尤其涉及一種基于mysql MGR的應(yīng)用故障轉(zhuǎn)移系統(tǒng)及轉(zhuǎn)移方法,包括配置模塊和檢測(cè)模塊;所述配置模塊用于配置多個(gè)節(jié)點(diǎn)的mysql MGR集群,并設(shè)置為單主模式,定義任意一個(gè)節(jié)點(diǎn)為主節(jié)點(diǎn);給mysql MGR集群分配一個(gè)域名,域名的生效節(jié)點(diǎn)為主節(jié)點(diǎn);將應(yīng)用程序的連接地址修改為域名;所述檢測(cè)模塊基于MEMBER_ROLE字段變更為PRIMARY字段確定主數(shù)據(jù)庫(kù)已經(jīng)發(fā)生切換;基于read_only參數(shù)的關(guān)閉,判斷新的主數(shù)據(jù)庫(kù)已經(jīng)回放完所有數(shù)據(jù);通過(guò)域名的連接方式,并且通過(guò)對(duì)read_only參數(shù)是否關(guān)閉的判斷,保證了數(shù)據(jù)0丟失的情況下,不會(huì)發(fā)生腦裂現(xiàn)象。
技術(shù)領(lǐng)域
本發(fā)明屬于計(jì)算機(jī)數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域,尤其涉及一種基于mysql MGR的應(yīng)用故障轉(zhuǎn)移系統(tǒng)及轉(zhuǎn)移方法。
背景技術(shù)
mysql MGR實(shí)現(xiàn)了分布式下的數(shù)據(jù)最終一致性,確保了切換過(guò)程中數(shù)據(jù)0丟失。并且MGR提供了數(shù)據(jù)庫(kù)自身的自動(dòng)failover,但是官方未提供驅(qū)動(dòng)層的自動(dòng)切換方案。這樣,即使MGR在主數(shù)據(jù)庫(kù)發(fā)生問(wèn)題時(shí),做到了數(shù)據(jù)0丟失,但是仍然需要人工干預(yù),讓程序再次連接上新的主數(shù)據(jù)庫(kù)。
為了保證數(shù)據(jù)的0丟失,VIP地址也是常用的方式,常用工具如:keepalived;但是在主數(shù)據(jù)庫(kù)和從數(shù)據(jù)庫(kù)在網(wǎng)絡(luò)通信中斷時(shí),采用VIP地址的方式可能發(fā)生腦裂。
發(fā)明內(nèi)容
本發(fā)明提供了一種基于mysql MGR的應(yīng)用故障轉(zhuǎn)移系統(tǒng)及轉(zhuǎn)移方法,擬解決現(xiàn)有技術(shù)中提到主數(shù)據(jù)庫(kù)和從數(shù)據(jù)庫(kù)在網(wǎng)絡(luò)通信中斷時(shí),采用VIP地址的方式可能發(fā)生腦裂。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種基于mysql MGR的應(yīng)用故障轉(zhuǎn)移系統(tǒng),包括配置模塊和檢測(cè)模塊;
所述配置模塊用于配置多個(gè)節(jié)點(diǎn)的mysql MGR集群,并設(shè)置為單主模式,定義任意一個(gè)節(jié)點(diǎn)為主節(jié)點(diǎn);
所述配置模塊給mysql MGR集群分配一個(gè)域名,該域名的生效節(jié)點(diǎn)為所述主節(jié)點(diǎn);
所述配置模塊用于將應(yīng)用程序的連接地址修改為域名;
所述檢測(cè)模塊用于檢測(cè)每個(gè)節(jié)點(diǎn)中的mysql數(shù)據(jù)庫(kù)中的replication_group_members表中MEMBER_ROLE字段是否變更為PRIMARY字段;
所述檢測(cè)模塊用于檢測(cè)每個(gè)節(jié)點(diǎn)中的mysql數(shù)據(jù)庫(kù)中的read_only參數(shù)是否已經(jīng)關(guān)閉;
所述檢測(cè)模塊基于MEMBER_ROLE字段是否變更為PRIMARY字段判斷主數(shù)據(jù)庫(kù)是否已經(jīng)發(fā)生切換;基于read_only參數(shù)是否已經(jīng)關(guān)閉,判斷新的主數(shù)據(jù)庫(kù)是否已經(jīng)回放完所有數(shù)據(jù);
若MEMBER_ROLE字段變更為PRIMARY字,則表示主數(shù)據(jù)庫(kù)已經(jīng)發(fā)生切換;若read_only參數(shù)已經(jīng)關(guān)閉,則表示新的主數(shù)據(jù)庫(kù)已經(jīng)回放完所有數(shù)據(jù)。
本發(fā)明通過(guò)域名的連接方式,并且通過(guò)對(duì)read_only參數(shù)是否關(guān)閉的判斷,保證了數(shù)據(jù)0丟失的情況下,不會(huì)發(fā)生腦裂現(xiàn)象。
當(dāng)主數(shù)據(jù)庫(kù)發(fā)生切換后,原主數(shù)據(jù)庫(kù)就變?yōu)榱藦臄?shù)據(jù)庫(kù),那么多個(gè)從數(shù)據(jù)庫(kù)中的任意一個(gè)從數(shù)據(jù)庫(kù)就切換為了新的主數(shù)據(jù)庫(kù)。此時(shí)域名必然無(wú)法與新的主數(shù)據(jù)庫(kù)相對(duì)應(yīng);因此通過(guò)配置模塊修改當(dāng)前IP地址,使當(dāng)前IP地址與域名對(duì)應(yīng)。
當(dāng)修改后的IP地址與域名對(duì)應(yīng)上后,應(yīng)用程序通過(guò)域名定位新的IP地址,完成與新的主數(shù)據(jù)庫(kù)的重連。
一種基于mysql MGR的應(yīng)用故障轉(zhuǎn)移方法,包括以下步驟:
步驟1:配置模塊搭建多個(gè)節(jié)點(diǎn)的mysql MGR集群,設(shè)置為單主模式,定義任意一個(gè)節(jié)點(diǎn)為主節(jié)點(diǎn);
步驟2:配置模塊給mysql MGR集群分配一個(gè)域名,該域名的生效節(jié)點(diǎn)為所述主節(jié)點(diǎn);
步驟3:配置模塊修改應(yīng)用程序的連接地址為域名;
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于四川新網(wǎng)銀行股份有限公司,未經(jīng)四川新網(wǎng)銀行股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110732953.7/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 一種分布式數(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)
- 客戶(hù)端數(shù)據(jù)的獲取方法及裝置、存儲(chǔ)介質(zhì)、電子設(shè)備
- 獨(dú)立驅(qū)動(dòng)車(chē)輪單元的車(chē)輛驅(qū)動(dòng)力控制設(shè)備
- 四輪驅(qū)動(dòng)式車(chē)輛的驅(qū)動(dòng)力控制裝置
- 馬達(dá)組件
- 車(chē)輛驅(qū)動(dòng)裝置
- 一種同步跨尺度殘余應(yīng)力檢測(cè)裝置
- 一種基于網(wǎng)管數(shù)據(jù)采集的適配器及綜合網(wǎng)管系統(tǒng)
- 一種金融級(jí)基于A10的高可用MySQL數(shù)據(jù)庫(kù)實(shí)現(xiàn)方法
- 一種數(shù)據(jù)庫(kù)高可用性方法、裝置、系統(tǒng)和存儲(chǔ)介質(zhì)
- 一種基于MGR的跨數(shù)據(jù)中心MySQL多活實(shí)現(xiàn)方法
- 一種基于mysql MGR的應(yīng)用故障轉(zhuǎn)移系統(tǒng)及轉(zhuǎn)移方法
- 在線(xiàn)應(yīng)用平臺(tái)上應(yīng)用間通信的回調(diào)應(yīng)答方法、應(yīng)用及在線(xiàn)應(yīng)用平臺(tái)
- 應(yīng)用使用方法、應(yīng)用使用裝置及相應(yīng)的應(yīng)用終端
- 應(yīng)用管理設(shè)備、應(yīng)用管理系統(tǒng)、以及應(yīng)用管理方法
- 能力應(yīng)用系統(tǒng)及其能力應(yīng)用方法
- 應(yīng)用市場(chǎng)的應(yīng)用搜索方法、系統(tǒng)及應(yīng)用市場(chǎng)
- 使用應(yīng)用的方法和應(yīng)用平臺(tái)
- 應(yīng)用安裝方法和應(yīng)用安裝系統(tǒng)
- 使用遠(yuǎn)程應(yīng)用進(jìn)行應(yīng)用安裝
- 應(yīng)用檢測(cè)方法及應(yīng)用檢測(cè)裝置
- 應(yīng)用調(diào)用方法、應(yīng)用發(fā)布方法及應(yīng)用發(fā)布系統(tǒng)





