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

一種服務(wù)監(jiān)控方法及系統(tǒng)的制作方法

文檔序號:6610593閱讀:223來源:國知局
專利名稱:一種服務(wù)監(jiān)控方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于軟件服務(wù)監(jiān)控領(lǐng)域,尤其涉及一種服務(wù)監(jiān)控方法及系統(tǒng)。
背景技術(shù)
服務(wù)監(jiān)控是對提供一定功能的對外接口層面進行監(jiān)控,監(jiān)控的具體內(nèi)容包 括接口性能、接口參數(shù)信息跟蹤、接口調(diào)用對應(yīng)業(yè)務(wù)語義的統(tǒng)計等,是一種系 統(tǒng)微觀層面的監(jiān)控。服務(wù)監(jiān)控的結(jié)果可以通過控制臺輸出,也可以寫到日志文
件,或者持久化(Persistence)到數(shù)據(jù)庫,供系統(tǒng)對業(yè)務(wù)執(zhí)行情況進行在線分析 和離線分析。
利用面向方面編程技術(shù)(Aspect-Oriented Programming, AOP ),可以對于 每個服務(wù)配置不同的攔截器(Interceptor),用于在某個方法被訪問之前進行攔 截,然后在其之前或之后加入某些操作,使得實現(xiàn)代碼和服務(wù)調(diào)用執(zhí)行代碼的 分離。對不同的服務(wù)配置不同的攔截器,可以重用某個方面的攔截器代碼。但 攔截器配置完成,系統(tǒng)啟動后不能動態(tài)調(diào)整,例如不能定義在某個時段不執(zhí)行 攔截,或者刪除攔截,或者定期攔截。同時,對服務(wù)監(jiān)控的結(jié)果固化在攔截器 代碼中,不能動態(tài)修改,難以靈活響應(yīng)客戶需求的變化。

發(fā)明內(nèi)容
本發(fā)明實施例的目的在于提供一種服務(wù)監(jiān)控方法,旨在解決現(xiàn)有服務(wù)監(jiān)控 中攔截器的配置不能動態(tài)調(diào)整,難以靈活響應(yīng)客戶需求的變化的問題。
本發(fā)明實施例是這樣實現(xiàn)的, 一種服務(wù)監(jiān)控方法,所述方法包括下述步驟 從記錄的當前生效的監(jiān)控策略信息中查找被監(jiān)控的方法所對應(yīng)的監(jiān)控策
略;
4根據(jù)查找到的監(jiān)控策略對所述方法執(zhí)行監(jiān)控攔截。
本發(fā)明實施例的另一目的在于提供一種服務(wù)監(jiān)控系統(tǒng),所述系統(tǒng)包括
監(jiān)控策略執(zhí)行集,用于記錄當前生效的監(jiān)控策略信息;以及
通用服務(wù)攔截器,用于從所述監(jiān)控策略執(zhí)行集記錄的當前生效的監(jiān)控策略
信息中查找被監(jiān)控的方法所對應(yīng)的監(jiān)控策略,根據(jù)查找到的監(jiān)控策略對所述方
法執(zhí)行監(jiān)控攔截。
本發(fā)明實施例將服務(wù)和監(jiān)控分離,可以對監(jiān)控進行靈活配置,從而實現(xiàn)了 監(jiān)控的動態(tài)修改、動態(tài)刪除和動態(tài)增加,通過通用服務(wù)攔截器和施加在其上的 監(jiān)控策略,可以達到多種服務(wù)監(jiān)控需求的即時滿足,節(jié)約服務(wù)監(jiān)控成本。


圖1是本發(fā)明實施例提供的對監(jiān)控策略進行配置的示意圖; 圖2是本發(fā)明實施例提供的服務(wù)監(jiān)控系統(tǒng)的結(jié)構(gòu)圖。
具體實施例方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實 施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅 僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明實施例通過配置通用服務(wù)攔截器以及可定義、可擴展的監(jiān)控策略實 現(xiàn)了服務(wù)和監(jiān)控的解耦,能夠即時滿足多種服務(wù)監(jiān)控需求,節(jié)約服務(wù)監(jiān)控成本。
在本發(fā)明實施例中,如圖l所示,對于監(jiān)控策略,可以在業(yè)務(wù)控制臺定義 并檢查測試,然后下發(fā)校驗合法通過的監(jiān)控策略到后臺系統(tǒng)的監(jiān)控策略定義集, 并可以對監(jiān)控策略定義集中的監(jiān)控策略進行保存、刪除或者修改等。如果需要 立即生效,只需要將策略通過業(yè)務(wù)控制臺下發(fā)到監(jiān)控策略執(zhí)行集。如果要使正 在執(zhí)行的監(jiān)控策略失效,則將監(jiān)控策略從監(jiān)控策略執(zhí)行集中放回至監(jiān)控策略定 義集,達到了監(jiān)控策略可定義可插拔的效果。同時,可以將周期性的、長期的監(jiān)控策略等持久化,例如寫入數(shù)據(jù)庫或者文件中,以便系統(tǒng)重啟后加載。
在本發(fā)明實施例中,也可以將監(jiān)控策略與定時任務(wù)結(jié)合,由定時任務(wù)周期 性下發(fā)監(jiān)控策略到監(jiān)控策略執(zhí)行集中。對于監(jiān)控策略執(zhí)行集而言,由于監(jiān)控的 開始時間和結(jié)束時間的約束,失效的監(jiān)控策略會自動從監(jiān)控策略執(zhí)行集中清除。 因此,如果監(jiān)控策略有靈活的表達,解釋執(zhí)行監(jiān)控策略就可以替代很多不必要 的攔截器代碼的編寫和配置。
在本發(fā)明實施例中,定義的監(jiān)控策略包括
監(jiān)控策略標識(policyID),需要全局唯一,例如以serviceID _methodName_ 序號表示;
方法的標識,例如方法簽名(methodSignature),包含類路徑及方法參數(shù), 能唯一表示類中的不同方法;
監(jiān)控開始時間(monitorBeginTime ),如果配置了監(jiān)控的開始時間就不需 要配置監(jiān)控時間段;
監(jiān)控結(jié)束時間(monitorEndTime ),如果配置了監(jiān)控的結(jié)束時間就不需要 配置監(jiān)控時間段;
監(jiān)控時間段(monitorPeriod),可以以分鐘為單位,如果沒有設(shè)置監(jiān)控開 始時間和監(jiān)控結(jié)束時間,則在執(zhí)行此監(jiān)控時采用當前時間作為監(jiān)控的開始時間, 加上時長得到監(jiān)控結(jié)束時間;
監(jiān)控的判定條件(if),支持eos、 groovy、 jruby、 python等腳本語言,例 如〈if script="eos" test="$result == true7〉表示當返回^f直為true時條4牛成立;
監(jiān)控輸出(monkorOutput),包括監(jiān)控內(nèi)容的輸出位置(direction)和監(jiān)控 內(nèi)容(content)。
監(jiān)控內(nèi)容的輸出位置可以是數(shù)據(jù)庫(database)、日志(log)或者控制臺 (console),可以配置默認輸出位置,例如數(shù)據(jù)庫。
監(jiān)控內(nèi)容包括被監(jiān)控的方法的標識,例如方法簽名(methodSignature)、 被監(jiān)控的方法的耗費時間(costTime)、被監(jiān)控的方法的調(diào)用起始時間
6(beginTime)、;故監(jiān)控的方法的調(diào)用完成時間(endTime)、按業(yè)務(wù)上下文得 到特定要求下的記錄的特定的監(jiān)控內(nèi)容,例如調(diào)用成功返回成功的記錄內(nèi)容, 如〈if script="eos" test="$ {result} == true" then="success" else="failure"/〉。
為了更好地說明監(jiān)控策略的配置和定義, 一個監(jiān)控策略定義文件示例如

< xml version=" 1.0" encoding="UTF-8" 〉 <MonitorPolicys xmlns:xsi="http:〃www.w3.org/2001/XMLSchema-instance"〉 <!-每次監(jiān)控120分鐘-〉 <MonitorPolicy>
<methodSignature〉com.huawei.bme.test#getNodeName(java.lang.String)</method Signature〉 <policyID〉test—getNodeName—1 </policyID>
<monitorPeriod〉 120</monitorPeriod〉
<!—單位分鐘—〉
</MonitorPolicy>
<!--指定未來某個時間段監(jiān)控--〉 <MonitorPolicy〉
<methodSignature>com.huawei.bme.test#getNodeName3(java.lang.String)</metho
dSignature〉
<policyID>test—getNodeName—3</policyID〉 <monitorBeginTime>2007-10-10 00:00:00</monitorBeginTime> <monitorEndTime〉2007-10-l 1 00:00:00</monitorEndTime〉 </MonitorPolicy〉
<!- 一直監(jiān)控,默認監(jiān)控輸出到數(shù)據(jù)庫,監(jiān)控內(nèi)容方法的標識,例如方 法簽名,方法調(diào)用耗時,調(diào)用開始時間,調(diào)用結(jié)束時間--〉 <MonitorPolicy〉<methodSignature>com.huawei.bme.test#getNodeName4(java.lang.String)</metho dSignature〉
<policyID〉test—getNodeName—4</policyID>
</MonitorPolicy>
<!-按條件監(jiān)控,若符合則監(jiān)控120分鐘,并按條件輸出-> <MonitorPolicy>
<methodSignature>com.huawei.bme.test#getNodeName5(java.lang.String)</metho dSignature>
<policyID>test—getNodeName—5</policyID>
<monitorPeriod〉 120</monitorPeriod〉
<condition〉 <!-按指定的EOS腳本執(zhí)行如果test條件為true則監(jiān)控->
<if script="eos" test="$ {controlui.biz.bizGetResult} 7> </condition> <!-定義監(jiān)控的輸出-> <monitorOutput>
<direction〉console</direction〉 <!--可以車#出到4空制臺console,凄t才居庫 database, 日志log—> <content>
<methodSignature>true</methodSignature〉 <costTime>true</costTime> <beginTime〉true</beginTime〉 <endTime>true</endTime> <!-如果調(diào)用服務(wù)接口成功,則記錄成功,否則記錄失敗->
<ifscript="groovy" test="${result} == l"then="Success" else="Failure"/〉 </content〉 </monitorOutput> </MonitorPolicy〉 </MonitorPolicys〉
8在本發(fā)明實施例中,當一個方法被監(jiān)控時,從記錄的當前生效的監(jiān)控策略 信息中查找該方法所對應(yīng)的監(jiān)控策略,然后根據(jù)查找到的監(jiān)控策略對該方法執(zhí) 行監(jiān)控攔截,并可以選擇將監(jiān)控內(nèi)容輸出到對應(yīng)的輸出位置。
圖2示出了本發(fā)明實施例提供的服務(wù)監(jiān)控系統(tǒng)的結(jié)構(gòu),監(jiān)控策略定義集21 中記錄有在系統(tǒng)中配置的監(jiān)控策略的全集,監(jiān)控策略執(zhí)行集22中記錄有監(jiān)控 策略定義集21中當前生效的監(jiān)控策略,例如由于權(quán)限控制,遞交申請未得到批 準的監(jiān)控策略位于監(jiān)控策略定義集21中,不能放到監(jiān)控策略執(zhí)行集22中。在 本發(fā)明實施例中,監(jiān)控策略定義集21和監(jiān)控策略執(zhí)行集22可以是對象集,保 存方法對應(yīng)的哈希映射集(Hash Map) , Hash Map中關(guān)鍵字(key)對應(yīng)的是 方法,值(value)對應(yīng)的是監(jiān)控策略的實例。
在本發(fā)明實施例中,監(jiān)控策略定義集21與監(jiān)控策略執(zhí)行集22集成在一個 系統(tǒng)內(nèi),也可以配置于系統(tǒng)外的其他位置或者其他系統(tǒng)內(nèi),例如控制臺等。
對于所有需要監(jiān)控的服務(wù)接口,通過通用服務(wù)攔截器23進行監(jiān)控攔截,通 用服務(wù)攔截器23可以通過繼承擴展。當一個方法調(diào)用后,通過通用服務(wù)攔截器 23,如果監(jiān)控總開關(guān)是開的,根據(jù)方法的標識,例如方法簽名,從監(jiān)控策略執(zhí) 行集22中查找所有此服務(wù)接口方法定義的監(jiān)控策略,采用對查找結(jié)果取并集的 方式,按監(jiān)控策略的定義解釋執(zhí)行監(jiān)控攔截,執(zhí)行完成后調(diào)用該服務(wù)接口方法, 完成服務(wù)并返回。
監(jiān)控攔截判斷模塊231根據(jù)方法的標識,例如方法簽名查找監(jiān)控策略執(zhí)行 集22,判斷是否存在對應(yīng)的監(jiān)控策略,從而判斷方法是否要監(jiān)控攔截,還可以 判斷是否有進一步的條件,例如監(jiān)控攔截是否當前立即生效。監(jiān)控攔截執(zhí)行模 塊232根據(jù)監(jiān)控攔截判斷模塊231查找到的監(jiān)控策略中定義的監(jiān)控條件、監(jiān)控 時間段等對被監(jiān)控的方法進行監(jiān)控攔截。在本發(fā)明實施例中,監(jiān)控攔截執(zhí)行模 塊232可以對一個方法采取并集的方式執(zhí)行多個監(jiān)控策略,按監(jiān)控策略的定義 解釋執(zhí)行監(jiān)控攔截。監(jiān)控內(nèi)容輸出模塊233根據(jù)監(jiān)控策略中監(jiān)控內(nèi)容的輸出位 置和監(jiān)控內(nèi)容輸出監(jiān)控內(nèi)容,監(jiān)控內(nèi)容可以輸出到用戶定義的位置,或者系統(tǒng)
9默認的輸出位置。
本發(fā)明實施例將服務(wù)和監(jiān)控分離,可以對監(jiān)控進行靈活配置,從而實現(xiàn)了 監(jiān)控的動態(tài)修改、動態(tài)刪除和動態(tài)增加。監(jiān)控策略定義具有良好的擴展性,對 監(jiān)控對象、監(jiān)控內(nèi)容和監(jiān)控內(nèi)容的輸出可以定義和修改,通過業(yè)務(wù)控制臺下發(fā) 監(jiān)控策略并立即生效。同時,通過通用服務(wù)攔截器和施加在其上的監(jiān)控策略, 可以達到多種服務(wù)監(jiān)控需求的即時滿足,不需要修改代碼維護版本,現(xiàn)場配置 即可,可以大大節(jié)約服務(wù)監(jiān)控成本。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā) 明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明 的保護范圍之內(nèi)。
權(quán)利要求
1、一種服務(wù)監(jiān)控方法,其特征在于,所述方法包括下述步驟從記錄的當前生效的監(jiān)控策略信息中查找被監(jiān)控的方法所對應(yīng)的監(jiān)控策略;根據(jù)查找到的監(jiān)控策略對所述方法執(zhí)行監(jiān)控攔截。
2、 如權(quán)利要求1所述的方法,其特征在于,所述方法進一步包括下述步驟 記錄系統(tǒng)中配置的監(jiān)控策略信息。
3、 如權(quán)利要求l所述的方法,其特征在于,所述根據(jù)查找到的監(jiān)控策略對 所述方法執(zhí)行監(jiān)控攔截的步驟具體為對查找到的監(jiān)控策略取并集,按監(jiān)控策略的定義解釋執(zhí)行監(jiān)控攔截; 將監(jiān)控內(nèi)容輸出到對應(yīng)的輸出位置。
4、 如權(quán)利要求l、 2或3所述的方法,其特征在于,所述監(jiān)控策略信息中 包括需要監(jiān)控的方法的標識、監(jiān)控時間信息、監(jiān)控的判定條件、監(jiān)控內(nèi)容以及 監(jiān)控內(nèi)容的輸出位置。
5、 如權(quán)利要求4所述的方法,其特征在于,所述監(jiān)控時間信息為監(jiān)控開始 時間和結(jié)束時間。
6、 如權(quán)利要求4所述的方法,其特征在于,所述監(jiān)控時間信息為監(jiān)控時間段。
7、 如權(quán)利要求4所述的方法,其特征在于,所述監(jiān)控內(nèi)容包括被監(jiān)控的方 法的標識、被監(jiān)控的方法的耗費時間、被監(jiān)控的方法的調(diào)用起始時間、被監(jiān)控 的方法的調(diào)用完成時間、以及按業(yè)務(wù)上下文得到的監(jiān)控內(nèi)容。
8、 如權(quán)利要求4所述的方法,其特征在于,所述監(jiān)控內(nèi)容的輸出位置為控 制臺、日志或者數(shù)據(jù)庫。
9、 一種服務(wù)監(jiān)控系統(tǒng),其特征在于,所述系統(tǒng)包括 監(jiān)控策略執(zhí)行集,用于記錄當前生效的監(jiān)控策略信息;以及 通用服務(wù)攔截器,用于從所述監(jiān)控策略執(zhí)行集記錄的當前生效的監(jiān)控策略信息中查找被監(jiān)控的方法所對應(yīng)的監(jiān)控策略,根據(jù)查找到的監(jiān)控策略對所述方 法執(zhí)行監(jiān)控攔截。
10、 如權(quán)利要求9所述的系統(tǒng),其特征在于,所述系統(tǒng)進一步包括監(jiān)控策略定義集,用于記錄系統(tǒng)配置的監(jiān)控策略信息。
11、 如權(quán)利要求9所述的系統(tǒng),其特征在于,所述通用服務(wù)攔截器包括 監(jiān)控策略查找模塊,用于根據(jù)被監(jiān)控的方法的標識查找所述監(jiān)控策略執(zhí)行集,獲取對應(yīng)的監(jiān)控策略信息;監(jiān)控攔截執(zhí)行模塊,用于對所述監(jiān)控攔截判斷模塊查找到的監(jiān)控策略取并 集,按監(jiān)控策略的定義解釋執(zhí)行監(jiān)控攔截;以及監(jiān)控內(nèi)容輸出模塊,用于根據(jù)所述監(jiān)控攔截執(zhí)行模塊對所述被監(jiān)控的方法 監(jiān)控攔截后的監(jiān)控內(nèi)容輸出到對應(yīng)的輸出位置。
12、 如權(quán)利要求9、 10或11所述的系統(tǒng),其特征在于,所述監(jiān)控策略信息 中包括需要監(jiān)控的方法的標識、監(jiān)控時間信息、監(jiān)控的判定條件、監(jiān)控內(nèi)容以 及監(jiān)控內(nèi)容的輸出位置。
全文摘要
本發(fā)明適用于軟件服務(wù)監(jiān)控領(lǐng)域,提供了一種服務(wù)監(jiān)控方法及系統(tǒng),所述方法包括下述步驟從記錄的當前生效的監(jiān)控策略信息中查找被監(jiān)控的方法所對應(yīng)的監(jiān)控策略;根據(jù)查找到的監(jiān)控策略對所述方法執(zhí)行監(jiān)控攔截。本發(fā)明將服務(wù)和監(jiān)控分離,可以對監(jiān)控進行靈活配置,從而實現(xiàn)了監(jiān)控的動態(tài)修改、動態(tài)刪除和動態(tài)增加,通過通用服務(wù)攔截器和施加在其上的監(jiān)控策略,可以達到多種服務(wù)監(jiān)控需求的即時滿足,節(jié)約服務(wù)監(jiān)控成本。
文檔編號G06F19/00GK101425934SQ20071012421
公開日2009年5月6日 申請日期2007年10月29日 優(yōu)先權(quán)日2007年10月29日
發(fā)明者張普朝, 徐健鵬, 王世軍, 鴻 穆, 章志國 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
牟定县| 横山县| 洮南市| 华安县| 北票市| 吉林省| 普安县| 凤庆县| 克山县| 宣威市| 滦平县| 虹口区| 郯城县| 边坝县| 红原县| 南华县| 漠河县| 石泉县| 晋宁县| 长宁县| 金乡县| 宁阳县| 饶平县| 噶尔县| 百色市| 临邑县| 芜湖县| 石台县| 德惠市| 开远市| 洮南市| 江川县| 德化县| 元氏县| 阿克陶县| 湛江市| 洛隆县| 安塞县| 三穗县| 定边县| 京山县|