DDS概述

消息中間件包括點(diǎn)到點(diǎn)、消息隊(duì)列和發(fā)布/訂閱三種工作模式。點(diǎn)到點(diǎn)模式具有很強(qiáng)的時(shí)間和空間耦合性,使得通信靈活性受到很大限制。消息隊(duì)列模式通過一個(gè)消息隊(duì)列來傳遞消息,解決了通信雙方時(shí)間和空間松耦合的問題,但不能實(shí)現(xiàn)消息消費(fèi)者通信的異步,并且還存在服務(wù)器瓶頸和單點(diǎn)失效的問題,可靠性得不到保障。發(fā)布/訂閱模型中發(fā)布者和訂閱者通過主題相關(guān)聯(lián),雙方不必知道對(duì)方在何處。也不必同時(shí)在線,實(shí)現(xiàn)了通信雙方時(shí)間、空間和數(shù)據(jù)通信的多維松耦合。

DDS(Data Distribution Service)數(shù)據(jù)分發(fā)服務(wù)技術(shù)最早應(yīng)用于美國(guó)海軍,用于解決艦船復(fù)雜網(wǎng)絡(luò)環(huán)境中大量軟件升級(jí)的兼容性問題,目前已經(jīng)成為美國(guó)國(guó)防部的強(qiáng)制標(biāo)準(zhǔn)。2003年DDS被OMG組織接受,并發(fā)布了專門為實(shí)時(shí)系統(tǒng)設(shè)計(jì)的數(shù)據(jù)分發(fā)/訂閱標(biāo)準(zhǔn)。DDS目前已經(jīng)廣泛應(yīng)用于國(guó)防、民航、工業(yè)控制等領(lǐng)域,成為分布式實(shí)時(shí)系統(tǒng)中數(shù)據(jù)發(fā)布/訂閱的標(biāo)準(zhǔn)解決方案。DDS技術(shù)是基于以數(shù)據(jù)為核心的設(shè)計(jì)思想提出的,定義了描述網(wǎng)絡(luò)環(huán)境下數(shù)據(jù)內(nèi)容、交互行為和服務(wù)質(zhì)量要求的標(biāo)準(zhǔn)。DDS以數(shù)據(jù)為核心的設(shè)計(jì)思想非常貼合如傳感器網(wǎng)絡(luò)、指揮信息網(wǎng)等應(yīng)用場(chǎng)景,其提供的數(shù)據(jù)傳輸模型能夠很好地適應(yīng)應(yīng)用系統(tǒng)的開發(fā)需要。

在分布式系統(tǒng)中,中間件是位于操作系統(tǒng)和應(yīng)用程序之間的軟件層。它使系統(tǒng)的各個(gè)組件更容易通信和共享數(shù)據(jù)。它通過讓軟件開發(fā)人員專注于其應(yīng)用程序的特定目的而不是在應(yīng)用程序和系統(tǒng)之間傳遞信息的機(jī)制,簡(jiǎn)化了分布式系統(tǒng)的開發(fā)。

DDS中間件是一個(gè)軟件層,它從操作系統(tǒng),網(wǎng)絡(luò)傳輸和低級(jí)數(shù)據(jù)格式的細(xì)節(jié)中抽象出應(yīng)用程序。以不同的編程語言提供相同的概念和API,允許應(yīng)用程序跨操作系統(tǒng),語言和處理器體系結(jié)構(gòu)交換信息。數(shù)據(jù)格式、節(jié)點(diǎn)發(fā)現(xiàn)、連接、可靠性、協(xié)議和Qos管理等低級(jí)細(xì)節(jié)由中間件管理。

DDS中間件是一個(gè)軟件層,它從操作系統(tǒng),網(wǎng)絡(luò)傳輸和低級(jí)數(shù)據(jù)格式的細(xì)節(jié)中抽象出應(yīng)用程序。以不同的編程語言提供相同的概念和API,允許應(yīng)用程序跨操作系統(tǒng),語言和處理器體系結(jié)構(gòu)交換信息。數(shù)據(jù)格式、節(jié)點(diǎn)發(fā)現(xiàn)、連接、可靠性、協(xié)議和Qos管理等低級(jí)細(xì)節(jié)由中間件管理。

DDS提供Qos控制的數(shù)據(jù)共享。應(yīng)用程序通過發(fā)布和訂閱由其主題名稱標(biāo)識(shí)的主題進(jìn)行通信。訂閱可以指定時(shí)間和內(nèi)容過濾器,并僅獲取在主題上發(fā)布的數(shù)據(jù)的子集。不同的DDS域完全相互獨(dú)立,DDS域之間沒有數(shù)據(jù)共享。

應(yīng)用程序可以使用Qos策略來控制、管理和優(yōu)化在網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)流。DDS標(biāo)準(zhǔn)提供的 QOS參數(shù)可以對(duì)數(shù)據(jù)流進(jìn)行常規(guī)控制?;镜腝os策略如下:

數(shù)據(jù)的持久度。
  1. 易失的(VOLATILE)– 發(fā)送的數(shù)據(jù)不被保存。
  2. 本地臨時(shí)保存(TRANSIENT_LOCAL)– 數(shù)據(jù)發(fā)送者自己保存發(fā)送過的數(shù)據(jù)。
  3. 臨時(shí)保存(TRANSIENT)– 發(fā)送過的數(shù)據(jù)被保存在內(nèi)存中。
  4. 永久保存(PERSISTENT)– 發(fā)送過的數(shù)據(jù)被保存在永久性的存儲(chǔ)器中。
數(shù)據(jù)的傳輸方式。
  1. UDPv4, UDPv6, Shared memory, WAN, DTLS(Datagram Transport Layer Security,數(shù)據(jù)包傳輸層安全性協(xié)議)等。
容錯(cuò)性。

DDS提供商可以提供擴(kuò)展的QOS策略以實(shí)現(xiàn)更深層次的控制。

可靠性,Reliability
  1. 最高效–不保證數(shù)據(jù)是否能被接收到(但是可以確保數(shù)據(jù)到達(dá)的先后順序)。
  2. 確保最后N個(gè)數(shù)據(jù)–發(fā)送所有數(shù)據(jù),但僅僅確保最后N個(gè)數(shù)據(jù)被收到。
  3. 全部確保–確保所有數(shù)據(jù)按照順序被接受到。
數(shù)據(jù)的歷史記錄,History
  1. DDS保存多少個(gè)歷史數(shù)據(jù)
周期數(shù)據(jù)的超時(shí),Deadline
  1. 數(shù)據(jù)發(fā)送者承擔(dān)在每一個(gè)數(shù)據(jù)周期的截止時(shí)間內(nèi)發(fā)送數(shù)據(jù)的責(zé)任。
  2. 數(shù)據(jù)接收者希望在在每一個(gè)數(shù)據(jù)周期的截止時(shí)間內(nèi)接收到數(shù)據(jù)。
  3. 保證接收者的deadline >= 發(fā)送者的deadline,否則產(chǎn)生不兼容錯(cuò)誤。
基于時(shí)間的過濾,Time-based filter
  1. 數(shù)據(jù)接收者設(shè)定期望得到新數(shù)據(jù)的最小時(shí)間間隔。
  2. DDS在滿足上述條件的情況下,傳送最小量的數(shù)據(jù)。
數(shù)據(jù)的有效期,Lifespan
  1. 防止傳輸過期數(shù)據(jù)。
  2. 寫數(shù)據(jù)者,每個(gè)數(shù)據(jù)都附有保質(zhì)期(expiration time)。
  3. 讀數(shù)據(jù)者,直接刪除過期數(shù)據(jù)。
  4. 要求發(fā)送者與接收者時(shí)鐘足夠同步。如果服務(wù)發(fā)現(xiàn)不同步,數(shù)據(jù)讀取者可以用接收時(shí)間戳計(jì)算保質(zhì)期,而不是用源時(shí)間戳。
數(shù)據(jù)的所有權(quán),Ownership
  1. 用來指定數(shù)據(jù)接收者是否可以同時(shí)從多個(gè)數(shù)據(jù)發(fā)送者中接收數(shù)據(jù)。

DDS標(biāo)準(zhǔn)

DDS基本標(biāo)準(zhǔn)包括核心、API和擴(kuò)展部分。相關(guān)標(biāo)準(zhǔn)說明如下:

Core

  1. DDS v1.4 - DDS規(guī)范描述了用于分布式應(yīng)用程序通信和集成的以數(shù)據(jù)為中心的發(fā)布 - 訂閱(Data-Centric Publish-Subscribe,DCPS)模型。
  2. DDSI-RTPS v2.2和v2.3(即將發(fā)布,僅限OMG成員)- 定義實(shí)時(shí)發(fā)布-訂閱協(xié)議(Real Time Publish Subscribe Protocol,RTPS)DDS互操作性協(xié)議。
  3. DDS-XTypes v1.2 - 定義DDS類型系統(tǒng)和DDS數(shù)據(jù)的序列化表示。
  4. DDS-Security v1.1 - 為兼容的DDS實(shí)現(xiàn)定義安全模型和服務(wù)插件接口(SPI)架構(gòu)。
  5. InteRFace Definition Language (IDL) v4.2 – 一種用于以獨(dú)立于編程語言的方式定義數(shù)據(jù)類型和接口的語言。這不是DDS標(biāo)準(zhǔn),但DDS依賴于它。

API

  1. ISO/IEC C++ 2003 Language PSM for DDS –為DDS規(guī)范的以數(shù)據(jù)為中心的發(fā)布訂閱(DCPS)部分定義C++ API。該標(biāo)準(zhǔn)只是定義API的命名以及編程規(guī)范,而未具體定義API接口名,各個(gè)廠商提供的DDS函數(shù)調(diào)用接口不一致。
  2. lJava 5 Language PSM for DDS –為DDS規(guī)范的以數(shù)據(jù)為中心的發(fā)布 - 訂閱(DCPS)部分定義Java API。
  3. Other language APIs–用于C,Java,ADA,C#和其他語言的API都是從IDL中的DDS API派生的,使用相應(yīng)的IDL到語言映射。

Extensions

  1. DDS-RPC v1.0 - 定義了一個(gè)分布式服務(wù)框架,它使用DDS提供與語言無關(guān)的服務(wù)定義和服務(wù)/遠(yuǎn)程過程調(diào)用。支持自動(dòng)發(fā)現(xiàn),同步和異步調(diào)用以及Qos。
  2. DDS-XML v1.0 - 定義用于表示與DDS相關(guān)的資源的XML語法。為DDS服務(wù)質(zhì)量(Qos),DDS數(shù)據(jù)類型和DDS實(shí)體(DomainParticipants,Topics,Publishers,Subscriber,DataWriters和DataReaders)提供XSD架構(gòu)文件。

DDS產(chǎn)品

當(dāng)前主流的商業(yè)/開源DDS產(chǎn)品包括Fast-RTPS、RTI Connext DDS 、Vortex DDS、CoreDDS、AppDDS、FreeRTPS、MilDDS、OpenDDS、CoreDX DDS和Cyclone DDS。

Fast-RTPS

Fast-RTPS是eProsima公司對(duì)DDS協(xié)議(RTPS,實(shí)時(shí)發(fā)布訂閱協(xié)議)的一種新的輕量級(jí)實(shí)現(xiàn)。eProsima Fast-RTPS是一個(gè)高性能的發(fā)布訂閱框架,使用基于發(fā)布者/訂閱和數(shù)據(jù)主題的解耦模型在分布式系統(tǒng)中共享數(shù)據(jù)。eProsima Fast RTPS速度驚人,在Windows和Linux中擊敗ZeroMQ和其他消息中間件等替代品。該框架使用接口定義語言(IDL)從主題定義生成發(fā)布/訂閱代碼,允許開發(fā)人員專注于他的應(yīng)用程序邏輯,而無需擔(dān)心網(wǎng)絡(luò)細(xì)節(jié)。

eProsima Fast-RTPS是免費(fèi)開源軟件(Apache License 2.0),提供商業(yè)支持,并通過C++語言實(shí)現(xiàn),包括DDS API,IDL支持和自動(dòng)代碼生成。它可以在許多平臺(tái)(windows,linux,android,mac os等)中使用,并且完全符合最新的RTPS 2.2版本。

eProsima Fast-RTPS的主要特點(diǎn)是高性能、多平臺(tái)、易使用、免費(fèi)開源、商業(yè)支持、和完全符合OMG RTPS 2.2標(biāo)準(zhǔn)。

性能數(shù)據(jù)包括延遲和吞吐量,其測(cè)試硬件平臺(tái)如下:

  • 英特爾酷睿i3 @ 3.4GHz
  • 4GB RAM
  • 英特爾千兆網(wǎng)絡(luò)適配器,速率為1Gbps

通過上圖可以觀察到,對(duì)于在16和512字節(jié)之間變化的消息大小,延遲在大約90-100μs內(nèi)保持穩(wěn)定。對(duì)于1024字節(jié),可以觀察到延遲的小幅增加,盡管與消息大小的增量相比非常小。

該圖清楚地顯示了吞吐量與消息大小的漸近行為。使用Fast-RTPS實(shí)現(xiàn)獲得可持續(xù)的大吞吐量值。使用1024字節(jié)的消息獲得大于600MBits/sec的吞吐量值。當(dāng)消息大小增加時(shí),獲得的最大吞吐量值保持穩(wěn)定在950MBits/sec左右,意味著Fast-RTPS可以利用大約95%的可用帶寬。由于Fast-RTPS直接在發(fā)布者和訂閱者之間發(fā)送消息,而不需要任何集中式服務(wù)器,因此Fast-RTPS不會(huì)對(duì)可傳輸?shù)臄?shù)據(jù)量施加任何限制,限制僅來自網(wǎng)絡(luò)適配器。

當(dāng)前ROS2、百度阿波羅等開源項(xiàng)目都采用Fast-RTPS作為底層的消息通信中間件。

Connext DDS

美國(guó)RTI(Real-Time Innovations, Inc.)成立于1991年,是全球第一個(gè)發(fā)布商用網(wǎng)絡(luò)中間件DDS的公司,主要成員來自斯坦福航空航天機(jī)器人實(shí)驗(yàn)室。該公司總部設(shè)在硅谷。RTI作為OMG(Object Management Group)組織董事會(huì)的成員,目前已經(jīng)成為這個(gè)行業(yè)的領(lǐng)導(dǎo)者,從2004年開始RTI公司負(fù)責(zé)主持DDS(Data-Distribution Service for Real-Time Systems)工作組的工作。

Connext DDS是全球領(lǐng)先的實(shí)時(shí)系統(tǒng)數(shù)據(jù)分發(fā)服務(wù)(DDS)標(biāo)準(zhǔn)實(shí)施方案。RTI DDS獨(dú)立于操作系統(tǒng)和編程語言,極大地方便了不同系統(tǒng)之間的通訊。系統(tǒng)設(shè)計(jì)者通過可擴(kuò)展的傳輸框架結(jié)構(gòu)連接多個(gè)物理端點(diǎn)。傳輸方式包括以太網(wǎng)絡(luò)、共享內(nèi)存、背板或其他連接方式。RTI DDS具有多種服務(wù)質(zhì)量策略(QoS)參數(shù)可供調(diào)整,方便設(shè)計(jì)者調(diào)整他的應(yīng)用程序達(dá)到性能和資源使用的最佳組合。

RTI公司DDS產(chǎn)品在全球范圍內(nèi)的市場(chǎng)占有率高達(dá)80%,其產(chǎn)品和服務(wù)廣泛應(yīng)用于航空、航天、船舶、國(guó)防、金融、通信、汽車等領(lǐng)域,包括作戰(zhàn)系統(tǒng)、船舶導(dǎo)航和控制系統(tǒng)、船舶防御系統(tǒng)、無人機(jī)駕駛系統(tǒng)和地面控制系統(tǒng)、裝甲車輛控制系統(tǒng)、仿真和培訓(xùn)系統(tǒng)、雷達(dá)處理和空中交通管理系統(tǒng)、金融系統(tǒng)等等,全球范圍內(nèi)涉及項(xiàng)目多達(dá)500多個(gè)。項(xiàng)目包括洛克希德神盾、雷神DDG 1000、雷神SSDS、LCS(洛克希德和GDAIS)、雷神LPD-17導(dǎo)彈驅(qū)逐艦、NASA 美國(guó)宇航局發(fā)射控制系統(tǒng)、大眾智能汽車等。

Connext DDS具有極低的抖動(dòng)和極高的確定性,適用于時(shí)間和任務(wù)關(guān)鍵型應(yīng)用。延遲和吞吐量測(cè)試數(shù)據(jù)如下面各個(gè)圖表。數(shù)據(jù)測(cè)試硬件信息如下:

  • Intel I350千兆網(wǎng)卡
  • 英特爾酷睿i7 CPU
  • 緩存:12MB
  • 核心數(shù):6(12個(gè)線程)
  • 速度:3.33 GHz
  • 內(nèi)存:12GB

通過上圖可以觀察到,對(duì)于在2000字節(jié)以下,延遲在大約40-70μs內(nèi)保持穩(wěn)定。對(duì)于20000字節(jié)以上,增加延遲小幅。

通過上圖可以觀察到,共享內(nèi)存的延遲數(shù)據(jù)非常好。對(duì)于在15000字節(jié)以下,延遲在大約15-20μs內(nèi)保持穩(wěn)定。

上圖顯示了網(wǎng)絡(luò)帶寬(兆位每秒)的可持續(xù)一對(duì)一(點(diǎn)對(duì)點(diǎn))發(fā)布/訂閱吞吐量。它是在單個(gè)生產(chǎn)線程和消費(fèi)線程之間,通過千兆以太網(wǎng)和單個(gè)DDS主題進(jìn)行測(cè)量的??紤]到以太網(wǎng),IP和UDP開銷,1 Gbps以太網(wǎng)上可用于消息數(shù)據(jù)(和元數(shù)據(jù))的最大帶寬略高于950兆比特/秒。數(shù)據(jù)顯示,當(dāng)使用C ++應(yīng)用程序發(fā)送大于256字節(jié)的消息時(shí),Connext DDS能夠充分利用所有這些可用帶寬。Connext DDS可實(shí)現(xiàn)持續(xù)的高吞吐量,接近理論網(wǎng)絡(luò)帶寬。表明吞吐量受網(wǎng)絡(luò)限制,而不受CPU或Connext DDS協(xié)議開銷的限制。

C++ 共享內(nèi)存吞吐量

上圖顯示了基于共享內(nèi)存的吞吐量,吞吐量性能明顯提升。

上圖顯示了延遲隨吞吐量的增加情況。即使每秒超過200K樣本,延遲仍然低于100微秒。因此表明在高消息速率下,Connext DDS也能保持出色的延遲。企業(yè)消息中間件通常在超出容量時(shí)將消息排隊(duì),相比之下,Connext DDS專為實(shí)時(shí)應(yīng)用而設(shè)計(jì),其中過度延遲的后果可能是災(zāi)難性的,例如自動(dòng)駕駛汽車,自動(dòng)交易應(yīng)用,戰(zhàn)斗系統(tǒng)。

Vortex DDS

凌華科技(ADLINK)的Vortex DDS是業(yè)務(wù)關(guān)鍵物聯(lián)網(wǎng)(IoT)應(yīng)用程序的智能數(shù)據(jù)共享平臺(tái)。Vortex DDS包括DDS實(shí)現(xiàn),可用于支持項(xiàng)目所需的一系列設(shè)備技術(shù),操作系統(tǒng)和編程語言。Vortex DDS結(jié)合了確定性數(shù)據(jù)交付,系統(tǒng)范圍數(shù)據(jù)共享和數(shù)據(jù)分析支持,可幫助系統(tǒng)集成商、OEM、設(shè)備平臺(tái)供應(yīng)商和云服務(wù)提供商(SaaS,PaaS和DaaS)為許多垂直市場(chǎng)提供軟件解決方案,包括航空航天和國(guó)防,能源,機(jī)器人,醫(yī)療保健,運(yùn)輸/汽車和工業(yè)自動(dòng)化。Vortex DDS產(chǎn)品包括Vortex OpenSplice、Vortex Lite、Vortex Link和Vortex CafeVortex。

  • Vortex OpenSplice:針對(duì)服務(wù)器級(jí)(臺(tái)式機(jī),機(jī)架等)平臺(tái)的全功能DDS。
  • Vortex Lite:Vortex Lite為資源受限的物聯(lián)網(wǎng)設(shè)備和具有有限內(nèi)存和處理能力的環(huán)境提供低延遲,實(shí)時(shí)數(shù)據(jù)共享。
  • Vortex Link:可用于提供Internet范圍內(nèi)的安全數(shù)據(jù)共享。
  • Vortex CafeVorte:將數(shù)據(jù)分發(fā)服務(wù)(DDS)引入Java中心系統(tǒng),包括由Android驅(qū)動(dòng)的移動(dòng)設(shè)備。

Vortex OpenSplice是OMG DDS標(biāo)準(zhǔn)中最先進(jìn),最完整和最廣泛使用的(商業(yè)和開源)實(shí)現(xiàn)。OpenSplice DDS社區(qū)版是一個(gè)功能齊全的開源,真正免費(fèi)實(shí)現(xiàn)實(shí)時(shí)系統(tǒng)標(biāo)準(zhǔn)的對(duì)象管理組(OMG)數(shù)據(jù)分發(fā)服務(wù)。全功能的Apache許可證版本2.0開源數(shù)據(jù)分發(fā)服務(wù)(DDS)實(shí)現(xiàn)。開源版本與商業(yè)版本功能組成如下圖:

CoreDDS

CoreDDS是符合OMG DDS標(biāo)準(zhǔn)的DDS中間件。CoreDDS的特點(diǎn)是性能更高,特別是在網(wǎng)絡(luò)通信與其他供應(yīng)商的產(chǎn)品相比不穩(wěn)定的部分。CoreDDS是GurumNetworks產(chǎn)品,該公司是一家總部位于韓國(guó),專門提供網(wǎng)絡(luò)系統(tǒng)軟件平臺(tái),如網(wǎng)絡(luò)操作系統(tǒng)、網(wǎng)絡(luò)中間件和網(wǎng)絡(luò)網(wǎng)關(guān)。CoreDDS支持多種操作系統(tǒng),包括Linux、Windows 7,8,8.1 10、AIX 5,6,7。并支持多種編程語言,包括C,C ++,Java,C#,Python。

CoreDDS旨在以最短的響應(yīng)時(shí)間發(fā)送和接收大量數(shù)據(jù)。CoreDDS可提供出色的吞吐量和響應(yīng)時(shí)間。測(cè)量軟硬件環(huán)境如下:

  • Ubuntu Linux 18.04
  • Intel(R)Core(TM)i7-3770 CPU @ 3.40GHz
  • DDR3 16G RAM
  • Intel 82574L NIC
  • NetGear 1G交換機(jī)
AppDDS

AppDDS(Appsoft Data Distribution Service)是北京神州普惠科技股份有限公司根據(jù)DDS標(biāo)準(zhǔn)經(jīng)過多年研發(fā)而成的分布式實(shí)時(shí)應(yīng)用開發(fā)平臺(tái),AppDDS具備高帶寬、強(qiáng)實(shí)時(shí)、低抖動(dòng)、跨平臺(tái)等諸多優(yōu)異性能,包含底層通信協(xié)議、上層應(yīng)用開發(fā)建模工具、網(wǎng)絡(luò)分析工具、性能測(cè)試工具等一系列工具集,可以方便用戶快速開發(fā)、優(yōu)化及部署各種分布式實(shí)時(shí)應(yīng)用,AppDDS具備自主知識(shí)產(chǎn)權(quán),擁有國(guó)內(nèi)最強(qiáng)大的技術(shù)研發(fā)和技術(shù)服務(wù)專業(yè)團(tuán)隊(duì),成功案例眾多,客戶遍布航空、航天、電子、船舶、兵器等國(guó)防軍工行業(yè)。AppDDS(數(shù)據(jù)分發(fā)服務(wù))主要功能及關(guān)鍵性能指標(biāo):

  • 完全遵從對(duì)象管理組織(OMG)組織制定的DDS標(biāo)準(zhǔn)。
  • 強(qiáng)實(shí)時(shí),低于50微秒的延遲。
  • 低抖動(dòng),低于3微秒的網(wǎng)絡(luò)通信抖動(dòng)。
  • 完全支持發(fā)布/訂閱技術(shù)。
  • 提供完整的QoS服務(wù)質(zhì)量策略,并可定制及擴(kuò)展。
  • 優(yōu)異的跨平臺(tái)特性:支持Windows、VxWorks、Linux、Andriod、QNX等,并可定制及擴(kuò)展。
  • 支持多種處理器:X86、PowerPC、ARM、DSP等處理器。
  • 支持多種網(wǎng)絡(luò)協(xié)議:以太網(wǎng)、反射內(nèi)存網(wǎng)、RapidIO、FC、1553B、CAN、PCIe、RF、WiFi、cPCI、VME、VPX等,并可定制及擴(kuò)展。
  • 支持多種開發(fā)語言:C/C++、Java、C#。
  • 提供功能強(qiáng)大的基于CCM4、SOA、MDA設(shè)計(jì)思想的建模工具。
FreeRTPS

FreeRTPS旨在成為一種免費(fèi),便攜,極簡(jiǎn)主義的RTPS實(shí)現(xiàn)。FreeRTPS由C語言實(shí)現(xiàn),能夠僅使用片上存儲(chǔ)器和閃存來適應(yīng)各種微控制器。FreeRTPS旨在實(shí)現(xiàn)可移植性,因此它沒有任何運(yùn)行時(shí)依賴性。當(dāng)前僅支持以太網(wǎng)物理層,但隨著時(shí)間的推移將擴(kuò)展FreeRTPS以跨越“較小”物理層(例如USB的各種速度,各種無線標(biāo)準(zhǔn)(例如,802.15.4))進(jìn)行通信,各種UART物理層,如RS-485等。代碼開發(fā)處于暫停狀態(tài),最后代碼提交日期為2017-10-7。

MilDDS

MilDDS是源自土耳其MilSOFT公司系統(tǒng)集成和軟件開發(fā)專業(yè)的產(chǎn)品。MilSOFT是2004年采用最初DDS標(biāo)準(zhǔn)的先驅(qū)DDS供應(yīng)商。Mil-DDS是一種中間件軟件,為分布式應(yīng)用程序提供以數(shù)據(jù)為中心的發(fā)布-訂閱機(jī)制。MilDDS可以部署在各種平臺(tái)上,從低占用空間的設(shè)備到云系統(tǒng),它是整合廣泛部署的復(fù)雜分布式系統(tǒng)的關(guān)鍵。通過MilDDS集成的一些主要項(xiàng)目包括但不限于:戰(zhàn)斗管理系統(tǒng),戰(zhàn)術(shù)數(shù)據(jù)鏈處理器,仿真系統(tǒng),沿海監(jiān)視和圖像利用項(xiàng)目。包括Aselsan,Roketsan和Havelsan在內(nèi)的主要系統(tǒng)集成公司也依賴MilDDS。MilDDS減少了建模,開發(fā),集成,在測(cè)試和維護(hù)成本方面,它還提供了豐富的強(qiáng)大工具。

OpenDDS

OpenDDS是對(duì)象管理組(OMG)數(shù)據(jù)分發(fā)服務(wù)(DDS)的開源C ++實(shí)現(xiàn)。DDS定義了強(qiáng)類型的發(fā)布-訂閱服務(wù),用于在分布式應(yīng)用程序中的參與者之間有效地分發(fā)應(yīng)用程序數(shù)據(jù)。OpenDDS利用ADAPTIVE通信環(huán)境(ACE)在各種操作系統(tǒng)和部署環(huán)境中提供可移植性和可配置性。OpenDDS由OCI(Object Computing)公司開發(fā),與世界各地大學(xué)和其他地方的主要客戶,用戶和其他研究人員密切合作。

OpenDDS可提供出色的吞吐量和響應(yīng)時(shí)間。測(cè)量軟硬件環(huán)境如下:

  • CentOS 7
  • Intel Core2 Duo E8400 3.00 GHz
  • DDR3 5.5 GB RAM
  • Gigabit Ethernet

OpenDDS的吞吐量和響應(yīng)時(shí)間如下圖:

從上圖觀察不同的通信協(xié)議對(duì)延遲有較大影響。其中raw-udp的延遲最小500-1024字節(jié)時(shí)延遲在10us左右。

CoreDX DDS

CoreDX DDS是TOC(Twin Oaks Computing)公司領(lǐng)先的小型DDS中間件。CoreDX DDS是一種易于使用的跨平臺(tái)跨語言進(jìn)程間通信(IPC)庫。CoreDX DDS具有高性能和低開銷,具有極佳的延遲和消息吞吐量。CoreDX DDS提供強(qiáng)大,靈活和動(dòng)態(tài)的數(shù)據(jù)通信?;陂_放標(biāo)準(zhǔn)保證互操作性和長(zhǎng)期可行性,CoreDX DDS是各種分布式軟件程序的首選,從手機(jī)游戲和消費(fèi)電子設(shè)備到手術(shù)設(shè)備,醫(yī)療保健應(yīng)用,復(fù)雜的DoD系統(tǒng)和在太空工作的機(jī)器人。CoreDX DDS是完美的通信中間件,它適合您有限的FLASH和RAM。它適用于沒有操作系統(tǒng)的系統(tǒng)。它符合源代碼認(rèn)證預(yù)算。但是它仍然具有企業(yè)級(jí)應(yīng)用程序所需的性能,可伸縮性和功能。

CoreDX DDS可提供出色的吞吐量和響應(yīng)時(shí)間。測(cè)量軟硬件環(huán)境如下:

  • Linux 4.6 x86_64
  • Intel(R)Core(TM)2 Quad CPU Q9550 @ 2.83GHz
  • D-Link系統(tǒng)公司DGE-530T千兆以太網(wǎng)適配器

上圖延遲性能指標(biāo)顯示,對(duì)于128字節(jié)或更小的消息,CoreDX DDS實(shí)現(xiàn)的延遲低于50微秒(uSec)。如下圖所示,延遲對(duì)于較大的數(shù)據(jù)包線性擴(kuò)展。

此外,等待時(shí)間測(cè)量的標(biāo)準(zhǔn)偏差非常?。盒∮?微秒。繪制99%的最小值,平均值和最大值,可以在很寬的數(shù)據(jù)包大小范圍內(nèi)顯示非常小的延遲變化。這表明CoreDX DDS可以提供??具有極少“抖動(dòng)”或變化的低延遲數(shù)據(jù)。

考慮到與UDP,IP和以太網(wǎng)相關(guān)的開銷,該吞吐量接近1千兆以太網(wǎng)連接的理論極限。CoreDX DDS采用復(fù)雜的數(shù)據(jù)包合并和延遲寫入,以有效利用可用的網(wǎng)絡(luò)帶寬,同時(shí)降低CPU利用率。這些功能在每個(gè)CoreDX DDS平臺(tái)版本中都可用,并且不需要特殊的應(yīng)用程序配置。

Cyclone DDS

Eclipse Cyclone DDS是OMG數(shù)據(jù)分發(fā)服務(wù)(DDS)規(guī)范的實(shí)現(xiàn)以及相關(guān)的互操作性規(guī)范。擁有適當(dāng)?shù)臄?shù)據(jù)共享技術(shù)將成為任何物聯(lián)網(wǎng)平臺(tái)的關(guān)鍵資產(chǎn)。OMG DDS標(biāo)準(zhǔn)被認(rèn)為是在商業(yè)和關(guān)鍵任務(wù)環(huán)境中可靠和強(qiáng)大的數(shù)據(jù)共享的高度適用標(biāo)準(zhǔn)與Eclipse-IOT生態(tài)系統(tǒng)非常契合。與現(xiàn)有的Eclipse解決方案(即用于消息傳遞)相比,Eclipse Cyclone DDS提供了獨(dú)特的數(shù)據(jù)共享功能。其以數(shù)據(jù)為中心的體系結(jié)構(gòu),并具有使用細(xì)粒度QoS屬性(可靠性,緊迫性,持久性等)為時(shí)間和任務(wù)/業(yè)務(wù)關(guān)鍵型物聯(lián)網(wǎng)系統(tǒng)提供無與倫比的功能和非功能性。具有在軍事C4I領(lǐng)域證明適用性的歷史,此產(chǎn)品可以顯著降低許多物聯(lián)網(wǎng)系統(tǒng)的復(fù)雜性,并減少其集成工作和風(fēng)險(xiǎn)。

1.《.omg什么格式》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識(shí),僅代表作者本人觀點(diǎn),與本網(wǎng)站無關(guān),侵刪請(qǐng)聯(lián)系頁腳下方聯(lián)系方式。

2.《.omg什么格式》僅供讀者參考,本網(wǎng)站未對(duì)該內(nèi)容進(jìn)行證實(shí),對(duì)其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。

3.文章轉(zhuǎn)載時(shí)請(qǐng)保留本站內(nèi)容來源地址,http://f99ss.com/why/2199985.html