本發(fā)明涉及多服務(wù)器熱備領(lǐng)域,特別涉及一種多服務(wù)器切換方法及系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)(移動(dòng)互聯(lián)網(wǎng))高速發(fā)展,用戶越來越依賴服務(wù)器提供的數(shù)據(jù)服務(wù),對(duì)數(shù)據(jù)的可用性需求增強(qiáng),需要更加隨時(shí)隨地的訪問服務(wù)器提供的服務(wù)(數(shù)據(jù));為避免服務(wù)器故障,導(dǎo)致用戶無法正常獲取服務(wù),因此采用多機(jī)熱備方案,當(dāng)主服務(wù)器失活,則從服務(wù)器應(yīng)該切換為主服務(wù)器,繼續(xù)為用戶提供服務(wù)。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種多服務(wù)器切換方法及系統(tǒng),使原主服務(wù)器失活后能夠順利的由從服務(wù)器代替其功能繼續(xù)運(yùn)行。其具體方案如下:
一種多服務(wù)器切換方法,包括:
當(dāng)從服務(wù)器組檢測(cè)到原主服務(wù)器失活,則所述從服務(wù)器組中的各從服務(wù)器相互發(fā)送時(shí)間戳;
每個(gè)從服務(wù)器利用接收到的時(shí)間戳判斷自身是否優(yōu)先度最高,如果是,則作為備用主服務(wù)器。
優(yōu)選的,所述從服務(wù)器組檢測(cè)到原主服務(wù)器失活的過程,包括:
所述從服務(wù)器組在第一閾值內(nèi)未能接收到所述原主服務(wù)器發(fā)送的在運(yùn)信號(hào),則判定所述原主服務(wù)器失活。
優(yōu)選的,每個(gè)從服務(wù)器在第二閾值內(nèi)接收時(shí)間戳。
優(yōu)選的,還包括:
當(dāng)多個(gè)從服務(wù)器發(fā)送的時(shí)間戳一樣,則可以利用預(yù)先設(shè)定的靜態(tài)分配順序,選擇出作為備用主服務(wù)器的從服務(wù)器。
優(yōu)選的,還包括:
當(dāng)所述備用主服務(wù)器檢測(cè)到所述原主服務(wù)器恢復(fù)正常,則將所述原主服務(wù)器失活期間的數(shù)據(jù)發(fā)送給所述原主服務(wù)器,并所述備用主服務(wù)器變?yōu)樗鰪姆?wù)器組中的一個(gè)從服務(wù)器。
本發(fā)明還公開了一種多服務(wù)器切換系統(tǒng),包括:
發(fā)送模塊,用于當(dāng)從服務(wù)器組檢測(cè)到原主服務(wù)器失活,則所述從服務(wù)器組中的各從服務(wù)器相互發(fā)送時(shí)間戳;
判斷模塊,用于每個(gè)從服務(wù)器利用接收到的時(shí)間戳判斷自身是否優(yōu)先度最高,如果是,則作為備用主服務(wù)器。
優(yōu)選的,所述發(fā)送模塊,包括:
檢測(cè)單元,用于所述從服務(wù)器組在第一閾值內(nèi)未能接收到所述原主服務(wù)器發(fā)送的在運(yùn)信號(hào),則判定所述原主服務(wù)器失活。
優(yōu)選的,所述判斷模塊,包括:
計(jì)時(shí)單元,用于每個(gè)從服務(wù)器在第二閾值內(nèi)接收時(shí)間戳。
優(yōu)選的,還包括:
選擇模塊,用于當(dāng)多個(gè)從服務(wù)器發(fā)送的時(shí)間戳一樣,則可以利用預(yù)先設(shè)定的靜態(tài)分配順序,選擇出作為備用主服務(wù)器的從服務(wù)器。
優(yōu)選的,還包括:
數(shù)據(jù)發(fā)送模塊,用于當(dāng)所述備用主服務(wù)器檢測(cè)到所述原主服務(wù)器恢復(fù)正常,則將所述原主服務(wù)器失活期間的數(shù)據(jù)發(fā)送給所述原主服務(wù)器;
切換模塊,用于所述備用主服務(wù)器變?yōu)樗鰪姆?wù)器組中的一個(gè)從服務(wù)器。
本發(fā)明中,多服務(wù)器切換方法,包括:當(dāng)從服務(wù)器組檢測(cè)到原主服務(wù)器失活,則從服務(wù)器組中的各從服務(wù)器相互發(fā)送時(shí)間戳;每個(gè)從服務(wù)器利用接收到的時(shí)間戳判斷自身發(fā)送的時(shí)間戳中記載的時(shí)間判斷自身是否優(yōu)先度最高,如果是,則作為備用主服務(wù)器。可見,本發(fā)明在原主服務(wù)器失活的情況下,各從服務(wù)器相互發(fā)送時(shí)間戳,每個(gè)從服務(wù)器利用接收到的時(shí)間戳判斷自身發(fā)送的時(shí)間戳中記載的時(shí)間判斷自身是否優(yōu)先度最高,如果是,則作為備用主服務(wù)器,從而保證了原主服務(wù)器失活后能夠順利的由從服務(wù)器代替其功能繼續(xù)運(yùn)行,為用戶提供可靠的數(shù)據(jù)服務(wù)。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例公開的一種多服務(wù)器切換方法流程示意圖;
圖2為本發(fā)明實(shí)施例公開的一種多服務(wù)器切換系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例公開了一種多服務(wù)器切換方法,參見圖1所示,該方法包括:
步驟s11:當(dāng)從服務(wù)器組檢測(cè)到原主服務(wù)器失活,則從服務(wù)器組中的各從服務(wù)器相互發(fā)送時(shí)間戳。
具體的,在正常運(yùn)行時(shí),從服務(wù)器組能夠接收到原主服務(wù)器發(fā)送的在運(yùn)信號(hào),當(dāng)原主服務(wù)器失活,從服務(wù)器組在第一閾值內(nèi)未能接收到原主服務(wù)器發(fā)送的在運(yùn)信號(hào),便可得知原主服務(wù)器失活,例如,從服務(wù)器組在10秒內(nèi)未能接收到原主服務(wù)器發(fā)送的在運(yùn)信號(hào),便得知原主服務(wù)器失活,或接收到原主服務(wù)器失活的信息,得知原主服務(wù)器失活。
其中,當(dāng)從服務(wù)器組檢測(cè)到原主服務(wù)器失活,則從服務(wù)器組中的每個(gè)從服務(wù)器都會(huì)發(fā)送時(shí)間戳到各個(gè)從服務(wù)器中,時(shí)間戳中記載的時(shí)間可以為各從服務(wù)器得知主服務(wù)器失活的時(shí)間,也可以為各從服務(wù)器發(fā)送時(shí)間戳的時(shí)間,還可以進(jìn)行延遲設(shè)定,在此不做限定。
可以理解的是,由于各服務(wù)器之間通信存在不同程度的延遲,所以各從服務(wù)器得知原主服務(wù)器失活的時(shí)間會(huì)存在差別,同時(shí),每個(gè)從服務(wù)器在得知原主服務(wù)器失活后,響應(yīng)時(shí)間也會(huì)因?yàn)閺姆?wù)器當(dāng)前的運(yùn)行狀態(tài)而不同,進(jìn)而影響發(fā)送時(shí)間,所以可以利用接收時(shí)間和發(fā)送時(shí)間作為時(shí)間戳中的時(shí)間,在實(shí)際應(yīng)用中,為了避免備用主服務(wù)器的確定過于隨機(jī),因此可以在從服務(wù)器上對(duì)時(shí)間戳中的時(shí)間進(jìn)行不同的延遲設(shè)定,以起到一定的排序作用。
例如,共有3個(gè)從服務(wù)器,分別為第一從服務(wù)器、第二從服務(wù)器和第三從服務(wù)器,第一從服務(wù)器得知原主服務(wù)器的時(shí)間為8:30,發(fā)送時(shí)間戳?xí)r間為8:33,第二從服務(wù)器得知原主服務(wù)器的時(shí)間為8:31,發(fā)送時(shí)間戳?xí)r間為8:32,第三從服務(wù)器得知原主服務(wù)器的時(shí)間為8:33,發(fā)送時(shí)間戳?xí)r間為8:35;當(dāng)以得知時(shí)間為準(zhǔn)時(shí),第一從服務(wù)器、第二從服務(wù)器和第三從服務(wù)器的時(shí)間戳中的時(shí)間分別為8:30、8:31和8:33;當(dāng)以發(fā)送時(shí)間為準(zhǔn)時(shí),第一從服務(wù)器、第二從服務(wù)器和第三從服務(wù)器的時(shí)間戳中的時(shí)間分別為8:33、8:32和8:35;當(dāng)有延遲是定時(shí),用戶預(yù)先對(duì)第二從服務(wù)器進(jìn)行延遲設(shè)定,對(duì)第二從服務(wù)器的時(shí)間戳中的時(shí)間延后2分鐘,第二從服務(wù)器以得知時(shí)間為準(zhǔn)時(shí),時(shí)間戳的時(shí)間為8:33,以發(fā)送時(shí)間為準(zhǔn)時(shí),時(shí)間戳的時(shí)間為8:34。
步驟s12:每個(gè)從服務(wù)器利用接收到的時(shí)間戳判斷自身發(fā)送的時(shí)間戳中記載的時(shí)間判斷自身是否優(yōu)先度最高,如果是,則作為備用主服務(wù)器。
具體的,每個(gè)從服務(wù)器都將接收到其他從服務(wù)器發(fā)送的時(shí)間戳,并利用每個(gè)時(shí)間戳內(nèi)記載的時(shí)間與自身發(fā)送的時(shí)間戳中的時(shí)間進(jìn)行對(duì)比,例如,判斷自身發(fā)送的時(shí)間戳中記載的時(shí)間是否為最早的,如果是,則可以作為備用主服務(wù)器,并進(jìn)行切換,執(zhí)行備用主服務(wù)器的功能。例如,共有3個(gè)從服務(wù)器,分別為第一從服務(wù)器、第二從服務(wù)器和第三從服務(wù)器,第一從服務(wù)器、第二從服務(wù)器和第三從服務(wù)器的時(shí)間戳中的時(shí)間分別為8:30、8:31和8:33,則第一從服務(wù)器的時(shí)間最早優(yōu)先度最高,因此第一從服務(wù)器作為備用主服務(wù)器。
可見,本發(fā)明實(shí)施例中在原主服務(wù)器失活的情況下,各從服務(wù)器相互發(fā)送時(shí)間戳,每個(gè)從服務(wù)器利用接收到的時(shí)間戳判斷自身發(fā)送的時(shí)間戳中記載的時(shí)間判斷自身是否優(yōu)先度最高,如果是,則作為備用主服務(wù)器,從而保證了原主服務(wù)器失活后能夠順利的由從服務(wù)器代替其功能繼續(xù)運(yùn)行,為用戶提供可靠的數(shù)據(jù)服務(wù)。
需要說明的是,每個(gè)從服務(wù)器發(fā)送的時(shí)間戳的時(shí)間意義可以不同,例如,第一從服務(wù)器的時(shí)間戳中的時(shí)間可以為第一從服務(wù)器的得知時(shí)間,第二從服務(wù)器的時(shí)間戳中的時(shí)間可以為第二從服務(wù)器發(fā)送時(shí)間戳的時(shí)間,并不影響從從服務(wù)器組中篩選出作為備用主服務(wù)器的從服務(wù)器。
在實(shí)際應(yīng)用中,難免會(huì)出現(xiàn)多個(gè)從服務(wù)器的時(shí)間戳中的時(shí)間一樣的情況,為此,當(dāng)多個(gè)從服務(wù)器發(fā)送的時(shí)間戳一樣,則可以利用預(yù)先設(shè)定的靜態(tài)分配順序,選擇出作為備用主服務(wù)器的從服務(wù)器。
具體的,當(dāng)多個(gè)從服務(wù)器發(fā)送的時(shí)間戳一樣,從服務(wù)器組中的從服務(wù)器判斷各自的靜態(tài)分配順序,優(yōu)先度最高的從服務(wù)器變?yōu)閭溆弥鞣?wù)器;靜態(tài)分配順序可以由用戶預(yù)先進(jìn)行設(shè)定,指定每個(gè)從服務(wù)器切換成原主服務(wù)器的順序,例如,從服務(wù)器組中有10個(gè)從服務(wù)器,指定第一從服務(wù)器至第十從服務(wù)器的編號(hào)為1至10,設(shè)定按照編號(hào)從小到大的順序切換,如,當(dāng)原主服務(wù)器失活,則編號(hào)為1的第一從服務(wù)器優(yōu)先度最高變?yōu)閭溆弥鞣?wù)器;從服務(wù)器組中的從服務(wù)器在得知原主服務(wù)器失活后,便查詢自身的靜態(tài)分配順序,當(dāng)從服務(wù)器確認(rèn)自身為優(yōu)先度最高的從服務(wù)器則切換為備用主服務(wù)器。
進(jìn)一步的,當(dāng)原主服務(wù)器恢復(fù)正常時(shí),為使原主服務(wù)器恢復(fù)工作,需要使備用主服務(wù)器重新切換為從服務(wù)器,由原主服務(wù)器繼續(xù)原來的工作,因此,當(dāng)備用主服務(wù)器檢測(cè)到原主服務(wù)器恢復(fù)正常,則將原主服務(wù)器失活期間的數(shù)據(jù)發(fā)送給原主服務(wù)器,并備用主服務(wù)器變?yōu)閺姆?wù)器組中的一個(gè)從服務(wù)器。
具體的,備用主服務(wù)器將其運(yùn)行期間的數(shù)據(jù)全部發(fā)送給原主服務(wù)器,即,將原主服務(wù)器恢復(fù)正常之前的數(shù)據(jù)全部發(fā)送給原主服務(wù)器,以使原主服務(wù)器能夠繼續(xù)處理數(shù)據(jù),不會(huì)出現(xiàn)數(shù)據(jù)的丟失和間斷,保證運(yùn)行的穩(wěn)定性,在傳輸完數(shù)據(jù)后,備用主服務(wù)器恢復(fù)其之前的運(yùn)行身份,變?yōu)閺姆?wù)器,繼續(xù)工作。
需要說明的是,有的從服務(wù)器發(fā)送時(shí)間戳延時(shí)可能較大,或已經(jīng)失活無法及時(shí)將時(shí)間戳發(fā)送至其他從服務(wù)器,從而導(dǎo)致延誤切換服務(wù)器的時(shí)間,為此,每個(gè)從服務(wù)器在預(yù)設(shè)時(shí)間內(nèi)接收時(shí)間戳,超過預(yù)設(shè)時(shí)間后將不在等待后續(xù)從服務(wù)器發(fā)送時(shí)間戳,并不對(duì)后續(xù)接收到的時(shí)間戳進(jìn)行判斷,例如,每個(gè)從服務(wù)器在確認(rèn)原主服務(wù)器失活后開始計(jì)時(shí),預(yù)設(shè)時(shí)間為5分鐘,從服務(wù)器將對(duì)5分鐘內(nèi)接收到的時(shí)間戳與自身時(shí)間戳中記載的時(shí)間進(jìn)行對(duì)比,而超過5分鐘的時(shí)間戳將不再進(jìn)行對(duì)比,并不等待超過時(shí)間的從服務(wù)器發(fā)送時(shí)間戳,可以有效提高切換效率。
本發(fā)明實(shí)施例還相應(yīng)公開了一種多服務(wù)器切換系統(tǒng),參見圖2所示,該系統(tǒng)包括:
發(fā)送模塊11,用于當(dāng)從服務(wù)器組檢測(cè)到原主服務(wù)器失活,則從服務(wù)器組中的各從服務(wù)器相互發(fā)送時(shí)間戳;
判斷模塊12,用于每個(gè)從服務(wù)器利用接收到的時(shí)間戳判斷自身是否優(yōu)先度最高,如果是,則作為備用主服務(wù)器。
可見,本發(fā)明實(shí)施例中在原主服務(wù)器失活的情況下,各從服務(wù)器相互發(fā)送時(shí)間戳,每個(gè)從服務(wù)器利用接收到的時(shí)間戳判斷自身發(fā)送的時(shí)間戳中記載的時(shí)間判斷自身是否優(yōu)先度最高,如果是,則作為備用主服務(wù)器,從而保證了原主服務(wù)器失活后能夠順利的由從服務(wù)器代替其功能繼續(xù)運(yùn)行,為用戶提供可靠的數(shù)據(jù)服務(wù)。
具體的,上述發(fā)送模塊11,可以包括檢測(cè)單元;其中,
檢測(cè)單元,用于從服務(wù)器組在第一閾值內(nèi)未能接收到原主服務(wù)器發(fā)送的在運(yùn)信號(hào),則判定原主服務(wù)器失活。
上述判斷模塊12,可以包括計(jì)時(shí)單元;其中,
計(jì)時(shí)單元,用于每個(gè)從服務(wù)器在第二閾值內(nèi)接收時(shí)間戳。
本發(fā)明實(shí)施例中,還可以包括選擇模塊、數(shù)據(jù)發(fā)送模塊11和切換模塊;其中,
選擇模塊,用于當(dāng)多個(gè)從服務(wù)器發(fā)送的時(shí)間戳一樣,則可以利用預(yù)先設(shè)定的靜態(tài)分配順序,選擇出作為備用主服務(wù)器的從服務(wù)器。
數(shù)據(jù)發(fā)送模塊11,用于當(dāng)備用主服務(wù)器檢測(cè)到原主服務(wù)器恢復(fù)正常,則將原主服務(wù)器失活期間的數(shù)據(jù)發(fā)送給原主服務(wù)器;
切換模塊,用于備用主服務(wù)器變?yōu)閺姆?wù)器組中的一個(gè)從服務(wù)器。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上對(duì)本發(fā)明所提供的一種多服務(wù)器切換方法及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。