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