
DDS是一种用于物联网领域,且已经得以广泛运用的数据连接标准
数据分发服务DDS是有OMG组织颁布的一个面向以数据为中心的连接的中间件协议和API标准。它集成系统中的各个组件,提供低延迟的数据连接、极端的可靠性、增强的安全性和可扩展的体系架构,这些特征是商业和关键任务物联网应用所必须的。
在分布式系统中,中间件是一个软件层,位于操作系统和应用之间。它是的系统中不同的组件更加容易地通信,并且共享数据。它简化了分布式系统的开发,让软件开发者把精力集中到他们应用的特定目标上,而不是放到应用以及系统之间如何进行信息传递的机制上。
DDS中间件是一个软件层,从操作系统、网络传输和底层数据格式的细节中抽象出应用。相同的概念和API提供给不同的编程语言,使得应用在不同的操作系统、编程语言和处理器体系架构之间交换信息。底层细节包括数据传输格式、发现、连接、可靠性、协议、QoS管理等等都由中间件来管理。
现在有许多通信中间件标准和产品。DDS是唯一一个以数据为中心的标准,适用于物联网。大多数中间件通过在应用和系统之间发送信息来进行工作。以数据为中心保证所有消息的安全,包括应用在理解所接收到的数据所需要的上下文信息。
以数据为中心的核心是DDS知晓整个集成网络内的数据以及控制数据的共享。使用传统的以消息为中心的中间件的程序员必须为发送消息编写代码。使用以数据为中心的中间件的程序员只要为如何和何时共享数据编写代码,然后就可以直接共享数据值。DDS直接为用户实现受控的、受管的、安全数据共享,而不是在应用代码中管理所有的复杂逻辑。
DDS提供基于QoS控制的数据共享。应用通过发布和订阅主题来实现,主题用它们的主题名来标识。订阅方可以规定时间和内容过滤器,这样仅获得该主题发布数据的一个子集。不同的DDS域是完全不重叠的。在DDS域之间没有数据共享。
全局数据空间
从概念上说,DDS把所有的本地存储的数据称作为全局数据空间。对于应用来说,全局数据空间看上去像通过API来访问内存一样。你使用时,就像使用本地存储一样。事实上,DDS发送消息来更新远端节点的相应存储值。这样,你使用时,如同本地存储。
总而言之,DDS使应用在需要进行数据访问的时候提供一个虚拟的全局数据池概念,事实上并没有一个存储所有数据的全局设备。每个应用仅在本地存储它需要的数据,当整个网络内的任何应用需要它们时,提供给对应应用。所有的数据分发工作全部都由DDS代劳了。全局数据空间是一个虚拟概念,实际上是本地存储的集合。每个应用,可以用几乎任何一种编程语言编写,运行在任何系统上,可以在本地内存上读到用最好的数据格式表示的数据。全局数据空间可以在嵌入式系统、移动和云应用之间共享数据,采用任意的传输方式,无论语言和系统,并且延迟极低。
g
