Jump to content

Integration der Daten und Metadaten


Recommended Posts

Der entscheidende Schritt beim Aufbau einer Plattform zum Betriebsmonitoring ist die Integration der vielfältigen Mess- und Stellgrößen in einer zentralen Datenbasis. Dazu müssen unterschiedlichste Schnittstellen über ihre jeweiligen Protokolle angebunden werden sowie die entsprechenden Datenformate gelesen und in ein einheitliches Datenformat umgewandelt werden. Außerdem müssen den Daten oft noch ergänzende Kontext-Informationen hinzugefügt werden, die eine automatisierte Auswertung ermöglichen.

image.thumb.png.6c692936d5059a8ed992641b3c39fb7b.png

Überblick

Vor der Integration der Daten und Metadaten in die Datenbank muss ein Datenbankschema entworfen werden. Das Datenbankschema sollte die später für eine Auswertung der Daten nötigen Informationen abbilden.

Extract, Transform, Load

Ist das Schema bekannt, sind für die Integration einer neuen Datenquelle im Wesentlichen drei Schritte notwendig: Extract, Transform, Load (ETL).

Datenextraktion

Der Extraktionsprozess dient dazu die Daten einer neuen Datenquelle (z.B. GLT) zu erfassen. Das beeinhaltet zunächst die Anbindung der Datenquelle über das zur Verfügung stehende Datenübertragungprotokoll (z.B. BACnet, OPC UA oder FTPS). Über diese werden die Daten entweder in einem nativen Format des Datenübertragungsprotokolls gelesen oder sie liegen in einem eigenen Datenformat (tpyischerweise JSON, CSV, Excel) vor. Gerade bei untypisierten Datenformaten wie CSV müssen die Daten zunächst analysiert werden um anschließend ein Parser für die vermuteten Datenformat schreiben zu können. Dabei müssen regionale Besonderheiten wie Dezimaltrennzeichen, Datums- und Zeitformate und Sonderzeichen sowie Wertebereiche von numerischen Werten berücksichtigt werden.

Datenbereinigung und Transformation

Nachdem die Daten im Extraktionsprozess in ein typisiertes Format überführt wurden, müssen in diesem Schritt Inkonsistenzen, Fehler oder fehlende Werte geprüft werden. Das können beispielsweise uneinheitliche Benennungen der gleichen Messtelle, ungewöhnliche Einheiten bzw. Skalierungen der Messgrößen oder lokale Zeitstempel sein. Auch Datenlücken oder ungültige Werte müssen erkannt und behandelt werden.

Laden der Daten in die Datenbank

Wurden die Daten bereinigt und transformiert können diese über die jeweilige Schnittstelle und unter Einhaltung der entsprechenden Datenbankschemata in die Datenbank geladen werden. Dabei sollten vor allem Performance- und Sicherheitsaspekte berücksichtigt werden.

Metadaten und Informationsmodell

Neben den eigentlichen Daten sind zusätzliche Informationen über die Daten, sogenannte Metadaten unerlässlich. Sie unterstützen das Auffinden und die korrekte Intepretation der Daten.

Sind die benötigten Metadaten nicht direkt in der Datenquelle enthalten, müssen diese aus anderen Quellen erschlossen werden. Auch die Metadaten müssen in ein einheitliches Format gebracht und anschließend mit den Daten verknüpft werden. Eine solche standardisierte Repräsentation der Metadaten hat den Vorteil, dass diese später automatisch durch Algorithmen ausgewertet werden kann. In der RLT-Opt Plattform werden die Metadaten zum einen über Tags in der Zeitreihendatenbank InfluxDB abgebildet. Da sich die Metadaten in der Regel nur selten ändern (z.B. beim Austausch eines Sensors), aber oft sehr umfangreich sind und von vielen Verknüpfungen profitieren, werden die Informationsmodelle als RDF Datengraph repräsentiert. Der RDF Datengraph basiert auf dem BRICK-Schema, einer Ontologie die speziell für die Repräsentation von technischer Gebäudeausrüstung entwickelt wurde.

Überwachung und Wartung

Die Datenintegration ist in der Regel ein kontinuierlicher Prozess der über Jahre hinweg läuft. Daher sollten Maßnahmen ergriffen werden um Fehler frühzeitig zu erkennen und durch das Einspielen von Updates direkt beheben zu können. Außerdem ist es wichtig evtl. später mit der Wartung beauftragten Personen mit einer verständlichen Dokumentation einen schnellen Einstieg zu ermöglichen.

Datenvalidierung

Die drei Schritte Extraktion, Transformation und Laden in die Datenbank lassen sich gut durch automatisierte Tests validieren. Sie müssen sicherstellen, dass die Daten korrekt in die Datenbank geladen wurden. Es sollte auf Vollständigkeit, Genauigkeit und Konsistenz der Daten getestet werden.

Überwachung und Wartung

Die regelmäßige und fehlerfreie Ausführung der Integrationsprozesse sollte überwacht werden. Beim Auftreten von Fehlern sollten die verantwortlichen Personen direkt benachrichtigt werden. Für die Fehlersuche ist eine kontinuierliche Protokollierung der Prozesse von Vorteil.

Dokumentation

Der Integrationsprozess, einschließlich aller Schritte, Konfigurationen und Entscheidungen sollte ausreichend dokumentiert werden. Die Dokumentation sollte für andere Teammitglieder verständlich und zugänglich sein.

AUSFÜHRUNG

Im Projekt RLT-Opt haben wir zwei Werkzeuge für die Ausführung und Überwachung der Integrationsprozesse eingesetzt: Cron und MageAI. Diese werden im folgenden kurz beschrieben.

Cron

Cron ist ein Unix-basiertes Dienstprogramm zur Planung von Aufgaben, die zu bestimmten Zeitpunkten oder in regelmäßigen Abständen ausgeführt werden sollen. Es ist besonders nützlich für die Automatisierung von wiederkehrenden Aufgaben wie Datenbank-Sicherungen, Systemwartungen, das Ausführen von Skripten usw. Cron wird in der Regel über die Befehlszeile konfiguriert und verwaltet.

Für die Anbindung einer neuen Schnittstelle wurde zunächst ein Skript in der Programmiersprache Python entwickelt und gestestet. Die Skripte wurden so programmiert, dass sie alle Daten ab einen bestimmten Zeitpunkt abrufen, mit den Metadaten integrieren, in die Datenbank schreiben und sich anschließend wieder beenden. Für eine robuste Ausführung wird nach einer erfolgreichen Ausführung der aktuelle Zeitpunkt in einer Datei gespeichert, die beim nächsten Aufruf als Startzeit verwendet wird. So führen Unterbrechungen in der Ausführung nicht zu Datenlücken in der Datenbasis. Sollten bei der Ausführung Fehler auftreten, so werden diese per E-Mail direkt an die verantwortlichen Personen geschickt.

Mit Cron lassen sich nur die Rückgabewerte bei Terminierung der Prozesse überwachen. Werden Daten von Echtzeitschnittstellen wie OPC UA abgerufen, terminieren die Prozesse in der Regel nicht und es ist sinnvoller andere Werkzeuge wie MageAI zur Überwachung zu verwenden.

MageAI

MageAI ist ein Open-Source-Datenpipeline-Tool, das die Erstellung, Ausführung und Verwaltung von ETL-Pipelines für die Integration und Umwandlung von Daten vereinfacht. Es ist ein hybrides Framework, das das Beste aus beiden Welten kombiniert: die Flexibilität von Notebooks mit der Strenge von modularem Code. MageAI kann je nach Bedarf auf unterschiedliche Weise verwendet werden:

  • Erstellung von Batch-Datenpipelines, die nach einem Zeitplan ablaufen
  • Erstellen von Streaming-Datenpipelines, die Daten verarbeiten, sobald sie ankommen

MageAI bietet außerdem eine Vielzahl von Funktionen, die bei der Verwaltung der ETL-Pipelines helfen, wie z. B:

  • Verwaltung von Abhängigkeiten
  • Versionskontrolle
  • Protokollierung und Überwachung
  • Fehlerbehandlung und Wiederholungsversuche
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information