一種基于集群管理器的分布式數(shù)據(jù)庫(kù)高可用方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種基于集群管理器的分布式數(shù)據(jù)庫(kù)高可用方法及系統(tǒng),每個(gè)數(shù)據(jù)庫(kù)組設(shè)有主節(jié)點(diǎn)和從節(jié)點(diǎn);分布式數(shù)據(jù)代理中間件部署于主代理主服務(wù)器和從代理從服務(wù)器上;主代理服務(wù)器通過主連接與各數(shù)據(jù)庫(kù)組的主節(jié)點(diǎn)連接,通過從連接與各數(shù)據(jù)庫(kù)組的從節(jié)點(diǎn)連接,從代理服務(wù)器通過主連接與各數(shù)據(jù)庫(kù)組的從節(jié)點(diǎn)連接,通過從連接與各數(shù)據(jù)庫(kù)組的主節(jié)點(diǎn)連接;主代理服務(wù)器內(nèi)設(shè)置主集群管理器,從代理服務(wù)器內(nèi)設(shè)置從集群管理器;主集群管理器監(jiān)管主代理服務(wù)器的代理進(jìn)程,從集群管理器監(jiān)管從代理服務(wù)器的代理進(jìn)程,主集群管理器和從集群管理器間相互監(jiān)控。本發(fā)明提高了分布式數(shù)據(jù)庫(kù)系統(tǒng)的安全性,避免了單點(diǎn)故障問題,提高系統(tǒng)的易用性。
【專利說明】一種基于集群管理器的分布式數(shù)據(jù)庫(kù)高可用方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及分布式數(shù)據(jù)庫(kù)及云計(jì)算領(lǐng)域,尤其涉及一種基于集群管理器的分布式數(shù)據(jù)庫(kù)高可用方法及系統(tǒng)。
【背景技術(shù)】
[0002]在互聯(lián)網(wǎng)、電信等許多關(guān)鍵領(lǐng)域,隨著企業(yè)業(yè)務(wù)的不斷發(fā)展,企業(yè)的I/T環(huán)境也在不斷進(jìn)行演變,單個(gè)數(shù)據(jù)庫(kù)已經(jīng)很難滿足海量數(shù)據(jù)庫(kù)存儲(chǔ)和高并發(fā)數(shù)據(jù)訪問,分布式數(shù)據(jù)庫(kù)的出現(xiàn)成為必然,分布式數(shù)據(jù)庫(kù)能夠有效的解決海量數(shù)據(jù)存儲(chǔ)和并發(fā)問題,通過數(shù)據(jù)的水平切合和數(shù)據(jù)表的垂直切分,有效的緩解了海量數(shù)據(jù)存儲(chǔ),通過負(fù)載均衡、高可用、輪詢等緩解了高并發(fā)問題。但由于分布式數(shù)據(jù)庫(kù)是多節(jié)點(diǎn)部署,當(dāng)一個(gè)節(jié)點(diǎn)出現(xiàn)故障整個(gè)系統(tǒng)會(huì)出現(xiàn)癱瘓的風(fēng)險(xiǎn)。分布式數(shù)據(jù)庫(kù)底層連接的mysql數(shù)據(jù)庫(kù)通過mysql的雙主互備可以成功解決。但現(xiàn)有分布式數(shù)據(jù)庫(kù)代理中間層為單進(jìn)程單節(jié)點(diǎn)部署,分布式數(shù)據(jù)庫(kù)代理中間層的這種方式存在以下不足:
[0003]1.數(shù)據(jù)庫(kù)代理中間件為單進(jìn)程,當(dāng)進(jìn)程停止或者異常的時(shí)候分布式數(shù)據(jù)庫(kù)不可使用;
[0004]2.數(shù)據(jù)庫(kù)代理中間件為單主機(jī)部署,當(dāng)該主機(jī)宕機(jī)或者異常的時(shí)候分布數(shù)據(jù)庫(kù)不可使用。
【發(fā)明內(nèi)容】
[0005]本發(fā)明所要解決的技術(shù)問題是針對(duì)現(xiàn)有技術(shù)的不足,提供一種基于集群管理器的分布式數(shù)據(jù)庫(kù)高可用方法及系統(tǒng)。
[0006]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種基于集群管理器的分布式數(shù)據(jù)庫(kù)高可用方法,包括如下步驟:
[0007]步驟1,搭建若干個(gè)數(shù)據(jù)庫(kù)組,每個(gè)數(shù)據(jù)庫(kù)組設(shè)有數(shù)據(jù)庫(kù)主節(jié)點(diǎn)和數(shù)據(jù)庫(kù)從節(jié)點(diǎn);
[0008]步驟2,將分布式數(shù)據(jù)代理中間件部署于主代理主服務(wù)器和從代理從服務(wù)器上;
[0009]步驟3,所述主代理服務(wù)器通過主連接與各數(shù)據(jù)庫(kù)組的主節(jié)點(diǎn)連接,通過從連接與各數(shù)據(jù)庫(kù)組的從節(jié)點(diǎn)連接,所述從代理服務(wù)器通過主連接與各數(shù)據(jù)庫(kù)組的從節(jié)點(diǎn)連接,通過從連接與各數(shù)據(jù)庫(kù)組的主節(jié)點(diǎn)連接;
[0010]步驟4,所述主代理服務(wù)器內(nèi)設(shè)置主集群管理器,從代理服務(wù)器內(nèi)設(shè)置從集群管理器;
[0011]步驟5,所述主集群管理器監(jiān)管主代理服務(wù)器的代理進(jìn)程,從集群管理器監(jiān)管從代理服務(wù)器的代理進(jìn)程,主集群管理器和從集群管理器間相互監(jiān)控。
[0012]本發(fā)明的有益效果是:本發(fā)明保障分布式數(shù)據(jù)庫(kù)代理進(jìn)程停止后的重新啟動(dòng),當(dāng)分布式數(shù)據(jù)庫(kù)部署代理主機(jī)宕機(jī)后,代理能自動(dòng)切換到從機(jī)上保障分布式數(shù)據(jù)庫(kù)正常使用,提高了分布式數(shù)據(jù)庫(kù)整個(gè)系統(tǒng)的安全性,避免了單點(diǎn)故障問題,提高系統(tǒng)的易用性。
[0013]在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0014]進(jìn)一步,步驟5中主集群管理器監(jiān)管主代理服務(wù)器的代理進(jìn)程,以及從集群管理器監(jiān)管從代理服務(wù)器的代理進(jìn)程的具體實(shí)現(xiàn)如下:
[0015]步驟51A,主集群管理器每隔一個(gè)時(shí)間周期向主代理服務(wù)器的代理進(jìn)程發(fā)送消息,獲取主代理服務(wù)器的代理進(jìn)程狀態(tài);
[0016]步驟52A,判斷主代理服務(wù)器的代理進(jìn)程狀態(tài)是否異常,如果異常執(zhí)行步驟53A,否則返回步驟51A ;
[0017]步驟53A,主集群管理器通過啟動(dòng)腳本和啟動(dòng)命令啟動(dòng)代理進(jìn)程;
[0018]所述從集群管理器監(jiān)管從代理服務(wù)器的代理進(jìn)程的操作方式與上述操作方式相同。
[0019]進(jìn)一步,步驟5中主集群管理器和從集群管理器間相互監(jiān)控的具體實(shí)現(xiàn)如下:
[0020]步驟51B,主集群管理器和從集群管理器每隔一個(gè)時(shí)間周期相互向?qū)Ψ桨l(fā)送消息,獲取對(duì)方的運(yùn)行狀態(tài);
[0021]步驟52B,當(dāng)發(fā)現(xiàn)從集群管理器異常時(shí),執(zhí)行步驟53B ;當(dāng)發(fā)現(xiàn)主集群管理器異常時(shí),執(zhí)行步驟步驟54B ;
[0022]步驟53B,主集群管理器通過指定的腳本和指定啟動(dòng)命令啟動(dòng)從集群管理器,直至從集群管理器正常;
[0023]步驟54B,從代理服務(wù)器接替主代理服務(wù)器,通過指定的腳本和指定啟動(dòng)命令啟動(dòng)原主代理服務(wù)器的主集群管理器,直至主集群管理器正常。
[0024]進(jìn)一步,所述主集群管理器和從集群管理器均采用pacemaker集群管理器。
[0025]采用上述進(jìn)一步方案的有益效果:采用pacemaker集群管理器能夠有效保證分布式數(shù)據(jù)庫(kù)代理中間層的高可用,進(jìn)而保證整個(gè)分布式數(shù)據(jù)庫(kù)的高可用。
[0026]進(jìn)一步,所述主代理服務(wù)器和從代理服務(wù)器對(duì)外提供一個(gè)統(tǒng)一的浮動(dòng)IP地址。
[0027]采用上述進(jìn)一步方案的有益效果:不論主代理服務(wù)器提供服務(wù)還是從代理服務(wù)器提供服務(wù),都能保證分布式數(shù)據(jù)庫(kù)的正常使用。
[0028]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種基于集群管理器的分布式數(shù)據(jù)庫(kù)高可用系統(tǒng),包括若干個(gè)數(shù)據(jù)庫(kù)組、分布式數(shù)據(jù)庫(kù)代理中間件和應(yīng)用系統(tǒng);
[0029]所述每個(gè)數(shù)據(jù)庫(kù)組內(nèi)設(shè)有數(shù)據(jù)庫(kù)主節(jié)點(diǎn)和數(shù)據(jù)庫(kù)從節(jié)點(diǎn),分布式數(shù)據(jù)庫(kù)代理中間件包括主代理服務(wù)器和從代理服務(wù)器;所述主代理服務(wù)器通過主連接與各數(shù)據(jù)庫(kù)組的主節(jié)點(diǎn)連接,通過從連接與各數(shù)據(jù)庫(kù)組的從節(jié)點(diǎn)連接;所述從代理服務(wù)器通過主連接與各數(shù)據(jù)庫(kù)組的從節(jié)點(diǎn)連接,通過從連接與各數(shù)據(jù)庫(kù)組的主節(jié)點(diǎn)連接;所述主代理服務(wù)器和從代理服務(wù)器均與應(yīng)用系統(tǒng)連接;所述主代理服務(wù)器內(nèi)設(shè)有主集群管理器,從代理服務(wù)器內(nèi)設(shè)有從集群管理器,所述主集群管理器監(jiān)管主代理服務(wù)器的代理進(jìn)程,從集群管理器監(jiān)管從代理服務(wù)器的代理進(jìn)程,主集群管理器和從集群管理器間相互監(jiān)控。
[0030]在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0031]進(jìn)一步,所述主集群管理器包括第一應(yīng)急處理模塊,從集群管理器包括第二應(yīng)急處理模塊;
[0032]所述第一應(yīng)急處理模塊,其用于每隔一個(gè)時(shí)間周期向主代理服務(wù)器的代理進(jìn)程發(fā)送消息,獲取主代理服務(wù)器的代理進(jìn)程狀態(tài);根據(jù)返回的狀態(tài)信息判斷主代理服務(wù)器的代理進(jìn)程狀態(tài)是否異常,如果異常指定啟動(dòng)腳本和啟動(dòng)命令啟動(dòng)代理進(jìn)程,否則繼續(xù)監(jiān)聽;
[0033]所述第二應(yīng)急處理模塊,其用于每隔一個(gè)時(shí)間周期向從代理服務(wù)器的代理進(jìn)程發(fā)送消息,獲取從代理服務(wù)器的代理進(jìn)程狀態(tài);根據(jù)返回的狀態(tài)信息判斷從代理服務(wù)器的代理進(jìn)程狀態(tài)是否異常,如果異常指定啟動(dòng)腳本和啟動(dòng)命令啟動(dòng)代理進(jìn)程,否則繼續(xù)監(jiān)聽。
[0034]進(jìn)一步,所述主集群管理器還包括第三應(yīng)急處理模塊,從集群管理器還包括第四應(yīng)急處理模塊;
[0035]所述第三應(yīng)急處理模塊,其用于每隔一個(gè)時(shí)間周期向從集群管理器發(fā)送消息,獲取從集群管理器的運(yùn)行狀態(tài);根據(jù)返回的狀態(tài)信息判斷從集群管理器是否異常,如果異常指定的腳本和指定啟動(dòng)命令啟動(dòng)從集群管理器,直至從集群管理器正常,繼續(xù)監(jiān)聽;
[0036]所述第四應(yīng)急處理模塊,其用于每隔一個(gè)時(shí)間周期向主集群管理器發(fā)送消息,獲取主集群管理器的運(yùn)行狀態(tài);根據(jù)返回的狀態(tài)信息判斷主集群管理器是否異常,如果異常則從代理服務(wù)器接替主代理服務(wù)器,通過指定的腳本和指定啟動(dòng)命令啟動(dòng)原主代理服務(wù)器的主集群管理器,直至主集群管理器正常,否則繼續(xù)監(jiān)聽。
[0037]進(jìn)一步,所述主集群管理器和從集群管理器均采用pacemaker集群管理器。
[0038]進(jìn)一步,所述主代理服務(wù)器和從代理服務(wù)器對(duì)外提供一個(gè)統(tǒng)一的浮動(dòng)IP地址。
【專利附圖】
【附圖說明】
[0039]圖1為本發(fā)明一種基于集群管理器的分布式數(shù)據(jù)庫(kù)高可用系統(tǒng)框圖;
[0040]圖2為本發(fā)明所述主代理服務(wù)器和從代理服務(wù)器的結(jié)構(gòu)框圖;
[0041]圖3為本發(fā)明一種基于集群管理器的分布式數(shù)據(jù)庫(kù)高可用方法流程圖;
[0042]圖4為本發(fā)明主集群管理器監(jiān)管主代理服務(wù)器的代理進(jìn)程以及從集群管理器監(jiān)管從代理服務(wù)器的代理進(jìn)程流程圖;
[0043]圖5為本發(fā)明主集群管理器監(jiān)管主代理服務(wù)器的代理進(jìn)程或從集群管理器監(jiān)管從代理服務(wù)器的代理進(jìn)程的具體實(shí)現(xiàn)流程圖;
[0044]圖6為本發(fā)明主集群管理器與從集群管理器相互監(jiān)控流程圖。
[0045]附圖中,各標(biāo)號(hào)所代表的部件列表如下:
[0046]100、數(shù)據(jù)庫(kù)組,200、分布式數(shù)據(jù)庫(kù)代理中間件,300、應(yīng)用系統(tǒng),201、主代理服務(wù)器,202、從代理服務(wù)器,201-1、主集群管理器,202-1從集群管理器。
【具體實(shí)施方式】
[0047]以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
[0048]如圖1所示,一種基于集群管理器的分布式數(shù)據(jù)庫(kù)高可用系統(tǒng),包括若干個(gè)數(shù)據(jù)庫(kù)組100、分布式數(shù)據(jù)庫(kù)代理中間件200和應(yīng)用系統(tǒng)300 ;所述每個(gè)數(shù)據(jù)庫(kù)組100內(nèi)設(shè)有數(shù)據(jù)庫(kù)主節(jié)點(diǎn)101和數(shù)據(jù)庫(kù)從節(jié)點(diǎn)102,分布式數(shù)據(jù)庫(kù)代理中間件200包括主代理服務(wù)器201和從代理服務(wù)器202 ;所述主代理服務(wù)器201通過主連接與各數(shù)據(jù)庫(kù)組的主節(jié)點(diǎn)連接101,通過從連接與各數(shù)據(jù)庫(kù)組的從節(jié)點(diǎn)102連接;所述從代理服務(wù)器202通過主連接與各數(shù)據(jù)庫(kù)組的從節(jié)點(diǎn)102連接,通過從連接與各數(shù)據(jù)庫(kù)組的主節(jié)點(diǎn)101連接;所述主代理服務(wù)器201和從代理服務(wù)器202均與應(yīng)用系統(tǒng)300連接;所述主代理服務(wù)器201內(nèi)設(shè)有主集群管理器,從代理服務(wù)器202內(nèi)設(shè)有從集群管理器,所述主集群管理器監(jiān)管主代理服務(wù)器201的代理進(jìn)程,從集群管理器監(jiān)管從代理服務(wù)器202的代理進(jìn)程,主集群管理器和從集群管理器間相互監(jiān)控。
[0049]如圖2所示,所述主集群管理器201-1包括第一應(yīng)急處理模塊,從集群管理器201-2包括第二應(yīng)急處理模塊;所述第一應(yīng)急處理模塊,其用于每隔一個(gè)時(shí)間周期向主代理服務(wù)器的代理進(jìn)程發(fā)送消息,獲取主代理服務(wù)器的代理進(jìn)程狀態(tài);根據(jù)返回的狀態(tài)信息判斷主代理服務(wù)器的代理進(jìn)程狀態(tài)是否異常,如果異常指定啟動(dòng)腳本和啟動(dòng)命令啟動(dòng)代理進(jìn)程,否則繼續(xù)監(jiān)聽;所述第二應(yīng)急處理模塊,其用于每隔一個(gè)時(shí)間周期向從代理服務(wù)器的代理進(jìn)程發(fā)送消息,獲取從代理服務(wù)器的代理進(jìn)程狀態(tài);根據(jù)返回的狀態(tài)信息判斷從代理服務(wù)器的代理進(jìn)程狀態(tài)是否異常,如果異常指定啟動(dòng)腳本和啟動(dòng)命令啟動(dòng)代理進(jìn)程,否則繼續(xù)監(jiān)聽。
[0050]所述主集群管理器201-1還包括第三應(yīng)急處理模塊,從集群管理器202-1還包括第四應(yīng)急處理模塊;所述第三應(yīng)急處理模塊,其用于每隔一個(gè)時(shí)間周期向從集群管理器發(fā)送消息,獲取從集群管理器的運(yùn)行狀態(tài);根據(jù)返回的狀態(tài)信息判斷從集群管理器是否異常,如果異常指定的腳本和指定啟動(dòng)命令啟動(dòng)從集群管理器,直至從集群管理器正常,繼續(xù)監(jiān)聽;所述第四應(yīng)急處理模塊,其用于每隔一個(gè)時(shí)間周期向主集群管理器發(fā)送消息,獲取主集群管理器的運(yùn)行狀態(tài);根據(jù)返回的狀態(tài)信息判斷主集群管理器是否異常,如果異常則從代理服務(wù)器接替主代理服務(wù)器,通過指定的腳本和指定啟動(dòng)命令啟動(dòng)原主代理服務(wù)器的主集群管理器,直至主集群管理器正常,否則繼續(xù)監(jiān)聽。
[0051]如圖3所示,一種基于集群管理器的分布式數(shù)據(jù)庫(kù)高可用方法,包括如下步驟:
[0052]步驟I,搭建若干個(gè)數(shù)據(jù)庫(kù)組,每個(gè)數(shù)據(jù)庫(kù)組設(shè)有數(shù)據(jù)庫(kù)主節(jié)點(diǎn)和數(shù)據(jù)庫(kù)從節(jié)點(diǎn);
[0053]步驟2,將分布式數(shù)據(jù)代理中間件部署于主代理主服務(wù)器和從代理從服務(wù)器上;
[0054]步驟3,所述主代理服務(wù)器通過主連接與各數(shù)據(jù)庫(kù)組的主節(jié)點(diǎn)連接,通過從連接與各數(shù)據(jù)庫(kù)組的從節(jié)點(diǎn)連接,所述從代理服務(wù)器通過主連接與各數(shù)據(jù)庫(kù)組的從節(jié)點(diǎn)連接,通過從連接與各數(shù)據(jù)庫(kù)組的主節(jié)點(diǎn)連接;
[0055]步驟4,所述主代理服務(wù)器內(nèi)設(shè)置主集群管理器,從代理服務(wù)器內(nèi)設(shè)置從集群管理器;
[0056]步驟5,所述主集群管理器監(jiān)管主代理服務(wù)器的代理進(jìn)程,從集群管理器監(jiān)管從代理服務(wù)器的代理進(jìn)程,主集群管理器和從集群管理器間相互監(jiān)控。
[0057]如圖4所示,分布式數(shù)據(jù)庫(kù)代理中間件的主代理服務(wù)器上的主集群管理器(主節(jié)點(diǎn)上pacemaker)對(duì)Dbproxy進(jìn)行監(jiān)管,每隔一個(gè)時(shí)間周期對(duì)代理進(jìn)程發(fā)送一個(gè)消息并返回進(jìn)程狀態(tài)信息,同樣從節(jié)點(diǎn)上pacemaker對(duì)從節(jié)點(diǎn)上的Dbproxy進(jìn)行監(jiān)管,每隔一個(gè)時(shí)間周期并對(duì)代理進(jìn)程發(fā)送一個(gè)消息并返回進(jìn)程狀態(tài)。同時(shí)主節(jié)點(diǎn)pacemaker和從節(jié)點(diǎn)pacemaker相互發(fā)送消息相互監(jiān)管對(duì)方。
[0058]如圖5所示,步驟5中主集群管理器監(jiān)管主代理服務(wù)器的代理進(jìn)程,以及從集群管理器監(jiān)管從代理服務(wù)器的代理進(jìn)程的具體實(shí)現(xiàn)如下:
[0059]步驟51A,主集群管理器pacemaker每隔一個(gè)時(shí)間周期向主代理服務(wù)器的代理進(jìn)程Dbpi^xy發(fā)送消息,獲取主代理服務(wù)器的代理進(jìn)程Dbpi^xy狀態(tài);
[0060]步驟52A,判斷主代理服務(wù)器的代理進(jìn)程Dbp1xy狀態(tài)是否異常,如果異常執(zhí)行步驟53A,否則返回步驟51A;
[0061]步驟53A,主集群管理器通過啟動(dòng)腳本和啟動(dòng)命令啟動(dòng)代理進(jìn)程;
[0062]所述從集群管理器監(jiān)管從代理服務(wù)器的代理進(jìn)程的操作方式與上述操作方式相同。
[0063]如圖6所示,步驟5中主集群管理器和從集群管理器間相互監(jiān)控的具體實(shí)現(xiàn)如下:
[0064]步驟51B,主集群管理器和從集群管理器每隔一個(gè)時(shí)間周期相互向?qū)Ψ桨l(fā)送消息,獲取對(duì)方的運(yùn)行狀態(tài);
[0065]步驟52B,當(dāng)發(fā)現(xiàn)從集群管理器異常時(shí),執(zhí)行步驟53B ;當(dāng)發(fā)現(xiàn)主集群管理器異常時(shí),執(zhí)行步驟步驟54B ;
[0066]步驟53B,主集群管理器通過指定的腳本和指定啟動(dòng)命令啟動(dòng)從集群管理器,直至從集群管理器正常;
[0067]步驟54B,從代理服務(wù)器接替主代理服務(wù)器,通過指定的腳本和指定啟動(dòng)命令啟動(dòng)原主代理服務(wù)器的主集群管理器,直至主集群管理器正常。
[0068]其中,所述主集群管理器和從集群管理器均采用pacemaker集群管理器。
[0069]其中,所述主代理服務(wù)器和從代理服務(wù)器對(duì)外提供一個(gè)統(tǒng)一的浮動(dòng)IP地址。
[0070]以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種基于集群管理器的分布式數(shù)據(jù)庫(kù)高可用方法,其特征在于,包括如下步驟: 步驟I,搭建若干個(gè)數(shù)據(jù)庫(kù)組,每個(gè)數(shù)據(jù)庫(kù)組設(shè)有數(shù)據(jù)庫(kù)主節(jié)點(diǎn)和數(shù)據(jù)庫(kù)從節(jié)點(diǎn); 步驟2,將分布式數(shù)據(jù)代理中間件部署于主代理主服務(wù)器和從代理從服務(wù)器上; 步驟3,所述主代理服務(wù)器通過主連接與各數(shù)據(jù)庫(kù)組的主節(jié)點(diǎn)連接,通過從連接與各數(shù)據(jù)庫(kù)組的從節(jié)點(diǎn)連接,所述從代理服務(wù)器通過主連接與各數(shù)據(jù)庫(kù)組的從節(jié)點(diǎn)連接,通過從連接與各數(shù)據(jù)庫(kù)組的主節(jié)點(diǎn)連接; 步驟4,所述主代理服務(wù)器內(nèi)設(shè)置主集群管理器,從代理服務(wù)器內(nèi)設(shè)置從集群管理器; 步驟5,所述主集群管理器監(jiān)管主代理服務(wù)器的代理進(jìn)程,從集群管理器監(jiān)管從代理服務(wù)器的代理進(jìn)程,主集群管理器和從集群管理器間相互監(jiān)控。
2.根據(jù)權(quán)利要求1所述一種基于集群管理器的分布式數(shù)據(jù)庫(kù)高可用方法,其特征在于,步驟5中主集群管理器監(jiān)管主代理服務(wù)器的代理進(jìn)程,以及從集群管理器監(jiān)管從代理服務(wù)器的代理進(jìn)程的具體實(shí)現(xiàn)如下: 步驟51A,主集群管理器每隔一個(gè)時(shí)間周期向主代理服務(wù)器的代理進(jìn)程發(fā)送消息,獲取主代理服務(wù)器的代理進(jìn)程狀態(tài); 步驟52A,判斷主代理服務(wù)器的代理進(jìn)程狀態(tài)是否異常,如果異常執(zhí)行步驟53A,否則返回步驟51A ; 步驟53A,主集群管理器通過啟動(dòng)腳本和啟動(dòng)命令啟動(dòng)代理進(jìn)程; 所述從集群管理器監(jiān)管從代理服務(wù)器的代理進(jìn)程的操作方式與上述操作方式相同。
3.根據(jù)權(quán)利要求1所述一種基于集群管理器的分布式數(shù)據(jù)庫(kù)高可用方法,其特征在于,步驟5中主集群管理器和從集群管理器間相互監(jiān)控的具體實(shí)現(xiàn)如下: 步驟51B,主集群管理器和從集群管理器每隔一個(gè)時(shí)間周期相互向?qū)Ψ桨l(fā)送消息,獲取對(duì)方的運(yùn)行狀態(tài); 步驟52B,當(dāng)發(fā)現(xiàn)從集群管理器異常時(shí),執(zhí)行步驟53B ;當(dāng)發(fā)現(xiàn)主集群管理器異常時(shí),執(zhí)行步驟步驟54B ; 步驟53B,主集群管理器通過指定的腳本和指定啟動(dòng)命令啟動(dòng)從集群管理器,直至從集群管理器正常; 步驟54B,從代理服務(wù)器接替主代理服務(wù)器,通過指定的腳本和指定啟動(dòng)命令啟動(dòng)原主代理服務(wù)器的主集群管理器,直至主集群管理器正常。
4.根據(jù)權(quán)利要求1所述一種基于集群管理器的分布式數(shù)據(jù)庫(kù)高可用方法,其特征在于,所述主集群管理器和從集群管理器均采用pacemaker集群管理器。
5.根據(jù)權(quán)利要求1所述一種基于集群管理器的分布式數(shù)據(jù)庫(kù)高可用方法,其特征在于,所述主代理服務(wù)器和從代理服務(wù)器對(duì)外提供一個(gè)統(tǒng)一的浮動(dòng)IP地址。
6.一種基于集群管理器的分布式數(shù)據(jù)庫(kù)高可用系統(tǒng),其特征在于,包括若干個(gè)數(shù)據(jù)庫(kù)組、分布式數(shù)據(jù)庫(kù)代理中間件和應(yīng)用系統(tǒng); 所述每個(gè)數(shù)據(jù)庫(kù)組內(nèi)設(shè)有數(shù)據(jù)庫(kù)主節(jié)點(diǎn)和數(shù)據(jù)庫(kù)從節(jié)點(diǎn),分布式數(shù)據(jù)庫(kù)代理中間件包括主代理服務(wù)器和從代理服務(wù)器;所述主代理服務(wù)器通過主連接與各數(shù)據(jù)庫(kù)組的主節(jié)點(diǎn)連接,通過從連接與各數(shù)據(jù)庫(kù)組的從節(jié)點(diǎn)連接;所述從代理服務(wù)器通過主連接與各數(shù)據(jù)庫(kù)組的從節(jié)點(diǎn)連接,通過從連接與各數(shù)據(jù)庫(kù)組的主節(jié)點(diǎn)連接;所述主代理服務(wù)器和從代理服務(wù)器均與應(yīng)用系統(tǒng)連接;所述主代理服務(wù)器內(nèi)設(shè)有主集群管理器,從代理服務(wù)器內(nèi)設(shè)有從集群管理器,所述主集群管理器監(jiān)管主代理服務(wù)器的代理進(jìn)程,從集群管理器監(jiān)管從代理服務(wù)器的代理進(jìn)程,主集群管理器和從集群管理器間相互監(jiān)控。
7.根據(jù)權(quán)利要求6所述一種基于集群管理器的分布式數(shù)據(jù)庫(kù)高可用系統(tǒng),其特征在于,所述主集群管理器包括第一應(yīng)急處理模塊,從集群管理器包括第二應(yīng)急處理模塊; 所述第一應(yīng)急處理模塊,其用于每隔一個(gè)時(shí)間周期向主代理服務(wù)器的代理進(jìn)程發(fā)送消息,獲取主代理服務(wù)器的代理進(jìn)程狀態(tài);根據(jù)返回的狀態(tài)信息判斷主代理服務(wù)器的代理進(jìn)程狀態(tài)是否異常,如果異常指定啟動(dòng)腳本和啟動(dòng)命令啟動(dòng)代理進(jìn)程,否則繼續(xù)監(jiān)聽; 所述第二應(yīng)急處理模塊,其用于每隔一個(gè)時(shí)間周期向從代理服務(wù)器的代理進(jìn)程發(fā)送消息,獲取從代理服務(wù)器的代理進(jìn)程狀態(tài);根據(jù)返回的狀態(tài)信息判斷從代理服務(wù)器的代理進(jìn)程狀態(tài)是否異常,如果異常指定啟動(dòng)腳本和啟動(dòng)命令啟動(dòng)代理進(jìn)程,否則繼續(xù)監(jiān)聽。
8.根據(jù)權(quán)利要求6所述一種基于集群管理器的分布式數(shù)據(jù)庫(kù)高可用系統(tǒng),其特征在于,所述主集群管理器還包括第三應(yīng)急處理模塊,從集群管理器還包括第四應(yīng)急處理模塊; 所述第三應(yīng)急處理模塊,其用于每隔一個(gè)時(shí)間周期向從集群管理器發(fā)送消息,獲取從集群管理器的運(yùn)行狀態(tài);根據(jù)返回的狀態(tài)信息判斷從集群管理器是否異常,如果異常指定的腳本和指定啟動(dòng)命令啟動(dòng)從集群管理器,直至從集群管理器正常,繼續(xù)監(jiān)聽; 所述第四應(yīng)急處理模塊,其用于每隔一個(gè)時(shí)間周期向主集群管理器發(fā)送消息,獲取主集群管理器的運(yùn)行狀態(tài);根據(jù)返回的狀態(tài)信息判斷主集群管理器是否異常,如果異常則從代理服務(wù)器接替主代理服務(wù)器,通過指定的腳本和指定啟動(dòng)命令啟動(dòng)原主代理服務(wù)器的主集群管理器,直至主集群管理器正常,否則繼續(xù)監(jiān)聽。
9.根據(jù)權(quán)利要求6所述一種基于集群管理器的分布式數(shù)據(jù)庫(kù)高可用系統(tǒng),其特征在于,所述主集群管理器和從集群管理器均采用pacemaker集群管理器。
10.根據(jù)權(quán)利要求6所述一種基于集群管理器的分布式數(shù)據(jù)庫(kù)高可用系統(tǒng),其特征在于,所述主代理服務(wù)器和從代理服務(wù)器對(duì)外提供一個(gè)統(tǒng)一的浮動(dòng)IP地址。
【文檔編號(hào)】G06F17/30GK104408071SQ201410601699
【公開日】2015年3月11日 申請(qǐng)日期:2014年10月30日 優(yōu)先權(quán)日:2014年10月30日
【發(fā)明者】王虎 申請(qǐng)人:北京思特奇信息技術(shù)股份有限公司