劉威 李楊
摘 要: 為了解決當(dāng)前1553B數(shù)據(jù)處理單機(jī)軟件制約海量數(shù)據(jù)情況下多課題并行處理效率的現(xiàn)狀,在此采用基于Web的分布式中間件技術(shù),將1553B數(shù)據(jù)處理軟件開發(fā)成基于分布式網(wǎng)絡(luò)的標(biāo)準(zhǔn)數(shù)據(jù)處理中間件。為保持參數(shù)名的惟一性,以ICD文件中的消息規(guī)范名為數(shù)據(jù)庫中的參數(shù)名稱,并且編寫了該軟件與飛行試驗(yàn)數(shù)據(jù)網(wǎng)絡(luò)處理系統(tǒng)(FTDPS)的標(biāo)準(zhǔn)數(shù)據(jù)接口文件,根據(jù)分布式中間件的調(diào)用流程設(shè)計(jì)了相應(yīng)的算法,最終實(shí)現(xiàn)100% 1553B數(shù)據(jù)的網(wǎng)絡(luò)化并行處理,極大地提高了總線數(shù)據(jù)處理效率。
關(guān)鍵詞: 1553B數(shù)據(jù); 接口文件; 分布式網(wǎng)絡(luò); 數(shù)據(jù)處理軟件
中圖分類號(hào): TN911?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2014)06?0075?03
0 引 言
目前,中航工業(yè)試飛中心開發(fā)的基于C/S,B/S架構(gòu)體系的飛行試驗(yàn)數(shù)據(jù)網(wǎng)絡(luò)處理系統(tǒng)(FTDPS)已經(jīng)解決了海量試飛數(shù)據(jù)的分布式存儲(chǔ)及計(jì)算問題[1],并在重點(diǎn)型號(hào)任務(wù)的試飛過程中發(fā)揮著重要作用。該系統(tǒng)可以處理PCM數(shù)據(jù)和FCS數(shù)據(jù)[2],1553B數(shù)據(jù)仍然采用單機(jī)版處理。隨著飛行試驗(yàn)中參試飛機(jī)飛行時(shí)間、測試參數(shù)的不斷增加,總線數(shù)據(jù)量劇增,同時(shí)試飛工程師的參數(shù)處理需求更加多樣,采用現(xiàn)行1553B數(shù)據(jù)處理方法給每位試飛工程師拷貝數(shù)據(jù)、處理數(shù)據(jù)、發(fā)送結(jié)果等過程耗時(shí)達(dá)到數(shù)小時(shí),已經(jīng)嚴(yán)重影響數(shù)據(jù)處理效率和型號(hào)試飛進(jìn)度。針對(duì)這一問題,本文開發(fā)了基于分布式網(wǎng)絡(luò)的1553B數(shù)據(jù)處理軟件,使得課題人員在FTDPS的平臺(tái)上可以根據(jù)任務(wù)所需個(gè)性化定制處理參數(shù)、處理時(shí)間段及飛行架次等課目。工程實(shí)踐表明,本軟件極大地提高飛行試驗(yàn)數(shù)據(jù)的處理效率,滿足了多用戶并行處理需求,保證了型號(hào)試飛任務(wù)進(jìn)度。
1 ORACLE數(shù)據(jù)庫設(shè)計(jì)
單機(jī)版的1553B數(shù)據(jù)處理系統(tǒng)由ICD信息數(shù)據(jù)庫[3]和處理軟件2部分組成。將1553B數(shù)據(jù)處理系統(tǒng)以分布式中間件的形式嵌入到FTDPS系統(tǒng)中,首要的工作就是在FTDPS的數(shù)據(jù)庫中設(shè)計(jì)并增加新的ICD信息的ORACLE數(shù)據(jù)庫,完成1553B數(shù)據(jù)處理系統(tǒng)數(shù)據(jù)庫的網(wǎng)絡(luò)化升級(jí),文獻(xiàn)[4]已經(jīng)將ORACLE數(shù)據(jù)庫設(shè)計(jì)完成,數(shù)據(jù)庫總體設(shè)計(jì)如圖1所示,為本文實(shí)現(xiàn)與FTDPS的輸入輸出接口工作,開發(fā)1553B數(shù)據(jù)處理中間件做好了準(zhǔn)備工作。
2 1553B數(shù)據(jù)處理中間件設(shè)計(jì)
2.1 軟件接口設(shè)計(jì)
開發(fā)FTDPS的數(shù)據(jù)處理中間件,本軟件首先應(yīng)保證總線參數(shù)名稱的一致性,其次要滿足系統(tǒng)標(biāo)準(zhǔn)的輸入輸出接口要求[5]。
2.1.1 參數(shù)名一致性
參數(shù)名稱必須能夠?qū)懭隖TDPS數(shù)據(jù)庫的TESTINSIDEPARAINFO表中,測試系統(tǒng)名稱為Mini700,測試數(shù)據(jù)屬性為1553B。參數(shù)名稱是數(shù)據(jù)庫表的主鍵,要求具有惟一性的特點(diǎn);為了方便用戶在瀏覽器端選擇要處理的參數(shù),參數(shù)命名也要符合總線參數(shù)特點(diǎn),易于用戶識(shí)別。因此在ICD文件中,選擇總線信號(hào)名的規(guī)范名稱作為數(shù)據(jù)庫中的參數(shù)名,例如A/M1IR/00?00?00,可以滿足參數(shù)名稱惟一性和易于專業(yè)人員識(shí)別的需求,如圖2所示。
2.1.2 軟件接口統(tǒng)一
作為FTDPS的中間件,標(biāo)準(zhǔn)接口有2個(gè)要求:
(1) 軟件必須為可執(zhí)行文件.exe,帶有一個(gè)命令行參數(shù),命令行參數(shù)為一個(gè)接口文件的名稱;
(2) 命令行參數(shù)所指的接口文件必須是文本文件格式。所以軟件接口統(tǒng)一的工作實(shí)質(zhì)是把原處理程序改寫為CONSOLE APPLICATION控制臺(tái)應(yīng)用程序,完成讀取圖3所示的接口文件,然后按照FTDPS的輸出格式輸出。本文以Delphi7.0為軟件開發(fā)工具[6],控制臺(tái)程序關(guān)鍵代碼如下:
2.2 系統(tǒng)調(diào)用軟件流程
1553B數(shù)據(jù)處理軟件以分布式中間件的形式嵌入到FTDPS系統(tǒng)中,按照已約定好的內(nèi)部接口和整個(gè)數(shù)據(jù)處理系統(tǒng)之間協(xié)調(diào)通信,有效快速地進(jìn)行數(shù)據(jù)處理,并準(zhǔn)確地將結(jié)果信息返回給數(shù)據(jù)處理系統(tǒng)??蛻舳擞?jì)算機(jī)需要安裝分布式計(jì)算Active控件,主要完成的功能為向系統(tǒng)發(fā)出計(jì)算請求、與1553B數(shù)據(jù)處理中間件之間進(jìn)行信息通信、監(jiān)控計(jì)算過程的狀態(tài)、接收系統(tǒng)返回的數(shù)據(jù)。FTDPS系統(tǒng)調(diào)用1553B數(shù)據(jù)處理中間件流程如下:
(1) 客戶端計(jì)算機(jī)(B端)首先向調(diào)度服務(wù)器發(fā)出數(shù)據(jù)處理申請,同時(shí)生成B端接口文件,調(diào)度服務(wù)器指定某臺(tái)分布式計(jì)算服務(wù)器進(jìn)行計(jì)算;
(2) 計(jì)算服務(wù)器調(diào)用1553B數(shù)據(jù)處理中間件,訪問存儲(chǔ)在磁盤陣列上的原始總線數(shù)據(jù)文件進(jìn)行解析計(jì)算,同時(shí)將狀態(tài)信息輸出到控制臺(tái),客戶端ActiveX控件通過接口協(xié)議捕獲并以界面的形式顯示給用戶。并輸出標(biāo)準(zhǔn)格式的文件;
(3) 計(jì)算結(jié)束后,結(jié)果文件通過Socket方式回傳到用戶客戶端的Active X控件安裝目錄下。
圖4展示了1553B數(shù)據(jù)處理中間件在FTDPS中的調(diào)用流程。圖5是客戶端ActiveX控件顯示的軟件運(yùn)行狀態(tài)示意圖。其中*.eng文件為LST工程量文件;*.cod為文本文件,用戶可以直接打開2種文件類型進(jìn)行分析。*.inf文件是FTDPS的接口文件,*.sta文件為本次計(jì)算過程的狀態(tài)文件。
2.3 軟件設(shè)計(jì)
根據(jù)FTDPS系統(tǒng)調(diào)用1553B數(shù)據(jù)處理中間件的流程,設(shè)計(jì)軟件的算法如下:
(1) 獲取接口文件名稱后,解析接口文件協(xié)議,獲取軟件要處理的參數(shù)、時(shí)間段信息,以及結(jié)果文件存放位置等信息;
(2) 訪問ORACLE數(shù)據(jù)庫中的ICD數(shù)據(jù)庫,把所有參數(shù)相關(guān)的信息讀取到結(jié)構(gòu)體數(shù)組中;
(3) 讀取總線數(shù)據(jù)文件的時(shí)間信息;
(4) 讀取處理時(shí)間段內(nèi)總線數(shù)據(jù)文件中的消息塊信息,與數(shù)據(jù)庫中讀取的關(guān)鍵字逐一進(jìn)行判斷,若相等則表示找到數(shù)據(jù)中此參數(shù)的信息。然后根據(jù)MIL?STD?1553B(GJB289A)數(shù)據(jù)總線標(biāo)準(zhǔn)[7]中的總線消息收發(fā)標(biāo)準(zhǔn)進(jìn)行計(jì)算、解析;同時(shí)將數(shù)據(jù)的時(shí)間等計(jì)算狀態(tài)信息輸出至控制臺(tái);
(5) 根據(jù)接口文件協(xié)議,將結(jié)果文件傳送到服務(wù)器指定的存放位置。
算法流程圖如圖6所示。
3 結(jié) 論
飛行試驗(yàn)數(shù)據(jù)網(wǎng)絡(luò)處理系統(tǒng)(FTDPS)在型號(hào)試飛中發(fā)揮著重要作用,1553B數(shù)據(jù)處理中間件又是該系統(tǒng)中極為關(guān)鍵的子軟件。1553B數(shù)據(jù)處理軟件采用基于Web的分布式中間件技術(shù),將數(shù)據(jù)處理軟件做成標(biāo)準(zhǔn)化的分布式中間件,通過標(biāo)準(zhǔn)的接口協(xié)議成功地嵌入到FTDPS系統(tǒng)中。本文開發(fā)的軟件作為FTDPS的1553B數(shù)據(jù)處理軟件,已經(jīng)用于某型號(hào)4架飛機(jī)的飛行試驗(yàn)總線數(shù)據(jù)處理,運(yùn)行情況良好,數(shù)據(jù)處理效率滿足了海量試飛數(shù)據(jù)處理的需求,保障了試飛數(shù)據(jù)及時(shí)高效的處理。
參考文獻(xiàn)
[1] 王建軍,黨懷義.基于Web的分布式試飛數(shù)據(jù)處理系統(tǒng)結(jié)構(gòu)設(shè)計(jì)[J].計(jì)算機(jī)測量與控制,2010,18(6):1452?1454.
[2] 張阿莉,許應(yīng)康,郭永林.飛行控制總線數(shù)據(jù)網(wǎng)絡(luò)化處理軟件設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2013,36(10):37?39,44.
[3] 夏慶梅,徐亞軍,熊華剛.航空電子接口控制文件的數(shù)據(jù)庫管理[J].航空計(jì)算技術(shù),2001,31(3):39?40.
[4] 劉威,周嫦娥.1553B網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)數(shù)據(jù)庫優(yōu)化設(shè)計(jì)[C]//航空試驗(yàn)測試技術(shù)交流會(huì)議論文集.北京:《測控技術(shù)》雜志社,2011:97?99.
[5] 黨懷義.ARJ21飛機(jī)試飛數(shù)據(jù)處理系統(tǒng)軟件詳細(xì)設(shè)計(jì)說明[M].西安:飛行試驗(yàn)研究院,2006.
[6] 周果宏,羅述謙,羅起.Delphi 程序設(shè)計(jì)題解、編程技巧與疑難解答[M].2版.北京:清華大學(xué)出版社,2007.
[7] 國防科學(xué)技術(shù)工業(yè)委員會(huì).數(shù)字式時(shí)分制指令/響應(yīng)型多路傳輸數(shù)據(jù)總線[M].北京:國防科學(xué)技術(shù)工業(yè)委員會(huì),1998.
[8] 趙彥.數(shù)據(jù)庫原理與應(yīng)用技術(shù):SQL Server[M].北京:清華大學(xué)出版社,2009.
摘 要: 為了解決當(dāng)前1553B數(shù)據(jù)處理單機(jī)軟件制約海量數(shù)據(jù)情況下多課題并行處理效率的現(xiàn)狀,在此采用基于Web的分布式中間件技術(shù),將1553B數(shù)據(jù)處理軟件開發(fā)成基于分布式網(wǎng)絡(luò)的標(biāo)準(zhǔn)數(shù)據(jù)處理中間件。為保持參數(shù)名的惟一性,以ICD文件中的消息規(guī)范名為數(shù)據(jù)庫中的參數(shù)名稱,并且編寫了該軟件與飛行試驗(yàn)數(shù)據(jù)網(wǎng)絡(luò)處理系統(tǒng)(FTDPS)的標(biāo)準(zhǔn)數(shù)據(jù)接口文件,根據(jù)分布式中間件的調(diào)用流程設(shè)計(jì)了相應(yīng)的算法,最終實(shí)現(xiàn)100% 1553B數(shù)據(jù)的網(wǎng)絡(luò)化并行處理,極大地提高了總線數(shù)據(jù)處理效率。
關(guān)鍵詞: 1553B數(shù)據(jù); 接口文件; 分布式網(wǎng)絡(luò); 數(shù)據(jù)處理軟件
中圖分類號(hào): TN911?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2014)06?0075?03
0 引 言
目前,中航工業(yè)試飛中心開發(fā)的基于C/S,B/S架構(gòu)體系的飛行試驗(yàn)數(shù)據(jù)網(wǎng)絡(luò)處理系統(tǒng)(FTDPS)已經(jīng)解決了海量試飛數(shù)據(jù)的分布式存儲(chǔ)及計(jì)算問題[1],并在重點(diǎn)型號(hào)任務(wù)的試飛過程中發(fā)揮著重要作用。該系統(tǒng)可以處理PCM數(shù)據(jù)和FCS數(shù)據(jù)[2],1553B數(shù)據(jù)仍然采用單機(jī)版處理。隨著飛行試驗(yàn)中參試飛機(jī)飛行時(shí)間、測試參數(shù)的不斷增加,總線數(shù)據(jù)量劇增,同時(shí)試飛工程師的參數(shù)處理需求更加多樣,采用現(xiàn)行1553B數(shù)據(jù)處理方法給每位試飛工程師拷貝數(shù)據(jù)、處理數(shù)據(jù)、發(fā)送結(jié)果等過程耗時(shí)達(dá)到數(shù)小時(shí),已經(jīng)嚴(yán)重影響數(shù)據(jù)處理效率和型號(hào)試飛進(jìn)度。針對(duì)這一問題,本文開發(fā)了基于分布式網(wǎng)絡(luò)的1553B數(shù)據(jù)處理軟件,使得課題人員在FTDPS的平臺(tái)上可以根據(jù)任務(wù)所需個(gè)性化定制處理參數(shù)、處理時(shí)間段及飛行架次等課目。工程實(shí)踐表明,本軟件極大地提高飛行試驗(yàn)數(shù)據(jù)的處理效率,滿足了多用戶并行處理需求,保證了型號(hào)試飛任務(wù)進(jìn)度。
1 ORACLE數(shù)據(jù)庫設(shè)計(jì)
單機(jī)版的1553B數(shù)據(jù)處理系統(tǒng)由ICD信息數(shù)據(jù)庫[3]和處理軟件2部分組成。將1553B數(shù)據(jù)處理系統(tǒng)以分布式中間件的形式嵌入到FTDPS系統(tǒng)中,首要的工作就是在FTDPS的數(shù)據(jù)庫中設(shè)計(jì)并增加新的ICD信息的ORACLE數(shù)據(jù)庫,完成1553B數(shù)據(jù)處理系統(tǒng)數(shù)據(jù)庫的網(wǎng)絡(luò)化升級(jí),文獻(xiàn)[4]已經(jīng)將ORACLE數(shù)據(jù)庫設(shè)計(jì)完成,數(shù)據(jù)庫總體設(shè)計(jì)如圖1所示,為本文實(shí)現(xiàn)與FTDPS的輸入輸出接口工作,開發(fā)1553B數(shù)據(jù)處理中間件做好了準(zhǔn)備工作。
2 1553B數(shù)據(jù)處理中間件設(shè)計(jì)
2.1 軟件接口設(shè)計(jì)
開發(fā)FTDPS的數(shù)據(jù)處理中間件,本軟件首先應(yīng)保證總線參數(shù)名稱的一致性,其次要滿足系統(tǒng)標(biāo)準(zhǔn)的輸入輸出接口要求[5]。
2.1.1 參數(shù)名一致性
參數(shù)名稱必須能夠?qū)懭隖TDPS數(shù)據(jù)庫的TESTINSIDEPARAINFO表中,測試系統(tǒng)名稱為Mini700,測試數(shù)據(jù)屬性為1553B。參數(shù)名稱是數(shù)據(jù)庫表的主鍵,要求具有惟一性的特點(diǎn);為了方便用戶在瀏覽器端選擇要處理的參數(shù),參數(shù)命名也要符合總線參數(shù)特點(diǎn),易于用戶識(shí)別。因此在ICD文件中,選擇總線信號(hào)名的規(guī)范名稱作為數(shù)據(jù)庫中的參數(shù)名,例如A/M1IR/00?00?00,可以滿足參數(shù)名稱惟一性和易于專業(yè)人員識(shí)別的需求,如圖2所示。
2.1.2 軟件接口統(tǒng)一
作為FTDPS的中間件,標(biāo)準(zhǔn)接口有2個(gè)要求:
(1) 軟件必須為可執(zhí)行文件.exe,帶有一個(gè)命令行參數(shù),命令行參數(shù)為一個(gè)接口文件的名稱;
(2) 命令行參數(shù)所指的接口文件必須是文本文件格式。所以軟件接口統(tǒng)一的工作實(shí)質(zhì)是把原處理程序改寫為CONSOLE APPLICATION控制臺(tái)應(yīng)用程序,完成讀取圖3所示的接口文件,然后按照FTDPS的輸出格式輸出。本文以Delphi7.0為軟件開發(fā)工具[6],控制臺(tái)程序關(guān)鍵代碼如下:
2.2 系統(tǒng)調(diào)用軟件流程
1553B數(shù)據(jù)處理軟件以分布式中間件的形式嵌入到FTDPS系統(tǒng)中,按照已約定好的內(nèi)部接口和整個(gè)數(shù)據(jù)處理系統(tǒng)之間協(xié)調(diào)通信,有效快速地進(jìn)行數(shù)據(jù)處理,并準(zhǔn)確地將結(jié)果信息返回給數(shù)據(jù)處理系統(tǒng)??蛻舳擞?jì)算機(jī)需要安裝分布式計(jì)算Active控件,主要完成的功能為向系統(tǒng)發(fā)出計(jì)算請求、與1553B數(shù)據(jù)處理中間件之間進(jìn)行信息通信、監(jiān)控計(jì)算過程的狀態(tài)、接收系統(tǒng)返回的數(shù)據(jù)。FTDPS系統(tǒng)調(diào)用1553B數(shù)據(jù)處理中間件流程如下:
(1) 客戶端計(jì)算機(jī)(B端)首先向調(diào)度服務(wù)器發(fā)出數(shù)據(jù)處理申請,同時(shí)生成B端接口文件,調(diào)度服務(wù)器指定某臺(tái)分布式計(jì)算服務(wù)器進(jìn)行計(jì)算;
(2) 計(jì)算服務(wù)器調(diào)用1553B數(shù)據(jù)處理中間件,訪問存儲(chǔ)在磁盤陣列上的原始總線數(shù)據(jù)文件進(jìn)行解析計(jì)算,同時(shí)將狀態(tài)信息輸出到控制臺(tái),客戶端ActiveX控件通過接口協(xié)議捕獲并以界面的形式顯示給用戶。并輸出標(biāo)準(zhǔn)格式的文件;
(3) 計(jì)算結(jié)束后,結(jié)果文件通過Socket方式回傳到用戶客戶端的Active X控件安裝目錄下。
圖4展示了1553B數(shù)據(jù)處理中間件在FTDPS中的調(diào)用流程。圖5是客戶端ActiveX控件顯示的軟件運(yùn)行狀態(tài)示意圖。其中*.eng文件為LST工程量文件;*.cod為文本文件,用戶可以直接打開2種文件類型進(jìn)行分析。*.inf文件是FTDPS的接口文件,*.sta文件為本次計(jì)算過程的狀態(tài)文件。
2.3 軟件設(shè)計(jì)
根據(jù)FTDPS系統(tǒng)調(diào)用1553B數(shù)據(jù)處理中間件的流程,設(shè)計(jì)軟件的算法如下:
(1) 獲取接口文件名稱后,解析接口文件協(xié)議,獲取軟件要處理的參數(shù)、時(shí)間段信息,以及結(jié)果文件存放位置等信息;
(2) 訪問ORACLE數(shù)據(jù)庫中的ICD數(shù)據(jù)庫,把所有參數(shù)相關(guān)的信息讀取到結(jié)構(gòu)體數(shù)組中;
(3) 讀取總線數(shù)據(jù)文件的時(shí)間信息;
(4) 讀取處理時(shí)間段內(nèi)總線數(shù)據(jù)文件中的消息塊信息,與數(shù)據(jù)庫中讀取的關(guān)鍵字逐一進(jìn)行判斷,若相等則表示找到數(shù)據(jù)中此參數(shù)的信息。然后根據(jù)MIL?STD?1553B(GJB289A)數(shù)據(jù)總線標(biāo)準(zhǔn)[7]中的總線消息收發(fā)標(biāo)準(zhǔn)進(jìn)行計(jì)算、解析;同時(shí)將數(shù)據(jù)的時(shí)間等計(jì)算狀態(tài)信息輸出至控制臺(tái);
(5) 根據(jù)接口文件協(xié)議,將結(jié)果文件傳送到服務(wù)器指定的存放位置。
算法流程圖如圖6所示。
3 結(jié) 論
飛行試驗(yàn)數(shù)據(jù)網(wǎng)絡(luò)處理系統(tǒng)(FTDPS)在型號(hào)試飛中發(fā)揮著重要作用,1553B數(shù)據(jù)處理中間件又是該系統(tǒng)中極為關(guān)鍵的子軟件。1553B數(shù)據(jù)處理軟件采用基于Web的分布式中間件技術(shù),將數(shù)據(jù)處理軟件做成標(biāo)準(zhǔn)化的分布式中間件,通過標(biāo)準(zhǔn)的接口協(xié)議成功地嵌入到FTDPS系統(tǒng)中。本文開發(fā)的軟件作為FTDPS的1553B數(shù)據(jù)處理軟件,已經(jīng)用于某型號(hào)4架飛機(jī)的飛行試驗(yàn)總線數(shù)據(jù)處理,運(yùn)行情況良好,數(shù)據(jù)處理效率滿足了海量試飛數(shù)據(jù)處理的需求,保障了試飛數(shù)據(jù)及時(shí)高效的處理。
參考文獻(xiàn)
[1] 王建軍,黨懷義.基于Web的分布式試飛數(shù)據(jù)處理系統(tǒng)結(jié)構(gòu)設(shè)計(jì)[J].計(jì)算機(jī)測量與控制,2010,18(6):1452?1454.
[2] 張阿莉,許應(yīng)康,郭永林.飛行控制總線數(shù)據(jù)網(wǎng)絡(luò)化處理軟件設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2013,36(10):37?39,44.
[3] 夏慶梅,徐亞軍,熊華剛.航空電子接口控制文件的數(shù)據(jù)庫管理[J].航空計(jì)算技術(shù),2001,31(3):39?40.
[4] 劉威,周嫦娥.1553B網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)數(shù)據(jù)庫優(yōu)化設(shè)計(jì)[C]//航空試驗(yàn)測試技術(shù)交流會(huì)議論文集.北京:《測控技術(shù)》雜志社,2011:97?99.
[5] 黨懷義.ARJ21飛機(jī)試飛數(shù)據(jù)處理系統(tǒng)軟件詳細(xì)設(shè)計(jì)說明[M].西安:飛行試驗(yàn)研究院,2006.
[6] 周果宏,羅述謙,羅起.Delphi 程序設(shè)計(jì)題解、編程技巧與疑難解答[M].2版.北京:清華大學(xué)出版社,2007.
[7] 國防科學(xué)技術(shù)工業(yè)委員會(huì).數(shù)字式時(shí)分制指令/響應(yīng)型多路傳輸數(shù)據(jù)總線[M].北京:國防科學(xué)技術(shù)工業(yè)委員會(huì),1998.
[8] 趙彥.數(shù)據(jù)庫原理與應(yīng)用技術(shù):SQL Server[M].北京:清華大學(xué)出版社,2009.
摘 要: 為了解決當(dāng)前1553B數(shù)據(jù)處理單機(jī)軟件制約海量數(shù)據(jù)情況下多課題并行處理效率的現(xiàn)狀,在此采用基于Web的分布式中間件技術(shù),將1553B數(shù)據(jù)處理軟件開發(fā)成基于分布式網(wǎng)絡(luò)的標(biāo)準(zhǔn)數(shù)據(jù)處理中間件。為保持參數(shù)名的惟一性,以ICD文件中的消息規(guī)范名為數(shù)據(jù)庫中的參數(shù)名稱,并且編寫了該軟件與飛行試驗(yàn)數(shù)據(jù)網(wǎng)絡(luò)處理系統(tǒng)(FTDPS)的標(biāo)準(zhǔn)數(shù)據(jù)接口文件,根據(jù)分布式中間件的調(diào)用流程設(shè)計(jì)了相應(yīng)的算法,最終實(shí)現(xiàn)100% 1553B數(shù)據(jù)的網(wǎng)絡(luò)化并行處理,極大地提高了總線數(shù)據(jù)處理效率。
關(guān)鍵詞: 1553B數(shù)據(jù); 接口文件; 分布式網(wǎng)絡(luò); 數(shù)據(jù)處理軟件
中圖分類號(hào): TN911?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2014)06?0075?03
0 引 言
目前,中航工業(yè)試飛中心開發(fā)的基于C/S,B/S架構(gòu)體系的飛行試驗(yàn)數(shù)據(jù)網(wǎng)絡(luò)處理系統(tǒng)(FTDPS)已經(jīng)解決了海量試飛數(shù)據(jù)的分布式存儲(chǔ)及計(jì)算問題[1],并在重點(diǎn)型號(hào)任務(wù)的試飛過程中發(fā)揮著重要作用。該系統(tǒng)可以處理PCM數(shù)據(jù)和FCS數(shù)據(jù)[2],1553B數(shù)據(jù)仍然采用單機(jī)版處理。隨著飛行試驗(yàn)中參試飛機(jī)飛行時(shí)間、測試參數(shù)的不斷增加,總線數(shù)據(jù)量劇增,同時(shí)試飛工程師的參數(shù)處理需求更加多樣,采用現(xiàn)行1553B數(shù)據(jù)處理方法給每位試飛工程師拷貝數(shù)據(jù)、處理數(shù)據(jù)、發(fā)送結(jié)果等過程耗時(shí)達(dá)到數(shù)小時(shí),已經(jīng)嚴(yán)重影響數(shù)據(jù)處理效率和型號(hào)試飛進(jìn)度。針對(duì)這一問題,本文開發(fā)了基于分布式網(wǎng)絡(luò)的1553B數(shù)據(jù)處理軟件,使得課題人員在FTDPS的平臺(tái)上可以根據(jù)任務(wù)所需個(gè)性化定制處理參數(shù)、處理時(shí)間段及飛行架次等課目。工程實(shí)踐表明,本軟件極大地提高飛行試驗(yàn)數(shù)據(jù)的處理效率,滿足了多用戶并行處理需求,保證了型號(hào)試飛任務(wù)進(jìn)度。
1 ORACLE數(shù)據(jù)庫設(shè)計(jì)
單機(jī)版的1553B數(shù)據(jù)處理系統(tǒng)由ICD信息數(shù)據(jù)庫[3]和處理軟件2部分組成。將1553B數(shù)據(jù)處理系統(tǒng)以分布式中間件的形式嵌入到FTDPS系統(tǒng)中,首要的工作就是在FTDPS的數(shù)據(jù)庫中設(shè)計(jì)并增加新的ICD信息的ORACLE數(shù)據(jù)庫,完成1553B數(shù)據(jù)處理系統(tǒng)數(shù)據(jù)庫的網(wǎng)絡(luò)化升級(jí),文獻(xiàn)[4]已經(jīng)將ORACLE數(shù)據(jù)庫設(shè)計(jì)完成,數(shù)據(jù)庫總體設(shè)計(jì)如圖1所示,為本文實(shí)現(xiàn)與FTDPS的輸入輸出接口工作,開發(fā)1553B數(shù)據(jù)處理中間件做好了準(zhǔn)備工作。
2 1553B數(shù)據(jù)處理中間件設(shè)計(jì)
2.1 軟件接口設(shè)計(jì)
開發(fā)FTDPS的數(shù)據(jù)處理中間件,本軟件首先應(yīng)保證總線參數(shù)名稱的一致性,其次要滿足系統(tǒng)標(biāo)準(zhǔn)的輸入輸出接口要求[5]。
2.1.1 參數(shù)名一致性
參數(shù)名稱必須能夠?qū)懭隖TDPS數(shù)據(jù)庫的TESTINSIDEPARAINFO表中,測試系統(tǒng)名稱為Mini700,測試數(shù)據(jù)屬性為1553B。參數(shù)名稱是數(shù)據(jù)庫表的主鍵,要求具有惟一性的特點(diǎn);為了方便用戶在瀏覽器端選擇要處理的參數(shù),參數(shù)命名也要符合總線參數(shù)特點(diǎn),易于用戶識(shí)別。因此在ICD文件中,選擇總線信號(hào)名的規(guī)范名稱作為數(shù)據(jù)庫中的參數(shù)名,例如A/M1IR/00?00?00,可以滿足參數(shù)名稱惟一性和易于專業(yè)人員識(shí)別的需求,如圖2所示。
2.1.2 軟件接口統(tǒng)一
作為FTDPS的中間件,標(biāo)準(zhǔn)接口有2個(gè)要求:
(1) 軟件必須為可執(zhí)行文件.exe,帶有一個(gè)命令行參數(shù),命令行參數(shù)為一個(gè)接口文件的名稱;
(2) 命令行參數(shù)所指的接口文件必須是文本文件格式。所以軟件接口統(tǒng)一的工作實(shí)質(zhì)是把原處理程序改寫為CONSOLE APPLICATION控制臺(tái)應(yīng)用程序,完成讀取圖3所示的接口文件,然后按照FTDPS的輸出格式輸出。本文以Delphi7.0為軟件開發(fā)工具[6],控制臺(tái)程序關(guān)鍵代碼如下:
2.2 系統(tǒng)調(diào)用軟件流程
1553B數(shù)據(jù)處理軟件以分布式中間件的形式嵌入到FTDPS系統(tǒng)中,按照已約定好的內(nèi)部接口和整個(gè)數(shù)據(jù)處理系統(tǒng)之間協(xié)調(diào)通信,有效快速地進(jìn)行數(shù)據(jù)處理,并準(zhǔn)確地將結(jié)果信息返回給數(shù)據(jù)處理系統(tǒng)。客戶端計(jì)算機(jī)需要安裝分布式計(jì)算Active控件,主要完成的功能為向系統(tǒng)發(fā)出計(jì)算請求、與1553B數(shù)據(jù)處理中間件之間進(jìn)行信息通信、監(jiān)控計(jì)算過程的狀態(tài)、接收系統(tǒng)返回的數(shù)據(jù)。FTDPS系統(tǒng)調(diào)用1553B數(shù)據(jù)處理中間件流程如下:
(1) 客戶端計(jì)算機(jī)(B端)首先向調(diào)度服務(wù)器發(fā)出數(shù)據(jù)處理申請,同時(shí)生成B端接口文件,調(diào)度服務(wù)器指定某臺(tái)分布式計(jì)算服務(wù)器進(jìn)行計(jì)算;
(2) 計(jì)算服務(wù)器調(diào)用1553B數(shù)據(jù)處理中間件,訪問存儲(chǔ)在磁盤陣列上的原始總線數(shù)據(jù)文件進(jìn)行解析計(jì)算,同時(shí)將狀態(tài)信息輸出到控制臺(tái),客戶端ActiveX控件通過接口協(xié)議捕獲并以界面的形式顯示給用戶。并輸出標(biāo)準(zhǔn)格式的文件;
(3) 計(jì)算結(jié)束后,結(jié)果文件通過Socket方式回傳到用戶客戶端的Active X控件安裝目錄下。
圖4展示了1553B數(shù)據(jù)處理中間件在FTDPS中的調(diào)用流程。圖5是客戶端ActiveX控件顯示的軟件運(yùn)行狀態(tài)示意圖。其中*.eng文件為LST工程量文件;*.cod為文本文件,用戶可以直接打開2種文件類型進(jìn)行分析。*.inf文件是FTDPS的接口文件,*.sta文件為本次計(jì)算過程的狀態(tài)文件。
2.3 軟件設(shè)計(jì)
根據(jù)FTDPS系統(tǒng)調(diào)用1553B數(shù)據(jù)處理中間件的流程,設(shè)計(jì)軟件的算法如下:
(1) 獲取接口文件名稱后,解析接口文件協(xié)議,獲取軟件要處理的參數(shù)、時(shí)間段信息,以及結(jié)果文件存放位置等信息;
(2) 訪問ORACLE數(shù)據(jù)庫中的ICD數(shù)據(jù)庫,把所有參數(shù)相關(guān)的信息讀取到結(jié)構(gòu)體數(shù)組中;
(3) 讀取總線數(shù)據(jù)文件的時(shí)間信息;
(4) 讀取處理時(shí)間段內(nèi)總線數(shù)據(jù)文件中的消息塊信息,與數(shù)據(jù)庫中讀取的關(guān)鍵字逐一進(jìn)行判斷,若相等則表示找到數(shù)據(jù)中此參數(shù)的信息。然后根據(jù)MIL?STD?1553B(GJB289A)數(shù)據(jù)總線標(biāo)準(zhǔn)[7]中的總線消息收發(fā)標(biāo)準(zhǔn)進(jìn)行計(jì)算、解析;同時(shí)將數(shù)據(jù)的時(shí)間等計(jì)算狀態(tài)信息輸出至控制臺(tái);
(5) 根據(jù)接口文件協(xié)議,將結(jié)果文件傳送到服務(wù)器指定的存放位置。
算法流程圖如圖6所示。
3 結(jié) 論
飛行試驗(yàn)數(shù)據(jù)網(wǎng)絡(luò)處理系統(tǒng)(FTDPS)在型號(hào)試飛中發(fā)揮著重要作用,1553B數(shù)據(jù)處理中間件又是該系統(tǒng)中極為關(guān)鍵的子軟件。1553B數(shù)據(jù)處理軟件采用基于Web的分布式中間件技術(shù),將數(shù)據(jù)處理軟件做成標(biāo)準(zhǔn)化的分布式中間件,通過標(biāo)準(zhǔn)的接口協(xié)議成功地嵌入到FTDPS系統(tǒng)中。本文開發(fā)的軟件作為FTDPS的1553B數(shù)據(jù)處理軟件,已經(jīng)用于某型號(hào)4架飛機(jī)的飛行試驗(yàn)總線數(shù)據(jù)處理,運(yùn)行情況良好,數(shù)據(jù)處理效率滿足了海量試飛數(shù)據(jù)處理的需求,保障了試飛數(shù)據(jù)及時(shí)高效的處理。
參考文獻(xiàn)
[1] 王建軍,黨懷義.基于Web的分布式試飛數(shù)據(jù)處理系統(tǒng)結(jié)構(gòu)設(shè)計(jì)[J].計(jì)算機(jī)測量與控制,2010,18(6):1452?1454.
[2] 張阿莉,許應(yīng)康,郭永林.飛行控制總線數(shù)據(jù)網(wǎng)絡(luò)化處理軟件設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2013,36(10):37?39,44.
[3] 夏慶梅,徐亞軍,熊華剛.航空電子接口控制文件的數(shù)據(jù)庫管理[J].航空計(jì)算技術(shù),2001,31(3):39?40.
[4] 劉威,周嫦娥.1553B網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)數(shù)據(jù)庫優(yōu)化設(shè)計(jì)[C]//航空試驗(yàn)測試技術(shù)交流會(huì)議論文集.北京:《測控技術(shù)》雜志社,2011:97?99.
[5] 黨懷義.ARJ21飛機(jī)試飛數(shù)據(jù)處理系統(tǒng)軟件詳細(xì)設(shè)計(jì)說明[M].西安:飛行試驗(yàn)研究院,2006.
[6] 周果宏,羅述謙,羅起.Delphi 程序設(shè)計(jì)題解、編程技巧與疑難解答[M].2版.北京:清華大學(xué)出版社,2007.
[7] 國防科學(xué)技術(shù)工業(yè)委員會(huì).數(shù)字式時(shí)分制指令/響應(yīng)型多路傳輸數(shù)據(jù)總線[M].北京:國防科學(xué)技術(shù)工業(yè)委員會(huì),1998.
[8] 趙彥.數(shù)據(jù)庫原理與應(yīng)用技術(shù):SQL Server[M].北京:清華大學(xué)出版社,2009.