What is DDS?DDS是什么

数据分发服务(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的工厂。
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值