WO1996029651A1 - Distributed telegraphic message processing system - Google Patents

Distributed telegraphic message processing system Download PDF

Info

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
Application number
PCT/JP1995/000454
Other languages
French (fr)
Japanese (ja)
Inventor
Kenichi Abe
Yukiharu Imahuku
Hitoshi Kirita
Toshiyuki Inoue
Original Assignee
Ntt Data Communications Systems Corporation
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ntt Data Communications Systems Corporation filed Critical Ntt Data Communications Systems Corporation
Priority to GB9624185A priority Critical patent/GB2302970B/en
Priority to DE19581619T priority patent/DE19581619T1/en
Priority to PCT/JP1995/000454 priority patent/WO1996029651A1/en
Priority to FR9603483A priority patent/FR2731858B1/en
Publication of WO1996029651A1 publication Critical patent/WO1996029651A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network 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

Telegraphic messages inputted from external terminals through a communication line are processed in a distributed manner in a plurality of telegraphic message processing devices (10a) as shown in the figure. The common resources in a storage unit (data base) (14) are updated on the basis of the results of this processing operation. Each of the telegraphic message processing devices (10a) is provided with a lock sequence determination unit (15) and a lock processor (16), and lock requests for resources common to the subject devices or other devices, which are issued by the subject devices, are sorted, arranged in predetermined order common to all the devices and issued sequentially, the outputting of subjecting lock requests being held until the lock processing based on precedent lock requests has been finished. Each device is provided in its telegraphic message processing unit (13) with an autonomic telegraphic message assurance member (133) which removes the causes of abnormality, in the event of a failure in updating in the subject device, and execute the updating process autonomically. This system is formed so as to improve a general system processing efficiency while preventing the occurrence of contradiction of the common resources to one another.

Description

明 細 書 分散型電文処理システム 技術分野  Description Distributed electronic message processing system Technical field
この発明は、 入力電文の分散処理を行う複数の電文処理装置を備えた分散型電 文処理システムに係り、 特に、 各電文処理装置による処理の並列実行性を保持し つつ共有資源の矛盾状態を回避する技術に関する。 背景技術  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
オンライン . トランザクション処理システムのように、一^ ^のトランザクショ ンを複数の電文処理装置が分散処理するシステムでは、 各電文処理装置が備える 資源記憶部内の格納情報を共有資源として使用するのが一般的である。 このよう な構成のシステムにおいては、 共有資源の複数のプロセスによる同時使用、 各電 文処理装置の協働処理に伴う処理効率の低下、 各電文処理装置の使用による共有 資源の矛盾等を回避することが大きな課題となる。  In a system such as an online transaction processing system in which a single transaction is distributed and processed by a plurality of message processors, it is common to use the information stored in the resource storage provided in each message processor as a shared resource. It is. In a system having such a configuration, simultaneous use of a shared resource by a plurality of processes, reduction of processing efficiency due to cooperative processing of each message processing device, and inconsistency of shared resources due to use of each message processing device are avoided. Is a major challenge.
共有資源に対する複数プロセスの同時使用を回避する手法として、 従来、 個々 の電文処理装置に、 自装置又は他装置の資源記憶部に対する排他設定 (以下、 口 ックと称する) 依頼を発行する手段と、 自装置又は他装置からのロック依頼の受 信を契機に自装置の資源記憶部に対するロック処理を行う手段とを設け、 該ロッ クの解除依頼が出されるまで共有資源に対する他プロセスのアクセスを禁止する のが一般的である (以下、従来例 1)。 この場合、 ロック依頼がテーブル単位のと きは、 当該テーブル全体に対するアクセス等が禁止され、 テーブル内のデータレ コード単位のときは、 当該データレコードに対するアクセス等が禁止され、 当該 口ック依頼を発行した電文処理装置は待ち状態となる。  Conventionally, as a method of avoiding the simultaneous use of multiple processes for shared resources, 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. Generally, 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.
一方、 共有資源の矛盾状態を回避するため、 従来、 一つの更新処理によって複 数の電文処理装置のデータレコ一ドの更新が生じる場合に、 全てのデータレコー ドの更新を正常ならしめるか、 あるいは全ての更新を無効にする制御、 即ち更新 同期制御が行われている。 これについては、 N. J .Grayが考案した 2相 (2フエ一 ズ) コミツ 卜方式、 あるいはその改良方式を使用することができる (以下、 従来 例 2)。 これらの方式では、更新フヱーズを 「仮更新」 と 「実更新」 とに分け、 入 力電文を受け付けると、 第一段階で該電文の処理結果に基づく更 frlf報を作成し て仮更新状態を形成するとともに、 電文の種類に応じて一の電文処理装置が主装 置となってデータレコードの実更新 (コミッ ト) の用意ができているか否かを他 の電文処理装置 (従装 S) に問い合わせ、 用意不十分な装置があれば自装置を含 む全装置に対して更新取消 (ロールバック) の依頼を行う。 用意不十分な場合と しては、 電文処理装置の障害の場合を含む。 そして、 全装置で実更新の用意が整 つたときに改めて全装置に対して入力電文による実更新依頼を行 L、、 第二段階の 処理、 即ち、 更新情報の確定処理を行う。 On the other hand, in order to avoid the inconsistent state of the shared resources, conventionally, when a single update process updates the data records of multiple message processing devices, it is necessary to normalize the update of all data records. Alternatively, control for invalidating all updates, that is, update synchronization control is performed. In this regard, two phases (2 Hue 1 B) Commit method or its improved method can be used (hereinafter, Conventional Example 2). In these methods, the update phase is divided into "temporary update" and "actual update". When an input message is received, in the first stage, an updated frlf report based on the processing result of the message is created and the temporary update state is updated. The other message processing device (subsidiary S) 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.
しかしながら、 各従来例には、 以下のような解決すべき課題が残されていた。 すなわち従来例 1においては、 一つの共有資源に対してデータレコード単位の口 ック依頼があると、 同一テーブル内の他のデータレコードとの関係でデッ ドロッ クが生じ、 その解除ができなくなる場合がある。 テーブル単位のロック依頼は、 主としてこのデッ ドロックを防止するために有効であるが、 他の処理の同時並行 性を損なってしまう。 さらに、 同一のロック依頼発行手段から複数回のロック依 頼が発行される場合には、 その態様によってはデッ ドロックが防止できなくなる 欠点があった。 例えば、 4つの電文処理装置を通信回線で相互接続し、第 1の電文 処理装置から第 2の電文処理装置に出されたロック依頼により第 2の電文処理装 置内のテーブル aが口ックされ、さらに第 3の電文処理装置から第 4の電文処理装 置に出された口ック依頼により第 4の電文処.理装置内のテーブル bが口ックされ ている場合に、 更に第 1の電文処理装置から第 4の電文処理装置内のテーブル b に対するロック依頼が出され、 同時に第 3の電文処理装置から第 2の電文処理装 置内のテーブル aに対するロック依頼が発行されると、 各テーブル a,bは既に口 ックされているので、第 3及び第 4の電文処理装置は共に待ち状態となり、各テー ブル a,bに対するロック解除が不可能になる。  However, each conventional example has the following problems to be solved. In other words, in 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. Furthermore, when lock requests are issued a plurality of times from the same lock request issuing means, deadlock cannot be prevented depending on the mode. For example, 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. In addition, if the fourth message processing device has been tucked on the table b in the fourth message processing device by a hook request issued from the third message processing device to the fourth message processing device, When a lock request for table b in the fourth message processing device is issued from the first message processing device and at the same time, a lock request for table a in the second message processing device is issued from the third message processing device. Since the tables a and b are already locked, the third and fourth message processing devices are both in a waiting state, and the locks on the tables a and b cannot be released.
また、 従来例 2では、 仮更新から実更新までの間に主装置及び従装置間で依頼 及び応答を 2回以上操り返すので、 最低でも 4回の交信を行う必要があり、 通信 オーバ—へッ ドが生じ易くなる。 また、 特定の一つの装置でブロッキング等の障 害が発生すると、 全装置の処理が停止するため、 システム全体の処理性能が著し く劣化してしまう。 さらに、 実更新依頼後に特定の電文処理装置の資源記憶部で 発見的な異常(ヒユーリスティ ックエラー)が発生すると、従来システムでは、 こ の段階においても当該電文処理装置における情報の更新取消を許容してしまう。 この場合、 当該電文処理装置では、 該入力髦文による仮更新状態もキャンセルさ れるので、 他装置の資源記憶部との間で更新の同期ずれが生じるが、 自律的にこ れを回復する手段を持たないので共有資源の矛盾状態を回避できなかった。 In 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.
(1) 更新対象となる前記共有資源に対する他のプロセスの排他制御依頼、 例えば ロック依頼を発行する手段、  (1) an exclusive control request of another process for the shared resource to be updated, for example, a means for issuing a lock request,
(2) 自装置から当該共有資源までの経路情報及び前記口ック依頼を定量化して シーケンス情報を生成する手段、  (2) means for quantifying the route information from the own device to the shared resource and the acknowledgment request and generating sequence information,
(3) 前記シーケンス情報を全ての電文処理装置に共通の所定順に並び替えて前記 口ック依頼と共に順次発行する手段、  (3) means for rearranging the sequence information in a predetermined order common to all the message processing devices and sequentially issuing the sequence information together with the mouth request,
(4) 一のシーケンス情報の発行に基づく当該共有資源の排他制御処理、 例えば口 ック処理が終了するまで次順のシーゲンス情報の発行を保留する手段。  (4) A means for suspending the issuance of the next sequence information until the exclusive control process of the shared resource based on the issuance of one sequence information, for example, the hack process is completed.
なお、 上記構成において、 並列実行性を担保する観点からは、 共有資源をデ— タレコード単位に設定することが好ましい。 この場合、 前記シーケンス情報を生 成する手段は、 前記経路情報及び口ック依頼をデータレコード単位で設定して定 量化するように構成する。 また、 共有資源を更新する電文処理装置は、 共有資源の更新に先だち、 前記 シーゲンス情報に基づく所要のロック処理を実行する手段を備えており、 さら に、 必要に応じて、 共有資源の更新が異常終了のときに異常原因を検出する手段 と、 該異常原因を自律的に除去して当該更新を再実行する手段と、 異常箇所に対 する他プロセスのアクセスを制限する手段を設ける。 In the above configuration, it is preferable to set the shared resources in data record units from the viewpoint of ensuring parallel operability. In this case, the means for generating the sequence information is configured to set and quantify the path information and the acknowledgment request in data record units. In addition, 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. There are provided means for detecting the cause of the abnormality at the time of abnormal termination, means for autonomously removing the cause of the abnormality and re-executing the update, and means for restricting the access of another process to the abnormal part.
上述の構成の分散型電文処理システムでは、 予め共有資源についてシーケンス 情報を定: t化してシ一ゲンス設定テ一ブルに設定しておく。 このシーケンス情報 は、 例えば個々の電文処理装置をユニークに識別するためのノード名と、 各ノー ドに対するロック依頼の順序を表すノ一ド番号と、 そのノードに含まれるテープ ル名と、 各テーブルに対するロック依頼の順序を示すテーブル番号と、 各テープ ルに含まれるレコー ド名と、 各レコー ドに対するロック依頼の順序を示すレコー ド番号とで構成することができる。  In the distributed message processing system having the above-described configuration, 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.
一の電文処理装置から共有資源に対してロック依頼を発行するときは、 該当す る共有資源に関わるシ一ゲンス情報をシーゲンス設定テ一ブルから索出する。 そ して、 このシーケンス情報を所定順に配列させ、 該配列順に該当共有資源に対し て発行する。 配列順は、 全電文処理装置で共通に定めておく。 例えば、 前記ノー ド名、 ノード番号、 テーブル名、 及びレコード名の少なくとも一つを基準にして 数値順あるいはアルファべッ ト順に並べる。 これにより、 複数のシーケンス情報 について所定の順序性をもたせることができ、 共有資源毎の一元的管理が可能に なる。 一のシーケンス情報を発行した後は、 該シーケンス情報に基づくロック処 理が終了するまで次順のシーケンス情報の出力を保留し、 デッ ドロックの発生を 完全に抑制する。 なお、 ロック依頼及び対応するロック処理がデータレコ一ド単 位で行われる場合は、 他のデータレコードについての並列実行性が確保される。 一方、 一の電文処理装置によって共有資源の更新が発生する場合、 更新対象と なる共有資源を有する電文処理装置は、 自装置の共有資源を更新 (仮更新又は実 更新) する力く、 更新処理中に障害が発生したことを確認したときは、 異常原因を 検出し、 これを自律的に除去して再更新する。 これにより電文処理装置間の通信 オーバーへッ ドの発生余地がなくなり、 しかも当該電文処理装置において異常が 発生したことによる他の装置の処理の停止が回避される。 このようにして従来例 の問題点を一挙に解決する。 図面の簡単な説明 When a lock request is issued from one message processing device to a shared resource, 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. When the lock request and the corresponding lock processing are performed in data record units, parallel execution of other data records is ensured. On the other hand, when the shared resource is updated by one message processing device, 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. Thus, the conventional example Solve the problems at once. BRIEF DESCRIPTION OF THE FIGURES
第 1図は本発明の分散型電文処理システムの概略構成図、 第 2図は個々の電文 処理装置のプロック構成図、 第 3図は第 2図におけるロックシーケンス決定部の プロック構成図、 第 4図は第 3図のロックシーケンス設定テーブルの設定例を示 す説明図、第 5図は第 4図の設定例に基づく排他制御例を示す説明図、第 6図は第 5図の排他制御を実行する際の手順説明図、第 7図は第 2図における自律電文保証 部のプロック構成図、 第 8図は分散処理結果に基づく共有資源の更新処理を実行 する際の手順説明図である。  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, and 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, and FIG. 8 is a procedure explanatory diagram for executing a shared resource update process based on a result of the distributed process.
発明を実施するための最良の形態 次に、 図面を参照して本発明の好適な実施例を詳細に説明する。 BEST MODE FOR CARRYING OUT THE INVENTION Next, preferred embodiments of the present invention will be described in detail with reference to the drawings.
第 1図は本発明の一実施例に係る分散型電文処理システムの概略構成図であ る。 この実施例の分散型電文処理システム 1は、 例えば同一要素を有する 4つの 電文処理装置 10a〜: lOdが高速バスや LAN (Local Area Network) 等により接続 され、端末装置 3a〜3nから通信回線 2を介して入力された電文を、いずれか一つ が主装置、他が従装置として分散処理するように構成されている。 端末装置 3a〜 3πには、 汎用のワークステーション又はパーソナルコンピュータを用いること ができる。  FIG. 1 is a schematic configuration diagram of a distributed electronic message processing system according to one embodiment of the present invention. In 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. 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π.
個々の電文処理装置 10a〜10dは、第 2図に示すように、情報入力部 11、電文振 分処理部 12、 電文処理部 13、 資源記憶部 14、 ロックシーケンス決定部 15、 ロッ ク処理部 16、 ジャーナル取得部 17、 及び情報出力部 18を備えている。 資源記憶 部 14には、各電文処理装置 10a〜; lOdの共有資源であるデータレコードがテープ ル毎に格納されている。 以下、 電文処理装置 10aを主装置、 他の電文処理装置 10 ' 'を従装置として説明する。  As shown in FIG. 2, 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; Hereinafter, 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.
電文処理装置 10aにおいて、情報入力部 11は、通信回線 2から受信情報を入力 して所定データ構造の電文を抽出し、 これを電文振分処理部 12に導く。 In the message processing device 10a, 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.
電文振分処理部 12は、 この入力電文の宛先に応じて該電文を振り分ける。 The message distribution processor 12 distributes the message according to the destination of the input message.
電文処理部 13は、 自己に振り分けられた電文についての所要の処理を実行す る。 さらに、 この処理結果に基づき、更新処理部 131が、 自装置の資源記憶部 14 あるいは他装置の g源記憶部に格納された共有資源の更新を行うとともに、 異常 処理の有無を検出する。 そして、 処 果が異常のときは、 その旨を自律電文保 証部 131に通知する。 自律鬈文保証部 131は、 異常原因を検出して自律的にこれ を除去して更新処理を完遂させる。 この処理については後で詳しく説明する。 共 有資源の更新に際しては、 更新の実行に先立ち、 ロック依頼部 131からロック依 頼を発行する。  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.
ロックシーケンス決定部 15は、 自装置で発行する前記ロック依頼、すなわち共 有資源に対する他プロセスのアクセス禁止の設定を促すための依頼情報を定量化 してその発行順序を決定する。 ロック処理部 16は、 自装置あるいは他装置から 受け付けたロック依頼の妥当性を判定するとともに、 受け付けたロック依頼が正 当のときは、資源記憶部 14内のデータレコードをロックする。 なお、 この口ック の解除は任意の時点で行う。 この場合、 全ての共有資源に対して同時にロック解 除しても良く、 あるいは個別的にロック解除しても良い。  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.
ジャーナル取得部 17は、障害復旧用のジャーナル、即ち、正常処理された更新 情報を取得し記録しておくものである。 情報出力部 18は、 電文処理部 13の処理 結果を編集して、 受け付けた電文の発信元あるいは指定された宛先に出力する。 次に、 本実施例の一つの特徴であるロック.依頼の発行および口ック処理につい て第 3図〜第 5図を参照して詳細に説明する。  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. Next, the issuance of the lock request and the hooking process, which are one feature of the present embodiment, will be described in detail with reference to FIGS.
第 3図は、 ロックシーケンス決定部 15のブロック構成図である。 図示のよう に、 ロックシーケンス決定部 15は、予めデータレコ一ド単位にロック依頼順序を 表すシ一ゲンス番号の基礎となる順序情報を登録するロックシーゲンス設定テー ブル 151と、受け付けた口ック依頼の並び替え(ソ一ト)を行うソート処理部 152 と、 ソートされた順序でロック依頼を出力するとともにその結果をロック処理部 16に通知するロック依頼結果出力部 153とを含んで構成される。 なお、 これら各 部は全ての電文処理装置に共通に含まれ、 自装置内ロック処理あるいは他装置と の間の双方向口ック処理が可能になっている。 FIG. 3 is a block diagram of the lock sequence determining unit 15. As shown in the figure, 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.
ロックシーケンス設定テーブル 151の設定例を第 4図に示す。 第 4図の設定例 は、 便 :ϋ!ι 2つの電文処理装置間のロック依頼及びそれに伴う口ック処理の概念 を示した第 5図の構成に基づくものであり、 特定の電文処理装置を識別するため にユニークに付与されるノード名 A3と、各ノードに対するロック依頼の順序を 表すノード番号と、そのノードに含まれるテーブル名 a〜dと、各テーブルに対す るロック依頼の順序を示すテーブル番号と、 各テーブルに含まれるレコード名ァ 〜コと、 各レコードに対するロック依頼の順序を示すレコ一ド番号とが設定され ている。 なお、 これら内容は例示であって、 個々のノード名等の識別情報、 その 経路情報を含む順序情報は他の形式であっても良いのは勿論である。 このロック シーゲンス設定テーブル 151の内容は、 分散型電文処理システム 1の起動時に各 電文処理装置 10a〜 10dのメモリ上に設定される。  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.
ここで、第 5図に示すように、 2つの電文処理装置 10a,10bのロックシーケンス 決定部 15a,15bから、 それぞれ自装置及び他装置のロック処理部 16a,16bに対し てロック依頼を発行する場合の動作を説明する。 まず、 ロックシーケンス決定部 15aの動作例を第 6図を参照して説明する。 なお、第 6図中、 Sは処理ステップを 示す。  Here, as shown in FIG. 5, 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. First, an operation example of the lock sequence determination unit 15a will be described with reference to FIG. In FIG. 6, S indicates a processing step.
ロックシーケンス決定部 15aは、 自装置のロック依頼部 131から発行される口 ック依頼を受け付ける(S100)。 ロック依頼のフォーマツ 卜は、各ノード上の特定 のデータレコードを指定するため、 上述のノード名 (電文処理装置の識別情報)、 テーブル名 (資源記憶部 14内テーブルの識別情報)、 レコー ド名 (テーブル内 データレコードの識別情報) から構成される。 次にロックシーケンス設定テープ ル 151を参照し、上記受け付けたロック依頼で指定されたノード名、テーブル名、 レコー ド名に対応するノー ド番号、 テーブル番号、 レコー ド番号を取得し (S101)、 ロック順序を表すシーケンス番号を作成する (S102)。 つまり定量化す る。 例えば、" Aaァ" で表現されるレコードに対しては、 ノード名" A"、 テーブル 名 "a"、 レコード名" ァ" からそれぞれノ一ド番号 "1"、テーブル番号" 1"、 レコー ド番号 "Γを取得し、 これによりシーケンス番号" 111" を作成する。 同様に、" Be 力" で表現されるレコードに対しては、 シーケンス番号" 21 Γ を作成する。 ソート処理部 152では、 これらシーケンス番号のソ一トを行い(S103)、未処理 ロック依頼があれば同様の処理を繰り返す (S104)。 未処理ロック依頼がないと きは、 ソ一卜された最先のロック依頼(図示の(1))をロック処理部 16aに対して 発行する (S105)。 そして該依頼に基づく処理の結果をロック処理部 16aから受 け取り (S106)、処理が ^したか否かを判定する (S107)。 β¾ϋ (OK) のときは 未処理口ック依頼が残っているか否かを再び判定し(S108)、残っていれば次の順 位のロック依頼(図示の(2))を例えば他装置のロック処理部 16bに対して発行す る。 以後、 同様の処理を繰り返す。 未処理ロック処理がなくなったときは、 ロッ ク処理の結果報告をロック依頼部 131に出力する (S109)。 なお、 ロック処理の結 果が異常(NG) のときは「異常終了」を表す情報を上記結果報告にセッ 卜して出 力する (S110) o 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). Next, referring to the lock sequence setting table 151, 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. For example, for a record represented by "Aa", the node number "1", the table number "1", the record number "1", and the record number "1" Get the record number "Γ" and create the sequence number "111". Similarly, for the record represented by "Be force", create the sequence number "21 Γ". 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). If β¾ϋ (OK), it is again determined whether or not an unprocessed lock request remains (S108). Issued to lock processing unit 16b. Thereafter, the same processing is repeated. When there is no more outstanding lock processing, a lock processing result report is output to the lock requesting unit 131 (S109). If the result of the lock process is abnormal (NG), information indicating "abnormal termination" is set in the above result report and output (S110) o
次に、 上記電文処理装置 10aにおけるロック処理と並行して他の電文処理装置 10bの口ックシーケンス 15bから" Be力"、" Aaァ" の順序で口ック依頼が発行さ れた場合の動作を、 第 5図を再参照して説明する。  Next, the operation when the acknowledgment request is issued in the order of "Be power" and "Aa" from the hacking sequence 15b of the other message processing device 10b in parallel with the lock processing in the message processing device 10a. Will be described again with reference to FIG.
このロックシーケンス決定部 15bでは、 上記電文処理装置 10aでの処理と同様 に、 ロック依頼シーケンス設定テーブルによりシーケンス番号を決定し、 これを ソート処理部でソートする。 これにより、 ロック依頼は、'' Aaァ", "Be力" のよう にソー卜され、 この順序で(図示の(3) (4) ) それぞれ発行される。 このとき、" Aa ァ" について、 先のロック依頼(1)が既に有効となっていると、 次のロック依頼 (3)は、 先のロック依頼(1)が電文処理装置 10aによって解除されるまで口ック処 理部 16aにて待たされる。 ロックシーケンス.決定部 15bは、 また、 このロック依 頼 (3)がロック処理部 16aにて処理され、 その結果を受信するまで、" Be力" に対 する次のロック依頼 (4)を発行しない。  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).
このように、" Aaァ", "Be力" で表現される、 データレコー ドへの複数のロック 依頼があっても、 各電文処理装置 10a,10bでこれらロック依頼のシーケンス番号 を作成し、 更にこれをソー卜して一定の順序性を付与することで、 デッ ドロック の発生が確実に防止される。 また、 上記各処理は、 テーブル単位のロック処理で はなく、 データレコード単位のロック処理であるため、" Aaァ ","Bc力" で表現さ れるデータレコード以外のデータレコードにアクセスするプロセス (アプリケー シヨンプログラム) については、 その並行処理が可能となる。 なお、 シーケンス 番号は必ずしも数値情報である必要はなく、 文字情報であつても良い。 As described above, even if there are a plurality of lock requests to the data record expressed by "Aa" and "Be force", the sequence numbers of these lock requests are created in each of the message processing devices 10a and 10b. Further, by sorting this to give a certain order, the occurrence of deadlock is reliably prevented. In addition, since each of the above processes is not a lock process for each table but a lock process for each data record, a process for accessing a data record other than the data records represented by “AA” and “Bc force” ( Application Parallel processing can be performed for the program. Note that the sequence number does not necessarily need to be numerical information, but may be character information.
次に、 本実施例の他の特徵である上記自律電文保証部 133について説明する。 この自律電文保証部 133は、 第 7図に示すように、 異常となったデバイス名ゃレ コード番号等を検出して異常箇所を検出する異常箇所検出処理部 233と、 異常の 自己復旧処理を行う異常箇所復旧処理部 333と、 異常箇所の復旧後に再更新処理 を行う再更新処理部 433と、 再更新が成功したか否かを判定する再更新判定処理 部 533とを備えて構成する。  Next, the autonomous message assurance unit 133 as another feature of the present embodiment will be described. As shown in FIG. 7, 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, and a reupdate determination processing unit 533 that determines whether the update has been successful.
異常箇所復旧処理部 333における異常の自己復旧は、例えば、資源記憶部] 4の 障害のときはその格納情報をジャーナル取得部 17のジャーナルと交換して正常 状態に復元し、 プログラムエラ一のときはデバッグ等により修復する。 この自己 復旧とその後の再更新は、電文処理部 13における更新処理(実更新)が正常終了 するまで繰り返し実行される。  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.
次に、 電文処理装置 10aにお t、て共有資源の更新が発生した場合の動作を第 8 図を参照して説明する。  Next, the operation when the shared resource is updated in the message processing device 10a will be described with reference to FIG.
電文処理部 13では電文振分処理部 12から更新対象電文を入力し(S200)、その 内容の妥当性をチェックする。 このチヱックは、 具体的には、 電文が許されたフ ォーマツ 卜をしているか、 あるいは金額情報を含む場合は該金額がマイナスにな る等、 不都合な値でないか等のチヱックである。 チヱックの結果、 異常のときは 処理を終了して次の電文入力を待つ。 チェックが正常のときは、 更新情報を作成 するとともに (S201 )、 ロックシーケンス決定部 15へロック依頼を発行する (S202)。 自装置あるいは他装置の資源記憶部のフアイルを更新する必要のある 電文の場合は、 同時並行して当該資源記憶部を管理する口ック処理部に対して仮 更新依頼を行う (S203)。 他装置への仮更新依頼は、 直接ロック処理部に対して 行っても良く、 あるいは当該装置の電文処理部を介して行っても良い。 関係する 全ての電文処理装置で仮更新が正常に行われたかを判定し (S204)、 一つでも仮 更新を失敗した場合(NO)は、 自装置のロック処理部 16に対して資源記憶部 14の 仮更新取消を依頼するとともに関係する他装置に対しても同時に仮更新取消を依 頼する (S207)。 これにより全装置における更新処理が中止される。 その後、 関 係するロック処理部へロック解除依頼を発行する (S208)。 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).
一方、 S204において仮更新処理が全て正常に行われたとき (YES)は、 ジャーナ ル取得部 17へジャーナル取得依頼を行い (S205)、 その更新情報を障害時復旧情 報としてジャーナルファイルに記録させる。 このとき、 ジャーナルファイルに正 常に記録されたか否かを判定し (S206)、 失敗したときは S207〜S208の処理を 行う。 正常に記録されたときは、 自装置のロック処理部 16あるいは関係する他 装置のロック処理部に対して実更新依頼を行う (S209)。 ^置への実更新依頼 は、 直接その資源記憶部を管理するロック処理部に対して行っても良く、 あるい は当該装置の電文処理部を介して行っても良 t、。  On the other hand, if all of the provisional update processing has been normally performed in S204 (YES), 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. . At this time, it is determined whether or not the data has been normally recorded in the journal file (S206), and if it has failed, the processing of S207 to S208 is performed. When the information is normally recorded, 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.
自装置における実更新が正常に終了したかを判定し (S210)、 何らかの原因で 実更新が正常に終了しなかった場合は、 自律電文保証部 133に通知する (S211)。 自律電文処理部 133は第 7図の構成により異常原因を自律的に解消させて実更新 を完遂させる。 なお、 実更新が他装置で行われる場合は、 当該装置において実更 新の正常終了か否かが判定され、 正常に終了しない場合は当該装置の自律電文処 理部で自律的に異常原因を解消させて実更新を完遂させる。  It is determined whether or not the actual update in the own device has been completed normally (S210). If the actual update has not been completed normally for some reason, a notification is sent to the autonomous message assurance unit 133 (S211). The autonomous message processing unit 133 autonomously eliminates the cause of the abnormality and completes the actual update by the configuration shown in FIG. When the actual update is performed by another device, it is determined whether or not the actual update is completed normally in the device. If the update is not completed normally, the cause of the abnormality is autonomously determined by the autonomous message processing unit of the device. Complete and complete the actual update.
実更新終了後は、情報出力部 18に電文出力を依頼し (S212)、 電文の発信元等に その電文処理結果を送る。 After the actual update is completed, 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.
なお、 自装置あるいは他装置の自律電文処理部において異常箇所を除去でき ず、 正常に実更新ができない場合は、 仮更新取消の場合と同様の手順で更新取消 依頼を行うようにすることもできる。  If the autonomous message processing unit of the own device or another device cannot remove the abnormal part and cannot perform the actual update normally, the update cancellation request can be made in the same procedure as in the case of the temporary update cancellation. .
その後、 ロック処理部 16へロック解除を依頼し (S213)、 更新処理を終える。 このように、 関係する電文処理装置の t、ずれかにおいて最初の実更新依頼に基 づく処理に失敗しても、 当該装置の自律電文保証部が異常原因を除去して資源記 憶部への更新を自律的に完遂するので、 各電文処理装置は他装置からの応答を待 たずにそれぞれ自装置における実更新処理を続行することができる。 これにより 処理効率の低下を防止しつつ、 共有資源の矛盾の発生を有効に回避することがで きる。  After that, the lock processing unit 16 is requested to release the lock (S213), and the update processing ends. In this way, even if the processing based on the first actual update request fails at the relevant message processing device, t, 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.
なお、本実施例では、電文処理装置 10aを主装置、他の電文処理装置 1013 · · ·を 従装置とした 2相コミッ ト方式に基づく分散処理を前提として説明したが、 複数 の電文処理装置がそれぞれ独立のタイミングで自装置宛電文の処理を行うシステ ムについても本発明を適用することができる。 産業上の利用可能性 以上の説明から明かなように、 本発明の分散型電文処理システムでは、 入力電 文の分散処理を行う電文処理装置が、 共有資源に对するロック依頼を発行する際 に、 自装置から当該共有資源までの経路情報及び口ック依頼を定置化するととも にこれらを全装置共通の所定順序で並び替え、 且つ、 一のロック依頼に基づく口 ック処理が終了するまで次順のロック依頼の発行が保留されるので、 処理の並列 実行性を損なうことなくデッ ドロックを確実に防止することができる。 また、 共 有資源に対する複数のロック依頼が発生した場合の順序性確保が容易且つ確実に なり、 その一元的管理が可能となる。 In this embodiment, 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. Since the issuance of the next lock request is suspended, deadlock can be reliably prevented without impairing the parallel execution of processing. In addition, when a plurality of lock requests for a shared resource are generated, the order can be easily and reliably ensured, and centralized management of the order is possible.
更に、 複数の電文処理装置のいずれかで異常が発生しても、 当該装置により異 常原因が除去されて更新処理が完遂されるので、 最初の更新依頼に基づく処理が 自律的に完遂され、 共有資源間の更新同期ずれが確実に防止される。 また、 例え ば 2相コミッ ト方式に基づく分散処理の場合に、 一の電文処理装置が他の電文処 理装置からの応答を待つことなく自装置宛電文の処理及び更新を完遂させること ができるので、 その処理効率が 2相コミ ッ 卜方式を採用する従来システムに比べ て格段に向上する。 さらに、 更新に係わる電文処理装置間の通信が 1回で済むの で通信オーバーへッ ドも抑制される。 本発明の分散型電文処理システムでは、 さ らに、 自装置の異常原因が除去されるまで該異常箇所に対する他装置からのァク セスが制限されるので、 異常情報の発生を有効に防止することができ、 システム 全体の信頼性を向上させることができる。  Furthermore, even if an error occurs in one of the plurality of message processing devices, the cause of the error is removed by the device and the update process is completed, so that the process based on the first update request is completed autonomously. Update synchronization deviation between shared resources is reliably prevented. Also, for example, in the case of distributed processing based on the two-phase commit method, one message processing device can complete processing and updating of a message addressed to its own device without waiting for a response from another message processing device. Therefore, the processing efficiency is significantly improved compared to the conventional system that employs the two-phase commit method. Furthermore, since communication between the message processing devices related to updating only needs to be performed once, communication overhead is suppressed. In the distributed message processing system of the present invention, access to the abnormal location from another device is restricted until the cause of the abnormality of the own device is eliminated, so that occurrence of abnormality information is effectively prevented. And the overall system reliability can be improved.

Claims

請 求 の 範 囲 The scope of the claims
1.入力電文を複数の電文処理装置で分散処理するとともに、 該入力電文の処理結 果に基づ! <、て各電文処理装置が共有する共有資源を更新する分散型電文処理シス テムにおいて、 1. In a distributed message processing system that distributes input messages using multiple message processors and updates the shared resources shared by each message processor based on the processing results of the input messages!
前記入力電文の分散処理を行う電文処理装置が、 更新対象となる前記共有資源 に対する他のプロセスの排他制御依頼を発行する手段と、 自装置から当該共有資 源までの経路情報及び前記排他制御依頼を定 i化してシ一ゲンス情報を生成する 手段と、 前記シ—ゲンス情報を全ての電文処理装置に共通の所定順に並び替えて 前記排他制御依頼と共に順次発行する手段と、 一のシーケンス情報の発行に基づ く当該共有資源の排他制御処理が終了するまで次順のシーゲンス情報の発行を保 留する手段とを備え、 前記共有資源を更新する電文処理装置が、 該更新に先だち 前記シーゲンス情報に基づく所要の排他制御処理を実行する手段を備えることを 特徴とする分散型電文処理システム。  Means for issuing a request for exclusive control of another process for the shared resource to be updated, route information from the own device to the shared resource, and the request for exclusive control. Means for generating the sequence information by converting the sequence information into a predetermined order common to all the message processing devices and sequentially issuing the sequence information together with the exclusive control request. Means for retaining the issuance of the next sequence information until the exclusive control processing of the shared resource based on the issuance is completed, wherein the message processing apparatus for updating the shared resource includes the sequence information prior to the update. And a means for executing a required exclusive control process based on the message.
2.前記共有資源がデ一タレコード単位に設定されており、 前記シーケンス情報を 生成する手段は、 前記経路情報及び排他制御依頼をデータレコード単位で設定し て定量化することを特徴とする請求項 1記載の分散型電文処理システム。 2. The shared resource is set in data record units, and the means for generating the sequence information sets and quantifies the path information and the exclusive control request in data record units. Item 1. The distributed message processing system according to item 1.
3.前記共有資源を更新する電文処理装置は、 前記共有資源の更新が異常終了のと きに異常原因を検出する手段と、 該異常原因を自律的に除去して当該更新を再実 行する手段とを備えることを特徴とする請求項 1記載の分散型電文処理システ ム。 3. The message processing device for updating the shared resource includes: means for detecting a cause of the abnormality when the update of the shared resource is abnormally terminated; and autonomously removing the cause of the abnormality and re-executing the update. 2. The distributed electronic message processing system according to claim 1, further comprising:
4.前記共有資源を更新する電文処理装置は、 異常箇所に対する他プロセスのァク セスを制限する手段を備えることを特徴とする請求項 3記載の分散型電文処理シ ステム。 4. The distributed message processing system according to claim 3, wherein the message processing device for updating the shared resource includes means for restricting access of another process to an abnormal point.
PCT/JP1995/000454 1995-03-17 1995-03-17 Distributed telegraphic message processing system WO1996029651A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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