專利名稱:一種雙機(jī)備份實(shí)現(xiàn)方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及雙機(jī)備份領(lǐng)域,具體涉及一種雙機(jī)備份實(shí)現(xiàn)方法及系統(tǒng)。
背景技術(shù):
目前,為了確保電信級(jí)服務(wù)器能夠長(zhǎng)期穩(wěn)定運(yùn)行,對(duì)其部分部件提供了冗余設(shè)計(jì),如電源冗余、網(wǎng)卡冗余、硬盤鏡像等。但是,若服務(wù)器的關(guān)鍵部件發(fā)生故障,如中央處理器(CPU)故障、內(nèi)存故障、主板故障等,整個(gè)服務(wù)器就會(huì)停止運(yùn)行,無法繼續(xù)提供服務(wù),結(jié)果會(huì)嚴(yán)重影響整個(gè)系統(tǒng)的運(yùn)行,例如造成業(yè)務(wù)中斷等。
為了在一臺(tái)服務(wù)器發(fā)生故障的情況下,另一臺(tái)服務(wù)器能夠在短時(shí)間內(nèi)代替其提供服務(wù)。Microsoft公司的Windows 2000 Advanced Server操作系統(tǒng)提供了群集服務(wù),通過該服務(wù),Windows 2000 Advanced Server操作系統(tǒng)能利用兩臺(tái)服務(wù)器提供雙機(jī)備份功能。如圖1所示,服務(wù)器1和服務(wù)器2組成群集服務(wù)系統(tǒng),它們共享存儲(chǔ)介質(zhì),在服務(wù)器1停止工作后,服務(wù)器2就會(huì)接替其提供服務(wù)。這樣,給客戶端1、2、3提供的服務(wù)可能會(huì)受到短暫影響,但是不會(huì)永久喪失。
現(xiàn)有技術(shù)的缺點(diǎn)如下1、受操作系統(tǒng)的限制。操作系統(tǒng)的版本必須是Windows NT Server 4.0以上。
2、存儲(chǔ)介質(zhì)共享,價(jià)格昂貴,且受地域限制。兩臺(tái)服務(wù)器通過小型計(jì)算機(jī)系統(tǒng)接口(SCSI,Small Computer System Interface)和共享的存儲(chǔ)介質(zhì)相連,使得硬件成本非常昂貴,同時(shí),由于SCSI支持的距離很短,因此兩臺(tái)服務(wù)器的存放位置受限。
3、必須為共享存儲(chǔ)介質(zhì)提供存放空間。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種雙機(jī)備份實(shí)現(xiàn)方法,以實(shí)現(xiàn)不受操作系統(tǒng)限制、并不增加硬件成本的雙機(jī)備份。
同時(shí),本發(fā)明提供一種雙機(jī)備份系統(tǒng),以實(shí)現(xiàn)不受服務(wù)器硬件限制的雙機(jī)備份。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種雙機(jī)備份實(shí)現(xiàn)方法,該方法在兩臺(tái)服務(wù)器上分別增加與對(duì)方通信的接口以組成雙機(jī)備份系統(tǒng),一臺(tái)服務(wù)器激活為主用服務(wù)器,另一臺(tái)服務(wù)器激活為備用服務(wù)器,主用服務(wù)器將服務(wù)數(shù)據(jù)同步發(fā)送給備用服務(wù)器,且該兩服務(wù)器定時(shí)向?qū)Ψ桨l(fā)送狀態(tài)通知消息,進(jìn)一步包括A、主用服務(wù)器需要進(jìn)行狀態(tài)切換,向備用服務(wù)器發(fā)送狀態(tài)切換請(qǐng)求;B、備用服務(wù)器收到該狀態(tài)切換請(qǐng)求后,判斷當(dāng)前是否滿足切換條件,若否,給主用服務(wù)器返回拒絕切換消息,本流程結(jié)束;否則,給主用服務(wù)器返回允許切換消息,并在收到主用服務(wù)器的狀態(tài)通知后,根據(jù)主用服務(wù)器的狀態(tài)調(diào)整自身狀態(tài)。
所述兩臺(tái)服務(wù)器各自增加的與對(duì)方通信的接口的個(gè)數(shù)大于1。
所述一臺(tái)服務(wù)器激活為主用服務(wù)器具體包括該服務(wù)器開始初始化,并判斷自身是否能進(jìn)入正激活態(tài),若是,分配主用相關(guān)資源,并在分配完后進(jìn)入主用態(tài),成為主用服務(wù)器;否則,判斷自身是否能進(jìn)入正去激活態(tài),若能進(jìn)入,則進(jìn)入備用態(tài),成為備用服務(wù)器;若不能進(jìn)入,則保持當(dāng)前初始化態(tài)不變。
所述服務(wù)器判斷自身是否能進(jìn)入正激活態(tài)具體包括該服務(wù)器接收另一臺(tái)服務(wù)器返回的狀態(tài)通知,若返回的狀態(tài)是初始化態(tài),則通過協(xié)商或預(yù)先設(shè)定原則,判斷自身是否能進(jìn)入正激活態(tài),若是,則確認(rèn)能進(jìn)入正激活態(tài),否則,確認(rèn)不能進(jìn)入正激活態(tài);若返回的狀態(tài)是備用態(tài),則確認(rèn)能進(jìn)入正激活態(tài)。
所述服務(wù)器判斷自身是否能進(jìn)入正去激活態(tài)具體包括該服務(wù)器接收另一臺(tái)服務(wù)器返回的狀態(tài)通知,若返回的狀態(tài)是主用態(tài),則確認(rèn)自身能進(jìn)入正去激活態(tài)。
所述另一臺(tái)服務(wù)器激活為備用服務(wù)器具體包括該服務(wù)器判斷接收到的另一臺(tái)服務(wù)器的狀態(tài)是否為主用態(tài),若是,該服務(wù)器激活為備用服務(wù)器;否則,保持當(dāng)前狀態(tài)不變。
所述主用服務(wù)器將服務(wù)數(shù)據(jù)同步發(fā)送給備用服務(wù)器具體包括主用服務(wù)器通過文件傳輸協(xié)議FTP,定時(shí)將文件發(fā)送給備用服務(wù)器;或者,主用服務(wù)器首先采用FTP與備用服務(wù)器實(shí)現(xiàn)同步,然后將服務(wù)數(shù)據(jù)同時(shí)寫到主用服務(wù)器和備用服務(wù)器;或者,主用服務(wù)器通過數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)同步技術(shù)將服務(wù)數(shù)據(jù)同步發(fā)送給備用服務(wù)器的數(shù)據(jù)庫(kù)。
所述備用服務(wù)器的數(shù)據(jù)庫(kù)為Microsoft提供的結(jié)構(gòu)化查詢語(yǔ)言服務(wù)器SQL Server數(shù)據(jù)庫(kù),所述數(shù)據(jù)同步技術(shù)為SQL Server數(shù)據(jù)庫(kù)提供的日志備份/恢復(fù)技術(shù),或事物同步復(fù)制技術(shù)。
步驟B所述備用服務(wù)器判斷當(dāng)前是否滿足切換條件具體包括備用服務(wù)器判斷當(dāng)前是否已完成數(shù)據(jù)同步,且當(dāng)前自身滿足成為主用服務(wù)器的要求,若是,判定當(dāng)前滿足切換條件;否則,判定當(dāng)前不滿足切換條件。
步驟B所述備用服務(wù)器收到的主用服務(wù)器的狀態(tài)通知為備用態(tài),步驟B所述備用服務(wù)器調(diào)整自身狀態(tài),具體包括備用服務(wù)器進(jìn)入正激活態(tài),分配主用相關(guān)資源,并在分配完后進(jìn)入主用態(tài),成為主用服務(wù)器。
所述備用服務(wù)器發(fā)送允許切換消息之后、收到主用服務(wù)器為備用態(tài)的狀態(tài)通知之前,進(jìn)一步包括主用服務(wù)器在收到備用服務(wù)器發(fā)送的允許切換消息之后,進(jìn)入正去激活態(tài),釋放主用相關(guān)資源,并在釋放完后,進(jìn)入備用態(tài),成為備用服務(wù)器。
所述雙機(jī)備份系統(tǒng)進(jìn)一步包括主用服務(wù)器為其提供服務(wù)的客戶端,且所述主用服務(wù)器進(jìn)入備用態(tài)之后進(jìn)一步包括客戶端根據(jù)自身保存的會(huì)話信息,主動(dòng)發(fā)起建立連接請(qǐng)求;或者,所述備用服務(wù)器進(jìn)入主用態(tài),成為主用服務(wù)器之后進(jìn)一步包括該主用服務(wù)器根據(jù)自身保存的會(huì)話信息,向客戶端發(fā)起建立連接請(qǐng)求。
步驟B所述備用服務(wù)器收到的主用服務(wù)器的狀態(tài)通知為主用態(tài),步驟B所述備用服務(wù)器調(diào)整自身狀態(tài)為備用服務(wù)器繼續(xù)保持備用態(tài)。
所述方法進(jìn)一步包括備用服務(wù)器沒有收到主用服務(wù)器的定時(shí)狀態(tài)通知消息,備用服務(wù)器主動(dòng)進(jìn)入正激活態(tài),分配完主用相關(guān)資源后,進(jìn)入主用態(tài),成為主用服務(wù)器。
所述主用相關(guān)資源至少包括主用服務(wù)器和備用服務(wù)器共享的、用于客戶端尋址的、且在同一時(shí)刻只能由主用服務(wù)器占用的虛擬地址。
一種雙機(jī)備份系統(tǒng),包括主用服務(wù)器、備用服務(wù)器和客戶端,主用服務(wù)器和備用服務(wù)器上分別具有與對(duì)方進(jìn)行通信的接口,且該兩服務(wù)器定時(shí)向?qū)Ψ桨l(fā)送狀態(tài)通知,其中,主用服務(wù)器用于為客戶端提供服務(wù),并將服務(wù)數(shù)據(jù)同步發(fā)送給備用服務(wù)器,同時(shí),在需要切換狀態(tài)時(shí),給備用服務(wù)器發(fā)送狀態(tài)切換請(qǐng)求,并在接收到備用服務(wù)器的允許切換消息時(shí),將自身狀態(tài)切換到備用態(tài);備用服務(wù)器用于接收主用服務(wù)器發(fā)送的服務(wù)數(shù)據(jù),并在接收到主用服務(wù)器的狀態(tài)切換請(qǐng)求后,給主用服務(wù)器返回允許切換或拒絕切換消息,然后根據(jù)主用服務(wù)器返回的狀態(tài)通知,調(diào)整自身狀態(tài);客戶端用于向主用服務(wù)器發(fā)送服務(wù)請(qǐng)求,或接收主用服務(wù)器返回的服務(wù)響應(yīng)。
所述主用服務(wù)器和備用服務(wù)器分別進(jìn)一步用于,在當(dāng)前狀態(tài)為初始化態(tài)時(shí),根據(jù)對(duì)方返回的狀態(tài)調(diào)整自身狀態(tài);和/或所述備用服務(wù)器進(jìn)一步用于,在當(dāng)前為備用態(tài)且沒有收到對(duì)方的定時(shí)狀態(tài)通知后,主動(dòng)進(jìn)入主用態(tài);和/或所述主用服務(wù)器進(jìn)一步用于,在剛進(jìn)入主用態(tài)時(shí),根據(jù)自身保存的會(huì)話信息,向客戶端發(fā)送建立連接請(qǐng)求。
所述客戶端進(jìn)一步用于,在與主用服務(wù)器中斷通信后,根據(jù)自身保存的會(huì)話信息,向主用服務(wù)器發(fā)送建立連接請(qǐng)求。
與現(xiàn)有技術(shù)相比,本發(fā)明所提供的雙機(jī)備份實(shí)現(xiàn)方法及系統(tǒng),首先在實(shí)現(xiàn)雙機(jī)備份的兩臺(tái)服務(wù)器上分別增加與對(duì)方通信的接口,然后通過主用服務(wù)器和備用服務(wù)器的信令交換,實(shí)現(xiàn)兩臺(tái)服務(wù)器的主用、備用態(tài)的切換,并通過主用服務(wù)器將服務(wù)數(shù)據(jù)同步發(fā)送到備用服務(wù)器上,實(shí)現(xiàn)兩臺(tái)服務(wù)器的數(shù)據(jù)同步。本發(fā)明提供的方法不受操作系統(tǒng)限制,可在各種操作系統(tǒng)平臺(tái)上運(yùn)行;完全由軟件實(shí)現(xiàn),不增加任何硬件成本。本發(fā)明提供的系統(tǒng)不受服務(wù)器硬件限制,任意兩種類型的服務(wù)器都可組成雙機(jī)備份系統(tǒng);兼容性好,已有的單機(jī)系統(tǒng)可方便升級(jí)到雙機(jī)備份系統(tǒng);不需共享存儲(chǔ)介質(zhì),節(jié)省空間。
圖1為現(xiàn)有技術(shù)實(shí)現(xiàn)群集服務(wù)的系統(tǒng)組成圖;圖2為本發(fā)明實(shí)現(xiàn)雙機(jī)備份的系統(tǒng)組成圖;圖3為本發(fā)明提供的實(shí)現(xiàn)雙機(jī)備份的流程圖;圖4為本發(fā)明提供的實(shí)現(xiàn)雙機(jī)備份的具體實(shí)施例的流程圖。
具體實(shí)施例方式
下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明再作進(jìn)一步詳細(xì)的說明。
本發(fā)明中的雙機(jī)備份系統(tǒng)可以利用兩臺(tái)任意類型的服務(wù)器實(shí)現(xiàn),只需在該兩臺(tái)服務(wù)器上分別增加與對(duì)方通信的接口,如串口、網(wǎng)口等即可。為了保證可靠通信,可設(shè)定多個(gè)通信接口,以保證在一個(gè)通信接口故障時(shí),其它通信接口可以繼續(xù)實(shí)現(xiàn)兩服務(wù)器間的通信。
圖2是本發(fā)明實(shí)現(xiàn)雙機(jī)備份的系統(tǒng)組成圖,如圖2所示,該系統(tǒng)主要包括服務(wù)器1和服務(wù)器2在同一時(shí)刻,該兩服務(wù)器,分別為主用服務(wù)器和備用服務(wù)器,且,定時(shí)向?qū)Ψ桨l(fā)送狀態(tài)通知消息,且,主用服務(wù)器,用于為客戶端提供服務(wù),并將服務(wù)數(shù)據(jù)同步發(fā)送給備用服務(wù)器,同時(shí),在需要切換狀態(tài)時(shí),給備用服務(wù)器發(fā)送狀態(tài)切換請(qǐng)求,并在接收到備用服務(wù)器的允許切換消息時(shí),將自身狀態(tài)切換到備用態(tài);備用服務(wù)器,用于接收主用服務(wù)器發(fā)送的服務(wù)數(shù)據(jù),并在接收到主用服務(wù)器的狀態(tài)切換請(qǐng)求后,給主用服務(wù)器返回允許切換或拒絕切換消息,然后根據(jù)主用服務(wù)器返回的狀態(tài)通知,調(diào)整自身狀態(tài)。
進(jìn)一步地,服務(wù)器1和2分別用于在當(dāng)前狀態(tài)為初始化態(tài)時(shí),根據(jù)對(duì)方返回的狀態(tài),調(diào)整自身狀態(tài);或者進(jìn)一步分別用于在當(dāng)前為備用態(tài)且沒有收到對(duì)方的定時(shí)狀態(tài)通知后,主動(dòng)進(jìn)入主用態(tài);或者進(jìn)一步分別用于在剛進(jìn)入主用態(tài)時(shí),根據(jù)自身保存的會(huì)話信息,向客戶端發(fā)送建立連接請(qǐng)求。
客戶端用于向主用服務(wù)器發(fā)送服務(wù)請(qǐng)求,或接收主用服務(wù)器返回的服務(wù)響應(yīng)。
進(jìn)一步地,客戶端用于在與主用服務(wù)器中斷通信后,根據(jù)自身保存的會(huì)話信息,向主用服務(wù)器發(fā)送建立連接請(qǐng)求。
客戶端可為1個(gè),也可為多個(gè)。
圖3是本發(fā)明提供的實(shí)現(xiàn)雙機(jī)備份的流程圖,如圖3所示,其具體步驟如下步驟301兩臺(tái)服務(wù)器中的一臺(tái)激活為主用服務(wù)器,另一臺(tái)激活為備用服務(wù)器,主用服務(wù)器將服務(wù)數(shù)據(jù)同步發(fā)送給備用服務(wù)器,同時(shí),主用服務(wù)器和備用服務(wù)器定時(shí)給對(duì)方發(fā)送狀態(tài)通知消息,通知對(duì)方自己當(dāng)前所處的狀態(tài)。
步驟302在需要切換狀態(tài)時(shí),主用服務(wù)器向備用服務(wù)器發(fā)起狀態(tài)切換請(qǐng)求。
在主用服務(wù)器發(fā)生故障后,或者人工要求狀態(tài)切換時(shí),主用服務(wù)器會(huì)主動(dòng)發(fā)起狀態(tài)切換請(qǐng)求。
步驟303備用服務(wù)器收到該狀態(tài)切換請(qǐng)求,判斷當(dāng)前是否滿足切換條件,若是,執(zhí)行步驟305;否則,執(zhí)行步驟304。
步驟304備用服務(wù)器給主用服務(wù)器返回拒絕切換消息,本流程結(jié)束。
若當(dāng)前正在進(jìn)行數(shù)據(jù)同步過程,或備用服務(wù)器產(chǎn)生了軟硬件故障,使得備用服務(wù)器不滿足成為主用服務(wù)器的要求等,備用服務(wù)器就會(huì)拒絕切換。
步驟305備用服務(wù)器給主用服務(wù)器返回允許切換消息。
步驟306備用服務(wù)器收到主用服務(wù)器的狀態(tài)通知,根據(jù)主用服務(wù)器的狀態(tài),調(diào)整自身狀態(tài)。
若主用服務(wù)器收到了允許切換消息,主用服務(wù)器就會(huì)進(jìn)入備用態(tài),成為備用服務(wù)器,那么,備用服務(wù)器收到原主用服務(wù)器的狀態(tài)通知后,就會(huì)進(jìn)入主用態(tài),成為主用服務(wù)器;若由于通信暫時(shí)中斷等原因,使得主用服務(wù)器沒有收到允許切換消息,那么,主用服務(wù)器就會(huì)繼續(xù)保持主用態(tài),備用服務(wù)器收到主用服務(wù)器的狀態(tài)通知后,就仍然保持備用態(tài)。
圖4是本發(fā)明提供的實(shí)現(xiàn)雙機(jī)備份的具體實(shí)施例的流程圖,為方便起見,將兩臺(tái)服務(wù)器分別稱為服務(wù)器1和服務(wù)器2。如圖4所示,其具體步驟如下步驟401一臺(tái)服務(wù)器即服務(wù)器1開始初始化。
步驟402服務(wù)器1根據(jù)決策策略判斷自身是否能進(jìn)入正激活態(tài),若是,執(zhí)行步驟403;否則,執(zhí)行步驟411。
服務(wù)器在進(jìn)入主用態(tài)之前,要先進(jìn)入正激活態(tài),以分配主用相關(guān)資源;同樣,服務(wù)器在進(jìn)入備用態(tài)之前,要先進(jìn)入正去激活態(tài),以釋放相關(guān)資源。
服務(wù)器1在初始化時(shí),會(huì)根據(jù)服務(wù)器2返回的狀態(tài)通知,進(jìn)行決策,具體如下在以下情況下,服務(wù)器1能進(jìn)入正激活態(tài)
一、服務(wù)器2也是初始化態(tài),且通過協(xié)商或根據(jù)預(yù)先設(shè)定原則,當(dāng)前服務(wù)器1能進(jìn)入正激活態(tài);預(yù)先設(shè)定原則可以是指定其中一臺(tái)服務(wù)器享有優(yōu)先進(jìn)入正激活態(tài)的權(quán)利;也可以在服務(wù)器初始化時(shí),同時(shí)生成一隨機(jī)碼,設(shè)定隨機(jī)碼小者享有優(yōu)先進(jìn)入正激活態(tài)的權(quán)利。
二、服務(wù)器2是備用態(tài)。
當(dāng)服務(wù)器2是主用態(tài)時(shí),服務(wù)器1進(jìn)入正去激活態(tài)。
在其余情況即下述情況下,服務(wù)器1要繼續(xù)保持初始化態(tài)一、服務(wù)器2也是初始化態(tài),且通過協(xié)商或根據(jù)預(yù)先設(shè)定原則,當(dāng)前服務(wù)器1不能進(jìn)入正激活態(tài);二、服務(wù)器2雖然返回消息,但服務(wù)器2狀態(tài)不確定;三、服務(wù)器2是正去激活態(tài);四、服務(wù)器2是正激活態(tài)。
步驟403該服務(wù)器即服務(wù)器1進(jìn)入正激活態(tài),開始分配主用相關(guān)資源,分配完畢,進(jìn)入主用態(tài),成為主用服務(wù)器,并將服務(wù)數(shù)據(jù)同步發(fā)送給備用服務(wù)器。
若另一服務(wù)器即服務(wù)器2正處于初始化態(tài),那么,服務(wù)器2會(huì)根據(jù)服務(wù)器1返回的狀態(tài)通知消息,判斷服務(wù)器1是否已進(jìn)入主用態(tài),若是,服務(wù)器2就進(jìn)入正去激活態(tài),然后進(jìn)入備用態(tài),成為備用服務(wù)器;否則,保持當(dāng)前狀態(tài)不變。
主用相關(guān)資源包括虛擬IP地址等。兩臺(tái)服務(wù)器各有一個(gè)物理地址,該物理地址可用于它們之間的相互尋址。同時(shí),為了在主備切換過程中,不影響對(duì)外提供服務(wù),即提供透明的切換過程,兩臺(tái)服務(wù)器可共享一個(gè)虛擬IP地址,該虛擬IP地址在同一時(shí)刻只由主用服務(wù)器占用,用于客戶端對(duì)主用服務(wù)器的尋址。
步驟404在需要切換狀態(tài)時(shí),主用服務(wù)器向備用服務(wù)器發(fā)送狀態(tài)切換請(qǐng)求,同時(shí)自身進(jìn)入請(qǐng)求切換態(tài)。
在主用服務(wù)器發(fā)生故障后,或者人工要求狀態(tài)切換時(shí),主用服務(wù)器會(huì)主動(dòng)發(fā)起狀態(tài)切換請(qǐng)求。
步驟405備用服務(wù)器收到該狀態(tài)切換請(qǐng)求,判斷當(dāng)前是否滿足切換條件,若是,執(zhí)行步驟407;否則,執(zhí)行步驟406。
步驟406備用服務(wù)器給主用服務(wù)器返回拒絕切換消息,本流程結(jié)束。
步驟407備用服務(wù)器給主用服務(wù)器返回允許切換消息,同時(shí)自身進(jìn)入允許切換態(tài)。
若主用服務(wù)器收到了允許切換消息,就會(huì)進(jìn)入正去激活態(tài),在釋放完主用相關(guān)資源后,進(jìn)入備用態(tài),成為備用服務(wù)器。
若由于通信暫時(shí)中斷等原因,主用服務(wù)器沒有收到允許切換消息,就會(huì)繼續(xù)保持在主用態(tài)。
步驟408備用服務(wù)器收到主用服務(wù)器的狀態(tài)通知,判斷主用服務(wù)器返回的狀態(tài)是備用態(tài)還是主用態(tài),若是備用態(tài),執(zhí)行步驟409;若是主用態(tài),執(zhí)行步驟410。
步驟409備用服務(wù)器進(jìn)入正激活態(tài),開始分配主用相關(guān)資源,資源分配完畢,進(jìn)入主用態(tài),成為主用服務(wù)器,同時(shí)將服務(wù)數(shù)據(jù)發(fā)送給新備用服務(wù)器即原主用服務(wù)器,本流程結(jié)束。
釋放的主用相關(guān)資源包括虛擬IP地址等。
步驟410備用服務(wù)器進(jìn)入正去激活態(tài),然后重新進(jìn)入備用態(tài),仍然為備用服務(wù)器,本流程結(jié)束。
步驟411該服務(wù)器根據(jù)決策策略判斷自身是否能進(jìn)入正去激活態(tài),若是,執(zhí)行步驟412;否則,返回步驟402。
步驟412該服務(wù)器進(jìn)入正去激活態(tài),開始釋放相關(guān)資源,釋放完畢,進(jìn)入備用態(tài),成為備用服務(wù)器。
在主備切換過程中,從原主用服務(wù)器關(guān)閉服務(wù)到新主用服務(wù)器啟動(dòng)服務(wù),會(huì)產(chǎn)生間隔很小的服務(wù)中斷,并導(dǎo)致提供的服務(wù)中止。此時(shí),客戶端可根據(jù)自身保存的會(huì)話信息,主動(dòng)發(fā)起建立連接請(qǐng)求;或者,等待進(jìn)入主用態(tài)后的新主用服務(wù)器根據(jù)會(huì)話信息發(fā)起的建立連接請(qǐng)求。會(huì)話信息包含會(huì)話標(biāo)識(shí)、客戶端信息、服務(wù)器信息等。
在本發(fā)明中,主用服務(wù)器和備用服務(wù)器之間實(shí)現(xiàn)數(shù)據(jù)同步可采用以下兩種方式一、若備用服務(wù)器是以文件方式讀取數(shù)據(jù),則主用服務(wù)器可通過文件傳輸協(xié)議(FTP,F(xiàn)ile Transfer Protocol),定時(shí)將文件發(fā)送給備用服務(wù)器;或者,主用服務(wù)器開始時(shí)采用FTP與備用服務(wù)器實(shí)現(xiàn)同步,然后將服務(wù)數(shù)據(jù)同時(shí)寫到自身和備用服務(wù)器,以提高數(shù)據(jù)傳輸?shù)男省?br>
二、若備用服務(wù)器是以數(shù)據(jù)庫(kù)方式讀取數(shù)據(jù),則可通過數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)同步技術(shù)實(shí)現(xiàn)數(shù)據(jù)同步。如備用服務(wù)器的數(shù)據(jù)庫(kù)類型為Microsoft提供的結(jié)構(gòu)化查詢語(yǔ)言服務(wù)器(SQL Server),則可選擇SQL Server數(shù)據(jù)庫(kù)提供的日志備份/恢復(fù)技術(shù)或事物同步復(fù)制技術(shù)實(shí)現(xiàn)數(shù)據(jù)同步。
另外,若備用服務(wù)器在定時(shí)時(shí)長(zhǎng)內(nèi),沒有收到主用服務(wù)器的定時(shí)狀態(tài)通知消息,則備用服務(wù)器認(rèn)為主用服務(wù)器發(fā)生異常,可主動(dòng)進(jìn)入正激活態(tài),分配完主用相關(guān)資源后,進(jìn)入主用態(tài),成為主用服務(wù)器。
以上所述僅為本發(fā)明的過程及方法實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種雙機(jī)備份實(shí)現(xiàn)方法,其特征在于,在兩臺(tái)服務(wù)器上分別增加與對(duì)方通信的接口以組成雙機(jī)備份系統(tǒng),一臺(tái)服務(wù)器激活為主用服務(wù)器,另一臺(tái)服務(wù)器激活為備用服務(wù)器,主用服務(wù)器將服務(wù)數(shù)據(jù)同步發(fā)送給備用服務(wù)器,且該兩服務(wù)器定時(shí)向?qū)Ψ桨l(fā)送狀態(tài)通知消息,該方法進(jìn)一步包括A、主用服務(wù)器需要進(jìn)行狀態(tài)切換,向備用服務(wù)器發(fā)送狀態(tài)切換請(qǐng)求;B、備用服務(wù)器收到該狀態(tài)切換請(qǐng)求后,判斷當(dāng)前是否滿足切換條件,若否,給主用服務(wù)器返回拒絕切換消息,本流程結(jié)束;否則,給主用服務(wù)器返回允許切換消息,并在收到主用服務(wù)器的狀態(tài)通知后,根據(jù)主用服務(wù)器的狀態(tài)調(diào)整自身狀態(tài)。
2.如權(quán)利要求1所述的方法,其特征在于,所述兩臺(tái)服務(wù)器各自增加的與對(duì)方通信的接口的個(gè)數(shù)大于1。
3.如權(quán)利要求1所述的方法,其特征在于,所述一臺(tái)服務(wù)器激活為主用服務(wù)器具體包括該服務(wù)器開始初始化,并判斷自身是否能進(jìn)入正激活態(tài),若是,分配主用相關(guān)資源,并在分配完后進(jìn)入主用態(tài),成為主用服務(wù)器;否則,判斷自身是否能進(jìn)入正去激活態(tài),若能進(jìn)入,則進(jìn)入備用態(tài),成為備用服務(wù)器;若不能進(jìn)入,則保持當(dāng)前初始化態(tài)不變。
4.如權(quán)利要求3所述的方法,其特征在于,所述服務(wù)器判斷自身是否能進(jìn)入正激活態(tài)具體包括該服務(wù)器接收另一臺(tái)服務(wù)器返回的狀態(tài)通知,若返回的狀態(tài)是初始化態(tài),則通過協(xié)商或預(yù)先設(shè)定原則,判斷自身是否能進(jìn)入正激活態(tài),若是,則確認(rèn)能進(jìn)入正激活態(tài),否則,確認(rèn)不能進(jìn)入正激活態(tài);若返回的狀態(tài)是備用態(tài),則確認(rèn)能進(jìn)入正激活態(tài)。
5.如權(quán)利要求3所述的方法,其特征在于,所述服務(wù)器判斷自身是否能進(jìn)入正去激活態(tài)具體包括該服務(wù)器接收另一臺(tái)服務(wù)器返回的狀態(tài)通知,若返回的狀態(tài)是主用態(tài),則確認(rèn)自身能進(jìn)入正去激活態(tài)。
6.如權(quán)利要求1所述的方法,其特征在于,所述另一臺(tái)服務(wù)器激活為備用服務(wù)器具體包括該服務(wù)器判斷接收到的另一臺(tái)服務(wù)器的狀態(tài)是否為主用態(tài),若是,該服務(wù)器激活為備用服務(wù)器;否則,保持當(dāng)前狀態(tài)不變。
7.如權(quán)利要求1所述的方法,其特征在于,所述主用服務(wù)器將服務(wù)數(shù)據(jù)同步發(fā)送給備用服務(wù)器具體包括主用服務(wù)器通過文件傳輸協(xié)議FTP,定時(shí)將文件發(fā)送給備用服務(wù)器;或者,主用服務(wù)器首先采用FTP與備用服務(wù)器實(shí)現(xiàn)同步,然后將服務(wù)數(shù)據(jù)同時(shí)寫到主用服務(wù)器和備用服務(wù)器;或者,主用服務(wù)器通過數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)同步技術(shù)將服務(wù)數(shù)據(jù)同步發(fā)送給備用服務(wù)器的數(shù)據(jù)庫(kù)。
8.如權(quán)利要求7所述的方法,其特征在于,所述備用服務(wù)器的數(shù)據(jù)庫(kù)為Microsoft提供的結(jié)構(gòu)化查詢語(yǔ)言服務(wù)器SQL Server數(shù)據(jù)庫(kù),所述數(shù)據(jù)同步技術(shù)為SQL Server數(shù)據(jù)庫(kù)提供的日志備份/恢復(fù)技術(shù),或事物同步復(fù)制技術(shù)。
9.如權(quán)利要求1所述的方法,其特征在于,步驟B所述備用服務(wù)器判斷當(dāng)前是否滿足切換條件具體包括備用服務(wù)器判斷當(dāng)前是否已完成數(shù)據(jù)同步,且當(dāng)前自身滿足成為主用服務(wù)器的要求,若是,判定當(dāng)前滿足切換條件;否則,判定當(dāng)前不滿足切換條件。
10.如權(quán)利要求1所述的方法,其特征在于,步驟B所述備用服務(wù)器收到的主用服務(wù)器的狀態(tài)通知為備用態(tài),步驟B所述備用服務(wù)器調(diào)整自身狀態(tài),具體包括備用服務(wù)器進(jìn)入正激活態(tài),分配主用相關(guān)資源,并在分配完后進(jìn)入主用態(tài),成為主用服務(wù)器。
11.如權(quán)利要求10所述的方法,其特征在于,所述備用服務(wù)器發(fā)送允許切換消息之后、收到主用服務(wù)器為備用態(tài)的狀態(tài)通知之前,進(jìn)一步包括主用服務(wù)器在收到備用服務(wù)器發(fā)送的允許切換消息之后,進(jìn)入正去激活態(tài),釋放主用相關(guān)資源,并在釋放完后,進(jìn)入備用態(tài),成為備用服務(wù)器。
12.如權(quán)利要求11所述的方法,其特征在于,所述雙機(jī)備份系統(tǒng)進(jìn)一步包括主用服務(wù)器為其提供服務(wù)的客戶端,且所述主用服務(wù)器進(jìn)入備用態(tài)之后進(jìn)一步包括客戶端根據(jù)自身保存的會(huì)話信息,主動(dòng)發(fā)起建立連接請(qǐng)求;或者,所述備用服務(wù)器進(jìn)入主用態(tài),成為主用服務(wù)器之后進(jìn)一步包括該主用服務(wù)器根據(jù)自身保存的會(huì)話信息,向客戶端發(fā)起建立連接請(qǐng)求。
13.如權(quán)利要求1所述的方法,其特征在于,步驟B所述備用服務(wù)器收到的主用服務(wù)器的狀態(tài)通知為主用態(tài),步驟B所述備用服務(wù)器調(diào)整自身狀態(tài)為備用服務(wù)器繼續(xù)保持備用態(tài)。
14.如權(quán)利要求1所述的方法,其特征在于,所述方法進(jìn)一步包括備用服務(wù)器沒有收到主用服務(wù)器的定時(shí)狀態(tài)通知消息,備用服務(wù)器主動(dòng)進(jìn)入正激活態(tài),分配完主用相關(guān)資源后,進(jìn)入主用態(tài),成為主用服務(wù)器。
15.如權(quán)利要求3、10、14所述的方法,其特征在于,所述主用相關(guān)資源至少包括主用服務(wù)器和備用服務(wù)器共享的、用于客戶端尋址的、且在同一時(shí)刻只能由主用服務(wù)器占用的虛擬地址。
16.一種雙機(jī)備份系統(tǒng),包括主用服務(wù)器、備用服務(wù)器和客戶端,其特征在于,主用服務(wù)器和備用服務(wù)器上分別具有與對(duì)方進(jìn)行通信的接口,且該兩服務(wù)器定時(shí)向?qū)Ψ桨l(fā)送狀態(tài)通知,其中,主用服務(wù)器用于為客戶端提供服務(wù),并將服務(wù)數(shù)據(jù)同步發(fā)送給備用服務(wù)器,同時(shí),在需要切換狀態(tài)時(shí),給備用服務(wù)器發(fā)送狀態(tài)切換請(qǐng)求,并在接收到備用服務(wù)器的允許切換消息時(shí),將自身狀態(tài)切換到備用態(tài);備用服務(wù)器用于接收主用服務(wù)器發(fā)送的服務(wù)數(shù)據(jù),并在接收到主用服務(wù)器的狀態(tài)切換請(qǐng)求后,給主用服務(wù)器返回允許切換或拒絕切換消息,然后根據(jù)主用服務(wù)器返回的狀態(tài)通知,調(diào)整自身狀態(tài);客戶端用于向主用服務(wù)器發(fā)送服務(wù)請(qǐng)求,或接收主用服務(wù)器返回的服務(wù)響應(yīng)。
17.如權(quán)利要求16所述的系統(tǒng),其特征在于,所述主用服務(wù)器和備用服務(wù)器分別進(jìn)一步用于,在當(dāng)前狀態(tài)為初始化態(tài)時(shí),根據(jù)對(duì)方返回的狀態(tài)調(diào)整自身狀態(tài);和/或所述備用服務(wù)器進(jìn)一步用于,在當(dāng)前為備用態(tài)且沒有收到對(duì)方的定時(shí)狀態(tài)通知后,主動(dòng)進(jìn)入主用態(tài);和/或所述主用服務(wù)器進(jìn)一步用于,在剛進(jìn)入主用態(tài)時(shí),根據(jù)自身保存的會(huì)話信息,向客戶端發(fā)送建立連接請(qǐng)求。
18.如權(quán)利要求16所述的系統(tǒng),其特征在于,所述客戶端進(jìn)一步用于,在與主用服務(wù)器中斷通信后,根據(jù)自身保存的會(huì)話信息,向主用服務(wù)器發(fā)送建立連接請(qǐng)求。
全文摘要
本發(fā)明公開了一種雙機(jī)備份實(shí)現(xiàn)方法,首先在實(shí)現(xiàn)雙機(jī)備份的兩臺(tái)服務(wù)器上分別增加與對(duì)方通信的接口,然后通過主用服務(wù)器和備用服務(wù)器的信令交換,實(shí)現(xiàn)兩服務(wù)器的主用、備用態(tài)的切換,并通過主用服務(wù)器將服務(wù)數(shù)據(jù)同步發(fā)送到備用服務(wù)器上,實(shí)現(xiàn)兩服務(wù)器的數(shù)據(jù)同步。本發(fā)明同時(shí)公開了一種雙機(jī)備份系統(tǒng),包括主用服務(wù)器、備用服務(wù)器和客戶端。本發(fā)明提供的方法不受操作系統(tǒng)限制,可在各種操作系統(tǒng)平臺(tái)上運(yùn)行;完全由軟件實(shí)現(xiàn),不增加任何硬件成本。本發(fā)明提供的系統(tǒng)不受服務(wù)器硬件限制,任意兩種類型的服務(wù)器都可組成雙機(jī)備份系統(tǒng);兼容性好,已有的單機(jī)系統(tǒng)可方便升級(jí)到雙機(jī)備份系統(tǒng);不需共享存儲(chǔ)介質(zhì),節(jié)省空間。
文檔編號(hào)H04B1/74GK1851657SQ20051008514
公開日2006年10月25日 申請(qǐng)日期2005年7月21日 優(yōu)先權(quán)日2005年7月21日
發(fā)明者陳春媛, 朱湘毅 申請(qǐng)人:上海華為技術(shù)有限公司