编辑推荐: |
文章主要介绍了DDS高级数据中心接口取代了以消息为中心的编程和基本技术概念等相关内容。
来自于dds-foundation.org,由火龙果软件Anna译、推荐。 |
|
高级数据中心接口取代了以消息为中心的编程(High Level Data-Centric
Interfaces Replace Message-Centric Programming)
DDS的主要目标是在正确的时间在正确的位置共享正确的数据,即使在时间不相关的发布者和消费者之间也是如此。DDS通过仔细复制逻辑共享数据空间的相关部分来实现全局数据空间。
并非所有数据都无处不在。中间件应该只提供消费者真正需要的数据。基于兴趣的过滤可以应用于内容和数据速率。通过适当的实施,DDS可以节省带宽,提升处理能力,并最大程度地降低整体应用程序的复杂性。
作为以数据为中心的解决方案,DDS可以了解共享数据的架构。这使它能够根据内容、期限和/或生命周期进行筛选,从而只为应用程序提供所需的数据。例如DDS可以使应用软件只向外发送锅炉温度300的数据(内容过滤器),每秒最多更新10次(速率)。在许多系统中,这种有效的方法通常可以节省90%的数据通信开销。
正确的位置(The Right Place)
数据必须在需要的地方可用,以促进自动形成系统。DDS分发和维护数据,以便随时可用。
DDS动态发现发布者和订阅者,他们要共享的数据类型以及相关的服务质量(QoS)。匹配成功后,DDS根据QoS进行数据分发。它为每个发布者-订阅者对之间的每个数据流实现了一个QoS强制逻辑通道。DDS订阅者可以确定其对应的发布者是否存活,并且可以传递所产生的任何数据。这大大简化了应用程序开发和错误处理。
实时系统与现实世界进行交互。数据必须按时可用–时延过长的正确数据是将导致故障。数据在优先级,可靠性,时序和其他非功能属性方面有所不同。DDS平衡了稀缺资源的利用以在适当的时间分发数据。
DDS中间件使用应用程序在运行时设置的逻辑QoS策略来平衡效率和确定性。QoS约束确保了这些时序关系。例如,如果订阅者每10毫秒要求更新一次,而与其匹配的发布者不进行发送,则系统会报错,从而启用补救措施。QoS策略涵盖许多特征,包括紧急程度,重要性,可靠性,持久性和生动性。
基本技术概念(Underlying Technical Concepts)
关系数据建模:DDS以类似于关系数据库的方式处理数据。它可以通过结构相关的主题(使用关键字段)来管理数据,并允许对内容和时间进行临时查询和过滤,以便应用程序可以根据需要提取特定数据。
发布-订阅消息传递:DDS使用发布/订阅模式、动态发现机制,管理相关DDS实体(包括发布者、订阅者、持久性服务、记录和重放服务以及连接的数据库)之间的数据流。请求-回复和其他模式都建立在这种强大的基础上。
可靠的多播: DDS标准有线协议在普通UDP套接字上实现了可靠的多播,使系统可以从现代网络基础架构中高效受益。
生命周期意识:与以消息为中心的产品不同,DDS为应用程序提供信息生命周期可感知的支持。例如,它检测,通信并通知应用程序有关数据(主题实例)更新的第一次和最后一次出现。这有助于及时响应新的和过时的信息。
触发模式:DDS提供了多种触发模式,这些模式随订阅信息的更新而变化。示例包括轮询,回调(对于GUI而言是典型的)和WaitSet(类似于Unix“
select”,以提供对优先处理选择性触发事件的完整应用程序控制)。 |