宣恒農 苗春玲 趙冬 張潤馳 劉田田
摘要:隨著大數(shù)據(jù)時代的到來,人們對于計算機系統(tǒng)的穩(wěn)定性要求日益增高,如何快速而準確地找出系統(tǒng)中的故障點,成為了人們的研究熱題,對系統(tǒng)級故障診斷算法的研究逐漸受到了人們的重視。本文首先對現(xiàn)有的系統(tǒng)級故障診斷算法進行了分類,進而闡述了系統(tǒng)級故障診斷算法的近期主要研究成果,最后預測了該領域的未來研究方向與發(fā)展前景。
關鍵詞:系統(tǒng)級故障診斷;診斷模型;集團診斷算法;方程診斷算法;智能診斷算法Achievement and prospects of system-level fault diagnosis
XuanHeng-nongMiaoChun-lingZhao-DongZhangRun-chiLiuTian-tian
(School of Information Engineering,Nanjing University of Finance and Economics,Nanjing,Jiangsu 210046,China)
Abstract:With the arrival of the era of big data, it requires the stability of any computer systems,and how to identify the faulty nodes in the system quickly and accurately has become a hot topic for researchers, system-level fault diagnosis algorithm research gradually attack people's attention.The paper firstly classify the existing system-level fault diagnosis algorithms,and then describes the main research results of the system-level fault diagnosis algorithm recently,finally predict the future prospects of the research and development in the field.
Key words:System-level fault diagnosis;diagnosis model;Group diagnostic algorithm;Equation diagnostic algorithm;I ntelligent diagnosis algorithm近年來,隨著云計算、數(shù)據(jù)中心的日益普及和Internet的迅猛發(fā)展,在計算機帶來極大便利的同時,其安全性和穩(wěn)定性也越來越重要。如果計算機系統(tǒng)不能在規(guī)定的時間內穩(wěn)定可靠地工作,將會造成巨大的損失,而保證這些系統(tǒng)的安全性與穩(wěn)定性則是需要研究的關鍵問題之一。系統(tǒng)級故障診斷的方法通過測試、診斷,迅速確定系統(tǒng)中的故障機,是保證整個系統(tǒng)安全與穩(wěn)定的非常重要之手段。
系統(tǒng)級故障診斷是由Preparata、Metze和Chien等人[1]首次提出。其大致思想是:利用網(wǎng)絡中各節(jié)點的通信和處理能力進行相互測試,通過對測試結果的分析,從而找出故障點。對系統(tǒng)級故障診斷的研究是建立在故障模型基礎之上的,若以“+”代表正常機,“-”代表故障機,“0”表示通過測試,“1”表示未通過測試,按照測試方式與故障癥候的不同,故障模型主要分為以下四種:
PMC模型(基于測試的對稱模型)
BGM模型(基于測試的非對稱模型)
Chwa&Hakimi模型(基于比較的對稱模型)
Malek模型(基于比較的非對稱模型)
1系統(tǒng)級故障診斷算法的分類
1.1 按診斷精確度分類
根據(jù)診斷的目標精確度,可以把診斷算法分為精確性診斷算法和非精確性診斷算法。精確性診斷算法要求所有的故障結點機都能被診斷出來(完全診斷),并且要求所有被識別出來的故障結點的確是存在故障的;非精確性診斷算法允許系統(tǒng)中有一定數(shù)量的無故障結點被錯誤地診斷為故障結點,或存在少部分的故障點未被診斷出來。
1.2 按診斷步驟分類
根據(jù)在一次診斷過程中診斷出的系統(tǒng)故障結點數(shù)目,可以把系統(tǒng)級故障診斷算法分為一步故障診斷算法與順序故障診斷算法。一步故障診斷算法要求通過結點機相互測試獲得一個完整癥候,一次性完全地識別出全部故障結點機;順序故障診斷算法由多個診斷階段構成,每個階段,先診斷出一個或多個故障點,然后對診斷出的故障點進行修復或者更換,將被修復或者替換后的結點重新加入到系統(tǒng)中,讓其參與下一階段的診斷,如此反復,找到所有的故障結點。
1.3 按診斷方式分類
按診斷方式進行劃分可以分為:集中式診斷算法和分布式診斷算法。集中式診斷算法要求除了系統(tǒng)內部互相測試之外,還需要把所有產生的測試結果送到系統(tǒng)外的一臺高可靠機(即中心機)進一步處理,由該中心機根據(jù)癥候來判斷識別出系統(tǒng)中的故障結點機;分布式診斷算法的基本思想是:不需要一個絕對可靠的中心機,在進行診斷時,系統(tǒng)中的各個結點分別獨立地對其余結點進行測試獲得所需癥候,然后獨立地根據(jù)得到的癥候進行診斷。
2系統(tǒng)級故障診斷發(fā)展現(xiàn)狀
根據(jù)算法所用核心工具的不同,系統(tǒng)級故障診斷算法主要包括以下三大類:
2.1 基于圖論原理的集團診斷算法
基于圖論的診斷算法將測試癥候矩陣與圖論原理相結合,通過邏輯推導與圖論運算,求出各單元的故障狀態(tài)。鑒于實際系統(tǒng)中存在大可靠塊的事實,張大方等人首次將圖論中的極大獨立點集理論用于系統(tǒng)級故障診斷領域,提出了集團的概念。集團診斷算法[2]的基本思想是:讓系統(tǒng)中性質相同的結點聚合成一個塊(進行集團運算),再對聚合后的系統(tǒng)進行診斷,集團中的結點性質相同,要么都是正常機,要么都是故障機。
2.2 方程診斷算法
筆者等人[3]首次對基于互測的PMC故障模型提出“方程診斷”的有關概念,并且把這些模型等價地轉換為一個代數(shù)方程組(也可以轉換為一個代數(shù)方程),而后通過運用“集團”和引入“絕對故障基”等工具,對一般情形下的各模型,找到了求全體相容故障模式的具體方法,即方程診斷算法.這種診斷算法既不必用“t可診斷性”作假設,也無需以“相信大多數(shù)”做前提,并且即使故障機數(shù)超過處理機總數(shù)的一半(甚至全體處理機均出現(xiàn)故障),依然能求出全部相容故障模式。PMC模型可表示為如下方程:
定理1 設A為一個n維的PMC故障模型,X為標
準向量庫,則下列命題等價:
(i)x為A的一個PMC型解;
(ii)
(iii)
文獻[4-6]分別提出將BGM、Chwa&Hakimi和Malek模型等價地轉換成方程的形式進行診斷,方程表示形式分別如下:
BGM模型方程:
Chwa&Hakimi模型方程:
Malek模型方程:
隨后,宣等人將t-可診斷性和方程算法相結合,提出了二分診斷算法[7],將測試系統(tǒng)拆分為相對正常機集合和相對故障機集合,在對各個故障機集合采用自適應的的算法進行診斷。
2.3 基于現(xiàn)代群體智能算法的診斷算法
智能診斷算法往往具有自適應能力強、魯棒性好、迭代求解速度快等特征,因此在實際領域應用廣泛。
遺傳算法 GA(Genetic Algorithm) 是一種借鑒生物界自然選擇和群體基因遺傳機理的隨機和自適應優(yōu)化的搜索算法,模擬了自然選擇和遺傳過程中發(fā)生的繁殖、雜交和突變現(xiàn)象。文獻[8]首次用遺傳算法解決系統(tǒng)級故障診斷問題。鄧偉等人[9]通過分析Elhadef和Ayeb等人的不足之處,改進了種群的初始化方法,針對PMC模型提出結點狀態(tài)與診斷圖中一定癥候相容時結點狀態(tài)應滿足的方程,然后設計基于該方程的適應度函數(shù)。使得對最終求得的適應度為1的解的即為問題的解,理論和實驗仿真證明了改進后的算法大大優(yōu)于Elhaedf等人的算法。
人工神經網(wǎng)絡(artificial neural network)是一種應用類似大腦神經突觸聯(lián)接的結構進行信息處理的數(shù)學模型或計算模型。文獻[10]提出了用Hopfield神經網(wǎng)絡解決系統(tǒng)級故障診斷問題,取得了不錯的效果;Mourad Elhadef和Amiya Nayak[11]首次將BP神經網(wǎng)絡應用到Chwa&Hakimi模型下的系統(tǒng)級故障診斷。由于BP神經網(wǎng)絡具有較好的自組織、自學習能力,因此算法的泛化性十分優(yōu)越,同時診斷正確率很高,但其“學習--反饋--學習”的循環(huán)機制導致迭代次數(shù)較大,因此時間復雜度較高。
3結束語
隨著未來網(wǎng)絡的發(fā)展[12-13],新型分布式大型網(wǎng)絡系統(tǒng)的出現(xiàn),對現(xiàn)有的各類診斷算法的兼容性也提出了挑戰(zhàn)。下一步的研究方向包括如何進一步完善方程診斷算法、集團診斷算法以及各種智能診斷算法等,這些理論的發(fā)展將會不斷完善系統(tǒng)級故障診斷技術。通過對多種不同診斷技術的融合,可將系統(tǒng)級故障診斷系統(tǒng)集成化,從而可充分發(fā)揮各自方法的優(yōu)點,進一步提高算法的綜合診斷能力。
[參考文獻]
[1]Preparate F P,Metze G, Chien R T.On the connection assignment problem of diagnosable system[J].IEEE Transactions on Electronic Computer,1967,16(12):845-854.
[2]Zhang Dafang,Xie Gaogang,Min yinghua.Node grouping in system-level fault diagnosis[J].Journal of Computer Science & Technology,2001,24(5):474-479.
[3]宣恒農,張大方,張明.PMC故障模型的方程診斷[J].電子學報,2003,05:694-697.
[4]宣恒農.用方程表示BGM故障模型的方法研究[J].計算機工程與應用,2001,23:93-94.
[5]宣恒農,張明,張大方,張廷選.Chwa & Hakimi故障模型方程診斷的理論基礎[J].計算機應用,2003,04:16-18.
[6]文學志,宣恒農.Malek故障模型的方程診斷算法設計[J].計算機工程與應用,2005,29:39-41+60.
[7]宣恒農,何濤,許宏,孫明明.基于Chwa &Hakimi故障模型的二分診斷算法[J].計算機工程與應用,2010,05:66-68.
[8]Elhadef M,Ayeb B.An evolutionary algorithm for identifying faults in t-diagnosable systems[C].Reliable Distributed Systems,2000. SRDS-2000.Proceedings The 19th IEEE Symposium on.IEEE,2000: 74-83.
[9]鄧偉,楊小帆,吳中福.面向系統(tǒng)級故障診斷的高效遺傳算法[J].計算機學報,2007,07:1115-1124.
[10]Elhadef, M."Solving the PMC-Based System-Level Fault Diagnosis Problem Using Hopfield Neural Networks",Advanced InFORmation Networking and Applications (AINA),2011 IEEE.