DDS:分布式实时通信-DDS
本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。
[TOC]
分布式实时通信-DDS
DDS(Data Distribution Service),即数据分发服务,是OMG(Object Management Group)对象管理组织发布的分布式通信规范,采用订阅发布模型,以中间件的形式提供通信服务,并提供QoS(Quality of Service)策略,保障数据实时、高效、灵活的分发。
DDS 标准规范
DDS规范描述了以数据为中心的发布-订阅(DCPS)模型,该模型用于分布式应用程序通信和集成。该规范定义了应用程序接口 (API) 和通信语义(行为和服务质量QoS),它们能够有效地将信息从信息生产者传递到匹配的信息消费者。DDS规范的目的可以概括为:在正确的时间将正确的信息高效、可靠地传送到正确的地点。
核心规范
DDS v1.4:DDS 规范描述了以数据为中心的发布-订阅 (DCPS) 模型,该模型用于分布式应用程序通信和集成。
DDSI-RTPS v2.3:RTPS规范定义了实时发布-订阅协议 (RTPS),此协议为DDS标准中互操作有线协议。
DDS-XTypes v1.3:此规范定义DDS数据类型系统以及DDS数据的序列化表示方法。
DDS-Security v1.1:此规范为DDS实现定义了安全模型和服务插件接口 (SPI) 架构。
类型语法和语言映射(IDL)规范
IDL4 v4.2(即ISO标准ISO/IEC 19516:2020):接口定义语言(Interface Definition Language)规范定义了IDL,一种用于以独立于编程语言的方式定义数据类型和接口的语言。IDL规范不是 DDS 标准,但 DDS 依赖于它。
IDL4-JAVA:此规范定义了 IDL4 类型到 Java 语言的映射。
IDL4-C#:此规范定义了 IDL4 类型到 C# 语言的映射。
应用程序接口(API)规范
DDS C++ API(对应ISO/IEC C++ 2003):此规范为DDS规范中以数据为中心的发布-订阅 (DCPS) 部分定义了C++ API。
DDS Java API(对应Java 5):此规范为DDS规范中以数据为中心的发布-订阅 (DCPS) 部分定义了Java API。
扩展规范
DDS-RPC v1.0:此规范定义了一个分布式服务框架,该框架提供了独立于语言的服务定义以及使用DDS进行通信的服务/远程过程调用。此规范支持自动发现,同步和异步调用并可使用多种QoS。
DDS-XML v1.0:此规范定义了用于表示DDS相关资源的XML语法,为DDS服务质量 (QoS)、DDS 数据类型和DDS 实体(DomainParticipants、Topics、Publishers、Subscriber、DataWriters和DataReaders)提供XSD模式文件。
DDS-JSON v1.0:此规范定义了用于表示 DDS 相关资源的JSON语法,为 DDS 服务质量 (QoS)、DDS数据类型、DDS数据和 DDS 实体(DomainParticipants、Topics、Publishers、Subscriber、DataWriters和DataReaders)提供JSON模式文件。
网关规范
DDS-WEB v1.0:此规范定义了一个独立于平台的抽象交互模型,用于说明Web客户端应该如何访问DDS系统以及一组DDS到特定 Web 平台的映射,这些特定 Web 平台在标准Web技术和协议方面实现了平台无关模型 (PIM)。
DDS-OPCUA v1.0:此规范定义了一个标准的、可配置的网关,它支持使用DDS的系统和使用OPCUA的系统之间的互操作和信息交换。
DDS-XRCE v1.0:此规范定义了资源受限的低功耗设备向DDS域发布和订阅数据的协议。XRCE协议将XRCE客户端(Client)与DDS 代理(Agent)连接,该DDS代理充当连接至DDS域的网关。