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