JPWO2013108745A1 - ストレージ装置、その制御方法、及びプログラム - Google Patents

ストレージ装置、その制御方法、及びプログラム 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
English (en)
Inventor
山川 聡
聡 山川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2013554289A priority Critical patent/JPWO2013108745A1/ja
Publication of JPWO2013108745A1 publication Critical patent/JPWO2013108745A1/ja
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

ストレージ装置内に格納されるデータが増えるほど、ユーザが所望するデータを検索することが困難となる。従って、未知のバイナリデータであっても、類似検索対象とすることができるストレージ装置が、望まれる。重複するファイルデータの格納を排除する重複排除制御部と、格納対象ファイルデータに基づく擬似乱数を索引語として格納する索引語格納部と、検索対象ファイルデータを取得する検索インターフェース部と、検索対象ファイルデータを分割して、検索チャンクデータ列を生成する検索チャンクデータ生成部と、検索チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する検索擬似乱数部と、擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索部と、を備えることを特徴とするストレージ装置が、提供される。(図1)

Description

[関連出願についての記載]
本発明は、日本国特許出願:特願2012−006566号(2012年1月16日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、ストレージ装置、その制御方法、及びプログラムに関する。特に検索対象ファイルデータに類似する複数のファイルのパスを検索結果とする検索システム、その制御方法、及びプログラムに関する。
ストレージ装置にデータを格納する際に、既に格納されているデータとの重複確認をすることは有用である。このような重複排除型ストレージ装置は、データの保存コストを低減する技術として、多数のシステムにおいて、活用が進んでいる。
ここで、特許文献1において、ストレージ装置に重複排除処理を集中させることにより、高速にデータの書き込みをできる技術が開示されている。
特開2011−203842号公報
なお、上記先行技術文献の開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明の観点からなされたものである。
上述のとおり、重複排除機能を備えるストレージ装置は、物理的な記憶容量を削減することができる。従って、ストレージ装置は、重複排除機能を備えることによって、膨大なデータを格納することができるようになる。しかし、ストレージ装置内に格納されるデータが増えるほど、ユーザが所望するデータを検索することが困難となる。
特許文献1では、ストレージ装置の重複排除技術が開示されている。しかし、特許文献1では、ストレージ装置内に格納されたデータから、所望するデータを抽出する技術は開示されていない。
ここで、検索用の索引語を予め作成することは、検索条件に類似するデータを抽出する上で有用な方法である。しかし、検索用の索引語作成にあたって、検索対象のファイルデータについての事前情報が必要となる。ファイルデータについての事前情報を抽出するには、様々な方法がある。例えば、文書データに対しては、検索用のインデックス作成のために、文書データから単語を抽出する方法がある。また、画像データに対しては、検索用のインデックス作成のために、画像データから色、形状を抽出する方法がある。
しかし、ファイルデータのフォーマットが分からず、ファイルデータについての事前情報を抽出できない場合もある。そのため、ストレージ装置に格納されたデータを検索する際には、検索条件とするファイルデータの種類を限定する必要が生じている。
従って、未知のバイナリデータであっても、類似検索対象とすることができるストレージ装置、その制御方法、及びプログラムが、提供される。
本発明の第1の視点によれば、重複するファイルデータの格納を排除する重複排除制御部と、格納対象ファイルデータに基づく擬似乱数を索引語として格納する索引語格納部と、検索対象ファイルデータを取得する検索インターフェース部と、検索対象ファイルデータを分割して、検索チャンクデータ列を生成する検索チャンクデータ生成部と、前記検索チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する検索擬似乱数部と、前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索部と、を備えるストレージ装置が、提供される。
本発明の第2の視点によれば、重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置の制御方法であって、前記ファイルデータを分割して、チャンクデータ列を生成するチャンクデータ生成工程と、前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数生成工程と、前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索工程と、を含むストレージ装置の制御方法が、提供される。
なお、本方法は、上記したストレージ装置を構成するコンピュータというハードウェアを用いて、実施可能である。
本発明の第3の視点によれば、重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置の制御するコンピュータに実行させるプログラムであって、前記ファイルデータを分割して、チャンクデータ列を生成するチャンクデータ生成処理と、前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数算出処理と、前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索処理と、を実行するプログラムが、提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non−transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
本発明の各視点によれば、未知のバイナリデータであっても、類似検索対象とすることができるストレージ装置、その制御方法、及びプログラムが提供される。
本発明の一実施形態を説明するための図である。 本発明の第1の実施形態に係るストレージ装置1を導入したシステム構成の一例を示す図である。 ストレージ装置1の内部構成の一例を示す図である。 重複排除制御部20の内部構成の一例を示す図である。 類似検索制御部10の内部構成の一例を示す図である。 索引語250の一例を示す図である。 ストレージ装置1へのデータ格納処理のフローチャートである。 索引語250の作成処理のフローチャートである。 索引語250の作成処理の一例を示す図である。 類似検索処理のフローチャートである。
初めに、図1を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図したものではない。
上述のように、類似するファイルデータを検索するために、ファイルデータに関する事前情報が必要となる場合がある。しかし、フォーマットが分からず、ファイルデータに関する事前情報を抽出できない場合もある。そのため、ストレージ装置の検索機能は、検索条件とできるファイルデータの種類を限定している。従って、未知のバイナリデータであっても、類似検索対象とすることができるストレージ装置、その制御方法、及びプログラムが、望まれる。
そこで、一例として図1に示すストレージ装置1を提供する。図1に示すストレージ装置1は、重複するファイルデータの格納を排除する重複排除制御部と、格納対象ファイルデータに基づく擬似乱数を索引語として格納する索引語格納部と、検索対象ファイルデータを取得する検索インターフェース部と、検索対象ファイルデータを分割して、検索チャンクデータ列を生成する検索チャンクデータ生成部と、検索チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する検索擬似乱数部と、擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索部と、を備える。
まず、ストレージ装置1は、重複排除制御部20を備えている。重複排除制御部20は、2つの機能を有する。第1の機能は、重複するファイルデータの格納を排除する処理を行なうことである。第2の機能は、検索処理のための索引語を生成する処理を行なうことである。
また、ストレージ装置1は、検索インターフェース部11を備えている。検索インターフェース部11は、検索対象ファイルデータを取得する。ここで、検索対象ファイルデータは、外部から検索条件として指定されるファイルデータである。
さらに、ストレージ装置1は、検索チャンクデータ生成部12を備えている。検索チャンクデータ生成部12は、ファイルデータを複数のブロックデータ(以下、チャンクデータ)に分割する。チャンクデータとは、分割後のデータの塊のことである。従って、検索チャンクデータ生成部12は、ファイルデータのチャンクデータ列を生成することができる。
そして、ストレージ装置1は、検索擬似乱数部13を備えている。検索擬似乱数部13は、擬似乱数生成法により、ファイルデータのチャンクデータの擬似乱数を算出する。
擬似乱数とは、乱数のように見えるが、実際には、確定的な計算によって求めている数列をいう。真の乱数は、本来、規則性も再現性もない数列である。一方、擬似乱数は、計算によって作り、再現性のある数列である。また擬似乱数生成法とは、擬似乱数を生成するアルゴリズムを意味する。
ここで、ストレージ装置1は、全てのファイルデータに対して、同一の擬似乱数生成法を用いる。なお、擬似乱数生成法は、SHA1(Secure Hash Algorithm 1)や、MD5(Message Digest 5)等、各種存在するがその方式は問わない。ただし、擬似乱数の衝突が発生しにくいアルゴリズムを選択することが好ましい。
さらに、ストレージ装置1は、類似検索部14を備えている。類似検索部14は、検索語として、検索擬似乱数部13で生成される擬似乱数を用いる。この擬似乱数は、ファイルデータに関する事前情報に依存していない。
次に、ストレージ装置1は、索引語格納部30を備えている。索引語格納部30は、索引語を格納する。ここで、索引語は、格納対象ファイルデータに基づく擬似乱数を含むものとする。
ここで、重複排除制御部20は、ファイルデータに基づく擬似乱数を索引語として登録する。まず、重複排除制御部20は、検索チャンクデータ生成部12と同一の方法で、格納対象ファイルデータのチャンクデータを生成する。そして、重複排除制御部20は、検索擬似乱数部13と同一の擬似乱数生成法により、擬似乱数を算出する。なお、重複排除制御部20で生成される擬似乱数についても、ファイルデータに関する事前情報に依存していない。
そして、類似検索部14は、検索語に含まれる擬似乱数と、索引語に含まれる擬似乱数を照合し、類似基準を満たす全ての索引語を抽出する。
以上より、ストレージ装置1は、擬似乱数によって、データに固有の特徴量を取得することができる。かつ、チャンクデータの擬似乱数の比較によって、データの一部が合致するか否かを、ストレージ装置1は判断できる。
従って、未知のバイナリデータであっても、類似検索対象とすることができるストレージ装置、その制御方法、及びプログラムを提供できる。
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。
[第1の実施形態]
本発明の第1の実施形態について、図面を用いてより詳細に説明する。
図2は、本実施形態に係るストレージ装置1を導入したシステム構成の一例である。
ストレージ装置1を導入したシステムは、ストレージ装置1、データ格納クライアント2、検索クライアント3より構成される。そして、ストレージ装置1、及びデータ格納クライアント2、及び検索クライアント3はネットワークを介して接続されている。ネットワークは、NFS(Network File System)や、CIFS(Common Internet File System)等の業界標準のプロトコルを用いて実現する。また、プロトコルの方式は問わない。
ここで、データ格納クライアント2は、ストレージ装置1へのデータの読み書きの要求を発行する。つまり、データ格納クライアント2は、ストレージ装置1に格納されているデータに対するアクセス要求を発行する。
また、検索クライアント3は、ストレージ装置1へのファイル検索要求を発行する。そして、検索クライアント3は、検索条件として、ファイルデータをストレージ装置1へ転送する。その後、ストレージ装置1は、検索を実行し、検索結果を検索クライアント3へ返送する。ここで、検索結果は、検索条件のファイルデータに類似するファイルのパスのリストである。
なお、データ格納クライアント2、及び検索クライアント3は、それぞれ複数のマシンから構成される形態でもよい。ただし、以下の説明では、簡単のため、データ格納クライアント2、及び検索クライアント3が、それぞれ一台のマシンから構成されるものとして説明する。
次に、図3は、ストレージ装置1の内部構成の一例を示す図である。
ストレージ装置1は、類似検索制御部10、検索インターフェース部11、重複排除制御部20、索引語格納部30、データ格納インターフェース部40、ファイルシステム50、データ格納部60を備える。図3には、簡単のため、本実施形態に係るストレージ装置1に関係するモジュールのみを記載する。
まず、データ格納インターフェース部40は、データ格納クライアント2との対話を行なう。つまり、データ格納インターフェース部40は、データ格納クライアント2の発行した要求の授受、及び応答の送信を行なう。なお、データ格納インターフェース部40は、NFSやCIFS等のリモートファイルアクセスプロトコルに基づき、データ格納クライアント2との要求の送受信を行なう。上述のとおり、プロトコルの方式は問わない。
次に、ファイルシステム50は、ストレージ装置1でのファイル管理を行なう。まず、ファイルシステム50は、ファイルのメタデータの制御を行なう。ここで、ファイルのメタデータとは、あるデータについての抽象度の高い付加的なデータを指す。例えば、メタデータは、データの作成日時や作成者、データ形式、アクセス情報等を含む。また、メタデータは、データ格納部60へのデータの格納先のアドレスを含む。かつ、ファイルシステム50は、データ格納部60へデータの保存管理を行なう。ここで、保存管理するデータは、ファイルデータ、及びそのメタデータである。
また、データ格納部60は、記憶媒体を備える。ここで、データ格納部60は、ファイルシステム50からの読み書きの要求に応える。そして、データ格納部60は、ファイルシステム50から要求されたデータを記憶媒体に格納する。なお、データ格納部60、及び索引語格納部30が、同一の記憶媒体を共有する形態でもよい。
また、検索インターフェース部11は、検索クライアント3との対話を行なう。つまり、検索インターフェース部11は、検索クライアント3の発行した要求の授受、及び検索結果の返送を行なう。なお、検索インターフェース部11は、NFSやCIFS等のリモートファイルアクセスプロトコルに基づき、検索クライアント3との要求の送受信を行なう。上述のとおり、プロトコルの方式は問わない。
また、上述のとおり、索引語格納部30は、索引語を格納する。ここで、索引語格納部30は、記憶媒体を備える。例えば、記憶媒体には、HDD(Hard Disk Drive)が好ましい。そして、索引語格納部30は、重複排除制御部20で生成された索引語、及び重複検査用のデータを記憶媒体に格納する。
次に、図4は、重複排除制御部20の内部構成の一例を示す図である。
重複排除制御部20は、格納処理制御部21、格納チャンクデータ生成部22、格納擬似乱数部23を備える。
まず、格納処理制御部21は、格納対象ファイルデータの重複の有無の確認を行なう。ここで、格納対象ファイルデータとは、ファイルシステム50に対して書き込み要求のあったファイルデータを指す。かつ、格納処理制御部21は、索引語250の生成、及び更新を行なう。
次に、格納チャンクデータ生成部22は、検索チャンクデータ生成部12と同様の処理を行なう。従って、格納チャンクデータ生成部22は、格納対象ファイルデータ200のチャンクデータ列210を生成することができる。
格納擬似乱数部23は、検索擬似乱数部13と同様の処理を行なう。従って、格納擬似乱数部23は、チャンクデータ列210から擬似乱数240を生成することができる。
次に、図5は、類似検索制御部10の内部構成の一例を示す図である。
類似検索制御部10は、検索チャンクデータ生成部12、検索擬似乱数部13、類似検索部14、検索語制御部15を備える。なお、検索チャンクデータ生成部12、検索擬似乱数部13は上述のとおりである。よって、さらなる説明を省略する。
上述のとおり、類似検索部14は、検索語に含まれる擬似乱数と、索引語に含まれる擬似乱数を照合する。そして、類似基準を満たす全ての索引語250を抽出する。ここで、類似検索部14は、索引語格納部30から索引語250を参照する。そして、類似検索部14は、索引語250に対応付けられたファイル識別子203のリストを取得する。次に、類似検索部14は、ファイル識別子203のリストに基づき、ファイルパスのリストを取得する。ファイルパスは、ファイルシステム50が管理している。従って、類似検索部14は、ファイルシステム50を介して、ファイルパスのリストを取得する。その後、類似検索部14は、検索インターフェース部11を介して、取得したファイルパスのリストを検索クライアント3へ返送する。
検索語制御部15は、2つの機能を有する。第1の機能は、検索擬似乱数部13で生成された擬似乱数140に基づき、検索語を生成する機能である。第2の機能は、類似検索制御部10内部で、データの転送を仲介する機能である。
次に、ストレージ装置1の動作について説明する。
まず、ストレージ装置1に格納される索引語250のデータ構造について、説明する。
ここで、図6は、索引語250の一例を示す図である。図6の一行目の索引語250は、擬似乱数1と、2つのファイル識別子を対応付けている。また、図6の二行目の索引語250は、擬似乱数2と1つのファイル識別子を対応付けている。このように、ストレージ装置1に格納されている全てのファイルデータについて、索引語250が存在する。そして、それぞれの索引語250は、擬似乱数とファイル識別子を対応付ける構造となっている。
次に、図7のフローチャートを用いて、ストレージ装置1へのファイルデータ格納処理、及び索引語生成処理について説明する。
まず、データ格納クライアント2が、ストレージ装置1に対して、ファイルデータの書き込み要求202を発行する。ここで、書き込み要求202には、格納対象ファイルデータ200、及び格納先を示すファイルの識別子203を含む。そして、データ格納インターフェース部40は、格納対象ファイルデータ200、及びファイル識別子203を取得する(ステップS110)。
次に、データ格納インターフェース部40は、ファイルシステム50を介して、書き込み要求202を格納処理制御部21に転送する。そして、格納処理制御部21は、格納対象ファイルデータ200を格納チャンクデータ生成部22へ転送する。その後、格納チャンクデータ生成部22は、格納対象ファイルデータ200を分割する(ステップS120)。なお、以下の説明では、ステップS120の処理で分割したデータ(チャンクデータ)列をチャンクデータ列210として説明する。ステップS120の処理の後、個々のチャンクデータ230に、序列に対応する番号を付与する。
ここで、格納チャンクデータ生成部22は、ファイルデータの複数の分割方法を採用することも好ましい。例えば、ファイルデータを解析し、データの分割方法を選択することも好ましい。ただし、本実施形態に係るストレージ装置1では、全てのファイルデータを固定サイズで分割する方法について説明する。複数の分割方法を採用する形態については、実施形態2に係るストレージ装置1として、説明する。
次に、格納チャンクデータ生成部22は、格納処理制御部21を介して、それぞれのチャンクデータ230を格納擬似乱数部23へ転送する。その後、格納擬似乱数部23は、それぞれのチャンクデータ230について、擬似乱数240を算出する(ステップS130)。
そして、格納擬似乱数部23は、擬似乱数240を格納処理制御部21へ転送する。その後、格納対象ファイルデータ200と重複するファイルデータがストレージ装置1に格納されているか否かを、格納処理制御部21は確認する(ステップS140)。この場合に、格納処理制御部21は、ステップS130で算出した擬似乱数240を含む索引語250が、索引語格納部30に存在するかを確認する。
さらに、図8のフローチャートを用いて、ステップS140の処理について、詳細に説明する。
まず、格納処理制御部21は、索引語格納部30に格納されている索引語250を順に参照する。そして、擬似乱数240と合致する擬似乱数を含む索引語250が、索引語格納部30に格納されているか否かを、格納処理制御部21は判断する(ステップ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)。
一方、ステップ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へ通知する。
次に、ファイルシステム50は、格納処理部21からの通知に基づき、チャンクデータ230の格納領域をデータ格納部60に確保する。その後、ファイルシステム50は、データ格納部60にチャンクデータ230を格納する(ステップS250)。そして、ファイルシステム50は、ファイルのメタデータを更新する(ステップS260)。なお、更新するメタデータには、チャンクデータ230の格納先アドレス201を含む。
その後、ファイルシステム50は、擬似乱数240を格納処理制御部21に転送する。かつ、ファイルシステム50は、チャンクデータ230の格納先アドレス201を格納処理制御部21に転送する。そして、格納処理制御部21は、ステップS230の処理で作成した索引語250に、受け取った格納先アドレス201を追加する(ステップS270)。
重複排除制御部20は、全ての書き込み要求202に対して、以上の処理を行なう。その後、ファイルシステム50は、データ格納インターフェース部40を介して、データ格納クライアント2へ処理終了を通知する。
ここで、図9を用いて、索引語作成処理の一例を示す。
まず、ストレージ装置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を対応付けている。
ここで、擬似乱数列220p内の擬似乱数D240pは、擬似乱数列250p内にも存在する。従って、ステップS210の条件を満たす。よって、ステップS220に遷移する。ステップS220の処理として、ストレージ装置1は、索引語250pにfile_id3を追加する。
以上より、本実施形態に係るストレージ装置1は、重複データの格納を排除することができる。かつ、ストレージ装置1は、索引語の登録時に、ストレージ装置1で管理するデータの一部を利用している。従って、本実施形態に係るストレージ装置1では、索引語の格納のためのストレージリソースの消費を抑えることができる。
次に、図10のフローチャートを用いて、類似検索処理について説明する。
本実施形態に係るストレージ装置1では、検索条件は、ファイルデータである。また、検索結果は、検索条件と類似するファイルが格納されているパス名のリストである。
まず、検索クライアント3は、検索条件として、検索ファイルデータ150をストレージ装置1へ転送する。その際に、ストレージ装置1は、検索インターフェース部11を介して、検索ファイルデータ150を取得する(ステップS310)。そして、検索インターフェース部11は、検索ファイルデータ150を類似検索部14へ転送する。その後、類似検索部14は、検索ファイルデータ150を検索語制御部15へ転送する。
次に、検索語制御部15は、検索ファイルデータ150を検索チャンクデータ生成部12へ転送する。そして、検索チャンクデータ生成部12は、格納チャンクデータ生成部と同様の処理を行なう。そして、検索チャンクデータ生成部12はチャンクデータ列110を生成する(ステップS320)。ただし、検索チャンクデータ生成部12は、格納チャンクデータ生成部22と同一のチャンクデータ生成方法を採用するものとする。
次に、検索チャンクデータ生成部12は、検索語制御部15を介して、チャンクデータ列110を検索擬似乱数部13へ転送する。その後、検索擬似乱数部13は、索引擬似乱数部23と同様の処理を行なう。そして、検索擬似乱数部13は、チャンクデータ列110内のそれぞれのチャンクデータ130について、擬似乱数140を算出する(ステップS330)。ただし、検索擬似乱数部13は、格納擬似乱数部23と同一の擬似乱数生成法を採用するものとする。
次に、検索擬似乱数部13は、検索語制御部14を介して、全ての擬似乱数140を類似検索部14へ転送する。そして、擬似乱数140を含む索引語250が、索引語格納部30に存在するか否かを、類似検索部14は判断する(ステップS340)。ステップS340の条件を満たす場合には、類似検索部14は、合致した索引語250に対応付けられているファイル識別子203のリストを取得する(ステップS350)。そして、類似検索部14は、すべての擬似乱数140について、ステップS340の条件を判断する。
その後、類似検索部14は、全ての擬似乱数140について、ステップS340の条件を判断したとする。その場合、類似検索部14は、取得したそれぞれのファイル識別子について、ファイルパスをファイルシステム50から取得する。そして、類似検索部14は、類似検索結果160として、取得したファイルパスのリストを検索インターフェース部11へ転送する。最後に、検索インターフェース部11は、類似検索結果160を検索クライアント3へ返送する(ステップS360)。
以上より、本実施形態に係るストレージ装置1の第1の効果は、ファイルデータの種類に依存せず、格納されたファイルデータに対して、類似検索を実現できることである。また、本実施形態に係るストレージ装置1では、類似検索時に、ファイルデータに関する事前情報が不要である。従って、本実施形態に係るストレージ装置1は、未知のバイナリデータであっても、類似検索の対象とすることができるストレージ装置、その制御方法、及びプログラムを提供できる。
本実施形態に係るストレージ装置1の第2の効果は、索引語の格納のためのストレージリソースの消費を抑えることができることである。なぜなら、本実施形態に係るストレージ装置1は、ストレージ管理データの一部を索引語として登録しているからである。従って、少ないメモリ資源で、上記第1の効果を有するストレージ装置を提供できる。
[第2の実施形態]
続いて、第2の実施形態について、詳細に説明する。
本実施形態は、複数のチャンクデータ生成方法を備え、適切なチャンクデータ生成方法を選択する実施形態である。なお、本実施形態における説明では、第1の実施形態と重複する部分の説明は省略する。さらに、本実施形態における説明では、第1の実施形態と同一の構成要素には、同一の符号を付し、その説明を省略する。
上述のとおり、本願発明では、ファイルデータに基づく擬似乱数を照合し、類似検索を実現する。しかし、非類似のファイルデータであっても、同一の擬似乱数が算出される場合がある。つまり、擬似乱数が衝突する場合がある。この擬似乱数の衝突は、チャンクデータが類似した場合に発生する。そこで、本実施形態に係るストレージ装置1では、ファイルデータに応じて、チャンクデータ生成方法を変更する。これにより、同一の擬似乱数が算出される可能性を低くすることができる。
まず、データフォーマットが既知の場合について説明する。データフォーマットが既知の場合には、データフォーマットの構造に基づき、チャンクデータを生成する。例えば、タグを利用したマークアップ言語で記述されたデータを考える。その場合には、それぞれのタグに基づき、チャンクデータを生成できる。
次に、データフォーマットが未知の場合について、説明する。データフォーマットが未知の場合、第1の実施形態では、固定サイズでの分割方法を採用している。しかし、本実施形態では、固定サイズでの分割方法に加えて、適切な分割サイズを決定する方法(可変長サイズでの分割方法)も採用する。例えば、可変長サイズでの分割方法として、ファイルデータへのデータ挿入に伴うデータの切れ目を検出する方法がある。ただし、本実施形態に係るストレージ装置1は、固定サイズでの分割方法または可変長サイズでの分割方法のいずれか一方のみを用いるものとする。
以上より、本実施形態に係るストレージ装置1では、ファイルデータ内部の解析に基づき、チャンクデータ生成方法を変更する。その結果、非類似のファイルデータに対して、同一の擬似乱数が算出される可能性が低くなる。従って、本実施形態に係るストレージ装置1は、実施形態1に係るストレージ装置1より、類似検索結果の精度が向上する。
[第3の実施形態]
続いて、第3の実施形態について、詳細に説明する。
本実施形態は、類似度に基づき、類似検索結果をソートして出力する実施形態である。なお、本実施形態における説明では、第1の実施形態と重複する部分の説明は省略する。さらに、本実施形態における説明では、第1の実施形態と同一の構成要素には、同一の符号を付し、その説明を省略する。
上述のとおり、擬似乱数140が、索引語格納部30に格納されている擬似乱数240と合致するか否かを、類似検索部14は判断する(ステップS340)。擬似乱数列120内の全ての擬似乱数140について、類似検索部14はステップS340の条件を判断する。ここで、類似するファイルデータほど、多くのチャンクデータの擬似乱数が合致することとなる。つまり、擬似乱数140と擬似乱数240が合致する個数は、ファイルデータの類似度を表す。従って、ファイルデータの類似度をユーザに提示するには、擬似乱数140と擬似乱数240が合致する個数に基づき、対応するファイル識別子をソートすることが好ましい。
以上より、本実施形態に係るストレージ装置1では、類似度に基づき、類似検索結果をソートして出力する。その結果、ユーザは、検索条件としたファイルデータと、検索結果のファイルデータの類似度を把握できる。従って、本実施形態に係るストレージ装置1は、他の実施形態以上に有益なストレージ装置を提供できる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)重複するファイルデータの格納を排除する重複排除制御部と、格納対象ファイルデータに基づく擬似乱数を索引語として格納する索引語格納部と、検索対象ファイルデータを取得する検索インターフェース部と、検索対象ファイルデータを分割して、検索チャンクデータ列を生成する検索チャンクデータ生成部と、前記検索チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する検索擬似乱数部と、前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索部と、を備えるストレージ装置。
(付記2)前記重複排除制御部は、格納対象ファイルデータを分割して、格納チャンクデータ列を生成する格納チャンクデータ生成部と、前記格納チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する格納擬似乱数部と、格納擬似乱数部で算出した擬似乱数に基づき、索引語を生成する格納処理制御部と、を備えるストレージ装置。
(付記3)前記類似基準は、前記検索チャンクデータ列に基づく擬似乱数の列内に、索引語に含まれる擬似乱数を少なくとも1以上含むストレージ装置。
(付記4)前記類似検索部は、前記類似基準を満たした索引語をソートするストレージ装置。
(付記5)前記類似検索部は、前記類似基準を満たした擬似乱数の個数に基づき、索引語をソートするストレージ装置。
(付記6)擬似乱数としてハッシュ値を算出するストレージ装置。
(付記7)固定サイズでファイルデータを分割するストレージ装置。
(付記8)二以上のデータ分割方法から一のデータ分割方法を選択するストレージ装置。
(付記9)重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置の制御方法であって、前記ファイルデータを分割して、チャンクデータ列を生成するチャンクデータ生成工程と、前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数生成工程と、前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索工程と、を含むストレージ装置の制御方法。
(付記10)重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置の制御方法であって、擬似乱数に基づき、索引語を生成する索引語生成工程、を含むストレージ装置の制御方法。
(付記11)重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置の制御方法であって、前記検索チャンクデータ列に基づく擬似乱数の列内に、索引語に含まれる擬似乱数を少なくとも1以上含む、とする類似基準を満たした索引語をソートする工程、を含むストレージ装置の制御方法。
(付記12)重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置の制御方法であって、固定サイズでファイルデータを分割する工程、を含むストレージ装置の制御方法。
(付記13)重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置の制御方法であって、二以上のデータ分割方法から一のデータ分割方法を選択する工程、を含むストレージ装置の制御方法。
(付記14)重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置を制御するコンピュータに実行させるプログラムであって、前記ファイルデータを分割して、チャンクデータ列を生成するチャンクデータ生成処理と、前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数算出処理と、前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索処理と、を実行するプログラム。
(付記15)重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置を制御するコンピュータに実行させるプログラムであって、擬似乱数に基づき、索引語を生成する索引語生成処理、を実行するプログラム。
(付記16)重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置を制御するコンピュータに実行させるプログラムであって、前記検索チャンクデータ列に基づく擬似乱数の列内に、索引語に含まれる擬似乱数を少なくとも1以上含む、とする類似基準を満たした索引語をソートする処理、を実行するプログラム。
(付記17)重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置を制御するコンピュータに実行させるプログラムであって、固定サイズでファイルデータを分割する処理、を実行するプログラム。
(付記18)重複するファイルデータの格納を排除する重複排除制御部と、ファイルデータを取得する検索インターフェース部と、を備えるストレージ装置を制御するコンピュータに実行させるプログラムであって、二以上のデータ分割方法から一のデータ分割方法を選択する処理、を実行するプログラム。
なお、引用した上記の特許文献の開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
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 索引語

Claims (10)

  1. 重複するファイルデータの格納を排除する重複排除制御部と、
    格納対象ファイルデータに基づく擬似乱数を索引語として格納する索引語格納部と、
    検索対象ファイルデータを取得する検索インターフェース部と、
    検索対象ファイルデータを分割して、検索チャンクデータ列を生成する検索チャンクデータ生成部と、
    前記検索チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する検索擬似乱数部と、
    前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索部と、
    を備えることを特徴とするストレージ装置。
  2. 前記重複排除制御部は、
    格納対象ファイルデータを分割して、格納チャンクデータ列を生成する格納チャンクデータ生成部と、
    前記格納チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する格納擬似乱数部と、
    格納擬似乱数部で算出した擬似乱数に基づき、索引語を生成する格納処理制御部と、
    を備える請求項1に記載のストレージ装置。
  3. 前記類似基準は、
    前記検索チャンクデータ列に基づく擬似乱数の列内に、索引語に含まれる擬似乱数を少なくとも1以上含むこと、
    とする請求項1又は2に記載のストレージ装置。
  4. 前記類似検索部は、
    前記類似基準を満たした索引語をソートする、
    請求項1乃至3のいずれか一に記載のストレージ装置。
  5. 前記類似検索部は、
    前記類似基準を満たした擬似乱数の個数に基づき、索引語をソートする、
    請求項1乃至4のいずれか一に記載のストレージ装置。
  6. 擬似乱数としてハッシュ値を算出する、
    請求項1乃至5のいずれか一に記載のストレージ装置。
  7. 固定サイズでファイルデータを分割する、
    請求項1乃至6のいずれか一に記載のストレージ装置。
  8. 二以上のデータ分割方法から一のデータ分割方法を選択する、
    請求項1乃至7のいずれか一に記載のストレージ装置。
  9. 重複するファイルデータの格納を排除する重複排除制御部と、
    ファイルデータを取得する検索インターフェース部と、
    を備えるストレージ装置の制御方法であって、
    前記ファイルデータを分割して、チャンクデータ列を生成するチャンクデータ生成工程と、
    前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数生成工程と、
    前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索工程と、
    を含むことを特徴とするストレージ装置の制御方法。
  10. 重複するファイルデータの格納を排除する重複排除制御部と、
    ファイルデータを取得する検索インターフェース部と、
    を備えるストレージ装置の制御するコンピュータに実行させるプログラムであって、
    前記ファイルデータを分割して、チャンクデータ列を生成するチャンクデータ生成処理と、
    前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数算出処理と、
    前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索処理と、
    を実行するプログラム。
JP2013554289A 2012-01-16 2013-01-15 ストレージ装置、その制御方法、及びプログラム Pending JPWO2013108745A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013554289A JPWO2013108745A1 (ja) 2012-01-16 2013-01-15 ストレージ装置、その制御方法、及びプログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012006566 2012-01-16
JP2012006566 2012-01-16
JP2013554289A JPWO2013108745A1 (ja) 2012-01-16 2013-01-15 ストレージ装置、その制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
JPWO2013108745A1 true JPWO2013108745A1 (ja) 2015-05-11

Family

ID=48799170

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013554289A Pending JPWO2013108745A1 (ja) 2012-01-16 2013-01-15 ストレージ装置、その制御方法、及びプログラム

Country Status (2)

Country Link
JP (1) JPWO2013108745A1 (ja)
WO (1) WO2013108745A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6269102B2 (ja) 2014-01-27 2018-01-31 富士通株式会社 情報処理装置、インデックス作成制御方法及びインデックス作成制御プログラム
CN107025218B (zh) * 2017-04-07 2021-03-02 腾讯科技(深圳)有限公司 一种文本去重方法和装置
JP7099690B2 (ja) * 2018-03-16 2022-07-12 Necソリューションイノベータ株式会社 ストレージシステム、ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム
CN108399266B (zh) * 2018-03-23 2022-01-07 阿里巴巴(中国)有限公司 数据抽取方法、装置、电子设备及计算机可读存储介质

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 (ja) * 2007-04-04 2008-10-23 Nec Corp 類似ファイル管理装置、その方法及びそのプログラム
US8312032B2 (en) * 2008-07-10 2012-11-13 Google Inc. Dictionary suggestions for partial user entries
JP5291523B2 (ja) * 2009-04-21 2013-09-18 株式会社データ変換研究所 類似データ検索装置及びそのプログラム

Also Published As

Publication number Publication date
WO2013108745A1 (ja) 2013-07-25

Similar Documents

Publication Publication Date Title
RU2686590C1 (ru) Способ и устройство для сравнения схожих элементов высокоразмерных признаков изображений
US20170011058A1 (en) File versions within content addressable storage
US20230359381A1 (en) Deduplication decision based on metrics
EP3959643B1 (en) Property grouping for change detection in distributed storage systems
CN107193503B (zh) 一种数据重删方法及存储设备
US20150161154A1 (en) Files having unallocated portions within content addressable storage
CN110888837B (zh) 对象存储小文件归并方法及装置
US10846338B2 (en) Data processing device, data processing method, and non-transitory computer readable medium
US20140244794A1 (en) Information System, Method and Program for Managing the Same, Method and Program for Processing Data, and Data Structure
WO2013108745A1 (ja) ストレージ装置、その制御方法、及びプログラム
US10515055B2 (en) Mapping logical identifiers using multiple identifier spaces
CN114817232A (zh) 访问数据的方法及装置
US10048991B2 (en) System and method for parallel processing data blocks containing sequential label ranges of series data
CN107493309B (zh) 一种分布式***中的文件写入方法及装置
CN113728304A (zh) 分布式存储***中的粒度改变检测
CN113918807A (zh) 数据推荐方法、装置、计算设备及计算机可读存储介质
CN109739854A (zh) 一种数据存储方法及装置
JP6237633B2 (ja) 分散ストレージ装置、ストレージノード、データ提供方法およびプログラム
US11321354B2 (en) System, computing node and method for processing write requests
CN111221814B (zh) 二级索引的构建方法、装置及设备
TWI420333B (zh) 分散式的重複數據刪除系統及其處理方法
CN110019357B (zh) 数据库查询脚本生成方法及装置
Nguyen-Van et al. Minimizing data transfers for regular reachability queries on distributed graphs
WO2019072088A1 (zh) 一种文件管理方法、文件管理装置、电子设备及存储介质
CN107092604B (zh) 一种文件处理方法和装置