Eine Duplikatregel wird durch das Duplikatmuster definiert. Es zählt das zweite Ereignis sowie nachfolgende Ereignisse, die innerhalb eines angegebenen Zeitintervalls akzeptiert werden, überspringt jedoch die Regelsatzverarbeitung für diese Ereignisse. Es ist eine statusabhängige Regel.
Das Duplikatmuster wird normalerweise verwendet, um ähnliche (duplizierte) Ereignisse über einen Zeitraum einzugrenzen. Ein dupliziertes Ereignis ähnelt in gewisser Hinsicht einem vorherigen Ereignis, ohne notwendigerweise eine exakte Kopie dieses Ereignisses zu sein. Ereignisse zählen als Duplikate, wenn sie dieselben Ereignisauswahlkriterien für die Regel erfüllen. Der Zeitraum wird durch ein verbindliches Zeitfenster angegeben, das im Element <timeWindow> der Regelsprache definiert ist.
Das erste Ereignis löst die <onDetection>-Aktion aus, auch wenn keine duplizierten Ereignisse empfangen wurden. Der Grund für dieses Verhalten ist, dass Sie möglicherweise das erste Ereignis weiterleiten möchten und die Regelsatzverarbeitung für duplizierte Ereignisse überspringen möchten. In diesem Fall können Sie eine Regelantwortaktion hinzufügen, die das erste Ereignis weiterleitet, wenn die <onDetection>-Aktion für die Regel ausgelöst wird.
Die Standardverarbeitung für duplizierte Ereignisse (das zweite Ereignis und nachfolgende Ereignisse) umfasst das Zählen eines duplizierten Ereignisses und das Überspringen der Regelsatzverarbeitung für ein dupliziertes Ereignis. Wenn Sie zusätzliche Aktionen für ein dupliziertes Ereignis ausführen möchten, können Sie explizit eine <onNextEvent>-Aktion definieren. Beispiel: In bestimmten Fällen stellt das duplizierte Ereignis ein Ereignis dar, das eventuell bereits in einer Datenbank oder in einem anderen Repository protokolliert ist. Daher möchten Sie vielleicht eine <onNextEvent>-Aktion codieren, um das duplizierte Ereignis an diesen anderen Positionen zu entfernen.
Eine <onTimeWindowComplete>-Aktion kann verwendet werden, um einen Summensatz für alle duplizierten Ereignisse zu erstellen, der die Anzahl verarbeiteter Duplikate umfasst.
Nachdem die Nachricht "Denial of Service" bei einem Sicherheitsmonitor aufgetreten ist, werden alle Duplikate dieses Ereignisses gezählt, die während eines Zeitraums von 30 Sekunden auftreten, aber nicht an die Operatorkonsole gesendet. Zudem generiert die Regel nach Ablauf der 30 Sekunden ein Ereignis, das die Anzahl "Denial of Service"-Nachrichten angibt, die in diesem Zeitraum aufgetreten sind.