Ich habe einen massiven Datenstrom mit mehreren tausend Nachrichten pro Sekunde und möchte gerne Informationen aus den Nachrichten der letzten X Sekunden ziehen. Dafür brauche ich eine effiziente Datenstruktur, die automatisch alle Nachrichten raus wirft, die älter als X Sekunden sind. Ne Idee wie ich das machen könnte?
Konkret geht es darum, in einem GBit Netzwerk mit über 1000 Hosts Anomalien fest zu stellen. (Zum Beispiel wer innerhalb von X Sekunden mehr als Y Verbindungen auf baut oder mehr als Z dns Anfragen stellt). Der Datenstrom besteht aus "Timestamp src-ip/port dst-ip/port"
Zeitfenster in Datenströmen
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Bottle: Micro Web Framework + Development Blog
Da sollte eine normale Queue doch ausreichen. Vorne wird angehängt hinten fallen zu alte Einträge ab. Wenn du es als Ring implementierst sollte das auch recht performant sein.
Das Leben ist wie ein Tennisball.