OpenDDS开发者指南:DCPS配置详解与服务质量

需积分: 35 28 下载量 73 浏览量 更新于2024-08-07 收藏 2.45MB PDF 举报
"这份文档是OpenDDS开发者指南的第3.12版本,由ObjectComputing,Inc.(OCI)支持。它详细介绍了OpenDDS(Open Data Distribution Service)的配置选项,以及如何使用DCPS(Data-Centric Publish-Subscribe)模型进行数据交换。" OpenDDS是一种实现DDS(Data Distribution Service)标准的开源软件,用于分布式系统中的实时数据交换。DDS提供了一种数据为中心的发布-订阅模型,使得不同组件之间能够高效地共享数据。 在配置方面,文档中提到了多个关键选项: 1. **DCPSDefaultAddress**:用于指定传输实例的默认本地地址。只有当DCPSDefaultAddress设置为非空且传输中未指定local_address时,这个默认值才会被应用。 2. **DCPSDefaultDiscovery**:定义了默认的发现配置,可以是默认的仓库、RTPS或静态方式。这决定了数据发布者和订阅者如何找到彼此。 3. **DCPSGlobalTransportConfig**:指定了全局传输配置的名称,用于那些未明确指定传输配置的实体。 4. **DCPSInfoRepo**:提供了DCPS信息库的引用,可以是完整的CORBA IOR或简单的主机:端口字符串。 5. **DCPSPoolSize** 和 **DCPSPoolGranularity**:这两个选项是关于内存池管理的,前者设定内存池的大小,后者设定内存池的分配粒度。 6. **DCPSPublisherContentFilter**:控制内容过滤主题的策略,启用后,发布者可以过滤掉对用户无用的数据样本。 7. **DCPSPersistentDataDir**:定义了持久数据的存储路径,如果目录不存在,OpenDDS会自动创建。 8. **DCPSPendingTimeout**:设定数据写入器在等待样本发送完毕而阻塞的最大时间。 9. **DCPSPersistentDataDir**:用于设置持久化数据的存储路径。 10. **DCPSTransportDebugLevel**:调整传输层的日志级别,从0到5,数值越高,日志越详细。 此外,文档还提到了服务质量(QoS)的相关策略,如: - **Liveliness**:设置发布者必须保持活动的周期,以避免订阅者认为其已经失效。 - **Reliability**:定义了数据传递的可靠性级别,可以是可靠或最佳努力。 - **Durability**:涉及数据的生存时间,如临时或持久化。 - **History**:定义了系统保存数据的历史深度。 - **Deadline** 和 **Lifespan**:分别限制了数据的最晚发送时间和过期时间。 通过这些配置和QoS策略,开发者可以精细地控制OpenDDS的性能和行为,以适应不同应用场景的需求。同时,文档还涵盖了如何定义数据类型、构建DDS应用程序、使用条件和监听器等内容,对于初学者和高级开发者都是宝贵的学习资源。