JP5824167B2 - Cluster system data processing method and apparatus - Google Patents

Cluster system data processing method and apparatus Download PDF

Info

Publication number
JP5824167B2
JP5824167B2 JP2014551502A JP2014551502A JP5824167B2 JP 5824167 B2 JP5824167 B2 JP 5824167B2 JP 2014551502 A JP2014551502 A JP 2014551502A JP 2014551502 A JP2014551502 A JP 2014551502A JP 5824167 B2 JP5824167 B2 JP 5824167B2
Authority
JP
Japan
Prior art keywords
physical node
sketch value
data block
node
fingerprint
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
JP2014551502A
Other languages
Japanese (ja)
Other versions
JP2015503174A (en
Inventor
▲強▼ ▲劉▼
▲強▼ ▲劉▼
全成 ▲孫▼
全成 ▲孫▼
▲暁▼波 ▲劉▼
▲暁▼波 ▲劉▼
俊 ▲遊▼
俊 ▲遊▼
▲華▼▲鏑▼ ▲楊▼
▲華▼▲鏑▼ ▲楊▼
丹 周
丹 周
岩 黄
岩 黄
Original Assignee
華為技術有限公司Huawei Technologies Co.,Ltd.
華為技術有限公司Huawei Technologies Co.,Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 華為技術有限公司Huawei Technologies Co.,Ltd., 華為技術有限公司Huawei Technologies Co.,Ltd. filed Critical 華為技術有限公司Huawei Technologies Co.,Ltd.
Priority to PCT/CN2012/086413 priority Critical patent/WO2014089767A1/en
Publication of JP2015503174A publication Critical patent/JP2015503174A/en
Application granted granted Critical
Publication of JP5824167B2 publication Critical patent/JP5824167B2/en
Application status is Active legal-status Critical
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0602Dedicated interfaces to storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0628Dedicated interfaces to storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0668Dedicated interfaces to storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Description

本発明の実施例は、ストレージ技術に関し、特にクラスタシステムにおけるデータ処理方法及び装置に関する。 Examples of the present invention relates to a storage technique, a data processing method and apparatus, especially in a cluster system.

データ重複排除(略して重複排除)はまた、インテリジェント圧縮又はシングルインスタンスストレージと呼ばれ、冗長データを排除し、ストレージ容量を低減するための要求を充たすため、重複データを自動的にサーチし、同一のデータについて一意的な複製のみを確保し、単一の複製を指示するポインタを用いて他の重複した複製を置換することが可能なストレージ技術である。 Deduplication (short deduplication) is also referred to as intelligent compression or single-instance storage, eliminates redundant data, since to meet the requirements for reducing the storage capacity, automatically searches the duplicate data, the same ensuring a unique replication only the data, which is another duplicate storage technology capable of replacing the replicated using pointer to a single copy.

クラスタデータ重複排除(略してクラスタ重複排除)は、重複排除パフォーマンス及びキャパシティを向上するため、複数の重複排除物理ノードを整理する技術を表す。 Cluster deduplication (abbreviated cluster deduplication) in order to improve deduplication performance and capacity, representing a technique for organizing a plurality of deduplication physical node. 従来技術によるクラスタ重複排除技術では、一般に、データストリームを受信する物理ノードは、データストリームを複数のデータブロックに分割し、取得したデータブロックをグループ化し、各グループについて、当該グループのデータブロックのメタデータ情報からメタデータ情報の一部をサンプリングし、クエリのためクラスタシステムの全ての物理ノードにメタデータ情報の一部を送信する。 In the prior art by the cluster deduplication, generally, physical node that receives the data stream, divides the data stream into multiple data blocks, grouping the acquired data blocks for each group of data blocks of the group meta after sampling a part of the data information of the metadata information, and transmits a portion of the metadata information on all physical nodes of the cluster system for the query. クラスタシステムの各物理ノードは、既知のデータブロックと対応するメタデータ情報とを格納し、サンプリングされたメタデータ情報と各物理ノードに格納されているメタデータ情報とを比較し、クリエ結果から最も多くの重複データブロックを有するターゲット物理ノードを取得し、重複データクエリのためサンプリングされたメタデータ情報に対応するデータグループの全てのデータブロック情報をターゲット物理ノードに送信する。 Each physical node of the cluster system stores the metadata information corresponding to the known data block, compares the metadata information that is stored in the sampling metadata information and each physical node, from the most clie results Gets the target physical nodes having many duplicate data blocks, and transmits all the data block information of the data group corresponding to the sampled metadata information for duplicate data query to the target physical node.

研究を通じて、発明者は、従来技術のクラスタ重複排除技術では、サンプリングされたメタデータ情報は、クエリのため全ての物理ノードに送信される必要があり、これは、重複排除プロセスにおける物理ノード間の多数のインタラクション回数を導き、クラスタシステムに多数の物理ノードが存在する場合、各物理ノードが重複排除を実行すると、クラスタシステムの物理ノードの個数の増加に従って計算量が増大し、システムの重複排除パフォーマンスの低下を導く。 Through research, the inventors in the prior art cluster deduplication, sampled metadata information needs to be sent to all physical nodes for query, which is between the physical nodes in deduplication process It leads to numerous interactions number, number of cases where physical node exists, the respective physical node performs deduplication, the amount of calculation increases with an increase in the number of physical nodes of the cluster system, deduplication performance of the system in a cluster system It leads to a reduction of.

本発明の実施例は、クラスタシステムの重複排除パフォーマンスを効果的に改善するため、クラスタシステムにおけるデータ処理方法及び装置を提供する。 Embodiments of the present invention, in order to effectively improve the deduplication performance cluster system, to provide a data processing method and apparatus in a cluster system.

本発明の課題を解決するため、本発明の第1の態様は、クラスタシステムにおけるデータ処理方法であって、 To solve the problem of the present invention, a first aspect of the present invention is a data processing method in a cluster system,
現在の物理ノードにより受信されたデータストリームをm個のデータブロックに分割し、各データブロックのフィンガープリントを取得し、第1アルゴリズムに従って前記データストリームを表すn個の第1スケッチ値を取得するステップであって、mは1以上の整数であり、nは1以上であって、m以下の整数である、取得するステップと、 Dividing the data stream received by the current physical node into m data blocks to obtain the fingerprint of each data block, to obtain a first sketch value of n representing the data stream in accordance with a first algorithm steps a is, m is an integer of 1 or more, n represents a 1 or more, which is an integer m, and obtaining,
第2アルゴリズムに従って前記n個の第1スケッチ値の各第1スケッチ値に対応し、前記クラスタシステム内にある第1物理ノードを特定し、各第1スケッチ値をクエリのため前記対応する第1物理ノードに送信するステップと、 It corresponds to the first sketch value each of the first sketch value of the n in accordance with the second algorithm, first to identify the first physical node within the cluster system, the corresponding for the each first sketch value query sending to the physical node,
前記n個の第1スケッチ値に対応する第1物理ノードから少なくとも1つのレスポンスメッセージを受信し、前記レスポンスメッセージから第1ストレージアドレスを取得するステップと、 A step of receiving said at least one response message from the n first physical node corresponding to the first sketch value to obtain a first storage address from said response message,
受信した全てのストレージアドレスから第1ストレージアドレスを取得し、前記第1ストレージアドレスにより指示されるストレージ領域に格納されるデータブロックのフィンガープリントと、前記データストリームの分割を介し取得された各データブロックのフィンガープリントとを比較し、重複データブロックをクエリするステップとであって、取得された非重複データブロックが新たなデータブロックとして利用される、クエリするステップと、 Get the first storage address from all the storage address received, the a fingerprint of the data blocks stored in the storage area indicated by the first storage address, the data block the acquired through the division of the data stream comparing the fingerprint, duplicate a data block in a step of query, a duplicate data block obtained is used as a new data block, the steps of the query,
前記新たなデータブロックを表す少なくとも1つの第2スケッチ値を取得し、前記第2アルゴリズムに従って各第2スケッチ値に対応する第2物理ノードを前記第2スケッチ値により特定し、各第2スケッチ値と各第2スケッチ値により表されるデータブロックのストレージアドレスとの間の対応関係を前記対応する第2物理ノードに格納するステップと、 Obtain at least one second sketch value representing said new data block, specified by a second physical node the second sketch value corresponding to each second sketch value in accordance with said second algorithm, the second sketch value and storing the said corresponding second physical node the correspondence relation between the storage address of the data block represented by each second sketch value,
を有する方法を提供する。 It provides a method with.

第1の態様に関連して、第1の態様の第1の可能な方法では、全ての受信したストレージアドレスから第1ストレージアドレスを取得するステップは、レスポンスメッセージから第1スケッチ値に対応するストレージアドレスを取得し、レスポンスメッセージに搬送される各ストレージアドレスのヒット数に関する統計量を収集し、第1ストレージアドレスとして最大ヒット数を有するs個のストレージアドレスを選択するステップを有し、sは1以上である。 In relation to the first aspect, storage in a first possible method of the first aspect, the step of obtaining a first storage address from all received storage address is corresponding to the first sketch value from the response message get the address, the statistics collected regarding the number of hits each storage address is conveyed in the response message, comprising the step of selecting the s number of storage addresses having a maximum number of hits as a first storage address, s is 1 or more.

第1の態様の第1の可能な方法に関連して、第2の可能な方法では、本方法は更に、所定のストレージ条件が充足すると、所定のストレージポリシーに従って前記新たなデータブロックと前記新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを選択し、前記新たなデータブロックと前記新たなデータブロックのフィンガープリントとを前記選択されたストレージアドレスにより指示されるストレージ領域に書き込むステップを更に有する。 In relation to the first possible method of the first aspect, the second possible method, the method further when a predetermined storage condition is satisfied, new the said new data block according to a predetermined storage policy select the storage address and the finger print of a data block is written, further comprising the step of writing to a storage area indicated by the selected storage address and a fingerprint of the new data block and the new data block .

第1の態様の第2の可能な方法に関連して、第3の可能な方法では、所定のストレージ条件が充足することは、前記新たなデータブロックが前記現在の物理ノードのキャッシュに格納されることを含み、前記現在の物理ノードのキャッシュのデータが第2所定閾値に達すると、前記所定のストレージ条件が充足される。 In relation to the second possible method of the first aspect, in a third possible method, the predetermined storage condition is satisfied, the new data block is stored in the cache of the current physical node comprises Rukoto, said the cache data of the current physical node reaches a second predetermined threshold value, wherein the predetermined storage conditions are satisfied.

本発明の実施例の第2の態様は、クラスタシステムにおけるデータ処理装置であって、 A second aspect of embodiments of the present invention is a data processing device in a cluster system,
現在の物理ノードにより受信されたデータストリームをm個のデータブロックに分割し、各データブロックのフィンガープリントを取得する分割部であって、mは1以上の整数である、分割部と、 Dividing the received data stream with the current physical node into m data blocks, a dividing unit that acquires the fingerprint of each data block, m is an integer of 1 or more, a division unit,
第1アルゴリズムに従って前記データストリームを表すn個の第1スケッチ値を取得するスケッチ値取得部であって、nは1以上であって、m以下の整数である、スケッチ値取得部と、 A sketch value acquiring unit that acquires first sketch value of n representing the data stream in accordance with a first algorithm, n is 1 or more, which is an integer m, and sketch value obtaining unit,
第2アルゴリズムに従って前記n個の第1スケッチ値の各第1スケッチ値に対応し、前記クラスタシステム内にある第1物理ノードを特定する特定部と、 A specifying unit that the response to the n first sketch values ​​each of the first sketch value, identifying a first physical node within the cluster system in accordance with a second algorithm,
各第1スケッチ値をクエリのため前記対応する第1物理ノードに送信する送信部と、 A transmission unit for transmitting to the first physical node the corresponding for the each first sketch value query,
前記n個の第1スケッチ値に対応する第1物理ノードから少なくとも1つのレスポンスメッセージを受信し、前記レスポンスメッセージから第1ストレージアドレスを取得する受信部と、 A reception unit for receiving said at least one response message from the n first physical node corresponding to the first sketch value to obtain a first storage address from said response message,
前記第1ストレージアドレスにより指示されるストレージ領域に格納されるデータブロックのフィンガープリントと、前記データストリームの分割を介し取得された各データブロックのフィンガープリントとを比較し、重複データブロックをクエリするクエリ部であって、前記クエリ部により取得された非重複データブロックが新たなデータブロックとして利用される、クエリ部と、 Query the and fingerprint data blocks stored in the storage area indicated by the first storage address, by comparing the fingerprint of each data block obtained through the division of the data stream, to query the duplicate data block a part, non-overlapping data blocks obtained by the query unit is used as a new data block, and the query section,
前記新たなデータブロックを表す少なくとも1つの第2スケッチ値を取得し、前記第2アルゴリズムに従って各第2スケッチ値に対応する第2物理ノードを前記第2スケッチ値により特定し、各第2スケッチ値と各第2スケッチ値により表されるデータブロックのストレージアドレスとの間の対応関係を前記対応する第2物理ノードに格納する更新部と、 Obtain at least one second sketch value representing said new data block, specified by a second physical node the second sketch value corresponding to each second sketch value in accordance with said second algorithm, the second sketch value and the corresponding relationship stored in the second physical node the corresponding update unit between the storage address of the data block represented by each second sketch value,
を有する装置を提供する。 Providing an apparatus having a.

第2の態様に関連して、第1の可能な実現方法では、前記受信部は、 In relation to the second aspect, in a first possible implementation, the receiving unit,
前記レスポンスメッセージに搬送される各ストレージアドレスのヒット数に関する統計量を収集するよう構成される統計量収集サブ部と、 When configured statistic collecting sub unit to collect statistics about the number of hits for each storage address is conveyed to the response message,
前記統計量収集サブ部の統計結果に従って、前記第1ストレージアドレスとして最大ヒット数を有するs個のストレージアドレスを選択するよう構成されるアドレス取得サブ部であって、sは1以上である、アドレス取得サブ部と、 According to a statistical result of the statistic collecting sub unit, a composed address acquisition sub unit to select the s number of storage addresses having a maximum number of hits as the first storage address, s is 1 or more, the address and obtaining sub-unit,
を有する。 Having.

第2の態様及び第2の態様の第1の可能な方法に関連して、第2の可能な実現方法では、本装置は更に、 In relation to the first possible method of the second aspect and the second aspect, in the second possible implementation, the apparatus further includes
所定のストレージポリシーに従って、前記新たなデータブロックと前記新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを選択するよう構成されるライトアドレス取得部と、 According to a predetermined storage policy, a write address acquisition unit configured to select the storage address and fingerprint of the new data block and the new data block is written,
所定のストレージ条件が充足すると、前記新たなデータブロックと前記新たなデータブロックのフィンガープリントとを、前記選択されたストレージアドレスに対応するストレージ領域に書き込むよう構成される書き込み部と、 When a predetermined storage conditions are satisfied, the fingerprint of the new data block and the new data block, and configured writing unit to write the storage area corresponding to the selected storage address,
を更に有する。 Further comprising: a.

第2の態様の第2の可能な方法に関連して、第3の可能な実現方法では、前記書き込む部は、前記新たなデータブロックを前記現在の物理ノードのキャッシュに格納するよう構成され、前記現在の物理ノードのキャッシュのデータが第2所定閾値に達し、前記所定のストレージ条件が充足されると、前記新たなデータブロックと前記新たなデータブロックのフィンガープリントとを前記選択されたストレージアドレスに対応するストレージ領域に書き込むよう構成される。 In relation to the second possible method of the second aspect, in a third possible implementation, the write section is configured to store the new data block in the cache of the current physical node, the data of the current physical node cache reaches a second predetermined threshold value, when the predetermined storage conditions are satisfied, the storage address and a fingerprint is the selection of the new data block and the new data block configured to be written into the storage area corresponding to.

本発明の実施例の第3の態様は更に、クラスタシステムにおけるデータ処理装置であって、プロセッサと、メモリと、バスとを有し、 A third aspect of embodiments of the present invention further provides a data processing apparatus in a cluster system, comprising a processor, a memory, a bus,
前記プロセッサと前記メモリとは、前記バスを介し互いに通信し、 With the processor and the memory communicate with each other via the bus,
前記メモリは、プログラムを格納するよう構成され、 The memory is configured to store a program,
前記プロセッサは、前記メモリのプログラムを実行し、 Wherein the processor performs the memory program,
当該プログラムは、 The program,
現在の物理ノードにより受信されたデータストリームをm個のデータブロックに分割し、各データブロックのフィンガープリントを取得する分割部であって、mは1以上の整数である、分割部と、 Dividing the received data stream with the current physical node into m data blocks, a dividing unit that acquires the fingerprint of each data block, m is an integer of 1 or more, a division unit,
第2アルゴリズムに従って前記n個の第1スケッチ値の各第1スケッチ値に対応し、前記クラスタシステム内にある第1物理ノードを特定する特定部と、 A specifying unit that the response to the n first sketch values ​​each of the first sketch value, identifying a first physical node within the cluster system in accordance with a second algorithm,
各第1スケッチ値をクエリのため前記対応する第1物理ノードに送信する送信部と、 A transmission unit for transmitting to the first physical node the corresponding for the each first sketch value query,
第1物理ノードから少なくとも1つのレスポンスメッセージを受信し、前記レスポンスメッセージから第1ストレージアドレスを取得する受信部と、 A receiver for receiving at least one response message from the first physical node, and acquires the first storage address from said response message,
前記第1ストレージアドレスにより指示されるストレージ領域に格納されるデータブロックのフィンガープリントと、前記データストリームの分割を介し取得された各データブロックのフィンガープリントとを比較し、重複データブロックをクエリするクエリ部であって、前記取得された非重複データブロックが新たなデータブロックとして利用される、クエリ部と、 Query the and fingerprint data blocks stored in the storage area indicated by the first storage address, by comparing the fingerprint of each data block obtained through the division of the data stream, to query the duplicate data block a part, the acquired non-overlapping data blocks was is used as new data blocks, and the query section,
前記新たなデータブロックを表す少なくとも1つの第2スケッチ値を取得し、前記第2アルゴリズムに従って各第2スケッチ値に対応する第2物理ノードを前記第2スケッチ値により特定し、各第2スケッチ値と各第2スケッチ値により表されるデータブロックのストレージアドレスとの間の対応関係を前記対応する第2物理ノードに格納する更新部と、 Obtain at least one second sketch value representing said new data block, specified by a second physical node the second sketch value corresponding to each second sketch value in accordance with said second algorithm, the second sketch value and the corresponding relationship stored in the second physical node the corresponding update unit between the storage address of the data block represented by each second sketch value,
を有するデータ処理装置を提供する。 To provide a data processing apparatus having a.

第3の態様に関連して、第1の可能な実現方法では、 In relation to the third aspect, in a first possible implementation,
前記受信部は、 The receiver,
前記レスポンスメッセージから前記第1スケッチ値に対応するストレージアドレスを取得し、前記レスポンスメッセージに搬送される各ストレージアドレスのヒット数に関する統計量を収集するよう構成される統計量収集サブ部と、 Said acquired storage address corresponding to the first sketch value from the response message, the statistic collecting sub unit configured to collect statistics about the number of hits for each storage address is conveyed in the response message,
前記統計量収集サブ部の統計結果に従って、前記第1ストレージアドレスとして最大ヒット数を有するs個のストレージアドレスを選択するよう構成されるアドレス取得サブ部であって、sは1以上である、アドレス取得サブ部と、 According to a statistical result of the statistic collecting sub unit, a composed address acquisition sub unit to select the s number of storage addresses having a maximum number of hits as the first storage address, s is 1 or more, the address and obtaining sub-unit,
を有する。 Having.

第2の態様及び第2の態様の第1の可能な方法に関連して、第2の可能な実現方法では、本装置は更に、 In relation to the first possible method of the second aspect and the second aspect, in the second possible implementation, the apparatus further includes
所定のストレージポリシーに従って、前記新たなデータブロックと前記新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを選択するよう構成されるライトアドレス取得部と、 According to a predetermined storage policy, a write address acquisition unit configured to select the storage address and fingerprint of the new data block and the new data block is written,
所定のストレージ条件が充足すると、前記新たなデータブロックと前記新たなデータブロックのフィンガープリントとを、前記選択されたストレージアドレスに対応するストレージ領域に書き込むよう構成される書き込み部と、 When a predetermined storage conditions are satisfied, the fingerprint of the new data block and the new data block, and configured writing unit to write the storage area corresponding to the selected storage address,
を更に有する。 Further comprising: a.

第2の態様の第2の可能な方法に関連して、第3の可能な実現方法では、前記書き込む部は、前記新たなデータブロックを前記現在の物理ノードのキャッシュに格納するよう構成され、前記現在の物理ノードのキャッシュのデータが第2所定閾値に達し、前記所定のストレージ条件が充足されると、前記新たなデータブロックと前記新たなデータブロックのフィンガープリントとを前記選択されたストレージアドレスに対応するストレージ領域に書き込むよう構成される。 In relation to the second possible method of the second aspect, in a third possible implementation, the write section is configured to store the new data block in the cache of the current physical node, the data of the current physical node cache reaches a second predetermined threshold value, when the predetermined storage conditions are satisfied, the storage address and a fingerprint is the selection of the new data block and the new data block configured to be written into the storage area corresponding to.

本発明の実施例の第4の態様は、データ処理のためのコンピュータプログラムであって、当該コンピュータプログラムは、プログラムコードを格納するコンピュータ可読記憶媒体を有し、プログラムコードに含まれる命令は、 A fourth aspect of embodiments of the present invention is a computer program for the data processing, the computer program includes a computer readable storage medium storing program codes, instructions included in the program code,
現在の物理ノードにより受信されたデータストリームをm個のデータブロックに分割し、各データブロックのフィンガープリントを取得し、第1アルゴリズムに従って前記データストリームを表すn個の第1スケッチ値を取得するステップであって、mは1以上の整数であり、nは1以上であって、m以下の整数である、取得するステップと、 Dividing the data stream received by the current physical node into m data blocks to obtain the fingerprint of each data block, to obtain a first sketch value of n representing the data stream in accordance with a first algorithm steps a is, m is an integer of 1 or more, n represents a 1 or more, which is an integer m, and obtaining,
第2アルゴリズムに従って前記n個の第1スケッチ値の各第1スケッチ値に対応し、前記クラスタシステム内にある第1物理ノードを特定し、各第1スケッチ値をクエリのため前記対応する第1物理ノードに送信するステップと、 It corresponds to the first sketch value each of the first sketch value of the n in accordance with the second algorithm, first to identify the first physical node within the cluster system, the corresponding for the each first sketch value query sending to the physical node,
前記n個の第1スケッチ値に対応する第1物理ノードから少なくとも1つのレスポンスメッセージを受信し、前記レスポンスメッセージから第1ストレージアドレスを取得するステップと、 A step of receiving said at least one response message from the n first physical node corresponding to the first sketch value to obtain a first storage address from said response message,
受信した全てのストレージアドレスから第1ストレージアドレスを取得し、前記第1ストレージアドレスにより指示されるストレージ領域に格納されるデータブロックのフィンガープリントと、前記データストリームの分割を介し取得された各データブロックのフィンガープリントとを比較し、重複データブロックをクエリするステップとであって、取得された非重複データブロックが新たなデータブロックとして利用される、クエリするステップと、 Get the first storage address from all the storage address received, the a fingerprint of the data blocks stored in the storage area indicated by the first storage address, the data block the acquired through the division of the data stream comparing the fingerprint, duplicate a data block in a step of query, a duplicate data block obtained is used as a new data block, the steps of the query,
前記新たなデータブロックを表す少なくとも1つの第2スケッチ値を取得し、前記第2アルゴリズムに従って各第2スケッチ値に対応する第2物理ノードを前記第2スケッチ値により特定し、各第2スケッチ値と各第2スケッチ値により表されるデータブロックのストレージアドレスとの間の対応関係を前記対応する第2物理ノードに格納するステップと、 Obtain at least one second sketch value representing said new data block, specified by a second physical node the second sketch value corresponding to each second sketch value in accordance with said second algorithm, the second sketch value and storing the said corresponding second physical node the correspondence relation between the storage address of the data block represented by each second sketch value,
を実行するのに利用される。 It is used to run.

本発明の実施例では、重複データクエリが受信されたデータストリームに対して実行されると、各第1スケッチ値に対応し、クラスタシステム内にある第1物理ノードが、データストリームを表す第1スケッチ値に従って特定され、その後、データストリームを表す第1スケッチ値が、重複データクエリのため特定された物理ノードに送信され、重複データクエリを実行するための特定された物理ノードの個数は、クラスタシステムのノード数の増加により増加せず、各ノードの計算量は、クラスタシステムのノード数の増加により増加せず、クラスタシステムの重複解除パフォーマンスが効果的に向上する。 In an embodiment of the present invention, the duplicate data query is executed on the received data stream, corresponding to each first sketch value, the first physical node in the cluster system, the representative of the data stream 1 identified according to the sketch value, then first sketch value representing the data stream is transmitted to the physical node identified for duplication data queries, the number of a particular physical node to perform duplicate data query, cluster not increased by increasing the number of nodes in the system, the calculation amount of each node, not increased by increasing the number of nodes of the cluster system, Deduplication performance cluster system is effectively improved.

本発明の実施例又は従来技術における技術手段をより明確に説明するため、以下において、実施例又は従来技術を説明するのに要求される添付した図面が概略的に紹介される。 To explain the technical means of embodiments or the prior art of the present invention more clearly, in the following, accompanying drawings required for describing the embodiments or the prior art are introduced schematically. 明らかに、以下の説明における添付した図面は、本発明のいくつかの実施例を単に示し、当業者は、創作的な努力なく添付した図面から他の図面を依然と導出してもよい。 Obviously, the accompanying drawings in the following description, illustrate several embodiments of the present invention simply, those skilled in the art, may be created specific from efforts without accompanying drawings other drawings To still derived.
図1は、本発明によるクラスタシステムにおけるデータ処理方法の実施例のフローチャートである。 Figure 1 is a flow chart of an embodiment of a data processing method in a cluster system according to the present invention. 図2は、本発明の実施例によるデータストリームの受信後の物理ノードにより実行されるブロック分割及びサンプリングの概略図である。 Figure 2 is a schematic diagram of a block division and sampling performed by the physical node after receiving the data stream according to an embodiment of the present invention. 図3は、本発明の実施例による物理ノードの内部構造の概略図である。 Figure 3 is a schematic view of the internal structure of the physical node according to an embodiment of the present invention. 図4は、本発明によるクラスタシステムにおける他のデータ処理方法の実施例のフローチャートである。 Figure 4 is a flow chart of an embodiment of another data processing method in a cluster system according to the present invention. 図5は、本発明によるクラスタシステムにおける他のデータ処理方法の実施例のフローチャートである。 Figure 5 is a flow chart of an embodiment of another data processing method in a cluster system according to the present invention. 図6は、本発明の実施例による他の物理ノードの内部構造の概略図である。 Figure 6 is a schematic diagram of the internal structure of another physical node according to an embodiment of the present invention. 図7は、本発明によるクラスタシステムにおける他のデータ処理方法の実施例のフローチャートである。 Figure 7 is a flow chart of an embodiment of another data processing method in a cluster system according to the present invention. 図8は、本発明の実施例によるデータマイグレーションの概略図である。 Figure 8 is a schematic diagram of a data migration according to an embodiment of the present invention. 図9は、本発明の実施例によるクラスタシステムにおけるデータ処理装置の構成図である。 Figure 9 is a block diagram of a data processing device in a cluster system according to an embodiment of the present invention. 図10は、本発明の実施例によるクラスタシステムにおける他のデータ処理装置の構成図である。 Figure 10 is a block diagram of another data processor in the cluster system according to an embodiment of the present invention.

以下において、本発明の実施例における添付した図面を参照して、本発明の実施例における技術的手段が明確かつ完全に説明される。 In the following, with reference to the accompanying drawings in the embodiment of the present invention, technical means in the embodiment of the present invention are clearly and completely described. 明らかに、説明される実施例は本発明の実施例の全てでなく単なる一部である。 Obviously, the embodiments described are merely part rather than all of the embodiments of the present invention. 創作的な努力なく本発明の実施例に基づき当業者により取得される他の全ての実施例は、本発明の保護範囲に属する。 All other embodiments obtained by the skilled person based on the embodiment of the present invention without creative efforts belong to the protection scope of the present invention.

本発明の実施例は、クラスタシステムが複数の物理ノードを含むストレージのためのクラスタシステムにおいて適用可能である。 Embodiments of the present invention, the cluster system are applicable in a cluster system for storage including a plurality of physical nodes. 重複排除エンジンを有する物理ノードは、本発明の実施例の実行主体として利用されてもよく、重複排除タスクの取得後に本発明の実施例の方法を実行する。 Physical node having deduplication engine may be utilized as an execution subject of the embodiment of the present invention, for performing the method of embodiments of the present invention after the acquisition of deduplication tasks.

図1は、本発明によるクラスタシステムにおけるデータ処理方法の実施例のフローチャートであり、図1に示されるように、本実施例の方法は以下を含むものであってもよい。 Figure 1 is a flowchart of an embodiment of a data processing method in a cluster system according to the present invention, as shown in FIG. 1, the method of this embodiment may include the following.

ステップ10:現在の物理ノードにより受信されたデータストリームをm個のデータブロックに分割し、各データブロックのフィンガープリントを取得する。 Step 10: dividing the received data stream with the current physical node into m data blocks to obtain a fingerprint of each data block. ただし、mは1以上の整数である。 However, m is an integer of 1 or more.

クラスタシステムにおいて、物理ノードは、本発明の実施例のデータ処理方法を実行する装置が当該物理ノードにインストールされている限り、クラスタ重複排除タスクを実行するためのノードとして利用されてもよい。 In a cluster system, a physical node, as long as the apparatus for performing the data processing method of the embodiment of the present invention is installed on the physical node may be utilized as a node for performing cluster deduplication tasks.

データストリームの受信後、現在の物理ノードは、データストリームのデータをm個のデータブロックに分割し、各データブロックのフィンガープリントを取得する。 After receiving the data stream, the current physical node divides the data of the data stream to the m data blocks to obtain a fingerprint of each data block.

ステップ11:第1アルゴリズムに従ってデータストリームを表すn個の第1スケッチ値を取得する。 Step 11: acquiring a first sketch value of n which represents the data stream according to the first algorithm. ただし、nは1以上であって、m以下の整数である。 Here, n is 1 or more, which is an integer not less than m.

データストリームを表すn個の第1スケッチ値が、所定のアルゴリズムを介して取得され、説明の便宜上、データストリームを表す第1スケッチ値を取得するためのアルゴリズムは第1アルゴリズムと呼ばれ、受信したデータストリームを表すスケッチ値は第1スケッチ値と呼ばれる。 First sketch value of n representing the data stream is obtained through a predetermined algorithm, for convenience of explanation, an algorithm for obtaining the first sketch value representing a data stream is referred to as a first algorithm, the received sketch value representing the data stream is called first sketch value.

第1アルゴリズムは、それがデータストリームを表す第1スケッチ値を取得可能である限り、本発明の実施例に限定されるものでない。 The first algorithm, as long as it is capable of acquiring first sketch value representing the data streams, not limited to the embodiments of the present invention. 例えば、分割を介し取得されるデータブロックは直接サンプリングされ、サンプリングされたn個のデータブロックのスケッチ値が計算され、計算されたスケッチ値が、受信したデータストリームを表すスケッチ値として利用される。 For example, the data block to be acquired through the division is sampled directly, sketches value sampled n data blocks is calculated and the calculated sketch value is utilized as sketched value representing the received data stream.

任意的には、サンプリングされたデータをより均等にするため、本発明の実施例では、第1アルゴリズムによるデータストリームを表すn個のスケッチ値の取得は、以下のステップを含むものであってもよい。 Optionally, in order to more evenly sampled data, in the embodiment of the present invention, acquisition of the n sketch value representing a data stream according to the first algorithm, also comprise the following steps good.

受信したデータブロックにより取得されるデータブロックのフィンガープリントは、n個の第1フィンガープリントグループにグループ化され、各第1フィンガーグループは少なくとも2つのデータブロックのフィンガープリントを含む。 Fingerprint data blocks acquired by the received data blocks are grouped into n first fingerprint group, each first finger group comprises a fingerprint of at least two data blocks.

各第1フィンガープリントグループについて、n個の第1スケッチ値を取得するため、各フィンガープリントグループを表す第1スケッチ値が取得される。 For each first fingerprint group, in order to obtain the n first sketch values ​​of the individual, the first sketch value representing each fingerprint group is obtained.

nが1に等しい場合、それは、受信したデータストリームから取得されるデータブロックに対応するフィンガープリントが1つの第1フィンガープリントグループにグループ化され、1つのフィンガープリントは、分割を介し取得されたデータブロックに対応するフィンガープリントから第1フィンガープリントグループの第1スケッチ値として直接サンプリングされる。 If n is equal to 1, it fingerprint corresponding to the data block to be acquired from the received data stream is grouped into one of the first fingerprint group, one fingerprint obtained through the division data from fingerprints corresponding to the block are directly sampled as a first sketch value of the first fingerprint group.

本発明の実施例では、複数の連続するデータブロックが1つの第1フィンガープリントグループにグループ化され、おそらく、第1フィンガープリントグループを取得するためデータブロックを分割するための複数の方法が存在し、本実施例に限定されるものでない。 In an embodiment of the present invention, a plurality of successive data blocks are grouped into one first fingerprint group, perhaps, several methods for splitting the data block for obtaining a first fingerprint group exists , not limited to this embodiment.

本発明の実施例では、第1スケッチ値がデータストリームをデータブロックに分割し、データブロックに対応するフィンガープリントをグループ化する方法により取得される場合、第1スケッチ値が対応する第1フィンガープリントグループを表すことができる限り、各フィンガープリントグループから第1スケッチ値を取得する複数の方法があってもよい。 In an embodiment of the present invention, first sketch value divides the data stream into data blocks, when obtained by the method of grouping the fingerprint corresponding to the data block, the first fingerprint first sketch value corresponds as long as it can represent the group, there may be multiple ways to get the first sketch value from each fingerprint group. 例えば、データブロックのフィンガープリントのうち最大のフィンガープリントは第1スケッチ値として選択されてもよく、あるいは、1以上のデータブロックのフィンガープリント情報が第1フィンガープリントグループから第1スケッチ値としてランダムに選択され、これは、本発明の実施例において限定されるものでない。 For example, the maximum fingerprint of the fingerprint of the data blocks may be selected as a first sketch value, or the fingerprint information of one or more data blocks are random as a first sketch value from the first fingerprint group is selected, this is not limited in embodiments of the present invention.

本実施例では、最小のフィンガープリント、すなわち、最小フィンガープリントの値がまた、最小フィンガープリントが属するフィンガープリントグループを表す第1スケッチ値として、第1フィンガープリントグループの全てのデータブロックのフィンガープリント情報から選択されてもよい。 In this embodiment, the minimum fingerprint, i.e., the value of the minimum fingerprint Further, as a first sketch value representing the fingerprint groups belonging minimum fingerprint, the fingerprint information of all the data blocks of the first fingerprint group it may be selected from.

ステップ12:第2アルゴリズムに従ってn個の第1スケッチ値の各第1スケッチ値に対応し、クラスタシステム内にある第1物理ノードを特定する。 Step 12: corresponds to the first sketch value each of the n first sketch values ​​in accordance with a second algorithm to identify the first physical node in the cluster system.

本発明の実施例では、説明の便宜上、特定された第1スケッチ値に対応する物理ノードは第1物理ノードと呼ばれ、第1物理ノードを特定するためのアルゴリズムは第2アルゴリズムと呼ばれ、1つの第1スケッチ値が1つの第1物理ノードに対応する場合、n個の第1スケッチ値はn個の第1物理ノードに対応してもよく、本発明の実施例はおそらくこれに限定されない。 In an embodiment of the present invention, for convenience of explanation, the physical node corresponding to the first sketch value specified is called a first physical node, the algorithm for identifying the first physical node is called a second algorithm, when the first sketch value one corresponds to one of the first physical node, a first sketch value of n may correspond to the n first physical node embodiment of the present invention is probably limited to not.

複数の第2アルゴリズムがあってもよい。 There may be a plurality of second algorithm. 例えば、ルート抽出及び丸め処理が、当該値がmより小さくなるまで第1スケッチ値に対して実行され、最終的な結果は、対応する第1物理ノードを取得するため丸められる。 For example, root extraction and rounding, the value is performed on the first sketch value to be smaller than m, the final result is rounded to obtain the first physical node corresponding.

本実施例では、採用される第2アルゴリズムは更に、第1スケッチ値によるモジュロ演算が、クラスタシステムの全ての物理ノードの個数に対して実行され、第1スケッチ値に対応し、クラスタシステム内にある第1物理ノードが取得される。 In this embodiment, a second algorithm is employed further modulo operation according to the first sketch value is performed on all of the number of physical nodes of the cluster system, corresponding to the first sketch value, in a cluster system there first physical node is acquired.

ステップ13:クエリのため各第1スケッチ値を対応する第1物理ノードに送信し、n個の第1スケッチ値に対応する第1物理ノードから少なくとも1つのレスポンスメッセージを受信し、レスポンスメッセージから第1ストレージアドレスを取得する。 Step 13: Send the first sketch value each for the query to the first physical node corresponding to receive at least one response message from the first physical node corresponding to the n first sketch values ​​of the individual, the from the response message to get the 1 storage address.

本発明の実施例では、クラスタシステムにおいて、各物理ノード又は大部分の物理ノードはインデックステーブルを格納し、スケッチ値と当該スケッチ値により表される格納されているデータブロックのストレージアドレスとの間の対応関係が、インデックステーブルに格納され、インデックステーブルは、所定のプリシーに従ってクラスタシステムの物理ノードに格納され、データブロックと当該データブロックに対応するフィンガープリント情報とが、異なるストレージアドレスによって指示されるストレージ領域に格納される。 In an embodiment of the present invention, in a cluster system, physical node of each physical node or most stores an index table, between the storage address of the data block stored as represented by the sketch value and the sketch value storage correspondence is stored in the index table, the index table is stored in the physical node of the cluster system in accordance with a predetermined Preethi, and fingerprint information corresponding to the data block and the data block is indicated by the different storage address It is stored in the area.

各物理ノードのインデックステーブルは、完全なインデックステーブルであってもよく、格納されているデータの全てのスケッチ値とクラスタシステムにおける当該スケッチ値により表される格納されているデータブロックのストレージアドレスとの間の対応関係を含むものであってもよいことに留意すべきであり、完全なインデックステーブルの一部はまた、物理ノードにおける重複ブロックをクエリするための計算量を低減するため、所定のポリシーに従って各物理ノードに格納されてもよい。 Index table of each physical node may be a complete index table, the storage addresses of data blocks stored represented by the sketch value at all sketches values ​​and cluster system data stored it should be noted that may include a correspondence between, also part of a complete index table, to reduce the calculation amount for querying the duplicate blocks in a physical node, given policy it may be stored on each physical node in accordance. 後者の方法が本実施例において採用されてもよい。 The latter method may be employed in this embodiment. 物理ノードにおいてインデックステーブルの各インデックスエントリをどのように格納するかが、以下において詳細に説明される。 How to store each index entry in the index table in the physical node is described in detail below.

本発明の実施例では、インデックステーブルは、所定のポリシーに従って物理ノードに格納され、特定の物理ノードのインデックステーブルのデータと物理ノードのデータとの間には直接的な関係はなく、インデックステーブルのみが所定の割当ポリシーに従って当該物理ノードに格納される。 In an embodiment of the present invention, the index table is stored in the physical node according to a predetermined policy, no direct relationship between the data of the data and the physical node of the index table for a specific physical node, the index table only There is stored in the physical node in accordance with a predetermined allocation policy.

具体的な実現形態では、1つのストレージアドレスに対応するストレージ領域は複数のグループのデータを有してもよいため、各グループからスケッチ値が選択される場合、1つのストレージアドレスが複数の異なるスケッチ値に対応するケースが生じる可能性があり、従って、インデックステーブルの同一のストレージアドレスが複数の異なるスケッチ値に対応する可能性がある。 In a specific implementation, one for may have data of a plurality of groups to the storage area corresponding to the storage address, if the sketch value is selected from each group, sketches different one storage addresses of a plurality There is a possibility that cases may occur corresponding to the value, therefore, there is a possibility that the same storage address of the index table corresponding to a plurality of different sketches value. しかしながら、1つの同一のスケッチ値は1つのストレージアドレスに対応する。 However, one and the same sketch value corresponds to one storage address. 複数の第1スケッチ値がインデックステーブルにおいてクエリされるとき、複数の対応するストレージアドレスが取得されてもよく、第1ストレージアドレスが第1スケッチ値に対応するストレージアドレスにから選択されるとき、第1ストレージアドレスを選択するためのルールは予め設定されてもよいし、あるいは、実際の状況に応じてユーザにより設定されてもよく、本実施例では限定されない。 When the first sketch value more is queried in the index table, a plurality of corresponding storage address may have been acquired, when the first storage address is selected from the storage address corresponding to the first sketch value, the 1 rule for selecting a storage address may be set in advance or, according to the actual situation may be set by the user, not limited in the present embodiment.

例えば、第1スケッチ値に対応するストレージアドレスは、レスポンスメッセージから取得されてもよく、レスポンスメッセージに搬送される各ストレージアドレスのヒット数に関する統計量が収集され、最大ヒット数を有するs個のストレージアドレスが第1ストレージアドレスとして選択される。 For example, the storage address corresponding to the first sketch value may be obtained from the response message, statistics for the number of hits for each storage address is conveyed in the response message is collected, s number of storage with maximum number of hits address is selected as the first storage address. ただし、sは1以上である。 However, s is 1 or more.

具体的な実現形態では、第1スケッチ値を搬送するクエリリクエストを受信すると、第1物理ノードは、ローカルに格納されているインデックステーブルに従って第1スケッチ値と同じスケッチ値をマッチングし、レスポンスメッセージを介し一致したスケッチ値に対応するストレージアドレスを当該クエリリクエストを送信した物理ノードにフィードバックする。 In a specific implementation, upon receiving a query request carrying the first sketch value, the first physical node, matching the same sketch value as the first sketch value according to the index table stored locally, the response message storage address corresponding to the matched sketch value via feedback to the physical node that transmitted the query request. 各第1スケッチ値は1つの第1物理ノードに対応し、従って、複数の第1物理ノードがクエリリクエストを受信し、当該クエリリクエストに従ってクエリをローカルに実行する。 Each first sketch value corresponds to one of the first physical node, thus, a plurality of first physical node receives a query request, executes the query in accordance with the query request locally. ストレージアドレスがクエリを介し検出された場合、ストレージアドレスは、クエリリクエストを送信したノードに返され、クエリリクエストを送信したノードは異なる第1物理ノードにより返された複数のストレージアドレスを受信してもよく、ストレージアドレスがクエリを介し検出されなかった場合、例えば、0などのヌル値がフィードバックされるか、又はフィードバックが返されず、ストレージアドレスがクエリを介し検出されなかったことを具体的に表す方法は、ユーザにより設定されてもよい。 If the storage address is detected through the query, storage address is returned to the node that sent the query request, the node that sent the query request be received a plurality of storage addresses returned by the different first physical node well, if the storage address is not detected through the query, for example, or a null value, such as 0 is fed back, or the feedback is not returned, specifically indicating that the storage address is not detected through the query the method may be set by the user.

第1物理ノードによりフィードバックされるストレージアドレスが、各第1スケッチ値がクエリのため対応する第1物理ノードに送信された後に受信されなかった場合、データストリームの分割を介し取得されるデータブロックが非重複データブロックとして利用され、その後、ステップ15が実行される。 Storage address is fed back by the first physical node, when each first sketch value is not received after being transmitted to the first physical node corresponding for query, data blocks are obtained through the division of the data stream is used as a non-duplicate data block, then step 15 is executed.

ステップ14:第1ストレージアドレスにより指示されるストレージ領域に格納されるデータブロックのフィンガープリントと、受信したデータブロックの分割を介し取得される各データブロックのフィンガープリントとを比較し、重複データブロックをクエリする。 Step 14: a fingerprint of the data blocks stored in the storage area indicated by the first storage address, by comparing the fingerprint of each data block being acquired through the division of the received data block, the redundant data block query. ただし、取得された非重複データブロックは新たなデータブロックとして利用される。 However, non-overlapping data blocks obtained is utilized as a new data block.

具体的な実現形態では、現在の物理ノードは、受信したデータストリームの処理後にデータブロックとフィンガープリント情報とをキャッシュに格納し、複数の方法を利用して、データブロックのフィンガープリントを比較してもよい。 In a specific implementation, the current physical node stores the data block and the fingerprint information in the cache after processing of the received data stream, using a plurality of methods, by comparing the fingerprint of the data block it may be. 例えば、方法1では、第1ストレージアドレスに対応するストレージ領域のデータブロックが、現在の物理ノードのキャッシュにロードされ、受信したデータストリームに対応する各データブロックのフィンガープリントが、重複ブロッククエリに対して実行される。 For example, the method 1, the data block of the storage area corresponding to the first storage address is loaded into the cache of the current physical node, the fingerprint of each data block corresponding to the received data stream, to overlap block query It is executed Te. 方法2では、クエリ指示が、第1ストレージアドレスにより指示される物理ノードに送信される。 In method 2, the query instruction is sent to the physical node indicated by the first storage address. ここで、データストリームの分割を介し取得されるm個のデータブロックのフィンガープリントが当該クエリ指示に搬送され、第1ストレージアドレスにより指示される物理ノードにより返されるクエリ結果が受信される。 Here, the fingerprint of the m data blocks to be acquired through the division of the data stream is conveyed to the query instruction, the query result is returned by the physical node indicated by the first storage address is received. 方法1では、現在ノードのキャッシュに格納されるフィンガープリント情報が重複データクエリにおいて利用されてもよく、これは重複排除レートを更に向上させることができる。 In method 1, it may be fingerprint information stored in the cache of the current node is available in the duplicate data query, which can further improve the deduplication rate.

インデックステーブルのインデックスエントリが初期化されるとき、ユーザはまた、インデックステーブルにおいてシステムに格納されているデータに従って、既知のスケッチ値と当該既知のスケッチ値により表されるデータブロックのストレージアドレスとの間の対応関係を予め格納してもよく、特定の方法が本発明の実施例において限定されるものでない。 When an index entry in the index table is initialized, the user is also in accordance with the data stored in the index table in the system, between the storage address of the data block represented by the known sketches values ​​and the known sketch value may store correspondence in advance and do not particular method is limited in embodiments of the present invention. インデックステーブルはまた、初期化中にヌルであってもよく、重複データクエリ中、取得した新たなデータブロックがストレージシステムに格納されると、取得したスケッチ値と当該スケッチ値により表される新たなデータブロックのストレージアドレスとがインデックステーブルに挿入され、これにより、インデックステーブルは定期的に更新される。 Index table may also be a null during initialization, in duplicate data query, the acquired new data block is stored in the storage system, a new represented by the obtained sketch value and the sketch value and storage address of the data block is inserted in the index table, thereby, the index table is updated periodically. 従って、本発明の実施例は更に以下を含む。 Thus, embodiments of the present invention comprises further below.

ステップ15. Step 15. 新たなデータブロックを表す少なくとも1つの第2スケッチ値を取得し、第2アルゴリズムに従って各第2スケッチ値に対応する第2物理ノードを第2スケッチ値により特定し、各第2スケッチ値と各第2スケッチ値により表されるデータブロックのストレージアドレスとの間の対応関係を対応する第2物理ノードに格納する。 Obtain at least one second sketch value representing the new data block, the second physical node corresponding to each second sketch value in accordance with a second algorithm specified by the second sketch value, the first and the second sketch value storing correspondence between the storage address of the data block represented by 2 sketch value to a second physical node corresponding.

本発明の実施例では、クエリを介し検出された非重複データブロックが新たなデータブロックとして利用され、クエリを介し検出された新たなデータブロックがあるサイズに到達し、格納される必要があるとき、システムにおける新たなデータブロックのストレージ位置がインデックステーブルにおいて示される必要があり、インデックステーブルは、定期的に更新される必要がある。 In an embodiment of the present invention, non-overlapping data blocks detected through the query is used as the new data block, it reaches a certain size detected new data blocks via a query, when there is a need to be stored , it is necessary to storage positions of the new data block in the system is shown in the index table, the index table, need to be updated periodically. ストレージアドレスが新たなデータブロックについて取得されると、当該新たなデータブロックを表すスケッチ値が取得され、説明の便宜上、第2スケッチ値と呼ばれ、第2物理ノードが第2アルゴリズムに従って特定され、各第2スケッチ値と各第2スケッチ値により表されるデータブロックのストレージアドレスとの間の対応関係が、対応する第2物理ノードに格納され、これにより、クラスタシステムのインデックスエントリの定期的な更新を実現できる。 When the storage address is obtained for the new data block, sketch value representing the new data block is to acquire, for convenience of explanation, called second sketch value, the second physical node is identified in accordance with the second algorithm, correspondence between the storage address of the data block represented by each second sketch value and each second sketch value is stored in the corresponding second physical node, thereby, a periodic index entries for the cluster system It can realize the update.

第2スケッチ値を取得するための方法は、第1スケッチ値を取得するためのアルゴリズムと同じであってもよい。 The method for obtaining the second sketch value may be the same as the algorithm for obtaining the first sketch value. 例えば、第1アルゴリズムが採用されてもよく、第1スケッチ値のセットが第2スケッチ値のセットのサブセットであることが保証される場合、又は第2スケッチ値のセットが第1スケッチ値のセットである場合、他のアルゴリズムが採用されてもよい。 For example, it may be the first algorithm is employed, if the set of first sketch value is guaranteed to be a subset of the set of second sketch value, or the set of second sketch value set of first sketch value If it is, another algorithm may be adopted.

本実施例の手段が、以下において具体的な実現方法の具体例を参照して詳細に説明される。 Means of the present embodiment will be described in detail with reference to examples of specific implementation methods below. 図2は、データストリームの受信後に現在の物理ノードにより実行されるブロック分割及びサンプリングの概略図である。 Figure 2 is a schematic diagram of a block division and sampling to be executed after the current physical node receiving the data stream. 本実施例では、複数のデータブロックが1つのスーパーデータブロック(スーパーチャンク)として見なされてもよく、具体的な実現形態では、より正確なグループ化のため、データブロックに対応するフィンガープリントがグループ化され、グループのフィンガープリントに対応するデータブロックがスーパーデータブロックであり、第1スケッチ値はまたスーパーデータブロックスケッチ値(スーパーチャンクID、SID)と呼ばれてもよい。 In this embodiment, may be a plurality of data blocks is regarded as one super data block (Superchunk), in a specific implementation, for a more accurate grouping, fingerprints corresponding to the data block group ized, the data block corresponding to the fingerprint of the group is a super data block, the first sketch value also super data block sketch value (Superchunk ID, SID) may be referred to as. おそらく、データストリームの分割を介し取得されるデータブロックはまた直接グループ化されてもよい。 Perhaps, the data block is obtained through the division of the data stream may also be directly grouped. 図2を参照して、データストリームの受信後、現在の物理ノードは、受信したデータをデータブロックに分割し、複数の連続するデータブロックが1つのグループにグループ化され、すなわち、添付図面のスーパーチャンクにグループ化される。 Referring to FIG. 2, after receiving the data stream, the current physical node divides the received data into data blocks, a plurality of successive data blocks are grouped into one group, i.e., of the accompanying drawings Super They are grouped into chunks. グループ化の方法は、可変長ブロックの分割や固定長ブロックの分割などの方法を含み、本実施例ではこれに限定されるものでない。 The method of grouping includes a method such as the splitting of the split and the fixed-length blocks of a variable-length block, not the one in the present embodiment is not limited thereto. データブロックは各スーパーチャンクから取得され、取得されたデータブロックに対応するフィンガープリントは、各スーパーチャンクを表すSIDとして利用される。 Data block is obtained from each Superchunk, fingerprints corresponding to the obtained data block is used as SID representing each super chunk.

一例としてクラスタシステムの物理ノードを抽出することによって、物理ノードの内部構造の一例となる概略図のための図3が参照されてもよい。 By extracting the physical node of the cluster system as an example, FIG. 3 may be referenced for the schematic diagram as an example of the internal structure of the physical node. キャッシュとストレージ領域とが各物理ノードに含まれてもよく、具体的な実現形態では、クリアパフォーマンスを向上させるため、インデックステーブルが物理ノードのキャッシュに格納され、第2スケッチ値と当該第2スケッチ値により表される格納されているデータブロックのストレージアドレスとの間の対応関係が、インデックステーブルに格納される。 May cache and storage area is included in each physical node, in a specific implementation, to improve the clear performance are stored index table cache physical nodes, the second sketch value and the second sketch correspondence between the storage address of the data block stored is represented by the value is stored in the index table. 上述されるように、各物理ノードのインデックステーブルは、完全なインデックステーブルであってもよく、全ての第2スケッチ値とクラスタシステムにおける第2スケッチ値により表される格納されているデータブロックのフィンガープリントのストレージアドレスとの間の対応関係を含む。 As described above, the index table for each physical node, complete may be index table, the data blocks stored is represented by the second sketch value of all second sketch value and cluster systems fingers including the correspondence between the storage address of the print. 完全なインデックステーブルの一部はまた、所定のポリシーに従って各物理ノードに格納されてもよい。 Part of a complete index table may also be stored on each physical node in accordance with a predetermined policy. 具体的な実現形態では、メモリの使用を低下させるため、後者の方法が採用されてもよく、完全なインデックステーブルの一部が、所定のポリシーに従って各物理ノードに格納される。 In a specific implementation, to reduce the use of memory, it may be the latter method is employed, a portion of the complete index table is stored in each physical node in accordance with a predetermined policy. 例えば、一例としてスケッチ値Aを抽出することによって、物理ノードは、クラスタシステムの全ての物理ノードの合計に対するAによるモジュロ演算を実行することによって特定される。 For example, by extracting the sketch value A as an example, a physical node is identified by performing a modulo operation according to A to the sum of all physical nodes of the cluster system. AとAにより表される格納されているデータブロックのストレージアドレスとの間の対応関係が特定された物理ノードに格納され、重複データクエリ中、第1スケッチ値に対応する第1物理ノードを取得するため、取得された第1スケッチ値によるモジュロ演算が、クラスタシステムの物理ノードの合計に対して実行される。 Get stored in the physical node corresponding relationship is identified between the storage address of the data block stored represented by A and A, in duplicate data query, the first physical node corresponding to the first sketch value to, modulo operation according to the first sketch value obtained is performed for total physical nodes of the cluster system.

各物理ノードは、ストレージ装置を有し、当該ストレージ装置は、各物理ノードが長時間データを格納する機能を有することを可能にし、それは磁気ディスクであってもよく、SSDなどの他のストレージ装置であってもよい。 Each physical node, has a storage device, the storage device makes it possible to have a function of each physical node stores a long time data, it may be a magnetic disk, other storage devices such as SSD it may be. 各物理ノードのストレージ装置は、単一のインスタンスレポジトリ(シングルインスタンスレポジトリSIR)と呼ばれ、図3において、磁気ディスクが一例として取り上げられる。 Storage device of each physical node, referred to as a single instance repository (single instance repository SIR), 3, magnetic disk is taken as an example. 物理ノードのストレージ装置には多数のストレージ領域があってもよく、各ストレージ領域は、データを格納するためのコンテナとして例示的にみなされてもよく、各ストレージコンテナは、クラスタシステムにおける1つの一意的なシリアル番号を有し、それはストレージコンテナシリアル番号(コンテナIDCID)と呼ばれてもよい。 The storage device physical node there may be many storage areas, each storage area, the data may be exemplarily considered as a container for storing, each storage container, one unique in a cluster system It has specific serial number, which may be referred to as a storage container serial number (container IDCID). コンテナシリアル番号は、例えば、クラスタシステムの何れの物理ノードの何れのストレージ領域であるかなど、クラスタシステムにおけるストレージコンテナの位置を示す。 Container serial number, for example, which of the storage area of ​​any physical nodes of the cluster system, showing the location of the storage container in a cluster system. 従って、具体的な実現形態では、格納されているデータブロックの上述したストレージアドレスは、データブロックが何れの物理ノードの何れのストレージアドレスに格納されているかを示すCIDとして実現され、スケッチ値と上述したインデックステーブルにおける当該スケッチ値により表される格納されているデータブロックのストレージアドレスとの間の対応関係は、SIDとCIDとの間の対応関係として示されてもよく、ストレージデータブロックに加えて、データブロックに対応するフィンガープリント情報が更に各ストレージ領域に格納されてもよい。 Thus, in a specific implementation, the above-described storage address of a data block stored is implemented as CID indicating whether the data block is stored in any storage address of any physical node, a sketch value above corresponding relationship between the storage address of the data block stored represented by the sketch values ​​in the index tables may be shown as a relationship between the SID and CID, in addition to the storage data block , fingerprint information corresponding to the data block may be further stored in the respective storage areas. バッファストレージ領域(コンテナバッファ)が更に、各物理ノードのキャッシュに含まれてもよく、特定を介し取得される新たなデータブロックを一時的に格納するよう構成される。 Buffer storage space (container buffer) further may be included in the cache for each physical node, configured to store the new data block to be acquired through a particular temporarily.

従来技術では、サンプリングされたフィンガープリント情報は、クエリのため全てのノードに送信され、このようにして、クラスタシステムのノード数が増える場合、計算量はますます大きくなる。 In the prior art, the fingerprint information sampled is sent to all nodes for queries, this way, if the number of nodes in the cluster system is increased, the amount of calculation becomes increasingly larger. 実験は、クラスタシステムのノード数が16を超えると、システムの重複排除パフォーマンスがかなりの程度低下することを示す。 Experiments, when the number of nodes in the cluster system is more than 16, indicating that the deduplication performance of the system is considerably reduced degree of. 本発明の実施例では、サンプリングされたスケッチ値がクエリのため全てのノードに送信される従来技術と異なって、重複データクエリが受信されたデータストリームに対して実行されるとき、各第1スケッチ値に対応し、クラスタシステム内にある第1物理ノードが、データストリームを表す第1スケッチ値に従って特定され、その後、データストリームを表す第1スケッチ値は、重複データクエリのため特定された物理ノードに送信され、重複データクエリの手順は、クラスタシステムのノード数の増加によっては変化せず、各ノードの計算量は、クラスタシステムのノード数の増加によっては増加しない。 In an embodiment of the present invention, unlike the prior art where sampled sketches value is transmitted to all nodes for queries, when the duplicate data query is executed on the received data stream, the first sketch corresponds to the value, a first physical node in the cluster system is identified according to a first sketch value representing the data stream, then, first sketch value representing the data stream, the physical node identified for duplication data query is sent to the procedure of duplicate data query, not changed by an increase in the number of nodes of the cluster system, the calculation amount of each node is not increased by increasing the number of nodes in the cluster system.

図4を参照して、本発明は更に、他のクラスタデータ処理方法の実施例を提供し、図1に対応するクラスタシステムにおけるデータ処理方法との相違は、クラスタシステムにおける重複データクエリが終了した後、受信したデータストリームに新たなデータブロックがあるか判断し、当該新たなデータブロックを格納することが要求されることであり、他のステップは図1に対応する実施例と同じである。 Referring to FIG. 4, the present invention further provides an example of the other cluster data processing method, the difference between the data processing method in a cluster system corresponding to FIG. 1, duplicate data query in a cluster system is completed after, it is determined whether there is new data block in the received data stream, is that by storing the new data blocks are required, other steps are the same as example corresponding to FIG. 従って、図1に対応する実施例に基づき、本方法は更に以下を含むものであってもよい。 Therefore, based on the embodiment corresponding to FIG. 1, the method may further include the following.

ステップ46:所定のストレージポリシーに従って、新たなデータブロックと当該新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを選択する。 Step 46: according to a predetermined storage policy, selects the storage address and fingerprint are written new data block and the new data block.

新たなデータブロックのストレージポリシーは、ユーザにより予め設定されてもよく、複数のポリシーがあってもよい。 Storage policy of new data blocks may be previously set by the user, there may be more than one policy. 例えば、ポリシー1では、クラスタシステムの各物理ノードのロード情報がまず取得され、データが移行される物理ノードがロード情報に従って選択され、新たなデータブロックと当該新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスが、データが移行される選択された物理ノードから取得され、このようにして、全ての物理ノードにおけるロードバランシングが実行される。 For example, the policy 1, the load information of each physical node of the cluster system is initially acquired, the selected physical node where the data is migrated in accordance with the load information, write new data block and the fingerprint of the new data block storage address is acquired from the selected physical node data is migrated, in this way, load balancing of all physical nodes is performed. ポリシー2では、ロード情報は決定されなくてもよく、新たなデータブロックと当該新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスが現在の物理ノードから直接取得され、このようにして、ノード間のやりとりが低減される。 In policy 2, it may not load information is determined, the storage address new data block and the fingerprint of the new data block is written is obtained directly from the current physical node, in this way, between the nodes exchanged is reduced. 従って、具体的なストレージポリシーは実際の状況に従ってユーザにより設定されてもよく、本発明の実施例において限定されるものでない。 Therefore, specific storage policy may be set by the user according to actual situation, it is not limited in embodiments of the present invention.

ポリシー1が採用される場合、ロード情報に従ってデータを書き込む複数の方法があってもよい。 If the policy 1 is employed, there may be multiple ways of writing data according to a load information. 例えば、閾値が予め設定され、第1所定閾値と呼ばれてもよい。 For example, the threshold value is set in advance, it may be referred to as a first predetermined threshold value. クラスタシステムの全ての物理ノードの平均ロード値が第1所定閾値を超過するとき、データが書き込まれるノードが、平均ロード値よりロード値が小さい物理ノードから選択され、新たなデータブロックと当該新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスが、データが書き込まれるノードから取得され、クラスタシステムの全ての物理ノードの平均ロード値が第1所定閾値以下であるとき、新たなデータブロックと当該新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスが、現在の物理ノードから取得される。 When the average load value of all physical nodes of the cluster system exceeds a first predetermined threshold value, the node data is written is selected from a small physical node load value than the average load value, the new data block and the new storage address and fingerprint data block is written, is obtained from the node data is written, when the average load value of all physical nodes in the cluster system is below a first predetermined threshold value, the new data block and the new fingerprint and the storage address to be written in a data block is obtained from the current physical node.

ロード値に従ってデータ移行を実行するための他の方法は以下を含むものであってもよい。 Another method for performing data migration according to the load value may include the following.

A1:クラスタシステムの物理ノードのロード情報を取得し、クラスタシステムの何れか2つの物理ノードの間のロード差が第1閾値より大きいとき、データが移行されるノードが、より低いロードの物理ノードから選択され、データが移行されるノードから新たなデータブロックと当該新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを取得する。 A1: acquires load information of the physical node of the cluster system, when loading difference between any two physical nodes of the cluster system is greater than the first threshold value, the node data is migrated, the lower load physical node It is selected from, and a new data block from a node where the data is migrated and fingerprint of the new data block to obtain the storage address to be written.

A2:クラスタシステムの何れか2つの物理ノードの間のロード差が第1閾値以下であるとき、現在の物理ノードから新たなデータブロックと当該新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを取得する。 A2: When loading difference between any two physical nodes of the cluster system is not higher than the first threshold, the storage address and fingerprint are written new data block and the new data block from the current physical node get.

ロード情報は、現在の物理ノードから取得されてもよく、ロード情報はまた、第三者がロード情報を取得した後、現在の物理ノードによって第三者から直接取得されてもよい。 Load information may be acquired from the current physical node, also the load information, after a third party acquires the load information may be obtained directly from a third party by the current physical node.

ステップ47:所定のストレージ条件が充足されると、新たなデータブロックと当該新たなデータブロックのフィンガープリントとを、選択されたストレージアドレスに対応するストレージ領域に書き込む。 Step 47: When the predetermined storage conditions are satisfied, writes the fingerprint of the new data block and the new data blocks to the storage area corresponding to the selected storage address.

任意的には、所定のストレージが条件が充足されることは、新たなデータブロックが現在の物理ノードのキャッシュに格納され、現在の物理ノードのキャッシュのデータが第2所定閾値に達すると、所定のストレージ条件が充足されることを含むものであってもよい。 Optionally, the predetermined storage condition is satisfied, when a new data block is stored in the cache of the current physical node, the cache data of the current physical node reaches a second predetermined threshold value, a predetermined storage conditions may include to be satisfied.

図3の具体例に説明されるように、コンテナバッファが各物理ノードに含まれてもよく、特定を介して取得された新たなデータブロックを一時的に格納するよう構成され、コンテナバッファに格納されるデータのサイズが第2閾値を超過すると、所定のストレージ条件が充足されたとみなされ、ユーザは実際の状況に従って第2閾値を設定してもよい。 As described in the specific examples in FIG. 3, the container buffer may be included in each physical node, configured to store the new data block obtained through a particular temporarily, stored in the container buffer When the size of the data to be exceeds the second threshold value, the predetermined storage condition is deemed to have been satisfied, the user may set the second threshold value according to the actual situation. このことは、本実施例では限定されるものでない。 This is not intended in this embodiment is limited.

本発明の実施例では、新たなデータブロックのストレージアドレスが取得された後、第2スケッチ値と当該第2スケッチ値により表されるデータブロックの対応する第2物理ノードにおけるストレージアドレスとの間の対応関係を格納するための具体的な機会は、本発明の実施例において限定されるものでない。 In an embodiment of the present invention, after the storage address of the new data block is acquired, between the storage addresses in the corresponding second physical node of a data block represented by the second sketch value and the second sketch value specific opportunities for storing the correspondence is not limited in embodiments of the present invention.

図4に対応する実施例により提供されるクラスタシステムにおけるデータ処理方法では、新たなデータブロックが格納されるとき、ロードバランシングが実現され、システムパフォーマンスが向上する。 In a data processing method in a cluster system provided by the embodiment corresponding to FIG. 4, when a new data block is stored, it is realized load balancing, system performance is improved.

図1に対応するデータ処理方法に基づき、図5を参照して、バーチャルノードがクラスタシステムに含まれるケースについて、本発明は他の実施例を提供する。 Based on the data processing method corresponding to FIG. 1, with reference to FIG. 5, for the case where the virtual node in the cluster system, the present invention provides another embodiment. 少なくとも1つのバーチャルノードが、クラスタシステムの物理ノードの分割を介し論理的に取得され、クラスタシステムの全てのバーチャルノードと全ての物理ノードとの間の対応関係(VPT)が各物理ノードに格納され、本発明の実施例では、少なくとも1つのバーチャルノードが各物理ノードの分割を介し論理的に取得されることが仮定される。 At least one virtual node is logically get through the division of physical nodes of the cluster system, correspondence between all virtual nodes and all physical nodes of the cluster system (VPT) is stored on each physical node in the embodiment of the present invention, at least one virtual node that is logically get through the division of each physical node it is assumed. 重複データクエリ方法は以下を含む。 Duplicate data query method includes the following.

ステップ50:m個のデータブロックを取得するため、現在の物理ノードにより受信されたデータストリームを処理し、各データブロックのフィンガープリントを取得する。 Step 50: To obtain the m data block, processes the data stream received by the current physical node, and acquires the fingerprint of each data block.

ステップ51:第1アルゴリズムに従ってデータストリームを表すn個の第1スケッチ値を取得する。 Step 51: acquiring a first sketch value of n which represents the data stream according to the first algorithm. ここで、nは1以上であって、m以下の整数である。 Here, n is a 1 or more, which is an integer not less than m.

データストリームを処理する方法と、ステップ50及び51において第1スケッチ値を取得する方法とは、図1に対応する実施例と同じであり、ここでは繰り返し説明されない。 A method of processing a data stream, the method for obtaining the first sketch value in step 50 and 51 are the same as the embodiment corresponding to FIG. 1, not repeated here.

ステップ52:第2アルゴリズムに従ってn個の第1スケッチ値の各スケッチ値に対応し、クラスタシステム内にある第1バーチャルノードを特定し、現在の物理ノードのバーチャルノードと物理ノードとの間の対応関係をクエリすることによって、第1バーチャルノードに対応する第1物理ノードを取得する。 Step 52: corresponding to the sketch value of the first sketch value of n in accordance with a second algorithm to identify the first virtual node of the cluster system, correspondence between the virtual node and a physical node in the current physical node by querying the relationship, obtaining a first physical node corresponding to the first virtual node. ここで、各第1スケッチ値は1つの第1バーチャルノードに対応し、1つの第1バーチャルノードは同時に複数の第1スケッチ値に対応してもよい。 Wherein each first sketch value corresponds to one of the first virtual node, one of the first virtual node may correspond to a plurality of first sketch value simultaneously.

説明の便宜上、第1スケッチ値に従って特定される対応するバーチャルノードは第1バーチャルノードと呼ばれ、少なくとも1つのバーチャルノードは、クラスタストレージシステムの各物理ノードの分割を介し取得されてもよく、具体的な実現手段では、2以上のバーチャルノードが各物理ノードの分割を介し取得されてもよく、各バーチャルノードは一意的なシリアル番号を有し、クラスタシステムにおけるバーチャルノードと物理ノードとの間の対応関係が各物理ノードに格納されてもよく、それは、バーチャルノードが何れの物理ノードにあるかを示す。 For convenience of explanation, corresponding virtual node is specified according to the first sketch value is referred to as the first virtual node, the at least one virtual node may be obtained through the division of each physical node of clustered storage system, particularly specific in realizing means may more virtual nodes be obtained through the division of each physical node, each virtual node has a unique serial number, between the virtual node and a physical node in the cluster system may correspondence is stored on each physical node, which indicates whether the virtual node is any physical node.

ステップ53:各第1スケッチ値をクエリのための対応する第1物理ノードの第1バーチャルノードに送信し、第1物理ノードからレスポンスメッセージを受信し、レスポンスメッセージから第1スケッチ値に対応するストレージアドレスを取得し、第1スケッチ値に対応するストレージアドレスから第1ストレージアドレスを選択する。 Step 53: storage and transmitted to the first virtual node of the corresponding first physical node for each first sketch value query receives a response message from the first physical node, corresponding to the first sketch value from the response message get the address, it selects the first storage address from the storage address corresponding to the first sketch value.

本発明の実施例では、クラスタシステムの各物理ノード又は大部分の物理ノードはインデックステーブルを格納し、予め取得されたスケッチ値と当該スケッチ値により表される格納されているデータブロックのストレージアドレスとの間の対応関係がインデックステーブルに格納される。 In embodiments of the present invention, the physical node of each physical node or most of the cluster system stores the index table, and the storage address of the data block stored represented by previously acquired sketch value and the sketch value correspondence between is stored in the index table. インデックステーブルは、所定のポリシーに従ってクラスタシステムの物理ノードに格納され、バーチャルノードが物理ノードの分割を介し取得された後、インデックステーブルは、物理ノードの分割を介し取得されたバーチャルノードに格納されてもよい。 The index table is stored in the physical node of the cluster system in accordance with a predetermined policy, after the virtual node is acquired through the division of physical nodes, the index table is stored in the obtained virtual node through the division of physical nodes it may be. インデックステーブルの各インデックスエントリをバーチャルノードに格納する方法が、以下において詳細に説明される。 How to store each index entry in the index table to the virtual node is described in detail below.

データブロックのクラスタシステムにバーチャルノードがない場合、インデックステーブルのストレージアドレスは、具体的には、何れかの物理ノードの何れかのストレージ領域を示し、クラスタシステムにバーチャルノードがある場合、ストレージアドレスは、具体的には、何れかのバーチャルノードの何れかのストレージ領域を示す。 If the cluster system of the data block no virtual node, the storage address of the index table, specifically, illustrates one of the storage areas of one physical node, if the cluster system has a virtual node, the storage address Specifically, indicating one of the storage areas of one of the virtual node.

同様に、各バーチャルノードのインデックステーブルは、完全なインデックステーブルであってもよく、全てのスケッチ値とクラスタシステムにおけるスケッチ値により表される格納されているデータブロックのフィンガープリントのストレージアドレスとの間の対応関係を含み、完全なインデックステーブルの一部はまた、メモリの利用を低減するため、所定のポリシーに従って各バーチャルノードに格納されてもよい。 Similarly, between the index table, complete may be index table storage addresses of the fingerprint of the data block stored as represented by the sketch value in all sketches values ​​and cluster system of each virtual node the include relationship, also part of a complete index table, to reduce the use of memory may be stored in the virtual nodes according to a predetermined policy.

n個の第1スケッチ値の各スケッチ値に対応し、クラスタシステム内にある第1バーチャルノードが、第2アルゴリズムに従って特定される。 Corresponding to each of the n sketch value of the first sketch value, first virtual node in the cluster system is identified according to a second algorithm. 同様に、第1スケッチ値がクラスタシステムの1つの一意的なバーチャルノードに対応させることが有効とすることができる限り、複数の第2アルゴリズム存在する。 Similarly, the first sketch value as long as it can be effective that correspond to one unique virtual node of the cluster system, there are a plurality of second algorithm. 例えば、一例として第1スケッチ値Aを抽出することによって、重複データクエリがデータブロックに対して実行されると、第1スケッチ値に対応する第1バーチャルノードを取得するため、クラスタシステムの全てのバーチャルノードの個数に対して取得された第1スケッチ値によるモジュロ演算が実行され、その後、第1バーチャルノードに対応する第1物理ノードが、バーチャルノードと物理ノードとの間の対応関係に従って特定される。 For example, by extracting the first sketch value A as an example, duplication data query when executed on the data blocks, for obtaining a first virtual node corresponding to the first sketch value, all of the cluster system modulo operation is performed by the first sketch values ​​obtained for the number of virtual nodes, then the first physical node corresponding to the first virtual node, are identified according to the corresponding relationship between the virtual node and a physical node that. 第1物理ノードが検出されると、第1物理ノードの第1バーチャルノードが検出される。 When the first physical node is detected, the first virtual node of the first physical node is detected.

多数のストレージ領域が各バーチャルノードに含まれ、具体的な実現形態では、各ストレージ領域は、データを格納するためのコンテナとして例示的にみなされてもよく、各コンテナは、クラスタシステムにおける一意的なシリアル番号CIDを有し、当該番号は、クラスタシステムの何れのバーチャルノードの何れのストレージ領域に当該ストレージ領域が配置されているかを示す。 Many storage areas included in each virtual node, in a specific implementation, each storage area, the data may be exemplarily considered as a container for storing, each container is uniquely in the cluster system has a serial number CID, the number indicates whether the storage area is arranged in any of the storage area of ​​any virtual nodes of the cluster system. データブロックに加えて、データブロックに対応するフィンガープリント情報がまた、各ストレージ領域に格納されてもよい。 In addition to the data block, the fingerprint information corresponding to the data block may also be stored in each storage area.

バッファストレージ領域(コンテナバッファ)がまた、各物理ノードのキャッシュに含まれてもよく、特定を介し取得された新たなデータブロックを一時的に格納するよう構成される。 Buffer storage space (container buffer) Kamata, may be included in the cache for each physical node, configured to store the acquired new data blocks through specific temporarily.

図1に対応する実施例と同様に、具体的な実現形態では、インデックステーブルの1つの同一のストレージアドレスが複数の異なるスケッチ値に対応してもよいが、1つのスケッチ値は1つのストレージアドレスに対応する。 Similar to the embodiment corresponding to FIG. 1, in a specific implementation, one and the same storage address of the index table may correspond to a plurality of different sketches values, one sketch values ​​one storage address corresponding to. 複数の第1スケッチ値がインデックステーブルにおいてクエリされるとき、複数の対応するストレージアドレスが取得されてもよく、第1ストレージアドレスが第1スケッチ値に対応するストレージアドレスから選択されるとき、第1ストレージアドレスを選択するためのルールは予め設定されてもよいし、あるいは、実際の状況に従ってユーザにより設定されてもよい。 When the first sketch value more is queried in the index table, a plurality of corresponding storage address may have been acquired, when the first storage address is selected from the storage address corresponding to the first sketch value, first it is the rules for selecting a storage address may be set in advance or may be set by the user according to actual situation. 図1に対応する方法において第1ストレージアドレスを選択する説明が参照されるが、これは、本実施例において限定されるものでない。 Although described for selecting the first storage address is referenced in a method corresponding to FIG. 1, this is not limited in this embodiment.

本発明の実施例では、クエリリクエストを受信した後、物理ノードは、ローカルバーチャルノードにおいてクエリを実行し、ストレージアドレスがクエリを介し検出された場合、物理ノードは、当該クエリリクエストを送信したノードにクエリ結果をフィードバックする。 In an embodiment of the present invention, after receiving the query request, the physical node queries the local virtual node, when the storage address is detected through the query, physical node, the node that transmitted the query request and feeds back the query results. 具体的な実現形態では、クエリリクエストを受信した後、物理ノードは、ローカルバーチャルノードにおいてクエリを実行し、レスポンスメッセージにクエリ結果を配置することによって、クエリリクエストを送信した物理ノードにクエリ結果をフィードバックする。 In a specific implementation, after receiving the query request, the physical node feeds back the queries in the local virtual nodes, by placing the query result to the response message, the query results to the physical node that sent the query request to. ストレージアドレスがクエリを介し検出された場合、クエリを介し検出されたストレージアドレスがレスポンスメッセージに配置され、ストレージアドレスがクエリを介し検出されない場合、ヌル値がレスポンスメッセージによりフィードバックされるか、あるいは、具体的な実現形態において、ストレージアドレスがクエリを介し検出されない場合、フィードバックは返されない。 If the storage address is detected through the query, the detected storage address via the query is placed in the response message, when the storage address is not found through the query, or a null value is fed back by the response message, or, specifically in specific implementation, when the storage address is not found through the query, the feedback is not returned. ユーザは、実際の状況に従って具体的な実現方法を設定してもよい。 The user may set a specific implementation in accordance with the actual situation.

現在の物理ノードがn個の第1スケッチ値に対応する第1物理ノードにより返されたストレージアドレスを受信しない場合、データストリームの分割を介し取得されたデータブロックが、非重複データブロックとして利用される。 If the current physical node does not receive the storage address returned by the first physical node corresponding to the first sketch value of n, the data blocks obtained through the division of the data stream is used as a non-duplicate data blocks that.

ステップ54:第1ストレージアドレスにより指示されたストレージ領域に格納されるデータブロックのフィンガープリントと、受信したデータストリームの分割を介し取得された各データブロックのフィンガープリントとを比較し、重複したデータブロックをクエリする。 Step 54: compares the fingerprint data blocks stored in the storage area indicated by the first storage address, and a fingerprint of each data block obtained through the division of the received data stream, duplicate data blocks the query. ここで、取得された非重複データブロックは、新たなデータブロックとして利用される。 Here, non-overlapping data blocks obtained is used as a new data block.

具体的な実現形態では、現在の物理ノードは、受信したデータストリームの処理後にデータブロックとフィンガープリント情報とをキャッシュに格納し、データブロックのフィンガープリントを比較するための複数の方法が採用されてもよく、図1に対応する方法における説明が参照されてもよい。 In a specific implementation, the current physical node stores the data block and the fingerprint information in the cache after processing of the received data stream, a plurality of methods for comparing the fingerprint of the data blocks is employed at best, it may be referred to the description in the method corresponding to FIG.

ステップ55:新たなデータブロックを表す少なくとも1つの第2スケッチ値を取得し、第2アルゴリズムに従って各第2スケッチ値に対応する第2バーチャルノードを第2スケッチ値により特定し、バーチャルノードと物理ノードとの間の対応関係に従って、第2バーチャルノードが配置される第2物理ノードを特定し、各第2スケッチ値と第2スケッチ値により表されるデータブロックのストレージアドレスとの間の対応関係を対応する第2物理ノードの第2バーチャルノードに格納する。 Step 55: obtain at least one second sketch value representing the new data block, a second virtual node corresponding to each second sketch value in accordance with a second algorithm specified by the second sketch value, the virtual node and a physical node the correspondence according to the relation, identifying a second physical node second virtual node is arranged, the correspondence between the storage address of the data block represented by each second sketch value and the second sketch value between stored in the second virtual node of the corresponding second physical node.

2つのバーチャルノードが一例としてクラスタシステムの物理ノードの分割を介し取得されるとすることによって、物理ノードの内部構造の一例となる概略図の図6が参照される。 By two virtual nodes to be acquired through the division of physical nodes of the cluster system as an example, Figure 6 schematic diagram as an example of the internal structure of the physical node is referred to. 図6において、2つのバーチャルノード(VN)が1つの物理ノード(PN)の分割を介し取得され、インデックステーブルと長期間データを格納可能なストレージ装置とが1つのバーチャルノードに含まれる。 6, two virtual nodes (VN) is obtained through the division of a single physical node (PN), the index table and the long-term storage available storage device data is included in one virtual node. バーチャルノードと物理ノードとの間の対応関係テーブル(VPT)は、同時に各物理ノードに格納される。 Correspondence table between the virtual node and a physical node (VPT) is stored in each physical node simultaneously.

従来技術では、サンプリングされたフィンガープリント情報は、クエリのため全てのノードに送信される。 In the prior art, the fingerprint information sampled is sent to all nodes for the query. ノードにおけるクエリを実行する計算量はzであり、m個の物理ノードがあるとき、計算量はmと乗算されたzであることが仮定される。 Amount of calculation to query at the node is z, when there are m physical node, the amount of calculation it is assumed that a z multiplied with m. 本実施例により提供されるバーチャルノードを有するクラスタシステムにおける重複排除方法では、重複データクエリが受信したデータストリームに対して実行されると、各第1スケッチ値に対応し、クラスタシステム内にある第1物理ノードが、データストリームを表す第1スケッチ値に従って特定され、その後、データストリームを表す第1スケッチ値が、重複データクエリのための特定されたバーチャルノードに送信される。 The deduplication method in a cluster system having a virtual node that is provided by the present embodiment, a duplicate data query is executed on the received data stream, corresponding to each first sketch value, in the cluster system TH 1 physical nodes, identified in accordance with the first sketch value representing the data stream, then, first sketch value representing the data stream is sent to the specified virtual node for duplicate data query. 特定されたバーチャルノードの個数は、クラスタシステムの物理ノードの個数の増加により増加せず、重複データクエリの手順は、クラスタシステムの重複排除パフォーマンスを効果的に向上させるため、クラスタシステムのノードの個数の増加により変化しない。 The number of the identified virtual node does not increase by increasing the number of physical nodes of the cluster system, the procedure of duplicate data query in order to effectively improve the deduplication performance cluster system, the number of nodes in the cluster system It does not change due to the increase in.

図7を参照して、本発明は更に、クラスタシステムにおけるデータ処理方法の実施例を提供し、図5に対応するクラスタシステムにおけるデータ処理方法との相違は、クラスタシステムにおける重複データクエリが終了した後、受信したデータストリームに新たなデータブロックがあるか判断し、新たなデータブロックを格納することが要求されることであり、他のステップは図5に対応する実施例と同じである。 Referring to FIG. 7, the present invention further provides an embodiment of a data processing method in a cluster system, the difference between the data processing method in a cluster system corresponding to Figure 5, duplicate data query in a cluster system is completed after, it is determined whether there is new data block in the received data stream, is that of storing the new data blocks are required, other steps are the same as the embodiment corresponding to FIG. 従って、図5に対応する実施例に基づき、本方法は更に以下を含むものであってもよい。 Therefore, based on the embodiment corresponding to FIG. 5, the method may further include the following.

ステップ76:所定のストレージポリシーに従って、新たなデータブロックと当該新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを選択する。 Step 76: according to a predetermined storage policy, selects the storage address and fingerprint are written new data block and the new data block.

新たなデータブロックのストレージポリシーは、ユーザにより予め設定されてもよく、複数のストレージポリシーがあってもよい。 Storage policy of new data blocks may be previously set by the user, it may be a plurality of storage policies. 図4に対応する実施例において新たなデータブロックと当該新たなデータブロックに対応するフィンガープリントとが書き込まれるストレージアドレスを選択する方法に関する説明が参照されてもよく、データが移行される物理ノードが決定された後、物理ノード内のバーチャルノードのロードが考慮され、新たなデータブロックと当該新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスが、データが移行される選択された物理ノードにおいてロードがより低いバーチャルノードから取得されるという相違がある。 It may be instructions on how to select the storage address and fingerprint are written corresponding to the new data block and the new data block is referred to in the embodiment corresponding to FIG. 4, a physical node which data is migrated after being determined, loaded consideration of virtual nodes in physical node, storage addresses and fingerprint are written new data block and the new data block, the selected physical node data is migrated loaded there are differences that but is obtained from a lower virtual node.

ステップ77:所定のストレージ条件が充足されると、新たなデータブロックと当該新たなデータブロックのフィンガープリントとを選択されたストレージアドレスに対応するストレージ領域に書き込む。 Step 77: When the predetermined storage conditions are satisfied, writes to the storage area corresponding to the selected storage address and a fingerprint of the new data block and the new data block.

図6の具体例に説明されるように、コンテナバッファが各物理ノードに含まれてもよく、特定を介し取得された新たなデータブロックを一時的に格納するよう構成され、コンテナバッファに格納されているデータのサイズが第2閾値を超過すると、所定のストレージ条件が充足されたとみなされてもよく、ユーザは、実際の状況に従って第2閾値を設定してもよく、これは、本実施例において限定されるものでない。 As described in the specific examples in FIG. 6, the container buffer may be included in each physical node, configured to store the new data block obtained through the particular temporarily, stored in the container buffer When the size of data that exceeds the second threshold value may be regarded as a predetermined storage condition has been satisfied, the user may set a second threshold value according to the actual situation, which is the embodiment not intended to be limited in.

新たなデータブロックのストレージアドレスが取得された後、第2スケッチ値と当該第2スケッチ値により表されるデータブロックのストレージアドレスとの間の対応関係を対応する第2物理ノードに格納する具体的な機会は、本発明の実施例において限定されるものでない。 After storage address of a new data block is acquired, specifically for storing the correspondence between the storage address of the data block represented by the second sketch value and the second sketch value to a second physical node corresponding opportunities are not limited in embodiments of the present invention.

図7に対応する実施例により提供されるクラスタシステムにおけるデータ処理方法では、バーチャルノードのインデックステーブルは、重複データを検出する確率を更に向上させるため、定期的に更新される。 In a data processing method in a cluster system provided by the embodiment corresponding to FIG. 7, the index table of the virtual node, to improve the probability of detecting duplicate data is further updated periodically.

図8を参照して、バーチャルノードがクラスタシステムに含まれることに基づき、クラスタシステムの物理ノードにおけるデータ移行のための手段が提供される。 Referring to FIG. 8, on the basis of the virtual node in the cluster system, it means for data migration in the physical node of the cluster system is provided. 例えば、図8において、1つの物理ノードが2つの物理ノードに拡張されるケースにおけるデータ移行の概略図が説明される。 For example, in FIG. 8, a schematic diagram of a data migration in cases where one physical node is expanded to two physical nodes are described.

データ移行条件が充足されると、物理ノードPN1のバーチャルノードの1つが他の物理ノードPN2に一体的に移動され、これは、バーチャルノードVN1のインデックステーブルと、VN1に属する単一のインスタンスレポジトリのデータとをPN2に移動し、クラスタシステムにおける移行されるバーチャルノードと物理ノードとの間の対応関係を更新し、移行されるノードと物理ノードとの間の対応関係の更新をクラスタシステムにおける他の物理ノードに通知することを含む。 When the data migration condition is satisfied, one of the virtual nodes of the physical node PN1 is moved integrally with the other physical node PN2, which includes an index table for virtual nodes VN1, a single instance repository belonging to VN1 move the data PN2, it updates the correspondence between the virtual node and a physical node that will be migrated in a cluster system, the migrated node and physical node and correspondence update the other in a cluster system between including notifying the physical node. クラスタシステムにおける全てのバーチャルノードと全ての物理ノードとの間の更新された対応関係は、新たに追加されたPN2に格納される。 Updated correspondence between all virtual nodes and all physical nodes in the cluster system is stored in the PN2 newly added.

データ移行条件は、データがクラスタシステムの物理ノードのキャパシティ拡張中に新たに追加された物理ノードに移行される必要があることであってもよく、また、ロードバランシングのため、ロードが高い物理ノードのデータがロードが低い物理ノードに移行されることであってもよい。 Data migration condition, data may be that there needs to be migrated to the newly added physical node in the capacity expansion of the physical nodes of the cluster system, also for load balancing, load high physical node data may be be transferred to a low load physical node. データ移行条件は本発明の実施例において限定されるものでない。 Data migration condition is not limited in embodiments of the present invention.

バーチャルノードがクラスタシステムにおける分割を介し取得されず、物理ノードのデータが移行されると、データブロックと当該データブロックのフィンガープリントのストレージアドレスとが変更されるため、データブロックの論理アドレスとCIDとの間の対応関係が変更される必要があり、関連するCIDのデータは多数の物理ノードに格納され、この結果、計算量は大変大きくなる。 Virtual node is not obtained through the division in the cluster system, the data of the physical node is migrated, since the storage address of the fingerprint of the data block and the data block is changed, a logical address and CID of the data block there must be a corresponding relationship between changes, data in the associated CID is stored in a number of physical nodes, this results, calculation amount is extremely large. しかしながら、バーチャルノードにおけるデータは一体的に移動されるため、データ移行中に本発明の実施例により提供されるクラスタシステムを利用することによって、インデックステーブルのCIDは、データがバーチャルノードに格納される位置を示し、従って、バーチャルノードの識別子が変更されない限り、CIDは変更される必要はなく、関連するバーチャルノードと物理ノードとの間の対応関係のみが変更され、これは、ノード拡張中の処理手順を簡単化し、計算量を大きく低減する。 However, the data will be moved integrally in the virtual node, by utilizing the cluster system provided by embodiments of the present invention during data migration, CID index table is stored data in the virtual node position indicates, therefore, as long as the identifier of the virtual node does not change, CID need not be changed, the correspondence relationship only changes between the associated virtual node and a physical node, which is the processing of the node in extensions procedure simplifies greatly reduces the amount of computation.

本発明の実施例は、ストレージのためクラスタシステムにおいて適用され、複数のストレージノードがクラスタシステムに含まれる。 Examples of the present invention is applied in a cluster system for storage, a plurality of storage nodes in the cluster system. 本発明の実施例により提供されるクラスタシステムのデータ処理装置は、クラスタシステムの上述されたデータ処理方法を実行するよう構成され、クラスタシステムの物理ノードに設定されるか、クラスタシステムのマネージャに設定されるか、又はクラスタシステムの別のノードとして設定されてもよい。 The data processing device of a cluster system provided by embodiments of the present invention is set, it is configured to execute the above data processing method of the cluster system, or are set to the physical node of the cluster system, the manager of the cluster system either, or it may be set as a separate node in the cluster system. データ処理装置が設定される具体的な位置は、本発明の実施例において限定されるものでない。 Exact location where the data processing device is set, are not limited in embodiments of the present invention.

図9を参照して、本発明の実施例は、クラスタシステムにおけるデータ処理装置900を提供し、当該装置は以下を含む。 Referring to FIG. 9, an embodiment of the present invention is to provide a data processing apparatus 900 in a cluster system, the apparatus includes the following.

分割部90は、現在の物理ノードにより受信されたデータストリームをm個のデータブロックに分割し、各データブロックのフィンガープリントを取得するよう構成される。 Dividing unit 90 divides received by the current physical node the data stream into m data blocks, configured to obtain a fingerprint of each data block. ここで、mは1以上の整数である。 Here, m is an integer of 1 or more.

スケッチ値取得部91は、第1アルゴリズムに従ってデータストリームを表すn個の第1スケッチ値を取得するよう構成される。 Sketch value acquiring unit 91 is configured to obtain a first sketch value of n which represents the data stream according to the first algorithm. ここで、nは1以上であって、m以下の整数である。 Here, n is a 1 or more, which is an integer not less than m.

第1スケッチ値を取得するための第1アルゴリズムの上述した方法における説明が参照されてもよく、ここでは繰り返し説明されない。 It may be referenced description in the first algorithm above method for obtaining the first sketch value, not repeated here.

特定部92は、第2アルゴリズムに従ってn個の第1スケッチ値の各第1スケッチ値に対応し、クラスタシステム内にある第1物理ノードを特定するよう構成される。 Identifying unit 92 is configured to correspond to the first sketch value each of the n first sketch values ​​in accordance with a second algorithm to identify the first physical node in the cluster system.

特定部92が第1物理ノードを特定する方法は多数あってもよい。 How a particular unit 92 identifies a first physical node may be a large number. 例えば、当該値がm未満になるまで、第1スケッチ値に対してルート抽出及び丸め処理が実行され、最終的な結果が、対応する第1物理ノードを取得するため丸められ、各第1スケッチ値に対応し、クラスタシステム内にある第1物理ノードを取得するため、各第1スケッチ値によるモジュロ演算が、クラスタシステムの全ての物理ノードの個数に対して実行されてもよく、本発明の実施例では、特定部92が、具体的に、各第1スケッチ値に対応し、クラスタシステム内にある第1物理ノードを取得するため、クラスタシステムの全ての物理ノードの個数に対して各第1スケッチ値によるモジュロ演算を実行するよう構成されてもよい。 For example, until the value is less than m, the root extraction and rounding process to the first sketch value is performed, the final result is rounded to obtain the first physical node corresponding, respective first sketch It corresponds to the value, to obtain the first physical nodes in the cluster system, modulo operation according to the first sketch value may be performed for all of the number of physical nodes of the cluster system, the present invention in an embodiment, the specific part 92, specifically, corresponds to the first sketch value, in order to obtain the first physical node in the cluster system, the first for all of the number of physical nodes of the cluster system it may be configured to perform a modulo operation according to 1 sketch value.

送信部93は、各第1スケッチ値をクエリのため対応する第1物理ノードに送信するよう構成される。 Transmission unit 93 is configured to transmit each first sketch value to the first physical node corresponding for the query.

送信部93により送信されたクエリリクエストの受信後、クラスタシステムの他のノードは、ローカルに格納されたインデックステーブルに従って、第1スケッチ値に対応するストレージアドレスがあるかクエリする。 After receiving the query request sent by the transmission unit 93, the other nodes of the cluster system, according to the index table stored in the local, query any storage address corresponding to the first sketch value. 本発明の実施例は、クラスタシステムの各物理ノード又は大部分の物理ノードはインデックステーブルを格納し、スケッチ値と当該スケッチ値により表される格納されているデータブロックのストレージアドレスとの間の対応関係がインデックステーブルに格納され、インデックステーブルは、所定のポリシーに従ってクラスタシステムの物理ノードに格納され、データブロックと当該データブロックに対応するフィンガープリントとが、異なるストレージアドレスにより指示されるストレージ領域に格納される。 Embodiments of the present invention, the physical node of each physical node or most of the cluster system stores the index table, the correspondence between the storage address of the data block stored as represented by the sketch value and the sketch value relationship is stored in the index table storage, the index table is stored in the physical node of the cluster system in accordance with a predetermined policy, and fingerprint corresponding to the data block and the data block to the storage area indicated by the different storage address It is.

受信部94は、n個の第1スケッチ値に対応する第1物理ノードから少なくとも1つのレスポンスメッセージを受信し、レスポンスメッセージから第1ストレージアドレスを取得するよう構成される。 Receiving unit 94 receives at least one response message from the first physical node corresponding to the n first sketch value of number, configured to acquire a first storage address from the response message.

受信部94は、レスポンスメッセージから第1スケッチ値に対応するストレージアドレスを取得し、レスポンスメッセージに搬送される各ストレージアドレスのヒット数に関する統計量を収集するよう構成される統計量収集サブ部941と、統計量収集サブ部941の統計結果に従って、第1ストレージアドレスとして最大ヒット数を有するs個のストレージアドレスを選択するよう構成されるアドレス取得サブ部942とを有してもよく、ここで、sは1以上である。 Receiving unit 94 acquires the storage address corresponding to the first sketch value from the response message, the statistic collecting sub unit 941 configured to collect statistics about the number of hits for each storage address is conveyed in the response message , according to a statistical result of the statistic collecting sub unit 941 may have a configured address acquisition sub unit 942 to select the s number of storage addresses having a maximum number of hits as a first storage address, where s is 1 or more.

クエリ部95は、第1ストレージアドレスにより指示されるストレージ領域に格納されるデータブロックのフィンガープリントと、受信したデータストリームの分割を介し取得された各データブロックのフィンガープリントとを比較し、重複データブロックをクエリするよう構成され、クエリ部95により取得された非重複データブロックが新たなデータブロックとして利用される。 Query unit 95 compares the fingerprint data blocks stored in the storage area indicated by the first storage address, and a fingerprint of each data block obtained through the division of the received data stream, duplicate data is configured to query the block, non-overlapping data blocks obtained by the query unit 95 is utilized as a new data block.

更新部96は、新たなデータブロックを表す少なくとも1つの第2スケッチ値を取得し、第2アルゴリズムに従って各第2スケッチ値に対応する第2物理ノードを第2スケッチ値により特定し、各第2スケッチ値と各第2スケッチ値により表されるデータブロックのストレージアドレスとの間の対応関係を対応する第2物理ノードに格納するよう構成される。 Updating unit 96 acquires at least one of the second sketch value representing the new data block, specified by the second physical node second sketch value corresponding to each second sketch value in accordance with the second algorithm, the second configured to store a correspondence relationship between the storage address of the data block represented by the sketches values ​​and the second sketch value to a second physical node corresponding.

更新部96による新たなデータブロックを表す第2スケッチ値を取得するためのアルゴリズムは、ここで限定されることなく、第1スケッチ値を取得するための第1アルゴリズムと同じであってもよい。 Algorithm for acquiring the second sketch value representing a new data block by updating unit 96 is not limited herein, it may be the same as the first algorithm for obtaining the first sketch value.

各第2スケッチ値と各第2スケッチ値により表されるデータブロックのストレージアドレスとの間の対応関係は、インデックステーブルの1つのインデックスエントリとして利用される。 Correspondence between the storage address of the data block represented by each second sketch value and each second sketch value is used as one index entry in the index table. 本発明の実施例では、更新部96は、設定されたポリシーに従って物理ノードにインデックステーブルを格納し、ある物理ノードのインデックステーブルのデータと当該物理ノードのデータとの間には直接的な関係はなく、インデックステーブルは、設定された割当ポリシーに従って当該物理ノードに格納されるだけである。 In an embodiment of the present invention, updating unit 96 stores the index table to a physical node according to the policy that is set, a direct relationship between the certain physical nodes of the index table data and data of the physical node rather, the index table is only stored in the physical node in accordance with the assignment policy set. インデックステーブルの説明のため上述した方法の説明が参照されてもよく、詳細はここでは繰り返し説明されない。 May be referred to the description of the methods described above for explanation of the index table, detail will not be described again here.

上述した方法の説明を参照して、具体的な実現形態では、スケッチ値取得部91が第1アルゴリズムに従ってデータストリームを表すn個の第1スケッチ値を取得する方法は複数あってもよい。 See the description of the methods described above, in a specific implementation, a method of obtaining the first sketch value of n sketch value obtaining unit 91 represents the data stream according to a first algorithm may be a plurality. 例えば、スケッチ値取得部91は、フィンガープリントグループ化サブ部911と取得サブ部912とを有してもよい。 For example, sketch value obtaining unit 91 may have a fingerprint grouping sub unit 911 and the obtaining sub-unit 912.

フィンガープリントグループ化サブ部911は、データブロックのm個のデータブロックのフィンガープリントをn個の第1フィンガープリントグループにグループ化するよう構成され、各第1フィンガープリントグループは、少なくとも2つのデータブロックのフィンガープリントを有する。 Fingerprint grouping sub unit 911 is configured to group the fingerprints of m data blocks of the data block into n first fingerprint group, each of the first fingerprint group, at least two data blocks It has the fingerprint.

取得サブ部912は、n個の第1スケッチ値を取得するため、各フィンガープリントグループを表す第1スケッチ値を取得するよう構成される。 Acquisition sub unit 912 for obtaining the n first sketch value of number, configured to obtain a first sketch value representing each fingerprint group.

取得サブ部912は、具体的には、各フィンガープリントグループから最小のフィンガープリントを、当該最小のフィンガープリントが属するフィンガープリントグループを表す第1スケッチ値として選択するよう構成されてもよい。 Acquisition sub unit 912, specifically, the minimum fingerprint from each fingerprint group, may be configured to select a first sketch value representing the fingerprint group to which the smallest fingerprint belongs.

クラスタシステムのデータ処理装置の受信部94は更に、各第1スケッチ値をクエリのため対応する第1物理ノードに送信した後、第1物理ノードにより返されるストレージアドレスが受信されない場合、データストリームの分割を介し取得されるデータブロックを非重複データブロックとして利用し、その後に更新部96をトリガするよう構成されてもよい。 Furthermore the receiving unit 94 of the data processor of the cluster system, after transmitting the first physical node corresponding for each first sketch value query and the storage addresses returned by the first physical node is not received, the data stream utilizing the data blocks obtained through the division as a non-duplicate data blocks may be configured to trigger the updating unit 96 thereafter.

本発明の実施例により提供される装置は、クラスタシステムのストレージノードのコントローラに設定されてもよく、上述したデータ処理方法を実行するよう構成される。 Device provided by embodiments of the present invention may be set in the controller of the storage node of the cluster system configured to perform the above-described data processing method. 全てのユニットの機能の詳細な説明について、方法の実施例における説明が参照されてもよく、詳細はここでは繰り返し説明されない。 For a detailed description of the function of all the units, may be referred to the description of an embodiment of the method, details will not be described again here.

本発明の実施例により提供されるクラスタシステムにおけるデータ処理装置を通じて、受信したデータストリームに対して重複データクエリが実行されると、各第1スケッチ値に対応し、クラスタシステム内にある第1物理ノードが、データストリームを表す第1スケッチ値に従って特定され、その後、データストリームを表す第1スケッチ値は、重複データクエリのため特定された物理ノードに送信される。 Through the data processing device in a cluster system provided by embodiments of the present invention, the duplicate data query for the received data stream is performed, corresponding to the first sketch value, the first physical in the cluster system node, are identified according to the first sketch value representing the data stream, then, first sketch value representing the data stream is transmitted to the physical node identified for duplication data query. 重複データクエリの手順は、クラスタシステムにおけるノード数の増加により変化せず、各ノードの計算量は、クラスタシステムのノード数の増加により増加しない。 Procedure Duplicate data query does not change by increasing the number of nodes in a cluster system, the calculation amount of each node, does not increase due to an increase in the number of nodes in the cluster system.

クエリを介し非重複データを検出すると、クエリ部95は、非重複データを新たなデータブロックとみなし、当該新たなデータブロックを単一のインスタンスレポジトリに格納してもよい。 Upon detection of the non-duplicate data through the query, the query unit 95 regards the non-duplicate data as new data blocks may store the new data blocks to a single instance repository. 従って、本発明の実施例は更に以下を含むものであってもよい。 Thus, embodiments of the present invention may further include the following.

ライトアドレス取得部97は、所定のストレージポリシーに従って、新たなデータブロックと当該新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを選択するよう構成される。 Write address obtaining unit 97 according to a predetermined storage policy configured to select the storage address and fingerprint are written new data block and the new data block.

書き込み部98は、所定のストレージ条件が充足すると、新たなデータブロックと当該新たなデータブロックのフィンガープリントとを、選択されたストレージアドレスに対応するストレージ領域に書き込むよう構成される。 The write unit 98 when a predetermined storage condition is satisfied, configured to write the fingerprint of the new data block and the new data blocks to the storage area corresponding to the selected storage address.

ライトアドレス取得部97の新たなデータブロックのストレージポリシーは複数あってもよい。 Write address storage policy of a new data block acquisition unit 97 may be a plurality. 例えば、ライトアドレス取得部97は、 For example, the write address acquiring unit 97,
クラスタシステムの各物理ノードのロード情報を取得するよう構成されるロード情報取得サブ部971と、 And configured load information acquisition sub-unit 971 to acquire the load information of each physical node of the cluster system,
ロード情報に従って、データが移行される物理ノードを選択し、データが移行される選択された物理ノードから、新たなデータブロックと当該新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを取得するよう構成されるアドレス選択サブ部972と、 According to a load information, select the physical node data is migrated from the selected physical node data is migrated to obtain storage address and fingerprint are written new data block and the new data block and configured address selecting sub section 972,
を有する。 Having.

アドレス選択サブ部972がロード情報に従って新たなデータが書き込まれるストレージアドレスを選択する方法は複数あってもよい。 How the address selecting sub unit 972 selects a storage address new data is written in accordance with the load information may be a plurality. 例えば、クラスタシステムの全ての物理ノードの平均ロード値が第1所定閾値を超過したことが、ロード情報取得サブ部971により取得されたロード情報に従って特定されると、データが書き込まれるノードが、平均ロード値より小さいロード値の物理ノードから選択され、新たなデータブロックと当該新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスが、データが書き込まれるノードから取得され、クラスタシステムの全ての物理ノードの平均ロード値が第1所定閾値以下であるとき、新たなデータブロックと当該新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスが、現在の物理ノードから取得される。 For example, the average loading value of all physical nodes of the cluster system exceeds a first predetermined threshold value and is specified according to the load information acquired by the load information acquisition sub-unit 971, the node data is written, the average is selected from the physical nodes smaller load value than the load value, the fingerprint and the storage address to be written in the new data block and the new data block is acquired from the node where the data is written, all physical nodes of the cluster system when the average load value of equal to or less than a first predetermined threshold value, the fingerprint and the storage address to be written in the new data block and the new data block is obtained from the current physical node.

確かに、ライトアドレス取得部97の新たなデータブロックのストレージポリシーでは、ロード情報はまた特定されなくてもよく、アドレスは現在の物理ノードから直接選択され、ライトアドレス取得部97は、具体的には、現在の物理ノードから新たなデータブロックと当該新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを取得するよう構成されてもよい。 Indeed, in storage policy of new data blocks of the write address acquiring unit 97 may not load information is also specified, the address is selected directly from the current physical node, a write address obtaining unit 97, specifically it may be configured to obtain a storage address and fingerprint are written new data block and the new data block from the current physical node.

書き込み部98は、例えば、現在の物理ノードのキャッシュに新たなデータブロックを格納し、現在の物理ノードのキャッシュのデータが第2所定閾値に達し、所定のストレージ条件が充足されると、新たなデータブロックと当該新たなデータブロックのフィンガープリントとを選択されたストレージアドレスに対応するストレージ領域に書き込むよう構成されてもよい。 The write unit 98, for example, stores the new data block in the cache of the current physical node, the cache data of the current physical node reaches a second predetermined threshold value, when a predetermined storage condition is satisfied, a new it may be configured to be written into the storage area corresponding to the data block and the new data block fingerprints and selected storage address.

バーチャルノードがクラスタシステムに含まれるケースについて、少なくとも1つのバーチャルノードが、クラスタシステムの物理ノードの分割を介し論理的に取得され、クラスタシステムにおける全てのバーチャルノードと全ての物理ノードとの間の対応関係(VPT)が各物理ノードに含まれ、本発明の実施例では、少なくとも1つのバーチャルノードが、前記クラスタシステムの各物理ノードの分割を介し論理的に取得され、 For cases where the virtual node in the cluster system, at least one virtual node is logically get through the division of physical nodes of the cluster system, correspondence between all virtual nodes and all physical nodes in a cluster system relationship (VPT) is included in each physical node, in the embodiment of the present invention, at least one virtual node, the logically acquired through the division of each physical node of the cluster system,
特定部92は、具体的には、第2アルゴリズムに従ってn個の第1スケッチ値の各第1スケッチ値に対応し、クラスタシステム内にある第1バーチャルノードを特定し、現在の物理ノードのバーチャルノードと物理ノードとの間の対応関係をクエリにすることによって、第1バーチャルノードに対応する第1物理ノードを取得するよう構成され、取得される非重複データブロックは、新たなデータブロックとして利用される。 Identifying unit 92, specifically, it corresponds to the first sketch value each of the n first sketch values ​​in accordance with a second algorithm to identify the first virtual node of the cluster system, the virtual current physical node by the correspondence between the node and a physical node in the query is configured to obtain the first physical node corresponding to the first virtual node, non-overlapping data blocks to be acquired, used as a new data block It is.

更新部96は、具体的には、第2アルゴリズムに従って各第2スケッチ値に対応する第2バーチャルノードを第2スケッチ値により特定し、バーチャルノードと物理ノードとの間の対応関係に従って第2バーチャルノードが配置される第2物理ノードを特定し、新たなデータブロックのストレージアドレスの取得後、各第2スケッチ値と各第2スケッチ値により表されるデータブロックのストレージアドレスとの間の対応関係を対応する第2物理ノードの第2バーチャルノードに格納するよう構成される。 Updating unit 96, specifically, the second virtual node corresponding to each second sketch value in accordance with a second algorithm specified by the second sketch value, the second virtual according to the corresponding relationship between the virtual node and a physical node node identifies a second physical node being arranged, after the acquisition of the storage address of the new data block, correspondence between the storage address of the data block represented by each second sketch value and each second sketch value configured to store the second virtual node of the corresponding second physical node.

第2アルゴリズムに従ってn個の第1スケッチ値の各スケッチ値に対応し、クラスタシステム内にある第1バーチャルノードを特定する機能を実現する際、特定部92は、各第1スケッチ値に対応し、クラスタシステム内にある第1バーチャルノードを取得するため、各第1スケッチ値によるクラスタシステムの全てのバーチャルノードの個数に対するモジュロ演算を実行してもよい。 Corresponding to each sketch value of the first sketch value of n in accordance with the second algorithm, when implementing a function of identifying the first virtual node of the cluster system, the identifying unit 92 corresponds to the first sketch value , to obtain the first virtual node of the cluster system may perform a modulo operation to the number of all the virtual nodes of the cluster system of the respective first sketch value.

バーチャルノードがクラスタシステムに含まれるケースについて、クラスタシステムの物理ノードのデータ移行手段が実行されると、書き込み部98は更に、データ移行状態を充足すると、移行が必要なデータを有する物理ノードの少なくとも1つのバーチャルノードをターゲット物理ノードに一体的に移行するよう構成され、更新部98は更に、現在の物理ノードの移行されるバーチャルノードと物理ノードとの間の対応関係を更新し、クラスタシステムの他の物理ノードに移行されるノードと物理ノードとの間の対応関係を更新したことを通知するよう構成される。 For cases where the virtual node in the cluster system, the data migration unit of physical nodes in the cluster system is running, further writing unit 98, upon fulfillment of the data migration state, at least the physical node with migration required data one virtual node is configured to integrally migrated to the target physical node, the updating unit 98 further updates the correspondence relationship between virtual nodes and physical nodes to be migrated for the current physical node of the cluster system configured to notify that it has updated the correspondence between the node and a physical node to be migrated to another physical node.

データ移行条件は、ユーザにより予め設定されるか、クラスタシステムの物理ノードのキャパシティ拡張中に新たに追加された物理ノードにデータが移行される必要があることであってもよく、また、ロードバランシングのため、ロードが高い物理ノードのデータがロードが低い物理ノードに移行される。 Data migration condition is either preset by the user, it may be that the data needs to be migrated to the newly added physical node in the capacity expansion of the physical nodes of the cluster system, also, the load for balancing, data loading is high physical node is migrated to a low load physical node. 当該データ移行条件は、本発明の実施例では限定されない。 The data migration conditions are not limited in the embodiment of the present invention.

クラスタシステムのデータ処理装置は、新たな物理ノードに移行されるバーチャルノードのシリアル番号が変更されない間、物理ノードにおけるバーチャルノードの一体的な移行を実現してもよい。 The data processing apparatus of the cluster system, while the serial number of the virtual node to be migrated to the new physical node does not change, may be implemented integrally migration of a virtual node in the physical node. インデックステーブルのスケッチ値に対応するデータストレージアドレスはバーチャルノードにおけるデータが格納される位置を表し、バーチャルノードの識別子が変更されない限り、データストレージアドレスは変更される必要はなく、関連するバーチャルノードと物理ノードとの間の対応関係が変更され、これは、ノード拡張中の処理手続を簡単化し、計算量を大きく低減する。 Data storage address corresponding to the sketch value of the index table represents the position of data in the virtual node is stored, as long as the identifier of the virtual node is not changed, it is not necessary that the data storage address is changed, the associated virtual nodes and physical changed correspondence between nodes, which simplifies the processing procedure of the node during expansion, to greatly reduce the calculation amount.

図10を参照して、本発明の実施例は更に、クラスタシステムにおけるデータ処理装置100を提供する。 Referring to FIG. 10, the embodiment of the present invention further provides a data processing apparatus 100 in a cluster system. 当該装置は、クラスタシステムのストレージノードに設定されてもよく、プロセッサ101、メモリ102、ネットワークコントローラ103及び磁気ディスクコントローラ104を有し、プロセッサ101、プライマリメモリ102、ネットワークコントローラ103及び磁気ディスクコントローラ104は、バス105を介し接続される。 The device may be set in the storage node of the cluster system, a processor 101, a memory 102, a network controller 103 and the magnetic disk controller 104, a processor 101, a primary memory 102, the network controller 103 and the magnetic disk controller 104 It is connected via a bus 105.

ストレージコントローラ102は、プログラム1021を格納するよう構成される。 The storage controller 102 is configured to store the program 1021.

プロセッサ101は、プライマリメモリ102のプログラム1021を実行するよう構成される。 The processor 101 is configured to execute program 1021 of the primary memory 102.

プロセッサ101は、ネットワークコントローラ103を介しクラスタシステムの他のノードと通信し、例えば、図10の磁気ディスクなど、ローカルノードにおいて長時間データを格納可能なストレージ装置と磁気ディスクコントローラ104を介し通信する。 The processor 101 communicates with other nodes in the cluster system via the network controller 103, for example, such as a magnetic disk of FIG. 10, it communicates via the storage device and the magnetic disk controller 104 capable of storing long period data in the local node. 磁気ディスクコントローラ104により制御されるストレージ装置は、磁気ディスクに限定されず、他の記憶媒体により形成される装置であってもよい。 Storage devices controlled by the magnetic disk controller 104 is not limited to a magnetic disk, or may be a device formed by another storage medium.

具体的な実現形態では、メモリ102は、メモリなどのプライマリメモリであってもよく、具体的な実現形態は本発明の実施例では限定されない。 In a specific implementation, the memory 102 may be a primary memory such as a memory, specific implementation is not limited in the embodiment of the present invention.

具体的には、プログラム1021は、コンピュータ処理指示を含むプログラムコードを有してもよい。 Specifically, the program 1021 may have a program code including computer processing instruction.

プロセッサ102は、中央処理ユニットCPU又は特定用途向け集積回路ASICであってもよく、あるいは、本発明の実施例を実現するための1以上の集積回路として構成されてもよい。 The processor 102 may be a central processing unit CPU or an application specific integrated circuit ASIC, or may be configured as one or more integrated circuits for realizing the embodiment of the present invention.

図9を参照して、プログラム1021は以下を含むものであってもよい。 Referring to FIG. 9, the program 1021 may include the following.

分割部90は、現在の物理ノードにより受信されたデータストリームをm個のデータブロックに分割し、各データブロックのフィンガープリントを取得するよう構成され、mは1以上の整数である。 Dividing unit 90 is configured to divide received by the current physical node the data stream into m data blocks to obtain a fingerprint of each data block, m is an integer of 1 or more.

スケッチ値取得部91は、第1アルゴリズムに従ってデータストリームを表すn個の第1スケッチ値を取得するよう構成され、nは1以上であって、m以下の整数である。 Sketch value acquiring unit 91 is configured to acquire the first sketch value of n which represents the data stream according to the first algorithm, n is 1 or more, which is an integer not less than m.

第1スケッチ値を取得するための第1アルゴリズムについて、上述した方法の説明が参照されてもよく、詳細はここでは繰り返し説明されない。 A first algorithm for obtaining the first sketch value, may be referred to the description of the methods described above, details will not be described again here.

特定部92は、第2アルゴリズムに従ってn個の第1スケッチ値の各第1スケッチ値に対応し、クラスタシステム内にある第1物理ノードを特定するよう構成される。 Identifying unit 92 is configured to correspond to the first sketch value each of the n first sketch values ​​in accordance with a second algorithm to identify the first physical node in the cluster system.

特定部92が第1物理ノードを特定する方法は多数あるかもしれない。 The specific part 92 may method for identifying a first physical node are numerous. 例えば、ルート抽出及び丸め処理が、当該値がm未満になるまで、第1スケッチ値に対して実行され、対応する第1物理ノードを取得するため、最終結果が丸められる。 For example, root extraction and rounding up the value is less than m, is performed for the first sketch value, to obtain a corresponding first physical node, the final result is rounded. 各第1スケッチ値に対応し、クラスタシステム内にある第1物理ノードを取得するため、各第1スケッチ値によるモジュロ演算がまた、クラスタシステムの全ての物理ノードの個数に対して実行されてもよい。 Corresponding to each first sketch value, in order to obtain the first physical nodes in the cluster system, modulo operation according to the first sketch value also be performed for all of the number of physical nodes of the cluster system good.

本発明の実施例では、特定部92は、各第1スケッチ値に対応し、クラスタシステム内にある第1物理ノードを取得するため、クラスタシステムの全ての物理ノードの個数に対して各第1スケッチ値によるモジュロ演算を実行するよう構成される。 In an embodiment of the present invention, the identifying unit 92 corresponds to the first sketch value, in order to obtain the first physical node in the cluster system, the first for all of the number of physical nodes of the cluster system configured to perform a modulo operation according to the sketch value.

送信部93は、各第1スケッチ値をクエリのため対応する第1物理ノードに送信するよう構成される。 Transmission unit 93 is configured to transmit each first sketch value to the first physical node corresponding for the query.

送信部93により送信されたクエリリクエストの受信後、クラスタシステムの他のノードは、ローカルに格納されるインデックステーブルに従って、第1スケッチ値に対応するストレージアドレスがあるかクエリする。 After receiving the query request sent by the transmission unit 93, the other nodes of the cluster system, according to the index table stored in the local, query any storage address corresponding to the first sketch value. 本発明の実施例では、クラスタシステムの各物理ノード又は大部分の物理ノードは、インデックステーブルを格納し、スケッチ値と当該スケッチ値により表される格納されているデータブロックのストレージアドレスとの間の対応関係が、インデックステーブルに格納される。 In an embodiment of the present invention, the physical node of each physical node or most of the clustered system stores an index table, between the storage address of the data block stored as represented by the sketch value and the sketch value correspondence is stored in the index table. 当該インデックステーブルは、所定のポリシーに従ってクラスタシステムの物理ノードに格納され、データブロックと当該データブロックに対応するフィンガープリント情報とが、異なるストレージアドレスによって指示されるストレージ領域に格納される。 The index table is stored in the physical node of the cluster system in accordance with a predetermined policy, and fingerprint information corresponding to the data block and the data block is stored in the storage area indicated by the different storage addresses.

受信部94は、n個の第1スケッチ値に対応する第1物理ノードから少なくとも1つのレスポンスメッセージを受信し、レスポンスメッセージから第1ストレージアドレスを取得する。 Receiving unit 94 receives at least one response message from the first physical node corresponding to the n first sketch values ​​of the individual, to acquire a first storage address from the response message.

受信部94は、レスポンスメッセージから第1スケッチ値に対応するストレージアドレスを取得し、レスポンスメッセージに搬送される各ストレージアドレスのヒット数に関する統計量を収集するよう構成される統計量収集サブ部941と、統計量収集サブ部941の統計結果に従って、第1ストレージアドレスとして最大ヒット数を有するs個のストレージアドレスを選択するよう構成されるアドレス取得サブ部942とを有してもよい。 Receiving unit 94 acquires the storage address corresponding to the first sketch value from the response message, the statistic collecting sub unit 941 configured to collect statistics about the number of hits for each storage address is conveyed in the response message , according to a statistical result of the statistic collecting sub unit 941 may have a configured address acquisition sub unit 942 to select the s number of storage addresses having a maximum number of hits as a first storage address. ここで、sは1以上である。 Here, s is 1 or more.

クエリ部95は、第1ストレージアドレスにより指示されるストレージ領域に格納されるデータブロックのフィンガープリントと、受信したデータストリームの分割を介し取得された各データブロックのフィンガープリントとを比較し、重複データブロックをクエリするよう構成される。 Query unit 95 compares the fingerprint data blocks stored in the storage area indicated by the first storage address, and a fingerprint of each data block obtained through the division of the received data stream, duplicate data configured to query block. 取得された非重複データブロックは、新たなデータブロックとして利用される。 Non-overlapping data blocks obtained is used as a new data block.

更新部96は、新たなデータブロックを表す少なくとも1つの第2スケッチ値を取得し、第2アルゴリズムに従って各第2スケッチ値に対応する第2物理ノードを第2スケッチ値により特定し、各第2スケッチ値と各第2スケッチ値により表されるデータブロックのストレージアドレスとの間の対応関係を対応する第2物理ノードに格納するよう構成される。 Updating unit 96 acquires at least one of the second sketch value representing the new data block, specified by the second physical node second sketch value corresponding to each second sketch value in accordance with the second algorithm, the second configured to store a correspondence relationship between the storage address of the data block represented by the sketches values ​​and the second sketch value to a second physical node corresponding.

更新部96により新たなデータブロックを表す第2スケッチ値を取得するためのアルゴリズムは、ここでは限定されないが、第1スケッチ値を取得するための第1アルゴリズムと同じであってもよい。 Algorithm for acquiring the second sketch value representing a new data block by updating unit 96 is not limited here, it may be the same as the first algorithm for obtaining the first sketch value.

各第2スケッチ値と各第2スケッチ値により表されるデータブロックのストレージアドレスとの間の対応関係が、インデックステーブルの1つのインデックスエントリとして利用される。 Correspondence between the storage address of the data block represented by each second sketch value and each second sketch value is utilized as one index entry in the index table. 本発明の実施例では、更新部96は、所定のポリシーに従ってインデックステーブルを物理ノードに格納し、特定の物理ノードのインデックステーブルのデータと当該物理ノードのデータとの間には直接的な関係はなく、インデックステーブルのみが、設定された割当ポリシーに従って特定の物理ノードに格納される。 In an embodiment of the present invention, updating unit 96 stores the index table to a physical node in accordance with a predetermined policy, the direct relationship between the data of the data and the physical node of the index table for a specific physical node without only the index table is stored in a specific physical node in accordance with the assignment policy set. インデックステーブルの説明については、上述した方法の説明が参照されてもよく、詳細はここでは繰り返し説明されない。 For a description of the index table may be referred to the description of the methods described above, details will not be described again here.

上述した方法の説明を参照して、特定の実現形態では、スケッチ値取得部91が第1アルゴリズムに従ってデータストリームを表すn個のスケッチ値を取得する方法が複数あってもよい。 See the description of the methods described above, in a particular implementation, the sketch value acquisition unit 91 is a method of obtaining n pieces sketch value representing the data stream may be a plurality according to the first algorithm. 例えば、スケッチ値取得部91は、フィンガープリントグループ化サブ部911と取得サブ部912とを有してもよく、フィンガープリントグループ化サブ部911は、データストリームのm個のデータブロックのフィンガープリントをn個の第1フィンガープリントグループにグループ化するよう構成され、各第1フィンガープリントグループは、少なくとも2つのデータブロックのフィンガープリントを有する。 For example, sketch value obtaining unit 91 may have a a fingerprint grouping sub unit 911 and the obtaining sub-unit 912, the fingerprint grouping sub unit 911, the fingerprint of m data blocks of the data stream configured to group into n first fingerprint group, each of the first fingerprint group has a fingerprint of at least two data blocks.

取得サブ部912は、n個の第1スケッチ値を取得するため、各フィンガープリントグループを表す第1スケッチ値を取得するよう構成される。 Acquisition sub unit 912 for obtaining the n first sketch value of number, configured to obtain a first sketch value representing each fingerprint group.

取得サブ部912は、最小のフィンガープリントが属するフィンガープリントグループを表す第1スケッチ値として、各フィンガープリントグループから最小のフィンガープリントを選択するよう構成されてもよい。 Acquisition sub unit 912, a first sketch value representing the fingerprint groups smallest fingerprint belongs, may be configured to select the smallest fingerprint from each fingerprint group.

クラスタシステムのデータ処理装置の受信部94は更に、例えば、第1物理ノードによりフィードバックされるストレージアドレスが、各第1スケッチ値がクエリのため対応する第1物理ノードに送信された後に受信されない場合、非重複データブロックとしてデータストリームの分割を介し取得されるデータブロックを利用し、その後、更新部96をトリガするよう構成されてもよい。 Furthermore the receiving unit 94 of the data processor of the cluster system, for example, when the storage address is fed back by the first physical nodes, each first sketch value is not received after being transmitted to the first physical node corresponding for query , utilizing the data blocks obtained through the division of the data stream as a non-duplicate data block may then be configured to trigger an updating unit 96.

本発明の実施例により提供される装置は、クラスタシステムのストレージノードのコントローラにおいて設定されてもよく、上述したデータ処理方法を実行するよう構成される。 Device provided by embodiments of the present invention may be set in the controller of the storage node of the cluster system configured to perform the above-described data processing method. 全てのユニットの機能の詳細な説明について、方法の実施例の説明が参照されてもよく、詳細はここでは繰り返し説明されない。 For a detailed description of the function of all the units, may be described in the embodiment of the method is referred to, details will not be described again here.

本発明の実施例により提供されるクラスタシステムのデータ処理装置を介して、受信したデータストリームに対して重複データクエリが実行されると、サンプリングされたスケッチ値が、重複データクエリのため特定された物理ノードに送信され、重複データクエリの手順は、クラスタシステムのノード数の増加により変化しない。 Via the data processor of the cluster system provided by embodiments of the present invention, the duplicate data query for the received data stream is performed, the sampled sketch values ​​were specified for the duplicate data query is sent to a physical node, the procedure of duplicate data query is not changed by increasing the number of nodes in the cluster system. 従って、各ノードの計算量は、クラスタシステムのノード数の増加により増加しない。 Therefore, the calculation amount of each node, does not increase due to an increase in the number of nodes in the cluster system.

クエリを介し非重複データを検出すると、クエリ部95は、非重複データを新たなデータブロックとみなし、当該新たなデータブロックをシングルインスタンスレポジトリに格納する。 Upon detection of the non-duplicate data through the query, the query unit 95 considers non-overlapping data with the new data block, and stores the new data blocks to a single instance repository. このため、本発明の実施例は更に以下を含む。 Thus, embodiments of the present invention comprises further below.

ライトアドレス取得部97は、所定のストレージポリシーに従って、新たなデータブロックと当該新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを選択するよう構成される。 Write address obtaining unit 97 according to a predetermined storage policy configured to select the storage address and fingerprint are written new data block and the new data block.

書き込み部98は、所定のストレージ条件が充足すると、新たなデータブロックと当該新たなデータブロックのフィンガープリントとを、選択されたストレージアドレスに対応するストレージ領域に書き込むよう構成される。 The write unit 98 when a predetermined storage condition is satisfied, configured to write the fingerprint of the new data block and the new data blocks to the storage area corresponding to the selected storage address.

ライトアドレス取得部97の新たなデータブロックの複数のストレージポリシーがあってもよい。 There may be a plurality of storage policies of new data blocks of the write address obtaining unit 97. 例えば、ライトアドレス取得部97は、 For example, the write address acquiring unit 97,
クラスタシステムの各物理ノードのロード情報を取得するよう構成されるロード情報取得サブ部971と、 And configured load information acquisition sub-unit 971 to acquire the load information of each physical node of the cluster system,
ロード情報に従って、データが移行される物理ノードを選択し、データが移行される物理ノードから、新たなデータブロックと当該新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを取得するよう構成されるアドレス選択サブ部972と、 According to a load information, configured to select a physical node that data is migrated from the physical node data is migrated to obtain a storage address and fingerprint are written new data block and the new data block the address selected sub-section 972,
を有する。 Having.

アドレス選択サブ部972がロード情報に従って新たなデータが書き込まれるストレージアドレスを選択する方法は複数あってもよい。 How the address selecting sub unit 972 selects a storage address new data is written in accordance with the load information may be a plurality. 例えば、ロード情報取得サブ部971により取得されるロード情報に従って、クラスタシステムの全ての物理ノードの平均ロード値が第1所定閾値を超過したことが特定されると、データが書き込まれるノードは、平均ロード値より小さいロード値の物理ノードから選択され、新たなデータブロックと当該新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスが、データが書き込まれるノードから取得され、クラスタシステムの全ての物理ノードの平均ロード値が第1所定閾値以下であるとき、新たなデータブロックと当該新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスが、現在の物理ノードから取得される。 For example, according to the load information acquired by the load information acquisition sub-unit 971, the average load value of all physical nodes of the cluster system is identified that exceeds a first predetermined threshold value, the node data is written, the average is selected from the physical nodes smaller load value than the load value, the fingerprint and the storage address to be written in the new data block and the new data block is acquired from the node where the data is written, all physical nodes of the cluster system when the average load value of equal to or less than a first predetermined threshold value, the fingerprint and the storage address to be written in the new data block and the new data block is obtained from the current physical node.

確かに、ライトアドレス取得部97の新たなデータブロックのストレージポリシーでは、ロード情報はまた特定されなくてもよく、アドレスは現在の物理ノードから直接選択される。 Indeed, in storage policy of new data blocks of the write address acquiring unit 97 may not load information is also specified, the address is selected directly from the current physical node. 従って、ライトアドレス取得部97は、現在の物理ノードから、新たなデータブロックと当該新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを取得するよう構成されてもよい。 Accordingly, the write address acquiring unit 97, from the current physical node may be configured to acquire the storage address and fingerprint are written new data block and the new data block.

書き込み部98は、例えば、現在の物理ノードのキャッシュに新たなデータブロックを格納し、現在の物理ノードのキャッシュが第2所定閾値に達し、所定のストレージ条件を充足すると、新たなデータブロックと当該新たなデータブロックのフィンガープリントとを選択されたストレージアドレスに対応するストレージ領域に書き込むよう構成されてもよい。 The write unit 98, for example, stores the new data block in the cache of the current physical node, the cache of the current physical node reaches a second predetermined threshold value, when fulfilling a predefined storage conditions, the new data block and the it may be configured to be written into the storage area corresponding to the selected storage address and a fingerprint of the new data block.

バーチャルノードがクラスタシステムに含まれるケースについて、少なくとも1つのバーチャルノードがクラスタシステムの物理ノードの分割を介し論理的に取得され、クラスタシステムの全てのバーチャルノードと物理ノードとの間の対応関係(VPT)が各物理ノードに含まれ、本発明の実施例では、少なくとも1つのバーチャルノードが各物理ノードの分割を介し論理的に取得される。 For cases where the virtual node in the cluster system, the at least one virtual node is logically get through the division of physical nodes of the cluster system, correspondence between all virtual nodes and physical nodes in a cluster system (VPT ) it is included in each physical node, in the embodiment of the present invention, at least one virtual node is logically get through the division of each physical node.

特定部92は、第2アルゴリズムに従ってn個の第1スケッチ値の各第1スケッチ値に対応し、クラスタシステム内にある第1バーチャルノードを特定し、バーチャルノードと物理ノードとの間の対応関係をクエリにすることによって、第1バーチャルノードに対応する第1物理ノードを取得するよう構成され、取得される非重複データブロックは、新たなデータブロックとして利用され、 Specifying unit 92 corresponds to the first sketch value each of the first sketch value of n in accordance with a second algorithm to identify the first virtual node of the cluster system, correspondence between the virtual node and a physical node the by the query is configured to obtain the first physical node corresponding to the first virtual node, non-overlapping data blocks to be acquired is used as a new data block,
更新部96は、新たなデータブロックを表す少なくとも1つの第2スケッチ値を取得し、第2アルゴリズムに従って各第2スケッチ値に対応する第2バーチャルノードを第2スケッチ値により特定し、バーチャルノードと物理ノードとの間の対応関係に従って第2バーチャルノードが配置される第2物理ノードを特定し、新たなデータブロックのストレージアドレスの取得後、各第2スケッチ値と各第2スケッチ値により表されるデータブロックのストレージアドレスとの間の対応関係を対応する第2物理ノードの第2バーチャルノードに格納するよう構成される。 Updating unit 96 acquires at least one of the second sketch value representing the new data block, specified by the second virtual node second sketch value corresponding to each second sketch value in accordance with the second algorithm, a virtual node second virtual node to identify the second physical node arranged according to the corresponding relationship between the physical nodes, after obtaining the storage address of the new data block is represented by each second sketch value and each second sketch value that is configured to store a correspondence relationship between the storage address of the data block to the second virtual node of the corresponding second physical node.

第2アルゴリズムに従ってn個の第1スケッチ値の各スケッチ値に対応し、クラスタシステム内にある第1バーチャルノードを特定する機能を実現するとき、特定部92は、各第1スケッチ値に対応し、クラスタシステム内にある第1バーチャルノードを取得するため、各第1スケッチ値によるモジュロ演算をクラスタシステムの全てのバーチャルノードの個数に対して実行してもよい。 Corresponding to each sketch value of the first sketch value of n in accordance with the second algorithm, when implementing a function of identifying the first virtual node of the cluster system, the identifying unit 92 corresponds to the first sketch value , to obtain the first virtual node of the cluster system may perform a modulo operation according to the first sketch value for all of the number of virtual nodes of the cluster system.

バーチャルノードがクラスタシステムに含まれるケースについて、クラスタシステムの物理ノードのデータ移行手段が実行されるとき、書き込み部98は更に、データ移行状態を充足すると、移行が必要なデータを有する物理ノードの少なくとも1つのバーチャルノードをターゲット物理ノードに一体的に移行するよう構成され、更新部96は更に、現在の物理ノードの移行されるバーチャルノードと物理ノードとの間の対応関係を更新し、クラスタシステムの他の物理ノードに移行されるノードと物理ノードとの間の対応関係を更新したことを通知するよう構成される。 For cases where the virtual node in the cluster system, when the data transfer unit of a physical node of the cluster system is running, further writing unit 98, upon fulfillment of the data migration state, at least the physical node with migration required data one virtual node is configured to integrally migrated to the target physical node, further updating unit 96 updates the correspondence relationship between virtual nodes and physical nodes to be migrated for the current physical node of the cluster system configured to notify that it has updated the correspondence between the node and a physical node to be migrated to another physical node.

データ移行条件は、ユーザにより予め設定されてもよく、クラスタシステムの物理ノードのキャパシティ拡張中にデータが新たに追加された物理ノードに移行される必要があるというものであってもよく、また、ロードバランシングのため、ロードが高い物理ノードのデータがロードが低い物理ノードに移行されるというものであってもよい。 Data migration condition may be one that may be preset by the user, data in the capacity expansion of the physical nodes of the cluster system needs to be migrated to the newly added physical node, also , for load balancing may be that data load is high physical node is transferred to the load is low physical node. データ移行条件は本発明の実施例では限定されない。 Data migration condition is not limited in the embodiment of the present invention.

クラスタシステムのデータ処理装置は、新たな物理ノードに移行されるバーチャルノードのシリアル番号が変わらない間、物理ノードのバーチャルノードの一体的な移行を実現してもよく、インデックステーブルのスケッチ値に対応するデータストレージアドレスは、データがバーチャルノードに格納される位置を表す。 The data processing apparatus of the cluster system, while the serial number of the virtual node to be migrated to the new physical node does not change may be realized an integral transition virtual node physical nodes, corresponding to the sketch value of the index table data storage address represents a position where the data is stored in the virtual node. 従って、バーチャルノードの識別子が変更しない限り、データストレージアドレスは変更される必要はなく、関係するバーチャルノードと物理ノードとの間の対応関係のみが変更され、これは、ノード拡張中の処理手順を簡単化し、計算量を大きく低減する。 Therefore, as long as the identifier of the virtual node does not change, it is not necessary that the data storage address is changed, only the correspondence between the virtual node and a physical node that relationship is changed, which is a procedure of a node in extensions simplified, greatly reducing the amount of calculation.

本発明の実施例は更に、データ処理のためのコンピュータプログラムを提供し、当該コンピュータプログラムは、プログラムコードを格納するコンピュータ可読記憶媒体を有し、プログラムコードに含まれる命令は、 Embodiments of the present invention further provides a computer program for the data processing, the computer program includes a computer readable storage medium storing program codes, instructions included in the program code,
現在の物理ノードにより受信されたデータストリームをm個のデータブロックに分割し、各データブロックのフィンガープリントを取得し、第1アルゴリズムに従って前記データストリームを表すn個の第1スケッチ値を取得するステップであって、mは1以上の整数であり、nは1以上であって、m以下の整数である、取得するステップと、 Dividing the data stream received by the current physical node into m data blocks to obtain the fingerprint of each data block, to obtain a first sketch value of n representing the data stream in accordance with a first algorithm steps a is, m is an integer of 1 or more, n represents a 1 or more, which is an integer m, and obtaining,
第2アルゴリズムに従って前記n個の第1スケッチ値の各第1スケッチ値に対応し、前記クラスタシステム内にある第1物理ノードを特定し、各第1スケッチ値をクエリのため前記対応する第1物理ノードに送信するステップと、 It corresponds to the first sketch value each of the first sketch value of the n in accordance with the second algorithm, first to identify the first physical node within the cluster system, the corresponding for the each first sketch value query sending to the physical node,
前記n個の第1スケッチ値に対応する第1物理ノードから少なくとも1つのレスポンスメッセージを受信し、前記レスポンスメッセージから第1ストレージアドレスを取得するステップと、 A step of receiving said at least one response message from the n first physical node corresponding to the first sketch value to obtain a first storage address from said response message,
前記第1ストレージアドレスにより指示されるストレージ領域に格納されるデータブロックのフィンガープリントと、前記データストリームの分割を介し取得された各データブロックのフィンガープリントとを比較し、重複データブロックをクエリするステップとであって、取得された非重複データブロックが新たなデータブロックとして利用される、クエリするステップと、 The step of query and fingerprint data blocks stored in the storage area, comparing the fingerprint of each data block obtained through the division of the data stream, the duplicate data block indicated by said first storage address I met, the steps of non-overlapping data blocks obtained is is the query utilized as new data blocks,
前記新たなデータブロックを表す少なくとも1つの第2スケッチ値を取得し、前記第2アルゴリズムに従って各第2スケッチ値に対応する第2物理ノードを前記第2スケッチ値により特定し、各第2スケッチ値と各第2スケッチ値により表されるデータブロックのストレージアドレスとの間の対応関係を前記対応する第2物理ノードに格納するステップと、 Obtain at least one second sketch value representing said new data block, specified by a second physical node the second sketch value corresponding to each second sketch value in accordance with said second algorithm, the second sketch value and storing the said corresponding second physical node the correspondence relation between the storage address of the data block represented by each second sketch value,
を実行するのに利用される。 It is used to run.

本発明の実施例により提供されるデータ処理のためのコンピュータプログラムは、プログラムコードを格納するコンピュータ可読記憶媒体を有し、プログラムコードに含まれる命令は、上述した方法の実施例の方法を実行するのに利用されてもよく、具体的な実現形態について、方法の実施例が参照されてもよく、詳細はここでは繰り返し説明されない。 Computer programs for data processing provided by the embodiments of the present invention has a computer-readable storage medium storing program codes, instructions included in the program code to perform the method embodiment of the methods described above may be used to, specific implementation, may be referred to the embodiment of the method, details will not be described again here.

便宜上及び説明の簡単化のため、上述したシステム、装置及びユニットの具体的な作業処理について、方法の実施例の対応する処理が参照されてもよく、詳細はここでは繰り返し説明されない。 For simplicity of convenience and explanation, the systems described above, a specific working process of the device and units may be referenced corresponding process in Example methods, details will not be described again here.

本出願に提供される複数の実施例では、開示されたシステム、装置及び方法は他の方法により実現されてもよいことが理解されるべきである。 In several embodiments provided in the present application, the disclosed systems, devices and methods should be understood that may be realized by other methods. 例えば、ユニットの分割は単に一種の論理機能の分割であり、実際の実現形態では他の分割方法があってもよい。 For example, the division of the unit is simply divided in one logic function, the actual implementation may be other methods of resolution. 例えば、複数のユニット又はコンポーネントが他のシステムに合成又は統合されてもよいし、あるいは、一部の特徴は無視又は実行されなくてもよい。 For example, a plurality of units or components may be combined or integrated with other systems, or may not part of the features are ignored or executed. 更に、図示又は説明された相互の結合、直接的な結合又は通信接続は、いくつかの通信インタフェースを介し実現されてもよい。 Furthermore, the binding of each other which are shown or described, a direct bond or communication connection may be achieved via several communication interfaces. 装置又はユニットの間の間接的な結合又は通信接続は、電子的、機械的又は他の形態により実現されてもよい。 Indirect coupling or communication connection between devices or units, electronic, may be realized by mechanical or other forms.

別個のパーツとして説明されるユニットは、物理的に分離されていてもよいし又はそうでなくてもよく、ユニットとして示されるパーツは物理的ユニットであってもよいし、そうでなくてもよく、1つのポジションに配置されてもよいし、あるいは、複数のネットワークユニットに分散されてもよい。 Units described as separate parts may not be to or otherwise may be physically separated, parts shown as units may be physical units, may or may not , it may be arranged in one position, or may be distributed over multiple network units. ユニットの一部又は全ては、実施例の手段の課題を達成するための実際のニーズに従って選択されてもよい。 Some or all of the units may be selected according to actual needs in order to achieve the problem of means of Examples.

更に、本発明の実施例の機能部は1つの処理部に一体化されてもよく、各部はまた物理的に単独で存在してもよく、2つ以上のユニットがまた1つのユニットに統合される。 Furthermore, functional portions of the embodiment of the present invention may be integrated into one processing unit, each unit is also physically may be present alone, two or more units is also integrated into a single unit that.

機能がソフトウェア機能部の形態で実現され、独立した製品として販売又は利用されるとき、これらの機能はコンピュータ可読記憶媒体に格納されてもよい。 Function is realized in the form of a software function unit, when it is sold or used as an independent product, the functions may be stored in a computer-readable storage medium. このような理解に基づき、実質的に又は部分的に従来技術に貢献する本発明の技術的手段又は当該技術的手段の一部は、ソフトウェアプロダクトの形態により実現されてもよい。 Based on this understanding, some of the technical means or the technical means of the present invention that contributes to substantially or partially prior art, may be implemented in the form of a software product. コンピュータソフトウェアプロダクトは、記憶媒体に格納され、本発明の実施例に説明される方法のステップの全て又は一部を実行するようコンピュータ装置(パーソナルコンピュータ、サーバ、ネットワーク装置などであってもよい)に指示するための複数の命令を含む。 Computer software product is stored in a storage medium, the computer device to perform all or part of the steps of the method described in Example of the present invention (a personal computer, a server, may be a network device) comprising a plurality of instructions for directing. 上述した記憶媒体は、USBフラッシュディスク、着脱可能なハードディスク、ROM(Read Only Memory)、RAM(Random Access Memory)、磁気ディスク又は光ディスクなど、プログラムコードを格納可能な何れかの媒体を含む。 Above storage medium includes USB flash disk, removable hard disk, ROM (Read Only Memory), RAM (Random Access Memory), such as a magnetic disk or optical disk, to any medium capable of storing program code.

上記説明は、本発明の単なる特定の実施例であり、本発明の保護範囲を限定することを意図していない。 The above description is merely specific embodiments of the present invention and are not intended to limit the protection scope of the present invention. 本発明に開示される技術的範囲内において当業者により容易に理解される何れかの変形又は置換は、本発明の保護範囲内に属する。 Any variations or substitutions readily understood by those skilled in the art within the technical scope disclosed in the present invention are within the protection scope of the present invention. 従って、本発明の保護範囲は、請求項の保護範囲に従う。 Therefore, the protection scope of the present invention, according to the protection scope of the claims.

Claims (30)

  1. クラスタシステムにおけるデータ処理方法であって、 A data processing method in a cluster system,
    現在の物理ノードが、受信されたデータストリームをm個のデータブロックに分割し、各データブロックのフィンガープリントを取得し、第1アルゴリズムに従って前記データストリームを表すn個の第1スケッチ値を取得するステップであって、mは1以上の整数であり、nは1以上であって、m以下の整数である、取得するステップと、 Current physical node, divides the received data stream into m data blocks to obtain the fingerprint of each data block, to obtain a first sketch value of n representing the data stream in accordance with a first algorithm a step, m is an integer of 1 or more, n represents a 1 or more, which is an integer m, and obtaining,
    第2アルゴリズムに従って前記n個の第1スケッチ値の各第1スケッチ値に対応し、前記クラスタシステム内にある第1物理ノードを特定し、各第1スケッチ値をクエリのため前記対応する第1物理ノードに送信するステップと、 It corresponds to the first sketch value each of the first sketch value of the n in accordance with the second algorithm, first to identify the first physical node within the cluster system, the corresponding for the each first sketch value query sending to the physical node,
    前記n個の第1スケッチ値に対応する第1物理ノードから少なくとも1つのレスポンスメッセージを受信し、前記レスポンスメッセージから第1ストレージアドレスを取得するステップと、 A step of receiving said at least one response message from the n first physical node corresponding to the first sketch value to obtain a first storage address from said response message,
    前記第1ストレージアドレスにより指示されるストレージ領域に格納されるデータブロックのフィンガープリントと、前記データストリームの分割を介し取得された各データブロックのフィンガープリントとを比較し、重複データブロックをクエリするステップであって、取得された非重複データブロックが新たなデータブロックとして利用される、クエリするステップと、 Comparing the fingerprint of the data blocks stored in the storage area indicated by the first storage address, and a fingerprint of each data block in which the obtained through the division of the data stream, to query the duplicate data block step a flop, non-overlapping data blocks obtained is used as a new data block, the steps of the query,
    前記新たなデータブロックを表す少なくとも1つの第2スケッチ値を取得し、前記第2アルゴリズムに従って各第2スケッチ値に対応する第2物理ノードを前記第2スケッチ値により特定し、各第2スケッチ値と各第2スケッチ値により表されるデータブロックのストレージアドレスとの間の対応関係を前記対応する第2物理ノードに格納するステップと、 Obtain at least one second sketch value representing said new data block, specified by a second physical node the second sketch value corresponding to each second sketch value in accordance with said second algorithm, the second sketch value and storing the said corresponding second physical node the correspondence relation between the storage address of the data block represented by each second sketch value,
    を有する方法。 A method having the.
  2. 少なくとも1つのバーチャルノードが、前記クラスタシステムの各物理ノードの分割を介し論理的に取得され、前記クラスタシステムにおけるバーチャルノードと物理ノードとの間の対応関係が、各物理ノードに含まれ、 At least one virtual node, the logically acquired through the division of each physical node of the cluster system, correspondence between the virtual node and a physical node in the cluster system, included in each physical node,
    前記第2アルゴリズムに従って前記n個の第1スケッチ値の各第1スケッチ値に対応し、前記クラスタシステム内にある第1物理ノードを特定するステップは、 Wherein the step of in accordance with the second algorithm corresponds to the first sketch value each of the first sketch value of the n, identifying a first physical node within the cluster system,
    前記第2アルゴリズムに従って前記n個の第1スケッチ値の各第1スケッチ値に対応し、前記クラスタシステム内にある第1バーチャルノードを特定し、バーチャルノードと物理ノードとの間の対応関係をクエリにすることによって、前記第1バーチャルノードに対応する第1物理ノードを取得するステップを有し、 Corresponds to the first sketch value each of the first sketch value of the n in accordance with said second algorithm, to identify a first virtual node within the cluster system, query the correspondence between the virtual node and a physical node by the, comprising the steps of obtaining a first physical node corresponding to the first virtual node,
    前記第2アルゴリズムに従って各第2スケッチ値に対応する第2物理ノードを前記第2スケッチ値により特定し、各第2スケッチ値と各第2スケッチ値により表されるデータブロックのストレージアドレスとの間の対応関係を前記対応する第2物理ノードに格納するステップは、 Between the storage address of the second physical node corresponding to each second sketch value in accordance with a second algorithm specified by the second sketch value, the data block represented by each second sketch value and each second sketch value the step of storing a correspondence relationship to a second physical node the corresponding,
    前記第2アルゴリズムに従って各第2スケッチ値に対応する第2バーチャルノードを前記第2スケッチ値により特定し、バーチャルノードと物理ノードとの間の対応関係に従って前記第2バーチャルノードが配置される第2物理ノードを特定し、各第2スケッチ値と各第2スケッチ値により表されるデータブロックのストレージアドレスとの間の対応関係を前記対応する第2物理ノードの第2バーチャルノードに格納するステップを有する、請求項1記載の方法。 Identified by the second virtual node of the second sketch value corresponding to each second sketch value in accordance with said second algorithm, the second to the second virtual node is arranged according to the corresponding relationship between the virtual node and a physical node to identify the physical node, the step of storing the second virtual node of the correspondence between a second physical node the correspondence between the storage address of the data block represented by each second sketch value and each second sketch value a method of claim 1, wherein.
  3. 前記第2アルゴリズムに従って前記n個の第1スケッチ値の各第1スケッチ値に対応し、前記クラスタシステム内にある第1物理ノードを特定するステップは、 Wherein the step of in accordance with the second algorithm corresponds to the first sketch value each of the first sketch value of the n, identifying a first physical node within the cluster system,
    各第1スケッチ値に対応し、前記クラスタシステム内にある前記第1バーチャルノードを取得するため、前記クラスタシステムの全てのバーチャルノードの個数に対して各第1スケッチ値によるモジュロ演算を実行するステップを有する、請求項2記載の方法。 Corresponding to each first sketch value, for obtaining said first virtual node within the cluster system, performing a modulo operation according to the first sketch value for the number of all the virtual nodes of the cluster system the a method of claim 2 wherein.
  4. データ移行状態を充足すると、移行が必要なデータを有する物理ノードの少なくとも1つのバーチャルノードをターゲット物理ノードに一体的に移行するステップと、 When satisfying the data migration status, a step of integrally migrate at least one virtual node physical nodes having migrated necessary data to the target physical node,
    前記現在の物理ノードの移行されるバーチャルノードと物理ノードとの間の対応関係を更新し、前記クラスタシステムの他の物理ノードに前記移行されるノードと物理ノードとの間の対応関係を更新したことを通知するステップと、 Wherein updating the correspondence between the virtual node and a physical node to be migrated for the current physical node, and updates the corresponding relationship between the migrated node and physical node to another physical node of the cluster system and the step of notifying that,
    を更に有する、請求項2又は3記載の方法。 Further comprising, according to claim 2 or 3 the method described.
  5. 前記第2アルゴリズムに従って前記n個の第1スケッチ値の各第1スケッチ値に対応し、前記クラスタシステム内にある第1物理ノードを特定するステップは、 Wherein the step of in accordance with the second algorithm corresponds to the first sketch value each of the first sketch value of the n, identifying a first physical node within the cluster system,
    各第1スケッチ値に対応し、前記クラスタシステム内にある前記第1物理ノードを取得するため、前記クラスタシステムの全ての物理ノードの個数に対して各第1スケッチ値によるモジュロ演算を実行するステップを有する、請求項1記載の方法。 Corresponding to each first sketch value, for obtaining said first physical node within the cluster system, performing a modulo operation according to the first sketch value for the number of all physical nodes of the cluster system the a method of claim 1, wherein.
  6. 前記新たなデータブロックを表す少なくとも1つの第2スケッチ値を取得するステップは、前記第1アルゴリズムに従って前記新たなデータブロックを表す少なくとも1つの第2スケッチ値を取得するステップを有する、請求項1乃至5何れか一項記載の方法。 At least one step of acquiring second sketch value representing said new data block has at least one step of acquiring second sketch value representing said new data block in accordance with the first algorithm, to claim 1 5 method of any one claim.
  7. 前記第1アルゴリズムに従って前記データストリームを表すn個の第1スケッチ値を取得するステップは、 Obtaining a first sketch value of n representing the data stream in accordance with the first algorithm,
    前記データブロックのm個のデータブロックのフィンガープリントをn個の第1フィンガープリントグループにグループ化するステップであって、各第1フィンガープリントグループは、少なくとも2つのデータブロックのフィンガープリントを有する、グループ化するステップと、 Wherein the fingerprint of the m data blocks of a data block comprising the steps of grouping into n first fingerprint group, each of the first fingerprint group has a fingerprint of at least two data blocks, the group the method comprising the steps of reduction,
    前記n個の第1スケッチ値を取得するため、各フィンガープリントグループを表す第1スケッチ値を取得するステップと、 To obtain the first sketch value of the n, obtaining a first sketch value representing each fingerprint group,
    を有する、請求項1乃至6何れか一項記載の方法。 The possessed claims 1 to 6 or the method of one claim.
  8. 前記レスポンスメッセージから第1ストレージアドレスを取得するステップは、 Obtaining a first storage address from said response message,
    前記レスポンスメッセージから前記第1スケッチ値に対応するストレージアドレスを取得し、前記レスポンスメッセージに搬送される各ストレージアドレスのヒット数に関する統計量を収集し、前記第1ストレージアドレスとして最大ヒット数を有するs個のストレージアドレスを選択するステップを有し、sは1以上である、請求項1乃至5何れか一項記載の方法。 Gets the storage address corresponding to the first sketch value from the response message, the statistics collected regarding the number of hits each storage address is conveyed in the response message, s having the maximum number of hits as the first storage address comprising the step of selecting the number of storage addresses, s is 1 or more, claims 1 to 5 or the method of one claim.
  9. 所定のストレージ条件が充足すると、所定のストレージポリシーに従って前記新たなデータブロックと前記新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを選択し、前記新たなデータブロックと前記新たなデータブロックのフィンガープリントとを前記選択されたストレージアドレスにより指示されるストレージ領域に書き込むステップを更に有する、請求項1乃至5何れか一項記載の方法。 When a predetermined storage conditions are satisfied, select the storage address and the fingerprint is written in the new data block and the new data block according to a predetermined storage policy, of the new data block and the new data block fingers further comprising, claims 1 to 5 or the method of one claim the step of writing the print storage area indicated by the selected storage address.
  10. 前記所定のストレージポリシーに従って前記新たなデータブロックと前記新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを選択するステップは、 Selecting a storage address and fingerprint are written in the new data block and the new data block in accordance with the predetermined storage policy,
    前記クラスタシステムの物理ノードのロード情報を取得し、前記ロード情報に従ってデータが移行される物理ノードを選択し、前記データが移行される物理ノードから、前記新たなデータブロックと前記新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを取得するステップを有する、請求項9記載の方法。 It acquires load information of the physical node of the cluster system, the select physical node where the data is migrated in accordance with the load information, from a physical node where the data is migrated, the new data block and the new data block comprising the step of acquiring the storage address and the fingerprint is written, the method of claim 9, wherein.
  11. 前記クラスタシステムの物理ノードのロード情報を取得し、前記ロード情報に従ってデータが移行される物理ノードを選択し、前記データが移行される物理ノードから、前記新たなデータブロックと前記新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを取得するステップは、 It acquires load information of the physical node of the cluster system, the select physical node where the data is migrated in accordance with the load information, from a physical node where the data is migrated, the new data block and the new data block acquiring a storage address and fingerprint is written,
    前記クラスタシステムの物理ノードのロード情報を取得し、前記クラスタシステムの全ての物理ノードの平均ロード値が第1所定閾値を超過すると、前記平均ロード値より小さなロード値を有する物理ノードから、データが移行されるノードを選択し、前記データが移行されるノードから、前記新たなデータブロックと前記新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを取得するステップと、 Acquires load information of the physical node of the cluster system, the average load value of all physical nodes of the cluster system exceeds a first predetermined threshold value, the physical node having a smaller load value than the average load value, the data is select migrated node from the node where the data is migrated, acquiring a storage address and fingerprint are written in the new data block and the new data block,
    前記クラスタシステムの全ての物理ノードの平均ロード値が前記第1所定閾値以下であるとき、前記現在の物理ノードから、前記新たなデータブロックと前記新たなデータブロックとのフィンガープリントとが書き込まれるストレージアドレスとを取得するステップと、 When the average load value of all physical nodes of the cluster system is below the first predetermined threshold value, from the current physical node, storage of the fingerprint of the new data block and the new data block is written and the step of acquiring the address,
    を有する、請求項10記載の方法。 The a method of claim 10, wherein.
  12. 前記所定のストレージポリシーに従って前記新たなデータブロックと前記新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを選択するステップは、 Selecting a storage address and fingerprint are written in the new data block and the new data block in accordance with the predetermined storage policy,
    前記現在の物理ノードから、前記新たなデータブロックと前記新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを取得するステップを有する、請求項9記載の方法。 From the current physical node comprises the step of obtaining a storage address and fingerprint are written in the new data block and the new data blocks, method of claim 9, wherein.
  13. 前記所定のストレージ条件が充足することは、前記新たなデータブロックが前記現在の物理ノードのキャッシュに格納されることを含み、 Said predetermined storage conditions are satisfied comprises said new data block is stored in the cache of the current physical node,
    前記現在の物理ノードのキャッシュのデータが第2所定閾値に達すると、前記所定のストレージ条件が充足される、請求項9記載の方法。 Wherein the cache data of the current physical node reaches a second predetermined threshold value, wherein the predetermined storage conditions are satisfied, the method of claim 9, wherein.
  14. 前記各フィンガープリントグループを表す第1スケッチ値を取得するステップは、各フィンガープリントグループから最小のフィンガープリントを、前記最小のフィンガープリントが属するフィンガープリントグループを表す第1スケッチ値として選択するステップを有する、請求項7記載の方法。 Obtaining a first sketch value representing said each fingerprint group, the smallest fingerprint from each fingerprint group, comprising the step of selecting as a first sketch value representing the fingerprint group to which the smallest fingerprint belongs the method of claim 7 wherein.
  15. 前記第1ストレージアドレスにより指示されるストレージ領域に格納されるデータブロックのフィンガープリントと、前記データストリームの分割を介し取得された各データブロックのフィンガープリントとを比較し、重複データブロックをクエリするステップは、 The step of query and fingerprint data blocks stored in the storage area, comparing the fingerprint of each data block obtained through the division of the data stream, the duplicate data block indicated by said first storage address It is,
    前記第1ストレージアドレスにより指示されるストレージ領域のデータブロックのフィンガープリントを前記現在の物理ノードにロードし、前記データストリームの分割を介し取得されたm個のデータブロックのフィンガープリントとの比較を実行し、前記重複データブロックをクエリするステップを有する、請求項1乃至14何れか一項記載の方法。 Perform a comparison of the fingerprint of the data blocks in the storage area indicated by the first storage address to load said current physical node, fingerprints acquired m data blocks through the division of the data stream and, wherein a duplicate data block query step, claims 1 to 14 any one method according.
  16. 前記第1ストレージアドレスにより指示されるストレージ領域に格納されるデータブロックのフィンガープリントと、前記データストリームの分割を介し取得された各データブロックのフィンガープリントとを比較し、重複データブロックをクエリするステップは、 The step of query and fingerprint data blocks stored in the storage area, comparing the fingerprint of each data block obtained through the division of the data stream, the duplicate data block indicated by said first storage address It is,
    前記第1ストレージアドレスにより指示される物理ノードにクエリ指示を送信し、前記第1ストレージアドレスにより指示される前記物理ノードにより返されたクエリ結果を受信するステップを有し、 Comprising the step of receiving said physical node indicated by the first storage address and sends a query instruction, the query returned by the physical node indicated by the first storage address results,
    前記データストリームの分割を介し取得されるm個のデータブロックのフィンガープリントは、前記クエリ指示により搬送される、請求項1乃至14何れか一項記載の方法。 Fingerprint of m data blocks to be acquired through the division of the data stream, the conveyed by the query instruction, claims 1 to 14 The method of any one claim.
  17. 各第1スケッチ値をクエリのため前記対応する第1物理ノードに送信した後、当該方法は更に、前記n個の第1スケッチ値に対応する前記第1物理ノードにより返されるストレージアドレスが受信されない場合、前記データストリームの分割を介し取得されるデータブロックを非重複データブロックとして利用するステップを有する、請求項1乃至14何れか一項記載の方法。 After transmitting the first sketch value to the first physical node the corresponding order of the query, the method further includes a storage addresses returned by the first physical node corresponding to the first sketch value of the n is not received If the including the step of utilizing a data block as a non-duplicate data blocks acquired through the division of the data stream, according to claim 1 to 14 or the method of one claim.
  18. クラスタシステムにおけるデータ処理装置であって、 A data processing apparatus in a cluster system,
    現在の物理ノードにより受信されたデータストリームをm個のデータブロックに分割し、各データブロックのフィンガープリントを取得する分割部であって、mは1以上の整数である、分割部と、 Dividing the received data stream with the current physical node into m data blocks, a dividing unit that acquires the fingerprint of each data block, m is an integer of 1 or more, a division unit,
    第1アルゴリズムに従って前記データストリームを表すn個の第1スケッチ値を取得するスケッチ値取得部であって、nは1以上であって、m以下の整数である、スケッチ値取得部と、 A sketch value acquiring unit that acquires first sketch value of n representing the data stream in accordance with a first algorithm, n is 1 or more, which is an integer m, and sketch value obtaining unit,
    第2アルゴリズムに従って前記n個の第1スケッチ値の各第1スケッチ値に対応し、前記クラスタシステム内にある第1物理ノードを特定する特定部と、 A specifying unit that the response to the n first sketch values ​​each of the first sketch value, identifying a first physical node within the cluster system in accordance with a second algorithm,
    各第1スケッチ値をクエリのため前記対応する第1物理ノードに送信する送信部と、 A transmission unit for transmitting to the first physical node the corresponding for the each first sketch value query,
    前記n個の第1スケッチ値に対応する第1物理ノードから少なくとも1つのレスポンスメッセージを受信し、前記レスポンスメッセージから第1ストレージアドレスを取得する受信部と、 A reception unit for receiving said at least one response message from the n first physical node corresponding to the first sketch value to obtain a first storage address from said response message,
    前記第1ストレージアドレスにより指示されるストレージ領域に格納されるデータブロックのフィンガープリントと、前記データストリームの分割を介し取得された各データブロックのフィンガープリントとを比較し、重複データブロックをクエリするクエリ部であって、前記クエリ部により取得された非重複データブロックが新たなデータブロックとして利用される、クエリ部と、 Query the and fingerprint data blocks stored in the storage area indicated by the first storage address, by comparing the fingerprint of each data block obtained through the division of the data stream, to query the duplicate data block a part, non-overlapping data blocks obtained by the query unit is used as a new data block, and the query section,
    前記新たなデータブロックを表す少なくとも1つの第2スケッチ値を取得し、前記第2アルゴリズムに従って各第2スケッチ値に対応する第2物理ノードを前記第2スケッチ値により特定し、各第2スケッチ値と各第2スケッチ値により表されるデータブロックのストレージアドレスとの間の対応関係を前記対応する第2物理ノードに格納する更新部と、 Obtain at least one second sketch value representing said new data block, specified by a second physical node the second sketch value corresponding to each second sketch value in accordance with said second algorithm, the second sketch value and the corresponding relationship stored in the second physical node the corresponding update unit between the storage address of the data block represented by each second sketch value,
    を有する装置。 Device having a.
  19. 所定のストレージポリシーに従って、前記新たなデータブロックと前記新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを選択するよう構成されるライトアドレス取得部と、 According to a predetermined storage policy, a write address acquisition unit configured to select the storage address and fingerprint of the new data block and the new data block is written,
    所定のストレージ条件が充足すると、前記新たなデータブロックと前記新たなデータブロックのフィンガープリントとを、前記選択されたストレージアドレスに対応するストレージ領域に書き込むよう構成される書き込み部と、 When a predetermined storage conditions are satisfied, the fingerprint of the new data block and the new data block, and configured writing unit to write the storage area corresponding to the selected storage address,
    を更に有する、請求項18記載の装置。 Further comprising apparatus according to claim 18, wherein the.
  20. 少なくとも1つのバーチャルノードが、前記クラスタシステムの各物理ノードの分割を介し論理的に取得され、前記クラスタシステムにおけるバーチャルノードと物理ノードとの間の対応関係が、各物理ノードに含まれ、 At least one virtual node, the logically acquired through the division of each physical node of the cluster system, correspondence between the virtual node and a physical node in the cluster system, included in each physical node,
    前記特定部は、前記第2アルゴリズムに従って前記n個の第1スケッチ値の各第1スケッチ値に対応し、前記クラスタシステム内にある第1バーチャルノードを特定し、バーチャルノードと物理ノードとの間の対応関係をクエリにすることによって、前記第1バーチャルノードに対応する第1物理ノードを取得するよう構成され、 The specifying unit, the following second algorithm corresponds to the first sketch value each of the first sketch value of the n, and identifying a first virtual node within the cluster system, between the virtual node and a physical node by the correspondence to the query, it is configured to obtain a first physical node corresponding to the first virtual node,
    前記クエリ部により取得される非重複データブロックは、前記新たなデータブロックとして利用され、 Non-overlapping data blocks acquired by the query unit is used as the new data block,
    前記更新部は、前記新たなデータブロックを表す少なくとも1つの第2スケッチ値を取得し、前記第2アルゴリズムに従って各第2スケッチ値に対応する第2バーチャルノードを前記第2スケッチ値により特定し、バーチャルノードと物理ノードとの間の対応関係に従って前記第2バーチャルノードが配置される第2物理ノードを特定し、各第2スケッチ値と各第2スケッチ値により表されるデータブロックのストレージアドレスとの間の対応関係を前記対応する第2物理ノードの第2バーチャルノードに格納するよう構成される、請求項19記載の装置。 The update unit is configured to obtain at least one second sketch value representing the new data block, specified by the second virtual node of the second sketch value corresponding to each second sketch value in accordance with the second algorithm, the second virtual node to identify the second physical node arranged according to the corresponding relationship between the virtual node and a physical node, and the storage address of the data block represented by each second sketch value and each second sketch value correspondence relationship configured to store the second virtual node of the second physical node the corresponding apparatus of claim 19, wherein between.
  21. 前記書き込む部は更に、データ移行状態を充足すると、移行が必要なデータを有する物理ノードの少なくとも1つのバーチャルノードをターゲット物理ノードに一体的に移行するよう構成され、 The writing section further when satisfying the data migration state, is configured to integrally migrate at least one virtual node physical nodes having migrated necessary data to the target physical node,
    前記更新部は更に、前記現在の物理ノードの移行されるバーチャルノードと物理ノードとの間の対応関係を更新し、前記クラスタシステムの他の物理ノードに前記移行されるノードと物理ノードとの間の対応関係を更新したことを通知するよう構成される、請求項20記載の装置。 The update unit further said updates the correspondence between the virtual node and a physical node to be migrated for the current physical node between the migrated node and physical node to another physical node of the cluster system configured to notify that updating the correspondence apparatus according to claim 20, wherein.
  22. 前記特定部は、各第1スケッチ値に対応し、前記クラスタシステム内にある前記第1物理ノードを取得するため、前記クラスタシステムの全ての物理ノードの個数に対して各第1スケッチ値によるモジュロ演算を実行するよう構成される、請求項18記載の装置。 The specifying unit corresponds to each first sketch value, for obtaining said first physical node within the cluster system, modulo by each first sketch value for the number of all physical nodes of the cluster system configured to perform arithmetic apparatus of claim 18, wherein.
  23. 前記スケッチ値取得部は、 The sketch value obtaining unit,
    前記データストリームのm個のデータブロックのフィンガープリントをn個の第1フィンガープリントグループにグループ化するよう構成されるフィンガープリントグループ化サブ部であって、各第1フィンガープリントグループは、少なくとも2つのデータブロックのフィンガープリントを有する、フィンガープリントグループ化サブ部と、 Wherein the fingerprint of the m data blocks of the data stream to a fingerprint grouping sub unit configured to group into n first fingerprint group, each of the first fingerprint group, at least two having a fingerprint of the data blocks, and fingerprint grouping sub unit,
    前記n個の第1スケッチ値を取得するため、各フィンガープリントグループを表す第1スケッチ値を取得するよう構成される取得サブ部と、 To obtain the first sketch value of the n, the acquisition sub-unit configured to acquire a first sketch value representing each fingerprint group,
    を有する、請求項18乃至21何れか一項記載の装置。 The has A device according to any one of claims 18 to 21.
  24. 前記受信部は、 The receiver,
    前記レスポンスメッセージから前記第1スケッチ値に対応するストレージアドレスを取得し、前記レスポンスメッセージに搬送される各ストレージアドレスのヒット数に関する統計量を収集するよう構成される統計量収集サブ部と、 Said acquired storage address corresponding to the first sketch value from the response message, the statistic collecting sub unit configured to collect statistics about the number of hits for each storage address is conveyed in the response message,
    前記統計量収集サブ部の統計結果に従って、前記第1ストレージアドレスとして最大ヒット数を有するs個のストレージアドレスを選択するよう構成されるアドレス取得サブ部であって、sは1以上である、アドレス取得サブ部と、 According to a statistical result of the statistic collecting sub unit, a composed address acquisition sub unit to select the s number of storage addresses having a maximum number of hits as the first storage address, s is 1 or more, the address and obtaining sub-unit,
    を有する、請求項18乃至21何れか一項記載の装置。 The has A device according to any one of claims 18 to 21.
  25. 前記ライトアドレス取得部は、 The write address obtaining unit,
    前記クラスタシステムの物理ノードのロード情報を取得するよう構成されるロード情報取得サブ部と、 And load information acquisition sub-unit configured to acquire the load information of the physical node of the cluster system,
    前記ロード情報取得サブ部により取得されたロード情報に従って、データが移行される物理ノードを選択し、前記データが移行される物理ノードから、前記新たなデータブロックと前記新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを取得するよう構成されるアドレス選択サブ部と、 Following a loaded information acquired by the load information acquisition sub-unit, select the physical node which data is migrated from the physical node where the data is migrated, the a new data block and fingerprint of the new data block When configured address selecting sub unit to acquire storage address is to be written,
    を有する、請求項19乃至21何れか一項記載の装置。 The has A device according to any one of claims 19 to 21.
  26. 前記ライトアドレス取得部は、前記現在の物理ノードから、前記新たなデータブロックと前記新たなデータブロックのフィンガープリントとが書き込まれるストレージアドレスを取得するよう構成される、請求項19乃至21何れか一項記載の装置。 The write address obtaining unit from the current physical node, the configured new data block and the fingerprint of the new data block to obtain the storage address to be written, according to claim 19 or 21 any one the apparatus of claim wherein.
  27. 前記書き込む部は、前記新たなデータブロックを前記現在の物理ノードのキャッシュに格納するよう構成され、前記現在の物理ノードのキャッシュのデータが第2所定閾値に達し、前記所定のストレージ条件が充足されると、前記新たなデータブロックと前記新たなデータブロックのフィンガープリントとを前記選択されたストレージアドレスに対応するストレージ領域に書き込むよう構成される、請求項25記載の装置。 The writing part, the is configured to store the new data block in the cache of the current physical node, the data of the current physical node cache reaches the second predetermined threshold value, the predetermined storage condition has been satisfied that the, said the new data block configured to write a fingerprint of new data blocks in the storage area corresponding to the selected storage address, claim 25 apparatus according.
  28. 前記受信部は更に、各第1スケッチ値をクエリのため前記対応する第1物理ノードに送信した後、前記n個の第1スケッチ値に対応する前記第1物理ノードにより返されるストレージアドレスが受信されない場合、前記データストリームの分割を介し取得されるデータブロックを非重複データブロックとして利用するよう構成される、請求項18乃至27何れか一項記載の装置。 The receiving unit further, after transmitting each first sketch value to the first physical node the corresponding order of the query, the storage addresses returned by the first physical node corresponding to the first sketch value of the n reception If not, the configured to use a data block is obtained through the division of the data stream as a non-duplicate data blocks, apparatus according to any one of claims 18 to 27.
  29. クラスタシステムにおけるデータ処理装置であって、 A data processing apparatus in a cluster system,
    プロセッサと、 And a processor,
    メモリと、 And memory,
    バスと、 And a bus,
    を有し、 Have,
    前記プロセッサと前記メモリとは、前記バスを介し互いに通信し、 With the processor and the memory communicate with each other via the bus,
    前記メモリは、プログラムを格納するよう構成され、 The memory is configured to store a program,
    前記プロセッサは、前記メモリのプログラムを実行し、請求項1乃至17何れか一項記載の方法を実行するよう構成される装置。 Wherein the processor performs the memory program unit adapted to perform the method according to any one of claims 1 to 17.
  30. 求項1乃至17何れか一項記載の方法をコンピュータに実行させるためコンピュータプログラム。 Motomeko 1 to 17 or because of a computer program to execute the method of one claim in the computer.
JP2014551502A 2012-12-12 2012-12-12 Cluster system data processing method and apparatus Active JP5824167B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/086413 WO2014089767A1 (en) 2012-12-12 2012-12-12 Data processing method and device in cluster system

Publications (2)

Publication Number Publication Date
JP2015503174A JP2015503174A (en) 2015-01-29
JP5824167B2 true JP5824167B2 (en) 2015-11-25

Family

ID=49970062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014551502A Active JP5824167B2 (en) 2012-12-12 2012-12-12 Cluster system data processing method and apparatus

Country Status (12)

Country Link
US (1) US8892529B2 (en)
EP (3) EP3460683A1 (en)
JP (1) JP5824167B2 (en)
KR (2) KR101657561B1 (en)
CN (2) CN106445413A (en)
AU (1) AU2012389110B2 (en)
BR (1) BR112014009477B1 (en)
CA (1) CA2843922C (en)
DK (2) DK2765524T3 (en)
ES (2) ES2700431T3 (en)
WO (1) WO2014089767A1 (en)
ZA (1) ZA201401528B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106663064A (en) * 2014-09-04 2017-05-10 富士通株式会社 Information processing system, information processing device, information processing method, and information processing program
CN104239518B (en) * 2014-09-17 2017-09-29 华为技术有限公司 Method and apparatus deduplication
CN105490903A (en) * 2014-09-19 2016-04-13 中国银联股份有限公司 Cluster architecture based on bus mode
WO2016147281A1 (en) * 2015-03-16 2016-09-22 株式会社日立製作所 Distributed storage system and control method for distributed storage system
US9946486B1 (en) * 2016-11-29 2018-04-17 Veritas Technologies Llc Duplication between disparate deduplication systems
US10055198B1 (en) * 2017-06-13 2018-08-21 Sap Se Systems and methods for probably approximate intent matching of procurement rules
CN107291396B (en) * 2017-06-27 2018-04-13 北京华云网际科技有限公司 Block writing method and apparatus for a distributed data storage system of io

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5990810A (en) * 1995-02-17 1999-11-23 Williams; Ross Neil Method for partitioning a block of data into subblocks and for storing and communcating such subblocks
JP4068473B2 (en) * 2003-02-19 2008-03-26 株式会社東芝 Storage devices, share range determining method and program
US8412682B2 (en) * 2006-06-29 2013-04-02 Netapp, Inc. System and method for retrieving and using block fingerprints for data deduplication
US8166012B2 (en) * 2007-04-11 2012-04-24 Emc Corporation Cluster storage using subsegmenting
US8195636B2 (en) * 2009-04-29 2012-06-05 Netapp, Inc. Predicting space reclamation in deduplicated datasets
US9058298B2 (en) 2009-07-16 2015-06-16 International Business Machines Corporation Integrated approach for deduplicating data in a distributed environment that involves a source and a target
US8321648B2 (en) * 2009-10-26 2012-11-27 Netapp, Inc Use of similarity hash to route data for improved deduplication in a storage server cluster
US8244992B2 (en) * 2010-05-24 2012-08-14 Spackman Stephen P Policy based data retrieval performance for deduplicated data
US8370315B1 (en) * 2010-05-28 2013-02-05 Symantec Corporation System and method for high performance deduplication indexing
CN201804331U (en) * 2010-09-21 2011-04-20 北京同有飞骥科技股份有限公司 Date deduplication system based on co-processor
CN102456059A (en) * 2010-10-21 2012-05-16 英业达股份有限公司 Data deduplication processing system
CN102479245B (en) * 2010-11-30 2013-07-17 英业达集团(天津)电子技术有限公司 Data block segmentation method
US8898119B2 (en) * 2010-12-15 2014-11-25 Netapp, Inc. Fingerprints datastore and stale fingerprint removal in de-duplication environments
US8442941B2 (en) * 2011-01-19 2013-05-14 Microsoft Corporation Scalable database workload replay with mode selections
CN102323958A (en) * 2011-10-27 2012-01-18 上海文广互动电视有限公司 Data de-duplication method
US9047304B2 (en) * 2011-11-28 2015-06-02 International Business Machines Corporation Optimization of fingerprint-based deduplication
CN102495894A (en) * 2011-12-12 2012-06-13 成都市华为赛门铁克科技有限公司 Method, device and system for searching repeated data
US8712978B1 (en) * 2012-06-13 2014-04-29 Emc Corporation Preferential selection of candidates for delta compression

Also Published As

Publication number Publication date
CN106445413A (en) 2017-02-22
CA2843922A1 (en) 2014-06-12
AU2012389110B2 (en) 2016-03-17
EP2765524A4 (en) 2015-06-03
KR101657561B1 (en) 2016-09-19
CN103547329B (en) 2016-11-02
DK2765524T3 (en) 2017-05-22
EP3217298A1 (en) 2017-09-13
EP3217298B1 (en) 2018-08-29
US8892529B2 (en) 2014-11-18
ES2700431T3 (en) 2019-02-15
CA2843922C (en) 2016-11-15
BR112014009477B1 (en) 2018-10-16
CN103547329A (en) 2014-01-29
EP2765524B1 (en) 2017-02-22
US20140201169A1 (en) 2014-07-17
BR112014009477A2 (en) 2017-05-09
KR20150140863A (en) 2015-12-16
EP2765524A1 (en) 2014-08-13
DK3217298T3 (en) 2019-01-02
ES2625690T3 (en) 2017-07-20
KR101575062B1 (en) 2015-12-07
AU2012389110A1 (en) 2014-06-26
KR20140101720A (en) 2014-08-20
EP3460683A1 (en) 2019-03-27
WO2014089767A1 (en) 2014-06-19
JP2015503174A (en) 2015-01-29
ZA201401528B (en) 2015-09-30

Similar Documents

Publication Publication Date Title
US8874842B1 (en) Set-associative hash table organization for efficient storage and retrieval of data in a storage system
JP6200886B2 (en) Logical sector mapping in flash storage array
US8423726B2 (en) Global de-duplication in shared architectures
AU2012296510B2 (en) Mapping in a storage system
EP2761420B1 (en) Variable length encoding in a storage system
US9020900B2 (en) Distributed deduplicated storage system
KR101635243B1 (en) Intelligent tiers of backup data
JP6445458B2 (en) Deduplication volume area
CN102346695B (en) Scalable segment-based data de-duplication system and method for incremental backups
JP5972327B2 (en) Computer program product for replicating object from the replication source storage to the replication destination storage system, and method (replication data objects from the replication source server to the replication destination server)
Dong et al. Tradeoffs in Scalable Data Routing for Deduplication Clusters.
US8005953B2 (en) Aggregated opportunistic lock and aggregated implicit lock management for locking aggregated files in a switched file system
US6889249B2 (en) Transaction aggregation in a switched file system
US8527544B1 (en) Garbage collection in a storage system
US7512673B2 (en) Rule based aggregation of files and transactions in a switched file system
Honicky et al. Replication under scalable hashing: A family of algorithms for scalable decentralized data distribution
US7676628B1 (en) Methods, systems, and computer program products for providing access to shared storage by computing grids and clusters with large numbers of nodes
US8732133B2 (en) Extensible data deduplication system and method
EP2973060B1 (en) Fast crash recovery for distributed database systems
US8452731B2 (en) Remote backup and restore
CN103425734B (en) The controller stores a database encoded triplets, methods and systems
US7383288B2 (en) Metadata based file switch and switched file system
US7509322B2 (en) Aggregated lock management for locking aggregated files in a switched file system
JP5500257B2 (en) Storage system
US20060080353A1 (en) Directory aggregation for files distributed over a plurality of servers in a switched file system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150317

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150617

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151008

R150 Certificate of patent or registration of utility model

Ref document number: 5824167

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250