專利名稱:用于顯示jmx監(jiān)測(cè)信息的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及監(jiān)測(cè)J2EE環(huán)境中的組件的狀態(tài),并且更具體地,涉及提高獲得并顯示狀態(tài)信息的效率。
背景技術(shù):
Java管理擴(kuò)展(JMX)應(yīng)用編程接口(API)提供了用于異步地確定Java企業(yè)版(J2EE)服務(wù)器中的系統(tǒng)組件(例如,服務(wù)器、應(yīng)用程序、進(jìn)程或其它資源)的狀態(tài)的手段。狀態(tài)監(jiān)測(cè)API需要用戶執(zhí)行復(fù)雜的查詢以便獲得所述狀態(tài),并且因此提供一個(gè)允許用戶看到大量組件的狀態(tài)的簡(jiǎn)單的客戶機(jī)是有利的。這種客戶機(jī)可包括一個(gè)網(wǎng)頁(yè),該網(wǎng)頁(yè)包括與各組件的狀態(tài)相應(yīng)的一系列圖像。
JMX查詢是被異步地執(zhí)行的,并且在任何特定的時(shí)間段內(nèi)可能不能完成。然而,網(wǎng)頁(yè)的內(nèi)容一般是順序地裝入并顯示的。因此,在前一個(gè)查詢完成之前可能不能開(kāi)始下一個(gè)JMX查詢。因?yàn)橐恍┎樵兛赡軙?huì)用一段長(zhǎng)的時(shí)間才能完成,而其它的可能僅用一段較短的時(shí)間,所以單個(gè)長(zhǎng)時(shí)間運(yùn)行的查詢可能會(huì)阻礙其它較短的查詢的完成和顯示。
圖1是現(xiàn)有技術(shù)的監(jiān)測(cè)組件狀態(tài)的過(guò)程100的方塊圖。在諸如基于Web的管理控制臺(tái)的客戶端設(shè)備102處的用戶發(fā)起JMX查詢,以確定若干服務(wù)器組件110和102的狀態(tài)。為了清楚起見(jiàn),只給出了兩個(gè)組件;可以有更多的組件包括在系統(tǒng)和查詢中。查詢首先被傳輸?shù)叫》?wù)程序(servlet)104,小服務(wù)程序104處理第一個(gè)查詢106以確定第一個(gè)服務(wù)器110的狀態(tài)。第一服務(wù)器110做出響應(yīng),在這之后小服務(wù)程序104處理第二個(gè)查詢108以確定第二個(gè)服務(wù)器120的狀態(tài)。僅當(dāng)小服務(wù)程序104收到了來(lái)自所有服務(wù)器的響應(yīng)之后,小服務(wù)程序104才將它們提供給運(yùn)行在客戶機(jī)102上的瀏覽器。
此外,用戶可能只對(duì)被給出了狀態(tài)的諸對(duì)象的一個(gè)子集感興趣,或是可能對(duì)狀態(tài)之外的信息感興趣,所述信息例如是應(yīng)用服務(wù)器的一個(gè)簡(jiǎn)單的列表。如果有10個(gè)這種服務(wù)器,并且每個(gè)JMX查詢要用3分鐘來(lái)完成,則用戶可能必須等待30分鐘才能看到結(jié)果,即使用戶所希望的特定信息可能是幾乎立即就可以得到的。
因此,存在有提高將監(jiān)測(cè)信息提供給用戶的效率的需要。
發(fā)明內(nèi)容
本發(fā)明提供了一種方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品,其允許將通過(guò)JMX查詢獲得的組件的狀態(tài)異步地裝入Web的內(nèi)容,從而每個(gè)組件的狀態(tài)值一旦成為可用的就被立即顯示出來(lái),而不需要等待任何其它查詢的完成。
圖1是現(xiàn)有技術(shù)的組件監(jiān)測(cè)系統(tǒng)的方塊圖;圖2是本發(fā)明的組件監(jiān)測(cè)系統(tǒng)的方塊圖;圖3是本發(fā)明的組件監(jiān)測(cè)系統(tǒng)的流程圖;圖4是使用本發(fā)明所獲得的組件狀態(tài)信息的顯示的示例性的屏幕快照。
具體實(shí)施例方式
圖2是本發(fā)明的組件監(jiān)測(cè)系統(tǒng)200的方塊圖。系統(tǒng)200包括運(yùn)行一個(gè)Web瀏覽器203的基于Web的管理控制臺(tái)202。并且和上面所述的一樣,雖然可以包括更多的組件,但是只給出了兩個(gè)組件210和220。同樣也參考圖3中的流程圖,控制臺(tái)202處的用戶請(qǐng)求包含任何數(shù)目的諸如服務(wù)器210和220的對(duì)象或組件的狀態(tài)的網(wǎng)頁(yè)(步驟300)。所述的狀態(tài)可以包括該組件是否已被停止、啟動(dòng)或發(fā)生了錯(cuò)誤等。用戶還可以請(qǐng)求與組件210和220有關(guān)的其它信息。調(diào)用小服務(wù)程序204(步驟302)以動(dòng)態(tài)地產(chǎn)生一個(gè)HTML文件(步驟304),其最終將被用于在控制臺(tái)202上顯示狀態(tài)信息。雖然在圖1中給出的現(xiàn)有系統(tǒng)中,小服務(wù)程序104將確定每個(gè)組件的狀態(tài),并且將相應(yīng)于所述狀態(tài)的圖像包括在HTML文件,在本發(fā)明的系統(tǒng)200中,小服務(wù)程序204不是這樣,而是將指向另一個(gè)小服務(wù)程序的圖像標(biāo)簽包括在內(nèi)(步驟306)。而且,該圖像標(biāo)簽包括足夠的信息以便執(zhí)行相應(yīng)組件的JMX查詢。例如,一個(gè)示例性的圖像標(biāo)簽可以包括<imagesrc=″/servlet/StatusServlet?component=Server&name=MyServer″/>其將調(diào)用一個(gè)名為StatusServlet的小服務(wù)程序,并且返回代表名為“MyServer”的“Server”類型的組件的狀態(tài)的一個(gè)圖像。
由HTML文件定義的網(wǎng)頁(yè)被運(yùn)行在控制臺(tái)上的瀏覽器203裝入(步驟308),并且為每個(gè)圖像標(biāo)簽發(fā)出狀態(tài)請(qǐng)求(步驟310)。這些請(qǐng)求是并行發(fā)出的。這些請(qǐng)求被傳輸給每個(gè)服務(wù)器210和220(步驟312),但是由第二小服務(wù)程序(上面例子中的StatusServlet(狀態(tài)小服務(wù)程序))的副本或?qū)嵗?12和222處理(步驟314)。該小服務(wù)程序的每個(gè)實(shí)例212、222使用在該請(qǐng)求中提供的信息,并且在相應(yīng)的服務(wù)器上產(chǎn)生JMX查詢(步驟316)。在收到了以表示該組件的狀態(tài)的值的形式給出的對(duì)查詢的響應(yīng)(步驟318)之后,每個(gè)小服務(wù)程序212、222處理該響應(yīng),并且將它傳給瀏覽器203(步驟320)。處理后的響應(yīng)包括相應(yīng)于從該JMX查詢返回的值的一個(gè)圖像。優(yōu)選地,該處理后的響應(yīng)還包括防止瀏覽器高速緩存該響應(yīng)的指示。
瀏覽器203接收以標(biāo)準(zhǔn)的可顯示的圖像出現(xiàn)的響應(yīng)(步驟322)。當(dāng)瀏覽器203接收到每個(gè)響應(yīng)時(shí),就為用戶顯示它(步驟324),即使是其它查詢?nèi)栽诒惶幚?。再次參考最初的例子,如果?0個(gè)組件,并且每個(gè)JMX查詢要用3分鐘來(lái)完成,用戶將只必須等待大約3分鐘就看到結(jié)果,與現(xiàn)有的順序方法相比有了顯著的改進(jìn)。圖4給出了顯示所接收到的幾個(gè)資源的狀態(tài)信息的瀏覽器窗口的示例性屏幕快照。
通過(guò)在此披露的諸實(shí)施例,已經(jīng)完整地了解了本發(fā)明的目標(biāo)。本領(lǐng)域的技術(shù)人員將會(huì)理解,可以通過(guò)不同的實(shí)施例實(shí)現(xiàn)本發(fā)明的各個(gè)方面,而不脫離本發(fā)明的基本功能。特定的實(shí)施例只是示例性的,并且并不旨在限制由下面的權(quán)利要求所提出的本發(fā)明的范圍。
權(quán)利要求
1.一種用于顯示JMX監(jiān)測(cè)信息的方法,包括接收對(duì)包括多個(gè)系統(tǒng)組件的狀態(tài)的網(wǎng)頁(yè)的請(qǐng)求;調(diào)用第一小服務(wù)程序,該第一小服務(wù)程序用于產(chǎn)生多個(gè)圖像標(biāo)簽,每個(gè)圖像標(biāo)簽對(duì)應(yīng)于所述組件之一并且指向第二小服務(wù)程序的一個(gè)實(shí)例,每個(gè)圖像標(biāo)簽包括用于執(zhí)行JMX查詢的信息;以及產(chǎn)生包括多個(gè)圖像標(biāo)簽的HTML文件;在Web瀏覽器內(nèi)裝入基于該HTML文件的網(wǎng)頁(yè);對(duì)于由每個(gè)圖像標(biāo)簽表示的圖像,基本上并行地向所述第二小服務(wù)程序的各實(shí)例傳輸請(qǐng)求;以及對(duì)于所述第二小服務(wù)程序的每個(gè)實(shí)例基于所述圖像標(biāo)簽內(nèi)的信息執(zhí)行JMX查詢;接收來(lái)自JMX查詢的響應(yīng),該響應(yīng)包括代表著相應(yīng)組件的狀態(tài)的值;產(chǎn)生包括該返回值的圖像;將該圖像傳輸給所述瀏覽器;以及顯示該圖像。
2.如權(quán)利要求1的方法,其中對(duì)表示相應(yīng)組件的狀態(tài)的返回值的圖像的顯示不依賴于對(duì)表示任何其它組件的狀態(tài)的返回值的圖像的顯示。
3.一種JMX狀態(tài)監(jiān)測(cè)工具,包括客戶端設(shè)備;運(yùn)行于所述客戶端設(shè)備上的瀏覽器;多個(gè)系統(tǒng)組件,每個(gè)系統(tǒng)組件具有一個(gè)當(dāng)前狀態(tài);第一小服務(wù)程序的多個(gè)實(shí)例,每個(gè)實(shí)例對(duì)應(yīng)于所述多個(gè)系統(tǒng)組件內(nèi)的一個(gè)組件;以及可以從所述瀏覽器調(diào)用的第二小服務(wù)程序,其被編程為產(chǎn)生多個(gè)圖像標(biāo)簽,每個(gè)圖像標(biāo)簽對(duì)應(yīng)于所述多個(gè)組件中的一個(gè)組件并且指向所述第一小服務(wù)程序的一個(gè)實(shí)例,每個(gè)圖像標(biāo)簽包括用于執(zhí)行JMX查詢的信息;以及產(chǎn)生包括多個(gè)圖像標(biāo)簽的HTML文件;所述瀏覽器被編程為裝入基于該HTML文件的網(wǎng)頁(yè);以及對(duì)于由每個(gè)圖像標(biāo)簽表示的圖像,基本并行地向所述第一小服務(wù)程序的各實(shí)例傳輸請(qǐng)求;以及所述第一小服務(wù)程序的每個(gè)實(shí)例被編程為基于所述圖像標(biāo)簽內(nèi)的信息執(zhí)行JMX查詢;接收來(lái)自JMX查詢的響應(yīng),該響應(yīng)包括代表著相應(yīng)組件的狀態(tài)的值。產(chǎn)生包括該返回值的圖像;將該圖像傳輸給所述瀏覽器;以及顯示該圖像。
4.如權(quán)利要求3的狀態(tài)監(jiān)測(cè)工具,其中對(duì)表示相應(yīng)組件的狀態(tài)的返回值的圖像的顯示不依賴于對(duì)表示任何其它組件的狀態(tài)的返回值的圖像的顯示。
5.一種與可編程的計(jì)算機(jī)一起使用的、計(jì)算機(jī)可讀介質(zhì)的計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品具有嵌入其內(nèi)的計(jì)算機(jī)可讀的代碼,所述代碼用于顯示JMX監(jiān)測(cè)信息,所述計(jì)算機(jī)可讀的代碼包括用于下述目的的指令接收對(duì)包括多個(gè)系統(tǒng)組件的狀態(tài)的網(wǎng)頁(yè)的請(qǐng)求;調(diào)用第一小服務(wù)程序,該第一小服務(wù)程序用于產(chǎn)生多個(gè)圖像標(biāo)簽,每個(gè)圖像標(biāo)簽對(duì)應(yīng)于所述組件之一并且指向第二小服務(wù)程序的一個(gè)實(shí)例,每個(gè)圖像標(biāo)簽包括用于執(zhí)行JMX查詢的信息,以及產(chǎn)生包括多個(gè)圖像標(biāo)簽的HTML文件;在Web瀏覽器內(nèi)裝入基于該HTML文件的網(wǎng)頁(yè);對(duì)于每個(gè)圖像標(biāo)簽表示的圖像,基本上并行地向所述第二小服務(wù)程序的實(shí)例傳輸請(qǐng)求;以及對(duì)于所述第二小服務(wù)程序的每個(gè)實(shí)例基于所述圖像標(biāo)簽內(nèi)的信息執(zhí)行JMX查詢;接收來(lái)自JMX查詢的響應(yīng),該響應(yīng)包括代表著相應(yīng)組件的狀態(tài)的值;產(chǎn)生包括該返回值的圖像;將該圖像傳輸給所述瀏覽器;以及顯示該圖像。
6.如權(quán)利要求5的程序產(chǎn)品,其中對(duì)表示相應(yīng)的組件的狀態(tài)的返回值的圖像的顯示不依賴于對(duì)表示任何其它組件的狀態(tài)的返回值的圖像的顯示。
全文摘要
本發(fā)明提供了一種顯示JMX監(jiān)測(cè)信息的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品,其允許將通過(guò)JMX查詢獲得的組件的狀態(tài)異步地裝入Web內(nèi)容,從而每個(gè)組件的狀態(tài)值一旦成為可用的就立即被顯示出來(lái),而不必等待任何其它查詢的完成。
文檔編號(hào)G06F3/00GK1622513SQ20041007478
公開(kāi)日2005年6月1日 申請(qǐng)日期2004年9月14日 優(yōu)先權(quán)日2003年11月24日
發(fā)明者B·H·丹尼爾, M·P·埃特讓, C·C·米切爾, D·N·布勞內(nèi)斯 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司