ZBLOG

10.11.5.1. HistoryQoS It controls the behavior of Fast DDS when the value of an instance changes before it is finally communicated to some of its existing DataReaders. Please refer to HistoryQosPolicyKind for further information on HistoryQoS. N...

10.11.5.1 HistoryQoS

HistoryQoS 是 Fast DDS 中的一个重要配置,控制当实例的值发生变化时如何处理这些变化,以及最终如何将数据传递给现有的 DataReaders。它决定了在存在多个样本时应该如何保留和丢弃旧的值。

属性说明:

  1. :

    • 描述:指定历史策略,定义 Fast DDS 如何管理实例的样本。

    • 可选值:

      • KEEP_LAST:
           - 解释:Fast DDS 将只尝试保留最新的实例值,并丢弃较旧的值。适合于对时间敏感且只需要最新状态信息的场景。
        
      • KEEP_ALL:
           - 解释:Fast DDS 尝试维护并交付该实例的所有值给现有的 DataReaders。这意味着无论何时实例发生更改,所有以往的数据都会被保存并能够提供给订阅者。
        
    • 默认值: KEEP_LAST。这意味着如果未明确指定,系统会优先保留最新样本,并删除过期数据。

  2. :

    • 描述:这是与 ResourceLimitsQos<max_samples_per_instance> 元素相一致的重要参数,用于指定要保留的最大样本数量。

    • 类型:uint32_t(无符号整型)。

    • 限制条件:

      • 必须满足 <depth> <= <max_samples_per_instance>,即深度(待保留的数据量)不能超过每个实例允许的最大样本数。
    • 默认情况下,深度设置为 1,这意味着仅保留最近的一次更新,如果使用 KEEP_LAST 策略,则只有最后一次的信息会被存储。

应用场景:

  • 使用 KEEP_LAST 时非常适用于实时应用程序,例如传感器数据读取或实时监控,这些场景下通常只关心最新的数据。
  • 使用 KEEP_ALL 则适合需要完整历史记录以进行后续分析或回放功能的数据流,例如日志记录系统或金融交易监控系统。在这种情况下,需要合理配置 <depth> 和相关资源限制,以确保系统不会因存储过多数据而导致性能问题。

通过正确地配置这些参数,可以有效地优化系统性能、降低延迟以及提升数据处理能力,使其更好地符合特定应用需求。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=7389

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?