JP6571614B2 - 振分装置、通信システム及びデータ振分方法 - Google Patents

振分装置、通信システム及びデータ振分方法 Download PDF

Info

Publication number
JP6571614B2
JP6571614B2 JP2016171416A JP2016171416A JP6571614B2 JP 6571614 B2 JP6571614 B2 JP 6571614B2 JP 2016171416 A JP2016171416 A JP 2016171416A JP 2016171416 A JP2016171416 A JP 2016171416A JP 6571614 B2 JP6571614 B2 JP 6571614B2
Authority
JP
Japan
Prior art keywords
data
request
request signal
unit
database
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
JP2016171416A
Other languages
English (en)
Other versions
JP2018036978A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016171416A priority Critical patent/JP6571614B2/ja
Publication of JP2018036978A publication Critical patent/JP2018036978A/ja
Application granted granted Critical
Publication of JP6571614B2 publication Critical patent/JP6571614B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、振分装置、通信システム及びデータ振分方法に関する。
従来、複数のデータベース(DB)を用いてDBを冗長化したDBサーバシステムが知られている(特許文献1参照)。そして、このようなDBサーバシステムのうち大規模な分散DBサーバシステムでは、どのDBサーバでもデータ参照応答ができるよう、データ更新時の呼毎レプリケーションにより番号帯等で分散されているDBサーバ間同士での共有が一般的に行われている。
特開2013−142996号公報
しかしながら、従来のDBサーバシステムでは、単純なソースルーティングで処理すると、DBサーバへの更新要求及び参照要求の際に特定の番号帯に偏りが発生した場合には、該当のDBサーバの処理負荷が高くなるという問題があった。
そこで、具体的に、従来のDBサーバシステムについて説明する。図9を参照して、従来のDBサーバシステムについて説明する。図9は、従来のDBサーバシステムの構成及び通信方法を説明する図である。
図9に示すように、従来のDBサーバシステムは、データを分散して記憶するDBサーバ2AP〜2CP、及び、各ユーザ5AP〜5HPが接続するサービス提供装置3AP〜3DPを有する。DBサーバ2AP〜2CPは、各サーバの通信インターフェース(IF)を介してネットワークと接続することで各々が接続し、データを同期させるレプリケーションを行っている。例えば、DBサーバ2APは、1000番帯を管理対象とし、2000番帯及び3000番帯を参照対象として記憶する。また、DBサーバ2BPは、2000番帯を管理対象とし、他の1000番帯、3000番帯を参照対象として記憶する。そして、DBサーバ2CPは、3000番帯を管理対象とし、他の1000番帯、2000番帯を参照対象として記憶する。
ここで、例えば、ユーザ5APによる「1110」番のデータ更新要求U1、ユーザ5DPによる「1210」番のデータ更新要求U2、ユーザ5FPによる「1120」番のデータ参照要求Q3、ユーザ5HPによる「1120」番のデータ参照要求Q4があった場合を例に説明する(図9の(1−1)〜(1−4)参照)。
この場合には、データ更新及びデータ参照の対象が1000番帯の番号であるため、1000番帯のデータを管理するDBサーバ2APに、データ更新要求U1,U2、データ参照要求Q3,Q4が送信される。そして、DBサーバ2APは、更新を要求された「1110」,「1210」番のデータ更新(図9の(2−1),(2−2)参照)に加え、参照を要求された「1120」番のデータの参照及び送信(図9の(2−3)参照)を行わなくてはならない。このように、DBサーバへの更新要求及び参照要求の際に「1000」番帯に偏りが発生し、問い合わせが集中した場合には、該当するDBサーバ2APの処理負荷が高くなってしまう(図9の(3)参照)。
そこで、ネットワーク内の負荷バランスを考慮して、ロードバランサを導入することによって、トラフィックを分散させる構成も提案されている。図10を参照して、従来のDBサーバシステムにロードバランサを導入した構成について説明する。図10は、従来のDBサーバシステムの構成及び通信方法を説明する図である。
図10に示す構成では、サービス提供装置3AP〜3DPと、DBサーバ2AP〜2CPとの間にロードバランサ4Pを設け、ロードバランサ4Pが、DBサーバ2AP〜2CPに、ユーザから送信された要求信号を受信順に振り分ける。例えば、要求信号が、データ更新要求U1、データ更新要求U2、データ参照要求Q3、データ参照要求Q4(図10の(1−1)〜(1−4))の順で、ロードバランサ4Pが各要求を受信した場合について説明する。この場合、ロードバランサ4Pは、データ更新要求U1をDBサーバ2APに振り分け、データ更新要求U2をDBサーバ2BPに振り分け(図10の(2−1)参照)、データ参照要求Q3をDBサーバ2CPに振り分け、データ参照要求Q4をDBサーバ2APに振り分ける。
しかしながら、データ更新要求U2の更新対象である「1210」番のデータは、該データ更新要求U2が振り分けられたDBサーバ2BPでは更新できない。「1210」番のデータは、DBサーバ2APで管理しているためである。そこで、データ更新要求U2は、DBサーバ2BPからDBサーバ2APに転送される(図10の(2−2),(2−3)参照)。この結果、DBサーバ2BPとDBサーバ2APとの間で、余計なトラフィックが発生してしまうという問題があった。
本発明は、上記に鑑みてなされたものであって、データベースサーバ冗長化構成をとっている通信システムにおいて、ネットワーク内のトラフィックやデータベースサーバの処理の負荷の偏りを軽減し、通信システム全体の効率化を図ることができる振分装置、通信システム及びデータ振分方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明に係る振分装置は、各々の装置間でデータ同期を行うとともに管理対象データと参照対象データとに分けてデータを記憶する複数のデータベースサーバのいずれかに、端末装置から送信された要求信号を振り分ける振分装置であって、端末装置から送信された要求信号の要求種別がデータ更新及びデータ参照のいずれであるかを判別する要求種別判別部と、要求信号の内容を基に、当該振分装置が配置されるネットワーク内のトラフィックと、要求信号の処理に要する各データベースサーバにおける処理量と、を予測する処理量予測部と、要求種別判別部によって要求種別がデータ更新であると判別された要求信号を、該要求信号において更新対象とされたデータを管理するデータベースサーバに振り分け、要求種別判別部によって要求種別がデータ参照であると判別された要求信号を、処理量予測部の予測結果に応じて複数のデータベースサーバのいずれかに振り分ける振分部と、を有することを特徴とする。
本発明によれば、ネットワーク内のトラフィックやデータベースサーバの処理の負荷の偏りを軽減し、通信システム全体の効率化を図ることができる。
図1は、本実施の形態に係る通信システムの概略構成を示す模式図である。 図2は、図1に示すDBサーバの構成を例示する模式図である。 図3は、図1に示すサービス提供装置の構成を例示する模式図である。 図4は、図3に示すロードバランサの構成を例示する模式図である。 図5は、ユーザからデータ更新を要求する信号が送信された場合の、通信システムの処理の流れの一例を示す図である。 図6は、ユーザからデータ参照を要求する信号が送信された場合の、通信システムの処理の流れの一例を示す図である。 図7は、図1に示すロードバランサの処理手順を示すフローチャートである。 図8は、プログラムが実行されることにより、DBサーバ或いはロードバランサが実現されるコンピュータの一例を示す図である。 図9は、従来のDBサーバシステムの構成及び通信方法を説明する図である。 図10は、従来のDBサーバシステムの構成及び通信方法を説明する図である。
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[実施の形態]
まず、実施の形態に係る通信システムについて、通信システムの概略構成及び通信システムにおける通信処理の流れ及び具体例を説明する。
[通信システム]
図1は、本実施の形態に係る通信システムの概略構成を示す模式図である。図1に示すように、通信システム1は、DBサーバ2A〜2C、サービス提供装置3A〜3Dと、ロードバランサ4(振分装置)を有する。また、サービス提供装置3A〜3Dには、それぞれユーザ5A〜5B,5C〜5D,5E〜5F,5G〜5H(端末装置)が接続する。なお、以降、DBサーバ2A〜2Cを区別なく表記する際は、DBサーバ2と表記する。また、サービス提供装置3A〜3Dを区別なく表記する際は、サービス提供装置3と表記する。そして、ユーザ5A〜5B,5C〜5D,5E〜5F,5G〜5Hを区別なく表記する際は、ユーザ5と示す。
DBサーバ2A〜2Cは、それぞれDBを有し、サービス提供に必要なデータを分散して記憶する。DBサーバ2A〜2Cは、各サーバの通信インターフェース(IF)を介してネットワーク(NW)と接続することによって各々が接続し、データを同期させるレプリケーションを行っている。例えば、DBサーバ2Aは、1000番帯のデータを管理用DBに記憶し、2000番帯及び3000番帯を参照用DBに記憶する。また、DBサーバ2Bは、2000番帯を管理用DBに記憶し、他の1000番帯、3000番帯を参照対象として記憶する。そして、DBサーバ2Cは、3000番帯を管理用DBに記憶し、他の1000番帯、2000番帯を参照対象として記憶する。DBサーバ2A〜2Cは、受信した要求信号にしたがい、データの更新、或いは、データの参照及び参照データの送信を行う。
サービス提供装置3A〜3Dは、それぞれ接続するユーザ5A〜5B,5C〜5D,5E〜5F,5G〜5Hにサービスを提供する。サービス提供装置3A〜3Dは、接続するユーザ5から送信されたデータ参照要求信号を、ロードバランサ4を介して、DBサーバ2A〜2Cに送信する。そして、サービス提供装置3A〜3Dは、DBサーバ2A〜2Cから送信された参照データをキャッシュメモリに記憶するデータキャッシュを行う。続いて、サービス提供装置3A〜3Dは、このデータを用いて、それぞれ接続するユーザ5にサービスを提供する。また、サービス提供装置3A〜3Dは、それぞれ接続するユーザ5のデータ更新要求信号を、ロードバランサ4を介して、DBサーバ2A〜2Cに送信する。
ロードバランサ4は、ユーザ5から送信された要求信号の要求種別がデータ更新及びデータ参照であるかを判別し、判別結果に基づいてDBサーバ2A〜2Cに振り分ける。
例えば、ロードバランサ4は、ユーザ5から送信された要求信号がデータ更新要求である場合には、該要求信号において更新対象とされたデータを管理するDBサーバ2A〜2Cに振り分ける。
そして、ユーザ5から送信された要求信号がデータ参照要求である場合について説明する。この場合、ロードバランサ4は、この要求信号の内容を基に、NW内のトラフィックと、要求信号の処理に要するDBサーバ2A〜2Cにおける処理量と、を予測する。そして、ロードバランサ4は、この予測結果に応じてDBサーバ2A〜2Cに振り分ける。具体的には、ロードバランサ4は、DBサーバ2A〜2Cのうち、トラフィック及びDBサーバ2A〜2Cにおける処理量が最小となると予測されたDBサーバ2A〜2Cに、データ参照要求であると判別された要求信号を、振り分ける。
この通信システム1では、ロードバランサ4において、振分対象の要求信号の要求種別を判別するとともに、この要求信号の内容を基にトラフィックとDBサーバ2A〜2Cにおける処理量を予測して、要求種別判別結果と予測結果に応じて、要求信号をDBサーバ2A〜2Cに振り分けている。これによって、通信システム1では、データ更新を適正に実行するとともに、NW内のトラフィックやDBサーバ2A〜2Cの処理の負荷の偏りを軽減している。そこで、通信システム1における各装置の構成及び機能について説明する。
[DBサーバの構成]
まず、DBサーバ2A〜2Cの構成について説明する。図2は、図1に示すDBサーバ2Aの構成を例示する模式図である。なお、DBサーバ2B,2CDは、DBサーバ2Aと同様の機能構成である。以降、DBサーバ2A〜2Cを区別なく表記する際は、DBサーバ2と表記する。
DBサーバ2Aは、ワークステーションやパソコン等の汎用コンピュータで実現され、図2に示すように、DB21と、入力部22と、出力部23と、通信部24と、制御部25とを備える。
DB21は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、またはハードディスク、光ディスク等の記憶装置によって実現される。なお、DB21は、DBサーバ2Aとは別体であり、通信部24(後述)を介して制御部25(後述)と通信する構成としてもよい。
DB21は、サービス提供装置3が参照してサービス提供に用いるサービス情報を記憶する。このサービス情報のデータ部分は、制御部25の制御により、あるいは予め、通信部24あるいは入力部22を介して上位OpS(Operation System)やユーザ等から取得される。DB21は、管理用DB211、参照用DB212,213を有する。管理用DB211は、更新管理対象である1000番帯のデータを記憶し、参照用DB212は、参照用のデータである2000番帯のデータを記憶し、参照用DB213は、参照用のデータである3000番帯のデータを記憶する。そして、これらのデータは、データ更新時の呼毎レプリケーションにより、DBサーバ2A〜2C間同士で共有される。
入力部22は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部25に対して処理開始などの各種指示情報を入力する。出力部23は、液晶ディスプレイなどの表示装置、プリンタ等の印刷装置、情報通信装置等によって実現される。
通信部24は、NWを介して接続された装置と各種情報を送受信する通信インターフェースである。通信部24は、制御部25(後述)の制御の基、LAN(Local Area Network)やインターネット等の電気通信回線を介したDBサーバ2A〜2C、ロードバランサ4、上位OpS等の外部の装置との間で通信する。
制御部25は、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部25は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。制御部25は、図2に例示するように、データ管理部251及びデータ送信部252を有する。
データ管理部251は、管理用DB211のデータを管理する。データ管理部251は、上位OpSやユーザ等から更新用のデータが入力された際、DB21のうち、管理用DB211のデータを更新する。また、データ管理部251は、ロードバランサ4を介して、サービス提供装置3A〜3Dから管理用DB211に対してデータ更新の要求信号を受信した場合には、この要求信号にしたがって、管理用DB211における更新対象のデータを更新する。具体的に、データ管理部251は、サービス情報を更新するためのデータが入力された際、対応する番号のデータを入力されたデータに更新する。
また、データ管理部251は、ロードバランサ4を介して、サービス提供装置3A〜3Dからデータ参照の要求信号を受信した際、DB21のデータを該サービス提供装置3A〜3Dに参照させる。
データ送信部252は、DB21の管理用DB221のデータが更新された後、他のDBサーバ2B,2Cにデータが更新された番号を送信する。具体的に、データ送信部252は、データ管理部251が管理用DB221のデータを更新した場合に、直ちに、或いは所定のタイミングで、DBサーバ2B,2Cに、更新された番号のデータについての、DBサーバ2B,2Cとの同期を指示するレプリケーションを送信する。また、データ送信部252は、参照用DB212,213のデータに対して参照要求を受けた場合には、参照対象のデータを要求元に送信する。そして、データ送信部252は、データ管理部251によるデータ更新が完了した場合には、データ更新完了通知を、データ更新要求元に返信する。
[サービス提供装置の構成]
まず、サービス提供装置3A〜3Dの構成について説明する。図3は、図1に示すサービス提供装置3Aの構成を例示する模式図である。なお、サービス提供装置3B,3C,3Dは、サービス提供装置3Aと同様の機能構成である。
サービス提供装置3Aは、ワークステーションやパソコン等の汎用コンピュータで実現され、CPU等の演算処理装置がメモリに記憶された処理プログラムを実行することにより、図3に例示するように、データ参照部31およびサービス提供部32として機能する。
データ参照部31は、ユーザ5A〜5Bから送信されたデータ更新或いはデータ参照の要求信号をロードバランサ4に送信する。また、データ参照部31は、参照要求に応答してDBサーバ2A〜2Cから返送された参照応答に含まれるデータを、キャッシュメモリに記憶する(以下、データキャッシュと称する)。
サービス提供部32は、データキャッシュされたデータを用いて、ユーザ5A〜5Bにサービスを提供する。例えば、サービス提供部32は、番号帯を示すデータを用いて、ユーザ5A〜5Bが指定した番号帯に対応するデータを、ユーザ5A〜5Bに通知するサービスを提供する。
[ロードバランサの構成]
次に、ロードバランサ4の構成について説明する。図4は、図1に示すロードバランサ4の構成を例示する模式図である。ロードバランサ4は、図4に示すように、通信部41、記憶部42及び制御部43を備える。
通信部41は、NWを介して接続された装置と各種情報を送受信する通信インターフェースである。
記憶部42は、RAM、フラッシュメモリ等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、ロードバランサ4を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。
制御部43は、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部43は、CPUやMPUなどの電子回路である。制御部43は、要求種別判別部431、処理量予測部432及び振分部433を有する。
要求種別判別部431は、ユーザ5から送信された要求信号の要求種別がデータ更新及びデータ参照のいずれであるかを判別する。そして、要求種別判別部431は、判別結果を、処理量予測部432及び振分部433に出力する。
処理量予測部432は、要求信号の内容を基に、ロードバランサ4が配置されるNW内のトラフィックと、要求信号の処理に要する各DBサーバ2A〜2Cにおける処理量と、を予測する。処理量予測部432は、送信先の各DBサーバ2の処理負荷を、例えば、パケット数、TAT(Turn Around Time)、リクエスト長を用いて分析し、最も処理負荷が小さいDBサーバ2を特定する。
振分部433は、要求種別判別部431によって要求種別がデータ更新であると判別された要求信号を、該要求信号において更新対象とされたデータを管理するDBサーバ2A〜2Cに振り分ける。すなわち、振分部433は、要求種別がデータ更新である場合には、該当番号帯を管理するDBサーバ2A〜2Cに、この要求信号を送信する。
また、振分部433は、要求種別判別部431によって要求種別がデータ参照であると判別された要求信号を、処理量予測部432の予測結果に応じてDBサーバ2A〜2Cのいずれかに振り分ける。具体的には、振分部433は、DBサーバ2A〜2Cのうち、処理量予測部432によってトラフィック及び処理量が最小となると予測されたDBサーバ2A〜2Cに、この要求信号を振り分ける。言い換えると、振分部433は、要求種別がデータ参照である場合には、処理負荷が小さいDBサーバ2に、この要求信号を送信する。
[通信処理の流れ]
ここで、通信システム1の処理の流れについて説明する。図5は、ユーザからデータ更新を要求する要求信号が送信された場合の、通信システム1の処理の流れの一例を示す図である。
例えば、ユーザ5Aによる「1110」番のデータの更新を要求する要求信号(以下、データ更新要求、とも記載する。)U1、ユーザ5Dによる「1210」番のデータ更新要求U2があった場合を例に説明する(図5の(1−1),(2−1)参照)。この場合、これらのデータ更新要求U1,U2は、サービス提供装置3A,3Bを介して、ロードバランサ4に送信される(図5の(1−2),(2-2)参照)。
そして、ロードバランサ4は、受信した要求信号U1,U2の要求種別を判別する。例えば、ロードバランサ4は、要求信号U1については、要求種別が「データ更新」であると判別する(図5の(1−3)参照)。このため、ロードバランサ4は、この要求信号U1については、更新を要求する「1110」番の該当番号を管理するDBサーバ2Aに、直接送信する(図5の(1−4)参照)。したがって、ロードバランサ4は、他のDBサーバ2B,2Cを介することなく、要求信号U1を直接DBサーバ2Aに送信するため、余計なトラフィックを防止することができる。そして、DBサーバ2Aは、受信した要求信号U1にしたがって、管理用DB211の「1110」番のデータを更新し(図5の(1−5)参照)、データ更新完了通知を、データ更新要求元のユーザ5Aに返信する。
また、ロードバランサ4は、要求信号U2についても、要求種別が「データ更新」であると判別し(図5の(2−3)参照)、データの更新を要求する「1210」番の該当番号を管理するDBサーバ2Aに、直接送信する(図5の(2−4)参照)。そして、DBサーバ2Aは、受信した要求信号U2にしたがって、管理用DB211の「1210」番のデータを更新し(図5の(2−5)参照)、データ更新完了通知を、データ更新要求元のユーザ5Dに返信する。
このように、ロードバランサ4は、要求信号の種別がデータ更新である場合には、更新対象の番号帯を管理している該当のDBサーバのみがデータ更新可能であるため、要求信号を直接、該当するDBサーバ2Aにルーティングさせる。これによって、DBサーバ2A〜2C間の余計なトラフィックが流れることを防止することができる。
次に、図6を参照して、ユーザからデータ参照を要求する要求信号が送信された場合の、通信システム1の処理の流れについて説明する。図6は、ユーザからデータ参照を要求する信号が送信された場合の、通信システム1の処理の流れの一例を示す図である。
例えば、ユーザ5Fによる「1120」番のデータの参照を要求する要求信号(以下、データ参照要求、とも記載する。)Q3、ユーザ5Hによる「1120」番のデータ参照要求Q4があった場合を例に説明する(図6の(3−1),(4−1)参照)。この場合、これらのデータ参照要求Q3,Q4は、サービス提供装置3C,3Dを介して、ロードバランサ4に送信される(図6の(3−2),(4−2)参照)。
そして、ロードバランサ4は、受信した要求信号Q3,Q4の要求種別を判別する。例えば、ロードバランサ4は、要求信号Q3については、要求種別が「データ参照」であると判別する(図6の(3−3)参照)。この場合には、ロードバランサ4は、要求信号Q3の内容を基に、NW内のトラフィックと、要求信号の処理に要する各DBサーバ2A〜2Cにおける処理量と、を予測する。
そして、ロードバランサ4は、処理負荷が小さいDBサーバ2としてDBサーバ2Bを特定する。参照要求はどのDBサーバ2A〜2Cでも処理可能であるため、ロードバランサ4は、余力があるDBサーバ2Bに、要求信号Q3を送信する(図6の(3−4)参照)。そして、DBサーバ2Bは、受信した要求信号Q3にしたがって、参照用DBの「1120」番のデータを参照し、参照したデータをデータ参照要求元のユーザ5Fに返信する。
また、ロードバランサ4は、要求信号Q4についても、要求種別が「データ参照」であると判別する(図6の(4−3)参照)。この場合には、ロードバランサ4は、要求信号Q4の内容を基に、NW内のトラフィックと、要求信号の処理に要する各DBサーバ2A〜2Cにおける処理量と、を予測する。そして、ロードバランサ4は、処理負荷が小さいDBサーバ2としてDBサーバ2Cを特定する。そこで、ロードバランサ4は、余力があるDBサーバ2Cに、要求信号Q4を送信する(図6の(4−4)参照)。そして、DBサーバ2Cは、受信した要求信号Q4にしたがって、参照用DBの「1120」番のデータを参照し、参照したデータをデータ参照要求元のユーザ5Hに返信する。
このように、ロードバランサ4は、要求信号の種別がデータ参照である場合には、どのDBサーバ2A〜2Cでも処理が可能であるため、処理量予測部432の機能により、NW内のトラフィックとDBサーバ2A〜2Cの負荷状況に応じて、要求信号を分散させている。
[ロードバランサの処理]
次に、図7を参照して、ロードバランサ4の処理手順について説明する。図7は、図1に示すロードバランサ4の処理手順を示すフローチャートである。
まず、ロードバランサ4は、要求信号を受信すると(ステップS1)、要求種別判別部431が、受信した要求信号の種別が、データ更新或いはデータ参照であるかを判別する(ステップS2)。
要求種別判別部431が、受信した要求信号がデータ更新であると判別した場合(ステップS2:更新)、振分部433は、この要求信号を、更新対象のデータ管理先のDBサーバ2に振り分け(ステップS3)、送信する。
一方、要求種別判別部431が、受信した要求信号がデータ参照であると判別した場合(ステップS2:参照)、処理量予測部432は、要求信号の内容を基に、DBサーバ2A〜2Cとロードバランサ4との間におけるトラフィックと、要求信号の処理に要する各DBサーバ2A〜2Cにおける処理量と、を予測する処理量予測処理を行う(ステップS4)。この処理量予測処理では、処理量予測部432は、送信先のDBサーバ2の処理負荷を、例えば、パケット数、TAT、リクエスト長を用いて分析し、最も処理負荷が小さいDBサーバ2を特定する。
そして、振分部433は、DBサーバ2A〜2Cのうち、処理量予測部432によってトラフィック及び処理負荷が最小であると予測されたDBサーバ2に、この要求信号を振り分け(ステップS5)、送信する。
[実施の形態の効果]
このように、実施の形態に係る通信システム1では、ロードバランサ4が、受信した要求信号の種別を、データ更新或いはデータ参照のいずれであるかを判別している。そして、ロードバランサ4は、要求信号の種別がデータ更新であると判別した場合には、更新対象の番号帯を管理している該当のDBサーバ2のみがデータ更新可能であるため、要求信号を直接、該当するDBサーバ2Aにルーティングさせる。これによって、DBサーバ2A〜2C間の余計なトラフィックが流れることを防止することができる。
一方、ロードバランサ4は、要求信号の種別がデータ参照であると判別した場合には、どのDBサーバ2A〜2Cでも処理が可能であるため、NWトラフィックとDBサーバ2A〜2Cの負荷状況に応じて、要求信号を分散させる。すなわち、ロードバランサ4は、要求信号の種別がデータ参照であると判別した場合には、トラフィック及び処理負荷が最小であると予測したDBサーバ2に、この要求信号を振り分ける。
この結果、通信システム1では、NW内のトラフィックやDBサーバ2A〜2Cの処理の負荷の偏りを軽減させることができ、DBサーバ2A〜2Cの能力を均等に使用して、システム全体の効率化を図ることができる。
[他の実施の形態]
[システム構成等]
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
図8は、プログラムが実行されることにより、DBサーバ2A〜2C或いはロードバランサ4が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000はハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030はハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、DBサーバ2A〜2C或いはロードバランサ4の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、DBサーバ2A〜2C或いはロードバランサ4における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094はハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
1 通信システム
2A〜2C,2AP〜2CP データベース(DB)サーバ
3A〜3D,3AP〜3DP サービス提供装置
4,4P ロードバランサ
5A〜5H,5AP〜5HP ユーザ
21 DB
22 入力部
23 出力部
24,41 通信部
25,43 制御部
31 データ参照部
32 サービス提供部
42 記憶部
211 管理用DB
212,213 参照用DB
251 データ管理部
252 データ送信部
431 要求種別判別部
432 処理量予測部
433 振分部

Claims (5)

  1. 各々の装置間でデータ同期を行うとともに管理対象データと参照対象データとに分けてデータを記憶する複数のデータベースサーバのいずれかに、端末装置から送信された要求信号を振り分ける振分装置であって、
    前記端末装置から送信された要求信号の要求種別がデータ更新及びデータ参照のいずれであるかを判別する要求種別判別部と、
    前記要求信号の内容を基に、当該振分装置が配置されるネットワーク内のトラフィックと、前記要求信号の処理に要する各データベースサーバにおける処理量と、を予測する処理量予測部と、
    前記要求種別判別部によって要求種別がデータ更新であると判別された要求信号を、該要求信号において更新対象とされたデータを管理するデータベースサーバに振り分け、前記要求種別判別部によって要求種別がデータ参照であると判別された要求信号を、前記処理量予測部の予測結果に応じて前記複数のデータベースサーバのいずれかに振り分ける振分部と、
    を有することを特徴とする振分装置。
  2. 前記振分部は、前記複数のデータベースサーバのうち、前記処理量予測部によって前記トラフィック及び前記処理量が最小となると予測されたデータベースサーバに、前記要求種別判別部によって要求種別がデータ参照であると判別された要求信号を、振り分けることを特徴とする請求項1に記載の振分装置。
  3. 各々の装置間でデータ同期を行うとともに管理対象データと参照対象データとに分けてデータを記憶する複数のデータベースサーバと、端末装置から送信された要求信号を前記複数のデータベースサーバのいずれかに振り分ける振分装置と、を有する通信システムであって、
    前記データベースサーバは、
    更新管理対象であるデータを記憶する管理用データベースと、
    参照用のデータを記憶する参照用データベースと、
    前記管理用データベースのデータを管理し、前記管理用データベースのデータに対して更新要求を受けた場合には更新対象のデータを更新するデータ管理部と、
    前記参照用データベースのデータに対して参照要求を受けた場合には参照対象のデータを要求元に送信するデータ送信部と、
    を有し、
    前記振分装置は、
    前記端末装置から送信された要求信号の要求種別がデータ更新及びデータ参照のいずれであるかを判別する要求種別判別部と、
    前記要求信号の内容を基に、前記振分装置が配置されるネットワーク内のトラフィックと、前記要求信号の処理に要する各データベースサーバにおける処理量と、を予測する処理量予測部と、
    前記要求種別判別部によって要求種別がデータ更新であると判別された要求信号を、該要求信号において更新対象とされたデータを管理するデータベースサーバに振り分け、前記要求種別判別部によって要求種別がデータ参照であると判別された要求信号を、前記処理量予測部の予測結果に応じて前記複数のデータベースサーバのいずれかに振り分ける振分部と、
    を有することを特徴とする通信システム。
  4. 前記振分部は、前記要求種別判別部によって要求種別がデータ参照であると判別された要求信号を、前記複数のデータベースサーバのうち、前記トラフィック及び前記処理量が最小となるデータベースサーバに振り分けることを特徴とする請求項3に記載の通信システム。
  5. 各々の装置間でデータ同期を行うとともに管理対象データと参照対象データとに分けてデータを記憶する複数のデータベースサーバのいずれかに、端末装置から送信された要求信号を振り分ける振分装置が実行するデータ振分方法であって、
    前記振分装置が、前記端末装置から送信された要求信号の要求種別がデータ更新及びデータ参照のいずれであるかを判別する要求種別判別工程と、
    前記振分装置が、前記要求信号の内容を基に、前記振分装置が配置されるネットワーク内のトラフィックと、前記要求信号の処理に要する各データベースサーバにおける処理量と、を予測する処理量予測工程と、
    前記振分装置が、前記要求種別判別工程において要求種別がデータ更新であると判別された要求信号を、該要求信号において更新対象とされたデータを管理するデータベースに振り分け、前記要求種別判別工程において要求種別がデータ参照であると判別された要求信号を、前記処理量予測工程における予測結果に応じて前記複数のデータベースサーバのいずれかに振り分ける振分工程と、
    を含んだことを特徴とするデータ振分方法。
JP2016171416A 2016-09-02 2016-09-02 振分装置、通信システム及びデータ振分方法 Active JP6571614B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016171416A JP6571614B2 (ja) 2016-09-02 2016-09-02 振分装置、通信システム及びデータ振分方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016171416A JP6571614B2 (ja) 2016-09-02 2016-09-02 振分装置、通信システム及びデータ振分方法

Publications (2)

Publication Number Publication Date
JP2018036978A JP2018036978A (ja) 2018-03-08
JP6571614B2 true JP6571614B2 (ja) 2019-09-04

Family

ID=61567515

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016171416A Active JP6571614B2 (ja) 2016-09-02 2016-09-02 振分装置、通信システム及びデータ振分方法

Country Status (1)

Country Link
JP (1) JP6571614B2 (ja)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332782A (ja) * 1993-03-22 1994-12-02 Hitachi Ltd ファイルサーバシステム及びそのファイルアクセス制御方法
JP2000207370A (ja) * 1999-01-20 2000-07-28 Matsushita Electric Ind Co Ltd 分散ファイル管理装置及び分散ファイル管理システム
JP4696043B2 (ja) * 2006-10-13 2011-06-08 日本電信電話株式会社 データベース負荷分散装置,データベース負荷分散方法及びその方法を実装したデータベース負荷分散プログラム
JP5245711B2 (ja) * 2008-10-17 2013-07-24 日本電気株式会社 分散データ処理システム、分散データ処理方法および分散データ処理用プログラム
US9032017B1 (en) * 2010-08-10 2015-05-12 Scalarc Inc Method and system for transparent read-write query routing when load balancing databases
JP5576836B2 (ja) * 2011-07-29 2014-08-20 日本電信電話株式会社 呼処理データ保存方法、呼処理データ振り分け装置およびプログラム
JP5499196B1 (ja) * 2013-03-05 2014-05-21 株式会社Nttドコモ データベース管理サーバ、それを備えたデータベースサーバ管理システム及びデータベース管理プログラム
JP6043687B2 (ja) * 2013-07-02 2016-12-14 日本電信電話株式会社 サーバ/クライアントシステム
JP2015132972A (ja) * 2014-01-14 2015-07-23 株式会社野村総合研究所 データ再配置システム
WO2016006098A1 (ja) * 2014-07-11 2016-01-14 株式会社日立製作所 データ処理システム、データベース管理システム及びデータ処理方法

Also Published As

Publication number Publication date
JP2018036978A (ja) 2018-03-08

Similar Documents

Publication Publication Date Title
CN107590001B (zh) 负载均衡方法及装置、存储介质、电子设备
US9971823B2 (en) Dynamic replica failure detection and healing
US8671134B2 (en) Method and system for data distribution in high performance computing cluster
US7185046B2 (en) Submitting jobs in a distributed computing environment
US9703610B2 (en) Extensible centralized dynamic resource distribution in a clustered data grid
US20120323988A1 (en) Task allocation in a computer network
US20120311295A1 (en) System and method of optimization of in-memory data grid placement
US9424096B2 (en) Task allocation in a computer network
US11314545B2 (en) Predicting transaction outcome based on artifacts in a transaction processing environment
US9860192B2 (en) Distributed computing architecture
CN110650209B (zh) 实现负载均衡的方法和装置
US11960607B2 (en) Achieving minimum trustworthiness in distributed workloads
CN103136322A (zh) 用于配置查询的装置和方法
WO2022082892A1 (zh) 大数据分析方法、系统、计算机设备及其存储介质
CN109428926B (zh) 一种调度任务节点的方法和装置
US10216593B2 (en) Distributed processing system for use in application migration
US20140129598A1 (en) Dynamic management of log persistence
JP6571614B2 (ja) 振分装置、通信システム及びデータ振分方法
US7299265B2 (en) Distributed computing system selecting a service master for each service by an elected global master for managing requests for that service
CN108810130B (zh) 一种分配请求规划的方法和装置
US9626444B2 (en) Continuously blocking query result data for a remote query
CN113760927A (zh) 数据处理方法、装置、电子设备和计算机可读介质
US10581992B2 (en) Allocating bandwidth between network computing devices for pushing data to a client computing device
CN116347467B (zh) 5g网络中udr进行用户数据管理方法及系统
US11755375B2 (en) Aggregating host machines into a single cloud node for workloads requiring excessive resources

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190620

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190808

R150 Certificate of patent or registration of utility model

Ref document number: 6571614

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150