JP2967726B2 - データベース手続き共有化方式 - Google Patents

データベース手続き共有化方式

Info

Publication number
JP2967726B2
JP2967726B2 JP8159112A JP15911296A JP2967726B2 JP 2967726 B2 JP2967726 B2 JP 2967726B2 JP 8159112 A JP8159112 A JP 8159112A JP 15911296 A JP15911296 A JP 15911296A JP 2967726 B2 JP2967726 B2 JP 2967726B2
Authority
JP
Japan
Prior art keywords
database
dml
procedure
shared
loaded
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 - Fee Related
Application number
JP8159112A
Other languages
English (en)
Other versions
JPH09319643A (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
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP8159112A priority Critical patent/JP2967726B2/ja
Publication of JPH09319643A publication Critical patent/JPH09319643A/ja
Application granted granted Critical
Publication of JP2967726B2 publication Critical patent/JP2967726B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データベース制御
システムに関し、特にデータベース操作を行う手続きの
解析を事前に済ませてファイルに格納しておき、実行時
にはこの手続きをメモリに展開して実行を行うデータベ
ース制御システムにおいて、複数のプロセスから同一の
データベース操作手続きを共有化する方式に関する。
【0002】
【従来の技術】この種のデータベース操作を行う手続き
を実行時にファイルよりメモリに展開して実行するデー
タベース制御システムの従来技術として、複数プロセス
で同一のデータベース操作手続きを利用する場合でも、
各プロセス毎にデータベース操作手続きをメモリ上に展
開することが必要とされていた(例えば特開平4−29
9423号公報参照)。なお特開平4−299423号
公報には、データベース管理システムは手続き生成部と
接続して結合オブジェクトを通して元のオブジェクトの
変数を直接参照できるように、変数に対する同名の手続
きを自動的に生成し、利用者が更新手続きを更新の意味
に応じて結合クラスに対して定義したい場合、データベ
ース管理システムは手続き生成部によりデータベースに
登録することができ、他の利用者と共有することができ
るようにした方式が提案されている。
【0003】
【発明が解決しようとする課題】しかし、上述した従来
の方式には、下記記載の問題点がある。
【0004】その第1の問題点は、同一のデータベース
操作手続きであるにもかかわらず、実行されるプロセス
それぞれに対して展開されねばならないため、メモリを
余分に必要とする、ということである。
【0005】上記従来の方式の第2の問題点は、同一の
データベース操作手続きを利用するプロセス間で、手続
きの共有ができないため、他プロセスで既に同じデータ
ベース操作手続きがメモリに展開済みであっても、新た
にファイルよりメモリに展開する操作が必要とされ、こ
のため性能に影響を及ぼしている、ということである。
【0006】したがって、本発明は、上記事情に鑑みて
なされたものであって、その目的は、複数プロセス間
で、データベース操作を行う手続きの共有を可能とする
と共に、メモリの使用効率を改善し、データベース手続
きの展開に要する時間を削減して、データベースの操作
の性能を改善するようにしたデータベース制御システム
を提供することにある。
【0007】
【課題を解決するための手段】前記目的を達成するた
め、本発明は、データベースの操作を行う手続きの実行
時に該手続きをメモリに展開してデータベース操作を行
うデータベース制御システムにおいて、複数プロセスか
ら同時に同じデータベース操作手続きの展開要求があっ
た際に、その展開要求を制御する手段と、複数プロセス
にてデータベース操作手続きを共有するための手段と、
複数プロセス間における共有メモリ空間にデータベース
操作手続きを展開する領域を管理する手段と、を備え、
さらに、前記データベース操作手続きをオブジェクトと
して管理するためのテーブルを備え、該テーブルが、オ
ブジェクトの識別コードと、前記複数のプロセス間での
該オブジェクトの前記共有メモリ空間への展開要求に対
してクラス毎に排他ロック制御を行うためのクラス情報
とを各オブジェクト毎に備えるとともに、複数のプロセ
スにより共用される前記データベースの操作を行う手続
きをオブジェクトとして管理する共用制御テーブルを備
え、該テーブルが、前記オブジェクトの識別コードと、
該オブジェクトを使用するプロセスの使用カウントとを
備えたことを特徴とする。
【0008】本発明の原理を以下に説明する。本発明に
おいては、同時ロード制御手段(図1の101a)は複
数のプロセスより同一のデータベース操作手続きのロー
ド要求があった場合の制御を行い、オブジェクト共有手
段(図1の101b)は共有メモリ空間に展開したデー
タベース操作手続きの複数プロセスからの共有を制御
し、オブジェクトプール管理手段(図1の101c)は
共有メモリ空間内のデータベース操作手続きを管理し、
複数プロセス間でのデータベース操作手続きの共有、管
理を実現したものである。例えば図2に模式的に示すよ
うに、2つのプロセスAP1とAP4とがオブジェクト
OBJ1を共用し、AP5がオブジェクトOBJ2を単
独で使用し、3本のプロセスがオブジェクトOBJ3を
共用することを可能とし、データベース手続きの展開に
要する時間を削減して、データベースの操作のプログラ
ム性能を改善するようにしたものである。
【0009】
【発明の実施の形態】本発明の実施の形態について図面
を参照して以下に説明する。図1は、本発明の実施の形
態の構成を説明するための図である。
【0010】本発明の実施の形態として、COBOL埋
め込み型SQL(Structured Query Language;構
造化問い合わせ言語)を利用するアプリケーションプロ
グラムにおいて、データベースを操作する手続きをコン
パイル時に解析してファイルに格納し、実行時にはこれ
をメモリに展開して実行するデータベース管理システム
において、プロセス間共有メモリを利用してデータベー
ス操作手続きの共有を行うことにより、メモリの利用効
率の改善を図るようにした構成を説明する。以後、デー
タベース操作手続きを解析して中間コードとしてファイ
ルに格納してある形態を、「DMLオブジェクト」と呼
ぶ。また、以下の説明では、DMLオブジェクトのメモ
リへの展開処理をまとめて「ロード」と呼ぶことにす
る。
【0011】本発明の実施の形態は、DMLオブジェク
ト102aをオブジェクトライブラリ102よりメモリ
上に展開し、その展開された内容に従いデータベースを
操作するデータベース管理システム(以下「DBMS」
と略記する)において、DMLオブジェクト102aを
メモリ上に展開するオブジェクトロード手段101に対
して、複数プロセスから同一のDMLオブジェクトに対
するロードが同時に要求された場合に、ロード処理の制
御を行う同時ロード制御手段101aと、共有メモリ空
間に展開されたDMLオブジェクトを複数プロセスより
共有可能とするオブジェクト共有手段101bと、共有
メモリ空間にDMLオブジェクトを展開する領域(以下
「オブジェクトプール」という)103を作成して管理
するオブジェクトプール管理手段101cと、を備えて
構成されている。
【0012】同時ロード制御手段101aは、DMLオ
ブジェクト102aのロード完了の待ち合わせの制御を
行う。またオブジェクトプール管理手段101cは、D
MLオブジェクト102aの解放時には、同じDMLオ
ブジェクトを共有する全てのプロセスから解放の要求が
発行されるまで、実際のDMLオブジェクトの解放を行
わないように制御を行い、DMLオブジェクトの共有の
管理をオブジェクト共有手段101bにて行う。
【0013】以上の構成により、図2に示すように、プ
ロセス間の共有メモリ空間201に、複数プロセスより
共有するオブジェクトプール202を持ち、共有メモリ
空間にあるオブジェクトプールにて管理するDMLオブ
ジェクトの複数プロセスからの共有を実現する。以下
に、共有を実現する処理手順を具体的に説明する。
【0014】DMLオブジェクトの共有を行うプロセス
同士では、ロード途中の不完全なDMLオブジェクトを
参照しないために、ロード完了の待ち合わせが必要とな
る。しかし、DMLオブジェクトを共有しないプロセス
まで待たせてしまうと、システム全体の性能が大幅に低
下することになる。
【0015】そこで、本発明の実施の形態においては、
ロード中のDMLオブジェクトごとに別のクラスの排他
制御を行うことにより、必要な待ち合わせ処理を実現す
るようにしている。このため、本発明の実施の形態で
は、図3に示すような、ロード中のDMLオブジェクト
を管理する表(テーブル)を用いる。
【0016】図3を参照して、オブジェクトの管理表の
各エントリは、それぞれのDMLオブジェクトが一意に
持っているオブジェクトのID(識別コード)と、排他
ロックのクラスを情報として保持する。
【0017】ロード中のオブジェクト管理表には、その
時点でロード途中であるDMLオブジェクトの情報のみ
を登録し、ロードが完了した時点で、該当するDMLオ
ブジェクトの情報は管理表より削除する。
【0018】図4は、上述した説明の具体例を模式的に
示したものである。図4に示すように、ロード途中であ
るDMLオブジェクトOBJ1(403)とOBJ4
(406)の情報は管理表に登録されているが(管理表
のエントリ401,402参照)、ロードが完了してい
るDMLオブジェクトOBJ2(404)とOBJ3
(405)の情報は管理表には載っていない。
【0019】排他制御のためのロックの際には、図5に
示すように、管理表のエントリ中の排他ロックのクラス
に基づいて、クラス毎に排他ロックを行う。
【0020】次に、DMLオブジェクトロード時の待ち
合わせを行う同時ロード制御手段101aの処理手順
を、図6および図7の流れ図を参照して説明する。
【0021】同時ロード制御手段101aは、オブジェ
クトロードの際に、ロード中のオブジェクト管理表を参
照する。まず、ロード中のオブジェクト管理表の最初の
エントリに位置づけ(ステップ601)、登録されてい
るDMLオブジェクトのIDを読み出す(ステップ60
2)。
【0022】続いてロードしようとしているDMLオブ
ジェクトのIDと、読み出したエントリ中のDMLオブ
ジェクトのIDとを比較し(ステップ603)、比較し
たIDが互いに等しければステップ606へ分岐し、等
しくなければステップ604へ進む。
【0023】ステップ604では、ロード中のオブジェ
クト管理表の全エントリを検査したか否かをチェック
し、最後のエントリの検査が終ったのであればステップ
607へ進み、ロード中のDMLオブジェクト管理表の
エントリが残っている場合には、次のエントリに位置づ
け(ステップ605)、ステップ602から処理を繰り
返す。
【0024】ステップ607の処理に進むのは、これか
らロードしようとしているDMLオブジェクトが、ロー
ド中のオブジェクトの管理表に登録されていないという
場合である。この時には、DMLオブジェクトのIDと
ロックのクラスをペア(対)でロード中のDMLオブジ
ェクトの管理表に登録し(ステップ607)、登録した
エントリに対応するクラスで排他ロックをかける(ステ
ップ608)。
【0025】その後、通常のDMLオブジェクトのメモ
リへの展開処理を行う(図7のステップ701)。
【0026】一方、ステップ603の比較判定によりス
テップ606に進む場合は、既に同じDMLオブジェク
トが他のプロセスでロード中の場合であるため、他プロ
セスでのDMLオブジェクトのロードの完了を待つ。こ
のためロードしようとしているDMLオブジェクトのI
Dと同じIDを持つ、ロード中のオブジェクトの管理表
に既に登録済みのエントリに対応するロックのクラスを
使った排他ロックを行う。
【0027】既に他プロセスで同じDMLオブジェクト
をロード中である場合には、ロードを実行しているプロ
セスが同じクラスを使って排他ロックをかけているた
め、後からロード要求をするプロセスでは、先行プロセ
スが排他ロックを解除するまで待ち合わせることにな
る。
【0028】待ち合わせが解除されたら、ファイルから
のロード処理は行わずメモリ上に既に展開されているD
MLオブジェクトを、オブジェクト共有手段101bを
利用して共有する(ステップ702)。
【0029】DMLオブジェクトが使用中か否かの判定
は、後述するカウンタ制御により行うので、ステップ7
03で、DMLオブジェクト使用カウントを上げてお
く。この後、排他ロックを解除する(ステップ70
4)。
【0030】以上の工程にて、DMLオブジェクトのロ
ードは完了しているので、ロード中のオブジェクトの管
理表から該当エントリを削除する処理を行う。
【0031】まずオブジェクトの管理表の最初のエント
リに位置づけ(ステップ705)、登録されたDMLオ
ブジェクトのIDを取り出す(ステップ706)。取り
出したIDが、ロードしたDMLオブジェクトのIDと
等しいかどうかをチェックし(ステップ707)、等し
ければステップ710へ進み、等しくなければ該当エン
トリが管理表の最後のエントリであるか否かをチェック
し(ステップ708)、最後のエントリであれば処理を
終了し、管理表の最後のエントリでなければ次のエント
リに位置づけ(ステップ709)た後、ステップ706
からの処理を繰り返す。一方、ステップ707の判定に
おいて、ロードしたDMLオブジェクトと同じIDを持
つエントリが見つかった場合は、当該エントリを削除し
(ステップ710)、ロード処理を終了する。
【0032】共有されているDMLオブジェクトは、そ
れを共有しているプロセスが存在するうちはメモリ上か
ら解放してはいけないことから、使用カウントをもとに
解放処理を制御する。
【0033】本発明の実施の形態においては、この制御
のため、図8に示すような、DMLオブジェクトの共有
制御表を用いる。この制御はオブジェクトプール管理手
段101cにて行う。
【0034】図8を参照すると、DMLオブジェクトの
共有制御表は、エントリとして、各DMLオブジェクト
に固有なIDと、共有されている度数を表す使用カウン
トと、を備えている。
【0035】より具体的には、図9に示すように、2つ
のプログラムAP1とAP4とにより共有されているD
MLオブジェクトOBJ1(901)に対応する共有制
御表のエントリは904、AP5だけで使用しているD
MLオブジェクトOBJ2(902)はエントリ90
5、3本のプログラムで共有しているDMLオブジェク
トOBJ3(903)はエントリ906に示すような内
容とされている。
【0036】すなわち、DMLオブジェクトOBJ1に
対応するエントリ904は、OBJ1のID「100
0」と、共有されている度数「2」を、OBJ2に対応
するエントリ905は、OBJ2のID「1001」
と、共有されている度数「1」を、OBJ3に対応する
エントリ906は、OBJ3のID「1002」と、共
有されている度数「3」をそれぞれ情報として保持して
いる。
【0037】オブジェクトの共有制御表の使用カウント
は、同じDMLオブジェクトを共有するごとにカウント
アップし、同じDMLオブジェクトを共有するプログラ
ムが終了する際にカウントダウンする。
【0038】プログラム終了時には、DMLオブジェク
トの使用カウントが「0」になるまでは使用カウントの
カウントダウンだけを行い、使用カウントが「0」にな
った時点で、はじめてDMLオブジェクトのメモリから
の解放処理を実行する。
【0039】
【実施例】上記した本発明の実施の形態を更に詳細に説
明すべく、本発明の実施例を以下に説明する。なお、理
解を容易とするために、データベースを操作するプログ
ラムは2本とする。
【0040】まず、DMLオブジェクトロードの際に、
2本のプログラムからほぼ同時に同じDMLオブジェク
トのロード要求が行われた場合のロードの待ち合わせの
動作について、図10を参照して説明する。
【0041】図10を参照して、プログラムとしては、
先行して動作し先にDMLオブジェクトのロード要求を
行うAP1と、AP1より遅れて動作しAP1と同じD
MLオブジェクトを使用するAP2とがあるものとす
る。
【0042】先行するプログラムAP1が、最初にDM
LオブジェクトOBJ1のロード要求(1001)を発
行すると、その処理の延長で、ロード中のオブジェクト
の管理表に、OBJ1のID「1000」とロックのク
ラス「n」とからなるエントリ1005を登録し、この
クラスnで排他ロックをかける。
【0043】続いて、遅れて動作したプログラムAP2
がOBJ1のロード要求を行う(1003)。このと
き、まず、ロード中のオブジェクトの管理表を検索し
て、OBJ1のIDに対応するエントリのサーチ(探
索)を行う。この場合、既に、AP1側でOBJ1のI
Dは登録済みであるので、IDに対応するロックのクラ
スが「n」であることがわかり、クラスnで排他ロック
を行う。
【0044】プログラムAP2側で、DMLオブジェク
トOBJ1のIDに対応するクラスnで排他ロックをか
けた時には、既にAP1側のクラスnの排他ロックがか
かっているため、AP2側は、AP1側のロックの解除
を待つことになる。
【0045】プログラムAP1側でDMLオブジェクト
のロードが完了すると、クラスnの排他ロックを解除
し、ロード中のオブジェクトの管理表より対応するエン
トリ(1005)が削除され、オブジェクトの共有制御
表のDMLオブジェクトOBJ1の使用カウントをカウ
ントアップし、データベース操作の実行に移る。
【0046】プログラムAP2側は、AP1側によりか
けられたクラスnの排他ロックが解除されるため、排他
ロック同士による待ちは解除され、プログラム側に制御
が戻る。
【0047】ここまでの時点で、DMLオブジェクトの
ロード完了の待ち合わせは終了する。
【0048】プログラムAP2側は、AP1側でロード
していたDMLオブジェクトOBJ1のロード処理が完
了し、共有可能となるのを待っていただけなので、この
あと何もせずに排他ロックを解除し、オブジェクト共有
手段101bにより、AP1側で共有メモリ空間103
のオブジェクトプール103aにロードしたOBJ1の
アドレスを取得し、オブジェクトの共有制御表のDML
オブジェクトOBJ1の使用カウントをカウントアップ
した後、データベース操作の実行に移る。
【0049】同時に同じDMLオブジェクトのロードを
行う場合には、以上のようにしてロードの待ち合わせ処
理が実現されることがわかる。
【0050】次に、2本のプログラムからほぼ同時に、
別のDMLオブジェクトのロード要求が行われた場合の
動作について図11を参照して説明する。
【0051】先行して動作するプログラムAP1は、オ
ブジェクトのIDが「1000」であるOBJ1のロー
ド要求を行う。このとき、ロード中のオブジェクトの管
理表には同じIDは登録されておらず、新たにロックの
クラス「n」、OBJ1のID「1000」を新たなエ
ントリとして登録する。続いてAP1はクラスnで排他
ロックを行う(1101)。
【0052】続いて、遅れて実行されるプログラムAP
2はDMLオブジェクトOBJ4のロード要求を行う
(1003)。OBJ4のID「1003」もこのとき
ロード中のオブジェクト管理表には登録されていないた
め、ロックのクラス「m」とID「1003」とを対で
ロード中のオブジェクト管理表に登録し、クラスmで排
他ロックを行う。
【0053】この場合、ロックのクラスが、先行するプ
ログラムAP1のロックのクラス「n」とは異なるた
め、排他待ちは起こらず、ロード処理はそのまま続行さ
れる。
【0054】本発明の実施例においては、以上のよう
に、別のDMLオブジェクトのロードを行う際には、同
時に同じDMLオブジェクトをロードしようとした場合
とは異なり、例えロードのタイミングが重なったとして
も、排他ロックのタイミングで待ち合わせは起きないた
め、2つのプロセスを干渉することなく実行することが
可能になることがわかる。
【0055】最後に、図12から図14を参照して、本
発明の実施例として、DMLオブジェクトの開放の制御
について説明する。
【0056】図12では、オブジェクトプール中に3つ
のDMLオブジェクトが展開されているが、このうち、
プログラムAP1、AP2より共有されているDMLオ
ブジェクトOBJ1(1201a)に着目する。
【0057】図12の状態では、DMLオブジェクトO
BJ1は2つのプログラムより共有されているため、オ
ブジェクトの共有制御表(1202)には、OBJ1の
ID「1000」に対応するエントリとして、使用カウ
ントは「2」が格納されている。
【0058】この状態からプログラムAP2の実行が終
了すると、まずオブジェクトの共有制御表(1204)
のエントリのうち、OBJ1のID「1000」に対応
するエントリ(1204a)のオブジェクトの使用カウ
ントを1つカウントダウンする(図13参照)。
【0059】図13の状態では、オブジェクトの使用カ
ウントは「1」になるため、共有していたオブジェクト
OBJ1の解放は実行しない(OBJ1はAP1で使用
中のため解放してはいけない)。
【0060】図13の状態に続いて、AP1も実行が終
了した場合には、図14に示すように、オブジェクト制
御表(1206)のOBJ1に対応するエントリ120
6aのオブジェクトの使用カウントが「0」になる。こ
のときに初めて共有メモリ1205中のオブジェクトプ
ールより、OBJ1の解放処理を実行する。
【0061】
【発明の効果】以上説明したように、本発明によれば、
データベース操作を行う手続きの共有が可能としたこと
により、複数のプロセスにて、同一のデータベース操作
手続きを利用する場合の、メモリの消費量の削減を図る
ことができるという効果を奏する。
【0062】また、本発明は、データベース操作手続き
の共有を可能としたことにより、他のプロセスで既にメ
モリに展開が完了したデータベース手続きを流用するこ
とが可能とされるため、ファイルのI/O回数を削減で
き、性能の改善が期待できるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の実施の形態の構成を説明する図であ
る。
【図2】本発明にて実現する共有可能なデータベース手
続きの概念を説明するための図である。
【図3】本発明の実施の形態を説明するための図であ
り、ロード中のDMLオブジェクトを管理する表の各エ
ントリの内容を示す図である。
【図4】本発明の実施の形態を説明するための図であ
り、ロード中のオブジェクトを管理する表の使用例を示
す図である。
【図5】本発明の実施の形態を説明するための図であ
り、ロード中のオブジェクトのIDによるクラス別の排
他制御の概念を説明するための図である。
【図6】本発明の実施の形態を説明するための図であ
り、同時にロード中のDMLオブジェクトのロード完了
を待ち合わせる処理動作を説明するためのフローチャー
トである。
【図7】本発明の実施の形態を説明するための図であ
り、同時にロード中のDMLオブジェクトのロード完了
を待ち合わせる処理動作を説明するためのフローチャー
トの続きである。
【図8】本発明の実施の形態を説明するための図であ
り、DMLオブジェクトの共有制御のための管理表の一
例を示す図である。
【図9】本発明の実施の形態を説明するための図であ
り、DMLオブジェクトの共有制御の概念を説明するた
めの図である。
【図10】本発明の実施例を説明するための図であり、
同時に同一のオブジェクトをロードする場合の制御の具
体例を示す図である。
【図11】本発明の実施例を説明するための図であり、
同時に別のオブジェクトをロードする場合の制御の具体
例を示す図である。
【図12】本発明の実施例を説明するための図であり、
共有DMLオブジェクトの解放処理の具体例を示す図で
ある。
【図13】本発明の実施例を説明するための図であり、
共有DMLオブジェクトの解放処理の具体例を示す図で
ある。
【図14】本発明の実施例を説明するための図であり、
共有DMLオブジェクトの解放処理の具体例を示す図で
ある。
【符号の説明】
101 アプリケーションプログラム 102 データベース管理システム 102a DMLオブジェクトのロード機能 102b DMLオブジェクトの同時ロード制御機構 102c DMLオブジェクトの共有機構 102d DMLオブジェクトを管理するオブジェクト
プールの管理機構 103 オブジェクトライブラリ 103a DMLオブジェクト 104 データベース 201 プロセス間の共有メモリ空間 202 共有メモリ空間中に確保されたオブジェクト管
理領域 401、402 ロード中のオブジェクトの管理表のエ
ントリの例 403、404、405、406 オブジェクトプール
にロードされたDMLオブジェクト 601〜608 DMLオブジェクトのロード完了待ち
合わせ処理のステップ 701〜710 DMLオブジェクトのロード完了待ち
合わせ処理のステップ 901〜903 共有メモリ空間に展開されたDMLオ
ブジェクト 904〜906 オブジェクト共有制御表のエントリ 1001〜1004 AP1とAP2のDMLオブジェ
クトロードの動作 1005 ロード中のオブジェクトの管理表中のエント
リ 1101〜1104 AP1とAP2のDMLオブジェ
クトロードの動作 1105、1106 ロード中のオブジェクトの管理表
中のエントリ 12A〜12C オブジェクトとオブジェクトの共有管
理表の状態遷移 1201、1203、1205 共有メモリ空間中のオ
ブジェクトプール 1201a〜1201c、1203a〜1203c、1
205a〜1205cオブジェクトプール中のDMLオ
ブジェクト 1202、1204、1206 オブジェクトの共有制
御表の遷移 1202a〜1202c、1204a〜1204c、1
206a〜1206cオブジェクトの共有制御表のエン
トリ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 12/00 G06F 9/46 G06F 9/06 G06F 9/44 G06F 17/30

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】データベースの操作を行う手続きの実行時
    に該手続きをメモリに展開してデータベース操作を行う
    データベース制御システムにおいて、 複数プロセスから同時に同じデータベース操作手続きの
    展開要求があった際に、その展開要求を制御する手段
    と、 複数プロセスにてデータベース操作手続きを共有するた
    めの手段と、 複数プロセス間における共有メモリ空間にデータベース
    操作手続きを展開する領域を管理する手段と、 を備え、さらに、 前記データベース操作手続きをオブジェクトとして管理
    するためのテーブルを備え、該テーブルが、オブジェク
    トの識別コードと、前記複数のプロセス間での該オブジ
    ェクトの前記共有メモリ空間への展開要求に対してクラ
    ス毎に排他ロック制御を行うためのクラス情報とを各オ
    ブジェクト毎に備えるとともに、 複数のプロセスにより共用される前記データベースの操
    作を行う手続きをオブジェクトとして管理する共用制御
    テーブルを備え、該テーブルが、前記オブジェクトの識
    別コードと、該オブジェクトを使用するプロセスの使用
    カウントとを備えたことを特徴とするデータベース手続
    き共有化方式。
  2. 【請求項2】プロセスによるオブジェクトのロード要求
    に対して所定のクラスの排他ロックをかけ、該オブジェ
    クトのロードが完了すると、該クラスの排他ロックを解
    除し、且つロード中のオブジェクトの管理テーブルより
    対応するエントリを削除すると共にオブジェクトの共有
    制御テーブルにおける該オブジェクトの使用カウントを
    カウントアップし、データベース操作の実行に移行する
    ことを特徴とする請求項記載のデータベース手続き共
    有化方式。
JP8159112A 1996-05-30 1996-05-30 データベース手続き共有化方式 Expired - Fee Related JP2967726B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8159112A JP2967726B2 (ja) 1996-05-30 1996-05-30 データベース手続き共有化方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8159112A JP2967726B2 (ja) 1996-05-30 1996-05-30 データベース手続き共有化方式

Publications (2)

Publication Number Publication Date
JPH09319643A JPH09319643A (ja) 1997-12-12
JP2967726B2 true JP2967726B2 (ja) 1999-10-25

Family

ID=15686513

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8159112A Expired - Fee Related JP2967726B2 (ja) 1996-05-30 1996-05-30 データベース手続き共有化方式

Country Status (1)

Country Link
JP (1) JP2967726B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6415418B1 (en) * 1999-08-27 2002-07-02 Honeywell Inc. System and method for disseminating functional blocks to an on-line redundant controller
JP2008033392A (ja) 2006-07-26 2008-02-14 Nec Corp 仮想計算機システム及びその動作方法
US20200334154A1 (en) * 2019-04-17 2020-10-22 XRSpace CO., LTD. Mobile device with a shared data structure and method for operating the same

Also Published As

Publication number Publication date
JPH09319643A (ja) 1997-12-12

Similar Documents

Publication Publication Date Title
Lee et al. Using dynamic adjustment of serialization order for real-time database systems
US9047099B2 (en) Method and system for synchronous operation of linked command objects
US7987166B2 (en) Atomic renaming and moving of data files while permitting lock-free look-ups
Mehrotra et al. The concurrency control problem in multidatabases: Characteristics and solutions
Agrawal et al. Distributed optimistic concurrency control with reduced rollback
Lu et al. Improving data consistency in mobile computing using isolation-only transactions
JP2001527242A (ja) ロックグループを用いた楽観的並行処理制御のためのきめ細やかな整合性をもたらす仕組み
JP2001527244A (ja) オブジェクト・リレーショナル・マッピングにおけるクエリー実行をクライアントとサーバーとで効率的に分割する方法及び装置
JPH04229355A (ja) データアクセス方法及びデータ処理システム
Shanker et al. SWIFT—A new real time commit protocol
JPH08328933A (ja) 並列処理システムのファイルアクセス制御方式
JP2967726B2 (ja) データベース手続き共有化方式
US20060212450A1 (en) Temporary master thread
Abduljalil et al. A new secure 2PL real-time concurrency control algorithm (ES2PL)
Lee et al. Conflict free transaction scheduling using serialization graph for real-time databases
Peri et al. Efficient means of Achieving Composability using Object based Conflicts on Transactional Memory
JPH0814800B2 (ja) データベース排他制御方法
Buckley et al. Obtaining Progressive Protocols for a Simple Multiversion Database Model.
Ragunathan et al. Improving the performance of Read-only Transactions through Speculation
Reddy et al. Speculation based nested locking protocol to increase the concurrency of nested transactions
Lam et al. Strategies for resolving inter-class data conflicts in mixed real-time database systems
WO2023045713A1 (zh) 数据库事务的控制方法、装置及相关设备
Ghosh et al. A new concurrency control mechanism for multi-threaded environment using transactional memory
JPH09269912A (ja) 情報処理方法とその装置
Pavlova et al. Concurrency control protocol for nested transactions in real-time databases

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: 19990721

LAPS Cancellation because of no payment of annual fees