Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH083810B2 - Shared exclusive control method for resources - Google Patents
[go: Go Back, main page]

JPH083810B2 - Shared exclusive control method for resources - Google Patents

Shared exclusive control method for resources

Info

Publication number
JPH083810B2
JPH083810B2 JP62263801A JP26380187A JPH083810B2 JP H083810 B2 JPH083810 B2 JP H083810B2 JP 62263801 A JP62263801 A JP 62263801A JP 26380187 A JP26380187 A JP 26380187A JP H083810 B2 JPH083810 B2 JP H083810B2
Authority
JP
Japan
Prior art keywords
resource
transaction
journal
user
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP62263801A
Other languages
Japanese (ja)
Other versions
JPH01108667A (en
Inventor
哲 和歌山
一夫 正井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP62263801A priority Critical patent/JPH083810B2/en
Publication of JPH01108667A publication Critical patent/JPH01108667A/en
Publication of JPH083810B2 publication Critical patent/JPH083810B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、資源の共用排他制御方法に係り、特に分散
データベース等複合サブシステム型オンラインシステム
の一部分障害時の障害影響範囲の局所化に好適な資源の
共用排他制御方法に関する。
Description: TECHNICAL FIELD The present invention relates to a shared exclusive control method for resources, and is particularly suitable for localizing a failure influence range when a partial failure occurs in a complex subsystem type online system such as a distributed database. Shared exclusive control method for various resources.

〔従来の技術〕[Conventional technology]

従来のデータベースシステムに用いられている資源の
共用排他制御方法においては、1つのトランザクション
が処理中にアクセスしたレコードは排他資源として当該
トランザクションが完了するまで当該トランザクション
によって保持される。
In the resource shared exclusion control method used in the conventional database system, a record accessed by one transaction during processing is held by the transaction as an exclusive resource until the transaction is completed.

他のトランザクションが既に保持している資源を要求
したトランザクションは、当該資源が解放されるまで待
ち状態となる。これらの排他制御方法に関連するものと
しては、例えば特開昭61−25249号公報や、特開昭61−9
7755号公報等が挙げられる。
A transaction requesting a resource already held by another transaction waits until the resource is released. As for those related to these exclusive control methods, for example, JP-A-61-25249 and JP-A-61-9
7755 publication etc. are mentioned.

〔発明が解決しようとする問題点〕[Problems to be solved by the invention]

上記従来技術は、資源を保存するトランザクション障
害が発生し、当該トランザクションの障害回復処理が遅
延した場合、当該トランザクションの保有する資源を要
求し、既に待ち状態となっているトランザクションや、
障害発生後に当該トランザクションの保有する資源を要
求し待ち状態となるトランザクションの実行の遅延につ
いて配慮がなされておらず、特に分散データベースシス
テムにおいて、接続する相手計算機や通信回線の障害に
よって一部トランザクションの障害回復処理が大巾に遅
延する場合に、システム内で待ち状態におちいるトラン
ザクションが増大し、システム性能が低下するという問
題があった。
In the above conventional technology, when a transaction failure to save resources occurs and the failure recovery processing of the transaction is delayed, a request is made for the resources held by the transaction, and the transaction is already in the waiting state,
No consideration is given to the delay in the execution of a transaction that requests the resources held by the transaction and goes into a wait state after a failure occurs.Particularly, in a distributed database system, some transaction failures may occur due to the failure of the connected partner computer or communication line. When the recovery process is greatly delayed, the number of transactions waiting in the system increases, and the system performance deteriorates.

本発明の目的は、障害などの原因により資源の解放が
遅延する場合にも、システムの他の正常部分への影響を
限定する資源の共用排他制御方法を提供することにあ
る。
An object of the present invention is to provide a shared exclusive control method for resources that limits the influence on other normal parts of the system even when the release of resources is delayed due to a cause such as a failure.

〔問題点を解決するための手段〕[Means for solving problems]

上記目的は、資源の共用排他制御方法における資源状
態として、使用中状態と未使用状態と凍結状態に区分
し、トランザクションの障害回復処理の遅延などによっ
て、資源の解放が遅延する場合に使用中状態にあった資
源を凍結状態に変更し、当該資源を要求して待ち状態に
あるトランザクションの待ち状態を解除し、又、新たに
トランザクションが当該資源を要求して待ち状態になる
ことを防ぐことにより達成される。
The above purpose is to divide the resource status in the shared exclusive control method of resources into the in-use status, the unused status and the frozen status, and when the release of the resource is delayed due to delay of transaction failure recovery processing, the busy status By changing the existing resource to the frozen state, canceling the waiting state of the transaction that requests the resource and is in the waiting state, and prevents a new transaction from requesting the resource and entering the waiting state. To be achieved.

〔作用〕 トランザクションに障害が発生し通常の部分回復処理
による回復処理が実行できず回復処理の遅延が起こった
場合、当該トランザクションの保持する資源を全て凍結
状態とする。
[Operation] When a failure occurs in a transaction and the normal recovery processing cannot be executed and the recovery processing is delayed, all resources held by the transaction are frozen.

資源を凍結状態に変更する場合、既に当該資源を要求
して待ち状態にあるトランザクションがあれば待ち状態
を解除する。凍結状態となった資源に対して新たな使用
要求は、要求したトランザクションを待ち状態とせずに
当該資源が凍結状態にあることを通知する。
When changing a resource to the frozen state, if there is a transaction that has already requested the resource and is in the waiting state, the waiting state is released. A new use request for a resource in the frozen state notifies that the resource is in the frozen state without putting the requested transaction in the waiting state.

これによって、障害回復処理の遅延等による資源解放
の流れによって、外のトランザクションが不用に待ち状
態のまま放置されたり、新たなトランザクションが待ち
状態におちいることを防止できる。
As a result, it is possible to prevent an external transaction from being left in a waiting state unnecessarily or a new transaction being placed in a waiting state due to the flow of resource release due to a delay in failure recovery processing.

〔実施例〕〔Example〕

以下、本発明の一実施例を図面により詳細に説明す
る。
An embodiment of the present invention will be described in detail below with reference to the drawings.

第1図は、本発明を実現する複合サブシステム形オン
ラインシステムの全体構成図を示す。
FIG. 1 shows an overall configuration diagram of a complex subsystem type online system which realizes the present invention.

第1図において、複合サブシステム形オンラインシス
テムは、複数のサブシステムを制御する複合サブシステ
ムコントローラ1(以下単にコントローラと呼ぶ)と、
その配下にある2種類のサブシステム(フロントエンド
形サブシステム2及びバックエンド形サブシステム3)
と、各サブシステムご及びコントローラ用のリカバリフ
ァイル4(以下RFと呼ぶ)と、全サブシステムのジャー
ナルを格納するジャーナルファイル5(以下、JNLFと呼
ぶ)と、全サブシステムの資源状態を管理する資源管理
テーブル6と、トランザクションを管理するトランザク
ション管理テーブル7と、システムの状態を管理するシ
ステムステータステーブル8と、システムステータステ
ーブルの外部記憶装置上の複写として存在するシステム
ステータスファイル9(以下、SYSSFと呼ぶ)から成る
フロントエンド形サブシステム(以下、FEと呼ぶ)は、
オンライン端末10を有し、業務処理の単位であるトラン
ザクションを発生させる。バックエンド形サブシステム
3(以下、BEと呼ぶ)は、データベース11を有し、FE2
の発生させたトランザクションによる要求に従ってデー
タベース11をアクセスする。
In FIG. 1, a composite subsystem type online system is a composite subsystem controller 1 (hereinafter simply referred to as a controller) that controls a plurality of subsystems.
Two types of subsystems under it (front-end subsystem 2 and back-end subsystem 3)
And a recovery file 4 (hereinafter referred to as RF) for each subsystem and controller, a journal file 5 (hereinafter referred to as JNLF) for storing journals of all subsystems, and resource status of all subsystems are managed. A resource management table 6, a transaction management table 7 that manages transactions, a system status table 8 that manages the system status, and a system status file 9 (hereinafter referred to as SYSSF) that exists as a copy of the system status table on an external storage device. Front-end subsystem (hereinafter referred to as FE)
It has an online terminal 10 and generates a transaction which is a unit of business processing. The back-end type subsystem 3 (hereinafter referred to as BE) has a database 11 and FE2
The database 11 is accessed according to the request by the transaction generated.

分散データベースシステムは、他プロセッサからのデ
ータベースアクセス要求を受け自プロセッサ内にトラン
ザクションを発生させて行うFE2の役割(以下分散サー
バと呼ぶ)と、トランザクションからの他プロセッサの
データベースアクセス要求を受けるBE3の役割(以下分
散クライアントと呼ぶ)を合わせて持つサブシステムと
して位置づけられる。従って、複合サブシステム形オン
ラインシステムの一部に分散データベースを考えること
も可能である。
The distributed database system plays the role of FE2 (hereinafter referred to as distributed server), which performs a transaction within its own processor in response to a database access request from another processor, and the role of BE3 which receives a database access request from another processor from a transaction. It is positioned as a subsystem that also has (hereinafter referred to as distributed client). Therefore, it is possible to consider a distributed database as a part of the complex subsystem type online system.

第2図に、リカバリファイル4の構成を示す。RF4
は、サブシステム毎とコントローラ1用が存在しサブシ
ステム又はシステム全体が障害となった際の回復用情報
を格納する外部記憶の総称であり、チェックポイントダ
ンプを格納するチェックポイントファイル410と、テー
ブル回復に使用するテーブルリカバリファイル420と、
トランザクション単位のジャーナルを退避するためのト
ランザクションリカバリファイル430から成る。以下、
チェックポイントファイルをCKPTFと呼び、テーブルリ
カバリファイルをTBLRFと呼び、トランザクションリカ
バリファイルをTRRFと呼ぶ。
FIG. 2 shows the structure of the recovery file 4. RF4
Is a general term for an external storage that stores recovery information when there is a failure in the subsystem or the entire system that exists for each subsystem and for the controller 1, and includes a checkpoint file 410 that stores a checkpoint dump and a table. A table recovery file 420 used for recovery,
It consists of a transaction recovery file 430 for saving the journal in transaction units. Less than,
The checkpoint file is called CKPTF, the table recovery file is called TBLRF, and the transaction recovery file is called TRRF.

第3図に資源管理テーブル6の構成を示す。資源管理
テーブル6は、各FE2ごとにキューイングされたトラン
ザクションノード610と、各BE3ごとにキューイングされ
た資源ノード620と、トランザクションと資源の排他保
持または待ち状態を示す資源排他ノード630から成る。
FIG. 3 shows the structure of the resource management table 6. The resource management table 6 is composed of a transaction node 610 queued for each FE2, a resource node 620 queued for each BE3, and a resource exclusion node 630 indicating a transaction or resource exclusive holding or waiting state.

トランザクションノード610は、トランザクションID
を格納してあるトランザクションID部611と次のトラン
ザクションノードへのリンク612と資源排他ノードへの
リンク613から成る。資源ノード620は、資源名の格納し
てある資源名部621と、資源排他ノードへのリンク622と
次の資源ノードへのリンク623から成る。資源排他ノー
ド630は、資源名部631と同一資源に対して待ちをなして
いる次の資源排他ノードへのリンク632と同一トランザ
クションが保持又は、待っている次の資源に対する資源
排他ノードへのリンク633とトランザクションID部634
と、該資源排他ノード情報がジャーナルとして取得され
ているか否かを示すフラグ635と、該資源排他ノード情
報は、資源を保持しているのか待っているのかを示すフ
ラグ636から成る。
Transaction node 610 is the transaction ID
, A link 612 to the next transaction node, and a link 613 to the resource exclusion node. The resource node 620 includes a resource name section 621 in which a resource name is stored, a link 622 to a resource exclusive node, and a link 623 to the next resource node. The resource exclusion node 630 is a link to a resource exclusion node for the next resource waiting or waiting for the same resource as the link 632 for the next resource exclusion node waiting for the same resource as the resource name part 631. 633 and transaction ID part 634
And a flag 635 indicating whether or not the resource exclusive node information has been acquired as a journal, and a flag 636 indicating whether the resource exclusive node information is held or waiting.

あるトランザクションTR1が資源RS1を保持している場
合、TR1とRS1に対応するトランザクションノード610と
資源ノード620からリンク613とリンク622にて結合され
る資源排他ノード630が存在し、排他保持か待ちかを示
すフラグ636がオンになる。さらに、該資源RS1を待つト
ランザクションTR2が存在する場合、TR1とRS1とリンク
されている資源排他ノードから次の資源排他ノードへの
リンク632が作成され、TR2との間にもリンク613が作成
される。TR2からリンクされる資源排他ノードでは、排
他保持か待ちを示すフラグ636がオフとなる。
When a certain transaction TR 1 holds the resource RS 1 , there is a resource exclusion node 630 that is connected by a link 613 and a link 622 from the transaction node 610 and the resource node 620 corresponding to TR 1 and RS 1 , and is exclusive. The flag 636 indicating whether to hold or wait is turned on. Furthermore, if there is a transaction TR 2 to wait for said resource RS 1, link 632 to the next resource exclusive node is created from resource exclusion nodes linked with TR 1 and RS 1, also between the TR 2 The link 613 is created. In the resource exclusive node linked from TR 2, the flag 636 indicating exclusive holding or waiting is turned off.

該資源管理テーブル6を用いると、リンク632,633を
たどることにより特定のトランザクションの保持する資
源一覧、又は特定の資源を保持しているトランザクショ
ン名が得られる。各排他ノード中には、ジャーナル上に
排他ノード情報が退避されたか否かを示すフラグ635を
持つ。
When the resource management table 6 is used, a list of resources held by a specific transaction or a transaction name holding a specific resource can be obtained by following the links 632 and 633. Each exclusive node has a flag 635 indicating whether exclusive node information has been saved in the journal.

資源管理テーブル6が、サブシステムを通してコント
ローラ1上に一本化されているので、サブシステムダウ
ン時は、排他情報が保持できるだけでなく、サブシステ
ムをまたがったデッドロックの検出が容易となってい
る。
Since the resource management table 6 is unified on the controller 1 through the subsystem, when the subsystem is down, not only exclusive information can be held but also deadlock across subsystems can be easily detected. .

第4図にトランザクション管理テーブル7の構成を示
す。トランザクション管理テーブルには、各FE2がある
時点で発生している全トランザクションが登録される。
FIG. 4 shows the configuration of the transaction management table 7. In the transaction management table, all transactions that have occurred at a certain point in time for each FE2 are registered.

該テーブルには、トランザクションID701(該テーブ
ルのエントリ番号7011と同一エントリを使用するたびに
カウントアップする通番7012から成る)と、発生FE領域
702と、使用BE領域703と、トランザクションステータス
領域710と、トランザクションの回復に必要となるジャ
ーナルへのジャーナルポインタ720と、ジャーナルを格
納するTRRF430の最終ポインタ730と、資源管理テーブル
の排他ノード630へのポインタ740から成るエントリがト
ランザクション単位に存在する。トランザクションステ
ータス領域710には、チェックポイントダンプ取得時の
同期用ビットすなわち影響ビット711と実行監視ビット7
12及びトランザクションの凍結制御用のトランザクショ
ン凍結要フラグ713とロールバック回復を行う必要があ
ることを示すロールバック要フラグ714とトランザクシ
ョンが同期点を通過したか否かを示す同期点フラグ715
とトランザクションが凍結中であることを示す凍結フラ
グ716とトランザクションが同期点準備を通過しかつ同
期点通過前であることを示す同期点準備通過フラグ717
とからなる。
The table includes a transaction ID 701 (consisting of a serial number 7012 that counts up each time the same entry as the entry number 7011 of the table is used), and an occurrence FE area.
702, a BE area 703 used, a transaction status area 710, a journal pointer 720 to a journal required for recovery of a transaction, a final pointer 730 of a TRRF 430 for storing a journal, and an exclusive node 630 of a resource management table. An entry consisting of the pointer 740 exists for each transaction. The transaction status area 710 includes a synchronization bit for acquiring a checkpoint dump, that is, an influence bit 711 and an execution monitoring bit 7.
12 and a transaction freeze required flag 713 for transaction freeze control, a rollback required flag 714 indicating that rollback recovery needs to be performed, and a sync point flag 715 indicating whether or not a transaction has passed the sync point.
And a freeze flag 716 indicating that the transaction is being frozen and a sync point preparation passing flag 717 indicating that the transaction has passed the sync point preparation and has not yet passed the sync point.
Consists of

第5図にシステムステータステーブル8の構成を示
す。システムステータステーブルには、コントローラ1
の状態810と各サブシステムの状態820と、システムのチ
ェックポイント時点のジャーナル通番記録領域815から
成る。
FIG. 5 shows the configuration of the system status table 8. The system status table contains the controller 1
810, the status 820 of each subsystem, and the journal serial number recording area 815 at the time of the system checkpoint.

該システムステータステーブルは更新の都度SYSSFへ
対応エントリを書き出しておき、SYSSFに複写を作って
おく。
Each time the system status table is updated, a corresponding entry is written in SYSSF, and a copy is made in SYSSF.

本実施例で示す複合サブシステム形オンラインシステ
ムでは、障害発生時の回復のために、種々の情報を外部
記憶装置に出力しながら業務処理を進める。回復すべき
資源(データ,情報の総称)は、大きく分けて、次の2
種類がある。
In the composite subsystem type online system shown in the present embodiment, in order to recover in the event of a failure, various kinds of information are output to an external storage device to carry out business processing. Resources to be recovered (general term for data and information) are roughly divided into the following 2
There are types.

(1)仮想記憶装置上のテーブルの様に、障害発生時に
は消失してしまうタイプの揮発性資源 (2)外部記憶装置上のデータベースの様に、障害発生
時にも、一般には障害発生時点の状態を保持したままと
なるタイプの不揮発性資源 障害発生時点で消失する揮発性資源を回復するために
は、定期的に該資源の複写を不揮発性の外部記憶装置に
作成しておく(該複写をチェックポイントダンプと呼
ぶ)。このチェックポイントダンプ取得以降変更の都度
変更の差分情報をジャーナルとして取得しておき、チェ
ックポイントダンプに該ジャーナル情報を重畳すること
で回復が行える。このタイプのジャーナルを履歴形ジャ
ーナルと呼ぶ。
(1) A volatile resource of a type that disappears when a failure occurs, such as a table on a virtual storage device (2) Generally, even when a failure occurs, such as a database on an external storage device, the state at the time of the failure occurrence A non-volatile resource of the type that retains the same. In order to recover the volatile resource that disappears when a failure occurs, a copy of the resource is created in a non-volatile external storage device on a regular basis. Checkpoint dump). Each time the change is made after the checkpoint dump is acquired, the difference information of the change is acquired as a journal, and the journal information is superimposed on the checkpoint dump, whereby the recovery can be performed. This type of journal is called a history journal.

障害発生時点の状態が保持される不揮発性資源を回復
するには、変更の都度ジャーナルを取得する。回復時に
は、業務処理単位であるトランザクション毎に更新を完
結させるか、更新を無効にするかを判断し、変更の都度
取得したジャーナルの変更後情報を重畳するか、変更前
情報を重畳するかで回復を行う。このタイプのジャーナ
ルをトランザクション形ジャーナルと呼ぶ。
To recover the non-volatile resource that retains the state at the time of failure, a journal is acquired each time a change is made. At the time of recovery, it is determined whether the update is completed or invalidated for each transaction, which is a unit of business processing, and the post-change information or the pre-change information of the journal acquired each time is changed is superimposed. Make a recovery. This type of journal is called a transaction journal.

本実施例のシステムでは、障害回復に備えて、データ
ベース更新、テーブル更新に先立ってジャーナル出力を
行う。ジャーナル出力は、コントローラ配下の機能を用
いて、各サブシステムを統合して一つのJNLF5に対して
行う。JNLF5を統合することは、複合サブシステムを運
転する際の操作性向上に大きく寄与する。ジャーナル取
得の方式を以下に説明する。
In the system of the present embodiment, journal output is performed prior to database update and table update in preparation for failure recovery. Journal output is performed for one JNLF5 by integrating each subsystem using the function under the controller. The integration of JNLF5 will greatly contribute to the improvement of operability when operating the composite subsystem. The journal acquisition method will be described below.

ジャーナルは、データベース更新,テーブル更新前に
必ず取得する。ジャーナル取得前に変更を行うと、変更
後、ジャーナル取得前に障害が発生した場合に回復でき
なくなる。
The journal is always acquired before updating the database or updating the table. If a change is made before journal acquisition, recovery will not be possible if a failure occurs before journal acquisition after the change.

トランザクションの終了に際して、該トランザクショ
ンの全ジャーナルを出力した後に、全ジャーナルが出力
済すなわち同期点を示すジャーナル(以下同期点ジャー
ナルと呼ぶ)を出力する。
At the end of the transaction, after outputting all the journals of the transaction, all journals are output, that is, a journal indicating a synchronization point (hereinafter referred to as a synchronization point journal) is output.

この同期点ジャーナルがジャーナルとして存在するト
ランザクションでは、不揮発性資源の回復に必要となる
すべてのトランザクション形ジャーナルが存在するた
め、該トランザクションの処理を完結させる方向の回復
が行える。それに対し、同期点ジャーナルが存在しない
トランザクションでは、全ジャーナルが出力されている
保証はないが、変更前には必ずジャーナルを出力してい
るため、存在するジャーナルの変更前情報を用いて、該
トランザクションを無効とする方向の回復が行える。
In the transaction in which the synchronization point journal exists as a journal, all transaction-type journals necessary for recovering the non-volatile resource exist, so that recovery in the direction of completing the processing of the transaction can be performed. In contrast, there is no guarantee that all journals are output in a transaction that does not have a sync point journal. However, since a journal is always output before a change, the transaction is updated using the pre-change information of the existing journal. Can be recovered in the direction of invalidating.

トランザクションが完結した後に、トランザクション
終了を示すジャーナルを取得する。該終了を示すジャー
ナルを終了ジャーナルと呼ぶ。該ジャーナルが出力され
た後は、トランザクション形ジャーナルによる回復は不
要となる。
After the transaction is completed, the journal indicating the transaction end is acquired. The journal indicating the end is called an end journal. After the journal is output, recovery by the transactional journal becomes unnecessary.

分散データベースの場合には、一つのトランザクショ
ンが自システム内のデータベースと他プロセッサ内のデ
ータベースを更新するため、プロセッサ間にまたがって
データベース更新の同期が必要となる。分散データベー
スの場合のジャーナル取得の方式を以下に説明する。
In the case of a distributed database, one transaction updates a database in its own system and a database in another processor, so that it is necessary to synchronize database updates across processors. The method of journal acquisition in the case of a distributed database will be described below.

トランザクションの終了に際して、まず分散クライア
ント側の全ジャーナルが出力される。この時点で分散ク
ライアント側から分散サーバ側に全ジャーナルの出力指
示(以下、これを同期点準備指示と呼ぶ)を行う。分散
サーバ側では該指示を受け全ジャーナルの出力後に同期
点準備が完了したことを示すジャーナル(以下、これを
同期点準備ジャーナルと呼ぶ)を出力する。該ジャーナ
ルの出力完了後、分散サーバは分散クライアントに同期
点準備の完了を報告する。分散クライアント側では、該
トランザクションの自システム内の全ジャーナルの出
力、及び要求を出した全ての他プロセッサの分散サーバ
から同期点準備完了報告を受けた後、同期点ジャーナル
を出力する。同期点ジャーナルの出力が完了した後、分
散クライアントは自システム内のデータベースの更新を
行い、分散サーバに対し該トランザクションが同期点に
達した旨の指示(以下、これを同期点指示と呼ぶ)を行
う。分散サーバは、同期点指示を受けると、まず同期点
ジャーナルを出力した後、バッファ上に残る該トランザ
クションのデータベース更新を完了させる。その後終了
ジャーナルを出力し、出力が完了後、分散クライアント
にトランザクション完了を報告する。分散クライアント
側では、自システム内のデータベースの更新、及び指示
を出した全ての分散サーバから完了報告を受けた後、終
了ジャーナルを出力する。
At the end of the transaction, first, all journals on the distributed client side are output. At this point, the distributed client issues an instruction to output all journals to the distributed server (hereinafter, this is referred to as a synchronization point preparation instruction). The distribution server receives the instruction and outputs a journal indicating that synchronization point preparation is completed after outputting all journals (hereinafter, this is referred to as a synchronization point preparation journal). After the output of the journal is completed, the distributed server reports the completion of the synchronization point preparation to the distributed client. On the distributed client side, after receiving all the journals in the own system of the transaction and the sync point preparation completion report from the distributed servers of all the other processors that have issued the request, the sync point journal is output. After the output of the synchronization point journal is completed, the distributed client updates the database in its own system, and issues an instruction to the distributed server that the transaction has reached the synchronization point (hereinafter, this is referred to as a synchronization point instruction). Do. Upon receiving the sync point instruction, the distributed server first outputs the sync point journal and then completes the database update of the transaction remaining in the buffer. After that, the end journal is output, and after the output is completed, the completion of the transaction is reported to the distributed client. The distributed client outputs the end journal after updating the database in its own system and receiving completion reports from all distributed servers that have issued the instruction.

分散クライアント側では、同期点ジャーナルが存在す
れば、該トランザクションを有効とする方向の回復を行
い、なければ無効とする方向の回復を行うことができ
る。分散サーバ側では、同期点準備ジャーナルと同期点
ジャーナルが存在すれば、該トランザクションを有効と
する方向の回復を行い、同期点ジャーナル及び同期点準
備ジャーナルのいずれも存在しない場合には、該トラン
ザクションを無効とする方向の回復を行う。同期点準備
ジャーナルだけが存在する場合には、分散クライアント
側の同期点ジャーナルの有無を調べ、それに従えば回復
を行うことができる。
On the distributed client side, if the sync point journal exists, recovery can be performed in the direction in which the transaction is valid, and recovery can be performed in the direction in which the transaction is invalid. On the distributed server side, if the synchronization point preparation journal and the synchronization point journal exist, the recovery is performed in the direction in which the transaction is valid. If neither the synchronization point journal nor the synchronization point preparation journal exists, the transaction is restored. Perform recovery in the direction of invalidation. If only the synchronization point preparation journal exists, the presence or absence of the synchronization point journal on the distributed client side is checked, and recovery can be performed according to it.

なお、該プロセッサ内で独自のジャーナルファイルを
持ちジャーナルを取得する従来形オンラインシステムを
複合サブシステム形オンラインシステムに接続し、該オ
ンラインシステム下で実行するトランザクションから、
複合サブシステム形オンラインのBEのデータベースを更
新する場合、該オンラインシステムを分散サーバと同様
の一つのFEとして扱い、前述のジャーナル取得方式を用
いることにより該オンラインシステム内のデータベース
更新と複合サブシステム形オンラインシステムのBEのデ
ータベース更新の同期をとった回復ができる。
A conventional online system that has its own journal file in the processor and acquires a journal is connected to a complex subsystem type online system, and a transaction executed under the online system is
In the case of updating the database of the BE of the combined subsystem type online, treat the online system as one FE similar to the distributed server, and use the above-described journal acquisition method to update the database in the online system and the combined subsystem type. Synchronized recovery of online system BE database updates.

本実施例では、回復すべきテーブルを定期的にチェッ
クポイントダンプとしてサブシステム毎に取得し、同時
点にてトランザクション形ジャーナルをTRRFに退避す
る。各情報取得の方式を以下に説明する。
In this embodiment, the table to be recovered is periodically acquired as a checkpoint dump for each subsystem, and the transaction journal is saved in TRRF at the same time. The method of acquiring each information will be described below.

第6図,第7図,第8図にチェックポイントダンプ取
得の概念と取得の流れ図を示す。
The concept of checkpoint dump acquisition and the flow chart of the acquisition are shown in FIGS. 6, 7, and 8.

第6図に示すように、各サブシステム2,3は、定期的
に仮想記憶装置上にチェックポイント対象テーブル411
の内容をCKPTF410へ格納する。チェックポイントダンプ
格納中にCKPTE410に障害が発生しても回復が行える様に
CKPTF410は世代管理を行う。システムの障害発生後の回
復時には、最新世代のCKPTF410上の情報と、JNLF5に格
納されているチェックポイント時点以降の更新情報を重
畳して行くことにより、テーブルが回復できる。チェッ
クポイントダンプを定期的に取得することは、障害発生
後の回復時に必要となるジャーナル情報を限定すること
になり、回復時に入力するジャーナル量の削減と回復時
間の短縮化の効果がある。
As shown in FIG. 6, each of the subsystems 2 and 3 regularly checks the checkpoint target table 411 on the virtual storage device.
Is stored in CKPTF410. Enabled to recover even if CKPTE410 fails while storing checkpoint dump
CKPTF410 manages generations. At the time of recovery after a system failure, the table can be recovered by superimposing the information on the latest generation CKPTF410 and the update information after the checkpoint stored in JNLF5. Acquiring a checkpoint dump periodically limits the journal information required at the time of recovery after a failure has occurred, which has the effect of reducing the amount of journals input during recovery and shortening the recovery time.

チェックポイントダンプ取得は、各サブシステムで行
うが、この際、当該サブシステムを使用する業務処理を
停止させない。このため、更新中のテーブルをチェック
ポイントダンプとして取得する可能性がある。更新中の
テーブル情報をチェックポイントダンプに取得しても、
該更新に対応するジャーナルがチェックポイント時点以
降に取得されていれば、チェックポイントダンプ取得完
了後は、チェックポイント時点以前の履歴形ジャーナル
情報を必要としない。
The checkpoint dump is acquired by each subsystem, but at this time, the business process using the subsystem is not stopped. Therefore, the table being updated may be acquired as a checkpoint dump. Even if the table information being updated is acquired in the checkpoint dump,
If the journal corresponding to the update is acquired after the checkpoint time point, the history journal information before the checkpoint time point is not required after the checkpoint dump acquisition is completed.

テーブルの更新と対応するジャーナル取得が完了する
タイミング410eは、トランザクションごとにまちまちで
あり同期していない。またチェックポイントダンプ取得
にも有限の時間がかかる。このため、チェックポイント
ダンプは、第7図に示すようにチェックポイント時点41
0aとチェックポイントダンプ取得開始時点410b,取得終
了時点410c、及びチェックポイントダンプ有効時点410d
の4つの時点を分けて取得する。チェックポイントダン
プを取得する必要が発生すると、まずチェックポイント
時点410aの宣言を行う。該時点で更新中のテーブル情報
に対応するジャーナルは、チェックポイント時点410a以
前に取得されている可能性があるのでまだチェックポイ
ントダンプ取得を開始できない。そこで、チェックポイ
ント時点410aで更新中の処理がすべて更新処理を完了し
た時点まで待ち、完了後チェックポイントダンプ取得開
始を行う。チェックポイントダンプ取得が完了しても、
まだ更新に対応するジャーナルが出力されていない可能
性があるので、チェックポイントダンプ取得終了時点41
0cに更新中の処理に対応するジャーナルがすべて出力さ
れた時点まで待ち、出力完了後、チェックポイントダン
プ有効時点410dとする。チェックポイントダンプ有効時
点410dを経過する以前に障害が発生した場合には、当該
チェックポイントダンプは使用せず、一世代前のチェッ
クポイントダンプによる回復を行う。
The timing 410e at which the update of the table and the acquisition of the corresponding journal are completed varies depending on the transaction and is not synchronized. Also, it takes a finite time to acquire a checkpoint dump. Therefore, the checkpoint dump is stored at the checkpoint time 41 as shown in FIG.
0a, checkpoint dump acquisition start time 410b, acquisition end time 410c, and checkpoint dump effective time 410d
Are obtained separately for the four time points. When it is necessary to obtain a checkpoint dump, first declare the checkpoint point 410a. Since the journal corresponding to the table information being updated at that time may have been acquired before the checkpoint time 410a, the checkpoint dump acquisition cannot be started yet. Therefore, the process waits until all the processes being updated at the checkpoint time point 410a have completed the update process, and after the completion, the acquisition of the checkpoint dump is started. Even if the checkpoint dump acquisition is completed,
Since the journal corresponding to the update may not have been output yet, checkpoint dump acquisition end time 41
Wait until the time when all the journals corresponding to the process being updated to 0c are output, and after the output is completed, the checkpoint dump effective time is set to 410d. If a failure occurs before the checkpoint dump valid point 410d has elapsed, the checkpoint dump is not used and recovery is performed using the checkpoint dump of the previous generation.

本実施例では、第8図に示す流れに従ってチェックポ
イントダンプを取得する。まず、コントローラ1は、一
定のジャーナル出力件数に到達するとチェックポイント
ダンプ取得タスク412を起動する。起動されたタスク412
は、チェックポイント時点でのジャーナル通番をコント
ローラの管理する仮想記憶上にチェックポイント時点ジ
ャーナル通番815として記憶しチェックポイント取得開
始待ちとなる。チェックポイント取得開始が可能となる
と、各サブシステムにチェックポイントダンプ取得指示
を行う。各サブシステムは、チェックポイントダンプ取
得指示に従い、チェックポイントダンプを各サブシステ
ムのCKPTF410に取得する。取得が完了するとコントロー
ラに取得完了報告を行う。コントローラは、各サブシス
テムの取得完了報告を確認した後、チェックポイントダ
ンプ有効化待ちとなる。チェックポイントダンプ有効化
が可能になると、当該CKPTF410とSYSSF9に有効ビットを
記録して、チェックポイントダンプ取得を終了し、次の
取得タイミングまで待ちとなる。
In this embodiment, a checkpoint dump is acquired according to the flow shown in FIG. First, the controller 1 activates the checkpoint dump acquisition task 412 when a certain number of journal output items is reached. Launched task 412
Stores the journal serial number at the checkpoint as a checkpoint journal serial number 815 in the virtual memory managed by the controller, and waits for the start of checkpoint acquisition. When it becomes possible to start the checkpoint acquisition, it issues a checkpoint dump acquisition instruction to each subsystem. Each subsystem acquires the checkpoint dump in the CKPTF410 of each subsystem according to the checkpoint dump acquisition instruction. When the acquisition is completed, an acquisition completion report is sent to the controller. After confirming the acquisition completion report of each subsystem, the controller waits for checkpoint dump activation. When the checkpoint dump can be enabled, the valid bit is recorded in the CCKTF410 and SYSSF9, the checkpoint dump acquisition ends, and the process waits until the next acquisition timing.

ここで、チェックポイントダンプ取得開始待ちと、チ
ェックポイントダンプ有効化待ちは、同一の方式を用い
る。本方式を第9図を用いて説明する。
Here, the same method is used for the waiting for the start of checkpoint dump acquisition and the waiting for the checkpoint dump activation. This method will be described with reference to FIG.

第8図において、各トランザクションは、チェックポ
イント対象となっているテーブル更新を含む機能を使用
する際には、トランザクション管理テーブル7上の影響
フラグ711をオンにし、機能使用終了時に影響フラグ711
及び実行監視フラグ712をオフにする。本フラグ操作
は、処理ルーチンへ渡る際の共通ルーチンにて行う。な
お共通ルーチンを経由しない場合、各サブシステムの処
理で開始、終了を宣言する方式をとればよい。
In FIG. 8, each transaction turns on the influence flag 711 on the transaction management table 7 when using the function including the table update that is the checkpoint target, and turns on the influence flag 711 at the end of the function use.
Then, the execution monitoring flag 712 is turned off. This flag operation is performed in a common routine when passing to the processing routine. When the common routine is not used, a method of declaring start and end in the processing of each subsystem may be adopted.

第10図においてコントローラ内のチェックポイントダ
ンプ取得タスク412でチェックポイントダンプ開始待ち
又は、有効化待ちを開始するには、トランザクション管
理テーブル7上の全トランザクションについて影響フラ
グ711がオンであれば実行監視フラグ712をオフにする。
その後タイマで待ち、起動されるたびにすべての実行監
視フラグ712がオフになっているかどうかをチェックす
る。すべての実行監視フラグ712がオフになれば、待ち
を開始する時点にテーブル更新を含む処理がすべて終了
した事になる。
In FIG. 10, the checkpoint dump acquisition task 412 in the controller starts the checkpoint dump start wait or the activation wait, if the influence flag 711 is ON for all transactions in the transaction management table 7, the execution monitoring flag Turn off the 712.
After that, it waits with a timer, and every time it is activated, it is checked whether all execution monitoring flags 712 are turned off. If all the execution monitoring flags 712 are turned off, it means that all the processing including the table update is completed at the time of starting the waiting.

チェックポイントダンプ出力時には、後述するジャー
ナルポインタ情報の退避や、資源管理テーブルの論理情
報の退避を行い、チェックポイント時点以前のジャーナ
ル情報や資源管理情報がなくても、回復できるようにす
る。また、トランザクション管理テーブルは、チェック
ポイントダンプ対象テーブルとなっており、回復ができ
る。資源管理テーブルの論理情報の退避は、第11図に示
す資源管理論理情報テーブル750という形式にして行
う。該論理情報テーブルは資源管理テーブル中の全資源
に対し、該資源を保持しているトランザクションのトラ
ンザクションID701を第3図に示す資源管理テーブル6
の資源ノード620から資源排他ノードへのリンク622をた
どることにより資源排他ノード630を求め資源名751とト
ランザクションID752をペアにして格納することで作成
する。この時出力すべきペアは、チェックポイント時点
以前に資源保持情報をジャーナルに出力したものであ
り、チェックポイント時点以降の資源保持情報は、後述
する様にジャーナルから回復する。
When a checkpoint dump is output, the journal pointer information, which will be described later, and the logical information in the resource management table are saved so that recovery can be performed without the journal information or resource management information before the checkpoint. Further, the transaction management table is a checkpoint dump target table and can be recovered. The saving of the logical information of the resource management table is performed in the format of the resource management logical information table 750 shown in FIG. In the logical information table, for all the resources in the resource management table, the transaction ID 701 of the transaction holding the resource is indicated by the resource management table 6 shown in FIG.
The resource exclusive node 630 is obtained by tracing the link 622 from the resource node 620 to the resource exclusive node, and is created by storing the resource name 751 and the transaction ID 752 as a pair. The pair to be output at this time is the resource holding information output to the journal before the checkpoint time point, and the resource holding information after the checkpoint time point is recovered from the journal as described later.

ジャーナルを外部記憶装置上のJNLF5に出力する際、
出力するバッファ上に存在する全てのトランザクション
形ジャーナルについて、第12図に示す形式のジャーナル
ポインタ720を作成しトランザクション管理テーブルの
該当トランザクションエントリに退避する。該ポインタ
720は、ジャーナルの通番721とJNLF5のファイル名722及
びファイルの先頭からの相対ブロック番号723をから成
り、該ポインタを用いることにより、必要な時点に当該
トランザクションで出力したジャーナルを得ることがで
きる。障害発生時、コントローラ1がダウンしていなけ
れば、トランザクション回復時には、該ジャーナルポイ
ンタでダイレクトにジャーナルを得ることができる。
When outputting the journal to JNLF5 on the external storage device,
A journal pointer 720 having the format shown in FIG. 12 is created for all the transaction type journals existing on the output buffer, and the journal pointer 720 is saved in the corresponding transaction entry in the transaction management table. The pointer
720 includes a serial number 721 of the journal, a file name 722 of JNLF5, and a relative block number 723 from the beginning of the file. By using the pointer, the journal output by the transaction at a necessary time can be obtained. If the controller 1 is not down when a failure occurs, the journal can be directly obtained by the journal pointer when the transaction is recovered.

チェックポイントダンプ出力時には、チェックポイン
トダンプ有効時点410dの時点で存在するトランザクショ
ンに関して、有効化に先だち、ジャーナルポインタ720
を用いてジャーナルをJNLF5から読み出し、トランザク
ションリカバリファイル430へ退避しておく。退避すべ
きか否かは、トランザクションテーブル7中のジャーナ
ルポインタ720にあるジャーナル通番721を参照し、チェ
ックポイント時点410aのジャーナル通番815より以前の
番号であれば、退避を行い、以降であればチェックポイ
ントダンプ時点以降のJNLF5中に存在するジャーナルな
ので退避しない。
At the time of checkpoint dump output, for the transaction existing at the time of checkpoint dump validity point 410d, the journal pointer 720
The journal is read from JNLF5 by using and the transaction recovery file 430 is saved. To determine whether or not to save, refer to the journal serial number 721 in the journal pointer 720 in the transaction table 7, if the number is prior to the journal serial number 815 at the checkpoint point 410a, save it, and if it is later, checkpoint It is not saved because it is a journal that exists in JNLF5 after the dump.

本実施例では、トランザクションの開始に先立ち、各
トランザクションにTRRF430の一定領域を割り当てる。
In this embodiment, a fixed area of TRRF 430 is assigned to each transaction prior to the start of the transaction.

退避を行う場合、一世代前のチェックポイント時点に
退避したTRRF430中の情報を失うことのないように、ト
ランザクションテーブル7中のTRRF最終ポインタ730か
ら追加書きを行う。ここでTRRF最終ポインタ730は、ト
ランザクション発生時に該トランザクションに割り当て
たTRRF中の領域の先頭を指し、以降ジャーナル退避を行
う都度更新して、常にTRRF中の該トラザクションに割り
当てた領域の最終を指すポインタである。
When saving, the additional writing is performed from the TRRF last pointer 730 in the transaction table 7 so as not to lose the information in the TRRF 430 saved at the checkpoint one generation before. Here, the TRRF final pointer 730 points to the beginning of the area in the TRRF allocated to the transaction when the transaction occurs, is updated each time the journal is saved thereafter, and always points to the end of the area allocated to the transaction in the TRRF. It is a pointer.

ジャーナル情報をTRRF430に退避することにより、チ
ェックポイントダンプ取得以降は、チェックポイント時
点以前から長期化しているトランザクションの回復にも
チェックポイント時点以前のジャーナルは不要となる。
TRRF430は、トランザクション単位のエントリに整理さ
れているので、トランザクション単位の回復時にも該TR
RF430とチェックポイント時点以降のジャーナルで回復
に必要なデータが容易にそろう。
By saving the journal information to the TRRF430, after the checkpoint dump is acquired, the journal before the checkpoint time is not necessary for the recovery of transactions that have been prolonged from before the checkpoint time.
The TRRF430 is organized into transaction-based entries, so the TR
It's easy to get the data needed for recovery in the RF430 and journals after the checkpoint.

さらに、トランザクション形ジャーナル出力時には、
資源保持情報も同時に出力する。これは、トランザクシ
ョン形ジャーナルを出力する際に、当該トランザクショ
ンの保有している資源を、資源管理テーブル6のトラン
ザクションノード610から資源排他ノード630をたどるこ
とにより求め、該資源保持情報を第11図に示す資源管理
論理情報のエントリと同様の形式でトランザクション形
ジャーナルに付加して出力することで行う。
Furthermore, at the time of transaction type journal output,
The resource holding information is output at the same time. This is because when the transaction type journal is output, the resource possessed by the transaction is obtained by tracing the resource exclusion node 630 from the transaction node 610 of the resource management table 6, and the resource holding information is shown in FIG. This is done by adding to the transaction journal and outputting in the same format as the entry of the resource management logic information shown.

障害発生後の回復時には、CKPTF410中のチェックポイ
ントダンプとして保持されていた資源管理論理情報テー
ブルとしてトランザクション形ジャーナルと共にJNLF5
に出力した資源保持情報から資源確保処理をくり返すこ
とにより資源管理テーブルが回復できる。
JNLF5 together with the transaction journal as the resource management logical information table retained as a checkpoint dump in CKPTF410 during recovery after a failure
The resource management table can be recovered by repeating the resource securing process from the resource holding information output to.

このため、データベースを全面閉塞すなわち、データ
ベースに対するアクセスを全面禁止するのではなく限定
した範囲(使用していた部分だけ)を閉塞すれば済み、
一部サブシステムがダウンしていたり、一部トランザク
ションの決着がつかない場合にも、オンラインシステム
を立上げることができる。
For this reason, it is sufficient to block the database entirely, that is, to block a limited range (only used portions) instead of completely prohibiting access to the database,
If some subsystems are down or some transactions cannot be finalized, the online system can be started.

複合サブシステム形オンラインシステム全体が障害と
なった時の回復を全面回復と呼び、特定のサブシステム
だけ障害となった際の回復をサブシステム回復と呼ぶ。
以下、複合サブシステム形オンラインシステムの全面回
復、サブシステム回復について説明する。
Recovery when an entire composite subsystem type online system fails is called full recovery, and recovery when only a specific subsystem fails is called subsystem recovery.
The full recovery and the subsystem recovery of the composite subsystem type online system will be described below.

第1に、複合サブシステム形オンラインシステムの全
面回復の流れを第13図から第17図を用いて説明する。全
面回復では、まずコントローラ1の機能を回復する。そ
の後各サブシステムの回復を行うが一部のサブシステム
機能が回復できなくても当該機能を縮退したままシステ
ムを再開できる。コントローラ1の機能回復は、まずSY
SSF9からコントローラ用CKPTF410を決め、該CKPTF410か
らコントローラ内のトランザクション管理テーブル7を
回復する。又、資源管理論理情報テーブル750も回復す
る。なお、コントローラ用CKPTF410を読むことにより、
現在の最新チェックポイント時点のジャーナル通番及び
該ジャーナル通番のジャーナルに対するジャーナルポイ
ンタ815が決まる。
First, the flow of full recovery of the combined subsystem type online system will be described with reference to FIGS. 13 to 17. In the full recovery, the function of the controller 1 is first recovered. After that, each subsystem is restored, but even if some subsystem functions cannot be restored, the system can be restarted with the functions degraded. To recover the function of controller 1, first SY
The controller CCKPTF410 is determined from the SSF9, and the transaction management table 7 in the controller is recovered from the CCKTF410. Also, the resource management logical information table 750 is restored. By reading CKPTF410 for controller,
The journal serial number at the current latest checkpoint and the journal pointer 815 for the journal having the journal serial number are determined.

次に、第14図に示すように最新チェックポイント時点
のジャーナルポインタ815で指す位置からJNLF5を順に読
む。読み出されたジャーナルは、コントローラの出力し
た履歴形ジャーナルであれば、第15図の流れに従いトラ
ンザクション管理テーブル7や、資源管理論理情報テー
ブル750更新情報として使用し、各テーブルを障害発生
時点の状態に回復して行く。コントローラ以外が出力し
た履歴形ジャーナルは、出力サブシステムのTBLRF420へ
出力する。トランザクション形ジャーナルの場合は、ト
ランザクション管理テーブル7の該当するトランザクシ
ョンエントリのジャーナルポインタ720の領域にジャー
ナルポインタ形式で格納して行く。トランザクション管
理テーブル7の各トランザクションのエントリは、同期
点ジャーナルが見つかれば同期点通過ステータスを同期
点通過フラグ715をオンにすることで記録し終了ジャー
ナルが見つかれば、該エントリを削除する。
Next, as shown in FIG. 14, JNLF5 is sequentially read from the position pointed by the journal pointer 815 at the latest checkpoint. If the read journal is a history journal output by the controller, it is used as the update information of the transaction management table 7 or the resource management logical information table 750 according to the flow of FIG. 15, and each table is in the state at the time of failure occurrence. To recover. The history journal output from other than the controller is output to the output subsystem TBLRF420. In the case of a transaction type journal, it is stored in the area of the journal pointer 720 of the corresponding transaction entry in the transaction management table 7 in the journal pointer format. The entry of each transaction in the transaction management table 7 is recorded by turning on the sync point passage flag 715 when the sync point journal is found, and deleted when the end journal is found.

分散データベースの分散サーバ側のように同期点準備
ジャーナルが存在する場合、同期点準備ジャーナルが見
つかれば、まず同期点準備通過フラグ717をオンにする
ことで同期点準備状態であることを記録する。同期点ジ
ャーナルが見つかれば、同期点準備通過フラグ717をオ
フにし、同期点通過フラグ715をオンにする。終了ジャ
ーナルが見つかれば、該エントリを削除する。
When the sync point preparation journal exists like the distributed server side of the distributed database, if the sync point preparation journal is found, the sync point preparation passing flag 717 is first turned on to record the sync point preparation state. If a synchronization point journal is found, the synchronization point preparation passage flag 717 is turned off and the synchronization point passage flag 715 is turned on. If the end journal is found, the entry is deleted.

ジャーナル読み込みが完了した時点では、各サーブシ
ステムの履歴形ジャーナルは、サブシステムエごとのTB
LRF420に分類されて出力されてある。トランザクション
管理テーブル7は、障害発生時点まで回復されており、
障害発生時点で存在したトランザクションだけが登録さ
れてある。この時点でトランザクション管理テーブル7
中の全トランザクションの凍結要フラグをオンにしてお
く各トランザクションごとのエントリは、ジャーナルポ
インタ720領域を含めて回復されてある。
When the journal reading is completed, the history journal of each serve system is TB for each subsystem.
It is classified into LRF420 and output. The transaction management table 7 has been recovered up to the point of failure,
Only the transactions that existed at the time of failure were registered. Transaction management table 7 at this point
The entry for each transaction for which the freeze-necessity flag of all the transactions therein is turned on is recovered including the journal pointer 720 area.

資源管理論理情報についても、最新のチェックポイン
ト時点の状態と、それ以降の更新情報がすべてそろって
いる。ジャーナルの読み込みが完了すると、資源管理論
理情報をもとに、資源確保,解放操作をくり返すことに
よって資源管理テーブル6を回復する。さらに回復され
た資源管理テーブルの全排他ノード630について凍結状
態にする。凍結状態になった資源に対して新たに資源確
保を行うと、凍結状態のため、排他ノード630を作るこ
とをせずに、資源確保要求が失敗する。従って資源管理
テーブルを凍結状態にすることで、障害発生時に使用し
ていた資源を一時的に使用禁止状態にすることができ、
新たなトランザクションが発生しても、使用可能な資源
だけで動作できるならば、実行ができ使用不可の資源を
必要とするならばエラーとして扱われ長時間待つことが
ない。すなわち、資源管理テーブル6の回復と凍結が済
んだ時点でコントローラ1としての回復は終了する。こ
の時点で、システムレディのメッセージを出力するがま
だサブシステムが回復されていないので、複合サブシス
テム型オンラインシステム全体としては、動作を開始し
ない。
As for the resource management logical information, the state at the time of the latest checkpoint and the updated information after that point are all available. When the reading of the journal is completed, the resource management table 6 is recovered by repeating the resource securing and releasing operations based on the resource management logical information. Further, all the exclusive nodes 630 in the recovered resource management table are frozen. If a new resource is secured for the resource in the frozen state, the resource securing request fails without creating the exclusive node 630 because of the frozen state. Therefore, by freezing the resource management table, the resources used at the time of failure can be temporarily disabled.
Even if a new transaction occurs, if it can operate only with available resources, it can be executed and if an unusable resource is required, it is treated as an error and does not wait for a long time. That is, the recovery as the controller 1 ends when the resource management table 6 is recovered and frozen. At this point, a system ready message is output, but the subsystem has not been recovered yet, so the operation of the combined subsystem-type online system as a whole does not start.

なお、資源の凍結は、後で述べる決着で失敗した時点
で始めて行う方法もある。この場合、同一資源にアクセ
スするトランザクションは待ちになるが、決着が終るま
で待つだけなので障害の影響を小さくできる。
There is also a method of freezing resources only when they fail in the settlement described later. In this case, the transaction accessing the same resource waits, but only waits until the settlement is completed, so that the influence of the failure can be reduced.

次に、サブシステムの回復を始める。各サブシステム
は、コントローラ1の指示で並行して回復処理を行う。
各サブシステムの回復は、TRLRF420に格納されている履
歴形ジャーナルをもとに、サブシステム内の回復対象テ
ーブルを回復することで終る。この時点で、複合サブシ
ステム形オンラインシステムは動作を開始する。なお、
一部のサブシステムが回復に失敗した場合には該サブシ
ステムだけが縮退した状態となる。この時点でも、障害
発生時点で動作中のトランザクションは回復されていな
いが、これらのトランザクションはすべて凍結要となっ
ており、後で述べるトランザクションの凍結決着処理に
て回復する。新しく発生したトランザクションは、その
まま実行される。
Next, subsystem recovery begins. Each subsystem performs a recovery process in parallel according to an instruction from the controller 1.
The recovery of each subsystem ends by recovering the recovery target table in the subsystem based on the history journal stored in TRLRF420. At this point, the combined subsystem online system begins operation. In addition,
If some of the subsystems fail to recover, only those subsystems are in a degenerated state. Even at this time, the transactions that were operating at the time of the occurrence of the failure have not been recovered, but all of these transactions need to be frozen, and will be recovered by the transaction freeze settlement process described later. Newly generated transactions are executed as they are.

各サブシステムへの回復指示を出した後、サブシステ
ムにおける回復と並行してコントローラ1では、トラン
ザクション管理テーブル7に存在する凍結要フラグがオ
ンとなっている全トランザクションがアクセスしていた
資源(一般にはデータベース)をすべて回復する。そこ
で、コントローラ1は、トランザクションの回復のため
の処理を開始する。これを凍結決着処理と呼ぶ。凍結決
着処理の流れを第16図に示す。
After issuing a recovery instruction to each subsystem, in parallel with the recovery in the subsystem, the controller 1 accesses resources (in general, all the transactions for which the freeze required flag in the transaction management table 7 is on). Recovers the database). Therefore, the controller 1 starts processing for transaction recovery. This is called freeze settlement processing. FIG. 16 shows the flow of the freeze settlement process.

凍結決着処理では、まず、凍結要となっているトラン
ザクションの凍結処理を行う。ここで、トランザクショ
ンを凍結状態にするとは、該トランザクションを終了さ
せずに一時的に停止させることであり、このために回復
に必要な情報を保存する。
In the freeze settlement process, first, a transaction that needs to be frozen is frozen. Here, to freeze a transaction means to temporarily stop the transaction without ending it, and for this reason, information necessary for recovery is saved.

トランザクションの凍結処理では、第16図に示すよう
にトランザクション管理テーブル7のジャーナルがポイ
ンタ720をもとに、該トランザクションのもとで出力し
たジャーナルをJNLF5から読み出す。読み出したジャー
ナルは、チェックポイントダンプ出力時と同様に、トラ
ンザクション管理テーブル7のTRRF最終ポインタ730の
位置から追加書きでTRRF430に書き込んで行く。該トラ
ンザクションのジャーナルポインタ720に関して、すべ
てのジャーナルをTRRF430へ退避した時点で、該トラン
ザクションの凍結処理が完了し、凍結要フラグをオフと
し凍結フラグをオンとする。トランザクションが凍結さ
れると、該トランザクションの回復に必要となるすべて
のジャーナルがTRRF430中に格納されたことになる。こ
れは、最新のチェックポイント時点以前に出力された該
トランザクションのジャーナルは、チェックポイント時
点にTRRF430に退避済であり、チェックポイント時点以
降のジャーナルは、ジャーナルポインタ720を用いて凍
結処理でTRRF430に退避したためである。
In the transaction freezing process, as shown in FIG. 16, the journal of the transaction management table 7 reads out the journal output under the transaction from JNLF5 based on the pointer 720. The read journal is additionally written to the TRRF 430 from the position of the TRRF final pointer 730 of the transaction management table 7 as in the checkpoint dump output. With respect to the journal pointer 720 of the transaction, when all the journals are saved in the TRRF 430, the freeze processing of the transaction is completed, the freeze required flag is turned off, and the freeze flag is turned on. When a transaction is frozen, all journals needed to recover the transaction have been stored in TRRF 430. This is because the transaction journal output before the latest checkpoint time has been saved to TRRF430 at the checkpoint time, and the journal after the checkpoint time is saved to TRRF430 by freeze processing using the journal pointer 720. Because it was done.

凍結状態になったトランザクションすなわち凍結フラ
グがオンとなっているトランザクションは、コントロー
ラ1が定期的にトランザクション管理テーブル7から選
択し、該トランザクションの保持する資源を回復する。
資源の回復は、同期点ジャーナルの有無により決める。
同期点ジャーナルが存在すれば、すなわち同期点通過フ
ラグ715がオンであれば、ジャーナルをもとに更新を完
結させる。これをロールフォワードと呼ぶ。同期点ジャ
ーナルが存在しなければ、すなわち同期点通過フラグ71
5がオフであれば、トランザクションでの更新を無効と
し、更新済の部分はジャーナルをもとに以前の状態に戻
す。これをロールバックと呼ぶ。ロールフォワードとロ
ールバック処理を合わせて資源の決着、またはトランザ
クションの決着と呼ぶ。
The controller 1 periodically selects from the transaction management table 7 a transaction in a frozen state, that is, a transaction in which the freeze flag is turned on, and recovers the resource held by the transaction.
Resource recovery is determined by the presence or absence of a sync point journal.
If the synchronization point journal exists, that is, if the synchronization point passage flag 715 is on, the update is completed based on the journal. This is called roll forward. If there is no sync point journal, that is, sync point passing flag 71
If 5 is off, the update in the transaction is invalid and the updated part is returned to the previous state based on the journal. This is called rollback. Roll forward and rollback processing are collectively referred to as resource settlement or transaction settlement.

決着処理は、第16図に示す様に、まず、トランザクシ
ョン管理テーブル7中の凍結フラグ716がオンとなって
いるトランザクションを一つ選択し該トランザクション
の状態をトランザクション管理テーブル7中の同期点通
過フラグ715でチェックする。同期点を通過していれ
ば、ロールフォワード処理を行い、同期点通過以前であ
れば、ロールバック処理を行う。ロールフォワード,ロ
ールバックは、該トランザクションの使用BE3をトラン
ザクション管理テーブル7の使用BE703から決め、全使
用BEに対してロールフォワード,ロールバックを指示す
ることで行う。指示を行うには、事前にTRRF430を読
み、該トランザクションの該BEに関連するジャーナルを
テーブルとして仮想記憶上に作成し、該BEに引き渡す。
BE3は、BE自身の回復が済みBE機能が回復していれば、
渡されたジャーナルをもとに資源の決着を行う。回復が
済めば、凍結されていた該資源の排他ノードを解放し、
資源を解放し、凍結フラグ716をオフにする。BE自身の
回復が完了していない、若しくは回復できない場合は、
該トランザクションを凍結したままとする。従って、障
害回復のできないBEによって回復処理が終了しない場合
でも、回復できない範囲を該BEのデータベースを更新し
たトランザクション群だけに限定することができる。
In the settlement processing, as shown in FIG. 16, first, one transaction in which the freeze flag 716 in the transaction management table 7 is on is selected, and the status of the transaction is selected as the sync point passage flag in the transaction management table 7. Check at 715. If it has passed the synchronization point, roll forward processing is performed, and if it has not passed the synchronization point, roll back processing is performed. Roll forward and roll back are performed by determining the use BE 3 of the transaction from the use BE 703 of the transaction management table 7 and instructing all use BEs to perform roll forward and roll back. To issue an instruction, the TRRF 430 is read in advance, a journal related to the BE of the transaction is created as a table on the virtual storage, and delivered to the BE.
BE3 has already recovered itself, and if the BE function has recovered,
Settle resources based on the given journal. When the recovery is completed, release the exclusive node of the frozen resource,
Release the resources and turn off the freeze flag 716. If BE has not completed recovery or cannot recover,
Leave the transaction frozen. Therefore, even if the recovery process is not terminated by a BE that cannot recover from a failure, the range that cannot be recovered can be limited to only the transactions that have updated the database of the BE.

一つのトランザクションで複数BEのデータベースを更
新した場合の決着処理を図17に示す。複数BEのデータベ
ースを更新した場合、TRRF430から入力したジャーナル
を渡すべきBE3が障害中であれば、該ジャーナルとばしT
RRF430中の残りのジャーナルについて処理を続ける。TR
RF430中にジャーナル終了後、BE3が障害中のためとばし
たジャーナルがあれば、該BE3を除き処理済となったBE3
についての部分的終了ジャーナルを出力し、決着済BEに
対応する資源を解放し、該トランザクションは凍結状態
のままにしておく。処理済となったBE3については、ト
ランザクション管理テーブル中の使用BEエントリに処理
済であることを記録しておく。次に決着処理が実行され
る場合には、TRRF430から入力されたジャーナルが既に
処理済BE3のジャーナルであれば読みとばす。従って、
一つのトランザクションが複数BEのデータベースを更新
した場合の一部BEが障害中の回復処理では、該トランザ
クション全体ではなく、該トランザクションの障害中BE
についての回復が保留されるだけであり、回復可能なBE
についての回復処理を完了することによって回復できな
い範囲を最小限にすることができる。
Fig. 17 shows the settlement process when the databases of multiple BEs are updated in one transaction. When updating the database of multiple BEs, if BE3 to which the journal input from TRRF430 is to be passed is in failure, the journal is skipped.
Processing continues for the remaining journals in RRF430. TR
If there are any journals in RF430 that are skipped because of BE3's failure after the end of the journal, BE3 that has been processed excluding the BE3.
Output the partial end journal for, release the resources corresponding to the closed BE, and leave the transaction frozen. Regarding the processed BE3, it is recorded in the used BE entry in the transaction management table that it has been processed. Next, when the settlement process is executed, if the journal input from the TRRF 430 is the already processed BE3 journal, the reading is skipped. Therefore,
When a transaction updates the database of multiple BEs, part of the BEs are in failure recovery processing, not the entire transaction but the failed BEs of the transaction.
Recovery is only pending, and a recoverable BE
The non-recoverable range can be minimized by completing the recovery process for.

分散データベースの分散サーバ側の場合、該サブシス
テムはFE2に相当し、同期点通過以前の状態が更に、同
期点準備状態と同期点準備以前の状態に分けられる。同
期点準備以前の状態であれば、ロールバック処理を行
い、同期点通過後の状態であれば、ロールフォワード処
理を行う。同期点準備状態の場合、分散データベースの
分最サーバから当該トランザクションを発生させた分散
クライアントに問い合わせを行い、分散クライアント側
の対応するトランザクションが同期点通過後であればロ
ールフォワード処理を行い、同期点通過以前であればロ
ールバック処理を行う。分散サーバから問い合わすべき
相手の分散クライアントとトランザクションの識別情報
は、分散サーバ側でのトランザクション発生時点にトラ
ンザクション管理テーブルの発生FEエントリ702に記録
しておく。
In the case of the distributed server side of the distributed database, the subsystem corresponds to FE2, and the state before passing through the sync point is further divided into the sync point preparation state and the state before sync point preparation. If the state is before the synchronization point preparation, the rollback process is performed, and if the state after the synchronization point has passed, the rollforward process is performed. In the sync point ready state, the distribution server of the distributed database inquires the distributed client that generated the transaction, and if the corresponding transaction on the distributed client side has passed the sync point, the roll forward process is performed and the sync point If it has not passed, rollback processing is performed. The identification information of the distributed client and the transaction to be inquired from the distributed server is recorded in the generated FE entry 702 of the transaction management table at the time of the transaction generation on the distributed server side.

自システム内の分散データベースシステムが障害中、
又は他プロセッサ側が障害中の場合、同期点準備状態の
トランザクションのみが決着できずに残されるが、他の
トランザクションは、図16,図17の流れに従い決着す
る。
The distributed database system in my system is in failure,
Alternatively, when the other processor is in failure, only the transaction in the sync point preparation state cannot be settled and remains, but the other transactions are settled according to the flow of FIGS. 16 and 17.

一方分散データベースの分散クライアント側の場合該
サブシステムはBE3に相当する。図17の流れにおいて、
コントローラ1は、トランザクション管理テーブル中の
使用BEエントリ703に、分散クライアントが記録されて
いたならば、各BE3へのジャーナル渡し処理時に分散ク
ライアントに対し、ロールバック、又はロールフォワー
ドの指示を出す。分散クライアントは、該指示を分散サ
ーバ側に送る。分散サーバ側では、指示を受けたトラン
ザクションが同期点準備状態であれば、ロールフォワー
ド指示の場合は同期点通過状態にする。ロールバック指
示の場合は同期点準備以前状態にし、各々該当する決着
処理を行う。
On the other hand, in the case of the distributed client of the distributed database, this subsystem corresponds to BE3. In the flow of FIG.
If the distributed client is recorded in the used BE entry 703 in the transaction management table, the controller 1 issues a rollback or rollforward instruction to the distributed client at the time of journal transfer processing to each BE3. The distributed client sends the instruction to the distributed server. On the distributed server side, if the transaction that has received the instruction is in the sync point preparation state, in the case of the roll forward instruction, the transaction is in the sync point passing state. In the case of the rollback instruction, the state is set to the state before the synchronization point preparation, and the corresponding settlement processing is performed.

なお、分散サーバ側のトランザクションから、更に他
プロセッサの分散データベースに対する要求が出された
場合には、該トランザクションの一つのBEとして該シス
テム上の分散クライアントを使用した場合に対応づける
だけで同様に扱うことができる。
If a transaction on the distributed server side issues a request to the distributed database of another processor, it will be handled in the same way simply by associating it with the case where the distributed client on the system is used as one BE of the transaction. be able to.

第2に、サブシステム障害の回復について、第18図を
用いて説明する。
Second, recovery from a subsystem failure will be described with reference to FIG.

複合サブシステム形オンラインシステムでは、サブシ
ステム内に障害が発生した場合には、該サブシステムだ
けを障害扱いとし、サブシステム回復を行う。サブシス
テム回復方式は、FE2とBE3で異なる。
In the composite subsystem type online system, when a failure occurs in the subsystem, only the subsystem is treated as a failure and the subsystem is recovered. The subsystem recovery method differs between FE2 and BE3.

FE2に障害が発生した時の回復では、該サブシステム
の機能の回復と該サブシステム下で生成した全トランザ
クションを回復する必要がある。サブシステムのみ障害
の場合、コントローラ1の持つトランザクション管理テ
ーブル7はそのまま仮想記憶装置上に存在するので、該
サブシステムの異常終了時に呼び出されるルーチンの中
で、トランザクション管理テーブル7の発生FE領域702
を参照して該サブシステムの発生させた全トランザクシ
ョンについて凍結要フラグ713をオンにしておく。ここ
で、障害となったFE2が発生させたトランザクション
は、トランザクション管理テーブル7中の発生トランザ
クション領域702を参照することで限定している。この
ため、該FEの障害は、該FEの発生させたトランザクショ
ンに限定でき、他FEの発生させたトランザクションに対
しては影響なく業務処理が遂行できる。
In the recovery when a failure occurs in the FE2, it is necessary to recover the function of the subsystem and to recover all the transactions generated under the subsystem. When only the subsystem has a failure, the transaction management table 7 of the controller 1 exists on the virtual storage device as it is. Therefore, in the routine called when the subsystem ends abnormally, the FE area 702 of the transaction management table 7 is generated.
The freeze required flag 713 is turned on for all transactions generated by the subsystem. Here, the transaction generated by the failed FE2 is limited by referring to the generated transaction area 702 in the transaction management table 7. Therefore, the failure of the FE can be limited to the transaction generated by the FE, and the business process can be performed without affecting the transaction generated by another FE.

サブシステムダウンをコントローラが検出するとコン
トローラ1は、全面ダウン時と同様に、JNLF5を最新チ
ェックポイント時点から順次読み出し、該障害発生サブ
システムに関連する履歴形ジャーナルを該サブシステム
のTBLRF420に格納する。その後、コントローラ1は該サ
ブシステムを再起動し、起動後サブシステムに回復指示
を出す。回復指示を受けたサブシステムは、CKPTF410と
TBLRF420をもとに該サブシステムの機能回復を行う。
When the controller detects the subsystem down, the controller 1 sequentially reads JNLF5 from the latest checkpoint, and stores the history journal associated with the faulty subsystem in the TBLRF420 of the subsystem, as in the case of the full down. After that, the controller 1 restarts the subsystem and issues a recovery instruction to the subsystem after the startup. The subsystem that received the recovery instruction is CKPTF410
The function of the subsystem is restored based on TBLRF420.

該サブシステムの機能回復と並行して、コントローラ
1は、トランザクション管理テーブル7の凍結要フラグ
713がオンの全トランザクションについて、全面回復時
と同様に第16図の流れに従いすべて凍結し、決着を行
う。資源管理テーブル6は、コントローラ1が管理して
いるため、サブシステム障害,回復時にも有効のままな
ので、障害発生FE2は、該サブシステム機能の回復が済
めば、コントローラ1のトランザクション凍結、決着を
待つことなく、新しいトランザクションの処理を開始で
きる。
In parallel with the function recovery of the subsystem, the controller 1 sets the freeze-necessary flag of the transaction management table 7.
For all transactions in which 713 is ON, all transactions are frozen according to the flow shown in FIG. 16 and settled as in the case of full recovery. Since the resource management table 6 is managed by the controller 1, the resource management table 6 remains valid at the time of subsystem failure and recovery. Therefore, the failure occurrence FE2 freezes and finalizes the transaction of the controller 1 after recovery of the subsystem function. You can start processing new transactions without waiting.

BE3に障害が発生した時の回復では、該サブシステム
の機能回復と、該BEを使用していたトランザクションの
回復を行う必要がある。FE2障害時同様、トランザクシ
ョン管理テーブルは仮想記憶装置上に存在するので、該
BE3の異常終了時に呼び出されるルーチンの中で、トラ
ンザクション管理テーブル7の使用BE領域703領域を参
照して、該BEを使用していた全トランザクションについ
て、ロールバック要フラグ714をオンにしておく。ここ
で、障害発生となったBE3を使用したトランザクション
をトランザクション管理テーブル7の使用BE領域703で
限定しているため、該BEの障害は、該BEを実際に使用し
ているトランザクションに限定でき、他BEだけを使用し
ているトランザクションに対しては、影響なく業務処理
が遂行できる。
In the recovery when a failure occurs in the BE3, it is necessary to recover the function of the subsystem and the transaction using the BE. As in the case of the FE2 failure, the transaction management table exists on the virtual storage device.
In the routine called at the time of abnormal termination of BE3, the rollback required flag 714 is turned on for all transactions using the BE with reference to the used BE area 703 area of the transaction management table 7. Here, since the transaction using the failed BE3 is limited to the used BE area 703 of the transaction management table 7, the failure of the BE can be limited to the transaction actually using the BE, Business processing can be executed without affecting transactions using only other BEs.

さらに、該BE3の管理していた資源は、該BE3の障害回
復が終了するまで解放できないので資源凍結を行う必要
がある。資源の凍結は、該BE2の異常終了時に呼び出さ
れるルーチンの中で資源管理テーブル6中の該BE3に継
がる全資源ノード630について行う。資源凍結は、障害
発生時には単に凍結要としておき、BE回復,トランザク
ション決着が一通り済むまで遅延させる方式も考えられ
る。これにより、同一資源を要求している他トランザク
ションはエラーリターンではなく、一時的に待ちを行
い、該資源を保持しているトランザクションが正常に決
着されれば、障害はなかったものとして処理が継続でき
ることになる。
Further, the resources managed by the BE3 cannot be released until the failure recovery of the BE3 ends, so that it is necessary to freeze the resources. The resource is frozen for all the resource nodes 630 in the resource management table 6 which are connected to the BE3 in a routine called when the BE2 ends abnormally. Resource freezing may be simply required to be frozen when a failure occurs, and may be delayed until BE recovery and transaction settlement are completed. As a result, other transactions requesting the same resource do not return with an error, but wait temporarily, and if the transaction holding the resource is successfully settled, the processing continues as if there was no failure. You can do it.

サブシステムダウンをコントローラ1が検出すると、
コントローラ1はFE2障害時と同様に、JNLF5からTBLRF4
20を作成する。その後、コントローラ1は、該BE3を再
起動し起動後、障害発生BE3に回復指示を行う。回復指
示を受けたBE3は、CKPTF410とTBLRF420をもとに該BEの
機能回復を行う。ただし、BEの種類によっては、CKPTF4
10やTBLRF420を必要としない。この場合は、コントロー
ラ1は、JNLF5を読まずに単に回復指示を出し、該BEは
機能回復を行う。
When the controller 1 detects a subsystem down,
Controller 1 uses JNLF5 to TBLRF4 as in the case of FE2 failure.
Create 20. After that, the controller 1 restarts the BE3, and after starting the BE3, issues a recovery instruction to the failure BE3. The BE 3, which has received the recovery instruction, recovers the function of the BE based on the CKPTF 410 and the TBLRF 420. However, depending on the type of BE, CKPTF4
Does not require 10 or TBLRF420. In this case, the controller 1 simply issues a recovery instruction without reading JNLF5, and the BE performs function recovery.

該サブシステムの機能回復を待ち、コントローラ1
は、トランザクション管理テーブル7のロールバック要
フラグ714がオンの全トランザクションについて、全面
回復時と同様に第16図の流れに従いすべて凍結し、ロー
ルバック方向の決着を行う。
Waiting for the functional recovery of the subsystem, the controller 1
In the same manner as in the case of full recovery, all transactions in which the rollback required flag 714 of the transaction management table 7 is ON are frozen according to the flow of FIG. 16, and the rollback direction is decided.

以上サブシステムの障害回復で示した様にトランザク
ション管理テーブル7の発生FE領域702、及び使用BE領
域703を用いてサブシステム障害の影響を特定のトラン
ザクションに限定している。本機構のため、一部サブシ
ステム障害時でも他のサブシステムの処理は正常に遂行
できることとなり、複合サブシステム形オンラインシス
テムの運転を続行できることになる。また、RF4を持つ
ことで、障害となったサブシステムは、他サブシステム
の処理が先に進む事に影響されずに遅延しながらも回復
し、他サブシステムに影響することなく合流することが
できる。
As described above in the subsystem failure recovery, the effect of subsystem failure is limited to a specific transaction by using the generated FE area 702 and the used BE area 703 of the transaction management table 7. Because of this mechanism, the processing of other subsystems can be performed normally even if some subsystems fail, and the operation of the combined subsystem type online system can be continued. In addition, by having RF4, the subsystem that failed can recover with a delay without being affected by the progress of other subsystems, and can join without affecting other subsystems. it can.

第3に、業務処理プログラムに障害が発生し、実行中
のトランザクションが異常終了した場合には、異常終了
時に呼び出されるルーチンにて、該トランザクションの
凍結要フラグ713をオンにしておく。これにより、全面
ダウン時と同様にコントローラ1が該トランザクション
の凍結,決着を行う。業務処理プログラムは、FE2によ
って再度起動されることで、機能を回復する。
Thirdly, when a failure occurs in the business processing program and the transaction being executed abnormally ends, the freeze-necessary flag 713 of the transaction is turned on in the routine called at the abnormal end. As a result, the controller 1 freezes and finalizes the transaction in the same manner as when the entire system goes down. The business processing program recovers its function by being started again by the FE2.

〔発明の効果〕〔The invention's effect〕

本発明によれば、障害回復処理の遅延等による資源解
放の遅れによって、他のトランザクションが不用に待ち
状態のまま放置されたり、新たなトランザクションが待
ち状態におちいることがないため、システム全体の性能
低下を防止できる。
According to the present invention, due to a delay in resource release due to a delay in failure recovery processing, other transactions are not left unnecessarily in a waiting state, and a new transaction is not put in a waiting state. It can prevent the deterioration.

【図面の簡単な説明】[Brief description of drawings]

第1図は複合サブシステム形オンラインシステムの全体
構成図、第2図はリカバリファイルの構成図、第3図は
資源管理テーブルの構成図、第4図はトランザクション
管理テーブルの構成図、第5図はシステムステータステ
ーブルの構成図、第6図はチェックポイントダンプ取得
の概念図、第7図はチェックポイントダンプ取得のタイ
ミング図、第8図はチェックポイントダンプ取得の流れ
図、第9図はチェックポイントダンプ有効化方式の流れ
図、第10図はチェックポイントダンプ取得における待ち
処理の流れ図、第11図は資源管理論理情報テーブルの構
成図、第12図はジャーナルポインタの概念及び構成図、
第13図は全面回復の流れ図、第14図はジャーナル回復の
流れ図、第15図はコントローラのジャーナル回復の流れ
図、第16図はトランザクション凍結/決着の流れ図、第
17図は一つのトランザクションが複数BE更新時の決着の
流れ図、第18図はサブシステム障害回復の流れ図であ
る。 1…複合サブシステムコントローラ、2…フロントエン
ドサブシステム、3…バックエンドサブシステム、4…
リカバリファイル、5…ジャーナルファイル、6…資源
管理テーブル、7…トランザクション管理テーブル、8
…システムステータステーブル、9…システムステータ
スファイル、10…オンライン端末、11…データベース。
FIG. 1 is an overall configuration diagram of a composite subsystem type online system, FIG. 2 is a configuration diagram of a recovery file, FIG. 3 is a configuration diagram of a resource management table, FIG. 4 is a configuration diagram of a transaction management table, and FIG. Is a configuration diagram of the system status table, FIG. 6 is a conceptual diagram of checkpoint dump acquisition, FIG. 7 is a timing diagram of checkpoint dump acquisition, FIG. 8 is a flow chart of checkpoint dump acquisition, and FIG. 9 is a checkpoint dump. Flow chart of the validation method, Figure 10 is a flow chart of the waiting process in the checkpoint dump acquisition, Figure 11 is a block diagram of the resource management logical information table, Figure 12 is a concept and block diagram of the journal pointer,
Fig. 13 is a flow chart of full recovery, Fig. 14 is a flow chart of journal recovery, Fig. 15 is a flow chart of journal recovery of controller, Fig. 16 is a flow chart of transaction freeze / conclusion, Fig.
Figure 17 is a flow chart of the settlement when one transaction updates multiple BEs, and Figure 18 is a flow chart of subsystem failure recovery. 1 ... Composite subsystem controller, 2 ... Front-end subsystem, 3 ... Back-end subsystem, 4 ...
Recovery file, 5 ... Journal file, 6 ... Resource management table, 7 ... Transaction management table, 8
… System status table, 9… System status file, 10… Online terminal, 11… Database.

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】管理対象の資源と、資源を使用する利用者
と、利用者の要求する資源に対する使用権が未だ与えら
れていない利用者を待ち状態とし、当該資源の使用権が
与えられる時点で待ち状態を解除する資源の共用排他制
御方法において、資源の状態を、利用者の要求する資源
に対する使用権が与えられた状態を示す使用中状態と、
未だいずれの利用者に対しても利用者の要求する資源に
対する使用権が与えられていない状態を示す未使用状態
と、資源の使用権を保有する当該使用者にとっては、正
常時と変わらない状態が当該資源に対して保持され、既
に利用者の要求する資源に対する使用権を持っている利
用者に対しては使用権要求が失敗したことを通知して利
用者の待ち状態を解き、また、新たな使用要求の利用者
に対しては無条件に使用権要求が失敗したことを通知す
る状態を示す凍結状態とに区分し、使用中状態または未
使用状態の任意の資源を利用者の使用要求に応じて凍結
状態に変更するようにして、利用者の要求する資源が既
に凍結状態の場合には資源の利用者を待ち状態とせず、
当該資源が凍結状態であることを利用者に通知し、使用
中状態の資源が凍結状態に変わった場合には、未だ使用
権が与えられず待ち状態にある当該資源を要求する利用
者の待ち状態を解除した後、当該資源が凍結状態である
ことを利用者に通知し、通知された利用者は不用な待ち
状態に陥るのを回避する処理をすることを特徴とする資
源の共用排他制御方法。
1. A time point at which a resource to be managed, a user who uses the resource, and a user who has not yet been given a usage right for the resource requested by the user are placed in a waiting state and the usage right for the resource is given. In the shared exclusive control method for resources that releases the waiting state with, the state of the resource is a busy state indicating a state in which the right to use the resource requested by the user is given,
An unused state, which indicates that none of the users are given the right to use the resource requested by the user, and a state that is the same as the normal state for the user who holds the right to use the resource. Is held for the resource, and the user who already has the usage right for the resource requested by the user is notified that the usage right request has failed, and the user is released from the waiting state. It is classified into a frozen state, which indicates the status that the usage right request fails unconditionally to the user of the new usage request, and any resources in use or unused are used by the user. If the resource requested by the user is already in the frozen state, the resource user is not put in the waiting state by changing to the frozen state in response to the request.
Notify the user that the resource is in the frozen state, and if the resource in use changes to the frozen state, wait for the user requesting the resource in the waiting state without being given the usage right. Shared exclusive control of resources characterized by notifying the user that the relevant resource is in a frozen state after releasing the state, and performing processing to prevent the notified user from falling into an unnecessary waiting state Method.
【請求項2】前記特許請求の範囲第1項記載の資源の共
用排他制御方法において、一つ一つの資源単位を凍結状
態に変更することに加え、特定の利用者が使用権を持つ
資源を全て凍結状態に変更することを特徴とする資源の
共用排他制御方法。
2. The resource shared exclusive control method according to claim 1, wherein each resource unit is changed to a frozen state, and resources to which a specific user has a usage right are assigned. A shared exclusive control method for resources, which is characterized by changing all to a frozen state.
【請求項3】前記特許請求の範囲第1項記載の資源の共
用排他制御方法において、資源が属するグループを記憶
しておき、ある特定のグループを指定し当該グループに
属する資源を全て凍結状態にすることを特徴とする資源
の共用排他制御方法。
3. A resource shared exclusion control method according to claim 1, wherein a group to which the resource belongs is stored, a certain group is designated, and all the resources belonging to the group are frozen. A shared exclusive control method for resources, characterized by:
JP62263801A 1987-10-21 1987-10-21 Shared exclusive control method for resources Expired - Lifetime JPH083810B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62263801A JPH083810B2 (en) 1987-10-21 1987-10-21 Shared exclusive control method for resources

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62263801A JPH083810B2 (en) 1987-10-21 1987-10-21 Shared exclusive control method for resources

Publications (2)

Publication Number Publication Date
JPH01108667A JPH01108667A (en) 1989-04-25
JPH083810B2 true JPH083810B2 (en) 1996-01-17

Family

ID=17394443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62263801A Expired - Lifetime JPH083810B2 (en) 1987-10-21 1987-10-21 Shared exclusive control method for resources

Country Status (1)

Country Link
JP (1) JPH083810B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005115506A (en) 2003-10-06 2005-04-28 Hitachi Ltd Storage system
JP2021135732A (en) * 2020-02-27 2021-09-13 富士通株式会社 Control method, control program and information processing device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5914197A (en) * 1982-07-14 1984-01-25 Fuji Electric Co Ltd Multi-processor system

Also Published As

Publication number Publication date
JPH01108667A (en) 1989-04-25

Similar Documents

Publication Publication Date Title
JP3790589B2 (en) Commitment method for distributed database transactions
CN109739935B (en) Data reading method and device, electronic equipment and storage medium
US5065311A (en) Distributed data base system of composite subsystem type, and method fault recovery for the system
KR100324165B1 (en) Method and apparatus for correct and complete transactions in a fault tolerant distributed database system
JP4301849B2 (en) Information processing method and its execution system, its processing program, disaster recovery method and system, storage device for executing the processing, and its control processing method
JP2916420B2 (en) Checkpoint processing acceleration device and data processing method
US7543181B2 (en) Recovery from failures within data processing systems
US20070220059A1 (en) Data processing node
JPH07175700A (en) Database management method
JPS633341B2 (en)
JPH08110895A (en) Node device and storage device used in distributed system and method of restoring resource management server in distributed system
CN115292407A (en) Synchronization method, apparatus and storage medium
CN110825763B (en) MySQL database high-availability system based on shared storage and high-availability method thereof
JPH05210555A (en) Method and device for zero time data-backup-copy
CN110196788B (en) Data reading method, device and system and storage medium
CN109783578B (en) Data reading method and device, electronic equipment and storage medium
JP4277873B2 (en) Transaction processing apparatus and transaction processing method
JP4095139B2 (en) Computer system and file management method
JPH10326220A (en) File system and file management method
CN117931831A (en) Data processing system, data processing method, data processing device and related equipment
Solé Data management
JPH083810B2 (en) Shared exclusive control method for resources
JPH0827753B2 (en) How to get checkpoint dump of online system
JPH0833859B2 (en) Multiple subsystem type online system
JP3866448B2 (en) Internode shared file control method

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080117

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080117

Year of fee payment: 12