(57)【要約】【課題】本発明は、データブロックをバックアップできるデータブロックバックアップシステム及びその方法を提供することを目的とする。【解決手段】本発明に係るデータブロックバックアップシステムは、記憶モジュールと、移動モジュールと、バックアップモジュールと、情報追加モジュールとを備え、記憶モジュールは、ハッシュリストをハッシュデータベースに、データブロックをサーバのデータランディング領域にアップロードし、移動モジュールはデータブロックが重複データブロックであるかどうかを判断し重複データブロックをデータランディング領域から削除し、バックアップモジュールは、重複データブロックをサーバのバックアップ領域にアップロードし又はバックアップ作業を終了させ、情報追加モジュールは、データブロック及びそのバックアップ分の記憶指針をハッシュデータベースにそれぞれ追加する。【選択図】図１
2014120160.tif 000002
【特許請求の範囲】
【請求項１】
記憶ステップと、
移動ステップと、
バックアップステップと、
情報追加ステップと、
を備え、ネットワークで１つ又は複数のクライアントに接続される複数台のサーバの内の一台内に応用されるデータバックアップ方法であって、
前記記憶ステップでは、データブロックの名称及びハッシュ値とが記憶されたハッシュリストがハッシュデータベースにアップロードされ、データブロックは分割された順でサーバのデータランディング領域にアップロードされ、
前記移動ステップにおいて、各データブロックがデータランディング領域にアップロードされた順に、重複データブロックかどうかが判断され、データブロックがサーバの記憶領域に既に存在すると判断された場合、該データブロックは重複データブロックと確定され、且つデータランディング領域から削除され、
前記バックアップステップにおいて、重複データブロックがバックアップされていない場合、該重複データブロックはサーバのバックアップ領域にアップロードされ、重複データブロックがバックアップされている場合、データバックアップは終了し、
前記情報追加ステップにおいて、データブロックの記憶指針及びデータブロックのバックアップ分の指針をハッシュデータベースに追加することを特徴とするデータバックアップ方法。
【請求項２】
更に分割ステップを備え、前記分割ステップでは、アップロードされたファイルを複数のデータブロックに分割し、前記データブロックの名称及びハッシュ値はハッシュリストに記憶され、各ファイルは１つのハッシュリストに対応することを特徴とする請求項１に記載のデータバックアップ方法。
【請求項３】
前記バックアップステップは、ハッシュデータベースにおいて重複ブロックと対応するハッシュリストのバックアップフィールドに値があるかどうかを検索し、値がある場合、該データブロックはバックアップされたと判断され、値がない場合、前記データブロックはバックアップされていないと判断されることを特徴とする請求項１又は２に記載のデータバックアップ方法。
【請求項４】
前記移動ステップでは、サーバの記憶領域にデータブロックが記憶されていないと判断されると、該データブロックはデータランディング領域から前記記憶領域に移動されることを特徴とする請求項１から３の何れか一項に記載のデータバックアップ方法。
【請求項５】
クライアントはサーバからファイルをダウンロードする場合、ファイルの記憶指針に基づいてハッシュデータベースから各データのハッシュ値を獲得し、各データブロックの記憶指針を基に対応する記憶領域から各データブロックをダウンロードし、各データブロックのハッシュ値をハッシュデータベースから獲得した対応するデータブロックのハッシュ値と一致するかどうかを検出し、検出の結果、二つの値が一致する場合、データブロックの分割順序で該検出されたデータブロックを組み合わせてファイルを生成し、組み合わされたファイルのハッシュ値をサーバにアップロードされる前のファイルのハッシュ値と一致するかどうかを検出し、二つの値が一致する場合、組み合わされたファイルはクライアントのユーザに提供され、二つの値が一致しない場合、ファイルの記憶指針に基づいてハッシュデータベースから各データのハッシュ値を獲得するステップに戻ることを特徴とする請求項１から４の何れか一項に記載のデータバックアップ方法。
【請求項６】
記憶モジュールと、
移動モジュールと、
バックアップモジュールと、
情報追加モジュールと、
を備え、ネットワークで１つ又は複数のクライアントに接続される複数台のサーバの内の一台内に応用されるデータバックアップ方法であって、
前記記憶モジュールは、データブロックの名称及びハッシュ値が記憶されたハッシュリストをハッシュデータベースにアップロードし、データブロックはファイルから分割された順でサーバのデータランディング領域にアップロードされ、
前記移動モジュールは、各データブロックをデータランディング領域にアップロードされた順に重複データブロックかどうかを判断し、データブロックはサーバの記憶領域に記憶されたと判断された場合、該データブロックを重複データブロックと確定し、且つデータランディング領域から削除し、
前記バックアップモジュールは、重複データブロックがバックアップされていない場合、該重複データブロックをサーバのバックアップ領域にアップロードし、重複データブロックがバックアップされている場合、データバックアップを終了させ、
前記情報追加モジュールは、データブロックの記憶指針及びデータブロックのバックアップ分の指針をハッシュデータベースに追加することを特徴とするデータバックアップシステム。
【請求項７】
更に分割モジュールを備え、前記分割モジュールは、アップロードされたファイルを複数のデータブロックに分割し、前記データブロックの名称及びハッシュ値をハッシュリストに記憶させ、各ファイルは１つのハッシュリストに対応することを特徴とする請求項６に記載のデータバックアップシステム。
【請求項８】
前記バックアップモジュールは、ハッシュデータベースにおいて重複データブロックと対応するハッシュリストのバックアップフィールドに値があるかどうかを検索し、値がある場合、該データブロックはバックアップされたと判断し、値がない場合、該データブロックはバックアップされていないと判断することを特徴とする請求項６又は７に記載のデータバックアップシステム。
【請求項９】
前記移動モジュールは、サーバの記憶領域にデータブロックが記憶されていないと判断された場合、該データブロックをデータランディング領域から前記記憶領域に移動することを特徴とする請求項６から８の何れか一項に記載のデータバックアップシステム。
【請求項１０】
クライアントはサーバからファイルをダウンロードする場合、ファイルの記憶指針に基づいて、ハッシュデータベースから各データのハッシュ値を獲得し、各データブロックの記憶指針を基に対応する記憶領域から各データブロックをダウンロードし、各データブロックのハッシュ値をハッシュデータベースから獲得した対応するデータブロックのハッシュ値と一致するかどうかを検出し、検出の結果、二つの値が一致する場合、データブロックの分割順序で該検出されたデータブロックを組み合わせてファイルを生成し、組み合わされたファイルのハッシュ値をサーバにアップロードされる前のファイルのハッシュ値と一致するかどうかを検出し、二つの値が一致する場合、組み合わされたファイルはクライアントのユーザに提供し、二つの値が一致しない場合、ファイルの記憶指針に基づいてハッシュデータベースから各データのハッシュ値を獲得するステップに戻ることを特徴とする請求項６から９の何れか一項に記載のデータバックアップシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データブロックバックアップシステム及びその方法に関するものである。
【背景技術】
【０００２】
クラウドコンピューティング技術において、１つのデータブロックは複数のファイルに引用される。従って、データブロックが損傷すると、該データブロックを引用する必要のあるファイルは不完全となり、全て使用できなくなってしまうという問題がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、前記問題を解決し、データブロックをバックアップできるデータブロックバックアップシステム及びその方法を提供することである。
【課題を解決するための手段】
【０００４】
上記目的を達成するために、本発明に係るデータブロックバックアップシステムは、記憶モジュールと、移動モジュールと、バックアップモジュールと、情報追加モジュールと、を備える。前記記憶モジュールは、ハッシュリストをハッシュデータベースに、データブロックをサーバのデータランディング領域にアップロードし、前記移動モジュールは、前記データブロックが重複データブロックであるかどうかを判断し、前記重複データブロックをデータランディング領域から削除し、前記バックアップモジュールは、前記重複データブロックがバックアップされているかどうかによって、前記重複データブロックをサーバのバックアップ領域にアップロードし、又はバックアップ作業を終了させ、前記情報追加モジュールは、データブロック及びそのバックアップ分の記憶指針を前記ハッシュデータベースにそれぞれ追加する。
【発明の効果】
【０００５】
本発明に係るデータブロックバックアップシステムは、データブロックをバックアップするので、元のデータブロックが損傷しても、バックアップ分を獲得して引用できるため、ファイルの完全性を確保できる。
【図面の簡単な説明】
【０００６】
【図１】本発明の実施形態に係るデータブロックバックアップシステムの実行環境を示すブロック図である。
【図２】図１のサーバの主な構成部を示す図である。
【図３】本発明の実施形態に係るデータブロックバックアップシステムのフローチャートである。
【図４】ユーザがクライアントでサーバに記憶されたファイルをダウンロードする動作のフローチャートである。
【発明を実施するための形態】
【０００７】
図１に示したように、データブロックバックアップシステム３００は、複数台のサーバ３によって構成されるサーバ群の内、一台のサーバ３内で実行される。全てのサーバ３は、ネットワーク（図示せず）によって、１つ又は複数のクライアント１に接続される。
【０００８】
本実施形態において、一台或いは複数台のサーバ３はハッシュデータベース２を共用する。例えば、第一サーバ３、第二サーバ３及び第三サーバ３がハッシュデータベース２を共用すると、三台のサーバ３のファイル情報はハッシュデータベース２に記憶される。ハッシュデータベース２は、１つのサーバ３内に設置する或いはサーバ３の外部に設置することができる。例えば、ハッシュデータベース２は、一台のサーバ３、つまり第一サーバ３内に設置しても、三台のサーバ３に共用されることができる。
【０００９】
ファイル情報は、ファイルの名称及びファイルのアトリビュートを含む。各ファイルは、１つのハッシュリストに対応し、且つ１つのハッシュ値に対応する。重複保存を防いで、記憶空間を節約するために、本実施形態において、ファイルはデータブロックによって構成されている。ハッシュリストの中には、ファイルの複数のデータブロックの名称、各データブロックのハッシュ値、及びデータブロックの分割順序が記録されている。本実施形態において、前記データブロックの名称は、データブロックのハッシュ値に基づいて命名することができる。
【００１０】
図２に示したように、サーバ３は、記憶装置３０及び少なくとも一台のプロセッサ３２を備える。
【００１１】
記憶装置３０には、データブロックバックアップシステム３００のプログラムコードが記憶されている。記憶装置３０は、サーバ３内に設置する或いはサーバ３の外部に設置することができる。
【００１２】
記憶装置３０は、１つ又は複数の記憶領域と、１つ又は複数のバックアップ領域と、１つのデータランディング領域と、を備える。記憶領域は、データブロックを記憶するために使用され、バックアップ領域は、データブロックをバックアップするために使用され、データランディング領域は、データブロックを臨時に記憶するために使用される。
【００１３】
プロセッサ３２は、データブロックバックアップシステム３００のプログラムコードを実行する。
【００１４】
データブロックバックアップシステム３００は、分割モジュール３０００と、記憶モジュール３００２と、移動モジュール３００４と、バックアップモジュール３００６と、情報追加モジュール３００８と、を備える。以上のモジュールは、特定機能を完成できるプログラム段である。
【００１５】
図３に示したように、本発明の実施形態に係るデータブロックバックアップ方法は、以下のステップを含む。
【００１６】
ステップＳ１００において、分割モジュール３０００は、アップロード予定のファイルを複数のデータブロックに分割し、且つデータブロックの名称及びそのハッシュ値をハッシュリストに記録する。各データブロックは１つのハッシュ値に対応する。ハッシュ値の計算方法は、従来の技術であるため、ここでの説明は省略する。
【００１７】
本実施形態において、ハッシュリストには、各データブロックのバックアップフィールドが記録されている。このバックアップフィールドは、データブロックがバックアップされているかどうかを記載するために用いられる。つまり、データブロックがバックアップ領域にバックアップされると、データブロックのハッシュリストにおけるバックアップフィールドに値が追加される。例えば、そのバックアップフィールドの値「無」が、データブロックのバックアップブロック指針に変えられる。
【００１８】
ステップＳ１０２において、記憶モジュール３００２は、各ファイルのハッシュリストをハッシュデータベース２にアップロードすると共に、データブロックがファイルから分割された分割順序に従って、データブロックをサーバ３のデータランディング領域にアップロードして、臨時に記憶させる。該データランディング領域は、サーバ３の記憶領域から分割された一領域域であり、データブロックを臨時に記憶するために使用される。
【００１９】
ステップＳ１０４において、移動モジュール３００４は、データブロックがデータランディング領域にアップロードされる順に、各データブロックが重複データブロックであるかどうかを判断する。具体的には、移動モジュール３００４はサーバ３の記憶領域を検索し、各データブロックが記憶領域に存在するかどうかを判断する。本実施形態において、ハッシュ値を比較することによって、各データブロックが既に記憶領域に存在しているかどうかを判断する。
【００２０】
記憶領域に同じデータブロックが存在しないと判断された場合、ステップＳ１０６に移り、移動モジュール３００４は、対応するデータブロックをデータランディング領域からサーバ３の記憶領域に移動させる。次いで、ステップＳ１１２に移る。
【００２１】
記憶領域に同じデータブロックが存在すると判断された場合、ステップＳ１０８に移り、移動モジュール３００４は、このデータブロックを重複データブロックと確定し、該重複データブロックをデータランディング領域から削除する。
【００２２】
ステップＳ１１０において、バックアップモジュール３００６は、前記重複データブロックがバックアップされたかどうかを判断する。
【００２３】
具体的には、バックアップモジュール３００６は、ハッシュデータベース２に前記重複データブロックと対応するハッシュリストのバックアップフィールドにおいて、値があるかどうかを検索する。ハッシュリストにおいて、この重複データブロックのバックアップフィールドに値があると、重複データブロックはバックアップされたと判断され、データブロックバックアップ作業はここで終了する。ハッシュリストにおいて重複データブロックのバックアップフィールドに値がない場合、重複データブロックはバックアップされていないと判断され、データブロックバックアップ作業はステップＳ１１２に移る。
【００２４】
ステップＳ１１２において、バックアップモジュール３００６は、データブロックをサーバ３のバックアップ領域にアップロードして、データブロックをバックアップする。
【００２５】
ステップＳ１１４において、情報追加モジュール３００８は、データブロック及びそのバックアップ分の記憶指針をハッシュデータベース２にそれぞれ追加する。即ち、ハッシュリストにおいてデータブロックのバックアップフィールドの値を追加する。例えば、データブロックのバックアップブロック指針を文字列の形で、ハッシュデータベース２内の該データブロックのハッシュリストに追加する。
【００２６】
図４に示したように、本発明の実施形態に係るデータブロックバックアップ方法は、ユーザがクライアントでサーバに記憶されたファイルをダウンロードする作業を更に備え、以下のステップを含む。
【００２７】
ステップＳ２００において、クライアントは、ファイルの記憶指針を基にハッシュデータベース２からファイルの各データブロックのハッシュ値を獲得する。各ファイルは１つの記憶指針を備え、該記憶指針は、ファイルの複数のデータブロックの記憶指針によって構成される。
【００２８】
ステップＳ２０２において、ファイルの各データブロックの記憶指針に基づいて対応する記憶領域からデータブロックがダウンロードされる。
【００２９】
ステップＳ２０４において、各データブロックのハッシュ値がハッシュデータベース２のハッシュリストにおいて、対応するデータブロックのハッシュ値と一致するかどうかが検出される。
【００３０】
検出の結果、二つの値が異なる場合、ステップＳ２０６に移り、サーバ３のバックアップ領域からデータブロックをダウンロードした後、再びステップＳ２０４に入る。
【００３１】
検出の結果、二つの値が一致する場合、ステップＳ２０８に移り、クライアント１は、検出されたデータブロックを臨時記憶領域に入力し、データブロックの分割順序で検出されたデータブロックを組み合わせて、ファイルを生成する。
【００３２】
ステップＳ２１０において、組み合わされたファイルのハッシュ値をサーバ３にアップロードされる前のファイルのハッシュ値と一致するかどうかが検出される。
【００３３】
検出の結果、二つの値が一致する場合、ステップＳ２１２に移り、組み合わされたファイルがクライアント１のユーザに提供される。検出の結果、二つの値が異なる場合、ステップＳ２００に戻る。
【符号の説明】
【００３４】
１  クライアント
２  ハッシュデータベース
３  サーバ
３０  記憶装置
３２  プロセッサ
３００  データバックアップシステム
３０００  分割モジュール
３００２  記憶モジュール
３００４  移動モジュール
３００６  バックアップモジュール
３００８  情報追加モジュール
【図１】
2014120160.tif 000003
【図２】
2014120160.tif 000004
【図３】
2014120160.tif 000005
【図４】
2014120160.tif 000006