JP5664318B2 - Virtual file system - Google Patents

Virtual file system Download PDF

Info

Publication number
JP5664318B2
JP5664318B2 JP2011031611A JP2011031611A JP5664318B2 JP 5664318 B2 JP5664318 B2 JP 5664318B2 JP 2011031611 A JP2011031611 A JP 2011031611A JP 2011031611 A JP2011031611 A JP 2011031611A JP 5664318 B2 JP5664318 B2 JP 5664318B2
Authority
JP
Japan
Prior art keywords
file
data
block
file system
seed
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
Application number
JP2011031611A
Other languages
Japanese (ja)
Other versions
JP2012168906A (en
Inventor
真人 井上
真人 井上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2011031611A priority Critical patent/JP5664318B2/en
Publication of JP2012168906A publication Critical patent/JP2012168906A/en
Application granted granted Critical
Publication of JP5664318B2 publication Critical patent/JP5664318B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は仮想ファイルシステムに関し、特に物理的なストレージを必要としない仮想ファイルシステムに関する。   The present invention relates to a virtual file system, and more particularly to a virtual file system that does not require physical storage.

ファイルシステムは、データの恒久的な保存手段として使用される以外に、データを一時的に使用する場合にも広く利用されている。一時的な使用の例として、ストレージシステムの評価時に使用するテストファイルがある。   In addition to being used as a permanent storage means for data, the file system is also widely used for temporarily using data. An example of temporary use is a test file used when evaluating a storage system.

ストレージシステムの評価では、バックアップソフトウェアを用いて、評価対象ストレージシステムのバックアップ性能の評価およびリストア性能の評価が行われる。その概要を図7に示す。   In the evaluation of the storage system, backup performance and restore performance of the evaluation target storage system are evaluated using backup software. The outline is shown in FIG.

まず、評価を実施する前に、評価用マシン70のテストファイル作成ソフトウェア75を使用して、既存のストレージ71にテストファイル711を作成しておく。バックアップ性能の評価では、既存のストレージ71上に作成した上記のテストファイル711を、評価用マシン70のバックアップソフトウェア72を使用して、評価対象のストレージシステム73にテストファイル74としてバックアップすることで実施する。また、リストア性能の評価では、評価対象のストレージシステム73にバックアップしたテストファイル74を、評価用マシン70のバックアップソフトウェア72を使用して、既存のストレージ71にテストファイル712としてリストアし、評価用マシン70のファイル比較ソフトウェア76を使用して、バックアップ前のテストファイル711とリストア後のテストファイル712とを比較することで実施する。   First, before performing the evaluation, a test file 711 is created in the existing storage 71 using the test file creation software 75 of the evaluation machine 70. In the backup performance evaluation, the test file 711 created on the existing storage 71 is backed up as a test file 74 to the evaluation target storage system 73 using the backup software 72 of the evaluation machine 70. To do. Further, in the evaluation of the restore performance, the test file 74 backed up in the evaluation target storage system 73 is restored as the test file 712 in the existing storage 71 using the backup software 72 of the evaluation machine 70, and the evaluation machine This is performed by comparing the test file 711 before backup and the test file 712 after restoration using the file comparison software 76 of 70.

他方、本発明に関連する技術として、特許文献1に記載の技術がある。この特許文献1に記載の技術では、ビデオ信号生成器より出力されるビデオ信号を制御装置に転送してJPEG等の圧縮符号化方式で圧縮して圧縮ビデオデータを形成し、評価対象としての外部記憶装置に転送して書き込む。また、外部記憶装置より圧縮ビデオデータを読み出し、制御装置に転送して伸長復号化し、画像表示装置に再生画像を表示する。外部記憶装置での書き込み、読み出しを経たビデオデータによる再生画像が画像表示装置4に表示されるため、ランダムデータの検証を直観的に行う事が出来るように構成されている。   On the other hand, there is a technique described in Patent Document 1 as a technique related to the present invention. In the technique described in Patent Document 1, a video signal output from a video signal generator is transferred to a control device and compressed by a compression encoding method such as JPEG to form compressed video data. Transfer and write to storage device. Also, the compressed video data is read from the external storage device, transferred to the control device, decompressed and decoded, and the reproduced image is displayed on the image display device. Since a reproduced image based on video data that has been written to and read from the external storage device is displayed on the image display device 4, the random data can be verified intuitively.

さらに、Linuxには /dev/urandom という乱数データを読み出せるファイルがある。これは物理的なストレージシステムを必要とせず、ファイル生成の時間も不要になる。   In addition, Linux has a file that can read random data called / dev / urandom. This eliminates the need for a physical storage system and eliminates the time for file generation.

特開平7−210990号公報JP-A-7-210990

図7に示されるストレージシステムの評価方法では、バックアップ前のデータであるテストファイル711およびリストア後のデータであるテストファイル712を蓄積するストレージ71が必要である。ストレージシステムは年々その容量が増大しているため、テストファイル711、712の容量も大きくなっている。また、評価対象ストレージシステム73がデータ圧縮機能や重複データ削除機能を有する場合、その評価を行うために多種多様なテストファイル711を数多く生成する必要がある。このため、既存のストレージ71として、大容量なシステムが必要になる。   The storage system evaluation method shown in FIG. 7 requires a storage 71 that stores a test file 711 that is data before backup and a test file 712 that is data after restoration. Since the capacity of the storage system is increasing year by year, the capacity of the test files 711 and 712 is also increased. Further, when the evaluation target storage system 73 has a data compression function and a duplicate data deletion function, it is necessary to generate a large number of various test files 711 in order to perform the evaluation. For this reason, a large capacity system is required as the existing storage 71.

他方、特許文献1に記載の評価方法では、テストデータを記憶するための既存のストレージは不要になるが、評価対象の外部記憶装置から読み出したデータと比較するための元のデータを記憶できないため、ランダムデータの検証を直観的に実施できても、客観的に実施することができない。   On the other hand, the evaluation method described in Patent Document 1 does not require an existing storage for storing test data, but cannot store original data for comparison with data read from an external storage device to be evaluated. Even if the verification of random data can be performed intuitively, it cannot be performed objectively.

さらに、Linuxの /dev/urandom という乱数データを読み出せるファイルは、通常のファイルと異なり、無限にデータが読み出されるため、バックアップソフトウェアでバックアップすることができない。また、乱数データの再現性がないため、リストアしたファイルの比較を行うこともできない。   In addition, the file / dev / urandom that can read random data of Linux is different from a normal file, and data is read infinitely, so it cannot be backed up by backup software. In addition, since the random number data is not reproducible, the restored files cannot be compared.

本発明の目的は、上述した課題、すなわち、何時でも同じデータを大量に読み出せるようにするためには、大容量のストレージが必要になる、という課題を解決する仮想ファイルシステムを提供することにある。   An object of the present invention is to provide a virtual file system that solves the above-mentioned problem, that is, the problem that a large-capacity storage is required in order to be able to read a large amount of the same data at any time. is there.

本発明の一形態にかかる仮想ファイルシステムは、
ファイルの種を記憶する記憶手段と、
上記ファイルの種から疑似乱数生成アルゴリズムを使用してファイルのデータを生成するデータ生成手段と、
ファイルに対する読み込み要求を受け付け、上記データ生成手段で生成されたデータを含むアクセス応答を返却するファイルシステムアクセス手段と
を備える、といった構成を採る。
A virtual file system according to an aspect of the present invention includes:
Storage means for storing the file type;
Data generation means for generating file data using a pseudo-random number generation algorithm from the file seed;
The system includes a file system access unit that receives a read request for a file and returns an access response including the data generated by the data generation unit.

本発明の仮想ファイルシステムを使用すれば、大容量の既存ストレージがなくても、何時でも同じデータを大量に読み出すことができる。   By using the virtual file system of the present invention, a large amount of the same data can be read at any time even without a large-capacity existing storage.

本発明の第1の実施形態のブロック図である。It is a block diagram of a 1st embodiment of the present invention. 本発明の第2の実施形態のブロック図である。It is a block diagram of the 2nd Embodiment of this invention. 本発明の第2の実施形態におけるテストファイル作成時の動作説明図である。It is operation | movement explanatory drawing at the time of the test file creation in the 2nd Embodiment of this invention. 本発明の第2の実施形態においてテストファイルを評価対象ストレージへバックアップする時の動作説明図である。It is operation | movement explanatory drawing at the time of backing up a test file to evaluation object storage in the 2nd Embodiment of this invention. 本発明の第2の実施形態においてバックアップデータをリストアする時の動作説明図である。It is operation | movement explanatory drawing at the time of restoring backup data in the 2nd Embodiment of this invention. 本発明の第2の実施形態におけるデータ生成手段によるデータ生成の説明図である。It is explanatory drawing of the data generation by the data generation means in the 2nd Embodiment of this invention. ストレージの評価を行う一般的なシステムのブロック図である。It is a block diagram of the general system which evaluates storage.

次に本発明の実施の形態について図面を参照して詳細に説明する。
[第1の実施形態]
図1を参照すると、本発明の第1の実施形態にかかる仮想ファイルシステム10は、記憶手段11と、ファイルシステムアクセス手段12と、データ生成手段13とから構成される。
Next, embodiments of the present invention will be described in detail with reference to the drawings.
[First embodiment]
Referring to FIG. 1, the virtual file system 10 according to the first exemplary embodiment of the present invention includes a storage unit 11, a file system access unit 12, and a data generation unit 13.

記憶手段11は、ファイルの種111を記憶する。ファイルの種111は、例えば数列のような小容量のデータである。   The storage unit 11 stores a file type 111. The file type 111 is small-capacity data such as several sequences.

ファイルシステムアクセス手段12は、仮想ファイルシステム10と外部とのインターフェイスである。ファイルシステムアクセス手段12は、外部の図示しないプログラムから読み出し要求14を受け付け、それに対する応答15を返却する。   The file system access means 12 is an interface between the virtual file system 10 and the outside. The file system access means 12 accepts a read request 14 from an external program (not shown) and returns a response 15 in response thereto.

データ生成手段13は、ファイルの種111から疑似乱数生成アルゴリズムを使用してファイルのデータを生成する機能を有する。より具体的には、データ生成手段13は、ブロック情報算出手段131、ブロックの種生成手段132、ブロックデータ生成手段133、およびアクセス対象データ生成手段134を有する。   The data generation means 13 has a function of generating file data from the file seed 111 using a pseudo-random number generation algorithm. More specifically, the data generation unit 13 includes a block information calculation unit 131, a block seed generation unit 132, a block data generation unit 133, and an access target data generation unit 134.

ブロック情報算出手段131は、ファイルシステムアクセス手段12から、読み出し要求14で指定されたオフセットを受け取ると、このオフセットと予めシステムで規定された固定長のブロックサイズとから、読み出し要求14によるアクセス対象となるファイルブロックの番号とブロック内オフセットとを算出する機能を有する。   When the block information calculating unit 131 receives the offset specified by the read request 14 from the file system access unit 12, the block information calculating unit 131 determines the access target by the read request 14 from the offset and the fixed-length block size defined in advance by the system. A function of calculating the file block number and the intra-block offset.

ブロックの種生成手段132は、ファイルの種111とブロック情報算出手段131で算出されたファイルブロックの番号とから、非再帰的疑似乱数生成アルゴリズムを使用して、上記ファイルブロックの番号に対応するブロックの種を生成する機能を有する。ブロックの種は、ファイルの種111と同様に少量のデータから構成される。   The block seed generation unit 132 uses the non-recursive pseudo-random number generation algorithm from the file seed 111 and the file block number calculated by the block information calculation unit 131, to generate a block corresponding to the file block number. Has the function of generating seeds. The block seed is composed of a small amount of data like the file seed 111.

ブロックデータ生成手段133は、ブロックの種生成手段132で生成されたブロックの種から、再帰的疑似乱数生成アルゴリズムを使用して、上記ファイルのブロックの番号に対応するファイルブロックの内容であるデータをブロックサイズ分生成する機能を有する。   The block data generation means 133 uses the recursive pseudo random number generation algorithm from the block seeds generated by the block seed generation means 132 to obtain the data that is the contents of the file block corresponding to the block number of the file. It has a function to generate the block size.

アクセス対象データ生成手段134は、ブロックデータ生成手段133で生成されたファイルブロックのデータのうち、上記ブロック内オフセットとアクセス要求14で指定されるデータサイズとで定まるデータをアクセス対象データとして生成する機能を有する。   The access target data generating unit 134 generates, as access target data, data determined by the intra-block offset and the data size specified by the access request 14 among the data of the file block generated by the block data generating unit 133 Have

次に本実施形態の仮想ファイル方法、すなわちファイルをエミュレートする動作を説明する。   Next, a virtual file method according to the present embodiment, that is, an operation for emulating a file will be described.

ファイルシステムアクセス手段12は、外部の図示しないプログラムから、ファイルに対する読み込み要求14を受信すると、ファイルの種111と、読み込み要求14で指定されたオフセットおよびデータサイズとをデータ生成手段13に通知する。   When the file system access unit 12 receives a read request 14 for a file from an external program (not shown), the file system access unit 12 notifies the data generation unit 13 of the file type 111 and the offset and data size specified by the read request 14.

データ生成手段13のブロック情報算出手段131は、ファイルシステムアクセス手段12から受信したオフセットと予めシステムで規定された固定長のブロックサイズとから、読み出し要求14によるアクセス対象となるファイルブロックの番号とブロック内オフセットとを算出する。次に、ブロックの種生成手段132は、ファイルの種111とブロック情報算出手段131で算出されたファイルブロックの番号とから、非再帰的疑似乱数生成アルゴリズムを使用して、上記ファイルブロックの番号に対応するブロックの種を生成する。次に、ブロックデータ生成手段133は、ブロックの種生成手段132で生成されたブロックの種から、再帰的疑似乱数生成アルゴリズムを使用して、上記ファイルのブロックの番号に対応するファイルブロックの内容であるデータをブロックサイズ分生成する。次に、アクセス対象データ生成手段134は、ブロックデータ生成手段133で生成されたファイルブロックのデータのうち、上記ブロック内オフセットとアクセス要求14で指定されるデータサイズとで定まるデータをアクセス対象データとして生成し、ファイルシステムアクセス手段12に通知する。   The block information calculation unit 131 of the data generation unit 13 uses the offset received from the file system access unit 12 and the fixed-length block size defined in advance by the system to determine the file block number and block to be accessed by the read request 14. The inner offset is calculated. Next, the block seed generation unit 132 uses the non-recursive pseudo-random number generation algorithm to calculate the file block number from the file seed 111 and the file block number calculated by the block information calculation unit 131. Generate the corresponding block seed. Next, the block data generation unit 133 uses the recursive pseudo-random number generation algorithm from the block seed generated by the block seed generation unit 132, using the contents of the file block corresponding to the block number of the file. Generate some data for the block size. Next, the access target data generation unit 134 sets the data determined by the offset within the block and the data size specified by the access request 14 among the data of the file block generated by the block data generation unit 133 as the access target data. Generate and notify the file system access means 12.

ファイルシステムアクセス手段12は、データ生成手段13から通知されたアクセス対象データを含む応答15を、読み出し要求14の要求元に返却する。   The file system access unit 12 returns the response 15 including the access target data notified from the data generation unit 13 to the request source of the read request 14.

このように本実施形態の仮想ファイルシステム10は、大容量のストレージがなくても、何時でも同じデータを大量に読み出すことができる。その理由は、ファイルの種111から疑似乱数生成アルゴリズムを使用して毎回同じファイルのデータを生成するデータ生成手段13を有するためである。   As described above, the virtual file system 10 of this embodiment can read a large amount of the same data at any time without a large-capacity storage. The reason is that the data generation means 13 for generating data of the same file each time using the pseudo random number generation algorithm from the file seed 111 is provided.

また本実施形態の仮想ファイルシステム10は、ランダムデータの読み出しが可能になる。その理由は、データ生成手段13が、読み出し要求14で指定されるオフセットとブロックサイズとからアクセス対象となるファイルブロックの番号とブロック内オフセットとを算出し、ファイルブロックの番号からブロックの種を算出し、このブロックの種からブロックデータを算出し、この算出したブロックデータからブロック内オフセットとデータサイズとに基づいてアクセス対象データを抽出しているためである。   In addition, the virtual file system 10 of the present embodiment can read random data. The reason is that the data generation unit 13 calculates the number of the file block to be accessed and the offset within the block from the offset specified by the read request 14 and the block size, and calculates the type of the block from the file block number. This is because block data is calculated from this block seed, and access target data is extracted from the calculated block data based on the intra-block offset and the data size.

さらに本実施形態の仮想ファイルシステム10は、ブロックの種の生成は非再帰的疑似乱数生成アルゴリズムを用いて行うが、ブロックの種からブロックデータを生成する際には再帰的疑似乱数生成アルゴリズムを用いるため、すべて非再帰的な疑似乱数生成アルゴリズムを用いる場合に比べて、ランダムデータの読み出しを高速化することができる。   Furthermore, in the virtual file system 10 of this embodiment, generation of block seeds is performed using a non-recursive pseudo-random number generation algorithm, but when generating block data from block seeds, a recursive pseudo-random number generation algorithm is used. Therefore, it is possible to speed up the reading of random data compared to the case of using a non-recursive pseudorandom number generation algorithm.

[第2の実施形態]
次に本発明の第2の実施形態について説明する。
[Second Embodiment]
Next, a second embodiment of the present invention will be described.

[本実施形態の概要]
本実施形態にかかる仮想ファイルシステムは、ファイルの実際のデータを物理的なストレージに格納せず、データを再現するのに必要な「ファイルの種」をファイルのデータの代わりに保存する。本実施形態の仮想ファイルシステムを用いたストレージシステムの評価環境の構成図を図2に示す。この図2に関しては、後に詳細に説明するが、概ね以下のような動作を行う。
・ファイルを作成する場合、実際のデータを物理的なストレージへ書き込むのではなく、ファイルの種のみを作成する。
・ファイルのデータを読み込む場合、物理的なストレージからデータを読み込むのではなく、ファイルの種から計算してデータを再現する。
・ファイルへデータを書き込む場合、物理的なストレージへデータを書き込むのではなく、ファイルの種から計算して再現されるデータとの比較を行う。
・その他の操作(ディレクトリ操作やファイル属性などの操作)は通常のファイルシステムと同様の処理を行う。
[Overview of this embodiment]
The virtual file system according to the present embodiment does not store the actual data of the file in the physical storage, but stores the “file type” necessary for reproducing the data instead of the file data. FIG. 2 shows a configuration diagram of the evaluation environment of the storage system using the virtual file system of this embodiment. Although described in detail later with reference to FIG. 2, the following operations are generally performed.
-When creating a file, create only the file type, not write the actual data to physical storage.
・ When reading file data, instead of reading data from physical storage, calculate the file type and reproduce the data.
• When writing data to a file, do not write the data to physical storage, but compare it with the data that is calculated and reproduced from the file type.
-Other operations (such as directory operations and file attribute operations) are processed in the same manner as a normal file system.

以下、上記のそれぞれのファイル操作の概要を説明する。   The outline of each file operation will be described below.

まず、テストファイル作成に関して説明する。テストファイルを作成する場合、一般的にはテストファイル作成用のソフトウェア等を用いて、乱数データなどをファイルに書き込んでテストファイルを作成するが、この方法はファイルサイズが肥大化するにつれ多大な時間がかかるようになる。本実施形態では、ファイルのデータ自体は書き込まない。代わりに、ファイルのデータを計算により再現するための「ファイルの種」を保持する。このファイルの種を、例えば擬似乱数アルゴリズムの種として利用し、データを生成する。このファイルの種は、ファイル作成時のファイル名を用いて仮想ファイルシステムへ与える。また、作成するファイルのサイズも同様の方法で仮想ファイルシステムへ伝える。例として、「randomfile_128GB_12345」と言うファイル名でファイルを作成すると、ファイルの種が12345、ファイルサイズが128GBであるファイルが作成される。このファイルは作成した瞬間に、たとえ何も書き込まずとも、ファイルサイズが128GBになっている。   First, test file creation will be described. When creating a test file, the test file is generally created by writing random number data into the file using test file creation software, etc., but this method takes a lot of time as the file size increases. Will start. In the present embodiment, the file data itself is not written. Instead, it holds a “file type” for reproducing the file data by calculation. The file seed is used as a seed for the pseudo-random algorithm, for example, to generate data. This file type is given to the virtual file system using the file name at the time of file creation. Also, the size of the file to be created is transmitted to the virtual file system in the same manner. As an example, if a file is created with the file name “randomfile_128GB_12345”, a file with a file type of 12345 and a file size of 128 GB is created. The file is 128GB at the moment of creation, even if nothing is written.

次に、ファイルのデータを読み込む場合に関して説明する。通常のストレージでは、ファイルを読み込む場合、ストレージからデータを読み出す。それに対して、本実施形態では、ファイルの種から例えば擬似乱数アルゴリズムを用いてデータ計算する。仮想ファイルシステムは、読み込み要求があるたびにデータを計算して要求元へ渡す。また、仮想ファイルシステムは、通常のファイルシステムと同様に、ランダムアクセスが可能である必要がある。例えばデータ生成に擬似乱数アルゴリズムを用いていると、ランダムアクセスを行うためには非再帰的な擬似乱数アルゴリズムが必要となる。ここでの再帰的とは、直前の状態に依存するということである。つまり、再帰的擬似乱数は先頭からシーケンシャルなアクセスしかできず、非再帰的擬似乱数はランダムアクセスができる。しかし、一般的に非再帰的擬似乱数アルゴリズムは再帰的擬似乱数アルゴリズムに比べ低速であるため、再帰的擬似乱数アルゴリズムを用いるほうが計算コストの面で好ましい。そこで、以下のようにデータ生成方法を工夫して再帰的擬似乱数アルゴリズムでもランダムアクセスできるようにする。   Next, a case where file data is read will be described. In a normal storage, when reading a file, data is read from the storage. On the other hand, in the present embodiment, data is calculated from the file type using, for example, a pseudo random number algorithm. The virtual file system calculates data and sends it to the request source each time there is a read request. In addition, the virtual file system needs to be capable of random access in the same way as a normal file system. For example, if a pseudo-random algorithm is used for data generation, a non-recursive pseudo-random algorithm is required to perform random access. Here, recursive means that it depends on the previous state. That is, recursive pseudo-random numbers can only be accessed sequentially from the beginning, and non-recursive pseudo-random numbers can be accessed randomly. However, since the nonrecursive pseudorandom algorithm is generally slower than the recursive pseudorandom algorithm, it is preferable to use the recursive pseudorandom algorithm in terms of calculation cost. Therefore, the data generation method is devised as described below so that random access is possible even with a recursive pseudorandom algorithm.

ファイルを固定長のブロックに分割し、ブロックのデータは「ブロックの種」を擬似乱数の種として計算する。そして、ブロックの種はファイルの種とブロックの通し番号から非再帰的擬似乱数を用いて計算するという方法をとる。この方法により必要なデータが含まれるブロックのみを計算するだけでよいため、低速な非再帰的擬似乱数が必要なのはブロックの種の計算のみになり、データ自体の計算は高速な再帰的擬似乱数を用いることができるため、計算コストが改善される。   The file is divided into fixed-length blocks, and the block data is calculated using “block seed” as a pseudo-random seed. The block seed is calculated from the file seed and the block serial number using a non-recursive pseudo-random number. Since only the blocks containing the necessary data need only be calculated by this method, only the block seed calculation is required for the slow non-recursive pseudorandom number, and the data itself is calculated using the fast recursive pseudorandom number. Since it can be used, calculation cost is improved.

次に、ファイルへデータを書き込む場合に関して説明する。通常のストレージでは、ファイルを書き込む場合、ストレージへデータを書き出す。それに対して、本実施形態では、ファイルのデータをストレージ上に持たず、ファイルの種からファイルのデータを計算する方法をとっているため、ストレージにデータを書き出すことはない。一方、ストレージシステムの評価において、バックアップソフトウェアによってテストファイルを仮想ファイルシステムへリストアするときに、ファイルの書き込みが行われ、このファイルは後にバックアップ前のテストファイルと比較してデータ化けがないかの確認に用いられる。これに代わり、本実施形態では、ストレージにデータを書き込むときに、「ファイルの種」からバックアップ時に作成されたデータ(=リストアで書き込まれるべきデータ)と、実際に書き込まれるデータとを比較する。そのため、リストア作業と同時にファイル比較作業も行うこととなる。   Next, a case where data is written to a file will be described. In normal storage, when writing a file, data is written to the storage. On the other hand, in the present embodiment, since the file data is not stored on the storage and the file data is calculated from the file type, the data is not written to the storage. On the other hand, in the evaluation of the storage system, when the test file is restored to the virtual file system by the backup software, the file is written, and it is confirmed that this file will not be garbled later compared to the test file before backup. Used for. Instead, in this embodiment, when data is written to the storage, the data created at the time of backup from the “file type” (= data to be written by restoration) and the data actually written are compared. Therefore, a file comparison operation is also performed simultaneously with the restore operation.

最後に、その他の操作に関して説明する。ファイルの削除、名前変更、属性変更やディレクトリ作成などの操作は全て通常のファイルシステムと同等に機能する。ただし、ファイルの削除に関しては、ストレージ上からデータを削除する代わりに、ファイルの種を削除する。また、ファイル名の変更に関して、ファイルサイズやファイルの種は変更した名前の影響は受けない。よって、ファイル作成時はファイルサイズやファイルの種などを指定するために特殊な名前を付けるが、作成後は自由なファイル名に変更可能である。   Finally, other operations will be described. Operations such as file deletion, name change, attribute change, and directory creation all function in the same way as a normal file system. However, regarding file deletion, instead of deleting data from the storage, the file type is deleted. In addition, regarding the file name change, the file size and the file type are not affected by the changed name. Thus, when creating a file, a special name is given to specify the file size, file type, etc., but after creation, it can be changed to a free file name.

[構成の説明]
本実施形態の構成について図2を参照して詳細に説明する。図2は、図7と同等の評価を本実施形態で行った場合の構成例となっている。
[Description of configuration]
The configuration of this embodiment will be described in detail with reference to FIG. FIG. 2 shows a configuration example when an evaluation equivalent to FIG. 7 is performed in this embodiment.

評価用マシン20は、評価対象ストレージシステム23に対して評価を行うバックアップソフトウェア22を動作させるコンピュータであり、また本実施形態である仮想ファイルシステム21を動作させるコンピュータでもある。   The evaluation machine 20 is a computer that operates backup software 22 that evaluates the evaluation target storage system 23, and is also a computer that operates the virtual file system 21 according to the present embodiment.

仮想ファイルシステム21は、ランダムデータを生成、検証できる仮想ファイルシステムであり、ファイルシステムアクセス手段210、ファイル作成手段211、データ生成手段212、データ検証手段213、および保存領域215から構成されている。   The virtual file system 21 is a virtual file system that can generate and verify random data, and includes a file system access unit 210, a file creation unit 211, a data generation unit 212, a data verification unit 213, and a storage area 215.

バックアップソフトウェア22は、評価対象ストレージシステム23に対してバックアップおよびリストアを行う評価手段を構成するソフトウェアである。   The backup software 22 is software that constitutes an evaluation unit that performs backup and restore for the evaluation target storage system 23.

評価対象ストレージシステム23は、評価される対象となるストレージシステムである。   The evaluation target storage system 23 is a storage system to be evaluated.

テストファイル作成ソフトウェア25は、テストファイルを作成するソフトウェアである。テストファイル作成ソフトウェア25は、ファイル名を指定してファイルを作成できるソフトウェアなら何でもよい。例えばPOSIXのtouchコマンドなどでよい。   The test file creation software 25 is software for creating a test file. The test file creation software 25 may be any software that can create a file by specifying a file name. For example, the POSIX touch command can be used.

ファイルシステムアクセス手段210は、仮想ファイルシステム21にアクセスするための窓口となる手段である。バックアップソフトウェア22は、ファイルシステムアクセス手段210を通して仮想ファイルシステム21にアクセスする。   The file system access unit 210 is a unit serving as a window for accessing the virtual file system 21. The backup software 22 accesses the virtual file system 21 through the file system access means 210.

ファイル作成手段211は、ファイルシステムアクセス手段210からファイル名を受け取り、対応するファイルの情報(ファイル名、ファイルサイズ、ファイルの種)を作成する手段である。   The file creation unit 211 is a unit that receives a file name from the file system access unit 210 and creates corresponding file information (file name, file size, file type).

データ生成手段212は、ファイルシステムアクセス手段210からファイルの種と、生成するデータのサイズとオフセットとを受け取り、データ生成アルゴリズムを用いてデータを生成し、生成したデータを返却する手段である。   The data generation unit 212 is a unit that receives the file type, the size and offset of the data to be generated from the file system access unit 210, generates data using a data generation algorithm, and returns the generated data.

データ検証手段213は、ファイルシステムアクセス手段210からファイルの種と、データとそのサイズとオフセットを受け取り、データ生成手段212を用いて生成したデータと受け取ったデータとを比較し、比較結果を返却する手段である。   The data verification unit 213 receives the file type, data, its size, and offset from the file system access unit 210, compares the data generated using the data generation unit 212 with the received data, and returns the comparison result. Means.

保存領域215は、ディレクトリ構造やファイルの種、属性、サイズなどを保存しておくための記憶領域である。これは主記憶であっても補助記憶であってもよい。   The storage area 215 is a storage area for storing the directory structure, file type, attribute, size, and the like. This may be main memory or auxiliary memory.

[動作の説明]
次に図3乃至図6を参照して、本実施形態の動作を説明する。なお、図3乃至図6において、図2と同一符号は同一部分を示す。
[Description of operation]
Next, the operation of this embodiment will be described with reference to FIGS. 3 to 6, the same reference numerals as those in FIG. 2 denote the same parts.

最初に、図3を参照してテストファイル作成(仮想ファイルシステムへのファイル作成操作)について詳細に解説する。   First, test file creation (file creation operation in the virtual file system) will be described in detail with reference to FIG.

まず、テストファイル作成ソフトウェア25がファイルシステムアクセス手段210にファイル作成要求を出す(図3のS1)。このとき、作成するファイルのファイル名を渡す。このファイル名には、ファイルサイズとファイルの種の情報とが含まれている。   First, the test file creation software 25 issues a file creation request to the file system access means 210 (S1 in FIG. 3). At this time, the file name of the file to be created is passed. This file name includes file size and file type information.

次に、ファイルシステムアクセス手段210は、受け取ったファイル名をファイル作成手段211に渡す。   Next, the file system access unit 210 passes the received file name to the file creation unit 211.

ファイル作成手段211は、受け取ったファイル名から以下のようにしてファイルサイズとファイルの種を抽出する。ファイル名の先頭から最初のアンダースコア(_)まではファイルのデータの作成方法を表し、次のアンダースコアまではファイルサイズを表す文字列とし、それ以降はファイルの種を表す文字列とする。例えば、ファイル名が「ramdomfile_128GB_12345」ならば、ファイルのデータの作成方法として疑似乱数を用い、ファイルサイズが128GB、ファイルの種は12345となる。これらのファイルの情報をファイルシステムアクセス手段210に返却する。   The file creation unit 211 extracts the file size and the file type from the received file name as follows. From the beginning of the file name to the first underscore (_) represents the creation method of the file data, the next underscore is a character string representing the file size, and the rest is a character string representing the file type. For example, if the file name is “ramdomfile_128GB_12345”, a pseudo random number is used as the file data creation method, the file size is 128 GB, and the file type is 12345. Information on these files is returned to the file system access means 210.

ファイルシステムアクセス手段210は、返却されたファイル情報とファイル名を対応付けて保存領域215に保存する。   The file system access unit 210 associates the returned file information with the file name and stores them in the storage area 215.

ファイルシステムアクセス手段210は、当該ファイルを開く処理を行い、ファイルハンドルをテストファイル作成ソフトウェア25に返却する。ここでのファイルを開く処理とファイルハンドルは、一般的なファイルシステムと同様であるため説明を省略する。   The file system access unit 210 performs processing for opening the file, and returns a file handle to the test file creation software 25. The file opening process and the file handle here are the same as those in a general file system, and thus description thereof is omitted.

テストファイル作成ソフトウェア25は、正常にファイルが作成されたことを確認してファイルを閉じる。通常のファイルシステムではファイル作成時のサイズは0であるが、本実施形態では指定したサイズ(例えば128GB)のファイルが作成されている。ファイルを閉じる処理に関しては、一般的なファイルシステムと同等であるため説明を省略する。   The test file creation software 25 confirms that the file has been created normally and closes the file. In a normal file system, the size at the time of file creation is 0, but in the present embodiment, a file of a specified size (for example, 128 GB) is created. The process for closing the file is the same as that of a general file system, and thus the description thereof is omitted.

次に、図4を参照してバックアップ(仮想ファイルシステムからの読み込み)操作の動作について詳細に説明する。予めバックアップのためのファイルを仮想ファイルシステム21上で開いている(ファイルハンドルを持っている)ことを前提とする。ファイルを開く処理、およびファイルハンドルは通常のファイルシステムと同様である。   Next, a backup (reading from the virtual file system) operation will be described in detail with reference to FIG. It is assumed that a file for backup is previously opened on the virtual file system 21 (having a file handle). The process for opening a file and the file handle are the same as those of a normal file system.

まず、バックアップソフトウェア22がファイルシステムアクセス手段210にデータ読み込み要求を出す(図4のS11)。このとき、読み込みたいデータを識別するため、ファイルハンドル、データのオフセット、データのサイズを渡す。データのオフセットとは、ファイルの先頭から読み込みたいデータまでの長さである。   First, the backup software 22 issues a data read request to the file system access unit 210 (S11 in FIG. 4). At this time, in order to identify the data to be read, the file handle, the data offset, and the data size are passed. Data offset is the length from the beginning of the file to the data you want to read.

次に、ファイルシステムアクセス手段210は、受け取ったファイルハンドルに対応するファイルの情報(ファイルの種、ファイルサイズ)などを保存領域215から読み込む(図4のS12)。   Next, the file system access unit 210 reads the file information (file type, file size) and the like corresponding to the received file handle from the storage area 215 (S12 in FIG. 4).

ファイルシステムアクセス手段210は、読み込んだファイル情報と、バックアップソフトウェア22から受け取ったデータのオフセットとサイズをデータ生成手段212に渡す(図4のS13)。   The file system access unit 210 passes the read file information and the offset and size of the data received from the backup software 22 to the data generation unit 212 (S13 in FIG. 4).

データ生成手段212は、受け取ったファイルの種、オフセット、サイズから、要求されているデータを生成し、ファイルシステムアクセス手段210に返却する。   The data generation unit 212 generates the requested data from the received file type, offset, and size, and returns it to the file system access unit 210.

ファイルシステムアクセス手段210は、返却されたデータをバックアップソフトウェア22に返却する。   The file system access unit 210 returns the returned data to the backup software 22.

バックアップソフトウェア22は、バックアップのために評価対象ストレージシステム23に返却されたデータをテストファイル24として書き込む。   The backup software 22 writes the data returned to the evaluation target storage system 23 for backup as a test file 24.

次に、図5を参照してリストア(仮想ファイルシステムへの書き込み)操作の動作について詳細に説明する。予めリストアのためのファイルを仮想ファイルシステム21上で開いている(ファイルハンドルを持っている)ことを前提とする。   Next, the operation of the restore (write to virtual file system) operation will be described in detail with reference to FIG. It is assumed that a file for restoration is opened in advance on the virtual file system 21 (having a file handle).

まず、バックアップソフトウェア22がリストアのために評価対象ストレージシステム23のテストファイル24からデータを読み込む(図5のS21)。   First, the backup software 22 reads data from the test file 24 of the evaluation target storage system 23 for restoration (S21 in FIG. 5).

次に、バックアップソフトウェア22は、ファイルシステムアクセス手段210に対して、読み込んだデータの書き込み要求を出す(図5のS22)。このとき、ファイルハンドル、書き込みたいデータ、データのオフセット、データのサイズを渡す。   Next, the backup software 22 issues a write request for the read data to the file system access unit 210 (S22 in FIG. 5). At this time, the file handle, the data to be written, the data offset, and the data size are passed.

次に、ファイルシステムアクセス手段210は、受け取ったファイルハンドルに対応するファイルの情報(ファイルの種、ファイルサイズ)などを保存領域215から読み込む(図5のS23)。   Next, the file system access unit 210 reads the file information (file type, file size) and the like corresponding to the received file handle from the storage area 215 (S23 in FIG. 5).

ファイルシステムアクセス手段210は、読み込んだファイル情報と、バックアップソフトウェア22から受け取ったデータとオフセット、サイズをデータ検証手段213に渡す(図5のS24)。   The file system access unit 210 passes the read file information, the data received from the backup software 22, the offset, and the size to the data verification unit 213 (S24 in FIG. 5).

データ検証手段213は、受け取ったファイルの種、オフセット、サイズをデータ生成手段212に渡す(図5のS25)。   The data verification unit 213 passes the received file type, offset, and size to the data generation unit 212 (S25 in FIG. 5).

データ生成手段212は、受け取ったファイルの種、オフセット、サイズからファイルのデータを生成し、データ検証手段213に返却する。   The data generation unit 212 generates file data from the received file type, offset, and size, and returns them to the data verification unit 213.

データ検証手段213は、ファイルシステムアクセス手段210から受け取ったデータと、データ生成手段212から返却されたデータとを比較し、比較結果をファイルシステムアクセス手段210に返却する。   The data verification unit 213 compares the data received from the file system access unit 210 with the data returned from the data generation unit 212, and returns the comparison result to the file system access unit 210.

ファイルシステムアクセス手段210は、返却されたデータをバックアップソフトウェア22に返却する。   The file system access unit 210 returns the returned data to the backup software 22.

バックアップソフトウェア22は、検証結果を書き込みの成功または失敗として受け取るため、検証の結果データが異なる場合、リストアに失敗する。   Since the backup software 22 receives the verification result as writing success or failure, if the verification result data is different, the restoration fails.

続いて、図6を参照して、データの生成について説明する。   Next, data generation will be described with reference to FIG.

図6はファイルの種とブロック、データの関連を表した図である。ここでのブロックはファイルのデータを固定サイズで分割した1つのデータであり、ブロック番号はファイル先頭のブロックを0とした連番で表したブロックの番号である。なお、ファイルのオフセットをブロックのサイズで割ると、商がブロック番号となり、余りが当該ブロックでのオフセットとなる。   FIG. 6 is a diagram showing the relationship between file types, blocks, and data. Here, the block is a piece of data obtained by dividing the file data at a fixed size, and the block number is a block number represented by a serial number with the first block of the file being 0. When the file offset is divided by the block size, the quotient becomes the block number, and the remainder becomes the offset in the block.

ブロックの種は、ファイルの種とブロック番号から非再帰的擬似乱数生成アルゴリズムを用いて計算される。例えば、ブロックの種612は、ファイルの種61とブロック番号(ここでは2)から計算される。   The block seed is calculated from the file seed and block number using a non-recursive pseudorandom number generation algorithm. For example, the block seed 612 is calculated from the file seed 61 and the block number (here 2).

ブロックのデータはブロックの種から高速な擬似乱数アルゴリズムである再帰的疑似乱数生成アルゴリズムを用いて計算される。   The block data is calculated from the seed of the block using a recursive pseudo random number generation algorithm which is a high speed pseudo random number algorithm.

[効果の説明]
本実施形態の効果について説明する。
[Description of effects]
The effect of this embodiment will be described.

第1の効果は、テストファイルのデータを保存するストレージが不要となることにある。その理由は、ファイルはファイルの種のみを保持し、データは保存せず、必要に応じてファイルの種から生成するためである。このように、ファイルのデータを保存する必要がないため、巨大なテストファイルのデータを保存するための高価な高性能ストレージが不要となる。   The first effect is that a storage for storing test file data becomes unnecessary. The reason is that the file holds only the file type, does not store the data, and is generated from the file type as needed. Thus, since it is not necessary to store file data, expensive high-performance storage for storing huge test file data becomes unnecessary.

第2の効果は、テストファイルの作成に必要な時間が大幅に短縮できることにある。その理由は、ファイル作成時、ファイル名からファイルの種のみを抽出して保存し、データ自体は作成せず、データをストレージに書き込まないからである。   The second effect is that the time required for creating the test file can be greatly shortened. The reason is that when creating a file, only the file type is extracted from the file name and saved, the data itself is not created, and the data is not written to the storage.

第3の効果は、高速な読み込み/書き込みが可能であり、高速なアクセスが必要な場合でも、高速(かつ高価)なストレージが不要となることである。その理由は、データをストレージ上に保存せず、また、データ生成の計算コストが十分小さく、データを高速に生成できるからである。   The third effect is that high-speed reading / writing is possible, and high-speed (and expensive) storage is not required even when high-speed access is required. This is because the data is not stored on the storage, the calculation cost for generating the data is sufficiently low, and the data can be generated at high speed.

第4の効果は、ストレージシステムのリストア評価において、リストア後のテストファイルの比較作業が不要となることである。その理由はリストア時、本実施形態の仮想ファイルシステムへデータを書き込んだ時点でデータが化けていないか確認が行われるためである。   The fourth effect is that the comparison operation of the test file after the restoration is not necessary in the restoration evaluation of the storage system. The reason is that at the time of restoration, it is confirmed whether or not the data is garbled when data is written to the virtual file system of this embodiment.

[他の実施形態]
本発明は上述した実施形態にのみ限定されず、以下に例示するような各種の付加変更が可能である。
[Other embodiments]
The present invention is not limited to the above-described embodiments, and various additions and modifications as exemplified below are possible.

データの生成のその他の実施形態として、擬似乱数を用いてランダムデータを生成するときに、「ファイルの種」として擬似乱数の種だけでなく、「ファイルの圧縮可能比率」や「ファイルの重複排除比率」などを指定するようにしてもよい。本来、擬似乱数のデータはほとんど圧縮できないが、ブロックを生成する場合に全てをランダムデータで埋めるのではなく、圧縮可能比率に従ってゼロで埋められたデータなどを混ぜることで、指定した圧縮率でファイルを圧縮できるようなデータを生成できる。また、重複排除比率に従って、他のブロックと同じデータを持つブロックを混ぜることで、指定した重複排除率で重複排除できるデータを生成できる。これらは、特に圧縮や重複排除などの機能を持つ高機能ストレージシステムの評価に有効である。   As another embodiment of data generation, when generating random data using pseudo-random numbers, not only pseudo-random seeds as “file seeds” but also “file compressibility ratio” or “file deduplication” “Ratio” or the like may be designated. Originally, pseudo-random data can hardly be compressed, but when creating a block, the data is not filled with random data, but mixed with data padded with zeros according to the compressible ratio, and the file with the specified compression rate Can be generated. Further, by mixing blocks having the same data as other blocks in accordance with the deduplication ratio, data that can be deduplicated at a specified deduplication rate can be generated. These are particularly effective for evaluating high-function storage systems having functions such as compression and deduplication.

データの生成の実施形態として、ランダムデータを作成する方法を説明したが、ある種のデータフォーマット(たとえば、画像ファイル、文章ファイル、メールデータなど)を再現するようなテストファイルを作成するアルゴリズムを用いることもできる。画像ファイルの例として、ファイルの種から再現性のある図形を描画し、その画像を画像データフォーマットにしたがって作成するアルゴリズムが考えられる。また、そのほかの例として、文章ファイルの例として、ファイルの種から生成した乱数列に、各種言語用の文字列辞書などから乱数に対応する文字列を取り出して連結するアルゴリズムが考えられる。これらはストレージシステムの実際の利用方法に則した評価に有効である。   Although the method of generating random data has been described as an embodiment of data generation, an algorithm for generating a test file that reproduces a certain data format (for example, an image file, a text file, mail data, etc.) is used. You can also. As an example of an image file, an algorithm for drawing a reproducible figure from a file type and creating the image in accordance with an image data format can be considered. As another example, as an example of a text file, an algorithm for extracting and concatenating a character string corresponding to a random number from a character string dictionary for various languages or the like to a random number sequence generated from a file seed can be considered. These are effective for evaluation according to the actual usage of the storage system.

上記のように複数のファイル作成アルゴリズムが考えられる場合、ファイル名の先頭にあるデータ作成方法を識別するための文字列(前述の実施形態では「randomfile」)を用いてアルゴリズムをファイル作成時に選択できる。例えば、圧縮可能な乱数ファイルに対して「compressableramdomfile」、png画像ファイルに対して「pngfile」などである。また、ファイルの拡張子を利用できるシステムでは、ファイル拡張子を用いてアルゴリズム選択できる。例えば、文章ファイルに対して「.txt」などである。   When multiple file creation algorithms are possible as described above, an algorithm can be selected at the time of file creation using a character string ("randomfile" in the above-described embodiment) for identifying the data creation method at the beginning of the file name. . For example, “compressableramdomfile” for a compressible random number file, “pngfile” for a png image file, and the like. In a system that can use the file extension, an algorithm can be selected using the file extension. For example, “.txt” for a text file.

ファイルの作成のその他の実施形態として、ファイル作成手段がファイル名からファイルの種などを抽出するのではなく、ファイルに特殊なデータが書き込まれた場合にファイルの種を設定する方法でもよい。例えば、ファイルの先頭に「randomfile: size=128GB, seed=12345」という内容のデータが書き込まれると、そのファイルのサイズが128GB、種が12345に変更される。この方式では作成時のファイル名に依存せずにファイルサイズやファイルの種を設定できるという利点がある。   As another embodiment of the file creation, a method may be used in which the file creation means does not extract the file type or the like from the file name but sets the file type when special data is written in the file. For example, when data with the content “randomfile: size = 128 GB, seed = 12345” is written at the beginning of the file, the size of the file is changed to 128 GB and the seed is changed to 12345. This method has the advantage that the file size and file type can be set without depending on the file name at the time of creation.

ファイルの作成のその他の実施形態として、作成するファイルの数をファイル名に指定することも考えられる。例えば、「randomfile_128GB_12345_15000」というファイルを作成すると、「randomfile_128GB_12345_00001」から「randomfile_128GB_12345_15000」までの15000個のファイルが作成される。これは、数万ファイルなど多数のファイルを作成する場合で、個々のファイルに細かいパラメータ(ファイルサイズや種)を指定する必要がない場合に、ファイルシステムのファイル作成操作を1回しか呼び出す必要がなくなるという利点がある。   As another embodiment of creating a file, it may be possible to specify the number of files to be created as a file name. For example, when a file “randomfile_128GB_12345_15000” is created, 15000 files from “randomfile_128GB_12345_00001” to “randomfile_128GB_12345_15000” are created. This is the case when creating many files such as tens of thousands of files, and when it is not necessary to specify detailed parameters (file size and seed) for each file, it is necessary to call the file system file creation operation only once. There is an advantage of disappearing.

ファイルの作成のその他の実施形態として、特定の名前でディレクトリを作成すると、特定のディレクトリ構造を再現する例が考えられる。例えば、「maildir_1000_200」というディレクトリを作成すると、その中に自動的に「Inbox」、「Sent」というディレクトリを作成し、それぞれのディレクトリ内に、メール内容を模したテキストファイルが「Inbox」に1000個、「Sent」に200個作成される。これは、特定のシステムが使用するデータファイル群(の擬似ファイル)を一度に生成することができるという利点がある。   As another embodiment of creating a file, an example of reproducing a specific directory structure by creating a directory with a specific name can be considered. For example, when a directory called “maildir_1000_200” is created, directories “Inbox” and “Sent” are automatically created in it, and 1000 text files simulating the contents of the mail in each directory are created in “Inbox”. , "Sent" is created 200 pieces. This has an advantage that a data file group (a pseudo file) used by a specific system can be generated at a time.

ファイル名の変更時に関して、上記実施形態では通常のファイルシステムと同様と説明している。これはファイル名を変更しても、ファイル情報(ファイルサイズやファイルの種)は変更されることなく保持されることを意味する。しかし、他の実施形態として、ファイル名の変更において、ファイル作成手段を再度呼び出し、ファイル情報を新しいファイル名に適合するように変更することも考えられる。この場合、例えば「randomfile_128GB_12345」というファイル(ファイルサイズ128GB、ファイルの種12345)を「randomfile_256GB_67890」という名前に変更すると、ファイルサイズが256GB、ファイルの種が67890に自動的に変更される。   Regarding the change of the file name, the above embodiment has been described as being the same as the normal file system. This means that even if the file name is changed, the file information (file size and file type) is retained without being changed. However, as another embodiment, in changing the file name, it is conceivable to call the file creation unit again and change the file information so as to match the new file name. In this case, for example, when the file “randomfile_128GB_12345” (file size 128 GB, file type 12345) is changed to the name “randomfile_256GB_67890”, the file size is automatically changed to 256 GB and the file type is changed to 67890.

リストア(ファイルシステムへの書き込み)操作に関するその他の実施形態として、データの比較などの作業を行わず、受け取ったデータを単にそのまま破棄して書き込み成功を返却することが考えられる。これは、評価対象ストレージシステムからの読み込み性能を測定したい場合など、比較作業が不要で、より性能が求められる場合に利用できる。   As another embodiment relating to the restore (write to the file system) operation, it is conceivable that the received data is simply discarded as it is and the write success is returned without performing operations such as data comparison. This can be used when a comparison operation is unnecessary and more performance is required, such as when reading performance from an evaluation target storage system is desired.

本発明によれば、ストレージシステムおよびバックアップソフトウェアの評価といった用途に適用できる。   The present invention can be applied to uses such as evaluation of storage systems and backup software.

10…仮想ファイルシステム
11…記憶手段
12…ファイルシステムアクセス手段
13…データ生成手段
DESCRIPTION OF SYMBOLS 10 ... Virtual file system 11 ... Storage means 12 ... File system access means 13 ... Data generation means

Claims (6)

ファイルの種を記憶する記憶手段と、
前記ファイルの種から疑似乱数生成アルゴリズムを使用してファイルのデータを生成するデータ生成手段と、
ファイルに対する読み込み要求を受け付け、前記データ生成手段で生成されたデータを含むアクセス応答を返却するファイルシステムアクセス手段と
を備え
前記データ生成手段は、
前記読み込み要求で指定されるオフセットと固定長のブロックサイズとからアクセス対象となるファイルブロックの番号とブロック内オフセットとを算出し、
前記ファイルの種と前記ファイルブロックの番号とから非再帰的疑似乱数生成アルゴリズムを使用して前記ファイルブロックに対応するブロックの種を生成し、
前記ブロックの種から再帰的疑似乱数生成アルゴリズムを使用して前記ファイルブロックのデータを生成し、
前記生成した前記ファイルブロックのデータのうち前記ブロック内オフセットと前記読み込み要求で指定されるデータサイズとで定まるデータをアクセス対象となるデータとして生成する
想ファイルシステム。
Storage means for storing the file type;
Data generation means for generating file data using a pseudo-random number generation algorithm from the file seed;
A file system access unit that receives a read request for a file and returns an access response including the data generated by the data generation unit ;
The data generation means includes
The file block number to be accessed and the offset in the block are calculated from the offset specified in the read request and the fixed-length block size,
Generating a block seed corresponding to the file block using a non-recursive pseudo-random number generation algorithm from the file seed and the file block number;
Generating data for the file block from the seed of the block using a recursive pseudo-random number generation algorithm;
Of the data of the generated file block, data determined by the offset in the block and the data size specified by the read request is generated as data to be accessed.
Virtual file system.
前記データ生成手段で生成されたアクセス対象となるデータと書き込みデータとを比較するデータ検証手段を備え、
前記ファイルシステムアクセス手段は、前記ファイルの先頭からのオフセットとデータサイズと書き込みデータとを指定した前記ファイルに対する書き込み要求を受け付け、前記データ検証手段による比較結果を含むアクセス応答を返却する
ことを特徴とする請求項に記載の仮想ファイルシステム。
A data verification unit that compares the data to be accessed generated by the data generation unit with the write data;
The file system access means receives a write request for the file that specifies an offset from the head of the file, a data size, and write data, and returns an access response including a comparison result by the data verification means. The virtual file system according to claim 1 .
ファイル名からファイルの種を抽出して前記記憶手段に記憶するファイル作成手段
を備えることを特徴とする請求項1または2に記載の仮想ファイルシステム。
Virtual file system of claim 1 or 2, characterized in that it comprises a file creating means for storing in said memory means from the file name to extract the files species.
前記ファイルの種はファイル名に対応して前記記憶手段に記憶されている
ことを特徴とする請求項1乃至の何れかに記載の仮想ファイルシステム。
Virtual file system according to any one of claims 1 to 3 wherein the file species, characterized in that stored in the storage means corresponding to the file name.
ファイルの種を記憶する記憶手段と、データ生成手段と、ファイルシステムアクセス手段とを有するコンピュータが実行する仮想ファイル方法であって、
前記データ生成手段が、前記ファイルの種から疑似乱数生成アルゴリズムを使用してファイルのデータを生成し、
前記ファイルシステムアクセス手段が、ファイルに対する読み込み要求を受け付け、前記生成されたデータを含むアクセス応答を返却し、
前記ファイルのデータの生成では、前記データ生成手段が、前記読み込み要求で指定されるオフセットと固定長のブロックサイズとからアクセス対象となるファイルブロックの番号とブロック内オフセットとを算出し、前記ファイルの種と前記ファイルブロックの番号とから非再帰的疑似乱数生成アルゴリズムを使用して前記ファイルブロックに対応するブロックの種を生成し、前記ブロックの種から再帰的疑似乱数生成アルゴリズムを使用して前記ファイルブロックのデータを生成し、前記生成した前記ファイルブロックのデータのうち前記ブロック内オフセットと前記読み込み要求で指定されるデータサイズとで定まるデータをアクセス対象となるデータとして生成する
想ファイル方法。
A virtual file method executed by a computer having storage means for storing a file type, data generation means, and file system access means,
The data generation means generates file data using a pseudo-random number generation algorithm from the file seed,
The file system access means accepts a read request for a file, returns an access response including the generated data ,
In generating the data of the file, the data generating means calculates the number of the file block to be accessed and the offset within the block from the offset specified in the read request and the fixed-length block size, and the file A non-recursive pseudo-random number generation algorithm is used to generate a block seed corresponding to the file block from the seed and the file block number, and the file is generated from the block seed using a recursive pseudo-random number generation algorithm. Block data is generated, and data determined by the offset in the block and the data size specified by the read request is generated as data to be accessed among the generated data of the file block.
Virtual file method.
ファイルの種を記憶する記憶手段、データ生成手段、データ検証手段、およびファイルシステムアクセス手段を有する仮想ファイルシステムと、該仮想ファイルシステムを使用してストレージの評価を行う評価手段とを有するコンピュータが実行するストレージ評価方法であって、
前記評価手段が、前記仮想ファイルシステムに対して読み込み要求を送信し、
前記仮想ファイルシステムの前記データ生成手段が、前記ファイルの種から疑似乱数生成アルゴリズムを使用してファイルのデータを生成し、
前記仮想ファイルシステムの前記ファイルシステムアクセス手段が、前記データ生成手段によって生成されたデータを含むアクセス応答を前記評価手段に返却し、
前記評価手段が、前記アクセス応答に含まれるデータを前記ストレージにバックアップし、
前記評価手段が、前記ストレージにバックアップされたデータを読み出し、
前記評価手段が、前記読み出したデータをリストアするために前記仮想ファイルシステムに書き込み要求を送信し、
前記仮想ファイルシステムの前記データ生成手段が、前記ファイルの種から疑似乱数生成アルゴリズムを使用してファイルのデータを生成し、
前記仮想ファイルシステムの前記データ検証手段が、前記データ生成手段で生成されたデータと前記書き込み要求に含まれるデータとを比較し、
前記仮想ファイルシステムの前記ファイルシステムアクセス手段が、前記比較結果を含む応答を前記評価手段に返却し、
前記ファイルのデータの生成では、前記データ生成手段が、前記読み込み要求で指定されるオフセットと固定長のブロックサイズとからアクセス対象となるファイルブロックの番号とブロック内オフセットとを算出し、前記ファイルの種と前記ファイルブロックの番号とから非再帰的疑似乱数生成アルゴリズムを使用して前記ファイルブロックに対応するブロックの種を生成し、前記ブロックの種から再帰的疑似乱数生成アルゴリズムを使用して前記ファイルブロックのデータを生成し、前記生成した前記ファイルブロックのデータのうち前記ブロック内オフセットと前記読み込み要求で指定されるデータサイズとで定まるデータをアクセス対象となるデータとして生成する
トレージ評価方法。
Executed by a computer having a virtual file system having storage means for storing file types, data generation means, data verification means, and file system access means, and evaluation means for evaluating storage using the virtual file system Storage evaluation method,
The evaluation means sends a read request to the virtual file system;
The data generation means of the virtual file system generates file data using a pseudo-random number generation algorithm from the file seed,
The file system access means of the virtual file system returns an access response including the data generated by the data generation means to the evaluation means;
The evaluation means backs up data included in the access response to the storage,
The evaluation means reads the data backed up in the storage,
The evaluator sends a write request to the virtual file system to restore the read data;
The data generation means of the virtual file system generates file data using a pseudo-random number generation algorithm from the file seed,
The data verification unit of the virtual file system compares the data generated by the data generation unit with the data included in the write request;
The file system access unit of the virtual file system returns a response including the comparison result to the evaluation unit ,
In generating the data of the file, the data generating means calculates the number of the file block to be accessed and the offset within the block from the offset specified in the read request and the fixed-length block size, and the file A non-recursive pseudo-random number generation algorithm is used to generate a block seed corresponding to the file block from the seed and the file block number, and the file is generated from the block seed using a recursive pseudo-random number generation algorithm. Block data is generated, and data determined by the offset in the block and the data size specified by the read request is generated as data to be accessed among the generated data of the file block.
Storage evaluation method.
JP2011031611A 2011-02-17 2011-02-17 Virtual file system Expired - Fee Related JP5664318B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011031611A JP5664318B2 (en) 2011-02-17 2011-02-17 Virtual file system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011031611A JP5664318B2 (en) 2011-02-17 2011-02-17 Virtual file system

Publications (2)

Publication Number Publication Date
JP2012168906A JP2012168906A (en) 2012-09-06
JP5664318B2 true JP5664318B2 (en) 2015-02-04

Family

ID=46972970

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011031611A Expired - Fee Related JP5664318B2 (en) 2011-02-17 2011-02-17 Virtual file system

Country Status (1)

Country Link
JP (1) JP5664318B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6295742B2 (en) * 2014-03-13 2018-03-20 日本電気株式会社 Storage system
US10321167B1 (en) 2016-01-21 2019-06-11 GrayMeta, Inc. Method and system for determining media file identifiers and likelihood of media file relationships
US10719492B1 (en) 2016-12-07 2020-07-21 GrayMeta, Inc. Automatic reconciliation and consolidation of disparate repositories
JP2020030707A (en) * 2018-08-24 2020-02-27 富士通株式会社 Information processor, information processing program, information processing method, and information processing system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4019A (en) * 1845-05-01 Pianoforte
JP2602983B2 (en) * 1990-08-08 1997-04-23 株式会社ピーエフユー Diagnostic system
JP2001256076A (en) * 2000-03-08 2001-09-21 Ricoh Co Ltd Device and method for generating test data and recording medium

Also Published As

Publication number Publication date
JP2012168906A (en) 2012-09-06

Similar Documents

Publication Publication Date Title
US20200341867A1 (en) Method and apparatus for restoring data from snapshots
CN104978151B (en) Data reconstruction method in the data de-duplication storage system perceived based on application
US9501365B2 (en) Cloud-based disaster recovery of backup data and metadata
KR100622801B1 (en) Rapid restoration of file system usage in very large file systems
EP3101545B1 (en) System and method for generating backups of a protected system from a recovery system
US11093387B1 (en) Garbage collection based on transmission object models
WO2012170235A2 (en) Storage architecture for backup application
US8977662B1 (en) Storing data objects from a flat namespace in a hierarchical directory structured file system
US10467197B2 (en) Creating a universally deduplicatable archive volume
CN104077380A (en) Method and device for deleting duplicated data and system
CN109710185A (en) Data processing method and device
US20200364239A1 (en) Asynchronous replication of in-scope table data
CN105302665B (en) A kind of improved Copy on write Snapshot Method and system
JP5664318B2 (en) Virtual file system
JP4755244B2 (en) Information generation method, information generation program, and information generation apparatus
CN112612576B (en) Virtual machine backup method and device, electronic equipment and storage medium
US20110184909A1 (en) Method and apparatus for random access of data stored in a sequential manner
CN104965835B (en) A kind of file read/write method and device of distributed file system
US10409693B1 (en) Object storage in stripe file systems
CN109196478A (en) Fault-tolerant Enterprise Object storage system for small object
EP3991045A1 (en) Snapshots for any point in time replication
CN105095352B (en) Data processing method and device applied to distributed system
JP7399929B2 (en) Information processing system, information processing method, and program
JP5972455B2 (en) How to delete information
JP5718974B2 (en) Information processing apparatus, information processing method, and information processing program

Legal Events

Date Code Title Description
RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20120719

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140729

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140925

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: 20141111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141124

R150 Certificate of patent or registration of utility model

Ref document number: 5664318

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees