Bearbeiten

Datenanalyse für Fahrzeugtestflotten

Azure Blob Storage
Azure-Daten-Explorer
Azure Event Hubs
Azure-Funktionen
Azure IoT Hub

Automobilhersteller benötigen Lösungen, mit denen sie die Zeit zwischen Testfahrten und der Verfügbarkeit der Diagnosedaten von Testfahren für Forschungs- und Entwicklungsingenieure minimieren können. Mit der zunehmenden Automatisierung der Fahrzeuge werden die Softwarelebenszyklen kürzer und die digitalen Feedbackschleifen müssen schneller werden. Neue Technologien können den Zugriff auf die Daten demokratisieren und den Forschungs- und Entwicklungsingenieuren in Quasi-Echtzeit Erkenntnisse über die Diagnosedaten von Testfahrten liefern. Die sichere Freigabe von Daten kann die Zusammenarbeit zwischen Originalgerätehersteller (OEMs) und Zulieferern verbessern und die Entwicklungszyklen weiter verkürzen.

Diese Beispielworkload bezieht sich sowohl auf Telemetrieszenarien als auch Szenarien für die Batchdatenerfassung von Testfahrten. Der Schwerpunkt der Workload liegt auf der Datenplattform, die Diagnosedaten verarbeitet, und den Connectors für die Visualisierung und Berichterstellung.

Aufbau

Diagram that shows the analytics dataflow for automotive streaming data and files.

Laden Sie eine PowerPoint-Datei mit allen Diagrammen in diesem Artikel herunter.

Datenfluss

  1. Azure IoT Hub erfasst unformatierte Livetelemetriedaten (A) und lädt aufgezeichnete Datendateien (B) vom Fahrzeug hoch.

  2. IoT Hub sendet die Livetelemetriedaten (A) an eine Azure Functions-App, die die Telemetriedaten in JavaScript Object Notation (JSON) decodiert und an Azure Event Hubs sendet.

    IoT Hub sendet die aufgezeichneten Datendateien (B) an Azure Blob Storage. Ein abgeschlossener Dateiupload löst eine Funktions-App aus, die die Daten decodiert und die decodierte Datei in Blob Storage in einem für die Erfassung geeigneten Format mit durch Trennzeichen getrennten Werten (CSV) schreibt.

  3. Azure Data Explorer erfasst decodierte JSON-Telemetriedaten von Event Hubs (A) in einer Tabelle mit unformatierten Telemetriedaten und erfasst die decodierten CSV-Dateien (B) von Blob Storage.

  4. Azure Data Explorer verwendet die Update-Funktion zur Erweiterung der JSON-Daten in ein geeignetes Zeilenformat und zur Anreicherung der Daten. Die Funktion gruppiert z. B. Standortdaten zur Unterstützung von räumlichen Analysen.

  5. Wissenschaftliche Fachkräfte für Daten und Forschungs- und Entwicklungsingenieure verwenden die Funktionen der Kusto-Abfragesprache (KQL), um Anwendungsfälle für Analysen zu erstellen, die sie als benutzerdefinierte Funktionen speichern. Zu den KQL-Funktionen gehören Aggregation, Zeitreihenanalyse, räumliches Clustering, Windowing und Machine Learning-Plug-Ins (ML).

  6. Power BI verwendet dynamische Abfragen, um Visualisierungen mit den benutzerdefinierten Abfragen zu erstellen. Das Grafana-Datenquellen-Plug-In für Azure Data Explorer verwendet die benutzerdefinierten Abfragen für Aktualisierungen in Quasi-Echtzeit.

  7. Eine Azure App Service-App verwendet die Renderingfunktionen der Azure Maps-Datenquelle, um benutzerdefinierte Abfrageergebnisse im GeoJSON-Format zu visualisieren.

  8. Azure API Management bietet Zugriff auf gespeicherte Rohdatendateien von Fahrzeugen und eine Konfigurations-API, die Richtlinien zur Datensammlung von Drittanbietern verwaltet.

Azure Data Explorer-Schema

Diagram that shows the Azure Data Explorer functions and methods for extracting, expanding, and enriching data.

  1. Die Update()-Funktion verwendet Methoden wie:

    • mv-expand(), um komplexe, in JSON-Strukturen gespeicherte Werte in Zeilen mit einzelnen Signalen zu erweitern.
    • geo_point_to_h3cell() oder geo_point_to_geohash() zur Konvertierung von Breiten- und Längengraden in Geohashes für räumliche Analysen.
    • todouble() und tostring(), um extrahierte Werte aus dynamischen JSON-Objekten in die entsprechenden Datentypen umzuwandeln.
  2. Die Sicht für letzte bekannte Werte der Flottenmetadaten verbindet sich im Rahmen der Erfassung mit anderen Ansichten, um Kontext zu liefern. Die historischen Flottenmetadaten sind nützlich, wenn neue Anwendungsfälle eine erneute Verarbeitung der unformatierten Telemetriedaten erfordern.

  3. Falls erforderlich, verwendet eine materialisierte Sicht für deduplizierte Signale die Option take_any(), um die Signale zu deduplizieren.

  4. Die materialisierte Sicht für letzte bekannte Werte für Signale verwendet arg_max() den Zeitstempel für Echtzeitberichte.

  5. Die materialisierte Sicht für Signale mit Downsampling aggregiert Signale mithilfe vordefinierter Behälter wie stündlich und täglich, um die Berichterstellung über die gesamte Flotte zu vereinfachen.

  6. Gespeicherte Plug-In-Funktionen wie DetectAnomaly() finden Anomalien in Datenreihen. ML-Plug-Ins wie „autocluster“ finden allgemeine Muster von diskreten Attributen.

  7. Die GetGeospatial()-Funktion generiert GeoJSON-Dateien, die gruppierte Signale nach Geohashes enthalten.

Komponenten

Die folgenden Schlüsseltechnologien implementieren diese Workload:

Alternativen

Azure Batch ist eine gute Alternative für die komplexe Dateidecodierung. Dieses Szenario umfasst eine große Anzahl von Dateien über 300 Megabyte, die je nach Dateiversion oder -typ unterschiedliche Decodierungsalgorithmen erfordern.

Diagram that shows an alternative Azure Batch method for decoding complex files.

  1. Das Hochladen einer aufgezeichneten Datendatei in Blob Storage löst eine Funktions-App aus, die die Decodierung plant.
  2. Die Funktions-App erstellt einen Batchauftrag unter Berücksichtigung des Dateityps, der Größe und des erforderlichen Decodierungsalgorithmus. Die App wählt einen geeigneten virtuellen Computer (VM) aus dem Pool aus und startet den Auftrag.
  3. Wenn der Auftrag abgeschlossen ist, schreibt Batch die decodierte Datei zurück in die Blob Storage-Instanz. Diese Datei muss für die direkte Erfassung in einem Format geeignet sein, das von Azure Data Explorer unterstützt wird.
  4. Das Hochladen einer decodierten Signaldatei in die Blob Storage-Instanz löst eine Funktion aus, die die Daten in Azure Data Explorer erfasst. Diese Funktion erstellt die Tabelle und die Datenzuordnung, falls erforderlich, und startet die Erfassung.
  5. Azure Data Explorer erfasst die Datendateien direkt aus Blob Storage.

Diese Vorgehensweise bietet folgende Vorteile:

  • Azure Functions und Batch-Pools sind in der Lage, skalierbare Datenverarbeitungsaufgaben robust und effizient zu bewältigen.
  • Batch-Pools bieten Erkenntnisse über Verarbeitungsstatistiken, Aufgabenwarteschlangen und die Integrität von Batch-Pools. Sie können den Status visualisieren, Probleme erkennen und fehlerhafte Aufgaben erneut ausführen.
  • Die Kombination von Azure Functions und Azure Batch unterstützt die Plug & Play-Verarbeitung in Docker-Containern.

Szenariodetails

Automobilhersteller verwenden große Flotten von Prototyp- und Testfahrzeugen, um alle Arten von Fahrzeugfunktionen zu testen und zu überprüfen. Testverfahren sind teuer, da echte Fahrer und Fahrzeuge beteiligt sein müssen und bestimmte reale Testszenarien auf der Straße mehrmals durchlaufen werden müssen. Integrationstests sind besonders wichtig, um die Wechselwirkungen zwischen elektrischen, elektronischen und mechanischen Komponenten in komplexen Systemen zu bewerten.

Um Fahrzeugfunktionen zu überprüfen und Anomalien und Fehler zu analysieren, müssen Gigabytes an Diagnosedaten von elektronischen Steuergeräten (ECUs), Computerknoten, Fahrzeugkommunikationsbussen wie CAN (Controller Area Network) und Ethernet sowie Sensoren erfasst werden. In der Vergangenheit haben kleine Server zur Datenprotokollierung in den Fahrzeugen Diagnosedaten lokal als MDF- (Masterdatenbank), MFX- (Multimedia Fusion Extension), CSV- oder JSON-Dateien gespeichert. Nach Abschluss der Testfahrten luden die Server die Diagnosedaten in Rechenzentren hoch, die sie verarbeiteten und den Forschungs- und Entwicklungsingenieuren zur Analyse zur Verfügung stellten. Dieser Vorgang kann Stunden oder manchmal Tage dauern. Neuere Szenarien verwenden Muster für die Erfassung von Telemetriedaten wie synchrone Datenströme auf der Basis von MQTT (Message Queuing Telemetry Transport) oder Dateiuploads in Quasi-Echtzeit.

Mögliche Anwendungsfälle

  • Die Fahrzeugverwaltung wertet die Leistung und die gesammelten Daten pro Fahrzeug über mehrere Testszenarien hinweg aus.
  • Die System- und Komponentenüberprüfung verwendet gesammelte Fahrzeugdaten, um zu überprüfen, ob das Verhalten der Fahrzeugkomponenten während der Fahrt innerhalb der Betriebsgrenzen liegt.
  • Die Anomalieerkennung lokalisiert Abweichungen eines Sensorwerts von seinem typischen Basismuster in Echtzeit.
  • Die Ursachenanalyse verwendet ML-Plug-Ins wie Clusteringalgorithmen, um Veränderungen in der Verteilung von Werten in mehreren Dimensionen zu erkennen.
  • Predictive Maintenance kombiniert mehrere Datenquellen, angereicherte Standortdaten und Telemetriedaten, um die Zeit bis zum Ausfall von Komponenten vorherzusagen.
  • Die Nachhaltigkeitsbewertung verwendet das Fahrerverhalten und den Energieverbrauch, um die Umweltauswirkungen des Fahrzeugbetriebs zu bewerten.

Überlegungen

Diese Überlegungen bilden die Säulen des Azure Well-Architected Framework, einer Reihe von Leitprinzipien, die Sie zur Verbesserung der Qualität eines Workloads verwenden können. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.

Zuverlässigkeit

Zuverlässigkeit stellt sicher, dass Ihre Anwendung Ihre Verpflichtungen gegenüber den Kunden erfüllen kann. Weitere Informationen finden Sie in der Überblick über die Säule „Zuverlässigkeit“.

  • Azure-Verfügbarkeitszonen sind individuelle physische Standorte innerhalb der gleichen Azure-Region. Verfügbarkeitszonen können Azure Data Explorer-Computecluster und -Daten vor einem teilweisen Ausfall der Region schützen.
  • Business Continuity & Disaster Recovery (BCDR) in Azure Data Explorer ermöglicht es Ihrem Unternehmen, den Geschäftsbetrieb im Falle einer Störung aufrechtzuerhalten.
  • Ziehen Sie in Erwägung, eine Follower-Datenbank in Azure Data Explorer zu verwenden, um Computeressourcen zwischen Anwendungsfällen in Produktionsumgebungen und Nicht-Produktionsumgebungen zu trennen.

Sicherheit

Sicherheit bietet Schutz vor vorsätzlichen Angriffen und dem Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Übersicht über die Säule „Sicherheit“.

Es ist wichtig, die Aufteilung der Zuständigkeiten zwischen dem Automobilhersteller und Microsoft zu verstehen. Im Fahrzeug ist der Hersteller der Besitzer des gesamten Stapels, aber wenn die Daten in die Cloud wandern, gehen einige Verantwortlichkeiten auf Microsoft über. Azure Platform as a Service (PaaS) bietet integrierte Sicherheit auf dem physischen Stapel, einschließlich des Betriebssystems. Sie können die folgenden Funktionen auf die Sicherheitskomponenten der Infrastruktur anwenden.

All diese Features helfen Automobilherstellern, eine sichere Umgebung für ihre Fahrzeugtelemetriedaten zu schaffen. Weitere Informationen finden Sie unter Sicherheit in Azure Data Explorer.

Kostenoptimierung

Bei der Kostenoptimierung geht es um die Suche nach Möglichkeiten, unnötige Ausgaben zu reduzieren und die Betriebseffizienz zu verbessern. Weitere Informationen finden Sie unter Übersicht über die Säule „Kostenoptimierung“.

Diese Lösung verwendet die folgenden Praktiken, um die Kosten zu optimieren:

  • Konfigurieren Sie „Hot Caches“ und „Cold Storage“ für die Tabellen „Raw“ (Unformatiert) und „Signals“ (Signale) richtig. Der Cache für heiße Daten wird im RAM oder auf einer SSD gespeichert und bietet eine verbesserte Leistung. Kalte Daten sind jedoch 45 Mal günstiger. Legen Sie eine „Hot Cache“-Richtlinie fest, die für Ihren Anwendungsfall angemessen ist, z. B. 30 Tage.
  • Legen Sie eine Aufbewahrungsrichtlinie für die Tabellen „Raw“ (Unformatiert) und „Signals“ (Signale) fest. Bestimmen Sie, wann die Signaldaten nicht mehr relevant sind, z. B. nach 365 Tagen, und legen Sie die Aufbewahrungsrichtlinie entsprechend fest.
  • Überlegen Sie, welche Signale für die Analyse relevant sind.
  • Verwenden Sie materialisierte Sichten bei der Abfrage der letzten bekannten Werte der Signale, der deduplizierten Signale und der Signale mit Downsampling. Materialisierte Sichten verbrauchen weniger Ressourcen als die Aggregation von Quelltabellen bei jeder Abfrage.
  • Berücksichtigen Sie Ihre Anforderungen an die Echtzeitdatenanalyse. Das Einrichten der Streamingerfassung für die Livetelemetrietabelle ermöglicht eine Wartezeit von weniger als einer Sekunde zwischen Erfassung und Abfrage, allerdings zu höheren Kosten durch mehr CPU-Zyklen.

Effiziente Leistung

Leistungseffizienz ist die Fähigkeit Ihrer Workloads zur effizienten Skalierung, um die Anforderungen der Benutzer zu erfüllen. Weitere Informationen finden Sie unter Übersicht über die Säule „Leistungseffizienz“.

  • Wenn Anzahl und Größe der aufgezeichneten Datendateien mehr als 1.000 Dateien bzw. mehr als 300 MB pro Tag betragen, sollten Sie Azure Batch für die Decodierung verwenden.
  • Führen Sie allgemeine Berechnungen und Analysen ggf. nach der Erfassung durch, und speichern Sie sie in zusätzlichen Tabellen.

Bereitstellen dieses Szenarios

Eine schrittweise Anleitung zum Bereitstellen von Azure Data Explorer sowie zum Erfassen von MDF-Dateien finden Sie in diesem Tutorial. Dort wird gezeigt, wie Sie eine kostenlose Instanz bereitstellen, MDF-Dateien analysieren, eine Erfassung durchführen und einige grundlegende Abfragen ausführen.

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautoren:

Andere Mitwirkende:

Melden Sie sich bei LinkedIn an, um nicht öffentliche LinkedIn-Profile anzuzeigen.

Nächste Schritte