资源描述
工作与研究 船舶标准化与质量 2015 年第 6 期 14 DDS 规范在我国舰船实时系统中的应用研究 海装舰船办 洪伟宏 摘要:本文对数据分发服务(DDS) 规范进行了介绍,给出了 DDS 的两层框架结构,对 DDS 的 通信流程、QoS 策略进行了研究,并对 DDS 在舰船信息系统应用进行简要分析,提出了有关的工作 建议。 关键词:数据分发服务 服务质量策略 引言 随着舰船信息系统功能的日益复杂,系统对 实时信息传输要求也越来越高。目前舰船的通信模 式大多数仍采用传统的客户 / 服务器模式,基于远 程调用技术实现数据通信,这种数据通信机制较为 复杂,数据收发需要建立连接过程,使得系统存在 性能瓶颈和单点失效等问题,不能完全满足系统对 实时性能的需要。与传统模式不同,数据分发服务 (DDS) 则提供了灵活的异步消息通信机制,DDS 建 立了一个以数据为中心的发布 / 订阅机制,提供一 个与平台无关的数据模型,除了能处理复杂数据流 外,还可提供数据传输服务质量(QoS) 控制策略, 能把对更新速率、可靠性和带宽控制有不同要求的 单元模块很好地集成到同一系统中,较好地解决了 不可靠网络通信中数据的自动发现、可靠性和冗余 性等问题。因此,DDS 在实时消息分发方面具有很 大优势。 数据分发服务技术最早应用于美国海军,用于 解决舰船复杂网络环境中大量软件升级的兼容性问 题,目前已成为美国国防部的强制性标准。2003 年, DDS 被对象管理组织(OMG) 组织接受,并发布了 专门为实时系统设计的数据分发 / 订阅标准(2004 年发布 1.0 版,2007 年 1 月发布 1.2 版) 。DDS 目前 已在美国的陆、海、空、天各个领域得到了广泛应 用,成为分布式实时系统中数据发布 / 订阅的标准 解决方案。 1 DDS 规范概述 DDS 规范为 OMG 组织发布的,该规范规定了 分布式实时系统中数据发布、传递和接收的接口和 行为,定义了以数据为中心的发布 / 订阅机制,提 供了一个与平台无关的数据模型。该规范主要应用 在要求高性能、可预见性和对资源有效使用的关键 任务领域,目的在于简化分布式系统中数据的有效 发布。 该规范共分 8 个章节,第 1 章节范围规定了 DDS 的基本定义及主要用途,第 2、3、4、5、6 章 节分别规定了相关依据、引用文件、条款和定义、符 号以及附加信息,第 7 章节规定了以数据为中心的发 布 / 订阅层(Data-Centric Publish-Subscribe,DCPS)的 平台模型,第 8 章节规定了数据本地重构层(Data Local Reconstruction Layer,DLRL) 的平台模型。 2 DDS 基本架构 DDS 规范中第 7、8 章分别描述了 DDS 两个层 次的接口: 1) 低层 DCPS 层:该层提供了数据发布的基础 架构,通过该层可将数据发布者发布的信息高效准 确地传送给数据订阅者; 2) 高层 DLRL 层:该层为可选接口,允许将服 务简单地集成到应用层。 DCPS 层是 DDS 规范的核心,它提供了数据发 双月刊 / 总第 261 期15 布的基础架构。DLRL 层建立在 DCPS 基础之上, 主要规定了应用层和 DCPS 层之间的接口,该接口 将接收到的数据进行融合并传送给应用层,通过底 层的 DCPS 提供服务,简化了编程工作。 2.1 以数据为中心的发布 / 订阅层(DCPS) 通过对规范中第 7 章 DCPS 进行分析,可以看 出,DCPS 层建立了一个全局数据空间(Global Data Space) 的概念,发布者和订阅者在该全局空间中分 别发布和订阅自己需要的数据类型,通过中间件处 理后,再进行数据传送,将传统的 C/S 模式转为以 数据为中心的服务模式。DCPS 模型又分为平台独 立模型 PIM 和平台专门模型 PSM,PSM 是以 PIM 为基础的 OMG 接口定义语言(IDL) 平台。PIM 模 型总体框架结构如图 1 所示。 PIM 模型主要由数据写入者、数据读取者、发 布者、订阅者、领域以及数据对象等组成,其中领 域代表一个通信范围,只有同一领域的发布者和订 阅者才能交互。 每个发布者都有一个与之关联的数据写入者, 当数据通过适当的数据写入者与发布者通信时,发 布者负责发布数据写入者描述数据类型的数据,当 发布者与数据写入者关联时就形成了一个发布。订 阅者负责对发布的数据进行接收并使数据能被接收 数据对象 发布者 数据写人者 订阅者 数据读人者 订阅者 数据读人者 领域 数据 数据 数据 通过主题标识 通 过 主 题 标 识 图 1 PIM 模型总体架构图 应用程序(根据订阅者的 QoS)所使用,它能接收 并分发不同类型的数据。为了访问被接收到的数据, 应用程序必须使用和订阅者相关联的数据阅读者。 当订阅者与数据阅读者关联后就形成了订阅。 主题用于联系发布和订阅。发布方在中间件上 发布一个主题后,订阅方可以根据主题来查阅发布 方发布的信息。中间件服务检查发布方发布的主题 是否满足订阅方的要求,并检查其 QoS 策略是否兼 容,如果是就在发布方和订阅方建立连接,进行点 对点的数据传送。否则就提示异常。 2.2 数据本地重构层(DLRL) 在 DDS 的两层架构中,上层数据本地重构层 DLRL 是可选层,它建立在下层 DCPS 基础之上, 通过 DCPS 提供的服务,简化了编程实现工作,把 服务简单地整合到应用层,让用户能直接访问变更 的数据,达到与本地语言结构无缝连接的目的。在 DLRL 层通过将 DCPS 层提供的服务以类的形式进 行封装,建立每个类与 DCPS 层相应服务的映射 关系,然后用本地语言结构对该类进行操纵,让用 户能够方便快捷地访问数据。简单地说,相当于 在 DLRL 层建立了对 DCPS 层服务的一个索引表。 DLRL 层可以将更新后的本地数据自动重组,然后 中间件发消息给所有已经订阅过该数据的订阅者更 新本地的拷贝信息。 3 DDS 通信流程 为完成数据发布,DDS 中间件需要完成一系列 的动作,包括注册数据类型、生成主题、比较并设 置合理的 QoS、预分配资源(缓存区等) 、根据订阅 资源生成消息(包含订阅者的地址) 、通知 Listener 接口等等;还要根据 QoS 要求,在规定的时间发送 数据。DDS 在进行数据发布 / 订阅时的基本流程(如 图 2 所示 ) 为: 1)发布者在中间件上注册数据类型(Data- Type) ; 2) 返回 DataType; 3) 发布者通知中间件生成主题,中间件根据数 据类型 DataType 定义主题并设置 QoS;同样的订阅 洪伟宏 DDS 规范在我国舰船实时系统中的应用研究 工作与研究 船舶标准化与质量 2015 年第 6 期 16 者设置 QoS 也能建立主题; 4) 返回主题信息; 5) 某个时刻,某订阅者(比如指控系统某指挥 控制台) 向中间件发送请求,查找该主题; 6) 中间件向订阅者返回需要查找的主题; 7)订阅者订阅主题,中间件比较主题和订阅 者设定的 QoS,看是否满足订阅者要求,如果满足 则保存一个新的订阅信息(此订阅信息包含合成的 QoS) 并成功返回,否则拒绝订阅; 8) 中间件返回相应信息; 9) 发布者设置 QoS 并发布最新的数据; 10)中间件接收到数据,比较 QoS,适时将数 据传递给订阅者。 4 DDS 的 QoS 策略 DDS 规范在 7.1.3 节中定义了丰富的 QoS 策略。 QoS 是一种网络传输策略,用于解决网络延迟和阻 塞等问题,QoS 服务可以实现应用程序所需要的网 络传输质量行为,尽可能地满足客户对通信质量的 需求。DDS 定义的 QoS 策略使其对复杂网络环境的 适应性和鲁棒性大大增强,优化网络传输质量。 在 DDS 规范中定义了 22 种 QoS 参数,用于控 制 DDS 模型的各个方面以及底层的通信机制。下面 给出了几个重要的 QoS 参数: 1)Durability(持续性) :如果创建发布者时 此属性被选中,那么所创建的发布者将在内存中保 存其发布数据的历史记录,要保留的数据总量由 发布者中间件订阅者 1、注册数据类型 2、返回 3、生成主题 4、返回 5、查找主题 6、返回 7、订阅主题 8、返回 10、传递数据 9、发布数据 图 2 DDS 通信流程时序图 History 属性来控制。Durability 允许后加入的订阅者 获得在订阅者创建之前已经发送过的数据。如果在 创建订阅者时属性被选中,那么订阅者会向发布者 请求获得在加入系统之前的数据,在发布者的历史 队列中的所有数据将会被发送给订阅者。为了缓存 这些历史数据,订阅者也应当设定 History 属性值, 这个值应当小于或等于发布者的值。 2)Reliability(可靠性) :如果创建发布者时此 属性被选中,那么所创建的发布者会交付所有的数 据发送。如果由于通信错误导致订阅者不能接收到 数据,数据服务将会修复该错误并重新发送数据。 默认状态下,发布者不会重发丢失的数据。如果创 建发布者时 Reliability 属性被选中,那么订阅者将得 到所有数据的可靠更新。 3)History(历史记录) :控制发送队列中的数 据总量,此属性的使用与 Durability 及 Reliability 属性 相关联。如果 Durability 属性被选中,那么 History 属 性决定有多少历史数据会被传送给后加入的订阅者。 4)Liveliness(活跃性) :用于检测发布者的状 态,甚至当它没有活跃地发送数据时也可以检测。 创建发布者时设定的 Liveliness 间隔时间是发布者 发出活跃信号的最大间隔时间。创建订阅者时设定 Liveliness 间隔时间是订阅者希望确认发布者的存在 的最大时间间隔。订阅者的 Liveliness 间隔时间必须 大于等于发布者的 Liveliness。 5 DDS 在舰船作战系统中的应用研究及有关工作 建议 DDS 规范是专门为高性能数据分发而制定的一 项新规范,它提供了一个能够清晰定义数据分发服 务的应用级接口,在很大程度上简化开发者的网络 设计工作。目前,舰船作战系统在逻辑上一般有两 条数据总线,即实时和非实时应用数据,针对实时 应用可以使用 DDS 进行实时数据传输,DDS 能够处 理复杂数据流,可通过对 QoS 参数控制,能把对更 新速率、可靠性和带宽控制有不同要求的作战单元 模块很好的集成到同一系统中。DDS 还具有低时延 和高吞吐量优点,由于 DDS 不需要有中心服务器, 双月刊 / 总第 261 期17 作战系统中对传输速度有较高要求的实时应用, 可以使用直接点到点传输和事件驱动传输,消除 了由于网络中转而引起的时延,与 C/S 模型相比 大大提高了传输速度。此外,DDS 作为一个高性 能、支持容错的数据分发服务,也适于需要高可 靠性的系统,由于 DDS 没有任何特殊的节点,如 果某个节点发生故障,其他部分能照常继续工作; 同样,如果有新的节点加入,也不会对原有系统 造成任何影响。 DDS 能够满足很多领域的应用需求,国际上已 经对其开展了大量研究。美国海军正以 DDS 技术为 核心,建设一个统一的、全新的自动操作的分布式 DDS 网络结构,对其海军装备的作战系统进行综合 集成。美海军诸多型号如新型多任务驱逐舰 DDG- 1000 在其全舰计算环境(TSCE) 关键技术中也采用 OMG 的 DDS 规范进行数据分发服务,以满足低延 迟应用的消息传输需要。随着我国海军舰船装备的 快速发展,对系统信息传递的实时性、可靠性等性 能指标也提出了更高要求,有必要对 DDS 规范进行 深入研究,针对我国海军装备的技术特点建设全军 及海军的分布式网络结构,开发能够实现实时、可 靠、安全、跨语言和平台信息分发的 DDS 中间件产 品,并同步开展相关配套标准体系及标准规范的建 设工作,为提升装备信息化水平提供支撑
展开阅读全文
相关搜索