(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0014】
<実施形態のシステムの全体構成の一例>
以下、図面を参照して、実施形態について説明する。
図1は、実施形態のシステムの全体構成の一例を示す図である。実施形態のシステムは、第1のネットワークセグメント1と第2のネットワークセグメント2とを含む。
【0015】
第1のネットワークセグメント1は、複数のデータ記憶サーバ3と中継サーバ4とを含む。第2のネットワークセグメントは、バックアップサーバ5を含む。第2のネットワークセグメントは、複数のバックアップサーバ5を含んでいてもよい。データ記憶サーバ3は、第1のデータ記憶装置の一例である。中継サーバ4は、情報処理装置の一例である。バックアップサーバ5は、第2のデータ記憶装置の一例である。
【0016】
データ記憶サーバ3は、ユーザが使用するデータを記憶する。複数のデータ記憶サーバ3は、それぞれ物理的に別の装置であるとする。データ記憶サーバ3は、データのバックアップを行う場合、中継サーバ4にバックアップ対象のデータ群を送信する。本実施形態において、バックアップ対象のデータ群は、DataBase(DB)であるとする。バックアップ対象のデータ群は、複数のファイル等であってもよい。
【0017】
中継サーバ4は、送信されたバックアップ対象のDBをグループごとに圧縮し、圧縮したDBのグループをバックアップサーバ5に送信する。以下、グループごとに圧縮されたDBを圧縮データと称することがある。
【0018】
また、中継サーバ4は、データ記憶サーバ3からリストア要求を受信した場合、バックアップサーバ5から、リストア対象のDBを含む圧縮データを取得する。中継サーバ4は、取得した圧縮データを解凍して、リストア要求の送信元のデータ記憶サーバ3に送信する。
【0019】
バックアップサーバ5は、中継サーバ4から受信した圧縮データを記憶する。また、バックアップサーバ5は、例えば、安全性の向上のため、RAID(Redundant Arrays of Inexpensive Disks)が用いられていてもよい。
【0020】
図1に示すネットワーク構成において、第1のネットワークセグメント1内の通信帯域より、第1のネットワークセグメント1と第2のネットワークセグメント2との間の通信帯域の方が狭いとする。この場合、バックアップおよびリストアの際の通信遅延を抑制するためには、中継サーバ4とバックアップサーバ5との間の通信量を減らすことが好ましい。
【0021】
<解凍対象でないDBが解凍および送信される例>
図2は、解凍対象でないDBが解凍および送信される例を示す図である。
図2において、
図1と同様の構成については、説明を省略する。データ記憶サーバ3aおよびデータ記憶サーバ3bは、
図1におけるデータ記憶サーバ3に対応する。データ記憶サーバ3aは、DB#1およびDB#2を記憶する。データ記憶サーバ3bは、DB#3およびDB#4を記憶する。
【0022】
バックアップ処理において、データ記憶サーバ3aおよびデータ記憶サーバ3b内の各DBのバックアップ処理が行われた結果、中継サーバ4によりグループごとに圧縮されたDBがバックアップサーバ5に記憶されていることを想定する。
【0023】
本例では、DB#1、DB#3、DB#2、DB#4の順に中継サーバ4にDBが送信され、中継サーバ4が受信順にグループ化を行った結果、GROUP1にDB#1およびDB#3が含まれ、GROUP2にDB#2およびDB#4が含まれているとする。
【0024】
バックアップ処理の後、データ記憶サーバ3aに障害が発生し、中継サーバ4がデータ記憶サーバ3aからDB#1およびDB#2を指定するリストア要求を受信したとする。中継サーバ4は、DB#1およびDB#2をリストアするため、バックアップサーバ5からGROUP1とGROUP2に対応する圧縮データを取得する。
【0025】
本例において、DB#3およびDB#4は、リストア対象のDBではないが、それぞれリストア対象のDB#1またはDB#2と同じグループに属し、まとめて圧縮されているため、バックアップサーバ5からの送信、解凍が行われる。すなわち、リストア対象(解凍対象)ではないDBの転送および解凍が行われる。
【0026】
<中継サーバの一例>
図3は、中継サーバ4の一例を示す図である。中継サーバ4は、通信部11と管理部12と分類部13と選択部14と圧縮部15と特定部16と解凍部17と記憶部18と制御部19と削除処理部20を含む。
【0027】
通信部11は、複数のデータ記憶サーバ3から複数のバックアップ対象のDBを受信し、後述する処理によりグループごとに圧縮されたDBをバックアップサーバ5に送信する。通信部11は、受信部および送信部の一例である。
【0028】
通信部11は、障害が発生したデータ記憶サーバ3からリストア要求を受信する。そして、通信部11は、バックアップサーバ5からリストア対象のDBを含む圧縮データを受信し、後述する処理により解凍されたリストア対象のDBを、リストア要求の送信元であるデータ記憶サーバ3に送信する。
【0029】
管理部12は、バックアップに関する管理情報であるバックアップ管理情報、およびリストア処理に関する管理情報であるリストア管理情報に対する更新処理を行う。バックアップ管理情報およびリストア管理情報についての詳細は後述する。
【0030】
分類部13は、データ記憶サーバ3から受信したバックアップ対象の複数のDBそれぞれを、該複数のDBそれぞれの送信元のデータ記憶サーバ3ごとのグループのいずれかに分類する。
【0031】
選択部14は、バックアップ管理情報を参照して、グループごとのDB数およびデータ量を算出し、各DBについてデータ記憶サーバ3からの受信時刻を取得する。そして、選択部14は、例えば、グループごとのDB数、グループごとのデータ量、またはDBごとの受信時刻に基づいて、圧縮対象グループを選択する。
【0032】
選択部14は、例えば、分類されたグループのうち、DB数が第1閾値以上であるグループが存在する場合、分類されたグループのうちDB数が最も多いグループを圧縮対象グループとして選択してもよい。
【0033】
選択部14は、例えば、分類されたグループのうち、DBの合計データ量が第2閾値以上であるグループが存在する場合、分類されたグループのうちDBの合計データ量が最も大きいグループを圧縮対象グループとして選択してもよい。
【0034】
選択部14は、例えば、データ記憶サーバ3からの受信時刻が最も古いバックアップ対象DBを含むグループを圧縮対象グループとして選択してもよい。
【0035】
圧縮部15は、それぞれのグループに分類された一又は複数のDBを、それぞれのグループごとに圧縮する。圧縮部15は、例えば、選択部14により選択されたグループ内の一又は複数のDBを圧縮して、1グループに対して1つの圧縮データを生成する。
【0036】
特定部16は、通信部11がデータ記憶サーバ3からリストア要求を受信した場合、バックアップ管理情報を参照してリストア対象DBを含むグループを特定する。
【0037】
解凍部17は、特定部16が特定したグループをバックアップサーバ5から取得し、取得したグループを解凍する。解凍部17は、圧縮データを解凍して得られたDBを記憶部18のリストアデータ領域18bに記憶する。
【0038】
記憶部18は、バックアップデータ領域18aとリストアデータ領域18bと管理領域18cとを含む。バックアップデータ領域18aは、データ記憶サーバ3から受信したバックアップ対象DB、およびグループ化されたバックアップ対象DBの圧縮後のDBを記憶する。リストアデータ領域18bは、バックアップサーバ5から受信した、リストア対象DBを含む圧縮データ、および受信した圧縮データの解凍後のDBを記憶する。管理領域は、バックアップ管理情報およびリストア管理情報等の各種管理情報を記憶する。
【0039】
制御部19は、中継サーバ4の各種制御を行う。
削除処理部20は、データ記憶サーバ3に送信したリストア対象のDBが、送信してから所定時間経過している場合、そのリストア対象のDBを削除する。
【0040】
中継サーバ4は、複数台のサーバが仮想的に1台のサーバとして動作するものであってもよい。その場合、記憶部18のデータ容量は可変であってもよい。例えば、バックアップ処理が多い時間帯に記憶部18のデータ容量が増加し、バックアップ処理が少ない時間帯に記憶部18のデータ容量が減少してもよい。例えば、管理者が、中継サーバ4として割り当てるサーバの数を増減させることにより、記憶部18の容量を増減させてもよい。
【0041】
<管理情報の一例>
以下、記憶部18の管理領域18cに記憶される各種管理情報について説明する。各種管理情報は、管理部12により更新が行われる。
図4は、バックアップ管理情報の一例を示す図である。
【0042】
バックアップ管理情報は、バックアップIDとDBIDとデータ(DB)サイズとDBの受信時刻とグループIDとを含む。
【0043】
バックアップIDは、バックアップ処理ごとにバックアップ対象DBに付与され、バックアップを識別する情報である。例えば、データ記憶サーバ3が送信したDBを中継サーバ4が受信した際に、管理部12がDBごとにバックアップIDを設定する。すなわち、中継サーバ4が同一のDBを複数回受信した場合、それぞれ異なるバックアップIDが付与される。
【0044】
DBIDは、DBごとに予め設定されている識別情報であり、データ記憶サーバ3から送信されるDBに予め付与されている。データサイズは、DBのデータ量を示す。受信時刻は、中継サーバ4がデータ記憶サーバ3からバックアップ対象のDBを受信した時刻である。
【0045】
グループIDは、分類部13がDBをいずれかのグループに分類した際にグループごとに設定されるIDである。なお、分類部13がグループ分類を行うまで、グループIDは、空白となる。例えば、
図4において、バックアップIDが6であるDBは、バックアップデータ領域18aにすでに記憶されているが、またグループ分類が行われていないことを示している。
【0046】
図5は、DBとデータ記憶サーバ3との対応関係を示す管理情報の一例を示す図である。
図5に示す管理情報では、DBIDと、DBを記憶するデータ記憶サーバ3を識別するサーバIDとが対応づけられている。
【0047】
例えば、データ記憶サーバ3から送信されるDBにサーバIDが付与されている場合、記憶部18は、
図5に示すようなDBに対応するデータ記憶サーバ3を示す管理情報を記憶していなくてもよい。その場合、管理部12は、バックアップ対象DBを受信した際に、受信したDBに付与されたサーバIDをDBIDとともにバックアップ管理情報(例えば、
図4)に記録してもよい。
【0048】
図6は、リストア管理情報の一例を示す図である。リストア管理情報は、リストアデータ領域18bに記憶されているデータを管理する情報である。
図6に示すように、リストア管理情報は、リストアデータ領域18bに記憶されている圧縮データまたは解凍後のデータのグループIDと、最終使用日時とが対応付けられている。管理部12は、リストア対象のDBをデータ記憶サーバ3に送信した際に、送信日時を最終使用日時として記録する。なお、リストア管理情報は、リストアデータ領域18bに記憶されているDBIDと最終使用日時とが対応付けられていてもよい。
【0049】
<実施形態の処理の流れの一例>
実施形態における中継サーバ4の処理の流れを説明する。
図7は、中継サーバ4の受信処理の流れの一例を示すフローチャートである。
【0050】
管理部12は、データ記憶サーバ3からバックアップ対象DBを受信した場合(ステップS101でYES)、バックアップ管理情報を更新する(ステップS102)。管理部12が、データ記憶サーバ3からバックアップ対象DBを受信しない場合(ステップS101でNO)、処理は、次のステップに進まない。
【0051】
管理部12は、例えば、バックアップIDを設定し、設定したバックアップIDと、DBに付与されているDBIDと、DBのデータサイズと、受信時刻とを対応づけて管理情報に記録する。管理部12は、通信部11を介して、データ記憶サーバ3にバックアップIDを通知してもよい。
【0052】
制御部19は、受信したバックアップ対象DBを記憶部18のバックアップデータ領域18aに記憶する(ステップS103)。
【0053】
制御部19は、バックアップ停止指示を受信した場合(ステップS104でYES)、処理を終了する。制御部19は、バックアップ停止指示を受信していない場合(ステップS104でNO)、ステップS101の処理に戻る。例えば、バックアップサーバ5に異常が発生した場合などに、図示しない管理者端末から中継サーバ4にバックアップ停止指示が送信される。
【0054】
図8および
図9は、中継サーバ4のバックアップ処理の流れの一例を示すフローチャートである。中継サーバ4は、例えば、
図8および
図9に示すバックアップ処理と、
図7に示す受信処理とを並列で実行する。中継サーバ4は、
図8および
図9に示すバックアップ処理と、
図7に示す受信処理とを並列ではなく順に実行してもよい。
【0055】
分類部13は、1以上の分類前のバックアップ対象DBが記憶部18のバックアップデータ領域18aに存在するか判定する(ステップS201)。ステップS201でNOの場合、処理は、次のステップに進まない。
【0056】
ステップS201でYESの場合、分類部13は、データ記憶サーバ3から受信したバックアップ対象の複数のDBそれぞれを、該複数のDBそれぞれの送信元のデータ記憶サーバ3ごとのグループのいずれかに分類する(ステップS202)。分類部13は、例えば、
図5に示す管理情報を参照して、バックアップ対象のDBの送信元のデータ記憶サーバ3を特定し、該DBをデータ記憶サーバ3ごとのグループのいずれかに分類する。
【0057】
選択部14は、バックアップ管理情報の各情報に基づいて、グループごとのDB数および合計データ量を算出し、各DBのデータ記憶サーバ3からの受信時刻を取得する(ステップS203)。
【0058】
選択部14は、例えば、含まれるDB数が第1閾値以上であるグループが存在するか判定する(ステップS204)。ステップS204でYESの場合、選択部14は、分類されたグループのうち含まれるDB数が最も多いグループを圧縮対象グループに選択する(ステップS205)。
【0059】
ユーザごとにDBが利用される可能性が高いため、DB数が多い場合、使用するユーザが多い可能性が高い。また、本実施形態のバックアップサーバ5は、RAID等を用いたことにより中継サーバ4より安全性が高い。従って、中継サーバ4は、DB数が多いグループを優先的に圧縮し、バックアップサーバ5に送信することにより、中継サーバ4の異常等によるユーザへの影響を抑制することができる。なお、中継サーバ4は、中継サーバ4がバックアップサーバ5と同様の安全性を有している場合、ステップS204とステップS205の処理を省略してもよい。
【0060】
ステップS204でNOの場合、選択部14は、例えば、合計データ量が第2閾値以上であるグループが存在するか判定する(ステップS206)。ステップS206でYESの場合、選択部14は、分類されたグループのうち含まれるDBの合計データ量が最も大きいグループを圧縮対象グループに選択する(ステップS207)。
【0061】
バックアップデータ領域18a内のデータ量が増加すると、新たにデータ記憶サーバ3から送信されるバックアップ対象のDBを記憶するための領域が不足するおそれがある。そのため、中継サーバ4は、含まれるDBの合計データ量が大きいグループを優先的に圧縮し、バックアップサーバ5に送信することにより、記憶部18が空き容量不足となることを抑制することができる。
【0062】
なお、ステップS203の後にステップS206に移行し、ステップS206でNOとなった場合にステップS204に移行してもよい。すなわち、選択部14は、DB数が第1閾値以上であるグループより、合計データ量が第2閾値以上であるグループを優先的に圧縮対象グループに選択してもよい。中継サーバ4は、例えば、記憶部18の記憶容量が所定値より少ない場合、選択部14が、合計データ量が第2閾値以上であるグループを優先的に圧縮対象グループに選択することにより、記憶部18が空き容量不足となることを抑制することができる。
【0063】
ステップS206でNOの場合、選択部14は、バックアップ管理情報を参照して、受信時刻が最も古いDBを含むグループを圧縮対象グループに選択する(ステップS208)。すなわち、ステップS205およびS206でNOとなった場合でも、ステップS208においていずれかのグループが圧縮対象グループに選択され、後述する処理で圧縮データが送信される。従って、中継サーバ4は、中継サーバ4とバックアップサーバ5との間の通信帯域を有効利用することができる。第1のネットワークセグメント1と第2のネットワークセグメント2との間の通信帯域の方が狭いため、中継サーバ4とバックアップサーバ5との間の通信帯域を有効利用することにより、バックアップの遅延を抑制することができる。
【0064】
次に、
図8の「A」以降の処理について、
図9を参照して説明する。管理部12は、圧縮対象に選択されたグループにグループIDを設定し、バックアップ管理情報に記録する(ステップS209)。
【0065】
圧縮部15は、例えば、選択部14により選択されたグループ内の一又は複数のDBをそれぞれのグループごとに圧縮する(ステップS210)。圧縮部15は、選択部14により選択されたグループ内の一又は複数のDBを圧縮することにより、1グループに対して1つの圧縮データを生成する。
【0066】
通信部11は、圧縮データをバックアップサーバ5に送信する(ステップS211)。そして、制御部19は、送信された圧縮データをバックアップデータ領域18aから削除する(ステップS212)。
【0067】
中継サーバ4は、バックアップ停止指示を受信した場合(ステップS213でYES)、処理を終了する。例えば、バックアップサーバ5に異常が発生した場合などに、管理者端末から中継サーバ4にバックアップ停止指示が送信される。
【0068】
中継サーバ4は、バックアップ停止指示を受信していない場合(ステップS213でNO)、処理は、「B」から、
図8のステップS201に戻る。
【0069】
以上のステップS201〜S211の処理により、いずれかのグループに複数のDBが分類され、分類された複数のDBのうち、いずれかのDBがバックアップサーバ5に送信される。そして、送信開始後に、ステップS213でNOとなった場合、再度ステップS201〜S211の処理が行われる。その結果、圧縮部15は、分類された複数のデータ群のうち、すでに送信されたDBを除いた一又は複数のDBを圧縮する。そして、通信部11は、圧縮した一又は複数のDBを送信する。
【0070】
すなわち、中継サーバ4は、1つのグループの送信処理が終了した後に次のグループの送信処理を実行することにより、バックアップサーバ5へのデータ送信処理をシリアライズする。従って、中継サーバ4は、通信処理の負荷およびバックアップサーバ5の処理負荷を平滑化することができる。
【0071】
データ記憶サーバ3が、多数のユーザに利用され、バックアップ時刻がユーザにより設定される場合、データ記憶サーバ3から中継サーバ4へのデータ送信時間を重複しないようにすることは困難である。ただし、上述のように第1のネットワークセグメント1内の通信帯域は、第1のネットワークセグメント1と第2のネットワークセグメント2との間の通信帯域より広い。従って、複数のデータ記憶サーバ3から中継サーバ4へのデータ送信時間が重複したとしても、中継サーバ4がバックアップサーバ5へのデータ送信時間を重複しないようにすることで、バックアップ処理の遅延を抑制することができる。
【0072】
また、データ記憶サーバ3ではなく中継サーバ4がバックアップ対象のDBの圧縮を行うことにより、データ記憶サーバ3のCentral Processing Unit(CPU)の負荷上昇を防ぎ、データ記憶サーバ3を利用するユーザの利便性を向上することができる。
【0073】
図10は、中継サーバ4のリストア処理の流れの一例を示すフローチャートである。制御部19は、データ記憶サーバ3からリストア要求を受信したか判定する(ステップS301)。リストア要求は、例えば、リストア対象DBのDBID、またはバックアップIDを含む。また、リストア要求は、複数のリストア対象DBのDBIDまたはバックアップIDを含んでいてもよい。中継サーバ4がリストア要求を受信しない場合(ステップS301でNO)、次の処理に進まない。
【0074】
ステップS301でYESの場合、制御部19は、リストア対象データがリストアデータ領域18bに記憶されているか判定する(ステップS302)。ステップS302でYESの場合、処理は、ステップS308に移行する。
【0075】
なお、バックアップデータ領域18aに圧縮前のリストア対象データが記憶されている場合、制御部19は、処理を、ステップS302からステップS308に移行してもよい。また、バックアップデータ領域18aに圧縮後のリストア対象データが記憶されている場合、制御部19は、処理を、ステップS302からステップS307に移行してもよい。
【0076】
ステップS302でNOの場合、制御部19は、記憶部18のリストアデータ領域18bに十分な空きがあるか判定する(ステップS303)。例えば、制御部19は、バックアップ管理情報(例えば、
図4)を参照して、リストア要求に含まれるDBIDに対応するリストア対象DBのデータサイズを取得する。そして、制御部19は、リストア対象DBのデータサイズより、リストアデータ領域18bの空き容量が大きい場合、ステップS303でリストアデータ領域18bに空きがあると判定する。
【0077】
ステップS303でNOの場合、制御部19は、リストア管理情報(例えば、
図6)を参照して、最終使用日時が最も古いグループ内のDBを削除する(ステップS304)。また、管理部12は、削除されたグループに関する情報をリストア管理情報から削除する。
【0078】
なお、ステップS304において、制御部19は、最終使用日時が最も古いDBを削除してもよい。すなわち、制御部19は、グループごとではなくDBごとに削除を行ってもよい。
【0079】
例えば、データ記憶サーバ3に異常が発生した場合、該データ記憶サーバ3に記憶されていたDBに対するリストア要求が短い期間内に複数回送信される可能性が高い。しかし、最終使用日時が古いDBは、再度リストア対象となる可能性が低いため、制御部19は、ステップS304において、最終使用日時が古いグループ内のDBを優先的に削除する。
【0080】
また、制御部19は、バックアップサーバ5から取得した日時が最も古いグループ内のDBを優先的に削除してもよい。すなわち、制御部19は、ステップS304の処理では、圧縮データの削除方法として、Least Recently Used(LRU)を適用しているが、First In, First Out(FIFO)を適用してもよい。
【0081】
ステップS303でYESの場合、特定部16は、バックアップ管理情報を参照してリストア対象DBを含むグループを特定する(ステップS305)。特定部16は、バックアップ管理情報を参照して、リストア要求に含まれるDBIDに対応づけられているグループ(グループID)を特定する。
【0082】
解凍部17は、特定部16が特定したグループに対応する圧縮データをバックアップサーバ5から取得する(ステップS306)。解凍部17は、例えば、特定部16が特定したグループIDを含む圧縮データ取得要求を、通信部11を介してバックアップサーバ5に送信する。そして、通信部11は、バックアップサーバ5から、特定部16が特定したグループに対応する圧縮データを受信する。
【0083】
解凍部17は、取得した圧縮データを解凍する(ステップS307)。そして、解凍部17は、圧縮データを解凍して得られたリストア対象のDBを記憶部18のリストアデータ領域18bに記憶する。
【0084】
管理部12は、リストア管理情報を更新する(ステップS308)。管理部12は、例えば、リストア管理情報に対して、解凍された圧縮データに対応するグループのグループIDと、最終使用日時を記録する。
【0085】
通信部11は、解凍されたリストア対象のDBを、リストア要求の送信元であるデータ記憶サーバ3に送信する(ステップS309)。
【0086】
なお、上記の処理では、中継サーバ4は、データ記憶サーバ3からリストア要求を受信し、リストア要求の送信元であるデータ記憶サーバ3にリストア対象DBを送信するが、そのような例には限られない。例えば、データ記憶サーバ3に障害が発生している場合、中継サーバ4は、データ記憶サーバ3を管理する管理端末等からリストア要求を受信する可能性がある。その場合、中継サーバ4は、リストア要求で指定された、データ記憶サーバ3の代替サーバにリストア対象DBを送信してもよい。
【0087】
また、データ記憶サーバ3ではなく中継サーバ4がリストア対象のDBの解凍を行うことにより、データ記憶サーバ3のCPUの負荷上昇を防ぎ、データ記憶サーバ3を利用するユーザの利便性を向上することができる。
【0088】
以上のように、中継サーバ4は、バックアップ処理において、データ記憶サーバ3ごとのグループにバックアップ対象DBを分類して圧縮し、圧縮データをバックアップサーバ5に送信する。また、データ記憶サーバ3に障害が発生する場合、データ記憶サーバ3ごとに障害が発生する可能性が高いため、データ記憶サーバ3ごとにリストア要求が送られる可能性が高い。従って、中継サーバ4は、リストア処理の際、圧縮されたDBを解凍する際に、解凍対象でない圧縮データを解凍することを抑制し、解凍処理量を低減することができる。また、中継サーバ4は、リストア処理におけるバックアップサーバ5から中継サーバ4へのデータ通信量を低減することができる。
【0089】
図11は、リストア領域内のDBの削除処理の流れの一例を示すフローチャートである。
図11に示す処理は、リストア領域内のリストア対象のDBごとまたはグループごとに実行される。
【0090】
削除処理部20は、データ記憶サーバ3に送信したリストア対象のDBが、送信してから所定時間経過しているか判定する(ステップS401)。所定時間経過していない場合(ステップS401でNO)、処理は次のステップに進まない。
【0091】
ステップS401でYESの場合、削除処理部20は、リストア対象のDBを削除する(ステップS402)。
【0092】
なお、
図11の処理をグループごとに行う場合、削除処理部20は、ステップS401において、グループごとに送信から所定時間が経過しているか判定し、ステップS402において、該当のグループ内の全てのDBを削除してもよい。
【0093】
例えば、データ記憶サーバ3に障害が発生した場合、そのデータ記憶サーバ3内の同じDBを対象とした複数のリストア要求が短期間に送信される場合がある。その場合、中継サーバ4は、リストア対象のDBを送信後すぐに削除せず、所定時間保持していれば、再度、バックアップサーバ5から圧縮データを受信して解凍する処理を実行しなくてもよいため、リストア処理を効率化することができる。
【0094】
<実施形態の中継サーバ4の適用例>
図12は、実施形態の中継サーバ4の適用例を示す図である。
図12において、
図1と同様の構成については、説明を省略する。データ記憶サーバ3aおよびデータ記憶サーバ3bは、
図1におけるデータ記憶サーバ3に対応する。データ記憶サーバ3aは、DB#1およびDB#2を記憶する。データ記憶サーバ3bは、DB#3およびDB#4を記憶する。
【0095】
中継サーバ4は、バックアップ処理において、DB#1、DB#2、DB#3およびDB#4を受信し、データ記憶サーバ3ごとのグループにDBを分類し、グループごとに圧縮してバックアップサーバ5に送信する。本例では、中継サーバ4がバックアップ処理を行った結果、GROUP1にDB#1およびDB#2が含まれ、GROUP2にDB#3およびDB#4が含まれているとする。
【0096】
バックアップ処理の後、データ記憶サーバ3aに障害が発生し、中継サーバ4がデータ記憶サーバ3aからDB#1およびDB#2を指定するリストア要求を受信したとする。中継サーバ4は、DB#1およびDB#2をリストアするため、バックアップサーバ5からGROUP1に対応する圧縮データを取得する。
【0097】
本例において、DB#3およびDB#4は、リストア対象のDBではないため、中継サーバ4は、DB#3およびDB#4を含むGROUP2の取得および解凍を行わない。すなわち、本例の中継サーバ4は、リストア対象(解凍対象)ではないDBの転送および解凍を行わないため、解凍処理量と通信量を低減することができる。
【0098】
<中継サーバのハードウェア構成の一例>
次に、
図13の例を参照して、中継サーバ4のハードウェア構成の一例を説明する。
図13の例に示すように、バス100に対して、プロセッサ111とRandom Access Memory(RAM)112とRead Only Memory(ROM)113とが接続される。また、該バス100に対して、補助記憶装置114と媒体接続部115と通信インタフェース116とが接続される。
【0099】
プロセッサ111はRAM112に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態における処理を行う制御プログラムが適用されてもよい。
【0100】
ROM113はRAM112に展開されるプログラムを記憶する不揮発性の記憶装置である。補助記憶装置114は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等を補助記憶装置114に適用してもよい。補助記憶装置114に実施形態の処理を行う制御プログラムが記録されていてもよい。媒体接続部115は、可搬型記録媒体118と接続可能に設けられている。
【0101】
可搬型記録媒体118には、可搬型のメモリや光学式ディスク(例えば、Compact Disc(CD)やDigital Versatile Disc(DVD))、半導体メモリ等が適用されてもよい。可搬型記録媒体118に実施形態の処理を行う制御プログラムが記録されていてもよい。
【0102】
図3に示す記憶部18は、RAM112や補助記憶装置114等により実現されてもよい。
図3に示す通信部11は、通信インタフェース116により実現されてもよい。
図3に示す管理部12、分類部13、選択部14、圧縮部15、特定部16、解凍部17、および制御部19は、与えられた制御プログラムをプロセッサ111が実行することにより実現されてもよい。
【0103】
RAM112、ROM113、補助記憶装置114および可搬型記録媒体118は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
【0104】
<その他>
本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。