JP6447147B2 - 振り分け装置、データ処理システム、振り分け方法、および、プログラム - Google Patents

振り分け装置、データ処理システム、振り分け方法、および、プログラム Download PDF

Info

Publication number
JP6447147B2
JP6447147B2 JP2015003404A JP2015003404A JP6447147B2 JP 6447147 B2 JP6447147 B2 JP 6447147B2 JP 2015003404 A JP2015003404 A JP 2015003404A JP 2015003404 A JP2015003404 A JP 2015003404A JP 6447147 B2 JP6447147 B2 JP 6447147B2
Authority
JP
Japan
Prior art keywords
key
data
section
input data
data processing
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
JP2015003404A
Other languages
English (en)
Other versions
JP2016128978A (ja
Inventor
義彦 西畑
義彦 西畑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2015003404A priority Critical patent/JP6447147B2/ja
Publication of JP2016128978A publication Critical patent/JP2016128978A/ja
Application granted granted Critical
Publication of JP6447147B2 publication Critical patent/JP6447147B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、振り分け装置、データ処理システム、振り分け方法、および、プログラム、特に入力データを、分散データベースを格納する処理装置に振り分ける、振り分け装置、データ処理システム、振り分け方法、および、プログラムに関する。
特許文献1は、大規模なデータベースをキーの区間によって複数のテーブルに分割し、各テーブルを複数のデータ処理装置に一意に割り当てるシステムを開示する。このシステムは、データベースへのアクセス競合をなくし、高速なトランザクションを実現することを意図している。
当該システムでは、各データ処理装置が処理するデータのキーの区間が決められている。したがって、入力データのキーに偏りがあると一部の処理装置に入力データが集中し、当該処理装置に振り分けられる入力データの応答時間が長くなってしまうという問題がある。
この問題に対処するため、当該システムは、分割された各テーブルのキーの先頭からの一部と末尾からの一部のデータのコピーを、他の処理装置上のテーブルにも格納しておく。当該システムは、トランザクション処理のたびに複数の処理装置に配置されたコピーを同期させる。
特許文献2も、大規模なデータベースをキーの区間によって複数のテーブルに分割し、各テーブルを複数のデータ処理装置に一意に割り当てるシステムを開示する。このシステムでは、負荷の低いノードが負荷の高いノードの範囲を引き継ぐ。
特許第3468181号公報 特開2013-54521号公報
特許文献1のシステムは、各データ処理装置にデータのコピーを格納する分のメモリと、トランザクションのたびに同期のための時間が必要となる。したがって、リソースの無駄が発生する。
特許文献2のシステムは、負荷の低いノードが、負荷の高いノードの範囲のデータベースをそのまま引き継ぐ。したがって、入力データのキーの偏りにより、一部の処理装置に入力データが集中する課題を解決しない。
本願発明は、上述のリスクを低減させるための振り分け装置、処理システム、振り分け方法、および、プログラムを提供することを目的とする。
本発明にかかる一実施の形態の振り分け装置は、キー値の範囲長の数値リングが分割された各区間と、処理手段とを、関連付ける振り分け表を記憶する振り分け表記憶手段と、取得した入力データを、当該入力データから得られたキー値に関連付けられている前記処理部に、振り分ける振り分け手段と、前記区間のキーの区間を、前記区間の各々に振り分けられた前記入力データ数から求めたシフト量分ずらすキー範囲変更手段と、を備える。
本発明にかかる一実施の形態の振り分け方法は、キー値の範囲長の数値リングが分割された各区間と、処理手段とを、関連付ける振り分け表を記憶し、取得した入力データを、当該入力データから得られたキー値に関連付けられている前記処理部に振り分け、前記区間のキーの区間を、前記区間の各々に振り分けられた前記入力データ数から求めたシフト量分ずらす。
本発明にかかる振り分け装置は、効率よく分散データベースのアクセス均等化を図ることができる。
図1は、第1の実施の形態にかかるデータ処理システム30の構成図である。 図2は、振り分け装置10の振り分け部13の動作フローチャートである。 図3は、キー範囲変更部14の動作フローチャートである。 図4は、偏り度合の例を示す。 図5は、データ処理装置20の処理部21の動作フローチャートである。 図6は、図4の例のキーの区間を4000だけシフトした結果を示す。 図7は、図6のキーの区間の状態から、キーの区間を4000だけシフトした結果を示す。 図8は、第2の実施の形態にかかる振り分け装置10の構成図である。
<第1の実施の形態>
<概要>
図1は、第1の実施の形態にかかるデータ処理システム30の構成図である。データ処理システム30は、振り分け装置10と、当該振り分け装置10にネットワーク31で接続された複数台のデータ処理装置20を包含する。
データ処理システム30は、大規模なデータベースをキーの範囲によって複数のテーブル(以降、処理データ表とも呼ぶ)に分割し、各処理データ表を何れかのデータ処理装置20に一意に格納している。すなわち、データ処理システム30は、大規模なデータベースを処理データ表に分割して、複数のデータ処理装置20にキーの区間を割り当てて、分散配置している。
振り分け装置10は、データ処理システム30の外部にある端末装置等(図示されない)から入力データを受信して、入力データのキーの値に従って、当該キーの値に対応する処理データ表を格納するデータ処理装置20に当該入力データを転送する。ここで、キーの値に対応する処理データ表とは、当該処理データ表が包含する処理データのキーの範囲が、当該キーの値を包含する処理データ表である。
各データ処理装置20は、振り分け装置10から振り分けられた入力データを受信すると、入力データからキーの値を得て、処理データ表に格納された処理データを用いてデータ処理を実行する。使用される処理データは、入力データから得られたキーの値に対応するものである。なお、データ処理装置20が行うデータ処理は、例えば、銀行の勘定系システムが行うトランザクション処理である。
データ処理システム30において、入力データのキーの分布に偏りがあると、各データ処理装置20に振り分けられる入力データの数にも偏りが発生する。本実施の形態のデータ処理システム30は、この偏りを解消するように、データベースを分割するキーの区間を動的に変更する。データ処理システム30が行うキーの区間の変更は、各データ処理装置20に割り当てられたキーの区間のシフトである。
キーの区間のシフトにあたっては、各データ処理装置20は、自装置の処理データ表のキーの区間の一方の境界にある一定量分のデータを読み出し、かつ、そのデータを処理データ表から削除する。そして、各データ処理装置20は、読み出したデータ(以降、移動データとも呼ぶ)を、上記一方の境界に隣接する区間が割り当てられた他のデータ処理装置20に送信する。当該他のデータ処理装置20は、移動データを受信して、自装置の処理データ表に挿入する。
<構成>
図1が示すように、振り分け装置10は、振り分け表記憶部12、振り分け部13、および、キー範囲変更部14を包含する。
振り分け表記憶部12は振り分け表を記憶する。振り分け表は、キーの区間ごとに、当該キーの区間が割り当てられているデータ処理装置20の識別情報を格納する。或るキーの区間が割り当てられているデータ処理装置20とは、当該キーの区間の処理データ表を格納しているデータ処理装置20である。
なお、データ処理システム30が行うキーの区間のシフトにあたっては、キーの最大値と最小値は連続した値として扱われる。すなわち、キーの値の加減は、キーの範囲長(キーの最大値)を法とした剰余算によって行われる。したがって、振り分け表は、キー値の範囲長の数値リング、すなわち、キー値で目盛がふられている円周が分割された各区間と、データ処理装置20とを関連付ける表と言える。
振り分け部13は、入力データを受信して、当該入力データのキーの値を得て振り分け表を検索し、当該入力データを当該キーの値が割り当てられているデータ処理装置20に転送する。なお、振り分け部13は、上述したようにデータ処理システム30の外部から入力データを受信する場合と、データ処理装置20から送り返された入力データを受信する場合とが有る。
キー範囲変更部14は、振り分け部13による入力データの振り分け状況を監視し、振り分けの偏りを検出すると、各データ処理装置20に割り当てているキーの区間をシフトすること、および、シフト量を決定する。キー範囲変更部14は、各データ処理装置20に、上述したキーの区間のシフトを指示し、その後、振り分け表を更新する。
ここで、振り分け部13、および、キー範囲変更部14は、論理回路で構成される。振り分け部13、または、キー範囲変更部14は、コンピュータでもある振り分け装置10のメモリ(図示されない)に格納され、振り分け装置10のプロセッサ(図示されない)により実行されるプログラムによって実現されても良い。この場合、振り分け部13、および、キー範囲変更部14は、例えば、振り分けプロセス、および、キー範囲変更プロセスとして実装される。
振り分け表記憶部12は、半導体メモリ装置、ディスク装置等の記憶装置である。
データ処理装置20は、処理部21、および、処理データ記憶部22を包含する。
処理部21は、振り分け装置10の振り分け部13から入力データを受信して、データ処理を実行する。さらに、処理部21は、振り分け装置10のキー範囲変更部14から指示を受けて、キー範囲のシフトを実行する。
なお、処理部21は、振り分け部13から受信した入力データのキーの値が、自装置が記憶する処理データ表のキーの区間外である場合、入力データを振り分け部13に送り返す。これは、各データ処理装置20がキー範囲のシフトを実行中に、発生する一時的な事象である。
処理データ記憶部22は、割り当てられたキーの区間の処理データ表を格納する。なお、各データ処理装置20に格納される処理データ表のキーの区間は重複せず、各処理データ表を併せることで、元のデータベースと等しくなる。
ここで、処理部21は論理回路で構成される。処理部21は、コンピュータでもあるデータ処理装置20のメモリ(図示されない)に格納され、データ処理装置20のプロセッサ(図示されない)により実行されるプログラムによって実現されても良い。この場合、処理部21は、例えば、処理プロセスとして実装される。
処理データ記憶部22は、半導体メモリ装置、ディスク装置等の記憶装置である。
<動作>
図2は、振り分け装置10の振り分け部13の動作フローチャートである。
振り分け部13は、入力データを受信すると(S1)、振り分け表を参照して、入力データのキーを含む区間に関連付けられているデータ処理装置20を特定し、その処理部21へ入力データを送信する(S2)。このとき、振り分け部13は、一定期間内の入力データのキーの値の履歴を採取する。
その後、振り分け部13は、キー範囲変更部14を起動する(S3)。今の入力データ振り分けによって、キー範囲のシフトが必要になったかもしれないからである。
図3は、キー範囲変更部14の動作フローチャートである。
キー範囲変更部14は、起動されると、まず、現在のキーの区間における入力データの偏り度合(以降、現在の偏り度合と呼ぶ)を算出する(S11)。現在の偏り度合は、一定期間内に、各データ処理装置20に振り分けられた入力データの数の最大値と最小値の差分である。現在の偏り度合は、値が大きいほど偏りが大きいことを示す。キー範囲変更部14は、上述したキーの履歴を参照して、現在の偏り度合を求める。なお、現在の偏り度合は、一定期間内に、各データ処理装置20に振り分けられた入力データの数の最大値と最小値の比でも良い。
図4は、偏り度合の例を示す。本例のデータ処理システム30は、3台のデータ処理装置20、すなわち、データ処理装置A、B、および、C、を包含する。図4の例において、データベースのキーは5桁の数値であり、キーの値の範囲は1から90000である。すなわち、キーの値の範囲長は90000である。図4は、列「データ処理装置」と列「キー範囲」によって、各データ処理装置20に割り当てられているキーの区間を示す。
現在、キーの区間1乃至30000がデータ処理装置Aに割り当てられている。キーの区間30001乃至60000がデータ処理装置Bに割り当てられている。キーの区間60001乃至90000がデータ処理装置Cに割り当てられている。
図4の列「入力データ数」は、キーの区間ごとの、一定期間内の入力データの数を示す。データ処理装置20ごとの一定期間内の入力データの数の合計が、行「キー範囲変更量」における列「0(現在)」の列の数値で示されている。
図4によれば、過去一定期間内に、データ処理装置Aは2600、データ処理装置Bは7500、データ処理装置Cは4600個の入力データを振り分けられている。入力データ割り当て数の最大値は7500、最小値は2600である。したがって、図4において、現在の偏り度合は、7500-2600で、4900となる。
現在の偏り度合を算出後(S11)、キー範囲変更部14は、現在の偏り度合が許容値以下であれば(S12で偽)、動作を終了する。
現在の偏り度合が許容値より大きい場合(S12で真)、キー範囲変更部14は、キー範囲変更最大量Mについて、±Mの範囲でキーの区間を変更した場合の偏り度合を見積もる。そして、キー範囲変更部14は、偏り度合が最も小さく、かつ、キーの区間のシフト量の絶対値が最も小さい、キーの区間の変更量を決定する(S13)。
キー範囲変更部14は、偏り度合の見積もりを、±Mの範囲内の複数の変更量候補について実施する。キー範囲変更部14は、見積もり対象となる変更量候補を、例えば、±Mの範囲でキーの値が所定間隔となるように選んでも良いし、±Mの範囲を所定数に等分して選んでも良い。
偏り具合の許容値は、入力データの特徴やデータ処理システム30に求められる要件に合わせてチューニングされるパラメータである。キー範囲変更最大量Mは、キーの区間を変更するためにかかる時間やシステムに与える負荷が、データ処理システム30に求められる性能要件を満たすために許容される範囲で最大の値となるようにチューニングされるパラメータである。
図4に示す例は、キー範囲変更最大量Mを6000とし、2000ごとにキーの区間をシフトした場合の偏り度合の見積もり値を示している。図4において、行「キー範囲変更量」における列「2000」乃至「-6000」は、データ処理装置20に割り当てられているキーの区間を-6000乃至+6000の範囲でシフトした場合の、一定期間内に各データ処理装置20に振り分けられた入力データの数の合計を示す。
なお、図4の列「2000」乃至「-6000」における「(A)」〜「(F)」は、同一の記号が同一の範囲を表すことを意味する。すなわち、この範囲は、キーの範囲を示す線分をリング状にした時、重なる部分である。データ処理装置Cの現在のキーの区間60001〜90000を2000だけシフトしたキーの区間は、62001〜90000と、(A)の範囲であるキー1〜2000を合わせた範囲となる。
図4に示す例において、キーの区間を2000だけシフトした場合、データ処理装置Aは3000、データ処理装置Bは7300、データ処理装置Cは4400個の入力データを振り分けられている。データ処理装置20への入力データ割り当て数の最大値は7300、最小値は3000である。したがって、図4において、偏り度合は、7300-3000で、4300となる。
キーの区間を4000だけシフトした場合、データ処理装置Aは3800、データ処理装置Bは6800、データ処理装置Cは4100個の入力データを振り分けられている。データ処理装置20への入力データ割り当て数の最大値は6800、最小値は3800である。したがって、偏り度合は、6800-3800で、3000となる。
同様の計算で、キーの区間を6000だけシフトした場合、偏り度合は3100となり、-2000だけシフトした場合、偏り度合は4600となる。キーの区間を-4000だけシフトした場合、偏り度合は4400となり、-6000だけシフトした場合、偏り度合は3800となる。
したがって、図4の例では、偏り度合が最も小さくなるキーの区間のシフト量は、偏り度合が3000であるキーの区間の変更量である4000となる。本変更量4000は、キーの区間の変更量の絶対値が最も小さい値でもある。
キー範囲変更部14は、キー範囲ごとの、一定期間内の入力データの数の合計の最大値が最も小さくなる(データ処理装置Bの入力データ数合計が6700になる)キーの区間の変更量-6000とは異なるキーの区間の変更量を選択することになる。
キー範囲ごとの、一定期間内の入力データの数の合計は、キーの区間を4000シフトすることにより、データ処理装置Aは2600から3800に増え、データ処理装置Bは7500から6800に減り、データ処理装置Cは4600から3800に減る。
つまり、今後の入力データがこれまでと同様のキーの分布で受信された場合、キーの区間の変更により、データ処理装置Bに振り分けられる入力データの数が少し減り、データ処理プロセスBへの集中度合が緩和される。同時にデータ処理装置Cに振り分けられる入力データの数も少し減る。その代わりに、データ処理装置Aに振り分けられる入力データの数が増える。ただし、データ処理装置Aに振り分けられる入力データの数は、データ処理装置Bやデータ処理装置Cに振り分けられる入力データの数に比べれば少なく、問題はない。
図3のS13でキーの区間の変更量を決定した後、キー範囲変更部14は、各データ処理装置20に対してキー範囲変更要求を送信する(S14)。キー範囲変更要求は、前述したキー範囲のシフトを各データ処理装置20に指示する通知であり、キー範囲のシフト量を含む。
キー範囲がシフトした結果、各データ処理装置20は、記憶している処理データのうち、自装置の割り当て範囲から外れたキーの区間に対応するデータ(移動データ)を、当該範囲を新たに割り当てられたデータ処理装置20に送信することになる。キー範囲変更要求は、この移動データを送信する宛先となるデータ処理装置20の識別情報を含んでいても良い。
キー範囲変更部14は、このデータ処理装置20の識別情報を、例えば、振り分け表から取得する。移動データの送信先データ処理装置20は、キー範囲変更要求の送信先のデータ処理装置20のキー値の割り当て区間に隣接した区間を割り当てられているデータ処理装置20である。キー範囲変更部14は、移動データ送信先のデータ処理装置20が、キー値の区間の高位側または低位側のどちら側に隣接しているかは、たとえば、シフト量の符号から判断する。図4の例では、シフト量がプラスであれば、移動データの送信先データ処理装置20は、高位側に隣接する区間に割り当てられたデータ処理装置20である。
最後に、キー範囲変更部14は、各データ処理装置20がキー範囲変更応答を送信してくるのを待ち合わせる。キー範囲変更部14は、全データ処理装置20からキー範囲変更応答を受信すると、振り分け表を更新して決定したキー範囲のシフトを反映する(S15)。
これ以降、振り分け部13は、変更されたキーの区間に従って、入力データをデータ処理装置20に送信する。
図5は、データ処理装置20の処理部21の動作フローチャートである。処理部21は、振り分け部13、または、他の処理部21から電文を受信する(S21)。受信した電文が振り分け部13から送信された入力データである場合(S22で真)、処理部21は、入力データからキーを得て、当該キーは自装置が記憶する処理データ表のキーの区間内か否かをチェックする(S23)。
入力データからキーを得たキーが、自装置が記憶する処理データ表のキーの区間内であれば(S23で真)、処理部21は、キーに対応する処理データを用いて業務処理を実行する(S24)。そうでなければ(S23で偽)、処理部21は、入力データを振り分け部13に送り返す。
これは、キー範囲のシフトの処理過程で一時的に発生する誤振り分けであり、振り分け部13が振り分けをし直す必要がある為、処理部21は、入力データを振り分け部13に送り返す。
この誤振り分けは、以下の場合に発生する。キーの範囲のシフト前後にデータ処理システム30に入力された入力データは、ネットワーク31上での電文の追い抜きによって、複数のデータ処理装置20への到達順序が振り分け装置10における送信順序と入れ替わる場合がある。この結果、データ処理装置20が移動データの読み出しと削除を実施後、移動データのキーの範囲に該当する入力データが、当該データ処理プロセスに入力されることになる場合がある。また、移動データを受信したデータ処理装置20が、移動データを処理データ表に挿入する前に、変更後のキーの範囲の入力データが当該データ処理装置20に振り分けられる場合も有る。
受信した電文が他の処理部21から送信された電文である場合(S22で偽)、処理部21は、入力電文がキー範囲変更要求か否かをチェックする(S26)。
入力電文がキー範囲変更要求である場合(S26で真)、処理部21は、処理データ表からキー範囲変更要求に従って移動データを読み出し、当該部分を自装置の処理データ表から削除する(S27)。すなわち、処理部21は、キー範囲変更要求に格納されているシフト量から、キー範囲のシフト後、自装置の割り当て範囲から外れるキー範囲の処理データを読み出して、かつ、当該部分を自装置の処理データ表から削除する。
そして、処理部21は、移動データを移動先の処理部21へ送信する(S28)。このとき、処理部21は、移動先の処理部21を含むデータ処理装置20の識別情報をキー範囲変更要求から取得する。処理部21は、移動先の処理部21を含むデータ処理装置20の識別情報を予め記憶していても良い。データ処理システム30の構成が決定すれば、各データ処理装置20に割り当てられたキーの区間の両隣の区間を割り当てられたデータ処理装置20は、固定される。
最後に処理部21は、振り分け部13にキー範囲変更応答を通知する(S29)。
入力電文がキー範囲変更要求でない場合(S26で偽)、すなわち入力電文が他の処理部21が送信した移動データである場合、処理部21は、受信した移動データを処理データ表に挿入する(S30)。
図6は、図4の例のキーの区間を4000だけシフトした結果を示す。図6における「入力データ数」は、キーの区間を変更している間に入力データのキーの分布が、図4の状態から変化がなかった場合のデータを示している。
図6について、入力データの偏り度合の見積もり値が最も小さくなる時のキーの区間のシフト量は、4000と6000である。この時、偏り度合の見積もり値は2900になる。キー範囲変更部14は、偏り度合の見積もり値が同じである場合、値の小さいシフト量を選択する。したがって、図6の例について、キー範囲変更部14はキーの区間の変更量として4000を選択する。
図7は、図6のキーの区間の状態から、キーの区間を4000だけシフトした結果を示す。
このシフト後の入力データが、図3及び図6と同様のキーの分布で受信された場合、キーの区間のシフトにより、データ処理装置Bに振り分けられる入力データの数が少し減り、データ処理装置Bへの集中度合が緩和される。同時にデータ処理装置Cに振り分けられる入力データの数も少し減る。その代わりに、データ処理装置Aに振り分けられる入力データの数が増えるが、データ処理装置Bに振り分けられる入力データの数に比べれば少なく、問題はない。
図7における「入力データ数」は、キーの区間を変更している間に入力データのキーの分布が、図6の状態から変化がなかった場合のデータを示している。
図7について、入力データの偏り度合の見積もり値が最も小さくなる時のキーの区間のシフト量は、0と2000である。この時、偏り度合の見積もり値は2900になる。キー範囲変更部14は、偏り度合の見積もり値が同じである場合、値の小さいシフト量を選択する。したがって、図7の例について、キー範囲変更部14はキーの区間の変更量として0を採択する。入力データのキーの分布に変化が無ければ、キー範囲変更部14は、キーの区間のシフトを行わない。
つまり、データ処理システム30は、現在の入力データのキーの分布においては、偏りが少ない負荷分散状態を達成したことになる。これ以降に、入力データのキーの分布に変化があれば、キー範囲変更部14はキーの区間の変更を再び実行する。
<効果>
本実施の形態の振り分け装置10は、効率よく分散データベースのアクセス均等化を図ることができる。その理由は、キー範囲変更部14が、各データ処理装置20に割り振られる入力データ量の偏り具合が小さくなるように、各データ処理装置20に割り当てられるキーの区間をシフトするからである。
図4の例においては、振り分け装置10がキーの区間の変更を行う前は、最も多く入力データを処理していたデータ処理装置Bは、最も少なく入力データを処理していたデータ処理装置Aの約3倍の入力データを処理していた。キーの区間を変更後は、最も多く入力データを処理しているデータ処理Bは、最も少なく入力データを処理しているデータ処理装置Cの約2倍になっている。
この結果、入力データが集中しているデータ処理装置Bに振り分けられる入力データに対する応答時間を改善することができる。
また、本実施の形態の振り分け装置10は、データの移動により、データ処理システム30への影響を抑制することができる。その理由は、キー範囲変更部14が、1度に行うキーの区間の変更量を、キー範囲変更最大量M以下に抑えるからである。
図4の例においては、振り分け装置10はキーの区間の変更を2度に分けて行っており、データ処理システム30への影響を抑制している。
<第一の実施形態の変形>
本実施形態の振り分け装置10は、各データ処理装置20が処理データ表を保持していない場合にも適用することが出来る。この場合、キー範囲変更部14は、キー範囲変更要求および、キー範囲変更応答の受信(図3のS14及びS15)は行わなくて良い。また、データ処理装置20の処理部21は、この関連の処理、例えば、移動データの送受信(図5のS26乃至S30)を行わなくて良い。
<第2の実施形態>
図8は、第2の実施の形態にかかる振り分け装置10の構成図である。本実施の形態の振り分け装置10は、振り分け表記憶部12、振り分け部13、および、キー範囲変更部14を備える。
振り分け表記憶部12は、キー値の範囲長の数値リングが分割された各区間と、処理部21とを、関連付ける振り分け表を記憶する。振り分け部13は、取得した入力データを、当該入力データから得られたキー値に関連付けられている処理部21に、振り分ける。キー範囲変更部14は、区間のキーの区間を、区間の各々に振り分けられた入力データ数から求めたシフト量分ずらす。
本実施の形態の振り分け装置10は、効率よく分散データベースのアクセス均等化を図ることができる。その理由は、キー範囲変更部14が、割り当て実績に基づいて、各処理部21に割り当てられるキーの区間をシフトするからである。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
10 振り分け装置
12 振り分け表記憶部
13 振り分け部
14 キー範囲変更部
20 データ処理装置
21 処理部
22 処理データ記憶部
30 データ処理システム
31 ネットワーク

Claims (10)

  1. キー値の範囲長の数値リングが分割された各区間と、処理手段とを、関連付ける振り分け表を記憶する振り分け表記憶手段と、
    取得した入力データを、当該入力データから得られたキー値に関連付けられている前記処理手段に、振り分ける振り分け手段と、
    前記区間のキーの区間を、前記区間の各々に振り分けられた前記入力データ数から求めたシフト量分ずらすキー範囲変更手段と、を備え
    前記キー範囲変更手段は、前記区間の各々に割り振られる前記入力データ数の偏り度合いが最小となる前記シフト量を決定して、前記区間の各々のキーの区間をずらす
    振り分け装置。
  2. 前記キー範囲変更手段は、所定値以下のシフト量候補値を選択し、前記区間の各々の範囲を前記シフト量候補値分ずらした場合に前記区間の各々に割り振られる過去の前記入力データ数の偏り度合いを見積もり、前記偏り度合いが最小となるシフト量候補値を前記シフト量として決定して、前記区間の各々のキーの区間をずらす請求項1の振り分け装置。
  3. 前記キー範囲変更手段は、前記偏り度合いが最小となる前記シフト量候補値が複数ある場合、絶対値が最も小さい前記シフト量候補値を前記シフト量として決定する、
    請求項2の振り分け装置。
  4. 前記偏り度合いは、前記区間の各々に割り振られる過去の入力データ数の最大値と最小値の差である、請求項1乃至の何れか1項の振り分け装置。
  5. 請求項1乃至の何れか1項の振り分け装置と、
    関連付けられた前記区間の範囲に属するキー値を持つ前記入力データを前記振り分け装置から受信して、所定の処理を行う前記処理手段をおのおの備える複数のデータ処理装置と、を包含するデータ処理システム。
  6. 前記振り分け装置の前記キー範囲変更手段は、前記シフト量の通知を前記データ処理装置の各々に送信し、
    前記データ処理装置の各々は、関連付けられた前記区間のキー値に対応するデータを格納する処理データ表を記憶する処理データ記憶手段を、さらに備え、
    前記処理手段は、前記通知を受信すると、関連付けられた前記区間の範囲の第1の境界側のシフト量分のデータである第1の部分を、前記第1の境界側に隣接する前記区間に関連付けられた第1の他の前記データ処理装置に送信し、第2の他の前記データ処理装置から自装置に関連付けられた前記区間の範囲の第2の境界側のシフト量分のデータである第2の部分を受信して、自装置が備える処理データ表に対して前記第1の部分の削除、前記第2の部分の追加を実行する請求項のデータ処理システム。
  7. 前記データ処理装置の前記処理手段は、前記振り分け装置から入力データを受信して、受信した入力データのキー値が自装置に関連付けられた区間の範囲内でなければ、入力データを前記振り分け装置に戻す、請求項乃至の何れか1項のデータ処理システム。
  8. キー値の範囲長の数値リングが分割された各区間と、処理手段とを、関連付ける振り分け表を記憶し、
    取得した入力データを、当該入力データから得られたキー値に関連付けられている前記処理手段に振り分け、
    前記区間のキーの区間を、前記区間の各々に振り分けられた前記入力データ数から求めたシフト量分ずらし、
    前記区間の各々に割り振られる過去の前記入力データ数の偏り度合いが最小となるシフト量を決定して、前記区間の各々のキーの区間をずらす、振り分け方法。
  9. 前記偏り度合いは、前記区間の各々に割り振られる過去の入力データ数の最大値と最小値の差である、請求項の振り分け方法。
  10. コンピュータに、請求項乃至9の何れか1項の振り分け方法を実行させるプログラム。
JP2015003404A 2015-01-09 2015-01-09 振り分け装置、データ処理システム、振り分け方法、および、プログラム Active JP6447147B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015003404A JP6447147B2 (ja) 2015-01-09 2015-01-09 振り分け装置、データ処理システム、振り分け方法、および、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015003404A JP6447147B2 (ja) 2015-01-09 2015-01-09 振り分け装置、データ処理システム、振り分け方法、および、プログラム

Publications (2)

Publication Number Publication Date
JP2016128978A JP2016128978A (ja) 2016-07-14
JP6447147B2 true JP6447147B2 (ja) 2019-01-09

Family

ID=56384345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015003404A Active JP6447147B2 (ja) 2015-01-09 2015-01-09 振り分け装置、データ処理システム、振り分け方法、および、プログラム

Country Status (1)

Country Link
JP (1) JP6447147B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5600573B2 (ja) * 2010-12-07 2014-10-01 日本放送協会 負荷分散装置及びプログラム
JP2013045378A (ja) * 2011-08-26 2013-03-04 Fujitsu Ltd ストレージ制御方法、情報処理装置およびプログラム
WO2013046664A1 (ja) * 2011-09-27 2013-04-04 日本電気株式会社 情報システム、管理装置、データ処理方法、データ構造、プログラム、および記録媒体

Also Published As

Publication number Publication date
JP2016128978A (ja) 2016-07-14

Similar Documents

Publication Publication Date Title
CN107450979B (zh) 一种区块链共识方法及装置
US9645756B2 (en) Optimization of in-memory data grid placement
US9154382B2 (en) Information processing system
AU2015336357B2 (en) Composite partition functions
US10394782B2 (en) Chord distributed hash table-based map-reduce system and method
US8898520B1 (en) Method of assessing restart approach to minimize recovery time
EP3295629B1 (en) Query plan and operation-aware communication buffer management
CN104166738A (zh) 数据库查询处理的方法及装置
US9141677B2 (en) Apparatus and method for arranging query
CN104750690A (zh) 一种查询处理方法、装置及系统
EP4198861A1 (en) Information processing method and apparatus for blockchain network, and device and storage medium
US20160034482A1 (en) Method and apparatus for configuring relevant parameters of mapreduce applications
CN102934412A (zh) 服务器集群
US11301255B2 (en) Method, apparatus, device, and storage medium for performing processing task
WO2017169471A1 (ja) 処理システムおよび処理方法
JP6447147B2 (ja) 振り分け装置、データ処理システム、振り分け方法、および、プログラム
JP2009116780A (ja) 生産計画立案システムおよび生産計画立案方法
CN110413427B (zh) 订阅数据拉取方法、装置、设备及存储介质
CN109831385B (zh) 一种消息处理方法、装置及电子设备
US20170168873A1 (en) Method, device, and system for deciding on a distribution path of a task
JP2013134636A (ja) 計算機負荷制御方法
CN117424903A (zh) 边缘节点管理方法、装置、设备和存储介质
CN111817895A (zh) 一种主控节点切换方法、装置、设备及存储介质
JP2015095075A (ja) ジョブ管理プログラム、ジョブ管理方法及びジョブ管理装置
CN112911009A (zh) 访问负载均衡系统和方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180828

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181019

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181119

R150 Certificate of patent or registration of utility model

Ref document number: 6447147

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150