(57)【要約】【課題】復旧時間を短縮させる。【解決手段】情報処理装置において、記憶装置に対する書き込み命令を解析し、前記書き込み命令により前記記憶装置に書き込まれたデータを読み出すための読み出し命令と読み出し期待値とを含む整合性確認情報を取得する命令解析手段と、前記命令解析手段により得られる前記整合性確認情報を前記書き込み命令に対応付けて記憶する記憶手段と、前記記憶装置の障害復旧時に、前記書き込み命令の実行状態と、前記記憶手段に記憶された前記整合性情報とに基づいて、前記記憶装置に書き込まれたデータの整合性を確認する命令実行手段とを有する。【選択図】図２
2014071740.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置に対する書き込み命令を解析し、前記書き込み命令により前記記憶装置に書き込まれたデータを読み出すための読み出し命令と読み出し期待値とを含む整合性確認情報を取得する命令解析手段と、
前記命令解析手段により得られる前記整合性確認情報を前記書き込み命令に対応付けて記憶する記憶手段と、
前記記憶装置の障害復旧時に、前記書き込み命令の実行状態と、前記記憶手段に記憶された前記整合性情報とに基づいて、前記記憶装置に書き込まれたデータの整合性を確認する命令実行手段とを有することを特徴とする情報処理装置。
【請求項２】
前記命令実行手段は、
前記読み出し命令の実行により得られた値が前記読み出し期待値と一致しない場合に、前記記憶手段に記憶された書き込み命令を実行することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記記憶手段は、前記所定の処理を行う１又は複数の書き込み命令を同一の識別情報として記憶する命令記憶手段と、前記識別情報毎に前記書き込み命令の実行状態を記憶する状態記憶手段とを有し、
前記命令実行手段は、前記記憶装置の障害復旧時に、前記状態記憶手段から前記識別情報毎の書き込み命令の実行状態を読み出し、読み出した実行状態に基づいて、前記命令記憶手段に記憶された前記識別情報に対応する読み出し命令を実行し、実行した結果と前記読み出し期待値とを比較することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記命令実行手段は、
前記記憶装置の状態を確認するための読み出しができない場合に、エラー処理を行うことを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
記憶装置に対する書き込み命令を解析し、前記書き込み命令により前記記憶装置に書き込まれたデータを読み出すための読み出し命令と読み出し期待値とを含む整合性確認情報を取得する命令解析ステップと、
前記命令解析ステップにより得られる前記整合性確認情報を前記書き込み命令に対応付けて記憶手段に記憶する記憶ステップと、
前記記憶装置の障害復旧時に、前記書き込み命令の実行状態と、前記記憶手段に記憶された前記整合性情報とに基づいて、前記記憶装置に書き込まれたデータの整合性を確認する命令実行ステップとを有することを特徴とする管理方法。
【請求項６】
記憶装置に対する書き込み命令を解析し、前記書き込み命令により前記記憶装置に書き込まれたデータを読み出すための読み出し命令と読み出し期待値とを含む整合性確認情報を取得し、
取得した前記整合性確認情報を前記書き込み命令に対応付けて記憶手段に記憶し、
前記記憶装置の障害復旧時に、前記書き込み命令の実行状態と、前記記憶手段に記憶された前記整合性情報とに基づいて、前記記憶装置に書き込まれたデータの整合性を確認する、処理をコンピュータに実行させるための管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、情報処理装置、管理方法、及び管理プログラムに関する。
【背景技術】
【０００２】
従来では、サーバやデータベース等を備えた管理システムに何らかの障害が発生した場合に、管理者等の担当者が運用時のログ情報等を参照しながら、自己の経験等に基づいて原因を分析して復旧を行っている。ここで、従来では、例えば監視対象サーバに障害が発生したときに、障害の復旧がデッドラインに間に合うように障害を復旧させるために、必要な対応手順を組み合わせた予定表を生成する障害対応システムが存在する。また、従来では、システム障害の発生によって中断されたバッチジョブを、バッチジョブの状態が格納されたデータベースから検索したり、システム障害の発生によりリカバリジョブが中断されたバッチジョブに対して再度リカバリジョブを起動する手法が存在する（例えば、特許文献１及び２参照）。
【０００３】
なお、従来では、データベースにアクセスしてデータを書き込んでいる状態で障害が発生した場合に、データベースに記憶されたデータとデータベースへの書き込みデータとの整合性を確認し、不整合が生じている場合には、そのデータを復旧させる必要が生じる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２１０１４８号公報
【特許文献２】特開２００８−１８１７３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来手法において、データベースに記憶されたデータの整合性を確認する場合には、担当者等が手動かつ目視で入力データとの確認作業を行うため時間がかかってしまう。また、上述した従来手法では、データベースに記憶されたデータに不整合なデータがあるか否かに関わらず、データベース内の全てのデータを確認するため、データベースへの書き込み作業を長時間中断させる必要が生じる。更に、上述した従来手法では、データの不整合を解消してデータを復旧させるために、バックアップデータ等を用いてデータ書き込み前の状態に戻してから再度データを書き込む必要が生じる。したがって、従来手法では、かなりの復旧時間が必要となっていた。
【０００６】
開示の技術は、かかる問題を鑑み、復旧時間を短縮させることを目的とする。
【課題を解決するための手段】
【０００７】
開示の一態様における情報処理装置は、記憶装置に対する書き込み命令を解析し、前記書き込み命令により前記記憶装置に書き込まれたデータを読み出すための読み出し命令と読み出し期待値とを含む整合性確認情報を取得する命令解析手段と、前記命令解析手段により得られる前記整合性確認情報を前記書き込み命令に対応付けて記憶する記憶手段と、前記記憶装置の障害復旧時に、前記書き込み命令の実行状態と、前記記憶手段に記憶された前記整合性情報とに基づいて、前記記憶装置に書き込まれたデータの整合性を確認する命令実行手段とを有する。
【発明の効果】
【０００８】
開示の技術によれば、復旧時間を短縮させることができる。
【図面の簡単な説明】
【０００９】
【図１】データアクセス管理システムの概略構成例を示す図である。
【図２】アクセス管理装置の機能構成の一例を示す図である。
【図３】アクセス管理処理が実現可能なハードウェア構成の一例を示す図である。
【図４】命令記憶手段に記憶されるデータ例を示す図である。
【図５】ＩＤ状態記憶手段に記憶されるデータ例を示す図である。
【図６】データベースの記憶内容の具体例を説明するための図である。
【図７】データ書き込み処理の一例を示すフローチャートである。
【図８】通常時のデータ書き込み処理の概要を説明するための図である。
【図９】障害復旧処理の一例を示すフローチャートである。
【図１０】障害復旧処理の概要を説明するための図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照しながら実施例について詳細に説明する。
【００１１】
＜データアクセス管理システムの概略構成例＞
図１は、データアクセス管理システムの概略構成例を示す図である。図１に示すデータアクセス管理システム１０は、概略的には情報処理装置の一例としてのアクセス管理装置１１と、記憶装置の一例としてのデータベース１２と、１又は複数の端末１３−１〜１３−ｎ（以下、必要に応じて「端末１３」と総称する）とを有する。また、図１のデータアクセス管理システム１０において、アクセス管理装置１１と、端末１３とは、通信ネットワーク１４によりデータの送受信が可能な状態で接続されている。なお、本実施形態では、アクセス管理装置１１と、データベース１２とが通信ネットワーク１４によりデータの送受信が可能な状態で接続されていてもよい。
【００１２】
アクセス管理装置１１は、端末１３からの指示に基づきデータベース１２に対するデータの読み出しや書き込み等のデータアクセスの管理等を行う。例えば、アクセス管理装置１１は、データベース１２に対するデータの書き込みを行う前処理として、データベース１２に書き込まれたデータとデータベース１２への書き込みデータとの整合性を確認するための整合性確認情報（例えば、確認用読み出し命令、読み出し期待値）を生成し、書き込み命令と対応付けて記憶手段等に記憶する。また、アクセス管理装置１１は、上述した前処理やデータベース１２へのデータ書き込みの開始や終了等の実行に対する状態情報を記憶手段等に記憶する。また、アクセス管理装置１１は、障害等が発生した際に、上述した整合性確認情報や状態情報等に基づいて、データ書き込みの中断点を判別する。したがって、アクセス管理装置１１は、データベース１２に対する障害復旧時に書き込み中断点から迅速にデータ書き込みを再開させることができる。なお、障害とは、例えばデータアクセス管理システム１０における各装置の故障等による障害や、ネットワーク障害、電源障害等のシステム障害等であるがこれに限定されるものではない。
【００１３】
つまり、本実施形態では、障害により書き込みが中断されたデータに対して、データ書き込みの中断点を判別し、障害復旧後にその中断点から書き込みを再開させることにより、データベース１２へのデータ入力作業の中断時間を短縮する。また、本実施形態では、データ不整合発生時にデータ記憶前の状態に戻し、再度データの入力を行うといった処理を実施することなく、障害発生から復旧までの処理を簡素化して、適切にデータ不整合を解消することができる。
【００１４】
ここで、アクセス監視装置１１は、例えばＰｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ（ＰＣ）や、ノート型ＰＣ、サーバ等であってもよいが、これに限定されるものではない。
【００１５】
データベース１２は、例えば業務上等における所定の処理を実行するための各種設定情報や、所定の処理の実行に対する入出力データ等を記憶する。また、データベース１２は、例えば端末１３からの指示等を受けたアクセス管理装置１１から要求されたデータを所定のタイミングで読み出したり、書き込んだりすることができる。
【００１６】
ここで、データベース１２は、多種の情報の集合物であり、それらの情報を、例えばキーワード等を用いて検索し、抽出することができるように体系的に構成されている。なお、本実施形態におけるデータベース１２は、例えばデータベースサーバでもよく、また複数のデータベースからなるデータセンタ等であってもよく、更にクラウドコンピューティングで設計されたデータベースの一部又は全部であってもよい。
【００１７】
端末１３は、各ユーザが使用するコンピュータである。端末１３は、各端末１３がそれぞれの業務等に対応する所定の処理を行う際に必要となるデータの読み出し（入力）要求や、処理後のデータの書き込み（出力）要求をデータベース１２に対して行い、データの入出力を行う。なお、図１の例に示すデータアクセス管理システム１０において、上述した端末１３からの要求情報は、通信ネットワーク１４を介してアクセス管理装置１１に送信され、アクセス管理装置１１を介してデータベース１２に送信される。
【００１８】
ここで、端末１３は、例えばＰＣやノート型ＰＣ等であってもよく、スマートフォンやタブレット端末、携帯端末等の各種通信端末、ゲーム機器、音楽再生装置等であってもよいが、これに限定されるものではない。
【００１９】
通信ネットワーク１４は、例えばインターネットやＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）等に代表されるネットワーク形態を有するが、これに限定されるものではない。
【００２０】
上述したデータアクセス管理システム１０は、例えばデータベース１２に対するデータ書き込み中に障害が発生し、データが不整合になった場合でも、アクセス管理装置１１によって、障害復旧後に書き込み中断点から書き込みを再開させることにより、データ不整合が解消される。そのため、本実施形態では、障害復旧時に管理者等がデータ不整合の可能性を確認する必要がなくなる。
【００２１】
また、本実施形態において、障害復旧後は、端末１３を使用するユーザがデータベース１２に入力しようとしたデータについて「入力完了状態」となるため、障害発生により書き込まれなかったデータを再度書き込む手間が発生しない。これにより、本実施形態では、障害発生から復旧までの処理を簡素化して、復旧時間を短縮させることができるため、例えばデータベースに対するデータ入力等の中断時間を大幅に短縮することができる。なお、復旧時間とは、例えば障害が発生してから、復旧が完了するまで（障害発生前の状態に戻るまで）の時間等を意味するが、これに限定されるものではない。
【００２２】
なお、従来では、例えばデータベース１２にデータを書き込み中に障害が発生した場合に、どこまで書き込みが完了しているかが分からず、同一のデータを二重に書き込む恐れがあった。そのため、従来では、バックアップデータ等を用いてデータ入力前の状態に一旦戻し、再度データを入力し直す必要があった。
【００２３】
しかしながら、本実施形態によれば、アクセス管理装置１１によって書き込み命令の実行状態を確認後、状態が完了となっていない場合に、確認用読み出し命令によりデータベース１２の値を確認することで、書き込みがどの位置で中断しているかを迅速に確認することができる。そのため、本実施形態では、書き込みが完了していない中断点からデータの書き込みが再開でき、障害発生から復旧までの処理を簡素化して復旧時間を短縮させることができる。
【００２４】
＜アクセス管理装置１１の機能構成例＞
次に、上述したアクセス管理装置１１について、具体的に説明する。図２は、アクセス管理装置の機能構成の一例を示す図である。図２に示すアクセス管理装置１１は、入力手段２１と、出力手段２２と、ＩＤ管理手段２３と、命令解析手段２４と、命令変換手段２５と、命令実行手段２６と、記憶手段２７と、送受信手段２８と、制御手段２９とを有する。また、命令実行手段２６は、書き込み命令実行手段３１と、読み出し命令実行手段３２とを有する。また、記憶手段２７は、命令記憶手段４１と、状態記憶手段の一例としてのＩＤ状態記憶手段４２とを有する。
【００２５】
入力手段２１は、アクセス管理装置１１を使用する管理者等からの各種指示の開始や終了、設定の入力等の各種入力を受け付ける。具体的には、入力手段２１は、例えば本実施形態におけるＩＤ管理指示、命令解析指示、命令変換指示、命令実行指示、記憶指示、送受信指示等の各指示を受け付ける。
【００２６】
入力手段２１により取得される情報の入力は、例えばキーボードやマウス等の入力インターフェース等による入力でもよく、また画面を用いたタッチパネル形式の入力でもよく、操作キー等を用いての入力でもよい。更に、入力手段２１は、例えばマイクロフォン等により音声を入力する音声入力手段を有していてもよい。
【００２７】
出力手段２２は、入力手段２１により入力された内容や、入力内容に基づいて実行された内容等の出力を行う。なお、出力手段２２は、例えば画面表示により出力する場合には、ディスプレイやモニタ等の表示手段を有し、音声により出力する場合には、例えばスピーカ等の音声出力手段を有していてもよい。また、入力手段２１と出力手段２２とは、例えばタッチパネル等のように入出力が一体型であってもよい。
【００２８】
ＩＤ管理手段２３は、命令解析手段２４等から指示等により例えばデータベース１２に対して所定の処理を行うための１又は複数の命令群に対して、他の命令群と重複しない固有の識別情報（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ；ＩＤ）を付与して管理する。なお、所定の処理とは、例えばある端末１３で実行される１つのトランザクション処理等を示すが、これに限定されるものではない。トランザクション処理とは、分けることのできない一連の情報処理の単位等を示す。つまり、ＩＤの設定は、１命令毎に設定してもよく、また上述したトランザクション処理を実行するための複数の命令群（例えば、５命令、１０命令）毎に設定してもよい。トランザクション処理単位で管理することで、例えば複数の命令を含む処理単位毎にデータベース１２へのデータアクセス管理を実現することができる。また、上述した所定の処理は、各端末１３が行う処理でもよく、アクセス管理装置１１が行う処理でもよい。
【００２９】
命令解析手段２４は、各端末１３から得られる複数の要求のうち、１又は複数の書き込み命令群を抽出し、抽出した書き込み命令群に対してＩＤ管理手段２３よりＩＤを取得し、書き込み命令群に対して１つのＩＤを付与する。なお、書き込み命令群の抽出は、例えば書き込み命令に対応するコマンド種別（例えば、ＷＲＩＴＥ）等に基づいて抽出することができるが、これに限定されるものではない。
【００３０】
また、命令解析手段２４は、例えばＩＤ毎に前処理等を行う。ここで、前処理とは、例えば端末１３等から得られるデータベース１２に対する要求（命令）を実際に実行する前に、データの整合性を確認するための情報（整合性確認情報）を取得し、取得した情報を命令記憶手段４１に記憶する処理等を意味する。
【００３１】
具体的には、前処理は、例えば端末１３等から要求を受けた全ての書き込み命令を解析し、書き込みを行うデータベース１２のテーブルやレコード、カラム（項目）等を特定する。また、前処理は、例えば命令変換手段２５により書き込み命令を変換し、書き込み命令の実行により書き込まれたデータを読み出すための読み出し命令（以下、「確認用読み出し命令」という）や読み出し期待値等を含む整合性確認情報を生成する。また、前処理は、生成した整合性確認情報を書き込み命令と対応付けて命令記憶手段４１に記憶する。
【００３２】
また、命令解析手段２４は、ＩＤ毎の状態情報をＩＤ状態記憶手段４２に記憶する。ここで、状態情報とは、ＩＤ毎の処理の実行状態に関する情報であり、例えばあるＩＤに対して上述した前処理を開始する場合に、そのＩＤに対応する状態情報が「前処理」となる。また、状態情報は、例えば上述した前処理の後に、ＩＤ毎に命令実行手段２６によりデータベース１２に対する端末１３等からの書き込み命令の実行が開始した場合や実行が終了した場合に、対応する状態情報が「開始」、「終了」となることを意味するがこれに限定されるものではない。
【００３３】
命令解析手段２４は、「前処理」の状態情報をＩＤ状態記憶手段４２に記憶する。なお、上述した「開始」、「終了」の状態情報は、命令実行手段２６におよりＩＤ状態記憶手段４２に記憶される。更に、命令解析手段２４は、上述した前処理の実行時にエラー等が発生した場合に、「異常終了」の状態情報をＩＤ状態記憶手段４２に記憶する。
【００３４】
命令変換手段２５は、命令解析手段２４により複数の命令の中から書き込み命令が抽出されると、抽出された書き込み命令を変換して、データベース１２の書き込み先（例えば、テーブル、レコード、カラム）のデータを読み出すための確認用読み出し命令を生成する。また、命令変換手段２５は、書き込み命令から読み出し期待値を生成し、生成した読み出し期待値と上述した確認読み出し命令とを含む整合性確認情報を命令解析手段２４に出力する。
【００３５】
命令実行手段２６は、書き込み命令実行手段３１における書き込み命令の実行や、読み出し命令実行手段３２における読み出し命令の実行等を行う。なお、命令実行手段２６は、上述した書き込みや読み出しの実行に限定されるものではなく、例えば割り込み命令や所定の制御コマンド（例えば、データベース１２内のデータのソートやマージ）等による各種命令の実行等を行うことができる。また、読み出し命令実行手段３２における読み出し命令には、端末１３等から得られる通常の読み出し命令も含まれる。
【００３６】
ここで、命令実行手段２６は、書き込み命令実行手段３１において、例えばＩＤ状態記憶手段４２に「ＩＤ」、「日付」、「時刻」、「状態」等を記憶させる。なお、「状態」としては、例えば「開始」、「完了」、「異常終了」等の状態情報を記憶させるが、これに限定されるものではない。
【００３７】
例えば、書き込み命令実行手段３１は、各ＩＤの先頭の書き込み命令の実行前に状態情報を「開始」としてＩＤ状態記憶手段４２に記憶させる。また、書き込み命令実行手段３１は、命令記憶手段４１に記憶された情報のうち、書き込み命令を読み出して、ＩＤ毎に処理を実施し、全ＩＤの全ての書き込み命令に対して処理を実行する。書き込み命令実行手段３１は、例えば同一ＩＤ内の全ての書き込み命令が完了した時点で、状態情報を「完了」としてＩＤ状態記憶手段４２に記憶させる。また、書き込み命令実行手段３１は、例えば書き込みエラー等が発生した場合に、状態情報を「異常終了」とし、ＩＤ状態記憶手段４２に記憶させ、以降の書き込み命令を中止する。
【００３８】
また、読み出し命令実行手段３２は、例えば障害復旧時にデータベース１２が正常に起動又は動作しているか否かの状態を確認するため、データベース１２の所定の領域に記憶された値を読み出す。ここで、読み出す値は、例えばシステム構築時に、データベース１２の所定の領域（例えば、テーブル、レコード、カラム）に削除されることのない所定の値を記憶させておくのが好ましいが、これに限定されるものではない。なお、所定の値としては、例えばデータベース１２の識別情報等でもよく、変更したり削除することができないダミーデータ等でもよい。
【００３９】
読み出し命令実行手段３２は、読み出した所定の値が予め記憶手段２７等に記憶した値と一致する場合には、データベース１２の状態が正常と判断する。また、読み出し命令実行手段３２は、所定の値が読み出せない場合や読み出した所定の値が予め記憶手段２７等に記憶した値と一致しない場合に、データベース１２が正常に起動又は動作していないと判断し、エラー処理（例えば、エラーメッセージ出力）等を行う。
【００４０】
なお、本実施形態では、上述したデータベース１２に対する所定の値を読み出すことで、データベース１２の状態を確認したが、これに限定されるものではない。例えば、本実施形態では、上述した所定の値の読み出しを行わず、例えば命令記憶手段４１やＩＤ状態記憶手段４２の読み出しを行い、読み出しができなかった場合に、エラー処理を行ってもよい。
【００４１】
また、読み出し命令実行手段３２は、上述した所定の値が正しく読み出せた場合に、ＩＤ状態記憶手段４２により各ＩＤの状態を読み出し、所定の条件を満たすＩＤを取得する。なお、所定の条件とは、例えば状態情報が「開始」であり、かつ「完了」していない場合等とすることができるが、これに限定されるものではない。また、ＩＤの読み出し順序としては、例えばＩＤ状態記憶手段４２の日時（「日付」、「時刻」）を参照し、例えば日時が古いものから順番に読み出してもよく、また日時が最新のレコードから予め設定しておいた期間分（例えば、１週間、１ヶ月、１年）遡ったデータを対象に読み出してもよい。また、状態情報が「前処理」であるＩＤについては、その状態がデータベース１２への書き込みを行っていない状態を意味しているため、その旨のメッセージを出力手段２２等から出力してもよい。
【００４２】
また、読み出し命令実行手段３２は、上述した所定の条件を満たすＩＤが存在する場合に、そのＩＤに対応する書き込み命令によりデータベース１２に書き込まれたデータとデータベース１２への書き込みデータとの整合性を確認する。
【００４３】
具体的には、読み出し命令実行手段３２は、命令記憶手段４１から確認用読み出し命令及び読み出し期待値を読み出し、読み出した確認用読み出し命令を実行する。また、読み出し命令実行手段３２は、確認用読み出し命令により読み出した値と読み出し期待値とが一致するか否かを判断してデータの整合性を確認する。ここで、読み出し命令実行手段３２は、確認用読み出し命令により読み出した値が読み出し期待値と一致しない場合に、データベース１２に記憶されたデータが不整合であると判断することができる。
【００４４】
そのため、命令実行手段２６は、読み出した値と読み出し期待値とが一致しない場合に、書き込み命令実行手段３１により、対応する書き込み命令を実行する。なお、本実施形態では、上述した書き込み命令の実行後に、再度確認用読み出し命令を実行し、読み出した値と読み出し期待値とを比較してもよい。
【００４５】
なお、命令実行手段２６は、読み出し命令実行手段３２により読み出した値が読み出し期待値と同じ場合には、整合が取れているものとし、上述した書き込み命令を実行しない。
【００４６】
また、命令実行手段２６は、同一ＩＤ内の全ての読み出し命令（対応する書き込み命令が必要であれば書き込み命令も含む）が完了した場合に、状態を「完了」とし、ＩＤ状態記憶手段４１に記憶させる。また、命令実行手段２６は、書き込み命令実行手段３１による書き込みエラーが発生した場合や、読み出し命令実行手段３２による読み出しエラーが発生した場合に、状態を「異常終了」とし、ＩＤ状態記憶手段４２に記憶させ、以降の処理等を中止する。
【００４７】
記憶手段２７は、本実施形態において必要となる各種情報を記憶する。具体的には、記憶手段２７は、命令記憶手段４１やＩＤ状態記憶手段４２に記憶されている各種情報や、実行経過や実行結果、ログ情報等を記憶する。
【００４８】
また、記憶手段２７は、記憶された各種情報を必要に応じて所定のタイミングで読み出したり、書き込んだりすることができる。記憶手段２７は、上述したような多種の情報の集合物であり、それらの情報を、例えばキーワード等を用いて検索し、抽出することができるように体系的に構成されているデータベースとしての機能を有していてもよい。なお、記憶手段２７は、例えばハードディスクやメモリ等からなる。
【００４９】
送受信手段２８は、例えば通信ネットワーク１４を介して端末１３やデータベース１２等の外部装置とデータの送受信を行うための通信手段である。送受信手段２８は、外部装置等にすでに記憶されている各種情報等を受信することができ、またアクセス管理装置１１で処理された結果を、通信ネットワーク１４を介して外部装置等に送信することもできる。
【００５０】
制御手段２９は、アクセス管理装置１１の各構成部全体の制御を行う。具体的には、制御手段２９は、例えば端末１３を利用するユーザ等からの指示や、管理者等による入力手段２１からの指示等に基づいて、データベース１２等へのアクセス管理に関する各制御を行う。ここで、各制御とは、例えば上述したＩＤ管理手段２３における命令群毎のＩＤ管理や、命令解析手段２４における命令解析、命令変換手段２５における命令変換等がある。また、各制御とは、命令実行手段２６における各種命令の実行や記憶手段２７における各種情報の記憶等があるが、これに限定されるものではない。これらの制御は、プログラムの実行や管理者等の指示による所定のイベントやコマンド等の実行に基づいて行われてもよいが、これに限定されるものではない。
【００５１】
＜アクセス管理装置１１のハードウェア構成例＞
ここで、上述したアクセス管理装置１１においては、各機能をコンピュータに実行させることができる実行プログラム（管理プログラム）を生成し、例えば汎用のＰＣやサーバ等にその実行プログラムをインストールすることにより、本実施形態におけるデータベース１２に対するアクセス管理処理を実現することができる。ここで、本実施形態におけるアクセス管理処理が実現可能なコンピュータのハードウェア構成例について図を用いて説明する。
【００５２】
図３は、アクセス管理処理が実現可能なハードウェア構成の一例を示す図である。図３におけるコンピュータ本体には、入力装置５１と、出力装置５２と、ドライブ装置５３と、補助記憶装置５４と、主記憶装置５５と、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）５６と、ネットワーク接続装置５７とを有するよう構成されており、これらはシステムバスＢで相互に接続されている。
【００５３】
入力装置５１は、例えばアクセス管理装置１１の管理者等が操作するキーボード及びマウス等のポインティングデバイスや、マイクロフォン等の音声入力デバイスを有している。入力装置５１は、管理者等からのプログラムの実行指示、各種操作情報、ソフトウェアを起動するための情報等を入力する。
【００５４】
出力装置５２は、本実施形態における処理を行うためのコンピュータ本体を操作するのに必要な各種ウィンドウやデータ等を表示するディスプレイを有し、ＣＰＵ５６が有する制御プログラムによりプログラムの実行経過や結果等を表示することができる。また、出力装置５２は、上述の処理結果等を紙等の印刷媒体に印刷して、管理者等に提示することができる。
【００５５】
ここで、本実施形態においてコンピュータ本体にインストールされる実行プログラムは、例えば、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）メモリやＣＤ−ＲＯＭ、ＤＶＤ等の可搬型の記録媒体５８等により提供される。プログラムを記録した記録媒体５８は、ドライブ装置５３にセット可能であり、ＣＰＵ５６からの制御信号に基づき、記録媒体５８に含まれる実行プログラムが、記録媒体５８からドライブ装置５３を介して補助記憶装置５４にインストールされる。
【００５６】
補助記憶装置５４は、ＣＰＵ５６からの制御信号に基づき、本実施形態における実行プログラムやコンピュータに設けられた制御プログラム、実行経過や実行結果等を記憶する。また、補助記憶装置５４は、ＣＰＵ５６からの制御信号等に基づいて、記憶された各情報から必要な情報を読み出したり、書き込むことができる。
【００５７】
なお、補助記憶装置５４は、例えばＨａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ（ＨＤＤ）やＳｏｌｉｄ  Ｓｔａｔｅ  Ｄｒａｖｅ（ＳＳＤ）等からなり、例えば上述した記憶手段２７に対応している。
【００５８】
主記憶装置５５は、ＣＰＵ５６により補助記憶装置５４から読み出された実行プログラム等を格納する。なお、主記憶装置５５は、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）やＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）等からなる。
【００５９】
ＣＰＵ５６は、オペレーティングシステム等の制御プログラム、及び主記憶装置５５に格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御して各処理を実現することができる。なお、プログラムの実行中に必要な各種情報等は、補助記憶装置５４から取得することができ、また実行結果等を格納することもできる。
【００６０】
具体的には、ＣＰＵ５６は、例えば入力装置５１から得られるプログラムの実行指示等に基づき、補助記憶装置５４にインストールされた管理プログラムを実行させることにより、主記憶装置５５上でプログラムに対応する処理を行う。
【００６１】
例えば、ＣＰＵ５６は、管理プログラムを実行させることで、ＩＤ管理手段２３による各命令群のＩＤ管理や命令解析手段２４による命令解析、命令変換手段２５による命令変換、命令実行手段２６による各種命令の実行等の実行制御を行う。また、ＣＰＵ５６は、記憶手段２７における各種情報の書き込みや読み出し等の実行制御を行う。なお、ＣＰＵ５６における処理内容は、上述した内容に限定されるものではない。ＣＰＵ５６により実行された内容（実行経過や実行結果）等は、必要に応じて補助記憶装置５４に記憶させることができる。
【００６２】
ネットワーク接続装置５７は、ＣＰＵ５６からの制御信号に基づき、通信ネットワーク１４等と接続することにより、実行プログラムやソフトウェア、各種命令等を、通信ネットワーク１４に接続されている外部装置等から取得する。また、ネットワーク接続装置５７は、プログラムを実行することで得られた実行結果又は本実施形態における実行プログラム自体を外部装置等に提供することができる。
【００６３】
上述したようなハードウェア構成により、本実施形態におけるデータベースに対するアクセス管理処理を実行することができる。また、プログラムをインストールすることにより、汎用のＰＣ等で本実施形態におけるアクセス管理処理を容易に実現することができる。
【００６４】
＜データ例＞
次に、本実施形態における各種データ例について図を用いて説明する。図４は、命令記憶手段に記憶されるデータ例を示す図である。
【００６５】
図４に示す命令記憶手段４１により記憶されるデータの項目としては、例えば「ＩＤ」、「書き込み命令」、「確認用読み出し命令」、及び「読み出し期待値」等を含むがこれに限定されるものではない。なお、命令記憶手段４１に記憶されるデータは、実際の処理（命令）が行われる前処理として生成し、記憶される情報である。
【００６６】
図４に示すデータ例は、例えばデータベース１２に対する書き込み命令（例えば、ＷＲＩＴＥコマンド）又は確認用読み出し命令（例えば、ＲＥＡＤコマンド）に対する命令であり、その他の命令については、記憶されていないが、これに限定されるものではなく、所定の処理を行うための全ての動作が記憶されていてもよい。
【００６７】
「ＩＤ」は、所定の処理を行うための１又は複数の命令群を識別するために設定される値である。本実施形態では、所定の処理に対応する１又は複数の書き込み命令群に同一ＩＤのレコードが記憶される。なお、所定の処理とは、例えば、ある端末１３により実行される１つのトランザクション処理等を示すが、これに限定されるものではない。トランザクション処理とは、分けることのできない一連の情報処理の単位等を示す。つまり、本実施形態では、ＩＤ管理手段２３によって、例えば１つのトランザクション処理等によってデータベース１２の１又は複数の位置にデータを書き込むような命令群に対して同一ＩＤが設定される。なお、ＩＤの設定方法については、これに限定されるものではない。
【００６８】
「書き込み命令」は、実際の命令として、例えばデータベース１２内のどのテーブルのどのレコードのどのカラム（項目）に、どんな値を書き込むかの命令（ＷＲＩＴＥ命令）の値を書き込む。なお、この命令は、例えば端末１３等から要求された実際の処理に対する書き込み命令である。
【００６９】
また、「確認用読み出し命令」は、書き込み命令の実行によりデータベース１２に書き込まれたデータを読み出すための命令が記憶される。具体的には、「確認用読み出し命令」は、書き込み命令を変換して確認用読み出し命令を生成する。
【００７０】
また、「読み出し期待値」は、「確認用読み出し命令」に記憶された内容で命令（ＲＥＡＤ命令）が実行された場合に、正常であればどのような値が読み出されるかの期待値が設定される。具体的には、「読み出し期待値」には、書き込み命令における書き込み値が読み出し期待値として設定される。なお、上述した「確認用読み出し命令」及び「読み出し期待値」は、整合性確認情報の一例である。
【００７１】
例えば、図４の例において、「ＩＤ」が"１０００"の先頭レコードの「書き込み命令」は、"テーブルＸのカラムＣ１＝１００のレコードのカラムＣ２に１０００を書き込む"である。この場合、本実施形態では、命令変換手段２５により、上述した書き込み命令を変換して「確認用読み出し命令」を生成する。具体的にはとして、"テーブルＸからカラムＣ１＝１００のレコードのカラムＣ２の値を読み出す"という命令が記憶される。また、読み出し期待値としては、書き込み命令の内容に対応させて"Ｃ２＝１０００"という結果が記憶される。
【００７２】
なお、本実施形態では、１つの書き込み命令により複数のカラム等に対して書き込むことができる。例えば、図４の例において、「ＩＤ」が"１００１"の先頭レコードの「書き込み命令」は、"テーブルＡのカラムＣ１＝１００のレコードのカラムＣ２に'Ａ'を書き込み、カラムＣ３に１１００を書き込む"である。この場合、「確認用読み出し命令」は、"テーブルＡからカラムＣ１＝１００のレコードのカラムＣ２，Ｃ３の値を読み出す"となり、「読み出し期待値」は、"Ｃ２＝'Ａ'，Ｃ３＝１１００"となる。
【００７３】
図５は、ＩＤ状態記憶手段に記憶されるデータ例を示す図である。図５に示すＩＤ状態記憶手段４２により記憶されるデータの項目としては、例えば「ＩＤ」、「日付」、「時刻」、及び「状態」を含むが、これに限定されるものではない。例えば、ＩＤ状態記憶手段４２は、「日付」と「時刻」とを同一の項目「日時」として記憶してもよい。
【００７４】
ＩＤ状態記憶手段４２は、ＩＤ毎の状態と、その状態情報を記憶するときの日付、時刻を記憶する。状態の種類としては、「前処理」、「開始」、「完了」、「異常終了」等があるが、これに限定されるものではない。
【００７５】
「前処理」とは、例えば受信した全ての書き込み命令を実際に実行する前に、上述した命令記憶手段４１により記憶されるデータを生成する処理をいうが、これに限定されるものではない。また、「前処理」の状態情報は、前処理の開始時にＩＤ、日付、時刻と共に記憶される。
【００７６】
また、「開始」とは、例えば「前処理」の終了後、実際に書き込み命令に対応するデータ書き込みの開始を意味し、「開始」の状態情報は、ＩＤ毎の書き込み命令の開始時にＩＤ、日付、時刻と共に記憶される。
【００７７】
また、「終了」とは、例えば実際にデータ書き込みが実行され、その実行が正常に終了したことを意味し、「終了」の状態情報は、ＩＤ毎の書き込み命令の正常終了時にＩＤ、日付、時刻と共に記憶される。
【００７８】
また、「異常終了」とは、例えば前処理に対するエラーや、書き込み命令の実行時に書き込みエラー等が発生したことを意味し、「異常終了」の状態情報は、ＩＤ毎にエラー発生時にＩＤ、日付、時刻と共に記憶される。異常終了になった場合には、画面等の出力手段２２によりその旨のメッセージ（エラーメッセージ等）を出力してもよい。
【００７９】
ＩＤ状態記憶手段４２に記憶されるデータ例では、１又は複数の命令からなる同一ＩＤに対しての前処理、開始、完了等が管理される。そのため、「完了」のレコードが記憶される場合は、同一ＩＤ全ての書き込み命令の実行が正常に終了した場合となる。
【００８０】
ここで、図６は、データベースの記憶内容の具体例を説明するための図である。図６の例では、データベース１２内に存在するテーブルＸとして、カラム（項目）Ｃ１，Ｃ２，Ｃ３，Ｃ４，・・・が設けられている。また、カラムＣ１は、図６に示すテーブルＸの各レコードを識別する識別情報が設定されているものとする。
【００８１】
ここで、例えば上述した図４に示す命令記憶手段４１におけるデータ例において、ＩＤ＝１０００の先頭レコードの書き込み命令では、"テーブルＸのカラムＣ１＝１００のレコードのカラムＣ２に１０００を書き込む"と指定されている。図６の例では、上述の書き込み命令が実行されると、テーブルＸのＣ１＝１００のレコードのカラムＣ２に１０００が書き込まれることになる。なお、本実施形態では、例えば１つの書き込み命令により、複数のカラムに値を書き込むこともできる。
【００８２】
＜データベースに対するアクセス管理処理＞
次に、本実施形態におけるデータベースに対するアクセス管理処理の具体例についてフローチャートを用いて説明する。なお、以下の処理では、本実施形態におけるアクセス管理処理の一例を説明するため、通常時のデータ書き込み処理と、データ書き込み時にシステム障害等が発生した場合の障害復旧処理とに分けて説明する。
【００８３】
＜通常時のデータ書き込み処理＞
図７は、データ書き込み処理の一例を示すフローチャートである。また、図８は、通常時のデータ書き込み処理の概要を説明するための図である。なお、図８の例では、図７に示す通常時のデータ書き込み処理において使用されるアクセス管理装置１１の各構成を概略的に示している。
【００８４】
図７の例において、データ書き込み処理は、各端末１３−１〜１３−ｎ等からデータベース１２への１又は複数の書き込み命令群を受信する（Ｓ０１）。なお、各端末１３−１〜１３−ｎからデータベース１２に対しては、書き込み命令以外の命令（例えば、読み出し命令等）も送信される。したがって、Ｓ０１の処理では、各端末１３−１〜１３−ｎから得られる複数の命令のうち、書き込み命令群を抽出する処理も含まれる。
【００８５】
次に、データ書き込み処理は、図８に示すように命令解析手段２４によりＩＤ管理手段２３から書き込み命令群に対するＩＤを取得し、取得したＩＤを対応する書き込み命令に設定する（Ｓ０２）。なお、ＩＤは、例えば端末１３が個々に実行するトランザクション処理単位で発生する１又は複数の書き込み命令群に対して同一のＩＤが設定されるが、これに限定されるものではない。
【００８６】
次に、データ書き込み処理は、設定された全ＩＤ数分、以下に示すＳ０４〜Ｓ１１の処理を繰り返し行う（Ｓ０３）。
【００８７】
データ書き込み処理は、命令解析手段２４によりＩＤ状態記憶手段４２にＩＤ、日付、時刻、状態を記憶する（Ｓ０４）。このとき、ＩＤ状態記憶手段４２における「状態」には、状態情報（ＩＤ状態）として"前処理"が記憶される。
【００８８】
次に、データ書き込み処理は、命令解析手段２４により書き込み命令を解析し、命令変換手段２５により書き込み命令を変換し、整合性確認情報に含まれる情報として、上述した確認用読み出し命令、読み出し期待値を生成する（Ｓ０５）。また、データ書き込み処理は、上述したＩＤ、書き込み命令、確認用読み出し命令、読み出し期待値を、命令記憶手段４１に記憶する（Ｓ０６）。なお、Ｓ０５及びＳ０６の処理は、上述した前処理に対応する。
【００８９】
次に、データ書き込み処理は、図８に示すように書き込み命令実行手段３１によりＩＤ状態記憶手段４２にＩＤ、日付、時刻、状態を記憶する（Ｓ０７）。このとき、ＩＤ状態記憶手段４２における「状態」には、状態情報（ＩＤ状態）として"開始"が記憶される。データ書き込み処理は、これ以降、同一ＩＤの書き込み命令数分、以下に示すＳ０９，Ｓ１０の処理を繰り返し行う（Ｓ０８）。
【００９０】
データ書き込み処理は、図８に示すように書き込み命令実行手段３１により命令記憶手段４１から書き込み命令を読み出す（Ｓ０９）。また、データ書き込み処理は、書き込み命令実行手段３１によりＳ０９の処理により読み出した書き込み命令を実行する（Ｓ１０）。
【００９１】
また、データ書き込み処理は、書き込み命令実行手段３１により同一ＩＤの書き込み命令数分の書き込みが終わった後、ＩＤ状態記憶手段４２にＩＤ、日付、時刻、状態を記憶する（Ｓ１１）。このとき、ＩＤ状態記憶手段４２における「状態」には、"完了"が記憶される。
【００９２】
なお、例えばデータベース１２のハードウェア故障によるエラーや通信上のエラー等により、書き込み命令が正常に完了しなかった場合には、所定回数又は所定時間内でリトライ処理を行ってもよい。また、所定回数又は所定時間内でのリトライ処理でも書き込み命令が正常に完了しなかった場合には、ＩＤ状態記憶手段４２の「状態」には状態情報（ＩＤ状態）として"異常終了"の状態情報が記憶されてもよい。
【００９３】
また、図７の例に示すデータ書き込み処理では、"前処理"から"完了"までがＩＤ毎に順番に行われる例を示しているが、これに限定されるものではない。例えば、本実施形態では、あるＩＤにおける処理の状態がまだ"完了"していなくても、他のＩＤにおける"前処理"から"完了"までの処理を並行して処理させることができる。
【００９４】
＜障害復旧処理＞
次に、障害復旧処理の一例についてフローチャートを用いて説明する。図９は、障害復旧処理の一例を示すフローチャートである。また、図１０は、障害復旧処理の概要を説明するための図である。なお、図１０の例では、図９に示す障害復旧処理において使用されるアクセス管理装置１１の各構成を概略的に示している。
【００９５】
図９の例において、障害復旧処理は、障害復旧時に図１０に示すように読み出し命令実行手段３２によりデータベース状態を読み出す（Ｓ２１）。具体的には、Ｓ２１の処理では、例えばデータベース１２に予め記憶され、変更されない所定のデータを読み出す。つまり、Ｓ２１の処理では、例えばデータベース１２のハードウェアの故障によるエラーや、通信上のエラー等が発生していないか否かを確認するためにデータベース１２にアクセスしてデータの読み出しを行う。
【００９６】
ここで、障害復旧処理は、Ｓ２１の処理における読み出しが正常に行えたか否か（読み出し＝ＯＫ？）を判断する（Ｓ２２）。なお、Ｓ２２の処理では、Ｓ２１の処理により読み出したデータと、予め記憶手段２７等に記憶されたデータとを比較し、データが一致した場合には、正常に読み出せた（読み出し＝ＯＫ）と判断する。また、データが一致していない場合には、正常に読み出せていない（読み出し＝ＮＧ）と判断することができるが、判断手法については、これに限定されるものではない。
【００９７】
障害復旧処理は、読み出しが正常に行えた場合（読み出し＝ＯＫ）（Ｓ２２において、ＹＥＳ）、図１０に示すように読み出し命令実行手段３２によりＩＤ状態記憶手段４２からＩＤ毎の状態を読み出す（Ｓ２３）。なお、Ｓ２３の処理では、例えばＩＤ状態記憶手段４２に記憶されているデータの先頭から全ての状態情報を読み出すことで、全てのＩＤに対する処理状態を確認することができる。
【００９８】
また、Ｓ２３の処理では、ＩＤ状態記憶手段４２に記憶されている最新のデータから所定数分（例えば、過去１週間や１ヶ月分）の状態情報を読み出してもよい。障害発生時に処理が途中で中断してしまう可能性が高いのは、障害が発生する直前に書き込み命令を実行していた処理であるため、最近のデータから状態情報を読み出すことで、復旧処理が必要な処理を迅速に見つけることができる。
【００９９】
次に、障害復旧処理は、ＩＤ状態記憶手段４２から読み出したＩＤ数分について、以下に示すＳ２５〜Ｓ３５の処理を繰り返し行う（Ｓ２４）。障害復旧処理は、ＩＤ状態記憶手段４２から読み出したＩＤの状態が"開始"であるか否かを判断する（状態＝"開始"？）（Ｓ２５）。なお、Ｓ２５の処理では、具体的には、ＩＤ状態記憶手段４２から読み出したＩＤの状態が"開始"のレコードが存在し、かつ"開始"のレコードに対応する"完了"のレコードがない場合を意味する。例えば、上述した図５の例では、ＩＤ"１００１"が、"開始"があって"完了"がない状態となる。"開始"及び"完了"のレコードが存在するＩＤについては、障害発生前に通常の書き込み処理が正常に終了しているものとし、障害復旧処理の対象から除外する。
【０１００】
障害復旧処理は、読み出したレコードの状態が"開始"である場合（Ｓ２５において、ＹＥＳ）、読み出し命令実行手段３２により命令記憶手段４１からそのＩＤに対応する１又は複数の確認用読み出し命令及び読み出し期待値を読み出す（Ｓ２６）。また、障害復旧処理は、確認用読み出し命令数分、以下に示すＳ２８〜Ｓ３３の処理を繰り返し行う（Ｓ２７）。
【０１０１】
障害復旧処理は、読み出し命令実行手段３２により読み出した確認用読み出し命令を実行し（Ｓ２８）、読み出しデータが、読み出し期待値に記憶されている値と一致していないか否か（読み出しデータ≠読み出し期待値か？）を判断する（Ｓ２９）。障害復旧処理は、読み出しデータが読み出し期待値と一致しない場合（Ｓ２９において、ＹＥＳ）、読み出し命令実行手段３２から書き込み命令実行手段３１に指示を送る。書き込み命令実行手段３１は、命令記憶手段４１から対応するＩＤの書き出し命令を読み出す（Ｓ３０）。
また、障害復旧処理は、書き出し命令実行手段３１によりＳ３０の処理で読み出した書き出し命令を実行する（Ｓ３１）。なお、本実施形態では、Ｓ３１の処理における書き込み命令の実行後に、再度確認用読み出し命令を実行し、読み出した値と読み出し期待値とを比較してもよい。これにより、データの整合性をより適切に確認することができる。
【０１０２】
また、障害復旧処理は、同一ＩＤ内の最後の書き込み命令か否かを判断する（Ｓ３２）。障害復旧処理は、最後の書き込み命令である場合（Ｓ３２において、ＹＥＳ）、図１０に示すように読み出し命令実行手段３２によりＩＤ状態記憶手段４２に対し、書き込み処理を行ったＩＤ、日付、時刻、状態を記憶する（Ｓ３３）。このとき、ＩＤ状態記憶手段４２の「状態」には、状態情報（ＩＤ状態）として例えば"完了"が記憶されるが、これに限定されるものではなく、例えば"復旧完了"等の情報が記憶されてもよい。これにより、本実施形態では、ＩＤ状態記憶手段４２を参照して、復旧が完了したか否かを容易に把握することができる。
【０１０３】
また、障害復旧処理は、上述したＳ２５の処理において、読み出したレコードの状態が"開始"でない場合（Ｓ２５において、ＮＯ）、その状態が"前処理"であるか否かを判断する（Ｓ３４）。なお、Ｓ３４の処理において、状態が"前処理"であるとは、例えば"前処理"の状態情報を示すレコードがあり、かつ、そのＩＤに対する"開始"や"完了"の状態情報を示すレコードが存在しないことを意味する。
【０１０４】
障害復旧処理は、状態が"前処理"である場合（Ｓ３４において、ＹＥＳ）、そのＩＤに対する書き込み処理が開始されておらず、命令記憶手段４１にも全てのデータが記憶されていない場合がある。そのため、障害復旧処理は、エラー処理として、その旨のメッセージ（エラーメッセージ等）を画面等に出力する（Ｓ３５）。また、障害復旧処理は、Ｓ３４の処理において、状態が"前処理"でない場合（Ｓ３４において、ＮＯ）、そのＩＤの状態が"完了"であり、そのＩＤに対する書き込み命令が正常に終了しているものと判断する。
【０１０５】
また、障害復旧処理は、上述したＳ２２の処理において、データベース状態の読み出しができなかった場合（読み出し＝ＮＧ）（Ｓ２２において、ＮＯ）、エラー処理として、その旨のメッセージ（エラーメッセージ等）を画面等に出力し（Ｓ３６）、処理を終了する。この場合には、データベース１２にアクセスできず復旧処理自体ができないため、その旨のメッセージを出力して処理を終了する。なお、本実施形態において、ＩＤ状態記憶手段４２の状態が"異常終了"の場合もあるが、この場合には、復旧できないハードウェア故障等のエラーである可能性もあるため、図９に示す障害復旧処理の対象からは除外される。
【０１０６】
上述した実施形態によれば、障害発生から復旧までの処理を簡素化して復旧時間を短縮させることができる。これまでは、データベースにデータを書き込み中に障害が発生した場合に、どこまでデータ書き込みが完了していることが分からず、二重に同じデータを書き込む恐れがあったため、データ入力前の状態に一旦戻し、再度データを書き込む必要があった。しかしながら、本実施形態では、書き込み命令の実行状態を確認後、完了していない処理に対して確認用読み出し命令によりデータベースの値を読み出し、読み出し期待値と比較することで、データの整合性を確認することができる。
【０１０７】
また、本実施形態では、上述した整合性確認情報等を用いて、データが不整合になっている部分（中断点）を所定の処理（例えば、トランザクション処理）単位で適切に取得することができる。また、本実施形態では、整合性確認情報に対応する書き込み命令を用いて、取得した書き込み中断点から書き込み処理を迅速に再開させることができる。したがって、本実施形態では、障害によるデータの再書き込み等による中断時間を大幅に短縮することができる。
【０１０８】
なお、上述した実施形態では、記憶装置の一例としてデータベースを用いたデータアクセス管理の例を示したが、これに限定されるものではなく、例えばデータの読み出しや書き込みを行うコンピュータ等であればよい。したがって、本実施形態は、例えばＰＣ等に対するデータアクセス管理にも適用でき、またクラウド環境にある複数のサーバ等に対するデータアクセス管理にも適用できる。この場合、上述したＰＣやサーバ等は、記憶装置の一例となる。
【０１０９】
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、上記変形例以外にも種々の変形及び変更が可能である。
【０１１０】
なお、以上の実施例に関し、更に以下の付記を開示する。
（付記１）
記憶装置に対する書き込み命令を解析し、前記書き込み命令により前記記憶装置に書き込まれたデータを読み出すための読み出し命令と読み出し期待値とを含む整合性確認情報を取得する命令解析手段と、
前記命令解析手段により得られる前記整合性確認情報を前記書き込み命令に対応付けて記憶する記憶手段と、
前記記憶装置の障害復旧時に、前記書き込み命令の実行状態と、前記記憶手段に記憶された前記整合性情報とに基づいて、前記記憶装置に書き込まれたデータの整合性を確認する命令実行手段とを有することを特徴とする情報処理装置。
（付記２）
前記命令実行手段は、
前記読み出し命令の実行により得られた値が前記読み出し期待値と一致しない場合に、前記記憶手段に記憶された書き込み命令を実行することを特徴とする付記１に記載の情報処理装置。
（付記３）
前記記憶手段は、前記所定の処理を行う１又は複数の書き込み命令を同一の識別情報として記憶する命令記憶手段と、前記識別情報毎に前記書き込み命令の実行状態を記憶する状態記憶手段とを有し、
前記命令実行手段は、前記記憶装置の障害復旧時に、前記状態記憶手段から前記識別情報毎の書き込み命令の実行状態を読み出し、読み出した実行状態に基づいて、前記命令記憶手段に記憶された前記識別情報に対応する読み出し命令を実行し、実行した結果と前記読み出し期待値とを比較することを特徴とする付記１又は２に記載の情報処理装置。
（付記４）
前記命令実行手段は、
前記識別情報毎の書き込み命令の実行状態を読み出す場合に、日時が古い情報から順番に読み出すか、又は、日時が最新の情報から所定期間分遡ったデータを読み出すことを特徴とする付記３に記載の情報処理装置。
（付記５）
前記命令実行手段は、
前記記憶装置の状態を確認するための読み出しができない場合に、エラー処理を行うことを特徴とする付記１乃至５の何れか１項に記載の情報処理装置。
（付記６）
記憶装置に対する書き込み命令を解析し、前記書き込み命令により前記記憶装置に書き込まれたデータを読み出すための読み出し命令と読み出し期待値とを含む整合性確認情報を取得する命令解析ステップと、
前記命令解析ステップにより得られる前記整合性確認情報を前記書き込み命令に対応付けて記憶手段に記憶する記憶ステップと、
前記記憶装置の障害復旧時に、前記書き込み命令の実行状態と、前記記憶手段に記憶された前記整合性情報とに基づいて、前記記憶装置に書き込まれたデータの整合性を確認する命令実行ステップとを有することを特徴とする管理方法。
（付記７）
記憶装置に対する書き込み命令を解析し、前記書き込み命令により前記記憶装置に書き込まれたデータを読み出すための読み出し命令と読み出し期待値とを含む整合性確認情報を取得し、
取得した前記整合性確認情報を前記書き込み命令に対応付けて記憶手段に記憶し、
前記記憶装置の障害復旧時に、前記書き込み命令の実行状態と、前記記憶手段に記憶された前記整合性情報とに基づいて、前記記憶装置に書き込まれたデータの整合性を確認する、処理をコンピュータに実行させるための管理プログラム。
【符号の説明】
【０１１１】
１０  データアクセス管理システム
１１  アクセス管理装置（情報処理装置）
１２  データベース（記憶装置）
１３  端末
１４  通信ネットワーク
２１  入力手段
２２  出力手段
２３  ＩＤ管理手段
２４  命令解析手段
２５  命令変換手段
２６  命令実行手段
２７  記憶手段
２８  送受信手段
２９  制御手段
３１  書き込み命令実行手段
３２  読み出し命令実行手段
４１  命令記憶手段
４２  ＩＤ状態記憶手段（状態記憶手段）
５１  入力装置
５２  出力装置
５３  ドライブ装置
５４  補助記憶装置
５５  主記憶装置
５６  ＣＰＵ
５７  ネットワーク接続装置
５８  記録媒体
【図１】
2014071740.tif 000003
【図２】
2014071740.tif 000004
【図３】
2014071740.tif 000005
【図４】
2014071740.tif 000006
【図５】
2014071740.tif 000007
【図６】
2014071740.tif 000008
【図７】
2014071740.tif 000009
【図８】
2014071740.tif 000010
【図９】
2014071740.tif 000011
【図１０】
2014071740.tif 000012