ES2555863T3 - Sistema de suministro de mensajes de aplicación de alta fiabilidad y altas prestaciones - Google Patents
Sistema de suministro de mensajes de aplicación de alta fiabilidad y altas prestaciones Download PDFInfo
- Publication number
- ES2555863T3 ES2555863T3 ES11306803.5T ES11306803T ES2555863T3 ES 2555863 T3 ES2555863 T3 ES 2555863T3 ES 11306803 T ES11306803 T ES 11306803T ES 2555863 T3 ES2555863 T3 ES 2555863T3
- Authority
- ES
- Spain
- Prior art keywords
- application
- messages
- file
- control
- servers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
- Retry When Errors Occur (AREA)
Abstract
Un procedimiento, implementado por ordenador, para proporcionar el suministro de mensajes de aplicación, caracterizado porque comprende las siguientes etapas, realizadas con al menos un procesador de datos: en una pluralidad de servidores de registro (203 a - b) acoplados con al menos un servidor de aplicaciones (201 a - c): recibir asíncronamente, desde dicho al menos un servidor de aplicaciones (201 a - c), mensajes de aplicación que contienen información de aplicación, siendo recibido cada mensaje de aplicación por al menos algunos servidores de registro (203 a - b) entre la pluralidad de servidores de registro (203 a - b); recibir asíncronamente, desde dicho al menos un servidor de aplicaciones (201 a - c), mensajes de control en un intervalo predeterminado, en el que los mensajes de control comprenden al menos uno entre: un identificador (303) de una aplicación y un sello horario (305) del servidor de aplicaciones, siendo recibido cada mensaje de control por al menos algunos servidores de registro (203 a - b) entre la pluralidad de servidores de registro (203 a - b); en cada uno entre la pluralidad de servidores de registro (203 a - b): almacenar los mensajes de aplicación recibidos en un fichero de datos de aplicación actual (209); almacenar los mensajes de control recibidos en un fichero de control (211) y, tras la recepción de un mensaje de control de apertura - cierre, cerrar el fichero de datos de aplicación actual, almacenar dicho fichero de datos de aplicación cerrado y crear un nuevo fichero de datos de aplicación como el fichero de datos de aplicación actual; comparar los ficheros de control de la pluralidad de servidores de registro (203 a - b) para un intervalo dado; y en base a esta comparación, determinar, entre una pluralidad de ficheros de datos de aplicación (209) procedentes de cada uno de los servidores de registro (203 a - b), un fichero de datos de aplicación como un mejor candidato para un intervalo dado, y remitir el fichero del mejor candidato, para su pos-procesamiento, a una entidad de red.
Description
5
10
15
20
25
30
35
40
45
DESCRIPCION
Sistema de suministro de mensajes de aplicacion de alta fiabilidad y altas prestaciones Campo tecnico
La presente invention se refiere al campo dela suministro de un alto volumen de mensajes electronicos. Una aplicacion particularmente ventajosa, pero no limitadora, se refiere a las transacciones de facturacion de lmeas aereas. En particular, la invencion se refiere al suministro de un alto numero de mensajes asmcronos (habitualmente, > 8.000 mensajes por segundo) que contienen, por ejemplo, information de facturacion, por una red no fiable, a una pluralidad de servidores de registro, donde se crean ficheros de registro que contienen la informacion de facturacion para un intervalo conocido, y se realiza el procesamiento de la informacion de facturacion para el intervalo en el fichero de registro con la mas baja perdida de datos de facturacion.
Antecedentes
En la tecnica conocida es necesario a veces transmitir datos por redes no fiables, o usar protocolos de transmision asmcrona tales como el Protocolo de Datagramas de Usuario (UDP), ya que el caudal de tales transacciones de red, basadas en la ausencia de sesiones, es mayor, por ejemplo, que una transaction basada en el Protocolo de Control de Transmision (TCP). El documento WO 03062993 divulga un sistema para el almacenamiento redundante de registros.
Considerese la Fig. 1, un ejemplo de un sistema de la tecnica anterior. Un sistema de ese tipo, basado en los servidores 103, puede ejecutar una pluralidad de aplicaciones 123 que transmiten informacion de facturacion. Debido a la necesidad de realizar un cierto numero de transacciones de facturacion que supera la capacidad de la red 105, usando transacciones smcronas; o debido a la correspondiente perdida de caudal segun la aplicacion espera un acuse de recibo de una transaccion, un mensaje asmcrono 125 es enviado por la red 105. El mensaje asmcrono es, o no, recibido por un servidor de registro 127.
Sin embargo, el servidor de registro 127 no es un servidor tolerante a fallos o de alta disponibilidad y, por lo tanto, esta considerado como no fiable 127. Todos los mensajes que son recibidos son almacenados 129 en un sistema de ficheros 109 para su procesamiento por el servidor de facturacion 111, usando el sistema de facturacion 131.
Se entiende que, debido al protocolo de mensajerfa 125 usado, y a la no fiabilidad 127 del servidor de registro 107, pueden perderse transacciones.
Por tanto, es un objeto de la presente invencion mejorar significativamente la fiabilidad del suministro de mensajes, aumentando a la vez, o al menos manteniendo, el caudal, y usando a la vez redes no fiables.
Breve sumario de la invencion
La invencion se divulga en las reivindicaciones adjuntas.
De acuerdo a un aspecto, la invencion se refiere a un procedimiento implementado por ordenador para proporcionar el suministro de mensajes de aplicacion, de alta fiabilidad y de altas prestaciones. El procedimiento comprende las siguientes etapas, realizadas con al menos un procesador de datos:
en una pluralidad de servidores de registro, acoplados con al menos un servidor de aplicacion, estando cada servidor de aplicacion asociado a una aplicacion: recibir asmcronamente, desde dicho al menos un servidor de aplicacion, mensajes de aplicacion que contienen informacion de aplicacion para una transaccion de aplicacion, siendo recibido cada mensaje de aplicacion por al menos algunos servidores de registro entre la pluralidad de servidores de registro; recibir asmcronamente, desde dicho al menos un servidor de aplicacion, mensajes de control en un intervalo predeterminado, siendo recibido cada mensaje de control por al menos algunos servidores de registro entre la pluralidad de servidores de registro;
en cada uno entre la pluralidad de servidores de registro: almacenar los mensajes de aplicacion recibidos en un fichero de datos de la aplicacion actual; almacenar los mensaje de control recibidos en un fichero de control y, tras la reception de un mensaje de control de apertura-cierre, cerrar el fichero de datos de la aplicacion actual, almacenar dicho fichero de datos de aplicacion cerrado y crear un nuevo fichero de datos de aplicacion, como el fichero de datos de aplicacion actual;
comparar los ficheros de control de la pluralidad de servidores de registro para un intervalo dado; y
en base a esta comparacion, determinar, entre una pluralidad de ficheros de datos de aplicacion procedentes de cada uno de los servidores de registro, un fichero de datos de aplicacion como el mejor candidato para un intervalo dado, y remitir el fichero del mejor candidato para su pos-procesamiento.
De tal modo, en caso de que algunos de los mensajes de aplicacion remitidos por los servidores de aplicacion no sean
5
10
15
20
25
30
35
40
45
recibidos en algunos de los servidores de registro, la invencion permite determinar el fichero de datos de aplicacion que es el mas fiable, y descartar por ello los otros ficheros de datos de aplicacion, sin requerir la comparacion de los ficheros de datos de aplicacion.
Optativamente, la invencion puede comprender una cualquiera de las siguientes caractensticas optativas:
en una realizacion, cada servidor de registro esta acoplado con una pluralidad de servidores de aplicacion, cada uno asociado a al menos una aplicacion.
Ventajosamente, el mensaje de control comprende un cierto numero de mensajes de aplicacion transmitidos por el servidor de aplicaciones. Ventajosamente, el mensaje de control comprende un identificador que identifica unvocamente el orden de los mensajes de control en una secuencia de mensajes de control. Preferiblemente, el identificador es un numero de mensaje de control. Ventajosamente, el mensaje de control comprende al menos uno entre: un identificador de una aplicacion y un sello horario del servidor de aplicaciones. Preferiblemente, cada mensaje de control comprende un identificador de una aplicacion y un sello horario del servidor de aplicaciones.
Preferiblemente, el intervalo para remitir un mensaje de control es un periodo de tiempo dado.
Ventajosamente, el mensaje de control de apertura / cierre es un N-esimo mensaje de control en una secuencia de mensajes de control. En una realizacion, N esta predeterminado. En una realizacion, el N-esimo mensaje de control es el quinto mensaje de control en la secuencia de mensajes de control y el periodo de tiempo dado es un periodo de tiempo de dos minutos.
Ventajosamente, el fichero del mejor candidato es escogido entre un conjunto de ficheros de datos de aplicacion para un intervalo dado, entre la pluralidad de servidores de registro, y que tienen los mismos puntos de inicio y parada. Preferiblemente, los puntos de inicio y parada estan determinados por la recepcion de mensajes de control de apertura / cierre.
De acuerdo a una realizacion ventajosa, el fichero del mejor candidato es escogido entre el conjunto escogido de ficheros, el fichero con la mas baja tasa de perdida de mensajes de aplicacion. De acuerdo a una realizacion ventajosa, en caso de que algunos ficheros de datos de aplicacion tengan el mismo numero de mensajes de aplicacion, entonces el fichero del mejor candidato es escogido, entre los ficheros de datos de aplicacion con la mas baja tasa de perdida de mensajes de aplicacion, como el fichero con la mas baja tasa de perdida de mensajes de control.
En una realizacion, el fichero del mejor candidato que ha perdido mensajes de aplicacion, y que no ha perdido mas que un x por ciento de los mensajes de aplicacion para el intervalo, es aumentado con los mensajes de aplicacion perdidos existentes en otros ficheros del conjunto de ficheros, estando x predeterminado. En una realizacion, x esta comprendido entre quince y cuarenta y cinco.
Ventajosamente, al determinar, entre una pluralidad de ficheros de datos de aplicacion procedentes de cada uno entre la pluralidad de servidores de registro, un fichero de datos de aplicacion como el mejor candidato para un intervalo dado, el servidor remite el fichero del mejor candidato para el procesamiento de la aplicacion.
En una realizacion, la aplicacion es una aplicacion de transacciones de facturacion de lmea aerea.
De acuerdo a otro aspecto, la invencion se refiere a un medio no transitorio, legible por ordenador, que contiene instrucciones de programas de software, donde la ejecucion de las instrucciones de programas de software, por al menos un procesador de datos, da como resultado la realizacion de operaciones que comprenden la ejecucion del procedimiento de la invencion.
Otro aspecto de la invencion se refiere a un sistema para el suministro de mensajes de aplicacion, de alta fiabilidad y altas prestaciones. El sistema comprende:
una pluralidad de servidores de registro acoplados a la salida de al menos un servidor de aplicaciones;
estando cada servidor de registro configurado para recibir asmcronamente, desde dicho al menos un servidor de aplicaciones: mensajes de aplicacion que contienen informacion de aplicacion y mensajes de control;
estando tambien cada servidor de registro configurado para: almacenar los mensajes de aplicacion recibidos en un fichero de datos de aplicacion actual, y para almacenar los mensajes de control recibidos en un fichero de control; y, al recibir un mensaje de control de apertura-cierre, cerrar el fichero de datos de aplicacion actual, almacenar dicho fichero de datos de aplicacion cerrado, anadir dicho fichero de datos de aplicacion cerrado a una pluralidad de ficheros de datos y crear un nuevo fichero de datos de aplicacion, como el fichero de datos de aplicacion actual;
un servidor acoplado con la pluralidad de servidores de registro, estando dicho servidor configurado para: comparar los
5
10
15
20
25
30
35
40
45
ficheros de control de la pluralidad de servidores de registro para un intervalo dado; en base a esta comparacion, determinar, entre una pluralidad de ficheros de datos de aplicacion procedentes de cada uno de los servidores de registro, un fichero de datos de aplicacion como el mejor candidato para un intervalo dado; y remitir el fichero del mejor candidato para su pos-procesamiento.
Optativamente, el sistema comprende una pluralidad de servidores de aplicaciones y una pluralidad de aplicaciones ejecutandose en un procesador de cualquiera entre la pluralidad de servidores de aplicaciones, teniendo cada uno de los servidores de aplicaciones una salida acoplada con una entrada de cada uno de los servidores de registro.
De acuerdo a otro aspecto, la invention resuelve las cuestiones de perdida proporcionando el suministro de mensajes de facturacion de alta fiabilidad y altas prestaciones, remitiendo asmcronamente un mensaje de facturacion que contiene informacion de facturacion para una transaccion de una aplicacion, a cada uno entre una pluralidad de servidores de registro; remitiendo asmcronamente mensajes de control a cada uno entre la pluralidad de servidores de registro en un intervalo predeterminado; almacenando, en cada uno entre la pluralidad de servidores de registro, los mensajes de control recibidos en un fichero de control y, al recibir un mensaje de control de apertura-cierre, cerrando el fichero de datos de facturacion actual, anadiendo dicho fichero de datos de facturacion cerrado a una pluralidad de ficheros de datos de facturacion y creando un nuevo fichero de datos de facturacion como el fichero de datos de facturacion actual; y determinando, entre una pluralidad de ficheros de datos de facturacion procedentes de cada uno de los servidores de registro, un fichero de datos de facturacion como el mejor candidato para un intervalo dado, y remitiendo el fichero del mejor candidato para el procesamiento de facturacion.
De acuerdo a un aspecto adicional mas de esta invencion, se divulga un sistema para el suministro de mensajes de aplicacion de alta fiabilidad y altas prestaciones, caracterizado porque comprende:
al menos una aplicacion ejecutando al menos parte de una transaction de aplicacion en un servidor de aplicaciones,
una pluralidad de servidores de registro acoplados con la salida de dicho al menos un servidor de aplicaciones;
estando dicho al menos un servidor de aplicaciones configurado para remitir asmcronamente, a cada uno entre la pluralidad de servidores de registro: mensajes de aplicacion que contienen information para una transaccion, y mensajes de control;
estando cada servidor de registro configurado para: almacenar los mensajes de aplicacion recibidos en un fichero de datos de aplicacion actual y almacenar los mensajes de control recibidos en un fichero de control; y, al recibir un mensaje de control de apertura-cierre, cerrar el fichero de datos de aplicacion actual, almacenar dicho fichero de datos de aplicacion cerrado y crear un nuevo fichero de datos de aplicacion, como el fichero de datos de aplicacion actual;
un servidor acoplado con la pluralidad de servidores de registro, estando dicho servidor configurado para: comparar los ficheros de control de la pluralidad de servidores de registro para un intervalo dado; en base a esta comparacion, determinar, entre una pluralidad de ficheros de datos de aplicacion procedentes de cada uno de los servidores de registro, un fichero de datos de aplicacion como el mejor candidato para un intervalo dado; y remitir el fichero del mejor candidato para su pos-procesamiento.
Preferiblemente, la aplicacion es una aplicacion de facturacion que ejecuta al menos parte de una transaccion de facturacion. Preferiblemente, el mensaje de aplicacion es un mensaje de facturacion que contiene datos relacionados con la facturacion. Preferiblemente, el fichero de datos de aplicacion es un fichero de datos de facturacion.
Otro aspecto de la invencion se refiere a un producto de programa de ordenador que comprende instrucciones capaces de realizar las etapas del procedimiento de acuerdo a la invencion.
Breve descripcion de las diversas vistas de los dibujos
La FIG. 1 es un diagrama de sistema de un sistema de la tecnica anterior.
La FIG. 2 es un diagrama de sistema de la arquitectura de la presente invencion.
La FIG. 3 es una ilustracion de la estructura de los datos de mensajes de control.
La FIG. 4 es una lista de los tipos de mensajes de control transmitidos.
La FIG. 5 es un diagrama de flujo del procesamiento realizado por una aplicacion que envfa mensajes de facturacion.
La FIG. 6 es un diagrama de flujo del procesamiento realizado por un servidor de registro que recibe mensajes.
La FIG. 7 es un diagrama de flujo del procesamiento de un fichero de registro del mejor candidato.
5
10
15
20
25
30
35
40
45
50
La FIG. 8 es un diagrama de flujo de la mejora de la calidad de un fichero escogido del mejor candidato.
La FIG. 9 es una ilustracion simplificada de una realization ejemplar donde los mensajes son transmitidos desde un servidor de aplicaciones a una agrupacion de cuatro servidores de registro.
La FIG. 10 es un diagrama de la arquitectura interna de cualquiera de los servidores del sistema.
Descripcion detallada de la invencion
Se recuerda que la presente invencion se refiere al suministro de mensajes de notification enviados por aplicaciones, usando una agrupacion de servidores de registro. Cada aplicacion notifica a todos los servidores de registro redundantes a la vez. Cada servidor de registro divide este flujo de mensajes de notificacion en ficheros individuales y gestionables. El sistema determina continuamente los ficheros mas fiables en la agrupacion y transfiere ese fichero al destinatario.
Optativamente, la invencion puede comprender una cualquiera de las siguientes caractensticas, ventajosas pero no obstante optativas.
El mensaje de control comprende un identificador de una aplicacion de facturacion. Preferiblemente, el mensaje de control tambien comprende uno cualquiera entre: un sello horario del servidor de aplicaciones, un cierto numero de mensajes de control transmitidos por la aplicacion (por ejemplo, una aplicacion de facturacion) y un cierto numero de mensajes de aplicacion (por ejemplo, mensajes de facturacion) transmitidos por la aplicacion. Cada aplicacion tiene un intervalo definido para remitir un mensaje de control en un periodo de tiempo dado, y un mensaje de control de apertura / cierre es cada N-esimo mensaje de control en la secuencia de mensajes de control. De acuerdo a una realizacion ventajosa, el N- esimo mensaje de control es el quinto mensaje de control en la secuencia de mensajes de control y el periodo de tiempo dado es de dos minutos. El sistema escoge ficheros para su procesamiento por un sistema de facturacion, creando un fichero del mejor candidato, escogido entre un conjunto de ficheros para un intervalo dado, entre la pluralidad de servidores de registro que tienen un mismo punto de inicio y de parada. Preferiblemente, el fichero del mejor candidato es, entre el conjunto escogido de ficheros, el fichero con la mas baja tasa de perdida de mensajes. El fichero del mejor candidato puede ser aumentado allf donde se pierden mensajes y no se han perdido mas del treinta por ciento de los mensajes para el intervalo, copiando los mensajes perdidos existentes en ficheros del conjunto de ficheros distintos al fichero del mejor candidato. Preferiblemente, al determinar, entre una pluralidad de ficheros de datos de aplicacion procedentes de cada uno entre la pluralidad de servidores de registro, un fichero de datos de aplicacion como el mejor candidato para un intervalo dado, el servidor remite el fichero del mejor candidato para el procesamiento de la aplicacion.
La Fig. 2 ilustra un sistema que implementa la realizacion preferida de la invencion. El sistema tiene una pluralidad de aplicaciones 201(a) a (c). Estas aplicaciones pueden ser una pluralidad de aplicaciones distintas 201(a) a (c) ejecutandose en un unico servidor; una unica aplicacion 201(a) ejecutandose en una pluralidad de servidores 103; o una combination de multiples aplicaciones 201(a) a 201(c) ejecutandose en multiples servidores distintos. Cada una de las aplicaciones 201(a) a (c) remite mensajes de aplicacion asmcronos a los servidores de registro 203(a) a (b). Un mensaje de aplicacion contiene information relacionada con la aplicacion. Por ejemplo, el mensaje de aplicacion puede comprender datos relacionados con uno cualquiera entre: facturacion, perfil del cliente, perfil del cliente, etc., Se entendera que, si bien se ilustran dos servidores de registro 202(a) a (b), el numero de servidores de registro es, preferiblemente, mas de 2. Si bien las Aplicaciones se han centrado en datos de transacciones de facturacion de lmea aerea, otros tipos de aplicaciones podnan remitir otros datos en el sistema de la invencion.
Cada uno de los servidores de registro 203(a) a (b) tiene una instancia del servidor de registro 205 y un acople de facturacion 207, que escriben los mensajes de datos de aplicacion recibidos en un fichero de datos de aplicacion actual 209(a) y los mensajes de control en el fichero de control 211. De tal modo, el mismo mensaje de aplicacion es enviado desde un servidor de aplicaciones 201(a) a (c) a todos los servidores de registro 203(a) a (b). Posiblemente, todos los servidores de registro 201(a) a (c) reciben el mismo mensaje de aplicacion. Sin embargo, en la practica, al menos algunos de los mensajes de aplicacion pueden no ser recibidos por todos los servidores de registro 201(a) a (c).
Los mensajes de control se envfan en intervalos descritos mas adelante en este documento, que provocan que el fichero de datos de aplicacion actual 209(a) sea cerrado, creando una pluralidad de ficheros de datos de aplicacion 209(b) a (c), cada uno representativo de mensajes de aplicacion de facturacion de un intervalo dado.
El proposito de los mensajes de control es doble. En primer lugar, estos mensajes son usados para (re)sincronizar la division del flujo de mensajes de aplicacion en los ficheros 209(a) a (c). Es crucial que cada servidor de registro divida el flujo en los mismos puntos en el flujo, a fin de crear los ficheros sincronizados. En segundo lugar, cada mensaje de control sera usado por el algoritmo de correlation para seleccionar el mejor candidato entre los ficheros sincronizados. Por lo tanto, un sumario de los mensajes de control se almacena en un fichero de control 211.
Una section de facturacion que comprende un lote de correlacion 213, una salida de correlacion 215 y un lote de envfo 217 es responsable de determinar el mejor candidato de los ficheros de datos de aplicacion 209(a) a (c) y de remitir el
5
10
15
20
25
30
35
40
45
50
mejor candidato al entorno de facturacion 219.
La Fig. 3 ilustra la estructura de un mensaje de control, segun es transmitido y almacenado en el fichero de control 211. El mismo mensaje de control es enviado desde un servidor de aplicaciones 201 (a) a (c) a todos los servidores de registro 203(a) a (b). Posiblemente, todos los servidores de registro 201(a) a (c) reciben el mismo mensaje de control. Sin embargo, en la practica, al menos algunos de los mensajes de control pueden no ser recibidos por todos los servidores de registro 201(a) a (c).
Cada mensaje de control enviado por una aplicacion 201(a) a (c) comprende, preferiblemente, al menos cuatro elementos.
El mensaje de control comprende un identificador de aplicacion 303 que identifica el servidor de aplicaciones que es el originador del mensaje de control. Cada aplicacion 201(a) a (c) tiene un identificador de aplicacion 303, que identifica umvocamente la aplicacion. Este elemento permite que distintas aplicaciones facturadas envfen datos y mensajes de control a la misma agrupacion (es decir, los servidores de registro 203(a) a (b)). La agrupacion puede separar facilmente los mensajes segun el origen.
El sello horario 305 define una unica referencia de hora en el servidor de aplicacion remitente. Todas las etapas de sincronizacion estaran basadas en el sello horario 305 del servidor de aplicaciones remitente. Esto evita las discrepancias de reloj usualmente halladas en una agrupacion de servidores 203(a) a (b). Esta caractenstica es tanto mas ventajosa cuando el numero de servidores de aplicaciones 201(a), 201(b), 201(c) es alto.
El numero de mensaje de control 307 indica el unico identificador secuencial para el mensaje de control actual. Este numero permite al servidor de registro saber si el mensaje de control previo se ha perdido o no. Por ejemplo, si dos mensajes de control sucesivamente recibidos en un servidor de registro presentan un numero de mensaje de control 307 que difiere en mas de un incremento, entonces significa que al menos un mensaje de control no ha sido recibido por dicho servidor de registro.
El numero de mensaje de aplicacion 309 indica el numero de mensajes de aplicacion enviados por la aplicacion 201(a) a (c). Como cada servidor de registro conoce cuantos mensajes de aplicacion ha recibido efectivamente, por lo tanto, cada servidor de registro conoce cuantos mensajes de aplicacion se perdieron, en base a este valor.
El tipo de mensaje 311 indica el tipo de mensaje de control que esta siendo remitido.
La Fig. 4 ilustra el tipo de mensajes de control que son remitidos desde las aplicaciones 201(a) a (c) a los servidores de registro 203(a) a (c). El Inicio de Aplicacion 403 indica que una Aplicacion se ha iniciado y, por lo tanto, debena ser creado un nuevo fichero de datos de aplicacion. El corolario para tal mensaje de control es la Parada de Aplicacion 409, que cierra el fichero de datos de aplicacion actual 209(a) cuando la aplicacion se apaga.
El Intervalo de Temporizador 405 envfa un mensaje cada X periodos, donde X es, por ejemplo y preferiblemente, 2 minutos. Cada N-esimo, por ejemplo, N=5 (cinco), punto de control enviado por las aplicaciones 201(a) a (c), llamado un punto de control de division, es usado por los servidores de registro 203(a) a (b) para dividir el flujo: el servidor de registro cierra el fichero de datos de aplicacion actual 209(a) y crea un nuevo fichero donde almacenara el siguiente conjunto de mensajes de aplicacion secuenciales. Una division de ese tipo crea un punto de parada en un fichero de datos de aplicacion y un punto de inicio en el nuevo fichero de datos de aplicacion. De tal modo, un fichero de datos de aplicacion actual se cierra cuando se recibe el N-esimo mensaje de control de punto de control, y un nuevo fichero de datos de aplicacion, que se convierte en el fichero de datos de aplicacion actual, se crea entonces.
Cada punto de inicio y cada punto de parada esta asociado a un numero de mensaje de control 307 que permite identificar el orden de la transmision. Por lo tanto, es facil identificar los ficheros de datos de aplicacion que tienen los mismos puntos de parada. La comparacion de los ficheros de datos de aplicacion de diversos servidores de registro, asf como la division del flujo, por lo tanto, puede lograrse facilmente.
Dado que los puntos de control tambien pueden perderse, los servidores de registro 203(a) a (b) usan el numero de mensaje de control 307 del mensaje de control para detectar tal perdida. Sin embargo, el numero de mensaje de control tambien informa al servidor de registro si se ha perdido un punto de division. [numero de mensaje de control modulo N = 0]. Otros valores distintos a cinco podnan usarse, segun los requisitos del sistema.
Allf donde se pierde un punto de control no divisor, los servidores de registro 203(a) a (b) simplemente grabaran ese suceso perdido en el fichero de control 211. Cualquier suceso perdido en el fichero de control 211 reducira la fiabilidad del fichero de datos de aplicacion adecuado.
En el caso en que se pierde un punto de control divisor, los servidores de registro 203(a) a (b) cerraran el fichero de datos de aplicacion actual 209(a) y abriran uno nuevo (como si se recibiera un punto de control divisor). Sin embargo, el fichero de datos de aplicacion actual y el nuevo fichero de datos de aplicacion estaran fuera de sincronizacion, dado que no han
5
10
15
20
25
30
35
40
45
50
sido cerrados / abiertos en un punto de control divisor. El fichero de control 211 es actualizado en consecuencia: un suceso perdido para el punto de control faltante, los sucesos de la creacion del nuevo fichero, junto con el sello horario. No hay ningun suceso para cerrar el fichero de datos de aplicacion. Esto informara al algoritmo de correlacion de que se perdio un punto de control divisor.
El mensaje de control FIN-DE-PERIODO 407 es enviado por las aplicaciones 201(a) a (c) en un momento determinado por la aplicacion. Habitualmente, este mensaje de control es enviado a medianoche para aplicaciones de facturacion, a fin de separar los dos dfas habiles. Basicamente, este mensaje fuerza una re-sincronizacion completa entre la aplicacion facturada y el servidor de registro. Todos los contadores internos se fijan en cero y se inicia un nuevo fichero de datos de aplicacion y un nuevo fichero de control. Tambien se entiende que el FIN-DE-PERIODO podna ser algun otro periodo, tal como dfas multiples, una semana, un mes o un ano.
Dado que cada mensaje de control contiene el sello horario actual de la aplicacion facturada, ahora es trivial averiguar si el mensaje de control de FIN-DE-PERIODO se ha perdido: la fecha en el elemento de sello horario enviado por la aplicacion facturada ya no es la misma que la ultima fecha recibida en el servidor de registro. En este caso, el servidor de registro simula la recepcion de mensajes de FIN-DE-PERIODO 407, fija todos los contadores internos en cero e inicia un nuevo fichero de datos de aplicacion. El fichero de control 211 es actualizado como si se hubiera perdido un punto de control divisor.
Los tipos de mensajes de control 403 a 409, como estan almacenados en los ficheros de control 211, admiten dividir el flujo de mensajes de aplicacion en ficheros de datos de aplicacion sincronizados 209(a) a (c). Si no se pierde ningun mensaje de control, todos los ficheros estaran sincronizados. Cuando se pierden mensajes de control, un cierto numero de ficheros en la agrupacion estaran fuera de sincronizacion: uno o mas ficheros estaran cerrados / abiertos en un sello horario distinto. Ademas del conocimiento de que los ficheros estan sincronizados, el sistema tambien esta informado acerca de la correccion de cada fichero. Ambos hechos acerca de los ficheros de datos de aplicacion seran explotados por un algoritmo de correlacion.
Un servidor de facturacion 219, segun lo implementado en el sistema de la presente invencion, debe recibir por determinacion el mejor candidato de los ficheros de registro 209(a) a (c) en cada uno de los servidores de registro 203(a) a (b). La decision sobre el mejor candidato es tomada por el lote de correlacion 213.
La seleccion del mejor candidato se basa en la comparacion del fichero de control 211 de cada servidor de registro 203(a) a (b). Al no comparar los numerosos y grandes ficheros de datos de aplicacion 209(a) a (c), esta etapa se ejecuta en tiempo real.
El sistema alinea los sucesos de apertura de fichero / cierre de fichero en distintos ficheros de control 211 de cada servidor de registro 203(a) a (b). La alineacion se basa en el sello horario de los sucesos. Se necesita un quorum de T(n+1)/2~| para acordar una alineacion. La alineacion indica sencillamente los ficheros para los cuales el flujo ha sido dividido en identicos puntos en el tiempo. En este caso nominal, el sistema determina el mejor candidato entre los ficheros de datos de aplicacion sincronizados 209(a) a (c), seleccionando el fichero de datos de aplicacion que contiene, en primer lugar, la mayona de los mensajes y, en segundo lugar, los mmimos mensajes de punto de control perdidos.
Si no se logra ningun quorum, el sistema preferira los ficheros para los cuales se hallen tanto un suceso de apertura de fichero como un suceso de cierre de fichero. En el caso de un punto de control divisor perdido, no hay ningun suceso de cierre registrado en el fichero de control 211. Significa que el sistema reducira el quorum, pero todavfa considerara los ficheros que recibieron tanto el suceso de apertura de fichero como el suceso de cierre de fichero. El sistema define el mejor candidato en base, en primer lugar, al numero de mensajes de aplicacion y, en segundo lugar, al numero de mensajes de punto de control perdidos.
En el caso extremo, donde ningun fichero tiene un suceso de cierre de fichero (esto significa que el punto de control divisor fue perdido por todos los servidores de registro), el sistema preferira, en primer lugar, los ficheros con los mmimos mensajes de punto de control perdidos y, en segundo lugar, con la mayona de mensajes.
Es importante que los proximos sucesos de apertura de fichero a considerar deban seguir cronologicamente al suceso de cierre del mejor candidato actualmente seleccionado, a fin de evitar el envfo de mensajes duplicados al servidor de facturacion 219.
El sistema tambien mejora la calidad del mejor candidato seleccionado, extrayendo una parte de mensajes faltantes en otros ficheros sincronizados. La mejora se hace solamente para ficheros sincronizados donde el mejor candidato ha perdido menos del x% de los mensajes (es decir, el numero de mensajes recibidos es mayor que (100-x)%). Ventajosamente, 15<x<45 y, mas ventajosamente, x=30, es decir, el numero de mensajes recibidos es mayor que el 70%. Si incluso el fichero del mejor candidato ha perdido mas de x% mensajes, se considera que el otro fichero de datos de aplicacion no puede proporcionar los mensajes faltantes.
5
10
15
20
25
30
35
40
45
50
En el caso de una eventual mejora, se compara cada punto de control de los ficheros sincronizados. Dado que cada punto de control contiene el numero de mensajes perdidos durante los ultimos 'm' minutos (por ejemplo, m = dos (2)), el sistema puede identificar cual de los ficheros tiene el mejor bloque de datos. Si otro, que no sea el mejor candidato, contiene mas mensajes para el lapso de 'm' minutos, el bloque de mensajes es extrafdo y reemplazado en el fichero del mejor candidato.
Este procedimiento permite la mejora del mejor candidato en un asunto en tiempo real, dado que solamente los sucesos en los ficheros de control de sumario 211 se usan para identificar los mejores bloques en los ficheros de datos de aplicacion 209(a) a (c).
La Fig. 5 ilustra un ejemplo de las etapas cumplidas por una hebra de una aplicacion 201(a) a (c) que implementa la invencion. En la etapa 501, un proceso comienza e inmediatamente envfa, en la etapa 503, un mensaje de control Inicio de Aplicacion 403 a los servidores de registro 203(a) a (c).
La hebra de facturacion de la aplicacion itera luego buscando trabajo. En la etapa 505, se determina si ha transcurrido mas del periodo de tiempo predeterminado, habitualmente de 2 minutos, desde que ha tenido lugar el ultimo mensaje de control; si la respuesta es sf, entonces se enviara el mensaje de control Punto de Control 405 a los servidores de registro 203(a) a (c) en la etapa 507. Si la respuesta es no, se avanza a la etapa 509 y se determina si se necesita enviar un mensaje de aplicacion (por ejemplo, un mensaje de aplicacion de facturacion). Si la respuesta es sf, en la etapa 511 se envfa el mensaje de aplicacion con los datos a los servidores de registro 203(a) a (c).
Si la respuesta es no, se avanza a la etapa 513, donde se determina si es un nuevo dfa, u otro periodo de facturacion. Si la respuesta es sf, en la etapa 515 se envfa un mensaje de control FIN-DE-PERIODO 407 a los servidores de registro 203(a) a (c).
Si la respuesta es no, se avanza a la etapa 517, donde se determina si el programa de aplicacion esta apagandose. Si la respuesta es sf, se envfa un mensaje de control Parada de Aplicacion 409 en la etapa 519 y luego se termina el procesamiento en la etapa 521; en caso contrario, se continua iterando.
La Fig. 6 ilustra un ejemplo de las etapas de un programa que recibe mensajes de registro en los servidores de registro 203(a) a (b). El procesamiento comienza en la etapa 601. En la etapa 603 se determina si el mensaje es un mensaje de aplicacion (por ejemplo, un mensaje de aplicacion de facturacion); si lo es, se almacena el mensaje de aplicacion en el fichero de registro actual 209(a) en la etapa 605. Si no lo es, se almacena el mensaje de control 301 en el fichero de control en la etapa 607, y luego se determina que tipo de mensaje de control 301 ha sido recibido. En la etapa 609, se determina si el mensaje de control 301 es un mensaje de control Inicio de Aplicacion 403; si lo es, entonces, en la etapa 611, se abre un nuevo fichero de datos de aplicacion actual 209(a). Si no lo es, se avanza a la proxima etapa 613, donde se determina si el mensaje de control 301 es un mensaje de control Punto de Control 405; si lo es, se determina si este es el N-esimo (estando N predeterminado y siendo, por ejemplo, cinco (5)) mensaje de punto de control 405, comprobando el numero de mensaje de control 307 en la etapa 615. Si lo es, en la etapa 617 se cierra el fichero de datos de aplicacion actual 209(a), que se convierte ahora en el proximo fichero de datos de aplicacion en la secuencia 209(b, c, ...). Se abre un nuevo fichero como el fichero de datos de aplicacion actual 209(a).
Si no lo es, la etapa 619 determina si se perdio algun mensaje de control anterior y, si un mensaje de ese tipo se perdio, entonces se realiza la etapa 617.
En la etapa 621, se determina si el mensaje de control 301 es un mensaje de control FIN-DE-PERIODO 403; si lo es, entonces se realiza la etapa 617. Si no lo es, en la etapa 623 se determina si el mensaje de control 301 es una Parada de Aplicacion. Si lo es, entonces se cierra el fichero de datos de aplicacion actual 209(a), que se convierte ahora en el proximo fichero de datos de aplicacion en la secuencia 209(b, c, ...) en la etapa 625. Se termina el procesamiento en la etapa 627.
La Fig. 7 ilustra un ejemplo de un procedimiento de acuerdo a la invencion, para determinar la seleccion del mejor candidato para los ficheros de registro 209(a) a (c) procedentes de cada uno de los servidores de registro 203(a) a (b). A partir de la etapa 701, en la etapa 703 se determinan los ficheros de datos de aplicacion 209(a) a (c) que han sido divididos en los mismos puntos en el tiempo, comparando los mensajes de control 301 en cada uno de los servidores de registro 203(a) a (b). A partir de la lista de ficheros de datos de aplicacion 209(a) a (c) que han sido divididos en los mismos puntos en el tiempo en cada uno de los servidores de registro 203(a) a (b), se determina 705 el fichero de registro que tiene el mayor numero de mensajes de aplicacion recibidos. Preferiblemente, en el caso de que al menos dos ficheros de datos de aplicacion 209(a) a (c) comprendan el mismo numero de mensajes de aplicacion, entonces el sistema compara el numero de mensajes de control perdidos. Los mejores candidatos entre los ficheros de datos de aplicacion 209(a) a (c) que han sido divididos en los mismos puntos en el tiempo en cada uno de los servidores de registro 203(a) a (b) son los ficheros de datos de aplicacion 209(a) a (c) que tengan el mas alto numero de mensajes de aplicacion y que tengan el mas alto numero de mensajes de control.
5
10
15
20
25
30
35
40
45
50
Se remite 709 el fichero de datos de aplicacion escogido al entorno de facturacion para su procesamiento y se termina el procesamiento 711.
La Fig. 8 ilustra un procedimiento de combinacion de ficheros para aumentar la calidad. Si en la etapa 705 se determina 801 que los ficheros de datos de aplicacion estan sincronizados y que el mejor candidato tiene mas del 70% de sus mensajes de aplicacion de facturacion, pero menos del 100% de los mensajes, se suplementa todo mensaje de aplicacion perdido, a partir de los ficheros de datos de aplicacion para el mismo intervalo de los otros servidores de registro, en el fichero de registro del mejor candidato.
La Figura 9 ilustra una realization ejemplar donde una aplicacion 201 envfa mensajes a una agrupacion de cuatro servidores de registro 203, mencionados como LGS #1, LGS #2, LGS #3 y LGS #4.
El primer punto de control sincronizado 100 (punto de control i) activa, en cada uno de los cuatro servidores de registro 203, el inicio de un fichero de datos de aplicacion. De tal modo, el fichero de datos de aplicacion de los cuatro servidores de registro 203 tiene el mismo punto de inicio. Los mensajes de aplicacion tambien se envfan a los servidores de registro 203. Cada servidor de registro 203 recibe estos mensajes de aplicacion y los almacena en el fichero de datos de aplicacion que ha sido recien abierto. De tal modo, los mensajes de aplicacion son almacenados en los ficheros de datos de aplicacion 101, 102, 103, 104, respectivamente, por los servidores de registro LGS #1, LGS #2, LGS #3 y LGS #4.
Cada intervalo temporal 105, un nuevo mensaje de control, es enviado por el servidor de aplicaciones 201.
Algunos servidores de registro pueden no recibir un punto de control normal. Por ejemplo, LGS #2 perdio el punto de control con el numero i+3, LGS #3 perdio el punto de control numero i+2, el punto de control numero i+3 y el punto de control numero i+4, y LGS #4 perdio el punto de control numero i+1 y el punto de control i+3. Algunos servidores de registro tambien pueden perder un punto de control de sincronizacion. Por ejemplo, LGS #4 perdio el punto de control con el numero i+5, siendo dicho punto de control un punto de control de sincronizacion. Este punto de control es un mensaje de control de apertura / cierre, que activa el cierre del fichero de datos de aplicacion actual y la apertura de un nuevo fichero de datos de aplicacion. Por lo tanto, en los servidores de registro LGS #1, LGS #2 y LGS #3 los ficheros de datos de aplicacion 101, 102, 103 son cerrados al mismo tiempo tras la reception del mensaje de control i+5. Sin embargo, en el servidor de registro LGS #4 el fichero de datos de aplicacion 104 se cierra mas tarde. Por tanto, los ficheros de datos de aplicacion 101, 102, 103 tienen los mismos puntos de inicio y parada, y el fichero de datos de aplicacion 104 no tiene el mismo punto de parada que los otros.
En esta realizacion, el mensaje de control de apertura / cierre es el quinto mensaje de control y el intervalo para remitir un mensaje de control esta ilustrado por la flecha 105.
El fichero del mejor candidato es escogido entre el conjunto de ficheros de datos de aplicacion que tienen los mismos puntos de inicio y de parada, es decir, los ficheros de datos de aplicacion 101, 102, 103. Entre este conjunto de ficheros de datos de aplicacion 101, 102, 103, el que sera considerado como el mejor candidato es el que comprenda el mas alto numero de mensajes de aplicacion. Esta comparacion del numero de mensajes de aplicacion esta basada en la comparacion de los ficheros de control creados por cada servidor de registro. Por lo tanto, no es necesario comparar los ficheros de datos de aplicacion, lo que requiere mucho mas tiempo y capacidad de procesamiento. En el caso de que dos o mas ficheros de datos de aplicacion 101, 102, 103 tengan el mismo numero de mensajes de aplicacion, entonces el mejor candidato es el que comprende el mas alto numero de mensajes de control. Por ejemplo, si los ficheros de datos de aplicacion 102 y 103 tienen el mismo numero de mensajes de aplicacion, siendo este numero mayor que el del fichero de datos de aplicacion 101, entonces el fichero de datos de aplicacion 102 sera considerado como el mejor candidato y los ficheros de datos de aplicacion 101, 103 y 104 seran descartados.
Aunque las realizaciones ejemplares han sido descritas con relation a una aplicacion particularmente ventajosa, es decir, el suministro de mensajes de facturacion, todas las caractensticas descritas e ilustradas valen para otras aplicaciones.
Los medianamente expertos en la tecnica entienden que el sistema y el procedimiento precedentes pueden ser implementados como un programa de ordenador almacenado en un medio de almacenamiento legible por ordenador, tal como un controlador de disco rfgido, 903, un DVD / CD-ROM 905 o el controlador en miniatura 907 de la Fig. 10, donde la CPU 901 carga el programa de ordenador en una RAM 909 a traves de un bus 911 y ejecuta el programa como una serie de instrucciones que acceden a los dispositivos segun lo descrito anteriormente, comunicandose a traves de un adaptador de red 913 con la red 105, y usando un visor 915 y los dispositivos de entrada / salida 917, tales como un teclado y un raton, etc. Como el programa de ordenador es almacenado en un medio de almacenamiento legible por ordenador, y el verbo almacenar significa 'hacer permanente', las senales de propagation estan excluidas del significado de un medio de almacenamiento legible por ordenador.
Como puede apreciarse, hay un cierto numero de beneficios y efectos tecnicos que son realizados por el uso de la invention. En particular, la invention permite aumentar significativamente la fiabilidad del mensaje, mediante el envfo de los mismos mensajes a diversos servidores de registro, y manteniendo a la vez un alto caudal, dado que los mensajes
mas fiables pueden ser seleccionados sin requerir el procesamiento de grandes volumenes de datos. Habitualmente, la invention permite enviar mas de 10.000 transacciones por segundo, manteniendo a la vez una razon de mensajes perdidos por debajo del 0,14%.
Claims (16)
- 51015202530354045REIVINDICACIONES1. Un procedimiento, implementado por ordenador, para proporcionar el suministro de mensajes de aplicacion, caracterizado porque comprende las siguientes etapas, realizadas con al menos un procesador de datos:en una pluralidad de servidores de registro (203 a - b) acoplados con al menos un servidor de aplicaciones (201 a - c): recibir asmcronamente, desde dicho al menos un servidor de aplicaciones (201 a - c), mensajes de aplicacion que contienen informacion de aplicacion, siendo recibido cada mensaje de aplicacion por al menos algunos servidores de registro (203 a - b) entre la pluralidad de servidores de registro (203 a - b); recibir asmcronamente, desde dicho al menos un servidor de aplicaciones (201 a - c), mensajes de control en un intervalo predeterminado, en el que los mensajes de control comprenden al menos uno entre: un identificador (303) de una aplicacion y un sello horario (305) del servidor de aplicaciones, siendo recibido cada mensaje de control por al menos algunos servidores de registro (203 a - b) entre la pluralidad de servidores de registro (203 a - b);en cada uno entre la pluralidad de servidores de registro (203 a - b): almacenar los mensajes de aplicacion recibidos en un fichero de datos de aplicacion actual (209); almacenar los mensajes de control recibidos en un fichero de control (211) y, tras la recepcion de un mensaje de control de apertura - cierre, cerrar el fichero de datos de aplicacion actual, almacenar dicho fichero de datos de aplicacion cerrado y crear un nuevo fichero de datos de aplicacion como el fichero de datos de aplicacion actual;comparar los ficheros de control de la pluralidad de servidores de registro (203 a - b) para un intervalo dado; yen base a esta comparacion, determinar, entre una pluralidad de ficheros de datos de aplicacion (209) procedentes de cada uno de los servidores de registro (203 a - b), un fichero de datos de aplicacion como un mejor candidato para un intervalo dado, y remitir el fichero del mejor candidato, para su pos-procesamiento, a una entidad de red.
- 2. El procedimiento de acuerdo a la reivindicacion 1, en el que cada servidor de registro (203 a - b) esta acoplado con una pluralidad de servidores de aplicaciones (201 a - c), cada uno asociado a al menos una aplicacion.
- 3. El procedimiento de acuerdo a una cualquiera de las reivindicaciones 1 a 2, en el que el mensaje de control comprende un cierto numero (309) de mensajes de aplicacion transmitidos por el servidor de aplicaciones (201 a - c) y un numero de mensaje de control (307) que identifica cada mensaje de control en una secuencia de mensajes de control.
- 4. El procedimiento de acuerdo a una cualquiera de las reivindicaciones 1 a 3, en el que la entidad de red es un entorno de facturacion.
- 5. El procedimiento de acuerdo a una cualquiera de las reivindicaciones precedentes, en el que el intervalo para remitir un mensaje de control es un periodo de tiempo dado.
- 6. El procedimiento de acuerdo a una cualquiera de las reivindicaciones precedentes, en el que el mensaje de control de apertura / cierre es un N-esimo mensaje de control en una secuencia de mensajes de control, estando N predeterminado.
- 7. El procedimiento de acuerdo a la reivindicacion precedente, en el que el N-esimo mensaje de control es el quinto mensaje de control en la secuencia de mensajes de control y el periodo de tiempo dado es un periodo de tiempo de dos minutos.
- 8. El procedimiento de acuerdo a una cualquiera de las reivindicaciones precedentes, en el que el fichero del mejor candidato es escogido entre un conjunto de ficheros de datos de aplicacion entre la pluralidad de servidores de registro (203 a - b), y que tengan los mismos puntos de inicio y de parada.
- 9. El procedimiento de acuerdo a la reivindicacion precedente, en el que el fichero del mejor candidato es escogido, entre el conjunto escogido de ficheros, como el fichero de datos de aplicacion con la mas baja tasa de perdida de mensajes de aplicacion.
- 10. El procedimiento de acuerdo a la reivindicacion precedente, en el que, en el caso en que algunos ficheros de datos de aplicacion tengan el mismo numero de mensajes de aplicacion, entonces el fichero del mejor candidato se escoge, entre los ficheros de datos de aplicacion con la mas baja tasa de perdida de mensajes de aplicacion, como el fichero de datos de aplicacion con la mas baja tasa de perdida de mensajes de control.
- 11. El procedimiento de acuerdo a una cualquiera de las dos reivindicaciones precedentes, en el que el fichero del mejor candidato, con mensajes de aplicacion perdidos y que no haya perdido mas del x por ciento de los mensajes de aplicacion para el intervalo, es aumentado con los mensajes de aplicacion perdidos existentes en otros ficheros del conjunto de ficheros, estando x predeterminado.
- 12. El procedimiento de acuerdo a una cualquiera de las reivindicaciones precedentes, en el que la aplicacion es una51015202530aplicacion de transacciones de facturacion de lmea aerea.
- 13. Un medio no transitorio, legible por ordenador, que contiene instrucciones de programa de software, donde la ejecucion de las instrucciones de programa de software, por al menos un procesador de datos, da como resultado la realization de operaciones que comprenden la ejecucion del procedimiento, como en una cualquiera de las reivindicaciones precedentes.
- 14. Un sistema de suministro de mensajes de aplicacion de alta fiabilidad y altas prestaciones, caracterizado porque comprende:una pluralidad de servidores de registro (203 a - b) acoplados con la salida de al menos un servidor de aplicaciones (201 a - c);estando cada servidor de registro (203 a - b) configurado para recibir asmcronamente, desde dicho al menos un servidor de aplicaciones (201 a - c): mensajes de control recibidos en un intervalo predeterminado y mensajes de aplicacion que contienen information de aplicacion, en donde los mensajes de control comprenden al menos uno entre: un identificador (303) de una aplicacion y un sello horario (305) del servidor de aplicaciones;estando tambien cada servidor de registro (203 a - b) configurado para:almacenar los mensajes de aplicacion recibidos en un fichero de datos de aplicacion actual (209) y almacenar los mensajes de control recibidos en un fichero de control (211); y, tras la reception de un mensaje de control de apertura - cierre, cerrar el fichero de datos de aplicacion actual, almacenar dicho fichero de datos de aplicacion cerrado y crear un nuevo fichero de datos de aplicacion como el fichero de datos de aplicacion actual;un servidor acoplado con la pluralidad de servidores de registro (203 a - b), estando dicho servidor configurado para: comparar los ficheros de control de la pluralidad de servidores de registro (203 a - b) para un intervalo dado; en base a esta comparacion, determinar, entre una pluralidad de ficheros de datos de aplicacion (209) procedentes de cada uno de los servidores de registro (203 a - b), un fichero de datos de aplicacion como el mejor candidato para un intervalo dado; y remitir el fichero del mejor candidato, para su pos-procesamiento, a una entidad de red.
- 15. El sistema de acuerdo a la revindication 14, en el que el sistema comprende una pluralidad de servidores de aplicaciones (201 a - c) y una pluralidad de aplicaciones ejecutandose en un procesador de cualquiera entre la pluralidad de servidores de aplicaciones (201 a - c), teniendo cada uno de los servidores de aplicaciones (201 a - c) una salida acoplada con una entrada de cada uno de los servidores de registro (203 a - b).
- 16. El sistema de acuerdo a una cualquiera de las reivindicaciones 14 o 15, en el que dicho servidor esta configurado para remitir el fichero del mejor candidato, para su pos-procesamiento, a un entorno de facturacion.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP11306803.5A EP2611109B1 (en) | 2011-12-29 | 2011-12-29 | System for high reliability and high performance application message delivery |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2555863T3 true ES2555863T3 (es) | 2016-01-11 |
Family
ID=45509226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES11306803.5T Active ES2555863T3 (es) | 2011-12-29 | 2011-12-29 | Sistema de suministro de mensajes de aplicación de alta fiabilidad y altas prestaciones |
Country Status (11)
Country | Link |
---|---|
US (1) | US8898223B2 (es) |
EP (1) | EP2611109B1 (es) |
JP (1) | JP5976838B2 (es) |
CN (1) | CN104205775B (es) |
AU (1) | AU2012327228B2 (es) |
BR (1) | BR112014015671A2 (es) |
CA (1) | CA2866518C (es) |
ES (1) | ES2555863T3 (es) |
PL (1) | PL2611109T3 (es) |
SG (1) | SG11201403638YA (es) |
WO (1) | WO2013098316A1 (es) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9183110B2 (en) | 2012-11-26 | 2015-11-10 | Google Inc. | Centralized dispatching of application analytics |
CN103701667A (zh) * | 2013-12-27 | 2014-04-02 | 乐视网信息技术(北京)股份有限公司 | 服务器的心跳的监控方法、装置及系统 |
CN107124289B (zh) | 2016-02-24 | 2021-06-01 | 华为技术有限公司 | 网络日志时间对齐方法、装置及主机 |
CN109286843A (zh) * | 2018-10-12 | 2019-01-29 | 四川长虹电器股份有限公司 | 智能电视应用程序自适应快捷启动方法 |
US10592703B1 (en) * | 2018-12-01 | 2020-03-17 | Cadence Design Systems, Inc. | Method and system for processing verification tests for testing a design under test |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030071854A (ko) | 2001-02-06 | 2003-09-06 | 다카라 바이오 가부시키가이샤 | 증폭 핵산 및 그의 고정화물 |
AU2003236530A1 (en) * | 2002-01-18 | 2003-09-02 | Idetic, Inc. | A highly redundant, high-reliability and high-performance platform logging/billing generation and collection subsystem |
US20030167326A1 (en) * | 2002-01-18 | 2003-09-04 | De Bonet Jeremy S. | Highly redundant, high-reliability and high-performance platform logging/billing generation and collection subsystem |
US7519859B2 (en) * | 2005-08-30 | 2009-04-14 | International Business Machines Corporation | Fault recovery for transaction server |
EP2062260A2 (en) * | 2006-08-25 | 2009-05-27 | Koninklijke Philips Electronics N.V. | Method and apparatus for generating a summary |
JP4333723B2 (ja) * | 2006-09-29 | 2009-09-16 | 株式会社日立製作所 | 通信ログ管理システム |
CN101409681B (zh) * | 2008-11-24 | 2011-11-23 | 北京交通大学 | 基于节点梯次移动的新型无线传感器网络节能路由算法 |
US10318477B2 (en) * | 2010-05-26 | 2019-06-11 | Red Hat, Inc. | Managing and archiving system and application log files |
US8706698B2 (en) * | 2011-09-21 | 2014-04-22 | International Business Machines Corporation | Coordination of event logging operations and log management |
-
2011
- 2011-12-29 EP EP11306803.5A patent/EP2611109B1/en active Active
- 2011-12-29 ES ES11306803.5T patent/ES2555863T3/es active Active
- 2011-12-29 PL PL11306803T patent/PL2611109T3/pl unknown
-
2012
- 2012-03-13 US US13/418,819 patent/US8898223B2/en active Active
- 2012-12-27 AU AU2012327228A patent/AU2012327228B2/en not_active Ceased
- 2012-12-27 SG SG11201403638YA patent/SG11201403638YA/en unknown
- 2012-12-27 CA CA2866518A patent/CA2866518C/en not_active Expired - Fee Related
- 2012-12-27 JP JP2014549460A patent/JP5976838B2/ja not_active Expired - Fee Related
- 2012-12-27 CN CN201280068838.3A patent/CN104205775B/zh active Active
- 2012-12-27 BR BR112014015671A patent/BR112014015671A2/pt not_active IP Right Cessation
- 2012-12-27 WO PCT/EP2012/076937 patent/WO2013098316A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CA2866518A1 (en) | 2013-07-04 |
EP2611109B1 (en) | 2015-09-30 |
US8898223B2 (en) | 2014-11-25 |
PL2611109T3 (pl) | 2016-05-31 |
SG11201403638YA (en) | 2014-09-26 |
CN104205775A (zh) | 2014-12-10 |
AU2012327228A1 (en) | 2013-07-18 |
JP2015513708A (ja) | 2015-05-14 |
WO2013098316A1 (en) | 2013-07-04 |
BR112014015671A2 (pt) | 2017-07-04 |
AU2012327228B2 (en) | 2016-02-18 |
AU2012327228A8 (en) | 2014-06-05 |
CA2866518C (en) | 2018-07-17 |
US20130173691A1 (en) | 2013-07-04 |
JP5976838B2 (ja) | 2016-08-24 |
CN104205775B (zh) | 2017-08-08 |
EP2611109A1 (en) | 2013-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10831902B2 (en) | Data verification methods and systems using a hash tree, such as a time-centric Merkle hash tree | |
Yakovenko | Solana: A new architecture for a high performance blockchain v0. 8.13 | |
ES2555863T3 (es) | Sistema de suministro de mensajes de aplicación de alta fiabilidad y altas prestaciones | |
ES2880108T3 (es) | Sistema y método para finalizar el protocolo de cambio de vista | |
Armknecht et al. | Mirror: Enabling proofs of data replication and retrievability in the cloud | |
US8495472B1 (en) | Method and system for performing financial reconciliation between two systems using checksums | |
JPWO2013065133A1 (ja) | 時刻認証システムおよび時刻認証プログラム | |
US11948182B2 (en) | Decentralized trading system for fair ordering and matching of trades received at multiple network nodes and matched by multiple network nodes within decentralized trading system | |
WO2019041819A1 (zh) | 制证方法、装置、计算机设备和存储介质 | |
CN108810112A (zh) | 一种市场监管区块链系统的节点同步方法及装置 | |
WO2013101362A2 (en) | Method and apparatus for synchronization in primary-backup replication schemes | |
US9460182B2 (en) | Networking-assisted input/output order preservation for data replication | |
CN109921897A (zh) | 工作量证明计算的触发方法、装置、计算设备及存储介质 | |
US20130179564A1 (en) | Computer-readable recording medium, information processing method, and information processing apparatus | |
CN109981286A (zh) | 一种工作量证明计算的触发方法、装置及计算设备 | |
CN115941164A (zh) | 一种区块链上实现分布式密钥生成的方法、系统和节点 | |
US11159656B2 (en) | Methods and devices for generating a plurality of data packets | |
US11271838B2 (en) | Timing synchronization | |
Emerson et al. | Faster transaction commit even when nodes crash | |
CN117453653A (zh) | 一种基于disk-rsync的跨集群数据迁移方法 | |
Fortner | Multi-resolution playback of network trace files | |
WO2016185143A1 (fr) | Système de traitement de données numériques multimedia |