JPH08272815A - オブジェクト指向データベースシステムおよびその処理方法 - Google Patents

オブジェクト指向データベースシステムおよびその処理方法

Info

Publication number
JPH08272815A
JPH08272815A JP7077595A JP7759595A JPH08272815A JP H08272815 A JPH08272815 A JP H08272815A JP 7077595 A JP7077595 A JP 7077595A JP 7759595 A JP7759595 A JP 7759595A JP H08272815 A JPH08272815 A JP H08272815A
Authority
JP
Japan
Prior art keywords
procedure
meta
data
processing
metadata
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
JP7077595A
Other languages
English (en)
Inventor
Takanori Yokoyama
孝典 横山
Eiko Naya
英光 納谷
Masahiko Saito
雅彦 齋藤
Atsuhiko Hirota
敦彦 廣田
Kunihiko Tsunetomi
邦彦 恒冨
Tadashi Kamiwaki
正 上脇
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 JP7077595A priority Critical patent/JPH08272815A/ja
Publication of JPH08272815A publication Critical patent/JPH08272815A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】ユーザの要求やシステムの構造等に応じて、シ
ステムやオブジェクトの動作を変更できるオブジェクト
指向データベースシステムを提供する。 【構成】メモリ102上に、データと手続きからなるオ
ブジェクト11m等と、各オブジェクトに対応して、オ
ブジェクトの構造や動作に関するメタデータと、オブジ
ェクトに関する操作を行うメタ手続きを有するメタオブ
ジェクト21m等を記憶する。本システムは、メタオブ
ジェクト変更プログラム124によってメタ手続きを変
更し、オブジェクトの生成時、データの書き込み前後、
入出力手続き呼出し前後の各処理をカスタマイズ可能に
する。例えば、データ書き込み後メタ手続きは、メモリ
上のオブジェクトのデータの値や構造を変更した場合は
そのつど、オブジェクトの手続きやメタオブジェクトを
変更した場合はシステム立ち下げ時に、ディスク103
に記憶し一致化する。また、本システムは、データ修正
メタ手続きをユーザコマンドで呼び出して、オブジェク
トデータの動的な修正(追加、削除等)を実行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、オブジェクト指向デー
タベースシステムに係り、特に、オブジェクトやシステ
ムの動作、あるいは、オブジェクトを記憶するための記
憶構造や記憶方法を、メタオブジェクトにより容易に修
正できるオブジェクト指向データベースシステムとその
処理方法に関する。
【0002】
【従来の技術】オブジェクト指向データベースでは、デ
ータとそれに関する手続きをまとめた、オブジェクトと
呼ぶ単位でデータを記憶する。オブジェクト指向データ
ベースでは、単なるデータのみを記憶するのではなく、
データへのアクセスや、データ変換、入出力装置への入
出力処理、探索処理等、そのデータに関する手続きも、
データと一体化して記憶できる。また、オブジェクト間
の関係も記憶できる。
【0003】一般のオブジェクト指向データベースで
は、オブジェクトの生成方法や記憶方法は、各オブジェ
クト指向データベースのデータベース管理システムによ
って固定的である。そして、データベース管理システム
の内部プログラムがオブジェクトの生成や、ディスク装
置への書き込み、読み出しの処理を実行する。
【0004】データベース管理システムの内部には、各
オブジェクトの記憶位置や記憶構造、データのとりうる
制約条件などを、メタデータと呼ばれる情報に記憶して
おり、内部プログラムはメタデータを参照しながらオブ
ジェクトに関する処理を実行する。しかし、ユーザは、
メタデータの詳細や、メタデータとオブジェクトの対応
関係が分からず、個々のオブジェクトのデータの記憶位
置や記憶構造、制約条件等を容易に知ることはできな
い。このため、メタデータを参照した処理を、ユーザが
定義することはできなかった。
【0005】また、データベース管理システムの内部プ
ログラムやメタデータの項目やデータ構造は固定的であ
り、ユーザの要求やシステム構造に応じてそれらを修
正、変更するには、データベース管理システム全体を見
直して改造する必要があり、多大な労力を要した。
【0006】このようなオブジェクト指向データベース
の問題点の解決案として、例えば、特開平6−8369
3に記載の方法がある。この第1の引用例では、オブジ
ェクトのデータと一部のメタデータをまとめてオブジェ
クトとする。これにより、オブジェクトとメタデータの
対応を容易にし、オブジェクトの手続きがメタデータの
一部にもアクセス可能となり、一部のメタデータに関し
ては修正、変更が容易になる。
【0007】また、「アイ・イー・イー・イー、ソフト
ウェア」、第11巻、第3号(1994年)(”IEEE,
SOFTWARE”,Vol.11,No.3(1994))、40頁〜47
頁に記載の方法がある。この第2の引用例では、オブジ
ェクトの生成法方や、同一種類(クラス)のオブジェク
トに共通するデータ項目を定義したメタクラスを設け、
そのメタクラスを、オブジェクトの定義と同一形式で定
義可能としている。そして、メタクラスの定義を変更す
ることにより、データベース管理システムの動作の一部
を容易に修正可能としている。
【0008】
【発明が解決しようとする課題】しかし、第1の引用例
の技術では、オブジェクトに一体化してアクセスできる
メタデータは限定されており、オブジェクトの記憶位置
や記憶構造などの情報は含まれない。したがって、オブ
ジェクトの記憶方法を変更したり、ユーザの要求や使用
ハードウェアに応じてカスタマイズすることは、容易に
はできない。
【0009】また、本来、オブジェクトのデータには無
関係なシステムを構成するハードウェアや使用する入出
力機器に依存したメタデータもオブジェクト中に含まれ
てしまうため、異なるハードウェアや入出力機器を用い
たシステムへ移植する場合に、オブジェクトの定義の修
正が必要になるという問題がある。
【0010】また、上記第2の引用例の技術では、オブ
ジェクトの生成処理以外のオブジェクトに対する操作に
ついては、その修正はできず、オブジェクトの記憶方法
を変更することは容易ではない。また、生成処理につい
ても修正を実行時に行えない。同一種類すなわち同一ク
ラスに属する2つのオブジェクトの動作を異なるものに
することもできない。
【0011】このように、従来のオブジェクト指向デー
タベースでは、システム変更の自由度はかなり限定され
たものとなっている。このため、オブジェクトの記憶方
法や、アクセス方法、エラー発生時の処理等を容易に修
正することはできない。したがって、機能を限定して性
能を向上させたいとか、性能よりも信頼性を重視したい
等、ユーザの要求に応じた修正は困難であるという問題
がある。また、システムのハードウェア構造、使用する
入出力機器等に応じて、処理方法をカスタマイズし、性
能や信頼性、メモリやディスクの使用効率等を向上させ
ることも難しい。
【0012】本発明の目的は、ユーザの要求や、システ
ムのハードウェア構造、使用する入出力機器等に応じ
て、オブジェクトを変更することなくメタオブジェクト
によってカスタマイズできるオブジェクト指向データベ
ースシステムを提供することにある。
【0013】本発明の目的は、オブジェクトの定義に影
響を与えることなく、ユーザの要求や、システムのハー
ドウェア構造、使用する入出力機器等に応じて、オブジ
ェクトの記憶方法はじめ、システムや個々のオブジェク
トの動作を容易に変更することができるオブジェクト指
向データベースシステムの処理方法を提供することにあ
る。
【0014】本発明のその余の目的は、以下の記載を通
じて明らかになる。
【0015】
【課題を解決するための手段】本発明の目的は、データ
とそれに関する処理を記述した手続きを有するオブジェ
クトを、システム停止後も記憶可能な永続的記憶装置と
一時的記憶装置の両方に記憶するオブジェクト指向デー
タベースを備え、アプリケーションプログラムが前記オ
ブジェクトにアクセスして処理を進めるオブジェクト指
向データベースシステムにおいて、各オブジェクトに対
応して、オブジェクトの構造や動作に関する情報である
メタデータと、そのメタデータを参照してオブジェクト
のデータ構造や手続きに関する処理を記述したメタ手続
きを有するメタオブジェクトを、前記オブジェクト指向
データベースに設けることにより達成される。
【0016】また、上記構成において、前記一時的記憶
装置または前記永続的記憶装置に記憶されている任意の
メタ手続きを指定し、外部入力されるメタ手続きのプロ
グラムをコンパイルし、実行形式に変換して、前記指定
されたメタ手続きと入れ替えるメタオブジェクト変更手
段を設けることを特徴とする。
【0017】本発明の他の目的は、アプリケーションプ
ログラムのアクセスにより実行中のオブジェクトから呼
び出されるメタ手続きは、オブジェクトの生成時、アプ
リケーションプログラムのオブジェクトへのデータの書
き込み前または書き込み後、オブジェクト内の手続き中
での入出力手続き呼び出し前または呼び出し後の各タイ
ミングに応じて、各々に記述されている異なる処理を実
行することにより達成される。
【0018】また、データベースサーバープログラムを
介したコマンド入力により呼び出されるメタ手続きは、
オブジェクトの記憶領域の変更、オブジェクト内のデー
タの追加や削除、データ型の変更、手続きの変更(追
加、削除または修正)、またはレプリカの設置や移動を
コマンドの指定に応じて動的に実行することにより達成
される。
【0019】
【作用】メタ手続きは、オブジェクトへのアクセス時
や、オブジェクト内の手続きが入出力処理を行う時等、
所定の時期に、暗黙的に起動される。また、システム管
理者のコマンド入力により明示的に起動される。起動さ
れたメタ手続きは、メタオブジェクト内に記憶されたメ
タデータを参照しながら、対応するオブジェクトのデー
タや手続きの記憶内容に対する操作や、オブジェクトの
動作に伴ったエラー処理など、使用ハードウェアや入出
力機器に依存した処理を実行する。
【0020】メタデータやメタ手続きはオブジェクトと
は独立にメタオブジェクトで定義、記述される。したが
って、オブジェクトの定義とは独立に、メタオブジェク
トを修正するのみで、ユーザの要求や、ハードウェア、
入出力機器等に応じて、容易にシステムの動作を変更す
ることができる。
【0021】
【実施例】以下、本発明の実施例を図を用いて詳細に説
明する。
【0022】図1は、本発明の第一の実施例によるオブ
ジェクト指向データベースシステムの構成図である。複
数の計算機、すなわち計算機1と計算機2がネットワー
ク10で結ばれている。計算機1はプロセッサ101、
メモリ102、磁気ディスク装置103(以下単にディ
スクと呼ぶ)、CRTディスプレイ104、キーボード
105、ネットワークアダプタ106から成る。
【0023】永続的な記憶装置であるディスク103に
は、オブジェクト11d、12d等、およびメタオブジ
ェクト21d、22d等が永続的に記憶されている。各
メタオブジェクトはそれぞれ一のオブジェクトに対応し
ており、メタオブジェクト21dはオブジェクト11d
に、メタオブジェクト22dはオブジェクト12dに対
応する。
【0024】メモリ102上には、アプリケーションプ
ログラム121、データベースサーバのプログラム12
2、メタオブジェクト変更プログラム124が記憶され
ている。また、メモリ102上にはオブジェクトのキャ
ッシュ領域123があり、ディスク103上のオブジェ
クトおよびメタオブジェクトから複製された複数のオブ
ジェクト11m、12m等、メタオブジェクト21m、
22m等が存在する。メモリは一時的な記憶装置であ
り、オブジェクトのキャッシュ領域123に記憶された
オブジェクトやメタオブジェクトの情報はシステム停止
時に失われる。
【0025】プロセッサ101は、メモリ上のアプリケ
ーションプログラム121、データベースサーバプログ
ラム122、オブジェクト11m、12m等、メタオブ
ジェクト21m、22m等のプログラムを読み出し、そ
れらに含まれるデータにアクセスしながら処理を実行す
る。必要により、ユーザからのコマンドや処理に用いる
情報がキーボード105から入力され、処理結果がCR
Tディスプレイ104に表示される。ネットワークアダ
プタ106は、ネットワーク10を介して他の計算機と
情報をやりとりする。計算機2も計算機1と同様の構成
である。
【0026】次にオブジェクト指向データベースシステ
ムの動作の概要について説明する。データベースサーバ
プログラム122は、アプリケーションプログラム12
1がオブジェクトにアクセスする場合の仲介動作をす
る。また他の計算機上のオブジェクトにアクセスする場
合、例えば計算機1上のアプリケーションプログラム1
21が計算機2上のオブジェクトにアクセスする場合に
は、データベースサーバプログラム122が、ネットワ
ークアダプタ106を介し、ネットワーク10を経由し
て、計算機2上のデータベースサーバプログラムにアク
セスを依頼する。そして依頼を受けた計算機2上のデー
タベースサーバプログラムが計算機2上のオブジェクト
にアクセスする。これにより異なる計算機のオブジェク
トにもアクセス可能となる。逆方向のアクセスも同様に
して可能である。
【0027】ディスク103に記憶されているオブジェ
クト11d、12d等、およびメタオブジェクト21
d、22d等と、メモリ上のオブジェクトキャッシュ領
域123に記憶されているオブジェクト11m、12m
等、およびメタオブジェクト21m、22m等とは、そ
れぞれ対応するもの同士の情報は同一である。本実施例
のオブジェクト指向データベースシステムは立ち上げ時
に、ディスク上に記憶されている全てのオブジェクトお
よびメタオブジェクトの複製をオブジェクトキャッシュ
領域に生成する。
【0028】アプリケーションプログラム121が、デ
ータベースサーバプログラム122を介して、オブジェ
クトキャッシュ領域123上の一つのオブジェクトにア
クセスする場合、そのオブジェクトに含まれる手続きが
実行される。
【0029】本実施例では、後述するように、オブジェ
クトキャッシュ領域123上のオブジェクトのデータの
値が書き替えられたときやデータ構造が変更された時
は、メタオブジェクトにより、その都度、ディスク10
3上の対応するオブジェクトの記憶情報も書き替える。
これにより、オブジェクトキャッシュ領域123上のオ
ブジェクトの記憶情報と、ディスク103上のオブジェ
クトの記憶情報を常に一致させ、オブジェクトのデータ
喪失を防止する。
【0030】しかし、オブジェクトの手続きが変更され
た場合には、ディスク103上の対応するオブジェクト
の手続き情報は書き替えない。また、オブジェクトキャ
ッシュ領域123上のメタオブジェクトの情報が書き替
えられたときも、ディスク103上の対応するメタオブ
ジェクトの記憶情報は書き替えない。そして、システム
立ち下げ時に、オブジェクトキャッシュ領域123上の
全てのオブジェクトの情報およびメタオブジェクトの情
報が、ディスク103上に書き込まれる。
【0031】次にオブジェクトについて説明する。図2
に、オブジェクトの構造を示す。上述のように、メモリ
102上のオブジェクトとディスク103上のオブジェ
クトの記憶内容は基本的に同一であるので、以下では、
メモリ上のオブジェクトについて説明する。
【0032】オブジェクトはデータとそれに関する手続
きの集合である。図2では、オブジェクト11mは、デ
ータ11d1、11d2等と、手続きアドレス11p
1、11p2等から成る。手続きアドレスは、手続きの
プログラムの先頭アドレスを指定したものである。同図
では、手続きアドレス11p1は手続きのプログラム1
1p10の先頭アドレス、手続きアドレス11p2は手
続きのプログラム11p20の先頭アドレスを示してい
る。例えば、オブジェクト指向言語C++でオブジェク
トを定義すると、データは構造体、手続きはメンバ関数
と呼ばれる関数で表現できる。
【0033】オブジェクト指向データベースシステムで
は、外部のプログラム(アプリケーションプログラム)
がオブジェクト内のデータを直接読み出したり書き込ん
だりすることはできない。すなわち、外部のプログラム
は、アクセスしようとするオブジェクトに含まれる手続
きを呼びだし、その手続きが当該オブジェクト内のデー
タにアクセスする。
【0034】本実施例の場合、アプリケーションプログ
ラム121が、データベースサーバプログラム122を
介して、オブジェクトに含まれる手続き1、手続2等を
呼びだすことになる。手続きの呼び出しは、オブジェク
トのデータに記憶されている手続きアドレス11p1、
11p2等のアドレスを指定して実行する。すると、デ
ータベースサーバは、手続アドレスのアドレスで指定さ
れた領域に記憶された手続きアドレスを指定して呼び出
しを行う。これにより手続きのプログラムが実行され
る。
【0035】次に、メタオブジェクトについて説明す
る。図3に、メタオブジェクトの構造を示す。本例で
は、一つのオブジェクト11mに対し一つのメタオブジ
ェクト21mが対応している。オブジェクトが有するデ
ータの一つはメタオブジェクトへのアドレスを表わして
おり、これによりオブジェクトに対応するメタオブジェ
クトを知ることができる。メタオブジェクトはオブジェ
クトの生成時に同時に生成し、オブジェクト削除時に同
時に削除する。
【0036】メタオブジェクトは、対応するオブジェク
トのデータ構造や手続き、状態等に関する情報であるメ
タデータと、オブジェクトの操作やそれに関連する処理
を行うメタ手続きの集合である。
【0037】図3のように、メタオブジェクト21m
は、メタデータ21d1、21d2等と、メタ手続きア
ドレス21p1、21p2等から成る。メタ手続きアド
レスは、メタ手続きのプログラムの先頭アドレスを指定
したものである。メタ手続きアドレス21p1はメタ手
続きのプログラム21p10の先頭アドレスを、メタ手
続きアドレス21p2はメタ手続きのプログラム21p
20の先頭アドレスを示している。
【0038】メタオブジェクトはオブジェクトと同様
に、例えばオブジェクト指向言語C++でメタオブジェ
クトを表現すると、メタデータは構造体(個々のメタデ
ータ又はメンバ)、メタ手続きはメンバ関数で表現でき
る。
【0039】次に、メタデータの詳細について説明す
る。図4、図5は、メタデータの具体的な内容及びデー
タ構造を示したものである。
【0040】メタデータは、対応するオブジェクトをシ
ステム内で一意に識別するためのオブジェクト識別子2
1d1、当該オブジェクトが記憶されているメモリ領域
の先頭アドレス21d2、オブジェクトを記憶するメモ
リ領域のサイズ(バイト数)21d3、当該オブジェク
トにアクセスできるユーザの数21d4、アクセス可能
なユーザに関する情報を記憶したアクセス可能者テーブ
ル21d50へのポインタ(アドレス)21d5、オブ
ジェクトのバージョン番号21d6、オブジェクトが有
するデータの数21d7、そのデータに関する情報を記
憶したデータ情報テーブル21d80へのポインタ21
d8、オブジェクトが有する手続きの数21d9、その
手続きに関する情報を記憶した手続き情報テーブル21
d100へのポインタ21d10、オブジェクトが破壊
されたときのバックアップに用いられるオブジェクトの
レプリカ数21d11、レプリカの存在位置に関する情
報を記憶したレプリカ位置情報テーブル21d120へ
のポインタ21d12、オブジェクトを作成したユーザ
名21d13、当該オブジェクトを参照しているオブジ
ェクトの数(参照数)21d14、参照しているオブジ
ェクトの情報を記憶した参照オブジェクト情報テーブル
21d150へのポインタ(アドレス)21d15、オ
ブジェクトのディスク上の格納位置情報21d16等の
情報を含んでいる。
【0041】アクセス可能者テーブル21d50は、オ
ブジェクトにアクセス可能なユーザ名21d51、21
d52等から成る。メタオブジェクトはこの情報を利用
して、当該オブジェクトに対してアクセス権のないアプ
リケーションプログラムによるアクセスを阻止すること
ができる。
【0042】データ情報テーブル21d80は、データ
情報21d81、21d82等から成る。データ情報2
1d81は、データ名21d811、データ型名21d
812、データの記憶領域のサイズ(バイト数)21d
813、データの記憶領域の先頭アドレス21d81
4、データの値のとりうる最小値21d815、データ
の値のとりうる最大値21d816、データがこれまで
何回書き替えられたかを表わす書き込み回数21d81
7等から成る。メタオブジェクトは、これらのデータ情
報を利用して、オブジェクトのデータの内容や、データ
の記憶領域や記憶方法を制御することができる。また、
データのアクセス回数に応じた処理も実現できる。
【0043】レプリカ位置情報テーブル21d120
は、レプリカが存在する計算機の計算機アドレス21d
121、21d122等から成る。参照オブジェクト情
報テーブル21d150は、このオブジェクトを参照し
ているオブジェクトのアドレス21d151、21d1
52等から成る。メタオブジェクトは、これらの情報を
利用して、オブジェクトのレプリカを生成するととも
に、レプリカの記憶位置や記憶方法を制御することがで
きる。
【0044】手続き情報テーブル21d100は、手続
き名毎に構成される手続き情報21d101、21d1
02等から成る。図5に、手続情報の詳細な構造を示
す。
【0045】手続き情報21d101は、手続き名21
d1011、オブジェクト内の手続きアドレスを記憶し
ている領域のアドレス21d1012、手続きの記憶領
域のサイズ(バイト数)21d1013、戻り値のデー
タ型名21d1014、戻り値のサイズ(バイト数)2
1d1015、引数の数21d1016、引数情報テー
ブル21d1070へのポインタ21d1017、当該
手続き内で実行する入出力処理に使用する入出力手続き
数21d1018、入出力手続き情報テーブル21d1
0190へのポインタ21d1019等から成る。
【0046】引数情報テーブル21d10170は、引
数情報21d10171、21d10172等から成
る。引数情報21d10171は、引数名21d101
711、引数のデータ型名21d101712、引数の
サイズ(バイト数)21d101713等から成る。
【0047】入出力手続き情報テーブル21d1019
0は、入出力手続き情報21d10191、21d10
192等から成る。入出力手続き情報21d10191
は、入出力手続き名21d101911、入出力手続き
のアドレス21d101912、入出力手続きでエラー
が生じた場合に実行するエラー処理のアドレス21d1
01913等から成る。
【0048】メタオブジェクトは、これらの手続き情報
を利用して、オブジェクトの手続きのプログラムや、手
続きの実行方法を制御することができる。また、入出力
手続きに関するエラー処理等の付加的な処理を実行する
ことができる。
【0049】このようなメタデータは、メタオブジェク
トの定義により与えられる情報、オブジェクトのコンパ
イル時に抽出できる情報、オブジェクト生成時に決定さ
れる情報、オブジェクトの実行によって決まる情報に分
類できる。
【0050】メタオブジェクトの定義により与えられる
情報には、アクセス可能者情報21d5や、データのと
りうる最小値21d815や最大値21d816があ
る。例えばメタオブジェクトの定義において、アクセス
可能なユーザを指定することにより、アクセス可能者情
報を定義できる。
【0051】オブジェクトのコンパイル時に抽出できる
情報には、オブジェクトのサイズ21d3やデータ数2
1d7、データ名21d811、データ型21d81
2、手続き数21d9、手続き名21d1011、手続
きのサイズ21d1014等がある。コンパイル時の情
報の抽出については、先に本願発明者等が提案し、特開
平5−313919号公報に開示されている方法に詳し
い。
【0052】オブジェクト生成時に決定される情報に
は、オブジェクト識別子21d1やオブジェクトのアド
レス21d2、データのアドレス21d814等があ
る。これらは後述するオブジェクト生成時に呼び出され
るメタ手続きにより設定する。
【0053】オブジェクトの実行時に決まる情報には、
参照オブジェクト情報21d15やデータの書き込み回
数21d817等がある。これらはオブジェクトの実行
時に呼び出されるメタ手続きにより設定する。例えばデ
ータの書き込み終了後に呼び出されるメタ手続きによ
り、データの書き込み回数を更新する。また、ユーザが
データベースサーバにコマンドを入力して、メタ手続き
を呼び出し、そのメタ手続きの処理内でメタデータを設
定したり、変更したりすることもある。これについては
後述する。
【0054】次に、メタ手続きの詳細について説明す
る。メタ手続きはオブジェクトの実行に伴って、所定の
タイミングで呼び出されたり、データベースサーバプロ
グラムへのユーザのコマンド入力により呼び出される。
そして、メタデータにアクセスしながら処理を実行す
る。
【0055】オブジェクトの実行に伴って呼び出される
メタ手続きは、オブジェクトの生成時すなわちメタオブ
ジェクトの生成時、アプリケーションプログラムの(デ
ータベースサーバプログラムを介した)オブジェクトへ
のデータの書き込み前、書き込み後、オブジェクト内の
手続き中での入出力手続き呼び出し前、呼び出し後等に
呼び出される。
【0056】オブジェクトの生成時に呼び出されるメタ
手続きは、メタオブジェクトのメタデータの初期化を行
う。すなわち、前述のメタデータのうち、オブジェクト
識別子21d1やオブジェクトのアドレス21d2、デ
ータのアドレス21d814等、オブジェクト生成時に
決まるデータを設定する。
【0057】オブジェクトのデータ書き込み前に実行さ
れるメタ手続きは、アクセス権のチェックや、設定する
データが許される範囲内であるかどうかなどのチェック
を行う。
【0058】オブジェクトのデータ書き込み後に実行さ
れるメタ手続きは、そのオブジェクトに対応するディス
ク103上のオブジェクトにもデータを書き込む一致化
処理を行う。これにより、オブジェクトキャッシュ領域
123上のオブジェクトの情報と、ディスク103上の
オブジェクトの記憶内容の一致化が実現できる。
【0059】入出力手続き呼び出し前に呼び出されるメ
タ手続きは、入出力データのチェック等を行う。入出力
手続き呼び出し後に呼び出されるメタ手続きは、入出力
処理のエラー処理等を行う。
【0060】本実施例では、メタオブジェクト変更プロ
グラムを有していて、メタ手続きをプログラマが変更す
ることができる。メタ手続きの変更には、アプリケーシ
ョンプログラム121やデータベースサーバープログラ
ム122の実行を停止する必要がある。この停止によ
り、メモリ102上のオブジェクトやメタオブジェクト
の状態はディスク103に反映される。
【0061】次に、メタオブジェクト変更プログラム1
24を起動し、プログラマがCRT104やキーボード
105を介して、ディスク上のメタオブジェクトのメタ
手続きを指定し、変更するメタ手続きのプログラムを入
力する。たとえば、メタオブジェクト21mは、メタ手
続きアドレス21p1により、メタ手続きのプログラム
21p10の先頭アドレスを記憶している。メタオブジ
ェクト変更プログラム124は、新たなメタ手続きの実
行形式のプログラムを、指定された先頭アドレスのプロ
グラム21p10と入れ替える。この後、データベース
サーバープログラム122を実行すると、変更したメタ
手続きの利用が可能になる。
【0062】このようなメタ手続きの変更により、オブ
ジェクト生成時の処理、オブジェクトへのデータの書き
込み前、後の処理、あるいはオブジェクト内の手続き中
での入出力手続き呼出し前、後の処理を容易にカスタマ
イズできる。
【0063】また、異なるメタ手続きを有するオブジェ
クトを、システム内に同時に存在させることができる。
これにより、オブジェクトに応じて、オブジェクトの生
成時の処理、オブジェクトへのデータ書き込み前、後の
処理、オブジェクト内の手続き中での入出力手続き呼出
し前、後の処理等を任意に変えることができる。
【0064】以上、本実施例のメタ手続きについて説明
した。メタ手続きは、メタデータを参照しながら、メモ
リ上のオブジェクトのデータとディスク上のオブジェク
トのデータの一致化処理や、オブジェクトのデータや手
続きの変更などオブジェクトに対する操作や、オブジェ
クトの処理に伴う計算機構成や入出力機器に依存したエ
ラー処理などの付加的な処理を実行する。
【0065】次に、これらメタ手続きによる動作のいく
つかを具体的に説明する。
【0066】図6は、データ書き込み前メタ手続きの動
作を示すフローチャートである。データ書き込み前メタ
手続きは、書き込みの直前に引数として設定するデータ
のアドレスと値が渡される。
【0067】データ書き込み前メタ手続き21p001
は、まず、データにアクセスするアプリケーションプロ
グラムを起動したユーザが、アクセス可能であるかどう
かを判定する(処理21p0011)。これは、当該ユ
ーザが、アクセス可能者テーブル21d50に記憶され
ているかどうかで判定する。アクセス不可であれば書き
込みエラーとして終了する。
【0068】アクセス可能であれば、次に設定値が最小
値以上であるかどうかを判定する(処理21p001
2)。これには、データ情報(21d81、21d82
等)をサーチし、そこに記憶されているデータのアドレ
スから引数で渡されたデータのアドレスと一致するもの
(例えば21d814)を選択し、その最小値情報(例
えば21d816)を参照し、これと設定する値と比較
する。最小値以下であれば書き込みエラーとして終了す
る。最小値以上であれば、次に設定値が最大値以下であ
るかどうかを判定する(処理21p0013)。これも
同様にして、設定する値と、メタデータのうちの最大値
情報(例えば21d817)を参照し、比較する。最大
値以上であれば書き込みエラーとして終了する。最大値
以下であれば正常終了する。
【0069】正常終了した場合には、オブジェクトの手
続きに戻り、実際にデータの書き込みが実行される。一
方、書き込みエラーとして終了すると、オブジェクトの
手続きを呼び出したデータベースサーバプログラム12
2の呼び出しがエラーとして処理される。このように、
メタオブジェクトでアクセス権やデータ値の制約条件を
チェックするので、オブジェクトの定義を修正すること
なく、メタオブジェクトの関連するメタデータを書き替
えるのみで、容易にアクセス権や制約条件を変更でき
る。
【0070】図7は、データ書き込み後メタ手続きの動
作を示すフローチャートである。データ書き込み後メタ
手続きは、データ書き込みの直後に、書き替えられたデ
ータをディスク上の対応するオブジェクトのデータの記
憶領域に書き込む。
【0071】データ書き込み後メタ手続き21p101
は、オブジェクトのディスク103上の格納位置21d
16と、データ情報12d81中のデータのアドレス2
1d84を参照し、書き込みデータのでディスク上への
格納位置を決定する(処理21p1011)。そして、
決定した格納位置に書き込みデータを格納する(処理2
1p1012)。
【0072】これにより、メモリ上のデータとディスク
上のデータの一致化処理が実行でき、システムが故障等
により突然停止しても、最新のオブジェクトのデータが
に保存され、データが失われることがない。
【0073】ところで、オブジェクトデータが書き替え
られる度に、一致化処理していたのでは処理性能上の問
題がある。そこで、図8に示すように、前回書き込み後
一定時間経過した場合に書き替えるようにしてもよい。
【0074】第2のデータ書き込み後メタ手続き21p
102は、まず、前回のディスクへの書き込み後、一定
時間経過したかどうかを調べる(処理21p102
1)。経過している場合は、図7と同様の処理により書
き込みデータを格納する。経過していない場合には、格
納処理は実行しない。
【0075】次に、入出力後メタ手続きの動作を、図9
のフローチャートにより説明する。入出力手続きの終了
の直後に、入出力後メタ手続き21p201が呼び出さ
れ、引数として実行した入出力手続きのアドレスと、実
行した入出力手続きが正常終了したかどうかの情報が渡
される。
【0076】入出力後メタ手続き21p201は、ま
ず、実行した入出力手続きが正常終了したかどうかを引
数により判定する(処理21p2011)。正常終了で
あれば、そのまま終了する。正常でなければ、入出力処
理判定(処理21p2012)を実行する。すなわち、
メタデータ内の入出力手続き情報(21d10191、
21d10192等)をサーチし、そこに記憶されてい
る入出力手続きのアドレス(例えば21d10191
2)を参照し、これと引数で渡された実行入出力手続き
のアドレスを比較し、一致するものを持つ入出力情報を
取得する。一致する入出力情報(例えば21d109
1)が得られたら、それに含まれるエラー処理のアドレ
ス(例えば21d101913)を得、そのエラー処理
を呼び出す(処理21p2013)。
【0077】これにより、オブジェクトにエラー処理を
記述することなく、メタオブジェクトで実行できる。ま
た、オブジェクトを修正することなく、メタオブジェク
トのエラー処理のアドレスを書き替えるのみで、使用す
る入出力機器に応じたエラー処理に変更することもでき
る。
【0078】この入出力後メタ手続きについても、プロ
グラマがその動作を変更することができる。図10に、
第2の入出力後メタ手続きの例を示す。入出力後メタ手
続き21p202は、実行した入出力手続きが正常終了
したかどうか引数により判定し(処理21p202
1)、正常終了であれば本処理を終了してオブジェクト
の処理に戻る。正常終了でなければ、システムが故障し
たものとして、システム停止処理を実行し(処理21p
2022)、オブジェクトの処理に戻らずにシステムを
停止する。
【0079】このように、本実施例のメタ手続きの変更
により、オブジェクトの定義に影響を与えることなく、
オブジェクトに設定するデータのチエックや入出力処理
のエラー処理等を追加でき、ユーザの要求や、システム
のハードウエア構造、使用する入出力機器等に応じて、
システム動作の柔軟な変更が可能になる。
【0080】本実施例では、ユーザがコマンド入力によ
り、データベースサーバプログラムから呼び出して実行
するメタ手続きがあり、これによって、オブジェクトの
構造や動作を変更することができる。このメタ手続き
に、オブジェクトの記憶領域の変更や、オブジェクト内
のデータの追加や削除、データ型の変更、手続きの追加
や削除、手続きの修正、レプリカの設置や移動等を行う
メタ手続き等がある。
【0081】従って、これらのメタ手続きを起動するコ
マンドをユーザに提供することにより、システムを停止
することなく、システムの動作や構成を変更することが
できる。また、メタ手続きを変更することにより、上記
のオブジェクトの変更方法そのものを、目的に合わせて
変更することが可能になる。以下、オブジェクトの構造
や動作を変更するメタ手続きの例をいくつか説明する。
【0082】図11は、オブジェクト内のデータを追加
するデータ追加メタ手続きの動作を説明するフローチャ
ートである。
【0083】データ追加メタ手続き21p301は、引
数として追加後のオブジェクトのサイズ(バイト数)お
よび新しいデータのデータ情報が渡される。引数で渡さ
れるデータ情報は、メタデータに含まれるデータ情報2
1d81と同じ形式をしている。データ情報は、メタデ
ータの抽出と同様に、新しいデータを定義したオブジェ
クトのコンパイル時に抽出できる。
【0084】まず、対応するオブジェクトへのアクセス
を禁止する(処理21p3011)。これはオペレーテ
ィングシステムが提供する排他制御機能を利用して実現
できる。次に、新しいオブジェクトを記憶する領域を割
り当てる(処理21p3012)。これはOSが提供す
るメモリ領域割り当て機能を利用して実現できる。次
に、メタデータを変更する(処理21p3013)。す
なわち、メタデータ内のデータ数を一つ増やすととも
に、引数で与えられたデータ情報へのポインタを、デー
タ情報テーブルの最後の要素の後ろに追加する。ただし
データのアドレスは引数で与えられたデータ情報では未
定義なので、データ情報を参照して、新しく追加したデ
ータの記憶位置を算出して格納する。
【0085】そして、現在オブジェクトデータを記憶し
ている領域から、新たに割り当てた領域へ、オブジェク
ト内の情報をコピーする(処理21p3014)。この
とき、新たにデータが追加されたので、手続きアドレス
をコピーする領域は、追加したデータの記憶に必要な領
域の後ろにする。そして、当該オブジェクトを参照して
いる全てのオブジェクトについて、記憶している参照ア
ドレスを、新たに割り当てたアドレスに書き替える(処
理21p3015)。この処理は、メタデータ中の参照
オブジェクト情報21d15の参照しているオブジェク
トのアドレスを読み出して、参照しているオブジェクト
のメタオブジェクトに対し、参照アドレスの変更を要求
することにより実現する。これにより、オブジェクトの
参照関係が正しく保たれる。また、このときメタデータ
内のオブジェクトのアドレスも書き替える。そして、新
しいオブジェクトを、ディスク装置103上に書き込
み、ディスク上のオブジェクトの情報との一致化を行う
(処理21p3016)。最後に、オブジェクトへのア
クセス禁止を解除する(処理21p3017)。これに
より、データ追加前のオブジェクトが、新たに追加され
たデータの記憶領域を含むオブジェクトに置き換えられ
る。
【0086】このようなデータ追加メタ手続きにより、
オブジェクトに動的にデータを追加することが可能にな
る。また、メモリ上のオブジェクトのデータ構造が変化
した場合には、その都度最新のオブジェクトのデータ構
造がディスク上保存される。
【0087】一方、この変更により生じたメタデータの
変更は、システム立ち下げ時に反映するようにしてい
る。これは、オブジェクトのデータ構造に関するメタデ
ータは、オブジェクトのコンパイル時に抽出でき、シス
テム停止によって失われることがないからである。ただ
し、次回のシステムの立ち上げ時に、メタデータを修正
し、再生する処理が必要になる。
【0088】この再生処理を不要にするため、図12に
示すように、オブジェクトのデータ構造を変更する度
に、メタデータの変更をディスクに反映させるようにし
てもよい。第2のデータ追加メタ手続き21p302
は、基本的には図11と同様の処理となるが、メタデー
タの変更(21p3023)後に、ディスク上へのメタ
データ格納(21p3024)が行われる。
【0089】図13は、手続き変更メタ手続きの動作を
説明するフローチャートである。手続き変更メタ手続き
21p401は、引数として新しい手続きの手続き情報
を渡され、オブジェクト内の手続きの変更を行う。引数
で渡される手続き情報は、メタデータに含まれる手続き
情報21d101と同形式をしている。手続き情報は、
メタデータの抽出と同様に、新しいメタ手続きのコンパ
イル時に抽出できる。
【0090】手続き変更メタ手続き21p401は、ま
ず、対応するオブジェクトへのアクセスを禁止する(処
理21p4011)。次に、メタデータ内の手続き情報
(21d101、21d102等)を調べ、引数で与え
られた手続き情報に含まれる手続き名と同一の手続き名
で、メタデータ内の手続き情報に記憶されている手続き
アドレスのアドレスを得る(処理21p4012)。
【0091】そして、該手続きアドレスのアドレスが示
しているオブジェクト内の手続きアドレス(例えば11
p1、11p2等)の内容を、引数で与えられた手続き
のプログラムの先頭アドレスに置き換える(処理21p
4013)。そして、メタデータ内の手続き情報を引数
で与えられた手続き情報に置き換える(処理21p40
14)。最後に、オブジェクトへのアクセス禁止を解除
する(処理21p4015)。
【0092】以上のように、変更対象オブジェクトの、
変更対象手続きに対応する手続きアドレスが指している
手続きのプログラムの先頭アドレスが、新しい手続きの
プログラムの先頭アドレスに書き替えられ、以後、オブ
ジェクトの該手続きの呼び出しがなされると、新しい手
続きが実行されることになる。このような手続き変更メ
タ手続きにより、オブジェクトの手続きを、動的に置き
換えることが可能となる。なお、上記した各処理で、引
数により渡される情報は、戻り値によってもよい。
【0093】以上、本実施例のメタ手続きの動作につい
て説明した。メタ手続きは、メタデータを参照しなが
ら、メモリ上のオブジェクトのデータとディスク上のオ
ブジェクトのデータの一致化処理や、オブジェクトのデ
ータや手続きの変更などオブジェクトに対する操作や、
オブジェクトの処理に伴う計算機構成や入出力機器に依
存したエラー処理などの付加的な処理等を実行すること
ができる。そして、メタ手続きを変更することにより、
それらの処理をプログラマが自由にカスタマイズでき
る。
【0094】本発明の一実施例の構成によれば、オブジ
ェクトが個別にデータおよび手続きを記憶し、このオブ
ジェクトに対応してメタオブジェクトが個別にメタデー
タおよびメタ手続きを記憶している。このため、メタオ
ブジェクト単位でメタデータやメタ手続きの変更が容易
にでき、オブジェクトの定義に影響を与えることなく、
ユーザの要求や、システムのハードウェア構造、使用す
る入出力機器等に応じて容易にシステムの動作を変更す
ることが可能である。
【0095】また、オブジェクト毎に異なる動作をする
メタオブジェクトを対応させることができるので、同一
種類のオブジェクトであっても異なる動作を実現でき、
様々な要求に容易に答えられるという効果がある。さら
に、オブジェクトを手続きと独立して容易に定義できる
ので、オブジェクト指向データベースの開発効率が向上
するという効果がある。
【0096】本実施例では、メモリ上のオブジェクトの
データの値や構造が変更された場合には、その都度また
は一定時間の経過毎にディスクに記憶する。従って故障
等によりシステムが突然停止しても、最新のオブジェク
トのデータがディスク上に保存され、オブジェクトおよ
びメタオブジェクトを永続的に記憶できるという効果が
ある。
【0097】一方、オブジェクトの手続きやメタオブジ
ェクトの変更は、必ずしもその都度ディスクに反映する
ことをせず、システム立ち下げ時に反映することで、処
理効率を向上している。これらメモリ上のオブジェクト
データのディスク上への記憶処理は、メタオブジェクト
がメタデータを参照しながら、メタ手続きにより行って
いるので、オブジェクトに対応して所望のメタ手続きを
設定することで、ユーザの要求やシステムに適応してカ
スタマイズできる。
【0098】本実施例では、プログラマがオブジェクト
を実行時に動的に変更することが可能である。すなわ
ち、メタオブジェクトは、オブジェクトのデータや手続
きの記憶領域や、手続きの呼び出し動作に関する情報を
有しているので、メタ手続きはこれを参照することによ
り、データや手続きの追加や削除、変更など、オブジェ
クトの動的操作をプログラマが自由にカスタマイズでき
る。
【0099】次に、本発明の他の実施例について説明す
る。上記した本発明の実施例では、個々のオブジェクト
がそれぞれ個別に手続きを有していた。しかし、同じ種
類のオブジェクト、すなわち、同じクラスに属するオブ
ジェクトは、同一の手続きを実行すればよいので、手続
きを共有できる。
【0100】図14に、共有する手続きのクラスをもつ
オブジェクトの構造を示す。このクラス11cmは、手
続き11p10、11p20等の手続きのプログラムの
先頭番地を示す手続きアドレス11p1、11p2等を
記憶する。そして、オブジェクト11omは、データ1
1d1、11d2等と、そのオブジェクトが属するクラ
ス11cmの記憶領域へのポインタ11cpを記憶す
る。同一クラスに属するオブジェクト12omも、同一
クラス記憶領域へのポインタ12cpを記憶する。これ
により手続きを記憶するための記憶領域を小さくでき
る。
【0101】図15は、本実施例によるメタオブジェク
トの構造を示したものである。メタオブジェクトにおい
ても、同様に、メタ手続きを共有することが可能であ
る。また、同一クラスのオブジェクトに対応するメタオ
ブジェクトは、メタデータの一部を共有できる。例え
ば、オブジェクトのサイズや、データのアドレス21d
814を除くデータデータ情報21d81、手続き情報
21d101等のメタデータは共有できる。
【0102】図15に示すように、メタオブジェクトの
クラス21cmを設け、ここに、メタ手続きのプログラ
ム21p10、21p20等の先頭アドレス21p1、
21p2等を記憶するとともに、共有データ21dc
1、21dc2等を記憶する。メタオブジェクト21o
mは、共有データ以外のメタデータ、すなわち、個別メ
タデータ21dd1、21dd2等と、そのメタオブジ
ェクトが属するクラス21cmの記憶領域へのポインタ
21cpを記憶する。同一クラスに属するオブジェクト
22omも、同一クラス記憶領域へのポインタ22cp
を記憶する。これによりメタ手続きおよびメタデータを
記憶するための記憶領域を小さくできる。
【0103】このメタオブジェクトに対するアクセス方
法は、当該メタデータが共有データか個別データかを識
別することにより可能になる。図16に、本実施例によ
るメタデータのアクセス処理21p500を示す。ま
ず、アクセスするメタデータが共有かどうか判定し(処
理21p501)、共有であれば共有メタデータをアク
セスし(処理21p502)、そうでなければメタオブ
ジェクト毎に記憶されている個別メタデータをアクセス
する(処理21p503)。
【0104】共有または個別メタデータへのアクセス後
は、第1の実施例に説明したと同様に、メタオブジェク
ト単位でメタデータやメタ手続きの変更が容易にでき、
オブジェクトの定義に影響を与えることなく、ユーザの
要求や、システムのハードウェア構造、使用する入出力
機器等に応じて容易にシステムの動作を変更することが
可能である。また、メタ手続きにより、データや手続き
の追加や削除、変更など、オブジェクトの操作を動的に
変更できる。
【0105】なお、プログラマが手続きの記述時に共有
/個別を明示的に記述するか、コンパイル時に判定する
ことにより、共有メタデータへ直接アクセスする処理
を、メタ手続きの実行可能プログラム中に含むこともで
きる。
【0106】以上に説明した本発明の実施例では、磁気
ディスク上のオブジェクトおよびメタオブジェクトの複
製を、システム立ち上げ時に全てメモリ上に格納する。
しかし、システム立ち上げ時ではなく、アプリケーショ
ンプログラムが必要とする時に、必要とするオブジェク
トまたはメタオブジェクトの複製のみをメモリ上に格納
するようにしてもよい。これにより、必要とするオブジ
ェクトとメタオブジェクトのみがメモリ上に存在するこ
ととなり、メモリの使用効率が向上する。
【0107】また、オブジェクトのデータについては、
変更の都度ディスクに反映し、オブジェクトの手続きや
メタオブジェクトの変更についてはシステム立ち下げ時
にディスクに反映していた。しかし、全てのデータを変
更の都度ディスクに反映してもよい。これにより、オブ
ジェクトやメタオブジェクトの最終状態を常に保存し、
システムが電源ダウンで突然停止し、非常電源により直
ちに再立ち上げする場合に、立ち上げ時の再生処理をす
る必要がなく、システムの動作を瞬時に回復することが
できる。
【0108】また、メモリ上のメタオブジェクトの情報
をシステム立ち下げ時にディスクに書き込んでいた。し
かし、オブジェクトのデータ構造や手続きが変更されな
ければ、メタデータは変更されない。そこで、メタオブ
ジェクトの情報についてはディスクに書き込まないよう
にすることもできる。これにより処理効率を向上でき
る。
【0109】
【発明の効果】本発明によれば、オブジェクトのデータ
構造や手続きを修正することなく、メタオブジェクトを
修正するのみで、オブジェクトの動作を変更することが
できる。また、オブジェクトとは独立に、オブジェクト
に関する処理をメタオブジェクトにより追加できる。こ
れにより、ユーザの要求や、システム構成の変更等に容
易に対応でき、カスタマイズが容易になるという効果が
ある。
【0110】本発明によれば、メタ手続きによって、オ
ブジェクトの永続的記憶装置と一時的記憶装置のデータ
の記憶ないしデータの一致化処理を、再生不可能なデー
タはその都度、再生可能なデータはシステム立ち下げ時
に実行させ、システムの信頼性と処理効率を向上できる
効果がある。また、ユーザが記憶方法を、容易に変更す
ることができ、オブジェクト指向データベースの移植が
容易になるという効果がある。
【0111】本発明によれば、オブジェクトの記憶位置
や記憶構造の変更、オブジェクトのデータや手続きの追
加、削除、変更等を、実行時にシステムを停止すること
なく動的に行うことができる。これにより、システムの
可用性が向上するという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例によるオブジェクト指向デー
タベースシステムの構成図。
【図2】一実施例のオブジェクトの構造を示す説明図。
【図3】一実施例のメタオブジェクトの構造を示す説明
図。
【図4】一実施例のメタデータの構造を示す説明図。
【図5】一実施例のメタデータの手続き情報の構造を示
す説明図。
【図6】本発明の一実施例の処理方法で、データ書き込
み前メタ手続きの処理を示す流れ図。
【図7】データ書き込み前メタ手続きの他の処理例を示
す流れ図。
【図8】本発明の一実施例の処理方法で、データ書き込
み後メタ手続きの処理を示す流れ図。
【図9】本発明の一実施例の処理方法で、入出力後メタ
手続きの処理を示す流れ図。
【図10】入出力後メタ手続きの他の処理例を示す流れ
図。
【図11】本発明の一実施例の処理方法で、データ追加
メタ手続きの処理を示す流れ図。
【図12】データ追加メタ手続きの他の処理例を示す流
れ図。
【図13】本発明の一実施例の処理方法で、手続き変更
メタ手続きの処理を示す流れ図。
【図14】本発明の他の実施例を適用するオブジェクト
の構造図。
【図15】本発明の他の実施例によるメタオブジェクト
の構造図。
【図16】本発明の他の実施例によるメタオブジェクト
のアクセス方法を示す流れ図。
【符号の説明】
1,2…計算機、10…ネットワーク、101…プロセ
ッサ、102…メモリ、103…磁気ディスク装置、1
04…CRTディスプレイ、105…キーボード、10
6…ネットワークアダプタ、121…アプリケーション
プログラム、122…データベースサーバプログラム、
123…オブジェクトキャッシュ領域、124…メタオ
ブジェクト変更プログラム、11d,12d…磁気ディ
スク装置上のオブジェクト、21d,22d…磁気ディ
スク装置上のメタオブジェクト、11m,12m…オブ
ジェクトキャッシュ領域上のオブジェクト、21m,2
2m…オブジェクトキャッシュ領域上のメタオブジェク
ト、11d1,11d2…オブジェクトのデータ、11
p1,11p2…オブジェクトの手続きのアドレス記憶
領域、11p10,11p20…オブジェクトの手続き
のプログラム、21d1,21d2…メタオブジェクト
のメタデータ、21p1,21p2…メタオブジェクト
のメタ手続きのアドレス記憶領域、21p10,21p
20…メタオブジェクトのメタ手続きのプログラム、1
1cm…オブジェクトの共有手続きのクラス、11c
p,12cp…オブジェクトデータのクラスポインタ、
21cm…メタオブジェクトの共有メタデータのクラ
ス、21om,22om…個別のメタデータ、21c
p,22cp…共有メタデータのクラスポインタ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 廣田 敦彦 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 恒冨 邦彦 茨城県日立市大みか町七丁目1番1号 株 式会社日立製作所日立研究所内 (72)発明者 上脇 正 茨城県日立市大みか町七丁目1番1号 株 式会社日立製作所日立研究所内

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 データとそれに関する処理を記述した手
    続きを有するオブジェクトを、システム停止後も記憶可
    能な永続的記憶装置と一時的記憶装置の両方に記憶する
    オブジェクト指向データベースを備え、アプリケーショ
    ンプログラムが前記オブジェクトにアクセスして処理を
    進めるオブジェクト指向データベースシステムにおい
    て、 各オブジェクトに対応して、オブジェクトの構造や動作
    に関する情報であるメタデータと、そのメタデータを参
    照してオブジェクトのデータ構造や手続きに関する処理
    を記述したメタ手続きを有するメタオブジェクトを、前
    記オブジェクト指向データベースに設けることを特徴と
    するオブジェクト指向データベースシステム。
  2. 【請求項2】 データ、それに関する処理を記述した手
    続き、その手続きの同じものをまとめた共有手続きを有
    する複数のオブジェクトを、システム停止後も記憶可能
    な永続的記憶装置と一時的記憶装置の両方に記憶するオ
    ブジェクト指向データベースを備え、アプリケーション
    プログラムが前記オブジェクトにアクセスして処理を進
    めるオブジェクト指向データベースシステムにおいて、 複数のオブジェクトに対し、各オブジェクトの構造や動
    作に関する個別の情報である個別メタデータ、複数のオ
    ブジェクトに共通する情報である共有メタデータと、そ
    れらメタデータを参照してオブジェクトのデータ構造や
    手続きに関する処理を記述したメタ手続きを有するメタ
    オブジェクトを、オブジェクト指向データベースに設け
    ることを特徴とするオブジェクト指向データベースシス
    テム。
  3. 【請求項3】 請求項1または2において、 前記メタオブジェクトは、前記一時的記憶装置と前記永
    続的記憶装置の間で、記憶するオブジェクトの内容を一
    致化する処理を記述したメタ手続きを有することを特徴
    とするオブジェクト指向データベースシステム。
  4. 【請求項4】 請求項1、2または3において、 前記一時的記憶装置または前記永続的記憶装置に記憶さ
    れている任意のメタ手続きを指定し、外部入力されるメ
    タ手続きのプログラムをコンパイルし、実行形式に変換
    して、前記指定されたメタ手続きと入れ替えるメタオブ
    ジェクト変更手段を設けることを特徴とするオブジェク
    ト指向データベースシステム。
  5. 【請求項5】 請求項1、2、3または4において、 前記メタデータは、前記オブジェクトのデータ及び手続
    きの記憶領域や前記手続きの呼び出し処理に関する情報
    を含み、前記メタ手続きは、前記メタデータを参照して
    前記オブジェクトの変更処理を記述したものを含み且
    つ、ユーザのコマンド入力により呼び出し可能に設ける
    ことを特徴とするオブジェクト指向データベースシステ
    ム。
  6. 【請求項6】 請求項5において、 前記オブジェクトの変更処理のメタ手続きは、オブジェ
    クトの記憶領域の変更、オブジェクト内のデータの追加
    や削除、データ型の変更、手続きの追加や削除、手続き
    の修正またはレプリカの設置や移動を記述していること
    を特徴とするオブジェクト指向データベースシステム。
  7. 【請求項7】 データとそれに関する処理を記述した手
    続きを有するオブジェクトと、オブジェクトに対応して
    オブジェクトの構造や動作に関する情報であるメタデー
    タ、そのメタデータを参照してオブジェクトのデータ構
    造や手続きに関する処理を記述したメタ手続きを有する
    メタオブジェクトを、システム停止後も記憶可能な永続
    的記憶装置と一時的記憶装置の両方に記憶し、アプリケ
    ーションプログラムが前記一時的記憶装置にアクセスし
    て処理を進めるオブジェクト指向データベースシステム
    において、 アプリケーションプログラムのアクセスにより実行中の
    オブジェクトから呼び出されるメタ手続きは、オブジェ
    クトの生成時、アプリケーションプログラムのオブジェ
    クトへのデータの書き込み前または書き込み後、オブジ
    ェクト内の手続き中での入出力手続き呼び出し前または
    呼び出し後の各タイミングに応じて、各々に記述されて
    いる異なる処理を実行することを特徴とするオブジェク
    ト指向データベースシステムの処理方法。
  8. 【請求項8】 請求項7において、 前記データ書き込み前のメタ手続きは、所定のオブジェ
    クトのデータにアクセスするために前記アプリケーショ
    ンプログラムを起動したユーザのアクセス権を、メタデ
    ータを参照して判定し、アクセス否の場合は書き込み処
    理を行わないことを特徴とするオブジェクト指向データ
    ベースシステムの処理方法。
  9. 【請求項9】 請求項7または8において、 前記データ書き込み前のメタ手続きは、設定データの値
    が許容範囲内か、メタデータを参照して判定し、許容範
    囲外の場合は書き込み処理を行わないことを特徴とする
    オブジェクト指向データベースシステムの処理方法。
  10. 【請求項10】 請求項7において、 前記データ書き込み後のメタ手続きは、前記一時的記憶
    装置へのデータの書き替え直後に呼び出され、この書き
    替えられたオブジェクトのデータを前記永続的記憶装置
    の対応するデータ記憶領域に書き込むことを特徴とする
    オブジェクト指向データベースシステムの処理方法。
  11. 【請求項11】 請求項7において、 前記データ書き込み後のメタ手続きは、前記一時的記憶
    装置へのデータの書き替え直後に呼び出され、前記永続
    的記憶装置への前回の書き込みから一定時間経過したか
    判定し、経過している場合にその間に書き替えられたオ
    ブジェクトのデータを前記永続的記憶装置の対応するデ
    ータ記憶領域に書き込むことを特徴とするオブジェクト
    指向データベースシステムの処理方法。
  12. 【請求項12】 請求項10または11において、 前記データの書替えに伴って変更されたメタデータは、
    システム立ち下げ時に前記永続的記憶装置の対応するメ
    タデータ記憶領域に書き込むことを特徴とするオブジェ
    クト指向データベースシステムの処理方法。
  13. 【請求項13】 請求項7において、 前記入出力手続き呼び出し後のメタ手続きは、実行され
    た入出力手続きが正常に終了したか否かを、引数または
    戻り値により指定される情報を基に判定し、異常終了の
    場合は所定の異常対応処理を行うことを特徴とするオブ
    ジェクト指向データベースシステムの処理方法。
  14. 【請求項14】 データとそれに関する処理を記述した
    手続きを有するオブジェクトと、オブジェクトに対応し
    てオブジェクトのデータや手続きの記憶領域等の構造に
    関する情報及び手続きの呼び出し動作に関する情報であ
    るメタデータ、そのメタデータを参照してオブジェクト
    のデータ構造や手続きに関する処理を記述したメタ手続
    きを有するメタオブジェクトを、アプリケーションプロ
    グラムがアクセスして処理を進めるオブジェクト指向デ
    ータベースシステムにおいて、データベースサーバープ
    ログラムを介したコマンド入力により呼び出されるメタ
    手続きは、オブジェクトの記憶領域の変更、オブジェク
    ト内のデータの追加や削除、データ型の変更、手続きの
    変更(追加、削除または修正)、またはレプリカの設置
    や移動をコマンドの指定に応じて動的に実行することを
    特徴とするオブジェクト指向データベースシステムの処
    理方法。
  15. 【請求項15】 請求項14において、 前記オブジェクト内のデータの追加を行うメタ手続き
    は、追加する新しいデータの情報を渡されると、まず、
    対応するオブジェクトへのアクセスを禁止し、次に、新
    しいオブジェクトデータの記憶領域を割当て、メタデー
    タをオブジェクトのデータに追加するように変更し、現
    在のオブジェクトデータを割当た前記記憶領域へコピー
    することを特徴とするオブジェクト指向データベースシ
    ステムの処理方法。
  16. 【請求項16】 請求項14において、 前記オブジェクト内の手続きの変更を行うメタ手続き
    は、変更する新しい手続き情報を渡されると、まず、対
    応するオブジェクトへのアクセスを禁止し、次に、メタ
    データを参照して、対応するオブジェクトの手続きを前
    記新しい手続きとし、メタデータをオブジェクトの手続
    き変更に対応するように変更することを特徴とするオブ
    ジェクト指向データベースシステムの処理方法。
JP7077595A 1995-04-03 1995-04-03 オブジェクト指向データベースシステムおよびその処理方法 Pending JPH08272815A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7077595A JPH08272815A (ja) 1995-04-03 1995-04-03 オブジェクト指向データベースシステムおよびその処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7077595A JPH08272815A (ja) 1995-04-03 1995-04-03 オブジェクト指向データベースシステムおよびその処理方法

Publications (1)

Publication Number Publication Date
JPH08272815A true JPH08272815A (ja) 1996-10-18

Family

ID=13638319

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7077595A Pending JPH08272815A (ja) 1995-04-03 1995-04-03 オブジェクト指向データベースシステムおよびその処理方法

Country Status (1)

Country Link
JP (1) JPH08272815A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11143895A (ja) * 1997-11-10 1999-05-28 Toshiba Corp 情報管理装置及び情報検索方法
US5991765A (en) * 1997-05-06 1999-11-23 Birdstep Technology As System and method for storing and manipulating data in an information handling system
SG102021A1 (en) * 2000-12-19 2004-02-27 Hitachi Ltd Object integrated management system
WO2005050447A1 (ja) * 2003-11-18 2005-06-02 Intelligent Model, Limited バッチ処理装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991765A (en) * 1997-05-06 1999-11-23 Birdstep Technology As System and method for storing and manipulating data in an information handling system
JPH11143895A (ja) * 1997-11-10 1999-05-28 Toshiba Corp 情報管理装置及び情報検索方法
SG102021A1 (en) * 2000-12-19 2004-02-27 Hitachi Ltd Object integrated management system
CN100426293C (zh) * 2000-12-19 2008-10-15 株式会社日立制作所 目标集成管理系统
WO2005050447A1 (ja) * 2003-11-18 2005-06-02 Intelligent Model, Limited バッチ処理装置
US7865529B2 (en) 2003-11-18 2011-01-04 Intelligent Model, Limited Batch processing apparatus

Similar Documents

Publication Publication Date Title
US5375241A (en) Method and system for dynamic-link library
CN101329636B (zh) 虚拟化窗口信息的方法和设备
US6526441B2 (en) Input/output device information management system for multi-computer system
US5303392A (en) Accessing current symbol definitions in a dynamically configurable operating system
US8176142B2 (en) Shared JAVA jar files
US6529985B1 (en) Selective interception of system calls
US6279109B1 (en) Computing system and operating method for booting and running a graphical user interface (GUI) with r/w hard drive partition unavailable
US6272519B1 (en) Dynamic alteration of operating system kernel resource tables
JP4199923B2 (ja) モバイル・デバイスのアプリケーション・インストール方法
US5675804A (en) System and method for enabling a compiled computer program to invoke an interpretive computer program
US20080320282A1 (en) Method And Systems For Providing Transaction Support For Executable Program Components
US20020092013A1 (en) Software installation and validation using custom actions
US6792606B2 (en) Method and apparatus for object persistence
AU712005B2 (en) System and method for runtime optimization of private variable function calls in a secure interpreter
JPH02272627A (ja) デイジタル・コンピユータ・システムとその手続呼び出し方法
JPH1063561A (ja) データベース・オブジェクト処理命令を挿入するためにデータベース・アクセス方法を自動的に変更するシステム及び方法
JPH04297934A (ja) データ処理システム
US20040268301A1 (en) Adding new compiler methods to an integrated development environment
US7290252B2 (en) Method and apparatus for building executable computer programs using compiled program libraries
JPH02114335A (ja) マルチ・プロセツシング方式
US8341133B2 (en) Compressed transactional locks in object headers
JPH08272815A (ja) オブジェクト指向データベースシステムおよびその処理方法
US20100083257A1 (en) Array object concurrency in stm
US7730015B1 (en) Stackable storage access mechanism for file systems
Yang et al. A RISC-V On-chip Operating System Based on Rust