JPH01166231A - 索引ファイルのデータ処理方式 - Google Patents

索引ファイルのデータ処理方式

Info

Publication number
JPH01166231A
JPH01166231A JP62325757A JP32575787A JPH01166231A JP H01166231 A JPH01166231 A JP H01166231A JP 62325757 A JP62325757 A JP 62325757A JP 32575787 A JP32575787 A JP 32575787A JP H01166231 A JPH01166231 A JP H01166231A
Authority
JP
Japan
Prior art keywords
transaction
application program
file
data processing
index
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.)
Pending
Application number
JP62325757A
Other languages
English (en)
Inventor
Fujio Komiya
小宮 富士夫
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP62325757A priority Critical patent/JPH01166231A/ja
Publication of JPH01166231A publication Critical patent/JPH01166231A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明はファイルの任意の項目からなるキー値とレコ
ード番号との対応表である索引を有して複数のトランザ
クションからのファイルの利用要求を受付ける索引ファ
イルのデータ処理方式に関する。
〔従来の技術〕
ファイルの任意の項目からなるキー値とレコード番号と
の対応表である索引を複数個有する多面索引ファイルに
おいては、その索引ファイルの資源を有効に活用するた
め複数のプログラムに対してファイルの利用要求を受け
つけるとともにデータの完全性を保証し、かつ最新性を
保証することが大切になっている。
しかして、従来の索引ファイルのデータ処理方式として
次の2つの方式が採用されている。
(A)1つのトランザクションのファイルの利用要求が
発生するたびに索引ファイルの排他的利用、即ち他のト
ランザクションからの利用要求を排除する形でオープン
にし、オープンできればデータ処理を行いトランザクシ
ョンが終了した時点でクローズし、そのリソースを他の
トランザクションに解放する方法。
(B)トランザクションをスケジュールするプロセス(
タスフ)があらかじめ使用するファイルをすべてオープ
ンにしておき、トランザクション単位にデータ処理を引
受ける方法。
次に上記2つの方法について図面を参照しつつ更に詳細
に説明する。
第3図は上記(A)の方法について説明したものである
。第3図において、IA、IBは索引ファイルの利用要
求を行う第1.第2の応用プログラム、2は各応用プロ
グラムIA、IBからの利用要求を引き受けて索引ファ
イルのデータ管理を行うと共にそのデータの管理を行う
データヘースデータ管理部、3は複数の索引を有する多
面索引ファイルである。
また4は、多面索引ファイル3のデータ部、5は多面索
引ファイル3の主索引部、6は多面索引ファイル3の副
索用部である。
次に動作について説明する。第1の応用プログラムIA
及び第2の応用プログラムIBから多面索引ファイル3
に対して利用要求が出された場合、第1の応用プログラ
ムIAが先行して利用要求を出したとすると、第1の応
用プログラムIAに対して多面索引ファイル3がオープ
ンされる。
第2の応用プログラムIBに対しては第1の応用プログ
ラムIAのトランザクションが終了して多面索引ファイ
ル3がクローズするまで待たせる。
第1の応用プログラムIAは必要なデータ操作を多面索
引ファイル3に対して行いすべてのデータ操作が成功し
た場合は多面索引ファイル3をクローズしてそのリソー
スを第2の応用プログラムIBに受け渡す。
ここで、万一多面索引ファイル3に対するあるデータ操
作が失敗した場合にはトランザクションアボードの要求
を伝え、これまでに行ったデータ操作を無効とする戻し
回復操作を行い、多面索引ファイル3をクローズし、第
2の応用プログラムIBにそのリソースを受け渡す。
これにより第2の応用プログラムIBには第1の応用プ
ログラムIAの要求の成功、失敗にかかわらず一貫した
データの状態に対して新たなデータ処理を行うことがで
きる。
また第4図は上記(B)の方法について説明したもので
ある。図において、7は第1.第2の応用プログラムI
A、IBからのデータ処理をトランザクション単位に引
き受けてトランザクション単位のデータ処理を行うトラ
ンザクション制御プロセスである。
次に動作について説明する。
トランザクション制御プロセス7はあらかじめ使用する
ファイルをオープンにしておき、第1゜第2の応用プロ
グラムLA、IBからの利用要求に答えて、与えられた
データ操作を行っている。
ここで例えば第1の応用プログラムIAの利用要求が第
2の応用プログラムIBより先行してスケジュールされ
ていたとすると、多面索引ファイル3に対して必要なデ
ータ操作を行い、すべてのデータ操作が成功した段階で
トランザクションの終了通知を第1の応用プログラムI
Aに対して行う。
このトランザクションの終了通知を行った後、第2の応
用プログラムIBのデータ処理がスケジュールされる。
トランザクションが異常終了した場合はトランザクショ
ン制御プロセス7は戻し回復動作を行いこれまでに行っ
たデータ操作を無効にしてトランザクションの処理を行
う前の状態に戻す。
これによってデータの一貫性を保証する。
〔発明が解決しようとする問題点〕 従来の索引ファイルのデータ処理方式は以上説明したよ
うに行われていたので、上記(A)の方法の場合、トラ
ンザクション単位のデータ処理の一貫性を索引ファイル
のオープン、クローズの間、排他状態にすることによっ
て保証するが、この方法では1つのトランザクションが
ファイルのリソースを占有する時間が長くなるという問
題点、及び複数のファイルを1つずつオーブンするため
同時に発生した他のトランザクションとのオーブンのタ
イミングによりデッドロック状態になる可能性が高いと
いう問題点があった。
また、上記(B)の方法の場合、1つのプロセスが各ト
ランザクションの要求を受けてデータ処理するため毎回
オーブン、クローズする必要はないがトランザクション
単位にデータ処理サービスが行われているので異なるデ
ータを扱う場合でも先行してトランザクションが終了す
るまでデータ処理サービスが受けられないという問題点
があった。
この発明は上記問題点を解決するためになされたもので
、可能な限り複数のトランザクションからのデータ処理
要求を同時に引き受けて高速にトランザクションの要求
を処理するとともにデータの一貫性をトランザクション
単位に保証することのできるデータ処理方式を実現する
ことを目的としている。
〔問題点を解決するための手段〕
このため、この発明に係るデータ処理方式はレコードの
更新、削除、追加の更新履歴の情報を格納するジャーナ
ルバッファ8と、上記操作が行なわれたことの操作情報
を格納しておくキュー9とを備え、1つのトランザクシ
ョンからレコードの更新、削除、追加の要求があった場
合にはこの操作情報及び更新履歴の情報を上記ジャーナ
ルバッファ8及びキュー9に格納するとともにこれらの
レコードに対する他のトランザクションからの利用を排
除し、トランザクションの処理が正常に終了した時点で
、上記ジャーナルバッファ8に格納した情報及びキュー
9に格納された情報により実際のレコードの更新2削除
2追加を行うとともに上記利用、排除の解除を行うこと
を特徴とするものである。
〔作用〕
1つのトランザクションから索引ファイルに対する利用
要求が出され、ここでレコードの更新。
削除、追加の要求があった場合は、この前後の更新履歴
をジャーナルバッファ8に格納するとともに、この操作
情報をキュー9に格納し、このレコードに対する他のト
ランザクションからの利用を排除する。
そして、トランザクションの処理が正常に終了した時点
でキュー9に格納した操作情報を基にジャーナルバッフ
ァに格納した情報を取り出して実際のレコードの更新、
削除、追加を行い、上記利用排除の解除を行う。
もしトランザクションの処理が異常終了した場合には、
データレコード群に対して戻し操作を行いデータの一貫
性を確保する。
〔発明の実施例〕
以下、この発明の一実施例を図面について説明する。第
1図はこの発明の一実施例を示す索引ファイルのデータ
処理方式の構成図であり、第4図と同じものは同一符号
を用いている。
図において、8はトランザクションが行われている間の
データ操作の更新雇歴をとるジャーナルバッファ、9は
レコードの退加、削除、更新操作の要求をトランザクシ
ョン終了まで保留するのに必要な主キー値キューである
。また、第2図は第1の応用プログラムlAの動作と排
他制御およびファイルの更新状況を説明するための説明
図である。ここで、多面索引ファイル3の主索引は必ず
同一キー値を2つ以上持つことを禁止したUN I Q
UEキー属性の索引で構成されている。
また、副索用は同一キーを2つ以上持つことのできるN
OT UNIQUEキー属性の索引で構成されている。
次に、第1の応用プログラムIA、第2の応用プログラ
ムlBが同時に同一の多面索引ファイル3に利用要求を
出した時の動作について説明する。
(Sl)、第1の応用プログラムIAが主キー10に対
して更新のためのREAD命令を発行すると、主キー1
0をもつレコードP、が入力され、排他使用宣言が行わ
れる。
第2の応用プログラムIBがレコードP+  (主キー
10又は副キーB)を入力しようとすると排他使用が解
除されるまで、すなわち第1の応用プログラムIAのト
ランザクションが終了するまでレコードP1の入力待ち
状態となる。
(S2)、第1の応用プログラムLAがレコードP1を
REWRITE命令により更新するとレコードP1は更
新される。
この更新した内容は(SL)の排他制御によりトランザ
クション終了を宣言するまで第2の応用プログラムIB
には入力できない。更新前および更新後の内容はジャー
ナルバッファ8に記録される。
(S3)、第1の応用プログラムIAが主キー20に対
して削除のためのREAD命令を発行すると、(SL)
と同様にレコードP2が入力され、排他使用宣言される
(S4)、第1の応用プログラムIAがレコードP、を
DELETE命令により削除するとレコードP1には削
除マークが書かれるが、主索引および副索用の当該キー
(主キー20および副キーA)は削除せずにトランザク
ション終了するまでその操作は保留される。
これにより、第2の応用プログラムIBが主キー20又
は副キーIBの入力操作を行っても、主索引又は副索用
をサーチした結果レコードPtが排他使用宣言されてい
ることから、第1の応用プログラムIAのトランザクシ
ョン終了まで入力待ち状態となる。第1の応用プログラ
ムIAが削除操作を保留したことは主キー値キュー9に
記録され、また削除前の内容はジャーナルバッファ8に
記録される。
(35)、第1の応用プログラムIAが主キー30をも
つレコードを追加すると、はじめに主キー30をもつレ
コードが既に存在しているか否かを主索引および主キー
値キューをサーチして調べ、存在しなければ追加レコー
ド位置を求め、その位置に削除マークを書き込み、追加
レコードの出力および該当キーの主索引および副索用へ
の登録は保留し、主キー値キューとして記録する。
また、追加ジャーナルをジャーナルバッファ8に記録す
る。さらに、追加レコード位置に対して排他使用宣言す
る。ここで第2の応用プログラムIBが主キー30の入
力要求を行うと主キー30の主キー値キューが存在する
ため、主キー30の排他宣言が解除されるまで入力待ち
状態となる。
(S6)、第1の応用プログラムIAがトランザクショ
ンの終了を宣言すると、まだ実更新されていないデータ
操作を主キー値キューから時系列的にたどり、ファイル
の実更新即ち削除操作に対しては主索引および副索用に
対して当該キーを登録する。最後に第1の応用プログラ
ムIAが排他使用宣言したレコードP I、Pz 、P
xを解放する。
(S7)、万−第1の応用プログラムLAがトランザク
ションアボートした場合、ジャーナルバッファ8より最
新のジャーナルからトランザクション開始まで逆にたど
って戻し回復操作を行う。
このとき、追加操作に対しては実際に更新されていない
ので追加レコード位置を解放するだけで回復はできる。
削除操作についても、削除前の内容を削除したレコード
P2に出力するだけでよい。
また、更新操作にいては、更新前の内容をやはりレコー
ドP1に出力するだけで回復が速やかに行える。なお、
上記実施例では、トランザクションデータファイルの処
理システムにおける実施例について説明したがTSS処
理システム、バッチ処理システムにおいても応用プログ
ラム内にトランザクションの区切りを設定するだけで同
様な効果が得られる。
〔発明の効果〕
以上説明したようにこの発明に係るデータ処理方式はレ
コードの更新、削除、追加の情報を格納するジャーナル
バッファ及びキューを備え、トランザクションの途中に
おけるレコードの更新、削除、追加の要求に対してはこ
れを保留するとともにその情報をジャーナルバッファに
格納し、トランザクションが終了した時点で実際のレコ
ードの更新、削除7追加を行うようにし他のトランザク
ションに対してはこれらのレコードに対する利用を排除
するように構成したので、同一データに対して複数のト
ランザクションの利用要求の競合が生じてもトランザク
ション単位にデータの一貫性が保証されるとともにトラ
ンザクションの異常柊了に対して速やかに戻し回復動作
を行うことが可能となる。
【図面の簡単な説明】
第1図はこの発明の実施例に係るデータ処理方式の構成
図、第2図は応用プログラムのデータ操作と排他制御及
びファイルの更新状況を説明するための説明図、第3図
は従来の索引ファイルのデータ処理方式の第1の例を説
明するための構成図、第4図は従来の索引ファイルのデ
ータ処理方式の第2の例を示す構成図である。 図において、IAは第1の応用プログラム、lBは第2
の応用プログラム、2はデータベースデータ管理部、3
は多面索引ファイル、4はデータ部、5は主索引部、6
は副索引部、7はトランザクション制御プロセス、8は
ジャーナルバッファ、9は主キー値キュー(キュー)で
ある。 代理人  大君 増雄(ほか2名) f)21コ 手続補正音(自発) 1.事件の表示   特願昭62−325757号3、
補正をする者 代表者志岐守哉 4、代理人 5 補正の対象 特許請求の範囲1発明の詳細な説明の欄。 G 補正の内容 (1)特許請求の範囲を別紙のとおり補正する。 (2)明細書第3頁第3行目「オーブンにし、」とある
のを「オーブンし」と補正する。 (3)同占第3頁第8行目「(タスク)」とあるのを「
(タスク)」と補正する。 以」二 2、特許請求の範囲 ファイルの任意の項目からなるキー値とレコード番号と
の対応表である索引を有し、複数のトランザクションか
らのファイルの利用要求を受け付ける索引ファイルのデ
ータ処理方式において、レコードの更新、削除、追加の
操作が行なわれた時、この更新履歴を格納しておくジャ
ーナルバッファと、上記操作が行なわれたことの操作情
報を格納するキューとを備え、1つのトランザクション
が上記操作を行なった時、上記ジャーナルバッファ及び
上記キューに各々更新履歴及び上記操作情報を格納して
実際の処理を保留するとともにこれらのレコードに対す
る他のトランザクションの利用をWヶに施盤し、トラン
ザクションの処理が正常に終了した時点で上記ジャーナ
ルバッファ及び上記キューの内容に従って実際のレコー
ドの更新、削除、追加の操作を行なうとともに」−肥料
用排除の解除を行なうことを特徴とする索引ファイルの
データ処理方式。

Claims (1)

    【特許請求の範囲】
  1. ファイルの任意の項目からなるキー値とレコード番号と
    の対応表である索引を有し、複数のトランザクションか
    らのファイルの利用要求を受け付ける索引ファイルのデ
    ータ処理方式において、レコードの更新、削除、追加の
    操作が行なわれた時、この更新履歴を格納しておくジャ
    ーナルバッファと、上記操作が行なわれたことの操作情
    報を格納するキューとを備え、1つのトランザクション
    が上記操作を行なった時、上記ジャーナルバッファ及び
    上記キューに各々更新履歴及び上記操作情報を格納して
    実際の処理を保留するとともにこれらのレコードに対す
    る他のトランザクションの利用を排除し、トランザクシ
    ョンの処理が正常に終了した時点で上記ジャーナルバッ
    ファ及び上記キューの内容に従って実際のレコードの更
    新、削除、追加の操作を行うとともに上記利用排除の解
    除を行うことを特徴とする索引ファイルのデータ処理方
    式。
JP62325757A 1987-12-23 1987-12-23 索引ファイルのデータ処理方式 Pending JPH01166231A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62325757A JPH01166231A (ja) 1987-12-23 1987-12-23 索引ファイルのデータ処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62325757A JPH01166231A (ja) 1987-12-23 1987-12-23 索引ファイルのデータ処理方式

Publications (1)

Publication Number Publication Date
JPH01166231A true JPH01166231A (ja) 1989-06-30

Family

ID=18180293

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62325757A Pending JPH01166231A (ja) 1987-12-23 1987-12-23 索引ファイルのデータ処理方式

Country Status (1)

Country Link
JP (1) JPH01166231A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6332160B1 (en) 1997-06-27 2001-12-18 Nec Corporation Method for matching distributed transactions and machine-readable recording medium with method programs

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6332160B1 (en) 1997-06-27 2001-12-18 Nec Corporation Method for matching distributed transactions and machine-readable recording medium with method programs

Similar Documents

Publication Publication Date Title
JP4237354B2 (ja) トランザクション処理方法及びトランザクション処理システム
US9652519B2 (en) Replicating data across multiple copies of a table in a database system
US4498145A (en) Method for assuring atomicity of multi-row update operations in a database system
US7912821B2 (en) Apparatus and method for data management
EP0549140A2 (en) Record updating method
US20110145193A1 (en) Apparatus and method for creating a real time database replica
JP3512439B2 (ja) チェックイン・チェックアウトモデルにおける施錠方式
JP2001101044A (ja) トランザクショナルファイル管理方法、トランザクショナルファイルシステム及び複合トランザクショナルファイルシステム
JP2853608B2 (ja) 並列処理システムのファイルアクセス制御方式
US7464091B2 (en) Method and software for processing data objects in business applications
JP3042600B2 (ja) 分散ファイルの同期方式
US7225302B2 (en) Method and software application for avoiding data loss
US20040148587A1 (en) Data element and structure for data processing
US7051051B1 (en) Recovering from failed operations in a database system
EP0097239B1 (en) Method and apparatus for restoring data in a computing system
JPH01166231A (ja) 索引ファイルのデータ処理方式
US20040153480A1 (en) Computerized replication of data objects
KR100243113B1 (ko) 데이터베이스 관리 시스템에서 에스큐엘 수준의갱신 연산의 원자성 보장 방법
JP3970524B2 (ja) 複数オペレーション間の排他制御方法
JPS63196956A (ja) フアイル排他方式
JPH03123946A (ja) データベースの排他制御方法
JP2634908B2 (ja) 情報処理装置
JP5543901B2 (ja) データベース並行編集方式
JP2004362142A (ja) ストレージ装置及びストレージ方法並びにプログラム
JPH0398123A (ja) 時刻スタンプ付き命令系列処理装置