• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      DDS在分布式仿真中的應(yīng)用探討*

      2015-06-07 10:52:06任棕詵任雄偉
      艦船電子工程 2015年11期
      關(guān)鍵詞:發(fā)布者數(shù)據(jù)類型應(yīng)用程序

      任棕詵 任雄偉

      (海軍工程大學(xué)電子工程學(xué)院 武漢 430033)

      DDS在分布式仿真中的應(yīng)用探討*

      任棕詵 任雄偉

      (海軍工程大學(xué)電子工程學(xué)院 武漢 430033)

      分布式仿真規(guī)模不斷擴(kuò)大,仿真環(huán)境也日趨復(fù)雜,造成了網(wǎng)絡(luò)通信數(shù)據(jù)量的大幅度增加,需要一種高性能的實(shí)時(shí)通信技術(shù)來完成數(shù)據(jù)分發(fā)。傳統(tǒng)的基于客戶/服務(wù)器的通信模型已不能滿足實(shí)際需求,基于DDS的以數(shù)據(jù)為中心的通信模型逐漸成為發(fā)展方向。文中介紹了DDS的各要素,分析了DDS各方面的特性,并對RTI-DDS的應(yīng)用做出了具體描述。

      數(shù)據(jù)分發(fā)服務(wù);分布式仿真;實(shí)時(shí)通信

      Class NumberTP391.9

      1 引言

      隨著分布式仿真中系統(tǒng)規(guī)模的擴(kuò)大與復(fù)雜性的提高,需要實(shí)時(shí)、頻繁地在系統(tǒng)內(nèi)部交換大量數(shù)據(jù)信息,這就造成了網(wǎng)絡(luò)數(shù)據(jù)量的大幅度增加,從而對系統(tǒng)的數(shù)據(jù)分發(fā)性能提出了更高要求。之前采用的高層體系結(jié)構(gòu)(HLA)以運(yùn)行支撐環(huán)境(RTI)為工作中心,存在性能瓶頸和可伸縮性問題,不支持服務(wù)質(zhì)量(QoS),且發(fā)布/訂閱過于繁瑣,越來越不能滿足實(shí)際需求[1]。

      與此同時(shí),另一種數(shù)據(jù)分發(fā)技術(shù)DDS獲得了極大成功。對象管理組織OMG于2004年發(fā)布了第一個(gè)以數(shù)據(jù)為中心的發(fā)布/訂閱通信模型——數(shù)據(jù)分發(fā)服務(wù)(DDS)規(guī)范,并在2007年1月推出了V1.2版[2]。DDS靈活的數(shù)據(jù)通信機(jī)制允許分布式的大量節(jié)點(diǎn)進(jìn)行異步的和實(shí)時(shí)的通信,極大地提高了通信效率,可以滿足分布式仿真對于數(shù)據(jù)分發(fā)高速、高效的要求[3]。

      2 DDS概述

      2.1 DDS規(guī)范

      DDS主要包括主題(Topic)、域(Domain)和域成員(DomainParticipant)、發(fā)布者(Publisher)和數(shù)據(jù)寫入者(DateWriter)、訂閱者(Subscriber)和數(shù)據(jù)讀取者(DataReader)、監(jiān)聽器(Listener)、條件觸發(fā)器(StatusCondition)等要素[4]。下面給出簡單介紹:

      ·主題:發(fā)布者與訂閱者之間通過主題(數(shù)據(jù)寫入者與數(shù)據(jù)讀取者的主題)進(jìn)行匹配,具有相同主題的發(fā)布者與訂閱者可以直接進(jìn)行點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸,不需要中間媒介。

      ·域和域成員:DDS通過域來劃分邏輯網(wǎng)絡(luò),域名相同的應(yīng)用相互之間才能通信,這樣就可以在一個(gè)物理網(wǎng)絡(luò)上虛擬多個(gè)通信網(wǎng)絡(luò)(如圖1)。

      圖1 多域系統(tǒng)

      ·發(fā)布者和數(shù)據(jù)寫入者:發(fā)布者將其數(shù)據(jù)寫入者組織起來,由數(shù)據(jù)寫入者對數(shù)據(jù)進(jìn)行分發(fā)。

      ·訂閱者和數(shù)據(jù)讀取者:訂閱者用來組織數(shù)據(jù)讀取者,通過數(shù)據(jù)讀取者從網(wǎng)絡(luò)上獲得數(shù)據(jù)并傳遞給應(yīng)用。

      ·監(jiān)聽器:監(jiān)聽器為DDS中間件提供了一種通知應(yīng)用程序相關(guān)的異步事件的機(jī)制。

      ·條件觸發(fā)器:作為監(jiān)聽器的補(bǔ)充,提供了中間件與應(yīng)用程序之間的另一種同步通信模式,是基于等待的。

      DDS標(biāo)準(zhǔn)化了數(shù)據(jù)交換的接口和行為,它描述了兩個(gè)層次的接口[5]:

      1)以數(shù)據(jù)為中心的發(fā)布/訂閱DCPS層

      DCPS是DDS的核心層,提供發(fā)布與訂閱數(shù)據(jù)的功能,使發(fā)布者能夠發(fā)布擁有的數(shù)據(jù),訂閱者能夠訂閱感興趣的數(shù)據(jù),建立一個(gè)不需要維護(hù)的、快捷的數(shù)據(jù)通道。

      2)數(shù)據(jù)本地重構(gòu)DLRL層

      DLRL是DDS的可選層,建立在DCPS與應(yīng)用層之間,以類的形式對DCPS層提供的服務(wù)進(jìn)行了封裝,DLRL層通過這些類讓應(yīng)用層可以快速地訪問數(shù)據(jù)。

      2.2 DDS的特性

      DDS以數(shù)據(jù)為中心,它的數(shù)據(jù)對象存在于全局?jǐn)?shù)據(jù)空間中,通過全局?jǐn)?shù)據(jù)空間上與數(shù)據(jù)對應(yīng)的主題來關(guān)聯(lián)通信雙方(如圖2)。

      圖2 DDS通信模型

      DDS采用UDP/IP協(xié)議,支持一對一、一對多、多對多的通信,提供盡力傳輸(BEST_EFFORT)和可靠傳輸(RELIABLE)兩種傳輸服務(wù),當(dāng)應(yīng)用程序?qū)?shí)時(shí)性要求高時(shí)允許通過降低可靠性來縮短時(shí)延,這時(shí)就要用到盡力傳輸方式。由于DDS不需要中心服務(wù)器,可以直接使用P2P傳輸方式,消除掉網(wǎng)絡(luò)中轉(zhuǎn)引起的時(shí)延,與C/S模型相比大大提高了傳輸速度。另外,利用DDS進(jìn)行多點(diǎn)傳送,可以把單個(gè)數(shù)據(jù)包同時(shí)發(fā)送給多個(gè)分布式節(jié)點(diǎn),極大地提高了大型網(wǎng)絡(luò)的吞吐量[6]。

      DDS擴(kuò)展性強(qiáng),可以方便地增加節(jié)點(diǎn),不會對系統(tǒng)造成什么影響;容錯性好,即使個(gè)別節(jié)點(diǎn)發(fā)生故障,系統(tǒng)仍然可以運(yùn)轉(zhuǎn)。DDS具有高效的動態(tài)配置能力,能快速發(fā)現(xiàn)新的節(jié)點(diǎn)及其主題,舊的或者失效的節(jié)點(diǎn)也容易去掉。當(dāng)一個(gè)域被分割時(shí),系統(tǒng)也可以很快重新組合成新域,然后各自獨(dú)立工作,修復(fù)后則能恢復(fù)如初,自愈能力很獨(dú)特。

      DDS用QoS策略控制服務(wù)行為,保證服務(wù)質(zhì)量,它將資源的可用情況、提供方對資源的占有程度及請求方對資源的期待程度分別化為主題QoS、發(fā)布者QoS和訂閱者QoS。QoS參數(shù)虛擬了底層的通信機(jī)制,包括可靠性、等待時(shí)間、帶寬限制和資源限制等[7]。

      發(fā)布者發(fā)布數(shù)據(jù),訂閱者訂閱數(shù)據(jù),不需要知道彼此的位置,只要兩者的QoS兼容且Topic一致就能建立連接,增加了通信的靈活性(如圖3)。

      圖3 QoS對通信的影響

      下面簡單介紹五個(gè)重要的QoS參數(shù)[8]:

      ·History(歷史記錄):控制發(fā)送隊(duì)列中的數(shù)據(jù)總量,與Durability及Reliability相關(guān)聯(lián)。

      ·Durability(持續(xù)性):如果創(chuàng)建發(fā)布者時(shí)此屬性被選中,那么將在內(nèi)存中保存其發(fā)布數(shù)據(jù)的歷史記錄,保留的數(shù)據(jù)總量由History屬性控制。Durability允許后加入的訂閱者獲得在其創(chuàng)建之前已經(jīng)發(fā)送過的數(shù)據(jù)。

      ·Reliability(可靠性):如果創(chuàng)建發(fā)布者時(shí)此屬性被選中,發(fā)布者會發(fā)送所有的數(shù)據(jù)。如果由于通信錯誤導(dǎo)致訂閱者不能接收到數(shù)據(jù),就會修復(fù)該錯誤并重新發(fā)送數(shù)據(jù)。

      ·Deadline(時(shí)間限制):對于發(fā)布者而言,Deadline是發(fā)布者承諾更新數(shù)據(jù)的最大時(shí)間間隔;對于訂閱者而言,Deadline是期望從發(fā)布者得到更新數(shù)據(jù)的最大時(shí)間間隔。

      ·Liveliness(活躍性):用于檢測發(fā)布者的狀態(tài),甚至當(dāng)它沒有活躍地發(fā)送數(shù)據(jù)時(shí)也可以檢測。創(chuàng)建發(fā)布者時(shí)設(shè)定的Liveliness是發(fā)布者發(fā)出活躍信號的最大時(shí)間間隔。創(chuàng)建訂購者時(shí)設(shè)定的Liveliness是訂閱者希望確認(rèn)發(fā)布者的存在的最大時(shí)間間隔。

      3 基于RTI-DDS的分布式仿真的具體實(shí)現(xiàn)

      RTI-DDS由Real-Time Innovations公司開發(fā)實(shí)現(xiàn)的,第一個(gè)支持DDS規(guī)范的商業(yè)產(chǎn)品(以前叫做NDDS)。RTI公司是DDS市場的領(lǐng)導(dǎo)公司,它實(shí)現(xiàn)了完整的DCPS和部分的DLRL,適用于Linux、Solaris、AIX、VxWorks、INTEGRITY、LynxOS、Windows等多種系統(tǒng)。

      RTI-DDS不僅支持UDP,還支持TCP、共享內(nèi)存等多種通信方式。RTI-DDS采用分布對稱式的體系結(jié)構(gòu),所有節(jié)點(diǎn)都是完全對等的,避免了瓶頸問題的出現(xiàn)[9]。

      在分布式仿真中,以仿真引擎為數(shù)據(jù)源,將其與各平臺(包括飛機(jī)教控臺、艦艇教控臺、潛艇教控臺、兵力模擬系統(tǒng)等)相連接,平臺下設(shè)探測裝置、控制系統(tǒng)、武器等裝備模擬器,各節(jié)點(diǎn)裝備發(fā)布或者訂閱數(shù)據(jù)(如圖4)。

      圖4 分布式仿真系統(tǒng)通信架構(gòu)

      對這些數(shù)據(jù)類型的定義,RTI提供了三種方法[10]:

      1)使用中間件內(nèi)嵌的數(shù)據(jù)類型,適用于簡單的數(shù)據(jù)類型需求;

      2)通過Code Generator(rtiddsgen)來定義,它可以在編譯時(shí)將描述性語言轉(zhuǎn)換成特定的編程語言;

      3)在運(yùn)行時(shí)通過編程來定義,適用于有動態(tài)數(shù)據(jù)描述需求以及數(shù)據(jù)改變頻繁或不能提前知道的應(yīng)用程序。

      通過設(shè)定域,不僅單平臺的裝備可以通信,多個(gè)平臺的裝備之間也可以通信。一個(gè)訂閱者可以在全局?jǐn)?shù)據(jù)空間中找到多個(gè)相同主題,實(shí)現(xiàn)一對多的連接,一個(gè)連接失敗可以換用另一個(gè),大大降低了網(wǎng)絡(luò)延遲,圖4中的域0就是這種情況,指控模擬器可以訂閱由多個(gè)傳感器發(fā)布的主題為“目標(biāo)狀態(tài)”的數(shù)據(jù)。

      發(fā)布方應(yīng)用程序與訂閱方應(yīng)用程序通過DDS中間件進(jìn)行交互,發(fā)布方按照以下步驟發(fā)送數(shù)據(jù)(以域1為例):

      1)在火控模擬器上創(chuàng)建一個(gè)域成員;

      2)通過域成員注冊用戶數(shù)據(jù)類型Command-DataType;

      3)用注冊的數(shù)據(jù)類型名稱創(chuàng)建主題“控制命令”;

      4)利用域成員創(chuàng)建一個(gè)發(fā)布者(可選);

      5)通過發(fā)布者或域成員為主題創(chuàng)建一個(gè)數(shù)據(jù)寫入者;

      6)將普通的數(shù)據(jù)寫入者映射成指定類型的數(shù)據(jù)寫入者CommandDataWriter;

      7)將要發(fā)送的數(shù)據(jù)存儲在一個(gè)類型為CommandDataType的變量Command中;

      8)調(diào)用CommandDataWriter的write(),將變量Command的值存儲在DDS內(nèi)部緩沖器中;

      9)當(dāng)有匹配的數(shù)據(jù)讀取者時(shí),依據(jù)發(fā)布者和數(shù)據(jù)寫入者的QoS策略設(shè)定的標(biāo)準(zhǔn)發(fā)送數(shù)據(jù)。

      類似地,訂閱方接收數(shù)據(jù)的步驟為:

      1)在導(dǎo)彈模擬器上創(chuàng)建一個(gè)域成員;

      2)通過域成員注冊用戶數(shù)據(jù)類型Command-DataType;

      3)用注冊的數(shù)據(jù)類型名稱創(chuàng)建主題“控制命令”;

      4)利用域成員創(chuàng)建一個(gè)訂閱者(可選);

      5)通過訂閱者或域成員為主題創(chuàng)建一個(gè)數(shù)據(jù)讀取者;

      6)將普通的數(shù)據(jù)讀取者映射成指定類型的數(shù)據(jù)讀取者CommandDataReader;

      7)安裝監(jiān)聽器或者條件觸發(fā)器(可選);8)通過調(diào)用CommandDataReader的read()或take()訪問接收隊(duì)列中的數(shù)據(jù)。

      通過這種機(jī)制,各節(jié)點(diǎn)之間的通信得以建立,解決了分布式仿真的數(shù)據(jù)分發(fā)問題。這種以數(shù)據(jù)為中心的通信模式能夠提供各種詳細(xì)的參數(shù),例如粒度、發(fā)布的速率、訂閱的速率、數(shù)據(jù)有效期等。這些QoS參數(shù)使得分布式仿真程序可以支持復(fù)雜多變的數(shù)據(jù)流要求,大大增加了通信的靈活性[11]。以水面艦艇為例,當(dāng)敵方發(fā)射導(dǎo)彈攻擊我艦時(shí),由于目標(biāo)速度較快,需要對目標(biāo)進(jìn)行實(shí)時(shí)跟蹤,這時(shí)就應(yīng)該把Deadline的值設(shè)小一點(diǎn),以便訂閱方快速接收更新的數(shù)據(jù),及時(shí)進(jìn)行反擊。

      4 結(jié)語

      大規(guī)模的分布式仿真系統(tǒng)催生了對低延遲、高吞吐量數(shù)據(jù)分發(fā)的需求,而DDS作為專門為實(shí)時(shí)系統(tǒng)設(shè)計(jì)的中間件無疑是不錯的選擇。

      目前DDS已經(jīng)廣泛應(yīng)用到了美國陸、海、空、天各個(gè)領(lǐng)域,并發(fā)揮了重要作用。而國內(nèi)的相關(guān)研究與應(yīng)用范圍還很有限,下一步工作中應(yīng)通過實(shí)驗(yàn)測試一下DDS在不同網(wǎng)絡(luò)環(huán)境下的性能,以此來指導(dǎo)實(shí)際應(yīng)用。[1]康鳳舉,楊惠珍,高立娥,等.現(xiàn)代仿真技術(shù)與應(yīng)用[M].第2版.北京:國防工業(yè)出版社,2010:251-263.

      [2]張大海,賴蘭劍,陳鼎才.DDS在分布式系統(tǒng)仿真中的應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(3):250-253.

      [3]程雄,向慧.對數(shù)據(jù)發(fā)布服務(wù)標(biāo)準(zhǔn)基本要素的研究[J].計(jì)算機(jī)與數(shù)字工程,2007,35(8):53-56.

      [4]OMG.Data Distribution Service for Real-Time Systems Version 1.2[DB/OL].[2015-02-03].http://www.omg.org/spec/DDS.

      [5]張勝,許慶華,任建華.數(shù)據(jù)分發(fā)服務(wù)研究[A]//楊義先.2009年研究生學(xué)術(shù)交流會通信與信息技術(shù)論文集[C]//北京:國防工業(yè)出版社,2009:153-155.

      [6]裘楷,沈棟,李娜,等.基于DCPS模型的數(shù)據(jù)分發(fā)服務(wù)DDS的研究[J].電子科技,2006(11):68-71.

      [7]謝蓓,劉毅,曹萬華,等.實(shí)時(shí)系統(tǒng)數(shù)據(jù)分布服務(wù)DDS技術(shù)綜述[J].艦船電子工程,2006(2):16-19.

      [8]謝陽杰,吳家鑄.數(shù)據(jù)分發(fā)服務(wù)DDS的研究[A].見:劉曉平.全國第19屆計(jì)算機(jī)技術(shù)與應(yīng)用(CACIS)學(xué)術(shù)會議論文集(上冊)[C]//合肥:中國科學(xué)技術(shù)大學(xué)出版社,2008:38-43.

      [9]盧傳富,蔡志明,夏學(xué)知.數(shù)據(jù)分發(fā)服務(wù)體系結(jié)構(gòu)的研究[J].計(jì)算機(jī)與數(shù)字工程,2008,36(5):67-69.

      [10]Real-Time Innovations,Inc.RTI Connext DDS Core Libraries and Utilities User's Manual Version 5.1.0[EB/OL].[2015-02-03].http://community.rti.com.

      [11]孫昊翔.DDS和以數(shù)據(jù)為中心的通信方式[J].科技和產(chǎn)業(yè),2013,13(7):153-158.

      Application of DDS in Distributed Simulation

      REN Zongshen REN Xiongwei
      (College of Electronics Engineering,Naval University of Engineering,Wuhan 430033)

      The continuously extending scale of distributed simulation and increasingly sophisticated simulation environment cause the increase in network traffic data.As a result,a high performance real-time communication technology is in demand.Traditional communication models based on client/server cannot meet the actual demand now,data-centric communication model based on DDS gradually becomes development direction.This article introduces all elements of DDS,and analyzes the characteristics of DDS in all aspects,and makes a detailed description of the application of RTI-DDS.

      DDS,distributed simulation,real-time communication

      TP391.9DOI:10.3969/j.issn.1672-9730.2015.11.029

      2015年5月14日,

      2015年6月30日

      任棕詵,男,碩士研究生,研究方向:作戰(zhàn)系統(tǒng)工程。

      猜你喜歡
      發(fā)布者數(shù)據(jù)類型應(yīng)用程序
      詳談Java中的基本數(shù)據(jù)類型與引用數(shù)據(jù)類型
      如何理解數(shù)據(jù)結(jié)構(gòu)中的抽象數(shù)據(jù)類型
      刪除Win10中自帶的應(yīng)用程序
      基于NDN的高效發(fā)布/訂閱系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
      廣告發(fā)布者的著作權(quán)審查義務(wù)問題研究
      加權(quán)映射匹配方法的站內(nèi)搜索引擎設(shè)計(jì)
      關(guān)閉應(yīng)用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      三星電子將開設(shè)應(yīng)用程序下載商店
      微軟軟件商店開始接受應(yīng)用程序
      在.NET環(huán)境下進(jìn)行nashRemoting開發(fā)
      漳平市| 修水县| 屯昌县| 根河市| 博乐市| 凤台县| 平塘县| 拉孜县| 乐昌市| 小金县| 黄大仙区| 油尖旺区| 岐山县| 连南| 木兰县| 闽侯县| 贺州市| 巫溪县| 郯城县| 秦皇岛市| 大兴区| 宜州市| 开江县| 上栗县| 青海省| 浑源县| 揭西县| 顺平县| 文成县| 长泰县| 弥勒县| 合川市| 西林县| 昭平县| 陈巴尔虎旗| 罗定市| 秦安县| 色达县| 搜索| 新宾| 荥经县|