欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種檢測服務器運行狀態(tài)的方法、裝置和系統(tǒng)與流程

文檔序號:11253803閱讀:677來源:國知局
一種檢測服務器運行狀態(tài)的方法、裝置和系統(tǒng)與流程

本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種檢測服務器運行狀態(tài)的方法、裝置和系統(tǒng)。



背景技術(shù):

遠程過程調(diào)用在現(xiàn)在的分布式應用、云計算、微服務中廣泛應用。如何保證遠程過程調(diào)用的穩(wěn)定性顯得至關(guān)重要。其中,對服務器的運行狀態(tài)進行及時檢測是保證遠程過程調(diào)用穩(wěn)定性的前提條件?,F(xiàn)有的方法中,主要可以通過心跳探查的方式對服務器運行狀態(tài)進行檢測。具體地,可以分為客戶端主動探查服務器和服務器主動向客戶端注冊兩種方式。

客戶端主動探查服務器的方式是:由客戶端周期性地向服務器發(fā)出探查請求,服務器正常工作時,將可以對接收到的探查請求進行回應;在服務器不能正常工作時,不能對接收到的探查請求進行回應。從而,客戶端可以根據(jù)服務器是否回應來判斷服務器的運行狀態(tài)。

服務器主動向客戶端注冊的方式是:服務器周期性地向客戶端發(fā)出注冊請求,客戶端根據(jù)服務器是否正常注冊和連續(xù)正常注冊的次數(shù)判斷服務器的運行狀態(tài)。

然而,上述兩種方法都是周期性地由一端向另一端發(fā)出請求,這將占用過多的網(wǎng)絡資源,影響正常的網(wǎng)絡服務,從而降低服務器的服務性能。



技術(shù)實現(xiàn)要素:

本發(fā)明實施例的目的在于提供一種檢測服務器運行狀態(tài)的方法、裝置和系統(tǒng),以降低網(wǎng)絡資源的占用,提高服務器的服務性能。具體技術(shù)方案如下:

第一方面,本發(fā)明實施例提供了一種檢測服務器運行狀態(tài)的方法,應用于客戶端,客戶端本地保存有正常服務器信息表和故障服務器信息表;該正常服務器信息表中存儲有當前處于正常狀態(tài)的各服務器的標識信息,該故障服務器信息表中存儲有當前處于異常狀態(tài)的各服務器的標識信息;所述方法包括:

當存在待發(fā)送的服務請求報文時,從本地保存的正常服務器信息表中確定目標服務器的標識信息;

根據(jù)目標服務器的標識信息,將服務請求報文發(fā)送至目標服務器;

判斷是否獲取到與服務請求報文對應的服務響應報文;如果否,將目標服務器的標識信息轉(zhuǎn)移到故障服務器信息表;

根據(jù)故障服務器信息表中包含的各服務器的標識信息,周期性地向各服務器發(fā)送探查請求報文,在成功獲取到第一服務器返回的探查響應報文時,將第一服務器的標識信息轉(zhuǎn)移到正常服務器信息表,其中,第一服務器為與故障服務器信息表中的任一服務器的標識信息對應的服務器。

可選的,從本地保存的正常服務器信息表中確定目標服務器的標識信息,包括:

根據(jù)正常服務器信息表,確定當前處于正常狀態(tài)的各服務器的待處理服務請求報文數(shù)量;

選擇待處理服務請求報文數(shù)量最小的服務器作為目標服務器,并確定目標服務器的標識信息。

第二方面,本發(fā)明實施例還提供了一種檢測服務器運行狀態(tài)的方法,應用于服務器,所述方法包括:

接收客戶端發(fā)送的報文,并確定該報文為服務請求報文或者探查請求報文;

當該報文為服務請求報文時,對該報文進行處理,當完成對該報文的處理后,向客戶端發(fā)送對應的服務響應報文;

當該報文為探查請求報文時,檢測自身是否正常運行,如果是,向客戶端返回探查響應報文。

可選的,確定報文為服務請求報文或者探查請求報文,包括:

根據(jù)報文中包括的服務名稱和服務方法名稱,確定該報文為服務請求報文或者探查請求報文。

可選的,檢測自身是否正常運行包括:

檢查自身各預定負載值是否達到對應的各預設閾值,且事件循環(huán)是否正常,其中,各預定負載值包括:cpu使用率、內(nèi)存使用率、網(wǎng)絡帶寬占用率;

在各預定負載值均未達到對應的各預設閾值且事件循環(huán)正常時,確定自身正常運行。

可選的,探查響應報文中攜帶有各預定負載值及事件循環(huán)正常標識。

第三方面,本發(fā)明實施例還提供了一種檢測服務器運行狀態(tài)的裝置,應用于客戶端,客戶端本地保存有正常服務器信息表和故障服務器信息表;該正常服務器信息表中存儲有當前處于正常狀態(tài)的各服務器的標識信息,該故障服務器信息表中存儲有當前處于異常狀態(tài)的各服務器的標識信息;所述裝置包括:

目標服務器確定模塊,用于當存在待發(fā)送的服務請求報文時,從本地保存的正常服務器信息表中確定目標服務器的標識信息;

發(fā)送模塊,用于根據(jù)目標服務器的標識信息,將服務請求報文發(fā)送至目標服務器;

判斷轉(zhuǎn)移模塊,用于判斷是否獲取到與服務請求報文對應的服務響應報文;如果否,將目標服務器的標識信息轉(zhuǎn)移到故障服務器信息表;

探查模塊,用于根據(jù)故障服務器信息表中包含的各服務器的標識信息,周期性地向各服務器發(fā)送探查請求報文,在成功獲取到第一服務器返回的探查響應報文時,將第一服務器的標識信息轉(zhuǎn)移到正常服務器信息表,其中,第一服務器為與故障服務器信息表中的任一服務器的標識信息對應的服務器。

可選的,目標服務器確定模塊包括:

確定子模塊,用于根據(jù)正常服務器信息表,確定當前處于正常狀態(tài)的各服務器的待處理服務請求報文數(shù)量;

選擇子模塊,用于選擇待處理服務請求報文數(shù)量最小的服務器作為目標服務器,并確定目標服務器的標識信息。

第四方面,本發(fā)明實施例還提供了一種檢測服務器運行狀態(tài)的裝置,應用于服務器,所述裝置包括:

接收確定模塊,用于接收客戶端發(fā)送的報文,并確定該報文為服務請求報文或者探查請求報文;

服務請求處理模塊,用于當該報文為服務請求報文時,對該報文進行處理,當完成對該報文的處理后,向客戶端發(fā)送對應的服務響應報文;

探查請求處理模塊,用于當該報文為探查請求報文時,檢測自身是否正常運行,如果是,向客戶端返回探查響應報文。

可選的,接收確定模塊,具體用于根據(jù)報文中包括的服務名稱和服務方法名稱,確定該報文為服務請求報文或者探查請求報文。

可選的,探查請求處理模塊包括:

檢測子模塊,用于檢查自身各預定負載值是否達到對應的各預設閾值,且事件循環(huán)是否正常,其中,各預定負載值包括:cpu使用率、內(nèi)存使用率、網(wǎng)絡帶寬占用率;

確定子模塊,用于在各預定負載值均未達到對應的各預設閾值且事件循環(huán)正常時,確定自身正常運行。

可選的,探查響應報文中攜帶有各預定負載值及事件循環(huán)正常標識。

第五方面,本發(fā)明實施例提供了一種檢測服務器運行狀態(tài)的系統(tǒng),該系統(tǒng)包括:客戶端和服務器;

客戶端,用于執(zhí)行第一方面提供的一種檢測服務器運行狀態(tài)的方法;

服務器,用于執(zhí)行第二方面提供的一種檢測服務器運行狀態(tài)的方法。

本發(fā)明實施例提供的一種檢測服務器運行狀態(tài)的方法、裝置和系統(tǒng),通過在客戶端保存正常服務器信息表和故障服務器信息表,在服務器處于異常狀態(tài)時,將該服務器的標識信息轉(zhuǎn)移到故障服務器信息表,并對故障服務器信息表中的服務器周期性的發(fā)送探查請求報文,在有服務器處于正常狀態(tài)時,將該服務器的標識信息轉(zhuǎn)移到正常服務器信息表,不需要客戶端對所有的服務器周期性的發(fā)送探查請求報文,從而可以降低對網(wǎng)絡資源的占用,提高服務器的服務性能;并且,通過及時將處于異常狀態(tài)的服務器的標識信息轉(zhuǎn)移到故障服務器信息表,將處于正常狀態(tài)的服務器的標識信息轉(zhuǎn)移到正常服務器信息表,能夠及時處理服務器的異常,保證服務器對后續(xù)的服務請求報文的正常處理。當然,實施本發(fā)明的任一產(chǎn)品或方法并不一定需要同時達到以上所述的所有優(yōu)點。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實施例的一種檢測服務器運行狀態(tài)的方法的第一種實施方式的流程圖;

圖2為本發(fā)明實施例的一種檢測服務器運行狀態(tài)的方法應用于遠程過程調(diào)用系統(tǒng)的示意圖;

圖3為本發(fā)明實施例的一種檢測服務器運行狀態(tài)的方法的第二種實施方式的流程圖;

圖4為本發(fā)明實施例的一種檢測服務器運行狀態(tài)的裝置的第一種結(jié)構(gòu)圖;

圖5為本發(fā)明實施例的一種檢測服務器運行狀態(tài)的裝置的第二種結(jié)構(gòu)圖;

圖6為本發(fā)明實施例的一種檢測服務器運行狀態(tài)的系統(tǒng)圖。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

為了解決現(xiàn)有技術(shù)的問題,本發(fā)明實施例提供了一種檢測服務器運行狀態(tài)的方法、裝置和系統(tǒng),以實現(xiàn)降低網(wǎng)絡資源的占用,提高服務器的服務性能。

下面,首先對本發(fā)明實施例提供的一種檢測服務器運行狀態(tài)的方法進行介紹。如圖1所示,為本發(fā)明實施例的一種檢測服務器運行狀態(tài)的方法的第一種實施方式的流程圖,應用于客戶端,客戶端本地保存有正常服務器信息表和故障服務器信息表;該正常服務器信息表中存儲有當前處于正常狀態(tài)的各服務器的標識信息,該故障服務器信息表中存儲有當前處于異常狀態(tài)的各服務器的標識信息,該方法可以包括:

s101,當存在待發(fā)送的服務請求報文時,從本地保存的正常服務器信息表中確定目標服務器的標識信息;

在本發(fā)明實施例中,客戶端可以在本地存儲正常服務器信息表和故障服務器信息表。例如,在遠程過程調(diào)用開始階段,客戶端可以通過服務注冊中心,獲取服務器集群中各服務器的標識信息,并將各服務器的標識信息保存在正常服務器信息表中。

具體地,服務注冊中心可以首先獲取服務器集群中各服務器的標識信息并注冊到服務注冊中心本地,客戶端再從服務注冊中心獲取各服務器的標識信息。其中,服務注冊中心可以為zookeeper服務注冊中心或eureka服務注冊中心。

通過從服務注冊中心獲取各服務器的標識信息,使得客戶端獲取到的服務器的標識信息都是正常服務器的標識信息,對應的服務器都是能夠處理服務請求的。

在客戶端存在待處理的服務時,首先,生成與該服務對應的服務請求報文,即待發(fā)送的服務請求報文,為了使該待處理的服務能夠得到正確的處理,必須將該服務請求報文發(fā)送至對應的目標服務器,因此,在發(fā)送該服務器請求報文前,需要確定目標服務器的標識信息。

在確定目標服務器的標識信息時,是根據(jù)服務請求報文,選擇與服務請求報文對應的服務器為目標服務器,從而確定目標服務器的標識信息。

具體地,在與該服務請求報文對應的目標服務器為多個時,客戶端可以通過選擇各負載值最小的且時間循環(huán)正常的服務器為目標服務器,還可以選擇待處理服務請求報文數(shù)量最小的服務器為目標服務器,這都是可以的。

通過上述步驟,使得客戶端在存在待發(fā)送的服務請求報文時,得到的服務器的標識信息都是能夠?qū)υ摲照埱髨笪倪M行處理的服務器的標識信息。

s102,根據(jù)目標服務器的標識信息,將服務請求報文發(fā)送至目標服務器;

具體地,在通過步驟s101得到目標服務器的標識信息后,客戶端可以將該目標服務器的標識信息添加到服務請求報文中。即可以將該服務請求報文的目的地址設定為該目標服務器的地址,因此能夠?qū)⒃摲照埱髨笪陌l(fā)送到目標服務器。

s103,判斷是否獲取到與服務請求報文對應的服務響應報文;如果否,將目標服務器的標識信息轉(zhuǎn)移到故障服務器信息表;

在該步驟中,當目標服務器存在異常時,不能正確處理客戶端發(fā)送的服務請求,也就不能向客戶端發(fā)送服務響應報文,因此可以通過能否獲取到與服務請求報文對應的服務響應報文判斷目標服務器是否正常。其中,目標服務器的異常情況可以包括:各預定負載值大于對應的負載閾值、事件循環(huán)異常,還可以包括目標服務器存在機械故障等,這里對目標服務器的異常類型不作限定。

具體地,將目標服務器的標識信息轉(zhuǎn)移到故障服務器信息表,可以包括:

從正常服務器信息表中刪除該目標服務器的標識信息,并且將該目標服務器的標識信息添加到故障服務器信息表。

通過本步驟,及時將處于異常狀態(tài)的服務器的標識信息轉(zhuǎn)移到故障服務器信息表,能夠防止后續(xù)服務請求報文獲取該目標服務器的標識信息,向該目標服務器發(fā)送后續(xù)服務請求,防止服務請求報文丟失。

s104,根據(jù)故障服務器信息表中包含的各服務器的標識信息,周期性地向各服務器發(fā)送探查請求報文,在成功獲取到第一服務器返回的探查響應報文時,將第一服務器的標識信息轉(zhuǎn)移到正常服務器信息表,其中,第一服務器為與故障服務器信息表中的任一服務器的標識信息對應的服務器。

在故障服務器信息表中存在故障服務器的標識信息時,可以通過本步驟檢測故障服務器信息表中是否有轉(zhuǎn)換為正常狀態(tài)的服務器。在該故障服務器信息表中存在處于正常狀態(tài)的服務器時,及時將該正常狀態(tài)的服務器的標識信息轉(zhuǎn)移到正常服務器信息表中,使該正常狀態(tài)的服務器及時對對應的服務請求進行處理。

需要說明的是,向各服務器發(fā)送探查請求報文的周期是在實際使用中進行設置的,可以根據(jù)經(jīng)驗進行設置,這里不對周期的長短進行限定。

本發(fā)明實施例提供的一種檢測服務器運行狀態(tài)的方法,通過在客戶端保存正常服務器信息表和故障服務器信息表,在服務器處于異常狀態(tài)時,將該服務器的標識信息轉(zhuǎn)移到故障服務器信息表,并對故障服務器信息表中的服務器周期性的發(fā)送探查請求報文,在有服務器處于正常狀態(tài)時,將該服務器的標識信息轉(zhuǎn)移到正常服務器信息表,不需要客戶端對所有的服務器周期性的發(fā)送探查請求報文,從而可以降低對網(wǎng)絡資源的占用,提高服務器的服務性能;并且,通過及時將處于異常狀態(tài)的服務器的標識信息轉(zhuǎn)移到故障服務器信息表,將處于正常狀態(tài)的服務器的標識信息轉(zhuǎn)移到正常服務器信息表,能夠及時處理服務器的異常,保證服務器對后續(xù)的服務請求正常處理。

為了更清楚的說明本發(fā)明實施例提供的一種檢測服務器運行狀態(tài)的方法,下面,以本發(fā)明實施例的一種檢測服務器運行狀態(tài)的方法應用于遠程過程調(diào)用系統(tǒng)為例進行介紹。如圖2所示,為本發(fā)明實施例的一種檢測服務器運行狀態(tài)的方法應用于遠程過程調(diào)用系統(tǒng)的示意圖,該系統(tǒng)可以包括:客戶端201、服務注冊中心202、第一服務器2031、第二服務器2032、第三服務器2033、第四服務器2034、第五服務器2035。

在t0時刻,服務注冊中心202通過服務觀察與發(fā)現(xiàn)進程獲取上述5個服務器提供的服務,并將該5個服務器的標識信息注冊到服務注冊中心202??蛻舳?01在服務注冊中心202中獲取該5個服務器的標識信息并存儲在正常服務器信息表中。

在t1時刻,客戶端201存在五個待發(fā)送的服務請求報文:第一服務請求報文、第二服務請求報文、第三服務請求報文、第四服務請求報文、第五服務請求報文,分別對應第一服務器2031、第二服務器2032、第三服務器2033、第四服務器2034、第五服務器2035。

客戶端201從正常服務器信息表中獲取五個服務器的標識信息,將第一服務請求報文發(fā)送至第一服務器2031、第二服務請求報文發(fā)送至第二服務器2032、第三服務請求報文發(fā)送至第三服務器2033、第四服務請求報文發(fā)送至第四服務器2034、第五服務請求報文發(fā)送至第五服務器2035。其中,標識信息可以包括服務器的ip地址、端口等。

在客戶端201不能獲取第三服務器2033發(fā)送的與第三服務請求報文對應的第三服務響應報文、第四服務器2034發(fā)送的與第四服務請求報文對應的第四服務響應報文、第五服務器2035發(fā)送的與第五服務請求報文對應的第五服務響應報文時,則認為第三服務器2033、第四服務器2034、第五服務器2035存在異常。因此,客戶端201可以將第三服務器2033的標識信息、第四服務器2034的標識信息和第五服務器2035的標識信息轉(zhuǎn)移到故障服務器信息表,防止后續(xù)有服務請求報文繼續(xù)發(fā)送至第三服務器2033、第四服務器2034的標識信息和第五服務器2035。

在t2時刻,客戶端201根據(jù)故障服務器信息表中第三服務器2033的標識信息、第四服務器2034的標識信息和第五服務器2035的標識信息,周期性的發(fā)送探查請求報文給第三服務器2033、第四服務器2034和第五服務器2035,探查是否有服務器能夠正常工作。例如,客戶端201發(fā)送探查請求報文給上述三個服務器后,第三服務器對客戶端201發(fā)送的探查請求報文進行處理,并反饋了與該探查請求報文對應的探查響應報文。那么,客戶端201認為第三服務器2033能夠正常工作,則將第三服務器2033的標識信息轉(zhuǎn)移到正常服務器信息表,防止客戶端201繼續(xù)發(fā)送探查請求報文給該第三服務器2033,同時,讓該第三服務器2033及時接收其他服務請求報文,參與到對服務請求報文的處理中。

具體地,從本地保存的正常服務器信息表中確定目標服務器的標識信息,包括:

步驟1,根據(jù)正常服務器信息表,確定當前處于正常狀態(tài)的各服務器的待處理服務請求報文數(shù)量;

具體地,客戶端根據(jù)正常服務器信息表,發(fā)送查詢請求至與該正常服務器信息表對應的各服務器,各服務器根據(jù)該查詢請求計算自身待處理服務請求報文的數(shù)量,并反饋給該客戶端??蛻舳烁鶕?jù)各服務器反饋的自身待處理服務請求報文的數(shù)量確定當前處于正常狀態(tài)的各服務器的待處理服務請求報文數(shù)量。

步驟2,選擇待處理服務請求報文數(shù)量最小的服務器作為目標服務器,并確定目標服務器的標識信息。

假設,在t3時刻,客戶端201存在一個待發(fā)送的服務請求報文,處于正常狀態(tài)的服務器有第一服務器2031、第二服務器2032、第三服務器2033,并且該三個服務器都可以對該服務請求報文進行處理。則客戶端201分別發(fā)送查詢請求至該三個服務器,查詢各服務器的待處理服務請求報文數(shù)量。第一服務器2031反饋的待處理服務請求報文為25個,第二服務器2032反饋的待處理服務請求報文為22個,第三服務器2033反饋的待處理服務請求報文為31個,則客戶端201可以選擇第二服務器2032為目標服務器,然后在正常服務器信息表中獲取第二服務器2032的標識信息。

通過本步驟,選擇待處理服務請求報文數(shù)量最小的服務器作為目標服務器,使得待發(fā)送的服務請求報文的等待時間最短,提高客戶端的用戶體驗。

相應于上述的應用于客戶端的一種檢測服務器運行狀態(tài)的方法,本發(fā)明實施例還提供了一種檢測服務器運行狀態(tài)的方法,應用于服務器。

首先,為了滿足對客戶端發(fā)送的不同類型的報文的處理,在每個服務器中都有兩類進程,分別為對服務請求報文進行處理的服務請求處理進程和對探查請求報文進行處理的探查請求處理進程。

如圖3所示,為本發(fā)明實施例的一種檢測服務器運行狀態(tài)的方法的第二種實施方式的流程圖,所述方法可以包括:

s301,接收客戶端發(fā)送的報文,并確定該報文為服務請求報文或者探查請求報文;

需要說明的是,對于服務器自身來說,并不知道自身的標識信息在客戶端的哪個信息表中。并且,服務器可能接收到多種類型的報文。因此,需要在接收到客戶端發(fā)送的報文時,首先對報文進行判斷,確定報文的類型,并根據(jù)報文類型調(diào)用相應的處理進程。

需要說明的是,本發(fā)明實施例的報文是在遠程過程調(diào)用時生成的報文,遵循rpc(remoteprocedurecallprotocol,遠程過程調(diào)用協(xié)議),并且不同類型的報文具有不同的服務名稱和服務方法名稱,因此,在本發(fā)明實施例中,服務器確定報文為服務請求報文或者探查請求報文時,可以根據(jù)報文中包括的服務名稱和服務方法名稱,確定該報文為服務請求報文或者探查請求報文。

s302,當該報文為服務請求報文時,對該報文進行處理,當完成對該報文的處理后,向客戶端發(fā)送對應的服務響應報文;

在本步驟中,服務器接收到服務請求報文,然后通過相應的進程進行處理。這里的處理可以包括增加、刪除、修改、或者計算,這里不對處理的種類進行限定。并且對服務請求報文進行處理可以通過軟件與硬件的進行處理。

s303,當該報文為探查請求報文時,檢測自身是否正常運行,如果是,向該客戶端返回探查響應報文。其中,探查響應報文中攜帶有各預定負載值及事件循環(huán)正常標識。

具體地,檢測自身是否正常運行可以包括:檢查自身各預定負載值是否達到對應的各預設閾值,且事件循環(huán)是否正常,其中,各預定負載值包括:cpu使用率、內(nèi)存使用率、網(wǎng)絡帶寬占用率;在各預定負載值均未達到對應的各預設閾值且事件循環(huán)正常時,確定自身正常運行。

通過本發(fā)明實施例提供的一種檢測服務器運行狀態(tài)的方法,服務器能夠返回與客戶端發(fā)送的報文對應的響應報文,使得客戶端能夠及時對服務器的標識信息進行相應的轉(zhuǎn)移。即將正常服務器信息表中處于異常狀態(tài)的服務器的標識信息轉(zhuǎn)移到故障服務器信息表,或者,將故障服務器信息表中處于正常狀態(tài)的服務器的標識信息轉(zhuǎn)移到正常服務器信息表。

相應于上述方法實施例,本發(fā)明實施例提供了一種檢測服務器運行狀態(tài)的裝置,如圖4所示,為本發(fā)明實施例的一種檢測服務器運行狀態(tài)的裝置的第一種結(jié)構(gòu)圖,應用于客戶端,該客戶端本地保存有正常服務器信息表和故障服務器信息表;該正常服務器信息表中存儲有當前處于正常狀態(tài)的各服務器的標識信息,該故障服務器信息表中存儲有當前處于異常狀態(tài)的各服務器的標識信息;該裝置可以包括:

目標服務器確定模塊401,用于當存在待發(fā)送的服務請求報文時,從本地保存的正常服務器信息表中確定目標服務器的標識信息;

發(fā)送模塊402,用于根據(jù)目標服務器的標識信息,將服務請求報文發(fā)送至目標服務器;

判斷轉(zhuǎn)移模塊403,用于判斷是否獲取到與服務請求報文對應的服務響應報文;如果否,將目標服務器的標識信息轉(zhuǎn)移到故障服務器信息表;

探查模塊404,用于根據(jù)故障服務器信息表中包含的各服務器的標識信息,周期性地向各服務器發(fā)送探查請求報文,在成功獲取到第一服務器返回的探查響應報文時,將第一服務器的標識信息轉(zhuǎn)移到正常服務器信息表,其中,第一服務器為與故障服務器信息表中的任一服務器的標識信息對應的服務器。

本發(fā)明實施例提供的一種檢測服務器運行狀態(tài)的裝置,通過在客戶端保存正常服務器信息表和故障服務器信息表,在服務器處于異常狀態(tài)時,將該服務器的標識信息轉(zhuǎn)移到故障服務器信息表,并對故障服務器信息表中的服務器周期性的發(fā)送探查請求報文,在有服務器處于正常狀態(tài)時,將該服務器的標識信息轉(zhuǎn)移到正常服務器信息表,不需要客戶端對所有的服務器周期性的發(fā)送探查請求報文,從而可以降低對網(wǎng)絡資源的占用,提高服務器的服務性能;并且,通過及時將處于異常狀態(tài)的服務器的標識信息轉(zhuǎn)移到故障服務器信息表,將處于正常狀態(tài)的服務器的標識信息轉(zhuǎn)移到正常服務器信息表,能夠及時處理服務器的異常,保證服務器對后續(xù)的服務請求報文的正常處理。

具體地,目標服務器確定模塊401包括:

確定子模塊,用于根據(jù)正常服務器信息表,確定當前處于正常狀態(tài)的各服務器的待處理服務請求報文數(shù)量;

選擇子模塊,用于選擇待處理服務請求報文數(shù)量最小的服務器作為目標服務器,并確定目標服務器的標識信息。

相應于上述方法實施例,本發(fā)明實施例提供了一種檢測服務器運行狀態(tài)的裝置,如圖5所示,為本發(fā)明實施例的一種檢測服務器運行狀態(tài)的裝置的第二種結(jié)構(gòu)圖,應用于服務器,該裝置可以包括:

接收確定模塊501,用于接收客戶端發(fā)送的報文,并確定該報文為服務請求報文或者探查請求報文;

服務請求處理模塊502,用于當該報文為服務請求報文時,對該報文進行處理,當完成對該報文的處理后,向客戶端發(fā)送對應的服務響應報文;

探查請求處理模塊503,用于當該報文為探查請求報文時,檢測自身是否正常運行,如果是,向客戶端返回探查響應報文。

通過本發(fā)明實施例提供的一種檢測服務器運行狀態(tài)的裝置,服務器能夠返回與客戶端發(fā)送的報文對應的響應報文,使得客戶端能夠及時對服務器的標識信息進行相應的轉(zhuǎn)移。即將正常服務器信息表中處于異常狀態(tài)的服務器的標識信息轉(zhuǎn)移到故障服務器信息表,或者,將故障服務器信息表中處于正常狀態(tài)的服務器的標識信息轉(zhuǎn)移到正常服務器信息表。

具體地,接收確定模塊501,具體用于根據(jù)報文中包括的服務名稱和服務方法名稱,確定該報文為服務請求報文或者探查請求報文。

具體地,探查請求處理模塊503包括:

檢測子模塊,用于檢查自身各預定負載值是否達到對應的各預設閾值,且事件循環(huán)是否正常,其中,各預定負載值包括:cpu使用率、內(nèi)存使用率、網(wǎng)絡帶寬占用率;

確定子模塊,用于在各預定負載值均未達到對應的各預設閾值且事件循環(huán)正常時,確定自身正常運行。

具體地,探查響應報文中攜帶有各預定負載值及事件循環(huán)正常標識。

如圖6所示,為本發(fā)明實施例的一種檢測服務器運行狀態(tài)的系統(tǒng)圖,該系統(tǒng)包括:

客戶端601,用于執(zhí)行如圖1所示的檢測服務器運行狀態(tài)的方法,

服務器602,用于執(zhí)行如圖4所示的檢測服務器運行狀態(tài)的方法。

本發(fā)明實施例提供的一種檢測服務器運行狀態(tài)的系統(tǒng),通過在客戶端保存正常服務器信息表和故障服務器信息表,在服務器處于異常狀態(tài)時,將該服務器的標識信息轉(zhuǎn)移到故障服務器信息表,并對故障服務器信息表中的服務器周期性的發(fā)送探查請求報文,在有服務器處于正常狀態(tài)時,將該服務器的標識信息轉(zhuǎn)移到正常服務器信息表,不需要客戶端對所有的服務器周期性的發(fā)送探查請求報文,從而可以降低對網(wǎng)絡資源的占用,提高服務器的服務性能;并且,通過及時將處于異常狀態(tài)的服務器的標識信息轉(zhuǎn)移到故障服務器信息表,將處于正常狀態(tài)的服務器的標識信息轉(zhuǎn)移到正常服務器信息表,能夠及時處理服務器的異常,保證服務器對后續(xù)的服務請求報文的正常處理。

通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺服務端設備(可以是計算機、服務器或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。

需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。

本說明書中的各個實施例均采用相關(guān)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置/系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。

以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
郁南县| 云梦县| 苍南县| 墨玉县| 湟中县| 内黄县| 霍城县| 枣庄市| 元朗区| 淮南市| 沾化县| 定南县| 舟山市| 翁牛特旗| 高密市| 信宜市| 南岸区| 台州市| 淳化县| 阳西县| 曲沃县| 丁青县| 铅山县| 昌黎县| 天津市| 彰化县| 铁力市| 漯河市| 奉新县| 灵山县| 三河市| 连州市| 寿阳县| 绥德县| 陆河县| 绥阳县| 西安市| 巩留县| 合水县| 敖汉旗| 义乌市|