李贛華,董黎,李顯武,邰能建,夏克強,邰文星,安源
(1.國家宇航動力學實驗室,陜西 西安 710043;2.西安衛(wèi)星測控中心,陜西 西安 710043)
隨著我國航天工業(yè)尤其是商業(yè)航天的快速發(fā)展,我國在軌航天器數(shù)量迅猛增長。面向航天器高可靠控制管理要求,航天地面數(shù)據(jù)中心也出現(xiàn)了長期不停、多代并行、功能多樣、系統(tǒng)復雜等特點。面向不斷擴大的地面系統(tǒng),穩(wěn)定運行和高效運維是航天地面數(shù)據(jù)處理中心系統(tǒng)的首要要求,不同格式的數(shù)據(jù)傳輸異常、進程異常退出等應用軟件問題,以及服務(wù)器宕機、CPU 異常、磁盤故障、風扇損壞等底層硬件故障,都是嚴重影響系統(tǒng)運行的嚴重故障,會嚴重影響航天地面數(shù)據(jù)處理中心的正常運行,甚至影響航天器在軌應用。為了實現(xiàn)這種復雜航天地面數(shù)據(jù)處理中心故障提前發(fā)現(xiàn),爭取時間解決故障,本文提出了一種基于規(guī)則和故障樹的軟硬件系統(tǒng)故障預測方法,并在航天數(shù)據(jù)處理中心系統(tǒng)進行了驗證和應用,結(jié)果能夠?qū)崿F(xiàn)對故障的預測,更好地保障了航天數(shù)據(jù)處理中心系統(tǒng)連續(xù)運行的高可靠性[1-2]和高可用性[3]。
不論國外還是國內(nèi),當前系統(tǒng)監(jiān)控主要依托3 種方式開展系統(tǒng)管理:(1)硬件平臺自帶的監(jiān)控管理系統(tǒng),如浪潮服務(wù)器自帶的性能監(jiān)視軟件;(2) 云管理平臺提供的監(jiān)視系統(tǒng),如華為FusionSphere 管理平臺;(3)用戶自研的集中監(jiān)控管理平臺。航天數(shù)據(jù)處理中心因為系統(tǒng)復雜,高可靠不間斷運行要求高,系統(tǒng)軟硬件平臺都需要監(jiān)控,多采用獨立建設(shè)集中監(jiān)控管理平臺。但是一旦發(fā)生故障,對于航天數(shù)據(jù)處理中心以及航天器運行都是災難性。對于航天數(shù)據(jù)處理中心故障的預測和提前處置就是系統(tǒng)運行的關(guān)鍵技術(shù)。
在系統(tǒng)運維監(jiān)控方面,陳建譯從計算機聯(lián)鎖系統(tǒng)原理和硬件結(jié)構(gòu)出發(fā),提出了基于現(xiàn)場運維故障數(shù)據(jù)的系統(tǒng)壽命預測方法[4];翟永開展了計算機硬件設(shè)備的運維決策和評估數(shù)據(jù)模型分析,基于設(shè)備和子系統(tǒng)可靠度和可用性理論,分析了資產(chǎn)殘值、業(yè)務(wù)重要度和不可靠度等運維重要度變量的測算方法[5]。
在故障預測方面,郭建綜述了基于狀態(tài)的系統(tǒng)故障預測與維修決策的發(fā)展現(xiàn)狀,分別將基于可靠性、基于數(shù)據(jù)驅(qū)動、基于統(tǒng)計、基于失效物理和綜合集成的故障預測進行了總結(jié)分析[6-9];繆巍巍提出了針對IMS 業(yè)務(wù)特點的故障樹構(gòu)建方法,實現(xiàn)了一種基于故障樹知識庫的故障診斷專家系統(tǒng)[10];宋俊花提出新的故障樹簡化規(guī)則和模塊擴展分解算法,對現(xiàn)有的線性時間算法進行改進,解決大型故障樹的分析需要耗費大量的計算資源,導致分析效率低下、時間消耗過多問題[11]。故障樹的預測和診斷方法還在計算機系統(tǒng)的狀態(tài)分析、網(wǎng)絡(luò)安全管理、系統(tǒng)容錯等方面進行應用和研究[12-15]。
故障診斷系統(tǒng)的目的是在中心綜合監(jiān)視系統(tǒng)的基礎(chǔ)上,引入故障診斷技術(shù),通過計算機系統(tǒng)的各類參數(shù)狀態(tài)信息、任務(wù)過程信息、設(shè)備屬性信息,進行故障診斷,實現(xiàn)對中心系統(tǒng)運行狀態(tài)的準確感知,降低系統(tǒng)故障虛報漏報的概率,并實現(xiàn)故障的精確定位,形成一個具有專家智能的故障檢測平臺,提高故障診斷的智能化水平,提升中心系統(tǒng)的維護效率。該平臺具備自動報警、輔助診斷和快速故障定位的功能。系統(tǒng)整體架構(gòu)如圖1所示。
系統(tǒng)工作流程:故障診斷系統(tǒng)接收數(shù)據(jù)采集模塊推送的相關(guān)設(shè)備告警名稱、告警設(shè)備標識符、告警類型等參數(shù),經(jīng)過規(guī)則轉(zhuǎn)化,再綜合運用知識庫中的知識進行復雜的邏輯推理,同時利用反饋機制及時判斷事件發(fā)生與否,最終診斷出可能導致設(shè)備發(fā)生故障的位置、故障原因置信度及修復建議。系統(tǒng)采用反向演繹推理策略并結(jié)合深度優(yōu)先搜索遍歷的方法,以實現(xiàn)對計算機系統(tǒng)設(shè)備故障原因的快速定位,并給出排除故障的措施。
系統(tǒng)分為轉(zhuǎn)化規(guī)則管理、知識庫管理、故障推理管理以及故障預警管理四大模塊。在系統(tǒng)內(nèi)部數(shù)據(jù)處理過程中,信息存儲至少包含轉(zhuǎn)化規(guī)則信息記錄、知識庫相關(guān)信息記錄(包含事件信息記錄和故障樹相關(guān)記錄)、故障推理相關(guān)記錄(推理條件記錄和推理結(jié)果記錄)以及故障預測相關(guān)記錄(包含預測條件記錄和預測結(jié)果記錄)。
根據(jù)人工診斷先驗知識,構(gòu)建故障樹,模型如圖2 所示。其中“L1:顯示網(wǎng)收不到數(shù)據(jù)”作為故障樹的頂事件。
采用故障樹和規(guī)則推理相結(jié)合的工作方式,首先根據(jù)故障樹的構(gòu)成,轉(zhuǎn)化成如下的推理規(guī)則:
規(guī)則1:IF 顯示網(wǎng)收不到數(shù)據(jù)THEN 顯示網(wǎng)交換機異常;前件可信度T=0.8,規(guī)則強度C=0.2;
規(guī)則2:IF 顯示網(wǎng)收不到數(shù)據(jù)THEN 顯示網(wǎng)計算機異常;前件可信度T=0.8,規(guī)則強度C=0.3;
規(guī)則3:IF 顯示網(wǎng)收不到數(shù)據(jù)THEN 非顯示網(wǎng)問題;前件可信度T=0.8,規(guī)則強度C=0.5;
規(guī)則4:……
然后采用反向推理策略搜索故障來源,搜索的優(yōu)先順序是首先搜索較大概率的下一級事件,判斷該事件是否是葉子節(jié)點。若是葉節(jié)點則從數(shù)據(jù)采集端確認是否有消息證實該事件的真實性;若不是葉節(jié)點,則搜索其他下一級事件,直到確認故障發(fā)生的原因及位置,同時更新相應的節(jié)點概率。
將故障診斷系統(tǒng)的診斷結(jié)果顯示給系統(tǒng)管理員,方便管理員及時針對故障診斷結(jié)果進行故障修復。
故障名稱:顯示網(wǎng)收不到數(shù)據(jù)
設(shè)備信息:Windows50
診斷時間:2015-04-24 14:45:49
診斷結(jié)果:未完成
診斷步驟:見表1
表1 診斷系統(tǒng)診斷表
處理意見:重新啟動EADS 設(shè)備,或人工檢查DODS軟件狀態(tài)。
規(guī)則管理界面如圖3 所示,用于管理系統(tǒng)告警推理時所需規(guī)則庫,表中的屬性字段和故障樹的門事件緊密相關(guān),故障樹的邏輯關(guān)系描述了表中屬性字段的父子關(guān)系,并給出診斷結(jié)果的處理意見。該表中的規(guī)則需在診斷前手動添加,該表中的規(guī)則越豐富,診斷結(jié)果越準確。故障樹管理界面如圖4 所示,繪制完成了一個可視化故障樹實例。故障樹中的元素可以隨意拖動,門元素中綁定的事件也可以隨意修改,故障樹繪制過程中會進行故障樹合法性檢查,例如故障樹中是否有環(huán)路、門節(jié)點的孩子數(shù)是否大于等于2 等。
故障預警是通過建立預測模型,根據(jù)設(shè)備性能參數(shù)的歷史記錄,推斷出未來某一段時間內(nèi)設(shè)備運行的狀況,及時發(fā)現(xiàn)設(shè)備潛在故障,提前進行故障維修,降低設(shè)備故障引起的事故風險。故障預測分為以下幾步。
中心系統(tǒng)是一個復雜的系統(tǒng),反映系統(tǒng)運行狀態(tài)的參數(shù)很多,如設(shè)備路由表、設(shè)備運行時間、板卡溫度、CPU 使用率、內(nèi)存、硬盤使用率、端口流量、端口丟包率、SYSLOG 日志等。在選擇故障特征量時應選擇對設(shè)備運行有直接和重大影響的參數(shù)。實踐表明,選擇內(nèi)存使用率、CPU 使用率、硬盤使用率、端口流量等參數(shù)作為故障預測參數(shù),是有實際意義的。
設(shè)備運行狀況的變化趨勢一般通過預測模型來模擬和仿真,從而預測設(shè)備未來的運行狀態(tài)。目前主要的故障預測技術(shù)有統(tǒng)計方法、數(shù)學方法、人工智能方法和信息融合方法等。
利用建立好的模型進行預測,預測的準確性將直接決定著系統(tǒng)性能的好壞,因此應根據(jù)一定的指標來評價預測模型的好壞,并對模型進行改進。
故障預測的基本模型如圖5 所示。
系統(tǒng)采用二次曲線擬合的數(shù)學模型,利用最小二乘數(shù)學方法,回歸分析歷史數(shù)據(jù),并擬合出與歷史數(shù)據(jù)相一致的曲線,然后根據(jù)這條曲線預測設(shè)備未來一段時間的健康狀態(tài)。該方法具有原理簡單、易于實施的特點。每次預測時根據(jù)最新采集的歷史數(shù)據(jù)重新生成擬合曲線,在使用過程中擬合次數(shù)可以進行配置,下面介紹具體實現(xiàn)過程。
其中,a、b、c 為公式系數(shù),x 為時間值,y 為時間值對應的具體監(jiān)控參數(shù)值。
數(shù)據(jù)以x、y 值的形式表示,x 值為時間值,每個x 值之間的間隔取決于監(jiān)控系統(tǒng)中采集頻率(一般為60 s),y值為x 軸各個時間點上采集的監(jiān)控參數(shù)值,如圖6 中采集的數(shù)據(jù)為時間在0~20 個單位之間的數(shù)據(jù)。
歷史數(shù)據(jù)的x 值(時間值)和y 值(時間上對應的監(jiān)控參數(shù)值)為已知數(shù)據(jù),帶入二項式曲線擬合式(1)求出公式系數(shù)a、b、c 值。
取預測條件中的預測時間范圍,監(jiān)控系統(tǒng)中的采集頻率分隔預測時間為若干采樣點,如圖6 中預測的范圍為20~40 個單位時間的情況。
將采樣點作為預測x 值(預測時間值)加到已采集的歷史數(shù)據(jù)x 值(歷史時間)后,帶入到式(1)中求出y值,即從0~40 個單位時間內(nèi)的擬合值(圖6 中的曲線)。
圖6 中的垂直的實線左側(cè)為歷史部分,圖上點為采集的歷史實際數(shù)據(jù),在擬合曲線附近波動;垂直實線右側(cè)為預測部分,圖上點為擬合后的預測數(shù)據(jù),預測的目的就是用這些擬合值與預測條件中設(shè)置的閾值表達式比較。如果預測條件中設(shè)置的閾值表達式為大于100,那么預測過程中就會用該閾值表達式遍歷比較擬合值,當遍歷到第33 個單位時間時超出閾值,此時會發(fā)出報警信息;如果閾值表達式設(shè)置為大于200,則在這個預測周期(20~40 的單位時間)內(nèi)就不會發(fā)生報警。
從曲線圖中可以看出曲線擬合方法的直觀性,該方法能實時地預測某個設(shè)備性能參數(shù)在未來某個時間區(qū)間內(nèi)的走向,在任務(wù)過程中已多次成功預測CPU使用率、硬盤使用率、網(wǎng)絡(luò)端口流量引起的設(shè)備故障風險,有效避免了重要時段設(shè)備故障,提高了系統(tǒng)的穩(wěn)定性。
圖7 為實現(xiàn)的預測管理模塊界面,該模塊主要完成對指定設(shè)備的特定事件的錄入,設(shè)置告警閾值、預測周期、提取的歷史數(shù)據(jù)點數(shù)以及預測開始的時間,作為故障預警管理模塊顯示展示的數(shù)據(jù)來源。
圖8 為對某個設(shè)備的具體預測結(jié)果。在曲線圖中以虛線顯示所選設(shè)備下對應事件的閾值;一次擬合線為中間曲線;二次擬合線為下部曲線;三次擬合曲線為上方曲線;實時采集的歷史數(shù)據(jù)點與中間的一次擬合曲線重合。最新預測結(jié)果狀態(tài)欄會實時滾動顯示預測的結(jié)果,系統(tǒng)會根據(jù)預測數(shù)據(jù)與實測數(shù)據(jù)差自動或手動選擇擬合方法,適應數(shù)據(jù)變化。
針對航天數(shù)據(jù)處理中心軟硬件監(jiān)控系統(tǒng),本文提出了一種基于故障樹的故障預測方法,實現(xiàn)了系統(tǒng)監(jiān)控故障診斷和預測系統(tǒng)。通過需檢測的硬件平臺和航天數(shù)據(jù)處理軟件系統(tǒng)的監(jiān)控系統(tǒng)驗證,說明方法對各種大量的軟硬件系統(tǒng)參數(shù)適用,驗證了方法的有效性。