專利名稱:用于在分布式環(huán)境中監(jiān)視應(yīng)用性能的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機軟件,特別涉及分布式計算。
背景技術(shù):
商務(wù)關(guān)鍵應(yīng)用當(dāng)前使用太陽微系統(tǒng)Java 2企業(yè)版(J2EE)技術(shù)駐留在分布式服務(wù)器上。這樣的應(yīng)用包括直接向運行瀏覽器客戶端的顧客提供關(guān)鍵商務(wù)操作的服務(wù)器。各種工具和技術(shù)可用來監(jiān)視該系統(tǒng)的各個組件包括數(shù)據(jù)庫、平臺和硬件的性能。然而,顧客所感受的性能不是這些底層組件的性能,而是應(yīng)用的性能。本發(fā)明人認(rèn)識到現(xiàn)有技術(shù)中的一個關(guān)鍵問題,即不能提供有關(guān)應(yīng)用性能的信息。
由于現(xiàn)有技術(shù)產(chǎn)品不能測量應(yīng)用性能,因此有關(guān)硬件和軟件選擇的決策可能是消息不靈通的。例如,如果應(yīng)用響應(yīng)慢,則可用于管理者的一個選項是購買或租賃在其上運行應(yīng)用的附加服務(wù)器。該購買是昂貴的,并且新硬件的安裝將占用必要地從其他任務(wù)調(diào)離的信息技術(shù)部門人員。對應(yīng)用響應(yīng)慢的其他應(yīng)對措施包括改變各種硬件的配置。然而,可能需要試驗各種硬件和軟件配置的眾多不同組合以便改善應(yīng)用性能。
發(fā)明內(nèi)容
本發(fā)明的一種用于在分布式計算環(huán)境中監(jiān)視運行在服務(wù)器上的應(yīng)用的性能的方法包括以下步驟提示用戶選擇用于監(jiān)視的信息,根據(jù)所選信息監(jiān)視應(yīng)用性能,并且使監(jiān)視性能信息可用于用戶。
本發(fā)明的一種方法包括以下步驟提示用戶選擇服務(wù)器或服務(wù)器組、資源和用于通知的閾值或條件,將參數(shù)的值或質(zhì)量與該閾值或條件進行比較,并且在參數(shù)達到該閾值或條件的情況下向用戶提供通知。
本發(fā)明的一種方法包括以下步驟向用戶提供與在分布式計算環(huán)境中運行于服務(wù)器上的應(yīng)用相關(guān)的性能信息,從用戶接收對更特定性能信息的請求,并且響應(yīng)該請求而提供更詳細的性能信息。
本發(fā)明的一種方法包括以下步驟從用戶接收服務(wù)器的標(biāo)識作為授權(quán)服務(wù)器,并且接收另一服務(wù)器的標(biāo)識作為比較服務(wù)器,在所選服務(wù)器之間比較形式為CPU數(shù)據(jù)、服務(wù)器數(shù)據(jù)和Java數(shù)據(jù)中的一項或多項的運行時環(huán)境數(shù)據(jù),并且向用戶顯示差別。
本發(fā)明的一種方法包括以下步驟從用戶接收服務(wù)器的標(biāo)識作為授權(quán)服務(wù)器,并且接收另一服務(wù)器的標(biāo)識作為比較服務(wù)器,并且提供匹配和不同文件名的列表。該方法還可包括以下步驟從用戶接收文件選擇,進行文件比較,并且將結(jié)果提供給用戶。
本發(fā)明的一種方法包括以下步驟接收請求字符串,并且將所接收的請求字符串映射成可區(qū)別請求字符串和可分拆(collapsible)請求字符串。所接收的請求字符串可采取JSP、小服務(wù)程序和遠程企業(yè)版Java組件(Enterprise Java Bean)調(diào)用的形式。本發(fā)明的一種方法可提示用戶創(chuàng)建用于將所接收的請求字符串映射成可區(qū)別請求字符串和可分拆請求字符串的規(guī)則。
本發(fā)明的一種方法包括以下步驟在運行至少一個應(yīng)用的系統(tǒng)中提供具有用于監(jiān)視和管理的各組件的管理應(yīng)用,并且實時地監(jiān)視并向用戶提供有關(guān)各組件的配置和各組件之間的關(guān)系的信息。
本發(fā)明的一種方法包括以下步驟向每個用戶分配角色,并且通過訪問控制列表在功能訪問和每個用戶角色之間進行映射,由此根據(jù)用戶所分配的角色限制功能訪問。
本發(fā)明的一種用于在分布式計算環(huán)境中監(jiān)視運行在服務(wù)器上的應(yīng)用的性能的系統(tǒng)包括用于提示用戶選擇用于監(jiān)視的信息的計算機軟硬件;用于根據(jù)從用戶接收的所選信息監(jiān)視應(yīng)用性能的計算機軟硬件;以及用于使監(jiān)視性能信息可用于用戶的計算機軟硬件。
本發(fā)明的一種系統(tǒng)包括用于提示用戶選擇服務(wù)器或服務(wù)器組、資源和用于通知的閾值或條件的計算機軟硬件;用于將所監(jiān)視的服務(wù)器或服務(wù)器組上的資源參數(shù)的值或質(zhì)量與該閾值或條件進行比較的計算機軟硬件;以及用于在參數(shù)達到該閾值或條件的情況下向用戶提供通知的計算機軟硬件。
本發(fā)明的一種系統(tǒng)包括用于向用戶提供與在分布式計算環(huán)境中運行于服務(wù)器上的一個或多個應(yīng)用相關(guān)的性能信息的計算機軟硬件;用于從用戶接收對更特定性能信息的請求的計算機軟硬件;以及用于響應(yīng)該請求而提供更詳細的性能信息的計算機軟硬件。
本發(fā)明的一種系統(tǒng)包括用于從用戶接收第一服務(wù)器的標(biāo)識作為授權(quán)服務(wù)器,并且接收第二服務(wù)器的標(biāo)識作為比較服務(wù)器的計算機軟硬件;用于在所選服務(wù)器之間比較來自授權(quán)服務(wù)器和比較服務(wù)器的運行時環(huán)境數(shù)據(jù)的計算機軟硬件,其中運行時環(huán)境數(shù)據(jù)的形式為CPU數(shù)據(jù)、服務(wù)器數(shù)據(jù)和Java數(shù)據(jù)中的一項或多項;以及用于向用戶顯示所選服務(wù)器之間該數(shù)據(jù)的差別的計算機軟硬件。
本發(fā)明的一種系統(tǒng)包括用于從用戶接收第一服務(wù)器的標(biāo)識作為授權(quán)服務(wù)器,并且接收第二服務(wù)器的標(biāo)識作為比較服務(wù)器的計算機軟硬件;以及用于提供匹配和不同文件名的列表的計算機軟硬件。該系統(tǒng)還可包括用于從用戶接收授權(quán)服務(wù)器和比較服務(wù)器兩者上的文件選擇的計算機軟硬件;用于進行文件比較的計算機軟硬件、以及用于將結(jié)果提供給用戶的計算機軟硬件。
本發(fā)明的一種系統(tǒng)包括用于接收請求字符串的計算機軟硬件;以及用于將所接收的請求字符串映射成可區(qū)別請求字符串和可分拆請求字符串的計算機軟硬件。所接收的請求字符串可采取JSP、小服務(wù)程序和遠程企業(yè)版Java組件調(diào)用的形式。本發(fā)明的一種系統(tǒng)可包括用于提示用戶創(chuàng)建用于將所接收的請求字符串映射成可區(qū)別請求字符串和可分拆請求字符串的規(guī)則的計算機軟硬件。
本發(fā)明的一種系統(tǒng)包括用于在運行至少一個應(yīng)用的系統(tǒng)中提供具有用于監(jiān)視和管理的各組件的管理應(yīng)用、以及用于實時地監(jiān)視并向用戶提供有關(guān)各組件的配置和各組件之間的關(guān)系的信息的計算機軟硬件。
本發(fā)明的一種系統(tǒng)包括用于向每個用戶分配角色的計算機軟硬件;以及用于通過訪問控制列表在功能訪問和每個用戶角色之間進行映射,由此根據(jù)用戶所分配的角色限制功能訪問的計算機軟硬件。
本發(fā)明的一種用于在分布式計算環(huán)境中監(jiān)視運行在服務(wù)器上的應(yīng)用的性能的計算機程序包括存儲在介質(zhì)上的多條指令,這些指令在處理器上執(zhí)行時使處理器執(zhí)行以下步驟提示用戶選擇用于監(jiān)視的信息,根據(jù)所選信息監(jiān)視應(yīng)用性能,并且使監(jiān)視性能信息可用于用戶。
本發(fā)明的一種計算機程序包括存儲在介質(zhì)上的多條指令,這些指令在處理器上執(zhí)行時使處理器執(zhí)行以下步驟提示用戶選擇服務(wù)器或服務(wù)器組、資源和用于通知的閾值或條件,將所檢測的服務(wù)器或服務(wù)器組上的資源參數(shù)的值或質(zhì)量與該閾值或條件進行比較,并且在參數(shù)達到該閾值或條件的情況下向用戶提供通知。
本發(fā)明的一種計算機程序包括存儲在介質(zhì)上的多條指令,這些指令在處理器上執(zhí)行時使處理器執(zhí)行以下步驟向用戶提供與在分布式計算環(huán)境中運行于服務(wù)器上的應(yīng)用相關(guān)的性能信息,從用戶接收對更特定性能信息的請求,并且響應(yīng)該請求而提供更詳細的性能信息。
本發(fā)明的一種計算機程序包括存儲在介質(zhì)上的多條指令,這些指令在處理器上執(zhí)行時使處理器執(zhí)行以下步驟從用戶接收第一服務(wù)器的標(biāo)識作為授權(quán)服務(wù)器,并且接收第二服務(wù)器的標(biāo)識作為比較服務(wù)器,在所選服務(wù)器之間比較形式為CPU數(shù)據(jù)、服務(wù)器數(shù)據(jù)和Java數(shù)據(jù)中的一項或多項的運行時環(huán)境數(shù)據(jù),并且向用戶顯示差別。
本發(fā)明的一種計算機程序包括存儲在介質(zhì)上的多條指令,這些指令在處理器上執(zhí)行時使處理器執(zhí)行以下步驟從用戶接收第一服務(wù)器的標(biāo)識作為授權(quán)服務(wù)器,并且接收第二服務(wù)器的標(biāo)識作為比較服務(wù)器,并且提供第一和第二服務(wù)器之間匹配和不同文件名的列表。該程序還可包括在處理器上執(zhí)行時使處理器執(zhí)行以下步驟的多條指令從用戶接收在第一和第二服務(wù)器兩者上都找到的文件的選擇,進行文件比較,并且將結(jié)果提供給用戶。
本發(fā)明的一種計算機程序包括存儲在介質(zhì)上的多條指令,這些指令在處理器上執(zhí)行時使處理器執(zhí)行以下步驟接收請求字符串,并且將所接收的請求字符串映射成可區(qū)別請求字符串和可分拆請求字符串。所接收的請求字符串可采取JSP、小服務(wù)程序和遠程企業(yè)版Java組件調(diào)用的形式。
本發(fā)明的一種計算機程序包括存儲在介質(zhì)上的多條指令,這些指令在處理器上執(zhí)行時使處理器執(zhí)行以下步驟在運行至少一個應(yīng)用的系統(tǒng)中提供具有用于監(jiān)視和管理的各組件的管理應(yīng)用,并且實時地監(jiān)視并向用戶提供有關(guān)各組件的配置和各組件之間的關(guān)系的信息。
本發(fā)明的一種計算機程序包括存儲在介質(zhì)上的多條指令,這些指令在處理器上執(zhí)行時使處理器執(zhí)行以下步驟向每個用戶分配角色,并且通過訪問控制列表在功能訪問和每個用戶角色之間進行映射,由此根據(jù)用戶所分配的角色限制功能訪問。
圖1是根據(jù)本發(fā)明的方法的流程圖。
圖2A和2B是示出根據(jù)本發(fā)明的方法的流程圖。
圖3是根據(jù)本發(fā)明的方法的示意圖示。
圖4是示出根據(jù)本發(fā)明的方法的流程圖。
圖5是示出根據(jù)本發(fā)明的方法的流程圖。
圖6是示出本發(fā)明特征的示意圖。
圖7是示出本發(fā)明特征的示意圖。
圖8是示出示例性架構(gòu)的示意圖。
圖9是示出示例性架構(gòu)的特征的示意圖。
圖10是示出示例性架構(gòu)的特征的圖。
圖11是示出示例性架構(gòu)的特征的示意圖。
圖12是示出示例性架構(gòu)的特征的示意圖。
圖13是示出示例性架構(gòu)的流程圖。
具體實施例方式
本發(fā)明包括用于監(jiān)視和提供有關(guān)計算機系統(tǒng)特定方面的性能的信息的過程、以及用于實現(xiàn)這些目的的計算機程序和系統(tǒng)。該方法和系統(tǒng)將參考用于實現(xiàn)這些目的且用于本發(fā)明的系統(tǒng)中的計算機程序來描述。本發(fā)明的計算機程序特別有用于運行在應(yīng)用服務(wù)器上的應(yīng)用。本發(fā)明的計算機程序包括向用戶提供各種信息和選項的用戶界面。安裝在應(yīng)用服務(wù)器上的探測器獲得與應(yīng)用和服務(wù)器的操作相關(guān)的信息,并且將該信息提供給其他程序元素以進行分析并且報告給用戶。
監(jiān)視級別和調(diào)度表(schedule)在根據(jù)本發(fā)明的方法、系統(tǒng)和計算機程序中,提供了用于提供有關(guān)運行在服務(wù)器上的應(yīng)用的操作的選定詳細級別的能力。提示用戶標(biāo)識用于監(jiān)視的信息,如圖1的105所示。最好,向用戶提供至少兩個關(guān)于監(jiān)視詳細級別的選項。術(shù)語監(jiān)視詳細級別是指有關(guān)應(yīng)用運行而獲得的信息的數(shù)量和性質(zhì)。監(jiān)視詳細級別可以是指所獲得的數(shù)據(jù)或信息的數(shù)量。詳細級別也可以是指所獲得的信息的性質(zhì)。例如,某些類型的信息如服務(wù)器可用性信息處于較高的詳細級別。其他類型的信息如方法跟蹤信息處于較低的詳細級別。
可提示用戶選擇監(jiān)視級別。用戶可選擇要監(jiān)視的特定特征??蛇x地,可提供預(yù)選監(jiān)視級別。每個預(yù)選監(jiān)視級別與被監(jiān)視和報告的特定信息相關(guān)聯(lián)。當(dāng)如圖1的塊110所示從用戶接收到監(jiān)視級別或特定特征的選擇時,本發(fā)明的程序如圖所示監(jiān)視應(yīng)用性能,并且使監(jiān)視性能信息可用于用戶。在圖1所示的一個例子中,可提供三個監(jiān)視級別。當(dāng)從用戶接收到請求時,系統(tǒng)確定監(jiān)視級別,如判定塊115所示。在第1級即最高級由此是提供最少信息的級別,信息的性質(zhì)可以是請求級數(shù)據(jù)和服務(wù)器級數(shù)據(jù)。例如,相關(guān)信息可以是可用性管理、系統(tǒng)資源和分布式平臺,以及基本請求數(shù)據(jù),如塊120所示??捎眯怨芾戆P(guān)于特定應(yīng)用是否運行在特定服務(wù)器上的信息。系統(tǒng)資源表示諸如可用存儲器量和可用連接數(shù)的信息。基本請求數(shù)據(jù)表示正在進行的請求數(shù)、已完成的請求數(shù)等。
在同一例子中,可向用戶提供第2級監(jiān)視的選擇。第2級監(jiān)視選擇通常包括通過第1級監(jiān)視提供的所有信息,以及附加信息,如塊125所示。附加信息可以是API級數(shù)據(jù),例如SQL數(shù)據(jù)、JMS數(shù)據(jù)和EJB調(diào)用數(shù)據(jù)。該數(shù)據(jù)可包括有關(guān)特定CPU的吞吐量的數(shù)據(jù)??商峁┰试S用戶提供請求的軟取消的功能性。不提供方法數(shù)據(jù)或SQL級數(shù)據(jù)。為了提供附加數(shù)據(jù),在對應(yīng)JVM上激活JVMPI。該級別涉及問題確定,并且可用于具有高事務(wù)量但偶爾不穩(wěn)定的服務(wù)器。事務(wù)的復(fù)雜度可以變化。由于在對應(yīng)JVM上激活了JVMPI,因此可向用戶提供動態(tài)改變至更詳細監(jiān)視級別如下述第3級的選項。
在同一例子中,可向用戶提供第3級監(jiān)視的選擇。第3級監(jiān)視提供關(guān)于第2級監(jiān)視而提供的信息,加上方法級數(shù)據(jù)。第3級可包括高級問題確定和報告,其例如包括方法和SQL級數(shù)據(jù),如塊130所示。在對應(yīng)JVM上激活JVMPI。JVMPI函數(shù)調(diào)用是可能的,并且選擇方法進入和退出事件。該級別典型地用于被選擇以進行診斷、詳細工作量表征和剖析(profiling)的服務(wù)器。由于如上所述該級別需要激活JVMPI,因此有可能在該級別和激活了JVMPI的其他級別如上述示例性第2級之間動態(tài)改變。在所有情況下,如上所述,并且如塊135所示,向用戶提供監(jiān)視信息。
在優(yōu)選實施例中,如塊140所示,提示用戶定義用于監(jiān)視的調(diào)度表。如塊145所示,從用戶接收調(diào)度表,并且如塊150所示,根據(jù)調(diào)度表進行監(jiān)視。調(diào)度表至少定義開始時間、監(jiān)視級別和服務(wù)器或服務(wù)器組,其中開始時間最好采用日歷日期和時間定義。本發(fā)明的程序可允許用戶選擇用于監(jiān)視的各個數(shù)據(jù)項而非監(jiān)視級別。調(diào)度表可定義改變監(jiān)視級別的時間,其也可按照日歷日期和時間。調(diào)度表可被選擇成適當(dāng)?shù)匮h(huán),如每月、每星期或每天。在優(yōu)選實施例中,調(diào)度表包括一組調(diào)度表記錄,其中每一個是開始日期和時間以及監(jiān)視級別的組合。本發(fā)明的程序使監(jiān)視以第一調(diào)度表記錄開始,并且在當(dāng)前時間是另一個調(diào)度表記錄的開始時間和日期時改變監(jiān)視。該過程通過連續(xù)的調(diào)度表記錄而繼續(xù)。缺省監(jiān)視級別可被提供以在調(diào)度表中沒有指定監(jiān)視的時候使用。該程序可被提供可由用戶改變的缺省值。提示用戶對一個或多個服務(wù)器或服務(wù)器組應(yīng)用完全調(diào)度表??上蛴脩籼峁?fù)制現(xiàn)有調(diào)度表的選項,并且提示其提供應(yīng)用該調(diào)度表的服務(wù)器和服務(wù)器組。可向用戶提供修改調(diào)度表字段的選項。最好,如果通過刪除服務(wù)器或服務(wù)器組來修改調(diào)度表,則將提示用戶對那個服務(wù)器或服務(wù)器組應(yīng)用另一調(diào)度表。該程序可被配置成防止用戶從給定服務(wù)器中刪除所有調(diào)度表??蛇x地,當(dāng)從給定服務(wù)器或組中刪除所有調(diào)度表時,受影響服務(wù)器或服務(wù)器組的監(jiān)視可返回到缺省監(jiān)視級別??上蛴脩籼峁﹦h除調(diào)度表的選項,并且對于與被刪除調(diào)度表相對應(yīng)的時間和服務(wù)器或服務(wù)器組,可以缺省級別進行監(jiān)視。
盡管可使用程序化監(jiān)視級別,其中預(yù)選擇了要監(jiān)視的項目,但是本發(fā)明的系統(tǒng)可允許具有適當(dāng)授權(quán)的用戶人工改變要監(jiān)視的項目。該人工改變最好將僅是臨時可用的,并且可限定于特定服務(wù)器或服務(wù)器組。
如果服務(wù)器被重啟,則系統(tǒng)沿著分級搜索路徑以確定適當(dāng)?shù)谋O(jiān)視級別。如果有可能聯(lián)系調(diào)度器,則詢問臨時覆蓋,然后是調(diào)度監(jiān)視級別,然后使用系統(tǒng)范圍的監(jiān)視級別。當(dāng)不能聯(lián)系調(diào)度器時,則使用缺省監(jiān)視級別。
監(jiān)視陷阱和告警在根據(jù)本發(fā)明的方法、系統(tǒng)和計算機程序中,在進行服務(wù)器監(jiān)視的時候,向用戶提供告警。當(dāng)選定服務(wù)器或服務(wù)器組上的被監(jiān)視資源的參數(shù)達到選定匹配條件或者該條件的閾值時,提供告警。能夠向用戶提供通知或告警的軟件在此稱作軟件陷阱(software trap)。用戶可從本發(fā)明程序的菜單中選擇創(chuàng)建或修改軟件陷阱的選項。提示用戶作出多個選擇以便創(chuàng)建新軟件陷阱。這些選擇包括將在其上應(yīng)用陷阱的服務(wù)器或服務(wù)器組、要測量的資源以及條件。如圖2的例子所示,第一步驟可以是提示用戶選擇服務(wù)器或服務(wù)器組,如塊205所示。接收該選擇,如塊210所示。
所需信息根據(jù)陷阱類型而改變,并且提示用戶提供陷阱類型,如塊215所示。
對于第一類型的陷阱,如判定塊220和塊225所示,必須選擇資源和閾值形式的條件。資源可包括現(xiàn)象(occurrence)、CPU時間、駐留時間(resident time)、等待時間和SQL駐留時間。閾值將依賴于特定類型的資源。當(dāng)如230所示選擇資源時,系統(tǒng)可向用戶提供用于閾值選擇的單位。陷阱可應(yīng)用于任何請求、特定請求名稱或特定方法名稱。然后,陷阱繼續(xù)監(jiān)視所選資源,如塊235所示。如果滿足了閾值,則系統(tǒng)評測是否觸發(fā)了告警條件,如塊236和237所示。如果否,則可記錄該事件,如塊238所示。如果滿足了告警條件,則如239所示,將告警通知給用戶并作記錄。
對于第二類型的軟件陷阱,如塊240和242所示,必須選擇資源和帶有命中數(shù)的條件。為了設(shè)置這種軟件陷阱,提示用戶指定資源和條件,如242所示。資源可以是例如HTTP請求參數(shù)或SQL語句。對于HTTP或SQL請求,條件是包含在HTTP/SPL請求中的指定字符串。該條件也可采取應(yīng)用于字符串的布爾型表達式的形式。當(dāng)用戶在244提供所請求的資源和條件時,軟件陷阱執(zhí)行監(jiān)視,如圖2B的246所示。每當(dāng)請求或語句被識別為滿足條件時,增加命中計數(shù)器,如圖2B的塊248、250和252所示。如果對足夠的命中進行了計數(shù),則達到告警條件,并且通知告警并作記錄,如254所示。
第三類型的陷阱應(yīng)用于應(yīng)用服務(wù)器的資源消耗的條件。要求用戶選擇應(yīng)用服務(wù)器或組。提示用戶在多個資源和閾值中指定資源和閾值,如圖2B的塊260、262和264所示。資源可包括與應(yīng)用服務(wù)器可用性、數(shù)據(jù)庫連接池和JVM運行時存儲器相關(guān)的信息。服務(wù)器可用性被測量為簡單的肯定或否定。對于數(shù)據(jù)庫連接池,可設(shè)置多個不同閾值,其包括分配給連接數(shù)的連接數(shù);等待連接的平均線程數(shù);客戶端等待被給予連接的平均時間;連接池超時數(shù);以及池使用平均百分比。對于JVM運行時存儲器,資源可以是JVM運行時的空閑存儲器量和JVM運行時的已用存儲器量。提示用戶提供一個數(shù)目,并且指示該數(shù)目是最大值還是最小值。對于空閑存儲器和已用存儲器,可向用戶提供適合的單位,例如兆字節(jié)。還提示用戶選擇在創(chuàng)建告警消息之前滿足條件的次數(shù)。如266所示,監(jiān)視資源,并且如果滿足了告警條件,則如268和270所示,通知并記錄告警。
現(xiàn)在將描述確定在什么情形下向操作員通知由陷阱識別的數(shù)據(jù)的告警條件。在工作中,當(dāng)滿足了在軟件陷阱中設(shè)置的閾值條件時,根據(jù)用戶所設(shè)置的條件,發(fā)送告警,或者增加計數(shù)器。如果增加了計數(shù)器,則對照閾值檢查新計數(shù)。告警操作可采取若干形式。告警最好被記錄以用于審核的目的,其包括陷阱條件、觸犯被監(jiān)視資源、觸犯值以及日期/時間戳??僧a(chǎn)生觸犯請求、方法或線程的局部轉(zhuǎn)儲,從而可進行顯示訪問??商峁┒褩8櫤头椒ǜ?。例如通過電子郵件或其他消息如SNMP告警,可通知一個或多個人。例如通過僅在閾值的第三次出現(xiàn)之后才發(fā)送電子郵件,可包括告警的升級。對多個條件采取的多個操作的其他例子可容易地被想象到。當(dāng)檢測到命中閾值時,將計數(shù)器復(fù)位為零。如果指定了布爾型條件,則每次滿足了邊界時重新評測條件。如果指定了方法,則在檢測到該方法之后重新評測條件。
對陷阱/告警日志進行維護,從而識別通過日期/時間戳的條目,以及從告警獲得的其他信息。用戶可在運行時監(jiān)視陷阱,以查看日志和計數(shù)器。用戶可被提供在活動和不活動狀態(tài)之間切換陷阱的能力。
應(yīng)用性能分析在本發(fā)明的方法、系統(tǒng)和計算機程序中,該程序提供獲得性能分析的能力。以較高級別提供信息,并且用戶具有請求和接收更詳細信息的選項。信息以稱作報告的格式來提供。一般而言,提示用戶選擇報告類型,如圖3的305所示,并且向用戶提供高級別報告或趨勢報告,如310所示。根據(jù)趨勢報告,向用戶提供選擇各種更詳細報告的選項。用戶被提供連續(xù)獲得更詳細報告的選項。用戶具有對照來自前一時間周期的基線數(shù)據(jù)比較報告中的性能數(shù)據(jù)的選項。報告包括從應(yīng)用角度的諸如服務(wù)器可用性、服務(wù)器資源、商務(wù)性能、應(yīng)用性能和數(shù)據(jù)庫性能的信息。
從由特定應(yīng)用服務(wù)器提供的應(yīng)用編程者接口(API)和服務(wù)(例如,Websphere中的PMI)和數(shù)據(jù)收集器在其上工作的用戶應(yīng)用,獲得數(shù)據(jù)。所獲得的數(shù)據(jù)將是工作數(shù)據(jù)集。可獲得作為選定類型報告的趨勢報告。報告存儲在服務(wù)器組級別上。最初,例如從API、服務(wù)器和用戶應(yīng)用獲得數(shù)據(jù)。用戶可以能夠確定要捕獲的應(yīng)用數(shù)據(jù)的數(shù)量。該數(shù)量可被表達為應(yīng)當(dāng)存儲的總請求樣本的百分比。提示用戶選擇從其提取請求樣本的應(yīng)用服務(wù)器,可提示用戶按照時間周期如分鐘來選擇用戶想要獲取數(shù)據(jù)快照的頻率。
冗余數(shù)據(jù)的使用應(yīng)當(dāng)受到限制。采樣率被定義為確定在性能歷史數(shù)據(jù)庫中要記錄多少數(shù)據(jù)。提示用戶設(shè)置采樣率,從而限制存儲在數(shù)據(jù)庫中所需的數(shù)據(jù)量。表1示出多個計量(metric)、每個計量的描述、以及從其獲取數(shù)據(jù)的資源。
可提供各種報告,包括示出趨勢的報告類型,以及有關(guān)單個數(shù)據(jù)點的分裂/分解報告類型。
在圖3所示的一個實施例中,提示用戶提供工作集的某些數(shù)據(jù),如305所示,然后提供這些數(shù)據(jù),如310所示。這些數(shù)據(jù)包括應(yīng)用服務(wù)器或組、分析類型、數(shù)據(jù)周期、數(shù)據(jù)間隔、聚集周期,即數(shù)據(jù)的編組方式、用于選擇數(shù)據(jù)點的過濾標(biāo)準(zhǔn)、分析類型如請求、方法、SQL、服務(wù)器可用性和應(yīng)用服務(wù)器分析、以及基線。然后,用戶可選擇一種分析,如315所示。
如果選擇了請求分析,如320所示,則提示用戶選擇計量。計量的例子是吞吐量、響應(yīng)時間以及CPU時間,如321所示。響應(yīng)該選擇,提供趨勢分析,其中帶有表示時間間隔和應(yīng)用服務(wù)器的標(biāo)簽,如322所示。用戶可通過請求類型或請求名稱,或者在報告應(yīng)用于服務(wù)器組的情況下通過服務(wù)器名稱來分裂(break down)請求趨勢報告。前述分裂可稱作分解(decomposition),如323所示。用戶還可分裂分解的任一部分??蛇x地,從趨勢報告,用戶可獲得有關(guān)任一數(shù)據(jù)點的詳細信息。該進一步分裂可稱作詳細報告,如324所示。在詳細報告的一個記錄上,詳細報告還可進一步分裂為如325所示的跟蹤報告。跟蹤報告提供方法進入和退出信息,以及所選計量。因此,可以看到,用戶可深入到進一步的詳細級別。
如果如330所示選擇了方法分析,則提示用戶選擇一個計量,其可以是吞吐量、響應(yīng)時間和CPU時間之一,如331所示。用戶被提供將報告限于諸如特定請求名稱、請求類型或方法名稱的項目。在從用戶接收到選擇之后,本發(fā)明的系統(tǒng)產(chǎn)生具有趨勢分析的報告,如332所示。根據(jù)趨勢報告,用戶可通過請求名稱或請求類型來選擇趨勢分析的分裂。所得到的報告將稱作方法分析的分解報告,如333所示。如果適用,在報告覆蓋服務(wù)器組的情況下,用戶可通過服務(wù)器來分解趨勢分析報告。用戶可選擇方法分析的分解報告的任何部分,以通過單獨記錄分裂到詳細信息并且進行查看,或者用戶可選擇將趨勢報告中的單個數(shù)據(jù)點分裂成多個記錄。所得到的報告稱作如334所示的詳細報告。
如果如340所示用戶選擇SQL分析報告,則如341所示,提示用戶選擇吞吐量和響應(yīng)時間的計量之一。用戶可選擇特定請求名稱或請求類型、方法名稱、表名稱或SQL調(diào)用。作為響應(yīng),如342所示,系統(tǒng)提供趨勢分析。趨勢分析可通過請求名稱、請求類型、方法名稱和/或表名稱來分裂以提供分解報告,如343所示。該報告可包括作為總百分比的樣本數(shù)。用戶可分裂分解報告的任一部分以通過各個記錄獲得詳細信息,或者通過單個數(shù)據(jù)點來分裂趨勢報告以獲得各個記錄。具有各個記錄的報告稱作詳細報告,如344所示。
如果用戶選擇服務(wù)器可用性分析報告,如350所示,則提供趨勢分析,如351所示。沒有計量被選擇。在可用性趨勢報告中,系統(tǒng)可標(biāo)示一系列時間間隔上的組工作時間百分比。用戶可通過應(yīng)用服務(wù)器分裂組的趨勢報告,如352所示。
可選擇應(yīng)用服務(wù)器分析報告,如360所示??商崾居脩籼峁┮韵掠嬃恐怀卮笮 ⑼瑫r等待者、平均等待時間、故障數(shù)、池使用百分比、物理連接數(shù)、JVM空閑存儲器以及JVM已用存儲器,如361所示。提供趨勢分析報告,如362所示。
可以任何適合方式來提供報告。趨勢報告可以是每個數(shù)據(jù)點的線圖,其中具有所有數(shù)據(jù)的表式視圖(tablature view)??商峁┍容^性基線顯示,其示出過去選定時間的相同數(shù)據(jù)。例如,基線數(shù)據(jù)可表示前一天相同時間的相同數(shù)據(jù)。對于分解報告,可按照類型提供條形圖或餅狀圖,其中具有所有數(shù)據(jù)的表式視圖。用戶最好能夠選擇分解報告的一部分以深入到詳細報告??稍谠敿殘蟾嬷刑峁┗€數(shù)據(jù)以進行比較。
軟件一致性檢查在本發(fā)明的方法、系統(tǒng)和程序中,可進行各個服務(wù)器上應(yīng)用操作的比較。該比較在識別不同服務(wù)器中的可能配置問題方面是有價值的。
該比較的例子稱作n路區(qū)分(n-way diff)。對于每個服務(wù)器,本發(fā)明的程序獲得關(guān)于如何設(shè)置和安裝系統(tǒng)的運行時環(huán)境數(shù)據(jù)。這些環(huán)境可以是系統(tǒng)、java和應(yīng)用服務(wù)器。對于系統(tǒng),環(huán)境信息可包括CPU速度、在線CPU數(shù)、離線CPU數(shù)、存儲器、操作系統(tǒng)版本以及物理盤空間。還可包括其他信息。對于Java,該信息可包括JDK版本、安裝目錄、Java策略、操作系統(tǒng)信息、類路徑以及庫路徑。對于應(yīng)用服務(wù)器,該信息可包括應(yīng)用服務(wù)器、啟動目錄、監(jiān)聽端口、SSL監(jiān)聽端口、已登記小服務(wù)程序數(shù)、已登記EJB數(shù)、JDBC連接池數(shù)以及EAR數(shù)。該程序可提示用戶選擇一個服務(wù)器作為授權(quán)服務(wù)器,如圖4的405所示,接收選擇,如410所示,然后提示用戶選擇用于比較的服務(wù)器,如415所示。一旦用戶選擇了用于比較的服務(wù)器,如420所示,則系統(tǒng)獲得并顯示比較結(jié)果,如425所示。比較結(jié)果可包括上述運行時環(huán)境信息。比較結(jié)果可僅包含區(qū)別數(shù)據(jù),并且可以圖形方式表示。系統(tǒng)最好允許用戶從顯示結(jié)果深入到顯示每個應(yīng)用服務(wù)器的所有相關(guān)信息的詳細信息屏幕,如430、435所示。
在另一種比較中,可執(zhí)行二進制文件與匹配文件名的比較。在頂級分析,提示用戶從組中選擇一個服務(wù)器作為授權(quán)服務(wù)器,如圖5的505所示。用戶提供選擇,如510所示,然后提示用戶選擇一個或多個服務(wù)器作為比較服務(wù)器,如515所示。一旦在520接收到比較服務(wù)器選擇,則如525所示,提示用戶選擇文件源。用戶可從被認(rèn)為是形成授權(quán)服務(wù)器的主文件列表的EAR文件夾或CLASSPATH的列表中選擇。如530所示,用戶提供選擇。如535所示,還提示用戶選擇用于組成主文件列表的文件類型之一。在540,接收文件類型。作為響應(yīng),系統(tǒng)開始根據(jù)從授權(quán)服務(wù)器選擇的源和文件類型準(zhǔn)備主文件列表。然后,系統(tǒng)在比較服務(wù)器中搜索列在主文件列表中的文件,如545所示。在550,對于每個比較,顯示結(jié)果。結(jié)果可分成已找到的文件和未找到的文件。對于已找到的類別,該列表包括匹配文件,即具有匹配文件名、大小和文件系統(tǒng)時間戳的所有文件;相同文件夾,即具有匹配文件名和大小而非時間戳的文件;以及不同文件夾,即僅具有匹配文件名的文件。對于未找到的文件,文件分成授權(quán)服務(wù)器而非比較服務(wù)器中的文件和比較服務(wù)器而非授權(quán)服務(wù)器中的所有文件。顯示這些文件列表。該顯示允許用戶容易地比較授權(quán)和比較服務(wù)器中的文件。
系統(tǒng)允許用戶從該顯示深入以獲得有關(guān)文件的附加信息。用戶可選擇一個比較服務(wù)器,并且從授權(quán)文件選擇一個文件,以進行詳細比較,如555所示。系統(tǒng)將執(zhí)行文件比較,其結(jié)果為“相同”或“不同”。比較可使用校驗和計算,如MD5算法。應(yīng)當(dāng)注意,在一個實施例中,對于JAR文件,在可運行比較之前,需要進一步的級別。首先,提取歸檔文件,然后執(zhí)行名稱匹配。然后,可運行比較。作為這些比較的結(jié)果,在服務(wù)器之間比較文件的名稱和文件的內(nèi)容,如560所示。諸如變異版本和受損代碼的問題可被容易地識別。
請求改寫在本發(fā)明的方法、系統(tǒng)和程序中,可提供一種用于改寫或映射特定請求的方法、系統(tǒng)和程序。具體地說,在本發(fā)明的系統(tǒng)中接收三種不同類型的請求。這些請求是JSP、小服務(wù)程序和遠程企業(yè)版Java組件調(diào)用。這些請求典型地采取字符串的形式,并且從另一個應(yīng)用如萬維網(wǎng)(web)服務(wù)器或另一個應(yīng)用服務(wù)器接收。在本發(fā)明的系統(tǒng)中采用這些請求,以用于兩個不同的目的。這些請求可用于標(biāo)識的目的。這些請求還可用來表示商務(wù)請求或應(yīng)用。一般而言,請求字符串的隱式雙重含義沒有問題。然而,存在該雙重含義可產(chǎn)生沖突的情形。例如,在門戶站點中,URL形式的請求字符串通??瓷先ネ耆嗤虼吮阌谧罱K用戶記憶;然而,它們被使用底層數(shù)據(jù)對象如請求或會話對象的門戶引擎認(rèn)為是不同類型的請求。在問題確定期間,當(dāng)操作員或管理員看到由相同字符串表示的不同功能的請求而不進行字符串之間的解析時,他們將會困惑。另一方面,單個應(yīng)用可涉及多個不同請求字符串,并且在它們成功執(zhí)行之后,相對于一個應(yīng)用名稱或標(biāo)簽分析所得到的性能數(shù)據(jù)。這里又有一個問題是缺少讓系統(tǒng)識別一組請求字符串彼此相關(guān)的組機制。
為了克服前述問題,可提供其形式可為基于Java的邏輯的模塊以映射請求。如圖6所示,每個請求如請求600被映射成兩個單獨字符串可區(qū)別請求字符串605和可分拆請求字符串610。這些單獨字符串用于不同的目的。這些字符串可以是不同URL或標(biāo)簽字符串。映射或改寫操作最好發(fā)生于問題確定和性能管理功能可利用該操作的時間點。例如,性能管理功能將通過請求對可分拆請求字符串執(zhí)行分解。用于問題確定中的活動請求搜索在可區(qū)別請求字符串上進行。
安全性安全性最好通過提供向每個用戶分配用戶角色來維護。每個用戶角色被映射到本發(fā)明軟件的特定功能。訪問控制列表可具有產(chǎn)品功能和與之相關(guān)的用戶角色之間的映射。管理員可增加用戶角色,并且將這些角色映射到各功能。參照圖7的示意圖,管理員700具有對所有功能和配置的讀取和寫入訪問權(quán)以及對日志文件的訪問權(quán)。例如,軟件陷阱的創(chuàng)建、修改、激活、去激活和刪除以及監(jiān)視級別的改變僅可用于管理員。操作員705具有對大部分功能的顯示訪問權(quán),以及對特定功能配置的訪問權(quán)。用戶710具有對功能和報告的顯示訪問權(quán),但沒有對任何功能配置的訪問權(quán)。
架構(gòu)本發(fā)明的系統(tǒng)可具有下述架構(gòu)。該架構(gòu)的性質(zhì)是運行在每個應(yīng)用服務(wù)器上的代理以及專用服務(wù)器上的其余組件,包括提供中央控制的內(nèi)核、用于從探測引擎接收數(shù)據(jù)的發(fā)布服務(wù)器、用于將數(shù)據(jù)從高速緩存移動到數(shù)據(jù)庫的歸檔代理、數(shù)據(jù)庫、用于提供所有最終用戶應(yīng)用的可視化引擎和用于從應(yīng)用服務(wù)器(如Websphere)收集某些應(yīng)用服務(wù)器特定數(shù)據(jù)的應(yīng)用服務(wù)器代理。一種示例性架構(gòu)如圖8所示。如2510所示的應(yīng)用服務(wù)器代理安裝在應(yīng)用服務(wù)器上。探測和發(fā)布引擎2511是應(yīng)用服務(wù)器代理2510的主要組件。其余組件可安裝在專用服務(wù)器2520上。內(nèi)核2530提供中央控制。發(fā)布服務(wù)器2540從應(yīng)用服務(wù)器代理2510接收數(shù)據(jù),并且將數(shù)據(jù)移動到歸檔代理2550。歸檔代理2550將數(shù)據(jù)移動到數(shù)據(jù)庫2560??梢暬?570提供所有最終用戶應(yīng)用,并且與歷史信息數(shù)據(jù)庫通信并且與應(yīng)用服務(wù)器代理2510直接通信以請求和接收快照信息。
在一個實施例中,在上述方法中向用戶提供的數(shù)據(jù)的源可以是探測和發(fā)布引擎。探測和發(fā)布引擎獲得與特定線程有關(guān)的所有信息。在優(yōu)選實施例中,對于探測代理,可采用標(biāo)準(zhǔn)Java剖析接口(JVMPI)。
參照圖9,結(jié)合與之通信的java虛擬機2610、以及應(yīng)用服務(wù)器2615示出探測和發(fā)布引擎2511。探測和發(fā)布引擎2511最好具有五個組件探測控制器2512、命令代理2513、事件代理2514、事件處理程序(handler)2515以及發(fā)布引擎2516。探測控制器2512是控制其他組件的生命周期的控制器線程。事件代理2514對感興趣的JVMPI事件登記事件處理程序。當(dāng)發(fā)生該事件時,則調(diào)用這些處理程序。這些處理程序收集相關(guān)信息,并且將它添加到事件隊列。然后,發(fā)布引擎2516從事件隊列獲得數(shù)據(jù)并且將其發(fā)送到發(fā)布服務(wù)器2540。這些代理可使用通過Java開發(fā)包1.2.2或以上版本提供的標(biāo)準(zhǔn)Java剖析接口來構(gòu)造。
在本實施例中,JVMPI庫通過JVM來裝載,并且與JVM、探測控制器、事件代理和命令代理通信。JNI功能可用來捕獲所有基于事件的數(shù)據(jù)、日期/事件戳、壁時鐘(wall clock)和CPU時鐘。由JVMPI庫、事件代理、命令代理、發(fā)布引擎和探測控制器登記的事件如表2所示表2
從JVMPI庫獲得的信息存儲在稱作事件隊列的隊列中,并且事件代理從隊列檢索記錄,并且將它們打包到數(shù)據(jù)包中,并且通過發(fā)布引擎將它們發(fā)送到發(fā)布服務(wù)器。由事件引擎從隊列收集的數(shù)據(jù)如表3所示。
表3
命令代理是向內(nèi)核登記的RMI服務(wù)。命令代理從可視化引擎和其他外部組件接收命令,并且使用JVMPI或JNI調(diào)用滿足它們。示例性命令列表以及將這些命令提供給JVMPI還是JNI如表4所示表4
探測控制器最好也是向內(nèi)核2530登記的RMI服務(wù),并且啟動和停止其他探測組件獲得探測配置。探測器的新配置從內(nèi)核2530發(fā)送到探測控制器。當(dāng)接收到新配置時,探測控制器將確定是否應(yīng)啟動或停止探測器或者改變過濾。探測/發(fā)布引擎的邏輯圖如圖10所示。根據(jù)該邏輯圖,當(dāng)如2702所示裝載JVM時,如2704所示通過JVMPI向內(nèi)核登記標(biāo)識線程啟動、線程結(jié)束和JVM初始化完成的事件。當(dāng)如2706所示完成JVM的初始化時,則如2708所示設(shè)置系統(tǒng)屬性并且創(chuàng)建用于啟動探測器的線程。然后,線程如2710所示激活方法進入和類裝載事件,并且如2712所示等待直到應(yīng)用服務(wù)器啟動完畢為止。在2714,方法進入啟動JVM中的處理流程,其在2716檢查應(yīng)用服務(wù)器是否被啟動。如果被啟動,則處理流程傳到InitProbe線程,其在2718禁止方法進入和類裝載事件,并且在2720創(chuàng)建探測控制器線程。在2722,探測控制器線程從內(nèi)核查找探測配置。如果沒有找到探測配置,則流程結(jié)束,如2724和2726所示。如果找到配置,則處理流程進入在2728判定在配置中是否激活探測。如果否,則處理流程結(jié)束。處理流程也可采用來自內(nèi)核的RMI調(diào)用的形式以新配置開始,如2730所示。如果探測被激活,則處理流程進入啟動事件代理和命令代理,激活類裝載事件和方法進入事件,如2732所示。命令代理等待來自可視化引擎的命令,如2734和2736所示。方法進入事件的激活啟動JVM中的處理流程,如2750所示。獲得諸如CPU時鐘、壁時鐘、方法標(biāo)識、線程標(biāo)識和/或URL和SQL的數(shù)據(jù),如2750所示,并且將其傳到事件隊列2760。類裝載事件啟動JVM中的處理流程,如2754所示。啟動獲得類名、方法名和簽名的功能,如2756所示,并且將該信息傳到類哈希表2762。事件代理從事件隊列2760檢索記錄,如2780所示。事件代理將根據(jù)發(fā)布頻率進行等待,如2782所示。
可視化引擎2750提供在本發(fā)明的方法和系統(tǒng)中使用的前端用戶界面組件。標(biāo)準(zhǔn)J2EE技術(shù)可用于實現(xiàn)可視化引擎2750??梢暬?750的前端框架處理諸如會話管理和安全性的內(nèi)務(wù)處理(housekeeping)??梢暬?750最好處理盡可能多的常用任務(wù)以便提供有益于開發(fā)前端應(yīng)用和商務(wù)邏輯組件的環(huán)境??梢暬?750位于數(shù)據(jù)庫之上,其響應(yīng)用戶請求而訪問數(shù)據(jù)庫。該架構(gòu)如圖28所示,并且被示出為基于瀏覽器,使用瀏覽器2810與可以是Apache萬維網(wǎng)服務(wù)器的萬維網(wǎng)服務(wù)器2815和在數(shù)據(jù)庫與萬維網(wǎng)服務(wù)器之間接口的應(yīng)用服務(wù)器2820如IBM Websphere進行通信。小服務(wù)程序可用來處理請求和管理應(yīng)用流程。小服務(wù)程序也可用來通過執(zhí)行表單數(shù)據(jù)輸入驗證以及將包含數(shù)據(jù)的java組件對象發(fā)送到JSP頁來控制前端行為。JSP頁可處理大部分前端表現(xiàn)邏輯。商務(wù)邏輯可使用企業(yè)版java組件來實現(xiàn)。通常,使用無狀態(tài)會話組件。
小服務(wù)程序如上所述可用于表單輸入數(shù)據(jù)驗證,并且可用于應(yīng)用邏輯流程??商峁┧行》?wù)程序應(yīng)用必須從其擴展的基本小服務(wù)程序。基本小服務(wù)程序設(shè)置全局變量,處理認(rèn)證和授權(quán),并且必要時執(zhí)行到登錄和拒絕訪問頁的重定向。提供資源束(bundle)、日志消息和審核追蹤消息文件。JSP生成用來使網(wǎng)頁顯示在瀏覽器中的HTML代碼。小服務(wù)程序使用java組件對象將所需數(shù)據(jù)傳到JSP。
無狀態(tài)會話組件的頂層構(gòu)成API。存在處理對來自數(shù)據(jù)庫的數(shù)據(jù)的訪問的頂層之下的企業(yè)版java組件或java類層。來自數(shù)據(jù)庫的數(shù)據(jù)可以通過作為數(shù)據(jù)庫訪問數(shù)據(jù)訪問框架一部分的數(shù)據(jù)庫訪問層來獲得。
應(yīng)用活動顯示功能提供如上所述的對數(shù)據(jù)的實時訪問,并且涉及可視化引擎與對應(yīng)發(fā)布服務(wù)器和探測器之間的直接通信。發(fā)布服務(wù)器接口和命令代理接口被提供用于該直接通信。這些接口的存根由內(nèi)核維護,并且通過使用查詢代理幫手(helper)客戶端從內(nèi)核執(zhí)行查詢來由可視化引擎檢索。探測器正在其中運行的每個服務(wù)器具有該探測器的唯一標(biāo)識。一旦獲得了探測器標(biāo)識,就從內(nèi)核獲得命令代理的接口存根。然后,從探測器獲得由探測器使用的發(fā)布服務(wù)器的標(biāo)識。從內(nèi)核獲得發(fā)布服務(wù)器的對應(yīng)接口存根。然后,可從所選發(fā)布服務(wù)器直接獲得活動請求和相關(guān)數(shù)據(jù)的列表。可從探測器直接獲得附加請求數(shù)據(jù)。可視化引擎與探測器的命令代理和發(fā)布服務(wù)器之間的通信是實時和同步的。
可視化引擎包括上述安全功能。由于J2EE規(guī)范安全特性不足以提供上述安全特性,因此開發(fā)了私有API。安全特性包括認(rèn)證和授權(quán)功能。通過包裝第三方認(rèn)證系統(tǒng)的私有Java API來執(zhí)行認(rèn)證。通過用戶或組維護訪問控制列表來執(zhí)行授權(quán)。用戶與特定組相關(guān)聯(lián),并且只能訪問那些組中的服務(wù)器數(shù)據(jù)。服務(wù)器均與一個或多個組相關(guān)聯(lián)。
現(xiàn)在將詳細描述內(nèi)核。內(nèi)核使各種服務(wù)能夠在網(wǎng)絡(luò)上相互發(fā)現(xiàn),并且提供讓服務(wù)以動態(tài)、魯棒的方式交互的方式。當(dāng)使服務(wù)在線或離線時,不需任何用戶干預(yù)。當(dāng)任何其他服務(wù)在線或離線時,加入內(nèi)核的服務(wù)可動態(tài)適應(yīng)。服務(wù)消費者無需服務(wù)實現(xiàn)的先驗知識。參照附圖,示出了內(nèi)核的兩個實例2530和2530’。內(nèi)核的架構(gòu)包括核心2531、租賃管理器(lease administrator)2532、RFS服務(wù)器2533、代碼庫服務(wù)器2534、登記數(shù)據(jù)庫2535、可用性服務(wù)器2536和配置服務(wù)器2537。內(nèi)核的兩個實例最好運行在單獨服務(wù)器上以獲得增強可用性。
內(nèi)核核心2531處理來自服務(wù)的所有加入、續(xù)約、離開和查詢請求。服務(wù)是探測代理、可用性服務(wù)器2536和配置服務(wù)器2537。對于加入請求,服務(wù)將代理對象及其相關(guān)服務(wù)屬性傳給內(nèi)核。內(nèi)核通過將代理對象和服務(wù)屬性存儲在登記數(shù)據(jù)庫中來完成請求。當(dāng)客戶端需要特定類型的服務(wù)來完成任務(wù)時,它通過傳遞搜索模板并且向內(nèi)核發(fā)出查詢請求來查找服務(wù)。根據(jù)搜索模板,內(nèi)核將對應(yīng)代理對象返回給客戶端。要求每個服務(wù)通過周期性地向內(nèi)核發(fā)出續(xù)約請求來續(xù)約其租賃。如果內(nèi)核在需要時沒有接收到續(xù)約請求,則內(nèi)核從登記數(shù)據(jù)庫刪除服務(wù)的代理對象和服務(wù)屬性。該續(xù)約要求避免將請求發(fā)送到不可用的服務(wù)。當(dāng)續(xù)約租賃時,探測和發(fā)布服務(wù)器最好將應(yīng)用和系統(tǒng)信息如已完成請求的數(shù)量和CPU利用率捆綁在一起。這樣,租賃概念用來報告服務(wù)器的可用性和高級別統(tǒng)計信息。服務(wù)也可向內(nèi)核發(fā)出離開請求。
租賃管理器組件2532跟蹤登記數(shù)據(jù)庫中的記錄。如果任何登記期滿,或者接收到離開請求,則租賃管理器2532使對應(yīng)記錄被刪除,使得內(nèi)核將不把對應(yīng)代理對象傳給任何客戶端。RFS(存根請求)服務(wù)器2533在連接端口上監(jiān)聽。當(dāng)識別出連接時,向服務(wù)或客戶端送出內(nèi)核的序列化存根對象以用于與內(nèi)核接口。代碼庫服務(wù)器2534類似于HTTP服務(wù)器,但是提供一種設(shè)施來讓服務(wù)客戶端下載其從內(nèi)核獲得的代理對象的類定義。登記數(shù)據(jù)庫2535提供代理對象和相關(guān)服務(wù)屬性的存儲器內(nèi)存儲。服務(wù)器可用性和統(tǒng)計信息駐留在登記數(shù)據(jù)庫2535中。
可用性服務(wù)器2536獲得快照并且存儲登記數(shù)據(jù)庫2535的歷史,以便幫助向可視化引擎2570提供服務(wù)器的可用性和統(tǒng)計數(shù)據(jù)。
配置服務(wù)器2537是存儲所有組件配置數(shù)據(jù)的集中地方。配置數(shù)據(jù)采取XML形式并且保存在數(shù)據(jù)庫中。用戶可通過可視化引擎來改變配置。當(dāng)完成此時,配置服務(wù)器2537從內(nèi)核檢索適應(yīng)于舊配置的代理對象列表。配置服務(wù)器2537利用代理對象以廣播新配置。這用來響應(yīng)可視化引擎上的用戶命令更新探測配置。
稱作加入管理器的幫手工具請求內(nèi)核的存根對象,并且向內(nèi)核加入代理對象及其服務(wù)屬性。如果存根對象不可用,則該工具將繼續(xù)重試直到它成功為止。該工具還維護和續(xù)約租賃。查詢管理器工具可由客戶端用來查詢特定服務(wù)。
發(fā)布服務(wù)器2540管理從各個發(fā)布引擎接收的數(shù)據(jù)。多個發(fā)布服務(wù)器可以在單個安裝(installation)中提供。發(fā)布服務(wù)器提供可視化引擎的查詢能力。發(fā)布服務(wù)器還管理性能管理相關(guān)數(shù)據(jù)和系統(tǒng)資源相關(guān)數(shù)據(jù)的增量檢索。發(fā)布服務(wù)器架構(gòu)如圖13所示。
發(fā)布服務(wù)器2540可被實現(xiàn)為多線程進程。每個線程連接到特定發(fā)布引擎,并且從其接收數(shù)據(jù)。它還可包含附加線程來處理啟動、關(guān)閉和與內(nèi)核的通信。
參照圖13,發(fā)布服務(wù)器2540產(chǎn)生一個線程來加入內(nèi)核,并且定期續(xù)約其合約,如3002所示。發(fā)布服務(wù)器2540還產(chǎn)生一個線程來接受套接字連接,如3004所示。如判定塊3006所示,下一步驟依賴于是否從對應(yīng)發(fā)布引擎接收到查詢。如果接收到數(shù)據(jù)而非查詢,則建立持久性套接字連接,如3008所示。數(shù)據(jù)也與請求相關(guān)聯(lián)。然后,通過發(fā)布引擎從探測器獲得數(shù)據(jù),如3010所示。如果接收到服務(wù)器重啟信號,如3012和3014所示,則發(fā)布服務(wù)器在繼續(xù)之前復(fù)位被重啟服務(wù)器的累積數(shù)據(jù)。如果如3016和3018所示數(shù)據(jù)來自新探測器,則登記服務(wù)器使得將周期性地例如每五分鐘檢索服務(wù)器的性能管理相關(guān)數(shù)據(jù)和系統(tǒng)資源相關(guān)數(shù)據(jù)。然后,處理流程進入處理從探測器接收的記錄如方法級記錄、類裝載記錄以及GC記錄,如3020所示。如果完成了請求或者在特定數(shù)量的時間內(nèi)沒有有關(guān)請求的活動,如3022所示,則從活動請求列表中刪除該請求,如3024所示。然后,處理流程返回到從探測器接受更多數(shù)據(jù),如從3026起始的標(biāo)注所示。
如果確定數(shù)據(jù)是查詢,則可使用屬性來確定適當(dāng)?shù)男畔㈩愋?。查詢可詢問各種信息,如3030、3032和3034所示。然后,對結(jié)果進行序列化,并且將其回送到發(fā)布引擎。發(fā)布服務(wù)器還接收由其客戶端發(fā)出的諸如對狀態(tài)的特定管理請求,如3036所示,并且停止服務(wù),如3038所示。這些任務(wù)可由管理員調(diào)用。當(dāng)提供了響應(yīng)查詢的信息時,關(guān)閉連接,如3034所示,并且發(fā)布服務(wù)器變得可用于再次接受套接字連接。
應(yīng)當(dāng)理解,前述架構(gòu)代表一種具有用于執(zhí)行本發(fā)明方法的各步驟的裝置的系統(tǒng)??梢暬姘ㄓ糜谙蛴脩麸@示信息的裝置、用于提示用戶的裝置以及用于從用戶接收請求的裝置。探測引擎包括用于獲得有關(guān)分布式應(yīng)用的信息以及用于執(zhí)行分布式應(yīng)用的過濾監(jiān)視的裝置。應(yīng)當(dāng)理解,發(fā)布引擎、歸檔、數(shù)據(jù)庫和內(nèi)核的功能與可視化引擎和探測引擎協(xié)作以提供一種用于執(zhí)行本發(fā)明的各步驟的裝置。
自診斷在本發(fā)明的方法、系統(tǒng)和計算機程序中,可提供一種方法和系統(tǒng)用于進行該架構(gòu)的內(nèi)部組件的分析,并且向操作員報告分析結(jié)果。在一個例子中,提供了內(nèi)核、數(shù)據(jù)收集器組件、發(fā)布服務(wù)器、以及歸檔代理的視圖。
內(nèi)核視圖表示本發(fā)明的軟件系統(tǒng)的內(nèi)核組件的所有運行實例。對于每個實例,提供了每一個實例的內(nèi)核運行時環(huán)境詳細信息和組件概覽。內(nèi)核運行時環(huán)境詳細信息中的示例性值包括平臺、IP地址、各個端口號、代碼庫庫路徑、合約續(xù)約間隔、開始時間、安全策略所在文件、驅(qū)動程序名稱、以及其對應(yīng)數(shù)據(jù)庫的URL。組件概覽可包括服務(wù)名稱、組件標(biāo)識、平臺、IP地址、監(jiān)聽端口號、第一次加入時間以及最后合約續(xù)約時間。組件概覽部分中的每個組件標(biāo)識可以是提供對應(yīng)視圖的鏈接。例如,如果用戶單擊組件標(biāo)識X上的鏈接,并且其服務(wù)名稱是數(shù)據(jù)收集器控制器,則向用戶提供數(shù)據(jù)收集器組件視圖。
數(shù)據(jù)收集器組件視圖顯示與所有正在正常運行的數(shù)據(jù)收集器控制器有關(guān)的數(shù)據(jù)。在該視圖中可存在三個部分?jǐn)?shù)據(jù)收集器控制器運行時環(huán)境詳細信息、數(shù)據(jù)收集器運行時環(huán)境詳細信息、以及發(fā)布服務(wù)器關(guān)系。前兩個部分提供數(shù)據(jù)收集器控制器正在運行的配置和環(huán)境。發(fā)布服務(wù)器關(guān)系部分顯示數(shù)據(jù)收集器正在連接的發(fā)布服務(wù)器的標(biāo)識。對于數(shù)據(jù)收集器控制器運行時環(huán)境詳細信息,標(biāo)識包括組件標(biāo)識、管理服務(wù)器的標(biāo)識、應(yīng)用服務(wù)器的標(biāo)識、平臺的標(biāo)識、IP地址、端口號、開始時間、內(nèi)核代碼庫文件位置、所連接內(nèi)核、配置簡檔(profile)、內(nèi)核是否被配置以及安全策略文件。對于數(shù)據(jù)收集器運行時環(huán)境詳細信息,該信息是該組件的標(biāo)識號、端口號、以及該組件是否被激活。
發(fā)布服務(wù)器視圖提供關(guān)于發(fā)布服務(wù)器組件的所有正在正常運行實例的信息。對于每個實例,可存在四個部分發(fā)布服務(wù)器運行時環(huán)境詳細信息,數(shù)據(jù)收集器關(guān)系,PMI代理關(guān)系,以及歸檔代理關(guān)系。
歸檔代理視圖顯示歸檔代理的所有正在正常運行實例,并且對于歸檔代理的每個實例,存在兩個信息部分歸檔代理運行時環(huán)境詳細信息和發(fā)布服務(wù)器關(guān)系。歸檔代理運行時環(huán)境詳細信息列出歸檔代理的配置和環(huán)境。發(fā)布服務(wù)器關(guān)系信息標(biāo)識歸檔代理正在服務(wù)的發(fā)布服務(wù)器。
應(yīng)當(dāng)理解,前面提供了本發(fā)明系統(tǒng)的實時監(jiān)視,以便可監(jiān)視性能和確定問題。
本發(fā)明的系統(tǒng)可以通過在要監(jiān)視的服務(wù)器上安裝特定探測軟件并且在單獨服務(wù)器上安裝本發(fā)明的其余軟件來安裝。該配置提供本發(fā)明系統(tǒng)的相對簡單安裝。
本發(fā)明可采用方法和用于實施這些方法的設(shè)備的形式來實施。本發(fā)明也可采用包含在有形介質(zhì)如軟盤、CD-ROM、硬盤驅(qū)動器或者任何其他可機讀存儲介質(zhì)中的程序代碼的形式來實施,其中,當(dāng)程序代碼被裝載到機器如計算機中并由其執(zhí)行時,該機器變成用于實施本發(fā)明的設(shè)備。本發(fā)明也可采用例如不管是存儲在存儲介質(zhì)中、裝載到機器中和/或由其執(zhí)行、還是在某傳輸介質(zhì)上例如在電氣連線或電纜上、通過光纖或者通過電磁輻射來傳輸?shù)某绦虼a的形式來實施,其中,當(dāng)程序代碼被裝載到機器如計算機中并由其執(zhí)行時,該機器變成用于實施本發(fā)明的設(shè)備。當(dāng)在通用處理器上實現(xiàn)時,程序代碼段與處理器結(jié)合以提供類似于特定邏輯電路而工作的獨特裝置。
雖然示例性實施例是關(guān)于使用Java技術(shù)特別是J2EE技術(shù)的企業(yè)應(yīng)用來描述的,但是本發(fā)明的方法也可采用其他技術(shù)來實現(xiàn)。例如,本發(fā)明的方法可采用其他平臺無關(guān)技術(shù)來實現(xiàn)。本發(fā)明的方法也可采用適用于分布式企業(yè)應(yīng)用的其他技術(shù)來實現(xiàn)。
雖然參照優(yōu)選實施例描述了本發(fā)明,但是本發(fā)明不應(yīng)被認(rèn)為是局限于優(yōu)選實施例。
權(quán)利要求
1.一種用于在分布式計算環(huán)境中監(jiān)視運行在多個服務(wù)器上的應(yīng)用的性能的方法,包括以下步驟從用戶接收用于監(jiān)視的選定信息,根據(jù)所選信息監(jiān)視應(yīng)用性能,并且根據(jù)所選信息使監(jiān)視性能信息可用于用戶。
2.如權(quán)利要求1所述的方法,其中提示用戶標(biāo)識要監(jiān)視的信息的范圍,并且其中根據(jù)所選范圍來監(jiān)視應(yīng)用服務(wù)器性能。
3.如權(quán)利要求2所述的方法,其中所述范圍包括第一監(jiān)視級別,其中所選信息包括請求級數(shù)據(jù)和服務(wù)器級數(shù)據(jù)。
4.如權(quán)利要求3所述的方法,其中所述范圍還包括第二監(jiān)視級別,其中所選信息還包括API級數(shù)據(jù)。
5.如權(quán)利要求4所述的方法,其中所述范圍包括第三監(jiān)視級別,其中所選信息還包括方法級數(shù)據(jù)。
6.如權(quán)利要求1所述的方法,其中提示用戶標(biāo)識用于信息監(jiān)視的調(diào)度表,并且其中根據(jù)所標(biāo)識的調(diào)度表來監(jiān)視應(yīng)用服務(wù)器性能。
7.一種用于在分布式計算環(huán)境中監(jiān)視運行在多個服務(wù)器上的應(yīng)用的性能的方法,包括以下步驟提示用戶選擇服務(wù)器或服務(wù)器組、資源和用于通知的閾值或條件,將參數(shù)的值或質(zhì)量與該閾值或條件進行比較,并且如果該參數(shù)達到該閾值或條件,則記錄有關(guān)該參數(shù)的信息。
8.如權(quán)利要求7所述的方法,還包括以下步驟將該參數(shù)與用于通知用戶的標(biāo)準(zhǔn)進行比較,并且如果滿足該標(biāo)準(zhǔn),則通知用戶。
9.如權(quán)利要求7所述的方法,其中閾值或條件是資源值。
10.如權(quán)利要求9所述的方法,其中資源是方法屬性。
11.如權(quán)利要求10所述的方法,其中資源是CPU時間。
12.如權(quán)利要求7所述的方法,其中閾值或條件是命中數(shù)。
13.如權(quán)利要求12所述的方法,其中資源是請求,并且條件是包含在該請求中的字符串。
14.如權(quán)利要求7所述的方法,其中資源與應(yīng)用服務(wù)器性能相關(guān),并且條件是CPU時間百分比。
15.一種用于在分布式計算機系統(tǒng)中監(jiān)視運行在多個服務(wù)器上的應(yīng)用的性能的方法,包括以下步驟向用戶提供性能信息,從用戶接收對更特定性能信息的請求,并且提供更詳細的性能信息。
16.如權(quán)利要求15所述的方法,還包括以下步驟向用戶提供請求分析、方法分析、SQL分析、服務(wù)器可用性分析以及應(yīng)用服務(wù)器分析的選擇,并且從用戶接收選擇。
17.如權(quán)利要求16所述的方法,還包括以下步驟根據(jù)所接收的選擇提供趨勢分析。
18.如權(quán)利要求17所述的方法,還包括以下步驟接收對有關(guān)趨勢分析一部分的分解報告的請求,并且提供分解報告。
19.如權(quán)利要求18所述的方法,還包括以下步驟接收對有關(guān)分解報告一部分的詳細報告的請求,并且提供詳細報告。
20.一種用于在分布式計算機系統(tǒng)中監(jiān)視運行在多個服務(wù)器上的應(yīng)用的性能的方法,包括以下步驟從用戶接收服務(wù)器的標(biāo)識作為授權(quán)服務(wù)器,并且接收另一服務(wù)器的標(biāo)識作為比較服務(wù)器,比較運行時環(huán)境數(shù)據(jù),并且顯示比較。
21.如權(quán)利要求20所述的方法,其中所述運行時環(huán)境數(shù)據(jù)的形式為選定服務(wù)器之間的CPU數(shù)據(jù)、服務(wù)器數(shù)據(jù)和Java數(shù)據(jù)中的一項或多項。
22.如權(quán)利要求21所述的方法,其中所述CPU數(shù)據(jù)包括CPU速度、在線CPU數(shù)、離線CPU數(shù)、存儲器、操作系統(tǒng)版本以及物理盤空間中的一項或多項。
23.如權(quán)利要求21所述的方法,其中所述服務(wù)器數(shù)據(jù)包括應(yīng)用服務(wù)器、啟動目錄、監(jiān)聽端口、SSL監(jiān)聽端口、已登記小服務(wù)程序數(shù)、已登記EJB數(shù)、JDBC連接池數(shù)以及EAR數(shù)中的一項或多項。
24.如權(quán)利要求21所述的方法,其中所述Java數(shù)據(jù)包括JDK版本、安裝目錄、Java策略、操作系統(tǒng)信息、類路徑以及庫路徑中的一項或多項。
25.一種用于在分布式計算機系統(tǒng)中監(jiān)視運行在多個服務(wù)器上的應(yīng)用的性能的方法,包括以下步驟從用戶接收服務(wù)器的標(biāo)識作為授權(quán)服務(wù)器,并且接收另一服務(wù)器的標(biāo)識作為比較服務(wù)器,并且提供匹配和不同文件名的列表。
26.如權(quán)利要求25所述的方法,還包括以下步驟比較文件大小。
27.如權(quán)利要求25所述的方法,還包括以下步驟比較文件時間戳。
28.如權(quán)利要求25所述的方法,還包括以下步驟從用戶接收文件選擇,進行文件比較,并且將結(jié)果提供給用戶。
29.如權(quán)利要求28所述的方法,其中進行文件比較的步驟還包括通過MD5校驗和計算進行文件比較。
30.一種用于在分布式計算機系統(tǒng)中監(jiān)視運行在多個服務(wù)器上的應(yīng)用的性能的方法,包括以下步驟向每個用戶分配角色,并且通過訪問控制列表在功能訪問和每個用戶角色之間進行映射,由此根據(jù)用戶所分配的角色限制功能訪問。
31.如權(quán)利要求30所述的方法,其中所述分配的角色之一是管理員,所述管理員具有對每個功能的讀取/寫入訪問權(quán)。
32.如權(quán)利要求30所述的方法,其中所述分配的角色之一是用戶,所述用戶僅具有對每個功能的顯示訪問權(quán)。
33.一種用于處理請求的方法,包括以下步驟接收請求字符串,并且將所接收的請求字符串映射成可區(qū)別請求字符串和可分拆請求字符串。
34.如權(quán)利要求33所述的方法,其中所接收的請求字符串的形式為JSP、小服務(wù)程序和遠程企業(yè)版Java組件調(diào)用之一。
35.如權(quán)利要求33所述的方法,還包括以下步驟提示用戶創(chuàng)建用于將所接收的請求字符串映射成可區(qū)別請求字符串和可分拆請求字符串的規(guī)則,響應(yīng)提示步驟而接收規(guī)則,并且應(yīng)用所接收的規(guī)則。
36.一種用于在分布式環(huán)境中監(jiān)視應(yīng)用性能的方法,包括以下步驟在運行至少一個應(yīng)用的系統(tǒng)中提供具有用于監(jiān)視和管理的各組件的管理應(yīng)用,并且實時地監(jiān)視并向用戶提供有關(guān)各組件的配置和各組件之間的關(guān)系的信息。
37.一種用于在分布式計算環(huán)境中監(jiān)視運行在多個服務(wù)器上的應(yīng)用的性能的系統(tǒng),包括用于根據(jù)從用戶接收的選定信息監(jiān)視應(yīng)用性能的裝置,以及用于根據(jù)所選信息使監(jiān)視性能信息可用于用戶的裝置。
38.如權(quán)利要求37所述的系統(tǒng),還包括用于提示用戶標(biāo)識要監(jiān)視的信息的范圍的裝置,以及用于根據(jù)所選范圍來監(jiān)視應(yīng)用服務(wù)器性能的裝置。
39.如權(quán)利要求38所述的系統(tǒng),其中所述范圍包括第一監(jiān)視級別,其中所選信息包括請求級數(shù)據(jù)和服務(wù)器級數(shù)據(jù)。
40.如權(quán)利要求39所述的系統(tǒng),其中所述范圍還包括第二監(jiān)視級別,其中所選信息還包括API級數(shù)據(jù)。
41.如權(quán)利要求40所述的系統(tǒng),其中所述范圍包括第三監(jiān)視級別,其中所選信息還包括方法級數(shù)據(jù)。
42.如權(quán)利要求37所述的系統(tǒng),還包括用于根據(jù)從用戶接收的所標(biāo)識調(diào)度表來監(jiān)視應(yīng)用服務(wù)器性能的裝置。
43.一種用于在分布式計算環(huán)境中監(jiān)視運行在多個服務(wù)器上的應(yīng)用的性能的系統(tǒng),包括用于提示用戶選擇服務(wù)器或服務(wù)器組、資源和用于通知的閾值或條件的裝置,用于將所選服務(wù)器或服務(wù)器組上參數(shù)的值或質(zhì)量與所選閾值或條件進行比較的裝置,以及用于如果所選參數(shù)達到所選閾值或條件則記錄有關(guān)所選參數(shù)的信息的裝置。
44.如權(quán)利要求43所述的系統(tǒng),還包括用于將該參數(shù)與用于通知用戶的標(biāo)準(zhǔn)進行比較的裝置,以及用于如果滿足該標(biāo)準(zhǔn)則通知用戶的裝置。
45.如權(quán)利要求43所述的系統(tǒng),其中閾值或條件是資源值。
46.如權(quán)利要求45所述的系統(tǒng),其中資源是方法屬性。
47.如權(quán)利要求46所述的系統(tǒng),其中資源是CPU時間。
48.如權(quán)利要求43所述的系統(tǒng),其中閾值或條件是命中數(shù)。
49.如權(quán)利要求48所述的系統(tǒng),其中資源是請求,并且條件是包含在該請求中的字符串。
50.如權(quán)利要求43所述的系統(tǒng),其中資源與應(yīng)用服務(wù)器性能相關(guān),并且條件是CPU時間百分比。
51.一種用于在分布式計算機系統(tǒng)中監(jiān)視運行在多個服務(wù)器上的應(yīng)用的性能的系統(tǒng),包括用于向用戶提供性能信息的裝置,以及用于響應(yīng)對更詳細性能信息的用戶請求而提供更詳細性能信息的裝置。
52.如權(quán)利要求51所述的系統(tǒng),還包括用于向用戶提供請求分析、方法分析、SQL分析、服務(wù)器可用性分析以及應(yīng)用服務(wù)器分析的選擇的裝置,以及用于從用戶接收選擇的裝置。
53.如權(quán)利要求52所述的系統(tǒng),還包括用于根據(jù)所接收的選擇提供趨勢分析的裝置。
54.如權(quán)利要求53所述的系統(tǒng),還包括用于接收對有關(guān)趨勢分析一部分的分解報告的請求的裝置,以及用于提供分解報告的裝置。
55.如權(quán)利要求53所述的系統(tǒng),還包括用于接收對有關(guān)分解報告一部分的詳細報告的請求的裝置,以及用于提供詳細報告的裝置。
56.一種用于在分布式計算機系統(tǒng)中監(jiān)視運行在多個服務(wù)器上的應(yīng)用的性能的系統(tǒng),包括用于從用戶接收服務(wù)器的標(biāo)識作為授權(quán)服務(wù)器、并且接收另一服務(wù)器的標(biāo)識作為比較服務(wù)器的裝置,用于比較運行時環(huán)境數(shù)據(jù)的裝置,以及用于顯示比較的裝置。
57.如權(quán)利要求56所述的系統(tǒng),其中所述運行時環(huán)境數(shù)據(jù)的形式為選定服務(wù)器之間的CPU數(shù)據(jù)、服務(wù)器數(shù)據(jù)和Java數(shù)據(jù)中的一項或多項。
58.如權(quán)利要求57所述的系統(tǒng),其中所述CPU數(shù)據(jù)包括CPU速度、在線CPU數(shù)、離線CPU數(shù)、存儲器、操作系統(tǒng)版本以及物理盤空間中的一項或多項。
59.如權(quán)利要求57所述的系統(tǒng),其中所述服務(wù)器數(shù)據(jù)包括應(yīng)用服務(wù)器、啟動目錄、監(jiān)聽端口、SSL監(jiān)聽端口、已登記小服務(wù)程序數(shù)、已登記EJB數(shù)、JDBC連接池數(shù)以及EAR數(shù)中的一項或多項。
60.如權(quán)利要求57所述的系統(tǒng),其中所述Java數(shù)據(jù)包括JDK版本、安裝目錄、Java策略、操作系統(tǒng)信息、類路徑以及庫路徑中的一項或多項。
61.一種用于在分布式計算機系統(tǒng)中監(jiān)視運行在多個服務(wù)器上的應(yīng)用的性能的系統(tǒng),包括用于執(zhí)行以下操作的裝置響應(yīng)所接收的作為授權(quán)服務(wù)器的第一服務(wù)器和作為比較服務(wù)器的第二服務(wù)器的標(biāo)識,提供所述授權(quán)和比較服務(wù)器中匹配和不同文件名的列表。
62.如權(quán)利要求61所述的系統(tǒng),還包括用于比較文件大小的裝置。
63.如權(quán)利要求61所述的系統(tǒng),還包括用于比較文件時間戳的裝置。
64.如權(quán)利要求61所述的系統(tǒng),還包括用于對由用戶選擇的文件進行比較、并且將結(jié)果提供給用戶的裝置。
65.如權(quán)利要求64所述的系統(tǒng),其中所述用于進行比較的裝置包括用于通過MD5校驗和計算進行文件比較的裝置。
66.一種用于在分布式計算機系統(tǒng)中監(jiān)視運行在多個服務(wù)器上的應(yīng)用的性能的系統(tǒng),包括用于向每個用戶分配角色的裝置,以及用于通過訪問控制列表在功能訪問和每個用戶角色之間進行映射,由此根據(jù)用戶所分配的角色限制功能訪問的裝置。
67.如權(quán)利要求66所述的系統(tǒng),其中所述分配的角色之一是管理員,所述管理員具有對每個功能的讀取/寫入訪問權(quán)。
68.如權(quán)利要求66所述的系統(tǒng),其中所述分配的角色之一是用戶,所述用戶僅具有對每個功能的顯示訪問權(quán)。
69.一種用于處理請求的系統(tǒng),包括用于接收請求字符串的裝置,以及用于將所接收的請求字符串映射成可區(qū)別請求字符串和可分拆請求字符串的裝置。
70.如權(quán)利要求69所述的系統(tǒng),其中所接收的請求字符串的形式為JSP、小服務(wù)程序和遠程企業(yè)版Java組件調(diào)用之一。
71.如權(quán)利要求69所述的系統(tǒng),還包括用于提示用戶創(chuàng)建用于將所接收的請求字符串映射成可區(qū)別請求字符串和可分拆請求字符串的規(guī)則的裝置,以及用于應(yīng)用響應(yīng)提示用戶創(chuàng)建用于將所接收的請求字符串映射成可區(qū)別請求字符串和可分拆請求字符串的規(guī)則而接收的規(guī)則的裝置。
72.一種用于在分布式環(huán)境中監(jiān)視應(yīng)用性能的系統(tǒng),包括用于在運行至少一個應(yīng)用的系統(tǒng)中提供具有用于監(jiān)視和管理的各組件的管理應(yīng)用的裝置,以及用于實時地監(jiān)視并向用戶提供有關(guān)各組件的配置和各組件之間的關(guān)系的信息的裝置。
73.一種用于在分布式計算環(huán)境中監(jiān)視運行在多個服務(wù)器上的應(yīng)用的性能的計算機程序,所述程序包括存儲在介質(zhì)上的多條指令,所述指令在處理器上執(zhí)行時使該處理器執(zhí)行以下步驟從用戶接收用于監(jiān)視的選定信息,根據(jù)所選信息監(jiān)視應(yīng)用性能,并且根據(jù)所選信息使監(jiān)視性能信息可用于用戶。
74.一種用于在分布式計算環(huán)境中監(jiān)視運行在多個服務(wù)器上的應(yīng)用的性能的計算機程序,所述程序包括存儲在介質(zhì)上的多條指令,所述指令在處理器上執(zhí)行時使該處理器執(zhí)行以下步驟提示用戶選擇服務(wù)器或服務(wù)器組、資源和用于通知的閾值或條件,將參數(shù)的值或質(zhì)量與該閾值或條件進行比較,并且如果該參數(shù)達到該閾值或條件,則記錄有關(guān)該參數(shù)的信息。
75.一種用于在分布式計算機系統(tǒng)中監(jiān)視運行在多個服務(wù)器上的應(yīng)用的性能的計算機程序,所述程序包括存儲在介質(zhì)上的多條指令,所述指令在處理器上執(zhí)行時使該處理器執(zhí)行以下步驟向用戶提供性能信息,從用戶接收對更特定性能信息的請求,并且提供更詳細的性能信息。
76.一種用于在分布式計算機系統(tǒng)中監(jiān)視運行在多個服務(wù)器上的應(yīng)用的性能的計算機程序,所述程序包括存儲在介質(zhì)上的多條指令,所述指令在處理器上執(zhí)行時使該處理器執(zhí)行以下步驟從用戶接收第一服務(wù)器的標(biāo)識作為授權(quán)服務(wù)器,并且接收第二服務(wù)器的標(biāo)識作為比較服務(wù)器,比較來自所述授權(quán)和比較服務(wù)器的運行時環(huán)境數(shù)據(jù),并且顯示比較。
77.一種用于在分布式計算機系統(tǒng)中監(jiān)視運行在多個服務(wù)器上的應(yīng)用的性能的計算機程序,所述程序包括存儲在介質(zhì)上的多條指令,所述指令在處理器上執(zhí)行時使該處理器執(zhí)行以下步驟從用戶接收第一服務(wù)器的標(biāo)識作為授權(quán)服務(wù)器,并且接收第二服務(wù)器的標(biāo)識作為比較服務(wù)器,并且提供所述授權(quán)和比較服務(wù)器上匹配和不同文件名的列表。
78.一種用于在分布式計算機系統(tǒng)中監(jiān)視運行在多個服務(wù)器上的應(yīng)用的性能的計算機程序,所述程序包括存儲在介質(zhì)上的多條指令,所述指令在處理器上執(zhí)行時使該處理器執(zhí)行以下步驟向每個用戶分配角色,并且通過訪問控制列表在功能訪問和每個用戶角色之間進行映射,由此根據(jù)用戶所分配的角色限制功能訪問。
79.一種用于處理請求的計算機程序,所述程序包括存儲在介質(zhì)上的多條指令,所述指令在處理器上執(zhí)行時使該處理器執(zhí)行以下步驟接收請求字符串,并且將所接收的請求字符串映射成可區(qū)別請求字符串和可分拆請求字符串。
80.一種用于在分布式環(huán)境中監(jiān)視應(yīng)用性能的計算機程序,包括以下步驟在運行至少一個應(yīng)用的系統(tǒng)中提供具有用于監(jiān)視和管理的各組件的管理應(yīng)用,并且實時地監(jiān)視并向用戶提供有關(guān)各組件的配置和各組件之間的關(guān)系的信息。
全文摘要
一種用于管理計算機系統(tǒng)和應(yīng)用的性能的方法,包括提示用戶選擇用于監(jiān)視的信息,監(jiān)視運行在服務(wù)器上的應(yīng)用的性能,顯示數(shù)據(jù),并且提示用戶輸入性能調(diào)整。提示用戶選擇服務(wù)器或服務(wù)器組、資源和用于通知的閾值或條件,并且作為響應(yīng),系統(tǒng)將參數(shù)的值或質(zhì)量與該閾值或條件進行比較,并且在該參數(shù)達到該閾值或條件的情況下向用戶提供通知。一種方法包括以下步驟向用戶提供性能信息,從用戶接收對更特定性能信息的請求,并且提供更詳細的性能信息。本發(fā)明的一種方法包括以下步驟從用戶接收服務(wù)器的標(biāo)識作為授權(quán)服務(wù)器,并且接收另一服務(wù)器的標(biāo)識作為比較服務(wù)器,在所選服務(wù)器之間比較形式為CPU數(shù)據(jù)、服務(wù)器數(shù)據(jù)和Java數(shù)據(jù)中的一項或多項的運行時環(huán)境數(shù)據(jù),并且向用戶顯示差別。本發(fā)明的一種方法包括以下步驟從用戶接收服務(wù)器的標(biāo)識作為授權(quán)服務(wù)器,并且接收另一服務(wù)器的標(biāo)識作為比較服務(wù)器,并且提供匹配和不同文件名的列表。該方法還可包括以下步驟從用戶接收文件選擇,進行文件比較,并且將結(jié)果提供給用戶。本發(fā)明的一種方法包括以下步驟向每個用戶分配角色,并且通過訪問控制列表在功能訪問和每個用戶角色之間進行映射,由此根據(jù)用戶所分配的角色限制功能訪問。
文檔編號G06F15/173GK1662901SQ03814877
公開日2005年8月31日 申請日期2003年6月25日 優(yōu)先權(quán)日2002年6月25日
發(fā)明者詹姆斯·C·鐘, 約瑟夫·L·常, 圖沙爾·M·帕特爾, 讓-雅克·海勒, 索志紅, 阿瑟·桑, 羅伯特·S·蘭姆, 雷蒙德·周, 亨利·唐, 耶羅梅·D·班克斯, 克里斯托弗·M·齊邵夫斯基 申請人:國際商業(yè)機器公司