【发布时间】:2021-07-27 23:16:38
【问题描述】:
这似乎是我在 20 年前完全忘记了 comp sci 的基本原理。
如何从另一个对象链接/触发对象函数。或者我试图找到的概念的名称是什么? (如果重要,请使用 c++)
我的例子是我有一个带有蓄电池的传感器。累加器有一组时间间隔读数。它们累积值直到它们的间隔完成并将其添加到读数数组中。
我想让累加器灵活、不同的间隔、时间范围或每个传感器的累加器数量。例如。 1 小时,1 分钟间隔,1 天,每小时...
我有一个传感器类和累加器类。但是如何声明多个累加器并允许较小的时间范围读数冒泡到下一个更高的读数?
===========================
添加一个更具体的例子,因为我很难解释清楚......
传感器类中的示例函数: Sensor.addAccumulator(时间帧,间隔)
因此,第一个时间范围可以是 1 小时时间范围和 1 分钟间隔。 然后另一个累加器添加了 24 小时时间框架和 30 分钟间隔。 接下来 1 周,间隔 12 小时。
传感器将具有获取当前读数的功能,然后将其提供给累加器进行处理。
但是当积累了 1 分钟的数据时,我如何才能将其提供给下一个更高的时间范围?
我可以只为每个累加器提供读数,但计算变得多余,而且它在微控制器上。
=========
如果我有一个高性能设备,我会将值转储到时间序列数据库中,并使用数据保留策略对旧数据进行下采样。
【问题讨论】:
-
所以“累加器”被声明为“传感器”的成员元素?
-
然后“累加器”作为一个类有自己的定义?
-
如果你想发布一个sn-p,也许我们可以把它标记为“C++”。
-
是的,我创建了一个传感器类,它具有从传感器获取实时读数并将其提供给累加器类进行计算的功能。
-
我现在只有一个累加器,因为我不知道如何链接更高级别的累加器。基本上,更高级别的数据是对数据进行下采样,但我试图避免在每个时间范围内对实时数据进行冗余重新计算。