專利名稱:通訊系統(tǒng)故障診斷方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬通信領(lǐng)域,尤其涉及一種通訊系統(tǒng)故障診斷方法和系統(tǒng)。
背景技術(shù):
隨著通信技術(shù)的高速發(fā)展及用戶要求的不斷提高,通訊系統(tǒng)的集成度也越來越高,作為一種復(fù)雜的軟硬件系統(tǒng),如果出現(xiàn)故障,將影響整個系統(tǒng)的正常、穩(wěn)定運行,所以如何快速、準(zhǔn)確地診斷故障,保證通信系統(tǒng)故障的可測性和可維護(hù)性便成為業(yè)界一個急需解決的問題。
在現(xiàn)有的通訊設(shè)備中,大部分都不具有故障診斷定位功能,當(dāng)需要對故障診斷時,一般都使用額外的專用診斷設(shè)備,但由于這些專用的設(shè)備在結(jié)構(gòu)上往往有很大的局限性,所以故障定位能力及可寬展性都較差,且不具有通用性,成本較高。如西門子的故障診斷系統(tǒng),其診斷過程就只能通過獲取各種警告信息來完成,要求被測系統(tǒng)提供大量標(biāo)準(zhǔn)化的警告信息,否則軟件無法處理。很顯然,這種故障診斷系統(tǒng)僅局限于提供警告功能,故障定位能力有限,且警告信息的標(biāo)準(zhǔn)化要求也限制了其通用性。
發(fā)明內(nèi)容
本發(fā)明目的在于提供一種性能良好且通用性強(qiáng)的通信系統(tǒng)故障診斷定位方法和系統(tǒng)。
其中,本發(fā)明通訊系統(tǒng)故障診斷方法包括如下步驟
A.建立故障診斷模型及其內(nèi)部的判斷邏輯;B.故障診斷模型的內(nèi)部判斷邏輯經(jīng)故障定位后,進(jìn)行診斷操作;C.將診斷結(jié)果輸出至外部設(shè)備;步驟A中的故障診斷模型為樹型結(jié)構(gòu),是利用可解釋的腳本語言來建立,其中,所述的腳本語言有二種語句申明語句和賦值語句。申明語句用來申明一個參數(shù)或節(jié)點,其參數(shù)和節(jié)點標(biāo)識符是自定義的;賦值語句用來表示節(jié)點的關(guān)聯(lián),每個腳本描述一個故障定位樹,由3個段組成,分別以<PARAM>,<NODE>,<TREE>起頭,其中,a.<PARAM>段是對動作參數(shù)的申明;b.<NODE>段是對各個節(jié)點,包括動作節(jié)點和處理節(jié)點的申明;c.<TREE>段定義節(jié)點之間的父子關(guān)系,形成樹型結(jié)構(gòu);d.某些動作需要參數(shù),該參數(shù)可通過用戶界面從用戶獲取或為已執(zhí)行過的動作的返回值;步驟B中的診斷操作是利用系統(tǒng)命令和網(wǎng)管數(shù)據(jù)庫中的數(shù)據(jù),采用通用的腳本語言定義操作命令來完成的;步驟B中的通用的腳本語言為工具命令語言;步驟C中的診斷結(jié)果還可輸出至數(shù)據(jù)庫。
本發(fā)明的通訊系統(tǒng)故障診斷系統(tǒng),包括診斷結(jié)果顯示設(shè)備,其特征在于還具有一故障診斷引擎,該故障診斷引擎包括一個針對故障診斷模型描述腳本的腳本解釋器和相應(yīng)的故障定位模塊,經(jīng)過TCL解釋器,采用工具命令語言TCL執(zhí)行診斷操作后,故障定位模塊將診斷結(jié)果輸至診斷結(jié)果顯示設(shè)備以及診斷結(jié)果記錄數(shù)據(jù)庫;所述的通訊系統(tǒng)故障診斷系統(tǒng)的故障診斷模型為樹型結(jié)構(gòu);所述的通訊系統(tǒng)故障診斷系統(tǒng)的樹型結(jié)構(gòu)是一個二叉樹結(jié)構(gòu),在該結(jié)構(gòu)中,每個非葉子節(jié)點為一個動作,其中,葉子為診斷的結(jié)論。
由于采用了上述的技術(shù)方案,所以本發(fā)明具有以下優(yōu)點
1、由于故障定位流程與診斷操作獨立,各自用獨立的腳本來描述,所以擴(kuò)展不會相互影響;2、由于采用可解釋的腳本語言來描述故障診斷模型,所以無須編譯,適應(yīng)漸進(jìn)的故障診斷流程導(dǎo)出過程;3、由于利用系統(tǒng)命令和網(wǎng)管數(shù)據(jù)庫中的數(shù)據(jù)來進(jìn)行診斷,所以通用性強(qiáng),能廣泛應(yīng)用于不同的通信系統(tǒng),且系統(tǒng)命令和網(wǎng)管數(shù)據(jù)庫對診斷的覆蓋面廣,故障定位能力;4、本發(fā)明中的故障診斷方法在產(chǎn)品的生命周期中是一個逐步總結(jié)和優(yōu)化的過程,采用解釋型的故障診斷語言便于動態(tài)改進(jìn)故障診斷流程,而不會影響產(chǎn)品本身。
圖1為本發(fā)明通訊系統(tǒng)故障診斷系統(tǒng)結(jié)構(gòu)示意圖;圖2為本發(fā)明通訊系統(tǒng)故障診斷方法的流程示意圖;圖3為故障定位樹示意圖。
具體實施例方式
下面根據(jù)附圖和實施例對本發(fā)明作進(jìn)一步詳細(xì)說明根據(jù)圖1、圖2和圖3,本發(fā)明包括診斷結(jié)果顯示設(shè)備,還具有一故障診斷引擎,該故障診斷引擎包括一個針對故障診斷模型描述腳本的腳本解釋器和相應(yīng)的故障定位模塊,經(jīng)過TCL解釋器,采用工具命令語言TCL執(zhí)行診斷操作后,故障定位模塊將診斷結(jié)果輸至診斷結(jié)果顯示設(shè)備以及診斷結(jié)果記錄數(shù)據(jù)庫;通訊系統(tǒng)故障診斷系統(tǒng)的故障診斷模型為樹型結(jié)構(gòu)的故障定位樹;故障定位樹是一種通用的良好的故障定位模型,它通過一系列YES/NO的判斷過程實現(xiàn)故障定位,模擬人工故障判斷的邏輯,每一個判斷過程稱為一個動作,經(jīng)過一系列的動作判斷后,最終給出診斷的結(jié)論,故障定位樹的結(jié)構(gòu)其實就是一個二叉樹結(jié)構(gòu),每個非葉子節(jié)點為一個動作,葉子為診斷的結(jié)論。
如圖2所示,本發(fā)明采用這種可解釋的腳本語言描述故障診斷模型,故障診斷模型的內(nèi)部判斷邏輯經(jīng)故障定位后,進(jìn)行診斷操作,該診斷操作利用系統(tǒng)命令和網(wǎng)管數(shù)據(jù)庫中的數(shù)據(jù),采用通用的腳本語言,如工具命令語言TCL,來定義操作命令,診斷操作后,將操作結(jié)果輸至外部設(shè)備或數(shù)據(jù)庫。
如圖3所示是一個針對某產(chǎn)品“PPE端口業(yè)務(wù)故障”的一個故障定位樹,圖中菱形框稱為決定框,代表一個動作,也就是用來決定下一步走向的診斷操作;矩形框代表診斷的一個結(jié)論或處理建議,稱之為處理框,就是最終的一個診斷結(jié)果。
一個故障定位樹可以由多個子樹組成,每個子樹都是如圖3所示的二叉樹結(jié)構(gòu),各個子樹之間的關(guān)系是并行的,也就是說對一個故障的診斷過程中各個子樹都要遍歷,即使前面的子樹已經(jīng)得到了一個診斷結(jié)果,這樣在使用中具有更強(qiáng)的靈活性。
故障診斷結(jié)構(gòu)如圖1所示,以上描述的故障定位樹結(jié)構(gòu)用一種可解釋的故障診斷描述語言的腳本來描述;每個診斷操作,也就是決定框中的動作用工具命令語言TCL腳本來描述。
下面介紹故障診斷描述語言的語法每個腳本描述一個故障定位樹,由3個段組成,分別以<PARAM>,<NODE>,<TREE>起頭。<PARAM>段是對動作參數(shù)的申明;<NODE>段是對各個動作節(jié)點Dec和處理節(jié)點Proc的申明;<TREE>段則定義了節(jié)點之間的父子關(guān)系,形成樹型結(jié)構(gòu)。有些動作還需要從外部輸入一些命令參數(shù)才能完成命令的執(zhí)行,因此腳本中需要參數(shù)信息,這些參數(shù)值的獲取可能直接通過用戶界面從最終用戶那里獲取,也可能是前面執(zhí)行過的動作的返回值。
下面是某產(chǎn)品RLOS告警的腳本示例<PARAM>
opt_num(″對端光板號″);cros_num(″對端交叉板號″);clk_num(″對端時鐘板號″);<NODE>
TOP_FAULT(″RLOS告警″);Dec1(″對端光板TF告警″,″check warn tf %%″,opt_num);Dec2(″對端光板OPM_FAIL告警″,″check warn opmfail%%″,opt_num);Proc1(″正常″);Proc2(″對端光板故障″);Dec3(″對端發(fā)光正常″,″check light %%″,opt_num);Dec4(″本站無光″,″check receive″);Dec5(″本站光功率太小″,″check recv-low″);Proc3(″光纖斷″);Proc4(″本站光模塊或光纖損耗大″);Dec6(″對端交叉板不在位″,″check board%%″,cros_num);Dec7(″對端時鐘板BD_STATUS告警″,″check warn bd_status%%″,clk_num);Dec8(″本端環(huán)回?zé)oLOS告警″,″check warn los locallp″);Proc5(″對端交叉板或時鐘板故障″);Proc6(″對端交叉板不在位″);Proc7(″對端時鐘板不在位″);Proc8(″其他原因″);
<TREE>
TOP_FAULT=Dec1+Dec3+Dec6;Dec1=Dec2+Proc2;Dec2=Proc1+Proc2;Dec3=Proc2+Dec4;Dec4=Dec5+Proc3;Dec5=Proc1+Proc4;Dec6=Dec7+Proc6;Dec7=Dec8+Proc7;Dec8=Proc5+Proc8;上述腳本有2種語句申明語句和賦值語句,申明語句用來申明一個參數(shù)或樹節(jié)點,參數(shù)和樹節(jié)點標(biāo)識符是自定義的,如參數(shù)opt_num和節(jié)點Dec1,Dec2等,標(biāo)識符的命名規(guī)則是以字母開頭,后跟字母、數(shù)字或下劃線。
對參數(shù)申明來說采用上述腳本中圓括號括起來的字符串對參數(shù)進(jìn)行描述,作用只是為了在讓終端用戶提供參數(shù)值時能將這個參數(shù)的描述信息告訴用戶作為提示,當(dāng)然也可以不對參數(shù)做申明,從而該參數(shù)沒有提示信息,這種做法主要用在由動作返回而不是用戶提供參數(shù)值的情況。
樹節(jié)點的申明語句也類似,在圓括號中的首先是對該節(jié)點的描述字符串,對動作節(jié)點Dec后面還有動作命令字符串和可能的參數(shù),對處理節(jié)點Proc就只有節(jié)點描述字符串。命令字符串中的連續(xù)2個百分號“%%”是格式化字符,表示該位置用一個輸入?yún)?shù)代替;同樣,一個動作命令可以返回若干個輸出參數(shù),只要在輸入?yún)?shù)序列的后面跟上輸出參數(shù)序列即可,并且每個輸出參數(shù)的標(biāo)識符前要加″&″號。如DecisionA(″Serdes環(huán)回發(fā)包測試正?!?,″test channel serdeslp%%″,port_num,&packet_num)中port_num就是輸入?yún)?shù),實際發(fā)送命令時將命令字符串中的%%替換為port_num的值,而且該動作返回一個參數(shù)給packet_num,該參數(shù)在以后的動作中可能會用到,這樣就不需要提示終端用戶來提供packet_num參數(shù)的值。節(jié)點申明中的″TOP_FAULT″是語言的關(guān)鍵字,表示本故障定位樹是用于定位哪個故障現(xiàn)象的。
<TREE>段內(nèi)的賦值語句表示了節(jié)點的關(guān)聯(lián),TOP_FAULT的賦值語句表示了各個子樹的根節(jié)點,其他的賦值語句″=″號左邊是父節(jié)點,該父節(jié)點只能是動作節(jié)點,不能是處理節(jié)點;″=″號右邊是NO節(jié)點+YES節(jié)點,因此<TREE>段說明了樹節(jié)點的邏輯關(guān)聯(lián)。另外賦值語句右側(cè)也可以只有一個子節(jié)點,也就是說不論父節(jié)點的判斷結(jié)果是YES還是NO,都走到該子節(jié)點,這是為了適應(yīng)某些動作只是為了獲取其他動作所需的參數(shù)而沒有判斷,如通過一個動作獲取系統(tǒng)的一些狀態(tài),供其他動作命令作為輸入?yún)?shù),而不需要人工來獲取這些狀態(tài)。
腳本是可以帶注釋的,注釋以#號開始到本行結(jié)束。
在啟動診斷后,診斷引擎的每個動作其實就是執(zhí)行一個動作的TCL腳本,首先檢查該動作是否需要參數(shù),如果參數(shù)已經(jīng)賦過值,則直接使用該值,否則就提示用戶輸入,然后執(zhí)行相應(yīng)的操作并接收返回結(jié)果,對結(jié)果進(jìn)行判斷,如果動作中指定有輸出參數(shù)則還要提取出來保存;經(jīng)過一系列的動作和邏輯判斷,最終得到診斷結(jié)果。各個子樹之間的關(guān)系是并行的,也就是說診斷過程中各個子樹都要遍歷,即使前面的子樹已經(jīng)得到了一個診斷結(jié)果。
權(quán)利要求
1.一種通訊系統(tǒng)故障診斷方法,其特征在于A、建立故障診斷模型及其內(nèi)部的判斷邏輯;B、故障診斷模型的內(nèi)部判斷邏輯經(jīng)故障定位后,進(jìn)行診斷操作;C、將診斷結(jié)果輸出至外部設(shè)備。
2.根據(jù)權(quán)利要求1所述的通訊系統(tǒng)故障診斷方法,其特征在于步驟A中的故障診斷模型為樹型結(jié)構(gòu),是利用可解釋的腳本語言來建立,其中,所述的腳本語言有二種語句申明語句和賦值語句;申明語句用來申明一個參數(shù)或節(jié)點,其參數(shù)和節(jié)點標(biāo)識符是自定義的,賦值語句表示節(jié)點的關(guān)聯(lián),每個腳本描述一個故障定位樹,由3個段組成,分別以<PARAM>,<NODE>,<TREE>起頭;其中,a.<PARAM>段是對動作參數(shù)的申明;b.<NODE>段是對各個節(jié)點,包括動作節(jié)點和處理節(jié)點的申明;c.<TREE>段定義節(jié)點之間的父子關(guān)系,形成樹型結(jié)構(gòu);d.某些動作需要參數(shù),該參數(shù)可通過用戶界面從用戶獲取或為已執(zhí)行過的動作的返回值。
3.根據(jù)權(quán)利要求1所述的通訊系統(tǒng)故障診斷方法,其特征在于步驟B中的診斷操作是利用系統(tǒng)命令和網(wǎng)管數(shù)據(jù)庫中的數(shù)據(jù),采用通用的腳本語言定義操作命令來完成的。
4.根據(jù)權(quán)利要求3所述的通訊系統(tǒng)故障診斷方法,其特征在于步驟B中的通用的腳本語言為工具命令語言。
5.根據(jù)權(quán)利要求1所述的通訊系統(tǒng)故障診斷方法,其特征在于步驟C中的診斷結(jié)果還可輸出至數(shù)據(jù)庫。
6.一種實現(xiàn)權(quán)利要求1所述的故障診斷方法的通訊系統(tǒng)故障診斷系統(tǒng),包括診斷結(jié)果顯示設(shè)備,其特征在于還具有一故障診斷引擎,該故障診斷引擎包括一個針對故障診斷模型描述腳本的腳本解釋器和相應(yīng)的故障定位模塊,經(jīng)過TCL解釋器,采用工具命令語言TCL執(zhí)行診斷操作后,故障定位模塊將診斷結(jié)果輸至診斷結(jié)果顯示設(shè)備以及診斷結(jié)果記錄數(shù)據(jù)庫。
7.根據(jù)權(quán)利要求6所述的通訊系統(tǒng)故障診斷方法,其特征在于所述的通訊系統(tǒng)故障診斷系統(tǒng)的故障診斷模型為樹型結(jié)構(gòu)。
8.根據(jù)權(quán)利要求7所述的通訊系統(tǒng)故障診斷方法,其特征在于所述的通訊系統(tǒng)故障診斷系統(tǒng)的樹型結(jié)構(gòu)是一個二叉樹結(jié)構(gòu),在該結(jié)構(gòu)中,每個非葉子節(jié)點為一個動作,其中,葉子為診斷的結(jié)論。
全文摘要
一種通訊系統(tǒng)故障診斷方法和系統(tǒng),其中,通訊系統(tǒng)故障診斷定位系統(tǒng)采用可解釋的腳本語言描述故障診斷模型,故障診斷模型的內(nèi)部判斷邏輯經(jīng)故障定位后,進(jìn)行診斷操作,該診斷操作利用系統(tǒng)命令和網(wǎng)管數(shù)據(jù)庫中的數(shù)據(jù),采用通用的腳本語言定義操作命令,診斷操作后,將操作結(jié)果輸至外部設(shè)備或數(shù)據(jù)庫。通訊系統(tǒng)故障診斷方法是通過包含腳本解釋器和故障定位模塊的故障診斷引擎來實現(xiàn)。本發(fā)明具有通用性,強(qiáng)大的故障診斷定位能力和高度擴(kuò)展性,可廣泛適用于通信系統(tǒng)設(shè)備的故障診斷定位。
文檔編號H04B17/00GK1479461SQ02141738
公開日2004年3月3日 申請日期2002年8月29日 優(yōu)先權(quán)日2002年8月29日
發(fā)明者趙嵐, 趙 嵐 申請人:華為技術(shù)有限公司