JPH07104806B2 - データベース処理システム - Google Patents
データベース処理システムInfo
- Publication number
- JPH07104806B2 JPH07104806B2 JP58107510A JP10751083A JPH07104806B2 JP H07104806 B2 JPH07104806 B2 JP H07104806B2 JP 58107510 A JP58107510 A JP 58107510A JP 10751083 A JP10751083 A JP 10751083A JP H07104806 B2 JPH07104806 B2 JP H07104806B2
- Authority
- JP
- Japan
- Prior art keywords
- dbu
- processing
- declaration
- database
- dynamic
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、データベース処理システムに関するものであ
り、その中でも特に、障害発生時にデータベース(DB)
の内容を処理開始前の状態に復旧する処理単位として使
用されるデータベースアクセスユニット(DBU)につい
て、その生成と終了に伴うバッファ獲得等の初期化処理
とバッファ返却等の終了処理とを、DBUの開始宣言(ATT
ACH命令)と終了宣言(DETACH命令)の発行に同期させ
て実施するのではなく、トランザクションの発生と終了
に同期させて実施し、メモリにおけるバッファ等の占有
期間を短縮して、メモリの利用効率を改善するデータベ
ースアクセスユニットの動的生成方式に関する。
り、その中でも特に、障害発生時にデータベース(DB)
の内容を処理開始前の状態に復旧する処理単位として使
用されるデータベースアクセスユニット(DBU)につい
て、その生成と終了に伴うバッファ獲得等の初期化処理
とバッファ返却等の終了処理とを、DBUの開始宣言(ATT
ACH命令)と終了宣言(DETACH命令)の発行に同期させ
て実施するのではなく、トランザクションの発生と終了
に同期させて実施し、メモリにおけるバッファ等の占有
期間を短縮して、メモリの利用効率を改善するデータベ
ースアクセスユニットの動的生成方式に関する。
データベース処理システムにおいては、データベースへ
のアクセス処理はデータベースアクセスユニットDBUを
基本単位として行なわれる。 DBU(データベースアクセス・ユニット)とは、第4図
に示すようにデータベース(DB)へアクセスするアプリ
ケーション/業務プログラム(APL)が、DBへのアクセ
スを含むある指定した処理期間中に障害発生に遭遇した
場合に、システム(DBMS)にDBの内容を処理期間前の状
態に復旧させ、DBの正当性についての保証を求める論理
的な処理単位をいう。ここで、 APLはDBの正当性を保証して欲しい処理範囲(例え
ば、第4図の網掛け部)の最初にATTACH命令によりデー
タベースへのアクセスの開始宣言を、そして終了個所に
DETACH命令によりデータベースへのアクセスの終了宣言
をする。 開始宣言と終了宣言で囲われたDBU内でのAPLのDBアク
セス処理について、システム(DBMS)はこの間に発生し
た障害等に対し、DBの正当性を保証する。たとえばこの
DBUで異常に遭遇した場合には、DBMSはDBの内容が開始
宣言の直前の状態にあることをAPLに対して保証し、ま
た終了宣言後の処理で異常に遭遇した場合には、DBの内
容は終了宣言発行直後の状態にあることを保証する。 DBUの開始時には、処理の保障(即ち、DBの保障)をす
るためのDB更新前後情報を取得するメカニズムの初期設
定等が実施される。 一般にオンラインデータベースシステムの場合には、即
応性能が重視されるため、DBUの開始宣言時に、予め、
ディレクトリ(索引テーブル)や各種インデックスのロ
ーディング、アクセス用バッファ領域の確保等の準備を
しておいて、その後にトランザクションが入力されたと
きに、個々のトランザクション毎のオーバヘッドが大き
くならないようにしている。 第1図は、このような従来の処理システムの概要を示し
たものである。図において、1はデータベース処理シス
テム、2はデータベース管理システムDBM、2aはATTACH
処理プログラム、2bはDETACH処理プログラム、3は内部
メモリ、4はファイル管理システム、5はデータベー
ス、6乃至8はそれぞれ利用者A乃至Cのアプリケーシ
ョンプログラム、9および10はDASD上に確保されたバッ
ファ、を示す。利用者Aについては、データベースを使
用しないジョブ(アプリケーションプログラム6)が処
理されており、バッファは確保されていない。利用者B
については、ATTACH命令が発行されて、データベースを
アクセスするDBUが生成されATTACH処理プログラム2aに
よりバッファ9が確保されている状態にある。利用者C
については、データベース処理を終了したことにより、
DETACH命令が発行されてDBUが終了し、DETACH処理プロ
グラム2bによりバッファ10が返却された状態を示してい
る。同様に、内部メモリ3においても、生成されたDBU
毎に、必要な領域確保と返却とが行なわれている。 一般に、銀行業務のような大きなリアルタイムシステム
では、アプリケーションの数は100〜200個、トランザク
ションは集中時に、時間当たり100万件に達することが
ある。他方、アプリケーションによっては、使用頻度の
非常に少ないものがあり、たとえば為替業務などでは、
日に数件、あるいは月の限られた時期にしか起こらない
というようなものもある。 バッファの大きさは、アプリケーションにもよるが、通
常、1ページ256KBとして、数ページから数十ページ程
度が確保される。上述した銀行業部のリアルタイムシス
テムのように、トランザクションが連続して、高密度に
発生し、しかも数秒以下の短いレスポンス時間が要求さ
れるところでは、朝、システムの運用開始と同時にATTA
CH命令を発行してDBUを生成しておき、業務終了時ま
で、バッファを確保したままにすることが行なわれる。
しかし、TSSシステムにおいて会話型形式により処理を
進めるものでは、DBU生成により確保されたバッファの
実際の使用効率はきわめて悪い場合が多く、しかもこの
ような会話型処理は、高速応答をさほど必要としないこ
とが多い。 更に、機能分散型の複数計算機システムにおいては、ト
ランザクション配分比率の低い機能を分担する計算機
が、DBU生成時に、他のトランザクション配分比率の高
い機能を分担する計算機と同時にバッファ確保を行なう
ため、そのメモリ効率が低いという問題があった。
のアクセス処理はデータベースアクセスユニットDBUを
基本単位として行なわれる。 DBU(データベースアクセス・ユニット)とは、第4図
に示すようにデータベース(DB)へアクセスするアプリ
ケーション/業務プログラム(APL)が、DBへのアクセ
スを含むある指定した処理期間中に障害発生に遭遇した
場合に、システム(DBMS)にDBの内容を処理期間前の状
態に復旧させ、DBの正当性についての保証を求める論理
的な処理単位をいう。ここで、 APLはDBの正当性を保証して欲しい処理範囲(例え
ば、第4図の網掛け部)の最初にATTACH命令によりデー
タベースへのアクセスの開始宣言を、そして終了個所に
DETACH命令によりデータベースへのアクセスの終了宣言
をする。 開始宣言と終了宣言で囲われたDBU内でのAPLのDBアク
セス処理について、システム(DBMS)はこの間に発生し
た障害等に対し、DBの正当性を保証する。たとえばこの
DBUで異常に遭遇した場合には、DBMSはDBの内容が開始
宣言の直前の状態にあることをAPLに対して保証し、ま
た終了宣言後の処理で異常に遭遇した場合には、DBの内
容は終了宣言発行直後の状態にあることを保証する。 DBUの開始時には、処理の保障(即ち、DBの保障)をす
るためのDB更新前後情報を取得するメカニズムの初期設
定等が実施される。 一般にオンラインデータベースシステムの場合には、即
応性能が重視されるため、DBUの開始宣言時に、予め、
ディレクトリ(索引テーブル)や各種インデックスのロ
ーディング、アクセス用バッファ領域の確保等の準備を
しておいて、その後にトランザクションが入力されたと
きに、個々のトランザクション毎のオーバヘッドが大き
くならないようにしている。 第1図は、このような従来の処理システムの概要を示し
たものである。図において、1はデータベース処理シス
テム、2はデータベース管理システムDBM、2aはATTACH
処理プログラム、2bはDETACH処理プログラム、3は内部
メモリ、4はファイル管理システム、5はデータベー
ス、6乃至8はそれぞれ利用者A乃至Cのアプリケーシ
ョンプログラム、9および10はDASD上に確保されたバッ
ファ、を示す。利用者Aについては、データベースを使
用しないジョブ(アプリケーションプログラム6)が処
理されており、バッファは確保されていない。利用者B
については、ATTACH命令が発行されて、データベースを
アクセスするDBUが生成されATTACH処理プログラム2aに
よりバッファ9が確保されている状態にある。利用者C
については、データベース処理を終了したことにより、
DETACH命令が発行されてDBUが終了し、DETACH処理プロ
グラム2bによりバッファ10が返却された状態を示してい
る。同様に、内部メモリ3においても、生成されたDBU
毎に、必要な領域確保と返却とが行なわれている。 一般に、銀行業務のような大きなリアルタイムシステム
では、アプリケーションの数は100〜200個、トランザク
ションは集中時に、時間当たり100万件に達することが
ある。他方、アプリケーションによっては、使用頻度の
非常に少ないものがあり、たとえば為替業務などでは、
日に数件、あるいは月の限られた時期にしか起こらない
というようなものもある。 バッファの大きさは、アプリケーションにもよるが、通
常、1ページ256KBとして、数ページから数十ページ程
度が確保される。上述した銀行業部のリアルタイムシス
テムのように、トランザクションが連続して、高密度に
発生し、しかも数秒以下の短いレスポンス時間が要求さ
れるところでは、朝、システムの運用開始と同時にATTA
CH命令を発行してDBUを生成しておき、業務終了時ま
で、バッファを確保したままにすることが行なわれる。
しかし、TSSシステムにおいて会話型形式により処理を
進めるものでは、DBU生成により確保されたバッファの
実際の使用効率はきわめて悪い場合が多く、しかもこの
ような会話型処理は、高速応答をさほど必要としないこ
とが多い。 更に、機能分散型の複数計算機システムにおいては、ト
ランザクション配分比率の低い機能を分担する計算機
が、DBU生成時に、他のトランザクション配分比率の高
い機能を分担する計算機と同時にバッファ確保を行なう
ため、そのメモリ効率が低いという問題があった。
上述した従来システムにおける静的DBU生成方式では、D
BU開始宣言があると直ちにメモリ上にバッファを獲得す
る等の初期化処理を行ない、DBU終了宣言が行なわれて
からバッファを返却する等の終了処理を実施している。
このため、DBUの開始宣言時から終了宣言時までの間、
メモリはバッファ等で領域が占有されたままとなり、メ
モリの利用効率が低下するという問題があった。本発明
は、DBU生成時のメモリ効率を改善することを目的とす
るものである。 従来のシステムでは、トランザクションの発生、終了と
は無関係にたとえば朝一番に全てのAPLのDBU開始宣言を
して初期化処理をし、サービス終了時(例えば、夕方)
に一括してDBU終了宣言し、終了処理をしていたもの
を、本発明では、初期化処理と終了処理をDBUの開始宣
言および終了宣言から切離し、DBU開始宣言後における
トランザクションの発生および終了に同期させて実施す
る動的DBU生成方式を採用する。すなわち「DBU開始宣言
(ATTACH)」のパラメータに静的DBU生成が動的DBU生成
かを指定可能とし、動的DBU生成指定では開始宣言の時
点でバッファ獲得等の初期化処理を実施せず、トランザ
クション(DBアクセス命令を含む一連の処理単位)を受
け付けた時点で「初期化処理+DBアクセス命令の実行」
を行ない、他方、DBUの終了宣言を待つことなく、トラ
ンザクションの終了時点で終了処理を実施し、バッファ
の解放等を可能にするという機能を持たせるものであ
る。本発明は、これにより、バッファ等の領域を必要と
される期間だけ獲得することができ、メモリの有効利用
が可能にされる。 本発明は、そのための構成として、 アプリケーションが発行するデータベースアクセスの開
始宣言と終了宣言により規定される期間を論理的な処理
単位として、データベースアクセスにかかわるバッファ
領域の確保等の初期化処理や障害発生時のデータベース
復旧処理などを実施するデータベースアクセスユニット
DBUを使用してデータベースアクセス処理を管理するデ
ータベース処理システムにおいて、 上記データベースアクセスの開始宣言を受信すると直に
ち前記初期化処理を実施するDBUの静的生成を行なう
か、該開始宣言を受信しても前記初期化処理を実施せず
に開始宣言がなされた後のシステム運用中にトランザク
ションを受信したとき前記初期化処理を実施するDBUの
動的生成を行なうかをアプリケーション毎に管理する動
的DBU生成指示手段と、 前記データベースアクセスの開始宣言の受信時に該開始
宣言を発行したアプリケーションについて前記動的DBU
生成指示手段によりDBUの動的生成が指示されている場
合は前記初期化処理の実行を抑止して該開始宣言が発行
されたことを記録する開始宣言記録手段と、 前記動的DBU生成指示手段でDBUの静的生成が指示されて
いる場合は、前記データベースアクセスの開始宣言受信
により、前記初期化処理を実施し、DBUの動的生成が指
示されている場合は、アプリケーションからのトランザ
クションを開始する時に前記開始宣言記録手段に該アプ
リケーションからの開始宣言が記録されているならば前
記初期化処理を実施するDBU開始手段と、 前記動的DBU生成指示手段でDBUの静的生成が指示されて
いる場合は、前記データベースアクセスの終了宣言を受
信した時にバッファ返却等のDBUの終了処理を実行し、
またDBUの動的生成が指示されている場合は、アプリケ
ーションからのトランザクションを終了する時に前記DB
Uの終了処理を実行するDBU終了手段 とを有することを特徴とする。
BU開始宣言があると直ちにメモリ上にバッファを獲得す
る等の初期化処理を行ない、DBU終了宣言が行なわれて
からバッファを返却する等の終了処理を実施している。
このため、DBUの開始宣言時から終了宣言時までの間、
メモリはバッファ等で領域が占有されたままとなり、メ
モリの利用効率が低下するという問題があった。本発明
は、DBU生成時のメモリ効率を改善することを目的とす
るものである。 従来のシステムでは、トランザクションの発生、終了と
は無関係にたとえば朝一番に全てのAPLのDBU開始宣言を
して初期化処理をし、サービス終了時(例えば、夕方)
に一括してDBU終了宣言し、終了処理をしていたもの
を、本発明では、初期化処理と終了処理をDBUの開始宣
言および終了宣言から切離し、DBU開始宣言後における
トランザクションの発生および終了に同期させて実施す
る動的DBU生成方式を採用する。すなわち「DBU開始宣言
(ATTACH)」のパラメータに静的DBU生成が動的DBU生成
かを指定可能とし、動的DBU生成指定では開始宣言の時
点でバッファ獲得等の初期化処理を実施せず、トランザ
クション(DBアクセス命令を含む一連の処理単位)を受
け付けた時点で「初期化処理+DBアクセス命令の実行」
を行ない、他方、DBUの終了宣言を待つことなく、トラ
ンザクションの終了時点で終了処理を実施し、バッファ
の解放等を可能にするという機能を持たせるものであ
る。本発明は、これにより、バッファ等の領域を必要と
される期間だけ獲得することができ、メモリの有効利用
が可能にされる。 本発明は、そのための構成として、 アプリケーションが発行するデータベースアクセスの開
始宣言と終了宣言により規定される期間を論理的な処理
単位として、データベースアクセスにかかわるバッファ
領域の確保等の初期化処理や障害発生時のデータベース
復旧処理などを実施するデータベースアクセスユニット
DBUを使用してデータベースアクセス処理を管理するデ
ータベース処理システムにおいて、 上記データベースアクセスの開始宣言を受信すると直に
ち前記初期化処理を実施するDBUの静的生成を行なう
か、該開始宣言を受信しても前記初期化処理を実施せず
に開始宣言がなされた後のシステム運用中にトランザク
ションを受信したとき前記初期化処理を実施するDBUの
動的生成を行なうかをアプリケーション毎に管理する動
的DBU生成指示手段と、 前記データベースアクセスの開始宣言の受信時に該開始
宣言を発行したアプリケーションについて前記動的DBU
生成指示手段によりDBUの動的生成が指示されている場
合は前記初期化処理の実行を抑止して該開始宣言が発行
されたことを記録する開始宣言記録手段と、 前記動的DBU生成指示手段でDBUの静的生成が指示されて
いる場合は、前記データベースアクセスの開始宣言受信
により、前記初期化処理を実施し、DBUの動的生成が指
示されている場合は、アプリケーションからのトランザ
クションを開始する時に前記開始宣言記録手段に該アプ
リケーションからの開始宣言が記録されているならば前
記初期化処理を実施するDBU開始手段と、 前記動的DBU生成指示手段でDBUの静的生成が指示されて
いる場合は、前記データベースアクセスの終了宣言を受
信した時にバッファ返却等のDBUの終了処理を実行し、
またDBUの動的生成が指示されている場合は、アプリケ
ーションからのトランザクションを終了する時に前記DB
Uの終了処理を実行するDBU終了手段 とを有することを特徴とする。
第2図は、本発明を機能分散型の複数計算機システムに
適用した場合の1例を示す。 図において、11乃至14は、それぞれ分散型ネットワーク
を構成する計算機CPU1、CPU2、CPU3、CPU4を示す。15は
データベースファイルI、16はデータベースファイルI
I、17乃至19は信号線パスを示す。 CPU1およびCPU3は電文処理用計算機であり、CPU2および
CPU4は業務処理用計算機である。また、CPU1とCPU2、CP
U3とCPU4はそれぞれ同一地域に配置されている。CPU
4は、データベースIIを用いて、CPU3に入力された全て
のトランザクションについて処理する機能をもつが、CP
U2とデータベースIとは、CPU1に入力されたトランザク
ションのうち、一部の特性のもの、たとえば特殊なデー
タを対象とするものについては、負荷量をバランスさせ
るために、処理機能をもたされていない。それらは、CP
U4およびデータベースIIに、その処理を依存している。
そのため、CPU1はトランザクションの特性を解析して、
一部のトランザクションについては、CPU4に処理を振り
向ける制御を行なう。 従来は、これらのトランザクションを処理するアプリケ
ーションについてDBUが生成されたとき、CPU2およびCPU
4の両方に、同時にそれぞれバッファが確保された。し
かし、CPU1からCPU4に配分されるトランザクションの比
率は、CPU2に配分されるトランザクションに対するもの
にくらべて小さいから、通常では、CPU4にこのために確
保されるバッファは、使用される頻度が低く、メモリ効
率を低くさせる。 本発明実施例では、この点を解決するために、各パス
に、アプリケーションにより条件づけられる1つの属性
を与え、たとえばあるアプリケーションでは、ATTACH命
令が発行されたとき、CPU1からCPU2へ向かうパス17に対
しては無条件でDBU生成を認め、他方、CPU1からCPU4へ
向かうパス19に対しては、ATTACH命令の伝達を一旦保留
し、このパス19を使用するトランザクションが発生した
ときに、はじめて、そのGET命令と一緒に、先に保留し
ておいたATTACH命令を、CPU4へ伝達するようにしてい
る。そのため、CPU4は、トランザクションの発生に伴っ
て伝達されたATTACH命令によってはじめてDBUを生成
し、、バッファ確保を実行し、そして、直ちにGET命令
を実行して、レコードを読み込み、トランザクションの
処理を実行する。更に、トランザクション終了を契機に
してCPU4のDBUを終了させる。 このようにすれば、あるアプリケーションでパス19によ
りCPU4に配分されたトランザクションについては、その
都度DBUが生成、終了が行なわれるので、メモリ効率は
著しく改善される。勿論、他のアプリケーションについ
ては、CPU1とCPU4の間で静的DBU生成を行なうように設
定することも可能である。 第3図は、第2図の実施例におけるCPU1とCPU4との間の
静的DBU生成および動的DBU生成のための制御機能の具体
的な説明図である。同図において、11はCPU1、14はCP
U4、20は利用者のアプリケーション処理部、21はデータ
ベース管理システムDBM、22はATTACH処理プログラム、2
3はコマンドスタックプログラム、24はGET処理プログラ
ム、22a、24a、24bはDBU動的生成/静的生成のいずれが
設定されているかを識別する判定処理、25は通信プログ
ラム、を示す。 また、実線で示す信号線は送信データの流れ、1点鎖線
で示す信号線は受信データの流れ、、′、、
′、はDBU静的生成時の処理の流れ、、′、
、′、はDBU動的生成時の処理の流れを示す。 本実施例においては、DBUの動的生成/静的生成の設定
は、利用者による指示あるいは予めアプリケーションに
組み込まれた制御情報により行なわれる。DBM21に対し
て、DBUの動的生成をするか静的生成をするかを指示す
るために、アプリケーション処理部20からDBM21に送る
命令あるいは制御信号に識別情報を付加し、これをDBM2
1において、判定処理22a、24a、24bにより、DBU動的生
成/静的生成を識別して、制御を切り分ける方法がとら
れる。他に、各アプリケーション毎にDBUの動的生成/
静的生成のいずれかを予めテーブルに登録して管理し、
DBM21がアプリケーション処理部20により起動されたと
き、そのテーブルを参照して判別する方法など、目的に
応じて適当なものを採用することができる。 DBUの動的生成不要時、即ち、DBUの静的生成が指定され
ている場合には、利用者からATTACH命令が発行される
と、のルートで示すように、ATTACH処理プログラム22
の判定処理22aにおいて、DBU静的生成と判定され、CPU4
にATTACH処理の実行が指令される。CPU4はATTACH処理を
行ない、以後DBへのアクセスを受付け可能な状態とす
る。そして実行結果は、′のルートで回答される。 次にトランザクション発生によりGET命令が発行される
と、のルートで示すように、GET処理プログラム24の
判定処理24aにおいて、DBUの静的生成が指示されている
と判定され、CPU4にGET処理の実行が指令される。CPU4
は既にDBへのアクセス開始可能な状態にあるため、GET
処理を実行する。またGET処理の実行結果は、ルート
′で回答される。続くトランザクション終了は、の
ルートで判定処理24bにおいて静的生成と判定されるの
で、DETACH処理は指令されない。 最後にDETACH命令が発行されると、のルートで、CPU4
において、無条件にDETACH処理が実行され、データベー
スへのアクセス終了が宣言され、以降ATTACH処理が実行
されるまでDBへのアクセスは受付けられない。 DBU動的生成が指定されている時には、利用者(APL)か
らATTACH命令が発行されると、のルートでATTACH処理
プログラム22の判定処理22aにおいて動的生成が指示さ
れていると判定され、コマンドスタックプログラム23に
制御が移される。プログラム23によりATTACH命令は、一
旦コマンドスタックに格納され、′で回答される。し
かし、第3図のDBU静的生成の場合と異なり、CPU4には
何も指令されない。 次にDBU動的生成が指定されている状態で利用者(APL)
からATTACH命令が発行され、処理された後で、トランザ
クション発生によるGET命令が発行されると、のルー
トで、GET処理プログラム24の判定処理24aにおいて動的
生成が指示されていると判定される。ここで動的生成が
指示されている場合には、次にコマンドスタックを参照
し、ATTACH命令を取り出して、GET命令と共に、CPU4に
対してATTACHおよびGET処理の実行を指令する。CPU4はA
TTACH処理を実行し、バッファ確保等を行ないDBへのア
クセスを可能な状態とし、それに続いて、GET処理によ
るDBへのアクセス処理を行なう。実行結果は′で回答
される。 トランザクション処理終了時には、のルートによりGE
T処理プログラムの判定処理24bが起動される。ここで動
的生成が指示されているものと判定されると、CPU4にDE
TACH処理が指令されDBへのアクセスの終了を宣言して、
DBアクセスのために確保していたバッファ域の開放等の
処理を行なう。 以上のようにして、アプリケーション側からの条件設定
に基づいて、DBUの動的生成/静的生成が判定され、動
的生成が指示されている場合には、トランザクションの
発生、終了に同期させてDBUの生成、終了が実行され
る。 一般に、利用者あるいはアプリケーション側がDBに対す
るアクセス要求を発行してからシステム側から応答が返
されるまでのレスポンス時間に対する許容度などのサー
ビス特性は、システム側からはわからない事項であるた
め、レスポンス時間は長くなるがメモリ効率を良くする
ためDBUを動的生成とするか、メモリ効率は悪くなるが
レスポンス時間を短くできる静的生成とするかは、利用
者により設定されるのが適当であるが、システム側の条
件、たとえば前述した管理テーブルや管理者による指定
の内容に従って設定することも可能であり、本発明の範
囲に含まれるものである。 上述した実施例は、分散型の複数計算機システムに関す
るものであるが、本実施例におけるデータベース管理シ
ステムDBM内の基本的構成と機能とは、タイムシエアリ
ングシステムなど他の用途にも共通に適用できるもので
ある。
適用した場合の1例を示す。 図において、11乃至14は、それぞれ分散型ネットワーク
を構成する計算機CPU1、CPU2、CPU3、CPU4を示す。15は
データベースファイルI、16はデータベースファイルI
I、17乃至19は信号線パスを示す。 CPU1およびCPU3は電文処理用計算機であり、CPU2および
CPU4は業務処理用計算機である。また、CPU1とCPU2、CP
U3とCPU4はそれぞれ同一地域に配置されている。CPU
4は、データベースIIを用いて、CPU3に入力された全て
のトランザクションについて処理する機能をもつが、CP
U2とデータベースIとは、CPU1に入力されたトランザク
ションのうち、一部の特性のもの、たとえば特殊なデー
タを対象とするものについては、負荷量をバランスさせ
るために、処理機能をもたされていない。それらは、CP
U4およびデータベースIIに、その処理を依存している。
そのため、CPU1はトランザクションの特性を解析して、
一部のトランザクションについては、CPU4に処理を振り
向ける制御を行なう。 従来は、これらのトランザクションを処理するアプリケ
ーションについてDBUが生成されたとき、CPU2およびCPU
4の両方に、同時にそれぞれバッファが確保された。し
かし、CPU1からCPU4に配分されるトランザクションの比
率は、CPU2に配分されるトランザクションに対するもの
にくらべて小さいから、通常では、CPU4にこのために確
保されるバッファは、使用される頻度が低く、メモリ効
率を低くさせる。 本発明実施例では、この点を解決するために、各パス
に、アプリケーションにより条件づけられる1つの属性
を与え、たとえばあるアプリケーションでは、ATTACH命
令が発行されたとき、CPU1からCPU2へ向かうパス17に対
しては無条件でDBU生成を認め、他方、CPU1からCPU4へ
向かうパス19に対しては、ATTACH命令の伝達を一旦保留
し、このパス19を使用するトランザクションが発生した
ときに、はじめて、そのGET命令と一緒に、先に保留し
ておいたATTACH命令を、CPU4へ伝達するようにしてい
る。そのため、CPU4は、トランザクションの発生に伴っ
て伝達されたATTACH命令によってはじめてDBUを生成
し、、バッファ確保を実行し、そして、直ちにGET命令
を実行して、レコードを読み込み、トランザクションの
処理を実行する。更に、トランザクション終了を契機に
してCPU4のDBUを終了させる。 このようにすれば、あるアプリケーションでパス19によ
りCPU4に配分されたトランザクションについては、その
都度DBUが生成、終了が行なわれるので、メモリ効率は
著しく改善される。勿論、他のアプリケーションについ
ては、CPU1とCPU4の間で静的DBU生成を行なうように設
定することも可能である。 第3図は、第2図の実施例におけるCPU1とCPU4との間の
静的DBU生成および動的DBU生成のための制御機能の具体
的な説明図である。同図において、11はCPU1、14はCP
U4、20は利用者のアプリケーション処理部、21はデータ
ベース管理システムDBM、22はATTACH処理プログラム、2
3はコマンドスタックプログラム、24はGET処理プログラ
ム、22a、24a、24bはDBU動的生成/静的生成のいずれが
設定されているかを識別する判定処理、25は通信プログ
ラム、を示す。 また、実線で示す信号線は送信データの流れ、1点鎖線
で示す信号線は受信データの流れ、、′、、
′、はDBU静的生成時の処理の流れ、、′、
、′、はDBU動的生成時の処理の流れを示す。 本実施例においては、DBUの動的生成/静的生成の設定
は、利用者による指示あるいは予めアプリケーションに
組み込まれた制御情報により行なわれる。DBM21に対し
て、DBUの動的生成をするか静的生成をするかを指示す
るために、アプリケーション処理部20からDBM21に送る
命令あるいは制御信号に識別情報を付加し、これをDBM2
1において、判定処理22a、24a、24bにより、DBU動的生
成/静的生成を識別して、制御を切り分ける方法がとら
れる。他に、各アプリケーション毎にDBUの動的生成/
静的生成のいずれかを予めテーブルに登録して管理し、
DBM21がアプリケーション処理部20により起動されたと
き、そのテーブルを参照して判別する方法など、目的に
応じて適当なものを採用することができる。 DBUの動的生成不要時、即ち、DBUの静的生成が指定され
ている場合には、利用者からATTACH命令が発行される
と、のルートで示すように、ATTACH処理プログラム22
の判定処理22aにおいて、DBU静的生成と判定され、CPU4
にATTACH処理の実行が指令される。CPU4はATTACH処理を
行ない、以後DBへのアクセスを受付け可能な状態とす
る。そして実行結果は、′のルートで回答される。 次にトランザクション発生によりGET命令が発行される
と、のルートで示すように、GET処理プログラム24の
判定処理24aにおいて、DBUの静的生成が指示されている
と判定され、CPU4にGET処理の実行が指令される。CPU4
は既にDBへのアクセス開始可能な状態にあるため、GET
処理を実行する。またGET処理の実行結果は、ルート
′で回答される。続くトランザクション終了は、の
ルートで判定処理24bにおいて静的生成と判定されるの
で、DETACH処理は指令されない。 最後にDETACH命令が発行されると、のルートで、CPU4
において、無条件にDETACH処理が実行され、データベー
スへのアクセス終了が宣言され、以降ATTACH処理が実行
されるまでDBへのアクセスは受付けられない。 DBU動的生成が指定されている時には、利用者(APL)か
らATTACH命令が発行されると、のルートでATTACH処理
プログラム22の判定処理22aにおいて動的生成が指示さ
れていると判定され、コマンドスタックプログラム23に
制御が移される。プログラム23によりATTACH命令は、一
旦コマンドスタックに格納され、′で回答される。し
かし、第3図のDBU静的生成の場合と異なり、CPU4には
何も指令されない。 次にDBU動的生成が指定されている状態で利用者(APL)
からATTACH命令が発行され、処理された後で、トランザ
クション発生によるGET命令が発行されると、のルー
トで、GET処理プログラム24の判定処理24aにおいて動的
生成が指示されていると判定される。ここで動的生成が
指示されている場合には、次にコマンドスタックを参照
し、ATTACH命令を取り出して、GET命令と共に、CPU4に
対してATTACHおよびGET処理の実行を指令する。CPU4はA
TTACH処理を実行し、バッファ確保等を行ないDBへのア
クセスを可能な状態とし、それに続いて、GET処理によ
るDBへのアクセス処理を行なう。実行結果は′で回答
される。 トランザクション処理終了時には、のルートによりGE
T処理プログラムの判定処理24bが起動される。ここで動
的生成が指示されているものと判定されると、CPU4にDE
TACH処理が指令されDBへのアクセスの終了を宣言して、
DBアクセスのために確保していたバッファ域の開放等の
処理を行なう。 以上のようにして、アプリケーション側からの条件設定
に基づいて、DBUの動的生成/静的生成が判定され、動
的生成が指示されている場合には、トランザクションの
発生、終了に同期させてDBUの生成、終了が実行され
る。 一般に、利用者あるいはアプリケーション側がDBに対す
るアクセス要求を発行してからシステム側から応答が返
されるまでのレスポンス時間に対する許容度などのサー
ビス特性は、システム側からはわからない事項であるた
め、レスポンス時間は長くなるがメモリ効率を良くする
ためDBUを動的生成とするか、メモリ効率は悪くなるが
レスポンス時間を短くできる静的生成とするかは、利用
者により設定されるのが適当であるが、システム側の条
件、たとえば前述した管理テーブルや管理者による指定
の内容に従って設定することも可能であり、本発明の範
囲に含まれるものである。 上述した実施例は、分散型の複数計算機システムに関す
るものであるが、本実施例におけるデータベース管理シ
ステムDBM内の基本的構成と機能とは、タイムシエアリ
ングシステムなど他の用途にも共通に適用できるもので
ある。
【発明の効果】 本発明によれば、利用者側におけるサービス特性の許容
レベルに合わせて利用者がメモリ設計を柔軟に行なうこ
とが可能となり、メモリの効率向上が図られ、また、分
散型システムに適用した場合には、メモリの利用性が高
まるため、通信回数削減も期待できる。
レベルに合わせて利用者がメモリ設計を柔軟に行なうこ
とが可能となり、メモリの効率向上が図られ、また、分
散型システムに適用した場合には、メモリの利用性が高
まるため、通信回数削減も期待できる。
第1図は従来のデータベース処理システムの構成図、第
2図は分散型の複数計算機システムの構成図、第3図は
実施例システムの機能的構成図、第4図はDBUの説明図
である。 図中、11および14はCPU、20はアプリケーション処理
部、21はデータベース管理システム、22はATTACH処理プ
ログラム、24はGET処理プログラム、22a、24a、24bは判
定処理、25は通信プログラムを示す。
2図は分散型の複数計算機システムの構成図、第3図は
実施例システムの機能的構成図、第4図はDBUの説明図
である。 図中、11および14はCPU、20はアプリケーション処理
部、21はデータベース管理システム、22はATTACH処理プ
ログラム、24はGET処理プログラム、22a、24a、24bは判
定処理、25は通信プログラムを示す。
フロントページの続き (72)発明者 佐藤 孝一 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 鈴木 健司 神奈川県横須賀市武1丁目2356番地 日本 電信電話公社横須賀電気通信研究所内
Claims (1)
- 【請求項1】アプリケーションが発行するデータベース
アクセスの開始宣言と終了宣言により規定される期間を
論理的な処理単位として、データベースアクセスにかか
わるバッファ領域の確保等の初期化処理や障害発生時の
データベース復旧処理などを実施するデータベースアク
セスユニットDBUを使用してデータベースアクセス処理
を管理するデータベース処理システムにおいて、 上記データベースアクセスの開始宣言を受信すると直ち
に前記初期化処理を実施するDBUの静的生成を行なう
か、該開始宣言を受信しても前記初期化処理を実施せず
に開始宣言がなされた後のシステム運用中にトランザク
ションを受信したとき前記初期化処理を実施するDBUの
動的生成を行なうかをアプリケーション毎に管理する動
的DBU生成指示手段と、 前記データベースアクセスの開始宣言の受信時に該開始
宣言を発行したアプリケーションについて前記動的DBU
生成指示手段によりDBUの動的生成が指示されている場
合は前記初期化処理の実行を抑止して該開始宣言が発行
されたことを記録する開始宣言記録手段と、 前記動的DBU生成指示手段でDBUの静的生成が指示されて
いる場合は、前記データベースアクセスの開始宣言受信
により、前記初期化処理を実施し、DBUの動的生成が指
示されている場合は、アプリケーションからのトランザ
クションを開始する時に前記開始宣言記録手段に該アプ
リケーションからの開始宣言が記録されているならば前
記初期化処理を実施するDBU開始手段と、 前記動的DBU生成指示手段でDBUの静的生成が指示されて
いる場合は、前記データベースアクセスの終了宣言を受
信した時にバッファ返却等のDBUの終了処理を実行し、
またDBUの動的生成が指示されている場合は、アプリケ
ーションからのトランザクションを終了する時に前記DB
Uの終了処理を実行するDBU終了手段、 とを有することを特徴とするデータベース処理システ
ム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58107510A JPH07104806B2 (ja) | 1983-06-15 | 1983-06-15 | データベース処理システム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58107510A JPH07104806B2 (ja) | 1983-06-15 | 1983-06-15 | データベース処理システム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS59231662A JPS59231662A (ja) | 1984-12-26 |
| JPH07104806B2 true JPH07104806B2 (ja) | 1995-11-13 |
Family
ID=14461027
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58107510A Expired - Lifetime JPH07104806B2 (ja) | 1983-06-15 | 1983-06-15 | データベース処理システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07104806B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0721774B2 (ja) * | 1987-06-04 | 1995-03-08 | 富士通株式会社 | 情報処理システム |
-
1983
- 1983-06-15 JP JP58107510A patent/JPH07104806B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS59231662A (ja) | 1984-12-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1141864B1 (en) | Method and system for reconciling concurrent streams of transactions in a database | |
| US5960206A (en) | Method and apparatus for estimating installation time in a data processing system | |
| US6154852A (en) | Method and apparatus for data backup and recovery | |
| US8041674B2 (en) | Method and system for data processing with data replication for the same | |
| US4470115A (en) | Input/output method | |
| CN110806933A (zh) | 一种批量任务处理方法、装置、设备和存储介质 | |
| US20030028723A1 (en) | Efficient data backup using a single side file | |
| JP4143611B2 (ja) | バックアップ生成装置、リカバリ処理装置、バックアップ生成方法、リカバリ処理方法、及びプログラム | |
| US5329628A (en) | Database system providing direct access for reads and indirect locked access for writes and reads in which an error was detected in previous attempt | |
| US5761696A (en) | Parallel database serving mechanism for a single-level-store computer system | |
| US6598097B1 (en) | Method and system for performing DMA transfers using operating system allocated I/O buffers | |
| US6233666B1 (en) | Deferred disk drive space allocation for virtual memory pages with management of disk address recording in multipage tables without external process interrupts for table for input/output to memory | |
| US7203670B2 (en) | Method and system for maintaining enhanced file availability | |
| JP3844933B2 (ja) | データベースサーバ処理方法 | |
| JPH0798663A (ja) | 非同期i/o制御方式 | |
| JPH07104806B2 (ja) | データベース処理システム | |
| US5440712A (en) | Database input/output control system having nonvolatile storing unit for maintaining the database | |
| JPH0789334B2 (ja) | データベース管理処理方式 | |
| WO2024119930A1 (zh) | 调度方法、装置、计算机设备和存储介质 | |
| KR19980049353A (ko) | 분산 트랜잭션의 회복방법 | |
| KR0142525B1 (ko) | Dbms 상에서의 시스템 고장에 대비한 화일 삭제방법 | |
| JP2798558B2 (ja) | プリンタ装置制御方式 | |
| JPH07160645A (ja) | マルチプロセッサシステムにおける共通資源排他制御方法 | |
| Drawin et al. | A performance study on host-backend communication | |
| JPH04213126A (ja) | ソフトウェアテスト方式 |