◎中國航天系統(tǒng)科學與工程研究院 魏子衿 齊俊鵬 鐘雷 禹東山
◎中郵信息科技(北京)有限公司 程玲
火箭發(fā)動機試驗是保障火箭發(fā)射任務成功的主要任務之一[1],對全試驗過程實施有效地跟蹤與監(jiān)控,為試驗人員及時作出決策是保障試驗成功的關鍵所在。為此,試驗團隊基于單機模式建設提出并建設了早期的發(fā)動機試驗演示系統(tǒng),提供參數(shù)表格和現(xiàn)場視頻兩種功能展現(xiàn)方式,采用VB編程語言實現(xiàn)。隨著時代發(fā)展,現(xiàn)有演示系統(tǒng)操作效率低、功能單一、運行性能差等弊端逐漸展現(xiàn)出來,為解決上述問題,提出了基于網絡架構的發(fā)動機試驗演示系統(tǒng)。
演示系統(tǒng)存在于科研生產各個領域之中,一般分為面向科學研究與面向工程應用兩大類。面向科學研究的演示系統(tǒng)[2~7]主要特點為小而細,即該類系統(tǒng)無需建設為大規(guī)模分布式架構,而需提供必要的用于觀察科研細節(jié)的功能。典型如文獻2所述的5G無線仿真演示系統(tǒng),其僅僅設計并實現(xiàn)了針對單位面積吞吐量等3項關鍵指標的可視化展示,而文獻3中描述的汽車操作穩(wěn)定性試驗演示系統(tǒng)也重點突出了對試驗中6個指標的觀測。文獻4至7中同樣僅面向相應實驗中的關鍵環(huán)節(jié)設計。此外,上述六篇文獻中的系統(tǒng)均是面向單機環(huán)境。相反,面向工程應用的演示系統(tǒng)則具備大而粗的特點[8~12],即系統(tǒng)往往設計為基于網絡的分布式架構,且無需提供過多面向細節(jié)的功能。在文獻8-12所描述的系統(tǒng)中,均對系統(tǒng)的網絡結構進行了詳細的描述。文獻8中的系統(tǒng)主要由各類模擬裝置、控制中心與指揮中心構成,文獻9中的系統(tǒng)則是由演示客戶端、演示引擎、態(tài)勢信息庫和仿真引擎構成。當然,工程應用包括一些小的應用領域,如教育、宣傳等領域[13-14]。在文獻13與14中所描述的系統(tǒng)均是教學演示軟件,它們同樣被設計為單機架構。
對于面向工程應用領域的大型軟件系統(tǒng),其基本結構一般由3個部分組成,即數(shù)據(jù)采集子系統(tǒng)、管理與服務子系統(tǒng)、前端展示子系統(tǒng)。三個子系統(tǒng)的工作流程大致為:首先由數(shù)據(jù)采集子系統(tǒng)采集并傳遞數(shù)據(jù)給管理與服務子系統(tǒng),再由管理與服務子系統(tǒng)將采集數(shù)據(jù)做預處理分發(fā)給各前端展示子系統(tǒng),最后由前端展示子系統(tǒng)通過多媒體或可視化模型的方式完成效果展示。
為此,本文構建了一套基于網絡架構的火箭發(fā)動機試驗演示系統(tǒng)(以下簡稱演示系統(tǒng)),將以往的展現(xiàn)方式擴充為4種功能展現(xiàn)方式,并提供一套較為豐富完善的管控工具和更現(xiàn)代化的演示體驗。
表1 演示系統(tǒng)子系統(tǒng)清單
火箭發(fā)動機試驗基地一共建造了大小試驗臺十余座,每座試驗臺由主臺、測控間、裝配間、演示間、運輸線路等多個部分組成。試驗演示系統(tǒng)的最終展示部分部署在演示間。系統(tǒng)面向的人群包括國家領導、有關單位領導、外部專家、試驗技術人員、學生以及航天愛好者。在試驗進行過程中,發(fā)動機的上千個參數(shù)及發(fā)動機的直觀狀態(tài)是科研人員關注的重點,系統(tǒng)需要滿足實時觀測,并提供四大展現(xiàn)方式。四種展現(xiàn)方式分別為參數(shù)表格方式、參數(shù)曲線方式、流媒體方式以及工藝圖方式。其中參數(shù)表格方式、參數(shù)曲線方式與工藝圖方式用于展示參數(shù),流媒體方式用于展示視頻。工藝圖方式是通過程序界面繪制工具繪制出可編程的圖形界面,并在關鍵部位添加動畫效果,再由程序控制參數(shù)實現(xiàn)參數(shù)驅動工藝圖的實時動態(tài)展現(xiàn)。流媒體方式對接攝像頭流媒體數(shù)據(jù)實現(xiàn)音視頻實時播放。
為此,演示系統(tǒng)擬提供以下功能模塊:(1)數(shù)據(jù)采集功能:接收現(xiàn)場參數(shù)數(shù)據(jù)及流媒體數(shù)據(jù),并轉發(fā)給演示系統(tǒng)服務端。(2)服務與管理功能:提供組織機構權限管理、數(shù)據(jù)采集與轉發(fā)管理、試驗基本信息管理、綜合測控管理等管理功能。(3)客戶端:提供四種展現(xiàn)方式給最終用戶用于觀看試驗過程。
演示系統(tǒng)基于上述所述的三級模式設計,將上述功能拆分為11個子系統(tǒng)。在數(shù)據(jù)采集部分,建設NI數(shù)據(jù)轉發(fā)系統(tǒng)、P6000數(shù)據(jù)轉發(fā)系統(tǒng)、二級流媒體服務3個子系統(tǒng),傳遞由傳感器數(shù)據(jù)采集系統(tǒng)和流媒體數(shù)據(jù)采集系統(tǒng)獲取的數(shù)據(jù)。在管理與服務端,建設權限服務、數(shù)據(jù)服務、存儲服務、試驗管理平臺、綜合測控平臺5個子系統(tǒng)用于服務提供與系統(tǒng)管控。在 前端,建設桌面客戶端一體機版、桌面客戶端大屏幕版、瀏覽器客戶端等3種客戶端。表1給出了子系統(tǒng)清單。
圖1 演示系統(tǒng)空間結構示意圖
結合試驗臺實際建筑環(huán)境,決定將全部硬件設備集中部署在測控間與演示間。其空間結構示意圖如圖1所示。
基于上述空間結構,給單試驗臺配備如下硬件資源:(1)測控間:數(shù)據(jù)轉發(fā)服務器2臺、流媒體服務器1臺、應用服務器2臺、存儲服務器1臺、交換機2臺;(2)演示間:交換機1臺、路由器1臺、防火墻服務器1臺、一體機數(shù)臺、大屏幕投射PC機3臺,監(jiān)控PC機數(shù)臺。其中一體機、監(jiān)控機的數(shù)量由各演示間根據(jù)實際情況作調整。(3)其它:主干交換機1臺、機柜、網線、不間斷電源等。
試驗臺的網絡結構拓撲圖如圖2所示。通過1臺核心交換機連通測控間與演示間,3臺子交換機連通數(shù)據(jù)轉發(fā)網絡、管理與服務網絡以及前端演示網絡。表2給出了各子系統(tǒng)與各硬件之間的部署關系。
軟件部分設計為由3個數(shù)據(jù)轉發(fā)子系統(tǒng)、5個管理與服務子系統(tǒng)及3種客戶端組成,各軟件系統(tǒng)的功能描述如表3所示。
表2 子系統(tǒng)與硬件部署關系
各子系統(tǒng)間的工作流如圖3所示。
圖2 試驗臺網絡結構拓撲圖
圖3 子系統(tǒng)間數(shù)據(jù)與控制流
其中數(shù)據(jù)流在權限服務、綜合測控平臺指向試驗管理平臺的通道為權限、試驗配置與運行狀態(tài)數(shù)據(jù),在其他通道為參數(shù)數(shù)據(jù)與流媒體數(shù)據(jù)??刂屏髟跈嘞薹罩赶蚋髯酉到y(tǒng)的通道為權限控制,在綜合測控平臺指向各子系統(tǒng)為程序運行狀態(tài)控制。
在數(shù)據(jù)服務的描述中,數(shù)據(jù)服務傳遞數(shù)據(jù)直接面向全部客戶端與存儲服務,會帶來一定的開銷。系統(tǒng)采用組播的方式,利用交換機的中轉性能實現(xiàn)帶寬流量的有效控制。
表3 軟件功能描述
演示系統(tǒng)主要基于.net技術棧實現(xiàn),采用其它對等的技術棧也可實現(xiàn)系統(tǒng)中全部功能。
參數(shù)與流媒體數(shù)據(jù)的傳輸是演示系統(tǒng)的核心功能。在試驗試車期間,數(shù)據(jù)轉發(fā)程序、數(shù)據(jù)服務、存儲服務、各客戶端中,均存在不間斷的數(shù)據(jù)流。這對數(shù)據(jù)傳輸?shù)目煽啃蕴岢隽艘欢ǖ囊蟆?/p>
這里主要考慮如下兩方面:(1)網絡帶寬:主要關注數(shù)據(jù)服務至全部客戶端傳輸主干線的帶寬性能,即每秒能支撐多少個客戶端接收多少個大小為某個字節(jié)數(shù)的數(shù)據(jù)包。(2)傳輸可靠性:即是否能接受數(shù)據(jù)包丟失的情況[15]。
首先分析網絡帶寬,設客戶端數(shù)為n,數(shù)據(jù)服務發(fā)包周期為每秒m個包,每個數(shù)據(jù)包大小為p。則網絡帶寬w為:w=n×m×p(1 )。
這里n考慮最大演示間放置一體機、PC機總和約為100,即演示系統(tǒng)用戶數(shù)約為100人。對于m,顯示器刷新頻率多為60Hz,高于此值人眼無法捕捉更多信息[16],但對于變化的數(shù)值,頻率超過10Hz多數(shù)人已無法準確識別每一幀的數(shù)值。為提高容錯率,這里取m為20Hz。對于p,參數(shù)數(shù)據(jù)和流媒體數(shù)據(jù)的計算有所不同。
對于參數(shù)數(shù)據(jù),可采用TCP和UDP兩種協(xié)議傳輸,由于TCP協(xié)議開銷較大,這里首先按TCP協(xié)議做計算。常用UDP協(xié)議幀結構如圖4所示,由此可見協(xié)議頭與尾的字節(jié)總數(shù)為56字節(jié)。在一次最大規(guī)模的試驗中,參數(shù)個數(shù)接近2000個,每個參數(shù)數(shù)值采用單精度浮點數(shù)存儲,不存儲名稱等其它信息(可按存儲順序確定參數(shù)映射)。取參數(shù)個數(shù)最大值為2048,則p=80+2048×4=8272。因此w參數(shù)=400×20×8272×8 ≈ 504.88Mbps。
對于流媒體數(shù)據(jù),試驗臺一級流媒體采用RTP協(xié)議傳輸,傳輸視頻幀采用DVD標準,分辨率720×576像素,幀率25,采用MPG2編碼,碼率約為6Mbps。因此W流媒體=100×6=600Mbps。
圖4 TCP協(xié)議幀結構
總干 線 帶寬需 求值 為W總=W參數(shù)+W流媒體=1105Mbps≈1.08Gbps。試驗臺所使用的交換機為思科4503交換機,其背板帶寬為64Gbps,足以支撐數(shù)據(jù)傳輸需求。
對于傳輸可靠性,實時流媒體要求可靠性較高,且一級流媒體已采用RTP協(xié)議,保證了可靠性,故二級流媒體繼續(xù)采用RTP協(xié)議。對于參數(shù)數(shù)據(jù),由于數(shù)據(jù)每秒鐘跳動達10次之多,參觀者僅感受數(shù)據(jù)變化的趨勢,無需切實關注每個數(shù)據(jù),因此可適當放寬可靠性要求。在此情形下,我們采用了UDP協(xié)議作為參數(shù)數(shù)據(jù)傳輸?shù)膮f(xié)議,除了幀長略低于TCP協(xié)議外,該協(xié)議放棄了建立點到點連接、擁塞控制算法等特性也有助于傳輸速率的提升。
此外對于瀏覽器客戶端,對于參數(shù)數(shù)據(jù),由于瀏覽器內核不直接支持TCP與UDP協(xié)議,我們采用WebSocket協(xié)議作為替代。WebSocket協(xié)議是近年來誕生的新協(xié)議標準,其設計目的便是為了解決瀏覽器無法由服務器主動推送消息及輪詢效率低的問題[17],這與我們的場景不謀而合。
在11個子系統(tǒng)中,除權限服務、數(shù)據(jù)服務和存儲服務被設計為windows服務程序外,其余8個子系統(tǒng)均設計為包含用戶界面的應用程序。對于這些系統(tǒng),由于不同系統(tǒng)所處的平臺及功能的各不相同,所采用的技術也不同。表4給出了各子系統(tǒng)所采用的界面開發(fā)技術框架的一個清單。
對于NI參數(shù)轉發(fā)程序與P6000參數(shù)轉發(fā)程序,因實際需要被設計為嵌入相應的采集系統(tǒng)的一部分,故沿用了相應采集系統(tǒng)的技術選型。這里的LabView為一種可視化編程語言,常用于測量、控制、仿真等領域。VB為Visual Basic,6.0是它的最后一個版本,作為最早誕生的快速圖形化界面程序編程語言而被廣泛使用。
二級流媒體服務、綜合測控平臺、一體機桌面客戶端以及大屏幕桌面客戶端采用WPF語言加c#語言開發(fā),WPF語言全稱是Windows Presentation Fundation,它作為微軟提供的新一代桌面應用程序在2005年首次推出,并沿用至今。它提供類似html的xaml語言用于高效地構建界面樹,并配合c#語言實現(xiàn)完整的程序功能。
表4 各子系統(tǒng)界面開發(fā)技術框架
圖5 關鍵參數(shù)兩種表現(xiàn)方式
圖6 工藝圖表現(xiàn)效果
試驗管理平臺與瀏覽器客戶端采用ASP.net2.0配合c#語言實現(xiàn)。ASP.net是微軟推出的網頁開發(fā)框架,提供了大量可復用的界面控件,配合c#實現(xiàn)的后端支持,可快速實現(xiàn)既標準又美觀的網站頁面。
在四種展現(xiàn)方式中,參數(shù)表格、參數(shù)曲線與工藝圖三種展現(xiàn)方式是可視化方式,如圖5所示。
參數(shù)表格在數(shù)據(jù)表格中羅列了選定的參數(shù),對參數(shù)實測值按指定周期實時刷新顯示。參數(shù)曲線圖則按指定周期刷新時移曲線,一個曲線坐標軸下可包含多條曲線,當試驗發(fā)出點火信號后,曲線圖出現(xiàn)時間坐標,記錄點火持續(xù)時間。
工藝圖即模仿試驗臺實際工藝圖的演示版本,如圖6所示。除包含圖本身的靜態(tài)結構外,對圖中各種可動態(tài)化的元素做了參數(shù)驅動控制,這些元素包括各類開關、指示燈、液位罐液位以及數(shù)字量的直接展示等。每個動態(tài)元素均受相關參數(shù)的影響,當參數(shù)值變化時,元素的展現(xiàn)效果也會相應的變化。
如圖3,各子系統(tǒng)間涉及數(shù)據(jù)流與控制流的傳遞。由于各子系統(tǒng)所承擔的任務及采用的技術框架不同,系統(tǒng)采用了如下4種數(shù)據(jù)傳遞技術。
1、UDP
UDP即用戶數(shù)據(jù)報協(xié)議,我們利用該技術實現(xiàn)參數(shù)數(shù)據(jù)的傳輸,從參數(shù)轉發(fā)程序、到各服務及管理平臺、最后到各桌面客戶端,均采用了UDP方式。在UDP包中,我們自定義了協(xié)議頭,其中包含信源、時間戳、幀長、數(shù)據(jù)校驗和等所需信息,保證數(shù)據(jù)傳輸過程的安全與可靠。
2、WebSocket
WebSocket[17]為一種主要工作在瀏覽器端的新興協(xié)議,在數(shù)據(jù)服務給瀏覽器客戶端發(fā)送參數(shù)數(shù)據(jù)時,采用了WebSocket協(xié)議,原因在于瀏覽器不支持UDP協(xié)議。相比TCP協(xié)議,WebSocket協(xié)議更輕,且工作模式與UDP較相似。此外協(xié)議也傳遞服務程序向瀏覽器端的控制數(shù)據(jù)。
3、RTP
RTP即實時傳輸協(xié)議,適用于流媒體傳輸。在各子系統(tǒng)間傳遞流媒體數(shù)據(jù)采用RTP協(xié)議。
4、WCF
WCF全稱Windows通訊開發(fā)平臺,主要用于在服務子系統(tǒng)、管理子系統(tǒng)及桌面客戶端之間傳遞控制流。
目前,該系統(tǒng)已成為航天相關型號單位的重要試驗裝備。近期,系統(tǒng)在多個試驗區(qū)和試驗臺部署,并參與保障了大小幾十次的型號相關試驗,為領導決策分析、技術專家跟蹤保障、航天愛好者學習進步提供了有效支撐。
系統(tǒng)主要在如下幾個方面取得了成效:
1、為各類試驗人員提供了一套網絡互聯(lián)的試驗演示系統(tǒng);
2、擴充功能展現(xiàn)方式支持參數(shù)表格、參數(shù)曲線、視頻、工藝圖四種展現(xiàn)方式;
3、提供了一套豐富且較為完善的試驗信息管控工具;
4、提供了更現(xiàn)代化的試驗演示體驗;
5、提供客戶端、瀏覽器等多種終端以供各類人群參與試驗試車。
本文系統(tǒng)地介紹了火箭發(fā)動機試驗演示系統(tǒng)。該系統(tǒng)基于數(shù)據(jù)采集、管理與服務及前端展現(xiàn)三層設計模式,系統(tǒng)地規(guī)劃軟硬件架構,解決數(shù)據(jù)傳輸、界面、可視化、通信四大關鍵技術問題,形成了一套先進的、完善的試驗演示系統(tǒng)?,F(xiàn)該系統(tǒng)已成為航天領域重要的科研生產裝備,為祖國航天事業(yè)的發(fā)展作出了重要的貢獻。