RTI DDS QoS参数详解:可靠性和最佳努力

需积分: 36 5 下载量 157 浏览量 更新于2024-08-19 收藏 1.33MB PPT 举报
本文主要介绍了DDS(Data Distribution Service)中的关键词Keys和质量-of-service (QoS) 参数,特别是在RTI DDS(Real-Time Innovations Data Distribution Service)中的应用。Keys是用于区分不同对象(实例)的关键标识,而QoS参数则决定了数据的发布和订阅行为。 在DDS中,一个主题(Topic)可以包含多个对象(实例)的数据,这些对象通过关键字(Keys)来区分。例如,描述中提到的"Id"就是一种Keys,它用来标识不同的飞行器(如osprey101、piper17和fortress22)。每个对象的数据包括特定的字段(如Long和Lat),这些字段的值组合起来构成了对象的唯一标识。 QoS参数是DDS通信的核心组成部分,它们按照五类进行组织: 1. **挥发性(Volatility)**:这涉及到数据的更新频率和变化速度。 2. **持久性(Durability)**:数据应该在系统中存在多久。 3. **历史(History)**:应保留多少过去的样本。 4. **生命周期(Lifespan)**:数据样本的有效时间。 5. **写者/读者数据生命周期(Writer/Reader data lifecycle)**:何时缓存数据,以及如何缓存。 QoS参数必须在发布者(Publisher)和订阅者(Subscriber)两端都正确设置,才能保证数据的正确传输。只有设置了正确的QoS,订阅者才能接收到数据。例如,如果设置QoS的可靠性(Reliability)为可靠(Reliable),数据读者将确保接收到来自写者历史的所有数据更新,这对于命令、事件等非周期性数据很有用。而如果设置为最佳努力(Best_Effort),则不能保证所有数据更新都会被接收,通常适用于只关心最新值的周期性数据。 **可靠性策略(Reliability QoS Policy)**:定义了数据读者请求的或数据写者提供的可靠性级别。级别有BEST_EFFORT和RELIABLE,后者提供更高的可靠性。数据写者提供的级别隐含包含了所有低于该级别的可靠性。 此外,可靠性策略还依赖于历史(History)和资源限制(Resource Limits)策略,这些策略共同决定了DDS系统如何处理和存储数据样本,以满足不同应用的需求。正确配置这些QoS参数对于实现高效、可靠的实时数据交换至关重要。