一種基于知識(shí)庫(kù)的軟件遠(yuǎn)程故障診斷與修復(fù)方法
【專(zhuān)利摘要】提供一種基于知識(shí)庫(kù)的軟件遠(yuǎn)程故障診斷與修復(fù)方法,包括:將被診斷軟件系統(tǒng)中各軟件構(gòu)件的運(yùn)行條件、依賴(lài)關(guān)系、故障表現(xiàn)特征和修復(fù)策略進(jìn)行建模和入庫(kù)以形成故障診斷與修復(fù)知識(shí)庫(kù),將該知識(shí)庫(kù)存儲(chǔ)在獨(dú)立于被診斷軟件系統(tǒng)的服務(wù)終端上;在被診斷軟件系統(tǒng)中安裝客戶(hù)端代理程序,在服務(wù)終端上安裝服務(wù)端程序,利用客戶(hù)端代理程序?qū)崟r(shí)獲取被診斷軟件系統(tǒng)的診斷信息并通過(guò)網(wǎng)絡(luò)將其傳遞給服務(wù)端程序;服務(wù)端程序依據(jù)獲取的診斷信息和該知識(shí)庫(kù),產(chǎn)生決策命令并將決策命令通過(guò)網(wǎng)絡(luò)傳遞給客戶(hù)端代理程序;客戶(hù)端代理程序執(zhí)行決策命令,實(shí)現(xiàn)軟件故障的診斷與修復(fù)。采用本發(fā)明,實(shí)現(xiàn)軟件故障的智能診斷與修復(fù),提升軟件故障診斷與修復(fù)的效率和自動(dòng)化程度。
【專(zhuān)利說(shuō)明】一種基于知識(shí)庫(kù)的軟件遠(yuǎn)程故障診斷與修復(fù)方法【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件故障診斷與修復(fù)領(lǐng)域,具體涉及一種基于知識(shí)庫(kù)的軟件遠(yuǎn)程故障診斷與修復(fù)方法。
【背景技術(shù)】[0002]在工業(yè)過(guò)程中,硬件故障診斷的含義是根據(jù)特定傳感器的測(cè)量值,確定引起系統(tǒng)異?;蚴У脑?、部位及嚴(yán)重程度。硬件故障診斷專(zhuān)家系統(tǒng)的功能是根據(jù)測(cè)量信息和計(jì)算機(jī)化的診斷知識(shí),自動(dòng)完成系統(tǒng)異?;蚴У脑\斷。軟件故障診斷還是一個(gè)較新的事物,軟件故障同硬件故障在故障機(jī)理方面就具有較大的差異,這必然會(huì)導(dǎo)致兩者的診斷方法會(huì)存在一定的差異。軟件系統(tǒng)的數(shù)學(xué)模型是離散的,故障的形成無(wú)物理原因,失效的發(fā)展取決于輸入值和運(yùn)行狀態(tài)的組合。軟件輸入值和運(yùn)行狀態(tài)的組合在合理范圍內(nèi)的微小變化可能引起輸出的巨大變化,軟件故障的出現(xiàn)通常無(wú)前兆,硬件系統(tǒng)在正常工作條件下其行為是漸變的,故障的形成和失效的發(fā)生一般都有物理原因,硬件故障的出現(xiàn)通常有前兆。軟件故障難以定位,失效現(xiàn)象往往不在失效部件顯現(xiàn),硬件故障較易定位,失效部件的物理參數(shù)常常發(fā)生明顯變化。如果發(fā)現(xiàn)一個(gè)軟件出現(xiàn)了某個(gè)故障,那么該版本的所有軟件都會(huì)可能發(fā)生該故障。
[0003]軟件故障可分為因開(kāi)發(fā)過(guò)程中引入的設(shè)計(jì)及編碼缺陷造成的軟件故障和因軟件運(yùn)行外部依賴(lài)環(huán)境配置不正確造成的軟件故障。前類(lèi)故障可視作由于軟件的內(nèi)在原因造成,后類(lèi)故障可視作由于軟件的外在原因造成。前類(lèi)故障的修復(fù)需要修改軟件的源程序并重新發(fā)布和安裝新版軟件,而后一類(lèi)故障的修復(fù)并不需要修改源碼,只是對(duì)配置文件、運(yùn)行環(huán)境進(jìn)行適當(dāng)?shù)恼{(diào)整。當(dāng)前的大型軟件系統(tǒng)特別是分布式軟件系統(tǒng)廣泛采用基于構(gòu)件的體系結(jié)構(gòu),構(gòu)件復(fù)用是一種產(chǎn)品復(fù)用,構(gòu)件庫(kù)中的構(gòu)件作為產(chǎn)品都經(jīng)過(guò)了嚴(yán)格的測(cè)試,許多構(gòu)件甚至已在其它系統(tǒng)中歷經(jīng)了多年使用,因此構(gòu)件出現(xiàn)內(nèi)部故障的概率很小,在實(shí)際使用過(guò)程中出現(xiàn)的許多故障是由于構(gòu)件的少裝、多裝、錯(cuò)裝、錯(cuò)配、服務(wù)未啟動(dòng)等外在原因造成的。對(duì)于由外在原因引起的軟件故障來(lái)說(shuō),它的診斷和修復(fù)主要依靠被診斷軟件系統(tǒng)的外部依賴(lài)環(huán)境配置領(lǐng)域知識(shí)進(jìn)行。
[0004]因此,在現(xiàn)有技術(shù)中,需要一種對(duì)于軟件故障的有效、方便、準(zhǔn)確的診斷和修復(fù)方法。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明的主要目的在于提供一種基于知識(shí)庫(kù)的軟件遠(yuǎn)程故障診斷與修復(fù)方法及系統(tǒng),解決現(xiàn)有技術(shù)中存在的問(wèn)題,能夠?qū)崿F(xiàn)軟件故障的智能診斷與修復(fù),提升軟件故障診斷與修復(fù)的效率和自動(dòng)化程度。
[0006]本發(fā)明人,通過(guò)創(chuàng)造性的勞動(dòng),設(shè)計(jì)了軟件故障診斷知識(shí)庫(kù),即是將軟件故障診斷領(lǐng)域的專(zhuān)家知識(shí)表示為計(jì)算機(jī)內(nèi)部格式,加以合理的描述存儲(chǔ),以便于故障診斷時(shí)進(jìn)行有效的檢索和利用,從而提高軟件故障診斷與修復(fù)的效率和自動(dòng)化程度?;谥R(shí)庫(kù)軟件故障診斷的問(wèn)題可以描述為以下四元式的形式:
[0007]P = (M, F,K, 0BS)
[0008]式中,M為系統(tǒng)可觀測(cè)到的癥狀集合,F為系統(tǒng)的故障集合,KczMx F為系統(tǒng)癥狀集與故障之間的映射關(guān)系(即診斷知識(shí)),對(duì)于不同的系統(tǒng)K取決于被診斷軟件系統(tǒng)的結(jié)構(gòu)和行為,OBS為當(dāng)前觀察到的癥狀。
[0009]為實(shí)現(xiàn)發(fā)明目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0010]A、將被診斷軟件系統(tǒng)中各軟件構(gòu)件的運(yùn)行條件、依賴(lài)關(guān)系、故障表現(xiàn)特征和修復(fù)策略進(jìn)行建模和入庫(kù)以形成故障診斷與修復(fù)知識(shí)庫(kù),將故障診斷與修復(fù)知識(shí)庫(kù)存儲(chǔ)在獨(dú)立于被診斷軟件系統(tǒng)的服務(wù)終端上;
[0011]B、在被診斷軟件系統(tǒng)中安裝客戶(hù)端代理程序,在服務(wù)終端上安裝服務(wù)端程序,利用客戶(hù)端代理程序?qū)崟r(shí)獲取被診斷軟件系統(tǒng)的診斷信息并通過(guò)網(wǎng)絡(luò)將診斷信息傳遞給服務(wù)端程序;
[0012]C、服務(wù)端程序依據(jù)獲取的診斷信息和故障診斷與修復(fù)知識(shí)庫(kù),進(jìn)行故障診斷與修復(fù)決策以產(chǎn)生決策命令并將決策命令通過(guò)網(wǎng)絡(luò)傳遞給客戶(hù)端代理程序;
[0013]D、客戶(hù)端代理程序執(zhí)行決策命令,實(shí)現(xiàn)軟件故障的診斷與修復(fù)。
[0014]優(yōu)選地,上述技術(shù)方案中,步驟A包括:
[0015]Al、將已解決故障的故障特征、故障原因、故障維修方法表示為計(jì)算機(jī)內(nèi)部格式,形成故障案例庫(kù)錄入故障診斷與修復(fù)知識(shí)庫(kù)中;
[0016]A2、將被診斷軟件系統(tǒng)的軟件故障領(lǐng)域?qū)<医?jīng)驗(yàn)知識(shí)以產(chǎn)生式規(guī)則的形式進(jìn)行描述,形成故障診斷規(guī)則庫(kù)錄入故障診斷與修復(fù)知識(shí)庫(kù)中。
[0017]優(yōu)選地,上述技術(shù)方案中,步驟Al包括:
[0018]Al.1、采用數(shù)據(jù)庫(kù)表作為案例的計(jì)算機(jī)內(nèi)部存儲(chǔ)格式,包括案例信息表、故障信息表、故障構(gòu)件表、征兆信息表、案例解釋表、維修步驟表和附件表;
[0019]Al.2、案例信息表由案例名稱(chēng)、案例編號(hào)和案例說(shuō)明組成;
[0020]Al.3、故障信息表由故障編號(hào)、故障名稱(chēng)、故障類(lèi)別和故障等級(jí)組成;
[0021]Al.4、故障構(gòu)件表由序號(hào)、構(gòu)件類(lèi)型、構(gòu)件名稱(chēng)、構(gòu)件前綴和構(gòu)件描述組成;
[0022]Al.5、征兆信息表由征兆描述、征兆類(lèi)別、征兆值和征兆權(quán)重組成;
[0023]Al.6、案例解釋表由故障現(xiàn)象、故障原因、解決措施和維修建議組成;
[0024]Al.7、維修步驟表由操作類(lèi)別、操作序號(hào)、操作參數(shù)和操作時(shí)間組成;
[0025]Al.8、附件表由資源編號(hào)、資源類(lèi)別和資源數(shù)據(jù)組成。
[0026]優(yōu)選地,上述技術(shù)方案中,步驟A2包括:
[0027]A2.1、將被診斷軟件系統(tǒng)的軟件故障領(lǐng)域?qū)<医?jīng)驗(yàn)知識(shí)抽象為一系列的因果鏈;
[0028]A2.2、將因果鏈描述為直觀的IF-THEN產(chǎn)生式形式。
[0029]優(yōu)選地,上述技術(shù)方案中,服務(wù)端程序、客戶(hù)端代理程序和故障診斷與修復(fù)知識(shí)庫(kù)構(gòu)成一軟件故障診斷與修復(fù)系統(tǒng),其中:
[0030]服務(wù)端程序用于完成被診斷軟件系統(tǒng)軟件構(gòu)件的狀態(tài)監(jiān)控、診斷決策、維修決策、知識(shí)庫(kù)管理以及人機(jī)交互功能;
[0031]客戶(hù)端代理程序以開(kāi)機(jī)自動(dòng)運(yùn)行的后臺(tái)程序形式部署在被診斷軟件系統(tǒng)的每臺(tái)計(jì)算機(jī)上,用于完成本機(jī)軟件構(gòu)件的診斷信息收集和故障修復(fù)功能。[0032]優(yōu)選地,上述技術(shù)方案中,步驟B包括:
[0033]B1、客戶(hù)端代理程序獲取本機(jī)軟件構(gòu)件的安裝部署信息,將安裝部署信息保存為xml格式文件,然后通過(guò)TCP協(xié)議將包含安裝部署信息的xml格式文件發(fā)送給服務(wù)端程序;
[0034]B2、客戶(hù)端代理程序獲取本機(jī)服務(wù)運(yùn)行信息,將服務(wù)運(yùn)行信息保存為xml格式文件,然后通過(guò)TCP協(xié)議將包含服務(wù)運(yùn)行信息的xml格式文件發(fā)送給服務(wù)端程序;
[0035]B3、客戶(hù)端代理程序獲取本機(jī)進(jìn)程運(yùn)行信息,將進(jìn)程運(yùn)行信息保存為xml格式文件,然后通過(guò)TCP協(xié)議將包含進(jìn)程運(yùn)行信息的xml格式文件發(fā)送給服務(wù)端程序;
[0036]B4、客戶(hù)端代理程序獲取本機(jī)數(shù)據(jù)庫(kù)信息,然后通過(guò)UDP協(xié)議將數(shù)據(jù)庫(kù)信息發(fā)送給服務(wù)端程序;
[0037]B5、客戶(hù)端代理程序獲取本機(jī)CPU和內(nèi)存使用信息,然后通過(guò)UDP協(xié)議將CPU和內(nèi)存使用信息發(fā)送給服務(wù)端程序;
[0038]優(yōu)選地,上述技術(shù)方案中,步驟C包括:
[0039]Cl、在故障診斷與修復(fù)知識(shí)庫(kù)中進(jìn)行案例檢索,判斷是否存在匹配的案例,如果判斷的結(jié)果為是,則基于故障診斷與修復(fù)知識(shí)庫(kù)中的維修步驟表產(chǎn)生決策命令以進(jìn)行故障修復(fù),否則執(zhí)行步驟C2;
[0040]C2、激活基于規(guī)則的軟件故障診斷與修復(fù)。
[0041]優(yōu)選地,上述技術(shù)方案中,步驟Cl包括:
[0042]Cl.1、等待用戶(hù)輸入待檢故障的案例檢索條件;
[0043]Cl.2、計(jì)算用戶(hù)輸入的案例檢索條件和故障診斷與修復(fù)知識(shí)庫(kù)中所有案例的相似性;
[0044]Cl.3、將相似性從高到低進(jìn)行排序;
[0045]Cl.4、判斷是否存在相似性大于預(yù)先設(shè)定的輸出閾值的案例,如果判斷的結(jié)果為是,則執(zhí)行步驟Cl.5,否則返回案例匹配失??;
[0046]Cl.5、依據(jù)與具有最大相似性的案例相對(duì)應(yīng)的維修步驟表產(chǎn)生決策命令以進(jìn)行故
障修復(fù)。
[0047]優(yōu)選地,上述技術(shù)方案中,步驟Cl.5包括:
[0048]Cl.5.1、創(chuàng)建基于案例的故障維修線(xiàn)程;
[0049]Cl.5.2、將具有最大相似性的案例相對(duì)應(yīng)的維修步驟表中與案例故障編號(hào)相關(guān)的維修步驟依據(jù)操作序號(hào)進(jìn)行排序;
[0050]Cl.5.3、依據(jù)排序而依次取出每個(gè)維修步驟的詳細(xì)信息,并根據(jù)操作類(lèi)別和操作參數(shù)產(chǎn)生決策命令,將決策命令通過(guò)網(wǎng)絡(luò)發(fā)送至客戶(hù)端代理程序,決策命令即相應(yīng)的維修動(dòng)作命令;
[0051]Cl.5.4、使用維修步驟中的操作時(shí)間作為維修動(dòng)作處理的最大等待時(shí)間,等待客戶(hù)端代理程序返回維修結(jié)果;
[0052]Cl.5.5、判斷是否維修結(jié)果已獲取或超時(shí),如果判斷的結(jié)果為是,則執(zhí)行步驟Cl.5.6,否則執(zhí)行步驟Cl.5.4 ;
[0053]Cl.5.6、判斷是否所有的維修步驟都已處理完成,如果判斷的結(jié)果為是,則執(zhí)行步驟Cl.5.7,否則執(zhí)行步驟Cl.5.3 ;
[0054]Cl.5.7、結(jié)束基于案例的故障維修線(xiàn)程。[0055]優(yōu)選地,上述技術(shù)方案中,步驟C2包括:
[0056]C2.1、進(jìn)行基于規(guī)則的故障診斷;
[0057]C2.2、收集基于規(guī)則的故障診斷過(guò)程中產(chǎn)生的維修步驟;
[0058]C2.3、依據(jù)C2.2中的維修步驟產(chǎn)生決策命令以進(jìn)行故障修復(fù)。
[0059]優(yōu)選地,上述技術(shù)方案中,步驟C2.1包括:
[0060]C2.1.1、創(chuàng)建基于規(guī)則的故障診斷線(xiàn)程;
[0061]C2.1.2、載入軟件故障診斷規(guī)則描述文件;
[0062]C2.1.3、依據(jù)規(guī)則描述文件創(chuàng)建并顯示用戶(hù)交互界面,并在用戶(hù)交互界面上顯示用戶(hù)交互提示信息;
[0063]C2.1.4、等待用戶(hù)輸入交互信息;
[0064]C2.1.5、判斷交互信息是否已經(jīng)輸入,如果判斷的結(jié)果為是,則執(zhí)行步驟C2.1.6,否者執(zhí)行步驟C2.1.4 ;
[0065]C2.1.6、依據(jù)規(guī)則描述文件執(zhí)行診斷操作,通過(guò)網(wǎng)絡(luò)向客戶(hù)端代理程序發(fā)送相應(yīng)的診斷命令;
[0066]C2.1.7、等待客戶(hù)端代理程序返回診斷結(jié)果;
[0067]C2.1.8、判斷是否診斷結(jié)果已獲取或超時(shí),如果判斷的結(jié)果為是,則執(zhí)行步驟C2.1.9,否則執(zhí)行步驟C2.1.7 ;
[0068]C2.1.9、依據(jù)診斷結(jié)果和規(guī)則描述文件產(chǎn)生維修步驟;
[0069]C2.1.10、判斷是否還存在可執(zhí)行的規(guī)則,如果判斷的結(jié)果為是,則執(zhí)行步驟C2.1.3,否則執(zhí)行步驟C2.1.11 ;
[0070]C2.1.11、結(jié)束基于規(guī)則的故障診斷線(xiàn)程。
[0071]優(yōu)選地,上述技術(shù)方案中,步驟C2.3包括:
[0072]C2.3.1、創(chuàng)建故障維修線(xiàn)程;
[0073]C2.3.2、取出C2.2中的維修步驟中的每個(gè)維修步驟的詳細(xì)信息,并根據(jù)操作類(lèi)別和操作參數(shù)通過(guò)網(wǎng)絡(luò)向客戶(hù)端代理程序發(fā)送決策命令,即,相應(yīng)的維修動(dòng)作命令;
[0074]C2.3.3、使用維修步驟中的操作時(shí)間作為維修動(dòng)作處理的最大等待時(shí)間,等待客戶(hù)端代理程序返回維修結(jié)果;
[0075]C2.3.4、判斷是否維修結(jié)果已獲取或超時(shí),如果判斷的結(jié)果為是,則執(zhí)行步驟C2.3.5,否則執(zhí)行步驟C2.3.3 ;
[0076]C2.3.5、判斷是否所有的維修步驟都已處理完成,如果判斷的結(jié)果為是,則執(zhí)行步驟C2.3.6,否則執(zhí)行步驟C2.3.2 ;
[0077]C2.3.6、結(jié)束故障維修線(xiàn)程。
[0078]本發(fā)明提供的基于知識(shí)庫(kù)的軟件故障診斷與修復(fù)方法及系統(tǒng),通過(guò)將被診斷軟件系統(tǒng)中各軟件構(gòu)件的運(yùn)行條件、依賴(lài)關(guān)系、故障表現(xiàn)特征和修復(fù)策略進(jìn)行建模和入庫(kù),形成故障診斷與修復(fù)知識(shí)庫(kù),將軟件故障診斷與修復(fù)系統(tǒng)劃分為服務(wù)端程序和客戶(hù)端代理程序,客戶(hù)端代理程序?qū)崟r(shí)獲取被診斷軟件系統(tǒng)的診斷信息并通過(guò)網(wǎng)絡(luò)傳遞給服務(wù)端程序,服務(wù)端程序依據(jù)獲取的診斷信息和故障診斷與修復(fù)知識(shí)庫(kù)進(jìn)行故障診斷與修復(fù)決策,并將決策命令通過(guò)網(wǎng)絡(luò)傳遞給客戶(hù)端代理程序,客戶(hù)端代理程序執(zhí)行故障診斷與修復(fù)決策命令。如此,實(shí)現(xiàn)了軟件故障的智能診斷與修復(fù),大大提高了軟件故障診斷與修復(fù)的效率和自動(dòng)化程度。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0079]圖1為本發(fā)明基于知識(shí)庫(kù)的軟件故障診斷與修復(fù)方法流程示意圖;
[0080]圖2為本發(fā)明中客戶(hù)端代理程序獲取診斷信息流程示意圖;
[0081]圖3為本發(fā)明中服務(wù)端程序故障診斷決策流程示意圖;
[0082]圖4為本發(fā)明中案例檢索流程示意圖;
[0083]圖5為本發(fā)明中基于案例的故障修復(fù)流程示意圖;
[0084]圖6為本發(fā)明中基于規(guī)則的故障診斷流程示意圖;
[0085]圖7為本發(fā)明中基于規(guī)則的故障修復(fù)流程示意圖。
【具體實(shí)施方式】
[0086]本發(fā)明的基本思想是:將被診斷軟件系統(tǒng)中各軟件構(gòu)件的運(yùn)行條件、依賴(lài)關(guān)系、故障表現(xiàn)特征和修復(fù)策略進(jìn)行建模和入庫(kù),形成故障診斷與修復(fù)知識(shí)庫(kù),故障診斷與修復(fù)知識(shí)庫(kù)包括案例庫(kù)和規(guī)則庫(kù),該故障診斷與修復(fù)知識(shí)庫(kù)存儲(chǔ)在獨(dú)立于被診斷軟件系統(tǒng)的服務(wù)終端上;利用故障診斷與修復(fù)知識(shí)庫(kù)、服務(wù)端程序和客戶(hù)端代理程序構(gòu)成軟件故障診斷與修復(fù)系統(tǒng),服務(wù)端程序安裝在服務(wù)終端上而客戶(hù)端代理程序安裝在該被診斷軟件系統(tǒng)中,服務(wù)端程序和客戶(hù)端代理程序通過(guò)網(wǎng)絡(luò)通信互相協(xié)作實(shí)現(xiàn)軟件故障的診斷與修復(fù);客戶(hù)端代理程序?qū)崟r(shí)獲取被診斷軟件系統(tǒng)的診斷信息并將其通過(guò)網(wǎng)絡(luò)傳遞給服務(wù)端程序;服務(wù)端程序依據(jù)獲取的診斷信息和故障診斷與修復(fù)知識(shí)庫(kù)進(jìn)行故障診斷與修復(fù)決策產(chǎn)生決策命令,并將該決策命令通過(guò)網(wǎng)絡(luò)傳遞給客戶(hù)端代理程序;客戶(hù)端代理程序執(zhí)行故障診斷與修復(fù)決策命令,實(shí)現(xiàn)軟件故障的診斷與修復(fù)。
[0087]下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)的說(shuō)明。
[0088]圖1為本發(fā)明基于知識(shí)庫(kù)的軟件故障診斷與修復(fù)方法的總體流程示意圖,如圖1所示,包括以下步驟:
[0089]步驟1、將被診斷軟件系統(tǒng)中各軟件構(gòu)件的運(yùn)行條件、依賴(lài)關(guān)系、故障表現(xiàn)特征和修復(fù)策略進(jìn)行建模和入庫(kù)以形成故障診斷與修復(fù)知識(shí)庫(kù),將故障診斷與修復(fù)知識(shí)庫(kù)存儲(chǔ)在獨(dú)立于被診斷軟件系統(tǒng)的服務(wù)終端上;
[0090]步驟2、在被診斷軟件系統(tǒng)中安裝客戶(hù)端代理程序,在服務(wù)終端上安裝服務(wù)端程序,利用客戶(hù)端代理程序?qū)崟r(shí)獲取被診斷軟件系統(tǒng)的診斷信息并通過(guò)網(wǎng)絡(luò)將診斷信息傳遞給服務(wù)端程序;
[0091]步驟3、服務(wù)端程序依據(jù)獲取的診斷信息和故障診斷與修復(fù)知識(shí)庫(kù),進(jìn)行故障診斷與修復(fù)決策以產(chǎn)生決策命令并將決策命令通過(guò)網(wǎng)絡(luò)傳遞給客戶(hù)端代理程序;
[0092]步驟4、客戶(hù)端代理程序執(zhí)行決策命令,實(shí)現(xiàn)軟件故障的診斷與修復(fù)。
[0093]步驟I具體包括以下步驟:
[0094]步驟1.1、將已解決故障的故障特征、故障原因、故障維修方法表示為計(jì)算機(jī)內(nèi)部格式,形成故障案例庫(kù)錄入故障診斷與修復(fù)知識(shí)庫(kù)中;
[0095]故障診斷與修復(fù)知識(shí)庫(kù)中包含兩類(lèi)知識(shí):采用案例表示的用戶(hù)經(jīng)驗(yàn)知識(shí)和采用規(guī)則表示的領(lǐng)域?qū)<医?jīng)驗(yàn)知識(shí)。基于案例的故障診斷借鑒人類(lèi)處理問(wèn)題的方式,運(yùn)用以前積累的用戶(hù)經(jīng)驗(yàn)直接求解問(wèn)題。首先總結(jié)已解決的故障形成案例并按照一定的格式存儲(chǔ)于案例庫(kù),當(dāng)有新的診斷任務(wù)時(shí),檢索案例庫(kù),若能匹配相關(guān)案例,則輸出診斷結(jié)果,否則對(duì)該故障采取基于規(guī)則的診斷方法進(jìn)行處理,通過(guò)基于規(guī)則的診斷方法得到的診斷結(jié)果經(jīng)規(guī)范化處理后又可作為新的案例添加到案例庫(kù)中。
[0096]步驟1.2、將被診斷軟件系統(tǒng)的軟件故障領(lǐng)域?qū)<医?jīng)驗(yàn)知識(shí)以產(chǎn)生式規(guī)則的形式進(jìn)行描述,形成故障診斷規(guī)則庫(kù)錄入故障診斷與修復(fù)知識(shí)庫(kù)中。
[0097]步驟1.1具體包括以下步驟:
[0098]步驟1.1.1、采用數(shù)據(jù)庫(kù)表作為案例的計(jì)算機(jī)內(nèi)部存儲(chǔ)格式,包括案例信息表、故障信息表、故障構(gòu)件表、征兆信息表、案例解釋表、維修步驟表和附件表;
[0099]步驟1.1.2、案例信息表由案例名稱(chēng)、案例編號(hào)和案例說(shuō)明組成;
[0100]步驟1.1.3、故障信息表由故障編號(hào)、故障名稱(chēng)、故障類(lèi)別和故障等級(jí)組成;
[0101]步驟1.1.4、故障構(gòu)件表由序號(hào)、構(gòu)件類(lèi)型、構(gòu)件名稱(chēng)、構(gòu)件前綴和構(gòu)件描述組成;
[0102]步驟1.1.5、征兆信息表由征兆描述、征兆類(lèi)別、征兆值和征兆權(quán)重組成;
[0103]步驟1.1.6、案例解釋表由故障現(xiàn)象、故障原因、解決措施和維修建議組成;
[0104]步驟1.1.7、維修步驟表由操作類(lèi)別、操作序號(hào)、操作參數(shù)和操作時(shí)間組成;
[0105]步驟1.1.8、附件表由資源編號(hào)、資源類(lèi)別和資源數(shù)據(jù)組成。
[0106]步驟1.2具體包括以下步驟:
[0107]步驟1.2.1、將被診斷軟件系統(tǒng)的軟件故障領(lǐng)域?qū)<医?jīng)驗(yàn)知識(shí)抽象為一系列的因果鏈;
[0108]因果鏈?zhǔn)侵赣行虻氖录蛄?,因果鏈之中的任何一個(gè)事件都將引起下一事件的發(fā)生。軟件故障診斷領(lǐng)域的因果鏈?zhǔn)怯苫竟收瞎?jié)點(diǎn)、基本故障的直接影響節(jié)點(diǎn),以及后續(xù)的一系列間接影響節(jié)點(diǎn)組成的一條鏈。對(duì)應(yīng)有關(guān)探尋故障原因的過(guò)程,成語(yǔ)“順藤摸瓜”中的“藤”指的就是因果鏈,而“瓜”則指的是根本原因,即基本故障節(jié)點(diǎn)。以某格式化數(shù)據(jù)通信軟件的故障診斷為例,其某一故障診斷因果鏈描述如下:
[0109]“Oracle監(jiān)聽(tīng)服務(wù)沒(méi)有正常啟動(dòng)”引起“數(shù)據(jù)庫(kù)服務(wù)沒(méi)有正常啟動(dòng)”;
[0110]“數(shù)據(jù)庫(kù)服務(wù)沒(méi)有正常啟動(dòng)”引起“格式化數(shù)據(jù)通信軟件不能正常連接數(shù)據(jù)庫(kù)”;
[0111]“格式化數(shù)據(jù)通信軟件不能正常連接數(shù)據(jù)庫(kù)”引起“格式化數(shù)據(jù)通信軟件不能正常啟動(dòng)”。
[0112]步驟1.2.2、將因果鏈描述為直觀的IF-THEN產(chǎn)生式形式。
[0113]產(chǎn)生式規(guī)則是一種被廣泛使用的知識(shí)表示方法,主要用于描述有關(guān)問(wèn)題的狀態(tài)轉(zhuǎn)移、性質(zhì)變化以及因果關(guān)系等過(guò)程性知識(shí)。每一條產(chǎn)生式規(guī)則表示一個(gè)因果關(guān)系,用直觀的IF-THEN方式可表達(dá)為:
[0114]IF〈條件 1>AND (OR) < 條件 2>AND (OR) < 條件 N>THEN< 結(jié)論 >
[0115]規(guī)則的前提部分對(duì)應(yīng)因果關(guān)系的原因,既可以是單一原因,也可以是原因的組合形式,結(jié)論對(duì)應(yīng)因果關(guān)系的結(jié)果。
[0116]優(yōu)選地,服務(wù)端程序完成被診斷軟件系統(tǒng)軟件構(gòu)件的狀態(tài)監(jiān)控、診斷決策、維修決策、知識(shí)庫(kù)管理以及人機(jī)交互等功能。
[0117]為了盡量減少軟件故障診斷系統(tǒng)對(duì)被測(cè)軟件系統(tǒng)的影響,軟件故障診斷服務(wù)端程序部署在一臺(tái)獨(dú)立于被測(cè)軟件系統(tǒng)的計(jì)算機(jī)上,該計(jì)算機(jī)通過(guò)局域網(wǎng)接入被測(cè)軟件系統(tǒng)網(wǎng)絡(luò)。服務(wù)端程序完成的各項(xiàng)具體功能包括:
[0118]狀態(tài)監(jiān)控:服務(wù)端程序通過(guò)客戶(hù)端代理程序收集被診斷軟件系統(tǒng)每臺(tái)計(jì)算機(jī)上的軟件構(gòu)件運(yùn)行信息,分析被診斷軟件系統(tǒng)中構(gòu)件間的依賴(lài)關(guān)系,并將軟件構(gòu)件運(yùn)行信息以圖形和表格的形式實(shí)時(shí)進(jìn)行顯示。
[0119]診斷決策:服務(wù)端程序通過(guò)分析收集到的軟件故障診斷信息,對(duì)被診斷軟件系統(tǒng)的故障模式進(jìn)行分類(lèi)識(shí)別,并根據(jù)現(xiàn)有的知識(shí)和一定的推理機(jī)制推斷出其故障所在。
[0120]維修決策:服務(wù)端程序根據(jù)故障診斷決策過(guò)程中分析得到的故障位置、可能的原因解釋以及所需要的維修保障資源進(jìn)行維修決策控制。
[0121]知識(shí)庫(kù)管理:完成對(duì)故障診斷知識(shí)庫(kù)的編輯、檢索、更新、導(dǎo)入和導(dǎo)出等功能,包括案例庫(kù)的管理和規(guī)則庫(kù)的管理。
[0122]人機(jī)交互:提供案例錄入編輯、規(guī)則錄入編輯、依賴(lài)分析、被診斷軟件系統(tǒng)狀態(tài)監(jiān)控、診斷和修復(fù)信息顯示等功能的人機(jī)交互界面。
[0123]優(yōu)選地,客戶(hù)端代理程序以開(kāi)機(jī)自動(dòng)運(yùn)行的后臺(tái)程序形式部署在被診斷軟件系統(tǒng)的每臺(tái)計(jì)算機(jī)上,完成本機(jī)軟件構(gòu)件的診斷信息收集和故障修復(fù)功能。
[0124]客戶(hù)端代理程序獲取的診斷信息包括軟件安裝部署信息、服務(wù)程序運(yùn)行信息、進(jìn)程運(yùn)行信息、數(shù)據(jù)庫(kù)信息、CPU和內(nèi)存使用信息以及其他各種資源使用信息等。客戶(hù)端代理程序啟動(dòng)時(shí)創(chuàng)建一個(gè)網(wǎng)絡(luò)監(jiān)聽(tīng)運(yùn)行線(xiàn)程,并在該線(xiàn)程中接收處理來(lái)自服務(wù)端程序的各種故障修復(fù)命令,包括:文件修復(fù)命令、服務(wù)修復(fù)命令、進(jìn)程修復(fù)命令、構(gòu)件修復(fù)命令、控件修復(fù)命令和系統(tǒng)重啟命令等。
[0125]步驟2具體如圖2,包括以下步驟:
[0126]步驟2.1、客戶(hù)端代理程序獲取本機(jī)軟件構(gòu)件的安裝部署信息,將安裝部署信息保存為xml格式文件,然后通過(guò)TCP協(xié)議將包含安裝部署信息的xml格式文件發(fā)送給服務(wù)端程序;
[0127]客戶(hù)端代理程序獲取的本機(jī)軟件構(gòu)件安裝部署信息由ip地址、機(jī)器名、是否為服務(wù)器和安裝的軟件構(gòu)件信息組成,其中軟件構(gòu)件信息包括:構(gòu)件名稱(chēng)、版本、制作時(shí)間、構(gòu)件類(lèi)型、作者、本機(jī)依賴(lài)的構(gòu)件列表、網(wǎng)絡(luò)依賴(lài)的構(gòu)件列表、可能產(chǎn)生沖突的構(gòu)件列表以及描述等??紤]到同一臺(tái)計(jì)算機(jī)上可能安裝的軟件構(gòu)件較多,本機(jī)軟件構(gòu)件安裝部署信息獲取后首先被保存為xml文件,然后通過(guò)TCP協(xié)議將該xml文件發(fā)送給服務(wù)端程序,服務(wù)端程序綜合各客戶(hù)端代理獲取的本機(jī)軟件構(gòu)件安裝部署信息,形成整個(gè)被診斷軟件系統(tǒng)的軟件構(gòu)件安裝部署信息和依賴(lài)模型。
[0128]步驟2.2、客戶(hù)端代理程序獲取本機(jī)服務(wù)運(yùn)行信息,將服務(wù)運(yùn)行信息保存為xml格式文件,然后通過(guò)TCP協(xié)議將包含服務(wù)運(yùn)行信息的xml格式文件發(fā)送給服務(wù)端程序;
[0129]“服務(wù)”是一些運(yùn)行在操作系統(tǒng)下用戶(hù)環(huán)境以外的程序,它不同于一般的可執(zhí)行程序,它不需要系統(tǒng)登錄便可以運(yùn)行,以完成某些特定功能。對(duì)于某些復(fù)雜軟件系統(tǒng)來(lái)說(shuō),許多構(gòu)件都以服務(wù)的形式運(yùn)行,服務(wù)信息獲取是診斷信息獲取的重要內(nèi)容之一。服務(wù)信息獲取即服務(wù)信息的枚舉,獲取的服務(wù)信息包括:服務(wù)名稱(chēng)、顯示名稱(chēng)、服務(wù)程序的路徑、服務(wù)描述信息、服務(wù)類(lèi)型、啟動(dòng)類(lèi)型、出錯(cuò)控制、服務(wù)的當(dāng)前運(yùn)行狀態(tài)等。服務(wù)的可能運(yùn)行狀態(tài)包括:“已停止”、“正在啟動(dòng)”、“正在停止”、“已啟動(dòng)”、“正在繼續(xù)”、“正在暫停”、“暫停”等??紤]到同一臺(tái)計(jì)算機(jī)上運(yùn)行的服務(wù)程序較多,服務(wù)運(yùn)行信息獲取后首先被保存為xml文件,然后通過(guò)TCP協(xié)議將該xml文件發(fā)送給服務(wù)端程序。
[0130]步驟2.3、客戶(hù)端代理程序獲取本機(jī)進(jìn)程運(yùn)行信息,將進(jìn)程運(yùn)行信息保存為xml格式文件,然后通過(guò)TCP協(xié)議將包含進(jìn)程運(yùn)行信息的xml格式文件發(fā)送給服務(wù)端程序;
[0131]進(jìn)程是計(jì)算機(jī)程序運(yùn)行的基本單位,是操作系統(tǒng)中的一個(gè)核心概念,它是對(duì)正在運(yùn)行程序的一個(gè)抽象,一個(gè)進(jìn)程就是一個(gè)正在運(yùn)行的程序。為了區(qū)分各個(gè)不同的進(jìn)程,操作系統(tǒng)給每一個(gè)進(jìn)程分配一個(gè)ID以便識(shí)別。進(jìn)程信息獲取就是通過(guò)一定的方法獲得當(dāng)前系統(tǒng)運(yùn)行的所有進(jìn)程的ID,進(jìn)而根據(jù)進(jìn)程ID獲得和進(jìn)程相關(guān)的其他信息,包括進(jìn)程的CPU和內(nèi)存占用率、進(jìn)程加載的DLL模塊、進(jìn)程所創(chuàng)建的線(xiàn)程數(shù)以及進(jìn)程所對(duì)應(yīng)的映像名稱(chēng)等。考慮到同一臺(tái)計(jì)算機(jī)上運(yùn)行的進(jìn)程較多,進(jìn)程運(yùn)行信息獲取后首先被保存為xml文件,然后通過(guò)TCP協(xié)議將該xml文件發(fā)送給服務(wù)端程序。
[0132]步驟2.4、客戶(hù)端代理程序獲取本機(jī)數(shù)據(jù)庫(kù)信息,然后通過(guò)UDP協(xié)議將數(shù)據(jù)庫(kù)信息發(fā)送給服務(wù)端程序;
[0133]客戶(hù)端代理程序獲取的本機(jī)數(shù)據(jù)庫(kù)信息包括:數(shù)據(jù)庫(kù)的最大連接數(shù)、當(dāng)前連接數(shù)、數(shù)據(jù)庫(kù)空間使用情況、數(shù)據(jù)庫(kù)各項(xiàng)配置參數(shù)以及執(zhí)行指定SQL語(yǔ)句的結(jié)果等。獲取到的數(shù)據(jù)庫(kù)信息通過(guò)UDP協(xié)議發(fā)送給服務(wù)端程序。
[0134]步驟2.5、客戶(hù)端代理程序獲取本機(jī)CPU和內(nèi)存使用信息,然后通過(guò)Μ)Ρ協(xié)議將(PU和內(nèi)存使用信息發(fā)送給服務(wù)端程序;
[0135]客戶(hù)端代理程序獲取的本機(jī)CPU和內(nèi)存使用信息包`括:總體CPU使用率、總體內(nèi)存使用率、客戶(hù)端代理CPU使用率和客戶(hù)端代理內(nèi)存使用率。獲取到的CPU和內(nèi)存使用信息通過(guò)UDP協(xié)議發(fā)送給服務(wù)端程序。
[0136]步驟3具體如圖3,包括以下步驟:
[0137]步驟3.1、在所述故障診斷與修復(fù)知識(shí)庫(kù)中進(jìn)行案例檢索,判斷是否存在匹配的案例,如果判斷的結(jié)果為是,則基于所述故障診斷與修復(fù)知識(shí)庫(kù)中的維修步驟表產(chǎn)生所述決策命令以進(jìn)行故障修復(fù),否則執(zhí)行步驟3.2 ;
[0138]步驟3.2、激活基于規(guī)則的軟件故障診斷與修復(fù)。
[0139]步驟3.1具體如圖4,包括以下步驟:
[0140]步驟3.1.1、等待用戶(hù)輸入待檢故障的案例檢索條件;
[0141]步驟3.1.2、計(jì)算案例檢索條件用戶(hù)輸入值(即,用戶(hù)輸入的案例檢索條件)和案例庫(kù)中所有案例的相似性;
[0142]案例檢索主要通過(guò)比較待檢故障與案例之間的相似性來(lái)實(shí)現(xiàn)的,因此案例檢索即故障條件(故障征兆)的相似性比較。假設(shè)待檢故障的故障征兆向量為x,x = (X1, X2,...Xn)t,其中χι,χ2,...χη為各故障征兆分量,案例庫(kù)第j個(gè)案例的故障征兆向量為Yj =(Yjl, yJ2,...ι_η)%則當(dāng)待檢故障和案例的征兆向量的元素?cái)?shù)量相等時(shí)可采用如下公式計(jì)算相似性:
【權(quán)利要求】
1.一種基于知識(shí)庫(kù)的軟件遠(yuǎn)程故障診斷與修復(fù)方法,其特征在于,該方法包括: A、將被診斷軟件系統(tǒng)中各軟件構(gòu)件的運(yùn)行條件、依賴(lài)關(guān)系、故障表現(xiàn)特征和修復(fù)策略進(jìn)行建模和入庫(kù)以形成故障診斷與修復(fù)知識(shí)庫(kù),將所述故障診斷與修復(fù)知識(shí)庫(kù)存儲(chǔ)在獨(dú)立于所述被診斷軟件系統(tǒng)的服務(wù)終端上; B、在所述被診斷軟件系統(tǒng)中安裝客戶(hù)端代理程序,在所述服務(wù)終端上安裝服務(wù)端程序,利用所述客戶(hù)端代理程序?qū)崟r(shí)獲取所述被診斷軟件系統(tǒng)的診斷信息并通過(guò)網(wǎng)絡(luò)將所述診斷信息傳遞給所述服務(wù)端程序; C、所述服務(wù)端程序依據(jù)獲取的所述診斷信息和所述故障診斷與修復(fù)知識(shí)庫(kù),進(jìn)行故障診斷與修復(fù)決策以產(chǎn)生決策命令并將所述決策命令通過(guò)網(wǎng)絡(luò)傳遞給所述客戶(hù)端代理程序; D、所述客戶(hù)端代理程序執(zhí)行所述決策命令,實(shí)現(xiàn)軟件故障的診斷與修復(fù)。
2.根據(jù)權(quán)利要求1所述的基于知識(shí)庫(kù)的軟件遠(yuǎn)程故障診斷與修復(fù)方法,其特征在于,所述步驟A包括: Al、將已解決故障的故障特征、故障原因、故障維修方法表示為計(jì)算機(jī)內(nèi)部格式,形成故障案例庫(kù)錄入所述故障診斷與修復(fù)知識(shí)庫(kù)中; A2、將所述被診斷軟件系統(tǒng)的軟件故障領(lǐng)域?qū)<医?jīng)驗(yàn)知識(shí)以產(chǎn)生式規(guī)則的形式進(jìn)行描述,形成故障診斷規(guī)則庫(kù)錄入所述故障診斷與修復(fù)知識(shí)庫(kù)中。
3.根據(jù)權(quán)利要求2所述的基于知識(shí)庫(kù)的軟件遠(yuǎn)程故障診斷與修復(fù)方法,其特征在于,所述步驟Al包括: Al.1、采用數(shù)據(jù)庫(kù)表作為案例的計(jì)算機(jī)內(nèi)部存儲(chǔ)格式,包括案例信息表、故障信息表、故障構(gòu)件表、征兆信息表、案例解釋表、維修步驟表和附件表; Al.2、案例信息表由案例名稱(chēng)、案例編號(hào)和案例說(shuō)明組成; Al.3、故障信息表由故障編號(hào)、故障名稱(chēng)、故障類(lèi)別和故障等級(jí)組成; Al.4、故障構(gòu)件表由序號(hào)、構(gòu)件類(lèi)型、構(gòu)件名稱(chēng)、構(gòu)件前綴和構(gòu)件描述組成; Al.5、征兆信息表由征兆描述、征兆類(lèi)別、征兆值和征兆權(quán)重組成; Al.6、案例解釋表由故障現(xiàn)象、故障原因、解決措施和維修建議組成; Al.7、維修步驟表由操作類(lèi)別、操作序號(hào)、操作參數(shù)和操作時(shí)間組成; Al.8、附件表由資源編號(hào)、資源類(lèi)別和資源數(shù)據(jù)組成。
4.根據(jù)權(quán)利要求2所述的基于知識(shí)庫(kù)的軟件遠(yuǎn)程故障診斷與修復(fù)方法,其特征在于,所述步驟A2包括: A2.1、將所述被診斷軟件系統(tǒng)的軟件故障領(lǐng)域?qū)<医?jīng)驗(yàn)知識(shí)抽象為一系列的因果鏈; A2.2、將所述因果鏈描述為直觀的IF-THEN產(chǎn)生式形式。
5.根據(jù)權(quán)利要求1所述的基于知識(shí)庫(kù)的軟件遠(yuǎn)程故障診斷與修復(fù)方法,其特征在于,所述服務(wù)端程序、所述客戶(hù)端代理程序和所述故障診斷與修復(fù)知識(shí)庫(kù)構(gòu)成一軟件故障診斷與修復(fù)系統(tǒng),其中: 所述服務(wù)端程序用于完成所述被診斷軟件系統(tǒng)軟件構(gòu)件的狀態(tài)監(jiān)控、診斷決策、維修決策、知識(shí)庫(kù)管理以及人機(jī)交互功能; 所述客戶(hù)端代理程序以開(kāi)機(jī)自動(dòng)運(yùn)行的后臺(tái)程序形式部署在被診斷軟件系統(tǒng)的每臺(tái)計(jì)算機(jī)上,用于完成本機(jī)軟件構(gòu)件的診斷信息收集和故障修復(fù)功能。
6.根據(jù)權(quán)利要求1所述的基于知識(shí)庫(kù)的軟件遠(yuǎn)程故障診斷與修復(fù)方法,其特征在于,所述步驟B包括: B1、所述客戶(hù)端代理程序獲取本機(jī)軟件構(gòu)件的安裝部署信息,將所述安裝部署信息保存為xml格式文件,然后通過(guò)TCP協(xié)議將包含安裝部署信息的xml格式文件發(fā)送給所述服務(wù)端程序; B2、所述客戶(hù)端代理程序獲取本機(jī)服務(wù)運(yùn)行信息,將所述服務(wù)運(yùn)行信息保存為xml格式文件,然后通過(guò)TCP協(xié)議將包含服務(wù)運(yùn)行信息的xml格式文件發(fā)送給所述服務(wù)端程序;B3、所述客戶(hù)端代理程序獲取本機(jī)進(jìn)程運(yùn)行信息,將所述進(jìn)程運(yùn)行信息保存為xml格式文件,然后通過(guò)TCP協(xié)議將包含進(jìn)程運(yùn)行信息的xml格式文件發(fā)送給服務(wù)端程序; B4、所述客戶(hù)端代理程序獲取本機(jī)數(shù)據(jù)庫(kù)信息,然后通過(guò)UDP協(xié)議將所述數(shù)據(jù)庫(kù)信息發(fā)送給所述服務(wù)端程序; B5、所述客戶(hù)端代理程序獲取本機(jī)CPU和內(nèi)存使用信息,然后通過(guò)UDP協(xié)議將所述CPU和內(nèi)存使用信息發(fā)送給所述服務(wù)端程序。
7.根據(jù)權(quán)利要求1所述的基于知識(shí)庫(kù)的軟件遠(yuǎn)程故障診斷與修復(fù)方法,其特征在于,所述步驟C包括: Cl、在所述故障診斷與修復(fù)知識(shí)庫(kù)中進(jìn)行案例檢索,判斷是否存在匹配的案例,如果判斷的結(jié)果為是,則基于所述故障診斷與修復(fù)知識(shí)庫(kù)中的維修步驟表產(chǎn)生所述決策命令以進(jìn)行故障修復(fù),否則執(zhí)行步驟C2 ; C2、激活基于規(guī)則的軟件故障診斷與修復(fù)。
8.根據(jù)權(quán)利要求7所述的基于知識(shí)庫(kù)的軟件遠(yuǎn)程`故障診斷與修復(fù)方法,其特征在于,所述步驟Cl包括: Cl.1、等待用戶(hù)輸入待檢故障的案例檢索條件; Cl.2、計(jì)算用戶(hù)輸入的所述案例檢索條件和所述故障診斷與修復(fù)知識(shí)庫(kù)中所有案例的相似性; Cl.3、將所述相似性從高到低進(jìn)行排序; Cl.4、判斷是否存在相似性大于預(yù)先設(shè)定的輸出閾值的案例,如果判斷的結(jié)果為是,則執(zhí)行步驟Cl.5,否則返回案例匹配失敗; Cl.5、依據(jù)與具有最大相似性的案例相對(duì)應(yīng)的維修步驟表產(chǎn)生決策命令以進(jìn)行故障修復(fù)。
9.根據(jù)權(quán)利要求8所述的基于知識(shí)庫(kù)的軟件遠(yuǎn)程故障診斷與修復(fù)方法,其特征在于,所述步驟Cl.5包括: Cl.5.1、創(chuàng)建基于案例的故障修復(fù)線(xiàn)程; Cl.5.2、將具有最大相似性的案例相對(duì)應(yīng)的所述維修步驟表中與案例故障編號(hào)相關(guān)的維修步驟依據(jù)操作序號(hào)進(jìn)行排序; Cl.5.3、依據(jù)所述排序而依次取出每個(gè)維修步驟的詳細(xì)信息,并根據(jù)操作類(lèi)別和操作參數(shù)產(chǎn)生決策命令,將所述決策命令通過(guò)網(wǎng)絡(luò)發(fā)送至所述客戶(hù)端代理程序,所述決策命令即相應(yīng)的維修動(dòng)作命令; Cl.5.4、使用所述維修步驟中的操作時(shí)間作為維修動(dòng)作處理的最大等待時(shí)間,等待所述客戶(hù)端代理程序返回維修結(jié)果;Cl.5.5、判斷是否已獲取維修結(jié)果或超時(shí),如果判斷的結(jié)果為是,則執(zhí)行步驟Cl.5.6,否則執(zhí)行步驟Cl.5.4; Cl.5.6、判斷是否所有的維修步驟都已處理完成,如果判斷的結(jié)果為是,則執(zhí)行步驟Cl.5.7,否則執(zhí)行步驟Cl.5.3 ; Cl.5.7、結(jié)束所述基于案例的故障維修線(xiàn)程。
10.根據(jù)權(quán)利要求7所述的基于知識(shí)庫(kù)的軟件遠(yuǎn)程故障診斷與修復(fù)方法,其特征在于,所述步驟C2包括: C2.1、進(jìn)行基于規(guī)則的故障診斷; C2.2、收集所述基于規(guī)則的故障診斷(C2.1)過(guò)程中產(chǎn)生的維修步驟; C2.3、依據(jù)C2.2中的所述維修步驟產(chǎn)生決策命令以進(jìn)行故障修復(fù)。
11.根據(jù)權(quán)利要求10所述的基于知識(shí)庫(kù)的軟件故障診斷與修復(fù)方法,其特征在于,所述步驟C2.1包括: C2.1.1、創(chuàng)建基于規(guī)則的故障診斷線(xiàn)程; C2.1.2、載入軟件故障 診斷規(guī)則描述文件; C2.1.3、依據(jù)所述規(guī)則描述文件創(chuàng)建并顯示用戶(hù)交互界面,并在所述用戶(hù)交互界面上顯示用戶(hù)交互提示信息; C2.1.4、等待用戶(hù)輸入交互信息; C2.1.5、判斷所述交互信息是否已經(jīng)輸入,如果判斷的結(jié)果為是,則執(zhí)行步驟C2.1.6,否者執(zhí)行步驟C2.1.4; C2.1.6、依據(jù)所述規(guī)則描述文件執(zhí)行診斷操作,通過(guò)網(wǎng)絡(luò)向所述客戶(hù)端代理程序發(fā)送相應(yīng)的診斷命令; C2.1.7、等待所述客戶(hù)端代理程序返回診斷結(jié)果; C2.1.8、判斷是否已獲取所述診斷結(jié)果或超時(shí),如果判斷的結(jié)果為是,則執(zhí)行步驟C2.1.9,否則執(zhí)行步驟C2.1.7 ; C2.1.9、依據(jù)所述診斷結(jié)果和所述規(guī)則描述文件產(chǎn)生維修步驟; C2.1.10、判斷是否還存在可執(zhí)行的規(guī)則,如果判斷的結(jié)果為是,則執(zhí)行步驟C2.1.3,否則執(zhí)行步驟C2.1.11 ; C2.1.11、結(jié)束所述基于規(guī)則的故障診斷線(xiàn)程。
12.根據(jù)權(quán)利要求10所述的基于知識(shí)庫(kù)的軟件遠(yuǎn)程故障診斷與修復(fù)方法,其特征在于,所述步驟C2.3包括: C2.3.1、創(chuàng)建故障維修線(xiàn)程; C2.3.2、取出C2.2中的所述維修步驟中的每個(gè)維修步驟的詳細(xì)信息,并根據(jù)操作類(lèi)別和操作參數(shù)通過(guò)網(wǎng)絡(luò)向所述客戶(hù)端代理程序發(fā)送決策命令,即,相應(yīng)的維修動(dòng)作命令; C2.3.3、使用所述維修步驟中的操作時(shí)間作為維修動(dòng)作處理的最大等待時(shí)間,等待客戶(hù)端代理程序返回維修結(jié)果; C2.3.4、判斷是否已獲取維修結(jié)果或超時(shí),如果判斷的結(jié)果為是,則執(zhí)行步驟C2.3.5,否則執(zhí)行步驟C2.3.3 ; C2.3.5、判斷是否所有的維修步驟都已處理完成,如果判斷的結(jié)果為是,則執(zhí)行步驟C2.3.6,否則執(zhí)行步驟C2.3.2 ;C2 .3.6、結(jié)束所述故障維修線(xiàn)程。
【文檔編號(hào)】G06F11/36GK103699489SQ201410003287
【公開(kāi)日】2014年4月2日 申請(qǐng)日期:2014年1月3日 優(yōu)先權(quán)日:2014年1月3日
【發(fā)明者】畢學(xué)軍, 肖慶, 王小振, 楊朝紅, 金麗亞, 劉娟, 黨朝發(fā), 唐世慶 申請(qǐng)人:中國(guó)人民解放軍裝甲兵工程學(xué)院