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

本文主要是介绍实时发布订阅协议(RTPS)DDS互操作网络协议规范-中文翻译_002,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

关键字:OMG,RTPS,DDS

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

7 概述

7.4 RTPS平台无关模型(PIM)

根据平台无关模型(PIM)和一组PSM描述RTPS协议。

RTPS PIM包含四个模块:结构,消息,行为和发现。结构(Structure)模块定义通信端点。 消息(Messages)模块定义这些端点可以交换的消息集合。行为(Behavior)模块定义了合法交互集(消息交换)以及它们如何影响通信端点的状态。换句话说,Structure模块定义了协议“参与者”,Messages模块定义了“语法符号”,而Behavior模块定义了不同会话的合法语法和语义。发现(Discovery)模块定义如何自动发现和配置实体。

在这里插入图片描述
图 7.1 RTPS模块

在PIM中,消息是根据其语义内容定义的。可以将此PIM映射到各种平台特定模型(PSM)中,例如普通UDP或CORBA事件。

7.4.1 结构模块

鉴于其发布订阅的根源,RTPS自然地映射到多个DDS概念中。本规范会使用许多DDS规范已经使用的相同核心实体。如图1.2所示,所有RTPS实体都与RTPS域相关联,RTPS域表示包含一组参与者(Participants)的单独通信平面。 参与者包含本地端点(Endpoints)。 有两种类型的端点:读取者(Readers)写入者(Writers)。读取者和写入者是通过发送RTPS消息来传达信息的参与者。写入者告知数据的存在并将**数据域(Domain)**上的本地可用数据发送给读取者,读取者可以请求和确认数据。

在这里插入图片描述

图 7.2 RTPS结构模块

RTPS协议中的活动者与DDS实体一一对应,这是通信产生的原因。如图7.3所示。

在这里插入图片描述
图 7.3 RTPS与DDS对应关系

结构模块在8.2中描述。

7.4.2 消息模块

消息模块定义RTPS写入者和读取者之间的原子信息交换的内容。消息(Message)由一个报文头(Header)后跟一些子消息(Submessage)组成,如图2.4所示。每个消息都是由一系列元素构建的。选择此结构是为了允许扩展子消息的内容和每个子消息的组成,同时保持向下兼容性。
在这里插入图片描述
图 7.4 RTPS消息模块

消息模块将在8.3中详细讨论。

7.4.3 行为模块

行为模块描述了可以在RTPS写入者和读取者之间交换的消息序列,以及时间和每条消息引起的写入者和读取者状态的变化。

互操作性所需的行为是根据实现必须遵循的最小规则集来描述的,以便实现互操作。实际实现可能表现出超出这些最低要求的不同行为,具体取决于他们希望如何权衡扩展性,内存要求和带宽使用。

为了说明这个概念,行为模块定义了两个参考实现。一个参考实现基于有状态写入者(StatefulWriters)有状态读取者(StatefulReaders),另一个基于无状态写入者(StatelessWriters)无状态读取者(StatelessReaders),如图2.2所示。两种参考实现都满足互操作的最低要求,因此可以互操作,但由于它们存储在匹配的远程实体上的信息不同,因此表现出略微不同的行为。 RTPS协议的实际实现的行为可以是参考实现的完全匹配或组合。

行为模块在8.4中描述。

7.4.4 发现模块

发现模块描述了使参与者(Participants)能够获取域中所有其他参与者(Participants)和端点(Endpoints)的存在和属性信息的协议。这种元通信(metatraffic)使每个参与者(Participant)能够获得域中所有参与者(Participants),读取者(Readers)和写入者(Writers)的完整信息,并配置本地写入者与远程读取者进行通信,以及本地读取者与远程写入者进行通信。

发现是一个单独的模块。发现的独特需求,即写入者和读取者进行匹配所需的所有信息需要通过透明地即插即用传播,使得单个架构或协议不可能满足各种各样的可扩展性,性能和将部署DDS的异构网络的嵌入性需求。从此以后,引入多种发现机制是有意义的,这些机制从简单和有效(但不是很可扩展)到更复杂的分层(但更具可扩展性)机制。

发现模块在8.5中描述

7.5 RTPS平台特定模型(PSM)

特定于平台的模型将RTPS PIM映射到特定的底层平台。它定义了所有RTPS类型和消息的位和字节的精确表示以及专属于平台的其他信息。

可能支持多个PSM,但DDS的所有实现必须在UDP/IP之上实现PSM,这在第3章中介绍。

7.6 RTPS传输模型

RTPS支持各种传输方式和传输QoS。该协议旨在能够在多播和尽力而为的传输方式(例如UDP/IP)上运行,并且只需要该传输方式提供非常简单的服务。实际上传输方式提供能够最大限度地发送数据包的无连接服务就足够了。也就是说传输方式不需要保证每个数据包会到达其目的地或者数据包按顺序传送。如果需要,RTPS在传输接口以上实现数据传输和状态的可靠性。这并不排除RTPS在可靠的传输方式之上实现。它使得支持更广泛的底层传输方式成为可能。

如果可以的话,RTPS还可以利用传输机制的多播功能,来自发送方的一条消息可以到达多个接收方。RTPS旨在促进底层通信机制的确定性。该协议提供了确定性和可靠性之间的公开权衡。
RTPS对底层传输方式的一般要求可归纳如下:

  • 传输具有单播地址(长度应在16字节以内)的通用概念。
  • 传输具有端口(长度应在4字节以内)的通用概念,例如可以是UDP端口或者共享存储器段中的偏移等。
  • 传输可以将数据报(未解释的八位字节序列)发送到特定的地址/端口。
  • 传输可以在特定地址/端口接收数据报。
  • 如果传输过程中消息不完整或已损坏,传输将丢弃消息(即RTPS假定消息已完成且未损坏)。
  • 传输提供推断接收消息大小的方法。

译文连载

RTPS规范-上一篇:实时发布订阅协议(RTPS)DDS互操作网络协议规范-中文翻译_001
RTPS规范-下一篇:实时发布订阅协议(RTPS)DDS互操作网络协议规范-中文翻译_003
DDS规范-译文连载:DDS (Data Distribution Service) 数据分发服务-规范中文翻译_001

相关链接

DDS科普:一文读懂DDS(数据分发服务)
DDS定义:什么是DDS?
产品介绍:BLUE DCS分布式数据连接解决方案
产品试用: 海蓝云平台-Blue DCS

这篇关于实时发布订阅协议(RTPS)DDS互操作网络协议规范-中文翻译_002的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/453606

相关文章

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

MySQL高性能优化规范

前言:      笔者最近上班途中突然想丰富下自己的数据库优化技能。于是在查阅了多篇文章后,总结出了这篇! 数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名识意,并且最后不要超过32个字符 临时库表必须以tmp_为前缀并以日期为后缀,备份

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

VC网络协议

// PCControlDlg.cpp : 实现文件//#include "stdafx.h"#include "PCControl.h"#include "PCControlDlg.h"#include "afxdialogex.h"#ifdef _DEBUG#define new DEBUG_NEW#endif// 用于应用程序“关于”菜单项的 CAboutDlg 对话框#ifde

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。

JavaSE-易错题集-002

1. 下面有关java基本类型的默认值和取值范围,说法错误的是? A 字节型的类型默认值是0,取值范围是-2^7—2^7-1 B boolean类型默认值是false,取值范围是true\false C 字符型类型默认是0,取值范围是-2^15 —2^15-1 D long类型默认是0,取值范围是-2^63—2^63-1 答案:C 题解:注意字符型(char) char 占16位,

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们

【Go】go连接clickhouse使用TCP协议

离开你是傻是对是错 是看破是软弱 这结果是爱是恨或者是什么 如果是种解脱 怎么会还有眷恋在我心窝 那么爱你为什么                      🎵 黄品源/莫文蔚《那么爱你为什么》 package mainimport ("context""fmt""log""time""github.com/ClickHouse/clickhouse-go/v2")func main(

禅道Docker安装包发布

禅道Docker安装包发布 大家好, 禅道Docker安装包发布。 一、下载地址 禅道开源版:   /dl/zentao/docker/docker_zentao.zip  备用下载地址:https://download.csdn.net/download/u013490585/16271485 数据库用户名: root,默认密码: 123456。运行时,可以设置 MYSQL_ROOT_P