本申請(qǐng)涉及網(wǎng)絡(luò)通信系統(tǒng),具體地,涉及一種數(shù)據(jù)庫(kù)集群?jiǎn)吸c(diǎn)故障的監(jiān)控系統(tǒng)及方法。
背景技術(shù):目前,互聯(lián)網(wǎng)公司通常采用數(shù)據(jù)庫(kù)集群來(lái)存儲(chǔ)網(wǎng)站的海量數(shù)據(jù)。數(shù)據(jù)庫(kù)集群的結(jié)構(gòu)如圖1所示,主庫(kù)(Master)1提供對(duì)外的讀寫服務(wù),若干個(gè)從庫(kù)(Slave)2只對(duì)外提供讀服務(wù),以MySQL數(shù)據(jù)庫(kù)為例,主庫(kù)1和從庫(kù)2均為MySQL實(shí)例,從而圖1所示的數(shù)據(jù)庫(kù)集群構(gòu)成一個(gè)MySQL集群,每一個(gè)MySQL數(shù)據(jù)庫(kù)(包括主庫(kù)和從庫(kù))都是一個(gè)單點(diǎn)。各個(gè)MySQL數(shù)據(jù)庫(kù)之間的關(guān)系包括:通過(guò)復(fù)制機(jī)制,從庫(kù)2根據(jù)主庫(kù)1定期發(fā)送的日志,不斷地從主庫(kù)1中讀取更新的數(shù)據(jù),從而使得從庫(kù)2盡量與主庫(kù)1的數(shù)據(jù)保持一致,使得應(yīng)用端3(Client)從從庫(kù)2中讀取的數(shù)據(jù)與主庫(kù)一致。在實(shí)際運(yùn)行中,互聯(lián)網(wǎng)公司使用的服務(wù)器大部分都是普通的個(gè)人電腦(PC,PersonalComputer)服務(wù)器(Server),PCServer存在一定的故障率,如通常會(huì)發(fā)生內(nèi)存異常、主板異常、或者直接宕機(jī),發(fā)生故障的PCServer就無(wú)法向外提供服務(wù),這就是MySQL數(shù)據(jù)庫(kù)的單點(diǎn)故障,如果正好是主庫(kù)1的機(jī)器出現(xiàn)問(wèn)題,那么應(yīng)用端3(Client)對(duì)主庫(kù)1寫入數(shù)據(jù)的操作就會(huì)受影響,影響到數(shù)據(jù)庫(kù)集群對(duì)外提供的寫服務(wù)。目前,針對(duì)MySQL數(shù)據(jù)庫(kù)的單點(diǎn)故障主要有以下兩種解決方案:第一種方案,采用人工干預(yù)的解決辦法。該方法包括:人工確認(rèn)主庫(kù)1是否存活(即正常向外提供讀寫服務(wù)),若存活,則將主庫(kù)1直接啟動(dòng),以確定從庫(kù)2是否能夠正常同步,若主庫(kù)1中的數(shù)據(jù)損壞或者主庫(kù)1不存活(即不能正常向外提供讀寫服務(wù)),則選擇一臺(tái)數(shù)據(jù)較新的從庫(kù)2作為新主庫(kù)。具體地,將該新主庫(kù)設(shè)置為可讀寫的狀態(tài),將原主庫(kù)1的讀寫狀態(tài)設(shè)置為只讀狀態(tài),然后通知前端應(yīng)用或者中間層將數(shù)據(jù)寫入新的主庫(kù),從而完成主從數(shù)據(jù)庫(kù)的切換。上述過(guò)程均需要人工干預(yù)。如果主庫(kù)和從庫(kù)在同一個(gè)網(wǎng)段的話,采用虛擬IP的方式,主備切換不會(huì)影響到前端應(yīng)用或者中間層的切換,影響到數(shù)據(jù)寫入的時(shí)間幾乎為零;但是,對(duì)于主庫(kù)和從庫(kù)跨機(jī)房部署、不屬于同一個(gè)網(wǎng)段的情況,主備切換則會(huì)影響到前端應(yīng)用或者中間層的切換,也即對(duì)數(shù)據(jù)的寫入造成影響。第二種方案,設(shè)置一個(gè)單點(diǎn)監(jiān)控端,打通該單點(diǎn)監(jiān)控端與所有MySQL數(shù)據(jù)庫(kù)之間的信任關(guān)系(例如,打通ssh信任關(guān)系),從該單點(diǎn)監(jiān)控端定時(shí)與當(dāng)前的MySQL主庫(kù)進(jìn)行通信,以ssh判斷方式來(lái)判斷識(shí)別主庫(kù)是否存活(即可提供寫服務(wù)),在判斷發(fā)生單點(diǎn)故障時(shí),調(diào)用程序控制實(shí)現(xiàn)新的主庫(kù)的選舉,新庫(kù)的選舉過(guò)程與上述第一種方案中的主從數(shù)據(jù)庫(kù)的切換處理方式類似,在切換完成后,基于ssh信任關(guān)系使新主庫(kù)中的數(shù)據(jù)與舊主庫(kù)中的數(shù)據(jù)保持同步,該方案通過(guò)增設(shè)單點(diǎn)監(jiān)控端作為探測(cè)源,用它判斷主庫(kù)的故障,從而替代原來(lái)的人工判斷。上述的方案一中存在人工切換處理效率低、切換時(shí)間長(zhǎng)、容易丟失寫入的數(shù)據(jù)的問(wèn)題。而上述方案二中單點(diǎn)監(jiān)控端必須首先打通與其他MySQL數(shù)據(jù)庫(kù)之間的ssh信任關(guān)系,這一處理過(guò)程仍需人工進(jìn)行處理、處理過(guò)程復(fù)雜繁瑣、效率較低,對(duì)于ssh信任關(guān)系的維護(hù)也同樣復(fù)雜繁瑣;單點(diǎn)監(jiān)控端需要基于ssh判斷方式對(duì)單點(diǎn)故障進(jìn)行識(shí)別,處理過(guò)程復(fù)雜、低效;并且打通了ssh信任關(guān)系后,通過(guò)單點(diǎn)監(jiān)控端就能夠訪問(wèn)到其他MySQL數(shù)據(jù)庫(kù)的數(shù)據(jù),這樣對(duì)數(shù)據(jù)安全性造成威脅,并且如果單點(diǎn)監(jiān)控端與MySQL主庫(kù)同時(shí)發(fā)生故障,就無(wú)法通過(guò)單點(diǎn)監(jiān)控端來(lái)實(shí)現(xiàn)主從數(shù)據(jù)庫(kù)的切換,從而降低了系統(tǒng)的穩(wěn)定性。可見(jiàn),在現(xiàn)有技術(shù)中,MySQL數(shù)據(jù)庫(kù)集群?jiǎn)吸c(diǎn)故障的解決方案中存在效率低下、數(shù)據(jù)安全性差、系統(tǒng)穩(wěn)定性差的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:針對(duì)現(xiàn)有技術(shù)中分布式MySQL數(shù)據(jù)庫(kù)單點(diǎn)故障的解決方案中存在的效率低下、數(shù)據(jù)安全性差、系統(tǒng)穩(wěn)定性差的問(wèn)題,本申請(qǐng)實(shí)施例提供了一種數(shù)據(jù)庫(kù)集群?jiǎn)吸c(diǎn)故障的監(jiān)控系統(tǒng),用以解決至少一個(gè)上述問(wèn)題。相應(yīng)地,本申請(qǐng)實(shí)施例還提供了一種數(shù)據(jù)庫(kù)集群?jiǎn)吸c(diǎn)故障的監(jiān)控方法。本申請(qǐng)實(shí)施例技術(shù)方案如下:一種數(shù)據(jù)庫(kù)集群?jiǎn)吸c(diǎn)故障的監(jiān)控系統(tǒng),應(yīng)用于包括若干個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)集群中,數(shù)據(jù)庫(kù)包括主庫(kù)或從庫(kù),監(jiān)控系統(tǒng)包括:若干個(gè)數(shù)據(jù)庫(kù)代理,至少三個(gè)基于分布式協(xié)調(diào)機(jī)制相互通信的協(xié)調(diào)終端,其中至少三個(gè)協(xié)調(diào)終端中包括一個(gè)領(lǐng)導(dǎo)協(xié)調(diào)終端;一個(gè)數(shù)據(jù)庫(kù)代理與數(shù)據(jù)庫(kù)集群中的一個(gè)數(shù)據(jù)庫(kù)對(duì)應(yīng)設(shè)置在一臺(tái)服務(wù)器上,每個(gè)數(shù)據(jù)庫(kù)代理中均保存各個(gè)協(xié)調(diào)終端的地址;數(shù)據(jù)庫(kù)代理,用于定時(shí)檢測(cè)對(duì)應(yīng)數(shù)據(jù)庫(kù)的讀寫狀態(tài),并將檢測(cè)得到的數(shù)據(jù)庫(kù)讀寫狀態(tài)信息發(fā)送給領(lǐng)導(dǎo)協(xié)調(diào)終端;領(lǐng)導(dǎo)協(xié)調(diào)終端,用于接收來(lái)自各個(gè)數(shù)據(jù)庫(kù)代理的數(shù)據(jù)庫(kù)讀寫狀態(tài)信息,在超過(guò)預(yù)定時(shí)限未接收到任意一個(gè)數(shù)據(jù)庫(kù)讀寫狀態(tài)信息,或接收到的任意一個(gè)數(shù)據(jù)庫(kù)讀寫狀態(tài)信息為異常時(shí),確定數(shù)據(jù)庫(kù)集群中存在單點(diǎn)故障。一種數(shù)據(jù)庫(kù)集群?jiǎn)吸c(diǎn)故障的監(jiān)控方法,包括:基于分布式協(xié)調(diào)機(jī)制的領(lǐng)導(dǎo)協(xié)調(diào)終端,接收與數(shù)據(jù)庫(kù)集群中的數(shù)據(jù)庫(kù)對(duì)應(yīng)設(shè)置的數(shù)據(jù)庫(kù)代理發(fā)送的數(shù)據(jù)庫(kù)讀寫狀態(tài)信息;領(lǐng)導(dǎo)協(xié)調(diào)終端在超過(guò)預(yù)定時(shí)限未接收到任意一個(gè)數(shù)據(jù)庫(kù)讀寫狀態(tài)信息、或接收到的任意一個(gè)數(shù)據(jù)庫(kù)讀寫狀態(tài)信息為異常時(shí),確定數(shù)據(jù)庫(kù)集群中存在單點(diǎn)故障。根據(jù)本申請(qǐng)實(shí)施例提供的技術(shù)方案,通過(guò)數(shù)據(jù)庫(kù)代理定時(shí)檢測(cè)數(shù)據(jù)庫(kù)集群中對(duì)應(yīng)數(shù)據(jù)庫(kù)的讀寫狀態(tài),基于分布式協(xié)調(diào)機(jī)制的領(lǐng)導(dǎo)協(xié)調(diào)終端根據(jù)來(lái)自數(shù)據(jù)庫(kù)代理的數(shù)據(jù)庫(kù)讀寫狀態(tài)信息,對(duì)數(shù)據(jù)庫(kù)集群中的單點(diǎn)故障進(jìn)行識(shí)別,能夠高效、可靠地識(shí)別數(shù)據(jù)庫(kù)集群中的單點(diǎn)故障,從而能夠解決現(xiàn)有技術(shù)中,分布式MySQL數(shù)據(jù)庫(kù)單點(diǎn)故障的解決方案中存在的效率低下的問(wèn)題。相比于現(xiàn)有技術(shù),本申請(qǐng)實(shí)施例提供的技術(shù)方案操作簡(jiǎn)便、監(jiān)控結(jié)果有效可靠。本申請(qǐng)的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書中闡述,并且,部分地從說(shuō)明書中變得顯而易見(jiàn),或者通過(guò)實(shí)施本申請(qǐng)而了解。本申請(qǐng)的目的和其他優(yōu)點(diǎn)可通過(guò)在所寫的說(shuō)明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。附圖說(shuō)明圖1為現(xiàn)有技術(shù)中數(shù)據(jù)庫(kù)集群的結(jié)構(gòu)示意圖;圖2為本申請(qǐng)實(shí)施例提供的數(shù)據(jù)庫(kù)集群?jiǎn)吸c(diǎn)故障的監(jiān)控系統(tǒng)的結(jié)構(gòu)框圖;圖3為本申請(qǐng)實(shí)施例提供的數(shù)據(jù)庫(kù)集群?jiǎn)吸c(diǎn)故障的監(jiān)控方法的流程圖;圖4為圖2中基于分布式協(xié)調(diào)機(jī)制的領(lǐng)導(dǎo)協(xié)調(diào)終端的工作流程圖;圖5為本申請(qǐng)實(shí)施例具體實(shí)施的場(chǎng)景示意圖。具體實(shí)施方式以下結(jié)合附圖對(duì)本申請(qǐng)的實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的實(shí)施例僅用于說(shuō)明和解釋本申請(qǐng),并不用于限定本申請(qǐng)。針對(duì)現(xiàn)有技術(shù)中MySQL數(shù)據(jù)集群庫(kù)單點(diǎn)故障的解決方案中存在的效率低下、數(shù)據(jù)安全性差、系統(tǒng)穩(wěn)定性差的問(wèn)題,本申請(qǐng)實(shí)施例提供了一種對(duì)數(shù)據(jù)庫(kù)集群中的單點(diǎn)故障進(jìn)行監(jiān)控的方案,以解決至少一個(gè)上述問(wèn)題。在本申請(qǐng)實(shí)施例提供的方案中,設(shè)置與數(shù)據(jù)庫(kù)集群中的數(shù)據(jù)庫(kù)相對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理,對(duì)應(yīng)設(shè)置的數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)代理位于同一服務(wù)器上,設(shè)置至少三個(gè)基于分布式協(xié)調(diào)機(jī)制的協(xié)調(diào)終端,其中包括一個(gè)領(lǐng)導(dǎo)協(xié)調(diào)終端、其余為從屬協(xié)調(diào)終端,每個(gè)數(shù)據(jù)庫(kù)代理中都保存各個(gè)協(xié)調(diào)終端的IP地址和端口。數(shù)據(jù)庫(kù)代理定期檢測(cè)對(duì)應(yīng)數(shù)據(jù)庫(kù)的讀寫狀態(tài),并將檢測(cè)結(jié)果上報(bào)給領(lǐng)導(dǎo)協(xié)調(diào)終端,領(lǐng)導(dǎo)協(xié)調(diào)終端在超過(guò)預(yù)定時(shí)限未接收到任意一個(gè)數(shù)據(jù)庫(kù)的讀寫狀態(tài)、或接收到的任意一個(gè)數(shù)據(jù)庫(kù)讀寫狀態(tài)信息為異常時(shí),確定數(shù)據(jù)庫(kù)集群中存在單點(diǎn)故障,能夠通過(guò)由若干個(gè)數(shù)據(jù)庫(kù)代理和至少三個(gè)協(xié)調(diào)終端構(gòu)成的分布式結(jié)構(gòu),根據(jù)各數(shù)據(jù)庫(kù)的讀寫狀態(tài)信息來(lái)識(shí)別單點(diǎn)故障,從而能夠簡(jiǎn)便、高效、可靠地識(shí)別數(shù)據(jù)庫(kù)集群中的單點(diǎn)故障。在本申請(qǐng)實(shí)施例的優(yōu)選實(shí)施例中,還能夠通過(guò)領(lǐng)導(dǎo)協(xié)調(diào)終端根據(jù)各數(shù)據(jù)庫(kù)的數(shù)據(jù)更新?tīng)顩r,指示數(shù)據(jù)庫(kù)代理完成主從數(shù)據(jù)庫(kù)的切換操作、以及主從數(shù)據(jù)庫(kù)之間的數(shù)據(jù)同步操作,在該分布式結(jié)構(gòu)中,數(shù)據(jù)庫(kù)代理僅對(duì)數(shù)據(jù)庫(kù)的讀寫狀態(tài)進(jìn)行設(shè)置,不對(duì)數(shù)據(jù)庫(kù)中的其他數(shù)據(jù)進(jìn)行操作,能夠保障數(shù)據(jù)安全性;基于分布式協(xié)調(diào)機(jī)制的協(xié)調(diào)終端,能夠在領(lǐng)導(dǎo)協(xié)調(diào)終端發(fā)生故障時(shí),自動(dòng)選舉出新的領(lǐng)導(dǎo)協(xié)調(diào)終端,能夠保障系統(tǒng)的穩(wěn)定性和可靠性;從而能夠解決現(xiàn)有技術(shù)中,MySQL數(shù)據(jù)庫(kù)集群?jiǎn)吸c(diǎn)故障的解決方案中存在的效率低下、數(shù)據(jù)安全性差、系統(tǒng)穩(wěn)定性差的問(wèn)題。下面對(duì)本申請(qǐng)實(shí)施例進(jìn)行詳細(xì)說(shuō)明。圖2中示出了本申請(qǐng)實(shí)施例提供的數(shù)據(jù)庫(kù)集群?jiǎn)吸c(diǎn)故障的監(jiān)控系統(tǒng)的結(jié)構(gòu)框圖,數(shù)據(jù)庫(kù)集群(X1、X2、…、Xt)中包括若干個(gè)數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)包括主庫(kù)XM或從庫(kù)XS,如圖2所示,該系統(tǒng)包括:多個(gè)數(shù)據(jù)庫(kù)代理221、222、…、22t,由至少三個(gè)基于分布式協(xié)調(diào)機(jī)制的協(xié)調(diào)終端211、212、…、21n構(gòu)成的協(xié)調(diào)集群21,協(xié)調(diào)集群21中包括一個(gè)領(lǐng)導(dǎo)協(xié)調(diào)終端21L、其余為從屬協(xié)調(diào)終端21F,其中n為奇數(shù);一個(gè)數(shù)據(jù)庫(kù)代理22i與數(shù)據(jù)庫(kù)集群中的一個(gè)數(shù)據(jù)庫(kù)Xi對(duì)應(yīng)設(shè)置在一臺(tái)服務(wù)器上,每個(gè)數(shù)據(jù)庫(kù)代理22i中均保存各個(gè)協(xié)調(diào)終端的地址。圖3中示出了圖2所示系統(tǒng)的工作流程圖,如圖3所示,圖2所示系統(tǒng)的工作原理包括如下處理步驟:步驟31、數(shù)據(jù)庫(kù)代理22i定時(shí)檢測(cè)對(duì)應(yīng)數(shù)據(jù)庫(kù)的讀寫狀態(tài),并將檢測(cè)得到的數(shù)據(jù)庫(kù)讀寫狀態(tài)信息發(fā)送給領(lǐng)導(dǎo)協(xié)調(diào)終端21L;步驟32、領(lǐng)導(dǎo)協(xié)調(diào)終端21L接收來(lái)自各個(gè)數(shù)據(jù)庫(kù)代理的數(shù)據(jù)庫(kù)讀寫狀態(tài)信息,在超過(guò)預(yù)定時(shí)限未接收到任意一個(gè)數(shù)據(jù)庫(kù)讀寫狀態(tài)信息,或接收到的任意一個(gè)數(shù)據(jù)庫(kù)讀寫狀態(tài)信息為異常時(shí),確定數(shù)據(jù)庫(kù)集群中存在單點(diǎn)故障。根據(jù)圖2所示系統(tǒng)及其工作原理,通過(guò)數(shù)據(jù)庫(kù)代理定時(shí)檢測(cè)數(shù)據(jù)庫(kù)集群中對(duì)應(yīng)數(shù)據(jù)庫(kù)的讀寫狀態(tài),基于分布式協(xié)調(diào)機(jī)制的領(lǐng)導(dǎo)協(xié)調(diào)終端根據(jù)來(lái)自數(shù)據(jù)庫(kù)代理的數(shù)據(jù)庫(kù)讀寫狀態(tài)信息,對(duì)數(shù)據(jù)庫(kù)集群中的單點(diǎn)故障進(jìn)行識(shí)別,能夠高效、可靠地識(shí)別數(shù)據(jù)庫(kù)集群中的單點(diǎn)故障,從而能夠解決現(xiàn)有技術(shù)中,分布式MySQL數(shù)據(jù)庫(kù)單點(diǎn)故障的解決方案中存在的效率低下的問(wèn)題。以下處理過(guò)程為圖2所示系統(tǒng)的優(yōu)選實(shí)施方式的工作流程,具體包括:步驟一、與主庫(kù)XM對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理在主庫(kù)中創(chuàng)建主庫(kù)測(cè)試表,在定時(shí)能夠向主庫(kù)測(cè)試表中寫入一條記錄、并從中讀取一條記錄,并且能夠與主庫(kù)XM的端口ping通時(shí),確定主庫(kù)XM的讀寫狀態(tài)正常;與從庫(kù)XS相對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理在從庫(kù)XS中創(chuàng)建測(cè)試表,在定時(shí)能夠從從庫(kù)測(cè)試表中讀取一條記錄,并且能夠與從庫(kù)XS的端口ping通時(shí),確定從庫(kù)XS的讀寫狀態(tài)正常;步驟二、各數(shù)據(jù)庫(kù)代理在預(yù)定的通信時(shí)刻到來(lái)時(shí),將檢測(cè)到的對(duì)應(yīng)數(shù)據(jù)庫(kù)的讀寫狀態(tài)信息上報(bào)給領(lǐng)導(dǎo)協(xié)調(diào)終端21L;步驟三、領(lǐng)導(dǎo)協(xié)調(diào)終端21L判斷是否超過(guò)預(yù)定時(shí)限未接收到任意一個(gè)所述數(shù)據(jù)庫(kù)讀寫狀態(tài)信息,或接收到的任意一個(gè)數(shù)據(jù)庫(kù)讀寫狀態(tài)信息為異常,在判斷超過(guò)預(yù)定期限未收到主庫(kù)XM讀寫狀態(tài)信息,或者主庫(kù)XM的讀寫狀態(tài)信息為異常的情況下,處理進(jìn)行到步驟四,在判斷接收到的從庫(kù)XS的讀寫狀態(tài)信息為異常的情況下,處理進(jìn)行到步驟十四;步驟四、領(lǐng)導(dǎo)協(xié)調(diào)終端21L確定主庫(kù)XM發(fā)生單點(diǎn)故障,將發(fā)生單點(diǎn)故障的主庫(kù)XM標(biāo)記為舊主庫(kù)X’M,通知與讀寫狀態(tài)信息為正常的從庫(kù)XS相連接的數(shù)據(jù)庫(kù)代理上報(bào)所述從庫(kù)XS的數(shù)據(jù)更新?tīng)顩r;步驟五、與從庫(kù)XS對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理根據(jù)來(lái)自領(lǐng)導(dǎo)協(xié)調(diào)終端21L的通知,獲取對(duì)應(yīng)從庫(kù)XS的數(shù)據(jù)更新?tīng)顩r信息,將獲取到的從庫(kù)XS數(shù)據(jù)更新?tīng)顩r信息發(fā)送給領(lǐng)導(dǎo)協(xié)調(diào)終端21L;步驟六、領(lǐng)導(dǎo)協(xié)調(diào)終端21L根據(jù)各數(shù)據(jù)庫(kù)代理上報(bào)的從庫(kù)XS的數(shù)據(jù)更新?tīng)顩r信息,將數(shù)據(jù)更新數(shù)量最多的從庫(kù)XS確定為新主庫(kù)XM,指示與新主庫(kù)XM對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理將新主庫(kù)XM的數(shù)據(jù)讀寫狀態(tài)設(shè)置為可讀可寫;步驟七、與新主庫(kù)XM對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理根據(jù)領(lǐng)導(dǎo)協(xié)調(diào)終端21L的指示,將對(duì)應(yīng)新主庫(kù)XM的數(shù)據(jù)讀寫狀態(tài)設(shè)置為可讀可寫;步驟八、領(lǐng)導(dǎo)協(xié)調(diào)終端21L將新主庫(kù)XM的數(shù)據(jù)更新?tīng)顩r信息發(fā)送給與其它從庫(kù)XS相連接的數(shù)據(jù)庫(kù)代理;步驟九、與從庫(kù)XS相連接的數(shù)據(jù)庫(kù)代理根據(jù)來(lái)自領(lǐng)導(dǎo)協(xié)調(diào)終端21L的新主庫(kù)XM的數(shù)據(jù)更新?tīng)顩r信息、以及對(duì)應(yīng)從庫(kù)XS的數(shù)據(jù)更新?tīng)顩r信息,確定對(duì)應(yīng)從庫(kù)XS中缺乏的數(shù)據(jù),從新主庫(kù)XM中讀取所確定缺乏的數(shù)據(jù)、并將讀取的數(shù)據(jù)存入到對(duì)應(yīng)從庫(kù)XS中;步驟十、領(lǐng)導(dǎo)協(xié)調(diào)終端21L在能夠與舊主庫(kù)X’M對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理通信的情況下,指示與舊主庫(kù)X’M對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理將舊主庫(kù)X’M的讀寫狀態(tài)設(shè)置為只讀,并上報(bào)舊主庫(kù)X’M中的數(shù)據(jù)更新?tīng)顩r信息;步驟十一、與舊主庫(kù)X’M對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理根據(jù)來(lái)自領(lǐng)導(dǎo)協(xié)調(diào)終端21L的指示,將對(duì)應(yīng)舊主庫(kù)X’M的讀寫狀態(tài)設(shè)置為只讀,獲取對(duì)應(yīng)舊主庫(kù)X’M的數(shù)據(jù)更新?tīng)顩r信息,將獲取到的舊主庫(kù)X’M數(shù)據(jù)更新?tīng)顩r信息發(fā)送給領(lǐng)導(dǎo)協(xié)調(diào)終端21L;步驟十二、領(lǐng)導(dǎo)協(xié)調(diào)終端21L將接收到的舊主庫(kù)X’M的數(shù)據(jù)更新?tīng)顩r信息發(fā)送給其它各數(shù)據(jù)庫(kù)代理;步驟十三、與新主庫(kù)XM對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理根據(jù)來(lái)自領(lǐng)導(dǎo)協(xié)調(diào)終端21L的舊主庫(kù)X’M的數(shù)據(jù)更新?tīng)顩r信息、以及對(duì)應(yīng)的新主庫(kù)XM的數(shù)據(jù)更新?tīng)顩r信息,確定對(duì)應(yīng)的新主庫(kù)XM中缺乏的數(shù)據(jù),從舊主庫(kù)X’M中讀取所確定缺乏的數(shù)據(jù)、并將讀取的數(shù)據(jù)存入到對(duì)應(yīng)新主庫(kù)XM中;與從庫(kù)XS對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理根據(jù)來(lái)自領(lǐng)導(dǎo)協(xié)調(diào)終端21L的舊主庫(kù)X’M的數(shù)據(jù)更新?tīng)顩r信息、以及對(duì)應(yīng)從庫(kù)XS的數(shù)據(jù)更新?tīng)顩r信息,確定對(duì)應(yīng)從庫(kù)XS中缺乏的數(shù)據(jù),從舊主庫(kù)X’M中讀取所確定缺乏的數(shù)據(jù)、并將讀取的數(shù)據(jù)存入到對(duì)應(yīng)從庫(kù)XS中,處理結(jié)束。步驟十四、領(lǐng)導(dǎo)協(xié)調(diào)終端21L在接收收到上報(bào)的從庫(kù)XS讀寫狀態(tài)信息為異常的情況下,確定從庫(kù)XS發(fā)生單點(diǎn)故障,指示與發(fā)生單點(diǎn)故障的從庫(kù)XS對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理將該從庫(kù)XS的讀寫狀態(tài)設(shè)置為不可用;步驟十五、與發(fā)生單點(diǎn)故障的從庫(kù)XS相對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理根據(jù)來(lái)自領(lǐng)導(dǎo)協(xié)調(diào)終端21L的指示將相對(duì)應(yīng)的從庫(kù)XS的讀寫狀態(tài)設(shè)置為不可用,處理結(jié)束。通過(guò)上述處理過(guò)程,領(lǐng)導(dǎo)協(xié)調(diào)終端21L能夠?qū)崟r(shí)高效地識(shí)別出主庫(kù)XM或從庫(kù)XS發(fā)生的單點(diǎn)故障,在主庫(kù)XM發(fā)生單點(diǎn)故障的情況下,將從庫(kù)XS中數(shù)據(jù)更新數(shù)量最多的從庫(kù)XS確定為新的主庫(kù)XM,指示與新主庫(kù)XM對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理完成從庫(kù)XS切換為主庫(kù)XM的操作;并通知與從庫(kù)XS對(duì)應(yīng)的各個(gè)數(shù)據(jù)庫(kù)代理,根據(jù)新主庫(kù)XM的數(shù)據(jù)更新?tīng)顩r補(bǔ)齊對(duì)應(yīng)從庫(kù)XS中缺乏的數(shù)據(jù),在舊主庫(kù)XM能夠通信的情況下,通知其他數(shù)據(jù)庫(kù)代理根據(jù)舊主庫(kù)XM的數(shù)據(jù)更新?tīng)顩r補(bǔ)齊對(duì)應(yīng)數(shù)據(jù)庫(kù)中缺乏的數(shù)據(jù),從而能夠自動(dòng)高效地完成數(shù)據(jù)庫(kù)集群中單點(diǎn)故障下主從庫(kù)XS的切換、以及主從數(shù)據(jù)庫(kù)的數(shù)據(jù)同步處理。在本實(shí)施例提供的優(yōu)選實(shí)施方式中,數(shù)據(jù)庫(kù)代理僅根據(jù)領(lǐng)導(dǎo)協(xié)調(diào)的指示對(duì)數(shù)據(jù)庫(kù)的讀寫狀態(tài)進(jìn)行設(shè)置,不對(duì)數(shù)據(jù)庫(kù)中的其他數(shù)據(jù)進(jìn)行操作,能夠保障數(shù)據(jù)安全性。以下對(duì)圖2中分布式協(xié)調(diào)集群21的工作原理進(jìn)行說(shuō)明。圖4示出了圖2所示系統(tǒng)中基于分布式協(xié)調(diào)機(jī)制的領(lǐng)導(dǎo)協(xié)調(diào)終端的工作流程圖,如圖4所示,領(lǐng)導(dǎo)協(xié)調(diào)終端的工作流程包括如下處理過(guò)程:步驟41、領(lǐng)導(dǎo)協(xié)調(diào)終端接收與數(shù)據(jù)庫(kù)集群中的數(shù)據(jù)庫(kù)對(duì)應(yīng)設(shè)置的數(shù)據(jù)庫(kù)代理發(fā)送的數(shù)據(jù)庫(kù)讀寫狀態(tài)信息;步驟42、領(lǐng)導(dǎo)協(xié)調(diào)終端在超過(guò)預(yù)定時(shí)限未接收到任意一個(gè)數(shù)據(jù)庫(kù)讀寫狀態(tài)信息、或接收到的任意一個(gè)數(shù)據(jù)庫(kù)讀寫狀態(tài)信息為異常時(shí),確定數(shù)據(jù)庫(kù)集群中存在單點(diǎn)故障?;诜植际絽f(xié)調(diào)機(jī)制的領(lǐng)導(dǎo)協(xié)調(diào)終端,能夠根據(jù)接收到的數(shù)據(jù)庫(kù)的讀寫狀態(tài)信息來(lái)識(shí)別數(shù)據(jù)庫(kù)集群的單點(diǎn)故障,從而能夠高效可靠地識(shí)別數(shù)據(jù)庫(kù)集群的單點(diǎn)故障。以下處理過(guò)程為協(xié)調(diào)集群21的優(yōu)選實(shí)施方式的工作流程,具體包括:步驟一、領(lǐng)導(dǎo)協(xié)調(diào)終端21L與其他各從屬協(xié)調(diào)終端21F進(jìn)行通信,在能夠與超過(guò)半數(shù)以上的從屬協(xié)調(diào)終端21F進(jìn)行正常通信的情況下,處理進(jìn)行到步驟二,在不能與全部從屬協(xié)調(diào)終端21F通信的情況下,處理進(jìn)行到步驟九;步驟二、領(lǐng)導(dǎo)協(xié)調(diào)終端21L接收各個(gè)數(shù)據(jù)庫(kù)代理發(fā)送的數(shù)據(jù)庫(kù)讀寫狀態(tài)信息;將接收到的數(shù)據(jù)庫(kù)讀寫狀態(tài)信息發(fā)送給各個(gè)從屬協(xié)調(diào)終端21F;步驟三、領(lǐng)導(dǎo)協(xié)調(diào)終端21L判斷是否超過(guò)預(yù)定時(shí)限未接收到任意一個(gè)數(shù)據(jù)庫(kù)的讀寫狀態(tài)信息、或接收到的數(shù)據(jù)庫(kù)讀寫狀態(tài)信息為異常,在判斷超過(guò)預(yù)定時(shí)限未接收到主庫(kù)的讀寫狀態(tài)信息、或接收到的主庫(kù)讀寫狀態(tài)信息為異常,處理進(jìn)行到步驟四,在判斷超過(guò)預(yù)定時(shí)限未接收到從庫(kù)的讀寫狀態(tài)信息、或接收到的從庫(kù)讀寫狀態(tài)信息為異常,處理進(jìn)行到步驟八;步驟四、領(lǐng)導(dǎo)協(xié)調(diào)終端21L確定主庫(kù)發(fā)生單點(diǎn)故障,將發(fā)生單點(diǎn)故障的主庫(kù)標(biāo)記為舊主庫(kù),通知與讀寫狀態(tài)信息正常的從庫(kù)對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理上報(bào)從庫(kù)的數(shù)據(jù)更新?tīng)顩r信息;步驟五、領(lǐng)導(dǎo)協(xié)調(diào)終端21L根據(jù)各數(shù)據(jù)庫(kù)代理上報(bào)的從庫(kù)的數(shù)據(jù)更新?tīng)顩r信息,將數(shù)據(jù)更新數(shù)量最多的從庫(kù)確定為新主庫(kù),指示與新主庫(kù)對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理將新主庫(kù)的數(shù)據(jù)讀寫狀態(tài)設(shè)置為可讀可寫;將各數(shù)據(jù)庫(kù)代理上報(bào)的從庫(kù)的數(shù)據(jù)更新?tīng)顩r信息發(fā)送給各個(gè)從屬協(xié)調(diào)終端21F;步驟六、領(lǐng)導(dǎo)協(xié)調(diào)終端21L將新主庫(kù)的數(shù)據(jù)更新?tīng)顩r信息發(fā)送給與從庫(kù)對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理,以使與從庫(kù)對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理根據(jù)新主庫(kù)的數(shù)據(jù)更新?tīng)顩r信息,讀取從庫(kù)中缺乏的數(shù)據(jù);步驟七、領(lǐng)導(dǎo)協(xié)調(diào)終端21L在能夠與舊主庫(kù)對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理通信的情況下,指示與舊主庫(kù)對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理將舊主庫(kù)的讀寫狀態(tài)設(shè)置為只讀、上報(bào)舊主庫(kù)中的數(shù)據(jù)更新?tīng)顩r信息,并將與舊主庫(kù)對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理上報(bào)的舊主庫(kù)的數(shù)據(jù)更新?tīng)顩r信息發(fā)送給與新主庫(kù)對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理和與從庫(kù)對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理;將舊主庫(kù)的數(shù)據(jù)更新?tīng)顩r信息發(fā)送給各個(gè)從屬協(xié)調(diào)終端21F;步驟八、領(lǐng)導(dǎo)協(xié)調(diào)終端21L確定從庫(kù)發(fā)生單點(diǎn)故障,指示與發(fā)生單點(diǎn)故障的從庫(kù)對(duì)應(yīng)的數(shù)據(jù)庫(kù)代理將該從庫(kù)的讀寫狀態(tài)設(shè)置為不可用;步驟九、各從屬協(xié)調(diào)終端21F之間基于分布式協(xié)調(diào)機(jī)制進(jìn)行通信,選舉出新的領(lǐng)導(dǎo)協(xié)調(diào)終端21’L;步驟十、新的領(lǐng)導(dǎo)協(xié)調(diào)終端21’L將自身的IP地址和端口號(hào)發(fā)送給每一個(gè)數(shù)據(jù)庫(kù)代理,處理返回步驟一。圖2中所示的基于分布式協(xié)調(diào)機(jī)制的協(xié)調(diào)集群,在超過(guò)半數(shù)以上的協(xié)調(diào)終端之間能夠通信時(shí)就能夠可靠穩(wěn)定的運(yùn)行,并且在領(lǐng)導(dǎo)協(xié)調(diào)終端發(fā)生故障、與其他從屬協(xié)調(diào)終端之間不能通信時(shí),從屬協(xié)調(diào)終端之間基于分布式協(xié)調(diào)機(jī)制進(jìn)行通信,選舉出新的領(lǐng)導(dǎo)協(xié)調(diào)終端,該新的領(lǐng)導(dǎo)協(xié)調(diào)終端面向數(shù)據(jù)庫(kù)代理進(jìn)行通信,從而能夠保障圖2所示監(jiān)控系統(tǒng)的運(yùn)行穩(wěn)定性,相比與現(xiàn)有技術(shù),能夠提高監(jiān)控?cái)?shù)據(jù)庫(kù)集群?jiǎn)吸c(diǎn)故障的穩(wěn)定性和可靠性。具體地,協(xié)調(diào)集群在具體實(shí)施的過(guò)程中,可采用基于Paxos協(xié)議的Chubby實(shí)例,或者采用基于Zab協(xié)議的Zookeeper實(shí)例。下面對(duì)本申請(qǐng)實(shí)施例具體實(shí)施的情況進(jìn)行說(shuō)明。圖5示出了本申請(qǐng)實(shí)施例具體實(shí)施的場(chǎng)景示意圖,數(shù)據(jù)庫(kù)集群中的主庫(kù)拆分為2個(gè)主庫(kù)XM1中和主庫(kù)XM2,主庫(kù)XM1中和主庫(kù)XM2中的數(shù)據(jù)不交叉,主庫(kù)XM1的從庫(kù)為從庫(kù)XS1至從庫(kù)XS5,主庫(kù)XM2的從庫(kù)為從庫(kù)XS6至從庫(kù)XS7,數(shù)據(jù)庫(kù)集群構(gòu)成數(shù)據(jù)庫(kù)集群(DBC,DataBaseCluster),2個(gè)主庫(kù)XM和5個(gè)從庫(kù)被部署在三個(gè)的機(jī)房中,主庫(kù)XM1和從庫(kù)XS1至從庫(kù)XS3部署在機(jī)房A中,從庫(kù)XS4和從庫(kù)XS5部署在機(jī)房B中,主庫(kù)XM2和從庫(kù)XS6、從庫(kù)XS7部署在機(jī)房C中,各數(shù)據(jù)庫(kù)均為MySQL實(shí)例,對(duì)每個(gè)數(shù)據(jù)庫(kù)對(duì)應(yīng)設(shè)置數(shù)據(jù)庫(kù)代理Agent,對(duì)應(yīng)設(shè)置的Agent和數(shù)據(jù)庫(kù)位于同一個(gè)服務(wù)器中,3個(gè)基于分布式協(xié)調(diào)機(jī)制的協(xié)調(diào)終端構(gòu)成協(xié)調(diào)集群(DCSC,DistributedCooperationServicesCluster),DCSC中包括一個(gè)領(lǐng)導(dǎo)協(xié)調(diào)終端(Leader)、2個(gè)從屬協(xié)調(diào)終端(Follower),每個(gè)協(xié)調(diào)終端均為Zookeeper實(shí)例,每個(gè)Agent中均保持各個(gè)協(xié)調(diào)終端的IP地址和端口號(hào)。圖5所示系統(tǒng)啟動(dòng)時(shí),先分別啟動(dòng)DBC和DCSC,與數(shù)據(jù)庫(kù)位于同一服務(wù)器上的Agent后續(xù)啟動(dòng),圖5所示系統(tǒng)的工作流程包括如下處理過(guò)程:步驟一、各Agent讀取相連接的數(shù)據(jù)庫(kù)的IP、通信端口,將讀取到的數(shù)據(jù)庫(kù)的IP、通信端口號(hào)發(fā)送給DCSC的Leader;步驟二、Leader記錄接收到的各數(shù)據(jù)庫(kù)的IP、通信端口;步驟三、與主庫(kù)相對(duì)應(yīng)的AgentM1、AgentM2分別在相對(duì)應(yīng)的主庫(kù)XM1、XM2中創(chuàng)建主庫(kù)測(cè)試表,在定時(shí)能夠向主庫(kù)測(cè)試表中寫入一條記錄、從中讀取一條記錄,并且和主庫(kù)的端口ping通時(shí),確定主庫(kù)的讀寫狀態(tài)正常;與從庫(kù)相連接的AgentS1~AgentS7分別在相對(duì)應(yīng)的從庫(kù)中創(chuàng)建從庫(kù)測(cè)試表,在定時(shí)能夠從從庫(kù)測(cè)試表中讀取一條記錄、并與從庫(kù)的端口ping通時(shí),確定從庫(kù)的讀寫狀態(tài)正常;步驟四、各Agent在預(yù)定的通信時(shí)刻到來(lái)時(shí),將檢測(cè)得到的對(duì)應(yīng)數(shù)據(jù)庫(kù)的讀寫狀態(tài)信息上報(bào)給Leader;步驟五、Leader判斷超過(guò)預(yù)定期限未收到AgentM1發(fā)送的主庫(kù)XM1的讀寫狀態(tài)信息,并且AgentS2發(fā)送的從庫(kù)XS2的讀寫狀態(tài)信息為異常;步驟六、Leader將主庫(kù)XM1標(biāo)記為舊主庫(kù)XM’1,通知與正常存活的(即讀寫狀態(tài)信息為正常)的從庫(kù)XS1、從庫(kù)XS3、從庫(kù)XS4、從庫(kù)XS5相連接的AgentS1、AgentS3、AgentS4、AgentS5上報(bào)從庫(kù)的數(shù)據(jù)同步點(diǎn)記錄,并指示與從庫(kù)XS2相連接的AgentS2將從庫(kù)XS2的讀寫狀態(tài)設(shè)置為不可用;步驟七、AgentS1讀取從庫(kù)XS1的數(shù)據(jù)點(diǎn)同步記錄為100條,AgentS3讀取從庫(kù)XS3的數(shù)據(jù)點(diǎn)同步記錄為105條,AgentS4讀取從庫(kù)XS4的數(shù)據(jù)點(diǎn)同步記錄為108條,AgentS5讀取從庫(kù)XS5的數(shù)據(jù)點(diǎn)同步記錄為110條,AgentS1、AgentS3、AgentS4、AgentS5將讀取的數(shù)據(jù)點(diǎn)同步記錄上報(bào)給Leader;AgentS2根據(jù)Leader的指示,將從庫(kù)XS2的讀寫狀態(tài)設(shè)置為不可用;步驟八、Leader根據(jù)與上報(bào)的從庫(kù)XS的數(shù)據(jù)同步點(diǎn)記錄,將同步點(diǎn)位置最大的從庫(kù)XS5確定為新主庫(kù)XM;步驟九、Leader指示AgentS5將從庫(kù)XS5的讀寫狀態(tài)設(shè)置為可讀可寫;步驟九、AgentS5根據(jù)Leader的指示,將從庫(kù)XS5的讀寫狀態(tài)設(shè)置為可讀可寫;步驟十、Leader將從庫(kù)XS5的數(shù)據(jù)同步點(diǎn)記錄110條發(fā)送給AgentS1、AgentS3、AgentS4;步驟十一、AgentS1、AgentS3、AgentS4分別根據(jù)從庫(kù)XS5的數(shù)據(jù)點(diǎn)同步記錄,AgentS1從從庫(kù)XS5中讀取101條至110條數(shù)據(jù),AgentS3從從庫(kù)XS5中讀取106條至110條數(shù)據(jù),AgentS4從從庫(kù)XS5中讀取109條至110條數(shù)據(jù);步驟十二、舊主庫(kù)XM’1重啟后,AgentM1與Leader之間重新發(fā)起通信,Leader查找與AgentM1相連接的數(shù)據(jù)庫(kù)的標(biāo)記,發(fā)現(xiàn)與AgentM1相連接的數(shù)據(jù)庫(kù)為舊主庫(kù)XM’1,指示AgentM1將舊主庫(kù)XM’1的讀寫狀態(tài)設(shè)置為只讀、并上報(bào)舊主庫(kù)XM’1中的數(shù)據(jù)同步點(diǎn)記錄;步驟十三、AgentM1根據(jù)來(lái)自Leader的指示,將舊主庫(kù)XM’1的讀寫狀態(tài)設(shè)置為只讀,在舊主庫(kù)XM’1中的數(shù)據(jù)同步點(diǎn)記錄可讀取的情況下,讀取舊主庫(kù)XM’1中的數(shù)據(jù)同步點(diǎn)記錄為120條,將讀取的數(shù)據(jù)同步點(diǎn)記錄為120上報(bào)給Leader;步驟十四、Leader將AgentM1上報(bào)的數(shù)據(jù)同步點(diǎn)記錄發(fā)送給AgentS1、AgentS3、AgentS4;步驟十五、AgentS1、AgentS3、AgentS4分別根據(jù)舊主庫(kù)XM’1的數(shù)據(jù)點(diǎn)同步記錄,AgentS1、AgentS3、AgentS4從舊主庫(kù)XM’1讀取111條至120條數(shù)據(jù)。相類似地,如果主庫(kù)2及其從庫(kù)發(fā)生單點(diǎn)故障,也可以根據(jù)上述處理過(guò)程完成主從數(shù)據(jù)庫(kù)的切換及數(shù)據(jù)同步處理。通過(guò)如圖5所示的系統(tǒng)及其工作過(guò)程,對(duì)應(yīng)將主庫(kù)拆分為多套數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)集群中的單點(diǎn)故障,能夠及時(shí)高效地自動(dòng)完成數(shù)據(jù)庫(kù)的切換、以及數(shù)據(jù)同步操作,根據(jù)經(jīng)驗(yàn)統(tǒng)計(jì)情況,單套庫(kù)的數(shù)據(jù)庫(kù)集群可以在秒單位級(jí)別完成切換,對(duì)于將主庫(kù)拆分為16套庫(kù)的數(shù)據(jù)庫(kù)集群,能夠在幾十秒級(jí)別完成主從數(shù)據(jù)庫(kù)的切換,并且,數(shù)據(jù)庫(kù)代理僅根據(jù)領(lǐng)導(dǎo)協(xié)調(diào)終端的指令對(duì)數(shù)據(jù)庫(kù)的讀寫狀態(tài)進(jìn)行設(shè)置,不對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)安全造成威脅,各協(xié)調(diào)終端基于分布式協(xié)調(diào)機(jī)制構(gòu)成可靠的分布式協(xié)調(diào)集群,能夠保障系統(tǒng)的穩(wěn)定性。綜上所述,本申請(qǐng)實(shí)施例提供的數(shù)據(jù)庫(kù)集群?jiǎn)吸c(diǎn)故障的監(jiān)控系統(tǒng)及其工作原理,通過(guò)由數(shù)據(jù)庫(kù)代理和基于分布式協(xié)調(diào)機(jī)制的協(xié)調(diào)終端構(gòu)成的分布式結(jié)構(gòu),能夠自動(dòng)、高效、安全、穩(wěn)定、可靠地識(shí)別數(shù)據(jù)庫(kù)集群的單點(diǎn)故障、實(shí)現(xiàn)主備數(shù)據(jù)庫(kù)的切換、以及各數(shù)據(jù)庫(kù)之間的數(shù)據(jù)同步操作。相比與現(xiàn)有技術(shù)中通過(guò)人工識(shí)別以及通過(guò)單點(diǎn)監(jiān)控端來(lái)識(shí)別單點(diǎn)故障,能夠提高識(shí)別單點(diǎn)故障的效率、有效地保障數(shù)據(jù)庫(kù)中數(shù)據(jù)的安全性、提高對(duì)單點(diǎn)故障處理的可靠性和穩(wěn)定性。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本申請(qǐng)進(jìn)行各種改動(dòng)和變型而不脫離本申請(qǐng)的精神和范圍。這樣,倘若本申請(qǐng)的這些修改和變型屬于本申請(qǐng)權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請(qǐng)也意圖包含這些改動(dòng)和變型在內(nèi)。