EP1112538A1 - Transaction recovery system - Google Patents
Transaction recovery systemInfo
- Publication number
- EP1112538A1 EP1112538A1 EP00953228A EP00953228A EP1112538A1 EP 1112538 A1 EP1112538 A1 EP 1112538A1 EP 00953228 A EP00953228 A EP 00953228A EP 00953228 A EP00953228 A EP 00953228A EP 1112538 A1 EP1112538 A1 EP 1112538A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- transaction
- data
- transactional
- communication
- logging service
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
Definitions
- the invention relates to the field of transactional exchanges.
- Communication systems using asynchronous transfer modes are increasingly used. Reliable communications are necessary in a large number of cases. Reliability can be ensured by adding transactional mechanisms to the communication service.
- An asynchronous communication service includes a manager and one or more communication channels.
- a supplier (customer of the service) transmits the information by addressing a specific channel.
- the channel transfers information to the client by invoking its interface.
- the channel acts as an intermediary between two consumers by decoupling the transmission of information on one side and the other. We must be able to deliver information reliably while maintaining desynchronization between suppliers and consumers.
- a transaction must satisfy four properties grouped under the acronym ACID meaning: Atomicity, Coherence, Insulation and Durability. These four properties are closely related.
- the objective of the competition control and takeover mechanisms implemented by a transactional engine is to enforce them.
- the atomicity guarantees that either all of the updates to a transaction are made, or none of these updates are made. Failure to comply with this property can lead to all the data evolving from the initial coherent state to an incoherent state.
- any series of actions constituting a transaction is marked by a beginning and an end.
- the start of a transaction signals the transaction start event to the transaction engine.
- Two orders are provided to mark the end of a transaction: “commit” allows the transaction to signal to the transactional monitor that from the isolated point of the transaction all its actions have gone well.
- “Abort” allows the transaction to signal to the transaction monitor that one or more of its actions have failed and that the transaction does not wish to be validated (the data modified by the transaction must be returned to their previous state).
- the transactional monitor decides whether or not to validate the transaction, say to make final the changes made by it In In the event that a system failure occurs before the end of a transaction, it is considered to have been abandoned.
- One of the possible mechanisms in order to respect the atomicity property consists in keeping for each transaction in progress the previous image of any updated data. In case of abandonment of a transaction, it is possible to undo the transaction by applying all the previous images of the transaction.
- the consistency property concerns the semantic consistency of a data set. The maintenance of this can be partly ensured by the mechanisms ensuring the control of integrity constraints and by the maintenance of the ownership of the transactions.
- Isolation is essential in a multitasking environment, to ensure that each transaction sees a consistent state of all of the data. Isolation consists in ensuring that if the transaction is executed in parallel with other transactions (accessing a common set of data), there is a serial execution of the same transactions which would produce the same changes to the data set accessed by transactions. In this case, the isolation property is checked for this set of transactions. Durability ensures that updates to a committed transaction are final. The only action which must make it possible to undo the updates of a validated transaction is the execution of a compensation transaction.
- the invention seeks to improve the devices linked to durability: it is necessary to have light and reliable recovery systems the use of a database is one of the means for reliably storing (“crash resistant”) data, under the control of a transactional monitor.
- a communication service In order to allow delivery of the data in all circumstances in an asynchronous mode, a communication service must memorize the data reliably between two communication steps (receiving the data and transmitting the data). This storage must offer good performance for writing data.
- the databases offer this type of interface and the associated functionalities, but are not very efficient for this particular use. They offer many other features that are unnecessary for data recovery.
- the invention relates to a communication channel connecting a set of transaction initiators and consumers, associated with a logging service having an XA / RO type interface in order to allow a transactional system to perform transactional operations on data. stored in said logging service. These channels can be integrated into any transactional exchange system.
- the invention also relates to a method of communication between a set of transaction initiators and consumers, comprising intermediate communication channels.
- Each validated operation is stored in a logging service having an XA / RO type interface in order to allow the recovery of validated transactional operations.
- the invention uses, instead of a database having a transactional interface and associated with a communication channel, a logging system offering such an interface.
- This interface allows a traditional transactional monitor to pass on to journalized objects the good termination of the transaction (“commit”) or bad (“rollback”), respectively confirm the changes or cancel them.
- a logging system stores all the successive values of a variable, keeping the old ones. In case of data loss, we can always find an older value of this data.
- An XA or RO type interface is added, allowing an external transactional monitor to confirm or cancel modifications on logged data, as well as to recover data.
- the journaling service provides reliable storage means, with fast writes.
- the added interface automates the termination of data modifications according to the indications provided by an external transaction monitor.
- the invention allows interoperability with external transactional monitors in the event of a problem.
- connection service provides an XA-type interface for associating transactional identifiers with actions performed in the logging service.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The invention concerns a communication channel connecting a set of transaction initiators and consumers, associated with a logging service having a XA/RO interface enabling a transaction system to carry out transaction operations on data stored in said logging service.
Description
SYSTEME DE RECOUVREMENT TRANSACTIONNEL. TRANSACTIONAL RECOVERY SYSTEM.
L'invention concerne le domaine des échanges transactionnels. Les systèmes de communications utilisant des modes de transfert asynchrones sont de plus en plus utilisés. Les communications fiables sont nécessaires dans un grand nombre de cas. La fiabilité peut être assuré par l'ajout de mécanismes transactionnels au service de communication.The invention relates to the field of transactional exchanges. Communication systems using asynchronous transfer modes are increasingly used. Reliable communications are necessary in a large number of cases. Reliability can be ensured by adding transactional mechanisms to the communication service.
Un service de communication asynchrone comprend un gestionnaire et un ou plusieurs canaux de communication.An asynchronous communication service includes a manager and one or more communication channels.
Un fournisseur (client du service) émet les informations en adressant un canal spécifique. Le canal transfère l'information au client en invoquant son interface.A supplier (customer of the service) transmits the information by addressing a specific channel. The channel transfers information to the client by invoking its interface.
Le canal agit comme un intermédiaire entre deux consommateurs en découplant la transmission de l'information d'un côté et de l'autre. Il faut pouvoir délivrer les informations de manière fiable tout en maintenant la désynchronisation entre les fournisseurs et les consommateurs. Une transaction doit satisfaire quatre propriétés regroupées sous l'acronyme ACID signifiant : Atomicité, Cohérence, Isolation et Durabilité. Ces quatre propriétés sont étroitement liées entre elles. Les mécanismes de contrôle de concurrence et de reprise mis en œuvre par un moteur transactionnel ont pour objectif de les faire respecter. L'atomicité garantit que, soit l'ensemble des mises à jour d'une transaction est effectué, soit aucune de ces mises à jour n'est effectuée. Le non-respect de cette propriété peut conduire à faire évoluer l'ensemble des données de l'état cohérent initial à un état incohérent.The channel acts as an intermediary between two consumers by decoupling the transmission of information on one side and the other. We must be able to deliver information reliably while maintaining desynchronization between suppliers and consumers. A transaction must satisfy four properties grouped under the acronym ACID meaning: Atomicity, Coherence, Insulation and Durability. These four properties are closely related. The objective of the competition control and takeover mechanisms implemented by a transactional engine is to enforce them. The atomicity guarantees that either all of the updates to a transaction are made, or none of these updates are made. Failure to comply with this property can lead to all the data evolving from the initial coherent state to an incoherent state.
Afin de faire respecter cette propriété, toute série d'action constituant une transaction est marquée par un début et une fin. Le début d'une transaction signale l'événement de début d'une transaction au moteur transactionnel. Deux ordres sont prévus pour marquer la fin d'une transaction : "commit" permet à la transaction de signaler au moniteur transactionnel que du point isolé de la transaction toutes ses actions se sont bien passé. "Abort" permet à la transaction de signaler au moniteur transactionnel qu'une ou plusieurs de ses actions ont échoué et que la transaction ne souhaite pas être validée (les données modifiées par la transaction doivent êtres remis dans leur état précédent). En fonction de l'événement reçu en fin de transaction par le moniteur transactionnel et en fonction de la vue globale du système qu'il peut avoir (interaction entre transactions) le moniteur transactionnel décide ou non de valider la transaction c'est-à-dire de rendre définitives les modifications apportées par celle-ci Dans
le cas où une panne système se produit avant la fin d'une transaction, celle-ci est considérée comme abandonnée. Un des mécanismes possible afin de respecter la propriété d'atomicité consiste à conserver pour chaque transaction en cours l'image précédente de toute donnée mise à jour. En cas d'abandon d'une transaction, il est possible défaire la transaction en appliquant toutes les images précédentes de la transaction.In order to enforce this property, any series of actions constituting a transaction is marked by a beginning and an end. The start of a transaction signals the transaction start event to the transaction engine. Two orders are provided to mark the end of a transaction: "commit" allows the transaction to signal to the transactional monitor that from the isolated point of the transaction all its actions have gone well. "Abort" allows the transaction to signal to the transaction monitor that one or more of its actions have failed and that the transaction does not wish to be validated (the data modified by the transaction must be returned to their previous state). Depending on the event received at the end of the transaction by the transactional monitor and according to the overall view of the system that he may have (interaction between transactions), the transactional monitor decides whether or not to validate the transaction, say to make final the changes made by it In In the event that a system failure occurs before the end of a transaction, it is considered to have been abandoned. One of the possible mechanisms in order to respect the atomicity property consists in keeping for each transaction in progress the previous image of any updated data. In case of abandonment of a transaction, it is possible to undo the transaction by applying all the previous images of the transaction.
La propriété de cohérence concerne la cohérence sémantique d'un ensemble de données. Le maintien de celle-ci peut être en partie assuré par les mécanismes assurant le contrôle de contraintes d'intégrité et par le maintien de la propriété des transactions. L'isolation est indispensable en environnement multi-tâches, pour garantir que chaque transaction voit un état cohérent de l'ensemble des données. L'isolation consiste à garantir que si la transaction s'exécute en parallèle avec d'autres transactions (accédant a un ensemble commun de données), il existe une exécution en série des mêmes transactions qui produirait les mêmes changements à l'ensemble des données accédées par les transactions. Dans ce cas, la propriété d'isolation est vérifiée pour cet ensemble de transactions. La durabilité garantit que les mises à jour d'une transaction validée sont définitives. La seule action qui doit permettre de défaire les mises à jour d'une transaction validée est l 'exécution d'une transaction de compensation. Cette propriété va de pair avec la propriété d'atomicité stipulant que les mises à jour d'une transaction forment un tout cohérent qui est soit abandonné dans son ensemble, soit validé durablement. Une méthode de réalisation en cas de panne mémoire ou de panne disque entraînant la perte d'une partie des informations de la base de donnée, consiste à disposer d'un mécanisme de reprise pour récupérer les informations perdues.The consistency property concerns the semantic consistency of a data set. The maintenance of this can be partly ensured by the mechanisms ensuring the control of integrity constraints and by the maintenance of the ownership of the transactions. Isolation is essential in a multitasking environment, to ensure that each transaction sees a consistent state of all of the data. Isolation consists in ensuring that if the transaction is executed in parallel with other transactions (accessing a common set of data), there is a serial execution of the same transactions which would produce the same changes to the data set accessed by transactions. In this case, the isolation property is checked for this set of transactions. Durability ensures that updates to a committed transaction are final. The only action which must make it possible to undo the updates of a validated transaction is the execution of a compensation transaction. This property goes hand in hand with the atomicity property stipulating that the updates of a transaction form a coherent whole which is either abandoned as a whole, or validated durably. A method of implementation in the event of memory or disk failure resulting in the loss of part of the information in the database, consists of having a recovery mechanism to recover the lost information.
L'invention cherche à améliorer les dispositifs liés à la durabilité : il faut avoir des systèmes de recouvrement légers et fiables l'utilisation d'une base de donnée est l'un des moyens pour stocker de manière fiable (« crash résistant ») des données, sous le contrôle d'un moniteur transactionnel. Afin de permettre une livraison des données en toute circonstance dans un mode asynchrone, un service de communication doit mémoriser les données de manière fiable entre deux étapes de communication (réception des données et transmission des données). Cette mémorisation doit offrir de bonnes performances pour l'écriture des données.The invention seeks to improve the devices linked to durability: it is necessary to have light and reliable recovery systems the use of a database is one of the means for reliably storing (“crash resistant”) data, under the control of a transactional monitor. In order to allow delivery of the data in all circumstances in an asynchronous mode, a communication service must memorize the data reliably between two communication steps (receiving the data and transmitting the data). This storage must offer good performance for writing data.
Les solutions actuelles utilisent une base de données fournissant une telle interface, par exemple compatible XA ou RO. Les données sont journalisées dans le cadre d'une transaction, les interfaces RA ou XO sont des exemples d'interfaces
permettant à un moniteur transactionnel externe de contrôler des données. En cas de reprise des données, ce type d'interface fournit la corrélation entre les références des transactions externes et les données stockées dans la base de données qui sont en relation avec ces transactions, permettant ainsi de confirmer ou annuler des modifications sur ses données.Current solutions use a database providing such an interface, for example XA or RO compatible. Data is logged as part of a transaction, RA or XO interfaces are examples of interfaces allowing an external transactional monitor to monitor data. In the event of data recovery, this type of interface provides the correlation between the references of external transactions and the data stored in the database which are related to these transactions, thus making it possible to confirm or cancel modifications to its data.
Les base de données proposent ce type d'interface et les fonctionnalités associées, mais sont peu performantes pour cette l'utilisation particulière. Elles proposent de nombreuses autres fonctionnalités qui sont inutiles pour le recouvrement des données. L'invention concerne un canal de communication reliant un ensemble d'initiateurs de transactions et de consommateurs, associée à un service de journalisation possédant une interface de type XA/RO afin de permettre à un système transactionnel d'accomplir des opérations transactionnelles sur des données stockées dans ledit service de journalisation. Ces canaux peuvent être intégrés à tout système d'échanges transactionnels.The databases offer this type of interface and the associated functionalities, but are not very efficient for this particular use. They offer many other features that are unnecessary for data recovery. The invention relates to a communication channel connecting a set of transaction initiators and consumers, associated with a logging service having an XA / RO type interface in order to allow a transactional system to perform transactional operations on data. stored in said logging service. These channels can be integrated into any transactional exchange system.
L'invention concerne également un procédé de communication entre un ensemble d'initiateurs de transactions et de consommateurs, comportant des canaux de communications intermédiaires. On mémorise chaque opération validée dans un service de journalisation possédant une interface de type XA/RO afin de permettre le recouvrement des opérations transactionnelles validées.The invention also relates to a method of communication between a set of transaction initiators and consumers, comprising intermediate communication channels. Each validated operation is stored in a logging service having an XA / RO type interface in order to allow the recovery of validated transactional operations.
L'invention utilise, à la place d'une base de données possédant une interface transactionnelle et associée à un canal de communication, un système de journalisation offrant une telle interface. Cette interface permet à un moniteu r transactionnel traditionnel de répercuter sur les objets journalisés la bonne terminaison de la transaction (« commit ») ou mauvaise (« rollback »), respectivement confirmer les changements ou les annuler.The invention uses, instead of a database having a transactional interface and associated with a communication channel, a logging system offering such an interface. This interface allows a traditional transactional monitor to pass on to journalized objects the good termination of the transaction (“commit”) or bad (“rollback”), respectively confirm the changes or cancel them.
Un système de journalisation stocke toutes les valeurs successives d'une variable, en conservant les anciennes. En cas perte de données, on pourra toujours retrouver une valeur plus ancienne de ces données. On ajoute une interface de type XA ou de type RO, permettant à un moniteur transactionnel externe de confirmer ou annuler des modifications sur des données journalisées, ainsi que de recouvrer des données. Le service de journalisation fournit des moyens de stockage fiables, avec des écritures rapides. L'interface ajoutée permet d'automatiser la terminaison de modifications des données suivant les indications fournies par un moniteur transaction externe.
L'invention permet l'interopérabilité avec des moniteurs transactionnels externes en cas de problème.A logging system stores all the successive values of a variable, keeping the old ones. In case of data loss, we can always find an older value of this data. An XA or RO type interface is added, allowing an external transactional monitor to confirm or cancel modifications on logged data, as well as to recover data. The journaling service provides reliable storage means, with fast writes. The added interface automates the termination of data modifications according to the indications provided by an external transaction monitor. The invention allows interoperability with external transactional monitors in the event of a problem.
Cette couche supplémentaire dans le service de connexion fournit une interface de type XA pour associer les identifiants transactionnels aux actions effectuées dans le service de journalisation
This additional layer in the connection service provides an XA-type interface for associating transactional identifiers with actions performed in the logging service.
Claims
O 01/06359O 01/06359
RevendicationClaim
1 - Canal de communication reliant un ensemble d'initiateurs de transactions et de consommateurs, associée à un service de journalisation possédant une interface de type XA/RO afin de permettre à un système transactionnel d'accomplir des opérations transactionnelles sur des données stockées dans ledit service de journalisation.1 - Communication channel connecting a set of transaction initiators and consumers, associated with a logging service having an XA / RO type interface in order to allow a transactional system to perform transactional operations on data stored in said data logging service.
2 - système de communication transactionnel utilisant une pluralité de canaux de communication selon la revendication 12 - transactional communication system using a plurality of communication channels according to claim 1
3 - Procédé de communication entre un ensemble d'initiateurs de transactions et de consommateurs, comportant des canaux de communications intermédiaires, caractérisé en ce que l'on mémorise chaque opération validée dans un service de journalisation possédant une interface de type XA/RO afin de permettre le recouvrement des opérations transactionnelles validées.
3 - Method of communication between a set of transaction initiators and consumers, comprising intermediate communication channels, characterized in that each validated operation is memorized in a logging service having an XA / RO type interface in order to allow the recovery of validated transaction operations.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9909191 | 1999-07-15 | ||
FR9909191 | 1999-07-15 | ||
PCT/FR2000/002032 WO2001006359A1 (en) | 1999-07-15 | 2000-07-13 | Transaction recovery system |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1112538A1 true EP1112538A1 (en) | 2001-07-04 |
Family
ID=9548140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP00953228A Withdrawn EP1112538A1 (en) | 1999-07-15 | 2000-07-13 | Transaction recovery system |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1112538A1 (en) |
JP (1) | JP2003505759A (en) |
AU (1) | AU6575400A (en) |
WO (1) | WO2001006359A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ITAN20120079U1 (en) | 2011-11-21 | 2013-05-22 | Sipe Srl | SILENT SMOKE SUCTION HOOD. |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5530848A (en) * | 1992-10-15 | 1996-06-25 | The Dow Chemical Company | System and method for implementing an interface between an external process and transaction processing system |
US5659747A (en) * | 1993-04-22 | 1997-08-19 | Microsoft Corporation | Multiple level undo/redo mechanism |
JPH10254719A (en) * | 1997-03-14 | 1998-09-25 | Canon Inc | Information processor and information processing method |
-
2000
- 2000-07-13 EP EP00953228A patent/EP1112538A1/en not_active Withdrawn
- 2000-07-13 AU AU65754/00A patent/AU6575400A/en not_active Abandoned
- 2000-07-13 WO PCT/FR2000/002032 patent/WO2001006359A1/en not_active Application Discontinuation
- 2000-07-13 JP JP2001511549A patent/JP2003505759A/en not_active Withdrawn
Non-Patent Citations (1)
Title |
---|
See references of WO0106359A1 * |
Also Published As
Publication number | Publication date |
---|---|
AU6575400A (en) | 2001-02-05 |
WO2001006359A1 (en) | 2001-01-25 |
JP2003505759A (en) | 2003-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7506009B2 (en) | Systems and methods for accessing a shared storage network using multiple system nodes configured as server nodes | |
US8892509B2 (en) | Systems and methods for a distributed in-memory database | |
EP1840766B1 (en) | Systems and methods for a distributed in-memory database and distributed cache | |
EP3891621A1 (en) | System and method for augmenting database applications with blockchain technology | |
US9720911B2 (en) | System and method for variable block logging with log-ahead buffers | |
EP0843267A2 (en) | Processing multiple database transactions in the same process to reduce process overhead and redundant retrieval from database servers | |
US20070239791A1 (en) | Systems and methods for a distributed cache | |
CA2363734C (en) | Method and system for private information retrieval using commodities | |
EP1840769A1 (en) | Systems and methods for synchronizing data in a cache and database | |
US9892137B2 (en) | Automating the logging of table changes in a database | |
US20190287082A1 (en) | Method for processing transactions using blockchain networks, and transaction management server using the same | |
US20060095438A1 (en) | Non-blocking commit protocol systems and methods | |
US20100076939A1 (en) | Information processing system, data update method and data update program | |
US20090193059A1 (en) | Data consistency control method and software for a distributed replicated database system | |
US20090193286A1 (en) | Method and System for In-doubt Resolution in Transaction Processing | |
EP1112538A1 (en) | Transaction recovery system | |
US20020073083A1 (en) | Method and system for accessing information on a network | |
KR20050060803A (en) | Xml database duplicating apparatus for copying xml document to remote server without loss of structure and attribute information of xml document and method therefor | |
CN103201736A (en) | Method and system for extending data storage system functions | |
US20070033157A1 (en) | Transaction protection in a stateless architecture using commodity servers | |
US7836020B1 (en) | Method and apparatus to improve server performance associated with takeover and giveback procedures | |
CN114066476B (en) | Method, device and storage medium for solving problem of late and early arrival of distributed application transaction | |
US20080164306A1 (en) | Systems and methods for storing banking transaction information | |
US20040015926A1 (en) | Novel dynamic object library software architecture | |
WO2001006730A1 (en) | Method for distributing the load of a communication channel |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE |
|
AX | Request for extension of the european patent |
Free format text: AL;LT;LV;MK;RO;SI |
|
17P | Request for examination filed |
Effective date: 20010725 |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: ALCATEL LUCENT |
|
17Q | First examination report despatched |
Effective date: 20070830 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20080110 |