DDS是什么?

介绍

DDS: 全称为Data Distribution Service(数据分发服务)。

wiki百科介绍:

The Data Distribution Service (DDS) for real-time systems is an Object Management Group (OMG) machine-to-machine (sometimes called middleware or connectivity framework) standard that aims to enable dependable, high-performance, interoperable, real-time, scalable data exchanges using a publish–subscribe pattern.

实时系统的DDS,是OMG组织的machine-to-machine标准(有时也称为中间件或者连接框架),旨在提供可靠高性能可交互性实时可扩展数据交互,使用publish-subscribe模式。

DDS满足了以下需要实时数据交换应用的需求,航天和国防、空间站控制、自动驾驶、医疗设备、机器人、发电、仿真和测试、电网管理、交通系统和其他应用,

架构

模型(Model)

DDS是一种网络中间件,可以简化网络编程;它实现了一个发布-订阅模式,用于在节点之间发送和接收数据、事件和命令。产生信息的节点(发布者)创建“主题”(例如,温度、位置、压力)并发布“样本”。 DDS 将样本交付给声明对该主题感兴趣的订阅者。

DDS会处理这些事务:消息寻址(message addressing)、数据编码和解码(消息的序列化和反序列化,这样订阅者和发布者就可以在不同的平台)、delivery(传输)、流量控制(flow control)、重试(retries)等,任何节点可以是发布者、订阅者、或者同时都是。

DDS 发布-订阅模型实际上消除了分布式应用程序的复杂网络编程

DDS 支持超越基本发布-订阅模型的机制。主要好处是使用 DDS 进行通信的应用程序是分离的,很少需要花费设计时间来处理它们的相互交互。特别是,应用程序永远不需要有关其他参与应用程序的信息,包括它们的存在或位置(支持去中心化);DDS 透明地处理消息传递,无需用户应用程序的干预,包括:

  • determining who should receive the messages(谁来接收消息)
  • where recipients are located (收件人在哪)
  • what happens if messages cannot be delivered (如果消息无法传递,会发生什么)

DDS 允许用户指定服务质量 (QoS) 参数以预先配置发现(discovery)行为机制(behavior mechanisms)

通过匿名交换消息,DDS 简化了分布式应用程序并鼓励模块化、结构良好的程序。如果主服务器出现故障,DDS 还会自动处理热交换冗余发布者。订阅者总是获得具有最高优先级的样本,其数据仍然有效(即其发布者指定的有效期尚未到期)。 当它恢复时,它也会自动切换回主节点。

互操作性(Interoperability)

DDS 的专有和开源软件实现都可用。 其中包括 Ada、C、C++、C#、Java、Python、Scala、Lua、Pharo 和 Ruby 中的应用程序编程接口 (API) 和实现库。

DDS 互操作性演示使用了以下场景:

  • Basic connectivity to network using Internet Protocol (IP)
  • Discovery of publishers and subscribers
  • Quality of service (QoS) Compatibility between requester and offerer
  • Delay-tolerant networking
  • Multiple topics and instances of topics
  • Exclusive ownerships of topics
  • Content filtering of topic data including time and geographic
    在这里插入图片描述
    RTPS(Real-Time Publish-Subscribe protocol)协议允许不同DDS的供应商互通。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值