您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
DDS如何工作?
 
译者:Anna
   次浏览      
 2020-10-10  
 
编辑推荐:

文章主要介绍了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”,以提供对优先处理选择性触发事件的完整应用程序控制)。

   
次浏览       
 
相关文章

UML概览
UML图解:用例图(Use case diagram )
UML图解:活动图(activity diagram )
UML图解:类图(class diagram )
UML图解:对象图(object diagram)
UML图解:顺序图( sequence diagram )
 
相关文档

模型跟踪:跟踪图、矩阵、关系(建模工具EA)
自定义表格(Custom Table)在EA中的使用
元素的详情浏览控制
UAF 1.2规范解读(DMM 和 UAFML )
EA中支持的各种图表
EA中的界面原型建模
 
相关课程

UML与面向对象分析设计
UML + 嵌入式系统分析设计
业务建模与业务分析
基于SysML和EA进行系统设计与建模
基于模型的需求管理
业务建模 & 领域驱动设计
最新活动计划
Node+Vue3.0前端全栈开发 7-5 [特惠]
Spring Cloud微服务架构 7-5[特惠]
SysML和EA系统设计与建模 7-26[特惠]
Python、数据分析与机器学习 8-23[特惠]
嵌入式软件架构设计 8-22[线上]
Linux内核编程及设备驱动 7-25[北京]
 
最新文章
iPerson的过程观:要 过程 or 结果
“以人为本”的工程哲学
企业架构、TOGAF与ArchiMate概览
UML 图解:顺序图( sequence diagram )
UML 图解:对象图( class diagram )
最新课程
基于UML和EA进行系统分析设计
UML+EA+面向对象分析设计
基于SysML和EA进行系统设计与建模
UML + 嵌入式系统分析设计
领域驱动的建模与设计
更多...   
成功案例
某电信运营供应商 应用UML进行面向对象分析
烽火通信 UML进行面向对象的分析设计
西门子 UML与嵌入式软件分析设计
航天科工某子公司 从系统到软件的分析、设计
深圳某汽车企业 模型驱动的分析设计
更多...