数据分发服务(DDS™)是来自对象管理组(OMG®)的以数据为中心的连接的中间件协议和API标准。它将系统的组件集成在一起,提供低延迟的数据连接,极高的可靠性和业务和任务关键型物联网(IoT)应用所需的可扩展架构。

在分布式系统中,中间件是位于操作系统和应用程序之间的软件层。它使系统的各个组件更容易通信和共享数据。它通过让软件开发人员专注于应用程序的特定目的而不是在应用程序和系统之间传递信息的机制来简化分布式系统的开发。

图1
DDS中间件是一个软件层,从操作系统,网络传输和低级数据格式的细节中抽象出应用程序。以不同的编程语言提供相同的概念和API,允许应用程序跨操作系统,语言和处理器体系结构交换信息。数据线格式,发现,连接,可靠性,协议,Qos管理等低级细节由中间件管理。

图2
DDS提供Qos控制的数据共享。应用程序通过发布和订阅主题名称标识的主题进行通信。订阅可以指定时间和内容过滤器,并只获取在主题上发布的数据的一个子集。不同的DDS域是完全独立的。DDS域之间没有数据共享。

有许多通信中间件标准和产品。DDS是独一无二的数据中心,是物联网的理想选择。大多数中间件通过在应用程序和系统之间发送信息来工作 以数据为中心确保所有消息都包含应用程序需要了解其所接收数据的上下文信息。

数据中心的本质是DDS知道存储的数据并控制如何共享数据。使用传统的以消息为中心的中间件的程序员必须编写发送消息的代码。程序员使用以数据为中心的中间件编写代码,指定如何以及何时共享数据,然后直接共享数据值。DDS不是管理应用程序(您的)代码中的所有复杂性,而是直接为您实现受控,可管理,安全的数据共享。

DDS在概念上将看到一个称为“全局数据空间”的本地数据存储。对于应用程序,全局数据空间看起来像通过API访问的本地内存。你写信给你的本地存储。实际上,DDS发送消息来更新远程节点上的相应商店。你看起来像一个本地商店。

图3
在DDS域内,信息共享单元是主题内的数据对象。主题由其名称和数据对象通过一些“Key”属性来标识。这与使用关键属性来标识数据库中的记录相似。这是数字概念。DDS通信对等,不需要由服务器或云计算的数据。

总而言之,当地商店给应用程序提供了访问整个全球数据空间的幻想。这只是一个幻想; 所有的数据都没有全球性的地方。每个应用程序本地存储它所需要的,只要它需要它。DDS处理运动中的数据; 全球数据空间是一个虚拟的概念,实际上只是一个本地商店的集合。几乎任何语言的任何应用程序都可以在任何系统上运行,并以最佳本机格式查看本地内存。全球数据空间跨越任何传输方式共享嵌入式,移动和云应用程序之间的数据,无论语言或系统如何,并且延迟极低。

数据也可以与灵活的服务质量(QoS)规范共享,包括可靠性,系统健康性(活跃性)甚至安全性。在一个真实的系统中,并不是每个其他的终端都需要你本地商店中的每一件商品。DDS聪明地发送它所需要的东西。如果消息不总是达到预期的目的地,则中间件在需要的地方实现可靠性。当系统发生变化时,中间件会动态地确定发送数据的位置,并智能地通知参与者这些变化。如果总数据量很大,DDS智能地过滤和发送每个端点真正需要的数据。当更新需要更快时,DDS将立即发送多播消息以更新多个远程应用程序。随着数据格式的发展,DDS跟踪系统各个部分使用的版本并自动翻译。对于安全性至关重要的应用程序,DDS可以控制访问,执行数据流路径以及即时加密数据。

当您以极高的速度同时指定所有这些事物时,以及在动态,要求苛刻和不可预知的环境中,DDS的真正威力就显现出来了。

DDS提供发布者和订阅者的动态发现。动态发现使您的DDS应用程序具有可扩展性。这意味着应用程序不必知道或配置端点进行通信,因为它们是由DDS自动发现的。这可以在运行时完成,而不一定是在设计或编译时,为DDS应用程序提供真正的“即插即用”功能。

这个动态的发现比发现端点更进一步。DDS将发现端点是发布数据,订阅数据还是两者。它会发现正在发布或订阅的数据的类型。它还会发现发行商提供的通信特性和用户所要求的通信特性。所有这些属性都在DDS参与者的动态发现和匹配过程中被考虑到。

DDS参与者可以位于同一台计算机上或跨网络:应用程序使用相同的DDS API进行通信。由于不需要知道或配置IP地址,或者考虑到机器体系结构的差异,在任何操作系统或硬件平台上添加额外的通信参与者就变成一件容易的,几乎微不足道的任务。

图4
DDS系统可以跨越边缘到雾云。在边缘它们可以用于高速实时机器到机器的通信。在中间系统内,他们可以提供强大,可靠的QoS和内容感知信息流。整合这些系统DDS提供可扩展的访问和信息分发到云内和云内。

OMG DDS架构的设计可以从小型设备扩展到云和大型系统.DDS通过扩展数以千万计的参与者,以超高速传输数据,管理数千个数据对象,并提供极高的可用性和安全性。DDS通过吸收单一标准通信层中的大部分复杂性来简化分布式系统开发。

有关DDS标准的更多信息,请访问规格页面。

注意: DDS DomainParticipant表示域中应用程序的本地成员资格。一个域是一个分布式的概念,它将所有可以相互通信的应用程序链接起来。它代表了一个通信平面:只有发布者和附属于同一个域的订阅者才可以交互。此外,它还充当DDS发行商,订户,主题,MultiTopics和ContentFilteredTopics的工厂。

What is DDS?DDS是什么相关推荐

  1. 物联网协议对比(HTTP、websocket、XMPP、COAP、MQTT和DDS协议)

    目录 1.HTTP和websocket 2.XMPP 3.COAP 4.MQTT协议 5.DDS 对于物联网,最重要的是在互联网中设备与设备的通讯,现在物联网在internet通信中比较常见的通讯协议 ...

  2. opensplice dds v6.3.2_信号发生器与DDS技术,如何攻克设计难关?

    在全国大学生电子设计竞赛的过程中,如果选择了信号及测试测量方向的考题,无可避免的,会碰到信号发生器这样的题目. 题目一般要求去产生方波,正弦波,三角波,当然,相对应的参数设置年年都有变化.一般来说,3 ...

  3. 一文读懂什么是DDS

    DDS(Data Distribution Service) 数据分发服务 什么是DDS 数据分发服务(DDS™)是一个由对象管理组(OMG)发布的以数据为中心的中间件协议和API标准.采用分布式发布 ...

  4. linux下dds软件,【数据库】Linux 单实例环境下实现Oracle数据库和DDS软件的开机自动重启...

    Linux 单实例环境下实现Oracle数据库和DDS软件的开机自动重启1.修改/etc/oratab# vi /etc/orataboradb:/opt/ora10/product/10.2 首页 ...

  5. DDS、openDDS和fast DDS介绍

    上一篇文章讲了什么是DDS,以及一些技术特点和openDDS下载,今天继续科普下DDS技术特点和其他版本的实现. DDS DDS采用订阅/发布体系结构,以数据为中心,也就是通过订阅/发布这个结构来实现 ...

  6. SOA协议DDS和Some/IP对比

    SOME/IP 和 DDS 均已被纳入AUTOSAR AP的平台标准中. SOME/IP 和 DDS是在不同的应用场景和不同的需求下诞生的技术,所以它们之间注定有很大的区别. SOME/IP SOME ...

  7. 【软件定义汽车】SOA协议DDS和Some/IP对比

    SOME/IP 和 DDS 均已被纳入AUTOSAR AP的平台标准中. SOME/IP 和 DDS是在不同的应用场景和不同的需求下诞生的技术,所以它们之间注定有很大的区别. SOME/IP SOME ...

  8. dds是c语言吗,DDS是什么意思_DDS的翻译_音标_读音_用法_例句_爱词霸在线词典

    全部 DDS - 11 A digital conductivity instrument for laboratory measurements of conductivity of liquids ...

  9. ROS2 DDS通信漫谈

    0. 前言 我们都知道ROS2比ROS1好很多,就比如说: 去中心化master,ROS和ROS2中间件不同之处在于,ROS2取消了master节点.在去中心化后,各个节点之间可以通过DDS的节点相互 ...

最新文章

  1. 青龙羊毛——美团联想商城喜爱帮(搬运)
  2. android的文件操作,Android文件操作概要1.ppt
  3. redis 源码安装
  4. poj 1703(种类并查集)
  5. java耗时操作阻塞_spring boot高并发下耗时操作的实现方法
  6. KVM虚拟化安装配置(一)
  7. 法国政府正考虑采用开源软件
  8. SQL结构化查询语言分类介绍
  9. 金蝶如何修改服务器IP,金蝶服务器ip地址修改
  10. CPAL脚本自动化测试 ———— Test Report系列函数及使用
  11. Markdown从入门到放弃
  12. 掌上电脑是不是微型计算机,《掌上电脑Vs.商务通》的背后
  13. HDU5651:xiaoxin juju needs help
  14. ps使图片边缘模糊且融入背景色
  15. 手机如何打开开发者模式
  16. 学生管理系统(链表)
  17. 彻底剖析ISAServer客户端及配置之一
  18. 打开谷歌自动翻译功能
  19. HHR计划---作业复盘-直播第三课
  20. 魔兽世界小游戏(基于C++)

热门文章

  1. vue打卡日历_打卡日历,日历前端实现,日历特殊标识后端提供(Vue)
  2. 安卓(Android)扫一扫
  3. 转:背诵新概念,事半功倍
  4. Python识别验证码----网易易盾推理拼图
  5. HTTP服务器项目面试题
  6. python tkinter库实现华氏温度摄氏温度转换
  7. Solidworks 中mfc140.dll文件缺失导致无法运行问题解决方法
  8. 带小数的大数相加,大数相减C++实现
  9. Cool Edit Pro一些使用技巧
  10. 算法的优劣从占用计算机资源,在分析算法的优劣时,从占用计算机资源的角度应该考虑的两个方面是...