(57)【要約】      （修正有）【課題】外部データベース内のデータに含まれていない属性情報でも、外部データベースを参照する際に取得可能にする。【解決手段】外部データベース収容装置は、取得対象とするデータの種別を一意に識別できる複数のリクエストを１つ以上のシステムから受け付ける外部データベース１１２からリクエストに対する応答を得るものであって、属性情報データベース１０３と、抽出及び格納処理部１０２と、統合処理部１０１と、を含む。属性情報データベース１０３は、リクエストに対する応答のデータに関連する情報である属性情報を格納している。抽出及び格納処理部１０２は、第１リクエストに対する外部データベースからの応答のデータに基づいて、第１属性情報を抽出し、属性情報データベース１０３に第１属性情報を格納する。統合処理部１０１は、第１リクエストに対する応答と、第１属性情報とを統合したデータを第１リクエストに対して応答する。【選択図】図１
2018041218.tif 000002
【特許請求の範囲】
【請求項１】
取得対象とするデータの種別を一意に識別できる複数のリクエストを１つ以上のシステムから受け付ける外部データベースからリクエストに対する応答を得る外部データベース収容装置であって、
リクエストに対する応答のデータに関連する情報である属性情報を格納している属性情報データベースと、
第１リクエストに対する前記外部データベースからの応答のデータに基づいて、第１属性情報を抽出し、前記属性情報データベースに第１属性情報を格納する抽出及び格納処理部と、
前記第１リクエストに対する応答と、前記第１属性情報とを統合したデータを前記第１リクエストに対して応答する統合処理部と、を備える外部データベース収容装置。
【請求項２】
最後にリクエストを受けた時刻から一定期間以上経過してリクエストがない場合に、前記外部データベースへ第２リクエストを送信する監視処理部をさらに備え、
前記抽出及び格納処理部は、前記第２リクエストに対する前記外部データベースからの応答のデータに基づいて、第２属性情報を抽出し、前記属性情報データベースに第２属性情報を格納する請求項１に記載の外部データベース収容装置。
【請求項３】
前記監視処理部は、前記外部データベースへのリクエストがなされる時間間隔の平均値と標準偏差に基づいてこの平均値よりも大きな閾値を決定し、前記一定期間がこの閾値以上の場合には前記第２リクエストを送信する請求項２に記載の外部データベース収容装置。
【請求項４】
取得対象とするデータの種別を一意に識別できる複数のリクエストを１つ以上のシステムから受け付ける外部データベースからリクエストに対する応答を得る外部データベース収容方法であって、
第１リクエストに対する前記外部データベースからの応答のデータに基づいて、リクエストに対する応答のデータに関連する情報である第１属性情報を抽出する抽出ステップと、
属性情報を格納している属性情報データベースに、前記第１属性情報を格納する格納ステップと、
前記第１リクエストに対する応答と、前記第１属性情報とを統合したデータを前記第１リクエストに対して応答する応答ステップと、を備える外部データベース収容方法。
【請求項５】
最後にリクエストを受けた時刻から一定期間以上経過してリクエストがない場合に、前記外部データベースへ第２リクエストを送信する送信ステップをさらに備え、
前記抽出ステップは、前記第２リクエストに対する前記外部データベースからの応答のデータに基づいて第２属性情報を抽出し、
前記格納ステップは、前記属性情報データベースに第２属性情報を格納する請求項４に記載の外部データベース収容方法。
【請求項６】
前記送信ステップは、前記外部データベースへのリクエストがなされる時間間隔の平均値と標準偏差に基づいてこの平均値よりも大きな閾値を決定し、前記一定期間がこの閾値以上の場合には前記第２リクエストを送信する請求項５に記載の外部データベース収容方法。
【請求項７】
コンピュータに、請求項４から６のいずれか１項に記載の外部データベース収容方法の各ステップを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、外部データベース収容装置、方法及びプログラムに関する。
【背景技術】
【０００２】
リクエストに応じて別システムで使用している外部データベース（以下外部ＤＢとも称す）内のデータを随時取得し、リクエストに応答するシステムがある（例えば、非特許文献１参照）。例えば、端末からあるデータを要求するリクエストを別のシステムに行い、このシステムが外部ＤＢを参照して、要求されたデータを外部ＤＢから取得する。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】中山 陽太郎, “PostgreSQLを活用した仮想データ統合基盤の実現”, UNISYS TECHNOLOGY REVIEW, 第111号, pp.25-37, 2012.3
【発明の概要】
【発明が解決しようとする課題】
【０００４】
外部ＤＢの中に、データの生成時刻やデータの更新時刻等のデータの属性情報が必ずしも含まれるとは限らない。そのため、データの属性情報を取得する場合に、外部ＤＢからデータを取得するだけでは必要な情報を全て得ることができない問題がある。
【０００５】
すなわち、データ生成時刻やデータ更新時刻等のデータの属性情報が外部ＤＢに含まれていない場合には、それらの属性情報はリクエスト応答に含めることができない。
【０００６】
この発明は上記事情に着目してなされたもので、その目的とするところは、外部データベースにデータの属性情報が含まれていない場合でもこの属性情報をリクエスト応答に含めることができる外部データベース収容装置、方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するためにこの発明の観点は、以下のような構成要素を備えている。すなわち、外部データベース収容装置は、取得対象とするデータの種別を一意に識別できる複数のリクエストを１つ以上のシステムから受け付ける外部データベースからリクエストに対する応答を得るものであって、属性情報データベースと、抽出及び格納処理部と、統合処理部と、を含む。属性情報データベースは、リクエストに対する応答のデータに関連する情報である属性情報を格納している。抽出及び格納処理部は、第１リクエストに対する外部データベースからの応答のデータに基づいて、第１属性情報を抽出し、属性情報データベースに第１属性情報を格納する。統合処理部は、第１リクエストに対する応答と、第１属性情報とを統合したデータを第１リクエストに対して応答する。
【発明の効果】
【０００８】
この発明によれば、外部データベースにデータの属性情報が含まれていない場合でもこの属性情報をリクエスト応答に含めることができる外部データベース収容装置、方法及びプログラムを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る外部データベース収容装置を含むブロック図。
【図２】内部ＤＢ内のデータを参照する方法を示すシーケンス図。
【図３】実施形態に係る外部データベース収容装置の外部ＤＢ内のデータを参照する方法を含むシーケンス図。
【図４】実施形態に係る外部データベース収容装置の一定期間以上リクエストがなかった場合の方法を含むシーケンス図。
【発明を実施するための形態】
【００１０】
以下、図面を参照してこの発明に係わる実施形態の外部データベース収容装置、方法及びプログラムを説明する。なお、以下の実施形態では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。  
実施形態に係る外部データベース収容装置について図１を参照して説明する。  
本実施形態の外部データベース収容装置は、データ統合処理部１０１、属性情報抽出及び格納処理部１０２、属性情報格納データベース１０３、及びデータ存在監視処理部１０４を備えている。なお以下データベースはＤＢと略す。また、本実施形態の外部データベース収容装置に関係する装置として、リクエスト受け付けデータベースにアクセスするシステム１〜Ｎ、外部ＤＢ用システム共通ＡＰＩ１１１、及び外部ＤＢ１１２がある。システム１〜Ｎは、それぞれリクエスト受付部１２１−１〜１２１−Ｎ、リクエスト対象ＤＢ決定部１２２−１〜１２２−Ｎ、及び内部ＤＢ１２３−１〜１２３−Ｎを備えている。
【００１１】
なお、本実施形態では、リクエストとデータは以下の２つの条件の少なくとも１つを前提とする。（条件１）リクエストは、取得対象とするデータの種別を一意に識別できるものであり、例えば「特定種別データ群のうち、最新のデータ（最後に蓄積されたデータ）」がある。（条件２）外部ＤＢ１１２からリクエストにより取得するデータは、取得対象データを一意に識別するＩＤが付与されており、リクエストにより取得されるデータ内には当該ＩＤを少なくとも１つ含んでいる。
【００１２】
外部ＤＢ１１２は、リクエストに対して応答するデータを格納している。
【００１３】
属性情報格納ＤＢ１０３は、外部ＤＢ１１２内のデータに含まれない、データに関連する情報である属性情報を格納する。属性情報には、例えばデータ生成時刻またはデータ更新時刻がある。また、属性情報はデータに関連する情報であれば、時刻に関する情報でなくともよい。
【００１４】
属性情報抽出及び格納処理部１０２は、外部ＤＢ１１２から取得したデータから、属性情報（例えばデータ生成時刻またはデータ更新時刻）の抽出を行う。属性情報抽出及び格納処理部１０２は、抽出した属性情報を属性情報格納ＤＢ１０３に蓄積し、属性の抽出を行った旨をデータ存在監視処理部１０４に蓄積する。ここで、データ生成時刻とは、リクエストに対する応答のデータが初めて存在したことを属性情報抽出及び格納処理部１０２が確認できた時刻をもって「データ生成時刻」とするものである。また、データの更新時刻とは、リクエストに対する応答のデータが更新されたことを属性情報抽出及び格納処理部１０２が初めて確認できた時刻をもって「データ更新時刻」とするものである。  
また、属性情報抽出及び格納処理部１０２は、外部ＤＢ１１２内データから生成または更新時刻等の必要な属性情報を抽出し、別途、属性情報格納ＤＢ１０３内に蓄積する。
【００１５】
データ存在監視処理部１０４は、外部ＤＢ用システム共通ＡＰＩ１１１に対して、リクエスト単位ごとに最後にリクエストを受けた時刻から一定期間α以上経過してもリクエストがなかった場合は外部ＤＢ１１２にそのリクエスト単位に対応する問合せ（リクエスト）を行う。ここでリクエスト単位とは、ある特定のリクエストのことであり、例えば、温度情報、湿度情報、日照情報がある。リクエスト単位は、さらに限定して、リクエストに対する回答の情報が経時変化をするものと定義してもよい。リクエストの一例を挙げて具体的に簡単に説明する。データ存在監視処理部１０４は、外部ＤＢ用システム共通ＡＰＩ１１１に対して、温度情報について最後にリクエストを受けた時刻から一定期間α以上、温度情報についてのリクエストがなかったかどうかを判定し、温度情報についてのリクエストがなかった場合には、その温度情報についてのリクエストを外部ＤＢ１１２に問い合せる。
【００１６】
この一定期間αはある定められた定数でもよいし、システムに対して定期的にリクエストが送られるとの前提を置いて、例えば、リクエスト間隔の平均μと標準偏差σから求まる以下の値を用いてもよい。すなわち、この閾値以上リクエストが無い場合に外部ＤＢ１１２へ問い合せる。
（閾値）＝μ＋３×σ
【００１７】
データ存在監視処理部１０４は、各システムから一定期間、外部ＤＢ１１２を検索していないときのみ、定期的な外部ＤＢ１１２の参照を行うことになる。この結果、外部ＤＢ１１２への処理の集中を避けることができ、外部ＤＢ１１２の負荷を軽減することができる。
【００１８】
データ統合処理部１０１は、リクエストを受けたら、リクエストに該当する外部ＤＢ１１２内のデータと、当該データに対応する属性情報格納ＤＢ１０３内の属性情報とを統合したデータをリクエストに対して応答する。
【００１９】
外部ＤＢ用システム共通ＡＰＩ（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍ  ｉｎｔｅｒｆａｃｅ）１１１は、属性情報抽出が可能なリクエストがあった場合は、リクエスト変換してデータ存在監視処理部１０４に通知を行う。外部ＤＢ用システム共通ＡＰＩ１１１は、リクエストへの応答から属性情報を抽出するために属性情報抽出及び格納処理部１０２に外部ＤＢ１１２から取得したデータを送信する。リクエスト変換は、外部ＤＢ用システム共通ＡＰＩ１１１が受信したリクエストを外部ＤＢの仕様に合せるために変換することである。
【００２０】
次に、本実施形態の外部データベース収容装置の動作についてシーケンス図である図２、図３及び図４を参照して説明する。これらのシーケンス図は、外部データベース収容方法、またこれらの外部データベース収容プログラムの説明にもなる。
【００２１】
まず、各システム１〜Ｎの内部ＤＢ内のデータを参照する場合について図２を参照して説明する。以下、システム１〜Ｎのある１つシステムを代表として挙げて説明する。この「代表」としてシステムを挙げる場合、枝番号（例えば、「１２１−１」の場合「−１」のこと）は省いて、リクエスト受付部１２１、リクエスト対象ＤＢ決定部１２２、内部ＤＢ１２３と記載する。  
あるシステムのリクエスト受付部１２１がリクエストを受け付ける（ステップＳ２０１）。リクエスト対象ＤＢ決定部１２２がこのリクエストを受信し（ステップＳ２０２）、このリクエストに対する応答（リクエスト応答）がどこのデータベースにあるかを決定する（ステップＳ２０３）。ここでは、リクエスト対象ＤＢ決定部１２２はリクエストに対する応答は内部ＤＢ１２３にあると決定している。リクエスト対象ＤＢ決定部１２２は内部ＤＢ１２３へリクエストを送信する（ステップＳ２０４）。内部ＤＢ１２３は、リクエスト対象ＤＢ決定部１２２から受信したリクエストに対応するデータを取得し（ステップＳ２０５）、このデータをリクエスト対象ＤＢ決定部１２２へ送信する（ステップＳ２０６）。その後、リクエスト対象ＤＢ決定部１２２が受信したデータをリクエスト受付部１２１へ送信し（ステップＳ２０７）、最後にリクエスト受付部１２１がリクエスト入力した端末等にデータを送信する（ステップＳ２０８）。
【００２２】
次に、本実施形態の外部データベース収容装置が外部ＤＢ１１２内のデータを参照する場合について図３を参照して説明する。  
この例ではリクエスト対象ＤＢ決定部１２２がリクエストに対する応答は外部ＤＢ１１２にあると決定している（ステップＳ２０３）。リクエスト対象ＤＢ決定部１２２は外部ＤＢ用システム共通ＡＰＩ１１１へリクエストを送信する（ステップＳ３０１）。外部ＤＢ用システム共通ＡＰＩ１１１は、受信したリクエストを問い合せる外部ＤＢ１１２の仕様に応じて変換し（ステップＳ３０２）、その後、変換されたリクエストを外部ＤＢ１１２へ送信する（ステップＳ３０３）。外部ＤＢ１１２が、外部ＤＢ用システム共通ＡＰＩ１１１から受信したリクエストに対応するデータを取得し（ステップＳ３０４）、このデータを外部ＤＢ用システム共通ＡＰＩ１１１へ送信する（ステップＳ３０５）。外部ＤＢ用システム共通ＡＰＩ１１１は、リクエストに対応するデータ（リクエスト応答）を外部ＤＢ１１２から受け取り、属性情報抽出及び格納処理部１０２へリクエスト応答であるデータを送信する（ステップＳ３０６）。外部ＤＢ用システム共通ＡＰＩ１１１は、リクエスト応答であるデータをデータ統合処理部１０１にも送信し、リクエスト応答を格納する（ステップＳ３０７）。
【００２３】
属性情報抽出及び格納処理部１０２は、リクエスト応答であるデータに基づいて属性情報を抽出する（ステップＳ３０８）。属性情報抽出及び格納処理部１０２は、この抽出した属性情報を属性情報格納ＤＢ１０３に送信し（ステップＳ３０９）、また属性情報を抽出した旨の情報をデータ存在監視処理部１０４へ送信する（ステップＳ３１０）。属性情報格納ＤＢ１０３は、抽出された属性情報を保存する（ステップＳ３１１）。ステップＳ３０７で、格納していたリクエスト応答に対応する属性情報を要求するリクエスト信号を属性情報格納ＤＢ１０３に送信する（ステップＳ３１２）。属性情報格納ＤＢ１０３は、そのリクエスト信号に対応する属性情報を取得し（ステップＳ３１３）、この属性情報をデータ統合処理部１０１に送信する（ステップＳ３１４）。
【００２４】
データ統合処理部１０１は、ステップＳ３０７で送信されたリクエスト応答と、ステップＳ３１４で送信された属性情報とを統合する（ステップＳ３１５）。データ統合処理部１０１は、統合したデータをリクエスト対象ＤＢ決定部１２２へ送信し（ステップＳ３１６）、リクエスト対象ＤＢ決定部１２２はリクエスト受付部１２１を経由して（ステップＳ３１６、Ｓ３１７）、最後にリクエスト受付部１２１がリクエスト入力した端末等にデータを送信する（ステップＳ３１８）。
【００２５】
このように、本実施形態の外部データベース収容装置によれば、外部ＤＢ１１２内のデータに含まれていない属性情報（例えば、データ生成時刻またはデータ更新時刻情報）でも、外部ＤＢ１１２を参照する際に取得することができる。
【００２６】
次に、本実施形態の外部データベース収容装置が一定期間以上にリクエストを受けていない場合について図４を参照して説明する。  
データ存在監視処理部１０４が、最後にリクエストを受けた時刻から一定期間α以上リクエストを受けていないかどうか判定し（ステップＳ４０１）、一定期間α以上リクエストを受けていなかった場合には、外部ＤＢ用システム共通ＡＰＩ１１１を経由して外部ＤＢ１１２へ、例えば上記の（条件１）及び／または（条件２）を満たす任意のリクエストを送信する（ステップＳ４０２）。このリクエストは、この例では外部ＤＢ１１２に応答が格納されているリクエストであれば何でもよい。外部ＤＢ１１２に応答が格納されていない場合には、途中でこの処理は停止しそのリクエストは受け付けない。  
外部ＤＢ用システム共通ＡＰＩ１１１が、リクエスト変換し、変換されたリクエストを外部ＤＢ１１２へ送信する（ステップＳ４０４）。外部ＤＢ１１２が、外部ＤＢ用システム共通ＡＰＩ１１１から受信したリクエストに対応するデータを取得し（ステップＳ４０５）、このデータを外部ＤＢ用システム共通ＡＰＩ１１１へ送信する（ステップＳ４０６）。外部ＤＢ用システム共通ＡＰＩ１１１は、リクエストに対応するデータ（リクエスト応答）を外部ＤＢ１１２から受け取り、属性情報抽出及び格納処理部１０２へリクエスト応答であるデータを送信する（ステップＳ４０７）。
【００２７】
属性情報抽出及び格納処理部１０２は、リクエスト応答であるデータに基づいて属性情報を抽出する（ステップＳ４０８）。属性情報抽出及び格納処理部１０２は、この抽出した属性情報を属性情報格納ＤＢ１０３に送信し（ステップＳ４０９）、また属性情報を抽出した旨の情報をデータ存在監視処理部１０４へ送信する（ステップＳ４１０）。属性情報格納ＤＢ１０３は、抽出された属性情報を保存する（ステップＳ４１１）。
【００２８】
このように、１つの外部ＤＢを複数のシステムが参照する場合に、各システムから一定期間に外部ＤＢ１１２を検索していないときのみ、データ存在監視処理部１０４が定期的な外部ＤＢ１１２の参照を行い、属性情報格納ＤＢ１０３の内容を充実させることができる。この結果、外部ＤＢ１１２へのリクエストの集中度合いが減少し、外部ＤＢ１１２の負荷を低減することができる。
【００２９】
以上の実施形態によれば、外部データベース内のデータに含まれていない属性情報（例えば、データ生成時刻またはデータ更新時刻情報）でも、外部データベースを参照する際に取得することができる。また、外部データベースへのリクエストの集中度合いを減少することができ、外部データベースの負荷を低減することができる。
【００３０】
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００３１】
１〜Ｎ…システム、１０１…データ統合処理部、１０２…属性情報抽出及び格納処理部、１０３…属性情報格納データベース、１０４…データ存在監視処理部、１１１…外部ＤＢ用システム共通ＡＰＩ、１１２…外部ＤＢ、１２１−１〜１２１−Ｎ…リクエスト受付部、１２２−１〜１２２−Ｎ…リクエスト対象ＤＢ決定部、１２３−１〜１２３−Ｎ…内部ＤＢ。
【図１】
2018041218.tif 000003
【図２】
2018041218.tif 000004
【図３】
2018041218.tif 000005
【図４】
2018041218.tif 000006