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.
Architektura
Pobierz plik programu PowerPoint ze wszystkimi diagramami w tym artykule.
Przepływ danych
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) Urządzenie publikuje komunikaty telemetryczne w czasie rzeczywistym lub (1b) żąda przekazania zarejestrowanych plików danych do funkcji brokera MQTT usługi Azure Event Grid przy użyciu klienta MQTT. Ta funkcja używa wzorca sprawdzania oświadczeń.
(2a) Usługa Event Grid kieruje dane sygnału pojazdu na żywo do aplikacji usługi Azure Functions. Ta aplikacja dekoduje sygnały pojazdu do formatu JavaScript Object Notation (JSON) i publikuje je w strumieniu zdarzeń.
(2b) Usługa Event Grid koordynuje przekazywanie pliku z klienta urządzenia do usługi 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) Strumień zdarzeń kieruje zdekodowane sygnały pojazdu JSON do pozyskiwania w usłudze Eventhouse.
(3b) Potok danych wyzwala pozyskiwanie zdekodowanych plików z lakehouse.
Usługa Eventhouse używa zasad aktualizacji, aby wzbogacić dane i rozszerzyć dane JSON do odpowiedniego formatu wiersza, na przykład dane lokalizacji mogą być klastrowane w celu dopasowania do analizy geoprzestrzennej. 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.
Inżynierowie danych i analitycy danych używają notesów do przechowywania i udostępniania ich procesów analizy. 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ń.
Inżynierowie danych i inżynierowie ds. analizy danych używają aktywatora danych do tworzenia elementów refleksowych w celu monitorowania warunków i akcji wyzwalania, takich jak wyzwalanie przepływów usługi Power Automate na potrzeby integracji biznesowej. 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 dimension
tabelamifact
. 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.
Utwórz zmaterializowany widok Signals Deduped przy użyciu funkcji
take_any()
agregacji na unikatowym kluczu i znaczniku czasu. 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.Utwórz zmaterializowany widok Signals Downsampled przy użyciu operatora podsumowania z przedziałami czasu, takimi jak godzinowe i codzienne. 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.
Użyj operatora skanowania, aby skanować, dopasowywać i kompilować sekwencje z danych. 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.Użyj wtyczek uczenia maszynowego, takich jak autoklastrowanie , aby znaleźć typowe wzorce dyskretnych atrybutów.
Wykonywanie analiz geoprzestrzennych za pomocą funkcji zdefiniowanych przez użytkownika. Funkcje analizy geoprzestrzennej umożliwiają konwertowanie współrzędnych na odpowiedni system siatki i wykonywanie agregacji danych.
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.
Składniki
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.
Aktywacja danych to narzędzie bez kodu, którego można użyć do automatyzowania akcji w przypadku zmiany wzorców lub warunków w danych.
Event Grid to wysoce skalowalna, w pełni zarządzana usługa dystrybucji komunikatów Publikuj/Subskrybuj, która obsługuje protokoły MQTT. 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.
Funkcje to rozwiązanie bezserwerowe, które upraszcza przetwarzanie zdarzeń telemetrycznych pojazdów na dużą skalę przy użyciu wyzwalaczy i powiązań sterowanych zdarzeniami przy użyciu wybranego języka.
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.
USŁUGA API Management to hybrydowa platforma do zarządzania wieloma chmurami dla interfejsów API.
Alternatywy
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.
Usługa Azure Batch to alternatywa, której można użyć do dekodowania złożonych plików. 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.
Szczegóły scenariusza
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.
Kwestie wymagające rozważenia
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.
Niezawodność
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ń.
Obserwowane bazy danych oddzielają zasoby obliczeniowe między przypadkami użycia środowiska produkcyjnego i nieprodukcyjnego.
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.
Użyj usługi Azure Policy , aby zastosować zabezpieczenia zabezpieczające.
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.
Użyj instrukcji restrict podczas implementowania aplikacji oprogramowania pośredniczącego z dostępem do bazy danych KQL. 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.
Optymalizacja kosztów
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.
Efektywność wydajności
Efektywność wydajności to możliwość skalowania obciążenia w celu zaspokojenia zapotrzebowania 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. Gdy baza danych KQL rozszerza się, aby zawierać miliardy lub biliony rekordów, właściwa filtrowanie danych staje się niezbędne, zwłaszcza biorąc pod uwagę aktywną politykę partycji.
Ostrzeżenie
Przed zmianą zasad partycji danych skontaktuj się z zespołem pomocy technicznej.
Wdrażanie tego scenariusza
Użyj samouczka krok po kroku, aby wdrożyć ten scenariusz. W przewodniku przedstawiono sposób wdrażania bezpłatnego wystąpienia, analizowania plików MDF, pozyskiwania danych i wykonywania kilku podstawowych zapytań.
Współautorzy
Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.
Autorzy zabezpieczeń:
- Boris Scholl | Partner, główny architekt
- Frank Kaleck | Industry Advisor Automotive
- Henning Rauch | Główny menedżer programu
- Mario Ortegon-Cabrera | Główny menedżer programu
Inni współautorzy:
- Devang Shah | Główny menedżer programu
- Hans-Peter Bareiner | Architekt rozwiązań w chmurze
- Jason Bouska | Starszy inżynier oprogramowania
Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.
Następne kroki
- Funkcja brokera MQTT w usłudze Event Grid
- Dodawanie miejsca docelowego bazy danych KQL do strumienia zdarzeń
- Pobieranie danych z usługi OneLake
- Zmaterializowane widoki
- 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