JPH05233405A - データベース変更監視方式 - Google Patents

データベース変更監視方式

Info

Publication number
JPH05233405A
JPH05233405A JP4030443A JP3044392A JPH05233405A JP H05233405 A JPH05233405 A JP H05233405A JP 4030443 A JP4030443 A JP 4030443A JP 3044392 A JP3044392 A JP 3044392A JP H05233405 A JPH05233405 A JP H05233405A
Authority
JP
Japan
Prior art keywords
monitoring
program
change
database
information
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
JP4030443A
Other languages
English (en)
Inventor
Kiyotaka Kibo
清隆 木保
Kazuyoshi Negishi
和義 根岸
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP4030443A priority Critical patent/JPH05233405A/ja
Publication of JPH05233405A publication Critical patent/JPH05233405A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】監視宣言を行った監視プログラムにより、他の
更新プログラムが行ったデータベースへの更新内容を即
時に取得する。 【構成】監視プログラム101は監視宣言202を行い
監視条件を満足するデータベース範囲を監視する。その
宣言は監視条件表110に登録され、関連する資源排他
表109や表定義表にその監視条件を特定する識別子と
管理プログラム識別子を監視リストとして登録する。デ
ータベース更新プログラムによる更新を確定する段階で
資源管理表や表定義表の監視リストの有無を判定し、存
在した場合には更新前後の内容を更新前後情報108と
して作成し監視プログラムに転送し、監視プログラムは
転送された更新前後情報に基づぎそのデータベースの状
態を即時に処理することを特徴とするデータベース変更
監視方式。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータベース管理システ
ムにおいて、アプリケーションプログラムが監視宣言し
たデータベースの変更前後情報の即時取得方式に関す
る。
【0002】
【従来の技術】従来データベース管理システムでは、ア
プリケーションプログラムからあるデータベース管理シ
ステムに検索要求を出す。データベース管理システム
は、検索要求に対し、対象データベースを検索し、その
結果をアプリケーションプログラムに渡す。アプリケー
ションプログラムは、その結果をもとに処理を行う。上
記処理を繰り返すことにより即時処理を実現してきた。
【0003】C.J.デイト(Date)著「アン イント
ロダクション ツー データベース(An Introduction
to Database)」,アディスン ウエスリー(Addison-Wes
ley)出版社1990年発行の第6,7ページに指摘され
ているように「データベースはファイル間の全部または
一部を除いて冗長性を省き統一され、複数のユーザ間で
共用される。」。そのデータベースを管理,制御してい
るのがデータベース管理システムである。そのようなシ
ステムではアプリケーションプログラムに埋めこまれる
か、ユーザから直接に与えられるデータ操作言語によっ
てデータベース中のある表のある行を選択,更新でき
る。この機能によりユーザは、その時点でのデータベー
ス中の行を参照,更新できるだけでなく、新しい行を追
加,既存の行を削除することができる。またそのシステ
ムはユーザが新しい表を定義したり、不要な表を削除で
きる。
【0004】従来、データベースの現在の状態を知るた
めには、アプリケーションプログラムからデータベース
管理システムに対しデータ操作言語で記述された検索要
求を発行し、その検索要求に対し検索対象データベース
を検索し、その結果をアプリケーションプログラムに渡
す。アプリケーションプログラムは、その結果をもとに
処理を行う。上記処理を繰り返すことにより、データベ
ースの現在の状態を知る即時処理を実現してきた。
【0005】データベースのある時点での複写を持つと
言う方法に関しては上記文献の第265ページから26
6ページで述べられているスナップショット表を利用し
た選択範囲の最新バージョン取得がある。スナップショ
ット表はある時刻における最新状態を取得し、その後、
一定時間を経過した段階で、自動的にそのデータベース
の状態差分が変更され、その時間の最新状態を保持する
という方法である。これを効率よく行う方法は、特願昭
60−283220号明細書として提案されている。同明細書で
は、各行の連鎖の異常状態から行の更新状態を検査し、
更新された行をスナップショットを管理するデータベー
ス管理システムに送る。
【0006】
【発明が解決しようとする課題】従来技術でデータベー
ス管理システムは、あるアプリーケションプログラムが
処理対象とするデータベースの変更状態を知ることがで
きるにもかかわらず、そのアプリーケションプログラム
から検索要求が無いかぎりその変更状態をアプリーケシ
ョンプログラムに連絡しない。アプリーケションプログ
ラムは検索要求を発行しないかぎりデータベースの変更
状態を知ることができない。また、従来方式では検索要
求を繰り返し発行しなければならないために、処理オー
バヘッドが増大する。
【0007】スナップショットのような改良はある時点
における静止したデータベースの状態を参照しているだ
けで、変更に対する即時参照を実現していない。また、
スナップショットに対して参照時間を極めて小さくする
ことにより同様の事を論理的に実現できるが、特願昭60
−283220号明細書で提案されている方法では、対象とす
る全ての行を走査して、その行間連鎖を検査しながら差
分情報を作成する必要があり、処理が冗長で、即時参照
には適していない。
【0008】ゆえに、従来技術に依存するアプリケーシ
ョンプログラムは、処理対象データベースの変更を即時
に参照するには適していない。
【0009】本発明の目的は、変更された行に対する即
時データベース参照処理を行うための手段を提供するこ
とにある。
【0010】
【課題を解決するための手段】上記、問題を解決するた
めに、あるデータベースを即時参照、即ち更新を監視し
たいプログラムは、参照したい対象を特定する問い合わ
せ記述に監視を行なう指定を記述する。この時、監視時
間を指定することにより、特定の時間帯での監視を行な
うことも可能とする。この宣言によって監視プログラム
を実行するとき、問い合わせ記述、即ち監視条件を監視
対象を管理する管理表に登録する。監視対象を管理する
管理表はそのデータベースの表定義表とデータベースの
資源の排他を行なう資源排他表である。監視条件と監視
プログラム識別子は監視条件表に登録する。登録時点で
関連する表定義表に監視リストを付加する。監視リスト
は監視条件表に登録された監視条件を一意に識別する識
別子で構成され、複数の監視プログラムが同一表を監視
する時は、チェーン付けされたリスト構造になる。
【0011】また監視プログラムが事前に監視対象をア
クセスした場合、その行をアクセスすることで排他制御
が行なわれる。この時、その行が監視条件を満足すれば
その行の資源排他表の対応項目に監視リストを付加す
る。
【0012】監視対象を監視するには変更前後情報取得
を要求する。変更前後情報取得を行なうと、変更プログ
ラムから変更前後情報を取得することができる。
【0013】変更プログラムがある表の行を変更し、そ
の変更を確定する時、確定対象行の資源排他表またはそ
の行の定義である表定義に監視リストが付加されている
か否かを判断する。付加されていれば、その更新が監視
プログラムの監視条件を満足するか否かを検査し、監視
条件を満足すると、変更前後情報をその監視プログラム
に渡す。前述のように監視プログラムは変更前後情報取
得待ちであれば、その情報を取得しその変更内容から、
内容に応じた処理を行う。変更前後情報は監視プログラ
ムの領域に転送されるが、複数の変更前後情報を貯める
事を可能にしておくことにより、ある一定時間毎にまと
めて処理する。
【0014】
【作用】データベース監視プログラムから要求され監視
宣言された監視対象に関して、他のデータベース変更プ
ログラムによるデータベース変更により、その変更対象
を監視している監視プログラムが存在しているか否か判
断し、その監視プログラムの監視条件を満足しているか
否かを判断して監視プログラムに変更前後情報を転送す
ることができる。
【0015】
【実施例】図1を参照するとデータベースを更新するプ
ログラム103とデータベースを監視するプログラム1
01並びにそれらに対応したデータベース管理システム
内のデータベース操作プログラムがある。データベース
管理システムは各アプリケーションプログラムがデータ
ベースを扱う時に各アプリケーションプログラムに対応
したデータベース操作プログラムを起動する。データベ
ース操作プログラムは、アプリケーションプログラムか
らのデータベース操作要求を受け、要求に対応する処理
を行ない、その結果をアプリケーションプログラムに返
す。
【0016】データベース管理システム内には複数のデ
ータベース操作プログラムが共通して利用する共有情
報、例えば、資源排他表109や表の定義表111,監
視条件表110等を配置した領域が用意される。各デー
タベース操作プログラムは、この共有情報を参照し、デ
ータベースに対する操作を行なう。
【0017】データベース113は、データベース操作
プログラムによってアクセスされる。データベース操作
プログラムは、アクセス対象の表の定義情報を参照し、
その定義情報に従いデータベースを操作する。この定義
情報はデータ辞書112に保存され、データベースをア
クセスする時に表定義表の管理する領域に読み込まれ
る。またデータベース操作プログラムは、データベース
をアクセスする時に、各行またはレコードをアクセスの
為、アクセス対象の表,ページまたは行に排他をかけ
る。これは、複数データベース操作プログラムが独立し
て動作している環境で共有情報の更新による逐次性を保
証しデータの矛盾を回避する。
【0018】本発明は、あるデータベースに対して更新
プログラムによる更新を同一データベースを参照してい
る監視プログラムに即時に監視する方法である。
【0019】本発明を説明するデータベース定義とその
表の内容を表1に示す。
【0020】
【表1】
【0021】監視プログラム101は図2のプログラム
例の様に、監視対象と監視時間を記述して、監視対象に
更新が起こった場合、その更新を即時処理する処理を付
加する。
【0022】図2の監視プログラムを詳細に説明する。
データベース監視宣言はステップ202のカーソル宣言
のSCOPE指定である。カーソルはプログラム実行時
にアクセスしている行の位置を指している行指示子で、
監視対象は監視したいデータベースの表や特定行を問い
合わせ指定で特定する。本実施例では監視宣言をカーソ
ル宣言中で行なっているが、仮想表定義であるビュー定
義やスナップショット表の定義記述中に監視を宣言する
ことも可能である。監視を宣言したカーソルをオープン
時(ステップ204)、監視時間を指定し、監視対象を
いつまで監視するかを指定する。カーソルオープンはデ
ータベース管理システムにカーソルを利用してデータベ
ースをアクセスすることを知らせる処理である。監視時
間を省略可能とすると、データベース管理システムの停
止までの監視を意味する。
【0023】図2ではカーソルオープン後、3600秒
間監視する。(ステップ203)次に監視プログラムは
監視対象のデータベースの状態を知るために、カーソル
で指定した問い合わせにより監視条件を満足する行を取
り出す。(ステップ206)例の場合、ステータス(S
TATUS)と呼ばれる値をデータベース中から取り出
し、その総計を求める。(ステップ207)このステー
タスカラムは更新可能値で更新プログラムによって更新
される。監視対象行を全行読み込んだ後、その平均値を
求める。表2は表1で示されたデータベースに対し行を
読み込んだ時の結果である。フェッチ(FETCH)文
では一行ずつ行を読み込むためユーザには表形式ではな
く一行に見える。
【0024】
【表2】
【0025】フェッチで読み込んだ後、ステップ209
の更新監視待ちになる。本例ではフェッチチェンジデー
タ操作文が更新監視待ちであり更新情報取得である。本
データ操作文では、カーソル指定で前記監視宣言を引き
継ぎ、他の更新プログラムによる監視条件を満足する変
更前後情報を待つ。更新プログラムにより変更が発生
し、データが渡されると、待ちの状態から解放され、渡
された更新前後情報に従い監視プログラムが処理を行な
う。
【0026】更新前後の情報を図4に示す。図4では発
生した事象の種別情報401と発生させたプログラム識
別子402,変更前情報403,変更後情報404が更
新プログラムに対応するデータベース操作プログラムか
ら渡される。事象の種別情報は、ある表または行に対す
る更新の種別、詳しくは行の削除,追加,更新に対応す
る値が入る。この事象の他に、システム状態の事象が渡
される場合もある。システム状態事象は、監視時間を超
過した場合、監視していた表が削除された場合、システ
ムが計画的または緊急に停止する場合、一次的に監視資
源が利用不可になる場合等をデータベース操作プログラ
ムがアプリケーションプログラムに教える時に発生す
る。一般的にこの事象を渡された場合、アプリケーショ
ンプログラムは処理を終了する。変更前情報、後情報は
変更したフィールド毎の変更前後値である。
【0027】監視プログラムは、更新前後情報の事象種
別からその種別に対応した処理を行なう。図2のプログ
ラムでは更新前後情報から処理を振り分け、各詳細事象
毎の処理を行なう。更新の場合(ステップ210)、総
計値から更新前値を引き、更新後値を加える。(ステッ
プ213)削除の場合(ステップ211)、更新後値は
無く、総計値から更新前値を引く。(ステップ214)
追加の場合(ステップ212)は、削除とは逆に更新前
値は無効で更新後値が有効であり、総計値に更新後値を
加え行数を1足す。(ステップ215)事象が監視時間
を越えた場合、この事象待ち繰り返し処理から抜ける。
また事象種別が上記以外であれば監視プログラムを終了
させる。
【0028】以上の結果、監視中のデータベース範囲に
ついて現在の状態がわかる。例では総計値と行数から平
均値を求め、それを画面上に表示している(ステップ21
6)。監視時間を終了した後、監視プログラムは現在使用
可能状態のカーソルをクローズし処理を終了させる(ス
テップ217)。
【0029】監視プログラム101が監視するデータベ
ースに対して更新を行なうのが更新プログラムである。
図3の例では、入力データを読み込み(ステップ30
1)、指定された操作指示に従いデータベース操作を行
なう。(ステップ302からステップ307)この操作
の結果、データベースが変更される。その後、更新を確
定する(ステップ308)。
【0030】表3の例では、STATUS値を30から
60に変更する。その結果、前記監視条件(図2ステッ
プ202)を満足する変更であり、変更前後情報(表
4)が監視プログラムに渡される。
【0031】
【表3】
【0032】
【表4】
【0033】次に監視プログラムに対応するデータベー
ス操作プログラム105と更新プログラムに対応するデ
ータベース操作プログラム107における監視プログラ
ムと更新プログラムの要求に対する動作を説明する。
【0034】データベース操作プログラムはデータベー
ス管理システムが起動された時に複数個起動される。ア
プリケーションプログラムが起動した時、データベース
管理システム核106がアプリケーションプログラムと
データベース操作プログラムを対応付ける。
【0035】データベース管理システムが起動され、デ
ータベース操作プログラムが起動されると、図3に示す
データベース操作プログラムの初期化(ステップ60
2)が実行される。次にステップ603の事象情報の取
得処理を行なう。
【0036】事象情報が引き渡されるとその事象の内容
に対応した処理が実行される。事象の内容としてデータ
ベース操作終了要求,アプリケーション開始要求,アプ
リケーション終了要求,データ操作要求、その他の操作
要求がある。
【0037】次に監視プログラムが更新を監視するため
の判断要素である監視リスト(図5の503,509)
を登録する方式について述べる。
【0038】前述のように監視プログラムは、監視条件
をカーソル宣言に記述する。カーソルオープン時にその
監視条件が監視プログラムに対応するデータベース操作
プログラムに渡される。監視プログラムからカーソル要
求が発行されデータベース操作プログラムに渡される
と、事象情報の種別判定が行なわれ、ステップ604で
データ操作事象と判断される。ステップ605のカーソ
ル操作要求と判断され、カーソル処理609を呼び出
す。
【0039】次に図7のカーソル操作処理を説明する。
カーソル処理はさらにカーソルのオープン要求,データ
取得,クローズ処理か否かを判断し(ステップ701か
ら703)、各操作要求を処理する。
【0040】次にカーソルオープン時の処理を図8で説
明する。カーソル操作処理でカーソルオープン要求が選
択された場合(ステップ701)、カーソルオープン処
理(704)が呼び出される。カーソル宣言で記述した
問い合わせを解析(ステップ804)し、カーソル処理
を行なうための初期設定を行なう(ステップ802)。問
い合わせの解析は通常プログラム翻訳時に行なわれ、カ
ーソルオープン処理時には翻訳結果であるオブジェクト
形式がデータベース管理システムの管理するオブジェク
ト管理ファイルに登録されている。カーソルオープン時
に実際のデータベースをアクセスする方法とデータ取得
時までデータベースをアクセスしない方法が考えられる
が、本実施例では後者の場合を想定する。カーソルオー
プン処理に渡された問い合わせ、または、それを翻訳し
たオブジェクト形式の問い合わせ中に図2の202で示
した監視宣言即ち監視処理時間が指定されていた場合
(ステップ803)、監視条件表の管理領域にその監視
条件505を置き、その監視条件表の監視条件識別子を
得る。(ステップ804)この監視条件識別子はカーソ
ル管理情報中に持たれ、カーソル操作時に表やページ,
行を排他し、その後、それをアクセスする時、資源排他
表の監視リスト登録に利用される。カーソルオープン時
に与えられた監視時間はそのシステムが実行されるオペ
レーティングシステムが持つアラーム機構を用い、アラ
ーム時間として登録される。(ステップ805)登録
時、アラーム時刻になったときに処理を渡す監視終了処
理のアドレスも渡される。
【0041】図7のカーソル操作処理のデータ取得要求
が選択されると(ステップ702,705)、図9デー
タ取得処理は、カーソル初期状態を判別し、最初のデー
タ取得か否かを判断する。(ステップ901)カーソル
オープン直後、カーソル状態管理情報は初期化されてい
る。最初のカーソル処理と判断されると、アクセス対象
データベースのアクセス開始位置を決定し(ステップ9
02)その開始位置からカーソルに宣言されている問い
合わせを用いて、その問い合わせを満足する最初の行を
検索する。
【0042】ある行またはページをアクセスする場合、
他のデータベース操作プログラムからのアクセスを制限
するため、行またはページに対して、排他を行なう。排
他後、その行が監視条件を満足するか否か判断し(ステ
ップ905)、満足すれば排他した行の資源排他表項目
に監視リストを加える。データ取得処理で2回目以降の
処理の場合、現カーソル管理情報からカーソルが位置づ
けているページと行からページアクセスを開始する(ス
テップ901)。
【0043】カーソル操作処理で、アプリケーションプ
ログラムがカーソルクローズ要求を出すとカーソルクロ
ーズ要求と判断され(ステップ703)と判断されカー
ソルクローズ要求が行われる(ステップ706)。
【0044】以上で監視プログラムにおける監視リスト
の登録方式について説明した。
【0045】次に更新プログラムが、上記登録リストか
ら監視プログラムへ変更前後情報を転送するまでを説明
する。
【0046】図3で更新プログラムでデータベース更新
を行い(ステップ305から307)、その更新を確定す
る目的でコミット(COMMIT)要求(ステップ30
8)を発行する。この要求をデータベース操作プログラ
ム(101)が受け、データベース操作要求と判断され
(ステップ604)、コミット要求と判断されて(ステ
ップ607)コミット処理がコールされる(ステップ6
11)。
【0047】図12でコミット処理を説明する。コミッ
ト処理は、要求を受けて更新履歴情報を作成し、2次記
憶媒体に出力する。(ステップ1201)その後、ペー
ジの排他情報を解除し、更新したバッファ中のページの
出力可能フラグをオンにし、更新ページの実更新を可能
とするか、2次記憶へ出力する。この後、確保した資源
を他のアプリケーションプログラムが利用できるように
資源解放処理(ステップ1203)を行いコミット処理
を完了する。
【0048】次に図13を用い、資源解放処理の詳細を
説明する。
【0049】更新プログラムに対応するデータベース操
作プログラムは監視プログラムによって登録された監視
条件が存在するか否かを判断する方法として次の情報を
判定する。
【0050】まず資源解放処理時に、前記排他情報設定
時点で排他資源表の対象資源項目に登録された監視リス
トの有無を判定する。(ステップ1303)もし監視リ
ストが存在すれば後述する監視プログラムへの更新前後
情報転送を行なう。(ステップ1303)追加処理で新
規に登録した行については資源表に監視リストが存在し
ないためカーソルオープン時に定義情報中に登録された
監視リストを参照し前記処理を行なう。
【0051】検査の方法は行の更新内容により行追加の
場合、表操作宣言または表定義の監視条件を検査する。
行更新では資源表に監視リストが存在し表定義中に監視
条件がある。更新動作により表の内容が変更され、従来
その監視条件を満足していた行が、満足しなくなる場合
がある。逆にその監視条件を満足していなかった行が、
その監視条件を満足する場合がある。前者の場合、監視
プログラムへは監視行の削除と見做され、後者の場合、
新しい監視行の追加となる。前者の場合、資源表に監視
リストが存在するが後者の場合監視リストは存在しな
い。変更により監視条件を満足するか否かを決定するた
めに表定義情報に付加された表監視リストのそれぞれの
監視条件を判定する。行削除においても前記と同様であ
る。監視条件を満足すると監視プログラムへ転送する。
【0052】追加行の場合、更新後情報が問い合わせ条
件に合致するかいなか検査する。検査後、条件を満足す
れば後述する監視プログラムへの転送処理を行ない資源
表の該当資源項目の監視リストを登録する。満足しない
場合、何も行なわない。
【0053】更新行の場合、更新後情報が問い合わせ条
件に合致するかいなか検査し、条件を満足すれば後述す
る監視プログラムへの転送処理を行なう。資源表の該当
資源項目の監視リストが登録されていなければ、即ち更
新前は監視条件を満足していなければ、監視リストを登
録する。満足しない場合で監視リストが登録されていな
い場合何も行なわない。監視リストがある場合、即ち更
新前は監視条件を満足し更新後監視条件を満足しなくな
ると、監視リストを消去しその監視対象行は対象ではな
くなる。
【0054】削除行の場合、監視リストの有無を判定し
あれば監視プログラムへの転送処理を行なう。無い場
合、なにも行なわない。削除行では資源表の資源項目が
消去される時、一緒に資源項目に付加された監視リスト
も消去される。
【0055】この手段により監視条件即ち監視宣言した
時の問い合わせ条件を満足した場合、監視プログラムに
更新前後情報が渡される。(ステップ1305)これは
先に監視プログラムの説明で記述した更新前後情報であ
り、詳細は図4に示す。この更新前後情報はコミット処
理の開始で作成した更新履歴を利用して作成し、事象情
報は実際に行なった更新内容と事象種別をデータベース
操作プログラムが設定する。更新前後情報は、カーソル
宣言中のセレクト文のセレクトキーワードの後に続くカ
ラム名の羅列に従い、編集される。
【0056】更新前後情報を作成した後、監視リストま
たは表定義表に付加された監視宣言にある監視プログラ
ムを一意に識別する識別子、実際は監視プログラムに対
応するデータベース操作プログラムの識別番号から渡す
相手を特定する。
【0057】特定後、監視情報操作610を呼び出し相
手の変更前後情報領域へ更新前後情報を転送する。転送
される相手は監視プログラムに対応するデータベース操
作プログラムである。監視プログラムの受け取り方法の
詳細は後述する。
【0058】以上で更新プログラムがコミット処理を実
行後、監視プログラムへの更新前後情報を転送するまで
を説明した。
【0059】次に監視プログラムが更新前後情報を受け
取る方法について説明する。
【0060】前記したように各データベース操作プログ
ラムはプログラムやデータベース管理システム核からの
情報を図3ステップ603の事象情報の取得処理におい
て待つ。事象が発生するとその事象の内容を解析しその
事象内容に対応した処理に制御を渡す。監視プログラム
からの事象情報をデータベース操作プロセスが受けると
データ操作事象と判断され(ステップ604)、詳細種
別から監視情報操作と判断して(ステップ606)、監
視情報処理(ステップ610)に制御を渡す。
【0061】監視情報操作610は監視プログラムから
のデータ取得要求か否か判断し(ステップ1001)、
更新前後情報バッファ中のデータの有無を探し(ステッ
プ1003)、キュー中にデータがあればその最初のデ
ータを監視プログラムに転送する。(ステップ100
4)データが無ければ要求を保留しバッファ中に変更情
報が転送されるのを待ち、ある一定時間を過ぎるとバッ
ファを検査する。データ取得でないと判断されると更新
プログラムからの事象、正確には更新プログラムに対応
するデータベース操作プログラムからの事象の場合、渡
された更新前後情報を更新前後情報キューに登録する
(ステップ1005)。
【0062】監視宣言はある一定時間の間、監視したい
表や行を監視することを宣言する。監視プログラムの例
では図2のステップ204であるオープンカーソル時で
ある。この時そのOSの持つアラーム機構により、タイ
マ割り込みが監視プログラムに対応したデータベース操
作プログラムに対して起こる。その割り込みによりその
データベース操作プログラムの監視終了処理に制御が渡
る。監視終了処理は監視時間終了情報を作成し監視プロ
グラムに渡す。監視プログラムは監視時間終了情報を判
断し監視処理を終わる。
【0063】以上の方法により、ある表に対し監視条件
と監視時間を宣言した監視プログラムが、他の更新プロ
グラムにより更新された監視条件を満足する表に対し
て、更新データを即時処理することを可能とする。
【0064】本発明による監視プログラムの応用例とし
て事象情報のみを監視する監視プログラムを作ることも
可能である。前記したように監視プログラムは監視範囲
を監視条件を登録することで、即時に情報を得ることが
可能となる。ある表に対して監視条件を指定する時に事
象情報のみ、即ち表に対する変更,削除,追加が起こっ
た事のみを連絡する指定を付加する。この結果、監視条
件を満足する事象情報のみが監視プログラムに渡され
る。監視プログラムは各変更種別の累計をとることによ
り監視対象のある一定時間における更新状態を表示しそ
の表に対する更新頻度の統計情報をとる。これにより監
視対象表の変更状態情報を知り、システムチューニング
等の補助情報として利用可能となる。このような監視プ
ログラムによりシステム管理者が特定の表の性能を監視
する事が可能となる。この場合、監視対象資源が大量に
なる可能性がある。大量資源を監視する場合は、排他資
源表への監視リスト登録を行なわず、表定義表の判定の
みで行なう。
【0065】
【発明の効果】本発明の利点は実時間で他のプログラム
の変更前後情報を受け取ることを可能とし、更新プログ
ラムが監視プログラムの監視条件を判断しそれを満足す
れば変更前後情報を監視プログラムに渡すため最小限の
量のデータ授受しか行なわれない事である。例えば、更
新プログラムにおいて行の変更が起こりそれを監視して
いるプログラムが存在すれば、変更情報を転送する方法
であるため、変更を伴わない検索処理に関しては何のオ
ーバヘッドも生じないし、そのプログラム実行に関して
影響を与えない。また、更新されたことを知るのに、従
来は更新されたと思われる対象を全件検索してその状態
の変化により更新された事を検査していたのに対し、更
新したプログラム自体がその更新した対象だけを直接監
視プログラムに教える方法であるため、監視プログラム
は更新プログラムからのデータ受け渡しのみを待てばよ
く、対象にならない行や表を監視する必要が無くなる。
表定義表と資源管理表に監視リストを付加することによ
り、条件評価しなければならない監視条件を容易に特定
できる。この監視条件はスナップショット表のように、
事前に定義しておくことも可能であるし、動的に付加す
る事もできる。そのためすでに存在する表に対する定義
情報の再定義や追加を必要としない。
【図面の簡単な説明】
【図1】データベース変更監視方式の機能ブロック図。
【図2】データベースの変更状態を監視する監視プログ
ラムのフローチャート。
【図3】データベースを変更するプログラムのフローチ
ャート。
【図4】更新前後情報の形式の説明図。
【図5】表定義表と監視情報表と資源排他表の関連説明
図。
【図6】データベース操作の本発明関連処理のフローチ
ャート。
【図7】行をアクセスするカ−ソル処理のフローチャー
ト。
【図8】カ−ソルオ−プン処理のフローチャート。
【図9】カ−ソルによるデ−タ取得処理のフローチャー
ト。
【図10】監視情報操作のフローチャート。
【図11】資源排他処理のフローチャート。
【図12】コミット処理のフローチャート。
【図13】資源解放処理のフローチャート。
【符号の説明】
101…監視プログラム、102…ディスプレイ、10
3…変更プログラム、104…データベース管理システ
ム、105…データベース操作プログラム、106…デ
ータベース管理システム核、107…データベース操作
プログラム、108…変更前後情報、109…資源排他
表、110…監視条件表、111…表定義表、113…
データベース、112…データ辞書。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】データベースを監視する監視プログラムと
    前記データベースを変更する変更プログラム間でのデー
    タベース変更監視方式であって、前記変更プログラム
    は、前記データベースの変更後、その変更対象を管理す
    る管理表に付加された前記データベースを監視する監視
    プログラムにより登録された監視条件を捜し、監視条件
    を満足する場合、前記監視条件に付加された前記監視プ
    ログラムを特定する監視プログラム識別子に対応する監
    視プログラムに変更前後情報を転送することを特徴とす
    るデータベース変更監視方式。
  2. 【請求項2】請求項1において、前記監視プログラム
    は、前記監視条件と前記監視プログラムを特定する前記
    監視プログラム識別子を監視対象を管理する管理表に登
    録し、前記変更プログラムの変更前後情報を取得し、取
    得した変更前後情報に従いその変更内容に対応した処理
    を実行するデータベース変更監視方式。
  3. 【請求項3】請求項2において、前記監視条件の登録時
    に監視時間を指定し、前記監視時間の間、前記監視対象
    の変更前後情報を取得するデータベース変更監視方式。
  4. 【請求項4】請求項1において、前記監視プログラムの
    前記監視条件を登録する監視リストを監視対象を管理す
    る表管理表に動的に登録,削除するデータベース変更監
    視方式。
  5. 【請求項5】請求項1において、前記監視プログラムの
    前記監視条件を登録する監視リストを監視対象を管理す
    る資源排他表に動的に登録,削除するデータベース変更
    監視方式。
  6. 【請求項6】データベースを監視する監視プログラムと
    前記データベースを変更する変更プログラム間でのデー
    タベース変更監視方式であって、前記変更プログラム
    は、その変更対象を管理する管理表に前記データベース
    の変更状態を監視する監視プログラムにより登録された
    監視条件と前記監視プログラムの識別子と変更情報蓄積
    領域を捜し、前記監視条件を満足する場合、変更対象の
    変更履歴情報を作り、前記変更履歴情報を変更情報蓄積
    領域に転送するデータベース変更監視方式。
  7. 【請求項7】請求項2において、前記監視プログラム
    は、一定時間毎に変更情報蓄積領域中の変更情報に従っ
    て、追加,更新,削除に対応した処理を実行するデータ
    ベース変更監視方式。
JP4030443A 1992-02-18 1992-02-18 データベース変更監視方式 Pending JPH05233405A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4030443A JPH05233405A (ja) 1992-02-18 1992-02-18 データベース変更監視方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4030443A JPH05233405A (ja) 1992-02-18 1992-02-18 データベース変更監視方式

Publications (1)

Publication Number Publication Date
JPH05233405A true JPH05233405A (ja) 1993-09-10

Family

ID=12304070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4030443A Pending JPH05233405A (ja) 1992-02-18 1992-02-18 データベース変更監視方式

Country Status (1)

Country Link
JP (1) JPH05233405A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09190442A (ja) * 1996-01-11 1997-07-22 Canon Inc 情報登録検索装置及び情報表示方法
WO2009147705A1 (ja) * 2008-06-04 2009-12-10 株式会社 アテナテレコムラボ データベース接続プログラムおよび装置
US8171003B2 (en) 2007-06-06 2012-05-01 Kunio Kamimura Method and apparatus for changing reference of database
JP2014026392A (ja) * 2012-07-25 2014-02-06 Bank Of Tokyo-Mitsubishi Ufj Ltd データベースドライバおよびプログラム
US9678996B2 (en) 2007-06-06 2017-06-13 Kunio Kamimura Conflict resolution system for database parallel editing

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09190442A (ja) * 1996-01-11 1997-07-22 Canon Inc 情報登録検索装置及び情報表示方法
US8171003B2 (en) 2007-06-06 2012-05-01 Kunio Kamimura Method and apparatus for changing reference of database
US9678996B2 (en) 2007-06-06 2017-06-13 Kunio Kamimura Conflict resolution system for database parallel editing
WO2009147705A1 (ja) * 2008-06-04 2009-12-10 株式会社 アテナテレコムラボ データベース接続プログラムおよび装置
JP2014026392A (ja) * 2012-07-25 2014-02-06 Bank Of Tokyo-Mitsubishi Ufj Ltd データベースドライバおよびプログラム

Similar Documents

Publication Publication Date Title
US6078955A (en) Method for controlling a computer system including a plurality of computers and a network processed as a user resource
US7260578B2 (en) Database-file link system and method therefor
US7421458B1 (en) Querying, versioning, and dynamic deployment of database objects
US6907603B2 (en) Software update management system with update chronology generator
US6560614B1 (en) Nonintrusive update of files
JP3270216B2 (ja) ファイル名検出方式
EP0718761A1 (en) A platform independent object and object viewer loader and method
US7099889B2 (en) System and method for decoupling object identification for the purpose of object switching in database systems
JPH076063A (ja) 記憶ダンプ作成方法及びシステム、情報捕捉方法及びシステム、並びに記憶ダンプ提供方法及びシステム
JP2008146380A (ja) キャッシュサーバ、キャッシュサーバの制御方法、プログラム及び情報記憶媒体
KR101899055B1 (ko) 갱신 데이터별 최적 쿼리문을 생성하는 스프레드시트 기반 데이터베이스 갱신 방법
US20130085988A1 (en) Recording medium, node, and distributed database system
EP2674868A1 (en) Database update notification method
JPH1021061A (ja) クライアントソフトウェア自動バージョンアップシステム
CN111324607B (zh) Sql语句复用方法和装置
JP5106062B2 (ja) ファイル検索方法、ファイル検索装置、検索システム、及び、ファイル検索プログラム
US20040168035A1 (en) System and method for relocating pages pinned in a buffer pool of a database system
JPH05233405A (ja) データベース変更監視方式
JP5083408B2 (ja) 構成管理装置、構成管理プログラム、構成管理方法
US20190147047A1 (en) Object-level image query and retrieval
US20050234987A1 (en) Smart archive for jar files
JPH09293010A (ja) 情報同期化方法
US20050076005A1 (en) Method and apparatus to associate data files with tasks or events
JPH117445A (ja) 統合化文書管理装置
JPH04324541A (ja) ネットワークシステム