潘高峰,謝 勇,梁 盛
(中國衛星海上測控部, 江蘇 江陰 214431)
一種復雜模式網傳數據軟件模擬器的設計
潘高峰,謝 勇,梁 盛
(中國衛星海上測控部, 江蘇 江陰 214431)
針對某型遠程監控系統復雜、數據量大、數據結構多變等給軟件設計帶來的難度,設計了一個軟件模擬器,構成閉環調試系統,利于檢查實戰軟件,該模擬器以XML技術為核心,綜合了數據幀編排、軟件界面自動生成、用戶控件定制等先進技術,有效對監視對象進行了模擬,實現了多模式下數據的自動組幀和發送功能;通過該模擬器的配合,發現實戰軟件設計缺欠,具有很好的推廣應用價值。
模擬器; 幀結構; XML; 界面自動生成; 用戶控件
某遠程監視系統是為完成遠端多套設備狀態監視而設計,每套設備具有多種工作模式,每種工作模式具有大量的監視信息,且設備數據具有多變的特點。這種復雜數據結構給軟件設計帶來較大的難度,在沒有實際對象的軟件調試狀態,特別是在關鍵代碼或整體測試狀態,軟件功能和性能無法保證,給現場調試和測試帶來極大工作量。在這種情況下,設計了具有針對性的軟件模擬器,模擬對象實際運行狀態,從而構建軟件閉環測試環境。
本文針對該系統復雜、數據量大、數據結構多變的特點,以XML技術為核心[1],綜合數據幀編排、軟件界面自動生成、用戶控件定制等先進技術,設計了一個可以有效模擬監視對象的模擬器。
該遠程監視系統主要包括監視對象、監視服務器、監視終端組成,如圖1所示。其中,監視對象由多個子系統組成,子系統可以工作在不同的工作模式,每個子系統又由多個分系統組成,各個分系統按照約定的數據格式上報數據給系統監控臺,各個子系統將最終數據上報給本地服務器;監視服務器用于將多個本地服務器的數據進行處理,包括數據幀處理轉發、數據存儲以及遠程測試等功能;監視終端是面向用戶的終端,將多個子系統的數據直觀顯示給用戶。

圖1 遠程監視系統原理框圖
本文所設計的模擬器仿真圖1中所注的模擬部分,其功能為模擬形成多個子系統的數據,并將其發給監視服務器,但設計中存在系統多、模式多、數據種類多、數據量大等難點。經分析,設計采用以XML技術為核心,并綜合多項成熟技術,具有高擴展性、高時效性的特點。
對于軟件模擬器開發而言,真實性和時效性是必須考慮的問題[2],軟件流程如圖2所示。該軟件模擬器的設計面臨數據類型多變、數據傳輸量大、控制邏輯復雜等難題,經分析比較,解決關鍵技術的措施包括:制訂數據通信協議以及通信機制,保證數據傳輸可靠;采用XML技術,實現數據結構化;采用菜單項關聯XML文件方式,實現復雜邏輯控制;以FlowLayoutPanel控件為容器,以XML文件為介質,通過設計自定義控件,實現界面自動生成;使用界面控件值與XML文件對應屬性并讀方式,實現數據動態組幀發送,通過這些關鍵技術的解決,成功實現了軟件模擬器的設計。

圖2 軟件流程圖
2.1 通信機制
根據設備參數實際情況,將這些參數分為緩變數據和瞬變數據,緩變數據是指設備端幾乎沒有變化的數據,比如狀態設置;瞬變數據是指設備端時刻變化的數據,比如跟蹤的AGC電壓。
對于緩變數據采用1秒時間間隔發送方式,接收端每收到一次緩變數據幀,返回一個應答幀,在發送完全部緩變參數后,等待5秒內,如未收到某個應答幀,重新發送丟失的數據幀,直至完成全部數據幀發送。在完成全部數據發送后,設備緩變參數變化時,僅發送變化的相應數據變量,并通過數據應答幀確認數據被接收,如5秒內未收到該數據確認幀,重新發送丟失數據幀。
在所有緩變數據發送完成后,進行瞬變數據發送,采用每1秒發送一方式次,無需應答機幀,也無需考慮參數變化,全部發送整幀。
2.2 數據幀結構
任何通信系統均有一定的通信協議支持來完成特定通信任務[3],本文設計了一種簡化信息交換協議(SIEP),幀結構分為控制域和數據域,能夠實現多變數據的便捷組幀,其幀格式如圖3所示。

圖3 數據幀格式
其中,設備編碼表征圖1中子系統,每個子系統具有唯一編碼值;變量編碼表征變量信息類型,每個變量具有唯一編碼值。
2.3 模式關聯
通過設計表征模式信息的XML文件,利用菜單內容按照關鍵字查找方式生成所需調用表征設備參數信息的XML文件字典,從而實現模式與菜單項的關聯,使得程序在自動界面與數據組幀設計上變得非常簡便。
1)表征模式信息的XML文件:表征模式信息的XML文件,簡稱模XML,在文件中設計兩個包含邏輯關系的元素,分別為設備加電信息和設備模式信息,這兩個元素又包含以每個設備相關信息為屬性的多個子元素,如圖4所示。

圖4 模XML內容
2)表征設備參數信息的XML文件:表征設備參數信息的XML文件,簡稱數XML,這類文件分為快變和慢變文件,均包含以每個設備相關參數為屬性的元素,對于多字節數據表示為元素,對于少字節數據通過組合為元素(少字節數據為其中的子元素),如圖5所示。

圖5 數XML內容
3)模式與菜單項關聯:通過加電信息來決定菜單相關項的使能,通過模式信息來對菜單項相關文本內容進行修改,修改后的文本就包含了模式關鍵字,進而生成需要形成數據幀的XML文件字典,包括快變和兩種字典,字典中的主鍵為菜單項的文本內容,值為XML目錄,也就是通過菜單這個“橋梁”實現了模式與數據的關聯。
2.4 界面自動化生成
通過多種自定義控件的設計,并以FlowLayoutPanel控件為容器[4],實現界面元素的結構化自動生成,使用該界面自動生成方法,極大地提高工作效率,其流程如圖6所示。

圖6 自動生成界面流程圖
自定義控件包括文本框、選擇框、指示燈和空顯示控件[5],這些控制直接用于與用戶進行數據交互,其中文本框控件由文本框和2個標簽控件組成,選擇框控件由選擇框和2個標簽控件組成,指示燈由按鈕和標簽控件組成,空顯示控件無需添加控件。其中,空顯示控件用于對有子元素和無子元素數據進行隔離,增加數據的可讀性,實現界面布局與數XML文件的結構化。
2.5 界面控件與數XML并讀
程序要求在改變參數值時,需要將改變參數的值組幀發出,這里使用了一種控件與XML文件并讀方式,它是基于控件值來源于XML文件,在控件值變化時,XML文件內容并未改變,正是基于這一特性實現了變化數據的判斷與組幀,其流程如圖7所示。

圖7 并讀方式流程圖
本設計采用了多種先進技術,達到了軟件模擬器 “時間短、費用低、實效好”的設計原則,運行界面如圖8所示。

圖8 模擬器運行圖
通過與實際工程軟件閉環測試,發現顯示軟件的數據處理問題一個:部分參數變化時的數據長度比整幀數據長度長時,程序未能處理,是由于整幀數據為一個BID號,而多個數據同時變化時需要在每個變化的數據前均加上BID號,可能會導致變化數據的幀長超過整幀數據長,顯示程序數據處理時未考慮此類情況,對顯示程序的判斷邏輯修改后正常;發現轉換軟件多線程處理問題1個:多系統在線時,由于數據量非常大,數據為“多進一出”方式,多線程處理出現競爭,導致個別數據包未能及時處理,通過增加緩存和判讀線程數據發送完畢標識解決了此問題。在軟件修改完善后,實戰軟件對于軟件模擬器生成的多變數據幀結構均能及時處理,達到良好運行效果。
本文僅僅圍繞復雜模式軟件模擬器設計難點,提出一種復雜模式大數據軟件模擬器的設計方法,對于多模式的邏輯關系通過關聯設計簡單實現,對于大數據通過分別編制XML文件并依賴多模式邏輯關系實現調用,對于界面生成通過軟件界面自動生成技術便利實現,大大提高了工作效率,降低了工作強度。通過該軟件模擬器與實際工程軟件的閉環測試,發現實戰軟件設計缺欠2個;同時,該軟件模擬器的設計思路也適用于其它大數據量組幀軟件工程,具有很好的推廣應用價值。
[1] 王震江.XML程序設計[M].北京:中國鐵道出版社,2006.
[2] 郝兆平.XML應用及發展趨勢的探討[J].計算機工程應用技術,2009(9):23-29.
[3] 王 恒,李水剛,陳 亮,等.測量船船搖前饋數據處理方法研究及應用[J].飛行器測控學報,2011(2):64-69.
[4] 尹 成,陳荔城.Visual C#2010開發權威指南[M].北京: 清華大學出版社, 2012.
[5] 馮廷暉.XML完全手冊[M].北京:中國電力出版社,2000.
Design of a Complex Network Data Transfer Software Simulator
Pan Gaofeng, Xie Yong, Liang Sheng
(Satellite Maritime Tracking and Control Department of China, Jiangyin 214431, China)
A software simulator is designed to resolve a kind of remote monitoring system’s design problem of complex system, large amount of data, changeful data structure, etc. This simulator constitutes a closed-loop debugging system with the internet applications, its performance is checked well. The simulator simulates the monitoring object based on XML technology, and integrates formating the data frame, generating the software interface automatically, designing user controls, and the other advanced technology, it realizes to set and sent the complex mode data frame automatically. The internet applications problem is found using the simulator, the design idea has the very good application value.
simulator; frame structure; XML;interface automatic generation; user controls
2016-09-04;
2016-09-27。
潘高峰(1972-),男,遼寧省錦州市人,大學,高級工程師,主要從事儀器控制方向的研究。
謝 勇(1972-),男,江西省九江市人,碩士,高級工程師,主要從事軟件無線電方向的研究。
1671-4598(2017)02-0107-03
10.16526/j.cnki.11-4762/tp.2017.02.029
TP311.1
A