JP2001159992A - 版オブジェクト管理システム - Google Patents

版オブジェクト管理システム

Info

Publication number
JP2001159992A
JP2001159992A JP34395899A JP34395899A JP2001159992A JP 2001159992 A JP2001159992 A JP 2001159992A JP 34395899 A JP34395899 A JP 34395899A JP 34395899 A JP34395899 A JP 34395899A JP 2001159992 A JP2001159992 A JP 2001159992A
Authority
JP
Japan
Prior art keywords
version
level
index
version object
pointer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP34395899A
Other languages
English (en)
Inventor
Kazuyuki Shimazu
和行 嶋津
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP34395899A priority Critical patent/JP2001159992A/ja
Publication of JP2001159992A publication Critical patent/JP2001159992A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】データベースシステムにおいて、複数に分岐可
能な版オブジェクトの検索を高速に行う。 【解決手段】版オブジェクト生成手段11は元のオブジ
ェクトとレベル番号を指定することにより任意のレベル
に版オブジェクトを生成し、版オブジェクトの持つイン
デックスが付加されたメンバ変数の値が変更された場合
に、インデックス生成手段12がインデックスエントリ
を生成する。検索時には、インデックス検索手段13を
利用して、インデックスキー値に従って目的の版オブジ
ェクトを検索し、そのオブジェクトを元に版オブジェク
トナビゲート手段14が上位、下位、同一レベルの版オ
ブジェクトの検索を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、版管理されたオブ
ジェクトを生成および検索する版オブジェクト管理シス
テムに関する。
【0002】
【従来の技術】従来、データベース技術は、磁気ディス
クなどの大容量の記憶装置上で、記録媒体上の種々のア
プケーションが利用するデータを一元管理し、データの
重複管理を防ぐと共に、目的の情報への高速な検索手段
や、複数のアプリケーションからの同時実行による不正
な二重更新を防ぐために共有排他制御機能や、アプリケ
ーションの異常終了による不完全な更新および磁気ディ
スクの障害からデータを復旧・回復するための障害復旧
機能などを有している。たとえば、バンキングシステム
では、口座毎に口座番号、残高などの情報をレコードと
して管理する。入金、払い出しなどの操作に対して、口
座番号を指定してレコードを検索する。
【0003】レコードを高速に検索する手段としてレコ
ード内のある属性、たとえば、口座番号をキー値とする
インデックスを作成し、アプリケーションがキー値とし
て口座番号を指定することによって、該当するレコード
を検索することができる。該当するレコードが検索でき
たら残高を読み出し、入金なら残高に入金を加算しレコ
ードに書き戻す。払い出しの場合は、残高から払い出し
金額を減額しレコードに書き戻す。このとき、口座番号
を特定しレコードを読み出し書き戻すまでの間に該当の
レコードにロックを実行し、他のアプリケーションから
参照、あるいは更新を禁止する。また、更新途中に何ら
かの原因でアプリケーションが異常終了した場合には、
その更新を無効にするなどの回復処理をデータべースシ
ステムが行う。このように、データベース技術は、コン
ピュータシステムのインフラ基盤として広く利用されて
いる。
【0004】さらに、実世界の実体をオブジェクトとし
て捉えて、共通の性質を持つオブジェクトをクラスとし
て定義して管理するオブジェクト指向データベースシス
テムは、複雑なモデリングが可能であり、設計図、仕様
書など文字・数値以外のデータの管理が容易である。オ
ブジェクト指向データベースは、設計図、仕様書など作
成過程の任意の時点でのデータを管理できる機能とし
て、オブジェクトの版管理機能を有している。任意の時
点でオブジェクトを版化することによって、1つのオブ
ジェクトに対して複数の版を作成することができ、デー
タベースの管理能力を上げることができる。たとえば、
ある製品を開発し販売した後、原価低減、あるいは、原
料の購入の問題等により、設計を一部変更し生産を継続
したと仮定した場合、一つの同じ製品でも異なるスペッ
クになることがある。顧客から製品の修理を依頼された
場合、速やかにその製品の設計図が取り出す必要がある
が、これを版オブジェクトとして管理しておくことによ
り、管理が容易になる。
【0005】オブジェクトデータベースシステムの版オ
ブジェクト管理の一例が、特開平5−265838号公
報に記載されている。この従来のオブジェクト指向デー
タベースおよびそのバージョン管理方式は、オブジェク
トのバージョン管理情報を保持するメタバージョン管理
手段と、オブジェクト毎にメタバージョンへのポインタ
を所持する手段と、メタバージョン上で代表バージョン
へのポインタを管理する手段などから構成されている。
【0006】このような従来のオブジェクト指向データ
ベースおよびそのバージョン管理方式の目的は、オブジ
ェクト指向データベースシステムにおいて、メモリの浪
費ならびに、ユーザ手続きの実行効率の低下が少ないデ
ータベースシステム、およびバージョン管理方式の提供
を目的としている。そのために、メタバージョンへのポ
インタを格納する属性をオブジェクトのメンバ変数と
し、このメンバ変数に対する操作をメソッドとして提供
することによって利用者から隠蔽している。一方メタバ
ージョンからバージョンを代表するバージョンへのポイ
ンタを所持して、そのバージョンが管理する変数の値を
元のオブジェクトに書き込む手段を提供している。他の
バージョンへは、代表するバージョンから順次ポインタ
を張っている。
【0007】しかしながら、このような従来のオブジェ
クト指向データベースおよびそのバージョン管理方式
は、版オブジェクトの管理方法に特化した発明であり、
版化されたオブジェクトを高速に検索する手段を有して
いない。オブジェクトは版毎にオブジェクトが持つ属性
を変更が加わっている可能性があり、目的の版管理され
たオブジェクトを高速に検索する手段を有していないこ
とは大きな問題である。
【0008】一方、版管理されたオブジェクトを高速に
検索するシステムの一例が、特開平5−342264号
公報に記載されている。この従来のインデックス付けお
よび検索のための方法および装置は、複数の情報オブジ
ェクトの各々と、複数のインデックスエントリの各々の
最新バージョンをデータベースに保持する手段と、更新
された複数のインデックスエントリの各々の旧バージョ
ンを表示する更新の符号化表示としてのデータベース内
に保持する手段と、インデックスエントリの状態を計算
する手段などから構成されている。
【0009】この従来のインデックス付けおよび検索の
ための方法および装置は、データベース中のオブジェク
トは第一識別子と第二識別子の2つのタグを有してい
る。オブジェクトを修正しようとした場合、更新前のオ
ブジェクトを旧版オブジェクトとして残し、更新後のイ
メージのオブジェクトを新規に作成する。このときに、
オブジェクトが持つ第一識別子はすべて同一の値を持
ち、お互いが同じオブジェクトから版管理されたオブジ
ェクトであることが判る。第二識別子は識別子発生機能
によって、昇順にナンバリングされた値を持つ。インデ
ックスは、版オブジェクト毎にインデックスのエントリ
を生成する。
【0010】このような従来のインデックス付けおよび
検索のための方法および装置は、図11に示すように、
版管理されたオブジェクトが時系列で一本の線になるこ
とを想定しており、図12に示すように版管理されたオ
ブジェクトが枝分かれして複数の線上になった場合の対
応ができない。設計書、仕様書のようなオブジェクトを
版管理する場合、オブジェクトは枝分かれをした版を所
持するのが一般的である。
【0011】
【発明が解決しようとする課題】しかしながら、このよ
うな従来のデータベースシステムにおけるオブジェクト
の版管理では、版オブジェクトが時系列上で更新が入る
度に新しい版オブジェクトを生成するようにシステムで
制約をつけているため、枝分かれした版オブジェクトの
高速検索に対応できないという課題があった。また、版
オブジェクトに対して1対1でインデックスエントリを
作成しているため、版オブジェクトのインデックスが大
きくなるという課題があった。
【0012】本発明は前記課題を解決するものであり、
データベースシステムにおけるオブジェクトの版管理に
おいて、枝分かれして管理されている版オブジェクトを
高速に検索し、インデックスの容量を必要以上に大きく
しない版オブジェクト検索システムを提供することを目
的とする。
【0013】
【課題を解決するための手段】前記目的達成のために、
請求項1の発明にかかる版オブジェクト管理システム
は、複数に分岐可能な版オブジェクトの生成が可能であ
って、オブジェクト管理部内で管理されている元のオブ
ジェクトとレベル番号を指定することにより任意のレベ
ルに版オブジェクトを生成する版オブジェクト生成手段
と、版オブジェクトの持つインデックスが付加されたメ
ンバ変数の値が変更された場合にのみインデックスエン
トリを生成するインデックス生成手段と、インデックス
キー値に従って目的の版オブジェクトを検索するインデ
ックス検索手段とを設けて、版オブジェクトナビゲート
手段に、元のオブジェクトの上位レベル、下位レベル、
同一レベルの版オブジェクトの検索を行わせるようにし
たものである。
【0014】また、請求項2の発明にかかる版オブジェ
クト管理システムは、前記版オブジェクト生成手段で、
入力装置から版オブジェクトの生成の指定を受けたオブ
ジェクトの版番号を取り出すとともに、指示されたレベ
ル番号が正しいか否かを判定し、前記指示されたレベル
が正しい場合に、指定されたレベルの最終オブジェクト
を読み出し、生成する版オブジェクトの版番号を決定し
て新しい版オブジェクトを生成し、直前の版オブジェク
トに、新たに作成した版オブジェクトへのポインタを設
定し、その版オブジェクトに、下位レベルの先頭の版オ
ブジェクトへのポインタ、同一レベルへの版オブジェク
トへのポインタ、および上位レベルのオブジェクトへの
ポインタをそれぞれ設定し、インデックスキーが指定さ
れているメンバ変数に対して、前記元のオブジェクトか
ら更新が入ったか否かを判定するようにしたものであ
る。
【0015】また、請求項3の発明にかかる版オブジェ
クト管理システムは、前記インデックス生成手段で、イ
ンデックスエントリを生成し、インデックスのツリー上
を新たに生成したインデックスエントリのキー値で検索
し、登録場所を決定して、そのインデックスエントリを
インデックス部に登録するようにしたものである。
【0016】また、請求項4の発明にかかる版オブジェ
クト管理システムは、前記インデックス検索手段で、入
力装置から指示されたインデックスキー値にもとづいて
インデックスツリーを上位から順にサーチし、該当する
インデックスエントリを検索し、インデックスエントリ
からポインタ値を参照し、オブジェクトを検索するよう
にしたものである。
【0017】また、請求項5の発明にかかる版オブジェ
クト管理システムは、前記版オブジェクトナビゲート手
段で、前記上位レベルのオブジェクトが要求されて、こ
の上位レベルのオブジェクトが存在する場合にはその上
位レベルのオブジェクトを検索し、前記同一レベルが要
求されて同一レベルのオブジェクトが他に存在する場合
にはその同一レベルのオブジェクトを検索し、前記下位
レベルのオブジェクトが要求されて、この下位レベルの
オブジェクトが存在する場合にはその下位レベルのオブ
ジェクトを検索し、上位レベル、同一レベル、下位レベ
ルの各オブジェクトがそれぞれ存在しない場合には、エ
ラーとしてオブジェクトのナビゲーションを終了するよ
うにしたものである。
【0018】また、請求項6の発明にかかる版オブジェ
クト管理システムは、前記元のオブジェクトを、前記指
定されたレベルの最終オブジェクト、またはその指定さ
れたレベルにオブジェクトがない場合における入力装置
から版オブジェクトの生成を指示した上位のオブジェク
トとしたものである。
【0019】また、請求項7の発明にかかる版オブジェ
クト管理システムは、前記オブジェクトを、同一性質を
持ったオブジェクトをクラスとして管理され、このクラ
スをメンバ変数とこのメンバ変数を操作するメンバ関数
の集合体として、クラス定義で該当するメンバ変数に対
するインデックスキーによる指定を可能にしたものであ
る。
【0020】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。図1は本発明の版オ
ブジェクト管理システムを示し、これが入力装置1と、
プログラム制御により動作するデータ処理装置2と記憶
装置3と出力装置4から構成されている。これらのう
ち、データ処理装置2は、版オブジェクト生成手段11
と、インデックス生成手段12と、インデックス検索手
段13と、版オブジェクトナビゲート手段14とを含
む。また、記憶装置3は、インデックス部5とオブジェ
クト管理部6とを含む。このオブジェクト管理部6は、
共通の属性を持つオブジェクトをクラスとして管理す
る。管理対象は、版管理されていないオブジェクト、お
よび版管理されているオブジェクト(以降、版オブジェ
クトと呼ぶ)の両方である。クラスはオブジェクト共通
の属性をメンバ変数として所持しており、複数のメンバ
変数の値のセットが一つのオブジェクトを示す。
【0021】また、インデックス部5は、クラスの持つ
特定の属性に対してインデックスが指定された場合に生
成されるインデックス情報を管理する。インデックス情
報は各々のオブジェクトが持つ特定の属性の値をキー値
として所持し、さらに、オブジェクトを一意にポイント
する識別子、たとえば、オブジェクト識別子(以降、O
IDと呼ぶ)を所持する。このキー値とポインタ値のセ
ットをインデックス・エントリと呼ぶ。インデックス・
エントリはキー値によって昇順に管理されており、バイ
ナリーサーチなどの手段を利用することによって、キー
値に一致するインデックス・エントリを高速に特定で
き、インデックス・エントリの持つOIDによって目的
のオブジェクトを検索することが可能である。
【0022】さらに、前記版オブジェクト生成手段11
は、特定のオブジェクト、もしくは版オブジェクトから
新しい版オブジェクトを生成する。このとき、版オブジ
ェクトに対して、版のバージョンを付加する。インデッ
クス生成手段12は、版オブジェクト生成手段11によ
って生成されたオブジェクトのインデックスキー値に指
定している属性に変更が生じた場合のみ、インデックス
・エントリを生成し、インデックス部5に登録する。イ
ンデックス検索手段13は、入力装置1を通して指示さ
れたインデックスキー値を持つ版オブジェクトを検索す
る。版オブジェクトナビゲート手段14は、版ツリー上
に管理されるオブジェクトを入力装置1を通して指示さ
れた方法で検索する。版オブジェクトナビゲート手段1
4はツリー上に並ぶ版オブジェクトを入力装置1を通じ
て指定された方法で、版オブジェクトを検索する。
【0023】次に、図1のブロック図および図2のフロ
ーチャートを参照して、全体の動作について詳細に説明
する。まず、版オブジェクトの生成について、図2のフ
ローチャートを参照して説明する。入力装置1から版オ
ブジェクトの生成の指定を受けたオブジェクトの版番号
を取り出す(ステップA1)。次に、入力装置1から指
示されたレベル番号が正しいか判定する(ステップA
2)。レベル番号は生成する版オブジェクトの作成レベ
ルを指定する。既定値は0である。指定が可能な範囲外
の値、または、負の数字を指定するとエラーになる。エ
ラーが発生するとエラーを設定し終了する(ステップA
3)。指示されたレベル番号が正しい場合には、指定さ
れたレベルの最終のオブジェクトを読み出す(ステップ
A4)。生成する版オブジェクトの版番号を決定し(ス
テップA5)、新しい版オブジェクトを生成する(ステ
ップA6)。直前の版オブジェクトに、新たに作成した
版オブジェクトへのポインタを設定する(ステップA
7)。
【0024】新しく生成した版オブジェクトに、下位レ
ベルの先頭の版オブジェクトへのポインタ、同一レベル
への版オブジェクトへのポインタ、および上位レベルの
オブジェクトへのポインタを設定する(ステップA
8)。インデックスキーが指定されているメンバ変数に
対して、元のオブジェクトから更新が入ったかチェック
を行う(ステップA9)。元のオブジェクトとは、入力
装置1から版オブジェクトの生成の指示を受けた版オブ
ジェクトではなく、図2のステップA4で求めた指定さ
れたレベルの最終オブジェクトである。ただし、そのレ
ベルにオブジェクトが存在しない場合は、上位のオブジ
ェクト(入力装置1から版オブジェクトの生成を指示し
たオブジェクト)が対象になる。属性の変更がなかった
場合、版管理の生成は終了する。属性の変更があった場
合、その変更のあったメンバ変数毎にインデックス生成
手段12に制御を渡す(ステップA10)。インデック
ス生成手段12は、図3に示すように、インデックスエ
ントリを生成する(ステップA11)。インデックスの
ツリー上を新たに生成したインデックスエントリのキー
値でサーチし、登録場所を決定して(ステップA1
2)、インデックスエントリを登録する(ステップA1
3)。
【0025】次に、版オブジェクトの検索について図4
のフローチャートを参照して説明する。入力装置1から
指示されたインデックスキー値で、インデックスツリー
をサーチし、該当するインデックスエントリを検索する
(ステップB1)。インデックスエントリからポインタ
ー値を参照し、オブジェクトを返却する(ステップB
2)。続いて、版オブジェクトナビゲート手段14は、
図5に示すように、入力装置1から、元になるオブジェ
クトと、ナビゲーションの方向、つまり、上位レベル、
同一レベル、下位レベルが指示(要求)される。まず、
要求内容を確認する(ステップB3)。上位レベルを要
求された場合、上位レベルが存在するかチェックする
(ステップB4)。上位レベルが存在しない場合は、エ
ラーになり終了する(ステップB5)。上位レベルが存
在する場合は、上位レベルのオブジェクトを返却する
(ステップB6)。
【0026】一方、同一レベルを要求された場合、同一
レベルのオブジェクトがまだほかに存在するかチェック
する(ステップB7)。同一レベルのオブジェクトがほ
かに存在しない場合は、エラーになり終了する(ステッ
プB8)。同一レベルが存在する場合、同一レベルのオ
ブジェクトを返却する(ステップB9)。下位レベルを
要求された場合、下位レベルが存在するかチェックする
(ステップB10)。下位レベルが存在しない場合は、
エラーになり終了する(ステップB11)。下位レベル
が存在する場合、下位レベルのオブジェクトを返却する
(ステップB12)。
【0027】上記のように、本実施の形態では、版オブ
ジェクト生成手段11が元オブジェクトのメンバ変数に
対して、変更があった場合のみにインデックスエントリ
の生成を行うように構成されているため、すべての版オ
ブジェクトに対してインデックスエントリを生成する必
要はなく、版オブジェクトナビゲート手段14を利用し
て対象の版オブジェクトを検索できる。
【0028】次に、具体的な実施例を用いて本実施の形
態の動作を説明する。図6は版オブジェクトの生成状態
を示す説明図、図7はオブジェクトの格納構造を詳細に
示す説明図、図8はインデックスエントリを示す説明
図、図9はインデックスツリーを示す説明図、図10は
版ツリーの中である特定のメンバ変数に対してインデッ
クスの指定がされていた場合のインデックスエントリの
生成状態を示す説明図である。
【0029】版管理対象のオブジェクトは、入力装置1
から版生成を指示することにより、オブジェクトの更新
が可能である。版オブジェクトは、1乃至2以上の整数
の集合である。版オブジェクトが存在しない場合、版番
号は0である。レベル番号は生成する版オブジェクトの
作成レベルを指定する。既定値は0であって、たとえ
ば、図4の版番号2.1.1に対して、レベル番号を指
定しないで版オブジェクトの生成を指示すると、自分自
身のレベルより下の版番号2.1.1.1の版オブジェ
クトを作成する。一方、1以上の整数を指定すると、自
分と同等のレベルの版オブジェクト、もしくは上位の版
オブジェクトを生成する。たとえば版番号2.1.1に
対してレベル番号1を指定すると版番号2.1.n(n
は1より大きい数字)の版オブジェクトを生成する。レ
ベル番号2を指定すると版番号2.n(nは1より大き
い数字)の版オブジェクトを、レベル番号3を指定する
と、版番号n(nは2より大きい数字)を生成する。レ
ベル番号4以上はエラーになる。また、負の数字を指定
するとエラーになる。エラーが発生するとエラーを設定
し終了する。
【0030】指示されたレベル番号が正しい場合、指定
されたレベルの最終のオブジェクトを読み出す。図4に
示すように、版オブジェクトは同一レベルの次の版オブ
ジェクトへのポインタ42と、直下の下位レベルにある
先頭の版オブジェクトへのポインタ41、および上位レ
ベルの版オブジェクトへのポインタ43を所持してい
る。この3つのポインタは該当する版オブジェクトが存
在しない場合は値がNULLになっている。これらの3
つのポインタを利用して、指示されたレベル番号の最終
オブジェクトを読み出す。たとえば、版番号2.1.1
に対してレベル番号0を指定すると、下位レベルへのポ
インタ41はNULLであり、下位レベルのオブジェク
トが存在しないので、生成を行う対象の版オブジェクト
の版番号は2.1.1.1になる。版番号2.1.1に
対してレベル番号1を指定すると、同一レベルの次の版
オブジェクトへのポインタ42を利用して版番号2.
1.2の版オブジェクトを読む。
【0031】続いて、版番号2.1.2のポインタ42
を利用して、次の同一レベルのオブジェクトを読み出そ
うとするが、ポインタ42はNULLであるため、生成
対象の版オブジェクトの版番号は2.1.3になる。レ
ベル番号2を指定すると、上位レベルの版オブジェクト
へのポインタ43を利用して、版番号2.1の版オブジ
ェクトを読む。次に、版番号2.1の版オブジェクトの
ポインタ42を利用して版番号2.2の版オブジェクト
を読む。版番号2.2の版オブジェクトは同一レベルの
次のオブジェクトを持たないため、生成対象の版オブジ
ェクトの版番号は2.3になる。レベル番号3を指定す
ると、上位レベルの版オブジェクトへのポインタ43を
利用して、版番号2.1の版オブジェクトを読む。さら
に、版番号2.1の版オブジェクトのポインタ43を利
用して版番号2の版オブジェクトを読む。版番号2の版
オブジェクトのポインタ41を利用し版番号3のオブジ
ェクトを読み、同様に版4のオブジェクトを読む。版4
のオブジェクトには同一レベルのオブジェクトが存在し
ないので、生成対象の版オブジェクトの版番号は5にな
る。
【0032】版オブジェクトを生成後、直前の版オブジ
ェクトに、新たに作成した版オブジェクトへのポインタ
を設定する。版番号2.1.1のオブジェクトにレベル
番号0を指定した場合、版番号2.1.1のオブジェク
トのポインタ41に新規の版オブジェクトへのポインタ
を設定する。版番号2.1.1のオブジェクトにレベル
番号1を指定した場合、版番号2.2のオブジェクトの
ポインタ42に新規の版オブジェクトへのポインタを設
定する。版番号2.1.1のオブジェクトにレベル番号
2を指定した場合、版番号4のオブジェクトのポインタ
42に新規の版オブジェクトへのポインタを設定する。
【0033】新しく生成した版オブジェクトに、ポイン
タ41、ポインタ42、ポインタ43を設定する。ポイ
ンタ41、およびポインタ42は該当する版オブジェク
トが存在しないため、NULLである。ポインタ43
は、指定されたレベル番号によって動作が異なる。レベ
ル版番号2.1.1のオブジェクトにレベル番号0を指
定した場合、版番号2.1.1のオブジェクトへのポイ
ンタを設定する。版番号2.1.1のオブジェクトにレ
ベル番号1を指定した場合、版番号2.2の版オブジェ
クトのポインタ43の値(つまり版番号2のオブジェク
トへのポインタ)をコピーする。版番号2.1.1のオ
ブジェクトにレベル番号2を指定した場合には、版番号
4の版オブジェクトのポインタ43の値(つまり、NU
LL値)を設定する。
【0034】オブジェクトは、図7に示すように、同一
の性質を持ったオブジェクトをクラスとして管理し、ク
ラスはメンバ変数とそのメンバ変数を操作するメンバ関
数の集合体である。メンバ変数に対してインデックスキ
ーによる指定が可能であり、高速の検索を行いたい場
合、利用者はクラス定義で該当するメンバ変数にインデ
ックスキーを指定することが可能である。図7ではメン
バ変数51のみにインデックスキーの指定がある。入力
装置1から版の生成を指示された版オブジェクトで、イ
ンデックスキーが指定されているメンバ変数に対して、
元のオブジェクトから更新が入ったかのチェックを行
う。元のオブジェクトとは、入力装置1から版オブジェ
クトの生成の指示を受けた版オブジェクトではなく、図
2のステップA4で求めた指定されたレベルの最終オブ
ジェクトである。ただし、そのレベルにオブジェクトが
存在しない場合は、上位のオブジェクト(入力装置1か
ら版オブジェクトの生成を指示したオブジェクト)が対
象になる。すなわち版番号2.1.1に対してレベル番
号0を指定した場合は版番号2.1.1の版オブジェク
トが、レベル番号1を指定した場合は版番号2.2の版
オブジェクトが、レベル番号2を指定した場合は版番号
4の版オブジェクトが対象になる。変更がなかった場
合、版管理の生成は終了する。
【0035】インデックス生成手段12は、インデック
スエントリを生成する。インデックスエントリは、図8
に示すように、インデックスキー値61とポインタ値6
2からなる。インデックスキー値61は、版オブジェク
トのインデックスキーの付加を指定したメンバ変数の値
である。図7の例ではメンバ変数51が該当する。ポイ
ンタ値は、インデックスエントリがリーフ、ノードで異
なる。リーフの場合、該当する版オブジェクトへのポイ
ンタである。ノードの場合は下位レベルのインデックス
エントリを管理するブロックへのポインタである。図9
はメンバ変数51に対応するインデックスツリーであ
る。最上位のブロックA1にインデックスエントリ71
とインデックスエントリ72がある。第二のレベルにブ
ロックA2とブロックA3があり、それぞれ、インデッ
クスエントリ73とインデックスエントリ74、インデ
ックスエントリ75とインデックスエントリ76を所持
している。また、最下位のブロックA4〜A7がある。
最下位ブロックA4に格納されているインデックスエン
トリ77、78、79がある。このインデックスエント
リ77、78、79がリーフのインデックスエントリで
あり、それ以外のインデックスエントリはノードであ
る。
【0036】インデックス生成手段12は、最上位のイ
ンデックスエントリの持つインデックスキー値と比較
し、下位レベルのインデックスを格納するブロックを求
める。たとえば、今、キー値101を登録したい場合、
101より大きな直近のインデックスエントリ71を検
索する。インデックスエントリ71が管理する下位レベ
ルのインデックスエントリのキー値の最大値がインデッ
クスエントリ71のキー値61になっているので、ブロ
ックA2に該当するインデックスエントリが存在する可
能性があることが判る。次にブロックA2を検索して、
インデックスエントリをサーチする。その結果、インデ
ックスエントリ73がポイントする下位レベルのブロッ
クA4が候補になる。ブロックA4をサーチすると、イ
ンデックスエントリ77とインデックスエントリ78の
間が求める登録箇所であることが判明し、インデックス
エントリを77とインデックスエントリ78の間に新た
に生成する。生成は物理的に両者のインデックスエント
リの間に入れても良いし、論理的に両者間に格納するよ
うにしても良い。
【0037】次に、インデックス検索手段13の動作に
ついて説明する。インデックス検索手段13は入力装置
1から指示されたインデックスキー値に基づき、検索方
法はインデックス生成手段12と同じようにインデック
スツリーを上位のブロックから順に検索し、最下位レベ
ルのブロックまで検索する。等しいキー値を持つインデ
ックスエントリが存在したら、そのインデックスエント
リのポインタ値を元にオブジェクトを検索する。
【0038】また、版オブジェクトナビゲート手段14
は、入力装置1から指示された検索の元になる版オブジ
ェクトと検索方向とを元に検索する。上位レベルの版オ
ブジェクトへの検索の場合、ポインタ43を利用して上
位の版オブジェクトを検索する。同一レベルの版オブジ
ェクトへの検索の場合、ポインタ42を利用して版オブ
ジェクトを検索する。下位レベルの版オブジェクトへの
検索の場合、ポインタ41を利用して検索する。利用者
は、インデックス検索手段13と版オブジェクトナビゲ
ート手段14を利用することによって、特定の値を持つ
オブジェクトを高速に検索することができる。
【0039】図10は、版ツリーの中である特定のメン
バ変数にインデックスを指定した場合、メンバ変数の値
が更新された場合のインデックスエントリを生成した状
態を示している。四角の中の数字がメンバ変数の値を示
す。四角の右上に三角の印がある版オブジェクトに対し
て、インデックスエントリが生成されている。インデッ
クス生成手段12によって、生成されたインデックスエ
ントリは、インデックスキー値の対象となるメンバ変数
に値が変わった場合、先頭の版オブジェクトがインデッ
クスエントリとして登録されているため、まず、インデ
ックス検索手段13で先頭のインデックスを検索し、版
オブジェクトナビゲート手段14を利用して、下位の版
オブジェクト、および、同一レベルの版オブジェクト、
さらに上位レベルの版オブジェクトと順に検索すること
によって、同一の値を持つ版オブジェクトをすべて検索
することができる。
【0040】
【発明の効果】以上のように、本発明によれば版オブジ
ェクトに対してインデックスキーの指定が可能となるた
め、分岐する版オブジェクトのツリーの中から特定の値
を持つ版オブジェクトを高速に検索でき、また、版オブ
ジェクトツリーの中でインデックスキー値に対応する先
頭の版オブジェクトのみにインデックスエントリを生成
し、さらにその版オブジェクトから同じの値を持つ版オ
ブジェクトへのナビゲーションの手段を提供しているた
め、インデックスの大きさを小さくできるという効果が
得られる。
【図面の簡単な説明】
【図1】 本発明の実施の形態による版オブジェクト管
理システムを示すブロック図である。
【図2】 本発明による版オブジェクトの生成の手順を
示す流れ図である。
【図3】 本発明によるインデックス生成の手順を示す
流れ図である。
【図4】 本発明によるインデックス検索の手順を示す
流れ図である。
【図5】 本発明による版オブジェクトのナビゲーショ
ンの手順を示す流れ図である。
【図6】 本発明による版オブジェクトの生成方法を示
す説明図である。
【図7】 本発明における版オブジェクトの格納構造を
示す説明図である。
【図8】 本発明におけるインデックスエントリを示す
説明図である。
【図9】 本発明におけるインデックスツリーを示す説
明図である。
【図10】 本発明におけるインデックスツリーを示す
説明図である
【図11】 従来の分岐しない版ツリーを示す説明図で
ある。
【図12】 従来の分岐する版ツリーを示す説明図であ
る。
【符号の説明】 1 入力装置 2 データ処理装置 3 記憶装置 4 出力装置 5 インデックス部 6 オブジェクト管理部 11 版オブジェクト生成手段 12 インデックス生成手段 13 インデックス検索手段 14 版オブジェクトナビゲート手段

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 複数に分岐可能な版オブジェクトの生成
    が可能であり、オブジェクト管理部内で管理されている
    元のオブジェクトとレベル番号を指定することにより任
    意のレベルに版オブジェクトを生成する版オブジェクト
    生成手段と、 版オブジェクトの持つインデックスが付加されたメンバ
    変数の値が変更された場合にのみインデックスエントリ
    を生成するインデックス生成手段と、 インデックスキー値に従って目的の版オブジェクトを検
    索するインデックス検索手段と、 元のオブジェクトの上位レベル、下位レベル、同一レベ
    ルの版オブジェクトの検索を行う版オブジェクトナビゲ
    ート手段とを備えたことを特徴とする版オブジェクト管
    理システム。
  2. 【請求項2】 前記版オブジェクト生成手段は、入力装
    置から版オブジェクトの生成の指定を受けたオブジェク
    トの版番号を取り出すとともに、指示されたレベル番号
    が正しいか否かを判定し、前記指示されたレベルが正し
    い場合に、指定されたレベルの最終オブジェクトを読み
    出し、生成する版オブジェクトの版番号を決定して新し
    い版オブジェクトを生成し、直前の版オブジェクトに、
    新たに作成した版オブジェクトへのポインタを設定し、
    その版オブジェクトに、下位レベルの先頭の版オブジェ
    クトへのポインタ、同一レベルへの版オブジェクトへの
    ポインタ、および上位レベルのオブジェクトへのポイン
    タをそれぞれ設定し、インデックスキーが指定されてい
    るメンバ変数に対して、前記元のオブジェクトから更新
    が入ったか否かを判定することを特徴とする請求項1に
    記載の版オブジェクト管理システム。
  3. 【請求項3】 前記インデックス生成手段は、インデッ
    クスエントリを生成し、インデックスのツリー上を新た
    に生成したインデックスエントリのキー値で検索し、登
    録場所を決定して、そのインデックスエントリをインデ
    ックス部に登録することを特徴とする請求項1に記載の
    版オブジェクト管理システム。
  4. 【請求項4】 前記インデックス検索手段は、入力装置
    から指示されたインデックスキー値にもとづいてインデ
    ックスツリーを上位から順にサーチし、該当するインデ
    ックスエントリを検索し、インデックスエントリからポ
    インタ値を参照して、オブジェクトを検索することを特
    徴とする請求項1に記載の版オブジェクト管理システ
    ム。
  5. 【請求項5】 前記版オブジェクトナビゲート手段は、
    前記上位レベルのオブジェクトが要求されて、この上位
    レベルのオブジェクトが存在する場合にその上位レベル
    のオブジェクトを検索し、前記同一レベルが要求されて
    同一レベルのオブジェクトが他に存在する場合にはその
    同一レベルのオブジェクトを検索し、前記下位レベルの
    オブジェクトが要求されて、この下位レベルのオブジェ
    クトが存在する場合にはその下位レベルのオブジェクト
    を検索し、上位レベル、同一レベル、下位レベルの各オ
    ブジェクトがそれぞれ存在しない場合には、エラーとし
    てオブジェクトのナビゲーションを終了することを特徴
    とする請求項1に記載の版オブジェクト管理システム。
  6. 【請求項6】 前記元のオブジェクトが、前記指定され
    たレベルの最終オブジェクト、またはその指定されたレ
    ベルにオブジェクトがない場合における入力装置から版
    オブジェクトの生成を指示した上位のオブジェクトであ
    ることを特徴とする請求項2に記載の版オブジェクト管
    理システム。
  7. 【請求項7】 前記オブジェクトが、同一性質を持った
    オブジェクトをクラスとして管理され、このクラスがメ
    ンバ変数とこのメンバ変数を操作するメンバ関数の集合
    体とされて、クラス定義で該当するメンバ変数に対する
    インデックスキーによる指定を可能にすることを特徴と
    する請求項2に記載の版オブジェクト管理システム。
JP34395899A 1999-12-02 1999-12-02 版オブジェクト管理システム Pending JP2001159992A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34395899A JP2001159992A (ja) 1999-12-02 1999-12-02 版オブジェクト管理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34395899A JP2001159992A (ja) 1999-12-02 1999-12-02 版オブジェクト管理システム

Publications (1)

Publication Number Publication Date
JP2001159992A true JP2001159992A (ja) 2001-06-12

Family

ID=18365561

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34395899A Pending JP2001159992A (ja) 1999-12-02 1999-12-02 版オブジェクト管理システム

Country Status (1)

Country Link
JP (1) JP2001159992A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010267028A (ja) * 2009-05-13 2010-11-25 Brother Ind Ltd 管理装置、管理処理プログラム、ノード装置、ノード処理プログラム、及び有効期限切れレコード判定方法
JP2012123531A (ja) * 2010-12-07 2012-06-28 Hitachi Solutions Ltd リレーショナルデータベースを使用した世代管理におけるストレージ容量削減方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010267028A (ja) * 2009-05-13 2010-11-25 Brother Ind Ltd 管理装置、管理処理プログラム、ノード装置、ノード処理プログラム、及び有効期限切れレコード判定方法
JP2012123531A (ja) * 2010-12-07 2012-06-28 Hitachi Solutions Ltd リレーショナルデータベースを使用した世代管理におけるストレージ容量削減方法

Similar Documents

Publication Publication Date Title
US5555409A (en) Data management systems and methods including creation of composite views of data
US6035303A (en) Object management system for digital libraries
US6915340B2 (en) System and method for deriving future network configuration data from the current and previous network configuration data
US7424480B2 (en) System and method for storing and accessing data in an interlocking trees datastore
CA2434081C (en) Data structures utilizing objects and pointers in the form of a tree structure
US7269593B2 (en) Data processing apparatus and method
JPH04229372A (ja) メモリ空間再使用管理方法及びシステム
CN104067216A (zh) 用于实施可扩展数据存储服务的系统和方法
CN105956166A (zh) 数据库读写方法和读写装置
US20010051954A1 (en) Data updating apparatus that performs quick restoration processing
US6941309B2 (en) Object integrated management system
US6714946B1 (en) Data management system using a plurality of data operating modules
US6453324B1 (en) Method for maintaining a version history of objects in a repository
JPH0358249A (ja) フアイルのアクセス方法
JP2001229060A (ja) ディレクトリ検索システム及び方法、ディレクトリ検索プログラムを記録したコンピュータ読取可能な記録媒体
JP6006740B2 (ja) インデックス管理装置
US5881380A (en) Device and method for data management based on values
US20020019824A1 (en) Method to generically describe and manipulate arbitrary data structures
JP2001159992A (ja) 版オブジェクト管理システム
EP3995972A1 (en) Metadata processing method and apparatus, and computer-readable storage medium
CN112783954B (zh) 数据访问方法、装置及服务器
JP3769775B2 (ja) 分散リンク情報維持方法
JP3105226B2 (ja) データ処理システム
EP4109290B1 (en) A method and apparatus for validation of modifications in a database
JPH11143895A (ja) 情報管理装置及び情報検索方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041102

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050104

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050405