JPWO2013108745A1 - Storage device, control method thereof, and program - Google Patents
Storage device, control method thereof, and program Download PDFInfo
- Publication number
- JPWO2013108745A1 JPWO2013108745A1 JP2013554289A JP2013554289A JPWO2013108745A1 JP WO2013108745 A1 JPWO2013108745 A1 JP WO2013108745A1 JP 2013554289 A JP2013554289 A JP 2013554289A JP 2013554289 A JP2013554289 A JP 2013554289A JP WO2013108745 A1 JPWO2013108745 A1 JP WO2013108745A1
- Authority
- JP
- Japan
- Prior art keywords
- search
- data
- storage
- random number
- pseudo
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
Abstract
ストレージ装置内に格納されるデータが増えるほど、ユーザが所望するデータを検索することが困難となる。従って、未知のバイナリデータであっても、類似検索対象とすることができるストレージ装置が、望まれる。重複するファイルデータの格納を排除する重複排除制御部と、格納対象ファイルデータに基づく擬似乱数を索引語として格納する索引語格納部と、検索対象ファイルデータを取得する検索インターフェース部と、検索対象ファイルデータを分割して、検索チャンクデータ列を生成する検索チャンクデータ生成部と、検索チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する検索擬似乱数部と、擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索部と、を備えることを特徴とするストレージ装置が、提供される。(図1) The more data stored in the storage device, the more difficult it is for the user to search for the desired data. Therefore, a storage device that can be a similar search target even for unknown binary data is desired. Deduplication control unit that eliminates storage of duplicate file data, an index word storage unit that stores pseudo-random numbers based on the storage target file data as index terms, a search interface unit that acquires search target file data, and a search target file A search chunk data generation unit that divides data and generates a search chunk data sequence, a search pseudo random number unit that calculates a pseudo random number based on each chunk data in the search chunk data sequence, and a pseudo random number as a search term And a similarity search unit that extracts all index terms that satisfy the similarity criterion. (Figure 1)
Description
[関連出願についての記載]
本発明は、日本国特許出願:特願2012−006566号(2012年1月16日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、ストレージ装置、その制御方法、及びプログラムに関する。特に検索対象ファイルデータに類似する複数のファイルのパスを検索結果とする検索システム、その制御方法、及びプログラムに関する。[Description of related applications]
The present invention is based on the priority claim of Japanese patent application: Japanese Patent Application No. 2012-006566 (filed on January 16, 2012), the entire description of which is incorporated herein by reference. Shall.
The present invention relates to a storage apparatus, a control method thereof, and a program. In particular, the present invention relates to a search system that uses a plurality of file paths similar to search target file data as search results, a control method thereof, and a program.
ストレージ装置にデータを格納する際に、既に格納されているデータとの重複確認をすることは有用である。このような重複排除型ストレージ装置は、データの保存コストを低減する技術として、多数のシステムにおいて、活用が進んでいる。 When storing data in a storage device, it is useful to check for duplication with data already stored. Such a deduplication storage apparatus is being used in many systems as a technique for reducing data storage costs.
ここで、特許文献1において、ストレージ装置に重複排除処理を集中させることにより、高速にデータの書き込みをできる技術が開示されている。 Here, Japanese Patent Application Laid-Open No. 2004-228620 discloses a technique that can write data at high speed by concentrating deduplication processing on a storage device.
なお、上記先行技術文献の開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明の観点からなされたものである。 The disclosure of the above prior art document is incorporated herein by reference. The following analysis has been made from the viewpoint of the present invention.
上述のとおり、重複排除機能を備えるストレージ装置は、物理的な記憶容量を削減することができる。従って、ストレージ装置は、重複排除機能を備えることによって、膨大なデータを格納することができるようになる。しかし、ストレージ装置内に格納されるデータが増えるほど、ユーザが所望するデータを検索することが困難となる。 As described above, a storage apparatus having a deduplication function can reduce physical storage capacity. Therefore, the storage apparatus can store a large amount of data by providing the deduplication function. However, the more data stored in the storage device, the more difficult it is for the user to search for the desired data.
特許文献1では、ストレージ装置の重複排除技術が開示されている。しかし、特許文献1では、ストレージ装置内に格納されたデータから、所望するデータを抽出する技術は開示されていない。
ここで、検索用の索引語を予め作成することは、検索条件に類似するデータを抽出する上で有用な方法である。しかし、検索用の索引語作成にあたって、検索対象のファイルデータについての事前情報が必要となる。ファイルデータについての事前情報を抽出するには、様々な方法がある。例えば、文書データに対しては、検索用のインデックス作成のために、文書データから単語を抽出する方法がある。また、画像データに対しては、検索用のインデックス作成のために、画像データから色、形状を抽出する方法がある。 Here, creating an index word for search in advance is a useful method for extracting data similar to a search condition. However, prior information about file data to be searched is required when creating an index word for search. There are various methods for extracting prior information about file data. For example, for document data, there is a method of extracting words from document data in order to create a search index. For image data, there is a method of extracting colors and shapes from image data in order to create a search index.
しかし、ファイルデータのフォーマットが分からず、ファイルデータについての事前情報を抽出できない場合もある。そのため、ストレージ装置に格納されたデータを検索する際には、検索条件とするファイルデータの種類を限定する必要が生じている。 However, there are cases where the file data format is unknown and prior information about the file data cannot be extracted. For this reason, when searching for data stored in the storage device, it is necessary to limit the types of file data used as search conditions.
従って、未知のバイナリデータであっても、類似検索対象とすることができるストレージ装置、その制御方法、及びプログラムが、提供される。 Therefore, a storage device, a control method thereof, and a program that can be used as a similar search target even for unknown binary data are provided.
本発明の第1の視点によれば、重複するファイルデータの格納を排除する重複排除制御部と、格納対象ファイルデータに基づく擬似乱数を索引語として格納する索引語格納部と、検索対象ファイルデータを取得する検索インターフェース部と、検索対象ファイルデータを分割して、検索チャンクデータ列を生成する検索チャンクデータ生成部と、前記検索チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する検索擬似乱数部と、前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索部と、を備えるストレージ装置が、提供される。 According to a first aspect of the present invention, a deduplication control unit that eliminates storage of duplicate file data, an index word storage unit that stores pseudo random numbers based on the storage target file data as index terms, and search target file data The search interface unit for acquiring the search target file data, the search chunk data generation unit for generating the search chunk data sequence by dividing the search target file data, and the pseudo random numbers are calculated based on the respective chunk data in the search chunk data sequence A storage device is provided that includes a search pseudorandom number section and a similar search section that extracts all index words that satisfy the similarity criterion using the pseudorandom number as a search word.
本発明の第2の視点によれば、重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置の制御方法であって、前記ファイルデータを分割して、チャンクデータ列を生成するチャンクデータ生成工程と、前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数生成工程と、前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索工程と、を含むストレージ装置の制御方法が、提供される。
なお、本方法は、上記したストレージ装置を構成するコンピュータというハードウェアを用いて、実施可能である。According to a second aspect of the present invention, there is provided a storage apparatus control method comprising: a deduplication control unit that eliminates storage of duplicate file data; and a search interface unit that acquires file data. A chunk data generation step of generating a chunk data sequence, a pseudo random number generation step of calculating a pseudo random number based on each chunk data in the chunk data sequence, and the pseudo random number as a search term A storage device control method including a similar search step for extracting all index terms satisfying a criterion is provided.
Note that this method can be implemented using hardware called a computer that constitutes the storage apparatus described above.
本発明の第3の視点によれば、重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置の制御するコンピュータに実行させるプログラムであって、前記ファイルデータを分割して、チャンクデータ列を生成するチャンクデータ生成処理と、前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数算出処理と、前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索処理と、を実行するプログラムが、提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non−transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。According to a third aspect of the present invention, there is provided a program that is executed by a computer controlled by a storage device that includes a deduplication control unit that eliminates storage of duplicate file data and a search interface unit that acquires file data. The chunk data generation process for dividing the file data to generate a chunk data string, the pseudo random number calculation process for calculating a pseudo random number based on each chunk data in the chunk data string, and the pseudo random number A program that executes a similar search process for extracting all index terms that satisfy the similarity criterion as a search term is provided.
This program can be recorded on a computer-readable storage medium. The storage medium can be non-transient such as a semiconductor memory, a hard disk, a magnetic recording medium, an optical recording medium, or the like. The present invention can also be embodied as a computer program product.
本発明の各視点によれば、未知のバイナリデータであっても、類似検索対象とすることができるストレージ装置、その制御方法、及びプログラムが提供される。 According to each aspect of the present invention, there are provided a storage apparatus, a control method thereof, and a program that can be subjected to similar search even for unknown binary data.
初めに、図1を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図したものではない。 First, an outline of an embodiment will be described with reference to FIG. Note that the reference numerals of the drawings attached to this summary are attached to the respective elements for convenience as an example for facilitating understanding, and are not intended to limit the present invention to the illustrated embodiment.
上述のように、類似するファイルデータを検索するために、ファイルデータに関する事前情報が必要となる場合がある。しかし、フォーマットが分からず、ファイルデータに関する事前情報を抽出できない場合もある。そのため、ストレージ装置の検索機能は、検索条件とできるファイルデータの種類を限定している。従って、未知のバイナリデータであっても、類似検索対象とすることができるストレージ装置、その制御方法、及びプログラムが、望まれる。 As described above, in order to search for similar file data, prior information regarding the file data may be required. However, there are cases where the format is unknown and prior information about file data cannot be extracted. Therefore, the search function of the storage device limits the types of file data that can be used as search conditions. Therefore, a storage device, a control method thereof, and a program that can be a similar search target even for unknown binary data is desired.
そこで、一例として図1に示すストレージ装置1を提供する。図1に示すストレージ装置1は、重複するファイルデータの格納を排除する重複排除制御部と、格納対象ファイルデータに基づく擬似乱数を索引語として格納する索引語格納部と、検索対象ファイルデータを取得する検索インターフェース部と、検索対象ファイルデータを分割して、検索チャンクデータ列を生成する検索チャンクデータ生成部と、検索チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する検索擬似乱数部と、擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索部と、を備える。
Accordingly, the
まず、ストレージ装置1は、重複排除制御部20を備えている。重複排除制御部20は、2つの機能を有する。第1の機能は、重複するファイルデータの格納を排除する処理を行なうことである。第2の機能は、検索処理のための索引語を生成する処理を行なうことである。
First, the
また、ストレージ装置1は、検索インターフェース部11を備えている。検索インターフェース部11は、検索対象ファイルデータを取得する。ここで、検索対象ファイルデータは、外部から検索条件として指定されるファイルデータである。
The
さらに、ストレージ装置1は、検索チャンクデータ生成部12を備えている。検索チャンクデータ生成部12は、ファイルデータを複数のブロックデータ(以下、チャンクデータ)に分割する。チャンクデータとは、分割後のデータの塊のことである。従って、検索チャンクデータ生成部12は、ファイルデータのチャンクデータ列を生成することができる。
Furthermore, the
そして、ストレージ装置1は、検索擬似乱数部13を備えている。検索擬似乱数部13は、擬似乱数生成法により、ファイルデータのチャンクデータの擬似乱数を算出する。
The
擬似乱数とは、乱数のように見えるが、実際には、確定的な計算によって求めている数列をいう。真の乱数は、本来、規則性も再現性もない数列である。一方、擬似乱数は、計算によって作り、再現性のある数列である。また擬似乱数生成法とは、擬似乱数を生成するアルゴリズムを意味する。 A pseudo-random number is a number sequence that looks like a random number but is actually obtained by deterministic calculation. A true random number is a sequence of numbers that is neither regular nor reproducible. On the other hand, the pseudo-random number is a reproducible number sequence created by calculation. The pseudo random number generation method means an algorithm for generating pseudo random numbers.
ここで、ストレージ装置1は、全てのファイルデータに対して、同一の擬似乱数生成法を用いる。なお、擬似乱数生成法は、SHA1(Secure Hash Algorithm 1)や、MD5(Message Digest 5)等、各種存在するがその方式は問わない。ただし、擬似乱数の衝突が発生しにくいアルゴリズムを選択することが好ましい。
Here, the
さらに、ストレージ装置1は、類似検索部14を備えている。類似検索部14は、検索語として、検索擬似乱数部13で生成される擬似乱数を用いる。この擬似乱数は、ファイルデータに関する事前情報に依存していない。
Furthermore, the
次に、ストレージ装置1は、索引語格納部30を備えている。索引語格納部30は、索引語を格納する。ここで、索引語は、格納対象ファイルデータに基づく擬似乱数を含むものとする。
Next, the
ここで、重複排除制御部20は、ファイルデータに基づく擬似乱数を索引語として登録する。まず、重複排除制御部20は、検索チャンクデータ生成部12と同一の方法で、格納対象ファイルデータのチャンクデータを生成する。そして、重複排除制御部20は、検索擬似乱数部13と同一の擬似乱数生成法により、擬似乱数を算出する。なお、重複排除制御部20で生成される擬似乱数についても、ファイルデータに関する事前情報に依存していない。
Here, the
そして、類似検索部14は、検索語に含まれる擬似乱数と、索引語に含まれる擬似乱数を照合し、類似基準を満たす全ての索引語を抽出する。
And the
以上より、ストレージ装置1は、擬似乱数によって、データに固有の特徴量を取得することができる。かつ、チャンクデータの擬似乱数の比較によって、データの一部が合致するか否かを、ストレージ装置1は判断できる。
As described above, the
従って、未知のバイナリデータであっても、類似検索対象とすることができるストレージ装置、その制御方法、及びプログラムを提供できる。 Therefore, it is possible to provide a storage apparatus, a control method thereof, and a program that can be a similar search target even for unknown binary data.
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。 Hereinafter, specific embodiments will be described in more detail with reference to the drawings.
[第1の実施形態]
本発明の第1の実施形態について、図面を用いてより詳細に説明する。[First Embodiment]
The first embodiment of the present invention will be described in more detail with reference to the drawings.
図2は、本実施形態に係るストレージ装置1を導入したシステム構成の一例である。
FIG. 2 is an example of a system configuration in which the
ストレージ装置1を導入したシステムは、ストレージ装置1、データ格納クライアント2、検索クライアント3より構成される。そして、ストレージ装置1、及びデータ格納クライアント2、及び検索クライアント3はネットワークを介して接続されている。ネットワークは、NFS(Network File System)や、CIFS(Common Internet File System)等の業界標準のプロトコルを用いて実現する。また、プロトコルの方式は問わない。
A system in which the
ここで、データ格納クライアント2は、ストレージ装置1へのデータの読み書きの要求を発行する。つまり、データ格納クライアント2は、ストレージ装置1に格納されているデータに対するアクセス要求を発行する。
Here, the data storage client 2 issues a data read / write request to the
また、検索クライアント3は、ストレージ装置1へのファイル検索要求を発行する。そして、検索クライアント3は、検索条件として、ファイルデータをストレージ装置1へ転送する。その後、ストレージ装置1は、検索を実行し、検索結果を検索クライアント3へ返送する。ここで、検索結果は、検索条件のファイルデータに類似するファイルのパスのリストである。
In addition, the search client 3 issues a file search request to the
なお、データ格納クライアント2、及び検索クライアント3は、それぞれ複数のマシンから構成される形態でもよい。ただし、以下の説明では、簡単のため、データ格納クライアント2、及び検索クライアント3が、それぞれ一台のマシンから構成されるものとして説明する。 Note that the data storage client 2 and the search client 3 may each be composed of a plurality of machines. However, in the following description, for the sake of simplicity, the data storage client 2 and the search client 3 will be described as being configured from a single machine.
次に、図3は、ストレージ装置1の内部構成の一例を示す図である。
Next, FIG. 3 is a diagram illustrating an example of the internal configuration of the
ストレージ装置1は、類似検索制御部10、検索インターフェース部11、重複排除制御部20、索引語格納部30、データ格納インターフェース部40、ファイルシステム50、データ格納部60を備える。図3には、簡単のため、本実施形態に係るストレージ装置1に関係するモジュールのみを記載する。
The
まず、データ格納インターフェース部40は、データ格納クライアント2との対話を行なう。つまり、データ格納インターフェース部40は、データ格納クライアント2の発行した要求の授受、及び応答の送信を行なう。なお、データ格納インターフェース部40は、NFSやCIFS等のリモートファイルアクセスプロトコルに基づき、データ格納クライアント2との要求の送受信を行なう。上述のとおり、プロトコルの方式は問わない。
First, the data
次に、ファイルシステム50は、ストレージ装置1でのファイル管理を行なう。まず、ファイルシステム50は、ファイルのメタデータの制御を行なう。ここで、ファイルのメタデータとは、あるデータについての抽象度の高い付加的なデータを指す。例えば、メタデータは、データの作成日時や作成者、データ形式、アクセス情報等を含む。また、メタデータは、データ格納部60へのデータの格納先のアドレスを含む。かつ、ファイルシステム50は、データ格納部60へデータの保存管理を行なう。ここで、保存管理するデータは、ファイルデータ、及びそのメタデータである。
Next, the
また、データ格納部60は、記憶媒体を備える。ここで、データ格納部60は、ファイルシステム50からの読み書きの要求に応える。そして、データ格納部60は、ファイルシステム50から要求されたデータを記憶媒体に格納する。なお、データ格納部60、及び索引語格納部30が、同一の記憶媒体を共有する形態でもよい。
The
また、検索インターフェース部11は、検索クライアント3との対話を行なう。つまり、検索インターフェース部11は、検索クライアント3の発行した要求の授受、及び検索結果の返送を行なう。なお、検索インターフェース部11は、NFSやCIFS等のリモートファイルアクセスプロトコルに基づき、検索クライアント3との要求の送受信を行なう。上述のとおり、プロトコルの方式は問わない。
In addition, the
また、上述のとおり、索引語格納部30は、索引語を格納する。ここで、索引語格納部30は、記憶媒体を備える。例えば、記憶媒体には、HDD(Hard Disk Drive)が好ましい。そして、索引語格納部30は、重複排除制御部20で生成された索引語、及び重複検査用のデータを記憶媒体に格納する。
Further, as described above, the index
次に、図4は、重複排除制御部20の内部構成の一例を示す図である。
Next, FIG. 4 is a diagram illustrating an example of an internal configuration of the
重複排除制御部20は、格納処理制御部21、格納チャンクデータ生成部22、格納擬似乱数部23を備える。
The
まず、格納処理制御部21は、格納対象ファイルデータの重複の有無の確認を行なう。ここで、格納対象ファイルデータとは、ファイルシステム50に対して書き込み要求のあったファイルデータを指す。かつ、格納処理制御部21は、索引語250の生成、及び更新を行なう。
First, the storage
次に、格納チャンクデータ生成部22は、検索チャンクデータ生成部12と同様の処理を行なう。従って、格納チャンクデータ生成部22は、格納対象ファイルデータ200のチャンクデータ列210を生成することができる。
Next, the storage chunk
格納擬似乱数部23は、検索擬似乱数部13と同様の処理を行なう。従って、格納擬似乱数部23は、チャンクデータ列210から擬似乱数240を生成することができる。
The stored
次に、図5は、類似検索制御部10の内部構成の一例を示す図である。
Next, FIG. 5 is a diagram illustrating an example of an internal configuration of the similarity
類似検索制御部10は、検索チャンクデータ生成部12、検索擬似乱数部13、類似検索部14、検索語制御部15を備える。なお、検索チャンクデータ生成部12、検索擬似乱数部13は上述のとおりである。よって、さらなる説明を省略する。
The similar
上述のとおり、類似検索部14は、検索語に含まれる擬似乱数と、索引語に含まれる擬似乱数を照合する。そして、類似基準を満たす全ての索引語250を抽出する。ここで、類似検索部14は、索引語格納部30から索引語250を参照する。そして、類似検索部14は、索引語250に対応付けられたファイル識別子203のリストを取得する。次に、類似検索部14は、ファイル識別子203のリストに基づき、ファイルパスのリストを取得する。ファイルパスは、ファイルシステム50が管理している。従って、類似検索部14は、ファイルシステム50を介して、ファイルパスのリストを取得する。その後、類似検索部14は、検索インターフェース部11を介して、取得したファイルパスのリストを検索クライアント3へ返送する。
As described above, the
検索語制御部15は、2つの機能を有する。第1の機能は、検索擬似乱数部13で生成された擬似乱数140に基づき、検索語を生成する機能である。第2の機能は、類似検索制御部10内部で、データの転送を仲介する機能である。
The search
次に、ストレージ装置1の動作について説明する。
Next, the operation of the
まず、ストレージ装置1に格納される索引語250のデータ構造について、説明する。
First, the data structure of the
ここで、図6は、索引語250の一例を示す図である。図6の一行目の索引語250は、擬似乱数1と、2つのファイル識別子を対応付けている。また、図6の二行目の索引語250は、擬似乱数2と1つのファイル識別子を対応付けている。このように、ストレージ装置1に格納されている全てのファイルデータについて、索引語250が存在する。そして、それぞれの索引語250は、擬似乱数とファイル識別子を対応付ける構造となっている。
Here, FIG. 6 is a diagram illustrating an example of the
次に、図7のフローチャートを用いて、ストレージ装置1へのファイルデータ格納処理、及び索引語生成処理について説明する。
Next, file data storage processing in the
まず、データ格納クライアント2が、ストレージ装置1に対して、ファイルデータの書き込み要求202を発行する。ここで、書き込み要求202には、格納対象ファイルデータ200、及び格納先を示すファイルの識別子203を含む。そして、データ格納インターフェース部40は、格納対象ファイルデータ200、及びファイル識別子203を取得する(ステップS110)。
First, the data storage client 2 issues a file data write request 202 to the
次に、データ格納インターフェース部40は、ファイルシステム50を介して、書き込み要求202を格納処理制御部21に転送する。そして、格納処理制御部21は、格納対象ファイルデータ200を格納チャンクデータ生成部22へ転送する。その後、格納チャンクデータ生成部22は、格納対象ファイルデータ200を分割する(ステップS120)。なお、以下の説明では、ステップS120の処理で分割したデータ(チャンクデータ)列をチャンクデータ列210として説明する。ステップS120の処理の後、個々のチャンクデータ230に、序列に対応する番号を付与する。
Next, the data
ここで、格納チャンクデータ生成部22は、ファイルデータの複数の分割方法を採用することも好ましい。例えば、ファイルデータを解析し、データの分割方法を選択することも好ましい。ただし、本実施形態に係るストレージ装置1では、全てのファイルデータを固定サイズで分割する方法について説明する。複数の分割方法を採用する形態については、実施形態2に係るストレージ装置1として、説明する。
Here, the storage chunk
次に、格納チャンクデータ生成部22は、格納処理制御部21を介して、それぞれのチャンクデータ230を格納擬似乱数部23へ転送する。その後、格納擬似乱数部23は、それぞれのチャンクデータ230について、擬似乱数240を算出する(ステップS130)。
Next, the storage chunk
そして、格納擬似乱数部23は、擬似乱数240を格納処理制御部21へ転送する。その後、格納対象ファイルデータ200と重複するファイルデータがストレージ装置1に格納されているか否かを、格納処理制御部21は確認する(ステップS140)。この場合に、格納処理制御部21は、ステップS130で算出した擬似乱数240を含む索引語250が、索引語格納部30に存在するかを確認する。
Then, the stored
さらに、図8のフローチャートを用いて、ステップS140の処理について、詳細に説明する。 Furthermore, the process of step S140 is demonstrated in detail using the flowchart of FIG.
まず、格納処理制御部21は、索引語格納部30に格納されている索引語250を順に参照する。そして、擬似乱数240と合致する擬似乱数を含む索引語250が、索引語格納部30に格納されているか否かを、格納処理制御部21は判断する(ステップS210)。
First, the storage
ステップS210の条件を満たす場合には、格納処理制御部21は、擬似乱数の合致した索引語250に対応付けられている格納先アドレス201を取得する。かつ、格納処理制御部21は、擬似乱数の合致した索引語250に、書き込み要求202に含まれるファイル識別子203を追加する(ステップS220)。さらに、格納処理制御部21は、擬似乱数240の算出元となったチャンクデータ230をファイルシステム50へ転送する。あわせて、格納処理制御部21は、チャンクデータ230の序列に対応する番号をファイルシステム50へ転送する。さらに、格納処理制御部21は、擬似乱数240をファイルシステム50へ転送する。あわせて、格納処理制御部21は、格納先アドレス201をファイルシステム50へ転送する。そして、格納処理制御部21は、擬似乱数240の算出元となったチャンクデータ230が重複している旨をファイルシステム50へ通知する。その後、ファイルシステム50は、格納処理制御部21からの通知に基づき、ファイルシステム50が管理しているメタデータを更新する(ステップS230)。
When the condition of step S210 is satisfied, the storage
一方、ステップS210の条件を満たさない場合には、格納処理制御部21は、索引語250を新規に作成する(ステップS240)。その場合に、格納処理制御部21は、作成する索引語250に、擬似乱数240、及び書き込み要求202に含まれるファイル識別子203を対応付ける。そして、格納処理制御部21は、作成した索引語250を索引語格納部30に格納する。その後、格納処理制御部21は、擬似乱数240の算出元となったチャンクデータ23をファイルシステム50へ転送する。あわせて、格納処理制御部21は、チャンクデータの序列に対応する番号をファイルシステム50へ転送する。さらに、格納処理制御部21は、擬似乱数240をファイルシステム50へ転送する。かつ、格納処理制御部21は、ファイル識別子203をファイルシステム50へ転送する。そして、格納処理部21は、擬似乱数240の算出元となったチャンクデータ230が重複していない旨をファイルシステム50へ通知する。
On the other hand, when the condition of step S210 is not satisfied, the storage
次に、ファイルシステム50は、格納処理部21からの通知に基づき、チャンクデータ230の格納領域をデータ格納部60に確保する。その後、ファイルシステム50は、データ格納部60にチャンクデータ230を格納する(ステップS250)。そして、ファイルシステム50は、ファイルのメタデータを更新する(ステップS260)。なお、更新するメタデータには、チャンクデータ230の格納先アドレス201を含む。
Next, the
その後、ファイルシステム50は、擬似乱数240を格納処理制御部21に転送する。かつ、ファイルシステム50は、チャンクデータ230の格納先アドレス201を格納処理制御部21に転送する。そして、格納処理制御部21は、ステップS230の処理で作成した索引語250に、受け取った格納先アドレス201を追加する(ステップS270)。
Thereafter, the
重複排除制御部20は、全ての書き込み要求202に対して、以上の処理を行なう。その後、ファイルシステム50は、データ格納インターフェース部40を介して、データ格納クライアント2へ処理終了を通知する。
The
ここで、図9を用いて、索引語作成処理の一例を示す。 Here, an example of index word creation processing is shown using FIG.
まず、ストレージ装置1は、書き込み要求202を取得する(ステップS110)。ここで、書き込み要求202は、格納対象ファイルデータ200、及びファイル識別子203を含む。図9の場合、ファイル識別子203は、file_id3を示す。そして、ストレージ装置1はチャンクデータ列210を生成する(ステップS120)。図9の場合、チャンクデータ列210は、2つのチャンクデータ230を有する。ステップS120の処理の後、ストレージ装置1は、チャンクデータ列210に基づき、擬似乱数列220を算出する(ステップS130)。図9の場合、擬似乱数列220は、2つの擬似乱数D240pとD240rを有する。ここで、図9の場合、索引語格納部30は、索引語250pと索引語250qを格納している。また索引語250pは、擬似乱数D240pを含んでいる。さらに、索引語250pは、擬似乱数240pに、ファイル識別子file_id1、及びfile_id2を対応付けている。一方、索引語250qは、擬似乱数D240qを含んでいる。さらに、索引語250qは、擬似乱数D240qに、ファイル識別子file_id4を対応付けている。
First, the
ここで、擬似乱数列220p内の擬似乱数D240pは、擬似乱数列250p内にも存在する。従って、ステップS210の条件を満たす。よって、ステップS220に遷移する。ステップS220の処理として、ストレージ装置1は、索引語250pにfile_id3を追加する。
Here, the pseudo random number D240p in the pseudo random number sequence 220p also exists in the pseudo random number sequence 250p. Therefore, the condition of step S210 is satisfied. Therefore, the process proceeds to step S220. As the processing in step S220, the
以上より、本実施形態に係るストレージ装置1は、重複データの格納を排除することができる。かつ、ストレージ装置1は、索引語の登録時に、ストレージ装置1で管理するデータの一部を利用している。従って、本実施形態に係るストレージ装置1では、索引語の格納のためのストレージリソースの消費を抑えることができる。
As described above, the
次に、図10のフローチャートを用いて、類似検索処理について説明する。 Next, the similarity search process will be described with reference to the flowchart of FIG.
本実施形態に係るストレージ装置1では、検索条件は、ファイルデータである。また、検索結果は、検索条件と類似するファイルが格納されているパス名のリストである。
In the
まず、検索クライアント3は、検索条件として、検索ファイルデータ150をストレージ装置1へ転送する。その際に、ストレージ装置1は、検索インターフェース部11を介して、検索ファイルデータ150を取得する(ステップS310)。そして、検索インターフェース部11は、検索ファイルデータ150を類似検索部14へ転送する。その後、類似検索部14は、検索ファイルデータ150を検索語制御部15へ転送する。
First, the search client 3 transfers the search file data 150 to the
次に、検索語制御部15は、検索ファイルデータ150を検索チャンクデータ生成部12へ転送する。そして、検索チャンクデータ生成部12は、格納チャンクデータ生成部と同様の処理を行なう。そして、検索チャンクデータ生成部12はチャンクデータ列110を生成する(ステップS320)。ただし、検索チャンクデータ生成部12は、格納チャンクデータ生成部22と同一のチャンクデータ生成方法を採用するものとする。
Next, the search
次に、検索チャンクデータ生成部12は、検索語制御部15を介して、チャンクデータ列110を検索擬似乱数部13へ転送する。その後、検索擬似乱数部13は、索引擬似乱数部23と同様の処理を行なう。そして、検索擬似乱数部13は、チャンクデータ列110内のそれぞれのチャンクデータ130について、擬似乱数140を算出する(ステップS330)。ただし、検索擬似乱数部13は、格納擬似乱数部23と同一の擬似乱数生成法を採用するものとする。
Next, the search chunk
次に、検索擬似乱数部13は、検索語制御部14を介して、全ての擬似乱数140を類似検索部14へ転送する。そして、擬似乱数140を含む索引語250が、索引語格納部30に存在するか否かを、類似検索部14は判断する(ステップS340)。ステップS340の条件を満たす場合には、類似検索部14は、合致した索引語250に対応付けられているファイル識別子203のリストを取得する(ステップS350)。そして、類似検索部14は、すべての擬似乱数140について、ステップS340の条件を判断する。
Next, the search
その後、類似検索部14は、全ての擬似乱数140について、ステップS340の条件を判断したとする。その場合、類似検索部14は、取得したそれぞれのファイル識別子について、ファイルパスをファイルシステム50から取得する。そして、類似検索部14は、類似検索結果160として、取得したファイルパスのリストを検索インターフェース部11へ転送する。最後に、検索インターフェース部11は、類似検索結果160を検索クライアント3へ返送する(ステップS360)。
Thereafter, it is assumed that the
以上より、本実施形態に係るストレージ装置1の第1の効果は、ファイルデータの種類に依存せず、格納されたファイルデータに対して、類似検索を実現できることである。また、本実施形態に係るストレージ装置1では、類似検索時に、ファイルデータに関する事前情報が不要である。従って、本実施形態に係るストレージ装置1は、未知のバイナリデータであっても、類似検索の対象とすることができるストレージ装置、その制御方法、及びプログラムを提供できる。
As described above, the first effect of the
本実施形態に係るストレージ装置1の第2の効果は、索引語の格納のためのストレージリソースの消費を抑えることができることである。なぜなら、本実施形態に係るストレージ装置1は、ストレージ管理データの一部を索引語として登録しているからである。従って、少ないメモリ資源で、上記第1の効果を有するストレージ装置を提供できる。
A second effect of the
[第2の実施形態]
続いて、第2の実施形態について、詳細に説明する。[Second Embodiment]
Next, the second embodiment will be described in detail.
本実施形態は、複数のチャンクデータ生成方法を備え、適切なチャンクデータ生成方法を選択する実施形態である。なお、本実施形態における説明では、第1の実施形態と重複する部分の説明は省略する。さらに、本実施形態における説明では、第1の実施形態と同一の構成要素には、同一の符号を付し、その説明を省略する。 The present embodiment is an embodiment that includes a plurality of chunk data generation methods and selects an appropriate chunk data generation method. In the description of the present embodiment, the description of the same parts as those in the first embodiment is omitted. Further, in the description of the present embodiment, the same components as those in the first embodiment are denoted by the same reference numerals, and the description thereof is omitted.
上述のとおり、本願発明では、ファイルデータに基づく擬似乱数を照合し、類似検索を実現する。しかし、非類似のファイルデータであっても、同一の擬似乱数が算出される場合がある。つまり、擬似乱数が衝突する場合がある。この擬似乱数の衝突は、チャンクデータが類似した場合に発生する。そこで、本実施形態に係るストレージ装置1では、ファイルデータに応じて、チャンクデータ生成方法を変更する。これにより、同一の擬似乱数が算出される可能性を低くすることができる。
As described above, in the present invention, pseudo-random numbers based on file data are collated to realize a similarity search. However, the same pseudo-random number may be calculated even for dissimilar file data. That is, pseudorandom numbers may collide. This pseudo-random number collision occurs when the chunk data is similar. Therefore, in the
まず、データフォーマットが既知の場合について説明する。データフォーマットが既知の場合には、データフォーマットの構造に基づき、チャンクデータを生成する。例えば、タグを利用したマークアップ言語で記述されたデータを考える。その場合には、それぞれのタグに基づき、チャンクデータを生成できる。 First, a case where the data format is known will be described. If the data format is known, chunk data is generated based on the data format structure. For example, consider data written in a markup language using tags. In that case, chunk data can be generated based on each tag.
次に、データフォーマットが未知の場合について、説明する。データフォーマットが未知の場合、第1の実施形態では、固定サイズでの分割方法を採用している。しかし、本実施形態では、固定サイズでの分割方法に加えて、適切な分割サイズを決定する方法(可変長サイズでの分割方法)も採用する。例えば、可変長サイズでの分割方法として、ファイルデータへのデータ挿入に伴うデータの切れ目を検出する方法がある。ただし、本実施形態に係るストレージ装置1は、固定サイズでの分割方法または可変長サイズでの分割方法のいずれか一方のみを用いるものとする。
Next, a case where the data format is unknown will be described. When the data format is unknown, the first embodiment employs a fixed size division method. However, in this embodiment, in addition to the division method with a fixed size, a method for determining an appropriate division size (a division method with a variable length size) is also employed. For example, as a variable length size dividing method, there is a method of detecting a data break accompanying data insertion into file data. However, the
以上より、本実施形態に係るストレージ装置1では、ファイルデータ内部の解析に基づき、チャンクデータ生成方法を変更する。その結果、非類似のファイルデータに対して、同一の擬似乱数が算出される可能性が低くなる。従って、本実施形態に係るストレージ装置1は、実施形態1に係るストレージ装置1より、類似検索結果の精度が向上する。
As described above, in the
[第3の実施形態]
続いて、第3の実施形態について、詳細に説明する。[Third Embodiment]
Next, the third embodiment will be described in detail.
本実施形態は、類似度に基づき、類似検索結果をソートして出力する実施形態である。なお、本実施形態における説明では、第1の実施形態と重複する部分の説明は省略する。さらに、本実施形態における説明では、第1の実施形態と同一の構成要素には、同一の符号を付し、その説明を省略する。 This embodiment is an embodiment that sorts and outputs similar search results based on the degree of similarity. In the description of the present embodiment, the description of the same parts as those in the first embodiment is omitted. Further, in the description of the present embodiment, the same components as those in the first embodiment are denoted by the same reference numerals, and the description thereof is omitted.
上述のとおり、擬似乱数140が、索引語格納部30に格納されている擬似乱数240と合致するか否かを、類似検索部14は判断する(ステップS340)。擬似乱数列120内の全ての擬似乱数140について、類似検索部14はステップS340の条件を判断する。ここで、類似するファイルデータほど、多くのチャンクデータの擬似乱数が合致することとなる。つまり、擬似乱数140と擬似乱数240が合致する個数は、ファイルデータの類似度を表す。従って、ファイルデータの類似度をユーザに提示するには、擬似乱数140と擬似乱数240が合致する個数に基づき、対応するファイル識別子をソートすることが好ましい。
As described above, the
以上より、本実施形態に係るストレージ装置1では、類似度に基づき、類似検索結果をソートして出力する。その結果、ユーザは、検索条件としたファイルデータと、検索結果のファイルデータの類似度を把握できる。従って、本実施形態に係るストレージ装置1は、他の実施形態以上に有益なストレージ装置を提供できる。
As described above, the
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。 A part or all of the above embodiments can be described as in the following supplementary notes, but is not limited thereto.
(付記1)重複するファイルデータの格納を排除する重複排除制御部と、格納対象ファイルデータに基づく擬似乱数を索引語として格納する索引語格納部と、検索対象ファイルデータを取得する検索インターフェース部と、検索対象ファイルデータを分割して、検索チャンクデータ列を生成する検索チャンクデータ生成部と、前記検索チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する検索擬似乱数部と、前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索部と、を備えるストレージ装置。 (Additional remark 1) Deduplication control part which excludes storage of the duplicate file data, Index word storage part which stores the pseudorandom number based on storage object file data as an index word, Search interface part which acquires search object file data A search chunk data generation unit that divides the search target file data to generate a search chunk data sequence, a search pseudo random number unit that calculates a pseudo random number based on each chunk data in the search chunk data sequence, and A storage device comprising: a similarity search unit that extracts all index terms that satisfy a similarity criterion using a pseudo-random number as a search term.
(付記2)前記重複排除制御部は、格納対象ファイルデータを分割して、格納チャンクデータ列を生成する格納チャンクデータ生成部と、前記格納チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する格納擬似乱数部と、格納擬似乱数部で算出した擬似乱数に基づき、索引語を生成する格納処理制御部と、を備えるストレージ装置。 (Additional remark 2) The said deduplication control part divides | stores storage object file data, a storage chunk data generation part which produces | generates a storage chunk data sequence, and a pseudorandom number based on each chunk data in the said storage chunk data sequence A storage apparatus comprising: a storage pseudo-random number unit that calculates an index word; and a storage processing control unit that generates an index word based on the pseudo-random number calculated by the storage pseudo-random number unit.
(付記3)前記類似基準は、前記検索チャンクデータ列に基づく擬似乱数の列内に、索引語に含まれる擬似乱数を少なくとも1以上含むストレージ装置。 (Supplementary Note 3) The storage apparatus, wherein the similarity criterion includes at least one or more pseudorandom numbers included in an index word in a pseudorandom number sequence based on the search chunk data sequence.
(付記4)前記類似検索部は、前記類似基準を満たした索引語をソートするストレージ装置。 (Additional remark 4) The said similar search part is a storage apparatus which sorts the index word which satisfy | filled the said similarity criteria.
(付記5)前記類似検索部は、前記類似基準を満たした擬似乱数の個数に基づき、索引語をソートするストレージ装置。 (Additional remark 5) The said similar search part is a storage apparatus which sorts an index word based on the number of the pseudorandom numbers which satisfy | filled the said similarity criterion.
(付記6)擬似乱数としてハッシュ値を算出するストレージ装置。 (Supplementary Note 6) A storage device that calculates a hash value as a pseudo-random number.
(付記7)固定サイズでファイルデータを分割するストレージ装置。 (Supplementary note 7) A storage device that divides file data in a fixed size.
(付記8)二以上のデータ分割方法から一のデータ分割方法を選択するストレージ装置。 (Supplementary Note 8) A storage apparatus that selects one data division method from two or more data division methods.
(付記9)重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置の制御方法であって、前記ファイルデータを分割して、チャンクデータ列を生成するチャンクデータ生成工程と、前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数生成工程と、前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索工程と、を含むストレージ装置の制御方法。 (Supplementary note 9) A storage apparatus control method comprising a deduplication control unit for eliminating storage of duplicate file data and a search interface unit for acquiring file data, wherein the file data is divided and chunk data A chunk data generation step for generating a sequence, a pseudo random number generation step for calculating a pseudo random number based on each chunk data in the chunk data sequence, and all index terms satisfying a similarity criterion using the pseudo random number as a search term And a similar search step for extracting the storage device.
(付記10)重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置の制御方法であって、擬似乱数に基づき、索引語を生成する索引語生成工程、を含むストレージ装置の制御方法。 (Supplementary Note 10) A storage apparatus control method including a deduplication control unit that eliminates storage of duplicate file data and a search interface unit that acquires file data, and generates an index word based on a pseudo-random number A method for controlling a storage apparatus, including an index word generation step.
(付記11)重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置の制御方法であって、前記検索チャンクデータ列に基づく擬似乱数の列内に、索引語に含まれる擬似乱数を少なくとも1以上含む、とする類似基準を満たした索引語をソートする工程、を含むストレージ装置の制御方法。 (Supplementary Note 11) A storage apparatus control method comprising a deduplication control unit that eliminates storage of duplicate file data, and a search interface unit that acquires file data, the pseudo random number based on the search chunk data string Sorting index words satisfying the similarity criterion that at least one or more pseudo-random numbers included in the index word are included in the column.
(付記12)重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置の制御方法であって、固定サイズでファイルデータを分割する工程、を含むストレージ装置の制御方法。 (Supplementary Note 12) A storage apparatus control method comprising a deduplication control unit that eliminates storage of duplicate file data and a search interface unit that acquires file data, the step of dividing file data by a fixed size, A storage apparatus control method including:
(付記13)重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置の制御方法であって、二以上のデータ分割方法から一のデータ分割方法を選択する工程、を含むストレージ装置の制御方法。 (Supplementary note 13) A storage apparatus control method comprising a deduplication control unit that eliminates storage of duplicate file data and a search interface unit that acquires file data, wherein one data from two or more data division methods A method for controlling a storage apparatus, comprising: selecting a division method.
(付記14)重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置を制御するコンピュータに実行させるプログラムであって、前記ファイルデータを分割して、チャンクデータ列を生成するチャンクデータ生成処理と、前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数算出処理と、前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索処理と、を実行するプログラム。 (Supplementary Note 14) A program that causes a computer that controls a storage apparatus to include a deduplication control unit that eliminates storage of duplicate file data and a search interface unit that acquires file data, the file data being divided A chunk data generation process for generating a chunk data string, a pseudo random number calculation process for calculating a pseudo random number based on each chunk data in the chunk data string, and using the pseudo random number as a search word, A similar search process for extracting all index words that satisfy the program.
(付記15)重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置を制御するコンピュータに実行させるプログラムであって、擬似乱数に基づき、索引語を生成する索引語生成処理、を実行するプログラム。 (Supplementary note 15) A program to be executed by a computer that controls a storage device that includes a deduplication control unit that eliminates storage of duplicate file data and a search interface unit that acquires file data. A program that executes index word generation processing for generating an index word.
(付記16)重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置を制御するコンピュータに実行させるプログラムであって、前記検索チャンクデータ列に基づく擬似乱数の列内に、索引語に含まれる擬似乱数を少なくとも1以上含む、とする類似基準を満たした索引語をソートする処理、を実行するプログラム。 (Supplementary Note 16) A program that is executed by a computer that controls a storage apparatus that includes a deduplication control unit that eliminates storage of duplicate file data and a search interface unit that acquires file data, the search chunk data string A program for sorting index words satisfying a similarity criterion that includes at least one or more pseudo random numbers included in an index word in a sequence of pseudo random numbers based on.
(付記17)重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置を制御するコンピュータに実行させるプログラムであって、固定サイズでファイルデータを分割する処理、を実行するプログラム。 (Supplementary Note 17) A program that is executed by a computer that controls a storage apparatus that includes a deduplication control unit that eliminates storage of duplicate file data and a search interface unit that acquires file data, the file data having a fixed size The program that executes the process of dividing.
(付記18)重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置を制御するコンピュータに実行させるプログラムであって、二以上のデータ分割方法から一のデータ分割方法を選択する処理、を実行するプログラム。 (Supplementary note 18) A program that is executed by a computer that controls a storage apparatus that includes a deduplication control unit that eliminates storage of duplicate file data and a search interface unit that acquires file data. The program which performs the process which selects the one data division method from the method.
なお、引用した上記の特許文献の開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。 The disclosure of the cited patent document is incorporated herein by reference. Within the scope of the entire disclosure (including claims) of the present invention, the embodiments and examples can be changed and adjusted based on the basic technical concept. Various disclosed elements (including each element of each claim, each element of each embodiment or example, each element of each drawing, etc.) within the scope of the claims of the present invention, Selection is possible. That is, the present invention of course includes various variations and modifications that could be made by those skilled in the art according to the entire disclosure including the claims and the technical idea. In particular, with respect to the numerical ranges described in this document, any numerical value or small range included in the range should be construed as being specifically described even if there is no specific description.
1 ストレージ装置
2 データ格納クライアント
3 検索クライアント
10 類似検索制御部
11 検索インターフェース部
12 検索チャンクデータ生成部
13 検索擬似乱数部
14 類似検索部
15 検索語制御部
20 重複排除制御部
21 格納処理制御部
22 格納チャンクデータ生成部
23 格納擬似乱数部
30 索引語格納部
40 データ格納インターフェース部
50 ファイルシステム
60 データ格納部
110、210 チャンクデータ列
120、220 擬似乱数列
130、230 チャンクデータ
140、240 擬似乱数
150 検索ファイルデータ
160 類似検索結果
200 格納対象ファイルデータ
201 格納先アドレス
202 書き込み要求
203 ファイル識別子
250 索引語DESCRIPTION OF
Claims (10)
格納対象ファイルデータに基づく擬似乱数を索引語として格納する索引語格納部と、
検索対象ファイルデータを取得する検索インターフェース部と、
検索対象ファイルデータを分割して、検索チャンクデータ列を生成する検索チャンクデータ生成部と、
前記検索チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する検索擬似乱数部と、
前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索部と、
を備えることを特徴とするストレージ装置。A deduplication controller that eliminates the storage of duplicate file data;
An index word storage unit that stores pseudo random numbers based on file data to be stored as index words;
A search interface unit for acquiring search target file data;
A search chunk data generation unit that divides the search target file data and generates a search chunk data string;
A search pseudo-random number part for calculating a pseudo-random number based on each chunk data in the search chunk data string;
Using the pseudo-random number as a search term, a similarity search unit that extracts all index terms that satisfy a similarity criterion;
A storage apparatus comprising:
格納対象ファイルデータを分割して、格納チャンクデータ列を生成する格納チャンクデータ生成部と、
前記格納チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する格納擬似乱数部と、
格納擬似乱数部で算出した擬似乱数に基づき、索引語を生成する格納処理制御部と、
を備える請求項1に記載のストレージ装置。The deduplication control unit
A storage chunk data generation unit that divides storage target file data and generates a storage chunk data string;
A stored pseudo-random number part for calculating a pseudo-random number based on each chunk data in the stored chunk data string;
A storage processing control unit that generates an index word based on the pseudo-random number calculated by the storage pseudo-random number unit;
The storage apparatus according to claim 1.
前記検索チャンクデータ列に基づく擬似乱数の列内に、索引語に含まれる擬似乱数を少なくとも1以上含むこと、
とする請求項1又は2に記載のストレージ装置。The similarity criterion is
Including at least one or more pseudo-random numbers included in an index word in a pseudo-random number sequence based on the search chunk data sequence;
The storage apparatus according to claim 1 or 2.
前記類似基準を満たした索引語をソートする、
請求項1乃至3のいずれか一に記載のストレージ装置。The similarity search unit includes:
Sorting index terms that meet the similarity criteria;
The storage device according to any one of claims 1 to 3.
前記類似基準を満たした擬似乱数の個数に基づき、索引語をソートする、
請求項1乃至4のいずれか一に記載のストレージ装置。The similarity search unit includes:
Sorting the index terms based on the number of pseudo-random numbers that satisfy the similarity criterion;
The storage apparatus according to any one of claims 1 to 4.
請求項1乃至5のいずれか一に記載のストレージ装置。Calculating a hash value as a pseudo-random number,
The storage device according to any one of claims 1 to 5.
請求項1乃至6のいずれか一に記載のストレージ装置。Divide file data with a fixed size,
The storage apparatus according to any one of claims 1 to 6.
請求項1乃至7のいずれか一に記載のストレージ装置。Select one data division method from two or more data division methods.
The storage device according to any one of claims 1 to 7.
ファイルデータを取得する検索インターフェース部と、
を備えるストレージ装置の制御方法であって、
前記ファイルデータを分割して、チャンクデータ列を生成するチャンクデータ生成工程と、
前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数生成工程と、
前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索工程と、
を含むことを特徴とするストレージ装置の制御方法。A deduplication controller that eliminates the storage of duplicate file data;
A search interface unit for acquiring file data;
A storage apparatus control method comprising:
A chunk data generation step of dividing the file data to generate a chunk data string;
A pseudo random number generating step of calculating a pseudo random number based on each chunk data in the chunk data sequence;
Using the pseudo-random number as a search term, a similar search step for extracting all index terms that satisfy a similarity criterion;
A method for controlling a storage apparatus.
ファイルデータを取得する検索インターフェース部と、
を備えるストレージ装置の制御するコンピュータに実行させるプログラムであって、
前記ファイルデータを分割して、チャンクデータ列を生成するチャンクデータ生成処理と、
前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数算出処理と、
前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索処理と、
を実行するプログラム。A deduplication controller that eliminates the storage of duplicate file data;
A search interface unit for acquiring file data;
A program to be executed by a computer controlled by a storage device comprising:
Chunk data generation processing for dividing the file data and generating a chunk data string;
A pseudo-random number calculation process for calculating a pseudo-random number based on each chunk data in the chunk data sequence;
Using the pseudo-random number as a search term, a similar search process for extracting all index terms that satisfy a similarity criterion;
A program that executes.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013554289A JPWO2013108745A1 (en) | 2012-01-16 | 2013-01-15 | Storage device, control method thereof, and program |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012006566 | 2012-01-16 | ||
JP2012006566 | 2012-01-16 | ||
JP2013554289A JPWO2013108745A1 (en) | 2012-01-16 | 2013-01-15 | Storage device, control method thereof, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2013108745A1 true JPWO2013108745A1 (en) | 2015-05-11 |
Family
ID=48799170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013554289A Pending JPWO2013108745A1 (en) | 2012-01-16 | 2013-01-15 | Storage device, control method thereof, and program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2013108745A1 (en) |
WO (1) | WO2013108745A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6269102B2 (en) | 2014-01-27 | 2018-01-31 | 富士通株式会社 | Information processing apparatus, index creation control method, and index creation control program |
CN107025218B (en) | 2017-04-07 | 2021-03-02 | 腾讯科技(深圳)有限公司 | Text duplicate removal method and device |
JP7099690B2 (en) * | 2018-03-16 | 2022-07-12 | Necソリューションイノベータ株式会社 | Storage system, storage control device, storage control method, and storage control program |
CN108399266B (en) * | 2018-03-23 | 2022-01-07 | 阿里巴巴(中国)有限公司 | Data extraction method and device, electronic equipment and computer readable storage medium |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8725705B2 (en) * | 2004-09-15 | 2014-05-13 | International Business Machines Corporation | Systems and methods for searching of storage data with reduced bandwidth requirements |
US9043639B2 (en) * | 2004-11-05 | 2015-05-26 | Drobo, Inc. | Dynamically expandable and contractible fault-tolerant storage system with virtual hot spare |
JP2008257444A (en) * | 2007-04-04 | 2008-10-23 | Nec Corp | Similar file management device, method therefor and program therefor |
US8312032B2 (en) * | 2008-07-10 | 2012-11-13 | Google Inc. | Dictionary suggestions for partial user entries |
JP5291523B2 (en) * | 2009-04-21 | 2013-09-18 | 株式会社データ変換研究所 | Similar data retrieval device and program thereof |
-
2013
- 2013-01-15 JP JP2013554289A patent/JPWO2013108745A1/en active Pending
- 2013-01-15 WO PCT/JP2013/050548 patent/WO2013108745A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2013108745A1 (en) | 2013-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200356901A1 (en) | Target variable distribution-based acceptance of machine learning test data sets | |
RU2686590C1 (en) | Method and device for comparing similar elements of high-dimensional image features | |
US10372679B2 (en) | File versions within content addressable storage | |
JP6542909B2 (en) | File operation method and apparatus | |
US20230359381A1 (en) | Deduplication decision based on metrics | |
JP5886447B2 (en) | Location independent files | |
EP3959643B1 (en) | Property grouping for change detection in distributed storage systems | |
CN107193503B (en) | Data deduplication method and storage device | |
US20150161154A1 (en) | Files having unallocated portions within content addressable storage | |
CN110888837B (en) | Object storage small file merging method and device | |
US20140244794A1 (en) | Information System, Method and Program for Managing the Same, Method and Program for Processing Data, and Data Structure | |
US10846338B2 (en) | Data processing device, data processing method, and non-transitory computer readable medium | |
WO2013108745A1 (en) | Storage device, control method for same, and program | |
JP2015170170A (en) | Data division processing program, data division processing device and data division processing method | |
CN110019048A (en) | Document handling method, device, system and server based on MongoDB | |
US10515055B2 (en) | Mapping logical identifiers using multiple identifier spaces | |
US10048991B2 (en) | System and method for parallel processing data blocks containing sequential label ranges of series data | |
CN107493309A (en) | File wiring method and device in a kind of distributed system | |
CN109739854A (en) | A kind of date storage method and device | |
JP6237633B2 (en) | Distributed storage device, storage node, data providing method and program | |
US11321354B2 (en) | System, computing node and method for processing write requests | |
CN111221814B (en) | Method, device and equipment for constructing secondary index | |
TWI420333B (en) | A distributed de-duplication system and the method therefore | |
CN110019357B (en) | Database query script generation method and device | |
Nguyen-Van et al. | Minimizing data transfers for regular reachability queries on distributed graphs |