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