SOA中间件DDS(数据分发服务-Data Distribution Service)

2023-05-16

DDS协议(高可靠性、实时性) DDS(Data Distribution Service for Real-Time Systems),是一种面向实时系统的数据分发服务,由OMG提供,它的权威性可以证明该协议未来的应用前景。 应用领域:高可靠性的分布式系统,实时传输设备的数据通信。当前DDS已在国防、民航、工业控制等领域得到了广泛的应用。

其特征如下:

  1. 注重数据;
  2. 采用点对点、点对多、多对多、无代理发布/订阅消息模式;
  3. 有多达的21个QoS服务质量战略。

主协议实现:

  1. OpenDDS是一个开源C++实现;
  2. 开放规范DDS;

此外,DDS可以很好地支持设备间的数据分发和设备控制,以及在设备和云上传输数据,同时DDS的数据传输实时高效,能够在数级范围内将数百万条信息同时发送给许多设备。DDS在服务质量(QoS)方面提供了非常多的保障途径,对于国防军事、工业控制这些高可靠性、安全的应用领域也是如此。但是这些应用都运行在有线网络中,在无线网络,尤其是资源受限的情况下,还没有出现过实现案例。

物联网AMQP协议(互用性)

AMQP(Advanced Message Queuing Protocol),OASIS组织提出的高级消息队列协议这个小组提出了OSLC(Open Source Life cyle)标准,以供诸如PLM、ERP、MES等商业系统进行数据交换。

用途:首次用于金融系统间的交易消息传递,在物联网应用中,主要用于手机与后台数据中心的通讯和分析。

其特征如下:

  1. Wire级别的协议,该协议描述在网络上以字节作为流传输数据的格式;
  2. 面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全性;

协定执行:

  1. 在Erlang中实现RabbitMQ。
  2. AMQP的开源实现,OpenAMQ是用C语言编写的。
  3. ApacheQpid。
  4. 标准MQ。

DDS (Data-Distribution Service数据分发服务) 是OMG在2004年发布的中间件协议和应用程序接口(API)标准,它为分布式系统提供了低延迟,高可靠性,可扩展的通信架构标准。 

SOA中间件DDS(数据分发服务-Data Distribution Service)_FeiCoding的博客-CSDN博客_dds数据分发服务中间件近期,在汽车通信圈讨论较火的话题中,DDS绝对排得上号的,我会利用近期空余时间系统梳理下。OMG(Object Management Group)组织 提起DDS,就不得不提OMG组织。OMG是一个国际化的、开放成员的、非盈利的计算机行业标准协会,很多大家熟悉的标准(如uml),都出自于OMG,DDS也是OMG组织推出的标准之一。什么是DDS DDS(全称 Data Distribution Service数据分发服务),是一个中间件,由...https://blog.csdn.net/FeiCoding/article/details/121118758

 

 

 

 

 如果不同厂家的DDS可以做到RTPS,既可以相互兼容。理论上是这样。

单点故障

整个系统中有某个节点出现了故障,导致整个系统出现瘫痪,这样的故障叫做单点故障。

DDS不存在中央服务器的结构,所以DDS没有单点故障。

MQTT有broker(中间代理)如果出现故障,将会出现单点故障。

汽车对整个系统的安全性要求是非常高的,所以要尽量避免出现单点故障。

性能瓶颈问题:

如果所有数据都要经过中央服务器进行中转,那么整个数据的瓶颈取决于中央服务器的性能。

DDS不存在中央服务器的结构,所以DDS没有性能瓶颈问题。

动态发现:

 

 

 

 

 

read()不会清空缓存,所以每次读取的内容是一样的(数据没有变化的一个周期内),

take()把数据读取后,会将对应的缓存清空,所以只能读一次。

 

 Concerns那一列 :

  • T:Topic     
  • DR: data reader    
  • DW:data Writer 
  • P: Puslisher  发布方
  • S: subscruber 订阅方

 

 

 

 使用RELIABLE方式需要看自己的系统资源是否足够,如果有一个数据包发生阻塞,可能会阻塞一大片。如果系统资源足够问题不大,如果系统资源有限,不推荐这种方式。

https协议1.0和2.0之前都用的是TCP,后来发生对头阻塞问题后传输效率大大降低。

https协议3.0就使用了UDP协议。

属于不同的 Domain ID 是不能相互访问的

 

 

 

 DDS有相关的插件,支持多种安全策略和机制。

 DDS Qos假设你的传输层是不可靠的,你可能延迟,可能丢包、可能乱序。基于这个不可靠的传输,来实现一些比较高级的功能。

TSN的服务质量非常好,它可以精确控制你的延迟,可预期性非常高,它天生与DDS有一些区别。

如果我们把DDS的Qos用到TSN上,DDS原来的Qos策略有一些可能就不适用了,DDS可能需要求添加一些新的Qos来适应TSN。

DDS实现方案

 RTI是目前DDS做的非常好的第三方供应商。

 

 

 

以上内容来源于:

 【北汇信息】汽车电子热题 | DDS协议解读及测试开发实践-CSDN直播回放_哔哩哔哩_bilibilirhttps://www.bilibili.com/video/BV1Aq4y137r7?spm_id_from=333.337.search-card.all.click&vd_source=413c648c94462f7d61e4b4cf0840ec77

纯技术分享,如有侵权,请联系我删除。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SOA中间件DDS(数据分发服务-Data Distribution Service) 的相关文章

  • 识别 WCF 服务中的客户端

    我有一个工作双工 WCF 服务WSDualHttpBinding 我的问题是找到一种方法来存储具有唯一 ID 的回调通道 该服务旨在长期运行 我可以简单地抓住OperationContext Current GetCallbackChann
  • 如何在.NET中创建HTTP请求侦听器Windows服务

    我想创建充当 HTTP 侦听器并可以处理大约 500 个客户端的 Windows 服务 这种服务有什么特别的考虑吗 我对 HTTPListener 类和 TCPListener 类有点困惑 将哪一个用于 Windows 服务将 接受客户端连
  • 如何绑定到正在运行的android服务?

    我希望这更多的是代码问题 而不是其他问题 我希望有人可以帮助解决这个问题 我还有其他使用 startService 启动服务的代码 并且当调试器点击 DecoderService 的 onCreate 函数时 我可以验证该服务是否已启动 但
  • 从应用程序到服务的通信

    我想从我的 Android 应用程序到我的 Android 服务进行通信 我有两个选择 但我不知道该选择哪个 使用应用程序注册服务 使用 LocalBinder 从应用程序连接到服务 解决方案1 应用程序 public class MyAp
  • Android - 即使应用程序被终止或设备重新启动,也会在后台运行服务

    我想保持服务在后台运行 即使我的应用程序被终止 我在用着android intent action USER PRESENT事件 但该服务仅在屏幕解锁时运行 我试过android intent action BOOT COMPLETED但下
  • 如果Service在另一个进程中,如何绑定它?

    显现
  • 如何生成圆形分布中的随机点

    我想知道如何生成出现在圆形分布中的随机数 我能够在矩形分布中生成随机点 以便这些点在 0 我将如何继续生成圆内的点 以便 x 500 2 y 500 2 import random import math radius of the cir
  • 我如何知道我的应用程序是如何在 Mac OS 上启动的?

    我遇到了一个问题 并且长期以来一直在寻找解决方案 我做了一个应用程序 其中有一个option当系统启动使用启动服务时 它将自动启动应用程序 如果应用程序由用户启动 即打开 app 我想做点什么 如果应用程序是在系统启动时通过启动服务启动的
  • scipy.stats.maxwell中的loc和scale参数是什么?

    The maxwell boltzmann distribution is given by from MathWorld A Wolfram Web Resource wolfram com http mathworld wolfram
  • 从任意多元函数中有效采样

    我想从 Python 中的任意函数中采样 In 快速任意分布随机抽样 https stackoverflow com questions 21100716 fast arbitrary distribution random samplin
  • 可以在 Mathematica 中扩展 PDF、CDF、FindDistributionParameters 等功能吗?

    我开始使用新的 Mathematica 统计和数据分析功能进行越来越多的工作 我周二参加了 Mathematica 统计与数据分析 在线研讨会 非常棒的演讲 我强烈推荐 但我遇到了一些问题 我希望这个论坛上的人可以花点时间考虑一下 我创建了
  • 作为后台进程/服务运行命令

    我有一个 Shell 命令 我想在后台运行 并且我读到这可以通过添加后缀来完成 到导致它作为后台进程运行的命令 但我需要一些更多的功能 并且想知道如何去做 我希望每次系统重新启动时该命令都在后台启动并运行 我希望能够像人们一样在需要时启动和
  • 在重新激活 WiFi/移动网络之前,服务中的 Android 位置侦听器无法工作

    我的位置侦听器工作正常 收集数据没有任何问题 但有时它不收集任何数据 我此时必须关闭并重新启动我的位置提供程序 重新启动可以解决问题 但是 这可能不是用户期望做的最好的事情 当我使用 GPS 作为提供商时 没有问题 位置侦听器在服务中工作
  • 如何在我的类型类中访问我的服务(DependencyInjection)?

    我创建了一个服务 DependencyInjection 并在控制器上将其用作 this gt get service name gt someMethod 我想知道如何在我的表单类上使用它 这是我的课程示例形式 namespace Com
  • 如何从与桌面交互的应用程序与 Windows 服务进行通信?

    使用 Net 与服务交互的最佳方式是什么 即大多数托盘应用程序如何与其服务器通信 如果这个方法也是跨平台的 那就更好了 在 Mono 中工作 所以我猜远程处理已经过时了 Edit 忘了说了 我们仍然需要在现场支持 Windows 2000
  • Windows 服务和 Windows 进程有什么区别?

    是什么不同之处窗户之间service和一个窗户process 服务是真正的 Windows 进程 没有区别 服务的唯一特殊之处在于它由操作系统启动并在单独的会话中运行 一种独立的方式 可防止其干扰桌面会话 传统上命名为daemon http
  • 使用 MediaRecorder 录制屏幕特定视图

    我想录制特定的屏幕视频View链接只想记录里面执行的动作LinearLayout 现在 MediaRecorder正在录制整个屏幕 如何录制屏幕的特定部分 MediaRecorder 通过媒体投影API 记录整个屏幕 至少从 Android
  • python中的指数分布随机生成器(对数函数)?

    我真的需要帮助 因为我被困在代码的开头 我被要求创建一个函数来研究直方图上的指数分布 函数为 x log 1 y 是一个常数 我在代码中将其称为 lamdr 并简单地给了它 10 我给了 N 随机数的数量 10 并运行了代码 但结果和生成的
  • Symfony 4 参数没有类型提示,您应该显式配置其值

    交响乐4 2 3 最近从版本 3 4 升级到 4 2 3 并使我的项目正常运行 但是 当将 services yaml 中的 autoconfigure 设置为 true 时 我将收到以下错误消息 Cannot autowire servi
  • 作为服务运行时未找到 PowerShell 模块

    我有一个项目 我将 Office 365 许可证分配给用户 有一个 Web 项目允许管理员查看可用许可证并为用户选择许可证 在后台 有一项服务每 15 分钟执行一次实际的许可证分配 以及许多其他任务 我们不直接分配许可证的原因是用户可能尚未

随机推荐

  • 嵌入式必备基础一

    嵌入式必备知识 Oliver H的博客 CSDN博客 一 进程与线程 1 1 进程和线程的概念 1 1 1 什么是进程 线程 xff0c 各自有什么优点 概念 xff1a 进程是对运行时程序的封装 xff0c 是系统进行资源调度和分配的的基
  • 嵌入式基础二——C/C++

    二 C C 43 43 2 1 c和c 43 43 区别 概念相关面试题 2 1 1 new和malloc的区别 属性 xff1a new delete是C 43 43 关键字 xff0c 需要编译器支持 malloc free是库函数 x
  • ​Linux 黑话解释:什么是 POSIX?

    POSIX xff0c 你肯定在各种在线论坛和文章中 xff0c 听到过这个缩写 xff0c 或读到过关于它的信息 程序员和系统开发人员似乎最关心这个问题 它听起来很神秘 xff0c 虽然有很多关于这个主题的好资料 xff0c 但一些讨论区
  • 科研进阶篇——论文完结

    终于完成了人生的第一篇学术论文 xff0c 对这次的科研做个总结 xff0c 画上一个完美的问号 xff0c 让我们快乐的继续进阶 xff0c 投了会议 xff0c 中了的话应该会推荐到CCF C期刊 虽然还没出结果 xff0c 还是为自己
  • AP AUTOSAR 平台设计总体框架全解

    AP AUTOSAR 平台设计总体框架全解 01 简介 1 1内容 本规范描述技术范围和方法 AP的背景 逻辑和物理视图的架构 xff0c 是AUTOSAR自适应平台设计的总体框架 全文32000余字 xff0c 建议收藏阅读 02 技术范
  • 谈谈Bootloader自更新

    目录 01 Supplier Boot SB 43 Customer Boot CB 02 将Boot先放到RAM中运行 xff0c 然后更新Boot的Flash区域 03 两个CB 43 minBoot 04 小结 汽车控制器的BootL
  • E2E通信保护协议学习笔记

    E2E通信保护协议学习笔记 最近在做功能安全方面工作 xff0c 想了解E2E保护的问题 本文试着说明两个点 xff1a 功能安全需要考虑通信失效造成的影响 xff0c 因此E2E通信保护协议被提出 xff0c 以满足功能安全要求 xff1
  • TSN(时间敏感网络)介绍

    1 前言 TSN是时间敏感网络 xff08 Time Sensitive Network xff09 的英文缩写 xff0c 是IEEE 802 1 TSN工作组开发的一系列数据链路层协议规范的统称 xff0c 用于指导和开发低延迟 低抖动
  • 汽车OTA是个什么鬼?

    OTA xff1a Over the Air Technology 这描述的是手机吧 xff01 不过一开始的手机也是不可以直接OTA的 1997年之前所有汽车都是一个独立的机械个体 xff0c 一个方向盘 xff0c 一组踏板 xff0c
  • Hypervisor简介

    从头开始了解和使用Hypervisor xff08 第4部分 xff09 嘶吼 RoarTalk 回归最本质的信息安全 互联网安全新媒体 4hou com 根据 Hypervisor 的不同类型 xff0c 我们将虚拟化分为I 型和 II
  • 使用repo下载google源码,跟编译 ,遇到的错误解决

    最近一直想下载android的源码看看 xff0c 但是按照官方的文档下载 xff0c 遇到了问题 在执行的curl http commondatastorage googleapis com git repo downloads repo
  • S32V234 Linux yocto开发环境搭建

    一 主机环境 主机 xff1a Ubuntu 16 04 5 64bit S32V bsp infomation xff1a Bsp version auto yocto bsp 19 0 Linux Kernel version 4 13
  • NXP S32G2开发

    https blog csdn net bigzhizhi article details 123069235 导言 Linux BSP是一组源代码 xff0c 可用于为受支持的板卡创建U Boot引导加载程序 Linux内核映像 根文件系
  • 简单解决Please install the gcc make perl packages from your distribution问题 and VirtualBox安装增强功能失败

    在vbox安装ubantu增强功能 xff0c 出现下面这种情况 xff1a Please install the gcc make perl packages from your distribution 在这里插入图片描述 把需要的包都
  • 图形学就业方向&&春招部份纪实

    以下分几个模块分别介绍图形学 xff1a 1 图形学未来方向以及需要的技术 2 个人找工作情况 xff0c 具体介绍 图形学未来方向以及需要的技术 最近GAMES论坛搞了一个计算机图形学走进高校企业活动 xff0c 可以简称图形学招聘活动
  • SOME/IP 消息的布局

    1 SOME IP 消息的布局 前面两篇文章 SOME IP概述 分层结构及要实现的需求 SOME IP概述2 SOME IP的主要中间件功能 43 SOME IP报文PDU的封装 讲述了SOME IP的基本概念 需求及架构在以太网的4层模
  • 什么才是软件定义汽车?

    Software Defined Vehicle The Eclipse Foundation 导读 xff1a 移动出行时代 xff0c 汽车逐渐由机械驱动的硬件向软件驱动的电子产品过渡 xff0c 软件定义汽车趋势愈发明显 这一过程中汽
  • 一文看懂四大汽车总线:LIN、CAN、FlexRay、MOST

    前言 随着汽车工业的发展 xff0c 汽车各系统的控制逐步向自动化和智能化转变 xff0c 汽车电气系统变得日益复杂 传统的电气系统大多采用点对点的单一通信方式 xff0c 相互之间少有联系 xff0c 这样必然会形成庞大的布线系统 据统计
  • 浅谈ASIL: 汽车安全性等级

    目录 ASIL 表示汽车安全性等级 ASIL的确定 1 严重度 2 暴露度 3 可控度 ASIL 故障分析手段 ASIL 表示汽车安全性等级 这是 ISO 26262 标准针对道路车辆的功能安全性定义的风险分类系统 ASIL 根据伤害的可能
  • SOA中间件DDS(数据分发服务-Data Distribution Service)

    DDS协议 高可靠性 实时性 DDS Data Distribution Service for Real Time Systems xff0c 是一种面向实时系统的数据分发服务 xff0c 由OMG提供 xff0c 它的权威性可以证明该协