Os OEMs (fabricantes de equipamento original) automotivos precisam de soluções para minimizar o tempo entre fazer test drives e entregar dados de diagnóstico de test drive para engenheiros do R&D. Conforme os veículos se tornam mais automatizados, os ciclos de vida do software são mais curtos e os ciclos de feedback digital precisam se tornar mais rápidos. A nova tecnologia pode democratizar o acesso aos dados e fornecer aos engenheiros de P&D insights quase em tempo real sobre dados de diagnóstico de 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 obtenção de insights. O compartilhamento seguro de dados pode melhorar a colaboração entre OEMs e fornecedores e reduzir os tempos de ciclo de desenvolvimento.
As diretrizes neste artigo são para cenários de telemetria e cenários de ingestão de dados de test drive em lote. Esta arquitetura concentra-se na plataforma de dados que processa os dados de diagnóstico e os conectores para visualização de dados e relatórios de dados.
Arquitetura
Download um arquivo do PowerPoint com todos os diagramas deste artigo.
Fluxo de dados
O fluxo de dados a seguir corresponde ao diagrama anterior:
O dispositivo de captura de dados é conectado às redes do veículo e coleta dados e vídeo do sinal do veículo de alta resolução. (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 Grade de Eventos roteia dados de sinal de veículo ao vivo para um aplicativo do Azure Functions. Este aplicativo decodifica os sinais de veículo no formato JavaScript Object Notation (JSON) e os publica em um fluxo de eventos.
(2b) A Grade de Eventos coordena o upload de arquivos do cliente do dispositivo para o lakehouse. Um upload de arquivo concluído dispara 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 eventstream roteia os sinais de veículo JSON decodificados para ingestão no Eventhouse.
(3b) Um pipeline de dados aciona a ingestão de arquivos decodificados a partir do lakehouse.
O Eventhouse usa políticas de atualização para aprimorar 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 e cientistas de dados usam a KQL (Kusto Query Language) para criar casos de uso de análise. Os usuários armazenam casos usados com frequê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, clustering geoespacial, janelas e plug-ins 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 Copiloto para inteligência em tempo real para realizar análises interativas de dados.
Engenheiros e cientistas de dados usam notebooks para armazenar e compartilhar seus processos de análise. Com notebooks, os engenheiros podem usar o Azure Spark para executar análises e usar o Git para gerenciar o código do notebook. Os usuários podem usar o Copilot para Ciência de Dados e Engenharia de Dados para dar suporte ao 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 Grafana gerenciada do Azure ao Eventhouse ou criar um aplicativo Web que consulte diretamente o Eventhouse.
Os engenheiros de dados e engenheiros de RD usam o Data Activator para criar itens reflexos para monitorar condições e acionar medidas, como disparar fluxos do Power Automate para integração de negócios. Por exemplo, o Data Activator pode notificar um canal do Teams se a integridade de um dispositivo for degradada.
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 de banco de dados KQL
Ao criar o esquema de tabela, considere a diferença entre tabelas do fact
e tabelas do dimension
. A telemetria é uma tabela do fact
porque os sinais do veículo são progressivamente anexados ao estilo streaming ou como parte de uma gravação completa, e a telemetria não muda. Você pode classificar os metadados da frota como uma tabela do fact
que é atualizada lentamente.
A telemetria do veículo chega às tabelas brutas. É possível usar os seguintes conceitos de processamento de mensagens para organizar os dados para análise e relatório:
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ões.
Crie a exibição materializada Eliminação de duplicação de sinais usando a função de agregação
take_any()
na chave exclusiva e no carimbo de data/hora. Essa exibição materializada elimina a duplicação de sinais.Crie a exibição materializada Últimos Valores Conhecidos dos Sinais usando a função de agregação
arg_max()
no carimbo de data/hora. Essa visualização materializada fornece um status atualizado dos veículos.Crie a exibição materializada Sinais com downsampling usando o operador de resumo com intervalos de tempo como a cada hora e diariamente. Essa visão materializada agrega sinais e simplifica os relatórios em toda a frota.
Crie funções definidas pelo usuário que forneçam detecção de anomalias ou análise de causa raiz.
Use funções de série temporal para previsão e detecção de anomalias para identificar possíveis problemas e prever falhas.
Use o operador de verificação para examinar, corresponder e criar sequências a partir dos dados. Os engenheiros podem usar o operador
scan
para detectar sequências. Por exemplo, se um evento específico ocorrer, um evento subsequente deverá ocorrer dentro de um determinado intervalo de tempo.Use plug-ins de aprendizado de máquina, como o autocluster, 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 realizar agregações nos dados.
Crie uma tabela de metadados de frota para armazenar alterações nos metadados e na configuração de veículo. Crie uma exibição dos últimos valores conhecidos dos metadados da frota para armazenar o estado mais recente da frota de veículos com base em uma coluna de modificação pela última vez.
Componentes
As tecnologias-chave 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 do serviço Microsoft Azure 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 temporais para armazenar e analisar dados e usar reflexos para reagir a eventos.
O Data Activator é uma ferramenta sem código que você pode usar para automatizar ações quando há mudança de padrões ou condições nos dados.
A Grade de Eventos é um serviço de distribuição de mensagens de publicação/assinatura altamente escalonável e totalmente gerenciado que dá suporte aos protocolos MQTT. Os veículos podem usar a Grade de Eventos para publicar e assinar tópicos. Por exemplo, eles podem publicar telemetria e assinar mensagens de comando e controle.
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 de veículos em escala com gatilhos e associações que são controlados por eventos usando a linguagem de sua escolha.
O Espaço Gerenciado do Azure para Grafana é uma plataforma de visualização de dados baseada no software do Grafana Labs. A Microsoft gerencia e dá suporte ao Espaço Gerenciado do Azure para 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 no Fabric. Essa abordagem simplifica o consumo.
O O Gerenciamento de API é uma plataforma de gerenciamento híbrida e multinuvem para APIs.
Alternativas
Também é possível 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 Lote do Azure é 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 algoritmos de decodificação diferentes com base na versão do arquivo ou no tipo de arquivo. Você pode usar o Fabric ou usar o Armazenamento de Blobs e o Azure Data Explorer para implementar a seguinte abordagem.
O usuário ou dispositivo de gravação carrega um arquivo de dados gravado para o lakehouse. Quando o upload é concluído, ele dispara um aplicativo Functions que agenda a decodificação.
O agendador inicia um aplicativo Functions que cria um trabalho em lotes 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 no lakehouse quando o trabalho é concluído. Este arquivo deve ser adequado para ingestão direta em um formato compatível com Eventhouse.
O lakehouse aciona uma função que ingere os dados no Eventhouse após a gravação do arquivo. Essa 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 do lakehouse.
Essa abordagem oferece os seguintes benefícios:
Os pools do Functions e do Lote podem lidar com tarefas de processamento de dados escalonáveis de forma robusta e eficiente.
Os pools de lotes fornecem insights sobre estatísticas de processamento, filas de tarefas e integridade do pool de lotes. Você pode visualizar o status, detectar problemas e executar novamente tarefas com falha.
A combinação do Functions e do Lote do Azure dá suporte ao processamento plug-and-play em contêineres do Docker.
Você pode usar máquinas virtuais spot para processar arquivos fora dos horários de pico. Essa abordagem economiza dinheiro.
Detalhes do cenário
Os OEMs automotivos usam grandes frotas de protótipos e veículos de teste para testar e verificar diversas funções do veículo. Os procedimentos de teste são caros porque requerem motoristas e veículos reais, e certos cenários específicos de testes de estrada do mundo real devem ocorrer 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.
nePara validar as funções do veículo e analisar anomalias e falhas, é necessário capturar petabytes de dados de diagnóstico de ECUs (unidades de controle eletrônico), nós de computador, barramentos de comunicação do veículo, como CAN (rede de área do controlador) e Ethernet e sensores.
No passado, pequenos servidores de data logger nos veículos armazenavam dados de diagnóstico localmente, como banco de dados mestre (MDF), MFX (extensão de fusão multimídia), CSV ou arquivos JSON. Depois que os test drives foram concluídos, os servidores enviaram dados de diagnóstico para datacenters, que os processaram e os enviaram aos engenheiros de P&D para análise. Esse processo pode levar horas ou, às vezes, dias. Cenários mais recentes usam padrões de ingestão de telemetria, como fluxos de dados síncronos baseados em MQTT (Transporte de telemetria de enfileiramento de mensagens) ou carregamentos de arquivos quase em tempo real.
Possíveis casos de uso
O gerenciamento de veículos avalia o desempenho e os dados coletados por veículo em vários cenários de teste.
A validação de sistemas e de componentes usa dados coletados do veículo para verificar se o comportamento dos componentes do veículo está dentro dos limites operacionais entre as viagens.
A detecção de anomalias localiza padrões de desvio de um valor de sensor em relação ao seu padrão inicial típico em tempo real.
A análise de causa raiz usa plug-ins de aprendizado de máquina, como algoritmos de formação de clusters, 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 de veículo para prever o tempo até a falha do componente.
A avaliação da sustentabilidade utiliza o comportamento do motorista 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
Estas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios de orientação que podem ser usados para aprimorar a qualidade de uma carga de trabalho. Para obter mais informações, confira Microsoft Azure Well-Architected Framework.
Confiabilidade
A confiabilidade garante que seu aplicativo possa cumprir os 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 localizações físicas exclusivas na mesma região do Azure. As zonas de disponibilidade podem proteger os clusters de computação e os dados do Azure Data Explorer de falha parcial na região.
A continuidade dos negócios e a BCDR (recuperação de desastres) no Azure Data Explorer permite que sua empresa continue operando mesmo com a 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 fornece garantias contra ataques deliberados e o abuso de seus dados e sistemas valiosos. Para obter mais informações, consulte Lista de verificação de revisão de design para segurança.
É importante entender a divisão da responsabilidade entre o OEM automotivo e a Microsoft. No veículo, o OEM tem toda a pilha, mas à medida que os dados se movem para a nuvem, algumas responsabilidades são transferidas para a Microsoft. A PaaS (Plataforma como serviço) do Azure fornece segurança integrada na pilha física, incluindo o sistema operacional.
Use o Azure Policy para aplicar proteções de segurança.
Examine a visão geral e as diretrizes de governança do Fabric.
Use pontos de extremidade privados para fornecer segurança de rede para todos os serviços.
Criptografe dados inativos e em trânsito.
Use identidades do Microsoft Entra e políticas de Acesso Condicional do Microsoft Entra.
Use RLS (segurança em nível de linha) para bancos de dados KQL e Azure Data Explorer.
Use a instrução RESTRICT ao implementar aplicativos de 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 seus dados de telemetria dos veículos. Para obter mais informações, consulte Segurança no Fabric.
Otimização de custo
A otimização de custos é a análise de maneiras de reduzir as 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 usa as seguintes práticas para ajudar a otimizar os custos:
Configure corretamente os caches frequentes e o armazenamento frio para as tabelas Raw e Signals. O cache de dados frequentes é armazenado em RAM ou SSD e fornece melhor desempenho. Os dados frios, no entanto, são 45 vezes mais baratos. Defina uma política de cache frequente adequada para o seu caso de uso, como 30 dias.
Configure uma política de retenção nas tabelas Raw e Signals. Determine quando os dados de sinal não são mais relevantes, tal como após 365 dias, e defina a política de retenção de acordo.
Considere quais sinais são relevantes para análise.
Use visualizações materializadas ao consultar os últimos valores conhecidos dos sinais, sinais desduplicados e sinais reduzidos. As exibições materializadas consomem menos recursos do que fazer 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
A eficiência do desempenho é a capacidade de dimensionar a carga de trabalho para atender às demandas exigidas pelos usuários de maneira eficiente. Para obter mais informações, consulte Lista de verificação de revisão de design para eficiência de desempenho.
Considere usar o Lote para realizar a decodificação se o número e o tamanho dos arquivos de dados gravados forem superiores a 1.000 arquivos ou 300 MB por dia.
Considere realizar cálculos e análises comuns depois da ingestão e armazená-los em tabelas extras.
Use as práticas recomendadas de consulta KQL para tornar sua consulta mais rápida.
Use uma cláusula
where
para definir um intervalo de tempo para reduzir a quantidade de dados consultados. Considere alterar a política de partição de dados para a tabela de sinais caso seus critérios de pesquisa comuns não sejam baseados no tempo, por exemplo, se filtrar por ID de gravação 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.
Implantar 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.
Colaboradores
Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.
Principais autores:
- Boris Scholl | Sócio, Arquiteto chefe
- Frank Kaleck | Consultor da Indústria Automotiva
- Henning Rauch | Gerente principal de programas
- Mario Ortegon-Cabrera | Gerente principal de programas
Outros colaboradores:
- Devang Shah | Gerente de Programa Principal
- Hans-Peter Bareiner | Arquiteto de soluções de nuvem
- Jason Bouska | Engenheiro sênior de software
Para ver perfis não públicos do LinkedIn, entre no LinkedIn.
Próximas etapas
- Recurso do Agente MQTT na Grade de Eventos
- Adicionar um destino do banco de dados KQL a um Eventstream
- Obter dados do OneLake
- Exibições materializadas
- Criar um painel em tempo real
- Crie alertas do Data Activator 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, de dados e de análises automotivas