JPH07104806B2 - Database processing system - Google Patents

Database processing system

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
Application number
JP58107510A
Other languages
Japanese (ja)
Other versions
JPS59231662A (en
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.)
Fujitsu Ltd
Nippon Telegraph and Telephone Corp
Original Assignee
Fujitsu Ltd
Nippon Telegraph and Telephone 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 Fujitsu Ltd, Nippon Telegraph and Telephone Corp filed Critical Fujitsu Ltd
Priority to JP58107510A priority Critical patent/JPH07104806B2/en
Publication of JPS59231662A publication Critical patent/JPS59231662A/en
Publication of JPH07104806B2 publication Critical patent/JPH07104806B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency 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

【発明の詳細な説明】Detailed Description of the Invention 【発明の技術分野】TECHNICAL FIELD OF THE INVENTION

本発明は、データベース処理システムに関するものであ
り、その中でも特に、障害発生時にデータベース(DB)
の内容を処理開始前の状態に復旧する処理単位として使
用されるデータベースアクセスユニット(DBU)につい
て、その生成と終了に伴うバッファ獲得等の初期化処理
とバッファ返却等の終了処理とを、DBUの開始宣言(ATT
ACH命令)と終了宣言(DETACH命令)の発行に同期させ
て実施するのではなく、トランザクションの発生と終了
に同期させて実施し、メモリにおけるバッファ等の占有
期間を短縮して、メモリの利用効率を改善するデータベ
ースアクセスユニットの動的生成方式に関する。
The present invention relates to a database processing system, and in particular, a database (DB) when a failure occurs.
For the database access unit (DBU) used as a processing unit that restores the contents of the DBU to the state before the start of processing, the initialization processing such as buffer acquisition and the end processing such as buffer return accompanying the generation and termination of Start declaration (ATT
ACH instruction) and end declaration (DETACH instruction) are not executed in synchronism with each other, but are executed in synchronization with the occurrence and end of transactions to shorten the occupied period of buffers in the memory and improve memory utilization efficiency. It relates to a dynamic generation method of a database access unit that improves the performance.

【技術の背景】[Technical background]

データベース処理システムにおいては、データベースへ
のアクセス処理はデータベースアクセスユニット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生成時に、他のトランザクション配分比率の高
い機能を分担する計算機と同時にバッファ確保を行なう
ため、そのメモリ効率が低いという問題があった。
In the database processing system, the access process to the database is performed with the database access unit DBU as a basic unit. A DBU (database access unit) is an application / business program (APL) that accesses a database (DB) as shown in Fig. 4, and encounters a failure during a specified processing period that includes access to the DB. In this case, it means a logical processing unit that causes the system (DBMS) to restore the contents of the DB to the state before the processing period, and requests a guarantee for the validity of the DB. Here, the APL declares the start of access to the database by the ATTACH command at the beginning of the processing range (for example, the shaded area in Fig. 4) that you want to guarantee the validity of the DB, and at the end point.
Declare the end of access to the database with the DETACH command. Regarding the APL DB access processing within the DBU enclosed by the start declaration and end declaration, the system (DBMS) guarantees the validity of the DB against failures and the like that occurred during this time. For example this
When an error is encountered in the DBU, the DBMS guarantees to the APL that the contents of the DB are in the state immediately before the start declaration. The contents are guaranteed to be in the state immediately after the termination declaration was issued. At the time of starting the DBU, the initial setting of the mechanism for acquiring the DB pre- and post-update information for guaranteeing the processing (that is, guaranteeing the DB) is performed. In general, in an online database system, since quick response performance is important, when the DBU start declaration is made,
Preparations are made for loading directories (index tables) and various indexes, securing access buffer areas, etc., so that the overhead for each transaction does not increase when a transaction is subsequently input. FIG. 1 shows an outline of such a conventional processing system. In the figure, 1 is a database processing system, 2 is a database management system DBM, and 2a is ATTACH.
Processing program, 2b DETACH processing program, 3 internal memory, 4 file management system, 5 database, 6 to 8 application programs of users A to C, 9 and 10 buffers secured on DASD, Indicates. For user A, a job (application program 6) that does not use the database is processed, and the buffer is not secured. User B
With respect to the above, the ATTACH instruction is issued, the DBU for accessing the database is generated, and the buffer 9 is secured by the ATTACH processing program 2a. User C
For, by finishing the database processing,
This shows a state in which the DETACH instruction has been issued, the DBU has ended, and the DETACH processing program 2b has returned the buffer 10. Similarly, in the internal memory 3, the generated DBU
The necessary area is secured and returned every time. Generally, in large real-time systems such as banking, the number of applications can be 100-200 and transactions can reach 1 million transactions per hour when concentrated. On the other hand, some applications are used very infrequently.
Some occur only a few times a day or at a limited time during the month. The size of the buffer depends on the application, but normally, several pages to several tens of pages are secured with one page having 256 KB. As in the real-time system of the banking department mentioned above, where transactions occur continuously and with high density and a short response time of a few seconds or less is required, in the morning the ATTA is started at the same time as the system starts operating.
The CH command is issued to generate a DBU, and the buffer is secured until the end of the work.
However, in a TSS system where processing is performed in an interactive manner, the actual efficiency of use of the buffer secured by DBU generation is often very poor, and such interactive processing does not require high-speed response. Often. Furthermore, in a function-distributed multi-computer system, a computer that shares a function with a low transaction distribution ratio reserves a buffer at the same time as another computer that shares a function with a high transaction distribution ratio when generating a DBU. There was a problem of low efficiency.

【発明の目的および構成】[Object and Structure of the Invention]

上述した従来システムにおける静的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終了手段 とを有することを特徴とする。
In the static DBU generation method in the conventional system described above, D
Immediately after a BU start declaration is made, initialization processing such as acquiring a buffer in the memory is performed, and after the DBU end declaration is made, termination processing such as returning the buffer is performed.
Therefore, from the time the DBU is declared to the end to the end
There is a problem that the area of the memory remains occupied by the buffer and the utilization efficiency of the memory decreases. An object of the present invention is to improve memory efficiency when generating a DBU. In the conventional system, regardless of the occurrence and end of a transaction, for example, the DBU start declaration of all APLs is made in the morning and initialization processing is performed, and at the end of the service (eg, in the evening).
In the present invention, the initialization process and the end process are separated from the DBU start declaration and the end declaration, and the transaction is generated and ended after the DBU start declaration. A dynamic DBU generation method that is executed in synchronization is adopted. That is, it is possible to specify whether static DBU generation is dynamic DBU generation in the parameter of "DBU start declaration (ATTACH)". With dynamic DBU generation specification, initialization processing such as buffer acquisition is not performed at the time of start declaration, "Initialization processing + execution of DB access instruction" when a transaction (a series of processing units including a DB access instruction) is accepted
On the other hand, the end processing is executed at the end of the transaction without waiting for the end declaration of the DBU, and the function of enabling the release of the buffer is provided. According to the present invention, an area such as a buffer can be acquired for a required period, and the memory can be effectively used. As a configuration for this purpose, the present invention uses a period defined by a start declaration and an end declaration of a database access issued by an application as a logical processing unit to perform initialization processing such as securing a buffer area related to database access and occurrence of a failure. Database access unit that performs database recovery processing in case of
In a database processing system that manages a database access process using a DBU, immediately after receiving the above-mentioned database access start declaration, either statically generate a DBU for performing the above initialization process or receive the start declaration. Even if a transaction is received during system operation after the start declaration is made without executing the initialization processing, the initialization processing is executed Dynamically manages for each application whether DBU is dynamically generated DBU generation instruction means, and the dynamic DBU for the application that issued the start declaration when the start declaration of the database access is received.
A start declaration recording unit that suppresses the execution of the initialization process and records that the start declaration is issued when the generation instructing unit instructs the DBU to be dynamically generated; and the dynamic DBU generation instructing unit If static creation of DBU is instructed in, the initialization processing is executed by receiving the start declaration of the database access, and if dynamic creation of DBU is instructed, a transaction from the application is started. When a start declaration from the application is recorded in the start declaration recording means at the time of performing the DBU start means for executing the initialization processing, and the dynamic DBU generation instruction means is instructed to statically generate the DBU. If the database access end declaration is received, DBU end processing such as buffer return is executed,
In addition, if DBU dynamic generation is instructed, the DB will be deleted when the transaction from the application is terminated.
DBU terminating means for executing U termination processing.

【発明の実施例】Examples of the invention

第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内の基本的構成と機能とは、タイムシエアリ
ングシステムなど他の用途にも共通に適用できるもので
ある。
FIG. 2 shows an example in which the present invention is applied to a function distributed type multiple computer system. In the figure, 11 to 14 indicate computer CPU 1 , CPU 2 , CPU 3 , and CPU 4 , respectively, which form a distributed network. 15 is a database file I, 16 is a database file I
Reference numerals I and 17 to 19 denote signal line paths. CPU 1 and CPU 3 are computer for message processing, and CPU 2 and
CPU 4 is a computer for business processing. Also, CPU 1 and CPU 2 , CP
U 3 and CPU 4 are located in the same area. CPU
4 has the function of processing all transactions input to CPU 3 using database II, but CP
U 2 and database I have a processing function to balance the load amount for transactions with some characteristics of transactions input to CPU 1 , for example, those for special data. It has not been. They are CP
It relies on U 4 and Database II for its processing.
Therefore, CPU 1 analyzes the transaction characteristics and
For some transactions, control to direct the processing to CPU 4 . Traditionally, when DBUs were generated for applications that process these transactions, CPU 2 and CPU 2
Buffers were allocated to both 4 at the same time. However, the ratio of transactions distributed from CPU 1 to CPU 4 is smaller than that of transactions distributed to CPU 2 , so normally the buffer reserved for this for CPU 4 is used more frequently. Lowers memory efficiency. In the embodiment of the present invention, in order to solve this point, each path is provided with one attribute that is conditioned by the application. For example, in one application, when the ATTACH instruction is issued, the path from CPU 1 to CPU 2 is given. DBU generation is allowed unconditionally for 17, while for the path 19 going from CPU 1 to CPU 4 , the ATTACH instruction transmission is temporarily suspended and a transaction using this path 19 occurs. For the first time, the ATTACH instruction that was previously held is transmitted to the CPU 4 together with the GET instruction. Therefore, the CPU 4 first generates the DBU by the ATTACH instruction transmitted with the occurrence of the transaction, executes the buffer reservation, and immediately executes the GET instruction to read the record and execute the transaction processing. To do. Further, the DBU of the CPU 4 is terminated upon completion of the transaction. In this way, the DBU is generated and terminated for each transaction distributed by the application 19 to the CPU 4 by a certain application, so that the memory efficiency is significantly improved. Of course, other applications can be set to generate static DBU between CPU 1 and CPU 4 . FIG. 3 is a specific explanatory diagram of a control function for static DBU generation and dynamic DBU generation between the CPU 1 and the CPU 4 in the embodiment of FIG. In the figure, 11 is CPU 1 and 14 is CP
U 4 and 20 are user application processing units, 21 is a database management system DBM, 22 is an ATTACH processing program, 2
Reference numeral 3 is a command stack program, 24 is a GET processing program, 22a, 24a and 24b are determination processing for identifying whether DBU dynamic generation / static generation is set, and 25 is a communication program. In addition, a signal line shown by a solid line is a flow of transmission data, and a signal line shown by a chain line is a flow of received data.
′, Is the process flow when DBU static generation, ′,
, ', Indicate the flow of processing when DBU is dynamically created. In this embodiment, the setting of DBU dynamic generation / static generation is performed by a user's instruction or control information incorporated in an application in advance. Identification information is added to the command or control signal sent from the application processing unit 20 to the DBM21 in order to instruct the DBM21 whether to dynamically generate the DBU or to statically generate it.
In 1, the determination processing 22a, 24a, 24b is used to identify the DBU dynamic generation / static generation and separate the control. In addition, dynamic DBU generation for each application /
Register one of the static generation in the table in advance and manage it,
When the DBM 21 is activated by the application processing unit 20, it is possible to adopt a suitable method according to the purpose, such as a method of determining by referring to the table. When dynamic generation of DBU is not required, that is, when static generation of DBU is specified, when the user issues an ATTACH command, the ATTACH processing program 22
In the determination processing 22a, it is determined that the DBU is statically generated, and the CPU 4
Is instructed to execute ATTACH processing. The CPU 4 carries out the ATTACH process, and makes it possible to accept access to the DB thereafter. Then, the execution result is answered by the route of '. Next, when a GET instruction is issued due to the occurrence of a transaction, as shown by the route of, in the determination processing 24a of the GET processing program 24, it is determined that static generation of DBU is instructed, and the CPU 4 is instructed to execute the GET processing. Execution is commanded. CPU 4
Is already in a state where access to the DB can be started, so GET
Execute the process. The execution result of the GET process is answered by the route '. Since the subsequent transaction end is determined to be statically generated in the determination process 24b in the route of, the DETACH process is not commanded. Finally, when the DETACH instruction is issued, at the root of, CPU 4
In, the DETACH process is executed unconditionally, the end of access to the database is declared, and access to the DB is not accepted until the ATTACH process is executed thereafter. When DBA dynamic generation is specified and the ATTACH command is issued from the user (APL), it is determined that dynamic generation is instructed in the determination processing 22a of the ATTACH processing program 22 at the route of Control is transferred to the stack program 23. The ATTACH instruction is temporarily stored in the command stack by the program 23 and is answered with '. However, unlike the case of the DBU static generation in FIG. 3, nothing is instructed to the CPU 4 . Next, user with DBU dynamic generation specified (APL)
After the ATTACH command is issued and processed by the, a GET command is issued due to the occurrence of a transaction, it is determined that dynamic generation is instructed in the determination processing 24a of the GET processing program 24 by the route. If the dynamic generation is instructed here, the command stack is then referred to, the ATTACH instruction is taken out, and the CPU 4 is instructed to execute the ATTACH and GET processing together with the GET instruction. CPU 4 is A
The TTACH process is executed, the buffer is secured, and the DB is accessible, and then the GET process is performed to access the DB. The execution result is answered with '. At the end of transaction processing, GE
The determination processing 24b of the T processing program is activated. If it is determined that the dynamic generation is instructed here, the CPU 4
TACH processing is commanded and the end of access to the DB is declared,
Performs processing such as releasing the buffer area reserved for DB access. As described above, based on the condition setting from the application side, it is determined whether the DBU is dynamically generated or statically generated, and when the dynamic generation is instructed, the transaction is synchronized with the generation and end of the transaction. DBU is generated and terminated. In general, service characteristics such as the tolerance for the response time from when the user or application issues an access request to the DB until the response is returned from the system are matters that the system does not understand, so the response time is long. However, it is appropriate for the user to set whether to generate DBU dynamically to improve memory efficiency or to statically generate DBU to reduce memory time but reduce response time. It is also possible to set according to the conditions on the side, for example, the management table described above or the contents specified by the manager, and it is included in the scope of the present invention. Although the above-described embodiment relates to the distributed multiple computer system, the basic configuration and function in the database management system DBM in this embodiment can be commonly applied to other uses such as a time-sharing system. It is a thing.

【発明の効果】 本発明によれば、利用者側におけるサービス特性の許容
レベルに合わせて利用者がメモリ設計を柔軟に行なうこ
とが可能となり、メモリの効率向上が図られ、また、分
散型システムに適用した場合には、メモリの利用性が高
まるため、通信回数削減も期待できる。
According to the present invention, a user can flexibly design a memory according to an acceptable level of service characteristics on the user side, the efficiency of the memory can be improved, and the distributed system can be achieved. In the case of applying to the above, since the utilization of the memory is enhanced, the number of times of communication can be expected to be reduced.

【図面の簡単な説明】[Brief description of drawings]

第1図は従来のデータベース処理システムの構成図、第
2図は分散型の複数計算機システムの構成図、第3図は
実施例システムの機能的構成図、第4図はDBUの説明図
である。 図中、11および14はCPU、20はアプリケーション処理
部、21はデータベース管理システム、22はATTACH処理プ
ログラム、24はGET処理プログラム、22a、24a、24bは判
定処理、25は通信プログラムを示す。
FIG. 1 is a block diagram of a conventional database processing system, FIG. 2 is a block diagram of a distributed multi-computer system, FIG. 3 is a functional block diagram of an embodiment system, and FIG. 4 is an explanatory diagram of DBU. . In the figure, 11 and 14 are CPUs, 20 is an application processing unit, 21 is a database management system, 22 is an ATTACH processing program, 24 is a GET processing program, 22a, 24a and 24b are determination processing, and 25 is a communication program.

フロントページの続き (72)発明者 佐藤 孝一 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 鈴木 健司 神奈川県横須賀市武1丁目2356番地 日本 電信電話公社横須賀電気通信研究所内Front page continuation (72) Inventor Koichi Sato 1015 Kamiodanaka, Nakahara-ku, Kawasaki-shi, Kanagawa Fujitsu Limited

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】アプリケーションが発行するデータベース
アクセスの開始宣言と終了宣言により規定される期間を
論理的な処理単位として、データベースアクセスにかか
わるバッファ領域の確保等の初期化処理や障害発生時の
データベース復旧処理などを実施するデータベースアク
セスユニットDBUを使用してデータベースアクセス処理
を管理するデータベース処理システムにおいて、 上記データベースアクセスの開始宣言を受信すると直ち
に前記初期化処理を実施するDBUの静的生成を行なう
か、該開始宣言を受信しても前記初期化処理を実施せず
に開始宣言がなされた後のシステム運用中にトランザク
ションを受信したとき前記初期化処理を実施するDBUの
動的生成を行なうかをアプリケーション毎に管理する動
的DBU生成指示手段と、 前記データベースアクセスの開始宣言の受信時に該開始
宣言を発行したアプリケーションについて前記動的DBU
生成指示手段によりDBUの動的生成が指示されている場
合は前記初期化処理の実行を抑止して該開始宣言が発行
されたことを記録する開始宣言記録手段と、 前記動的DBU生成指示手段でDBUの静的生成が指示されて
いる場合は、前記データベースアクセスの開始宣言受信
により、前記初期化処理を実施し、DBUの動的生成が指
示されている場合は、アプリケーションからのトランザ
クションを開始する時に前記開始宣言記録手段に該アプ
リケーションからの開始宣言が記録されているならば前
記初期化処理を実施するDBU開始手段と、 前記動的DBU生成指示手段でDBUの静的生成が指示されて
いる場合は、前記データベースアクセスの終了宣言を受
信した時にバッファ返却等のDBUの終了処理を実行し、
またDBUの動的生成が指示されている場合は、アプリケ
ーションからのトランザクションを終了する時に前記DB
Uの終了処理を実行するDBU終了手段、 とを有することを特徴とするデータベース処理システ
ム。
1. Initialization processing such as securing a buffer area related to database access and database restoration when a failure occurs, with a period defined by a start declaration and an end declaration of database access issued by an application as a logical processing unit. In a database processing system that manages database access processing using a database access unit DBU that executes processing, etc., a DBU that executes the initialization processing immediately after receiving the start declaration of the database access is generated statically, Even if the start declaration is received, the initialization processing is not performed, and when the transaction is received during the system operation after the start declaration is made, the application that determines whether to dynamically generate the DBU that performs the initialization processing is received. Dynamic DBU generation instruction means for managing each Said dynamic DBU for the application that issued the start declaration upon reception of the base access start declaration
A start declaration recording unit that suppresses the execution of the initialization process and records that the start declaration is issued when the generation instructing unit instructs the DBU to be dynamically generated; and the dynamic DBU generation instructing unit If static creation of DBU is instructed in, the initialization processing is executed by receiving the start declaration of the database access, and if dynamic creation of DBU is instructed, a transaction from the application is started. When a start declaration from the application is recorded in the start declaration recording means at the time of performing the DBU start means for executing the initialization processing, and the dynamic DBU generation instruction means is instructed to statically generate the DBU. If the database access end declaration is received, DBU end processing such as buffer return is executed,
In addition, if DBU dynamic generation is instructed, the DB will be deleted when the transaction from the application is terminated.
DBU terminating means for executing U termination processing, and a database processing system.
JP58107510A 1983-06-15 1983-06-15 Database processing system Expired - Lifetime JPH07104806B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58107510A JPH07104806B2 (en) 1983-06-15 1983-06-15 Database processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58107510A JPH07104806B2 (en) 1983-06-15 1983-06-15 Database processing system

Publications (2)

Publication Number Publication Date
JPS59231662A JPS59231662A (en) 1984-12-26
JPH07104806B2 true JPH07104806B2 (en) 1995-11-13

Family

ID=14461027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58107510A Expired - Lifetime JPH07104806B2 (en) 1983-06-15 1983-06-15 Database processing system

Country Status (1)

Country Link
JP (1) JPH07104806B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0721774B2 (en) * 1987-06-04 1995-03-08 富士通株式会社 Information processing system

Also Published As

Publication number Publication date
JPS59231662A (en) 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
JP4143611B2 (en) Backup generation device, recovery processing device, backup generation method, recovery processing method, and program
CN110806933B (en) Batch task processing method, device, equipment and storage medium
US4470115A (en) Input/output method
EP3311272B1 (en) A method of live migration
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
US6598097B1 (en) Method and system for performing DMA transfers using operating system allocated I/O buffers
JP2821345B2 (en) Asynchronous I / O control method
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
JPH07104806B2 (en) Database processing system
US7093253B2 (en) Method, computer program product, and system for a self-throttled computing task
US5440712A (en) Database input/output control system having nonvolatile storing unit for maintaining the database
JPH0789334B2 (en) Database management processing method
JPH10187616A (en) State recording and reproducing method, computer system realising the same method, and memory device where the same method is programmed and stored
JPH04199339A (en) Distributed transaction file control method for distributed processing system
KR19980049353A (en) How to recover distributed transactions
KR0142525B1 (en) File management method for supporting system failure on dbms
JP2798558B2 (en) Printer device control method
KR100283622B1 (en) Distributed Multiprocessor Architecture Disk Sharing Method for High-Speed Parallel Computers
JPH04213126A (en) Software test system
JP2790472B2 (en) Multiple conversation processing control method
Drawin et al. A performance study on host-backend communication
JPH04350738A (en) Disk space management system