[發(fā)明專(zhuān)利]一種數(shù)據(jù)庫(kù)高可用零丟失解決方法在審
| 申請(qǐng)?zhí)枺?/td> | 201710353032.3 | 申請(qǐng)日: | 2017-05-18 |
| 公開(kāi)(公告)號(hào): | CN107357800A | 公開(kāi)(公告)日: | 2017-11-17 |
| 發(fā)明(設(shè)計(jì))人: | 羅小波;李建輝;熊中哲;魏興華;臧冰凌;李春;陳棟;張文件;羅春 | 申請(qǐng)(專(zhuān)利權(quán))人: | 杭州沃趣科技股份有限公司 |
| 主分類(lèi)號(hào): | G06F17/30 | 分類(lèi)號(hào): | G06F17/30 |
| 代理公司: | 浙江杭知橋律師事務(wù)所33256 | 代理人: | 王梨華,陳麗霞 |
| 地址: | 310052 浙江省杭州市濱江區(qū)長(zhǎng)河街道濱*** | 國(guó)省代碼: | 浙江;33 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù)庫(kù) 可用 丟失 解決方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域,尤其涉及了一種數(shù)據(jù)庫(kù)高可用零丟失解決方法。
背景技術(shù)
眾所周知,在數(shù)據(jù)庫(kù)軟件、數(shù)據(jù)庫(kù)服務(wù)器操作系統(tǒng)、數(shù)據(jù)庫(kù)服務(wù)器硬件等出現(xiàn)故障的情況下,數(shù)據(jù)庫(kù)的數(shù)據(jù)將會(huì)丟失。并且在數(shù)據(jù)庫(kù)本身或者數(shù)據(jù)庫(kù)所在服務(wù)器發(fā)生故障的情況下,對(duì)外提供的業(yè)務(wù)將被中斷。
為了避免上述情況的發(fā)生,目前市面上主要有兩種類(lèi)型的解決方案:
1、高可用優(yōu)先類(lèi)型方案:
當(dāng)主庫(kù)出現(xiàn)故障時(shí),自動(dòng)把對(duì)外提供讀寫(xiě)服務(wù)的IP切換到備庫(kù)上,最大程度上保證業(yè)務(wù)的可用性,但是,這種方案大多數(shù)高可用管理軟件并不保證數(shù)據(jù)安全,而是保證高可用。
2、防止數(shù)據(jù)丟失優(yōu)先類(lèi)型方案:
當(dāng)主庫(kù)發(fā)生故障時(shí),會(huì)優(yōu)先嘗試對(duì)從庫(kù)進(jìn)行數(shù)據(jù)補(bǔ)償再進(jìn)行高可用切換(甚至一些解決方案僅僅只是補(bǔ)償數(shù)據(jù)而不做高可用切換),但是在主庫(kù)操作系統(tǒng)或者硬件級(jí)別的故障,或者突然掉電時(shí),主庫(kù)上的數(shù)據(jù)來(lái)不及發(fā)送到從庫(kù)上時(shí),也可能會(huì)丟失數(shù)據(jù),這種類(lèi)型的解決方案只是盡量補(bǔ)償數(shù)據(jù),并不能保證數(shù)據(jù)零丟失。
另外,兩種類(lèi)型的解決方案在一些場(chǎng)景下都存在腦裂的可能性,從而帶來(lái)其他的一些風(fēng)險(xiǎn)。
發(fā)明內(nèi)容
本發(fā)明針對(duì)現(xiàn)有技術(shù)中花費(fèi)時(shí)間多,存在腦裂風(fēng)險(xiǎn)的缺點(diǎn),提供了一種數(shù)據(jù)庫(kù)高可用零丟失解決方法。
為了解決上述技術(shù)問(wèn)題,本發(fā)明通過(guò)下述技術(shù)方案得以解決。
一種數(shù)據(jù)庫(kù)高可用零丟失解決方法,包括如下步驟:
(1)啟動(dòng)集群管理軟件,持續(xù)檢測(cè)主庫(kù)狀態(tài);
(2)當(dāng)主機(jī)正常狀態(tài)時(shí)候,集群管理軟件按照給定的時(shí)間間隔持續(xù)檢測(cè)主庫(kù)的網(wǎng)絡(luò)的連通性、操作系統(tǒng)登錄情況、數(shù)據(jù)庫(kù)軟件登陸情況和寫(xiě)入數(shù)據(jù)情況,主庫(kù)通過(guò)虛擬IP地址正常對(duì)外提供讀寫(xiě)服務(wù);用戶數(shù)據(jù)以數(shù)據(jù)日志的形式通過(guò)數(shù)據(jù)庫(kù)自身的復(fù)制功能同步到從庫(kù),同時(shí),主庫(kù)上的數(shù)據(jù)塊同步軟件將用戶數(shù)據(jù)以數(shù)據(jù)日志的形式,拷貝一份鏡像到從庫(kù)上的數(shù)據(jù)塊同步軟件輸出的虛擬磁盤(pán)上;
(3)當(dāng)主庫(kù)發(fā)生故障時(shí),集群管理軟件3次確認(rèn)判定主庫(kù)的運(yùn)行情況,當(dāng)確認(rèn)主庫(kù)故障之后,集群管理軟件在從庫(kù)上ping網(wǎng)關(guān),發(fā)出ping命令,確認(rèn)從庫(kù)網(wǎng)絡(luò)連通性,如果超過(guò)4秒無(wú)返回消息,則認(rèn)為不可用,則持續(xù)ping網(wǎng)關(guān)不進(jìn)行下一步操作,如果小于四秒并返回消息,則認(rèn)為可用,則通過(guò)三條不同的鏈路關(guān)閉主庫(kù)數(shù)據(jù)庫(kù)軟件,如果關(guān)閉失敗,則重啟主庫(kù)操作系統(tǒng),進(jìn)入下一步;
(4)集群管理軟件通過(guò)在從庫(kù)上的數(shù)據(jù)鏡像進(jìn)行數(shù)據(jù)補(bǔ)償,將主庫(kù)和從庫(kù)之間的數(shù)據(jù)差異在從庫(kù)上進(jìn)行應(yīng)用,補(bǔ)償完成之后,把從庫(kù)提升為主庫(kù),把虛擬IP地址從主庫(kù)服務(wù)器卸載掉,再把虛擬IP地址掛載到從庫(kù)服務(wù)器到從庫(kù)上,對(duì)外提供讀寫(xiě)服務(wù);
(5)當(dāng)故障主庫(kù)恢復(fù)之后,使用集群管理軟件手工把故障主庫(kù)作為從庫(kù)重新加入新主庫(kù)的復(fù)制結(jié)構(gòu)中。
作為優(yōu)選,步驟(3)中,ping命令每秒發(fā)送一個(gè)數(shù)據(jù)包并等待數(shù)據(jù)包返回消息。
本發(fā)明通過(guò)數(shù)據(jù)塊同步軟件和互聯(lián)網(wǎng)絡(luò)實(shí)現(xiàn)數(shù)據(jù)零丟失,通過(guò)自動(dòng)化的集群管理軟件判斷是否滿足高可用切換條件要求來(lái)保證不會(huì)出現(xiàn)腦裂問(wèn)題的高可用,從根本上實(shí)現(xiàn)了高可用零丟失的解決方案。本發(fā)明方案的優(yōu)點(diǎn)詳述如下:
1.當(dāng)主從機(jī)處于正常狀態(tài)時(shí),集群管理軟件按照一定間隔持續(xù)檢測(cè)主庫(kù)的網(wǎng)絡(luò)、操作系統(tǒng)、數(shù)據(jù)庫(kù)軟件的可用性,主庫(kù)通過(guò)虛擬IP地址(VIP)正常對(duì)外提供讀寫(xiě)服務(wù)。用戶數(shù)據(jù)通過(guò)數(shù)據(jù)庫(kù)自身的復(fù)制功能復(fù)制到從庫(kù),同時(shí),主庫(kù)上的數(shù)據(jù)塊同步軟件還將用戶數(shù)據(jù)拷貝一份鏡像到從庫(kù)上的數(shù)據(jù)塊同步軟件輸出的虛擬磁盤(pán)。
2.當(dāng)主庫(kù)發(fā)生故障時(shí),集群管理軟件3次確認(rèn)判定主庫(kù)是否真的發(fā)生了故障,當(dāng)確認(rèn)主庫(kù)故障之后,集群管理軟件在從庫(kù)上ping網(wǎng)關(guān),發(fā)出ping命令,確認(rèn)從庫(kù)網(wǎng)絡(luò)是否可用,如果不可用,則持續(xù)ping網(wǎng)關(guān)不進(jìn)行下一步操作,如果可用,則通過(guò)三條不同的鏈路嘗試關(guān)閉主庫(kù)數(shù)據(jù)庫(kù)軟件,如果嘗試關(guān)閉失敗,則嘗試重啟主庫(kù)操作系統(tǒng),然后,集群管理軟件通過(guò)在從庫(kù)上的數(shù)據(jù)鏡像進(jìn)行數(shù)據(jù)補(bǔ)償,補(bǔ)償完成之后,把從庫(kù)提升為主庫(kù),VIP漂移到從庫(kù)上,對(duì)外提供讀寫(xiě)服務(wù)。從而保證了可行的高可用零丟失方案。
3.當(dāng)故障主庫(kù)恢復(fù)之后,需要人工干預(yù),使用集群管理軟件手工把故障主庫(kù)作為從庫(kù)重新加入新主庫(kù)的復(fù)制結(jié)構(gòu)中。
從上述三點(diǎn),使用本發(fā)明的高可用零丟失方案能夠保證在數(shù)據(jù)零丟失的情況下,同時(shí)保證數(shù)據(jù)庫(kù)的高可用。
附圖說(shuō)明
圖1是本發(fā)明一種數(shù)據(jù)庫(kù)高可用零丟失解決方法中的工作示意圖;
圖2是本發(fā)明一種數(shù)據(jù)庫(kù)高可用零丟失解決方法中的架構(gòu)示意圖;
該專(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/201710353032.3/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ù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語(yǔ)言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫(kù)結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- 數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)管理系統(tǒng)及數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)構(gòu)筑裝置、數(shù)據(jù)庫(kù)檢索裝置、數(shù)據(jù)庫(kù)裝置、數(shù)據(jù)庫(kù)構(gòu)筑方法、以及數(shù)據(jù)庫(kù)檢索方法
- 數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)處理方法
- 數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)更新方法、數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)更新程序
- 容器數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)同步方法及數(shù)據(jù)庫(kù)
- 一種MongoDB數(shù)據(jù)庫(kù)對(duì)象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲(chǔ)方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)庫(kù)語(yǔ)句執(zhí)行方法及裝置





