JP2010165184A - 検索装置、検索装置の検索方法及びプログラム - Google Patents

検索装置、検索装置の検索方法及びプログラム Download PDF

Info

Publication number
JP2010165184A
JP2010165184A JP2009007029A JP2009007029A JP2010165184A JP 2010165184 A JP2010165184 A JP 2010165184A JP 2009007029 A JP2009007029 A JP 2009007029A JP 2009007029 A JP2009007029 A JP 2009007029A JP 2010165184 A JP2010165184 A JP 2010165184A
Authority
JP
Japan
Prior art keywords
class
data
code
instance
search
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
JP2009007029A
Other languages
English (en)
Other versions
JP5310014B2 (ja
Inventor
Fumio Machida
文雄 町田
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 JP2009007029A priority Critical patent/JP5310014B2/ja
Publication of JP2010165184A publication Critical patent/JP2010165184A/ja
Application granted granted Critical
Publication of JP5310014B2 publication Critical patent/JP5310014B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】単一の継承構造を持つ情報における検索処理時間を短縮する。
【解決手段】クラス毎にインスタンスデータを格納するインスタンスデータベースと、特定のクラスを継承する全てのクラス及び同一階層のクラスを特定可能なクラス継承コードと、各クラスのインスタンスデータのインスタンスデータベースにおけるアドレスと、を各クラス毎に対応付けるアドレス表を格納するアドレス管理手段と、アドレス表を参照し、検索要求から特定されるクラス継承コードに対応するアドレスを特定するデータ取得範囲特定手段と、インスタンスデータベースからデータ取得範囲特定手段により特定したアドレスよりインスタンスデータを取得して検索結果を生成するデータ検索手段と、を備える。
【選択図】図1

Description

本発明は、子孫クラスを含む情報を高速に検索可能な単一継承構造を持つ情報の検索装置、検索装置の検索方法及びプログラムに関する。
データセンタや企業システムの運用管理においては、システムの構成情報を集めて格納する構成情報管理データベースにより管理者や管理ツールによる運用管理の効率化が期待できるため、構成情報管理データベースの重要性が高まっている。
一方、構成情報管理データベースに格納するデータは、共通の情報モデルにしたがって整理統合する必要があり、システムの障害管理や性能管理では、システムを構成する要素およびその依存関係を正確に把握する必要がある。
構成情報のモデルとして、近年ではオブジェクト指向型情報モデルが利用される。オブジェクト指向型情報モデルの特徴は、継承関係や関連構造を用いることで、情報間の関係を整理統合できる点にある。既存のモデルに基づいて継承を利用して独自の拡張モデルを定義することもできる。
オブジェクト指向型情報モデルの例としては、DMTF(Distributed management Task Force)で標準化が進められているCIM(Common Information Model)がある。CIMは単一の継承構造で定義され、多重継承の構造は持たない。一般的に、システム構成情報のモデルは単一継承構造の情報モデルで十分に表現できる。
オブジェクト指向型情報モデルの情報は継承関係を持つため、構成情報検索の際には継承関係を考慮した処理が必要となる。具体的には、検索対象のクラスが子クラスを持つ場合、その子クラスも検索する必要がある。
例えば、計算機を表すComputerSystemクラスと、仮想計算機を表すクラスとしてComputerSystemを継承したVirtualComputerSystemクラスが定義されているとする。ComputerSystemの全てのインスタンスを要求する検索処理では、その子クラスであるVirtualComputerSystemもComputerSystemの一つであるため、VirtualComputerSystemのインスタンスも結果に含まなければならない。
継承関係を考慮してデータベースを検索する従来の手法として、ユーザが継承関係を把握して問い合わせを行う方法や、継承関係を定義したデータを用意して問い合わせ処理を変換して実行する方法、特定の親クラスの下に子クラスをまとめて格納して検索する手法がある。ユーザが継承関係を把握して問い合わせを行う手法は、ユーザの手間が増え、効率が悪い。
そこで特許文献1では、階層型データベースに対する問い合わせで、データベースの階層構造を参照して検索対象となるクラスを特定し、各クラスに対する問い合わせ文を作成し、全ての問い合わせを実行して結果をまとめる手法を示している。本手法により、親クラスを指定するだけで、全ての子孫クラスに対する問い合わせ文が生成されて子孫クラスの情報を取得できることとなる。
また、特許文献2には、木構造中の個々の要素に行きがけ順で番号を付与し、付与した番号の順に、各要素に注目し、注目する要素からルート要素に至るパスを取得する手法について示されている。
また、特許文献3には、複数列を有するリレーショナルデータベースに対して、データベースの内容の特定の見方(ディメンジョン)を定義し、ディメンジョンの各属性(ディメンジョンメンバ)をデータベースの列にバインドすることで、データベース内の特定のデータ項目または特定の範囲のデータ項目を識別するための索引として振る舞わせ、データベースユーザが特定のデータ項目を求める場合に、対応するディメンジョンを使用して探索する手法について示されている。
特開2004−178014号公報 特開2003−248675号公報 特開2005−018778号公報
特許文献1の手法は、階層構造を参照するための手順と、全ての子クラスに対する問い合わせ文を生成する手順と、全ての子クラスに対して問い合わせを実行する手順とが必要となり、子孫クラスの数が多い場合には特に効率が悪い。また、受け付けた検索式を解釈して問い合わせ文を生成するための機能を設計して実装しなければならない。
また、特許文献2に記載されるように、木構造中の個々の要素に行きがけ順で番号を付与した場合には、行きがけ順で番号が付与されているだけであるために、同一階層の子孫ノードの集合や祖先ノードを特定することが困難である。
また、特許文献3に記載の技術においては、定義したディメンションをそれぞれ格納する必要があるため、子孫ノードが膨大な場合には該格納領域も多く必要となってしまう。
一方、親クラスの下に子孫クラスをまとめて格納することで、継承関係にあるインスタンスデータを検索する方法が考えられる。RDB(リレーショナルデータベース)を利用する場合は、親クラスのテーブルを定義してそのテーブルに子孫クラスも格納する。この手法によれば、親クラスのテーブルに1回アクセスするだけで全ての子孫クラスの情報を取得できるが、親クラスの祖先クラスに対する検索には対応できない。また、子クラスを検索する場合は、親クラスや兄弟クラスを含む集合への問い合わせが必要となるため、効率が悪くなる。
そこで本発明は、上記問題点に鑑みてなされたもので、単一継承構造を有する情報における検索処理時間を短縮することを目的とする。
上記課題を解決するため、本発明における検索装置は、クラス毎にインスタンスデータを格納するインスタンスデータベースと、特定のクラスを継承する全てのクラス及び同一階層のクラスを特定可能なクラス継承コードと、各クラスのインスタンスデータのインスタンスデータベースにおけるアドレスと、を各クラス毎に対応付けるアドレス表を格納するアドレス管理手段と、アドレス表を参照し、検索要求から特定されるクラス継承コードに対応するアドレスを特定するデータ取得範囲特定手段と、インスタンスデータベースからデータ取得範囲特定手段により特定したアドレスよりインスタンスデータを取得して検索結果を生成するデータ検索手段と、を備えることを特徴とする。
また、本発明における検索装置の検索方法は、検索装置の行う検索方法であって、特定のクラスを継承する全てのクラス及び同一階層のクラスを特定可能なクラス継承コードと、クラス毎にインスタンスデータを格納するインスタンスデータベースの各クラスのインスタンスデータのインスタンスデータベースにおけるアドレスと、を各クラス毎に対応付けるアドレス表を参照し、検索要求から特定されるクラス継承コードに対応するアドレスを特定するデータ取得範囲特定ステップと、インスタンスデータベースからデータ取得範囲特定ステップにて特定したアドレスよりインスタンスデータを取得して検索結果を生成するデータ検索ステップと、を備えることを特徴とする。
また、本発明におけるプログラムは、特定のクラスを継承する全てのクラス及び同一階層のクラスを特定可能なクラス継承コードと、クラス毎にインスタンスデータを格納するインスタンスデータベースの各クラスのインスタンスデータの前記インスタンスデータベースにおけるアドレスと、を各クラス毎に対応付けるアドレス表を参照し、検索要求から特定されるクラス継承コードに対応するアドレスを特定するデータ取得範囲特定処理と、インスタンスデータベースからデータ取得範囲特定処理にて特定したアドレスよりインスタンスデータを取得して検索結果を生成するデータ検索処理と、をコンピュータに実行させる。
本発明により、単一継承構造を有する情報における検索処理時間を短縮することが可能となる。
本発明の第1の実施形態における機能ブロック図である。 第1の実施形態におけるクラス継承コードの例を示す図である。 第1の実施形態におけるアドレス表の例を示す図である。 第1の実施形態におけるインスタンスデータベースに格納されたデータの例を示す図である。 第1の実施形態におけるインスタンスデータベースへデータを挿入する処理の動作を示す流れ図である。 第1の実施形態におけるインスタンスデータベースからデータを取得する処理の動作を示す流れ図である。 本発明の第2の実施形態における機能ブロック図である。 第2の実施形態におけるクラス継承コードの例を示す図である。 第2の実施形態におけるアドレス表の例を示す図である。 第2の実施形態におけるインスタンスデータベースへのデータ格納の例を示す図である。 第2の実施形態におけるインスタンスデータベースへデータを挿入する処理の動作を示す流れ図である。 第2の実施形態におけるインスタンスデータベースからデータを取得する処理の動作を示す流れ図である。 本発明の第3の実施形態における機能ブロック図である。 第3の実施形態におけるホスト識別コードおよびクラス継承コードの例を示す図である。 第3の実施形態におけるアドレス表の例を示す図である。 第3の実施形態におけるインスタンスデータベースへのデータ格納の例を示す図である。 本発明の実施例の対象とするシステム構成情報のクラス定義とクラス継承コードを示す図である。 本発明の実施例におけるアドレス表の一部を示す図である。 本発明の実施例におけるインスタンスデータベースに格納されたインスタンスデータの一部を示す図である。 本発明の実施例における入力される検索式を示した図である。 本発明の実施例における出力結果を示す図である。
次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。
図1は、本発明の第1の実施形態における検索装置1の機能ブロック図である。検索装置1は、入力手段10と、出力手段11と、データ検索手段12と、データ挿入手段13と、格納アドレス管理手段14と、インスタンスデータベース15と、を有して構成される。
入力手段10は、アプリケーションプログラムやユーザから検索要求やデータ挿入要求を受け取る。また、出力手段11は、検索結果や挿入結果をアプリケーションプログラムや標準出力に出力させる。
データ検索手段12は、データ取得範囲特定手段121とインスタンスデータ取得手段122とを含んで構成される。データ取得範囲特定手段121は、入力手段10からの検索要求に従い、格納アドレス管理手段14を参照して取得するデータのアドレスを特定する。インスタンスデータ取得手段122は、前記アドレスに基づいてインスタンスデータベース15よりインスタンスデータの取得を行う。
データ挿入手段13は、インスタンスデータ挿入手段131とデータ挿入領域特定手段132とを含んで構成される。データ挿入領域特定手段132は、入力手段10からのデータ挿入要求に従い、格納アドレス管理手段14を参照して挿入するデータのアドレスを特定する。また、インスタンスデータ挿入手段131は、インスタンスデータベース15の前記アドレスに対してデータの挿入を行う。
格納アドレス管理手段14は、アドレス表141とクラス継承コード定義142とを含んで構成される。アドレス表141は、クラス継承コードと、データの格納されているアドレスとを対応付けて格納している。次に、クラス継承コード定義142について具体例をあげて説明する。
クラス継承コードは各クラスを一意に識別するコードであると共に、子孫関係にあるクラスを計算によって判別可能なコードである。図2は、単一の継承構造を持つ情報モデルの定義例を示している。本例では親クラスであるクラスAの子クラスとしてクラスBとクラスDが定義され、さらに、クラスBの子クラスとしてクラスCが定義されている。
図2にはDewey Order法に基づくクラス継承コードの一例を示している。Dewey Order法は、親クラスのコードのあとにセパレータ(ここではコロン".")を続けて兄弟を識別するための値を付加するコード付け規則である。
例えば、全てのクラスの祖先であるクラスAを1とすると、その子クラスであるクラスBとクラスDは1.1、1.2となり、クラスBを継承するクラスCは1.1.1とコード付けできる。クラスBのコードを参照すれば、最初の2桁で1.1を有するコードから子クラスであるクラスCを特定でき、クラスAを参照すれば、最初に1を有するコードから全ての子孫クラスであるクラスB、クラスC、クラスDを特定することができる。
上記性質を持つクラス継承コードを利用し、図1の各構成要素の動作の概要を説明する。入力手段10が、検索要求を受け付けると、データ検索手段12がインスタンスデータベース15から検索対象のデータを取得する。この際、データ取得範囲特定手段121は、格納アドレス管理手段14によってインスタンスデータベース15からデータを取得するためのアドレスを取得し、インスタンスデータ取得手段122が指定されたアドレスにしたがってデータを取得する。
一方、入力手段10が、データ挿入要求を受け付けた場合は、データ挿入手段13がインスタンスデータベース15にデータを挿入する。この際、データ挿入領域特定手段132は、格納アドレス管理手段14によってインスタンスデータベース15へデータを挿入するためのアドレスを特定し、インスタンスデータ挿入手段131が指定されたアドレスにデータを書き込む。検索結果や挿入結果は、出力手段11を介してアプリケーションプログラムや標準出力に出力される。
図3は、アドレス表141の一例を示す図である。アドレス表141には、クラス名に対応したクラス継承コードと格納アドレスが格納される。例えば、クラスAは、クラス継承コード1が付与され、アドレス52に格納される。また、クラスBは、クラス継承コード1.1が付与され、アドレス114に格納されていることを示している。
また、図4はインスタンスデータベース15に格納されるデータの一例を示す図である。インスタンスデータベース15には、各クラスごとに格納領域が割り当てられ、各クラスのインスタンスデータが格納される。例えば、アドレス52にクラスAに属するインスタンスデータが格納されており、アドレス114には、クラスBに属するインスタンスデータが格納されている。
次に、図5及び図6のフローチャートを参照して本発明の実施形態における全体動作について詳細に説明する。まず、データの挿入手順について図5のフローチャートを参照して説明する。
入力手段10が、ユーザやアプリケーションプログラムよりデータ挿入要求を受けとると(ステップ1000)、データ挿入手段13は、データ挿入要求を受け取り、要求中に記述されている挿入対象のクラスを特定する(ステップ1001)。
データ挿入領域特定手段132は、格納アドレス管理手段14を介して、要求されたクラスに対応するインスタンスデータベース15の格納領域を特定する(ステップ1002)。インスタンスデータ挿入手段131は、特定された格納領域を指定してインスタンスデータベース15にデータを挿入する(ステップ1003)。
データ挿入手段13は、挿入結果を出力手段11を介して要求先に出力する(ステップ1004)。
次に、データ挿入手段を介して必要なデータを格納したインスタンスデータベース15に対して、データを検索する手順について図6のフローチャートを参照して説明する。
入力手段10が、ユーザやアプリケーションプログラムよりデータ検索要求を受け取ると(ステップ2000)、データ検索手段12は、データ検索要求を受け取り、要求中に記述されている検索対象のクラスを特定する(ステップ2001)。なお、一般的には検索式の解析によって検索対象のクラスを判別する。
次に、データ取得範囲特定手段121は、検索対象のクラスおよびその子孫クラスが格納された領域を特定するため、アドレス表141を参照し、検索対象のクラスのエントリを特定する(ステップ2002)。エントリに含まれるクラス継承コードを計算することで、検索対象クラスの全ての子孫クラスを特定し、これらのクラスが格納された領域のアドレスを取得する(ステップ2003)。
例えば、図3の例でクラスBが検索対象であった場合、クラスBのクラス継承コードは"1.1"であるから、クラスBの子孫クラスは"1.1"で始まるクラス継承コードを持つもので、クラスC"1.1.1"が検索対象に含まれることを特定できる。このように、クラス継承コードがアドレス表141の列に含まれるため、クラスBとクラスCのアドレスを特定できる。
特定したアドレス範囲を入力として、インスタンスデータ取得手段122は、インスタンスデータベース15にアクセスしてデータを取得する(ステップ2004)。データ検索手段12は、取得したデータに検索処理を適用して検索結果を生成し、(ステップ2005)検索結果を出力手段11を介して要求先に出力する(ステップ2006)。
本実施形態によれば、検索対象クラスの子孫クラスを格納するアドレスをクラス継承コードを利用して同時に特定できるように構成されているため、継承関係の定義情報を参照する必要がなく、子孫関係にあるクラスを含む情報検索を効率良く検索できる。
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。
図7は、本発明の第2の実施形態における検索装置111の機能ブロック図である。検索装置111は、入力手段10と、出力手段11と、データ検索手段22と、データ挿入手段13と、格納アドレス管理手段14と、クラス継承コード順インスタンスデータベース16と、を有して構成される。なお、第1の実施形態と同一部分については、同一の符号を記し詳細な説明は省略する。
データ検索手段22は、データ取得範囲特定手段121とインスタンスデータ連続取得手段123とを含んで構成される。
本実施形態では、クラス継承コードとして、継承関係の深さ優先順でソート可能なコードを用いる。深さ優先順とは、木構造を深さ優先探索でたどる際の順番である。深さ優先順でクラスをソートすることで、特定のクラスの子孫クラスは全て特定のクラスのあとに連続して並ぶことになる。この性質を利用してインスタンスデータを格納することで、特定のクラスを継承する全ての子孫クラスを連続した領域に格納することができる。
図8は、ソート可能なクラス継承コードの一例を示している。図8に示すクラス階層では深さが4の木構造をなしているため、4桁の10進コードを用いている。すなわち、第1の実施形態と同様に番号付けを行い、コロンを省略した形で同一桁数となるように上流クラスの数字の末尾に0を付加する。千の位はルートクラスを表し、百の位は深さ2の兄弟クラスを識別し、十の位は深さ3の兄弟クラスを識別し、一の位は深さ4の兄弟クラスを識別する。
例えば、クラスBのクラス継承コードを参照すれば、千の位と百の位の値が特定でき、クラスC、クラスD、クラスEが子孫クラスであることが特定できる。また、クラス継承コードを昇順でソートすれば、深さ優先順にクラスを並べることが可能となる。
また、同一階層に10以上のクラスがあった場合には、該階層における1桁の数字の前に0を付加すれば昇順に並べることができる。すなわち、同一階層中に10以上のクラスが存在する場合には、全体の桁数は、クラス階層深さの桁数より多くなる。
なお、ここではクラス継承コードをクラス階層深さの桁数を有する10進コードとして説明を行ったが、第1の実施形態と同様に階層ごとにコロンを付与した形のままでも先頭の数字から順に並べていくことで同様に並べ替えることは可能である。
上記性質を持つクラス継承コードを利用した図7の各構成要素の動作の概要について説明する。
入力手段10は、アプリケーションプログラムやユーザから検索要求やデータ挿入要求を受け取る。検索要求を受け付けた場合は、データ検索手段22がクラス継承コード順インスタンスデータベース16から検索対象のデータを取得する。この際、データ取得範囲特定手段121は格納アドレス管理手段14によってクラス継承コード順インスタンスデータベース16からデータを取得するためのアドレス範囲を取得し、インスタンスデータ連続取得手段122が指定された連続するアドレス範囲にしたがってデータを取得する。
一方、データ挿入要求を受け付けた場合は、データ挿入手段13がクラス継承コード順インスタンスデータベース16にデータを挿入する。この際、データ挿入領域特定手段132は格納アドレス管理手段14によってクラス継承コード順インスタンスデータベース16へデータを挿入するためのアドレスを特定し、インスタンスデータ挿入手段131が指定されたアドレスにデータを書き込む。検索結果や挿入結果は、出力手段11を介してアプリケーションプログラムや標準出力に出力する。
図9は、本実施形態におけるアドレス表の一例を示す図である。アドレス表141には、クラス名に対応したクラス継承コードと格納アドレスが格納される。
図10は、本実施形態におけるクラス継承コード順インスタンスデータベース16に格納されるデータの一例を示す図である。クラス継承コード順インスタンスデータベース16には、クラス継承コードの順番にしたがって連続したアドレスに各クラスのインスタンスデータが昇順に並べて格納される。
次に、図11及び図12のフローチャートを参照して本実施形態における全体の動作について詳細に説明する。
まず、データの挿入手順について図11のフローチャートを参照して説明する。入力手段10が、ユーザやアプリケーションプログラムよりデータ挿入要求を受け付けると(ステップ3000)、データ挿入手段13は、データ挿入要求を受け取り、要求中に記述されている挿入対象のクラスを特定する(ステップ3001)。
データ挿入領域特定手段132は、格納アドレス管理手段14を介して、要求されたクラスに対応するクラスコード順インスタンスデータベース16の格納領域を特定する(ステップ3002)。インスタンスデータ挿入手段131は、特定された格納領域を指定してクラスコード順インスタンスデータベース16にデータを挿入する(ステップ3003)。
データ挿入手段13は挿入結果を出力手段11を介して要求先に出力する(ステップ3004)。
データ挿入手段を介して必要なデータを格納したクラスコード順インスタンスデータベース16に対して、データを検索する手順について図12のフローチャートを参照して説明する。
入力手段10が、ユーザやアプリケーションプログラムよりデータ検索要求を受け付けると(ステップ4000)、データ検索手段22はデータ検索要求を受け取り、要求中に記述されている検索対象のクラスを特定する(ステップ4001)。一般的には検索式の解析によって検索対象のクラスを判別する。
次に、データ取得範囲特定手段121は、検索対象のクラスおよびその子孫クラスが格納された領域を特定するため、アドレス表141を参照し、検索対象のクラスのエントリを特定する(ステップ4002)。エントリに含まれるクラス継承コードを計算することで、検索対象クラスの全ての子孫クラスを特定し、これらのクラスが格納された領域のアドレスを取得する(ステップ4003)。
例えば、図8の例でクラスBが検索対象であった場合、クラスBのクラス継承コードは"1100"であるから、クラスBの子孫クラスは"11"で始まるクラス継承コードを持つもので、クラスC、クラスD、クラスEが検索対象に含まれることを特定できる。また、図9のアドレス表141を参照することで、クラスBの子孫クラスがアドレス範囲246から249の範囲に格納されていることを特定できる。
特定したアドレス範囲を入力として、インスタンスデータ連続取得手段123は、クラス継承コード順インスタンスデータベース16にアクセスしてデータをまとめて取得する(ステップ4004)。データ検索手段22は、取得したデータに検索処理を適用して検索結果を生成し(ステップ4005)、検索結果を出力手段11を介して要求先に出力する(ステップ4006)。
本実施形態によれば、継承構造を深さ優先順でソート可能なクラス継承コードを利用することで、子孫関係にあるクラスを連続した領域に格納するように構成されているため、検索対象のクラスの子孫クラスをデータベースから連続して参照することでディスクのアクセス効率を向上させることができる。
次に、本発明の第3の実施形態について図面を参照して詳細に説明する。
図13は、本発明の第3の実施形態における検索装置211の機能ブロック図である。検索装置211は、第1および第2の実施の形態の構成と同様の構成を持ち、格納アドレス管理手段24にさらにホストコード定義143を有する。また、インスタンスデータベース15はホスト単位でインスタンスデータを分けて格納する、ホスト別インスタンスデータベース17で置き換えられる。
特にシステム構成情報を管理するシステムにおいては、構成情報がどのホスト(コンピュータ)の情報であるかが重要であり、構成情報検索時には、特定のホストを指定して検索を行う場合が多い。そこで本構成を用いることで、構成情報の実体が存在するホストを識別子として用いて格納や検索を効率化することが可能となる。
まず、ホストを一意に特定するホストコードを定義する。なお、ここでの定義は、ホストを一意に特定できるコードであればどのようなものでも良い。次に、ホストコードとクラス継承コードを組み合わせ、特定のホストの特定のクラスを一意に決めるクラス継承コードを定義する。
図14にホスト識別コードも含むクラス継承コードの例を示す。ホスト1とホスト2でそれぞれ同じ継承構造を持つ情報が定義されている場合、クラス継承コードの前にホストコードを追加する。例えば、host2のクラスBのコードはホストコードが2でクラス継承コードが1.1であるため、2.1.1で表される。
ホストコードも含むクラス継承コードによってインスタンスデータを格納する際のアドレス表141及びホスト別インスタンスデータベース17の一例を図15、図16に示す。図15は、アドレス表141を示し、図16は、ホスト別インスタンスデータベース17を示す。
本実施形態におけるアドレス表141は、図15に示すようにクラス継承コード、クラス名、格納アドレスに加え、ホスト名を列に持つ。アドレス参照時には、ホスト名とクラス名を指定してエントリを特定し、クラス継承コードによって同じホスト上の子孫クラスの格納アドレスを特定する。
また、ホスト別インスタンスデータベース17では、図16に示すように各ホストの各クラスごとに格納領域を分けて格納する。すなわち、同じクラスのインスタンスであっても異なるホストの構成情報である場合は領域を分けて格納する。
このようなホスト識別子を含むクラス継承コードを用いてインスタンスデータを格納し、検索時にクラス継承コードを利用してインスタンスデータの格納領域を特定することで、特定のホストを対処とした構成情報の検索を高速化することができる。
次に、具体的な実施例を用いて本発明を実施するための最良の形態の動作について説明する。
図17にオブジェクト指向モデルに基づくシステム構成情報定義と、継承構造を反映したクラス継承コードの定義を示す。システム構成情報モデルの標準であるCIMはCIM_ManagedElementクラスをルートとした単一継承構造上に定義されている。図17の例ではDewey Order法にしたがったクラス継承コードの例を示している。
ソフトウェアを表現するCIM_SoftwareElementは"1.13.1.22"というクラス継承コードが割り当てられており、このクラスを継承して、SPF_ReferenceMonitor、及びSPF_ResourceUtilizationControllerが定義されているとする。SPF_ReferenceMonitorは、さらにSPF_VirtualizationReferenceMonitorを子クラスとして持つとする。これらのクラスには"1.16.1.22"で始まるクラス継承コードが割り当てられる。
図17のクラス定義にしたがって作成したアドレス表141とホスト別インスタンスデータベース17の例を図18(アドレス表141)と図19(ホスト別インスタンスデータベース17)に示す。
図18に示すようにアドレス表141は、クラス継承コード、クラス名、格納アドレスの関係を保持する。また、図19に示すように、ホスト別インスタンスデータベース17には、各クラスのインスタンスデータがアドレス表141で指定された領域に格納されている。
この状態で、入力手段を介して図20に示すような検索式を受け取った状況を考える。図20に示す検索式はCIMに対する標準的な検索言語であるCQL(CIM Query Language)に基づいている。CIM_SoftwareElementクラスの全てのインスタンスの名前を取得することを要求しているが、当然CIM_SoftwareElementクラスを継承するSPF_ReferenceMonitorクラスなども検索対象に含まれる。
従来システムでは、CIM_SoftwareElementクラスを継承するSPF_ReferenceMonitorやSPF_ResourceUtilizationController、SPF_VirtualizationReferenceMonitorクラスを継承構造を定義した情報を検索して特定し、それぞれ検索を実行する必要があったが、本実施形態では、次のような手順で検索を処理する。
まず、データ検索手段12は検索式を解析し、検索対象のクラスCIM_SoftwareElementを特定する。次に、データ取得範囲特定手段121によって、図18に示すアドレス表141が参照され、CIM_SoftwareElementのエントリを見つける。このエントリより、CIM_SoftwareElementに対応するクラス継承コードが"1.16.1.22"と判明する。
そこで、このクラス継承コードを含むエントリを調べると、"1.16.1.22.1"、"1.16.1.22.1.1"、"1.16.1.22.2"が見つかる。これらの情報を取得するためのアドレス範囲は35から38と特定できる。アドレス範囲を入力として、インスタンスデータ取得手段122は、ホスト別インスタンスデータベース17にアクセスして図19に示したインスタンスデータを取得する。データ検索手段12は、取得した全てのインスタンスデータのName属性を取り出し、図21に示す結果を出力する。
以上、実施の形態を説明したが、特許請求の範囲に定義された本発明の広範囲な趣旨および範囲から逸脱することなく、これら実施の形態や具体例に様々な修正および変更が可能である。
単一継承構造を持つオブジェクト指向情報モデルのデータを格納して検索する装置や、データを格納して検索するプログラムといった用途に適用可能である。また、単一継承構造の情報モデルによるシステム構成情報を格納して検索する装置や、システム構成情報を格納して検索するプログラムといった用途にも適用できる。
1 検索装置
10 入力手段
11 出力手段
12 データ検索手段
13 データ挿入手段
14 格納アドレス管理手段
15 インスタンスデータベース
121 データ取得範囲特定手段
122 インスタンスデータ取得手段
131 インスタンスデータ挿入手段
132 データ挿入領域特定手段
141 アドレス表
142 クラス継承コード定義

Claims (13)

  1. クラス毎にインスタンスデータを格納するインスタンスデータベースと、
    特定のクラスを継承する全てのクラス及び同一階層のクラスを特定可能なクラス継承コードと、各クラスのインスタンスデータの前記インスタンスデータベースにおけるアドレスと、を各クラス毎に対応付けるアドレス表を格納するアドレス管理手段と、
    前記アドレス表を参照し、検索要求から特定されるクラス継承コードに対応するアドレスを特定するデータ取得範囲特定手段と、
    前記インスタンスデータベースから前記データ取得範囲特定手段により特定したアドレスよりインスタンスデータを取得して検索結果を生成するデータ検索手段と、を備えることを特徴とする検索装置。
  2. データ挿入要求に従って前記アドレス表を参照して挿入されるデータのクラス継承コードを特定し、前記データを挿入するアドレスを指定するデータ挿入領域特定手段と、
    前記データ挿入領域特定手段にて指定されるアドレスにデータを挿入するデータ挿入手段と、を備えることを特徴とする請求項1記載の検索装置。
  3. 前記クラス継承コードは、各クラスにDewey Order法を用いて番号付けされたコードであることを特徴とする請求項1又は2記載の検索装置。
  4. 前記インスタンスデータベースは、各クラスのインスタンスデータを深さ優先順で連続したアドレスに格納していることを特徴とする請求項1から3のいずれか1項に記載の検索装置。
  5. 前記クラス継承コードは、Dewey Order法を用いて番号付けを行い、全コードが同一の桁数となるよう0を付加して深さ優先順に番号付けされたコードであることを特徴とする請求項4記載の検索装置。
  6. 前記格納アドレス管理手段は、ホストが複数存在する場合にホストを識別して前記ホストを一意に特定するホストコードを定義付けるホスト識別手段を有して、前記クラス継承コードを前記ホストコードとクラスの識別とを組み合わせたコードであり、
    前記インスタンスデータベースは、各ホストの各クラス毎に領域を分けて前記インスタンスデータを格納することを特徴とする請求項1から5のいずれか1項に記載の検索装置。
  7. 検索装置の行う検索方法であって、
    特定のクラスを継承する全てのクラス及び同一階層のクラスを特定可能なクラス継承コードと、クラス毎にインスタンスデータを格納するインスタンスデータベースの各クラスのインスタンスデータの前記インスタンスデータベースにおけるアドレスと、を各クラス毎に対応付けるアドレス表を参照し、検索要求から特定されるクラス継承コードに対応するアドレスを特定するデータ取得範囲特定ステップと、
    前記インスタンスデータベースから前記データ取得範囲特定ステップにて特定したアドレスよりインスタンスデータを取得して検索結果を生成するデータ検索ステップと、を備えることを特徴とする検索装置の検索方法。
  8. データ挿入要求に従って前記アドレス表を参照して挿入されるデータのクラス継承コードを特定し、前記データを挿入するアドレスを指定するデータ挿入領域特定ステップと、
    前記データ挿入領域特定ステップにて指定されるアドレスにデータを挿入するデータ挿入ステップと、を備えることを特徴とする請求項7記載の検索装置の検索方法。
  9. 前記クラス継承コードは、各クラスにDewey Order法を用いて番号付けされたコードであることを特徴とする請求項7又は8記載の検索装置の検索方法。
  10. 前記インスタンスデータベースは、各クラスのインスタンスデータを深さ優先順で連続したアドレスに格納していることを特徴とする請求項7から9のいずれか1項に記載の検索装置の検索方法。
  11. 前記クラス継承コードは、Dewey Order法を用いて番号付けを行い、全コードが同一の桁数となるよう0を付加して深さ優先順に番号付けされたコードであることを特徴とする請求項10記載の検索装置の検索方法。
  12. 前記クラス継承コードは、ホストが複数存在する場合にホストを識別して前記ホストを一意に特定するホストコードを定義し、前記クラス継承コードを前記ホストコードとクラスの識別とを組み合わせたコードであり、
    前記インスタンスデータベースは、各ホストの各クラス毎に領域を分けて前記インスタンスデータを格納していることを特徴とする請求項7から11のいずれか1項に記載の検索装置の検索方法。
  13. 特定のクラスを継承する全てのクラス及び同一階層のクラスを特定可能なクラス継承コードと、クラス毎にインスタンスデータを格納するインスタンスデータベースの各クラスのインスタンスデータの前記インスタンスデータベースにおけるアドレスと、を各クラス毎に対応付けるアドレス表を参照し、検索要求から特定されるクラス継承コードに対応するアドレスを特定するデータ取得範囲特定処理と、
    前記インスタンスデータベースから前記データ取得範囲特定処理にて特定したアドレスよりインスタンスデータを取得して検索結果を生成するデータ検索処理と、をコンピュータに実行させるプログラム。
JP2009007029A 2009-01-15 2009-01-15 検索装置、検索装置の検索方法及びプログラム Expired - Fee Related JP5310014B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009007029A JP5310014B2 (ja) 2009-01-15 2009-01-15 検索装置、検索装置の検索方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009007029A JP5310014B2 (ja) 2009-01-15 2009-01-15 検索装置、検索装置の検索方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2010165184A true JP2010165184A (ja) 2010-07-29
JP5310014B2 JP5310014B2 (ja) 2013-10-09

Family

ID=42581288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009007029A Expired - Fee Related JP5310014B2 (ja) 2009-01-15 2009-01-15 検索装置、検索装置の検索方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5310014B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023002922A1 (ja) * 2021-07-19 2023-01-26 株式会社テクノアクセルネットワークス データベース管理システム及び通信システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11242678A (ja) * 1998-02-25 1999-09-07 Nippon Telegr & Teleph Corp <Ntt> データアクセス方法およびプログラムを記録した媒体
JPH11242627A (ja) * 1998-02-25 1999-09-07 Nippon Telegr & Teleph Corp <Ntt> データアクセス方法およびプログラムを記録した媒体
JP2002183217A (ja) * 2000-12-11 2002-06-28 Toshiba Corp データ処理システム
JP2004185270A (ja) * 2002-12-03 2004-07-02 Fujitsu Ltd アンロードプログラム,ロードプログラム及びデータ移行方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11242678A (ja) * 1998-02-25 1999-09-07 Nippon Telegr & Teleph Corp <Ntt> データアクセス方法およびプログラムを記録した媒体
JPH11242627A (ja) * 1998-02-25 1999-09-07 Nippon Telegr & Teleph Corp <Ntt> データアクセス方法およびプログラムを記録した媒体
JP2002183217A (ja) * 2000-12-11 2002-06-28 Toshiba Corp データ処理システム
JP2004185270A (ja) * 2002-12-03 2004-07-02 Fujitsu Ltd アンロードプログラム,ロードプログラム及びデータ移行方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200700374024; 三木 健士 他1名: 'スーパーインポーズドコーディングを用いたXML文書キーワード索引手法' 情報処理学会研究報告 第2006巻, 20060712, pp.179-185, 社団法人情報処理学会 *
JPN6013025950; 三木 健士 他1名: 'スーパーインポーズドコーディングを用いたXML文書キーワード索引手法' 情報処理学会研究報告 第2006巻, 20060712, pp.179-185, 社団法人情報処理学会 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023002922A1 (ja) * 2021-07-19 2023-01-26 株式会社テクノアクセルネットワークス データベース管理システム及び通信システム

Also Published As

Publication number Publication date
JP5310014B2 (ja) 2013-10-09

Similar Documents

Publication Publication Date Title
US8229932B2 (en) Storing XML documents efficiently in an RDBMS
US6915304B2 (en) System and method for converting an XML data structure into a relational database
US9171100B2 (en) MTree an XPath multi-axis structure threaded index
US9330124B2 (en) Efficiently registering a relational schema
US8694510B2 (en) Indexing XML documents efficiently
US20040133581A1 (en) Database management system, data structure generating method for database management system, and storage medium therefor
US20080306910A1 (en) Method and process for end users to query hierarchical data
JP2005519370A (ja) スレッド化されたディスカッション・アプリケーションにおけるインデントされたスレッドの効果的保管
CN110222110A (zh) 一种基于etl工具的资源描述框架数据转换存储一体化方法
US7672958B2 (en) Method and system to identify records that relate to a pre-defined context in a data set
US20100306195A1 (en) Method and system for creating queries for complex data structures
JP2005505059A5 (ja)
Zhang et al. Exploring metadata search essentials for scientific data management
JP5310014B2 (ja) 検索装置、検索装置の検索方法及びプログラム
US9747363B1 (en) Efficient storage and retrieval of sparse arrays of identifier-value pairs
US8423523B2 (en) Apparatus and method for utilizing context to resolve ambiguous queries
Şerbănuţă et al. A Truly Concurrent Semantics for the Framework Based on Graph Transformations
JP2014089646A (ja) 電子データ処理装置、及び電子データ処理方法
Droop et al. Embedding Xpath Queries into SPARQL Queries.
JP6287506B2 (ja) データベースアクセス制御プログラム、データベースアクセス制御方法、及び情報処理装置
JP6666312B2 (ja) 多次元データ管理システム及び多次元データ管理方法
JP5374456B2 (ja) 文書検索装置の動作方法およびこれをコンピュータに実行させるためのコンピュータプログラム
Gupta et al. Framework for efficient indexing and searching of scientific metadata
JP5225022B2 (ja) Xmlデータ検索方法及び装置及びプログラム
KR101660631B1 (ko) 온톨로지를 이용하는 데이터 센터 관리 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110909

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110920

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130617

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5310014

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees