專利名稱:檢測(cè)服務(wù)器應(yīng)用健康狀態(tài)的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到通信領(lǐng)域,特別涉及到一種檢測(cè)服務(wù)器應(yīng)用健康狀態(tài)的方法和裝置。
背景技術(shù):
目前通常利用負(fù)載均衡設(shè)備檢測(cè)服務(wù)器應(yīng)用健康狀態(tài),主要有如下幾種方法一是用PING命令檢測(cè)服務(wù)器的通訊是否正常,如果PING命令失敗,說(shuō)明服務(wù)器不可用,則所有運(yùn)行在該服務(wù)器上的應(yīng)用也不可用,但是PING命令成功卻并不能保證服務(wù)器上應(yīng)用是正常的;另一種方法是針對(duì)服務(wù)器上使用TCP協(xié)議的應(yīng)用,向服務(wù)器上開(kāi)放的TCP服務(wù)端口建立連接,與PING命令一樣,這種方法也不能完全反映服務(wù)器上應(yīng)用的健康狀態(tài)。為了解決上述兩種方法不能完全真實(shí)反映服務(wù)器健康狀態(tài)的問(wèn)題,可向服務(wù)器應(yīng)用發(fā)起一個(gè)業(yè)務(wù)請(qǐng)求并根據(jù)服務(wù)器的應(yīng)答判斷應(yīng)用狀態(tài)。以WEB應(yīng)用為例,如圖1所示負(fù)載均衡設(shè)備等檢測(cè)設(shè)備通過(guò)三次握手與待測(cè)的服務(wù)器建立TCP連接后,發(fā)送一個(gè)HTTP GET請(qǐng)求獲取一 gif圖片,如果服務(wù)器返回2000K,則認(rèn)為服務(wù)器上TOB應(yīng)用是正常的,否則就認(rèn)為服務(wù)器應(yīng)用失敗。該檢測(cè)方法一般是獲取服務(wù)器一個(gè)靜態(tài)的內(nèi)容(比如一個(gè)文本文件)以判斷應(yīng)用的好壞,實(shí)際上,對(duì)于一個(gè)復(fù)雜的業(yè)務(wù),需要檢測(cè)設(shè)備與服務(wù)器多次交互才能完成,下面描述一個(gè)典型的B/S應(yīng)用的數(shù)據(jù)錄入過(guò)程如圖2所示,共需要6個(gè)步驟1、檢測(cè)設(shè)備與服務(wù)器建立TCP連接。2、瀏覽器獲取登錄界面。由于登錄界面一般由多個(gè)元素組成,需要瀏覽器與服務(wù)器多次交互才能完成3、使用帳號(hào)、密碼登錄。4、瀏覽器向服務(wù)器提交業(yè)務(wù)數(shù)據(jù)。5、服務(wù)器執(zhí)行業(yè)務(wù)處理。6、服務(wù)器向?yàn)g覽器返回處理結(jié)果。步驟4 步驟6是服務(wù)器應(yīng)用最容易出故障的地方,在服務(wù)器應(yīng)用出故障后,客戶端依然可以成功執(zhí)行步驟1 步驟3。此刻通過(guò)判斷獲取服務(wù)器上靜態(tài)頁(yè)面的方法不能準(zhǔn)確的判斷服務(wù)器應(yīng)用狀態(tài)的好壞。而檢測(cè)設(shè)備又不能直接模擬步驟4的操作以監(jiān)控應(yīng)用, 因?yàn)樾枰脩粝葓?zhí)行登錄,并且需要準(zhǔn)備很多配置數(shù)據(jù)。為了解決上述客戶端與待測(cè)服務(wù)器之間多次數(shù)據(jù)交互才能判斷應(yīng)用好壞的問(wèn)題, 負(fù)載均衡設(shè)備等檢測(cè)設(shè)備上一般提供腳本語(yǔ)言的運(yùn)行環(huán)境,允許客戶編寫(xiě)腳本程序來(lái)實(shí)現(xiàn)復(fù)雜的服務(wù)器應(yīng)用檢測(cè),常用的腳本編程語(yǔ)言有perl、python等,由于客戶的應(yīng)用系統(tǒng)差別很大,檢測(cè)設(shè)備廠商要將將所有的應(yīng)用檢測(cè)腳本內(nèi)置到檢測(cè)設(shè)備里,大大增加了檢測(cè)設(shè)備的負(fù)擔(dān)。且腳本編寫(xiě)人員也必須具備相當(dāng)專業(yè)的知識(shí),對(duì)檢測(cè)人員的要求高
發(fā)明內(nèi)容
本發(fā)明的主要目的為提供一種檢測(cè)服務(wù)器應(yīng)用健康狀態(tài)的方法和裝置,降低了檢測(cè)設(shè)備的負(fù)擔(dān)。
本發(fā)明提出一種檢測(cè)服務(wù)器應(yīng)用健康狀態(tài)的方法,包括
獲取客戶端與服務(wù)器之間交互的數(shù)據(jù)流;
根據(jù)需要檢測(cè)的服務(wù)器應(yīng)用的請(qǐng)求關(guān)鍵特征和應(yīng)答關(guān)鍵特征,對(duì)所述數(shù)據(jù)流進(jìn)行匹配;
匹配成功時(shí),判定所述服務(wù)器應(yīng)用健康,否則判定所述服務(wù)器應(yīng)用故障。
優(yōu)選地,所述根據(jù)需要檢測(cè)的服務(wù)器應(yīng)用的請(qǐng)求關(guān)鍵特征和應(yīng)答關(guān)鍵特征,對(duì)所述數(shù)據(jù)流進(jìn)行匹配包括
根據(jù)所述請(qǐng)求關(guān)鍵特征,對(duì)客戶端發(fā)送的請(qǐng)求數(shù)據(jù)流執(zhí)行請(qǐng)求特征匹配;
匹配成功時(shí),根據(jù)所述應(yīng)答關(guān)鍵特征,對(duì)服務(wù)器的應(yīng)答數(shù)據(jù)流執(zhí)行應(yīng)答特征匹配。
優(yōu)選地,在執(zhí)行所述匹配成功時(shí),判定所述服務(wù)器應(yīng)用健康,否則判定所述服務(wù)器應(yīng)用故障之后,包括
當(dāng)判定所述服務(wù)器故障時(shí),將所述客戶端發(fā)送的所述服務(wù)器應(yīng)用的請(qǐng)求發(fā)送至其它健康服務(wù)器。
優(yōu)選地,在執(zhí)行所述獲取客戶端與服務(wù)器之間交互的數(shù)據(jù)流之前,還包括
當(dāng)交互協(xié)議已知時(shí),指定所述請(qǐng)求關(guān)鍵特征;
當(dāng)交互協(xié)議未知時(shí),指定所述請(qǐng)求關(guān)鍵特征和應(yīng)答關(guān)鍵特征。
優(yōu)選地,在執(zhí)行當(dāng)交互協(xié)議已知時(shí),指定請(qǐng)求關(guān)鍵特征之后,還包括
根據(jù)所述請(qǐng)求關(guān)鍵特征,在已知的交互協(xié)議查找對(duì)應(yīng)的應(yīng)答關(guān)鍵特征。
本發(fā)明還提出一種檢測(cè)服務(wù)器應(yīng)用健康狀態(tài)的裝置,包括
獲取模塊,用于獲取客戶端與服務(wù)器之間交互的數(shù)據(jù)流;
匹配模塊,用于根據(jù)需要檢測(cè)的服務(wù)器應(yīng)用的請(qǐng)求關(guān)鍵特征和應(yīng)答關(guān)鍵特征,對(duì)所述數(shù)據(jù)流進(jìn)行匹配;
判定模塊,用于匹配成功時(shí),判定所述服務(wù)器應(yīng)用健康,否則判定所述服務(wù)器應(yīng)用故障。
優(yōu)選地,所述匹配模塊包括
請(qǐng)求特征匹配單元,用于根據(jù)所述請(qǐng)求關(guān)鍵特征,對(duì)客戶端發(fā)送的請(qǐng)求數(shù)據(jù)流執(zhí)行請(qǐng)求特征匹配;
應(yīng)答特征匹配單元,用于匹配成功時(shí),根據(jù)所述應(yīng)答關(guān)鍵特征,對(duì)服務(wù)器的應(yīng)答數(shù)據(jù)流執(zhí)行應(yīng)答特征匹配。
優(yōu)選地,所述裝置還包括
故障處理模塊,用于當(dāng)判定所述服務(wù)器故障時(shí),將所述客戶端發(fā)送的所述服務(wù)器應(yīng)用的請(qǐng)求發(fā)送至其它健康服務(wù)器。
優(yōu)選地,所述裝置還包括
設(shè)置模塊,用于當(dāng)交互協(xié)議已知時(shí),指定所述請(qǐng)求關(guān)鍵特征;以及當(dāng)交互協(xié)議未知時(shí),指定所述請(qǐng)求關(guān)鍵特征和應(yīng)答關(guān)鍵特征。
優(yōu)選地,所述設(shè)置模塊還用于
根據(jù)所述請(qǐng)求關(guān)鍵特征,在已知的交互協(xié)議查找對(duì)應(yīng)的應(yīng)答關(guān)鍵特征。
本發(fā)明提出的一種檢測(cè)服務(wù)器應(yīng)用健康狀態(tài)的方法和裝置,針對(duì)現(xiàn)有的服務(wù)器應(yīng)用健康狀態(tài)檢測(cè)方法都是由檢測(cè)設(shè)備主動(dòng)發(fā)起請(qǐng)求,然后檢測(cè)設(shè)備檢測(cè)請(qǐng)求的應(yīng)答來(lái)判定服務(wù)器的健康狀態(tài),對(duì)于復(fù)雜的應(yīng)用的健康檢查,必須由用戶在檢測(cè)設(shè)備上上編程實(shí)現(xiàn)。而在本發(fā)明中,不需要檢測(cè)設(shè)備主動(dòng)發(fā)送業(yè)務(wù)請(qǐng)求,檢測(cè)設(shè)備只是依據(jù)檢測(cè)配置,以及客戶端與服務(wù)器之間的數(shù)據(jù)流,被動(dòng)分析服務(wù)器對(duì)實(shí)際應(yīng)用請(qǐng)求的應(yīng)答情況來(lái)判定服務(wù)器上應(yīng)用的健康狀態(tài),大大簡(jiǎn)化了檢測(cè)設(shè)備的負(fù)擔(dān)。同時(shí)也無(wú)需檢測(cè)設(shè)備的管理員具備相當(dāng)專業(yè)的編程知識(shí)。
圖1為現(xiàn)有技術(shù)檢測(cè)服務(wù)器應(yīng)用健康狀態(tài)的數(shù)據(jù)交互示意圖2為本發(fā)明檢測(cè)服務(wù)器應(yīng)用健康狀態(tài)的方法一實(shí)施例的流程示意圖3為本發(fā)明檢測(cè)服務(wù)器應(yīng)用健康狀態(tài)的方法一實(shí)施例之實(shí)例的流程示意圖4為本發(fā)明檢測(cè)服務(wù)器應(yīng)用健康狀態(tài)的裝置一實(shí)施例的結(jié)構(gòu)示意圖5為本發(fā)明檢測(cè)服務(wù)器應(yīng)用健康狀態(tài)的裝置一實(shí)施例中匹配模塊的結(jié)構(gòu)示意圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。
具體實(shí)施方式
應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
參照?qǐng)D2,提出本發(fā)明檢測(cè)服務(wù)器應(yīng)用健康狀態(tài)的方法一實(shí)施例,包括
步驟S101、配置請(qǐng)求關(guān)鍵特征和應(yīng)答關(guān)鍵特征;
本實(shí)施例的應(yīng)用環(huán)境包括一或多個(gè)服務(wù)器,如各自運(yùn)行一或多個(gè)應(yīng)用程序的 WEB服務(wù)器;一或多個(gè)客戶端,向所述一或多個(gè)服務(wù)器提出應(yīng)用請(qǐng)求;以及一可獲取上述服務(wù)器和客戶端往來(lái)數(shù)據(jù)流的檢測(cè)設(shè)備,如隨時(shí)監(jiān)測(cè)服務(wù)器負(fù)載均衡的負(fù)載均衡器。當(dāng)客戶端通過(guò)網(wǎng)絡(luò)發(fā)送應(yīng)用請(qǐng)求時(shí),應(yīng)用請(qǐng)求可由負(fù)載均衡器接收并根據(jù)負(fù)載平穩(wěn)技術(shù)路由至服務(wù)器,本實(shí)施例即以負(fù)載均衡設(shè)備為例進(jìn)行說(shuō)明,但在實(shí)際應(yīng)用中,不僅限于負(fù)載均衡器, 凡有監(jiān)測(cè)數(shù)據(jù)流功能的檢測(cè)設(shè)置均可適用于本實(shí)用例。
負(fù)載均衡器首先在本端指定需要檢測(cè)的請(qǐng)求關(guān)鍵特征以及服務(wù)器成功應(yīng)答時(shí)的應(yīng)答關(guān)鍵特征,因此對(duì)于已知交互協(xié)議的服務(wù)器應(yīng)用,例如HTTP協(xié)議的應(yīng)用,負(fù)載均衡器能從客戶端和服務(wù)器的數(shù)據(jù)流中解析出完整的HTTP請(qǐng)求和應(yīng)答,對(duì)于指定的應(yīng)用請(qǐng)求關(guān)鍵特征,負(fù)載均衡器能夠根據(jù)HTTP協(xié)議標(biāo)準(zhǔn),得知指定檢測(cè)請(qǐng)求的應(yīng)答關(guān)鍵特征,因此對(duì)于該類服務(wù)器應(yīng)用,負(fù)載均衡器只需指定需要檢測(cè)的請(qǐng)求關(guān)鍵特征即可??蓪?duì)于交互協(xié)議未知的服務(wù)器應(yīng)用,由于負(fù)載均衡設(shè)備無(wú)法在客戶端與服務(wù)器交互的數(shù)據(jù)流中識(shí)別完整的請(qǐng)求和應(yīng)答,因此需要指定檢測(cè)的請(qǐng)求關(guān)鍵特征,以及成功應(yīng)答的應(yīng)答關(guān)鍵特征,以便負(fù)載均衡器可在數(shù)據(jù)流中執(zhí)行模式匹配或正則匹配以發(fā)現(xiàn)這些特征,從而進(jìn)行判定。
步驟S102、獲取客戶端與服務(wù)器之間交互的數(shù)據(jù)流;根據(jù)需要檢測(cè)的服務(wù)器應(yīng)用的請(qǐng)求關(guān)鍵特征和應(yīng)答關(guān)鍵特征,對(duì)所述數(shù)據(jù)流進(jìn)行匹配;
當(dāng)客戶端向服務(wù)器發(fā)送請(qǐng)求時(shí),首先在請(qǐng)求數(shù)據(jù)流中執(zhí)行請(qǐng)求關(guān)鍵特征匹配,匹配成功則將請(qǐng)求數(shù)據(jù)流轉(zhuǎn)發(fā)給服務(wù)器。當(dāng)服務(wù)器反饋應(yīng)答的數(shù)據(jù)流時(shí),負(fù)載均衡器在應(yīng)答的數(shù)據(jù)流中根據(jù)指定的應(yīng)答關(guān)鍵特征(對(duì)于已知協(xié)議,可從協(xié)議中獲知,對(duì)于未知協(xié)議,需要另行指定)對(duì)應(yīng)答數(shù)據(jù)流進(jìn)行特征匹配。
步驟S103、匹配成功時(shí),判定所述服務(wù)器應(yīng)用健康,否則判定所述服務(wù)器應(yīng)用故障。當(dāng)請(qǐng)求關(guān)鍵特征和應(yīng)答關(guān)鍵特征均匹配成功則該服務(wù)器對(duì)客戶端的該應(yīng)用請(qǐng)求為健康的,否則判定為故障并進(jìn)行步驟S104。
步驟S104,將所述客戶端發(fā)送的所述服務(wù)器應(yīng)用的請(qǐng)求發(fā)送至其它健康服務(wù)器。 負(fù)載均衡器檢測(cè)到服務(wù)器故障時(shí),當(dāng)客戶端再次發(fā)出該應(yīng)用請(qǐng)求時(shí),負(fù)載均衡器不再將該請(qǐng)求發(fā)送至故障的服務(wù)器,而改為路由至其它健康的服務(wù)器。
如圖3所示,圖3所示為檢測(cè)服務(wù)器的HTTP POST請(qǐng)求是否健康之示例,該應(yīng)用請(qǐng)求的協(xié)議已知。當(dāng)客戶端與服務(wù)器通過(guò)TCP三次握手建立鏈接,并成功登錄服務(wù)器后,客戶端向服務(wù)器發(fā)送POST請(qǐng)求請(qǐng)求訪問(wèn)的地址為/abc. cgi,當(dāng)且僅當(dāng)負(fù)載均衡器獲取到的服務(wù)器的應(yīng)答為2000k時(shí),才認(rèn)為該服務(wù)器對(duì)該地址的HTTP POST請(qǐng)求應(yīng)用是健康的,否則認(rèn)為服務(wù)器故障。當(dāng)負(fù)載均衡器檢測(cè)到服務(wù)器故障時(shí),當(dāng)客戶端再次發(fā)出對(duì)于該地址的 HTTPP0ST請(qǐng)求時(shí),負(fù)載均衡器不同將該請(qǐng)求發(fā)送至故障的服務(wù)器,而改為路由至其它健康的服務(wù)器。
本實(shí)施例中,針對(duì)現(xiàn)有的服務(wù)器應(yīng)用健康狀態(tài)檢測(cè)方法都是由檢測(cè)設(shè)備主動(dòng)發(fā)起請(qǐng)求,然后檢測(cè)設(shè)備檢測(cè)請(qǐng)求的應(yīng)答來(lái)判定服務(wù)器的健康狀態(tài),對(duì)于復(fù)雜的應(yīng)用的健康檢查,必須由用戶在檢測(cè)設(shè)備上上編程實(shí)現(xiàn)。而在本發(fā)明中,不需要檢測(cè)設(shè)備主動(dòng)發(fā)送業(yè)務(wù)請(qǐng)求,檢測(cè)設(shè)備只是依據(jù)檢測(cè)配置,以及客戶端與服務(wù)器之間的數(shù)據(jù)流,被動(dòng)分析服務(wù)器對(duì)實(shí)際應(yīng)用請(qǐng)求的應(yīng)答情況來(lái)判定服務(wù)器上應(yīng)用的健康狀態(tài),大大簡(jiǎn)化了檢測(cè)設(shè)備的負(fù)擔(dān)。同時(shí)也無(wú)需檢測(cè)設(shè)備的管理員具備相當(dāng)專業(yè)的編程知識(shí)。
參照?qǐng)D4,提出本發(fā)明一種檢測(cè)服務(wù)器應(yīng)用健康狀態(tài)的裝置一實(shí)施例,包括
設(shè)置模塊10,用于當(dāng)交互協(xié)議已知時(shí),指定請(qǐng)求關(guān)鍵特征;以及根據(jù)所述請(qǐng)求關(guān)鍵特征,在已知的交互協(xié)議查找對(duì)應(yīng)的應(yīng)答關(guān)鍵特征;當(dāng)交互協(xié)議未知時(shí),指定所述請(qǐng)求關(guān)鍵特征和應(yīng)答關(guān)鍵特征。
獲取模塊20,用于獲取客戶端與服務(wù)器之間交互的數(shù)據(jù)流;
匹配模塊30,用于根據(jù)需要檢測(cè)的服務(wù)器應(yīng)用的請(qǐng)求關(guān)鍵特征和應(yīng)答關(guān)鍵特征, 對(duì)所述數(shù)據(jù)流進(jìn)行匹配;
判定模塊40,用于匹配成功時(shí),判定所述服務(wù)器應(yīng)用健康,否則判定所述服務(wù)器應(yīng)用故障。
故障處理模塊50,用于當(dāng)判定所述服務(wù)器故障時(shí),將所述客戶端發(fā)送的所述服務(wù)器應(yīng)用的請(qǐng)求發(fā)送至其它健康服務(wù)器。
參照?qǐng)D5,所述匹配模塊30包括
請(qǐng)求特征匹配單元31,用于根據(jù)所述請(qǐng)求關(guān)鍵特征,對(duì)客戶端發(fā)送的請(qǐng)求數(shù)據(jù)流執(zhí)行請(qǐng)求特征匹配;
應(yīng)答特征匹配單元32,用于匹配成功時(shí),根據(jù)所述應(yīng)答關(guān)鍵特征,對(duì)服務(wù)器的應(yīng)答數(shù)據(jù)流執(zhí)行應(yīng)答特征匹配。
本實(shí)施例的裝置可以是負(fù)載均衡器等能夠監(jiān)測(cè)客戶端與服務(wù)器交互數(shù)據(jù)流的檢測(cè)設(shè)備,也可以是內(nèi)置或外置于負(fù)載均衡器的一裝置。其應(yīng)用環(huán)境還包括一或多個(gè)服務(wù)器,如各自運(yùn)行一或多個(gè)應(yīng)用程序的WEB服務(wù)器;一或多個(gè)客戶端,向所述一或多個(gè)服務(wù)器提出應(yīng)用請(qǐng)求。當(dāng)客戶端通過(guò)網(wǎng)絡(luò)發(fā)送應(yīng)用請(qǐng)求時(shí),應(yīng)用請(qǐng)求可由本裝置接收并路由至服務(wù)器,本實(shí)施例即以負(fù)載均衡設(shè)備為例進(jìn)行說(shuō)明,但在實(shí)際應(yīng)用中,不僅限于負(fù)載均衡器。
負(fù)載均衡器的設(shè)置模塊10首先在負(fù)載均衡器上指定需要檢測(cè)的請(qǐng)求關(guān)鍵特征以及服務(wù)器成功應(yīng)答時(shí)的應(yīng)答關(guān)鍵特征,對(duì)于已知交互協(xié)議的服務(wù)器應(yīng)用,例如HTTP協(xié)議的應(yīng)用,負(fù)載均衡器能從客戶端和服務(wù)器的數(shù)據(jù)流中解析出完整的HTTP請(qǐng)求和應(yīng)答,因此對(duì)于指定的應(yīng)用請(qǐng)求關(guān)鍵特征,設(shè)置模塊10能夠根據(jù)HTTP協(xié)議標(biāo)準(zhǔn),得知指定檢測(cè)請(qǐng)求的應(yīng)答關(guān)鍵特征,因此對(duì)于該類服務(wù)器應(yīng)用,設(shè)置模塊10只需指定需要檢測(cè)的請(qǐng)求關(guān)鍵特征即可??蓪?duì)于交互協(xié)議未知的服務(wù)器應(yīng)用,由于負(fù)載均衡設(shè)備無(wú)法在客戶端與服務(wù)器交互的數(shù)據(jù)流中識(shí)別完整的請(qǐng)求和應(yīng)答,因此需要設(shè)置模塊10指定檢測(cè)的請(qǐng)求關(guān)鍵特征,以及成功應(yīng)答的應(yīng)答關(guān)鍵特征,以便匹配模塊30可在數(shù)據(jù)流中執(zhí)行模式匹配或正則匹配以發(fā)現(xiàn)這些特征,從而將由判定模塊40進(jìn)行判定。
當(dāng)客戶端向服務(wù)器發(fā)送請(qǐng)求時(shí),匹配模塊30的請(qǐng)求特征匹配單元31首先在請(qǐng)求數(shù)據(jù)流中執(zhí)行請(qǐng)求關(guān)鍵特征匹配,匹配成功則負(fù)載均衡器將請(qǐng)求數(shù)據(jù)流轉(zhuǎn)發(fā)給服務(wù)器。當(dāng)服務(wù)器反饋應(yīng)答的數(shù)據(jù)流時(shí),匹配模塊30的應(yīng)答特征匹配單元32在應(yīng)答的數(shù)據(jù)流中根據(jù)指定的應(yīng)答關(guān)鍵特征對(duì)應(yīng)答數(shù)據(jù)流進(jìn)行特征匹配,匹配成功則判定模塊40判定該服務(wù)器對(duì)客戶端的該應(yīng)用請(qǐng)求為健康的,否則故障。此時(shí),負(fù)載均衡器根據(jù)服務(wù)器的故障進(jìn)行異常處理,避免將客戶端的請(qǐng)求再次路由至故障服務(wù)器。
如圖3所示,圖3所示為檢測(cè)服務(wù)器的HTTP POST請(qǐng)求是否健康之示例,客戶端與服務(wù)器通過(guò)TCP三次握手建立鏈接,并成功登錄服務(wù)器后,客戶端向服務(wù)器發(fā)送POST請(qǐng)求 請(qǐng)求訪問(wèn)的地址為/abc. cgi,當(dāng)且僅當(dāng)獲取模塊20獲取到的服務(wù)器的應(yīng)答為2000k時(shí),判定模塊40才認(rèn)為該服務(wù)器對(duì)該地址的HTTP POST請(qǐng)求應(yīng)用是健康的,否則認(rèn)為服務(wù)器故障。當(dāng)負(fù)載均衡器檢測(cè)到服務(wù)器故障時(shí),故障處理模塊50將該故障記錄,并將客戶端的該應(yīng)用請(qǐng)求改為路由至其它健康的服務(wù)器。
本實(shí)施例中,針對(duì)現(xiàn)有的服務(wù)器應(yīng)用健康狀態(tài)檢測(cè)方法都是由檢測(cè)設(shè)備主動(dòng)發(fā)起請(qǐng)求,然后檢測(cè)設(shè)備檢測(cè)請(qǐng)求的應(yīng)答來(lái)判定服務(wù)器的健康狀態(tài),對(duì)于復(fù)雜的應(yīng)用的健康檢查,必須由用戶在檢測(cè)設(shè)備上上編程實(shí)現(xiàn)。而在本發(fā)明中,不需要檢測(cè)設(shè)備主動(dòng)發(fā)送業(yè)務(wù)請(qǐng)求,檢測(cè)設(shè)備只是依據(jù)檢測(cè)配置,以及客戶端與服務(wù)器之間的數(shù)據(jù)流,被動(dòng)分析服務(wù)器對(duì)實(shí)際應(yīng)用請(qǐng)求的應(yīng)答情況來(lái)判定服務(wù)器上應(yīng)用的健康狀態(tài),大大簡(jiǎn)化了檢測(cè)設(shè)備的負(fù)擔(dān)。同時(shí)也無(wú)需檢測(cè)設(shè)備的管理員具備相當(dāng)專業(yè)的編程知識(shí)。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種檢測(cè)服務(wù)器應(yīng)用健康狀態(tài)的方法,其特征在于,包括 獲取客戶端與服務(wù)器之間交互的數(shù)據(jù)流;根據(jù)需要檢測(cè)的服務(wù)器應(yīng)用的請(qǐng)求關(guān)鍵特征和應(yīng)答關(guān)鍵特征,對(duì)所述數(shù)據(jù)流進(jìn)行匹配;匹配成功時(shí),判定所述服務(wù)器應(yīng)用健康,否則判定所述服務(wù)器應(yīng)用故障。
2.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)需要檢測(cè)的服務(wù)器應(yīng)用的請(qǐng)求關(guān)鍵特征和應(yīng)答關(guān)鍵特征,對(duì)所述數(shù)據(jù)流進(jìn)行匹配包括根據(jù)所述請(qǐng)求關(guān)鍵特征,對(duì)客戶端發(fā)送的請(qǐng)求數(shù)據(jù)流執(zhí)行請(qǐng)求特征匹配; 匹配成功時(shí),根據(jù)所述應(yīng)答關(guān)鍵特征,對(duì)服務(wù)器的應(yīng)答數(shù)據(jù)流執(zhí)行應(yīng)答特征匹配。
3.如權(quán)利要求1或2所述的方法,其特征在于,在執(zhí)行所述匹配成功時(shí),判定所述服務(wù)器應(yīng)用健康,否則判定所述服務(wù)器應(yīng)用故障之后,包括當(dāng)判定所述服務(wù)器故障時(shí),將所述客戶端發(fā)送的所述服務(wù)器應(yīng)用的請(qǐng)求發(fā)送至其它健康服務(wù)器。
4.如權(quán)利要求1或2所述的方法,其特征在于,在執(zhí)行所述獲取客戶端與服務(wù)器之間交互的數(shù)據(jù)流之前,還包括當(dāng)交互協(xié)議已知時(shí),指定所述請(qǐng)求關(guān)鍵特征;當(dāng)交互協(xié)議未知時(shí),指定所述請(qǐng)求關(guān)鍵特征和應(yīng)答關(guān)鍵特征。
5.如權(quán)利要求4所述的方法,其特征在于,在執(zhí)行當(dāng)交互協(xié)議已知時(shí),指定請(qǐng)求關(guān)鍵特征之后,還包括根據(jù)所述請(qǐng)求關(guān)鍵特征,在已知的交互協(xié)議查找對(duì)應(yīng)的應(yīng)答關(guān)鍵特征。
6.一種檢測(cè)服務(wù)器應(yīng)用健康狀態(tài)的裝置,其特征在于,包括 獲取模塊,用于獲取客戶端與服務(wù)器之間交互的數(shù)據(jù)流;匹配模塊,用于根據(jù)需要檢測(cè)的服務(wù)器應(yīng)用的請(qǐng)求關(guān)鍵特征和應(yīng)答關(guān)鍵特征,對(duì)所述數(shù)據(jù)流進(jìn)行匹配;判定模塊,用于匹配成功時(shí),判定所述服務(wù)器應(yīng)用健康,否則判定所述服務(wù)器應(yīng)用故障。
7.如權(quán)利要求6所述的裝置,其特征在于,所述匹配模塊包括請(qǐng)求特征匹配單元,用于根據(jù)所述請(qǐng)求關(guān)鍵特征,對(duì)客戶端發(fā)送的請(qǐng)求數(shù)據(jù)流執(zhí)行請(qǐng)求特征匹配;應(yīng)答特征匹配單元,用于匹配成功時(shí),根據(jù)所述應(yīng)答關(guān)鍵特征,對(duì)服務(wù)器的應(yīng)答數(shù)據(jù)流執(zhí)行應(yīng)答特征匹配。
8.如權(quán)利要求6或7所述的裝置,其特征在于,還包括故障處理模塊,用于當(dāng)判定所述服務(wù)器故障時(shí),將所述客戶端發(fā)送的所述服務(wù)器應(yīng)用的請(qǐng)求發(fā)送至其它健康服務(wù)器。
9.如權(quán)利要求6或7所述的裝置,其特征在于,還包括設(shè)置模塊,用于當(dāng)交互協(xié)議已知時(shí),指定所述請(qǐng)求關(guān)鍵特征;以及當(dāng)交互協(xié)議未知時(shí), 指定所述請(qǐng)求關(guān)鍵特征和應(yīng)答關(guān)鍵特征。
10.如權(quán)利要求9所述的裝置,其特征在于,所述設(shè)置模塊還用于根據(jù)所述請(qǐng)求關(guān)鍵特征,在已知的交互協(xié)議查找對(duì)應(yīng)的應(yīng)答關(guān)鍵特征。
全文摘要
本發(fā)明揭示了一種檢測(cè)服務(wù)器應(yīng)用健康狀態(tài)的方法和裝置,該方法包括獲取客戶端與服務(wù)器之間交互的數(shù)據(jù)流;根據(jù)需要檢測(cè)的服務(wù)器應(yīng)用的請(qǐng)求關(guān)鍵特征和應(yīng)答關(guān)鍵特征,對(duì)所述數(shù)據(jù)流進(jìn)行匹配;匹配成功時(shí),判定所述服務(wù)器應(yīng)用健康,否則判定所述服務(wù)器應(yīng)用故障。本發(fā)明提供的一種檢測(cè)服務(wù)器應(yīng)用健康狀態(tài)的方法和裝置,降低了檢測(cè)設(shè)備的負(fù)擔(dān)。
文檔編號(hào)H04L12/24GK102546292SQ201110422899
公開(kāi)日2012年7月4日 申請(qǐng)日期2011年12月16日 優(yōu)先權(quán)日2011年12月16日
發(fā)明者張洲亭 申請(qǐng)人:深信服網(wǎng)絡(luò)科技(深圳)有限公司