DDS和RTPS概述

FastDDS源码剖析:前置知识梳理(DDS、RTPS、NACK) DDS 是一种实时数据分发服务协议,由 OMG(Object Management Group)制定。它为分布式系统提供了一种基于发布/订阅(pub/sub)模型的实时、可靠、高性能的数据通信机制。DDS 已经成为自动驾驶、航空航天、工业自动化等许多实时和安全关键领域的通信标准。全称是Real-Time Publish-Subscribe 协议。 阅读详情

转载自 DDS和RTPS概述_dds rtps-优快云博客

一、DDS (Data Distribution Service)

DDS(Data Distribution Service,数据分发服务):用于分布式应用程序通信和集成的以数据为中心的发布-订阅(DCPS)中间件模型。提供丰富的QoS服务质量策略,能保障数据进行实时、高效、灵活地分发,可满足各种分布式实时通信应用需求。

DDS 是一种中间件协议和API标准,用于数据密集型实时应用程序的可靠、高性能和可伸缩的数据交换。DDS 定义了一种面向发布-订阅(Pub-Sub)的模式,用于通过网络分发高速数据,并且能够处理数据传输的可靠性、传输优先级、安全性等多个方面。它是由 Object Management Group (OMG) 组织制定的标准。

DDS最初应用于美国海军,用于解决舰船复杂网络环境中大量软件升级的兼容性问题,已经成为美国国防部的强制标准。

二、RTPS (Real-Time Publish-Subscribe,实时发布订阅)

RTPS 是一个协议,它构成了 DDS 的网络层。RTPS 负责定义如何在不同的参与者之间有效、可靠地交换数据。RTPS 协议确保了DDS能够进行实时通信,而不仅仅依赖于高级的API和抽象。

三、DCPS (Data-Centric Publish-Subscribe)

DCPS 是 DDS 的核心层,提供了面向数据的发布-订阅的模型和服务。它定义了如何创建、发送、接收和读取分布于不同位置的数据,而不需要事先知道数据的具体路由。DCPS 处理数据的逻辑位置并与数据的实际位置解耦,从而实现数据的透明流动。

在DCPS中,数据提供者和数据使用者之间通过发布和订阅来进行通信。DCPS定义了三个关键的应用程序实体:发布实体(用于定义信息生成对象及其属性)、订阅实体(用于定义消耗信息的对象及其属性)和配置实体(用于定义作为主题传输的信息的类型,并利用其服务质量属性创建发布者和订阅者,从而确保上述实体的正确性能)。

这种模型的核心在于它以数据为中心,将数据作为一个核心实体来处理,从而简化了分布式系统的开发。DCPS模型可以提供低延迟数据连接、极高的可靠性和可扩展架构,这些特性使得它在物联网(IoT)等业务和任务关键型应用程序中非常有用。

四、它们之间的关系

-DDS: 是总的标准,包含了 DCPS 和 RTPS 的规范,以及其他的服务和模型。
-DCPS: DDS标准的一部分,关注于数据交换的高级策略和模型,是DDS编程接口的主要组成部分。
- RTPS: 实现了DDS的网络传输部分,它支撑着DCPS层的数据分发机制。

简而言之,可以将DDS理解为建筑物,其中DCPS是建筑物的框架和内部结构,而RTPS提供了基础设施,像是管道和电线,确保框架和结构间的相互连接和通信。开发人员通常与DCPS API交互来实现他们的数据分发需求,而RTPS在后台默默地确保数据传输的可靠性和效率。

五、DDS组成部分和特性

除了RTPS(Real-time Publish-Subscribe,实时发布订阅),DDS(Data Distribution Service,数据分发服务)还包括其他组成部分和特性,以提供全面的数据分发解决方案。

    DDS的核心组件包括数据模型(Data Model)、发布/订阅模型(Publish/Subscribe Model)、通信协议(Communication Protocol)和QoS策略(QoS Policies)。这些组件协同工作,使得DDS能够实现高效、可靠和可扩展的数据分发。
    DDS的数据模型定义了如何在分布式系统中表示和传输数据。它使用实体(Entities)和主题(Topics)来组织数据,并提供了一种标准的描述数据结构和属性的方式。
    发布/订阅模型是DDS的核心特性之一,它允许应用程序通过发布和订阅机制来交换数据。应用程序可以发布数据到一个或多个主题上,并订阅感兴趣的主题以接收数据。
    DDS的通信协议负责在分布式系统中传输数据。它提供了一种可靠的、高效的通信机制,以确保数据的可靠传输和实时性。DDS的通信协议可以与其他通信协议进行互操作,如TCP/IP或UDP。
    QoS策略是DDS的重要特性之一,它提供了各种服务质量保证,以满足不同应用程序的需求。DDS支持多种QoS策略,如数据持久性、可靠性、延迟、优先级等,可以根据应用程序的需求进行配置和调整。
    DDS还支持与其他标准和技术进行互操作,如XML、SOAP、Web Services等。这使得DDS可以与现有的系统和应用程序进行集成,而无需对现有技术进行大的改动。

综上所述,DDS是一个综合性的数据分发服务,除了RTPS实时发布/订阅协议外,还包括数据模型、发布/订阅模型、通信协议和QoS策略等核心组件。这些组件共同提供高效、可靠和可扩展的数据分发能力,适用于各种分布式实时系统。

六、DDS应用场景

DDS(Data Distribution Service,数据分发服务)是一种用于分布式应用程序通信和集成的中间件模型,它提供了一种可靠的数据传输机制,适用于各种需要实时数据交换的应用场景。以下是一些DDS的应用场景示例:

    物联网(IoT)应用:在物联网应用中,大量的传感器和设备需要实时地收集和传输数据。DDS提供了一种可靠的机制来处理这些数据,确保数据的实时性和可靠性。例如,一个智能家居系统可以使用DDS来传输传感器数据,控制家电设备的开关和状态。
    航空航天系统:航空航天系统通常需要处理大量的实时数据,如飞行数据、传感器数据等。DDS可以提供高效的数据传输和处理能力,确保数据的实时性和可靠性。例如,飞机上的各种控制系统可以使用DDS来传输数据,实现实时的飞行控制和监测。
    仿真和测试:在仿真和测试应用中,DDS可以用于实时传输仿真数据和控制信号,实现分布式仿真和测试系统的集成。这种应用场景需要高可靠性和低延迟的数据传输,以确保仿真和测试的准确性和实时性。
    医疗设备:医疗设备中的传感器和仪器需要实时地传输和处理数据,例如心电监护仪、医疗影像设备等。DDS可以提供稳定可靠的数据传输服务,确保医疗数据的实时性和准确性。
    交通系统:在交通系统中,DDS可以用于实时传输车辆位置、交通状况等信息,实现交通流量的管理和调度。这种应用场景需要高可靠性和低延迟的数据传输,以确保交通系统的正常运行。

总之,DDS适用于需要实时数据交换的分布式应用程序,其应用场景包括但不限于物联网、航空航天、仿真和测试、医疗设备和交通系统等。通过使用DDS,这些应用程序可以实现高效、可靠和可扩展的数据传输,满足实时性和可靠性的需求。

七、DDS优缺点

DDS(Data Distribution Service,数据分发服务)作为一种用于分布式应用程序通信和集成的中间件模型,具有许多优点和一些潜在的缺点。以下是DDS的一些主要优缺点:

优点:

    实时性:DDS专为实时系统而设计,能够确保数据的实时传输和处理。它提供了低延迟的数据连接,适用于需要快速响应的应用场景。
    可靠性:DDS通过其可靠的通信协议和QoS策略,能够确保数据的可靠传输。它支持数据的持久性和重传机制,以防止数据丢失或损坏。
    可扩展性:DDS具有可扩展的架构,能够支持大量并发连接和数据传输。这使得它适用于大规模分布式系统,可以轻松地扩展以满足不断增长的需求。
    灵活性:DDS支持多种QoS策略,可以根据应用程序的需求进行配置和调整。这使得它非常灵活,可以适应不同的应用场景和需求。
    互操作性:DDS是一种开放的标准,可以与其他标准和技术进行互操作。这使得它易于集成到现有的系统中,并与其他应用程序进行通信。

缺点:

    复杂性:DDS是一种相对复杂的中间件模型,需要一定的学习和配置才能正确使用。对于初学者来说,可能需要花费一些时间来熟悉和理解其概念和特性。
    资源消耗:由于DDS提供了实时、可靠的数据传输和处理能力,它可能需要更多的计算和网络资源。这可能会增加系统的开销和成本。
    限制:虽然DDS是一种通用的数据分发模型,但它可能不适用于某些特定的应用场景或需求。例如,对于一些非常简单或特定的数据传输需求,使用DDS可能会显得过于复杂或冗余。

需要注意的是,这些优缺点是相对的,并且可能因具体的应用场景和需求而有所不同。在选择使用DDS时,应该仔细评估其适用性和优缺点,以确保它满足特定的应用程序需求。
                       
原文链接:https://blog.youkuaiyun.com/eidolon_foot/article/details/105863349

【DDS之fastdds浅析】 DDS(Data Distribution Service)数据分发服务在人工智能和自动驾驶商业方面有很多应用,DDS 都遵守RTPS传输协议,常见的DDS有OpenDDS,fastDDS,RTIDDS,本土的有MDC,Rust版本的dds有RustDDS等。FastDDS因其开源且稳定性和效率更优而被广泛使用,同时它还是Ros2的default middleware,本文以FastDDS为例浅析DDS的组成部分以及其作用,并通过源码示例概述使用方式。DDS 是数据分发服务,是以数据为中心的通信协议。 阅读详情

相关推荐

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

DDS 数据分发服务(Data Distribution Service) 数据分发服务DDS(DataDistributionService)是对象管理组织(OMG)在HLA及CORBA等标准的基础上制定的新一代分布式实时通信中间件技术规范,DDS采用发布/订阅体系架构,强调以数据为中心,提供丰富的QoS服务质量策略,能保障数据进行实时、高效、灵活地分发,可满足各种分布式实时通信应用需求。DDS...

DDS技术交流推广大本营 4万+

FastRTPS学习笔记(1):RTPS概述

文章目录一、RTPS简介二、RTPS优点三、RTPS架构3.1 结构模块3.2 消息模块3.3 行为模块3.4 发现模块四、参考来源 一、RTPS简介 实时发布订阅协议(Real Time Publish Subscribe Protocol,RTPS)是一种协议,用于在单播和多播中通过UDP等不可靠传输进行best effort和reliable的发布-订阅通信。RTPS已被OMG(对象管理组...

胖虎的博客 1万+

通信中间件 Fast DDS 基础概念简述与通信示例

从事汽车软件开发,通信中间件绕不开,当前最火热的无非有 2 种:Some/IP 和 DDS。DDS 是一种分布式通信标准,有很多商业和开源的实现,Fast DDS 是其中的一种。它在 ROS2 中被应用,而 Apollo 中的 CyberRT 框架中也有它的身影。 讲 Fast DDS 之前先讲什么是 DDS。 1. 什么是 DDS ? DDS 是 OMG 组织发布的一种中间件协议和 API 标准,它将系统的组件集成在一起,提供业务和任务关键型物联网 (IoT) 应用程序所需的低延迟数据连接、极高的可靠性和

frank 的专栏 1万+

RTPS协议概述

RTPS协议主要由四个部分组成:​ 发现模块是定义了RTPS的参与者(Participant)获取其他RTPS的参与者(Participant),端点(Endpoint)的协议,使得每个参与者(Participant)能够了解到整个网络中其他参与者的存在并且相互匹配。​ metatraffic通信使得RTPS的参与者(Participant)可以获取到所有Participant,Reader以及Writer的快照并且让本地Reader和远端Writer以及本地Writer和远端Reader之间通信。​ RT

CHALLENG_EVERYTHING的专栏 4694

RTPS协议

RTPS 协议通常与 DDS(Data Distribution Service)一起使用,DDS 是一种基于 RTPS 协议的中间件,用于实现分布式实时系统的构建和管理。DDS 提供了更高级的功能,如数据过滤、数据缓存和主题管理等,使得应用程序可以更方便地使用 RTPS 协议进行数据分发和通信。定义主题和数据类型:主题是用于数据分发的通道,您需要定义主题和数据类型以匹配您要分发的数据。发布数据:发布者将数据发布到指定的主题中。可靠性:RTPS 协议支持数据的可靠性传输,可以保证数据的完整性和一致性。

天赐好车的博客 1486

FastDDS-2.库概览

FastDDS的DDS库和RTPS库的整体介绍

zhangzl419 719

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

关键字:OMG,RTPS,DDS The Real-time Publish-Subscribe Protocol (RTPS) DDS Interoperability Wire Protocol Specification,Version 2.2,September 2014 8.平台无关模型(PIM) 8.1 引言 本节定义了RTPS协议的平台无关模型(PIM)。后续小节将PIM映射到各种平...

DDS技术交流推广大本营 3976

RTPS技术规范(DDS)

RTPS技术规范介绍The Real-Time Publish-Subscribe Wire Protocol DDS Interoperability™ Wire Protocol Specification, V2.0/2.1/2.2内容;

Fast DDS 深入理解,吐血整理

fastdds详细介绍

天道酬勤 2万+

【LVGL】从HTML到LVGL:嵌入式UI的设计迁移与落地实践

嵌入式UI迁移实践:从HTML到LVGL 本文介绍了将HTML/CSS设计的UI原型迁移到嵌入式系统(LVGL)的完整流程,重点涉及"HTML→Figma→LVGL"的三步转换方法。具体内容包括: 设计迁移流程:通过Figma作为中间桥梁,将HTML原型转化为标准设计资产,再适配到LVGL库; 工具与参数准备:详细列出了设计迁移所需的工具链和需要提取的核心设计参数; Figma还原步骤:分组件讲解如何在Figma中1:1还原HTML设计,包括标题栏、压力显示区、图表区等核心组件; LVG

ymlmail的博客 1973

测试 Wi-Fi、蓝牙性能

前几天去原厂测试了 Wi-Fi 和蓝牙的性能,现在把了解到的知识总结一下 RF通路新理解 RF通路一般分为两部分:芯片端、天线端 芯片端 芯片端包括芯片+芯片出来的RF匹配电路,是来调芯片的阻抗匹配的。 天线端 天线前一般也会有一段天线匹配电路,是留给天线调天线的阻抗匹配的。 调试的时候是两部分分开调试的,下面调试的就是芯片端。 测试“阻抗匹配”用网络分析仪看史密斯圆图 测试...

撒哈拉的初学者的博客 1万+

2. Fast DDS库概述

FastDDS(原名FastRTPS)是高性能DDS规范的实现,作为分布式应用的数据通信中间件。其分层架构包含应用层、FastDDS层(实现DDS通信)、RTPS层(协议抽象)和传输层(支持UDP/TCP/SHM等协议)。系统采用多线程并发模型,自动管理线程资源,确保API线程安全。关键特性包括多种发现协议(简单/服务器/静态/手动)、三层次安全机制(认证/访问控制/加密)、可扩展日志系统、XML配置支持和环境变量定制。FastDDS通过模块化设计实现了高性能分布式通信,同时保持与DDS标准的兼容性和配置灵

dengfuma的专栏 1308

实验7:机器学习油田产量预测-代码数据-完整代码数据可直接运行-计算机毕设

实验7:机器学习油田产量预测-代码数据-完整代码数据可直接运行-计算机毕设

机器学习深度学习业余选手 479

ROS2放弃指南2:ros2之DDS

ros

qq_45113070的博客 3782

如何配置SSC CANopen的excel文件

如何配置 CANOpen 的 EXCEL 文件

PI_sunyang的博客 3701

基于STM32设计的校园智慧路灯系统(华为云IOT)(212)

当前设计并研发了基于STM32的智慧路灯系统,本系统的目的是打造一个高效节能、智能化管理的校园照明环境。通过集成STM32F103RCT6高性能微控制器为核心,结合多种传感器模块如BH1750光敏传感器、热释电人体感应模块以及中科微电子GPS模块等,实现了对校园路灯的精准控制与实时监控。

5137

Fast-DDS中GUID的概念简述

最近也是一直在看fast-dds的源码,基本都是看的一些框架和业务逻辑相关的东西。也碰到了个关于guid的问题,正好总结下guid的组成。可以看下这个图: 也可以看下RTPS协议中对prefix和entityid的描述: 在fast-dds中有两个角色有guid的概念:分别是rtps participant和rtps endpoint。RTPS Participant GUID: 每个participant都有GUID,其中常量entityid_...

SWX230162的博客 1073

3、Tone Mapping色调映射(Advanced High Dynamic Range Imaging )

3、Tone Mapping色调映射(Advanced High Dynamic Range Imaging) 如今,大多数可用的显示设备无法本地显示HDR内容。 入门级显示器的对比度仅为200:1。 尽管高端液晶电视具有更高的对比度,但平均对比度约为10,000:1,但通常每个色彩通道的离散度为8位,很少为10位。 这意味着色调限制为255。在过去的二十年中,研究人员花费了大量时间和精力来压缩HDR图像和视频的范围,以便可以在LDR显示器上更“自然”地看到数据。 图3.1 色调映射和真实场景之间.

ISP行业的忠实粉丝 1866

ROS2探索(四)DDS与RTPS

http://www.omg.org/spec/DDSI-RTPS/2.2

qq_16893195的博客 9024

PCB仿真软件:Altium Designer_(18).PCB设计中的热管理

在PCB设计中,热管理是一个至关重要的环节。随着电子设备的集成度越来越高,功耗和发热量也随之增加,不合理的热设计可能导致电路板过热,从而影响电路的性能和可靠性。热管理不仅能够提高电路板的使用寿命,还能确保电路在各种环境条件下的稳定工作。本节将详细介绍如何在Altium Designer中进行有效的热管理,包括热分析、热设计和热仿真等关键步骤。

kkchenjj的博客 1986

python点云可视化

Python三种点云可视化方案:mayavi、matplotlib、CloudCompare。

叶子的博客 1万+

DDS通信中间件——RTPS规范

全面解析RTPS规范的主要内容。

NJzhenrong的博客 5280

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

其他笔记 - 关于Fast DDS 和rtps的介绍

分布式实时数据分发服务中间件协议Data Distribution Service(DDS)是OMG于2003年发布并于2007年修订的开放标准。该标准定义了用于分布式系统的【发布-订阅】通信中间件的API规范。 使用DDS的分布式应用程序可以发布或订阅信息的“主题”,并使用一组丰富的服务质量参数来设置通信的不同方面(可靠性,持久性,冗余性,寿命,传输设置,资源…) 。 DDS型号: 抽象模型非常容易理解:如是我们要在分布式系统中共享的数据结构的定义,以及引用该信息的名称。例如,我们可以定义一个名为“车辆位

参谋谋的博客 6316

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【DDS】DDSI-RTPS规范

DDS DDSI-RTPS数据交互结构 背景 DDSI-RTPS:全称“Real-time Publish Subscribe Protocol DDS Interoperability Wire Protocol”,它是DDS Wire-protocol。是DDS实施互操作性(标准化)协议。(一下将DDSI-RTPS,简称为RTPS) 这里的Wire Protocol指的是?他指的是一种传输机制。 A wire protocol is the mechanism for transmitting d

林多 4432

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

DDS核心规范-DDS v1.4、DDSI-RTPS、IDL

文章目录Data Distribution ServiceAdaptive AUTOSARDDS 核心规范DDS的通信模型DCPS核心规范之DDS的通信协议RTPS(传输层)RTPS协议由PIM和一组PSM描述PIMPSM其他一些中间件通信模型对比一下SomeIP和DDSDDS提供商参考 Data Distribution Service DDS,全称 Data Distribution Service (数据分发服务),由对象管理组(OMG®)发布和维护,是一个中间件协议和API标准,采用发布/订阅体系架

AbiUni(YY熊) 8162
上一篇: DDS(data distribution service,数据分发服务)简介
下一篇: 【转载】DDS与SOME/IP在自动驾驶中的核心差异与协同应用
RyanLeiWang
博客等级 码龄20年 184粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值