徐 麗 厲 力 馬尉鵬 俞 達(dá) 王丹
(北京宇航系統(tǒng)工程研究所,中國(guó) 北京 100076)
在設(shè)計(jì)長(zhǎng)期加電工程項(xiàng)目的測(cè)試系統(tǒng)時(shí),要求長(zhǎng)期加電測(cè)試期間由操作人員進(jìn)行遠(yuǎn)程控制,完成數(shù)據(jù)的實(shí)時(shí)監(jiān)測(cè)、數(shù)據(jù)處理、故障預(yù)警及事后數(shù)據(jù)處理分析與判讀,為此數(shù)據(jù)處理系統(tǒng)需處于持續(xù)工作狀態(tài)。
長(zhǎng)期加電過(guò)程中會(huì)產(chǎn)生大量數(shù)據(jù),其中重要的測(cè)試數(shù)據(jù)需存儲(chǔ)在數(shù)據(jù)庫(kù)中。以往數(shù)據(jù)處理系統(tǒng)的設(shè)計(jì)多基于Intel芯片、Windows系統(tǒng)及Oracle數(shù)據(jù)庫(kù)。本項(xiàng)目采用基于龍芯CPU的計(jì)算機(jī),使用Linux操作系統(tǒng)以及達(dá)夢(mèng)數(shù)據(jù)庫(kù)。使用雙機(jī)熱備方式進(jìn)行數(shù)據(jù)接收、處理、存儲(chǔ)、監(jiān)測(cè)、分析和預(yù)警。除常規(guī)測(cè)試的數(shù)據(jù)處理、分析與判讀功能外,還具備長(zhǎng)期連續(xù)加電的智能監(jiān)測(cè)與預(yù)警能力。對(duì)應(yīng)處理與監(jiān)控不同信息來(lái)源的狀態(tài)和數(shù)據(jù),可實(shí)現(xiàn)軟件模塊間的無(wú)縫切換。
數(shù)據(jù)處理系統(tǒng)主要用于對(duì)整個(gè)測(cè)試系統(tǒng)中的重要參數(shù)、指令等進(jìn)行接收處理、保存,從而全面掌握系統(tǒng)狀態(tài),并進(jìn)行故障預(yù)警及記錄?;趪?guó)產(chǎn)計(jì)算機(jī)芯片的數(shù)據(jù)處理系統(tǒng)根據(jù)功能要求,主要由四個(gè)軟件模塊實(shí)現(xiàn),分別為:數(shù)據(jù)實(shí)時(shí)處理軟件、數(shù)據(jù)存儲(chǔ)及管理軟件、數(shù)據(jù)分析及判讀軟件、智能監(jiān)測(cè)及診斷軟件。
數(shù)據(jù)處理系統(tǒng)中的數(shù)據(jù)處理、監(jiān)測(cè)、存儲(chǔ)等功能由各軟件功能模塊組合完成,各軟件模塊間的主要數(shù)據(jù)交互有:
1)數(shù)據(jù)存儲(chǔ)及管理軟件接收數(shù)據(jù)實(shí)時(shí)處理軟件發(fā)送的數(shù)據(jù)處理結(jié)果并保存;
2)智能監(jiān)測(cè)及診斷軟件接收數(shù)據(jù)實(shí)時(shí)處理軟件組播的數(shù)據(jù)處理結(jié)果并進(jìn)行監(jiān)測(cè);
3)數(shù)據(jù)分析及判讀軟件讀取數(shù)據(jù)存儲(chǔ)及管理軟件數(shù)據(jù)庫(kù)中的數(shù)據(jù)處理結(jié)果與指令信息,進(jìn)行判讀分析。
各軟件模塊間的接口關(guān)系如圖1所示。
圖1 數(shù)據(jù)處理系統(tǒng)軟件模塊接口關(guān)系
1)數(shù)據(jù)存儲(chǔ)及管理軟件對(duì)外接口
數(shù)據(jù)存儲(chǔ)及管理軟件可同時(shí)接收外部多個(gè)設(shè)備采集發(fā)送的參數(shù)信息并進(jìn)行存儲(chǔ),接收數(shù)據(jù)實(shí)時(shí)處理軟件數(shù)據(jù)處理結(jié)果。
2)數(shù)據(jù)實(shí)時(shí)處理軟件的外部接口
測(cè)量數(shù)據(jù)實(shí)時(shí)處理軟件與外系統(tǒng)的數(shù)據(jù)交互主要包括:接收外部測(cè)控軟件控制指令、接收外部設(shè)備組播發(fā)送的數(shù)據(jù)幀。另外還具有數(shù)據(jù)挑路轉(zhuǎn)發(fā)功能,將特殊數(shù)據(jù)挑路并發(fā)送給特定的設(shè)備進(jìn)行處理。
數(shù)據(jù)存儲(chǔ)及管理軟件與外系統(tǒng)的接口如圖2所示。
圖2 數(shù)據(jù)存儲(chǔ)及管理軟件對(duì)外接口圖
測(cè)量數(shù)據(jù)實(shí)時(shí)處理軟件的對(duì)外接口關(guān)系圖見(jiàn)圖3。
圖3 測(cè)量數(shù)據(jù)實(shí)時(shí)處理軟件對(duì)外接口關(guān)系圖
測(cè)試系統(tǒng)長(zhǎng)期加電狀態(tài)下,會(huì)持續(xù)產(chǎn)生大量數(shù)據(jù),其中重要的測(cè)試數(shù)據(jù),包括測(cè)量數(shù)據(jù)、控制信息等均會(huì)集中存儲(chǔ)在數(shù)據(jù)庫(kù)中。由于測(cè)試系統(tǒng)產(chǎn)生的數(shù)據(jù)頻率高、容量大,造成實(shí)時(shí)處理軟件無(wú)法將數(shù)據(jù)直接實(shí)時(shí)存入數(shù)據(jù)庫(kù)中,通過(guò)運(yùn)行在數(shù)據(jù)庫(kù)服務(wù)器上的存儲(chǔ)軟件,先將數(shù)據(jù)處理軟件組播的參數(shù)處理結(jié)果進(jìn)行緩沖,然后定時(shí)批量導(dǎo)入數(shù)據(jù)庫(kù),達(dá)到減少數(shù)據(jù)庫(kù)接口的調(diào)用次數(shù),提高存儲(chǔ)效率的效果。
數(shù)據(jù)存儲(chǔ)及管理軟件運(yùn)行在麒麟Linux操作系統(tǒng)的服務(wù)器上,為提高系統(tǒng)可靠性,操作系統(tǒng)不啟動(dòng)圖形界面,軟件采用后臺(tái)服務(wù)方式運(yùn)行,數(shù)據(jù)接收、存儲(chǔ)等信息通過(guò)配置文件進(jìn)行配置。
軟件分為數(shù)據(jù)存儲(chǔ)與數(shù)據(jù)庫(kù)管理兩部分,數(shù)據(jù)存儲(chǔ)部分運(yùn)行在數(shù)據(jù)服務(wù)器上,為測(cè)試系統(tǒng)實(shí)時(shí)數(shù)據(jù)處理提供達(dá)夢(mèng)數(shù)據(jù)庫(kù)存儲(chǔ)接口,數(shù)據(jù)庫(kù)管理部分為客戶端/服務(wù)器模式,可以運(yùn)行在任意Linux圖形客戶端,通過(guò)網(wǎng)絡(luò)連接到數(shù)據(jù)庫(kù)服務(wù)器并進(jìn)行管理。
數(shù)據(jù)存儲(chǔ)及管理軟件通過(guò)FTP獲取測(cè)試參數(shù)配置XML文件,保存了數(shù)據(jù)傳輸?shù)膮f(xié)議及參數(shù)配置信息,可接收各測(cè)試設(shè)備發(fā)送的數(shù)據(jù)信息并進(jìn)行存儲(chǔ)。
為解決長(zhǎng)期加電測(cè)試狀態(tài)下系統(tǒng)監(jiān)測(cè)問(wèn)題,需要通過(guò)智能監(jiān)測(cè)及診斷軟件實(shí)時(shí)接收各測(cè)試設(shè)備產(chǎn)生的數(shù)據(jù)信息,通過(guò)數(shù)據(jù)解析、參數(shù)監(jiān)測(cè)、故障報(bào)警等功能對(duì)采集的數(shù)據(jù)進(jìn)行處理分析,并將異常狀態(tài)信息進(jìn)行記錄,統(tǒng)一監(jiān)測(cè)系統(tǒng)的安全狀況和工作狀態(tài)。
智能監(jiān)測(cè)及診斷模塊還提供對(duì)故障模式的分析功能,可針對(duì)多個(gè)參數(shù)狀態(tài)的不同組合預(yù)先定義多種故障模式,軟件在運(yùn)行過(guò)程中,根據(jù)不同的故障模式對(duì)當(dāng)前參數(shù)的狀態(tài)進(jìn)行分析,如滿足故障模式條件,則進(jìn)行預(yù)警及記錄,也可以通過(guò)預(yù)先設(shè)定方式直接向測(cè)控系統(tǒng)設(shè)備發(fā)送控制指令,達(dá)到智能監(jiān)測(cè)的目的。
智能監(jiān)測(cè)及診斷軟件需要監(jiān)測(cè)的參數(shù)眾多,無(wú)法在界面上展現(xiàn)全部的參數(shù),可以通過(guò)配置文件定義的方式根據(jù)需要加載顯示不同的參數(shù),達(dá)到界面元素參數(shù)組態(tài)可配置的效果。
數(shù)據(jù)實(shí)時(shí)處理軟件需完成多類數(shù)據(jù)的處理及數(shù)據(jù)發(fā)送功能,根據(jù)功能要求軟件可劃分為多個(gè)小模塊,功能模塊結(jié)構(gòu)如圖4所示。
圖4 測(cè)量數(shù)據(jù)實(shí)時(shí)處理軟件功能結(jié)構(gòu)圖
數(shù)據(jù)實(shí)時(shí)處理軟件是數(shù)據(jù)處理系統(tǒng)的關(guān)鍵,主要功能是對(duì)系統(tǒng)接收到的各類參數(shù)進(jìn)行實(shí)時(shí)處理,并將數(shù)據(jù)處理結(jié)果以組播方式發(fā)送到網(wǎng)絡(luò),供智能監(jiān)測(cè)及診斷軟件和數(shù)據(jù)存儲(chǔ)及管理軟件使用。
數(shù)據(jù)實(shí)時(shí)處理軟件模塊運(yùn)行狀態(tài)中對(duì)人機(jī)交互功能要求不高,為提高軟件可靠性,操作系統(tǒng)可在非圖形化的基本模式運(yùn)行,軟件所需要的參數(shù)配置文件可通過(guò)FTP從服務(wù)器獲取,軟件提供遠(yuǎn)程控制功能,可通過(guò)測(cè)控軟件進(jìn)行控制。
數(shù)據(jù)處理系統(tǒng)中多個(gè)軟件將測(cè)試數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,數(shù)據(jù)分析及判讀軟件為存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)提供統(tǒng)一的瀏覽界面,通過(guò)客戶端/服務(wù)器模式提供對(duì)數(shù)據(jù)庫(kù)中測(cè)量參數(shù)結(jié)果的瀏覽、查詢、分析功能。數(shù)據(jù)庫(kù)中需要通過(guò)數(shù)據(jù)分析及判讀軟件查看的數(shù)據(jù)包括:各設(shè)備發(fā)送的參數(shù)信息與控制指令數(shù)據(jù)。
數(shù)據(jù)分析及判讀軟件使用數(shù)據(jù)存儲(chǔ)及管理軟件的數(shù)據(jù)庫(kù)結(jié)構(gòu),讀取數(shù)據(jù)存儲(chǔ)及管理軟件在數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)處理結(jié)果。
數(shù)據(jù)處理系統(tǒng)方案采用基于龍芯CPU架構(gòu)的計(jì)算機(jī)為硬件環(huán)境,系統(tǒng)軟件采用Linux操作系統(tǒng)和達(dá)夢(mèng)數(shù)據(jù)庫(kù),首次開(kāi)展基于國(guó)產(chǎn)計(jì)算機(jī)芯片及操作系統(tǒng)、數(shù)據(jù)庫(kù)的應(yīng)用研究,并應(yīng)用國(guó)產(chǎn)化的軟硬件運(yùn)行環(huán)境進(jìn)行測(cè)量系統(tǒng)數(shù)據(jù)處理軟件設(shè)計(jì),實(shí)現(xiàn)高可靠的數(shù)據(jù)處理。
數(shù)據(jù)處理系統(tǒng)采用優(yōu)化的數(shù)據(jù)處理流程和內(nèi)存管理方案,可滿足長(zhǎng)時(shí)間持續(xù)實(shí)時(shí)監(jiān)測(cè)、數(shù)據(jù)存儲(chǔ)及故障預(yù)警。對(duì)應(yīng)處理與監(jiān)控不同信息來(lái)源的狀態(tài)和數(shù)據(jù),可實(shí)現(xiàn)監(jiān)測(cè)狀態(tài)無(wú)縫切換,有效的實(shí)現(xiàn)了遠(yuǎn)程控制的工作模式。
本數(shù)據(jù)處理系統(tǒng)已在測(cè)試系統(tǒng)試驗(yàn)中得到了驗(yàn)證,為后續(xù)測(cè)試系統(tǒng)長(zhǎng)時(shí)間加電狀態(tài)下實(shí)時(shí)監(jiān)測(cè)及數(shù)據(jù)處理系統(tǒng)的設(shè)計(jì)奠定了堅(jiān)實(shí)基礎(chǔ),其軟硬件架構(gòu)可推廣應(yīng)用于長(zhǎng)期加電要求的測(cè)試數(shù)據(jù)處理設(shè)計(jì)。