JPH1040158A - 永続オブジェクト管理方法 - Google Patents

永続オブジェクト管理方法

Info

Publication number
JPH1040158A
JPH1040158A JP8213024A JP21302496A JPH1040158A JP H1040158 A JPH1040158 A JP H1040158A JP 8213024 A JP8213024 A JP 8213024A JP 21302496 A JP21302496 A JP 21302496A JP H1040158 A JPH1040158 A JP H1040158A
Authority
JP
Japan
Prior art keywords
identifier
persistent
storage device
address
persistent object
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
JP8213024A
Other languages
English (en)
Inventor
Hiroshi Hayata
宏 早田
Miki Watanabe
美樹 渡辺
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP8213024A priority Critical patent/JPH1040158A/ja
Publication of JPH1040158A publication Critical patent/JPH1040158A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 永続オブジェクトに設定する位置識別子とオ
ブジェクト識別子とを使い分けることにより、それぞれ
の識別子の持つ利点を発揮させて処理効率を向上させ
る。 【解決手段】 永続オブジェクトの属性に基づく参照一
貫性を保つためにかかる保守コストによって、永続オブ
ジェクトにオブジェクト識別子或いは位置識別子を設定
し、さらに、既に主記憶装置3上にロードされているオ
ブジェクト識別子が設定された永続オブジェクトを参照
する際には、参照先を示すオブジェクト識別子によって
オブジェクトテーブル3oを探索してアドレスを取得
し、当該アドレスにより主記憶装置3上の永続オブジェ
クトを参照する一方、既に主記憶装置3上にロードされ
ている位置識別子が設定された永続オブジェクトを参照
する際には、参照先を示す位置識別子によってアドレス
対応テーブル3aを探索してアドレスを取得し、当該ア
ドレスにより主記憶装置3上の永続オブジェクトを参照
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、オブジェクト指向
データベースにおいて、永続オブジェクトを識別する方
法、永続オブジェクトを参照する方法といった永続オブ
ジェクトの管理方法に関する。
【0002】
【従来の技術】従来よりデータとデータを操作する手続
きとを合わせたオブジェクトを管理するオブジェクト指
向データベースが考えられており、複雑化、多様化した
データを容易にモデル化できるとともに効率的に管理で
きるために、文書やマルチメディアデータ等といったデ
ータを管理する分野において特に注目されている。
【0003】このオブジェクト指向データベースの特徴
の1つは、一のオブジェクトが他のオブジェクトを参照
していることを示すオブジェクト間の参照関係を個々の
オブジェクトに割り付けた識別子によって表現し、当該
割り付けた識別子によって一のオブジェクトから他のオ
ブジェクトへ辿ることができることであり、参照関係の
表現の仕方としては、例えば参照元のオブジェクトから
参照先のオブジェクトへの参照を表す場合には、参照元
のオブジェクト内のメンバ変数に参照先のオブジェクト
の識別子を保持する等によって表現している。
【0004】上記した識別子は、ただ単に適当に割り付
ければよいものでなく、オブジェクトを確実に識別して
参照できるといった参照一貫性を確保しなければならな
い。すなわち、違うオブジェトに対して同一の識別子を
割り当てしまう等といったオブジェクトが識別できない
状況を避けなければならない。
【0005】上記したオブジェクトを確実に識別すると
いった識別性に関しては、Addison-Wesley Publishing
社R.G.G.Cattel著「Object Data Management Revised E
dition」(1994)(以下、文献1という。)の85〜86
頁ならびに151〜158頁に記載されている。
【0006】永続オブジェクトに割り当てる識別子の一
つとしては、永続オブジェクトの二次記憶装置上の格納
位置によって決まる位置識別子を用いる方式があり、こ
の方式では参照元の永続オブジェクトが参照先の永続オ
ブジェクトの位置識別子を保持し、当該位置識別子によ
って参照先のオブジェクトの二次記憶装置上での位置を
即座に特定して参照することができる。
【0007】また、永続オブジェクトに割り当てる他の
識別子として、一意の論理的な値のオブジェクト識別子
を用いる方式があり、この方式では図6に示すように永
続オブジェクトの二次記憶装置上での位置と永続オブジ
ェクトに割り当てたオブジェクト識別子との組を管理す
るオブジェクトテーブル11を主記憶装置上(オブジェ
クトバッファ上)に保持することによって、参照元のオ
ブジェクトが参照先のオブジェクトを参照することがで
きる。すなわち、オブジェクトテーブル11を探索し
て、参照元の永続オブジェクトが保持している参照先の
永続オブジェクトを表すオブジェクト識別子に対応する
位置識別子をオブジェクトテーブル11から取得し、当
該位置識別子によって、二次記憶装置上の参照先の永続
オブジェクトを参照することできる。なお、通常、上記
したオブジェクトテーブル11は二次記憶装置上で永続
化されたオブジェクトテーブル12として格納される。
【0008】例えば、”オブジェクト1”が”オブジェ
クト識別子2”が割り当てられた”オブジェクト2”を
参照する場合においては、”オブジェクト1”は”オブ
ジェクト2”に割り当てられた”オブジェクト識別子
2”を保持しており、当該”オブジェクト識別子2”に
対応する”位置識別子2”を主記憶装置上のオブジェク
トテーブル11から取得し、取得した”位置識別子2”
によって二次記憶装置上の”オブジェクト2”を参照す
ることが可能になる。
【0009】また、オブジェクト指向データベースで
は、永続オブジェクトを二次記憶装置から主記憶装置に
ロードして読み出し操作や書き込み操作を行っており、
例えば、複数の永続オブジェクトが或る一つの永続オブ
ジェクトを参照する場合や、一つの永続オブジェクトが
或る一つの永続オブジェクトを複数回参照する場合に
は、同一の永続オブジェクトを重複してロードする状況
が発生しており、このような重複したロードによって処
理効率の低下や、異なるデータを持った永続オブジェク
トが複数主記憶装置上に存在してしまういった問題も生
じていた。
【0010】この問題に対して、特開平5-225034号公報
に記載された発明では、主記憶装置上に一度ロードされ
た永続オブジェクトのアドレスを表すアドレス識別子を
オブジェクト・テーブルで管理する方法と、主記憶装置
上の参照元の永続オブジェクトが参照先の永続オブジェ
クトのアドレス識別子を保持する方法と、が実施されて
いる。この発明では、図6に示すようにオブジェクトテ
ーブル11として、オブジェクト識別子と位置識別子と
アドレス識別子との3つ組を管理し、主記憶装置上に永
続オブジェクトがロードされている場合にはアドレス識
別子を登録しておき、当該アドレス識別子によって主記
憶装置上の永続オブジェクトを参照することによって、
重複した永続オブジェクトのロードを回避して参照一貫
性を保証するとともに、永続オブジェクトの参照処理の
効率を向上している。
【0011】また、この発明では主記憶装置上にロード
された永続オブジェクトの構造(以下、メモリイメージ
という。)をプログラミング言語によって生成される揮
発オブジェクトと、永続オブジェクト管理の情報をもつ
ハンドラとの組で構成し、ハンドラによって主記憶装置
上の永続オブジェクトへの参照等の操作を行っている。
【0012】また、J. E. Moss著「Working with Persi
stent Objects: To Swizzle or Notto Swizzle」IEEE T
ransaction on Software Engineering Vol.18 No.8 (19
92)では、メモリイメージでの参照を表現するためのア
ドレス識別子に関する変換方式が開示されている。
【0013】
【発明が解決しようとする課題】従来の位置識別子のみ
を用いたオブジェクト指向データベースにおいては、永
続オブジェクトを参照する際には、位置識別子から直ち
に二次記憶装置上の参照先の永続オブジェクトを特定し
て参照することができ、参照の効率がいい。しかしなが
ら、この位置識別子を用いたオブジェクト指向データベ
ースでは、二次記憶装置上の永続オブジェクトの位置を
変更する場合或いは永続オブジェクト自体を削除する場
合には、変更或いは削除する永続オブジェクトを参照し
ているすべて永続オブジェクトが保持する位置識別子を
変更或いは削除する必要が生じ、手間がかかってしま
う。
【0014】これに対して、オブジェクト識別子のみを
用いたオブジェクト指向データベースでは、永続オブジ
ェクトの位置の変更する場合や、永続オブジェクト自体
の削除する場合には、参照元の永続オブジェクトに保持
されている参照先を表すオブジェクト識別子を変更する
必要はなく、オブジェクトテーブルに管理されているオ
ブジェクト識別子と位置識別子との対応を変更するだけ
でよく、手間がかからない。
【0015】しかしながら、オブジェクト識別子のみを
用いたオブジェクト指向データベースでは、オブジェク
ト識別子と当該オブジェクト識別子の割り当てられたオ
ブジェクトの二次記憶装置上の位置とをオブジェクトテ
ーブルとして管理する必要があり、永続オブジェクトの
数が多くなるとオブジェクトテーブルが大きくなってし
まい、主記憶装置上或いは二次記憶装置の記憶領域が多
く必要となってしまう。また、オブジェクトテーブルが
大きくなればなるほど、参照の際に行う探索の効率或い
は時間といった探索コストが大きくなる。さらに、複数
ユーザが同時に永続オブジェクトの参照を実施する場合
においては、オブジェクトテーブルでの探索がコンフリ
クトして処理の並列性が低下し、結果として、処理効率
が低下してしまう。
【0016】一般に、オブジェクト指向データベースで
は、重複した永続オブジェクトの主記憶装置上へのロー
ドを回避して、永続オブジェクトに対する参照一貫性を
保証するとともに、永続オブジェクトの参照処理の効率
を向上することが望まれている。
【0017】また、オブジェクト指向データベースで
は、永続オブジェクトの保全のために、二次記憶上のデ
ータベースファイルから、特定の永続オブジェクトをテ
ープなどの三次記憶装置にバックアップし、その後、三
次記憶装置から二次記憶装置にリストアすることを可能
にする必要があり、バックアップ後にリストアした永続
オブジェクトへの参照がバックアップ時と同様に維持さ
れる必要がある。
【0018】そこで、本発明は上記した従来の事情に鑑
みなされたもので、位置識別子を用いて行う永続オブジ
ェクト管理方法と、オブジェクト識別子を用いて行う永
続オブジェクト管理方法とを使い分けることにより、双
方の利点を発揮させて処理効率を向上することのできる
永続オブジェクト管理方法を提供することを目的として
いる。
【0019】また、本発明は上記したオブジェクト識別
子及び位置識別子を使い分けるオブジェクト指向データ
ベースにおいて、重複した永続オブジェクトの主記憶装
置上へのロードを回避して、永続オブジェクトに対する
参照一貫性を保つとともに処理効率を向上させることの
できる永続オブジェクト管理方法を提供することを目的
としている。また、本発明は上記したオブジェクト識別
子及び位置識別子を使い分けるオブジェクト指向データ
ベースにおいて、保全性を向上することのできる永続オ
ブジェクト管理方法を提供することを目的としている。
【0020】
【課題を解決するための手段】上記目的を達成するため
に本発明は、永続オブジェクトの属性に基づいて参照一
貫性を保つためにかかる保守コストに着目してなされた
もので、保守コストが所定値以上である場合には、永続
オブジェクトに対して一意の論理的なオブジェクト識別
子を設定して保守コストをできるだけ抑え、保守コスト
が所定値未満である場合には、永続オブジェクトに対し
て二次記憶装置上の格納位置を示す位置識別子を設定し
て永続オブジェクトの参照効率を向上する。
【0021】ここで、永続オブジェクトの属性に基づい
て参照一貫性を保つためにかかる保守コストとは、永続
オブジェクトの二次記憶装置上の位置を移動する処理、
永続オブジェクトを二次記憶装置上から削除する処理等
を行う際に、処理の前後において各永続オブジェクト間
の参照一貫性を崩さずに保つためにかかる手間等といっ
たコストを意味している。このため、例えば、多くの永
続オブジェクトから参照される永続オブジェクトは保守
コストが高く、一つ或いは少数の永続オブジェクトから
しか参照されない永続オブジェクトは保守コストは低
い。また、一度作成した後に移動或いは削除されないと
いった永続オブジェクトの保守コストは低く、頻繁に格
納位置を変える可能性のある永続オブジェクトは保守コ
ストが高いことがいえる。なお、所定値は任意で良く、
オブジェクト指向データベースのユーザが設定すること
もできるし、応用プログラムが設定することもできる。
【0022】そこで、本発明の請求項1に係る永続オブ
ジェクト管理方法は、永続オブジェクトを識別子によっ
て識別して参照するオブジェクト指向データベースにお
いて、永続オブジェクトを生成する際に、当該永続オブ
ジェクトの属性に基づく参照一貫性を保つためにかかる
保守コストが所定値以上であることに基づいて一意の論
理的な値のオブジェクト識別子を設定し、保守コストが
所定値未満であることに基づいて当該オブジェクトが格
納される二次記憶装置での格納位置を示す位置識別子を
設定することを特徴とする。
【0023】上記した請求項1に記載した永続オブジェ
クト管理方法では、永続オブジェクトの属性に基づく参
照一貫性を保つためにかかる保守コストによって、永続
オブジェクトにオブジェクト識別子か、位置識別子かを
設定することができる。したがって、オブジェクト指向
データベースデータベースにおいて参照一貫性を保つた
めにかかる保守コストを削減することができ、また、オ
ブジェクト識別子が設定される永続オブジェクトの数も
抑えることができるので、オブジェクトテーブルの大き
さを縮小することができ、主記憶装置及び二次記憶装置
上の領域を有効に利用することができるとともに、オブ
ジェクト識別子によって永続オブジェクトを参照する際
にオブジェクトテーブルでの探索コストを低減すること
ができる。
【0024】本発明の請求項2に係る永続オブジェクト
管理方法は、請求項1に記載した永続オブジェクト管理
方法において、オブジェクト識別子が設定されている永
続オブジェクトを主記憶装置上にロードする際には、当
該永続オブジェクトがロードされる主記憶装置上のアド
レスをオブジェクト識別子に対応付けて主記憶装置上の
オブジェクトテーブルに格納する一方、位置識別子が設
定されている永続オブジェクトを主記憶装置上にロード
する際には、当該永続オブジェクトがロードされる主記
憶装置上のアドレスを位置識別子に対応付けて主記憶装
置上のアドレス対応テーブルに格納しておき、オブジェ
クト識別子によって永続オブジェクトを参照する際に
は、オブジェクトテーブルを探索し、当該オブジェクト
識別子に対応するアドレスがある場合には当該アドレス
によって主記憶装置上の永続オブジェクトを参照し、位
置識別子によって永続オブジェクトを参照する際には、
アドレス対応テーブルを探索し、当該位置識別子に対応
するアドレスがある場合には当該アドレスによって主記
憶装置上の永続オブジェクトを参照することを特徴とす
る。
【0025】上記した請求項2に係る永続オブジェクト
管理方法では、既に主記憶装置上にロードされているオ
ブジェクト識別子が設定された永続オブジェクトを参照
する際には、参照先を示すオブジェクト識別子によって
オブジェクトテーブルを探索してアドレスを取得し、当
該アドレスにより主記憶装置上の永続オブジェクトを参
照する一方、既に主記憶装置上にロードされている位置
識別子が設定された永続オブジェクトを参照する際に
は、参照先を示す位置識別子によってアドレス対応テー
ブルを探索してアドレスを取得し、当該アドレスにより
主記憶装置上の永続オブジェクトを参照する。
【0026】したがって、参照する永続オブジェクトが
主記憶装置上にロードされている場合には、二次記憶装
置上から当該永続オブジェクトをロードすることなく、
主記憶装置上の永続オブジェクトを参照することがで
き、処理の効率が向上する。また、主記憶装置上にロー
ドされた永続オブジェクトと同じ永続オブジェクトを二
次記憶装置からロードすることを回避できるために、1
つの永続オブジェクトが主記憶装置上で複数の異なった
データを保持することを回避できる。
【0027】なお、位置識別子が設定されている永続オ
ブジェクトとが主記憶装置上に初めてロードされる際に
アドレス対応テーブルに位置識別子とアドレスとを対応
させて格納するようにすれば、主記憶装置上の領域を効
率よく使うことができ、処理効率を向上させることがで
きる。
【0028】また、位置識別子と、当該位置識別子が示
す永続オブジェクトを管理する管理単位(例えば、ペー
ジ)とを対応させておき、当該管理単位毎にアドレス対
応テーブルを備えるようにすれば、位置識別子から迅速
に主記憶装置上の永続オブジェクトを参照することがで
きる。すなわち、位置識別子によって主記憶装置上の永
続オブジェクトを参照する場合には、位置識別子によっ
て永続オブジェクトが管理されている管理単位を把握で
きるために、把握した管理単位に関するアドレス対応テ
ーブルのみを探索すれば、アドレスが取得でき、当該主
記憶装置上の永続オブジェクトを参照することができ
る。
【0029】本発明の請求項3に係る永続オブジェクト
管理方法は、請求項2に記載した永続オブジェクト管理
方法において、オブジェクト識別子が設定された永続オ
ブジェクトが主記憶装置上にロードされた場合に、当該
永続オブジェクトが当該永続オブジェクトのオブジェク
ト識別子に対応する主記憶装置上のオブジェクトテーブ
ル内のエントリのアドレスを保持することを特徴とす
る。
【0030】上記した請求項3に係る永続オブジェクト
管理方法では、オブジェクト識別子が設定された永続オ
ブジェクトが主記憶装置上にロードされた場合に、主記
憶装置上の当該永続オブジェクト(メモリイメージ)
は、主記憶装置上でのオブジェクト・テーブル内の当該
永続オブジェクトのオブジェクト識別子が対応するエン
トリのアドレスを保持するために、主記憶装置上の永続
オブジェクトの領域に、オブジェクト識別子や位置識別
子の領域を別途に確保することなく、迅速に自己のオブ
ジェクトテーブル内のエントリにアクセスすることがで
きる。
【0031】本発明の請求項4に係る永続オブジェクト
管理方法は、請求項1乃至請求項3のいずれか1項に記
載の永続オブジェクト管理方法において、バックアップ
された永続オブジェクトを二次記憶装置に再成する場合
には、当該永続オブジェクトがバックアップされた際に
設定されていたオブジェクト識別子を当該永続オブジェ
クトに再度設定することを特徴とする。
【0032】上記した請求項4に係る永続オブジェクト
管理方法では、永続オブジェクトを再生する場合に、応
用プログラム等がバックアップ時に永続オブジェクトに
設定されていたオブジェクト識別子を当該永続オブジェ
クトへ再度設定することができるために、永続オブジェ
クトを再生したオブジェクト指向データベースでの各オ
ブジェクト間の参照一貫性をバックアップ時と同様に保
つことができる。
【0033】
【発明の実施の形態】本発明に係る永続オブジェクト管
理方法を実施するオブジェクト指向データベースの一実
施例を図1を参照して説明する。このオブジェクト指向
データベースは、応用プログラム1が二次記憶装置2に
格納された永続オブジェクト群を管理する目的で利用し
ており、永続オブジェクトを応用プログラム1が使用可
能なメモリ形式として保持する主記憶装置としてのオブ
ジェクトバッファ3と、永続オブジェクトが格納されて
いるページを二次記憶装置2で格納されているディスク
形式として保持するページバッファ4と、オブジェクト
バッファ3と二次記憶装置2との間での永続オブジェク
トの入出力管理を行う永続オブジェクト管理部5と、永
続オブジェクト管理部5の管理に従ってページバッファ
4と二次記憶装置2との間でのページの入出力処理を管
理するページバッファ管理部6と、ページバッファ管理
部6の管理に応じてページバッファ4と二次記憶装置2
とのデータの入出力処理を行うディスク入出力部7と、
応用プログラム1と二次記憶装置2と間でのデータのや
りとりを制御する問い合わせ処理部8と、永続オブジェ
クト等といったデータの通信を制御する通信管理部9
と、並行処理を管理するトランザクション管理部10
と、を有している。
【0034】永続オブジェクト管理部5は、二次記憶装
置2上のデータベースファイル内のデータを永続オブジ
ェクト単位で管理しており、例えば、応用プログラム1
が操作する対象の永続オブジェクトをページバッファ4
からオブジェクトバッファ3へロードし、変更のあった
永続オブジェクトを必要に応じてページバッファ4に書
き戻す。なお、操作対象の永続オブジェクトがページバ
ッファ4にない場合には、ページバッファ管理部6に、
二次記憶装置2から操作対象の永続オブジェクトを読み
出す指示を行う。
【0035】ページバッファ管理部6は、二次記憶装置
2上のデータベースファイル内の永続オブジェクト等の
データをページ単位で管理し、例えば、永続オブジェク
ト管理部5から指示のあった永続オブジェクトをページ
単位で二次記憶装置2上のデータベースファイルからペ
ージバッファ4ヘ読み出し、ページバッファ4上のペー
ジが変更された場合には当該ページを必要に応じて二次
記憶装置2上のデータベースファイルへ書き戻す。
【0036】次に、本発明に係る永続オブジェクト管理
方法を図2を参照して説明する。なお、図1と同様な部
分には同一の番号を付し、重複する説明は省略する。二
次記憶装置2は、オブジェクト識別子が設定されてい
る”オブジェクト1”と、位置識別子が設定されてい
る”オブジェクト2”と、オブジェクトテーブル2oと
を有している。なお、永続オブジェクトを生成する方法
は後述して説明する。
【0037】”オブジェクト1”は、自己を参照する関
係と”オブジェクト2”を参照する関係とを有してお
り、自己の”オブジェクト識別子1”と”オブジェクト
2”に設定されている”位置識別子2”とが保持されて
いる。オブジェクトテーブル2oには”オブジェクト識
別子1”と、”オブジェクト1”の二次記憶装置2上の
位置を示す”位置識別子1”とを対応付けて保持してお
り、位置識別子が設定されている”オブジェクト2”に
関する情報は保持しない。
【0038】ページバッファ4は、二次記憶装置2に格
納されている各永続オブジェクトやオブジェクトテーブ
ルを格納しているページのうち、ページバッファ管理部
6及びディスク入出力部7によって読み出されたページ
を保持している。この図2では、”オブジェクト1”を
格納する”ページ1”、”オブジェクト2”を格納す
る”ページ2”、”オブジェクトテーブル2o”を格納
する”ページ3”が読み出された状態を表している。な
お、ページバッファ4が保持している永続オブジェクト
等は、二次記憶装置2上で格納されていたディスク形式
データで構成されている。
【0039】オブジェクトバッファ3は、”オブジェク
ト1”と”オブジェクト2”と、オブジェクトテーブル
3oと、アドレス対応テーブル3aとを有している。”
オブジェクト1”と”オブジェクト2”は、永続オブジ
ェクト管理部5によってページバッファ4からロードさ
れたものである。なお、こロードに際して、各永続オブ
ジェクトはディスク形式データからメモリ形式データへ
変換される。また、この際に、オブジェクト識別子が設
定されている永続オブジェクトの場合には、永続オブジ
ェクト管理部5がオブジェクトテーブル3oのロードし
た永続オブジェクトに関するエントリのアドレスを当該
永続オブジェクトに保持させる。
【0040】オブジェクトテーブル3oは、”オブジェ
クト識別子1”と、”位置識別子1”と、”アドレス識
別子1”とを有しており、”アドレス識別子1”は、”
オブジェクト1”がオブジェクトバッファ3にロードさ
れた際に永続オブジェクト管理部5によって設定さ
れ、”オブジェクト1”が配置されたアドレスを表して
いる。
【0041】アドレス対応テーブル3aは、”位置識別
子2”と、”アドレス識別子2”とを有しており、”オ
ブジェクト2”に設定された”位置識別子2”と、”オ
ブジェクト2”が配置されたオブジェクトバッファ3上
のアドレスを示す”アドレス識別子2”との組は、”オ
ブジェクト2”がオブジェクトバッファ3に初めてロー
ドされた際に、永続オブジェクト管理部5によって設定
される。
【0042】次に、永続オブジェクトを生成する動作を
図3を参照して説明する。永続オブジェクトを生成する
動作は、応用プログラム1が永続オブジェクトの生成を
要求した場合に、永続オブジェクト管理部5が以下に示
す手順で実行する。まず、生成する永続オブジェクトを
保持するための領域を二次記憶装置2上及びオブジェク
トバッファ上に確保する(ステップS1、S2)。これ
により、当該永続オブジェクトが保持される二次記憶装
置2上の位置を表す位置識別子及び、オブジェクトバッ
ファ3上での当該永続オブジェクトが配置されるアドレ
スを表すアドレス識別子が決定する。
【0043】次に、応用プログラム1の指示によって永
続オブジェクトに設定する識別子の種類を検出する(ス
テップS3)。識別子が位置識別子である場合、すなわ
ち、ユーザ或いは応用プログラムによって生成する永続
オブジェクトの属性に基づく参照一貫性を保つためにか
かる保守コストが所定値以上であると判断された場合に
は、当該オブジェクトを管理するページに関するアドレ
ス対応テーブルに、既に決定した当該永続オブジェクト
の位置識別子、及びアドレス識別子を登録する(ステッ
プS4)。これによって、永続オブジェクトに内容を登
録する等といった初期化が可能となる。
【0044】一方、識別子がオブジェクト識別子である
場合、すなわち、ユーザ或いは応用プログラム1によっ
て生成する永続オブジェクトの属性に基づく参照一貫性
を保つためにかかる保守コストが所定値未満であると判
断された場合には、設定するオブジェクト識別子が応用
プログラム1によって指定されているか否かを検出し
(ステップS5)、指定されている場合は、予めバック
アップした永続オブジェクトをリストアすることを表し
ているので、バックアップ時に永続オブジェクトが設定
されていた識別子、すなわち指定されたオブジェクト識
別子を保持する。一方、指定されていない場合には、一
意値を生成し、当該一意値をオブジェクト識別子として
保持する(ステップS6)。
【0045】次いで、二次記憶装置2上のオブジェクト
テーブル2oに、保持しているオブジェクト識別子と既
に決定した位置識別子とを登録し(ステップS7)、オ
ブジェクトバッファ3上のオブジェクトテーブル3o
に、保持しているオブジェクト識別子と既に決定した位
置識別子及びアドレス識別子とを登録し(ステップS
8)、オブジェクトバッファ3上のオブジェクトテーブ
ル3oに登録したオブジェクト識別子、位置識別子、ア
ドレス識別子を保持するエントリのアドレスをオブジェ
クトバッファ3上の永続オブジェクトに保持させる(ス
テップS9)。これにより、永続オブジェクトに内容等
を登録する初期化が可能となる。
【0046】初期化が可能になった場合には、応用プロ
グラム1の指示によってオブジェクトバッファ3上の永
続オブジェクトを初期化し(ステップS10)、オブジ
ェクトバッファ3上で初期化された内容を、ページバッ
ファ4に管理されているページへ反映し(ステップS1
1)、ページバッファ4上のページを二次記憶装置2上
のページへ反映させる(ステップS12)。
【0047】なお、上記した生成動作は、トランザクシ
ョン処理として実行されるため、一連の処理の一部とし
て、正常終了するか、もしくは異常終了するかは応用プ
ログラム1によって決定される。異常終了する場合は、
二次記憶装置2上並びにオブジェクトバッファ3上のす
べての状態は、生成動作開始以前の状態に復帰される。
【0048】次に、生成した永続オブジェクトを参照す
る動作を説明するにあたって、まず、永続オブジェクト
を参照する方法を図4を参照して説明する。図4(a)
では、オブジェクト識別子による永続オブジェクトの参
照方法を”オブジェクト1”が”オブジェクト2”を参
照する場合を例にとって説明する。図4(a−1)は、
参照先の”オブジェクト2”が二次記憶装置2上にある
場合の参照方法であり、この参照方法はオブジェクトバ
ッファ3上のオブジェクトテーブル3oを介して間接的
に参照される。すなわち、参照先を示す”オブジェクト
識別子2”に基づいてオブジェクトテーブル3oから当
該”オブジェクト識別子2”に対応する”位置識別子
2”を取得し、当該”位置識別子2”によって二次記憶
装置2上の”オブジェクト2”を参照する。
【0049】図4(a−2)は、参照先の”オブジェク
ト2”がオブジェクトバッファ3上にある場合の参照方
法であり、既にオブジェクトバッファ3へ”オブジェク
ト2”がロードされているのでオブジェクトテーブル3
oには、当該”オブジェクト2”が配置されているアド
レスを示す”アドレス識別子2”が保持されている。し
たがって、”オブジェクト識別子2”によって、オブジ
ェクトテーブル3oを検索することによって、アドレス
識別子2を得ることができ、”オブジェクト2”を参照
することができる。また、一度”アドレス識別子2”を
得た場合には、この”アドレス識別子2”を”オブジェ
クト1”自身が保持しておけば、当該”アドレス識別子
2”で直接的に”オブジェクト2”を参照することが可
能となる。
【0050】図4(b)では、位置識別子による永続オ
ブジェクトの参照方法を”オブジェクト3”が”オブジ
ェクト4”を参照する場合を例にとって説明する。図4
(b−1)は、参照先の”オブジェクト4”が二次記憶
装置2上にある場合の参照方法であり、この参照方法は
直接的に参照される。すなわち、参照先を示す”位置識
別子4”に基づいて二次記憶装置2上の”オブジェクト
4”を参照する。
【0051】図4(b−2)は、参照先の”オブジェク
ト4”がオブジェクトバッファ3上にある場合の参照方
法であり、既にオブジェクトバッファ3へ”オブジェク
ト4”がロードされているのでページに関するアドレス
対応テーブル3aには、当該”オブジェクト4”が配置
されているアドレスを示すアドレス識別子4が保持され
ている。したがって、”位置識別子4”によって当該”
位置識別子4”が含まれるページに関するアドレス対応
テーブル3aを検索することによって、”アドレス識別
子4”が得られ、迅速に”オブジェクト4”を参照する
ことができる。また、一度”アドレス識別子4”を得た
場合には、この”アドレス識別子4”をオブジェクトバ
ッファ3上の”オブジェクト3”が保持しておけば、当
該”アドレス識別子4”で直接的にオブジェクトバッフ
ァ3上の”オブジェクト4”を参照することが可能とな
る。
【0052】次に、上記した参照方法を行う動作を図5
を参照して説明する。永続オブジェクトを参照する動作
は、応用プログラム1が永続オブジェクトの参照を要求
した場合に、永続オブジェクト管理部5によって以下に
示す動作が行われる。まず、応用プログラム1からの参
照要求において指定された識別子の種類によって後続処
理を決定する(ステップS13)。これにより、参照元
の永続オブジェクト若しくは応用プログラム1が保持し
ている参照先の永続オブジェクトを示す識別子によっ
て、以下に示す3つの動作のいずれかを行うこととな
る。
【0053】アドレス識別子によって参照要求があった
場合には、当該アドレス識別子の示す永続オブジェクト
がオブジェクトバッファ3上で有効であるか否かを判定
し、有効であれば、そのまま永続オブジェクトを参照す
る(ステップS14)。なお、オブジェクトバッファ上
の永続オブジェクトが無効であれば、二次記憶装置2上
での永続オブジェクトのデータを該当するアドレスに再
度ロードして参照する。
【0054】オブジェクト識別子によって参照要求があ
った場合には、オブジェクトバッファ3上のオブジェク
トテーブル3oから当該オブジェクト識別子に対応する
位置識別子とアドレス識別子とを探索し(ステップS1
5)、アドレス識別子が保持されているか否かを検出す
る(ステップS16)。なお、オブジェクトテーブル3
o自体がオブジェクトバッファ3上に読み出されていな
ければ、当該オブジェクトテーブルを二次記憶装置上か
らロードする。
【0055】そして、アドレス識別子がオブジェクトテ
ーブル3oから得られた場合には、当該アドレス識別子
によって永続オブジェクトを参照する(ステップS1
4)。一方、アドレス識別子が得られない場合には、永
続オブジェクトが格納されている二次記憶装置2上のペ
ージを位置識別子から特定して読みだし、ページ内の永
続オブジェクトをオブジェクトバッファ3上にロードす
る。そして、永続オブジェクトを読み出したオブジェク
トバッファ3上のアドレスをアドレス識別子としてオブ
ジェクトテーブル3oに登録する(ステップS17、S
18)。
【0056】そして、オブジェクトテーブル3oに保持
された、読み出した永続オブジェクトに関するオブジェ
クト識別子、位置識別子、アドレス識別子の組のエント
リのアドレスを、読み出された永続オブジェクトに保持
させる(ステップS19)。次いで、アドレス識別子に
よって永続オブジェクトを参照する(ステップS1
4)。上記した永続オブジェクトが保持するエントリの
アドレスによって、永続オブジェクトは自己の永続オブ
ジェクトに関する識別子をオブジェクトテーブル3o内
から迅速に得ることができる。
【0057】位置識別子によって参照指示があった場合
には、位置識別子から参照する永続オブジェクトを格納
しているページを特定し、当該ページに関するアドレス
対応テーブル3aから位置識別子に対応するアドレス識
別子を探索し、アドレス識別子が保持されているか否か
を検出する(ステップS20、S21)。アドレス識別
子が保持されている場合には、当該アドレス識別子によ
って永続オブジェクトを参照する(ステップS14)。
一方、アドレス識別子が保持されていない場合には、ペ
ージバッファ4上のページから参照先の永続オブジェク
トをオブジェクトバッファ3上にロードする。なお、該
当するページがページバッファ上に読み出されていない
場合には、二次記憶装置2からロードする。
【0058】次いで、オブウジェクトバッファ上にロー
ドした永続オブジェクトのアドレス識別子を、当該永続
オブジェクトを管理するページに関するアドレス対応テ
ーブル3aに登録する(ステップS22,S23)。そ
して、前記アドレス識別子によって永続オブジェクトを
参照する(ステップS13)。
【0059】上記説明したように、永続オブジェクトに
位置識別子または、オブジェクト識別子のいずれを設定
するかを、永続オブジェクトの属性に基づいて参照一貫
性を保つためにかかる保守コストに基づいて設定するこ
とができる。また、永続オブジェクトがオブジェクトバ
ッファ上にロードされている場合には、当該永続オブジ
ェクトの配置されているアドレスと当該永続オブジェク
トに設定されている識別子とが管理されているために、
オブジェクトバッファ上に配置されている当該永続オブ
ジェクトを参照することができ、新たに二次記憶装置か
ら読み出すといった重複したロードを回避できるととも
に、迅速に参照することができる。
【0060】また、オブジェクト識別子が設定された永
続オブジェクトをオブジェクトバッファ上にロードする
際に、当該永続オブジェクトに関するオブジェクトテー
ブル上のエントリのアドレスを前記永続オブジェクトが
保持するようにしたために、後に、当該永続オブジェク
トが自己を参照する場合には、保持しているアドレスに
よって、オブジェクトテーブル内から自己に関する識別
子群を迅速に得ることができる。また、バックアップし
た永続オブジェクトをリストアさせる場合において、永
続オブジェクトに設定するオブジェクト識別子として、
バックアップ時に永続オブジェクトに設定されていたオ
ブジェクト識別子を設定することができる。
【0061】なお、上記した実施例では、アドレス対応
テーブルはページ毎に永続オブジェクトの位置識別子と
アドレスとを管理して、位置識別子に基づいてアドレス
識別子を探索する範囲を減らして探索効率を向上してい
たが、上記に限らず、一つのアドレス対応テーブルで全
ての位置識別子を持った永続オブジェクトに関して管理
するようにしてもよい。
【0062】
【発明の効果】以上説明したように本発明に係る永続オ
ブジェクト管理方法では、永続オブジェクトの属性に基
づく参照一貫性を保つためにかかる保守コストに基づい
て、永続オブジェクトに位置識別子或いはオブジェクト
識別子のいずれかを設定するようにしたために、保守コ
ストを低下することができるとともに、参照効率も向上
することができる。
【0063】また、本発明に係る永続オブジェクト管理
方法では、永続オブジェクトを主記憶装置上にロードす
る際に、当該永続オブジェクトの配置されているアドレ
スと当該永続オブジェクトに設定されている識別子とを
管理するようにしたために、主記憶装置上に配置されて
いる当該永続オブジェクトを迅速に参照することがで
き、新たに二次記憶装置から読み出すといった重複した
ロードを回避することができ、主記憶装置を有効に利用
することができる。
【0064】また、本発明に係る永続オブジェクト管理
方法では、オブジェクト識別子が設定された永続オブジ
ェクトを主記憶装置上にロードする際に、当該永続オブ
ジェクトに関するオブジェクトテーブルのエントリのア
ドレスを前記永続オブジェクトに保持させるようにした
ために、後に、当該永続オブジェクトが自己を参照する
場合に、保持しているアドレスによって、オブジェクト
テーブル内から自己に関する識別子群を迅速に得ること
ができ、処理効率が向上する。
【0065】また、本発明に係る永続オブジェクト管理
方法では、永続オブジェクトに設定するオブジェクト識
別子として、バックアップ時に永続オブジェクトに設定
されていたオブジェクト識別子を設定できるようにした
ために、当該永続オブジェクトをリストアした後のオブ
ジェクト指向データベース内の各永続オブジェク間の参
照一貫性をバックアップした際と同様に再現することが
できる。
【図面の簡単な説明】
【図1】 本発明に係る永続オブジェクト管理方法を実
施するオブジェクト指向データベースの構成図である。
【図2】 本発明に係る永続オブジェクト管理方法を説
明する構成図である。
【図3】 永続オブジェクトの生成動作を説明するフロ
ーチャートである。
【図4】 永続オブジェクトの参照方法を説明する図で
ある。
【図5】 永続オブジェクトを参照する手順を説明する
フローチャートである。
【図6】 従来例に係るオブジェクト識別子のみで永続
オブジェクトを管理するオブジェクト指向データベース
の永続オブジェクト管理方法を説明する図である。
【符号の説明】
1・・・応用プログラム、 2・・・二次記憶装
置、3・・・オブジェクトバッファ、 3o・・オブジ
ェクトテーブル、3a・・アドレス対応テーブル、 4
・・・ページバッファ、5・・・永続オブジェクト管理
部、 6・・・ページバッファ管理部、7・・・ディス
ク入出力部、

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 永続オブジェクトを識別子によって識別
    して参照するオブジェクト指向データベースにおいて、 永続オブジェクトを生成する際に、当該永続オブジェク
    トの属性に基づく参照一貫性を保つためにかかる保守コ
    ストが所定値以上であることに基づいて一意の論理的な
    値のオブジェクト識別子を設定し、保守コストが所定値
    未満であることに基づいて当該オブジェクトが格納され
    る二次記憶装置での格納位置を示す位置識別子を設定す
    ることを特徴とする永続オブジェクト管理方法。
  2. 【請求項2】 請求項1に記載した永続オブジェクト管
    理方法において、 オブジェクト識別子が設定されている永続オブジェクト
    を主記憶装置上にロードする際には、当該永続オブジェ
    クトがロードされる主記憶装置上のアドレスをオブジェ
    クト識別子に対応付けて主記憶装置上のオブジェクトテ
    ーブルに格納する一方、位置識別子が設定されている永
    続オブジェクトを主記憶装置上にロードする際には、当
    該永続オブジェクトがロードされる主記憶装置上のアド
    レスを位置識別子に対応付けて主記憶装置上のアドレス
    対応テーブルに格納しておき、 オブジェクト識別子によって永続オブジェクトを参照す
    る際には、オブジェクトテーブルを探索し、当該オブジ
    ェクト識別子に対応するアドレスがある場合には当該ア
    ドレスによって主記憶装置上の永続オブジェクトを参照
    し、 位置識別子によって永続オブジェクトを参照する際に
    は、アドレス対応テーブルを探索し、当該位置識別子に
    対応するアドレスがある場合には当該アドレスによって
    主記憶装置上の永続オブジェクトを参照することを特徴
    とする永続オブジェクト管理方法。
  3. 【請求項3】 請求項2に記載した永続オブジェクト管
    理方法において、 オブジェクト識別子が設定された永続オブジェクトが主
    記憶装置上にロードされた場合に、主記憶装置上の当該
    永続オブジェクトが当該永続オブジェクトのオブジェク
    ト識別子に対応する主記憶装置上のオブジェクトテーブ
    ル内のエントリのアドレスを保持することを特徴とする
    永続オブジェクト管理方法。
  4. 【請求項4】 請求項1乃至請求項3のいずれか1項に
    記載の永続オブジェクト管理方法において、 バックアップされた永続オブジェクトを二次記憶装置に
    再成する場合には、当該永続オブジェクトがバックアッ
    プされた際に設定されていたオブジェクト識別子を当該
    永続オブジェクトに再度設定することを特徴とする永続
    オブジェクト管理方法。
JP8213024A 1996-07-23 1996-07-23 永続オブジェクト管理方法 Pending JPH1040158A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8213024A JPH1040158A (ja) 1996-07-23 1996-07-23 永続オブジェクト管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8213024A JPH1040158A (ja) 1996-07-23 1996-07-23 永続オブジェクト管理方法

Publications (1)

Publication Number Publication Date
JPH1040158A true JPH1040158A (ja) 1998-02-13

Family

ID=16632253

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8213024A Pending JPH1040158A (ja) 1996-07-23 1996-07-23 永続オブジェクト管理方法

Country Status (1)

Country Link
JP (1) JPH1040158A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7559064B2 (en) 2002-08-14 2009-07-07 Nippon Telegraph And Telephone Corporation Object state transfer method, object state transfer device, object state transfer program, and recording medium for the program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7559064B2 (en) 2002-08-14 2009-07-07 Nippon Telegraph And Telephone Corporation Object state transfer method, object state transfer device, object state transfer program, and recording medium for the program
US8037478B2 (en) 2002-08-14 2011-10-11 Nippon Telegraph And Telephone Corporation Object state transfer method, object state transfer device, object state transfer program, and recording medium for the program

Similar Documents

Publication Publication Date Title
US10936547B2 (en) Filesystem replication using a minimal filesystem metadata changelog
JP4237354B2 (ja) トランザクション処理方法及びトランザクション処理システム
US5519855A (en) Summary catalogs
US6618736B1 (en) Template-based creation and archival of file systems
JPH0785020A (ja) 文書管理方法
US7194486B2 (en) Method and system for data processing with data replication for the same
JPH0816396A (ja) データ管理システム
JPH0358249A (ja) フアイルのアクセス方法
JP2003515213A (ja) オブジェクト指向データを持続させるための方法および装置
JPH1040158A (ja) 永続オブジェクト管理方法
US11269739B2 (en) Method and system for managing backup data
JPH04242842A (ja) データベースバッファ制御装置
JPH02212949A (ja) オンライン中データベース再編成処理方式
JP3105226B2 (ja) データ処理システム
JP2924786B2 (ja) 疎結合多重計算機システムにおける共有ファイルの排他制御システム、排他制御方法、および排他制御プログラムを記憶する媒体
JP2704028B2 (ja) ファイル領域管理方式
JP2741999B2 (ja) データ保存管理方法
JPH039426A (ja) ソフトウェア開発環境保管システム
JP3559571B2 (ja) データ処理装置およびデータ処理方法
US8452823B2 (en) Method for coordinating relationships between multiple physical entities
JPH04125743A (ja) ファイルの有効期間管理方法およびデータ処理装置
JPH041836A (ja) データベース管理装置
JP3050194B2 (ja) ホスト間共用メモリファイル動的追加システム、ホスト間共用メモリファイル動的追加方法、およびホスト間共用メモリファイル動的追加プログラムを記録した記録媒体
JPH0744426A (ja) ファイルシステムのファイル管理方法
JPS6058492B2 (ja) デ−タベ−ス検索方式