(57)【要約】【課題】更新プログラムの適用がデータベースに与える影響の評価を容易に行なう。【解決手段】アクセスリクエストの送信先に設定された第１のデータベースの第１の制御プログラムの更新に用いられる新たな更新プログラムの検出に応じて、前記第１の制御プログラムに従って動作する第１のデータベースの記憶内容が複写された第２のデータベースを生成するとともに、前記第１の制御プログラムを前記更新プログラムを用いて更新した第２の制御プログラムを生成し、アクセスリクエストの送信先を前記第１のデータベースと前記第２のデータベースの双方に設定し、前記第１のデータベースにおける処理結果と前記第２のデータベースにおける処理結果の整合性を評価する。【選択図】図１
2018018121.tif 000002
【特許請求の範囲】
【請求項１】
アクセスリクエストの送信先に設定された第１のデータベースの第１の制御プログラムの更新に用いられる新たな更新プログラムの検出に応じて、前記第１の制御プログラムに従って動作する第１のデータベースの記憶内容が複写された第２のデータベースを生成するとともに、前記第１の制御プログラムを前記更新プログラムを用いて更新した第２の制御プログラムを生成し、
アクセスリクエストの送信先を前記第１のデータベースと前記第２のデータベースの双方に設定し、
前記第１のデータベースにおける処理結果と前記第２のデータベースにおける処理結果の整合性を評価する、
処理をコンピュータに実行させることを特徴とするデータベース制御プログラム。
【請求項２】
前記整合性の評価結果に応じて、前記アクセスリクエストの送信先を前記第１のデータベースと前記第２のデータベースのうち、前記第２のデータベースのみに設定する、
処理を前記コンピュータに実行させることを特徴とする請求項１記載のデータベース制御プログラム。
【請求項３】
前記第１のデータベースにおける処理結果は、前記処理結果が得られた時刻を示す第１の時刻情報と、前記処理結果の第１の値と、を含み、
前記第２のデータベースにおける処理結果は、前記処理結果が得られた時刻を示す第２の時刻情報と、前記処理結果の第２の値と、を含み、
前記第１の時刻情報と、前記第２の時刻情報とが異なるとき、前記第２の時刻情報を、前記第１の時刻情報と一致させる、
処理を前記コンピュータに実行させることを特徴とする請求項１又は２記載のデータベース制御プログラム。
【請求項４】
前記更新プログラムの検出に応じて、前記第１のデータベースの動作の履歴を示し、前記第１の時刻情報を含む第１のログ情報が格納される第１のログデータベースを複写して、前記第２のデータベースの動作の履歴を示し、前記第２の時刻情報を含む第２のログ情報が格納される第２のログデータベースを生成し、
前記第１のログ情報に含まれる第１の時刻情報と、前記第２のログ情報に含まれる第２の時刻情報と、が異なるとき、
前記第２のデータベースにおいて、前記第２のログ情報と対応した処理結果に含まれる前記第２の時刻情報を、前記第１のログ情報に含まれる前記第１の時刻情報とする、請求項３記載のデータベース制御プログラム。
【請求項５】
コンピュータによるデータベース制御方法であって、該コンピュータが、
アクセスリクエストの送信先に設定された第１のデータベースの第１の制御プログラムの更新に用いられる新たな更新プログラムの検出に応じて、前記第１の制御プログラムに従って動作する第１のデータベースの記憶内容が複写された第２のデータベースを生成するとともに、前記第１の制御プログラムを前記更新プログラムを用いて更新した第２の制御プログラムを生成し、
アクセスリクエストの送信先を前記第１のデータベースと前記第２のデータベースの双方に設定し、
前記第１のデータベースにおける処理結果と前記第２のデータベースにおける処理結果の整合性を評価する、ことを特徴とするデータベース制御方法。
【請求項６】
アクセスリクエストの送信先に設定された第１のデータベースの第１の制御プログラムの更新に用いられる新たな更新プログラムの検出に応じて、前記第１の制御プログラムに従って動作する第１のデータベースの記憶内容が複写された第２のデータベースを生成するとともに、前記第１の制御プログラムを前記更新プログラムを用いて更新した第２の制御プログラムを生成する生成部と、
アクセスリクエストの送信先を前記第１のデータベースと前記第２のデータベースの双方に設定する設定部と、
前記第１のデータベースにおける処理結果と前記第２のデータベースにおける処理結果の整合性を評価する評価部と、を有することを特徴とするデータベース制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース制御プログラム、データベース制御方法及びデータベース制御装置に関する。
【背景技術】
【０００２】
従来の運用系のデータベースでは、データベースの制御プログラムが更新された場合には、管理者等により、更新が正常に行われたか否かを検証する検証作業が行われる。
【０００３】
この作業では、データベースに対するアクセスリクエストをキャプチャし、キャプチャしたアクセスリクエストを、更新後の制御プログラムに従って動作する検証用データベースにおいてリプレイさせた結果から、更新が正常に行われたか否かが検証される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−２０２１０１号公報
【特許文献２】国際公開第２０１１／０４２９６１号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の検証作業は、例えばアクセスリクエストのキャプチャやリプレイ等、検証に先立って様々な作業が必要となる煩雑なものであった。
【０００６】
開示の技術は、更新プログラムの適用がデータベースに与える影響の評価を容易に行なうデータベース制御プログラム、データベース制御方法及びデータベース制御装置を提供することを目的としている。
【課題を解決するための手段】
【０００７】
一様態によれば、アクセスリクエストの送信先に設定された第１のデータベースの第１の制御プログラムの更新に用いられる新たな更新プログラムの検出に応じて、前記第１の制御プログラムに従って動作する第１のデータベースの記憶内容が複写された第２のデータベースを生成するとともに、前記第１の制御プログラムを前記更新プログラムを用いて更新した第２の制御プログラムを生成し、アクセスリクエストの送信先を前記第１のデータベースと前記第２のデータベースの双方に設定し、前記第１のデータベースにおける処理結果と前記第２のデータベースにおける処理結果の整合性を評価する、処理をコンピュータに実行させる。
【０００８】
上記各処理は、上記各処理により実現する機能部、上記各部を手順としてコンピュータにより実行させる方法、プログラムを記憶したコンピュータ読み取り可能な記憶媒体とすることもできる。
【発明の効果】
【０００９】
更新プログラムの適用がデータベースに与える影響の評価を容易に行なうことができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態のデータベース制御装置の概要を説明する図である。
【図２】データベース制御装置のハードウェア構成の一例を示す図である。
【図３】データベースサービス部と検証用データベースサービス部の有する各データベースの一例を示す図である。
【図４】データベース制御処理部の機能を説明する図である。
【図５】整合性評価部の機能を説明する図である。
【図６】データベース制御処理部の処理を説明するフローチャートである。
【図７】整合性評価部の処理を説明するフローチャートである。
【図８】データベース制御処理部の処理を説明する図である。
【図９】整合性評価部の処理を説明する図である。
【図１０】表示例を示す図である。
【発明を実施するための形態】
【００１１】
以下に図面を参照して実施形態について説明する。図１は、本実施形態のデータベース制御装置の概要を説明する図である。
【００１２】
本実施形態のデータベース制御装置１００は、データベースサービス部１１０と、データベース制御処理部１２０と、を有する。
【００１３】
本実施形態のデータベースサービス部１１０は、処理実行部１１１、データベース１１２、ログデータベース１１３、要求振分部１１４を有する。データベースサービス部１１０は、データベース１１２に対する処理の実行要求を受けて、要求振分部１１４により実行要求（アクセスリクエスト）を処理実行部１１１に振り分け、処理実行部１１１により制御プログラムを実行した結果を出力する。ログデータベース１１３には、処理実行部１１１による処理の履歴を示すログ情報が格納される。
【００１４】
本実施形態のデータベース制御処理部１２０は、データベースサービス部１１０において、データベース１１２に対する処理を実現する制御プログラムの更新プログラム１５０を検出すると、検証用データベースサービス部１４０を生成する。
【００１５】
検証用データベースサービス部１４０は、検証用処理実行部１４１、検証用データベース１４２、検証用ログデータベース１４３、要求振分部１４４を有する。検証用処理実行部１４１は、データベースサービス部１１０の制御プログラムを、更新プログラム１５０により更新した更新制御プログラムに従って、検証用データベース１４２に対する処理を実行する。
【００１６】
検証用データベース１４２は、データベース１１２の運用状態を示す情報であるスナップショット１６０から生成される。言い換えれば、検証用データベース１４２は、検証用データベースサービス部１４０が生成されたときのデータベース１１２を複写したものである。検証用ログデータベース１４３は、ログデータベース１１３を複写したものである。
【００１７】
検証用要求振分部１４４は、要求振分部１１４と同様の機能を有するものであり、後述する処理によりデータベースサービス部１１０が削除された後に、要求振分部１１４の代わりとなる。
【００１８】
データベース制御処理部１２０は、検証用データベースサービス部１４０を生成した後に処理の実行要求を受けると、要求振分部１１４により、処理の実行要求をデータベースサービス部１１０と、検証用データベースサービス部１４０の両方に振り分ける。次に、データベース制御処理部１２０は、データベースサービス部１１０と、検証用データベースサービス部１４０の両方から、処理の実行結果を取得し、両者を比較する。
【００１９】
そして、データベース制御処理部１２０は、比較の結果から、制御プログラムの更新前と更新後において、処理結果が整合しているか否かの評価を行う。
【００２０】
本実施形態では、以上の処理により、更新プログラムの適用がデータベースに与える影響の評価を容易に行なうことができる。
【００２１】
本実施形態のデータベース制御処理部１２０では、処理結果が整合している場合には、データベースサービス部１１０を削除し、更新が反映された検証用データベースサービス部１４０をデータベースサービス部１１０の代わりとする。また、データベース制御処理部１２０は、処理結果が整合していない場合には、検証用データベースサービス部１４０を削除しても良い。
【００２２】
尚、図１の例では、データベース制御装置１００における、データベースに対する処理の実行要求に応じた処理結果を提供するデータベースサービス部は、データベースサービス部１１０のみとしたが、これに限定されない。データベース制御装置１００は、複数のデータベースサービス部を有していても良い。この場合、本実施形態のデータベース制御処理部１２０は、各データベースサービス部について、制御プログラムが更新されると、データベースサービス部１１０に対する処理と同様の処理を行う。
【００２３】
以下に、本実施形態のデータベース制御装置１００について説明する。図２は、データベース制御装置のハードウェア構成の一例を示す図である。
【００２４】
本実施形態のデータベース制御装置１００は、それぞれバスＢで相互に接続されている入力装置１１、出力装置１２、ドライブ装置１３、補助記憶装置１４、メモリ装置１５、演算処理装置１６及びインターフェース装置１７を含む。
【００２５】
入力装置１１は、各種の情報を入力するためものであり、例えばキーボードやマウス等で実現される。出力装置１２は、各種の情報を出力するためのものであり、例えばディスプレイ等により実現される。インターフェース装置１７は、モデム、ＬＡＮカード等を含み、ネットワークに接続する為に用いられる。
【００２６】
データベース制御プログラムは、データベース制御装置１００を制御する各種プログラムの少なくとも一部である。データベース制御プログラムは例えば記憶媒体１８の配布やネットワークからのダウンロードなどによって提供される。データベース制御プログラムを記録した記憶媒体１８は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記憶媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記憶媒体を用いることができる。
【００２７】
また、データベース制御プログラムは、データベース制御プログラムを記録した記憶媒体１８がドライブ装置１３にセットされると、記憶媒体１８からドライブ装置１３を介して補助記憶装置１４にインストールされる。ネットワークからダウンロードされたデータベース制御プログラムは、インターフェース装置１７を介して補助記憶装置１４にインストールされる。
【００２８】
補助記憶装置１４は、インストールされたデータベース制御プログラムを格納すると共に、必要なファイル、データ等を格納する。メモリ装置１５は、コンピュータの起動時に補助記憶装置１４からデータベース制御プログラムを読み出して格納する。そして、演算処理装置１６はメモリ装置１５に格納されたデータベース制御プログラムに従って、後述するような各種処理を実現している。
【００２９】
以下に、図３を参照して、データベースサービス部１１０のデータベース１１２、ログデータベース１１３と、検証用データベースサービス部１４０の検証用データベース１４２と検証用ログデータベース１４３について説明する。
【００３０】
図３は、データベースサービス部と検証用データベースサービス部の有する各データベースの一例を示す図である。図３（Ａ）は、データベースサービス部１１０の各データベースの一例を示す図であり、図３（Ｂ）は、検証用データベースサービス部１４０の各データベースの一例を示す図である。
【００３１】
図３（Ａ）のデータベース１１２は、情報の項目として、時刻、ＸＸ、ＹＹを有する。項目「時刻」の値は、項目「ＸＸ」、項目「ＹＹ」の値を取得した時刻を示す時刻情報である。項目「ＸＸ」、項目「ＹＹ」の値は、実行要求に従って処理を実行した結果の値を示す。以下に説明では、データベース１１２において、項目「時刻」の値、項目「ＸＸ」の値、項目「ＹＹ」の値を含む情報を処理結果情報と呼ぶ。
【００３２】
ログデータベース１１３は、データベース１１２に対する処理の履歴を示すログ情報が格納されている。ログ情報は、情報の項目として、ＩＤと、ｉｎｓｅｒｔ  ｄａｔｅｔｉｍｅと、項目「ＸＸ」、項目「ＹＹ」の値と、を含む。項目「ＩＤ」の値は、ログ情報の識別子を示す。項目「ｉｎｓｅｒｔ  ｄａｔｅｔｉｍｅ」の値は、データがデータベース１１２に入力された時刻を示す。項目「ｉｎｓｅｒｔ  ｄａｔｅｔｉｍｅ」の値は、言い換えれば、項目「ＸＸ」、項目「ＹＹ」の値の入力時刻を示すタイムスタンプである。つまり、タイムスタンプは、処理結果情報に含まれる項目「時刻」の値と一致する。
【００３３】
図３（Ｂ）の検証用データベース１４２も、データベース１１２と同様に、情報の項目として、時刻、ＸＸ、ＹＹを有する。項目「時刻」の値は、項目「ＸＸ」、項目「ＹＹ」の値を取得した時刻を示す。また、検証用ログデータベース１４３に格納されたログ情報も、ログデータベース１１３と同様に、ログ情報の識別子であるＩＤと、項目「ＸＸ」、項目「ＹＹ」の値の入力時刻を示すタイムスタンプと、項目「ＸＸ」、項目「ＹＹ」の値と、を含む。
【００３４】
ここで、ログデータベース１１３と検証用ログデータベース１４３のログ情報において、項目「ＩＤ」の値が一致しており、タイムスタンプが示す時刻が異なる場合について説明する。
【００３５】
図３（Ａ）のログデータベース１１３のログ情報１１３−１は、ＩＤが「００１」のログ情報であり、タイムスタンプが示す時刻は、「１／１  ００：０１」、項目「ＸＸ」の値は「Ａ」、項目「ＹＹ」の値は「Ｂ」である。
【００３６】
図３（Ｂ）の検証用ログデータベース１４３のログ情報１４３−１は、ＩＤが「００１」のログ情報であり、タイムスタンプが示す時刻は、「１／１  ００：０２」、項目「ＸＸ」の値は「Ａ」、項目「ＹＹ」の値は「Ｂ」である。
【００３７】
よって、ログ情報１１３−１とログ情報１４３−１とは、ＩＤが一致しており、データベースサービス部１１０と検証用データベースサービス部１４０のそれぞれにおいて、同一の処理を実行した履歴を示すことがわかる。
【００３８】
また、データベース１１２において、処理結果情報１１２−１の項目「ＸＸ」、「ＹＹ」の値は、ログ情報１１３−１と対応する項目「ＸＸ」、「ＹＹ」の値である。また、処理結果情報１１２−１の項目「時刻」の値は、ログ情報１１３−１のタイムスタンプ「１／１  ００：０１」と一致する時刻である。よって、処理結果情報１１２−１は、ログ情報１１３−１と対応する情報であることがわかる。
【００３９】
また、データベース１４２において、処理結果情報１４２−１の項目「ＸＸ」、「ＹＹ」の値は、ログ情報１４３−１と対応する項目「ＸＸ」、「ＹＹ」の値である。また、処理結果情報１４２−１の項目「時刻」の値は、ログ情報１４３−１のタイムスタンプ「１／１  ００：０２」と一致する時刻である。よって、処理結果情報１４２−１は、ログ情報１４３−１と対応する情報であることがわかる。
【００４０】
ここで、処理結果情報１１２−１と処理結果情報１４２−１とでは、同様の処理を実行した結果にも関わらず、項目「時刻」の値が一致しない。
【００４１】
この時刻のちがいは、要求振分部１１４において処理の実行要求が振り分けられてから、実際に処理が実行されるまでのネットワークの性質により生じるものである。
【００４２】
本実施形態では、この時刻のちがいを、後述するデータベース制御処理部１２０の処理により補正して一致させた後に、データベース１１３と検証用データベース１４２の処理結果情報の整合性の検証を行う。
【００４３】
次に、図４を参照して本実施形態のデータベース制御処理部１２０の機能について説明する。図４は、データベース制御処理部の機能を説明する図である。本実施形態のデータベース制御処理部１２０は、データベース制御装置１００の演算処理装置１６がメモリ装置１５等に格納されたデータベース制御プログラムを実行することで実現される。
【００４４】
本実施形態のデータベース制御処理部１２０は、更新検出部１２１、検証用生成部１２２、振分先設定部１２３、整合性評価部１２４を有する。
【００４５】
本実施形態の更新検出部１２１は、処理実行部１１１を実現する制御プログラムの更新に用いられる更新プログラム１５０の入力を検出する。本実施形態の更新プログラムとは、例えば制御プログラムに適用されるパッチや、制御プログラムをバージョンアップさせるプログラム等である。更新プログラム１５０は、例えばデータベース制御装置１００の管理者等により与えられても良いし、データベース制御装置１００と接続された外部の装置から配信されても良い。
【００４６】
本実施形態の検証用生成部１２２は、更新プログラムが検出されたとき、データベースサービス部１１０に更新プログラムの適用によるデータベース１１２に対する影響の検証に用いる検証用データベースサービス部１４０を生成する。言い換えれば、検証用生成部１２２は、更新プログラムを適用することが可能か否かを判定するための検証用データベースサービス部１４０を生成する。
【００４７】
具体的には、検証用生成部１２２は、制御プログラムを更新プログラムにより更新した更新制御プログラムを生成する。本実施形態では、更新制御プログラムを実行することで、検証用処理実行部１４１が実現される。
【００４８】
また、検証用生成部１２２は、データベース１１２の状態を示すスナップショット１６０を取得し、スナップショット１６０に基づき、データベース１１２の記憶内容を複写した検証用データベース１４２を生成する。また、検証用生成部１２２は、ログデータベース１１３の記憶内容を複写した検証用ログデータベース１４３を生成する。また、検証用生成部１２２は、要求振分部１１４と同様の機能を有する検証用要求振分部１４４を生成する。
【００４９】
振分先設定部１２３は、検証用データベースサービス部１４０が生成されると、要求振分部１１４に対して、受け付けた処理の実行要求をデータベースサービス部１１０と、検証用データベースサービス部１４０の両者に振り分けさせる。尚、本実施形態では、処理の実行要求の振り分けを、検証用データベースサービス部１４０の検証用要求振分部１４４により行わせても良い。
【００５０】
本実施形態の整合性評価部１２４は、データベースサービス部１１０と検証用データベースサービス部１４０の両方において実行された処理の結果を比較し、両者の整合性を評価する。具体的には、整合性評価部１２４は、データベース１１２に格納された処理結果情報と、検証用データベース１４２に格納された処理結果情報とを比較し、両者が一致しているか否かを判定する。そして、整合性評価部１２４は、比較した処理結果情報の全てが一致した場合に、データベースサービス部１１０を削除し、更新が反映された検証用データベースサービス部１４０をデータベースサービス部１１０に置き換える。
【００５１】
以下に、図５を参照して本実施形態の整合性評価部１２４の機能について説明する。図５は、整合性評価部の機能を説明する図である。
【００５２】
本実施形態の整合性評価部１２４は、検証時間設定部２１１、ログ情報比較部２１２、時刻補正部２１３、処理結果比較部２１４、比較結果出力部２１５、削除部２１６を有する。
【００５３】
本実施形態の検証時間設定部２１１は、検証を行う検証時間を設定する。言い換えれば、検証時間設定部２１１は、データベースサービス部１１０と検証用データベースサービス部１４０の両方において処理を実行させる期間を設定する。検証時間は、例えばデータベース制御装置１００の管理者等により設定されても良い。検証時間は、例えば検証時間中に新たな更新プログラムが発行されることがない程度の時間に設定されることが好ましい。具体的には、検証時間は、例えば数時間程度であっても良い。
【００５４】
ログ情報比較部２１２は、ログデータベース１１３と検証用ログデータベース１４３のそれぞれに格納されたログ情報を比較する。具体的には、ログ情報比較部２１２は、２つのログ情報に含まれるタイムスタンプを比較する。
【００５５】
時刻補正部２１３は、２つのタイムスタンプが一致しない場合、検証用データベース１４２において、このログ情報と対応する処理結果情報の項目「時刻」の値を、ログデータベース１１３から取得したログ情報に含まれるタイムスタンプが示す時刻に書き換える。
【００５６】
処理結果比較部２１４は、データベース１１２に格納された処理結果情報と、検証用データベース１４２に格納された処理結果情報とを比較する。言い換えれば、処理結果比較部２１４は、データベースサービス部１１０により処理を実行した結果の値と、検証用データベースサービス部１４０により処理を実行した結果の値と、を比較する。
【００５７】
比較結果出力部２１５は、処理結果比較部２１４による比較結果を出力する。具体的には、比較結果出力部２１５は、例えば２つの処理の結果の値が一致した場合、検証用データベースサービス部１４０をデータベースサービス部１１０と置き換える旨を通知するメッセージ等を出力しても良い。また、比較結果出力部２１５は、例えば２つの結果が一致しない場合には、更新プログラムの適用の中止を促すメッセージ等を出力しても良い。
【００５８】
削除部２１６は、データベースサービス部１１０又は検証用データベースサービス部１４０を削除する。
【００５９】
次に、図６を参照して本実施形態のデータベース制御処理部１２０の動作について説明する。図６は、データベース制御処理部の動作を説明するフローチャートである。
【００６０】
本実施形態のデータベース制御処理部１２０は、更新検出部１２１により、既存の制御プログラムの更新プログラムを検出する（ステップＳ６０１）。続いて、データベース制御処理部１２０は、検証用生成部１２２により、更新プログラムにより更新された更新制御プログラムを生成する。また、検証用生成部１２２は、データベース１１２とログデータベース１１３から、検証用データベース１４２と検証用ログデータベース１４３を生成する。また、検証用生成部１２２は、要求振分部１４４を生成する（ステップＳ６０２）。言い換えれば、検証用生成部１２２は、検証用データベースサービス部１４０を生成する。
【００６１】
続いて、データベース制御処理部１２０は、データベース制御装置１００に処理の実行要求が入力されると、振分先設定部１２３により、この実行要求をデータベースサービス部１１０と、検証用データベースサービス部１４０とに振り分ける（ステップＳ６０３）。言い換えれば、振分先設定部１２３は、処理の実行要求が入力されると、制御プログラムと更新制御プログラムのそれぞれに対して、処理を実行させる。
【００６２】
続いて、データベース制御処理部１２０は、整合性評価部１２４により、制御プログラムと更新制御プログラムのそれぞれが処理を実行した結果の整合性を評価し（ステップＳ６０４）、処理を終了する。
【００６３】
次に、図７を参照して、本実施形態の整合性評価部１２４の処理について説明する。図７は、整合性評価部の処理を説明するフローチャートである。
【００６４】
本実施形態の整合性評価部１２４は、検証用データベースサービス部１４０が生成されると、検証時間設定部２１１により、検証時間を設定する（ステップＳ７０１）。
【００６５】
続いて、整合性評価部１２４は、ログ情報比較部２１２により、ログデータベース１１３と検証用ログデータベース１４３に、新たなログ情報が格納されたか否かを判定する（ステップＳ７０２）。言い換えれば、整合性評価部１２４は、処理の実行要求がデータベースサービス部１１０と検証用データベースサービス部１４０とに通知され、両者において処理が実行されたか否かを判定する。
【００６６】
ステップＳ７０２において、ログ情報が格納されない場合、整合性評価部１２４は、ログ情報が格納されるまで待機する。
【００６７】
ステップＳ７０２において、ログ情報が格納されると、ログ情報比較部２１２は、ログデータベース１１３と検証用ログデータベース１４３のそれぞれから、ＩＤが一致するログ情報を取得する（ステップＳ７０３）。続いて、ログ情報比較部２１２は、取得した２つのログ情報に含まれるタイムスタンプが一致しているか否かを判定する（ステップＳ７０４）。
【００６８】
ステップＳ７０４において、タイムスタンプが一致していない場合、整合性評価部１２４は、時刻補正部２１３により、検証用データベース１４２の処理結果情報に含まれる時刻を補正し（ステップＳ７０５）、後述するステップＳ７０６へ進む。
【００６９】
以下に、ステップＳ７０５の処理について説明する。
【００７０】
時刻補正部２１３は、ステップＳ７０３において、検証用ログデータベース１４３から取得したログ情報に含まれるタイムスタンプを取得する。続いて、時刻補正部２１３は、検証用データベース１４２において、取得したタイムスタンプと項目「時刻」の値が一致する処理結果情報を特定する。そして、時刻補正部２１３は、ステップＳ７０３で、ログデータベース１１３から取得したログ情報に含まれるタイムスタンプが示す時刻を、検証用データベース１４２において特定された処理結果情報の項目「時刻」の値に置き換える。
【００７１】
ステップＳ７０４において、タイムスタンプが一致している場合、整合性評価部１２４は、処理結果比較部２１４により、データベース１１２と検証用データベース１４２のそれぞれにおいて、処理結果の値を比較する（ステップＳ７０６）。
【００７２】
以下に、ステップＳ７０６の処理について説明する。
【００７３】
処理結果比較部２１４は、データベース１１２と検証用データベース１４２のそれぞれにおいて、項目「時刻」の値が、ステップＳ７０３で取得したログ情報に含まれるタイムスタンプと一致する処理結果情報を特定する。そして、特定された各処理結果情報に含まれる項目「ＸＸ」、「ＹＹ」の値を比較する。
【００７４】
続いて、整合性評価部１２４は、比較結果が一致しているか否かを判定する（ステップＳ７０７）。ステップＳ７０７において、比較結果が一致していない場合、整合性評価部１２４は、後述するステップＳ７１１へ進む。
【００７５】
ステップＳ７０７において、比較結果が一致する場合、整合性評価部１２４は、検証時間が経過したか否かを判定する（ステップＳ７０８）。ステップＳ７０８において、検証時間が経過していない場合、整合性評価部１２４は、ステップＳ７０２へ戻る。
【００７６】
ステップＳ７０８において、検証時間が経過している場合、整合性評価部１２４は、比較結果出力部２１５により、更新プログラムの適用が可能であることを示すメッセージをデータベース制御装置１００のディスプレイ等に表示させる（ステップＳ７０９）。
【００７７】
続いて、整合性評価部１２４は、削除部２１６により、データベースサービス部１１０を削除し（ステップＳ７１０）、処理を終了する。
【００７８】
尚、整合性評価部１２４は、比較結果出力部２１５により、データベースサービス部１１０を削除するか否かを選択させる画面を表示させ、削除が選択された場合に、データベースサービス部１１０の削除を実行しても良い。
【００７９】
ステップＳ７０７において、比較結果が一致していない場合、整合性評価部１２４は、比較結果出力部２１５により、更新前の制御プログラムによる処理結果と、更新後の制御プログラムによる処理結果とが一致していない旨を示すエラーメッセージを表示させる（ステップＳ７１１）。
【００８０】
続いて、整合性評価部１２４は、検証用データベースサービス部１４０の削除が指示されたか否かを判定する（ステップＳ７１２）。ステップＳ７１２において、削除が指示されない場合、整合性評価部１２４は、削除が指示されるまで待機する。
【００８１】
ステップＳ７１２において、削除が指示されると、整合性評価部１２４は、削除部２１６により、検証用データベースサービス部１４０を削除し（ステップＳ７１３）、処理を終了する。
【００８２】
以上のように、本実施形態では、データベースサービス部１１０と検証用データベースサービス部１４０において処理が実行される度に、両者の処理結果の整合性を評価することができる。
【００８３】
以下に、図８及び図９を参照し、データベース制御処理部１２０の処理についてさらに説明する。
【００８４】
図８は、データベース制御処理部の処理を説明する図である。図８（Ａ）は、更新プログラムを検出する前のデータベース制御装置１００の状態を示す図であり、図８（Ｂ）は、更新プログラムを検出した後のデータベース制御装置１００の状態を示す図であり、図８（Ｃ）は、制御プログラムが更新された後のデータベース制御装置１００の状態を示す図である。
【００８５】
図８（Ａ）に示す状態では、データベース制御装置１００は、データベース制御処理部１２０と、データベースサービス部１１０と、を有する。このとき、データベースサービス部１１０は、処理の実行要求を受けると、制御プログラムにより実現される処理実行部１１１により処理を実行し、処理結果情報と、ログ情報とをデータベース１１２とログデータベース１１３とに格納する。
【００８６】
図８（Ａ）の状態において、データベース制御処理部１２０は、制御プログラムの更新に用いる更新プログラム１５０を検出すると、検証用データベースサービス部１４０を生成する。よって、データベース制御装置１００は、図８（Ｂ）に示す状態となる。
【００８７】
データベース制御装置１００では、図８（Ｂ）の状態において、処理の実行要求を受け付けると、この実行要求の送信先をデータベースサービス部１１０と検証用データベースサービス部１４０の両方に設定する。言い換えれば、データベース制御処理部１２０は、処理の実行要求の送信先をデータベース１１２と検証用データベース１４２に設定する。
【００８８】
そして、データベース制御処理部１２０は、データベースサービス部１１０と検証用データベースサービス部１４０のそれぞれにおいて、処理結果情報とログ情報とが各データベースに格納されると、この処理結果情報の整合性の判定を行う。つまり、データベース制御処理部１２０は、データベース１１２と検証用データベース１４２のそれぞれに格納された処理結果情報が一致するか否かの判定を行う。
【００８９】
本実施形態のデータベース制御装置１００は、図８（Ｂ）の状態においては、実行要求を受け付ける度に、受け付けた実行要求をデータベースサービス部１１０と検証用データベースサービス部１４０の両方へ送信する。そして、データベース制御処理部１２０は、実行要求に基づき処理が実行される度に、データベース１１２に格納された処理結果情報と、検証用データベース１４２に格納された処理結果情報とを比較し、一致するか否かを判定する。
【００９０】
本実施形態では、上述した整合性の判定の処理は、予め設定された検証時間の間に行われる。
【００９１】
図８（Ｂ）の状態において、比較対象の２つの処理結果情報が一致しない場合、データベース制御処理部１２０は、検証時間が経過する前であっても、検証用データベースサービス部１４０を削除し、データベース制御装置１００を図８（Ａ）の状態へ戻す。
【００９２】
２つの処理結果情報が一致しない場合とは、制御プログラムを更新することで、更新前と同様の処理結果が得られないことを示している。したがって、本実施形態では、処理結果情報が一致しない場合は、検証用データベースサービス部１４０を削除することで、更新を反映させないようにする。
【００９３】
また、図８（Ｂ）の状態において、検証時間が経過するまで、一致しない処理結果情報が存在しなかった場合、つまり、検証時間内に比較した２つの処理結果情報が全て一致した場合、データベース制御装置１００は、図８（Ｃ）の状態となる。
【００９４】
図８（Ｃ）に示すデータベース制御装置１００は、データベースサービス部１１０が削除されており、データベース制御処理部１２０と検証用データベースサービス部１４０と、有する。つまり、図８（Ｃ）では、データベース制御装置１００は、データベースサービス部は、更新後の環境である検証用データベースサービス部１４０に置き換えられている。
【００９５】
この場合、データベース制御処理部１２０は、処理の実行要求を受け付けると、この実行要求を検証用データベースサービス部１４０へ送信し、処理実行部１４１に処理を実行させる。
【００９６】
以上のように、本実施形態によれば、データベースを制御する制御プログラムの更新が検出されると、自動的に、更新制御プログラムと検証用データベースとが生成される。そして、本実施形態では、自動的に、更新前の環境における処理結果と、更新後の環境における処理結果との整合性の評価を行い、整合性がある場合には、更新前の環境を削除し、更新後の環境に置き換える。
【００９７】
したがって、本実施形態によれば、データベースの管理者が検証作業を行う手間を省くことができ、更新プログラムの適用がデータベースに与える影響の評価を容易に行なうことができる。
【００９８】
次に、図９を参照して、整合性評価部１２４の処理についてさらに説明する。図９は、整合性評価部の処理を説明する図である。図９（Ａ）はデータベース１１２と検証用データベース１４２を示し、図９（Ｂ）はログデータベース１１３と検証用ログデータベース１４３を示し、図９（Ｃ）は補正後の処理結果情報が格納された検証用データベース１４２を示す。
【００９９】
図９（Ａ）に示すデータベース１１２の処理結果情報１１２−１と、検証用データベース１４２の処理結果情報１４２−１とは、同じ実行要求を受けて処理を実行した結果を示す。また、データベース１１２の処理結果情報１１２−２と、検証用データベース１４２の処理結果情報１４２−２とは、同じ実行要求を受けて処理を実行した結果を示す。さらに、データベース１１２の処理結果情報１１２−３と、検証用データベース１４２の処理結果情報１４２−３とは、同じ実行要求を受けて処理を実行した結果を示す。
【０１００】
図９（Ａ）では、処理結果情報１１２−１と処理結果情報１４２−１のそれぞれの項目「時刻」の値は、「１／１  ００：０１」と、「１／１  ００：０２」であり、値が異なっている。処理結果情報１１２−２と処理結果情報１４２−２のそれぞれについても、処理結果情報１１２−３と処理結果情報１４２−３のそれぞれについても、同様に、項目「時刻」の値が異なっている。
【０１０１】
このように、２つの処理結果情報において、項目「時刻」の値が異なる場合、処理結果比較部２１４による比較の際に、この２つの処理結果情報が異なるものであると判定され、整合性がないと誤判定される可能性がある。
【０１０２】
そこで、本実施形態の時刻補正部２１３では、ログ情報を参照して、２つの処理結果情報の項目「時刻」の値を一致させる。
【０１０３】
図９（Ｂ）において、処理結果情報１１２−１がデータベース１１２に格納されたことを示すログ情報は、ログ情報１１３−１である。処理結果情報１１２−２がデータベース１１２に格納されたことを示すログ情報は、ログ情報１１３−２である。処理結果情報１１２−３がデータベース１１２に格納されたことを示すログ情報は、ログ情報１１３−３である。
【０１０４】
また、図９（Ｂ）において、処理結果情報１４２−１がデータベース１４２に格納されたことを示すログ情報は、ログ情報１４３−１である。処理結果情報１４２−２がデータベース１４２に格納されたことを示すログ情報は、ログ情報１４３−２である。処理結果情報１４２−３がデータベース１４２に格納されたことを示すログ情報は、ログ情報１４３−３である。
【０１０５】
以下に、処理結果情報１１２−１と、処理結果情報１４２−１との整合性の判定を行う場合について説明する。
【０１０６】
整合性評価部１２４は、ログ情報比較部２１２により、ログデータベース１１３と検証用ログデータベース１４３のそれぞれから、ＩＤが一致するログ情報を取得する。ここでは、ＩＤが「００１」のログ情報１１３−１、１４３−１が取得される。
【０１０７】
次に、ログ情報比較部２１２は、ログ情報１１３−１、１４３−１に含まれるタイムスタンプを比較する。ログ情報１１３−１に含まれるタイムスタンプは、「１／１  ００：０１」であり、ログ情報１４３−１に含まれるタイムスタンプは、「１／１  ００：０２」であり、両者は一致していない。
【０１０８】
そこで、時刻補正部２１３は、検証用データベース１４２において、項目「時刻」の値が、ログ情報１４３−１のタイムスタンプ「１／１  ００：０２」と一致する処理結果情報１４２−１を特定する。
【０１０９】
続いて、時刻補正部２１３は、処理結果情報１４２−１に含まれる項目「時刻」の値を、図９（Ｃ）に示すように、ログ情報１１３−１のタイムスタンプ「１／１  ００：０１」に置き換えた処理結果情報１４２Ａ−１とする。
【０１１０】
続いて、整合性評価部１２４は、処理結果比較部２１４により、データベース１１２と検証用データベース１４２のそれぞれにおいて、項目「時刻」の値が一致する処理結果情報１１２−１、１４２−１を特定し、両者の項目「ＸＸ」、「ＹＹ」の値を比較する。
【０１１１】
処理結果情報１１２−１の項目「ＸＸ」、「ＹＹ」の値は、それぞれ「Ａ」、「Ｂ」であり、処理結果情報１１２−１の項目「ＸＸ」、「ＹＹ」の値も、それぞれ「Ａ」、「Ｂ」である。よって、処理結果情報１１２−１と処理結果情報１４２−１とが一致していることがわかる。
【０１１２】
本実施形態の整合性評価部１２４は、処理結果情報１４２−２、１４２−３についても、同様の方法により項目「時刻」の値を置き換えて、処理結果情報１４２Ａ−２、１４２Ａ−３とする。そして、処理結果情報１１２−２と処理結果情報１４２Ａ−２、処理結果情報１１２−３と処理結果情報１４２Ａ−３とを比較する。
【０１１３】
以上のように、本実施形態では、データベース１１２に格納された処理結果情報と検証用データベース１４２に格納された処理結果情報と、における、ネットワークの性質による時刻のずれを補正するため、検証における整合性の誤判定の発生を抑制できる。
【０１１４】
次に、図１０を参照して、整合性評価部１２４の結果出力部２１５による検証結果の出力について説明する。図１０は、表示例を示す図である。図１０（Ａ）は、検証時間内に比較した処理結果情報が全て一致していた場合に、データベース制御装置１００の表示部に表示される画像の例を示す。図１０（Ｂ）は、処理結果情報が一致しなかった場合に、データベース制御装置１００の表示部に表示される画像の例を示す。
【０１１５】
図１０（Ａ）の示す画面１０１は、例えば図７のステップＳ７０９において表示されても良い。画面１０１には、更新プログラムの適用が可能であることを示すメッセージ１０２と、データベースサービス部１１０を削除するか否かを選択させるボタン１０３、１０４が表示されている。
【０１１６】
本実施形態のデータベース制御処理部１２０は、例えばボタン１０３が選択されると、削除部２１６によりデータベースサービス部１１０を削除しても良い。
【０１１７】
図１０（Ｂ）の示す画面１０１Ａは、例えば図７のステップＳ７１１において表示されても良い。画面１０１Ａには、更新プログラムが不適切であることを示すメッセージ１０２Ａと、検証用データベースサービス部１４０を削除するか否かを選択させるボタン１０３Ａ、１０４Ａが表示されている。
【０１１８】
更新プログラムが不適切であるとは、更新前の環境と更新後の環境において、処理結果が整合しないことを意味している。
【０１１９】
本実施形態のデータベース制御処理部１２０は、例えばボタン１０３Ａが選択されると、削除部２１６により検証用データベースサービス部１４０を削除しても良い。
【０１２０】
本実施形態では、使用しない環境（データベースサービス部）を削除できれば、例えばデータベース制御装置１００の記憶領域の使用に対して課金される場合等において、不要なデータベースサービス部に対して課金されることを回避できる。
【０１２１】
尚、上述した実施形態では、データベース制御処理部１２０により検証用データベースサービス部１４０が生成された後に、実行要求に基づき処理が実行される度に、データベース１１２の処理結果情報と検証用データベース１４２の処理結果情報とを比較するものとしたが、これに限定されない。
【０１２２】
本実施形態では、ログデータベース１１３と検証用ログデータベース１４３に、所定数のログ情報が蓄積された後に、データベース１１２の処理結果情報と検証用データベース１４２の処理結果情報との比較を開始しても良い。また、本実施形態では、例えば所定数のログ情報が蓄積される前に検証時間が経過した場合には、検証時間を延長させても良い。
【０１２３】
開示の技術では、以下に記載する付記のような形態が考えられる。
（付記１）
アクセスリクエストの送信先に設定された第１のデータベースの第１の制御プログラムの更新に用いられる新たな更新プログラムの検出に応じて、前記第１の制御プログラムに従って動作する第１のデータベースの記憶内容が複写された第２のデータベースを生成するとともに、前記第１の制御プログラムを前記更新プログラムを用いて更新した第２の制御プログラムを生成し、
アクセスリクエストの送信先を前記第１のデータベースと前記第２のデータベースの双方に設定し、
前記第１のデータベースにおける処理結果と前記第２のデータベースにおける処理結果の整合性を評価する、
処理をコンピュータに実行させることを特徴とするデータベース制御プログラム。
（付記２）
前記整合性の評価結果に応じて、前記アクセスリクエストの送信先を前記第１のデータベースと前記第２のデータベースのうち、前記第２のデータベースのみに設定する、
処理を前記コンピュータに実行させることを特徴とする付記１記載のデータベース制御プログラム。
（付記３）
前記アクセスリクエストが、前記第２のデータベースのみに設定された場合に、前記第１の制御プログラムと、前記第１のデータベースと、を削除する、
処理を前記コンピュータに実行させることを特徴とする付記２記載のデータベース制御プログラム。
（付記４）
前記第１のデータベースにおける処理結果は、前記処理結果が得られた時刻を示す第１の時刻情報と、前記処理結果の第１の値と、を含み、
前記第２のデータベースにおける処理結果は、前記処理結果が得られた時刻を示す第２の時刻情報と、前記処理結果の第２の値と、を含み、
前記第１の時刻情報と、前記第２の時刻情報とが異なるとき、前記第２の時刻情報を、前記第１の時刻情報と一致させる、
処理を前記コンピュータに実行させることを特徴とする付記１乃至３の何れか一項に記載のデータベース制御プログラム。
（付記５）
前記更新プログラムの検出に応じて、前記第１のデータベースの動作の履歴を示し、前記第１の時刻情報を含む第１のログ情報が格納される第１のログデータベースを複写して、前記第２のデータベースの動作の履歴を示し、前記第２の時刻情報を含む第２のログ情報が格納される第２のログデータベースを生成し、
前記第１のログ情報に含まれる第１の時刻情報と、前記第２のログ情報に含まれる第２の時刻情報と、が異なるとき、
前記第２のデータベースにおいて、前記第２のログ情報と対応した処理結果に含まれる前記第２の時刻情報を、前記第１のログ情報に含まれる前記第１の時刻情報とする、付記４記載のデータベース制御プログラム。
（付記６）
前記第１のデータベースにおける処理結果と前記第２のデータベースにおける処理結果と、において、前記第１の時刻情報及び前記第２の時刻情報と、前記第１の値及び前記第２の値と、が一致するとき、
前記アクセスリクエストを、前記第２のデータベースのみに設定する、
処理を前記コンピュータに実行させることを特徴とする付記４又は５に記載のデータベース制御プログラム。
（付記７）
前記第１の値及び前記第２の値と、が一致しない場合、前記アクセスリクエストの送信先を前記第１のデータベースと前記第２のデータベースのうち、前記第１のデータベースのみに設定し、
前記第２の制御プログラムと、前記第２のデータベースと、を削除する、
処理を前記コンピュータに実行させることを特徴とする付記２乃至６の何れか一項に記載のデータベース制御プログラム。
（付記８）
コンピュータによるデータベース制御方法であって、該コンピュータが、
アクセスリクエストの送信先に設定された第１のデータベースの第１の制御プログラムの更新に用いられる新たな更新プログラムの検出に応じて、前記第１の制御プログラムに従って動作する第１のデータベースの記憶内容が複写された第２のデータベースを生成するとともに、前記第１の制御プログラムを前記更新プログラムを用いて更新した第２の制御プログラムを生成し、
アクセスリクエストの送信先を前記第１のデータベースと前記第２のデータベースの双方に設定し、
前記第１のデータベースにおける処理結果と前記第２のデータベースにおける処理結果の整合性を評価する、ことを特徴とするデータベース制御方法。
（付記９）
アクセスリクエストの送信先に設定された第１のデータベースの第１の制御プログラムの更新に用いられる新たな更新プログラムの検出に応じて、前記第１の制御プログラムに従って動作する第１のデータベースの記憶内容が複写された第２のデータベースを生成するとともに、前記第１の制御プログラムを前記更新プログラムを用いて更新した第２の制御プログラムを生成する生成部と、
アクセスリクエストの送信先を前記第１のデータベースと前記第２のデータベースの双方に設定する設定部と、
前記第１のデータベースにおける処理結果と前記第２のデータベースにおける処理結果の整合性を評価する評価部と、を有することを特徴とするデータベース制御装置。
【０１２４】
本発明は、具体的に開示された実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１２５】
１００  データベース制御装置
１１０  データベースサービス部
１１１、１４１  処理実行部
１１２  データベース
１１３  ログデータベース
１２０  データベース制御処理部
１２１  更新検出部
１２２  検証用生成部
１２３  振分先設定部
１２４  整合性評価部
２１１  検証時間設定部
２１２  ログ情報比較部
２１３  時刻補正部
２１４  処理結果比較部
２１５  比較結果出力部
２１６  削除部
１４０  検証用データベースサービス部
１４２  検証用データベース
１４３  検証用ログデータベース
【図１】
2018018121.tif 000003
【図２】
2018018121.tif 000004
【図３】
2018018121.tif 000005
【図４】
2018018121.tif 000006
【図５】
2018018121.tif 000007
【図６】
2018018121.tif 000008
【図７】
2018018121.tif 000009
【図８】
2018018121.tif 000010
【図９】
2018018121.tif 000011
【図１０】
2018018121.tif 000012