0 前言
衛星地而測試是衛星研制過程中的重要環}丁,對其系統功能驗證及性能評估具有重要作用。然而,衛星地而測試系統本身作為一個復雜巨系統,其設計與實現過程仍受多種因素影響。①在應用過程中,測試系統中各測試單元常常需要把不同類型的測試結果周期性傳遞給各差異化服務單元,其信息交勺_過程呈現發布一詞閱模式。②不同類型的數據報告傳輸對其傳輸效率、安全性、可靠性等的要求可能不一樣,所以系統信息交勺_過程要能夠有效支持信息傳輸的差異性。③鑒于測試環境的多樣性,系統需跨平臺操作。然而,現有系統中各測試單元與服務單元間的緊禍合關聯,嚴重限制了系統的可擴展性,無法滿足各服務單元的差異化需求,并且現有系統的勺_操作性較差,難以在實際應用中人規模部署。
基于ICE \\(Internet Communication Engine\\)中間件的信息不J閱/發布機制為解決上述問題提供了一種新思路。ICE中間件通過解禍合消息發布者和消息訂閱者之間的關聯關系,保證了系統的高可擴展性及靈活配置,從而為人型衛星地而測試系統的分布式設計奠定了實現基礎。針對上述分析,本文給出一種新型的基于ICE中間件的分布式衛星地而測試系統設計,并給出其詳細實現過程。與傳統系統相比,該系統能夠有效避免傳統系統的復雜性,實現了日標服務器的動態定位及負載均衡,在系統開銷、內存使用及網絡帶寬占用等方而都有明顯優勢。
1 基于ICE中間件的分布式設計原理
中間件技術作為構建分布式應用系統的重要支撐技術,廣泛應用于分布式系統設計中。然而,現有中間件技術在跨平臺操作性及開發便利性等方而均不同程度地存在缺陷。
ICE作為一種而向對象的中間件平臺,它能夠為構建而向對象的分布式應用系統提供基于不同操作系統及不同編程語言的工具、通用接口和庫支持;并且ICE提供了簡單的對象模型、簡潔而功能強人的應用接口、高效緊湊的協議以及豐富的調用和派遣模式,從而為地而衛星測試系統設計提供了一種新思路。
首先,ICE提供的一種發布/訂閱服務ICEStrom,該服務能夠消除消息發布者和消息訂閱者之間的緊禍合關系,從而保證了系統的高可擴展性及靈活配置。傳統的消息訂閱/發布模式如圖1所示。
在傳統消息訂閱/發布模式下,消息發布者周期性為消息訂閱者提供所需要的消息。但是,該架構要求由消息訂閱者來管理消息發布者的注冊細竹、觀測數據傳輸以及出錯恢復等。在比較復雜的應用環境下,如多個訂閱者訂閱不同的消息且存在多個發布者發布不同的消息時,傳統信息訂閱/發布模式就需花費人量的資源來管理和維護上述過程中的細竹,嚴重限制了系統的可擴展性和靈活配置能力。而在ICE架構下,由ICEStorm充當消息發布者和消息詞閱者的中介,當消息發布者準備好分發一個新消息時,它不再關注訂閱者,只需要簡單地向ICEStorm服務器發出一個請求,由ICEStrom服務器全權負責把消息傳遞給訂閱者。與此類似,訂閱者僅需要與ICEStrom服務器進行簡單的交,完成像訂閱和取消訂閱這樣的任務,就可以獲得感興趣的消息。在此邏輯下,發布者和訂閱者都可以專注于其應用邏輯,極人地減少了信息訂閱/發布過程中的復雜度。如圖2所示。
同樣,消息發布可以基于主題進行分類。訂閱者會指定他們感興趣的主題,只有那些與該訂閱者感興趣的主題或相吻合的主題才會發布給該訂閱者。因此,上述架構特別適合于應用到人規模差異化應用環境。此外,ICE還提供了分布式管理服務,主要用于定位和激活ICE應用程序,該服務應用由注冊定位服務和任意竹點組成,它們協同管理組成應用的信息和服務進程,并為在不同的服務器上運行相同的服務提供冗余,在其中一臺服務器無法提供服務的情況下,其它的在同一個服務群組中的服務器還可以為客戶端提供相同的服務。
2 基于ICE中間件的分布式衛星地面測試系統設計
通過對系統需求分析,結合ICE在信息詞閱/發布及分布式管理服務方而的優勢,本文提出一種基于ICE中間件的分布式衛星地而測試系統的實現方案,如圖3所示。
測試系統中的各功能模塊分布式部署,并基于ICE中間件進行系統集成,從而為系統的測試提供支持?!肮δ苣K”主要包含三種模塊:提供硬件接口功能的一系列智能設備,包含特定軟件功能的計算機以及控制標準商用儀器的計算機軟件。前端測試單元通過多樣的測試接口對衛星遙測、遙控及姿勢等各種指令、信號及數據進行測試,并對測試數據分析整理形成各種主題的數據報告,最后發布給各差異化的服務單元。該系統依托ICE中間件技術,解禍合衛星地而測試系統中各服務單元間的關聯關系,從而實現系統的靈活配置和數據的高效發布,并實現了日標服務器的動態定位及負載均衡。
上述系統中,安全有效的事件消息通信機制是衛星地而測試系統設計中非常重要的一環,圖4給出了事件消息傳輸模塊的設計。
各功能模塊功能如下:。
\\(1\\)ICE用接口:實現異構環境下的規范化統一通信。
\\(2\\)接收線程池管理:管理接收處理事件的線程池,當有人量的事件并發產生時,根據優先級來進行處理。
\\(3\\)發送線程池管理:管理發布事件的線程緩沖池。
\\(4\\)網絡連接管理:限制并發事件發送和接收的連接數。
\\(5\\)事件緩沖管理:發送方把事件消息放到緩沖區,按照先進先出的原則,交給發送線程。
<6\\) QoS信息傳輸的QoS參數。
\\(7\\)內存管理:內存的統一分配和釋放。
依據上述功能設計,圖5給出了事件消息傳輸的流程。
上圖中,在發送端發送消息之前,接收端首先要調用用戶接口綁定自己唯一標識,并且與ICEStorm建立網絡連接,用于接收消息。建立好連接之后,接收端進入等待數據狀態,其中接收的數據通過回調函數來返回給上層應用。
發布端調用用戶接口來發布消息,自一先把事件消息放入先進先出帶優先級的事件緩沖區;發送線程池在有空閑線程的時候,將會從事件緩沖區取出事件消息,然后利用QoS管理傳輸參數。在數據準備完畢后,等待連接管理模塊分配網絡連接的句柄。在此期間,連接管理首先判斷是否有空閑連接或者能夠復用的連接,如果有,則返回網絡連接的句柄。ICE的通用傳輸接口通過調用句柄向ICEStorm服務器發布消息。
ICEStorm服務器在收到事件消息后,自一先遍歷與該事件消息主題相關的訂閱接收者,然后依次向各個訂閱者轉發事件消息。接收方接收到轉發的事件消息后,掛起等待接收線程池分配處理線程,在獲取接收線程句柄后對數據進行相應處理,最后送到用戶注冊接收的回調函數。
下而以其中一個主題T1為例,簡要說明衛星地而測試系統事件消息發布八」閱過程。消息發布者實現過程如下:\\(1\\)-}-先獲取主題管f}的一個代;\\(2\\)獲取T1主題的一個代,如果該主題不存在,就創建它,否則就獲取已有主題;\\(3\\)獲取T1主題的“發布者對象”代; \\(4\\)最后收集并發布事件消息。
消息訂閱者實現過程如下:\\(1\\)-一先獲取主題管理的一個代理;}2\\)創建一個對象適配器,作為主題接口的宿主;C3\\)實例化上述代理,并通過對象適配器激活;\\(4\\) 訂閱T1主題;\\(5\\)處理report消息,直到關閉為n; <6\\)取消T1主題的訂閱。
3系統測試為驗證系統設計的正確性,并進行性能測試,本文搭建的測試環境如圖6所示
測試環境由TP-LINK的SOHO路由器搭建的100M局域網。計算機5臺,操作系統均為Windows XP ProfessionalSP3,雙核2G內存,網卡都為100M/ 1000M自適應網卡。測試中,一臺計算機作為服務器,向其他計算機發送數據。4臺客戶機每臺開啟4到6個客戶端,總共20個客戶端。服務器以10條/秒的速率向客戶進行命令發送,每條命令字民為30K,持續時間為24小時。
測試結果表明:命令傳輸的吞吐量為10*20*60=12000條/分鐘;傳輸的數據量為12000v30K=360000K/分鐘。通過分析24小時的日志信息,服務器工作正常,并且命令正確送達,反饋時間小于0.001秒;丟包率小于0.01 %,且丟包之后上報時間小于0.003秒;對于有QoS要求的命令包,100%傳遞。測試結果遠遠高于衛星地而系統的性能指標,符合系統設計要求。
考慮到惡劣網絡環境下事件消息傳輸的情況,限制測試環境的網速為1M,服務器以10條/秒的速率向客戶進行命令發送,每條命令字民為5K,持續時間為24小時。命令傳輸的吞吐量為1Ox20x60=12000條/分鐘;傳輸的數據量為12000v5K=60000K/分釗,。測試結果表明,即使在網絡環境相對較差及滿負載的情況下,該系統也能達到衛星地而測試的性能指標。
4 結語
通過分析衛星地而測試的業務需求,提出一種基于ICE中間件的衛星地而測試系統。該系統依托ICE中間件技術,解禍合衛星地而測試系統中各服務單元間的關聯關系,從而實現系統的靈活配置和數據的高效發布,并實現了日標服務器的動態定位及負載均衡。最后,系統測試有效驗證了上述方案的正確性及性能。
參考文獻:
[1]Joseph H.Yuen.Deep. Space Telecommunications SystemsEngineering[M].New York:Plenum Press 1983.
[2]陳宜元\\(主編\\).衛星無線電測控技術「M].中國宇航出版社.