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: Fabricación 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
Resumen 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 brindar monitoreo en tiempo real, información predictiva y una asignación optimizada de recursos. Utiliza una arquitectura basada en eventos con:
FastAPI para simulación
GCP PubSub para transmisión de mensajes
Vertex IA para análisis avanzado
Funciones de Google Cloud para el procesamiento basado en eventos sin servidor.
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 basada en eventos
La solución ofrece:
Propagación reducida de retrasos: el monitoreo en tiempo real y las capacidades de respuesta inmediata ayudan a prevenir que los retrasos se propaguen en cadena a lo largo de los cronogramas de vuelos.
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 basada en eventos para la gestión de retrasos, que proporciona monitorización en tiempo real, información predictiva y optimización de recursos. La arquitectura consta de varios componentes clave:
1. Generación y procesamiento de datos
Microservicio FastAPI que alberga un simulador de datos en tiempo real y un buscador de rutas.
Temas de PubSub que manejan transmisiones de datos tanto estáticas 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.
Canal 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 deseries de tiempo).flightscolección para la gestión integral de la información general de vuelos.
4. Componentes de integración
Flujos de cambios 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 datos de vuelo en un esquema flexible.
Activa las actualizaciones en tiempo real.
Gestiona datos de series de tiempo para análisis.
Mantenga la información de vuelo operativa, asegurándose de obtener la cadena de conexión de MongoDB para los pasos de configuración e integración posteriores.
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 monitorización en tiempo real: Una arquitectura basada en eventos, impulsada por la integración de MongoDB con servicios de Google Cloud, como Pub/Sub y Cloud Functions, permite una respuesta inmediata ante interrupciones en los vuelos. Al procesar flujos de datos en tiempo real, este enfoque ayuda a las aerolíneas a minimizar los retrasos, que pueden costar un promedio 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