主要内容

什么是DDS?

数据分发服务(DDS)是一种中间件标准,非常适合生产质量数据通信。目前,它广泛应用于航空航天和国防、自动驾驶汽车以及机器人、医疗设备和发电等领域。DDS使用发布-订阅通信模式创建分散的、独立于体系结构的、可伸缩的异步网络。要了解更多关于DDS中间件平台如何工作的信息,请阅读DDS概念教程。

DDS概念教程

本教程涵盖了DDS的以下方面:

全局数据空间

在DDS中,DDS网络被称为全局数据空间。

在全局数据空间中,可以创建称为域的网络部分。域由域名和数字域ID标识。全局数据空间中可以有一个或多个域。

主题

在域中有主题。主题是描述在网络上通信的数据类型的类别。例如,如果您有一个应用程序,希望使用DDS来接收有关天气的信息,那么Topic可以是Temperature。域可以有一个或多个主题。如果你在不同的领域有相同的主题,它们被认为是不同的主题。

出版商和订户

使用DDS的应用程序被引用到域参与者,因为它们参与域。发送数据的应用程序称为发布者,接收数据的应用程序称为订阅者。域参与者可以是发布者、订阅者或两者都是。

数据读取器、数据写入器和数据样本

数据在DDS网络上作为数据样本发送和接收,由DDS数据类型指定。主题注册一个DDS数据类型,然后称为注册类型,以指定必须用于关于该主题的通信的数据类型。发布者使用DataWriter在DDS网络上发送数据。发布服务器可以有一个或多个数据编写器,用于发布到一个或多个主题。订阅者使用DataReader从DDS网络接收数据。订阅服务器可以有一个或多个datareader,订阅一个或多个主题。

服务质素(QoS)

除了能够发送和接收数据之外,还可以为主题、发布服务器或订阅服务器或特定的数据阅读器或数据写入器指定服务质量(QoS),它描述数据传输的质量。众所周知,DDS有几种QoS策略,以帮助确保对数据传输的精确控制。可以向这些实体分配单独的QoS策略,也可以分配称为QoS配置文件的一组QoS策略。

DDS实现

DDS由对象管理组(OMG)标准指定。该标准提供了规范,解释了必须如何配置DDS网络以及应用程序应该如何使用DDS网络。DDS标准由几个不同的DDS供应商实现。每个供应商都可以使用自己选择的编程语言来实现DDS标准。尽管有不同的底层实现,但DDS供应商是可互操作的(使用一个供应商的应用程序可以与位于另一个供应商上的应用程序通信),因为其供应商实现了DDS标准。由前面描述的定义(例如,域、主题、数据样本、发布者、订阅者)组成的DDS应用程序可以通过使用XML或IDL规范以一种与编程语言无关的方式定义。这些XML和IDL规范提供了在具有不同编程语言实现的不同供应商之间移植DDS应用程序的能力。

另请参阅

|

Baidu
map