JP2017123071A - ストレージシステム、ストレージ装置、データ管理プログラム及びデータ管理方法 - Google Patents

ストレージシステム、ストレージ装置、データ管理プログラム及びデータ管理方法 Download PDF

Info

Publication number
JP2017123071A
JP2017123071A JP2016001968A JP2016001968A JP2017123071A JP 2017123071 A JP2017123071 A JP 2017123071A JP 2016001968 A JP2016001968 A JP 2016001968A JP 2016001968 A JP2016001968 A JP 2016001968A JP 2017123071 A JP2017123071 A JP 2017123071A
Authority
JP
Japan
Prior art keywords
data
search keyword
index
information processing
search
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
JP2016001968A
Other languages
English (en)
Inventor
年弘 小沢
Toshihiro Ozawa
年弘 小沢
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016001968A priority Critical patent/JP2017123071A/ja
Publication of JP2017123071A publication Critical patent/JP2017123071A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】検索キーワードの作成を高速に行なう。【解決手段】ストレージ装置1aは、第1のデータと、第1のデータに対応する第1の検索キーワードとを関連付けて管理する管理部11と、管理部11によって第1の検索キーワードが管理されている第1のデータについての、情報処理装置1bからの読み出し要求に応じて、第1の検索キーワードを情報処理装置1bに通知する第1通知部12と、を備える。【選択図】図2

Description

本発明は、ストレージシステム、ストレージ装置、データ管理プログラム及びデータ管理方法に関する。
近年、ドキュメントや画像を集めたファイルDB(データベース)からキーワードや画像に基づいた検索を行なう検索システム(「ストレージシステム」と称されてもよい。)が広く使用されている。
検索システムは、事前に、ファイルDBに含まれる全てのファイルについてのインデックス(「検索キーワード」と称されてもよい。)を作成する場合がある。検索システムは、ファイルの検索時に、作成されたインデックスを参照することによって、ファイルの高速な検索を行なうことができる。
国際公開2011/018852号パンフレット 特開2008−158993号公報
しかしながら、ファイルDBに含まれるファイルが大量になると、インデックスの作成に数日以上かかる場合があるなど、インデックスの作成に長時間かかるおそれがある。
1つの側面では、本発明は、検索キーワードの作成を高速に行なうことを目的とする。
このため、このストレージシステムは、ストレージ装置と、当該ストレージ装置が記憶するデータについての検索キーワードを作成する情報処理装置とを有するストレージシステムであって、前記ストレージ装置は、第1のデータと、当該第1のデータに対応する第1の検索キーワードとを関連付けて管理する管理部と、前記管理部によって前記第1の検索キーワードが管理されている前記第1のデータについての、前記情報処理装置からの読み出し要求に応じて、前記第1の検索キーワードを前記情報処理装置に通知する第1通知部と、を備える。
開示のストレージシステムによれば、検索キーワードの作成を高速に行なうことができる。
実施形態の一例としてのストレージシステムの機能構成の第1の例を模式的に示す図である。 実施形態の一例としてのストレージシステムの機能構成の第2の例を模式的に示す図である。 重複除去技術を適用する前のオリジナルファイルを模式的に例示する図である。 重複除去技術を適用した後のファイルを模式的に例示する図である。 検索装置によるインデックス作成動作を説明するフローチャートである。 図5のステップS2の詳細な動作を説明するフローチャートである。 重複除去装置によるインデックス作成動作を説明するフローチャートである。 実施形態の一例としての重複除去装置によって管理される管理テーブルを例示する図である。 実施形態の一例としてのストレージシステムによるインデックス作成動作を説明するシーケンス図である。 実施形態の一例としての検索装置によるインデックス作成動作を説明するフローチャートである。 図10のステップS12の詳細な動作を説明するフローチャートである。 実施形態の一例としての重複除去装置によるインデックス作成動作を説明するフローチャートである。 実施形態の一例としての重複除去技術を適用する前のオリジナルファイルを模式的に例示する図である。 実施形態の一例としての重複除去装置によって管理される仮想アドレス空間テーブルを例示する図である。 実施形態の一例としての管理テーブルの使用例を示す図である。 実施形態の一例としての管理テーブルの使用例を示す図である。 実施形態の一例としての管理テーブルの使用例を示す図である。
以下、図面を参照して一実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。
また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
以下、図中において、同一の各符号は同様の部分を示しているので、その説明は省略する。
〔A〕実施形態の一例
〔A−1〕システム構成
図1は実施形態の一例としてのストレージシステム1の機能構成の第1の例を模式的に示す図であり、図2は実施形態の一例としてのストレージシステム1の機能構成の第2の例を模式的に示す図である。
実施形態の一例としてのストレージシステム1は、図1に例示するように、CPU(Central Processing Unit)10,メモリ20及び記憶装置30を備える。
また、実施形態の一例としてのストレージシステム1は、図2に例示するように、互いにネットワーク4を介して通信可能に接続された重複除去装置1a及び検索装置1bを備えてもよい。そして、重複除去装置1aはCPU10a,メモリ20a及び記憶装置30aを備え、検索装置1bはCPU10b,メモリ20b及び記憶装置30bを備えてもよい。
「重複除去装置」は、「重複除去システム」や「ストレージ装置」と称されてもよい。また、「検索装置」は、「検索システム」や「情報処理装置」と称されてもよい。
以下、特筆しない限り、図2を参照しながら、ストレージシステム1のシステム構成を説明する。
重複除去装置1aは、例示的に、後述する記憶装置30aを搭載し、サーバ(不図示)に対して記憶領域を提供する装置である。重複除去装置1aは、例えばRAID(Redundant Arrays of Inexpensive Disks)を用いて記憶装置30aにデータを分散又は冗長化した状態で保存する。また、重複除去装置1aは、ファイルに含まれる同じ内容のブロックの重複を除去した状態で、ファイルを記憶装置30aに格納してよい。
本明細書において、「ファイル」とは、複数の「データ」の集合を指す。また、「データ」は、「ブロック」と称されてもよい。
検索装置1bは、例示的に、重複除去装置1aが備える記憶装置30aに格納されたデータを検索する装置である。また、検索装置1bは、データの検索に用いるインデックスを作成してよい。「インデックス」は、「検索キーワード」と称されてもよい。
実施形態の一例としてのストレージシステム1(重複除去装置1a及び検索装置1b)の詳細について説明する前に、図3〜図7を参照して、重複除去技術について説明する。
図3〜図7を参照して説明される重複除去技術は、実施形態の一例としてのストレージシステム1(重複除去装置1a及び検索装置1b)によって実現されてもよい。
図3は重複除去技術を適用する前のオリジナルファイルを模式的に例示する図であり、図4は重複除去技術を適用した後のファイルを模式的に例示する図である。
重複除去技術は、複数のファイルにおいて、同一の内容のブロックが複数含まれている場合に、同一の内容のブロックを1つにまとめる技術である。
図3に示すように、オリジナルファイルとしてのファイルA及びファイルBが記憶装置に書き込まれる例を考える。ファイルAには青,赤,紫,黄及び緑の画像データのブロックが含まれ、ファイルBには緑,茶,赤,紫及び黄の画像データのブロックが含まれる。また、各ブロックのデータサイズは4KB(キロバイト)であり、ファイルA及びファイルBの合計データサイズは40KBである。
ファイルA及びファイルBに重複除去を適用する場合には、各ブロックにインデックスが付与される。
図4に示す例において、ファイルAの青,赤,紫,黄及び緑の画像データのブロックには、インデックス01,02,03,04及び05がそれぞれ付与される。また、ファイルBの緑,茶,赤,紫及び黄の画像データのブロックには、インデックス05,06,02,03及び04がそれぞれ付与される。別言すれば、ファイルA及びファイルBにお0いて、同一の色の画像データのブロックには、同一のインデックスが付与される。
重複除去装置1aは、重複除去したファイルを管理するために、図4に示すような管理テーブルに関する情報を記憶する。管理テーブルには、インデックスとポインタとが対応付けられている。
重複除去装置1aは、管理テーブルにおいて、インデックスを参照することにより、ポインタを介してファイルに含まれるブロックを参照することができる。図4に示す例においては、インデックス01,02,03,04,05及び06に対して、青,赤,紫,黄,緑及び茶の各画像データのブロックを示すポインタがそれぞれ対応づけられている。
図5は検索装置1aによるインデックス作成動作を説明するフローチャートであり、図6は図5のステップS2の詳細な動作を説明するフローチャートである。
図5に示すように、検索装置1bは、重複除去装置1aに対して、インデックス作成開始通知を発行する(図5のステップS1)。
検索装置1bは、全ファイルの全ブロックに対して、ブロックのインデックスを作成する(図5のステップS2)。図5のステップS2の動作の詳細は、図6のフローチャートに示される。
図6に示すように、検索装置1bは、重複除去装置1aに対して、ブロックの読み出し要求を発行する(図6のステップS4)。
検索装置1bは、ブロックの内容に含まれる単語のリストを作成し、作成したリストとブロックのアドレスとを含むインデックスを作成して、記録する(図6のステップS5)。
図5に戻り、検索装置1bは、重複除去装置1aに対して、インデックス作成終了通知を発行し(図5のステップS3)、処理は終了する。
図7は、検索装置1bによるインデックス作成動作のための重複除去装置1aの動作を説明するフローチャートである。
重複除去装置1aは、検索装置1bからの要求を受け付ける(ステップS6)。
重複除去装置1aは、ブロックの内容を返す(ステップS7)。
図3〜図7に示した重複除去は、ファイルの検索やインデックスの作成とは独立して行なわれる。
例えば、図3に示したファイルAの「赤」のブロックのインデックス作成を行なったならば、ファイルBの「赤」のブロックのインデックス作成の結果は同じになる。そのため、ファイルAの「赤」のブロックのインデックス作成と、ファイルBの「赤」のブロックのインデックス作成とは、重複して行なわれなくてもよい。
ファイルに含まれる全てのブロックについて、インデックスを作成すると、インデックスの作成に数日以上かかる場合があるなど、インデックスの作成に長時間かかるおそれがある。
そこで、実施形態の一例としてのストレージシステム1(重複除去装置1a,検索装置1b)においては、同一の内容のブロックについてのインデックスを新たに作成しない。
図2に示すように、重複除去装置1aはCPU10a,メモリ20a及び記憶装置30aを備えてよく、検索装置1bはCPU10b,メモリ20b及び記憶装置30bを備えてよい。
記憶装置30a,30bは、例示的に、データを読み書き可能に記憶する装置であり、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)が用いられてよい。重複除去装置1aの記憶装置30aには、図8を用いて後述する管理テーブルに関する情報が格納されてよい。また、検索装置1bの記憶装置30bには、各ブロックについて生成されたインデックスが格納されてよい。
なお、図1に示す例においてストレージシステム1は1つの記憶装置30を備え、図2に示す例において重複除去装置1a及び検索装置1bは記憶装置30a,30bをそれぞれ1つずつ備えることとしたが、これに限定されるものではない。ストレージシステム1(重複除去装置1a及び検索装置1b)に備えられる記憶装置30(30a,30b)の数は、種々変更することができる。
メモリ20a,20bは、例示的に、ROM(Read Only Memory)及びRAM(Random Access Memory)を含む記憶装置である。メモリ20a,20bのROMには、BIOS(Basic Input/Output System)等のプログラムが書き込まれてよい。メモリ20a,20bのソフトウェアプログラムは、CPU10a,10bのそれぞれに適宜に読み込まれて実行されてよい。また、メモリ20a,20bのRAMは、一次記録メモリあるいはワーキングメモリとして利用されてよい。
CPU10a,10bは、例示的に、種々の制御や演算を行なう処理装置であり、メモリ20a,20bのそれぞれに格納されたOS(Operating System)やプログラムを実行することにより、種々の機能を実現する。すなわち、CPU10aは管理部11,第1通知部12及びデータ送信部13として機能してよく、CPU10bは割り当て部14及び第2通知部15として機能してよい。
なお、これらの管理部11,第1通知部12,データ送信部13,割り当て部14及び第2通知部15としての機能を実現するためのプログラムは、例えばフレキシブルディスク、CD(CD−ROM、CD−R、CD−RW等)、DVD(DVD−ROM、DVD−RAM、DVD−R、DVD+R、DVD−RW、DVD+RW、HD DVD等)、ブルーレイディスク、磁気ディスク、光ディスク、光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供されてよい。そして、コンピュータ(本実施形態ではCPU10a,10b)は上述した記録媒体から図示しない読取装置を介してプログラムを読み取って内部記録装置または外部記録装置に転送し格納して用いてよい。また、プログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、記憶装置から通信経路を介してコンピュータに提供してもよい。
管理部11,第1通知部12,データ送信部13,割り当て部14及び第2通知部15としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ20a,20b)に格納されたプログラムがコンピュータ(本実施形態ではCPU10a,10b)によって実行されてよい。また、記録媒体に記録されたプログラムをコンピュータが読み取って実行してもよい。
管理部11は、例示的に、ファイルに含まれるブロックと、ブロックに対応するインデックスとを関連付けて管理する。管理部11は、検索装置1bによって通知されたインデックスと、通知されたインデックスに対応するブロックとを関連付けて管理してよい。また、管理部11は、同一の内容のブロックについての重複除去後のブロックと、重複除去後のブロックに対応するインデックスとを関連付けて管理してよい。
図8は、実施形態の一例としての重複除去装置1aによって管理される管理テーブルを例示する図である。
管理部11は、図8に例示する管理テーブルに関する情報を例えば記憶装置30aの所定の領域に格納して、管理テーブルに対する情報の書き込み及び読み出しを行なってよい。
図8に示すように、管理テーブルは、インデックス,記録領域及びポインタのカラムを含んでよい。
「インデックス」には、インデックスの識別子が登録されてよい。図示する例では「インデックス」として、各エントリに“01”〜“06”が登録されている。
「記録領域」には、インデックスのキーが登録されてよい。例えば、あるブロックに「赤い花」の画像が含まれている場合には、「記録領域」には、「赤い花」という文字列が登録される(図8には不図示)。
「ポインタ」には、インデックスのバリューが対応づけられてよい。管理部11は、「ポインタ」に対応づけられたバリューを参照することによって、実際のブロックを読み出すことができる。例えば、あるエントリのインデックスがファイルAの2番目のブロックに対応する場合には、「ポインタ」には、“File A,2”が対応づけられてよい(図8には不図示)。
第1通知部12は、例示的に、管理テーブルに登録されているインデックスを検索装置1bへ通知する。具体的には、第1通知部12は、管理部11によってインデックスが管理されているブロックについての、検索装置1bからの読み出し要求に応じて、管理されているブロックのインデックスを検索装置1bに通知してよい。
データ送信部13は、例示的に、記憶装置30aに格納されているファイルのブロックを検索装置1bへ送信する。具体的には、データ送信部13は、管理部11によって管理されていないブロックについての、検索装置1bからの読み出し要求に応じて、管理されていないブロックの内容を検索装置1bに送信してよい。
割り当て部14は、例示的に、ファイルに含まれる各ブロックについて、インデックスを作成する。具体的には、割り当て部14は、重複除去装置1aから送信されたブロックに対して、インデックスを割り当ててよい。
割り当て部14によって作成されるインデックスには、キー及びバリューが含まれてよい。割り当て部14は、ブロックの内容である文書や画像データに基づき、キーを作成してよい。また、割り当て部14は、ブロックが含まれるファイルとファイル内の位置とに基づき、バリューを作成してよい。
割り当て部14は、既にインデックスが割り当てられているブロックと同一の内容のブロックに対して、同一のインデックスを割り当ててよい。
第2通知部15は、例示的に、作成されたインデックスを重複除去装置1aに通知する。別言すれば、第2通知部15は、割り当て部14によって割り当てられたインデックスを重複除去装置1aに通知してよい。
〔A−2〕動作
上述の如く構成された実施形態の一例としてのストレージシステム1によるインデックス作成動作(符号A1〜A15)を、図9に例示するシーケンス図に従って説明する。
検索装置1bは、重複除去装置1aに対して、インデックス作成開始通知を発行する(符号A1)。
重複除去装置1aは、検索装置1bからのインデックス作成開始通知の受信に応じて、インデックス作成中フラグを“ON”に設定する(符号A2)。これにより、検索装置1bによるインデックス作成中における、重複除去装置1aに対するデータの読み込み及び書き込みが保留される。
重複除去装置1aの管理部11は、管理テーブルの記録領域をクリアする(符号A3)。
検索装置1bは、インデックス作成のために、全てのファイルの全てのブロックを順に読み出す。まず、検索装置1bは、重複除去装置1aに対して、ファイルAの読み出し要求を発行する(符号A4)。
重複除去装置1aのデータ送信部13は、管理テーブルの記録領域が空の場合には、検索装置1bに対して、ブロックの内容を返す(符号A5)。
図9に示す例において、データ送信部13は、検索装置1bに対して、「赤い花」の画像データのブロックを返す(符号A6)。
検索装置1bの割り当て部14は、重複除去装置1aから受信したブロックについてのインデックスを作成する(符号A7)。図9に示す例において、割り当て部14は、「赤い花」の画像データのブロックについてのインデックスのキーに文字列“赤い花”を割り当て、バリューに“File A,2”を割り当てる。
検索装置1bの第2通知部15は、重複除去装置1aに対して、作成されたインデックスの内容を通知する(符号A8)。
重複除去装置1aの管理部11は、検索装置1bから通知されたインデックスの内容を管理テーブルの記録領域に記録する(符号A9)。図9に示す例において、管理部11は、インデックス“02”のエントリの記録領域にインデックスのキー“赤い花”を関連付ける。
検索装置1bは、重複除去装置1aに対して、ファイルBの読み出し要求を発行する(符号A10)。
重複除去装置1aの第1通知部12は、管理テーブルの記録領域が空でない場合には、検索装置1bに対して、管理テーブルの記録領域の内容を返す(符号A11)。
図9に示す例において、第1通知部12は、検索装置1bに対して、管理テーブルの記録領域に記録されたインデックスのキー“赤い花”を返す(符号A12)。
検索装置1bの割り当て部14は、重複除去装置1aから受信したブロックについてのインデックスを追加する(符号A13)。図9に示す例において、割り当て部14は、インデックスのキー“赤い花”についてのバリューに、既に割り当てられている“File A,2”に加えて、“File B,3”を割り当てる。
検索装置1bは、重複除去装置1aに対して、インデックス作成終了通知を発行する(符号A14)。
重複除去装置1aは、検索装置1bからのインデックス作成終了通知の受信に応じて、インデックス作成中フラグを“OFF”に設定し(符号A15)、処理は終了する。
重複除去装置1aは、インデックス作成中フラグを“OFF”に設定した後は、重複している領域の読み出し要求があった場合においても、検索装置1bに対して、ブロックの内容を返してよい。
次に、実施形態の一例としての検索装置1bによるインデックス作成動作(ステップS11〜S13)を、図10に示すフローチャートに従って説明する。
検索装置1bは、重複除去装置1aに対して、インデックス作成開始通知を発行する(ステップS11)。
検索装置1bの割り当て部14は、全ファイルの全ブロックに対して、ブロックのインデックスを作成する(ステップS12)。ステップS12の動作の詳細については、図11を用いて後述する。
検索装置1bは、重複除去装置1aに対して、インデックス作成終了通知を発行し(ステップS13)、処理は終了する。
次に、図10のステップS12の詳細な動作(ステップS121〜S125)を、図11に示すフローチャートに従って説明する。
検索装置1bは、重複除去装置1aに対して、ブロックの読み出し要求を発行する(ステップS121)。
検索装置1bは、重複除去装置1aから受信した情報に基づき、ブロックの読み出し結果が、インデックスであるかブロックの内容であるかを判定する(ステップS122)。
ブロックの読み出し結果がインデックスである場合には(ステップS122の“インデックス”ルート参照)、検索装置1bの割り当て部14は、読み出されたインデックスのアドレスを読み出し要求に係るブロックのアドレスに変更する。そして、割り当て部14は、変更後のインデックスとアドレスとの関係を例えば記憶装置30bに記録し(ステップS123)、処理は終了する。
一方、ブロックの読み出し結果がブロックの内容である場合には(ステップS122の“ブロックの内容”ルート参照)、検索装置1bの割り当て部14は、ブロックの内容に含まれる単語リストを作成する。そして、割り当て部14は、作成したリストとブロックのアドレスとを含むインデックスを作成し、例えば記憶装置30bに記録する(ステップS124)。
検索装置1bの割り当て部14は、重複除去装置1aに対して、作成したインデックスを通知し(ステップS125)、処理は終了する。
次に、実施形態の一例としての重複除去装置1aによるインデックス作成動作(ステップS21〜S30)を、図12に示すフローチャートに従って説明する。
重複除去装置1aは、検索装置1bから情報を受信する(ステップS21)。
重複除去装置1aは、検索装置1bから受信した情報の種別を判定する(ステップS22)。
情報の種別がインデックス作成開始通知である場合には(ステップS22の“インデックス作成開始通知”ルート参照)、重複除去装置1aは、管理テーブルの記録領域をクリアする(ステップS23)。
重複除去装置1aは、インデックス作成中フラグを“ON”に設定し(ステップS24)、処理はステップS21へ戻る。
ステップS22において、情報の種別がブロックの読み出し要求である場合には(ステップS22の“ブロックの読み出し要求”ルート参照)、重複除去装置1aは、インデックス作成中フラグがONであるかを判定する(ステップS25)。
インデックス作成中フラグがOFFである場合には(ステップS25のNoルート参照)、処理はステップS27へ移行する。
一方、インデックス作成中フラグがONである場合には(ステップS25のYesルート参照)、重複除去装置1aは、管理テーブルの記録領域が空であるかを判定する(ステップS26)。
管理テーブルの記録領域が空である場合には(ステップS26のYesルート参照)、重複除去装置1aのデータ送信部13は、検索装置1bに対してブロックの内容を返し(ステップS27)、処理はステップS21へ戻る。
一方、管理テーブルの記録領域が空でない場合には(ステップS26のNoルート参照)、検索装置1bに対して管理テーブルの記録領域の内容を返し(ステップS28)、処理はステップS21へ戻る。
ステップS22において、情報の種別がインデックスである場合には(ステップS22の“インデックス”ルート参照)、重複除去装置1aの管理部11は、管理テーブルの記録領域に受信したインデックスを登録する(ステップS29)。そして、処理はステップS21へ戻る。
ステップS22において、情報の種別がインデックス作成終了通知である場合には(ステップS22の“インデックス作成終了通知”ルート参照)、重複除去装置1aは、インデックス作成中フラグを“OFF”に設定する(ステップS30)。そして、処理はステップS21へ戻る。
図13は実施形態の一例としての重複除去技術を適用する前のオリジナルファイルを模式的に例示する図であり、図14は実施形態の一例としての重複除去装置1aによって管理される仮想アドレス空間テーブルを例示する図である。また、図15〜図17は、実施形態の一例としての管理テーブルの使用例を示す図である。
図13に示す例において、ファイルAは、2つのブロックA−1及びA−2を含む。ブロックA−1は“花”という単語を含んでおり、ブロックA−2は“鳥”という単語を含んでいる。また、ファイルBは2つのブロックB−1及びB−2を含む。ブロックB−1はブロックA−1と同内容で“花”という単語を含んでおり、ブロックB−2は“風”という単語を含んでいる。
図14には、ファイルA及びファイルBを重複除去装置1aの記憶装置に書き込んだ後の仮想アドレス空間テーブルが示されている。仮想アドレス空間テーブルには、重複除去装置1aに展開される仮想ボリューム(不図示)における仮想アドレスと、インデックスの識別子とが対応づけられている。仮想アドレス空間テーブルに関する情報は、例えば、重複除去装置1aの記憶装置30aに格納されてよい。
図14に示す例において、ファイルAの仮想アドレスの開始アドレスは0x0000であり、ファイルBの仮想アドレスの開始アドレスは0x2000である。仮想アドレスが0x0000,0x1000,0x2000及び0x3000から開始する各領域には、01,02,01及び03で特定されるインデックスの識別子がそれぞれ関連付けられている。
また、図15に示すように、インデックス作成前の管理テーブルの記録領域は、不定である。
次に、図16及び図17を参照して、検索装置1bがインデックスを作成していく過程を示す。
まず、検索装置1bは、インデックス作成のためのファイルの読み込みを開始することを重複除去装置1aに通知する。重複除去装置1aは、検索装置1bからの通知に応じて、管理テーブルの記録領域をクリアした後、インデックス作成中フラグを“ON”に設定する。その後、次の(1)〜(3)で示す動作が実行される。
(1)ファイルAのブロックA−1のインデックス作成
検索装置1bは、重複除去装置1aに対して、図13に示したファイルAのブロックA−1(図14に示した仮想アドレス“0x0000”からの領域)の読み出しを要求する。
図15に示した状態において管理テーブルのインデックスの識別子が“01”であるエントリの記録領域は空であるため、重複除去装置1aは、検索装置1bに対して、単語“花”を含むブロックA−1の内容を返す。
検索装置1bは、ブロックA−1に対応するインデックスを作成し、重複除去装置1aに通知する。例えば、ブロックA−1のインデックスのキーは“花”に設定され、バリューは“0x0000”に設定される。
重複除去装置1aは、図14に示した仮想アドレス空間テーブルを参照して、仮想アドレス“0x0000”からインデックスの識別子“01”を取得する。そして、重複除去装置1aは、図16に示すように、管理テーブルのインデックスの識別子が“01”のエントリの記録領域に、インデックスのキー“花”を登録する。
(2)ファイルAのブロックA−2のインデックス作成
検索装置1bは、ブロックA−1のインデックス作成と同様の処理により、図13に示したブロックA−2に対応するインデックスを作成する。例えば、ブロックA−2のインデックスのキーは“鳥”に設定され、バリューは“0x1000”に設定される。
重複除去装置1aは、図17に示すように、管理テーブルのインデックスの識別子が“02”のエントリの記録領域に、インデックスのキー“鳥”を設定する。
(3)ファイルBのB−1ブロックのインデックス作成
検索装置1bは、重複除去装置1aに対して、図13に示したファイルBのブロックB−1(図14に示した仮想アドレス“0x2000”からの領域)の読み出しを要求する。
重複除去装置1aは、図14に示した仮想アドレス空間テーブルを参照して、仮想アドレス“0x2000”からインデックスの識別子“01”を取得する。図17に示した状態において管理テーブルのインデックスの識別子が“01”であるエントリの記録領域は空でないため、重複除去装置1aは、検索装置1bに対して、ブロックB−1のインデックス(別言すれば、管理テーブルの記録領域の内容)を返す。
検索装置1bは、重複除去装置1aからブロックB−1のインデックス“花”を受信することにより、既に作成したキーが“花”でバリューが“0x0000”のインデックスに対して、ブロックB−1の仮想アドレスをバリューとして追加する。別言すれば、検索装置1bは、既に作成したキーが“花”のインデックスのバリューを“0x0000,0x2000”に更新する。
上述した実施形態の一例としてのストレージシステム1によれば、例えば、以下の効果を奏することができる。
重複除去装置1aの管理部11は、ブロックとブロックに対応するインデックスとを関連付けて管理する。また、重複除去装置1aの第1通知部12は、管理部11によってインデックスが管理されているブロックについての、検索装置1bからの読み出し要求に応じて、インデックスを検索装置1bに通知する。
既にインデックスが作成されたブロックと同内容のブロックを読み出すことなく、全てのブロックに対してインデックスを付与できる。一般に、インデックスよりもブロックの内容の方が大きなデータサイズを有する。例えば、ブロックの内容のデータサイズは数キロバイトであるのに対して、インデックスのデータサイズは数百バイトである。重複するブロックのインデックス作成において重複するブロックの読み出しを一度限り行なうことで、大きなデータサイズを有するブロックの読み出しを省略することで、ファイルのインデックス作成を高速に行なうことができる。
重複除去装置1aのデータ送信部13は、管理部11によってインデックスが管理されていないブロックについての、検索装置1bからの読み出し要求に応じて、ブロックを検索装置1bに送信する。また、検索装置1bの割り当て部14は、データ送信部13から送信されたブロックに対して、インデックスを割り当てる。そして、検索装置1bの第2通知部15は、割り当て部14によって割り当てられたインデックスを重複除去装置1aに通知する。
これにより、未だインデックスが作成されていないブロックに対して、インデックスを確実に割り当てることができる。
管理部11は、ブロックと、第2通知部15によって通知されたインデックスとを関連付けて管理する。
これにより、検索装置1bが作成したインデックスを重複除去装置1aに通知することにより、同一の内容のブロックについて以降にインデックスを作成する際にブロックの読み出しを省略することができる。
割り当て部14は、既にインデックスが割り当てられているブロックに加えて、未だインデックスが割り当てられていないブロックに第1通知部12によって通知されたインデックスを割り当てる。
これにより、同一の内容のブロックに対して同一のインデックスを割り当てるため、インデックスの記録容量を低減させることができ、ブロックの検索時間を低減させることができる。
管理部11は、同一の内容のブロックについての重複除去後のデータと、対応するインデックスとを関連付けて管理する。
これにより、既にインデックスが作成されている複数の同一の内容のブロックに加えて同一の内容の他のブロックに対してインデックスを作成する際においても、インデックス作成を高速に行なうことができる。
〔B〕その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
〔C〕付記
(付記1)
ストレージ装置と、当該ストレージ装置が記憶するデータについての検索キーワードを作成する情報処理装置とを有するストレージシステムであって、
前記ストレージ装置は、
第1のデータと、当該第1のデータに対応する第1の検索キーワードとを関連付けて管理する管理部と、
前記管理部によって前記第1の検索キーワードが管理されている前記第1のデータについての、前記情報処理装置からの読み出し要求に応じて、前記第1の検索キーワードを前記情報処理装置に通知する第1通知部と、
を備える、ストレージシステム。
(付記2)
前記ストレージ装置は、
前記管理部によって検索キーワードが管理されていない第2のデータについての、前記情報処理装置からの読み出し要求に応じて、前記第2のデータを前記情報処理装置に送信するデータ送信部
を更に備え、
前記情報処理装置は、
前記データ送信部から送信された前記第2のデータに対して、第2の検索キーワードを割り当てる割り当て部と、
前記割り当て部によって割り当てられた前記第2の検索キーワードを前記ストレージ装置に通知する第2通知部と、
を備える、付記1に記載のストレージシステム。
(付記3)
前記管理部は、前記第2のデータと、前記第2通知部によって通知された前記第2の検索キーワードとを関連付けて管理する、
付記2に記載のストレージシステム。
(付記4)
前記割り当て部は、既に前記第1の検索キーワードが割り当てられている第3のデータに加えて、前記第1のデータに前記第1通知部によって通知された前記第1の検索キーワードを割り当てる、
付記1〜3のいずれか1項に記載のストレージシステム。
(付記5)
前記管理部は、同一の内容のデータについての重複除去後のデータと、当該データに対応する検索キーワードとを関連付けて管理する、
付記1〜4のいずれか1項に記載のストレージシステム。
(付記6)
データについての検索キーワードを作成する情報処理装置と通信可能に接続され、前記データを記憶するストレージ装置であって、
第1のデータと、当該第1のデータに対応する第1の検索キーワードとを関連付けて管理する管理部と、
前記管理部によって前記第1の検索キーワードが管理されている前記第1のデータについての、前記情報処理装置からの読み出し要求に応じて、前記第1の検索キーワードを前記情報処理装置に通知する通知部と、
を備える、ストレージ装置。
(付記7)
前記管理部によって検索キーワードが管理されていない第2のデータについての、前記情報処理装置からの読み出し要求に応じて、前記第2のデータを前記情報処理装置に送信するデータ送信部
を更に備える、付記6に記載のストレージ装置。
(付記8)
前記管理部は、前記第2のデータと、前記情報処理装置から通知された前記第2のデータに対応する第2の検索キーワードとを関連付けて管理する、
付記7に記載のストレージ装置。
(付記9)
前記管理部は、同一の内容のデータについての重複除去後のデータと、当該データに対応する検索キーワードとを関連付けて管理する、
付記6〜8のいずれか1項に記載のストレージ装置。
(付記10)
データについての検索キーワードを作成する情報処理装置と通信可能に接続され、前記データを記憶するストレージ装置に備えられるコンピュータに、
第1のデータと、当該第1のデータに対応する第1の検索キーワードとを関連付けて管理し、
前記第1の検索キーワードが管理されている前記第1のデータについての、前記情報処理装置からの読み出し要求に応じて、前記第1の検索キーワードを前記情報処理装置に通知する、
処理を実行させるデータ管理プログラム。
(付記11)
検索キーワードが管理されていない第2のデータについての、前記情報処理装置からの読み出し要求に応じて、前記第2のデータを前記情報処理装置に送信する、
処理を前記コンピュータに実行させる、付記10に記載のデータ管理プログラム。
(付記12)
前記第2のデータと、前記情報処理装置から通知された前記第2のデータに対応する第2の検索キーワードとを関連付けて管理する、
処理を前記コンピュータに実行させる、付記11に記載のデータ管理プログラム。
(付記13)
同一の内容のデータについての重複除去後のデータと、当該データに対応する検索キーワードとを関連付けて管理する、
処理を前記コンピュータに実行させる、付記10〜12のいずれか1項に記載のデータ管理プログラム。
(付記14)
ストレージ装置と、当該ストレージ装置が記憶するデータについての検索キーワードを作成する情報処理装置とを有するストレージシステムにおけるデータ管理方法であって、
前記ストレージ装置は、
第1のデータと、当該第1のデータに対応する第1の検索キーワードとを関連付けて管理し、
前記第1の検索キーワードが管理されている前記第1のデータについての、前記情報処理装置からの読み出し要求に応じて、前記第1の検索キーワードを前記情報処理装置に通知する、
データ管理方法。
(付記15)
前記ストレージ装置は、
検索キーワードが管理されていない第2のデータについての、前記情報処理装置からの読み出し要求に応じて、前記第2のデータを前記情報処理装置に送信し、
前記情報処理装置は、
前記送信された前記第2のデータに対して、第2の検索キーワードを割り当て、
前記割り当てられた前記第2の検索キーワードを前記ストレージ装置に通知する、
付記14に記載のデータ管理方法。
(付記16)
前記ストレージ装置は、
前記第2のデータと、前記通知された前記第2の検索キーワードとを関連付けて管理する、
付記15に記載のデータ管理方法。
(付記17)
前記情報処理装置は、
既に前記第1の検索キーワードが割り当てられている第3のデータに加えて、前記第1のデータに前記通知された前記第1の検索キーワードを割り当てる、
付記14〜16のいずれか1項に記載のデータ管理方法。
(付記18)
前記ストレージ装置は、
同一の内容のデータについての重複除去後のデータと、当該データに対応する検索キーワードとを関連付けて管理する、
付記14〜17のいずれか1項に記載のデータ管理方法。
1 ストレージシステム
1a 重複除去装置
1b 検索装置
10 CPU
10a CPU
10b CPU
11 管理部
12 第1通知部
13 データ送信部
14 割り当て部
15 第2通知部
20a メモリ
20b メモリ
30a 記憶装置
30b 記憶装置
4 ネットワーク

Claims (8)

  1. ストレージ装置と、当該ストレージ装置が記憶するデータについての検索キーワードを作成する情報処理装置とを有するストレージシステムであって、
    前記ストレージ装置は、
    第1のデータと、当該第1のデータに対応する第1の検索キーワードとを関連付けて管理する管理部と、
    前記管理部によって前記第1の検索キーワードが管理されている前記第1のデータについての、前記情報処理装置からの読み出し要求に応じて、前記第1の検索キーワードを前記情報処理装置に通知する第1通知部と、
    を備える、ストレージシステム。
  2. 前記ストレージ装置は、
    前記管理部によって検索キーワードが管理されていない第2のデータについての、前記情報処理装置からの読み出し要求に応じて、前記第2のデータを前記情報処理装置に送信するデータ送信部
    を更に備え、
    前記情報処理装置は、
    前記データ送信部から送信された前記第2のデータに対して、第2の検索キーワードを割り当てる割り当て部と、
    前記割り当て部によって割り当てられた前記第2の検索キーワードを前記ストレージ装置に通知する第2通知部と、
    を備える、請求項1に記載のストレージシステム。
  3. 前記管理部は、前記第2のデータと、前記第2通知部によって通知された前記第2の検索キーワードとを関連付けて管理する、
    請求項2に記載のストレージシステム。
  4. 前記割り当て部は、既に前記第1の検索キーワードが割り当てられている第3のデータに加えて、前記第1のデータに前記第1通知部によって通知された前記第1の検索キーワードを割り当てる、
    請求項1〜3のいずれか1項に記載のストレージシステム。
  5. 前記管理部は、同一の内容のデータについての重複除去後のデータと、当該データに対応する検索キーワードとを関連付けて管理する、
    請求項1〜4のいずれか1項に記載のストレージシステム。
  6. データについての検索キーワードを作成する情報処理装置と通信可能に接続され、前記データを記憶するストレージ装置であって、
    第1のデータと、当該第1のデータに対応する第1の検索キーワードとを関連付けて管理する管理部と、
    前記管理部によって前記第1の検索キーワードが管理されている前記第1のデータについての、前記情報処理装置からの読み出し要求に応じて、前記第1の検索キーワードを前記情報処理装置に通知する通知部と、
    を備える、ストレージ装置。
  7. データについての検索キーワードを作成する情報処理装置と通信可能に接続され、前記データを記憶するストレージ装置に備えられるコンピュータに、
    第1のデータと、当該第1のデータに対応する第1の検索キーワードとを関連付けて管理し、
    前記第1の検索キーワードが管理されている前記第1のデータについての、前記情報処理装置からの読み出し要求に応じて、前記第1の検索キーワードを前記情報処理装置に通知する、
    処理を実行させるデータ管理プログラム。
  8. ストレージ装置と、当該ストレージ装置が記憶するデータについての検索キーワードを作成する情報処理装置とを有するストレージシステムにおけるデータ管理方法であって、
    前記ストレージ装置は、
    第1のデータと、当該第1のデータに対応する第1の検索キーワードとを関連付けて管理し、
    前記第1の検索キーワードが管理されている前記第1のデータについての、前記情報処理装置からの読み出し要求に応じて、前記第1の検索キーワードを前記情報処理装置に通知する、
    データ管理方法。
JP2016001968A 2016-01-07 2016-01-07 ストレージシステム、ストレージ装置、データ管理プログラム及びデータ管理方法 Pending JP2017123071A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016001968A JP2017123071A (ja) 2016-01-07 2016-01-07 ストレージシステム、ストレージ装置、データ管理プログラム及びデータ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016001968A JP2017123071A (ja) 2016-01-07 2016-01-07 ストレージシステム、ストレージ装置、データ管理プログラム及びデータ管理方法

Publications (1)

Publication Number Publication Date
JP2017123071A true JP2017123071A (ja) 2017-07-13

Family

ID=59306293

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016001968A Pending JP2017123071A (ja) 2016-01-07 2016-01-07 ストレージシステム、ストレージ装置、データ管理プログラム及びデータ管理方法

Country Status (1)

Country Link
JP (1) JP2017123071A (ja)

Similar Documents

Publication Publication Date Title
US20230384963A1 (en) Efficient Creation And Management Of Snapshots
US11068455B2 (en) Mapper tree with super leaf nodes
US9189494B2 (en) Object file system
CN105468300B (zh) Ip硬盘的管理方法和装置
US11263090B2 (en) System and method for data packing into blobs for efficient storage
US9672144B2 (en) Allocating additional requested storage space for a data set in a first managed space in a second managed space
CN107817946B (zh) 用于混合存储设备读写数据的方法以及装置
JP2016143221A (ja) ストレージ装置,制御プログラム,ストレージシステム及びデータ転送方法
US9430492B1 (en) Efficient scavenging of data and metadata file system blocks
US9122689B1 (en) Recovering performance of a file system post-migration
US10168959B2 (en) Metadata-based bypassing in a controller
US8046391B2 (en) Storage apparatus and its file control method and storage system
US8239427B2 (en) Disk layout method for object-based storage devices
CN111913664B (zh) 一种数据写入方法及装置
US10095706B2 (en) Data access system and data access method
US10365846B2 (en) Storage controller, system and method using management information indicating data writing to logical blocks for deduplication and shortened logical volume deletion processing
US10521398B1 (en) Tracking version families in a file system
US10235373B2 (en) Hash-based file system
JP2017123071A (ja) ストレージシステム、ストレージ装置、データ管理プログラム及びデータ管理方法
US10055304B2 (en) In-memory continuous data protection
JPWO2016103356A1 (ja) 階層化ストレージシステム、ストレージコントローラ及びレプリケーション初期化方法
WO2015145707A1 (ja) 追記型記憶装置への書き込みデータ決定方法
JP2006344353A (ja) データ記録システム