(57)【特許請求の範囲】
【請求項１】
期限切れバックアップ処理方法であって、前記方法は、少なくとも２つのオブジェクトを１つの大型オブジェクトとして格納するオブジェクトベース記憶システムのバックアップサーバにより実行され、前記少なくとも２つのオブジェクトの各々は、ディスクに記憶されたデータを分割することにより得られた該データの部分であり、前記方法は、
現在第１時点までに前記オブジェクトベース記憶システムにおいて実行された第１ディスクデータの全てのバックアップの中で最も前のバックアップを、前記第１ディスクデータの期限切れバックアップとして決定した後に毎回、前記第１ディスクデータの削除ログを生成し、前記期限切れバックアップの中の無効データのポインタを前記削除ログに格納するステップと、
削除条件が満たされるか否かを検出し、前記削除条件が満たされる場合、前記第１ディスクデータに対応する複数の削除ログを取得するステップと、
前記複数の削除ログに基づき、前記オブジェクトベース記憶システムに格納され且つ有効データ及び前記無効データを含む第１目標大型オブジェクトを決定するステップと、
前記有効データの前記第1目標大型オブジェクトから別の大型オブジェクトへの移動後の前記有効データのポインタを生成するステップであって、移動後の前記有効データの前記ポインタは、前記別の大型オブジェクト内の前記有効データの位置を示す、ステップと、
前記第1目標大型オブジェクトから前記別の大型オブジェクトへの前記有効データの移動ログを生成し、前記移動ログに、移動前の前記有効データのポインタと移動後の前記有効データの前記ポインタとの間の対応を格納するステップと、
データ移動指示及びオブジェクト削除指示を前記オブジェクトベース記憶システムへ送信するステップであって、前記データ移動指示は、前記第１目標大型オブジェクトの中の前記有効データを別の大型オブジェクトへ移動するよう、前記オブジェクトベース記憶システムに指示するために使用され、前記オブジェクト削除指示は、前記第１目標大型オブジェクトを削除するよう前記オブジェクトベース記憶システムに指示するために使用される、ステップと、
を含む方法。
【請求項２】
削除条件が満たされるか否かを検出する前記ステップは、
前記第１ディスクデータに対応する前記複数の削除ログの数がプリセット削除閾に達したか否かを検出し、前記プリセット削除閾に達した場合、前記削除条件が満たされたと決定するステップ、又は、
プリセット削除時間に達したか否かを検出し、前記プリセット削除時間に達した場合、前記削除条件が満たされたと決定するステップ、又は、
前記削除条件が満たされた最終時間の後に計時を開始し、前記計時が終了したか否かを検出し、前記計時が終了した場合、前記削除条件が満たされたと決定するステップ、
を含む、請求項１に記載の方法。
【請求項３】
クライアントにより送信されたデータ復旧要求を受信するステップであって、前記データ復旧要求は、第１ディスク識別子、第２ディスク識別子、及び被復旧バックアップのバックアップ識別子を含み、前記データ復旧要求は、前記被復旧バックアップの前記バックアップ識別子に対応する前記被復旧バックアップに基づき、前記第１ディスクデータを第２ディスクに復旧するよう指示するために使用され、前記被復旧バックアップは、前記第１ディスクデータの全てのバックアップの中のいずれかのバックアップである、ステップと、
前記被復旧バックアップのバックアップメタデータを取得し、前記第１ディスクデータの各移動ログを取得するステップと、
前記第１ディスクデータの各移動ログに基づき、非移動有効データの、前記移動ログに記録された前記ポインタと同じポインタが、前記被復旧バックアップの前記バックアップメタデータの中に存在するか否かを決定し、前記ポインタが存在する場合、前記被復旧バックアップの前記バックアップメタデータの中の前記同じポインタを、移動前の前記有効データの前記ポインタに対応する移動後の前記有効データの前記ポインタに変更して、変更バックアップメタデータを取得するステップであって、前記変更バックアップメタデータは、非変更ポインタ及び変更ポインタを含み、前記変更ポインタは移動後の前記有効データの、前記移動ログに記録された前記ポインタである、ステップと、
前記変更バックアップメタデータに基づき、前記被復旧バックアップに対応する前記第１ディスクデータを取得するステップと、
前記第１ディスクデータを前記第２ディスクに格納するステップと、
を更に含む請求項１又は２に記載の方法。
【請求項４】
前記移動ログに、移動前の前記有効データのポインタと移動後の前記有効データの前記ポインタとの間の対応を格納する前記ステップの後に、前記方法は、
前記移動ログのオブジェクト識別子を生成するステップと、
前記第１ディスク識別子と前記移動ログの前記オブジェクト識別子との間の対応を格納し、移動ログ記憶要求を前記オブジェクトベース記憶システムへ送信するステップであって、前記移動ログ記憶要求は、前記移動ログの前記オブジェクト識別子及び前記移動ログを含み、前記移動ログ記憶要求は、前記移動ログを前記移動ログの前記オブジェクト識別子に対応するオブジェクトに格納するよう、前記オブジェクトベース記憶システムに指示するために使用される、ステップと、
を更に含み、
前記第１ディスクデータの各移動ログを取得する前記ステップは、
前記第１ディスク識別子に基づき前記移動ログの前記オブジェクト識別子を取得し、移動ログ取得要求を前記オブジェクトベース記憶システムへ送信するステップであって、前記移動ログ取得要求は前記移動ログの前記オブジェクト識別子を含み、前記移動ログ取得要求は、前記移動ログの前記オブジェクト識別子に対応する前記オブジェクトから前記移動ログを取得するよう、前記オブジェクトベース記憶システムに指示するために使用される、ステップと、
前記オブジェクトベース記憶システムにより送信された前記移動ログを受信するステップと、
を含む、請求項３に記載の方法。
【請求項５】
前記複数の削除ログに基づき、前記オブジェクトベース記憶システムに格納され且つ有効データ及び前記無効データを含む第１目標大型オブジェクトを決定する前記ステップは、
前記複数の削除ログに基づき、前記オブジェクトベース記憶システムに格納され且つ無効データを含む第１目標大型オブジェクトを決定するステップと、
無効データサイズ及び前記第１目標大型オブジェクトに含まれる前記無効データのピース数に基づき、前記第１目標大型オブジェクトの中の全ての無効データのデータ容量を決定するステップと、
前記オブジェクトベース記憶システムへデータ容量決定要求を送信するステップであって、前記データ容量決定要求は、前記第１目標大型オブジェクトの識別子を含み、前記データ容量決定要求は、前記第１目標大型オブジェクトのデータ容量を送信するよう前記オブジェクトベース記憶システムに指示するために使用される、ステップと、
データ容量属性情報を受信するステップであって、前記データ容量属性情報は、前記第１目標大型オブジェクトの前記データ容量を含む、ステップと、
前記第１目標大型オブジェクトの中の全ての前記無効データの前記データ容量が、前記データ容量属性情報の中の前記第１目標大型オブジェクトの前記データ容量より少ない場合、前記オブジェクトベース記憶システムに格納された前記第１目標大型オブジェクトを前記無効データ及び前記有効データを含む前記第１目標大型オブジェクトとして決定するステップと、
を含む、請求項１乃至４のいずれか一項に記載の方法。
【請求項６】
期限切れバックアップ処理方法であって、前記方法は、少なくとも２つのオブジェクトを１つの大型オブジェクトとして格納するオブジェクトベース記憶システムのバックアップサーバにより実行され、前記少なくとも２つのオブジェクトの各々は、ディスクに記憶されたデータを分割することにより得られた該データの部分であり、前記方法は、
現在第１時点までに前記オブジェクトベース記憶システムにおいて実行された第１ディスクデータの全てのバックアップの中で最も前のバックアップを、前記第１ディスクデータの期限切れバックアップとして決定した後に毎回、前記第１ディスクデータの削除ログを生成し、前記期限切れバックアップの中の無効データのポインタを前記削除ログに格納するステップと、
削除条件が満たされるか否かを検出し、前記削除条件が満たされる場合、前記第１ディスクデータに対応する複数の削除ログを取得するステップと、
前記複数の削除ログに基づき、前記オブジェクトベース記憶システムに格納され且つ前記無効データのみを含む大型オブジェクトを決定するステップと、
オブジェクト削除指示を前記オブジェクトベース記憶システムへ送信するステップであって、前記オブジェクト削除指示は、前記無効データのみを含む前記大型オブジェクトを削除するよう前記オブジェクトベース記憶システムに指示するために使用される、ステップと、
を含み、
前記複数の削除ログに基づき、前記オブジェクトベース記憶システムに格納され且つ前記無効データのみを含む大型オブジェクトを決定する前記ステップは、
前記複数の削除ログに基づき、無効データを含む大型オブジェクトを決定するステップと、
無効データサイズ及び前記無効データを含む前記大型オブジェクトに含まれる前記無効データのピース数に基づき、前記無効データを含む前記大型オブジェクトの中の全ての無効データのデータ容量を決定するステップと、
前記オブジェクトベース記憶システムへデータ容量決定要求を送信するステップであって、前記データ容量決定要求は、前記無効データを含む前記大型オブジェクトの識別子を含み、前記データ容量決定要求は、前記無効データを含む前記大型オブジェクトのデータ容量を送信するよう前記オブジェクトベース記憶システムに指示するために使用される、ステップと、
データ容量属性情報を受信するステップであって、前記データ容量属性情報は、前記無効データを含む前記大型オブジェクトの前記データ容量を含む、ステップと、
前記無効データを含む前記大型オブジェクトの中の全ての前記無効データの前記データ容量が、前記無効データを含む前記大型オブジェクトの、前記データ容量属性情報の中の前記データ容量と同じ場合、前記オブジェクトベース記憶システムに格納され且つ前記無効データを含む前記大型オブジェクトを前記無効データのみを含む前記大型オブジェクトとして決定するステップと、
を含む、方法。
【請求項７】
削除条件が満たされるか否かを検出する前記ステップは、
前記第１ディスクデータに対応する前記複数の削除ログの数がプリセット削除閾に達したか否かを検出し、前記プリセット削除閾に達した場合、前記削除条件が満たされたと決定するステップ、又は、
プリセット削除時間に達したか否かを検出し、前記プリセット削除時間に達した場合、前記削除条件が満たされたと決定するステップ、又は、
前記削除条件が満たされた最終時間の後に計時を開始し、前記計時が終了したか否かを検出し、前記計時が終了した場合、前記削除条件が満たされたと決定するステップ、
を含む、請求項６に記載の方法。
【請求項８】
少なくとも２つのオブジェクトを１つの大型オブジェクトとして格納するオブジェクトベース記憶システムのバックアップサーバであって、前記少なくとも２つのオブジェクトの各々は、ディスクに記憶されたデータを分割することにより得られた該データの部分であり、前記バックアップサーバは、
前記バックアップサーバが、現在第１時点までに前記オブジェクトベース記憶システムにおいて実行された第１ディスクデータの全てのバックアップの中で最も前のバックアップを、前記第１ディスクデータの期限切れバックアップとして決定した後に毎回、前記第１ディスクデータの削除ログを生成し、前記期限切れバックアップの中の無効データのポインタを前記削除ログに格納するよう構成される生成モジュールと、
削除条件が満たされるか否かを検出し、前記削除条件が満たされる場合、前記第１ディスクデータに対応する複数の削除ログを取得するよう構成される検出モジュールと、
前記複数の削除ログに基づき、前記オブジェクトベース記憶システムに格納され且つ有効データ及び前記無効データを含む第１目標大型オブジェクトを決定するよう構成される決定モジュールと、
データ移動指示及びオブジェクト削除指示を前記オブジェクトベース記憶システムへ送信するよう構成される第１通信機モジュールであって、前記データ移動指示は、前記第１目標大型オブジェクトの中の前記有効データを別の大型オブジェクトへ移動するよう、前記オブジェクトベース記憶システムに指示するために使用され、前記オブジェクト削除指示は、前記第１目標大型オブジェクトを削除するよう前記オブジェクトベース記憶システムに指示するために使用される、第１通信機モジュールと、
を含み、
前記生成モジュールは、前記有効データの前記第1目標大型オブジェクトから別の大型オブジェクトへの移動後の前記有効データのポインタを生成し、前記第1目標大型オブジェクトから前記別の大型オブジェクトへの前記有効データの移動ログを生成し、前記移動ログに、移動前の前記有効データのポインタと移動後の前記有効データの前記ポインタとの間の対応を格納するよう更に構成され、移動後の前記有効データの前記ポインタは、前記別の大型オブジェクトの中の前記有効データの位置を示す、バックアップサーバ。
【請求項９】
前記検出モジュールは、具体的に、
前記第１ディスクデータに対応する前記複数の削除ログの数がプリセット削除閾に達したか否かを検出し、前記プリセット削除閾に達した場合、前記削除条件が満たされたと決定する、又は、
プリセット削除時間に達したか否かを検出し、前記プリセット削除時間に達した場合、前記削除条件が満たされたと決定する、又は、
前記削除条件が満たされた最終時間の後に計時を開始し、前記計時が終了したか否かを検出し、前記計時が終了した場合、前記削除条件が満たされたと決定する、
よう構成される、請求項８に記載のバックアップサーバ。
【請求項１０】
クライアントにより送信されたデータ復旧要求を受信するよう構成される第２通信機モジュールであって、前記データ復旧要求は、第１ディスク識別子、第２ディスク識別子、及び被復旧バックアップのバックアップ識別子を含み、前記データ復旧要求は、前記被復旧バックアップの前記バックアップ識別子に対応する前記被復旧バックアップに基づき、前記第１ディスクデータを第２ディスクに復旧するよう指示するために使用され、前記被復旧バックアップは、前記第１ディスクデータの全てのバックアップの中のいずれかのバックアップである、第２通信機モジュールと、
前記被復旧バックアップのバックアップメタデータを取得し、前記第１ディスクデータの各移動ログを取得するよう構成される処理モジュールと、
を更に含み、
前記処理モジュールは、前記第１ディスクデータの各移動ログに基づき、非移動有効データの、前記移動ログに記録された前記ポインタと同じポインタが、前記被復旧バックアップの前記バックアップメタデータの中に存在するか否かを決定し、前記ポインタが存在する場合、前記被復旧バックアップの前記バックアップメタデータの中の前記同じポインタを、移動前の前記有効データの前記ポインタに対応する移動後の前記有効データの前記ポインタに変更して、変更バックアップメタデータを取得するよう更に構成され、前記変更バックアップメタデータは、非変更ポインタ及び変更ポインタを含み、前記変更ポインタは移動後の前記有効データの、前記移動ログに記録された前記ポインタであり、
前記第１通信機モジュールは、前記変更バックアップメタデータに基づき、前記被復旧バックアップに対応する前記第１ディスクデータを取得するよう更に構成され、
前記処理モジュールは、前記第１ディスクデータを前記第２ディスクに格納するよう更に構成される、請求項８又は９に記載のバックアップサーバ。
【請求項１１】
前記生成モジュールは、前記移動ログのオブジェクト識別子を生成するよう更に構成され、
前記処理モジュールは、前記第１ディスク識別子と前記移動ログの前記オブジェクト識別子との間の対応を格納し、移動ログ記憶要求を前記オブジェクトベース記憶システムへ送信するよう更に構成され、前記移動ログ記憶要求は、前記移動ログの前記オブジェクト識別子及び前記移動ログを含み、前記移動ログ記憶要求は、前記移動ログを前記移動ログの前記オブジェクト識別子に対応するオブジェクトに格納するよう、前記オブジェクトベース記憶システムに指示するために使用され、
前記処理モジュールは、前記第１ディスク識別子に基づき前記移動ログの前記オブジェクト識別子を取得するよう更に構成され、
前記第１通信機モジュールは、移動ログ取得要求を送信するよう更に構成され、前記移動ログ取得要求は、前記移動ログの前記オブジェクト識別子を含み、前記移動ログ取得要求は、前記移動ログの前記オブジェクト識別子に対応する前記オブジェクトから前記移動ログを取得するよう、前記オブジェクトベース記憶システムに指示するために使用され、
前記第１通信機モジュールは、前記オブジェクトベース記憶システムにより送信された前記移動ログを受信するよう更に構成される、請求項１０に記載のバックアップサーバ。
【請求項１２】
前記決定モジュールは、前記複数の削除ログに基づき、前記オブジェクトベース記憶システムに格納され且つ無効データを含む第１目標大型オブジェクトを決定し、無効データサイズ及び前記第１目標大型オブジェクトに含まれる前記無効データのピース数に基づき、前記第１目標大型オブジェクトの中の全ての無効データのデータ容量を決定するよう更に構成され、
前記第１通信機モジュールは、前記オブジェクトベース記憶システムへデータ容量決定要求を送信するよう更に構成され、前記データ容量決定要求は、前記第１目標大型オブジェクトの識別子を含み、前記データ容量決定要求は、前記第１目標大型オブジェクトのデータ容量を送信するよう前記オブジェクトベース記憶システムに指示するために使用され、
前記第１通信機モジュールは、データ容量属性情報を受信するよう更に構成され、前記データ容量属性情報は、前記第１目標大型オブジェクトの前記データ容量を含み、
前記検出モジュールは、前記第１目標大型オブジェクトの中の全ての前記無効データの前記データ容量が、前記データ容量属性情報の中の前記第１目標大型オブジェクトの前記データ容量より少ないことを検出し、前記オブジェクトベース記憶システムに格納された前記第１目標大型オブジェクトを前記無効データ及び前記有効データを含む前記第１目標大型オブジェクトとして決定するよう更に構成される、請求項８乃至１１のいずれか一項に記載のバックアップサーバ。
【請求項１３】
少なくとも２つのオブジェクトを１つの大型オブジェクトとして格納するオブジェクトベース記憶システムのバックアップサーバであって、前記少なくとも２つのオブジェクトの各々は、ディスクに記憶されたデータを分割することにより得られた該データの部分であり、前記バックアップサーバは、
前記バックアップサーバが、現在第１時点までに前記オブジェクトベース記憶システムにおいて実行された第１ディスクデータの全てのバックアップの中で最も前のバックアップを、前記第１ディスクデータの期限切れバックアップを決定した後に毎回、前記第１ディスクデータの削除ログを生成し、前記期限切れバックアップの中の無効データのポインタを前記削除ログに格納するよう構成される生成モジュールでと、
削除条件が満たされるか否かを検出し、前記削除条件が満たされる場合、前記第１ディスクデータに対応する複数の削除ログを取得するよう構成される検出モジュールと、
前記複数の削除ログに基づき、前記オブジェクトベース記憶システムに格納され且つ前記無効データのみを含む大型オブジェクトを決定するよう構成される決定モジュールと、
オブジェクト削除指示を前記オブジェクトベース記憶システムへ送信するよう構成される通信機モジュールであって、前記オブジェクト削除指示は、前記無効データのみを含む前記大型オブジェクトを削除するよう前記オブジェクトベース記憶システムに指示するために使用される、通信機モジュールと、
を含み、
前記決定モジュールは、前記複数の削除ログに基づき、無効データを含む大型オブジェクトを決定し、無効データサイズ及び前記無効データを含む前記大型オブジェクトに含まれる前記無効データのピース数に基づき、前記無効データを含む前記大型オブジェクトの中の全ての無効データのデータ容量を決定するよう更に構成され、
前記通信機モジュールは、前記オブジェクトベース記憶システムへデータ容量決定要求を送信するよう更に構成され、前記データ容量決定要求は、前記無効データを含む前記大型オブジェクトの識別子を含み、前記データ容量決定要求は、前記無効データを含む前記大型オブジェクトのデータ容量を送信するよう前記オブジェクトベース記憶システムに指示するために使用され、
前記通信機モジュールは、データ容量属性情報を受信するよう更に構成され、前記データ容量属性情報は、前記無効データを含む前記大型オブジェクトの前記データ容量を含み、
前記検出モジュールは、前記無効データを含む前記大型オブジェクトの中の全ての前記無効データの前記データ容量が、前記無効データを含む前記大型オブジェクトの、前記データ容量属性情報の中の前記データ容量と同じことを検出し、前記オブジェクトベース記憶システムに格納され且つ前記無効データを含む前記大型オブジェクトを前記無効データのみを含む前記大型オブジェクトとして決定するよう更に構成される、バックアップサーバ。
【請求項１４】
前記検出モジュールは、
前記第１ディスクデータに対応する前記複数の削除ログの数がプリセット削除閾に達したか否かを検出し、前記プリセット削除閾に達した場合、前記削除条件が満たされたと決定する、又は、
プリセット削除時間に達したか否かを検出し、前記プリセット削除時間に達した場合、前記削除条件が満たされたと決定する、又は、
前記削除条件が満たされた最終時間の後に計時を開始し、前記計時が終了したか否かを検出し、前記計時が終了した場合、前記削除条件が満たされたと決定する、
よう更に構成される、請求項１３に記載のバックアップサーバ。
【請求項１５】
バックアップサーバであって、インタフェース、メモリ、及びプロセッサを含み、前記インタフェースはオブジェクトベース記憶システムと通信するよう構成され、前記メモリはソフトウェアプログラムを格納するよう構成され、前記プロセッサは前記メモリに格納された前記ソフトウェアプログラムを実行することにより請求項１乃至７のいずれか一項に記載の期限切れバックアップ処理方法を実行する、バックアップサーバ。
【請求項１６】
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体は命令を格納し、前記命令がコンピュータ上で実行すると、前記コンピュータは、請求項１乃至７のいずれか一項に記載の期限切れバックアップ処理方法を実行する、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、記憶分野に関し、特に期限切れバックアップ処理方法及びバックアップサーバに関する。
【背景技術】
【０００２】
データのセキュリティを保証するために、データがディスクに格納された後に、ディスクデータは、バックアップサーバを用いてオブジェクトベース記憶方式でオブジェクトベース記憶システムにバックアップされることがある。特定の処理は以下を含む。オブジェクトベース記憶システムは、少なくとも１つのオブジェクトとして、ディスクデータに含まれる複数の連続データスライスを格納する。各オブジェクトは少なくとも１つの連続データスライスを含む。ディスクバックアップデータが分散方式で複数のオブジェクトに格納される場合、バックアップサーバが後にバックアップデータにアクセスする必要があるとき、バックアップサーバは、複数のオブジェクトにアクセスするために、オブジェクトベース記憶システムに複数回アクセスする必要がある。したがって、バックアップサーバは、少なくとも２つのオブジェクト及び大型オブジェクト識別子をオブジェクトベース記憶システムへ送信し、オブジェクトベース記憶システムは、少なくとも２つのオブジェクトを１つの大型オブジェクトとして格納して、大型オブジェクトにアクセスすることにより、オブジェクトベース記憶システムにアクセスする回数を削減する。
【０００３】
バックアップ用のデータ容量を削減するために、通常、バックアップのために増分バックアップ方式が用いられる。しかしながら、現在、大型オブジェクトベース記憶方式においてディスクデータを増分バックアップする技術は存在しない。
【発明の概要】
【０００４】
本発明の実施形態は、大型オブジェクトベース記憶方式においてディスクデータを増分バックアップする技術を実施するために、期限切れバックアップ処理方法及びバックアップサーバ、及びどのように期限切れバックアップを処理するかの方法を提供する。
【０００５】
第１の態様によると、本発明の一実施形態は、期限切れバックアップ処理方法を提供する。方法はバックアップサーバにより実行され、以下を含む。第１ディスクデータの期限切れバックアップが決定された後に毎回、バックアップサーバは、第１ディスクデータの削除ログを生成し、期限切れバックアップの中の無効データのポインタを削除ログに格納する。ここで、期限切れバックアップは、現在第１時点までにオブジェクトベース記憶システムにおいて実行された第１ディスクデータの全ての非期限切れバックアップの中で最も前のバックアップである。続いて削除条件が満たされると検出した後に、バックアップサーバは第１ディスクデータに対応する複数の削除ログを取得する。複数の削除ログを取得する目的は、第１ディスクデータに対応する複数の削除ログに基づき、オブジェクトベース記憶システムに格納され且つ有効データ及び無効データを含む第１目標大型オブジェクトを決定することである。無効データ及び有効データを含む第１目標大型オブジェクトを決定した後に、バックアップサーバは、オブジェクトベース記憶システムへデータ移行指示及びオブジェクト削除指示を送信する。データ移行指示は、第１目標大型オブジェクト内の有効データを別の大型オブジェクトへ移行するよう、オブジェクトベース記憶システムに指示するために使用される。オブジェクト削除指示は、第１目標大型オブジェクトを削除するよう、オブジェクトベース記憶システムに指示するために使用される。
【０００６】
本発明では、期限切れバックアップが決定された後に、削除ログが生成され、期限切れバックアップの中の無効データのポインタが削除ログに格納される。したがって、バックアップサーバは、続いて、削除ログに基づき、無効データ及び有効データを含む大型オブジェクトを決定できる。このように、大型オブジェクトベース記憶方式において増分バックアップされるディスクデータに対して、期限切れバックアップ処理が実施される。
【０００７】
バックアップサーバが無効データ及び有効データを含む第１目標大型オブジェクトを決定した後に、データ移行指示及びオブジェクト削除指示を送信する複数の実装がある。例えば、データ移行指示及びオブジェクト削除指示は、１つの命令に含まれて良く、又は２つの命令を用いてそれぞれ送信されて良い。データ移行指示及びオブジェクト削除指示が１つの命令に含まれる場合、データ移行指示及びオブジェクト削除指示を含む命令を受信した後に、オブジェクトベース記憶システムは、先ず、第１目標大型オブジェクト内の有効データを別の大型オブジェクトに移行し、次に、第１目標大型オブジェクトを削除する。データ移行指示及びオブジェクト削除指示が２つの命令を用いてそれぞれ送信される場合、バックアップサーバは、先ず、データ移行指示を含む命令を送信し、次に、オブジェクト削除指示を含む命令を送信して良い。オブジェクト削除指示を含む命令を送信する前に、バックアップサーバは、先ず、オブジェクトベース記憶システムが有効データの移行を完了したか否かを決定して良い。オブジェクトベース記憶システムが有効データの移行を完了したことが決定された場合、バックアップサーバは、オブジェクト削除指示を含む命令をオブジェクトベース記憶システムへ送信して、第１目標大型オブジェクトを削除するよう、オブジェクトベース記憶システムに指示する。バックアップサーバは、オブジェクトベース記憶システムにより返された移行完了メッセージが取得されたか否かに基づき、オブジェクトベース記憶システムが有効データの移行を完了したか否かを決定して良い。
【０００８】
第１の態様に基づき、第１の実装では、削除条件が満たされるか否かを検出するステップは、
第１ディスクデータに対応する複数の削除ログの数がプリセット削除閾に達したか否かを検出し、プリセット削除閾に達した場合、削除条件が満たされたと決定するステップ、又は、
プリセット削除時間に達したか否かを検出し、プリセット削除時間に達した場合、削除条件が満たされたと決定するステップ、又は、
削除条件が満たされた最終時間の後に計時を開始し、計時が終了したか否かを検出し、計時が終了した場合、削除条件が満たされたと決定するステップ、を含む。
【０００９】
第１の態様又は第１の態様の第１の実装に基づき、第２の実装では、複数の削除ログに基づき、オブジェクトベース記憶システムに格納され且つ有効データ及び無効データを含む第１目標大型オブジェクトを決定するステップの後に、方法は、移動後の有効データのポインタを生成し、第１ディスクデータの移動ログを生成し、移動前の有効データのポインタと移動後の有効データのポインタとの間の対応を移動ログに格納するステップを更に含む。移動後の有効データのポインタは、別の大型オブジェクトに移動された後の、別の大型オブジェクト内の有効データの位置を示す。
【００１０】
第１の態様の第２の実装に基づき、第３の実装では、方法は、クライアントにより送信されたデータ復旧要求を受信するステップであって、データ復旧要求は、第１ディスク識別子、第２ディスク識別子、及び被復旧バックアップのバックアップ識別子を含み、データ復旧要求は、被復旧バックアップのバックアップ識別子に対応する被復旧バックアップに基づき、第１ディスクデータを第２ディスクに復旧するよう指示するために使用され、被復旧バックアップは、第１ディスクデータの全ての非期限切れバックアップの中のいずれかのバックアップである、ステップと、被復旧バックアップのバックアップメタデータを取得し、第１ディスクデータの各移動ログを取得するステップと、第１ディスクデータの各移動ログに基づき、移動ログに記録された、非移動有効データのポインタと同じポインタが、被復旧バックアップのバックアップメタデータの中に存在するか否かを決定し、ポインタが存在する場合、被復旧バックアップのバックアップメタデータの中の同じポインタを、移動前の有効データのポインタに対応する移動後の有効データのポインタに変更して、変更バックアップメタデータを取得するステップであって、変更バックアップメタデータは、非変更ポインタ及び変更ポインタを含み、変更ポインタは移動ログに記録された、移動有効データのポインタである、ステップと、変更バックアップメタデータに基づき、被復旧バックアップに対応する第１ディスクデータを取得するステップと、第１ディスクデータを第２ディスクに格納するステップと、を更に含む。
【００１１】
第１の態様の第３の実装に基づき、第４の実装では、移動ログに、移動前の有効データのポインタと移動後の有効データのポインタとの間の対応を格納するステップの後に、方法は、移動ログのオブジェクト識別子を生成するステップと、第１ディスク識別子と移動ログのオブジェクト識別子との間の対応を格納し、移動ログ記憶要求をオブジェクトベース記憶システムへ送信するステップであって、移動ログ記憶要求は、移動ログのオブジェクト識別子及び移動ログを含み、移動ログ記憶要求は、移動ログを移動ログのオブジェクト識別子に対応するオブジェクトに格納するよう、オブジェクトベース記憶システムに指示するために使用される、ステップと、を更に含み、第１ディスクデータの各移動ログを取得するステップは、第１ディスク識別子に基づき移動ログのオブジェクト識別子を取得し、移動ログ取得要求をオブジェクトベース記憶システムへ送信するステップであって、移動ログ取得要求は移動ログのオブジェクト識別子を含み、移動ログ取得要求は、移動ログのオブジェクト識別子に対応するオブジェクトから移動ログを取得するよう、オブジェクトベース記憶システムに指示するために使用される、ステップと、オブジェクトベース記憶システムにより送信された移動ログを受信するステップと、を含む。
【００１２】
第１の態様又は第１の態様の第１乃至第４の実装のいずれか１つに基づき、第５の実装では、複数の削除ログに基づき、オブジェクトベース記憶システムに格納され且つ有効データ及び無効データを含む第１目標大型オブジェクトを決定するステップは、複数の削除ログに基づき、オブジェクトベース記憶システムに格納され且つ無効データを含む第１目標大型オブジェクトを決定するステップと、所定無効データサイズ及び第１目標大型オブジェクトに含まれる無効データのピース数に基づき、第１目標大型オブジェクトの中の全ての無効データのデータ容量を決定するステップと、オブジェクトベース記憶システムへデータ容量決定要求を送信するステップであって、データ容量決定要求は、第１目標大型オブジェクトの識別子を含み、データ容量決定要求は、第１目標大型オブジェクトのデータ容量を送信するようオブジェクトベース記憶システムに指示するために使用される、ステップと、データ容量属性情報を受信するステップであって、データ容量属性情報は、第１目標大型オブジェクトのデータ容量を含む、ステップと、第１目標大型オブジェクトの中の全ての無効データのデータ容量が、データ容量属性情報の中の第１目標大型オブジェクトのデータ容量より少ない場合、オブジェクトベース記憶システムに格納された第１目標大型オブジェクトを無効データ及び有効データを含む第１目標大型オブジェクトとして決定するステップと、を含む。
【００１３】
第２の態様によると、期限切れバックアップ処理方法が提供される。方法は、バックアップサーバにより実行され、第１ディスクデータの期限切れバックアップが決定された後に毎回、第１ディスクデータの削除ログを生成し、期限切れバックアップの中の無効データのポインタを削除ログに格納するステップであって、期限切れバックアップは、現在第１時点までにオブジェクトベース記憶システムにおいて実行された第１ディスクデータの全ての非期限切れバックアップの中で最も前のバックアップである、ステップと、削除条件が満たされるか否かを検出し、削除条件が満たされる場合、第１ディスクデータに対応する複数の削除ログを取得するステップと、複数の削除ログに基づき、オブジェクトベース記憶システムに格納され且つ無効データのみを含む大型オブジェクトを決定するステップと、オブジェクト削除指示をオブジェクトベース記憶システムへ送信するステップであって、オブジェクト削除指示は、無効データのみを含む大型オブジェクトを削除するようオブジェクトベース記憶システムに指示するために使用される、ステップと、を含む。
【００１４】
第２の態様に基づき、第１の実装では、削除条件が満たされるか否かを検出するステップは、
第１ディスクデータに対応する複数の削除ログの数がプリセット削除閾に達したか否かを検出し、プリセット削除閾に達した場合、削除条件が満たされたと決定するステップ、又は、
プリセット削除時間に達したか否かを検出し、プリセット削除時間に達した場合、削除条件が満たされたと決定するステップ、又は、
削除条件が満たされた最終時間の後に計時を開始し、計時が終了したか否かを検出し、計時が終了した場合、削除条件が満たされたと決定するステップ、を含む。
【００１５】
第２の態様又は第２の態様の第１の実装に基づき、第２の実装では、複数の削除ログに基づき、オブジェクトベース記憶システムに格納され且つ無効データのみを含む大型オブジェクトを決定するステップは、複数の削除ログに基づき、無効データを含む大型オブジェクトを決定するステップと、所定無効データサイズ及び無効データを含む大型オブジェクトに含まれる無効データのピース数に基づき、無効データを含むオブジェクトの中の全ての無効データのデータ容量を決定するステップと、オブジェクトベース記憶システムへデータ容量決定要求を送信するステップであって、データ容量決定要求は、無効データを含む大型オブジェクトの識別子を含み、データ容量決定要求は、無効データを含む大型オブジェクトのデータ容量を送信するようオブジェクトベース記憶システムに指示するために使用される、ステップと、データ容量属性情報を受信するステップであって、データ容量属性情報は、無効データを含む大型オブジェクトのデータ容量を含む、ステップと、無効データを含む大型オブジェクトの中の全ての無効データのデータ容量が、データ容量属性情報の中の、無効データを含む大型オブジェクトのデータ容量と同じ場合、オブジェクトベース記憶システムに格納され且つ無効データを含む大型オブジェクトを無効データのみを含む大型オブジェクトとして決定するステップと、を含む。
【００１６】
第３の態様によると、本発明の一実施形態は、データバックアップ方法を提供する。方法は、以下を含む。バックアップサーバは、期限切れバックアップを処理する前に、第１ディスクデータをバックアップする。第１ディスクデータ内のデータスライスをバックアップする処理は次の通りである。バックアップサーバは、オブジェクトベース記憶システムにバックアップされるべき第１ディスクデータの複数のデータスライスを受信し、データスライスサイズ及び所定データブロックサイズに基づき、オブジェクトベース記憶システムにバックアップされるべきデータブロックを決定する。データブロックは、第１ディスクデータ内の少なくとも１つのデータスライスを含む。バックアップサーバは、データブロックの弱ハッシュ値を計算する。バックアップサーバは、オブジェクトベース記憶システムに既に格納された別のデータブロックの識別子を決定する。ここで、データブロックの弱ハッシュ値は、別のデータブロックの弱ハッシュ値と同様である。バックアップサーバは、別のデータブロックの識別子をクエリして、別のデータブロックの識別子に基づき、別のデータブロックの位置する大型オブジェクトの識別子を決定し、別のデータブロックの位置する大型オブジェクトに格納されたデータのサイズが所定サイズに達しないことを決定し、データバックアップ要求をオブジェクトベース記憶システムへ送信する。データバックアップ要求は、データブロックと、別のデータブロックの位置する大型オブジェクトの識別子と、を含み、データバックアップ要求は、別のデータブロックの位置する大型オブジェクトにデータブロックを格納するよう、オブジェクトベース記憶システムに指示するために使用される。データバックアップ要求を受信した後に、オブジェクトベース記憶システムは、別のデータブロックの位置する大型オブジェクトにデータブロックを格納する。このように、本発明の本実施形態では、データバックアップ中、同様の弱ハッシュ値を有するデータブロックは、大型オブジェクトに格納され得る。別のデータブロック内のデータスライスは、第１ディスクデータ内のデータスライスであって良く、他のディスクデータ内のデータスライスであって良い。
【００１７】
第１の態様及び第２の態様による方法では、期限切れバックアップを処理する前に、バックアップサーバは、第３の態様による方法を用いて第１ディスクデータもバックアップして良いことが理解され得る。
【００１８】
第４の態様によると、第１の態様又は第１の態様の任意の可能な実装による期限切れバックアップ処理方法を実行するよう構成されるモジュールを含むバックアップサーバが提供され、該モジュールは、ハードウェアを用いて実装されて良く、又は対応するソフトウェアを実行するハードウェアにより実装されて良い。
【００１９】
第５の態様によると、第２の態様又は第２の態様の任意の可能な実装による期限切れバックアップ処理方法を実行するよう構成されるモジュールを含むバックアップサーバが提供され、該モジュールは、ハードウェアを用いて実装されて良く、又は対応するソフトウェアを実行するハードウェアにより実装されて良い。
【００２０】
第６の態様によると、第３の態様による期限切れバックアップ処理方法を実行するよう構成されるモジュールを含むバックアップサーバが提供され、該モジュールは、ハードウェアを用いて実装されて良く、又は対応するソフトウェアを実行するハードウェアにより実装されて良い。
【００２１】
第７の態様によると、バックアップサーバであって、インタフェース、メモリ、及びプロセッサを含み、インタフェースはオブジェクトベース記憶システムと通信するよう構成され、メモリはソフトウェアプログラムを格納するよう構成され、プロセッサはメモリに格納されたソフトウェアプログラムを実行することにより第１の態様又は第１の態様の任意の可能な実装による期限切れバックアップ処理方法を実行する、バックアップサーバが提供される。
【００２２】
第８の態様によると、バックアップサーバであって、インタフェース、メモリ、及びプロセッサを含み、インタフェースはオブジェクトベース記憶システムと通信するよう構成され、メモリはソフトウェアプログラムを格納するよう構成され、プロセッサはメモリに格納されたソフトウェアプログラムを実行することにより第２の態様又は第２の態様の任意の可能な実装による期限切れバックアップ処理方法を実行する、バックアップサーバが提供される。
【００２３】
第９の態様によると、コンピュータ可読記憶媒体であって、コンピュータ可読記憶媒体は命令を格納し、命令がコンピュータ上で実行すると、コンピュータは、第１の態様又は第１の態様の任意の可能な実装による期限切れバックアップ処理方法を実行する、コンピュータ可読記憶媒体が提供される。
【００２４】
第１０の態様によると、コンピュータ可読記憶媒体であって、コンピュータ可読記憶媒体は命令を格納し、命令がコンピュータ上で実行すると、コンピュータは、第２の態様又は第２の態様の任意の可能な実装による期限切れバックアップ処理方法を実行する、コンピュータ可読記憶媒体が提供される。
【図面の簡単な説明】
【００２５】
【図１】本発明の一実施形態によるバックアップシステムの概略構造図である。
【００２６】
【図２】本発明の一実施形態による仮想機械ディスクデータのフルバックアップ方法のフローチャートである。
【００２７】
【図３】本発明の一実施形態による仮想機械ディスクデータの増加的バックアップ方法のフローチャートである。
【００２８】
【図４】本発明の一実施形態による期限切れバックアップ処理方法のフローチャートである。
【００２９】
【図５】本発明の一実施形態による蓄積削除ログに基づきバックアップサーバにより期限切れデータを削除する方法のフローチャートである。
【００３０】
【図６】本発明の一実施形態による、バックアップサーバにより、複数部分複製技術を用いて、有効データを格納するようオブジェクトベース記憶システムに指示する方法のフローチャートである。
【００３１】
【図７Ａ】本発明の一実施形態による仮想機械ディスクデータを復旧する方法のフローチャートである。
【図７Ｂ】本発明の一実施形態による仮想機械ディスクデータを復旧する方法のフローチャートである。
【００３２】
【図８】本発明の一実施形態によるバックアップサーバの構造図である。
【００３３】
【図９】本発明の一実施形態による別のバックアップサーバの構造図である。
【００３４】
【図１０】本発明の一実施形態による別のバックアップサーバの構造図である。
【００３５】
【図１１】本発明の一実施形態による別のバックアップサーバの構造図である。
【００３６】
【図１２】本発明の一実施形態による別のバックアップサーバの構造図である。
【発明を実施するための形態】
【００３７】
以下は、添付の図面を参照して本願の技術的ソリューションを記載する。
【００３８】
本発明の一実施形態は、バックアップシステムを提供する。図１を参照すると、図１は、本発明の一実施形態による記憶システムの概略構造図である。記憶システムは、クライアント１１０、記憶ノード１２０、及びバックアップシステム１００を含む。バックアップシステム１００は、バックアップサーバ１３０及びオブジェクトベース記憶システム１４０を含む。バックアップサーバ１３０は、オブジェクトベース記憶システム１４０に接続される。バックアップサーバ１３０は、クライアント１１０及び記憶ノード１２０に接続される。記憶ノード１２０は、１又は複数のディスクを含む。ディスクは仮想機械ディスク又は物理ディスクであって良い。
【００３９】
記憶ノード１２０は、記憶ノード１２０に格納されるべき、特定ディスクのデータを、複数の連続データスライスに分割し、複数の連続データスライスを記憶ノード１２０のディスクの複数の物理ブロックに格納するよう構成される。
【００４０】
バックアップサーバ１３０は、クライアント１１０により送信されたデータバックアップ要求を受信すると、又はプリセット時間に達したと決定すると、記憶ノード１２０のディスク内のデータをオブジェクトベース記憶システム１４０にフル又は増分バックアップし、バックアップメタデータ及びバックアップ属性情報を生成し格納するよう構成される。フルバックアップは、記憶ノード１２０のディスク内の全データを記憶システムにバックアップすることを意味する。増分バックアップは、記憶ノード１２０のディスク内の変更データをオブジェクトベース記憶システムにバックアップすることを意味する。バックアップメタデータは、ディスクデータの中の、ディスクデータ内の各オブジェクトの位置を示すために使用される。バックアップメタデータは、ディスクデータに含まれる各オブジェクトの識別子及びポインタを記録し、ディスク内のオブジェクトのシーケンスに基づき各オブジェクトのポインタを記録して良い。バックアップ属性情報は、バックアップのバックアップ識別子及びバックアップ時点、並びにバックアップメタデータの識別子を含む。バックアップ属性情報を生成した後に、バックアップサーバ１３０は、記憶ノード１２０のディスクのディスク識別子とバックアップ属性情報との間の対応を更に格納する。
【００４１】
通常、クライアント１１０により送信されたデータバックアップ要求は、バックアップの必要なディスクのディスク識別子を含む必要があり、バックアップサーバ１３０は、オブジェクトベース記憶システム１４０に、ディスク識別子により示されるディスク内のデータをフル又は増分バックアップする。特定のフルバックアップ及び増分バックアップ処理については、以下の方法の実施形態における記載を参照する。詳細は、ここで記載されない。
【００４２】
ディスク内のディスクデータがフル又は増分バックアップされた後、ますます多くのバックアップがシステム内に生成される。システムの記憶空間を節約するために記憶システム内のバックアップは管理される必要がある。本発明の本実施形態で提供されるバックアップシステム内のバックアップサーバは、必要に応じて、期限切れバックアップを削除する。
【００４３】
バックアップサーバ１３０は、ディスクの全部のバックアップ属性情報の合計ピース数が所定値を超えたと検出すると、全てのバックアップ属性情報の中のバックアップ時点に基づき、最も前のバックアップを期限切れバックアップとして決定するよう構成される。期限切れバックアップを決定した後に、バックアップサーバ１３０は、期限切れバックアップのバックアップメタデータ及び期限切れバックアップの次のバックアップのバックアップメタデータを用いて、期限切れバックアップ内の無効データを識別し、削除ログを生成し、期限切れバックアップの中の無効データのポインタを削除ログに格納する。削除ログを生成した後に、バックアップサーバ１３０は、期限切れバックアップのバックアップ属性情報を削除し、ディスク識別子と削除ログの識別子との間の対応を生成し格納するよう更に構成される。無効データは、期限切れバックアップの中にあり且つ期限切れバックアップの次のバックアップの変更されたデータスライスを含む、オブジェクトである。
【００４４】
削除条件が満たされたか否かを検出した後に、バックアップサーバ１３０は、ディスク識別子と削除ログの識別子との間の対応に基づき、ディスクデータに対応する複数の削除ログを取得する。削除条件は次の通りであって良い。ディスクデータに対応する複数の削除ログの数がプリセット削除閾に達する、又はプリセット削除時間に達する、又は削除条件が満たされた最終時間の後に計時が開始され、計時が終了する。
【００４５】
バックアップサーバ１３０は、複数の削除ログに基づき、オブジェクトベース記憶システム１４０に格納され且つ有効データ及び無効データを含む目標大型オブジェクトを決定し、無効データのみを含む大型オブジェクトを決定するよう更に構成される。有効データは、期限切れバックアップの中にあり且つ期限切れバックアップの次のバックアップの変更されないデータスライスを含む、オブジェクトである。
【００４６】
オブジェクトベース記憶システム１４０に格納され且つ有効データ及び無効データを含む目標大型オブジェクトを決定した後に、バックアップサーバ１３０は、データ移行指示及びオブジェクト削除指示をオブジェクトベース記憶システム１４０へ送信するよう更に構成される。データ移行指示は、目標大型オブジェクト内の有効データを別の大型オブジェクトへ移行するよう、オブジェクトベース記憶システム１４０に指示するために使用される。オブジェクト削除指示は、目標大型オブジェクトを削除するよう、オブジェクトベース記憶システム１４０に指示するために使用される。無効データのみを含む大型オブジェクトを決定した後に、バックアップサーバ１３０は、オブジェクトベース記憶システム１４０へオブジェクト削除指示を送信するよう更に構成される。オブジェクト削除指示は、無効データのみを含む大型オブジェクトを削除するよう、オブジェクトベース記憶システム１４０に指示するために使用される。
【００４７】
時間期間の後に、無効データを含む大型オブジェクトを決定するために、蓄積期限切れバックアップが処理される。大型オブジェクトが有効データ及び無効データを含む大型オブジェクトであると決定された場合、大型オブジェクト内の有効データは別の大型オブジェクトに移動され、次に、システムの記憶空間を節約するために、大型オブジェクトは削除される。大型オブジェクトが無効データのみを含む大型オブジェクトであると決定された場合、システムの記憶空間を節約するために、大型オブジェクトは削除される。このように、本発明の本実施形態では、大型オブジェクトベース記憶方式において増分バックアップされたディスクデータについて、期限切れバックアップは削除され、期限切れバックアップが決定された後に毎回、期限切れバックアップが処理されることが回避され、代わりに、時間期間の後に複数の蓄積期限切れバックアップが処理され、それにより、バックアップシステムによる期限切れバックアップの頻繁な処理のステップを簡略化する。
【００４８】
大型オブジェクト内の有効データが別の大型オブジェクトへ移動された場合、大型オブジェクト内の有効データのポインタが変更される。全ての他のバックアップにそれぞれ対応するバックアップメタデータ内に記録された、大型オブジェクト内の有効データのポインタを更新することを回避するために、大型オブジェクト内の移動前の有効データのポインタと移動後の有効データのポインタとの間の対応が、移動ログを用いて記録されて、特定のバックアップが後にアクセスされる必要のあるとき、移動ログに記録された、非移動有効データのポインタと同じポインタが、特定バックアップのバックアップメタデータ内に存在するか否かが決定されるようにする。ポインタが存在する場合、バックアップのバックアップメタデータ内の同じポインタは、移動後の有効データのポインタに変更され、それにより、有効データが移動された後に、全ての他のバックアップにそれぞれ対応するバックアップメタデータを更新することを回避する。
【００４９】
大型オブジェクト内の有効データを別の大型オブジェクトに移動した後に、バックアップサーバ１３０は、移動ログを生成し、移動ログに、移動前の有効データのポインタと移動後の有効データのポインタとの間の対応を格納するよう更に構成される。このように、非期限切れバックアップのバックアップメタデータを用いてディスクデータ内の移動有効データに後にアクセスするとき、バックアップサーバ１３０は、移動ログに格納された、移動前の有効データのポインタと移動後の有効データのポインタとの間の対応に基づき、非期限切れバックアップのバックアップメタデータを更新する。非期限切れバックアップのバックアップメタデータの更新中に、非期限切れバックアップのバックアップメタデータ内にあり且つ移動ログに記録された非移動有効データのポインタと同じであるポインタは、変更される。変更されたポインタは、移動ログに記録された、移動有効データのポインタである。
【００５０】
例えば、クライアント１１０により送信されたデータ復旧要求を受信し、全ての非期限切れバックアップから被復旧バックアップを決定した後に、バックアップサーバ１３０は、移動ログに基づき被復旧バックアップのバックアップメタデータを変更し、変更したバックアップメタデータに基づき、ディスクデータに含まれる全てのオブジェクトを取得し、次にディスクデータを目標ディスクに復旧する。目標ディスクは、別の記憶ノード１２０内に位置して良く、物理ディスク又は仮想機械ディスクであって良い。或いは、目標ディスクは、ディスクデータがバックアップされる前にディスクデータが位置する記憶ノード１２０内に位置して良い。或いは、目標ディスク及びディスクデータがバックアップされる前にディスクデータが位置するディスクは同じディスクである。
【００５１】
相応して、バックアップシステム１００内のオブジェクトベース記憶システム１４０は、バックアップデータを格納するよう構成される。フルバックアップ中、オブジェクトベース記憶システム１４０は、ディスクデータの中の全てのデータを格納するよう構成される。増分バックアップ中、オブジェクトベース記憶システム１４０は、ディスクデータの中の変更データを格納するよう構成される。
【００５２】
オブジェクトベース記憶システム１４０は、ディスクデータバックアップ中に生成されたバックアップメタデータを更に格納して良い。
【００５３】
オブジェクトベース記憶システム１４０は、ディスクデータの期限切れバックアップが処理されるときに生成された削除ログ又は移動ログを更に格納して良い。
【００５４】
バックアップシステムの中で、バックアップサーバ１３０及びオブジェクトベース記憶システム１４０は、独立に展開され、クライアント１１０はバックアップサーバ１３０上に展開された仮想機械であり又はバックアップサーバ１３０と独立に展開されて良い。クライアント１１０がバックアップサーバ１３０と独立に展開されるとき、クライアント１１０は、バックアップサーバ１３０から独立した装置、又はバックアップサーバ１３０から独立した装置上に展開された仮想機械であって良い。記憶ノード１２０は、バックアップサーバ１３０内の記憶装置であり又はバックアップサーバ１３０と独立に展開されて良い。記憶ノード１２０は、物理ディスク又は仮想機械ディスクを管理するよう構成される。クライアント１１０は、物理サーバ又は様々な種類の端末装置であって良い。本発明の本実施形態における端末装置は、タブレットコンピュータ、ノートブックコンピュータ、モバイルインターネット装置、パームトップコンピュータ、デスクトップコンピュータ、移動電話機、又は別の製品形式の端末装置を含む。クライアント１１０は、代替として、ソフトウェアモジュール、例えば、物理装置上で実行するソフトウェアモジュール、又は物理サーバ上で実行する仮想機械であって良い。
【００５５】
以下は、本発明の一実施形態による期限切れデータ削除方法を記載する。方法は、図１に示すバックアップシステムに適用される。本発明の本実施形態で提供される期限切れデータ削除方法が記載される前に、バックアップサーバ１３０がオブジェクトベース記憶方式で仮想機械ディスクデータを先ずフル、次に増分バックアップする手順を記載するために、仮想機械ディスクデータをバックアップすることが一例として用いられる。図２を参照すると、図２は、本発明の一実施形態による仮想機械ディスクデータのフルバックアップ方法のフローチャートである。方法は以下のステップを含む。
【００５６】
２００。バックアップサーバ１３０は、記憶ノード１２０へスナップショット通知を送信する。
【００５７】
スナップショット通知は、仮想機械ディスク識別子を含む。スナップショット通知は、仮想機械ディスク識別子に対応する仮想機械ディスクのスナップショットを取るよう、記憶ノード１２０に指示するために使用される。本実装では、仮想機械ディスク識別子に対応するディスクはバックアップを必要とするディスクである。スナップショット通知を受信した後に、記憶ノード１２０は、仮想機械ディスクのスナップショットを取り、仮想機械ディスクのスナップショット識別子を生成し、仮想機械ディスク識別子とスナップショット識別子との間の対応を格納する。
【００５８】
バックアップシステムがどのようにフルバックアップを開始するかの複数の実装が存在し得る。例えば、ユーザは、クライアント１１０を用いて、仮想機械ディスクデータのフルバックアップの時点を選択して良い。フルバックアップの時点に達した後に、クライアント１１０は、バックアップ要求をバックアップサーバ１３０へ送信する。バックアップ要求は、記憶ノード１２０の識別子及び仮想機械ディスク識別子を含む。クライアント１１０により送信されたバックアップ要求を受信した後に、バックアップサーバ１３０は、記憶ノード１２０へスナップショット通知を送信する。代替として、仮想機械ディスクに格納されるべき複数の連続データスライスを、仮想機械ディスクの物理ブロックに別個に格納した後に、記憶ノード１２０は、フルバックアップを開始するためにバックアップサーバ１３０へバックアップ要求を送信する。代替として、ユーザは、バックアップサーバ１３０において、記憶ノード１２０のフルバックアップ時点をプリセットする。フルバックアップ時点に達した後に、バックアップサーバ１３０は、記憶ノード１２０へスナップショット通知を送信する。別の実施形態では、バックアップシステムがどのようにフルバックアップを開始するかの特定の実装は、本発明の本実施形態で与えられた例により限定されない。
【００５９】
２１０。記憶ノード１２０は、仮想機械ディスクデータのスナップショットを取った後に、バックアップサーバ１３０へスナップショット情報を送信する。スナップショット情報は、仮想機械ディスクのスナップショット識別子及び仮想機械ディスク識別子を含む。
【００６０】
仮想機械ディスクデータのスナップショットを取るとき、記憶ノード１２０は、仮想機械ディスクのスナップショット識別子を生成し、次に仮想機械ディスクのスナップショット識別子及び仮想機械ディスク識別子に基づき、スナップショット情報を生成する。記憶ノード１２０は、スナップショット情報を送信することにより、バックアップサーバ１３０へ仮想機械ディスク識別子及びスナップショット識別子を送信する。
【００６１】
２２０。スナップショット情報を受信した後に、バックアップサーバ１３０は、スナップショット識別子と仮想機械ディスク識別子との間の対応を格納し、仮想機械ディスク識別子に基づき仮想機械ディスクの既存バックアップ状態を決定し、既存バックアップ状態に基づき、フルバックアップを実行するか否かを決定する。
【００６２】
ステップ２２０で、バックアップサーバ１３０が、仮想機械ディスク識別子に基づき仮想機械ディスクの既存バックアップ状態を決定することは、以下の２つのケースを含む。
【００６３】
ケース１：バックアップサーバ１３０は、仮想機械ディスク識別子に基づき、仮想機械ディスクの既存バックアップの数が０であると決定する。既存バックアップの数が０である場合、フルバックアップが仮想機械ディスクデータに対して実行される。
【００６４】
ケース２：バックアップサーバ１３０は、仮想機械ディスク識別子に基づき、仮想機械ディスクの既存バックアップの数が０ではないこと、及び仮想機械ディスクに対して実行された最終バックアップ中に格納された情報が、バックアップが要求されるときに格納される必要のある増分情報と矛盾することを決定する。
【００６５】
ケース２では、バックアップサーバへ送信されるスナップショット情報は、記憶ノードに記録された、前のバックアップ中のスナップショットのデータ容量を更に含む。仮想機械ディスク識別子に基づき、仮想機械ディスクの既存バックアップの数が０ではないと決定した後に、バックアップサーバは、バックアップサーバに記録された、前のバックアップ中のスナップショットのデータ容量を、記憶ノードに記録された、前のバックアップ中のスナップショットのデータ容量と比較して、仮想機械ディスクに対して実行された最終バックアップ中に格納された情報が、バックアップが必要なときに格納される必要のある増分情報と一致するか否かを決定する。バックアップサーバに記録された、前のバックアップ中のスナップショットのデータ容量が、記憶ノードに記録された、前のバックアップ中のスナップショットのデータ容量と異なる場合、これは、仮想機械ディスクに対して実行された最終バックアップ中に格納された情報が、バックアップが必要なときに格納される必要のある増分情報と矛盾することを示す。
【００６６】
代替として、ケース２では、バックアップサーバへ送信されるスナップショット情報は、前のスナップショットの識別子を更に含む。仮想機械ディスク識別子に基づき、仮想機械ディスクの既存バックアップの数が０ではないと決定した後に、バックアップサーバは、バックアップサーバに記録された、前のバックアップ中のスナップショットの識別子を、記憶ノードに記録された、前のバックアップ中のスナップショットの識別子と比較して、仮想機械ディスクに対して実行された最終バックアップ中に格納された情報が、バックアップが必要なときに格納される必要のある増分情報と一致するか否かを決定する。バックアップサーバに記録された、前のバックアップ中のスナップショットの識別子が、記憶ノードに記録された、前のバックアップ中のスナップショットの識別子と異なる場合、これは、仮想機械ディスクに対して実行された最終バックアップ中に格納された情報が、バックアップが必要なときに格納される必要のある増分情報と矛盾することを示す。
【００６７】
２２５。フルバックアップを実行することを決定した後に、バックアップサーバ１３０は、仮想機械ディスクの位置する記憶ノード１２０へ、フルデータ取得要求を送信する。
【００６８】
フルデータ取得要求は、仮想機械ディスク識別子、及び仮想機械ディスクデータの中の、被リードデータブロックの位置を含む。被リードデータブロックは、少なくとも１つのデータスライスを含む。被リードデータブロックの中のデータスライスの数は、被リードデータブロックサイズ及びデータスライスサイズに基づき決定される。被リードデータブロックサイズは、バックアップサーバ１３０のバックアップソフトウェアにおいて予め定められ、異なるバックアップソフトウェアにおいて予め定められた被リードデータブロックサイズは異なって良い。バックアップサーバ１３０は、仮想機械ディスクデータの全部のデータスライスを取得するために、複数のフルデータ取得要求を送信して良い。
【００６９】
仮想機械ディスクデータの中の被リードデータブロックの位置は、以下の２つのケースを含み得る。
【００７０】
ケース１：位置は、仮想機械ディスクデータの中の被リードデータブロックの開始位置、及び被リードデータブロックサイズを含む。被リードデータブロック内の第１データスライスが、仮想機械ディスクデータの中の第ｉデータスライスであり、ｉが０より大きい整数である場合、仮想機械ディスクデータの中の被リードデータブロックの開始位置は、（ｉ−１）及びデータスライスサイズの積である。例えば、被リードデータブロックは、仮想機械ディスクデータの中の第３データスライスである。被リードデータスライスサイズが４Mである場合、仮想機械ディスクデータの中の被リードデータブロックの開始位置は、（３−１）及び４Mの積である。具体的に言うと、仮想機械ディスクデータの中の被リードデータブロックの開始位置は８Mである。別の例では、被リードデータブロックの中の第１データスライスは、仮想機械ディスクデータの中の第１データスライスである。被リードデータスライスサイズが４Mである場合、仮想機械ディスクデータの中の被リードデータブロックの開始位置は、（１−１）及び４Mの積である。具体的に言うと、仮想機械ディスクデータの中の被リードデータブロックの開始位置は０Mである。
【００７１】
ケース２：位置は、仮想機械ディスクデータの中の被リードデータブロックの開始位置データ及び終了位置を含む。仮想機械ディスクデータの中の被リードデータブロックの開始位置は、前述の表現方法と同じであり、詳細はここで再び記載されない。仮想機械ディスクデータの中の被リードデータブロックの終了位置は、被リードデータブロックの中の最終データスライスの終了位置である。被リードデータブロック内の最終データスライスが、仮想機械ディスクデータの中の第wデータスライスである場合、被リードデータブロックの中の最終データスライスの終了位置は、w及びデータスライスサイズの積である。
【００７２】
開始位置及び終了位置はオフセットであることが理解され得る。
【００７３】
代替として、複数の被リードデータブロックが存在し、複数の被リードデータブロックが連続データブロックである場合、フルデータ取得要求は、仮想機械ディスク識別子及び仮想機械ディスクデータの中の複数の被リードデータブロックの位置を含む。仮想機械ディスクデータの中の複数の被リードデータブロックの位置は、仮想機械ディスクデータの中の複数の被リードデータブロックのうちの第１被リードデータブロックの開始位置及び複数の被リードデータブロックのサイズであって良い。代替として、仮想機械ディスクデータの中の複数の被リードデータブロックの位置は、仮想機械ディスクデータの中の複数の被リードデータブロックのうちの第１被リードデータブロックの開始位置及び仮想機械ディスクデータの中の複数の被リードデータブロックの最終被リードデータブロックの終了位置であって良い。仮想機械ディスクデータの中の複数の被リードデータブロックのうちの第１被リードデータブロックの開始位置、及び仮想機械ディスクデータの中の複数の被リードデータブロックのうちの最終被リードデータブロックの終了位置については、仮想機械ディスクデータの中の被リードデータブロックの位置を決定する方法を参照する。特定の実装の詳細はここで再び記載されない。
【００７４】
ステップ２２５の後に、仮想機械ディスクの位置する記憶ノード１２０は、フルデータ取得要求を受信し、仮想機械ディスクデータの中の被リードデータブロックの位置に基づき、データブロックに含まれる仮想機械ディスクデータの中の複数のデータスライスをクエリし、次に、バックアップサーバ１３０へ、データブロックに含まれる仮想機械ディスクデータの中の複数のデータスライスを送信する。
【００７５】
２３０。仮想機械ディスクデータの中の複数のデータブロックを受信した後に、バックアップサーバ１３０は、大型オブジェクトに含まれる複数のデータブロックを決定する。各データブロックは大型オブジェクト内のオブジェクトである。
【００７６】
バックアップサーバ１３０により受信され且つ所定数と一致する複数の連続データブロックは、大型オブジェクトに含まれる複数のデータブロックである。
【００７７】
所定数と一致する複数の連続データブロックを受信した後に、バックアップサーバは、各データブロックの弱ハッシュ値を計算して良く、大型オブジェクトに含まれる複数のデータブロックと類似する弱ハッシュ値を有する複数のデータブロックを決定して良い。２４０。大型オブジェクトに含まれる複数のデータブロックを決定した後に、バックアップサーバ１３０は、大型オブジェクト識別子を生成し、複数のデータブロック及び大型オブジェクト識別子をオブジェクトベース記憶システム１４０へ送信する。
【００７８】
複数のデータブロック及び大型オブジェクト識別子を受信した後に、オブジェクトベース記憶システム１４０は、複数のデータブロックを大型オブジェクト識別子に対応する大型オブジェクトに格納する。
【００７９】
仮想機械ディスク内の全部のデータブロックは、複数の大型オブジェクトを構成し、オブジェクトベース記憶システム１４０へ送信される。
【００８０】
２５０。バックアップサーバ１３０は、バックアップメタデータ及びメタデータオブジェクト識別子を生成し、バックアップメタデータ及びメタデータオブジェクト識別子をオブジェクトベース記憶システム１４０へ送信する。
【００８１】
バックアップメタデータは、仮想機械ディスクデータの中の仮想機械ディスクデータ内の各オブジェクトの位置を示すために使用される。バックアップメタデータは、仮想機械ディスクデータに含まれる全部のオブジェクトの識別子及びポインタを記録し、仮想機械ディスク内のオブジェクトのシーケンスに基づき全部のオブジェクトのポインタを記録して良い。
【００８２】
代替として、オブジェクトの識別子はポインタとしても使用されて良い。具体的に言うと、バックアップメタデータは、仮想機械ディスクデータに含まれる全部のオブジェクトの識別子のみを記録し、仮想機械ディスク内のオブジェクトのシーケンスに基づき全部のオブジェクトの識別子を記録して良い。バックアップメタデータに記録された、オブジェクトの識別子は、大型オブジェクトの識別子と、オブジェクトの属する大型オブジェクト内の、オブジェクトの位置と、を含んで良い。
【００８３】
オブジェクトが大型オブジェクトに含まれる場合、オブジェクトのポインタは、オブジェクトの属する大型オブジェクト内の、オブジェクトの位置を示す。例えば、以下の表１は、バックアップメタデータに記録された、ディスクデータの中の最初の４個の大型オブジェクト内の幾つかのオブジェクトのポインタを示す。
【表１】
0006968876.tif 000002
【００８４】
２６０。バックアップサーバ１３０は、フルバックアップのバックアップ属性情報を生成し、フルバックアップのバックアップ属性情報と仮想機械ディスク識別子との間の対応を格納する。フルバックアップのバックアップ属性情報は、フルバックアップのバックアップ識別子、バックアップメタデータのメタデータオブジェクト識別子、及びバックアップ時点を含む。
【００８５】
前述のステップ２００〜２６０は、バックアップシステムが仮想機械ディスクデータをどのようにフルバックアップするかの方法を記載した。本発明の一実施形態では、仮想機械ディスクデータがフルバックアップされた後に、ユーザはデータを変更している場合があり、次に変更したデータが増分バックアップされる。特定の増分バックアップ処理は、図３の処理を含む。増分バックアップの後に、バックアップデータのデータ容量を削減するために、バックアップサーバ１３０は期限切れバックアップを決定し処理する。以下は、バックアップシステムが仮想機械ディスクデータをどのように増分バックアップするかの方法を詳述する。
【００８６】
図３を参照すると、図３は、本発明の一実施形態による仮想機械ディスクデータの増分バックアップ方法のフローチャートである。図３に示すように、本発明の本実施形態で提供される、仮想機械ディスクデータの増分バックアップ方法は、以下のステップを含む。
【００８７】
３００。バックアップサーバ１３０は、記憶ノード１２０へスナップショット通知を送信する。
【００８８】
スナップショット通知は、仮想機械ディスク識別子を含む。スナップショット通知は、仮想機械ディスク識別子に対応する仮想機械ディスクのスナップショットを取るよう、記憶ノード１２０に指示するために使用される。本実装では、仮想機械ディスク識別子に対応するディスクはバックアップを必要とするディスクである。スナップショット通知を受信した後に、記憶ノード１２０は、仮想機械ディスクのスナップショットを取り、仮想機械ディスクのスナップショット識別子を生成し、仮想機械ディスク識別子とスナップショット識別子との間の対応を格納する。
【００８９】
バックアップシステムがどのように増分バックアップを開始するかの複数の実装が存在し得る。例えば、ユーザは、クライアント１１０を用いて、仮想機械ディスクデータの増分バックアップのための時点を選択して良い。増分バックアップの時点に達した後に、クライアント１１０は、バックアップ要求をバックアップサーバ１３０へ送信する。バックアップ要求は、記憶ノード１２０の識別子及び仮想機械ディスク識別子を含む。クライアント１１０により送信されたバックアップ要求を受信した後に、バックアップサーバ１３０は、記憶ノード１２０へスナップショット通知を送信する。代替として、記憶ノード１２０が、仮想機械ディスクに格納されるべき複数の連続データスライスを仮想機械ディスクの物理ブロックに別個に格納した後に、仮想機械ディスクの位置する記憶ノード１２０が仮想機械ディスクデータの中の少なくとも１つのオブジェクト内の少なくとも１つのデータスライスを変更した場合、記憶ノード１２０は、増分バックアップを開始するために、バックアップサーバ１３０へバックアップ要求を送信する。代替として、ユーザは、バックアップサーバ１３０において、記憶ノード１２０の増分バックアップの時点をプリセットする。増分バックアップの時点に達した後に、バックアップサーバ１３０は、記憶ノード１２０へスナップショット通知を送信する。別の実施形態では、バックアップシステムがどのように増分バックアップを開始するかの特定の実装は、本発明の本実施形態で与えられた例により限定されない。
【００９０】
３１０。記憶ノード１２０は、仮想機械ディスクデータのスナップショットを取った後に、バックアップサーバ１３０へスナップショット情報を送信する。スナップショット情報は、現在スナップショットのスナップショット識別子、変化ブロック追跡（Change  Block  Tracking、CBT）情報、及び仮想機械ディスク識別子を含む。
【００９１】
仮想機械ディスクデータのスナップショットを取るとき、記憶ノード１２０は、仮想機械ディスクのスナップショット識別子及び現在スナップショットのCBT情報を生成する。仮想機械ディスクのスナップショット識別子を生成した後に、記憶ノード１２０は、仮想機械ディスクのスナップショット識別子、現在スナップショットのCBT情報、及び仮想機械ディスク識別子に基づき、スナップショット情報を生成して良い。記憶ノード１２０は、スナップショット情報を送信することにより、バックアップサーバ１３０へ仮想機械ディスク識別子、現在スナップショットのCBT情報、及びスナップショット識別子を送信する。
【００９２】
仮想機械ディスクのスナップショット識別子及び現在スナップショットのCBT情報を生成した後に、記憶ノード１２０は、現在スナップショットのCBT情報、スナップショット識別子、及び仮想機械ディスク識別子の間の対応を格納する。
【００９３】
本実装では、現在スナップショットのCBT情報は、前のスナップショットの現在スナップショット中の仮想機械ディスクデータ内の各データスライスの変更状態を示すために使用される。現在スナップショットのCBT情報は、現在スナップショットのCBT情報識別子、及び仮想機械ディスクデータの中の各データスライスの変更状態フラグを含む。現在スナップショットのCBT情報は、仮想機械ディスクデータに含まれる全データスライスのシーケンスの中の仮想機械ディスクデータ内の各データスライスの変更状態フラグを記録する。変更状態フラグは、前のスナップショットの現在スナップショット中の仮想機械ディスクデータの中のデータスライスの変更状態を示すために使用される。変更状態は、変更状態及び非変更状態を含んで良い。例えば、数値０は、前のスナップショットの現在スナップショット中の仮想機械ディスクデータの中のデータスライスの変更状態が非変更状態であることを示すために使用され、数値１は、前のスナップショットの現在スナップショット中の仮想機械ディスクデータの中のデータスライスの変更状態が変更状態であることを示すために使用される。別の実装では、変更状態フラグは、例えば、漢字「変更」又は「非変更」であって良く、又は文字、数字、若しくは別の記号であって良く、又は文字、数字、若しくは別の記号の組み合わせであって良い。変更状態フラグの特定の表現形式は、本実施形態により限定されない。
【００９４】
３２０。バックアップサーバ１３０は、仮想機械ディスク識別子に基づき、仮想機械ディスクの位置する記憶ノード１２０が仮想機械ディスクのスナップショットを取ったことを決定し、次に仮想機械ディスクの位置する記憶ノード１２０へ増分比較情報取得要求を送信する。
【００９５】
増分比較情報取得要求は、仮想機械ディスクのスナップショット識別子及び仮想機械ディスク識別子を含む。
【００９６】
ステップ３２０の後に、仮想機械ディスクの位置する記憶ノード１２０は、増分比較情報取得要求を受信し、バックアップサーバ１３０へ増分比較情報を送信する。増分比較情報は、前のスナップショットの且つ仮想機械ディスクのスナップショット識別子に対応する現在スナップショットの前のスナップショット中に生成されたCBT情報識別子を含む。
【００９７】
増分比較情報取得要求を受信した後に、仮想機械ディスクの位置する記憶ノード１２０は、仮想機械ディスクのスナップショット識別子に基づき、前のスナップショットの且つ仮想機械ディスクのスナップショット識別子に対応する現在スナップショットの前のスナップショット中に生成されたCBT情報をクエリする。前のスナップショットの且つ仮想機械ディスクのスナップショット識別子に対応する現在スナップショットの前のスナップショット中に生成されたCBT情報が見付かった場合、記憶ノード１２０は、バックアップサーバ１３０へ、前のスナップショットのCBT情報内の前のスナップショットのCBT情報識別子を送信する。前のスナップショットの且つ仮想機械ディスクのスナップショット識別子に対応する現在スナップショットの前のスナップショット中に生成されたCBT情報が見付からなかった場合、記憶ノード１２０は、バックアップサーバ１３０へ、クエリ失敗情報を送信する。
【００９８】
現在スナップショットが第２スナップショットである場合、第１スナップショットはフルバックアップ中のスナップショットである。スナップショットがフルバックアップ中に生成されるとき、CBT情報は生成されない。したがって、記憶ノード１２０は、前のスナップショットの且つ仮想機械ディスクのスナップショット識別子に対応する現在スナップショットの前のスナップショット中に生成されたCBT情報を見付ることができず、次に、バックアップサーバ１３０へクエリ失敗情報を送信する。
【００９９】
３３０。仮想機械ディスクの位置する記憶ノード１２０により送信された増分比較情報を受信した後に、バックアップサーバ１３０は、増分比較情報内の前のスナップショットのCBT情報識別子及びスナップショット情報内の現在スナップショットのCBT情報に基づき、仮想機械ディスクデータの中の、現在スナップショットに対応する増分データのオフセット位置を決定する。
【０１００】
バックアップサーバ１３０が、仮想機械ディスクデータの中の、現在スナップショットに対応する増分データのオフセット位置を決定する特定の実装は、以下を含む。バックアップサーバ１３０は、先ず、バックアップサーバ１３０により実行された前のバックアップ中にバックアップサーバ１３０に記録された、仮想機械ディスクデータのCBT情報識別子が、増分比較情報内の前のスナップショットのCBT情報識別子と同じか否かを決定する。識別子が同じ場合、バックアップサーバ１３０は、現在スナップショットのCBT情報内に記録された変更状態フラグに基づき、仮想機械ディスクデータの中の、現在スナップショットに対応する増分データのオフセット位置を決定する。
【０１０１】
バックアップサーバ１３０が、現在スナップショットのCBT情報内に記録された変更状態フラグに基づき、仮想機械ディスクデータの中の、現在スナップショットに対応する増分データのオフセット位置を決定する特定の実装は次の通りである。バックアップサーバ１３０は、現在スナップショットのCBT情報に記録された変更状態フラグのシーケンスに基づき、所定数の変更状態フラグを読み出す。所定数の変更状態フラグが、変更状態が変更されたことを示す変更状態フラグを含む場合、バックアップサーバ１３０は、所定数の変更状態フラグに対応する複数のデータスライスが変更データスライスを含むことを決定する。所定数は、１つのオブジェクト内のデータスライスの数に等しい。現在スナップショットのCBT情報に記録された変更状態フラグの中の、所定数の変更状態フラグのオフセット位置は、仮想機械ディスクデータの中の、現在スナップショットに対応する増分データのオフセット位置である。
【０１０２】
仮想機械ディスクデータの中の、増分データのオフセット位置を決定する前述の方法において、仮想機械ディスクデータの中の、増分データの複数のピースのオフセット位置を順次決定した後に、バックアップサーバ１３０は、仮想機械ディスクの位置する記憶ノード１２０へ、増分データ取得要求を順次送信する、つまり以下のステップ３４０を順次実行する。
【０１０３】
３４０。バックアップサーバ１３０は、仮想機械ディスクの位置する記憶ノード１２０へ、増分データ取得要求を送信する。増分データ取得要求は、仮想機械ディスク識別子、及び仮想機械ディスクデータの中の増分データのオフセット位置を含む。
【０１０４】
仮想機械ディスクデータの中の増分データのオフセット位置の２つの表現方法がある。特定の実装については、図２に示したフルバックアップ処理における仮想機械ディスクデータの中の、被リードデータブロックのオフセット位置の表現方法を参照する。詳細はここで再び記載されない。
【０１０５】
ステップ３４０の後に、仮想機械ディスクの位置する記憶ノード１２０は、増分データ取得要求を受信し、仮想機械ディスクデータの中の、増分データのオフセット位置に基づき、仮想機械ディスクデータの中の増分データをクエリする。仮想機械ディスクの位置する記憶ノード１２０は、バックアップサーバ１３０へ、増分データを送信する。
【０１０６】
３５０。増分データを受信した後に、バックアップサーバ１３０は、新大型オブジェクト識別子を生成し、新大型オブジェクト識別子及び増分データをオブジェクトベース記憶システム１４０へ送信する。増分データの各ピースは、新大型オブジェクトの中の新オブジェクトとしてオブジェクトベース記憶システム１４０に格納される。
【０１０７】
増分データの複数のピースに対応する複数の新オブジェクトは、１又は複数の新大型オブジェクトに属して良い。
【０１０８】
例えば、バックアップソフトウェアは、大型オブジェクトに実際に格納可能なオブジェクトの数を予め定める。受信した増分データのピース数が大型オブジェクトに実際に格納可能な複数のオブジェクトの数に達すると、バックアップサーバ１３０は、新大型オブジェクト識別子を生成し、受信した増分データの複数のピース及び新大型オブジェクト識別子をオブジェクトベース記憶システム１４０へ送信して、オブジェクトベース記憶システム１４０が増分データの複数のピースを、新大型オブジェクト識別子に対応する新大型オブジェクトに格納するようにする。
【０１０９】
ステップ３５０の後に、オブジェクトベース記憶システム１４０は、増分データを受信し、オブジェクトベース記憶方式で、新大型オブジェクト識別子に対応する新オブジェクトに増分バックアップとして増分データを格納する。次に、オブジェクトベース記憶システム１４０は、バックアップサーバ１３０へ増分バックアップ完了要求を送信する。
【０１１０】
増分バックアップを実行するとき、増分バックアップに対応するバックアップメタデータがオブジェクトベース記憶方式で格納される場合、バックアップサーバ１３０は、増分バックアップのバックアップ識別子及びメタデータオブジェクト識別子を生成し、増分バックアップのバックアップ識別子とメタデータオブジェクト識別子との間の対応を格納する。
【０１１１】
３６０。バックアップサーバ１３０は、オブジェクトベース記憶システム１４０へメタデータ取得要求を送信する。
【０１１２】
メタデータ取得要求は、前のバックアップに対応するメタデータオブジェクト識別子を含む。
【０１１３】
メタデータ取得要求を生成する前に、バックアップサーバ１３０は、先ず、前のバックアップのバックアップ識別子をクエリし、前のバックアップのバックアップ識別子に基づき、前のバックアップのバックアップ識別子に対応するメタデータオブジェクト識別子をクエリする。
【０１１４】
ステップ３６０の後に、オブジェクトベース記憶システム１４０は、メタデータ取得要求を受信し、バックアップサーバ１３０へ、前のバックアップに対応するバックアップメタデータを送信する。
【０１１５】
３７０。オブジェクトベース記憶システム１４０により送信された且つ前のバックアップに対応するバックアップメタデータを受信した後に、バックアップサーバ１３０は、前のバックアップに対応するバックアップメタデータを変更して、増分バックアップのバックアップメタデータとして変更バックアップメタデータを取得する。
【０１１６】
バックアップサーバ１３０は、増分データに対応するオブジェクトのポインタを変更する。ここで、変更されたポインタは、オブジェクトの属する新大型オブジェクトの中の、オブジェクトベース記憶システム１４０に格納された増分データに対応するオブジェクトの位置を示すために使用される。
【０１１７】
例えば、前述の表１に関連するディスクデータの一部の中の幾つかのデータを変更することは、例えば、変更バックアップメタデータの表現形式を記述するために使用される。表１に関連するディスクデータの一部に基づき、バックアップサーバ１３０が大型オブジェクトB内の第１オブジェクトB１の中の少なくとも１つのデータスライス及び大型オブジェクトD内の第１オブジェクトD１の中の少なくとも１つのデータスライスを変更した場合、バックアップシステムは、増分バックアップ中に新大型オブジェクトEを生成する。バックアップサーバ１３０は、新大型オブジェクトEに、変更データスライスの属するオブジェクトを格納する。したがって、新大型オブジェクトEは、変更データスライスを有する２つのオブジェクトを含む。バックアップサーバ１３０が新大型オブジェクトEに変更データスライスの属するオブジェクトを格納した後に、バックアップサーバ１３０は、表１に関連するバックアップメタデータを取得し、表１に関連するバックアップメタデータを変更する。変更バックアップメタデータの一部は、以下の表２に示される。
【表２】
0006968876.tif 000003
【０１１８】
変更バックアップメタデータを取得した後に、バックアップサーバ１３０は、増分バックアップのバックアップメタデータのメタデータオブジェクト識別子を生成し、次に増分バックアップのバックアップ属性情報を生成する。増分バックアップのバックアップ属性情報は、増分バックアップのバックアップ識別子、メタデータオブジェクト識別子、及びバックアップ時点を含む。バックアップサーバ１３０は、増分バックアップのバックアップ属性情報と仮想機械ディスク識別子との間の対応を格納する。
【０１１９】
３８０。バックアップサーバ１３０は、増分バックアップの変更バックアップメタデータ及びメタデータオブジェクト識別子をオブジェクトベース記憶システム１４０へ送信する。
【０１２０】
増分バックアップのバックアップメタデータをオブジェクトベース記憶システム１４０へ送信するとき、バックアップサーバ１３０は、増分バックアップに対応するメタデータオブジェクト識別子に対応するオブジェクトに、増分バックアップのバックアップメタデータを格納するよう、オブジェクトベース記憶システム１４０に指示する。
【０１２１】
ステップ３８０の後に、オブジェクトベース記憶システム１４０は、増分バックアップのメタデータオブジェクト識別子に対応するオブジェクトに、増分バックアップ中に生成されたバックアップメタデータを格納し、次に、増分データのメタデータ記憶完了メッセージをバックアップサーバ１３０へ送信する。
【０１２２】
前述のステップ３００〜３８０は、バックアップシステムがオブジェクトベース記憶方式で仮想機械ディスクデータをどのように増分バックアップするかの方法を記載した。仮想機械ディスクデータのフルバックアップ又は増分バックアップが完了した後に、バックアップシステムの記憶空間を節約するために、本発明の本実施形態では、バックアップサーバ１３０は、オブジェクトベース記憶システム１４０の中の仮想機械ディスクデータの全バックアップの中の非期限切れバックアップの合計数を検出する。オブジェクトベース記憶システム１４０の中のディスクデータの全バックアップの中の非期限切れバックアップの合計数が所定値を超える場合、オブジェクトベース記憶システム１４０の中の全ての非期限切れバックアップの中で最も前のバックアップが期限切れバックアップとして決定され、バックアップシステムは、バックアップシステムの記憶空間を節約するために、全ての非期限切れバックアップの中の最も前のバックアップを更に処理する。以下は、本発明の一実施形態による期限切れバックアップ処理方法を記載する。
【０１２３】
図４を参照すると、図４は、本発明の一実施形態による期限切れバックアップ処理方法のフローチャートである。図４に示すように、本発明の本実施形態で提供される期限切れバックアップ処理方法は以下のステップを含む。
【０１２４】
４００。仮想機械ディスクデータの第１期限切れバックアップを決定した後に、バックアップサーバ１３０は、第１期限切れバックアップ情報取得要求をオブジェクトベース記憶システム１４０へ送信する。第１期限切れバックアップ情報取得要求は、第１期限切れバックアップのメタデータオブジェクト識別子、及び第１期限切れバックアップの次のバックアップのメタデータオブジェクト識別子を含む。
【０１２５】
ステップ４００の前に、バックアップサーバ１３０は、仮想機械ディスクデータの第１期限切れバックアップを決定する。
【０１２６】
第１期限切れバックアップを決定する処理は以下を含む。バックアップサーバ１３０は、バックアップサーバ１３０に格納された全てのバックアップ属性情報のピース数を検出する。バックアップサーバ１３０に格納された全てのバックアップ属性情報のピース数が所定値を超えた場合、バックアップサーバ１３０は、バックアップ属性情報に基づき、仮想機械ディスクデータの全てのバックアップの中の第１期限切れバックアップのバックアップ識別子をクエリする。第１期限切れバックアップは、現在第１時点までにオブジェクトベース記憶システム１４０において実行された仮想機械ディスクデータの全ての非期限切れバックアップの中で最も前のバックアップである。
【０１２７】
仮想機械ディスクデータの第１期限切れバックアップを決定した後に、且つ第１期限切れバックアップ情報取得要求を送信する前に、バックアップサーバ１３０は、先ず、第１期限切れバックアップのバックアップ識別子をクエリし、次に、第１期限切れバックアップのバックアップ識別子に基づき、第１期限切れバックアップのバックアップ識別子に対応するメタデータオブジェクト識別子をクエリする。さらに、第１期限切れバックアップ情報取得要求を送信する前に、バックアップサーバ１３０は、先ず、第１期限切れバックアップの次のバックアップのバックアップ識別子をクエリし、次に、第１期限切れバックアップの次のバックアップのバックアップ識別子に基づき、第１期限切れバックアップの次のバックアップのバックアップ識別子に対応するメタデータオブジェクト識別子をクエリする。第１期限切れバックアップのメタデータオブジェクト識別子及び第１期限切れバックアップの次のバックアップのメタデータオブジェクト識別子を決定した後に、バックアップサーバ１３０は、第１期限切れバックアップ情報取得要求をオブジェクトベース記憶システム１４０へ送信して、第１期限切れバックアップのメタデータオブジェクト識別子及び第１期限切れバックアップの次のバックアップのメタデータオブジェクト識別子に対応するバックアップメタデータをバックアップサーバ１３０へ送信するよう、オブジェクトベース記憶システム１４０に指示する。
【０１２８】
４１０。第１期限切れバックアップ情報取得要求を受信した後に、オブジェクトベース記憶システム１４０は、第１期限切れバックアップのメタデータオブジェクト識別子に基づき第１期限切れバックアップのバックアップメタデータをクエリし、第１期限切れバックアップの次のバックアップのメタデータオブジェクト識別子に基づき第１期限切れバックアップの次のバックアップのバックアップメタデータをクエリする。
【０１２９】
４１１。オブジェクトベース記憶システム１４０は、第１期限切れバックアップのバックアップメタデータ及び第１期限切れバックアップの次のバックアップのバックアップメタデータをバックアップサーバ１３０へ送信する。
【０１３０】
４２０。第１期限切れバックアップに対応するバックアップメタデータ及び第１期限切れバックアップの次のバックアップのバックアップメタデータを受信した後に、バックアップサーバ１３０は、第１期限切れバックアップに対応するバックアップメタデータ及び第１期限切れバックアップの次のバックアップのバックアップメタデータに基づき、第１期限切れバックアップの中の有効データ及び無効データを識別する。
【０１３１】
第１期限切れバックアップの中の有効データ及び無効データを決定する特定の実装は以下を含む。バックアップサーバ１３０は、先ず、第１期限切れバックアップのバックアップメタデータを、第１期限切れバックアップの次のバックアップに対応するバックアップメタデータと比較して、第１期限切れバックアップに対応するバックアップメタデータ及び次のバックアップに対応するバックアップメタデータの中の同じ構成位置が同じオブジェクトを指すか否かを決定する。同じ構成位置が同じオブジェクトを指す場合、これは、第１期限切れバックアップの中で構成位置の指すオブジェクトが有効データであることを示す。その他の場合、同じ構成位置が異なるオブジェクトを指す場合、これは、第１期限切れバックアップの中で構成位置の指すオブジェクトが無効データであることを示す。
【０１３２】
４２１。第１期限切れバックアップの中の無効データを決定した後に、バックアップサーバ１３０は、仮想機械ディスクデータの第１削除ログを生成し、第１期限切れバックアップの中の無効データのポインタを第１削除ログに格納する。
【０１３３】
例えば、表１に示される、フルバックアップに関するバックアップメタデータ内の幾つかのオブジェクトのポインタ、及び表２に示される、増分バックアップに関するバックアップメタデータ内の幾つかのオブジェクトのポインタに基づき、表１に対応するフルバックアップが第１期限切れバックアップであり、且つ表２に対応する増分バックアップが第１期限切れバックアップの次のバックアップである場合、第１期限切れバックアップの中の大型オブジェクトB内の第１オブジェクトのポインタB１に対応するオブジェクトは無効データであり、大型オブジェクトD内の第１オブジェクトのポインタD１に対応するオブジェクトは無効データである。第１期限切れバックアップに対応する生成された第１削除ログに記録された幾つかの無効データのポインタについては、表３に示す内容を参照する。
【表３】
0006968876.tif 000004
【０１３４】
本発明の本実施形態では、前述のステップ４２１の後に、つまりバックアップサーバ１３０が第１削除ログを生成した後に、バックアップサーバ１３０は、第１期限切れバックアップメタデータ削除命令をオブジェクトベース記憶システム１４０へ送信して良い。第１期限切れバックアップメタデータ削除命令は、第１期限切れバックアップのバックアップメタデータに対応するメタデータオブジェクト識別子を含む。第１期限切れバックアップメタデータ削除命令は、第１期限切れバックアップのバックアップメタデータを削除するよう指示するために使用される。バックアップサーバ１３０が第１期限切れバックアップメタデータ削除命令をオブジェクトベース記憶システム１４０へ送信した後に、オブジェクトベース記憶システム１４０は、第１期限切れバックアップメタデータ削除命令に基づき第１期限切れバックアップのバックアップメタデータを削除して良い。
【０１３５】
さらに、本発明の本実施形態では、バックアップサーバ１３０が削除ログを生成した後に、バックアップサーバ１３０は、さらに、第１期限切れバックアップのバックアップ属性情報を削除する。バックアップサーバ１３０が第１期限切れバックアップのバックアップ属性情報を削除した後に、バックアップサーバ１３０に格納された残りのバックアップ属性情報は、非期限切れバックアップのバックアップ属性情報である。したがって、第１期限切れバックアップのバックアップ属性情報が削除された後、後の増分バックアップ後に、バックアップサーバ１３０は、全ての格納されたバックアップ属性情報のピース数を検出して、全ての非期限切れバックアップの合計数が所定値を超えたか否かを検出して良い。
【０１３６】
４２２。バックアップサーバ１３０は、オブジェクトベース記憶システム１４０へ第１削除ログを送信する。
【０１３７】
４３０。第１削除ログを受信した後に、オブジェクトベース記憶システム１４０は、第１削除ログをオブジェクトベース記憶システム１４０に格納する。
【０１３８】
第１削除ログをオブジェクトベース記憶システム１４０に格納した後に、オブジェクトベース記憶システム１４０は、削除ログ記憶完了メッセージをバックアップサーバ１３０へ送信して、第１削除ログがオブジェクトベース記憶システム１４０に格納されたことをバックアップサーバ１３０に通知して良い。
【０１３９】
続いて、仮想機械ディスクデータが更に変更された場合、バックアップサーバ１３０は、図３に示されるステップを通じて仮想機械ディスクデータを更に増分バックアップして良い。
【０１４０】
例えば、表２に対応する増分バックアップの後に、仮想機械ディスクデータの中で大型オブジェクトA内の第１オブジェクトA１、大型オブジェクトC内の第１オブジェクトC１、及び大型オブジェクトE内の第２オブジェクトE２の中のデータスライスが変更された場合、変更データスライスの属するオブジェクトが増分バックアップされた後に、変更データスライスの属するオブジェクトは大型オブジェクトFに格納される。この場合、増分バックアップのバックアップメタデータは、以下の表４に示される。
【表４】
0006968876.tif 000005
【０１４１】
表４に対応する増分バックアップの後に、オブジェクトベース記憶システム１４０内の仮想機械ディスクデータの全てのバックアップの中の非期限切れバックアップの合計数が所定値を超えた場合、バックアップサーバ１３０は、オブジェクトベース記憶システム１４０内の全ての非期限切れバックアップの中で最も前のバックアップを第２期限切れバックアップとして決定する。第２期限切れバックアップを決定した後に、バックアップサーバ１３０は、仮想機械ディスクデータの第２削除ログを生成し、第２期限切れバックアップの中の無効データのポインタを第２削除ログに格納する。第２期限切れバックアップは、現在第２時点までにオブジェクトベース記憶システム１４０において実行された仮想機械ディスクデータの全ての非期限切れバックアップの中で最も前のバックアップである。本発明の本実施形態の期限切れバックアップ処理方法に基づき、期限切れバックアップが決定された後の毎回の処理方法については、図４に示されるステップ４００〜４３０についての詳細を参照する。特定の実装の詳細はここで再び記載されない。
【０１４２】
例えば、表４に対応する増分バックアップの後に、表２に対応する増分バックアップが第２期限切れバックアップである場合、生成された第２削除ログに記録される幾つかの無効データのポインタについては、以下の表５に示される内容を参照する。
【表５】
0006968876.tif 000006
【０１４３】
別の例では、表４に対応する増分バックアップについて、仮想機械ディスクデータの中で大型オブジェクトA内の第２オブジェクトA２及び大型オブジェクトA内の第３オブジェクトA３の中のデータスライスが変更された場合、変更データスライスの属するオブジェクトが増分バックアップされた後に、変更データスライスの属するオブジェクトは大型オブジェクトGに格納される。この場合、増分バックアップのバックアップメタデータは、以下の表６に示される。
【表６】
0006968876.tif 000007
【０１４４】
表６に対応する増分バックアップの後に、オブジェクトベース記憶システム１４０内の仮想機械ディスクデータの全てのバックアップの中の非期限切れバックアップの合計数が所定値を超えたことを検出した場合、バックアップサーバ１３０は、オブジェクトベース記憶システム１４０内の全ての非期限切れバックアップの中で最も前のバックアップを第３期限切れバックアップとして決定する。第３期限切れバックアップを決定した後に、バックアップサーバ１３０は、仮想機械ディスクデータの第３削除ログを生成し、第３期限切れバックアップの中の無効データのポインタを第３削除ログに格納する。第３期限切れバックアップは、現在第３時点までにオブジェクトベース記憶システム１４０において実行された仮想機械ディスクデータの全ての非期限切れバックアップの中で最も前のバックアップである。本発明の本実施形態の期限切れバックアップ処理方法に基づき、期限切れバックアップが決定された後の毎回の処理方法については、図４に示されるステップ４００〜４３０についての詳細を参照する。特定の実装の詳細はここで再び記載されない。
【０１４５】
例えば、表６に対応する増分バックアップの後に、表４に対応する増分バックアップが第３期限切れバックアップである場合、生成された第３削除ログに記録される幾つかの無効データのポインタについては、以下の表７に示される内容を参照する。
【表７】
0006968876.tif 000008
【０１４６】
仮想機械ディスクの複数の期限切れバックアップにそれぞれ対応する削除ログをオブジェクトベース記憶システム１４０に格納する目的は、バックアップシステムが後に、無効データを含む全てのオブジェクトを処理するために、全ての削除ログに基づき、期限切れバックアップ内の且つ無効データを含む全てのオブジェクトを決定することを可能にするためである。無効データを含む全てのオブジェクトは、無効データ及び有効データを含む大型オブジェクトを有して良く、無効データのみを含む大型オブジェクト又は無効データであるオブジェクトを更に有して良い。
【０１４７】
バックアップサーバ１３０が削除ログをオブジェクトベース記憶システム１４０に格納した後に、削除条件が満たされることを検出すると、バックアップサーバ１３０は、蓄積削除ログに基づき期限切れデータ削除手順を開始する。以下は、バックアップサーバ１３０が蓄積削除ログに基づきどのように期限切れデータを削除するかを詳細に記載する。図５を参照すると、図５は、本発明の一実施形態による蓄積削除ログに基づきバックアップサーバにより期限切れデータを削除する方法のフローチャートである。図５に示すように、本発明の本実施形態で提供される、蓄積削除ログに基づきバックアップサーバ１３０により期限切れデータを削除する方法は、以下のステップを含む。
【０１４８】
５００。バックアップサーバ１３０は、オブジェクトベース記憶システム１４０に格納された且つオブジェクトベース記憶システム１４０により送信された第１ディスクデータに対応する複数の削除ログを受信する。
【０１４９】
オブジェクトベース記憶システム１４０により送信された複数の削除ログを受信する前に、バックアップサーバ１３０は、削除条件が満たされるか否かを検出し、削除条件が満たされる場合、オブジェクトベース記憶システム１４０から仮想機械ディスクデータの全ての削除ログを取得する。プリセット削除閾を超えたか否かが検出され、プリセット削除閾を超えた場合、削除条件は満たされる。或いは、プリセット削除時間に達したか否かが検出され、プリセット削除時間に達した場合、削除条件は満たされる。或いは、削除条件が満たされた最終時間の後に計時が開始され、計時が終了したか否かが検出され、計時が終了した場合、削除条件は満たされる。バックアップサーバ１３０は、第１ディスクデータに対応する複数の削除ログがプリセット削除閾に達したか否かを検出するために、第１ディスクデータに対応する削除ログのログオブジェクト識別子の数がプリセット削除閾に達したか否かを検出して良い。オブジェクトベース記憶システム１４０に格納された第１ディスクデータに対応する複数の削除ログは、例えば、前述の例において記載された第１削除ログ、第２削除ログ、及び第３削除ログであって良い。
【０１５０】
５０１。オブジェクトベース記憶システム１４０により送信された複数の削除ログを受信した後に、全ての削除ログに基づき、バックアップサーバ１３０は、オブジェクトベース記憶システム１４０に格納された且つ無効データ及び有効データを含む全ての大型オブジェクトを決定し、無効データのみを含む全ての大型オブジェクトを決定する。
【０１５１】
ステップ５０１で、バックアップサーバ１３０は、無効データを含む大型オブジェクト内の無効データのピース数、及び無効データを含む大型オブジェクトの実際のデータ容量に基づき、オブジェクトが無効データ及び有効データを含む大型オブジェクトか又は無効データのみを含む大型オブジェクトかを決定する。
【０１５２】
バックアップサーバ１３０が、無効データを含む大型オブジェクト内の無効データのピース数、及び無効データを含む大型オブジェクトの実際のデータ容量に基づき、大型オブジェクトが無効データ及び有効データを含む大型オブジェクトか又は無効データのみを含む大型オブジェクトかを決定する実装は以下の通りである。バックアップサーバ１３０は、無効データを含む大型オブジェクト内の無効データのピース数、及び無効データサイズに基づき、無効データを含む大型オブジェクトの目標データ容量を決定し、バックアップサーバ１３０は、無効データを含む大型オブジェクトの実際のデータ容量を取得する。無効データを含む大型オブジェクトの目標データ容量が無効データを含む大型オブジェクトの実際のデータ容量より少ない場合、無効データを含む大型オブジェクトは、無効データ及び有効データを含む大型オブジェクトである。無効データを含む大型オブジェクトの目標データ容量が無効データを含む大型オブジェクトの実際のデータ容量に等しい場合、無効データを含む大型オブジェクトは、無効データのみを含む大型オブジェクトである。
【０１５３】
バックアップサーバ１３０が無効データを含む大型オブジェクトの実際のデータ容量を取得する実装は以下の通りである。バックアップサーバ１３０は、オブジェクトベース記憶システム１４０へデータ容量決定要求を送信する。データ容量決定要求は、無効データを含む大型オブジェクトの識別子を伝達し、データ容量決定要求は、無効データを含む大型オブジェクトの実際のデータ容量を送信するよう、オブジェクトベース記憶システム１４０に指示するために使用される。データ容量決定要求を受信した後に、オブジェクトベース記憶システム１４０は、バックアップサーバ１３０へデータ容量属性情報を送信する。バックアップサーバ１３０は、データ容量属性情報を受信する。データ容量属性情報は、無効データを含む大型オブジェクトの実際のデータ容量を伝達する。
【０１５４】
例えば、バックアップサーバ１３０が無効データを含む大型オブジェクト内の無効データのピース数及び無効データを含む大型オブジェクトの実際のデータ容量に基づき、大型オブジェクトが無効データ及び有効データを含む大型オブジェクトであるか又は無効データのみを含む大型オブジェクトであるかを決定する前述の実装に基づき、無効データを含み且つバックアップサーバ１３０により前述の例において記載された第１削除ログ、第２削除ログ、及び第３削除ログに基づき決定された大型オブジェクトは、大型オブジェクトB、大型オブジェクトD、大型オブジェクトA、大型オブジェクトC、及び大型オブジェクトEを含む。大型オブジェクトBは無効データ及び有効データを含む大型オブジェクトであり、大型オブジェクトDは無効データのみを含む大型オブジェクトであり、大型オブジェクトAは無効データのみを含む大型オブジェクトであり、大型オブジェクトCは無効データのみを含む大型オブジェクトであり、大型オブジェクトEは無効データ及び有効データを含む大型オブジェクトである。
【０１５５】
代替として、大型オブジェクトが有効データ及び無効データを含む大型オブジェクトであることをバックアップサーバが決定する２つの他の方法がある。方法１。無効データを含む大型オブジェクトを決定した後に、バックアップサーバは、オブジェクトベース記憶システムから、大型オブジェクト内の全てのオブジェクトのポインタを要求する。大型オブジェクト内の幾つかのオブジェクトのポインタが、削除ログに記録された、大型オブジェクトの無効データのポインタである場合、バックアップサーバは、大型オブジェクトが有効データ及び無効データを含む大型オブジェクトであることを決定する。方法２。無効データを含む大型オブジェクトを決定した後に、バックアップサーバは、オブジェクトベース記憶システムから、大型オブジェクト内の全てのオブジェクトのポインタの数を要求する。削除ログに記録された、大型オブジェクトの全ての無効データのポインタの数が、オブジェクトベース記憶システムからの要求した、大型オブジェクト内の全てのオブジェクトのポインタの数より少ない場合、バックアップサーバは、大型オブジェクトが有効データ及び無効データを含む大型オブジェクトであることを決定する。
【０１５６】
同様に、代替として、大型オブジェクトが無効データのみを含む大型オブジェクトであることをバックアップサーバが決定する２つの他の方法がある。方法１。無効データを含む大型オブジェクトを決定した後に、バックアップサーバは、オブジェクトベース記憶システムから、大型オブジェクト内の全てのオブジェクトのポインタを要求する。大型オブジェクト内の全てのオブジェクトのポインタが、削除ログに記録された、大型オブジェクトの無効データのポインタである場合、バックアップサーバは、大型オブジェクトが無効データのみを含むことを決定する。方法２。無効データを含む大型オブジェクトを決定した後に、バックアップサーバは、オブジェクトベース記憶システムから、大型オブジェクト内の全てのオブジェクトのポインタの数を要求する。削除ログに記録された、大型オブジェクトの全ての無効データのポインタの数が、オブジェクトベース記憶システムからの要求した、大型オブジェクト内の全てのオブジェクトのポインタの数に等しい場合、バックアップサーバは、大型オブジェクトが無効データのみを含む大型オブジェクトであることを決定する。
【０１５７】
ステップ５０１で、無効データ及び有効データを含む全ての大型オブジェクトが決定された後に、且つ無効データのみを含む全ての大型オブジェクトが決定された後に、それぞれ異なる対応する処理方法がある。詳細については、以下の記載を参照する。
【０１５８】
全ての削除ログに基づき、無効データ及び有効データを含む全ての大型オブジェクトを決定した後に、バックアップサーバ１３０は、以下のステップ５１０〜５６０を順次実行する。具体的に言うと、バックアップサーバ１３０は、オブジェクトベース記憶システム１４０から、無効データ及び有効データを含む全ての大型オブジェクトを取得し、無効データ及び有効データを含む全ての大型オブジェクト内の有効データを、オブジェクトベース記憶システム１４０において生成された少なくとも１つの新大型オブジェクトに格納し、次に、無効データ及び有効データを含む全ての大型オブジェクトを削除するようオブジェクトベース記憶システム１４０に指示する。特定の実装については、以下のステップ５１０〜５６０を参照する。
【０１５９】
さらに、全ての削除ログに基づき、無効データのみを含む全ての大型オブジェクトを決定した後に、バックアップサーバ１３０は、以下のステップ５７０及び５８０を順次実行する。具体的に言うと、バックアップサーバ１３０は、無効データのみを含む全ての大型オブジェクトを削除するよう、オブジェクトベース記憶システム１４０に指示する。特定の実装については、以下のステップ５７０及び５８０を参照する。
【０１６０】
本実装では、ステップ５７０及びステップ５１０は、必ずしも特定の順序で実行される必要がない。
【０１６１】
以下は、先ず、バックアップサーバ１３０が複数の削除ログに基づき、無効データ及び有効データを含む全ての大型オブジェクトを決定した後の処理方法を記載し、該処理方法は、具体的に以下のステップ５１０〜５６０を含む。
【０１６２】
５１０。全ての削除ログに基づき、オブジェクトベース記憶システム１４０内にあり且つ無効データ及び有効データを含む少なくとも１つの大型オブジェクトを決定した後に、バックアップサーバ１３０は、大型オブジェクト取得要求をオブジェクトベース記憶システム１４０へ送信する。大型オブジェクト取得要求は、無効データ及び有効データを含む大型オブジェクトの識別子を含む。
【０１６３】
例えば、全ての期限切れバックアップの中の且つ無効データ及び有効データを含む全ての大型オブジェクトは、第１目標大型オブジェクトを含む。大型オブジェクト取得要求は、第１目標大型オブジェクトの識別子を含む。第１目標大型オブジェクトは、大型オブジェクトB及び大型オブジェクトEのいずれかであって良い。
【０１６４】
大型オブジェクト取得要求は、無効データ及び有効データを含む少なくとも１つの大型オブジェクトの識別子を含む。例えば、無効データ及び有効データを含む１より多くの大型オブジェクトが、削除ログに基づきバックアップサーバ１３０により決定された場合、バックアップサーバ１３０が大型オブジェクト取得要求を送信する複数の実装がある。例えば、バックアップサーバ１３０は、無効データ及び有効データを含む複数の大型オブジェクトを取得するよう要求するために、オブジェクトベース記憶システム１４０へ複数の大型オブジェクト取得要求を送信する。各大型オブジェクト取得要求は、有効データ及び無効データを含む１つの大型オブジェクトの識別子を含む。代替として、バックアップサーバ１３０は、複数の大型オブジェクトを取得するよう要求するために、１つの大型オブジェクト取得要求を送信する。大型オブジェクト取得要求は、有効データ及び無効データを含む複数の大型オブジェクトの識別子を含む。
【０１６５】
５１１。バックアップサーバ１３０は、オブジェクトベース記憶システム１４０内にあり且つ無効データ及び有効データを含む大型オブジェクトを決定した後に、少なくとも１つの新大型オブジェクト識別子を生成する。少なくとも１つの新大型オブジェクト識別子は、少なくとも１つの新大型オブジェクトと１対１対応にある。本実装では、ステップ５１０及び５１１は、必ずしも特定の順序で実行される必要がない。本実施形態では、例えば、少なくとも１つの新大型オブジェクトは第１新大型オブジェクトを含む。
【０１６６】
オブジェクトベース記憶システム１４０内にあり且つ無効データ及び有効データを含む大型オブジェクトを決定した後に、バックアップサーバ１３０は、無効データ及び有効データを含む少なくとも１つの大型オブジェクト内の有効データのピース数及び大型オブジェクトに実際に格納可能なオブジェクトの数に基づき、生成されるべき新大型オブジェクト識別子の数を決定する。生成されるべき新大型オブジェクト識別子の数は、無効データ及び有効データを含む少なくとも１つの大型オブジェクト内の全ての有効データのピース数を大型オブジェクトに実際に格納可能な複数のオブジェクトの数により除算した、端数を切り捨てた商に、１を加算する演算の後に得られた数である。例えば、無効データ及び有効データを含む２つの大型オブジェクト：大型オブジェクトB及び大型オブジェクトEがある。大型オブジェクトB内のB２及び大型オブジェクトE内のE１は有効データである。有効データのピース数は２である。新大型オブジェクトに実際に格納可能なオブジェクトの数が３である場合、生成されるべき新大型オブジェクト識別子の数は１である。
【０１６７】
代替として、新大型オブジェクト識別子を生成する前に、バックアップサーバ１３０は、先ず、決定された有効データポインタシーケンスに基づき、新大型オブジェクトに格納されるべき有効データの複数のピースのポインタを順次決定し、有効データの複数のピースの順次決定したポインタの数が大型オブジェクトに実際に格納可能なオブジェクトの数に達すると、新大型オブジェクト識別子を生成して良い。その後の残りの有効データについて、バックアップサーバ１３０は、また、その後の残りの有効データから、有効データポインタシーケンスに基づき、別の新大型オブジェクトに格納されるべき有効データの複数のピースのポインタを順次決定し、有効データの複数のピースの順次決定したポインタの数が、大型オブジェクトに実際に格納可能な複数のオブジェクトの数に達すると、別の新大型オブジェクト識別子を生成し、以下同様にして、複数の新大型オブジェクト識別子を生成して良い。
【０１６８】
５２０。大型オブジェクト取得要求を受信した後に、オブジェクトベース記憶システム１４０は、大型オブジェクト取得要求に基づき、大型オブジェクト識別子に対応する大型オブジェクトをクエリする。例えば、オブジェクトベース記憶システム１４０は、大型オブジェクト取得要求の中の第１目標大型オブジェクト識別子に基づき、対応する第１目標大型オブジェクトをクエリする。
【０１６９】
ステップ５１０の後、ステップ５２０が実行される。例えば、大型オブジェクト取得要求の中の第１目標大型オブジェクト識別子に基づき、オブジェクトベース記憶システム１４０によるクエリを通じて取得された対応する第１目標大型オブジェクトは、大型オブジェクトB又は大型オブジェクトEであって良い。
【０１７０】
５２１。オブジェクトベース記憶システム１４０は、バックアップサーバ１３０へ、クエリを通じて取得された大型オブジェクトを送信する。ステップ５２０の後、ステップ５２１が実行される。
【０１７１】
例えば、オブジェクトベース記憶システム１４０は、バックアップサーバ１３０へ、クエリを通じて取得された第１目標大型オブジェクトを送信する。例えば、オブジェクトベース記憶システム１４０は、バックアップサーバ１３０へ、クエリを通じて取得された大型オブジェクトB又は大型オブジェクトEを送信する。
【０１７２】
５３０。バックアップサーバ１３０は、無効データ及び有効データを含む少なくとも１つの大型オブジェクトを受信した後に、有効データ移動命令を生成する。
【０１７３】
有効データ移動命令は、新大型オブジェクト識別子、及び無効データ及び有効データを含む少なくとも１つの大型オブジェクト内の有効データの少なくとも１つのピースを含む。有効データ移動命令は、無効データ及び有効データを含む大型オブジェクト内の有効データの少なくとも１つのピースを、新大型オブジェクト識別子に対応する新大型オブジェクトに格納するよう、オブジェクトベース記憶システム１４０に指示するために使用される。
【０１７４】
有効データ移動命令は、新大型オブジェクト内の、移動有効データの位置の識別子を更に含む。新大型オブジェクト内の、移動有効データの位置の識別子は、新大型オブジェクト内の移動有効データの位置を示すために使用される。
【０１７５】
無効データ及び有効データを含む大型オブジェクトを受信した後に、バックアップサーバ１３０は、無効データ及び有効データを含む大型オブジェクトをパースして、無効データ及び有効データを含む大型オブジェクト内の有効データを決定する。バックアップサーバ１３０は、少なくとも１つの大型オブジェクト内の有効データの少なくとも１つのピースを決定した後に、有効データ移動命令を生成する。
【０１７６】
有効データ移動命令の中の有効データの少なくとも１つのピースの複数の実装がある。任意的実装では、有効データ移動命令の中の有効データの少なくとも１つのピースは、無効データ及び有効データを含む２以上の大型オブジェクトの各々の中の有効データの少なくとも１つのピースを含んで良い。例えば、有効データ移動命令の中の有効データの少なくとも１つのピースは、無効データ及び有効データを含む少なくとも１つの大型オブジェクト内の全ての有効データ、並びに無効データ及び有効データを含む別の大型オブジェクト内の有効データの一部又は全部を含んで良い。
【０１７７】
バックアップサーバ１３０により生成された有効データ移動命令の数は、本願の本実施形態により限定されない。例えば、バックアップサーバ１３０は、少なくとも１つの有効データ移動命令を生成して良い。具体的に言うと、バックアップサーバ１３０は、１つの有効データ移動命令を生成し得るだけでなく、より多くの有効データ移動命令を生成しても良い。各有効データ移動命令の中の有効データの少なくとも１つのピースは、無効データ及び有効データを含む少なくとも１つの大型オブジェクト内の有効データの一部又は全部を含んで良い。
【０１７８】
各有効データ移動命令の中の有効データの少なくとも１つのピースが、無効データ及び有効データを含む少なくとも１つの大型オブジェクト内の有効データの一部を含むとき、バックアップサーバ１３０は、無効データ及び有効データを含む大型オブジェクト内の全部の有効データをオブジェクトベース記憶システム１４０へ送信するために、複数の有効データ移動命令を送信して良い。
【０１７９】
有効データ及び無効データを含む第１目標大型オブジェクトは、各有効データ移動命令の実装を記載するために一例として使用される。例えば、有効データ移動命令は、第１新大型オブジェクト識別子、及び第１目標大型オブジェクト内の有効データの少なくとも１つのピースを含む。有効データ移動命令は、有効データ移動命令の中の第１目標大型オブジェクト内の有効データの少なくとも１つのピースを、第１新大型オブジェクト識別子に対応する第１新大型オブジェクトに格納するよう、オブジェクトベース記憶システム１４０に指示するために使用される。例えば、第１目標大型オブジェクトが大型オブジェクトBであるとき、有効データ移動命令に含まれる第１目標大型オブジェクト内の有効データの少なくとも１つのピースは、B２であって良い。例えば、第１目標大型オブジェクトが大型オブジェクトEであるとき、有効データ移動命令に含まれる第１目標大型オブジェクト内の有効データの少なくとも１つのピースは、E１であって良い。バックアップサーバ１３０は、２つの有効データ移動命令を生成して良く、一方の有効データ移動命令は有効データB２を含み、他方の有効データ移動命令はE１を含む。代替として、バックアップサーバ１３０は、１つの有効データ移動命令を生成して良く、有効データ移動命令は有効データB２及びE１の２つのピースを含む。
【０１８０】
５３１。有効データ移動命令をオブジェクトベース記憶システム１４０へ送信する。
【０１８１】
５４０。有効データ移動命令を受信した後に、オブジェクトベース記憶システム１４０は、有効データ移動命令に含まれる有効データの少なくとも１つのピースを、オブジェクトベース記憶システム１４０内の且つ新大型オブジェクト識別子に対応する新大型オブジェクトに格納する。
【０１８２】
ステップ５４０の後、つまり、オブジェクトベース記憶システム１４０が有効データ移動命令に含まれる有効データの少なくとも１つのピースをオブジェクトベース記憶システム１４０内の且つ新大型オブジェクト識別子に対応する新大型オブジェクトに格納した後に、オブジェクトベース記憶システム１４０は、有効データ記憶完了情報をバックアップサーバ１３０へ送信して、バックアップサーバ１３０に、有効データ移動命令に含まれる全ての有効データが格納されたことを通知する。
【０１８３】
全ての削除ログに基づき、無効データ及び有効データを含む全ての大型オブジェクトを決定した後に、バックアップサーバ１３０は、前述のステップ５１０〜５４０を通じて、無効データ及び有効データを含む全ての大型オブジェクト内の全ての有効データを、オブジェクトベース記憶システム１４０内の少なくとも１つの新大型オブジェクトに格納する。
【０１８４】
前述のステップ５１０〜５４０に基づき、オブジェクトベース記憶システム１４０が無効データ及び有効データを含む全ての大型オブジェクト内の有効データをオブジェクトベース記憶システム１４０内の少なくとも１つの新大型オブジェクトに格納した後に、ステップ５４１〜５６０が順次実行される。具体的に言うと、バックアップサーバ１３０は、移動後の有効データのポインタを生成する。移動後の有効データのポインタは、新大型オブジェクトに格納された後の、新大型オブジェクト内の有効データの位置を示すために使用される。バックアップサーバ１３０が移動後の有効データのポインタを生成した後に、バックアップサーバ１３０は、移動前の有効データのポインタと移動後の有効データのポインタとの間の対応を記録し、期限切れデータを削除するために、バックアップサーバ１３０により全ての削除ログに基づき決定された且つ無効データ及び有効データを含む大型オブジェクトを削除する。特定の処理の詳細については、以下のステップ５４１〜５６０を参照する。
【０１８５】
５４１。バックアップサーバ１３０は、移動後の有効データのポインタを決定する。ステップ５４１及び５３１は、必ずしも特定の順序で実行される必要がない。
【０１８６】
バックアップサーバ１３０は、オブジェクトベース記憶システム１４０により送信された有効データ記憶完了情報を受信した後に、移動後の有効データのポインタを決定して良い。移動後の有効データのポインタは、新大型オブジェクトに格納された後の、新大型オブジェクト内の有効データの位置を示すために使用される。バックアップサーバ１３０は、前述のステップ５３０で生成された有効データ移動命令の中の、新大型オブジェクト内の有効データの位置の識別子に基づき、移動後の有効データのポインタを決定して良い。
【０１８７】
５４２。バックアップサーバ１３０は、移動ログを生成し、移動前の有効データのポインタと移動後の有効データのポインタとの間の対応を、移動ログに格納する。
【０１８８】
ステップ５４２で、移動ログを生成する前に、バックアップサーバ１３０は、予め移動ログのオブジェクト識別子を生成し、仮想機械ディスク識別子と移動ログのオブジェクト識別子との間の対応を格納する。
【０１８９】
バックアップサーバ１３０が仮想機械ディスクデータをバックアップした後に、クライアント１１０は仮想機械ディスクデータを頻繁に復旧しない。したがって、本発明の本実施形態で提供される期限切れバックアップ処理方法では、期限切れバックアップが処理されるときに毎回、期限切れバックアップの中の有効データが新大型オブジェクトに移動された後に、バックアップシステムは全ての非期限切れバックアップにそれぞれ対応するバックアップメタデータを更新しないが、移動ログを生成し、期限切れバックアップの中の移動後の有効データのポインタを移動ログに格納して、仮想機械ディスクデータが非期限切れバックアップの中の被復旧バックアップを用いて順次復旧されるとき、被復旧バックアップに対応するバックアップメタデータに基づきオブジェクトベース記憶システム１４０から被復旧バックアップに対応する仮想機械ディスクデータを取得するために、被復旧バックアップに対応するバックアップメタデータが、移動ログに記録された、移動有効データのポインタに基づき決定され得ることを保証する。
【０１９０】
移動ログは、バックアップシステムが期限切れバックアップを処理するとき、期限切れバックアップの中の有効データが移動された後に生成されて、非期限切れバックアップが順次復旧されるとき、被復旧バックアップに対応するバックアップメタデータが適切に更新され、期限切れバックアップ処理のバックアップメタデータの複雑性が低減され、及び期限切れバックアップ処理の効率が向上されるようにする。
【０１９１】
５４３。バックアップサーバ１３０は、オブジェクトベース記憶システム１４０へ移動ログを送信する。
【０１９２】
バックアップサーバ１３０は、移動前の有効データのポインタと移動後の有効データのポインタとの間の対応を移動ログに格納した後に、オブジェクトベース記憶システム１４０へ移動ログ記憶要求を送信して良い。移動ログ記憶要求は、移動ログのオブジェクト識別子及び移動ログを含む。移動ログ記憶要求は、移動ログ記憶要求の中の移動ログを、移動ログのオブジェクト識別子に対応するオブジェクトに格納するよう、オブジェクトベース記憶システム１４０に指示するために使用される。
【０１９３】
５４４。オブジェクトベース記憶システム１４０は、移動ログを受信した後に移動ログを格納する。
【０１９４】
移動ログ記憶要求を受信した後に、オブジェクトベース記憶システム１４０は、移動ログのオブジェクト識別子に対応するオブジェクトに移動ログを格納する。
【０１９５】
ステップ５４４の後に、オブジェクトベース記憶システム１４０は、バックアップサーバ１３０へ、大型オブジェクト書き込み完了メッセージを送信する。オブジェクトベース記憶システム１４０によりバックアップサーバ１３０へ大型オブジェクト書き込み完了メッセージを送信する目的は、バックアップサーバ１３０に、移動ログが格納されたことを通知するためである。
【０１９６】
５５０。第１オブジェクト削除命令をオブジェクトベース記憶システム１４０へ送信する。第１オブジェクト削除命令は、バックアップサーバ１３０により複数の削除ログに基づき決定された且つ無効データ及び有効データを含む各大型オブジェクトの識別子を含む。
【０１９７】
バックアップサーバ１３０は、大型オブジェクト書き込み完了メッセージを受信した後に、第１オブジェクト削除命令をオブジェクトベース記憶システム１４０へ送信して良い。
【０１９８】
５６０。第１オブジェクト削除命令を受信した後に、オブジェクトベース記憶システム１４０は、第１オブジェクト削除命令に基づき、無効データ及び有効データを含む各大型オブジェクトの識別子に対応する大型オブジェクトを削除する。
【０１９９】
以下は、バックアップサーバ１３０が全ての削除ログに基づき、無効データのみを含む全ての大型オブジェクトを決定した後の処理方法を記載し、該処理方法は、具体的に以下のステップ５７０及び５８０を含む。
【０２００】
複数の削除ログに基づき、無効データのみを含む全ての大型オブジェクトを決定した後に、バックアップサーバ１３０は、以下のステップ５７０及び５８０を順次実行する。具体的に言うと、バックアップサーバ１３０は、無効データのみを含む全ての大型オブジェクトを削除するよう、オブジェクトベース記憶システム１４０に指示する。特定の実装については、以下のステップ５７０及び５８０を参照する。
【０２０１】
５７０。バックアップサーバ１３０は、複数の削除ログに基づき無効データのみを含む全ての大型オブジェクトを決定した後に、第２オブジェクト削除命令をオブジェクトベース記憶システム１４０へ送信する。第２オブジェクト削除命令は、バックアップサーバ１３０により複数の削除ログに基づき決定された且つ無効データのみを含む各大型オブジェクトの識別子を含む。
【０２０２】
５８０。第２オブジェクト削除命令を受信した後に、オブジェクトベース記憶システム１４０は、第２オブジェクト削除命令に基づき、大型オブジェクト識別子に対応する大型オブジェクトを削除する。
【０２０３】
本実装では、前述のステップ５１０〜５４０は、バックアップシステムが、バックアップサーバ１３０により全ての削除ログに基づき決定された且つ無効データ及び有効データを含む全ての大型オブジェクト内の有効データを、オブジェクトベース記憶システム１４０にどのように格納するかを記載する。特定の実装方法は次の通りである。バックアップサーバ１３０は、オブジェクトベース記憶システム１４０から無効データ及び有効データを含む全ての大型オブジェクトを要求し取得する。次に、バックアップサーバ１３０は、オブジェクトベース記憶システム１４０へ記憶のために、無効データ及び有効データを含む全ての大型オブジェクト内の有効データを送信する。
【０２０４】
別の実装では、バックアップシステムが有効データを格納するステップ５１０〜５４０において記載された方法と異なり、本発明の一実施形態は別の有効データ記憶方法を更に提供する。具体的に言うと、無効データ及び有効データを決定する前述の方法を用いて、無効データ及び有効データを含む全ての大型オブジェクトを決定した後に、バックアップサーバ１３０は、無効データ及び有効データを含む全ての大型オブジェクト内の有効データをオブジェクトベース記憶システム１４０において生成された少なくとも１つの新大型オブジェクトに格納するよう、複数部分複製技術を用いてオブジェクトベース記憶システム１４０に指示する。前述のステップ５１０〜５４０において記載された有効データ記憶方法と比較すると、本発明の本実施形態で提供される有効データ記憶方法では、バックアップサーバ１３０が複数の削除ログに基づき無効データ及び有効データを含む全ての大型オブジェクトを決定した後に、バックアップサーバ１３０は、オブジェクトベース記憶システム１４０から、無効データ及び有効データを含む全ての大型オブジェクトを読み出すことを要求する必要はないが、無効データ及び有効データを含む全ての大型オブジェクト内の有効データを、オブジェクトベース記憶システム１４０において生成された少なくとも１つの新大型オブジェクトに格納するよう、複数部分複製技術を用いてオブジェクトベース記憶システム１４０に指示し、それにより、バックアップサーバ１３０とオブジェクトベース記憶システム１４０との間の相互作用手順を削減し、及びバックアップシステムの処理性能を向上する。本発明の本実施形態で提供される、有効データを格納するよう複数部分複製技術を用いてオブジェクトベース記憶システム１４０に指示する方法の特定の実装については、図６に順次記載される、バックアップサーバ１３０が、有効データを格納するよう、複数部分複製技術を用いてオブジェクトベース記憶システム１４０に指示する手順を参照する。
【０２０５】
以下は、有効データを格納するよう、バックアップサーバ１３０により複数部分複製技術を用いてオブジェクトベース記憶システム１４０に指示する方法を詳細に記載する。図６を参照すると、図６は、本発明の一実施形態による、バックアップサーバにより、複数部分複製技術を用いて、有効データを格納するようオブジェクトベース記憶システムに指示する方法のフローチャートである。図６に示すように、本発明の本実施形態で提供される、バックアップサーバ１３０により複数部分複製技術を用いて、有効データを格納するようオブジェクトベース記憶システム１４０に指示する方法は、以下のステップを含む。
【０２０６】
６１０。バックアップサーバ１３０は、全ての削除ログに基づき、無効データ及び有効データを含む全ての大型オブジェクトを決定した後に、少なくとも１つの新大型オブジェクト識別子を生成する。ステップ６１０で少なくとも１つの新大型オブジェクト識別子を生成することの詳細については、前述のステップ５１１の実装を参照する。特定の実装の詳細はここで再び記載されない。
【０２０７】
６１１。バックアップサーバ１３０は、有効データ移動命令を生成する。
【０２０８】
有効データ移動命令は、新大型オブジェクト識別子、及び有効データ及び無効データを含む少なくとも１つの大型オブジェクトにそれぞれ対応する有効データ情報を含む。有効データ情報は、無効データ及び有効データを含む大型オブジェクト内の少なくとも１つの連続有効データセグメントの各々の、無効データ及び有効データを含む大型オブジェクト内のオフセット位置、及び／又は、無効データ及び有効データを含む大型オブジェクト内の有効データの少なくとも１つのピースの各々の、無効データ及び有効データを含む大型オブジェクト内のオフセット位置を含む。
【０２０９】
ステップ６１１の前に、バックアップサーバ１３０は、ステップ５０１に基づき、オブジェクトベース記憶システム１４０に格納された且つ無効データ及び有効データを含む全ての大型オブジェクト内の有効データの複数のピースを決定し、及び無効データ及び有効データを含む大型オブジェクト内の有効データのオフセット位置を決定して良い。
【０２１０】
バックアップサーバ１３０は、前述のステップ６１１の前に決定された且つ無効データ及び有効データを含む大型オブジェクト内の有効データのオフセット位置に基づき、有効データ移動命令を生成して良い。
【０２１１】
有効データ情報が、無効データ及び有効データを含む大型オブジェクト内の有効データの少なくとも１つのピースの各々の、無効データ及び有効データを含む大型オブジェクト内のオフセット位置を含む場合、有効データの少なくとも１つのピースは、無効データ及び有効データを含む大型オブジェクト内の非連続有効データの複数のピースであって良い。
【０２１２】
有効データ情報が、無効データ及び有効データを含む大型オブジェクト内の少なくとも１つの連続有効データセグメントの各々の、無効データ及び有効データを含む大型オブジェクト内のオフセット位置を含む場合、有効データ移動命令は、有効データ情報に基づき、オブジェクトベース記憶システム１４０に格納された少なくとも１つの連続有効データセグメントを、新大型オブジェクト識別子に対応する新大型オブジェクトに格納するよう、オブジェクトベース記憶システム１４０に指示するために使用される。
【０２１３】
無効データ及び有効データを含む大型オブジェクト内の各連続有効データセグメントのオフセット位置の２つの表現方法がある。以下は、無効データ及び有効データを含む大型オブジェクト内の各連続有効データセグメントのオフセット位置の２つの表現方法を別個に記載する。
【０２１４】
無効データ及び有効データを含む大型オブジェクト内の各連続有効データセグメントのオフセット位置の第１表現方法は、無効データ及び有効データを含む大型オブジェクト内の各連続有効データセグメントの開始位置、及び各連続有効データセグメントのサイズである。各連続有効データセグメントのサイズは、各連続有効データセグメントに含まれる有効データのピース数に基づき決定される。有効データの各ピースは１つのオブジェクトである。各オブジェクトに含まれるデータスライスの数が固定なので、各オブジェクトのサイズは固定される。このように、バックアップサーバ１３０は、オブジェクトサイズ及び各連続有効データセグメントに含まれる有効データのピース数に基づき、各連続有効データセグメントのサイズを決定して良い。各連続有効データセグメントのサイズは、オブジェクトサイズと各連続有効データセグメントに含まれる有効データのピース数との積である。無効データ及び有効データを含む大型オブジェクト内の各連続有効データセグメントの開始位置は、無効データ及び有効データを含む大型オブジェクト内の各連続有効データセグメントの中の有効データの第１ピースの開始位置に基づき決定される。連続有効データセグメントの中の有効データの第１ピースが、無効データ及び有効データを含む大型オブジェクトの中の第jオブジェクトであり、ここでjは０より大きい整数である場合、無効データ及び有効データを含む大型オブジェクト内の連続有効データセグメントの中の有効データの第１ピースの開始位置は（j−１）とオブジェクトサイズとの積である。例えば、連続有効データセグメントの中の有効データの第１ピースは、無効データ及び有効データを含む大型オブジェクト内の第２オブジェクトである。オブジェクトサイズが１６Mである場合、連続有効データセグメントの中の有効データの第１ピースの開始位置は（２−１）と１６Mとの積である。つまり、連続有効データセグメントの中の有効データの第１ピースの開始位置は１６Mである。したがって、連続有効データセグメントの開始位置は１６Mである。
【０２１５】
無効データ及び有効データを含む大型オブジェクト内の各連続有効データセグメントのオフセット位置の第２表現方法は、無効データ及び有効データを含む大型オブジェクト内の各連続有効データセグメントの開始位置及び終了位置である。無効データ及び有効データを含む大型オブジェクト内の各連続有効データセグメントの開始位置については、第１表現方法における詳細な説明を参照する。詳細はここで再び記載されない。無効データ及び有効データを含む大型オブジェクト内の各連続有効データセグメントの終了位置は、無効データ及び有効データを含む大型オブジェクト内の各連続有効データセグメントの中の有効データの最終ピースの終了位置に基づき決定される。連続有効データセグメントの中の有効データの最終ピースが、無効データ及び有効データを含む大型オブジェクト内の有効データの第nピースであり、ここでnは０より大きい整数である場合、無効データ及び有効データを含む大型オブジェクト内の連続有効データセグメントの中の有効データの最終ピースの終了位置はnとオブジェクトサイズとの積である。
【０２１６】
有効データ情報が、無効データ及び有効データを含む大型オブジェクト内の有効データの少なくとも１つのピースの各々の、無効データ及び有効データを含む大型オブジェクト内のオフセット位置を含む場合、無効データ及び有効データを含む大型オブジェクト内の有効データの少なくとも１つのピースのオフセット位置の２つの表現形式がある。以下は、２つの表現形式を別個に記載する。
【０２１７】
無効データ及び有効データを含む大型オブジェクト内の有効データの少なくとも１つのピースの各々のオフセット位置の第１表現形式は、無効データ及び有効データを含む大型オブジェクト内の有効データの各ピースの開始位置、及び有効データサイズである。有効データのピースは１つのオブジェクトであり、したがって、有効データサイズは固定である。無効データ及び有効データを含む大型オブジェクト内の有効データの各ピースのオフセット位置を決定する方法は、以下の通りである。有効データが、無効データ及び有効データを含む大型オブジェクト内の第kオブジェクトであり、ここでkは０より大きい整数である場合、有効データの開始位置は（k−１）とオブジェクトサイズとの積である。例えば、有効データは、無効データ及び有効データを含む大型オブジェクト内の第４オブジェクトである。オブジェクトサイズが１６Mである場合、有効データの開始位置は（４−１）と１６Mとの積である。具体的に言うと、有効データの開始位置は４８Mである。
【０２１８】
無効データ及び有効データを含む大型オブジェクト内の有効データの少なくとも１つのピースの各々のオフセット位置の第２表現形式は、無効データ及び有効データを含む大型オブジェクト内の有効データの各ピースの開始位置及び終了位置である。無効データ及び有効データを含む大型オブジェクト内の有効データの各ピースの開始位置については、第１表現方法における詳細な説明を参照する。詳細はここで再び記載されない。無効データ及び有効データを含む大型オブジェクト内の有効データの各ピースの終了位置を決定する方法は、以下の通りである。有効データが、無効データ及び有効データを含む大型オブジェクト内の第tオブジェクトであり、ここでtは０より大きい整数である場合、有効データの終了位置はtとオブジェクトサイズとの積である。例えば、有効データは、無効データ及び有効データを含む大型オブジェクト内の第４オブジェクトである。オブジェクトサイズが１６Mである場合、有効データの終了位置は４と１６Mとの積である。具体的に言うと、有効データの終了位置は６４Mである。
【０２１９】
有効データ移動命令は、有効データ及び無効データを含む複数の大型オブジェクトにそれぞれ対応する有効データ情報を含んで良い。各大型オブジェクトに対応する有効データ情報は、有効データ及び無効データを含む大型オブジェクト内の、少なくとも１つの連続有効データセグメントの各々のオフセット位置、及び／又は、無効データ及び有効データを含む大型オブジェクト内の、有効データの少なくとも１つのピースの各々のオフセット位置、を含む。
【０２２０】
バックアップサーバ１３０は、少なくとも１つの有効データ移動命令を生成して良く、各有効データ移動命令の中の有効データ情報は、無効データ及び有効データを含む大型オブジェクト内の有効データの一部のオフセット位置を含む。したがって、バックアップサーバ１３０は、オブジェクトベース記憶システム１４０へ無効データ及び有効データを含む大型オブジェクト内の全ての有効データのオフセット位置を送信するために、複数の有効データ移動命令を送信して良い。無効データ及び有効データを含む大型オブジェクト内の有効データの一部は、連続有効データセグメントの一部、及び／又は、無効データ及び有効データを含む大型オブジェクト内の有効データの一部、であって良い。無効データ及び有効データを含む大型オブジェクト内の有効データの一部のオフセット位置は、無効データ及び有効データを含む大型オブジェクト内の、連続有効データセグメントの一部の中の各連続有効データセグメントのオフセット位置、及び／又は、無効データ及び有効データを含む大型オブジェクト内の、有効データの一部の中の有効データの各ピースのオフセット位置、を含む。
【０２２１】
６１２。バックアップサーバ１３０は、オブジェクトベース記憶システム１４０へ有効データ移動命令を送信する。
【０２２２】
６２０。有効データ移動命令を受信した後に、有効データ移動命令の中の有効データ情報の中にある且つ無効データ及び有効データを含む大型オブジェクト内の、少なくとも１つの連続有効データセグメント及び／又は有効データの少なくとも１つのピースのオフセット位置に基づき、オブジェクトベース記憶システム１４０は、新大型オブジェクト識別子に対応する新大型オブジェクトに、オブジェクトベース記憶システム１４０に格納され且つ無効データ及び有効データを含む大型オブジェクト内の少なくとも１つの連続有効データセグメント及び／又は有効データの少なくとも１つのピースを格納する。
【０２２３】
有効データ移動命令を受信した後に、オブジェクトベース記憶システム１４０は、先ず、有効データ移動命令の中の新大型オブジェクト識別子に基づき、新大型オブジェクト識別子に対応する新大型オブジェクトが生成されるか否かをクエリする。新大型オブジェクト識別子に対応する新大型オブジェクトが生成されない場合、オブジェクトベース記憶システム１４０は、新大型オブジェクト識別子に基づき新大型オブジェクトを生成し、次に、有効データ移動命令の中の有効データ情報の中にあり且つ無効データ及び有効データを含む大型オブジェクトの中の、少なくとも１つの連続有効データセグメント及び／又は有効データの少なくとも１つのピースのオフセット位置に基づき、新大型オブジェクト識別子に対応する新大型オブジェクトに、オブジェクトベース記憶システム１４０に格納され且つ無効データ及び有効データを含む大型オブジェクト内の少なくとも１つの連続有効データセグメント及び／又は有効データの少なくとも１つのピースを格納する。
【０２２４】
オブジェクトベース記憶システム１４０が有効データ移動命令を受信した後に、有効データ移動命令の中の有効データ情報の中にあり且つ無効データ及び有効データを含む大型オブジェクトの中の少なくとも１つの連続有効データセグメント及び／又は有効データの少なくとも１つのピースの、オフセット位置に基づき新大型オブジェクト識別子に対応する新大型オブジェクトが生成されることを、新大型オブジェクト識別子に基づき決定した場合、オブジェクトベース記憶システム１４０は、新大型オブジェクト識別子に対応する新大型オブジェクトに、オブジェクトベース記憶システム１４０に格納され且つ無効データ及び有効データを含む大型オブジェクト内の少なくとも１つの連続有効データセグメント及び／又は有効データの少なくとも１つのピースを格納する。
【０２２５】
全ての削除ログに基づき、無効データ及び有効データを含む全ての大型オブジェクトを決定した後に、バックアップサーバ１３０は、前述のステップ６１０〜６２０を通じて、無効データ及び有効データを含む全ての大型オブジェクト内の全ての有効データを、オブジェクトベース記憶システム１４０内の少なくとも１つの新大型オブジェクトに格納する。
【０２２６】
前述のステップ５１０〜５４０において記載された有効データ記憶方法と比較すると、図６に示される、有効データを格納するよう複数部分複製技術を用いてバックアップサーバ１３０によりオブジェクトベース記憶システム１４０に指示する方法に基づくと、バックアップサーバ１３０が複数の削除ログに基づき無効データ及び有効データを含む全ての大型オブジェクトを決定した後に、バックアップサーバ１３０は、オブジェクトベース記憶システム１４０から、無効データ及び有効データを含む全ての大型オブジェクトを読み出すことを要求する必要はないが、無効データ及び有効データを含む全ての大型オブジェクト内の有効データを、オブジェクトベース記憶システム１４０内の少なくとも１つの新大型オブジェクトに格納するよう、複数部分複製技術を用いてオブジェクトベース記憶システム１４０に指示し、それにより、バックアップサーバ１３０とオブジェクトベース記憶システム１４０との間の相互作用手順を削減し、及びバックアップシステムの処理性能を向上する。
【０２２７】
図６に示されるステップ６２０の後に、つまり、オブジェクトベース記憶システム１４０が無効データ及び有効データを含む全ての大型オブジェクト内の有効データをオブジェクトベース記憶システム１４０内の少なくとも１つの新大型オブジェクトに格納した後に、ステップ５４１〜５６０が順次実行される。具体的に言うと、バックアップサーバ１３０は、移動後の有効データのポインタを生成する。移動後の有効データのポインタは、新大型オブジェクトに格納された後の、新大型オブジェクト内の有効データの位置を示すために使用される。バックアップサーバ１３０が移動後の有効データのポインタを生成した後に、バックアップサーバ１３０は、非移動有効データのポインタと移動後の有効データのポインタとの間の対応を記録し、期限切れデータを削除するために、バックアップサーバ１３０により複数の削除ログに基づき決定された且つ無効データ及び有効データを含む大型オブジェクトを削除する。特定の処理の詳細については、ステップ５４１〜５６０を参照する。詳細はここで再び記載されない。
【０２２８】
バックアップシステムが仮想機械ディスクデータをバックアップした後に、クライアント１１０が仮想機械ディスクデータを復旧する必要のある場合、クライアント１１０は、バックアップサーバ１３０へデータ復旧要求を送信する。データ復旧要求を受信した後に、バックアップサーバ１３０は、仮想機械ディスクデータを復旧するために復旧手順を実行する。仮想機械ディスクデータを復旧するとき、バックアップサーバ１３０は、データ復旧要求に含まれる被復旧バックアップ識別子に基づき、被復旧バックアップに対応する仮想機械ディスクデータを取得し、被復旧バックアップに対応する仮想機械ディスクデータを用いて仮想機械ディスクデータを復旧する。被復旧バックアップは非期限切れバックアップである。
【０２２９】
バックアップサーバ１３０が仮想機械ディスクデータをバックアップした後に、クライアント１１０は仮想機械ディスクデータを頻繁に復旧しない。したがって、本発明の本実施形態で提供される期限切れバックアップ処理方法では、期限切れバックアップが処理される度に、期限切れバックアップの中の有効データが新大型オブジェクトに移動された後に、バックアップシステムは全ての非期限切れバックアップにそれぞれ対応するバックアップメタデータを更新しないが、移動ログを生成し、期限切れバックアップの中の移動後の有効データのポインタを移動ログに格納して、仮想機械ディスクデータが非期限切れバックアップの中の被復旧バックアップを用いて順次復旧されるとき、被復旧バックアップに対応するバックアップメタデータに基づきオブジェクトベース記憶システム１４０から被復旧バックアップに対応する仮想機械ディスクデータを取得するために、被復旧バックアップに対応するバックアップメタデータが、移動ログに記録された、移動有効データのポインタに基づき決定され得ることを保証する。以下は、図７Ａ及び図７Ｂを参照して、本発明の一実施形態で提供される、移動ログを用いて仮想機械ディスクデータをどのように復旧するかの方法を記載する。
【０２３０】
図７Ａ及び図７Ｂを参照すると、図７Ａ及び図７Ｂは、本発明の一実施形態による仮想機械ディスクデータを復旧する方法のフローチャートである。図７Ａ及び図７Ｂに示すように、本発明の本実施形態で提供される、仮想機械ディスクデータを復旧する方法は、以下のステップを含む。
【０２３１】
７００。バックアップサーバ１３０は、クライアント１１０により送信されたデータ復旧要求を受信する。
【０２３２】
データ復旧要求は、目標ディスク識別子、仮想機械ディスク識別子、及び仮想機械ディスクデータの被復旧バックアップに対応する被復旧バックアップ識別子を含む。データ復旧要求は、被復旧バックアップ識別子に対応する被復旧バックアップに基づき、仮想機械ディスクデータを目標ディスクに復旧するよう指示するために使用される。仮想機械ディスクデータは連続データスライスを含む。データ復旧要求の中の被復旧バックアップ識別子に対応する仮想機械ディスクデータバックアップは被復旧バックアップである。
【０２３３】
目標ディスク識別子は、例えば、「生産データ」又は「業務データ」のような漢字であって良く、又は文字、数字、若しくは別の記号であって良く、又は文字、数字、若しくは別の記号の組み合わせであって良い。特定の実装は本実施形態により限定されない。
【０２３４】
目標ディスクは、仮想機械ディスクデータを格納するために前に使用された仮想機械ディスクであって良く、又は別のディスクであって良い。目標ディスクは、仮想機械ディスクの位置する記憶ノード１２０内に又はバックアップサーバ１３０内に展開されて良く、又は別の物理装置、例えばストレージアレイであって良い別の記憶装置内に展開されて良い。
【０２３５】
ステップ７００で、バックアップサーバ１３０は、クライアント１１０により送信されたデータ復旧要求を受信して良い。データ復旧要求の中の被復旧バックアップ識別子は、バックアップ時点識別子又はバックアップバージョン識別子又はバックアップ回数識別子を用いて実装されて良い。
【０２３６】
７０１。バックアップサーバ１３０は、被復旧バックアップメタデータ取得要求を生成する。被復旧バックアップメタデータ取得要求は、仮想機械ディスク識別子及び被復旧バックアップ識別子を含む。
【０２３７】
７０２。バックアップサーバ１３０は、オブジェクトベース記憶システム１４０へ被復旧バックアップメタデータ取得要求を送信する。
【０２３８】
バックアップサーバ１３０は、被復旧バックアップ識別子と被復旧バックアップのバックアップメタデータに対応するメタデータオブジェクト識別子との間の対応を予め格納する。メタデータ取得要求を送信する前に、バックアップサーバ１３０は、先ず、被復旧バックアップ識別子と被復旧バックアップのバックアップメタデータに対応するメタデータオブジェクト識別子との間の対応に基づき、被復旧バックアップのバックアップメタデータに対応するメタデータオブジェクト識別子をクエリし、次に、被復旧バックアップのバックアップメタデータに対応するメタデータオブジェクト識別子に基づき、被復旧バックアップメタデータ取得要求を生成する。メタデータ取得要求は、被復旧バックアップのバックアップメタデータに対応するメタデータオブジェクト識別子を含み、被復旧バックアップメタデータ取得要求は、被復旧バックアップのバックアップメタデータに対応するメタデータオブジェクト識別子に基づき被復旧バックアップのバックアップメタデータを取得するよう、オブジェクトベース記憶システム１４０に指示するために使用される。
【０２３９】
７０３。バックアップサーバ１３０は、オブジェクトベース記憶システム１４０へ移動ログ取得要求を送信する。移動ログ取得要求は、移動ログのオブジェクト識別子を含む。移動ログ取得要求は、仮想機械ディスクの全ての移動ログを送信するよう、オブジェクトベース記憶システム１４０に指示するために使用される。移動ログは、オブジェクトベース記憶方式で、オブジェクトベース記憶システム１４０に格納される。
【０２４０】
バックアップサーバ１３０は、仮想機械ディスク識別子と移動ログのオブジェクト識別子との間の対応を予め格納する。バックアップサーバ１３０は、仮想機械ディスク識別子と移動ログのオブジェクト識別子との間の対応に基づき、移動ログのオブジェクト識別子をクエリする。
【０２４１】
ステップ７０３及び７０２は、必ずしも特定の順序で実行される必要がない。
【０２４２】
７１０。オブジェクトベース記憶システム１４０は、被復旧バックアップメタデータ取得要求に基づき、被復旧バックアップのバックアップメタデータをクエリする。
【０２４３】
７１１。オブジェクトベース記憶システム１４０は、移動ログのオブジェクト識別子に基づき、移動ログのオブジェクト識別子に対応する移動ログをクエリする。
【０２４４】
ステップ７１１及び７１０は、必ずしも特定の順序で実行される必要がない。
【０２４５】
７１２。オブジェクトベース記憶システム１４０は、バックアップサーバ１３０へ、移動ログのオブジェクト識別子に対応する移動ログを送信する。
【０２４６】
ステップ７１２及び７１０は、必ずしも特定の順序で実行される必要がない。
【０２４７】
７１３。オブジェクトベース記憶システム１４０は、バックアップサーバ１３０へ被復旧バックアップのバックアップメタデータを送信する。
【０２４８】
ステップ７１３及び７１２は、必ずしも特定の順序で実行される必要がない。さらに、ステップ７１３及び７１１は、必ずしも特定の順序で実行される必要がない。
【０２４９】
７２０。オブジェクトベース記憶システム１４０により送信された被復旧バックアップのバックアップメタデータ及び仮想機械ディスクデータの全ての移動ログを受信した後に、バックアップサーバ１３０は、変更バックアップメタデータを取得するために、全ての移動ログに基づき被復旧バックアップのバックアップメタデータを更新する。
【０２５０】
本発明の前述の実施形態で提供された期限切れバックアップ処理方法では、バックアップ種別が増分バックアップである期限切れバックアップを処理した後に、バックアップシステムは非期限切れバックアップのバックアップメタデータを更新しない。したがって、バックアップサーバ１３０が仮想機械ディスクデータを復旧するとき、本発明の実施形態で提供される期限切れバックアップ処理方法に基づき生成された全ての移動ログを受信した後に、バックアップサーバ１３０は、全ての移動ログに記録された、移動有効データのポインタに基づき、被復旧バックアップのバックアップメタデータを更新する必要がある。
【０２５１】
バックアップサーバ１３０が全ての移動ログに基づき被復旧バックアップのバックアップメタデータを更新するとき、バックアップサーバ１３０は、バックアップメタデータの中にあり且つ移動ログに記録された、非移動有効データのポインタと同じポインタを変更する。変更されたポインタは、移動ログに記録された且つ移動前の有効データの同じポインタに対応する移動有効データのポインタである。
【０２５２】
７２１。被復旧バックアップに対応する変更バックアップメタデータを取得した後に、バックアップサーバ１３０は、変更バックアップメタデータに基づき、被復旧バックアップオブジェクト取得要求を生成する。被復旧バックアップオブジェクト取得要求は、変更バックアップメタデータに記録されたポインタを含む。
【０２５３】
被復旧バックアップのバックアップメタデータを更新することにより変更バックアップメタデータを取得した後に、且つ被復旧バックアップオブジェクト取得要求を生成する前に、バックアップサーバ１３０は、先ず、変更バックアップメタデータに記録されたポインタのシーケンスに基づき、複数の連続ポインタを順次決定する。複数の連続ポインタに対応する複数のオブジェクトは、同じ大型オブジェクトに属する。次に、バックアップサーバ１３０は、被復旧バックアップオブジェクト取得要求を生成する。被復旧バックアップオブジェクト取得要求は、複数の連続ポインタを含む。被復旧オブジェクト取得要求は、被復旧バックアップオブジェクト取得要求に基づき、被復旧バックアップの中の同じ大型オブジェクト内の複数のオブジェクトをクエリするよう、オブジェクトベース記憶システム１４０に指示するために使用される。同じ大型オブジェクト内の複数のオブジェクトのポインタが、被復旧バックアップに対応するバックアップメタデータの中で不連続である場合、バックアップサーバ１３０は、複数の被復旧バックアップオブジェクト取得要求を生成する必要がある。各被復旧バックアップオブジェクト取得要求は、複数の連続ポインタ又は１つの独立ポインタを含むだけである。
【０２５４】
７２２。バックアップサーバ１３０は、オブジェクトベース記憶システム１４０へ被復旧バックアップオブジェクト取得要求を送信する。
【０２５５】
７３０。被復旧バックアップオブジェクト取得要求を受信した後に、オブジェクトベース記憶システム１４０は、変更バックアップメタデータに記録されたポインタに基づき、被復旧バックアップに対応する仮想機械ディスクデータの中のオブジェクトをクエリする。
【０２５６】
７３１。オブジェクトベース記憶システム１４０は、被復旧バックアップに対応する仮想機械ディスクデータの中で見付かったオブジェクトを送信する。
【０２５７】
７４０。被復旧バックアップに対応する仮想機械ディスクデータの中のオブジェクトを受信した後に、バックアップサーバ１３０は、目標ディスク識別子に対応する目標ディスクの位置する記憶ノード１２０へ、被復旧バックアップ復旧指示を送信する。被復旧バックアップ復旧指示は、被復旧バックアップに対応する仮想機械ディスクデータの中のオブジェクト及び目標ディスク識別子を含む。
【０２５８】
７５０。被復旧バックアップに対応する仮想機械ディスクデータの中のオブジェクトを受信した後に、目標ディスクの位置する記憶ノード１２０は、被復旧バックアップに対応する仮想機械ディスクデータの中のオブジェクトを、目標ディスク識別子に対応する目標ディスクに格納する。
【０２５９】
期限切れバックアップが処理されているとき、異なる大型オブジェクト内の有効データは、同じ新大型オブジェクトに格納され、非期限切れバックアップのバックアップメタデータの中のポインタは変更されない。被復旧バックアップは非期限切れバックアップでもある。したがって、図７Ａ及び図７Ｂに示される仮想機械ディスクデータ復旧方法に基づき、被復旧バックアップのバックアップメタデータがステップ７２０を通じて更新された後に、同じ新大型オブジェクトに属する移動有効データのポインタは、必ずしも、被復旧バックアップに対応する変更バックアップメタデータの中で連続的でない。したがって、前述のステップ７２１において連続ポインタに基づき被復旧オブジェクト取得要求を生成する前述の実装に基づき、バックアップサーバ１３０は、複数の被復旧バックアップオブジェクト取得要求を生成し、及び複数の被復旧バックアップオブジェクト取得要求をオブジェクトベース記憶システム１４０へ送信する必要がある。これは、バックアップサーバ１３０とオブジェクトベース記憶システム１４０との間の相互作用を増加させ、バックアップサーバ１３０とオブジェクトベース記憶システム１４０との間の送信リソースを消費する。したがって、本発明の一実施形態は、被復旧バックアップに対応する変更バックアップメタデータを整理する、つまり、同じ大型オブジェクトに属する複数のオブジェクトに対応する複数のポインタを一緒に整理するために、変更バックアップメタデータの中の全てのポインタのシーケンスを整理する方法を更に提供する。本発明の本実施形態では、被復旧バックアップに対応する変更バックアップメタデータを整理する２つの特定の実装がある。以下は、変更バックアップメタデータを整理する２つの方法を別個に記載する。
【０２６０】
被復旧バックアップに対応する変更バックアップメタデータを整理する第１の実装は、以下の通りである。バックアップサーバ１３０は、変更バックアップメタデータに基づき、同じ大型オブジェクトに属する複数のオブジェクトに対応する複数のポインタを決定し、連続アドレスセグメントの指す第１記憶空間に、同じ大型オブジェクトに属する複数のオブジェクトに対応する複数のポインタを格納し、変更バックアップメタデータの中の全てのポインタを連続アドレスセグメントの指す第２記憶空間に格納する。第２記憶空間は、第１記憶空間を含む。
【０２６１】
例えば、バックアップサーバ１３０は、複数の大型オブジェクトの各々に含まれる複数のオブジェクトに対応する複数のポインタを順次決定し、複数の第１記憶空間を用いて複数の大型オブジェクト内の全てのオブジェクトに対応する複数のポインタを格納するために、各大型オブジェクトに含まれる複数のオブジェクトに対応する複数のポインタを１つの第１記憶空間に格納する。複数の第１記憶空間に対応する複数の連続アドレスセグメントは、相互に連続的又は不連続であって良い。複数の第１記憶空間のうちの任意の２つに対応するアドレスが連続的であるとき、任意の２つの第１記憶空間に格納された複数のポインタは独立ポインタを含まない。言い換えると、同じ大型オブジェクトに属しないオブジェクトに対応するポインタは存在しない。複数の第１記憶空間に対応する複数の連続アドレスセグメントが相互に不連続であるとき、複数の第１記憶空間に格納された複数のポインタの間に独立ポインタが構成される。言い換えると、同じ大型オブジェクトに属しないポインタが存在し、独立ポインタ及び独立ポインタに隣接する別のポインタにそれぞれ対応するオブジェクトは同じ大型オブジェクトに属しない。
【０２６２】
別の例では、バックアップサーバ１３０は、同じ大型オブジェクトに属する複数のオブジェクトに対応する複数のポインタを決定し、同じ大型オブジェクトに属しない複数の独立オブジェクトに対応する複数の独立ポインタを決定して良い。次に、バックアップサーバ１３０は、同じ大型オブジェクトに属する複数のオブジェクトに対応する複数のポインタを連続アドレスセグメントの指す第１記憶空間に格納し、同じ大型オブジェクトに属しない複数の独立オブジェクトに対応する複数の独立ポインタを連続アドレスセグメントの指す第３記憶空間に格納する。第１記憶空間の終了アドレス及び第３記憶空間の開始アドレスは連続し、又は第１記憶空間の開始アドレス及び第３記憶空間の終了アドレスは連続する。第２記憶空間は、第１記憶空間及び第３記憶空間を含む。複数の大型オブジェクトが存在する場合、第２記憶空間は複数の第１記憶空間を含む。
【０２６３】
被復旧バックアップに対応する変更バックアップメタデータを整理する第２の実装は、以下の通りである。変更バックアップメタデータに基づき、バックアップサーバ１３０は、同じ大型オブジェクトに属する複数のオブジェクトに対応する複数のポインタを決定し、第１インデックスを生成し、第１インデックスと同じ大型オブジェクトに属する複数のオブジェクトに対応する複数のポインタとの間の対応を格納し、同じ大型オブジェクトに属しない複数の独立オブジェクトに対応する複数の独立ポインタを決定し、第２インデックスを生成し、第２インデックスと同じ大型オブジェクトに属しない複数の独立オブジェクトに対応する複数の独立ポインタとの間の対応を格納する。複数の大型オブジェクトが存在する場合、複数の第１インデックスが存在し、第１インデックスの数は大型オブジェクトの数と同じである。複数の独立ポインタが存在する場合、複数の第２インデックスが存在し、第２インデックスの数は独立ポインタの数と同じである。全ての第１インデックス及び全ての第２インデックスは、連続アドレスセグメントの指す記憶空間に格納される。
【０２６４】
本発明の一実施形態は、異なるデータバックアップ方法を更に提供する。本発明の本実施形態で提供されるデータバックアップ方法では、少なくとも１つの仮想機械ディスクにそれぞれ対応する仮想機械ディスクデータをオブジェクトベース記憶システム１４０にバックアップする特定の実装は、以下のステップを含む。
【０２６５】
オブジェクトベース記憶システム１４０にバックアップされるべき仮想機械ディスクの複数の連続データスライスを取得した後に、バックアップサーバ１３０は、仮想機械ディスクデータの中のデータスライスの配置位置に基づき、所定数と一致する複数の連続データスライスを含む第１データセットを決定する。
【０２６６】
所定数と一致する複数の連続データスライスを含む第１データセットを決定した後に、バックアップサーバ１３０は、データセットの弱ハッシュ値を計算し、新大型オブジェクト識別子を生成し、新大型オブジェクト識別子と弱ハッシュ値との間の対応を格納する。
【０２６７】
バックアップサーバ１３０が新大型オブジェクト識別子を生成した後に、バックアップサーバ１３０は、第１データセット記憶命令をオブジェクトベース記憶システム１４０へ送信する。第１データセット記憶命令は、第１データセット及び新大型オブジェクト識別子を含む。第１データセット記憶命令は、新大型オブジェクト識別子に対応する新大型オブジェクトに第１データセットを格納するよう、オブジェクトベース記憶システム１４０に指示するために使用される。
【０２６８】
バックアップサーバ１３０が記憶のために第１データセット記憶命令をオブジェクトベース記憶システム１４０へ送信した後に、オブジェクトベース記憶システム１４０は、第１データセットを新大型オブジェクト識別子に対応する新大型オブジェクトに格納する。
【０２６９】
その後に、第２データセットをオブジェクトベース記憶システム１４０に格納する必要があるとき、バックアップサーバ１３０は、先ず、第２データセットの弱ハッシュ値を計算し、次に、オブジェクトベース記憶システム１４０が第２データセットの弱ハッシュ値と同様の弱ハッシュ値を有するデータセットを格納するか否かを検出し、データセットが格納されている場合、第２データセットの弱ハッシュ値と同様の弱ハッシュ値を有するデータセットの属する新大型オブジェクトの識別子をクエリする。バックアップサーバ１３０は、別の第２データセットの弱ハッシュ値と同様の弱ハッシュ値を有するデータセットの属する新大型オブジェクトが所定サイズに達したか否かを検出する。所定サイズに達しないことを検出した場合、バックアップサーバ１３０は、第２データセット記憶命令をオブジェクトベース記憶システム１４０へ送信する。第２データセット記憶命令は、第２データセット、及び第２データセットの弱ハッシュ値と同様の弱ハッシュ値を有するデータセットの属する新大型オブジェクトの識別子を含む。
【０２７０】
別の第２データセット記憶命令を受信した後に、オブジェクトベース記憶システム１４０は、第２データセットの弱ハッシュ値と同様の弱ハッシュ値を有するデータセットの属する新大型オブジェクトに第２データセットを格納する。例えば、第２データセットの弱ハッシュ値と同様の弱ハッシュ値を有するデータセットは第１データセットであって良い。
【０２７１】
以下は、本発明の一実施形態によるバックアップサーバの構造を記載する。バックアップサーバは、前述のシステムの実施形態におけるバックアップサーバ１３０を実装するための機能を有し、該機能は対応するソフトウェアを実行するハードウェアにより実装されて良い。
【０２７２】
図８を参照すると、図８は、本発明の一実施形態によるバックアップサーバの構造図である。図８に示すように、バックアップサーバ１３０は、制御部２１０及び記憶装置２２０を含む。制御部２１０は、記憶装置２２０に接続される。図８に示されるバックアップサーバ１３０は、図１に示される記憶システムに適用されて良い。記憶装置２２０は、制御部２１０に記憶サービスを提供するよう構成される。
【０２７３】
制御部２１０は、クライアント１１０により送信されたデータバックアップ要求を受信すると、又はプリセット時間に達したと決定すると、記憶ノード１２０のディスク内のデータをオブジェクトベース記憶システム１４０にフル又は増分バックアップし、バックアップメタデータ及びバックアップ属性情報を生成し格納するよう構成される。フルバックアップは、記憶ノード１２０のディスク内の全データを記憶システムにバックアップすることを意味する。増分バックアップは、記憶ノード１２０のディスク内の変更データをオブジェクトベース記憶システムにバックアップすることを意味する。バックアップメタデータは、ディスクデータの中の、ディスクデータ内の各オブジェクトの位置を示すために使用される。バックアップメタデータは、ディスクデータに含まれる各オブジェクトの識別子及びポインタを記録し、ディスク内のオブジェクトのシーケンスに基づき各オブジェクトのポインタを記録して良い。バックアップ属性情報は、バックアップのバックアップ識別子及びバックアップ時点、並びにバックアップメタデータの識別子を含む。バックアップ属性情報を生成した後に、制御部２１０は、記憶ノード１２０のディスクのディスク識別子とバックアップ属性情報との間の対応を更に格納する。
【０２７４】
通常、クライアント１１０により送信されたデータバックアップ要求は、バックアップの必要なディスクのディスク識別子を含む必要があり、制御部２１０は、オブジェクトベース記憶システム１４０に、ディスク識別子により示されるディスク内のデータをフル又は増分バックアップする。特定のフルバックアップ及び増分バックアップ処理については、前述の方法の実施形態においてバックアップサーバ１３０がフルバックアップ及び増分バックアップを実施することに関する記載を参照する。詳細はここで再び記載されない。
【０２７５】
ディスク内のディスクデータがフル又は増分バックアップされた後、ますます多くのバックアップがシステム内に生成される。システムの記憶空間を節約するために記憶システム内のバックアップは管理される必要がある。バックアップサーバ１３０は、必要に応じて、期限切れバックアップを削除する。
【０２７６】
制御部２１０は、ディスクの全部のバックアップ属性情報の合計ピース数が所定値を超えたと検出すると、全てのバックアップ属性情報の中のバックアップ時点に基づき、最も前のバックアップを期限切れバックアップとして決定するよう構成される。期限切れバックアップを決定した後に、制御部２１０は、期限切れバックアップのバックアップメタデータ及び期限切れバックアップの次のバックアップのバックアップメタデータを用いて、期限切れバックアップ内の無効データを識別し、削除ログを生成し、期限切れバックアップの中の無効データのポインタを削除ログに格納する。削除ログを生成した後に、制御部２１０は、期限切れバックアップのバックアップ属性情報を削除し、ディスク識別子と削除ログの識別子との間の対応を生成し格納するよう更に構成される。無効データは、期限切れバックアップの中にあり且つ期限切れバックアップの次のバックアップの変更されたデータスライスを含む、オブジェクトである。
【０２７７】
削除条件が満たされたか否かを検出した後に、制御部２１０は、ディスク識別子と削除ログの識別子との間の対応に基づき、ディスクデータに対応する複数の削除ログを取得する。削除条件は次の通りであって良い。ディスクデータに対応する複数の削除ログの数がプリセット削除閾に達する、又はプリセット削除時間に達する、又は削除条件が満たされた最終時間の後に計時が開始され、計時が終了する。
【０２７８】
制御部２１０は、複数の削除ログに基づき、オブジェクトベース記憶システム１４０に格納され且つ有効データ及び無効データを含む目標大型オブジェクトを決定し、無効データのみを含む大型オブジェクトを決定するよう更に構成される。有効データは、期限切れバックアップの中にあり且つ期限切れバックアップの次のバックアップの変更されないデータスライスを含む、オブジェクトである。
【０２７９】
オブジェクトベース記憶システム１４０に格納され且つ有効データ及び無効データを含む目標大型オブジェクトを決定した後に、制御部２１０は、データ移行指示及びオブジェクト削除指示をオブジェクトベース記憶システム１４０へ送信するよう更に構成される。データ移行指示は、目標大型オブジェクト内の有効データを別の大型オブジェクトへ移行するよう、オブジェクトベース記憶システム１４０に指示するために使用される。オブジェクト削除指示は、目標大型オブジェクトを削除するよう、オブジェクトベース記憶システム１４０に指示するために使用される。無効データのみを含む大型オブジェクトを決定した後に、制御部２１０は、オブジェクトベース記憶システム１４０へオブジェクト削除指示を送信するよう更に構成される。オブジェクト削除指示は、無効データのみを含む大型オブジェクトを削除するよう、オブジェクトベース記憶システム１４０に指示するために使用される。
【０２８０】
大型オブジェクト内の有効データが別の大型オブジェクトへ移動された場合、大型オブジェクト内の有効データのポインタが変更される。全ての他のバックアップにそれぞれ対応するバックアップメタデータ内に記録された、大型オブジェクト内の有効データのポインタを更新することを回避するために、大型オブジェクト内の移動前の有効データのポインタと移動後の有効データのポインタとの間の対応が、移動ログを用いて記録されて、特定のバックアップが後にアクセスされる必要のあるとき、移動ログに記録された、非移動有効データのポインタと同じポインタが、特定バックアップのバックアップメタデータ内に存在するか否かが決定されるようにする。ポインタが存在する場合、バックアップのバックアップメタデータ内の同じポインタは、移動後の有効データのポインタに変更され、それにより、有効データが移動された後に、全ての他のバックアップにそれぞれ対応するバックアップメタデータを更新することを回避する。
【０２８１】
大型オブジェクト内の有効データを別の大型オブジェクトに移動した後に、制御部２１０は、移動ログを生成し、移動ログに、移動前の有効データのポインタと移動後の有効データのポインタとの間の対応を格納するよう更に構成される。このように、非期限切れバックアップのバックアップメタデータを用いてディスクデータ内の移動有効データに後にアクセスするとき、制御部２１０は、移動ログに格納された、移動前の有効データのポインタと移動後の有効データのポインタとの間の対応に基づき、非期限切れバックアップのバックアップメタデータを更新する。非期限切れバックアップのバックアップメタデータの更新中に、非期限切れバックアップのバックアップメタデータ内にあり且つ移動ログに記録された非移動有効データのポインタと同じであるポインタは、変更される。変更されたポインタは、移動ログに記録された、移動有効データのポインタである。
【０２８２】
例えば、クライアント１１０により送信されたデータ復旧要求を受信し、全ての非期限切れバックアップから被復旧バックアップを決定した後に、制御部２１０は、移動ログに基づき被復旧バックアップのバックアップメタデータを変更し、変更バックアップメタデータに基づき、ディスクデータに含まれる全てのオブジェクトを取得し、次にディスクデータを目標ディスクに復旧する。
【０２８３】
図８に示されるバックアップサーバ１３０の中で、制御部２１０は、第１インタフェース２１１、第２インタフェース２１２、及び制御モジュール２１３を含む。制御モジュール２１３は、第１インタフェース２１１及び第２インタフェース２１２に別個に接続される。第１インタフェース２１１は、クライアント１１０と通信するよう構成される。第２インタフェース２１２は、記憶装置２２０及びオブジェクトベース記憶システム１４０と通信するよう構成される。
【０２８４】
制御モジュール２１３は、制御部２１０の機能を実装するよう構成される。機能についての特定の実装の詳細については、制御部２１０に関する前述の機能の記載を参照する。
【０２８５】
図８に示されるバックアップサーバ１３０の中で、制御モジュール２１３は、プロセッサ２１４及びメモリ２１５を含む。プロセッサ２１４は、第１インタフェース２１１及び第２インタフェース２１２に接続され、プロセッサ２１４は、制御部２１０の機能を実施するよう構成される。プロセッサ２１４は、メモリ２１５に接続される。メモリ２１５は、第１インタフェース２１１及び第２インタフェース２１２に接続される。メモリ２１５は、クライアント又はオブジェクトベース記憶システム１４０から送信された情報を一時的に格納するよう構成される。メモリ２１５は、ソフトウェアプログラム及びアプリケーションモジュールを格納するよう更に構成される。プロセッサ２１４は、メモリ２１５に格納されたソフトウェアプログラム及びアプリケーションモジュールを実行することにより、バックアップサーバ１３０の様々な機能を実施する。
【０２８６】
プロセッサ２１４は、任意のコンピューティング装置であって良く、汎用中央処理ユニット（CPU）、マイクロプロセッサ、プログラマブルプロセッサ、特定用途向け集積回路（Application  Specific  Integrated  Circuit、ASIC）、又は、前述のソリューションにおけるプログラムの実行を制御するよう構成される１又は複数の集積回路であって良い。特定の実装の間、一実施形態では、プロセッサ２１４は１又は複数のCPUを含んで良い。
【０２８７】
メモリ２１５は、揮発性メモリ（Volatile  Memory）、例えばランダムアクセスメモリ（Random−Access  Memory、RAM）を含んで良い。或いは、メモリ２１５は不揮発性メモリ（non−volatile  memory）、例えば読み出し専用メモリ（Read−Only  Memory、ROM）、フラッシュメモリ（Flash  Memory）、ハードディスクドライブ（Hard  Disk  Drive、HDD）、固体ドライブ（Solid−State  Drive、SSD）、又はディスク記憶媒体を含んで良い。しかし、本発明はこれらに限定されない。
【０２８８】
図９を参照すると、図９は、本発明の一実施形態による別のバックアップサーバの構造図である。図９に示すように、バックアップサーバ９００は、生成モジュール９１０、検出モジュール９２０、決定モジュール９３０、及び第１通信機モジュール９４０を含む。バックアップサーバ９００内のモジュール間の接続関係は次の通りである。検出モジュール９２０は、生成モジュール９１０及び決定モジュール９３０に別個に接続され、第１通信機モジュール９４０は決定モジュール９３０に接続される。生成モジュール９１０、検出モジュール９２０、及び決定モジュール９３０は、特定の実装の間、図８に示される制御部２１０又はプロセッサ２１４を用いて実装されて良い。第１通信機モジュール９４０は、特定の実装の間、図８に示される第２インタフェース２１２を用いて実装されて良い。図９に示されるモジュールの機能は次の通り記載される。
【０２８９】
生成モジュール９１０は、バックアップサーバ９００が第１ディスクデータの期限切れバックアップを決定した後に毎回、第１ディスクデータの削除ログを生成し、期限切れバックアップの中の無効データのポインタを削除ログに格納するよう構成される。ここで、期限切れバックアップは、現在第１時点までにオブジェクトベース記憶システムにおいて実行された第１ディスクデータの全ての非期限切れバックアップの中で最も前のバックアップである。生成モジュール９１０が第１ディスクデータの削除ログを生成し、期限切れバックアップの中の無効データのポインタを削除ログに格納する特定の実装の詳細については、図４に示されるステップ４００〜４２１の内容を参照する。特定の詳細はここで再び記載されない。
【０２９０】
検出モジュール９２０は、削除条件が満たされるか否かを検出し、削除条件が満たされる場合、第１ディスクデータに対応する複数の削除ログを取得するよう構成される。
【０２９１】
決定モジュール９３０は、複数の削除ログに基づき、オブジェクトベース記憶システムに格納され且つ有効データ及び無効データを含む第１目標大型オブジェクトを決定するよう構成される。決定モジュール９３０が、複数の削除ログに基づき、オブジェクトベース記憶システムに格納され且つ有効データ及び無効データを含む第１目標大型オブジェクトを決定する特定の実装の詳細については、図５に示されるステップ５０１において記載された内容を参照する。特定の実装の詳細はここで再び記載されない。
【０２９２】
第１通信機モジュール９４０は、データ移行指示及びオブジェクト削除指示をオブジェクトベース記憶システムへ送信するよう構成される。ここで、データ移行指示は、第１目標大型オブジェクト内の有効データを別の大型オブジェクトへ移行するよう、オブジェクトベース記憶システムに指示するために使用され、オブジェクト削除指示は、第１目標大型オブジェクトを削除するよう、オブジェクトベース記憶システムに指示するために使用される。第１通信機モジュール９４０がデータ移行指示をオブジェクトベース記憶システムへ送信する詳細については、図５に示されるステップ５１０〜５４０において記載された内容、又は図６に示されるステップ６１０〜６２０において記載された内容を参照する。第１通信機モジュール９４０がオブジェクト削除指示をオブジェクトベース記憶システムへ送信する特定の実装の詳細については、図５に示されるステップ５５０及び５６０において記載された内容を参照する。特定の実装の詳細はここで再び記載されない。
【０２９３】
任意的実装では、検出モジュール９２０は、第１ディスクデータに対応する複数の削除ログの数がプリセット削除閾に達したか否かを検出し、プリセット削除閾に達した場合、削除条件が満たされたと決定する、又は、
プリセット削除時間に達したか否かを検出し、プリセット削除時間に達した場合、削除条件が満たされたと決定する、又は、
削除条件が満たされた最終時間の後に計時を開始し、計時が終了したか否かを検出し、計時が終了した場合、削除条件が満たされたと決定する、よう更に構成される。
【０２９４】
任意的実装では、生成モジュール９１０は、移動後の有効データのポインタを生成し、第１ディスクデータの移動ログを生成し、移動ログに、移動前の有効データのポインタと移動後の有効データのポインタとの間の対応を格納するよう更に構成される。ここで、移動後の有効データのポインタは、別の大型オブジェクトの中の且つ別の大型オブジェクトへの移動後の有効データの位置を示す。生成モジュール９１０が移動後の有効データのポインタを生成し、第１ディスクデータの移動ログを生成し、移動ログに、移動前の有効データのポインタと移動後の有効データのポインタとの間の対応を格納する詳細については、図５に示されるステップ５４１〜５４４において記載した内容を参照する。特定の実装の詳細はここで再び記載されない。
【０２９５】
図９に示される実施形態に基づき、任意的実装では、図１０を参照する。図１０は、本発明の一実施形態による更に別のバックアップサーバ１０００の構造図である。図１０に示すように、バックアップサーバ１０００は、第２通信機モジュール１０１０及び処理モジュール１０２０を更に含む。処理モジュール１０２０は、特定の実装の間、図８に示される制御部２１０又はプロセッサ２１４を用いて実装されて良い。第２通信機モジュール１０１０は、特定の実装の間、図８に示される第１インタフェース２１１を用いて実装されて良い。図１０に示されるモジュールの機能は、図９に示されるものと異なり、以下の通り記載される。
【０２９６】
第２通信機モジュール１０１０は、クライアント１１０により送信されたデータ復旧要求を受信するよう構成される。ここで、データ復旧要求は、第１ディスク識別子、第２ディスク識別子、及び被復旧バックアップのバックアップ識別子を含み、データ復旧要求は、被復旧バックアップのバックアップ識別子に対応する被復旧バックアップに基づき、第１ディスクデータを第２ディスクに復旧するよう指示するために使用され、被復旧バックアップは第１ディスクデータの全ての非期限切れバックアップの中の任意のバックアップである。第２通信機モジュール１０１０がクライアントにより送信されたデータ復旧要求を受信するよう構成される詳細については、図７Ａ及び図７Ｂに示されるステップ７００において記載された内容を参照する。特定の実装の詳細はここで再び記載されない。
【０２９７】
処理モジュール１０２０は、被復旧バックアップのバックアップメタデータを取得し、第１ディスクデータの各移動ログを取得するよう構成される。処理モジュール１０２０が、被復旧バックアップのバックアップメタデータを取得し、第１ディスクデータの各移動ログを取得するよう構成される詳細については、図７Ａ及び図７Ｂに示されるステップ７０１〜７１３において記載された内容を参照する。特定の実装の詳細はここで再び記載されない。
【０２９８】
処理モジュール１０２０は、第１ディスクデータの各移動ログに基づき、移動ログに記録された、非移動有効データのポインタと同じポインタが、被復旧バックアップのバックアップメタデータの中に存在するか否かを決定し、ポインタが存在する場合、変更バックアップメタデータを取得するために、被復旧バックアップのバックアップメタデータの中の同じポインタを移動前の有効データのポインタに対応する移動後の有効データのポインタに変更するよう更に構成される。ここで、変更バックアップメタデータは、非変更ポインタ及び変更ポインタを含み、変更ポインタは、移動ログに記録された、移動有効データのポインタである。処理モジュール１０２０が変更バックアップメタデータを取得する詳細については、図７Ａ及び図７Ｂに示されるステップ７２０において記載された内容を参照する。特定の実装の詳細はここで再び記載されない。
【０２９９】
第１通信機モジュール９４０は、変更バックアップメタデータに基づき、被復旧バックアップに対応する第１ディスクデータを取得するよう更に構成される。通信機モジュール９４０が、変更バックアップメタデータに基づき、被復旧バックアップに対応する第１ディスクデータを取得する詳細については、図７Ａ及び図７Ｂに示されるステップ７２２〜７３１において記載された内容を参照する。特定の実装の詳細はここで再び記載されない。
【０３００】
処理モジュール１０２０は、第１ディスクデータを第２ディスクに格納するよう更に構成される。処理モジュール１０２０が第１ディスクデータを第２ディスクデータに格納する詳細については、図７Ａ及び図７Ｂに示されるステップ７４０及び７５０において記載された内容を参照する。特定の実装の詳細はここで再び記載されない。
【０３０１】
図１０に示される実施形態に基づき、任意的実装では、図１１を参照する。図１１は、本発明の一実施形態による更に別のバックアップサーバの構造図である。図１１に示すように、生成モジュール９１０は、処理モジュール１０２０に接続される。
【０３０２】
生成モジュール９１０は、移動ログのオブジェクト識別子を生成するよう更に構成される。特定の実装の詳細については、図５に示されるステップ５４３において記載された内容を参照する。特定の実装の詳細はここで再び記載されない。
【０３０３】
処理モジュール１０２０は、第１ディスク識別子と移動ログのオブジェクト識別子との間の対応を格納し、移動ログ記憶要求をオブジェクトベース記憶システムへ送信するよう更に構成される。ここで、移動ログ記憶要求は、移動ログのオブジェクト識別子及び移動ログを含み、移動ログ記憶要求は、移動ログを移動ログのオブジェクト識別子に対応するオブジェクトに格納するよう、オブジェクトベース記憶システムに指示するために使用される。特定の実装の詳細については、図５に示されるステップ５４３において記載された内容を参照する。特定の実装の詳細はここで再び記載されない。
【０３０４】
処理モジュール１０２０は、第１ディスク識別子に基づき、移動ログのオブジェクト識別子を取得するよう更に構成される。特定の実装の詳細については、図７Ａ及び図７Ｂに示されるステップ７０１において記載された内容を参照する。特定の実装の詳細はここで再び記載されない。
【０３０５】
第１通信機モジュール９４０は、移動ログ取得要求を送信するよう更に構成される。ここで、移動ログ取得要求は、移動ログのオブジェクト識別子を含み、移動ログ取得要求は、移動ログのオブジェクト識別子に対応するオブジェクトから移動ログを取得するよう、オブジェクトベース記憶システムに指示するために使用される。特定の実装の詳細については、図７Ａ及び図７Ｂに示されるステップ７０３において記載された内容を参照する。特定の実装の詳細はここで再び記載されない。
【０３０６】
第１通信機モジュール９４０は、オブジェクトベース記憶システムにより送信された移動ログを受信するよう更に構成される。特定の実装の詳細については、図７Ａ及び図７Ｂに示されるステップ７１０〜７１２において記載された内容を参照する。特定の実装の詳細はここで再び記載されない。
【０３０７】
図９又は図１０に示されるいずれかの実施形態に基づき、別の任意的実施形態では、図１２を参照する。図１２は、本発明の一実施形態によるまた更に別のバックアップサーバの構造図である。図１２に示すように、第１通信機モジュール９４０は、検出モジュール９２０に接続される。
【０３０８】
決定モジュール９３０は、複数の削除ログに基づき、オブジェクトベース記憶システムに格納され且つ無効データを含む第１目標大型オブジェクトを決定し、所定無効データサイズ及び第１目標大型オブジェクトに含まれる無効データのピース数に基づき、第１目標大型オブジェクトの中の全ての無効データのデータ容量を決定するよう更に構成される。
【０３０９】
第１通信機モジュール９４０は、データ容量決定要求をオブジェクトベース記憶システムへ送信するよう更に構成される。ここで、データ容量決定要求は第１目標大型オブジェクトの識別子を含み、データ容量決定要求は、第１目標大型オブジェクトのデータ容量を送信するよう、オブジェクトベース記憶システムに指示するために使用される。
【０３１０】
第１通信機モジュール９４０は、データ容量属性情報を受信するよう更に構成される。ここで、データ容量属性情報は、第１目標大型オブジェクトのデータ容量を含む。
【０３１１】
検出モジュール９２０は、第１目標大型オブジェクト内の全ての無効データのデータ容量が、データ容量属性情報の中の第１目標大型オブジェクトのデータ容量より少ないことを検出し、オブジェクトベース記憶システムに格納された第１目標大型オブジェクトを、無効データ及び有効データを含む第１目標大型オブジェクトとして決定するよう更に構成される。
【０３１２】
別の実装では、図９に示されるバックアップサーバ９００の構造に基づき、生成モジュール９１０は、バックアップサーバ９００が第１ディスクデータの期限切れバックアップを決定した後に毎回、第１ディスクデータの削除ログを生成し、期限切れバックアップの中の無効データのポインタを削除ログに格納するよう構成される。ここで、期限切れバックアップは、現在第１時点までにオブジェクトベース記憶システムにおいて実行された第１ディスクデータの全ての非期限切れバックアップの中で最も前のバックアップである。生成モジュール９１０が第１ディスクデータの削除ログを生成し、期限切れバックアップの中の無効データのポインタを削除ログに格納する特定の実装の詳細については、図４に示されるステップ４００〜４２１の内容を参照する。特定の詳細はここで再び記載されない。
【０３１３】
検出モジュール９２０は、削除条件が満たされるか否かを検出し、削除条件が満たされる場合、第１ディスクデータに対応する複数の削除ログを取得するよう構成される。
【０３１４】
決定モジュール９３０は、複数の削除ログに基づき、オブジェクトベース記憶システムに格納され且つ無効データのみを含む大型オブジェクトを決定するよう構成される。決定モジュール９３０が、複数の削除ログに基づき、オブジェクトベース記憶システムに格納され且つ無効データのみを含む大型オブジェクトを決定する特定の実装の詳細については、図５に示されるステップ５０１において記載された内容を参照する。特定の実装の詳細はここで再び記載されない。
【０３１５】
第１通信機モジュール９４０は、オブジェクト削除指示をオブジェクトベース記憶システムへ送信するよう構成される。ここで、オブジェクト削除指示は、無効データのみを含む大型オブジェクトを削除するよう、オブジェクトベース記憶システムに指示するために使用される。第１通信機モジュール９４０がオブジェクト削除指示をオブジェクトベース記憶システムへ送信する実装の詳細については、図５に示されるステップ５７０及び５８０において記載された内容を参照する。特定の実装の詳細はここで再び記載されない。
【０３１６】
別の実装では、決定モジュール９３０は、複数の削除ログに基づき、無効データを含む大型オブジェクトを決定し、所定無効データサイズ及び無効データを含む大型オブジェクトに含まれる無効データのピース数に基づき、無効データを含むオブジェクト内の全ての無効データのデータ容量を決定するよう更に構成される。
【０３１７】
第１通信機モジュール９４０は、データ容量決定要求をオブジェクトベース記憶システムへ送信するよう更に構成される。ここで、データ容量決定要求は無効データを含む大型オブジェクトの識別子を含み、データ容量決定要求は、無効データを含む大型オブジェクトのデータ容量を送信するよう、オブジェクトベース記憶システムに指示するために使用される。
【０３１８】
第１通信機モジュール９４０は、データ容量属性情報を受信するよう更に構成される。ここで、データ容量属性情報は、無効データを含む大型オブジェクトのデータ容量を含む。
【０３１９】
検出モジュール９２０は、無効データを含む大型オブジェクト内の全ての無効データのデータ容量が、データ容量属性情報の中の、無効データを含む大型オブジェクトのデータ容量と同じことを検出し、オブジェクトベース記憶システムに格納され且つ無効データを含む大型オブジェクトを、無効データのみを含む大型オブジェクトとして決定するよう更に構成される。
【０３２０】
前述の処理のシーケンス番号は、本発明の種々の実施形態において実行順を意味しないことが理解されるべきである。処理の実行順は、機能及び処理の内部ロジックに従い決定されるべきであり、本発明の実施形態の実装過程に対する制限として考えられるべきではない。
【０３２１】
本発明で提供される幾つかの実施形態では、開示の装置、機器及び方法は他の方法で実装されて良いことが理解されるべきである。例えば、記載した機器の実施形態は単なる一例である。例えば、ユニットの分割は、単なる論理的機能の分割であり、実際の実装では他の分割であって良い。例えば、複数のユニット又はコンポーネントは、別の装置に結合又は統合されて良い。或いは、幾つかの機能は無視されるか又は実行されなくて良い。さらに、表示した又は議論した相互結合又は直接結合又は通信接続は、幾つかのインタフェースを使用することにより実装されて良い。機器又はユニット間の間接結合又は通信接続は、電子的、機械的又は他の形式で実装されて良い。
【０３２２】
別個の部分として記載されたユニットは、物理的に別個であって良く又はそうでなくて良い。また、ユニットとして表示された部分は、物理的なユニットであって良く又はそうでなくて良く、１カ所に置かれて良く或いは複数のネットワークユニットに分散されて良い。一部又は全部のユニットは、実施形態のソリューションの目的を達成するために実際の必要に応じて選択されて良い。
【０３２３】
さらに、本発明の実施形態における機能ユニットは、１つの処理ユニットに統合されて良く、或いは各ユニットが物理的に単独で存在して良く、或いは２以上のユニットが１つのユニットに統合されて良い。統合モジュールは、ハードウェアの形式で実装されて良く、又はソフトウェア機能モジュールに加えてハードウェアの形式で実装されて良い。
【０３２４】
前述の実施形態は、全部又は部分的に、ソフトウェア、ハードウェア、ファームウェア又はそれらの任意の組み合わせにより実装されて良い。ソフトウェアにより実装されるとき、実施形態は、全部又は部分的に、コンピュータプログラムプロダクトの形式で実装されて良い。コンピュータプログラムプロダクトは、１又は複数のコンピュータ命令を含む。コンピュータプログラム命令はコンピュータ上にロードされ実行されると、本発明の実施形態による手順又は機能が全部又は部分的に実行される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、又は別のプログラマブル機器であって良い。コンピュータ命令は、コンピュータ可読記憶媒体に格納されて良い。コンピュータ可読記憶媒体は、コンピュータにより読み取り可能な任意の使用可能媒体、又は１又は複数の使用可能媒体の統合されたサーバ、データセンタ、等を含むデータ記憶装置であって良い。使用可能媒体は、磁気媒体（例えば、フロッピーディスク、ハードディスク、又はテープ）、光媒体（例えば、デジタルビデオディスク（Digital  Video  Disc、DVD））、半導体媒体（例えば、固体ディスク（Solid  State  Disk、SSD））、等であって良い。
【０３２５】
記載は、本発明の単なる特定の実装であり、本発明の保護範囲を制限することを意図しない。本発明で開示された技術範囲内にある、当業者により直ちに考案される変形又は置換は、本発明の保護範囲に含まれるべきである。したがって、本発明の保護範囲は、請求項の保護範囲に従う。
【図１】
0006968876.tif 000009
【図２】
0006968876.tif 000010
【図３】
0006968876.tif 000011
【図４】
0006968876.tif 000012
【図５】
0006968876.tif 000013
【図６】
0006968876.tif 000014
【図７Ａ】
0006968876.tif 000015
【図７Ｂ】
0006968876.tif 000016
【図８】
0006968876.tif 000017
【図９】
0006968876.tif 000018
【図１０】
0006968876.tif 000019
【図１１】
0006968876.tif 000020
【図１２】
0006968876.tif 000021