白廣爭(zhēng) 鄭澤熙 馮浩楠 許展瑛 劉海祥 范 楷
(中國(guó)鐵道科學(xué)研究院集團(tuán)有限公司通信信號(hào)研究所,100081,北京)
CBTC(基于通信的列車控制)系統(tǒng)由ATS(列車自動(dòng)監(jiān)控)系統(tǒng)、CI(計(jì)算機(jī)聯(lián)鎖)系統(tǒng)、ZC(區(qū)域控制器)系統(tǒng)、VOBC(車載控制器)系統(tǒng)和DCS(數(shù)據(jù)通信子系統(tǒng))共同構(gòu)成,系統(tǒng)構(gòu)成相對(duì)復(fù)雜。在運(yùn)行過(guò)程中,若有某一模塊發(fā)生故障,往往會(huì)有多個(gè)子系統(tǒng)報(bào)警,僅從系統(tǒng)表現(xiàn)出來(lái)的故障現(xiàn)象較難確定故障問(wèn)題來(lái)源。不同子系統(tǒng)通過(guò)自身邏輯判斷提供一定的報(bào)警信息,此時(shí)需要有經(jīng)驗(yàn)的維護(hù)人員歸納這些信息,同時(shí)結(jié)合子系統(tǒng)之間實(shí)時(shí)傳輸?shù)慕涌跀?shù)據(jù)信息進(jìn)行綜合判斷,才能確定故障發(fā)生的來(lái)源。這不僅需要維護(hù)人員耗費(fèi)較長(zhǎng)的時(shí)間進(jìn)行問(wèn)題分析,而且其自身也需具有較高的技術(shù)水平。因此,設(shè)計(jì)一套針對(duì)CBTC系統(tǒng)進(jìn)行實(shí)時(shí)故障診斷定位的分析系統(tǒng)具有重要的應(yīng)用價(jià)值。
將模式匹配應(yīng)用在故障定位領(lǐng)域是一種有效的方法。文獻(xiàn)[1]研究了在設(shè)備資源受限情況下,基于云服務(wù)器輔助計(jì)算策略,完成對(duì)模式端和數(shù)據(jù)庫(kù)端兩方的安全模式匹配協(xié)議設(shè)計(jì),并通過(guò)設(shè)計(jì)功能函數(shù)實(shí)現(xiàn)對(duì)模式的檢測(cè)。文獻(xiàn)[2]通過(guò)對(duì)文本關(guān)鍵信息進(jìn)行模糊化預(yù)處理,基于WM(Wu-Manber)算法進(jìn)行中文信息的初步匹配,最后進(jìn)行多模式匹配。文獻(xiàn)[3]將模糊理論應(yīng)用于網(wǎng)絡(luò)故障的實(shí)時(shí)故障監(jiān)測(cè),結(jié)合模糊理論與數(shù)據(jù)挖掘方法,建立關(guān)聯(lián)規(guī)則知識(shí)庫(kù),再利用模糊匹配對(duì)告警信息進(jìn)行模糊推理,以達(dá)到定位故障的目的。
在進(jìn)行故障模式匹配過(guò)程中,現(xiàn)有文獻(xiàn)研究均沒(méi)有考慮時(shí)間約束對(duì)故障模式匹配的影響。而在實(shí)際應(yīng)用中,從通信網(wǎng)絡(luò)上采集到的多方實(shí)時(shí)數(shù)據(jù)需要考慮其時(shí)間要求,即滿足時(shí)間要求的數(shù)據(jù)才能參與模式匹配,傳統(tǒng)的字符串模糊匹配算法難以解決該問(wèn)題。鑒于此,針對(duì)系統(tǒng)網(wǎng)絡(luò)監(jiān)測(cè)數(shù)據(jù),本文提出一種基于時(shí)間約束的實(shí)時(shí)故障監(jiān)測(cè)定位方法,以實(shí)現(xiàn)城市軌道交通基于CBTC系統(tǒng)的快速故障診斷和定位。本文研究可為CBTC系統(tǒng)的集成測(cè)試、故障運(yùn)維等提供借鑒。
假設(shè)在某一時(shí)刻,CBTC系統(tǒng)突發(fā)故障,針對(duì)各子系統(tǒng)的報(bào)警信息分別構(gòu)建數(shù)據(jù)序列,例如ZC報(bào)警數(shù)據(jù)序列、VOBC報(bào)警數(shù)據(jù)序列、CI報(bào)警數(shù)據(jù)序列、各子系統(tǒng)之間實(shí)時(shí)通信數(shù)據(jù)序列等。當(dāng)特定故障發(fā)生時(shí),故障診斷系統(tǒng)結(jié)合預(yù)先制定好的故障模式庫(kù)中的不同故障模式,利用故障識(shí)別定位算法進(jìn)行故障模式匹配。在設(shè)計(jì)模式匹配算法過(guò)程中,需要考慮時(shí)間約束的問(wèn)題:
1) 同一數(shù)據(jù)序列內(nèi)信息之間的時(shí)間約束性。對(duì)于同一數(shù)據(jù)序列,將其中的數(shù)據(jù)信息與故障的對(duì)應(yīng)子模式進(jìn)行匹配時(shí),模式中各字符的出現(xiàn)時(shí)機(jī)與順序只有滿足給定的時(shí)間約束,才被認(rèn)為該故障子模式匹配成功;不滿足時(shí)間約束的字符,認(rèn)為其并不處于同一故障狀態(tài)下,則不滿足模式匹配規(guī)則。通信周期越長(zhǎng)、通信數(shù)據(jù)量越大,則待匹配字符之間的干擾字符數(shù)量越大,數(shù)據(jù)序列與故障模式之間的ED(編輯距離)越大[4-5];反之,則數(shù)據(jù)序列與故障模式之間的ED越小。
2) 不同數(shù)據(jù)序列之間相關(guān)信息的同步性。對(duì)于CBTC系統(tǒng),當(dāng)從不同子系統(tǒng)分別獲得數(shù)據(jù)信息后,會(huì)形成多個(gè)數(shù)據(jù)序列。不同數(shù)據(jù)序列內(nèi)的信息在參與某一特定故障模式匹配時(shí),只有同一時(shí)期內(nèi)出現(xiàn)的信息才能進(jìn)行匹配。不同時(shí)期產(chǎn)生的信息,即使能夠匹配成功,但不具有實(shí)際意義?!巴粫r(shí)期”的定義是由系統(tǒng)的響應(yīng)周期、通信周期等參數(shù)共同決定的。例如,當(dāng)其中一個(gè)子系統(tǒng)發(fā)生故障后,另一個(gè)子系統(tǒng)的響應(yīng)時(shí)間為t,則進(jìn)行該故障模式匹配時(shí),t時(shí)間域內(nèi)的信息均屬于“同一時(shí)期”。
根據(jù)以上分析,設(shè)計(jì)基于時(shí)間約束的故障識(shí)別定位算法,以提高CBTC系統(tǒng)的實(shí)時(shí)故障快速監(jiān)測(cè)定位與現(xiàn)場(chǎng)恢復(fù)能力。
根據(jù)實(shí)際問(wèn)題,對(duì)模式定義及匹配規(guī)則進(jìn)行說(shuō)明。
2.1.1 總模式和子模式
1次完整的匹配對(duì)應(yīng)1個(gè)總模式,總模式匹配成功,即完成了模式對(duì)象的匹配過(guò)程。1個(gè)總模式由K個(gè)子模式組合而成,第n個(gè)總模式的第j個(gè)子模式稱為sn,j(1≤n≤N,1≤j≤K),該子模式對(duì)應(yīng)一個(gè)實(shí)時(shí)數(shù)據(jù)序列,每個(gè)總模式的K個(gè)子模式對(duì)應(yīng)K個(gè)實(shí)時(shí)數(shù)據(jù)序列。子模式sn,j中的字符在數(shù)據(jù)序列中出現(xiàn)時(shí)均具有時(shí)間屬性,出現(xiàn)的時(shí)機(jī)和順序受時(shí)間約束。多個(gè)總模式共同構(gòu)成模式庫(kù)。
2.1.2 子模式sn,j匹配規(guī)則
子模式sn,j匹配規(guī)則為:①sn,j由xn,j個(gè)報(bào)警信息組成;②sn,j中的各報(bào)警信息在數(shù)據(jù)序列中可以不相鄰;③sn,j中的各報(bào)警信息在數(shù)據(jù)序列中必須按順序且全部出現(xiàn);④sn,j中的第m個(gè)報(bào)警信息sn,j,m與第m+1個(gè)報(bào)警信息sn,j,m+1之間的時(shí)間間隔不超過(guò)規(guī)定時(shí)間t0,則有:
tn,j,m+1-tn,j,m≤t0
(1)
1≤m 式中: tn,j,m+1——報(bào)警信息sn,j,m+1出現(xiàn)的時(shí)刻。 同時(shí)滿足上述4個(gè)規(guī)則,該子模式sn,j匹配成功。 2.1.3 總模式匹配規(guī)則 總模式匹配規(guī)則為:①對(duì)于某一確定的總模式n,其所包含的各個(gè)子模式sn,j均匹配成功;②對(duì)于總模式n,sn,j的第1個(gè)字符sn,j,1出現(xiàn)的時(shí)刻必須分布在某一確定的時(shí)間圍欄T內(nèi),即tn,j,1∈T(tn,j,1為sn,j的第1個(gè)報(bào)警信息sn,j,1的出現(xiàn)時(shí)刻)。時(shí)間圍欄T=[tn,j0,1-t1,tn,j0,1+t1],其中:tn,j0,1為總模式n第j0個(gè)子模式sn,j0的第1個(gè)報(bào)警信息sn,j0,1的出現(xiàn)時(shí)刻;t1為設(shè)定常數(shù)。 同時(shí)滿足上述2個(gè)規(guī)則,總模式n匹配成功。 2.1.4 相似度 假設(shè)總模式n1中所包含的報(bào)警字符在總模式n2中均按順序出現(xiàn),則稱n1包含于n2,記為n1?n2。通過(guò)定義相似度R提高故障模式的識(shí)別準(zhǔn)確度。故障模式n發(fā)生的相似度Rn表示總模式n在與實(shí)時(shí)報(bào)警字符序列進(jìn)行匹配時(shí),所能夠?qū)崿F(xiàn)匹配的字符數(shù)。根據(jù)定義,若在實(shí)時(shí)獲取的報(bào)警字符序列中同時(shí)出現(xiàn)了故障模式n1和n2,且Rn2≥Rn1,即所發(fā)生的故障與模式n2的相似度更高,故認(rèn)為發(fā)生的是故障模式n2。 根據(jù)模式定義及匹配規(guī)則,設(shè)計(jì)模式匹配算法。 步驟1 將故障模式庫(kù)中所有總模式的相似度初始化為0;選定第1個(gè)子模式對(duì)應(yīng)的數(shù)據(jù)序列作為第1個(gè)待匹配對(duì)象;選取該數(shù)據(jù)序列的第1個(gè)字符,假定該字符為γstr1,1,則該字符的發(fā)生時(shí)刻為t1,1。 步驟2 根據(jù)γstr1,1,在模式庫(kù)中搜索所有總模式中第1個(gè)子模式sn,1的首字符,選出sn,1的首字符sn,1,1與γstr1,1匹配成功的所有總模式,進(jìn)而初步篩選出第1個(gè)子模式的首字符匹配成功的總模式集合A。若集合A非空,A={a1,a2,…,ap}(1≤p≤N),則返回該集合,并轉(zhuǎn)至步驟3;否則,刪除步驟1中所選數(shù)據(jù)序列中的第1個(gè)報(bào)警信息,并轉(zhuǎn)至步驟1。 步驟3 根據(jù)t1,1計(jì)算時(shí)間圍欄T,T=[t1,1-t1,t1,1+t1]。 步驟4 在時(shí)間圍欄T內(nèi),針對(duì)集合A中的總模式集合,任意選取一個(gè)總模式ai(1≤i≤p),在除第1個(gè)子模式外的ai中的其他各子模式所對(duì)應(yīng)的數(shù)據(jù)序列中逐個(gè)搜索sai,j,1(1≤j≤K且j≠1),其中sai,j,1為總模式ai的第j個(gè)子模式的首字符。若在時(shí)間圍欄T內(nèi),存在任意j使得sai,j,1搜索失敗,則從集合A中刪除ai;否則,將ai加入集合B。遍歷集合A中所有ai。 步驟5 若集合B非空,B={b1,b2,…,bq}(1≤q≤p),則返回該集合,并轉(zhuǎn)至步驟6;否則,刪除步驟1所選的數(shù)據(jù)序列中的第1個(gè)字符,并轉(zhuǎn)至步驟1。 步驟6 對(duì)集合B中的總模式b1按以下過(guò)程進(jìn)行匹配:在[tb1,j,m-1,tb1,j,m-1+t0](1 步驟7 在集合B中繼續(xù)搜索“包含”步驟6中已完成匹配字符sb1,j,m(1≤j≤j1,1≤m 步驟8 若C不為空集,則選取其中相似度最大的故障模式作為匹配成功的模式進(jìn)行報(bào)警,并將各實(shí)時(shí)數(shù)據(jù)序列中已參與匹配的字符刪除,轉(zhuǎn)至步驟1;否則,表示沒(méi)有完成匹配,則刪除步驟1所選的數(shù)據(jù)序列中的第1個(gè)字符,并轉(zhuǎn)至步驟1。 在步驟6—步驟8中,通過(guò)有效利用每一次匹配成功部分的信息,避免了算法的回溯搜索。當(dāng)模式庫(kù)中的一個(gè)總模式n與數(shù)據(jù)序列中的數(shù)據(jù)進(jìn)行匹配時(shí),若匹配過(guò)程中的某個(gè)字符sn,j,ml(1≤n≤N,1≤j≤K,1≤ml CBTC數(shù)據(jù)監(jiān)測(cè)系統(tǒng)架構(gòu)示意圖如圖1所示。CBTC系統(tǒng)的各子系統(tǒng)之間通過(guò)骨干網(wǎng)交換機(jī)交互接口應(yīng)用數(shù)據(jù),各子系統(tǒng)內(nèi)的不同模塊(或終端)之間,通過(guò)子系統(tǒng)交換機(jī)實(shí)時(shí)交互報(bào)警數(shù)據(jù)等信息。利用交換機(jī)的端口鏡像技術(shù),設(shè)計(jì)交換機(jī)級(jí)聯(lián)方案,將骨干網(wǎng)交換機(jī)內(nèi)的數(shù)據(jù)和各子系統(tǒng)內(nèi)部交換機(jī)上的通信數(shù)據(jù)分別鏡像到抓包交換機(jī),再對(duì)抓包交換機(jī)做端口鏡像,將所有數(shù)據(jù)匯總至上層數(shù)據(jù)處理服務(wù)器,并以此作為故障檢測(cè)模型的原始輸入數(shù)據(jù)。 注:圖中將CBTC系統(tǒng)的所有終端均以PC(個(gè)人計(jì)算機(jī))終端作為示意代替;ATS為列車自動(dòng)監(jiān)控;TIU為車載接口單元。 CBTC數(shù)據(jù)監(jiān)測(cè)系統(tǒng)架構(gòu)設(shè)計(jì)從物理上保證了數(shù)據(jù)獲取通道的暢通性。在此基礎(chǔ)上,設(shè)計(jì)CBTC數(shù)據(jù)監(jiān)測(cè)系統(tǒng)的軟件部分,包括抓包模塊[6]和故障識(shí)別模塊。故障識(shí)別模塊識(shí)別流程示意圖如圖2所示。 圖2 故障識(shí)別模塊識(shí)別流程示意圖 利用所提故障定位算法及CBTC數(shù)據(jù)監(jiān)測(cè)系統(tǒng),在重慶軌道交通9號(hào)線的CBTC系統(tǒng)上進(jìn)行算法驗(yàn)證。所提故障定位算法在CPU(中央處理器)為Intel? Xeon? Silver 4116,主頻為2.2 GHz,24線程12核心,內(nèi)存為16 GiB的服務(wù)器上連續(xù)運(yùn)行,內(nèi)存及CPU占用率始終維持在較低水平。 CBTC數(shù)據(jù)監(jiān)測(cè)系統(tǒng)的故障標(biāo)簽庫(kù)規(guī)模為2 046條,隨機(jī)選取故障標(biāo)簽庫(kù)中的5條故障,作為待測(cè)案例。通過(guò)人工對(duì)CBTC數(shù)據(jù)監(jiān)測(cè)系統(tǒng)植入相應(yīng)的故障狀態(tài),使得所提故障定位算法能夠?qū)崟r(shí)識(shí)別出系統(tǒng)內(nèi)發(fā)生的故障,并提供正確的故障定位報(bào)警提示。故障定位耗時(shí)記錄如表1所示。 表1 故障定位耗時(shí)記錄 根據(jù)CBTC系統(tǒng)的系統(tǒng)架構(gòu)、應(yīng)用數(shù)據(jù)傳輸原理及系統(tǒng)參數(shù),結(jié)合測(cè)試經(jīng)驗(yàn),設(shè)計(jì)了一套能夠進(jìn)行實(shí)時(shí)快速故障定位的方法。所提CBTC系統(tǒng)實(shí)時(shí)故障定位方法在針對(duì)具有時(shí)間約束的故障診斷定位方面具有普適性,尤其適用于大型分布式軟件多點(diǎn)監(jiān)測(cè)控制系統(tǒng)的故障檢測(cè)及智能故障診斷。根據(jù)模式匹配規(guī)則設(shè)計(jì)了故障定位算法,運(yùn)用了已完成有效匹配信息的繼承方法,能夠有效避免故障模式的回溯搜索過(guò)程。經(jīng)CBTC數(shù)據(jù)監(jiān)測(cè)系統(tǒng)驗(yàn)證,所提算法能夠快速完成CBTC系統(tǒng)的故障定位功能。所提CBTC系統(tǒng)實(shí)時(shí)故障定位方法無(wú)論在測(cè)試階段還是在現(xiàn)場(chǎng)運(yùn)營(yíng)階段均能發(fā)揮重要作用,其不僅降低了系統(tǒng)測(cè)試和故障運(yùn)維的技術(shù)難度,通過(guò)快速故障定位,大大減少了故障恢復(fù)時(shí)間。2.2 故障定位算法設(shè)計(jì)
3 CBTC數(shù)據(jù)監(jiān)測(cè)系統(tǒng)構(gòu)建與算法驗(yàn)證
3.1 CBTC數(shù)據(jù)監(jiān)測(cè)系統(tǒng)構(gòu)建
3.2 算法驗(yàn)證
4 結(jié)語(yǔ)