一種雙機(jī)熱備數(shù)據(jù)的處理方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及服務(wù)器數(shù)據(jù)的雙機(jī)熱備技術(shù),尤其涉及一種雙機(jī)熱備數(shù)據(jù)的處理方法和系統(tǒng)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)(移動互聯(lián)網(wǎng))高速發(fā)展,用戶越來越依賴服務(wù)器提供的數(shù)據(jù)服務(wù),對數(shù)據(jù)的可用性需求增強(qiáng),需要更加隨時隨地的訪問服務(wù)器提供的服務(wù)(數(shù)據(jù));傳統(tǒng)的雙機(jī)熱備,是同一機(jī)房內(nèi)的熱備方案,一旦該機(jī)房出現(xiàn)問題時,會使整個服務(wù)系統(tǒng)癱瘓,嚴(yán)重影響用戶應(yīng)用。并且現(xiàn)有的上級熱備方案中,通常是由客戶端直接提供數(shù)據(jù)的分發(fā)與返回結(jié)果的處理,這樣在一定程度上增加了客戶端的寬帶消耗并且需要改變客戶端的程序。
【發(fā)明內(nèi)容】
[0003]為了解決上述問題,本發(fā)明提出了一種雙機(jī)熱備數(shù)據(jù)的處理方法和系統(tǒng),能夠保持客戶端的寬帶消耗和程序不變。
[0004]為了達(dá)到上述目的,本發(fā)明提出了一種雙機(jī)熱備數(shù)據(jù)的處理方法,該方法包括:
[0005]接入端接收客戶端發(fā)送的數(shù)據(jù),并將該數(shù)據(jù)分別發(fā)送給位于不同的機(jī)房的主服務(wù)器和從服務(wù)器。
[0006]在主服務(wù)器將接收到所述數(shù)據(jù)進(jìn)行處理之后,接入端將處理后的數(shù)據(jù)返回給客戶端,并且在從服務(wù)器接收到接入端發(fā)送的數(shù)據(jù)后,接入端將從服務(wù)器返回的接收到該數(shù)據(jù)的確認(rèn)信息返回給客戶端。
[0007]優(yōu)選地,該方法還包括:
[0008]當(dāng)主服務(wù)器發(fā)生故障,接入端未能接收到主服務(wù)器返回的處理數(shù)據(jù)時,接入端向從服務(wù)器發(fā)送切換命令,命令從服務(wù)器在接收到該切換命令后切換為主服務(wù)器進(jìn)行工作。
[0009]優(yōu)選地,該方法還包括:
[0010]當(dāng)從服務(wù)器發(fā)生故障時,接入端命令主服務(wù)器繼續(xù)接收客戶端發(fā)送的數(shù)據(jù)并對該數(shù)據(jù)進(jìn)行處理,并命令主服務(wù)器繼續(xù)將處理后的數(shù)據(jù)返回接入端。
[0011]優(yōu)選地,該方法還包括:
[0012]當(dāng)主服務(wù)器發(fā)生故障時,接入端接收主服務(wù)器發(fā)送的主服務(wù)器出現(xiàn)故障的第一通知消息,并且將主服務(wù)器發(fā)生故障的時間數(shù)據(jù)發(fā)送給從服務(wù)器,通過切換命令來命令從服務(wù)器根據(jù)發(fā)生故障的時間數(shù)據(jù)切換為主服務(wù)器進(jìn)行工作。
[0013]當(dāng)主服務(wù)器故障恢復(fù)后,接入端將主服務(wù)器恢復(fù)正常的消息通知從服務(wù)器,并接收從服務(wù)器發(fā)送的主服務(wù)器發(fā)生故障期間從服務(wù)器接收并處理的數(shù)據(jù),將該數(shù)據(jù)轉(zhuǎn)發(fā)給主服務(wù)器。
[0014]優(yōu)選地,該方法還包括:
[0015]當(dāng)主服務(wù)器故障恢復(fù)后,接入端再次發(fā)送切換命令,命令主服務(wù)器或從服務(wù)器恢復(fù)故障之前的主從分工工作,或者接入端不發(fā)送切換命令,使主服務(wù)器和從服務(wù)器繼續(xù)維持當(dāng)前的主從分工工作。
[0016]優(yōu)選地,該方法還包括:
[0017]當(dāng)從服務(wù)器發(fā)生故障時,接入端接收從服務(wù)器發(fā)送的從服務(wù)器出現(xiàn)故障的第二通知消息,并且在從服務(wù)器恢復(fù)正常之后,接收主服務(wù)器發(fā)送的從服務(wù)器發(fā)生故障期間主服務(wù)器接收并處理的數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)發(fā)給從服務(wù)器。
[0018]為了達(dá)到上述目的,本發(fā)明還提出了一種雙機(jī)熱備數(shù)據(jù)的處理系統(tǒng),該系統(tǒng)包括:接入端、客戶端、主服務(wù)器和從服務(wù)器。
[0019]接入端,用于接收客戶端發(fā)送的數(shù)據(jù),并將該數(shù)據(jù)分別發(fā)送給位于不同的機(jī)房的主服務(wù)器和從服務(wù)器。
[0020]接入端,還用于在主服務(wù)器將接收到的數(shù)據(jù)進(jìn)行處理之后,將處理后的數(shù)據(jù)返回給客戶端,并且在從服務(wù)器接收到接入端發(fā)送的數(shù)據(jù)后,將從服務(wù)器返回的接收到該數(shù)據(jù)的確認(rèn)信息返回給客戶端。
[0021]優(yōu)選地,接入端還用于:
[0022]當(dāng)主服務(wù)器發(fā)生故障,接入端未能接收到主服務(wù)器返回的處理數(shù)據(jù)時,向從服務(wù)器發(fā)送切換命令,命令從服務(wù)器在接收到切換命令后切換為主服務(wù)器進(jìn)行工作。
[0023]優(yōu)選地,接入端還用于:
[0024]當(dāng)主服務(wù)器發(fā)生故障時,接收主服務(wù)器發(fā)送的主服務(wù)器出現(xiàn)故障的第一通知消息,并且將主服務(wù)器發(fā)生故障的時間數(shù)據(jù)發(fā)送給從服務(wù)器,通過該切換命令來命令從服務(wù)器根據(jù)發(fā)生故障的時間數(shù)據(jù)切換為主服務(wù)器進(jìn)行工作。
[0025]當(dāng)主服務(wù)器故障恢復(fù)后,將主服務(wù)器恢復(fù)正常的消息通知從服務(wù)器,并接收從服務(wù)器發(fā)送的主服務(wù)器發(fā)生故障期間從服務(wù)器接收并處理的數(shù)據(jù),將該數(shù)據(jù)轉(zhuǎn)發(fā)給主服務(wù)器。
[0026]當(dāng)從服務(wù)器發(fā)生故障時,接收從服務(wù)器發(fā)送的從服務(wù)器出現(xiàn)故障的第二通知消息,并且在從服務(wù)器恢復(fù)正常之后,接收主服務(wù)器發(fā)送的從服務(wù)器發(fā)生故障期間主服務(wù)器接收并處理的數(shù)據(jù),將該數(shù)據(jù)轉(zhuǎn)發(fā)給從服務(wù)器。
[0027]優(yōu)選地,接入端還用于:
[0028]當(dāng)主服務(wù)器故障恢復(fù)后,再次發(fā)送切換命令,命令主服務(wù)器或從服務(wù)器恢復(fù)故障之前的主從分工工作,或者不發(fā)送切換命令,使主服務(wù)器和從服務(wù)器繼續(xù)維持當(dāng)前的主從分工工作。
[0029]與現(xiàn)有技術(shù)相比,本發(fā)明包括:接入端接收客戶端發(fā)送的數(shù)據(jù),并將該數(shù)據(jù)分別發(fā)送給位于不同的機(jī)房的主服務(wù)器和從服務(wù)器。在主服務(wù)器將接收到所述數(shù)據(jù)進(jìn)行處理之后,接入端將處理后的數(shù)據(jù)返回給客戶端,并且在從服務(wù)器接收到接入端發(fā)送的數(shù)據(jù)后,接入端將從服務(wù)器返回的接收到該數(shù)據(jù)的確認(rèn)信息返回給客戶端。通過本發(fā)明的方案,能夠保持客戶端的寬帶消耗和程序不變。
【附圖說明】
[0030]下面對本發(fā)明實(shí)施例中的附圖進(jìn)行說明,實(shí)施例中的附圖是用于對本發(fā)明的進(jìn)一步理解,與說明書一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明保護(hù)范圍的限制。
[0031]圖1為本發(fā)明的雙機(jī)熱備數(shù)據(jù)的處理方法流程圖;
[0032]圖2為本發(fā)明的雙機(jī)熱備數(shù)據(jù)的處理結(jié)構(gòu)圖;
[0033]圖3為傳統(tǒng)的雙機(jī)熱備方案拓?fù)渑c本發(fā)明的雙機(jī)熱備方案拓?fù)鋵Ρ葓D;
[0034]圖4為本發(fā)明的雙機(jī)熱備數(shù)據(jù)的處理系統(tǒng)組成框圖。
【具體實(shí)施方式】
[0035]為了便于本領(lǐng)域技術(shù)人員的理解,下面結(jié)合附圖對本發(fā)明作進(jìn)一步的描述,并不能用來限制本發(fā)明的保護(hù)范圍。
[0036]為了達(dá)到上述目的,本發(fā)明提出了一種雙機(jī)熱備數(shù)據(jù)的處理方法,如圖1、圖2所示,該方法包括:
[0037]S101、接入端接收客戶端發(fā)送的數(shù)據(jù),并將該數(shù)據(jù)分別發(fā)送給位于不同的機(jī)房的主服務(wù)器和從服務(wù)器。
[0038]在本發(fā)明實(shí)施例中,主服務(wù)器和從服務(wù)器分別置于不同的機(jī)房內(nèi)。如圖3所示,其中,(a)為傳統(tǒng)的雙機(jī)熱備方案拓?fù)鋱D,(b)為本發(fā)明的雙機(jī)熱備方案拓?fù)鋱D。并且,從服務(wù)器可以為一個或多個,均與主服務(wù)器放置于不同的機(jī)房中。這一異地雙機(jī)熱備方案,當(dāng)某地出現(xiàn)問題時,另一個地方會及時提供服務(wù),用戶不會受到明顯影響。
[0039]另外,在本發(fā)明實(shí)施例中,接收端接收客戶端發(fā)送的數(shù)據(jù),并將該數(shù)據(jù)發(fā)送給位于不同的機(jī)房的主服務(wù)器和從服務(wù)器,這里的接收端是在客戶端與服務(wù)器之間增加的一個節(jié)點(diǎn),其實(shí)質(zhì)上是擔(dān)任了一個控制端的角色,該接入端負(fù)責(zé)將客戶端發(fā)送的數(shù)據(jù)進(jìn)行分發(fā)并處理返回的結(jié)果,避免了通過客戶端對數(shù)據(jù)進(jìn)行分發(fā)而帶來的客戶端的寬帶消耗增加和需要改變客戶端程序的弊端。
[0040]S102、在主服務(wù)器將接收到所述數(shù)據(jù)進(jìn)行處理之后,接入端將處理后的數(shù)據(jù)返回給客戶端,并且在從服務(wù)器接收到接入端發(fā)送的數(shù)據(jù)后,接入端將從服務(wù)器返回的接收到該數(shù)據(jù)的確認(rèn)信息返回給客戶端。
[0041]在本發(fā)明實(shí)施例中,主服務(wù)器接收到接入端發(fā)送的數(shù)據(jù)后對該數(shù)據(jù)進(jìn)行處理,并將處理后的數(shù)據(jù)返回給接入端,通過接入端在返回給客戶端。從服務(wù)器接收到接入端發(fā)送的數(shù)據(jù)后,將該數(shù)據(jù)存儲到內(nèi)存數(shù)據(jù)庫中進(jìn)行備份,當(dāng)內(nèi)存數(shù)據(jù)庫中存儲的數(shù)據(jù)的數(shù)量達(dá)到預(yù)設(shè)的存儲閾值時,從服務(wù)器統(tǒng)一處理內(nèi)存數(shù)據(jù)庫中存儲的數(shù)據(jù),并將處理后的數(shù)據(jù)轉(zhuǎn)存到非內(nèi)存數(shù)據(jù)庫中。
[0042]優(yōu)選地,該方法還包括:
[0043]當(dāng)主服務(wù)器發(fā)生故障,接入端未能接收到主服務(wù)器返回的處理數(shù)據(jù)時,接入端向從服務(wù)器發(fā)送切換命令,命令從服務(wù)器在接收到該切換命令后切換為主服務(wù)器進(jìn)行工作。切換之前,從服務(wù)器需要將之前接收到的未處理的數(shù)據(jù)均處理一遍,以便接收新數(shù)據(jù)。
[0044]優(yōu)選地,該方法還包括:
[0045]當(dāng)從服務(wù)器發(fā)生故障時,接入端命令主服務(wù)器繼續(xù)接收客戶端發(fā)送的數(shù)據(jù)并對該數(shù)據(jù)進(jìn)行處理,并命令主服務(wù)器繼續(xù)將處理后的數(shù)據(jù)返回接入端。
[0046]優(yōu)選地,該方法還包括:
[0047]當(dāng)主服務(wù)器發(fā)生故障時,接入端接收主服務(wù)器發(fā)送的主服務(wù)器出現(xiàn)故障的第一通知消息,并且將主服務(wù)器發(fā)生故障的時間數(shù)據(jù)發(fā)送給從服務(wù)器,通過切換命令來命令從服務(wù)器根據(jù)發(fā)生故障的時間數(shù)據(jù)切換為主服務(wù)器進(jìn)行工作。
[0048]當(dāng)主