JP6353395B2 - Distribution request distribution method, node, and program - Google Patents
Distribution request distribution method, node, and program Download PDFInfo
- Publication number
- JP6353395B2 JP6353395B2 JP2015078854A JP2015078854A JP6353395B2 JP 6353395 B2 JP6353395 B2 JP 6353395B2 JP 2015078854 A JP2015078854 A JP 2015078854A JP 2015078854 A JP2015078854 A JP 2015078854A JP 6353395 B2 JP6353395 B2 JP 6353395B2
- Authority
- JP
- Japan
- Prior art keywords
- distribution
- data
- node
- range
- nodes
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、複数のノード(PC)間で構成される分散ハッシュテーブルおいて、膨大なデータを分散管理し配信する際に特定のノードに配信要求が偏らないように配信要求を分散させる配信要求分散方法、ノード、及びプログラムに関する。 The present invention relates to a distribution request that distributes distribution requests so that distribution requests are not biased to specific nodes when a large amount of data is distributed and managed in a distributed hash table composed of a plurality of nodes (PCs). The present invention relates to a distribution method, a node, and a program.
分散ハッシュテーブルとは、ひとつの論理的なID空間を複数のノードで分担し管理する技術であり、Key Value Store等の分散データベースにて利用されている。分散ハッシュテーブルにデータを配置する場合、当該データの名前をキーとし、当該キーを担当するノードに対して当該データを配置する。データを分散ハッシュテーブルから取得する場合、取得したいデータの名前をキーとし、分散ハッシュテーブル上から当該キーを担当するノードを探し、データを取得する。しかしながら、特定のデータもしくはデータ群に配信要求が集中する場合、当該データ(群)を管理するノードの配信負荷が高くなるという問題が存在している。 The distributed hash table is a technique for sharing and managing one logical ID space by a plurality of nodes, and is used in a distributed database such as Key Value Store. When data is arranged in the distributed hash table, the name of the data is used as a key, and the data is arranged for a node in charge of the key. When acquiring data from the distributed hash table, the name of the data to be acquired is used as a key, the node in charge of the key is searched from the distributed hash table, and the data is acquired. However, when distribution requests are concentrated on specific data or a data group, there is a problem that a distribution load of a node that manages the data (group) increases.
本問題に対して、既存手法1(例えば、非特許文献1を参照。)は、特定のデータ群に配信要求が集中する場合、配信要求が少ないノードを当該データ群のID空間の一部を担当するように、当該ノードを移動させる。図1では、ノードB,Cに配信要求が集中している分散ハッシュテーブルを既存手法1を用いて配信要求を平滑化している。具体的には、配信要求数が少ないノードDが配信要求数の多いBの担当範囲の一部:[15,20)を請け負うことで、配信要求数の平滑化を行う。この時、Dは自身の担当範囲を隣接するノードCに対して受け渡す。既存手法2(例えば、非特許文献2を参照。)では、各ノードが配信要求数の上限を超えた場合、自身の担当範囲を隣接するノードに対して譲渡する。図2では、ノードB,Cが担当範囲を狭め、A,Dは担当範囲を広めることで、配信要求数の平滑化を行っている。
To solve this problem, the existing method 1 (for example, refer to Non-Patent Document 1), when distribution requests are concentrated on a specific data group, a node having a small distribution request is assigned a part of the ID space of the data group. Move the node to take charge. In FIG. 1, a distributed hash table in which distribution requests are concentrated on nodes B and C is smoothed using the
しかし、既存手法1,2は逐次的かつ非同期で行うため、配信要求数が平滑化されるまでは何度もノードの担当範囲が切り替わり、ノード間でのデータ移動が多発することになる。つまり、既存手法1,2には、ノードの担当範囲の切替わりに伴うノード間でのデータ移動が多発するという課題があった。
However, since the existing
そこで、本発明は、上記課題を解決すべく、頻繁なデータの移動を抑制しつつ、各ノード間のデータ配信数を平準化することができる配信要求分散方法、ノード、及びプログラムを提供することを目的とする。 Accordingly, the present invention provides a distribution request distribution method, a node, and a program capable of leveling the number of data distribution between nodes while suppressing frequent data movement in order to solve the above problems. With the goal.
そこで、本発明は、ある時間単位で各ノードに対する配信要求数を計測し、当該結果の元、要求数が多いノードが管理するデータを当該ノードと隣接する複数のノードで分散して管理することとした。 Therefore, the present invention measures the number of distribution requests for each node in a certain time unit, and distributes and manages the data managed by the node having a large number of requests based on the result at a plurality of nodes adjacent to the node. It was.
具体的には、本発明に係る配信要求分散方法は、共通の大きさの担当範囲Hにあるデータxをそれぞれ保持する複数のノードで構成される分散ハッシュテーブルにおいて、担当範囲Hを変化させてデータの配信要求を各ノードに分散させる配信要求分散方法であって、
1つのノードが一定の時間に他のノードにされる配信要求の数を調査するデータ配信数調査ステップと、
前記1つのノードが配信要求を受信したときに、
前記データ配信数調査ステップで取得した前記配信要求の数に基づいて、データxが配信要求される確率密度分布である配信要求関数f(x)を決定し、データxを保持するノード数の確率密度分布である包含関数g(x、H)とf(x)との二乗誤差が所望のデータxの範囲において最小となるように担当範囲Hを決定する担当範囲決定ステップと、
を行うことを特徴とする。
Specifically, the distribution request distribution method according to the present invention changes the assigned range H in a distributed hash table composed of a plurality of nodes each holding data x in the assigned range H of a common size. A distribution request distribution method for distributing data distribution requests to each node,
A data distribution number investigation step in which one node investigates the number of distribution requests made to other nodes at a certain time;
When the one node receives a distribution request,
Based on the number of distribution requests acquired in the data distribution number checking step, a distribution request function f (x), which is a probability density distribution in which data x is requested to be distributed, is determined, and the probability of the number of nodes holding the data x A charge range determination step for determining the charge range H so that the square error between the inclusion functions g (x, H) and f (x), which are density distributions, is minimized in the range of the desired data x;
It is characterized by performing.
また、本発明に係るノードは、分散ハッシュテーブルを構成し、共通の大きさの担当範囲Hにあるデータxを保持するノードであって、
一定の時間に他のノードにされる配信要求の数を調査するデータ配信数調査モジュールと、
配信要求を受信したときに、
前記データ配信数調査モジュールが取得した前記配信要求の数に基づいて、データxが配信要求される確率密度分布である配信要求関数f(x)を決定し、データxを保持するノード数の確率密度分布である包含関数g(x、H)とf(x)との二乗誤差が所望のデータxの範囲において最小となるように担当範囲Hを決定する担当範囲決定モジュールと、
を備える。
In addition, the node according to the present invention is a node that constitutes a distributed hash table and holds data x in the charge range H of a common size,
A data distribution number survey module that investigates the number of distribution requests made to other nodes at a certain time,
When a delivery request is received,
Based on the number of distribution requests acquired by the data distribution number survey module, a distribution request function f (x), which is a probability density distribution in which data x is requested to be distributed, is determined, and the probability of the number of nodes holding the data x A responsible range determination module for determining the responsible range H such that the square error between the inclusion functions g (x, H) and f (x), which are density distributions, is minimized in the range of the desired data x;
Is provided.
本発明は、各ノードの配信要求数から負荷が最も平滑化できるような各ノードの担当範囲を一意に決定する。具体的には、特定の時間間隔にて配信要求数が多いノードのデータは隣接するノード間で共有することにする(図3を参照。)。これにより、配信要求数が平滑化されるまで、担当範囲が切りかわることによる頻繁なデータ転送を抑制することができる。 The present invention uniquely determines the assigned range of each node from which the load can be most smoothed from the number of distribution requests of each node. Specifically, data of a node having a large number of distribution requests at a specific time interval is shared between adjacent nodes (see FIG. 3). As a result, frequent data transfer due to switching of the assigned range can be suppressed until the number of distribution requests is smoothed.
さらに、本発明に係るプログラムは、コンピュータに前記配信要求分散方法を実行させるためのプログラムである。 Furthermore, the program according to the present invention is a program for causing a computer to execute the distribution request distribution method.
本発明に係る配信要求分散方法は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。 The distribution request distribution method according to the present invention can be realized by a computer and a program, and can be recorded on a recording medium or provided through a network.
本発明は、頻繁なデータの移動を抑制しつつ、各ノード間のデータ配信数を平準化することができる配信要求分散方法、ノード、及びプログラムを提供することができる。 The present invention can provide a distribution request distribution method, a node, and a program capable of leveling the number of data distribution between nodes while suppressing frequent data movement.
添付の図面を参照して本願発明の実施形態を説明する。以下に説明する実施形態は本願発明の実施の例であり、本願発明は、以下の実施形態に制限されるものではない。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。また、以下の説明で配信要求数と配信数とは同数であるとする。 Embodiments of the present invention will be described with reference to the accompanying drawings. Embodiment described below is an example of implementation of this invention, and this invention is not restrict | limited to the following embodiment. In the present specification and drawings, the same reference numerals denote the same components. In the following description, it is assumed that the number of distribution requests and the number of distributions are the same.
図4は、本実施形態のノード100を説明する図である。
ノード100は、分散ハッシュテーブルを構成し、共通の大きさの担当範囲Hにあるデータxを保持するノードであって、
一定の時間に他のノードにされる配信要求の数を調査するデータ配信数調査モジュール30と、
配信要求を受信したときに、
データ配信数調査モジュール30が取得した前記配信要求の数に基づいて、データxが配信要求される確率密度分布である配信要求関数f(x)を決定し、データxを保持するノード数の確率密度分布である包含関数g(x、H)とf(x)との二乗誤差が所望のデータxの範囲において最小となるように担当範囲Hを決定する担当範囲決定モジュール40と、
を備える。
ノード100は、さらに、データベース10と経路制御モジュール20を備える。
FIG. 4 is a diagram illustrating the
The
A data distribution
When a delivery request is received,
Based on the number of distribution requests acquired by the data distribution
Is provided.
The
図5は、これらのモジュールの動作例である。
経路制御モジュール20、データベース10、およびデータ配信数調査モジュール30は既存手法と同様の機能である。経路制御モジュール20は、一般的な構造化オーバレイが持つべきルーティングのモジュールとなっており、ネットワーク上からデータ等を探索/配信する機能を持つ。
FIG. 5 shows an operation example of these modules.
The
データベース10は、ノードの担当範囲、経路情報(他のノードのIPアドレスとID)、他のノードの配信要求数等を保存している。データベース10も一般的な構造化オーバレイの必要機能となっている。
The
データ配信数調査モジュール30は、既存手法1で提案されている手法を用いて、ネットワーク上の他のノードの配信数を一定時間間隔で調査し(ステップS01)、データベース10に書き込む(ステップS03)。また、データ配信数調査モジュール30は、経路制御モジュール20に対してされた自身への配信要求を受信し(ステップS02)、データベース10に書き込む(ステップS03)。データベース10は、配信要求が更新されたことを担当範囲決定モジュール40に通知する(ステップS04)。担当範囲決定モジュール40は、他のノード及び自身への配信要求数の調査結果を用いて、自身の担当範囲を決定し(ステップS05)、データベース10が保持する担当範囲を更新する(ステップS06)。
The data distribution
続いて、担当範囲を決定する手法を説明するが、既存手法と異なる手法は、担当範囲決定モジュール40でなされるため、以下では担当範囲決定モジュール40に関する説明を行う。
Subsequently, a method for determining the assigned range will be described. Since a method different from the existing method is performed by the assigned
各ノードはIDを持ち、ノードi(>0)のIDをXiとし、ID空間上、Xiより大きくもっともIDの距離が近いノードをノードiのSuccessorと呼び、当該ノードのIDをsuciとする。この時、ID空間上のノードiの担当範囲は[Xi,suci)とする。 Each node has an ID, the ID of node i (> 0) is X i , the node that is larger than X i and has the closest ID distance in the ID space is called the successor of node i, and the ID of the node is suc i And At this time, the assigned range of the node i in the ID space is [X i , suc i ).
本実施形態では、配信要求数が高いノードに対して、多くのノードの担当範囲を広げ、担当範囲を重複させることで、配信数の増加による負荷を分散させる。広げられた担当範囲をHとすると、ノードの担当範囲は、[Xi,H+Xi)となる(ただし、suci≦H+Xi)。ここで、担当範囲Hは全てのノードで同じ値である。 In the present embodiment, the load due to the increase in the number of distributions is distributed by expanding the assigned ranges of many nodes and overlapping the assigned ranges with respect to nodes with a high number of distribution requests. When the expanded assigned range is H, the assigned range of the node is [X i , H + X i ) (where suc i ≦ H + X i ). Here, the assigned range H is the same value for all nodes.
担当範囲Hは、各データの配信数の確率密度分布と各データがどれだけのノードの担当範囲に含まれているかを示す確率密度分布との距離を最小化するように決定する。これは、配信要求数が高いノードほど多くのノードに対してデータを多く複製する際の最適な複製数を決定することと同義である。本最小化問題の概要を図6に示す。 The assigned range H is determined so as to minimize the distance between the probability density distribution of the number of distributions of each data and the probability density distribution indicating how many nodes each data is included in. This is synonymous with determining the optimum number of copies when replicating more data to more nodes as the number of distribution requests increases. An outline of the minimization problem is shown in FIG.
ここで、データ配信数調査モジュール30が、既存手法1を用い、他のノードの配信数を一定間隔で調査した結果、L個のデータの配信数を取得できたとする。データxの配信要求数をLxとすると、各ノードの配信数の確率密度分布f(x)は、
また、データxがどれだけのノードの担当範囲に含まれているかを示す確率密度分布g(x,H)は、
ここで、
そして、
Hの値域はID空間の大きさに依存し、一般的に2160程度の大きさとなる。そのため、線形探索にてHを計算することは難しいため、当該二乗誤差の関数を凸関数と見立て、Hを二分探索にて求め、ノードiは自身の担当範囲を[Xi,H+Xi)と設定し、データベースの担当範囲を更新する。 Range of H depends on the size of the ID space, and generally of the order of 2 160 size. Therefore, since it is difficult to calculate H by linear search, the function of the square error is regarded as a convex function, H is obtained by binary search, and node i has its own assigned range as [X i , H + X i ). Set and update the database responsibility.
複数のノードの担当範囲にまたがって管理されるデータに対する配信要求は、当該ノード群内からランダムに選ばれたノードが受信し、要求元に配信する。 A distribution request for data managed across a range of responsibility of a plurality of nodes is received by a node randomly selected from the node group and distributed to the request source.
(効果)
既存手法1,2との比較実験にて、本実施形態の効果を定量化する。実験パラメータは図9の通りである。なお、各ノードに対するデータ数は一様であり、各ノードのIDと各データに対する配信要求数は表2で示す各Mandelbrot−Zipf distribution(非特許文献3)の値(q,α)に依存するものとする。これらのパラメータを用いて、各ノードは、自身の配信数を10,000になるよう、各手法を用いて配信数を平滑化する。
(effect)
The effects of the present embodiment are quantified by comparison experiments with the existing
図7に各手法を用いて配信要求数の平滑化を行った後のデータの最大配信数を示す。本実施形態における最大配信数は、他の手法よりも低い値になっていることがわかる。図8にデータの総転送数を示す。既存手法2では最大配信数を平滑化するために本実施形態の8倍程度のデータを転送しなければならない。また既存手法1では、本実施形態の3倍程度のデータ転送を行わなければならない。以上により、本実施形態は少ないデータ転送(複製配置)によって、データ配信数を平滑化できることが分かる。
FIG. 7 shows the maximum number of data distributions after smoothing the number of distribution requests using each method. It can be seen that the maximum number of distributions in this embodiment is lower than other methods. FIG. 8 shows the total number of data transfers. In the existing
10:データベース
20:経路制御モジュール
30:データ配信数調査モジュール
40:担当範囲決定モジュール
100:ノード
10: Database 20: Path control module 30: Data distribution number investigation module 40: Responsible range determination module 100: Node
Claims (3)
1つのノードが一定の時間に他のノードにされる配信要求の数を調査するデータ配信数調査ステップと、
前記1つのノードが配信要求を受信したときに、
前記データ配信数調査ステップで取得した前記配信要求の数に基づいて、データxが配信要求される確率密度分布である配信要求関数f(x)を決定し、データxを保持するノード数の確率密度分布である包含関数g(x、H)とf(x)との二乗誤差が所望のデータxの範囲において最小となるように担当範囲Hを決定する担当範囲決定ステップと、
を行うことを特徴とする配信要求分散方法。 In a distributed hash table composed of a plurality of nodes each holding data x in a shared range H with a common size, a distribution request distribution method that distributes data distribution requests to each node by changing the range H There,
A data distribution number investigation step in which one node investigates the number of distribution requests made to other nodes at a certain time;
When the one node receives a distribution request,
Based on the number of distribution requests acquired in the data distribution number checking step, a distribution request function f (x), which is a probability density distribution in which data x is requested to be distributed, is determined, and the probability of the number of nodes holding the data x A charge range determination step for determining the charge range H so that the square error between the inclusion functions g (x, H) and f (x), which are density distributions, is minimized in the range of the desired data x;
A distribution request distribution method characterized by:
一定の時間に他のノードにされる配信要求の数を調査するデータ配信数調査モジュールと、
配信要求を受信したときに、
前記データ配信数調査モジュールが取得した前記配信要求の数に基づいて、データxが配信要求される確率密度分布である配信要求関数f(x)を決定し、データxを保持するノード数の確率密度分布である包含関数g(x、H)とf(x)との二乗誤差が所望のデータxの範囲において最小となるように担当範囲Hを決定する担当範囲決定モジュールと、
を備えることを特徴とするノード。 A node that constitutes a distributed hash table and holds data x in the charge range H of a common size,
A data distribution number survey module that investigates the number of distribution requests made to other nodes at a certain time,
When a delivery request is received,
Based on the number of distribution requests acquired by the data distribution number survey module, a distribution request function f (x), which is a probability density distribution in which data x is requested to be distributed, is determined, and the probability of the number of nodes holding the data x A responsible range determination module for determining the responsible range H such that the square error between the inclusion functions g (x, H) and f (x), which are density distributions, is minimized in the range of the desired data x;
A node characterized by comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015078854A JP6353395B2 (en) | 2015-04-08 | 2015-04-08 | Distribution request distribution method, node, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015078854A JP6353395B2 (en) | 2015-04-08 | 2015-04-08 | Distribution request distribution method, node, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016201604A JP2016201604A (en) | 2016-12-01 |
JP6353395B2 true JP6353395B2 (en) | 2018-07-04 |
Family
ID=57423030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015078854A Active JP6353395B2 (en) | 2015-04-08 | 2015-04-08 | Distribution request distribution method, node, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6353395B2 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7516116B2 (en) * | 2006-04-07 | 2009-04-07 | Microsoft Corporation | Range and cover queries in overlay networks |
JP5026388B2 (en) * | 2008-10-20 | 2012-09-12 | 日本放送協会 | Node device and computer program |
-
2015
- 2015-04-08 JP JP2015078854A patent/JP6353395B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016201604A (en) | 2016-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9477743B2 (en) | System and method for load balancing in a distributed system by dynamic migration | |
US8832113B2 (en) | Data management apparatus and system | |
US20200242167A1 (en) | Graph database super vertex partitioning | |
KR101790701B1 (en) | Load Balancing System Using Data Replication and Migration in Distributed In-Memory Environment | |
US20150350324A1 (en) | Method and system for storing distributed graph data | |
US20100023564A1 (en) | Synchronous replication for fault tolerance | |
US9800575B1 (en) | Assigning storage responsibility in a distributed data storage system with replication | |
US20170344546A1 (en) | Code dispersion hash table-based map-reduce system and method | |
JP6429262B2 (en) | Load balancing for large in-memory databases | |
Dai et al. | IOGP: An incremental online graph partitioning algorithm for distributed graph databases | |
JP6388339B2 (en) | Distributed caching and cache analysis | |
CN111164587A (en) | Routing requests in a shared storage database system | |
US20130007091A1 (en) | Methods and apparatuses for storing shared data files in distributed file systems | |
CN106326239A (en) | Distributed file system and file meta-information management method thereof | |
US20180293237A1 (en) | Assigning segments of a shared database storage to nodes | |
US9898518B2 (en) | Computer system, data allocation management method, and program | |
JP5723309B2 (en) | Server and program | |
US8041748B2 (en) | Method and apparatus for managing a web cache system | |
JP6353395B2 (en) | Distribution request distribution method, node, and program | |
US11188258B2 (en) | Distributed storage system | |
KR100983479B1 (en) | Method, system and computer readable recording medium for providing a distributed programming environment using distributed space | |
US20200333985A1 (en) | Datafall: a policy-driven algorithm for decentralized placement and reorganization of replicated data | |
KR101718739B1 (en) | System and Method for Replicating Dynamic Data for Heterogeneous Hadoop | |
JP7485046B2 (en) | LOAD DISTRIBUTING METHOD, LOAD DISTRIBUTING DEVICE, LOAD DISTRIBUTING SYSTEM, AND PROGRAM | |
CN113836238A (en) | Batch processing method and device for data commands |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170629 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180509 |
|
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: 20180605 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180608 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6353395 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |