專(zhuān)利名稱(chēng):提供數(shù)據(jù)庫(kù)服務(wù)的方法及數(shù)據(jù)庫(kù)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種提供數(shù)據(jù)庫(kù)服務(wù)的方法及數(shù)據(jù)庫(kù)系統(tǒng)。
背景技術(shù):
在網(wǎng)管產(chǎn)品中,數(shù)據(jù)的保存和恢復(fù)對(duì)數(shù)據(jù)的安全性和實(shí)時(shí)性要求很高。如何在管理好現(xiàn)有設(shè)備的同時(shí)建立一套功能完善的備份系統(tǒng),成為網(wǎng)管產(chǎn)品需要解決的一個(gè)重要問(wèn)題。在相關(guān)技術(shù)中,在網(wǎng)管產(chǎn)品中一般使用分布式數(shù)據(jù)庫(kù)系統(tǒng),S卩,開(kāi)發(fā)和使用的容災(zāi)備份技術(shù)均在分布式數(shù)據(jù)庫(kù)系統(tǒng)中進(jìn)行,由于在分布式系統(tǒng)中提供數(shù)據(jù)庫(kù)服務(wù)的可能有多個(gè)數(shù)據(jù)庫(kù)服務(wù)器(也成為節(jié)點(diǎn),或者簡(jiǎn)稱(chēng)為數(shù)據(jù)庫(kù)),因此,在數(shù)據(jù)庫(kù)操作中,各個(gè)節(jié)點(diǎn)的操作有可能不能完全保持一致(例如,一個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)暫時(shí)有問(wèn)題,此時(shí)有可能導(dǎo)致該操作的不一致),從而有可能導(dǎo)致出現(xiàn)比較嚴(yán)重的問(wèn)題,例如,備份數(shù)據(jù)狀態(tài)不一致導(dǎo)致無(wú)法恢復(fù)、備份恢復(fù)操作繁雜而易出錯(cuò)、備份文件維護(hù)困難等問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種提供數(shù)據(jù)庫(kù)服務(wù)的方法及數(shù)據(jù)庫(kù)系統(tǒng),以至少解決上述問(wèn)題之一。根據(jù)本發(fā)明的一個(gè)方面,提供了一種提供數(shù)據(jù)庫(kù)服務(wù)的方法,包括多個(gè)數(shù)據(jù)庫(kù)服務(wù)器形成一個(gè)集群;所述集群中的多個(gè)數(shù)據(jù)庫(kù)服務(wù)器作為一個(gè)節(jié)點(diǎn)對(duì)外提供統(tǒng)一的接口; 所述集群中的一個(gè)數(shù)據(jù)庫(kù)服務(wù)器通過(guò)所述接口對(duì)外提供數(shù)據(jù)庫(kù)服務(wù)。進(jìn)一步地,所述集群中的一個(gè)數(shù)據(jù)庫(kù)服務(wù)器通過(guò)所述接口對(duì)外提供數(shù)據(jù)庫(kù)服務(wù)包括所述集群中的主服務(wù)器通過(guò)所述接口對(duì)外提供所述數(shù)據(jù)庫(kù)服務(wù);所述方法還包括所述集群中的其他數(shù)據(jù)庫(kù)服務(wù)器作為備份服務(wù)器從所述主服務(wù)器進(jìn)行數(shù)據(jù)備份。進(jìn)一步地,所述備份服務(wù)器從所述主服務(wù)器進(jìn)行數(shù)據(jù)備份包括所述備份服務(wù)器與所述主服務(wù)器具有相同的磁盤(pán)數(shù)據(jù)庫(kù)結(jié)構(gòu),并通過(guò)塊對(duì)塊的方式進(jìn)行物理拷貝以從所述主服務(wù)器進(jìn)行數(shù)據(jù)備份。進(jìn)一步地,所述備份服務(wù)器以塊對(duì)塊的方式進(jìn)行物理拷貝包括所述備份服務(wù)器從所述主服務(wù)器拷貝變化的塊。進(jìn)一步地,上述方法還包括所述主服務(wù)器發(fā)生故障;按照預(yù)定的順序?qū)⑺鰝浞莘?wù)器中的一個(gè)切換為主服務(wù)器。進(jìn)一步地,上述方法還包括所述主服務(wù)器在發(fā)生故障時(shí)還有未處理完的事物,在進(jìn)行切換前,進(jìn)行所述事物的回退。進(jìn)一步地,上述方法還包括對(duì)所述主服務(wù)器和/或上述備份服務(wù)器進(jìn)行檢測(cè),并在有服務(wù)器發(fā)生故障時(shí)發(fā)出告警。根據(jù)本發(fā)明的另一方面,還提供了一種數(shù)據(jù)庫(kù)系統(tǒng),包括多個(gè)數(shù)據(jù)庫(kù)服務(wù)器,多個(gè)數(shù)據(jù)庫(kù)服務(wù)器形成一個(gè)集群;該系統(tǒng)還包括所述集群中的多個(gè)數(shù)據(jù)庫(kù)服務(wù)器作為一個(gè)節(jié)點(diǎn)對(duì)外統(tǒng)一提供的接口,其中,所述集群中的一個(gè)數(shù)據(jù)庫(kù)服務(wù)器通過(guò)所述接口對(duì)外提供數(shù)據(jù)庫(kù)服務(wù)。進(jìn)一步地,所述多個(gè)數(shù)據(jù)庫(kù)服務(wù)器中一個(gè)數(shù)據(jù)庫(kù)服務(wù)器為主服務(wù)器,其他數(shù)據(jù)庫(kù)服務(wù)器為備份服務(wù)器,其中,所述主服務(wù)器,用于通過(guò)所述接口對(duì)外提供所述數(shù)據(jù)庫(kù)服務(wù); 所述備份服務(wù)器,用于從所述主服務(wù)器進(jìn)行數(shù)據(jù)備份。進(jìn)一步地,所述備份服務(wù)器與所述主服務(wù)器具有相同的磁盤(pán)數(shù)據(jù)庫(kù)結(jié)構(gòu),并且,所述備份服務(wù)器用于通過(guò)塊對(duì)塊的方式進(jìn)行物理拷貝以從所述主服務(wù)器進(jìn)行數(shù)據(jù)備份。進(jìn)一步地,所述備份服務(wù)器還用于按照預(yù)定的順序在所述主服務(wù)器發(fā)生故障時(shí)切換為主服務(wù)器。通過(guò)本發(fā)明,采用多個(gè)數(shù)據(jù)庫(kù)服務(wù)器形成一個(gè)集群;集群中的多個(gè)數(shù)據(jù)庫(kù)服務(wù)器作為一個(gè)節(jié)點(diǎn)對(duì)外提供統(tǒng)一的接口 ;集群中的一個(gè)數(shù)據(jù)庫(kù)服務(wù)器通過(guò)接口對(duì)外提供數(shù)據(jù)庫(kù)服務(wù)。解決了相關(guān)技術(shù)中的分布式數(shù)據(jù)庫(kù)系統(tǒng)多個(gè)數(shù)據(jù)庫(kù)服務(wù)器提供服務(wù)而導(dǎo)致的問(wèn)題, 提高了數(shù)據(jù)庫(kù)系統(tǒng)的可靠性。
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中圖1是根據(jù)本發(fā)明實(shí)施例的提供數(shù)據(jù)庫(kù)服務(wù)的方法的流程圖;圖2是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)庫(kù)系統(tǒng)的示意圖;圖3是根據(jù)本發(fā)明實(shí)施例的優(yōu)選提供數(shù)據(jù)庫(kù)服務(wù)的方法的流程圖。
具體實(shí)施例方式下文中將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。圖1是根據(jù)本發(fā)明實(shí)施例的提供數(shù)據(jù)庫(kù)服務(wù)的方法的流程圖,如圖1所示,該流程包括如下步驟步驟S102,多個(gè)數(shù)據(jù)庫(kù)服務(wù)器形成一個(gè)集群;步驟S104,該集群中的多個(gè)數(shù)據(jù)庫(kù)服務(wù)器作為一個(gè)節(jié)點(diǎn)對(duì)外提供統(tǒng)一的接口 ;步驟S106,集群中的一個(gè)數(shù)據(jù)庫(kù)服務(wù)器通過(guò)上述接口對(duì)外提供數(shù)據(jù)庫(kù)服務(wù)。通過(guò)上述步驟,在存在多個(gè)數(shù)據(jù)庫(kù)服務(wù)器的集群中,僅有一個(gè)數(shù)據(jù)庫(kù)服務(wù)器提供服務(wù),這樣就可以避免在相關(guān)技術(shù)中多個(gè)數(shù)據(jù)庫(kù)服務(wù)器提供服務(wù)所導(dǎo)致的問(wèn)題,從而提高了數(shù)據(jù)庫(kù)系統(tǒng)的可靠性。優(yōu)選地,在實(shí)施時(shí),可以將集群中的多個(gè)服務(wù)器分為一個(gè)主服務(wù)器,其他的數(shù)據(jù)庫(kù)服務(wù)器作為備份服務(wù)器,其中,該主服務(wù)器通過(guò)上述接口對(duì)外提供數(shù)據(jù)庫(kù)服務(wù);并保持備份服務(wù)器中的數(shù)據(jù)庫(kù)與主服務(wù)器中的數(shù)據(jù)庫(kù)同步,即,備份服務(wù)器從主服務(wù)器進(jìn)行數(shù)據(jù)備份。需要說(shuō)明的是,備份的方式有多種,在本實(shí)施例中提供了一種優(yōu)選的備份方式, 艮口,備份服務(wù)器與主服務(wù)器具有相同的磁盤(pán)數(shù)據(jù)庫(kù)結(jié)構(gòu),并通過(guò)塊對(duì)塊的方式進(jìn)行物理拷貝以從主服務(wù)器進(jìn)行數(shù)據(jù)備份。為了使塊對(duì)塊的拷貝節(jié)約資源,備份服務(wù)器可以只從主服務(wù)器拷貝變化的塊。
優(yōu)選地,在實(shí)施時(shí),如果主服務(wù)器發(fā)生故障,此時(shí),可以按照預(yù)定的順序?qū)浞莘?wù)器中的一個(gè)切換為主服務(wù)器。例如,該集群中有三個(gè)備份服務(wù)器,服務(wù)器A、服務(wù)器B、服務(wù)器C,如果預(yù)定的切換順序?yàn)锳、C、B,那么,在主服務(wù)器發(fā)生故障時(shí),首先將服務(wù)器A切換為主服務(wù)器,服務(wù)器A發(fā)生故障時(shí),將服務(wù)器C切換為主服務(wù)器,如果服務(wù)器C再發(fā)生故障, 將服務(wù)器B切換為主服務(wù)器。當(dāng)然,也可以不按照預(yù)定的順序切換,例如,可以采用隨機(jī)的方式切換,但是,按照預(yù)定的順序切換可以使切換可控。在實(shí)施時(shí),為了保證事物的原子性,主服務(wù)器在發(fā)生故障時(shí)還有未處理完的事物, 在進(jìn)行切換前,進(jìn)行該事物的回退。當(dāng)然,在實(shí)施時(shí)還可以對(duì)備份服務(wù)器進(jìn)行檢測(cè),在備份服務(wù)器發(fā)生故障時(shí)發(fā)出告警,以便于進(jìn)行處理,當(dāng)然,也可以對(duì)主服務(wù)器進(jìn)行監(jiān)控,在出現(xiàn)故障的時(shí)候告警。優(yōu)選地, 備份服務(wù)器可以與主服務(wù)器通過(guò)心跳電纜連接。在另外一個(gè)實(shí)施例中還提供了一種數(shù)據(jù)庫(kù)系統(tǒng),包括多個(gè)數(shù)據(jù)庫(kù)服務(wù)器,用于實(shí)現(xiàn)上述實(shí)施例及其優(yōu)選實(shí)施方式,在上述已經(jīng)進(jìn)行過(guò)說(shuō)明的,在此不再贅述。該系統(tǒng)包括多個(gè)數(shù)據(jù)庫(kù)服務(wù)器,其中多個(gè)數(shù)據(jù)庫(kù)服務(wù)器形成一個(gè)集群;集群中的多個(gè)數(shù)據(jù)庫(kù)服務(wù)器作為一個(gè)節(jié)點(diǎn)對(duì)外統(tǒng)一提供的接口,其中集群中的一個(gè)數(shù)據(jù)庫(kù)服務(wù)器通過(guò)接口對(duì)外提供數(shù)據(jù)庫(kù)服務(wù)。優(yōu)選地,多個(gè)數(shù)據(jù)庫(kù)服務(wù)器中一個(gè)數(shù)據(jù)庫(kù)服務(wù)器為主服務(wù)器,其他數(shù)據(jù)庫(kù)服務(wù)器為備份服務(wù)器,其中,主服務(wù)器,用于通過(guò)上述接口對(duì)外提供數(shù)據(jù)庫(kù)服務(wù);備份服務(wù)器,用于從主服務(wù)器進(jìn)行數(shù)據(jù)備份。優(yōu)選地,備份服務(wù)器與主服務(wù)器具有相同的磁盤(pán)數(shù)據(jù)庫(kù)結(jié)構(gòu),并且備份服務(wù)器用于通過(guò)塊對(duì)塊的方式進(jìn)行物理拷貝以從主服務(wù)器進(jìn)行數(shù)據(jù)備份。優(yōu)選地,備份服務(wù)器還用于按照預(yù)定的順序在主服務(wù)器發(fā)生故障時(shí)切換為主服務(wù)
ο通過(guò)上述實(shí)施例及其優(yōu)選實(shí)施方式,實(shí)現(xiàn)了集群服務(wù)S卩,將兩個(gè)或多個(gè)服務(wù)器連接在一起,使其對(duì)網(wǎng)管客戶(hù)端呈現(xiàn)為單個(gè)計(jì)算機(jī)。在一個(gè)群集中連接服務(wù)器(即,主服務(wù)器)可以分擔(dān)工作負(fù)載、實(shí)現(xiàn)單點(diǎn)操作和/或管理,并為滿(mǎn)足增長(zhǎng)的需求進(jìn)行相應(yīng)的調(diào)整提供了一種途徑。因此,通過(guò)集群可以產(chǎn)生具有高可用性的應(yīng)用程序;還實(shí)現(xiàn)了對(duì)多個(gè)節(jié)點(diǎn)實(shí)現(xiàn)監(jiān)控和管理,最主要的是當(dāng)主節(jié)點(diǎn)(主服務(wù)器)的數(shù)據(jù)庫(kù)發(fā)生故障時(shí),它可以快速有效地切換到其他備份節(jié)點(diǎn)(備份服務(wù)器),屏蔽數(shù)據(jù)庫(kù)異常對(duì)網(wǎng)管產(chǎn)品的服務(wù)器的影響。然后是創(chuàng)建、維護(hù)、管理和監(jiān)控一個(gè)或多個(gè)數(shù)據(jù)庫(kù),使得數(shù)據(jù)庫(kù)可以從災(zāi)難和數(shù)據(jù)損壞中得以幸存,并且維護(hù)這些備數(shù)據(jù)庫(kù)作為生產(chǎn)數(shù)據(jù)庫(kù)的事務(wù)一致性拷貝;還實(shí)現(xiàn)了生產(chǎn)數(shù)據(jù)庫(kù)(主服務(wù)器)因?yàn)橛?jì)劃的或計(jì)劃外的中斷而變得不可用,能切換任何備份服務(wù)器為生產(chǎn)角色, 從而最小化中斷引起的宕機(jī)時(shí)間。此外上述實(shí)施例及其優(yōu)選實(shí)施方式可以實(shí)現(xiàn)災(zāi)難備份系統(tǒng)節(jié)點(diǎn)不受物理分布限制、在節(jié)點(diǎn)之間自動(dòng)同步實(shí)時(shí)變化的數(shù)據(jù)并且系統(tǒng)恢復(fù)時(shí)間足夠短,相對(duì)于網(wǎng)管產(chǎn)品的服務(wù)端盡可能透明,數(shù)據(jù)庫(kù)之間切換平滑。圖2是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)庫(kù)系統(tǒng)的示意圖,如圖2所示,該系統(tǒng)包括主 (master)服務(wù)器和備份(slave)服務(wù)器1至4,這些數(shù)據(jù)庫(kù)服務(wù)器用于向網(wǎng)管服務(wù)器提供數(shù)據(jù)庫(kù)服務(wù),網(wǎng)管客戶(hù)端連接網(wǎng)管服務(wù)器,下面結(jié)合該圖進(jìn)行說(shuō)明。
圖3是根據(jù)本發(fā)明實(shí)施例的優(yōu)選提供數(shù)據(jù)庫(kù)服務(wù)的方法的流程圖,如圖3所示,該流程包括如下步驟步驟S302,虛擬一個(gè)對(duì)外能提供數(shù)據(jù)庫(kù)服務(wù)的節(jié)點(diǎn)(該虛擬節(jié)點(diǎn)可以認(rèn)為是一個(gè)接口),即,無(wú)論冗余的數(shù)據(jù)庫(kù)節(jié)點(diǎn)有多少個(gè),需要把這些數(shù)據(jù)庫(kù)節(jié)點(diǎn)虛擬為一個(gè)節(jié)點(diǎn),而且這個(gè)虛擬的數(shù)據(jù)庫(kù)節(jié)點(diǎn)對(duì)外提供連接,網(wǎng)管產(chǎn)品可以通過(guò)這個(gè)節(jié)點(diǎn)進(jìn)行所有的數(shù)據(jù)庫(kù)操作,網(wǎng)管產(chǎn)品不知道也無(wú)需知道實(shí)際有多少個(gè)備份節(jié)點(diǎn),而且如果一個(gè)備份節(jié)點(diǎn)發(fā)生故障時(shí),主節(jié)點(diǎn)和其他備份節(jié)點(diǎn)之間發(fā)生自動(dòng)切換,網(wǎng)管產(chǎn)品不需要知道它們之間的內(nèi)部切換。步驟S304,實(shí)現(xiàn)對(duì)虛擬節(jié)點(diǎn)內(nèi)部的管理和監(jiān)控要對(duì)各個(gè)備份節(jié)點(diǎn)進(jìn)行管理和檢測(cè),這樣可以提高整個(gè)系統(tǒng)的穩(wěn)定性和實(shí)現(xiàn)節(jié)點(diǎn)之間切換的功能,當(dāng)某一個(gè)節(jié)點(diǎn)發(fā)生故障時(shí),應(yīng)當(dāng)返回告警,使維護(hù)人員能夠順利地修復(fù)和解除該節(jié)點(diǎn)的告警。步驟S306,管理和分配虛擬節(jié)點(diǎn)內(nèi)部各個(gè)節(jié)點(diǎn)的角色節(jié)點(diǎn)之間可以分為主節(jié)點(diǎn)和備份節(jié)點(diǎn)兩個(gè)角色,虛擬節(jié)點(diǎn)內(nèi)部在任意時(shí)刻有且僅有一個(gè)主節(jié)點(diǎn)承擔(dān)完全的數(shù)據(jù)庫(kù)角色,主節(jié)點(diǎn)承擔(dān)數(shù)據(jù)庫(kù)的查詢(xún)、刪除、增加、修改記錄等各種數(shù)據(jù)庫(kù)功能,其他備份節(jié)點(diǎn)僅接受主節(jié)點(diǎn)改動(dòng)的數(shù)據(jù)塊文件,不承擔(dān)數(shù)據(jù)庫(kù)的其他功能。步驟S308,實(shí)現(xiàn)各個(gè)節(jié)點(diǎn)數(shù)據(jù)的一致性和事物的原子性備份節(jié)點(diǎn)轉(zhuǎn)化為主節(jié)點(diǎn)時(shí),必須所有的數(shù)據(jù)和前一個(gè)主節(jié)點(diǎn)在失效前,數(shù)據(jù)保持完全一致,如果一個(gè)事物在前一個(gè)主節(jié)點(diǎn)失效前開(kāi)始執(zhí)行,在失效后還沒(méi)有結(jié)束,則該事物進(jìn)行回退,需要保證事物的原子性。步驟S310,發(fā)生故障時(shí),主備節(jié)點(diǎn)能自動(dòng)發(fā)生切換當(dāng)主節(jié)點(diǎn)的數(shù)據(jù)庫(kù)節(jié)點(diǎn)發(fā)生故障時(shí),節(jié)點(diǎn)之間會(huì)自動(dòng)發(fā)生切換,節(jié)點(diǎn)之間切換順序必須可控,例如,當(dāng)主節(jié)點(diǎn)發(fā)生故障時(shí),首先是備份節(jié)點(diǎn)1承擔(dān)主節(jié)點(diǎn)角色,如果再發(fā)生故障,則備份節(jié)點(diǎn)2承擔(dān)主節(jié)點(diǎn)角色,依次類(lèi)推。下面結(jié)合一個(gè)優(yōu)選的實(shí)施例進(jìn)行說(shuō)明。在本優(yōu)選實(shí)施例中,可以把主服務(wù)器(master server)和備用服務(wù)器(slave server)虛擬成一個(gè)節(jié)點(diǎn),主服務(wù)器和備用服務(wù)器之間用心跳線連接起來(lái)(即集群心跳線纜),此時(shí)需要準(zhǔn)備多個(gè)IP地址,主服務(wù)器/備服務(wù)器機(jī)對(duì)外各一個(gè),由于集群內(nèi)部交流,主服務(wù)器/備服務(wù)器對(duì)內(nèi)各需要一個(gè),該集群的虛擬節(jié)點(diǎn)對(duì)外的虛擬IP —個(gè),以及數(shù)據(jù)庫(kù)服務(wù)要一個(gè)IP地址。對(duì)于網(wǎng)管服務(wù)器而言,只需要連接數(shù)據(jù)庫(kù)服務(wù)的IP即可,無(wú)論主備用服務(wù)器是否發(fā)生故障或者切換,對(duì)于正在運(yùn)行的網(wǎng)管服務(wù)器來(lái)說(shuō)是被屏蔽的。在任意時(shí)刻,集群內(nèi)的服務(wù)器只有一個(gè)是工作的,這樣就可以避免數(shù)據(jù)不一致的情況,當(dāng)主服務(wù)器實(shí)例出現(xiàn)故障或該服務(wù)器停機(jī)時(shí),負(fù)責(zé)對(duì)各個(gè)節(jié)點(diǎn)監(jiān)控和管理的軟件(或者硬件)將在另一個(gè)事先指定的節(jié)點(diǎn)上重新啟動(dòng)備用的數(shù)據(jù)庫(kù)實(shí)例。為了保證主服務(wù)器和備用服務(wù)器上數(shù)據(jù)的一致性,可以采用物理備份方式,物理備份方式是通過(guò)某種方式不斷將變化的在線歸檔日志(該日志文件可以包括多個(gè)塊),源源不斷的從主服務(wù)器中拷貝到備用服務(wù)器中,此時(shí)備用服務(wù)器只能處于裝入(mount)狀態(tài),不能處于開(kāi)放(open)狀態(tài)。由于通過(guò)基于塊對(duì)塊的與主數(shù)據(jù)庫(kù)同樣的磁盤(pán)數(shù)據(jù)庫(kù)結(jié)構(gòu),提供主數(shù)據(jù)庫(kù)的完全一致的物理拷貝。數(shù)據(jù)庫(kù)方案,包括索引,是相同的。物理備數(shù)據(jù)庫(kù)與主數(shù)據(jù)庫(kù)保持同步,通過(guò)重做應(yīng)用,恢復(fù)從主數(shù)據(jù)庫(kù)收到的重做數(shù)據(jù)并將重做應(yīng)用到物理備數(shù)據(jù)庫(kù)。此時(shí)還需要通過(guò)配置使備用服務(wù)器的實(shí)例的控制文件處于備用狀態(tài),這樣備用服務(wù)就可以源源不斷的接受從主服務(wù)器來(lái)的數(shù)據(jù)塊并應(yīng)用,與主數(shù)據(jù)庫(kù)維持事務(wù)同步, 即重做數(shù)據(jù)能從歸檔重做日志文件,或者,如果允許實(shí)時(shí)應(yīng)用。同樣主服務(wù)器的控制文件需要處于主控制狀態(tài),控制從生產(chǎn)數(shù)據(jù)自動(dòng)傳輸重做數(shù)據(jù)到一個(gè)或更多歸檔的目的地。當(dāng)主服務(wù)器和備用服務(wù)器角色需要切換時(shí),需要進(jìn)行故障轉(zhuǎn)移操作,這個(gè)操作是由軟件自動(dòng)切換完成的,不需要操作人員進(jìn)行介入。故障轉(zhuǎn)移只有在主數(shù)據(jù)庫(kù)的災(zāi)難故障的情況下執(zhí)行,其中,自動(dòng)切換的軟件可以具有以下功能創(chuàng)建和允許對(duì)主備數(shù)據(jù)庫(kù)的配置,包括設(shè)置重做傳輸服務(wù)和日志應(yīng)用服務(wù);允許對(duì)整個(gè)節(jié)點(diǎn)數(shù)據(jù)庫(kù)服務(wù)的管理;通過(guò)允許使用命令行界面中的單條命令簡(jiǎn)化切換和故障轉(zhuǎn)移;當(dāng)主數(shù)據(jù)庫(kù)變得不可用時(shí),允許快速啟動(dòng)故障轉(zhuǎn)移來(lái)自動(dòng)轉(zhuǎn)移故障。當(dāng)允許快速啟動(dòng)故障轉(zhuǎn)移時(shí),由該軟件決定是否需要故障轉(zhuǎn)移,并自動(dòng)啟動(dòng)故障轉(zhuǎn)移到指定的目標(biāo)備數(shù)據(jù)庫(kù),不需要數(shù)據(jù)庫(kù)管理員(DBA)的介入并且不丟失數(shù)據(jù);從主數(shù)據(jù)庫(kù)的備份拷貝中創(chuàng)建物理或邏輯備數(shù)據(jù)庫(kù);添加新的或現(xiàn)有的備數(shù)據(jù)庫(kù)到現(xiàn)有的容災(zāi)系統(tǒng)的配置中;監(jiān)控日志應(yīng)用速度,捕獲診斷信息,以及使用集中化的監(jiān)控、測(cè)試、和性能工具快速發(fā)現(xiàn)問(wèn)題。綜上所述,通過(guò)上述實(shí)施例,解決了相關(guān)技術(shù)中的分布式數(shù)據(jù)庫(kù)系統(tǒng)多個(gè)數(shù)據(jù)庫(kù)服務(wù)器提供服務(wù)而導(dǎo)致的問(wèn)題,提高了數(shù)據(jù)庫(kù)系統(tǒng)的可靠性。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種提供數(shù)據(jù)庫(kù)服務(wù)的方法,其特征在于,包括 多個(gè)數(shù)據(jù)庫(kù)服務(wù)器形成一個(gè)集群;所述集群中的多個(gè)數(shù)據(jù)庫(kù)服務(wù)器作為一個(gè)節(jié)點(diǎn)對(duì)外提供統(tǒng)一的接口 ; 所述集群中的一個(gè)數(shù)據(jù)庫(kù)服務(wù)器通過(guò)所述接口對(duì)外提供數(shù)據(jù)庫(kù)服務(wù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述集群中的一個(gè)數(shù)據(jù)庫(kù)服務(wù)器通過(guò)所述接口對(duì)外提供數(shù)據(jù)庫(kù)服務(wù)包括所述集群中的主服務(wù)器通過(guò)所述接口對(duì)外提供所述數(shù)據(jù)庫(kù)服務(wù);所述方法還包括所述集群中的其他數(shù)據(jù)庫(kù)服務(wù)器作為備份服務(wù)器從所述主服務(wù)器進(jìn)行數(shù)據(jù)備份。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述備份服務(wù)器從所述主服務(wù)器進(jìn)行數(shù)據(jù)備份包括所述備份服務(wù)器與所述主服務(wù)器具有相同的磁盤(pán)數(shù)據(jù)庫(kù)結(jié)構(gòu),并通過(guò)塊對(duì)塊的方式進(jìn)行物理拷貝以從所述主服務(wù)器進(jìn)行數(shù)據(jù)備份。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述備份服務(wù)器以塊對(duì)塊的方式進(jìn)行物理拷貝包括所述備份服務(wù)器從所述主服務(wù)器拷貝變化的塊。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括 所述主服務(wù)器發(fā)生故障;按照預(yù)定的順序?qū)⑺鰝浞莘?wù)器中的一個(gè)切換為主服務(wù)器。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,還包括所述主服務(wù)器在發(fā)生故障時(shí)還有未處理完的事物,在進(jìn)行切換前,進(jìn)行所述事物的回退。
7.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括對(duì)所述主服務(wù)器和/或上述備份服務(wù)器進(jìn)行檢測(cè),并在有服務(wù)器發(fā)生故障時(shí)發(fā)出告m 目。
8.一種數(shù)據(jù)庫(kù)系統(tǒng),包括多個(gè)數(shù)據(jù)庫(kù)服務(wù)器,其特征在于, 多個(gè)數(shù)據(jù)庫(kù)服務(wù)器形成一個(gè)集群;還包括所述集群中的多個(gè)數(shù)據(jù)庫(kù)服務(wù)器作為一個(gè)節(jié)點(diǎn)對(duì)外統(tǒng)一提供的接口,其中,所述集群中的一個(gè)數(shù)據(jù)庫(kù)服務(wù)器通過(guò)所述接口對(duì)外提供數(shù)據(jù)庫(kù)服務(wù)。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述多個(gè)數(shù)據(jù)庫(kù)服務(wù)器中一個(gè)數(shù)據(jù)庫(kù)服務(wù)器為主服務(wù)器,其他數(shù)據(jù)庫(kù)服務(wù)器為備份服務(wù)器,其中,所述主服務(wù)器,用于通過(guò)所述接口對(duì)外提供所述數(shù)據(jù)庫(kù)服務(wù); 所述備份服務(wù)器,用于從所述主服務(wù)器進(jìn)行數(shù)據(jù)備份。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述備份服務(wù)器與所述主服務(wù)器具有相同的磁盤(pán)數(shù)據(jù)庫(kù)結(jié)構(gòu),并且,所述備份服務(wù)器用于通過(guò)塊對(duì)塊的方式進(jìn)行物理拷貝以從所述主服務(wù)器進(jìn)行數(shù)據(jù)備份。
11.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述備份服務(wù)器還用于按照預(yù)定的順序在所述主服務(wù)器發(fā)生故障時(shí)切換為主服務(wù)器。
全文摘要
本發(fā)明公開(kāi)提供數(shù)據(jù)庫(kù)服務(wù)的方法及數(shù)據(jù)庫(kù)系統(tǒng),該方法包括多個(gè)數(shù)據(jù)庫(kù)服務(wù)器形成一個(gè)集群;集群中的多個(gè)數(shù)據(jù)庫(kù)服務(wù)器作為一個(gè)節(jié)點(diǎn)對(duì)外提供統(tǒng)一的接口;集群中的一個(gè)數(shù)據(jù)庫(kù)服務(wù)器通過(guò)接口對(duì)外提供數(shù)據(jù)庫(kù)服務(wù)。通過(guò)本發(fā)明提高了數(shù)據(jù)庫(kù)系統(tǒng)的可靠性。
文檔編號(hào)G06F17/30GK102467508SQ20101053288
公開(kāi)日2012年5月23日 申請(qǐng)日期2010年11月4日 優(yōu)先權(quán)日2010年11月4日
發(fā)明者彭雄治, 李東盛 申請(qǐng)人:中興通訊股份有限公司