JP2015153067A - ストレージシステム - Google Patents

ストレージシステム Download PDF

Info

Publication number
JP2015153067A
JP2015153067A JP2014025237A JP2014025237A JP2015153067A JP 2015153067 A JP2015153067 A JP 2015153067A JP 2014025237 A JP2014025237 A JP 2014025237A JP 2014025237 A JP2014025237 A JP 2014025237A JP 2015153067 A JP2015153067 A JP 2015153067A
Authority
JP
Japan
Prior art keywords
data
storage
fragment
index
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.)
Granted
Application number
JP2014025237A
Other languages
English (en)
Other versions
JP6343952B2 (ja
Inventor
昇平 笹田
Shohei Sasada
昇平 笹田
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 JP2014025237A priority Critical patent/JP6343952B2/ja
Publication of JP2015153067A publication Critical patent/JP2015153067A/ja
Application granted granted Critical
Publication of JP6343952B2 publication Critical patent/JP6343952B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】ストレージシステムの性能が低下すること。【解決手段】本発明のストレージシステムは、検索要求データに対応する要約データに基づいて、別の記憶手段に対応するインデックスデータを探索して、検索対象データを構成する一部のフラグメントデータ及び当該フラグメントデータの書き込み状況情報を特定し、この特定した書き込み状況情報及び検索対象データの要約データに基づいて特定の記憶手段に対応するインデックスデータを探索して、検索対象データを構成する他のフラグメントデータを特定する。【選択図】図12

Description

本発明は、ストレージシステムにかかり、特に、データを分散して複数の記憶装置に記憶するストレージシステムに関する。
近年、コンピュータの発達及び普及に伴い、種々の情報がデジタルデータ化されている。このようなデジタルデータを保存しておく装置として、磁気テープや磁気ディスクなどの記憶装置がある。そして、保存すべきデータは日々増大し、膨大な量となるため、大容量なストレージシステムが必要となっている。また、記憶装置に費やすコストを削減しつつ、信頼性も必要とされる。これに加えて、後にデータを容易に取り出すことが可能であることも必要である。その結果、自動的に記憶容量や性能の増大を実現できると共に、重複記憶を排除して記憶コストを削減し、さらには、冗長性の高いストレージシステムが望まれている。
このような状況に応じて、近年では、特許文献1に示すように、コンテンツアドレスストレージシステムが開発されている。このコンテンツアドレスストレージシステムは、データを分散して複数の記憶装置に記憶すると共に、このデータの内容に応じて特定される固有のコンテンツアドレスによって、当該データを格納した格納位置が特定される。
このように、コンテンツアドレスは、データの内容に応じて固有となるよう生成されるため、重複データであれば、同じ格納位置のデータを参照することで、同一内容のデータを取得することができる。従って、重複データを別々に格納する必要がなく、重複記録を排除し、データ容量の削減を図ることができる。つまり、コンテンツアドレスストレージシステムでは、同一内容のデータが記憶されていない場合だけ、新たなデータが記憶されるという重複排除機能を有している。
また、ストレージシステムでは、所定容量のブロックデータを複数のフラグメントデータに分割すると共に、冗長データとなるフラグメントをさらに付加して、これら複数のフラグメントデータをそれぞれ複数の記憶装置にそれぞれ格納している。そして、後にコンテンツアドレスを指定することにより、当該コンテンツアドレスにて特定される格納位置に格納されているフラグメントデータを読み出し、複数のフラグメントデータから分割前のブロックデータを復元することができる。
このように、ストレージシステムは、冗長データとなるフラグメントデータを付加しているため、付加した冗長データのフラグメント数以下のフラグメントデータが失われた場合でも、元のブロックデータを再生成することができる。
さらに、ストレージシステムでは、複数の記憶装置にフラグメントデータを格納する際に、一度に多くのフラグメントデータが失われないよう、また、所定の記憶装置に負荷が集中しないよう、分散配置機能を有している。ここで、各記憶装置には、それぞれデータ格納用コンテナを有しており、各データ格納用コンテナにそれぞれフラグメントデータを格納して、負荷分散している。
ここで、上述したようなストレージシステムにおいては、書き込み時に同一のデータが既に記憶装置に格納されているか否かの重複判定を行うこととなるが、大量のデータの中から重複判定を行うことは容易ではない。そこで、データの重複判定の効率化のために、実際のデータを比較するのではなく、データの内容に基づいて算出されたフィンガプリント(ハッシュ値)を比較する方法が使用されている。ハッシュ値は、実データに比べてデータサイズが小さいため、重複判定の高速化が可能となる。そして、データの読み込み時にも同様に、対象となるデータのコンテンツアドレスと既に記憶されているハッシュ値とを比較することで、検索の高速化が可能となる。
一方で、上述したハッシュ値は、書き込みデータをあるサイズに分割(チャンキング)したブロックデータ単位で計算されるため、データ量の増加に伴って、その数が増加していくことになる。そして、ストレージシステムの多くは、書き込み、および読み込み性能が重要視されるため、重複判定の高速化のために、同一のハッシュ値を効率的に探索する手法が必要となってくる。
そこで、ストレージシステムは、重複判定のために、ブロックデータのハッシュ値の一部であるショートハッシュをキーとして、そのハッシュ値に対応したデータにアクセスするための情報をまとめたテーブルであるハッシュテーブルを持つ。ハッシュテーブルを用いた場合には、ショートハッシュをベースに検索されるため、フルハッシュ値を比較する場合と比較して、検索性能を向上させることができる。また、重複判定のみならず、データの読み込みの際にも、読み込み要求のあった該当するブロックデータを検索する際に、ハッシュテーブルが使用される。
特開2013−182476
ここで、ストレージシステムは、データ格納専用に使用されるシステムのため、第一に、格納データ(データブロックや、そのフルハッシュ値)の信頼性が重要となってくる。そのため、格納データに関しては、信頼性を重視し、ジャーナル機能を持つファイルシステムに保存しているため、障害が発生した後には、ジャーナル情報から故障したデータの復旧が可能となる。
一方で、ハッシュテーブルは、上述したようにデータの高速検索を目的としていることと、保存されているデータから再度生成できる情報であることから、重要度が低いデータであり、信頼性よりも性能を重視した構成となっている。つまり、上述した格納データとは異なり、ジャーナル機能を持たない。そのため、電源断などの異常再起動が発生すると、実際に格納されているデータとハッシュテーブル内に格納されているデータとの整合性が保てなくなるが、整合性の回復のために、格納データから再度ハッシュテーブルを構築する処理を行わなければならなくなる。
しかしながら、ハッシュテーブルは、読み込み時の格納データの検索の際に最初にアクセスする情報であるために、その破損時や再構築中は、格納データへのアクセスができなくなる、という問題が生じる。そして、この再構築処理は、近年のデータの肥大化によって時間が長くなってきており、格納データにアクセスができない時間が長期化する、という問題も生じる。その結果、ストレージシステムの性能が低下する、という問題が生じる。
このため、本発明の目的は、上述した課題である、ストレージシステムの性能が低下する、ということを解決することにある。
本発明の一形態であるストレージシステムは、
記憶対象データを複数に分割した分割データを含む複数のフラグメントデータを生成して、当該複数のフラグメントデータを複数の記憶手段にそれぞれ分散して記憶すると共に、
前記フラグメントデータを参照する情報と、当該フラグメントデータにて構成される前記記憶対象データのデータ内容に基づいて算出された要約データと、を関連付けたインデックスデータを、当該インデックスデータにて参照される前記フラグメントデータの記憶先となる前記記憶手段毎に区別して記憶し、
さらに、前記インデックスデータを参照する情報と、当該インデックスデータに含まれた前記要約データの一部からなる部分要約データと、を関連付けた要約テーブルを記憶する、
分散記憶処理手段と、
検索要求データに対応する前記要約データに基づいて、前記要約テーブル及び前記インデックスデータを探索して、前記複数の記憶手段に記憶されている前記検索要求データを構成する複数のフラグメントデータを検索するデータ検索手段と、を備え、
前記分散記憶処理手段は、前記インデックスデータに、当該インデックスデータにて参照される前記フラグメントデータの書き込み時の状況を表す書き込み状況情報を含めて記憶し、
前記データ検索手段は、前記要約テーブルの少なくとも一部が利用不可である場合に、当該利用不可である要約テーブルによって参照される前記インデックスデータにてさらに参照される前記フラグメントデータを記憶する特定の前記記憶手段とは別の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データの前記要約データに基づいて当該検索対象データを構成する一部の前記フラグメントデータ及び当該フラグメントデータの前記書き込み状況情報を特定し、この特定した書き込み状況情報及び検索対象データの前記要約データに基づいて前記特定の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
という構成をとる。
本発明の他の形態であるプログラムは、
ストレージシステムの制御装置に、
記憶対象データを複数に分割した分割データを含む複数のフラグメントデータを生成して、当該複数のフラグメントデータを複数の記憶手段にそれぞれ分散して記憶すると共に、
前記フラグメントデータを参照する情報と、当該フラグメントデータにて構成される前記記憶対象データのデータ内容に基づいて算出された要約データと、を関連付けたインデックスデータを、当該インデックスデータにて参照される前記フラグメントデータの記憶先となる前記記憶手段毎に区別して記憶し、
さらに、前記インデックスデータを参照する情報と、当該インデックスデータに含まれた前記要約データの一部からなる部分要約データと、を関連付けた要約テーブルを記憶する、
分散記憶処理手段と、
検索要求データに対応する前記要約データに基づいて、前記要約テーブル及び前記インデックスデータを探索して、前記複数の記憶手段に記憶されている前記検索要求データを構成する複数のフラグメントデータを検索するデータ検索手段と、
を実現させると共に、
前記分散記憶処理手段は、前記インデックスデータに、当該インデックスデータにて参照される前記フラグメントデータの書き込み時の状況を表す書き込み状況情報を含めて記憶し、
前記データ検索手段は、前記要約テーブルの少なくとも一部が利用不可である場合に、当該利用不可である要約テーブルによって参照される前記インデックスデータにてさらに参照される前記フラグメントデータを記憶する特定の前記記憶手段とは別の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データの前記要約データに基づいて当該検索対象データを構成する一部の前記フラグメントデータ及び当該フラグメントデータの前記書き込み状況情報を特定し、この特定した書き込み状況情報及び検索対象データの前記要約データに基づいて前記特定の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
ことを実現させる、
という構成をとる。
本発明の他の形態であるデータ処理方法は、
記憶対象データを複数に分割した分割データを含む複数のフラグメントデータを生成して、当該複数のフラグメントデータを複数の記憶手段にそれぞれ分散して記憶すると共に、
前記フラグメントデータを参照する情報と、当該フラグメントデータにて構成される前記記憶対象データのデータ内容に基づいて算出された要約データと、を関連付けたインデックスデータを、当該インデックスデータにて参照される前記フラグメントデータの記憶先となる前記記憶手段毎に区別して記憶し、
さらに、前記インデックスデータを参照する情報と、当該インデックスデータに含まれた前記要約データの一部からなる部分要約データと、を関連付けた要約テーブルを記憶する、
分散記憶処理を行い、
検索要求データに対応する前記要約データに基づいて、前記要約テーブル及び前記インデックスデータを探索して、前記複数の記憶手段に記憶されている前記検索要求データを構成する複数のフラグメントデータを検索するデータ検索処理を行う、データ処理方法であって、
前記分散記憶処理の際に、前記インデックスデータに、当該インデックスデータにて参照される前記フラグメントデータの書き込み時の状況を表す書き込み状況情報を含めて記憶し、
前記データ検索処理の際に、前記要約テーブルの少なくとも一部が利用不可である場合に、当該利用不可である要約テーブルによって参照される前記インデックスデータにてさらに参照される前記フラグメントデータを記憶する特定の前記記憶手段とは別の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データの前記要約データに基づいて当該検索対象データを構成する一部の前記フラグメントデータ及び当該フラグメントデータの前記書き込み状況情報を特定し、この特定した書き込み状況情報及び検索対象データの前記要約データに基づいて前記特定の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
という構成をとる。
本発明は、以上のように構成されることにより、ストレージシステムの性能の低下を抑制することができる。
本発明の実施形態1におけるストレージシステムを含む全体システムの構成を示すブロック図である。 図1に開示したストレージシステムの全体構成を示すブロック図である。 図2に開示したストレージシステムの構成を示す機能ブロック図である。 図3に開示したストレージシステムにデータを書き込むときの様子を説明するための説明図である。 図3に開示したストレージシステムにデータを書き込むときの様子を説明するための説明図である。 図3に開示したストレージシステムに書き込まれているデータの様子を説明するための説明図である。 図3に開示したストレージシステムに書き込まれているデータの様子を説明するための説明図である。 図3に開示したストレージシステムに書き込まれているデータを検索するときの様子を説明するための説明図である。 図3に開示したストレージシステムの動作を示すフローチャートである。 図3に開示したストレージシステムの動作を示すフローチャートである。 図3に開示したストレージシステムの動作を示すフローチャートである。 本発明の付記1におけるストレージシステムの構成を示す図である。
<実施形態1>
本発明の第1の実施形態を、図1乃至図12を参照して説明する。図1は、全体システムの構成を示すブロック図である。図2は、ストレージシステムの構成の概略を示すブロック図であり、図3は、ストレージシステムの構成を示す機能ブロック図である。図4乃至図8は、ストレージシステムに書き込まれるデータや検索時の様子を説明するための説明図である。図9乃至図11は、ストレージシステムの動作を示すフローチャートである。
[構成]
本実施形態は、後述する付記に記載のストレージシステム等の具体的な一例を示すものである。そして、以下では、ストレージシステムが、複数台のサーバコンピュータが接続されて構成されている場合を説明する。但し、本発明におけるストレージシステムは、複数台のコンピュータにて構成されることに限定されず、1台のコンピュータで構成されていてもよい。
図1に示すように、本発明におけるストレージシステム1は、ネットワークNを介してバックアップ処理を制御するバックアップサーバ4に接続している。そして、バックアップサーバ4は、ネットワークNを介して接続されたバックアップ対象装置5に格納されているバックアップ対象データ(記憶対象データ)を取得し、ストレージシステム1に対して記憶するよう要求する。これにより、ストレージシステム1は、記憶要求されたバックアップ対象データをバックアップ用に記憶する。
ここで、本実施形態におけるストレージシステム1は、データを分割及び冗長化し、分散して複数の記憶装置に記憶すると共に、記憶するデータの内容に応じて設定されるコンテンツアドレスによって、当該データを格納した格納位置を特定するコンテンツアドレスストレージシステムである。このコンテンツアドレスストレージシステムについては、後に詳述する。
図2に示すように、本実施形態におけるストレージシステム1は、複数のサーバコンピュータが接続された構成を採っている。具体的に、ストレージシステム1は、ストレージシステム1自体における記憶再生動作を制御するサーバコンピュータであるアクセスノード2と、データを格納する記憶装置を備えたサーバコンピュータであるストレージノード3と、を備えている。
上記アクセスノード2は、バックアップサーバ4とのデータの送受信を行い、バックアップサーバ4に対してファイルシステムサービスを提供する。そして、実際にバックアップ対象データのディスクへの格納は、ストレージノード3が行う。なお、図2では、2つのアクセスノード2と4つのストレージノード3を図示しているが、アクセスノード2の数とストレージノード3の数は、図2に示したものに限定されない。
図3に、本実施形態におけるストレージシステム1の構成を示す。この図に示すように、ストレージシステム1を構成するアクセスノード2は、装備された演算装置にプログラムが組み込まれることで構築された、I/O処理部21、データ送受信部22、重複判定部23、を備えている。また、ストレージノード3は、装備された演算装置にプログラムが組み込まれることで構築された、フラグメント処理部31、フラグメント探索部32、タイムスタンプ取得部33、ノード状態監視部34、を備える。そして、ストレージノード3は、装備された記憶装置35に、ハッシュテーブル36、インデックスファイル37、格納ファイル38を記憶する。
なお、上述した各部は、アクセスノード2あるいはストレージノード3のどちらに装備されていてもよい。つまり、上述した各部は、ストレージシステムに装備された制御装置に構築されていればよい。以下、各構成について詳述する。
アクセスノード2のI/O処理部21は、内部ネットワーク経由でバックアップサーバ4とバックアップデータの送信および受信を行う機能を有する。
アクセスノード2のデータ送受信部22(分散記憶処理手段)は、重複判定部23やストレージノード3の各部31等と協働して、バックアップサーバ4から書き込み要求されたデータを、コンテンツアドレスを利用して、ストレージノード3に分散すると共に、重複排除を行って記憶する機能を有する。
具体的に、データ送受信部22は、図4に示すように、まずバックアップサーバ4から書き込み要求されたファイルAを、所定容量(例えば、64KB)のブロックデータD(書き込み対象データ)に分割する。続いて、分割されたブロックデータDのデータ内容に基づいて、当該データ内容に基づく要約データであるハッシュ値Hを算出する。例えば、ハッシュ値Hは、予め設定されたハッシュ関数を用いて、ブロックデータDのデータ内容から算出する。なお、本実施形態では、要約データとしてハッシュ値Hを挙げているが、要約データは、ブロックデータの内容に基づいていかなる方法で算出されてもよい。
ここで、重複判定部23は、ファイルAのブロックデータDのハッシュ値Hを用いて、当該ブロックデータDが既に格納されているか否かを調べる。なお、重複判定処理については後述する。
そして、データ送受信部22は、重複判定部23による重複判定の結果、既にブロックデータDがストレージノード3に格納されていると判定された場合には、既に記憶されているブロックデータDの記憶位置を表すコンテンツアドレスを、書き込み要求されたブロックデータのコンテンツアドレスとして用いる。つまり、重複している場合には、実際に書き込みを行うことなく、既に記憶されているブロックデータDの記憶位置を参照することとし、書き込み完了とする。
一方、データ送受信部22は、重複判定部23による重複判定の結果、書き込み要求にかかるブロックデータDが重複しておらず、まだ記憶されていないと判断された場合には、以下のようにしてブロックデータDの書き込みを行う。データ送受信部22は、ブロックデータDを複数の所定の容量のフラグメントデータに分割する。例えば、図4の符号D1〜D9に示すように、ブロックデータDを9つのフラグメントデータ(分割データF1)に分割する。そしてさらに、分割したフラグメントデータのうちいくつかが欠けた場合であっても、元となるブロックデータDを復元可能なよう冗長データを生成し、上記分割したフラグメントデータF1に追加する。例えば、図4の符号D10〜D12に示すように、3つのフラグメントデータ(冗長データF2)を追加する。これにより、9つの分割データF1と、3つの冗長データF2とにより構成される12個のフラグメントデータからなるデータセットを生成する。なお、冗長データであるフラグメントデータの数は、設定により変化させることができる。
そして、データ送受信部22は、生成した複数のフラグメントデータからなるデータセットを各ストレージノード3に分散記憶するよう送信する。
ストレージノード3のフラグメント処理部31(分散記憶処理手段)は、アクセスノード2から送られてきたフラグメントデータをディスクに格納する。このとき、フラグメント処理部31は、複数のストレージノード3にまたがって形成された仮想ノードV01,V02・・・に設けられた複数のデータ格納用コンテナに分散して格納する。
ここで、仮想ノードV01,V02・・・について、図5を参照して説明する。図5の例では、仮想ノードV01は、複数のストレージノード3をまたがって、各ストレージノード3内に形成されたデータ格納領域となる12個のデータ格納用コンテナ(符号01〜12)で形成されている。ここでは、4つの仮想ノードV01,V02,V10,V11が形成されていることとする。
そして、ブロックデータDから生成された12個のフラグメントデータがどの仮想ノードに格納されるかは、ブロックデータDのハッシュ値の先頭から既定のビット数を確認することで決定される。図5の例では、仮想ノードが4つであるため、ブロックデータのハッシュ値の先頭2ビットの値に基づいて格納場所を決定する。例えば、ハッシュ値が、「00001111...」である場合には、先頭2ビット「00」から、「V00」の仮想ノードに格納することが決定される。このとき、図4に示すように、12個のデータ格納用コンテナ(01〜12)に、それぞれ1つのフラグメントデータを格納する。
そして、フラグメント処理部31は、上述したようにフラグメントデータを分散記憶する際には、以下のようにしてデータを管理する。まず、図6に示すように、データ格納用コンテナV00,V01は、フラグメントデータを格納する格納ファイル38と、当該フラグメントデータに関するフルハッシュ値などのメタデータを保存するインデックスファイル37と、を持つ。フラグメント処理部31は、送られてきたフラグメントデータを、格納ファイル38に追記的に保存する。格納ファイル38は、ファイルIDが1から昇順の番号で作成され、フラグメントデータがある一定の数だけ格納されると、ファイルIDの値を上げて、次の格納ファイルに書き出す。具体的に、格納ファイル38には、図7(C)に示すように、格納ファイル内の所定の格納位置を表す各オフセットの位置に、フラグメントデータ自体が格納される。
また、フラグメント処理部31は、格納ファイル38にフラグメントデータを書き終えると、続いて、フラグメントデータ毎のメタデータであるインデックスデータをエントリとして、インデックスファイルに追記的に格納する。図7(B)にインデックスファイルの一例を示す。このように、インデックスファイル37には、当該インデックスファイルの格納位置であるオフセット毎に、格納ファイル38に格納したフラグメントデータに対応するメタデータであるインデックスデータが格納される。各インデックスデータは、格納ファイル38に格納したフラグメントデータの元となるブロックデータDのフルハッシュ値、当該フラグメントデータへのポインタ(参照情報)を表す格納ファイルID及びそのオフセット、当該フラグメントデータが書き込まれた時刻に基づくタイムスタンプ(書き込み時刻情報)、を含む。
なお、上記インデックスファイル37は、当該インデックスファイル37に含まれる各インデックスデータにて参照されるフラグメントデータが記憶されたストレージノード3毎に、当該ストレージノード3内に記憶される。つまり、インデックスファイル37は、あるストレージノード3にフラグメントデータが記憶されると、そのフラグメントデータに対応するインデックスデータを、同一のストレージノード3に形成されたインデックスファイル37内に格納する。このとき、インデックスデータを、インデックスファイル37の格納領域に順番に追記する。
さらに、フラグメント処理部31は、ハッシュテーブル36(要約テーブル)に、格納ファイル38に格納したフラグメントデータ毎のエントリを、当該フラグメントデータに対応するインデックスデータを参照する情報とショートハッシュ値とを関連付けて格納する。図7(A)に、ハッシュテーブル36の一例を示す。ハッシュテーブル36の各エントリには、格納ファイル38に格納されたフラグメントデータの元となるブロックデータDのショートハッシュ値と、当該フラグメントデータを参照するインデックスデータへのポインタ(参照情報)を表すインデックスファイルID及びそのオフセットと、を格納している。なお、上記ショートハッシュ(部分要約データ)は、フラグメントデータの元となるブロックデータDのフルハッシュ値(例えば、20 bytes)の一部(例えば、先頭から8 bytes)の値である。
なお、上記ハッシュテーブル36は、当該ハッシュテーブル36にて参照されるインデックスファイルつまり各インデックスデータに対応するフラグメントデータが記憶されたストレージノード3毎に、当該ストレージノード3内に記憶される。つまり、あるストレージノード3にフラグメントデータが記憶されると、そのフラグメントデータを参照するインデックスデータが含まれるインデックスファイルの参照情報とショートハッシュ値とのエントリを、同一のストレージノード3に形成されたハッシュテーブル36に格納する。このとき、各エントリを、ハッシュテーブル36の格納領域に順番に追記する。
そして、フラグメント処理部31は、ブロックデータDの格納位置として、当該ブロックデータDのハッシュ値をデータ送受信部22に返す。すると、データ送受信部22は、ブロックデータDの識別情報とハッシュ値とを関連付けて管理する。これにより、後述するように、ブロックデータDの読み込み要求が有ったときに、ハッシュ値からその格納位置を検索することができる。
ここで、上述したデータ送受信部22からの、ブロックデータDから生成された複数のフラグメントデータのフラグメント処理部31への書き込みの指示は、同一のタイミングで行われる。このため、各ストレージノード3の各フラグメント処理部31での書き込みもほぼ同一のタイミングで行われることとなる。すると、1つのブロックデータDから生成された複数のフラグメントデータの各ストレージノード3への書き込みは、ほぼ同一時刻で行われることとなる。その結果、これらフラグメントデータを参照する各インデックスデータに含まれるタイムスタンプの値も、同一あるいは近似した値となる。また、インデックスファイル37には、当該インデックスファイル37の格納領域に順番に追記して各インデックスデータが格納されるため、当該各インデックスデータは、書き込まれた順つまりタイムスタンプ順に並んで格納されることとなる。
また、インデックスファイル37に格納される各インデックスデータに含まれる「フルハッシュ値」は、当該各インデックスデータにて参照されるフラグメントデータの元となる分割される前のブロックデータDのハッシュ値である。そのため、12個のフラグメントデータの各インデックスデータに含まれるフルハッシュ値は、各フラグメントデータを格納した全てのストレージノード3の各インデックスファイル37内で同一となる。この性質を用いることで、後述するように、1つのブロックデータDから生成されたフラグメントデータを格納するどれかひとつのストレージノード3のインデックスファイルにアクセスできる場合、このフラグメントデータが書き込まれたタイムスタンプを取得することができる。そして、そのタイムスタンプに基づいて、残りのフラグメントデータも容易に検索することができる。
以上のようにブロックデータDを格納することで、データ送受信部22及びフラグメント処理部31(分散記憶処理手段、データ検索手段)は、バックアップサーバ4からデータの読み込み要求が有った場合や重複判定時に、図8に示すようにして格納されているブロックデータDのコンテンツアドレスとなるハッシュ値やフラグメントデータにアクセスすることができる。
まず、検索対象となるブロックデータDのハッシュ値を確認し、そのショートハッシュ値から自ノード3に記憶されたハッシュテーブル36内を検索して、対象となるインデックスファイルIDとオフセットを取得する(矢印Y1参照)。続いて、取得した情報からインデックスファイル37にアクセスして、検索対象となるデータのフルハッシュ値と同一のフルハッシュ値が含まれるインデックスデータを探索する(矢印Y2参照)。これにより、検索対象となるブロックデータDと同一のフルハッシュ値が存在するか否かといった重複判定を行うことができる。そしてさらに、探索によって見つかったインデックスデータから格納ファイル38にアクセスして、検索対象のフラグメントデータを読み込むことができる(矢印Y3参照)。そして、各ストレージノード3から読み込まれたフラグメントデータを結合することで、検索対象となるブロックデータDを生成し、そのブロックデータDを返却することで、データの読み込みを行うことができる。
なお、ストレージノード3は、自己であるストレージノード3のハッシュテーブル36が使用できない場合には、フラグメント探索部32及びタイムスタンプ取得部33(データ検索手段)にて、以下のようにして格納されているブロックデータDを構成するフラグメントデータにアクセスする。
フラグメント探索部32は、タイムスタンプ取得部33を用いて、自己ではない別のストレージノード3に記憶されている検索対象となるブロックデータDの一部を構成するフラグメントデータのタイムスタンプを取得する。そして、フラグメント探索部32は、取得したタイムスタンプに基づいて、自己であるストレージノード3(特定のストレージノード)に記憶されているインデックスファイル37内のタイムスタンプから、近い時刻に書き込まれたフラグメントデータのリストを取得する。
タイムスタンプ取得部33は、フラグメント探索部32からの要求を受けて、検索対象となるブロックデータDのフラグメントデータを記憶する別のストレージノード3のハッシュテーブル36にリモートアクセスする。そして、別のストレージノード3のハッシュテーブル36を参照して、検索対象となるブロックデータDのハッシュ値を基に、別のストレージノード3に記憶されているインデックスファイル37内のインデックスデータを特定する。これにより、特定したインデックスデータに対応するフラグメントデータが書き込まれたタイムスタンプを取得する。そして、取得したタイムスタンプを、フラグメント探索部32に返す。
ノード状態監視部34は、正常に動作しているストレージノード3のリストを取得する機能を持つ。正常なストレージノード3とは、ストレージサービスとしての機能が動作していて、かつ、ハッシュテーブル36などのデータにアクセスすることができるノードである。
なお、上述したフラグメント探索部32、タイムスタンプ取得部33、ノード状態監視部34の機能については、以下の動作説明の際に詳述する。
[動作]
次に、上述した構成のストレージシステムの動作、特に、データ書き込み処理、データ読み込み処理、ハッシュテーブル再構築中のデータ読み込み処理の動作を、主に図9乃至図11のフローチャートを参照して説明する。
(書き込み処理)
まず、図9を参照して、データ書き込み処理を説明する。バックアップサーバ4からの書き込み要求をアクセスノード2が受け取ると(ステップS1)、書き込み対象となるストリームデータは、あるサイズのブロックデータDに分割される(ステップS2)。このブロックデータDに対して、ハッシュ関数を用いてハッシュ値を算出して取得する。求められたハッシュ値を入力として、重複判定が行われる(ステップS3)。ここで、重複判定処理を、図8を参照して説明する。
上述したように算出したブロックデータDのハッシュ値を基にして、任意のストレージノード3のハッシュテーブル36にアクセスする。そして、ハッシュテーブル36からハッシュ値のショートハッシュ値を検索して、同一のショートハッシュ値を持つエントリ(インデックスデータ)が存在するかを確認する(矢印Y1参照)。この時に、エントリが見つからない場合は、記憶対象となるブロックデータDと同一内容のデータは、ストレージノード3には書き込まれておらず、「非重複」となる。エントリが見つかった場合は、そのショートハッシュ値に対応するインデックスファイルIDとオフセットを取得する。なお、ハッシュテーブル36ではショートハッシュ値のみで比較するため、複数のエントリが見つかる可能性がある。
続いて、見つかったハッシュテーブル36のエントリの情報からインデックスファイル37にアクセスして、当該インデックスファイル37内のフルハッシュ値と算出したブロックデータDのフルハッシュ値と比較する(矢印Y2)。ここでフルハッシュ値が同一のエントリが見つかった場合は、書き込み対象となるブロックデータDと同一内容のデータが既にストレージノード3に書き込まれていると判断でき、「重複」となる。一方、同一のエントリが見つからなかった場合は、「非重複」となる。
上述した重複判定にて、「重複」となった場合は(ステップS3:Yes)、書き込み完了を返却する(ステップS8)。「非重複」の場合は(ステップS3:No)、ブロックデータDをフラグメントデータに分割して、各ストレージノード3に分散させる(ステップS4)。以下、各ストレージノード3にて破線Aで囲まれた処理が行われ、フラグメントデータが格納される。
ストレージノード3では、受け取ったフラグメントデータを、図4に示すように各データ格納用コンテナに保存する。データ格納用コンテナは、各仮想ノード(図5のV00等)に12個ずつ存在している(符号01−12)。ここでは、受け取ったハッシュ値の先頭2ビットを確認して、どの仮想ノードにデータを割り振るかを決定する。例えば、ハッシュ値が「1010101111...」の場合は、仮想ノードV10が、その12個のフラグメントデータを格納する。各データ格納用コンテナには、それぞれ1個のフラグメントデータが格納される。
フラグメントデータは、図6に示すように各データ格納用コンテナが持つ格納ファイル38に、図7(C)のように保存される(ステップS5)。格納ファイル38は、ファイルIDが1から昇順の番号で作成され、フラグメントデータがある一定の数溜まった場合に、次のファイルに書き出す。
格納ファイル38にフラグメントデータが保存された後は、当該フラグメントデータのインデックスデータを各エントリとして、インデックスファイル37に追記する。このとき、インデックスデータとして、フラグメントデータへのポインタである参照情報(格納ファイルID、オフセット)、フラグメントデータの元となるブロックデータDのフルハッシュ値、フラグメントデータが書き込まれたタイムスタンプを、図7(B)のように記憶する(ステップS6)。
最後に、ハッシュテーブル36に、書き込んだフラグメントデータに対応するインデックスデータを参照するエントリを書き込む。具体的には、各エントリとして、フラグメントデータの元となるブロックデータDのショートハッシュ値、当該フラグメントデータを参照するインデックスデータへのポインタ(インデックスファイルID、オフセット)を、図7(A)のように記憶する(ステップS7)。そして、記憶した各ブロックデータDとハッシュ値とを関連付けて管理して、書き込み完了となる(ステップS8)。
(読み込み処理)
次に、図10を参照して、データ読み込み処理を説明する。バックアップサーバ4からの読み込み要求をアクセスノード2が受け取ると(ステップS11)、管理している情報から、読み込み対象となるブロックデータDのハッシュ値を確認する(ステップS12)。そして、アクセスノード2は、読み込み対象となるブロックデータDのハッシュ値を、全てのストレージノード3に分散させる(ステップS13)。
続いて、各ストレージノード3は、それぞれ破線Bで囲まれた処理を行い、フラグメントデータの読み込みを行う。まず、受け取ったハッシュ値のショートハッシュ値を用いて図7(C)に示すようなハッシュテーブル36内を検索して(図8の矢印Y1参照)、対象となるインデックスファイルIDとオフセットを取得する(ステップS14)。そして、ストレージノード3は、取得した情報から、図7(B)に示すようなインデックスファイル37にアクセスして、対象となるデータのフルハッシュ値と同一になるエントリであるインデックスデータを探索する(ステップS15)(図8の矢印Y2参照)。探索によって見つかったインデックスファイル37のエントリであるインデックスデータから、図7(A)に示すような格納ファイル38にアクセスして(図8の矢印Y3参照)、対象のフラグメントデータを読み込む(ステップS16)。
その後、ストレージノード3あるいはアクセスノード2は、各ストレージノード3から読み込まれたフラグメントデータを結合して、読み込み対象となるブロックデータDを生成し(ステップ17)、そのブロックデータDを返却する(ステップS18)。
(ハッシュテーブル再構築中の読み込み処理)
次に、図11を参照して、ハッシュテーブル再構築中におけるデータ読み込み処理を説明する。バックアップサーバ4からの読み込み要求をアクセスノード2が受け取ると(ステップS21)、管理している情報から、読み込み対象となるブロックデータDのハッシュ値を確認する(ステップS22)。そして、アクセスノード2は、読み込み対象となるブロックデータDのハッシュ値を、全てのストレージノード3に分散させる(ステップS23)。
続いて、各ストレージノード3は、それぞれ破線Cで囲まれた処理を行い、フラグメントデータの読み込みを行う。ここで、ストレージノード3は、自己であるストレージノード3に記憶されているハッシュテーブル36が正常か否かを調べ(ステップS24)、ハッシュテーブル36が正常である場合には(ステップS24:No)、上述した図10に示すような通常の読み込み処理を実行する(ステップS25)。一方、ストレージノード3は、自己であるストレージノード3に記憶されているハッシュテーブル36が再構築中の場合は(ステップS24:Yes)、次のような方法で読み込み対象のフラグメントデータを読み込む。なお、以下では、ハッシュテーブル36が再構築中であるストレージノード3を特定のストレージノード3と記し、その他のストレージノード3を別のストレージノード3と記す。
はじめに、特定のストレージノード3は、ノード状態監視部34を用いて、正常なストレージノード3のリストを取得する(ステップS26)。正常なノードとは、ストレージサービスとしての機能が動作しており、ハッシュテーブル36などのデータにアクセスできるノードである。正常なノードのリストから、同一のブロックデータDから生成されたフラグメントデータが格納されているストレージノード3を探索する。
具体的に、特定のストレージノード3による目的となるフラグメントデータが格納されている別のストレージノード3の探索は、データ格納時におけるフラグメントデータの振り分け規則を用いることができる。ここで、フラグメントデータは、ブロックデータDのハッシュ値の先頭2ビットを用いて格納される仮想ノードが決定し、各仮想ノードは、フラグメントデータが格納されたデータ格納用コンテナの位置情報を持っている。このため、特定のストレージノード3は、目的となるフラグメントデータにて構成されるブロックデータDのハッシュ値から、当該フラグメントデータを持つ別のストレージノード3を特定する。
続いて、特定のストレージノード3は、目的のフラグメントデータを持つ別のストレージノード3に記憶されているハッシュテーブル36に、ブロックデータDのショートハッシュ値をキーとしてアクセスする。そして、特定のストレージノード3は、別のストレージノード3のハッシュテーブル36から、目的のフラグメントデータのメタデータであり、当該別のストレージノード3に記憶されているインデックスデータにアクセスするための情報(インデックスファイルIDとオフセット)を取得する(ステップS27)。そして、特定のストレージノード3は、別のストレージノード3から取得したインデックスデータから、ブロックデータDのフルハッシュ値をキーとして、目的となるフラグメントデータのインデックスデータを特定する。これにより、特定のストレージノード3は、別のストレージノード3に記憶されている、読み込み対象のフラグメントデータが書き込まれた時刻を表すタイムスタンプを取得する(ステップS28)。
続いて、特定のストレージノード3は、別のストレージノード3から取得したタイムスタンプを基にして、自己である特定のストレージノード3に記憶されているインデックスファイル37を参照して、タイムスタンプの値が近いエントリであるインデックスデータを検索する(ステップS29)。このとき、インデックスファイル37内から検索するインデックスデータは、別のストレージノード3から取得したタイムスタンプの前後1分程度の範囲にあるタイムスタンプを有するインデックスデータとする。ここで、規則のないストレージの場合、タイムスタンプを基に全てのエントリを探索することは非効率であるが、本実施形態におけるストレージシステムの場合、インデックスファイルは実質として追記型のデータ構造を持っている。このため、インデックスファイル内のインデックスデータは、タイムスタンプ順に並んでいるため、タイムスタンプの値が近いインデックスデータの検索が容易となる。
続いて、特定のストレージノード3は、タイムスタンプから検索されたインデックスファイル内のエントリのフルハッシュ値を順に比較して、ハッシュ値が同一となるインデックスデータを探索する(ステップS30)。ここで、対象のエントリが見つからなかった場合は、読み込みエラーとして上位に返却する。対象のエントリが見つかった場合は、当該エントリであるインデックスデータにて参照される格納ファイル38からフラグメントデータを読み込む(ステップS31)。その後、特定のストレージノード3あるいはアクセスノード2は、各ストレージノード3から読み込まれたフラグメントデータを結合して、読み込み対象となるブロックデータDを生成して(ステップS32)、そのブロックデータDを返却する(ステップS33)。
以上のように、本発明におけるストレージシステムでは、高速検索のために設けているハッシュテーブルが障害となり復旧処理をしている最中でも、読み込み性能が低下することを抑制して、動作を継続することができる。その理由を以下に説明する。
まず、本発明のストレージシステムでは、フラグメントデータを保存する格納ファイル、フラグメントデータのメタデータを保存するインデックスファイルは、全てのストレージノードで実質的に追記型のデータ構造を持っている。このため、各ファイル内のデータは、タイムスタンプ順に並ぶこととなる。従って、ハッシュテーブル再構築中の場合に、ハッシュテーブルから格納データの情報を取得できなくても、そのフラグメントデータが書かれた時間(タイムスタンプ)がおおよそわかれば、どのファイルにフラグメントデータが格納されているかは、容易に推測することができる。
また、本発明では、目的のブロックデータから生成された各フラグメントデータは、すぐに各ノードに分散格納されるため、これらのデータは近い時間帯に書き込まれる可能性が極めて高く、全てのフラグメントデータが持つタイムスタンプも近い値を持つ。そのため、他のフラグメントデータが書かれたタイムスタンプを取得することで、自ノードのフラグメントデータが書かれた時間が推測可能となる。
そして、ハッシュテーブル再構築中には、当該ハッシュテーブルを用いず、他のフラグメントデータが書かれたタイムスタンプのみを用いて自ノードの中から絞り込んでいる。このとき、上述したようにタイムスタンプ順にメタデータ等が並ぶ性質を持っているため、データを極めて精度高く絞り込むことができ、フラグメントデータの格納場所を高速に検索することができる。
ここで、上記では、まず、別のストレージノード3のハッシュテーブル36を探索して、フラグメントデータのタイムスタンプを取得する場合を例示したが、かかる方法によりタイムスタンプを取得することに限定されない。例えば、読み込み対象となるブロックデータDのフルハッシュ値から、別のストレージノード3に記憶されているインデックスデータを探索して、当該フルハッシュ値を含むインデックスデータを取得してタイムスタンプを特定してもよい。
また、上述したインデックスデータには、参照するフラグメントデータを記憶した時刻を表すタイムスタンプを含めて記憶したが、タイムスタンプに替えて他のデータを記憶してもよい。例えば、同一のブロックデータDから生成されたフラグメントデータが同一のタイミングで書き込まれたことを表すような値からなるタイミング情報を、上記タイムスタンプに替えてインデックスデータ内に記憶してもよい。このとき、タイミング情報は、他のタイミングと区別できるような情報である。なお、上記タイムスタンプに替える情報としては、同一のブロックデータDから生成されたフラグメントデータの書き込み時の状況を、他のブロックデータの書き込み時の状況とは区別できる情報(書き込み状況情報)であれば、いかなる情報であってもよい。
また、上記では、インデックスファイル37及びハッシュテーブル36を、参照するフラグメントデータが格納されたストレージノードに格納する場合を例示したが、本発明は、かかる構成に限定されない。例えば、インデックスファイル37やハッシュテーブル36は、いかなる記憶装置に記憶されていてもよい。但し、各インデックスファイルやハッシュテーブル36は、参照するフラグメントデータが格納されたストレージノード毎に区別されて記憶されているとよい。
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージシステム100(図12参照)、プログラム、データ処理方法の構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
(付記1)
記憶対象データを複数に分割した分割データを含む複数のフラグメントデータを生成して、当該複数のフラグメントデータを複数の記憶手段120にそれぞれ分散して記憶すると共に、
前記フラグメントデータを参照する情報と、当該フラグメントデータにて構成される前記記憶対象データのデータ内容に基づいて算出された要約データと、を関連付けたインデックスデータを、当該インデックスデータにて参照される前記フラグメントデータの記憶先となる前記記憶手段毎に区別して記憶し、
さらに、前記インデックスデータを参照する情報と、当該インデックスデータに含まれた前記要約データの一部からなる部分要約データと、を関連付けた要約テーブルを記憶する、
分散記憶処理手段111と、
検索要求データに対応する前記要約データに基づいて、前記要約テーブル及び前記インデックスデータを探索して、前記複数の記憶手段に記憶されている前記検索要求データを構成する複数のフラグメントデータを検索するデータ検索手段112と、を備え、
前記分散記憶処理手段111は、前記インデックスデータに、当該インデックスデータにて参照される前記フラグメントデータの書き込み時の状況を表す書き込み状況情報を含めて記憶し、
前記データ検索手段112は、前記要約テーブルの少なくとも一部が利用不可である場合に、当該利用不可である要約テーブルによって参照される前記インデックスデータにてさらに参照される前記フラグメントデータを記憶する特定の前記記憶手段とは別の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データの前記要約データに基づいて当該検索対象データを構成する一部の前記フラグメントデータ及び当該フラグメントデータの前記書き込み状況情報を特定し、この特定した書き込み状況情報及び検索対象データの前記要約データに基づいて前記特定の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
ストレージシステム100。
上記発明のストレージシステムによると、まず、データの書き込みの際には、記憶対象データから複数のフラグメントデータを生成し、これらを複数の記憶手段に分散記憶する。このとき、フラグメントデータを参照する情報と、フラグメントデータの書き込み状況情報と、記憶対象データの要約データと、を関連付けたインデックスデータを、記憶手段毎に区別して記憶する。さらに、インデックスデータを参照する情報と、記憶対象データの要約データの一部からなる部分要約データと、を関連付けた要約テーブルも記憶する。
また、ストレージシステムは、データの読み込み時に、対象となるデータ(検索対象データ)が既に記憶されているか否かの検索を行う。このとき、まず、検索対象データの要約データの一部である部分要約データを用いて、要約テーブルを探索してインデックスデータを特定する。そして、検索対象データの要約データを用いて、特定したインデックスデータを探索して、検索対象データが存在するか否かを確認する。これにより、記憶位置を特定したフラグメントデータを読み出して、ブロックデータを再生成することで、読込処理を行う。
そして、ストレージシステムは、要約テーブルの一部あるいは全部が利用不可である場合には、以下のようにして読み込み対象となるデータの検索を行う。まず、利用不可である要約テーブルに対応する特定の記憶手段とは異なる別の記憶手段に対応するインデックスデータから、検索対象データの要約データと一致するものと関連付けられたインデックスデータを探索して、検索対象データの一部のフラグメントデータ及びその書き込み状況情報を特定する。そして、この特定した書き込み状況情報を利用して、特定の記憶手段に対応するインデックスデータからも、検索対象データの要約データと一致するものと関連付けられたインデックスデータを探索して、残りのフラグメントデータを特定する。このように、検索対象データの一部のフラグメントデータの書き込み状況情報を利用することで、残りのフラグメントデータも容易かつ迅速に特定することができる。その結果、要約テーブルの少なくとも一部が利用できない場合であっても、容易かつ迅速にデータの検索を行うことができ、ストレージシステムの性能が低下することを抑制することができる。
(付記2)
付記1に記載のストレージシステムであって、
前記分散記憶処理手段は、前記要約テーブルを、当該要約テーブルにて参照される前記インデックスデータにてさらに参照される前記フラグメントデータの記憶先となる前記記憶手段毎に区別して記憶し、
前記データ検索手段は、前記検索対象データの前記要約データの一部である部分要約データに基づいて、前記別の記憶手段に対応する利用可能な前記要約テーブルを探索して、当該別の記憶手段に対応する前記インデックスデータを探索し、前記検索対象データを構成する一部の前記フラグメントデータ及び当該フラグメントデータの前記書き込み状況情報を特定し、この特定した書き込み状況情報及び検索対象データの前記要約データに基づいて前記特定の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
ストレージシステム。
(付記3)
付記2に記載のストレージシステムであって、
前記分散記憶処理手段は、前記インデックスデータを、当該インデックスデータにて参照される前記フラグメントデータの記憶先となる前記記憶手段に記憶し、前記要約テーブルを、当該要約テーブルにて参照される前記インデックスデータにてさらに参照される前記フラグメントデータの記憶先となる前記記憶手段に記憶し、
前記データ検索手段は、前記特定の記憶手段に記憶された前記要約テーブルが利用不可である場合に、前記検索対象データの前記要約データの一部である部分要約データに基づいて、前記別の記憶手段に記憶されている利用可能な前記要約テーブルを探索して、当該別の記憶手段に記憶されている前記インデックスデータを探索し、前記検索対象データを構成する一部の前記フラグメントデータ及び当該フラグメントデータの前記書き込み状況情報を特定し、この特定した書き込み状況情報及び検索対象データの前記要約データに基づいて、前記要約テーブルが利用不可である前記特定の記憶手段に記憶されている前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
ストレージシステム。
上記構成のストレージシステムによると、要約テーブルの一部が利用不可である場合には、まず、利用可能である要約テーブルのみを用いて、検索対象データの要約データと一致するものと関連付けられたインデックスデータを探索して、検索対象データの一部のフラグメントデータ及びその書き込み状況情報を特定する。そして、この特定した書き込み状況情報を利用して、利用不可である要約テーブルが関連するインデックスデータからも、残りのフラグメントデータを特定する。これにより、要約テーブルの一部が利用できない場合であっても、容易かつ迅速にデータの検索を行うことができ、ストレージシステムの性能が低下することを抑制することができる。
(付記4)
付記1乃至3のいずれかに記載のストレージシステムであって、
前記分散記憶処理手段は、1つの記憶対象データから生成された前記複数のフラグメントデータを同一のタイミングで前記複数の記憶手段にそれぞれ分散して記憶すると共に、前記インデックスデータに、当該インデックスデータにて参照される前記フラグメントデータの書き込みタイミングに基づく値を表す書き込みタイミング情報を、前記書き込み状況情報として含めて記憶し、
前記データ検索手段は、前記別の記憶手段に対応する前記インデックスデータから特定した前記検索対象データを構成する一部のフラグメントデータの前記書き込み状況情報である前記書き込みタイミング情報、及び、検索対象データの前記要約データに基づいて、前記特定の前記記憶手段に記憶されている前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
ストレージシステム。
(付記5)
付記1乃至4のいずれかに記載のストレージシステムであって、
前記分散記憶処理手段は、前記インデックスデータに、当該インデックスデータにて参照される前記フラグメントデータの書き込み時刻に基づく値を表す書き込み時刻情報を、前記書き込み状況情報として含めて記憶し、
前記データ検索手段は、前記別の記憶手段に対応する前記インデックスデータから特定した前記検索対象データを構成する一部のフラグメントデータの前記書き込み状況情報である前記書き込み時刻情報、及び、検索対象データの前記要約データに基づいて、前記特定の前記記憶手段に記憶されている前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
ストレージシステム。
(付記6)
付記5に記載のストレージシステムであって、
前記データ検索手段は、前記特定の記憶手段に対応する前記インデックスデータを探索して、前記特定した書き込み時刻情報を基準として前後する所定時間内の前記書き込み時刻情報が関連付けられた前記インデックスデータから、前記検索対象データを構成する他の前記フラグメントデータを特定する、
ストレージシステム。
(付記7)
付記4乃至6のいずれかに記載のストレージシステムであって、
前記分散記憶処理手段は、前記複数のフラグメントデータを前記複数の記憶手段にそれぞれ分散して記憶する際に、当該各記憶手段内の記憶領域に順番に追記する、
ストレージシステム。
上記構成のストレージシステムによると、まず、分散記憶の際に、インデックスデータには、フラグメントデータの書き込みのタイミングや時刻を表す情報が記憶される。そして、ストレージシステムは、まず、利用可能な要約テーブルに対応するインデックスデータを探索して、検索対象データの一部のフラグメントデータ、及び、その書き込み状況情報である書き込みのタイミングや時刻の情報を特定する。そして、この特定した書き込みのタイミングや時刻の情報から、利用不可である要約テーブルが関連するインデックスデータからも、残りのフラグメントデータを特定する。このとき、書き込みのタイミングや時刻が近い情報が関連付けられたフラグメントデータを特定することができる。そして、各記憶手段内の記憶領域に、書き込まれた順番でフラグメントデータが格納されている場合には、書き込みのタイミングや時刻を基準としてフラグメントデータを探索することがさらに容易となる。その結果、要約テーブルの一部又は全部が利用できない場合であっても、容易かつ迅速にデータの検索を行うことができ、ストレージシステムの性能が低下することを抑制することができる。
(付記8)
ストレージシステムの制御装置に、
記憶対象データを複数に分割した分割データを含む複数のフラグメントデータを生成して、当該複数のフラグメントデータを複数の記憶手段にそれぞれ分散して記憶すると共に、
前記フラグメントデータを参照する情報と、当該フラグメントデータにて構成される前記記憶対象データのデータ内容に基づいて算出された要約データと、を関連付けたインデックスデータを、当該インデックスデータにて参照される前記フラグメントデータの記憶先となる前記記憶手段毎に区別して記憶し、
さらに、前記インデックスデータを参照する情報と、当該インデックスデータに含まれた前記要約データの一部からなる部分要約データと、を関連付けた要約テーブルを記憶する、
分散記憶処理手段と、
検索要求データに対応する前記要約データに基づいて、前記要約テーブル及び前記インデックスデータを探索して、前記複数の記憶手段に記憶されている前記検索要求データを構成する複数のフラグメントデータを検索するデータ検索手段と、
を実現させると共に、
前記分散記憶処理手段は、前記インデックスデータに、当該インデックスデータにて参照される前記フラグメントデータの書き込み時の状況を表す書き込み状況情報を含めて記憶し、
前記データ検索手段は、前記要約テーブルの少なくとも一部が利用不可である場合に、当該利用不可である要約テーブルによって参照される前記インデックスデータにてさらに参照される前記フラグメントデータを記憶する特定の前記記憶手段とは別の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データの前記要約データに基づいて当該検索対象データを構成する一部の前記フラグメントデータ及び当該フラグメントデータの前記書き込み状況情報を特定し、この特定した書き込み状況情報及び検索対象データの前記要約データに基づいて前記特定の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
ことを実現させるためのプログラム。
(付記8.1)
付記8に記載のプログラムであって、
前記分散記憶処理手段は、前記要約テーブルを、当該要約テーブルにて参照される前記インデックスデータにてさらに参照される前記フラグメントデータの記憶先となる前記記憶手段毎に区別して記憶し、
前記データ検索手段は、前記検索対象データの前記要約データの一部である部分要約データに基づいて、前記別の記憶手段に対応する利用可能な前記要約テーブルを探索して、当該別の記憶手段に対応する前記インデックスデータを探索し、前記検索対象データを構成する一部の前記フラグメントデータ及び当該フラグメントデータの前記書き込み状況情報を特定し、この特定した書き込み状況情報及び検索対象データの前記要約データに基づいて前記特定の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
プログラム。
(付記8.2)
付記8.1に記載のプログラムであって、
前記分散記憶処理手段は、前記インデックスデータを、当該インデックスデータにて参照される前記フラグメントデータの記憶先となる前記記憶手段に記憶し、前記要約テーブルを、当該要約テーブルにて参照される前記インデックスデータにてさらに参照される前記フラグメントデータの記憶先となる前記記憶手段に記憶し、
前記データ検索手段は、前記特定の記憶手段に記憶された前記要約テーブルが利用不可である場合に、前記検索対象データの前記要約データの一部である部分要約データに基づいて、前記別の記憶手段に記憶されている利用可能な前記要約テーブルを探索して、当該別の記憶手段に記憶されている前記インデックスデータを探索し、前記検索対象データを構成する一部の前記フラグメントデータ及び当該フラグメントデータの前記書き込み状況情報を特定し、この特定した書き込み状況情報及び検索対象データの前記要約データに基づいて、前記要約テーブルが利用不可である前記特定の記憶手段に記憶されている前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
プログラム。
(付記8.3)
付記8乃至8.2のいずれかに記載のプログラムであって、
前記分散記憶処理手段は、1つの記憶対象データから生成された前記複数のフラグメントデータを同一のタイミングで前記複数の記憶手段にそれぞれ分散して記憶すると共に、前記インデックスデータに、当該インデックスデータにて参照される前記フラグメントデータの書き込みタイミングに基づく値を表す書き込みタイミング情報を、前記書き込み状況情報として含めて記憶し、
前記データ検索手段は、前記別の記憶手段に対応する前記インデックスデータから特定した前記検索対象データを構成する一部のフラグメントデータの前記書き込み状況情報である前記書き込みタイミング情報、及び、検索対象データの前記要約データに基づいて、前記特定の前記記憶手段に記憶されている前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
プログラム。
(付記8.4)
付記8乃至8.3のいずれかに記載のプログラムであって、
前記分散記憶処理手段は、前記インデックスデータに、当該インデックスデータにて参照される前記フラグメントデータの書き込み時刻に基づく値を表す書き込み時刻情報を、前記書き込み状況情報として含めて記憶し、
前記データ検索手段は、前記別の記憶手段に対応する前記インデックスデータから特定した前記検索対象データを構成する一部のフラグメントデータの前記書き込み状況情報である前記書き込み時刻情報、及び、検索対象データの前記要約データに基づいて、前記特定の前記記憶手段に記憶されている前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
プログラム。
(付記9)
記憶対象データを複数に分割した分割データを含む複数のフラグメントデータを生成して、当該複数のフラグメントデータを複数の記憶手段にそれぞれ分散して記憶すると共に、
前記フラグメントデータを参照する情報と、当該フラグメントデータにて構成される前記記憶対象データのデータ内容に基づいて算出された要約データと、を関連付けたインデックスデータを、当該インデックスデータにて参照される前記フラグメントデータの記憶先となる前記記憶手段毎に区別して記憶し、
さらに、前記インデックスデータを参照する情報と、当該インデックスデータに含まれた前記要約データの一部からなる部分要約データと、を関連付けた要約テーブルを記憶する、
分散記憶処理を行い、
検索要求データに対応する前記要約データに基づいて、前記要約テーブル及び前記インデックスデータを探索して、前記複数の記憶手段に記憶されている前記検索要求データを構成する複数のフラグメントデータを検索するデータ検索処理を行う、データ処理方法であって、
前記分散記憶処理の際に、前記インデックスデータに、当該インデックスデータにて参照される前記フラグメントデータの書き込み時の状況を表す書き込み状況情報を含めて記憶し、
前記データ検索処理の際に、前記要約テーブルの少なくとも一部が利用不可である場合に、当該利用不可である要約テーブルによって参照される前記インデックスデータにてさらに参照される前記フラグメントデータを記憶する特定の前記記憶手段とは別の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データの前記要約データに基づいて当該検索対象データを構成する一部の前記フラグメントデータ及び当該フラグメントデータの前記書き込み状況情報を特定し、この特定した書き込み状況情報及び検索対象データの前記要約データに基づいて前記特定の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
データ処理方法。
(付記10)
付記9に記載のデータ処理方法であって、
前記分散記憶処理の際に、前記要約テーブルを、当該要約テーブルにて参照される前記インデックスデータにてさらに参照される前記フラグメントデータの記憶先となる前記記憶手段毎に区別して記憶し、
前記データ検索処理の際に、前記検索対象データの前記要約データの一部である部分要約データに基づいて、前記別の記憶手段に対応する利用可能な前記要約テーブルを探索して、当該別の記憶手段に対応する前記インデックスデータを探索し、前記検索対象データを構成する一部の前記フラグメントデータ及び当該フラグメントデータの前記書き込み状況情報を特定し、この特定した書き込み状況情報及び検索対象データの前記要約データに基づいて前記特定の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
データ処理方法。
(付記10.1)
付記10に記載のデータ処理方法であって、
前記分散記憶処理の際に、前記インデックスデータを、当該インデックスデータにて参照される前記フラグメントデータの記憶先となる前記記憶手段に記憶し、前記要約テーブルを、当該要約テーブルにて参照される前記インデックスデータにてさらに参照される前記フラグメントデータの記憶先となる前記記憶手段に記憶し、
前記データ検索処理の際に、前記特定の記憶手段に記憶された前記要約テーブルが利用不可である場合に、前記検索対象データの前記要約データの一部である部分要約データに基づいて、前記別の記憶手段に記憶されている利用可能な前記要約テーブルを探索して、当該別の記憶手段に記憶されている前記インデックスデータを探索し、前記検索対象データを構成する一部の前記フラグメントデータ及び当該フラグメントデータの前記書き込み状況情報を特定し、この特定した書き込み状況情報及び検索対象データの前記要約データに基づいて、前記要約テーブルが利用不可である前記特定の記憶手段に記憶されている前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
データ処理方法。
(付記10.2)
付記9乃至10.1のいずれかに記載のデータ処理方法であって、
前記分散記憶処理の際に、1つの記憶対象データから生成された前記複数のフラグメントデータを同一のタイミングで前記複数の記憶手段にそれぞれ分散して記憶すると共に、前記インデックスデータに、当該インデックスデータにて参照される前記フラグメントデータの書き込みタイミングに基づく値を表す書き込みタイミング情報を、前記書き込み状況情報として含めて記憶し、
前記データ検索処理の際に、前記別の記憶手段に対応する前記インデックスデータから特定した前記検索対象データを構成する一部のフラグメントデータの前記書き込み状況情報である前記書き込みタイミング情報、及び、検索対象データの前記要約データに基づいて、前記特定の前記記憶手段に記憶されている前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
データ処理方法。
(付記10.3)
付記9乃至10.2のいずれかに記載のデータ処理方法であって、
前記分散記憶処理の際に、前記インデックスデータに、当該インデックスデータにて参照される前記フラグメントデータの書き込み時刻に基づく値を表す書き込み時刻情報を、前記書き込み状況情報として含めて記憶し、
前記データ検索処理の際に、前記別の記憶手段に対応する前記インデックスデータから特定した前記検索対象データを構成する一部のフラグメントデータの前記書き込み状況情報である前記書き込み時刻情報、及び、検索対象データの前記要約データに基づいて、前記特定の前記記憶手段に記憶されている前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
データ処理方法。
(付記10.4)
付記10.3に記載のデータ処理方法であって、
前記データ検索手段は、前記特定の記憶手段に対応する前記インデックスデータを探索して、前記特定した書き込み時刻情報を基準として前後する所定時間内の前記書き込み時刻情報が関連付けられた前記インデックスデータから、前記検索対象データを構成する他の前記フラグメントデータを特定する、
データ処理方法。
(付記10.5)
付記10.2乃至10.4のいずれかに記載のデータ処理方法であって、
前記分散記憶処理の際に、前記複数のフラグメントデータを前記複数の記憶手段にそれぞれ分散して記憶する際に、当該各記憶手段内の記憶領域に順番に追記する、
ストレージシステム。
なお、上述したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されている。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
以上、上記実施形態等を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。
1 ストレージシステム
2 アクセスノード
21 I/O処理部
22 データ送受信部
23 重複判定部
3 ストレージノード
31 フラグメント処理部
32 フラグメント探索部
33 タイムスタンプ取得部
34 ノード状態監視部
35 ディスク
36 ハッシュテーブル
37 インデックスファイル
38 格納ファイル
4 バックアップシステム
5 バックアップ対象装置
100 ストレージシステム
111 分散記憶処理手段
112 データ検索手段
120 記憶手段

Claims (10)

  1. 記憶対象データを複数に分割した分割データを含む複数のフラグメントデータを生成して、当該複数のフラグメントデータを複数の記憶手段にそれぞれ分散して記憶すると共に、
    前記フラグメントデータを参照する情報と、当該フラグメントデータにて構成される前記記憶対象データのデータ内容に基づいて算出された要約データと、を関連付けたインデックスデータを、当該インデックスデータにて参照される前記フラグメントデータの記憶先となる前記記憶手段毎に区別して記憶し、
    さらに、前記インデックスデータを参照する情報と、当該インデックスデータに含まれた前記要約データの一部からなる部分要約データと、を関連付けた要約テーブルを記憶する、
    分散記憶処理手段と、
    検索要求データに対応する前記要約データに基づいて、前記要約テーブル及び前記インデックスデータを探索して、前記複数の記憶手段に記憶されている前記検索要求データを構成する複数のフラグメントデータを検索するデータ検索手段と、を備え、
    前記分散記憶処理手段は、前記インデックスデータに、当該インデックスデータにて参照される前記フラグメントデータの書き込み時の状況を表す書き込み状況情報を含めて記憶し、
    前記データ検索手段は、前記要約テーブルの少なくとも一部が利用不可である場合に、当該利用不可である要約テーブルによって参照される前記インデックスデータにてさらに参照される前記フラグメントデータを記憶する特定の前記記憶手段とは別の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データの前記要約データに基づいて当該検索対象データを構成する一部の前記フラグメントデータ及び当該フラグメントデータの前記書き込み状況情報を特定し、この特定した書き込み状況情報及び検索対象データの前記要約データに基づいて前記特定の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
    ストレージシステム。
  2. 請求項1に記載のストレージシステムであって、
    前記分散記憶処理手段は、前記要約テーブルを、当該要約テーブルにて参照される前記インデックスデータにてさらに参照される前記フラグメントデータの記憶先となる前記記憶手段毎に区別して記憶し、
    前記データ検索手段は、前記検索対象データの前記要約データの一部である部分要約データに基づいて、前記別の記憶手段に対応する利用可能な前記要約テーブルを探索して、当該別の記憶手段に対応する前記インデックスデータを探索し、前記検索対象データを構成する一部の前記フラグメントデータ及び当該フラグメントデータの前記書き込み状況情報を特定し、この特定した書き込み状況情報及び検索対象データの前記要約データに基づいて前記特定の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
    ストレージシステム。
  3. 請求項2に記載のストレージシステムであって、
    前記分散記憶処理手段は、前記インデックスデータを、当該インデックスデータにて参照される前記フラグメントデータの記憶先となる前記記憶手段に記憶し、前記要約テーブルを、当該要約テーブルにて参照される前記インデックスデータにてさらに参照される前記フラグメントデータの記憶先となる前記記憶手段に記憶し、
    前記データ検索手段は、前記特定の記憶手段に記憶された前記要約テーブルが利用不可である場合に、前記検索対象データの前記要約データの一部である部分要約データに基づいて、前記別の記憶手段に記憶されている利用可能な前記要約テーブルを探索して、当該別の記憶手段に記憶されている前記インデックスデータを探索し、前記検索対象データを構成する一部の前記フラグメントデータ及び当該フラグメントデータの前記書き込み状況情報を特定し、この特定した書き込み状況情報及び検索対象データの前記要約データに基づいて、前記要約テーブルが利用不可である前記特定の記憶手段に記憶されている前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
    ストレージシステム。
  4. 請求項1乃至3のいずれかに記載のストレージシステムであって、
    前記分散記憶処理手段は、1つの記憶対象データから生成された前記複数のフラグメントデータを同一のタイミングで前記複数の記憶手段にそれぞれ分散して記憶すると共に、前記インデックスデータに、当該インデックスデータにて参照される前記フラグメントデータの書き込みタイミングに基づく値を表す書き込みタイミング情報を、前記書き込み状況情報として含めて記憶し、
    前記データ検索手段は、前記別の記憶手段に対応する前記インデックスデータから特定した前記検索対象データを構成する一部のフラグメントデータの前記書き込み状況情報である前記書き込みタイミング情報、及び、検索対象データの前記要約データに基づいて、前記特定の前記記憶手段に記憶されている前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
    ストレージシステム。
  5. 請求項1乃至4のいずれかに記載のストレージシステムであって、
    前記分散記憶処理手段は、前記インデックスデータに、当該インデックスデータにて参照される前記フラグメントデータの書き込み時刻に基づく値を表す書き込み時刻情報を、前記書き込み状況情報として含めて記憶し、
    前記データ検索手段は、前記別の記憶手段に対応する前記インデックスデータから特定した前記検索対象データを構成する一部のフラグメントデータの前記書き込み状況情報である前記書き込み時刻情報、及び、検索対象データの前記要約データに基づいて、前記特定の前記記憶手段に記憶されている前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
    ストレージシステム。
  6. 請求項5に記載のストレージシステムであって、
    前記データ検索手段は、前記特定の記憶手段に対応する前記インデックスデータを探索して、前記特定した書き込み時刻情報を基準として前後する所定時間内の前記書き込み時刻情報が関連付けられた前記インデックスデータから、前記検索対象データを構成する他の前記フラグメントデータを特定する、
    ストレージシステム。
  7. 請求項4乃至6のいずれかに記載のストレージシステムであって、
    前記分散記憶処理手段は、前記複数のフラグメントデータを前記複数の記憶手段にそれぞれ分散して記憶する際に、当該各記憶手段内の記憶領域に順番に追記する、
    ストレージシステム。
  8. ストレージシステムの制御装置に、
    記憶対象データを複数に分割した分割データを含む複数のフラグメントデータを生成して、当該複数のフラグメントデータを複数の記憶手段にそれぞれ分散して記憶すると共に、
    前記フラグメントデータを参照する情報と、当該フラグメントデータにて構成される前記記憶対象データのデータ内容に基づいて算出された要約データと、を関連付けたインデックスデータを、当該インデックスデータにて参照される前記フラグメントデータの記憶先となる前記記憶手段毎に区別して記憶し、
    さらに、前記インデックスデータを参照する情報と、当該インデックスデータに含まれた前記要約データの一部からなる部分要約データと、を関連付けた要約テーブルを記憶する、
    分散記憶処理手段と、
    検索要求データに対応する前記要約データに基づいて、前記要約テーブル及び前記インデックスデータを探索して、前記複数の記憶手段に記憶されている前記検索要求データを構成する複数のフラグメントデータを検索するデータ検索手段と、
    を実現させると共に、
    前記分散記憶処理手段は、前記インデックスデータに、当該インデックスデータにて参照される前記フラグメントデータの書き込み時の状況を表す書き込み状況情報を含めて記憶し、
    前記データ検索手段は、前記要約テーブルの少なくとも一部が利用不可である場合に、当該利用不可である要約テーブルによって参照される前記インデックスデータにてさらに参照される前記フラグメントデータを記憶する特定の前記記憶手段とは別の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データの前記要約データに基づいて当該検索対象データを構成する一部の前記フラグメントデータ及び当該フラグメントデータの前記書き込み状況情報を特定し、この特定した書き込み状況情報及び検索対象データの前記要約データに基づいて前記特定の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
    ことを実現させるためのプログラム。
  9. 記憶対象データを複数に分割した分割データを含む複数のフラグメントデータを生成して、当該複数のフラグメントデータを複数の記憶手段にそれぞれ分散して記憶すると共に、
    前記フラグメントデータを参照する情報と、当該フラグメントデータにて構成される前記記憶対象データのデータ内容に基づいて算出された要約データと、を関連付けたインデックスデータを、当該インデックスデータにて参照される前記フラグメントデータの記憶先となる前記記憶手段毎に区別して記憶し、
    さらに、前記インデックスデータを参照する情報と、当該インデックスデータに含まれた前記要約データの一部からなる部分要約データと、を関連付けた要約テーブルを記憶する、
    分散記憶処理を行い、
    検索要求データに対応する前記要約データに基づいて、前記要約テーブル及び前記インデックスデータを探索して、前記複数の記憶手段に記憶されている前記検索要求データを構成する複数のフラグメントデータを検索するデータ検索処理を行う、データ処理方法であって、
    前記分散記憶処理の際に、前記インデックスデータに、当該インデックスデータにて参照される前記フラグメントデータの書き込み時の状況を表す書き込み状況情報を含めて記憶し、
    前記データ検索処理の際に、前記要約テーブルの少なくとも一部が利用不可である場合に、当該利用不可である要約テーブルによって参照される前記インデックスデータにてさらに参照される前記フラグメントデータを記憶する特定の前記記憶手段とは別の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データの前記要約データに基づいて当該検索対象データを構成する一部の前記フラグメントデータ及び当該フラグメントデータの前記書き込み状況情報を特定し、この特定した書き込み状況情報及び検索対象データの前記要約データに基づいて前記特定の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
    データ処理方法。
  10. 請求項9に記載のデータ処理方法であって、
    前記分散記憶処理の際に、前記要約テーブルを、当該要約テーブルにて参照される前記インデックスデータにてさらに参照される前記フラグメントデータの記憶先となる前記記憶手段毎に区別して記憶し、
    前記データ検索処理の際に、前記検索対象データの前記要約データの一部である部分要約データに基づいて、前記別の記憶手段に対応する利用可能な前記要約テーブルを探索して、当該別の記憶手段に対応する前記インデックスデータを探索し、前記検索対象データを構成する一部の前記フラグメントデータ及び当該フラグメントデータの前記書き込み状況情報を特定し、この特定した書き込み状況情報及び検索対象データの前記要約データに基づいて前記特定の記憶手段に対応する前記インデックスデータを探索して、前記検索対象データを構成する他の前記フラグメントデータを特定する、
    データ処理方法。
JP2014025237A 2014-02-13 2014-02-13 ストレージシステム Active JP6343952B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014025237A JP6343952B2 (ja) 2014-02-13 2014-02-13 ストレージシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014025237A JP6343952B2 (ja) 2014-02-13 2014-02-13 ストレージシステム

Publications (2)

Publication Number Publication Date
JP2015153067A true JP2015153067A (ja) 2015-08-24
JP6343952B2 JP6343952B2 (ja) 2018-06-20

Family

ID=53895261

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014025237A Active JP6343952B2 (ja) 2014-02-13 2014-02-13 ストレージシステム

Country Status (1)

Country Link
JP (1) JP6343952B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011500A (ja) * 2005-06-28 2007-01-18 Mitsubishi Electric Corp ホームゲートウェイ
JP2012178015A (ja) * 2011-02-25 2012-09-13 Nec Corp 情報処理システム、データバックアップ方法、情報処理装置及びその制御方法と制御プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011500A (ja) * 2005-06-28 2007-01-18 Mitsubishi Electric Corp ホームゲートウェイ
JP2012178015A (ja) * 2011-02-25 2012-09-13 Nec Corp 情報処理システム、データバックアップ方法、情報処理装置及びその制御方法と制御プログラム

Also Published As

Publication number Publication date
JP6343952B2 (ja) 2018-06-20

Similar Documents

Publication Publication Date Title
US10977124B2 (en) Distributed storage system, data storage method, and software program
US10185495B2 (en) Block storage device having hierarchical disks with different access frequencies
US9892005B2 (en) System and method for object-based continuous data protection
US11461015B2 (en) Available storage space in a system with varying data redundancy schemes
US8239621B2 (en) Distributed data storage system, data distribution method, and apparatus and program to be used for the same
US10825477B2 (en) RAID storage system with logical data group priority
US9996421B2 (en) Data storage method, data storage apparatus, and storage device
JP5569074B2 (ja) ストレージシステム
CN110147203B (zh) 一种文件管理方法、装置、电子设备及存储介质
US8683121B2 (en) Storage system
JP5517224B2 (ja) ストレージ装置
JP5585116B2 (ja) ストレージシステム
JP5660617B2 (ja) ストレージ装置
JP5459388B2 (ja) ストレージ装置
JP6269120B2 (ja) ストレージシステム
JP6343952B2 (ja) ストレージシステム
CN105573862A (zh) 一种恢复文件系统的方法和设备
JP5891842B2 (ja) ストレージシステム
JP2015170345A (ja) ストレージシステム
JP6201340B2 (ja) レプリケーションシステム
WO2021189315A1 (en) Proxy server crash recovery in object storage system using enhanced meta structure
JP2014153873A (ja) 情報処理装置、情報処理方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171225

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: 20180424

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180507

R150 Certificate of patent or registration of utility model

Ref document number: 6343952

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150