JPH08115242A - ヒープファイル管理システム - Google Patents

ヒープファイル管理システム

Info

Publication number
JPH08115242A
JPH08115242A JP6252204A JP25220494A JPH08115242A JP H08115242 A JPH08115242 A JP H08115242A JP 6252204 A JP6252204 A JP 6252204A JP 25220494 A JP25220494 A JP 25220494A JP H08115242 A JPH08115242 A JP H08115242A
Authority
JP
Japan
Prior art keywords
pointer
update
data
record
transaction
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
JP6252204A
Other languages
English (en)
Inventor
Hiroshi Okubo
宏 大久保
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP6252204A priority Critical patent/JPH08115242A/ja
Publication of JPH08115242A publication Critical patent/JPH08115242A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 ヒープファイルにおけるレコードの更新や検
索を効率的に行えるようにしたヒープファイル管理シス
テムを得ること。 【構成】 ヒープファイル31におけるレコードの挿入
可能位置を示すポインタを更新・検索用ポインタPWR
追加用ポインタPA の2種類用いることにし、レコード
の更新と検索時には前者のポインタのみを使用し、レコ
ードの追加時には両者を使用できるようにしている。レ
コードの追加時にはポインタをレコードの追加処理後の
値まで進めてポインタのロックを解除しレコードの追加
処理を行うので、ロックによる待ち処理が発生しない。
レコードの追加中のトランザクションの数は更新カウン
タにセットされる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータベースにファイル
を格納する際に使用されるヒープファイルを管理するヒ
ープファイル管理システムに係わり、特に並列処理性能
の向上を図ったヒープファイル管理システムに関する。
【0002】
【従来の技術】ヒープファイル(Heap file)は、非イン
デックス型で入力順に出力するヒープ構造を有するファ
イルである。ヒープファイルはデータベースを格納する
際のファイルとして多用されている。
【0003】図6は、ヒープファイルの一般的な構造を
表わしたものである。ヒープファイル11は、第0〜第
nページから構成されており、この例では第0ページか
ら第n−1ページの途中までデータの書き込みがレコー
ド単位に行われている。ヒープファイル11ではデータ
の書き込みや読み出しが入力順に連続領域に対して行わ
れる。図で示した領域12が現時点の書込領域であり、
これ以外が空き領域13である。空き領域の先頭には、
レコード挿入可能位置としてポインタPが配置されてい
る。レコードの書き込みは、このポインタPの示す位置
から順に行われ、そのたびにポインタPは次の空き領域
の先頭に移動させられる。
【0004】このようなヒープファイル11では、レコ
ードの追加は追加用のポインタPの示すページに対して
行われる。そこで追加中のトランザクションの処理が終
了するまでは、これよりも後のトランザクション(tran
saaction) はこのヒープファイル11を使用することが
できない。すなわち、このような場合にはファイルがロ
ックされ、後続のトランザクションはロックが解除する
まで待ちの状態となる。ロックに関する制御はロックテ
ーブルを使用してページ単位に行われる。
【0005】図7は、ロックテーブルの構造を表わした
ものである。ロックテーブル15には、ページ単位に更
新(W)、参照(R)、追加(A)などの使用モード
と、ロックを行っているトランザクション名T1
3 、T5 、……が登録されている。ヒープファイルの
ロック操作は、このロックテーブル15を参照すること
で行っていた。
【0006】このような従来のヒープファイル管理シス
テムでは、複数の要求に対して並行処理を行おうとする
と、他の要求元によるファイルのロックによって待ちが
発生しやすいという問題があった。また、場合によって
は相互に待ちの状態となって、デッドロックが発生する
危険もあった。
【0007】そこで特開平2−12438号公報では、
ヒープファイルを複数のサブヒープファイルに分割する
ことを提案している。この提案では、分割されたサブヒ
ープファイル単位で空き領域の管理を行うと共に、並行
処理とロック管理を行うようにしている。この結果、フ
ァイルの使用を要求する各要求元は、いずれか空きのサ
ブヒープファイルを獲得して使用することになり、ロッ
クによる待ちの発生回数が大幅に減少する。
【0008】図8は、この提案のヒープファイルを表わ
したものである。ヒープファイル21は、第0〜第mの
サブヒープファイル220 〜22m に分割されている。
これらのサブヒープファイル220 〜22m のうちのそ
れぞれレコード挿入可能位置にはレコードを追加するた
めのポインタP0 〜Pm-1 が配置されている。 第mの
サブヒープファイル22m はその1つ前の第(m−1)
のサブヒープファイル22m-1 から空き領域が連続して
いるので、ここにはポインタPm が配置されていない。
【0009】図9は、図8に示した提案のヒープファイ
ルに使用されるロックテーブルを表わしたものである。
図7に示したロックテーブル15と比較すると、ページ
単位の代わりにサブヒープファイル単位で各使用モード
W、R、A、……とトランザクション名T1 、T3 、T
5 、……が登録されるようになっている。
【0010】
【発明が解決しようとする課題】ところが図8に示した
ヒープファイル21を使用した管理システムでは、ヒー
プファイル21が複数のサブヒープファイル220 〜2
m に分割されるので、空き領域がサブヒープファイル
単位で発生しファイルが断片化しやすくなるといった問
題があった。また、ヒープファイル21はランダムアク
セスを行うことのできない構造体であるため、そのレコ
ードを更新したり、ヒープファイル内のレコードを検索
するような場合には、ヒープファイル21の先頭から全
件を順にサーチする必要があった。このためレコードの
更新や検索をファイルの全体に対して行おうとすると、
サブヒープファイル220 〜22m に分割されている分
だけ、並列処理を行っている他のトランザクションとの
衝突の頻度が高くなり、効率的なファイル管理を行うこ
とができなかった。
【0011】そこで本発明の目的は、ヒープファイルに
おけるレコードの更新や検索を効率的に行うことのでき
るヒープファイル管理システムを提供することにある。
【0012】
【課題を解決するための手段】請求項1記載の発明で
は、(イ)ファイルの先頭からデータの書き込みをレコ
ード単位で順に行うようにしたヒープファイルと、
(ロ)このヒープファイルのデータの次の書き込み位置
を示すポインタと、(ハ)あるトランザクションでデー
タの書き込みが指示されたときにはこのポインタをこの
書き込みの終了予定位置まで進めて、その後、そのトラ
ンザクションにおけるデータの書き込みを行う書込時処
理手段とをヒープファイル管理システムに具備させる。
【0013】すなわち請求項1記載の発明では、あるト
ランザクションでデータの書き込みが指示されたときに
は所定のポインタをまずこの書き込みが終了する位置ま
で進めて、この後にそのトランザクションにおけるデー
タの書き込み処理を行うことにした。従来のようなデー
タの追加を行うページに対してロックを行ってから処理
を行う手法と異なり、ロックによる待ちの発生が生ぜ
ず、処理をそれだけ高速に行うことができるようにな
る。
【0014】請求項2記載の発明では、(イ)ファイル
の先頭からデータの書き込みをレコード単位で順に行う
ヒープファイルと、(ロ)このヒープファイルのデータ
の次の書き込み位置を示すポインタと、(ハ)あるトラ
ンザクションでデータの書き込みが指示されたときには
このポインタをこの書き込みの終了予定位置まで進め
て、その後、そのトランザクションにおけるデータの書
き込みを行う書込時処理手段と、(ニ)ポインタをそれ
ぞれ対応する書き込みの終了予定位置まで進めるたびに
“0”からカウント値を1つずつインクリメントすると
共に、データの書き込みについての1つのトランザクシ
ョンが終了するたびにカウント値を1つずつカウントダ
ウンするカウンタとをヒープファイル管理システムに具
備させる。
【0015】すなわち請求項2記載の発明では、データ
の書き込みのトランザクションが発生した場合に、その
処理が終了したのか、また他の同様な処理が残っている
のかを示すためにカウンタを用意した。そして、データ
の書き込みのトランザクションが発生し前記したポイン
タが更に次のデータの書き込みを開始する位置まで進む
たびにカウンタを“1”だけカウントアップすると共
に、データの書き込みが終了するたびに“1”だけカウ
ントダウンし、実際のデータの書き込み開始位置をその
ポインタが示しているかどうかが分かるようにした。
【0016】請求項3記載の発明では、(イ)ファイル
の先頭からデータの書き込みをレコード単位で順に行う
ヒープファイルと、(ロ)このヒープファイルのデータ
の次の書き込み位置を示す第1のポインタと、(ハ)あ
るトランザクションでデータの書き込みが指示されたと
きにはこの第1のポインタをこの書き込みの終了予定位
置まで進めて、その後、そのトランザクションにおける
データの書き込みを行う書込時処理手段と、(ニ)他の
トランザクションでレコードの更新または検索が指示さ
れたとき現時点におけるデータの空白領域の先頭を指示
する第2のポインタと、(ホ)第1のポインタをそれぞ
れ対応する書き込みの終了予定位置まで進めるたびに
“0”からカウント値を1つずつインクリメントすると
共に、データの書き込みについての1つのトランザクシ
ョンが終了するたびにカウント値を1つずつカウントダ
ウンするカウンタと、(ヘ)前記した他のトランザクシ
ョンでレコードの更新または検索が指示されたときこれ
を実行する更新・検索実行手段と、(ト)この更新・検
索実行手段でレコードの更新または検索が実行された
後、更新カウンタのカウント値をチェックするカウント
値チェック手段と、(チ)このカウント値チェック手段
によってカウント値が“0”でないと判別されたときカ
ウント値が“0”になるまで処理を中断した後、第2の
ポインタの値を新たに取得し現在保持している第2のポ
インタの値と新たに取得した第2のポインタの値の範囲
で更新または検索を行う更新・検索追加第1実行手段
と、(リ)更新・検索実行手段あるいは更新・検索追加
第1実行手段で更新または検索が実行された後、カウン
ト値チェック手段によってカウント値が“0”であると
判別されたとき、第2のポインタの値を新たに取得し現
在保持している第2のポインタの値と新たに取得した第
2のポインタの値を比較する比較手段と、(ヌ)この比
較手段の比較結果が等しいときにはレコードの更新また
は検索処理を終了させ、等しくないときには等しくなる
まで現在保持している第2のポインタの値とその都度新
たに取得する第2のポインタの値の範囲で更新または検
索を行う更新・検索追加第2実行手段とをヒープファイ
ル管理システムに具備させる。
【0017】すなわち請求項3記載の発明では、ヒープ
ファイルについてそのデータの空白領域の先頭を示す第
2のポインタ(更新・検索用ポインタPWR)と、データ
の書き込みを行うトランザクションが新たに発生したと
きにそのデータの書き込み開始位置の先頭を示す第1の
ポインタ(追加用ポインタPA )の2つのポインタを用
意している。このように第1および第2のポインタを用
意することで、レコードの追加を行う際には更新または
検索のサーチ範囲と分離してデータの書き込みの開始予
定位置を指定することができるようになっている。した
がって、レコードの追加のトランザクションが発生して
も、これによるロックが不要であり、処理が効率化す
る。また、本発明では請求項2記載の発明で示したカウ
ンタも配置されているので、データの更新または検索を
行う際に途中でレコードの追加処理が行われたような場
合には、これを検知することができ、これに対処するこ
とができる。
【0018】
【実施例】以下実施例につき本発明を詳細に説明する。
【0019】図1は本発明の一実施例におけるヒープフ
ァイルの構造を表わしたものである。このヒープファイ
ル31は、第0ページから第nページで構成されてお
り、レコード挿入可能位置を示すポインタとして、更新
・検索用ポインタPWRと追加用ポインタPA をそれぞれ
1つずつ用意している。レコードの追加を行うトランザ
クションに対しては、更新・検索用ポインタPWRと追加
用ポインタPA の双方へのアクセスが許可されるように
なっている。また、レコードの更新や検索を行うトラン
ザクションに対しては、更新・検索用ポインタPWRのみ
へのアクセスが許可されるようになっている。これら更
新・検索用ポインタPWRと追加用ポインタPA は、初期
的には空き領域の先頭を示す同一の値を有している。
【0020】図2は、図1に示したヒープファイルを使
用する管理システムに用意されたロックテーブルの内容
を表わしたものである。ロックテーブル35は、更新あ
るいは検索を行うトランザクションに対してのみロック
操作を行うようになっている。レコードの追加を行うト
ランザクションに対してはロック操作は行わない。この
ため、ロックテーブル35には各ページごとにトランザ
クション名と使用モータを登録する他に、ファイル全体
に共通のものとして更新カウンタを設けている。更新あ
るいは検索を行うトランザクションは、この更新カウン
タの値によってレコードの追加の有無を判別することが
できる。図2に示した例では更新カウンタのカウント値
が“0”となっており、レコードの追加を行っているト
ランザクションが存在しないことが示されている。
【0021】レコードの追加処理
【0022】図3は、レコードの追加処理が行われる場
合のヒープファイル管理システムの制御の様子を表わし
たものである。なお、このヒープファイル管理システム
ではファイルの単利制御を行うために図示しないCPU
(中央処理装置)がROM(リード・オンリ・メモリ)
等に格納されたプログラムを制御してレコードの追加や
レコードの変更あるいは検索のための制御を行うように
なっている。
【0023】レコードの追加が行われるときには(ステ
ップS101;Y)、まずレコードの空き領域の先頭を
示す追加用ポインタPA を獲得する(ステップS10
2)。これは、前に説明したように初期的には図1で更
新・検索用ポインタPWRが示す位置に存在する。次に、
他のレコードの追加を行うトランザクションによる追加
用ポインタPA へのアクセスを防止するために、そのロ
ックを行い(ステップS103)、追加するレコードの
分だけ追加用ポインタPA の値を変更する(ステップS
104)。これにより、追加用ポインタPA は図1に示
したように追加したレコードの終了位置に移動する。
【0024】この後、ロックテーブル35の更新カウン
タが“1”だけインクリメントされる(ステップS10
5)。これは、レコードの追加を行う未処理のトランザ
クションの数を示すためである。この後、追加用ポイン
タPA のロックが解除される(ステップS106)。
【0025】すなわち、従来では実際に更新が行われる
までポインタPがロックされていたが、本実施例では追
加用ポインタPA をレコードの終了予定位置(その時点
以後にレコードの追加を行う空白領域の先頭位置)まで
進めて更新カウンタのカウントアップを行った時点で追
加用ポインタPA のロックを解除し、この後にレコード
の追加処理を行う(ステップS107)。このため、レ
コードの追加を行うトランザクション間でロックによる
待ちの発生は生じない。レコードの追加を行うトランザ
クションは、追加を行うレコードが占めるページに対し
てロックを行わず、ロックテーブル35の更新カウンタ
のセットのみが行われる。
【0026】レコードの追加処理が行われたら、更新カ
ウンタが1だけディクリメントされる(ステップS10
8)。更新カウンタが“0”の状態で以上説明したよう
な追加処理が行われたときには、更新カウンタが“1”
にカウントアップされた後に、この処理で“1”だけカ
ウントダウンされ、再び“0”となる。このように更新
カウンタのカウント値が“0”になった場合には(ステ
ップS109;Y)、レコードの追加を行うための未処
理のトランザクションが存在しないことなので、更新・
検索用ポインタPWRに追加用ポインタPA の位置を示す
値がコピーされる(ステップS110)。すなわち、両
ポインタPWR、PA はこのとき見かけ上、1つのポイン
タとなる。
【0027】ステップS109で更新カウンタの値が
“0”以外であった場合には(N)、他の処理のために
両ポインタPWR、PA の値が本来一致しない状態であ
る。そこで、この場合には更新・検索用ポインタPWR
追加用ポインタPA の位置を示す値をコピーすることな
く、処理が終了する(エンド)。
【0028】レコードの変更あるいは検索処理
【0029】図4は、レコードの変更あるいは検索処理
が行われる場合のヒープファイル管理システムの制御の
様子の前半を表わしたものである。レコードの変更や検
索を行うトランザクションでは(図3ステップS10
1;N)、ヒープファイル31の先頭から全件順サーチ
を行う。この場合には更新・検索用ポインタPWRの獲得
が行われ、この値(現時点での空白領域の先頭を示す
値)を保持する(ステップS201;Y)。そして、更
新あるいは検索に必要なレコードが存在する場合にはロ
ックテーブル35を参照して(ステップS202)、そ
のページがロック済みであるかどうかを判別する(ステ
ップS203)。ロック済みであれば(Y)、そのロッ
クが解除されるまで待ち処理を行い(ステップS20
4)、その後、ステップS201に戻る。ロックテーブ
ル35の使用モードに更新(W)または参照(R)がセ
ットされている場合には、すでに他のトランザクション
によってそのページがロックされているので、前記した
ように待ち処理(ステップS204)を行うことにな
る。
【0030】ステップS203で該当するページがロッ
クされていなかった場合、あるいはロックが解除された
ことを待ち処理(ステップS204)によって検知した
場合には(N)、そのページをロックする(ステップS
205)。そして、現在処理の対象となっているトラン
ザクションがレコードの更新であれば(ステップS20
6;Y)、レコードの更新処理を行う(ステップS20
7)。レコードの検索である場合には(ステップS20
6;N)、レコードの検索処理を行う(ステップS20
8)。
【0031】図5は、図4に示したレコードの変更ある
いは検索処理が行われる場合のヒープファイル管理シス
テムの制御の続きを表わしたものである。該当ページに
ついてレコードの更新または検索の処理が終了したら、
そのページのロックが解除される(ステップS20
9)。すでに説明したようにロックテーブル35の使用
モードには追加(A)が存在していない。すなわち、本
実施例のヒープファイル管理システムでは、ページのロ
ック操作は、レコードの更新あるいは検索を行うトラン
ザクション間でのみ行われるようになっている。
【0032】以上のようにして更新・検索用ポインタP
WRの示していた値まで全件順サーチが終了すると、ロッ
クテーブル35の更新カウンタの値がチェックされる
(ステップS210)。これが“0”でない場合(Y)
には、レコードの追加処理中のトランザクションが存在
するので、その処理が終了するまで待ち処理に入る(ス
テップS211)。
【0033】更新カウンタの値が“0”の場合には(ス
テップS210;N)、レコードの追加処理中のトラン
ザクションは存在しないが、レコードの更新あるいは検
索処理中にレコードの追加処理が行われた可能性があ
る。この場合には、更新・検索用ポインタPWRが移動し
ているはずである。そこで、この場合には更新・検索用
ポインタPWRに再度アクセスしその値を獲得すると共に
保持している更新・検索用ポインタPWRの値と比較する
(ステップS212)。両者が等しい場合には、レコー
ドの追加処理は行われていない。そこでレコードの更新
あるいは検索処理が終了する(エンド)。
【0034】これに対して、両者の値が等しくない場合
には(ステップS213;N)、今回行ったレコードの
更新あるいは検索処理中にレコードの追加処理が行われ
たことになる。そこで再びステップS201に戻り、保
持している更新・検索用ポインタPWRの値と現在の更新
・検索用ポインタPWRの値の範囲で全件順サーチを行
う。このようにして最終的に保持しているレコードの更
新・検索用ポインタPWRの値と現在の更新・検索用ポイ
ンタPWRの値が等しくなるまでこの作業を繰り返す。
【0035】また、ステップS211で更新カウンタの
カウント値の値が“0”ではないことによって待ち処理
となった場合には(ステップS211)、更新カウンタ
が“0”になったのを検知した時点で、ステップS20
1に戻り、保持している更新・検索用ポインタPWRの値
と現在のレコードについての更新・検索用ポインタP WR
の値の範囲内で全件順サーチを行いながら、レコードに
対して同様な処理を行う。この処理は、最終的に保持し
ているレコードの更新・検索用ポインタPWRの値と現在
のレコードの更新・検索用ポインタPWRの値が等しくな
るまで繰り返されることになる。
【0036】
【発明の効果】以上説明したように請求項1記載の発明
によれば、あるトランザクションでデータの書き込みが
指示されたときにはポインタをまずこの書き込みが終了
する位置まで進めて、この後にそのトランザクションに
おけるデータの書き込み処理を行うことにした。したが
って、従来のようなデータの追加を行うページに対して
ロックを行ってから処理を行う手法と異なり、ロックに
よる待ちの発生が生ぜず、処理をそれだけ高速に行うこ
とができるようになる。また、ヒープファイルをサブヒ
ープファイルに分割する必要がないので、空き領域が細
分化するといった問題もなく、ファイルの全領域を有効
に活用することができる。
【0037】また、請求項2記載の発明によれば、デー
タの書き込みのトランザクションが発生した場合に、そ
の処理が終了したのか、また他の同様な処理が残ってい
るのかを示すためにカウンタを用意した。したがって、
請求項1記載の効果を得ることがてきる他に、このカウ
ンタのカウント値を参照することによって、ポインタの
示す値が現実にデータの書込位置を示すのか次の書き込
みの処理が発生した際のそのデータの書込位置を示すも
のであるかを容易に判断することができる。
【0038】更に請求項3記載の発明では、ヒープファ
イルについてそのデータの空白領域の先頭を示す第2の
ポインタと、データの書き込みを行うトランザクション
が新たに発生したときにそのデータの書き込み開始位置
の先頭を示す第1のポインタの2つのポインタを用意し
ている。このように2つのポインタを用意することで、
レコードの追加を行う際には更新または検索のサーチ範
囲と分離してデータの書き込みの開始予定位置を指定す
ることができるようになる。したがって、レコードの追
加のトランザクションが発生しても、これによるロック
が不要であり、処理が効率化する。また、データの書き
込みのトランザクションが発生した場合に、その処理が
終了したのか、また他の同様な処理が残っているのかを
示すためにカウンタを用意した。したがって、データの
更新または検索を行う際に途中でレコードの追加処理が
行われたような場合には、これを検知することができ、
これに対処することができる。
【図面の簡単な説明】
【図1】 本発明の一実施例におけるヒープファイルの
構造を表わした説明図である。
【図2】 図1に示したヒープファイルを使用する管理
システムに用意されたロックテーブルの内容を表わした
説明図である。
【図3】 本実施例でレコードの追加処理が行われる場
合のヒープファイル管理システムの制御の様子を表わし
た流れ図である。
【図4】 本実施例でレコードの変更あるいは検索処理
が行われる場合のヒープファイル管理システムの制御の
様子の前半の流れを示す流れ図である。
【図5】 本実施例でレコードの変更あるいは検索処理
が行われる場合のヒープファイル管理システムの制御の
様子の後半の流れを示す流れ図である。
【図6】 従来のヒープファイルの一般的な構造を表わ
した説明図である。
【図7】 図6に示した従来のヒープファイルに使用さ
れるロックテーブルの内容を示す説明図である。
【図8】 従来提案されたサブヒープファイルに分割さ
れたヒープファイルの構造を表わした説明図である。
【図9】 図8に示したヒープファイルに使用されるロ
ックテーブルの内容を示す説明図である。
【符号の説明】
31…ヒープファイル、35…ロックテーブル、PA
追加用ポインタ、PWR…更新・検索用ポインタ、R…参
照、T…トランザクション名、W…更新

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 ファイルの先頭からデータの書き込みを
    レコード単位で順に行うようにしたヒープファイルと、 このヒープファイルのデータの次の書き込み位置を示す
    ポインタと、 あるトランザクションでデータの書き込みが指示された
    ときにはこのポインタをこの書き込みの終了予定位置ま
    で進めて、その後、そのトランザクションにおけるデー
    タの書き込みを行う書込時処理手段とを具備することを
    特徴とするヒープファイル管理システム。
  2. 【請求項2】 ファイルの先頭からデータの書き込みを
    レコード単位で順に行うヒープファイルと、 このヒープファイルのデータの次の書き込み位置を示す
    ポインタと、 あるトランザクションでデータの書き込みが指示された
    ときにはこのポインタをこの書き込みの終了予定位置ま
    で進めて、その後、そのトランザクションにおけるデー
    タの書き込みを行う書込時処理手段と、 前記ポインタをそれぞれ対応する書き込みの終了予定位
    置まで進めるたびに“0”からカウント値を1つずつイ
    ンクリメントすると共に、データの書き込みについての
    1つのトランザクションが終了するたびにカウント値を
    1つずつカウントダウンするカウンタとを具備すること
    を特徴とするヒープファイル管理システム。
  3. 【請求項3】 ファイルの先頭からデータの書き込みを
    レコード単位で順に行うヒープファイルと、 このヒープファイルのデータの次の書き込み位置を示す
    第1のポインタと、 あるトランザクションでデータの書き込みが指示された
    ときにはこの第1のポインタをこの書き込みの終了予定
    位置まで進めて、その後、そのトランザクションにおけ
    るデータの書き込みを行う書込時処理手段と、 他のトランザクションでレコードの更新または検索が指
    示されたとき現時点におけるデータの空白領域の先頭を
    指示する第2のポインタと、 前記第1のポインタをそれぞれ対応する書き込みの終了
    予定位置まで進めるたびに“0”からカウント値を1つ
    ずつインクリメントすると共に、データの書き込みにつ
    いての1つのトランザクションが終了するたびにカウン
    ト値を1つずつカウントダウンするカウンタと、 前記他のトランザクションでレコードの更新または検索
    が指示されたときこれを実行する更新・検索実行手段
    と、 この更新・検索実行手段でレコードの更新または検索が
    実行された後、前記更新カウンタのカウント値をチェッ
    クするカウント値チェック手段と、 このカウント値チェック手段によってカウント値が
    “0”でないと判別されたときカウント値が“0”にな
    るまで処理を中断した後、前記第2のポインタの値を新
    たに取得し現在保持している第2のポインタの値と新た
    に取得した第2のポインタの値の範囲で更新または検索
    を行う更新・検索追加第1実行手段と、 前記更新・検索実行手段あるいは前記更新・検索追加第
    1実行手段で更新または検索が実行された後、前記カウ
    ント値チェック手段によってカウント値が“0”である
    と判別されたとき、前記第2のポインタの値を新たに取
    得し現在保持している第2のポインタの値と新たに取得
    した第2のポインタの値を比較する比較手段と、 この比較手段の比較結果が等しいときにはレコードの更
    新または検索処理を終了させ、等しくないときには等し
    くなるまで現在保持している第2のポインタの値とその
    都度新たに取得する第2のポインタの値の範囲で更新ま
    たは検索を行う更新・検索追加第2実行手段とを具備す
    ることを特徴とするヒープファイル管理システム。
JP6252204A 1994-10-18 1994-10-18 ヒープファイル管理システム Pending JPH08115242A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6252204A JPH08115242A (ja) 1994-10-18 1994-10-18 ヒープファイル管理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6252204A JPH08115242A (ja) 1994-10-18 1994-10-18 ヒープファイル管理システム

Publications (1)

Publication Number Publication Date
JPH08115242A true JPH08115242A (ja) 1996-05-07

Family

ID=17233954

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6252204A Pending JPH08115242A (ja) 1994-10-18 1994-10-18 ヒープファイル管理システム

Country Status (1)

Country Link
JP (1) JPH08115242A (ja)

Similar Documents

Publication Publication Date Title
CN1026631C (zh) 利用索引树对数据库记录进行并发存取的方法
EP1040433B1 (en) A fine-grained consistency mechanism for optimistic concurrency control using lock groups
EP0559358A2 (en) Concurrent access to indexed data files
JPH04229355A (ja) データアクセス方法及びデータ処理システム
CN114282074B (zh) 数据库操作方法、装置、设备及存储介质
US20040122868A1 (en) System and method for identifying and maintaining base table data blocks requiring deferred incremental integrity maintenance
EP1850250A1 (en) Method and system for renewing an index
JP2002528822A (ja) Checkユーティリティー用の例外テーブルを維持する方法
JPH11232307A (ja) 電子文書における位置の追跡
JPH08115242A (ja) ヒープファイル管理システム
JP2675958B2 (ja) 情報検索用計算機システム及びその記憶装置の動作方法
JPH096653A (ja) データベースのチェックを行う情報処理装置
JP2843748B2 (ja) 排他制御方式
JP3423422B2 (ja) 情報処理方法及び情報処理装置
JPH05158777A (ja) データ管理システム
JP2615046B2 (ja) レコード追加処理方法
JP2943693B2 (ja) ソート作業ファイルスペース管理方式
JPH0239225A (ja) ファイルシステム
JP3398672B2 (ja) 中間データ格納装置
JPH07230402A (ja) データベース管理装置
JPH01205351A (ja) ロック制御方式
JPH04264674A (ja) ファイル検索方法及び装置
JPH0553886A (ja) テーブルアクセス管理方式
JPH04274571A (ja) イメージデータのファイル格納方式
JPS63150724A (ja) デ−タアクセス処理方式