1分に1回、つまりハートビートに「チェックイン」するデバイスが多数あります。次のようにこれらのハートビートは、MySQLのテーブルに格納されている:タイムスタンプ場合はPHPとJavaScriptのハートビートリストから稼働時間グラフを作成する
+----+-----------+---------------------+
| id | entity_id | heartbeat |
+----+-----------+---------------------+
| 1 | xyz | 2016-01-01 01:02:03 |
+----+-----------+---------------------+
「ID」カラムは自動インクリメント整数、「ENTITY_ID」基本的にデバイスを識別し、「ハートビート」の列でありますデバイスはチェックインされました。
ここで、JavaScript(特にChart.js)を使用して、先週のデバイスが稼動していた(つまりハートビートを送信している)回数を示す素晴らしい稼働時間チャートを作成したいと考えています。
私が持っている問題は、明らかにデバイスがチェックインするときにタイムスタンプしか保存しないということです。つまり、30分間チェックインしないと、2つのタイムスタンプの間に30分のギャップがあります。do持ってる。
私はサーバー側でPHPを使用しています。このタイムスタンプのリストを使用して、おそらくタイムスタンプがあるかどうかを毎分表示するJSONオブジェクトを作成する簡単な方法はありますか?これをChart.jsに送り、データを棒グラフとして表示することができます。
この表には何十万行もあることを覚えておいて、データを取得するために比較的速く作成しようとしています。
あなたが話しているデバイスの種類? – heximal
私が正しく理解している場合は、0または1のようなデータポイントを1週間に1つのデバイスごとに1分ごとに持たせたいですか?これは、1デバイスあたり10kデータポイントのJSONを意味します。個々のデータ点で考え直すべきですが、むしろそれらを稼働時間とダウンタイムのセグメントにグループ化する必要があります。 – apriede
@heximal彼らは毎分チェックして、彼らがオンラインになっているかどうかを知ることができるようになっています。 –