2011-01-13 40 views
0

我有一個項目,我們閱讀大量的遙測數據。遙測由「通道」組成,通道通常是來自單個傳感器的值。例如溫度傳感器。處理大量遙測

每個讀數包括:
一個:測量值
B:信道ID
C:測量

我們接收遙測相當高的速率的時間,高達500赫茲(每秒500個採樣),每個通道低至1Hz。同時通道的數量通常約爲150個。

每個通道的速率不能被期望是精確的,它可能會有所不同。

所以我正在尋找一個集合/算法來處理數據和以後顯示的值,顯示包括圖形和數字讀數。

通常情況下,我們會按順序接收數據,但可能會出現更長的停機時間。此外,中斷後丟失的數據可能會在稍後收到。 A:必須能夠像價值(時間)一樣訪問單個閱讀時間。如果長話短說,我需要一個可以構造數據的集合:
答:必須能夠像Value(時間)那樣訪問單個閱讀時間。 B:必須能夠從時間a到b順序讀取值。 C:在最後或中間插入新值。

我已經使用skiplist(http://en.wikipedia.org/wiki/Skiplist)進行了實現。它似乎滿足所有的要求,但它吃了很多的記憶。 My initial calculations顯示介於測量值的5到10倍之間。實際上它高於那個。

我也考慮過將值添加到數據庫中,然後從那裏讀取它們,但它看起來很慢 - 我沒有看到SQL服務器插入那麼多值的速度很快。

那麼,任何想法可以做到這一點的集合/算法?

回答

0

您可能可以使用HDF5

這種格式的遙測應用被提及here

+0

不錯,我會仔細研究一下。 – 2011-01-13 21:44:52