Aprenda a transformar las operaciones de vuelo con potentes análisis en tiempo real. Reduzca costos, minimice retrasos y aumente la eficiencia mediante la monitorización inteligente de datos.
Casos de uso: Análisis, IoT, modernización, vista única
Industrias: Fabricación y movilidad
Productos y herramientas: MongoDB Atlas,canalización de agregación, recopilaciones de series temporales, flujos de cambios de MongoDB
Asociados: 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 y mitigar de forma proactiva los costosos retrasos. Solo en 2019, los retrasos en los vuelos cuestan a las aerolíneas europeas una media de 4,320 € por hora y 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 mensajería
Vertex AI para análisis avanzados
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 optimizada de recursos: el análisis de datos inteligente permite una reasignación eficiente de recursos durante las interrupciones.
Experiencia del cliente mejorada: una mejor gestión de las interrupciones conduce a una mayor satisfacción y lealtad de los pasajeros.
Operaciones escalables: la arquitectura flexible admite volúmenes de datos crecientes y demandas operativas.
Toma de decisiones en tiempo real: el acceso inmediato a los datos de vuelo permite 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.
Funciones en la nube para procesar datos de aplicaciones y telemetría.
2. Análisis y gestión de costes
Calculadora de costos de Vertex AI para el análisis del impacto financiero.
Creador de datos analíticos Función en la nube 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 almacén de datos central.
Colecciones especializadas:
flight_costsColección para rastrear y analizar los gastos relacionados con los 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 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 interfaz front-end y visualización.
Como se ilustra en la Figura 2, esta arquitectura permite los siguientes flujos de datos:
Flujo de datos operativos (líneas azules): maneja operaciones de vuelo en tiempo real.
Flujo de datos analíticos (líneas verdes): gestiona la inteligencia empresarial.
Conexiones internas (líneas negras): Mantiene la integración del sistema.
Figura 2. Arquitectura basada en eventos
Construir la solución
Para obtener una guía detallada paso a paso que implementa esta solución, incluyendo ejemplos de código e instrucciones de configuración específicas, visite este repositorio de GitHub. Esta solución proporciona una arquitectura escalable basada en eventos para gestionar las operaciones de vuelo y minimizar retrasos e interrupciones.
Para implementar la solución, siga estos pasos:
Configurar MongoDB
Almacene datos de vuelo en un esquema flexible.
Habilitar actualizaciones en tiempo real.
Manejar datos de series temporales 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 los servicios de GCP
Implementa la aplicación como un servicio en contenedor utilizando Cloud Run de Google Cloud.
Configure Cloud Build de Google Cloud para implementaciones automatizadas.
Configurar el almacenamiento en la nube de Google Cloud para activos.
Utilice Google Cloud Pub/Sub para la distribución de datos en tiempo real.
Implemente las Cloud Functions de Google Cloud para el procesamiento de datos. El fragmento de código se ejecuta en una función en la nube. Cuando el sistema identifica una interrupción, la función actualiza la nueva ruta obtenida del algoritmo de búsqueda de rutas. Esta función garantiza un redireccionamiento ó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 API de Google Maps para optimizar el análisis y la visualización geoespacial.
Después de seguir estos pasos, tu aplicación debería verse así:
Figura 3. Tablero de gestión de vuelos con filtros
Figura 4. Seguimiento de rutas de vuelo y costes
Aprendizajes clave
Utilice modelos flexibles: El esquema flexible de MongoDB y las colecciones de series temporales proporcionan una base sólida para las operaciones de vuelo. Estas características permiten a las aerolíneas gestionar eficientemente la planificación previa al vuelo y los datos de telemetría, adaptándose a las necesidades 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.
Obtenga información mejorada: Las canalizaciones de agregación de MongoDB convierten los datos operativos de vuelos en información útil, lo que permite a las aerolíneas optimizar rutas y recursos. Google Cloud Vertex AI ofrece análisis predictivos que ayudan a las aerolíneas a gestionar costes y retrasos.
Gestione los datos eficientemente: Esta solución muestra cómo MongoDB gestiona diversos tipos de datos y cargas de trabajo, desde la recopilació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 consistente.
Autores
Dr. Humza Akhtar, MongoDB
Rami Pinto, MongoDB
Sebastian Rojas Arbulu, MongoDB
Patricia Renart, MongoDB