当前位置 : 主页 > 编程语言 > c语言 >

[FASTDDS]00-FastDDS简介

来源:互联网 收集:自由互联 发布时间:2023-09-07
01-FastDDS简介 本节介绍DDS和RTPS的概念。 本文章来源于 fast dds 官网中的 What is DDS 和What is RTPS 章节 1.1 什么是DDS Data Disrubution Service(DDS) ——数据分发服务——是一个用来进行分布式软件应

01-FastDDS简介

本节介绍DDS和RTPS的概念。

本文章来源于fast dds官网中的 What is DDS 和What is RTPS 章节

1.1 什么是DDS

Data Disrubution Service(DDS)——数据分发服务——是一个用来进行分布式软件应用通信的协议。它描述了数据提供者和数据消费者之间的通信API以及通信语义。

DDS是一个以数据为中心的发布、订阅模型(Data-Centric Publish Subscribe),因此在其实现中定义了三个关键的应用实体:

  • 发布者实体(Publication entities)——定义信息生成对象以及属性
  • 订阅者实体(Subscription entities)——定义信息消费对象以及属性
  • 配置实体(configration entities)——定义了以topic形式传输的信息类型,以及创建发布者和订阅者的服务质量(Quality of Service),以保证上述实体的正确表现。DDS使用QoS来定义DDS实体的行为特征,QoS有其单独的QoS策略。

1.1.1 DCPS概念模型

DCPS模型中,为通信应用系统的开发定义了四个基本元素:

  • 发布者(Publisher):它是负责创建和配置它所实现的DataWriter的实体。DataWriter是负责实际的消息发布的实体。每个DataWriter都会被赋予一个topic,以进行消息的发布。
  • 订阅者(Subscriber):它是负责接收它所订阅的topic的实体。它为一个或多个DataReader对象提供服务,这些对象负责传达应用程序的新数据。
  • 话题(Topic):它是绑定发布者和订阅者的实体,并且它在DDS域中是唯一的。通过TopicDescription,它允许发布和订阅的数据保持一致。
  • 域(Domain):这是一个连接在一个或多个应用之间的链接所有发布者和订阅者,使他们可以通过不同的topic交换数据的概念。这些作为domain的独立应用参与者叫做DomainParticipantDDS Domain通过Domain ID进行标识。DomainParticipant定义domain ID来指定它属于哪个DDS Domain。具有不同ID的两个DomainParticipants不知道彼此在网络中的存在。DomainParticipant充当其他 DCPS的实体,扮演发布者、订阅者和主题的实体工厂容器,并提供域中的管理服务。

1.2 什么是RTPS

为提供DDS应用而开发的实时发布订阅(RTPS)协议,是一个基于例如UDP/IP的最佳传输的发布者——订阅者通信中间件。此外,Fast-DDS还提供支持TCP和共享内存(SHM)的传输方式。它被设计为同时支持单播和多播通信。

在继承于DDSRTPS顶部可以找到Domain,它被定义为一个单独的通信平面。多个domain可以同时独立共存。domain可以包含任意个数的RTPS参与者,既能够发送数据,又可以接收数据。为此,每个RTPS参与者都有以下端点:

  • RTPSWriter:用于发送数据的端点
  • RTPSReader:用于接收数据的端点

每个RTPS参与者可以拥有任意多个的RTPSWriter和任意多个的RTPSReader

image.png

DDS围绕TOPICS进行通信。它定义并标记要交换的数据。TOPICS不属于任何特定的参与者。相反,参与者在topics之下,通过RTPSWritersRTPSReaders进行数据的读写。通信单元被称为Change,它表示在topic之下的数据更新。RTPSWritersRTPSReaders在历史中注册这些变更,该变更是一种用于缓存最近更改的数据结构。

Fast DDS中,当你通过RTPSWriter发布数据时,默认的配置行为如下:

  • 变更记录被添加到RTPSReader的历史缓存中
  • RTPSWriter将数据变更发送给它所知道的任何RTPSReader
  • RTPSReader接收到数据后将使用新的数据更新它的历史缓存

通过选择不同的Qos,可以决定历史缓存如何进行管理。

上一篇:[Leetcode]删除链表中等于val 的所有结点
下一篇:没有了
网友评论