实时发布订阅协议(RTPS)DDS互操作网络协议规范-中文翻译_001

实时发布订阅协议(RTPS)DDS互操作网络协议规范-中文翻译_001

关键字:OMG,RTPS,DDS

The Real-time Publish-Subscribe Protocol (RTPS) DDS Interoperability Wire Protocol Specification,Version 2.2,September 2014

1 范围

本规范是对OMG RFP“数据分发服务互操作性网络协议(Data-Distribution Service Interoperability Wire Protocol)”(mars / 2005-06-13)的响应。它定义了DDS的互操作性协议。其目的和范围是确保基于不同供应商的DDS实现的应用程序可以互操作。

2 一致性

实现必须完全遵循本文8.4.2章的一致性描述。

3 标准参考

本文所引用的以下规范性文件,构成本规范的条款。凡是注日期的引用文件,其随后所有的修改单(或修改版)均不适用于本标准。
-《DDS Specification v1.1 (OMG document formal/2005-12-04)》

4 条件和定义

规范性参考文献中给出的术语和定义适用于本规范。

5 标识

  • CDR Common Data Representation,通用数据表示
  • DDS Data Distribution Service,数据分发服务
  • EDP Endpoint Discovery Protocol,端点发现协议
  • GUID Globally Unique Indentifier,全球唯一的标识符
  • PDP Participant Discovery Protocol,参与者发现协议
  • PIM Platform Independent Model,平台独立模型
  • PSM Platform Specific Model,平台特定模型
  • RTPS Real-Time Publish-Subscribe,实时发布 - 订阅
  • SEDP Simple Endpoint Discovery Protocol,简单的端点发现协议

6 附加信息

6.1对OMG规范的修改

本文对OMG的规范不做任何修改,而是作为其补充。
(见http://www.omg.org/cgi-bin/doc?formal/05-12-04)。

6.2 如何阅读本文

本文定义了DDS协同协议。不熟悉DDS的读者建议先阅读DDS规范。

7.1介绍一节高度概述了RTPS(Real-Time Publish-Subscribe),简要列出本文的机构。后续章节将更加详细地描述RTPS的更多细节。

本文描述了PIM((Platform Independent Model)和PSM (Platform Specific Model)以满足不同读者的需求:

  • 新接触RTPS的读者可以从PIM的结构模型(Structure Module)和信息(Message Module)模型开始阅读,这些模型提供了RTPS协议的actors,描述了他们如何与DDS实体(Entities)相关联,RTPS Message都有什么内容以及如何组织的。
  • 欲探索RTPS 信息交换协议(RTPS message exchange protocol)的读者可以阅读行为模型(Behavior Module)的第一部分。RTPS是一个完全灵活的协议,允许在实现时根据在远端节点(remote Endpoints)需要保存多少状态定制行为。行为模型第一部分列出了遵循RTPS的实现方式必须满足的总体的需求,以确保可以与其他实现方式的互操作性。
  • 行为模型(Behavior Module)第二部分定义了两种参考实现方式。第一种参考实现方式在远端节点维持所有状态,另一种则不保存。这部分适用于希望深层次理解RTPS信息交换协议的读者,而对于首次阅读的读者来说,本部分容易被跳过。
  • 对RTPS如何实现动态发现远端节点感兴趣的读者,可以阅读发现模型(Discovery Module)。
  • 对于准备实现RTPS或者定义一个新的PSM的读者,PSM一章包含了RTPS PIM 是如何映射到UDP/IP PSM的详细讨论。
  • 最后,数据封装章节定义了供RTPS使用的多种数据封装机制。

7 概述

7.1 引言

最近采用的数据分发服务(DDS)规范定义了应用程序级接口和DDS的行为,该服务支持实时系统中以数据为中心的发布订阅(DCPS)。DDS规范使用模型驱动架构(MDA)方法来精确描述以数据为中心的通信模型:

  • 应用程序如何为其希望发送和接收的数据建模;
  • 应用程序如何与DCPS中间件交互并指定其希望发送和接收的数据以及服务质量(QoS)要求;
  • 如何发送和接收数据(相对于QoS要求),
  • 应用程序如何访问数据;
  • 应用程序从中间件状态中获得的反馈类型。

DDS最大程度地采用基于类型的接口(即考虑实际的数据类型进行设计的接口)。基于类型的接口主要有以下优点:

  • 简单易用:程序开发人员可以直接处理自然象征数据的类型设计;
  • 安全可用:在编译阶段即可进行验证;
  • 高效好用:依赖于提前了解的精确数据类型来设计执行代码可以预分配资源使用。

DDS规范还包括特定于平台的IDL映射,因此使用DDS的应用程序只需重新编译即可在DDS实现之间切换。通过这种方式DDS解决了“应用程序可移植性”问题。

DDS规范没有提出中间件通过TCP/UDP/IP等传输方式交换消息的协议,因此除非提供特定于供应商的“网桥”,否则DDS的不同实现将不会实现彼此之间的互操作。这种情况类似于其他消息传递的API标准(如JMS)。

随着DDS在大型分布式系统中的日益普及,需要定义标准的“有线协议”,允许来自多个供应商的DDS实现进行互操作。所需的“DDS有线协议”应该能够利用DDS可配置的QoS设置来优化其对底层传输能力的使用。特别是所需的有线协议必须能够利用多播,尽力而为和许多DDS QoS的无连接的特性。

7.2 DDS网络协议的要求

在网络通信中,与许多其他工程领域一样,事实上“一种尺寸并不适合所有情况”。工程设计是关于做出正确的权衡取舍,这些权衡必须平衡相互冲突的需求,如通用性,易用性,功能丰富性,性能,内存大小和使用,可扩展性,确定性和健壮性。这些权衡取决于信息流的类型(例如,周期性与突发性,基于状态与基于事件,一对多与请求应答,尽力而为与可靠,小数据值与大文件等),以及应用程序和执行平台施加的约束。因此,出现了许多成功的协议,例如HTTP,SOAP,FTP,DHCP,DCE,RTP,DCOM和CORBA。这些协议中的每一个都填补了一项空白,为特定目的或应用领域提供了良好的功能。

DDS的基本通信模型是单向数据交换的一种,其中发布数据的应用程序将相关数据更新“推送”到订阅者的本地高速缓存。此信息流由DataWriter和DataReader之间隐式建立的QoS合约进行管理。DataWriter在声明其发布数据的意图时指定其QoS合约,DataReader在声明其订阅数据的意图时指定它的QoS合约。通信模式通常包括多对多样式配置。部署DDS技术的应用程序主要关注的是以最小的开销和有效的方式分发信息。另一个重要的需求是以强大的容错方式扩展到数百或数千个订阅者。

DDS规范规定了必须要有内置发现服务,允许发布者动态发现订阅者,反之亦然,并且无需联系任何名称服务器即可连续执行此任务。

DDS规范还规定DDS实现不应引入任何单点故障。因此协议不能依赖于集中式名称服务器或集中式信息代理。

部署DDS的应用程序的大规模,松耦合,动态特性以及适应新兴传输方式的需求要求数据定义和协议具有一定的灵活性,以便每个都可以发展进化,同时保持与已部署系统的向下兼容性。

7.3 RTPS网络协议

实时发布订阅(RTPS)协议源于工业自动化,实际上已被IEC批准为实时工业以太网套件IEC-PAS-62030的一部分。它是一种经过现场验证的技术,目前已在全球数千个工业设备中部署。

RTPS专门用于支持数据分发系统的独特要求。作为DDS所针对的应用领域之一,工业自动化社区定义了与DDS匹配的标准发布订阅线协议的需求。在底层的行为架构和RTPS的特征方面,DDS和RTPS有线协议之间存在紧密的协同作用。

RTPS协议旨在能够在多播和无连接的尽力传输方式(例如UDP/IP)上运行。 RTPS协议的主要特点包括:

  • 性能和服务质量属性,通过标准IP网络为实时应用程序提供尽力而为和可靠的发布订阅通信。
  • 容错,允许创建没有单点故障的通信网络。
  • 可延展性,允许使用新服务来扩展和增强协议,同时不破坏向下兼容性和互操作性。
  • 即插即用连接,以便自动发现新的应用程序和服务,应用程序可以随时加入和离开网络,无需重新配置。
  • 可配置性,平衡数据传输的可靠性和及时性需求。
  • 模块化,允许简单设备实现协议的子集并加入网络。
  • 可扩展性,使系统可以扩展到非常大的网络。
  • 类型安全,以防止应用程序编程错误影响远程节点的运营。

上述特性使RTPS成为DDS有线协议的绝佳搭档。鉴于其发布订阅机制的根源,RTPS专门用于满足DDS应用程序域提出的需求类型,这并不是巧合。

此规范定义了消息格式,解释和使用场景,它们是使用RTPS协议的应用程序交换传输所有消息的基础。


译文连载

RTPS规范-下一篇:实时发布订阅协议(RTPS)DDS互操作网络协议规范-中文翻译_002

DDS规范-译文连载:DDS (Data Distribution Service) 数据分发服务-规范中文翻译_001


相关链接

DDS科普:一文读懂DDS(数据分发服务)

DDS定义:什么是DDS?

产品介绍:BLUE DCS分布式数据连接解决方案

产品试用: 海蓝云平台-Blue DCS

你可能感兴趣的:(DDS,RTPS)