Bewerken

Delen via


Gegevensanalyse voor autotest fleets

Microsoft Fabric
Azure Data Explorer
Azure Event Hubs
Azure Functions
Azure Event Grid

Oem's (OEM's) voor auto's hebben oplossingen nodig om de tijd tussen teststations en het leveren van diagnostische gegevens voor teststations aan R&D-technici te minimaliseren. Naarmate voertuigen geautomatiseerder worden, worden de levenscycluss van softwareontwikkeling korter, wat snellere digitale feedbacklussen vereist. Nieuwe technologie kan de toegang tot gegevens democratiseren en R&D-technici vrijwel realtime inzicht geven in diagnostische gegevens van teststations. Gebruik Copilot voor Datawetenschap en Data-engineer ing voor gegevensanalyse om de tijd voor inzicht verder te verminderen. Veilig delen van gegevens kan de samenwerking tussen OEM's en leveranciers verbeteren en de ontwikkelingscyclustijden verminderen.

De richtlijnen in dit artikel zijn voor telemetriescenario's en scenario's voor gegevensopname van batchtests. Deze architectuur is gericht op het gegevensplatform dat diagnostische gegevens verwerkt en de connectors voor gegevensvisualisatie en gegevensrapportage.

Architectuur

Diagram met de analysegegevensstroom voor het streamen van autogegevens en -bestanden.

Download een PowerPoint-bestand met alle diagrammen in dit artikel.

Gegevensstroom

De volgende gegevensstroom komt overeen met het voorgaande diagram:

  1. Het apparaat voor gegevensopname is verbonden met de voertuignetwerken en verzamelt signaalgegevens en video's van voertuigen met een hoge resolutie. (1a) Het apparaat publiceert realtime telemetrieberichten of (1b) vraagt om het uploaden van opgenomen gegevensbestanden naar de Azure Event Grid MQTT-brokerfunctionaliteit met behulp van een MQTT-client. Deze functionaliteit maakt gebruik van een Claim-Check-patroon.

  2. (2a) Event Grid routeert live voertuigsignaalgegevens naar een Azure Functions-app. Deze app ontsleutelt de voertuigsignalen in de JSON-indeling (JavaScript Object Notation) en plaatst deze in een eventstream.

    (2b) Event Grid coördineert het uploaden van het bestand van de apparaatclient naar het lakehouse. Een voltooide bestandsupload activeert een pijplijn waarmee de gegevens worden gedecodeerd en het gedecodeerde bestand naar OneLine wordt geschreven in een indeling die geschikt is voor opname, zoals parquet of CSV.

  3. (3a) De eventstream routeert de gedecodeerde JSON-voertuigsignalen voor opname in eventhouse.

    (3b) Een gegevenspijplijn activeert de opname van gedecodeerde bestanden uit lakehouse.

  4. Eventhouse maakt gebruik van updatebeleid om de gegevens te verrijken en de JSON-gegevens uit te breiden naar een geschikte rijindeling, bijvoorbeeld locatiegegevens kunnen worden geclusterd om te worden afgestemd op georuimtelijke analyses. Telkens wanneer een nieuwe rij wordt opgenomen, roept de realtime analyse-engine een bijbehorende functie aan Update() .

  5. Data engineers en data scientists gebruiken Kusto-querytaal (KQL) om gebruiksvoorbeelden voor analyses te bouwen. Gebruikers slaan veelgebruikte cases op als deelbare door de gebruiker gedefinieerde functies. De technici gebruiken ingebouwde KQL-functies zoals aggregatie, tijdreeksanalyse, georuimtelijke clustering, windowing en machine learning-invoegtoepassingen met Copilot-ondersteuning.

  6. R&D-technici en gegevenswetenschappers gebruiken notebooks om gegevens te analyseren en test- en validatiegebruiksscenario's te bouwen.

    1. R&D-technici gebruiken KQL-querysets en Copilot voor Realtime Intelligence om interactieve gegevensanalyse uit te voeren.

    2. Data engineers en gegevenswetenschappers gebruiken notebooks om hun analyseprocessen op te slaan en te delen. Met notebooks kunnen technici Azure Spark gebruiken om analyses uit te voeren en Git te gebruiken om de notebookcode te beheren. Gebruikers kunnen gebruikmaken van Copilot voor Datawetenschap en Data-engineer ing om hun werkstroom te ondersteunen met contextuele codesuggesties.

  7. R&D-technici en gegevenswetenschappers kunnen Power BI gebruiken met dynamische query's of realtime analysedashboards om visualisaties te maken om te delen met zakelijke gebruikers. Deze visualisaties roepen door de gebruiker gedefinieerde functies aan voor eenvoudig onderhoud.

  8. Technici kunnen ook meer hulpprogramma's verbinden met Microsoft Fabric. Ze kunnen bijvoorbeeld Azure Managed Grafana verbinden met het Eventhouse of een webtoepassing maken waarmee rechtstreeks een query wordt uitgevoerd op Eventhouse.

  9. Data engineers en R&D-technici gebruiken Data Activator om reflexitems te maken voor het bewaken van voorwaarden en triggeracties, zoals het activeren van Power Automate-stromen voor bedrijfsintegratie. Data Activator kan bijvoorbeeld een Teams-kanaal waarschuwen als de status van een apparaat verslechtert.

  10. Met de configuratie van de gegevensverzamelaar kunnen technici het beleid voor gegevensverzameling van het apparaat voor gegevensopname wijzigen. Azure API Management abstraheert en beveiligt de partnerconfiguratie-API en biedt waarneembaarheid.

KQL-databaseschema

Diagram met de KQL-database en -methoden voor het extraheren, uitbreiden en verrijken van gegevens.

Houd rekening met het verschil tussen tabellen en fact tabellen wanneer dimension ontwerpt. Telemetrie is een fact tabel omdat voertuigsignalen geleidelijk worden toegevoegd aan streaming of als onderdeel van een volledige opname en telemetrie niet verandert. U kunt vlootmetagegevens classificeren als een fact tabel die langzaam wordt bijgewerkt.

De telemetrie van het voertuig landt in onbewerkte tabellen. U kunt de volgende concepten voor berichtverwerking gebruiken om de gegevens voor analyse en rapportage te ordenen:

  • Maak updatebeleid om de JSON-telemetriebestanden uit te breiden naar afzonderlijke voertuigsignaalrecords met behulp van methoden zoals:

    • mv-expand() breidt complexe waarden uit die zijn opgeslagen in JSON-structuren in rijen met afzonderlijke signalen.
    • geo_point_to_h3cell() of geo_point_to_geohash() converteert breedtegraad en lengtegraad naar geohashes voor georuimtelijke analyses.
    • todouble() en tostring() cast geëxtraheerde waarden uit dynamische JSON-objecten naar de juiste gegevenstypen.
    • lookup breidt de records met waarden uit een dimensietabel uit.
  • Maak een gerealiseerde signalenweergave met behulp van de aggregatiefunctie take_any() op de unieke sleutel en tijdstempel. Deze gerealiseerde weergave ontdubbelt signalen.

  • Maak een signalen laatst bekende waarden gerealiseerde weergave met behulp van de aggregatiefunctie arg_max() op de tijdstempel. Deze gerealiseerde weergave biedt een actuele status van de voertuigen.

  • Maak een Signalen Downsampled gerealiseerde weergave met behulp van de samenvattende operator met tijdlocaties, zoals uur en dagelijks. Deze gerealiseerde weergave aggregeert signalen en vereenvoudigt de rapportage over de hele vloot.

  • Door de gebruiker gedefinieerde functies maken die anomaliedetectie of hoofdoorzaakanalyse bieden.

    • Gebruik tijdreeksfuncties voor anomaliedetectie en -prognose om potentiële problemen te detecteren en fouten te voorspellen.

    • Gebruik de scanoperator om reeksen van de gegevens te scannen, te vergelijken en te bouwen. Technici kunnen de scan operator gebruiken om reeksen te detecteren. Als er bijvoorbeeld een specifieke gebeurtenis optreedt, moet een volgende gebeurtenis binnen een bepaalde tijd plaatsvinden.

    • Gebruik machine learning-invoegtoepassingen zoals autocluster om veelvoorkomende patronen van discrete kenmerken te vinden.

  • Georuimtelijke analyses uitvoeren met door de gebruiker gedefinieerde functies. Gebruik de georuimtelijke analysefuncties om coördinaten te converteren naar een geschikt rastersysteem en aggregaties uit te voeren op de gegevens.

  • Maak een tabel met metagegevens van een vloot om wijzigingen op te slaan in de metagegevens en configuratie van het voertuig. Maak een vlootmetagegevens laatst bekende waarden gerealiseerde weergave om de meest recente status van het wagenpark op te slaan op basis van een kolom die voor het laatst is gewijzigd.

Onderdelen

De volgende belangrijke technologieën implementeren deze workload. Gebruik voor elk onderdeel in de architectuur de relevante servicehandleiding in het Well-Architected Framework, indien beschikbaar. Zie well-Architected Framework-servicehandleidingen voor meer informatie.

  • Fabric Real-Time Intelligence maakt extractie van inzichten en visualisatie van voertuigtelemetrie in beweging mogelijk. U kunt eventstreams en KQL-databases uit de tijdreeks gebruiken om gegevens op te slaan en te analyseren en reflexen te gebruiken om te reageren op gebeurtenissen.

  • Data Activator is een hulpprogramma zonder code dat u kunt gebruiken om acties te automatiseren wanneer patronen of voorwaarden in gegevens veranderen.

  • Event Grid is een zeer schaalbare, volledig beheerde service voor het distribueren van berichten publiceren/abonneren die ondersteuning biedt voor MQTT-protocollen. Voertuigen kunnen Event Grid gebruiken om onderwerpen te publiceren en te abonneren, bijvoorbeeld om telemetrie te publiceren en zich te abonneren op opdracht- en controleberichten.

  • Azure Event Hubs is een realtime platform voor gegevensstreaming dat geschikt is voor het streamen van miljoenen voertuiggebeurtenissen per seconde met lage latentie.

  • Functions is een serverloze oplossing die het verwerken van telemetriegebeurtenissen van voertuigen op schaal vereenvoudigt met gebeurtenisgestuurde triggers en bindingen met behulp van de taal van uw keuze.

  • Azure Managed Grafana is een platform voor gegevensvisualisatie dat is gebaseerd op de software van Grafana Labs. Microsoft beheert en ondersteunt Azure Managed Grafana.

  • met Azure-app Service kunt u web-apps, mobiele back-ends en RESTful-API's bouwen en hosten die toegang bieden tot de telemetriegegevens van het voertuig die zijn opgeslagen in Fabric. Deze benadering vereenvoudigt het verbruik.

  • API Management is een hybride multicloudbeheerplatform voor API's.

Alternatieven

U kunt ook de volgende Azure-services gebruiken om deze architectuur te implementeren:

  • Azure Blob Storage slaat enorme hoeveelheden ongestructureerde gegevens op, zoals opnamen, logboeken en video's van de voertuigen. OneLake-opslag wordt vervangen.

  • Azure Data Explorer is een snelle, volledig beheerde gegevensanalyseservice voor realtime-analyse. Hiermee wordt de KQL-database Fabric Real-Time Intelligence vervangen.

  • Azure Batch is een alternatief dat u kunt gebruiken om complexe bestanden te decoderen. Dit scenario omvat een groot aantal bestanden met elk meer dan 300 megabytes. Voor de bestanden zijn verschillende decoderingsalgoritmen vereist op basis van de bestandsversie of het bestandstype. U kunt Fabric gebruiken of Blob Storage en Azure Data Explorer gebruiken om de volgende aanpak te implementeren.

Diagram met een alternatieve Batch-methode voor het decoderen van complexe bestanden.

  1. De gebruiker of het opnameapparaat uploadt een opgenomen gegevensbestand naar het lakehouse. Wanneer het uploaden is voltooid, wordt een Functions-app geactiveerd die decodering plant.

  2. De scheduler start een Functions-app waarmee een batchtaak wordt gemaakt op basis van het bestandstype, de bestandsgrootte en het vereiste decoderingsalgoritmen. De app selecteert een virtuele machine met een geschikte grootte uit de pool en start de taak.

  3. Batch schrijft het resulterende gedecodeerde bestand terug naar het lakehouse wanneer de taak is voltooid. Dit bestand moet geschikt zijn voor directe opname in een indeling die door Eventhouse wordt ondersteund.

  4. Het lakehouse activeert een functie die de gegevens opneemt in eventhouse bij het schrijven van een bestand. Met deze functie worden zo nodig de tabel- en gegevenstoewijzing gemaakt en wordt het opnameproces gestart.

  5. De KQL-database neemt de gegevensbestanden van het lakehouse op.

Deze aanpak biedt de volgende voordelen:

  • Functies en Batch-pools kunnen schaalbare gegevensverwerkingstaken robuust en efficiënt verwerken.

  • Batch-pools bieden inzicht in verwerkingsstatistieken, taakwachtrijen en batchpoolstatus. U kunt de status visualiseren, problemen detecteren en mislukte taken opnieuw uitvoeren.

  • De combinatie van Functions en Batch ondersteunt plug-and-play-verwerking in Docker-containers.

  • U kunt spot-VM's gebruiken om bestanden te verwerken tijdens daluren. Deze aanpak bespaart geld.

Scenariodetails

Auto-OEM's maken gebruik van grote vloot prototype- en testvoertuigen om verschillende voertuigfuncties te testen en te verifiëren. Testprocedures zijn duur omdat ze echte bestuurders en voertuigen vereisen, en specifieke praktijkscenario's voor wegtests moeten meerdere keren worden uitgevoerd. Integratietests zijn vooral belangrijk voor het evalueren van interacties tussen elektrische, elektronische en mechanische componenten in complexe systemen.

Als u voertuigfuncties wilt valideren en afwijkingen en fouten wilt analyseren, moet u petabytes aan diagnostische gegevens van elektronische besturingseenheden (ECU's), computerknooppunten, voertuigcommunicatiebussen zoals Controller Area Network (CAN) en Ethernet en sensoren vastleggen.

In het verleden hebben kleine dataloggerservers in de voertuigen diagnostische gegevens lokaal opgeslagen als MDF(Measurement Data Format), multimedia fusion extension (MFX), CSV- of JSON-bestanden. Nadat de teststations zijn voltooid, hebben de servers diagnostische gegevens geüpload naar datacenters, die deze hebben verwerkt en verzonden naar R&D-technici voor analyse. Dit proces kan uren of soms dagen duren. In recentere scenario's worden telemetrieopnamepatronen gebruikt, zoals op Message Queuing Telemetry Transport (MQTT) gebaseerde synchrone gegevensstromen of bijna realtime bestandsuploads.

Potentiële gebruikscases

  • Voertuigbeheer evalueert de prestaties en verzamelde gegevens per voertuig in meerdere testscenario's.

  • Bij systeem- en onderdeelvalidatie worden verzamelde voertuiggegevens gebruikt om te controleren of het gedrag van voertuigonderdelen binnen operationele grenzen valt tussen reizen.

  • Anomaliedetectie zoekt afwijkingspatronen van een sensorwaarde ten opzichte van het typische basislijnpatroon in realtime.

  • Analyse van hoofdoorzaak maakt gebruik van machine learning-invoegtoepassingen zoals clusteringalgoritmen om wijzigingen in de verdeling van waarden op meerdere dimensies te identificeren.

  • Voorspellend onderhoud combineert meerdere gegevensbronnen, verrijkte locatiegegevens en voertuigsignalen om de tijd die nodig is voor onderdelen te voorspellen.

  • Duurzaamheidsevaluatie maakt gebruik van bestuurdersgedrag en energieverbruik om de impact op het milieu van voertuigactiviteiten te evalueren.

  • Automotive racen om de prestaties van de voertuigen vóór, tijdens en na een race te begrijpen en te verbeteren.

Overwegingen

Met deze overwegingen worden de pijlers van het Azure Well-Architected Framework geïmplementeerd. Dit is een set richtlijnen die kunnen worden gebruikt om de kwaliteit van een workload te verbeteren. Zie Microsoft Azure Well-Architected Framework voor meer informatie.

Betrouwbaarheid

Betrouwbaarheid zorgt ervoor dat uw toepassing kan voldoen aan de toezeggingen die u aan uw klanten hebt gedaan. Zie de controlelijst ontwerpbeoordeling voor betrouwbaarheid voor meer informatie.

Beveiliging

Beveiliging biedt garanties tegen opzettelijke aanvallen en misbruik van uw waardevolle gegevens en systemen. Zie de controlelijst ontwerpbeoordeling voor beveiliging voor meer informatie.

Het is belangrijk om inzicht te hebben in de verdeling van de verantwoordelijkheid tussen de oem's voor auto's en Microsoft. In het voertuig is de OEM eigenaar van de hele stack, maar naarmate de gegevens naar de cloud worden verplaatst, worden sommige verantwoordelijkheden overgedragen naar Microsoft. Azure Platform as a Service (PaaS) biedt ingebouwde beveiliging op de fysieke stack, inclusief het besturingssysteem.

Al deze functies helpen auto-OEM's een veilige omgeving te creëren voor hun voertuigtelemetriegegevens. Zie Security in Fabric voor meer informatie.

Kostenoptimalisatie

Kostenoptimalisatie gaat over manieren om onnodige uitgaven te verminderen en operationele efficiëntie te verbeteren. Zie de controlelijst ontwerpbeoordeling voor Kostenoptimalisatie voor meer informatie.

Deze oplossing maakt gebruik van de volgende procedures om de kosten te optimaliseren:

  • Configureer hot caches en koude opslag voor de onbewerkte en signalentabellen correct. De hot data cache wordt opgeslagen in RAM of SSD en biedt verbeterde prestaties. Koude gegevens zijn echter 45 keer goedkoper. Stel een hot-cachebeleid in dat geschikt is voor uw use-case, zoals 30 dagen.

  • Stel een bewaarbeleid in voor de tabel met onbewerkte tabellen en signalen. Bepaal wanneer de signaalgegevens niet meer relevant zijn, zoals na 365 dagen, en stel het bewaarbeleid dienovereenkomstig in.

  • Bedenk welke signalen relevant zijn voor analyse.

  • Gebruik gerealiseerde weergaven wanneer u query's uitvoert op de laatst bekende waarden, signalen die zijn ontdubbeld en signalen met een downsampled. Gerealiseerde weergaven verbruiken minder resources dan het uitvoeren van brontabelaggregaties voor elke query.

  • Houd rekening met uw realtime behoeften voor gegevensanalyse. Stel streamingopname in voor de livetelemetrietabel om latentie van minder dan één seconde tussen opname en query te bieden. Deze benadering verhoogt de CPU-cycli en -kosten.

Prestatie-efficiëntie

Prestatie-efficiëntie is de mogelijkheid om op efficiënte wijze uw werkbelasting te schalen om te voldoen aan de vereisten die gebruikers eraan stellen. Zie de controlelijst ontwerpbeoordeling voor prestatie-efficiëntie voor meer informatie.

  • Overweeg Batch te gebruiken om ontsleuteling uit te voeren als het aantal en de grootte van geregistreerde gegevensbestanden meer dan 1000 bestanden of 300 MB per dag is.

  • Overweeg algemene berekeningen en analyses uit te voeren na opname en deze op te slaan in extra tabellen.

  • Gebruik best practices voor KQL-query's om uw query sneller uit te voeren.

  • Gebruik een where component om een tijdvenster te definiëren om de hoeveelheid gegevens te verminderen die wordt opgevraagd. Overweeg het beleid voor gegevenspartitie voor de signalentabel te wijzigen als uw algemene zoekcriteria niet op tijd zijn gebaseerd, bijvoorbeeld als u filtert op opname-id en signaalnaam. Wanneer de KQL-database wordt uitgebreid met miljarden of biljoenen records, wordt de juiste gegevensfiltratie essentieel, met name gezien het actieve partitiebeleid.

Waarschuwing

Neem contact op met uw ondersteuningsteam voordat u een beleid voor gegevenspartitie wijzigt.

Dit scenario implementeren

Gebruik de stapsgewijze zelfstudie om dit scenario te implementeren. De handleiding laat zien hoe u een gratis exemplaar implementeert, MDF-bestanden parseert, gegevens opneemt en verschillende basisquery's uitvoert.

Medewerkers

Dit artikel wordt onderhouden door Microsoft. De tekst is oorspronkelijk geschreven door de volgende Inzenders.

Belangrijkste auteurs:

Andere Inzenders:

Als u niet-openbare LinkedIn-profielen wilt zien, meldt u zich aan bij LinkedIn.

Volgende stappen