Analiza danych dla flot testów samochodowych
Producenci oryginalnego sprzętu motoryzacyjnego (OEM) potrzebują rozwiązań, aby zminimalizować czas między dyskami testowymi a dostarczaniem danych diagnostycznych jazdy testowej inżynierom ds. badań i badań. W miarę jak pojazdy stają się bardziej zautomatyzowane, cykle życia tworzenia oprogramowania stają się krótsze, co wymaga szybszych cyfrowych pętli opinii. Nowa technologia może zdemokratyzować dostęp do danych i zapewnić inżynierom R&D niemal w czasie rzeczywistym wgląd w dane diagnostyczne dysku testowego. Użyj narzędzia Copilot do Nauka o danych i inżynierowie danych na potrzeby analizy danych, aby jeszcze bardziej skrócić czas na szczegółowe informacje. Bezpieczne udostępnianie danych może zwiększyć współpracę między OEM i dostawcami oraz skrócić czas cyklu programowania.
Wskazówki zawarte w tym artykule dotyczą scenariuszy telemetrii i scenariuszy pozyskiwania danych na dysku testowym wsadowym. Ta architektura koncentruje się na platformie danych, która przetwarza dane diagnostyczne i łączniki do wizualizacji danych i raportowania danych.
Architecture
Pobierz plik programu PowerPoint ze wszystkimi diagramami w tym artykule.
Dataflow
Poniższy przepływ danych odpowiada powyższemu diagramowi:
Urządzenie do przechwytywania danych jest połączone z sieciami pojazdów i zbiera dane sygnału pojazdu o wysokiej rozdzielczości i wideo. (1a) The device publishes real-time telemetry messages or (1b) requests the upload of recorded data files to the Azure Event Grid MQTT broker functionality by using an MQTT client. Ta funkcja używa wzorca sprawdzania oświadczeń.
(2a) Event Grid routes live vehicle signal data to an Azure Functions app. Ta aplikacja dekoduje sygnały pojazdu do formatu JavaScript Object Notation (JSON) i publikuje je w strumieniu zdarzeń.
(2b) Event Grid coordinates the file upload from the device client to the lakehouse. Ukończone przekazywanie pliku wyzwala potok, który dekoduje dane i zapisuje dekodowany plik w usłudze OneLine w formacie odpowiednim do pozyskiwania, na przykład parquet lub CSV.
(3a) The eventstream routes the decoded JSON vehicle signals for ingestion in the Eventhouse.
(3b) A data pipeline triggers the ingestion of decoded files from the lakehouse.
The Eventhouse uses update policies to enrich the data and to expand the JSON data into a suitable row format, for example location data might be clustered to align with geospatial analytics. Za każdym razem, gdy nowy wiersz jest pozyskiwany, aparat analizy w czasie rzeczywistym wywołuje skojarzą
Update()
funkcję.Inżynierowie danych i analitycy danych używają język zapytań Kusto (KQL) do tworzenia przypadków użycia analizy. Użytkownicy przechowują często używane przypadki jako funkcje zdefiniowane przez użytkownika. Inżynierowie używają wbudowanych funkcji KQL, takich jak agregacja, analiza szeregów czasowych, klastrowanie geoprzestrzenne, okna i wtyczki uczenia maszynowego z obsługą rozwiązania Copilot.
Inżynierowie i analitycy danych r&D używają notesów do analizowania danych i tworzenia przypadków użycia testów i walidacji.
Inżynierowie R&D używają zestawów zapytań KQL i Copilot do analizy danych w czasie rzeczywistym do przeprowadzania interaktywnej analizy danych.
Data engineers and data scientists use notebooks to store and share their analysis processes. Dzięki notesom inżynierowie mogą używać platformy Azure Spark do uruchamiania analiz i używania narzędzia Git do zarządzania kodem notesu. Użytkownicy mogą korzystać z rozwiązania Copilot na potrzeby Nauka o danych i inżynierowie danych do obsługi przepływu pracy z sugestiami dotyczącymi kodu kontekstowego.
Inżynierowie badań i analitycy danych mogą używać usługi Power BI z dynamicznymi zapytaniami lub pulpitami nawigacyjnymi analizy w czasie rzeczywistym w celu tworzenia wizualizacji do udostępniania użytkownikom biznesowym. Te wizualizacje wywołują funkcje zdefiniowane przez użytkownika w celu ułatwienia konserwacji.
Inżynierowie mogą również połączyć więcej narzędzi z usługą Microsoft Fabric. Na przykład mogą połączyć usługę Azure Managed Grafana z usługą Eventhouse lub utworzyć aplikację internetową, która bezpośrednio wysyła zapytanie do magazynu zdarzeń.
Data engineers and R&D engineers use Data Activator to create reflex items to monitor conditions and trigger actions, such as triggering Power Automate flows for business integration. Na przykład funkcja aktywowania danych może powiadomić kanał usługi Teams, jeśli kondycja urządzenia ulega pogorszeniu.
Konfiguracja modułu zbierającego dane umożliwia inżynierom zmianę zasad zbierania danych urządzenia do przechwytywania danych. Usługa Azure API Management abstrakcji i zabezpiecza interfejs API konfiguracji partnera i zapewnia możliwość obserwowania.
Schemat bazy danych KQL
Podczas projektowania schematu tabeli należy wziąć pod uwagę różnicę między tabelami i fact
tabelamidimension
. Telemetria to fact
tabela, ponieważ sygnały pojazdów są stopniowo dołączane w sposób przesyłania strumieniowego lub w ramach pełnego rejestrowania, a dane telemetryczne nie zmieniają się. Metadane floty można klasyfikować jako tabelę fact
, która aktualizuje się powoli.
Dane telemetryczne pojazdu ląduje w pierwotnych tabelach. Do organizowania danych na potrzeby analizy i raportowania można użyć następujących pojęć związanych z przetwarzaniem komunikatów:
Utwórz zasady aktualizacji, aby rozszerzyć pliki telemetryczne JSON na poszczególne rekordy sygnałów pojazdów przy użyciu metod takich jak:
-
mv-expand()
rozszerza złożone wartości przechowywane w strukturach JSON na wiersze z poszczególnymi sygnałami. -
geo_point_to_h3cell()
lubgeo_point_to_geohash()
konwertuje szerokość geograficzną i długość geograficzną na skróty geograficzne na potrzeby analizy geoprzestrzennych. -
todouble()
itostring()
rzutuje wyodrębnione wartości z dynamicznych obiektów JSON do odpowiednich typów danych. -
lookup
rozszerza rekordy z wartościami z tabeli wymiarów.
-
Create a Signals Deduped materialized view by using the aggregation function
take_any()
on the unique key and timestamp. Ten zmaterializowany widok deduplikuje sygnały.Utwórz widok Zmaterializowane wartości Sygnały ostatnie znane przy użyciu funkcji
arg_max()
agregacji na sygnaturze czasowej. Ten zmaterializowany widok zapewnia aktualny stan pojazdów.Create a Signals Downsampled materialized view by using the summarize operator with time bins such as hourly and daily. Ten zmaterializowany widok agreguje sygnały i upraszcza raportowanie całej floty.
Tworzenie funkcji zdefiniowanych przez użytkownika, które zapewniają wykrywanie anomalii lub analizę głównej przyczyny.
Użyj funkcji szeregów czasowych na potrzeby wykrywania anomalii i prognozowania , aby wykrywać potencjalne problemy i przewidywać błędy.
Use the scan operator to scan, match, and build sequences from the data. Inżynierowie mogą używać operatora do wykrywania
scan
sekwencji. Jeśli na przykład wystąpi określone zdarzenie, kolejne zdarzenie musi nastąpić w określonym czasie.Use machine learning plugins like autocluster to find common patterns of discrete attributes.
Wykonywanie analiz geoprzestrzennych za pomocą funkcji zdefiniowanych przez użytkownika. Use the geospatial analytics functions to convert coordinates to a suitable grid system and perform aggregations on the data.
Utwórz tabelę metadanych floty, aby przechowywać zmiany w metadanych i konfiguracji pojazdów. Utwórz metadane floty o ostatnich znanych wartościach zmaterializowane w celu przechowywania najnowszego stanu floty pojazdów na podstawie kolumny zmodyfikowanej ostatnio.
Components
Następujące kluczowe technologie implementują to obciążenie. Dla każdego składnika architektury należy użyć odpowiedniego przewodnika po usłudze w dobrze zaprojektowanej strukturze, jeśli jest dostępna. Aby uzyskać więcej informacji, zobacz Przewodniki dotyczące usługi Well-Architected Framework.
Analiza w czasie rzeczywistym w sieci szkieletowej umożliwia wyodrębnianie szczegółowych informacji i wizualizacji telemetrii pojazdów w ruchu. Strumienie zdarzeń i bazy danych KQL szeregów czasowych umożliwiają przechowywanie i analizowanie danych oraz używanie odruchów w celu reagowania na zdarzenia.
Data Activator is a no-code tool that you can use to automate actions when patterns or conditions change in data.
Event Grid is a highly scalable, fully managed Publish/Subscribe message distribution service that supports MQTT protocols. Pojazdy mogą używać usługi Event Grid do publikowania i subskrybowania tematów, na przykład mogą publikować dane telemetryczne i subskrybować komunikaty poleceń i sterowania.
Usługa Azure Event Hubs to platforma przesyłania strumieniowego danych w czasie rzeczywistym, która doskonale nadaje się do przesyłania strumieniowego milionów zdarzeń pojazdów na sekundę z małym opóźnieniem.
Functions is a serverless solution that simplifies processing vehicle telemetry events at scale with event-driven triggers and bindings by using the language of your choice.
Azure Managed Grafana to platforma do wizualizacji danych oparta na oprogramowaniu firmy Grafana Labs. Firma Microsoft zarządza usługą Azure Managed Grafana i obsługuje nią.
usługa aplikacja systemu Azure umożliwia tworzenie i hostowanie aplikacji internetowych, zapleczy mobilnych i interfejsów API RESTful, które zapewniają dostęp do danych telemetrycznych pojazdu przechowywanych w sieci szkieletowej. Takie podejście upraszcza zużycie.
API Management is a hybrid multicloud management platform for APIs.
Alternatives
Do zaimplementowania tej architektury można również użyć następujących usług platformy Azure:
Usługa Azure Blob Storage przechowuje ogromne ilości danych bez struktury, takich jak nagrania, dzienniki i filmy wideo z pojazdów. Zastępuje magazyn OneLake.
Azure Data Explorer to szybka, w pełni zarządzana usługa analizy danych na potrzeby analizy w czasie rzeczywistym. Zastępuje ona bazę danych KQL analizy w czasie rzeczywistym sieci szkieletowej.
Azure Batch is an alternative that you can use to decode complex files. Ten scenariusz obejmuje dużą liczbę plików, które są ponad 300 megabajtów każdy. Pliki wymagają różnych algorytmów dekodowania na podstawie wersji pliku lub typu pliku. Aby zaimplementować następujące podejście, możesz użyć usługi Fabric lub użyć usługi Blob Storage i usługi Azure Data Explorer.
Użytkownik lub urządzenie rejestrujące przekazuje zarejestrowany plik danych do lakehouse. Po zakończeniu przekazywania wyzwala aplikację usługi Functions, która planuje dekodowanie.
Harmonogram uruchamia aplikację usługi Functions, która tworzy zadanie wsadowe na podstawie typu pliku, rozmiaru pliku i wymaganego algorytmu dekodowania. Aplikacja wybiera maszynę wirtualną o odpowiednim rozmiarze z puli i uruchamia zadanie.
Usługa Batch zapisuje wynikowy dekodowany plik z powrotem do magazynu lakehouse po zakończeniu zadania. Ten plik musi być odpowiedni do bezpośredniego pozyskiwania w formacie, który obsługuje usługa Eventhouse.
Usługa Lakehouse wyzwala funkcję, która pozyskuje dane do magazynu zdarzeń po zapisie pliku. Ta funkcja tworzy tabelę i mapowanie danych w razie potrzeby i uruchamia proces pozyskiwania.
Baza danych KQL pozyskuje pliki danych z lakehouse.
Takie podejście zapewnia następujące korzyści:
Funkcje i pule usługi Batch mogą obsługiwać skalowalne zadania przetwarzania danych niezawodnie i wydajnie.
Pule usługi Batch zapewniają wgląd w statystyki przetwarzania, kolejki zadań i kondycję puli wsadowej. Możesz wizualizować stan, wykrywać problemy i ponownie uruchamiać zadania, które zakończyły się niepowodzeniem.
Kombinacja funkcji i usługi Batch obsługuje przetwarzanie wtyczek i odtwarzania w kontenerach platformy Docker.
Maszyny wirtualne typu spot umożliwiają przetwarzanie plików poza godzinami szczytu. Takie podejście pozwala zaoszczędzić pieniądze.
Scenario details
Producenci samochodów samochodowych używają dużych flot prototypowych i testowych pojazdów do testowania i weryfikowania kilku funkcji pojazdów. Procedury testowe są kosztowne, ponieważ wymagają rzeczywistych kierowców i pojazdów, a konkretne rzeczywiste scenariusze testowania dróg muszą przejść wiele razy. Testowanie integracji jest szczególnie ważne, aby ocenić interakcje między składnikami elektrycznymi, elektronicznymi i mechanicznymi w złożonych systemach.
Aby zweryfikować funkcje pojazdów i przeanalizować anomalie i awarie, należy przechwycić petabajty danych diagnostycznych z jednostek sterowania elektronicznego (ECU), węzłów komputerowych, magistrali komunikacyjnych pojazdów, takich jak Kontroler Area Network (CAN) i Ethernet oraz czujniki.
W przeszłości małe serwery rejestratora danych w pojazdach przechowywane dane diagnostyczne lokalnie jako format danych pomiarów (MDF), rozszerzenie multimedialnej fuzji (MFX), pliki CSV lub JSON. Po zakończeniu testów serwery przekazały dane diagnostyczne do centrów danych, które przetworzyły je i wysłały do inżynierów ds. badań i badań na potrzeby analizy. Ten proces może potrwać kilka godzin lub czasami dni. W najnowszych scenariuszach używane są wzorce pozyskiwania danych telemetrycznych, takie jak przesyłanie synchronicznych strumieni danych opartych na protokole MQTT (Message Queuing Telemetry Transport) lub przekazywanie plików niemal w czasie rzeczywistym.
Potencjalne przypadki użycia
Zarządzanie pojazdami ocenia wydajność i zebrane dane na pojazd w wielu scenariuszach testowych.
Walidacja systemu i składników używa zebranych danych pojazdu w celu sprawdzenia, czy zachowanie części pojazdów mieści się w granicach operacyjnych między podróżami.
Wykrywanie anomalii lokalizuje wzorce odchyleń wartości czujnika względem typowego wzorca punktu odniesienia w czasie rzeczywistym.
Analiza głównej przyczyny używa wtyczek uczenia maszynowego, takich jak algorytmy klastrowania, aby zidentyfikować zmiany rozkładu wartości w wielu wymiarach.
Konserwacja predykcyjna łączy wiele źródeł danych, wzbogaconych danych lokalizacji i sygnałów pojazdów w celu przewidywania czasu awarii składników.
Ocena zrównoważonego rozwoju wykorzystuje zachowanie czynników i zużycie energii do oceny wpływu na środowisko operacji pojazdów.
Wyścigi motoryzacyjne, aby zrozumieć i poprawić wydajność pojazdów przed, podczas i po wyścigu.
Considerations
Te zagadnienia implementują filary struktury Azure Well-Architected Framework, która jest zestawem wytycznych, które mogą służyć do poprawy jakości obciążenia. Aby uzyskać więcej informacji, zobacz Microsoft Azure Well-Architected Framework.
Reliability
Niezawodność zapewnia, że aplikacja może spełnić zobowiązania podjęte przez klientów. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotycząca niezawodności.
Strefy dostępności platformy Azure to unikatowe lokalizacje fizyczne w tym samym regionie świadczenia usługi Azure. Strefy dostępności mogą chronić klastry obliczeniowe i dane usługi Azure Data Explorer przed awarią częściowego regionu.
Ciągłość działalności biznesowej i odzyskiwanie po awarii (BCDR) w usłudze Azure Data Explorer umożliwia firmie kontynuowanie działania w obliczu zakłóceń.
Follower databases separate compute resources between production and nonproduction use cases.
Zabezpieczenia
Zabezpieczenia zapewniają ochronę przed celowymi atakami i nadużyciami cennych danych i systemów. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotycząca zabezpieczeń.
Ważne jest, aby zrozumieć podział odpowiedzialności między producentem OEM a firmą Microsoft. W pojeździe firma OEM jest właścicielem całego stosu, ale w miarę przenoszenia danych do chmury niektóre obowiązki są przenoszone do firmy Microsoft. Platforma Azure jako usługa (PaaS) zapewnia wbudowane zabezpieczenia na stosie fizycznym, w tym system operacyjny.
Use Azure Policy to apply security guardrails.
Zapoznaj się z omówieniem ładu i wskazówkami dotyczącymi usługi Fabric.
Użyj prywatnych punktów końcowych, aby zapewnić bezpieczeństwo sieci dla wszystkich usług.
Szyfrowanie danych magazynowanych i przesyłanych danych.
Użyj tożsamości firmy Microsoft i zasad dostępu warunkowego firmy Microsoft Entra.
Użyj zabezpieczeń na poziomie wiersza dla baz danych KQL i usługi Azure Data Explorer.
Use the restrict statement when you implement middleware applications with access to the KQL database. Ta konfiguracja tworzy model logiczny, który ogranicza dostęp użytkowników do danych.
Wszystkie te funkcje ułatwiają producentom samochodów tworzenie bezpiecznego środowiska dla danych telemetrycznych pojazdów. Aby uzyskać więcej informacji, zobacz Zabezpieczenia w sieci szkieletowej.
Cost Optimization
Optymalizacja kosztów dotyczy sposobów zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotycząca optymalizacji kosztów.
To rozwiązanie korzysta z następujących rozwiązań, aby pomóc w optymalizacji kosztów:
Poprawnie skonfiguruj gorące pamięci podręczne i zimny magazyn dla tabel nieprzetworzonych i sygnalizatorów. Gorąca pamięć podręczna danych jest przechowywana w pamięci RAM lub ssd i zapewnia lepszą wydajność. Zimne dane są jednak 45 razy tańsze. Ustaw zasady gorącej pamięci podręcznej, które są odpowiednie dla twojego przypadku użycia, na przykład 30 dni.
Skonfiguruj zasady przechowywania w tabeli nieprzetworzonej i sygnalizatorze. Określ, kiedy dane sygnału nie są już istotne, na przykład po upływie 365 dni, i odpowiednio ustaw zasady przechowywania.
Rozważ, które sygnały są istotne do analizy.
Użyj zmaterializowanych widoków podczas wykonywania zapytań względem sygnałów o ostatnio znanych wartościach, deduplikowanych sygnałach i sygnałach w dół. Zmaterializowane widoki zużywają mniej zasobów niż agregacje tabeli źródłowej dla każdego zapytania.
Weź pod uwagę potrzeby analizy danych w czasie rzeczywistym. Skonfiguruj pozyskiwanie strumieniowe dla tabeli telemetrii na żywo, aby zapewnić opóźnienie mniejsze niż jedną sekundę między pozyskiwaniem a zapytaniem. Takie podejście zwiększa cykle procesora CPU i koszty.
Performance Efficiency
Wydajność to możliwość skalowania obciążenia w celu spełnienia wymagań, które są na nim nakładane przez użytkowników w wydajny sposób. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu pod kątem wydajności.
Rozważ użycie usługi Batch do dekodowania, jeśli liczba i rozmiar zarejestrowanych plików danych to ponad 1000 plików lub 300 MB dziennie.
Rozważ wykonanie typowych obliczeń i analizy po pozyskiwaniu i przechowywaniu ich w dodatkowych tabelach.
Skorzystaj z najlepszych rozwiązań dotyczących zapytań języka KQL, aby przyspieszyć uruchamianie zapytania.
where
Użyj klauzuli , aby zdefiniować przedział czasu, aby zmniejszyć ilość danych, których dotyczy zapytanie. Rozważ zmianę zasad partycji danych dla tabeli sygnałów, jeśli typowe kryteria wyszukiwania nie są oparte na czasie, na przykład jeśli filtrujesz według identyfikatora rejestrowania i nazwy sygnału. When the KQL database expands to contain billions or trillions of records, proper data filtration becomes essential, especially considering the active partition policy.
Warning
Przed zmianą zasad partycji danych skontaktuj się z zespołem pomocy technicznej.
Wdrażanie tego scenariusza
Use the step-by-step tutorial to deploy this scenario. W przewodniku przedstawiono sposób wdrażania bezpłatnego wystąpienia, analizowania plików MDF, pozyskiwania danych i wykonywania kilku podstawowych zapytań.
Contributors
Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.
Principal authors:
- Boris Scholl | Partner, Chief Architect
- Frank Kaleck | Industry Advisor Automotive
- Henning Rauch | Principal Program Manager
- Mario Ortegon-Cabrera | Principal Program Manager
Other contributors:
- Devang Shah | Principal Program Manager
- Hans-Peter Bareiner | Cloud Solution Architect
- Jason Bouska | Senior Software Engineer, Azure Patterns & Practices
Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.
Next steps
- Funkcja brokera MQTT w usłudze Event Grid
- Dodawanie miejsca docelowego bazy danych KQL do strumienia zdarzeń
- Pobieranie danych z usługi OneLake
- Materialized views
- Tworzenie pulpitu nawigacyjnego w czasie rzeczywistym
- Tworzenie alertów aktywatora danych na podstawie pulpitu nawigacyjnego w czasie rzeczywistym
- Raport usługi Power BI
- Wizualizowanie danych z usługi Azure Data Explorer w narzędziu Grafana
- Architektura referencyjna obsługi komunikatów samochodowych, danych i analiz
Related resources
- Łańcuch narzędzi DevOps zdefiniowany programowo
- architektura referencyjna dla operacji pojazdów autonomicznych (AVOps)
- Claim-Check pattern