OpenDDS 与 RTI Connext DDS:选择正确的数据分发服务解决方案
OMG 数据分发服务(DDS)标准是一个开放标准,意味着它公开可用,并提供规范性参考,确保各实现间的一致性、可移植性和互操作性。与开源软件不同,开源软件分发源代码,开放标准可通过多种方式实现,包括 OCI(Object Computing Inc.)管理的开源实现 OpenDDS。商业发行版,最著名的是 RTI 的 Connext® DDS,也遵循同一标准,但提供额外功能、支持和经验证的可靠性。
在开源 DDS 解决方案与商业解决方案之间选择时,请考虑您所需的特定能力、所需支持级别以及应用的关键性。
开源 DDS 核心功能
开源 DDS 通常提供完整的 DDS API 实现,为大多数项目奠定坚实基础。然而,商业 DDS 如 RTI Connext 提供更广泛的功能集,这对任务关键型或高度专业化的应用可能至关重要。
RTI Connext 提供的标准 OMG DDS 能力(开源中不常见)
- 多语言支持 – C++、C++03、C++11、Java、Ada、C# 和 .NET(OpenDDS 仅提供传统 C++)。
- Presentation QoS – 控制订阅端样本到达顺序。
- 写入端内容过滤 – 减少接收端带宽和 CPU 使用。
- 可扩展类型定义 – 灵活的数据类型演进,不牺牲可移植性或表达力。
- 请求/回复范式 – OMG 标准定义的消息模式。
- XML QoS 配置 – 通过 XML 文件指定 QoS 设置。
- 跨主题的连贯数据 – 通过连贯集和呈现范围实现。
RTI Connext 的增强(非标准)功能
- 交付保证 – 应用级确认、用于冗余路由的虚拟 GUID、持久订阅和写入器、协作数据写入器。
- 数据包批处理 – 合并小包以提高吞吐量。
- 历史数据查询 – 从主题检索过去数据。
- IP 移动性 – 动态添加、移除和修改 IP 连接。
核心 DDS 之外的应用组件与服务
商业 DDS 通常捆绑简化与外部系统集成并加速开发的服务:
- 路由服务 – 跨网络转发和转换数据。
- 记录与回放服务 – 捕获高速数据以供实时或仿真系统回放。
- 数据库集成服务 – 将 DDS 数据持久化到关系数据库并通过 DDS 监控变更。
- Web 集成服务 – 通过 HTTP 暴露 DDS 数据供浏览器应用使用。
- 持久化服务 – 为晚加入应用维护数据可用性。
- DDS 连接器 – Python、JavaScript 和 Lua 的脚本接口。
- 系统设计器 – DDS 系统的图形化配置。
- 原型工具 – DDS 部署的快速原型、测试和演练。
- 云发现服务 – 在云环境中部署 DDS。
DDS 实施工具
强大的工具对于调试复杂分布式系统至关重要。RTI Connext 提供全面套件:
- Admin Console – 可视化参与者、主题、写入器、读取器、QoS 设置和数据类型;自动检测连接问题。
- Monitor – 深入洞察 DDS 实体、流量和内部状态。
- rtiddsspy – 命令行工具,检查发布和订阅的数据。
- Excel Add-in – 直接从 Microsoft Excel 读写 DDS 数据。
- 堆分析工具 – 捕获 DDS 堆快照并识别内存泄漏。
DDS 安全性
开源 DDS 通常缺乏对 DDS 安全标准、TLS 或 DTLS 传输的内置支持。RTI Connext DDS 自 2015 年 Secure beta 版起实现了 DDS 安全标准,并提供包含 TLS/DTLS 的安全 WAN 传输。详情请参阅 RTI Connext DDS Secure 文档。
认证
认证对受监管行业至关重要。RTI Connext DDS Cert,DDS API 的认证子集,已获得 DO178C Level A 认证。请参阅 Connext DDS Cert 概述了解完整规格。
稳健性
现场性能是终极基准。Connext DDS 已部署于 1,000 多个项目,在全球 100 万+ 设备上运行。著名用例包括:
- 大古力大坝 – 7×24 运行,300,000 数据点。
- NASA KSC 发射控制 – 300,000 点,400,000 消息/秒。
- 雷神“朱姆沃尔特”驱逐舰 – 1,500 DDS 应用,1,000 万可发布对。
- 上海浦东机场地面管制 – 自 2015 年起在东南亚区域机场标准化部署。
RTI 在测试上投入巨大,拥有广泛的自动化套件、严格培训和行业最大的 IIoT 测试实验室,配备 240 核规模测试、32 颗 Xeon CPU、128 块微型阵列板、近 100 种不同计算机类型。
平台支持
确保目标架构、操作系统和编译器受支持。Connext DDS 覆盖业内最广泛的平台范围。若平台不受支持,开源 DDS 可按提供的说明从源码重建。不过,重建库需仔细验证以匹配商业发布的严谨性。
成本
开源 DDS 初期可能看似更便宜,但隐性成本存在:缺失功能、额外开发工作量、依赖社区或第三方支持。商业 DDS 提供清晰的成本结构和专属支持,可缩短上市时间并降低长期维护费用。
上市时间
速度至关重要。商业 DDS 提供更完整的功能集、强大工具和经验证的可靠性,往往缩短开发周期。拥有 50 多名专注于 Connext DDS 开发的工程师及额外支持团队,延迟风险被最小化。
DDS 支持
支持质量对任务关键应用至关重要。RTI 通过美国和欧洲中心提供 7×24 小时支持,工程师专精于分布式实时嵌入式系统。其升级策略、直接访问开发资源、丰富的在线文档——包括用户组文章、教学视频、示例代码和培训——确保快速解决问题。
RTI Connext DDS 入门
在选择实现前明确定义需求。考虑以下问题:
- 您偏好的编程语言是否受支持?
- 是否需要与脚本语言集成?
- 是否需要云或关系数据库连接?
- 未来安全或认证是否是关注点?
- 是否需要经过严格测试和现场部署的版本?
如果您的产品要求快速交付、稳如磐石的性能、全面支持和面向未来的功能集,RTI Connext DDS 是合乎逻辑的选择。
物联网技术
- DeepLabCut:开源AI精准追踪动物运动体态,极少训练数据即达人级精度
- RTI 严格软件测试:确保 Connext DDS 跨平台可靠性
- ROS2 Bouncy Bolson 免费捆绑 RTI Connext DDS:提升连接与诊断
- RTI Perftest 2.4 发布:Connext DDS 性能测试全面升级
- 拨开迷雾:在工业物联网革命中导航标准乱局
- 开源术语入门指南
- 开源如何驱动物联网创新
- AT&T与Tech Mahindra推出Acumos:面向快速部署的开源AI平台
- 保障物联网开源软件安全:缓解软件风险
- 开源与厂商支持 IoT 开发工具:为企业选型正确技术栈
- 为何开源驱动边缘创新——必读电子书
- 开源赋能物联网与边缘计算崛起