文章目录

  • 1 数据分发服务 (DDS) 内置主题
  • 2 什么是内置主题?
  • 3 内置主题中包含哪些信息?
    • 3.1 DCPSParticipant
      • 3.1.1 ParticipantBuiltinTopicData 成员表
    • 3.2 DCPSTopic
      • 3.2.1 TopicBuiltinTopicData 成员表
    • 3.3 DCPSPublication
      • 3.3.1 PublicationBuiltinTopicData 成员表
    • 3.4 DCPSSubscription
      • 3.4.1 SubscriptionBuiltinTopicData 成员表

传送门 ==>> AutoSAR实战系列300讲「糖果Autosar」总目录

1 数据分发服务 (DDS) 内置主题

DDS 内置主题是数据分发服务用来帮助应用程序相互发现的一种特殊主题。中间件自动处理这些主题。应用程序还可以访问它们以获取有关域的信息。

DDS 中间件在运行过程中需要跟踪大量数据。DDS 应用程序及其实体可以在 DDS 域中出现和消失。这些实体可以是 DomainPartiticpantsDataWritersDataReadersTopics。DDS 中间件需要能够跟踪这一点。使用 DDS 的应用程序可能想了解这些更改。这使他们能够采取适当的行动。

DDS 规范定义了一些内置于 DDS 实现的主题。DDS 使用这些内置主题来帮助应用程序相互发现。订阅内置主题使应用程序可以访问有关域的信息。这些信息包括:

  • 在域中注册的主题
  • 哪些数据读取器和写入器建立了连接或断开或连接
  • 域中实体的 QoS 设置

The build-in topics do not communicate all the QoS policy settings, only the ones that determine connectivity(例如,具有 RxO 功能)。

2 什么是内置主题?

不同的 DDS 实体位于不同的内置主题中,如下所示,内置主题包含:

  • DCPSParticipant
  • DCPSTopic
  • DCPSPublication
  • DCPSSubscription
  1. DCPSParticipant 主题用于描述域参与者的每个实例。

  2. Each Topic entity is described by an instance of the DCPSTopic topic.

  3. Information about Publishers and DataWriters comes in a joint built-in topic called DCPSPublication。This contains one instance for each DataWriter which embeds the relevant information from the Publisher that contains it.。要获取有关系统中writers 的信息,您应该订阅 DCPSPublication 主题。

  4. 订阅者和数据读取者也来自一个名为 DCPSSubscription 的联合内置主题。 This contains one instance for each DataReader which also contains the information from the Subscriber that contains it.

3 内置主题中包含哪些信息?

3.1 DCPSParticipant

DCPSParticipant 主题使用 ParticipantBuiltinTopicData 数据类型来跟踪域中的 DomainParticipants。每个 ParticipantBuiltinTopic 数据样本代表一个 DomainParticipant。
如果创建了一个新的 DomainParticipant,那么就会创建一个新的 ParticipantBuiltinTopicData 实例。如果 DomainParticipant 被删除,则 ParticipantBuiltinTopicData 实例被释放。如果 DomainParticipant 修改其 UserDataQosPolicy,an updated ParticipantBuiltinTopicData sample is written。

3.1.1 ParticipantBuiltinTopicData 成员表

下表显示了 DCPSParticipant 主题中包含的信息。

姓名 类型 描述
key 内置TopicKey_t Globally unique identifier of the participant
user_data UserDataQosPolicy 通过 QosPolicy 附加到 participant 的用户定义数据

3.2 DCPSTopic

DCPSTopic 主题通过使用 TopicBuiltinTopicData 数据类型来传达主题的存在。域中的 TopicBuiltinTopicData 样本是该域中主题的表示。当一个新的主题被添加到域中时,一个新的 TopicBuiltinTopic 数据实例被创建。

当主题被参与者删除时,该实例不会被释放,因为主题生命周期与域的生命周期相关联,而不是与参与者的生命周期相关联。由于 DDS 的性质,主题(及其样本)的生命周期与发布者和订阅者无关。主题(和内置主题)在 DDS 中是永存的,因为使用它们的应用程序可以随时加入或离开。即使所有引入主题的应用程序都消失了,主题仍将保留在系统中。如果整个域消失,它们就会消失。

如果一个 Topic 修改了它的一个或多个 QoSPolicy 值,一个新的 TopicBuiltinTopicData 样本将被写入。

DCPSTopicTopic 中发布的信息对数据分发服务至关重要,因此无法通过配置文件中的 Domain/BuiltinTopics 元素禁用它。

3.2.1 TopicBuiltinTopicData 成员表

下表显示了 TopicBuiltinTopicData 主题中包含的信息。

key BuiltinTopicKey_t Global unique identifier of the Topic
name String Name of the Topic
type_name String Type name of the Topic (i.e. the fully scoped IDL name)
durability DurabilityQosPolicy QosPolicy attached to the Topic
durability_service DurabilityServiceQosPolicy QosPolicy attached to the Topic
deadline DeadlineQosPolicy QosPolicy attached to the Topic
latency_budget LatencyBudgetQosPolicy QosPolicy attached to the Topic
liveliness LivelinessQosPolicy QosPolicy attached to the Topic
reliability ReliabilityQosPolicy QosPolicy attached to the Topic
transport_priority TransportPriorityQosPolicy QosPolicy attached to the Topic
lifespan LifespanQosPolicy QosPolicy attached to the Topic
destination_order DestinationOrderQosPolicy QosPolicy attached to the Topic
history HistoryQosPolicy QosPolicy attached to the Topic
resource_limits ResourceLimitsQosPolicy QosPolicy attached to the Topic
ownership OwnershipQosPolicy QosPolicy attached to the Topic
topic_data TopicDataQosPolicy QosPolicy attached to the Topic

3.3 DCPSPublication

DCPSPublication 主题跟踪数据写入者的存在。它使用 PublicationBuiltinTopicData 数据类型执行此操作。Every PublicationBuiltinTopicData sample in a Domain is a representation of a DataWriter.

如果您创建一个新的 DataWriter,您将创建一个新的 PublicationBuiltinTopicData 实例。如果您删除 DataWriter,则会释放 PublicationBuiltinTopicData 实例。如果 DataWriter(或它所属的发布者)修改了应用于与其连接的实体的 QoSPolicy,则会写入更新的 PublicationBuiltinTopicData 样本。PublicationBuiltinTopicData 也会在writer 失去或恢复liveliness时更新。

当您在 DataReader 上调用 get_matched_publication_data 操作时,您实际上获得了 PublicationBuiltinTopicData samples ,这些samples 描述了 DataReader 已连接到的 Writer。

3.3.1 PublicationBuiltinTopicData 成员表

Name Type Description
key BuiltinTopicKey_t Global unique identifier of the DataWriter
participant_key BuiltinTopicKey_t Global unique identifier of the Participant to which the DataWriter belongs
topic_name String Name of the Topic used by the DataWriter
type_name String Type name of the Topic used by the DataWriter
durability DurabilityQosPolicy QosPolicy attached to the DataWriter
deadline DeadlineQosPolicy QosPolicy attached to the DataWriter
latency_budget LatencyBudgetQosPolicy QosPolicy attached to the DataWriter
liveliness LivelinessQosPolicy QosPolicy attached to the DataWriter
reliability ReliabilityQosPolicy QosPolicy attached to the DataWriter
lifespan LifespanQosPolicy QosPolicy attached to the DataWriter
destination_order DestinationOrderQosPolicy QosPolicy attached to the DataWriter
user_data UserDataQosPolicy QosPolicy attached to the DataWriter
ownership OwnershipQosPolicy QosPolicy attached to the DataWriter
ownership_strength OwnershipStrengthQosPolicy QosPolicy attached to the DataWriter
presentation PresentationQosPolicy QosPolicy attached to the Publisher to which the DataWriter belongs
partition PartitionQosPolicy QosPolicy attached to the Publisher to which the DataWriter belongs
topic_data TopicDataQosPolicy QosPolicy attached to the Topic used by the DataWriter
group_data GroupDataQosPolicy QosPolicy attached to the Topic used by the DataWriter

3.4 DCPSSubscription

DCPSSubscription 主题使用 SubscriptionBuiltinTopicData 数据类型来传达数据读取器的存在。域中的每个 SubscriptionBuiltinTopicData 样本represents 该域中的数据读取器。

当启用新的 DataReader 时,会创建一个新的 SubscriptionBuiltinTopicData 实例。当 DataReader 被删除时,SubscriptionBuiltinTopicData 被释放。如果 DataReader(或其所属的 Subscriber)修改了应用于与其连接的条目的 QoSPolicy,则更新 SubscriptionBuiltinTopicData 样本。

3.4.1 SubscriptionBuiltinTopicData 成员表

Name Type Description
key BuiltinTopicKey_t Global unique identifier of the DataReader
participant_key BuiltinTopicKey_t Global unique identifier of the Participant to which the DataReader belongs
topic_name String Name of the Topic used by the DataReader
type_name String Type name of the Topic used by the DataReader
durability DurabilityQosPolicy QosPolicy attached to the DataReader
deadline DeadlineQosPolicy QosPolicy attached to the DataReader
latency_budget LatencyBudgetQosPolicy QosPolicy attached to the DataReader
liveliness LivelinessQosPolicy QosPolicy attached to the DataReader
reliability ReliabilityQosPolicy QosPolicy attached to the DataReader
ownership LifespanQosPolicy QosPolicy attached to the DataReader
destination_order DestinationOrderQosPolicy QosPolicy attached to the DataReader
user_data UserDataQosPolicy QosPolicy attached to the DataReader
time_based_filter TimeBasedFilterQosPolicy QosPolicy attached to the DataReader
presentation PresentationQosPolicy QosPolicy attached to the Subscriber to which the DataReader belongs
partition PartitionQosPolicy QosPolicy attached to the Subscriber to which the DataReader belongs
topic_data TopicDataQosPolicy QosPolicy attached to the Topic used by the DataReader
group_data GroupDataQosPolicy QosPolicy attached to the Subscriber to which the DataReader belongs

数据分发服务 (DDS) 内置主题相关推荐

  1. 工业级数据分发服务DDS之安全篇

    目录 引出问题 分析问题 解决问题 官方标准 安全插件 域级安全 域内安全 基于RTPS协议的安全 RTI方案 安全插件的特性 支持的加解密算法 用于数据流保护的密码算法 用于密钥交换的密码算法 用于 ...

  2. 数据分发服务 (DDS)及Fast DDS环境搭建

    1. 数据分发服务 (DDS) 数据分发服务 (DDS)是一种以 数据为中心的通信协议,用于分布式软件应用程序通信.它描述了支持数据提供者和数据消费者之间通信的通信应用程序编程接口 (API) 和通信 ...

  3. 一文读懂“数据分发服务DDS”(Data Distribution Service,RTPS,OMG)

    一文读懂"数据分发服务DDS"(Data Distribution Service,RTPS,OMG) https://blog.csdn.net/DDS_CSIT/article ...

  4. 【数据分发服务DDS】软件定义汽车【一】- 概述

    摘要: 软件定义汽车(Software Defined Vehicles, SDV),软件改变着汽车的DNA,毫无疑问,软件对于汽车的重要性不言而喻,从2016年开始,自动驾驶的大潮来临之际,软件定义 ...

  5. 【数据分发服务DDS】软件定义汽车【二】- 面向服务的架构设计

    引言 上一篇文章主要介绍了电子电气架构.车载操作系统.基础软件平台等之间的关系,以及软件定义汽车的基本概念,本篇将继续深入,重点阐述三个问题: 智能电动汽车软件范畴 软件+硬件升级的基础 面向服务的软 ...

  6. 【数据分发服务DDS】软件定义汽车【四】-行业现状

    引言 思绪乱飞导致失眠,索性打开电脑记录了下来,前几篇主要写技术,本篇主要介绍一下行业现状,介绍技术和数据是相对客观的,但是谈观点就会有我自己的主观意识在里面,所以这方面仅供大家参考,主要包含以下内容 ...

  7. 数据分发服务DDS及实时发布订阅协议RTPS-DDS互操作协议规范下载

    数据分发服务(DDS) Data Distribution Service (DDS)V1.4 实时发布订阅协议(RTPS) The Real-time Publish-Subscribe Proto ...

  8. 【数据分发服务DDS】软件定义汽车【三】-SOA 基础软件框架与参考实现

    引言 上一篇文章对智能汽车软件的范围.软硬件升级.SOA的内涵进行了介绍,本篇将围绕 SOA的实现细节,重点阐述以下问题: SOA 基础软件框架 SOA 参考实现 SOA 实现所需相关技术 一.SOA ...

  9. DDS——工业物联网中间件的正确选择(Data Distribute Service,数据分发服务)

    关键字:物联网 数据分发服务 DDS RTPS OMG 1.工业物联网是激动人心的未来 互联网和智能手机将人们与海量信息连接起来,从而对世界产生了深远的影响.互联网上大约有10亿个节点,包括笔记本电脑 ...

最新文章

  1. 重新整理Cellset转Datatable
  2. 第十六届智能车竞赛西部赛区
  3. 《利用python进行数据分析》读书笔记--第十章 时间序列(二)
  4. 如何使用matlab得出pid控制参数值,基于MATLAB的PID控制器参数整定及仿真
  5. Silverlight中使用MIRIA进行触屏编程
  6. java 第三方序列化,11.既然有第三方的序列化方式,说明java官方提供的序列化方式应该有一些很明显或者很致命的缺点……...
  7. java 基本数据类型和包装类型
  8. 如何在官网下载java JDK的历史版本
  9. 为什么我会放弃 Webpack 而选择 Vite
  10. 谷歌如何获取了我们的个人数据?
  11. C++20 模式下将启用协程支持 CC 11
  12. 使用EasyRecovery简单修复视频
  13. 基于 Redis 的分布式锁到底安全吗(上)?
  14. Android--使用融云SDK开发即时聊天(一)----基本环境搭建
  15. tp5调用阿里云短信接口
  16. 谢尔宾斯基三角形——python递归
  17. HTTP状态码404、413、500
  18. 【ECM技术】局部光照补偿技术(LIC)
  19. 计算机网络技术不会拼音,我爸不会拼音,怎样在电脑上学打字阿?
  20. 闪电贷攻击攻击屡试不爽,DeFi一周被盗超1600万美元

热门文章

  1. dedecms内链 arc.archives.class.php,DedeCms5.5全站自动给关键字加内链的修改方法
  2. 三谈exception——错误处理
  3. 当VR遇上云计算,华为要让VR飞入寻常百姓家
  4. C#理发店会员管理系统v1.0
  5. opa847方波放大电路_三相方波逆变电路原理说明
  6. 网易易盾验证码的安全策略
  7. 【Zabbix_6.x 第一章】概述、功能、术语、架构
  8. 某程序员工作一年感慨:看到代码就恶心,想转行销售,网友:你觉得人民币恶心吗?
  9. 【Canvas】字体图标二、 Iconfont-阿里巴巴 、矢量图标库
  10. AI艺术奇幻之旅的诞生