説明

データ管理システムおよびデータ管理方法

【課題】バックアップデータへの不正なアクセスを低減可能なデータ管理システムおよびデータ管理方法を提供する。
【解決手段】サービスサーバは、利用者端末からの要求に応じて前記データベースサーバ内のデータを用いて返答を返す。データベースサーバは、データを記憶し該データのバックアップを要求するバックアップ要求を受信すると、該データのバックアップデータを作成し、バックアップサーバは、バックアップデータがデータベースサーバに存在する場合、データベースサーバ内のバックアップデータを自己内に移動する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ管理システムおよびデータ管理方法に関し、特に、バックアップデータを管理するデータ管理システムおよびデータ管理方法に関する。
【背景技術】
【0002】
特許文献1には、データのバックアップおよびリカバリを行うシステムが記載されている。特許文献1に記載のシステムは、利用者がリカバリクライアントを操作してバックアップデータにアクセスしてバックアップデータを取得することを許容している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−196491号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載のシステムのように、利用者が直接バックアップデータにアクセス可能であると、悪意のある第三者が、利用者になりすまして不正にバックアップデータにアクセスしバックアップデータを不正に取得される恐れがある。
【0005】
このため、バックアップデータへの不正アクセスを低減可能な手法が求められているという課題があった。
【0006】
本発明の目的は、上記課題を解決可能なデータ管理システムおよびデータ管理方法を提供することである。
【課題を解決するための手段】
【0007】
本発明のデータ管理システムは、データを記憶するデータベースサーバと、前記データのバックアップデータを記憶するためのバックアップサーバと、利用者端末からの要求に応じて前記データベースサーバ内のデータを用いて返答を返すサービスサーバと、を含むデータ管理システムであって、
前記データベースサーバは、
前記データを記憶するデータ記憶手段と、
前記データ記憶手段内の前記データのバックアップを要求するバックアップ要求を受信すると、当該データのバックアップデータを作成するデータ制御手段と、を含み、
前記バックアップサーバは、
バックアップデータ記憶手段と、
前記バックアップデータが前記データベースサーバに存在する場合に、前記データベースサーバ内の前記バックアップデータを前記バックアップデータ記憶手段内に移動するバックアップ制御手段と、を含む。
【0008】
本発明のデータ管理方法は、データを記憶するデータベースサーバと、前記データのバックアップデータを記憶するためのバックアップサーバと、利用者端末からの要求に応じて前記データベースサーバ内のデータを用いて返答を返すサービスサーバと、を含むデータ管理システムでのデータ管理方法であって、
前記データベースサーバが、前記データのバックアップを要求するバックアップ要求を受信すると、当該データのバックアップデータを作成するデータ制御ステップと、
前記バックアップサーバが、前記バックアップデータが前記データベースサーバに存在する場合に、前記データベースサーバ内の前記バックアップデータを前記バックアップサーバ内に移動するバックアップ制御ステップと、を含む。
【発明の効果】
【0009】
本発明によれば、バックアップデータのセキュリティを向上することが可能になり、バックアップデータに対する不正なアクセスを低減することが可能になる。
【図面の簡単な説明】
【0010】
【図1】本発明の一実施形態のデータ管理システム100を示す図である。
【図2】データベースサーバ内のデータへのアクセス動作を説明するためのシーケンス図である。
【図3】バックアップ動作を説明するためのシーケンス図である。
【図4】データベースサーバ5a用のリカバリリストの一例を示した図である。
【図5】リカバリ動作を説明するためのシーケンス図である。
【図6】管理者と、管理者がデータを操作できるデータベースサーバと、の関係を表す関係情報600を示した図である。
【図7】バックアップデータへのアクセス動作を説明するためのシーケンスである。
【発明を実施するための形態】
【0011】
以下、本発明の一実施形態について図面を参照して説明する。
【0012】
図1は、本発明の一実施形態のデータ管理システム100を示す図である。
【0013】
図1において、データ管理システム100は、インターネット等の通信回線1を介して利用者端末2a〜2cと接続し、また、インターネット、公衆回線または専用線などの通信回線3を介して管理者端末4と接続する。以下では、通信回線1としてインターネットが用いられるとする。
【0014】
データ管理システム100は、データ(例えば、テーブルまたはデータベース)を記憶するデータベースサーバ5aおよび5bと、バックアップサーバ6と、WEBサーバ7aおよび7bと、コントロールサーバ8と、リカバリサーバ9と、を含む。
【0015】
データベースサーバ5aおよび5bと、バックアップサーバ6と、WEBサーバ7aおよび7bと、コントロールサーバ8と、リカバリサーバ9とは、LAN(Local Area Network)等の通信回線10を介して互いに通信可能である。以下では、通信回線10としてLANが用いられるとする。
【0016】
利用者端末2a〜2cは、例えば、PC(personal computer)でありデータベースサーバ5aまたは5bの利用者にて使用される。管理者端末4は、例えば、PCでありデータ管理システム100の管理者にて使用される。
【0017】
データベースサーバ5aは、記憶部5a1とデータ制御部5a2とを含む。
【0018】
記憶部5a1は、データ記憶手段の一例である。
【0019】
記憶部5a1は、利用者データや商品データなどのデータを記憶する。本実施形態では、記憶部5a1が記憶するデータは、利用者データや商品データ等のテーブルまたはデータベースである。なお、記憶部5a1内のテーブルまたはデータベースは、利用者データや商品データのテーブルまたはデータベースに限らず適宜変更可能である。
【0020】
本実施形態では、記憶部5a1は、データ(テーブルまたはデータベース)と共に、そのデータの名称および更新日時を記憶する。データの名称は、データ識別子の一例である。また、記憶部5a1は、バックアップフォルダを有する。記憶部5a1内のデータは、WEBサーバ7aからのアクセスを許可するが、バックアップフォルダは、WEBサーバ7aからのアクセスは禁止されており、バックアップサーバ6からのアクセスは許可されている。
【0021】
記憶部5a1のバックアップフォルダには、バックアップファイルが記憶される。
【0022】
バックアップファイルには、記憶部5a1内のデータ(テーブルまたはデータベース)のバックアップデータと、属性情報とが含まれる。属性情報は、バックアップデータの元となったデータ(以下「バックアップ対象データ」と称する)の名称と、バックアップ対象データが記憶されているデータベースサーバの識別子(例えば、データベースサーバの名称)と、を表す。
【0023】
データ制御部5a2は、データ制御手段の一例である。
【0024】
データ制御部5a2は、データベースサーバ5aの動作を制御する。
【0025】
例えば、データ制御部5a2は、WEBサーバ7aからの要求に応じて記憶部5a1にアクセスする。
【0026】
また、データ制御部5a2は、記憶部5a1内のデータ(テーブルやデータベース)のバックアップを要求するバックアップ要求を受信した場合に、バックアップが要求されたデータであるバックアップ対象データをコピーしてバックアップデータを作成し、かつ、バックアップ対象データの名称(テーブル名やデータベース名)と、バックアップ対象データが存在するデータベースサーバの識別子(この場合、データベースサーバ5aの識別子)と、を表す属性情報を作成する。
【0027】
データ制御部5a2は、バックアップデータと属性情報とを含むバックアップファイルを作成し、そのバックアップファイルを、記憶部5a1内のバックアップフォルダに記憶する。本実施形態では、データ制御部5a2は、バックアップファイルの名称として、属性情報が表すバックアップ対象データの名称を用いる。
【0028】
データ制御部5a2は、通信部5a21と制御部5a22とを含む。通信部5a21は、WEBサーバ7aおよびLAN10と接続する。制御部5a22は、データ制御部5a2の動作を制御する。
【0029】
データベースサーバ5bは、記憶部5b1とデータ制御部5b2とを含む。
【0030】
記憶部5b1は、データ記憶手段の一例である。
【0031】
なお、記憶部5b1についての説明は、上述した記憶部5a1の説明において、「記憶部5a1」という記載を「記憶部5b1」と読み替え、「利用者端末2aにて使用され」という記載を「利用者端末2bおよび2cにて使用され」と読み替えることで済む。このため、記憶部5b1についての詳細な説明は割愛する。
【0032】
データ制御部5b2は、データ制御手段の一例である。
【0033】
なお、データ制御部5b2についての説明は、上述したデータ制御部5a2の説明において、「データ制御部5a2」という記載を「データ制御部5b2」と読み替え、「データベースサーバ5a」という記載を「データベースサーバ5b」と読み替え、「WEBサーバ7a」という記載を「WEBサーバ7b」と読み替え、「記憶部5a1」という記載を「記憶部5b1」と読み替え、「通信部5a21」という記載を「通信部5b21」と読み替え、「制御部5a22」という記載を「制御部5b22」と読み替えることで済む。このため、データ制御部5b2についての詳細な説明は割愛する。
【0034】
バックアップサーバ6は、利用者端末2a〜2cと接続しておらず、また、記憶部61とバックアップ制御部62とを含む。
【0035】
記憶部61は、バックアップデータ記憶手段の一例である。
【0036】
バックアップ制御部62は、バックアップ制御手段の一例である。
【0037】
バックアップ制御部62は、バックアップサーバ6の動作を制御する。
【0038】
例えば、バックアップ制御部62は、データベースサーバ5aおよび5bを定期的に監視し、データベースサーバ5aにバックアップデータが存在するか、および、データベースサーバ5bにバックアップデータが存在するかを確認する。
【0039】
本実施形態では、バックアップ制御部62は、データベースサーバ5aの記憶部5a1のバックアップフォルダにバックアップファイルが存在するか、および、データベースサーバ5bの記憶部5b1のバックアップフォルダにバックアップファイルが存在するかを、定期的に確認する。
【0040】
また、バックアップ制御部62は、記憶部5a1のバックアップフォルダにバックアップファイルが存在する場合、記憶部5a1のバックアップフォルダ内のバックアップファイルを記憶部61内に移動する。また、バックアップ制御部62は、記憶部5b1のバックアップフォルダにバックアップファイルが存在する場合、記憶部5b1のバックアップフォルダ内のバックアップファイルを記憶部61内に移動する。
【0041】
なお、記憶部61には、記憶部61内のバックアップファイルを示すリカバリリストも記憶されており、バックアップ制御部62は、記憶部61内のバックアップファイルの名称を、そのバックアップファイルの作成元のデータベースサーバの識別子と共に、リカバリリストに記憶する。
【0042】
バックアップ制御部62は、通信部621と制御部622とを含む。通信部621は、LAN10と接続する。制御部622は、バックアップ制御部62の動作を制御する。
【0043】
WEBサーバ7aは、サービスサーバの一例である。WEBサーバ7aは、サービス制御部7a1を含む。
【0044】
サービス制御部7a1は、複数の利用者端末のうち利用者端末2aと接続し、WEBサーバ7aの動作を制御する。
【0045】
例えば、サービス制御部7a1は、利用者端末2aからの要求に応じて、データベースサーバ5a内のデータを用いて返答を利用者端末2aに返す。
【0046】
一例としては、データベースサーバ5a内の記憶部5a1が、ユーザIDとパスワードとの組み合わせを示したテーブルを記憶している状況で、サービス制御部7a1は、利用者端末2aからユーザIDとパスワードとを含む要求を受信すると、データベースサーバ5a内のユーザIDとパスワードとの組み合わせを示したテーブルを用いて、利用者端末2aを認証し、ユーザIDとパスワードとの組み合わせが合致していれば、ユーザ用ホームページの情報を、利用者端末2aからの要求に対する応答として利用者端末2aに返す。
【0047】
また、サービス制御部7a1は、利用者端末2aからバックアップデータへのアクセス要求を受信すると、そのバックアップデータへのアクセス要求を無効にする。例えば、サービス制御部7a1は、そのバックアップデータへのアクセス要求を消去することによって、そのバックアップデータへのアクセス要求を無効にする。
【0048】
サービス制御部7a1は、通信部7a11と制御部7a12とを含む。通信部7a11は、データベースサーバ5aおよびインターネット1と接続する。制御部7a12は、サービス制御部7a1の動作を制御する。
【0049】
WEBサーバ7bは、サービスサーバの一例である。WEBサーバ7bは、サービス制御部7b1を含む。
【0050】
サービス制御部7b1は、複数の利用者端末のうち利用者端末2bおよび2cと接続し、WEBサーバ7bの動作を制御する。
【0051】
なお、サービス制御部7b1についての説明は、上述したサービス制御部7a1の説明において、「サービス制御部7a1」という記載を「サービス制御部7b1」と読み替え、「WEBサーバ7a」という記載を「WEBサーバ7b」と読み替え、「利用者端末2a」という部分を「利用者端末2bまたは2c」と読み替え、「記憶部5a1」という記載を「記憶部5b1」と読み替え、「データベースサーバ5a」という記載を「データベースサーバ5b」と読み替え、「データ制御部5a2」という記載を「データ制御部5b2」と読み替え、「通信部7a11」という記載を「通信部7b11」と読み替え、「制御部7a12」という記載を「制御部7b12」と読み替えることで済む。このため、サービス制御部7b1についての詳細な説明は割愛する。
【0052】
コントロールサーバ8は、通信回線3を介して管理者端末4と接続する。コントロールサーバ8は、動作制御部81を含む。
【0053】
動作制御部81は、動作制御手段の一例である。
【0054】
動作制御部81は、コントロールサーバ8の動作を制御する。
【0055】
例えば、動作制御部81は、管理者端末4から種々のコマンド(命令)を受信し、そのコマンドに応じた要求を、データベースサーバ5aや5b、バックアップサーバ6またはリカバリサーバ9に送信し、要求に対する応答を受け付けると、その応答を管理者端末4に送信する。
【0056】
一例としては、動作制御部81は、管理者端末4から、データベースサーバ5a内のデータのバックアップを要求するバックアップコマンドを受信すると、バックアップ要求をデータベースサーバ5aに送信し、また、管理者端末4から、データベースサーバ5b内のデータのバックアップを要求するバックアップコマンドを受信すると、バックアップ要求をデータベースサーバ5bに送信する。なお、バックアップコマンドは、バックアップ命令の一例である。
【0057】
動作制御部81は、通信部811と制御部812とを含む。通信部811は、管理者端末4およびLAN10と接続する。制御部812は、動作制御部81の動作を制御する。
【0058】
リカバリサーバ9は、リカバリ制御部91を含む。
【0059】
リカバリ制御部91は、リカバリ制御手段の一例である。
【0060】
リカバリ制御部91は、リカバリサーバ9の動作を制御する。
【0061】
例えば、リカバリ制御部91は、バックアップサーバ6からデータのリカバリに使用されるバックアップファイルを受信し、そのバックアップファイルを開いてバックアップデータ(テーブルまたはデータベース)と属性情報とを取り出す。リカバリ制御部91は、コントロールサーバ8からの要求に応じて、バックアップデータと属性情報とをコントロールサーバ8に送信する。
【0062】
なお、コントロールサーバ8に送信されたバックアップデータと属性情報は、データベースサーバ5aまたは5b内のデータのリカバリ(修正)を要求する修正要求を作成するために使用され、データベースサーバ5aまたは5b内のデータは、修正要求に従ってリカバリ(修正)される
リカバリ制御部91は、通信部911と制御部912と記憶部913とを含む。通信部911は、LAN10と接続する。制御部912は、リカバリ制御部91の動作を制御する。記憶部913は、リカバリに使用されるバックアップデータおよび属性情報を記憶する。
【0063】
次に、動作を説明する。
【0064】
まず、利用者端末からの要求に応じた動作を説明する。
【0065】
図2は、利用者端末からの要求に応じた動作を説明するためのシーケンス図である。図2では、説明の簡略化のため、利用者端末2a〜2cのうち利用者端末2aを示し、WEBサーバ7a〜7bのうちWEBサーバ7aを示し、データベースサーバ5a〜5bのうちデータベースサーバ5aを示している。
【0066】
利用者端末2aが、WEBサーバ7aと接続し、その後、データベースサーバ5aの記憶部5a1内のデータへのアクセス要求(例えば、読み込み要求)をWEBサーバ7aに送信すると(ステップA1)、WEBサーバ7a内の制御部7a12は、通信部7a11を介して、そのアクセス要求を受信する。
【0067】
制御部7a12は、アクセス要求を受信すると、そのアクセス要求にてアクセスが要求されたデータにアクセスする(ステップA2)。
【0068】
例えば、アクセス要求が読み込み要求である場合、制御部7a12は、そのアクセス要求にてアクセスが要求されたデータ(記憶部5a1内のデータであるテーブルまたはデータベース)を読み込み(ステップA3)、そのデータを利用者端末2aに出力する(ステップA4)。
【0069】
次に、バックアップ動作を説明する。
【0070】
図3は、バックアップ動作を説明するためのシーケンス図である。なお、図3では、説明の簡略化のため、データベースサーバ5aおよび5bのうち、データベースサーバ5aを示している。
【0071】
管理者端末4が、コントロールサーバ8と接続し、その後、データベースサーバ5a内のデータのバックアップを要求するバックアップコマンドをコントロールサーバ8に送信すると(ステップB1)、コントロールサーバ8内の制御部812は、通信部811を介して、そのバックアップコマンドを受信する。
【0072】
なお、バックアップコマンドには、データベースサーバを特定するためのデータベースサーバ識別子(例えば、データベースサーバの名称)、および、バックアップ対象データを特定するための対象データ特定情報が付加されてもよい。
【0073】
対象データ特定情報は、バックアップ対象データの名称(例えば、テーブル名またはデータベース名)でもよい。また、バックアップ対象データが所定の期間内に更新されたデータであるという条件によってバックアップ対象データが特定される場合には、対象データ特定情報は、その所定の更新期間を表す情報でもよい。
【0074】
以下の説明では、バックアップコマンドに、データベースサーバ識別子として、データベースサーバ5aの名称(例えば、DB001)が付加され、対象データ特定情報が付加されていないものとする。
【0075】
制御部812は、バックアップコマンドを受信すると、データベースサーバ識別子にて特定されるデータベースサーバ5aに、バックアップ要求を通信部811から送信する(ステップB2)。
【0076】
この場合、バックアップコマンドに対象データ特定情報が付加されていないため、制御部812は、データベースサーバ5a内のすべてのデータをバックアップ対象データとする旨のバックアップ要求を生成し、そのバックアップ要求を、通信部811からデータベースサーバ5aに送信する。
【0077】
なお、バックアップコマンドに対象データ特定情報が付加されている場合には、制御部812は、その対象データ特定情報が付加されたバックアップ要求を生成し、そのバックアップ要求を、通信部811からデータベースサーバ5aに送信する。
【0078】
データベースサーバ5a内の制御部5a22は、通信部5a21を介してバックアップ要求を受信すると、記憶部5a1内のバックアップ対象データ(この場合、記憶部5a1内のすべてのデータ)をコピーしてバックアップ対象データのバックアップデータを作成し、かつ、バックアップデータごとに、バックアップデータの元になったバックアップ対象データの名称(テーブル名やデータベース名)と、バックアップ対象データが存在するデータベースサーバの識別子(この場合、データベースサーバ5aの識別子)と、を表す属性情報を作成する。なお、属性情報に、バックアップデータを作成した日時であるバックアップ日時が含まれてもよい。
【0079】
制御部5a22は、対象データ特定情報が付加されたバックアップ要求を受信した場合には、対象データ特定情報にて特定されるバックアップ対象データをコピーしてバックアップ対象データのバックアップデータを作成し、かつ、バックアップデータごとに、バックアップデータの元になったバックアップ対象データの名称と、バックアップ対象データが存在するデータベースサーバの識別子と、を表す属性情報を作成する。この場合も、属性情報に、バックアップデータを作成した日時であるバックアップ日時が含まれてもよい。
【0080】
なお、バックアップ要求に対象データ特定情報が付加されている場合には、属性情報に、対象データ特定情報を付加する。
【0081】
続いて、制御部5a22は、バックアップデータごとに、バックアップデータと属性情報とを含むバックアップファイルを作成し(ステップB3)、そのバックアップファイルを、記憶部5a1内のバックアップフォルダに記憶する(ステップB4)。本実施形態では、バックアップファイルの名称として、バックアップ対象データの名称を使用する。
【0082】
一方、バックアップサーバ6内の制御部622は、通信部621を用いて、既定時間(例えば、10分)ごとに、各データベースサーバ5aおよび5bのバックアップフォルダに巡回的にアクセスし、バックアップファイルの有無を確認する(ステップB5)。なお、既定時間は10分に限らず適宜変更可能である。
【0083】
バックアップフォルダにバックアップファイルがあると、制御部622は、バックアップファイルを有するデータベースサーバ(ここでは、データベースサーバ5aとする)に、バックアップファイルを取得する旨のバックアップファイル取得要求を、通信部621から送信する(ステップB6)。
【0084】
データベースサーバ5a内の制御部5a22は、通信部5a21を介してバックアップファイル取得要求を受信すると、記憶部5a1のバックアップフォルダ内のバックアップファイルを読み取り、その読み取られたバックアップファイルを、通信部5a21からバックアップサーバ6に送信し(ステップB7)、その後、記憶部5a1のバックアップフォルダ内のバックアップファイルを削除する。
【0085】
バックアップサーバ6内の制御部622は、通信部621を介してバックアップファイルを受信すると、そのバックアップファイルを記憶部61に記憶する(ステップB8)。
【0086】
つまり、制御部622は、バックアップファイル取得要求を送信することによって、記憶部5a1のバックアップフォルダ内のバックアップファイルを、記憶部61内に移動する。
【0087】
続いて、制御部622は、記憶部61内のリカバリリストに、そのバックアップファイルの名称と、データベースサーバ5aの識別子と、を追記する(ステップB9)。
【0088】
なお、属性情報にバックアップ日時が含まれている場合には、リカバリリストにバックアップ日時が記載されてもよい。また、属性情報に対象データ特定情報が含まれている場合には、リカバリリストに対象データ特定情報が記載されてもよい。
【0089】
図4は、リカバリリストの一例を示した図である。
【0090】
図4に示したリカバリリストは、データベースサーバ識別子とバックアップファイル名とバックアップ日時とを表す。なお、バックアップファイル名の拡張子は、「bak」に限らず適宜変更可能である。また、リカバリリストに、属性情報が表すバックアップ対象データの名称が記載されてもよい。また、リカバリリストに、バックアップの管理上のユニークな番号などの識別子であるバックアップ識別子も付加してもよい。
【0091】
次に、リカバリ動作を説明する。
【0092】
図5は、リカバリ動作を説明するためのシーケンス図である。なお、図5では、説明の簡略化のため、データベースサーバ5aおよび5bのうち、データベースサーバ5aを示している。
【0093】
管理者端末4が、コントロールサーバ8に接続し、その後、リカバリリストを要求するリスト要求コマンドをコントロールサーバ8に送信すると(ステップC1)、コントロールサーバ8内の制御部812は、通信部811を介して、そのリスト要求コマンドを受信する。リスト要求コマンドは、リスト要求命令の一例である。なお、リスト要求コマンドには、データベースサーバ識別子が含まれてもよい。
【0094】
なお、本実施形態では、制御部812は、管理者端末4を認証した後に管理者端末4と接続する。制御部812は、管理者端末4を認証する際に、管理者端末4の使用者である管理者の識別子(以下「管理者識別子」と称する)を得る。
【0095】
本実施形態では、管理者ごとに、その管理者がデータを操作できるデータベースサーバが特定されている。
【0096】
図6は、管理者と、管理者がデータを操作できるデータベースサーバと、の関係を表す関係情報600を示した図である。
【0097】
関係情報600では、管理者識別子601ごとに、管理者識別子601とデータベースサーバ識別子602とが互いに関連づけられている。データベースサーバ識別子602は、データベースサーバ識別子602に関連づけられた管理者識別子601にて特定される管理者がデータを操作できるデータベースサーバを示す。関係情報600は、コントロールサーバ8内の記憶部(不図示)またはバックアップサーバ6内の記憶部61に記憶されている。以下の説明では、関係情報600は、バックアップサーバ6内の記憶部61に記憶されているとする。
【0098】
なお、図6では、管理者識別子601が「U001」である管理者が、データベースサーバ識別子602が「DB001」であるデータベースサーバ(データベースサーバ5a)と関連づけられ、管理者識別子601が「U002」である管理者が、データベースサーバ識別子602が「DB002」であるデータベースサーバ(データベースサーバ5b)と関連づけられているが、1人の管理者が複数のデータベースサーバ内のデータを操作できる場合には、1つの管理者識別子に複数のデータベースサーバ識別子が関連づけられる。
【0099】
また、関係情報600において、管理者識別子601ごとに、管理者識別子601にて特定される管理者が操作できるデータ(テーブルまたはデータベース)の名称を追加してもよい。
【0100】
制御部812は、リスト要求コマンドを受信すると、リカバリリストを要求するリスト要求を、通信部811からバックアップサーバ6に送信する(ステップC2)。
【0101】
本実施形態では、リスト要求コマンドにデータベースサーバ識別子が含まれていない場合、制御部812は、制御部812が管理者端末4と接続する際に得た管理者識別子を含むリスト要求を生成し、そのリスト要求を、通信部811からバックアップサーバ6に送信する。
【0102】
一方、リスト要求コマンドにデータベースサーバ識別子が含まれている場合、制御部812は、リスト要求コマンド内のデータベースサーバ識別子を含むリスト要求を生成し、そのリスト要求を、通信部811からバックアップサーバ6に送信する。
【0103】
なお、リスト要求コマンドにデータベースサーバ識別子が含まれていた場合に、制御部812は、制御部812が管理者端末4と接続する際に得た管理者識別子と、リスト要求コマンド内のデータベースサーバ識別子と、を含むリスト要求を生成し、そのリスト要求を、通信部811からバックアップサーバ6に送信してもよい。
【0104】
バックアップサーバ6内の制御部622は、通信部621を介してリスト要求を受信すると、リカバリリストに記載されたバックアップファイル名の中から、リスト要求内の管理者識別子にて関係情報600から特定されるデータベースサーバ識別子、または、リスト要求内のデータベースサーバ識別子に関連づけられたバックアップファイル名を該当バックアップファイル名として特定する。
【0105】
なお、制御部622は、リスト要求にデータベースサーバ識別子が含まれず管理者識別子が含まれる場合には、記憶部61内の関係情報600(図6参照)を参照して、リスト要求内の管理者識別子に関連づけられたデータベースサーバ識別子を特定する。
【0106】
また、制御部622は、リスト要求に管理者識別子とデータベースサーバ識別子とが含まれる場合には、記憶部61内の関係情報600(図6参照)を参照して、リスト要求内の管理者識別子に関連づけられたデータベースサーバ識別子を特定し、その特定されたデータベースサーバ識別子と、リスト要求内のデータベースサーバ識別子とが一致した場合に、そのデータベースサーバ識別子に関連づけられたバックアップファイル名を該当バックアップファイル名として特定する。なお、特定されたデータベースサーバ識別子とリスト要求内のデータベースサーバ識別子とが一致しない場合には、制御部622は、エラーを示すエラー情報をコントロールサーバ8に送信する。
【0107】
続いて、制御部622は、リカバリリストから、特定された該当データベースサーバ識別子に関連づけられた該当バックアップファイル名と、その該当データベースサーバ識別子およびバックアップ日時とを、該当バックアップファイル名ごとに示したリストを、リカバリリストとして、通信部621からコントロールサーバ8に送信する(ステップC3)。また、送信されるリカバリリストにバックアップ識別子も含めてもよく、バックアップがデータベースサーバ内のすべてのデータではなく、テーブル名またはデータベース名などの単位の場合は、バックアップ対象データの名称などの属性情報も、送信されるリカバリリストに含めて送信してもよい。また、バックアップ対象データの名称が、送信されるリカバリリストに含まれる場合は、バックアップファイル名を送信しなくてもよい。
【0108】
コントロールサーバ8内の制御部812は、通信部811を介してエラー情報を受信すると、エラー情報を通信部811から管理者端末4に送信し、管理者端末4の表示部(不図示)にエラーが生じた旨を表示する。
【0109】
一方、制御部812は、通信部811を介してリカバリリストを受信すると、リカバリリストを通信部811から管理者端末4に送信し(ステップC4)、管理者端末4の表示部(不図示)にリカバリリストを表示する(ステップC5)。
【0110】
管理者端末4の使用者(管理者)は、管理者端末4を操作して、リカバリリストに示されたバックアップファイル名の中から、リカバリに用いるバックアップファイル名を、バックアップファイル識別情報として選択する。バックアップファイル識別情報は、リカバリに用いるバックアップファイル名に限らず、リカバリリスト上のバックアップファイルを識別するための情報(例えば、バックアップ日時やバックアップ識別子などの少なくとも1つ)でもよい。
【0111】
管理者端末4は、バックアップファイル識別情報が選択されると、そのバックアップファイル識別情報を含むリカバリコマンドを、コントロールサーバ8に送信する(ステップC6)。なお、リカバリコマンドは、リカバリ命令の一例である。
【0112】
コントロールサーバ8内の制御部812は、通信部811を介してリカバリコマンドを受信すると、リカバリコマンド内のバックアップファイル識別情報を含むリカバリ要求を、バックアップサーバ6に送信する(ステップC7)。
【0113】
バックアップサーバ6内の制御部622は、通信部621を介してリカバリ要求を受信すると、必要によりリカバリリストを参照し、記憶部61から、リカバリ要求に含まれるバックアップファイル識別情報にて識別されたバックアップファイルを読み出し、そのバックアップファイルを、通信部621からリカバリサーバ9に送信する(ステップC8)。
【0114】
リカバリサーバ9内の制御部912は、通信部911を介してバックアップファイルを受信すると、そのバックアップファイルを開いてバックアップデータ(テーブルまたはデータベース)と属性情報とを取り出し、バックアップデータと属性情報とを記憶部913に記憶する(ステップC9)。
【0115】
続いて、制御部912は、リカバリの準備ができた旨の準備完了通知を、通信部911からコントロールサーバ8へ送信する(ステップC10)。
【0116】
コントロールサーバ8内の制御部812は、通信部811を介して準備完了通知を受信すると、準備完了通知を通信部811から管理者端末4に送信し(ステップC11)、管理者端末4の表示部(不図示)にリカバリの準備ができた旨を表示する(ステップC12)。
【0117】
管理者端末4の使用者(管理者)は、リカバリの準備ができた旨の表示を確認し、その後、管理者端末4を操作して、バックアップデータを閲覧する旨の閲覧コマンドを入力する。なお、閲覧コマンドは、閲覧命令の一例である。管理者端末4は、閲覧コマンドを受け付けると、閲覧コマンドをコントロールサーバ8へ送信する(ステップC13)。
【0118】
コントロールサーバ8内の制御部812は、通信部811を介して閲覧コマンドを受信すると、リカバリサーバ9用の専用閲覧ブラウザ(以下「専用閲覧ブラウザ」と称する)を立ち上げて実行し(ステップC14)、専用閲覧ブラウザを用いて、バックアップデータの閲覧を要求する閲覧要求を、通信部811からリカバリサーバ9に送信する(ステップC15)。なお、制御部812は、閲覧要求にテーブル名またはデータベース名などを指定する属性情報を付加してもよい。
【0119】
リカバリサーバ9内の制御部912は、通信部911を介して閲覧要求を受信すると、記憶部913内のバックアップデータ(テーブル名またはデータベース名が指定された場合はそのテーブルやデータベースのデータ)を、通信部911からコントロールサーバ8に送信する(ステップC16)。なお、制御部912は、バックアップデータに属性情報を含めてもよい。
【0120】
コントロールサーバ8内の制御部812は、通信部811を介してバックアップデータ(テーブルまたはデータベース)を受信すると、専用閲覧ブラウザを用いて、バックアップデータを通信部811から管理者端末4に表示するデータとして送信して(ステップC17)管理者端末4の表示部(不図示)にバックアップデータを表示する(ステップC18)。
【0121】
管理者端末4の使用者(管理者)は、表示したバックアップデータを確認し、その後、専用閲覧ブラウザにて表示されたバックアップデータすべて、もしくは少なくとも一部のデータベースやテーブルを特定する属性情報(例えば、バックアップデータすべての場合は省略してもよく、データベースやテーブルならデータベース名やテーブル名)、リカバリを行うデータベースサーバの識別子(この場合、「データベースサーバ5a」の名称)と、を含む修正コマンドを、管理者端末4を操作して入力する。なお、修正コマンドは、修正命令の一例である。管理者端末4は、修正コマンドを受け付けると、その修正コマンドをコントロールサーバ8に送信する(ステップC19)。
【0122】
コントロールサーバ8内の制御部812は、通信部811を介して修正コマンドを受信すると、修正コマンド内の属性情報とデータベースサーバの識別子とを含む修正依頼コマンドを、通信部811から、リカバリサーバ9に送信する(ステップC20)。
【0123】
リカバリサーバ9内の制御部912は、通信部911を介して修正依頼コマンドを受信すると、修正依頼コマンド内の属性情報によって特定されるバックアップデータの少なくとも一部(以下「リカバリ情報」と呼ぶ)を記憶部913内から読み出し、リカバリ情報およびその属性情報と修正依頼コマンド内のデータベースサーバの識別子とを、返信修正コマンドとして、通信部911からコントロールサーバ8に送信する(ステップC21)。ここで、制御部912は、修正依頼コマンド内のデータベースサーバの識別子が記憶部913内の属性情報のデータベースサーバの識別子と合致するか照合し、合致していなければエラーを返してもよい。
【0124】
コントロールサーバ8内の制御部812は、通信部811を介して返信修正コマンドを受信すると、返信修正コマンド内のリカバリ情報およびその属性情報を含む修正要求を、通信部811から、返信修正コマンド内のデータベースサーバの識別子にて特定されるデータベースサーバ(この例では、データベースサーバ5a)に送信する(ステップC22)。
【0125】
データベースサーバ5a内の制御部5a22は、通信部5a21を介して修正要求を受信すると、修正要求内の属性情報に表されたバックアップデータ名と同一の名称を有するデータ(テーブルまたはデータベース)を、リカバリ情報に一致するように書き換えて修正(リカバリ)する(ステップC23)。
【0126】
制御部5a22は、リカバリが終了すると、リカバリが終了した旨のリカバリ終了通知を、通信部5a21からコントロールサーバ8に送信する(ステップC24)。
【0127】
コントロールサーバ8内の制御部812が、通信部811を介してリカバリ終了通知を受信すると、制御部812内の専用閲覧ブラウザが、データを削除する旨のデータ削除要求を、通信部811からリカバリサーバ9に送信する(ステップC25)。
【0128】
リカバリサーバ9内の制御部912は、通信部911を介してデータ削除要求を受信すると、記憶部913内のバックアップデータおよび属性情報を削除する(ステップC26)。
【0129】
なお、制御部812もしくは制御部912は、記憶部913内のバックアップデータおよび属性情報の削除が完了するまで、次のバックアップファイル(他のバックアップファイル)の受付を禁止する。
【0130】
また、制御部912は、データ削除要求を受信しなくとも、バックアップファイルを受信してから既定時間経過後に、記憶部913内のデータ、つまり、受信されたバックアップファイルから展開されたバックアップデータおよび属性情報を削除してもよい。
【0131】
次に、バックアップデータへのアクセス要求についての動作を説明する。
【0132】
図7は、バックアップデータへのアクセス動作を説明するためのシーケンスである。図7では、説明の簡略化のため、利用者端末2a〜2cのうち利用者端末2aを示し、WEBサーバ7a〜7bのうちWEBサーバ7aを示している。
【0133】
利用者端末2aが、WEBサーバ7aと接続し、その後、データベースサーバ5aの記憶部5a1内のデータのバックアップデータへのアクセス要求をWEBサーバ7aに送信すると(ステップD1)、WEBサーバ7a内の制御部7a12は、そのアクセス要求を受信した後、そのアクセス要求を削除してそのアクセス要求を無効にする(ステップD2)。
【0134】
次に、本実施形態の効果を説明する。
【0135】
本実施形態によれば、データベースサーバ5a内のデータ制御部5a2は、記憶部5a1内のデータのバックアップを要求するバックアップ要求を受信すると、そのデータのバックアップデータ(バックアップファイル)を作成する。また、データベースサーバ5b内のデータ制御部5b2は、記憶部5b1内のデータのバックアップを要求するバックアップ要求を受信すると、そのデータのバックアップデータ(バックアップファイル)を作成する。
【0136】
バックアップサーバ6内のバックアップ制御部62は、バックアップデータがデータベースサーバ5aに存在する場合に、データベースサーバ5a内のバックアップデータを記憶部61内に移動する。また、バックアップ制御部62は、バックアップデータがデータベースサーバ5bに存在する場合に、データベースサーバ5b内のバックアップデータを記憶部61内に移動する。
【0137】
このため、バックアップデータが、利用者端末と直接的に通信しないバックアップサーバ6内に記憶される。よって、利用者端末と通信するWEBサーバに接続されているデータベースサーバ内に、バックアップデータが保持され続ける場合に比べて、バックアップデータのセキュリティを保つことが可能になる。したがって、バックアップデータへの不正なアクセスを低減することが可能になる。よって、セキュリティが保たれた状態で、バックアップ処理を実行することが可能になる。
【0138】
また、複数のデータベースサーバに対してバックアップ要求がほぼ同時に行われても、バックアップサーバ6内のバックアップ制御部62が主導的にバックアップデータ(バックアップファイル)の取得を行うため、バックアップ制御部62がバックアップデータの取得ついてのスケジュールを管理することができる。よって、バックアップデータの取得するために使用する通信回線(ネットワーク)10の高負荷を防ぐことが可能になる。
【0139】
また、本実施形態では、コントロールサーバ8内の動作制御部81は、管理者端末4からデータベースサーバ5a内のデータのバックアップを要求するバックアップコマンドを受信すると、バックアップ要求をデータベースサーバ5aに送信し、また、管理者端末4からデータベースサーバ5b内のデータのバックアップを要求するバックアップコマンドを受信すると、バックアップ要求をデータベースサーバ5bに送信する。
【0140】
このため、管理者端末4からのバックアップコマンドによって、バックアップデータを作成することが可能になる。よって、管理者端末4の使用者である管理者(例えば、システムエンジニア)が、自由にいつでもバックアップの指示を実行することが可能になる。
【0141】
また、本実施形態では、コントロールサーバ8内の動作制御部81は、管理者端末4からリカバリコマンドを受信すると、リカバリ要求をバックアップサーバ6に送信し、また、管理者端末4から閲覧コマンドを受信すると、閲覧要求をリカバリサーバ9に送信する。
【0142】
バックアップサーバ6内のバックアップ制御部62は、リカバリ要求を受信すると、記憶部61内のバックアップデータ(バックアップファイル)をリカバリサーバ9に送信する。
【0143】
リカバリサーバ9内のリカバリ制御部91は、バックアップ制御部62からバックアップデータを受信しコントロールサーバ8内の動作制御部81から閲覧要求を受信すると、バックアップデータをコントロールサーバ8に送信する。
【0144】
コントロールサーバ8内の動作制御部81は、リカバリサーバ9からバックアップデータを受信すると、そのバックアップデータを管理者端末4に送信し、その後、管理者端末4から少なくともバックアップデータの一部であるリカバリ用情報を含む修正コマンドを受信すると、リカバリ用情報を含む修正要求をデータベースサーバ5aまたは5b内のデータ制御部5a2または5b2に送信する。
【0145】
データベースサーバ5aまたは5b内のデータ制御部5a2または5b2は、コントロールサーバ8内の動作制御部81から修正要求を受信すると、修正要求に含まれるリカバリ用情報を用いて記憶部5a1または5b1内のデータを修正する。
【0146】
このため、管理者端末4からの各種コマンドによって、データのリカバリを行うことが可能になる。よって、管理者端末4の使用者である管理者が、自由にいつでもリカバリの指示を実行することが可能になる。
【0147】
また、バックアップサーバ6内のバックアップデータ(バックアップファイル)を直接用いてデータベースサーバ5aおよび5b内のデータをリカバリしないので、バックアップデータの損傷等に起因するリカバリ時におけるデータベースサーバ5aまたは5bの停止や想定していないデータの書き換えなどのデータ破壊を防ぐことが可能になる。
【0148】
また、本実施形態では、リカバリ制御部91は、バックアップ制御部61から受信したバックアップデータ(バックアップファイル)を、削除要求に応じて、または、バックアップデータ(バックアップファイル)を受信してから所定時間後に削除するものであり、バックアップデータ(バックアップファイル)の削除が完了するまで、他のバックアップデータ(バックアップファイル)の受付を禁止する。
【0149】
このため、バックアップデータの閲覧時には、他のバックアップデータは、リカバリサーバ9に存在しないため、他のバックアップデータが不正に閲覧されることを防止可能となる。
【0150】
なお、上記実施形態において、データベースサーバ5a内の制御部5a22およびデータベースサーバ5b内の制御部5b22は、バックアップファイルを圧縮または暗号化してもよい。
【0151】
バックアップファイルが圧縮されている場合、バックアップサーバ6内の制御部622が、バックアップファイルを展開してからリカバリサーバ9に送信してもよいし、リカバリサーバ9内の制御部912が、バックアップサーバ6から受信した圧縮済みのバックアップファイルを展開してもよい。
【0152】
また、バックアップファイルが暗号化されている場合、バックアップサーバ6内の制御部622が、バックアップファイルを復号してからリカバリサーバ9に送信してもよいし、リカバリサーバ9内の制御部912が、バックアップサーバ6から受信した暗号化されたバックアップファイルを復号してもよい。
【0153】
また、上記実施形態では、バックアップサーバ6が、関係情報600(図6参照)を記憶したが、関係情報600が管理サーバ(不図示)に記憶され、バックアップサーバ6内の制御部622が、関係情報600を管理サーバから取得してもよい。
【0154】
また、上記実施形態では、データベースサーバとWEBサーバとの組(具体的には、データベースサーバ5aとWEBサーバ7aとの組と、データベースサーバ5bとWEBサーバ7bとの組)を2つ用いたが、この組の数は1以上であればよい。
【0155】
また、上記実施形態では、データベースサーバとWEBサーバとの組を使用できる利用者端末の数を1または2としたが、この数も1以上であればよい。
【0156】
また、図4に示したリカバリリストにおいて、データベースサーバ識別子の代わりに、管理者識別子が記載されてもよい。この場合、バックアップサーバ6内の制御部622は、リスト要求内にデータベースサーバ識別子が含まれると、関係情報600(図6参照)を参照して、データベースサーバ識別子に関連づけられた管理者識別子を特定し、リカバリリストから、その管理者識別子に関連づけられたバックアップファイル名を該当バックアップファイル名として特定する。また、バックアップサーバ6内の制御部622は、リスト要求内に管理者識別子が含まれると、リカバリリストから、その管理者識別子に関連づけられたバックアップファイル名を該当バックアップファイル名として特定する。
【0157】
また、上記実施形態では、関係情報600は、バックアップサーバ6内の記憶部61に記憶されているとしたが、関係情報600がバックアップサーバ6内ではなくコントロールサーバ8内に記憶されている場合、制御部812は、以下のように動作する。
【0158】
リスト要求コマンドにデータベースサーバ識別子が含まれていない場合、制御部812は、関係情報600を参照して、制御部812が管理者端末4と接続する際に得た管理者識別子に関連づけられたデータベース識別子を特定し、そのデータベース識別子を含むリスト要求を生成し、そのリスト要求を、通信部811からバックアップサーバ6に送信する。
【0159】
また、データベースサーバ5aおよび5bと、バックアップサーバ6と、WEBサーバ7aおよび7bと、コントロールサーバ8と、リカバリサーバ9とは、それぞれ、コンピュータにて実現されてもよい。この場合、各コンピュータは、CD−ROM等のコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することによって、データベースサーバ5aまたは5b、バックアップサーバ6、WEBサーバ7aまたは7b、コントロールサーバ8、または、リカバリサーバ9として機能する。
【0160】
以上説明した実施形態において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
【符号の説明】
【0161】
100 データ管理システム
1 インターネット
2a〜2c 利用者端末
3 通信回線
4 管理者端末
5a〜5b データベースサーバ
5a1、5b1 記憶部
5a2、5b2 データ制御部
5a21、5b21 通信部
5a22、5b22 制御部
6 バックアップサーバ
61 記憶部
62 バックアップ制御部
621 通信部
622 制御部
7a〜7b WEBサーバ
7a1、7b1 サービス制御部
7a11、7b11 通信部
7a12、7b12 制御部
8 コントロールサーバ
81 動作制御部
811 通信部
812 制御部
9 リカバリサーバ
91 リカバリ制御部
911 通信部
912 制御部
913 記憶部
10 LAN

【特許請求の範囲】
【請求項1】
データを記憶するデータベースサーバと、前記データのバックアップデータを記憶するためのバックアップサーバと、利用者端末からの要求に応じて前記データベースサーバ内のデータを用いて返答を返すサービスサーバと、を含むデータ管理システムであって、
前記データベースサーバは、
前記データを記憶するデータ記憶手段と、
前記データ記憶手段内の前記データのバックアップを要求するバックアップ要求を受信すると、当該データのバックアップデータを作成するデータ制御手段と、を含み、
前記バックアップサーバは、
バックアップデータ記憶手段と、
前記バックアップデータが前記データベースサーバに存在する場合に、前記データベースサーバ内の前記バックアップデータを前記バックアップデータ記憶手段内に移動するバックアップ制御手段と、を含む、データ管理システム。
【請求項2】
請求項1に記載のデータ管理システムにおいて、
前記利用者端末とは異なる管理者端末と接続するコントロールサーバをさらに含み、
前記コントロールサーバは、前記管理者端末から前記データのバックアップを要求するバックアップ命令を受信すると、前記バックアップ要求を前記データベースサーバに送信する動作制御手段を含む、データ管理システム。
【請求項3】
請求項2に記載のデータ管理システムにおいて、
前記コントロールサーバと接続するリカバリサーバをさらに含み、
前記動作制御手段は、前記管理者端末から前記バックアップサーバ内の前記バックアップデータをリカバリする旨のリカバリ命令を受信すると、前記バックアップデータのリカバリを要求するリカバリ要求を前記バックアップサーバに送信し、また、前記管理者端末から前記バックアップデータを閲覧する旨の閲覧命令を受信すると、前記バックアップデータの閲覧を要求する閲覧要求を前記リカバリサーバに送信し、
前記バックアップ制御手段は、前記リカバリ要求を受信すると、前記バックアップデータ記憶手段内の前記バックアップデータを前記リカバリサーバに送信し、
前記リカバリサーバは、前記バックアップ制御手段から前記バックアップデータを受信し前記動作制御手段から前記閲覧要求を受信すると、前記バックアップデータを前記コントロールサーバに送信するリカバリ制御手段を含み、
前記動作制御手段は、前記リカバリサーバから前記バックアップデータを受信すると、当該バックアップデータを前記管理者端末に送信し、その後、前記管理者端末から少なくとも前記バックアップデータの一部であるリカバリ用情報を含む修正命令を受信すると、前記リカバリ用情報を含む修正要求を前記データ制御手段に送信し、
前記データ制御手段は、前記動作制御手段から前記修正要求を受信すると、前記修正要求に含まれるリカバリ用情報を用いて前記データ記憶手段内の前記データを修正する、データ管理システム。
【請求項4】
請求項3に記載のデータ管理システムにおいて、
前記リカバリ制御手段は、前記バックアップ制御手段から受信した前記バックアップデータを、削除要求に応じて削除、または、前記バックアップデータを受信してから所定時間後に削除するものであり、前記バックアップデータの削除が完了するまで、他のバックアップデータの受付を禁止する、データ管理システム。
【請求項5】
データを記憶するデータベースサーバと、前記データのバックアップデータを記憶するためのバックアップサーバと、利用者端末からの要求に応じて前記データベースサーバ内のデータを用いて返答を返すサービスサーバと、を含むデータ管理システムでのデータ管理方法であって、
前記データベースサーバが、前記データのバックアップを要求するバックアップ要求を受信すると、当該データのバックアップデータを作成するデータ制御ステップと、
前記バックアップサーバが、前記バックアップデータが前記データベースサーバに存在する場合に、前記データベースサーバ内の前記バックアップデータを前記バックアップサーバ内に移動するバックアップ制御ステップと、を含むデータ管理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−37567(P2013−37567A)
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願番号】特願2011−173846(P2011−173846)
【出願日】平成23年8月9日(2011.8.9)
【出願人】(306029774)NECビッグローブ株式会社 (115)
【Fターム(参考)】