各イベントの開始時刻と期間のみがある場合、同時イベントの分析を考え出す必要があります。
詳細
私は標準の CDR 通話詳細レコードを持っています。これには次のものが含まれます。
- calldate (各通話開始の日時
- duration (整数、通話時間の秒数)
- チャネル (文字列)
私が考え出す必要があるのは、特定の日時期間における、毎秒の同時呼び出しのある種の分析です。たとえば、昨日の同時通話のグラフ。
(問題は、Web サイトの訪問者ログに期間があり、Web ページのグループの同時クライアントを取得したい場合と同じです)
あなたのアルゴリズムは何ですか?
指定された期間内のレコードを繰り返し処理し、配列を埋めることができます。配列の各バケットは、期間全体の 1 秒に対応します。これは機能し、高速に見えますが、期間が長い場合 (たとえば..1 年)、大量のメモリ (3600x24x365x4 バイト ~ 約 120MB) が必要になります。
これは Web ベースの対話型アプリ用であるため、メモリ フットプリントは十分に小さいはずです。
編集
同時とは、特定の秒のすべての呼び出しを意味します。2番目は私の最小単位です。1 時間中のすべての通話を同時に保留する必要がないため、より大きなもの (たとえば時間) を使用することはできません。