这段文本描述了数据传输中的所有权QoS(Quality of Service,服务质量)设置,特别是在使用Fast DDS(Data Distribution Service)时的配置选项。
关键要点解释:
所有权QoS类型:
- 使用
-o
或--ownership
参数可以将相应的端点配置为 EXCLUSIVE(独占)所有权QoS类型。 - 如果不提供此参数,则默认为 SHARED(共享)所有权QoS类型。
- 使用
SHARED vs EXCLUSIVE:
- SHARED:允许多个数据写入者同时更新同一个数据实例。这意味着任何符合条件的数据写入者都可以对该数据进行修改。
- EXCLUSIVE:则强制要求每个数据实例只能被一个数据写入者更新。这个所有权是动态的,能够根据存活的数据写入者之间的最高所有权QoS强度进行变化。
所有权强度的设置:
- 在发布者应用程序中,可以使用参数
--ownership-strength <number>
来动态更改当前拥有者的数据写入强度。
- 在发布者应用程序中,可以使用参数
兼容性规则:
- 数据读者和数据写入者之间存在兼容性规则,以确保预期行为。以下是兼容性矩阵:
- 当数据读者的所有权QoS类型为 SHARED 时,与 SHARED 类型的数据写入者兼容,但与 EXCLUSIVE 类型的不兼容。
- 当数据读者的所有权QoS类型为 EXCLUSIVE 时,仅与 EXCLUSIVE 类型的数据写入者兼容,而与 SHARED 类型的不兼容。
- 数据读者和数据写入者之间存在兼容性规则,以确保预期行为。以下是兼容性矩阵:
兼容性矩阵总结:
数据读者 所有权 QoS | 数据写入者 所有权 QoS | 结果 |
---|---|---|
Shared | Shared | ✔️ |
Shared | Exclusive | ✖️ |
Exclusive | Shared | ✖️ |
Exclusive | Exclusive | ✔️ |
这个表格简洁地展示了在不同组合下数据读写操作是否能够正常工作。
内容由零声教学AI助手提供,问题来源于学员提问