《DDS中间件技术方案》

分享一篇相对完整的DDS中间件技术方案。
原文连接:http://120.53.234.213:52135/

目录
系统概述
引用文档
术语定义及说明
设计目标及原则
系统功能需求
软件方案设计
关键技术
总结

1 系统概述

DDS 通信中间件项目完成了 DDS 通信中间件、DDS 数据监控工具的开发及测试验证环境的软、硬件平台构建工作。基于以上工作的开展,甲方可在本项目最终研发成果支撑下面向雷达系统、声呐系统、气象系统、星载系统及无人机等领域的数据通信进行高效的开发。

为满足 DDS 通信中间件对于软件的灵活性、开放性和易升级、易扩展、易移植、可重构的需求,使底层软件与上层应用软件相对隔离,实现软件设计模块化,保证程序的可靠性、提供未来软件的可维护性和可移植性,并提高开发效率、简化开发过程、节约开发成本,需开发基于模块化分层架构理念的 DDS 通信中间件,实现以下功能:

  1. 应用软件与操作系统以及硬件系统物理拓扑结构之间的隔离;
  2. 为应用软件提供消息管理、策略配置、数据监控与记录等功能;
  3. 提供 DDS 数据监控工具,用于监控并展示整个网络环境中 DDS 应用的配置属性、关联状态以及数据信息。

2 引用文档

《Data Distribution Service for Real-time Systems Version 1.2》

3 术语定义及说明

  • DCPS:以数据为中心的发布 - 订阅模型(Data Centric Publish Subscribe)
  • QoS:服务质量策略
  • RTPS:实时发布 - 订阅协议(Real-Time Publish-Subscribe)
  • 节点:每一个使用 DDS 中间件的应用程序为一个节点

4 设计目标及原则

4.1 设计目标

中间件是介于应用程序和操作系统之间的软件层,它提供了编程抽象以及对底层网络、硬件、操作系统和编程语言异构性的屏蔽,同时还为服务器和分布式应用开发人员提供一致性的计算模型。

网络中间件将应用程序与底层计算机体系结构、操作系统和网络堆栈的细节隔离开来,能够很好地完成异构分布系统的集成、互操作,允许应用程序发送和接收信息,而无需使用底层协议(如套接字、TCP/UDP/IP 等)进行编程,从而简化分布式系统开发。

基于上述需求,结合研发团队在 DDS 通信中间件方面的技术积累,DDS 通信中间件将实现以下目标:

  • 提供平台适配服务,包括操作系统层(OSL)和模块支持层(MSL)等适配功能
  • 提供网络适配服务,为用户应用软件屏蔽物理网络平台
  • 提供路由管理服务,自动判断通信通道并实现节点互联
  • 提供消息管理服务,支持发布 - 订阅消息传输机制与多种 QoS 策略
  • 提供节点检测服务,支持节点上线、离线发现机制

4.2 实施原则

  1. 遵循 OMG 提出的基于主题的发布 - 订阅数据模型标准
  2. 向下屏蔽硬件平台、操作系统及通信协议,向上提供 OMG 标准 DDS 接口
  3. 可适配 Windows、Linux、VxWorks 等多种操作系统

5 系统功能需求

5.1 DDS 通信中间件

  • 提供平台适配服务
  • 提供网络适配服务
  • 提供路由管理服务
  • 提供消息管理服务
  • 提供节点检测服务

5.2 DDS 数据监控工具

提供可视化图形界面,获取 DDS 运行状态、联通关系、配置属性,并实时更新各节点信息。

6 软件方案设计

6.1 DDS 通信中间件

6.1.1 体系架构

DDS 通信中间件自底向上包括:

  • 异构资源屏蔽层
  • RTPS 互联互通层
  • 发布订阅逻辑层
  • 用户接口层

[图片上传中...(image-71d960-1776304870655-18)] [图片上传中...(image-303b68-1776304870655-37)]

DDS 中间件采用发布 / 订阅机制:

[图片上传中...(image-a84b5e-1776304870655-17)] [图片上传中...(image-91adf1-1776304870655-36)]

6.1.2 功能模块

6.1.2.1 用户接口层

包含五大模块:

  • 基础模块
  • 主题模块
  • 发布模块
  • 订阅模块
  • Domain 模块

[图片上传中...(image-42926e-1776304870655-16)] [图片上传中...(image-3e52ad-1776304870655-35)]

6.1.2.2 发布订阅逻辑层

发布 / 订阅数据模型

DDS 实现全局数据空间,按<数据类型-主题>组织数据,完成松耦合分发。

[图片上传中...(image-dc7c3a-1776304870655-15)] [图片上传中...(image-c319d1-1776304870655-34)]

QoS 抽象

QoS 策略用于控制数据生命周期、资源占用与传输行为。

[图片上传中...(image-dd87f2-1776304870655-14)] [图片上传中...(image-45a3bd-1776304870655-33)]

6.1.2.3 RTPS 互联互通层

RTPS 层包含四大模块:

  1. 结构定义模块
  2. 报文定义模块
  3. 行为模块
  4. 发现模块

[图片上传中...(image-62e190-1776304870655-13)] [图片上传中...(image-61696-1776304870655-32)]

6.1.2.4 异构资源屏蔽层

  • 操作系统资源屏蔽模块:线程、同步、内存、IO 封装
  • 网络资源屏蔽模块:以太网、RapidIO、FC 封装

[图片上传中...(image-c0fefa-1776304870655-12)] [图片上传中...(image-a84352-1776304870655-31)]

6.2 DDS 数据监控工具

6.2.1 节点信息交互模块

获取 DDS 节点 Monitor 报文,解析后供界面展示。

6.2.2 用户界面模块

  • 资源监控列表
  • 属性面板
  • 发布 - 订阅数据显示
  • 发布订阅关系图

[图片上传中...(image-962b4d-1776304870655-11)] [图片上传中...(image-dff9e8-1776304870655-30)]

[图片上传中...(image-750f6-1776304870655-10)] [图片上传中...(image-5dbee8-1776304870655-29)]

[图片上传中...(image-d505dc-1776304870655-9)] [图片上传中...(image-9f2aa9-1776304870655-28)]

[图片上传中...(image-e39b8a-1776304870655-8)] [图片上传中...(image-5cefdf-1776304870655-27)]

[图片上传中...(image-f0a778-1776304870655-7)] [图片上传中...(image-845154-1776304870655-26)]

[图片上传中...(image-96e85e-1776304870655-6)] [图片上传中...(image-cd8431-1776304870655-25)]

[图片上传中...(image-130b81-1776304870655-5)] [图片上传中...(image-7c3f0f-1776304870655-24)]

[图片上传中...(image-9d28cf-1776304870655-4)] [图片上传中...(image-2e0338-1776304870655-23)]

6.3 DDS 测试验证环境

6.3.1 以太网环境

4 台 PC 机,Windows 10,i7-7700,≥16GB 内存。

[图片上传中...(image-c46f59-1776304870655-3)] [图片上传中...(image-797c16-1776304870655-22)]

6.3.2 RapidIO 环境

6 台 PC 机,Windows 7,i7-5700,≥16GB 内存,底层使用 RapidIO 驱动。

6.3.3 653 系统仿真环境

Windows 平台下模拟 653 分区操作系统运行环境,提供分区调度、APEX 接口、分区间通信等机制。

7 关键技术

7.1 DCPS 模型

DCPS 是 DDS 核心,以数据为中心,实现松耦合发布 / 订阅。

[图片上传中...(image-fc29bc-1776304870655-2)] [图片上传中...(image-387f5-1776304870655-21)]

7.1.1 成员说明

  1. Domain:域,隔离通信环境
  2. DomainParticipant:域参与者,应用入口
  3. Topic:主题,匹配发布与订阅
  4. Publisher:发布者
  5. DataWriter:数据写者
  6. Subscriber:订阅者
  7. DataReader:数据读者

7.1.2 发布订阅流程

  1. 初始化 DCPS 信息仓库
  2. 注册主题、配置 QoS,匹配后建立连接
  3. DataWriter 发布数据,DataReader 接收数据

[图片上传中...(image-54f977-1776304870655-1)] [图片上传中...(image-5b134e-1776304870655-20)]

7.2 RTPS 协议

RTPS 是 DDS 互操作协议,基于 UDP 实现可靠发布 - 订阅通信。

包含四大模块:

  • 结构模块
  • 消息模块
  • 行为模块
  • 发现模块

[图片上传中...(image-d6d107-1776304870655-0)] [图片上传中...(image-d82598-1776304870655-19)]

7.3 QoS 服务质量

关键 QoS 策略:

  • DURABILITY(持久性)
  • PRESENTATION(呈现)
  • DEADLINE(截止时间)
  • OWNERSHIP(所有权)
  • LIVELINESS(存活检测)
  • TIME_BASED_FILTER(时间过滤)
  • PARTITION(分区)
  • RELIABILITY(可靠性)
  • DESTINATION_ORDER(数据排序)
  • HISTORY(历史缓存)
  • RESOURCE_LIMITS(资源限制)

8 总结

项目技术方案满足功能需求,IASE 中间件可提供平台适配、网络适配、路由管理、消息管理、节点管理、监控管理等完整能力;配置数据管理工具满足 IMA 系统软件集成的构型、路由、数据、网络等配置生成与管理需求。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容