李 俊,李峰綱,高興利
(西安泛華科技開發(fā)有限公司,西安 710075)
現(xiàn)代艦艇復(fù)雜度和集成優(yōu)化程度日益提高,信息系統(tǒng)[1-2]作為艦艇信息流轉(zhuǎn)和控制的核心,能夠?qū)崿F(xiàn)警戒、跟蹤、目標(biāo)識(shí)別、數(shù)據(jù)處理、威脅估計(jì)、武器控制及對(duì)敵作戰(zhàn)等功能,其運(yùn)行狀態(tài)正常與否直接決定了艦艇的戰(zhàn)備完好性和遂行任務(wù)的成功率。
目前,艦艇信息系統(tǒng)大多采用以太網(wǎng)作為通信總線[3],信息系統(tǒng)總體單位制定的任務(wù)流程和通信協(xié)議中規(guī)定了系統(tǒng)中各分系統(tǒng)、設(shè)備間的信息交互時(shí)序、邏輯和數(shù)據(jù)約束。信息系統(tǒng)是一個(gè)龐大且錯(cuò)綜復(fù)雜的系統(tǒng),系統(tǒng)交互流程的多樣性、復(fù)雜性對(duì)系統(tǒng)實(shí)時(shí)狀態(tài)監(jiān)測提出了更大的挑戰(zhàn)。信息系統(tǒng)涉及分系統(tǒng)、電子裝備和相關(guān)專業(yè)較多,系統(tǒng)內(nèi)部交互關(guān)系復(fù)雜,其中任何的通信傳輸或設(shè)備故障,均可導(dǎo)致系統(tǒng)整體任務(wù)功能喪失或系統(tǒng)效能下降。
系統(tǒng)出現(xiàn)故障時(shí),僅通過分系統(tǒng)及設(shè)備自檢、機(jī)內(nèi)測試(BIT)、分散的數(shù)據(jù)記錄、零散的狀態(tài)信息顯示等手段,或借助簡單的測試儀表和工具,依靠人工和歷史經(jīng)驗(yàn)進(jìn)行監(jiān)測和保障的方式[4],具有難度大、成本高、周期長、要求高、監(jiān)測粒度粗、實(shí)時(shí)性差、自動(dòng)化程度低等缺點(diǎn),直接影響系統(tǒng)故障的快速定位,無法保證系統(tǒng)的戰(zhàn)時(shí)可用性。
因此,結(jié)合某型信息系統(tǒng)預(yù)定的使命任務(wù)和工作流程,開展基于信息交互規(guī)則的建模研究[4],建立一套擴(kuò)展性好、通用性強(qiáng)的系統(tǒng)狀態(tài)監(jiān)測模型,通過計(jì)算機(jī)加載并動(dòng)態(tài)執(zhí)行該規(guī)則模型,完成對(duì)信息系統(tǒng)的自動(dòng)化、精細(xì)化、流程化的實(shí)時(shí)狀態(tài)監(jiān)測,使指揮員和操作員實(shí)時(shí)掌握系統(tǒng)的運(yùn)行狀態(tài),及時(shí)發(fā)現(xiàn)系統(tǒng)運(yùn)行中的異常情況,并給出故障對(duì)任務(wù)執(zhí)行的影響程度評(píng)估,為指揮員的指揮決策提供參考,輔助艇員快速完成系統(tǒng)故障的定位和修復(fù)。
按照不同艦艇平臺(tái)的使命任務(wù)不同,信息系統(tǒng)的組成和結(jié)構(gòu)也不盡相同。以某艦艇平臺(tái)為例,信息系統(tǒng)由一體化網(wǎng)絡(luò)、顯控設(shè)備、聲納分系統(tǒng)、通信分系統(tǒng)、指揮控制分系統(tǒng)、光電雷達(dá)設(shè)備、對(duì)抗設(shè)備、武器設(shè)備等組成。信息系統(tǒng)的組成如圖1所示。
圖1 艦艇信息系統(tǒng)的組成框
信息系統(tǒng)可劃分為系統(tǒng)、分系統(tǒng)和設(shè)備三層[5],其中各功能分系統(tǒng)又包含多個(gè)型號(hào)的電子設(shè)備。系統(tǒng)包含的分系統(tǒng)或直屬設(shè)備均作為上網(wǎng)節(jié)點(diǎn),通過雙冗余的方式接入一體化網(wǎng)絡(luò),實(shí)現(xiàn)節(jié)點(diǎn)間的通信和數(shù)據(jù)交互。
為降低網(wǎng)絡(luò)通信在時(shí)間和空間上的耦合性,降低單點(diǎn)失效的概率和風(fēng)險(xiǎn),提高網(wǎng)絡(luò)通信的可靠性,方便開展網(wǎng)絡(luò)通信管理,采用消息中間件的發(fā)布/訂閱[6-7]的方式實(shí)現(xiàn)網(wǎng)絡(luò)通信交互。這種方式通過發(fā)布者和訂閱者之間的主題關(guān)聯(lián),較好地實(shí)現(xiàn)了網(wǎng)絡(luò)通信的松耦合。
按照信息系統(tǒng)各分系統(tǒng)、設(shè)備間的協(xié)同交互工作過程和通信協(xié)議,基于規(guī)則對(duì)信息系統(tǒng)進(jìn)行實(shí)時(shí)狀態(tài)監(jiān)測建模[8-10]??蓪⑾到y(tǒng)狀態(tài)監(jiān)測模型劃分為三層:第一層為單節(jié)點(diǎn)信息層,第二層為節(jié)點(diǎn)間交互信息層,第三層為系統(tǒng)交互邏輯層。
單節(jié)點(diǎn)信息層主要描述單個(gè)上網(wǎng)節(jié)點(diǎn)(設(shè)備)的基本屬性和基本狀態(tài)信息。單個(gè)上網(wǎng)節(jié)點(diǎn)的基本屬性包括:節(jié)點(diǎn)ID、名稱、編號(hào)、類型、IP地址、所在位置等。單個(gè)上網(wǎng)節(jié)點(diǎn)的基本狀態(tài)信息包括:節(jié)點(diǎn)的網(wǎng)絡(luò)連接狀態(tài)、工作狀態(tài)、心跳狀態(tài)、模擬訓(xùn)練狀態(tài)、BIT狀態(tài)信息、工作模式信息、時(shí)統(tǒng)信息等。這些信息僅屬于該節(jié)點(diǎn)的狀態(tài)信息或該節(jié)點(diǎn)直接與一體化網(wǎng)絡(luò)的交互信息。
單節(jié)點(diǎn)信息層采用自定義格式的XML文件進(jìn)行描述,為降低系統(tǒng)模型間的耦合性,增強(qiáng)其擴(kuò)展性,系統(tǒng)中每個(gè)上網(wǎng)節(jié)點(diǎn)用單獨(dú)的文件進(jìn)行描述,每個(gè)節(jié)點(diǎn)對(duì)應(yīng)一個(gè)描述文件,文件后綴名定義為*.snd。
單節(jié)點(diǎn)信息層的XSD文件格式定義如圖2所示。
圖2 單節(jié)點(diǎn)信息層Schema圖
節(jié)點(diǎn)間交互信息層主要描述一體化網(wǎng)絡(luò)中存在協(xié)同的兩兩節(jié)點(diǎn)之間的信息交互關(guān)系,多個(gè)節(jié)點(diǎn)間交互信息可并列建模描述。
該層描述的具體內(nèi)容包括:信息ID、信息名稱、信源ID、信宿ID、信息內(nèi)容、類型(周期/實(shí)時(shí))、超時(shí)時(shí)間等。
節(jié)點(diǎn)間交互信息采用自定義格式的XML文件進(jìn)行描述,一體化網(wǎng)絡(luò)中兩兩節(jié)點(diǎn)(存在交互關(guān)系的兩個(gè)節(jié)點(diǎn))間交互信息單獨(dú)描述,最終形成一個(gè)統(tǒng)一的模型文件,文件后綴名定義為.nsi。
在本層的描述中,可以引用單節(jié)點(diǎn)信息層的有關(guān)信息(如網(wǎng)絡(luò)連接狀態(tài)、工作狀態(tài)、心跳狀態(tài)、BIT狀態(tài)等),作為節(jié)點(diǎn)間交互信息層數(shù)據(jù)通信判定的一個(gè)輸入和依據(jù)。如當(dāng)單節(jié)點(diǎn)的網(wǎng)絡(luò)連接狀態(tài)異常時(shí),與該節(jié)點(diǎn)相關(guān)的節(jié)點(diǎn)間交互信息直接判定為故障,并給出故障告警和原因分析提示信息。
節(jié)點(diǎn)間交互信息層的XSD文件格式定義如圖3所示。
圖3 節(jié)點(diǎn)間交互信息層Schema圖
系統(tǒng)交互邏輯層主要描述信息系統(tǒng)一體化網(wǎng)絡(luò)中節(jié)點(diǎn)間信息協(xié)同交互邏輯關(guān)系[11-14]。按照系統(tǒng)執(zhí)行的任務(wù)和通道等,可將系統(tǒng)交互邏輯關(guān)系可抽象為一個(gè)或多個(gè)串行交互序列,序列中的每個(gè)步驟都代表兩兩設(shè)備間或單節(jié)點(diǎn)與系統(tǒng)間的一種交互關(guān)系,系統(tǒng)交互序列是對(duì)系統(tǒng)交互邏輯關(guān)系的一種梳理和抽象,也是后續(xù)利用計(jì)算機(jī)程序進(jìn)行自動(dòng)化分析和在線監(jiān)測的依據(jù)和基礎(chǔ)。
系統(tǒng)交互邏輯層的描述中可嵌套、引用節(jié)點(diǎn)間交互信息層和單節(jié)點(diǎn)信息層中的內(nèi)容。
該層采用線框圖形式描述信息系統(tǒng)一體化網(wǎng)絡(luò)中節(jié)點(diǎn)間的協(xié)同交互邏輯關(guān)系,通過線框圖的描述,建立系統(tǒng)交互邏輯模型。模型元素包括方框、帶箭頭實(shí)線和帶箭頭虛線三種,方框表示單個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),方框中的文字表示節(jié)點(diǎn)名稱,方框間的有向連線(帶箭頭實(shí)線)代表兩個(gè)節(jié)點(diǎn)間的交互關(guān)系,帶箭頭虛線代表節(jié)點(diǎn)直接上報(bào)的報(bào)文信息。
系統(tǒng)中某個(gè)任務(wù)協(xié)同工作過程的交互邏輯如圖4所示。
圖4 系統(tǒng)交互邏輯線框圖(示例)
根據(jù)信息系統(tǒng)實(shí)際工作過程,從系統(tǒng)交互邏輯模型中,可人工抽象出若干組的系統(tǒng)交互邏輯序列,線框圖中每條有向連線均代表交互邏輯序列中的一個(gè)步驟,連線上的文字代表序列步驟的標(biāo)號(hào)。從圖4的線框圖中可以抽象出系統(tǒng)交互邏輯序列4個(gè),如圖5所示。
圖5 系統(tǒng)交互邏輯序列(示例)
系統(tǒng)交互邏輯線框圖是系統(tǒng)中網(wǎng)絡(luò)節(jié)點(diǎn)交互關(guān)系的直觀描述,系統(tǒng)交互邏輯序列是對(duì)交互邏輯線框圖的一種抽象和總結(jié),是進(jìn)行信息系統(tǒng)實(shí)時(shí)狀態(tài)監(jiān)測和故障診斷的重要依據(jù)和基礎(chǔ)。建立系統(tǒng)交互邏輯線框圖的目的是直觀展示協(xié)同工作過程的交互邏輯,方便建模人員從中提取出交互邏輯序列。計(jì)算機(jī)最終加載執(zhí)行的是系統(tǒng)交互邏輯序列。
系統(tǒng)交互邏輯序列采用自定義格式的XML文件進(jìn)行描述,系統(tǒng)包含的所有交互邏輯序列描述在一個(gè)獨(dú)立文件中,文件后綴名定義為.sis。
系統(tǒng)交互邏輯層的XSD文件格式定義如圖6所示。
圖6 系統(tǒng)交互邏輯層Schema圖
信息系統(tǒng)狀態(tài)監(jiān)測模型的建立分為7個(gè)步驟,具體如下:
1)收集、整理與信息系統(tǒng)有關(guān)的所有資料;
2)分析信息系統(tǒng)的組成和層次劃分,創(chuàng)建系統(tǒng)層次結(jié)構(gòu)的幾何模型;
3)根據(jù)系統(tǒng)層次結(jié)構(gòu)劃分和各上網(wǎng)設(shè)備的特點(diǎn),歸納整理出系統(tǒng)各上網(wǎng)節(jié)點(diǎn)的屬性和基本信息,按照單節(jié)點(diǎn)信息描述格式的要求,進(jìn)行單節(jié)點(diǎn)信息描述,生成一系列.snd格式的模型文件;
4)根據(jù)系統(tǒng)層次結(jié)構(gòu)劃分和系統(tǒng)接口協(xié)議規(guī)定,歸納整理出系統(tǒng)存在交互關(guān)系的兩兩節(jié)點(diǎn)間的交互信息,按照節(jié)點(diǎn)間交互信息描述格式要求,進(jìn)行節(jié)點(diǎn)間交互信息的描述,生成單個(gè).nsi格式的模型文件;
5)根據(jù)系統(tǒng)層次結(jié)構(gòu)幾何模型及系統(tǒng)協(xié)同交互關(guān)系,進(jìn)行系統(tǒng)交互邏輯建模,創(chuàng)建系統(tǒng)交互邏輯線框圖;
6)結(jié)合實(shí)際任務(wù)工作流程和協(xié)同交互邏輯,從系統(tǒng)交互邏輯線框圖中抽取出系統(tǒng)交互邏輯序列;
7)按照系統(tǒng)交互邏輯層描述格式要求,逐一對(duì)交互序列進(jìn)行建模描述,生成單個(gè).sis格式的模型文件。
信息系統(tǒng)狀態(tài)監(jiān)測模型建立流程如圖7所示。
圖7 系統(tǒng)狀態(tài)監(jiān)測建模流程
為實(shí)現(xiàn)系統(tǒng)交互序列監(jiān)測高效、并發(fā)地執(zhí)行,程序采用了線程池處理機(jī)制。線程池是一種多線程任務(wù)處理的常用方式,線程池在系統(tǒng)啟動(dòng)時(shí)創(chuàng)建,初始化后所有線程均處于空閑狀態(tài)。處理過程中將序列監(jiān)測任務(wù)添加到隊(duì)列,然后在創(chuàng)建線程后自動(dòng)啟動(dòng)隊(duì)列中的任務(wù),線程池中的線程都是后臺(tái)線程,由系統(tǒng)進(jìn)行統(tǒng)一管理[15-17]。
為提高系統(tǒng)交互序列的加載和匹配的效率,降低系統(tǒng)資源消耗,在系統(tǒng)初始化時(shí),后臺(tái)同步加載系統(tǒng)狀態(tài)監(jiān)測模型文件(包括*.snd、*.nsi、*.sis),并在內(nèi)存中動(dòng)態(tài)構(gòu)建各層元素對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)。模型元素?cái)?shù)據(jù)結(jié)構(gòu)構(gòu)建流程如圖8所示。
圖8 模型加載及元素?cái)?shù)據(jù)結(jié)構(gòu)動(dòng)態(tài)構(gòu)建流程圖
通過訂閱方式實(shí)時(shí)接收一體化網(wǎng)絡(luò)報(bào)文信息,按照信息系統(tǒng)接口協(xié)議對(duì)接收的報(bào)文進(jìn)行解析,判定該報(bào)文的信源和信宿,在模型的內(nèi)存數(shù)據(jù)結(jié)構(gòu)中查找與該報(bào)文信息有關(guān)、符合條件的所有交互序列,并依次添加到線程池任務(wù)隊(duì)列中,由線程池加載啟用這些交互序列。
每接收到一條報(bào)文信息,系統(tǒng)會(huì)將信息與線程池交互序列中所有等待下一步將要執(zhí)行步驟中包含的信息進(jìn)行匹配,若線程中存在與之匹配的序列步驟,則按照該序列的執(zhí)行順序向下執(zhí)行一步,更新序列當(dāng)前執(zhí)行標(biāo)記;若不存在匹配序列步驟則當(dāng)前序列執(zhí)行線程掛起,當(dāng)前序列執(zhí)行標(biāo)記保持不變。
若一個(gè)交互序列中所有步驟都已執(zhí)行完畢,則將該任務(wù)從隊(duì)列中移除,并將線程資源交還給線程池管理。
系統(tǒng)交互序列的加載執(zhí)行流程如圖9所示。
圖9 系統(tǒng)交互序列的加載執(zhí)行流程圖
每條交互序列都代表系統(tǒng)設(shè)備間的實(shí)際交互邏輯,序列中每個(gè)步驟都代表兩設(shè)備間的一種或多種交互數(shù)據(jù),通過實(shí)時(shí)接收網(wǎng)絡(luò)報(bào)文數(shù)據(jù),匹配系統(tǒng)交互監(jiān)測模型,可實(shí)現(xiàn)系統(tǒng)交互邏輯正確性,報(bào)文數(shù)據(jù)合規(guī)性、完整性、正確性、報(bào)文丟包、超時(shí)等內(nèi)容檢測。
單節(jié)點(diǎn)工作狀態(tài)信息作為系統(tǒng)交互邏輯正確性判定的重要參考條件,若節(jié)點(diǎn)工作狀態(tài)異常,則與該節(jié)點(diǎn)相關(guān)的交互邏輯中的后續(xù)序列全部判定為異常,交互序列終止。
從一體化網(wǎng)絡(luò)獲取時(shí)統(tǒng)信息,根據(jù)當(dāng)前報(bào)文的發(fā)送時(shí)戳和系統(tǒng)時(shí)間,結(jié)合模型中描述的各信息的發(fā)送時(shí)機(jī)(周期發(fā)送時(shí)的周期值)、超時(shí)時(shí)間,綜合判定報(bào)文是否發(fā)生丟包或超時(shí)。
系統(tǒng)設(shè)備間交互邏輯正確性檢查是通過報(bào)文接收次序,匹配對(duì)應(yīng)的系統(tǒng)交互序列后,通過綜合判定實(shí)現(xiàn)的。若一條序列正確執(zhí)行至結(jié)束,則表示該序列代表的交互邏輯正常;當(dāng)序列中某一步驟不能正確執(zhí)行,可斷定該步驟包含的報(bào)文在規(guī)定時(shí)間內(nèi)未接送達(dá)(超時(shí)或丟失)或報(bào)文格式、內(nèi)容出現(xiàn)錯(cuò)誤,判定該序列代表的協(xié)同交互邏輯異常。
以圖4所示的系統(tǒng)交互邏輯線框圖代表的系統(tǒng)交互邏輯為例,抽象出系統(tǒng)的交互序列如圖5所示,根據(jù)接收?qǐng)?bào)文的內(nèi)容,加載執(zhí)行相應(yīng)的交互序列,完成系統(tǒng)交互邏輯監(jiān)測。系統(tǒng)交互邏輯監(jiān)測示例如圖10所示。
圖10 系統(tǒng)交互邏輯監(jiān)測示例
當(dāng)系統(tǒng)出現(xiàn)異常時(shí),依據(jù)信息系統(tǒng)物理結(jié)構(gòu)層次關(guān)系、通道信息流向關(guān)系[17-18]及遂行任務(wù)中對(duì)探測器材、武器裝備等設(shè)備的需求和調(diào)度情況,參考信息系統(tǒng)故障模式、影響及危害性分析(FMECA)等內(nèi)容,建立信息系統(tǒng)故障影響評(píng)價(jià)多分支串聯(lián)組合模型,當(dāng)系統(tǒng)中某一設(shè)備出現(xiàn)故障時(shí),通過該模型可追蹤、分析和評(píng)價(jià)該故障對(duì)此次任務(wù)執(zhí)行產(chǎn)生的影響。
故障影響主要參考遂行任務(wù)通道中包含的設(shè)備及任務(wù)信息流向,綜合判斷前置設(shè)備故障對(duì)此次任務(wù)及相關(guān)設(shè)備的影響。
故障原因分析主要是給出系統(tǒng)當(dāng)前故障模式對(duì)應(yīng)可能的故障原因選項(xiàng),并給出各故障原因的可能概率。
故障影響和原因分析,僅供艦艇指揮員在指揮決策及艇員完成系統(tǒng)故障快速排查定位時(shí)參考。
通過模擬仿真注入的方式,在實(shí)驗(yàn)室搭建模擬仿真環(huán)境[18-19]下對(duì)該監(jiān)測系統(tǒng)進(jìn)行了驗(yàn)證。具體驗(yàn)證方法及步驟如下:
1)監(jiān)測系統(tǒng)接入信息系統(tǒng)網(wǎng)絡(luò),信息系統(tǒng)依照通信協(xié)議、數(shù)據(jù)流量大小、協(xié)同工作流程等內(nèi)容,向監(jiān)測系統(tǒng)注入數(shù)據(jù)激勵(lì)。驗(yàn)證時(shí)共模擬注入數(shù)據(jù)激勵(lì)類型210種、數(shù)據(jù)發(fā)送最小周期為20 ms,每秒發(fā)送數(shù)據(jù)200條,數(shù)據(jù)流量約為3 MB/s,信息交互流程30個(gè),連續(xù)發(fā)送數(shù)據(jù)10天,累計(jì)注入數(shù)據(jù)總數(shù)172 800 000條,故障和正常數(shù)據(jù)交替注入。
2)通過DDS方式,實(shí)時(shí)訂閱網(wǎng)絡(luò)數(shù)據(jù)并存儲(chǔ),依據(jù)裝備信息系統(tǒng)狀態(tài)監(jiān)測模型對(duì)信息系統(tǒng)的運(yùn)行狀態(tài),特別是對(duì)數(shù)據(jù)格式合規(guī)性、內(nèi)容有效性、交互時(shí)序流程正確性等方面進(jìn)行監(jiān)測。
3)通過軟件模擬數(shù)據(jù)故障、流程故障并注入,共模擬故障100個(gè),檢測監(jiān)測系統(tǒng)能否監(jiān)測出故障并進(jìn)行告警提示,給出故障定位和原因分析。
步驟4:對(duì)試驗(yàn)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,結(jié)果見表1所示。
表1 試驗(yàn)結(jié)果統(tǒng)計(jì)分析
通過數(shù)據(jù)統(tǒng)計(jì)分析,驗(yàn)證了系統(tǒng)雙冗余網(wǎng)絡(luò)切換時(shí)間、數(shù)據(jù)采集丟包率、數(shù)據(jù)連續(xù)記錄時(shí)間、數(shù)據(jù)記錄正確率、異常報(bào)警提示正確率、故障檢測正確率等指標(biāo)符合設(shè)計(jì)要求。后期,在信息系統(tǒng)聯(lián)調(diào)、陸試、系泊試驗(yàn)等環(huán)境下,通過接入實(shí)裝系統(tǒng)網(wǎng)絡(luò)環(huán)境,對(duì)監(jiān)測系統(tǒng)進(jìn)行了再次驗(yàn)證,結(jié)果同樣符合要求。
本文從信息系統(tǒng)的組成與層次劃分、分層建模的方法、系統(tǒng)建模步驟、系統(tǒng)實(shí)時(shí)狀態(tài)監(jiān)測的實(shí)現(xiàn)等方面出發(fā),對(duì)基于交互規(guī)則建模的信息系統(tǒng)實(shí)時(shí)狀態(tài)監(jiān)測技術(shù)進(jìn)行了研究,該方法具有較強(qiáng)的通用性和可擴(kuò)展性,能夠適應(yīng)信息系統(tǒng)交互流程和接口協(xié)議的頻繁變化,只需簡單更新對(duì)應(yīng)的模型,即可擴(kuò)展和滿足新的系統(tǒng)狀態(tài)監(jiān)測需要。
本文中提出的基于關(guān)聯(lián)交互規(guī)則建模方法,屬于應(yīng)用層建模描述方法,不局限在一體化網(wǎng)絡(luò)中應(yīng)用,其他型號(hào)中的點(diǎn)對(duì)點(diǎn)、組播/廣播網(wǎng)絡(luò)通信、串口或1553B等總線通信[20]中均可參考應(yīng)用,適用性強(qiáng)、應(yīng)用范圍廣。
后續(xù)將加快研究,開發(fā)出系列輔助工具軟件,用于實(shí)現(xiàn)建模描述、數(shù)據(jù)轉(zhuǎn)換、模型文件生成的自動(dòng)化,減少人工工作量,進(jìn)一步提高建模的工作效率。