JP4546387B2 - Backup system, method and program - Google Patents
Backup system, method and program Download PDFInfo
- Publication number
- JP4546387B2 JP4546387B2 JP2005332790A JP2005332790A JP4546387B2 JP 4546387 B2 JP4546387 B2 JP 4546387B2 JP 2005332790 A JP2005332790 A JP 2005332790A JP 2005332790 A JP2005332790 A JP 2005332790A JP 4546387 B2 JP4546387 B2 JP 4546387B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- local storage
- redundancy
- original data
- sign
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 68
- 238000003860 storage Methods 0.000 claims description 257
- 238000009826 distribution Methods 0.000 claims description 59
- 238000012545 processing Methods 0.000 claims description 36
- 230000008030 elimination Effects 0.000 claims description 10
- 238000003379 elimination reaction Methods 0.000 claims description 10
- 239000011159 matrix material Substances 0.000 claims description 8
- 230000014759 maintenance of location Effects 0.000 description 50
- 230000008569 process Effects 0.000 description 31
- 238000007726 management method Methods 0.000 description 16
- 238000011084 recovery Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 7
- 238000012937 correction Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 230000001172 regenerating effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/103—Hybrid, i.e. RAID systems with parity comprising a mix of RAID types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1057—Parity-multiple bits-RAID6, i.e. RAID 6 implementations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、災害や事故に備えて複数のローカルストレージにデータを分散配置してバックアップするバックアップシステム、方法及びプログラムに関し、特に、ローカルストレージヘ分散するデータを冗長符合化して障害に対する耐性を高くするバックアップシステム、方法及びプログラムに関する。
The present invention relates to a backup system, method, and program for distributing and backing up data to a plurality of local storages in preparation for disasters and accidents, and in particular, data to be distributed to local storages is redundantly coded to increase tolerance against failures The present invention relates to a backup system, method, and program.
従来、磁気ディスク装置等のストレージ上にあるデータを障害や不意の事故などから守るために、一般的に使用される技術としてRAID(Redundant Arraysof Independent Disks)がある。RAIDのレベルはその用途に応じてRAID0からRAID6まであるが、データの安全性を高める技術として用いられる代表的なものは、RAID1、RAID5、RAID6である。
Conventionally, there is RAID (Redundant Array of Independent Disks) as a commonly used technique for protecting data on a storage such as a magnetic disk device from a failure or an unexpected accident. RAID levels range from RAID 0 to
RAID1は一般的には2台のディスクで用いて実現される。2台のディスクに同じデータを書き込むことで、ディスクの耐障害性を高める、最も単純な方法であり、ミラーリングと呼ばれる。 RAID1 is generally realized by using two disks. This is the simplest method for improving the fault tolerance of a disk by writing the same data to two disks, and is called mirroring.
図14は、RAID1を適用した分散ストレージシステムである。図14において、メインストレージ100にはネットワーク102を介して分散ストレージとして機能するローカルストレージ104−1〜104−3が接続される。RAID1ではメインストレージ装置100のデータ106と同じ複製データ106−1〜106−3を全てのローカルストレージ104−1〜104−3がメインストレージ100と同じデータ106を持ち、メインストレージ100のデータ106が失われた場合には、ローカルストレージ104−1〜104−3のいずれかからデータを転送して失われたデータ106を復元できる。
FIG. 14 shows a distributed storage system to which
RAID5は、複数台のディスクに分散してデータを記録する方法であり、書き込みの際にデータを加算して得られるパリティと呼ばれる冗長なコードを生成し同時に書き込む。これにより、どれか1台のディスクが故障しても、それ以外のディスクのデータとパリティ情報から、元の完全なデータを復元できる。 RAID5 is a method of recording data in a distributed manner on a plurality of disks. A redundant code called parity, which is obtained by adding data at the time of writing, is generated and written simultaneously. Thus, even if any one disk fails, the original complete data can be restored from the data and parity information of the other disks.
図15はRAID5を適用した分散ストレージである。メインストレージ100のデータはデータ108,110に分割されると共にパリティ112を生成し、ローカルストレージ104−1〜104−3に分散記憶している。この場合、例えばローカルストレージ104−2の障害等によりデータ110が失われても、ローカルストレージ装置104−1,104−3のデータ108とパリティ112から失われたデータ110を復元することができる。
FIG. 15 shows a distributed storage to which
RAID6はRAID5の拡張版であり、RAID5では1つであったパリティを2つ生成する。これにより、2台のディスクが同時に故障しても元のデータを復元できるようにする手法である。2つ目のパリティの取り方にはいくつか方法があるが、一般的にはリードソロモン符号が用いられる。 RAID6 is an extended version of RAID5, and generates two parities that were one in RAID5. In this way, the original data can be restored even if two disks fail simultaneously. There are several methods for obtaining the second parity, but a Reed-Solomon code is generally used.
図16はRAID6を適用した分散ストレージである。メインストレージ100のデータはデータ108,110に分割されると共にパリティ112,114を生成し、ローカルストレージ104−1〜104−4に分散記憶している。この場合、例えばローカルストレージ104−1〜104−4の内の2台のデータが障害等により失われても、正常な2台のデータ及び又はパリティから失われたデータを復元することができる。
FIG. 16 shows a distributed storage to which
また従来の分散ストレージシステムの管理方法として、複数のストレージヘデータの保存を行なう際に、2重の冗長化を行なうことで、ストレージに障害が発生した際にもデータの回復を可能としたものがある(特許文献1)。 In addition, as a management method for a conventional distributed storage system, data can be recovered even when a storage failure occurs by providing dual redundancy when storing data in multiple storages. (Patent Document 1).
また広域分散ストレージシステムを利用したデータ格納方法として、データを複数のストレージに分散して格納することによりデータのセキュリティを向上させつつ、さらにストレージの間の物理的距離を考慮して最適なストレージのセットを選択することにより、回線効率と災害時のデータの安全性を向上させるようにしている(特許文献2)。
しかしながら、このような従来の地理的に分散している複数のローカルストレージヘRAID1のミラーリング方式でバックアップを行なうと、オリジナルのデータのコピーが各ローカルに作成されるため、耐障害性は高いがストレージの利用効率が非常に悪いという問題がある。
However, when backup is performed using the
またRAID5ではRAID1と比べるとストレージの利用効率は高いが、回復可能なのは1台のローカルストレージが故障したときだけで、同時に2台以上が故障した場合には回復は不可能である。
In
更に、RAID6ではパリティを2つ生成するため、RAID5よりも1台分ディスクの利用効率が低く、また、2つ目のパリティを求めるためにリードソロモン符号を用いているため、計算量が大きいなどの問題がある。
Further, since
一方、特許文献1のものは、複数のストレージヘデータの保存を行なう際に、2重の冗長化を行なうことで、ストレージに障害が発生した際にもデータの回復を可能とし、また読み出しを高速化する方法であるが、2台以上のストレージが同時に故障した場合にはデータの復旧は不可能である。
On the other hand, in
特許文献2のものは、データを複数のストレージに分散して格納することによりデータのセキュリティを向上させる方法であるが、各ストレージが格納するデータ量が同じであるため,ストレージの利用効率が悪いという問題がある。
Although the thing of
本発明は、複数のローカルストレージにデータを分散配置してバックアップした際の障害に対し高い復元性をもつバックアップシステム、方法及びプログラムを提供することを目的とする。
It is an object of the present invention to provide a backup system, method, and program having high resilience against a failure when backup is performed by distributing data to a plurality of local storages.
(システム)
本発明はバックアップシステムを提供する。本発明のバックアップシステムは、
元データを記憶するメインストレージ装置と、
ストレージ装置のデータを分散して記憶する複数のローカルストレージ装置と、
元データを分割した後に、冗長度を可変な符号を用いて分割数以上の複数の符合化データを生成する符合化部と、
符合化部における冗長度を変化させる冗長度制御部と、
複数の符合化データを、複数のローカルストレージ装置に分配して記憶させる分配処理部と、
ローカルストレージ装置から少なくとも元データの分割数分の符合化データを回収して元データを復元する復元部と、
を備えたことを特徴とする。
(system)
The present invention provides a backup system. The backup system of the present invention
A main storage device for storing original data;
A plurality of local storage devices that distribute and store the storage device data; and
An encoding unit that generates a plurality of encoded data equal to or greater than the number of divisions using a variable redundancy code after dividing the original data;
A redundancy control unit for changing the redundancy in the encoding unit;
A distribution processing unit for distributing and storing a plurality of encoded data to a plurality of local storage devices;
A recovery unit that recovers at least the encoded data corresponding to the number of divisions of the original data from the local storage device and restores the original data;
It is provided with.
ここで、符合化部は、
元データをn個のブロックデータに分割するブロック分割部と、
n個のブロックデータの中の排他論理和をとる1又は複数のブロックを指定するビットマップを配置したヘッダと、ヘッダで指定された1又は複数のブロックデータの排他論理和データから構成される符合化データを、冗長度Qに応じた数mだけ生成する符合データ生成部と、
を備え、
復元部は、複数のローカルストレージ装置から前記ブロック数n以上の符合化データを回収し、ガウスの消去法により前記ヘッダ部を単位行列化することにより前記n個のブロックデータを復元する。
Here, the encoding unit is
A block division unit for dividing original data into n block data;
A code composed of a header in which a bit map specifying one or more blocks for exclusive OR in n block data is arranged, and exclusive OR data of one or more block data specified by the header Code data generation unit for generating a number m according to redundancy Q,
With
The restoration unit collects encoded data of the number of blocks n or more from a plurality of local storage devices, and restores the n block data by unitizing the header part by a Gaussian elimination method.
冗長度制御部は、元データの重要度に応じて符合化部における冗長度を変化させる。冗長度制御部は、手動設定、若しくは、元データに含まれるキーワード、更新日時、又は更新頻度に基づいて元データの重要度を自動設定する。例えば冗長度制御部は、重要度の自動設定として、元データに含まれるキーワードから対応する重要度を設定した後、更新日時及び又は更新頻度に応じて重要度を修正する
分配処理部は、複数の符合化データの分配数を、複数のローカルストレージ装置の信頼度又は使用可能容量に応じて設定する。分配御部は、ローカルストレージ装置の重要度を、手動設定若しくは稼働率又は応答時間(RTT)に基づいて自動設定する。例えば分配御部は、ローカルストレージ装置の重要度を稼働率に応じて設定した後に、ローカルストレージの応答時間(RTT)に応じて修正する。
The redundancy control unit changes the redundancy in the encoding unit according to the importance of the original data. The redundancy control unit automatically sets the importance of the original data based on the manual setting or the keyword included in the original data, the update date / time, or the update frequency. For example, the redundancy control unit sets the corresponding importance from the keywords included in the original data as automatic importance setting, and then modifies the importance according to the update date and / or update frequency. The number of encoded data distributions is set according to the reliability or usable capacity of a plurality of local storage devices. The distribution control unit automatically sets the importance of the local storage device based on manual setting or operation rate or response time (RTT). For example, the distribution control unit sets the importance of the local storage device according to the operating rate, and then corrects it according to the response time (RTT) of the local storage.
ローカルストレージ装置が新規追加または削除された時には、変更後のローカルストレージ装置に基づいて、符合化部で符合化データを再生成した後に分配処理部で再分配する。 When a new local storage device is added or deleted, the encoded data is regenerated by the encoding unit based on the changed local storage device and then redistributed by the distribution processing unit.
メインストレージ装置はクライアントのストレージ装置のデータに同期して元データを記憶し、メインストレージ装置に対し複数のローカルストレージ装置はネットワーク接続される。 The main storage device stores original data in synchronization with the data in the client storage device, and a plurality of local storage devices are connected to the main storage device via a network.
(方法)
本発明は、バックアップ方法を提供する。即ち、本発明は、元データを記憶するメインストレージ装置と、メインストレージ装置のデータを分散して記憶する複数のローカルストレージ装置と備えたシステムのバックアップ方法に於いて、
元データを分割した後に、冗長度を可変な符号を用いて分割数以上の複数の符合化データを生成する符合化ステップと、
符合化ステップにおける冗長度を変化させる冗長度制御ステップと、
複数の符合化データを、複数のローカルストレージ装置に分配して記憶させる分配処理ステップと、
ローカルストレージ装置から少なくとも元データの分割数分の符合化データを回収して元データを復元する復元ステップと、
を備えたことを特徴とする。
(Method)
The present invention provides a backup method. That is, the present invention relates to a system backup method including a main storage device that stores original data and a plurality of local storage devices that store data in the main storage device in a distributed manner.
An encoding step for generating a plurality of encoded data equal to or greater than the number of divisions using a variable redundancy code after dividing the original data;
A redundancy control step for changing the redundancy in the encoding step;
A distribution processing step for distributing and storing a plurality of encoded data to a plurality of local storage devices;
A recovery step of recovering at least the encoded data corresponding to the number of divisions of the original data from the local storage device and restoring the original data;
It is provided with.
(プログラム)
本発明はバックアッププログラムを提供する。本発明のバックアッププログラムは、元データを複数のローカルストレージ装置に分散して記憶するメインストレージ装置のコンピュータに、
元データを分割した後に、冗長度を可変な符号を用いて分割数以上の複数の符合化データを生成する符合化ステップと、
符合化ステップにおける冗長度を変化させる冗長度制御ステップと、
複数の符合化データを、複数のローカルストレージ装置に分配して記憶させる分配処理ステップと、
ローカルストレージ装置から少なくとも元データの分割数分の符合化データを回収して元データを復元する復元ステップと、
を実行させることを特徴とする。
(program)
The present invention provides a backup program. The backup program of the present invention is stored in a computer of a main storage device that stores original data in a distributed manner in a plurality of local storage devices.
An encoding step for generating a plurality of encoded data equal to or greater than the number of divisions using a variable redundancy code after dividing the original data;
A redundancy control step for changing the redundancy in the encoding step;
A distribution processing step for distributing and storing a plurality of encoded data to a plurality of local storage devices;
And restore steps that restore the recovered and original data coded data of the number of divisions of at least the original data from the local storage device,
Is executed.
なお、本発明によるバックアップ方法及びプログラムの詳細は、本発明によるバックアップシステムと基本的に同じになる。
The details of the backup method and program according to the present invention are basically the same as those of the backup system according to the present invention.
本発明では、1台以上のローカルストレージが同時に故障した場合でもデータの復旧が可能なように、冗長度(符号化率)を変更可能な符号化手法によりデータに対して冗長なデータを付け加えた符号化データを生成し、複数のローカルストレージに分散記憶しており、複数のローカルストレージで故障や災害が発生したとしても、残りのローカルストレージから復旧に必要な数の符号化データを集めることができれば、元データの復旧が可能であり、分散ストレージによるバックアップの信頼性を向上することができる。 In the present invention, redundant data is added to the data by an encoding method capable of changing the redundancy (coding rate) so that the data can be recovered even when one or more local storages simultaneously fail. Encoded data is generated and distributed and stored in multiple local storages. Even if a failure or disaster occurs in multiple local storages, the required number of encoded data can be collected from the remaining local storages. If possible, the original data can be recovered, and the reliability of backup by the distributed storage can be improved.
また本発明はデータを符合化する際に、重要なデータは冗長率を高くし、あまり重要でないデータは冗長率を低くすることで、冗長率を固定した場合に比べ、必要以上に符合化データの数を増やすことなく、効率よく符合化データをローカルストレージに分散配置して元データのバックアップを行うことができる。 Further, according to the present invention, when data is encoded, the redundancy rate is increased for important data and the redundancy rate is decreased for less important data. Without increasing the number of data, the encoded data can be efficiently distributed in the local storage and the original data can be backed up.
また本発明は、複数のローカルストレージに分配する符号化データの数を各ローカルストレージの信頼度に応じて決めており、信頼性が高いほど多くの符合化データを分配し、信頼性が低い場合には分配する符合化データの数を少なくすることで、ローカルストレージの故障による符合化データの消失を最小限に抑え、安定して元データの復元に必要な数の符合化データを集めることができるようにし、高い信頼性を保証しつつ、データの冗長率を抑えることができる。 In the present invention, the number of encoded data to be distributed to a plurality of local storages is determined according to the reliability of each local storage. The higher the reliability, the more encoded data is distributed and the reliability is low. By reducing the number of encoded data to be distributed, it is possible to minimize the loss of encoded data due to a local storage failure and to collect the required number of encoded data stably for restoring the original data. It is possible to suppress the data redundancy rate while ensuring high reliability.
また複数のローカルストレージに符合化データを分配する際には、各ローカルストレージの故障し難さ(稼働率)や使用可能容量などに応じて分配する符号化データの数を動的に決定することで、故障時の信頼性をさらに上げることができる。 In addition, when distributing encoded data to multiple local storages, the number of encoded data to be distributed is dynamically determined according to the difficulty of failure of each local storage (operating rate), usable capacity, etc. Thus, the reliability at the time of failure can be further increased.
更に、ローカルストレージに分配する符合化データの数(データ量)が可変であるので、高性能なローカルストレージと低性能なローカルストレージ、或いはバックアップ使用可能容量の多いローカルストレージと少ないローカルストレージを一緒に使用することができ、ローカルストレージの利用効率を高め、バックアップシステムの構築を容易にする共にコストを低減できる。
Furthermore, with the number of encoded data to be distributed to the local storage (data amount) is variable, high-performance local storage and low-performance local storage, or backup available capacity of many local storage and less local storage It is possible to use the storage system to increase the utilization efficiency of the local storage, facilitate the construction of the backup system, and reduce the cost.
図1は本発明によるバックアップシステムの一実施形態を示したシステム機能構成のブロック図である。図1において、本実施形態のバックアップシステムは、クライアント14のデータをバックアップするために構築されており、クライアント14に対しメインストレージサーバ10が接続され、メインストレージサーバ10のメインストレージ12にはクライアント14で利用者が作成したストレージ16に格納されるデータ、例えばファイルが同期してメインストレージ12に格納されている。
FIG. 1 is a block diagram of a system functional configuration showing an embodiment of a backup system according to the present invention. In FIG. 1, the backup system according to the present embodiment is constructed to back up the data of the
メインストレージサーバ10に対してはネットワーク18を介してローカルストレージサーバ20−1〜20−5が接続され、ローカルストレージサーバ20−1〜20−5はそれぞれローカルストレージ22−1〜22−5を備えており、このローカルストレージ22−1〜22−5はメインストレージ10に対し分散ストレージとして機能する。
Local storage servers 20-1 to 20-5 are connected to the
クライアント14で作成更新したファイルをメインストレージサーバ10のメインストレージ12に格納すると、メインストレージ12に格納した利用者のファイルを元データとして、冗長度を可変な符号を用いて符号化データに変換した後に、ローカルストレージ22−1〜22−5に分配して記憶させる。メインストレージサーバ10でファイルの復元を必要とする場合には、ネットワーク18を介してローカルストレージサーバ20−1〜20−5にアクセスし、分散配置している符号化データを回収して元のファイルを復元する。
When the file created and updated by the
メインストレージサーバ10には、入出力部24、符号化部26、冗長度制御部28、重要度管理テーブル30、分配処理部32、分配管理テーブル34及び復元部36が設けられている。
The
このうちメインストレージサーバ10の基本的な機能は、符号化部26、分配処理部32及び復元部36で構成されている。符号化部26は、メインストレージ12に格納された利用者の元データとなるファイルを予め定めたブロック数nのブロックデータに分割した後に、各ブロックデータを冗長度を可変な符号、例えば本発明にあっては後の説明で明らかにするヘッダとXORデータで構成さけるランダムパリティ・ストリーム符号(RPS符号)に変換し、分割したブロック数以上の複数の符号化データを生成する。
Among these, the basic functions of the
分配処理部32は、符号化部26で生成された複数の符号化データをローカルストレージ22−1〜22−5に分配して記憶させる。復元部36は、ローカルストレージ22−1〜22−5から少なくとも元データとなるファイルの分割ブロック数分の符号化データを回収して、元のファイルを復元する。 The distribution processing unit 32 distributes and stores the plurality of pieces of encoded data generated by the encoding unit 26 to the local storages 22-1 to 22-5. The restoration unit 36 collects at least the encoded data corresponding to the number of divided blocks of the file serving as the original data from the local storages 22-1 to 22-5, and restores the original file.
ここで冗長度制御部28は、符号化部26における符号化処理の冗長度を変化させる。冗長度は、元データのブロック分割数をn、ランダムパリティストリーム符号により生成される符号化データの数をmとすると
冗長度Q=m/n
で表わすことができる。この冗長度Qは符号化率Rの逆数となる。即ち符号化率Rは
符号化率R=n/m=1/Q
と表わすことができる。ここで冗長度Qは1以上の値であり、一方、符号化率Rは1〜0の間の値である。
Here, the
It can be expressed as This redundancy Q is the reciprocal of the coding rate R. That is, the coding rate R is the coding rate R = n / m = 1 / Q.
Can be expressed as Here, the redundancy Q is a value of 1 or more, while the coding rate R is a value between 1 and 0.
このため符号化部26にあっては、冗長度制御部28により設定された冗長度Qに基づき、元データとして分割したファイルのn個のブロックデータから冗長度Qに従ったm個の符号化データを生成することになる。更に冗長度制御部28は、元データとなるファイルの重要度に応じて、符号化部26における冗長度Qを変化させる。即ち、ファイルの重要度が高いほど冗長度Qを大きくし、ファイルの重要度が低ければ冗長度を小さくする。
Therefore, in the encoding unit 26, based on the redundancy Q set by the
ファイルの重要度の決定は、例えばファイルに含まれるキーワードを使用することができる。また重要度はキーワード以外に、ファイルの更新日時や更新頻度を使用することもできる。 For example, keywords included in the file can be used to determine the importance of the file. In addition to the keyword, the update date / time and update frequency of the file can be used as the importance.
また分配処理部32にあっては、ローカルストレージ22−1〜22−5に対する符号化データの分配数を、ローカルストレージ22−1〜22−5の信頼度に応じて決定することができる。即ち、ローカルストレージの信頼度が高ければ符号化データの分配数を多くし、信頼度が低ければ符号化データの分配数を小さくするように分配する。 In the distribution processing unit 32, the number of encoded data distributions to the local storages 22-1 to 22-5 can be determined according to the reliability of the local storages 22-1 to 22-5. That is, if the reliability of the local storage is high, the distribution number of the encoded data is increased, and if the reliability is low, the distribution is performed so that the distribution number of the encoded data is reduced.
ローカルストレージ22−1〜22−5の信頼度は、手動設定するか、あるいは稼働率や応答時間(RTT)に基づいて自動設定することができる。例えばローカルストレージの信頼度の自動設定について、まず稼働率から信頼度を決定した後に、応答時間(RTT)に応じて、その値を修正するような処理を行う。 The reliability of the local storages 22-1 to 22-5 can be set manually or automatically based on the operating rate and response time (RTT). For example, regarding the automatic setting of the reliability of the local storage, first, after determining the reliability from the operating rate, processing is performed to correct the value according to the response time (RTT).
更に、符号化データの分配数はローカルストレージの信頼度と使用可能容量に応じて決めてもよい。 Furthermore, the distribution number of the encoded data may be determined according to the reliability of the local storage and the usable capacity.
復元部36は、冗長度を可変な符号としてランダムパリティストリーム符号を用いた場合、ローカルストレージ22−1〜22−5から少なくとも分割ブロック数n以上の符号化データを回収し、ガウスの消去法によりヘッダを単位行列化することにより、n個のブロックデータを復元することができる。 When the random parity stream code is used as the variable variable redundancy code, the restoration unit 36 collects at least the divided block number n or more from the local storages 22-1 to 22-5 and performs Gaussian elimination. By making the header into a unit matrix, n block data can be restored.
図2は図1のメインストレージサーバ10、ローカルストレージサーバ20−1〜20−5、更にはクライアント14が適用されるコンピュータのハードウエア環境のブロック図である。
FIG. 2 is a block diagram of a hardware environment of a computer to which the
図2において、CPU38のバス40に対しては、RAM42、ROM44、ハードディスクドライブ46、キーボード50,マウス52,ディスプレイ54を接続したデバイスインタフェース48、及びネットワークアダプタ56が設けられる。図1のメインストレージサーバ10にあっては、本実施形態のバックアップシステムを構築する処理プログラムをハードディスクドライブ46に格納しており、この処理プログラムを、コンピュータを起動した際にRAM42に読み出して、CPU38により実行することになる。
In FIG. 2, a
図3は本発明による符号化処理、分配処理、及び復元のための回収処理の説明図であり、更に図4に、図3の回収処理に続く復元処理を示している。本発明にあっては、図1の符号化部26において冗長度Qを可変な符号としてランダムパリティストリーム符号(RPS符号)を使用している。 FIG. 3 is an explanatory diagram of the encoding process, the distribution process, and the recovery process for restoration according to the present invention, and FIG. 4 shows the restoration process subsequent to the recovery process of FIG. In the present invention, the encoding unit 26 in FIG. 1 uses a random parity stream code (RPS code) with a variable redundancy Q.
ランダムパリティストリーム符号は、RAID6で用いられるリードソロモン符号よりも計算量が少なく、また冗長度Qを動的に変更することができるため、複数のローカルストレージにデータを分散配置するバックアップシステムを柔軟に構築することが可能である。
Random parity stream codes require less computation than Reed-Solomon codes used in
本発明で用いるランダムパリティストリーム符号の符合化は、図3に示すように、元データ58としてのファイルを予め定めたブロック数nに分割して、ブロックデータ60−1〜60−nを生成する。 As shown in FIG. 3, the encoding of the random parity stream code used in the present invention divides a file as the original data 58 into a predetermined number n of blocks to generate block data 60-1 to 60-n. .
実際の装置では例えば分割ブロック数n=1028、ブロックサイズ=1280バイトというように固定設定されており、分割ブロック数nとブロックサイズで決まるファイル容量を最大容量として、元データ58としてのユーザファイルを分割する。またユーザファイルが元データの最大サイズより小さい場合には、空き部分にダミーデータを入れて、一定の分割ブロック数nのブロックデータを生成する。 In an actual apparatus, for example, the number of divided blocks n = 1028 and the block size = 1280 bytes are fixedly set. The file capacity determined by the number of divided blocks n and the block size is set as the maximum capacity, and the user file as the original data 58 is stored. To divide. If the user file is smaller than the maximum size of the original data, dummy data is inserted in the empty portion to generate block data with a fixed number of divided blocks n.
元データ58を分割ブロック数nに分割したブロックデータ60−1〜60−nは、ヘッダ64とXORデータ66で構成され、冗長度Qにより決まるm個の符号化データ62−1〜62−mに変換される。
Block data 60-1 to 60-n obtained by dividing the original data 58 into the number of divided blocks n is composed of a
符号化データ62−1を例にとると、ヘッダ64はXORデータ66を計算するために使用する元データ58における分割したブロックデータ60−1〜60−nの位置を示すnビットのビットマップデータである。例えば符号化データ62−1のヘッダ64は「10000・・・000」であり、左端の1ビットのみが「1」で残りは全て「0」となっている。
Taking the encoded data 62-1 as an example, the
XORデータ66は、ヘッダ64のビットマップに従って元データ58から対応する1または複数のブロックデータを選択して排他論理和(XOR)を計算し、XORデータ66としてデータP1を計算して格納している。
The
この実施形態にあっては、n個のブロックデータ60−1〜60−nに対応した符号化データ62−1〜62−nとしては、それぞれのヘッダ64は対応するブロックデータの位置を示すビットを「1」とし、他を全て「0」としており、この結果、ヘッダ64により1つのブロックデータのみがXOR計算に使用される。
In this embodiment, as encoded data 62-1 to 62-n corresponding to n block data 60-1 to 60-n, each
このためXORデータ66におけるP1,P2,P3,P4,・・・Pnは、ブロックデータBD1,BD2,BD3,BD4,・・・BDnと同じデータ、即ちブロックデータそのものである。
Therefore, P1, P2, P3, P4,... Pn in the
一方、分割ブロック数nを超える残りの符号化データ62−(n+1)〜62−mについては、そのヘッダ64に2以上のブロックを排他論理和計算に指定するためにビット「1」をセットしており、このヘッダ64におけるビットマップは例えばランダムに発生している。
On the other hand, for the remaining encoded data 62- (n + 1) to 62-m exceeding the number of divided blocks n, a bit “1” is set in the
また、符号化データ62−(n+1)〜62−mにおけるヘッダ64のビットマップとしては、後の説明で明らかにする復元処理の際の単位行列化に変換し易い数値を使用することが望ましく、この数値としては、例えば
1111・・・111
0101・・・101
1010・・・010
0000・・・111
1111・・・000
などがある。
Further, as the bitmap of the
0101 ... 101
1010 ... 010
0000 ... 111
1111 ... 000
and so on.
符号化処理により生成されたm個の符号化データ62−1〜62−mは、ローカルストレージ22−1〜22−Nに均等もしくは信頼度に応じて分散配置されて記憶される。 The m pieces of encoded data 62-1 to 62-m generated by the encoding process are stored in the local storages 22-1 to 22-N in a uniform or distributed manner according to the reliability.
ローカルストレージ22−1〜22−Nに分散配置された符号化データに基づく復元は、符号化データの回収68を行って回収データ70として符号化データ62−1〜62−kを求め、このk個の符号化データから図4に示すように、元のブロックデータ60−1〜60−mを復元データ74として復元することができる。
The restoration based on the encoded data distributed in the local storages 22-1 to 22-N performs the
図4における復元処理は、回収データ70として得られたk個の符号化データ62−1〜62−kにおけるヘッダ64に対し、ガウスの消去法による単位行列化72の処理を行うことで、これに付加しているXORデータ66に対応した値P1〜Pnから元のブロックデータBD1〜BDnとして、ブロックデータ60−1〜60−nを復元することができる。
The restoration process in FIG. 4 is performed by performing a
この復元処理の際に、図3に示すようにローカルストレージ22−1〜22−Nのうちの例えばローカルストレージ22−3で故障などにより符号化データの消失が発生したとしても、図4のように復元側で単位行列化72によりヘッダの逆行列が得られれば、元のブロックデータ60−1〜60−nを復元することができる。
In this restoration process, even if loss of encoded data occurs due to a failure in the local storage 22-3 among the local storages 22-1 to 22-N as shown in FIG. 3, as shown in FIG. If the inverse matrix of the header is obtained by the
即ち、本発明のランダムパリティストリーム符号を用いたデータの分散配置と、一部のデータが消失した開始による復元処理にあっては、冗長度Qにより元データ58のブロックデータ60−1〜60−nの分割nより数パーセント程度、余分となるm個の符号化データを生成して、これを分散配置しておくことで、元のデータを復元するために必要な符号化データの数をk個とすると、仮にローカルストレージが2台以上故障したとしても、残りの正常なローカルストレージから合計でk個の符号化データを集めることができれば、元データを復元することができる。 That is, in the distributed arrangement of data using the random parity stream code of the present invention and the restoration process by the start of the disappearance of a part of the data, the block data 60-1 to 60- of the original data 58 with the redundancy Q. By generating m encoded data that is several percent more than the division n of n and distributing them, the number of encoded data necessary for restoring the original data is reduced to k. If there are two or more local storages, the original data can be restored if a total of k pieces of encoded data can be collected from the remaining normal local storages.
このことから本発明にあっては、ローカルストレージに分散配置して記憶するデータの重要度に応じて動的な冗長度(符号化率)の決定処理を行うようにしている。 Therefore, in the present invention, dynamic redundancy (encoding rate) determination processing is performed according to the importance of data distributed and stored in the local storage.
ランダムパリティストリーム符号を用いた元データを復元可能な符号化データの数kは、生成する符号化データの数mに応じて変わるため、障害発生時におけるデータの安全性も変化する。符号化データの数mを多くするほど冗長度Qが増え、分散配置に必要なローカルストレージの総容量が増えることになるが、より確実に元データを復元することが可能になる。つまり符号化データの数mによって障害に対する耐性を調整することができる。 Since the number k of encoded data that can restore the original data using the random parity stream code changes according to the number m of encoded data to be generated, the safety of the data when a failure occurs also changes. As the number m of encoded data is increased, the redundancy Q increases and the total capacity of the local storage necessary for the distributed arrangement increases. However, the original data can be restored more reliably. That is, it is possible to adjust the tolerance against a failure by the number m of encoded data.
またランダムパリティストリーム符号における符号化の冗長度Qはバックアップするファイルごとに変更することができるため、元データとなるファイルの重要度に応じて冗長度Qを変更するように制御する。即ち、重要なファイルについては冗長度Qを増やして障害への耐性を上げ、それほど重要でないファイルについては冗長度Qを減らして障害に対する耐性を下げ、必要とするローカルストレージの容量を減らすことができる。 Also, since the encoding redundancy Q in the random parity stream code can be changed for each file to be backed up, control is performed so that the redundancy Q is changed according to the importance of the file serving as the original data. That is, it is possible to increase the redundancy Q for important files and increase the tolerance to failures, and reduce the redundancy Q to reduce the tolerance for failures for less important files, thereby reducing the required local storage capacity. .
具体的には、元データとしてのファイルごとに予め重要度のレベルとしてV1〜Vnを決めておき、予め決定した重要度Viに応じて、生成する符号化データの数mを次式により決定する。 Specifically, V1 to Vn are determined in advance as the level of importance for each file as the original data, and the number m of encoded data to be generated is determined according to the following expression according to the predetermined importance Vi. .
この(1)式により符号化データの数mを求めるための重要度Viの決め方は、利用者が手動設定で行ってもよいし、自動的に設定してもよい。重要度の自動設定としては、例えばファイルの重要度を決定するためにキーワードをファイルに対応して登録しておき、ファイルを符号化する際に、ファイルの保有するキーワードと予め登録しているキーワードとの比較を行い、該当するキーワードがファイルに含まれている場合には、予め設定した重要度をキーワードに応じて設定する。 The method of determining the importance Vi for obtaining the number m of encoded data by this equation (1) may be set manually by the user or automatically. As the automatic setting of importance, for example, a keyword is registered corresponding to a file in order to determine the importance of the file, and when the file is encoded, the keyword held by the file and the keyword registered in advance If the corresponding keyword is included in the file, a preset importance is set according to the keyword.
この場合、自動的に決定された重要度が、利用者が自動設定した重要度と大きく異なるような場合には、ユーザに自動設定された重要度を表示し、ユーザがいずれかを選択するようにしてもよい。 In this case, if the automatically determined importance level is significantly different from the automatically set importance level by the user, the importance level automatically set by the user is displayed and the user selects one. It may be.
更にファイルの重要度を決定するパラメータとしては、ファイルの最終更新日やアクセス頻度などを使用することもできる。これらファイルの更新日時やアクセス頻度については、独立に重要度を例えばテーブル情報などにより設定して準備してもよいし、例えばキーワードに基づいて決定した重要度を最終更新日やアクセス頻度などに基づいて修正するようにしてもよい。 Furthermore, as the parameter for determining the importance of the file, the last update date of the file, the access frequency, and the like can be used. The update date / time and access frequency of these files may be prepared by setting the importance level independently by using table information, for example, or the importance level determined based on keywords, for example, based on the last update date, access frequency, etc. May be corrected.
元データの重要度に応じて設定される符合化データの数mは、冗長度Q(=m/n)を変えることを意味し、重要度に応じて代わる冗長度Qの範囲は、冗長度を大きくしすぎるとローカルストレージに分配するデータ量が増加して利用効率が低下することから、実用的に範囲としては、例えば1.1〜1.5程度とする。 The number m of encoded data set according to the importance of the original data means that the redundancy Q (= m / n) is changed, and the range of the redundancy Q that is changed according to the importance is the redundancy If the value is too large, the amount of data distributed to the local storage increases and the utilization efficiency decreases, so the practical range is, for example, about 1.1 to 1.5.
図5は符号化データ数nの算出に使用されるファイルの重要度を管理する図1の重要度管理テーブル30の説明図である。図5(A)の重要度管理テーブル30−1は、キーワード76と重要度78で構成されており、重要度を示すキーワードW1〜W5のいずれかをファイルに格納しておく。したがって、ファイルを符号化する際には、ファイルに対応したいずれかのキーワードを抽出し、重要度官吏テーブル30−1の参照により対応する重要度を設定する。
FIG. 5 is an explanatory diagram of the importance management table 30 in FIG. 1 for managing the importance of files used for calculating the number n of encoded data. The importance level management table 30-1 in FIG. 5A includes
図5(B)の重要度管理テーブル30−2はファイルの最終更新日80と重要度78で構成されており、最終更新日80として例えば当日、3日未満、1週間未満、1ヶ月未満、3ヶ月未満などが設定され、これに対応して重要度V1〜V5が設定されている。この最終更新日80は、最終更新日が近いほど重要度78が高い値を持つことになる。
The importance level management table 30-2 in FIG. 5B includes a file last update date 80 and an
図5(C)の重要度管理テーブル30−3は更新頻度82と重要度78から構成されており、更新頻度82としては所定の更新頻度の範囲が5段階に分けて設定されており、更新頻度が多いほど重要度78が高い値を設定している。
The importance level management table 30-3 in FIG. 5C includes an
この図5(A)(B)(C)に示した重要度管理テーブル30−1,30−2,30−3については、それぞれ独立に使用して重要度を設定してもよいし、例えば図5(A)の重要度管理テーブル30−1を使用してファイルのキーワード76から重要度78を決定した後、最終更新日が近ければキーワード76により設定した重要度78の値を増加するように修正し、最終更新日が古ければ小さくするように修正し、更にファイルの更新頻度により、更新頻度が高ければ重要度を高くするように修正し、更新頻度が低ければ重要度を低くするように修正する方法であってもよい。
The importance management tables 30-1, 30-2, and 30-3 shown in FIGS. 5A, 5B, and 5C may be used independently to set the importance. After determining the
次に図1の分散処理部32におけるローカルストレージの信頼度による符号化データの分配処理を説明する。従来のRAIDやミラーリングでは、分散ストレージを構成するためには同じ容量を持ったローカルストレージが必要になる。更に、データを確実に保存するためには全てのローカルストレージが同等の性能であることが望まれる。 Next, the distribution process of the encoded data based on the reliability of the local storage in the distributed processing unit 32 in FIG. 1 will be described. In conventional RAID and mirroring, a local storage having the same capacity is required to configure a distributed storage. Furthermore, it is desirable that all local storages have the same performance in order to securely store data.
これに対し本実施形態にあっては、元のデータを復元するためにはk個以上の符号化データをローカルストレージから集めることができればよいだけであり、各ローカルストレージがいくつの符号化データを持っているかは関係ない。 On the other hand, in this embodiment, in order to restore the original data, it is only necessary to collect k or more encoded data from the local storage, and each local storage stores how many encoded data. It doesn't matter if you have it.
そこで本実施形態の符号化データの分配処理にあっては、符号化データをローカルストレージに分配する際に、信頼度の高いローカルストレージには多くの符号化データを分配して保存し、信頼度の低いローカルストレージには少ない符号化データを分配して保存する。これにより、同じ性能のローカルストレージを用意する必要がなく、より安価にローカルストレージを分散ストレージとしたバックアップシステムを構築することができる。 Therefore, in the distribution processing of the encoded data according to the present embodiment, when the encoded data is distributed to the local storage, a large amount of encoded data is distributed and stored in the highly reliable local storage. A small amount of encoded data is distributed and stored in a low local storage. As a result, it is not necessary to prepare local storage with the same performance, and a backup system using local storage as distributed storage can be constructed at a lower cost.
図6はローカルストレージ22−1〜22−5の信頼度が同一の場合のメインストレージサーバ10による符号化データ62の分配結果の説明図であり、この場合には例えばメインストレージサーバ10で符号化した20個の符号化データ62につき5台のローカルストレージ22−1〜22−5に均等に分けて、それぞれ5つの分配符号化データ94−1〜94−5を格納することになる。
FIG. 6 is an explanatory diagram of the distribution result of the encoded
図7はローカルストレージ22−1〜22−5の信頼度が異なった場合であり、例えばローカルストレージ22−1,22−2の信頼度R1,R2が同一で最も高く、次にローカルストレージ22−3,22−4の信頼度R3,R4が同一で次に高く、ローカルストレージ22−5の信頼度R5が最も低かった場合である。 FIG. 7 shows a case in which the reliability of the local storages 22-1 to 22-5 is different. For example, the reliability R1 and R2 of the local storages 22-1, 22-2 are the same and the highest, and then the local storage 22- This is a case where the reliability R3 and R4 of 3,22-4 are the same and next highest, and the reliability R5 of the local storage 22-5 is the lowest.
このような場合には、メインストレージサーバ10で符号化した20個の符号化データ62について、信頼度R1,R2と最も高いローカルストレージ22−1,22−2には5つの分配符号化データ96−1,96−2を格納し、次に信頼度が高い信頼度R3,R4のローカルストレージ22−3,22−4には4つの分配符号化データ96−3,96−4を格納し、信頼度R5が最も低いローカルストレージ22−5については2つの分配符号化データ96−5を格納する。
In such a case, for the 20 encoded
このようにローカルストレージに格納する符号化データの分配数を決める信頼度としては、ストレージの信頼性の指標として一般に使用される稼動率の値を用いる。稼動率Aiは、平均故障時間MTBF(Mean Time Between Failure)と平均修理時間MTTR(Mean Time To Repare)から次式により求められる。 As the reliability for determining the distribution number of the encoded data stored in the local storage in this way, an operation rate value generally used as an index of storage reliability is used. The operating rate Ai is obtained from the average failure time MTBF (Mean Time Between Failure) and the average repair time MTTR (Mean Time To Prepare) by the following equation.
ここで平均故障時間MTBFは平均して何時間に一度故障するかを表す指標であり、次式で求められる。 Here, the average failure time MTBF is an index indicating how many times the failure occurs on average, and is obtained by the following equation.
また平均修理時間MTTRは故障が発生したときに修理するのにかかる時間を表しており、次式で求めることができる。 The average repair time MTTR represents the time required for repair when a failure occurs, and can be obtained by the following equation.
したがって、ローカルストレージの信頼度Riは、前記(2)式の稼動率Aiを用いて次式で求められる値とする。 Therefore, the reliability Ri of the local storage is a value obtained by the following equation using the operation rate Ai of the equation (2).
更に、符号化により生成される符号化データの数がm個であり、n台のローカルストレージの信頼度がそれぞれRiであるならば、ローカルストレージに分配する符号化データの数Diは次式により決定できる。 Further, if the number of encoded data generated by encoding is m and the reliability of n local storages is Ri, the number Di of encoded data distributed to the local storage is given by Can be determined.
ここで(6)式の生成された符号化データの個数mは、前記(1)式により、元データとなるファイルの重要度Viを用いて表すことができるため、最終的には各ローカルストレージに分散される符号化データの数Diは、ファイルの重要度Viとローカルストレージの信頼度Riを用いて次式で表すことができる。
Here, since the number m of the encoded data generated in the equation (6) can be expressed using the importance Vi of the file serving as the original data according to the equation (1), each local storage is finally obtained. The number D i of encoded data distributed in the above can be expressed by the following equation using the importance Vi of the file and the reliability Ri of the local storage.
以上の説明にあっては、ローカルストレージの信頼度Riを決定するためにローカルストレージの稼動率Aiを用いたが、メインストレージ12とローカルストレージ22−1〜22−5との間の物理的な距離であるRTT(Round Trip Time)やローカルストレージのバックアップに使用可能な容量Ciなどにより、分配する符号化データの数mを決めることもできる。
In the above description, the local storage utilization rate Ai is used to determine the reliability Ri of the local storage, but the physical storage between the
例えばメインストレージ12に対するローカルストレージの物理的な距離RTTを用いる場合には、前記(5)式で算出されたローカルストレージの信頼度Riを次式で修正する。
For example, when the physical distance RTT of the local storage with respect to the
またローカルストレージの使用可能容量Ciを用いる場合には、前記(6)式を次式に置き換えればよい。 When the usable capacity Ci of the local storage is used, the equation (6) may be replaced with the following equation.
更に本発明にあっては、メインストレージサーバ10に対しネットワーク18を介して接続しているローカルストレージの台数Nが変更された際には、前記(6)式に従って変更後のローカルストレージに対する符号化データ分配数Diを再計算し、その差分だけの符号化データを再分配することになる。
Furthermore, in the present invention, when the number N of local storages connected to the
図8は図1の分配処理部32でローカルストレージに符号化データを分配するために使用する分配管理テーブル34の説明図である。図8の分配管理テーブル34は、ローカルストレージ番号84、稼動率90、信頼度86及び分配データ数88で形成されており、(2)式で算出した稼動率90から(5)式により信頼度86を求めており、最終的に(6)式で算出された分配データ数88を格納している。
FIG. 8 is an explanatory diagram of the distribution management table 34 used for distributing the encoded data to the local storage by the distribution processing unit 32 of FIG. The distribution management table 34 in FIG. 8 is formed with a
更に、必要があれば、ローカルストレージまでの物理的距離RRTを用いた信頼度の修正や、ローカルストレージの使用可能容量Ciを用いた(9)式による計算で求めた分配データ数をテーブルに格納し、これに基づいてローカルストレージに符号化データを分配するようにしてもよい。 Further, if necessary, the number of distributed data obtained by the correction of the reliability using the physical distance RRT to the local storage or the calculation by the equation (9) using the usable capacity Ci of the local storage is stored in the table. On the basis of this, the encoded data may be distributed to the local storage.
図9は本実施形態で使用しているランダムパリティストリーム符号の冗長率に対する故障可能台数の関係を従来のRAIDと比較して示している。図9において、横軸はデータの冗長率であり、縦軸は復旧することが可能なローカルストレージの故障台数である。この場合にはローカルストレージの総数Nを10台としている。 FIG. 9 shows the relationship of the number of possible failures with the redundancy rate of the random parity stream code used in this embodiment in comparison with the conventional RAID. In FIG. 9, the horizontal axis represents the data redundancy rate, and the vertical axis represents the number of local storage failures that can be recovered. In this case, the total number N of local storages is 10.
このとき従来のRAID5では、特性点100に示すように故障可能なローカルストレージの台数は1台であり、データの冗長率は1.111と固定である。RAID6についても、特性点102に示すように故障可能なローカルストレージの台数は2台であり、データの冗長率は1.25と固定である。
At this time, in the
これに対し本実施形態におけるランダムパリティストリーム符号を用いた場合には、冗長率を変更することによって、特性曲線98に示すように故障可能な台数を1台から4台まで変更することができ、ローカルストレージの故障に対して柔軟に対応することができる。
On the other hand, when the random parity stream code in the present embodiment is used, by changing the redundancy rate, the number of possible failures can be changed from 1 to 4 as shown in the
図10は図1のメインストレージサーバ10による本発明のバックアップ処理のフローチャートである。図10において、ステップS1でクライアント14からのファイル保存要求の有無をチェックしており、ファイル保存要求を受けると、ステップS2でクライアント14からの転送ファイルをメインストレージ12に保存する。続いてステップS3で保存ファイルの符号化処理を実行した後、ステップS4で符号化データをローカルストレージ22−1〜22−5に分配する分配処理を行う。
FIG. 10 is a flowchart of the backup processing of the present invention by the
続いてステップS5でローカルストレージに構成変化、即ち台数の変化があるか否かチェックし、もしあった場合にはステップS4に戻り、符号化データの配分数を再計算し、差分となる符号化データ分の再分配を行う。 Subsequently, in step S5, it is checked whether there is a configuration change in the local storage, that is, a change in the number of units. If so, the process returns to step S4 to recalculate the number of distributions of the encoded data and encode the difference. Redistribute data.
ローカルストレージの構成に変化がなければ、ステップS6でファイル復元要求の有無をチェックし、ファイル復元要求があった場合には、ステップS7でローカルストレージ22−1〜22−5から分配保存している符号化データを回収し、ステップS8で復元部36がガウス消去法によりヘッダを単位行列化して元データのファイルを復元する。このようなステップS1〜S8の処理を、ステップS9で停止指示があるまで繰り返す。 If there is no change in the configuration of the local storage, the presence / absence of a file restoration request is checked in step S6. If there is a file restoration request, it is distributed and saved from the local storages 22-1 to 22-5 in step S7. The encoded data is collected, and in step S8, the restoration unit 36 restores the original data file by converting the header into a unit matrix by the Gaussian elimination method. Such processes of steps S1 to S8 are repeated until a stop instruction is issued in step S9.
なおステップS6におけるファイル復元要求は、例えばメインストレージサーバ10のメインストレージ12でバックアップしているファイルが故障などにより消失し、故障回復によりメインストレージ12にバックアップしている元データを復元する必要が生じた場合などである。
Note that the file restoration request in step S6 requires that, for example, a file backed up in the
図11は図10のステップS3における符号化処理のフローチャートである。図11において、符号化処理は、ステップS1で元データとしてのファイルの重要度の決定処理を行った後、ステップS2で、決定した重要度から前記(1)式に従って符号化データ数mを決定する。 FIG. 11 is a flowchart of the encoding process in step S3 of FIG. In FIG. 11, in the encoding process, after determining the importance of the file as the original data in step S1, the number m of encoded data is determined in accordance with the formula (1) from the determined importance in step S2. To do.
続いてステップS3で、処理対象となる元データであるファイルをnブロック、例えばn=1028ブロックに分割した後、ステップS4で符号化データ数m分のヘッダを生成し、ステップS5でヘッダのビット1に対応するブロックを抽出して排他論理輪を計算することでXORデータを生成する。そしてステップS6で、ヘッダとXORデータを組み合わせて符号化データを生成する。 Subsequently, in step S3, the file, which is the original data to be processed, is divided into n blocks, for example, n = 1028 blocks, and then headers for the number m of encoded data are generated in step S4. XOR data is generated by extracting a block corresponding to 1 and calculating an exclusive logical ring. In step S6, the header and the XOR data are combined to generate encoded data.
続いてステップS7でm個の符号化データを生成したか否かチェックし、生成していなければステップS5に戻り、次のヘッダについて同様にして符号化データを生成し、m個を生成すると、符号化処理を終了して図10のメインルーチンにリターンする。
Then check whether generates m pieces of encoded data in step S 7, unless generated returns to step S5, in the same way for the next header to generate encoded data, when generates m Then, the encoding process is terminated and the process returns to the main routine of FIG.
図12は図11のステップS1の符号化処理に用いる重要度の決定処理のフローチャートである。図12において、重要度決定処理は、ステップS1でクライアント14によりユーザが設定した重要度Vuserを取り込み、ステップS2で自動設定重要度VをV=0に初期化する。
FIG. 12 is a flowchart of importance determination processing used in the encoding processing in step S1 of FIG. In FIG. 12, in the importance level determination process, the importance level Vuser set by the user by the
続いてステップS3で処理対象となるファイルにキーワードがあるか否かチェックし、キーワードがあった場合には、ステップS4で例えば図5(A)に示したような重要度管理テーブル30−1を参照し、キーワードに対応した重要度Vを取得する。 Subsequently, in step S3, it is checked whether or not there is a keyword in the file to be processed. If there is a keyword, an importance management table 30-1 as shown in FIG. Refer to and acquire the importance V corresponding to the keyword.
続いてステップS5でファイル最終更新日が新しいか否かチェックし、新しい場合にはステップS6に進んで、ステップS4で取得した重要度Vを所定量もしくは所定割合増加させる。一方、ファイル更新日が古い場合には、ステップS7に進み、重要度Vを所定量もしくは所定割合、減らす。 Subsequently, in step S5, it is checked whether or not the file last update date is new. If it is new, the process proceeds to step S6, and the importance V acquired in step S4 is increased by a predetermined amount or a predetermined ratio. On the other hand, if the file update date is old, the process proceeds to step S7, and the importance level V is decreased by a predetermined amount or a predetermined ratio.
次にステップS8でデータの更新頻度が高いか否かチェックする。更新頻度が高い場合には、ステップS9で重要度Vを増やすように修正する。更新頻度が低ければ、ステップS10で重要度を減らすように修正する。 In step S8, it is checked whether the data update frequency is high. If the update frequency is high, the importance level V is corrected to increase in step S9. If the update frequency is low, correction is made to reduce the importance in step S10.
続いてステップS11で、利用者が設定した重要度VuserとステップS3〜S10の処理により自動決定した重要度Vを比較し、ステップS12で両者が大きく異なることを判別した場合には、ステップS13でクライアント14の画面上に自動決定した重要度を表示し、利用者の確認を取って、ステップS14で重要度を確定する。両者の差が大きくない場合には、そのままステップS14で重要度を確定する。
Subsequently, in step S11, the importance level Vuser set by the user is compared with the importance level V automatically determined by the processing in steps S3 to S10. If it is determined in step S12 that both are significantly different, in step S13. The importance automatically determined is displayed on the screen of the
図13は図10のステップS4の符号化データの分配処理のフローチャートである。図13において、符号化データの分配処理は、ステップS1でローカルストレージの稼動率Aiを前記(2)式の演算により取得し、ステップS3でローカルストレージの信頼度Riを前記(5)式から算出する。 FIG. 13 is a flowchart of the encoded data distribution process in step S4 of FIG. In FIG. 13, in the distribution process of encoded data, the operation rate Ai of the local storage is obtained by the calculation of the equation (2) in step S1, and the reliability Ri of the local storage is calculated from the equation (5) in step S3. To do.
続いてステップS3でメインストレージ12から各ローカルストレージまでの物理的距離RTTによる修正の有無をチェックし、修正ありの場合にはステップS4に進み、ローカルストレージまでの応答時間RTTiを取得し、ステップS5で前記(8)式により信頼度Riを修正計算する。
Subsequently, in step S3, it is checked whether or not there is a correction due to the physical distance RTT from the
続いてステップS6でローカルストレージの使用可能容量による修正の有無をチェックし、修正ありであれば、ステップS7でローカルストレージの使用可能容量Ciを取得し、ステップS8で前記(9)式により、信頼度Riと使用可能容量Ciからローカルストレージに送信する符号化データ数Diを算出する。 Subsequently, in step S6, it is checked whether or not there is a correction due to the usable capacity of the local storage. The number of encoded data Di to be transmitted to the local storage is calculated from the degree Ri and the usable capacity Ci.
一方、ステップS6でローカルストレージ使用可能容量による修正がなかった場合には、ステップS9に進み、信頼度Riから前期(6)式により符号化データの分配数Diを算出する。なお、ステップS8,S9における符号化データ分配数の算出は、(6)式における符号化データ数mの代わりに、(7)式のように元データとなるファイルの重要度Viによる(1)式から算出するようにしてもよい。 On the other hand, if there is no correction due to the local storage usable capacity in step S6, the process proceeds to step S9, and the distribution number Di of the encoded data is calculated from the reliability Ri by the previous term (6). Note that the number of encoded data distributions in steps S8 and S9 is calculated based on the importance Vi of the file serving as the original data as shown in equation (7), instead of the encoded data number m in equation (6). You may make it calculate from a type | formula.
また本発明は図1のメインストレージサーバ10のコンピュータにより実行されるバックアッププログラムを提供するものであり、このプログラムは図10,図11,図12及び図13のフローチャートに示した内容を持つ。
The present invention also provides a backup program executed by the computer of the
また本発明はバックアッププログラムを格納したコンピュータ可読の記録媒体を提供するものであり、この記録媒体としてはCD−ROM、フロッピィディスク(R)、DVDディスク、光ディスク、ICカードなどの可搬型記憶媒体や、コンピュータシステムの内外に備えられたハードディスクなどの記録装置の他、回線を介してプログラムを保持するデータベース、あるいは他のコンピュータシステム並びにそのデータベース、更に回線上の伝送媒体を含むものである。 The present invention also provides a computer-readable recording medium storing a backup program, which includes a portable storage medium such as a CD-ROM, floppy disk (R), DVD disk, optical disk, and IC card. In addition to a recording device such as a hard disk provided inside and outside the computer system, it includes a database for holding a program via a line, or another computer system and its database, and further a transmission medium on the line.
なお、本実施形態にあっては、(1)式のように、ブロック分割数nを固定し、元データの重要度Viに応じて符合化データの数mを決めているが、即ち冗長度Q(=m/n)を変えているが、ブロック分割数nを元データの重要度に応じて
n=G(Vi)
として決めてもよい。この関係は、元データの重要度が高いほど、ブロック分割数を増加させる。
In the present embodiment, the number of block divisions n is fixed and the number m of encoded data is determined according to the importance Vi of the original data, as shown in equation (1). Although Q (= m / n) is changed, the number of block divisions n is changed according to the importance of the original data, n = G (Vi)
You may decide as. This relationship increases the number of block divisions as the importance of the original data increases.
この場合、冗長度Qを例えば1.1〜1.5の範囲で固定値として設定しておくことで、ブロック分割数nが重要度Viに応じて決まれば、符合化データ数mは固定設定した冗長度Qから一義的にきまる。 In this case, by setting the redundancy Q as a fixed value in the range of 1.1 to 1.5, for example, if the block division number n is determined according to the importance Vi, the encoded data number m is fixedly set. The redundancy Q is determined uniquely.
また本発明は、その目的と利点を損なうことのない適宜の変形を含み、更に上記の実施形態に示した数値による限定は受けない。 Further, the present invention includes appropriate modifications that do not impair the object and advantages thereof, and is not limited by the numerical values shown in the above embodiments.
ここで本発明の特徴をまとめて列挙すると次の付記のようになる。
(付記)
(付記1)
元データを記憶するメインストレージ装置と、
前記メインストレージ装置のデータを分散して記憶する複数のローカルストレージ装置と、
前記元データを分割した後に、冗長度を可変な符号を用いて分割数以上の複数の符合化データを生成する符合化部と、
前記符合化部における冗長度を変化させる冗長度制御部と、
前記複数の符合化データを、前記複数のローカルストレージ装置に分配して記憶させる分配処理部と、
前記ローカルストレージ装置から少なくとも前記元データの分割数分の符合化データを回収して前記元データを復元する復元部と、
を備えたことを特徴とするバックアップシステム。(1)
Here, the features of the present invention are enumerated as follows.
(Appendix)
(Appendix 1)
A main storage device for storing original data;
A plurality of local storage devices for distributing and storing data of the main storage device;
After dividing the original data, an encoding unit that generates a plurality of encoded data equal to or greater than the number of divisions using a variable variable redundancy;
A redundancy control unit for changing redundancy in the encoding unit;
A distribution processing unit for distributing and storing the plurality of encoded data to the plurality of local storage devices;
A restoration unit that recovers at least the encoded data corresponding to the number of divisions of the original data from the local storage device and restores the original data;
A backup system characterized by comprising: (1)
(付記2)
付記1記載のバックアップシステムに於いて、
前記符合化部は、
元データをn個のブロックデータに分割するブロック分割部と、
前記n個のブロックデータの中の排他論理和をとる1又は複数のブロックを指定するビットマップを配置したヘッダと、前記ヘッダ部で指定された1又は複数のブロックデータの排他論理和データから構成される符合化データを、冗長度Qに応じた数mだけ生成する符合データ生成部と、
を備え、
前記復元部は、前記複数のローカルストレージ装置から前記ブロック数n以上の符合化データを回収し、ガウスの消去法により前記ヘッダ部を単位行列化することにより前記n個のブロックデータを復元することを特徴とするバックアップシステム。(2)
(Appendix 2)
In the backup system described in
The encoding unit is
A block division unit for dividing original data into n block data;
Consists of a header in which a bitmap designating one or more blocks to be exclusive ORed in the n block data is arranged, and exclusive OR data of one or more block data designated in the header part Code data generation unit for generating the encoded data to be generated by a number m corresponding to the redundancy Q;
With
The restoration unit collects encoded data of the number of blocks n or more from the plurality of local storage devices, and restores the n block data by unitizing the header part by Gaussian elimination. A backup system characterized by (2)
(付記3)
付記1記載のバックアップシステムに於いて、前記冗長度制御部は、前記元データの重要度に応じて前記符合化部おける冗長度を変化させることを特徴とするバックアップシステム。
(Appendix 3)
In the backup system of
(付記4)
付記3記載のバックアップシステムに於いて、前記冗長度制御部は、前記元データの重要度を手動設定、若しくは前記元データに含まれるキーワード、更新日時、又は更新頻度に応じて自動設定することを特徴とするバックアップシステム。
(Appendix 4)
In the backup system according to
(付記5)
付記4記載のバックアップシステムに於いて、前記冗長度制御部は、重要度の自動設定として、元データに含まれるキーワードから対応する重要度を設定した後、更新日時及び又は更新頻度に応じて前記重要度を修正することを特徴とするバックアップシステム。
(Appendix 5)
In the backup system according to
(付記6)
付記1記載のバックアップシステムに於いて、前記分配処理部は、前記複数の符合化データの分配数を、前記複数のローカルストレージ装置の信頼度及び又は使用可能容量に応じて決定することを特徴とするバックアップシステム。
(Appendix 6)
In the backup system according to
(付記7)
付記6記載のバックアップシステムに於いて、前記分配処理部は、前記ローカルストレージ装置の信頼度を、手動設定若しくは稼働率又は応答時間(RTT)に基づいて自動設定することを特徴とするバックアップシステム。
(Appendix 7)
In the backup system according to
(付記8)
付記6記載のバックアップシステムに於いて、前記分配御部は、前記ローカルストレージ装置の重要度を稼働率に応じて設定した後に、前記ローカルストレージの応答時間(RTT)に応じて修正することを特徴とするバックアップシステム。
(Appendix 8)
In the backup system according to
(付記9)
付記1記載のバックアップシステムに於いて、前記ローカルストレージ装置が新規追加または削除された時には、変更後のローカルストレージ装置に基づいて、前記符合化部で符合化データを再生成した後に前記分配処理部で再分配することを特徴とするバックアップシステム。
(Appendix 9)
In the backup system of
(付記10)
付記1記載のバックアップシステムに於いて、前記メインストレージ装置はクライアントのストレージ装置のデータに同期して前記元データを記憶し、前記メインストレージ装置に対し前記複数のローカルストレージ装置はネットワーク接続されたことを特徴とするバックアップシステム。
(Appendix 10)
In the backup system according to
(付記11)
元データを記憶するメインストレージ装置と、前記ストレージ装置のデータを分散して記憶する複数のローカルストレージ装置とを備えたシステムのバックアップ方法に於いて、
前記元データを分割した後に、冗長度を可変な符号を用いて分割数以上の複数の符合化データを生成する符合化ステップと、
前記符合化ステップにおける冗長度を変化させる冗長度制御ステップと、
前記複数の符合化データを、前記複数のローカルストレージ装置に分配して記憶させる分配処理ステップと、
前記ローカルストレージ装置から少なくとも前記元データの分割数分の符合化データを回収して前記元データを復元する復元ステップと、
を備えたことを特徴とするバックアップ方法。(3)
(Appendix 11)
In a system backup method comprising: a main storage device that stores original data; and a plurality of local storage devices that distribute and store data of the storage device.
An encoding step of generating a plurality of encoded data equal to or greater than the number of divisions using a variable redundancy code after dividing the original data;
A redundancy control step for changing the redundancy in the encoding step;
A distribution processing step of distributing and storing the plurality of encoded data to the plurality of local storage devices;
A recovery step of recovering at least the encoded data corresponding to the number of divisions of the original data from the local storage device and restoring the original data;
A backup method characterized by comprising: (3)
(付記12)
付記11記載のバックアップ方法に於いて、
前記符合化ステップは、
元データをn個のブロックデータに分割するブロック分割ステップと、
前記n個のブロックデータの中の排他論理和をとる1又は複数のブロックを指定するビットマップを配置したヘッダと、前記ヘッダで指定された1又は複数のブロックデータの排他論理和データから構成される符合化データを、冗長度Qに応じた数mだけ生成する符合データ生成ステップと、
を備え、
前記復元ステップは、前記複数のローカルストレージ装置から前記ブロック数n以上の符合化データを回収し、ガウスの消去法により前記ヘッダステップを単位行列化することにより前記n個のブロックデータを復元することを特徴とするバックアップ方法。(4)
(Appendix 12)
In the backup method described in appendix 11,
The encoding step includes
A block dividing step for dividing the original data into n block data;
Composed the n and header arranged a bitmap that specifies one or more blocks taking the exclusive OR in the block data, the exclusive OR data of one or a plurality of block data designated by the header A code data generation step for generating the encoded data by a number m corresponding to the redundancy Q;
With
The restoring step recovers the n block data by collecting encoded data of the number of blocks n or more from the plurality of local storage devices and unitizing the header step by a Gaussian elimination method. A backup method characterized by this. (4)
(付記13)
付記11記載のバックアップ方法に於いて、前記冗長度制御ステップは、前記元データの重要度に応じて前記符合化ステップにおける冗長度を変化させることを特徴とするバックアップ方法。
(Appendix 13)
The backup method according to claim 11, wherein the redundancy control step changes the redundancy in the encoding step according to the importance of the original data.
(付記14)
付記13記載のバックアップ方法に於いて、前記冗長度制御ステップは、前記元データの重要度を手動設定、若しくは前記元データに含まれるキーワード、更新日時、又は更新頻度に基づいて自動設定することを特徴とするバックアップ方法。
(Appendix 14)
In the backup method according to attachment 13, in the redundancy control step, the importance of the original data is manually set, or automatically set based on a keyword, update date / time, or update frequency included in the original data. A featured backup method.
(付記15)
付記11記載のバックアップ方法に於いて、前記分配処理ステップは、前記複数の符合化データの分配数を、前記複数のローカルストレージ装置の信頼度及び又は使用可能容量に応じて決定することを特徴とするバックアップ方法。
(Appendix 15)
The backup method according to appendix 11, wherein the distribution processing step determines the distribution number of the plurality of encoded data according to reliability and / or usable capacity of the plurality of local storage devices. How to back up.
(付記16)
付記11記載のバックアップ方法に於いて、前記ローカルストレージ装置が新規追加または削除された時には、変更後のローカルストレージ装置に基づいて、前記符合化ステップで符合化データを再生成した後に前記分配処理ステップで再分配することを特徴とするバックアップ方法。
(Appendix 16)
In the backup method according to attachment 11, when the local storage device is newly added or deleted, the distribution processing step is performed after regenerating the encoded data in the encoding step based on the changed local storage device. A backup method characterized by redistribution in
(付記17)
元データを複数のローカルストレージ装置に分散して記憶するメインストレージ装置のコンピュータに、
前記元データを分割した後に、冗長度を可変な符号を用いて分割数以上の複数の符合化データを生成する符合化ステップと、
前記符合化ステップにおける冗長度を変化させる冗長度制御ステップと、
前記複数の符合化データを、前記複数のローカルストレージ装置に分配して記憶させる分配処理ステップと、
前記ローカルストレージ装置から少なくとも前記元データの分割数分の符合化データを回収して前記元データを復元する復元ステップと、
を実行させることを特徴とするバックアッププログラム。(5)
(Appendix 17)
In the computer of the main storage device that stores the original data distributed to multiple local storage devices,
An encoding step of generating a plurality of encoded data equal to or greater than the number of divisions using a variable redundancy code after dividing the original data;
A redundancy control step for changing the redundancy in the encoding step;
A distribution processing step of distributing and storing the plurality of encoded data to the plurality of local storage devices;
A recovery step of recovering at least the encoded data corresponding to the number of divisions of the original data from the local storage device and restoring the original data;
A backup program characterized by causing (5)
(付記18)
付記17記載のバックアッププログラムに於いて、
前記符合化ステップは、
元データをn個のブロックデータに分割するブロック分割ステップと、
前記n個のブロックデータの中の排他論理和をとる1又は複数のブロックを指定するビットマップを配置したヘッダと、前記ヘッダステップで指定された1又は複数のブロックデータの排他論理和データから構成される符合化データを、冗長度Qに応じた数mだけ生成する符合データ生成ステップと、
を備え、
前記復元ステップは、前記複数のローカルストレージ装置から前記ブロック数n以上の符合化データを回収し、ガウスの消去法により前記ヘッダステップを単位行列化することにより前記n個のブロックデータを復元することを特徴とするバックアッププログラム。
(Appendix 18)
In the backup program described in Appendix 17,
The encoding step includes
A block dividing step for dividing the original data into n block data;
Consists of a header in which a bitmap designating one or more blocks to be exclusive ORed in the n block data is arranged, and exclusive OR data of one or more block data specified in the header step A code data generation step for generating the encoded data by a number m corresponding to the redundancy Q;
With
The restoring step recovers the n block data by collecting encoded data of the number of blocks n or more from the plurality of local storage devices and unitizing the header step by a Gaussian elimination method. A backup program characterized by
(付記19)
付記17記載のバックアッププログラムに於いて、前記冗長度制御ステップは、前記元データの重要度を手動設定、若しくは前記元データに含まれるキーワード、更新日時、又は更新頻度に基づいて自動設定することを特徴とするバックアッププログラム。
(Appendix 19)
In the backup program according to appendix 17, the redundancy control step includes manually setting the importance of the original data or automatically setting based on a keyword, update date / time, or update frequency included in the original data. A featured backup program.
(付記20)
付記17記載のバックアッププログラムに於いて、前記分配処理ステップは、前記複数の符合化データの分配数を、前記複数のローカルストレージ装置の信頼度及び又は使用可能容量に応じて決定することを特徴とするバックアッププログラム。
(Appendix 20)
The backup program according to appendix 17, wherein the distribution processing step determines the distribution number of the plurality of encoded data according to reliability and / or usable capacity of the plurality of local storage devices. Backup program.
10:メインストレージサーバ
12:メインストレージ
14:クライアント
16:ストレージ
18:ネットワーク
20−1〜20−5:ローカルストレージサーバ
22−1〜22−5:ローカルストレージ
24:入出力部
26:符合化部
28:冗長度制御部
30,30−1〜30−3:重要度管理テーブル
32:分配処理部
34:分配管理テーブル
36:復元部
38:CPU
42:RAM
44:ROM
46:ハードディスクドライブ
48:デバイスインタフェース
50:キーボード
52:マウス
54:ディスプレイ
56:ネットワークアダプタ
58:元データ
60−1〜60−n:ブロックデータ
62,62−1〜62−m:符合化データ
64:ヘッダ
66:XORデータ
68:回収
70:回収データ
72:単位行列化
74:復元データ
76:キーワード
78:重要度
80:最終更新日
82:更新頻度
84:ローカルストレージ番号
86:信頼度
88:分配データ数
94−1〜94−5,96−1〜96−5:分配符合化データ
10: main storage server 12: main storage 14: client 16: storage 18: network 20-1 to 20-5: local storage server 22-1 to 22-5: local storage 24: input / output unit 26: encoding unit 28 : Redundancy control unit 30, 30-1 to 30-3: Importance management table 32: Distribution processing unit 34: Distribution management table 36: Restoring unit 38: CPU
42: RAM
44: ROM
46: hard disk drive 48: device interface 50: keyboard 52: mouse 54: display 56: network adapter 58: original data 60-1 to 60-n: block
Claims (3)
前記メインストレージ装置のデータを分散して記憶する複数のローカルストレージ装置と、
前記元データを分割した後に、冗長度を可変な符号を用いて分割数以上の複数の符号化データを生成する符号化部と、
前記符号化部における冗長度を前記元データの重要度に対応して変化させる冗長度制御部と、
前記複数の符号化データを、前記複数のローカルストレージ装置に分配して記憶させる分配処理部と、
前記ローカルストレージ装置からガウスの消去法によりヘッダ部を単位行列化することにより少なくとも前記元データの分割数分の符号化データを回収して前記元データを復元する復元部と、
を備え、
前記符号化部は、
元データをn個のブロックデータに分割するブロック分割部と、
前記n個のブロックデータ中の排他論理和をとる1又は複数のブロックを指定するビットマップを配置したヘッダと、冗長度Qに応じた数mだけ前記ヘッダ部で指定された1又は複数のブロックデータの排他論理和データから構成される符号化データを生成する符号データ生成部と、
を備え、
前記復元部は、前記複数のローカルストレージ装置から前記ブロック数n以上の符号化データを回収することにより前記n個のブロックデータを復元することを特徴とするバックアップシステム。
A main storage device for storing original data;
A plurality of local storage devices for distributing and storing data of the main storage device;
Said original data after dividing the, sign-unit for generating a plurality of sign-data of more than division number using a variable code redundancy,
A redundancy control section for changing the redundancy in the sign-section corresponding to the importance of the original data,
A distribution processing unit of the plurality of the sign-data, to be stored by distributing to the plurality of local storage devices,
A restoration unit for restoring the original data at least said recovered number of divisions of the sign-data of the original data by unit matrix header portion by Gaussian elimination from the local storage device,
Bei to give a,
The encoding unit includes:
A block division unit for dividing original data into n block data;
A header in which a bitmap specifying one or a plurality of blocks to be exclusive ORed in the n block data is arranged, and one or a plurality of blocks specified in the header part by a number m corresponding to the redundancy Q A code data generation unit that generates encoded data composed of exclusive OR data of data;
With
The backup system is characterized in that the restoration unit restores the n block data by collecting encoded data of the block number n or more from the plurality of local storage devices .
前記元データを分割した後に、冗長度を可変な符号を用いて分割数以上の複数の符号化データを生成する符号化ステップと、
前記符号化ステップにおける冗長度を前記元データの重要度に対応して変化させる冗長度制御ステップと、
前記複数の符号化データを、前記複数のローカルストレージ装置に分配して記憶させる分配処理ステップと、
前記ローカルストレージ装置からガウスの消去法によりヘッダ部を単位行列化することにより少なくとも前記元データの分割数分の符号化データを回収して前記元データを復元する復元ステップと、
を備え、
前記符号化ステップは、
元データをn個のブロックデータに分割するブロック分割ステップと、
前記n個のブロックデータ中の排他論理和をとる1又は複数のブロックを指定するビットマップを配置したヘッダと、冗長度Qに応じた数mだけ前記ヘッダ部で指定された1又は複数のブロックデータの排他論理和データから構成される符号化データを生成する符号データ生成ステップと、
を備え、
前記復元ステップは、前記複数のローカルストレージ装置から前記ブロック数n以上の符号化データを回収することにより前記n個のブロックデータを復元することを特徴とするバックアップ方法。
In a system backup method comprising a main storage device for storing original data and a plurality of local storage devices for distributing and storing data of the main storage device,
After dividing the original data, and sign-of generating a plurality of sign-data of more than division number using a variable code redundancy,
A redundancy control step of changing corresponding redundancy to the importance of the original data in the sign-step,
A distribution processing step of said plurality of sign-data, to be stored by distributing to the plurality of local storage devices,
A restoration step of restoring the original data and the recovered at least sign-coded data of the original data the number of divisions by unit matrix header portion by Gaussian elimination from the local storage device,
With
The encoding step includes:
A block dividing step for dividing the original data into n block data;
A header in which a bitmap specifying one or a plurality of blocks to be exclusive ORed in the n block data is arranged, and one or a plurality of blocks specified in the header part by a number m corresponding to the redundancy Q A code data generation step for generating encoded data composed of exclusive OR data of the data;
With
In the backup method , the restoring step restores the n block data by collecting the encoded data of the block number n or more from the plurality of local storage devices .
前記元データを分割した後に、冗長度を可変な符号を用いて分割数以上の複数の符号化データを生成する符号化ステップと、
前記符号化ステップにおける冗長度を前記元データの重要度に対応して変化させる冗長度制御ステップと、
前記複数の符号化データを、前記複数のローカルストレージ装置に分配して記憶させる分配処理ステップと、
前記ローカルストレージ装置からガウスの消去法によりヘッダ部を単位行列化することにより少なくとも前記元データの分割数分の符号化データを回収して前記元データを復元する復元ステップと、
を実行させ、
前記符号化ステップは、
元データをn個のブロックデータに分割するブロック分割ステップと、
前記n個のブロックデータ中の排他論理和をとる1又は複数のブロックを指定するビットマップを配置したヘッダと、冗長度Qに応じた数mだけ前記ヘッダ部で指定された1又は複数のブロックデータの排他論理和データから構成される符号化データを生成する符号データ生成ステップと、
を備え、
前記復元ステップは、前記複数のローカルストレージ装置から前記ブロック数n以上の符号化データを回収することにより前記n個のブロックデータを復元することを特徴とするバックアッププログラム。 In the computer of the main storage device that stores the original data distributed to multiple local storage devices,
After dividing the original data, and sign-of generating a plurality of sign-data of more than division number using a variable code redundancy,
A redundancy control step of changing corresponding redundancy to the importance of the original data in the sign-step,
A distribution processing step of said plurality of sign-data, to be stored by distributing to the plurality of local storage devices,
A restoration step of restoring the original data and the recovered at least sign-coded data of the original data the number of divisions by unit matrix header portion by Gaussian elimination from the local storage device,
And execute
The encoding step includes:
A block dividing step for dividing the original data into n block data;
A header in which a bitmap specifying one or a plurality of blocks to be exclusive ORed in the n block data is arranged, and one or a plurality of blocks specified in the header part by a number m corresponding to the redundancy Q A code data generation step for generating encoded data composed of exclusive OR data of the data;
With
The restoration step, the backup program characterized by restoring the n pieces of block data by collecting sign-data of more than the number of blocks n from the plurality of local storage devices.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005332790A JP4546387B2 (en) | 2005-11-17 | 2005-11-17 | Backup system, method and program |
US11/407,109 US7739465B2 (en) | 2005-11-17 | 2006-04-20 | Backup system, method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005332790A JP4546387B2 (en) | 2005-11-17 | 2005-11-17 | Backup system, method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007140829A JP2007140829A (en) | 2007-06-07 |
JP4546387B2 true JP4546387B2 (en) | 2010-09-15 |
Family
ID=38042295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005332790A Expired - Fee Related JP4546387B2 (en) | 2005-11-17 | 2005-11-17 | Backup system, method and program |
Country Status (2)
Country | Link |
---|---|
US (1) | US7739465B2 (en) |
JP (1) | JP4546387B2 (en) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7370261B2 (en) | 2005-05-09 | 2008-05-06 | International Business Machines Corporation | Convolution-encoded raid with trellis-decode-rebuild |
US12061519B2 (en) | 2005-09-30 | 2024-08-13 | Purage Storage, Inc. | Reconstructing data segments in a storage network and methods for use therewith |
US11327674B2 (en) * | 2012-06-05 | 2022-05-10 | Pure Storage, Inc. | Storage vault tiering and data migration in a distributed storage network |
JP4718340B2 (en) * | 2006-02-02 | 2011-07-06 | 富士通株式会社 | Storage system, control method and program |
JP4696008B2 (en) | 2006-03-20 | 2011-06-08 | 富士通株式会社 | IP transmission apparatus and IP transmission method |
US8806227B2 (en) * | 2006-08-04 | 2014-08-12 | Lsi Corporation | Data shredding RAID mode |
JP4973145B2 (en) * | 2006-11-20 | 2012-07-11 | 船井電機株式会社 | Management server and content transfer system |
WO2009050761A1 (en) * | 2007-10-15 | 2009-04-23 | Fujitsu Limited | Storage system, storage controller, and method and program for controlling storage system |
FI120809B (en) * | 2007-11-26 | 2010-03-15 | Abb Oy | Frequency converter and method of maintaining data stored in the memory of a frequency converter |
JP4893684B2 (en) * | 2008-04-11 | 2012-03-07 | 日本電気株式会社 | Disk array device |
US8630987B2 (en) * | 2008-07-16 | 2014-01-14 | Cleversafe, Inc. | System and method for accessing a data object stored in a distributed storage network |
US8327186B2 (en) * | 2009-03-10 | 2012-12-04 | Netapp, Inc. | Takeover of a failed node of a cluster storage system on a per aggregate basis |
US8145838B1 (en) * | 2009-03-10 | 2012-03-27 | Netapp, Inc. | Processing and distributing write logs of nodes of a cluster storage system |
US8769049B2 (en) * | 2009-04-24 | 2014-07-01 | Microsoft Corporation | Intelligent tiers of backup data |
US8935366B2 (en) * | 2009-04-24 | 2015-01-13 | Microsoft Corporation | Hybrid distributed and cloud backup architecture |
US8769055B2 (en) * | 2009-04-24 | 2014-07-01 | Microsoft Corporation | Distributed backup and versioning |
US8560639B2 (en) * | 2009-04-24 | 2013-10-15 | Microsoft Corporation | Dynamic placement of replica data |
US8069366B1 (en) | 2009-04-29 | 2011-11-29 | Netapp, Inc. | Global write-log device for managing write logs of nodes of a cluster storage system |
KR101074010B1 (en) * | 2009-09-04 | 2011-10-17 | (주)이스트소프트 | Block unit data compression and decompression method and apparatus thereof |
KR101016776B1 (en) * | 2009-09-21 | 2011-02-25 | (주)이스트소프트 | Backward compatible compression and decompression methods and devices |
US8959597B2 (en) * | 2010-05-19 | 2015-02-17 | Cleversafe, Inc. | Entity registration in multiple dispersed storage networks |
US9705730B1 (en) | 2013-05-07 | 2017-07-11 | Axcient, Inc. | Cloud storage using Merkle trees |
US10284437B2 (en) | 2010-09-30 | 2019-05-07 | Efolder, Inc. | Cloud-based virtual machines and offices |
US9785498B2 (en) * | 2011-04-29 | 2017-10-10 | Tata Consultancy Services Limited | Archival storage and retrieval system |
US12141459B2 (en) | 2012-06-05 | 2024-11-12 | Pure Storage, Inc. | Storage pool tiering in a storage network |
JP6279560B2 (en) * | 2012-06-08 | 2018-02-14 | 株式会社Nttドコモ | Method, apparatus, and computer-readable storage medium for low-latency access to a storage system based on key values using FEC techniques |
CN102799543B (en) * | 2012-08-10 | 2015-12-02 | 杭州极云网络技术有限公司 | On the storage medium of dynamic change, dispersion stores data and restoration methods |
US9785647B1 (en) | 2012-10-02 | 2017-10-10 | Axcient, Inc. | File system virtualization |
US9852140B1 (en) | 2012-11-07 | 2017-12-26 | Axcient, Inc. | Efficient file replication |
US9952936B2 (en) * | 2012-12-05 | 2018-04-24 | Hitachi, Ltd. | Storage system and method of controlling storage system |
US9397907B1 (en) | 2013-03-07 | 2016-07-19 | Axcient, Inc. | Protection status determinations for computing devices |
CN103365739B (en) * | 2013-08-02 | 2016-03-02 | 深圳市瑞耐斯技术有限公司 | A kind of NAND flash memory storage equipment and data reconstruction method thereof |
US9857974B2 (en) * | 2013-10-03 | 2018-01-02 | International Business Machines Corporation | Session execution decision |
US9229821B2 (en) | 2013-11-13 | 2016-01-05 | International Business Machines Corporation | Reactionary backup scheduling around meantime between failures of data origination |
US10146455B2 (en) * | 2014-07-08 | 2018-12-04 | Osr Enterprises Ag | Device, system and method for storing data |
KR101756136B1 (en) * | 2016-01-22 | 2017-07-26 | 계명대학교 산학협력단 | A fault tolerant method for a hierarchical system |
CN117056130B (en) * | 2023-09-06 | 2024-10-18 | 飞创信息科技有限公司 | Virtual tape library backup system and backup method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08508838A (en) * | 1993-06-23 | 1996-09-17 | 峰忠 小佐野 | New finite element method and analyzer |
JP2003296176A (en) * | 2002-03-29 | 2003-10-17 | Fujitsu Social Science Laboratory Ltd | Distributed storage method and device therefor |
WO2004030273A1 (en) * | 2002-09-27 | 2004-04-08 | Fujitsu Limited | Data delivery method, system, transfer method, and program |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5657468A (en) * | 1995-08-17 | 1997-08-12 | Ambex Technologies, Inc. | Method and apparatus for improving performance in a reduntant array of independent disks |
JP3736134B2 (en) | 1998-08-28 | 2006-01-18 | 日本電信電話株式会社 | Distributed storage method, distributed storage system, and recording medium recording distributed storage program |
US6320520B1 (en) | 1998-09-23 | 2001-11-20 | Digital Fountain | Information additive group code generator and decoder for communications systems |
US6307487B1 (en) | 1998-09-23 | 2001-10-23 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
US6411223B1 (en) | 2000-10-18 | 2002-06-25 | Digital Fountain, Inc. | Generating high weight encoding symbols using a basis |
JP2004126716A (en) | 2002-09-30 | 2004-04-22 | Fujitsu Ltd | Data storage method using wide-area distributed storage system, program for causing computer to realize the method, recording medium, and control device in wide-area distributed storage system |
JP2004192483A (en) | 2002-12-13 | 2004-07-08 | Hitachi Ltd | Management method of distributed storage system |
US7406621B2 (en) * | 2004-04-02 | 2008-07-29 | Seagate Technology Llc | Dual redundant data storage format and method |
US7263588B1 (en) * | 2004-05-17 | 2007-08-28 | United States Of America As Represented By The Secretary Of The Navy | Data storage system using geographically-distributed storage devices/facilities |
-
2005
- 2005-11-17 JP JP2005332790A patent/JP4546387B2/en not_active Expired - Fee Related
-
2006
- 2006-04-20 US US11/407,109 patent/US7739465B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08508838A (en) * | 1993-06-23 | 1996-09-17 | 峰忠 小佐野 | New finite element method and analyzer |
JP2003296176A (en) * | 2002-03-29 | 2003-10-17 | Fujitsu Social Science Laboratory Ltd | Distributed storage method and device therefor |
WO2004030273A1 (en) * | 2002-09-27 | 2004-04-08 | Fujitsu Limited | Data delivery method, system, transfer method, and program |
Also Published As
Publication number | Publication date |
---|---|
JP2007140829A (en) | 2007-06-07 |
US20070113032A1 (en) | 2007-05-17 |
US7739465B2 (en) | 2010-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4546387B2 (en) | Backup system, method and program | |
JP4718340B2 (en) | Storage system, control method and program | |
US7827439B2 (en) | System and method of redundantly storing and retrieving data with cooperating storage devices | |
Xin et al. | Reliability mechanisms for very large storage systems | |
RU2501072C2 (en) | Distributed storage of recoverable data | |
US10102069B2 (en) | Maintaining data storage in accordance with an access metric | |
CN101488104B (en) | System and method for implementing high-efficiency security memory | |
US9690657B2 (en) | Writing data across storage devices in an erasure-coded system | |
EP2250563B1 (en) | Storage redundant array of independent drives | |
US9811533B2 (en) | Accessing distributed computing functions in a distributed computing system | |
US20150142752A1 (en) | Priority based reliability mechanism for archived data | |
EP2207098A1 (en) | Failure handling using overlay objects on a file system using object based storage devices | |
US20210208782A1 (en) | Erasure coding with overlapped local reconstruction codes | |
US7155634B1 (en) | Process for generating and reconstructing variable number of parity for byte streams independent of host block size | |
JP7355616B2 (en) | Distributed storage systems and how to update parity in distributed storage systems | |
US20240411643A1 (en) | Recovering Missing Data in a Storage Network via Locally Decodable Redundancy Data | |
US12223194B2 (en) | Re-encoding data in a storage network based on addition of additional storage units | |
US20190012234A1 (en) | Dynamically shifting tasks in distributed computing data storage | |
JP2016095719A (en) | Parity layout determination program, parity layout determination method, storage apparatus and storage system | |
US11403189B2 (en) | System and method of resyncing data in erasure-coded objects on distributed storage systems without requiring checksum in the underlying storage | |
JP2004348281A (en) | Redundancy storage system, method and program | |
EP3713094A1 (en) | Application of the mojette transform to erasure correction for distributed storage | |
Janakiram et al. | ExR: A scheme for exact regeneration of a failed node in a distributed storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100302 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100426 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100608 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100701 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130709 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |