JP2012074039A - ファイルをチャンク単位で分散処理するシステムおよび方法 - Google Patents

ファイルをチャンク単位で分散処理するシステムおよび方法 Download PDF

Info

Publication number
JP2012074039A
JP2012074039A JP2011212336A JP2011212336A JP2012074039A JP 2012074039 A JP2012074039 A JP 2012074039A JP 2011212336 A JP2011212336 A JP 2011212336A JP 2011212336 A JP2011212336 A JP 2011212336A JP 2012074039 A JP2012074039 A JP 2012074039A
Authority
JP
Japan
Prior art keywords
chunk
file
data server
distributed file
replica
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
JP2011212336A
Other languages
English (en)
Other versions
JP6525491B2 (ja
Inventor
Yasuo Kin
泰 雄 金
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.)
Naver Cloud Corp
Original Assignee
NHN Business Platform 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 NHN Business Platform Corp filed Critical NHN Business Platform Corp
Publication of JP2012074039A publication Critical patent/JP2012074039A/ja
Application granted granted Critical
Publication of JP6525491B2 publication Critical patent/JP6525491B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2048Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware

Abstract

【課題】ファイルをチャンク単位で分散処理するシステムおよび方法が開示される。
【解決手段】ファイル処理システムは、少なくとも1つの分散ファイルシステムのうちいずれか1つの分散ファイルシステムをターゲットに指定するシステムターゲット部と、ターゲットに指定された分散ファイルシステムに格納するためのファイルを分割してファイルブロックとして構成されたチャンクを生成するチャンク生成部と、ターゲットに指定された分散ファイルシステムに前記生成されたチャンクについて格納リクエストし、チャンクの格納結果を受信するチャンク演算リクエスト部とを備えてもよい。
【選択図】図1

Description

本発明は、ファイルデータをチャンク単位で分散処理するシステムおよび方法に関し、より詳しくは、大容量のファイルデータを分割してチャンクを生成し、生成されたチャンクを分散して格納および演算するシステムおよび方法に関する。
近年、大量のファイルデータを格納するために、複数の低価格のサーバを用いて分散ファイルシステムを構築する方法が提示されている。このような分散ファイルシステムでは、複数の低価格のサーバがファイルデータを分散して処理するため、費用および性能の面で優れた効果を発揮する。分散ファイルシステムを構成するサーバは、仮想の大規模な格納装置を構成することができる。
韓国公開特許第10−2011−0070659号公報
ただし、低価格のサーバを用いる場合、ファイルデータに障害が頻繁に発生する。すなわち、低価格のサーバを用いると、分散ファイルシステムを構成するためのハードウェア費用を減らすことができるという長所はあるものの、同時に低価格のサーバを利用することにより障害が高い頻度で発生するため、システムの動作が中断されてしまうという短所も同時に存在する。
したがって、大容量のファイルデータを低価格のサーバを用いて効率的に格納するための方法が要求される。また、低価格のサーバを用いることによって発生する障害を効率よく克服することができる方法も要求される。
本発明の目的は、大容量のファイルデータを一定のサイズのチャンクに分割して、分散ファイルシステムにオーナー単位に応じて分散格納することによって、大容量のファイルデータを効率よく低価格のサーバに格納することができるシステムおよび方法を提供する。
本発明の目的は、同じ内容のチャンクの複製を予め設定された数だけデータサーバに分散格納することによって、1つのチャンクの複製が故障しても該チャンクの複製を演算することができるため、ファイル処理の利用性を向上させることができるシステムおよび方法を提供する。
本発明の目的は、チャンクの複製が故障して損傷しても、チャンクファイルに対する変更演算をロギングすることなく最新状態の複製をコピーすることによってチャンクの複製を復旧することができるシステムおよび方法を提供する。
本発明の一実施形態に係るファイル処理システムは、少なくとも1つの分散ファイルシステムのうちいずれか1つの分散ファイルシステムをターゲットに指定するシステムターゲット部と、ターゲットに指定された分散ファイルシステムに格納するためのファイルを分割してファイルブロックとして構成されたチャンクを生成するチャンク生成部と、ターゲットに指定された分散ファイルシステムに生成されたチャンクについて格納リクエストし、チャンクの格納結果を受信するチャンク演算リクエスト部とを備えてもよい。
本発明の一実施形態に係る分散ファイルシステムは、少なくとも1つのデータサーバを含み、データサーバは、ファイル処理システムから受信したファイルが分割されたチャンクに対する格納リクエストに対応してチャンクの複製を格納するチャンク格納部と、ファイル処理システムから受信したチャンクに対する演算リクエストに対応してチャンクの複製の演算を行うチャンク演算実行部とを備えてもよい。
本発明の一実施形態によると、データサーバは、第1データサーバに格納されたチャンクの複製が第1データサーバの障害によって損傷した場合、チャンクの複製と同一の複製本を格納する第2データサーバからチャンクの複製をコピーするチャンクコピー部をさらに備えてもよい。
本発明の一実施形態によると、データサーバは、チャンクの複製に対するコピー進行の過程を考慮して、第2データサーバが格納するチャンクの複製に書き込みロックを行う書き込みロック実行部をさらに備えてもよい。
本発明の一実施形態に係るファイル格納方法は、少なくとも1つの分散ファイルシステムのうちいずれか1つの分散ファイルシステムをターゲットに指定し、ターゲットに指定された分散ファイルシステムに格納するためのファイルが分割されてファイルブロックとして構成されたチャンクを生成し、ターゲットに指定された分散ファイルシステムに生成されたチャンクについて格納リクエストしてチャンクの格納結果を受信することを含んでもよい。
本発明の一実施形態に係る少なくとも1つのデータサーバを含む分散ファイルシステムが行う分散ファイル処理方法において、データサーバは、ファイル処理システムから受信したファイルが分割されたチャンクに対する格納リクエストに対応してチャンクの複製を格納し、ファイル処理システムから受信したチャンクに対する演算リクエストに対応してチャンクの複製の演算を行ってもよい。
本発明の一実施形態によると、大容量のファイルデータを一定のサイズのチャンクに分割して、分散ファイルシステムにオーナー単位に応じて分散格納することによって、大容量のファイルデータを効率よく低価格のサーバに格納することができる。
本発明の一実施形態によると、同じ内容のチャンクの複製を予め設定された数だけデータサーバに分散格納することによって、1つのチャンクの複製が故障しても該チャンクの複製を演算することができるため、ファイル処理の利用性を向上させることができる。
本発明の一実施形態によると、チャンクの複製が故障して損傷しても、チャンクファイルに対する変更演算をロギングすることなく最新状態の複製をコピーすることによってチャンクの複製を復旧することができる。
本発明の一実施形態に係るファイル処理過程を説明するための全体システム構成を示す図である。 本発明の一実施形態に係るファイル処理システムの細部構成を示す図である。 本発明の一実施形態に係るファイルが格納された一例を示す図である。 本発明の一実施形態に係る分散ファイルシステムの細部構成を示す図である。 本発明の一実施形態に係るチャンクの複製を再生成するシステムを示す図である。 本発明の一実施形態に係るファイルを格納する過程を示すフローチャートである。 本発明の一実施形態に係るチャンクの複製を再生成する過程を示すフローチャートである。
以下、添付の図面に記載された内容を参照して本発明に係る実施形態を説明する。ただし、本発明が実施形態によって制限又は限定されることはない。各図面に提示された同一の参照符号は同一の構成を示す。
図1は、本発明の一実施形態に係るファイル処理過程を説明するための全体システム構成を示す図である。
クライアントシステム101は、ファイル処理システム100にファイルデータ(以下、ファイルともいう)に対する格納リクエストを送信してもよい。例えば、クライアントシステム101は、100GBのファイルを格納することをファイル処理システム100にリクエストしてもよい。このとき、ファイル処理システム100は、クライアントシステム101に100GBに対応するネットワーク上のディスクを提示してもよい。
これによって、ファイル処理システム100は、ファイルを少なくとも1つのチャンク(chunk)に分割し、分割されたチャンクについて分散ファイルシステム102に格納リクエストしてもよい。これによって、分散ファイルシステム102は、チャンクを分散格納してもよい。このとき、分散ファイルシステム102は、予め設定された数に対応するチャンクの複製を分散格納してもよい。分散ファイルシステム102は、ファイル処理システム100とネットワークを介して接続されてもよく、分散ファイルシステム102の数は少なくとも1つであってもよい。
以下は、ファイル処理システム100および分散ファイルシステム102を中心に説明する。
図2は、本発明の一実施形態に係るファイル処理システムの細部構成を示す図である。
図2を参照すると、ファイル処理システム100は、システムターゲット部201、チャンク生成部202、およびチャンク演算リクエスト部203を備えてもよい。
システムターゲット部201は、少なくとも1つの分散ファイルシステムのうちいずれか1つの分散ファイルシステム102をターゲットに指定してもよい。一例として、クライアントシステム101は、OSカーネル(kernel)に搭載されたiSCSI初期化モジュールによって、システムターゲット部201のiSCSIターゲットエミュレーション(target emulation)を動作させてもよい。これによって、システムターゲット部201のiSCSIターゲットエミュレーションは、ネットワーク上に存在する少なくとも1つの分散ファイルシステム102のうちいずれか1つの分散ファイルシステムをターゲットに指定してもよい。このとき、システムターゲット部201は、IPアドレスによってiSCSIターゲットとなる分散ファイルシステム102をターゲットにしてもよい。
チャンク生成部202は、ターゲットに指定された分散ファイルシステム102に格納するためのファイルを分割してファイルブロックとして構成されたチャンクを生成してもよい。チャンク生成部202は、ファイルを一定のサイズのチャンクに分割してもよい。すなわち、チャンクは、クライアントシステム101が格納リクエストしたファイルが分割されたものであり、複数のファイルブロックとして構成されてもよい。
チャンク演算リクエスト部203は、ターゲットにされた分散ファイルシステム102に生成されたチャンクを格納リクエストし、チャンクの格納結果を受信してもよい。また、チャンク演算リクエスト部203は、チャンクを生成する(create)演算、チャンクを読み出す(read)演算、チャンクを書き込む(write)演算を分散ファイルシステム102にリクエストしてもよい。
一例として、分散ファイルシステム102は、チャンク演算リクエスト部203からのチャンクの格納リクエストに対応してチャンクの複製を分散格納する複数のデータサーバを含んでもよい。データサーバは、ファイルを格納するディスク空間として、仮想の大規模の格納空間を構成してもよい。このとき、分散ファイルシステム102は、オーナー(owner)単位に応じてチャンクをグループ化して複数のデータサーバそれぞれに分散格納してもよい。オーナーは、データサーバにおけるチャンクの複製が格納されたディレクトリに基づいて決定されてもよい。すなわち、オーナーは、チャンクの複製が格納されたデータサーバにおけるディレクトリに対応してもよい。言い換えれば、チャンクの複製は、チャンクグループに対応するオーナーによって格納されてもよい。すなわち、分散ファイルシステム102は、ファイルを分割したチャンクをオーナー単位に応じて予め設定された数に複製し、それを分散格納することによってファイルをより効率よく格納することができる。
また、チャンクの複製を格納する複数のデータサーバのうちいずれか1つに障害が発生して格納されたチャンクの複製が損傷した場合、例えば、チャンクの複製が削除されたり一部消失したり、変更されるなどの場合、分散ファイルシステム102は、当該チャンクの複製と同一の複製を格納している他のデータサーバを用いて、当該チャンクの複製を再生成してもよい。チャンクの複製は、特定の表示に応じてその状態が表示されてもよい。
図3は、本発明の一実施形態に係るファイルが格納された一例を示す図である。
ファイル処理システム100は、クライアントシステム101からファイル301の格納リクエストを受信してもよい。これによって、ファイル処理システム100は、ファイル301を一定のサイズのチャンクに分割してもよい。図3から分かるように、ファイル301が100GBである場合、ファイル処理システム100は、ファイル301を100個のチャンク306〜313に分割してもよい。すなわち、1つのチャンクは1GBであってもよい。
これによって、ファイル処理システム100は、生成されたチャンク306〜313をファイル302に設定してもよい。そして、分散ファイルシステム102は、生成されたチャンクをオーナー単位に応じてグループ化してデータサーバ314〜319に分散格納してもよい。図3を参照すると、4個のチャンク306〜309が1つのオーナー(owner1)304として構成されることが分かる。そして、4個のチャンク310〜313が1つのオーナー(owner2)305として構成されることが分かる。
このとき、データサーバ314〜319は、チャンクの複製をオーナー単位に応じて分散格納してもよい。図3を参照すると、チャンクの複製は、3つ生成されてオーナー単位に応じてデータサーバ314〜319に格納されてもよい。すなわち、4つのチャンク306〜309について、3つの複製がオーナー(owner1)304として構成されてデータサーバ(1)314、データサーバ(2)315、およびデータサーバ(3)316に分散格納されてもよい。そして、4つのチャンク310〜313について、3つの複製がオーナー(owner2)305として構成されてデータサーバ(4)317、データサーバ(5)318、およびデータサーバ(6)319に分散格納されてもよい。
ファイル処理システム100がチャンク306に対する読み出し演算を分散ファイルシステム102にリクエストする場合、データサーバ(1)314、データサーバ(2)315、またはデータサーバ(3)316のうちいずれか1つのデータサーバがチャンク306に対する読み出し演算を行なってもよい。ただし、ファイル処理システム100が所定のチャンクに対する生成演算または書き込み演算をリクエストする場合、チャンクの複製に関連する3つのデータサーバ全てで演算を行う必要がある。すなわち、チャンクの複製は同じ内容で分散格納されなければならないため、内容が変更される生成演算または書き込み演算を行う場合、関連のデータサーバ全てで演算に参加する必要がある。
図3には示していないが、分散ファイルシステム102は、メタデータサーバを含んでもよい。メタデータサーバは、オーナー単位のチャンクの複製が格納されたデータサーバの位置情報を格納してもよい。ファイル処理システム100は、メタデータサーバによってチャンクの複製が格納された位置情報を確認した後、処理しようとするチャンクの複製が格納されたデータサーバに対して演算リクエストを行なってもよい。
図3では、チャンクの複製が3つ生成されることについて説明したが、システムの構成に応じてその複製の数は変わってもよい。そして、システムの構成に応じて、オーナーはファイル302の部分集合形態に設定されてもよい。
図4は、本発明の一実施形態に係る分散ファイルシステムの細部構成を示す図である。
図4を参照すると、分散ファイルシステム102は、データサーバ400を備えてもよい。このとき、分散ファイルシステム102は少なくとも1つのデータサーバ400を含んでもよい。データサーバ400は、チャンク格納部401、チャンク演算実行部402、書き込みロック実行部403、およびチャンクコピー部404を備えてもよい。
チャンク格納部401は、ファイル処理システム100から受信したファイルが分割されたチャンクに対する格納リクエストに対応して、チャンクの複製を格納してもよい。
このとき、チャンクは、ファイルが一定のサイズに分割されたものであり、複数のファイルブロックを構成してもよい。データサーバ400は、少なくとも1つのチャンクの複製のいずれか1つをチャンク格納部401に格納してもよい。一例として、チャンク格納部401は、チャンクの複製をオーナー単位に応じて格納してもよい。1つのオーナーは少なくとも1つのチャンクの複製を含んでもよい。
チャンク演算実行部402は、ファイル処理システム101から受信したチャンクに対する演算リクエストに対応して、チャンクの複製に対する演算を行なってもよい。ファイル処理システム101は、チャンクに対する生成演算、書き込み演算、または読み出し演算を分散ファイルシステム102にリクエストしてもよい。
分散ファイルシステム102を構成しているデータサーバのうちいずれか1つのデータサーバで障害が発生した場合、障害が発生したデータサーバが格納しているチャンクの複製は損傷する。チャンクの複製は、予め設定した数だけデータサーバに格納される必要があるため、損傷したチャンクの複製を復旧する必要がある。このとき、分散ファイルシステム102は、データサーバの障害によって損傷したチャンクの複製を他のデータサーバによって再生成(replica migration)してチャンクの複製を復旧してもよい。
チャンクコピー部404は、第1データサーバに格納されたチャンクの複製が第1データサーバの障害によって損傷した場合、例えば、チャンクの複製が削除されたり一部消失したり、変更されるなどの場合、当該チャンクの複製と同一の複製を格納する第2データサーバからチャンクの複製をコピーしてもよい。チャンクの複製の状態は、N(Normal)、F(Fail)、およびM(Migration)に分類されてもよい。具体的に、Nはチャンクの複製が正常状態であり、読み出し/書き込みの演算が行われることができる状態を意味する。そして、Fはチャンクの複製が損傷した状態であり、読み出し/書き込み演算が行われることができない状態を意味する。また、Mはチャンクの複製が再生成されることができる状態であり、読み出し演算が行われることができず、書き込み演算のみが行われることができる状態を意味する。
チャンクの複製を再生成する過程について図5を参照して具体的に説明する。
書き込みロック実行部403は、損傷したチャンクの複製に対するコピー進行の過程を考慮して、第2データサーバが格納するチャンクの複製に書き込みロック(write lock)を行なってもよい。もし、チャンクコピー部404がチャンクの複製をコピーする過程でチャンクの複製の内容が変更される場合、再びコピーしなければならない問題があるためである。
したがって、書き込みロック実行部403は、損傷したチャンクの複製に対するコピー進行の過程を考慮して、第2データサーバが格納するチャンクの複製に書き込みロックを行なってもよい。このとき、書き込みロック実行部403は、チャンクコピー部404がコピーを行う前にコピーしようとするチャンクの複製と同一の複製に対して書き込みロックを行って演算を待機する。そして、チャンクコピー部404がチャンクの複製のコピーを完了すると、書き込みロック実行部403はチャンクの複製に対する書き込みロックを解除してもよい。
図5は、本発明の一実施形態に係るチャンクの複製を再生成するシステムを示す図である。
ステージ1は、分散ファイルシステム102のデータサーバ501〜506それぞれにオーナー単位に応じて格納されたチャンクの複製507〜512が正常状態(N)であることを意味する。
ステージ2は、データサーバのDS(2)502に障害が発生した場合、DS(2)502が格納しているチャンクの複製508が損傷した場合を意味する。この場合、DS(2)502が格納したオーナーに属する全てのチャンクの複製508の状態は故障状態(F)に変更される。
これによって、分散ファイルシステム102は、損傷したチャンクの複製508を再生成して復旧作業を行なってもよい。このとき、分散ファイルシステム102は、損傷したチャンクの複製508を再生成して格納する新しいデータサーバを選定してもよい。図5を参照すると、分散ファイルシステム102は、チャンクの複製508を再生成して格納する新しいサーバをDSL(5)505に設定した。または、分散ファイルシステム102は、チャンクの複製508を再生成して格納する新しいサーバをチャンクの複製を格納しないデータサーバに設定してもよい。
新しいデータサーバが設定されると、チャンクの複製514の状態は移動状態(M)に変更される。まだチャンクの複製514のコピー過程が行われていないため、図5で示すように、DSL(5)505にチャンクの複製514は存在しない。
これによって、DSL(5)505は、損傷したチャンクの複製508と同一の複製を格納しているデータサーバのDS(1)501またはDS(3)503のうちいずれか1つからチャンクの複製507または509をコピーしてもよい。
このとき、DSL(5)505は、チャンクの複製をコピーするとき、コピー中にチャンクの複製が変更されることを防ぐために次のような動作を行なってもよい。一例として、DSL(5)505は、チャンクの複製507または509をコピーする前にDS(1)501が格納しているチャンクの複製507およびDS(3)503が格納しているチャンクの複製509に対して書き込みロックを行なってもよい。このとき、DSL(5)505は、DS(1)501およびDS(3)503それぞれにメッセージを送信し、チャンクの複製507および509に対する書き込み演算のリクエストを受信した場合は待機するようにリクエストする。
その後、DSL(5)505がチャンクの複製507または509をコピー完了すると、DSL(5)505は、DS(1)501が格納しているチャンクの複製507およびDS(3)503が格納しているチャンクの複製509に対する書き込みロックを解除してもよい。このとき、DSL(5)505は、DS(1)501およびDS(3)503それぞれに書き込みロック解除メッセージを送信し、DS(1)501、DS(3)503、およびDSL(5)505は、チャンクの複製507,509,514それぞれに対して書き込み演算を行なってもよい。
もし、DSL(5)505で再生成されているチャンクの複製514に対してチャンクに対する書き込み演算がリクエストされる場合、DSL(5)505は、次のように処理してもよい。具体的に、DSL(5)505に書き込み演算を要求されるチャンクが存在する場合、当該チャンクがコピー完了した状態である。これによって、DSL(5)505は、正常状態の複製と同一の書き込み演算を行った後に演算結果を応答してもよい。反対に、DSL(5)505に書き込み演算を要求されるチャンクが存在しない場合、当該チャンクがコピー完了しない状態である。これによって、DSL(5)505は、当該チャンクに対する書き込み演算は成功したものと応答してもよい。なぜならば、当該チャンクがコピー完了すると、同一のチャンクの複製を格納するデータサーバ間に同期化が行われて、書き込み演算が行われたチャンクがコピー完了するためである。
もし、チャンクの複製をコピーして再生成する過程でDSL(5)505に障害が発生すると、再生成中であるチャンクの複製514は故障状態に変更されてもよい。これによって、コピー中であるチャンクの複製514の状態は移動状態(M)から故障状態(F)に転換される。そして、DSL(5)505は、DS(1)501またはDS(3)503のうちいずれか1つからチャンクの複製507または509を初めからコピーすることでチャンクの複製514を再生成してもよい。
ステージ3は、チャンクの複製508の再生成の過程が完了した後を意味する。これによって、DSL(5)505が格納しているチャンクの複製514の状態は正常状態(N)となる。
図6は、本発明の一実施形態に係るファイルを格納する過程を示すフローチャートである。
クライアントシステム101は、ファイル処理システム100にファイルを格納することをリクエストしてもよい(S601)。これによって、ファイル処理システム100は、複数の分散ファイルシステムのうちファイルを格納するための分散ファイルシステム102をターゲットに指定してもよい(S602)。その後、ファイル処理システム100は、クライアントシステム101が格納リクエストしたファイルを一定のサイズの複数のチャンクに分割してもよい(S603)。そして、ファイル処理システム100は、ターゲットに指定された分散ファイルシステム102にオーナー単位に応じて複数のチャンクの格納をリクエストしてもよい(S604)。これによって分散ファイルシステム102は、複数のデータサーバに格納リクエストされたチャンクの複製を分散格納してもよい(S605)。分散ファイルシステム102は、複数のチャンクの格納結果をファイル処理システム100に応答してもよい(S606)。
その後、ファイル処理システム100は、チャンクに対する演算をリクエストしてもよい(S607)。これによって、分散ファイルシステム102は、複数のデータサーバに分散格納されたチャンクに対する演算を行なってもよい(S608)。このとき、分散ファイルシステム102は、演算リクエストされたチャンクの複製に対して演算を行なってもよい。チャンクに対する演算が行われると、分散ファイルシステム102はチャンクの演算結果をファイル処理システム100に応答してもよい(S609)。
図7は、本発明の一実施形態に係るチャンクの複製を再生成する過程を示すフローチャートである。
具体的に、図7は、図5に示されたデータサーバ(2)502が格納しているチャンクの複製が故障した場合、データサーバ(1)501、データサーバ(3)503、およびデータサーバ(5)505を用いてチャンクの複製を再生成する過程を示す。
データサーバ(1)501、データサーバ(2)502、およびデータサーバ(3)503は、それぞれ同じ内容のチャンクの複製を格納してもよい(S701、S702、S703)。このとき、チャンクの複製状態はそれぞれ正常状態(N)である。
このとき、データサーバ(2)502に障害が発生してチャンクの複製本が損傷した場合(S704)、チャンクの複製の状態は正常状態(N)から故障状態(F)に変更される(S705)。これによって、分散ファイルシステム102は、チャンクの複製を再生成して格納するデータサーバ(5)505を選定してもよい(S706)。このとき、故障したチャンクの複製の状態は故障状態(F)から移動状態(M)に変更される。また、損傷した当該チャンクの複製は削除されてもよい(S707)。
その後、データサーバ(5)505は、削除されたチャンクの複製と同一の複製を格納しているデータサーバ(1)501およびデータサーバ(3)503にそれぞれチャンクの複製に対して書き込みロックをリクエストしてもよい(S708、S709)。書き込みロックされた後、データサーバ(5)505は、データサーバ(3)503から正常状態(N)のチャンクの複製をコピーしてもよい(S710)。このとき、データサーバ(5)505は、データサーバ(1)501からも同一にチャンクの複製をコピーしてもよい。
チャンクの複製のコピーが完了すると(S711)、データサーバ(5)505に再生成されたチャンクの複製の状態が移動状態(M)から正常状態(N)に変更される(S712)。そして、データサーバ(5)505は、データサーバ(1)501およびデータサーバ(3)503にそれぞれチャンクの複製に対して書き込みロック解除をリクエストしてもよい(S713、S714)。その後、データサーバ(5)505は再生成されたチャンクの複製を格納する(S715)。
図6ないし図7に説明していない事項は図1〜図5の説明を参考してもよい。
また、本発明の一実施形態に係るファイル格納方法および分散ファイル処理方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータ読取可能な記録媒体に記録されてもよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などのうちの1つまたはその組み合わせを含んでもよい。媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、光ディスクのような光磁気媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれてもよい。プログラム命令の例としては、コンパイラによって生成されるような機械語コード(machine code)だけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コード(higher level code)を含む。上述したハードウェア装置は、本発明の動作を行うために1つ以上のソフトウェアのレイヤで動作するように構成されてもよい。
上述したように、本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
したがって、本発明の範囲は、開示された実施形態に限定されるものではなく、特許請求の範囲だけではなく特許請求の範囲と均等なものなどによって定められるものである。
101 クライアントシステム
100 ファイル処理システム
102 分散ファイルシステム

Claims (19)

  1. 少なくとも1つの分散ファイルシステムのうちいずれか1つの分散ファイルシステムをターゲットに指定するシステムターゲット部と、
    前記ターゲットに指定された分散ファイルシステムに格納するためのファイルを分割してファイルブロックとして構成されたチャンクを生成するチャンク生成部と、
    前記ターゲットに指定された分散ファイルシステムに前記生成されたチャンクについて格納リクエストし、チャンクの格納結果を受信するチャンク演算リクエスト部と、
    を備えることを特徴とするファイル処理システム。
  2. 前記分散ファイルシステムは、前記チャンクの複製を分散格納する複数のデータサーバを含むことを特徴とする請求項1に記載のファイル処理システム。
  3. 前記分散ファイルシステムは、前記チャンクの複製をオーナー単位に応じてグループ化して前記複数のデータサーバそれぞれに分散格納することを特徴とする請求項2に記載のファイル処理システム。
  4. 前記システムターゲット部は、IPアドレスによってiSCSIターゲットとなる分散ファイルシステムをターゲットに指定することを特徴とする請求項1に記載のファイル処理システム。
  5. 前記分散ファイルシステムは、前記複数のデータサーバのうちいずれか1つに障害が発生して格納されたチャンクの複製が損傷した場合、前記チャンクの複製と同一の複製を格納している他のデータサーバを用いて前記チャンクの複製を再生成することを特徴とする請求項2に記載のファイル処理システム。
  6. 少なくとも1つのデータサーバを含む分散ファイルシステムにおいて、
    前記データサーバは、
    ファイル処理システムから受信したファイルが分割されたチャンクに対する格納リクエストに対応して前記チャンクの複製を格納するチャンク格納部と、
    前記ファイル処理システムから受信したチャンクに対する演算リクエストに対応して前記チャンクの複製の演算を行うチャンク演算実行部と、
    を備えることを特徴とする分散ファイルシステム。
  7. 前記データサーバは、第1データサーバに格納されたチャンクの複製が前記第1データサーバの障害によって損傷した場合、前記チャンクの複製と同一の複製を格納する第2データサーバから前記チャンクの複製をコピーするチャンクコピー部をさらに備えることを特徴とする請求項6に記載の分散ファイルシステム。
  8. 前記データサーバは、前記チャンクの複製のコピー進行の過程を考慮して前記第2データサーバが格納するチャンクの複製に書き込みロックを行う書き込みロック実行部をさらに備えることを特徴とする請求項7に記載の分散ファイルシステム。
  9. 前記書き込みロック実行部は、前記第2データサーバからチャンクの複製をコピーする前に書き込みロックを行って、前記チャンクの複製のコピーが完了すると前記チャンクの複製に対する書き込みロックを解除することを特徴とする請求項8に記載の分散ファイルシステム。
  10. 少なくとも1つの分散ファイルシステムのうちいずれか1つの分散ファイルシステムをターゲットに指定し、
    前記ターゲットに指定された分散ファイルシステムに格納するためのファイルを分割してファイルブロックとして構成されたチャンクを生成し、
    前記ターゲットに指定された分散ファイルシステムに前記生成されたチャンクについて格納リクエストしてチャンクの格納結果を受信すること、
    を含むことを特徴とするファイル格納方法。
  11. 前記分散ファイルシステムは、前記チャンクの複製を分散格納する複数のデータサーバを含むことを特徴とする請求項10に記載のファイル格納方法。
  12. 前記分散ファイルシステムは、前記チャンクの複製をオーナー単位に応じてグループ化して前記複数のデータサーバそれぞれに分散格納することを特徴とする請求項11に記載のファイル格納方法。
  13. 前記ターゲットに指定することは、IPアドレスによってiSCSIターゲットとなる分散ファイルシステムをターゲットに指定することを特徴とする請求項10に記載のファイル格納方法。
  14. 前記分散ファイルシステムは、前記複数のデータサーバのうちいずれか1つに障害が発生して格納されたチャンクの複製が損傷した場合、前記チャンクの複製と同一の複製を格納している他のデータサーバを用いて前記チャンクの複製を再生成することを特徴とする請求項11に記載のファイル格納方法。
  15. 少なくとも1つのデータサーバを含む分散ファイルシステムが行う分散ファイル処理方法において、
    前記データサーバは、
    ファイル処理システムから受信したファイルが分割されたチャンクに対する格納リクエストに対応して前記チャンクの複製を格納し、
    前記ファイル処理システムから受信したチャンクに対する演算リクエストに対応して前記チャンクの複製の演算を行うこと、
    を行うことを特徴とする分散ファイル処理方法。
  16. 前記データサーバは、第1データサーバに格納されたチャンクの複製が前記第1データサーバの障害によって損傷した場合、前記チャンクの複製と同一の複製を格納する第2データサーバから前記チャンクの複製をコピーすることをさらに含むことを特徴とする請求項15に記載の分散ファイル処理方法。
  17. 前記データサーバは、前記チャンクの複製のコピー進行の過程を考慮して前記第2データサーバが格納するチャンクの複製に書き込みロックを行うことをさらに含むことを特徴とする請求項16に記載の分散ファイル処理方法。
  18. 前記チャンクの複製に書き込みロックを行うことは、前記第2データサーバからチャンクの複製をコピーする前に書き込みロックを行って、前記チャンクの複製のコピーが完了すると前記チャンクの複製に対する書き込みロックを解除することを特徴とする請求項17に記載の分散ファイル処理方法。
  19. 請求項10乃至請求項18いずれか1項の方法を実行するためのプログラムが記録されたコンピュータで読み出し可能な記録媒体。
JP2011212336A 2010-09-29 2011-09-28 ファイルをチャンク単位で分散処理するシステムおよび方法 Active JP6525491B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020100094485A KR101374655B1 (ko) 2010-09-29 2010-09-29 파일 볼륨을 청크 단위로 분산 처리하는 시스템 및 방법
KR10-2010-0094485 2010-09-29

Publications (2)

Publication Number Publication Date
JP2012074039A true JP2012074039A (ja) 2012-04-12
JP6525491B2 JP6525491B2 (ja) 2019-06-05

Family

ID=45871658

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011212336A Active JP6525491B2 (ja) 2010-09-29 2011-09-28 ファイルをチャンク単位で分散処理するシステムおよび方法

Country Status (3)

Country Link
US (1) US9514008B2 (ja)
JP (1) JP6525491B2 (ja)
KR (1) KR101374655B1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101496011B1 (ko) * 2012-07-09 2015-02-26 부산대학교 산학협력단 하둡 기반 센서 스트림 데이터 처리 시스템 및 방법
US9547774B2 (en) 2012-07-18 2017-01-17 Nexenta Systems, Inc. System and method for distributed deduplication of encrypted chunks
US9037856B2 (en) * 2012-07-18 2015-05-19 Nexenta Systems, Inc. System and method for distributed deduplication of encrypted chunks
KR101438461B1 (ko) * 2012-10-15 2014-11-03 (주) 글루시스 전력 제어 스위칭 모듈을 구비한 클라우드 스토리지 시스템
KR20140124674A (ko) * 2013-04-17 2014-10-27 한국전자통신연구원 파일 수준의 데이터 분산 저장 방법
KR102172317B1 (ko) * 2013-12-24 2020-10-30 주식회사 케이티 테이프 스토리지 시스템 및 이의 제어 방법
US11429442B2 (en) * 2015-06-29 2022-08-30 Vmware, Inc. Parallel and distributed computing using multiple virtual machines
US10983732B2 (en) * 2015-07-13 2021-04-20 Pure Storage, Inc. Method and system for accessing a file
US10140313B2 (en) 2015-09-27 2018-11-27 International Business Machines Corporation Parallel processing of large data files on distributed file systems with dynamic workload balancing
KR20170048721A (ko) * 2015-10-27 2017-05-10 삼성에스디에스 주식회사 분산 처리를 위한 대용량 파일의 블록화 방법 및 그 장치
US10585627B2 (en) * 2016-03-24 2020-03-10 Microsoft Technology Licensing, Llc Distributed metadata management in a distributed storage system
KR102431681B1 (ko) * 2018-12-12 2022-08-11 네이버 주식회사 라이브 서비스를 위한 분산 파일 시스템 및 파일 관리 방법
CN113032352A (zh) * 2019-12-24 2021-06-25 阿里巴巴集团控股有限公司 副本的配置方法、装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003058408A (ja) * 2001-08-13 2003-02-28 Hitachi Ltd 情報処理システム
JP2008204206A (ja) * 2007-02-20 2008-09-04 Nec Corp データ分散格納システム及びデータ分散方法、それに用いる装置並びにそのプログラム
WO2009084314A1 (ja) * 2007-12-28 2009-07-09 Nec Corporation データ分散格納方法およびデータ分散格納システム
JP2010044789A (ja) * 2002-11-14 2010-02-25 Isilon Systems Inc 分散ファイルシステムにおけるファイルの再ストライピングのためのシステム及び方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4409874B2 (ja) 2002-07-02 2010-02-03 株式会社ソニー・ディスクアンドデジタルソリューションズ データ送信装置および方法、データ受信装置および方法、ならびに、データ分散システムおよび方法
US7343467B2 (en) * 2004-12-20 2008-03-11 Emc Corporation Method to perform parallel data migration in a clustered storage environment
US8341371B2 (en) 2005-01-31 2012-12-25 Sandisk Il Ltd Method of managing copy operations in flash memories
US20060218435A1 (en) * 2005-03-24 2006-09-28 Microsoft Corporation Method and system for a consumer oriented backup
US8214517B2 (en) 2006-12-01 2012-07-03 Nec Laboratories America, Inc. Methods and systems for quick and efficient data management and/or processing
US8140637B2 (en) * 2007-10-25 2012-03-20 Hewlett-Packard Development Company, L.P. Communicating chunks between devices
KR100956637B1 (ko) 2007-12-07 2010-05-11 한국전자통신연구원 분산파일 시스템에서의 비동기식 데이터 복제 방법 및 그에따른 분산파일 시스템
US7890504B2 (en) * 2007-12-19 2011-02-15 Netapp, Inc. Using the LUN type for storage allocation
US8825789B2 (en) * 2008-12-16 2014-09-02 Netapp, Inc. Method and apparatus to implement a hierarchical cache system with pNFS
KR20100073154A (ko) 2008-12-22 2010-07-01 한국전자통신연구원 메타데이터 서버, 데이터 서버의 데이터 처리 방법 및 이를이용한 비대칭 클러스터 분산 파일 시스템
US8627015B2 (en) * 2009-07-31 2014-01-07 Emc Corporation Data processing system using cache-aware multipath distribution of storage commands among caching storage controllers
US20110153570A1 (en) * 2009-12-18 2011-06-23 Electronics And Telecommunications Research Institute Data replication and recovery method in asymmetric clustered distributed file system
KR101335934B1 (ko) 2009-12-18 2013-12-03 한국전자통신연구원 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 및 복구 방법
US8156368B2 (en) * 2010-02-22 2012-04-10 International Business Machines Corporation Rebuilding lost data in a distributed redundancy data storage system
US20110276549A1 (en) * 2010-05-04 2011-11-10 Microsoft Corporation Optimistic locking in a distributed file system replication environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003058408A (ja) * 2001-08-13 2003-02-28 Hitachi Ltd 情報処理システム
JP2010044789A (ja) * 2002-11-14 2010-02-25 Isilon Systems Inc 分散ファイルシステムにおけるファイルの再ストライピングのためのシステム及び方法
JP2008204206A (ja) * 2007-02-20 2008-09-04 Nec Corp データ分散格納システム及びデータ分散方法、それに用いる装置並びにそのプログラム
WO2009084314A1 (ja) * 2007-12-28 2009-07-09 Nec Corporation データ分散格納方法およびデータ分散格納システム

Also Published As

Publication number Publication date
KR20120032920A (ko) 2012-04-06
US20120078844A1 (en) 2012-03-29
US9514008B2 (en) 2016-12-06
KR101374655B1 (ko) 2014-03-24
JP6525491B2 (ja) 2019-06-05

Similar Documents

Publication Publication Date Title
JP6525491B2 (ja) ファイルをチャンク単位で分散処理するシステムおよび方法
CN108376109B (zh) 将来源阵列的卷复制到目标阵列的设备和方法、存储介质
US20200293551A1 (en) Data Replication Method and Storage System
US10114581B1 (en) Creating a virtual access point in time on an object based journal replication
CN109074297B (zh) 在同步复制的数据集中启用数据完整性检查和更快的应用恢复
US20170308437A1 (en) Parity protection for data chunks in an object storage system
CN106407040A (zh) 一种远程数据复制方法及系统
JP5646639B2 (ja) メタデータ仮想ハードドライブおよび差分仮想ハードドライブを使用するバックアップ
EP1814033B1 (en) Storage system and data restoration method thereof
CN103354923B (zh) 一种数据重建方法、装置和系统
WO2017119091A1 (ja) 分散型ストレージシステム、データ格納方法、およびソフトウェアプログラム
US10223007B1 (en) Predicting IO
CN107924354A (zh) 动态镜像
KR101709118B1 (ko) 하이브리드 스토리지 시스템의 파일 관리 방법 및 장치
US11157177B2 (en) Hiccup-less failback and journal recovery in an active-active storage system
WO2018098972A1 (zh) 一种日志恢复方法、存储装置和存储节点
CN109313538A (zh) 内联去重
CN110383251B (zh) 存储系统、计算机可读记录介质、系统的控制方法
CN103548011A (zh) 分布式存储环境中的异步复制
CN113220729B (zh) 数据存储方法、装置、电子设备及计算机可读存储介质
CN106528338A (zh) 一种远程数据复制方法、存储设备及存储系统
CN107046811A (zh) 一种源存储设备发送源文件和源文件的克隆文件至备份存储设备的方法、源存储设备以及备份存储设备
CN106873902B (zh) 一种文件存储系统、数据调度方法及数据节点
JP2006331076A (ja) データ記憶システム及び記憶方法
JP2017531892A (ja) ブロックレベル記憶デバイスのスナップショットを実行するための改善された装置および方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140922

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20141010

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160531

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170628

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171101

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20171107

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20180126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190507

R150 Certificate of patent or registration of utility model

Ref document number: 6525491

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250