I produttori di apparecchiature originali (OEM) automobilistiche necessitano di soluzioni per ridurre al minimo il tempo tra i test drive e la distribuzione dei dati di diagnostica dei test drive agli ingegneri R&D. Man mano che i veicoli diventano più automatizzati, i cicli di vita di sviluppo software diventano più brevi, che richiedono cicli di feedback digitali più veloci. La nuova tecnologia può democratizzare l'accesso ai dati e fornire ai tecnici R&D informazioni dettagliate quasi in tempo reale sui dati di diagnostica del test drive. Usare Copilot per data science e Ingegneria dei dati per l'analisi dei dati per ridurre ulteriormente il tempo necessario per ottenere informazioni dettagliate. La condivisione sicura dei dati può migliorare la collaborazione tra OEM e fornitori e ridurre i tempi del ciclo di sviluppo.
Il materiale sussidiario di questo articolo è destinato agli scenari di telemetria e agli scenari di inserimento dei dati in batch di test drive. Questa architettura è incentrata sulla piattaforma dati che elabora i dati di diagnostica e sui connettori per la visualizzazione dei dati e la creazione di report dei dati.
Architettura
Scaricare un file di PowerPoint di tutti i diagrammi in questo articolo.
Flusso di dati
Il flusso di dati seguente corrisponde al diagramma precedente:
Il dispositivo di acquisizione dati è connesso alle reti del veicolo e raccoglie dati e video di segnale del veicolo ad alta risoluzione. (1a) Il dispositivo pubblica messaggi di telemetria in tempo reale o (1b) richiede il caricamento dei file di dati registrati nella funzionalità del broker MQTT Griglia di eventi di Azure usando un client MQTT. Questa funzionalità usa un modello Claim-Check.
(2a) Griglia di eventi instrada i dati dei segnali dei veicoli live a un'app Funzioni di Azure. Questa app decodifica i segnali del veicolo al formato JSON (JavaScript Object Notation) e li invia a un flusso di eventi.
(2b) Griglia di eventi coordina il caricamento del file dal client del dispositivo al lakehouse. Un caricamento di file completato attiva una pipeline che decodifica i dati e scrive il file decodificato in OneLine in un formato adatto per l'inserimento, ad esempio parquet o CSV.
(3a) Il flusso di eventi instrada i segnali del veicolo JSON decodificato per l'inserimento nella Eventhouse.
(3b) Una pipeline di dati attiva l'inserimento di file decodificati dalla lakehouse.
L'eventhouse usa i criteri di aggiornamento per arricchire i dati e per espandere i dati JSON in un formato di riga appropriato, ad esempio i dati di posizione potrebbero essere raggruppati per allinearli all'analisi geospaziale. Ogni volta che viene inserita una nuova riga, il motore di analisi in tempo reale richiama una funzione associata
Update()
.I data engineer e i data scientist usano Linguaggio di query Kusto (KQL) per creare casi d'uso di analisi. Gli utenti archiviano casi usati di frequente come funzioni condivise definite dall'utente. I tecnici usano funzioni KQL predefinite, ad esempio aggregazione, analisi di serie temporali, clustering geospaziale, windowing e plug-in di Machine Learning con il supporto di Copilot.
I tecnici e i data scientist di R&D usano notebook per analizzare i dati e compilare casi d'uso di test e convalida.
I tecnici R&D usano set di query KQL e Copilot per l'intelligenza in tempo reale per eseguire l'analisi interattiva dei dati.
I data engineer e i data scientist usano notebook per archiviare e condividere i processi di analisi. Con i notebook, i tecnici possono usare Azure Spark per eseguire analisi e usare Git per gestire il codice del notebook. Gli utenti possono sfruttare Copilot per data science e Ingegneria dei dati per supportare il flusso di lavoro con suggerimenti di codice contestuali.
I tecnici e i data scientist di R&D possono usare Power BI con query dinamiche o dashboard di analisi in tempo reale per creare visualizzazioni da condividere con gli utenti aziendali. Queste visualizzazioni richiamano funzioni definite dall'utente per semplificare la manutenzione.
I tecnici possono anche connettere altri strumenti a Microsoft Fabric. Ad esempio, possono connettere Grafana gestito di Azure alla eventhouse o creare un'applicazione Web che esegue direttamente una query in Eventhouse.
I data engineer e i tecnici R&D usano Data Activator per creare elementi riflessi per monitorare le condizioni e attivare azioni, ad esempio l'attivazione dei flussi di Power Automate per l'integrazione aziendale. Ad esempio, Data Activator può notificare a un canale di Teams se l'integrità di un dispositivo si degrada.
La configurazione dell'agente di raccolta dati consente ai tecnici di modificare i criteri di raccolta dati del dispositivo di acquisizione dati. Azure Gestione API astrae e protegge l'API di configurazione dei partner e fornisce l'osservabilità.
Schema del database KQL
Quando si progetta lo schema della tabella, considerare la differenza tra fact
tabelle e dimension
tabelle. I dati di telemetria sono una fact
tabella perché i segnali dei veicoli vengono aggiunti progressivamente in modalità di streaming o come parte di una registrazione completa e i dati di telemetria non cambiano. È possibile classificare i metadati della flotta come tabella fact
che vengono aggiornati lentamente.
La telemetria del veicolo viene inserita in tabelle non elaborate. È possibile usare i concetti di elaborazione dei messaggi seguenti per organizzare i dati per l'analisi e la creazione di report:
Creare criteri di aggiornamento per espandere i file di telemetria JSON in singoli record dei segnali del veicolo usando metodi come:
-
mv-expand()
espande i valori complessi archiviati in strutture JSON in righe con singoli segnali. -
geo_point_to_h3cell()
ogeo_point_to_geohash()
converte latitudine e longitudine in geohashe per l'analisi geospaziale. -
todouble()
etostring()
esegue il cast dei valori estratti da oggetti JSON dinamici nei tipi di dati appropriati. -
lookup
estende i record con valori di una tabella delle dimensioni.
-
Creare una vista materializzata segnali deduplicati usando la funzione
take_any()
di aggregazione sulla chiave univoca e sul timestamp. Questa vista materializzata deduplica i segnali.Creare una vista Segnali ultimi valori noti materializzati usando la funzione
arg_max()
di aggregazione sul timestamp. Questa vista materializzata fornisce uno stato aggiornato dei veicoli.Creare una visualizzazione materializzata segnali downcampionati usando l'operatore summarize con contenitori di tempo, ad esempio oraria e giornaliera. Questa vista materializzata aggrega i segnali e semplifica la creazione di report in tutta la flotta.
Creare funzioni definite dall'utente che forniscono il rilevamento anomalie o l'analisi della causa radice.
Usare le funzioni delle serie temporali per il rilevamento e la previsione delle anomalie per rilevare potenziali problemi e prevedere gli errori.
Usare l'operatore scan per analizzare, associare e compilare sequenze dai dati. I tecnici possono usare l'operatore
scan
per rilevare le sequenze. Ad esempio, se si verifica un evento specifico, un evento successivo deve verificarsi entro un determinato periodo di tempo.Usare plug-in di Machine Learning come autocluster per trovare modelli comuni di attributi discreti.
Eseguire analisi geospaziali con funzioni definite dall'utente. Usare le funzioni di analisi geospaziali per convertire le coordinate in un sistema griglia appropriato ed eseguire aggregazioni sui dati.
Creare una tabella di metadati della flotta per archiviare le modifiche nei metadati e nella configurazione del veicolo. Creare un'ultima visualizzazione materializzata dei metadati della flotta di veicoli per archiviare lo stato più recente della flotta di veicoli in base a una colonna modificata per l'ultima volta.
Componenti
Le tecnologie chiave seguenti implementano questo carico di lavoro. Per ogni componente nell'architettura, usare la guida al servizio pertinente in Well-Architected Framework, se disponibile. Per altre informazioni, vedere Guide ai servizi Well-Architected Framework.
Fabric Real-Time Intelligence consente l'estrazione di informazioni dettagliate e visualizzazione dei dati di telemetria dei veicoli in movimento. È possibile usare i flussi di eventi e i database KQL della serie temporale per archiviare e analizzare i dati e usare riflessi per reagire agli eventi.
Data Activator è uno strumento senza codice che è possibile usare per automatizzare le azioni quando i modelli o le condizioni cambiano nei dati.
Griglia di eventi è un servizio di distribuzione di messaggi Publish/Subscribe completamente gestito e altamente scalabile che supporta i protocolli MQTT. I veicoli possono usare Griglia di eventi per pubblicare e sottoscrivere argomenti, ad esempio possono pubblicare dati di telemetria e sottoscrivere messaggi di comando e controllo.
Hub eventi di Azure è una piattaforma di streaming di dati in tempo reale adatta per lo streaming di milioni di eventi del veicolo al secondo con bassa latenza.
Funzioni è una soluzione serverless che semplifica l'elaborazione di eventi di telemetria del veicolo su larga scala con trigger e associazioni basati su eventi usando il linguaggio preferito.
Azure Managed Grafana è una piattaforma di visualizzazione dei dati basata sul software di Grafana Labs. Microsoft gestisce e supporta Grafana gestito di Azure.
app Azure Servizio consente di compilare e ospitare app Web, back-end per dispositivi mobili e API RESTful che forniscono l'accesso ai dati di telemetria del veicolo archiviati in Fabric. Questo approccio semplifica l'utilizzo.
Gestione API è una piattaforma di gestione multicloud ibrida per le API.
Alternative
È anche possibile usare i servizi di Azure seguenti per implementare questa architettura:
Archiviazione BLOB di Azure archivia enormi quantità di dati non strutturati, ad esempio registrazioni, log e video dei veicoli. Sostituisce l'archiviazione OneLake.
Esplora dati di Azure è un servizio di analisi dei dati veloce e completamente gestito per l'analisi in tempo reale di volumi elevati di dati. Sostituisce il database KQL di Fabric Real-Time Intelligence.
Azure Batch è un'alternativa che è possibile usare per decodificare file complessi. Questo scenario prevede un numero elevato di file che superano i 300 megabyte ciascuno. I file richiedono algoritmi di decodifica diversi in base alla versione del file o al tipo di file. È possibile usare Fabric o usare Archiviazione BLOB e Azure Esplora dati per implementare l'approccio seguente.
L'utente o la registrazione del dispositivo carica un file di dati registrato nel lakehouse. Al termine del caricamento, attiva un'app per le funzioni che pianifica la decodifica.
L'utilità di pianificazione avvia un'app per le funzioni che crea un processo batch in base al tipo di file, alle dimensioni del file e all'algoritmo di decodifica richiesto. L'app seleziona una macchina virtuale con dimensioni appropriate dal pool e avvia il processo.
Batch scrive nuovamente il file decodificato risultante nella lakehouse al termine del processo. Questo file deve essere adatto per l'inserimento diretto in un formato supportato dalla Eventhouse.
Il lakehouse attiva una funzione che inserisce i dati nella Eventhouse al momento della scrittura del file. Questa funzione crea la tabella e il mapping dei dati, se necessario e avvia il processo di inserimento.
Il database KQL inserisce i file di dati dal lakehouse.
Questa funzione offre i seguenti vantaggi:
Funzioni e pool di Batch possono gestire attività di elaborazione dati scalabili in modo affidabile ed efficiente.
I pool di Batch forniscono informazioni dettagliate sull'elaborazione di statistiche, code di attività e integrità del pool batch. È possibile visualizzare lo stato, rilevare i problemi ed eseguire di nuovo attività non riuscite.
La combinazione di Funzioni e Batch supporta l'elaborazione plug-and-play nei contenitori Docker.
È possibile usare le macchine virtuali spot per elaborare i file durante i periodi di minore attività. Questo approccio consente di risparmiare denaro.
Dettagli dello scenario
Gli OEM automobilistici usano grandi flotta di prototipi e veicoli di prova per testare e verificare diverse funzioni del veicolo. Le procedure di test sono costose perché richiedono conducenti e veicoli reali e specifici scenari di test stradali reali devono superare più volte. I test di integrazione sono particolarmente importanti per valutare le interazioni tra componenti elettrici, elettronici e meccanici in sistemi complessi.
Per convalidare le funzioni del veicolo e analizzare anomalie e guasti, è necessario acquisire petabyte di dati di diagnostica da unità di controllo elettroniche (ECU), nodi computer, bus di comunicazione dei veicoli come Controller Area Network (CAN) e Ethernet e sensori.
In passato, piccoli server di logger di dati nei veicoli archiviati localmente come file MDF (Measurement Data Format), multimedia fusion extension (MFX), CSV o JSON. Al termine dei test drive, i server caricarono i dati di diagnostica nei data center, che lo elaborarono e lo inviò ai tecnici R&D per l'analisi. Questo processo potrebbe richiedere ore o a volte giorni. Gli scenari più recenti usano modelli di inserimento dei dati di telemetria come i flussi di dati sincroni basati su Accodamento messaggi (MQTT) o i caricamenti di file quasi in tempo reale.
Potenziali casi d'uso
La gestione dei veicoli valuta le prestazioni e i dati raccolti per ogni veicolo in più scenari di test.
La convalida del sistema e dei componenti usa i dati dei veicoli raccolti per verificare che il comportamento dei componenti del veicolo rientra entro i limiti operativi tra le corse.
Il rilevamento anomalie individua i modelli di deviazione di un valore del sensore rispetto al modello di base tipico in tempo reale.
L'analisi della causa radice usa plug-in di Machine Learning, ad esempio algoritmi di clustering, per identificare le modifiche nella distribuzione dei valori in più dimensioni.
La manutenzione predittiva combina più origini dati, dati sulla posizione arricchiti e segnali del veicolo per stimare il tempo di guasto del componente.
La valutazione della sostenibilità utilizza il comportamento del conducente e il consumo energetico per valutare l'impatto ambientale delle operazioni dei veicoli.
Corse automobilistiche per comprendere e migliorare le prestazioni dei veicoli prima, durante e dopo una gara.
Considerazioni
Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, che è un set di principi guida che possono essere usati per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Microsoft Azure Well-Architected Framework.
Affidabilità
L'affidabilità garantisce che l'applicazione possa soddisfare gli impegni che l'utente ha preso con i clienti. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per l'affidabilità.
Le Zone di disponibilità di Azure sono località fisiche univoche all'interno della stessa area di Azure. Le zone di disponibilità possono proteggere i cluster di calcolo e i dati di Esplora dati di Azure da errori parziali dell'area.
Continuità aziendale e ripristino in caso di emergenza (BCDR) di Azure consente all'azienda di continuare ad essere operativa in caso di interruzione.
I database follower separano le risorse di calcolo tra i casi d'uso di produzione e non di produzione.
Sicurezza
La sicurezza offre garanzie contro attacchi intenzionali e l'abuso di dati e sistemi preziosi. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per la sicurezza.
È importante comprendere la suddivisione di responsabilità tra Microsoft e l'OEM automotive. Nel veicolo, l'OEM possiede l'intero stack, ma man mano che i dati si spostano nel cloud, alcune responsabilità vengono trasferite a Microsoft. La piattaforma distribuita come servizio (PaaS) di Azure offre sicurezza incorporata nello stack fisico, incluso il sistema operativo.
Usare Criteri di Azure per applicare protezioni di sicurezza.
Esaminare la panoramica della governance e le linee guida per Fabric.
Usare gli endpoint privati per fornire la sicurezza di rete per tutti i servizi.
I dati sono crittografati quando sono in transito o inattivi.
Usare le identità di Microsoft Entra e i criteri di accesso condizionale di Microsoft Entra.
Usare la sicurezza a livello di riga per i database KQL e Azure Esplora dati.
Usare l'istruzione restrict quando si implementano applicazioni middleware con accesso al database KQL. Questa configurazione crea un modello logico che limita l'accesso utente ai dati.
Tutte queste funzionalità consentono agli OEM di automobili di creare un ambiente sicuro per i dati di telemetria dei veicoli. Per altre informazioni, consultare Sicurezza in Fabric.
Ottimizzazione dei costi
L'ottimizzazione dei costi riguarda l'analisi dei modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Elenco di controllo per la revisione della progettazione per l'ottimizzazione dei costi.
Questa soluzione usa le procedure seguenti per ottimizzare i costi:
Configurare correttamente le cache ad accesso frequente e l'archiviazione ad accesso sporadico per le tabelle non elaborate e segnali. La cache dei dati ad accesso frequente viene archiviata in RAM o SSD e offre prestazioni migliorate. I dati freddi, tuttavia, sono 45 volte più economici. Impostare un criterio di cache ad accesso frequente adeguato per il caso d'uso, ad esempio 30 giorni.
Configurare un criterio di conservazione nella tabella non elaborata e nella tabella dei segnali. Determinare quando i dati del segnale non sono più rilevanti, ad esempio dopo 365 giorni e impostare di conseguenza i criteri di conservazione.
Considerare quali segnali sono rilevanti per l'analisi.
Usare le viste materializzate quando si eseguono query sui segnali di valori noti, segnali deduplicati e segnali di cui è stato eseguito il downcampionamento. Le viste materializzate utilizzano meno risorse rispetto all'esecuzione di aggregazioni di tabelle di origine in ogni query.
Prendere in considerazione le esigenze di analisi dei dati in tempo reale. Configurare l'inserimento in streaming per la tabella di telemetria live per garantire una latenza inferiore a un secondo tra inserimento e query. Questo approccio aumenta i cicli e i costi della CPU.
Efficienza prestazionale
L'efficienza delle prestazioni è la capacità di dimensionare il carico di lavoro per soddisfare in modo efficiente le richieste poste dagli utenti. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per l'efficienza delle prestazioni.
È consigliabile usare Batch per eseguire la decodifica se il numero e le dimensioni dei file di dati registrati sono superiori a 1.000 file o 300 MB al giorno.
Prendere in considerazione l'esecuzione di calcoli e analisi comuni dopo l'inserimento e l'archiviazione in tabelle aggiuntive.
Usare le procedure consigliate per le query KQL per velocizzare l'esecuzione della query.
Usare una
where
clausola per definire un intervallo di tempo per ridurre la quantità di dati sottoposti a query. Valutare la possibilità di modificare i criteri di partizione dei dati per la tabella dei segnali se i criteri di ricerca comuni non sono basati sul tempo, ad esempio se si filtrano in base all'ID di registrazione e al nome del segnale. Quando il database KQL si espande per contenere miliardi o trilioni di record, la corretta filtraggio dei dati diventa essenziale, soprattutto considerando i criteri di partizione attivi.
Avviso
Rivolgersi al team di supporto prima di modificare i criteri di partizione dei dati.
Distribuire lo scenario
Usare l'esercitazione dettagliata per distribuire questo scenario. La guida illustra come distribuire un'istanza gratuita, analizzare i file MDF, inserire dati ed eseguire diverse query di base.
Collaboratori
Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.
Autori principali:
- Boris Scholl | Partner, Chief Architect
- Frank Kaleck | Industry Advisor Automotive
- Henning Rauch | Principal Program Manager
- Mario Ortegon-Cabrera | Principal Program Manager
Altri contributori:
- Devang Shah | Principal Program Manager
- Hans-Peter Bareiner | Cloud Solution Architect
- Jason Bouska | Sr. Software Engineer
Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.
Passaggi successivi
- Funzionalità broker MQTT in Griglia di eventi
- Aggiungere una destinazione del database KQL a un flusso di eventi
- Ottenere dati da OneLake
- Viste materializzate
- Creare dashboard in tempo reale.
- Crea avvisi di Data Activator da una dashboard in tempo reale
- Report Power BI
- Visualizzare i dati da Esplora dati di Azure in Grafana
- Architettura di riferimento per messaggistica, dati e analisi per il settore automobilistico