飛行控制總線數(shù)據(jù)網(wǎng)絡(luò)化處理軟件設(shè)計(jì)
摘要:為了解決飛行控制總線數(shù)據(jù)處理效率低和多課題同一時(shí)間完成參數(shù)數(shù)據(jù)處理難的難題,在數(shù)據(jù)處理方法上提出新思路,以飛行試驗(yàn)數(shù)據(jù)處理系統(tǒng)為平臺(tái),采用分布式中間件技術(shù),設(shè)計(jì)了飛行控制總線數(shù)據(jù)網(wǎng)絡(luò)化處理軟件,實(shí)現(xiàn)飛行控制總線數(shù)據(jù)的并發(fā)處理和數(shù)據(jù)分發(fā)。重點(diǎn)介紹了軟件的體系結(jié)構(gòu)、功能模塊、算法設(shè)計(jì),目前該網(wǎng)絡(luò)化軟件已經(jīng)應(yīng)用于多個(gè)型號(hào)的數(shù)據(jù)處理當(dāng)中,處理效率滿足飛行試驗(yàn)數(shù)據(jù)處理的需求。飛行控制總線網(wǎng)絡(luò)化數(shù)據(jù)處理方法為隨后的1553b總線數(shù)據(jù)網(wǎng)絡(luò)化,F(xiàn)C總線數(shù)據(jù)網(wǎng)絡(luò)化提供了技術(shù)參考。
關(guān)鍵詞:飛行控制總線數(shù)據(jù);網(wǎng)絡(luò)化處理;軟件設(shè)計(jì);分布式中間件技術(shù)
0 引言
FCS(Flight Control System)是現(xiàn)代電傳飛機(jī)所具備的自動(dòng)化飛行控制系統(tǒng)。它所依賴的用于傳遞飛行控制信息的通訊總線,稱之為飛行控制總線。FCS總線數(shù)據(jù)指的是飛控系統(tǒng)工作的完整數(shù)據(jù)信息,稱為百分之百的飛控?cái)?shù)據(jù)信息,簡(jiǎn)稱100%FCS數(shù)據(jù)信息。
隨著我國航空技術(shù)的飛速發(fā)展,在飛行試驗(yàn)中不僅總線數(shù)據(jù)的采集方式發(fā)生著改變,而且試飛參數(shù)個(gè)數(shù)急劇增加(從原來的幾十到現(xiàn)在成千上萬),數(shù)據(jù)量從幾個(gè)GB到上百GB成指數(shù)增加,及各課題參數(shù)處理要求多樣,伴隨著我院試飛工作的全面開展,后續(xù)型號(hào)任務(wù)的增多,處理人員的短缺等現(xiàn)狀。
目前,飛行控制總線數(shù)據(jù)處理模式采用單機(jī)處理,多課題第一時(shí)間同時(shí)需要數(shù)據(jù)時(shí),單機(jī)處理不能滿足處理需求;當(dāng)課題需要變更參數(shù)時(shí),必須經(jīng)過“編寫文檔→領(lǐng)導(dǎo)簽字→提交文檔”方可進(jìn)行處理。針對(duì)以上的現(xiàn)狀和問題,設(shè)計(jì)了飛行控制總線數(shù)據(jù)網(wǎng)絡(luò)化處理軟件。在C /S、B/S多層體系架構(gòu)的飛行試驗(yàn)數(shù)據(jù)處理系統(tǒng)下,通過接收客戶端選擇的參數(shù)信息、時(shí)間段信息和數(shù)據(jù)信息,調(diào)用該網(wǎng)絡(luò)化處理軟件進(jìn)行處理,在服務(wù)器端運(yùn)行處理數(shù)據(jù)并回傳結(jié)果數(shù)據(jù)給客戶端,解決了單機(jī)版處理效率低和多課題參數(shù)處理難的問題。
1 軟件運(yùn)行結(jié)構(gòu)圖
以飛行試驗(yàn)數(shù)據(jù)處理系統(tǒng)為平臺(tái),利用分布式網(wǎng)絡(luò)計(jì)算技術(shù),以100%FCS中間件的形式進(jìn)行數(shù)據(jù)處理??梢詾g覽、查詢和下載相關(guān)數(shù)據(jù)信息,根據(jù)自己的需要,定義所要處理的參數(shù)、時(shí)間段等信息,實(shí)現(xiàn)海量試飛數(shù)據(jù)的快速處理,并可以利用系統(tǒng)提供的各種數(shù)據(jù)分析工具,實(shí)現(xiàn)數(shù)據(jù)報(bào)告輸出和數(shù)據(jù)分析計(jì)算,解決了面向多用戶數(shù)據(jù)處理、數(shù)據(jù)共享難題。分布式網(wǎng)絡(luò)計(jì)算實(shí)現(xiàn)機(jī)制。用戶通過瀏覽器實(shí)現(xiàn)數(shù)據(jù)處理服務(wù)請(qǐng)求的準(zhǔn)備,服務(wù)器接到服務(wù)請(qǐng)求后,啟動(dòng)數(shù)據(jù)庫系統(tǒng)中的100% FCS中間件接口軟件,利用存儲(chǔ)在陣列的試飛數(shù)據(jù)文件,完成用戶的服務(wù)計(jì)算請(qǐng)求,然后將結(jié)果返回給數(shù)據(jù)處理系統(tǒng)。運(yùn)行結(jié)構(gòu)圖如圖1所示。
2 軟件設(shè)計(jì)
2.1 軟件設(shè)計(jì)結(jié)構(gòu)框圖
該軟件采用模塊化設(shè)計(jì)思路,主要由接口解析模塊,參數(shù)校線解析模塊,原始數(shù)據(jù)塊整理模塊和數(shù)據(jù)解析模塊4個(gè)模塊進(jìn)行數(shù)據(jù)的處理。其軟件的結(jié)構(gòu)框圖如圖2所示。
通過客戶端自主生成的接口信息文件,服務(wù)端通過解析接口信息,獲取處理軟件要處理的參數(shù)名稱、個(gè)數(shù),參數(shù)類型,時(shí)間段信息以及數(shù)據(jù)文件、校線文件、結(jié)果文件等的信息。
(1)參數(shù)校線解析模塊
對(duì)100%FCS校線文件進(jìn)行分析,獲取不同的表號(hào)的參數(shù)信息,包括參數(shù)名稱,參數(shù)類型,參數(shù)校線等信息進(jìn)行分類存儲(chǔ),完成校線文件的解析,為參數(shù)數(shù)據(jù)的提取作好準(zhǔn)備。
(2)原始數(shù)據(jù)塊整理模塊
根據(jù)100%FCS參數(shù)輸出數(shù)據(jù)格式的特點(diǎn),對(duì)原始數(shù)據(jù)進(jìn)行整理,讀取一幀數(shù)據(jù),如果接收到的FCS數(shù)據(jù)塊個(gè)數(shù)超過了定義的完整FCS數(shù)據(jù)塊個(gè)數(shù),那么就將這個(gè)數(shù)據(jù)塊丟掉;如果接收到的FCS數(shù)據(jù)塊個(gè)數(shù)等于定義的完整FCS數(shù)據(jù)塊個(gè)數(shù),那么就進(jìn)行下面的數(shù)據(jù)解析模塊處理;如果接收到的FCS數(shù)據(jù)塊個(gè)數(shù)小于定義的完整FCS數(shù)據(jù)塊個(gè)數(shù)時(shí),需要考慮續(xù)接數(shù)據(jù)問題。
(3)數(shù)據(jù)解析模塊
通過原始數(shù)據(jù)塊整理模塊取得完整的FCS數(shù)據(jù)塊結(jié)合校線解析模塊對(duì)每塊數(shù)據(jù)進(jìn)行添加校線,然后結(jié)合接口解析模塊中的參數(shù)名進(jìn)行數(shù)據(jù)解析,根據(jù)飛行試驗(yàn)數(shù)據(jù)處理系統(tǒng)接口輸出文件格式要求,所有輸出信息文件在服務(wù)器上存儲(chǔ)在用戶之前已經(jīng)建立的任務(wù)單號(hào)文件夾內(nèi),計(jì)算結(jié)束后,返回給客戶端和服務(wù)器上存儲(chǔ)的任務(wù)單號(hào)相同的文件夾,用戶通過點(diǎn)擊系統(tǒng)界面下的輸出報(bào)告輸出相應(yīng)的文本文件,碼值文件。
2.2 軟件設(shè)計(jì)總流程圖
100%FCS總線數(shù)據(jù)網(wǎng)絡(luò)化軟件設(shè)計(jì)針對(duì)新型飛控?cái)?shù)據(jù)采集器的特點(diǎn),結(jié)合飛行試驗(yàn)數(shù)據(jù)處理系統(tǒng)軟件的調(diào)用接口協(xié)議,應(yīng)用分布式中間件技術(shù)編寫了基于Web下的100%FCS總線數(shù)據(jù)網(wǎng)絡(luò)化接口軟件,為所有需要100% FCS總線數(shù)據(jù)處理的型號(hào)進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)處理打下堅(jiān)實(shí)的基礎(chǔ)。如圖3所示。
3 分布式中間技術(shù)
分布式中間件是存儲(chǔ)在計(jì)算服務(wù)器的應(yīng)用程序,用戶發(fā)出分布式計(jì)算請(qǐng)求后,由服務(wù)器軟件啟動(dòng)分布式計(jì)算,完成用戶的數(shù)據(jù)處理任務(wù)。
分布式中間件與用戶應(yīng)用端的分布式計(jì)算監(jiān)控ActiveX控件之間需要進(jìn)行信息通信,監(jiān)控計(jì)算過程的狀態(tài)。
針對(duì)非結(jié)構(gòu)化的100% FCS試飛數(shù)據(jù),將100%FCS數(shù)據(jù)處理軟件以分布式中間件形式嵌入到試飛數(shù)據(jù)處理系統(tǒng)中,借助該系統(tǒng),利用分布式中間件技術(shù),通過和數(shù)據(jù)處理系統(tǒng)之間協(xié)調(diào)通信,軟件快速地進(jìn)行數(shù)據(jù)處理,并準(zhǔn)確的將結(jié)果信息返回給數(shù)據(jù)處理系統(tǒng),見圖4。
(1)客戶端ActiveX根據(jù)調(diào)度服務(wù)器列表中的IP及端口號(hào)循環(huán)嘗試建立Socket通信,發(fā)出計(jì)算請(qǐng)求;
(2)客戶端ActiveX與調(diào)度服務(wù)器建立連接后,調(diào)度服務(wù)器經(jīng)過負(fù)載均衡計(jì)算,返回給客戶端ActiveX一個(gè)計(jì)算服務(wù)器的IP及端口號(hào);
(3)客戶端ActiveX與計(jì)算服務(wù)器建立Socket連接;
(4)客戶端ActiveX發(fā)出執(zhí)行計(jì)算命令;
(5)計(jì)算服務(wù)器接收到計(jì)算命令后,啟動(dòng)確定的分布式中間件執(zhí)行分布式計(jì)算任務(wù),并將狀態(tài)信息輸出到控制臺(tái),計(jì)算服務(wù)器中的狀態(tài)監(jiān)控程序用管道技術(shù)將分布式中間件的輸出作為自己的輸入,并通過Socket方式返回給客戶端ActiveX;
(6)客戶端ActiveX接收任務(wù)執(zhí)行的狀態(tài)信息,顯示給用戶;
(7)當(dāng)分布式中間件執(zhí)行完畢,計(jì)算服務(wù)器中的狀態(tài)監(jiān)控程序?qū)⒆詈蟮慕Y(jié)果文件通過Socket傳給客戶端ActiveX;
(8)客戶端ActiveX控件將文件保存至客戶端,分布式計(jì)算結(jié)束。
4 使用情況
通過上述的軟件流程圖,在此設(shè)計(jì)了飛控網(wǎng)絡(luò)化數(shù)據(jù)處理軟件,實(shí)現(xiàn)了非結(jié)構(gòu)化的飛行控制總線數(shù)據(jù)網(wǎng)絡(luò)化處理,有效解決了處理人員緊缺、數(shù)據(jù)處理效率低的問題。圖5為某型號(hào)100% FCS原始數(shù)據(jù)截取圖。圖6為調(diào)用100%FCS網(wǎng)絡(luò)化數(shù)據(jù)處理軟件處理圖4數(shù)據(jù)的結(jié)果文件。
5 結(jié)語
100%FCS總線數(shù)據(jù)處理軟件在科研飛機(jī)試飛數(shù)據(jù)處理中有著舉足輕重的作用。本次通過飛行試驗(yàn)數(shù)據(jù)處理系統(tǒng)平臺(tái)實(shí)現(xiàn)了100%FCS總線數(shù)據(jù)網(wǎng)絡(luò)化處理,大大地提高數(shù)據(jù)處理效率。目前該網(wǎng)絡(luò)化軟件已經(jīng)應(yīng)用于多個(gè)型號(hào)的數(shù)據(jù)處理當(dāng)中,數(shù)據(jù)處理速度完全能夠滿足我院“數(shù)據(jù)處理不過夜”的要求,數(shù)據(jù)處理結(jié)果已經(jīng)成為試飛工程師排除系統(tǒng)故障的重要依據(jù),為型號(hào)試飛的順利進(jìn)行提供了可靠的數(shù)據(jù)。