(57)【要約】【課題】効率的にキャッシュデータを格納できるキャッシュシステムを提供する。【解決手段】高効率キャッシュシステムは、オブジェクトリレーショナルマッピングにおける高効率キャッシュシステムであって、前記リレーショナルデータベースに保存されているデータから、キャッシュ用オブジェクトと処理用オブジェクトとに変換するデータオブジェクト変換手段と、前記キャッシュ用オブジェクトと前記処理用オブジェクトとを対応付けて相互に変換可能なオブジェクト対応相互変換手段と、前記キャッシュ用オブジェクトを格納するオブジェクトキャッシュ格納手段と、前記リレーショナルデータベースからデータを取得する補充オブジェクトデータ取得手段と、取得したオブジェクトと取得したデータとから、キャッシュ用オブジェクトと、取得要求に対して提供される処理用オブジェクトとを生成するオブジェクト生成手段とを有する。【選択図】図１
2007265164.tif 000002
【特許請求の範囲】
【請求項１】
データを保存するリレーショナルデータベースと、保存されている前記データを管理するリレーショナルデータベース管理手段とを備えるオブジェクトリレーショナルマッピングにおける高効率キャッシュシステムであって、
前記リレーショナルデータベースに保存されているデータから、表構造に対応したキャッシュ用オブジェクトと、データの利用形態に対応した処理用オブジェクトとに変換するデータオブジェクト変換手段と、
前記キャッシュ用オブジェクトと前記処理用オブジェクトとを対応付けて、相互に変換可能なオブジェクト対応相互変換手段と、
前記キャッシュ用オブジェクトを格納するオブジェクトキャッシュ格納手段と
を備え、
オブジェクトの取得要求を受けて前記オブジェクトキャッシュ格納手段を検索し、前記取得要求のうち前記オブジェクトキャッシュ格納手段から取得できなかった前記オブジェクトについて前記リレーショナルデータベースからデータを取得する補充オブジェクトデータ取得手段と、
取得できた前記オブジェクトと前記データとから、前記データオブジェクト変換手段によって前記キャッシュ用オブジェクトと前記処理用オブジェクトとに変換されると共に、変換された前記キャッシュ用オブジェクトは前記オブジェクトキャッシュ格納手段に格納され、変換によって生成された前記処理用オブジェクトは前記取得要求に対して提供されるオブジェクト生成手段と
を有することを特徴とする高効率キャッシュシステム。
【請求項２】
前記オブジェクト生成手段によって前記処理用オブジェクトが生成される毎に、前記リレーショナルデータベース管理手段を介して前記リレーショナルデータベースの更新を行うリレーショナルデータベース更新手段
をさらに有することを特徴とする請求項１に記載の高効率キャッシュシステム。
【請求項３】
前記キャッシュ用オブジェクトとして前記オブジェクトキャッシュ格納手段に格納されていない前記処理用オブジェクトが作成された場合には、前記オブジェクト対応相互変換手段によって前記キャッシュ用オブジェクトに変換され、前記オブジェクトキャッシュ格納手段に格納されると共に、前記リレーショナルデータベース管理手段を介して前記リレーショナルデータベースに保存を行う未登録オブジェクト整合保存手段
をさらに有することを特徴とする請求項１又は２に記載の高効率キャッシュシステム。
【請求項４】
データを保存するリレーショナルデータベースと、保存されている前記データを管理するリレーショナルデータベース管理部とを備えるオブジェクトリレーショナルマッピングにおける高効率キャッシュ格納方法であって、
オブジェクトの取得要求を受けて、表構造に対応したキャッシュ用オブジェクトとデータの利用形態に対応した処理用オブジェクトとを格納するオブジェクトキャッシュを検索するオブジェクト検索ステップと、
前記取得要求のうち前記オブジェクトキャッシュから取得できなかった前記オブジェクトについて前記リレーショナルデータベースからデータを取得するデータ取得ステップと、
取得できたオブジェクトと前記データとから、相互に変換可能に対応付けられた前記キャッシュ用オブジェクトと前記処理用オブジェクトとに変換するオブジェクト変換ステップと、
変換された前記キャッシュ用オブジェクトを前記オブジェクトキャッシュに格納すると共に、変換によって生成された前記処理用オブジェクトを、前記取得要求に対して提供するオブジェクト生成ステップと
を有することを特徴とする高効率キャッシュ格納方法。
【請求項５】
前記処理用オブジェクトが生成される毎に、前記リレーショナルデータベース管理部を介して前記リレーショナルデータベースの更新を行うリレーショナルデータベース更新ステップ
をさらに有することを特徴とする請求項４に記載の高効率キャッシュ格納方法。
【請求項６】
前記キャッシュ用オブジェクトとして前記オブジェクトキャッシュに格納されていない前記処理用オブジェクトが作成された場合には、前記キャッシュ用オブジェクトに変換され、前記オブジェクトキャッシュに格納されると共に、前記リレーショナルデータベース管理部を介して前記リレーショナルデータベースの保存を行う未登録オブジェクト整合保存ステップ
をさらに有することを特徴とする請求項４又は５に記載の高効率キャッシュ格納方法。
【請求項７】
データを保存するリレーショナルデータベースと、保存されている前記データを管理するリレーショナルデータベース管理部とを備えるオブジェクトリレーショナルマッピングにおける高効率キャッシュ操作プログラムであって、
オブジェクトの取得要求を受けて、表構造に対応したキャッシュ用オブジェクトとデータの利用形態に対応した処理用オブジェクトとを格納するオブジェクトキャッシュを検索するオブジェクト検索手順と、
前記取得要求のうち前記オブジェクトキャッシュから取得できなかった前記オブジェクトについて前記リレーショナルデータベースからデータを取得するデータ取得手順と、
取得できたオブジェクトと前記データとから、相互に変換可能に対応付けられた前記キャッシュ用オブジェクトと前記処理用オブジェクトとに変換するオブジェクト変換手順と、
変換された前記キャッシュ用オブジェクトを前記オブジェクトキャッシュに格納する共に、変換によって生成された前記処理用オブジェクトを、前記取得要求に対して提供するオブジェクト生成手順と
をコンピュータに実行させることを特徴とする高効率キャッシュ操作プログラム。
【請求項８】
前記処理用オブジェクトが生成される毎に、前記リレーショナルデータベース管理部を介して前記リレーショナルデータベースの更新を行うリレーショナルデータベース更新手順
をさらに有することを特徴とする請求項７に記載の高効率キャッシュ操作プログラム。
【請求項９】
前記キャッシュ用オブジェクトとして前記オブジェクトキャッシュに格納されていない前記処理用オブジェクトが作成された場合には、前記キャッシュ用オブジェクトに変換され、前記オブジェクトキャッシュに格納されると共に、前記リレーショナルデータベース管理部を介して前記リレーショナルデータベースの保存を行う未登録オブジェクト整合保存手順
をさらに有することを特徴とする請求項７又は８に記載の高効率キャッシュ操作プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースの高効率キャッシュシステム、キャッシュ格納方法およびキャッシュ操作プログラムに関し、特にオブジェクト・リレーショナルマッピングにおいて効率的にオブジェクトキャッシュデータを格納できるデータベースの高効率キャッシュシステム、高効率キャッシュ格納方法及び高効率キャッシュ操作プログラムに関する。
【背景技術】
【０００２】
従来から、企業向けの情報システムにおいて、データベースへのアクセスする際の手法として、オブジェクト・リレーショナルマッピング（Object Relational Mapping）というキャッシュシステム（Cache System）が知られている。
【０００３】
ここで、オブジェクト・リレーショナルマッピングとは、データベースの設計手法であるデータ中心設計手法と、オブジェクト指向開発を融合させた技術であり、オブジェクト指向言語におけるオブジェクトを、リレーショナルデータベースにマッピングするための技術の総称である。
【０００４】
このオブジェクト・リレーショナルマッピングキャッシュシステムの一例が、特表２００１−５２７２４４号公報に記載されている。
【０００５】
この特表２００１-５２７２４４号公報では、図１３に示すように、従来のキャッシュシステムとして、サーバ装置１７６と、クライアント装置１１０と、ネットワーク１６５とを備えている。
【０００６】
このサーバ装置１７６は、入出力インターフェース１７２、ネットワークインターフェース１７４、プロセッサ１７０、リレーショナルデータベース管理システム（ＲＤＢＭＳ）１８８を備えており、バスによって接続されている。このＲＤＢＭＳ１８８は、クエリ（query）を受け取り、テーブルに格納されたデータに基づきこのクエリを実行し、結果として得たデータを返す。
【０００７】
またクライアント装置１１０は、ディスプレイ装置１１５、プロセッサ１２０、入出力インターフェース１２５、ネットワークインターフェース１３０、メモリ１４０を備えており、それぞれバス１３５に接続されている。またメモリ１４０は、ユーザプログラム１４５、オブジェクトキャッシュ１５０、ＯＤＭ／ＯＱＬプロセス１５５、仮想マシン１６０を格納している。
【０００８】
このような構成を有する従来のキャッシュシステムは、以下のように動作する。
【０００９】
クライアント装置１１０のユーザプログラム１４５は、クエリを発行する。次に、ＯＤＭ／ＯＱＬプロセス１５５は、発行されたクエリとＲＤＢＭＳ１８８に含まれるテーブルに格納するデータとのインターフェースを行う。すなわちクエリは、ＯＤＭ／ＯＱＬプロセス１５５によって処理され、ネットワーク１６５を介してサーバ装置１７６のＲＤＢＭＳ１８８に送信される。
【００１０】
ＲＤＢＭＳ１８８は、保有するテーブルに基づいてクエリを実行した結果、得られるデータセットをＯＤＭ／ＯＱＬプロセス１５５に提供する。ＯＤＭ／ＯＱＬプロセス１５５は、得られたデータセットをオブジェクトに変換し、変換したオブジェクトをオブジェクトキャッシュ１５０に格納する。その後ＯＤＭ／ＯＱＬプロセス１５５は、さらにオブジェクトを作成する処理を行い、その結果をユーザプログラム１４５に提供する。このとき、作成されたオブジェクトの構造は、ＲＤＢＭＳ１８８の表構造をそのまま反映したものとなっている。
【特許文献１】特表２００１−５２７２４４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献１に記載された発明では、オブジェクトの生成において、データの利用形態ではなく、データベースの表構造に依存したオブジェクトを生成するため、不必要な要素を持つオブジェクトが生成されたり、オブジェクトを生成するためのデータベースへのアクセスが非効率になったりするので、データベースを効率的に利用できていなかった。
【００１２】
また、上記のようにオブジェクトの生成において、データの利用形態ではなく、データベースの表構造に依存したオブジェクトが生成されるので、生成されたオブジェクトを利用する際には、参照するオブジェクトの数が増加する上に、オブジェクトに対する操作も複雑になってしまう。
【００１３】
従って、データベースから生成されたオブジェクトは、非常に利用しにくいものになってしまうという問題があった。
【００１４】
本発明は、上記課題に鑑みてなされたものであり、オブジェクト・リレーショナルマッピングにおいて、効率的にキャッシュデータを格納できるデータベースの高効率キャッシュシステム、高効率キャッシュ格納方法、及び高効率キャッシュ操作プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の高効率キャッシュシステムは、データを保存するリレーショナルデータベースと、保存されている前記データを管理するリレーショナルデータベース管理手段とを備えるオブジェクトリレーショナルマッピングにおける高効率キャッシュシステムであって、前記リレーショナルデータベースに保存されているデータから、表構造に対応したキャッシュ用オブジェクトと、データの利用形態に対応した処理用オブジェクトとに変換するデータオブジェクト変換手段と、前記キャッシュ用オブジェクトと前記処理用オブジェクトとを対応付けて、相互に変換可能なオブジェクト対応相互変換手段と、前記キャッシュ用オブジェクトを格納するオブジェクトキャッシュ格納手段とを備え、オブジェクトの取得要求を受けて前記オブジェクトキャッシュ格納手段を検索し、前記取得要求のうち前記オブジェクトキャッシュ格納手段から取得できなかった前記オブジェクトについて前記リレーショナルデータベースからデータを取得する補充オブジェクトデータ取得手段と、取得できた前記オブジェクトと前記データとから、前記データオブジェクト変換手段によって前記キャッシュ用オブジェクトと前記処理用オブジェクトとに変換されると共に、変換された前記キャッシュ用オブジェクトは前記オブジェクトキャッシュ格納手段に格納され、変換によって生成された前記処理用オブジェクトは前記取得要求に対して提供されるオブジェクト生成手段とを有することを特徴とする。
【００１６】
また、本発明の高効率キャッシュシステムは、前記オブジェクト生成手段によって前記処理用オブジェクトが生成される毎に、前記リレーショナルデータベース管理手段を介して前記リレーショナルデータベースの更新を行うリレーショナルデータベース更新手段をさらに有するようにしても良い。
【００１７】
また、本発明の高効率キャッシュシステムは、前記キャッシュ用オブジェクトとして前記オブジェクトキャッシュ格納手段に格納されていない前記処理用オブジェクトが作成された場合には、前記オブジェクト対応相互変換手段によって前記キャッシュ用オブジェクトに変換され、前記オブジェクトキャッシュ格納手段に格納されると共に、前記リレーショナルデータベース管理手段を介して前記リレーショナルデータベースに保存を行う未登録オブジェクト整合保存手段をさらに有するようにしても良い。
【００１８】
本発明の高効率キャッシュ格納方法は、データを保存するリレーショナルデータベースと、保存されている前記データを管理するリレーショナルデータベース管理部とを備えるオブジェクトリレーショナルマッピングにおける高効率キャッシュ格納方法であって、オブジェクトの取得要求を受けて、表構造に対応したキャッシュ用オブジェクトとデータの利用形態に対応した処理用オブジェクトとを格納するオブジェクトキャッシュを検索するオブジェクト検索ステップと、前記取得要求のうち前記オブジェクトキャッシュから取得できなかった前記オブジェクトについて前記リレーショナルデータベースからデータを取得するデータ取得ステップと、取得できたオブジェクトと前記データとから、相互に変換可能に対応付けられた前記キャッシュ用オブジェクトと前記処理用オブジェクトとに変換するオブジェクト変換ステップと、変換された前記キャッシュ用オブジェクトを前記オブジェクトキャッシュに格納する共に、変換によって生成された前記処理用オブジェクトを、前記取得要求に対して提供するオブジェクト生成ステップとを有することを特徴とする。
【００１９】
また、本発明の高効率キャッシュ格納方法は、前記処理用オブジェクトが生成される毎に、前記リレーショナルデータベース管理部を介して前記リレーショナルデータベースの更新を行うリレーショナルデータベース更新ステップをさらに有するようにしても良い。
【００２０】
また、本発明の高効率キャッシュ格納システムは、前記キャッシュ用オブジェクトとして前記オブジェクトキャッシュに格納されていない前記処理用オブジェクトが作成された場合には、前記キャッシュ用オブジェクトに変換され、前記オブジェクトキャッシュに格納されると共に、前記リレーショナルデータベース管理部を介して前記リレーショナルデータベースの保存を行う未登録オブジェクト整合保存ステップをさらに有するようにしても良い。
【００２１】
本発明の高効率キャッシュ操作プログラムは、データを保存するリレーショナルデータベースと、保存されている前記データを管理するリレーショナルデータベース管理部とを備えるオブジェクトリレーショナルマッピングにおける高効率キャッシュ操作プログラムであって、オブジェクトの取得要求を受けて、表構造に対応したキャッシュ用オブジェクトとデータの利用形態に対応した処理用オブジェクトとを格納するオブジェクトキャッシュを検索するオブジェクト検索手順と、前記取得要求のうち前記オブジェクトキャッシュから取得できなかった前記オブジェクトについて前記リレーショナルデータベースからデータを取得するデータ取得手順と、取得できたオブジェクトと前記データとから、相互に変換可能に対応付けられた前記キャッシュ用オブジェクトと前記処理用オブジェクトとに変換するオブジェクト変換手順と、変換された前記キャッシュ用オブジェクトを前記オブジェクトキャッシュに格納する共に、変換によって生成された前記処理用オブジェクトを、前記取得要求に対して提供するオブジェクト生成手順とをコンピュータに実行させることを特徴とする。
【００２２】
また、本発明の高効率キャッシュ操作プログラムは、前記処理用オブジェクトが生成される毎に、前記リレーショナルデータベース管理部を介して前記リレーショナルデータベースの更新を行うリレーショナルデータベース更新手順をさらに有するようにしても良い。
【００２３】
また、本発明の高効率キャッシュ操作プログラムは、前記キャッシュ用オブジェクトとして前記オブジェクトキャッシュに格納されていない前記処理用オブジェクトが作成された場合には、前記キャッシュ用オブジェクトに変換され、前記オブジェクトキャッシュに格納されると共に、前記リレーショナルデータベース管理部を介して前記リレーショナルデータベースの保存を行う未登録オブジェクト整合保存手順をさらに有するようにしても良い。
【００２４】
このような構成を採用し、オブジェクトキャッシュ格納手段にオブジェクトの格納、検索に柔軟に対応し、取得できないオブジェクトについてリレーショナルデータベースのデータを利用することにより、本発明の目的を達成することができる。
【発明の効果】
【００２５】
本発明によれば、オブジェクトキャッシュ格納手段に格納されたキャッシュ用オブジェクトとリレーショナルデータベースから取得したデータとを加工した上で処理用オブジェクトを提供するオブジェクト作成手段を有しているので、リレーショナルデータベースのデータからシステムで利用しやすい利用形態の処理用オブジェクトの形式で提供できると共に、リレーショナルデータベースへのアクセスする回数を低減させることにより、効率化を図ることができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明を実施するための最良の実施の形態について、図面を参照して詳細に説明する。
（第１の実施の形態）
図１は、本発明に係る第１の実施の形態として、高効率キャッシュシステムのブロック図である。図１に示す高効率キャッシュシステムでは、データを格納するリレーショナルＤＢ（ｄａｔａｂａｓｅ）部２００と、リレーショナルＤＢ部２００とオブジェクトの変換を行うオブジェクトリレーショナルＤＢ（ｄａｔａｂａｓｅ）マッピング部１００と、オブジェクトをキャッシュとして保持するオブジェクトキャッシュ部３００と、オブジェクト処理を行うオブジェクト処理部４００とを備えている。
【００２７】
オブジェクトリレーショナルＤＢマッピング部１００は、オブジェクトアクセス−ＤＢ（ｄａｔａｂａｓｅ）アクセス変換部１０１と、ＤＢ（ｄａｔａｂａｓｅ）アクセス部１０２と、ＤＢ（ｄａｔａｂａｓｅ）データ−オブジェクト変換部１０３とを備えている。
【００２８】
これらの各ブロックはそれぞれ概略、次のように動作する。
【００２９】
オブジェクトアクセス−ＤＢアクセス変換部１０１は、オブジェクト処理部４００からのオブジェクト取得要求を受けて、オブジェクトキャッシュ部３００のオブジェクトキャッシュ操作部３０１と、ＤＢアクセス部１０２とを利用してオブジェクトの操作を行い、結果をオブジェクト処理部４００に提供する。
【００３０】
ＤＢアクセス部１０２は、オブジェクトアクセス−ＤＢアクセス変換部１０１からＤＢアクセス要求を受け取り、リレーショナルＤＢ部２００へアクセスし、結果をオブジェクトアクセス−ＤＢアクセス変換部１０１に通知する。
【００３１】
ＤＢデータ−オブジェクト変換部１０３は、オブジェクトアクセス−ＤＢアクセス変換部１０１を介してＤＢアクセス部１０２によってリレーショナルＤＢ部２００から取得されたＤＢデータをオブジェクトに変換する。
【００３２】
次にオブジェクトキャッシュ部３００は、オブジェクトキャッシュ操作部３０１と、オブジェクトキャッシュ保持部３０２とを備えている。
【００３３】
これらの回路ブロックは、それぞれ概略、次のように動作する。
【００３４】
オブジェクトキャッシュ操作部３０１は、オブジェクトの取得、保持要求により、オブジェクトキャッシュ保持部３０２におけるオブジェクトの有無の検索、オブジェクトの取得、オブジェクトの格納を行い、オブジェクトキャッシュ保持部３０２は、オブジェクトの保持を行っている。
【００３５】
次に、図２のフローチャートを参照しながら、図１のブロック図の本実施の形態の全体の動作について詳細に説明する。
【００３６】
まず、オブジェクト処理部４００が、オブジェクト処理を行う中で、オブジェクトの取得、新規作成、更新が必要となった際に、オブジェクトアクセス−ＤＢアクセス変換部１０１に対し、オブジェクトの取得、新規作成、更新命令を送る(図２のステップＡ０１)。
【００３７】
次に、オブジェクトアクセス−ＤＢアクセス変換部１０１は、オブジェクト操作の種類を判定する(図２のステップＡ０２)。オブジェクト操作の種類がオブジェクトの取得ならば、オブジェクトキャッシュ部３００のオブジェクトキャッシュ操作部３０１が、オブジェクトキャッシュ保持部３０２へ取得すべきオブジェクトそのもの、又はその一部が存在するか否か検索する(図２のステップＡ０３、Ａ０４)。
【００３８】
オブジェクトキャッシュ保持部３０２に取得したいオブジェクトがそのまま存在した場合や、オブジェクトキャッシュ保持部３０２の情報から取得したいオブジェクトが生成できる場合には、オブジェクトキャッシュ保持部３０２からデータを取得し、オブジェクト処理部４００に提供する(図２のＡ０９)。
【００３９】
オブジェクトキャッシュ保持部３０２に必要なオブジェクトが存在しない場合や、オブジェクトキャッシュ保持部３０２の情報からでは必要なオブジェクトが完全には生成できない場合には、オブジェクトアクセス−ＤＢアクセス変換部１０１は、オブジェクトの取得命令を必要なＤＢデータの取得命令に変換し(図２のステップＡ０５)、ＤＢアクセス部１０２に通知する。
【００４０】
ＤＢアクセス部１０２は、受け取ったＤＢデータの取得命令をリレーショナルＤＢ部２００に送り、必要なＤＢデータをオブジェクトアクセス−ＤＢアクセス変換部１０１に返答する(図２のＡ０６)。
【００４１】
オブジェクトアクセス−ＤＢアクセス変換部１０１は、取得したＤＢデータと図２のＡ０３で取得したオブジェクトをＤＢデータ−オブジェクト変換部１０３へ通知し、ＤＢデータ−オブジェクト変換部１０３では、キャッシュ用オブジェクトと処理用オブジェクトとを生成する(図２のＡ０７)。
【００４２】
キャッシュ用オブジェクトは、オブジェクトキャッシュ操作部３０１に送られ、オブジェクトキャッシュ保持部３０２に保存される(図２のＡ０８)。一方、処理用オブジェクトは、ＤＢデータ−オブジェクト変換部１０３からオブジェクトアクセス−ＤＢアクセス変換部１０１を介してオブジェクト処理部４００に提供される(図２のＡ０９)。
【００４３】
これに対し、オブジェクトの操作の種類がオブジェクトの新規作成、更新であれば、オブジェクトの新規作成または更新が行われる(図２のＡ１０)。
【００４４】
新規作成又は更新されたオブジェクトは、オブジェクトキャッシュ操作部３０１に送られ、ここでキャッシュ用オブジェクトに変換されてオブジェクトキャッシュ保持部３０２に保存される(図２のＡ１１)。
【００４５】
そして、オブジェクトアクセス−ＤＢアクセス変換部１０１は、オブジェクトの新規作成、更新命令をＤＢデータ新規作成、更新命令に変換し(図２のＡ１２)、ＤＢアクセス部１０２に通知する。
【００４６】
ＤＢアクセス部１０２は、受け取ったＤＢデータの新規作成、更新命令をリレーショナルＤＢ部２００に送り、ＤＢデータが新規作成、更新される(図２のＡ１３)。
【００４７】
ここで、キャッシュ用オブジェクトとは、リレーショナルＤＢ部２００の表構造に対応したオブジェクトである。すなわち、1つのオブジェクトが1つの表の1行を表現するようなオブジェクトである。各オブジェクトは、リレーショナルＤＢの主キーに対応する情報によって識別される。なお、主キーとは、ある情報を特定するための特別なフィールドを示し、重複しない一意な値を持っている。
【００４８】
また、処理用オブジェクトとは、オブジェクト処理部４００が処理するオブジェクトであり、リレーショナルＤＢ部２００の情報から生成可能ではあるものの、リレーショナルＤＢ部２００の表構造に対応していないオブジェクトである。
【００４９】
次に、本実施の形態における効果について説明する。
【００５０】
本実施形態のシステムは、処理用オブジェクトの各要素を生成するために、キャッシュ用オブジェクトのどの要素をどのように加工する必要があるかについて、あらかじめ保持している。この情報により、図２のＡ０４で必要な情報の有無を判断することができる。
【００５１】
また、処理用オブジェクトの要素とキャッシュ用オブジェクトの要素の対応関係情報もあらかじめ保持している。この情報により、図２のＡ０７、Ａ１０でキャッシュ用オブジェクトを生成することができる。
【００５２】
次に、具体的な実施例を用いて、本発明を実施するための最良の形態の動作を説明する。
【００５３】
図３に示すように、リレーショナルＤＢ部２００には、社員、業務、業務履歴の３つの表が定義されており、この各表には図３に図示しているようなデータが格納されているものとする。
【００５４】
また、オブジェクト処理部４００は、このデータを各社員の作業量、業務の進捗率という観点で処理するために、図４のようなオブジェクトを取得するものとする。
【００５５】
さらに、ＤＢデータ−オブジェクト変換部１０３は、図４のようなオブジェクトを生成する機能と、リレーショナルＤＢ部２００に定義されている３つの表（図３参照）に対応した図５のようなオブジェクトを生成する機能を有するものとする。
【００５６】
また、本発明の実施形態のシステムは、図６に示すようなオブジェクトの対応関係定義が、図４のオブジェクトと図５のオブジェクトから生成されると共に、図３のオブジェクト及び各表との対応関係がつけられ、図４のオブジェクトの生成方法を保持しているものとする。
【００５７】
また、オブジェクトキャッシュ保持部３０２は、初期状態では一切キャッシュを保持していないものとする。
【００５８】
このとき、オブジェクト処理部４００が、各社員の作業量を取得するというオブジェクト操作を実行すると(図２のＡ０１)、操作の種類はオブジェクトの取得であるため、判定(図２のＡ０２)により、オブジェクトアクセス−ＤＢアクセス変換部１０１は、オブジェクトキャッシュ部３００のオブジェクトキャッシュ操作部３０１に、必要な情報(社員の社員番号、氏名、勤務先、業務履歴の履歴番号、社員番号、作業日数、作業率)の問い合わせを行う(図２のＡ０４)。
【００５９】
この時点では、オブジェクトキャッシュ保持部３０２は、何も保持していない。このため、オブジェクトアクセス−ＤＢアクセス変換部１０１は、これらオブジェクトへのアクセスを、リレーショナルＤＢ部２００の該当する情報へのアクセスに変換し(図２のＡ０５)、ＤＢアクセス部１０２を利用して、リレーショナルＤＢ部２００からＤＢデータを取得する(図２のＡ０６)。
【００６０】
ＤＢデータは、ＤＢデータ−オブジェクト変換部１０３によって図７のようなキャッシュ用オブジェクトと図８のような処理用オブジェクトとが生成(図２のＡ０７)される。キャッシュ用オブジェクトは、オブジェクトキャッシュ操作部３０１によってオブジェクトキャッシュ保持部３０２に格納される(図２のＡ０８)と共に、処理用オブジェクトは、ＤＢデータ−オブジェクト変換部１０３から、オブジェクトアクセス−ＤＢアクセス変換部１０１を介して、オブジェクト処理部４００に渡される(図２のＡ０９)。
【００６１】
次に、オブジェクト処理部４００が、業務の進捗率を取得するというオブジェクト操作を実行すると(図２のＡ０１)、操作の種類はオブジェクトの取得であるため、判定(図２のＡ０２)により、オブジェクトアクセス−ＤＢアクセス変換部１０１は、オブジェクトキャッシュ部３００のオブジェクトキャッシュ操作部３０１に、必要な情報(業務の業務番号、業務名、必要工数、業務履歴の履歴番号、業務番号、作業日数、作業率)の問い合わせを行う(図２のＡ０４)。
【００６２】
この時点では、オブジェクトキャッシュ保持部３０２は、図７のようなキャッシュ用オブジェクトを保持しているため、オブジェクトキャッシュ操作部３０１は、必要な情報のうち、業務履歴の作業日数、作業率はオブジェクトキャッシュ保持部３０２から取得可能である。しかしながら、業務の業務番号、業務名、必要工数、業務履歴の履歴番号、業務番号は保持していないため、リレーショナルＤＢ部２００から取得する必要があることをオブジェクトアクセス−ＤＢアクセス変換部１０１に通知する。
【００６３】
オブジェクトアクセス−ＤＢアクセス変換部１０１は、これらの必要な情報へのアクセスを、リレーショナルＤＢ部２００の該当する情報へアクセスするためのＤＢアクセスに変換し(図２のＡ０５)、ＤＢアクセス部１０２を利用してリレーショナルＤＢ部２００からＤＢデータを取得する(図２のＡ０６)。
【００６４】
ＤＢデータは、ＤＢデータ−オブジェクト変換部１０３によって図９に示すようなキャッシュ用オブジェクトを生成(図２のＡ０７)し、オブジェクトキャッシュ部３００のオブジェクトキャッシュ操作部３０１によって、オブジェクトキャッシュ保持部３０２に格納する(図２のＡ０８)。このとき、オブジェクトキャッシュ操作部３０１は、既存のオブジェクトと新規に格納されるオブジェクトの対応付けを行うため、オブジェクトキャッシュ保持部３０２に保持されるオブジェクトは図１０のようになる。
【００６５】
さらに、ＤＢデータ−オブジェクト変換部１０３は、図１１のようなオブジェクト処理部４００で利用される処理用オブジェクトを生成する。この処理用オブジェクトは、ＤＢデータ−オブジェクト変換部１０３から、オブジェクトアクセス−ＤＢアクセス変換部１０１を介してオブジェクト処理部４００に渡される(図２のＡ０９)。
【００６６】
このように、オブジェクトキャッシュ保持部３０２を利用することにより、オブジェクト処理部４００が要求した情報の一部のみをリレーショナルＤＢ部２００から取得することによって、オブジェクト処理部４００が要求した情報の構造がリレーショナルＤＢ部２００の構造と異なっていたとしても、キャッシュによる性能向上効果を得ることができる。
【００６７】
次に、オブジェクト処理部４００が、業務の進捗率オブジェクトに対し、業務名を"試験"から"試験・配備"に変更するというオブジェクト操作を実行すると(図２のＡ０１)、操作の種類はオブジェクトの更新であるため、判定(図２のＡ０２)の後、オブジェクトの更新が行われ(図２のＡ１０)、オブジェクトアクセス−ＤＢアクセス変換部１０１は、オブジェクトキャッシュ部３００のオブジェクトキャッシュ操作部３０１に、更新された処理用オブジェクトを送る。
【００６８】
オブジェクトキャッシュ操作部３０１は、更新された処理用オブジェクトとオブジェクトキャッシュ保持部３０２に存在するキャッシュ用オブジェクトの対応付けを行い、オブジェクトキャッシュ保持部３０２のキャッシュ用オブジェクトを図１２のように更新する(図２のＡ１１)。
【００６９】
さらに、オブジェクトアクセス−ＤＢアクセス変換部１０１は、キャッシュ用オブジェクトの更新をＤＢデータの更新に変換し(図２のＡ１２)、ＤＢアクセス部１０２を利用してリレーショナルＤＢ部２００を更新する(図２のＡ１３)。
【００７０】
このように、オブジェクトの新規作成、及び更新の際に、オブジェクトキャッシュ保持部３０２に格納されているキャッシュ用オブジェクトとリレーショナルＤＢ部２００に格納されているデータとを同時に更新することにより、オブジェクトキャッシュ保持部３０２のキャッシュ用オブジェクトとリレーショナルＤＢ部２００のＤＢデータとの整合性が維持され、この後のオブジェクト処理部４００からの要求に対し、オブジェクトキャッシュ格納部を利用して効率的にキャッシュ用オブジェクトとＤＢデータの有効活用を図ることができる。
【００７１】
以上のように本発明によれば、オブジェクトキャッシュ保存部３０２に格納されたキャッシュ用オブジェクトとリレーショナルＤＢ部２００から取得したデータとを加工した上で処理用オブジェクトを提供するオブジェクトリレーショナルＤＢマッピング部１００を有しているので、リレーショナルＤＢ部２００のデータから、システムで利用しやすい利用形態の処理用オブジェクトの形式で提供できると共に、リレーショナルＤＢ部２００へのアクセスする回数を低減させることにより、効率化を図ることができる。
【００７２】
また、キャッシュ用オブジェクトをオブジェクトキャッシュ保存部３０２に格納することにより、リレーショナルＤＢ部２００へのアクセスを極力控えて、システムの要求を処理する処理用オブジェクトを提供しているので、より一層、リレーショナルＤＢ部２００へのアクセスを、効率化することができる。
【００７３】
また提供可能なオブジェクトは、リレーショナルＤＢ部２００の表構造に依存したキャッシュ用オブジェクトだけでなく、上述のデータの利用形態に対応した処理用オブジェクトも提供できるので、リレーショナルＤＢ部２００のデータをシステムで利用しやすい処理用オブジェクトの形式で提供することができる。
【００７４】
さらに、リレーショナルＤＢ部２００のデータから、処理用オブジェクトとキャッシュ用オブジェクトとに変換するＤＢデータ−オブジェクト変換部１０３と、処理用オブジェクトとキャッシュ用オブジェクトとを相互に変換するオブジェクトキャッシュ操作部３０１とを有しているので、リレーショナルＤＢ部２００のデータを、オブジェクトの形式で提供すると共に、オブジェクトキャッシュ保存部３０２にキャッシュ用オブジェクトとして保存しておくことができる。
【産業上の利用可能性】
【００７５】
発明によれば、オブジェクト・リレーショナルマッピングを利用してリレーショナルデータベースの情報をオブジェクトとして扱うシステム全般に適用可能である。
【図面の簡単な説明】
【００７６】
【図１】本発明を実施するための最良の形態の構成を示すブロック図である。
【図２】本発明を実施するための最良の形態の動作を示すフローチャートである。
【図３】本発明を実施するための最良の形態において、リレーショナルＤＢ部に格納されるデータの一例である。
【図４】本発明を実施するための最良の形態において、オブジェクト処理部で処理される処理用オブジェクト定義の一例である。
【図５】本発明を実施するための最良の形態において、オブジェクトキャッシュ保持部に保持されるキャッシュ用オブジェクト定義の一例である。
【図６】本発明を実施するための最良の形態において、オブジェクト処理部で処理される処理用オブジェクトとオブジェクトキャッシュ保持部に保持されるキャッシュ用オブジェクトの対応関係定義の一例である。
【図７】本発明を実施するための最良の形態において、オブジェクトキャッシュ保持部に保持されるキャッシュ用オブジェクトの一例である。
【図８】本発明を実施するための最良の形態において、オブジェクト処理部で処理される処理用オブジェクトの一例である。
【図９】本発明を実施するための最良の形態において、オブジェクトキャッシュ保持部に保持されるキャッシュ用オブジェクトの一例である。
【図１０】本発明を実施するための最良の形態において、オブジェクトキャッシュ保持部に保持されるキャッシュ用オブジェクトの一例である。
【図１１】本発明を実施するための最良の形態において、オブジェクト処理部で処理される処理用オブジェクトの一例である。
【図１２】本発明を実施するための最良の形態において、オブジェクトキャッシュ保持部に保持されるキャッシュ用オブジェクトの一例である。
【図１３】特許文献１に記載されたキャッシュシステムの一例である。
【符号の説明】
【００７７】
１００  オブジェクト-リレーショナルＤＢマッピング部
２００  リレーショナルＤＢ部
３００  オブジェクトキャッシュ部
４００  オブジェクト処理部
１０１  オブジェクトアクセス-ＤＢアクセス変換部
１０２  ＤＢアクセス部
１０３  ＤＢデータ-オブジェクト変換部
３０１  オブジェクトキャッシュ操作部
３０２  オブジェクトキャッシュ保持部
【図１】
2007265164.tif 000003
【図２】
2007265164.tif 000004
【図３】
2007265164.tif 000005
【図４】
2007265164.tif 000006
【図５】
2007265164.tif 000007
【図６】
2007265164.tif 000008
【図７】
2007265164.tif 000009
【図８】
2007265164.tif 000010
【図９】
2007265164.tif 000011
【図１０】
2007265164.tif 000012
【図１１】
2007265164.tif 000013
【図１２】
2007265164.tif 000014
【図１３】
2007265164.tif 000015