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

一種服務(wù)器故障檢測方法

文檔序號:7984259閱讀:129來源:國知局
一種服務(wù)器故障檢測方法
【專利摘要】本發(fā)明提供一種服務(wù)器故障檢測方法,其包括:首先建立網(wǎng)絡(luò)服務(wù)器池,網(wǎng)絡(luò)中設(shè)立至少兩臺檢測服務(wù)器,任意服務(wù)器啟動(dòng)后首先通過向其中一臺所述檢測服務(wù)器發(fā)送登記消息進(jìn)行登記,檢測服務(wù)器收到登記消息后,立刻以登記回應(yīng)消息回復(fù),并將其中的信息進(jìn)行歸類保存在服務(wù)器列表中,同時(shí)將該信息內(nèi)容通過服務(wù)器更新消息發(fā)送給其他檢測服務(wù)器;服務(wù)器在某臺池化器登記完成后,該臺池化器將負(fù)責(zé)對此服務(wù)器進(jìn)行健康狀況檢查,每隔一個(gè)固定的時(shí)間間隔向該服務(wù)器發(fā)送持續(xù)活動(dòng)消息;如果池化器發(fā)出的持續(xù)活動(dòng)消息,在設(shè)定時(shí)間內(nèi)沒有收到持續(xù)活動(dòng)確認(rèn)消息,則迅速連續(xù)發(fā)送幾個(gè)持續(xù)活動(dòng)消息,如果仍然沒有收到持續(xù)活動(dòng)確認(rèn)消息,則可以判定服務(wù)器發(fā)生故障。本發(fā)明的故障識別更精準(zhǔn),更快速。相對傳統(tǒng)的故障識別機(jī)制來說,可以提供更深度的故障檢測功能。
【專利說明】一種服務(wù)器故障檢測方法
【【技術(shù)領(lǐng)域】】
[0001]本發(fā)明是關(guān)于計(jì)算機(jī)網(wǎng)絡(luò)服務(wù)器領(lǐng)域,特別是關(guān)于網(wǎng)絡(luò)服務(wù)器的故障檢測領(lǐng)域?!尽颈尘凹夹g(shù)】】
[0002]現(xiàn)有傳統(tǒng)的服務(wù)器故障容錯(cuò)系統(tǒng)中,通常采用心跳機(jī)制實(shí)現(xiàn)服務(wù)器故障的檢測,其具體實(shí)現(xiàn)機(jī)理如下:
[0003]在被檢測服務(wù)器和檢測服務(wù)器之間連接一條專用的網(wǎng)線,即所謂的“心跳線”,此心跳線僅為故障檢測發(fā)送檢測信息之用,不作為應(yīng)用數(shù)據(jù)傳輸之用,因此在服務(wù)器上都有兩塊網(wǎng)卡,一塊用于連接心跳線, 另一塊則用于應(yīng)用數(shù)據(jù)線路。檢測服務(wù)器通過心跳線每隔一定的間隔時(shí)間向被檢測服務(wù)器發(fā)送一個(gè)ICMP消息,即Ping方式來檢查被檢測服務(wù)器的健康狀況。
[0004]如果檢測服務(wù)器每次ping后都能從被檢測服務(wù)器得到回應(yīng),則表明被檢測服務(wù)器是正常的,反之則表明被檢測服務(wù)器發(fā)生故障,從而可以決定進(jìn)一步的容錯(cuò)處理。
[0005]快速正確地檢測出被檢測服務(wù)器的故障,是整個(gè)容錯(cuò)系統(tǒng)中最重要的環(huán)節(jié),如果出現(xiàn)誤判,就會(huì)給用戶帶來重大損失。
[0006]傳統(tǒng)的故障檢測機(jī)制(心跳機(jī)制)在服務(wù)器故障識別上存在很大的局限性:
[0007](I)無法檢測出應(yīng)用數(shù)據(jù)所使用的網(wǎng)絡(luò)接口的故障,因?yàn)樾奶€采用獨(dú)立與應(yīng)用數(shù)據(jù)網(wǎng)線的專用的網(wǎng)卡和網(wǎng)線,如果數(shù)據(jù)網(wǎng)絡(luò)(網(wǎng)卡或網(wǎng)線等)發(fā)生故障,這種情況下是無法檢測出來的。
[0008](2)無法檢測出應(yīng)用服務(wù)程序本身是否發(fā)生異常,心跳機(jī)制采用發(fā)送ICMP協(xié)議消息(Ping)的方式檢測對方服務(wù)器的健康狀況,這種Ping方式實(shí)事上只能檢測出被檢測服務(wù)器的操作系統(tǒng)是否正常運(yùn)行。
[0009](3)如果心跳線本身出現(xiàn)故障,該容錯(cuò)系統(tǒng)將無法正常工作。
[0010](4)無法對可能發(fā)生硬件性能瓶頸提前判斷。
[0011]采用心跳檢測機(jī)制的容錯(cuò)系統(tǒng)中無法檢測應(yīng)用程序的故障,無法檢測應(yīng)用數(shù)據(jù)所使用的網(wǎng)絡(luò)故障,同時(shí)在心跳線自身故障時(shí),將無法正常行使故障檢測功能。因此有必要對現(xiàn)有的技術(shù)進(jìn)行改進(jìn)。

【發(fā)明內(nèi)容】

[0012]本發(fā)明的目的在于針對現(xiàn)有技術(shù)的缺陷提出一種可以全方位解決服務(wù)器故障檢測的方法,極大地提高服務(wù)器故障檢測的準(zhǔn)確率,即使在檢測系統(tǒng)自身發(fā)生故障也能正常工作和行使故障檢測的功能。
[0013]為達(dá)成前述目的,本發(fā)明一種服務(wù)器故障檢測方法,其包括:
[0014]首先建立網(wǎng)絡(luò)服務(wù)器池,其中服務(wù)器池是由一組具有相同功能,并被統(tǒng)一管理起來的服務(wù)器組成,網(wǎng)絡(luò)中設(shè)立至少兩臺檢測服務(wù)器,其中該檢測服務(wù)器負(fù)責(zé)將多臺服務(wù)器組成一個(gè)虛擬的服務(wù)器池,并對服務(wù)器的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控和采集;[0015]任意服務(wù)器啟動(dòng)后首先通過向其中一臺所述檢測服務(wù)器發(fā)送登記消息進(jìn)行登記,其中該登記消息中包含有服務(wù)自身的相關(guān)信息,包括:池名、唯一的服務(wù)識別號、服務(wù)器IP地址、服務(wù)端口、服務(wù)協(xié)議、服務(wù)檢測;
[0016]檢測服務(wù)器收到登記消息后,立刻以登記回應(yīng)消息回復(fù),并將其中的信息進(jìn)行歸類保存在服務(wù)器列表中,同時(shí)將該信息內(nèi)容通過服務(wù)器更新消息發(fā)送給其他檢測服務(wù)器;
[0017]服務(wù)器在某臺池化器登記完成后,該臺池化器將負(fù)責(zé)對此服務(wù)器進(jìn)行周期性健康狀況檢查,每隔一個(gè)固定的時(shí)間間隔向該服務(wù)器發(fā)送持續(xù)活動(dòng)消息;
[0018]服務(wù)器接到持續(xù)活動(dòng)消息后,立刻以持續(xù)活動(dòng)確認(rèn)消息回復(fù)給池化器。在持續(xù)活動(dòng)確認(rèn)消息中服務(wù)器附帶了 自身的相關(guān)狀態(tài)信息,包括=CPU使用率、網(wǎng)絡(luò)使用率、內(nèi)存使用率、硬盤使用率;檢測服務(wù)器根據(jù)所述服務(wù)器自身的相關(guān)信息判斷服務(wù)器的狀態(tài);
[0019]如果池化器發(fā)出的持續(xù)活動(dòng)消息,在設(shè)定時(shí)間內(nèi)沒有收到持續(xù)活動(dòng)確認(rèn)消息,則迅速連續(xù)發(fā)送幾個(gè)持續(xù)活動(dòng)消息,如果仍然沒有收到持續(xù)活動(dòng)確認(rèn)消息,則可以判定服務(wù)器發(fā)生故障。
[0020]根據(jù)本發(fā)明的一個(gè)實(shí)施例,前述檢測服務(wù)器根據(jù)所述服務(wù)器自身的相關(guān)信息判斷服務(wù)器的狀態(tài)包括,當(dāng)所述服務(wù)器的CPU使用率、網(wǎng)絡(luò)使用率、內(nèi)存使用率、硬盤使用率超過預(yù)定值時(shí),檢測服務(wù)器判定該服務(wù)器為故障服務(wù)器。
[0021]根據(jù)本發(fā)明的一個(gè)實(shí)施例,當(dāng)服務(wù)器啟動(dòng)后向檢測服務(wù)器發(fā)送的登記消息中服務(wù)檢測為開時(shí),檢測服務(wù)器對該服務(wù)器進(jìn)行周期性的服務(wù)可用性探測,方法是向該服務(wù)器指定的IP和端口按照其服務(wù)協(xié)議發(fā)送探測消息,然后通過服務(wù)器的回應(yīng)判斷其服務(wù)正常與否。
[0022]根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述服務(wù)器的回應(yīng)包括服務(wù)器狀態(tài)碼,檢測服務(wù)器如果收到的服務(wù)器狀態(tài)碼為正常,則表明該服務(wù)器的服務(wù)是正常的,反之可以判斷出該服務(wù)器的服務(wù)異常,即該服務(wù)器發(fā)生故障。
[0023]根據(jù)本發(fā)明的一個(gè)實(shí)施例,其還包括檢測服務(wù)器主動(dòng)探測服務(wù)器指定的IP和端口,如果此時(shí)檢測法務(wù)器無法與服務(wù)器建立TCP連接,則能夠判斷該服務(wù)器的服務(wù)出現(xiàn)故障。
[0024]根據(jù)本發(fā)明的一個(gè)實(shí)施例,其進(jìn)一步包括檢測服務(wù)器判定服務(wù)器為故障時(shí),向其他檢測服務(wù)器發(fā)送服務(wù)器更新消息要求檢測服務(wù)器將該服務(wù)器從服務(wù)器列表中刪除掉。
[0025]本發(fā)明的故障識別方法,可識別以下故障種類:宕機(jī)故障、服務(wù)器程序死鎖、服務(wù)器程序崩潰、系統(tǒng)資源耗盡、網(wǎng)絡(luò)故障(網(wǎng)卡故障、交換機(jī)故障等引起的網(wǎng)絡(luò)通信故障)。故障識別更精準(zhǔn),更快速。相對傳統(tǒng)的故障識別機(jī)制(心跳機(jī)制)來說,可以提供更深度的故障檢測功能。
【【專利附圖】

【附圖說明】】
[0026]圖1為本發(fā)明的服務(wù)器故障檢測方法的流程圖。
[0027]圖2為本發(fā)明的服務(wù)器故障檢測方法的服務(wù)器池的結(jié)構(gòu)示意圖。
[0028]圖3為本發(fā)明的登記消息格式示意圖。
[0029]圖4為本發(fā)明的登記消息格式中池名參數(shù)格式示意圖。
[0030]圖5為本發(fā)明的登記消息格式中服務(wù)器參數(shù)格式示意圖。[0031]圖6為本發(fā)明的登記回應(yīng)消息格式示意圖。
[0032]圖7為本發(fā)明的持續(xù)活動(dòng)消息格式示意圖。
[0033]圖8為本發(fā)明的持續(xù)活動(dòng)消息格式中系統(tǒng)參數(shù)的格式示意圖。
[0034]圖9為本發(fā)明的持續(xù)活動(dòng)確認(rèn)消息格式示意圖。
[0035]圖10為本發(fā)明的服務(wù)器更新消息格式示意圖。
【【具體實(shí)施方式】】
[0036]此處所稱的“一個(gè)實(shí)施例”或“實(shí)施例”是指可包含于本發(fā)明至少一個(gè)實(shí)現(xiàn)方式中的特定特征、結(jié)構(gòu)或特性。在本說明書中不同地方出現(xiàn)的“在一個(gè)實(shí)施例中”并非均指同一個(gè)實(shí)施例,也不是單獨(dú)的或選擇性的與其他實(shí)施例互相排斥的實(shí)施例。
[0037]本發(fā)明的方法與現(xiàn)有的心跳檢測機(jī)制不同,請參閱圖1所示,其顯示本發(fā)明的服務(wù)器故障檢測方法的流程示意圖。 本發(fā)明的方法包括:步驟S1:首先建立網(wǎng)絡(luò)服務(wù)器池,請參閱圖2所示,服務(wù)器池是由一組具有相同功能,并被統(tǒng)一管理起來的服務(wù)器組成,網(wǎng)絡(luò)中設(shè)立檢測服務(wù)器(或稱“池化器”,以下稱“池化器”)兩臺(或更多)。其中該池化器負(fù)責(zé)將多臺服務(wù)器組成一個(gè)虛擬的服務(wù)器池,并對服務(wù)器的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控和采集。
[0038]步驟S2:任意服務(wù)器啟動(dòng)后首先通過向池化器發(fā)送登記消息registration進(jìn)行登記,其中該登記消息中包含有服務(wù)自身的相關(guān)信息,包括:池名、唯一的服務(wù)識別號、月艮務(wù)器IP地址(可多個(gè),視服務(wù)器的網(wǎng)卡數(shù)量而定)、服務(wù)端口、服務(wù)協(xié)議(tcp、udp、ftp、http等)、服務(wù)檢測。請參閱圖3、圖4和圖5所示,其分別顯示本發(fā)明一個(gè)實(shí)施例中登記(registration)消息格式,池名參數(shù)格式、服務(wù)器參數(shù)格式。
[0039]步驟S3:池化器收到登記消息后,立刻以登記回應(yīng)消息registration_response回復(fù),并將其中的信息進(jìn)行歸類保存在服務(wù)器列表中,同時(shí)將該信息內(nèi)容通過服務(wù)器更新消息Server_Update發(fā)送給其他池化器,這樣可以保證所有池化器擁有相同的一份服務(wù)器列表。請參閱圖6所示,其顯示本發(fā)明的一個(gè)實(shí)施例中登記回應(yīng)(registration_response)消息格式。
[0040]服務(wù)器在完成首次登記后,之后仍將以固定的時(shí)間間隔向池化器重復(fù)發(fā)送此登記消息。池化器每次收到登記消息,都將更新自己保存的服務(wù)器列表(Server List),并同時(shí)通過服務(wù)器更新消息Server_Update向其他池化器發(fā)生更新信息。
[0041]步驟S4:服務(wù)器在某臺池化器登記完成后,該臺池化器將負(fù)責(zé)對此服務(wù)器進(jìn)行周期性健康狀況檢查,每隔一個(gè)固定的時(shí)間間隔向該服務(wù)器發(fā)送持續(xù)活動(dòng)消息Keep_AliVe。請參閱圖7和圖8所示,其分別顯示本發(fā)明的一個(gè)實(shí)施例中保持活動(dòng)消息的格式和保持活動(dòng)消息中系統(tǒng)參數(shù)描述的格式。
[0042]步驟S5:服務(wù)器接到持續(xù)活動(dòng)消息Keep_AliVe后,立刻以持續(xù)活動(dòng)確認(rèn)消息Keep_Alive_Ack回復(fù)給池化器。請參閱圖9所示,其顯示本發(fā)明的持續(xù)活動(dòng)確認(rèn)消息的格式。在持續(xù)活動(dòng)確認(rèn)消息Keep_Alive_Ack中服務(wù)器附帶了自身的相關(guān)狀態(tài)信息(比如:CPU使用率、網(wǎng)絡(luò)使用率、內(nèi)存使用率、硬盤使用率等)。這樣池化器可以知曉服務(wù)器的實(shí)時(shí)系統(tǒng)狀況,并可以參照作為依據(jù)判斷服務(wù)器的狀況。在一些情況下,雖然服務(wù)器運(yùn)行都正常,但由于資源近乎消耗殆盡,例如CPU使用率、網(wǎng)絡(luò)使用率、內(nèi)存使用率、硬盤使用率等超過預(yù)定值,繼續(xù)運(yùn)行可能導(dǎo)致更大的問題,這種情況,池化器可提前預(yù)知,可將該服務(wù)器設(shè)置為故障服務(wù)器。
[0043]步驟S6:如果池化器發(fā)出的持續(xù)活動(dòng)消息Keep_Alive,在設(shè)定時(shí)間(timeout)內(nèi)沒有收到持續(xù)活動(dòng)確認(rèn)消息Keep_Alive_Ack,則迅速連續(xù)發(fā)送幾個(gè)持續(xù)活動(dòng)消息Keep_Alive,如果仍然沒有收到持續(xù)活動(dòng)確認(rèn)消息Ke^)_Alive_ACk,則可以判定服務(wù)器發(fā)生故障,這種故障可能有多種可能:服務(wù)器宕機(jī)、軟件故障、網(wǎng)絡(luò)故障等,總之在這種情況下,用戶肯定是無法使用該服務(wù)器的服務(wù)。
[0044]由于服務(wù)器在登記時(shí),提供其自身服務(wù)的相關(guān)信息,比如:服務(wù)協(xié)議、IP地址、端口號、以及是否進(jìn)行服務(wù)檢測等信息,如果服務(wù)器需要進(jìn)行服務(wù)檢測(見圖5中服務(wù)器參數(shù)Server Parameter,服務(wù)檢測Oxl為開,0x0為關(guān)),池化器根據(jù)這些信息,對該服務(wù)器進(jìn)行周期性的服務(wù)可用性探測, 方法是向指定的IP和端口按照其服務(wù)協(xié)議發(fā)送探測消息,然后通過服務(wù)器的回應(yīng)判斷其服務(wù)正常與否。
[0045]這里通過一個(gè)實(shí)例說明池化器如何通過服務(wù)器參數(shù)進(jìn)行服務(wù)可用性探測:假設(shè)服務(wù)器A在登記時(shí)提供的信息為:
[0046]
【權(quán)利要求】
1.一種服務(wù)器故障檢測方法,其包括: 首先建立網(wǎng)絡(luò)服務(wù)器池,其中服務(wù)器池是由一組具有相同功能,并被統(tǒng)一管理起來的服務(wù)器組成,網(wǎng)絡(luò)中設(shè)立至少兩臺檢測服務(wù)器,其中該檢測服務(wù)器負(fù)責(zé)將多臺服務(wù)器組成一個(gè)虛擬的服務(wù)器池,并對服務(wù)器的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控和采集; 任意服務(wù)器啟動(dòng)后首先通過向其中一臺所述檢測服務(wù)器發(fā)送登記消息進(jìn)行登記,其中該登記消息中包含有服務(wù)自身的相關(guān)信息,包括:池名、唯一的服務(wù)識別號、服務(wù)器IP地址、服務(wù)端口、服務(wù)協(xié)議、服務(wù)檢測; 檢測服務(wù)器收到登記消息后,立刻以登記回應(yīng)消息回復(fù),并將其中的信息進(jìn)行歸類保存在服務(wù)器列表中,同時(shí)將該信息內(nèi)容通過服務(wù)器更新消息發(fā)送給其他檢測服務(wù)器; 服務(wù)器在某臺池化器登記完成后,該臺池化器將負(fù)責(zé)對此服務(wù)器進(jìn)行周期性健康狀況檢查,每隔一個(gè)固定的時(shí)間間隔向該服務(wù)器發(fā)送持續(xù)活動(dòng)消息; 服務(wù)器接到持續(xù)活動(dòng)消息后,立刻以持續(xù)活動(dòng)確認(rèn)消息回復(fù)給池化器。在持續(xù)活動(dòng)確認(rèn)消息中服務(wù)器附帶了自身的相關(guān)狀態(tài)信息,包括:(PU使用率、網(wǎng)絡(luò)使用率、內(nèi)存使用率、硬盤使用率;檢測服務(wù)器根據(jù)所述服務(wù)器自身的相關(guān)信息判斷服務(wù)器的狀態(tài); 如果池化器發(fā)出的持續(xù)活動(dòng)消息,在設(shè)定時(shí)間內(nèi)沒有收到持續(xù)活動(dòng)確認(rèn)消息,則迅速連續(xù)發(fā)送幾個(gè)持續(xù)活動(dòng)消息,如果仍然沒有收到持續(xù)活動(dòng)確認(rèn)消息,則可以判定服務(wù)器發(fā)生故障。
2.如權(quán)利要求1所述的服務(wù)器故障檢測方法,其特征在于:前述檢測服務(wù)器根據(jù)所述服務(wù)器自身的相關(guān)信息判斷服務(wù)器的狀態(tài)包括,當(dāng)所述服務(wù)器的CPU使用率、網(wǎng)絡(luò)使用率、內(nèi)存使用率、硬盤使用率超過預(yù)定值時(shí),檢測服務(wù)器判定該服務(wù)器為故障服務(wù)器。
3.如權(quán)利要求1所述的服務(wù)器故障檢測方法,其特征在于:當(dāng)服務(wù)器啟動(dòng)后向檢測服務(wù)器發(fā)送的登記消息中服務(wù)檢測為開時(shí),檢測服務(wù)器對該服務(wù)器進(jìn)行周期性的服務(wù)可用性探測,方法是向該服務(wù)器指定的IP和端口按照其服務(wù)協(xié)議發(fā)送探測消息,然后通過服務(wù)器的回應(yīng)判斷其服務(wù)正常與否。
4.如權(quán)利要求3所述的服務(wù)器故障檢測方法,其特征在于:所述服務(wù)器的回應(yīng)包括服務(wù)器狀態(tài)碼,檢測服務(wù)器如果收到的服務(wù)器狀態(tài)碼為正常,則表明該服務(wù)器的服務(wù)是正常的,反之可以判斷出該服務(wù)器的服務(wù)異常,即該服務(wù)器發(fā)生故障。
5.如權(quán)利要求3所述的服務(wù)器故障檢測方法,其特征在于:其還包括檢測服務(wù)器主動(dòng)探測服務(wù)器指定的IP和端口,如果此時(shí)檢測法務(wù)器無法與服務(wù)器建立TCP連接,則能夠判斷該服務(wù)器的服務(wù)出現(xiàn)故障。
6.如權(quán)利要求1-5所述的服務(wù)器故障檢測方法,其特征在于:其進(jìn)一步包括檢測服務(wù)器判定服務(wù)器為故障時(shí),向其他檢測服務(wù)器發(fā)送服務(wù)器更新消息要求檢測服務(wù)器將該服務(wù)器從服務(wù)器列表中刪除掉。
【文檔編號】H04L12/26GK103731315SQ201210393590
【公開日】2014年4月16日 申請日期:2012年10月16日 優(yōu)先權(quán)日:2012年10月16日
【發(fā)明者】張焰 申請人:無錫云捷科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
天水市| 柏乡县| 龙海市| 萨嘎县| 巴塘县| 宜章县| 新津县| 新邵县| 株洲市| 阿拉尔市| 自贡市| 溧阳市| 甘孜| 青海省| 繁峙县| 武义县| 全州县| 郓城县| 饶河县| 达尔| 红河县| 依安县| 临潭县| 长乐市| 平利县| 丰城市| 涞源县| 赣州市| 临夏县| 宣恩县| 黑山县| 青川县| 遵义县| 台北市| 弥勒县| 潢川县| 河间市| 泰兴市| 长泰县| 广西| 铁岭市|