Oem-tillverkare (Automotive Original Equipment Manufacturers) behöver lösningar för att minimera tiden mellan testenheter och leverera diagnostikdata för provkörning till R&D-tekniker. I takt med att fordonen blir mer automatiserade blir livscykeln för programvaruutveckling kortare, vilket kräver snabbare digitala feedbackslingor. Ny teknik kan demokratisera dataåtkomst och ge R&D-tekniker nästan realtidsinsikter om diagnostikdata för testkörningar. Använd Copilot för Datavetenskap och Dataingenjör för dataanalys för att ytterligare minska tiden till insikt. Säker datadelning kan förbättra samarbetet mellan OEM-tillverkare och leverantörer och minska utvecklingscykeln.
Vägledningen i den här artikeln är för telemetriscenarier och batchtestkörningsdatainmatningsscenarier. Den här arkitekturen fokuserar på den dataplattform som bearbetar diagnostikdata och anslutningsappar för datavisualisering och datarapportering.
Arkitektur
Ladda ned en PowerPoint-fil med alla diagram i den här artikeln.
Dataflöde
Följande dataflöde motsvarar föregående diagram:
Datainsamlingsenheten är ansluten till fordonsnätverken och samlar in högupplösta fordonssignaldata och video. (1a) Enheten publicerar telemetrimeddelanden i realtid eller (1b) begär överföring av inspelade datafiler till Azure Event Grid MQTT-koordinatorfunktionen med hjälp av en MQTT-klient. Den här funktionen använder ett mönster för anspråkskontroll.
(2a) Event Grid dirigerar signaldata för livefordon till en Azure Functions-app. Den här appen avkodar fordonssignalerna till JSON-formatet (JavaScript Object Notation) och skickar dem till en händelseström.
(2b) Event Grid samordnar filuppladdningen från enhetsklienten till lakehouse. En slutförd filuppladdning utlöser en pipeline som avkodar data och skriver den avkodade filen till OneLine i ett format som är lämpligt för inmatning, till exempel parquet eller CSV.
(3a) Eventstream dirigerar de avkodade JSON-fordonssignalerna för inmatning i Eventhouse.
(3b) En datapipeline utlöser inmatning av avkodade filer från lakehouse.
Eventhouse använder uppdateringsprinciper för att utöka data och för att expandera JSON-data till ett lämpligt radformat, till exempel kan platsdata grupperas så att de överensstämmer med geospatial analys. Varje gång en ny rad matas in anropar analysmotorn i realtid en associerad
Update()
funktion.Datatekniker och dataexperter använder Kusto-frågespråk (KQL) för att skapa analysanvändningsfall. Användare lagrar ofta använda fall som delningsbara användardefinierade funktioner. Teknikerna använder inbyggda KQL-funktioner som aggregering, tidsserieanalys, geospatial klustring, fönster och maskininlärnings-plugin-program med Copilot-stöd.
R&D-tekniker och dataforskare använder notebook-filer för att analysera data och skapa användningsfall för test och validering.
R&D-tekniker använder KQL-frågeuppsättningar och Copilot för Realtidsinformation för att utföra interaktiv dataanalys.
Datatekniker och dataexperter använder notebook-filer för att lagra och dela sina analysprocesser. Med notebook-filer kan tekniker använda Azure Spark för att köra analys och använda Git för att hantera notebook-koden. Användare kan dra nytta av Copilot för Datavetenskap och Dataingenjör för att stödja arbetsflödet med kontextuella kodförslag.
R&D-tekniker och dataexperter kan använda Power BI med dynamiska frågor eller instrumentpaneler för realtidsanalys för att skapa visualiseringar att dela med företagsanvändare. Dessa visualiseringar anropar användardefinierade funktioner för att underlätta underhåll.
Tekniker kan också ansluta fler verktyg till Microsoft Fabric. De kan till exempel ansluta Azure Managed Grafana till Eventhouse eller skapa ett webbprogram som frågar Eventhouse direkt.
Datatekniker och R&D-tekniker använder DataAktivator för att skapa reflexobjekt för att övervaka villkor och utlösa åtgärder, till exempel utlösa Power Automate-flöden för affärsintegrering. Dataaktivator kan till exempel meddela en Teams-kanal om hälsotillståndet för en enhet försämras.
Konfigurationen av datainsamlaren gör det möjligt för tekniker att ändra datainsamlingsprinciperna för datainsamlingsenheten. Azure API Management abstraherar och skyddar partnerkonfigurations-API:et och ger observerbarhet.
KQL-databasschema
När du utformar tabellschemat bör du överväga skillnaden mellan fact
tabeller och dimension
tabeller. Telemetri är en fact
tabell eftersom fordonssignaler läggs till progressivt på ett strömmande sätt eller som en del av en fullständig inspelning, och telemetrin ändras inte. Du kan klassificera metadata för flottan som en fact
tabell som uppdateras långsamt.
Fordonstelemetrin hamnar i råa tabeller. Du kan använda följande begrepp för meddelandebearbetning för att organisera data för analys och rapportering:
Skapa uppdateringsprinciper för att expandera JSON-telemetrifilerna till enskilda fordonssignalposter med hjälp av metoder som:
-
mv-expand()
expanderar komplexa värden som lagras i JSON-strukturer till rader med enskilda signaler. -
geo_point_to_h3cell()
ellergeo_point_to_geohash()
konverterar latitud och longitud till geohashes för geospatial analys. -
todouble()
ochtostring()
gjuter extraherade värden från dynamiska JSON-objekt till lämpliga datatyper. -
lookup
utökar posterna med värden från en dimensionstabell.
-
Skapa en materialiserad vy med signaluppduplicerad genom att använda aggregeringsfunktionen
take_any()
på den unika nyckeln och tidsstämpeln. Den här materialiserade vyn deduplicerar signaler.Skapa en materialiserad vy för signal senast kända värden med hjälp av aggregeringsfunktionen
arg_max()
på tidsstämpeln. Den här materialiserade vyn ger en uppdaterad status för fordonen.Skapa en nedsamplad materialiserad vy med hjälp av sammanfattningsoperatorn med tidsintervall, till exempel varje timme och varje dag. Den här materialiserade vyn aggregerar signaler och förenklar rapporteringen i hela flottan.
Skapa användardefinierade funktioner som tillhandahåller avvikelseidentifiering eller rotorsaksanalys.
Använd tidsseriefunktioner för avvikelseidentifiering och prognostisering för att identifiera potentiella problem och förutsäga fel.
Använd genomsökningsoperatorn för att skanna, matcha och skapa sekvenser från data. Tekniker kan använda operatorn
scan
för att identifiera sekvenser. Om en viss händelse till exempel inträffar måste en efterföljande händelse inträffa inom en viss tid.Använd maskininlärnings-plugin-program som autokluster för att hitta vanliga mönster för diskreta attribut.
Utföra geospatiala analyser med användardefinierade funktioner. Använd geospatiala analysfunktioner för att konvertera koordinater till ett lämpligt rutnätssystem och utföra aggregeringar på data.
Skapa en tabell med metadata för flottan för att lagra ändringar i fordonsmetadata och konfiguration. Skapa en databasmetadata senast kända värden materialiserad vy för att lagra det senaste tillståndet för fordonsflottan baserat på en senast ändrad kolumn.
Komponenter
Följande viktiga tekniker implementerar den här arbetsbelastningen. För varje komponent i arkitekturen använder du den relevanta tjänstguiden i Well-Architected Framework där det är tillgängligt. Mer information finns i Tjänstguider för välarkitekterat ramverk.
Realtidsinformation för infrastrukturresurser möjliggör extrahering av insikter och visualisering av fordonstelemetri i rörelse. Du kan använda eventstreams- och tidsserie-KQL-databaser för att lagra och analysera data och använda reflexer för att reagera på händelser.
Dataaktivator är ett kodlöst verktyg som du kan använda för att automatisera åtgärder när mönster eller villkor ändras i data.
Event Grid är en mycket skalbar, fullständigt hanterad distributionstjänst för publicera/prenumerera-meddelanden som stöder MQTT-protokoll. Fordon kan använda Event Grid för att publicera och prenumerera på ämnen, till exempel kan de publicera telemetri och prenumerera på kommando- och kontrollmeddelanden.
Azure Event Hubs är en plattform för dataströmning i realtid som passar bra för att strömma miljontals fordonshändelser per sekund med låg svarstid.
Functions är en serverlös lösning som förenklar bearbetning av fordonstelemetrihändelser i stor skala med händelsedrivna utlösare och bindningar med hjälp av det språk du väljer.
Azure Managed Grafana är en plattform för datavisualisering som baseras på programvaran från Grafana Labs. Microsoft hanterar och stöder Azure Managed Grafana.
Med Azure App Service kan du skapa och vara värd för webbappar, mobila serverdelar och RESTful-API:er som ger åtkomst till fordonstelemetridata som lagras i Fabric. Den här metoden förenklar förbrukningen.
API Management är en hybridplattform för hantering av flera moln för API:er.
Alternativ
Du kan också använda följande Azure-tjänster för att implementera den här arkitekturen:
Azure Blob Storage lagrar enorma mängder ostrukturerade data, till exempel inspelningar, loggar och videor från fordonen. Den ersätter OneLake-lagring.
Azure Data Explorer är en snabb, fullständigt hanterad dataanalystjänst för realtidsanalys. Den ersätter KQL-databasen Fabric Real-Time Intelligence.
Azure Batch är ett alternativ som du kan använda för att avkoda komplexa filer. Det här scenariot omfattar ett stort antal filer som är över 300 mb vardera. Filerna kräver olika avkodningsalgoritmer baserat på filversionen eller filtypen. Du kan använda antingen Infrastrukturresurser eller Använda Blob Storage och Azure Data Explorer för att implementera följande metod.
Användaren eller inspelningsenheten laddar upp en inspelad datafil till lakehouse. När uppladdningen är klar utlöser den en Functions-app som schemalägger avkodning.
Schemaläggaren startar en Functions-app som skapar ett batchjobb baserat på filtyp, filstorlek och nödvändig avkodningsalgoritm. Appen väljer en virtuell dator med en lämplig storlek från poolen och startar jobbet.
Batch skriver den resulterande avkodade filen tillbaka till lakehouse när jobbet är klart. Den här filen måste vara lämplig för direkt inmatning i ett format som Eventhouse stöder.
Lakehouse utlöser en funktion som matar in data i Eventhouse vid filskrivning. Den här funktionen skapar tabellen och datamappningen vid behov och startar inmatningsprocessen.
KQL-databasen matar in datafilerna från lakehouse.
Den här metoden ger följande fördelar:
Funktioner och Batch-pooler kan hantera skalbara databearbetningsuppgifter robust och effektivt.
Batchpooler ger insikter om bearbetningsstatistik, uppgiftsköer och batchpoolens hälsa. Du kan visualisera status, identifiera problem och köra misslyckade uppgifter igen.
Kombinationen av Functions och Batch stöder plug-and-play-bearbetning i Docker-containrar.
Du kan använda virtuella datorer med oanvänd kapacitet för att bearbeta filer under tider med låg belastning. Den här metoden sparar pengar.
Information om scenario
Oem-tillverkare för fordon använder stora fordonsflottor av prototyp- och testfordon för att testa och verifiera flera fordonsfunktioner. Testprocedurer är dyra eftersom de kräver verkliga förare och fordon, och specifika verkliga scenarier för vägtestning måste passera flera gånger. Integreringstestning är särskilt viktigt för att utvärdera interaktioner mellan elektriska, elektroniska och mekaniska komponenter i komplexa system.
För att verifiera fordonsfunktioner och analysera avvikelser och fel måste du samla in petabyte med diagnostikdata från elektroniska kontrollenheter (ECUs), datornoder, fordonskommunikationsbussar som Controller Area Network (CAN) och Ethernet och sensorer.
Tidigare lagrade små dataloggarservrar i fordonen diagnostikdata lokalt som MDF-filer (Measurement Data Format), multimediefusionstillägg (MFX), CSV- eller JSON-filer. När testenheterna var klara laddade servrarna upp diagnostikdata till datacenter, som bearbetade dem och skickade dem till R&D-tekniker för analys. Den här processen kan ta timmar eller ibland dagar. Nyare scenarier använder telemetriinmatningsmönster som MQTT-baserade synkrona dataströmmar (Message Queuing Telemetry Transport) eller filuppladdningar i nära realtid.
Potentiella användningsfall
Fordonshantering utvärderar prestanda och insamlade data per fordon i flera testscenarier.
System- och komponentvalidering använder insamlade fordonsdata för att verifiera att beteendet för fordonskomponenter faller inom driftsgränserna över resor.
Avvikelseidentifiering letar upp avvikelsemönster för ett sensorvärde i förhållande till dess typiska baslinjemönster i realtid.
Rotorsaksanalys använder plugin-program för maskininlärning, till exempel klustringsalgoritmer för att identifiera ändringar i fördelningen av värden på flera dimensioner.
Förutsägande underhåll kombinerar flera datakällor, berikade platsdata och fordonssignaler för att förutsäga komponentens tid till fel.
Hållbarhetsutvärderingen använder förarens beteende och energiförbrukning för att utvärdera miljöpåverkan från fordonsdrift.
Fordonsracing för att förstå och förbättra prestanda för fordonen före, under och efter en tävling.
Att tänka på
Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.
Tillförlitlighet
Tillförlitlighet säkerställer att ditt program kan uppfylla de åtaganden du gör gentemot dina kunder. Mer information finns i Checklista för designgranskning för tillförlitlighet.
Azure-tillgänglighetszoner är unika fysiska platser i samma Azure-region. Tillgänglighetszoner kan skydda Azure Data Explorer-beräkningskluster och data från partiella regionfel.
Med affärskontinuitet och haveriberedskap (BCDR) i Azure Data Explorer kan ditt företag fortsätta att fungera efter avbrott.
Uppföljningsdatabaser separerar beräkningsresurser mellan användningsfall för produktion och icke-produktion.
Säkerhet
Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i Checklista för designgranskning för säkerhet.
Det är viktigt att förstå ansvarsfördelningen mellan fordons-OEM och Microsoft. I fordonet äger OEM-tillverkaren hela stacken, men när data flyttas till molnet överförs vissa ansvarsområden till Microsoft. Azure Platform as a Service (PaaS) ger inbyggd säkerhet på den fysiska stacken, inklusive operativsystemet.
Använd Azure Policy för att tillämpa skyddsräcken.
Granska styrningsöversikten och vägledningen för Infrastrukturresurser.
Använd privata slutpunkter för att tillhandahålla nätverkssäkerhet för alla tjänster.
Kryptera vilande data och data under överföring.
Använd Microsoft Entra-identiteter och principer för villkorsstyrd åtkomst i Microsoft Entra.
Använd säkerhet på radnivå (RLS) för KQL-databaser och Azure Data Explorer.
Använd begränsningssatsen när du implementerar mellanprogramsprogram med åtkomst till KQL-databasen. Den här konfigurationen skapar en logisk modell som begränsar användarens åtkomst till data.
Alla dessa funktioner hjälper fordonsoperativsystem att skapa en säker miljö för sina fordonstelemetridata. Mer information finns i Säkerhet i Infrastrukturresurser.
Kostnadsoptimering
Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i Checklista för designgranskning för kostnadsoptimering.
Den här lösningen använder följande metoder för att optimera kostnaderna:
Konfigurera frekventa cacheminnen och kall lagring för tabellerna raw och signals. Cacheminnet för frekventa data lagras i RAM-minne eller SSD och ger bättre prestanda. Kalla data är dock 45 gånger billigare. Ange en princip för frekvent cache som är lämplig för ditt användningsfall, till exempel 30 dagar.
Konfigurera en kvarhållningsprincip i tabellen raw och signaler. Fastställ när signaldata inte längre är relevanta, till exempel efter 365 dagar, och ange kvarhållningsprincipen i enlighet med detta.
Tänk på vilka signaler som är relevanta för analys.
Använd materialiserade vyer när du frågar efter de senast kända signalvärdena, signalerna deduplicerade och signalerna nedsamplade. Materialiserade vyer förbrukar färre resurser än källtabellsammansättningar för varje fråga.
Överväg dina dataanalysbehov i realtid. Konfigurera direktuppspelningsinmatning för live-telemetritabellen för att ge svarstid på mindre än en sekund mellan inmatning och fråga. Den här metoden ökar processorcykler och kostnader.
Prestandaeffektivitet
Prestandaeffektivitet är arbetsbelastningens förmåga att skala för att uppfylla användarnas krav på ett effektivt sätt. Mer information finns i Checklista för designgranskning för prestandaeffektivitet.
Överväg att använda Batch för att utföra avkodning om antalet och storleken på registrerade datafiler är mer än 1 000 filer eller 300 MB per dag.
Överväg att utföra vanliga beräkningar och analyser efter inmatning och lagra dem i extra tabeller.
Använd metodtips för KQL-frågor för att få frågan att köras snabbare.
Använd en
where
sats för att definiera ett tidsfönster för att minska mängden data som efterfrågas. Överväg att ändra datapartitionsprincipen för signaltabellen om dina vanliga sökvillkor inte är tidsbaserade, till exempel om du filtrerar genom att registrera ID och signalnamn. När KQL-databasen utökas till att innehålla miljarder eller biljoner poster blir korrekt datafiltrering nödvändig, särskilt med tanke på den aktiva partitionsprincipen.
Varning
Kontakta supportteamet innan du ändrar en princip för datapartition.
Distribuera det här scenariot
Använd den stegvisa självstudien för att distribuera det här scenariot. Guiden visar hur du distribuerar en kostnadsfri instans, parsar MDF-filer, matar in data och utför flera grundläggande frågor.
Deltagare
Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.
Huvudsakliga författare:
- Boris Scholl | Partner, chefsarkitekt
- Frank Kaleck | Industry Advisor Automotive
- Henning Rauch | Programhanteraren för huvudnamn
- Mario Ortegon-Cabrera | Programhanteraren för huvudnamn
Övriga medarbetare:
- Devang Shah | Programhanteraren för huvudnamn
- Hans-Peter Bareiner | Molnlösningsarkitekt
- Jason Bouska | Sr. Software Engineer
Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.
Nästa steg
- MQTT-koordinatorfunktion i Event Grid
- Lägga till ett KQL-databasmål i en händelseström
- Hämta data från OneLake
- Materialiserade vyer
- Skapa en instrumentpanel i realtid
- Skapa dataaktiveringsaviseringar från en instrumentpanel i realtid
- Power BI-rapport
- Visualisera data från Azure Data Explorer i Grafana
- Referensarkitektur för fordonsmeddelanden, data och analys