JP5544963B2 - Data processing apparatus, data distributed processing system, data processing program, and data processing method - Google Patents
Data processing apparatus, data distributed processing system, data processing program, and data processing method Download PDFInfo
- Publication number
- JP5544963B2 JP5544963B2 JP2010065707A JP2010065707A JP5544963B2 JP 5544963 B2 JP5544963 B2 JP 5544963B2 JP 2010065707 A JP2010065707 A JP 2010065707A JP 2010065707 A JP2010065707 A JP 2010065707A JP 5544963 B2 JP5544963 B2 JP 5544963B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- range
- processing
- key
- assigned
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、データ処理装置、データ分散処理システム、データ処理プログラム、及び、データ処理方法に関する。 The present invention relates to a data processing device, a data distribution processing system, a data processing program, and a data processing method.
特許文献1は、方向が決められたリングトポロジに配列された複数のノードからなるシステムの分散ディレクトリのコンテンツを検索するための方法を開示する。この方法は、分散ハッシュ関数によってコンテンツの格納ノードを特定する。また、バックアップのため、コンテンツが前方ノードで複製される。
特許文献2は、ネットワークに接続された複数のピアを開示する。各ピアは、複数属性のデータを一次元の値に変換して論理識別子を生成し、各ピアに対する論理識別子の割り当てにもとづいて、生成した論理識別子を管理する他のピアを特定し、特定した他のピアにデータを登録する。 Patent Document 2 discloses a plurality of peers connected to a network. Each peer generates a logical identifier by converting multi-attribute data into a one-dimensional value, and identifies and identifies other peers that manage the generated logical identifier based on the assignment of the logical identifier to each peer. Register data with other peers.
特許文献3は、データから生成されたハッシュ値と近いハッシュ値を持つノードに、データの実体の保存場所情報を登録する技術を開示する。 Patent Document 3 discloses a technique for registering data storage location information in a node having a hash value close to a hash value generated from data.
非特許文献1は、キーを割り当てられた複数のノードから成るシステムを開示する。当該システムは、オブジェクトの識別子の少なくとも先頭iビットがキーと一致するノードに当該オブジェクトを配置する。ビット数iはオブジェクトの人気等によって算出される。当該システムにおいて、各ノードが開始した或るオブジェクトの検索は高々iホップで終了する。
Non-Patent
非特許文献2は、自装置に割り当てられたキー対応のデータを格納する複数のノードから成るシステムにおけるデータ検索プロトコル(Chord)を開示する。 Non-Patent Document 2 discloses a data search protocol (Chord) in a system composed of a plurality of nodes that store key-corresponding data assigned to its own device.
複数のノードからなるシステムが、適切な多重度の複製データ・代替可能装置を有することが出来ない。 A system composed of a plurality of nodes cannot have an appropriate multiplicity of replicated data / substitutable devices.
特許文献1及び非特許文献1に記載された技術は、複製データの多重度を制御できない。他の文献に記載された技術は、複製データ・代替可能装置の保持を可能にしない。本発明の目的は、上記課題を解決するための技術を提供することにある。
The techniques described in
本発明の一実施形態のデータ処理装置は、m桁の連続数値である管理キーの値の範囲が複数区間に分割されたときの各分割区間の内、自装置に割り当てられた区間の範囲(自範囲)以外の各区間を割り当てられた各々の他のデータ処理装置(他装置)と接続され、前記自範囲を記憶する管理キー保持手段と、m桁の数値である基準キーに関連付けられた処理データを受信して、前記処理データの基準キーが前記自範囲内であれば、前記処理データを所定処理の対象とし、前記自範囲外であれば、前記処理データを前記処理データの基準キーと下位j(<m)桁が一致する数値の管理キーを含む範囲が割り当てられた正常動作中の他の装置のいずれかに転送する処理データ転送手段を備える。 The data processing apparatus according to an embodiment of the present invention includes a range of sections allocated to the own apparatus among the divided sections when the management key value range, which is an m-digit continuous numerical value, is divided into a plurality of sections ( It is connected to each other data processing device (other device) to which each section other than its own range) is assigned, and is associated with a management key holding means for storing the own range and a reference key which is an m-digit numerical value. When processing data is received, if the reference key of the processing data is within the own range, the processing data is a target of the predetermined processing, and if outside the own range, the processing data is set as the reference key of the processing data. And processing data transfer means for transferring to one of other devices in normal operation to which a range including a numerical management key whose lower-order j (<m) digits match is assigned.
本発明の一実施形態のデータ処理プログラムは、m桁の連続数値である管理キーの値の範囲が複数区間に分割されたときの各分割区間の内、自装置に割り当てられた区間の範囲(自範囲)以外の各区間を割り当てられた各々の他のコンピュータ(他装置)と接続されたコンピュータに、自装置が備える管理キー保持手段に前記自範囲を記憶する管理キー保持処理と、m桁の数値である基準キーに関連付けられた処理データを受信して、前記処理データの基準キーが前記自範囲内であれば、前記処理データを所定処理の対象とし、前記自範囲外であれば、前記処理データを前記処理データの基準キーと下位j(<m)桁が一致する数値の管理キーを含む範囲が割り当てられた正常動作中の他のコンピュータのいずれかに転送する処理データ転送処理を実行させる。 The data processing program according to an embodiment of the present invention provides a range of sections assigned to its own device (within a divided range when the management key value range, which is an m-digit continuous numerical value, is divided into a plurality of sections ( A management key holding process for storing the own range in a management key holding means included in the own device in a computer connected to each other computer (other device) to which each section other than the own range is assigned, and m digits Processing data associated with a reference key that is a numerical value of the processing data, if the reference key of the processing data is within the own range, the processing data is subject to a predetermined process, and if outside the own range, Processing data transfer for transferring the processing data to any other computer in normal operation to which a range including a management key having a numerical value whose lower-order j (<m) digit matches the reference key of the processing data To perform the management.
本発明の一実施形態のデータ処理方法は、m桁の連続数値である管理キーの値の範囲が複数区間に分割されたときの各分割区間の内、自装置に割り当てられた区間の範囲(自範囲)以外の各区間を割り当てられた各々の他のデータ処理装置(他装置)と接続されたデータ処理装置が、自装置が備える管理キー保持手段に前記自範囲を記憶し、m桁の数値である基準キーに関連付けられた処理データを受信して、前記処理データの基準キーが前記自範囲内であれば、前記処理データを所定処理の対象とし、前記自範囲外であれば、前記処理データを前記処理データの基準キーと下位j(<m)桁が一致する数値の管理キーを含む範囲が割り当てられた正常動作中の他の装置のいずれかに転送する。 In the data processing method according to an embodiment of the present invention, the range of the management key value, which is an m-digit continuous numerical value, is divided into a plurality of sections. A data processing device connected to each other data processing device (other device) to which each section other than its own range) is assigned stores the own range in the management key holding means provided in the own device, and has m digits. When processing data associated with a reference key that is a numerical value is received, if the reference key of the processing data is within the own range, the processing data is subject to predetermined processing, and if the processing data is outside the own range, The processing data is transferred to one of the other devices in normal operation to which the range including the management key of the numerical value whose lower-order j (<m) digit matches the reference key of the processing data.
本発明は、複数のノードからなるシステムにおいて、要求される信頼度、システム内のノードの台数応じて、適切な多重度の複製データ・代替可能な装置を有することを可能とする。 The present invention makes it possible to have a suitable multiplicity of replicated data / substitutable apparatus in a system composed of a plurality of nodes according to the required reliability and the number of nodes in the system.
図1は、第1の実施の形態に係るデータ分散処理システム10の全体構成を示す。データ分散処理システム10は、主ネットワーク11に接続された複数のデータ処理装置20を包含する。図1に於いて、円で囲まれたa乃至pの各々はデータ処理装置20である。以降、図中aで表されるデータ処理装置20は、データ処理装置20aと表記される。b以降も同様である。
FIG. 1 shows the overall configuration of a data distribution processing system 10 according to the first embodiment. The data distribution processing system 10 includes a plurality of
データ分散処理システム10においては、任意の2つのデータ処理装置20が、主ネットワーク11経由で直接通信可能でなくても良い。2つのデータ処理装置20が、他のデータ処理装置20を経由して互いに通信可能であってもよい。
In the data distribution processing system 10, any two
データ分散処理システム10の管理者等は、各データ処理装置20に管理キーの範囲を割り当てる。管理キーはmビットの連続2進数値である。管理キーの基数は他の値であっても良い。基数は、データ分散処理システム10で一意に決まっている。
An administrator of the data distribution processing system 10 assigns a range of management keys to each
データ分散処理システム10の管理者等は、管理キーの値の範囲を複数の連続区間に分割し、各区間を各データ処理装置20に順次、例えば、データ処理装置20aを起点に時計回り方向に割り当てる。データ分散処理システム10の管理者等は、各区間を各データ処理装置20に、他のデータ処理装置20を起点に反時計回りに割り当てても良い。
The administrator of the data distribution processing system 10 divides the range of the management key value into a plurality of continuous sections, and each section is sequentially assigned to each
図1に於いて、データ処理装置20aは、値がsaからeaの範囲の管理キーが割り当てられている。データ処理装置20bは、値がsbからebの範囲の管理キーが割り当てられている。他のデータ処理装置20も同様に管理キーの範囲が割り当てられている。
In FIG. 1, the data processing apparatus 20a is assigned a management key whose value ranges from sa to ea. The data processing device 20b is assigned a management key having a value ranging from sb to eb. Other
ここで、saは管理キーの最小値、eqは最大値であり、sa<ea<sb<eb....<eqの関係にある。1つのデータ処理装置20、例えばデータ処理装置20aが、管理キーの最小値と、最大値を含む区間を割り当てられていても良い。この場合、データ処理装置20aに割り当てられた区間は、saから管理キーの最大値までの区間と最小値からeb(<sa)までの区間を併せたものとなる。
Here, sa is the minimum value of the management key, eq is the maximum value, and sa <ea <sb <eb. . . . <Equal to eq. One
なお、各データ処理装置20が割り当てられる管理キーの範囲の大きさは、同じであっても良いし、異なっていても良い。各範囲が包含する管理キーは1つでも複数でも良い。
The size of the management key range to which each
データ処理装置20のうち、少なくとも1台、例えばデータ処理装置20jは、副ネットワーク12等を経由して、処理データ入力装置13、または、格納データ入力装置14と接続している。なお、副ネットワーク12と主ネットワーク11は、同一のネットワークであっても良い。
At least one of the
図2は、図1のデータ分散処理システム10のデータの格納動作例を示す。図2において、主ネットワーク11等の記載は省略されている。データ分散処理システム10の管理者等は、各データ処理装置20に、例えば、当該装置を示す記号付近にカギ括弧で囲まれた範囲の管理キーを割り当てている。例えば、データ処理装置20aは、値が0から13の範囲の管理キーが割り当てられている。データ処理装置20bは、値が14から30の範囲の管理キーが割り当てられている。他のデータ処理装置20も同様に管理キーの範囲が割り当てられている。
FIG. 2 shows an example of data storage operation of the data distribution processing system 10 of FIG. In FIG. 2, descriptions of the
図2のデータ分散処理システム10において、例えば、データ処理装置20jは、格納データ入力装置14から格納データを受信し、当該格納データをデータ処理装置20c、h、p、mに転送する。データ処理装置20c、h、p、mは、格納データを受信して記憶する。
In the data distribution processing system 10 of FIG. 2, for example, the data processing device 20j receives stored data from the stored
このときデータ処理装置20jは、図3に示すような過程を経て転送先のデータ処理装置20を決定する。
At this time, the data processing device 20j determines the transfer destination
先ず、データ処理装置20jは、格納データに関連付けられた基準キーを得る。格納データに関連付けられた基準キーは、例えば、格納データに含まれるシードから算出されるハッシュ値である。シードは、ハッシュ値算出の基となるデータである。基準キーは、格納データとは別に受信されるシードのハッシュ値であっても良いし、格納データ、または格納データと別に受信されるデータの一部の値であっても良い。 First, the data processing device 20j obtains a reference key associated with stored data. The reference key associated with the stored data is, for example, a hash value calculated from a seed included in the stored data. The seed is data serving as a basis for calculating the hash value. The reference key may be a hash value of a seed received separately from the stored data, or may be a value of a part of the data received separately from the stored data or the stored data.
図3に於ける基準キーは、シード”田町駅”から算出されるハッシュ値である。当該基準キーは、2進数で”10101010”、即ち10進数で”170”である。 The reference key in FIG. 3 is a hash value calculated from the seed “Tamachi Station”. The reference key is “10101010” in binary, that is, “170” in decimal.
次に、データ処理装置20jは、基準キーの上位n桁を、n桁がとりうる値全ての値で置換して、複数のキー(生成キー)を算出する。 Next, the data processing device 20j calculates a plurality of keys (generated keys) by replacing the upper n digits of the reference key with all the values that the n digits can take.
図3に於ける生成キーは、ハッシュ値”10101010”の上位2ビットを、{00,01,10,11}のそれぞれに置き換えた4個の値である。生成キーは、10進数でそれぞれ、”42”、”106”、”170”、”234”となる。 The generated keys in FIG. 3 are four values obtained by replacing the upper 2 bits of the hash value “10101010” with {00, 01, 10, 11}, respectively. The generated keys are decimal numbers “42”, “106”, “170”, and “234”, respectively.
データ処理装置20jは、割り当てられた管理キーの範囲内に各生成キーを包含する4台のデータ処理装置20c、h、p、mに格納データを転送する。 The data processing device 20j transfers the stored data to the four data processing devices 20c, h, p, m that include each generated key within the range of the assigned management key.
図4は、図1のデータ分散処理システム10のデータの処理動作例を示す。図4において、主ネットワーク11等の記載は省略されている。図4のデータ分散処理システム10の管理者等は、各データ処理装置20に、例えば、図3と同じ範囲の管理キーを割り当てている。
FIG. 4 shows an example of data processing operation of the data distribution processing system 10 of FIG. In FIG. 4, descriptions of the
図4のデータ分散処理システム10において、例えば、データ処理装置20jは、処理データ入力装置13から処理データを受信し、当該処理データをデータ処理装置20mに転送する。データ処理装置20mは、処理データを受信して、当該データに対して所定の処理を実行する。
In the data distribution processing system 10 of FIG. 4, for example, the data processing device 20j receives the processing data from the processing
処理データを受信したデータ処理装置20jは、処理データに関連付けられた基準キーから生成キーを算出する。この算出は、格納データを受信したデータ処理装置20jが行った生成キーの算出と同様である。 The data processing device 20j that has received the processing data calculates a generation key from the reference key associated with the processing data. This calculation is similar to the generation key calculation performed by the data processing device 20j that has received the stored data.
例えば、処理データに含まれるシードが”田町駅”である場合、図3に示すように、生成キーは、10進数でそれぞれ、”42”、”106”、”170”、”234”となる。 For example, when the seed included in the processing data is “Tamachi Station”, as shown in FIG. 3, the generation keys are “42”, “106”, “170”, and “234” in decimal numbers, respectively. .
データ処理装置20jは、割り当てられた管理キーの範囲内に、自装置に割り当てられた管理キーの範囲(127乃至139)との距離(図8等を参照)が最も近い生成キー”170”を包含するデータ処理装置20mに処理データを転送する。 The data processing device 20j includes the generated key “170” having the closest distance (see FIG. 8 etc.) with the management key range (127 to 139) assigned to the own device within the assigned management key range. The processing data is transferred to the data processing device 20m to be included.
処理データは、データ処理装置20jからデータ処理装置20mへホップ・バイ・ホップで転送される。当該処理データは、データ処理装置20mに到達するまでにデータ処理装置20kやデータ処理装置20l等の、他のデータ処理装置20を経由するかもしれない。どのデータ処理装置20を経由するかは、データ分散処理システム10に適用するルーティングプロトコルに依存する。
The processing data is transferred hop-by-hop from the data processing device 20j to the data processing device 20m. The processing data may pass through another
但し、本実施形態のデータ分散処理システム10は、割り当てられた管理キーの距離が近いデータ処理装置20間のポップ数が、割り当てられた管理キーの距離が遠いデータ処理装置20間のポップ数以下になるようなルーティングプロトコルを使用する。このようなプロトコルの例は、非特許文献2に記載されている。
However, in the data distribution processing system 10 according to the present embodiment, the number of pops between the
データ処理装置20mで実行される所定の処理は、データ分散処理システム10に対応して決まっている。 Predetermined processing executed by the data processing device 20m is determined corresponding to the data distribution processing system 10.
データ処理装置20jが受信した処理データをデータ処理装置20mに転送する理由は、例えば、所定の処理が、図2で説明した格納データを要求するからである。或いは、例えば、所定の処理が、データ処理装置20c、h、p、mだけが備える高性能プロセッサ、画像処理エンジン等の装置を必要とするからである。 The reason why the processing data received by the data processing device 20j is transferred to the data processing device 20m is, for example, that the predetermined processing requests the storage data described in FIG. Alternatively, for example, the predetermined processing requires a device such as a high-performance processor or an image processing engine provided only in the data processing devices 20c, h, p, and m.
なお、データ処理装置20mが正常に動作していないような場合、処理データは、例えば、データ処理装置20pに転送される。その理由は、データ処理装置20pは、図2が示すようにデータ処理装置20mと同じ格納データの複製を有する、或いはデータ処理装置20mが備える装置と代替可能な装置を備えるからである。 If the data processing device 20m does not operate normally, the processing data is transferred to the data processing device 20p, for example. The reason is that the data processing device 20p has a copy of the same stored data as the data processing device 20m as shown in FIG. 2, or a device that can replace the device provided in the data processing device 20m.
本実施形態のデータ分散処理システム10は、例えば、publish/subscribe(pub/sub)型のシステムとして動作する。このシステムに於いて、格納データ入力装置14等で実行されるアプリケーションプログラムは、あらかじめサブスクリプションを格納データとして何れかのデータ処理装置20、例えば、データ処理装置20jに入力する。サブスクリプションは、何れかのデータ処理装置20、例えば、データ処理装置20m等に格納される。
The data distribution processing system 10 of this embodiment operates as a publish / subscribe (pub / sub) type system, for example. In this system, an application program executed by the stored
サブスクリプションは、イベントの条件と当該条件を満足するイベントが入力されたときに通知する外部システムのアドレスから構成される。 The subscription is composed of an event condition and an address of an external system that is notified when an event that satisfies the condition is input.
あるデータ処理装置20が、処理データ入力装置13から処理データとしてイベントを入力した場合、当該データ処理装置20は、当該イベントを、サブスクリプションを格納しているデータ処理装置20に転送する。例えば、データ処理装置20jが、処理データ入力装置13から処理データとしてイベントを入力し、当該イベントを、サブスクリプションを格納しているデータ処理装置20mに転送する。
When a certain
サブスクリプションを格納しているデータ処理装置20は、転送されたイベントと登録されているサブスクリプションのイベント条件を照合し、合致すれば当該イベントをサブスクリプションで指定された外部システムに通知する。
The
この場合、入力されたイベントと登録されているイベント条件の照合、外部システムへの通知が、上述した所定の処理に該当する。 In this case, the collation of the input event with the registered event condition and the notification to the external system correspond to the predetermined processing described above.
なお、イベントは1つ以上のデータ項目からなる処理データである。各データ項目は、属性名と属性値から構成される。例えば、処理データ入力装置13が、センサが観測した20℃の温度、60%の湿度を基にイベントを生成する場合、イベントは、属性名が“温度”で属性値が20℃であるデータ項目と、属性名が“湿度”で属性値が60%であるデータ項目から構成される。
An event is processing data composed of one or more data items. Each data item is composed of an attribute name and an attribute value. For example, when the processing
本システムのデータ処理装置20は、サブスクリプション、及びイベントの属性値をシードとして、生成キーを算出する。
The
また、本実施形態のデータ分散処理システム10は、オブジェクトデータを分散して格納するストレージとしても機能出来る。この場合、各オブジェクトデータは、各データ処理装置20が分担して格納する格納データである。
The data distribution processing system 10 of this embodiment can also function as a storage that stores object data in a distributed manner. In this case, each object data is stored data that each
オブジェクトデータを要求する処理データ入力装置13がデータの条件(クエリ)を処理データとしてデータ分散処理システム10に入力する。クエリを入力したデータ処理装置20、例えばデータ処理装置20jは、上述と同様にオブジェクトデータを格納するデータ処理装置20、例えばデータ処理装置20mを特定する。
A processing
データ処理装置20jは、データ処理装置20mからクエリ実行結果としての当該オブジェクトデータを受信して、処理データ入力装置13に応答する。この場合、クエリを実行して要求されたオブジェクトデータを得ることが、データ処理装置20が実行する所定の処理となる。
The data processing device 20j receives the object data as a query execution result from the data processing device 20m, and responds to the processing
図5は、本実施の形態のデータ処理装置20の構成を示す。データ処理装置20は、処理データ転送部22、管理キー保持部25を包含する。データ処理装置20は、格納データ転送部21、処理部23、キー生成部24、通信部27、格納データ保持部26を包含していても良い。
FIG. 5 shows the configuration of the
格納データ転送部21は、格納データ入力装置14から格納データを受信して、他のデータ処理装置20に転送等する(図2を参照)。処理データ転送部22は、処理データ入力装置13から処理データを受信して、他のデータ処理装置20に転送等する(図4を参照)。キー生成部24は、シードから生成キーを算出する(図3を参照)。
The stored
処理部23は、処理データを入力して所定の処理を実行する等の機能を有する。通信部27は、他のデータ処理装置20との通信を行う。通信部27は、ルーティングプロトコル処理を実行しても良い。
The
格納データ転送部21および処理データ転送部22は、キー生成部24の機能を包含しても良い。格納データ転送部21、処理データ転送部22および処理部23は、通信部27の機能を包含しても良い。更に、処理部23、格納データ保持部26は、データ処理装置20に接続される他の装置、例えばデータベースサーバに存在しても良い。
The stored
格納データ転送部21、処理データ転送部22および処理部23は、専用のハードウェアで実現される。格納データ転送部21、処理データ転送部22および処理部23の全部または一部は、データ処理装置20の図示されないプロセッサが、データ処理プログラム28を実行することで実現されても良い。
The stored
管理キー保持部25、格納データ保持部26は、ディスク装置、半導体メモリ等の記憶装置である。格納データ保持部26は、上述したサブスクリプション、オブジェクトデータ等である格納データを格納する。格納データが具体的にどのようなデータであるかは、データ分散処理システム10に依存する。
The management
図6は、管理キー保持部25に格納されるデータを示す。データ分散処理システム10の管理者等は、管理キー保持部25に、自範囲30、キー長31、複製桁数32に値を設定する。
FIG. 6 shows data stored in the management
自範囲30は、自装置に割り当てられた管理キーの範囲の最小値と最大値を保持する。例えば、図2、図3におけるデータ処理装置20jにおいて、kminが127、kmaxが139である。格納データ保持部26が保持する格納データは、そのシードから算出された生成キーkが、自範囲30の範囲内であるものである。
The
キー長31は、管理キー、基準キー、生成キーの桁数m(正の整数)を保持する。図3の例に於いて、mは8ビットである。キー生成部24は、キー長31で指定された長さのキーを生成する。
The
複製桁数32は、格納データの複製を格納するデータ処理装置20の数(複製多重度)の上限を、基準キー、生成キーの上位桁数nという形式で保持する。複製多重度の上限は基準キー、生成キーの基数のn乗である。図3の例に於いてnは2ビットであり、複製多重度の上限は2の2乗で4となる。
The number of
なお、本発明に於いては、m桁の基準キー、生成キーの上位n桁と下位j(=m−n)桁に分けて扱う場合がある。 In the present invention, there are cases where the m-digit reference key and the generated key are divided into upper n digits and lower j (= mn) digits.
なお、データ分散処理システム10の格納データの複製多重度が、上限より小さくなる場合がある。格納データ転送部21は、上限数の分散された値の生成キーを算出し、複製を、各生成キーを自範囲30内に含むデータ処理装置20に作成しようとする。しかし、算出された複数の生成キーが、一台のデータ処理装置20の自範囲30内に含まれてしまう場合があり、この場合、複製多重度が上限より小さくなる。
Note that the replication multiplicity of stored data in the data distribution processing system 10 may be smaller than the upper limit. The stored
図7は、処理データ転送部22の動作フローチャートである。処理データ転送部22は、処理データ入力装置13から処理データを受信する(S1)と、処理データのシードをキー生成部24に入力して、キー生成部24から1以上の生成キーを取得する(S2)。
FIG. 7 is an operation flowchart of the processing
次に、処理データ転送部22は、自装置に割り当てられている管理キーの範囲と、各生成キーとの距離のうち、最小の距離dminと当該dminを与える生成キーである転送ターゲットキーを求める。
Next, the processing
先ず、処理データ転送部22は、dminをMAXとして初期化する(S3)。MAXは生成キーがとり得る最大値である。キー長31がmである場合、生成キーの最大値は、(基数のm乗−1)である。
First, the processing
次に、処理データ転送部22は、各生成キーkに対して、ステップS4乃至S6の処理を繰り返し実行する。
Next, the process data transfer
処理データ転送部22は、後述する図8に示される処理を実行して自範囲30とkとの距離dを求める(S4)。dmin>dならば(S5でY)、処理データ転送部22は、新たにdをdminとし、kを転送ターゲットキーとする(S6)。
The process data transfer
各生成キーkについて上述の処理完了後、dmin=0でなければ(S7でN)、処理データ転送部22は、転送ターゲットキーを割り当てられたデータ処理装置20に処理データを転送する(S8)。
If dmin = 0 is not satisfied after completion of the above-described processing for each generated key k (N in S7), the processing
正常に転送が完了すれば(S9でY)、処理データ転送部22は処理を終了する。正常に転送が完了しない場合(S9でN)、処理データ転送部22は現在の転送ターゲットキーであるところの生成キーを削除して(SA)、S3から繰り返し実行する。
If the transfer is completed normally (Y in S9), the process data transfer
正常に転送が完了しない場合(S9でN)、処理データ転送部22は、現在の転送ターゲットキーで示される転送先のデータ処理装置20に障害が発生していると判断して上記処理を行う。 なお、ステップSAで削除された生成キーは、ステップS4乃至S6の処理対象にならない。
If the transfer is not completed normally (N in S9), the processing
dmin=0であれば(S7でY)、処理データ転送部22は、自装置の処理部23に処理データを送信して(SB)、処理を終了する。
If dmin = 0 (Y in S7), the processing
図8は、処理データ転送部22の距離d算出のフローチャートである。本図は、図2または図3於ける各データ処理装置20が、処理データを時計回り方向に転送することを前提としたときの距離(時計回り距離)算出のフローチャートである。例えば、非特許文献2に記載のプロトコルを用いると、各データ処理装置20は処理データを時計回り方向に転送する。
FIG. 8 is a flowchart for calculating the distance d of the processing
生成キーkについて、kmin<k<kmaxが成り立つ場合(S11でY)、処理データ転送部22は距離dを0とする(S12)。kminとkmaxは自範囲30が保持する値である。
When kmin <k <kmax holds for the generated key k (Y in S11), the processing
kmin<k<kmaxでなく(S11でN)、かつk>kmaxである場合(S14でY)、処理データ転送部22は距離dをk−kmaxとする(S13)。kmin<k<kmaxでなく(S11でN)、かつk>kmaxでない場合(S14でN)、処理データ転送部22は距離dをMAX−kmax+k+1とする(S15)。
When kmin <k <kmax is not satisfied (N in S11) and k> kmax is satisfied (Y in S14), the processing
なお、非特許文献2に記載のプロトコルを用いる場合、各データ処理装置20は、時計回り距離で、自装置に割り当てられた管理キーの最大値から、2の(i−1)乗だけ離れた管理キーを割り当てられたデータ処理装置20のアドレスを保持する。これにより、データ分散処理システム10に於ける処理データのホップ数は、log(データ処理装置数/2のn乗)のオーダとなる。
When the protocol described in Non-Patent Document 2 is used, each
各データ処理装置20は、処理データを受信すると、処理データの基準キーに最も近い管理キーが割り当てられたデータ処理装置20を転送先とする。前記転送データは、ホップ・バイ・ホップで、前記キーを管理するデータ処理装置20に到達する。
When each
なお、キー間の距離は時計回り距離に限られない。例えば、処理データ転送部22は、キー間の距離として、逆時計回り距離を用いてもよい。この場合、距離dは、図8のS14でk>kmin、S13でMAX−k+kmin+1、S15でKmin−kとなる。更に、処理データ転送部22は、キー間の距離として、時計回り距離と逆時計回り距離のうち、より小さい値を距離としてもよい。
The distance between the keys is not limited to the clockwise distance. For example, the processing
データ分散処理システム10の管理者等は、システムが実行するルーティングアルゴリズムに応じて、キー間の距離が近いデータ処理装置20間のポップ数が、距離が遠いデータ処理装置20間のポップ数以下になるように距離を定義する。処理データ転送部22は、当該定義に応じて距離を算出する。
The administrator of the data distribution processing system 10 or the like, the number of pops between the
また、処理データ転送部22は、転送先の選択に際し、上記の距離に加えて優先度を加味しても良い。データ分散処理システム10が複数備える代替可能な装置が全く同等でない場合等に有効である。この場合、処理データ転送部22は、例えば、上述の距離と優先度を重み付け加算し、加算値の最小値を与えるデータ処理装置20を転送先とする。
Further, the processing
図9は、キー生成部24の動作フローチャートである。キー生成部24は、シードを受信する(S21)と、まず、シードをハッシュ関数に入力しハッシュ値を得る(S22)。次に、キー生成部24は、複製桁数32からビット数nを取得し(S23)、ハッシュ値の上位nビットを当該nビットの取り得る全ての組み合わせのそれぞれに置き換えて生成キーとする(S24)。前述したように、図3は、キー生成部24の生成キー算出例を示す。
FIG. 9 is an operation flowchart of the
図10は、格納データ転送部21の動作フローチャートである。格納データ転送部21は、格納データ入力装置14から格納データと要求タイプを受信する(S31)と、格納データのシードをキー生成部24に入力し、1以上の生成キーを取得する(S32)。
FIG. 10 is an operation flowchart of the stored
次に、格納データ転送部21は、各生成キーkについてステップS33乃至S35の処理を繰り返し実行する。
Next, the stored
生成キーkについてkmin<k<kmaxが成り立たない場合(S33でN)、格納データ転送部21は、生成キーkを割り当てられたデータ処理装置20に、格納データ、要求タイプを転送する(S34)。kminとkmaxは自範囲30が保持する値である。
When kmin <k <kmax does not hold for the generated key k (N in S33), the stored
kmin<k<kmaxが成り立つ場合(S33でY)、格納データ転送部21は、自装置の処理部23に格納データ、要求タイプを送信する(S35)。
When kmin <k <kmax is satisfied (Y in S33), the stored
なお、要求タイプとは、格納データを登録するか、削除するかを識別するための識別子であり、“登録”、“削除”のいずれかの値を持つ。 The request type is an identifier for identifying whether stored data is registered or deleted, and has a value of “registration” or “deletion”.
図11は、処理部23の動作フローチャートである。処理部23は、他のデータ処理装置20または自装置の、格納データ転送部21から格納データを受信する。処理部23は、他のデータ処理装置20または自装置の、処理データ転送部22から処理データを受信する。
FIG. 11 is an operation flowchart of the
受信データが処理データである場合(S41でY)、処理部23は当該処理データを対象に所定の処理を実行して(S44)動作を終了する。受信データが格納データである場合(S41でN)、処理部23は、要求タイプに応じた処理を実行して動作を終了する。
If the received data is processed data (Y in S41), the
要求タイプが”登録”の場合(S42でY)、処理部23は受信した格納データを格納データ保持部26に格納する(S43)。要求タイプが”削除”の場合(S42でN)、処理部23は受信した格納データと一致するデータを格納データ保持部26から削除する(S45)。
When the request type is “registration” (Y in S42), the
本実施形態のデータ分散処理システム10は、複数のデータ処理装置20からなるシステムである。本実施形態のデータ処理装置20は、データ分散処理システム10が、要求される信頼度、システム内のデータ処理装置20の台数応じて、適切な多重度の複製データ・代替可能な装置を有することを可能とする。
The data distribution processing system 10 according to the present embodiment is a system including a plurality of
その理由は、処理データ転送部22が、処理データを、当該処理データの基準キーと下位j桁が一致する管理キーを含む範囲が割り当てられた正常動作中のいずれかの他装置に転送するからである。
The reason is that the processing
データ分散処理システム10の管理者等は、望ましい多重度に応じて格納データや代替可能な装置等を配置した上で、適切な自範囲30、複製桁数32を設定出来る。
An administrator or the like of the data distribution processing system 10 can set an appropriate
本実施形態のデータ処理装置20は、更に、データ分散処理システム10が、要求される信頼度、システム内のデータ処理装置20の台数応じて、適切な多重度の複製データを、装置を作成することを可能とする。
In the
その理由は、格納データ転送部21が、格納データを、当該処理データの基準キーと下位j桁が一致する管理キーを含む範囲が割り当てられた正常動作中の複数の他装置に転送するからである。
The reason is that the stored
データ分散処理システム10の管理者等は、望ましい多重度に応じて適切な複製桁数32を設定出来る。
An administrator of the data distribution processing system 10 can set an appropriate number of
図12は、本発明の第2の実施形態に係るデータ処理装置20の構成を示す。データ処理装置20は、m桁の連続数値である管理キーの値の範囲が複数区間に分割されたときの各分割区間の内、自装置に割り当てられた区間の範囲(自範囲30)以外の各区間を割り当てられた各々の他のデータ処理装置20(他装置)と接続されている。
FIG. 12 shows the configuration of the
データ処理装置20は、自範囲30を記憶する管理キー保持部25と処理データ転送部22を備える。
The
処理データ転送部22は、m桁の数値である基準キーに関連付けられた処理データを受信して、処理データの基準キーが自範囲30内であれば、処理データを所定処理の対象とする。更に、処理データ転送部22は、処理データの基準キーが自範囲30外であれば、処理データを処理データの基準キーと下位j(<m)桁が一致する数値の管理キーを含む範囲が割り当てられた正常動作中の他の装置のいずれかに転送する。
The processing
本実施形態のデータ処理装置20は、データ分散処理システム10が、要求される信頼度、システム内のデータ処理装置20の台数応じて、適切な多重度の複製データ・代替可能な装置を有することを可能とする。
In the
その理由は、処理データ転送部22が、処理データを、当該処理データの基準キーと下位j桁が一致する管理キーを含む範囲が割り当てられた正常動作中のいずれかの他装置に転送するからである。
The reason is that the processing
10 データ分散処理システム
11 主ネットワーク
12 副ネットワーク
13 処理データ入力装置
14 格納データ入力装置
20 データ処理装置
21 格納データ転送部
22 処理データ転送部
23 処理部
24 キー生成部
25 管理キー保持部
26 格納データ保持部
27 通信部
28 データ処理プログラム
30 自範囲
31 キー長
32 複製桁数
DESCRIPTION OF SYMBOLS 10 Data distributed
Claims (8)
前記自範囲を記憶する管理キー保持手段と、
m桁の数値である基準キーに関連付けられた処理データを受信して、
前記処理データの基準キーが前記自範囲外であれば、前記処理データを、
(a)前記処理データの基準キーと下位j(<m)桁が一致する、前記自範囲より大きな数値の管理キーを含む範囲が割り当てられた正常動作中の他装置の中で、最小の管理キーの範囲を割り当てられた他装置(上位装置)、または、
(b)前記処理データの基準キーと下位j(<m)桁が一致する、前記自範囲より小さな数値の管理キーを含む範囲が割り当てられた正常動作中の他装置の中で、最大の管理キーの範囲を割り当てられた他装置(下位装置)、
の一方に転送する処理データ転送手段を備えるデータ処理装置。 Each assigned to each section other than the section range (own range) assigned to the own device among the divided sections when the range of the management key value, which is an m-digit continuous value, is divided into a plurality of sections. Connected to other data processing devices (other devices)
Management key holding means for storing the own range;
Receive processing data associated with the reference key, which is an m-digit number,
If the reference key of the processing data is outside the range, the processing data is
(A) The smallest management among other devices in normal operation to which a range including a management key having a numerical value larger than the own range, in which the lower-order j (<m) digit matches the reference key of the processing data. Other device (high-order device) assigned a key range, or
(B) The maximum management among other devices in normal operation to which a range including a management key with a numerical value smaller than the own range, in which the reference key of the processing data matches the lower j (<m) digits, is assigned. Other device (subordinate device) assigned key range,
Data processing apparatus comprising a processing data transfer means for transferring the one of.
自範囲と前記上位装置に割り当てられた管理キーの範囲の距離と自範囲と前記下位装置に割り当てられた管理キーの範囲の距離とを比較して、距離が小さな一方に転送する、請求項1のデータ処理装置。 It said processing data transfer means, the processing data, among the upper device and said lower device, and transfers the one constant order was, or,
The distance between the own range and the range of the management key assigned to the higher-level device is compared with the distance between the own range and the range of the management key assigned to the lower-level device, and the distance is transferred to the smaller one. Data processing equipment.
前記格納データ保持手段内の格納データを用いて所定の処理を実行する処理手段と、
基準キーに関連付けられた格納データを受信して、前記格納データの基準キーと下位j(<m)桁が一致するキーが前記自範囲内であれば、前記処理データを前記格納データ保持手段に格納し、
前記自範囲外であれば、前記格納データを前記格納データの基準キーと下位n桁が一致する管理キーを含む範囲が割り当てられた複数の他装置に転送する格納データ転送手段を備える請求項1乃至2の何れかのデータ処理装置。 Stored data holding means;
Processing means for executing the given processing using data stored in the storage data holding means,
If the stored data associated with the reference key is received, and the key whose lower j (<m) digit matches the reference key of the stored data is within the own range, the processed data is stored in the stored data holding means. Store and
2. A stored data transfer means for transferring the stored data to a plurality of other devices to which a range including a management key whose lower n digits match the reference key of the stored data is assigned if it is outside the range. The data processing device according to any one of 1 to 2 .
前記自範囲以外の各区間を割り当てられた各々の他装置と、
前記データ処理装置に接続され、前記データ処理装置に処理データを送信する処理データ入力装置を包含するデータ分散処理システム。 A data processing device according to any one of claims 1 to 3 ,
Each other device assigned each section other than the own range;
A data distribution processing system including a processing data input device connected to the data processing device and transmitting processing data to the data processing device.
自装置が備える管理キー保持手段に前記自範囲を記憶する管理キー保持処理と、
m桁の数値である基準キーに関連付けられた処理データを受信して、
前記処理データの基準キーが前記自範囲外であれば、前記処理データを、
(a)前記処理データの基準キーと下位j(<m)桁が一致する、前記自範囲より大きな数値の管理キーを含む範囲が割り当てられた正常動作中の他装置の中で、最小の管理キーの範囲を割り当てられた他装置(上位装置)、または、
(b)前記処理データの基準キーと下位j(<m)桁が一致する、前記自範囲より小さな数値の管理キーを含む範囲が割り当てられた正常動作中の他装置の中で、最大の管理キーの範囲を割り当てられた他装置(下位装置)、
の一方に転送する前記処理データ転送処理を実行させるデータ処理プログラム。 Each assigned to each section other than the section range (own range) assigned to the own device among the divided sections when the range of the management key value, which is an m-digit continuous value, is divided into a plurality of sections. To computers connected to other computers (other devices)
A management key holding process for storing the own range in a management key holding means provided in the own device;
Receive processing data associated with the reference key, which is an m-digit number,
If the reference key of the processed data is outside the own range, the pre-Symbol processing data,
(A) The smallest management among other devices in normal operation to which a range including a management key having a numerical value larger than the own range, in which the lower-order j (<m) digit matches the reference key of the processing data. Other device (high-order device) assigned a key range, or
(B) The maximum management among other devices in normal operation to which a range including a management key with a numerical value smaller than the own range, in which the reference key of the processing data matches the lower j (<m) digits, is assigned. Other device (subordinate device) assigned key range,
It said processing Lud over data processing program to execute the data transfer process of transferring the one of.
前記処理データを、前記上位装置と前記下位装置の内、定められた一方に転送する、または、
自範囲と前記上位装置に割り当てられた管理キーの範囲の距離と自範囲と前記下位装置に割り当てられた管理キーの範囲の距離とを比較して、距離が小さな一方に転送する前記処理データ転送処理を実行させる、請求項5のデータ処理プログラム。 In the computer,
Said process data, among the upper device and said lower device, and transfers one was constant because, or,
The processing data transfer in which the distance between the own range and the range of the management key assigned to the higher-level device and the distance between the own range and the range of the management key assigned to the lower-level device are compared and transferred to one having a smaller distance The data processing program according to claim 5 , wherein the processing is executed.
前記コンピュータが備える格納データ保持手段内の格納データを用いて所定の処理を実行する処理実行処理と、
基準キーに関連付けられた格納データを受信して、前記格納データの基準キーと下位j(<m)桁が一致するキーが前記自範囲内であれば、前記処理データを前記格納データ保持手段に格納し、
前記自範囲外であれば、前記格納データを前記格納データの基準キーと下位n桁が一致する管理キーを含む範囲が割り当てられた複数の他装置に転送する格納データ転送処理を実行させる請求項5乃至6の何れかのデータ処理プログラム。 In the computer,
And processing execution processing for executing the given process using the stored data in the storage data holding means included in the computer,
If the stored data associated with the reference key is received, and the key whose lower j (<m) digit matches the reference key of the stored data is within the own range, the processed data is stored in the stored data holding means. Store and
A storage data transfer process is executed for transferring the stored data to a plurality of other devices to which a range including a management key whose lower-order n digits match the reference key of the stored data is outside the own range. A data processing program according to any one of 5 to 6 .
自装置が備える管理キー保持手段に前記自範囲を記憶し、
m桁の数値である基準キーに関連付けられた処理データを受信して、
前記処理データの基準キーが前記自範囲外であれば、前記処理データを
(a)前記処理データの基準キーと下位j(<m)桁が一致する、前記自範囲より大きな数値の管理キーを含む範囲が割り当てられた正常動作中の他装置の中で、最小の管理キーの範囲を割り当てられた他装置(上位装置)、または、
(b)前記処理データの基準キーと下位j(<m)桁が一致する、前記自範囲より小さな数値の管理キーを含む範囲が割り当てられた正常動作中の他装置の中で、最大の管理キーの範囲を割り当てられた他装置(下位装置)、
の一方に転送するデータ処理方法。 Each assigned to each section other than the section range (own range) assigned to the own device among the divided sections when the range of the management key value, which is an m-digit continuous value, is divided into a plurality of sections. A data processing device connected to another data processing device (other device)
The own range is stored in the management key holding means provided in the own device,
Receive processing data associated with the reference key, which is an m-digit number,
If the reference key of the processed data is outside the own range, the process data
(A) The smallest management among other devices in normal operation to which a range including a management key having a numerical value larger than the own range, in which the lower-order j (<m) digit matches the reference key of the processing data. Other device (high-order device) assigned a key range, or
(B) The maximum management among other devices in normal operation to which a range including a management key with a numerical value smaller than the own range, in which the reference key of the processing data matches the lower j (<m) digits, is assigned. Other device (subordinate device) assigned key range,
Data processing method to transfer to one of the.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010065707A JP5544963B2 (en) | 2010-03-23 | 2010-03-23 | Data processing apparatus, data distributed processing system, data processing program, and data processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010065707A JP5544963B2 (en) | 2010-03-23 | 2010-03-23 | Data processing apparatus, data distributed processing system, data processing program, and data processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011198199A JP2011198199A (en) | 2011-10-06 |
JP5544963B2 true JP5544963B2 (en) | 2014-07-09 |
Family
ID=44876277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010065707A Expired - Fee Related JP5544963B2 (en) | 2010-03-23 | 2010-03-23 | Data processing apparatus, data distributed processing system, data processing program, and data processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5544963B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6697158B2 (en) | 2016-06-10 | 2020-05-20 | 富士通株式会社 | Information management program, information management method, and information management device |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007006214A (en) * | 2005-06-24 | 2007-01-11 | Nippon Telegr & Teleph Corp <Ntt> | Resource information retrieving system, resolver, and program |
JP2008234563A (en) * | 2007-03-23 | 2008-10-02 | Nec Corp | Overlay management device, overlay management system, overlay management method, and program for managing overlay |
-
2010
- 2010-03-23 JP JP2010065707A patent/JP5544963B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011198199A (en) | 2011-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9489827B2 (en) | System and method for distributing content in a video surveillance network | |
JP5016063B2 (en) | Consistent fault-tolerant distributed hash table (DHT) overlay network | |
US8051205B2 (en) | Peer-to-peer distributed storage | |
US8005982B2 (en) | Data storage method and system | |
US20150215405A1 (en) | Methods of managing and storing distributed files based on information-centric network | |
Zhang et al. | Distributed hash table: Theory, platforms and applications | |
US7177867B2 (en) | Method and apparatus for providing scalable resource discovery | |
Kan et al. | MTFS: Merkle-tree-based file system | |
WO2010111887A1 (en) | Data node apparatus, opposite terminal information acquisition method and system | |
JP2008102795A (en) | File management device, system, and program | |
Kryukov et al. | Decentralized data storages: Technologies of construction | |
Kothari et al. | A distributed peer-to-peer storage network | |
Hassanzadeh-Nazarabadi et al. | Laras: Locality aware replication algorithm for the skip graph | |
JP5544963B2 (en) | Data processing apparatus, data distributed processing system, data processing program, and data processing method | |
Manku | Dipsea: a modular distributed hash table | |
Abdallah et al. | Ftree-CDN: Hybrid CDN and P2P architecture for efficient content distribution | |
Masood et al. | Dht-pdp: A distributed hash table based provable data possession mechanism in cloud storage | |
Nallakannu et al. | PSO‐based optimal peer selection approach for highly secure and trusted P2P system | |
JP2007156700A (en) | Information retrieval method, information registration method and network service information retrieval system | |
WO2013027784A1 (en) | Data processing device, data distribution processing system, data processing method, and program storage medium | |
US11463261B1 (en) | Nested ledger | |
Kurokawa et al. | Study on the distributed data sharing mechanism with a mutual authentication and meta database technology | |
Li et al. | A multidimensional index for range queries over Cayley‐based DHT | |
Ma et al. | Data resource discovery model based on hybrid architecture in data grid environment | |
JP6036302B2 (en) | Information processing apparatus, information processing system, information processing method, and information processing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20110707 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130218 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131224 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140217 |
|
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: 20140415 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140428 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5544963 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |