Aprende cómo transformar las operaciones de vuelo con potentes análisis en tiempo real. Recorte costos, minimice retrasos y aumente la eficiencia mediante la supervisión inteligente de datos.
caso de uso: Análisis, IoT, Modernización, Vista única
Industrias: Manufactura y Movilidad
Productos y herramientas: MongoDB Atlas, pipeline de agregación, Colecciones de series temporales, MongoDB Change Streams
emparejar: Google Cloud, Next.js, FastAPI , TensorFlow, Scikit-learn
Descripción general de la solución
La solución de gestión de vuelos en tiempo real permite a las aerolíneas gestionar proactivamente y mitigar costosos retrasos de vuelos. Solo en 2019, los retrasos de vuelos cuestan a las aerolíneas europeas un promedio de €4,320 por hora por vuelo.
La solución aprovecha el manejo inteligente de datos y la respuesta inmediata para proporcionar supervisión en tiempo real, perspectivas predictivas y asignación de recursos optimizada. Utiliza una arquitectura basada en eventos con:
FastAPI para simulación
GCP PubSub para transmisión de mensajes
Vertex IA para análisis avanzado
Google Cloud Functions para el procesamiento sin servidor basado en eventos.
Construida sobre el modelo orientado a documentos flexible y las colecciones de series de tiempo de MongoDB, la solución ofrece un enfoque integral para minimizar las interrupciones operativas.
Figura 1. Componentes de una arquitectura impulsada por eventos
La solución ofrece:
Reducción en la propagación de retrasos: la supervisión en tiempo real y las capacidades de respuesta inmediata ayudan a prevenir que los retrasos se propaguen en los horarios de vuelo.
Asignación de recursos optimizada: El análisis inteligente de datos permite una reasignación eficiente de recursos durante perturbaciones.
Mejora en la experiencia del cliente: Mejor gestión de las interrupciones conduce a una mayor satisfacción y lealtad de los pasajeros.
Operaciones escalables: La arquitectura flexible soporta volúmenes de datos en crecimiento y demandas operativas.
Toma de decisiones en tiempo real: Acceso inmediato a los datos de vuelo para tomar decisiones operativas rápidas e informadas.
Arquitecturas de Referencia
La solución de gestión de vuelos en tiempo real implementa una arquitectura impulsada por eventos para la gestión de retrasos que proporciona una supervisión en tiempo real, percepciones predictivas y optimización de recursos. La arquitectura consta de varios componentes clave:
1. Generación y procesamiento de datos
Microservicio FastAPI que aloja el Simulador de datos en tiempo real y Path Finder.
Temas de PubSub que manejan tanto flujos de datos estáticos como en tiempo real.
Cloud Functions para el procesamiento de datos de aplicaciones y telemetría.
2. Análisis y gestión de costos
Calculadora de costos de Vertex AI para el análisis de impacto financiero.
Función en la Nube de creador de datos analíticos para la transformación de datos.
Pipeline de agregación para el procesamiento de datos complejos.
3. Estructura de la base de datos
Base de datos MongoDB como almacenamiento central de datos.
Colecciones especializadas:
flight_costscolección para rastrear y analizar los gastos relacionados con vuelos.flight_planecolección de simulaciones para modelado predictivo y planificación de escenarios.flight_realtimeCFcolección diseñada para el seguimiento de datos en tiempo real y el análisis histórico (colección de series de tiempo).flightscolección para la gestión integral de la información general de vuelos.
4. Componentes de integración
Change Streams para cambios de datos en tiempo real.
API de Google Maps para visualizar datos geográficos.
Next.js para la interfaz y visualización front-end.
Como se ilustra en la Figura 2, esta arquitectura permite los siguientes flujos de datos:
Flujo de datos operativos (líneas azules): Gestiona operaciones de vuelo en tiempo real.
Flujo de datos analíticos (líneas verdes): Gestiona la business intelligence.
Conexiones internas (líneas negras): Mantiene la integración del sistema.
Figura 2. Arquitectura orientada a eventos
Compilar la solución
Para obtener una guía detallada paso a paso que implemente esta solución, incluyendo muestras de código e instrucciones específicas de configuración, visite este repositorio de GitHub. Esta solución proporciona una arquitectura escalable y basada en eventos para gestionar las operaciones de vuelo y minimizar retrasos y interrupciones.
Para implementar la solución, siga estos pasos:
Configurar MongoDB
Almacene los datos de vuelo en un esquema flexible.
Activa las actualizaciones en tiempo real.
Gestiona datos de series de tiempo para análisis.
Mantén la información operativa del vuelo, asegurándote de obtener la cadena de conexión de MongoDB para las siguientes etapas de configuración e integración.
Configurar servicios de GCP
Implementa la aplicación como un servicio en contenedor utilizando Cloud Run de Google Cloud.
Configura Cloud Build de Google Cloud para implementaciones automatizadas.
Configura Cloud Storage de Google Cloud para activos.
Utiliza Google Cloud Pub/Sub para la distribución de datos en tiempo real.
Implementar las Cloud Functions de Google Cloud para el procesamiento de datos. El snippet se ejecuta en una función nube. Cuando el sistema identifica una interrupción, la función actualiza la nueva ruta obtenida del algoritmo de búsqueda de rutas. Esta funcionalidad asegura el re-enrutamiento óptimo, lo que minimiza el consumo de combustible y reduce los costos.
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. 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()
Implementa Vertex AI de Google Cloud para análisis. Asegúrate de obtener una clave de API de Google Maps para mejorar el análisis geoespacial y la visualización.
Después de completar estos pasos, la aplicación debería verse así:
Figura 3. Tablero de gestión de vuelos con filtros
Figura 4. Supervisión de rutas de vuelo y costos
Lecciones clave
Utilice modelos flexibles: El esquema flexible y las colecciones de series temporales de MongoDB brindan una base sólida para las operaciones de vuelo. Estas funcionalidades permiten a las aerolíneas gestionar eficazmente tanto la planificación previa al vuelo como los datos de telemetría, adaptándose a los requisitos cambiantes.
Habilite la supervisión en tiempo real: Una arquitectura impulsada por eventos potenciada por la integración de MongoDB con los servicios de Google Cloud, como Pub/Sub y Cloud Functions, permite una respuesta inmediata a las interrupciones de vuelos. Mediante el procesamiento de datos en tiempo real, este enfoque ayuda a las compañías aéreas a minimizar los retrasos, que pueden costar una media de €4,320 por hora.
Obtén conocimientos avanzados: Los pipelines de agregación de MongoDB convierten los datos operativos de vuelo en perspectivas accionables, permitiendo a las aerolíneas optimizar rutas y recursos. Google Cloud Vertex AI ofrece análisis predictivo que ayuda a las aerolíneas a gestionar costos y retrasos.
Gestiona datos de manera eficiente: Esta solución muestra cómo MongoDB gestiona diversos tipos de datos y cargas de trabajo, desde la colección de telemetría en tiempo real hasta el procesamiento analítico. Su arquitectura distribuida y sus capacidades de flujos de cambios garantizan un rendimiento coherente.
Autores
Dr. Humza Akhtar, MongoDB
Rami Pinto, MongoDB
Sebastian Rojas Arbulu, MongoDB
Patricia Renart, MongoDB