?

數據分發技術在無人機地面站系統通信網絡中的應用

2015-09-27 02:47柴毅哲楊任農鄔蒙張歡空軍工程大學航空航天工程學院西安710038
現代計算機 2015年27期
關鍵詞:數據通信中間件實時性

柴毅哲,楊任農,鄔蒙,張歡(空軍工程大學航空航天工程學院,西安710038)

數據分發技術在無人機地面站系統通信網絡中的應用

柴毅哲,楊任農,鄔蒙,張歡
(空軍工程大學航空航天工程學院,西安710038)

0 引言

隨著信息科技的飛速發展的同時,國家的軍隊建設也在不斷壯大,海量的數據傳輸和安全高效的通信網絡覆蓋是軍隊建設的必然發展趨勢。而傳統的通信架構和傳輸協議,如CORBA技術,它是采用面向過程的客戶端/服務器通信模式,其通信過程比較復雜,在建立鏈接的基礎上才能進行數據分發,且數據傳輸效率低,存在掉線的問題,而且不能滿足系統對實時性的需求;再如分布式共享內存技術,它是以數據為中心的通信模式,由于該模式執行效率低,靈活性差,很難滿足系統的實時性需求。因此,這些傳統的通信模式不能應用于航電系統、空管系統、指揮訓練系統等對分布式系統的通信可靠性、實時性、靈活性要求較高的領域。

為了更好的解決上述問題,在數據分發服務(Data Distribution Service,DDS)[1]中建立一種以數據為中心的發布/訂閱(P/S)模型,DDS是由對象管理組織(Object Management Group,OMG)針對發布訂閱模型頒布的一種規范,P/S模型與CORBA[2-3]技術或其他模型相比,具有較好的實時性、靈活性和可靠性。本文研究的無人機地面站系統通信網絡將以RTI-DDS作為通信基礎中間件,然后設計并實現適合本系統的通信機制,以滿足通信中的實時性、可靠性、靈活性等數據分發需求。

1 DDS原理與通信模式

數據分發服務(DDS)是由對象管理組織(OMG)針對分布式實時系統中數據發布/訂閱(P/S)模型頒布的一種新的規范,該規范包含兩層機構,分別是底層的以數據為中心的發布/訂閱 (Data-Centric Publish-Subscribe,DCPS)層和高層的數據本地重構 (Data Local Reconstruction Layer,DLRL)層[4]。采用以數據為中心的發布/訂閱通信模式,將數據資源、資源期待值、網絡情況等用服務質量(Quality of Service,QoS)參數描述,是一種輕便的,能提供實時、可靠的數據分發的數據通信規范,可用于空天防御、仿真、工業自動化、控制、機械化、通信等領域。

數據分發服務(DDS)模型的基本體系框架如圖1所示,主要包括:數據發布者Publisher、數據訂閱者Subscriber、數據寫DataWriter、和數據讀DataReader、主題Topic。

Publisher通過創建不同的DataWriter發布數據,不同的數據類型用不同的Topic標識,Publisher不直接分發數據,只負責創建和管理DataReader,DataReader負責發布主題,接收主題訂閱信息,并分發數據給Subscriber;Subscriber負 責 創 建 和 管 理 DataReader,DataReader負責訂閱數據;Topic起到關聯DataWriter 和DataReader的作用,DataWriter告知DDS或其他應用它擁有的數據類型的Topic,DataReader則會告知DDS它想要得到的數據的 Topic。DataWriter和DataReader之間進行數據分發與Topic密切相關。當DataReader訂閱的主題與DataWriter發布的主題相同,且二者QoS參數匹配時,即建立發布-訂閱關系并進行數據分發。

圖1 DDS模型的基本體系框架

(1)DCPS通信模型

底層的DCPS層是DDS的核心和基礎,提供了通信的基本架構,確保將相應信息傳遞給對該信息“感興趣”的接收者,該層建立了一個全局數據空間(Global Data Space,GDS)的概念[5]。發布者(Publisher)在全局數據空間中創建數據,并給數據設定主題(Topic),然后將數據分發給訂閱該數據的訂閱者,訂閱者(Subscriber)通過注冊主題訂閱自己“感興趣”的數據,然后當該數據發生變化時接收數據,訂閱者可以通過兩種通信方式接收數據,一種是異步存取方式,另一種是同步條件存取方式。

訂閱完成后通過通信中間件處理,然后再進行數據分發,即將傳統的客戶端/服務端(C/S)模式轉換為以數據為中心的發布/訂閱(P/S)模式。需要注意的一點是,DCPS通信模型[6]構建在全局數據空間(GDS)之上,所有數據對象都包含于全局數據空間中,但并不是所有數據都已經寫入計算機內存地址中,只有各分布式節點在啟動后聲明需要的數據才會存在于內存地址空間中,這一設計大大提高了DDS通信的效率。DCPS通信模型如圖2所示。

圖2 DCPS通信模型

本文數據分發服務 (DDS)主要由Publisher、Data Writer、Subscriber、DataReader和GDS共同實現 Topic的創建和數據的分發功能。下面從數據傳輸的角度來闡述DDS的工作流程。

(1)發布過程

如圖3所示為數據分發服務(DDS)發布/訂閱消息工作流程。當某個分布式節點需要發送消息時,由Publisher創建一個DataWriter,然后DataWriter將該消息的Topic和其提供的QoS參數發送給其他各個分布式節點的全局數據空間 (GDS)上,發送完成后DataWriter保持阻塞狀態直到有數據需要發布時才被激活。同時,各個分布式節點在其GDS中的發布主題表中添加該條發布信息。

(2)訂閱過程

當訂閱者需要訂閱某個Topic的數據時,首先由Subscriber創建一個DataReader,然后DataReader在其所在的分布式節點的GDS中的發布主題表中查找到所有Topic相同且QoS參數匹配的Publisher,然后選擇一個作為訂閱對象,并將數據對應的Topic和QoS策略發送到該Publisher所在分布式節點的GDS中,然后Subscriber保持阻塞狀態直到有數據需要接收時才被激活。當某個分布式節點收到來自DataReader的訂閱信息時,首先更新GDS中的訂閱登記表的記錄信息。然后查找發布主題表中的被訂閱信息并將數據發送給訂閱者。

圖3 DDS數據分發工作流程圖

(3)數據分發過程

當某個分布式節點中有數據需要發布時,DataWriter被激活,然后GDS在訂閱登記表中進行查找,看是否有QoS參數匹配且Topic相同的DataReader存在。 若存 在 DataReader,則 DataWriter就 跟DataReader建立發布/訂閱關系,然后,GDS將訂閱登記表中的訂閱相關信息傳輸給DataWriter,同時激活DataReader,激活完成后DataWriter根據接收到的訂閱相關信息將數據發送給DataReader,然后繼續保持激活狀態直到下次有數據需要接收時才被激活。DataReader接收到DataWriter傳輸來的數據后,對數據進行處理后繼續保持阻塞狀態直到下次有數據需要接收時才被激活。若不存在DataReader,則DataWriter繼續保持阻塞狀態繼續等待下次被激活。

數據分發服務(DDS)模型通過將發布者所提供數據信息的狀況,訂閱者對所需數據的期望等信息用服務質量(QoS)策略描述,通信中間件按照提供的QoS參數要求選擇最合適的數據發布/訂閱方式,從而既達到了數據實時傳輸,也提高了通信靈活性,實現了可靠穩定的實時數據分發服務。

(1)RTI-DDS通信中間件的通信過程

①發布過程

首先創建域參與者(Domain Participation),并用該域參與者注冊所需數據類型,然后為注冊的數據類型設定主題,接著創建Publisher,并用Publisher為Topic創建一個DataWriter,然后需要將創建的DataWriter強制轉換為所注冊數據類型的DataWriter。轉換完成后,開始在主題實例中存儲所注冊數據類型的數據,最后調用所注冊數據類型的DataWriter進行數據發布。

②訂閱過程

首先創建域參與者(Domain Participation),并用該域參與者注冊所需數據類型,然后為注冊的數據類型設定主題,接著創建Subscriber,并用Subscriber為Topic創建一個 DataReader,然后需要將創建的DataReader強制轉換為所注冊數據類型的DataReader。轉換完成后,在Subscriber或者DataReader上安裝監聽(Listener),然后當有數據存在時,RTI-DDS通信中間件自動處理接收到的數據,然后在on_data_aviliable()函數內部獲取數據。

(2)DDS可靠通信

為了保證通信的可靠性,RTI-DDS有兩種數據傳輸方式,一種是盡力傳輸方式(Best-effort),在缺省的情況下使用,另一種方式是可靠傳輸方式(Reliable),使用Best-effort方式進行數據傳輸,不在乎個別數據的丟失,可以保證傳輸的實時性傳輸,但同時也會降低數據傳輸的可靠性,使用Reliable方式進行數據傳輸,確保所有傳輸數據準確到達,可以保證數據傳輸的可靠性,但同時會產生延時。不管采用哪種傳輸方式,都不能同時使實時性和可靠性均達到最佳效果,所以,可以根據不同的數據通信需求靈活選擇數據傳輸方式。本文重點分析RTI-DDS的Reliable傳輸方式。

使用Reliable傳輸方式,可以保證數據被準確有序發布,每個分布式節點或應用的DataWriter有一個可調整大小的發布隊列空間,DataReader也有一個可調整大小的接收隊列空間,發送隊列空間和接收隊列空間用來臨時存放數據直到數據被確保完全正確發送。對于發送隊列空間,只有當數據被正確發送給所有的Subscriber,才會從發送隊列空間中將該數據移除,如果發送隊列空間已滿,數據將會在發送隊列空間中保存一定時間然后被刪除。對于接收隊列空間,當用戶已經獲取接收到的數據時,才將該數據從接收隊列空間中刪除,如果接受隊列空間已滿,則會放棄接收新數據,直到有空間時才會繼續接收。

當發送數據時,DataWriter可以被設置為需要等待有可用的隊列空間時才去發送數據,這種情況下,發送線程將會處于阻塞狀態,只有當存在可用隊列空間時才被激活。若DataWriter被設置為忽略隊列空間是否已滿隨時發送數據,這種情況下,已經存在于隊列空間中的舊數據可能會在沒有被所有的DataReader接收完時被擠出隊列空間。此時,DataReader會被告知數據已丟失,RTI-DDS會發送ACK信息確??煽客ㄐ牛?]。需要注意的是,DataWriter使用write()寫入數據返回成功的返回值時,并不代表數據已被DataReader獲取,只是表明數據已被加入發送隊列空間中。用戶可以通過查看RELIABLE_WRITE_CACHE_CHANGED狀態集中是否含有NACK消息得知是否數據已被所有DataReader獲取。

通過上述分析可知,隊列空間的大小對數據傳輸的效率有很大的影響,為了高效進行數據傳輸,RTIDDS采用RTPS(實時發布/訂閱)協議來保證可靠通信。當DataWriter使用write()寫入數據時響應該協議,該協議通過不同消息類型傳遞相應信息來保證通信的可靠性,包括DATA消息,ACKNACK消息,HB消息等。DATA消息由傳輸數據值和序列號組成,序列號時唯一的,是該消息的標識。ACKNACK消息是DataReader收到數據后告知DataWriter其是否成功接收到數據的消息。HB消息包括 DataWriter告知DataReader其接收到的數據的序列號的范圍消息和DataReader反饋給DataWriter的確認消息。

圖4 無丟包可靠通信過程

如圖4是無丟包的可靠通信過程,在發送隊列空間中,每個待發送的數據都有一個唯一的序列號,DataWriter將消息發送給DataReader,然后數據被存入接收隊列空間中,DataReader通過序列號得知沒有丟包數據,然后告知用戶可以處理數據。DataWriter向DataReader發送HB(1)消息,DataReader確認已經接收到該序列號代表的數據后向DataWriter返回 ACKNACK(2)消息,即已經正確接收該序列號之前的全部消息,DataWriter收到反饋信息后即可獲知數據已被準確發送。

3 無人機地面站系統通信網絡面臨問題

無人機地面站系統共有10個模塊構成,該系統基于松耦合架構設計,分為基礎服務框架和業務組件。其中基礎服務框架包含控制管理模塊、安全監視模塊、數據備份模塊;業務組件包括任務情報模塊、導航模塊、合成視景模塊、飛機狀態顯示模塊、通信鏈路模塊、實時音視頻回放模塊、任務規劃模塊?;A服務框架部分提供數據服務、安全服務和系統控制功能。系統邏輯架構如圖5所示。

從系統框圖能夠看出,無人機地面站系統各個模塊之間都要進行數據通信,對數據通信的要求很高,需求量很大。包括任務規劃模塊內部數據通信以及與通信鏈路模塊、控制管理模塊和數據備份模塊的數據通信,數據備份模塊內部數據通信以及與通信鏈路模塊、導航模塊、任務規劃模塊、控制管理模塊的數據通信,控制管理模塊與數據備份模塊的數據通信等。由此可知,系統需要的數據通信量大且種類繁雜,普通的數據通信技術不能滿足系統對數據傳輸的實時性、可靠信、靈活性等方面的要求,因此,我們通過RTI-DDS作為本系統的數據通信中間件為系統提供實時可靠的數據分發服務。

圖5 無人機地面站系統框圖

4 系統驗證

RTI-DDS符合對象管理組織(OMG)頒布的數據分發服務(DDS)標準,是專為實時分布式交互系統提供數據通信的中間件,可以把它當作一個數據總線。RTIDDS通信性能良好,且兼容其他通信標準,采用開放式架構設計,可通過UPD協議提高數據分發效率,同時也可以通過配置服務質量(QoS)參數確保通信可靠性和穩定性,這樣的靈活設計方式,可以基本滿足系統的預期升級要求。接下來通過實驗測試RTI-DDS在實時性、吞吐量、可靠性等方面的性能[8],看其能否滿足無人機地面站系統通信網絡的性能要求。實驗采用的計算機的操作系統為 Windows 7,CPU為 Intel Core i7 3.4GHz(8 CPUs),內存為8G,交換機采用TP-Link TLSF1024D(10/100Mbps Unmanaged Switch)。

(1)丟包率測試

首先對丟包率進行測試,本文通過發送固定大小的同一包數據的形式對RTI-DDS的丟包率進行測試,數據包大小不變,可以避免因數據包大小對傳輸效率的影響干擾,發送同一包數據,可以有效避免接收到錯誤數據包的情況,本實驗中,當某種原因造成接收到的數據包與發送的數據包不同時,按照丟包處理。實驗中首先由數據發送者向數據接收者發送數據包,并記下發送數據包個數,數據接收者接收到數據包后,先對數據準確性進行判斷,確定接收到的數據包無誤后記下接收到的數據包總個數,然后通過對比發送數據包個數和接收數據包個數既可得到本次實驗的丟包率;

(2)實時性測試

測試延時值時,通過發送數據包的形式進行測試,實驗中首先由數據發送者向數據接收者發送數據,數據接收者記下接收到數據的時刻,然后立刻把接收到的數據返回給發送者,發送者隨即記下接收到反饋回來的數據的時刻,然后將這兩個時刻之間的時間差折半即為該次發送數據包的時延。由于發送一包數據的時延是很小的,我們采用連續發送10000包大小為1024B的數據包作為一次實驗,取最終的平均時延作為本次實驗測得的延時值大小。

(3)吞吐量測試

通過測試單位時間內數據分發量的形式對RTIDDS的吞吐量進行測試,實驗中首先測試數據包大小對吞吐量的影響,從實驗結果中得知,當數據包大小大于256B之后,其吞吐量值趨于穩定,因此,為排除因數據包大小對吞吐量測試值的干擾,本次實驗中我們選擇發送大小為1024B的數據包。然后以固定時間間隔在一分鐘內發送同一大小的數據包,并通過計算單位時間內數據分發總量的大小測試吞吐量,所得的測試吞吐量值作為一次實驗結果。

測試的結果如表1所示:

表1 RTI-DDS通信中間件傳輸數據測試表

從測試結果中可知,不管是采用哪種傳輸方式,其丟包率都非常小,說明RTI-DDS在數據傳輸時的穩定性非常好;該實驗測試環境的網絡帶寬是10/100Mbps,理想情況下吞吐量能達到100Mbps,而在實際環境中,由于傳輸介質物理受損等因素,其吞吐量一般只能達到90Mbps左右,從測試數據表中看出,數據的傳輸帶寬83Mbps已經非常接近實際帶寬,從而能夠說明,限制RTI-DDS傳輸帶寬的因素是傳輸介質的帶寬容量,如果傳輸介質的帶寬容量增加,則RTI-DDS的吞吐量也會接近理論值;兩種傳輸方式的平均延時和最大延時都是毫秒級的,非常小,完全能夠滿足分布式綜合系統對實時性的要求??傊?,該通信中間件完全能夠滿足大型分布式系統的通信性能要求。

5 結語

基于RTI-DDS的數據通信分發服務,可以在大型分布式系統中為各分布式節點之間提供實時可靠的數據分發,本文通過分析無人機地面站系統通信網絡中面臨的問題,引出使用RTI-DDS解決大型分布式系統的數據通信問題,然后通過系統驗證,對RTI-DDS在丟包率、實時性、吞吐量等方面的性能進行測試,從實驗結果能夠看出,使用RTI-DDS可以滿足無人機地面站系統通信網絡的性能要求,具有一定的實用價值。

[1]Object Management Group(OMG).Data Distribution Service for Real-time Systems Specification Version 1.2[S].2007

[2]Object Management Group(OMG).Real-time CORBA Specification Version1.2[R].2015,1.

[3]許海濤,張建偉,鄭燦祥.基于CORBA與DDS技術改進DRS系統通信[J].計算機工程與技術,2012,33(1):357-361.

[3]XU Hai-tao,ZHANG Jian-wei,ZHANG Can-xiang.Improved communication of DRS system based on CORBA and DDS technology [J].Computer Engineering and Design,2012,22(1):357-361.

[4]張珺,尹遜和.基于RTI-DDS的數據分發中間件的升級設計[J].北京交通大學學報,2011,35(5):31-37.

[5]謝陽杰,吳家鑄.數據分發服務DDS的研究[C].全國第19屆計算機技術與應用學術會議論文集(上冊).2008:51-56.

[6]Kwon K J,Park C B,Choi H.A Proxy-based approach for mobility support in the DDS system[C].6th IEEE International Conference on Industrial Informatics.[s.1.]:[s.n.],2008:1200-1205.

[7]曹萬華,謝蓓,吳海昕,程雄.基于DDS的發布/訂閱中間件的設計[J].計算機工程,2007,33(18):78-80.

[8]歐陽軍,蔡志明,王希敏.基于DDS中間件的性能測試[J].船舶電子工程,2011,31(11):136-139.

Data Distribution Service;DCPS;Real Time Data Distribution;Distributed System

Research on Communication Network's Data Distribution Technology in UAV's Ground Controlling System

CHAI Yi-zhe,YANG Ren-nong,WU Meng,ZHANG Huan
(Aeronautics and Astronautics Engineering College,Air Force Engineering University,Xi'an 710038)

1007-1423(2015)27-0074-07

10.3969/j.issn.1007-1423.2015.27.020

柴毅哲(1990-),男,河南鞏義人,在讀碩士研究生,研究方向為網絡安全與信息對抗

楊任農(1969-),男,四川彭州人,碩士,教授,研究方向為網絡安全與信息對抗

鄔蒙(1978-),男,四川成都人,碩士,講師,研究方向為信號與信息系統

張歡(1989-),男,陜西安康人,在讀博士研究生,研究方向為武器系統作戰規劃與訓練評估

2015-09-12

2015-09-23

對對象管理組織(OMG)頒布的數據分發服務(DDS)進行介紹,分析DDS的基本原理、工作流程和通信模式,重點分析RTI-DDS的可靠通信模式,然后以無人機地面站系統為例,分析大型分布式系統面臨的數據通信問題,然后以解決大型分布式綜合系統數據通信為目的對RTI-DDS的通信性能進行系統驗證,最終得出結論,使用RTI-DDS可以滿足無人機地面站系統通信網絡的性能要求,具有很好的實用價值。

數據分發服務;以數據為中心的發布/訂閱;實時數據分發;分布式系統

Introduces the data distribution service specification,which is defined by Object Management Group.Analyzes the fundamental theory,flow of work,communication model of DDS.It is the key point to analyze the reliable communication model of RTI-DDS.Takes UAV's ground controlling system(GCS)as an example,analyzes about data communication problems of large-scale distributed system.And then takes aim at solving data communication problems of large-scale distributed system,do experiments to test and prove the communication performance of RTI-DDS.It is proved that the requires can be satisfied by using RTI-DDS to solve data communication problems of distributed system,and it is practical.

猜你喜歡
數據通信中間件實時性
數據通信網絡維護與網絡安全問題探討
RFID中間件技術及其應用研究
監測系統接口數據通信方式
關于數據通信電源現狀和高壓直流供電新系統的分析
基于Android 平臺的OSGi 架構中間件的研究與應用
航空電子AFDX與AVB傳輸實時性抗干擾對比
計算機控制系統實時性的提高策略
一種高效可靠的串行數據通信協議及處理算法
中間件在高速公路領域的應用
一種車載Profibus總線系統的實時性分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合