JP4132441B2 - 管理対象オブジェクトのデータ管理装置 - Google Patents

管理対象オブジェクトのデータ管理装置 Download PDF

Info

Publication number
JP4132441B2
JP4132441B2 JP20401099A JP20401099A JP4132441B2 JP 4132441 B2 JP4132441 B2 JP 4132441B2 JP 20401099 A JP20401099 A JP 20401099A JP 20401099 A JP20401099 A JP 20401099A JP 4132441 B2 JP4132441 B2 JP 4132441B2
Authority
JP
Japan
Prior art keywords
data
query
operation request
unit
structure type
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.)
Expired - Fee Related
Application number
JP20401099A
Other languages
English (en)
Other versions
JP2001034528A (ja
Inventor
浩昭 小峰
紀之 余越
裕子 横田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP20401099A priority Critical patent/JP4132441B2/ja
Priority to US09/540,891 priority patent/US6728727B2/en
Publication of JP2001034528A publication Critical patent/JP2001034528A/ja
Application granted granted Critical
Publication of JP4132441B2 publication Critical patent/JP4132441B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は管理対象オブジェクトのデータ管理装置に関し、特にオブジェクト指向技術を用いて実現される情報管理システムにおいて管理対象オブジェクト(Managed Object:MO)を管理するための装置に関する。
【0002】
近年、オブジェクト指向技術を用いて実現される情報管理システムは多量のデータを扱い、そのデータ型もシステムごとに存在するユーザで固有に定義されることが多い。そのような背景からもより柔軟に様々なデータを扱え、複雑な操作を考慮した管理対象オブジェクトの管理とそのオブジェクトが有するデータの効率的な処理が必要とされている。
【0003】
【従来の技術】
図18は情報管理システムの概要説明図である。この図において、情報管理システム1は、たとえば通信システムを管理するもので、上位には、データ通信網(Data Communications Network:DCN)2を介してネットワークを管理する上位管理システム群3が接続されている。この上位管理システム群3は、上位からのオペレーションを実際に発行するため、複数のコンピュータ3−1〜3−nがクライアントとして動作する。また、情報管理システム1は、LAN(Local Area Network)を介してTCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルによりGUI(Graphical User Interface)端末群5に接続されている。GUI端末群5は、複数のコンピュータ5−1〜5−nを備え、それぞれGUI端末群5からのオペレーションを発行するクライアントとして動作する。情報管理システム1の配下には、データ通信網6を介してネットワーク要素群7に接続されている。ネットワーク要素群7は、複数の交換機または伝送装置7−1〜7−nを備えており、情報管理システム1によりこれら伝送装置7−1〜7−nの管理・制御が行われる。
【0004】
情報管理システム1は、情報管理システムプログラムを実行するコンピュータ1−1とデータベース(DB)1−2とを備え、そのシステム内に各情報を管理するためのオブジェクトであるリソースマネージャ(Resource Manager:RM)1−3とデータベース1−2に対する操作を行う永続オブジェクトサービス(Persistent Object Service:POS)1−4とを存在させている。リソースマネージャ1−3は、各ネットワーク要素を制御し、管理するために必要なネットワーク要素に関するデータや、上位管理システム群3またはGUI端末群5のオペレーションに対応するための情報を管理する。また、それぞれの管理情報は、管理対象オブジェクトとして永続オブジェクトサービス1−4を介してデータベース1−2上に永続オブジェクトとして管理される。この管理情報としては、たとえば回線の接続設定、伝送路や伝送装置の故障状態の監視、障害時の伝送路切換制御などの情報を含んでいる。
【0005】
図19は従来の情報管理システムの構成図である。情報管理システムは、管理対象オブジェクトを永続オブジェクトとしてデータベース上に管理するシステムであって、クライアントアプリケーション(以下、クライアントという)とのインタフェース部分であるリソースマネージャ(RM)1−3と永続オブジェクトサービス(POS)1−4とを有している。クライアントは、上位管理システム群3、GUI端末群5のコンピュータである。永続オブジェクトサービス1−4内には、リソースマネージャ1−3とのインタフェース部が定義されている永続クエリーマネージャ(Persistent Query Manager:PQM)1−5を備えている。
【0006】
ここで、リソースマネージャ1−3の管理対象であるデータベース1−2の管理対象オブジェクトMOは、以下の構造体型データSを属性として有しているとする。
Figure 0004132441
したがって、データベース1−2上のテーブル構成は、メインテーブルT1のような構成になっている。図示の例では、メインテーブルT1は、テーブル要素として管理対象となる管理対象オブジェクトを識別する識別名(Distinguish Name:DN)と管理対象オブジェクトの幾つかの属性とを有している。また、リソースマネージャ1−3においても、属性管理テーブルT2を備え、この属性管理テーブルT2は、テーブル要素として属性名、データ型、メンバ数を有している。
【0007】
上記構成において、クライアントからデータベース1−2上に管理された管理対象オブジェクトに対して操作を要求する場合、まず、リソースマネージャ1−3は、その要求を受け取り、対象となる管理対象オブジェクトのどの属性に対する処理なのかのチェックを行う。ここで、データベース1−2上では、ユーザ側が規定した構造体型データのようなデータ型は扱えないため、リソースマネージャ1−3が構造体内の各メンバの型を認識しておく必要がある。そこで、リソースマネージャ1−3は、操作対象の属性に構造体型データが含まれているかどうかをチェックし、含まれていれば、属性管理テーブルT2を参照し、リソースマネージャ1−3がその構造体型データを基本データ型の個々のメンバに分解し、基本データ型として、永続オブジェクトサービス1−4内の永続クエリーマネージャ1−5に操作を要求する。永続オブジェクトサービス1−4では、リソースマネージャ1−3からの操作要求は順次キューに溜められ、要求を一つずつ永続クエリーマネージャ1−5に渡す。永続クエリーマネージャ1−5では、操作要求を問い合わせ言語に変換し、データベース1−2への操作を実施する。データベース1−2からの応答結果を受けると、永続クエリーマネージャ1−5は、問い合わせ言語形式の応答結果をリソースマネージャ1−3への応答結果形式に変換する。リソースマネージャ1−3は、永続オブジェクトサービス1−4から応答結果が返ってくると、それをクライアントに返すために、基本データ型に分解したデータを再度構造体型データに構成し直すという作業を行う。
【0008】
また、永続クエリーマネージャ1−5はリソースマネージャ1−3からの操作要求(操作条件を含む)を問い合わせ言語へ変換する処理とデータベース1−2へのアクセス処理を行っており、複数のリソースマネージャ1−3からの操作要求が永続クエリーマネージャ1−5にあった場合は、永続クエリーマネージャ1−5はそれらに対する処理を順次行っていた。
【0009】
このように、管理対象オブジェクトが構造体型データをデータ属性として有していても、データベース1−2上では基本データ型としてか扱われないため、複雑かつ多数のメンバを有する構造体型データについては、一つの管理対象オブジェクトにつきデータベース1−2上のメインテーブルT1に展開されるデータ量が膨大となる。さらに、リソースマネージャ1−3が基本型に分解するための操作を行うために、すべての構造体型データ構成を認識しておく必要がある。
【0010】
【発明が解決しようとする課題】
したがって、データベース上で構造体型データを扱えないことはリソースマネージャの処理負担を増大させ、クライアントからの操作要求条件にも影響を及ぼすことになる。また、リソースマネージャが永続クエリーマネージャに対して操作要求を行う場合も、永続クエリーマネージャが他の操作要求を処理している場合はその処理が完了するのを待つ必要があり、処理時間の遅延を引き起こすという問題点があった。
【0011】
本発明は、このような点に鑑みてなされたものであり、管理対象オブジェクトが構造体型データを属性データとして有している場合においてもこれを永続オブジェクトとしてデータベース上で管理することを可能とし、管理対象オブジェクトの管理およびデータ処理を効率的に行うことができる管理対象オブジェクトのデータ管理装置を提供することを目的とする。
【0012】
【課題を解決するための手段】
図1は上記目的を達成する本発明の原理図である。本発明による管理対象オブジェクトのデータ管理装置は、管理対象オブジェクトにそれぞれ対応したクライアントからの操作要求および操作に対する応答結果を扱うリソース管理手段11と、このリソース管理手段11とデータベースを操作する部分とのインタフェース部分であるインタフェース手段12と、リソース管理手段11が受けた操作要求の内容を問い合わせ言語に変換して管理対象オブジェクトを永続オブジェクトとして管理しているデータベース上のメインテーブルへの操作を実行するとともにデータベースからの応答結果を操作要求のデータ型に変換する第1のクエリー手段13と、操作要求のデータ型が構造体型かどうかを判断するデータ型判断手段14と、データ型が構造体型の場合に構造体型データごとに定義されメインテーブルと関連付けされたデータベース上のサブテーブルへの操作を実行するとともにデータベースからの応答結果を操作要求のデータ型に変換する第2のクエリー手段15と、操作要求に含まれた操作条件を問い合わせ言語に変換する条件変換手段16とを備えている。データベース17は、管理対象オブジェクトの識別子データを保持するメインテーブル18と識別子データに対応した実際のデータを保持する構造体型データ対応のサブテーブル19とを保持している。
【0013】
以上の管理対象オブジェクトのデータ管理装置において、クライアントから管理対象オブジェクトの識別名とその属性名が付与された操作要求を受けると、リソース管理手段11は、その中に持つリストから属性名に対応するデータ型を取得し、管理対象オブジェクトの識別名とその属性名とデータ型とを付与した操作要求をインタフェース手段12に渡す。インタフェース手段12はその操作要求を第1のクエリー手段13に渡す。第1のクエリー手段13は、渡された操作要求を問い合わせ言語に変換し、データベース17への操作要求を実施する。すなわち、第1のクエリー手段13は、その問い合わせ言語によりデータベース17上のメインテーブル18およびサブテーブル19に対する操作を実施し、その操作に対する応答結果がデータベース17から返ってくると、問い合わせ言語の応答結果を操作要求のデータ型に変換し、第1のクエリー手段13に渡す。第1のクエリー手段13は、その応答結果をインタフェース手段12、リソース管理手段11を介してクライアントに返す。
【0014】
なお、第1のクエリー手段13が操作要求を受けたとき、その操作要求に付与されたデータ型がデータ型判断手段14によって構造体型かどうかが判断される。データ型が構造体型であると判断された場合には、第2のクエリー手段15が構造体型データ対応のサブテーブル19への操作を実施する。その操作に対する応答結果は、第1のクエリー手段13、インタフェース手段12、リソース管理手段11を介してクライアントに返される。また、インタフェース手段12は、リソース管理手段11から渡される操作要求に操作条件が付与されていた場合には、その操作条件は条件変換手段16にてデータベースに対応した問い合わせ言語に変換され、操作要求とともに第1のクエリー手段13に渡される。第1のクエリー手段13はそれをもとにデータベース17に対する操作を実行する。
【0015】
これにより、管理対象オブジェクトが構造体型データを属性データとして有している場合においてもこれを永続オブジェクトとしてデータベース上で管理することができる。
【0016】
また、本発明によれば、クライアントアプリケーションからの管理対象オブジェクトの操作要求に、管理対象オブジェクトの属性名とそのデータ型との対応を定義したリストから得た属性名に対するデータ型の情報を付与するリソース管理手段と、前記リソース管理手段とのインタフェース部が定義されているインタフェース手段と、前記管理対象オブジェクトの属性名に対するデータ型が構造体型データか否かを判断するデータ型判断手段と、前記操作要求を問い合わせ言語に変換し、前記リソース管理手段に対応したメインテーブルと構造体型データに対応したサブテーブルとを保持するデータベースに対して、前記データ型が構造体型データでない場合に前記メインテーブルへの操作を実行する第1のクエリー手段と、前記データ型が構造体型データの場合に前記サブテーブルへの操作を実行する第2のクエリー手段と、クライアントアプリケーションからの操作要求に付与される操作条件をデータベースに対応した問い合わせ言語に変換する条件変換手段とを有するプログラムを記録したコンピュータ読み取り可能な記録媒体が提供される。
【0017】
この媒体に記録されたプログラムをコンピュータに実行させることにより、リソース管理手段と、インタフェース手段と、データ型判断手段と、第1のクエリー手段と、第2のクエリー手段と、条件変換手段との各機能がコンピュータによって実現できる。
【0018】
【発明の実施の形態】
まず、本発明の概略について図面を参照して説明する。
図1は本発明による管理対象オブジェクトのデータ管理装置の原理構成図である。管理対象オブジェクトのデータ管理装置は、リソース管理手段11と、インタフェース手段12と、第1のクエリー手段13と、データ型判断手段14と、第2のクエリー手段15と、条件変換手段16とを備え、データベース17に永続オブジェクトとして管理されている管理対象オブジェクトに対する操作要求を実行する機能を有している。ここで、データベース17は、管理対象オブジェクトの識別子データを保持するメインテーブル18と識別子データに対応した実際のデータを保持する構造体型データ対応のサブテーブル19とを有している。
【0019】
リソース管理手段11は、管理対象オブジェクトにそれぞれ対応したクライアントからの操作要求の受け付けおよび操作に対する応答結果のクライアントへの返送を行う。インタフェース手段12はリソース管理手段11とデータベースを操作する部分とのインタフェース機能を有する。第1のクエリー手段13は、リソース管理手段11が受けた操作要求の内容を問い合わせ言語に変換して管理対象オブジェクトを永続オブジェクトとして管理しているデータベース17上のメインテーブル18への操作を実行させるとともにデータベース17からの応答結果を操作要求のデータ型に変換する。データ型判断手段14は、操作要求の管理対象オブジェクトのデータ型が構造体型かどうかを判断する。第2のクエリー手段15は、データ型が構造体型データと判断された場合に構造体型データごとに定義されメインテーブル18と関連付けされたデータベース17上のサブテーブル19への操作を実行するとともにデータベース17からの応答結果を操作要求のデータ型に変換する。条件変換手段16は操作要求に含まれた操作条件を問い合わせ言語に変換する。
【0020】
このような構成の管理対象オブジェクトのデータ管理装置において、クライアントから管理対象オブジェクトの識別名とその属性名が付与された操作要求を受けると、リソース管理手段11は、その中に持つリストから属性名に対応するデータ型を取得し、管理対象オブジェクトの識別名とその属性名とデータ型とを付与した操作要求をインタフェース手段12に渡す。インタフェース手段12はその操作要求を第1のクエリー手段13に渡す。第1のクエリー手段13は、渡された操作要求を問い合わせ言語に変換し、データベース17へのアクセスを実施する。すなわち、第1のクエリー手段13は、その問い合わせ言語によりデータベース17上のメインテーブル18およびサブテーブル19に対する操作を実施し、その操作に対する応答結果がデータベース17から返ってくると、問い合わせ言語の応答結果を操作要求のデータ型に変換し、第1のクエリー手段13に渡す。第1のクエリー手段13は、その応答結果をインタフェース手段12、リソース管理手段11を介してクライアントに返す。
【0021】
なお、第1のクエリー手段13が操作要求を受けたとき、その操作要求に付与されたデータ型がデータ型判断手段14によって構造体型かどうかが判断される。データ型が構造体型であると判断された場合には、第2のクエリー手段15が構造体型データ対応のサブテーブル19への操作を実施する。その操作に対する応答結果は、第1のクエリー手段13、インタフェース手段12、リソース管理手段11を介してクライアントに返される。また、インタフェース手段12は、リソース管理手段11から渡される操作要求に操作条件が付与されていた場合には、その操作条件は条件変換手段16にてデータベースに対応した問い合わせ言語に変換され、操作要求とともに第1のクエリー手段13に渡される。第1のクエリー手段13はそれをもとにデータベース17に対する操作を実行する。
【0022】
これにより、管理対象オブジェクトが構造体型データを属性データとして有している場合においてもこれを永続オブジェクトとしてデータベース上で管理することができる。
【0023】
次に、本発明の実施の形態を、情報管理システムに適用した場合を例にして説明する。
図2は本発明の第1の実施の形態における構成例を示す図である。リソースマネージャ(RM)21は、クライアント20からの操作要求および操作に対する応答結果を扱う部分であり、クライアント20および永続オブジェクトサービス(POS)22とのインタフェース機能を持つ。リソースマネージャ21は、管理対象オブジェクトが有する属性名とデータ型とを対応させたNT(Name-Type)リスト24を保持している。永続オブジェクトサービス23は永続オブジェクトを管理するためのサービスを提供する部分であって、永続クエリーマネージャ(PQM)25と、POSQueryオブジェクト26とを備えている。永続クエリーマネージャ25は、リソースマネージャ21とのインタフェース部が定義されていて、データベース(DB)27上のテーブルに管理された永続オブジェクトである管理対象オブジェクトに対する操作要求を実行するためのインタフェース機能をリソースマネージャ21に提供する。POSQueryオブジェクト26は、データベース27に対して実際の操作を実行するもので、永続クエリーマネージャ25およびデータベース27に関するすべての操作に対して責任を持つオブジェクトである。データベース27は、一つのリソースマネージャ21に対応して一つずつ設けられたメインテーブル28と構造体型単位に作成されたサブテーブル29とを有し、メインテーブル28には管理対象オブジェクトの識別子(ID)データが保持され、サブテーブル29には実際の構造体型データの情報が保持される。ここでは、リソースマネージャ21の管理対象である管理対象オブジェクトが”struct S”という構造体型を属性名dとして有し、構成はint型、float型、char型を属性として含む場合を示している。これに対応して、リソースマネージャ21のNTリスト24には、その属性dが構造体型”struct S”であるという属性名とデータ型との対応を保持している。
【0024】
なお、ここで、リソースマネージャ21は図1のリソース管理手段11に対応し、永続クエリーマネージャ25はインタフェース手段12に対応し、POSQueryオブジェクト26は第1のクエリー手段13およびデータ型判断手段14に対応する。
【0025】
ここで、動作について説明するが、各オブジェクトの処理は図中の[1]から[10]の順に実行される。クライアント20から操作要求[1]があると、リソースマネージャ21はNTリスト24を参照して属性名のチェック[2]を行い、NTリスト24内から対応する属性名のデータ型を獲得する。次に、リソースマネージャ21は属性名とそのデータ型の情報を付与した操作要求[3]を永続オブジェクトサービス23の永続クエリーマネージャ25に渡す。次に、永続クエリーマネージャ25はPOSQueryオブジェクト26にその情報を渡して操作を要求する[4]。POSQueryオブジェクト26は、操作要求内容を問い合わせ言語に変換し[5]、データベース27上のメインテーブル28に対しての処理を行う[6]。管理対象となる管理対象オブジェクトにはそれぞれ識別名(Distinguish Name:DN)が付与されており、それがメインテーブル28上での管理対象オブジェクトに対するプライマリーキーとなる。また、操作対象オブジェクトの構造体型データ属性に対しては、リソースマネージャ21から受け取ったデータ型情報をもとにサブテーブル29に対しても処理を行う。サブテーブル29上の各カラムのプライマリーキーとしては、シリアルにIDが付与される。メインテーブル28上の構造体型データの値には、このサブテーブル29上のIDが付与されることで、双方のテーブルは関連付けられる。
【0026】
データベース27からの応答結果は、データベース27からPOSQuery26に返され[7]、ここで、応答結果は操作要求のデータ型に変換される。そのオブジェクト26への応答結果は、POSQueryオブジェクト26から永続クエリーマネージャ25に[8]、永続クエリーマネージャ25からリソースマネージャ21に[9]、そしてリソースマネージャ21からクライアント20に[10]返される。
【0027】
このように、クライアント20からの要求を問い合わせ言語に変換してデータベースにアクセスする機能をPOSQueryオブジェクト26に持たせ、ユーザが定義した構造体のすべての情報をリソースマネージャ21が持つのではなく、サブテーブル29に保持させ、リソースマネージャ21はその属性名とデータ型とを認識するだけにして、データの値を管理するようにした。これにより、リソースマネージャ21は構造体型データ属性をそのままのデータ型として扱うことができ、リソースマネージャ21内で構造体型データの分解または構成し直しの処理をする必要はなくなる。なお、構造体型データごとにサブテーブルを定義するため、同じ構造体型で異なる属性名が付与されている属性についても同一のサブテーブル上でデータ情報を管理することが可能となる。
【0028】
図3は本発明の第2の実施の形態における構成例を示す図である。図3において、図2に示した要素と同じ要素については同じ符号を付してその詳細な説明は省略する。この実施の形態では、永続オブジェクトサービス23において、Factoryオブジェクト31とFactoryテーブル32とを新たに備えている。Factoryオブジェクト31は、管理対象オブジェクトが構造体型データをデータ属性として保持している場合に使用する、各構造体型データを扱うための操作(生成・削除・検索・更新など)の処理を規定するもので、構造体の型ごとに存在している。Factoryテーブル32は、Factoryオブジェクト31とそのFactoryオブジェクト31のリファレンスと対応する構造体型とを登録している。
【0029】
なお、Factoryオブジェクト31およびFactoryテーブル32は図1の第2のクエリー手段に対応する。
次に、動作について説明するが、各オブジェクトの処理は図中の[1]から[8]の順に実行される。クライアントからの操作要求[1]をリソースマネージャ21が受け付けると、その操作要求は、リソースマネージャ21から永続オブジェクトサービス23の永続クエリーマネージャ25に渡り[2]、さらに、POSQueryオブジェクト26によって受け取られる[3]。POSQueryオブジェクト26は、属性名のデータ型をチェックし[4]、操作要求の中に管理対象オブジェクトの構造体型データ属性に対する処理が必要と判断した場合は、Factoryテーブル32を検索し[5]、構造体型データに対応するFactoryオブジェクト31のリファレンスを獲得する。ここでは、”struct S”という構造体型に対応するFactoryオブジェクト31のリファレンスとして”Ref x”の獲得を示している。
【0030】
リファレンスを獲得したPOSQueryオブジェクト26は、対応するFactoryオブジェクト31のメソッドをコール[6]する。コールを受けたFactoryオブジェクト31は、構造体型データに対するサブテーブル29のテーブル名(テーブル名はデータ名と同様)とその他操作種別ごとに必要な情報(構造体型を構成している各メンバのデータ型、その他操作に必要なデータ情報など)を判断し、その結果をPOSQueryオブジェクト26に渡す[7]。つまり、データベース27上の構造体データ型対応のサブテーブル29にアクセスするためにPOSQueryオブジェクト26のメソッドをコールする。そして、最終的に、コールを受けたPOSQueryオブジェクト26がデータベース27への操作を行う[8]。
【0031】
このように、Factoryオブジェクト31が構造体型データ属性独自の処理を請け負うことで、POSQueryオブジェクト26がすべてのデータ型に対する処理を行う必要がなくなり、分散した処理の実行が可能となる。また、ユーザ側で様々な構造体型をデータ属性として定義することが容易になり、その際も対応するFactoryオブジェクトを定義し、Factoryテーブルに登録するだけで可能となる。
【0032】
図4は本発明の第3の実施の形態における構成例を示す図、図5は第3の実施の形態における動作説明図である。図4において、図2に示した要素と同じ要素については同じ符号を付してその詳細な説明は省略する。この実施の形態では、リソースマネージャから永続オブジェクトサービスに操作要求がなされた場合に、その要求ごとに永続クエリーマネージャがスレッドを起こし、POSQueryオブジェクトを生成することで、データベース上に存在する複数のリソースマネージャに対応するテーブルにアクセスするようにして、処理待ちの時間を低減させるものとしている。
【0033】
複数のクライアント20−1〜20−nから複数のリソースマネージャ(RM1,RM2)21−1,21−2に対して、たとえば六つの操作要求▲1▼〜▲6▼がある場合には、リソースマネージャ21−1,21−2から即座に、永続クエリーマネージャ25に対して操作要求を行っている。
【0034】
操作要求を受け付けた永続クエリーマネージャ25では、要求を受け付けた段階でスレッドを起こし、POSQueryオブジェクト26−1〜26−6を生成する。POSQueryオブジェクト26−1〜26−6がそれぞれの操作要求▲1▼〜▲6▼に対しての操作をリソースマネージャ21−1,21−2に対応するそれぞれのデータベース27上のテーブル(RM1用テーブル28−1,RM2用テーブル28−2)に対して行うことで、複数のリソースマネージャに対応するテーブルにアクセスすることが可能となる。これにより、永続オブジェクトサービス23に対するリソースマネージャの処理待ちを軽減することができる。
【0035】
ここで、図5に示した操作要求ごとのPOSQuery生成シーケンスについて説明する。各オブジェクトの処理は図中の[1]から[10]の順に実行される。まず、クライアントからの操作要求[1]をリソースマネージャ(RM)が受けると、リソースマネージャは永続クエリーマネージャ(PQM)に対して操作要求[2]を渡す。ここで、永続クエリーマネージャは、まず、データベース(DB)へアクセスするためのPOSQueryオブジェクトを生成し[3]、次に、生成されたPOSQueryオブジェクトに対して操作要求を行う[4]。要求を受けたPOSQueryオブジェクトはデータベースへの問い合わせを実行し[5]、その応答結果をデータベースから受ける[6]。POSQueryオブジェクトはその応答結果を永続クエリーマネージャに返すと[7]、その永続クエリーマネージャはデータベースに対する操作を終えたPOSQueryオブジェクトを消去し[8]、応答結果をリソースマネージャに返し[9]、リソースマネージャはその応答結果をクライアントに返す[10]。
【0036】
図6は本発明の第4の実施の形態における構成例を示す図、図7は第4の実施の形態における動作説明図である。図6において、図3に示した要素と同じ要素については同じ符号を付してその詳細な説明は省略する。この実施の形態では、FactoryオブジェクトがデータベースにアクセスするためのPOSQueryオブジェクトを生成して、処理の負荷分散をはかるようにしている。
【0037】
図示の例では、リソースマネージャ21の管理対象である管理対象オブジェクトが、以下のデータ型を属性として有している場合を示している。
int a;
struct S b;
//b:属性名
//struct Sは任意の構造体データ型
クライアント20からリソースマネージャ21を経由して、管理対象オブジェクトに対して操作要求なされた場合、その対象となる管理対象オブジェクトが基本データ型(整数型・文字型など)とともに構造体型データをもデータ属性として保持していることがある。このような場合、その要求に対して生成されたPOSQueryオブジェクト26がデータベース27上のリソースマネージャ対応のメインテーブル28に対して基本データ型の処理を行う。これとともにFactoryテーブル32を検索することで得られた構造体型データに対応するFactoryオブジェクト31が新たにPOSQueryオブジェクト33を生成し、このPOSQueryオブジェクト33がデータベース上に構造体型データごとに存在するサブテーブル29に対して処理を実行する。
【0038】
次に、図7を参照し、FactoryオブジェクトによるPOSQuery生成シーケンスについて説明する。各オブジェクトの処理は図中の[1]から[18]の順に実行される。まず、クライアントからの操作要求をリソースマネージャ(RM)が受け付けると[1]、その操作要求は永続クエリーマネージャ(PQM)に渡される[2]。永続クエリーマネージャはその操作要求を受けると、まず、その要求に対するPOSQueryオブジェクト(POSQuery1)26の生成を行い[3]、そのPOSQueryオブジェクト26に対し操作要求を行う[4]。
【0039】
ここで、POSQueryオブジェクト26は、管理対象オブジェクトの属性名とデータ型とをチェックし[5]、要求を受けたリソースマネージャ21に対応するメインテーブル28に対し、基本データ型の属性に対しての処理を行い[6]、その応答結果を受ける[6’]。これとともに、管理対象オブジェクトの構造体型データ属性に対する操作要求に対しては、POSQueryオブジェクト26は、Factoryテーブル32を検索し[7]、Factoryテーブル32からリファレンスを獲得し[7’]、対応するFactoryオブジェクト31に対して処理を依頼する[8]。操作要求を受けたFactoryオブジェクト31は新たにPOSQueryオブジェクト(POSQuery2)33を生成し[9]、そのPOSQueryオブジェクト33に構造体型データ属性に対応したサブテーブル29に関する処理を実行するためのメソッドをコールする[10]。ここで、POSQueryオブジェクト33はデータベース27に対する処理を実行し[11]、その応答結果を受ける[11’]。その後、その応答結果がFactoryオブジェクト31に返される[12]。これで、サブテーブル29に対する処理は完了したので、Factoryオブジェクト31はPOSQueryオブジェクト33を消去し[13]、応答結果をPOSQueryオブジェクト26に返す[14]。その後、POSQueryオブジェクト26が応答結果を永続クエリーマネージャ25に返すと[15]、その永続クエリーマネージャ25はPOSQueryオブジェクト26を消去し[16]、応答結果をリソースマネージャ21に返す[17]。リソースマネージャ21は受け取った応答結果をクライアント20へ返す[18]。
【0040】
したがって、あるリソースマネージャに対する操作要求に対して、メインテーブルとサブテーブルとに対して処理が必要な場合には、データベース上の双方のテーブル用に生成されたPOSQueryオブジェクトが各々処理を行うことで、負荷分散をはかることが可能となる。
【0041】
以上は、ユーザが定義した固有の型について、型ごとにデータベース上にサブテーブル29を存在させてきたが、中には、同じ型が何個か連なって一つのデータとなるものも存在する。次に、このようなシーケンスデータ型の扱いについて説明する。
【0042】
図8は基本データ型のシーケンスデータの管理を説明する図である。ここでは、リソースマネージャの管理対象である管理対象オブジェクトが以下のデータ型を属性として有している場合を説明する。
sequence<int> A; //A:属性名
この図8に示したように、リソースマネージャの管理対象である管理対象オブジェクトが、sequence<int>A;というような構造のデータ型を属性として有している場合、データベース上のリソースマネージャ対応のメインテーブル28とは別に基本データ型単位にもサブテーブル29を定義する。メインテーブル28上の該当データのデータ型には整数型を定義し、そこにID値を付与する。また、サブテーブル29にはそのメンバ要素としてシーケンスID(sid)を保持させ、その”sid”にシーケンスデータが属するグループを示すIDを付与し、メインテーブル28上のIDにも同等の値を付与し、これにより、双方のテーブルを関連付ける。そうすることで任意の基本データ型の可変長または固定長のシーケンスデータ(指定されたデータ型の一次元可変長配列)をデータ属性として有する管理対象オブジェクトの管理とそのデータ処理とを可能にしている。
【0043】
たとえば管理対象オブジェクトMO1の属性名Aに対する情報収集の要求があった場合、リソースマネージャに対応したメインテーブル28から識別名(DN)がMO1で属性名がAの情報を取得する。ここには、サブテーブル29を最初に参照するID値”1”がある。サブテーブル29のID値はシリアルに付与されているので、そのMO1に対する情報を取得したい場合は、サブテーブル29の1番のレコードから順に参照していくことになる。このとき、シーケンスID”sid”をチェックする。この例では、”sid”は”1”なので、そのレコードの整数型データを取得する。次に、2番目のレコードを参照する。この場合も、”sid”は”1”なので、そのレコードの整数型データを取得する。このようにして、”sid”をチェックしながら、”sid”が”1”のレコードの整数型データを順次収集し、これを”sid”が”1”でなくなるまで繰り返していく。
このように、属性名に対して一つのサブテーブルではなくて、データ型に対して一つのサブテーブルなので、同じデータ型を持つ違う情報に対しても一つのデータ型のテーブルで使うことができる。
【0044】
図9はシーケンスデータの処理の流れを示すフローチャートである。ここでは、既存のデータが存在しているとして説明する。まず、新しくデータベースにデータを追加したい場合、たとえば三つ目の管理対象オブジェクトMO3を追加する場合には、その管理対象オブジェクトMO3に対するデータをメインテーブル28に保持する(ステップS1)。このとき、メインテーブル28の属性名Aにはまだデータを付与しない。次に、管理対象オブジェクトの属性名Aの実際のデータをサブテーブル29に保存する(ステップS2)。図8の例では、最終レコードは”id”が6であるため、”id”として”7”が付与され、同時に”sid”も”7”が付与される。次に、管理対象オブジェクトの属性名Aのメンバ数分、サブテーブル29にデータを展開する(ステップS3)。このときサブテーブル29の”id”はシリアルに付与されていく。次に、”sid”に最初のメンバの”id”を付与し(ステップS4)、最後に、その”sid”の値をメインテーブル28の管理対象オブジェクトの属性名Aのデータとする(ステップS5)。
【0045】
図10は構造体データ型のシーケンスデータの管理を説明する図である。ここでは、リソースマネージャの管理対象である管理対象オブジェクトが以下のデータ型を属性として有している場合を説明する。
Figure 0004132441
リソースマネージャの管理対象である管理対象オブジェクトが、ユーザ定義による”struct S”という構造体型データを一まとめにしたシーケンス型”sequence<S> SS”の属性名Bを属性として有している場合、データベース上のリソースマネージャ対応のメインテーブル28とは別に管理対象オブジェクトが有する構造体型データ単位にサブテーブル29を作成する。メインテーブル28については、図8のメインテーブルと同じであるが、サブテーブル29は、テーブル要素として構造体型データの各データ型が追加された形式になっている。ここでも、メインテーブル28の属性名Bの値は、サブテーブル29において付与された、管理対象オブジェクトの属性名Bの最初のメンバの”id”の値がサブテーブル29へのデータ保存が終了後に、付与されている。
【0046】
ここで、ユーザが定義した属性名Bのデータに対して情報収集の依頼が来たときは、サブテーブル29に対し、そのBの値を有する”id”のレコードから始めて、同じ”sid”を有するメンバ数分のレコードについて、それらのデータ型の値を収集することになる。
【0047】
図11はシーケンスデータの存在しない構造体型データの管理を説明する図である。ここでは、図10に示したテーブルと同じ構造を有するテーブルを使用して、ユーザが定義した構造体型データがシーケンスデータでない場合の構造体型データの管理について説明する。
【0048】
構造体型データがシーケンスデータでないということは、”struct S”という構造体型データが一つであることを意味する。この場合、サブテーブル29の”sid”に"0"を付与させることにする。これにより、任意の構造体型データ型のシーケンスデータ型および単独のデータ型の処理をも可能となる。
【0049】
したがって、”sid”が”0”のレコードはシーケンスのデータではないことが識別できる上に、同じテーブル上で管理できるため、何個もシーケンス用のデータテーブルと単体用のサブテーブルと分けて作る必要がなく、リソースを有効に活用することができる。
【0050】
図12は本発明の第5の実施の形態における構成例を示す図である。図12において、図2に示した要素と同じ要素については同じ符号を付してその詳細な説明は省略する。この実施の形態では、クライアントからの操作要求に付与される制御条件を処理するフィルタ機能を持ったオブジェクトを存在させることにより、データベース上に存在する条件に合った管理対象オブジェクトに対してのみ操作を行うことを可能にしている。
【0051】
永続オブジェクトサービス23は、永続クエリーマネージャ25と、POSQueryオブジェクト26と、POSFilterオブジェクト34とを備えている。なお、POSFilterオブジェクト34は図1の条件変換手段16に対応する。
【0052】
次に、動作について説明するが、各オブジェクトの処理は図中の[1]から[6]の順に実行される。永続オブジェクトサービス23は、永続クエリーマネージャ25がクライアントからリソースマネージャ経由で操作要求[1]を受け取ったとし、その操作要求には操作条件が付与されているとする。ここで、操作条件として、たとえば
属性A=10(属性Aはint型のデータとする)
を操作要求に付与したとする。このような操作要求が付与された操作要求受け取った永続クエリーマネージャ25はその条件をPOSFilterオブジェクト34に渡し[2]、ここで、データベース27に対応した問い合わせ言語に変換する[3]。たとえば問い合わせ言語がSQL(Structured Query Language)の場合、クライアントからのA=10という条件を、
”where a = 10”
に変換する。次に、POSFilterオブジェクト34は、その変換結果を永続クエリーマネージャ25に返す[4]。永続クエリーマネージャ25は、操作要求とともに問い合わせ言語に変換された操作条件をPOSQueryオブジェクト26に渡す[5]。POSQueryオブジェクト26がデータベース27に対する操作を実行することにより[6]、データベース27はフィルタ処理を実行する。
【0053】
このように、POSFilterオブジェクト34がデータベース27に対応した問い合わせ言語への変換を実行してくれるため、クライアントは問い合わせ言語を意識することなく純粋に操作条件のみを定義すればそれに見合った応答結果を得ることが可能となる。
【0054】
図13は本発明の第6の実施の形態における構成例を示す図である。図13において、図12に示した要素と同じ要素については同じ符号を付してその詳細な説明は省略する。この実施の形態では、リソースマネージャ21から永続オブジェクトサービス23に操作要求がなされるたびに、その操作要求に付与された操作条件を処理するPOSFilterオブジェクトを生成するようにしたものである。
【0055】
複数のクライアント20−1〜20−nからあるリソースマネージャ21に対して操作要求▲1▼、▲2▼〜nがある場合に、リソースマネージャ21から即座に、永続クエリーマネージャ25に対して操作要求を行っている。操作要求を受け付けた永続クエリーマネージャ25では、要求を受け付けた段階でスレッドを起こし、POSQueryオブジェクト26−1〜26−nを生成するとともにPOSFilterオブジェクト34−1〜34−nも生成する。
【0056】
次に、POSFilterオブジェクト34−1〜34−nがそれぞれの操作要求▲1▼、▲2▼〜nに対する操作条件の問い合わせ言語への変換処理を行い、対応するそれぞれのPOSQueryオブジェクト26−1〜26−nに永続クエリーマネージャ25がその操作条件情報を渡すことで、複数の要求に対する操作条件変換処理に対し、POSFilterオブジェクトの処理待ちをすることがなくなる。
【0057】
図14は本発明の第7の実施の形態における構成例を示す図、図15は第7の実施の形態におけるデータベース上の各テーブル構成を表した図である。図14において、図2、図6、図12に示した要素と同じ要素については同じ符号を付してその詳細な説明は省略する。この実施の形態では、永続オブジェクトサービス23は、永続クエリーマネージャ25と、基本データ型の属性に対する操作を行うPOSQueryオブジェクト26と、Factoryオブジェクト31と、Factoryテーブル32と、構造体型データおよびシーケンスデータ型の属性に対する操作を行うPOSQueryオブジェクト33−1,33−2と、POSFilterオブジェクト34とを備えている。
【0058】
ここでは、リソースマネージャ21の管理対象である管理対象オブジェクトが以下のデータ型を属性として有し、操作条件が”e=20”である場合を例に説明する。
Figure 0004132441
属性d,e,fを持った管理対象オブジェクトを管理するリソースマネージャ21が保有するNTリスト24はあらかじめ各属性に対応するデータ型を定義して保持している。永続オブジェクトサービス23のFactoryテーブル32には、データ型とFactoryオブジェクトのリファレンスとの対応関係が登録されている。また、データベース27は、リソースマネージャ用メインテーブル28と、構造体型データ用のサブテーブル29−1と、シーケンスデータ型用のサブテーブル29−2とを保持しており、その各テーブルのテーブル構成は図15に示したような構成になっている。なお、以下の説明では、構造体型データおよびシーケンスデータ型を総称してコンプレックスデータ型と表現する。
【0059】
次に、動作について説明するが、各オブジェクトの処理は図中の[1]から[14]の順に実行される。まず、クライアントから操作要求[1]があると、その要求を受け取ったリソースマネージャ21は、管理対象オブジェクトのどの属性に対する操作が要求されているのかを判断し、属性名のデータ型をNTリストから検索する[2]。属性名、データ型、操作要求条件などの情報は、操作種別を含めリソースマネージャ21から永続オブジェクトサービス23の永続クエリーマネージャ25へ渡される[3]。要求を受けた永続クエリーマネージャ25はその要求を処理するためのPOSFilterオブジェクト34およびPOSQueryオブジェクト26を作成する[4],[5]。
【0060】
その後、POSFilterオブジェクト34にはクライアントからの操作条件が渡され、それを問い合わせ言語に変換した結果を永続クエリーマネージャ25へ返す[6]。このPOSFilterオブジェクト34は、たとえば問い合わせ言語がSQL言語の場合、クライアントからのe=20という条件を、
”where e = 20”
に変換して永続クエリーマネージャ25へ返すことになる。永続クエリーマネージャ25は、属性名、属性型、操作条件などの情報をPOSQueryオブジェクト26へ渡し[7]、その情報を受け取ったPOSQueryオブジェクト26は、属性名のデータ型のチェックを行う[8]。ここで、基本データ型の属性に対する操作はリソースマネージャ対応のメインテーブル28に対して実行される[9]。もし、コンプレックスデータ型に対する処理が含まれていれば、POSQueryオブジェクト26は、Factoryテーブル32を検索し[10]、データ型に対応するFactoryオブジェクト31のリファレンスを獲得する。この例の場合は、”struct S”および”sequence<Struct S>”のFactoryオブジェクト31のリファレンス”Ref x”,”Ref y”が獲得される。
【0061】
その後、POSQueryオブジェクト26は、Factoryオブジェクト31の対応する操作種別のメソッドをコールし[11]、要求を受けたそれぞれのFactoryオブジェクト31は新たにそれぞれの処理を実行するためのPOSQueryオブジェクト33−1,33−2を生成する[12]。それぞれのPOSQueryオブジェクト33−1,33−2が生成された後、これらのオブジェクトは対応するFactoryオブジェクトから操作要求を受け[13]、対応するデータ型のサブテーブル29−1,29−2に対する処理を実行する[14]。
【0062】
そして、データベース27からの応答結果はPOSQueryオブジェクト33−1,33−2にそれぞれ返され、その結果はFactoryオブジェクト31およびPOSQueryオブジェクト26に返って、すべてのデータがそろったところで、その結果は永続クエリーマネージャ25、リソースマネージャ21を介してクライアントへ返送される。
【0063】
図16は本発明の第8の実施の形態における構成例を示す図である。図16において、図2、図4、図6、図13に示した要素と同じ要素については同じ符号を付してその詳細な説明は省略する。この実施の形態では、クライアントからの複数の操作要求に対し、要求ごとにPOSFilterオブジェクトおよびPOSQueryオブジェクトの生成を行う例を示している。
【0064】
クライアントからの複数操作要求に対するリソースマネージャ21−1,21−2および永続オブジェクトサービス23の処理において、各オブジェクトの処理は図中の[1]から[14]の順に実行される。まず、リソースマネージャ(RM1)21−1,(RM2)21−2はそれぞれクライアントからの操作要求を受け[1]、NTリストで属性をチェックした後[2]、必要な情報とともに永続クエリーマネージャ25へ操作を要求する[3]。リソースマネージャ21−1,21−2から相次いで操作要求を受けた永続クエリーマネージャ25は、それぞれの要求に対応するPOSFilterオブジェクト34−1,34−2とPOSQueryオブジェクト26−1,26−2とを生成する[4],[5]。POSFilterオブジェクト34−1,34−2は、それぞれの操作要求に付加された条件を問い合わせ言語に変換し、その結果を永続クエリーマネージャ25へ返す[6]。永続クエリーマネージャ25は属性名、属性型、操作条件などの情報をそれぞれのPOSQueryオブジェクト26−1,26−2へ渡し[7]、その情報を受け取ったPOSQueryオブジェクト26−1,26−2は属性名のデータ型のチェックを行う[8]。データ型が基本データ型の場合、POSQueryオブジェクト26−1,26−2は各々のリソースマネージャ用のメインテーブル28−1,28−2に対する処理を実行する[9]。管理対象オブジェクトの属性のデータ型がコンプレックスデータ型の場合、POSQueryオブジェクト26−1,26−2は、Factoryテーブル32を検索し[10]、データ型に対応するFactoryオブジェクト31のリファレンスを獲得する。その後、POSQueryオブジェクト26−1,26−2は、Factoryオブジェクト31の対応する操作種別のメソッドをコールし[11]、要求を受けたそれぞれのFactoryオブジェクト31は新たにそれぞれの処理を実行するためのPOSQueryオブジェクト33−3,33−4を生成する[12]。それぞれのPOSQueryオブジェクト33−3,33−4が生成された後、これらのオブジェクトは対応するFactoryオブジェクトから操作要求を受け[13]、対応するデータ型のサブテーブル29−3,29−4に対する処理を実行する[14]。
【0065】
図17は本発明の第9の実施の形態における構成例を示す図である。図17において、図2に示した要素と同じ要素については同じ符号を付してその詳細な説明は省略する。この実施の形態では、管理対象オブジェクトを永続オブジェクトとしてデータベース上に管理するのではなく、別の形式のデータストアで管理する場合の例を示す。
【0066】
ここで、永続オブジェクトサービス23は、永続クエリーマネージャ25およびPOSQueryオブジェクト26を有し、構成上は図2に示した第1の実施の形態の場合と同じである。管理対象オブジェクトの属性の値など情報は、データストア40に管理される。このデータストア40として、たとえば、サーバ機上に置かれたファイルなどとすることができる。
【0067】
次に、この永続オブジェクトサービス23の動作について説明するが、その処理は図中の[1]から[3]の順に実行される。なお、リソースマネージャの管理対象である管理対象オブジェクトに対して、クライアントが、たとえば属性”A=10”(属性Aはint型のデータとする)のような操作条件を付与した操作要求があったとする。このクライアントからの操作要求がリソースマネージャ経由で永続オブジェクトサービス23の永続クエリーマネージャ25に渡されると[1]、永続クエリーマネージャ25は、操作条件の”A=10”とともにPOSQueryオブジェクト26に操作要求を渡す。POSQueryオブジェクト26は、操作条件を解析し、データストア40内から操作条件に合ったデータに対する処理(フィルタ処理)を実行し、データストア40への操作を実施する[3]。
【0068】
したがって、POSQueryオブジェクト26がフィルタ処理を実行するようにしたことにより、以上のように管理対象オブジェクトがデータストア40に管理される場合はもちろん、フィルタ処理をデータベースに依存することができないような場合においても、クライアントからの操作条件に適合した応答結果を返すことを可能にする。
【0069】
また、データストアの形式が変わったとしても、リソースマネージャおよび永続オブジェクトサービス23を大幅に変更する必要はなく、データストアの形式に応じてPOSQueryオブジェクト26を新たなデータストア40とのインタフェース機能を持たせるようにするだけでよい。
【0070】
また、上記の情報管理システムが有すべき機能の処理内容は、コンピュータで読み取り可能な記録媒体に記録されたプログラムに記述させておくことができる。このプログラムをコンピュータで実行することにより、上記処理がコンピュータで実現できる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置や半導体メモリなどがある。市場に流通させる場合には、CD−ROM(Compact Disk Read Only Memory)やフロッピーディスクなどの可搬型記録媒体にプログラムを格納して流通させたり、ネットワークを介して接続されたコンピュータの記憶装置に格納しておき、ネットワークを通じて他のコンピュータに転送することもできる。コンピュータで実行する際には、コンピュータ内のハードディスク装置などにプログラムを格納しておき、これをメインメモリにロードして実行する。
【0071】
【発明の効果】
以上説明したように本発明では、永続オブジェクトサービス内に永続クエリーマネージャ、POSQueryオブジェクト、POSFilterオブジェクト、FactoryオブジェクトおよびFactoryテーブルを備え、データベース上にはリソースマネージャ対応のメインテーブルとデータ型ごとのサブテーブルとを定義するように構成した。これにより、リソースマネージャは管理対象オブジェクトの属性データの型を意識することなく、複雑な型と言われる構造体型、並びにシーケンスデータの扱いが可能となり、複数のクライアントからの操作要求に対しても効率的に処理を行うことができ、永続オブジェクトとして管理対象オブジェクトを管理するシステムの性能を向上させることができる。
【図面の簡単な説明】
【図1】本発明による管理対象オブジェクトのデータ管理装置の原理構成図である。
【図2】本発明の第1の実施の形態における構成例を示す図である。
【図3】本発明の第2の実施の形態における構成例を示す図である。
【図4】本発明の第3の実施の形態における構成例を示す図である。
【図5】第3の実施の形態における動作説明図である。
【図6】本発明の第4の実施の形態における構成例を示す図である。
【図7】第4の実施の形態における動作説明図である。
【図8】基本データ型のシーケンスデータの管理を説明する図である。
【図9】シーケンスデータの処理の流れを示すフローチャートである。
【図10】構造体データ型のシーケンスデータの管理を説明する図である。
【図11】シーケンスデータの存在しない構造体型データの管理を説明する図である。
【図12】本発明の第5の実施の形態における構成例を示す図である。
【図13】本発明の第6の実施の形態における構成例を示す図である。
【図14】本発明の第7の実施の形態における構成例を示す図である。
【図15】第7の実施の形態におけるデータベース上の各テーブル構成を表した図である。
【図16】本発明の第8の実施の形態における構成例を示す図である。
【図17】本発明の第9の実施の形態における構成例を示す図である。
【図18】情報管理システムの概要説明図である。
【図19】従来の情報管理システムの構成図である。
【符号の説明】
11 リソース管理手段
12 インタフェース手段
13 第1のクエリー手段
14 データ型判断手段
15 第2のクエリー手段
15 データベース
16 条件変換手段
17 データベース
18 メインテーブル
19 サブテーブル
20 クライアント
21 リソースマネージャ
23 永続オブジェクトサービス
24 NTリスト
25 永続クエリーマネージャ
26 POSQueryオブジェクト
27 データベース
28 メインテーブル
29 サブテーブル
31 Factoryオブジェクト
32 Factoryテーブル
33 POSQueryオブジェクト
34 POSFilterオブジェクト
40 データストア

Claims (10)

  1. オブジェクト指向技術を用いて実現される情報管理システムにて管理対象オブジェクトを永続オブジェクトとしてデータベース上に管理する管理対象オブジェクトのデータ管理装置において、
    クライアントアプリケーションから前記管理対象オブジェクトの属性名が付与された操作要求を受け、前記管理対象オブジェクトの属性名とデータ型との対応を定義したリストから前記操作要求に付与された属性名に対応するデータ型を取得し、前記操作要求に付与するリソース管理手段と、
    前記リソース管理手段とのインタフェース部が定義されており、前記操作要求を前記リソース管理手段から受けるインタフェース手段と、
    前記インタフェース手段で受けた前記操作要求に付与されたデータ型が構造体型か否かを判断するデータ型判断手段と、
    前記インタフェース手段で受けた前記操作要求を問い合わせ言語に変換し、前記管理対象オブジェクトの基本データ型データと構造体型データの識別子とを管理するメインテーブルを保持する前記データベースに対して、前記メインテーブルへの操作を実行する第1のクエリー手段と、
    前記管理対象オブジェクトの構造体型データを前記識別子により前記メインテーブルと関連付けて管理する構造体型ごとのサブテーブルを保持する前記データベースに対する、構造体型データを扱うための操作を規定した構造体型ごとのファクトリーオブジェクトを備える第2のクエリー手段と、
    を備え、
    前記第1のクエリー手段は、前記データ型判断手段で前記操作要求に付与されたデータ型が構造体型と判断されると、前記第2のクエリー手段が備える当該構造体型に対応するファクトリーオブジェクトを呼び出し、
    前記ファクトリーオブジェクトは、前記第1のクエリー手段からの呼び出しを受けて、前記サブテーブルへの操作を実行するクエリーオブジェクトを生成して前記操作要求に対する操作を実行させる、
    ことを特徴とする管理対象オブジェクトのデータ管理装置。
  2. 前記第2のクエリー手段は、前記ファクトリーオブジェクトのリファレンスと構造体型との対応を登録したファクトリーテーブルを更に備えており、
    前記第1のクエリー手段は、前記ファクトリーオブジェクトの呼び出しの際、前記第2のクエリー手段が備える前記ファクトリーテーブルを検索して、呼び出すファクトリーオブジェクトのリファレンスを取得する、
    ことを特徴とする請求項1記載の管理対象オブジェクトのデータ管理装置。
  3. 前記インタフェース手段は、前記リソース管理手段からの前記操作要求ごとにスレッドを起こして前記第1のクエリー手段を生成することを特徴とする請求項1記載の管理対象オブジェクトのデータ管理装置。
  4. 前記インタフェース手段が受けた前記操作要求に付与された操作条件を前記問い合わせ言語の形式に変換して、前記第1のクエリー手段にて前記操作条件に適合した管理対象オブジェクトに対してのみ操作が実行されるようにする条件変換手段を更に備えていることを特徴とする請求項1記載の管理対象オブジェクトのデータ管理装置。
  5. 前記インタフェース手段は、前記リソース管理手段からの前記操作要求ごとに前記条件変換手段を生成することを特徴とする請求項4記載の管理対象オブジェクトのデータ管理装置。
  6. コンピュータを、
    クライアントアプリケーションから管理対象オブジェクトの属性名が付与された操作要求を受け、前記管理対象オブジェクトの属性名とデータ型との対応を定義したリストから前記操作要求に付与された属性名に対応するデータ型を取得し、前記操作要求に付与するリソース管理手段、
    前記リソース管理手段とのインタフェース部が定義されており、前記操作要求を前記リ ソース管理手段から受けるインタフェース手段、
    前記インタフェース手段で受けた前記操作要求に付与されたデータ型が構造体型か否かを判断するデータ型判断手段、
    前記インタフェース手段で受けた前記操作要求を問い合わせ言語に変換し、前記管理対象オブジェクトの基本データ型データと構造体型データの識別子とを管理するメインテーブルを保持するデータベースに対して、前記メインテーブルへの操作を実行する第1のクエリー手段、
    前記管理対象オブジェクトの構造体型データを前記識別子により前記メインテーブルと関連付けて管理する構造体型ごとのサブテーブルを保持する前記データベースに対する、構造体型データを扱うための操作を規定した構造体型ごとのファクトリーオブジェクトを備える第2のクエリー手段、
    として機能させ、
    前記第1のクエリー手段は、前記データ型判断手段で前記操作要求に付与されたデータ型が構造体型と判断されると、前記第2のクエリー手段が備える当該構造体型に対応するファクトリーオブジェクトを呼び出し、
    前記ファクトリーオブジェクトは、前記第1のクエリー手段からの呼び出しを受けて、前記サブテーブルへの操作を実行するクエリーオブジェクトを生成して前記操作要求に対する操作を実行させる、
    ことを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。
  7. 前記第2のクエリー手段は、前記ファクトリーオブジェクトのリファレンスと構造体型との対応を登録したファクトリーテーブルを更に備えており、
    前記第1のクエリー手段は、前記ファクトリーオブジェクトの呼び出しの際、前記第2のクエリー手段が備える前記ファクトリーテーブルを検索して、呼び出すファクトリーオブジェクトのリファレンスを取得する、
    ことを特徴とする請求項6記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
  8. 前記インタフェース手段は、前記リソース管理手段からの前記操作要求ごとにスレッドを起こして前記第1のクエリー手段を生成することを特徴とする請求項6記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
  9. 前記コンピュータを更に、前記インタフェース手段が受けた前記操作要求に付与された操作条件を前記問い合わせ言語の形式に変換して、前記第1のクエリー手段にて前記操作条件に適合した管理対象オブジェクトに対してのみ操作が実行されるようにする条件変換手段として機能させることを特徴とする請求項6記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
  10. 前記インタフェース手段は、前記リソース管理手段からの前記操作要求ごとに前記条件変換手段を生成することを特徴とする請求項9記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP20401099A 1999-07-19 1999-07-19 管理対象オブジェクトのデータ管理装置 Expired - Fee Related JP4132441B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP20401099A JP4132441B2 (ja) 1999-07-19 1999-07-19 管理対象オブジェクトのデータ管理装置
US09/540,891 US6728727B2 (en) 1999-07-19 2000-03-31 Data management apparatus storing uncomplex data and data elements of complex data in different tables in data storing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20401099A JP4132441B2 (ja) 1999-07-19 1999-07-19 管理対象オブジェクトのデータ管理装置

Publications (2)

Publication Number Publication Date
JP2001034528A JP2001034528A (ja) 2001-02-09
JP4132441B2 true JP4132441B2 (ja) 2008-08-13

Family

ID=16483286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20401099A Expired - Fee Related JP4132441B2 (ja) 1999-07-19 1999-07-19 管理対象オブジェクトのデータ管理装置

Country Status (2)

Country Link
US (1) US6728727B2 (ja)
JP (1) JP4132441B2 (ja)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9038108B2 (en) * 2000-06-28 2015-05-19 Verizon Patent And Licensing Inc. Method and system for providing end user community functionality for publication and delivery of digital media content
GB0015896D0 (en) * 2000-06-28 2000-08-23 Twi Interactive Inc Multimedia publishing system
US8126313B2 (en) * 2000-06-28 2012-02-28 Verizon Business Network Services Inc. Method and system for providing a personal video recorder utilizing network-based digital media content
US20070089151A1 (en) * 2001-06-27 2007-04-19 Mci, Llc. Method and system for delivery of digital media experience via common instant communication clients
US8972862B2 (en) 2001-06-27 2015-03-03 Verizon Patent And Licensing Inc. Method and system for providing remote digital media ingest with centralized editorial control
US7970260B2 (en) * 2001-06-27 2011-06-28 Verizon Business Global Llc Digital media asset management system and method for supporting multiple users
US8990214B2 (en) * 2001-06-27 2015-03-24 Verizon Patent And Licensing Inc. Method and system for providing distributed editing and storage of digital media over a network
US20060236221A1 (en) * 2001-06-27 2006-10-19 Mci, Llc. Method and system for providing digital media management using templates and profiles
US6873991B2 (en) * 2002-10-02 2005-03-29 Matter Associates, L.P. System and method for organizing information
GB0306237D0 (en) * 2003-03-19 2003-04-23 Marconi Comm Optical Networks Notifications in a telecommunications network
US7599948B2 (en) * 2003-10-10 2009-10-06 Oracle International Corporation Object relational mapping layer
FR2872606B1 (fr) * 2004-07-02 2006-10-27 Univ Paris Dauphine Etablissem Procede de traitement de donnees logiciel associe
US8214461B1 (en) * 2004-11-23 2012-07-03 Hewlett-Packard Development Company, L.P. Method of processing request by server computer system
US7428524B2 (en) * 2005-08-05 2008-09-23 Google Inc. Large scale data storage in sparse tables
US7668846B1 (en) 2005-08-05 2010-02-23 Google Inc. Data reconstruction from shared update log
US9401080B2 (en) 2005-09-07 2016-07-26 Verizon Patent And Licensing Inc. Method and apparatus for synchronizing video frames
US20070107012A1 (en) * 2005-09-07 2007-05-10 Verizon Business Network Services Inc. Method and apparatus for providing on-demand resource allocation
US9076311B2 (en) * 2005-09-07 2015-07-07 Verizon Patent And Licensing Inc. Method and apparatus for providing remote workflow management
US8631226B2 (en) * 2005-09-07 2014-01-14 Verizon Patent And Licensing Inc. Method and system for video monitoring
US7606813B1 (en) * 2006-09-27 2009-10-20 Emc Corporation Model consolidation in a database schema
US7702644B2 (en) * 2007-01-25 2010-04-20 Ludi Labs, Inc. Data management system and method to host applications and manage storage, finding and retrieval of typed items with support for tagging, connections, and situated queries
US8626720B2 (en) 2008-02-11 2014-01-07 International Business Machines Corporation System and method of reconstructing complex custom objects
US8032544B2 (en) * 2008-09-24 2011-10-04 The Boeing Company Methods and apparatus for generating dynamic program files based on input queries that facilitate use of persistent query services
US8484351B1 (en) 2008-10-08 2013-07-09 Google Inc. Associating application-specific methods with tables used for data storage
WO2011145044A1 (en) * 2010-05-17 2011-11-24 Green Sql Ltd Database translation system and method
US8583718B2 (en) 2010-08-17 2013-11-12 Fujitsu Limited Comparing boolean functions representing sensor data
US9002781B2 (en) 2010-08-17 2015-04-07 Fujitsu Limited Annotating environmental data represented by characteristic functions
US8572146B2 (en) 2010-08-17 2013-10-29 Fujitsu Limited Comparing data samples represented by characteristic functions
US8874607B2 (en) * 2010-08-17 2014-10-28 Fujitsu Limited Representing sensor data as binary decision diagrams
US8495038B2 (en) 2010-08-17 2013-07-23 Fujitsu Limited Validating sensor data represented by characteristic functions
US8930394B2 (en) 2010-08-17 2015-01-06 Fujitsu Limited Querying sensor data stored as binary decision diagrams
US8645108B2 (en) 2010-08-17 2014-02-04 Fujitsu Limited Annotating binary decision diagrams representing sensor data
US9138143B2 (en) 2010-08-17 2015-09-22 Fujitsu Limited Annotating medical data represented by characteristic functions
US8620854B2 (en) 2011-09-23 2013-12-31 Fujitsu Limited Annotating medical binary decision diagrams with health state information
US9177247B2 (en) 2011-09-23 2015-11-03 Fujitsu Limited Partitioning medical binary decision diagrams for analysis optimization
US8781995B2 (en) 2011-09-23 2014-07-15 Fujitsu Limited Range queries in binary decision diagrams
US8719214B2 (en) 2011-09-23 2014-05-06 Fujitsu Limited Combining medical binary decision diagrams for analysis optimization
US9176819B2 (en) 2011-09-23 2015-11-03 Fujitsu Limited Detecting sensor malfunctions using compression analysis of binary decision diagrams
US8909592B2 (en) 2011-09-23 2014-12-09 Fujitsu Limited Combining medical binary decision diagrams to determine data correlations
US8838523B2 (en) 2011-09-23 2014-09-16 Fujitsu Limited Compression threshold analysis of binary decision diagrams
US8812943B2 (en) 2011-09-23 2014-08-19 Fujitsu Limited Detecting data corruption in medical binary decision diagrams using hashing techniques
US9075908B2 (en) 2011-09-23 2015-07-07 Fujitsu Limited Partitioning medical binary decision diagrams for size optimization
JP5685205B2 (ja) * 2012-01-13 2015-03-18 富士通フロンテック株式会社 プログラム、情報処理装置およびアクセス支援方法
US9026562B2 (en) * 2012-10-05 2015-05-05 Hazeltree Fund Services, Inc. Methods and systems for agnostic data storage
GB2509978A (en) 2013-01-21 2014-07-23 Ibm Polymorphic columns in database
US20140279869A1 (en) * 2013-03-12 2014-09-18 Siemens Product Lifecycle Management Software Inc. Transaction-Based Traversal-Free Data Synchronization Among Multiple Sites
US20240152514A1 (en) * 2022-11-09 2024-05-09 Microsoft Technology Licensing, Llc Arbitrary directory data properties in sql-based directory systems

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297279A (en) * 1990-05-30 1994-03-22 Texas Instruments Incorporated System and method for database management supporting object-oriented programming
US5295256A (en) * 1990-12-14 1994-03-15 Racal-Datacom, Inc. Automatic storage of persistent objects in a relational schema
US5694597A (en) 1994-04-26 1997-12-02 International Business Machines Corporation Method and system for optimizing access to a datastore
US5542078A (en) * 1994-09-29 1996-07-30 Ontos, Inc. Object oriented data store integration environment for integration of object oriented databases and non-object oriented data facilities
US5799309A (en) * 1994-12-29 1998-08-25 International Business Machines Corporation Generating an optimized set of relational queries fetching data in an object-relational database
JPH11504451A (ja) * 1995-04-24 1999-04-20 アスペクト・ディベロップメント・インコーポレイテッド データベース構造に適したオブジェクトのモデリング、リレーショナルデータベース構造への翻訳、それらへの流動的なサーチ
US6078925A (en) * 1995-05-01 2000-06-20 International Business Machines Corporation Computer program product for database relational extenders
JP3857749B2 (ja) 1996-06-18 2006-12-13 富士通株式会社 永続オブジェクト管理装置
JPH10161923A (ja) 1996-11-28 1998-06-19 Toshiba Corp オブジェクト指向データベース管理装置
US5857197A (en) * 1997-03-20 1999-01-05 Thought Inc. System and method for accessing data stores as objects
US6192370B1 (en) * 1998-06-19 2001-02-20 Sap Aktiengesellschaft Method and system for rapid memory-resident processing of transactional data

Also Published As

Publication number Publication date
US20030208509A1 (en) 2003-11-06
JP2001034528A (ja) 2001-02-09
US6728727B2 (en) 2004-04-27

Similar Documents

Publication Publication Date Title
JP4132441B2 (ja) 管理対象オブジェクトのデータ管理装置
JP6560308B2 (ja) データ記憶サービスを実装するシステム及び方法
US6760733B1 (en) Object management system and data processing system with centralized mechanism for managing containment relationships among objects
US6834286B2 (en) Method and system for representing and accessing object-oriented data in a relational database system
US7143156B2 (en) Management information to object mapping
US7454516B1 (en) Scalable virtual partitioning of resources
US5751962A (en) Object-based systems management of computer networks
US7143078B2 (en) System and method for managed database query pre-optimization
JP3792419B2 (ja) ディレクトリデータ変換方法、ディレクトリデータ変換プログラムが記憶された記憶媒体、およびディレクトリ変換サーバ
CN103038788A (zh) 提供多个网络资源
JP2007148738A (ja) 情報監視方法、システム及びプログラム
JP2004362144A (ja) 運用管理方法及び実施装置並びに処理プログラム
JP3307329B2 (ja) ネットワーク構成管理対象アクセスシステム及び方法
US6604096B1 (en) Apparatus and method for locally caching query explain data
US20040025142A1 (en) Method and apparatus for managing objects in a CIM environment
US8055665B2 (en) Sorted search in a distributed directory environment using a proxy server
US7752225B2 (en) Replication and mapping mechanism for recreating memory durations
JP4031947B2 (ja) 異種データベース統合システムにおける問い合わせ最適化処理装置、問い合わせ最適化処理方法、その方法をコンピュータに実行させるプログラムおよびプログラムを記録した記録媒体
EP1164481A2 (en) Object identifier based protocols in a distributed data processing system
US20220329473A1 (en) Enhanced simple network management protocol (snmp) connector
US7653709B1 (en) Method for remote interrogation of SNMP agents
KR20050055240A (ko) 메타데이터 통합관리 시스템 및 방법
CN112416576A (zh) 一种数据库负载均衡的方法及装置
KR100624477B1 (ko) 대표구현객체를 이용한 형상 관리 시스템 및 그 방법
CN113722263B (zh) 一种集群数据采集方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080425

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: 20080527

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080602

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

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130606

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140606

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees