Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6701890B2 - 分散ファイル管理装置、分散ファイル管理方法、及びプログラム - Google Patents
[go: Go Back, main page]

JP6701890B2 - 分散ファイル管理装置、分散ファイル管理方法、及びプログラム - Google Patents

分散ファイル管理装置、分散ファイル管理方法、及びプログラム Download PDF

Info

Publication number
JP6701890B2
JP6701890B2 JP2016072414A JP2016072414A JP6701890B2 JP 6701890 B2 JP6701890 B2 JP 6701890B2 JP 2016072414 A JP2016072414 A JP 2016072414A JP 2016072414 A JP2016072414 A JP 2016072414A JP 6701890 B2 JP6701890 B2 JP 6701890B2
Authority
JP
Japan
Prior art keywords
node
data
mapping function
file management
distributed file
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
JP2016072414A
Other languages
English (en)
Other versions
JP2017182664A (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 JP2016072414A priority Critical patent/JP6701890B2/ja
Publication of JP2017182664A publication Critical patent/JP2017182664A/ja
Application granted granted Critical
Publication of JP6701890B2 publication Critical patent/JP6701890B2/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に開示されている構成では、前記関数によって、データを、追加された新たなノードに移動させるかどうかを決定している。
特開2012−18487号公報
ところで、上述のような従来の分散ファイル管理装置では、既存のノード及び新たに追加されたノードの間で、ハッシュレンジの再割り当てを行うため、既存のノード間でもデータファイルの移動が生じる。そのため、データ処理の負荷が大きくなって、処理時間が長くなる。よって、クライアントがノード内のデータファイルにアクセスする際には、時間がかかってしまうなどの問題が生じる。
一方、上述の特許文献1に開示されている構成では、上述のようなハッシュレンジの再割り当てを行わないため、データ処理の負荷は軽減されるが、ノード間での負荷バランスは考慮されていない。
本発明の目的は、新たなノードが追加された場合に、クライアントから複数のノードに対するアクセス性能を悪化させることなく、該複数のノードにファイルデータをバランス良く分散して格納可能な構成を得ることにある。
上記目的を達成するため、本発明の一側面における分散ファイル管理装置は、データファイルが格納された複数のデータブロックを有するノードを備えた分散ファイルシステムである。この分散ファイル管理装置は、前記複数のデータブロックに格納されたデータファイルの一部の割り当て先として、データ格納領域を有するノードを追加する構成変更部と、前記追加されたノードにおいて、そのデータ格納領域を、必要な数のデータブロックに分割するデータブロック分割部と、前記データファイルの一部を、前記追加されたノードのデータブロックに割り当てるマッピング関数を決定するマッピング関数決定部と、前記マッピング関数に応じて、前記データファイルの一部を、前記追加されたノードに移動させるファイル管理部とを備える。
また、上記目的を達成するため、本発明の一側面における分散ファイル管理方法は、データファイルが格納された複数のデータブロックを有するノードを備えた分散ファイル管理装置による分散ファイル管理方法である。この分散ファイル管理方法は、前記複数のデータブロックに格納されたデータファイルの一部の割り当て先として、データ格納領域を有するノードを追加する構成変更ステップと、前記追加されたノードにおいて、そのデータ格納領域を、必要な数のデータブロックに分割するデータブロック分割ステップと、前記データファイルの一部を、前記追加されたノードのデータブロックに割り当てるマッピング関数を決定するマッピング関数制御ステップと、前記マッピング関数に応じて、前記データファイルの一部を、前記追加されたノードに移動させるファイル管理ステップとを備える。
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、データファイルが格納された複数のデータブロックを有するノードを備えた分散ファイル管理装置による分散ファイル管理方法を制御するためのプログラムである。このプログラムは、コンピュータに、前記複数のデータブロックに格納されたデータファイルの一部の割り当て先として、データ格納領域を有するノードを追加する構成変更ステップと、前記追加されたノードにおいて、そのデータ格納領域を、必要な数のデータブロックに分割するデータブロック分割ステップと、前記データファイルの一部を、前記追加されたノードのデータブロックに割り当てるマッピング関数を決定するマッピング関数制御ステップと、前記マッピング関数に応じて、前記データファイルの一部を、前記追加されたノードに移動させるファイル管理ステップとを実行させる。
以上のように本発明の構成によれば、新たなノードが追加された場合に、クライアントから複数のノードに対するアクセス性能を悪化させることなく、該複数のノードにデータをバランス良く分散して格納することができる。
分散ファイル管理装置の概略構成を示すブロック図である。 ノードを追加した際のリバランス処理を模式的に示す図である。 分散ファイル管理装置の構成を示すブロック図である。 ノードの構成を示すブロック図である。 クライアントの構成を示すブロック図である。 クライアントが分散ファイル管理装置に格納されたデータファイルにアクセスする際のクライアント及び分散ファイル管理装置の動作を示すフローである。 分散ファイル管理装置にノードが追加された際の分散ファイル管理装置の動作を示すフローである。 クライアントが分散ファイル管理装置に格納されたデータファイルにアクセスする際のクライアント及び分散ファイル管理装置の動作を示すフローである。 (a)ノード追加前の各ノードにおけるデータブロックの状態、(b)ノード追加後にリバランス処理を行った場合の各ノードにおけるデータブロックの状態をそれぞれ模式的に示す図である。 ノードが追加されていない場合に、クライアントが分散ファイル管理装置に格納されたデータファイルにアクセスする際のクライアント及び分散ファイル管理装置の動作の様子を示す図である。 ノードが追加された場合に、クライアントが分散ファイル管理装置に格納されたデータファイルにアクセスする際のクライアント及び分散ファイル管理装置の動作の様子を示す図である。 コンピュータの構成の一例を示す図である。
以下、本発明の実施形態に係る分散ファイル管理装置、分散ファイル管理方法及びプログラムについて、図1から図12を参照しながら説明する。
図1は、本発明の実施形態に係る分散ファイル管理装置1の全体構成の一例を示すブロック図である。分散ファイル管理装置1は、複数のノードを含む。分散ファイル管理装置1は、データファイルが格納された複数のデータブロックを有するノードに対し、新たにノードを追加した場合に、前記データファイルの一部を前記追加したノードに割り当てるようにマッピング関数を生成する。
分散ファイル管理装置1は、構成変更部2と、データブロック分割部3と、マッピング関数制御部4と、ファイル管理部5とを備える。構成変更部2は、分散ファイル管理装置1を構成する複数のノードが有する複数のデータブロックに格納されたデータファイルの一部の割り当て先として、データ格納領域を有する新たなノードを追加する。
データブロック分割部3は、構成変更部2によって追加されたノードのデータ格納領域を、必要な数のデータブロックに分割する。
マッピング関数制御部4は、前記データファイルの一部を、前記追加されたノードのデータブロックに割り当てるマッピング関数を決定する。
ファイル管理部5は、前記マッピング関数に応じて、前記データファイルの一部を、前記追加されたノードに移動させる。
これにより、新たに追加されたノードに、既存のノードのデータブロックに格納されていたデータファイルを移動させることができるとともに、その割り当てをマッピング関数によって規定することができる。
分散ファイル管理装置1にノードが追加された場合に行われるリバランス処理について、図2を用いて説明する。なお、分散ファイル管理装置1の詳しい構成及び動作は後述する。
図2(a)は、分散ファイル管理装置1にノード50を追加する前の状態を示す。図2(a)に示すように、分散ファイル管理装置1は、複数のノード10,20,30,40を有し(図2(a)の例では、4つのノード)、各ノードは複数のデータブロックBを有する。図2(a)に示す例では、分散ファイル管理装置1の複数のノード10,20,30,40は、それぞれ、10個のデータブロックBを有する。なお、図2では、四角内に数値が記載されたものが、ファイルデータを示す。
図2(b)は、分散ファイル管理装置1にノード50を追加してリバランス処理を行った後の状態を示す。図2(b)に示すように、ノード50内に複数のデータブロックBが形成されるとともに、それらのデータブロックには、既存のノード10,20,30,40のデータブロックからファイルデータが移動している。既存のノード10,20,30,40の間ではデータファイルの移動はない。なお、図2(b)において、太線枠はファイルデータがノード50に移動したデータブロックを示す。
すなわち、本発明の分散ファイル管理装置1では、新しくノード50が追加された場合、既存のノード10,20,30,40間ではデータファイルを移動することなく、該既存のノード10,20,30,40から追加されたノード50に対してのみデータファイルを移動する。
これにより、既存のノード間でのデータ移動による通信量の増大を抑制することができ、ノードの増加によって、分散ファイル管理装置へのアクセス性能に悪影響が及ぶことを防止できる。
次に、分散ファイル管理装置1のより具体的な構成を、図3から図5を用いて詳細に説明する。
分散ファイル管理装置1は、複数の既存のノード10,20,・・・と、分散ファイル制御部60と、アクセス統計処理部70と、マッピング関数制御部4とを有する。なお、以下の説明では、既存のノードを4つとし、新たに追加するノード50を1つとする。しかしながら、この限りではなく、既存のノードはいくつであってもよいし、追加するノードは2つ以上であってもよい。
複数のノード10,20,・・・,50は、それぞれ、例えば、記憶装置を有するサーバやPC等のコンピュータによって構成される。分散ファイル管理装置1は、複数のノード10,20,・・・,50に対するデータファイルの格納を制御可能なように、複数のノード10,20,・・・,50間で通信可能に構成されている。
ノード10は、分散ファイルシステム部110と、ファイルシステム部120と、データブロック130と、アクセス統計処理部140と、マッピング関数制御部150と、マッピングテーブル160とを有する。なお、ノード20を含む他の既存のノード及び追加するノード50も、ノード10と同様の構成を有する。よって、以下の説明では、ノード10の構成についてのみ説明し、他のノードの構成については説明を省略する。また、図1において、ノード20,50以外のノードの構成についても図示を省略する。
なお、ノード20、50において、符号210,510は分散ファイルシステム部を、符号220,520はファイルシステム部を、符号230,530はデータブロックを、符号240,540はアクセス統計処理部を、符号250,550はマッピング関数制御部を、符号260,560はマッピングテーブルをそれぞれ示す。
分散ファイルシステム部110は、ノード10に割り当てられているデータブロック130へのアクセスを管理する。詳しくは、図4に示すように、分散ファイルシステム部110は、データアクセス部111を有する。
データアクセス部111は、クライアント1000から分散ファイル管理装置1の分散ファイル制御部60に対し、あるデータファイルへのアクセスがあった場合に、データブロック130へのファイルアクセスを可能にする。なお、後述するように、分散ファイル制御部60は、各ノードの分散ファイルシステム部を含む。
データアクセス部111は、クライアント1000からノード10,20,・・・に対してデータファイルへのアクセスがあった場合、ノード10,20,・・・のうち前記データファイルを格納しているデータブロックが割り当てられているノードを検出する。そして、データアクセス部111は、クライアント1000を、検出したノードにアクセスさせる。
ファイルシステム部120は、データブロック130に格納されたデータファイルを管理(複製や削除等を含む)する。また、ファイルシステム部120は、データブロック130への分割や該データブロック130の削除も管理する。ファイルシステム部120は、一般的な記憶装置が有するファイル管理システムの機能と同じ機能を有するため、構成の詳しい説明を省略する。
なお、分散ファイルシステム部110及びファイルシステム部120が、マッピング関数に応じて、既存のノード10,20,・・・のデータファイルの一部を、追加されたノード50に移動させるファイル管理部に対応する。
また、ノード50におけるファイルシステム部520が、ノード50のデータ格納領域を、必要な数のデータブロックに分割するデータブロック分割部に対応する。
データブロック130は、例えばハードディスクなどの物理的な記憶装置を複数、接続することによって構成された仮想的なデータ格納領域を分割することにより、構成されている。なお、本実施形態では、説明のために、ノード10のデータブロック130の数を10個とするが、この限りではなく、データブロック130の数はいくつであってもよい。
アクセス統計処理部140は、複数のデータブロック130に格納されたデータファイルに対するアクセス量や該データファイルのファイル容量など、データファイルに関する統計処理を行う。詳しくは、図4に示すように、アクセス統計処理部140は、アクセス量検出部141と、ファイル容量算出部142とを有する。
アクセス量検出部141は、複数のデータブロック130に格納されたデータファイルに対するアクセス量を計測する。詳しくは、アクセス量検出部141は、複数のデータブロック130に格納された各データファイルに対するアクセス量の統計情報を、ファイルのメタデータなどに記録する。また、アクセス量検出部141は、必要に応じて、現在のアクセス量の取得やアクセス量のリセット、データブロック毎の総アクセス量(アクセス量の累積値)の算出等を行う。
ファイル容量算出部142は、前記データファイルのファイル容量を計測する。このファイル容量算出部142は、一般的なファイルシステムにおけるdfコマンドなどを実行する構成に相当する。ファイル容量算出部142は、必要に応じて、データブロック毎の総ファイル量を算出する。
マッピング関数制御部150は、ノード10,20,・・・に対するデータブロックの割り当てを決めるためのマッピング関数の管理を行う。詳しくは、図4に示すように、マッピング関数制御部150は、マッピング関数生成部151と、マッピング関数選択部152と、マッピング関数記憶部153と、マッピングテーブル更新部154と、マッピング関数通知部155とを有する。
マッピング関数生成部151は、ノード50を追加した際に、ノード10,20,30,40,50に対する複数のデータブロックの割り当てを変更するための移動対象のデータブロックを示す関数式(マッピング関数)を生成する。なお、マッピング関数生成部151は、前記関数式を少なくとも一つ生成する。
詳しくは、マッピング関数生成部151は、ノード10,20,・・・とデータブロック130,230,・・・との対応を表す関係式を生成する。マッピング関数生成部151は、分散ファイル管理装置1が例えば4つのノードを含む場合には、線形分割となるようにQUOTIENT()を用いて全てのデータブロック130,230,・・・を等分し、それらを各ノードに割り当てる関数式を生成する。そして、ノード50が追加された場合には、マッピング関数生成部151は、例えば、ノード10,20,・・・のデータブロック数に応じて、例えば剰余から移動させるデータブロックを求めるMOD()等の関数式を生成する。なお、マッピング関数生成部151は、追加したノード50に移動させるデータブロックの数の分だけ、データブロックを切り分けることができる関数を、一般的な関数の組み合わせによって生成する。
マッピング関数選択部152は、マッピング関数生成部151によって生成されたマッピング関数の関数式の中から、ノード10,20,・・・,50におけるファイルアクセス量及びファイル容量のばらつきが小さくなるようにデータブロックを移動させる関数式を選択する。
詳しくは、マッピング関数選択部152は、アクセス量検出部141及びファイル容量算出部142によってそれぞれ算出された各データブロックにおける総アクセス量及び総ファイル容量を用いて、マッピング関数生成部151によって生成された関数式において、ノード50にデータブロックを移動させた場合の各ノード10,20,・・・,50の総アクセス量及び総ファイル容量の標準偏差を算出する。そして、マッピング関数選択部152は、マッピング関数生成部151によって生成された関数式の中から、前記標準偏差がより小さくなる関数式を選択する。
マッピング関数記憶部153は、マッピング関数選択部152によって選択された関数式を記憶するとともに、後述するマッピング関数通知部155によってクライアント1000に通知された関数式も記憶する。
マッピングテーブル更新部154は、マッピング関数記憶部153に記憶されている関数式を用いて、後述のマッピングテーブル160を更新する。詳しくは、マッピングテーブル更新部154は、マッピングテーブル160において、マッピング関数記憶部153に新たに追加された関数式に応じて、追加したノード50に割り当てられたデータブロックに関する情報を更新する。
マッピング関数通知部155は、マッピング関数記憶部153に記憶されている関数式を、クライアント1000に通知する。詳しくは、マッピング関数通知部155は、マッピング関数選択部152で選択された関数式を、マッピング関数記憶部153に通知するとともに、クライアント1000の後述するマッピング関数取得部1023にも通知する。また、マッピング関数通知部155は、クライアント1000の後述するマッピング関数取得部1023から取得済みと通知された関数式以外の関数式を、クライアント1000のマッピング関数取得部1023に通知する。例えば、マッピング関数通知部155は、クライアント1000のマッピング関数取得部1023から、N番までの関数式を取得していると通知された場合には、N+1番以降に追加された関数式を全てクライアント1000のマッピング関数取得部1023に通知する。
マッピングテーブル160は、各ノード10,20,・・・,50に対して割り当てられているデータブロックに関する情報が記憶されている。
分散ファイル管理装置1における分散ファイル制御部60は、ノード10の分散ファイルシステム部110及び他の既存のノード20,30,40における分散ファイルシステム部を含む。また、分散ファイル制御部60は、構成変更部2を含む。この構成変更部2は、分散ファイル管理装置1に対するノードの追加・削除を行う。
分散ファイル管理装置1におけるアクセス統計処理部70は、ノード10のアクセス統計処理部140及び他の既存のノード20,30,40におけるアクセス統計処理部を含む。
分散ファイル管理装置1におけるマッピング関数制御部4は、ノード10,20のマッピング関数制御部150,250及び他の既存のノードにおけるマッピング関数制御部を含む。
クライアント1000は、分散ファイル管理装置1に格納されたデータファイルにアクセスする。なお、以下では、説明のために、クライアント1000が一つであるが、クライアント1000は複数であってもよい。
クライアント1000は、図3及び図5に示すように、分散ファイルアクセス部1010と、マッピング関数制御部1020と、マッピングテーブル1030とを備える。
分散ファイルアクセス部1010は、分散ファイル管理装置1に格納されているデータファイルにアクセスする機能を有する。分散ファイルアクセス部1010は、クライアント1000の図示しない制御部から、分散ファイル管理装置1に格納されているデータファイルに対するアクセス要求が入力された場合、そのファイル名のハッシュ値及びマッピングテーブル1030からデータファイルが格納されているノードを判断し、そのノードの分散ファイルシステム部にアクセス要求を通知する。なお、本実施形態では、分散ファイルアクセス部1010は、ノード10の分散ファイルシステム部110に対してアクセス要求を行うものとし、その具体的な動作についての説明は後述する。
マッピング関数制御部1020は、クライアント1000において関数式(マッピング関数)を制御する。マッピング関数制御部1020は、マッピング関数記憶部1021と、マッピングテーブル更新部1022と、マッピング関数取得部1023とを有する。
マッピング関数記憶部1021は、分散ファイル管理装置1から通知された関数式(マッピング関数)を記憶する。すなわち、マッピング関数記憶部1021は、後述するマッピング関数取得部1023によって、分散ファイル管理装置1の各ノードから関数式を新たに取得した場合には、取得した関数式を記憶する。
マッピングテーブル更新部1022は、マッピング関数記憶部1021に記憶された関数式を用いて、クライアント1000内のマッピングテーブル1030の情報を更新する。すなわち、マッピングテーブル更新部1022は、マッピング関数記憶部1021に新たな関数式が記憶された場合に、マッピングテーブル1030の情報を更新する。
マッピング関数取得部1023は、分散ファイル管理装置1のマッピング関数通知部155に、マッピング関数記憶部1021に記憶されている関数式を通知する。また、マッピング関数取得部1023は、マッピング関数記憶部1021に記憶されている関数式以外の関数式が、分散ファイル管理装置1の各ノードにおけるマッピング関数選択部で選択された場合には、その関数式を取得するように、各ノードのマッピング関数通知部に通知する。
詳しくは、マッピング関数取得部1023は、クライアント1000が分散ファイルアクセス部1010によって、分散ファイル管理装置1のノード(例えばノード10)にアクセスした際に、他のノードからアクセス結果が送信された場合、現在のマッピングテーブル1030に更新が必要と判断する。マッピング関数取得部1023は、現時点のマッピング関数記憶部1021で記憶されている最新のマッピング関数が何番目の関数式であるかを、ノード10,20,・・・のうちのいずれかのマッピング関数通知部に伝えるとともに、それ以降に分散ファイル管理装置1で追加して選択されたマッピング関数を取得する。
マッピングテーブル1030には、各ノード10,20,・・・,50に対して割り当てられているデータブロックに関する情報のうち、クライアント1000が分散ファイル管理装置1から取得した情報が記憶されている。
次に、本発明の実施形態に係る分散ファイル管理装置1の動作について図6から図8を用いて説明する。図6から図8は、分散ファイル管理装置1の動作を示すフロー図である。以下の説明において、図3から図5を適宜、参酌する。また、本実施形態では、分散ファイル管理装置1を動作させることによって、分散ファイル管理方法が実施される。よって、本実施形態における分散ファイル管理方法の説明は、以下の分散ファイル管理装置1の動作説明に代える。
まず、図6を用いて、ノード40を追加する前の分散ファイル管理装置1の動作について説明する。すなわち、以下では、クライアント1000の分散ファイル管理装置1に対するアクセスによって、分散ファイル管理装置1からクライアント1000に対してサービスを提供する動作について説明する。
なお、以下では、分散ファイル管理装置1が、4つのノード10,20,30,40を有する場合について説明する。
図9(a)に示すように、ノード10,20,30,40は、それぞれ、データ格納領域が10分割されることにより、10個のデータブロック130,230,330,430を有する。ノード10,20,30,40のデータブロック130,230,330,430には、B0〜B39までの通し番号が割り当てられている。
すなわち、分散ファイル管理装置1では、データブロックの初期の割り当てが行われている。具体的には、ノード10のマッピング関数生成部151によって、図9(a)に示すように、例えば、計40個のデータブロックがノード10,20,30,40に10ブロックずつに割り当てられている。そのため、マッピング関数F(1)は、N=QUOTIENT(B,10)である。このマッピング関数F(1)において、Nはノードの番号であり、Bはデータブロックの番号である。各データブロックは、マッピング関数F(1):Nから算出される番号のノードに割り当てられる。すなわち、このマッピング関数F(1):Nを用いて、ノード10,20,30,40に対する割り当てが算出される。
なお、上述のマッピング関数F(1):Nによって得られた情報は、分散ファイル管理装置1のマッピング関数制御部4によって、他のノード20,30,40に通知される。各ノードでは、マッピング関数記憶部でマッピング関数F(1):Nを記憶するとともに、これに従って、マッピングテーブル更新部でマッピングテーブルを更新する。また、18個のファイルf1〜f18が、ファイル名のハッシュ値に従って、該当するデータブロックに格納されているものとする。
上述のような構成を有する分散ファイル管理装置1において、クライアント1000が例えばファイルf9にアクセスする場合のクライアント1000及び分散ファイル管理装置1の動作を、図6に示すフロー及び図10に示す図を用いて説明する。なお、図10において、符号360,460は、それぞれ、ノード30,40のマッピングテーブルを示す。
まず、ステップSA1で、クライアント1000のマッピング関数取得部223が、マウント先のノード10,20,30,40に対して、マッピング関数の取得を行う。なお、この時点では、ノード10,20,30,40のマッピング関数記憶部には、一つもマッピング関数が記憶されていない状態のため、クライアント1000のマッピング関数取得部1023は、マッピング関数F(0):Nまで取得済みの状態となる。
上述のようにクライアント1000が取得済みのマッピング関数はF(0):Nであるため、続くステップSA2では、マウント先のノード(例えばノード10)において、マッピング関数制御部150が、マッピング関数記憶部153に記憶されているF(1):N以降のマッピング関数を、マッピング関数通知部155によって、クライアント1000に通知する。
ステップSA3では、クライアント1000のマッピング関数取得部1023がマッピング関数通知部155によって通知されたマッピング関数F(1):Nを取得し、マッピング関数記憶部1021が、取得したマッピング関数F(1):Nを記憶する。そして、クライアント1000のマッピングテーブル更新部1022が、マッピングテーブル230を更新する。
ステップSA4において、クライアント1000の分散ファイルアクセス部1010が分散ファイル管理装置1に格納されたファイルf9にアクセスする際に、分散ファイルアクセス部1010は、ファイルf9のハッシュ値からデータブロックB7に格納されていることを把握する(従来技術の構成と同様なので詳しい説明を省略)。そして、分散ファイルアクセス部1010は、マッピングテーブル1030の情報に基づいてデータブロックB7がノード10にあると判断する。これにより、クライアント1000は、ノード10の分散ファイルシステム部110を経由して、ファイルf9にアクセスすることができる。その後、このフローを終了する(End)。
次に、ノード50を追加した場合におけるクライアント1000及び分散ファイル管理装置1の動作について、図7、図8、図11を用いて説明する。以下の説明では、ノード50を分散ファイル管理装置1に追加して、各ノードのデータをリバランスした後、クライアント1000が分散ファイル管理装置1内に格納されているファイルf9にアクセスする例について説明する。なお、図11において、符号350,450は、それぞれ、ノード30,40のマッピング関数制御部を示す。
まず、ステップSB1において、ノード50を分散ファイル管理装置1に追加する際には、分散ファイル管理装置1の既存のノード(例えばノード10)によってノード追加のコマンドが実行される。これにより、分散ファイル管理装置1における分散ファイル制御部60の構成変更部2によって、ノード50が分散ファイル管理装置1に追加される。
このとき、ノード50のファイルシステム部520は、既存のノード10,20,30,40にデータブロックが10個ずつ用意されていることを検出する。ステップSB2で、ファイルシステム部520は、(総データブロック数)/(追加後のノード数)の計算に基づいて、必要なデータブロック数を8と判断し、データブロック数が8個になるように、自身のデータ格納領域を分割する。ノード50のデータ格納領域の分割後の状態を、図9(b)に示す。
次に、ステップSB3において、既存ノード10,20,30,40のアクセス統計処理部が、それぞれ、各ノードにおけるデータブロック毎のアクセス量及びファイル容量を求めて、その結果を他のノードと共有する。
その後、ステップSB4で、ノード10のマッピング関数生成部150が、既存ノード10,20,30,40から追加したノード50へのデータブロックの移動を示すマッピング関数を生成する。
具体的には、マッピング関数生成部150は、以下のようにしてマッピング関数を生成する。例えば、図9に示すように、既存のノード10,20,30,40における10個のデータブロックからデータブロックを2個ずつ、追加したノード50に移動させる場合、マッピング関数生成部150は、MOD関数を用いて、基数が10で剰余が0〜9の場合の関数を10種類、生成する。
次に、ステップSB5において、マッピング関数選択部152が、マッピング関数生成部150によって生成された関数式のうち2つを選ぶ。このとき、マッピング関数選択部152は、データブロックを再割り当てした場合のノード毎のアクセス量及びファイル容量を比較して、各ノードのばらつきが一番小さくなるような関数式を2つ選択する。
前記ステップSB5において、追加したノード50へのデータブロックの再割り当てを示すマッピング関数F(2)が、剰余1及び7に等しいものに決まったとすると、続くステップSB6では、マッピング関数通知部155が、ノード10,20,30,40,50のマッピング関数記憶部に前記マッピング関数F(2)を通知する。そうすると、ステップSB7で、各ノードのマッピングテーブル更新部が、マッピングテーブルを更新する。
各ノードでは、ステップSB7でマッピングテーブルの情報が更新されると、分散ファイルシステム部及びファイルシステム部が、既存のノード10、20,30,40に割り当てられていたデータブロックに格納されていたデータの一部を、追加したノード50のデータブロックに割り当て直して、前記一部のデータをノード50のデータブロック530にコピーする(ステップSB8)。
なお、上述のコピーが完了すると、既存のノード10、20,30,40において、追加したノード50のデータブロック530にデータがコピーされたデータブロックは削除され、該データブロックに割り当てられていた論理ボリュームは開放される。
次に、ステップSB9以降で、クライアント1000が分散ファイル管理装置1に格納されたファイルデータにアクセスする場合について説明する。ここでは、一例として、クライアント1000から分散ファイル管理装置1に格納されたデータブロック7のデータファイルf9にアクセスする場合について説明する。
まず、ステップSB9では、クライアント1000の分散ファイルアクセス部1010は、ノード20にアクセスする。本実施形態の場合、ノード20にはデータブロック7が存在しない。ノード20の分散ファイルシステム部210は、自身に存在しないデータブロック7へのアクセスを検出すると、マッピングテーブル260から、データブブロック7がノード50に再割り当てされている情報を読み込むことにより、ノード50にリダイレクトする。
その結果、ステップSB10では、ノード50からファイルf9へのアクセス結果がクライアント1000に返される。クライアント1000では、分散ファイルアクセス部1010がリダイレクトを検出するため、マッピング関数取得部1023が、マッピング関数記憶部1021にF(1)までマッピング関数が記憶されていることを、ノード50のマッピング関数通知部に通知する(ステップSB11)。
続いてステップSB12において、ノード50のマッピング関数通知部では、ノード50のマッピング関数記憶部にF(1)、F(2)のマッピング関数が記憶されていることを検出すると、マッピング関数F(2)をクライアント1000に通知する。
クライアント1000では、ノード50から通知されたマッピング関数F(2)をマッピング関数記憶部1021が記憶し、マッピングテーブル更新部1022がマッピング関数F(2)によってマッピングテーブル1030を更新する。
その後、クライアント1000は、データブロック7のデータファイルf9へのアクセスを、ノード50に対して行う(ステップSB9)。なお、このデータファイルf9へのアクセスは、図6に示すフローのステップSA4と同様なので、詳しい説明を省略する。
ここで、ステップSB1が構成変更ステップに対応し、ステップSB2がデータブロック分割ステップに対応する。また、ステップSB4及びSB5がマッピング関数制御ステップに対応し、ステップSB8がファイル管理ステップに対応する。さらに、ステップSB6がマッピング関数通知ステップに対応し、ステップSB4がマッピング関数生成ステップに対応し、ステップSB5がマッピング関数選択ステップに対応する。
従来の構成の場合には、既存のノード間でもデータファイルの移動が発生していたが、上述のような本実施形態の構成により、図2に示すように、ノード50を追加した際に、ノード50に対してデータファイルを移動するようにリバランス処理を行うことにより、ノード間のデータ移動量を減らすことができる。
したがって、本実施形態の構成により、ノード10,20,30,40,50とクライアント1000との間でのマッピングテーブルの通知に関し、通信量を減らすことが可能となる。これにより、分散ファイル管理装置1に性能及び容量の拡大を目的としたノード50の追加によるクライアント1000と分散ファイル管理装置1とのアクセス性能への悪影響を低減することができる。
また、クラウド環境のように多数のクライアント1000が存在している状況においてノードの追加を行った場合、ハッシュレンジや各ノードのデータブロックの割り当て情報をマッピングテーブルとしてクライアント1000に伝える代わりに、通信量が少なく且つマッピングテーブルを算出可能なマッピング関数を用いるとともに、クライアント1000側で取得していないマッピング関数のみを該クライアント1000に通知することにより、クライアント1000との間の通信量を削減できる。
本発明の実施形態におけるプログラムは、コンピュータに、図7に示すステップSB1からSB8を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施形態における分散ファイル管理装置1と分散ファイル管理方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、分散ファイル制御部60、アクセス処理統計部70及びマッピング関数制御部4として機能し、処理を行なう。また、前記CPUと同一または異なるCPUは、各ノードの分散ファイルシステム部、ファイルシステム部、アクセス統計処理部及びマッピング関数制御部として機能し、処理を行う。
また、本実施形態では、データブロック130,230,・・・は、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって、又はこのデータファイルが格納された記録媒体をコンピュータと接続された読取装置に搭載することによって実現されている。
ここで、本実施形態におけるプログラムを実行することによって、分散ファイル管理装置1を実現するコンピュータについて図12を用いて説明する。図12は、本発明の実施形態における分散ファイル管理装置1を実現するコンピュータの一例を示すブロック図である。
図12に示すように、コンピュータ2000は、CPU2001と、メインメモリ2002と、記憶装置2003と、入力インターフェイス2004と、表示コントローラ2005と、データリーダ/ライタ2006と、通信インターフェイス2007とを備える。これらの各部は、バス2011を介して、互いにデータ通信可能に接続される。
CPU2001は、記憶装置2003に格納された、本実施の形態におけるプログラム(コード)をメインメモリ2002に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ2002は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体2010に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス2007を介して接続されたインターネット上で流通するものであっても良い。
また、記憶装置2003の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス2004は、CPU2001と、キーボード及びマウスといった入力機器2008との間のデータ伝送を仲介する。表示コントローラ2005は、ディスプレイ装置2009と接続され、ディスプレイ装置119での表示を制御する。
データリーダ/ライタ2006は、CPU2001と記録媒体2010との間のデータ伝送を仲介し、記録媒体2010からのプログラムの読み出し、及びコンピュータ2000における処理結果の記録媒体2010への書き込みを実行する。通信インターフェイス2007は、CPU2001と、他のコンピュータとの間のデータ伝送を仲介する。
また、記録媒体2010の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記憶媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体が挙げられる。
なお、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、分散ファイル制御部60、アクセス処理統計部70、マッピング関数制御部4、及び、各ノードの分散ファイルシステム部、ファイルシステム部、アクセス統計処理部及びマッピング関数制御部のいずれかとして機能しても良い。また、各ノードのデータブロックは、本実施の形態におけるプログラムを実行するコンピュータとは別のコンピュータ上に構築されていても良い。
上述した実施の形態の一部または全部は、以下に記載する(付記1)〜(付記12)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
データファイルが格納された複数のデータブロックを有するノードを備えた分散ファイル管理装置であって、
前記複数のデータブロックに格納されたデータファイルの一部の割り当て先として、データ格納領域を有するノードを追加する構成変更部と、
前記追加されたノードにおいて、そのデータ格納領域を、必要な数のデータブロックに分割するデータブロック分割部と、
前記データファイルの一部を、前記追加されたノードのデータブロックに割り当てるマッピング関数を決定するマッピング関数制御部と、
前記マッピング関数に応じて、前記データファイルの一部を、前記追加されたノードに移動させるファイル管理部とを備える、分散ファイル管理装置。
(付記2)
前記ノード及び前記追加されたノードにアクセス可能なクライアントに対し、前記マッピング関数を通知するマッピング関数通知部をさらに備える、付記1に記載の分散ファイル管理装置。
(付記3)
前記マッピング関数通知部は、前記マッピング関数のうち前記クライアントがすでに取得しているマッピング関数を除いて、前記クライアントに通知する、付記2に記載の分散ファイル管理装置。
(付記4)
マッピング関数制御部は、
複数のマッピング関数を生成するマッピング関数生成部と、
前記複数のデータブロックに対するアクセス量及び前記複数のデータブロック内に格納されているデータファイル容量に基づいて、前記複数のマッピング関数の中から最適なマッピング関数を選択するマッピング関数選択部とを有する、付記1から3のいずれか一つに記載の分散ファイル管理装置。
(付記5)
データファイルが格納された複数のデータブロックを有するノードを備えた分散ファイル管理装置による分散ファイル管理方法であって、
前記複数のデータブロックに格納されたデータファイルの一部の割り当て先として、データ格納領域を有するノードを追加する構成変更ステップと、
前記追加されたノードにおいて、そのデータ格納領域を、必要な数のデータブロックに分割するデータブロック分割ステップと、
前記データファイルの一部を、前記追加されたノードのデータブロックに割り当てるマッピング関数を決定するマッピング関数制御ステップと、
前記マッピング関数に応じて、前記データファイルの一部を、前記追加されたノードに移動させるファイル管理ステップとを備える、分散ファイル管理方法。
(付記6)
前記ノード及び前記追加されたノードにアクセス可能なクライアントに対し、前記マッピング関数を通知するマッピング関数通知ステップをさらに備える、付記5に記載の分散ファイル管理方法。
(付記7)
前記マッピング関数通知ステップは、前記マッピング関数のうち前記クライアントがすでに取得しているマッピング関数を除いて、前記クライアントに通知する、付記6に記載の分散ファイル管理方法。
(付記8)
前記マッピング関数制御ステップは、
複数のマッピング関数を生成するマッピング関数生成ステップと、
前記複数のデータブロックに対するアクセス量及び前記複数のデータブロック内に格納されているデータファイル容量に基づいて、前記複数のマッピング関数の中から最適なマッピング関数を選択するマッピング関数選択ステップとを有する、付記5から7のいずれか一つに記載の分散ファイル管理方法。
(付記9)
データファイルが格納された複数のデータブロックを有するノードを備えた分散ファイル管理装置による分散ファイル管理方法を制御するためのプログラムであって、
コンピュータに、
前記複数のデータブロックに格納されたデータファイルの一部の割り当て先として、データ格納領域を有するノードを追加する構成変更ステップと、
前記追加されたノードにおいて、そのデータ格納領域を、必要な数のデータブロックに分割するデータブロック分割ステップと、
前記データファイルの一部を、前記追加されたノードのデータブロックに割り当てるマッピング関数を決定するマッピング関数制御ステップと、
前記マッピング関数に応じて、前記データファイルの一部を、前記追加されたノードに移動させるファイル管理ステップとを実行させる、プログラム。
(付記10)
前記コンピュータに、前記ノード及び前記追加されたノードにアクセス可能なクライアントに対し、前記マッピング関数を通知するマッピング関数通知ステップをさらに実行させる、付記9に記載のプログラム。
(付記11)
前記マッピング関数通知ステップは、前記マッピング関数のうち前記クライアントがすでに取得しているマッピング関数を除いて、前記クライアントに通知する、付記10に記載のプログラム。
(付記12)
前記マッピング関数制御ステップは、
複数のマッピング関数を生成するマッピング関数生成ステップと、
前記複数のデータブロックに対するアクセス量及び前記複数のデータブロック内に格納されているデータファイル容量に基づいて、前記複数のマッピング関数の中から最適なマッピング関数を選択するマッピング関数選択ステップとを有する、付記9から11のいずれか一つに記載のプログラム。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
本発明は、データファイルが格納された複数のデータブロックを有するノードを備えた分散ファイル管理装置に利用可能である。
1 分散ファイル管理装置
2 構成変更部
3 データブロック分割部
4 マッピング関数制御部
5 ファイル管理部
10、20、30、40、50 ノード
60 分散ファイル制御部
70 アクセス統計処理部
110、210、510 分散ファイルシステム部
111 データアクセス部
120、220、520 ファイルシステム部
130、230、330、430、530 データブロック
140、240、540 アクセス統計処理部
141 アクセス量検出部
142 ファイル容量算出部
150、250、350、450、550 マッピング関数制御部
151 マッピング関数生成部
152 マッピング関数選択部
153 マッピング関数記憶部
154 マッピングテーブル更新部
155 マッピング関数通知部
160、260、360、460、560 マッピングテーブル
1000 クライアント
1010 分散ファイルアクセス部
1020 マッピング関数制御部
1021 マッピング関数記憶部
1022 マッピングテーブル更新部
1023 マッピング関数取得部
1030 マッピングテーブル
2000 コンピュータ
2001 CPU
2002 メインメモリ
2003 記憶装置
2004 入力インターフェイス
2005 表示コントローラ
2006 データリーダ/ライタ
2007 通信インターフェイス
2008 入力機器
2009 ディスプレイ装置
2010 記録媒体
2011 バス

Claims (9)

  1. データファイルが格納された複数のデータブロックを有するノードを備えた分散ファイル管理装置であって、
    前記複数のデータブロックに格納されたデータファイルの一部の割り当て先として、データ格納領域を有するノードを追加する構成変更部と、
    前記追加されたノードにおいて、そのデータ格納領域を、必要な数のデータブロックに分割するデータブロック分割部と、
    前記データファイルの一部を、前記追加されたノードのデータブロックに割り当てるマッピング関数を決定するマッピング関数制御部と、
    前記マッピング関数に応じて、前記データファイルの一部を、前記追加されたノードに移動させるファイル管理部と、を有し、
    前記マッピング関数制御部は、
    前記ノードを追加した場合、前記ノードと複数の前記データブロックとの対応を表す複数のマッピング関数を生成する、マッピング関数生成部と、
    前記複数のデータブロックに対するアクセス量及び前記複数のデータブロック内に格納されているデータファイル容量に基づいて標準偏差を算出し、前記複数のマッピング関数の中から、前記標準偏差がより最小となるマッピング関数を選択する、マッピング関数選択部と、を有する
    ことを特徴とする分散ファイル管理装置。
  2. 前記ノード及び前記追加されたノードにアクセス可能なクライアントに対し、前記マッピング関数を通知するマッピング関数通知部をさらに備える、請求項1に記載の分散ファイル管理装置。
  3. 前記マッピング関数通知部は、前記マッピング関数のうち前記クライアントがすでに取得しているマッピング関数を除いて、前記クライアントに通知する、請求項2に記載の分散ファイル管理装置。
  4. データファイルが格納された複数のデータブロックを有するノードを備えた分散ファイル管理装置による分散ファイル管理方法であって、
    前記複数のデータブロックに格納されたデータファイルの一部の割り当て先として、データ格納領域を有するノードを追加する構成変更ステップと、
    前記追加されたノードにおいて、そのデータ格納領域を、必要な数のデータブロックに分割するデータブロック分割ステップと、
    前記データファイルの一部を、前記追加されたノードのデータブロックに割り当てるマッピング関数を決定するマッピング関数制御ステップと、
    前記マッピング関数に応じて、前記データファイルの一部を、前記追加されたノードに移動させるファイル管理ステップと、を有し、
    前記マッピング関数制御ステップにおいて、
    前記ノードを追加した場合、前記ノードと複数の前記データブロックとの対応を表す複数のマッピング関数を生成し、
    前記複数のデータブロックに対するアクセス量及び前記複数のデータブロック内に格納されているデータファイル容量に基づいて標準偏差を算出し、
    前記複数のマッピング関数の中から、前記標準偏差がより最小となるマッピング関数を選択する
    ことを特徴とする分散ファイル管理方法。
  5. 前記ノード及び前記追加されたノードにアクセス可能なクライアントに対し、前記マッピング関数を通知するマッピング関数通知ステップをさらに備える、請求項に記載の分散ファイル管理方法。
  6. 前記マッピング関数通知ステップは、前記マッピング関数のうち前記クライアントがすでに取得しているマッピング関数を除いて、前記クライアントに通知する、請求項に記載の分散ファイル管理方法。
  7. データファイルが格納された複数のデータブロックを有するノードを備えた分散ファイル管理装置による分散ファイル管理方法を制御するためのプログラムであって、
    コンピュータに、
    前記複数のデータブロックに格納されたデータファイルの一部の割り当て先として、データ格納領域を有するノードを追加する構成変更ステップと、
    前記追加されたノードにおいて、そのデータ格納領域を、必要な数のデータブロックに分割するデータブロック分割ステップと、
    前記データファイルの一部を、前記追加されたノードのデータブロックに割り当てるマッピング関数を決定するマッピング関数制御ステップと、
    前記マッピング関数に応じて、前記データファイルの一部を、前記追加されたノードに移動させるファイル管理ステップと、を実行させ
    前記マッピング関数制御ステップにおいて、
    前記ノードを追加した場合、前記ノードと複数の前記データブロックとの対応を表す複数のマッピング関数を生成し、
    前記複数のデータブロックに対するアクセス量及び前記複数のデータブロック内に格納されているデータファイル容量に基づいて標準偏差を算出し、
    前記複数のマッピング関数の中から、前記標準偏差がより最小となるマッピング関数を選択する
    ことを特徴とするプログラム。
  8. 前記コンピュータに、
    前記ノード及び前記追加されたノードにアクセス可能なクライアントに対し、前記マッピング関数を通知するマッピング関数通知ステップをさらに実行させる、請求項に記載のプログラム。
  9. 前記マッピング関数通知ステップは、前記マッピング関数のうち前記クライアントがすでに取得しているマッピング関数を除いて、前記クライアントに通知する、請求項に記載のプログラム。
JP2016072414A 2016-03-31 2016-03-31 分散ファイル管理装置、分散ファイル管理方法、及びプログラム Active JP6701890B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016072414A JP6701890B2 (ja) 2016-03-31 2016-03-31 分散ファイル管理装置、分散ファイル管理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016072414A JP6701890B2 (ja) 2016-03-31 2016-03-31 分散ファイル管理装置、分散ファイル管理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2017182664A JP2017182664A (ja) 2017-10-05
JP6701890B2 true JP6701890B2 (ja) 2020-05-27

Family

ID=60008505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016072414A Active JP6701890B2 (ja) 2016-03-31 2016-03-31 分散ファイル管理装置、分散ファイル管理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6701890B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070162506A1 (en) * 2006-01-12 2007-07-12 International Business Machines Corporation Method and system for performing a redistribute transparently in a multi-node system
US7512754B1 (en) * 2008-01-31 2009-03-31 International Business Machines Corporation System and method for optimizing storage utilization
US9703610B2 (en) * 2011-05-16 2017-07-11 Oracle International Corporation Extensible centralized dynamic resource distribution in a clustered data grid
CA2894623C (en) * 2012-12-27 2019-09-10 Huawei Technologies Co., Ltd. Partition extension method and apparatus
EP3015998B1 (en) * 2013-06-29 2018-03-28 Huawei Technologies Co., Ltd. Zoning balance subtask delivering method, apparatus and system

Also Published As

Publication number Publication date
JP2017182664A (ja) 2017-10-05

Similar Documents

Publication Publication Date Title
JP6542909B2 (ja) ファイル操作方法及び装置
RU2658886C1 (ru) Способ управления файлами, распределенная система хранения и узел управления
US10356150B1 (en) Automated repartitioning of streaming data
US11095715B2 (en) Assigning storage responsibility in a distributed data storage system with replication
WO2019119311A1 (zh) 一种数据存储的方法、装置和系统
JP6222227B2 (ja) ストレージノード、ストレージノード管理装置、ストレージノード論理容量設定方法、プログラム、記録媒体および分散データストレージシステム
US9800575B1 (en) Assigning storage responsibility in a distributed data storage system with replication
JP6269140B2 (ja) アクセス制御プログラム、アクセス制御方法、およびアクセス制御装置
JP5104855B2 (ja) 負荷分散プログラム、負荷分散方法、及びストレージ管理装置
JP6211631B2 (ja) ボリューム複製を目的としたワークロードの特定およびバッファのサイズ設定
KR101912728B1 (ko) 데이터 처리 방법 및 장치
CN107087031A (zh) 一种存储资源负载均衡方法及装置
WO2017020757A1 (en) Rebalancing and elastic storage scheme with elastic named distributed circular buffers
JP2021009561A (ja) データ処理システム、データ処理装置及びデータ処理プログラム
CN112948279B (zh) 管理存储系统中的访问请求的方法、设备和程序产品
JP6233403B2 (ja) ストレージシステム、ストレージ装置、ストレージ装置の制御方法及び制御プログラム、管理装置、管理装置の制御方法及び制御プログラム
CN113590019A (zh) 用于存储管理的方法、电子设备和计算机程序产品
JP2019120987A (ja) 情報処理装置,制御プログラムおよび情報処理方法
JP2019074912A (ja) ストレージシステムおよび制御方法
JP5515889B2 (ja) 仮想マシンシステム、自動マイグレーション方法および自動マイグレーションプログラム
JP2021064078A (ja) 複数のノードを含むストレージシステムの拡張構成案を作成する装置
JP5853109B2 (ja) 計算機、計算機システムの制御装置及び記録媒体
JP2015022327A (ja) データ再配置装置、方法およびプログラム
JP6701890B2 (ja) 分散ファイル管理装置、分散ファイル管理方法、及びプログラム
JP2013125437A (ja) 制御装置、プログラムおよびストレージ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200129

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200420

R150 Certificate of patent or registration of utility model

Ref document number: 6701890

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150