Editar

Partilhar via


Análise de dados para frotas de testes automotivos

Microsoft Fabric
Azure Data Explorer
Azure Event Hubs
Azure Functions
Azure Event Grid

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

Diagrama que mostra o fluxo de dados de análise para streaming de dados e arquivos automotivos.

Baixe um arquivo do PowerPoint com todos os diagramas neste artigo.

Fluxo de dados

O seguinte fluxo de dados corresponde ao diagrama anterior:

  1. 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.

  2. (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.

  3. (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.

  4. 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() .

  5. 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.

  6. Engenheiros de P&D e cientistas de dados usam notebooks para analisar dados e criar casos de uso de teste e validação.

    1. Os engenheiros de P&D usam conjuntos de consultas KQL e Copilot for Real-Time Intelligence para realizar análises de dados interativas.

    2. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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

Diagrama que mostra o banco de dados KQL e métodos para extrair, expandir e enriquecer dados.

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() ou geo_point_to_geohash() converte latitude e longitude em geohashes para análise geoespacial.
    • todouble() e tostring() 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.

Diagrama que mostra um método Batch alternativo para decodificar arquivos complexos.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

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:

Outros contribuidores:

Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.

Próximos passos