本發(fā)明涉及通信領(lǐng)域,特別涉及異常信息采集方法及系統(tǒng)。
背景技術(shù):
在儀器實際使用過程中,例如射頻拉遠(yuǎn)單元(radioremoteunit,rru),隨著系統(tǒng)復(fù)雜度的提高,異常產(chǎn)生原因的波及面也越來越廣。按照傳統(tǒng)方式一一封裝需要監(jiān)控的可疑點,會導(dǎo)致需要采集的可疑點分散,難以維護(hù),最終導(dǎo)致后續(xù)版本數(shù)據(jù)缺失。同時,這些封裝后的數(shù)據(jù)與研發(fā)人員常用的調(diào)試信息差異很大,降低了研發(fā)人員分析問題的效率。
進(jìn)一步地,如果需要獲取異常產(chǎn)生前的日志,就需要復(fù)現(xiàn)問題,在問題產(chǎn)生前就開始采集日志,而這些操作對于外場而言十分困難。
因此,如何獲取一份較完整的異常信息文件對于定位外場問題尤顯重要。
技術(shù)實現(xiàn)要素:
根據(jù)本發(fā)明實施例提供的技術(shù)方案解決的技術(shù)問題是如何采集較完整的異常信息文件。
根據(jù)本發(fā)明實施例提供的異常信息采集方法,包括:
對監(jiān)控對象和定位異常問題所需的調(diào)試命令進(jìn)行確定;
對儀器運行過程中的日志進(jìn)行記錄;
通過對所述監(jiān)控對象的狀態(tài)進(jìn)行檢查,判斷所述監(jiān)控對象是否產(chǎn) 生異常;
若判斷所述監(jiān)控對象產(chǎn)生異常,則獲取與所產(chǎn)生異常相關(guān)的日志信息,并通過執(zhí)行所述調(diào)試命令,獲取調(diào)試信息;
將所獲取的日志信息和調(diào)試信息寫入異常信息文件。
優(yōu)選地,所述的通過對所述監(jiān)控對象的狀態(tài)進(jìn)行檢查,判斷所述監(jiān)控對象是否產(chǎn)生異常的步驟包括:
對所述監(jiān)控對象的狀態(tài)進(jìn)行統(tǒng)計;
若所述監(jiān)控對象的狀態(tài)統(tǒng)計數(shù)據(jù)為第一次異常,則記錄所述第一次異常產(chǎn)生的時間作為異常產(chǎn)生時刻;
若所述監(jiān)控對象的狀態(tài)統(tǒng)計數(shù)據(jù)滿足預(yù)設(shè)的異常確認(rèn)條件,則確定所述監(jiān)控對象產(chǎn)生異常,并記錄所述滿足異常確認(rèn)條件的時間作為異常確認(rèn)時刻。
優(yōu)選地,所述的獲取與所產(chǎn)生異常相關(guān)的日志信息的步驟包括:
當(dāng)確定所述已運行儀器產(chǎn)生異常時,獲取所述異常的異常產(chǎn)生時刻和異常確認(rèn)時刻;
根據(jù)所獲取的異常產(chǎn)生時刻和異常確認(rèn)時刻,獲取異常產(chǎn)生前后的日志。
優(yōu)選地,所述的根據(jù)所獲取的異常產(chǎn)生時刻和異常確認(rèn)時刻,獲取異常產(chǎn)生前后的日志的步驟包括:
根據(jù)與所述監(jiān)控對象相關(guān)的監(jiān)控點中的最長狀態(tài)更新時間,確定異常關(guān)聯(lián)時間;
利用所確定的異常關(guān)聯(lián)時間,計算分段判斷時間;
若所述異常確認(rèn)時刻和所述異常產(chǎn)生時刻之差小于所述分段判斷時間,則采用整段復(fù)制日志的方式獲取異常產(chǎn)生前后的日志,否則,采用分段復(fù)制日志的方式獲取異常產(chǎn)生前后的日志。
優(yōu)選地,所述以整段復(fù)制日志信息的方式獲取異常產(chǎn)生前后的日志信息是指,獲取從所述異常產(chǎn)生時刻之前異常關(guān)聯(lián)時間起始至所述 異常確認(rèn)時刻之后異常關(guān)聯(lián)時間為止的日志信息。
優(yōu)選地,所述以分段復(fù)制日志信息的方式獲取異常產(chǎn)生前后的日志信息是指,獲取所述異常產(chǎn)生時刻前后異常關(guān)聯(lián)時間段內(nèi)的第一日志信息和所述異常確定時刻前后異常關(guān)聯(lián)時間段內(nèi)的第二日志信息。
根據(jù)本發(fā)明實施例提供的存儲介質(zhì),其存儲用于實現(xiàn)上述方法的程序。
根據(jù)本發(fā)明實施例提供的異常信息采集系統(tǒng),包括:
異常管理模塊,用于對監(jiān)控對象和定位異常問題所需的調(diào)試命令進(jìn)行確定;
日志記錄模塊,用于對儀器運行過程中的日志進(jìn)行記錄;
異常監(jiān)控模塊,用于通過對所述監(jiān)控對象的狀態(tài)進(jìn)行檢查,判斷所述監(jiān)控對象是否產(chǎn)生異常;
信息獲取模塊,用于在判斷所述監(jiān)控對象產(chǎn)生異常時,獲取與所產(chǎn)生異常相關(guān)的日志信息,并通過執(zhí)行所述調(diào)試命令,獲取調(diào)試信息;
信息融合模塊,用于將所獲取的日志信息和調(diào)試信息寫入異常信息文件。
優(yōu)選地,所述異常監(jiān)控模塊對所述監(jiān)控對象的狀態(tài)進(jìn)行統(tǒng)計,若所述監(jiān)控對象的狀態(tài)統(tǒng)計數(shù)據(jù)為第一次異常,則記錄所述第一次異常產(chǎn)生的時間作為異常產(chǎn)生時刻,若所述監(jiān)控對象的狀態(tài)統(tǒng)計數(shù)據(jù)滿足預(yù)設(shè)的異常確認(rèn)條件,則確定所述監(jiān)控對象產(chǎn)生異常,并記錄所述滿足異常確認(rèn)條件的時間作為異常確認(rèn)時刻。
優(yōu)選地,所述信息獲取模塊在確定所述已運行儀器產(chǎn)生異常時,獲取所述異常的異常產(chǎn)生時刻和異常確認(rèn)時刻,并根據(jù)所獲取的異常產(chǎn)生時刻和異常確認(rèn)時刻,獲取異常產(chǎn)生前后的日志。
優(yōu)選地,所述信息獲取模塊根據(jù)與所述監(jiān)控對象相關(guān)的監(jiān)控點中的最長狀態(tài)更新時間確定異常關(guān)聯(lián)時間,并利用所確定的異常關(guān)聯(lián)時間,計算分段判斷時間,若所述異常確認(rèn)時刻和所述異常產(chǎn)生時刻之 差小于所述分段判斷時間,則采用整段復(fù)制日志的方式獲取異常產(chǎn)生前后的日志,否則,采用分段復(fù)制日志的方式獲取異常產(chǎn)生前后的日志。
本發(fā)明實施例提供的技術(shù)方案具有如下有益效果:
通過將與異常相關(guān)的日志信息和調(diào)試信息相結(jié)合,使異常信息互補且完善,信息量全面,有利于對異常問題進(jìn)行定位。
附圖說明
圖1是本發(fā)明實施例提供的異常信息采集方法框圖;
圖2是本發(fā)明實施例提供的異常信息采集系統(tǒng)框圖;
圖3是本發(fā)明另一實施例提供的異常信息采集系統(tǒng)的模塊結(jié)構(gòu)和協(xié)作方式示意圖;
圖4是圖3所示系統(tǒng)的異常時刻確認(rèn)流程圖;
圖5是圖3所示異常日志獲取流程圖;
圖6是圖3所示調(diào)試信息獲取流程圖。
具體實施方式
以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進(jìn)行詳細(xì)說明,應(yīng)當(dāng)理解,以下所說明的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
圖1是本發(fā)明實施例提供的異常信息采集方法框圖,如圖1所示,步驟包括:
步驟s101:對監(jiān)控對象和定位異常問題所需的調(diào)試命令進(jìn)行確定。
其中,監(jiān)控對象可以包括輸入電壓,也可以包括功率等其它對象。
其中,調(diào)試命令可以包括研發(fā)人員在實驗室中定位異常原因時采 用的調(diào)試命令,也可以包括根據(jù)需要設(shè)定的其它調(diào)試命令。
步驟s102:對儀器運行,記錄儀器運行過程中的日志進(jìn)行記錄。
步驟s103:檢查(例如采用周期性檢查的方式)監(jiān)控對象狀態(tài),并判斷該監(jiān)控對象是否產(chǎn)生異常。
以周期檢查監(jiān)控對象狀態(tài)為例,周期檢查監(jiān)控對象狀態(tài),并對狀態(tài)進(jìn)行統(tǒng)計,若所述監(jiān)控對象第一次產(chǎn)生異常,則記錄所述第一次異常產(chǎn)生的時間作為異常產(chǎn)生時刻,若所述監(jiān)控對象的統(tǒng)計數(shù)據(jù)滿足異常確認(rèn)條件,則確定所述監(jiān)控對象產(chǎn)生異常,并記錄所述滿足異常確認(rèn)條件的時間作為異常確認(rèn)時刻。
進(jìn)一步說,當(dāng)統(tǒng)計到監(jiān)控對象第一次產(chǎn)生異常時,將本次產(chǎn)生異常的時刻作為異常產(chǎn)生時刻并記錄。如果隨后在滿足異常確認(rèn)條件前異常狀態(tài)消失,則忽略該異常,并將該異常產(chǎn)生時刻刪除,即本次異??赡苡上到y(tǒng)波動導(dǎo)致,而非系統(tǒng)故障。如果隨后統(tǒng)計的異常數(shù)據(jù)滿足異常確認(rèn)條件,則判斷該監(jiān)控對象發(fā)生異常,并記錄當(dāng)前時刻為異常確認(rèn)時刻,例如,異常數(shù)據(jù)統(tǒng)計值(例如9次)占總統(tǒng)計值(例如10次)的比例(90%)大于預(yù)設(shè)比例(例如80%),則確認(rèn)監(jiān)控對象產(chǎn)生異常,又例如,連續(xù)多次(例如5次)出現(xiàn)異常數(shù)據(jù),則確認(rèn)監(jiān)控對象產(chǎn)生異常。
步驟s104:若確定所述監(jiān)控對象產(chǎn)生異常,則獲取與所產(chǎn)生異常相關(guān)的日志信息,并通過執(zhí)行所述調(diào)試命令,獲取調(diào)試信息。
具體地說,當(dāng)確定所述監(jiān)控對象產(chǎn)生異常時,獲取所述異常的異常產(chǎn)生時刻和異常確認(rèn)時刻,并根據(jù)監(jiān)控對象相關(guān)的監(jiān)控點中的最長狀態(tài)更新時間確定異常關(guān)聯(lián)時間,并利用所確定的異常關(guān)聯(lián)時間,計算分段判斷時間,然后比較所述異常確認(rèn)時刻和所述異常產(chǎn)生時刻之差與所述分段判斷時間,若所述異常確認(rèn)時刻和所述異常產(chǎn)生時刻之差小于所述分段判斷時間,則采用整段復(fù)制日志的方式獲取異常產(chǎn)生前后的日志,否則,采用分段復(fù)制日志的方式獲取異常產(chǎn)生前后的日志。其中,所述監(jiān)控對象指輸入電壓、電流、功率等物理對象,所述 監(jiān)控點指與所述監(jiān)控對象關(guān)聯(lián)的能夠?qū)е滤霰O(jiān)控對象產(chǎn)生異常的器件。
進(jìn)一步說,在儀器投入外場(即非實驗室環(huán)境)運行期間,記錄系統(tǒng)運行過程中不斷產(chǎn)生的日志信息,并通過為每條日志信息追加時間戳,記錄每條日志的時間,記錄于日志采集文件。進(jìn)一步地,隨著儀器運行,日志信息將越來越多,為了使日志信息的大小在可控范圍內(nèi),可以周期性剔除日志采集文件中較老的數(shù)據(jù)。
如果異常確認(rèn)時刻和異常產(chǎn)生時刻之間的時間間隔較長,那么完全采集這段時間內(nèi)的日志,會使日志信息過長且冗余,因此需判斷采取分段或整段復(fù)制日志信息的方式獲取異常產(chǎn)生前后的日志信息。其中,以整段復(fù)制日志信息的方式獲取異常產(chǎn)生前后的日志信息是指,獲取從所述異常產(chǎn)生時刻之前異常關(guān)聯(lián)時間起始至所述異常確認(rèn)時刻之后異常關(guān)聯(lián)時間為止的日志信息;以分段復(fù)制日志信息的方式獲取異常產(chǎn)生前后的日志信息是指,獲取所述異常產(chǎn)生時刻前后異常關(guān)聯(lián)時間段內(nèi)的第一日志信息和所述異常確定時刻前后異常關(guān)聯(lián)時間段內(nèi)的第二日志信息。
進(jìn)一步地,儀器運行期間,當(dāng)確認(rèn)異常產(chǎn)生時,通過執(zhí)行一些調(diào)試命令,獲取調(diào)試命令信息(即調(diào)試信息或命令信息)。
步驟s105:將所獲取的日志信息和調(diào)試信息寫入異常信息文件。
例如對于一條異常信息,在異常信息文件中依次記錄異常信息開始分隔符、命令信息、日志信息、異常信息結(jié)束分隔符,按照類似的格式組織異常信息,可以使定位問題的人員較清晰的區(qū)分不同的異常信息,有利于故障定位。
本實施例提供的異常信息文件包含異常產(chǎn)生前后的日志和異常相關(guān)調(diào)試命令信息,其對于定位外場問題尤顯重要。
本領(lǐng)域普通技術(shù)人員可以理解,實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,包括步驟s101 至步驟s105。其中,所述的存儲介質(zhì)可以為rom/ram、磁碟、光盤等。
圖2是本發(fā)明實施例提供的異常信息采集系統(tǒng)框圖,如圖2所示,包括:
異常管理模塊,用于對監(jiān)控對象和定位異常問題所需的調(diào)試命令進(jìn)行確定。
日志記錄模塊,用于對儀器運行,記錄儀器運行過程中的日志進(jìn)行記錄;
異常監(jiān)控模塊,用于通過對所述周期檢查監(jiān)控對象的狀態(tài)進(jìn)行檢查,并通過異常確認(rèn)條件判斷確定該所述監(jiān)控對象是否產(chǎn)生異常。異常監(jiān)控模塊可以檢查(例如周期性檢查)監(jiān)控對象狀態(tài),并通過異常確認(rèn)條件判斷該監(jiān)控對象是否產(chǎn)生異常,即對所述監(jiān)控對象狀態(tài)進(jìn)行統(tǒng)計,若所述監(jiān)控對象的狀態(tài)統(tǒng)計數(shù)據(jù)為第一次異常,則記錄所述第一次異常產(chǎn)生的時間作為異常產(chǎn)生時刻,若所述監(jiān)控對象的狀態(tài)統(tǒng)計數(shù)據(jù)滿足異常確認(rèn)條件,則確定所述監(jiān)控對象產(chǎn)生異常,并記錄所述滿足異常確認(rèn)條件的時間作為異常確認(rèn)時刻。
信息獲取模塊,用于確定監(jiān)控對象產(chǎn)生異常時,獲取與所產(chǎn)生異常相關(guān)的日志信息,并通過執(zhí)行所述調(diào)試命令,獲取調(diào)試信息。具體地說,信息獲取模塊在確定所述監(jiān)控對象產(chǎn)生異常時,獲取所述監(jiān)控對象的異常產(chǎn)生時刻和異常確認(rèn)時刻,并根據(jù)與所述監(jiān)控對象相關(guān)的監(jiān)控點中的最長狀態(tài)更新時間,確定異常關(guān)聯(lián)時間,從而利用所確定的異常關(guān)聯(lián)時間,計算分段判斷時間,比較所述異常確認(rèn)時刻和所述異常產(chǎn)生時刻之差與所述分段判斷時間,若所述異常確認(rèn)時刻和所述異常產(chǎn)生時刻之差小于所述分段判斷時間,則采用整段復(fù)制日志的方式獲取異常產(chǎn)生前后的日志,否則,采用分段復(fù)制日志的方式獲取異常產(chǎn)生前后的日志。
信息融合模塊,用于將所獲取的日志信息和調(diào)試信息寫入異常信息文件。
圖3是本發(fā)明另一實施例提供的異常信息采集系統(tǒng)的模塊結(jié)構(gòu)和協(xié)作方式示意圖,如圖3所示,主要針對儀器故障時的異常信息采集問題,為了定位異常產(chǎn)生的原因,需要提供一份既完善又易分析的異常信息文件,該異常信息文件解決的問題包括:1.通過異常日志(與異常相關(guān)的打印信息)和調(diào)試命令信息相結(jié)合,使異常信息互補且完善;2.通過下文判斷準(zhǔn)則獲取異常產(chǎn)生前的日志;3.不監(jiān)控固定數(shù)據(jù)點,通過注冊集合的方式,實現(xiàn)了監(jiān)控內(nèi)容自動更新。本實施例采用以下技術(shù)方案,本實施例建立一套異常信息采集(或獲取)系統(tǒng),該系統(tǒng)包含:異常監(jiān)控管理模塊(相當(dāng)于異常管理和異常監(jiān)控模塊)、異常日志獲取模塊(相當(dāng)于信息獲取模塊)、調(diào)試信息獲取模塊(相當(dāng)于信息獲取模塊)、信息融合模塊。
異常監(jiān)控管理模塊主要作用:用于注冊監(jiān)控對象合集,其集合包含要監(jiān)控的對象、每個監(jiān)控對象的掃描周期、異常確認(rèn)條件等;注冊常用調(diào)試命令集,即研發(fā)平時定位問題敲的調(diào)測函數(shù)(即調(diào)試命令)。
異常日志獲取模塊主要作用:首先是日志記錄,記錄系統(tǒng)運行過程中不斷產(chǎn)生的打印信息,并在每條打印信息前追加時間戳。同時為了使該日志的大小在一個可控范圍內(nèi),周期性剔除日志采集文件中較老的數(shù)據(jù)。其次,異常相關(guān)日志獲取,按照下文及圖5所述規(guī)則獲取異常產(chǎn)生前后的日志。
調(diào)試信息獲取模塊主要作用:當(dāng)異常確認(rèn)后,調(diào)用調(diào)試命令庫中的所有命令,記錄調(diào)試命令信息。
信息融合模塊主要作用:當(dāng)異常日志和調(diào)試信息都獲取好后,將這兩部分內(nèi)容按一定的格式寫入最終的異常信息文件。
上述各模塊的連接關(guān)系見附圖3。
所述異常信息采集的步驟包括:
一.在異常監(jiān)控管理模塊注冊監(jiān)控對象合集與調(diào)試命令合集。
二.儀器運行,系統(tǒng)開始記錄運行過程中產(chǎn)生的打印信息。一段時間刪除較老的打印信息。
三.異常產(chǎn)生,按照下文所述方式記錄異常產(chǎn)生時刻與異常確認(rèn)時刻。按照下文的規(guī)則從上一步記錄的日志中獲取與異常相關(guān)的異常日志。
四.調(diào)用調(diào)試命令庫中的命令,記錄調(diào)試命令信息。
五.將與異常相關(guān)的異常日志和調(diào)試命令信息按照一定的格式融合寫入最終異常信息文件。
采用本實施例所建立的異常信息采集系統(tǒng),實現(xiàn)了以下目的:
1.異常產(chǎn)生前后異常日志、和調(diào)試命令信息相結(jié)合,信息間互補,最大程度還原了研發(fā)人員在實驗室定位問題需要采集的數(shù)據(jù),信息量全面,且容易被研發(fā)人員分析;
2.通過本文判斷準(zhǔn)則,實現(xiàn)了異常產(chǎn)生前日志的采集;
3.不需要為該系統(tǒng)封裝專門的監(jiān)控函數(shù),而是選擇與用戶強相關(guān),且會不斷維護(hù)的數(shù)據(jù)(日志,常用調(diào)試命令)作為采集對象,通過注冊的方式來獲取這些內(nèi)容,保證內(nèi)容會被不斷更新,實現(xiàn)系統(tǒng)的自動更新。
圖4是圖3所示系統(tǒng)的異常時刻確認(rèn)流程圖,如圖4所示,步驟包括:
步驟s201:異常監(jiān)控管理模塊周期檢查監(jiān)控對象。
步驟s202:對異常狀態(tài)進(jìn)行判斷。
如果此時異常狀態(tài)是異常中斷,則執(zhí)行步驟s203;
如果此時異常存在,首先判斷是否為第一次異常,如果是,則執(zhí)行步驟s204,緊接著執(zhí)行步驟s205。
步驟s203:消除已記錄的異常產(chǎn)生時刻和其它相關(guān)數(shù)據(jù),并流程結(jié)束。
步驟s204:記錄異常產(chǎn)生時刻。
步驟s205:異常確認(rèn)判斷。
判斷是否達(dá)到異常確認(rèn)條件,如果達(dá)到異常確認(rèn)條件則執(zhí)行步驟s206,如果沒達(dá)到則執(zhí)行步驟s208流程結(jié)束,進(jìn)行下一輪統(tǒng)計判斷。
步驟s206:記錄異常確認(rèn)時間。
步驟s207:獲取所記錄的異常產(chǎn)生時刻和異常確認(rèn)時刻,以便利用獲取的這兩個條件,進(jìn)行后續(xù)流程異常相關(guān)數(shù)據(jù)采集。
步驟s208:結(jié)束流程。
圖5是圖3所示異常日志獲取流程圖,如圖5所示,步驟包括:
步驟s301:獲取打印記錄文件;
步驟s302:比較異常確認(rèn)時刻和異常產(chǎn)生時刻之差與分段判斷時間,若前者小于后者,則執(zhí)行步驟s303,否則執(zhí)行步驟s304。
步驟s303:整段日志復(fù)制;
步驟s304:分段日志復(fù)制;
步驟s305:添加異常產(chǎn)生點和異常確認(rèn)點標(biāo)識。
圖6是圖3所示調(diào)試信息獲取流程圖,如圖6所示,步驟包括:
步驟s401:異常監(jiān)控管理模塊確認(rèn)異常產(chǎn)生;
步驟s402:執(zhí)行調(diào)試命令庫中的命令;
步驟s403:判斷命令內(nèi)容能否直接寫入異常信息文件,能則執(zhí)行步驟s404,否則執(zhí)行步驟s405;
步驟s404:通過寫文件方式將信息寫入異常信息文件;
步驟s405:通過重定向方式將屏幕上的打印信息寫入異常信息文件,即將信息輸出口從屏幕轉(zhuǎn)接到異常信息文件。
下面結(jié)合圖4至圖6進(jìn)一步詳細(xì)描述。
在異常監(jiān)控管理模塊注冊監(jiān)控對象合集與調(diào)試命令合集。
儀器運行,系統(tǒng)開始記錄運行過程中產(chǎn)生的打印信息。每隔一段時間刪除較老的打印信息。例如每隔12小時,將本日志中24小時前的日志數(shù)據(jù)剔除。
異常監(jiān)控管理模塊對異常進(jìn)行監(jiān)控,按照圖4規(guī)則確定異常產(chǎn)生時刻和異常確認(rèn)時刻,如圖4所示,異常監(jiān)控管理模塊周期查詢監(jiān)控對象,然后進(jìn)行監(jiān)控對象狀態(tài)統(tǒng)計,如果第一次發(fā)現(xiàn)異常則記錄異常產(chǎn)生時刻,如果異常狀態(tài)還沒有達(dá)到異常確認(rèn)條件就消失則消除已記錄的異常產(chǎn)生時刻,如果達(dá)到異常確認(rèn)條件,就會獲得異常產(chǎn)生時刻和異常確認(rèn)時刻。這里應(yīng)該說明:如果異常只是系統(tǒng)波動,隨后消失,并不影響使用,則該異??梢院雎?;如果異常連續(xù)不斷出現(xiàn)并且達(dá)到確認(rèn)條件則確認(rèn)這是一個影響使用的異常,記錄此時時間為異常確認(rèn)時刻。例如每3s檢查一次輸入電壓是否異常,第一次發(fā)現(xiàn)輸入電壓異常,記錄下這次產(chǎn)生時刻,如果隨后連續(xù)3次都發(fā)現(xiàn)輸入電壓異常即滿足注冊的異常確認(rèn)條件,則確認(rèn)產(chǎn)生了輸入電壓異常,記錄這時的時間為異常確認(rèn)時刻。
在圖4確定異常產(chǎn)生時刻和異常確認(rèn)時刻后,按照圖5的準(zhǔn)則進(jìn)行異常相關(guān)打印信息的獲取,如圖5所示,當(dāng)按照圖4方式獲取了異常產(chǎn)生時刻和異常確認(rèn)時刻,就可按照圖5所示方式從已記錄的打印日志中獲取與異常相關(guān)的日志。
本實施例定義的幾個概念的解釋如下:
異常關(guān)聯(lián)時間:在這一時段內(nèi)的日志與異常緊密相關(guān),其確認(rèn)方式為:與異常相關(guān)的采集數(shù)據(jù)中狀態(tài)更新最長時間*系數(shù);其中,系數(shù)與實際的異常系統(tǒng)以及日志容納大小有關(guān)。
分段判斷時間:為了日志的連續(xù)性,一般會整段復(fù)制日志,但如果異常產(chǎn)生時刻與異常確認(rèn)時刻間隔很大,為了避免其中記錄過多重復(fù)信息,導(dǎo)致日志過大,需要分段復(fù)制日志。這里規(guī)定異常關(guān)聯(lián)時間*系數(shù)(系數(shù)與實際的異常系統(tǒng),以及日志容納大小有關(guān)),該時間大小作為是否分段采集日志的判斷標(biāo)準(zhǔn)。
整段復(fù)制日志:當(dāng)異常產(chǎn)生時刻減去異常確認(rèn)時刻小于分段判斷時間,就整段復(fù)制日志,即復(fù)制從(異常產(chǎn)生時刻-異常關(guān)聯(lián)時間)到(異常確認(rèn)時刻+異常關(guān)聯(lián)時間)之間的異常日志。
分段日志復(fù)制:當(dāng)異常產(chǎn)生時刻減去異常確認(rèn)時刻大于分段判斷時間,就復(fù)制“異常產(chǎn)生時刻±異常關(guān)聯(lián)時間”,和“異常確認(rèn)時刻±異常關(guān)聯(lián)時間”,這兩段時間之間的日志,并在這兩段日志之間增加日志中斷標(biāo)示。
由于異常產(chǎn)生時刻和異常確認(rèn)時刻對于一個異常來說是比較重要的兩個時刻,因此在這兩個時刻前增加星號作為標(biāo)識,使其在日志中較為便捷的找出。
例如:本實施例中監(jiān)控點中更新時間最長的為80s,考慮系統(tǒng)存儲與文件大小,認(rèn)為3次能確認(rèn)事件是否周期發(fā)生,因此定義異常關(guān)聯(lián)時間為80s*3=240s。由于本實施例認(rèn)為異常產(chǎn)生時刻后和異常確認(rèn)時刻前異常關(guān)聯(lián)時間內(nèi)的數(shù)據(jù)都是有用的,再加上一次異常關(guān)聯(lián)時間作為冗余,因此分段判斷時間的系數(shù)取3,故分段判斷時間為異常關(guān)聯(lián)時間240s*系數(shù)3=720s。當(dāng)異常確認(rèn)時刻減去異常產(chǎn)生時刻小于720s,就整段復(fù)制日志,即從日志采集文件復(fù)制異常產(chǎn)生時刻減去240s到異常確認(rèn)時刻加上240s之間的日志。當(dāng)異常確認(rèn)時刻減去異常產(chǎn)生時刻大于720s,如果還采取整段復(fù)制日志,就會獲取很多冗余信息,導(dǎo)致日志過大,因此采取分段日志復(fù)制,只復(fù)制異常產(chǎn)生時刻前后240s之間的日志和異常確認(rèn)時刻前后240s之間的日志,并在這兩段日志之間加上分段標(biāo)示符。
當(dāng)異常監(jiān)控管理模塊確認(rèn)異常產(chǎn)生,除了告知異常日志獲取模塊準(zhǔn)備獲取日志外,還會告知調(diào)試信息獲取模塊,調(diào)試信息獲取模塊按照圖6準(zhǔn)則獲取調(diào)試信息,如圖6所示。調(diào)試信息獲取模塊調(diào)用注冊在異常監(jiān)控管理模塊中的調(diào)試命令庫中的所有命令,并記錄這些調(diào)試命令產(chǎn)生的調(diào)試信息。由于既往實現(xiàn)的調(diào)試命令的差異,有些命令可以將命令內(nèi)容通過指針傳遞給調(diào)用者即本發(fā)明實施例的調(diào)試信息獲取模塊,這些命令可以將命令內(nèi)容直接寫入文件,而有些命令只能將命令內(nèi)容顯示在屏幕,無法將命令內(nèi)容告知調(diào)用者,對于這部分命令為了避免再次封裝實現(xiàn)相同內(nèi)容的命令函數(shù)而造成耦合,因此采用重定向的方式將輸出在屏幕上的信息重定向?qū)懭胛募?/p>
隨后,信息融合模塊將上述獲取的異常日志和調(diào)試命令信息按一定的格式寫入最終異常信息文件。按照這種方式,隨后監(jiān)控對象再確定產(chǎn)生異常,將其相關(guān)的信息追加寫入該異常信息文件。通過這些與異常相關(guān)的數(shù)據(jù)信息,研發(fā)人員就可以很容易的定位異常產(chǎn)生的根本原因。
綜上所述,本發(fā)明的實施例具有以下技術(shù)效果:
1、采集異常產(chǎn)生前后日志信息與異常相關(guān)調(diào)試命令信息,通過將兩者相結(jié)合,提高了研發(fā)人員的分析效率。
2、由于異常產(chǎn)生前的數(shù)據(jù)對于定位異常問題有重要的參考價值,通過本發(fā)明實施例確認(rèn)的異常產(chǎn)生時刻和異常確認(rèn)時刻,可實現(xiàn)異常產(chǎn)生前日志的采集。
3、通過本發(fā)明實施例所述分段或整段獲取日志方式,避免了獲取過多冗余日志,有效獲取與異常相關(guān)信息。
4、在采集方式上,本系統(tǒng)不監(jiān)控固定的數(shù)據(jù)點,而是監(jiān)控平臺注冊的集合,選擇已有的調(diào)試命令,從而避免了對同一監(jiān)控點多處監(jiān)控而造成的耦合。
5、日志信息與已有調(diào)試命令都是與用戶強相關(guān),會隨版本演進(jìn)不斷被維護(hù)更新,從而實現(xiàn)了本系統(tǒng)采集內(nèi)容的自動更新,也最大限度的減少了本系統(tǒng)的后續(xù)維護(hù)成本。
盡管上文對本發(fā)明進(jìn)行了詳細(xì)說明,但是本發(fā)明不限于此,本技術(shù)領(lǐng)域技術(shù)人員可以根據(jù)本發(fā)明的原理進(jìn)行各種修改。因此,凡按照本發(fā)明原理所作的修改,都應(yīng)當(dāng)理解為落入本發(fā)明的保護(hù)范圍。