一,openDDS及相关产品介绍

OpenDDS是分布式应用程序的实时通信网络中间件,  主要用于实时数据分发服务。是分布式系统实时应用程序的网络中间件,它遵循对象管理组织(OMG)中实时系统数据分发服务DDS的标准,并且是全球DDS标准最可靠、最灵活和最高性能的实现。

DDS是位于网络协议栈最上层的软件,它屏蔽底层网络代码,代之以通用的、基于标准的应用程序接口(API)。通过API提供易于理解、基于发布/订阅的通讯模式,这种模式定义了两类基本角色:

  • 发布者:创建数据,给数据命名(称为主题Topic),并将数据分发给感兴趣的订阅者
  • 订阅者:注册感兴趣的主题,并在主题数据有变化时接收数据

任意一个节点可以成为发布者、订阅者或两者皆是,并可拥有多个主题。DDS处理所有的网络输入输出,管理可靠和透明的传输,如消息寻址、数据组合和分散、流控制、重试等等。所有这些都不需要应用程序干预,大大降低了用户的工作量,用户可以把精力花在应用程序的设计上。

常见的设计模式

DDS经常被用于三种设计和应用环境,包括:

  • 数据苛刻性场合的应用
  • 多个数据源需要连接到多个数据接收点的应用程序
  • 系统结构动态需要发生变化的应用程序
  • 数据苛刻性场合

    数据关键的应用就是对应用来说时间基线、可靠性、可获得性和性能都非常重要,但是由于物理定律的存在,设计者必须在这些需求中有所取舍。

    DDS允许系统设计者设定所有系统组件之间的约束,指定如何、何时、何处的数据被传送。openDDS为开发者提供了超过20种QoS参数,通过使用这些参数,可以优化应用程序的数据通过率、性能和应答能力。例如,GPS传感器给订阅者位置信息,但是如果传感器停止工作(例如在隧道里),系统可以根据当前速度和方向估算出结果来替代,而数据消费者不会发觉这种替换的发生。这种"透明"是因为DDS提供了标准的API接口,弱化了数据的传输和使用的关系。应用程序只需要解决应用层面的问题而不用关心数据传输问题。

    DDS的使用范围是那些需要快速、灵活实现以数据为中心的发布/订阅通讯网络,这种实现完全透明,并与操作系统和编程环境无关。

    DDS概述

    消息中间件包括点到点、消息队列和发布/订阅三种工作模式。点到点摸式具有很强的时间和空间耦合性,使得通信灵活性受到很大限制。消息队列模式通过一个消息队列来传递消息,解决了通信双方时间和空间松耦合的问题,但不能实现消息消费者通信的异步,并且还存在服务器瓶颈和单点失效的问题,可靠性得不到保障。发布/订阅模型中发布者和订阅者通过主题相关联,双方不必知道对方在何处。也不必同时在线,实现了通信双方时间、空间和数据通信的多维松耦合。

    DDS规范

    DDS(DataDistribution Service数据分发服务)是对象管理组织OMG的有关分布式实时系统中数据发布的一个较新的规范(2004年12月发布1.0版,2007年1月发布1.2版)。DDS规范采用了发布/订阅体系结构,对实时性要求提供更好的支持。DDS是以数据为中心的发布/订阅通信模型,针对强实时系统进行了优化,提供低延迟、高吞吐量、对实时性能的控制级别,从而使DDS能够广泛应用于航空、国防、分布仿真、工业自动化、分布控制、机器人、电及网络化的消费电器等多个领域。

    DDS标准规范了实时分布式系统中数据发布、传递和接收的接口和行为,定义了以数据为中心的发布/订阅机制。DDS规范使用UML语言描述服务,提供了一个与平台无关的数据模型(这个模型能够映射到各种具体的平台和编程语言),使得实时分布式系统中数据能够高效、可靠地发布,它主要应用在要求高性能、可预见性和对资源有效使用的关键任务领域。

    DDS规范列举并正式定义了一整套全面的QoS策略,能利用QoS进行系统控制。每一个DCPS实体都有自身的QoS策略,而且在每一对发布者和订阅者之间又都可以建立独立的QoS协定。这使得DDS可以很好地配置和利用系统资源,协调可预言性与执行效率间的平衡,并能支持复杂多变的数据流需求。

    DDS的通信模型

    应用程序在处理以数据为中心的分布式系统时,DDS标准中间件可以帮助用户使用更加简单的编程模型,不需要开发特定的事件/消息机制或手动创建封装的CORBA对象来获取远程数据。应用程序可以使用一个简单的主题(Topic)名称来指定它想要读或写的数据,使用以数据为中心的API来直接读写数据。DDS中以数据为中心的发布/订阅(DCPS)模型构建了一个共享的"全局数据空间"的概念,所有的数据对象都存在于此空间中,分布式节点通过简单的读、写操作便可以访问这些数据对象。实际上,数据并非存在于所有计算机的地址空间中,它仅存在于那些对它感兴趣的应用程序的本地缓存中,而这一点正是发布/订阅模型的关键所在。

    DDS的QoS策略

    较好的QoS控制策略可能是DDS标准最重要的特征。QoS在DDS规范中得到了普遍而深入的使用,用于配置系统以及在每对发布者/订阅者之间建立起独立的QoS协定,而QoS协定能够提供实时系统所要求的性能、可预测性和资源可控性,并且能够保证发布/订阅模型的模块性、可量测性和鲁棒性等。因此,DDS能够满足非常复杂和灵活的数据流要求。

    DDS特点

    • DDS是针对网络编程的一个公开标准
    • 是一套支持出版/订阅设计思想的应用程序接口( API)
    • 体现了以数据为中心进行结构设计的方法学
    • 专为高性能的实时系统设计
    • 可以大大降低用户成本
    • 用户可专注于自己的设计,不需要自己设计系统中所有的组件
    • 降低集成成本,减少首次设计时间和后继测试等时间开销
    • 采用公开标准,减少了被供应商特定技术禁锢的风险
    • RTI公司实现的商业版本DDS应用范围和典型用户

      全球已经有500多个项目和案例成功采用了RTI公司的DDS方案,网络中间的市场占有率高达80%左右。包括航空、航天、船舶、国防、金融、通信、汽车等领域。

      美国海上战争中心(NSWC)高性能分布式计算系统(HiPer-D)

      • 高性能分布式计算(HiPer-D)程序跟踪成千上万个目标、多首船的几百个计算机之间协同通信
      • 满足系统实时性要求(微秒级) 并具有100%时间确定性
      • RTI提供成熟的技术和产品满足分布式计算环境中HiPer-D对实时性和确定性的严格要求

      美国海军 LPD-17 舰内广域网络

      • 美国海军LPD-17舰内广域网络 (SWAN) 包括以下通信系统:
        • 船、机械、检测和掌舵之间的控制系统(shipboard, machinery, damage and steering controls)
        • 使命控制、导航和通信系统(Mission control, navigation and communication systems)
        • 其它很多部件的通信(Many other components)
      • 挑战在于大数量的分离系统之间的协同工作的复杂性
      • RTI是整个SWAN系统同步和管理广域网控制系统的设置的核心

      洛马美国海军Aegis 开发式构架武器系统

      • 第二代美国海军Aegis武器系统
      • 挑战:分布式系统,包括雷达、武器、显控等系统之间时间苛刻性条件下的如何进行数据传输和共享
      • 保持系统最大化的可测试性和灵活性
      • l RTI提供实时通信构架,以及提高基于标准的系统可扩展性

      Insitu 无人机

      • Insitu公司是无人机技术的领先者
      • 下一代无人机包括Scan Eagle和新的平台
      • 挑战:开发一个满足苛刻性要求的无人机,并具备强大的自我调节和可靠的地面控制系统
      • RTI技术的应用使得系统的信息流更加可靠和灵活,并能够和多个地面控制系统无缝集成和可靠通信

      其它系统

      • Navy Open Architecture舰艇自卫系统 (SSDS)
      • 濒海战斗舰 Littoral Combat System (LCS)
      • System(LCS)
      • NavDDS船舶导航系统
      • FFX-1海军战斗机系统
      • AWACS(Airborne Warning and Control System)雷达系统升级
      • DDS B-1B战术系统升级
      • 先进的驾驶舱地面控制站
      • 动力科技船舶仿真Force Technologies Ship Simulations
      • 美国军方和lowa大学驾驶仿真系统
      • CAE SimXXI新一代飞行模拟系统







你可能感兴趣的:(一,openDDS及相关产品介绍)