JPWO2013108745A1 - Storage device, control method thereof, and program - Google Patents

Storage device, control method thereof, and program Download PDF

Info

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
Application number
JP2013554289A
Other languages
Japanese (ja)
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 JP2013554289A priority Critical patent/JPWO2013108745A1/en
Publication of JPWO2013108745A1 publication Critical patent/JPWO2013108745A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-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.

特開2011−203842号公報JP 2011-203842 A

なお、上記先行技術文献の開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明の観点からなされたものである。   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では、ストレージ装置内に格納されたデータから、所望するデータを抽出する技術は開示されていない。   Patent Document 1 discloses a deduplication technique for a storage device. However, Patent Document 1 does not disclose a technique for extracting desired data from data stored in a storage device.

ここで、検索用の索引語を予め作成することは、検索条件に類似するデータを抽出する上で有用な方法である。しかし、検索用の索引語作成にあたって、検索対象のファイルデータについての事前情報が必要となる。ファイルデータについての事前情報を抽出するには、様々な方法がある。例えば、文書データに対しては、検索用のインデックス作成のために、文書データから単語を抽出する方法がある。また、画像データに対しては、検索用のインデックス作成のために、画像データから色、形状を抽出する方法がある。   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.

本発明の一実施形態を説明するための図である。It is a figure for demonstrating one Embodiment of this invention. 本発明の第1の実施形態に係るストレージ装置1を導入したシステム構成の一例を示す図である。It is a figure which shows an example of the system configuration | structure which introduced the storage apparatus 1 which concerns on the 1st Embodiment of this invention. ストレージ装置1の内部構成の一例を示す図である。2 is a diagram showing an example of an internal configuration of a storage apparatus 1. 重複排除制御部20の内部構成の一例を示す図である。2 is a diagram illustrating an example of an internal configuration of a deduplication control unit 20. FIG. 類似検索制御部10の内部構成の一例を示す図である。3 is a diagram illustrating an example of an internal configuration of a similar search control unit 10. FIG. 索引語250の一例を示す図である。4 is a diagram illustrating an example of an index word 250. FIG. ストレージ装置1へのデータ格納処理のフローチャートである。3 is a flowchart of data storage processing in the storage apparatus 1. 索引語250の作成処理のフローチャートである。It is a flowchart of the creation process of the index word 250. 索引語250の作成処理の一例を示す図である。It is a figure which shows an example of the creation process of the index word. 類似検索処理のフローチャートである。It is a flowchart of a similar search process.

初めに、図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 storage apparatus 1 shown in FIG. 1 is provided as an example. The storage apparatus 1 shown in FIG. 1 acquires a deduplication control unit that eliminates the 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 A search interface part, a search chunk data generation part that divides search target file data to generate a search chunk data string, and a search pseudorandom number that calculates a pseudorandom number based on each chunk data in the search chunk data string And a similarity search unit that extracts all index words satisfying the similarity criterion using pseudo-random numbers as search words.

まず、ストレージ装置1は、重複排除制御部20を備えている。重複排除制御部20は、2つの機能を有する。第1の機能は、重複するファイルデータの格納を排除する処理を行なうことである。第2の機能は、検索処理のための索引語を生成する処理を行なうことである。   First, the storage apparatus 1 includes a deduplication control unit 20. The deduplication control unit 20 has two functions. The first function is to perform processing for eliminating storage of duplicate file data. The second function is to perform processing for generating an index word for search processing.

また、ストレージ装置1は、検索インターフェース部11を備えている。検索インターフェース部11は、検索対象ファイルデータを取得する。ここで、検索対象ファイルデータは、外部から検索条件として指定されるファイルデータである。   The storage device 1 also includes a search interface unit 11. The search interface unit 11 acquires search target file data. Here, the search target file data is file data designated as a search condition from the outside.

さらに、ストレージ装置1は、検索チャンクデータ生成部12を備えている。検索チャンクデータ生成部12は、ファイルデータを複数のブロックデータ(以下、チャンクデータ)に分割する。チャンクデータとは、分割後のデータの塊のことである。従って、検索チャンクデータ生成部12は、ファイルデータのチャンクデータ列を生成することができる。   Furthermore, the storage device 1 includes a search chunk data generation unit 12. The search chunk data generation unit 12 divides the file data into a plurality of block data (hereinafter referred to as chunk data). Chunk data is a chunk of data after division. Therefore, the search chunk data generation unit 12 can generate a chunk data string of file data.

そして、ストレージ装置1は、検索擬似乱数部13を備えている。検索擬似乱数部13は、擬似乱数生成法により、ファイルデータのチャンクデータの擬似乱数を算出する。   The storage device 1 includes a search pseudorandom number unit 13. The search pseudorandom number unit 13 calculates pseudorandom numbers of chunk data of file data by a pseudorandom number generation method.

擬似乱数とは、乱数のように見えるが、実際には、確定的な計算によって求めている数列をいう。真の乱数は、本来、規則性も再現性もない数列である。一方、擬似乱数は、計算によって作り、再現性のある数列である。また擬似乱数生成法とは、擬似乱数を生成するアルゴリズムを意味する。   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 storage apparatus 1 uses the same pseudo-random number generation method for all file data. There are various pseudo-random number generation methods such as SHA1 (Secure Hash Algorithm 1) and MD5 (Message Digest 5). However, it is preferable to select an algorithm that is less likely to cause pseudorandom collisions.

さらに、ストレージ装置1は、類似検索部14を備えている。類似検索部14は、検索語として、検索擬似乱数部13で生成される擬似乱数を用いる。この擬似乱数は、ファイルデータに関する事前情報に依存していない。   Furthermore, the storage device 1 includes a similarity search unit 14. The similarity search unit 14 uses a pseudo-random number generated by the search pseudo-random number unit 13 as a search term. This pseudo random number does not depend on prior information regarding file data.

次に、ストレージ装置1は、索引語格納部30を備えている。索引語格納部30は、索引語を格納する。ここで、索引語は、格納対象ファイルデータに基づく擬似乱数を含むものとする。   Next, the storage device 1 includes an index word storage unit 30. The index word storage unit 30 stores index words. Here, the index word includes a pseudo-random number based on the storage target file data.

ここで、重複排除制御部20は、ファイルデータに基づく擬似乱数を索引語として登録する。まず、重複排除制御部20は、検索チャンクデータ生成部12と同一の方法で、格納対象ファイルデータのチャンクデータを生成する。そして、重複排除制御部20は、検索擬似乱数部13と同一の擬似乱数生成法により、擬似乱数を算出する。なお、重複排除制御部20で生成される擬似乱数についても、ファイルデータに関する事前情報に依存していない。   Here, the deduplication control unit 20 registers a pseudo random number based on the file data as an index word. First, the deduplication control unit 20 generates chunk data of storage target file data by the same method as the search chunk data generation unit 12. Then, the deduplication control unit 20 calculates a pseudo random number by the same pseudo random number generation method as the search pseudo random number unit 13. Note that the pseudo-random numbers generated by the deduplication control unit 20 also do not depend on prior information regarding file data.

そして、類似検索部14は、検索語に含まれる擬似乱数と、索引語に含まれる擬似乱数を照合し、類似基準を満たす全ての索引語を抽出する。   And the similarity search part 14 collates the pseudorandom numbers contained in a search word, and the pseudorandom numbers contained in an index word, and extracts all the index words satisfying the similarity criterion.

以上より、ストレージ装置1は、擬似乱数によって、データに固有の特徴量を取得することができる。かつ、チャンクデータの擬似乱数の比較によって、データの一部が合致するか否かを、ストレージ装置1は判断できる。   As described above, the storage apparatus 1 can acquire a characteristic amount unique to data by using a pseudo random number. In addition, the storage apparatus 1 can determine whether or not a part of the data matches by comparing the pseudo random numbers of the chunk data.

従って、未知のバイナリデータであっても、類似検索対象とすることができるストレージ装置、その制御方法、及びプログラムを提供できる。   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 storage apparatus 1 according to the present embodiment is introduced.

ストレージ装置1を導入したシステムは、ストレージ装置1、データ格納クライアント2、検索クライアント3より構成される。そして、ストレージ装置1、及びデータ格納クライアント2、及び検索クライアント3はネットワークを介して接続されている。ネットワークは、NFS(Network File System)や、CIFS(Common Internet File System)等の業界標準のプロトコルを用いて実現する。また、プロトコルの方式は問わない。   A system in which the storage apparatus 1 is installed includes a storage apparatus 1, a data storage client 2, and a search client 3. The storage device 1, the data storage client 2, and the search client 3 are connected via a network. The network is realized by using an industry standard protocol such as NFS (Network File System) or CIFS (Common Internet File System). The protocol method is not limited.

ここで、データ格納クライアント2は、ストレージ装置1へのデータの読み書きの要求を発行する。つまり、データ格納クライアント2は、ストレージ装置1に格納されているデータに対するアクセス要求を発行する。   Here, the data storage client 2 issues a data read / write request to the storage apparatus 1. In other words, the data storage client 2 issues an access request for data stored in the storage device 1.

また、検索クライアント3は、ストレージ装置1へのファイル検索要求を発行する。そして、検索クライアント3は、検索条件として、ファイルデータをストレージ装置1へ転送する。その後、ストレージ装置1は、検索を実行し、検索結果を検索クライアント3へ返送する。ここで、検索結果は、検索条件のファイルデータに類似するファイルのパスのリストである。   In addition, the search client 3 issues a file search request to the storage device 1. Then, the search client 3 transfers file data to the storage device 1 as a search condition. Thereafter, the storage device 1 executes a search and returns the search result to the search client 3. Here, the search result is a list of file paths similar to the search condition file data.

なお、データ格納クライアント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 storage apparatus 1.

ストレージ装置1は、類似検索制御部10、検索インターフェース部11、重複排除制御部20、索引語格納部30、データ格納インターフェース部40、ファイルシステム50、データ格納部60を備える。図3には、簡単のため、本実施形態に係るストレージ装置1に関係するモジュールのみを記載する。   The storage device 1 includes a similar search control unit 10, a search interface unit 11, a deduplication control unit 20, an index word storage unit 30, a data storage interface unit 40, a file system 50, and a data storage unit 60. FIG. 3 shows only modules related to the storage apparatus 1 according to this embodiment for the sake of simplicity.

まず、データ格納インターフェース部40は、データ格納クライアント2との対話を行なう。つまり、データ格納インターフェース部40は、データ格納クライアント2の発行した要求の授受、及び応答の送信を行なう。なお、データ格納インターフェース部40は、NFSやCIFS等のリモートファイルアクセスプロトコルに基づき、データ格納クライアント2との要求の送受信を行なう。上述のとおり、プロトコルの方式は問わない。   First, the data storage interface unit 40 interacts with the data storage client 2. That is, the data storage interface unit 40 exchanges requests issued by the data storage client 2 and transmits responses. The data storage interface unit 40 transmits / receives a request to / from the data storage client 2 based on a remote file access protocol such as NFS or CIFS. As described above, the protocol method is not limited.

次に、ファイルシステム50は、ストレージ装置1でのファイル管理を行なう。まず、ファイルシステム50は、ファイルのメタデータの制御を行なう。ここで、ファイルのメタデータとは、あるデータについての抽象度の高い付加的なデータを指す。例えば、メタデータは、データの作成日時や作成者、データ形式、アクセス情報等を含む。また、メタデータは、データ格納部60へのデータの格納先のアドレスを含む。かつ、ファイルシステム50は、データ格納部60へデータの保存管理を行なう。ここで、保存管理するデータは、ファイルデータ、及びそのメタデータである。   Next, the file system 50 performs file management in the storage apparatus 1. First, the file system 50 controls file metadata. Here, the file metadata refers to additional data with a high level of abstraction for certain data. For example, the metadata includes data creation date and time, creator, data format, access information, and the like. The metadata includes the address of the data storage destination in the data storage unit 60. In addition, the file system 50 manages data storage in the data storage unit 60. Here, the data to be stored and managed is file data and its metadata.

また、データ格納部60は、記憶媒体を備える。ここで、データ格納部60は、ファイルシステム50からの読み書きの要求に応える。そして、データ格納部60は、ファイルシステム50から要求されたデータを記憶媒体に格納する。なお、データ格納部60、及び索引語格納部30が、同一の記憶媒体を共有する形態でもよい。   The data storage unit 60 includes a storage medium. Here, the data storage unit 60 responds to a read / write request from the file system 50. Then, the data storage unit 60 stores the data requested from the file system 50 in the storage medium. The data storage unit 60 and the index word storage unit 30 may share the same storage medium.

また、検索インターフェース部11は、検索クライアント3との対話を行なう。つまり、検索インターフェース部11は、検索クライアント3の発行した要求の授受、及び検索結果の返送を行なう。なお、検索インターフェース部11は、NFSやCIFS等のリモートファイルアクセスプロトコルに基づき、検索クライアント3との要求の送受信を行なう。上述のとおり、プロトコルの方式は問わない。   In addition, the search interface unit 11 performs a dialog with the search client 3. That is, the search interface unit 11 exchanges requests issued by the search client 3 and returns search results. The search interface unit 11 transmits / receives a request to / from the search client 3 based on a remote file access protocol such as NFS or CIFS. As described above, the protocol method is not limited.

また、上述のとおり、索引語格納部30は、索引語を格納する。ここで、索引語格納部30は、記憶媒体を備える。例えば、記憶媒体には、HDD(Hard Disk Drive)が好ましい。そして、索引語格納部30は、重複排除制御部20で生成された索引語、及び重複検査用のデータを記憶媒体に格納する。   Further, as described above, the index word storage unit 30 stores index words. Here, the index word storage unit 30 includes a storage medium. For example, the storage medium is preferably an HDD (Hard Disk Drive). Then, the index word storage unit 30 stores the index word generated by the deduplication control unit 20 and the data for duplication check in a storage medium.

次に、図4は、重複排除制御部20の内部構成の一例を示す図である。   Next, FIG. 4 is a diagram illustrating an example of an internal configuration of the deduplication control unit 20.

重複排除制御部20は、格納処理制御部21、格納チャンクデータ生成部22、格納擬似乱数部23を備える。   The deduplication control unit 20 includes a storage processing control unit 21, a storage chunk data generation unit 22, and a storage pseudo random number unit 23.

まず、格納処理制御部21は、格納対象ファイルデータの重複の有無の確認を行なう。ここで、格納対象ファイルデータとは、ファイルシステム50に対して書き込み要求のあったファイルデータを指す。かつ、格納処理制御部21は、索引語250の生成、及び更新を行なう。   First, the storage processing control unit 21 checks whether or not the storage target file data is duplicated. Here, the storage target file data refers to file data for which a write request has been made to the file system 50. In addition, the storage processing control unit 21 generates and updates the index word 250.

次に、格納チャンクデータ生成部22は、検索チャンクデータ生成部12と同様の処理を行なう。従って、格納チャンクデータ生成部22は、格納対象ファイルデータ200のチャンクデータ列210を生成することができる。   Next, the storage chunk data generation unit 22 performs the same processing as the search chunk data generation unit 12. Therefore, the storage chunk data generation unit 22 can generate the chunk data string 210 of the storage target file data 200.

格納擬似乱数部23は、検索擬似乱数部13と同様の処理を行なう。従って、格納擬似乱数部23は、チャンクデータ列210から擬似乱数240を生成することができる。   The stored pseudorandom number unit 23 performs the same processing as the search pseudorandom number unit 13. Therefore, the stored pseudorandom number unit 23 can generate the pseudorandom number 240 from the chunk data sequence 210.

次に、図5は、類似検索制御部10の内部構成の一例を示す図である。   Next, FIG. 5 is a diagram illustrating an example of an internal configuration of the similarity search control unit 10.

類似検索制御部10は、検索チャンクデータ生成部12、検索擬似乱数部13、類似検索部14、検索語制御部15を備える。なお、検索チャンクデータ生成部12、検索擬似乱数部13は上述のとおりである。よって、さらなる説明を省略する。   The similar search control unit 10 includes a search chunk data generation unit 12, a search pseudorandom number unit 13, a similarity search unit 14, and a search word control unit 15. The search chunk data generation unit 12 and the search pseudorandom number unit 13 are as described above. Therefore, further explanation is omitted.

上述のとおり、類似検索部14は、検索語に含まれる擬似乱数と、索引語に含まれる擬似乱数を照合する。そして、類似基準を満たす全ての索引語250を抽出する。ここで、類似検索部14は、索引語格納部30から索引語250を参照する。そして、類似検索部14は、索引語250に対応付けられたファイル識別子203のリストを取得する。次に、類似検索部14は、ファイル識別子203のリストに基づき、ファイルパスのリストを取得する。ファイルパスは、ファイルシステム50が管理している。従って、類似検索部14は、ファイルシステム50を介して、ファイルパスのリストを取得する。その後、類似検索部14は、検索インターフェース部11を介して、取得したファイルパスのリストを検索クライアント3へ返送する。   As described above, the similarity search unit 14 collates the pseudo random number included in the search word with the pseudo random number included in the index word. Then, all index terms 250 that satisfy the similarity criterion are extracted. Here, the similarity search unit 14 refers to the index word 250 from the index word storage unit 30. Then, the similarity search unit 14 acquires a list of file identifiers 203 associated with the index word 250. Next, the similarity search unit 14 acquires a list of file paths based on the list of file identifiers 203. The file system 50 manages the file path. Therefore, the similarity search unit 14 acquires a list of file paths via the file system 50. Thereafter, the similarity search unit 14 returns the acquired file path list to the search client 3 via the search interface unit 11.

検索語制御部15は、2つの機能を有する。第1の機能は、検索擬似乱数部13で生成された擬似乱数140に基づき、検索語を生成する機能である。第2の機能は、類似検索制御部10内部で、データの転送を仲介する機能である。   The search word control unit 15 has two functions. The first function is a function for generating a search term based on the pseudorandom number 140 generated by the search pseudorandom number unit 13. The second function is a function that mediates data transfer within the similar search control unit 10.

次に、ストレージ装置1の動作について説明する。   Next, the operation of the storage apparatus 1 will be described.

まず、ストレージ装置1に格納される索引語250のデータ構造について、説明する。   First, the data structure of the index word 250 stored in the storage device 1 will be described.

ここで、図6は、索引語250の一例を示す図である。図6の一行目の索引語250は、擬似乱数1と、2つのファイル識別子を対応付けている。また、図6の二行目の索引語250は、擬似乱数2と1つのファイル識別子を対応付けている。このように、ストレージ装置1に格納されている全てのファイルデータについて、索引語250が存在する。そして、それぞれの索引語250は、擬似乱数とファイル識別子を対応付ける構造となっている。   Here, FIG. 6 is a diagram illustrating an example of the index word 250. The index word 250 on the first line in FIG. 6 associates the pseudo random number 1 with two file identifiers. Also, the index word 250 in the second row in FIG. 6 associates the pseudo random number 2 with one file identifier. As described above, the index word 250 exists for all the file data stored in the storage device 1. Each index word 250 has a structure that associates a pseudo-random number with a file identifier.

次に、図7のフローチャートを用いて、ストレージ装置1へのファイルデータ格納処理、及び索引語生成処理について説明する。   Next, file data storage processing in the storage apparatus 1 and index word generation processing will be described using the flowchart of FIG.

まず、データ格納クライアント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 storage apparatus 1. Here, the write request 202 includes storage target file data 200 and a file identifier 203 indicating the storage destination. Then, the data storage interface unit 40 acquires the storage target file data 200 and the file identifier 203 (step S110).

次に、データ格納インターフェース部40は、ファイルシステム50を介して、書き込み要求202を格納処理制御部21に転送する。そして、格納処理制御部21は、格納対象ファイルデータ200を格納チャンクデータ生成部22へ転送する。その後、格納チャンクデータ生成部22は、格納対象ファイルデータ200を分割する(ステップS120)。なお、以下の説明では、ステップS120の処理で分割したデータ(チャンクデータ)列をチャンクデータ列210として説明する。ステップS120の処理の後、個々のチャンクデータ230に、序列に対応する番号を付与する。   Next, the data storage interface unit 40 transfers the write request 202 to the storage processing control unit 21 via the file system 50. Then, the storage processing control unit 21 transfers the storage target file data 200 to the storage chunk data generation unit 22. Thereafter, the storage chunk data generation unit 22 divides the storage target file data 200 (step S120). In the following description, the data (chunk data) sequence divided in step S120 will be described as the chunk data sequence 210. After the process of step S120, a number corresponding to the rank is assigned to each chunk data 230.

ここで、格納チャンクデータ生成部22は、ファイルデータの複数の分割方法を採用することも好ましい。例えば、ファイルデータを解析し、データの分割方法を選択することも好ましい。ただし、本実施形態に係るストレージ装置1では、全てのファイルデータを固定サイズで分割する方法について説明する。複数の分割方法を採用する形態については、実施形態2に係るストレージ装置1として、説明する。   Here, the storage chunk data generation unit 22 preferably employs a plurality of file data division methods. For example, it is also preferable to analyze file data and select a data division method. However, in the storage apparatus 1 according to the present embodiment, a method of dividing all file data with a fixed size will be described. A configuration employing a plurality of division methods will be described as the storage apparatus 1 according to the second embodiment.

次に、格納チャンクデータ生成部22は、格納処理制御部21を介して、それぞれのチャンクデータ230を格納擬似乱数部23へ転送する。その後、格納擬似乱数部23は、それぞれのチャンクデータ230について、擬似乱数240を算出する(ステップS130)。   Next, the storage chunk data generation unit 22 transfers the respective chunk data 230 to the storage pseudorandom number unit 23 via the storage processing control unit 21. Thereafter, the stored pseudorandom number unit 23 calculates a pseudorandom number 240 for each chunk data 230 (step S130).

そして、格納擬似乱数部23は、擬似乱数240を格納処理制御部21へ転送する。その後、格納対象ファイルデータ200と重複するファイルデータがストレージ装置1に格納されているか否かを、格納処理制御部21は確認する(ステップS140)。この場合に、格納処理制御部21は、ステップS130で算出した擬似乱数240を含む索引語250が、索引語格納部30に存在するかを確認する。   Then, the stored pseudorandom number unit 23 transfers the pseudorandom number 240 to the storage processing control unit 21. Thereafter, the storage processing control unit 21 checks whether or not file data that overlaps with the storage target file data 200 is stored in the storage device 1 (step S140). In this case, the storage processing control unit 21 confirms whether or not the index word 250 including the pseudo random number 240 calculated in step S <b> 130 exists in the index word storage unit 30.

さらに、図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 processing control unit 21 refers to the index words 250 stored in the index word storage unit 30 in order. Then, the storage processing control unit 21 determines whether or not the index word 250 including the pseudo random number that matches the pseudo random number 240 is stored in the index word storage unit 30 (step S210).

ステップ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 processing control unit 21 acquires the storage destination address 201 associated with the index word 250 that matches the pseudorandom number. In addition, the storage processing control unit 21 adds the file identifier 203 included in the write request 202 to the index word 250 matched with the pseudorandom number (step S220). Further, the storage processing control unit 21 transfers the chunk data 230 that is the calculation source of the pseudo random number 240 to the file system 50. In addition, the storage processing control unit 21 transfers a number corresponding to the rank of the chunk data 230 to the file system 50. Further, the storage processing control unit 21 transfers the pseudo random number 240 to the file system 50. In addition, the storage processing control unit 21 transfers the storage destination address 201 to the file system 50. Then, the storage processing control unit 21 notifies the file system 50 that the chunk data 230 from which the pseudo random number 240 is calculated is duplicated. Thereafter, the file system 50 updates the metadata managed by the file system 50 based on the notification from the storage processing control unit 21 (step S230).

一方、ステップ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 processing control unit 21 newly creates an index word 250 (step S240). In this case, the storage processing control unit 21 associates the pseudo-random number 240 and the file identifier 203 included in the write request 202 with the index word 250 to be created. Then, the storage process control unit 21 stores the created index word 250 in the index word storage unit 30. Thereafter, the storage processing control unit 21 transfers the chunk data 23 from which the pseudo random number 240 is calculated to the file system 50. In addition, the storage processing control unit 21 transfers the number corresponding to the rank of the chunk data to the file system 50. Further, the storage processing control unit 21 transfers the pseudo random number 240 to the file system 50. In addition, the storage processing control unit 21 transfers the file identifier 203 to the file system 50. Then, the storage processing unit 21 notifies the file system 50 that the chunk data 230 from which the pseudo random number 240 is calculated is not duplicated.

次に、ファイルシステム50は、格納処理部21からの通知に基づき、チャンクデータ230の格納領域をデータ格納部60に確保する。その後、ファイルシステム50は、データ格納部60にチャンクデータ230を格納する(ステップS250)。そして、ファイルシステム50は、ファイルのメタデータを更新する(ステップS260)。なお、更新するメタデータには、チャンクデータ230の格納先アドレス201を含む。   Next, the file system 50 secures a storage area for the chunk data 230 in the data storage unit 60 based on the notification from the storage processing unit 21. Thereafter, the file system 50 stores the chunk data 230 in the data storage unit 60 (step S250). Then, the file system 50 updates the file metadata (step S260). Note that the metadata to be updated includes the storage destination address 201 of the chunk data 230.

その後、ファイルシステム50は、擬似乱数240を格納処理制御部21に転送する。かつ、ファイルシステム50は、チャンクデータ230の格納先アドレス201を格納処理制御部21に転送する。そして、格納処理制御部21は、ステップS230の処理で作成した索引語250に、受け取った格納先アドレス201を追加する(ステップS270)。   Thereafter, the file system 50 transfers the pseudo random number 240 to the storage processing control unit 21. In addition, the file system 50 transfers the storage destination address 201 of the chunk data 230 to the storage processing control unit 21. Then, the storage process control unit 21 adds the received storage destination address 201 to the index word 250 created in the process of step S230 (step S270).

重複排除制御部20は、全ての書き込み要求202に対して、以上の処理を行なう。その後、ファイルシステム50は、データ格納インターフェース部40を介して、データ格納クライアント2へ処理終了を通知する。   The deduplication control unit 20 performs the above processing for all the write requests 202. Thereafter, the file system 50 notifies the data storage client 2 of the end of processing via the data storage interface unit 40.

ここで、図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 storage apparatus 1 acquires a write request 202 (step S110). Here, the write request 202 includes storage target file data 200 and a file identifier 203. In the case of FIG. 9, the file identifier 203 indicates file_id3. Then, the storage device 1 generates a chunk data string 210 (step S120). In the case of FIG. 9, the chunk data sequence 210 has two chunk data 230. After the process of step S120, the storage apparatus 1 calculates a pseudo random number sequence 220 based on the chunk data sequence 210 (step S130). In the case of FIG. 9, the pseudo random number sequence 220 includes two pseudo random numbers D240p and D240r. Here, in the case of FIG. 9, the index word storage unit 30 stores an index word 250p and an index word 250q. The index word 250p includes a pseudo random number D240p. Furthermore, the index word 250p associates the file identifiers file_id1 and file_id2 with the pseudorandom number 240p. On the other hand, the index word 250q includes a pseudo random number D240q. Further, the index word 250q associates the file identifier file_id4 with the pseudorandom number D240q.

ここで、擬似乱数列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 storage apparatus 1 adds file_id3 to the index word 250p.

以上より、本実施形態に係るストレージ装置1は、重複データの格納を排除することができる。かつ、ストレージ装置1は、索引語の登録時に、ストレージ装置1で管理するデータの一部を利用している。従って、本実施形態に係るストレージ装置1では、索引語の格納のためのストレージリソースの消費を抑えることができる。   As described above, the storage apparatus 1 according to this embodiment can eliminate the storage of duplicate data. In addition, the storage apparatus 1 uses a part of the data managed by the storage apparatus 1 at the time of index word registration. Therefore, in the storage device 1 according to the present embodiment, it is possible to suppress consumption of storage resources for storing index words.

次に、図10のフローチャートを用いて、類似検索処理について説明する。   Next, the similarity search process will be described with reference to the flowchart of FIG.

本実施形態に係るストレージ装置1では、検索条件は、ファイルデータである。また、検索結果は、検索条件と類似するファイルが格納されているパス名のリストである。   In the storage apparatus 1 according to the present embodiment, the search condition is file data. The search result is a list of path names in which files similar to the search condition are stored.

まず、検索クライアント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 storage device 1 as a search condition. At that time, the storage apparatus 1 acquires the search file data 150 via the search interface unit 11 (step S310). Then, the search interface unit 11 transfers the search file data 150 to the similarity search unit 14. Thereafter, the similarity search unit 14 transfers the search file data 150 to the search word control unit 15.

次に、検索語制御部15は、検索ファイルデータ150を検索チャンクデータ生成部12へ転送する。そして、検索チャンクデータ生成部12は、格納チャンクデータ生成部と同様の処理を行なう。そして、検索チャンクデータ生成部12はチャンクデータ列110を生成する(ステップS320)。ただし、検索チャンクデータ生成部12は、格納チャンクデータ生成部22と同一のチャンクデータ生成方法を採用するものとする。   Next, the search word control unit 15 transfers the search file data 150 to the search chunk data generation unit 12. Then, the search chunk data generation unit 12 performs the same process as the storage chunk data generation unit. Then, the search chunk data generation unit 12 generates a chunk data string 110 (step S320). However, the search chunk data generation unit 12 adopts the same chunk data generation method as the storage chunk data generation unit 22.

次に、検索チャンクデータ生成部12は、検索語制御部15を介して、チャンクデータ列110を検索擬似乱数部13へ転送する。その後、検索擬似乱数部13は、索引擬似乱数部23と同様の処理を行なう。そして、検索擬似乱数部13は、チャンクデータ列110内のそれぞれのチャンクデータ130について、擬似乱数140を算出する(ステップS330)。ただし、検索擬似乱数部13は、格納擬似乱数部23と同一の擬似乱数生成法を採用するものとする。   Next, the search chunk data generation unit 12 transfers the chunk data sequence 110 to the search pseudorandom number unit 13 via the search word control unit 15. Thereafter, the search pseudorandom number unit 13 performs the same process as the index pseudorandom number unit 23. Then, the search pseudorandom number unit 13 calculates a pseudorandom number 140 for each chunk data 130 in the chunk data sequence 110 (step S330). However, the search pseudorandom number unit 13 adopts the same pseudorandom number generation method as the stored pseudorandom number unit 23.

次に、検索擬似乱数部13は、検索語制御部14を介して、全ての擬似乱数140を類似検索部14へ転送する。そして、擬似乱数140を含む索引語250が、索引語格納部30に存在するか否かを、類似検索部14は判断する(ステップS340)。ステップS340の条件を満たす場合には、類似検索部14は、合致した索引語250に対応付けられているファイル識別子203のリストを取得する(ステップS350)。そして、類似検索部14は、すべての擬似乱数140について、ステップS340の条件を判断する。   Next, the search pseudorandom number unit 13 transfers all the pseudorandom numbers 140 to the similarity search unit 14 via the search word control unit 14. Then, the similarity search unit 14 determines whether or not the index word 250 including the pseudo random number 140 exists in the index word storage unit 30 (step S340). When the condition of step S340 is satisfied, the similarity search unit 14 acquires a list of file identifiers 203 associated with the matched index word 250 (step S350). And the similarity search part 14 judges the conditions of step S340 about all the pseudorandom numbers 140. FIG.

その後、類似検索部14は、全ての擬似乱数140について、ステップS340の条件を判断したとする。その場合、類似検索部14は、取得したそれぞれのファイル識別子について、ファイルパスをファイルシステム50から取得する。そして、類似検索部14は、類似検索結果160として、取得したファイルパスのリストを検索インターフェース部11へ転送する。最後に、検索インターフェース部11は、類似検索結果160を検索クライアント3へ返送する(ステップS360)。   Thereafter, it is assumed that the similarity search unit 14 determines the condition of step S340 for all the pseudorandom numbers 140. In this case, the similarity search unit 14 acquires a file path from the file system 50 for each acquired file identifier. Then, the similarity search unit 14 transfers the acquired file path list to the search interface unit 11 as the similarity search result 160. Finally, the search interface unit 11 returns the similar search result 160 to the search client 3 (step S360).

以上より、本実施形態に係るストレージ装置1の第1の効果は、ファイルデータの種類に依存せず、格納されたファイルデータに対して、類似検索を実現できることである。また、本実施形態に係るストレージ装置1では、類似検索時に、ファイルデータに関する事前情報が不要である。従って、本実施形態に係るストレージ装置1は、未知のバイナリデータであっても、類似検索の対象とすることができるストレージ装置、その制御方法、及びプログラムを提供できる。   As described above, the first effect of the storage apparatus 1 according to the present embodiment is that a similarity search can be realized for stored file data without depending on the type of file data. Further, in the storage device 1 according to the present embodiment, prior information regarding file data is not required at the time of similarity search. Therefore, the storage apparatus 1 according to the present embodiment can provide a storage apparatus, a control method thereof, and a program that can be subjected to similarity search even for unknown binary data.

本実施形態に係るストレージ装置1の第2の効果は、索引語の格納のためのストレージリソースの消費を抑えることができることである。なぜなら、本実施形態に係るストレージ装置1は、ストレージ管理データの一部を索引語として登録しているからである。従って、少ないメモリ資源で、上記第1の効果を有するストレージ装置を提供できる。   A second effect of the storage apparatus 1 according to the present embodiment is that consumption of storage resources for storing index words can be suppressed. This is because the storage apparatus 1 according to the present embodiment registers a part of the storage management data as an index word. Therefore, the storage apparatus having the first effect can be provided with a small amount of memory resources.

[第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 storage apparatus 1 according to the present embodiment, the chunk data generation method is changed according to the file data. Thereby, the possibility that the same pseudorandom number is calculated can be reduced.

まず、データフォーマットが既知の場合について説明する。データフォーマットが既知の場合には、データフォーマットの構造に基づき、チャンクデータを生成する。例えば、タグを利用したマークアップ言語で記述されたデータを考える。その場合には、それぞれのタグに基づき、チャンクデータを生成できる。   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 storage apparatus 1 according to the present embodiment uses only one of a fixed size division method and a variable length size division method.

以上より、本実施形態に係るストレージ装置1では、ファイルデータ内部の解析に基づき、チャンクデータ生成方法を変更する。その結果、非類似のファイルデータに対して、同一の擬似乱数が算出される可能性が低くなる。従って、本実施形態に係るストレージ装置1は、実施形態1に係るストレージ装置1より、類似検索結果の精度が向上する。   As described above, in the storage apparatus 1 according to the present embodiment, the chunk data generation method is changed based on the analysis inside the file data. As a result, it is less likely that the same pseudorandom number is calculated for dissimilar file data. Therefore, the storage apparatus 1 according to the present embodiment improves the accuracy of the similarity search result compared to the storage apparatus 1 according to the first embodiment.

[第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 similarity search unit 14 determines whether or not the pseudo random number 140 matches the pseudo random number 240 stored in the index word storage unit 30 (step S340). For all the pseudo random numbers 140 in the pseudo random number sequence 120, the similarity search unit 14 determines the condition of step S340. Here, the more similar file data, the more pseudo-random numbers of chunk data match. That is, the number that the pseudo random number 140 and the pseudo random number 240 match represents the similarity of the file data. Therefore, in order to present the similarity of file data to the user, it is preferable to sort the corresponding file identifiers based on the number of matching pseudo-random numbers 140 and pseudo-random numbers 240.

以上より、本実施形態に係るストレージ装置1では、類似度に基づき、類似検索結果をソートして出力する。その結果、ユーザは、検索条件としたファイルデータと、検索結果のファイルデータの類似度を把握できる。従って、本実施形態に係るストレージ装置1は、他の実施形態以上に有益なストレージ装置を提供できる。   As described above, the storage apparatus 1 according to the present embodiment sorts and outputs the similarity search results based on the similarity. As a result, the user can grasp the similarity between the file data as the search condition and the file data of the search result. Therefore, the storage apparatus 1 according to the present embodiment can provide a storage apparatus that is more useful than the other embodiments.

上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。   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 SYMBOLS 1 Storage apparatus 2 Data storage client 3 Search client 10 Similar search control part 11 Search interface part 12 Search chunk data generation part 13 Search pseudorandom number part 14 Similar search part 15 Search word control part 20 Deduplication control part 21 Storage process control part 22 Stored chunk data generation unit 23 Stored pseudo random number unit 30 Index word storage unit 40 Data storage interface unit 50 File system 60 Data storage unit 110, 210 Chunk data sequence 120, 220 Pseudo random number sequence 130, 230 Chunk data 140, 240 Pseudo random number 150 Search file data 160 Similar search result 200 Storage target file data 201 Storage destination address 202 Write request 203 File identifier 250 Index word

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.
JP2013554289A 2012-01-16 2013-01-15 Storage device, control method thereof, and program Pending JPWO2013108745A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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