admin 管理员组

文章数量: 887021


2023年12月19日发(作者:z型斗提机生产厂家)

OpenSplice DDS产品介绍

1 概 述

在大型网络中心系统中,信息的实时交换最为关键。从多个源产生的信息必须由信息制造者按QoS要求将信息请求者感兴趣的信息进行分发。特别是在实时和关键性任务系统中,“在正确的时间和地点获取正确的数据”是非常关键的任务。OMG认识到数据分发服务(DDS)的需求,并组织在网络、信息管理、分布式、实时和关键性任务系统方面具有丰富经验的会员(包括Thalse Naval Netherlands)定义了“OMG-DDS”服务。OMG-DDS服务规定了一个从小型嵌入式控制系统到大型企业信息管理系统域范围内实时信息有效性的一致的描述集。为了实现“在正确的时间和地点获取正确的数据”,每一个DDS描述都为定义DDS提供的服务级别增加了明晰的能力:

(1)Minimum Profile:基础的描述,使用众所周知的“发布/订阅(publish/subscribe)”范例在共享“主题(topics)”的多个发布者和订阅者之间进行高效信息传播。主题是基础的数据结构,由OMG的IDL语言描述。这个描述也包括了可以使中间件“匹配”请求和提供的QoS参数(如“reliability”、“ordering”或“urgency”)的QoS框架。

(2)Ownership Profile:这个“重复”描述通过允许每一个发布者表示“strength”的方式,为相同信息的发布者提供支持,这样只有“highest-strength”信息可用于感兴趣的成员。

(3)Content Subscription Profile:这个“内容意识”描述具有对感兴趣的细节信息内容(内容过滤)提供精细表示的强大特性,也允许应用指定视图映射和数据集合,允许利用SQL语言的一个子集动态查询订阅的“topics”,同时保留了信息访问请求的实时性。

(4)Persistence Profile:这个“持久”描述对“非易失”数据提供了透明的和容错的可用性,“非易失”数据也许表现为固定不变“设置”(在分布式系统中存储在海量介质中),或在短暂发布者范围外以一个容错方式保持的“状态”(允许应用的后期加入或动态的再分配)。

(5)DLRL Profile:这个“对象模型”在相关主题集上用一个面向对象视图扩展了前四个数据为中心“DCPS”描述,这样提供了典型的OO特性,如数值类型的向导、继承和使用。

图 DDS层次图

2 Prismtech OpenSplice产品

Prismtech OpenSplice完全兼容OMG-DDS的实现,提供了对所有DCPS描述(minimum profile、ownership

profile、content subscription profile和persistence profile)和DLRL对象描述的支持。OpenSplice最初是由Thales

Naval Netherlands (TNL,DDS规范制定者之一,具有15年的为海军战争管理系统(CMS)开发分布式信息系统的经验)开发的中间件,用于TNL的TACTICOS CMS“信息骨干”,被部署在全球15个海军中。OpenSplice 是这个成功产品的第2代COTS演变,包括了覆盖OMG规范的几个模块:

(1)OpenSplice core modules:覆盖了“Minimum”和“Ownership”描述,提供基本的发布-订阅信息函数。Minimum描述意味实时信息要求,性能和低脚本是关键。Ownership描述为重复发布者提供了基本支持,被发布数据的“ownership”通过“strength”指示发布信息质量进行管理。

(2)OpenSplice "content subscription"和"persistence"描述:提供了额外信息管理特性,关键在于确保高度的信息有效性(非易失信息的容错保持)和强大的“内容意识”特性(过滤和查询),这样可以使从小型嵌入式到大型容错系统全范围的不匹配执行。

(3)OpenSplice “Data Local Reconstruction Layer”描述:在一个相关主题集上提供了一个OO视图,使之具有OO特性。

(4)OpenSplice “Productivity tool suite”:完全基于Eclipse的高效工具套件,采用MDA方法,支持信息建模、对象建模、应用建模、DLRL和DCPS代码生成和集成环境中的实时系统监视。

目前,OpenSplice支持的平台包括Solaris/ Sparc、Linux / x86、Windows / X86和VxWorks / PowerPC,同时支持C、C++和Java语言。

3 OpenSplice架构

为了保证可伸缩性、适应性和可扩展性,OpenSplice内部架构使用共享内存来“互联”不仅限于一个计算节点中所有的应用,也包括“主机”配置和可扩展的服务集。这些服务提供了“可插拔”的功能,如网络化(提供基于多个可靠的组播“通道”的QoS驱动的实时网络)、持久性(为实时“状态”数据和持久“设置”提供容错存储)和远程控制与监视“SOAP-服务”(从OpenSplice Tuner工具,使用SOAP协议提供基于WEB的远程访问):

(1)Scalability:OpenSplice使用共享内存结构,在任何机器上数据只是物理的表示一次,智能管理还为每一个订阅者提供在这个数据上其所属的私有“视图”。这允许一个订阅者的数据缓存作为一个独立的“数据库”(可以内容过滤、查询等)被感知(使用OpenSplice支持的内容订阅描述)。共享内存架构导致一个极低的脚本、卓越的伸缩能力和优化的性能。

(2)Configuration:OpenSplice中间件能被指定的服务方便地配置,同样为匹配应用域(网络参数、持久性级别)优化配置这些服务。所有的OpenSplice服务可以利用方便维护的XML文件进行配置,OpenSplice的配置也可以通过允许系统/网络建模的MDA工具集自动生成合适的XML配置文件。

图 OpenSplice 可插拔服务架构(1个节点)

4 OpenSplice实现优势

图 OpenSplice 特征优势利益图

5 OpenSplice高效工具

PrismTech提供了一个优秀的集成运行时工具的MDD工具集,支持系统和应用的设计、开发和维护。OpenSplice提供了一个集成的工具链,由设计时的信息建模工具(OpenSplice信息建模器)、应用建模和代码生成工具(OpenSplice应用建模器)和运行时监视和管理工具(OpenSplice Tuner)组成,这些工具都基于特定域的模型驱动技术:

(1)方便了信息建模

(2)减少了应用的复杂性

(3)缩短了应用的开发时间

(4)提高了应用质量

(5)确保了标准的兼容性

5.1 OpenSplice 信息和应用建模工具

信息和应用建模工具通过系统不同“范围”和“生命周期阶段”的清晰区别,通过视觉构图、配置和环形工程支持,方便了基于DDS的系统开发:

(1)Guidance:按所有DDS概念、模式和最优方法提供上下文敏感的指南。

(2)Well-defined hierarchical steps: 如信息建模(IDL的主题定义、主题QoS的自动代码生成)、应用设计(应用框架和DDS实体(发布者/订阅者)代码生成)和系统部署(基于XML OpenSplice配置数据的信息分区、网络配置和持久性配置)。

(3)Simplified integration with other tools:这个工具作为Eclipse工具的插件,可以与其他基于Eclipse的工具集成,包括Prismtech Spectra Tools。

(4)基于DDS应用可直观的可视化开发。

(5)通过开发DDS元模型,去除只能在运行时发现的缺陷和错误。

(6)提供特定域的基于UML的视图,方便系统级信息建模、DLRL对象建模和应用建模以及运行时部署(由OpenSplice Tuner实现)。

图 OpenSplice信息和应用建模视图

5.2 OpenSplice Tuner

基于Java的OpenSplice Tuner Tool对基于OpenSplice的分布式系统得设计、实现、测试和维护提供了很大的帮助:

(1)设计:在设计阶段,一旦信息模型建立(如主题被定义并“注册”在运行时环境,可以是主机环境、目标环境),OpenSplice Tuner允许创建发布者/订阅者(但不工作)来试验和验证数据,在保持、持久性和延迟等方面被中间件如何处理。

(2)实现:在实际应用级的处理和信息分发被开发的实现阶段,OpenSplice Tuner允许创建发布者和写入者注入测试输入数据,验证创建的订阅者和读出者对任何主题的响应。

(3)测试:在测试阶段,整个系统可以通过检查数据(通过写入者和读出者历史缓存的快照)和写入者与读出者的行为(统计,如读出者缓存被读取前数据驻留了多久)被监视,并监视数据分发行为(内

存使用、传输延迟)。

(4)维护:为计划的和“ad-hoc”的维护提供最大的弹性,基于JAVA的OpenSplice Tuner工具链(可以在任何支持JAVA的平台上执行,而不需要安装OpenSplice安装)可以通过基于Web的SOAP协议远程连接全球任何可到达的OpenSplice系统。使用这样一个动态连接,关键数据可以被记入日志,数据集也可以被“注入”到维护的系统(例如,使用OpenSplice支持的持久描述提供的QoS特性,新的设置可以被自动保持)。

图 OpenSplice Tuner

6 OpenSplice版本

OpenSplice DDS产品包括四个不同的版本:共用版、精简版、专业版和企业版,各个版本特征集被设计为逐级满足日益复制的系统和用户需求。共用版是开源使用,其它增加价值的版本可通过商业订购获得。

图 OpenSplice DDS 版本

6.1 共用版

OpenSplice DDS共用版作为开源使用并可以自由下载。这个版本是在LGPL下授权,提供一个非常简单的OpenSplice DDS入门指南。

图 共用版的组件图

6.2 精简版

OpenSplice DDS精简版只能订购使用,除共用版提供的特性之外,精简版还包括促进用户开发效率的MDE PowerTools和帮助优化系统性能的OpenSplice DDS Tuner工具。

图 精简版的组件图

6.3 专业版

OpenSplice DDS专业版释放了OMG DDS技术的全部能力,在对象缓存对象关系映射层(DLRL)方面增强了精简版,并附带SOAP连接器。

图 专业版的组件图

6.4 企业版

OpenSplice DDS企业版交付了一个技术平台,浓缩了市场上可利用的最强大的信息收发技术和企业的链接, 如DBMS和SOAP,附带的Spike Absorber技术扩展了OpenSplice DDS在信息收发中平滑管理偶然的极端苛求的尖峰脉冲的能力。

图 企业版的组件图

7 产品优势

7.1 最好信息收发技术

OpenSplice DDS在信息收发技术方面具有突出表现,原因是其功能部件、性能和提供的伸缩性方面具有一些唯一的和非凡的特性。

数据建模:OpenSplice DDS与多数信息收发技术不同之处在于其支持分布式关系模型的概念,这样发布者和订阅者产生和消费一个分布式关系模型的零碎信息,订阅者可以在这个模型上使用SQL表达式进行直接表示本地的和连续的查询。

图 数据模型图

服务质量(QoS):OpenSplice DDS提供一个广泛的QoS规则集去调整和配置与资源利用、可用性和时态约束相关的全部方面。这个支持QoS的丰富集合使得OpenSplice DDS能够在一个极度广泛的用户案例和部署方案、从嵌入式系统到系统的系统的范围内调整到最大性能。

性能:OpenSplice DDS能够在一个日常的多核PC设备和1Gbps的以太网上分发超过3百万条的市场数据并每秒更新,同时保持稳定性、可靠性和低于60ms的延迟。OpenSplice DDS的共享内存架构的特征,使得核内和处理器内部的通信延迟几乎可以忽略。

图 OPRA和OpenSplice的性能比较图

开源和创新:开源和创新通常共同发展,原因是开源项目为用户提供采用早期用户创新的机会。这样确保技术始终集中在有效解决用户问题上,而同时又持续地扩展它的潜能。

基于标准并能共同使用:OpenSplice DDS提供一个兼容OMG的实时系统的数据分发服务(DDS)v1.2的API层和一个兼容OMG 数据分发服务互操作性v2.1的线上协议。这些标准的一致性保证了应用的可移植性,也保证相同标准的实现之间互操作性。

平台支持:OpenSplice DDS在大多数的企业操作系统上都是可用的,如Linux、Windows、AIX和Solaris,以及主要的RTOS,如VxWorks、INTEGRITY等。OpenSplice DDS的API可用于C、C++、Java和C#。

领域证明:OpenSplice DDS在关键性任务和事务的系统中的许多不同的部署上已被证明,领域范围从自动贸易、空中交通管制(ATC)、海军系统到SCADA。

7.2 最优人才库支持

思想领袖:OpenSplice DDS团队的特征是拥有一些在分布式实时系统领域全球最知名的思想领袖,这个专家库持续不断的构建客户的成功,并创建未来的新技术。

领域专家: OpenSplice DDS团队也包括许多和思想领袖一起的领域专家,其在空中交通管制(ATC)、海军系统、实时系统等领域具有十多年的经验。

7.3 最具价值

最小化拥有的总成本(TCO):OpenSplice DDS订阅模型是为用户中间件架构提供一个明智的缩减TCO的方法,由于近期的金融危机,在今天特别重要的思想就是重新关注技术成本。

8 用户案例

国防(Defense)

 TACTICOS-CMS: THALES Naval Netherlands’

CMS, 26 ships classes, >100 ships

‣ >2.000 deployed runtimes (running on Solaris-servers,

Linux-consoles, and VxWorks embedded subsystems)

‣ 15 Navies worldwide (Netherlands, Germany, Turkey,

Greece, Oman, Qatar, Portugal, South Korea, Poland…)

 USA programs: LCS/GD, ENFMC/NG, LHA-LHD/DRS

 Brazilian Navy

 Australia: DSTO, ADI (Australia)

 THALES Naval NL’s Flycatcher system

‣ 4 army’s, >400 deployments

 NSWC: Open Architecture Test Facility (OA-TF)

战术网络(Tactical networks)

 Ultra Electronics (US, UK): OpenSplice DDS

selected over competition for superior

scalability and fault-tolerance

航天(Aerospace)

 NASA Kennedy Space Center: Constellation

Program for next generation ARES Rocket Launch

System

运输(Transportation)

 Amsterdam Metro

 CoFlight: Flight-plan management system upgrades

for France, Italy, Switzerland

数据采集与监控系统(SCADA)

 Chemtech/Siemens in Brazil: since 2006

本土安全(Homeland Security)

 IDA: ‘Cybercrime Defense’ in WAN environment


本文标签: 信息 提供 数据 系统 应用