【问题标题】:Difference between DDS and RTPSDDS 和 RTPS 的区别
【发布时间】:2020-04-04 07:40:48
【问题描述】:

我正在为我的图像处理管道寻找一个框架。 在我的搜索过程中,我看到很多 DDS 和 RTPS 术语在这里和那里可以互换使用。

它们是一样的吗?如果是,那么为什么有两个不同的术语,如果不是,那么有什么区别?

【问题讨论】:

    标签: publish-subscribe data-distribution-service


    【解决方案1】:

    它们是一样的吗?

    DDS 和 RTPS 不是一回事。

    如果没有,那有什么区别?

    简而言之,RTPS 是一种有线协议,DDS 系统经常利用它来实现其进程间(网络)通信。您可以将它们视为堆栈中的两层,DDS 位于 RTPS 之上。

    RTPS 代表实时发布订阅。它现在更正式地称为OMG DDSI-RTPS,其中 DDSI 代表 DDS 互操作性。它由对象管理组 (OMG) 标准化,旨在为 DDS 实现提供互操作性有线协议。

    DDS 代表数据分发服务。它是一个基于发布-订阅范式的以数据为中心的连接框架。 OMG DDS 规范描述了 API 以及 DDS 基础设施的预期行为。它为用户提供高级数据管理功能,包括综合类型系统、多种通信模式和不同类型的服务质量,从而简化了构建分布式(实时)系统的任务。

    虽然不是必需的,但 DDS 实现在后台利用 DDSI-RTPS 有线协议来实现所需的进程间(网络)通信是很常见的。 DDS 用户不必了解 RTPS 的内部工作原理,尽管可以通过使用带有 RTPS 解析器的 Wireshark 来了解一下。如果要求包括在单个系统中组合使用不同 DDS 实现构建的应用程序,那么 RTPS 支持是必须的。

    也可以将 RTPS 本身用作协议,而无需在其之上实现完整的 DDS,也无需使用标准化的 API。这并没有提供我前面提到的许多 DDS 功能,而只提供了较低级别的发布-订阅功能。

    【讨论】:

    • DDS = 数据分发服务
    • 糟糕,谢谢@mherzog——我在答案中添加了这个。
    猜你喜欢
    • 1970-01-01
    • 2016-07-18
    • 1970-01-01
    • 2018-12-13
    • 1970-01-01
    • 2020-09-21
    • 1970-01-01
    • 2013-08-07
    • 2011-10-20
    相关资源
    最近更新 更多