DDS QoS - TIME_BASED_FILTER

https://download.csdn.net/download/eidolon_foot/12568768

12. TIME_BASED_FILTER

OpenDDS Developer's Guide(OpenDDS Version 3.14)
The TIME_BASED_FILTER QoS policy controls how often a data reader may be interested in changes in values to a data instance. Here is the IDL for the Time Based Filter QoS:
TIME_BASED_FILTER QoS策略控制数据读取器可能对数据实例的值更改感兴趣的频率。 这是基于时间的过滤器QoS的IDL:
struct TimeBasedFilterQosPolicy {
Duration_t minimum_separation;
};
An interval ( minimum_separation ) may be specified on the data reader. This interval defines a minimum delay between instance value changes; this permits the data reader to throttle changes without affecting the state of the associated data writer. By default, minimum_separation is zero, which indicates that no data is filtered. This QoS policy does not conserve bandwidth as instance value changes are still sent to the subscriber process. It only affects which samples are made available via the data reader.
可以在数据读取器上指定一个间隔(minimum_separation)。 此间隔定义实例值更改之间的最小延迟; 这允许数据读取器在不影响相关数据写入器状态的情况下限制更改。 默认情况下,minimum_separation为零,表示没有数据被过滤。 此QoS策略不节省带宽,因为实例值更改仍被发送到订户进程。 它仅影响通过数据读取器提供哪些样本。
Data Distribution Service Version 1.4( formal/2015-04-10)
This policy allows a DataReader to indicate that it does not necessarily want to see all values of each instance published under the Topic . Rather, it wants to see at most one change every minimum_separation period.
通过此策略,DataReader可以指示它不一定要查看在“主题”下发布的每个实例的所有值。 相反,它希望每个minimum_separation周期最多看到一个更改。
The TIME_BASED_FILTER applies to each instance separately, that is, the constraint is that the DataReader does not want to see more than one sample of each instance per minimum_separation period.
TIME_BASED_FILTER分别应用于每个实例,也就是说,约束条件是DataReader不想在每个minimum_separation周期内看到每个实例的多个样本。
This setting allows a DataReader to further decouple itself from the DataWriter objects. It can be used to protect applications that are running on a heterogeneous network where some nodes are capable of generating data much faster than others can consume it. It also accommodates the fact that for fast-changing data different subscribers may have different requirements as to how frequently they need to be notified of the most current values.
此设置允许DataReader进一步将自身与DataWriter对象解耦。 它可用于保护在异构网络上运行的应用程序,在异构网络中,某些节点能够比其他节点消耗数据的速度快得多。 它还适应以下事实:对于快速变化的数据,不同的订户可能有不同的要求,即需要多长时间通知他们最新的值。
The setting of a TIME_BASED_FILTER, that is, the selection of a minimum_separation with a value greater than zero is compatible with all settings of the HISTORY and RELIABILITY QoS. The TIME_BASED_FILTER specifies the samples that are of interest to the DataReader . The HISTORY and RELIABILITY QoS affect the behavior of the middleware with respect to the samples that have been determined to be of interest to the DataReader , that is, they apply after the TIME_BASED_FILTER has been applied.
TIME_BASED_FILTER的设置(即,选择大于零的minimum_separation)与“历史记录”和“可靠性QoS”的所有设置兼容。 TIME_BASED_FILTER指定DataReader感兴趣的样本。 历史和可靠性QoS会影响中间件相对于已确定为DataReader感兴趣的样本的行为,也就是说,它们在应用TIME_BASED_FILTER之后才应用。
In the case where the reliability QoS kind is RELIABLE then in steady-state, defined as the situation where the DataWriter does not write new samples for a period “long” compared to the minimum_separation, the system should guarantee delivery the last sample to the DataReader .
如果可靠性QoS类型为RELIABLE,然后处于稳定状态(定义为DataWriter与minimum_separation相比,DataWriter长时间不写新样本的情况),系统应保证将最后一个样本交付给DataReader 。
The setting of the TIME_BASED_FILTER minimum_separation must be consistent with the DEADLINE period . For these two QoS policies to be consistent they must verify that " period >= minimum_separation ." An attempt to set these policies in an inconsistent manner when an entity is created of via a set_qos operation will cause the operation to fail.
TIME_BASED_FILTER minimum_separation的设置必须与DEADLINE周期一致。 为了使这两个QoS策略保持一致,它们必须验证“ period> = minimum_separation”。 通过set_qos操作创建实体时,尝试以不一致的方式设置这些策略将导致操作失败。

用ChatGPT

《OpenDDS Developer's Guide》:

时间基过滤(TIME_BASED_FILTER)QoS策略控制数据读取器对数据实例值变化感兴趣的频率。以下是时间基过滤QoS的IDL定义:

struct TimeBasedFilterQosPolicy {
    Duration_t minimum_separation;
};

在数据读取器上可以指定一个间隔(minimum_separation)。这个间隔定义了实例值变化之间的最小延迟;这允许数据读取器调节变化的频率,而不影响关联数据写入器的状态。默认情况下,minimum_separation为零,表示没有数据被过滤。这个QoS策略并不节省带宽,因为实例值变化仍然被发送到订阅者进程。它只影响通过数据读取器提供哪些样本。
中文翻译:
时间基过滤(TIME_BASED_FILTER)QoS策略用于控制数据读取器可能对数据实例值的变化感兴趣的频率。以下是时间基过滤QoS的接口定义语言(IDL)结构:

struct TimeBasedFilterQosPolicy {
    Duration_t minimum_separation;
};

可以在数据读取器上指定一个时间间隔(minimum_separation)。这个间隔定义了两次实例值变化之间的最小时间延迟;这使得数据读取器能够节流变化的频率,而不会影响到关联数据写入器的状态。默认情况下,minimum_separation的值为零,这表示不进行数据过滤。这个QoS策略不会节省带宽,因为实例值的变化仍然会被发送到订阅者进程。它仅影响数据读取器使得哪些样本变得可用。
讲解:
时间基过滤QoS策略是一种用于控制数据通信频率的策略,在DDS(Data Distribution Service)中,这被用以调控数据读取端应对数据更新的频率。`minimum_separation` 时间间隔的设置,允许数据读取器在保持对实时数据更新的需求的同时,减少因频繁更新带来的处理压力。如果所有的数据更新都需要由数据读取器处理,可能会导致系统资源过载,尤其是在数据更新非常频繁的环境中。通过设置该QoS策略,可以让读取器按照应用需求和处理能力来节流数据更新的处理。当然,由于更新的数据依然会发送到订阅端,所以这并不会减少网络数据的传输量,只是减少了读取器实际处理的数据量。

《Data Distribution Service (DDS)》Version 1.4 :

这段内容是关于基于时间的过滤(TIME_BASED_FILTER)质量服务(QoS)策略的说明。现将其翻译为中文,并附带解释:
2.2.3.12 基于时间的过滤(TIME_BASED_FILTER)
该策略允许一个DataReader表明它不一定想要看到其订阅主题下每个实例发布的全部值。相反,它希望每个minimum_separation时间段至多看到一次变化。
基于时间的过滤(TIME_BASED_FILTER)分别应用于每个实例,也就是说,约束条件是DataReader不想在每个minimum_separation时间段内看到每个实例的多于一个样本。
这个设置允许DataReader从DataWriter对象进一步解耦。它可以用来保护运行于异构网络上的应用程序,其中一些节点产生数据的速度可能远远超出其他节点的数据消费能力。它也适应了这样一个事实,对于快速变化的数据,不同的订阅者可能对于他们需要多频繁地被通知最新值有不同的需求。
TIME_BASED_FILTER的设置,即选择一个大于零的minimum_separation值,与所有的HISTORY和RELIABILITY QoS(质量服务)设置均兼容。TIME_BASED_FILTER指定了DataReader感兴趣的样本。HISTORY和RELIABILITY QoS影响中间件在确定为DataReader感兴趣的样本之后的行为,即它们在TIME_BASED_FILTER应用之后起作用。
在可靠性QoS类型为RELIABLE的情况下,在稳态中,定义为DataWriter在远超过minimum_separation的时间段内不写新样本的情况下,系统应确保向DataReader传递最后一个样本。
TIME_BASED_FILTER的minimum_separation设置必须与DEADLINE周期兼容。这两个QoS策略要一致,它们必须验证"period 大于等于 minimum_separation." 在实体创建过程中或通过set_qos操作以不一致的方式设置这些策略时,将导致操作失败。
讲解:
基于时间的过滤(TIME_BASED_FILTER)QoS策略主要是用于控制DataReader在接收数据更新时的时间间隔。这个策略确保DataReader在指定的时间内(由minimum_separation确定)最多只接收到每个实例的一个样本。它有助于处理一些系统设计场景,如:
- 数据生成者(DataWriter)的数据生产速度高于消费者(DataReader)的处理速度时,可以防止数据积压和潜在的性能问题。
- 不同消费者根据自身需求,对数据更新的频率有不同的要求时,可以进行个性化的数据更新控制。
minimum_separation时间间隔的设置必须考虑并兼容DEADLINE QoS策略中的周期设置,以确保系统的一致性和稳定性。如果设置了不一致的值,相关的创建实体或设置QoS的操作将失败。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

109702008

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值