Eingabeblöcke und Ereignissteuerung
Eingabeblöcke stellen dem Modell Daten aus externen Quellen zur Verfügung (zum Beispiel Messungen von Cumulocity IoT). Viele Datenquellen haben auf jedem Dateneintrag einen Zeitstempel, der den Zeitpunkt angibt, zu dem eine Messung oder ein Ereignis tatsächlich erfolgt ist. Bei der Übertragung der zu verarbeitenden Daten an das Apama-System kann es zu Verzögerungen kommen, was dazu führt, dass Apama die Ereignisse nicht in der richtigen Reihenfolge empfängt.
Bei Datenquellen, die Zeitstempel auf den Dateneinträgen haben, kann der Eingabeblock mit Ereignissen umgehen, die nicht in der richtigen Reihenfolge empfangen wurden. Zu diesem Zweck halten die Eingangsblöcke alle empfangenen Ereignisse in einem Umordnungspuffer und verzögern deren Verarbeitung bis die vordefinierte Verzögerungszeit ab dem Zeitstempel der Quelle abgelaufen ist. Durch das Verzögern der Ereignisverarbeitung relativ zum Zeitstempel der Quelle kann der Eingabeblock die Ereignisse neu anordnen. Der entscheidende Parameter für diesen Prozess ist die Dauer der Zeit, um die die Ereignisse verzögert werden. Sie können dies in der Datei Configuration.mon ändern, indem Sie den für die Konstante TIMEDELAY_SECS gesetzten Wert ändern. Dies ist die Zeit in Sekunden, um die die Eingabewerte von den Eingangsblöcken verzögert werden.
Die Eingabeblöcke gehen davon aus, dass Ereignisse zwar in einer anderen Reihenfolge geliefert werden können, sie jedoch von Apama gemäß des mit TIMEDELAY_SECS definierten Werts empfangen werden. Wenn ein Ereignis nach einer Verzögerung von mehr als TIMEDELAY_SECS empfangen wird (das heißt, es gibt eine Differenz zwischen dem Zeitstempel des Ereignisses und der Zeit auf dem System, auf dem Apama ausgeführt wird), dann wird es verworfen. Wenn der Wert für TIMEDELAY_SECS also zu niedrig eingestellt ist, dann kann eine kleine Verzögerung dazu führen, dass Apama ein Ereignis verwirft, was zu fehlerhaften Ergebnissen führen kann. Je höher der Wert für TIMEDELAY_SECS ist, desto größer ist die Verzögerung vor der Verarbeitung eines Ereignisses. Daher ist es wichtig, einen geeigneten Wert für TIMEDELAY_SECS zu finden, der zu der Umgebung passt, in der die Ereignisse an Apama geliefert werden.
Der Korrelator zeichnet die Anzahl der verworfenen Ereignisse (alle durch LOGGING_THROTTLE_SECS definierten Sekunden) regelmäßig in seiner Logdatei auf. Diese befindet sich in /opt/softwareag/cumulocity-apama-rules/deploy/logs/correlator_defaultCorrelator.log.
Weitere Informationen finden Sie unter
Modell-Timeouts konfigurieren.