Os fabricantes de equipamentos originais automotivos (OEMs) precisam de soluções para minimizar o tempo entre os test drives e o fornecimento de dados de diagnóstico de test drive aos engenheiros de P&D. À medida que os veículos se tornam mais automatizados, os ciclos de vida de desenvolvimento de software tornam-se mais curtos, o que requer ciclos de feedback digital mais rápidos. A nova tecnologia pode democratizar o acesso aos dados e fornecer aos engenheiros de pesquisa e desenvolvimento informações quase em tempo real sobre os dados de diagnóstico do test drive. Use o Copilot para Ciência de Dados e Engenharia de Dados para análise de dados para reduzir ainda mais o tempo de insight. O compartilhamento seguro de dados pode melhorar a colaboração entre OEMs e fornecedores e reduzir os tempos do ciclo de desenvolvimento.
A orientação neste artigo é para cenários de telemetria e cenários de ingestão de dados de teste em lote. Essa arquitetura se concentra na plataforma de dados que processa dados de diagnóstico e nos conectores para visualização de dados e relatórios de dados.
Arquitetura
Baixe um arquivo do PowerPoint com todos os diagramas neste artigo.
Fluxo de dados
O seguinte fluxo de dados corresponde ao diagrama anterior:
O dispositivo de captura de dados está ligado às redes do veículo e recolhe dados de sinal do veículo de alta resolução e vídeo. (1a) O dispositivo publica mensagens de telemetria em tempo real ou (1b) solicita o carregamento de arquivos de dados gravados para a funcionalidade do agente MQTT da Grade de Eventos do Azure usando um cliente MQTT. Essa funcionalidade usa um padrão de verificação de declaração.
(2a) A Grelha de Eventos encaminha dados de sinal de veículo em tempo real para uma aplicação Azure Functions. Este aplicativo decodifica os sinais do veículo para o formato JSON (JavaScript Object Notation) e os publica em um fluxo de eventos.
(2b) Event Grid coordena o upload do arquivo do cliente do dispositivo para o lakehouse. Um carregamento de arquivo concluído aciona um pipeline que decodifica os dados e grava o arquivo decodificado no OneLine em um formato adequado para ingestão, como parquet ou CSV.
(3a) O fluxo de eventos encaminha os sinais de veículo JSON descodificados para ingestão na Eventhouse.
(3b) Um pipeline de dados desencadeia a ingestão de arquivos decodificados da casa do lago.
A Eventhouse usa políticas de atualização para enriquecer os dados e expandir os dados JSON em um formato de linha adequado, por exemplo, os dados de localização podem ser agrupados para se alinharem com a análise geoespacial. Sempre que uma nova linha é ingerida, o mecanismo de análise em tempo real invoca uma função associada
Update()
.Engenheiros de dados e cientistas de dados usam a Kusto Query Language (KQL) para criar casos de uso de análise. Os usuários armazenam casos usados com freqüência como funções compartilháveis definidas pelo usuário. Os engenheiros usam funções KQL integradas, como agregação, análise de séries temporais, agrupamento geoespacial, janelas e plugins de aprendizado de máquina com suporte ao Copilot.
Engenheiros de P&D e cientistas de dados usam notebooks para analisar dados e criar casos de uso de teste e validação.
Os engenheiros de P&D usam conjuntos de consultas KQL e Copilot for Real-Time Intelligence para realizar análises de dados interativas.
Engenheiros de dados e cientistas de dados usam notebooks para armazenar e compartilhar seus processos de análise. Com blocos de anotações, os engenheiros podem usar o Azure Spark para executar análises e usar o Git para gerenciar o código do bloco de anotações. Os usuários podem aproveitar o Copilot para Ciência de Dados e Engenharia de Dados para dar suporte ao seu fluxo de trabalho com sugestões de código contextual.
Engenheiros de P&D e cientistas de dados podem usar o Power BI com consultas dinâmicas ou painéis de análise em tempo real para criar visualizações para compartilhar com usuários corporativos. Essas visualizações invocam funções definidas pelo usuário para facilitar a manutenção.
Os engenheiros também podem conectar mais ferramentas ao Microsoft Fabric. Por exemplo, eles podem conectar o Azure Managed Grafana ao Eventhouse ou criar um aplicativo Web que consulta o Eventhouse diretamente.
Engenheiros de dados e engenheiros de P&D usam o Data Activator para criar itens reflexos para monitorar condições e acionar ações, como acionar fluxos do Power Automate para integração de negócios. Por exemplo, o Ativador de Dados pode notificar um canal do Teams se a integridade de um dispositivo se degradar.
A configuração do coletor de dados permite que os engenheiros alterem as políticas de coleta de dados do dispositivo de captura de dados. O Gerenciamento de API do Azure abstrai e protege a API de configuração do parceiro e fornece observabilidade.
Esquema do banco de dados KQL
Ao criar o esquema de tabela, considere a diferença entre fact
tabelas e dimension
tabelas. A telemetria é uma fact
tabela porque os sinais do veículo são progressivamente acrescentados de forma streaming ou como parte de uma gravação completa, e a telemetria não muda. Você pode classificar os metadados da frota como uma fact
tabela que é atualizada lentamente.
A telemetria do veículo pousa em tabelas brutas. Você pode usar os seguintes conceitos de processamento de mensagens para organizar os dados para análise e relatórios:
Crie políticas de atualização para expandir os arquivos de telemetria JSON em registros de sinal de veículo individuais usando métodos como:
-
mv-expand()
expande valores complexos que são armazenados em estruturas JSON em linhas com sinais individuais. -
geo_point_to_h3cell()
ougeo_point_to_geohash()
converte latitude e longitude em geohashes para análise geoespacial. -
todouble()
etostring()
converte valores extraídos de objetos JSON dinâmicos nos tipos de dados apropriados. -
lookup
Estende os registros com valores de uma tabela de dimensão.
-
Crie uma visualização materializada de Sinais Deduped usando a função
take_any()
de agregação na chave exclusiva e no carimbo de data/hora. Esta visão materializada desduplica sinais.Crie uma exibição materializada de Últimos Valores Conhecidos de Sinais usando a função
arg_max()
de agregação no carimbo de data/hora. Esta visão materializada fornece um status atualizado dos veículos.Crie uma exibição materializada de Sinais reduzidos usando o operador de resumo com compartimentos de tempo, como horário e diário. Esta visão materializada agrega sinais e simplifica a geração de relatórios em toda a frota.
Crie funções definidas pelo usuário que forneçam deteção de anomalias ou análise de causa raiz.
Use funções de séries cronológicas para deteção e previsão de anomalias para detetar problemas potenciais e prever falhas.
Use o operador de verificação para verificar, combinar e criar sequências a partir dos dados. Os engenheiros podem usar o
scan
operador para detetar sequências. Por exemplo, se um evento específico ocorrer, um evento subsequente deve ocorrer dentro de um determinado período de tempo.Use plug-ins de aprendizado de máquina como o cluster automático para encontrar padrões comuns de atributos discretos.
Execute análises geoespaciais com funções definidas pelo usuário. Use as funções de análise geoespacial para converter coordenadas em um sistema de grade adequado e executar agregações nos dados.
Crie uma tabela de metadados da frota para armazenar alterações nos metadados e na configuração do veículo. Crie uma vista materializada dos últimos valores conhecidos dos metadados da frota para armazenar o estado mais recente da frota de veículos com base numa coluna modificada pela última vez.
Componentes
As principais tecnologias a seguir implementam essa carga de trabalho. Para cada componente da arquitetura, use o guia de serviço relevante no Well-Architected Framework, quando disponível. Para obter mais informações, consulte Guias de serviço do Well-Architected Framework.
O Fabric Real-Time Intelligence permite a extração de insights e a visualização da telemetria do veículo em movimento. Você pode usar fluxos de eventos e bancos de dados KQL de séries cronológicas para armazenar e analisar dados e usar reflexos para reagir a eventos.
O Ativador de Dados é uma ferramenta sem código que você pode usar para automatizar ações quando padrões ou condições mudam nos dados.
O Event Grid é um serviço de distribuição de mensagens Publish/Subscribe altamente escalável e totalmente gerenciado que suporta protocolos MQTT. Os veículos podem utilizar a Grelha de Eventos para publicar e subscrever tópicos, por exemplo, podem publicar telemetria e subscrever mensagens de comando e controlo.
Os Hubs de Eventos do Azure são uma plataforma de streaming de dados em tempo real adequada para transmitir milhões de eventos de veículos por segundo com baixa latência.
O Functions é uma solução sem servidor que simplifica o processamento de eventos de telemetria do veículo em escala com gatilhos e ligações controlados por eventos usando a linguagem de sua escolha.
O Azure Managed Grafana é uma plataforma de visualização de dados baseada no software da Grafana Labs. A Microsoft gerencia e dá suporte ao Azure Managed Grafana.
O Serviço de Aplicativo do Azure permite que você crie e hospede aplicativos Web, back-ends móveis e APIs RESTful que fornecem acesso aos dados de telemetria do veículo armazenados na Malha. Esta abordagem simplifica o consumo.
O Gerenciamento de API é uma plataforma de gerenciamento multicloud híbrida para APIs.
Alternativas
Você também pode usar os seguintes serviços do Azure para implementar essa arquitetura:
O Armazenamento de Blobs do Azure armazena grandes quantidades de dados não estruturados, como gravações, logs e vídeos dos veículos. Ele substitui o armazenamento OneLake.
O Azure Data Explorer é um serviço de análise de dados rápido e totalmente gerenciado para análise em tempo real. Ele substitui o banco de dados KQL do Fabric Real-Time Intelligence.
O Azure Batch é uma alternativa que você pode usar para decodificar arquivos complexos. Esse cenário envolve um grande número de arquivos com mais de 300 megabytes cada. Os arquivos exigem diferentes algoritmos de decodificação com base na versão do arquivo ou no tipo de arquivo. Você pode usar a Malha ou o Armazenamento de Blob e o Azure Data Explorer para implementar a abordagem a seguir.
O usuário ou dispositivo de gravação carrega um arquivo de dados gravados para a casa do lago. Quando o carregamento termina, ele aciona um aplicativo Functions que agenda a decodificação.
O agendador inicia um aplicativo Functions que cria um trabalho em lote com base no tipo de arquivo, no tamanho do arquivo e no algoritmo de decodificação necessário. O aplicativo seleciona uma máquina virtual com um tamanho adequado do pool e inicia o trabalho.
O lote grava o arquivo decodificado resultante de volta para a casa do lago quando o trabalho termina. Este ficheiro deve ser adequado para ingestão direta num formato suportado pelo Eventhouse.
O lakehouse aciona uma função que ingere os dados no Eventhouse após a gravação do arquivo. Esta função cria a tabela e o mapeamento de dados, se necessário, e inicia o processo de ingestão.
O banco de dados KQL ingere os arquivos de dados da casa do lago.
Essa abordagem oferece os seguintes benefícios:
Funções e pools de lotes podem lidar com tarefas escaláveis de processamento de dados de forma robusta e eficiente.
Os pools de lotes fornecem informações sobre estatísticas de processamento, filas de tarefas e integridade do pool de lotes. Você pode visualizar o status, detetar problemas e executar novamente tarefas com falha.
A combinação de funções e lote suporta processamento plug-and-play em contêineres Docker.
Você pode usar máquinas virtuais spot para processar arquivos fora dos horários de pico. Esta abordagem permite poupar dinheiro.
Detalhes do cenário
Os OEMs automotivos usam grandes frotas de protótipos e veículos de teste para testar e verificar várias funções do veículo. Os procedimentos de teste são caros porque exigem motoristas e veículos reais, e cenários específicos de testes em estrada do mundo real devem passar várias vezes. Os testes de integração são especialmente importantes para avaliar as interações entre componentes elétricos, eletrônicos e mecânicos em sistemas complexos.
Para validar as funções do veículo e analisar anomalias e falhas, você deve capturar petabytes de dados de diagnóstico de unidades de controle eletrônico (ECUs), nós de computador, barramentos de comunicação do veículo, como Controller Area Network (CAN) e Ethernet, e sensores.
No passado, pequenos servidores de data logger nos veículos armazenavam dados de diagnóstico localmente como MDF (Measurement Data Format), extensão de fusão multimídia (MFX), CSV ou arquivos JSON. Depois que os test drives foram concluídos, os servidores carregaram dados de diagnóstico para datacenters, que os processaram e enviaram para engenheiros de P&D para análise. Este processo pode levar horas ou, às vezes, dias. Os cenários mais recentes usam padrões de ingestão de telemetria, como fluxos de dados síncronos baseados em Transporte de Telemetria de Enfileiramento de Mensagens (MQTT) ou carregamentos de arquivos quase em tempo real.
Potenciais casos de utilização
A gestão de veículos avalia o desempenho e recolhe dados por veículo em vários cenários de teste.
A validação do sistema e dos componentes utiliza os dados recolhidos do veículo para verificar se o comportamento dos componentes do veículo está dentro dos limites operacionais ao longo das viagens.
A deteção de anomalias localiza padrões de desvio de um valor de sensor em relação ao seu padrão de linha de base típico em tempo real.
A análise de causa raiz usa plug-ins de aprendizado de máquina, como algoritmos de clustering, para identificar alterações na distribuição de valores em várias dimensões.
A manutenção preditiva combina várias fontes de dados, dados de localização enriquecidos e sinais do veículo para prever o tempo de falha dos componentes.
A avaliação da sustentabilidade utiliza o comportamento do condutor e o consumo de energia para avaliar o impacto ambiental das operações do veículo.
Corridas automotivas para entender e melhorar o desempenho dos veículos antes, durante e depois de uma corrida.
Considerações
Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que podem ser usados para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Microsoft Azure Well-Architected Framework.
Fiabilidade
A confiabilidade garante que seu aplicativo possa atender aos compromissos que você assume com seus clientes. Para obter mais informações, consulte Lista de verificação de revisão de design para confiabilidade.
As zonas de disponibilidade do Azure são locais físicos exclusivos dentro da mesma região do Azure. As zonas de disponibilidade podem proteger clusters de computação e dados do Azure Data Explorer contra falhas parciais de região.
A continuidade de negócios e a recuperação de desastres (BCDR) no Azure Data Explorer permitem que sua empresa continue operando em caso de interrupção.
Os bancos de dados de seguidores separam os recursos de computação entre casos de uso de produção e não produção.
Segurança
A segurança oferece garantias contra ataques deliberados e o abuso de seus valiosos dados e sistemas. Para obter mais informações, consulte Lista de verificação de revisão de design para segurança.
É importante entender a divisão de responsabilidade entre o OEM automotivo e a Microsoft. No veículo, o OEM possui toda a pilha, mas à medida que os dados se movem para a nuvem, algumas responsabilidades são transferidas para a Microsoft. A plataforma Azure como serviço (PaaS) fornece segurança interna na pilha física, incluindo o sistema operacional.
Use a Política do Azure para aplicar guarda-corpos de segurança.
Analise a visão geral e as orientações de governança para o Fabric.
Use pontos de extremidade privados para fornecer segurança de rede para todos os serviços.
Use pontos de extremidade privados para o Azure Data Explorer.
Permita acesso a namespaces de Hubs de Eventos por meio de pontos de extremidade privados.
Criptografe dados em repouso e dados em trânsito.
Use as identidades do Microsoft Entra e as políticas de Acesso Condicional do Microsoft Entra.
Use a segurança em nível de linha (RLS) para bancos de dados KQL e Azure Data Explorer.
Use a instrução restrict ao implementar aplicativos middleware com acesso ao banco de dados KQL. Essa configuração cria um modelo lógico que restringe o acesso do usuário aos dados.
Todos esses recursos ajudam os OEMs automotivos a criar um ambiente seguro para os dados de telemetria de seus veículos. Para obter mais informações, consulte Segurança na malha.
Otimização de custos
A otimização de custos consiste em procurar formas de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Lista de verificação de revisão de design para otimização de custos.
Esta solução utiliza as seguintes práticas para ajudar a otimizar custos:
Configure corretamente os hot caches e o cold storage para as tabelas raw e signals. O cache de dados quentes é armazenado em RAM ou SSD e oferece melhor desempenho. Os dados frios, no entanto, são 45 vezes mais baratos. Defina uma política de hot cache adequada para seu caso de uso, como 30 dias.
Configure uma política de retenção na tabela bruta e na tabela de sinais. Determine quando os dados de sinal não são mais relevantes, como após 365 dias, e defina a política de retenção de acordo.
Considere quais sinais são relevantes para análise.
Utilize vistas materializadas quando consultar os últimos valores conhecidos, os sinais enganados e os sinais reduzidos. As exibições materializadas consomem menos recursos do que as agregações de tabela de origem em cada consulta.
Considere suas necessidades de análise de dados em tempo real. Configure a ingestão de streaming para a tabela de telemetria ao vivo para fornecer latência de menos de um segundo entre a ingestão e a consulta. Essa abordagem aumenta os ciclos e o custo da CPU.
Eficiência de desempenho
Eficiência de desempenho é a capacidade da sua carga de trabalho para dimensionar para satisfazer as exigências que os utilizadores lhe colocam de forma eficiente. Para obter mais informações, consulte Lista de verificação de revisão de projeto para eficiência de desempenho.
Considere usar o Batch para executar a decodificação se o número e o tamanho dos arquivos de dados gravados for superior a 1.000 arquivos ou 300 MB por dia.
Considere a realização de cálculos e análises comuns após a ingestão e armazenamento em tabelas extras.
Use as práticas recomendadas de consulta KQL para tornar sua consulta mais rápida.
Use uma
where
cláusula para definir uma janela de tempo para reduzir a quantidade de dados consultados. Considere alterar a política de partição de dados para a tabela de sinais se seus critérios de pesquisa comuns não forem baseados no tempo, por exemplo, se você filtrar gravando ID e nome do sinal. Quando o banco de dados KQL se expande para conter bilhões ou trilhões de registros, a filtragem adequada de dados torna-se essencial, especialmente considerando a política de partição ativa.
Aviso
Consulte sua equipe de suporte antes de alterar uma política de partição de dados.
Implementar este cenário
Use o tutorial passo a passo para implantar esse cenário. O guia mostra como implantar uma instância gratuita, analisar arquivos MDF, ingerir dados e executar várias consultas básicas.
Contribuidores
Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.
Principais autores:
- Boris Scholl - Brasil | Sócio, Arquiteto Chefe
- Frank Kaleck - Brasil | Assessor da Indústria Automotiva
- Henning Rauch - Brasil | Gerente de Programa Principal
- Mario Ortegon-Cabrera - Brasil | Gerente de Programa Principal
Outros contribuidores:
- Devang Shah - Brasil | Gerente de Programa Principal
- Hans-Peter Bareiner - Brasil | Arquiteto de Soluções Cloud
- Jason Bouska - Brasil | Engenheiro de Software Sr.
Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.
Próximos passos
- Recurso do broker MQTT na Grade de Eventos
- Adicionar um destino de banco de dados KQL a um fluxo de eventos
- Obter dados do OneLake
- Visões materializadas
- Crie um painel em tempo real
- Crie alertas do Ativador de Dados a partir de um painel em tempo real
- Relatório do Power BI
- Visualizar dados do Azure Data Explorer no Grafana
- Arquitetura de referência de mensagens, dados e análises automotivas