OpenDDS-1

article/2025/10/4 5:30:49

转自:软件开发.OpenDDS

设计智能座舱时ECU之间通信及与TSP通信选择使用OpenDDS是可以的,因此不少人都认为OpenDDS是属于汽车以太网(Aumotive Ethernet,AE),但事实上autosar AE中定义中有SomeIP、DoIP、AVB、gPTP/PTP等却是没有OpenDDS。把OpenDDS归类到物联网协议中,这个是比较合适的。

谈起OpenDDS,不得不与Mqtt及SomeIP先做一下简单的对比:

1)OpenDDS是基于topic发布订阅机制,需要DCPSInfoRepo broker;

2)Mqtt是基于topic发布订阅机制,需要mosquitto broker;

3)SomeIP是基于服务发现(Service Discovery, SD)的RPC、messaging及field机制,需要vsomeipd daemon;

似乎Mqtt与OpenDDS最相似了,但是Mqtt是一个tiny topic publish/subscribe机制的实现,与OpenDDS相比其功能、其实时性及QoS其他指标是有天壤之别的,如果只在TSP与T-Box之间做简单的Telematics应用选择Mqtt也足够了。从体现SOA思想的实现,显然SomeIP是最完善的,且最方便集成与使用的,特别是field这个特性,协议定义了field的setter、getter方法及notification messaging,很适合定义CAN信号,这也充分体现了autosar AE的优势。但是SomeIP集成用于TSP,这个就有点受限制了,至少需要私有APN才好支持SD。

本案并非要讨论上述三种协议的优缺点,主要是引导工程师深入了解与实践如何开展OpenDDS部署、开发及集成等工作,如下:

如果你能看到这里,说明你很有耐心,如果你能掌握上面讲过的你就是OpenDDS系统集成与开发大师!:-)

OpenDDS最大优势是它的实时性,如果你要问它怎么做到的?我具体回答不了这个问题,但是我可以摘录《OpenDDS-latest》里面原话,因为OpenDDS设计与实现了OMG的标准,而这些标准就是定义DDS RTS的spec,相信不用我再多解释了。截图如下:


http://chatgpt.dhexx.cn/article/X8dfTEi9.shtml

相关文章

Java程序调用OpenDDS

一、前言 前面我们用三篇博客介绍了 OpenDDS在WIndows上的环境配置 Windows下的OpenDDS编译(超详细)_山中野竹的博客-CSDN博客_opendds windows 三种方式运行发布订阅示例程序 OpenDDS运行示例(Messenger)程序_山中野竹的博客-C…

OpenDDS运行实例

因为OpenDDS是分布式的部署,所以一般发布端和订阅端都不在同一台电脑上。 我在同一台电脑上进行测试,所以ip地址为:127.0.0.1 1.发布端 1.1 新建ior文件 在根目录先新建repo.ior文件: IOR:010000001e00000049444c3a4f70656e44…

Java调用OpenDDS(1)-编译安装openDDS-补上了所有网络上其他文章遗漏的细节

Java调用OpenDDS过程中踩了很多坑,记录一下。 提纲 1、DDS简介 2、DDS协议的实现产品 3、OpenDDS安装过程 1、DDS简介 DDS指的是Data Distribution Service,也即数据分发服务,是OMG(Object Management Group,对象管理…

OpenDDS自学

前言 最近做毕设要做一个DDS系统和TISA系统的网关,完全没有基础,只好对着OpenDDS的Developers’ Guide和《分布式系统实时发布/订阅数据分发技术》这本书一点一点学(顺便吐槽这本书就是guide的翻译版,很多语句不通)。遇到很多问题&#xff0…

VS2015编译OpenDDS

最近需要研究下OpenDDS,因此需要搭建个环境,下面是一点经验,大家可以参考。 使用版本是OpenDDS-3.12、ACETAO-6.5.10和strawberry-perl,之所以使用ACETAO-6.5.10是因为往后的版本没有现成的2015对应的sln了。 一.资源下载 1.可以直接使用我…

Java调用OpenDDS(2)-理解OpenDDS自带的Messager示例

OpenDDS安装好之后,下一步就是利用OpenDDS来开发通信项目了。不过在项目中应用OpenDDS之前,先消化一下OpenDDS安装包中自带的示例项目messenger,通过阅读messenger的源代码来熟悉一下OpenDDS提供的用来开发Java项目的类。 提纲 1、准备工作 2…

OpenDDS

OpenDDS简介 Don Busch,首席软件工程师兼合作伙伴 Object Computing,Inc.(OCI) 介绍 分布式实时应用程序有时以数据为中心而不是以服务为中心,这意味着分布式系统中参与者的主要目标是分发应用程序数据,而…

OpenDDS系列(3) —— 第一个OpenDDS程序

文章目录 [toc]3.1 发送数据3.2 项目3.2.1 主题3.2.2 Publisher(发布者)3.2.3 Subscriber(订阅者) 3.3 在Windows上构建3.4 在Linux上构建3.4.1 运行 3.5 结论 3.1 发送数据 我们将创建一个主题,这是一个通过DDS交换数…

OpenDDS学习笔记(2):DDS概述

文章目录 一、DDS体系结构1.1 DLRL层1.2 DCPS层 二、DDS通信过程三、DDS通信特点四、DDS标准实现4.1 RTI DDS软件4.2 OpenSplice DDS软件4.3 OpenDDS软件 一、DDS体系结构 DDS采用DCPS通信机制,提供一个与平台无关的数据模型。它允许应用程序实时发布拥有的信息&am…

OpenDDS系列(1) —— OpenDDS 简介

1. OpenDDS简要介绍 1.1 简介 1.1.1 DDS是什么1.1.2 DDS通信的基本要素1.1.3 DDS架构的主要优点1.1.4 DDS产品种类1.1.5 OpenDDS 1.2 DDS的应用领域 美国海上战争中心(NSWC)高性能分布式计算系统(HiPer-D) 1.3 结论 1. OpenDDS简要介绍 1.1 简介 1.1.…

IDEA中查找与替换快捷键(项目全局替换、该文件下替换)

该文件下查找(CtrlF) 项目全局查找(CtrlShiftF 或【Edit】——>【Find】——>【Find in Path…】) 注意:本人电脑上的IDEA版本不支持该快捷键(CtrlShiftF),有可能是快捷键冲突…

idea实现快捷批量修改替换

1. 在当前文件内容中替换 idea替换快捷键,批量处理对象 ctrl r: 当前文件内容替换,指的是在当前打开的文件中替换匹配的字符,只操作一个文件。 2. 在路径中替换(可替换不同文件夹中的内容) ctrl shift r: 在路径中替换,指的是…

idea 查找与替换

查找当前文件内容:ctrlF 如上图片 查找全局文件:ctrlshiftF 或double shift(按两下)或ctrlshiftN替换当前文件内容 :ctrlR 如上图片 你想通过编辑器快速的将所有的’29’,变为29,你可以 ctrl…

IDEA全局替换

在做项目时,有时会在整个项目里或指定文件夹下进行全局搜索和替换,这是一个很方便功能。使用方法如下: 一、全局搜索 1、使用快捷键CtrlShiftF打开搜索窗口,或者通过点击Edit–>Find–>Find in path打开搜索窗口&#xff0…

idea 替换

idea 替换功能说明 快捷键: ctrl R界面说明

idea全局查找和替换

原文 https://blog.csdn.net/fanrenxiang/article/details/80168215 全局查找 通过快捷键 CtrlShiftf 快速进入全局查找页面,或者通过 Edit 》Find 》Find In Path 1、你要检索的内容; 2、如何匹配内容,分别表示 区分大小写、单个单词、正则、过滤查找…

JDK更换IDEA如何修改

一、.打开idea设置。 1、点击file里面的settings... 二、取消默认javac编译 2、然后点开 Build, Execution, Deployment找到里面的compiler,再点开Java compiler 取消勾选。点击🆗 如图演示: 三、检查项目jdk配置 3、点击file里面的…

总结idea全局搜索和替换的快捷键

文章目录 1. 文章引言2. 按文本内容查找(替换)3. 按文件名称搜索文件4. 查看类的继承关系5. 查找类(方法)在哪使用6. 搜索任何东西7. 按名字搜索类 1. 文章引言 我们在使用idea做java开发时,通常会执行如下查找: 在页面内查找或替换 全局查找或替换 按…

IDEA代码替换

IDEA代码替换 快捷键 当前文件内容 C t r l R CtrlR CtrlR 全局替换 C t r l S h i f t R CtrlShiftR CtrlShiftR 使用 第一行输入栏:输入被替换内容 第二行输入栏:输入替换内容 详细使用 第一行输入栏后第一个图标:换行 第一行输…

IntelliJ IDEA中怎么全局搜索替换(整个项目)(Eclipse)

IntelliJ IDEA使用教程 (总目录篇) 我们用Eclipse或者IntelliJ IDEA编程,有时候需要将整个项目的某个字符串替换成其他的。 全局搜索我会,我还给调成ctrlg了呢,但是遇到要全局(整个项目)替换字符串。哎哟&#xff0c…