Menu Docs
Página inicial do Docs
/

Melhore as operações de voo com análises em tempo real

Saiba como transformar as operações de voo com análises avançadas em tempo real. Reduza custos, reduza atrasos e aumente a eficiência por meio do monitoramento inteligente de dados.

Casos de uso: Análise, IoT, Modernização, Visualização individual

Setores: Manufatura e Mobilidade

Produtos e ferramentas: MongoDB Atlas, Pipeline de Agregação, Coleçõesde Séries Temporais, MongoDBChange Streams

Parceiros: Google Cloud, Next.js, FastAPI, TensorFlow, Scikit-learn

A solução de gerenciamento de voo em tempo real permite que as companhias aéreas gerenciem e mitiguem proativamente os atrasos de voo dispendiosas. Somente em 2019, os atrasos de voo custam às companhias aéreas da Europa uma média de euros4,320 por hora por voo.

A solução aproveita o tratamento inteligente de dados e a resposta imediata para fornecer monitoramento em tempo real, insights preditivos e alocação otimizada de recursos. Ele usa uma arquitetura orientada a eventos com:

  • FastAPI para simulação

  • GCP PubSub para mensagens

  • Vertex AI para análises avançadas

  • Google Cloud Functions para processamento orientado a eventos sem servidor.

Construída com base no modelo de documento flexível e nas coleções de séries temporais do MongoDB, a solução oferece uma abordagem abrangente para minimizar as interrupções operacionais.

Componentes de uma arquitetura orientada por eventos

Figura 1. Componentes de uma arquitetura orientada por eventos

A solução entrega:

  • Redução da propagação de atrasos: o monitoramento em tempo real e as funcionalidades de resposta imediata ajudam a evitar que os atrasos se propaguem pelos cronogramas de voos.

  • Alocação otimizada de recursos: uma análise inteligente de dados possibilita a realocação eficiente de recursos durante interrupções.

  • Experiência aprimorada do cliente: um melhor gerenciamento de interrupções leva a uma maior satisfação e fidelidade dos passageiros.

  • Operações dimensionáveis: a arquitetura flexível suporta volumes crescentes de dados e demandas operacionais.

  • Tomada de decisão em tempo real: o acesso imediato aos dados de voo permite decisões operacionais rápidas e informadas.

A solução de gerenciamento de voo em tempo real implementa uma arquitetura orientada a eventos para o gerenciamento de atrasos, que fornece monitoramento em tempo real, insights preditivos e otimização de recursos. A arquitetura consiste em vários componentes principais:

1. Geração e processamento de dados

  • Microsserviço FastAPI que abriga o simulador de dados em tempo real e o localizador de caminhos.

  • Tópicos do PubSub que gerenciam fluxos de dados estáticos e em tempo real.

  • Funções de nuvem para processar dados de aplicativo e de telemetria.

2. Análise e gerenciamento de custos

  • Calculadora de custos Vertex AI para análise de impacto financeiro.

  • Função de nuvem do criador de dados analíticos para transformação de dados.

  • Pipeline de agregação para o processamento de dados complexos.

3. Estrutura do banco de dados

  • Banco de dados MongoDB como o armazenamento central de dados.

  • Coleções especializadas:

    • flight_costs collection para acompanhar e analisar as despesas relacionadas ao voo.

    • flight_plane coleção de simulação para modelagem preditiva e planejamento de cenário.

    • flight_realtimeCF projetada para rastreamento de dados em tempo real e análise histórica ( Coleçãode séries temporais ).

    • flights collection para gerenciamento abrangente de informações gerais de voo.

4. Componentes de integração

  • Change Streams para alterações de dados em tempo real.

  • API do Google Maps para visualização de dados geográficos.

  • Next.js para interface de front-end e visualização.

Conforme ilustrado na figura 2, esta arquitetura habilita os seguintes fluxos de dados:

  • Fluxo de dados operacionais (linhas azuis): lida com operações de voos em tempo real.

  • Fluxo de dados analíticos (linhas verdes): gerencia a business intelligence.

  • Conexões internas (linhas pretas): mantêm a integração do sistema.

Arquitetura orientada a eventos

Figura 2. Arquitetura orientada a eventos

Para obter um guia passo a passo detalhado que implementa essa solução, incluindo amostras de código e instruções de configuração específicas, visite este repositório do GitHub. Essa solução fornece uma arquitetura escalável e orientada a eventos para gerenciar as operações de voo e minimizar atrasos e interrupções.

Para implementar a solução, siga estas etapas:

1

Instale as seguintes dependências:

  • Node.js (v14 ou posterior)

  • MongoDB (local ou na nuvem)

  • Next.js (v12 ou superior)

  • SDK do Google Cloud

2
  • Armazene dados de voo em um esquema flexível.

  • Habilite atualizações em tempo real.

  • Lide com dados de série temporal para análise.

  • Mantenha as informações operacionais de voo, garantindo que você obtenha a string de conexão do MongoDB para as etapas subsequentes de configuração e integração.

3
  • Implemente o aplicação como um serviço em contêiner usando o Cloud Run do Google Cloud.

  • Configure o Cloud Build do Google Cloud para implantações automatizadas.

  • Configure o armazenamento em nuvem do Google Cloud para os ativos.

  • Utilize o Google Cloud Pub/Sub para obter distribuição de dados em tempo real.

  • Implemente as funções de nuvem do Google Cloud para processamento de dados. O trecho de código é executado em uma função de nuvem. Quando o sistema identifica uma interrupção, a função atualiza o novo caminho obtido do algoritmo do localizador de caminho. Esta funcionalidade garante o reenvio de rota ideal, o que minimiza o consumo de gás e reduz os custos.

import base64
import json
from bson import ObjectId
import os
from pymongo import MongoClient
import functions_framework
# Triggered from a message on a Cloud Pub/Sub topic.
@functions_framework.cloud_event
def postPath(cloud_event):
# Access URI in secrets
MONGO_URI = os.environ.get('MONGO_URI', "MONGO_URI is not set.")
MONGO_DATABASE = os.environ.get('MONGO_DATABASE', "MONGO_DATABASE is not set.")
MONGO_COLLECTION = os.environ.get('MONGO_COLLECTION', "MONGO_COLLECTION is not set.")
if not all([MONGO_URI, MONGO_DATABASE, MONGO_COLLECTION]):
print("Error: One or more environment variables are not set.")
return
client = MongoClient(MONGO_URI)
db = client[MONGO_DATABASE]
collection = db[MONGO_COLLECTION]
try:
# Parse the data in the message
byte_message = base64.b64decode(cloud_event.data["message"]["data"])
json_str = byte_message.decode('utf-8')
data_dict = json.loads(json_str)
print(data_dict)
# Work with the dictionary fields
flight_id = data_dict.get("flight_id")
initial_path = data_dict.get("initial_path_airps")
new_path = data_dict.get("new_path_airps")
disruption_coords = data_dict.get("disruption_coords")
# Check if all required fields are present
if not flight_id:
print("Error: flight_id is missing.")
return
if initial_path is None or new_path is None:
print("Error: One or more path fields are missing.")
return
# Find the document in the MongoDB collection and update the path field
result = collection.update_one(
{"_id": ObjectId(flight_id)},
{"$set": {
"initial_path": initial_path,
"new_path": new_path,
"disruption_coords": {
"lat": disruption_coords[0],
"long": disruption_coords[1]
}
}}
)
if result.matched_count > 0:
print("Document successfully updated.")
else:
print("No document found with the specified flight_number.")
except Exception as e:
print(f"Error updating document: {e}")
finally:
client.close()
  • Implemente a IA Vertex do Google Cloud para análises. Certifique-se de obter uma chave de API do Google Maps para análise e visualização geoespacial aprimoradas.

4
  • Clone o repositório e instale dependências.

  • Configure variáveis de ambiente.

  • Configure uma conexão do MongoDB.

  • Execute o servidor de desenvolvimento .

5
  • Conteinerize o aplicação usando o Docker.

  • Implantar no Google Cloud Run para dimensionamento automático.

  • Configure a implantação contínua com o Cloud Build.

  • Configure variáveis de ambiente e segredos.

Depois de seguir essas etapas, seu aplicativo deverá ficar assim:

Dashboard de gerenciamento de voos com filtros
clique para ampliar

Figura 3. Dashboard de gerenciamento de voos com filtros

Monitoramento de rotas de voos e custos
clique para ampliar

Figura 4. Monitoramento de rotas de voos e custos

  • Utilize modelos flexíveis: o esquema flexível e as coleções de séries temporais do MongoDB fornecem uma base sólida para as operações de voo. Esses recursos permitem que as companhias aéreas manipulem com eficiência os dados de planejamento pré-voo e de telemetria, enquanto se adaptam aos requisitos em constante mudança.

  • Habilitar monitoramento em tempo real: uma arquitetura orientada a eventos alimentada pela integração do MongoDB com os serviços do Google Cloud, como Pub/Sub e Cloud Functions, permite resposta imediata a interrupções de voo. Ao processar fluxos de dados em tempo real, essa abordagem ajuda as companhias aéreas a minimizar os atrasos, que podem custar uma média de4 euros,320 por hora.

  • Obtenha insights aprimorados: os pipelines de agregação do MongoDB transformam dados operacionais de voo em insights acionados, permitindo que as companhias aéreas otimizem rotas e recursos. A IA do Google Cloud Vertex oferece análise preditiva que ajuda as companhias aéreas a gerenciar custos e atrasos.

  • Gerencie dados com eficiência: esta solução mostra como o MongoDB lida com diversos tipos de dados e cargas de trabalho, desde a coleta de telemetria em tempo real ao processamento analítico. Sua arquitetura distribuída e seus recursos de change streams garantem um desempenho consistente.

  • Dr. Humza Akhtar, MongoDB

  • Rami Pinto, MongoDB

  • Sebastian Rojas Arbulu, MongoDB

  • Consultor de incidentes de frota conectada com tecnologia de AI agêntica

  • Excelência em manutenção preditiva com o MongoDB Atlas

  • Otimize o gerenciamento global de jogos.

Voltar

Gerenciamento de solicitações para RAG

Nesta página