¿Cómo aseguran las aerolíneas que dos personas no reserven el mismo asiento al mismo tiempo?

Al seleccionar asientos, el problema de la concurrencia es siempre una posibilidad. Sin embargo, al igual que con todos los sistemas informáticos en los que una entidad determinada (en este caso, un registro computarizado asociado a un asiento específico en un vuelo específico en una fecha específica) solo puede asignarse a una y solo a otra “entidad” (pasajero), el El problema normalmente se resuelve por orden de llegada.

El caso de primer orden de llegada se aplica cuando realmente selecciona el asiento y envía su solicitud. Por lo tanto, si 2 personas tienen un mapa de asientos en sus pantallas y ambos ven, por ejemplo, el asiento 10A disponible y lo seleccionan, se asignará el asiento al primero cuyo envío sea procesado por el servidor. El otro tendrá un error interno en el proceso de selección del asiento con un error que indica que el asiento ya no está disponible, y si el flujo de selección está bien programado, dicho error interno se manejará con gracia mostrando un mensaje al segundo remitente que indica que el asiento está ya no está disponible así que por favor elija otro. En ese momento, el mapa de asientos se mostrará de nuevo, ahora muestra 10A como “no disponible”.

Tenga en cuenta que en términos informáticos no hay absolutamente “exactamente al mismo tiempo” cuando se trata de una única relación de entidad uno a uno. Todo lo que se necesita es una de las presentaciones para que llegue un femtosegundo antes de ser declarado ganador. Incluso si llegaron exactamente al mismo tiempo (relacionado con la resolución de tiempo del sistema informático que generalmente se mide en microsegundos) ya que ambas solicitudes accederían a un registro que solo permite una acción de “escritura” simultánea, el empate sería aleatorio roto para favorecer una solicitud sobre la otra.

Así lo hizo la aerolínea para la que trabajé, al menos.

Se realiza a través del control de concurrencia que está integrado en todos los sistemas de administración de bases de datos en estos días.

Cuando elige su asiento y hace clic en el botón Guardar en su sitio de viajes, los datos se envían a la base de datos a través de un servicio o una API, donde se guardan.

Si 2 o más personas eligen el mismo asiento y presionan guardar al mismo tiempo, la persona cuya información llega primero a la base de datos de la aerolínea obtiene el asiento (probablemente el que tiene una velocidad de Internet más rápida o la que vive más cerca de la ubicación de su servidor), mientras que otros son rechazados, lo que a su vez le dice al usuario que seleccione otro asiento.

Usted no reserva asientos. Usted reserva viajes. No hay problema con que varias personas viajen en el mismo vuelo.

Cuando selecciona asientos, se verifican con una base de datos, y recibe un error si un asiento ha sido seleccionado por otra persona mientras tanto y selecciona otro.

Si alguna vez se ha adelantado al proceso de reserva y ha recibido el mensaje “Lo siento, esta tarifa ya no está disponible, vuelva a comenzar”, es porque estaba compitiendo con otra persona por el mismo inventario. Asumo que el mapa de asientos funciona de la misma manera, aunque las colisiones de personas que intentan tomar el mismo asiento del mapa tienen que ser mucho menos raras que el inventario de reservas.

“¿Cómo se aseguran las aerolíneas que dos personas no reserven el mismo asiento al mismo tiempo?”

Por la disponibilidad. Las computadoras están programadas para detectar vacantes de asientos. Si se comete un error, las aerolíneas normalmente lo compensan con el pasajero al ofrecer actualizaciones gratuitas o, si están reservadas, los asientos en diferentes vuelos.

Es un problema de programación informática y eso tiene que hacerse. Solo un usuario puede asignar un registro a la vez. Si un segundo intenta actualizar, debe volver a leer el registro y, si el asiento ya está reservado, el segundo usuario debe recibir un mensaje de error para volver a intentarlo.