WO1996029651A1 - Distributed telegraphic message processing system - Google Patents
Distributed telegraphic message processing system Download PDFInfo
- Publication number
- WO1996029651A1 WO1996029651A1 PCT/JP1995/000454 JP9500454W WO9629651A1 WO 1996029651 A1 WO1996029651 A1 WO 1996029651A1 JP 9500454 W JP9500454 W JP 9500454W WO 9629651 A1 WO9629651 A1 WO 9629651A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- message processing
- lock
- message
- request
- update
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Definitions
- the present invention relates to a distributed message processing system including a plurality of message processing devices for performing distributed processing of input messages, and more particularly, to a method of reducing inconsistency of shared resources while maintaining parallel execution of processing by each message processing device. Regarding techniques to avoid. Background art
- a means for issuing an exclusive setting (hereinafter referred to as a “hook”) request to each message processing device for the resource storage unit of its own device or another device A means for performing a lock process on the resource storage unit of the own device upon receiving a lock request from the own device or another device, and providing access to the shared resource by another process until the lock release request is issued.
- it is prohibited (hereinafter, Conventional Example 1). In this case, when the lock request is for each table, access to the entire table is prohibited, and when the lock request is for each data record in the table, access to the data record is prohibited, and the lock request is issued.
- the sent message processing device enters a waiting state.
- the other message processing device determines whether or not one message processing device is the main device according to the type of message and is ready to actually update (commit) the data record. If there is a device that is not ready, request the update cancellation (rollback) to all devices including the own device. Insufficient preparations include failures of the message processing device. Then, when the preparation for the actual update is completed in all the devices, the actual update request by the input message is performed again for all the devices, and the second stage process, that is, the process of confirming the update information is performed.
- each conventional example has the following problems to be solved.
- Conventional Example 1 if there is a request for a lock on a single shared resource in data record units, a deadlock occurs in relation to other data records in the same table, and the lock cannot be released. There is.
- a lock request for each table is effective mainly to prevent this deadlock, but it degrades the concurrency of other processes.
- lock requests are issued a plurality of times from the same lock request issuing means, deadlock cannot be prevented depending on the mode.
- four message processing devices are interconnected by a communication line, and a table a in the second message processing device is locked by a lock request issued from the first message processing device to the second message processing device.
- the conventional example 2 since the request and response are repeated twice or more between the master device and the slave device between the provisional update and the actual update, it is necessary to perform communication at least four times. Heads are likely to occur. In addition, failures such as blocking may occur with one specific device. When harm occurs, the processing of all devices is stopped, and the processing performance of the entire system is significantly degraded. Furthermore, if a heuristic error occurs in the resource storage unit of a specific message processing device after an actual update request, the conventional system allows the updating of information in that message processing device to be canceled at this stage as well. I will. In this case, the message processing device also cancels the provisional update state due to the input message, so that the update is out of synchronization with the resource storage unit of the other device. The inconsistency of shared resources could not be avoided because of the lack of the
- An object of the present invention is to solve the problem and to provide a distributed message processing system configured to completely guarantee the update processing of a shared resource while maintaining parallel execution of processing by each message processing device. .
- DISCLOSURE OF THE INVENTION The present invention provides a distributed message processing system that performs distributed processing of an input message by a plurality of message processing devices and updates a shared resource shared by the respective message processing devices based on a processing result of the input message.
- a message processing device that performs distributed processing of the input message includes the following elements.
- an exclusive control request of another process for the shared resource to be updated for example, a means for issuing a lock request
- the means for generating the sequence information is configured to set and quantify the path information and the acknowledgment request in data record units.
- the message processing device that updates the shared resource includes a unit that executes a required lock process based on the sequence information before updating the shared resource, and further updates the shared resource as necessary.
- the sequence information of the shared resource is set in advance and set in the sequence setting table.
- This sequence information includes, for example, a node name for uniquely identifying each message processing device, a node number indicating the order of lock requests for each node, a table name included in the node, and each table. It can be composed of a table number indicating the order of lock requests for, a record name included in each table, and a record number indicating the order of lock requests for each record.
- the sequence information relating to the relevant shared resource is retrieved from the sequence setting table. Then, the sequence information is arranged in a predetermined order, and is issued to the corresponding shared resource in the arrangement order.
- the arrangement order is defined in common for all message processing devices. For example, they are arranged in numerical order or alphabetical order based on at least one of the node name, node number, table name, and record name. As a result, a plurality of sequence information can be given a predetermined order, and unified management for each shared resource can be performed. After issuing one sequence information, the output of the next sequence information is suspended until the lock processing based on the sequence information is completed, and the occurrence of deadlock is completely suppressed.
- the message processing device having the shared resource to be updated has a powerful update process (temporary update or actual update) of its own shared resource. If it is confirmed that a failure has occurred, the cause of the abnormality is detected, and this is removed autonomously and updated again. As a result, there is no room for communication overhead between the message processing devices, and furthermore, it is possible to avoid stopping the processing of other devices due to the occurrence of an abnormality in the message processing device.
- the conventional example Solve the problems at once. BRIEF DESCRIPTION OF THE FIGURES
- FIG. 1 is a schematic configuration diagram of a distributed message processing system of the present invention
- FIG. 2 is a block diagram of an individual message processing device
- FIG. 3 is a block diagram of a lock sequence determination unit in FIG. Fig. 3 is an explanatory diagram showing a setting example of the lock sequence setting table of Fig. 3
- Fig. 5 is an explanatory diagram showing an example of exclusive control based on the setting example of Fig. 4
- Fig. 6 is an explanatory diagram of the exclusive control of Fig. 5.
- 7 is a block diagram of the autonomous message assurance unit shown in FIG. 2
- FIG. 8 is a procedure explanatory diagram for executing a shared resource update process based on a result of the distributed process.
- FIG. 1 is a schematic configuration diagram of a distributed electronic message processing system according to one embodiment of the present invention.
- the distributed message processing system 1 of this embodiment for example, four message processing devices 10a to 10d having the same elements are connected by a high-speed bus or a LAN (Local Area Network) or the like, and a communication line 2 is connected to the terminal devices 3a to 3n.
- a communication line 2 is connected to the terminal devices 3a to 3n.
- One of the devices is processed in a distributed manner as one of the master device and the other as the slave device.
- General-purpose workstations or personal computers can be used for the terminal devices 3a to 3 ⁇ .
- each of the message processing devices 10a to 10d includes an information input unit 11, a message distribution processing unit 12, a message processing unit 13, a resource storage unit 14, a lock sequence determination unit 15, and a lock processing unit. 16, a journal acquisition unit 17, and an information output unit 18.
- the resource storage unit 14 stores, for each table, a data record that is a shared resource of each of the message processing devices 10a to 10d;
- the message processing device 10a will be described as a main device, and the other message processing devices 10 ′′ will be described as slave devices.
- the information input unit 11 inputs received information from the communication line 2. Then, a message having a predetermined data structure is extracted, and the extracted message is led to the message distribution processing unit 12.
- the message distribution processor 12 distributes the message according to the destination of the input message.
- the message processing unit 13 performs a required process on the message assigned to itself. Further, based on the processing result, the update processing unit 131 updates the shared resources stored in the resource storage unit 14 of the own device or the g source storage unit of another device, and detects the presence or absence of abnormal processing. Then, when the processing is abnormal, the fact is notified to the autonomous electronic message guarantee unit 131. The autonomous text assurance unit 131 detects the cause of the abnormality, removes it autonomously, and completes the update process. This processing will be described later in detail. When updating the shared resource, a lock request is issued from the lock request unit 131 prior to execution of the update.
- the lock sequence determination unit 15 quantifies the lock request issued by its own device, that is, request information for urging the setting of access prohibition of another process to the shared resource, and determines the issuance order.
- the lock processing unit 16 determines the validity of the lock request received from the own device or another device, and locks the data record in the resource storage unit 14 when the received lock request is valid. Release of this lip is performed at any time. In this case, all shared resources may be unlocked at the same time, or unlocked individually.
- the journal acquisition unit 17 acquires and records a failure recovery journal, that is, update information that has been normally processed.
- the information output unit 18 edits the processing result of the message processing unit 13 and outputs the result to the source of the received message or to a designated destination.
- FIG. 3 is a block diagram of the lock sequence determining unit 15.
- the lock sequence determination unit 15 includes a lock sequence setting table 151 for registering order information, which is a basis of a sequence number indicating a lock request order, in units of data records in advance, and a received password. And a lock request result output unit 153 that outputs lock requests in the sorted order and notifies the lock processing unit 16 of the result. Is done.
- These units are included in all the message processing devices in common, and can be locked by their own device or by other devices. The two-way wake-up process is possible.
- FIG. 4 shows a setting example of the lock sequence setting table 151.
- the setting example in Fig. 4 is based on the configuration in Fig. 5 showing the concept of lock request between two message processing devices and the accompanying hacking process.
- the node name A3 uniquely assigned to identify the node, the node number indicating the order of lock requests for each node, the table names a to d included in that node, and the order of lock requests for each table Table numbers, record names and records included in each table, and record numbers indicating the order of lock requests for each record are set.
- These contents are merely examples, and the identification information such as the individual node names and the order information including the path information may of course be in other formats.
- the contents of the lock sequence setting table 151 are set in the memory of each of the message processing devices 10a to 10d when the distributed message processing system 1 is started.
- a lock request is issued from the lock sequence determination units 15a and 15b of the two message processing devices 10a and 10b to the lock processing units 16a and 16b of the own device and the other device, respectively.
- the operation in this case will be described.
- S indicates a processing step.
- the lock sequence determination unit 15a receives a lock request issued from the lock request unit 131 of the own device (S100).
- the format of the lock request specifies the specific data record on each node, so the node name (identification information of the message processing device), the table name (identification information of the table in the resource storage unit 14), and the record name (Identification information of the data record in the table).
- the node number, table number, and record number corresponding to the node name, table name, and record name specified in the received lock request are acquired (S101).
- a sequence number representing the lock order is created (S102). In other words, it is quantified.
- the sort processing unit 152 sorts these sequence numbers (S103), and if there is an unprocessed lock request, repeats the same processing (S104). If there is no unprocessed lock request, the sorted first lock request ((1) shown) is issued to the lock processing unit 16a (S105). Then, the result of the processing based on the request is received from the lock processing unit 16a (S106), and it is determined whether or not the processing has been performed (S107).
- the lock sequence determining unit 15b determines a sequence number based on the lock request sequence setting table, and sorts the sequence number in the sort processing unit, as in the processing in the message processing device 10a. As a result, the lock requests are sorted as "Aa”, "Be force”, and are issued in this order ((3) and (4) in the figure). If the previous lock request (1) is already valid, the next lock request (3) will be sent to the lock processing unit 16a until the previous lock request (1) is released by the message processing device 10a. The lock sequence. The determination unit 15b also processes the lock request (3) in the lock processing unit 16a and waits until receiving the result to request the next lock request for "Be force". Do not issue (4).
- the autonomous message assurance unit 133 includes an abnormality location detection processing unit 233 that detects an abnormal location by detecting an abnormal device name / record number and the like, and performs an error self-recovery process.
- An error location recovery processing unit 333 that performs an update
- an update processing unit 433 that performs the update process after the recovery of the abnormal location
- a reupdate determination processing unit 533 that determines whether the update has been successful.
- the self-recovery of the abnormality in the abnormal point recovery processing unit 333 is performed, for example, in the event of a failure in the resource storage unit 4, by replacing the stored information with the journal of the journal acquisition unit 17 and restoring to the normal state, and in the event of a program error Is repaired by debugging or the like.
- This self-recovery and subsequent re-update are repeatedly executed until the update processing (actual update) in the message processing unit 13 ends normally.
- the message processing unit 13 inputs the message to be updated from the message distribution processing unit 12 (S200), and checks the validity of the content. Specifically, this check is a check on whether the message is in an allowed format, or if the message includes money amount information, the money amount is a negative value, such as a negative value. If the result of the check is abnormal, the processing is terminated and the next message is input. If the check is normal, update information is created (S201), and a lock request is issued to the lock sequence determination unit 15 (S202). If the message needs to update the file in the resource storage unit of the own device or another device, a temporary update request is made to the hack processing unit that manages the resource storage unit at the same time (S203).
- the provisional update request to another device may be made directly to the lock processing unit, or may be made via the message processing unit of the device. It is determined whether or not the provisional update has been performed normally in all the related message processing devices (S204). If even one of the provisional updates has failed (NO), the resource storage unit is sent to the lock processing unit 16 of the own device. In step S207, a request for temporary update cancellation is made, and a request for temporary update cancellation is made to other related devices at the same time (S207). As a result, the update processing in all devices is stopped. Then, Seki A lock release request is issued to the relevant lock processing unit (S208).
- a journal acquisition request is made to the journal acquisition unit 17 (S205), and the updated information is recorded in the journal file as failure recovery information. .
- an actual update request is made to the lock processing unit 16 of the own device or the lock processing unit of the related device (S209).
- the actual update request to the device may be directly sent to the lock processing unit that manages the resource storage unit, or may be sent via the message processing unit of the device.
- the autonomous message processing unit 133 autonomously eliminates the cause of the abnormality and completes the actual update by the configuration shown in FIG.
- the autonomous message processing unit 133 autonomously eliminates the cause of the abnormality and completes the actual update by the configuration shown in FIG.
- the information output unit 18 is requested to output a message (S212), and the message processing result is sent to the source of the message.
- the update cancellation request can be made in the same procedure as in the case of the temporary update cancellation.
- the lock processing unit 16 is requested to release the lock (S213), and the update processing ends.
- the autonomous message assurance unit of the device removes the cause of the error and saves it to the resource storage unit. Since the update is completed autonomously, each message processing device can continue the actual update process in its own device without waiting for a response from another device. As a result, it is possible to effectively prevent the occurrence of inconsistency in the shared resources while preventing a decrease in processing efficiency.
- distributed processing based on the two-phase commit method has been described in which the message processing device 10a is a main device and the other message processing devices 1013 are slave devices.
- the present invention can also be applied to a system in which each of the message processing devices processes a message addressed to the own device at an independent timing.
- INDUSTRIAL APPLICABILITY As is clear from the above description, in the distributed message processing system of the present invention, when a message processing device that performs distributed processing of an input message issues a lock request to a shared resource, The route information from the own device to the shared resource and the acknowledgment request are fixed, these are rearranged in a predetermined order common to all devices, and the acknowledgment process based on one lock request is completed.
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9624185A GB2302970B (en) | 1995-03-17 | 1995-03-17 | Distributed telegraphic message processing system |
DE19581619T DE19581619T1 (en) | 1995-03-17 | 1995-03-17 | Processing system for distributing telegraphic messages |
PCT/JP1995/000454 WO1996029651A1 (en) | 1995-03-17 | 1995-03-17 | Distributed telegraphic message processing system |
FR9603483A FR2731858B1 (en) | 1995-03-17 | 1996-03-15 | DISTRIBUTED TELEGRAM PROCESSING SYSTEM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP1995/000454 WO1996029651A1 (en) | 1995-03-17 | 1995-03-17 | Distributed telegraphic message processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1996029651A1 true WO1996029651A1 (en) | 1996-09-26 |
Family
ID=14125746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP1995/000454 WO1996029651A1 (en) | 1995-03-17 | 1995-03-17 | Distributed telegraphic message processing system |
Country Status (4)
Country | Link |
---|---|
DE (1) | DE19581619T1 (en) |
FR (1) | FR2731858B1 (en) |
GB (1) | GB2302970B (en) |
WO (1) | WO1996029651A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63196956A (en) * | 1987-02-10 | 1988-08-15 | Nec Corp | File exclusion system |
JPH02294835A (en) * | 1989-04-17 | 1990-12-05 | Internatl Business Mach Corp <Ibm> | Managing system for table being used |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5265245A (en) * | 1989-04-17 | 1993-11-23 | International Business Machines Corporation | High concurrency in use manager |
US5261051A (en) * | 1989-08-14 | 1993-11-09 | Microsoft Corporation | Method and system for open file caching in a networked computer system |
US5226143A (en) * | 1990-03-14 | 1993-07-06 | International Business Machines Corporation | Multiprocessor system includes operating system for notifying only those cache managers who are holders of shared locks on a designated page by global lock manager |
JPH0417041A (en) * | 1990-05-10 | 1992-01-21 | Hitachi Ltd | Resource managing system for decentralized data managing system |
JPH0713838A (en) * | 1993-06-14 | 1995-01-17 | Internatl Business Mach Corp <Ibm> | Method and equipment for recovery of error |
-
1995
- 1995-03-17 GB GB9624185A patent/GB2302970B/en not_active Expired - Lifetime
- 1995-03-17 DE DE19581619T patent/DE19581619T1/en not_active Withdrawn
- 1995-03-17 WO PCT/JP1995/000454 patent/WO1996029651A1/en active Application Filing
-
1996
- 1996-03-15 FR FR9603483A patent/FR2731858B1/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63196956A (en) * | 1987-02-10 | 1988-08-15 | Nec Corp | File exclusion system |
JPH02294835A (en) * | 1989-04-17 | 1990-12-05 | Internatl Business Mach Corp <Ibm> | Managing system for table being used |
Also Published As
Publication number | Publication date |
---|---|
GB2302970B (en) | 1999-08-11 |
FR2731858A1 (en) | 1996-09-20 |
DE19581619T1 (en) | 1997-05-22 |
FR2731858B1 (en) | 2004-12-31 |
GB9624185D0 (en) | 1997-01-08 |
GB2302970A (en) | 1997-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Davcev et al. | Consistency and Recovery Control for Replicated Files. | |
US6529932B1 (en) | Method and system for distributed transaction processing with asynchronous message delivery | |
US7149761B2 (en) | System and method for managing the synchronization of replicated version-managed databases | |
JP3197789B2 (en) | Method and system for requesting manipulation of a directory in a distributed file system | |
US7231406B2 (en) | Fault-tolerant queue with autonomous client operation | |
US6247023B1 (en) | Method for providing database recovery across multiple nodes | |
US6694345B1 (en) | External job scheduling within a distributed processing system having a local job control system | |
JPH0465414B2 (en) | ||
CA2375376A1 (en) | Collision avoidance in bidirectional database replication | |
WO2002088946A2 (en) | Resource action in clustered computer system incorporating prepare operation | |
US20100262972A1 (en) | Deadlock avoidance | |
CN108431808A (en) | Prompting processing to the structured data in the data space of subregion | |
CN112148436B (en) | Decentralised TCC transaction management method, device, equipment and system | |
EP0716377B1 (en) | Deadlock detection mechanism | |
Kim | Programmer-transparent coordination of recovering concurrent processes: Philosophy and rules for efficient implementation | |
CN108733477A (en) | The method, apparatus and equipment of data clusterization processing | |
WO1996029651A1 (en) | Distributed telegraphic message processing system | |
JPH11161530A (en) | Transaction processing system | |
JPH04273555A (en) | Commitment system | |
Wei et al. | Specification and implementation of replicated list: The Jupiter protocol revisited | |
WO1995004969A1 (en) | Decentralized telegraphic message processing system | |
CN111752911A (en) | Data transmission method, system, terminal and storage medium based on Flume | |
JP2001350660A (en) | Program execution management device and computer- readable storage media with program recorded thereon | |
JP2001034595A (en) | Method and device for integrating work among a plurality of systems | |
Zhao et al. | Enable concurrent Byzantine fault tolerance computing with software transactional memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): CN DE GB US |
|
ENP | Entry into the national phase |
Ref document number: 1996 737723 Country of ref document: US Date of ref document: 19961115 Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 9624185.6 Country of ref document: GB |
|
RET | De translation (de og part 6b) |
Ref document number: 19581619 Country of ref document: DE Date of ref document: 19970522 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 19581619 Country of ref document: DE |