私たちは、1つのモジュールがいくつかのメッセージを別のリモートモジュールに高速で送信するメッセージングシステムを持っています。受信モジュールはこのメッセージを特定の形式でデコードし、2つのスレッドに転送します。 1つはロガースレッドと呼ばれ、もう1つはフォワーダスレッドです。どのデータ構造を使用するか
これらのスレッドにこのメッセージを送信する前に、これらのメッセージをグループ化する必要があります。
これらのメッセージは、毎秒約800件の高速で送信されます。
次のように警告構造は次のとおりです。
- INTタイプ
- INTシステムのIDを送信
- INT RECPTシステムID
- INTのタイムスタンプ
- INTコード
- INTソースポート
- INT宛先ポート の
- ソースIPアドレス(IPv4またはIPv6)、我々は次の詳細と構造を維持する必要が試合の終わりに
- 宛先IPアドレス(IPv4またはIPv6)
struct{
INT COUNT
INT First Alert Timestamp
INT Last Alert Timestamp
INT First Alert ID
INT Last Alert ID
}
8つの基準に一致する各アラートに対して、グループが作成/選択され、他の詳細とともにカウントが増分されます。
IPアドレスフィールドは、5つのフィールド(INTアドレスタイプ、INTアドレス1、INTアドレス2、INTアドレス3、INTアドレス4)の構造でも、文字列に変換して構造体に格納することもできます。
私たちはいつか頭を揺さぶっていますが、メモリと速度の両方に対応できるように構造やアルゴリズムを見つけることができませんでした。
あなたには、専門家の助けが必要です。
最後に一致するものはありますか?どのような基準? – btilly