Store-and-Forward bewahrt Messwerte auf einem Gateway auf, während die Verbindung zum Zielsystem ausgefallen ist, und sendet sie nach der Wiederherstellung. So wird aus einem Ausfall eine Verzögerung statt eines Datenverlusts, jedoch nur bis zur Kapazitätsgrenze des Speichers. Dimensionieren Sie den Puffer nach Datenrate und längster zu überbrückender Unterbrechung. Prüfen Sie anschließend die Dauer der nachträglichen Übertragung.
Dieser Leitfaden gehört zur Reihe über Datenqualität und Datenübertragung.
Welcher Speicher schützt die Daten?
Ein Gateway kann Daten an mehreren Stellen vorhalten. Diese Speicher schützen vor unterschiedlichen Ausfällen:
| Speicher | Übersteht einen Ausfall der Verbindung zum Ziel | Übersteht einen Neustart des Gateways |
|---|---|---|
| Noch nicht gesendeter Stapel im Arbeitsspeicher | Nur für kurze Zeit | Nein |
| Lokale Verlaufsdatenbank | Ja; Daten sind vor Ort einsehbar | Ja |
| Dauerhafte Warteschlange auf Datenträger | Ja; Daten werden nach Wiederherstellung gesendet | Ja |
Nur eine dauerhafte Warteschlange auf Datenträger oder ein Prozess, der aus dem lokalen Verlauf sendet, bewahrt die Daten auch über einen langen Ausfall und einen Neustart hinweg. Ein Stapel im Arbeitsspeicher geht verloren, wenn vor der Übertragung der Strom ausfällt. Fragen Sie nach, welchen Speicher das Gateway nutzt und wann Daten von einem Speicher in den nächsten wechseln.
Puffergröße berechnen
Ein Beispiel: An einem Standort entstehen 1.200 Messwerte pro Minute. Das System soll einen Ausfall von 12 Stunden überstehen. Nehmen wir 200 Byte je gespeichertem Datensatz an. Den tatsächlichen Wert einschließlich Indexen und Verwaltungsaufwand müssen Sie am Gateway messen.
| Größe | Rechnung | Ergebnis |
|---|---|---|
| Eingangsrate | 1.200 ÷ 60 | 20 Datensätze pro Sekunde |
| Dauer des Ausfalls | 12 × 3.600 | 43.200 Sekunden |
| Zu speichernde Datensätze | 20 × 43.200 | 864.000 Datensätze |
| Speicherbedarf | 864.000 × 200 Byte | 172,8 MB vor zusätzlichem Verwaltungsaufwand |
Planen Sie eine Reserve für Verwaltungsaufwand und längere als erwartete Ausfälle ein. Prüfen Sie, ob andere Daten wie Protokolldateien denselben Speicher füllen können.
Abbauzeit des Rückstands prüfen
Die Wiederherstellung erfolgt nicht sofort. Das Ziel nimmt nur eine begrenzte Anzahl Datensätze pro Sekunde an, während neue Messwerte weiter eintreffen. Der Rückstand sinkt mit der Netto-Abbaurate: Uploadrate abzüglich Eingangsrate.
| Größe | Rechnung | Ergebnis |
|---|---|---|
| Vom Ziel akzeptierte Uploadrate | Gemessen | 80 Datensätze pro Sekunde |
| Neue Messwerte | Wie oben | 20 Datensätze pro Sekunde |
| Netto-Abbaurate | 80 − 20 | 60 Datensätze pro Sekunde |
| Zeit bis zum Abbau des Rückstands | 864.000 ÷ 60 | 14.400 Sekunden oder 4 Stunden |
Während dieser vier Stunden zeigt das Zielsystem teilweise Daten, die mehrere Stunden alt sind. Dashboards und Alarme müssen für jeden Wert dessen Messzeit und nicht die Ankunftszeit verwenden. Der Leitfaden zu Zeitstempeln erläutert den Grund.
Zeitgrenzen zusätzlich zur Speicherkapazität
Manche Speicher löschen Daten nach einer bestimmten Zeit, unabhängig von der belegten Kapazität. Manche Zielsysteme lehnen zu alte Daten ab oder nehmen sie an, ohne Summen und Alarme neu zu berechnen. Prüfen Sie beides:
- die Aufbewahrungsdauer des Gatewayspeichers;
- das höchste Alter eines vom Ziel akzeptierten Messwerts und dessen Verarbeitung.
Wenn der Puffer voll ist
Legen Sie das Verhalten vor einem Ausfall fest:
| Regel | Folge | Geeignet für |
|---|---|---|
| Älteste Datensätze verwerfen | Neuere Daten bleiben erhalten; der Beginn des Ausfalls geht verloren | Laufender Betrieb |
| Neueste Datensätze verwerfen | Der frühere Verlauf bleibt vollständig; das Ende geht verloren | Abrechnung und Audit-Trails, mit Alarm |
| Erfassung stoppen | Bestehende Daten werden nicht überschrieben; neue gehen verloren | Selten eine gute Wahl |
Lösen Sie rechtzeitig vor dem vollen Puffer einen Alarm aus, zum Beispiel bei 50 % und 80 %, damit jemand eingreifen kann.
Duplikate bei der Wiederherstellung
Ein Gateway kann einen Stapel senden, die Verbindung verlieren, bevor es die Empfangsbestätigung speichert, und den Stapel nach Wiederherstellung erneut senden. Das Ziel erhält dann einige Datensätze doppelt. Vergeben Sie für jeden Datensatz eine Kennung, etwa aus Datenpunkt-ID und Messzeit, damit das Ziel nur eine Kopie behält. Der Leitfaden zu MQTT QoS erklärt die Zustellung mindestens einmal.
Den vollständigen Ausfall prüfen
- Unterbrechen Sie die Verbindung zum Ziel für die geplante Ausfalldauer oder führen Sie einen verkürzten Test mit bekannter Datensatzanzahl durch.
- Beobachten Sie das Wachstum der Warteschlange und prüfen Sie die Alarme.
- Stellen Sie die Verbindung wieder her und messen Sie die Abbauzeit.
- Zählen Sie beim Ziel die Datensätze für den Ausfallzeitraum und prüfen Sie Lücken, Duplikate und Zeitstempel.
- Wiederholen Sie den Test mit einem Gateway-Neustart während des Ausfalls.
Store-and-Forward mit Edge
Edge auf dem ZGW-20 Gateway hält einen lokalen Verlauf aller Messwerte für Dashboards und Analysen vor Ort. Fällt ein Zielsystem aus, legt Edge noch nicht übertragene Daten in einer Warteschlange auf Datenträger ab, prüft das Ziel jede Minute und überträgt die Daten nach Wiederherstellung mit ihren ursprünglichen Zeitstempeln. Ein Stapel, der beim Ausfall noch im Arbeitsspeicher liegt, kann verloren gehen. Eine erneute Übertragung kann einen Stapel doppelt zustellen. Führen Sie deshalb die beschriebenen Tests für Duplikate und Ausfälle an jedem Zielsystem durch.
Häufige Fragen
Was bedeutet Store-and-Forward?
Ein Gateway speichert Daten vor Ort, solange die Verbindung zum Ziel ausgefallen ist, und überträgt sie nach deren Wiederherstellung. Bis zur Kapazitätsgrenze des Speichers wird aus einem Netzwerkausfall eine Verzögerung statt eines Datenverlusts.
Wie groß muss ein Store-and-Forward-Puffer sein?
Multiplizieren Sie Datensätze pro Sekunde mit der längsten Ausfalldauer in Sekunden und dem Speicherbedarf je Datensatz. Rechnen Sie eine Reserve hinzu. Bei 1.200 Messwerten pro Minute, 12 Stunden Ausfall und 200 Byte je Datensatz sind das 864.000 Datensätze und etwa 173 MB vor zusätzlichem Verwaltungsaufwand.
Wie lange dauert das Leeren des Puffers nach einem Ausfall?
Teilen Sie den Rückstand durch die Netto-Abbaurate: Uploadrate minus Rate neuer Messwerte. Bei 864.000 aufgelaufenen Datensätzen, 80 übertragenen und 20 neuen Datensätzen pro Sekunde dauert es vier Stunden.