JP2743849B2 - 更新バッファ管理装置 - Google Patents

更新バッファ管理装置

Info

Publication number
JP2743849B2
JP2743849B2 JP6318399A JP31839994A JP2743849B2 JP 2743849 B2 JP2743849 B2 JP 2743849B2 JP 6318399 A JP6318399 A JP 6318399A JP 31839994 A JP31839994 A JP 31839994A JP 2743849 B2 JP2743849 B2 JP 2743849B2
Authority
JP
Japan
Prior art keywords
update
update buffer
buffers
management device
buffer
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
JP6318399A
Other languages
English (en)
Other versions
JPH08179977A (ja
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP6318399A priority Critical patent/JP2743849B2/ja
Publication of JPH08179977A publication Critical patent/JPH08179977A/ja
Application granted granted Critical
Publication of JP2743849B2 publication Critical patent/JP2743849B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データベース管理シス
テムにおいて更新されたデータを2次記憶装置に掃き出
すまで更新バッファとして管理する更新バッファ管理装
置に関し、特に複数のプロセスが並行に動作する場合の
更新バッファ管理装置に関する。
【0002】
【従来の技術】データベースを用いて処理を行うプロセ
スは、通常複数のトランザクションによって処理され
る。そして一つのトランザクションはプログラムによる
何回かのデータ更新処理を含んでいる。プログラムは必
要なデータを2次記憶装置内のデータベースから読み出
して、必要な処理を行い、更新したデータを出力する。
プログラムによるデータの入出力要求を受けたデータベ
ース管理システムはデータベースにアクセスして必要な
処理を行う。
【0003】ところで、近年のデータベース管理システ
ムにおいては、あるトランザクション内のプログラムが
2次記憶装置から読み出したデータを更新しても、これ
を2次記憶装置に書き戻さずに一時更新バッファ管理装
置内に更新バッファとして格納しておく技術が開発され
ている。この場合、そのトランザクション内で同一デー
タを再び更新したときには更新バッファ管理装置内の更
新バッファに上書きすることができ、2次記憶装置への
アクセス回数を減らし、処理の高速化が図られる。そし
て更新バッファは、静止点確立処理の要求があったとき
(通常はトランザクションが終了した時点)に一括して
2次記憶装置に掃き出される。
【0004】
【発明が解決しようとする課題】しかし、更新バッファ
管理装置内において更新バッファを格納できる領域(更
新バッファ用領域)は有限であるため、複数のプロセス
が並行して動作する場合に、先行するプロセスが大量の
データの更新および格納を要求したとき、このプロセス
によって更新バッファ用領域の大部分が占有されてしま
い、他の多くのプロセスが残りのわずかな領域を奪い合
うという状態が生じ、プロセス間の処理速度に不均衡が
生じるという問題点があった。
【0005】本発明の目的は、複数のプロセスが同時に
並行動作しているときに、更新バッファ用領域をプロセ
ス間で適切且つ無駄なく割り当てて、プロセスの処理速
度の平均化、および更新バッファ用領域の有効な利用を
図ることのできる更新バッファ管理装置を提供すること
である。
【0006】また、本発明の他の目的は、更新バッファ
を2次記憶装置に掃き出す際に、不必要な更新バッファ
から掃き出すことによって、更新バッファ用領域の効率
的な利用を図ることのできる更新バッファ管理装置を提
供することである。
【0007】
【課題を解決するための手段】上記課題を解決するため
に本発明の更新バッファ管理装置は、2次記憶から読み
出された後更新されたデータを更新バッファとして格納
し、静止点確立要求があると2次記憶に掃き出す更新バ
ッファ管理装置において、設定時においてシステム上で
動作しているプロセス総数に従って、各プロセスが保有
可能な更新バッファ数を、該プロセスの動作開始後に設
定するという構成を有している。
【0008】特に、各プロセスに均等に更新バッファ用
の領域を割り当てるために、各プロセスが保有可能な更
新バッファ数を、更新バッファ用領域数を設定時におい
てシステム上で動作しているプロセス総数で除した数に
設定するようにすることができる。
【0009】また、保有可能な更新バッファ数の設定
を、静止点確立要求があったときに行うようにすること
ができる。特に、この設定を各プロセス内のトランザク
ション終了毎に行うようにすることもできる。
【0010】さらに、この設定を各プロセスの動作開始
時においても行うようにすることが望ましい。
【0011】また、保有可能な更新バッファ数を超えそ
うになったプロセスがある場合、すなわち保有可能な更
新バッファ数と等しい数の更新バッファを保有するプロ
セスがさらに更新されたデータの格納要求を出した場合
に、該プロセスが保有する更新バッファのうち最もアク
セス回数の少ない更新バッファの中で、最も最終更新日
時の古い更新バッファを掃き出すようにすることが望ま
しい。
【0012】さらに、更新バッファを保有しないプロセ
スが更新されたデータの格納要求を出した場合に、更新
バッファ用領域が全て他のプロセスに保有されていると
きに、他のプロセスの保有する更新バッファの少なくと
も1つを2次記憶へ掃き出すようにすることができる。
特に、他のプロセス中最も多くの更新バッファを保有し
ているプロセスの保有する更新バッファを掃き出すよう
にすることが望ましい。
【0013】
【実施例】次に本発明の更新バッファ管理装置の一実施
例について図面を参照して詳細に説明する。
【0014】図1を参照すると、本発明の一実施例であ
る更新バッファ管理装置1は、更新バッファ管理装置1
全体の制御を行う制御部3と、データベース20を格納
する2次記憶装置2および図示しないプログラムとの間
の入出力を処理する入出力処理部4と、記憶部5とを有
している。
【0015】記憶部5は、プロセス管理情報部50と、
更新バッファ情報部60とを備えている。
【0016】プロセス管理情報部50は、システム上で
動作しているプロセス毎の管理情報を保持している。図
2はプロセス管理情報部50が管理している内容を示し
たものである。プロセス管理情報部50はそれぞれ一つ
のプロセスに対応する複数のエントリを有し、各エント
リはプロセスを特定する番号(プロセスID)が格納さ
れるプロセスID格納部500と、各プロセスが保有で
きる更新バッファ数を格納する保有可能更新バッファ数
格納部501と、各プロセスが現に保有している更新バ
ッファ数を格納する現保有更新バッファ数格納部502
と、更新バッファ情報部60内の更新バッファ管理部6
1のエントリへのポインタを格納する更新バッファ管理
エントリポインタ格納部503とを有している。
【0017】更新バッファ情報部60は、更新バッファ
管理部61と更新バッファデータ部62とを有してい
る。更新バッファデータ部62は、プログラムから送ら
れてきた更新データをバッファ領域に格納し、更新バッ
ファ管理部61は更新バッファデータ部の各バッファ領
域に対応する複数のエントリを有している。図3は更新
バッファ管理部61が管理している内容を示したもので
ある。各エントリは更新バッファデータ部62の各バッ
ファ領域に対応しており、更新バッファデータ部62内
の対応するバッファ領域へのアクセスポインタを格納す
る更新バッファポインタ格納部610と、格納されたデ
ータの2次記憶装置2上のアドレスを格納するデータア
ドレス格納部611と、同じプロセスが有する他の更新
バッファに対応するエントリへのアクセスポインタを格
納する更新バッファリンクポインタ格納部612と、エ
ントリに対応するバッファ領域内のデータが格納後に上
書きされた回数を格納する更新バッファアクセス数格納
部613と、更新バッファが格納された日時または最後
に上書きされた日時を格納する最終更新日時格納部61
4とを有している。
【0018】プロセス管理情報部50内の更新バッファ
管理エントリポインタ格納部503は、当該プロセスが
保有する更新バッファに対応する更新バッファ管理部6
1内のエントリの先頭アドレスを格納しており、また、
更新バッファ管理部61内の更新バッファリンクポイン
タ格納部612は、当該プロセスの他の更新バッファに
対応するエントリの先頭アドレスを格納している。これ
によって、これらのポインタを順に辿ることで、あるプ
ロセスが保有している更新バッファを順にアクセスする
ことが可能となる。
【0019】次に、本実施例における更新バッファ管理
装置1の動作を説明する。本実施例の特徴は、各プロセ
スの動作開始時と、静止点確立要求時、すなわち各トラ
ンザクションの終了時において、システムが使用できる
更新バッファ用領域数をプロセス総数で割った値を、当
該プロセスの保有可能更新バッファ数として格納する点
にある。なお、以下では異なるプロセスが同一データに
アクセスすることはないものとする。
【0020】更新バッファ管理装置1にプログラムから
送られてくる指示には、プロセスの動作開始時における
プロセス管理情報部エントリ作成要求と、トランザクシ
ョン内で更新されたデータの格納要求と、一つのトラン
ザクションが終了した時点における静止点確立要求と、
プロセスの動作終了時におけるプロセス管理情報部エン
トリ消去要求とがある。
【0021】プロセスの動作開始時におけるプロセス管
理情報部エントリ作成要求があった場合、制御部3は要
求コマンド内に含まれるプロセスIDを得て、プロセス
管理情報部50内の空きエントリのプロセスID格納部
500に当該プロセスIDを格納する。そしてプロセス
管理情報部50内の使用中のエントリ数を調べることで
システムで動作している総プロセス数(a)を得て、更
新バッファデータ部62にある更新バッファ用領域数
(システムによって定まる;通常は数100〜数万)/
aを計算し、その小数点以下を切り捨てた数を、自プロ
セスに対応するエントリ内の保有可能更新バッファ数格
納部501に格納し、現保有更新バッファ数格納部50
2に「0」を格納する。このようにして動作を開始した
プロセスに対応するエントリが作成される。
【0022】次に、プログラムから更新データの格納要
求があったときの処理を図4ないし図6を参照して説明
する。
【0023】プログラムから更新されたデータの格納要
求が入出力処理部4に送られてくると、制御部3はその
プログラムが属するプロセスIDを得て(ステップS
1)、プロセス管理情報部50内のエントリを索引して
当該プロセスIDを格納するエントリを探し、そのエン
トリ内の更新バッファ管理エントリポインタ格納部50
3内に更新バッファ管理部61内のエントリへのアクセ
スポインタがあるか否かを判定する(ステップS2)。
ここで、もし更新バッファ管理エントリポインタが未格
納であれば、当該プロセスが格納した更新バッファはな
いものとしてステップS8にジャンプする。
【0024】更新バッファ管理エントリポインタがある
場合、そのポインタにより指示される更新バッファ管理
部61内のエントリ内のデータアドレス格納部611の
内容を取得して(ステップS3)、プログラムから格納
要求のあったデータのアドレスとの比較を行う(ステッ
プS4)。アドレスが一致しなかった場合、当該エント
リ内の更新バッファリンクポインタ格納部612内にポ
インタが格納されているか否かを調べて(ステップS
5)、あればステップS3に戻ってそのポインタで指示
されるエントリについて同様の処理を行う。
【0025】もし、ステップS4においてアドレス比較
結果が一致した場合、すなわち格納要求のあったデータ
が更新バッファデータ部62内にあると判明した場合、
そのバッファ領域内に格納されている更新バッファに格
納要求のあったデータを上書きする(ステップS6)。
そして、このバッファ領域に対応する更新バッファ管理
部61内のエントリの更新バッファアクセス数格納部6
13の内容をカウントアップして最終更新日時格納部6
14の内容を更新して(ステップS7)、処理を終了す
る。
【0026】もし、ステップS5において更新バッファ
リンクポインタがなかった場合またはステップS2にお
いて更新バッファ管理エントリポインタが未格納であっ
た場合、すなわち格納要求のあったデータが更新バッフ
ァデータ部62内にないと判明した場合、プロセス管理
情報部50内の自プロセスに対応するエントリの現保有
更新バッファ数格納部502の内容と保有可能更新バッ
ファ数格納部501の内容とを比較する(ステップS
8)。ここで、前者の方が小さいときはステップS9に
進み、前者の方が小さくないときはステップS13に進
む。
【0027】ステップS9では更新バッファデータ部6
2に空きバッファ領域があるかどうかを更新バッファ管
理部61内で使用されていないエントリがあるか否かで
判定する。
【0028】もし、空きバッファ領域があると判明した
ときは、そこに格納要求のあったデータを格納し(ステ
ップS10)、対応する更新バッファ管理部61のエン
トリに必要な情報を登録し、プロセス管理情報部50内
の自プロセスに対応するエントリの現保有更新バッファ
数格納部502の内容をカウントアップする(ステップ
S11)。そしてステップS2において更新バッファ管
理エントリポインタが未格納であった更新バッファ管理
エントリポインタ格納部503またはステップS5にお
いて更新バッファリンクポインタがなかった更新バッフ
ァリンクポインタ格納部612に、データを格納したバ
ッファ領域に対応するエントリへのアクセスポインタを
格納して(ステップS12)、処理を終了する。
【0029】もしステップS9において空きバッファ領
域がないと判明したときはステップS13に進む。
【0030】ステップS13においては、プロセス管理
情報部50内の自プロセスに対応するエントリの現保有
更新バッファ数格納部502から現保有更新バッファ数
(b)を取得する(ステップS14)。
【0031】もし、この数が0より大きければ、プロセ
ス管理情報部50内の自プロセスに対応するエントリの
更新バッファ管理エントリポインタおよびこれにより指
示される更新バッファ管理部61内のエントリの更新バ
ッファリンクポインタを辿って自プロセスが保有する全
ての更新バッファの更新バッファアクセス数および最終
更新日時を取得する(ステップS16)。そして更新バ
ッファアクセス数が最小な更新バッファの内、さらに最
終更新日時が最も古い更新バッファを選択する(ステッ
プS17)。そしてこうして選択された更新バッファが
最も不要な更新バッファであると判断して、当該更新バ
ッファを2次記憶装置へ掃き出して(ステップS1
8)、掃き出した更新バッファに対応するエントリに更
新バッファリンクポインタがあれば、これを当該エント
リの前者のエントリ内の更新バッファリンクポインタ格
納部612またはプロセス管理情報部50内の更新バッ
ファ管理エントリポインタ格納部503に格納して、リ
ンクを付け替えて(ステップS19)、掃き出された更
新バッファに対応するエントリの内容を更新バッファポ
インタを除いてクリアして、プロセス管理情報部50内
の現保有更新バッファ数格納部502の内容をカウント
ダウン(―1)する(ステップ20)。
【0032】もし、自プロセスの現保有更新バッファ数
が0のときは、現保有更新バッファ数が最大のプロセス
を選択して(ステップS15)、このプロセスについて
前述のステップ16以降の処理を実行する。
【0033】このようにして更新バッファの掃き出しが
終了すると、ステップS8に戻る。以後の処理は前述の
場合と同様である。
【0034】次にトランザクション終了時における静止
点確立処理の要求があった場合の動作を説明する。
【0035】まず、制御部3は要求コマンドからプロセ
スIDを得る。そして、更新バッファ管理エントリポイ
ンタ格納部503内のアクセスポインタおよび更新バッ
ファ管理部61内の更新バッファリンクポインタを辿っ
て自プロセスが保有する全ての更新バッファの2次記憶
装置への掃き出しを行い、更新バッファ管理部61内の
対応するエントリの内容を更新バッファポインタを除い
てクリアする。そしてプロセス管理情報部50内の使用
中のエントリを調べることでシステム上で動作している
総プロセス数(c)を得て、更新バッファデータ部62
にある更新バッファ用領域数/cを計算して、その小数
点以下を切り捨てた数をプロセス管理情報部50内の自
プロセスに対応するエントリの保有可能更新バッファ数
格納部501に格納し、現保有更新バッファ数格納部に
「0」を格納して、更新バッファ管理エントリポインタ
格納部503の内容をクリアする。
【0036】最後に、各プロセス終了時におけるプロセ
ス管理情報部エントリ消去要求があった場合には、要求
コマンドからプロセスIDを得て、このプロセスIDを
有するプロセス管理情報部50内のエントリを検索し
て、そのエントリ内の情報を消去する。
【0037】このように、各プロセスの動作開始時と、
静止点確立要求時すなわち各トランザクションの終了時
において、プロセス管理情報部50内に登録されている
プロセス数すなわちシステム上で動作しているプロセス
総数を得て、更新バッファデータ部62内のバッファ領
域数をこれで除した数を当該プロセスに対応するプロセ
ス管理情報部50内のエントリの保有可能更新バッファ
数格納部501に格納している。
【0038】一方、図5のステップS8以下に示されて
いるように、プログラムから更新データが送られてきた
場合において、現保有更新バッファ数が保有可能更新バ
ッファ数格納部501内に格納された数より小さくない
ときには、自プロセス(自プロセスが更新バッファを保
有していないときは他のプロセス)の保有する更新バッ
ファ掃き出した(ステップS18)後に、当該更新デー
タを格納している(ステップS10)ことより、現保有
更新バッファ数は保有可能更新バッファ数格納部501
内に格納された数を超過しないように制御されるから、
先行するプロセスも保有可能更新バッファ数が更新され
れば、その数を超えて更新バッファ用の領域を占有する
ことはなくなり、後続のプロセスも更新バッファを平等
に保有できるようになる。
【0039】例えば更新バッファデータ部62内のバッ
ファ領域数を30として、3つのプロセスA、B、Cが
この順に動作を開始したとすると、プロセスAが他のプ
ロセスより多くの更新バッファ領域を占有する可能性が
高く、プロセス間に不公平が生じるおそれがある。しか
し、本実施例においては、各プロセスの動作開始時の保
有可能更新バッファ数はそれぞれ「30」「15」「1
0」であるが、プロセスBの動作開始後のトランザクシ
ョン終了時点以後はプロセスAの保有可能更新バッファ
数は「15」となり、プロセスCの動作開始後のトラン
ザクション終了時点以後は「10」となって、プロセス
Cと同等になる。プロセスBも、プロセスCの動作開始
後のトランザクション終了時点以後は保有可能更新バッ
ファ数は「10」となり、やはりプロセスCと同等にな
る。
【0040】また逆に、プロセス数が減少した場合、例
えば先の例でプロセスAが終了した場合には、プロセス
A終了後のそれぞれのトランザクション終了時点以後は
プロセスB、Cの保有可能更新バッファ数は「15」と
なるので、更新バッファ用領域を無駄なく使用すること
ができる。
【0041】このように本実施例では、各プロセスの開
始時および各トランザクションの終了時にそれぞれ、更
新バッファ用領域数をその時点で動作している総プロセ
ス数で除した数を各プロセスの保有可能更新バッファ数
として設定することによって、システム上で動作してい
るプロセス数が変化しても、システムで使用できる更新
バッファ用領域が各プロセスに均等に且つ無駄なく割り
当てられ、各プロセスの処理速度が均一化され、且つ更
新バッファ用の領域の有効利用が図られるという効果を
有する。
【0042】また本実施例では、更新バッファ用の空き
バッファ領域を確保するために掃き出す更新バッファを
選択する際に、プロセスが保有する更新バッファの中で
最もアクセス数の少ない更新バッファの内最も最終更新
日時が古い更新バッファを選択することで、最も不要な
更新バッファを優先的に掃き出すことにより、更新バッ
ファ用領域の効率的な利用を図ることができるという効
果を有する。
【0043】なお、本実施例では、異なるプロセスが同
一データにアクセスすることはないものと仮定したが、
これはデータの競合を防ぐための処理が複雑であって且
つ本願発明の特徴とは無関係な処理であるためにこの処
理を省略することを目的として置いた仮定であって、デ
ータの競合を防ぐ処理を付け加えたものも本願発明の対
象であることは当然である。
【0044】なお、本実施例では保有可能更新バッファ
数の設定を各プロセスに均等になるようにしているが、
特に更新回数の多いプロセスや同一データを繰り返し更
新するプロセスなどに対して多くの更新バッファ用領域
を割り当てるようにしてもよい。また、本実施例では保
有可能更新バッファ数の計算において小数点以下の切り
捨てを行っているが、これに限られず四捨五入などの適
当な計算法を用いてよいことは言うまでもない。
【0045】また、本実施例では静止点確立要求時(各
トランザクション終了時)すなわちプログラムがデータ
の更新動作をしていないときに保有可能更新バッファ数
の設定を行っており、保有可能更新バッファ数の設定に
よりプログラムの処理が待たされることがなく、処理の
遅延を招かないという効果がある。しかし、保有可能更
新バッファ数の設定時点はこれに限られるわけではな
く、プログラムによる更新データ格納要求時、後続のプ
ロセスの動作開始時、あるいはプログラムまたはオペレ
ータからの個別の指示によって行ってもよい。静止点確
立要求も各トランザクション終了時に限られず、プログ
ラムまたはユーザによって適宜出されてよい。
【0046】さらに、本実施例では各プロセス毎に個別
に保有可能更新バッファ数の設定を行っているが、ある
プロセスの保有可能更新バッファ数の設定を行う際に、
他のプロセスの保有可能更新バッファ数の設定も合わせ
て行うようにしてもよい。
【0047】なお、本実施例では各プロセスが保有する
更新バッファにアクセスするのに、プロセス管理情報部
50内の更新バッファ管理エントリポインタ格納部50
3、および更新バッファ管理部61内の更新バッファリ
ンクポインタ格納部612に格納されているポインタを
順に辿るという手段を採っているが、これに限られず、
例えば更新バッファ管理部61内の各エントリにプロセ
スIDを格納するようにしてもよい。また、本実施例で
は最終更新日時格納部614を設けることで更新バッフ
ァの新旧を判断しているが、プロセス管理情報部50内
の更新バッファ管理エントリポインタ格納部503、お
よび更新バッファ管理部61内の更新バッファリンクポ
インタ格納部612に格納されているポインタが、常に
最終更新日時順にリンクされるように構成してもよい。
この場合、リンクの末尾の更新バッファが常に最終更新
日時の最も古い更新バッファとなるので、最終更新日時
格納部614およびそこへのアクセスが不要となり、処
理速度の向上が期待できる。
【0048】また、本実施例では更新バッファデータ部
62内に空き領域がない場合に、自プロセスが保有する
更新バッファがないときには、ステップS15において
他のプロセスの内現保有更新バッファ数が最大のプロセ
スを選んで、その中から掃き出す更新バッファを選択す
ることにより、保有する更新バッファのないプロセスも
更新バッファを保有することができるのみならず、プロ
セス間の保有更新バッファの不均衡を是正することがで
きる。もっとも、本発明の実施態様はこれに限られず、
例えば更新バッファデータ部62内の全更新バッファの
中で最も不要な更新バッファを掃き出すようにしてもよ
い。
【0049】
【発明の効果】以上の説明で明らかなように、本発明の
更新バッファ管理装置によると、設定時においてシステ
ム上で動作しているプロセス総数に従って、各プロセス
が保有可能な更新バッファ数を該プロセスの動作開始後
に設定するという構成により、システム上で複数のプロ
セスが動作している場合に、特に、動作しているプロセ
スの総数が変化するようなときでも、システムで使用で
きる更新バッファ用の領域が各プロセスに適切に且つ無
駄なく割り当てられ、各プロセスの処理速度が均一化さ
れ、且つ更新バッファ用の領域の有効利用が図られると
いう効果を有する。
【0050】特に、各プロセスが保有可能な更新バッフ
ァ数を、使用可能な更新バッファ領域数を設定時におい
てシステム上で動作しているプロセス総数で除した数に
設定することにより、各プロセスに均等に更新バッファ
用の領域を割り当てて、もって各プロセスの処理速度が
特に均一化できる。
【0051】また、保有可能な更新バッファ数の設定
を、静止点確立要求があったときに行うようにすること
により、特に、この設定を各プロセス内のトランザクシ
ョン終了毎に行うことにより、保有可能な更新バッファ
数の設定によるプログラムの処理の遅延を招かずに済
む。
【0052】さらに、この設定を各プロセスの動作開始
時においても行うようにすることにより、後続のプロセ
スに対してプロセスの動作開始時から適切な保有可能な
更新バッファ数の設定が可能となる。
【0053】また、保有可能な更新バッファ数を超えそ
うになったプロセスがある場合、すなわち保有可能な更
新バッファ数と等しい数の更新バッファを保有するプロ
セスがさらに更新されたデータの格納要求を出した場合
に、該プロセスが保有する更新バッファのうち最もアク
セス回数の少ない更新バッファの中で、最も最終更新日
時の古い更新バッファを掃き出すようにすることによっ
て、後に更新される可能性が相対的に大きい更新バッフ
ァが更新バッファ管理装置1内に残るので、更新バッフ
ァ用領域の効率的な利用が可能となる。
【0054】さらに、更新バッファ用領域が全て他のプ
ロセスに保有されていて空き領域がないときには、他の
プロセスの保有する更新バッファの少なくとも1つを2
次記憶へ掃き出すことにより、更新バッファを保有しな
いプロセスが更新されたデータの格納要求を出した場合
にも、更新バッファを保有することが可能となる。特
に、他のプロセス中最も多くの更新バッファを保有して
いるプロセスの保有する更新バッファを掃き出すように
すれば、プロセス間の保有更新バッファ数の不均衡が是
正されるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例の構成を示すブロック図であ
る。
【図2】本発明の一実施例のプロセス管理情報部50の
内容を示す図である。
【図3】本発明の一実施例の更新バッファ管理部62の
内容を示す図である。
【図4】本発明の一実施例の、プログラムからの更新デ
ータの格納要求があったときの動作を示すフローチャー
トである。
【図5】図4の続きを示すフローチャートである。
【図6】図5の続きを示すフローチャートである。
【符号の説明】
1 更新バッファ管理装置 2 2次記憶装置 3 制御部 4 入出力処理部 5 記憶部 20 データベース 50 プロセス管理情報部 60 更新バッファ情報部 61 更新バッファ管理部 62 更新バッファデータ部 500 プロセスID格納部 501 保有可能更新バッファ数格納部 502 現保有更新バッファ数格納部 503 更新バッファ管理エントリポインタ格納部 610 更新バッファポインタ格納部 611 データアドレス格納部 612 更新バッファリンクポインタ格納部 613 更新バッファアクセス数格納部 614 最終更新日時格納部

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 2次記憶から読み出された後更新された
    データを更新バッファとして格納し、静止点確立要求が
    あると前記2次記憶へ掃き出す更新バッファ管理装置に
    おいて、 設定時において動作しているプロセス総数に従って、各
    プロセスが保有可能な更新バッファ数を、各プロセス内
    のトランザクションの終了の毎に設定することを特徴と
    する更新バッファ管理装置。
  2. 【請求項2】 2次記憶から読み出された後更新された
    データを更新バッファとして格納し、静止点確立要求が
    あると前記2次記憶へ掃き出す更新バッファ管理装置に
    おいて、 設定時において動作しているプロセス総数に従って、各
    プロセスが保有可能な更新バッファ数を、各プロセスの
    動作開始時に 設定することを特徴とする更新バッファ管
    理装置。
  3. 【請求項3】 2次記憶から読み出された後更新された
    データを更新バッファとして格納し、静止点確立要求が
    あると前記2次記憶へ掃き出す更新バッファ管理装置に
    おいて、 各プロセス内のトランザクション終了の毎に、各プロセ
    スが保有可能な更新バッファ数を、更新バッファ用領域
    数を設定時動作中のプロセス総数で除した数に設定する
    ことを特徴とする 更新バッファ管理装置。
  4. 【請求項4】 2次記憶から読み出された後更新された
    データを更新バッファとして格納し、静止点確立要求が
    あると前記2次記憶へ掃き出す更新バッファ管理装置に
    おいて、 各プロセスの動作開始時に、各プロセスが保有可能な更
    新バッファ数を、更新バッファ用領域数を設定時動作中
    のプロセス総数で除した数に設定することを特徴とする
    更新バッファ管理装置。
  5. 【請求項5】 前記設定を各プロセスの動作開始時にお
    いても行うことを特徴とする請求項3記載の更新バッフ
    ァ管理装置。
  6. 【請求項6】 2次記憶から読み出された後更新された
    データを更新バッファとして格納し、静止点確立要求が
    あると前記2次記憶へ掃き出す更新バッファ管理 装置に
    おいて、 各プロセスの動作開始後に、各プロセスが保有可能な更
    新バッファ数を、更新バッファ用領域数を設定時動作中
    のプロセス総数で除した数に設定し、 保有可能な更新バッファ数と等しい数の更新バッファを
    保有するプロセスがさらに更新されたデータの格納要求
    を出した場合に、該プロセスが保有する更新バッファの
    うち最もアクセス回数の少ない更新バッファの中で、最
    も最終更新日時の古い更新バッファを前記2次記憶へ掃
    き出すことを特徴とする 更新バッファ管理装置。
JP6318399A 1994-12-21 1994-12-21 更新バッファ管理装置 Expired - Lifetime JP2743849B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6318399A JP2743849B2 (ja) 1994-12-21 1994-12-21 更新バッファ管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6318399A JP2743849B2 (ja) 1994-12-21 1994-12-21 更新バッファ管理装置

Publications (2)

Publication Number Publication Date
JPH08179977A JPH08179977A (ja) 1996-07-12
JP2743849B2 true JP2743849B2 (ja) 1998-04-22

Family

ID=18098725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6318399A Expired - Lifetime JP2743849B2 (ja) 1994-12-21 1994-12-21 更新バッファ管理装置

Country Status (1)

Country Link
JP (1) JP2743849B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10684986B2 (en) * 2013-08-28 2020-06-16 Biosense Webster (Israel) Ltd. Double buffering with atomic transactions for the persistent storage of real-time data flows

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6299833A (ja) * 1985-10-25 1987-05-09 Fujitsu Ltd メモリ空間制御方式
JPH02287849A (ja) * 1989-04-28 1990-11-27 Toshiba Corp ディスクキャッシュ制御方法およびディスクキャッシュ装置

Also Published As

Publication number Publication date
JPH08179977A (ja) 1996-07-12

Similar Documents

Publication Publication Date Title
CA2436517C (en) Method and apparatus for data processing
JP4323637B2 (ja) メモリアロケーション方法及びメモリアロケーション装置並びに記憶媒体
JPH08129457A (ja) 外部記憶ストラクチャを拡大、縮小、及び再配分するための方法及び装置
JP4214712B2 (ja) データベースのページ確保処理方法
US5369732A (en) Method and apparatus for goal processing memory management
JP3701890B2 (ja) 圧縮メモリ・システムの再利用スペース予約
JP2743849B2 (ja) 更新バッファ管理装置
JP3301359B2 (ja) リスト管理システム、方法及び記憶媒体
JP2003022213A (ja) ガベージコレクションされた言語のためのインスタンス削減アルゴリズム
JP2839530B2 (ja) メモリ割当て優先度の動的変更処理方式
JP2933486B2 (ja) データベースの同時全件検索方法
JP2708012B2 (ja) 更新バッファ管理装置
EP0551528A1 (en) Method and apparatus for reducing lock period of shared buffer
JPS5835656A (ja) セル管理制御方式
JPH04337866A (ja) データベース管理装置
JPH07152652A (ja) 仮想記憶制御方法及び情報処理装置
JP2523499B2 (ja) アクセス制御方法
JPH1069429A (ja) バッファ割当て管理装置およびバッファ割当て管理プログラム
JPH05181721A (ja) 共有バッファの再利用検索方法
JPH0756799A (ja) 記憶領域管理方法
JP3318787B2 (ja) データ管理方法およびその装置
JPH0659947A (ja) 受信処理の競合管理方式
JPH0793192A (ja) ファイル管理方法
JPH06266622A (ja) キャッシュ制御装置
JP2002182981A (ja) ページング効率を考慮したページ固定装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980106