JP6853506B2 - ストレージシステム、データソート方法及びプログラム - Google Patents

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

Info

Publication number
JP6853506B2
JP6853506B2 JP2017071246A JP2017071246A JP6853506B2 JP 6853506 B2 JP6853506 B2 JP 6853506B2 JP 2017071246 A JP2017071246 A JP 2017071246A JP 2017071246 A JP2017071246 A JP 2017071246A JP 6853506 B2 JP6853506 B2 JP 6853506B2
Authority
JP
Japan
Prior art keywords
data
file
storage
child
read
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.)
Active
Application number
JP2017071246A
Other languages
English (en)
Other versions
JP2018173802A (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 JP2017071246A priority Critical patent/JP6853506B2/ja
Publication of JP2018173802A publication Critical patent/JP2018173802A/ja
Application granted granted Critical
Publication of JP6853506B2 publication Critical patent/JP6853506B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、ストレージシステムに関し、特に、ストレージシステムで行う再格納処理に関する。
例えばバックアップストレージのようなストレージシステムには、読み出し性能の向上を図るため、格納したストリームデータを連続の並びになるようにソートして再配置乃至再格納する処理を実行するものがある。
ストレージシステムの負荷が高い状態にあるとき、ソート処理の完了には時間がかかる。このため、ストレージシステムに高負荷の状態が続くと、ソート処理が大量に滞留することがある。このようなとき、ストレージシステムで読み出し処理を実行すると、ソート処理を未処理のデータがストレージシステムの記憶領域上に大量に存在するので、読み出し処理に通常よりも長い時間がかかる。
本発明に関連するものとして特許文献1を挙げる。特許文献1は、複数ストリームで書き込んだデータの読み出し性能の向上を図るため、ストリームデータをバッファメモリからデータ記憶装置に書き出す時に、同じストリームIDを持つデータを連続配置することを開示している。
バッファメモリを超えるデータについては断片化され、例えば図9のようなデータ配置状態となる。F1〜F12はデータ格納領域を表し、利用者が書き込んだデータを上から順に格納する。ST1〜ST3は、複数のバックアップ対象データを区別するために割り当てた識別するストリームIDであり、図9においては、それぞれ利用者によって書き込まれた異なるデータを表す。この状態から、更なるデータ読み出し性能の向上を図るため、同じストリームIDを持つデータをソートする処理を再格納処理という。
特許第5413948号公報
一般に、再格納処理はシステムリソースに空きがある時に行われる。外部からの負荷がある場合、再格納処理の実行を待つ。システムの負荷が高い場合、再格納処理の実行前に、読み出し処理が実行される場合がある。
図9のようにデータを格納したストレージシステムにおいて、再格納処理が途中まで進行したところで、図10に示すように読み出し処理が発生したとする。図10の例では、データ格納フォルダF1〜F12それぞれの先頭から再格納処理を実行し、POSまで完了している。一方、読み出し処理はPOSまで進んでいる。データはPOSまで格納され、再格納処理を待っている状況にある。
この状況ではPOSがPOSに先行している。この状況から、POSがPOSを追い抜いて、進行具合が逆転することは通常は起きない。このため、以後の読み出し処理は、常に、再格納処理が未処理の状態にあるデータに対して行われる。その結果、ストレージシステムの読み出し性能に悪影響を与えている。
本発明はこのような状況を鑑みてなされたものであり、本発明が解決しようとする課題は、読み出し性能の向上を図ることが可能なストレージシステム、データソート方法及びプログラムを提供することである。
上述の課題を解決するため、本発明は、その一態様として、ひとつの親データを複数に分割して生成したデータを子データと呼ぶとき、互いに異なる親データを分割元とする子データを順番に記憶装置内のファイルに格納する手段、前記ファイルの読み出し処理の実行に応じて、当該読み出し処理が前記ファイルから最後に読み出した位置を記憶装置に記憶する手段、前記ファイル内で前記子データをソートするソート処理を、前記読み出した位置以後に格納されている前記ファイル内の子ファイルに対して行う手段を備え、前記子データは、同じ親データを分割して生成した他の子データとの間に互いに順序関係を有し、前記ソート処理は、同じ前記親データを分割元とする前記子データが前記ファイル内において前記順序関係に従って連続するように行う、ことを特徴とするストレージシステムを提供する。
また、本発明は、他の一態様として、ひとつの親データを複数に分割して生成したデータを子データと呼ぶとき、互いに異なる親データを分割元とする子データを順番に記憶装置内のファイルに格納する段階、前記ファイルの読み出し処理の実行に応じて、当該読み出し処理が前記ファイルから最後に読み出した位置を記憶装置に記憶する段階、前記ファイル内で前記子データをソートするソート処理を、前記読み出した位置以後に格納されている前記ファイル内の子ファイルに対して行う段階を含み、前記子データは、同じ親データを分割して生成した他の子データとの間に互いに順序関係を有し、前記ソート処理は、同じ前記親データを分割元とする前記子データが前記ファイル内において前記順序関係に従って連続するように行う、ストレージシステムに記憶したファイル内のデータをソートする方法を提供する。
また、本発明は、他の一態様として、ひとつの親データを複数に分割して生成したデータを子データと呼ぶとき、互いに異なる親データを分割元とする子データを順番に記憶装置内のファイルに格納する手段、前記ファイルの読み出し処理の実行に応じて、当該読み出し処理が前記ファイルから最後に読み出した位置を記憶装置に記憶する手段、前記ファイル内で前記子データをソートするソート処理を、前記読み出した位置以後に格納されている前記ファイル内の子ファイルに対して行う手段をコンピュータに実現させるためのプログラムであって、前記子データは、同じ親データを分割して生成した他の子データとの間に互いに順序関係を有し、前記ソート処理は、同じ前記親データを分割元とする前記子データが前記ファイル内において前記順序関係に従って連続するように行う、プログラムを提供する。
本発明によれば、ストレージシステムの読み出し性能の向上を図ることができる。
本発明の第1実施形態に係るストレージシステム1のブロック図である。 親データD1、D2、D3とそれぞれの子データとの関係を説明するための図である。 ストレージシステム1の記憶装置31に格納したファイルF内における子データの初期配置の例を説明するための図である。 ストレージシステム1において、ファイルFを読み出し位置POSRまで読み出した後に実行する再格納処理(ソート処理)について説明するための図である。 ストレージシステム1において、再格納処理を実行した後のファイルF内のデータ配置の例を説明するための図である。 本発明の第2実施形態に係るストレージシステム10のブロック図である。 ストレージシステム10の動作を説明するためのフローチャートである。 再格納処理の終了/再開位置POSの値を、読み出し済みポインタの位置POSの値で更新した後の、読み出し処理と再格納処理の進行について説明するための図である。 特許文献1のストレージシステムに、3つのストリームデータST1、ST2、ST3を格納したときの、記憶装置内でのデータ配置の例を示す図である。 特許文献1のストレージシステムが図9の配置でデータを格納した状態にある場合における、読み出し処理と再格納処理の進行について説明するための図である。
[第1実施形態]
本発明の第1実施形態に係るストレージシステム1について説明する。図1を参照すると、ストレージシステム1は、記憶装置31、分割記憶制御部25、読み出し済み情報記憶部33、格納位置管理部26を備える。
分散記憶制御部25は、ストレージシステム1に入力されたデータを記憶装置31に書き込む。その際、分散記憶制御部25はひとつのデータを複数のデータに分割して書き込みを行う。
分割前後のデータの関係について説明する。ここでは分割前のデータを親データと呼び、分割後のデータを子データと呼ぶものとする。図2を参照すると、親データD1は子データd1-1、d1-2、…、d1-Lからなる(Lは自然数)。各子データは、入力された順に親データD1を所定のサイズで区切ったものである。同様に、親データD2は子データd2-1、d2-2、…、d2-M(Mは自然数)からなり、親データD3は子データd3-1、d3-2、…、d3-N(Nは自然数)からなる。
ストレージシステム1に複数のデータが並行して入力される場合を考える。分散記憶制御部25は、入力された順序に従って記憶装置31に書き込む。その際、親データ単位での入力順序ではなく、子データ単位での入力順序に従って記憶装置31に書き込む。書き込みの直後、子データは例えば図3のように配置される。図3に示すように、分散記憶制御部25は、ファイルFの先頭から末尾に向かって、その子データが入力された順序に従ってファイルFに書き込む。
今、図3のファイルFに対して読み出し処理が発生し、図4に示すように、ファイルFを先頭から順に位置POSRまで読み出したとする。このとき、格納位置管理部26は、ファイルの読み出し処理の実行に応じて、その読み出し処理がそのファイルから最後に読み出した位置POSRを読み出し済み情報記憶部33に記憶する。
このとき、分散記憶制御部25は、ファイル内で子データをソートするソート処理、即ち、再格納処理を、読み出し済み情報記憶部33に記憶した上記読み出した位置POS R 以後に格納されている子ファイルに対して行う。再格納処理は、ファイルF内における子ファイルの配置を整理することにより、ファイルFの読み出し速度の改善を図るためのものである。
再格納処理後のファイルF内のデータ配置の例を図5に示す。本例では、上記読み出した位置POSR 以後、まず、分割元の親データによって各子データがまとめて配置されている。親データD1を分割元とする子データd1-9、d1-10が連続して格納され、次に、親データD2を分割元とする子データd2-6, d2-7が連続して格納され、最後に、親データD3を分割元とする子データd3-5, d3-6, …,d3-9が連続して格納されている。また、同じ親データを分割元とする子データは、入力順序に応じた順序に配置されている。
このように、読み出し処理が発生したとき、その最後読み出し位置POSRを記憶し、その読み出した位置POS R 以後に格納されているデータに対して再格納処理を実行することにより、読み出し位置POSR 以後に格納されているデータの読み出し処理を高速化することができる。
[第2実施形態]
本発明の第2実施形態に係るストレージシステム10について説明する。図6を参照すると、ストレージシステム10はデータ処理装置20及びデータ記憶装置30を備える。ストレージシステム10は単独或いは複数のコンピュータによって構成されるシステムである。データ処理装置20及びデータ記憶装置30を単独のコンピュータによって構成してもよいし、データ処理装置20及びデータ記憶装置30をそれぞれ別のコンピュータとして構成することとしてもよい。更に、データ処理装置20及びデータ記憶装置30をそれぞれ複数のコンピュータにより構成することとしてもよい。
ストレージシステム10はコンテンツアドレスストレージシステムである。コンテンツアドレスストレージシステムでは、データを分割及び冗長化し、分散して複数の記憶装置に記憶する。また、コンテンツアドレスストレージシステムでは、記憶するデータの内容に応じて設定される固有のコンテンツアドレスによって、当該データを格納した格納位置を特定する。
データ処理装置20は、データ記憶装置30に対するデータの記憶及び読み出し動作を制御する。データ記憶装置30はデータを記憶する記憶媒体を備える装置である。データ処理装置20、データ記憶装置30をそれぞれ単独のコンピュータとして構成する場合、データ処理装置20、データ記憶装置30をそれぞれ例えばサーバコンピュータ装置にて構成することが考えられる。
データ処理装置20は、ストリームID(Identifier)付与部21、ブロック生成部22、重複チェック部23、フラグメント生成部24、分散記憶制御部25、格納位置管理部26を備える。データ記憶装置30は、複数の記憶装置31、格納位置情報記憶部32、読み出し済み情報記憶部33を備える。
ストリームID付与部21は、一群のデータである対象データAの入力を受けると、当該対象データAを区別する識別情報であるストリームIDを付与する。例えば、対象データAに対してストリームID=ST1を付与し、対象データB(図示せず)に対してストリームID=ST2を付与する。
ブロック生成部22は、対象データAの入力を受けると、当該対象データAを所定容量(例えば、64KB)のブロックデータDに分割する。
また、ブロック生成部22は、ブロックデータDのデータ内容に基づいて、当該ブロックデータDの内容を代表する固有のハッシュ値H(内容識別情報)を算出する。例えば、ハッシュ値Hは、予め設定されたハッシュ関数を用いて、ブロックデータDのデータ内容から算出する。
更に、ブロック生成部22は、対象データAに付与したストリームIDを、その対象データAを分割して生成した各ブロックデータDにも引き継いで付与する。
重複チェック部23は、対象データAのブロックデータDのハッシュ値Hを用いて、当該ブロックデータDが既に記憶装置31に格納されているか否かを調べる。
具体的には、まず、既に格納されているブロックデータDは、そのハッシュ値Hと格納位置を表すコンテンツアドレスCAが、関連付けてMFI(Main Fragment Index)ファイルに登録されている。従って、重複チェック部23は、格納前に算出したブロックデータDのハッシュ値HがMFIファイル内に存在している場合には、既に同一内容のブロックデータDが格納されていると判断できる。
この場合には、格納前のブロックデータDのハッシュ値Hと一致したMFI内のハッシュ値Hに関連付けられているコンテンツアドレスCAを、当該MFIファイルから取得する。そして、このコンテンツアドレスCAを、記憶要求にかかるブロックデータDのコンテンツアドレスCAとして返却する。
これにより、このコンテンツアドレスCAにて参照される既に格納されているデータが、記憶要求されたブロックデータDとして使用されることとなり、当該記憶要求にかかるブロックデータDは記憶する必要がなくなる。
フラグメント生成部24は、重複チェック部23にてまだ記憶されていないと判断されたブロックデータDを、圧縮して、複数の所定の容量のフラグメントデータに分割する。例えば、符号D1〜D9にそれぞれ対応する9つのフラグメントデータに分割する。
また、フラグメント生成部24は、分割したフラグメントデータのうちいくつかが欠けた場合であっても、元となるブロックデータを復元可能なよう冗長データを生成する。フラグメント生成部24は生成した冗長データをフラグメントデータに追加して、ひとつのデータセットを生成する。
例えば、フラグメント生成部24は、9つのフラグメントデータD1〜D9に対して、符号D10〜D12にそれぞれ対応する3つの冗長データを追加して、ひとつのデータセットを生成する。つまり、フラグメント生成部24は、重複チェック部23が未記憶と判断したブロックデータDに相当するデータセットを生成する。以下、フラグメントデータD1〜D9のように、ブロックデータDを圧縮、分割して生成したデータと、冗長データD10〜D12のように、冗長化を実現するために生成したデータの両方を、総称してフラグメントデータと呼ぶことがある。フラグメントデータD1〜D12は同じ容量になるように作成されることが好ましい。
更に、フラグメント生成部24は、生成した全てのフラグメントデータD1〜D12に、当該フラグメントデータの元となるブロックデータD、つまり、フラグメントデータD1〜D12から復元されるブロックデータDに付与されたストリームIDを、それぞれ付与する。
分散記憶制御部25は、フラグメント生成部24にて生成されたデータセットを構成する各フラグメントデータを、記憶装置31に形成された各記憶領域に、それぞれ分散して格納する。
例えば、ストレージシステム10が複数の記憶装置31として12基の記憶装置を設けて、1基毎にデータ格納ファイルFを用意する。このとき、ストレージシステム10は12個のデータ格納ファイルF1〜F12をデータ格納領域として有する。分散記憶制御部25は、これら12個のデータ格納ファイルF1〜F12のそれぞれに、フラグメントデータD1〜D12のひとつを格納する。即ち、分散記憶制御部25は、ある1基の記憶装置31のデータ格納ファイルF1にフラグメントデータD1を格納し、別の1基の記憶装置31のデータ格納ファイルF2にフラグメントデータD2を格納する。同一のデータセットをなす複数のフラグメントデータを、別々の記憶装置のデータ格納ファイルに格納する。
また、分散記憶制御部25は、同一データセットのフラグメントデータを別々の記憶装置31に格納する際、各データ格納ファイル内の同じ位置に格納する。
例えば、上述の例のように、ストレージシステム10が12基の記憶装置31を備え、各記憶装置31にデータ格納ファイルF1〜F12があり、あるブロックデータDに対応するデータセットが、12個のフラグメントデータD1〜D12からなるとする。分散記憶制御部25は、データ格納ファイルF1にフラグメントデータD1を格納する際、データ格納ファイルF1の先頭からUビット(Uは自然数)目に格納したとする。このとき、分散記憶制御部25は、データ格納ファイルF2にフラグメントデータD2を格納する際も、データ格納ファイルF2の先頭からUビット目に格納する。他のフラグメントデータD3〜D12の格納についても同様である。
ストレージシステム10に複数の対象データを同時に格納する場合、分散記憶制御部25は、異なる対象データに由来するデータセットを交互にデータ格納ファイルに格納することがある。例えば、ストレージシステム10が同時期に3つの対象データの入力を受け付けたとする。ストリームID付与部21はこれら3つの対象データに対して、ストリームIDとしてST1、ST2、ST3を順に付与したとする。このとき、データ格納フォルダF1〜F12は例えば図7のようにフラグメントデータを格納する。
図7において、同一の対象データに由来するフラグメントデータには、同一の網掛けが施してある。即ち、ストリームID=ST1のフラグメントデータには、右上から左下に向かう斜線の網掛けが施してある。ストリームID=ST2のフラグメントデータには、格子状の網掛けが施してある。ストリームID=ST3のフラグメントデータには、斜方格子状の網掛けが施してある。
また、分散記憶制御部25は、各データ格納ファイルF1〜F12に格納する前に、各フラグメントデータD1〜D12をストリームID毎に区別して異なるバッファメモリに一旦格納する。そして、その後、バッファメモリ内のフラグメントデータD1〜D12を各データ格納ファイルF1〜F12に格納する。
また、分散記憶制御部25は、上述したように、フラグメントデータをデータ格納ファイルに格納する時のみならず、すでに格納されたフラグメントデータに対しても、同一のストリームIDのフラグメントデータが連続して配置されるよう、事後的に格納位置を変更する機能も有する。例えば、ストレージシステム10自体のリソースが所定値以上空いているときに、各データ格納ファイルF1〜F12に格納されているフラグメントデータを、ストリームIDが同一のものが連続するよう格納位置を移動する。具体的には、各データ格納ファイルF1〜F12の同一の格納位置(横一列)に格納されている全てのフラグメントデータの格納位置を、当該各フラグメントデータにて構成されるデータセット40ごと、変更することができる。これにより、ストリームIDが異なるデータセットが交互に格納された状態から、同一のストリームIDのものが連続する格納状態にすることができる。
また、分散記憶制御部25は、データセット40を構成する各フラグメントデータD1〜D12に、同一のデータセット40を構成していることを識別するために、同一の識別情報(WriteRecordSeqNum)を付与して、各データ格納ファイルF1〜F12にそれぞれ格納する。そして、分散記憶制御部25は、ストレージシステム10のリソースが空いているときなど任意のタイミングで識別情報を調べる。これにより、同一のデータセット40を構成している各フラグメントデータが、各データ格納ファイルF1〜F12内の同一の格納位置に格納されているか、ということを調べることができる。従って、分散記憶制御部25は、各データ格納ファイルF1〜F12内の同一の格納位置に格納されている各フラグメントデータが、全て同一の識別情報(WriteRecordSeqNum)を含んでいなければ、当該各フラグメントデータが同一の格納位置に格納されるよう当該格納位置を修正して、データを再格納する。
更に、分散記憶制御部25は、現に記憶装置31に格納しているデータの読み出し処理を行う。
格納位置管理部26は、上述したように記憶装置31に格納したフラグメントデータD1〜D12の格納位置、つまり、当該フラグメントデータD1〜D12にて復元されるブロックデータDの格納位置を表す、コンテンツアドレスCAを生成して管理する。具体的には、格納したブロックデータDの内容に基づいて算出したハッシュ値Hの一部(ショートハッシュ)(例えば、ハッシュ値Hの先頭8B(バイト))と、論理格納位置を表す情報と、を組み合わせて、コンテンツアドレスCAを生成する。そして、このコンテンツアドレスCAを、ストレージシステム10内のファイルシステムに返却する。すると、ファイルシステムは、対象データのファイル名などの識別情報と、コンテンツアドレスCAとを関連付けて管理する。
また、格納位置管理部26は、ブロックデータDのコンテンツアドレスCAと、当該ブロックデータDのハッシュ値Hと、を関連付けて、各ストレージノード10BがMFIファイルにて管理する。このように、コンテンツアドレスCAは、ファイルを特定する情報やハッシュ値Hなどと関連付けられて、格納位置情報記憶部32に格納される。
さらに、格納位置管理部26は、上述したように格納した対象データを読み出す制御を行う。例えば、ストレージシステム10に対して、特定のファイルを指定して読み出し要求があると、まず、ファイルシステムに基づいて、読み出し要求にかかるファイルに対応するハッシュ値の一部であるショートハッシュと論理位置の情報からなるコンテンツアドレスCAを指定する。そして、格納位置管理部26は、コンテンツアドレスCAがMFIファイルに登録されているか否かを調べる。登録されていなければ、要求されたデータは格納されていないため、エラーを返却する。
一方、読み出し要求にかかるコンテンツアドレスCAが登録されている場合には、コンテンツアドレスCAにて指定される格納位置を特定し、この特定された格納位置に格納されている各フラグメントデータを、読み出し要求されたデータとして読み出す。このとき、各フラグメントが格納されているデータ格納ファイルF1〜F12と、当該データ格納ファイルのうち1つのフラグメントデータの格納位置が分かれば、同一の格納位置から他のフラグメントデータの格納位置を特定することができる。
そして、格納位置管理部26は、読み出し要求に応じて読み出した各フラグメントデータからブロックデータDを復元する。さらに、格納位置管理部25は、復元したブロックデータDを複数連結し、ファイルAなどの一群のデータに復元して、読み出し元に返却する。
データ記憶装置30は、複数の記憶装置31、格納位置情報記憶部32、読み出し済み情報記憶部33を備える。
記憶装置31は、それぞれ、ストレージシステム10に格納する対象となるデータを格納する記憶装置である。記憶装置31として用いる記憶装置は例えばハードディスクドライブ、SSD (Solid State Drive)である。
格納位置情報記憶部32は、格納したデータの格納位置を記憶する記憶装置である。格納位置情報記憶部32として用いる記憶装置は例えばハードディスクドライブ、SSDである。
読み出し済み情報記憶部33は、読み出し処理によるデータの読み出しを中断した位置を示す位置情報である、読み出し済みポインタPOSを記憶する。また、読み出し済み情報記憶部33は、再格納処理を終了した位置、即ち、次回の再格納処理を開始する位置POSを記憶する。
次に、ストレージシステム10の動作について説明する。ストレージシステム10は、記憶装置31に格納したデータのうち、読み出し処理が既に終了した位置を示す位置情報を保持する。この位置情報に基づいて、再格納処理を行っていないデータのうち、読み出しを既に行ったデータについては、再格納処理の優先度を下げる。読み出しがまだのデータを優先して再格納処理を行う。再格納処理を行っていない、未ソートのデータについては、例えば、当該データの位置情報を昇順のリストで管理する。
図7を参照して説明する。分散記憶制御部25は記憶装置31の全データを対象とした読み出し処理を開始する(ステップS1)。このような処理の例としては、レプリケーションの際に行うマスタサイトからの読み出し処理がある。この種の読み出し処理では、記憶装置31のある位置までの読み出し処理を終了した後、その終了した位置から読み出し処理を続けて行う。
レプリケーションでは、マスタサイト側のファイルに対してデータの書き込みが発生すると、書き込みに伴う差分データをマスタサイトからレプリカサイトに転送する。転送の対象は差分であるため、一度レプリケーションによって読み出しの対象となったデータは、以後は参照されない。このため、マスタサイト側のファイルにおいて読み出し処理の対象となったデータは、以後は読み出し処理の対象にならない。
次に、分散記憶制御部25は読み出し処理を終了する(ステップS2)。このときの位置を示すポインタを読み出し済みポインタと呼び、読み出し済みポインタの位置情報をPOSとする。
次に、格納位置管理部26は、読み出し済ポインタ(位置情報)POSを格納位置情報記憶部32に保持する(ステップS3)。
次に、格納位置管理部26は、読み出し済みポインタの位置情報POS、及び、再格納処理の終了/再開位置POSを、格納位置情報記憶部32から読み出す(ステップS4)。
次に、格納位置管理部26は、格納位置情報記憶部32から読み出した、位置POSと位置POSとを比較する(ステップS5)。
読み出し処理の進行方向において、位置POSが位置POSよりも前方にある場合、即ち、次の読み出し処理を開始する位置POSが、再格納処理を再開する位置POSよりも、データ格納フォルダF1〜F12の末尾側にある場合、格納位置管理部26は、格納位置情報記憶部32に格納している再格納処理の終了/再開位置POSの値を、読み出し済みポインタの位置POSの値で更新する(ステップS6)。つまり、再格納処理を再開する位置POSを、次の読み出し処理を開始する位置POSまで飛ばす。
このとき、図8に示すように、再格納処理の再開位置POSを、先行していた読み出し処理の次回開始位置POSに追いつかせた状態になる。データ格納ファイルF1〜F12において、読み出し処理の次回の開始位置以後に格納されているデータに対する再格納処理を優先して行うことになる。
尚、読み出し処理の進行方向において、位置POSが位置POSよりも前方にある場合、即ち、次の読み出し処理を開始する位置POSが、再格納処理を再開する位置POSよりも、データ格納フォルダF1〜F12の先頭側にある場合は何もしない。
次に、分割記憶制御部25は、格納位置情報記憶部32に格納されている位置POSから再格納処理を開始する(ステップS7)。
例えば、ステップS6、S7では、ストレージシステム10がレプリケーションのマスタサイトの記憶装置である場合、レプリケーションジョブの終了時に、レプリケーションジョブは最後に読み出した位置を読み出し済情報記憶部33に通知する。また、レプリケーションジョブは、読み出し済情報を更新したことを格納位置管理部26に通知する。この通知を受けて、格納位置管理部26は、読み出し済情報記憶部33を参照し、再格納処理開始位置が読み出し済情報記憶部33から読み出した位置に設定する。分割記憶制御部25は、再設定を行った位置から再格納処理を開始する。
本実施形態によれば、コンテンツアドレスストレージシステムの読み出し性能の向上を図ることができる。
上記の実施形態の一部又は全部は以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
ひとつの親データを複数に分割して生成したデータを子データと呼ぶとき、互いに異なる親データを分割元とする子データを順番に記憶装置内のファイルに格納する手段、
前記ファイルの読み出し処理の実行に応じて、当該読み出し処理が前記ファイルから最後に読み出した位置を記憶装置に記憶する手段、
前記ファイル内で前記子データをソートするソート処理を、前記位置以後に格納されている前記子ファイルに対して行う手段
を備えるストレージシステム。
(付記2)
前記ソート処理は、同じ前記親データを分割元とする前記子データが、前記ファイル内において連続するように前記子データをソートする、付記1に記載のストレージシステム。
(付記3)
前記子データは、同じ親データを分割して生成した他の子データとの間に互いに順序関係を有し、
前記ソート処理は、同じ前記親データを分割元とする前記子データが前記ファイル内において前記順序関係に従って連続するように行う、
付記1または付記2に記載のストレージシステム。
(付記4)
付記1乃至付記3のいずれかに記載のコンテンツアドレスストレージシステム。
(付記5)
前記ストレージシステムは、マスタサイトからレプリカサイトへレプリケーションを行う前記マスタサイトが備えるストレージシステムである、付記1乃至付記4のいずれかに記載のストレージシステム。
(付記6)
ひとつの親データを複数に分割して生成したデータを子データと呼ぶとき、互いに異なる親データを分割元とする子データを順番に記憶装置内のファイルに格納する段階、
前記ファイルの読み出し処理の実行に応じて、当該読み出し処理が前記ファイルから最後に読み出した位置を記憶装置に記憶する段階、
前記ファイル内で前記子データをソートするソート処理を、前記位置以後に格納されている前記子ファイルに対して行う段階
を含む、データソート方法。
(付記7)
前記ソート処理は、同じ前記親データを分割元とする前記子データが、前記ファイル内において連続するように前記子データをソートする、付記6に記載の方法。
(付記8)
前記子データは、同じ親データを分割して生成した他の子データとの間に互いに順序関係を有し、
前記ソート処理は、同じ前記親データを分割元とする前記子データが前記ファイル内において前記順序関係に従って連続するように行う、
付記6または付記7に記載の方法。
(付記9)
前記ストレージシステムはコンテンツアドレスストレージシステムである、付記6乃至付記8のいずれかに記載の方法。
(付記10)
前記ストレージシステムは、マスタサイトからレプリカサイトへレプリケーションを行う前記マスタサイトが備えるストレージシステムである、付記6乃至付記9のいずれかに記載の方法。
(付記11)
ひとつの親データを複数に分割して生成したデータを子データと呼ぶとき、互いに異なる親データを分割元とする子データを順番に記憶装置内のファイルに格納する手段、
前記ファイルの読み出し処理の実行に応じて、当該読み出し処理が前記ファイルから最後に読み出した位置を記憶装置に記憶する手段、
前記ファイル内で前記子データをソートするソート処理を、前記位置以後に格納されている前記子ファイルに対して行う手段
をコンピュータに実現させるためのプログラム。
(付記12)
前記ソート処理は、同じ前記親データを分割元とする前記子データが、前記ファイル内において連続するように前記子データをソートする、付記11に記載のプログラム。
(付記13)
前記子データは、同じ親データを分割して生成した他の子データとの間に互いに順序関係を有し、
前記ソート処理は、同じ前記親データを分割元とする前記子データが前記ファイル内において前記順序関係に従って連続するように行う、
付記11または付記12に記載のプログラム。
1、10 ストレージシステム
21 ストリームID付与部
22 ブロック生成部
23 重複チェック部
24 フラグメント生成部
25 分散記憶制御部
26 格納位置管理部
30 データ記憶装置
31 記憶装置
32 格納位置情報記憶部
33 読み出し済み情報記憶部

Claims (5)

  1. ひとつの親データを複数に分割して生成したデータを子データと呼ぶとき、互いに異なる親データを分割元とする子データを順番に記憶装置内のファイルに格納する手段、
    前記ファイルの読み出し処理の実行に応じて、当該読み出し処理が前記ファイルから最後に読み出した位置を記憶装置に記憶する手段、
    前記ファイル内で前記子データをソートするソート処理を、前記読み出した位置以後に格納されている前記ファイル内の子ファイルに対して行う手段
    を備え
    前記子データは、同じ親データを分割して生成した他の子データとの間に互いに順序関係を有し、
    前記ソート処理は、同じ前記親データを分割元とする前記子データが前記ファイル内において前記順序関係に従って連続するように行う、
    ことを特徴とするストレージシステム。
  2. 請求項1に記載のストレージシステムは、データを分割及び冗長化し、分散して複数の記憶装置に記憶し、該記憶したデータの内容に応じて設定される固有のコンテンツアドレスによって、当該データを格納した格納位置を特定するコンテンツアドレスストレージシステムである、ストレージシステム
  3. 前記ストレージシステムは、マスタサイトからレプリカサイトへレプリケーションを行う前記マスタサイトが備えるストレージシステムである、請求項1又は請求項2に記載のストレージシステム。
  4. ひとつの親データを複数に分割して生成したデータを子データと呼ぶとき、互いに異なる親データを分割元とする子データを順番に記憶装置内のファイルに格納する段階、
    前記ファイルの読み出し処理の実行に応じて、当該読み出し処理が前記ファイルから最後に読み出した位置を記憶装置に記憶する段階、
    前記ファイル内で前記子データをソートするソート処理を、前記読み出した位置以後に格納されている前記ファイル内の子ファイルに対して行う段階
    を含み、
    前記子データは、同じ親データを分割して生成した他の子データとの間に互いに順序関係を有し、
    前記ソート処理は、同じ前記親データを分割元とする前記子データが前記ファイル内において前記順序関係に従って連続するように行う、
    データソート方法。
  5. ひとつの親データを複数に分割して生成したデータを子データと呼ぶとき、互いに異なる親データを分割元とする子データを順番に記憶装置内のファイルに格納する手段、
    前記ファイルの読み出し処理の実行に応じて、当該読み出し処理が前記ファイルから最後に読み出した位置を記憶装置に記憶する手段、
    前記ファイル内で前記子データをソートするソート処理を、前記読み出した位置以後に格納されている前記ファイル内の子ファイルに対して行う手段
    をコンピュータに実現させるためのプログラムであって、
    前記子データは、同じ親データを分割して生成した他の子データとの間に互いに順序関係を有し、
    前記ソート処理は、同じ前記親データを分割元とする前記子データが前記ファイル内において前記順序関係に従って連続するように行う、
    プログラム
JP2017071246A 2017-03-31 2017-03-31 ストレージシステム、データソート方法及びプログラム Active JP6853506B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017071246A JP6853506B2 (ja) 2017-03-31 2017-03-31 ストレージシステム、データソート方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017071246A JP6853506B2 (ja) 2017-03-31 2017-03-31 ストレージシステム、データソート方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2018173802A JP2018173802A (ja) 2018-11-08
JP6853506B2 true JP6853506B2 (ja) 2021-03-31

Family

ID=64108645

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017071246A Active JP6853506B2 (ja) 2017-03-31 2017-03-31 ストレージシステム、データソート方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6853506B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857710B (zh) * 2019-01-04 2023-10-27 平安科技(深圳)有限公司 文件存储方法及终端设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3522527B2 (ja) * 1998-03-27 2004-04-26 富士通株式会社 入出力制御装置および入出力制御方法
JP2001188658A (ja) * 1999-12-28 2001-07-10 Toshiba Corp ディスク制御システムおよびデータ再配置方法
JP2001285300A (ja) * 2000-03-29 2001-10-12 Canon Inc 通信方法及び通信システム
JP3760804B2 (ja) * 2001-06-13 2006-03-29 日本電気株式会社 バックアップシステム
US7213116B2 (en) * 2005-03-24 2007-05-01 Hitachi, Ltd. Method and apparatus for mirroring objects between storage systems
JP5147376B2 (ja) * 2007-12-11 2013-02-20 株式会社日立製作所 サーバ及びバックアップ方法並びにファイル読出し装置
JP5413948B2 (ja) * 2009-01-27 2014-02-12 日本電気株式会社 ストレージシステム

Also Published As

Publication number Publication date
JP2018173802A (ja) 2018-11-08

Similar Documents

Publication Publication Date Title
JP6778795B2 (ja) データを記憶するための方法、装置及びシステム
CN110096891B (zh) 对象库中的对象签名
JP5413948B2 (ja) ストレージシステム
US20230013281A1 (en) Storage space optimization in a system with varying data redundancy schemes
CN107798130B (zh) 一种分布式存储快照的方法
JP5637552B2 (ja) ストレージシステム
JP6094267B2 (ja) ストレージシステム
JP6598996B2 (ja) データ準備のためのシグニチャベースのキャッシュ最適化
CN107451013B (zh) 基于分布式系统的数据恢复方法、装置及系统
JP5391705B2 (ja) ストレージシステム
US10452496B2 (en) System and method for managing storage transaction requests
CN111638995A (zh) 元数据备份方法、装置及设备、存储介质
CN112965939A (zh) 一种文件合并方法、装置和设备
CN112463058A (zh) 一种碎片数据整理方法、装置及存储节点
JP2018530838A (ja) データ準備のためのキャッシュ最適化
JP5533888B2 (ja) ストレージ装置
JP5517224B2 (ja) ストレージ装置
JP6853506B2 (ja) ストレージシステム、データソート方法及びプログラム
CN114115734A (zh) 一种数据重删方法、装置、设备及存储介质
JP6171413B2 (ja) ストレージシステム
JP5459388B2 (ja) ストレージ装置
JP6413792B2 (ja) ストレージシステム
CN112988696B (zh) 文件整理方法、装置及相关设备
CN106250264A (zh) 用于分布式存储的数据恢复方法及系统
JP5342055B1 (ja) 記憶装置およびデータバックアップ方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210223

R150 Certificate of patent or registration of utility model

Ref document number: 6853506

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150