宣恒農(nóng) 苗春玲 趙冬 張潤馳 劉田田
摘要:隨著大數(shù)據(jù)時(shí)代的到來,人們對(duì)于計(jì)算機(jī)系統(tǒng)的穩(wěn)定性要求日益增高,如何快速而準(zhǔn)確地找出系統(tǒng)中的故障點(diǎn),成為了人們的研究熱題,對(duì)系統(tǒng)級(jí)故障診斷算法的研究逐漸受到了人們的重視。本文首先對(duì)現(xiàn)有的系統(tǒng)級(jí)故障診斷算法進(jìn)行了分類,進(jìn)而闡述了系統(tǒng)級(jí)故障診斷算法的近期主要研究成果,最后預(yù)測(cè)了該領(lǐng)域的未來研究方向與發(fā)展前景。
關(guān)鍵詞:系統(tǒng)級(jí)故障診斷;診斷模型;集團(tuán)診斷算法;方程診斷算法;智能診斷算法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近年來,隨著云計(jì)算、數(shù)據(jù)中心的日益普及和Internet的迅猛發(fā)展,在計(jì)算機(jī)帶來極大便利的同時(shí),其安全性和穩(wěn)定性也越來越重要。如果計(jì)算機(jī)系統(tǒng)不能在規(guī)定的時(shí)間內(nèi)穩(wěn)定可靠地工作,將會(huì)造成巨大的損失,而保證這些系統(tǒng)的安全性與穩(wěn)定性則是需要研究的關(guān)鍵問題之一。系統(tǒng)級(jí)故障診斷的方法通過測(cè)試、診斷,迅速確定系統(tǒng)中的故障機(jī),是保證整個(gè)系統(tǒng)安全與穩(wěn)定的非常重要之手段。
系統(tǒng)級(jí)故障診斷是由Preparata、Metze和Chien等人[1]首次提出。其大致思想是:利用網(wǎng)絡(luò)中各節(jié)點(diǎn)的通信和處理能力進(jìn)行相互測(cè)試,通過對(duì)測(cè)試結(jié)果的分析,從而找出故障點(diǎn)。對(duì)系統(tǒng)級(jí)故障診斷的研究是建立在故障模型基礎(chǔ)之上的,若以“+”代表正常機(jī),“-”代表故障機(jī),“0”表示通過測(cè)試,“1”表示未通過測(cè)試,按照測(cè)試方式與故障癥候的不同,故障模型主要分為以下四種:
PMC模型(基于測(cè)試的對(duì)稱模型)
BGM模型(基于測(cè)試的非對(duì)稱模型)
Chwa&Hakimi模型(基于比較的對(duì)稱模型)
Malek模型(基于比較的非對(duì)稱模型)
1系統(tǒng)級(jí)故障診斷算法的分類
1.1 按診斷精確度分類
根據(jù)診斷的目標(biāo)精確度,可以把診斷算法分為精確性診斷算法和非精確性診斷算法。精確性診斷算法要求所有的故障結(jié)點(diǎn)機(jī)都能被診斷出來(完全診斷),并且要求所有被識(shí)別出來的故障結(jié)點(diǎn)的確是存在故障的;非精確性診斷算法允許系統(tǒng)中有一定數(shù)量的無故障結(jié)點(diǎn)被錯(cuò)誤地診斷為故障結(jié)點(diǎn),或存在少部分的故障點(diǎn)未被診斷出來。
1.2 按診斷步驟分類
根據(jù)在一次診斷過程中診斷出的系統(tǒng)故障結(jié)點(diǎn)數(shù)目,可以把系統(tǒng)級(jí)故障診斷算法分為一步故障診斷算法與順序故障診斷算法。一步故障診斷算法要求通過結(jié)點(diǎn)機(jī)相互測(cè)試獲得一個(gè)完整癥候,一次性完全地識(shí)別出全部故障結(jié)點(diǎn)機(jī);順序故障診斷算法由多個(gè)診斷階段構(gòu)成,每個(gè)階段,先診斷出一個(gè)或多個(gè)故障點(diǎn),然后對(duì)診斷出的故障點(diǎn)進(jìn)行修復(fù)或者更換,將被修復(fù)或者替換后的結(jié)點(diǎn)重新加入到系統(tǒng)中,讓其參與下一階段的診斷,如此反復(fù),找到所有的故障結(jié)點(diǎn)。
1.3 按診斷方式分類
按診斷方式進(jìn)行劃分可以分為:集中式診斷算法和分布式診斷算法。集中式診斷算法要求除了系統(tǒng)內(nèi)部互相測(cè)試之外,還需要把所有產(chǎn)生的測(cè)試結(jié)果送到系統(tǒng)外的一臺(tái)高可靠機(jī)(即中心機(jī))進(jìn)一步處理,由該中心機(jī)根據(jù)癥候來判斷識(shí)別出系統(tǒng)中的故障結(jié)點(diǎn)機(jī);分布式診斷算法的基本思想是:不需要一個(gè)絕對(duì)可靠的中心機(jī),在進(jìn)行診斷時(shí),系統(tǒng)中的各個(gè)結(jié)點(diǎn)分別獨(dú)立地對(duì)其余結(jié)點(diǎn)進(jìn)行測(cè)試獲得所需癥候,然后獨(dú)立地根據(jù)得到的癥候進(jìn)行診斷。
2系統(tǒng)級(jí)故障診斷發(fā)展現(xiàn)狀
根據(jù)算法所用核心工具的不同,系統(tǒng)級(jí)故障診斷算法主要包括以下三大類:
2.1 基于圖論原理的集團(tuán)診斷算法
基于圖論的診斷算法將測(cè)試癥候矩陣與圖論原理相結(jié)合,通過邏輯推導(dǎo)與圖論運(yùn)算,求出各單元的故障狀態(tài)。鑒于實(shí)際系統(tǒng)中存在大可靠塊的事實(shí),張大方等人首次將圖論中的極大獨(dú)立點(diǎn)集理論用于系統(tǒng)級(jí)故障診斷領(lǐng)域,提出了集團(tuán)的概念。集團(tuán)診斷算法[2]的基本思想是:讓系統(tǒng)中性質(zhì)相同的結(jié)點(diǎn)聚合成一個(gè)塊(進(jìn)行集團(tuán)運(yùn)算),再對(duì)聚合后的系統(tǒng)進(jìn)行診斷,集團(tuán)中的結(jié)點(diǎn)性質(zhì)相同,要么都是正常機(jī),要么都是故障機(jī)。
2.2 方程診斷算法
筆者等人[3]首次對(duì)基于互測(cè)的PMC故障模型提出“方程診斷”的有關(guān)概念,并且把這些模型等價(jià)地轉(zhuǎn)換為一個(gè)代數(shù)方程組(也可以轉(zhuǎn)換為一個(gè)代數(shù)方程),而后通過運(yùn)用“集團(tuán)”和引入“絕對(duì)故障基”等工具,對(duì)一般情形下的各模型,找到了求全體相容故障模式的具體方法,即方程診斷算法.這種診斷算法既不必用“t可診斷性”作假設(shè),也無需以“相信大多數(shù)”做前提,并且即使故障機(jī)數(shù)超過處理機(jī)總數(shù)的一半(甚至全體處理機(jī)均出現(xiàn)故障),依然能求出全部相容故障模式。PMC模型可表示為如下方程:
定理1 設(shè)A為一個(gè)n維的PMC故障模型,X為標(biāo)
準(zhǔn)向量庫,則下列命題等價(jià):
(i)x為A的一個(gè)PMC型解;
(ii)
(iii)
文獻(xiàn)[4-6]分別提出將BGM、Chwa&Hakimi和Malek模型等價(jià)地轉(zhuǎn)換成方程的形式進(jìn)行診斷,方程表示形式分別如下:
BGM模型方程:
Chwa&Hakimi模型方程:
Malek模型方程:
隨后,宣等人將t-可診斷性和方程算法相結(jié)合,提出了二分診斷算法[7],將測(cè)試系統(tǒng)拆分為相對(duì)正常機(jī)集合和相對(duì)故障機(jī)集合,在對(duì)各個(gè)故障機(jī)集合采用自適應(yīng)的的算法進(jìn)行診斷。
2.3 基于現(xiàn)代群體智能算法的診斷算法
智能診斷算法往往具有自適應(yīng)能力強(qiáng)、魯棒性好、迭代求解速度快等特征,因此在實(shí)際領(lǐng)域應(yīng)用廣泛。
遺傳算法 GA(Genetic Algorithm) 是一種借鑒生物界自然選擇和群體基因遺傳機(jī)理的隨機(jī)和自適應(yīng)優(yōu)化的搜索算法,模擬了自然選擇和遺傳過程中發(fā)生的繁殖、雜交和突變現(xiàn)象。文獻(xiàn)[8]首次用遺傳算法解決系統(tǒng)級(jí)故障診斷問題。鄧偉等人[9]通過分析Elhadef和Ayeb等人的不足之處,改進(jìn)了種群的初始化方法,針對(duì)PMC模型提出結(jié)點(diǎn)狀態(tài)與診斷圖中一定癥候相容時(shí)結(jié)點(diǎn)狀態(tài)應(yīng)滿足的方程,然后設(shè)計(jì)基于該方程的適應(yīng)度函數(shù)。使得對(duì)最終求得的適應(yīng)度為1的解的即為問題的解,理論和實(shí)驗(yàn)仿真證明了改進(jìn)后的算法大大優(yōu)于Elhaedf等人的算法。
人工神經(jīng)網(wǎng)絡(luò)(artificial neural network)是一種應(yīng)用類似大腦神經(jīng)突觸聯(lián)接的結(jié)構(gòu)進(jìn)行信息處理的數(shù)學(xué)模型或計(jì)算模型。文獻(xiàn)[10]提出了用Hopfield神經(jīng)網(wǎng)絡(luò)解決系統(tǒng)級(jí)故障診斷問題,取得了不錯(cuò)的效果;Mourad Elhadef和Amiya Nayak[11]首次將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用到Chwa&Hakimi模型下的系統(tǒng)級(jí)故障診斷。由于BP神經(jīng)網(wǎng)絡(luò)具有較好的自組織、自學(xué)習(xí)能力,因此算法的泛化性十分優(yōu)越,同時(shí)診斷正確率很高,但其“學(xué)習(xí)--反饋--學(xué)習(xí)”的循環(huán)機(jī)制導(dǎo)致迭代次數(shù)較大,因此時(shí)間復(fù)雜度較高。
3結(jié)束語
隨著未來網(wǎng)絡(luò)的發(fā)展[12-13],新型分布式大型網(wǎng)絡(luò)系統(tǒng)的出現(xiàn),對(duì)現(xiàn)有的各類診斷算法的兼容性也提出了挑戰(zhàn)。下一步的研究方向包括如何進(jìn)一步完善方程診斷算法、集團(tuán)診斷算法以及各種智能診斷算法等,這些理論的發(fā)展將會(huì)不斷完善系統(tǒng)級(jí)故障診斷技術(shù)。通過對(duì)多種不同診斷技術(shù)的融合,可將系統(tǒng)級(jí)故障診斷系統(tǒng)集成化,從而可充分發(fā)揮各自方法的優(yōu)點(diǎn),進(jìn)一步提高算法的綜合診斷能力。
[參考文獻(xiàn)]
[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]宣恒農(nóng),張大方,張明.PMC故障模型的方程診斷[J].電子學(xué)報(bào),2003,05:694-697.
[4]宣恒農(nóng).用方程表示BGM故障模型的方法研究[J].計(jì)算機(jī)工程與應(yīng)用,2001,23:93-94.
[5]宣恒農(nóng),張明,張大方,張廷選.Chwa & Hakimi故障模型方程診斷的理論基礎(chǔ)[J].計(jì)算機(jī)應(yīng)用,2003,04:16-18.
[6]文學(xué)志,宣恒農(nóng).Malek故障模型的方程診斷算法設(shè)計(jì)[J].計(jì)算機(jī)工程與應(yīng)用,2005,29:39-41+60.
[7]宣恒農(nóng),何濤,許宏,孫明明.基于Chwa &Hakimi故障模型的二分診斷算法[J].計(jì)算機(jī)工程與應(yīng)用,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í)故障診斷的高效遺傳算法[J].計(jì)算機(jī)學(xué)報(bào),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.