分布式数据分发服务中间件CoreDX DDS

DDS

DDS标准作为国际上第一个为规范分布式系统数据交换领域的发布-订阅中间件的开放标准,充分解决了分布式实时系统“在正确的时间、正确的位置获取正确的数据”的需求。CoreDX DDS作为实时发布-订阅通信系统DDS中间件,我们可以架构自己的通信模型,为仿真环境、作战模拟提供高效的、可靠的通信服务。CoreDX DDS定义了十分丰富的服务基类及接口,使得应用开发者在处理以数据为中心的分布式应用时,无须关注分布式应用的底层实现,可以集中精力在业务逻辑的开发上,大大提高分布式系统的可靠性和可维护性。

CoreDX DDS——高性能的发布-订阅消息中间件

发布-订阅是一种异步方式的消息交互模型。适用于在数据发布者和订阅者之间进行数据、事件以及命令的交互。发布-订阅中间件的实现使应用逻辑与底层数据传输通信机制得以相互隔离。

发布者(即数据生产者)将它们的数据归类为不同的主题,发布给订阅者(即数据消费者)使用。订阅者声明其感兴趣的主题,并且只接收这些相关主题的数据。

CoreDX DDS——符合DDS规范的实现

数据分发服务(DDS)是OMG组织制定的一种数据通信标准,该协议定义了一种适用于实时系统的、以数据为中心的发布-订阅(DCPS)框架。DDS支持消息交互的高可控性和强大的服务质量设置。

CoreDX DDS是一种专为现代嵌入式系统设计的DDS标准兼容实现体。CoreDX DDS专注于提高通信性能,充分利用先进的网络协议,提供了更强的吞吐量和更短的服务延迟。

CoreDX DDS——支持DDS协议开放的架构

集成CoreDX DDS框架到应用系统中可以充分利用开放架构的优势:模块化,互操作性和可扩展性。

  • 发布者和订阅者之间的松耦合性
  • 支持发布者和订阅者灵活的动态加入和退出
  • 数据与中间件实现细节的无关性
  • 应用与底层通信机制的相互隔离
  • 将应用发布者从开发和维护复杂的通信软件的重担中解救出来

CoreDX DDS特点

互操作性:

  • 通过实时发布订阅(RTPS)连接协议保证多厂商之间的互操作性

轻量级:

  • 完整C库文件小于500KB

操作系统服务无关性:

  • CoreDX DDS不额外产生任何操作系统服务或者后台程序
  • 便捷灵活的安装、部署和维护方式
  • 消除了单点失效问题

动态发现:

  • 本地和远程主题,数据读和数据写的动态发现机制
  • 多厂商之间的互操作性

强大的数据工具:

  • 数据过滤—基于内容和时间戳
  • 用户自定义的数据类型
  • 智能的DDS IDL编译器,适用于基本和结构化的数据类型

事件通知:

  • 通过条件/等待集实现的事件同步通知机制
  • 通过监听(回调方式)实现的事件异步通知机制

 

产品技术支持:

  • 及时的电话、网络技术支持
  • 丰富完备的培训课程
  • 灵活的授权模式

CoreDX DDS——支持的服务质量

USER_DATA, GROUP_DATA,  TOPIC_DATA         支持用户自定义的Qos数据

DURABILITY: VOLITILE, TRANSIENT_LOCAL      支持数据读的延迟加入

DEADLINE                                   描述关键数据的更新周期

LATENCY_BUDGET                             性能调校参数

LIVELINESS                                 实体生存周期控制参数

TINE_BASED_FILTER                          描述数据更新频率的最大期待值

PARTITION                                  隔离数据和实体的数据分区设置参数

RELIABILITY: RELIABLE, BEST_EFFORT         数据传输可靠性策略

HISTORY                                    数据保存策略

RESOURCE_LIMITS                            数据资源配置策略

ENTITY_FACTORY                             创建实体的自动化配置

WRITER_DATA_LIFECYCLE                      描述是否自动处理被取消注册的数据实例

 

CoreDX DDS说明

操作系统:Linux/Windows/Solaris/QNX/VxWorks/Android/iOS/Reworks

硬件平台:x86-32/x86-64/UltraSPARC/PowerPC/MIPS/ARM/龙芯3A                   

开发语言:C/C#/Java                      

传输协议:RTPS/多播/点播