Industrielle Telemetrie10 Min. Lesezeit

Store-and-forward-Telemetrie: für den Ausfall entwickeln, nicht für die Demo

Eine MQTT-Verbindung ist keine Persistenzstrategie. Verlässliche Maschinenhistorie braucht ein lokales Journal und klare Wiederholungsregeln.

Linux-Controller und lokaler Speicher in einem Pumpenschaltschrank bei unterbrochener Uplink-Verbindung

Über den Autor

Dr. Mehran Kiani-Oshtorjani

Ingenieur für Industriesoftware und Simulation

Mehran Kiani-Oshtorjani ist Maschinenbauingenieur und Softwareentwickler mit Erfahrung in Echtzeitsimulation, Fluidtechnik, industrieller Steuerung und vernetzter Software. Seine Promotion an der LUT University befasste sich mit recheneffizienten Methoden für industrielle Echtzeitsysteme.

Technische Kernaussagen

  • Die Maschine braucht einen dauerhaften lokalen Besitzpunkt für noch nicht gesendete Daten.
  • Jeder Datensatz braucht Ereigniszeit, Sequenz, Schemaversion und eine stabile ID.
  • Eine volle Queue ist ein sichtbarer Betriebszustand und darf nicht still Daten vernichten.

Das Netzwerk ist Transport, kein Archiv

Routerwechsel, Zertifikate, DNS, Mobilfunk und Wartung unterbrechen industrielle Verbindungen regelmäßig. Die Steuerung muss lokal weiterlaufen; die Telemetrie muss wissen, welche Daten noch nicht dauerhaft angekommen sind.[1][4]

Datensätze brauchen eine replay-feste Identität

Maschinen-ID, Signal-ID, Wert, Qualität, Ereigniszeit, Sequenz, Schemaversion, Softwareversion und stabile Record-ID gehören zusammen. Ereignis- und Ingest-Zeit dürfen nicht verwechselt werden.[6][5]

  • Sequenz oder eindeutige ID zur Deduplizierung
  • Zeitqualität und Uhrwechsel markieren
  • Payload-Schema versionieren
  • Stale- und Offline-Zustände explizit übertragen

Ein begrenztes lokales Journal verwenden

Eine eingebettete Datenbank oder ein Append-only-Log ist oft robuster als ein eigenes Dateiformat. Eine Komponente muss Reihenfolge, Bestätigung, Komprimierung und Crash-Recovery besitzen.[2][3]

StatusLokalCloudAktion
QueuedDauerhaftUnbekanntMit gleicher ID erneut senden
In flightDauerhaftWartetNach Timeout erneut
BestätigtDauerhaftGespeichertKomprimierbar
AbgelaufenNach RegelNicht gesendetVerlust zählen

Historie nachholen, ohne den Live-Blick zu blockieren

Reservieren Sie Bandbreite für aktuelle Gesundheit und Alarme und leeren Sie historische Batches kontrolliert. So bleibt die Live-Sicht frisch, während die Lücke geschlossen wird.[1][5]

MQTT QoS 1 bedeutet mindestens einmal und erlaubt Duplikate. Genau-einmal-Verarbeitung braucht weiterhin stabile IDs und idempotente Speicherung.[1]

Vorher entscheiden, was bei vollem Speicher geschieht

Kapazität folgt aus Ausfalldauer, Datenrate, Overhead und Reserve. Regeln müssen je Signalklasse festlegen, was verdichtet, geschützt oder verworfen wird.[4]

  • Queue-Alter, Bytes und Verluste anzeigen
  • Runtime vor Speicherblockaden isolieren
  • Retention spezifizieren
  • Stromausfall in jeder Phase testen

Ein sinnvoller Ausfalltest

  1. Uplink bei laufender Maschine trennen
  2. Service neu starten und Controller stromlos machen
  3. Nach maximaler Ausfallzeit verbinden
  4. Zeit, Reihenfolge und Deduplizierung prüfen
  5. Live-Daten während Replay prüfen
  6. Speichergrenzen gezielt erreichen

Häufig gestellte Fragen

Reicht MQTT QoS 1?

Nein. Es definiert weder lokales Journal noch Retention, Schema oder Ende-zu-Ende-Deduplizierung.

Muss Replay global sortiert sein?

Meist reicht Reihenfolge pro Maschine und Signalstrom; globale Ordnung erzeugt unnötige Blockaden.

Wie viel Speicher reicht?

Aus maximaler Ausfallzeit, Datenvolumen, Retention und getesteter Reserve berechnen und als Grenze veröffentlichen.

Quellen und Standards

  1. MQTT Version 5.0OASIS Open
  2. Write-Ahead LoggingSQLite
  3. Transaction control languageSQLite
  4. NIST SP 800-82 Rev. 3: Guide to Operational Technology SecurityNational Institute of Standards and Technology, September 2023
  5. Prometheus Remote-Write 2.0 specificationPrometheus
  6. RFC 3339: Date and Time on the InternetIETF

BootCtrl Engineering hat die technischen Aussagen und Quellenlinks zuletzt am 26. Juli 2026 geprüft. Produktaussagen werden mit den aktuellen Implementierungs-Repositories abgeglichen; Roadmap-Arbeit wird nicht als verfügbare Funktion dargestellt.

Die getrennte Maschine testen

Wir helfen, Queue-Grenzen, Replay-Regeln und Nachweise zu definieren.

Ausfalltest planen