[go: up one dir, main page]

JPH05225034A - Object management method for object-oriented data base system - Google Patents

Object management method for object-oriented data base system

Info

Publication number
JPH05225034A
JPH05225034A JP4026986A JP2698692A JPH05225034A JP H05225034 A JPH05225034 A JP H05225034A JP 4026986 A JP4026986 A JP 4026986A JP 2698692 A JP2698692 A JP 2698692A JP H05225034 A JPH05225034 A JP H05225034A
Authority
JP
Japan
Prior art keywords
storage area
persistent
persistent object
main storage
secondary storage
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.)
Granted
Application number
JP4026986A
Other languages
Japanese (ja)
Other versions
JP3475429B2 (en
Inventor
Hiroshi Hayata
宏 早田
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 JP02698692A priority Critical patent/JP3475429B2/en
Publication of JPH05225034A publication Critical patent/JPH05225034A/en
Application granted granted Critical
Publication of JP3475429B2 publication Critical patent/JP3475429B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To provide the object management method for the object-oriented data base system which can effectively use a storage area. CONSTITUTION:A first table where identifiers 21A of permanent objects and position information 21B on a secondary storage area of permanent objects correspond to each other is stored in the secondary storage area 20. A second table where identifiers 31A, position information 31B on the secondary storage area, and position information 31C on a primary storage area of permanent objects correspond to one another is stored in the primary storage area 30. An object-oriented data base management system 10 accesses and manages permanent objects based on first and second tables.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】この発明は、オブジェクト指向デ
ータベースシステムにおけるオブジェクト管理方法に関
する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an object management method in an object oriented database system.

【0002】[0002]

【従来の技術】近年、オブジェクト指向データベースシ
ステム(Object Oriented Database=OODB)が注目
を集め、各種の研究が行われている。
2. Description of the Related Art In recent years, an object oriented database system (Object Oriented Database = OODB) has attracted attention and various researches have been conducted.

【0003】オブジェクト指向データベースの基礎概念
としては、(1)「“オブジェクト指向データベースの
基礎概念”(田中克己著 情報処理Vol.32 No.5 pp500
〜513 May 1991)」(以下、文献1という)、(2)
「“オブジェクト指向データベース管理システムのアー
キテクチャ”(牧之内顕文著 情報処理 Vol.32 No5 p
p514〜522 May 1991 )」(以下、文献2という)に開
示されたものが知られている。
The basic concept of an object-oriented database is as follows: (1) "" Basic concept of an object-oriented database "(Katsumi Tanaka, Information Processing Vol.32 No.5 pp500
~ 513 May 1991) "(hereinafter referred to as Reference 1), (2)
“Architecture of object-oriented database management system” (Kenfumi Makinouchi, Information Processing Vol.32 No5 p
p514 to 522 May 1991) "(hereinafter referred to as Reference 2).

【0004】上記文献2の516ページに開示されてい
るように、 (a)オブジェクト指向データベースにおいては、オブ
ジェクト識別子(OID)が永続オブジェクト(オブジ
ェクト指向データベースのデータで、プロセスの境界を
越えて存在するオブジェクト)の識別に重要な役割を果
たしている。永続オブジェクトは2次記憶上で管理され
主記憶上で操作されるため、OIDと、2次記憶上の永
続オブジェクトの位置(Disk Address=ディスクアドレ
ス)と、主記憶上の永続オブジェクトの位置(Memoty A
ddress=メモリアドレス)の3つの値の管理や変換が必
要となる。 (b)永続オブジェクトは2次記憶上で管理され主記憶
上で操作されるため、操作のためには2次記憶上の永続
オブジェクトを一度主記憶上に読み込む必要がある。ま
た一度主記憶上に読み込んだ後は、出切るだけ主記憶上
のアドレスを利用して、永続オブジェクトにアクセスす
ることが永続オブジェクトの参照を効率良くする。
As disclosed on page 516 of the above-mentioned document 2, (a) in an object-oriented database, an object identifier (OID) exists as a persistent object (data of the object-oriented database and exists across process boundaries. Plays an important role in identifying objects). Since the persistent object is managed on the secondary storage and operated on the main storage, the OID, the position of the persistent object on the secondary storage (Disk Address = disk address), and the position of the persistent object on the main storage (Memoty A
It is necessary to manage and convert the three values of ddress = memory address. (B) Since the persistent object is managed on the secondary memory and operated on the main memory, it is necessary to read the persistent object on the secondary memory once into the main memory for the operation. In addition, once the data is read into the main memory, the address of the main memory is used as much as possible to access the persistent object, which makes the reference of the persistent object efficient.

【0005】また文献2の520ページに開示されてい
る内容においては、 (c)主記憶上の永続オブジェクトをバッファとしてア
クセスするためには、OIDのハッシュテーブルが必要
であることを指摘している。 (d)永続オブジェクトは2次記憶上ではディスク形式
で表現され、主記憶上ではメモリ形式で表現されること
を指摘している。この表現形式の変換の際に、OIDは
変換され、主記憶上の永続オブジェクトへの参照を容易
に辿ることができるようになる。
Further, in the contents disclosed on page 520 of Document 2, it is pointed out that (c) an OID hash table is necessary to access a persistent object in the main memory as a buffer. .. (D) It is pointed out that the persistent object is represented in the disk format on the secondary storage and in the memory format on the main memory. At the time of conversion of this expression format, the OID is converted, and the reference to the persistent object on the main memory can be easily traced.

【0006】このような文献2に開始された内容のもの
を実現することにより、オブジェクト指向データベース
システムや永続的プログラミング(Persistent Program
mingLanguage )において、データベース中のオブジェ
クトに対するアクセスを高速化することができる。この
ことは、アプリケーションプログラムの実行速度を向上
させることができるということである。
By implementing the contents started in the literature 2, an object-oriented database system and a persistent programming (Persistent Program) are realized.
mingLanguage), you can speed up access to objects in the database. This means that the execution speed of the application program can be improved.

【0007】そこで、文献2に開始された内容のものを
実現するようにした技術としては、永続オブジェクトの
OID、ディスクアドレス、メモリアドレスの3つの値
のテーブル(オブジェクトテーブル)を2次記憶上で記
憶し管理するようにし、そのテーブルを参照することに
より、永続オブジェクトをアクセスするようにした手法
のものがある。
Therefore, as a technique for realizing the contents started in Document 2, a table (object table) of three values of OID of persistent object, disk address and memory address is stored on the secondary storage. There is a method in which a persistent object is accessed by storing and managing the table and referring to the table.

【0008】しかしながら、このような従来技術におい
ては、オブジェクトテーブルのサイズの肥大化に伴う記
憶領域(2次記憶領域)の無駄と、テーブル参照のため
のI(input )/O(output)の増加の可能性があり、
このため記憶領域を有効に利用することができず、また
処理効率の向上も望めない。
However, in such a conventional technique, the storage area (secondary storage area) is wasted due to the enlargement of the size of the object table, and the I (input) / O (output) for table reference increases. There is a possibility of
For this reason, the storage area cannot be effectively used, and improvement in processing efficiency cannot be expected.

【0009】また、上述した様なオブジェクト指向デー
タベースシステムの実現技術としては、(3)「“オブ
ジェクト指向データベースシステムにおける並行処理制
御”(西尾章治朗著 情報処理 Vol.32 No5 pp540〜54
9 May 1991 )」(以下、文献3という)に開示された
ものが知られている。
Further, as a technique for realizing the above-mentioned object-oriented database system, (3) "" Concurrent processing control in an object-oriented database system "(Shojiro Nishio, Information Processing Vol.32 No5 pp540-54)
9 May 1991) ”(hereinafter referred to as Document 3) is known.

【0010】上記文献3の540ページに開示されてい
るように、データベース管理システムにおける並行処理
制御はの機能は、複数のユーザからデータをアクセスす
るためには必須である。その代表的な実現方ほとして2
相施錠方式がある。この2相施錠方式では、トランザク
ションがデータにロックを掛けることで、操作の実行系
列をスケジュールする。あるトランザクションでデータ
をフクセスするときは必ずロックを掛け、そのトランザ
クションが終了するときは、そのトランザクション内で
掛けた全てのロックを外すようにしている。従って、主
記憶上にキャッシュされた永続オブジェクトが、トラン
ザクションを跨がって有効であれば、永続オブジェクト
を主記憶上に重複して読む手間がかからない。
As disclosed on page 540 of Document 3, the function of parallel processing control in the database management system is essential for accessing data from a plurality of users. As a typical way to realize it 2
There is a locking system. In this two-phase locking method, a transaction locks data to schedule an operation execution sequence. Whenever you access data in a transaction, you lock it, and when the transaction ends, you unlock all the locks in that transaction. Therefore, if the persistent object cached in the main memory is valid across transactions, it is not necessary to duplicately read the persistent object in the main memory.

【0011】しかしながら、上記文献3に開示されたも
のにおいては、複数のユーザがデータを更新する場合
は、いつ主記憶上にキャッシュが無効になるか分からな
い。このため、既にキャッシュされているキャッシュデ
ータは信用性が無いとみなし、必要なキャッシュデータ
が更新されておらずそのまま使用できるにも関わらず、
そのキャッシュデータを使用せず、再度必要なデータを
キャッシュしなければならない。すなわち、ロックに基
づくトランザクションによる並行制御を考慮した効率の
良いキャッシュの管理を行うことができず、処理効率が
悪い。
However, in the technique disclosed in Document 3, when a plurality of users update data, it is not known when the cache will be invalidated in the main memory. For this reason, the cached data that has already been cached is regarded as unreliable, and the necessary cached data has not been updated and can be used as is,
The required data must be cached again without using the cached data. That is, it is not possible to efficiently manage the cache in consideration of the parallel control by the transaction based on the lock, and the processing efficiency is poor.

【0012】なおオブジェクト指向データベースシステ
ムを実現したシステムとしては、特開平3−13773
0に開示されたものがある
A system that realizes an object-oriented database system is disclosed in Japanese Patent Laid-Open No. 3-13773.
0 has been disclosed

【0013】[0013]

【発明が解決しようとする課題】このように上記従来の
オブジェクト指向データベースシステムにおいては、オ
ブジェクトテーブルのサイズの肥大化に伴う2次記憶領
域の無駄と、テーブル参照のためのI/Oの増加の可能
性があり、このため記憶領域を有効に利用することがで
きず、また処理効率の向上も望めない。
As described above, in the above-described conventional object-oriented database system, the waste of the secondary storage area due to the enlargement of the size of the object table and the increase of I / O for table reference occur. There is a possibility that the storage area cannot be effectively used and the processing efficiency cannot be improved.

【0014】また上記文献3に開示されたものにおいて
は、あるユーザが、あるトランザクションでキャッシュ
したデータ(オブジェクト)を他のトランザクョンでア
クセスするような場合には、キャッシュされているデー
タ(オブジェクト)が有効であるにもかかわらず、その
キャッシュデータを使用せず、再度必要なデータをキャ
ッシュしなければならない。何故ならば、2次記憶領域
に存在するデータは複数のユーザによって更新されるこ
とを前提としているため、既にキャッシュされているキ
ャッシュデータは信用性が無いとみなすので、ロックを
掛ける毎にデータをキャッシュし直さなければならな
い。よって、ロックに基づくトランザクションによる並
行制御を考慮した効率の良いキャッシュの管理を行うこ
とができないので、処理効率が悪くなってしまう。
Further, in the technique disclosed in the above-mentioned document 3, when a user accesses data (object) cached by a certain transaction by another transaction, the cached data (object) is Despite being valid, the cached data is not used and the required data must be cached again. Because the data existing in the secondary storage area is assumed to be updated by multiple users, the cached data that has already been cached is considered to be unreliable. You have to recache. Therefore, efficient cache management cannot be performed in consideration of parallel control by transactions based on locks, resulting in poor processing efficiency.

【0015】ところで、永続オブジェクトの主記憶領域
上での表現形式であるメモリ形式においては、ディスク
形式で表現されている永続オブジェクトの状態を変換し
た情報のみでなく、主記憶領域上の他のデータのキャッ
シュや自分自身の状態を示すフラグなどの様々な値を持
つべきである。それらの値により主記憶領域上の永続オ
ブジェクトへの参照を効率良く実現できる。またメモリ
形式の永続オブジェクトは、ホスト言語であるオブジェ
クト言語の結合規則と同じものをサポートするべきであ
る。そうすることにより、永続オブジェクトの操作モデ
ルをホスト言語であるオブジェクト指向言語の操作モデ
ルと一体化することができる。
By the way, in the memory format which is the representation format of the persistent object in the main storage area, not only the information obtained by converting the state of the persistent object represented in the disk format but also other data in the main storage area. It should have various values, such as a cache of, and flags indicating its own state. The reference to the persistent object in the main storage area can be efficiently realized by those values. Also, memory-style persistent objects should support the same association rules as the host language, the object language. By doing so, the operation model of the persistent object can be integrated with the operation model of the object-oriented language that is the host language.

【0016】しかしながら上記各文献にはそれらを実現
するための手段は開示されていないので、従来において
は、永続オブジェクトを主記憶領域上で効率良く表現す
ることはできなかった。
However, since the above-mentioned documents do not disclose means for realizing them, in the past, a persistent object could not be efficiently represented in the main storage area.

【0017】この発明の目的は、記憶領域の有効利用を
図ることのできるオブジェクト指向データベースシステ
ムにおけるオブジェクト管理方法を提供することにあ
る。
An object of the present invention is to provide an object management method in an object-oriented database system capable of effectively utilizing a storage area.

【0018】この発明の他の目的は、ロックに基づくト
ランザクションによる並行制御を考慮した効率の良いキ
ャッシュの管理を行うことのできるオブジェクト指向デ
ータベースシステムにおけるオブジェクト管理方法を提
供することにある。
Another object of the present invention is to provide an object management method in an object-oriented database system capable of efficiently managing a cache in consideration of parallel control by a transaction based on a lock.

【0019】この発明の他の目的は、永続オブジェクト
を主記憶領域で効率良く表現することのできるオブジェ
クト指向データベースシステムにおけるオブジェクト管
理方法を提供することにある。
Another object of the present invention is to provide an object management method in an object-oriented database system capable of efficiently expressing a persistent object in a main storage area.

【0020】[0020]

【課題を解決するための手段】上記目的を達成するた
め、第1の発明のオブジェクト指向データベースシステ
ムにおけるオブジェクト管理方法では、2次記憶領域
に、永続オブジェクトの識別子と永続オブジェクトの2
次記憶領域上の位置情報を対応させた第1のテーブルを
記憶し、主記憶領域に、前記識別子及び2次記憶領域上
の位置情報と、永続オブジェクトの主記憶領域上の位置
情報とを対応させた第2のテーブルを記憶し、前記第1
及び第2のテーブルにより前記永続オブジェクトを管理
することを特徴としている。
In order to achieve the above object, in the object management method in the object-oriented database system of the first aspect of the present invention, the secondary storage area stores the identifier of the persistent object and the persistent object.
A first table in which the position information on the next storage area is associated is stored, and the main storage area associates the identifier and the position information on the secondary storage area with the position information on the main storage area of the persistent object. The stored second table, and stores the first table
And the second table manages the persistent object.

【0021】第2の発明のオブジェクト指向データベー
スシステムにおけるオブジェクト管理方法では、第1の
発明において、前記第2のテーブルを参照して、前記識
別子から前記主記憶領域上の位置情報が得られる場合
は、その位置情報に基づいて永続オブジェクトをアクセ
スし、前記第2のテーブルを参照して、前記識別子から
前記主記憶領域上の位置情報が得られない場合は、引続
き第2のテーブルを参照して前記識別子から前記2次記
憶領域上の位置情報を得て、この位置情報に基づいて前
記2次記憶領域から永続オブジェクトを前記主記憶領域
に読み込むと共に、該読込んだ永続オブジェクトの主記
憶領域上の位置情報を前記第2のテーブルに登録するこ
とを特徴としている。
In the object management method in the object-oriented database system of the second invention, in the first invention, when the position information on the main storage area is obtained from the identifier by referring to the second table, , Accessing the persistent object based on the location information, referring to the second table, and if the location information on the main storage area cannot be obtained from the identifier, continue to refer to the second table. Position information on the secondary storage area is obtained from the identifier, a permanent object is read from the secondary storage area to the main storage area based on this position information, and the main storage area of the read persistent object is also read. Is registered in the second table.

【0022】第2の発明のオブジェクト指向データベー
スシステムにおけるオブジェクト管理方法では、好まし
くは、前記第2のテーブルを参照して前記識別子から前
記2次記憶領域上の位置情報が得られない場合は、その
識別子に対応する永続オブジェクトは存在しないと判断
することを特徴としている。
In the object management method in the object-oriented database system of the second invention, preferably, when the position information on the secondary storage area cannot be obtained from the identifier by referring to the second table, The feature is that it is determined that there is no persistent object corresponding to the identifier.

【0023】第3の発明のオブジェクト指向データベー
スシステムにおけるオブジェクト管理方法では、主記憶
領域上にキャッシュされた永続オブジェクトをロックす
る際に、その永続オブジェクトのキャッシュが有効か否
かを判断し、この判断結果に応じたデータ処理を行うこ
とを特徴としている。
In the object management method in the object-oriented database system of the third invention, when locking the persistent object cached in the main storage area, it is judged whether or not the cache of the persistent object is effective, and this judgment is made. The feature is that data processing is performed according to the result.

【0024】第3の発明のオブジェクト指向データベー
スシステムにおけるオブジェクト管理方法では、好まし
くは、前記主記憶領域に記憶される永続オブジェクトに
そのオブジェクトのキャッシュが有効か否かを示す情報
を付加し、その情報に基づいてキャッシュの有効性を判
断することを特徴とする。
In the object management method in the object-oriented database system of the third invention, preferably, information indicating whether the cache of the object is valid is added to the persistent object stored in the main storage area, and the information is added. It is characterized in that the validity of the cache is judged based on.

【0025】第4の発明のオブジェクト指向データベー
スシステムにおけるオブジェクト管理方法では、第3の
発明において、前記永続オブジェクトのキャッシュが、
有効の場合はロックの処理を継続し、また無効の場合は
所望の永続オブシェクトを前記2次記憶領域から主記憶
領域に読み込み直し、その永続オブシェクトのキャッシ
ュを有効とした後、ロックを継続することを特徴として
いる。
In the object management method in the object-oriented database system of the fourth invention, in the third invention, the cache of the persistent object is
If it is valid, the lock process is continued. If it is invalid, the desired persistent object is reloaded from the secondary storage area to the main storage area, the cache of the persistent object is validated, and then the lock is continued. Is characterized by.

【0026】第5の発明のオブジェクト指向データベー
スシステムにおけるオブジェクト管理方法では、2次記
憶領域から主記憶領域上に読み出した永続オブジェクト
について、前記主記憶領域上の位置情報を含む揮発オブ
ジェクトと、前記永続オブジェクトについての各種情報
を持つハンドラとの組みで管理することを特徴としてい
る。
In the object management method in the object-oriented database system according to the fifth aspect of the present invention, for the persistent object read from the secondary storage area to the main storage area, the volatile object including the position information in the main storage area, and the persistent It is characterized in that it is managed in combination with a handler that holds various information about the object.

【0027】[0027]

【作用】この発明によれば、2次記憶領域に記憶される
第1のテーブルには、永続オブジェクトの識別子と永続
オブジェクトの2次記憶領域上の位置情報のみが保持さ
れ、主記憶領域に記憶される第2のテーブルには、前記
識別子及び2次記憶領域上の位置情報と、永続オブジェ
クトの主記憶領域上の位置情報とが保持されるので、2
次記憶領域においては、その記憶領域内の永続オブジェ
クトを管理するための情報を保持する領域のみしか使用
されず、また主記憶領域においては、第1のテーブルに
対する要素の参照があったエントリのデータを保持する
領域のみしか使用されないので、記憶領域を有効に利用
することができる。
According to the present invention, only the identifier of the persistent object and the position information of the persistent object on the secondary storage area are stored in the first table stored in the secondary storage area and stored in the main storage area. The second table stored holds the identifier and the position information on the secondary storage area and the position information on the main storage area of the persistent object.
In the next storage area, only the area holding the information for managing the persistent objects in that storage area is used, and in the main storage area, the data of the entry in which the element reference to the first table is made. Since only the area for holding the storage area is used, the storage area can be effectively used.

【0028】またこの発明によれば、主記憶領域に記憶
されている第2のテーブルを参照して、前記識別子から
主記憶領域上の位置情報が得られない場合は、引続き第
2のテーブルを参照して前記識別子から2次記憶領域上
の位置情報を得て、この位置情報に基づいて2次記憶領
域から永続オブジェクトを主記憶領域に読み込むように
しているので、永続オブジェクトは必要になったとき主
記憶領域にキャッシュされることとなり、よって主記憶
領域を有効に利用することができる。
According to the present invention, the second table stored in the main storage area is referred to, and if the position information on the main storage area cannot be obtained from the identifier, the second table is continuously stored. By referring to the identifier to obtain position information on the secondary storage area and reading the persistent object from the secondary storage area to the main storage area based on this location information, the persistent object is required. At this time, the data is cached in the main memory area, so that the main memory area can be effectively used.

【0029】またこの発明によれば、第2のテーブルを
参照して前記識別子から2次記憶領域上の位置情報が得
られない場合は、その識別子に対応する永続オブジェク
トは存在しないと判断するようにしているので、2次記
憶領域をアクセスすることなく永続オブジェクトが存在
するか否かを決定することができることとなり、よって
処理効率を向上させることができる。
Further, according to the present invention, when the position information on the secondary storage area cannot be obtained from the identifier by referring to the second table, it is determined that the persistent object corresponding to the identifier does not exist. Therefore, it is possible to determine whether or not the persistent object exists without accessing the secondary storage area, and thus the processing efficiency can be improved.

【0030】またこの発明によれば、主記憶領域上にキ
ャッシュされた永続オブジェクトをロックする際に、そ
の永続オブジェクトのキャッシュが有効か否かを判断
し、その判断の結果、有効の場合はロックの処理を継続
し、また無効の場合は所望の永続オブシェクトを前記2
次記憶領域から主記憶領域に読み込み直し、その永続オ
ブシェクトのキャッシュを有効とした後、ロックを継続
するようにしているので、キャッシュされている永続オ
ブジェクトが無効の場合のみ、該当する永続オブジェク
トが2次記憶領域から主記憶領域に読み込み直されるこ
ととなり、よって処理効率を向上させることができる。
Further, according to the present invention, when locking the persistent object cached in the main storage area, it is determined whether the cache of the persistent object is valid, and if the result of the determination is that the persistent object is locked, it is locked. Continue the above process, and if it is invalid, select the desired permanent object from the above 2
After re-reading from the next storage area to the main storage area and enabling the cache of the persistent object, the lock is made to continue. Therefore, only when the cached persistent object is invalid, The data is read from the next storage area to the main storage area again, so that the processing efficiency can be improved.

【0031】更にこの発明によれば、2次記憶領域から
主記憶領域上に読み出した永続オブジェクトについて、
主記憶領域上の位置情報を含む揮発オブジェクトと、永
続オブジェクトについての各種情報を持つハンドラとの
組みで管理するようにしているので、主記憶領域上にお
いて、ハンドラを参照することにより永続オブジェクト
に対する操作を行うことができる。
Further, according to the present invention, regarding the persistent object read from the secondary storage area to the main storage area,
Since a volatile object that contains position information in the main memory area and a handler that holds various information about the persistent object are managed as a set, operations on the persistent object can be performed by referencing the handler in the main memory area. It can be performed.

【0032】[0032]

【実施例】以下、この発明に係るオブジェクト管理方法
の第1の実施例を図1乃至図9の添付図面を参照して説
明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A first embodiment of an object management method according to the present invention will be described below with reference to the accompanying drawings of FIGS.

【0033】図1は、第1の発明に係るオブジェクト管
理方法を適用したオブジェクト指向データベースシステ
ムの第1の実施例を示す機能ブロック図である。
FIG. 1 is a functional block diagram showing a first embodiment of an object-oriented database system to which the object management method according to the first invention is applied.

【0034】同図において、オブジェクト指向データベ
ースシステムは、オブジェクト指向データベース管理シ
ステム(Object Oriented DataBase Management System
=OODBMS)10、2次記憶手段20、主記憶手段
30から構成されている。
In the figure, the object-oriented database system is an object-oriented database management system.
= OODBMS) 10, a secondary storage means 20, and a main storage means 30.

【0035】2次記憶手段20には、永続的なオブジェ
クトつまり永続オブジェクト(persistent Object )の
オブジェクト識別子(Object identity =OID)21
Aと永続オブジェクトの2次記憶手段20上の位置情報
(Disk Address=ディスクアドレス)21Bとが対応つ
けられて登録されるオブジェクトテーブル21と、永続
オブジェクト群22とが格納されている。
The secondary storage means 20 stores an object identifier (Object identity = OID) 21 of a persistent object, that is, a persistent object.
An object table 21 in which A and position information (Disk Address = disk address) 21B on the secondary storage means 20 of the persistent object are associated and registered, and a persistent object group 22 are stored.

【0036】主記憶手段30には、ロードされた永続オ
ブジェクトのOID31A及び永続オブジェクトの2次
記憶手段上の位置情報(ディスクアドレス)31Bとロ
ードされた永続オブジェクトの主記憶手段30上の位置
情報(Memory Address=メモリアドレス)31Cとが対
応つけられて登録されるオブジェクトテーブル31と、
ロードされた永続オブジェクト32とが記憶されてい
る。
In the main storage means 30, the OID 31A of the loaded persistent object, the position information (disk address) 31B of the persistent object in the secondary storage means, and the position information of the loaded persistent object in the main storage means 30 ( An object table 31 in which Memory Address = memory address 31C is associated and registered,
The loaded persistent object 32 is stored.

【0037】オブジェクト指向データベース管理システ
ム10は、オブジェクトテーブル管理モジュール11、
永続オブジェクト管理モジュール12から構成されてい
る。オブジェクトテーブル管理モジュール11はオブジ
ェクトテーブルをハッシュテーブルとして持ち、該ハッ
シュテーブルを2次記憶手段20で保管し管理し、必要
に応じて必要な部分を主記憶手段30に読み込み、デー
タであるOIDやディスクアドレス、メモリアドレスの
セット、取り出し、削除の操作を行う。
The object-oriented database management system 10 includes an object table management module 11,
It is composed of the persistent object management module 12. The object table management module 11 has an object table as a hash table, stores and manages the hash table in the secondary storage means 20, reads necessary parts into the main storage means 30 as necessary, and OID or disk data. Addresses, memory addresses are set, fetched, and deleted.

【0038】オブジェクトテーブル(ハッシュテーブ
ル)の管理は以下の様に行う。 ◆オブジェクトテーブルが2次記憶手段20上に存在す
る場合 この場合は、オブジェクトテーブルに、永続オブジェク
ト毎のOIDと2次記憶記憶手段20上の永続オブジェ
クトの位置情報(ディスクアドレス)のみを保持する。 ◆オブジェクトテーブルが主記憶手段30上に存在する
場合 この場合は、オブジェクトテーブルに、永続オブジェク
ト毎のOIDとディスクアドレスと、主記憶手段30に
存在する永続オブジェクトの主記憶手段30上の位置情
報(メモリアドレス)を保持する。
The object table (hash table) is managed as follows. When the object table exists in the secondary storage means 20 In this case, the object table holds only the OID for each persistent object and the position information (disk address) of the persistent object in the secondary storage means 20. ◆ When the object table exists in the main storage means 30 In this case, in the object table, the OID and disk address of each persistent object, and the position information of the persistent object existing in the main storage means 30 on the main storage means 30 ( Memory address).

【0039】オブジェクトテーブル管理モジュール11
は、永続オブジェクト管理モジュール12からのアドレ
ス情報(メモリアドレス、ディスクアドレス)の問合わ
せ要求や書き込み要求に応じて、所定の処理を行う。な
おアドレス情報の問合わせ要求のときは操作の対象とな
っている永続オブジェクトのOIDが、アドレス情報の
書き込み要求のときは操作の対象となっている永続オブ
ジェクトのOID及びその永続オブジェクトのアドレス
情報が、永続オブジェクト管理モジュール12からオブ
ジェクトテーブル管理モジュール11に通知される。
Object table management module 11
Performs predetermined processing in response to an inquiry request or a write request for address information (memory address, disk address) from the persistent object management module 12. When requesting an inquiry for address information, the OID of the persistent object that is the operation target indicates the OID of the persistent object that is the operation target when writing the address information, and the address information of the persistent object. The persistent object management module 12 notifies the object table management module 11.

【0040】[アドレス情報の問合わせ要求があった場
合]この場合は、アドレス情報の問合わせ要求の内容
(メモリアドレスの問合わせか、ディスクアドレスの問
合わせかの内容)に応じて、2次記憶手段20あるいは
主記憶手段30のオブジェクトテーブルをアクセスし、
このアクセスにより得られた結果(通知されたOIDを
含んでいるエントリ内のメモリアドレスあるいはディス
クアドレスアドレス、又はアドレスが存在しない旨)を
問合わせ結果として、永続オブジェクト管理モジュール
12に返す。
[When Address Information Inquiry Requested] In this case, in accordance with the contents of the address information inquiry request (contents of memory address inquiry or disk address inquiry) Access the object table of the storage means 20 or the main storage means 30,
The result obtained by this access (memory address or disk address address in the entry including the notified OID, or that there is no address) is returned to the persistent object management module 12 as a query result.

【0041】[アドレス情報の書き込み要求があった場
合]この場合は、アドレス情報の書き込み要求の内容
(メモリアドレスの書き込みか、ディスクアドレスの書
き込みかの内容)に応じて、2次記憶手段20あるいは
主記憶手段30のオブジェクトテーブルをアクセスし、
該当するテーブルの通知されたOIDを含んでいるエン
トリに通知されたアドレス情報を書き込む。
[When address information write request is issued] In this case, depending on the content of the address information write request (content of memory address write or disk address write), the secondary storage means 20 or Access the object table of the main storage means 30,
The notified address information is written in the entry including the notified OID of the corresponding table.

【0042】一方、永続オブジェクト管理モジュール1
2は、永続オブジェクトを2次記憶手段20で保管し管
理し、必要に応じて主記憶手段30に読み込み、永続オ
ブジェクトの操作を行うと共に、永続オブジェクトの生
成や削除により、主記憶手段30や2次記憶手段20の
データ内容を更新する。またオブジェクトテーブル管理
モジュール11に対して、アドレス情報(メモリアドレ
ス、ディスクアドレス)の問合わせ要求や書き込み要求
を行う。
On the other hand, the persistent object management module 1
2 stores and manages persistent objects in the secondary storage means 20, reads them into the main storage means 30 as necessary, operates the persistent objects, and creates and deletes the persistent objects to create the main storage means 30 and 2 The data content of the next storage means 20 is updated. Further, it makes an inquiry request and a write request for address information (memory address, disk address) to the object table management module 11.

【0043】この要求に応答したオブジェクトテーブル
管理モジュール11では、指定されたOIDで、主記憶
手段30内のオブジェクトテーブルのバリューを得て、
これを永続オブジェクト管理モジュール12に返すこと
となる。
In response to this request, the object table management module 11 obtains the value of the object table in the main storage means 30 with the designated OID,
This will be returned to the persistent object management module 12.

【0044】永続オブジェクト管理モジュール12で
は、メモリアドレスとディスクアドレスの組みであるバ
リューに応じて以下のような処理を行う。
The persistent object management module 12 performs the following processing according to the value which is a set of a memory address and a disk address.

【0045】[指定されたOIDからメモリアドレスが
得られた場合]返されたメモリアドレスで永続オブジェ
クトをアクセスする。 [指定されたOIDからメモリアドレスが得られない場
合] (a)返されたディスクアドレスから求めた永続オブジ
ェクトを主記憶手段30上に読み込む割り付ける。 (b)オブジェクトテーブル管理モジュール11に対し
て、割り付けた永続オブジェクトのメモリアドレスのオ
ブジェクトテーブルへの登録を依頼する。 (c)そのメモリアドレスで永続オブジェクトをアクセ
スする。 [指定されたOIDからディスクアドレスが求められな
い場合]そのOIDを持つ永続オブジェクトは存在しな
いと判断する。
[When the memory address is obtained from the specified OID] The persistent object is accessed at the returned memory address. [When the memory address cannot be obtained from the specified OID] (a) The permanent object obtained from the returned disk address is read and allocated on the main storage unit 30. (B) Request the object table management module 11 to register the memory address of the allocated persistent object in the object table. (C) Access the persistent object at that memory address. [When the disk address cannot be obtained from the specified OID] It is determined that there is no persistent object having that OID.

【0046】この実施例では、オブジェクト指向データ
ベース管理システム10は、上述した機能を実現するた
めのプログラム(ソフトウェア)を、プロセッサや中処
理装置等の制御手段が実行することにより実現されてい
る。勿論、ハードウェアやファームウェアで実現するこ
ともできる。
In this embodiment, the object-oriented database management system 10 is realized by executing a program (software) for realizing the above-mentioned functions by a control means such as a processor or a central processing unit. Of course, it can also be realized by hardware or firmware.

【0047】図2は、図1に示した実施例のオブジェク
ト指向データベースシステムを実現するためのハードウ
ェア構成を示す構成図である。同図において、主記憶装
置210は先に述べた主記憶手段30の機能を果たすも
のであり、2次記憶装置220は先に述べた2次記憶手
段20の機能を果たすものである。データプロセッサ2
30は、プログラムであるオブジェクト指向データベー
ス管理システム10を実行して所定のデー処理を行う。
ディスプレイ装置240は、データプロセッサ230に
よるデータ処理の結果を表示する。
FIG. 2 is a block diagram showing the hardware structure for realizing the object-oriented database system of the embodiment shown in FIG. In the figure, the main storage device 210 fulfills the function of the main storage means 30 described above, and the secondary storage device 220 fulfills the function of the secondary storage means 20 described above. Data processor 2
A reference numeral 30 executes the object-oriented database management system 10 which is a program to perform a predetermined day process.
The display device 240 displays the result of data processing by the data processor 230.

【0048】次に、オブジェクト指向データベース管理
システム10で管理するデータの論理的な構成を図3に
示す。
Next, FIG. 3 shows a logical configuration of data managed by the object-oriented database management system 10.

【0049】この図に示す例では、データベースファイ
ル310は論理的な1つのオブジェクトテーブル320
を持っており、このテーブルにはOIDと永続オブジェ
クトの論理アドレスとが対応して登録されている。オブ
ジェクトテーブル320は実体である永続オブジェクト
群330を各永続オブジェクトのOIDで管理する。各
永続オブジェクトはシステムにより一意に決定されるO
IDを持っている。同様に、データベースファイル34
0もオブジェクトテーブル350を持っており、このテ
ーブルによって永続オブジェクト群360が管理され
る。このような論理的構造のデータはメモリ空間にマッ
ピング(mapping )され操作される。
In the example shown in this figure, the database file 310 is one logical object table 320.
In this table, the OID and the logical address of the persistent object are registered in association with each other. The object table 320 manages the persistent object group 330 which is the entity by the OID of each persistent object. Each persistent object is uniquely determined by the system O
I have an ID. Similarly, the database file 34
0 also has an object table 350, and this table manages the persistent object group 360. Data having such a logical structure is mapped and manipulated in a memory space.

【0050】次に2次記憶装置上でのオブジェクトテー
ブルの構造の一例を図4に示す。
Next, FIG. 4 shows an example of the structure of the object table on the secondary storage device.

【0051】この実施例においてはオブジェクトテーブ
ルはハッシュテーブルとして実現され、キーとしてOI
D、バリューとしてディスクアドレスを持っている。図
4に示す例では、2次記憶装置上の10000番地にオ
ブジェクトテーブルが格納され、OIDが“100”の
永続オブジェクトは2次記憶装置上の12345番地に
存在し、OIDが“101”の永続オブジェクトは2次
記憶装置上の67890番地に存在していることを表し
ている。
In this embodiment, the object table is realized as a hash table and the OI is used as a key.
It has a disk address as D and a value. In the example shown in FIG. 4, the object table is stored at address 10000 on the secondary storage device, the persistent object with OID “100” exists at address 12345 on the secondary storage device, and the persistent object with OID “101” is present. It indicates that the object exists at the address 67890 on the secondary storage device.

【0052】続いて主記憶装置上でのオブジェクトテー
ブルの構造を図5に示す。
The structure of the object table on the main memory is shown in FIG.

【0053】この実施例においてはオブジェクトテーブ
ルはハッシュテーブルとして実現され、キーとしてOI
D、バリューとしてディスクアドレスとメモリアドレス
の組みを持っている。図5に示す例では、主記憶装置上
の100番地にオブジェクトテーブルが存在し、OID
が“100”の永続オブジェクトは主記憶装置上の12
3番地に存在し、OIDが“101”のオブジェクトは
主記憶装置に存在していないことを表している。この場
合は、OIDが“100”と“102”のエントリのプ
ローブ(要素の参照)があったので、それらのエントリ
のみが存在している。
In this embodiment, the object table is realized as a hash table and the OI is used as a key.
It has a set of a disk address and a memory address as D and a value. In the example shown in FIG. 5, the object table exists at the address 100 on the main memory and the OID
The persistent object with "100" is 12 in the main memory.
The object existing at the address 3 and having the OID “101” does not exist in the main memory. In this case, since there are probes (references to elements) for the entries with OIDs “100” and “102”, only those entries exist.

【0054】次に、オブジェクト指向データベース管理
システム10による、永続オブジェクトのOIDからメ
モリアドレスを求める処理について、図6に示すフロー
チャートを参照して説明する。
Next, the process of obtaining the memory address from the OID of the persistent object by the object-oriented database management system 10 will be described with reference to the flowchart shown in FIG.

【0055】アプリケーションプログラム(ユーザ)か
らオブジェクト指向データベース管理システム10にO
IDが与えられると、永続オブジェクト管理モジュール
12は、オブジェクトテーブル管理モジュール11に対
して、アプリケーションプログラムからのOIDを指定
してアドレス情報の問合わせを行う。
From the application program (user) to the object-oriented database management system 10
When the ID is given, the persistent object management module 12 inquires the object table management module 11 about the address information by designating the OID from the application program.

【0056】オブジェクトテーブル管理モジュール11
では、与えられたOIDに基づいて、オブジェクトテー
ブルのキーとしてOIDを与え、ディスクアドレスとメ
モリアドレスの組みであるバリューを得て(ステップ6
01)、これを問合わせ結果として永続オブジェクト管
理モジュール12に返す。
Object table management module 11
Then, based on the given OID, the OID is given as a key of the object table, and the value which is a set of the disk address and the memory address is obtained (step 6).
01), and returns this as a query result to the persistent object management module 12.

【0057】永続オブジェクト管理モジュール12で
は、問合わせ結果であるバリューの値が「0」であるか
否かを判断する(ステップ602)。ここでバリューが
「0」の場合(この場合は、与えられたOIDが登録さ
れているエントリが存在しないことを意味する)は、指
定されたOIDを持つ永続オブジェクトは存在しないと
判断し(ステップ603)、その後、処理を終了する。
The persistent object management module 12 determines whether or not the value of the value which is the inquiry result is "0" (step 602). If the value is “0” (in this case, there is no entry in which the given OID is registered), it is determined that there is no persistent object with the specified OID (step 603), and then the process ends.

【0058】ステップ602でバリューが「0」でない
場合(この場合は、与えられたOIDが登録されている
エントリが存在し、更に、少なくともそのエントリにデ
ィスクアドレスが登録されていることを意味する)は、
バリューのメモリアドレスが「0」であか否かを判断す
る(ステップ604)。
When the value is not "0" in step 602 (in this case, it means that there is an entry in which the given OID is registered, and at least the disk address is registered in that entry). Is
It is determined whether or not the value memory address is "0" (step 604).

【0059】ここで、メモリアドレス値が「0」でない
場合は、永続オブジェクトは主記憶装置にバッファされ
ていることになるので、そのメモリアドレスを要求元の
アプリケーションプログラムに返す(ステップ60
5)。
Here, if the memory address value is not "0", the persistent object is buffered in the main memory, so that memory address is returned to the requesting application program (step 60).
5).

【0060】ステップ604でメモリアドレスが「0」
の場合は、永続オブジェクトは主記憶装置上にバッファ
されていないことを意味するので、永続オブジェクト管
理モジュール12は、バリューのディスクアドレスの番
地に基づいて、2次記憶装置上での永続オブジェクトを
主記憶装置上に読み込んでバッフアし(ステップ60
6)、その読み込んだ永続オブジェクトを主記憶装置に
割り付けて、ここに書き込む(ステップ607)。その
後、今割り付けた永続オブジェクトのメモリアドレスを
オブジェクトテーブル管理モジュール11に渡して、ア
ドレス情報の書き込みを依頼する。
In step 604, the memory address is "0".
, It means that the persistent object is not buffered in the main storage device, so the persistent object management module 12 stores the persistent object in the secondary storage device based on the address of the value disk address. It is read into the storage device and buffered (step 60
6) The read persistent object is allocated to the main storage device and written therein (step 607). After that, the memory address of the persistent object just allocated is passed to the object table management module 11 to request the writing of the address information.

【0061】オブジェクトテーブル管理モジュール11
では、その割り付けた主記憶装置上の番地(メモリアド
レス)をオブジェクトテーブルのバリューのメモリアド
レスに登録する(ステップ608)。
Object table management module 11
Then, the allocated address (memory address) on the main storage device is registered in the value memory address of the object table (step 608).

【0062】ステップ608が終了した場合、永続オブ
ジェクト管理モジュール12は、割り付けた主記憶装置
上の番地(メモリアドレス)を、アプリケーションプロ
グラムに返す(ステップ609)。
When step 608 ends, the persistent object management module 12 returns the allocated address (memory address) on the main storage device to the application program (step 609).

【0063】上述した例では、1つのデータファイル内
に存在するオブジェクトのアクセスについて説明した
が、データベースファイル間を跨がるオブジェクト間の
参照も起こり得るので、次にその場合のデータの論理的
構造を説明する。その論理的構造を図7に示す。
In the above-mentioned example, the access of the objects existing in one data file has been described, but since the references between the objects across the database files may occur, the logical structure of the data in that case will be described next. Will be explained. Its logical structure is shown in FIG.

【0064】この図に示す例においては、図3に示した
2つのデータベースファイル間に跨がってオブジェクト
間で参照が行われていることを示している。すなわち、
データベースファイル340内のOIDが“710”の
永続オブジェクト720が、他のデータベースファイル
310内のOIDが“730”の永続オブジェクト74
0を参照している。
In the example shown in this figure, it is shown that objects are referenced across the two database files shown in FIG. That is,
The persistent object 720 with OID “710” in the database file 340 and the persistent object 74 with OID “730” in another database file 310.
Refers to 0.

【0065】このようにデータベースファイル間を跨が
るオブジェクト間の参照を実現するために、この実施例
においては、データベースファイルに、1つのオブジェ
クトテーブルに加えて、更に1つの外部オブジェクトテ
ーブルを持たせている。その外部オブジェクトテーブル
は、自己のテーブルが属しているデータベースファイル
内の永続オブジェクトが参照している他のデータベース
ファイルの永続オブジェクトのOIDをキーとして、ま
た他のデータベースファイルをバリューとして持つハッ
シュテーブルである。例えば外部オブジェクトテーブル
にはOIDとデータベースファイルの論理アドレスとが
対応付けされて登録される。
In order to realize the reference between the objects across the database files as described above, in this embodiment, the database file is provided with one external object table in addition to one object table. ing. The external object table is a hash table having the OID of the persistent object of another database file referenced by the persistent object in the database file to which its own table belongs as a key and the other database file as a value. .. For example, the OID and the logical address of the database file are registered in the external object table in association with each other.

【0066】係るデータ構造のデータをアクセスするに
あたって、オブジェクト指向データベース管理システム
10は、OIDが与えられると、最初にオブジェクトテ
ーブルをアクセスする。ここで、与えられたOIDに対
応する永続オブジェクトが見付からなかった場合は、次
に外部オブジェクトテーブルをアクセスする。このテー
ブルでも該当する永続オブジェクトが見付からなかった
場合は、与えられたOIDに対応する永続オブジェクト
は存在しないことになる。
In accessing the data of such data structure, the object-oriented database management system 10 first accesses the object table when the OID is given. If the persistent object corresponding to the given OID is not found here, the external object table is accessed next. If no corresponding persistent object is found in this table, it means that there is no persistent object corresponding to the given OID.

【0067】ここで、図7に示した例におけるオブジェ
クト間の参照を実現するためのデータ構造を図8に示
す。同図においては、データベースファイル310には
外部オブジェクトテーブル810が存在し、またデータ
ベースファイル340には外部オブジェクトテーブル8
20が存在している。外部オブジェクトテーブル820
には、永続オブジェクト720が参照している永続オブ
ジェクト740のOIDつまり“730”に対応して、
永続オブジェクト740が属するデータベースファイル
310を示す情報つまり論理アドレスが登録されてい
る。このような論理的構造のデータはメモリ空間にマッ
ピング(mapping )され操作される。
Here, FIG. 8 shows a data structure for realizing the reference between objects in the example shown in FIG. In the figure, an external object table 810 exists in the database file 310, and an external object table 8 exists in the database file 340.
There are 20. External object table 820
Corresponds to the OID of the persistent object 740 referenced by the persistent object 720, that is, “730”,
Information indicating the database file 310 to which the persistent object 740 belongs, that is, a logical address is registered. Data having such a logical structure is mapped and manipulated in a memory space.

【0068】今、OIDとして“730”が与えられた
とすると、オブジェクト指向データベース管理システム
10は、そのOIDでオブジェクトテーブル350のバ
リュー(永続オブジェクト)を得ることになる。しか
し、そのテーブルには該当する永続オブジェクトは登録
されていないので、次に、そのOIDで外部オブジェク
トテーブル820のバリュー(データベースファイル)
を得ることになる。そのテーブルには“730”のOI
Dに対応してデータベースファイル310を示す情報
(ディスクアドレス)が登録されているので、オブジェ
クト指向データベース管理システム10は、そのディス
クアドレスに基づいてデータベースファイル310をア
クセスし、“730”のOIDでオブジェクトテーブル
320のバリュー(永続オブジェクト)を得ることにな
る。このテーブルには“730”のOIDに対応して永
続オブジェクト740のディスクアドレスが登録されて
いるので、そのディスクアドレスに基づいて永続オブジ
ェクト740を参照することができる。
Now, if "730" is given as the OID, the object-oriented database management system 10 obtains the value (persistent object) of the object table 350 with the OID. However, since the corresponding persistent object is not registered in that table, the value (database file) of the external object table 820 with the OID is next.
You will get The table has an OI of “730”
Since the information (disk address) indicating the database file 310 is registered corresponding to D, the object-oriented database management system 10 accesses the database file 310 based on the disk address, and the object with the OID of “730”. The value (persistent object) of the table 320 will be obtained. Since the disk address of the persistent object 740 is registered in this table in correspondence with the OID of "730", the persistent object 740 can be referenced based on the disk address.

【0069】次に、データベースファイルを跨がるオブ
ジェクトの参照が発生する可能性がある場合において、
オブジェクト指向データベース管理システム10による
永続オブジェクトの参照の参照処理について図9を用い
て説明する。
Next, in the case where there is a possibility that an object reference across the database file may occur,
Referring to FIG. 9, a reference process of referring to a persistent object by the object-oriented database management system 10 will be described.

【0070】図9は、永続オブジェクト管理モジュール
12でオブジェクトテーブルと外部オブジェクトテーブ
ルを利用して、永続オブジェクトのOIDからメモリア
ドレスを求める処理手順のフローチャートである。
FIG. 9 is a flowchart of a processing procedure for obtaining a memory address from the OID of a persistent object by using the object table and the external object table in the persistent object management module 12.

【0071】アプリケーションプログラム(ユーザ)か
らオブジェクト指向データベース管理システム10にO
IDが与えられると、永続オブジェクト管理モジュール
12は、オブジェクトテーブル管理モジュール11に対
して、アプリケーションプログラムからのOIDを指定
してアドレス情報(オブジェクトテーブル)の問合わせ
を行う。
From the application program (user) to the object-oriented database management system 10
When the ID is given, the persistent object management module 12 inquires the object table management module 11 of the address information (object table) by designating the OID from the application program.

【0072】オブジェクトテーブル管理モジュール11
は、与えられたOIDに基づいて、オブジェクトテーブ
ルのキーとしてOIDを与え、ディスクアドレスとメモ
リアドレスの組みであるバリューを得て(ステップ90
1)、これを問合わせ結果として永続オブジェクト管理
モジュール12に返す。永続オブジェクト管理モジュー
ル12は、問合わせ結果であるバリューが「0」である
か否かを判断する(ステップ902)。ここで、バリュ
ーが0でない場合は、図6に示す処理手順のステップ6
04〜609と同様の処理が行われる(ステップ903
〜908)。
Object table management module 11
Gives the OID as a key of the object table based on the given OID, and obtains the value which is a set of the disk address and the memory address (step 90).
1), this is returned to the persistent object management module 12 as a query result. The persistent object management module 12 determines whether the value that is the inquiry result is "0" (step 902). If the value is not 0, step 6 of the processing procedure shown in FIG.
The same processing as 04 to 609 is performed (step 903).
~ 908).

【0073】ステップ902でバリューが「0」の場合
は、永続オブジェクト管理モジュール12は、オブジェ
クトテーブル管理モジュール11に対して、アプリケー
ションプログラムからのOIDを指定してアドレス情報
(外部オブジェクトテーブル)の問合わせを行う。
If the value is "0" in step 902, the persistent object management module 12 queries the object table management module 11 for the address information (external object table) by designating the OID from the application program. I do.

【0074】オブジェクトテーブル管理モジュール11
では、与えられたOIDに基づいて、外部オブジェクト
テーブルのキーとしてOIDを与え、データベースファ
イルのバリューを得て(ステップ909)、これを問合
わせ結果として永続オブジェクト管理モジュール12に
返す。
Object table management module 11
Then, based on the given OID, the OID is given as a key of the external object table, the value of the database file is obtained (step 909), and this is returned to the persistent object management module 12 as a query result.

【0075】永続オブジェクト管理モジュール12で
は、問合わせ結果であるバリューのデータベースファイ
ルが「0」であるか否かを判断する(ステップ91
0)。
The persistent object management module 12 judges whether or not the value database file as the inquiry result is "0" (step 91).
0).

【0076】ステップ910において、得られたバリュ
ーが「0」の場合は、指定されたOIDを持つ永続オブ
ジェクトは存在しないと判断し(ステップ911)、そ
の後、処理を終了し、これに対し、得られたバリューが
「0」でない場合は、永続オブジェクト管理モジュール
12に対して、オブジェクトテーブルのアドレス情報の
問合わせ要求を行う。
In step 910, when the obtained value is "0", it is determined that there is no persistent object having the specified OID (step 911), and then the process is terminated, and in contrast, the profit is obtained. If the obtained value is not “0”, the persistent object management module 12 is requested to inquire the address information of the object table.

【0077】永続オブジェクト管理モジュール12で
は、そのOIDが表すデータベースファイルのオブジェ
クトテーブルにおいて、指定されたOIDからディスク
アドレスとメモリアドレスの組みであるバリューを求め
(ステップ911)、これを問合わせ結果として返す。
The persistent object management module 12 obtains a value, which is a set of a disk address and a memory address, from the designated OID in the object table of the database file represented by the OID (step 911), and returns this as an inquiry result. ..

【0078】オブジェクトテーブル管理モジュール11
では、結果であるバリューが「0」であるか否かを判断
し(ステップ912)、バリューが0の場合はステップ
911に進み、バリューが「0」でない場合はステップ
903に戻る。
Object table management module 11
Then, it is determined whether or not the resulting value is "0" (step 912). If the value is 0, the process proceeds to step 911, and if the value is not "0", the process returns to step 903.

【0079】以上説明したようにこの実施例では、ハッ
シュテーブルでオブジェクトテーブルを実現することに
より、オブジェクトの本来の意図である永続オブジェク
トのOIDとディスアドレスとメモリアドレスの3つの
値が管理でき、更に以下の作用効果がある。
As described above, in this embodiment, the object table is realized by the hash table, so that the three values of the OID, the disaddress, and the memory address of the persistent object, which is the original intention of the object, can be managed. It has the following effects.

【0080】(1)オブジェクトテーブルは、主記憶上
ではODIとディスクアドレス、更に主記憶上に存在す
る永続オブジェクトのメモリアドレスのみを保持するよ
うにしているので、オブジェクトテーブルを主記憶上の
永続オブジェクトの管理のバッファとして利用できる。
(1) The object table holds only the ODI and the disk address on the main memory, and the memory address of the persistent object existing on the main memory. It can be used as a management buffer.

【0081】(2)オブジェクトテーブルを利用し、組
のバリューが存在するか否かの判定によって、あるOI
Dを持つ永続オブジェクトの存在が判定できる。組のバ
リューが存在しないときは永続オブジェクトが存在しな
いと判定することができる。
(2) A certain OI is determined by using the object table and determining whether or not there is a value in the set.
The existence of a persistent object with D can be determined. When the value of the set does not exist, it can be determined that the persistent object does not exist.

【0082】(3)オブジェクトテーブルは2次記憶上
ではODIとディスクアドレスの対応のみを保持してい
るので、オブジェクトテーブルが肥大化しても、2次記
憶上の記憶領域は無駄になら無い。またオブジェクトテ
ーブルは、主記憶上では、全てのデータが必要でなくプ
ローブ(要素の参照)のあったエントリのデータのみを
保持しているので、主記憶上の記憶領域も、必要なもの
のみ存在するので圧迫されない。
(3) Since the object table holds only the correspondence between the ODI and the disk address on the secondary storage, the storage area on the secondary storage is not wasted even if the object table becomes large. Also, since the object table does not need all the data in the main memory and holds only the data of the entry that has a probe (reference of element), only the necessary memory area in the main memory exists. Because it does, it is not oppressed.

【0083】次に、この発明に係るオブジェクト管理方
法の第2の実施例を図10乃至図13の添付図面を参照
して説明する。
Next, a second embodiment of the object management method according to the present invention will be described with reference to the accompanying drawings of FIGS.

【0084】図10は、この発明に係るオブジェクト管
理方法を適用したオブジェクト指向データベースシステ
ムの第2の実施例を示す機能ブロックである。
FIG. 10 is a functional block diagram showing a second embodiment of the object-oriented database system to which the object management method according to the present invention is applied.

【0085】同図において、オブジェクト指向データベ
ースシステムは、オブジェクシ指向データベース管理シ
ステム1010、2次記憶手段1020、主記憶手段1
030から構成されている。
In the figure, the object-oriented database system is an object-oriented database management system 1010, secondary storage means 1020, main storage means 1.
030.

【0086】2次記憶手段1020には永続オブジェク
トやオブジェクトテーブルなどのデータが格納されてお
り、主記憶手段1030には2次記憶手段1020から
ロードされたデータが記憶される。
Data such as persistent objects and object tables are stored in the secondary storage means 1020, and data loaded from the secondary storage means 1020 is stored in the main storage means 1030.

【0087】オブジェクシ指向データベース管理システ
ム1010は、永続オブジェクト管理モジュール101
1,トランザクションモジュール1012から構成され
ている。
The object-oriented database management system 1010 includes a persistent object management module 101.
1, a transaction module 1012.

【0088】永続オブジェクト管理モジュール1011
は、永続オブジェクトのキャッシュの有効か無効かを判
断する操作機能(以下、有効/無効判断操作機能とい
う)1011Aと、永続オブジェクトを2次記憶手段1
020から主記憶手段1030に読み込む操作機能(読
込み操作機能という)1011Bと、永続オブジェクト
のキャッシュを無効とする操作機能(キャッシュ無効操
作機能という)1011Cとを有しており、これらの操
作機能を実行して、永続オブジェクトを2次記憶手段1
020で保管し管理し、必要に応じて主記憶手段103
0に読み込み、永続オブジェクトの操作を行うと共に、
永続オブジェクトの生成や消滅により、主記憶手段10
30や2次記憶手段1020のデータ内容を更新する。
永続オブジェクトのキャッシュは永続オブジェクト管理
モジュール1011によって管理される。
Persistent Object Management Module 1011
Is an operation function (hereinafter referred to as a valid / invalidity judgment operation function) 1011A for determining whether the cache of a persistent object is valid or invalid, and a persistent object secondary storage means 1
It has an operation function (referred to as a read operation function) 1011B that reads from 020 to the main storage unit 1030 and an operation function (referred to as a cache invalidation operation function) 1011C that invalidates the cache of the persistent object, and executes these operation functions. Then, the persistent object is stored in the secondary storage means 1
It is stored and managed in 020, and if necessary, the main storage means 103
Read to 0, manipulate persistent objects,
The main storage means 10 is generated by the generation or disappearance of the persistent object.
30 and the data contents of the secondary storage means 1020 are updated.
The persistent object cache is managed by the persistent object management module 1011.

【0089】トランザクションモジュール1012は、
永続オブジェクトにロックを掛ける操作機能1012A
と、永続オブジェクトのロックを外す操作機能1012
Bと、トランザキションの異常終了に対する処理を行う
操作機能1012Cとを有しており、これらの操作機能
を実行して、2相施錠方式のロックに基づく並行制御を
行う。操作機能1012Cとしては、例えばシステムの
エラーやトランザクションのデットロック等が発生して
トランザクションが異常終了した場合に、そのトランザ
クションの再実行とか異常終了した旨をアプリケーショ
ンプログラム(ユーザ)に通知したりする処理がある。
なお2相施錠方式のロックに基づく並行制御については
周知技術を用いて実現することができるので、ここでは
その説明を省略する。
The transaction module 1012
Operation function 1012A to lock the persistent object
And the operation function 1012 to unlock the persistent object
B and an operation function 1012C that performs processing for abnormal termination of the transaction, and executes these operation functions to perform parallel control based on the lock of the two-phase locking system. The operation function 1012C is, for example, a process of re-executing the transaction or notifying the application program (user) of the abnormal termination when the transaction abnormally ends due to a system error or transaction deadlock. There is.
Since the parallel control based on the lock of the two-phase locking system can be realized by using a well-known technique, its description is omitted here.

【0090】係る構成のオブジェクト指向データベース
管理システム1010においては、永続オブジェクト管
理モジュール1011の各操作機能とトランザクション
モジュール1012の操作機能は密接な関係になってい
る。
In the object-oriented database management system 1010 having such a configuration, the operation functions of the persistent object management module 1011 and the operation functions of the transaction module 1012 are in a close relationship.

【0091】すなわち、操作機能1012A、操作機能
1012Bは共に、有効/無効判断操作機能1011
A、読込み操作機能1011Bと関係し、操作機能10
12Cは有効/無効判断操作機能1011A、読込み操
作機能1011B及びキャッシュ無効操作機能1011
Cと関係する。
That is, both the operation function 1012A and the operation function 1012B are the valid / invalid judgment operation function 1011.
A, operation function 10 related to read operation function 1011B
12C is a valid / invalid judgment operation function 1011A, a read operation function 1011B, and a cache invalid operation function 1011.
Related to C.

【0092】なおこの実施例においては、オブジェクト
指向データベース管理システム1010は、上述した機
能を実現するためのプログラム(ソフトウェア)を、プ
ロセッサや中処理装置等の制御手段が実行することによ
り実現されている。勿論、ハードウェアやファームウェ
アで実現することもできる。
In this embodiment, the object-oriented database management system 1010 is realized by executing a program (software) for realizing the above-mentioned functions by a control means such as a processor or a central processing unit. .. Of course, it can also be realized by hardware or firmware.

【0093】図10に示した実施例のオブジェクト指向
データベースシステムを実現するためのハードウェア構
成は、図2に示した構成と同様になっている。オブジェ
クト指向データベース管理システム1010を実行する
データプロセッサ、主記憶手段30の機能を果たす主記
憶装置、2次記憶手段20の機能を果たす2次記憶装
置、ディスプレイ装置から構成されている。
The hardware structure for realizing the object-oriented database system of the embodiment shown in FIG. 10 is the same as the structure shown in FIG. It is composed of a data processor that executes the object-oriented database management system 1010, a main storage device that functions as the main storage unit 30, a secondary storage device that functions as the secondary storage unit 20, and a display device.

【0094】この実施例においては、1つの永続オブジ
ェクトを表現するに当たって、主記憶装置上での表現形
式と2次記憶装置上での表現形式が異なっている。それ
らの表現形式の一例を図11に示す。図11(a)は主
記憶装置上での永続オブジェクトを示したものであり、
図11(b)は2次記憶装置上での永続オブジェクトを
示したものである。
In this embodiment, when representing one persistent object, the representation format on the main storage device is different from that on the secondary storage device. FIG. 11 shows an example of these expression formats. FIG. 11A shows a persistent object on the main memory,
FIG. 11B shows a persistent object on the secondary storage device.

【0095】主記憶装置での永続オブジェクトは、図1
1(a)に示すように、クラスの情報1110や属性値
の情報1120、キャッシュが有効か否かを示す情報
(例えばフラグ)1130を有している。これに対し、
2次記憶装置情での永続オブジェクトは、図11(b)
に示すように、クラスの情報1110や属性値の情報1
120を有している。しかし、キャッシュが有効か否か
を示す情報は有していない。
Persistent objects in main memory are shown in FIG.
As shown in 1 (a), it has class information 1110, attribute value information 1120, and information (for example, flag) 1130 indicating whether or not the cache is valid. In contrast,
The persistent object in the secondary storage device information is shown in FIG.
, Class information 1110 and attribute value information 1
It has 120. However, it does not have information indicating whether the cache is valid.

【0096】このように主記憶装置での永続オブジェク
トのみにキャッシュが有効か否かを示す情報が設けられ
ているのは、その永続オブジェクトのキャッシュが有効
か否かを判断するためだからである。従って2次記憶装
置情での永続オブジェクトにはその情報を設けておく必
要はないのである。
As described above, the information indicating whether the cache is valid or not is provided only for the persistent object in the main storage device in order to determine whether or not the cache of the persistent object is valid. Therefore, it is not necessary to provide that information in the persistent object in the secondary storage device information.

【0097】キャッシュが有効か否かを示す情報は、有
効無効判断操作機能1011Aによって参照される。こ
こで無効であると判定された場合は、読込み操作機能1
011Bによって、2次記憶装置から該当する永続オブ
ジェクトが読み込まれると共に、その永続オブジェクト
にキャッシュが有効である旨のフラグが設定される。ま
たキャッシュが有効か否かを示す情報は、キャッシュ無
効操作機能1011Cによって、有効から無効に変更さ
れる。
The information indicating whether the cache is valid or not is referred to by the validity / invalidity judgment operation function 1011A. If it is determined to be invalid here, the read operation function 1
By 011B, the corresponding persistent object is read from the secondary storage device, and a flag indicating that the cache is valid is set in the persistent object. The information indicating whether the cache is valid is changed from valid to invalid by the cache invalidation operation function 1011C.

【0098】次に、トランザクションモジュール101
2において永続オブジェクトにロックを掛ける操作の処
理手順を図12に示すフローチャートを参照して説明す
る。操作機能1012がロックを掛ける操作を実行した
とき、そのロックを掛ける操作の先頭で、有効/無効判
断操作機能1011Aを呼び出す。有効/無効判断操作
機能1011Aでは、対象となっている主記憶装置上の
永続オブジェクトのキャッシュが有効か否かを示すフラ
グに基づいて、その永続オブジェクトのキャッシュが有
効か否かを判断する(ステップ1201)。無効の場合
は、読込み操作機能1011Bを呼び出す。
Next, the transaction module 101
The processing procedure of the operation for locking the persistent object in 2 will be described with reference to the flowchart shown in FIG. When the operation function 1012 executes a lock operation, the valid / invalid determination operation function 1011A is called at the beginning of the lock operation. The valid / invalid determination operation function 1011A determines whether or not the cache of the persistent object is valid based on the flag indicating whether or not the cache of the persistent object on the target main storage device is valid (step 1201). If it is invalid, the read operation function 1011B is called.

【0099】読込み操作機能1011Bでは、2次記憶
装置から該当する永続オブジェクトを読み込むと共に
(ステップ1202)、主記憶装置上の永続オブジェク
トのキャッシュのフラグを有効にし(ステップ120
3)、更にキャッシュが有効になった旨を操作機能10
12に通知する。
In the read operation function 1011B, the corresponding persistent object is read from the secondary storage device (step 1202), and the flag of the persistent object cache on the main storage device is validated (step 120).
3) Further, the operation function 10 indicates that the cache is enabled.
Notify 12

【0100】操作機能1012は、キャッシュが有効を
示す旨であったときは、2相施錠方式に基づくロックの
操作を継続する(ステップ1204)。ステップ120
1でキャッシュが有効の場合はステップ1204に進
む。
If the cache indicates that the cache is valid, the operation function 1012 continues the lock operation based on the two-phase locking method (step 1204). Step 120
If the cache is valid in step 1, the process proceeds to step 1204.

【0101】なお、主記憶装置上の永続オブジェクトの
キャッシュのフラグを無効にするのは、 (a)あるトランザクションで永続オブジェクトの状態
を変更して、そのトランザクションが異常終了した場
合。これは主記憶装置上の永続オブジェクトが更新され
が、トランザクションが異常終了となったので、変更前
の永続オブジェクトに対して操作を行わなければならな
い場合であるの、更新された永続オブジェクトを無効と
するためである。これにより2次億装置から更新前の永
続オブジェクトが主記憶装置に読込まれることになる。 (b)異なるマシン(異なるオブジェクト指向データベ
ースシステム)の主記憶装置でのトランザクションで永
続オブジェクトの状態が変更されて、そのトランザクシ
ョンが正常終了したことにより、2次記憶装置の永続オ
ブジェクトが更新された場合である。
Note that the flag of the cache of the persistent object in the main memory is invalidated (a) when the state of the persistent object is changed in a certain transaction and the transaction ends abnormally. This is the case when the persistent object on the main memory is updated, but the transaction ended abnormally, so the persistent object before the change must be operated. This is because As a result, the persistent object before updating is read from the secondary storage device into the main storage device. (B) When the state of a persistent object is changed by a transaction in the main storage device of a different machine (different object-oriented database system) and the transaction ends normally, so that the persistent object in the secondary storage device is updated. Is.

【0102】いずれの場合も、トランザクションモジュ
ール1012がそれらの状態を検知して、永続オブジェ
クト管理モジュール1011にキャッシュの無効操作を
指示する。
In any case, the transaction module 1012 detects these states and instructs the persistent object management module 1011 to invalidate the cache.

【0103】次に、トランザクションに跨がって、主記
憶装置上にキャッシュされた永続オブジェクトを利用す
る場合の処理について、具体例を挙げて説明する。
Next, the processing in the case of using a persistent object cached in the main storage device across transactions will be described with a specific example.

【0104】図13は、トランザクション間を跨がって
キャッシュされた永続オブジェクトを利用する場合の処
理を説明するための図を示したものである。
FIG. 13 is a diagram for explaining a process when a persistent object cached across transactions is used.

【0105】なお図13において、Obj1、Obj1
´は永続オブジェクトを示しており、t1、t2、…、t13
は時間を示し、これらはt1<t2、…、<t13 の関係が成
立するものとする。
In FIG. 13, Obj1 and Obj1
´ indicates a persistent object, t1, t2, ..., t13
Indicates time, and the relation of t1 <t2, ..., <t13 is established.

【0106】いま、ユーザ1が、トランザクションTr
1とトランザクションTr2に跨がって、キャッシュさ
れた永続オブジェクトに対して操作するものと仮定し、
このときトランザクションTr1とトランザクションT
r2との間に、ユーザ2がトランザクションTr3を実
行するものと仮定する。
User 1 is now in transaction Tr
Assuming that a cached persistent object is operated across 1 and transaction Tr2,
At this time, transaction Tr1 and transaction T
Assume that user 2 executes transaction Tr3 with r2.

【0107】なおこの実施例では、クライアント・サー
バ・モデルで実現されるものとし、クライアント(アプ
リケーションプログラム)として先に示したユーザ1、
ユーザ2、データベース(2次記憶装置)をサーバとす
る。このクライアント・サーバ・モデルを実現するため
に、例えばリモート・プロシジャ・コール(RPC)を
用いている。このRPC自体は周知技術なので、ここで
は説明を省略する。
In this embodiment, it is assumed that the client-server model is used, and the user 1 shown above as the client (application program),
User 2 and the database (secondary storage device) are used as servers. To implement this client-server model, for example, a remote procedure call (RPC) is used. Since this RPC itself is a well-known technique, its explanation is omitted here.

【0108】ユーザ1において、時点t1でトランザクシ
ョンTr1をオープンし、時点t2でロックし、2次記
憶装置からObj1を主記憶装置に読込んでキャッシュ
すると、そのObj1は有効となる。時点t3 でObj
1を参照(reference )し、時点t4でアンロック(ロッ
クを外す)し、時点t5でコミット(commit)して、トラ
ンザクションTr1を正常終了したとする。この場合に
は、ユーザ1が属しているマシンの主記憶装置及び2次
記憶装置(サーバ)ともにObj1になっている。
When the user Tr1 opens the transaction Tr1 at time t1, locks it at time t2, reads Obj1 from the secondary storage device into the main storage device, and caches it, the Obj1 becomes valid. Obj at time t3
It is assumed that the transaction Tr1 is normally terminated by referring to 1 (reference), unlocking (releasing the lock) at time t4, committing at time t5. In this case, the main storage device and the secondary storage device (server) of the machine to which the user 1 belongs are both Obj1.

【0109】次に、ユーザ2において、時点t6でトラン
ザクションTr2をオープンし、時点t7 でロックし、
2次記憶装置からObj1を主記憶装置に読込んでキャ
ッシュすると、そのObj1は有効となる。時点t8 で
Obj1を更新(update)し、時点t9でアンロックし、
時点t5でコミット(commit)して、トランザクションT
r2を正常終了したとする。この場合は、ユーザ2が属
しているマシンの主記憶装置及び2次記憶装置(サー
バ)ともにObj1´になっている。
Next, in the user 2, the transaction Tr2 is opened at time t6 and locked at time t7.
When Obj1 is read from the secondary storage device into the main storage device and cached, the Obj1 becomes valid. Obj1 is updated at time t8, unlocked at time t9,
Commit at time t5, transaction T
It is assumed that r2 ends normally. In this case, the main storage device and the secondary storage device (server) of the machine to which the user 2 belongs are both Obj1 '.

【0110】続いて、ユーザ1が、時点t11 でトランザ
クションTr2をオープンし、時点t12でロックする。
この場合は、ユーザ2でObj1を更新したため、先に
説明した主記憶装置上の永続オブジェクトのキャッシュ
のフラグを無効にする場合の(b)に該当するので、ユ
ーザ1の側においては、時点t12でのロックの際に、主
記憶装置にキャッシュされているObj1のキャッシュ
が有効か否かを示す情報は有効から無効に変更される。
このときキャッシュされているObj1のキャッシュが
無効であるので、該当するObj1´を2次記憶装置
(サーバ)から主記憶上に読み直して、ロックの操作を
継続する。所定の操作が終了したらアンロックし、時点
t13 でコミットする。
Subsequently, the user 1 opens the transaction Tr2 at time t11 and locks it at time t12.
In this case, since Obj1 is updated by the user 2, this corresponds to (b) when the flag of the cache of the persistent object on the main storage device described above is invalidated. Therefore, at the time t12 on the user 1 side. At the time of locking at 1, the information indicating whether the cache of Obj1 cached in the main storage device is valid is changed from valid to invalid.
At this time, since the cached cache of Obj1 is invalid, the corresponding Obj1 ′ is reread from the secondary storage device (server) onto the main memory and the lock operation is continued. When the predetermined operation is completed, unlock the
Commit at t13.

【0111】なお先に説明した主記憶装置上の永続オブ
ジェクトのキャッシュのフラグを無効にする場合の
(b)においては、ユーザ1(クライアント)がサーバ
(2次記憶装置)にロックする旨を通知すると、サーバ
は対象としているデータ(この場合はObj1)が変更
されている旨をユーザ1に返す。このときユーザ1は、
Obj1のキャッシュが有効か否かを示すフラグを有効
から無効に更新する。その後、ユーザ1は該当するデー
タ(この場合はObj1´)をロードしに行くこととな
る。これに対し、先に説明した主記憶装置上の永続オブ
ジェクトのキャッシュのフラグを無効にする場合の
(a)においては、クライアントはアボートの対象とな
ったオブジェクトのキャッシュが有効か否かを示すフラ
グを有効から無効に更新することになる。以後の処理は
上記の処理と同様である。
In case (b) of invalidating the flag of the persistent object cache on the main storage device described above, when the user 1 (client) notifies the server (secondary storage device) of the lock. The server returns to the user 1 that the target data (Obj1 in this case) has been changed. At this time, user 1
The flag indicating whether the cache of Obj1 is valid is updated from valid to invalid. After that, the user 1 will go to load the corresponding data (Obj1 ′ in this case). On the other hand, in the case of invalidating the flag of the persistent object cache on the main memory described above (a), the client indicates the flag indicating whether the cache of the object of the abort target is valid or not. Will be updated from valid to invalid. The subsequent processing is the same as the above processing.

【0112】なおユーザ2の側において、トランザクシ
ョンTr3の時点8 でObj1を参照しObj1の状態
が変化せず、トランザクションTr3が正常終了した場
合には、ユーザ1の側において、キャッシュされている
Obj1は有効(何故ならばトランザクションTr3の
時点8 でObj1が参照されたからである)であるの
で、そのままロックの操作を継続することができる。
When the user 2 side refers to Obj1 at time 8 of the transaction Tr3 and the state of Obj1 does not change and the transaction Tr3 ends normally, the cached Obj1 on the user 1 side is Since it is valid (because Obj1 is referenced at time 8 of transaction Tr3), the lock operation can be continued as it is.

【0113】以上説明したようにこの実施例によれば、
主記憶上のキャッシュが有効か無効かのチェックを、2
相施錠方式におけるデータロックの一部として実現し、
更にロック時にキャッシュが無効であると判断した時点
で、永続オブジェクトを2次記憶から主記憶上に読み直
して、ロックの操作を継続するようにしているので、キ
ャッシュのチェックをデータのロック時に行うことで、
トランザクションを跨がってキャッシュを有効に利用で
き、永続オブジェクトの重複した読み込みが防げる。更
に、並行処理制御によって、複数のユーザは矛盾なくデ
ータをアクセスできる。
As described above, according to this embodiment,
Check whether cache in main memory is valid or invalid 2
Realized as part of the data lock in the phase locking system,
Furthermore, when it is determined that the cache is invalid at the time of locking, the persistent object is reloaded from the secondary memory to the main memory to continue the lock operation. so,
Cache can be used effectively across transactions and duplicate reading of persistent objects can be prevented. Further, concurrency control allows multiple users to access the data consistently.

【0114】次に、この発明に係るオブジェクト管理方
法の第3の実施例を図14乃至図17の添付図面を参照
して説明する。
Next, a third embodiment of the object management method according to the present invention will be described with reference to the accompanying drawings of FIGS.

【0115】この発明の特徴としては、永続オブジェク
トを、オブジェクト指向言語の提供するコンストラクタ
(で生成したオブジェクト(揮発オブジェクト(volati
le Object ))と、永続オブジェクトに付加すべき種々
の情報(所属するデータベースファイル、クラスの定
義、キャッシュの有効/無効のフラグ、オブジェクトの
2次記憶装置上の物理的位置等)を持するハンドラの組
としたメモリ形式で実現していることである。
As a feature of the present invention, a persistent object is an object generated by a constructor (provided by an object-oriented language (a volatile object (volati
le Object)) and various information that should be added to the persistent object (database file to which it belongs, class definition, cache valid / invalid flag, physical location of the object on the secondary storage device, etc.) It is realized by the memory format as a set of.

【0116】また永続オブジェクトの主記憶上の位置情
報を、ハンドラのアドレスとして表し、かつ各ハンドラ
は対応する揮発オブジェクトのアドレスを保持するよう
にしている。
The position information on the main memory of the persistent object is represented as the address of the handler, and each handler holds the address of the corresponding volatile object.

【0117】また永続オブジェクトから永続オブジェク
トへの参照は、主記憶上では、参照する永続オブジェク
トを構成する揮発オブジェクトの属性値として、参照さ
れる永続オブジェクトを構成するハンドラのアドレスを
保持させるようすることで実現している。
Further, the reference from the persistent object to the persistent object should be such that the address of the handler constituting the referenced persistent object is held as the attribute value of the volatile object constituting the referenced persistent object in the main memory. Has been realized in.

【0118】更に永続オブジェクトの削除に当たって
は、構成する揮発オブジェクトのみを主記憶上の領域か
ら解放し、他の永続オブジェクトから前記削除された永
続オブジェクトへの参照がある間は、該削除された永続
オブジェクトを構成するハンドラは永続オブジェクトが
削除されたことを示すフラグを立て、主記憶上の領域は
解放せずに、他の永続オブジェクトから該削除された永
続オブジェクトへの参照がなくなったときに、該削除さ
れた永続オブジェクトを構成するハンドラの主記憶上の
領域を解放するようにしている。
Further, in deleting a persistent object, only the constituent volatile objects are released from the area on the main memory, and while the deleted persistent object is referenced by another persistent object, the deleted persistent object is deleted. The handler that constructs the object sets a flag indicating that the persistent object has been deleted, does not release the area in the main memory, and when there is no reference to the deleted persistent object from other persistent objects, The area on the main memory of the handler that constitutes the deleted persistent object is released.

【0119】図14は、永続オブジェクトの主記憶上の
表現であるメモリ形式を示したものである。
FIG. 14 shows a memory format which is a representation on the main memory of a persistent object.

【0120】永続オブジェクトは、主記憶上ではハンド
ラ1410と揮発オブジェクト1420の組みで表現さ
れる。ハンドラ1410が主記憶上の永続オブジェクト
を代表しており、ハンドラ1410は対応する揮発オブ
ジェクト1420を参照している。ハンドラ1410
は、対応する揮発オブジェクトの位置1411、永続オ
ブジェクトの識別子1412、所属するデータベースフ
ァイル1413、クラスの定義1414、2次記憶装置
に保存される際の位置1415、主記憶のキャッシュが
有効か否かを示すフラグ1416、永続オブジェクトが
まだ存在するか否かを示すフラグ1417などの情報を
持っている。
The persistent object is represented by a combination of a handler 1410 and a volatile object 1420 on the main memory. The handler 1410 represents a persistent object on the main memory, and the handler 1410 refers to the corresponding volatile object 1420. Handler 1410
Indicates the location 1411 of the corresponding volatile object, the identifier 1412 of the persistent object, the database file 1413 to which it belongs, the class definition 1414, the location 1415 when it is saved in the secondary storage device, and whether or not the main storage cache is valid. It has information such as a flag 1416 indicating the flag and a flag 1417 indicating whether or not the persistent object still exists.

【0121】揮発オブジェクト1420は、そのクラス
定義から与えられるコンストラクタで生成され、かつ属
性値の情報1421を持っており、永続オブジェクトを
構成する要素でない通常の揮発オブジェクトと全く同じ
ものである。そのため、ホスト言語であるオブジェクト
指向言語の結合規則が同じように適用される。主記憶上
での永続オブジェクトの状態を変更するということは、
構成する揮発オブジェクトの状態(属性値)を変更する
ということである。
The volatile object 1420 is exactly the same as a normal volatile object which is generated by a constructor given from its class definition and has attribute value information 1421 and which is not an element constituting a persistent object. Therefore, the connection rules of the object-oriented language, which is the host language, are similarly applied. Changing the state of a persistent object in main memory means
This means changing the state (attribute value) of the constituent volatile objects.

【0122】図15は、永続オブジェクトから永続オブ
ジェクトへの参照の主記憶上での表現方法を示してい
る。永続オブジェクト1の属性で、永続オブジェクト2
を参照する場合、ハンドラ2のアドレスを、揮発オブジ
ェクト1の属性値2とすることで実現することができ
る。
FIG. 15 shows a representation method on the main memory of a reference from a persistent object to a persistent object. Attributes of persistent object 1 and persistent object 2
Can be realized by setting the address of the handler 2 to the attribute value 2 of the volatile object 1.

【0123】次に、永続オブジェクトの削除に当たっ
て、主記憶上の領域の解放の処理手順を図16に示すフ
ローチャートを参照して説明する。
Next, in deleting the persistent object, the procedure for releasing the area on the main memory will be described with reference to the flowchart shown in FIG.

【0124】主記憶上の領域の解放に当たっては、揮発
オブジェクトの主記憶上での領域が解放され(ステップ
1601)、次に、他の永続オブジェクトが参照してい
るか否かが判断される(ステップ1602)。
In releasing the area in the main memory, the area in the main memory of the volatile object is released (step 1601), and then it is judged whether or not another persistent object refers (step 1601). 1602).

【0125】ここで、参照していない場合は、構成する
ハンドラの主記憶上での領域が解放される(ステップ1
603)。ステップ1602で参照していない場合は、
永続オブジェクトの消滅を表すフラグが、構成するハン
ドラ(図14に示す永続オブジェクトはまだ存在するか
否かを示すフラグ1417)に立てられ(ステップ16
02)、ステップ1602に戻る。
Here, if it is not referred to, the area on the main memory of the constituent handler is released (step 1).
603). If not referenced in step 1602,
A flag indicating the disappearance of the persistent object is set in the constituent handler (the flag 1417 indicating whether or not the persistent object shown in FIG. 14 still exists) (step 16).
02) and returns to step 1602.

【0126】次に、永続オブジェクトから他の永続オブ
ジェクトへの参照を説明するための処理を、図17に示
す具体例を挙げて説明する。
Next, the processing for explaining the reference from the persistent object to another persistent object will be described with reference to a concrete example shown in FIG.

【0127】ここでは、OIDが“10”であるObject
AがOIDが“20”であるObjectBを参照している場
合を考える。
Here, an Object whose OID is "10"
Consider the case where A refers to Object B whose OID is “20”.

【0128】2次記憶上では、OIDが“10”である
ObjectAは、ObjectBのOID(20)を保持してい
る。
On the secondary storage, the OID is "10".
ObjectA holds the OID (20) of ObjectB.

【0129】主記憶上では、ObjectAは、123番地の
メモリアドレスに存在するハンドラと、456番地のメ
モリアドレスに存在する揮発オブジェクトとで表現され
ており、一方、ObjectBは、789番地のメモリアドレ
スに存在するハンドラと、890番地のメモリアドレス
に存在する揮発オブジェクトとで表現されている。
In the main memory, ObjectA is represented by a handler existing at a memory address of address 123 and a volatile object existing at a memory address of address 456, while ObjectB is expressed at a memory address of address 789. It is represented by the existing handler and the volatile object existing at the memory address of address 890.

【0130】ここで123番地のメモリアドレスはハン
ドラの位置情報であって、かつObjectAの主記憶上の位
置情報をも示している。そのハンドラには、対応する揮
発オブジェクトのアドレス(456番地)が保持されて
いる。その揮発オブジェクトには、ObjectAが参照して
いるObjectBを構成しているハンドラのアドレス(78
9)が属性値として保持されている。
Here, the memory address at address 123 is the position information of the handler, and also indicates the position information on the main memory of ObjectA. The handler holds the address (address 456) of the corresponding volatile object. For the volatile object, the address of the handler that constructs ObjectB referenced by ObjectA (78
9) is held as an attribute value.

【0131】同様に、789番地のメモリアドレスはハ
ンドラの位置情報であって、かつObjectBの主記憶上の
位置情報をも示している。そのハンドラには、対応する
揮発オブジェクトのアドレス(890番地)が保持され
ている。
Similarly, the memory address at address 789 is the position information of the handler, and also indicates the position information on the main memory of ObjectB. The handler holds the address (address 890) of the corresponding volatile object.

【0132】また永続オブジェクトから永続オブジェク
トへの参照は、主記憶上では、参照する永続オブジェク
トを構成する揮発オブジェクトの属性値として、参照さ
れる永続オブジェクトを構成するハンドラのアドレスを
保持させるようすることで実現している。
Further, the reference from the persistent object to the persistent object is such that the address of the handler constituting the referenced persistent object is held as the attribute value of the volatile object constituting the referenced persistent object in the main memory. Has been realized in.

【0133】以上説明したように、この実施例によれ
ば、主記憶上の永続オブジェクトは揮発オブジェクトと
ハンドラの組みで管理するようにしたので、永続オブジ
ェクトは、揮発オブジェクトによりホスト言語であるオ
ブジェクト指向言語の結合規則に従うことができる。ま
たハンドラは、主記憶上の他のデータのキャッシュや自
分自身の状態を示すフラグとして様々な情報(所属する
データベースファイル、クラスの定義、キャッシュの有
効/無効のフラグ、オブジェクトの2次記憶装置上の物
理的位置等)を持つことができる。
As described above, according to this embodiment, the persistent object on the main memory is managed by the combination of the volatile object and the handler. Can follow language binding rules. In addition, the handler uses various information as a flag indicating the cache of other data in the main memory and the status of itself (database file to which it belongs, class definition, cache valid / invalid flag, object secondary storage device). Physical location, etc.).

【0134】[0134]

【発明の効果】この発明によれば、2次記憶領域に記憶
される第1のテーブルには、永続オブジェクトの識別子
と永続オブジェクトの2次記憶領域上の位置情報のみが
保持され、主記憶領域に記憶される第2のテーブルに
は、前記識別子及び2次記憶領域上の位置情報と、永続
オブジェクトの主記憶領域上の位置情報とが保持される
ので、2次記憶領域においては、その記憶領域内の永続
オブジェクトを管理するための情報を保持する領域のみ
しか使用されず、また主記憶領域においては、第1のテ
ーブルに対する要素の参照があったエントリのデータを
保持する領域のみしか使用されない。また主記憶領域に
記憶されている第2のテーブルを参照して、前記識別子
から主記憶領域上の位置情報が得られない場合は、引続
き第2のテーブルを参照して前記識別子から2次記憶領
域上の位置情報を得て、この位置情報に基づいて2次記
憶領域から永続オブジェクトを主記憶領域に読み込むよ
うにしているので、記憶領域を有効に利用することがで
きる。
According to the present invention, the first table stored in the secondary storage area holds only the identifier of the persistent object and the position information of the persistent object in the secondary storage area, and the main storage area The second table stored in the table stores the identifier and the position information in the secondary storage area and the position information in the main storage area of the persistent object. Only the area that holds the information for managing the persistent objects in the area is used, and in the main storage area, only the area that holds the data of the entry that referred to the element for the first table is used. .. If the second table stored in the main storage area is referred to and the position information in the main storage area cannot be obtained from the identifier, the second table is continuously referred to from the identifier to the secondary storage. Since the position information on the area is obtained and the persistent object is read from the secondary storage area to the main storage area based on this position information, the storage area can be effectively used.

【0135】また第2のテーブルを参照して前記識別子
から2次記憶領域上の位置情報が得られない場合は、そ
の識別子に対応する永続オブジェクトは存在しないと判
断するようにしているので、2次記憶領域をアクセスす
ることなく永続オブジェクトが存在するか否かを決定す
ることができることとなり、よって処理効率を向上させ
ることができる。
If the position information in the secondary storage area cannot be obtained from the identifier by referring to the second table, it is determined that the persistent object corresponding to the identifier does not exist. It is possible to determine whether or not a persistent object exists without accessing the next storage area, thus improving the processing efficiency.

【0136】またこの発明によれば、主記憶領域上にキ
ャッシュされた永続オブジェクトをロックする際に、そ
の永続オブジェクトのキャッシュが有効か否かを判断
し、その判断の結果、有効の場合はロックの処理を継続
し、また無効の場合は所望の永続オブシェクトを前記2
次記憶領域から主記憶領域に読み込み直し、その永続オ
ブシェクトのキャッシュを有効とした後、ロックを継続
するようにしているので、キャッシュされている永続オ
ブジェクトが無効の場合のみ、該当する永続オブジェク
トが2次記憶領域から主記憶領域に読み込み直されるこ
ととなり、トランザクション間を跨がってキャッシュを
有効に利用でき、かつ永続オブジェクトの重複した読み
込みが防げる。更に、並行処理制御によって、複数のユ
ーザは矛盾なくデータをアクセスできる。従って、ロッ
クに基づくトランザクションによる並行制御を考慮した
効率の良いキャッシュの管理を行うことのできる。
Further, according to the present invention, when locking a persistent object cached in the main storage area, it is determined whether the cache of the persistent object is valid, and if the result of the determination is that it is locked, Continue the above process, and if it is invalid, select the desired permanent object from the above 2
After re-reading from the next storage area to the main storage area and enabling the cache of the persistent object, the lock is continued. Therefore, if the cached persistent object is invalid, the corresponding persistent object is 2 Since the data will be read again from the next storage area to the main storage area, the cache can be effectively used across transactions and duplicate reading of persistent objects can be prevented. Further, concurrency control allows multiple users to access the data consistently. Therefore, it is possible to efficiently manage the cache in consideration of the parallel control by the transaction based on the lock.

【0137】またこの発明によれば、2次記憶領域から
主記憶領域上に読み出した永続オブジェクトについて、
主記憶領域上の位置情報を含む揮発オブジェクトと、永
続オブジェクトについての各種情報を持つハンドラとの
組みで管理するようにしているので、主記憶領域上にお
いて、ハンドラを参照することにより永続オブジェクト
に対する操作を行うことができる。
According to the present invention, the persistent object read from the secondary storage area to the main storage area is
Since a volatile object that contains position information in the main memory area and a handler that holds various information about the persistent object are managed as a set, operations on the persistent object can be performed by referencing the handler in the main memory area. It can be performed.

【0138】更にこの発明によれば、主記憶上の永続オ
ブジェクトは揮発オブジェクトとハンドラの組みで管理
するようにしたので、永続オブジェクトは揮発オブジェ
クトによりホスト言語であるオブジェクト指向言語の結
合規則に従うことができる。またハンドラにより永続オ
ブジェクトを操作するのに必要な情報を知ることがるの
で、主記憶上の永続オブジェクトへの参照の参照効率を
向上させることができる。
Further, according to the present invention, since the persistent object on the main memory is managed by the combination of the volatile object and the handler, the persistent object can follow the association rule of the object-oriented language which is the host language by the volatile object. it can. Since the handler can know the information necessary to operate the persistent object, it is possible to improve the reference efficiency of the reference to the persistent object in the main memory.

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

【図1】この発明に係るオブジェクト管理方法を適用し
たオブジェクト指向データベースシステムの第1の実施
例を示す機能ブロック図。
FIG. 1 is a functional block diagram showing a first embodiment of an object-oriented database system to which an object management method according to the present invention is applied.

【図2】図1に示したシステムを実現するためのハード
ウェア構成を示すブロック図。
2 is a block diagram showing a hardware configuration for implementing the system shown in FIG.

【図3】第1の実施例におけるオブジェクト指向データ
ベース管理システムで管理するデータの論理的なデータ
構造を示す図。
FIG. 3 is a diagram showing a logical data structure of data managed by the object-oriented database management system in the first embodiment.

【図4】第1の実施例におけるオブジェクトテーブルの
2次記憶装置上でのデータ構造を示す図。
FIG. 4 is a diagram showing a data structure of an object table on a secondary storage device in the first embodiment.

【図5】第1の実施例におけるオブジェクトテーブルの
主記憶装置上でのデータ構造を示す図。
FIG. 5 is a diagram showing a data structure of an object table in a main storage device according to the first embodiment.

【図6】第1の実施例におけるオブジェクト指向データ
ベース管理システムによる永続オブジェクトのアクセス
処理の動作を示すフローチャート。
FIG. 6 is a flowchart showing an operation of a persistent object access process by the object-oriented database management system in the first embodiment.

【図7】第1の実施例におけるデータベースファイル間
に跨がって永続オブジェクトの参照が行われる場合の、
そのデータの論理的なデータ構造を示す図。
FIG. 7 shows a case where a persistent object is referenced across database files in the first embodiment.
The figure which shows the logical data structure of the data.

【図8】図7に示したデータ構造における永続オブジェ
クト間の参照を実現するためのデータ構造を示す図。
8 is a diagram showing a data structure for realizing a reference between persistent objects in the data structure shown in FIG. 7. FIG.

【図9】第1の実施例におけるオブジェクト指向データ
ベース管理システムによるデータベースファイル間に跨
がって永続オブジェクトの参照が行われる場合のその参
照処理の動作を示すフローチャート。
FIG. 9 is a flowchart showing the operation of reference processing when a persistent object is referenced across database files by the object-oriented database management system in the first embodiment.

【図10】この発明に係るオブジェクト管理方法を適用
したオブジェクト指向データベースシステムの第2の実
施例を示す機能ブロック図。
FIG. 10 is a functional block diagram showing a second embodiment of an object-oriented database system to which the object management method according to the present invention is applied.

【図11】第2の実施例における永続オブジェクトの主
記憶装置上での表現形式と2次記憶装置上での表現形式
を説明するための図。
FIG. 11 is a diagram for explaining an expression format on a main storage device and an expression format on a secondary storage device of a persistent object in the second embodiment.

【図12】第2の実施例におけるトランザクションモジ
ュールにおいて永続オブジェクトにロックを掛ける操作
の処理手順を示すフローチャート。
FIG. 12 is a flowchart showing a processing procedure of an operation for locking a persistent object in the transaction module according to the second embodiment.

【図13】第2の実施例におけるトランザクション間に
跨がってキャッシュされた永続オブジェクトを操作する
場合の手順を説明するための図。
FIG. 13 is a diagram for explaining a procedure for operating a persistent object cached across transactions in the second embodiment.

【図14】この発明に係るオブジェクト管理方法の第3
の実施例における永続オブジェクトの主記憶装置上での
表現形式を説明するための図。
FIG. 14 is a third object management method according to the present invention.
For explaining the representation format on the main memory of the persistent object in the embodiment of FIG.

【図15】第3の実施例における永続オブジェクトから
他の永続オブジェクトへの参照を説明するための図。
FIG. 15 is a diagram for explaining a reference from a persistent object to another persistent object in the third embodiment.

【図16】第3の実施例における永続オブジェクトを削
除するに際の主記憶装置上の領域解放の処理手順を示す
フローチャート。
FIG. 16 is a flowchart showing a processing procedure for releasing an area on the main memory when deleting a persistent object in the third embodiment.

【図17】第3の実施例における永続オブジェクトから
他の永続オブジェクトへの参照を説明するための具体例
を示す図。
FIG. 17 is a diagram showing a specific example for explaining a reference from a persistent object to another persistent object in the third embodiment.

【符号の説明】[Explanation of symbols]

10、1010…オブジェクト指向データベース管理シ
ステム、11…オブジェクトテーブル管理モジュール、
12、1011…永続オブジェクト管理モジュール、2
0、1020…2次記憶手段、21、30…オブジェク
トテーブル、22…永続オブジェクト群、30、103
0…主記憶手段、32…永続オブジェクト、210…主
記憶装置、220…2次記憶装置、230…データプロ
セッサ、240…ディスプレイ装置、1012…トラン
ザクションモジュール、1410…ハンドラ、1420
…揮発オブジェクト。
10, 1010 ... Object-oriented database management system, 11 ... Object table management module,
12, 1011 ... Persistent object management module, 2
0, 1020 ... Secondary storage means, 21, 30 ... Object table, 22 ... Persistent object group, 30, 103
0 ... Main storage means, 32 ... Persistent object, 210 ... Main storage device, 220 ... Secondary storage device, 230 ... Data processor, 240 ... Display device, 1012 ... Transaction module, 1410 ... Handler, 1420
… Volatile objects.

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】2次記憶領域に記憶されている情報として
の永続オブジェクトを主記憶領域に読み込むオブジェク
ト指向データベースシステムにおいて、 前記2次記憶領域に、前記永続オブジェクトの識別子と
前記永続オブジェクトの2次記憶領域上の位置情報を対
応させた第1のテーブルを記憶し、 前記主記憶領域に、前記識別子及び2次記憶領域上の位
置情報と、前記永続オブジェクトの主記憶領域上の位置
情報とを対応させた第2のテーブルを記憶し、 前記第1及び第2のテーブルにより前記永続オブジェク
トを管理することを特徴とするオブジェクト指向データ
ベースシステムにおけるオブジェクト管理方法。
1. An object-oriented database system for reading a persistent object as information stored in a secondary storage area into a main storage area, wherein an identifier of the persistent object and a secondary of the persistent object are stored in the secondary storage area. A first table in which the position information on the storage area is associated is stored, and the main storage area stores the position information on the identifier and the secondary storage area and the position information on the main storage area of the persistent object. An object management method in an object-oriented database system, which stores a corresponding second table, and manages the persistent object by the first and second tables.
【請求項2】前記第2のテーブルを参照して、前記識別
子から前記主記憶領域上の位置情報が得られる場合は、
その位置情報に基づいて永続オブジェクトをアクセス
し、 前記第2のテーブルを参照して、前記識別子から前記主
記憶領域上の位置情報が得られない場合は、引続き第2
のテーブルを参照して前記識別子から前記2次記憶領域
上の位置情報を得て、この位置情報に基づいて前記2次
記憶領域から永続オブジェクトを前記主記憶領域に読み
込むと共に、該読み込んだ永続オブジェクトの主記憶領
域上の位置情報を前記第2のテーブルに登録することを
特徴とする請求項1記載のオブジェクト指向データベー
スシステムにおけるオブジェクト管理方法。
2. When the position information on the main storage area is obtained from the identifier by referring to the second table,
The persistent object is accessed based on the position information, the second table is referred to, and if the position information on the main storage area cannot be obtained from the identifier, the second object continues.
Position information on the secondary storage area is obtained from the identifier by referring to the table of FIG. 1, the persistent object is read from the secondary storage area to the main storage area based on the positional information, and the read persistent object is read. 2. The object management method in the object-oriented database system according to claim 1, wherein the position information on the main storage area of is registered in the second table.
【請求項3】2次記憶領域に記憶されている情報として
の永続オブジェクトを主記憶領域に読込むオブジェクト
指向データベースシステムにおいて、 前記主記憶領域上にキャッシュされた前記永続オブジェ
クトをロックする際に、その永続オブジェクトのキャッ
シュが有効か否かを判断し、この判断結果に応じたデー
タ処理を行うことを特徴とするオブジェクト指向データ
ベースシステムにおけるオブジェクト管理方法。
3. An object-oriented database system for reading a persistent object as information stored in a secondary storage area into a main storage area, when locking the persistent object cached in the main storage area, An object management method in an object-oriented database system, comprising: determining whether the cache of the persistent object is valid and performing data processing according to the determination result.
【請求項4】前記永続オブジェクトのキャッシュが、有
効の場合はロックの処理を継続し、また無効の場合は所
望の永続オブシェクトを前記2次記憶領域から主記憶領
域に読み込み直し、その永続オブシェクトのキャッシュ
を有効とした後、ロックを継続することを特徴とする請
求項3記載のオブジェクト指向データベースシステムに
おけるオブジェクト管理方法。
4. When the cache of the persistent object is valid, the lock processing is continued, and when it is invalid, a desired persistent object is reloaded from the secondary storage area to the main storage area, and the persistent object is stored. 4. The object management method in an object-oriented database system according to claim 3, wherein the lock is continued after the cache is validated.
【請求項5】2次記憶領域に記憶されている情報として
の永続オブジェクトを主記憶領域に読込むオブジェクト
指向データベースシステムにおいて、 前記2次記憶領域から前記主記憶領域上に読み出した前
記永続オブジェクトについて、 前記主記憶領域上の位置情報を含む揮発オブジェクト
と、前記永続オブジェクトについての各種情報を持つハ
ンドラとの組みで管理することを特徴とするオブジェク
ト指向データベースシステムにおけるオブジェクト管理
方法。
5. An object-oriented database system for reading a persistent object as information stored in a secondary storage area into a main storage area, wherein the persistent object is read from the secondary storage area onto the main storage area. An object management method in an object-oriented database system, characterized in that management is performed by a set of a volatile object including position information on the main storage area and a handler having various information about the persistent object.
JP02698692A 1992-02-13 1992-02-13 Object-oriented database and search method Expired - Fee Related JP3475429B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02698692A JP3475429B2 (en) 1992-02-13 1992-02-13 Object-oriented database and search method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02698692A JP3475429B2 (en) 1992-02-13 1992-02-13 Object-oriented database and search method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003038228A Division JP3797336B2 (en) 2003-02-17 2003-02-17 Object-oriented database system and object management method thereof

Publications (2)

Publication Number Publication Date
JPH05225034A true JPH05225034A (en) 1993-09-03
JP3475429B2 JP3475429B2 (en) 2003-12-08

Family

ID=12208491

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02698692A Expired - Fee Related JP3475429B2 (en) 1992-02-13 1992-02-13 Object-oriented database and search method

Country Status (1)

Country Link
JP (1) JP3475429B2 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09106368A (en) * 1995-10-12 1997-04-22 Hitachi Ltd Database management system
WO1997029421A1 (en) * 1996-02-05 1997-08-14 Athena Telecom Lab, Inc. Method and apparatus for object management
JPH1069425A (en) * 1996-03-20 1998-03-10 Internatl Business Mach Corp <Ibm> Method for accessing permanent object and method for exchanging metastate data
US5799185A (en) * 1995-04-10 1998-08-25 Fuji Xerox Co., Ltd. Method and system for managing system memory reclamation
JPH10240768A (en) * 1997-02-21 1998-09-11 Nec Corp Method for retrieving data base system constituted of different program language
JPH10240589A (en) * 1997-02-21 1998-09-11 Hitachi Ltd Database processing method for delayed retrieval of actual data
US5829022A (en) * 1995-08-29 1998-10-27 Fuji Xerox Co., Ltd. Method and apparatus for managing coherency in object and page caches
US5963937A (en) * 1995-08-30 1999-10-05 Fuji Xerox Co., Ltd. Format conversion of storage data using an efficient division of data
JP2001147826A (en) * 1999-08-13 2001-05-29 Sun Microsyst Inc Apparatus and method for loading objects from hash index in primary memory
KR100446183B1 (en) * 1999-08-31 2004-08-30 오분인사쯔 가부시키가이샤 Database System

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5799185A (en) * 1995-04-10 1998-08-25 Fuji Xerox Co., Ltd. Method and system for managing system memory reclamation
US5829022A (en) * 1995-08-29 1998-10-27 Fuji Xerox Co., Ltd. Method and apparatus for managing coherency in object and page caches
US5963937A (en) * 1995-08-30 1999-10-05 Fuji Xerox Co., Ltd. Format conversion of storage data using an efficient division of data
JPH09106368A (en) * 1995-10-12 1997-04-22 Hitachi Ltd Database management system
WO1997029421A1 (en) * 1996-02-05 1997-08-14 Athena Telecom Lab, Inc. Method and apparatus for object management
JPH1069425A (en) * 1996-03-20 1998-03-10 Internatl Business Mach Corp <Ibm> Method for accessing permanent object and method for exchanging metastate data
JPH10240768A (en) * 1997-02-21 1998-09-11 Nec Corp Method for retrieving data base system constituted of different program language
JPH10240589A (en) * 1997-02-21 1998-09-11 Hitachi Ltd Database processing method for delayed retrieval of actual data
JP2001147826A (en) * 1999-08-13 2001-05-29 Sun Microsyst Inc Apparatus and method for loading objects from hash index in primary memory
KR100446183B1 (en) * 1999-08-31 2004-08-30 오분인사쯔 가부시키가이샤 Database System

Also Published As

Publication number Publication date
JP3475429B2 (en) 2003-12-08

Similar Documents

Publication Publication Date Title
US6128771A (en) System and method for automatically modifying database access methods to insert database object handling instructions
US9256607B2 (en) Efficient file access in a large repository using a two-level cache
JP2964926B2 (en) Database management apparatus and method
US7260578B2 (en) Database-file link system and method therefor
US5706506A (en) Method and apparatus for managing relational data in an object cache
US6502103B1 (en) Providing composed containers and data objects to support multiple resources
US6823514B1 (en) Method and system for caching across multiple contexts
US6560609B1 (en) Delegating instance management functions to underlying resource managers
US6553384B1 (en) Transactional name service
US6594671B1 (en) Separating privileged functions from non-privileged functions in a server instance
US7421458B1 (en) Querying, versioning, and dynamic deployment of database objects
US7627574B2 (en) Infrastructure for performing file operations by a database server
US5890153A (en) Database lock control method
US20060167999A1 (en) Ensuring a given transactional unit of work arrives at an appropriate server instance
US6505210B1 (en) Federation of naming contexts across multiple and/or diverse underlying directory technologies
JP3475429B2 (en) Object-oriented database and search method
Vaughan et al. Casper: a cached architecture supporting persistence
US8180745B2 (en) Persistent object references to parallel database containers
JP3797336B2 (en) Object-oriented database system and object management method thereof
US7716260B2 (en) Techniques for transaction semantics for a database server performing file operations
JP2004341926A (en) Database management system and database management program
US7860848B2 (en) Partial sub-lock for delta object management
JP2000148552A (en) Database-file coordination method, its implementation system, and medium recording its processing program
Kalita et al. DurableFS: a file system for NVRAM
JP5511134B2 (en) Object cache construction method, object cache construction program

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070926

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080926

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090926

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100926

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110926

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees