分享一篇相对完整的DDS中间件技术方案。
原文连接:http://120.53.234.213:52135/
目录
系统概述
引用文档
术语定义及说明
设计目标及原则
系统功能需求
软件方案设计
关键技术
总结
1 系统概述
DDS 通信中间件项目完成了 DDS 通信中间件、DDS 数据监控工具的开发及测试验证环境的软、硬件平台构建工作。基于以上工作的开展,甲方可在本项目最终研发成果支撑下面向雷达系统、声呐系统、气象系统、星载系统及无人机等领域的数据通信进行高效的开发。
为满足 DDS 通信中间件对于软件的灵活性、开放性和易升级、易扩展、易移植、可重构的需求,使底层软件与上层应用软件相对隔离,实现软件设计模块化,保证程序的可靠性、提供未来软件的可维护性和可移植性,并提高开发效率、简化开发过程、节约开发成本,需开发基于模块化分层架构理念的 DDS 通信中间件,实现以下功能:
- 应用软件与操作系统以及硬件系统物理拓扑结构之间的隔离;
- 为应用软件提供消息管理、策略配置、数据监控与记录等功能;
- 提供 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 实施原则
- 遵循 OMG 提出的基于主题的发布 - 订阅数据模型标准
- 向下屏蔽硬件平台、操作系统及通信协议,向上提供 OMG 标准 DDS 接口
- 可适配 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 层包含四大模块:
- 结构定义模块
- 报文定义模块
- 行为模块
- 发现模块
[图片上传中...(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 成员说明
- Domain:域,隔离通信环境
- DomainParticipant:域参与者,应用入口
- Topic:主题,匹配发布与订阅
- Publisher:发布者
- DataWriter:数据写者
- Subscriber:订阅者
- DataReader:数据读者
7.1.2 发布订阅流程
- 初始化 DCPS 信息仓库
- 注册主题、配置 QoS,匹配后建立连接
- 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 系统软件集成的构型、路由、数据、网络等配置生成与管理需求。