本發(fā)明涉及一種為分布式應(yīng)用提供一致性服務(wù)的軟件,具體涉及保障動物園管理員(英文名稱:zookeeper)系統(tǒng)快速完成領(lǐng)導者(英文名稱:leader)選舉的方法。
背景技術(shù):
::動物園管理員系統(tǒng)是針對大型分布式系統(tǒng)的可靠的協(xié)調(diào)系統(tǒng),作為一個分布式的服務(wù)框架,主要用來解決分布式集群中應(yīng)用系統(tǒng)的一致性問題。動物園管理員系統(tǒng)提供的功能包括:配置維護、名字服務(wù)、分布式同步、組服務(wù)等。動物園管理員系統(tǒng)分為2個部分:服務(wù)器端(英文名稱:server)和客戶端(英文名稱:client),客戶端連接到整個動物園管理員系統(tǒng)的某個服務(wù)器上??蛻舳耸褂貌⒕S護一個傳輸控制協(xié)議連接,通過這個連接發(fā)送請求、接收響應(yīng)、獲取觀察的事件以及發(fā)送心跳。為了在分布式的環(huán)境中保證數(shù)據(jù)的一致性,動物園管理員系統(tǒng)需要在所有的服務(wù)器中選舉出一個領(lǐng)導者,然后讓這個領(lǐng)導者來負責管理集群,此時,集群中的其它服務(wù)器則成為此領(lǐng)導者的追隨者(英文名稱:follower)。并且,當領(lǐng)導者故障等原因退出服務(wù)的時候,需要動物園管理員系統(tǒng)能夠快速地在追隨者中再選舉出下一個領(lǐng)導者。動物園管理員系統(tǒng)選舉領(lǐng)導者期間,動物園管理員系統(tǒng)服務(wù)器就進入到領(lǐng)導者選舉狀態(tài),這一期間也可以被稱為恢復模式或恢復狀態(tài)。當新的領(lǐng)導者被選舉出來后,領(lǐng)導者選舉狀態(tài)或恢復模式結(jié)束,系統(tǒng)進入到對外提供服務(wù)的正常的工作狀態(tài)。現(xiàn)有動物園管理員系統(tǒng)服務(wù)器端進行領(lǐng)導者選舉期間不能對外提供服務(wù),對于規(guī)模龐大的動物園管理員集群系統(tǒng)來說,此時數(shù)千臺動物園管理員系統(tǒng)客戶端并發(fā)訪問并進行重試,動物園管理員系統(tǒng)服務(wù)器接收到請求之后會查詢自身數(shù)據(jù)并記錄日志,由于系統(tǒng)處于領(lǐng)導者選舉階段,無法給用戶返回正確數(shù)據(jù),接收到大量的客戶端請求并進行處理反而增加了動物園管理員系統(tǒng)服務(wù)器端壓力,導致正常動物園管理員系統(tǒng)領(lǐng)導者選舉受到干擾,拖延減慢領(lǐng)導者選舉的程序,嚴重的甚至導致領(lǐng)導者選舉無法完成以致失敗,進而動物園管理員系統(tǒng)無法提供相應(yīng)的服務(wù)。技術(shù)實現(xiàn)要素:本發(fā)明提供一種保障動物園管理員系統(tǒng)快速完成領(lǐng)導者選舉的方法,以解決現(xiàn)有的動物園管理員系統(tǒng)客戶端的服務(wù)請求干擾動物園管理員系統(tǒng)服務(wù)器領(lǐng)導者選舉程序的問題,本發(fā)明提供的保障動物園管理員系統(tǒng)快速完成領(lǐng)導者選舉的方法特征在于包括以下步驟:判斷動物園管理員系統(tǒng)服務(wù)器是否進入領(lǐng)導者選舉狀態(tài),若是,則進入下一步驟;將動物園管理員系統(tǒng)服務(wù)器配置為拒絕動物園管理員系統(tǒng)客戶端請求的狀態(tài);判斷動物園管理員系統(tǒng)服務(wù)器是否進入對外提供服務(wù)的狀態(tài),若是,則進入下一步驟;將動物園管理員系統(tǒng)服務(wù)器配置為重新接收客戶端請求的狀態(tài)。優(yōu)選地,所述將動物園管理員系統(tǒng)服務(wù)器配置為拒絕動物園管理員系統(tǒng)客戶端請求的狀態(tài)的方法為:配置動物園管理員系統(tǒng)服務(wù)器的過濾或破壞表輸入鏈路的數(shù)據(jù)包處理動作為丟棄;所述將動物園管理員系統(tǒng)服務(wù)器配置為重新接收客戶端請求的狀態(tài)的方法為:清除所述動物園管理員系統(tǒng)服務(wù)器的過濾或破壞表輸入鏈路的數(shù)據(jù)包處理動作為丟棄的配置。優(yōu)選地,所述配置動物園管理員系統(tǒng)服務(wù)器的過濾或破壞表輸入鏈路的數(shù)據(jù)包處理動作為丟棄的方法為:配置動物園管理員系統(tǒng)服務(wù)器的過濾或破壞表輸入鏈路傳輸控制協(xié)議消息特定目的端口的數(shù)據(jù)包處理動作為丟棄;所述清除動物園管理員系統(tǒng)服務(wù)器的過濾或破壞表輸入鏈路數(shù)據(jù)包處理動作為丟棄的配置的方法為:清除所述動物園管理員系統(tǒng)服務(wù)器的過濾或破壞表輸入鏈路傳輸控制協(xié)議消息特定目的端口的數(shù)據(jù)包處理動作為丟棄的配置;其中,傳輸控制協(xié)議消息特定目的端口為動物園管理員系統(tǒng)服務(wù)器接受客戶端請求的傳輸控制協(xié)議消息的端口。優(yōu)選地,所述配置動物園管理員系統(tǒng)服務(wù)器的過濾或破壞表輸入鏈路傳輸控制協(xié)議消息特定目的端口的數(shù)據(jù)包處理動作為丟棄的方法為:增加動物園管理員系統(tǒng)服務(wù)器的過濾或破壞表輸入鏈路傳輸控制協(xié)議消息特定目的端口的數(shù)據(jù)包處理動作丟棄;所述清除動物園管理員系統(tǒng)服務(wù)器的過濾或破壞表輸入鏈路傳輸控制協(xié)議消息特定目的端口的數(shù)據(jù)包處理動作為丟棄的配置的方法為:刪除所述動物園管理員系統(tǒng)服務(wù)器的過濾或破壞表輸入鏈路傳輸控制協(xié)議消息特定目的端口的數(shù)據(jù)包處理動作丟棄的配置。優(yōu)選地,所述增加動物園管理員系統(tǒng)服務(wù)器的過濾或破壞表輸入鏈路傳輸控制協(xié)議消息特定目的端口的數(shù)據(jù)包處理動作丟棄的方法為:采用國際互聯(lián)網(wǎng)協(xié)議表軟件工具增加動物園管理員系統(tǒng)服務(wù)器的過濾或破壞表輸入鏈路傳輸控制協(xié)議消息特定目的端口的數(shù)據(jù)包處理動作丟棄;所述刪除動物園管理員系統(tǒng)服務(wù)器的過濾或破壞表輸入鏈路傳輸控制協(xié)議消息特定目的端口的數(shù)據(jù)包處理動作丟棄的配置的方法為:采用國際互聯(lián)網(wǎng)協(xié)議表軟件工具刪除所述動物園管理員系統(tǒng)服務(wù)器的過濾或破壞表輸入鏈路傳輸控制協(xié)議消息特定目的端口的數(shù)據(jù)包處理動作丟棄的配置。優(yōu)選地,所述動物園管理員系統(tǒng)服務(wù)器接受客戶端請求的傳輸控制協(xié)議消息的端口為2181。優(yōu)選地,所述將配置動物園管理員系統(tǒng)服務(wù)器配置為拒絕動物園管理員系統(tǒng)客戶端請求的狀態(tài)的方法為:配置動物園管理員系統(tǒng)服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換或破壞表路由前鏈路的數(shù)據(jù)包處理動作為丟棄;所述將動物園管理員系統(tǒng)服務(wù)器配置為重新接受客戶端請求的狀態(tài)的方法為:清除所述動物園管理員系統(tǒng)服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換或破壞表路由前鏈路的數(shù)據(jù)包處理動作為丟棄的配置。優(yōu)選地,所述配置動物園管理員系統(tǒng)服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換或破壞表路由前鏈路的數(shù)據(jù)包處理動作為丟棄的方法為:配置動物園管理員系統(tǒng)服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換或破壞表路由前鏈路傳輸控制協(xié)議消息特定目的端口的數(shù)據(jù)包處理動作為丟棄;所述清除動物園管理員系統(tǒng)服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換或破壞表路由前鏈路的數(shù)據(jù)包處理動作為丟棄的配置的方法為:清除所述動物園管理員系統(tǒng)服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換或破壞表路由前鏈路傳輸控制協(xié)議消息特定目的端口的數(shù)據(jù)包處理動作為丟棄的配置;傳輸控制協(xié)議消息特定目的端口為動物園管理員系統(tǒng)服務(wù)器接受客戶端請求的傳輸控制協(xié)議消息的端口。優(yōu)選地,所述配置動物園管理員系統(tǒng)服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換或破壞表路由前鏈路傳輸控制協(xié)議消息特定目的端口的數(shù)據(jù)包處理動作為丟棄的方法為:增加動物園管理員系統(tǒng)服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換或破壞表路由前鏈路傳輸控制協(xié)議消息特定目的端口的數(shù)據(jù)包處理動作丟棄;所述清除動物園管理員系統(tǒng)服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換或破壞表路由前鏈路傳輸控制協(xié)議消息特定目的端口的數(shù)據(jù)包處理動作為丟棄的配置的方法為:刪除所述動物園管理員系統(tǒng)服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換或破壞表路由前鏈路傳輸控制協(xié)議消息特定目的端口的數(shù)據(jù)包處理動作丟棄的配置。優(yōu)選地,所述增加動物園管理員系統(tǒng)服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換或破壞表路由前鏈路傳輸控制協(xié)議消息特定目的端口的數(shù)據(jù)包處理動作為丟棄的方法為:采用國際互聯(lián)網(wǎng)協(xié)議表軟件工具增加動物園管理員系統(tǒng)服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換或破壞表路由前鏈路傳輸控制協(xié)議消息特定目的端口的數(shù)據(jù)包處理動作丟棄;所述刪除動物園管理員系統(tǒng)服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換或破壞表路由前鏈路傳輸控制協(xié)議消息特定目的端口的數(shù)據(jù)包處理動作為丟棄的配置的方法為:采用國際互聯(lián)網(wǎng)協(xié)議表軟件工具刪除所述動物園管理員系統(tǒng)服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換或破壞表路由前鏈路傳輸控制協(xié)議消息特定目的端口的數(shù)據(jù)包處理動作丟棄的配置。優(yōu)選地,所述動物園管理員系統(tǒng)服務(wù)器接受客戶端請求的傳輸控制協(xié)議消息的端口為2181。優(yōu)選地,所述判斷動物園管理員系統(tǒng)服務(wù)器是否進入領(lǐng)導者選舉狀態(tài)的方法為:啟動監(jiān)控程序,檢查動物園管理員輸出日志文件,若當前正在輸出打印包含有表示“領(lǐng)導者選舉”的信息,則動物園管理員系統(tǒng)服務(wù)器進入到領(lǐng)導者選舉狀態(tài)。優(yōu)選地,所述判斷動物園管理員系統(tǒng)服務(wù)器是否進入領(lǐng)導者選舉狀態(tài)的方法為:啟動監(jiān)控程序,使用狀態(tài)命令查看動物園管理員系統(tǒng)服務(wù)器的狀態(tài),若服務(wù)器響應(yīng)的信息中包含有表示“與服務(wù)聯(lián)系時出錯,服務(wù)可能未運行”的信息,并且動物園管理員系統(tǒng)服務(wù)器接收客戶端請求的端口仍然存活則動物園管理員系統(tǒng)服務(wù)器進入到領(lǐng)導者選舉狀態(tài)。優(yōu)選地,所述判斷動物園管理員系統(tǒng)服務(wù)器是否進入領(lǐng)導者選舉狀態(tài)的方法為:啟動監(jiān)控程序,使用四字命令"ruok"查看動物園管理員系統(tǒng)服務(wù)器,若服務(wù)器響應(yīng)的信息不含有關(guān)鍵字"imok"則動物園管理員系統(tǒng)服務(wù)器進入到領(lǐng)導者選舉狀態(tài)。優(yōu)選地,所述判斷動物園管理員系統(tǒng)服務(wù)器是否進入對外提供服務(wù)的狀態(tài)的方法為:使用四字命令"ruok"查看動物園管理員系統(tǒng)服務(wù)器,若服務(wù)器響應(yīng)信息包含關(guān)鍵字"imok",則動物園管理員系統(tǒng)服務(wù)器進入到對外提供服務(wù)的狀態(tài)。優(yōu)選地,所述判斷動物園管理員系統(tǒng)服務(wù)器是否進入對外提供服務(wù)的狀態(tài)的方法為:使用狀態(tài)命令查看動物園管理員系統(tǒng)服務(wù)器的狀態(tài),若服務(wù)器響應(yīng)的模式信息為關(guān)鍵字“追隨者”或“領(lǐng)導者”,則動物園管理員系統(tǒng)服務(wù)器進入到對外提供服務(wù)的狀態(tài);本辦發(fā)明還提供一種保障動物園管理員系統(tǒng)快速完成領(lǐng)導者選舉的裝置,包括:領(lǐng)導者選舉狀態(tài)判斷單元,用于判斷動物園管理員系統(tǒng)服務(wù)器是否進入領(lǐng)導者選舉狀態(tài);拒絕客戶端請求配置單元,用于將動物園管理員系統(tǒng)服務(wù)器配置為拒絕動物園管理員系統(tǒng)客戶端請求的狀態(tài);對外提供服務(wù)狀態(tài)判斷單元,用于判斷動物園管理員系統(tǒng)服務(wù)器是否進入對外提供服務(wù)的狀態(tài);接收客戶端請求配置單元,用于將動物園管理員系統(tǒng)服務(wù)器配置為重新接收客戶端請求的狀態(tài)。本發(fā)明還提供一種保障動物園管理員系統(tǒng)快速完成領(lǐng)導者選舉的系統(tǒng),包括:中央處理器,存儲器,輸入和輸出設(shè)備,其特征在于,所述存儲器中存有一軟件程序,啟動此軟件程序,能夠按照所述的保障動物園管理員系統(tǒng)快速完成領(lǐng)導者選舉的方法運行。與現(xiàn)有技術(shù)相比,本申請具有以下優(yōu)點:在動物園管理員系統(tǒng)服務(wù)器領(lǐng)導者選舉期間,配置動物園管理員系統(tǒng)服務(wù)器不再接收處理客戶端發(fā)來的服務(wù)請求,當領(lǐng)導者選舉程序結(jié)束后,新的領(lǐng)導者產(chǎn)生并且動物園管理員系統(tǒng)服務(wù)器進入到對外提供服務(wù)的正常狀態(tài)中,這時清除此前配置的拒絕接受客戶端發(fā)來的服務(wù)請求的配置,動物園管理員系統(tǒng)服務(wù)器重新接收并處理相應(yīng)的服務(wù)請求。這樣可以保證動物園管理員系統(tǒng)服務(wù)器在進行領(lǐng)導者選舉程序期間不會受到動物園管理員系統(tǒng)客戶端的服務(wù)請求的干擾,動物園管理員系統(tǒng)服務(wù)器的領(lǐng)導者選舉程序的進行不會拖延減慢,更不會失敗,起到保障動物園管理員系統(tǒng)服務(wù)器的領(lǐng)導者選舉程序快速順利的完成的效果。進而能夠盡早盡快為客戶端的請求提供服務(wù),最大限度地降低動物園管理員系統(tǒng)服務(wù)器在領(lǐng)導者選舉程序執(zhí)行期間對網(wǎng)絡(luò)服務(wù)的影響,達到縮短動物園管理員系統(tǒng)服務(wù)不可用時間,提高動物園管理員系統(tǒng)服務(wù)可靠性的效果。附圖說明圖1是本發(fā)明第一實施例的流程示意圖;圖2是本發(fā)明第二實施例的結(jié)構(gòu)框圖。具體實施方式在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明。但是本發(fā)明能夠以很多不同于在此描述的其它方式來實施,本領(lǐng)域技術(shù)人員可以在不違背本發(fā)明內(nèi)涵的情況下做類似推廣,因此本發(fā)明不受下面公開的具體實施的限制。本發(fā)明第一實施例提供一種保障動物園管理員系統(tǒng)服務(wù)器快速完成領(lǐng)導者選舉的方法,如圖1所示。在該實施例中根據(jù)動物園管理員系統(tǒng)服務(wù)器系統(tǒng)記錄log文件或?qū)σ恍┟畹捻憫?yīng)信息來判斷動物園管理員系統(tǒng)服務(wù)器是否進入到領(lǐng)導者選舉狀態(tài)或?qū)ν馓峁┓?wù)的狀態(tài);當判斷動物園管理員系統(tǒng)服務(wù)器進入到領(lǐng)導者選舉的狀態(tài)或?qū)ν馓峁┓?wù)的狀態(tài)后,采用國際互聯(lián)網(wǎng)協(xié)議表(英文名稱:iptables)軟件工具對動物園管理員系統(tǒng)服務(wù)器的數(shù)據(jù)包處理表,包括過濾(filter)表,網(wǎng)絡(luò)地址轉(zhuǎn)換(nat)表,破壞(mangle)表及輸入(INPUT)鏈路,路由前(PREROUTING)鏈路進行配置,以拒絕或接受客戶端的請求。其中動物園管理員系統(tǒng)服務(wù)器接收客戶端請求傳輸控制協(xié)議(英文名稱:TCP)消息的端口為2181。具體步驟如下:步驟101:判斷動物園管理員系統(tǒng)服務(wù)器是否進入領(lǐng)導者選舉狀態(tài),若是,則進入下一步驟。所述判斷動物園管理員系統(tǒng)服務(wù)器是否進入領(lǐng)導者選舉狀態(tài)可以采用多種方法,本實施例提供如下所述的三種方法:方法一,讀取動物園管理員系統(tǒng)服務(wù)器的動物園管理員輸出日志文件(即文件zookeeper.out),檢查當前是否正在反復打印輸出包含有表示“領(lǐng)導者選舉”的信息,即包含有關(guān)鍵字“FastleaderElection”的信息,例如動物園管理員系統(tǒng)服務(wù)器的zookeeper.out日志文件中正在打印輸出如下信息:“......FastleaderElection@542]-Notification:2(n.leader)......”則認為動物園管理員系統(tǒng)服務(wù)器進入領(lǐng)導者選舉狀態(tài);否則認為動物園管理員系統(tǒng)服務(wù)器沒有進入到領(lǐng)導者選舉狀態(tài)。方法二,可以使用狀態(tài)命令(即:“status”命令)和“netstat”命令查看動物園管理員系統(tǒng)服務(wù)器的響應(yīng)信息來判斷動物園管理員系統(tǒng)服務(wù)器是否進入到領(lǐng)導者選舉狀態(tài)。首先使用狀態(tài)命令查看動物園管理員系統(tǒng)服務(wù)器,例如“#shzkServer.shstatus”,若動物園管理員系統(tǒng)服務(wù)器響應(yīng)的信息包含有表示“與服務(wù)聯(lián)系時出錯,服務(wù)可能未運行”的信息,即包含有關(guān)鍵字“Errorcontactingservice.Itisprobablynotrunning”的信息,例如動物園管理員系統(tǒng)服務(wù)器響應(yīng)的信息為“JMXenabledbydefaultUsingconfig:/home/admin/zookeeper-3.4.3/bin/../conf/zoo.cfgErrorcontactingservice.Itisprobablynotrunning.”此響應(yīng)表明動物園管理員服務(wù)故障,再使用帶參數(shù)的“netstat”命令,例如“#netstat-nltp|grep2181”查看動物園管理員系統(tǒng)服務(wù)器,此命令指定動物園管理員系統(tǒng)服務(wù)器響應(yīng)輸出使用傳輸控制協(xié)議端口2181狀態(tài)為“LISTEN”的程序情況,其中的國際互聯(lián)網(wǎng)協(xié)議地址以數(shù)字形式體現(xiàn)。若動物園管理員系統(tǒng)服務(wù)器對命令的進行了響應(yīng),有反饋輸出,例如動物園管理員系統(tǒng)服務(wù)器響應(yīng)的信息為“TCP000.0.0.0:21810.0.0.0:*LISTEN26436/java”,此響應(yīng)表明動物園管理員系統(tǒng)服務(wù)器接受客戶端請求的傳輸控制協(xié)議端口狀態(tài)為“LISTEN”,是活躍的,再結(jié)合前面動物園管理員服務(wù)故障的信息,可以判斷認為動物園管理員系統(tǒng)服務(wù)器進入到領(lǐng)導者選舉狀態(tài)。若動物園管理員系統(tǒng)服務(wù)器對命令“狀態(tài)”的響應(yīng)不包含關(guān)鍵字“Errorcontactingservice.Itisprobablynotrunning”或動物園管理員系統(tǒng)服務(wù)器對命令“netstat-nltp|grep2181”無響應(yīng),則認為動物園管理員系統(tǒng)服務(wù)器沒有進入到領(lǐng)導者選舉狀態(tài)。方法三,可以使用四字命令"ruok"查看動物園管理員系統(tǒng)服務(wù)器,例如“#echo"ruok"|nc127.0.0.12181,若動物園管理員系統(tǒng)服務(wù)器響應(yīng)的信息不包含關(guān)鍵字“imok”,則認為動物園管理員系統(tǒng)服務(wù)器進入到領(lǐng)導者選舉狀態(tài)。若動物園管理員系統(tǒng)服務(wù)器響應(yīng)的信息包含關(guān)鍵字“imok”,則認為動物園管理員系統(tǒng)服務(wù)器沒有進入到領(lǐng)導者選舉狀態(tài)。對于動物園管理員系統(tǒng)服務(wù)器已經(jīng)進入到領(lǐng)導者選舉狀態(tài)的情況,繼續(xù)執(zhí)行步驟102。對于zookeepe系統(tǒng)服務(wù)器沒有進入到領(lǐng)導者選舉狀態(tài)的情況,繼續(xù)采用本步驟內(nèi)方法一,方法二或方法三查看動物園管理員系統(tǒng)服務(wù)器。步驟102:將動物園管理員系統(tǒng)服務(wù)器配置為拒絕動物園管理員系統(tǒng)客戶端請求的狀態(tài)。所述將動物園管理員系統(tǒng)服務(wù)器配置為拒絕動物園管理員系統(tǒng)客戶端請求的狀態(tài)可以采用多種方式實現(xiàn),本實施例中提供如下所述的四種方法:方法一,采用國際互聯(lián)網(wǎng)協(xié)議表軟件工具增加一條動物園管理員系統(tǒng)服務(wù)器過濾表輸入鏈路傳輸控制協(xié)議消息2181目的端口數(shù)據(jù)包處理動作為丟棄(英文名稱:DROP)的配置以拒絕客戶端的服務(wù)請求,命令如下:iptables-AINPUT-pTCP--dport2181-jDROP。方法二,采用國際互聯(lián)網(wǎng)協(xié)議表軟件工具增加一條動物園管理員系統(tǒng)服務(wù)器破壞表輸入鏈路傳輸控制協(xié)議消息2181目的端口數(shù)據(jù)包處理動作為丟棄的配置以拒絕客戶端的服務(wù)請求,命令如下:iptables–tmangle-AINPUT-pTCP--dport2181-jDROP。方案三,采用國際互聯(lián)網(wǎng)協(xié)議表軟件工具增加一條動物園管理員系統(tǒng)服務(wù)器破壞表路由前鏈路傳輸控制協(xié)議消息2181目的端口數(shù)據(jù)包處理動作為丟棄的配置以拒絕客戶端的服務(wù)請求,命令如下:iptables–tmangle-APREROUTING-pTCP--dport2181-jDROP。方案四,采用國際互聯(lián)網(wǎng)協(xié)議表軟件工具增加一條動物園管理員系統(tǒng)服務(wù)器網(wǎng)絡(luò)地址轉(zhuǎn)換表路由前鏈路傳輸控制協(xié)議消息2181目的端口數(shù)據(jù)包處理動作為丟棄的配置以拒絕客戶端的服務(wù)請求,命令如下:iptables–tnat-APREROUTING-pTCP--dport2181-jDROP。步驟103:判斷動物園管理員系統(tǒng)服務(wù)器是否進入對外提供服務(wù)的狀態(tài),若是,則進入下一步驟。所述判斷動物園管理員系統(tǒng)服務(wù)器是否進入對外提供服務(wù)的狀態(tài)可以采用多種方式實現(xiàn),本實施例提供如下所述的兩種方法:方法一,使用四字命令"ruok"查看動物園管理員系統(tǒng)服務(wù)器,例如“#echo"ruok"|nc127.0.0.12181”,若動物園管理員系統(tǒng)服務(wù)器響應(yīng)的信息包含關(guān)鍵字“imok”,則認為動物園管理員系統(tǒng)服務(wù)器進入對外提供服務(wù)的狀態(tài)。若動物園管理員系統(tǒng)服務(wù)器響應(yīng)的信息不包含關(guān)鍵字“imok”,則認為動物園管理員系統(tǒng)服務(wù)器沒有進入對外提供服務(wù)的狀態(tài)。方法二,可以使用“狀態(tài)”命令查看動物園管理員系統(tǒng)服務(wù)器,例如“#shzkServer.sh狀態(tài)”,若服務(wù)器響應(yīng)的信息中模式(英文名稱:Mode)參數(shù)為“領(lǐng)導者”(英文名稱:“l(fā)eader”)或“追隨者”(英文名稱:“follower”),例如動物園管理員系統(tǒng)服務(wù)器響應(yīng)的信息為:JMXenabledbydefaultUsingconfig:/home/admin/zookeeper-3.4.3/bin/../conf/zoo.cfgMode:follower或JMXenabledbydefaultUsingconfig:/home/admin/zookeeper-3.4.3/bin/../conf/zoo.cfgMode:leader則認為動物園管理員系統(tǒng)服務(wù)器已經(jīng)進入對外提供服務(wù)的狀態(tài)。若動物園管理員系統(tǒng)服務(wù)器響應(yīng)的信息中沒有模式為“領(lǐng)導者”或“追隨者”的信息,則認為動物園管理員系統(tǒng)服務(wù)器沒有進入對外提供服務(wù)的狀態(tài)。對于動物園管理員系統(tǒng)服務(wù)器進入對外提供服務(wù)的狀態(tài)的情況,繼續(xù)執(zhí)行步驟104。對于動物園管理員系統(tǒng)服務(wù)器沒有進入對外提供服務(wù)的狀態(tài)的情況,繼續(xù)使用本步驟中方法一或方法二查看動物園管理員系統(tǒng)服務(wù)器。步驟104:將動物園管理員系統(tǒng)服務(wù)器配置為重新接收客戶端請求的狀態(tài)。本步驟需要根據(jù)步驟102中對動物園管理員系統(tǒng)服務(wù)器進行配置的具體方法不同,采用不同的方法,即不同的命令參數(shù)組合清除步驟102中對動物園管理員系統(tǒng)服務(wù)器所實施的拒絕客戶端服務(wù)請求的配置,以使動物園管理員系統(tǒng)服務(wù)器重新接收處理客戶端的服務(wù)請求。方法一,對于在步驟102中方法一采用國際互聯(lián)網(wǎng)協(xié)議表軟件工具增加一條動物園管理員系統(tǒng)服務(wù)器過濾表輸入鏈路傳輸控制協(xié)議消息2181目的端口數(shù)據(jù)包處理動作為丟棄的配置以拒絕客戶端的服務(wù)請求的情況,即在步驟102中使用命令參數(shù)組合“iptables-AINPUT-pTCP--dport2181-jDROP”的情況,采用國際互聯(lián)網(wǎng)協(xié)議表軟件工具刪除所述動物園管理員系統(tǒng)服務(wù)器過濾表輸入鏈路傳輸控制協(xié)議消息2181目的端口數(shù)據(jù)包處理動作為丟棄的配置以使動物園管理員系統(tǒng)服務(wù)器重新接收處理客戶端的服務(wù)請求,具體命令參數(shù)組合為:iptables-DINPUT-pTCP--dport2181-jDROP。方法二,對于在步驟102中方法二采用國際互聯(lián)網(wǎng)協(xié)議表軟件工具增加一條動物園管理員系統(tǒng)服務(wù)器破壞表輸入鏈路傳輸控制協(xié)議消息2181目的端口數(shù)據(jù)包處理動作為丟棄的配置以拒絕客戶端的服務(wù)請求的情況,即在步驟102中采用命令參數(shù)組合“iptables–tmangle-AINPUT-pTCP--dport2181-jDROP”的情況。采用國際互聯(lián)網(wǎng)協(xié)議表軟件工具刪除所述動物園管理員系統(tǒng)服務(wù)器破壞表輸入鏈路傳輸控制協(xié)議消息2181目的端口數(shù)據(jù)包處理動作為丟棄的配置以使動物園管理員系統(tǒng)服務(wù)器重新接收處理客戶端的服務(wù)請求。具體命令參數(shù)組合為:iptables–tmangle-DINPUT-pTCP--dport2181-jDROP。方法三,對于在步驟102中方法三采用國際互聯(lián)網(wǎng)協(xié)議表軟件工具增加一條動物園管理員系統(tǒng)服務(wù)器破壞表路由前鏈路傳輸控制協(xié)議消息2181目的端口數(shù)據(jù)包處理動作為丟棄的配置以拒絕客戶端的服務(wù)請求的情況,即在步驟102中采用命令參數(shù)組合“iptables–tmangle-APREROUTING-pTCP--dport2181-jDROP”的情況,采用國際互聯(lián)網(wǎng)協(xié)議表軟件工具刪除所述動物園管理員系統(tǒng)服務(wù)器破壞表路由前鏈路傳輸控制協(xié)議消息2181目的端口數(shù)據(jù)包處理動作為丟棄的配置以使動物園管理員系統(tǒng)服務(wù)器器重新接收處理客戶端的服務(wù)請求。具體命令參數(shù)組合為:iptables–tmangle-DPREROUTING-pTCP--dport2181-jDROP。方法四,對于在步驟102中方法四采用國際互聯(lián)網(wǎng)協(xié)議表軟件工具增加一條動物園管理員系統(tǒng)服務(wù)器網(wǎng)絡(luò)地址轉(zhuǎn)換表路由前鏈路傳輸控制協(xié)議消息2181目的端口數(shù)據(jù)包處理動作為丟棄的配置以拒絕客戶端的服務(wù)請求的情況,即在步驟102中采用命令參數(shù)組合“iptables–tnat-APREROUTING-pTCP--dport2181-jDROP”的情況,采用國際互聯(lián)網(wǎng)協(xié)議表軟件工具刪除所述動物園管理員系統(tǒng)服務(wù)器網(wǎng)絡(luò)地址轉(zhuǎn)換表路由前鏈路傳輸控制協(xié)議消息2181目的端口數(shù)據(jù)包處理動作為丟棄的配置以使動物園管理員系統(tǒng)服務(wù)器器重新接收處理客戶端的服務(wù)請求。具體命令參數(shù)組合為:iptables–tnat-DPREROUTING-pTCP--dport2181-jDROP。在該實施例提供的技術(shù)方案中,當動物園管理員系統(tǒng)服務(wù)器進入領(lǐng)導者選舉狀態(tài)時,在動物園管理員系統(tǒng)服務(wù)器的數(shù)據(jù)包表和鏈路上針對動物園管理員系統(tǒng)客戶端請求數(shù)據(jù)包設(shè)置丟棄的動作配置,使得動物園管理員系統(tǒng)服務(wù)器不再接收客戶端的服務(wù)請求,當領(lǐng)導者選舉結(jié)束,動物園管理員系統(tǒng)服務(wù)器重新對外提供服務(wù)后,清除動物園管理員系統(tǒng)服務(wù)器此前實施的配置,使得動物園管理員系統(tǒng)服務(wù)器重新接收客戶端的服務(wù)請求。這樣當動物園管理員系統(tǒng)服務(wù)器進入到領(lǐng)導者選舉狀態(tài)時,不再接收客戶端的請求進行記錄、查詢、響應(yīng)等工作,可以使動物園管理員系統(tǒng)服務(wù)器專注于領(lǐng)導者選舉程序的執(zhí)行,即客戶端發(fā)來的請求不會拖延干擾服務(wù)器領(lǐng)導者選舉程序的執(zhí)行,達到保障動物園管理員系統(tǒng)服務(wù)器領(lǐng)導者選舉程序快速順利執(zhí)行完成的效果。本發(fā)明第二實施例提供一種保障動物園管理員系統(tǒng)快速完成領(lǐng)導者選舉的裝置,結(jié)構(gòu)框圖如圖2所示,該裝置能夠完成上述第一實施例所述的保障動物園管理員系統(tǒng)快速完成領(lǐng)導者選舉的方法。該裝置包括領(lǐng)導者選舉狀態(tài)判斷單元U201、拒絕客戶端請求配置單元U202、對外提供服務(wù)狀態(tài)判斷單元U203、接收客戶端請求配置單元U204。所述領(lǐng)導者選舉狀態(tài)判斷單元U201用于判斷動物園管理員系統(tǒng)服務(wù)器是否進入領(lǐng)導者選舉狀態(tài)。該單元按照第一實施例中步驟101所述的方法判斷動物園管理員系統(tǒng)服務(wù)器是否進入領(lǐng)導者選舉狀態(tài),當判斷動物園管理員系統(tǒng)服務(wù)器沒有進入領(lǐng)導者選舉狀態(tài)時,該單元反復按照第一實施例中步驟101所述的方法判斷動物園管理員系統(tǒng)服務(wù)器是否進入領(lǐng)導者選舉狀態(tài);當判斷動物園管理員系統(tǒng)服務(wù)器進入領(lǐng)導者選舉狀態(tài)后,該單元向拒絕客戶端請求配置單元U202發(fā)送啟動信號,指示拒絕客戶端請求配置單元U202執(zhí)行操作。所述拒絕客戶端請求配置單元U202用于將動物園管理員系統(tǒng)服務(wù)器配置為拒絕動物園管理員系統(tǒng)客戶端請求的狀態(tài)。該單元接收到領(lǐng)導者選舉狀態(tài)判斷單元U201發(fā)送的啟動信號后,按照第一實施例中步驟102所述的方法將動物園管理員系統(tǒng)服務(wù)器配置為拒絕動物園管理員系統(tǒng)客戶端請求的狀態(tài),而后向?qū)ν馓峁┓?wù)狀態(tài)判斷單元U203發(fā)送啟動信號,指示對外提供服務(wù)狀態(tài)判斷單元U203執(zhí)行操作。所述對外提供服務(wù)狀態(tài)判斷單元U203用于判斷動物園管理員系統(tǒng)服務(wù)器是否進入對外提供服務(wù)的狀態(tài)。該單元接收到拒絕客戶端請求配置單元U202發(fā)送的啟動信號后,按照第一實施例中步驟103所述的方法判斷動物園管理員系統(tǒng)服務(wù)器是否進入對外提供服務(wù)的狀態(tài),當判斷動物園管理員系統(tǒng)服務(wù)器沒有進入對外提供服務(wù)的狀態(tài)時,該單元反復按照第一實施例中步驟103所述的方法判斷動物園管理員系統(tǒng)服務(wù)器是否進入對外提供服務(wù)的狀態(tài),當判斷動物園管理員系統(tǒng)服務(wù)器進入對外提供服務(wù)的狀態(tài)后,該單元向接收客戶端請求配置單元U204發(fā)送啟動信號,指示接收客戶端請求配置單元U204執(zhí)行操作。所述接收客戶端請求配置單元U204用于將動物園管理員系統(tǒng)服務(wù)器配置為重新接收客戶端請求的狀態(tài)。該單元接收到對外提供服務(wù)狀態(tài)判斷單元U203發(fā)送的啟動信號后,按照第一實施例中步驟104所述的方法將動物園管理員系統(tǒng)服務(wù)器配置為重新接收客戶端請求的狀態(tài)。該實施例提供的裝置能夠判斷出動物園管理員系統(tǒng)服務(wù)器進入領(lǐng)導者選舉狀態(tài)的情況,并將動物園管理員服務(wù)器配置為拒絕客戶端請求的狀態(tài);該裝置還能夠判斷出動物園管理員系統(tǒng)服務(wù)器完成領(lǐng)導者選舉重新進入對外提供服務(wù)的狀態(tài)的情況,并將動物園管理員服務(wù)器配置為重新接收客戶端請求的狀態(tài)。達到保障動物園管理員系統(tǒng)服務(wù)器快速領(lǐng)導者選舉、盡快提供服務(wù)的效果。本發(fā)明第三實施例提供一種保障動物園管理員系統(tǒng)快速完成領(lǐng)導者選舉的系統(tǒng),包括中央處理器,存儲器,輸入和輸出設(shè)備。所述存儲器中存儲有軟件程序,啟動該軟件程序,可以按照本發(fā)明第一實施例中所述的方法執(zhí)行。本發(fā)明雖然以較佳實施例公開如上,但其并不是用來限定本發(fā)明,任何本領(lǐng)域技術(shù)人員在不脫離本發(fā)明的精神和范圍內(nèi),都可以做出可能的變動和修改,因此本發(fā)明的保護范圍應(yīng)當以本發(fā)明權(quán)利要求所界定的范圍為準。當前第1頁1 2 3 當前第1頁1 2 3