技術(shù)領(lǐng)域
本發(fā)明涉及一種程序運(yùn)行監(jiān)視系統(tǒng)和方法,屬于計(jì)算機(jī)領(lǐng)域。
背景技術(shù):
常見的計(jì)算機(jī)軟件系統(tǒng)中,程序的運(yùn)行過(guò)程多采用輸出日志的方式記錄重要信息、告警信息及錯(cuò)誤信息。不能完整記錄程序運(yùn)行時(shí)的整個(gè)工況信息,不能進(jìn)行程序運(yùn)行時(shí)的重演。日志的輸出內(nèi)容及輸出形式隨意性較大,造成對(duì)日志的分析難度隨之加大。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)的不足,本發(fā)明的技術(shù)方案提供了一種程序運(yùn)行監(jiān)視系統(tǒng)和方法,用于規(guī)范性、歸納性得對(duì)程序運(yùn)行日志進(jìn)行完整記錄。
本發(fā)明的技術(shù)方案包括一種程序運(yùn)行監(jiān)視系統(tǒng),其特征在于,該系統(tǒng)包括:注冊(cè)模塊,用于將所需監(jiān)控的應(yīng)用程序接口信息及對(duì)應(yīng)的監(jiān)控方案注冊(cè)進(jìn)監(jiān)控器;監(jiān)控模塊,用于獲取所述監(jiān)控器注冊(cè)信息,并根據(jù)注冊(cè)信息向監(jiān)控器下發(fā)對(duì)應(yīng)的監(jiān)控指令;回調(diào)模塊,用于使用監(jiān)控器對(duì)應(yīng)用程序接口進(jìn)行回調(diào),并記錄回調(diào)時(shí)產(chǎn)生的回調(diào)數(shù)據(jù);日志模塊,用于對(duì)每個(gè)應(yīng)用程序接口運(yùn)行產(chǎn)生的運(yùn)行數(shù)據(jù)以獨(dú)立的運(yùn)行日志進(jìn)行記錄;分析模塊,用于獲取所述日志模塊產(chǎn)生的運(yùn)行日志,并根據(jù)解析得到的日志信息進(jìn)行日志分析歸納、程序接口的重新調(diào)用及錯(cuò)誤信息追蹤。
根據(jù)權(quán)利所述的程序運(yùn)行監(jiān)視系統(tǒng),所述的注冊(cè)模塊還包括:所述應(yīng)用程序接口信息注冊(cè)包括所屬類路徑、接口名稱、參數(shù)個(gè)數(shù)、參數(shù)類型及參數(shù)名稱。
根據(jù)權(quán)利所述的程序運(yùn)行監(jiān)視系統(tǒng),所述的監(jiān)控模塊還包括:所述監(jiān)控器在監(jiān)控應(yīng)用程序接口運(yùn)行時(shí)會(huì)對(duì)接口參數(shù)值和參數(shù)狀態(tài)進(jìn)行記錄。
根據(jù)權(quán)利所述的程序運(yùn)行監(jiān)視系統(tǒng),所述的回調(diào)模塊還包括:所述監(jiān)控器在回調(diào)應(yīng)用程序接口時(shí)所記錄的回調(diào)數(shù)據(jù)包括返回值和異常信息,進(jìn)一步,當(dāng)檢查有異常信息時(shí),監(jiān)視器通過(guò)接口對(duì)外告警。
根據(jù)權(quán)利所述的程序運(yùn)行監(jiān)視系統(tǒng),所述的日志模塊還包括:所述獨(dú)立日志記錄的數(shù)據(jù)包括接口的執(zhí)行時(shí)間、結(jié)束時(shí)間、參數(shù)值、返回值、異常捕獲信息、異常代碼位置。
本發(fā)明的技術(shù)方案還包括一種程序運(yùn)行監(jiān)視方法,其特征在于,該方法包括:將所需監(jiān)控的應(yīng)用程序接口信息及對(duì)應(yīng)的監(jiān)控方案注冊(cè)進(jìn)監(jiān)控器;獲取所述監(jiān)控器注冊(cè)信息,并根據(jù)注冊(cè)信息向監(jiān)控器下發(fā)對(duì)應(yīng)的監(jiān)控指令;使用監(jiān)控器對(duì)應(yīng)用程序接口進(jìn)行回調(diào),并記錄回調(diào)時(shí)產(chǎn)生的回調(diào)數(shù)據(jù);對(duì)每個(gè)應(yīng)用程序接口運(yùn)行產(chǎn)生的運(yùn)行數(shù)據(jù)以獨(dú)立的運(yùn)行日志進(jìn)行記錄;于獲取所述日志記錄時(shí)產(chǎn)生的運(yùn)行日志,并根據(jù)解析得到的日志信息進(jìn)行日志分析歸納、程序接口的重新調(diào)用及錯(cuò)誤信息追蹤。
進(jìn)一步,該方法還包括:所述應(yīng)用程序接口信息注冊(cè)包括所屬類路徑、接口名稱、參數(shù)個(gè)數(shù)、參數(shù)類型及參數(shù)名稱。
進(jìn)一步,該方法還包括:所述監(jiān)控器在監(jiān)控應(yīng)用程序接口運(yùn)行時(shí)會(huì)對(duì)接口參數(shù)值和參數(shù)狀態(tài)進(jìn)行記錄。
進(jìn)一步,該方法還包括:所述監(jiān)控器在回調(diào)應(yīng)用程序接口時(shí)所記錄的回調(diào)數(shù)據(jù)包括返回值和異常信息,進(jìn)一步,當(dāng)檢查有異常信息時(shí),監(jiān)視器通過(guò)接口對(duì)外告警。
進(jìn)一步,該方法還包括:所述獨(dú)立日志記錄的數(shù)據(jù)包括接口的執(zhí)行時(shí)間、結(jié)束時(shí)間、參數(shù)值、返回值、異常捕獲信息、異常代碼位置。
本發(fā)明的有益效果為:完整記錄程序運(yùn)行時(shí)候,主要方法的狀態(tài)信息,包括執(zhí)行時(shí)間、參數(shù)、返回值,可重新載入某一斷面的信息,進(jìn)行程序運(yùn)行時(shí)的重演;日志輸出展示規(guī)范,具有歸納性,方便使用人員對(duì)日志進(jìn)行分析。
附圖說(shuō)明
圖1所示為根據(jù)本發(fā)明實(shí)施方式的流程圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
圖1所示為根據(jù)本發(fā)明實(shí)施方式的流程圖。其具體如下S101~S105所示,包括:
S101,通過(guò)方法注冊(cè)對(duì)程序中需要監(jiān)視的方法注冊(cè)到監(jiān)視器上,注冊(cè)信息包括方法所屬類路徑、方法名稱、參數(shù)個(gè)數(shù)、參數(shù)類型及參數(shù)名稱;
S102,程序運(yùn)行時(shí),監(jiān)視器通過(guò)注冊(cè)方法的相關(guān)信息實(shí)現(xiàn)其接口,接管需要監(jiān)視的方法,并記錄其參數(shù)值和狀態(tài);
S103,監(jiān)視器回調(diào)注冊(cè)方法,記錄返回值或異常信息,當(dāng)有異常信息時(shí)候,監(jiān)視器通過(guò)接口對(duì)外告警;
S104,程序執(zhí)行完它為每一個(gè)方法產(chǎn)生獨(dú)立的運(yùn)行日志,包括執(zhí)行時(shí)間、結(jié)束時(shí)間、參數(shù)值、返回值、異常捕獲信息、異常代碼位置;
S105,加載獨(dú)立運(yùn)行日志,進(jìn)行日志分析、方法重新調(diào)用,錯(cuò)誤追蹤。
以上所述,只是本發(fā)明的較佳實(shí)施例而已,本發(fā)明并不局限于上述實(shí)施方式,只要其以相同的手段達(dá)到本發(fā)明的技術(shù)效果,都應(yīng)屬于本發(fā)明的保護(hù)范圍。在本發(fā)明的保護(hù)范圍內(nèi)其技術(shù)方案和/或?qū)嵤┓绞娇梢杂懈鞣N不同的修改和變化。