(57)【要約】      （修正有）【課題】データベースを支障無く運用し、かつ、セキュリティを確保しながら、削除データを必要なときに利用するということが容易に行える。【解決手段】データベースを有し外部の記録媒体にアクセス可能なシステムであって、データベースから削除されたデータを、履歴データとしてデータベースに保存する手段と、予め設定された期間を超えてデータベースに保存されている履歴データを、暗号化して外部の記録媒体に保存すると同時に、データベースから削除する手段と、外部の記録媒体に保存されている暗号化された履歴データの中から何れかを選択させ、暗号化された履歴データの中で選択されたものを読み出して復号し、復号した履歴データをデータベースに戻す手段と、データベースに保存されている履歴データを用いて、データベースから削除されたデータを、データベースに復元する手段と、を備えることを特徴とするデータベースの削除データ管理システム。【選択図】図１
2007316707.tif 000002
【特許請求の範囲】
【請求項１】
データベースを有し外部の記録媒体にアクセス可能なシステムであって、
データベースから削除されたデータを、履歴データとしてデータベースに保存する手段と、
予め設定された期間を超えてデータベースに保存されている履歴データを、暗号化して外部の記録媒体に保存すると同時に、データベースから削除する手段と、
外部の記録媒体に保存されている暗号化された履歴データの中から何れかを選択させ、暗号化された履歴データの中で選択されたものを読み出して復号し、復号した履歴データをデータベースに戻す手段と、
データベースに保存されている履歴データを用いて、データベースから削除されたデータを、データベースに復元する手段と、
を備えることを特徴とするデータベースの削除データ管理システム。
【請求項２】
データベースを有し外部の記録媒体にアクセス可能なシステムで、データベースから削除されたデータを管理する方法であって、
データベースから削除されたデータを、履歴データとしてデータベースに保存する工程と、
予め設定された期間を超えてデータベースに保存されている履歴データを、暗号化して外部の記録媒体に保存すると同時に、データベースから削除する工程と、
外部の記録媒体に保存されている暗号化された履歴データの中から何れかを選択させ、暗号化された履歴データの中で選択されたものを読み出して復号し、復号した履歴データをデータベースに戻す工程と、
データベースに保存されている履歴データを用いて、データベースから削除されたデータを、データベースに復元する工程と、
を含むことを特徴とするデータベースの削除データ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースのデータ変更に伴って変更履歴として保存されるデータの管理に関し、特に、データベースから削除されたデータ（以後、削除データ）を管理することに好適に利用できるものである。尚、本願では、挿入（ＩＮＳＥＲＴ）、更新（ＵＰＤＡＴＥ）、削除（ＤＥＬＥＴＥ）を総称して変更と呼ぶことにする。
【背景技術】
【０００２】
一般に、データベースからデータを削除する場合、削除データが再び必要となるときに備えて、削除データを保存することがある。
【０００３】
従来、データベースからデータを削除し、削除データを保存する処理としては、例えば、以下の２つがある。
【０００４】
第１の処理は、データの物理削除とデータ変更履歴の保存と呼ばれるもので、次のような処理である。まず、データベース内から実際にデータを削除する。そして、削除データを、データベースの変更履歴中に保存する。
【０００５】
第２の処理は、ごみ箱機能と呼ばれるもので、次のような処理である。まず、データベース内から実際にデータを削除する。そして、データベースから削除データを外部システムに書出して保存する。
【０００６】
データの物理削除とデータ変更履歴の保存には次の２つの問題点がある。第１に、削除データが変更履歴中に保存され続けるため、長期の運用の間にアクセス速度が低下する。例えば、検索速度がダウンする。第２に、削除データが変更履歴中に保存されるため、ディスクスペースを圧迫してしまう。例えば、ディスクスペースを食い潰して、ディスクが溢れシステムが停止する。
【０００７】
ごみ箱機能には次の２つの問題点がある。第１に、削除データの参照やデータベースへの復元が困難である。例えば、削除データがデータベース外部に出力されるため簡単に参照できない。第２に、削除データがファイルとして保存され、セキュリティ面で問題がある。例えば、出力された削除データを誰でも覗き見ることができてしまう。
【０００８】
尚、従来、ファイルシステムを対象とし、ドキュメントファイルの更新について、過去のファイルイメージを、別ファイル名をつけて保存・管理するファイル管理装置が知られている（例えば特許文献１参照）。
【０００９】
しかしながら、このファイル管理装置は、データベースの管理を対象とし、非ドキュメントデータであるデータベース上のデータに対する更新の保存・復元を実現するものではない。
【特許文献１】特開２０００−２６７９１２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は斯かる背景技術に鑑みてなされたもので、データベースを支障無く運用し、かつ、セキュリティを確保しながら、削除データを必要なときに利用するということが容易に行えるようにすることを課題とする。
【課題を解決するための手段】
【００１１】
本発明において上記課題を達成するために、まず請求項１の発明では、データベースを有し外部の記録媒体にアクセス可能なシステムであって、
データベースから削除されたデータを、履歴データとしてデータベースに保存する手段と、
予め設定された期間を超えてデータベースに保存されている履歴データを、暗号化して外部の記録媒体に保存すると同時に、データベースから削除する手段と、
外部の記録媒体に保存されている暗号化された履歴データの中から何れかを選択させ、暗号化された履歴データの中で選択されたものを読み出して復号し、復号した履歴データをデータベースに戻す手段と、
データベースに保存されている履歴データを用いて、データベースから削除されたデータを、データベースに復元する手段と、
を備えることを特徴とするデータベースの削除データ管理システムとしたものである。
【００１２】
また請求項２の発明では、データベースを有し外部の記録媒体にアクセス可能なシステムで、データベースから削除されたデータを管理する方法であって、
データベースから削除されたデータを、履歴データとしてデータベースに保存する工程と、
予め設定された期間を超えてデータベースに保存されている履歴データを、暗号化して外部の記録媒体に保存すると同時に、データベースから削除する工程と、
外部の記録媒体に保存されている暗号化された履歴データの中から何れかを選択させ、暗号化された履歴データの中で選択されたものを読み出して復号し、復号した履歴データをデータベースに戻す工程と、
データベースに保存されている履歴データを用いて、データベースから削除されたデータを、データベースに復元する工程と、
を含むことを特徴とするデータベースの削除データ管理方法としたものである。
【発明の効果】
【００１３】
本発明は、データベースを支障無く運用し、かつ、セキュリティを確保しながら、削除データを必要なときに利用するということが容易に行えるという効果がある。
【発明を実施するための最良の形態】
【００１４】
以下に、本発明の最良の一実施形態を説明する。
【００１５】
１．構成
本実施形態に係るシステムは、図１に示すように、データベースを有し、履歴データ監視ソフトウェア（デーモン）と、削除クライアントソフトウェアと、復元クライアントソフトウェアとを実行するコンピュータシステムである。また、本実施形態に係るシステムは、読書き可能な外部の記憶媒体にアクセス可能である。
【００１６】
データベースは、図１に示すように、通常データテーブルと、変更履歴管理テーブルと、履歴データテーブルとを保存している装置である。
【００１７】
通常データテーブルは、データベースで本来管理対象としているデータを記録しているテーブルである。この通常データテーブルに対して、ユーザは、データの参照（ＳＥＬＥＣＴ）、挿入（ＩＮＳＥＲＴ）、更新（ＵＰＤＡＴＥ）、削除（ＤＥＬＥＴＥ）という各操作を行うことができる。
【００１８】
通常データテーブルの例として、商品データテーブルを図２に示す。図２の商品データ
テーブルでは、個々の商品データとして、商品データＩＤと、項目（１）、項目（２）、項目（３）、…の値とを各行に記録する。ここで、商品データＩＤは、商品データを唯一に識別する番号である。また、項目（１）、項目（２）、項目（３）、…は、個々の具体的な商品データテーブルにて、具体的に定義されるものである。
【００１９】
変更履歴管理テーブルは、通常データテーブルに対するデータ変更の個々の履歴を管理する各情報（以後、変更履歴管理情報とも云う）を各行に記録する。変更履歴管理テーブルの例を、図３に示す。図３に示す変更履歴管理テーブルでは、変更履歴管理情報として、履歴ＩＤ、変更日時、操作ユーザ、操作区分（Ｉ／Ｕ／Ｄ）などがある。
【００２０】
履歴ＩＤは、変更履歴管理情報を唯一に識別する番号であって、データ変更操作のなされた順に振られる。
【００２１】
変更日時は、データを変更した日時を示す情報である。
【００２２】
操作ユーザは、データを変更する操作を行ったユーザを示す情報である。
【００２３】
操作区分（Ｉ／Ｕ／Ｄ）は、データを変更した操作の区分を示す情報であって、その区分を、挿入（ＩＮＳＥＲＴ）ではＩで示し、更新（ＵＰＤＡＴＥ）ではＵで示し、削除（ＤＥＬＥＴＥ）ではＤで示すものである。
【００２４】
履歴データテーブルは、通常データテーブルに対するデータ変更の各履歴データを各行に記録するものである。ここで、履歴データは、この履歴データを変更履歴管理情報に関連付ける情報と、データ変更操作が挿入（ＩＮＳＥＲＴ）の場合、挿入されたデータとからなる。また、データ変更操作が更新（ＵＰＤＡＴＥ）の場合には、履歴データは、この履歴データを変更履歴管理情報に関連付ける情報と、更新前のデータとからなる。また、データ変更操作が削除（ＤＥＬＥＴＥ）の場合には、履歴データは、この履歴データを変更履歴管理情報に関連付ける情報と、削除したデータとからなる。
【００２５】
履歴データテーブルの例として、通常データテーブルが図２に示す商品データテーブルの場合のものを、図４に示す。図４に示す履歴データテーブルでは、履歴ＩＤが、履歴データと変更履歴管理情報とを関連付ける情報になっている。従って、データ変更操作が挿入（ＩＮＳＥＲＴ）の場合、履歴データは、履歴ＩＤと、挿入された商品データとからなる。また、データ変更操作が更新（ＵＰＤＡＴＥ）の場合には、履歴データは、履歴ＩＤと、更新前の商品データとからなる。また、データ変更操作が削除（ＤＥＬＥＴＥ）の場合には、履歴データは、履歴ＩＤと、削除した商品データとからなる。
【００２６】
履歴データ監視ソフトウェア（デーモン）は、変更履歴保存期間を予め設定し、この変更履歴保存期間と、現在の時刻と、変更履歴管理テーブルの変更日時とを随時比較して、この変更履歴保存期間を超えた履歴データを特定して削除クライアントソフトウェアに通知する処理を行うためのものである。
【００２７】
削除クライアントソフトウェアは、履歴データ監視ソフトウェアから通知を受けて、変更履歴保存期間を超えた履歴データを、履歴データテーブルから読み出して、圧縮（サイズ減）、暗号化を行ってバイナリファイルにし、また、この履歴データに関連する変更履歴管理情報を、変更履歴管理デーブルから読み出して、このバイナリファイルと、この変更履歴管理情報とを外部の記録媒体（例えば、テープ、ハードディスク等）に保存すると同時に、この履歴データを、履歴データテーブルから削除し、この変更履歴管理情報を変更履歴管理デーブルから削除する処理を行うためのものである。
【００２８】
復元クライアントソフトウェアは、外部の記録媒体に保存されているバイナリファイルの中から何れかを選択し、選択されたバイナリファイルを読み出して、このバイナリファイルに対して、復号化、解凍（サイズ復元）を行って、元の履歴データに復元して、この履歴データを履歴データテーブルに戻し、また、この履歴データに関連する変更履歴情報を外部記録媒体から読み出して変更履歴管理テーブルに戻す処理を行うためのものである。
【００２９】
２．処理
以下に、通常データテーブルに対するデータ変更操作から、履歴データのバイナリファイルを外部の記録媒体に保存するまでの大まかな処理の流れの例を、図５のフローチャートに従って説明する。
【００３０】
Ｓ（ＳＴＥＰ）１；
通常データテーブルに対して、データを変更する操作を行う。
【００３１】
Ｓ（ＳＴＥＰ）２；
このデータ変更操作について、変更履歴管理情報を変更履歴管理テーブルに挿入し、履歴データを履歴データテーブルに挿入する。
【００３２】
Ｓ（ＳＴＥＰ）３；
履歴データ監視ソフトウェア（デーモン）によって、予め設定された変更履歴保存期間と、現在の時刻と、変更履歴管理テーブルの変更日時とを随時比較して、この変更履歴保存期間を超えた履歴データを特定して削除クライアントソフトウェアに通知する処理を行う。
【００３３】
Ｓ（ＳＴＥＰ）４；
削除クライアントソフトウェアによって、履歴データ監視ソフトウェアから通知を受けて、変更履歴保存期間を超えた履歴データを、履歴データテーブルから読み出して、圧縮（サイズ減）、暗号化を行ってバイナリファイルにし、また、この履歴データに関連する変更履歴管理情報を、変更履歴管理デーブルから読み出して、このバイナリファイルと、この変更履歴管理情報とを外部の記録媒体媒体に保存すると同時に、この履歴データを、履歴データテーブルから削除し、この変更履歴管理情報を変更履歴管理デーブルから削除する処理を行う。
【００３４】
以下に、削除クライアントソフトウェアによる詳細な処理の流れの例を、図６のフローチャートに従って説明する。
【００３５】
Ｓ（ＳＴＥＰ）１；
履歴データ監視ソフトウェアから、変更履歴保存期間を超えた履歴データについて通知を受ける。
【００３６】
Ｓ（ＳＴＥＰ）２；
履歴データテーブルを、通常データテーブルのキーでソートする。
【００３７】
例えば、図４に示す履歴データテーブルの場合、上述のように、通常データテーブルが図２に示す商品データテーブルであり、商品データテーブルのキーは商品データＩＤであるので、削除クライアントソフトウェアは、図４に示す履歴データテーブルを商品データＩＤでソートして、図７に示すものにする。
【００３８】
履歴データテーブルを、通常データテーブルのキーでソートすることにより、図７に示
すように、ソート後の履歴データテーブルでは、通常データテーブルのキーの値が同じ履歴データは隣り合って並ぶので、後述する圧縮が容易になる。
【００３９】
Ｓ（ＳＴＥＰ）３；
ソート後の履歴データテーブルから、変更保存期間を超えた履歴データを読み出すと同時に、この履歴データテーブルから、この履歴データを削除する。
【００４０】
例として、図７に示す履歴データテーブルから、変更保存期間を超えたとして読み出した履歴データを、図８に示す。
【００４１】
Ｓ（ＳＴＥＰ）４；
ソート後の履歴データテーブルから変更保存期間を超えたとして読み出した履歴データに対して、圧縮（サイズ減）を行う。
【００４２】
ここで、圧縮とは、通常データテーブルのキーの値が同じ履歴データにおいて、キー以外の項目の値について、データ変更操作により変更されずに同一の値を維持しているものを削除することである。
【００４３】
例えば、図８に示す履歴データでは、項目（２）と項目（３）の値は、データ変更操作より変更されず、それぞれＥとＦの値を維持しているので、図９に示すように、履歴ＩＤが２と４で識別されるものを削除する。
【００４４】
尚、圧縮されているデータを、元に戻す（復元）することを解凍と呼ぶ。
【００４５】
Ｓ（ＳＴＥＰ）５；
圧縮されている履歴データを、暗号化してバイナリファイルにする。
【００４６】
Ｓ（ＳＴＥＰ）６；
バイナリファイルにした履歴データに関連する変更履歴管理情報を、変更履歴管理テーブルから読み出すと同時に、この変更履歴管理情報を、この変更履歴管理テーブルから削除する。
【００４７】
Ｓ（ＳＴＥＰ）７；
バイナリファイルと、このバイナリファイルにした履歴データに関連する変更履歴管理情報とを、外部の記録媒体に保存する。
【００４８】
以下に、外部の記憶媒体にバイナリファイルとして保存されている履歴データから、通常データテーブルを復元するまでの大まかな処理の流れの例を、図１０のフローチャートに従って説明する。
【００４９】
Ｓ（ＳＴＥＰ）１；
復元クライアントソフトウェアによって、外部の記録媒体に保存されているバイナリファイルの中から何れかを選択し、選択されたバイナリファイルを読み出して、このバイナリファイルに対して、復号化、解凍（サイズ復元）を行って、元の履歴データに復元して、この履歴データを履歴データテーブルに戻し、また、この履歴データに関連する変更履歴情報を外部の記録媒体から読み出して変更履歴管理テーブルに戻す処理を行う。
【００５０】
Ｓ（ＳＴＥＰ）２；
変更履歴管理テーブルと、履歴データテーブルとを用いて、通常データテーブルを復元する。
【００５１】
以下に、復元クライアントソフトウェアによる詳細な処理の流れを、図１１のフローチャートに従って説明する。
【００５２】
Ｓ（ＳＴＥＰ）１；
期間を指定する。
【００５３】
Ｓ（ＳＴＥＰ）２；
外部の記録媒体に保存している変更履歴管理情報の中の変更日時と、指定された期間とを比較することにより、指定された期間の履歴データのバイナリファイルが外部の記録媒体にあるか否かを判断し、
ある場合は、ＳＴＥＰ３に進み、
ない場合は、ＥＮＤに進む。
【００５４】
Ｓ（ＳＴＥＰ）３；
外部の記録媒体から、指定された期間の履歴データのバイナリファイルを読み出して復号化を行い、圧縮された履歴データに戻す。
【００５５】
Ｓ（ＳＴＥＰ）４；
圧縮された履歴データの中で、解凍して圧縮前の履歴データに復元する範囲を指定する。
【００５６】
例えば、通常データテーブルが図２に示す商品データテーブルである場合、この範囲を、商品データＩＤを入力して指定しても良い。
【００５７】
Ｓ（ＳＴＥＰ）５；
圧縮された履歴データの中で、指定された範囲のものがあるか否かを確かめ、
ある場合、ＳＴＥＰ６に進み、
ない場合、ＥＮＤに進む。
【００５８】
Ｓ（ＳＴＥＰ）６；
圧縮された履歴データの中で、指定された範囲のものを解凍して、元の履歴データに復元する。
【００５９】
Ｓ（ＳＴＥＰ）７；
復元された履歴データに関連する変更履歴管理情報を、外部の記録媒体から読み出して、変更履歴管理テーブルに戻す。
【００６０】
Ｓ（ＳＴＥＰ）８；
復元された履歴データに関連する変更履歴管理情報と関連し、復元された履歴データとは異なる他の履歴データのバイナリファイルが、外部記録媒体にあるか否かを確かめ、
ある場合、ＳＴＥＰ１０に進み、
ない場合、ＳＴＥＰ９に進む。
【００６１】
Ｓ（ＳＴＥＰ）９；
復元された履歴データに関連する変更履歴管理情報を、外部の記録媒体から削除する。
【００６２】
Ｓ（ＳＴＥＰ）１０；
復元された履歴データを、履歴データテーブルに戻す。
【００６３】
Ｓ（ＳＴＥＰ）１１；
復元された履歴データのバイナリファイルを、外部の記録媒体から削除する。
【図面の簡単な説明】
【００６４】
【図１】本実施形態に係るシステムの構成例を示す図。
【図２】通常データテーブルの例を示す図。
【図３】変更履歴管理テーブルの例を示す図。
【図４】履歴データテーブルの例を示す図。
【図５】通常データテーブルに対するデータ変更操作から、履歴データのバイナリファイルを外部の記録媒体に保存するまでの大まかな処理の流れの例を示すフローチャート。
【図６】削除クライアントソフトウェアによる詳細な処理の流れの例を示すフローチャート。
【図７】図４に示す履歴データテーブルを商品データＩＤでソートしたものを示す図。
【図８】図７の履歴データテーブルから変更履歴保存期間を超えているとして読み出した履歴データの例を示す図。
【図９】図８の履歴データを圧縮した結果を示す図。
【図１０】外部の記憶媒体にバイナリファイルとして保存されている履歴データから、通常データテーブルを復元するまでの大まかな処理の流れの例を示すフローチャート。
【図１１】復元クライアントソフトウェアによる詳細な処理の流れの例を示すフローチャート。
【図１】
2007316707.tif 000003
【図２】
2007316707.tif 000004
【図３】
2007316707.tif 000005
【図４】
2007316707.tif 000006
【図５】
2007316707.tif 000007
【図６】
2007316707.tif 000008
【図７】
2007316707.tif 000009
【図８】
2007316707.tif 000010
【図９】
2007316707.tif 000011
【図１０】
2007316707.tif 000012
【図１１】
2007316707.tif 000013