雙主控網(wǎng)絡(luò)系統(tǒng)及該系統(tǒng)中業(yè)務(wù)請(qǐng)求的雙寫方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別是涉及一種雙主控網(wǎng)絡(luò)系統(tǒng)及該系統(tǒng)中業(yè)務(wù)請(qǐng)求的雙寫方法。
【背景技術(shù)】
[0002]網(wǎng)絡(luò)通信領(lǐng)域中,往往對(duì)整體系統(tǒng)的穩(wěn)定運(yùn)行要求較高,但由于網(wǎng)絡(luò)環(huán)境以及其他各方面的因素的影響,可能導(dǎo)致系統(tǒng)出現(xiàn)故障的幾率較高。為減少系統(tǒng)出現(xiàn)故障的幾率,業(yè)務(wù)系統(tǒng)中各個(gè)模塊一般都有冗余備份的模塊,以便在正常工作的主模塊出現(xiàn)故障后,備份模塊迅速取代主模塊接管工作,減少系統(tǒng)運(yùn)行時(shí)故障造成的影響。因此雙主控、雙交換、冗余電源和風(fēng)扇模塊在網(wǎng)絡(luò)系統(tǒng)的較為常見。
[0003]對(duì)于雙主控的系統(tǒng),需要對(duì)客戶端做到透明,要求不修改客戶端就能完成客戶端對(duì)主控服務(wù)端的配置信息也能同步到備控服務(wù)端上,從而保證主控服務(wù)端隨時(shí)出現(xiàn)故障時(shí)備控服務(wù)端可以立即取代主控服務(wù)端,為客戶端提供正常服務(wù)。
[0004]目前,解決雙主控系統(tǒng)的配置信息實(shí)時(shí)同步的問題的主要方法為:在備控服務(wù)端上運(yùn)行監(jiān)控線程,該線程持續(xù)監(jiān)控主控服務(wù)端的狀態(tài),并每隔一段時(shí)間同步主控服務(wù)端的相應(yīng)配置信息等。該方法可以一定程度上解決實(shí)時(shí)同步的問題,但是經(jīng)過對(duì)該方法的研究發(fā)現(xiàn),該方法存在如下問題:
[0005]主控服務(wù)端隨時(shí)都會(huì)接受用戶的請(qǐng)求,并且主控服務(wù)端也隨時(shí)會(huì)出現(xiàn)故障,如果備控服務(wù)端采用監(jiān)控主控端并每隔一段時(shí)間同步其與主控服務(wù)端的配置,可能導(dǎo)致主控服務(wù)端突然故障后還未同步的配置信息丟失且無法恢復(fù)。
【發(fā)明內(nèi)容】
[0006]本發(fā)明要解決的技術(shù)問題提供一種雙主控網(wǎng)絡(luò)系統(tǒng)及該系統(tǒng)中業(yè)務(wù)請(qǐng)求的雙寫方法,用以解決現(xiàn)有雙主控系統(tǒng)中采用固定時(shí)間段進(jìn)行的的配置信息同步時(shí),配置信息丟失的冋題。
[0007]為解決上述技術(shù)問題,一方面,本發(fā)明提供一種雙主控網(wǎng)絡(luò)系統(tǒng)中業(yè)務(wù)請(qǐng)求的雙寫方法,包括:
[0008]主控服務(wù)端接收客戶端的業(yè)務(wù)請(qǐng)求;
[0009]若所述業(yè)務(wù)請(qǐng)求為查詢請(qǐng)求時(shí),主控服務(wù)端將查詢結(jié)果反饋給客戶端;
[0010]若所述業(yè)務(wù)請(qǐng)求為配置指令時(shí),主控服務(wù)端執(zhí)行所述配置指令,將執(zhí)行結(jié)果反饋給客戶端,并將所述配置指令轉(zhuǎn)發(fā)給備控服務(wù)端;備控服務(wù)端接收主控服務(wù)端轉(zhuǎn)發(fā)的所述配置指令,并執(zhí)行所述配置指令。
[0011]進(jìn)一步,主控服務(wù)端執(zhí)行所述配置指令,將執(zhí)行結(jié)果反饋給客戶端,并將所述配置指令轉(zhuǎn)發(fā)給備控服務(wù)端;備控服務(wù)端接收主控服務(wù)端轉(zhuǎn)發(fā)的所述配置指令,并執(zhí)行所述配置指令,具體包括:
[0012]主控服務(wù)端執(zhí)行所述配置指令,并將所述配置指令轉(zhuǎn)發(fā)給備控服務(wù)端;備控服務(wù)端接收主控服務(wù)端轉(zhuǎn)發(fā)的所述配置指令,并執(zhí)行所述配置指令,執(zhí)行后將其執(zhí)行結(jié)果反饋給主控服務(wù)端;主控服務(wù)端接收到備控服務(wù)端的執(zhí)行結(jié)果后,將主控服務(wù)端執(zhí)行結(jié)果反饋給客戶端。
[0013]進(jìn)一步,所述方法還包括:
[0014]備控服務(wù)端監(jiān)控主控服務(wù)端的運(yùn)行狀態(tài);
[0015]當(dāng)主控服務(wù)端的運(yùn)行狀態(tài)異常時(shí),將原備控服務(wù)端切換成新的主控服務(wù)端。
[0016]進(jìn)一步,主控服務(wù)端接收客戶端的業(yè)務(wù)請(qǐng)求,之前還包括:
[0017]網(wǎng)絡(luò)中的兩個(gè)控制服務(wù)器同時(shí)上電運(yùn)行;
[0018]兩個(gè)控制服務(wù)器根據(jù)選舉算法選舉出主控服務(wù)端和備控服務(wù)端;
[0019]主控服務(wù)端監(jiān)聽客戶端的業(yè)務(wù)請(qǐng)求端口,等待客戶端的業(yè)務(wù)請(qǐng)求;
[0020]備控服務(wù)端監(jiān)聽主控服務(wù)端的同步端口,等待所述主控服務(wù)端轉(zhuǎn)發(fā)的配置指令。
[0021]另一方面,本發(fā)明還提供一種雙主控網(wǎng)絡(luò)系統(tǒng),包括:
[0022]主控服務(wù)端,用于接收客戶端的業(yè)務(wù)請(qǐng)求;若所述業(yè)務(wù)請(qǐng)求為查詢請(qǐng)求時(shí),主控服務(wù)端將查詢結(jié)果反饋給客戶端;若所述業(yè)務(wù)請(qǐng)求為配置指令時(shí),主控服務(wù)端執(zhí)行所述配置指令,將執(zhí)行結(jié)果反饋給客戶端,并將所述配置指令轉(zhuǎn)發(fā)給備控服務(wù)端;
[0023]備控服務(wù)端,用于接收主控服務(wù)端轉(zhuǎn)發(fā)的所述配置指令,并執(zhí)行所述配置指令。
[0024]進(jìn)一步,主控服務(wù)端,具體用于接收客戶端的業(yè)務(wù)請(qǐng)求;若所述業(yè)務(wù)請(qǐng)求為查詢請(qǐng)求時(shí),將查詢結(jié)果反饋給客戶端;若所述業(yè)務(wù)請(qǐng)求為配置指令時(shí),執(zhí)行所述配置指令,并將所述配置指令轉(zhuǎn)發(fā)給備控服務(wù)端;以及用于接收到備控服務(wù)端的執(zhí)行結(jié)果后,將主控服務(wù)端執(zhí)行結(jié)果反饋給客戶端
[0025]備控服務(wù)端,具體用于接收主控服務(wù)端轉(zhuǎn)發(fā)的所述配置指令,并執(zhí)行所述配置指令,執(zhí)行后將執(zhí)行結(jié)果反饋給主控服務(wù)端。
[0026]進(jìn)一步,備控服務(wù)端,還用于監(jiān)控主控服務(wù)端的運(yùn)行狀態(tài);
[0027]當(dāng)主控服務(wù)端的運(yùn)行狀態(tài)異常時(shí),切換成新的主控服務(wù)端,開始接收客戶端的業(yè)務(wù)請(qǐng)求。
[0028]本發(fā)明有益效果如下:本發(fā)明通過主控服務(wù)端將客戶端的配置請(qǐng)求轉(zhuǎn)發(fā)給備控服務(wù)端,使得主控服務(wù)端和備控服務(wù)端實(shí)時(shí)執(zhí)行該配置請(qǐng)求,保證了備控服務(wù)端上的配置信息不會(huì)丟失,保證了雙主控系統(tǒng)的配置信息的實(shí)時(shí)同步性,以及保證了客戶端請(qǐng)求實(shí)時(shí)同步。
【附圖說明】
[0029]圖1是本發(fā)明實(shí)施例中一種雙主控網(wǎng)絡(luò)系統(tǒng)中業(yè)務(wù)請(qǐng)求的雙寫方法的流程圖。
【具體實(shí)施方式】
[0030]為了解決現(xiàn)有雙主控系統(tǒng)中采用固定時(shí)間段進(jìn)行的的配置信息同步時(shí),配置信息丟失的問題,本發(fā)明提供了一種雙主控網(wǎng)絡(luò)系統(tǒng)及該系統(tǒng)中業(yè)務(wù)請(qǐng)求的雙寫方法,以下結(jié)合附圖以及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不限定本發(fā)明。
[0031]實(shí)施例一
[0032]雙主控系統(tǒng)為在網(wǎng)絡(luò)系統(tǒng)中增加一個(gè)備控服務(wù)端,用于主控服務(wù)端冗余備份的系統(tǒng);雙主控系統(tǒng)中,客戶端的請(qǐng)求往往只針對(duì)主控服務(wù)端,因此備控服務(wù)端也獲取相應(yīng)配置的請(qǐng)求稱之為雙寫;主控服務(wù)端用于負(fù)責(zé)正常工作的服務(wù)端,備控服務(wù)端作為冗余備份的服務(wù)端,主控服務(wù)端正常運(yùn)行時(shí),備控服務(wù)端只保證與主控服務(wù)端數(shù)據(jù)的同步,不與客戶端交互;主控服務(wù)端出現(xiàn)故障時(shí),迅速取代主控服務(wù)端的位置,為客戶端提供正常服務(wù)。
[0033]本發(fā)明實(shí)施例的方法,首先,當(dāng)兩個(gè)或者多個(gè)(這里假設(shè)為兩個(gè))控制服務(wù)端同時(shí)上電運(yùn)行,兩個(gè)控制服務(wù)器依照選舉算法選舉出主控服務(wù)端和備控服務(wù)端。然后,主控服務(wù)端監(jiān)聽客戶端連接端口,等待客戶端的連接請(qǐng)求,備控服務(wù)端監(jiān)控主控服務(wù)端的狀態(tài)信息,確保主控服務(wù)端處于正常運(yùn)行狀態(tài),并接收主控服務(wù)端的請(qǐng)求;正常運(yùn)行后,客戶端給主控服務(wù)端下發(fā)連接請(qǐng)求以及配置命令,主控服務(wù)端首先接收這些請(qǐng)求和命令,并對(duì)其進(jìn)行處理,根據(jù)不同請(qǐng)求,分別直接處理或者發(fā)給備控服務(wù)端等待備控服務(wù)端進(jìn)行處理。備控服務(wù)端收到相應(yīng)請(qǐng)求后,在本地執(zhí)行該請(qǐng)求,并返回執(zhí)行結(jié)果。主控服務(wù)端接收到備控服務(wù)端的應(yīng)答消息后,結(jié)合自己的處理結(jié)果,調(diào)整最終的請(qǐng)求處理結(jié)果并將該結(jié)果返回給客戶端。對(duì)于不由客戶端而是由主控服務(wù)端自己發(fā)起的配置請(qǐng)求,備控服務(wù)端禁止自身該類請(qǐng)求,保持與主控服務(wù)端的同步。
[0034]如圖1所示,本發(fā)明實(shí)施例提供一種雙主控網(wǎng)絡(luò)系統(tǒng)中業(yè)務(wù)請(qǐng)求的雙寫方法,包括:
[0035]S101,主控服務(wù)端接收客戶端的業(yè)務(wù)請(qǐng)求;
[0036]S102,若所述業(yè)務(wù)請(qǐng)求為查詢請(qǐng)求時(shí),主控服務(wù)端將查詢結(jié)果反饋給客戶端;
[0037]S103,若所述業(yè)務(wù)請(qǐng)求為配置指令時(shí),主控服務(wù)端執(zhí)行所述配置指令,執(zhí)行后將執(zhí)行結(jié)果反饋給客戶端,并將所述配置指令轉(zhuǎn)發(fā)給備控服務(wù)端;備控服務(wù)端接收主控服務(wù)端轉(zhuǎn)發(fā)的所述配置指令,并執(zhí)行所述配置指令。執(zhí)行結(jié)果一般為是否成功執(zhí)行配置指令,若未成功執(zhí)行,反饋未執(zhí)行的原因等。
[0038]本發(fā)明實(shí)施例通過主控服務(wù)端轉(zhuǎn)發(fā)客戶端的配置請(qǐng)求,使得主控服務(wù)端和備控服務(wù)端實(shí)時(shí)執(zhí)行該配置請(qǐng)求,使得主控服務(wù)端和備控服務(wù)端的配置信息的實(shí)時(shí)同步,所以即使主控服務(wù)端突然異常退出,備控服務(wù)端上的配置信息不會(huì)丟失,保證了雙主控系統(tǒng)的配置信息的實(shí)時(shí)同步性,以及保證了客戶端請(qǐng)求實(shí)時(shí)同步。
[0039]同時(shí)經(jīng)過深入的研究發(fā)現(xiàn),【背景技術(shù)】中在備控服務(wù)端上每隔一段時(shí)間同步主控服務(wù)端的相應(yīng)配置信息的方法,還存在以下問題:
[0040](I)對(duì)于需同步數(shù)據(jù)較多的主控服務(wù)端和備控服務(wù)端而言,由于數(shù)據(jù)多,需要