本發(fā)明的實(shí)施例涉及利用代理的網(wǎng)絡(luò)服務(wù)的監(jiān)控技術(shù)。
背景技術(shù):最近,隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)上提供有各種類型的網(wǎng)絡(luò)服務(wù)。以往的網(wǎng)絡(luò)服務(wù)局限于單純的文本和圖像的傳輸,而最近不僅服務(wù)的數(shù)量(網(wǎng)上銀行、發(fā)放證書、家居交易(hometrading))得到增加,而且提供服務(wù)范圍也得到極大的增加。隨著,網(wǎng)絡(luò)服務(wù)的多樣化和復(fù)雜化,為了提供流暢的網(wǎng)絡(luò)服務(wù),需要隨時(shí)監(jiān)控網(wǎng)絡(luò)服務(wù)是否正常運(yùn)行。但是,現(xiàn)有的網(wǎng)絡(luò)服務(wù)監(jiān)控是由管理者直接訪問相關(guān)網(wǎng)絡(luò)服務(wù)而實(shí)際執(zhí)行各個(gè)功能的方式,因此存在不方便且難以進(jìn)行準(zhǔn)確的監(jiān)控的問題。而且,當(dāng)根據(jù)網(wǎng)絡(luò)服務(wù),需要在網(wǎng)站上下載并安裝瀏覽器API或應(yīng)用程序才可以使用服務(wù)時(shí),事實(shí)上管理者無法確認(rèn)相關(guān)的瀏覽器API或應(yīng)用程序是否能夠正常地下載和安裝。
技術(shù)實(shí)現(xiàn)要素:本發(fā)明的實(shí)施例用于提供利用代理器來自動(dòng)地監(jiān)控網(wǎng)絡(luò)服務(wù)所提供的功能是否正常運(yùn)行的系統(tǒng)及方法。根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)包括:管理模塊,從管理者接收用于模擬測試對象系統(tǒng)的訪問方案和策略,并提供用于將所述對象系統(tǒng)的模擬測試結(jié)果輸出給所述管理者的接口;數(shù)據(jù)庫,存儲所輸入的所述策略和所述訪問方案;代理器,根據(jù)存儲于所述數(shù)據(jù)庫的所述訪問方案和所述策略訪問所述對象系統(tǒng),執(zhí)行針對所述對象系統(tǒng)的模擬測試。所述網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)還可以包括服務(wù)模塊,該服務(wù)模塊接收存儲于所述數(shù)據(jù)庫的所述訪問方案和所述策略并提供給所述代理器,并將從所述代理器接收的測試結(jié)果發(fā)送至所述管理模塊。所述訪問方案可包括所述對象系統(tǒng)的訪問地址、賬戶信息、作為設(shè)置對象的瀏覽器API、作為設(shè)置對象的應(yīng)用的信息中的一個(gè)以上。所述設(shè)置對象瀏覽器API和設(shè)置對象應(yīng)用信息可包括所述設(shè)置對象瀏覽器API、設(shè)置對象應(yīng)用的設(shè)置位置(目錄)、版本信息、注冊表信息中的一個(gè)以上。所述策略可包括所述對象系統(tǒng)的監(jiān)控類型、監(jiān)控周期、監(jiān)控過程中發(fā)生錯(cuò)誤時(shí)的重試次數(shù)、日志記錄范圍、協(xié)議變更與否確認(rèn)周期、發(fā)生錯(cuò)誤時(shí)測試超時(shí)、是否收集訪問網(wǎng)頁地址中的一個(gè)以上。所述代理器包括:第一子代理器,根據(jù)從所述服務(wù)模塊接收的訪問方案和所述策略構(gòu)建針對所述對象系統(tǒng)的監(jiān)控計(jì)劃;第二子代理器,根據(jù)在所述第一子代理器構(gòu)建的所述計(jì)劃執(zhí)行針對所述對象系統(tǒng)的監(jiān)控,所述第一子代理器可將所述第二子代理器執(zhí)行的所述監(jiān)控結(jié)果發(fā)送至所述服務(wù)模塊。所述網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)內(nèi)的所述第二子代理器所占有的內(nèi)存超過預(yù)定的值時(shí),所述第一子代理器可重新運(yùn)行所述第二子代理器。所述第二子代理器根據(jù)所述第一子代理器構(gòu)建的所述監(jiān)控計(jì)劃訪問所述對象系統(tǒng)的登錄網(wǎng)頁,并通過將所述登錄網(wǎng)頁結(jié)構(gòu)化來提取用于登錄到所述對象系統(tǒng)的對象,將賬戶信息添加到所提取的所述對象并發(fā)送至所述對象系統(tǒng),從而可請求登錄到所述對象系統(tǒng)。所述第二子代理器可利用文檔對象模型(DocumentObjectModel;DOM)結(jié)構(gòu)化所訪問的所述網(wǎng)頁。所述第二子代理器可根據(jù)預(yù)定的登錄完成頁是否被正常加載來判斷所述登錄請求是否正常完成。所述登錄完成網(wǎng)頁是否正常加載可根據(jù)包含于所述代理器的網(wǎng)絡(luò)瀏覽器控制器是否被通知了所述網(wǎng)頁的下載完成來進(jìn)行判斷的。所述第二子代理器根據(jù)所述第一子代理器構(gòu)建的所述監(jiān)控計(jì)劃訪問所述對象系統(tǒng)的瀏覽器API設(shè)置網(wǎng)頁或?yàn)g覽器API運(yùn)行網(wǎng)頁,并根據(jù)所訪問的所述網(wǎng)頁中包含的瀏覽器API設(shè)置信息下載瀏覽器API設(shè)置文件而設(shè)置到虛擬機(jī)或運(yùn)行已設(shè)置的瀏覽器API。所述第二子代理器可根據(jù)預(yù)定完成頁是否正常加載來判斷所述瀏覽器API是否正常設(shè)置或運(yùn)行。所述完成頁是否正常加載可根據(jù)包含于所述代理器的網(wǎng)絡(luò)瀏覽器控制器是否被通知了所述完成頁的下載完成來判斷。根據(jù)所述判斷結(jié)果,當(dāng)所述瀏覽器API沒有正常設(shè)置或運(yùn)行時(shí),所述第二子代理器可以將包含從所述對象系統(tǒng)接收的錯(cuò)誤頁信息、所述瀏覽器API的設(shè)置位置、所述瀏覽器API的版本信息、注冊表信息的錯(cuò)誤消息發(fā)送給所述第一子代理器,所述第一子代理器將所接收的所述錯(cuò)誤消息與所述訪問方案進(jìn)行比較,并將所述比較結(jié)果發(fā)送給所述服務(wù)模塊。所述第二子代理器根據(jù)所述第一子代理器構(gòu)建的所述監(jiān)控計(jì)劃訪問所述對象系統(tǒng)的應(yīng)用設(shè)置網(wǎng)頁或應(yīng)用運(yùn)行網(wǎng)頁,并根據(jù)所訪問的所述網(wǎng)頁中包含的應(yīng)用信息將所述應(yīng)用設(shè)置到所述虛擬機(jī)或運(yùn)行已設(shè)置的所述應(yīng)用。所述第二子代理器可根據(jù)預(yù)定的設(shè)置完成頁正常加載或是否從所述虛擬機(jī)的應(yīng)用設(shè)置流程接收設(shè)置正常完成消息來判斷所述應(yīng)用的正常設(shè)置與否。所述第二子代理器可根據(jù)預(yù)定的運(yùn)行完成頁正常加載或是否從所述虛擬機(jī)的應(yīng)用運(yùn)行流程接收所述應(yīng)用的正常運(yùn)行消息來判斷所述應(yīng)用的正常運(yùn)行與否。所述設(shè)置完成頁或所述運(yùn)行完成頁是否正常加載可根據(jù)包含于所述代理器的網(wǎng)絡(luò)瀏覽器控制器是否被通知了所述設(shè)置完成頁或所述運(yùn)行完成頁的下載完成來判斷。所述判斷結(jié)果,當(dāng)所述應(yīng)用沒有正常設(shè)置或運(yùn)行時(shí),所述第二子代理器可將包含從所述對象系統(tǒng)接收的錯(cuò)誤頁信息、所述應(yīng)用的設(shè)置位置、所述應(yīng)用的版本信息、注冊表信息及處理信息的錯(cuò)誤消息發(fā)送給所述第一子代理器,所述第一子代理器將所接收的所述錯(cuò)誤消息與所述訪問方案比較,并將所述比較結(jié)果發(fā)送給所述服務(wù)模塊。根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)服務(wù)監(jiān)控方法包括如下步驟:在網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)的代理器中接收對象系統(tǒng)的登錄測試請求;在所述代理器中,訪問所述對象系統(tǒng)的登錄網(wǎng)頁;在所述代理器中,將訪問的所述登錄網(wǎng)頁結(jié)構(gòu)化,以提取用于登錄到所述對象系統(tǒng)的客體;在代理器中,將賬戶信息添加到所提取的所述客體并發(fā)送至所述對象系統(tǒng),請求登錄到所述對象系統(tǒng);在所述代理器中,判斷是否正常完成登錄到所述對象系統(tǒng)。所述提取客體的步驟中,可利用文檔對象模型(DocumentObjectModel;DOM)結(jié)構(gòu)化所述登錄網(wǎng)頁。所述是否正常完成登錄的步驟可根據(jù)預(yù)定的登錄完成頁是否正常加載來判斷所述登錄是否正常完成。所述登錄完成頁是否正常加載可根據(jù)包含于所述代理器的網(wǎng)絡(luò)瀏覽器控制器是否通知所述登錄完成網(wǎng)頁的下載完成來判斷。而且,所述方法在執(zhí)行所述訪問登錄網(wǎng)頁的步驟之前還可以包括步驟:在所述代理器中判斷是否存在與所述對象系統(tǒng)的預(yù)定的會話;判斷是否存在會話的結(jié)果,當(dāng)存在預(yù)定的會話時(shí),在所述代理器中結(jié)束所述會話。根據(jù)本發(fā)明另一實(shí)施例的網(wǎng)絡(luò)服務(wù)監(jiān)控方法包括如下步驟:在網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)的代理器中,接收對象系統(tǒng)的瀏覽器API設(shè)置測試請求;在所述代理器中,訪問所述對象系統(tǒng)的瀏覽器API設(shè)置網(wǎng)頁;在所述代理器中,根據(jù)訪問的所述網(wǎng)頁中包含的瀏覽器API設(shè)置信息下載瀏覽器API設(shè)置文件,并運(yùn)行所下載的所述瀏覽器API設(shè)置文件,以將所述瀏覽器API設(shè)置到虛擬機(jī);在所述代理器中,判斷所述瀏覽器API是否正常地設(shè)置。根據(jù)本發(fā)明另一實(shí)施例的網(wǎng)絡(luò)服務(wù)監(jiān)控方法包括如下步驟:在網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)的代理器中,接收對象系統(tǒng)的應(yīng)用設(shè)置測試請求;在所述代理器中,訪問所述對象系統(tǒng)的應(yīng)用設(shè)置網(wǎng)頁;在所述代理器中,根據(jù)訪問的所述網(wǎng)頁中包含的瀏覽器API設(shè)置信息將所述瀏覽器API設(shè)置到虛擬機(jī);在所述代理器中,根據(jù)所設(shè)置的所述瀏覽器API中包含的應(yīng)用的設(shè)置信息從所述對象系統(tǒng)下載應(yīng)用的設(shè)置文件,并運(yùn)行所下載的所述設(shè)置文件而將所述應(yīng)用設(shè)置到所述虛擬機(jī);在所述代理器中,判斷所述應(yīng)用是否正常地設(shè)置。根據(jù)本發(fā)明另一實(shí)施例的網(wǎng)絡(luò)服務(wù)監(jiān)控方法包括如下步驟:通過在網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)的代理器,接收對象系統(tǒng)的瀏覽器API運(yùn)行測試請求;通過所述代理器,訪問所述對象系統(tǒng)的搭載瀏覽器API的網(wǎng)頁;通過所述代理器,根據(jù)訪問的所述網(wǎng)頁中包含的瀏覽器API設(shè)置信息運(yùn)行瀏覽器API;通過所述代理器,判斷所述瀏覽器API是否正常地運(yùn)行。根據(jù)本發(fā)明另一實(shí)施例的網(wǎng)絡(luò)服務(wù)監(jiān)控方法包括如下步驟:通過網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)的代理器,接收對象系統(tǒng)的應(yīng)用運(yùn)行測試請求;通過所述代理器,訪問所述對象系統(tǒng)的搭載應(yīng)用的網(wǎng)頁;通過所述代理器,根據(jù)訪問的所述網(wǎng)頁中包含的瀏覽器API信息運(yùn)行瀏覽器API;通過所述代理器,根據(jù)所運(yùn)行的所述瀏覽器API中包含的應(yīng)用的信息來運(yùn)行應(yīng)用;通過所述代理器,判斷所述應(yīng)用是否正常地運(yùn)行。根據(jù)本發(fā)明的實(shí)施例,可通過代理器自動(dòng)地監(jiān)控網(wǎng)絡(luò)服務(wù)的功能,當(dāng)發(fā)生問題時(shí),可實(shí)時(shí)向管理者提供相關(guān)問題和有關(guān)信息。而且,根據(jù)本發(fā)明的實(shí)施例,當(dāng)監(jiān)控對象網(wǎng)絡(luò)服務(wù)需要設(shè)置瀏覽器API或應(yīng)用時(shí),也能夠提供監(jiān)控相關(guān)瀏覽器API或應(yīng)用是否設(shè)置和正常運(yùn)行的手段。附圖說明圖1為示出根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)100的構(gòu)成的圖。圖2為示出根據(jù)本發(fā)明一實(shí)施例的代理器106的詳細(xì)構(gòu)成的圖。圖3為用于說明根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)100中的對象系統(tǒng)110登錄模擬測試300過程的圖。圖4為用于說明根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)100的瀏覽器API設(shè)置模擬測試400過程的圖。圖5為用于說明根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)100的應(yīng)用設(shè)置模擬測試500過程的圖。圖6為用于說明根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)100的瀏覽器API運(yùn)行模擬測試600過程的圖。圖7為用于說明根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)100的應(yīng)用運(yùn)行模擬測試700過程的圖。主要符號說明100:網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)102:管理模塊104:數(shù)據(jù)庫106:代理器108:服務(wù)模塊110:對象系統(tǒng)112:虛擬機(jī)200:第一子代理器202:第二子代理器具體實(shí)施方式以下參照附圖說明本發(fā)明的具體實(shí)施形態(tài)。但是這僅僅是舉例性的,本發(fā)明并不局限于此。在對本發(fā)明進(jìn)行說明時(shí),當(dāng)對于與本發(fā)明相關(guān)的公知技術(shù)的具體說明被判斷為會不必要地混淆本發(fā)明的要旨時(shí),省略其詳細(xì)的說明。而且,后述的術(shù)語是考慮到在本發(fā)明中的功能而定義的術(shù)語,可根據(jù)使用者、運(yùn)用者的意圖或慣例等改變。因此,其定義應(yīng)基于本說明書的整體內(nèi)容。本發(fā)明的技術(shù)思想由權(quán)利要求書限定,以下的實(shí)施例僅是為了向本發(fā)明所屬的技術(shù)領(lǐng)域中具有通常的知識的技術(shù)人員高效地說明本發(fā)明的技術(shù)思想的一個(gè)手段。圖1為示出根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)100的構(gòu)成的圖。根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)100為執(zhí)行關(guān)于對象系統(tǒng)是否正常運(yùn)行的模擬測試并輸出其結(jié)果的系統(tǒng),其被構(gòu)成為利用虛擬機(jī)訪問對象系統(tǒng)之后,虛擬地執(zhí)行登錄、瀏覽器API(例如,控件(ActiveX)等)設(shè)置、應(yīng)用程序的設(shè)置等功能,并將其執(zhí)行結(jié)果輸出給管理者或存儲到數(shù)據(jù)庫。此時(shí),對象系統(tǒng)一般為在互聯(lián)網(wǎng)上提供網(wǎng)絡(luò)服務(wù)的系統(tǒng),表示提供用戶賬戶發(fā)布和登錄、瀏覽器API或應(yīng)用程序設(shè)置功能等的網(wǎng)頁。例如,本發(fā)明中的對象系統(tǒng)可以是銀行、證劵公司或政府機(jī)關(guān)等的網(wǎng)頁、企業(yè)等的內(nèi)部網(wǎng)、網(wǎng)店等。另外,在以下的說明中,瀏覽器API是指為了提供網(wǎng)絡(luò)瀏覽器本身不支持的功能或連接安裝于用戶終端上的一般應(yīng)用程序和網(wǎng)絡(luò)等功能而通過網(wǎng)頁附加地安裝于網(wǎng)絡(luò)瀏覽器上的技術(shù),意指包含附加程序(Add-onprogram)、控件(ActiveX)、插件程序(Plug-in)等的概念。而且,應(yīng)用(或應(yīng)用程序)是指與瀏覽器API不同地獨(dú)立安裝于用戶終端而運(yùn)行的程序,本發(fā)明中特指通過上述的瀏覽器API從網(wǎng)頁上下載并設(shè)置于用戶終端或運(yùn)行的程序。即,通常,網(wǎng)絡(luò)瀏覽器受到限制而不能夠?qū)?yīng)用直接安裝于用戶終端或直接在用戶終端上執(zhí)行應(yīng)用,因此本發(fā)明中構(gòu)建為借助網(wǎng)絡(luò)瀏覽器API在瀏覽器上設(shè)置特定應(yīng)用或運(yùn)行特定應(yīng)用。如圖所示,根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)100包括管理模塊102、數(shù)據(jù)庫104、代理器106、服務(wù)模塊108。管理模塊102從管理者接收用于對象系統(tǒng)110的模擬測試的訪問方案和策略,并提供用于將對象系統(tǒng)110的模擬測試結(jié)果輸出給所述管理者的接口。管理模塊102可基于網(wǎng)絡(luò)構(gòu)建,據(jù)此可構(gòu)成為所述管理者通過網(wǎng)絡(luò)瀏覽器等訪問管理模塊102。數(shù)據(jù)庫104存儲和管理所述管理者通過管理模塊102輸入的所述策略和所述訪問方案。而且,數(shù)據(jù)庫104還可被構(gòu)成為存儲和管理后述的代理器106中運(yùn)行的對象系統(tǒng)110的測試結(jié)果。在本發(fā)明的實(shí)施例中,訪問方案為記錄有用于訪問對象系統(tǒng)110并執(zhí)行測試的一系列信息的信息。所述訪問方案可包括對象系統(tǒng)110的訪問地址、賬戶地址、作為設(shè)置對象的瀏覽器API、作為設(shè)置對象的應(yīng)用信息中的一個(gè)以上。例如,所述訪問方案為用于測試對象系統(tǒng)110的登錄功能的方案時(shí),所述訪問方案可包括對象系統(tǒng)110的登錄網(wǎng)頁地址(例如,URL)、登錄到對象系統(tǒng)110的賬戶信息(用戶名和密碼等)、當(dāng)成功登錄之后加載的網(wǎng)頁的地址等,對于需要發(fā)布證書的基于復(fù)合認(rèn)證,還可以進(jìn)一步包括用于發(fā)布證書的賬戶信息(身份證號碼、安全卡號碼等)。而且,例如,當(dāng)所述訪問方案為用于測試對象系統(tǒng)110的瀏覽器API設(shè)置功能的方案時(shí),所述訪問方案可包括對象系統(tǒng)110的瀏覽器API設(shè)置網(wǎng)頁地址、將要設(shè)置的瀏覽器API的設(shè)置位置(目錄)、所述瀏覽器API的版本信息、設(shè)置時(shí)增加的注冊表信息、所述瀏覽器API的設(shè)置正常完成時(shí)加載的網(wǎng)頁的地址等。而且,例如,當(dāng)所述訪問方案為用于測試對象系統(tǒng)110的應(yīng)用(應(yīng)用程序)的設(shè)置功能的方案時(shí),所述訪問方案可包括對象系統(tǒng)110的應(yīng)用設(shè)置網(wǎng)頁地址、將要設(shè)置的應(yīng)用的設(shè)置位置(目錄)、所述應(yīng)用的版本信息、設(shè)置時(shí)增加的注冊表信息、所述應(yīng)用的設(shè)置正常完成時(shí)加載的網(wǎng)頁的地址等。另外,所述策略為訪問對象系統(tǒng)110而執(zhí)行測試時(shí)必要的設(shè)定值。所述策略可包括對象系統(tǒng)110的監(jiān)控(測試)類型、監(jiān)控周期、監(jiān)控過程中發(fā)生錯(cuò)誤時(shí)的重試次數(shù)、日志記錄范圍、策略變更與否確認(rèn)周期、發(fā)生錯(cuò)誤時(shí)的測試超時(shí)(timeout)、是否收集訪問頁地址中的一個(gè)以上。其中,監(jiān)控類型指示測試對象系統(tǒng)110提供的功能中的哪一種功能,例如,可包括登錄、發(fā)布證書、瀏覽器API的設(shè)置或運(yùn)行、應(yīng)用的設(shè)置或運(yùn)行等。所述日志記錄范圍確定將測試過程中發(fā)生的日志記錄到哪一種水平,例如,可區(qū)分為記錄所有日志、發(fā)生警告消息時(shí)記錄、發(fā)生提示消息時(shí)記錄、發(fā)生錯(cuò)誤時(shí)記錄等。訪問頁地址收集與否意指示否收集為測試對象系統(tǒng)110而訪問的網(wǎng)頁的地址。代理器106根據(jù)存儲于數(shù)據(jù)庫104中的所述訪問方案和所述策略訪問對象系統(tǒng)110而執(zhí)行針對對象系統(tǒng)110的模擬測試。代理器106設(shè)置在網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)100內(nèi)的虛擬機(jī)(VirtualMachine)112之內(nèi)。虛擬機(jī)112為在網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)100中實(shí)現(xiàn)的與一般的用戶計(jì)算機(jī)相同的環(huán)境,設(shè)置在虛擬機(jī)112內(nèi)的網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)100可如一般的用戶一樣地訪問對象系統(tǒng)110以執(zhí)行針對對象系統(tǒng)110的模擬測試。由于在一般的計(jì)算機(jī)系統(tǒng)內(nèi)實(shí)現(xiàn)具有單獨(dú)的計(jì)算機(jī)環(huán)境的虛擬機(jī)的技術(shù)已被本領(lǐng)域中具有通常的知識的技術(shù)人員所熟知,因此在此省略對其的詳細(xì)說明。在本發(fā)明的實(shí)施例中,網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)100可包括一個(gè)以上的虛擬機(jī)112。而且,各個(gè)虛擬機(jī)112均具備單獨(dú)的代理器106,由此網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)100可同時(shí)訪問一個(gè)以上的對象系統(tǒng)110而執(zhí)行模擬測試。對于這種代理器106的具體構(gòu)成,將結(jié)合圖2詳細(xì)進(jìn)行說明。服務(wù)模塊108為負(fù)責(zé)管理模塊102和代理器106之間的通信的模塊,通過管理模塊102接收存儲于數(shù)據(jù)庫104的訪問方案和策略并提供給代理器106。而且,服務(wù)模塊108在代理器106的測試完成時(shí),從代理器106接收測試結(jié)果并發(fā)送給管理模塊102。接收到所述測試結(jié)果的管理模塊102可以將所接收的結(jié)果輸出給管理者或存儲到數(shù)據(jù)庫104。圖2為示出根據(jù)本發(fā)明一實(shí)施例的代理器106的詳細(xì)構(gòu)成的圖。如圖所示,根據(jù)本發(fā)明一實(shí)施例的代理器106包括第一子代理器200和第二子代理器202。第一子代理器200根據(jù)從服務(wù)模塊108接收的訪問方案和策略構(gòu)建針對對象系統(tǒng)110的監(jiān)控計(jì)劃。例如,第一子代理器200可根據(jù)所接收的所述訪問方案和策略對對象系統(tǒng)110的網(wǎng)頁訪問順序、發(fā)生錯(cuò)誤時(shí)的重試次數(shù)、測試中間的閑置時(shí)間等制定計(jì)劃。而且,當(dāng)?shù)谝蛔哟砥?00從第二子代理器202接收到測試結(jié)果時(shí),將其發(fā)送給服務(wù)模塊108。而且,當(dāng)?shù)诙哟砥?02在網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)100內(nèi)所占有的內(nèi)存超過預(yù)定值時(shí),第一子代理器200重新運(yùn)行第二子代理器202,從而防止因第二代理器202的異常運(yùn)行而引起的網(wǎng)絡(luò)服務(wù)監(jiān)視系統(tǒng)100的驅(qū)動(dòng)發(fā)生障礙的問題。例如,在第二子代理器202中執(zhí)行設(shè)置應(yīng)用等的測試的過程中,有可能發(fā)生因發(fā)生錯(cuò)誤而內(nèi)存無法正?;謴?fù)的情形。此時(shí),第一子代理器200通過重新運(yùn)行第二子代理器202來預(yù)先防止因第二子代理器202引起的內(nèi)存問題。第二子代理器202根據(jù)第一子代理器200構(gòu)建的計(jì)劃執(zhí)行針對對象系統(tǒng)110的模擬測試,并將所述測試結(jié)果傳輸給第一子代理器200。第二子代理器202以與一般的網(wǎng)絡(luò)瀏覽器相同的方式執(zhí)行向?qū)ο笙到y(tǒng)110請求網(wǎng)頁或下載瀏覽器API等功能。而且,第二子代理器202在內(nèi)部包含網(wǎng)絡(luò)瀏覽器控制器,所述網(wǎng)絡(luò)瀏覽器控制器在第二子代理器202完成網(wǎng)頁的加載或移動(dòng)至其他網(wǎng)頁時(shí),產(chǎn)生與之對應(yīng)的事件(例如,文檔完成事件(documentcompleteevent)等)。如此,當(dāng)代理器106由第一子代理器200和第二子代理器202構(gòu)成時(shí),即使在監(jiān)控對象網(wǎng)絡(luò)服務(wù)變更,僅需要變更第一子代理器200的設(shè)定,因此具有可有效地應(yīng)對多種的網(wǎng)絡(luò)服務(wù)的優(yōu)點(diǎn)。但是,這僅僅是功能方面的分類,在實(shí)際實(shí)現(xiàn)時(shí),第一子代理器200和第二子代理器202實(shí)質(zhì)上可構(gòu)成為在一個(gè)虛擬機(jī)內(nèi)驅(qū)動(dòng)的單個(gè)處理或可以根據(jù)需要構(gòu)成為分別不同的處理。以下,對于具有上述構(gòu)成的網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)100中的具體的模擬測試方法進(jìn)行說明。圖3為用于說明根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)100中的對象系統(tǒng)110的登錄模擬測試300過程的圖。第一子代理器200從服務(wù)模塊108接收用于測試登錄的訪問方案和策略,并據(jù)此構(gòu)建模擬測試的計(jì)劃之后,向第二子代理器202發(fā)送包含所述計(jì)劃的登錄測試請求(302)。接收所述登錄測試請求的第二子代理器202首先判斷是否存在與對象系統(tǒng)110的會話(304),當(dāng)存在會話時(shí),結(jié)束相關(guān)會話(306)。這是因?yàn)槿绻跍y試之前已經(jīng)完成登錄到對象系統(tǒng)110,則無法正常地進(jìn)行登錄測試。然后,第二子代理器202訪問對象系統(tǒng)110的登錄網(wǎng)頁并下載所述登錄網(wǎng)頁的內(nèi)容(308)。下載所述內(nèi)容后,第二子代理器202通過對下載的所述內(nèi)容進(jìn)行結(jié)構(gòu)化來提取用于登錄到對象系統(tǒng)的對象(310),將賬戶信息添加到所提取的對象中并發(fā)送至對象系統(tǒng)110,從而請求登錄到對象系統(tǒng)110(312)。此時(shí),所述310步驟可構(gòu)成為利用文檔對象模型(DocumentObjectModel;DOM)結(jié)構(gòu)化登錄網(wǎng)頁的內(nèi)容。通常,網(wǎng)絡(luò)上的文檔是指HTML或XML等被結(jié)構(gòu)化的文件,文檔的結(jié)構(gòu)化意指將這種網(wǎng)絡(luò)上的文檔識別為特定客體(object)的集合,而不是識別為單純的文字的集合。例如,對于HTML來說,可以將用于表現(xiàn)文件的各個(gè)標(biāo)簽(TABLE、TR、DIV、SPAN等)識別為單獨(dú)的對象而進(jìn)行結(jié)構(gòu)化。因此,利用上述的DOM時(shí),可以從所述登錄網(wǎng)頁中分離出與登錄有關(guān)的對象(輸入框等),通過在分離出的所述客體上添加預(yù)定的賬戶信息,即便沒有實(shí)際的網(wǎng)絡(luò)瀏覽器也可以請求登錄到對象系統(tǒng)110。然后,第二子代理器202判斷是否正常完成登錄到對象系統(tǒng)110(314)。所述是否正常完成登錄的判斷可根據(jù)預(yù)定的登錄完成網(wǎng)頁是否正常加載來確定。大部分的網(wǎng)頁構(gòu)成為用戶完成登錄時(shí)自動(dòng)移動(dòng)至特定網(wǎng)頁,而第二子代理器202具有根據(jù)從第一子代理器200接收的計(jì)劃完成登錄時(shí)所移動(dòng)到的網(wǎng)頁的地址信息。據(jù)此,第二子代理器202通過將在所述登錄請求之后加載的網(wǎng)頁的地址與所述信息進(jìn)行比較,由此可知道是否成功登錄。此時(shí),第二子代理器202接收到來自網(wǎng)絡(luò)瀏覽器控制器的網(wǎng)頁的完成下載的通知時(shí),判斷為登錄完成頁正常地被加載。所述網(wǎng)頁的下載完成通知的例子有所述網(wǎng)絡(luò)瀏覽器控制器產(chǎn)生的文檔完成事件(Documentcompleteevent)。但是,本發(fā)明并不局限于此,根據(jù)網(wǎng)絡(luò)瀏覽器的種類,網(wǎng)頁完成下載時(shí)產(chǎn)生的事件的種類可不同。如果所述314步驟的判斷結(jié)果,所述登錄完成頁正常地被加載時(shí),第二子代理器202判斷為登錄測試成功,將測試結(jié)果發(fā)送給第一子代理器200(316)。但是,如果所述登錄完成頁沒有被正常地加載時(shí),第二子代理器202判斷為登錄測試失敗,將測試結(jié)果發(fā)送給第一子代理器200(318)。圖4為用于說明根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)100的瀏覽器API設(shè)置模擬測試400過程的圖。第一子代理器200從服務(wù)模塊108接收用于瀏覽器API設(shè)置模擬測試的訪問方案和策略,并據(jù)此構(gòu)建模擬測試計(jì)劃之后,向第二子代理器202發(fā)送包含所述計(jì)劃的瀏覽器API設(shè)置測試請求(402)。接收到所述測試請求的第二子代理器202首先判斷是否存在預(yù)先設(shè)置的瀏覽器API(404),當(dāng)存在預(yù)先設(shè)置的瀏覽器API時(shí),卸載相關(guān)瀏覽器API(406)。這是因?yàn)槿绻跍y試之前已經(jīng)設(shè)置有相關(guān)瀏覽器API,則無法正常地進(jìn)行測試。其次,第二子代理器202訪問對象系統(tǒng)110的瀏覽器API設(shè)置網(wǎng)頁(408),并根據(jù)所訪問的網(wǎng)頁中包含的瀏覽器API設(shè)置信息下載瀏覽器API設(shè)置文件,運(yùn)行所下載的瀏覽器API設(shè)置文件而將瀏覽器API設(shè)置到虛擬機(jī)112(410)。然后,第二子代理器202判斷所述瀏覽器API是否被正常設(shè)置(412)??丶葹g覽器API構(gòu)成為當(dāng)正常地設(shè)置到用戶系統(tǒng)時(shí),移動(dòng)至預(yù)定的特定頁(稱為瀏覽器API設(shè)置完成網(wǎng)頁),第二子代理器202基于從第一子代理器200接收的計(jì)劃具有所述瀏覽器API設(shè)置完成網(wǎng)頁的地址信息。據(jù)此,第二子代理器202可通過將所述瀏覽器API設(shè)置之后加載的網(wǎng)頁的地址與所述信息進(jìn)行比較,據(jù)此可確定瀏覽器API是否設(shè)置成功。此時(shí),第二子代理器202接收到來自網(wǎng)絡(luò)瀏覽器控制器的網(wǎng)頁的完成下載的通知時(shí)(例如,文檔完成事件(Documentcompleteevent)),判斷為瀏覽器API設(shè)置完成頁正常地被加載。如果所述412步驟的判斷結(jié)果,所述瀏覽器API設(shè)置完成頁正常地被加載,則第二子代理器202判斷為瀏覽器API設(shè)置測試成功,將測試結(jié)果發(fā)送給第一子代理器200(414)。但是,如果所述瀏覽器API設(shè)置完成頁沒有被正常地加載,則第二子代理器202判斷為瀏覽器API設(shè)置測試失敗,將包含從對象系統(tǒng)110接收的設(shè)置錯(cuò)誤網(wǎng)頁信息、瀏覽器API的設(shè)置位置、瀏覽器API的版本信息、注冊表信息的錯(cuò)誤消息發(fā)送給第一子代理器(416)。圖5為用于說明根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)100的應(yīng)用設(shè)置模擬測試500過程的圖。第一子代理器200從服務(wù)模塊108接收用于應(yīng)用設(shè)置模擬測試的訪問方案和策略,并據(jù)此構(gòu)建模擬測試計(jì)劃之后,向第二子代理器202發(fā)送包含所述計(jì)劃的應(yīng)用設(shè)置測試請求(502)。接收到所述測試請求的第二子代理器202首先判斷是否存在預(yù)先設(shè)置的瀏覽器API或應(yīng)用(504),當(dāng)存在預(yù)先設(shè)置的瀏覽器API或應(yīng)用時(shí),卸載相關(guān)瀏覽器API或應(yīng)用(506)。這是因?yàn)槿绻跍y試之前已經(jīng)設(shè)置有相關(guān)瀏覽器API,則無法正常地進(jìn)行測試。其次,第二子代理器202訪問對象系統(tǒng)110的應(yīng)用設(shè)置網(wǎng)頁(508),并根據(jù)所訪問的網(wǎng)頁中包含的瀏覽器API設(shè)置信息下載瀏覽器API設(shè)置文件,運(yùn)行所下載的瀏覽器API設(shè)置文件而將瀏覽器API設(shè)置到虛擬機(jī)112(510)。此時(shí),所設(shè)置的所述瀏覽器API是為了設(shè)置應(yīng)用而使用的瀏覽器API。由于無法在網(wǎng)絡(luò)瀏覽器本身將應(yīng)用直接設(shè)置到用戶系統(tǒng)或在用戶系統(tǒng)中直接運(yùn)行應(yīng)用,因此本發(fā)明中首先設(shè)置瀏覽器API之后運(yùn)行瀏覽器API,并利用運(yùn)行的所述瀏覽器API設(shè)置或運(yùn)行應(yīng)用。然后,第二子代理器202根據(jù)所設(shè)置的瀏覽器API中包含的應(yīng)用的設(shè)置信息從對象系統(tǒng)110下載應(yīng)用的設(shè)置文件,并運(yùn)行所下載的設(shè)置文件而將應(yīng)用設(shè)置到虛擬機(jī)112(512)。然后,第二子代理器202判斷所述應(yīng)用是否正常設(shè)置(514)。在步驟510中設(shè)置的所述瀏覽器API構(gòu)成為在所述應(yīng)用的設(shè)置正常完成時(shí),對此進(jìn)行檢測并移動(dòng)至預(yù)定的特定頁(稱為瀏覽器API設(shè)置完成網(wǎng)頁),第二子代理器202基于從第一子代理器200接收的計(jì)劃具有所述瀏覽器API設(shè)置完成網(wǎng)頁的地址信息。據(jù)此,第二子代理器202可通過將所述應(yīng)用設(shè)置完成后和所述瀏覽器API設(shè)置之后加載的網(wǎng)頁的地址與所述信息進(jìn)行比較,據(jù)此可確定應(yīng)用是否設(shè)置成功。此時(shí),第二子代理器202接收到來自網(wǎng)絡(luò)瀏覽器控制器的網(wǎng)頁的完成下載的通知時(shí)(例如,文檔完成事件(Documentcompleteevent)),判斷為應(yīng)用完成頁正常地被加載?;蛘撸诙哟砥?02通過進(jìn)程通信(InterProcessCommunication:IPC)從虛擬機(jī)112的應(yīng)用設(shè)置處理接收設(shè)置正常完成的消息,由此可判斷為所述應(yīng)用被正常地設(shè)置。如果所述514步驟的判斷結(jié)果,所述應(yīng)用被正常地設(shè)置,則第二子代理器202判斷為應(yīng)用設(shè)置測試成功,將測試結(jié)果發(fā)送給第一子代理器200(516)。但是,如果所述應(yīng)用沒有正常地被設(shè)置,則第二子代理器202判斷為應(yīng)用設(shè)置測試失敗,將包含從對象系統(tǒng)110接收的設(shè)置錯(cuò)誤網(wǎng)頁信息、應(yīng)用的設(shè)置位置、瀏覽器API的版本信息、注冊表信息的錯(cuò)誤消息發(fā)送給第一子代理器(518)。圖6為用于說明根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)100的瀏覽器API運(yùn)行模擬測試600過程的圖。即,該測試是為了對已經(jīng)設(shè)置的瀏覽器API是否正常地運(yùn)行進(jìn)行測試。第一子代理器200從服務(wù)模塊108接收用于瀏覽器API運(yùn)行模擬測試的訪問方案和策略,并據(jù)此構(gòu)建模擬測試計(jì)劃之后,向第二子代理器202發(fā)送包含所述計(jì)劃的瀏覽器API運(yùn)行測試請求(602)。接收到所述測試請求的第二子代理器202首先訪問對象系統(tǒng)110的搭載瀏覽器API的網(wǎng)頁(604),并根據(jù)所訪問的網(wǎng)頁中包含的瀏覽器API信息在虛擬機(jī)112中運(yùn)行瀏覽器API。然后,第二子代理器202判斷所述瀏覽器API是否正常地運(yùn)行(608)。所述瀏覽器API構(gòu)成為在用戶系統(tǒng)中正常地運(yùn)行時(shí),移動(dòng)至預(yù)定的特定頁(稱為瀏覽器API設(shè)置完成網(wǎng)頁),第二子代理器202基于從第一子代理器200接收的計(jì)劃具有所述瀏覽器API運(yùn)行完成網(wǎng)頁的地址信息。據(jù)此,第二子代理器202可通過將所述瀏覽器API運(yùn)行之后加載的網(wǎng)頁的地址與所述信息進(jìn)行比較,據(jù)此可確定瀏覽器API是否運(yùn)行成功。此時(shí),第二子代理器202接收到來自網(wǎng)絡(luò)瀏覽器控制器的網(wǎng)頁的完成下載的通知時(shí)(例如,文檔完整事件(Documentcompleteevent)),判斷為瀏覽器API運(yùn)行完成頁正常地被加載。如果所述608步驟的判斷結(jié)果,所述瀏覽器API的運(yùn)行完成頁被正常地加載,則第二子代理器202判斷為瀏覽器API運(yùn)行測試成功,將測試結(jié)果發(fā)送給第一子代理器200(610)。但是,如果所述瀏覽器API運(yùn)行完成頁沒有正常地被加載,則第二子代理器202判斷為瀏覽器API運(yùn)行測試失敗,將包含從對象系統(tǒng)110接收的運(yùn)行錯(cuò)誤網(wǎng)頁信息、瀏覽器API的設(shè)置位置、瀏覽器API的版本信息、注冊表信息的錯(cuò)誤消息發(fā)送給第一子代理器(612)。圖7為用于說明根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)服務(wù)監(jiān)控系統(tǒng)100的應(yīng)用運(yùn)行模擬測試700過程的圖。即,該測試是為了對已經(jīng)設(shè)置的應(yīng)用是否正常地運(yùn)行而進(jìn)行測試。第一子代理器200從服務(wù)模塊108接收用于應(yīng)用運(yùn)行模擬測試的訪問方案和策略,并據(jù)此構(gòu)建模擬測試計(jì)劃之后,向第二子代理器202發(fā)送包含所述計(jì)劃的應(yīng)用運(yùn)行測試請求(702)。接收到所述測試請求的第二子代理器202訪問對象系統(tǒng)110的應(yīng)用運(yùn)行網(wǎng)頁(704),并根據(jù)所訪問的網(wǎng)頁中包含的瀏覽器API的運(yùn)行信息在虛擬機(jī)112中運(yùn)行瀏覽器API。此時(shí),所運(yùn)行的所述瀏覽器API是為了運(yùn)行應(yīng)用而使用的瀏覽器API。如前所述,由于網(wǎng)絡(luò)瀏覽器本身無法在用戶系統(tǒng)直接運(yùn)行特定應(yīng)用,因此如本發(fā)明所述,首先運(yùn)行瀏覽器API,然后利用運(yùn)行的所述瀏覽器API運(yùn)行應(yīng)用。然后,第二子代理器202根據(jù)運(yùn)行的瀏覽器API中包含的應(yīng)用的運(yùn)行信息在虛擬機(jī)中運(yùn)行應(yīng)用(708)。然后,第二子代理器202判斷所述應(yīng)用是否正常地運(yùn)行(710)。在所述706步驟運(yùn)行的所述瀏覽器API構(gòu)成為在應(yīng)用的運(yùn)行正常地完成之后,對此進(jìn)行檢測并移動(dòng)至預(yù)定的特定頁(稱為瀏覽器API設(shè)置完成網(wǎng)頁),第二子代理器202基于從第一子代理器200接收的計(jì)劃具有所述瀏覽器API運(yùn)行完成網(wǎng)頁的地址信息。據(jù)此,第二子代理器202可通過將所述應(yīng)用運(yùn)行結(jié)束之后和所述瀏覽器API運(yùn)行之后加載的網(wǎng)頁的地址與所述信息進(jìn)行比較,據(jù)此可確定應(yīng)用是否運(yùn)行成功。此時(shí),第二子代理器202接收到來自網(wǎng)絡(luò)瀏覽器控制器的網(wǎng)頁的完成下載的通知時(shí)(例如,文檔完成事件(Documentcompleteevent)),判斷為應(yīng)用運(yùn)行完成頁正常地被加載。或者,第二子代理器202通過進(jìn)程通信(InterProcessCommunication:IPC)從虛擬機(jī)112的應(yīng)用設(shè)置處理接收正常運(yùn)行消息,由此可判斷為所述應(yīng)用被正常地運(yùn)行。但是,與此不同地,當(dāng)所述網(wǎng)絡(luò)瀏覽器控制器中發(fā)生因所述應(yīng)用運(yùn)行錯(cuò)誤引起的事件(彈出消息等),或者在預(yù)定的時(shí)間(超時(shí))內(nèi)沒有從所述應(yīng)用運(yùn)行處理接收正常運(yùn)行的消息時(shí),第二子代理器202可判斷為所述應(yīng)用沒有正常地運(yùn)行。如果所述710步驟的判斷結(jié)果,所述應(yīng)用正常地運(yùn)行,則第二子代理器202判斷為應(yīng)用運(yùn)行測試成功,將測試結(jié)果發(fā)送給第一子代理器200(712)。但是,如果所述應(yīng)用沒有正常地運(yùn)行,則第二子代理器202判斷為應(yīng)用運(yùn)行測試失敗,將包含從對象系統(tǒng)110接收的運(yùn)行錯(cuò)誤網(wǎng)頁信息、應(yīng)用的設(shè)置位置、瀏覽器API的版本信息、注冊表信息及處理信息的錯(cuò)誤消息發(fā)送給第一子代理器(714)。另外,本發(fā)明的實(shí)施例可包含計(jì)算機(jī)可讀記錄介質(zhì),該記錄介質(zhì)包含用于在計(jì)算機(jī)中執(zhí)行本說明書中描述的方法的程序。所述計(jì)算機(jī)可讀記錄介質(zhì)可包含程序指令、本地?cái)?shù)據(jù)文件、本地?cái)?shù)據(jù)結(jié)構(gòu)等或其組合。所述介質(zhì)可以是為本發(fā)明特別設(shè)計(jì)和構(gòu)建的介質(zhì),或者可以是計(jì)算機(jī)軟件領(lǐng)域中具有普通知識的技術(shù)人員公知而可以使用的介質(zhì)。計(jì)算機(jī)可讀記錄介質(zhì)的例子包括:諸如硬盤、軟盤和磁帶的磁介質(zhì);諸如CD-ROM、DVD的光記錄介質(zhì);諸如軟盤的磁-光介質(zhì);諸如ROM、RAM、閃存等特別構(gòu)成為存儲和執(zhí)行程序指令的硬件裝置。程序指令的例子不僅可以包括由編譯器創(chuàng)建的機(jī)械代碼,還可以包括通過使用解釋器等而能夠在計(jì)算機(jī)中運(yùn)行的高級語言代碼。以上,雖然利用具有代表性的實(shí)施例對本發(fā)明進(jìn)行的詳細(xì)的說明,但是本發(fā)明所屬的技術(shù)領(lǐng)域中具有通常的知識的技術(shù)人員應(yīng)知,在不脫離本發(fā)明的范圍的前提下,可進(jìn)行各種變更。因此,本發(fā)明的權(quán)利范圍并不能局限于所說明的實(shí)施例,應(yīng)該由權(quán)利要求范圍以及與權(quán)利要求范圍等同的內(nèi)容來確定。