What is DDS? 什么是DDS?(Data Distribute Service,数据分发服务)

What is DDS? 什么是DDS?(Data Distribute Service,数据分发服务)


关键字:数据分发服务 DDS


The Proven Data Connectivity Standard for the Industrial Interet of Things

经验证的工业物联网数据连接标准

The Data Distribution Service (DDS™) is a middleware protocol and API standard for data-centric connectivity from the Object Management Group® (OMG®). It integrates the components of a system together, providing low-latency data connectivity, extreme reliability, and a scalable architecture that business and mission-critical Internet of Things (IoT) applications need.

数据分发服务(DDS™)是一个由对象管理组(OMG)发布的以数据为中心的中间件协议和API标准。DDS集成系统中的各个组件,提供低延迟数据连接、高可靠性以及高可扩展体系结构,以适应商业级物联网(IoT)应用程序的需求。

In a distributed system, middleware is the software layer that lies between the operating system and applications. It enables the various components of a system to more easily communicate and share data. It simplifies the development of distributed systems by letting software developers focus on the specific purpose of their applications rather than the mechanics of passing information between applications and systems.

在分布式系统中,中间件是介于操作系统和应用程序之间的软件层,使系统的各个组件能够更容易地通信和共享数据。中间件简化了分布式系统的开发,使软件开发人员专注于应用程序的业务本身,而不是花费精力研究应用程序和系统之间传递信息的机制。

在这里插入图片描述
The DDS Middleware is a software layer that abstracts the Application from the details of the operating system, network transport, and low-level data formats. The same concepts and APIs are provided in different programming languages allowing applications to exchange information across operating systems, languages, and processor architectures. Low-level details like data wire format, discovery, connections, reliability, protocols, transport selection, QoS, security, etc. are managed by the middleware.

DDS中间件是一个软件层,它将应用程序从操作系统、网络传输和底层数据格式的细节中抽象出来。DDS提供多种编程语言的API,允许应用程序跨操作系统、跨语言、跨处理器体系结构交换信息。数据格式、发现匹配机制、连接方式、可靠性、网络协议、传输方式选择、QoS、安全性等底层细节由中间件管理。

Data Centricity 以数据为中心

在这里插入图片描述
DDS provides Qos-controlled data-sharing. Applications communicate by publishing and subscribing to Topics identified by their Topic name. Subscriptions can specify time and content filters and get only a subset of the data being published on the Topic. Different DDS Domains are completely independent from each other. There is no data-sharing across DDS domains.

DDS提供Qos控制功能。应用程序通过发布和订阅主题进行通信。订阅可以指定时间和内容筛选器,并且只能获取发布主题的数据的子集。不同的DDS域彼此完全独立,跨DDS域无法进行数据通信。

There are many communications middleware standards and products. DDS is uniquely data centric, which is ideal for the Industrial Internet of Things. Most middleware works by sending information between applications and systems. Data centricity ensures that all messages include the contextual information an application needs to understand the data it receives.

市面上虽然存在多种通信中间件标准和产品,唯独DDS是以数据为中心,是工业物联网的理想选择。大多数中间件通过在应用程序和系统之间发送信息来工作。数据中心性保证应用程序能够理解其接收到的数据,因而所有消息都包含应用程序能够理解其含义所需要的上下文信息。

The essence of data centricity is that DDS knows what data it stores and controls how to share that data. Programmers using traditional message-centric middleware must write code that sends messages. Programmers using data-centric middleware write code that specifies how and when to share data and then directly share data values. Rather than managing all this complexity in the application (your) code, DDS directly implements controlled, managed, secure data sharing for you.

以数据为中心的本质是DDS知道它存储什么数据,并控制如何共享这些数据。使用传统的以消息为中心的中间件的程序员必须编写发送消息的代码;而使用以数据为中心的中间件的时,只需指定数据如何共享、何时共享,编写少量代码即可直接共享数据值。DDS使用户无需在应用程序的代码中管理所有这些复杂的操作,而是直接为用户实现了受控、托管、安全的数据共享。

Global Data Space 全局数据空间

DDS conceptually sees a local store of data called the “global data space.” To the application, the global data space looks like local memory accessed via an API. You write to what looks like your local storage. In reality, DDS sends messages to update the appropriate stores on remote nodes. You read from what looks like a local store.

DDS在概念上创建了一个 “全局数据空间”的本地的数据存储空间。对应用程序来说,全局数据空间看起来像是通过API访问的本地内存。发送端应用程序写入数据时,就像是写到了本地的存储空间;而实际上,由DDS发送消息以更新远程节点上的存储内容;接收端应用程序方可可通过读取本地存储获取到数据。

在这里插入图片描述
Inside a DDS domain the unit of information sharing is data-objects within Topics. The topic is identified by its name and the data-object by some ‘Key” attributes. This is similar to how key attributes are used to identify records in a Database. This is figure is conceptual. DDS communicates peer-to-peer and does not require the data to be brokered by a server or cloud.

在DDS域中,信息共享的单位是主题的数据对象。主题由其名称标识,数据对象由一些“键(Key)”属性标识。这类似于在数据库中用键属性来标识数据。上述是一张概念性的图示, DDS进行点对点通信,不需要服务器或云代理进行转发。

All together, the local stores give applications the illusion of having access to the entire global data space. This is only an illusion; there is no global place where all the data lives. Each application locally stores only what it needs and only for as long as it needs it. DDS deals with data in motion; the global data space is a virtual concept that is really only a collection of local stores. Every application, in almost any language, running on any system, sees local memory in its optimal native format. The global data space shares data between embedded, mobile, and cloud applications across any transport, regardless of language or system, and with extremely low-latency.

本地存储的模式使应用程序产生了访问整个全局数据空间的假象,但这仅仅是一种假象;不存在一个全局空间可以容纳所有的数据。每个应用程序只在本地存储其所需的内容,并且只存储一定的时间。DDS处理地动态数据。全局数据空间是一个虚拟概念,实际上只是本地存储的集合。几乎在任何语言中,在任何系统上运行的应用程序都能以其最佳的方式访问本地内存。全局数据空间通过任意传输方式,可以跨语言和操作系统地在嵌入式应用程序、移动应用程序和云应用程序之间共享数据,并且具有极低的延迟。


相关链接

译文连载:DDS (Data Distribution Service) 数据分发服务-规范中文翻译_001

DDS科普:一文读懂DDS(数据分发服务)

产品介绍:BLUE DCS分布式数据连接解决方案

产品试用: 海蓝云平台-Blue DCS