处理大量的遥测

时间:2011-01-13 21:18:54

标签: collections telemetry

我有一个项目,我们读取了大量的遥测数据。遥测由“通道”组成,通道通常来自单个传感器。例如温度传感器。

每次阅读包括:
 答:测量值
 B:频道号
 C:测量时间

我们收到的遥测速率相当高,最高可达500 Hz(每秒500个样本),每个频道最低可达1 Hz。同时通道的数量通常约为150.

每个频道的速率不能精确,可能会有所不同。

所以我正在寻找一个集合/算法来处理数据,然后显示值,显示由图形和数字读数组成。

通常我们会按顺序接收数据,但可能会出现持续时间较长的中断。此外,可以在以后收到中断丢失的数据。

长话短说,我需要一个可以构建数据的集合:
答:必须能够像时间一样按时间访问单个读数 B:必须能够从时间a到b顺序读取值 C:在结尾或中间插入新值。

我使用skiplist(http://en.wikipedia.org/wiki/Skiplist)进行了实现。它似乎满足所有要求,但它占用了大量的内存。 My initial calculations显示在测量值的5到10之间。在实践中它高于那个。

我还考虑过将这些值添加到数据库中,并从那里读取它们,但它看起来很慢 - 我没有看到SQL服务器插入那么快的值。

那么,关于可以做到这一点的集合/算法的任何想法?

1 个答案:

答案 0 :(得分:0)

您可能可以使用HDF5

提到了这种格式的遥测应用here