0

大量のテレメトリ データを読み取るプロジェクトがあります。テレメトリは「チャネル」で構成されます。チャネルは多くの場合、単一のセンサーからの値です。たとえば、温度センサー。


A: 測定値B
: チャネル ID
C: 測定時刻

テレメトリは、最大 500 Hz (毎秒 500 サンプル) までのかなり高いレートで受信され、チャネルごとに 1 Hz という低いレートで受信されます。同時チャンネル数は通常約 150 です。

各チャネルのレートは正確であるとは期待できず、異なる場合があります。

そのため、データを処理し、後で値を表示するためのコレクション/アルゴリズムを探しています。表示はグラフと数値の読み出しで構成されています。

通常、データは順次受信されますが、より長い期間の停止が発生する可能性があります。また、停止によって失われたデータを後で受け取ることもできます。

簡単に言えば、データを構造化できるコレクションが必要
です。
B: 時間 a から b までの値をシーケンシャルに読み取れる必要があります。
C: 末尾または途中に新しい値を挿入します。

skiplist (http://en.wikipedia.org/wiki/Skiplist) を使用して実装を行いました。すべての要件を満たしているように見えますが、多くのメモリを消費します。私の最初の計算では、測定値の 5 倍から 10 倍の間のどこかが示されました。実際にはそれよりも高くなります。

また、値をデータベースに追加してそこから読み取ることも検討しましたが、遅いようです-SQLサーバーがそれほど多くの値を高速に挿入することはありません。

それで、これを行うことができるコレクション/アルゴリズムについて何か考えはありますか?

4

1 に答える 1

0

これにはHDF5を使用できる場合があります。

この形式のテレメトリ アプリケーションについては、こちらで説明しています。

于 2011-01-13T21:25:07.123 に答える