2

系统应每秒接受一次测量。系统应呈现 6 个实时图:

  • 最后一分钟
  • 上一个小时
  • 最后一天
  • 上周
  • 上个月
  • 去年。

例如,这是一个漂亮的年度测量图,显示了一年中每个月的平均温度(假设该图由 12 个数据点组成,用直线连接)。我应该何时以及如何更新它?最坏的情况是在每次测量时重新计算每个月的平均温度(每秒一次),然后重新绘制绘图。

在此处输入图像描述

最后一分钟的情节我们用一个循环缓冲区解决 - 新的测量值被简单地推送到 deque eveyr 秒。

其他地块呢?我们如何最大限度地减少每一项的重新计算?


解决方案

保持所有向量的平均值。当新事件发生时,检查要更新的向量(时间 % vector_sample_period)。对于选择的向量,询问前一个向量的平均值并将其推入自己的循环缓冲区。

4

1 回答 1

0

通过仅在需要时进行计算,您可以最大限度地减少重新计算。例如,当您重新开始循环缓冲区时。

于 2013-09-02T21:40:01.523 回答