Patent ES-2835881-T3 (ES)
Title: Prevención de doble procesamiento
Inventor: BIGOURDAN TRISTAN
IPC: G06Q10/02
Filed: 2015-03-19
Granted: 2021-06-23
Abstract: Un método para evitar el doble procesamiento en respuesta a una solicitud HTTP repetida de un cliente que es un navegador web en una sesión de transacción, llevándose a cabo el método por un servidor que comprende un módulo de interceptación, un administrador de procesamiento, un repositorio de trabajos y un oyente y utilizar un protocolo de respuesta de solicitud HTTP en una red informática; comprendiendo el método: proporcionar un identificador de sesión al navegador web; recibir en el módulo de interceptación una primera solicitud HTTP que comprende el identificador de sesión del navegador web a través de la red informática; procesar la primera solicitud HTTP, en donde el procesamiento de la primera solicitud HTTP comprende iniciar la preparación de datos de respuesta para el navegador web; crear una envoltura de respuesta, en donde se asigna un primer objeto de respuesta a la envoltura de respuesta, en donde el primer objeto de respuesta representa una primera conexión TCP establecida por el cliente para transmitir la primera solicitud HTTP; asignar los datos de respuesta preparados al primer objeto de respuesta; almacenar los datos de respuesta preparados y la envoltura de respuesta en el repositorio de trabajos, en donde el administrador de procesamiento prepara continuamente los datos de respuesta como resultado del proceso en curso iniciado por la primera solicitud HTTP y se almacenan de forma gradual en el repositorio de trabajos; recibir en el módulo de interceptación una segunda solicitud HTTP que comprende el identificador de sesión del navegador web a través de la red informática; analizar identificadores de sesión en solicitudes HTTP recibidas desde el navegador web; reconocer por parte del servidor que la segunda solicitud HTTP es una solicitud repetida, es decir, una repetición de la primera solicitud HTTP, que aún está pendiente, es decir, a la que aún no se ha devuelto ninguna respuesta con datos de respuesta, sobre la base de los identificadores de sesión en la primera solicitud HTTP y la segunda solicitud HTTP; en respuesta al reconocimiento de que la segunda solicitud HTTP del navegador web resulta ser una repetición de la primera solicitud HTTP del navegador web, evitar que la segunda solicitud HTTP provoque otro procesamiento de la solicitud, en donde evitar que cause otro proceso se logra mediante la interceptación de solicitudes HTTP recibidas por el módulo de interceptación, y comprende: comprobar a través del oyente si la envoltura de respuesta ya existe en el repositorio de trabajos para la segunda solicitud HTTP recibida comparando identificadores de sesión, en respuesta a la existencia de la envoltura de respuesta: actualizar la envoltura de respuesta con un segundo objeto de respuesta que representa una segunda conexión TCP establecida por el cliente para transmitir la segunda solicitud HTTP; realizar el intercambio de respuestas asignando los datos de respuesta preparados en respuesta a la primera solicitud HTTP desde el primer objeto de respuesta al segundo objeto de respuesta; y devolver, por parte del servidor en respuesta a la solicitud repetida, una respuesta al navegador web que comprende los datos de respuesta preparados en respuesta a la primera solicitud HTTP.