JP6646340B2 - Dispersing apparatus and dispersing method - Google Patents

Dispersing apparatus and dispersing method Download PDF

Info

Publication number
JP6646340B2
JP6646340B2 JP2017033503A JP2017033503A JP6646340B2 JP 6646340 B2 JP6646340 B2 JP 6646340B2 JP 2017033503 A JP2017033503 A JP 2017033503A JP 2017033503 A JP2017033503 A JP 2017033503A JP 6646340 B2 JP6646340 B2 JP 6646340B2
Authority
JP
Japan
Prior art keywords
community
traffic volume
data
time
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
JP2017033503A
Other languages
Japanese (ja)
Other versions
JP2018139051A (en
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 JP2017033503A priority Critical patent/JP6646340B2/en
Publication of JP2018139051A publication Critical patent/JP2018139051A/en
Application granted granted Critical
Publication of JP6646340B2 publication Critical patent/JP6646340B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、分散装置および分散方法に関する。   The present invention relates to a dispersing apparatus and a dispersing method.

一般に、大規模なデータを複数のデータベース(DB)に分散させて収容する分散DBシステムが知られている。例えば、ユーザの要求に対する処理を要求ごとに所定のWebサーバが実行するシステムにおいて、各WebサーバのDBに各要求の処理に必要なデータが収容される(特許文献1参照)。   2. Description of the Related Art In general, a distributed DB system that stores large-scale data in a plurality of databases (DBs) in a distributed manner is known. For example, in a system in which a predetermined Web server executes a process for a user's request for each request, data required for processing each request is stored in a DB of each Web server (see Patent Document 1).

一方、電話サービス等のサービスの加入者のデータを収容する分散DBシステムでは、加入者のデータが加入者の属する地域のコミュニティごとに複数のDBに分散して収容される。加入者によるサービス利用の要求は、この加入者のデータが収容されているDBにおいて処理される。なお、各都道府県の昼間人口や昼夜人口比率の統計データが開示されている(非特許文献1参照)。   On the other hand, in a distributed DB system that stores subscriber data of services such as telephone services, subscriber data is distributed and stored in a plurality of DBs for each community in the area to which the subscriber belongs. A service use request by a subscriber is processed in a DB that stores the data of the subscriber. Note that statistical data of daytime population and day / night population ratio of each prefecture is disclosed (see Non-Patent Document 1).

特開2014−096113号公報JP 2014-096113 A

「I 昼間人口」、[online]、2000年、総務省統計局、[2017年1月5日検索]、インターネット<URL: http://www.stat.go.jp/data/kokusei/2000/jutsu1/00/01.htm>“I Daytime Population”, [online], 2000, Statistics Bureau, Ministry of Internal Affairs and Communications, [Search January 5, 2017], Internet <URL: http://www.stat.go.jp/data/kokusei/2000/ jutsu1 / 00 / 01.htm>

しかしながら、都市部やベッドタウンのように昼夜で人口変動が起こる地域のコミュニティの加入者のデータを分散DBシステムに収容すると、このコミュニティの加入者のデータを収容するDBに対するトラフィック量が昼夜で変動する。このような地域のコミュニティについて、昼夜いずれかの人口を想定して加入者のデータを収容するDBを決定した場合には、想定から外れる時間帯が生じてしまうため、各DBのリソースを有効に活用できない恐れがあった。   However, if subscriber data of a community in an area where population changes day and night, such as an urban area or a bed town, is stored in a distributed DB system, the traffic volume for a DB that stores data of the community subscriber fluctuates day and night. I do. In the case of a community in such a region, when a DB that accommodates subscriber data is determined assuming a population of day or night, a time zone outside the assumption occurs, and resources of each DB are effectively used. There was a fear that it could not be used.

また、昼間人口が多い傾向にある地域のコミュニティの加入者のデータ、あるいは逆に夜間人口が多い傾向にある地域のコミュニティの加入者のデータのいずれかに偏って同一のDBに収容されると、時間帯によってDB間でトラフィック量の偏りが生じてしまう。そうすると、分散DBシステム全体で処理可能なトラフィックを有効に処理できない恐れがあった。   Also, if data is stored in the same DB with a bias toward either the data of the subscribers in the community where the daytime population tends to be large or the data of the subscribers in the community where the nighttime population tends to be large In addition, the amount of traffic is unevenly distributed between DBs depending on the time zone. Then, there is a possibility that the traffic that can be processed by the entire distributed DB system cannot be effectively processed.

本発明は、上記に鑑みてなされたものであって、ユーザが属するコミュニティの人口の時間変動に対応した高効率な分散DBシステムを提供することを目的とする。   The present invention has been made in view of the above, and it is an object of the present invention to provide a highly efficient distributed DB system that responds to a temporal change in the population of a community to which a user belongs.

上述した課題を解決し、目的を達成するために、本発明に係る分散装置は、複数のユーザのデータを各ユーザが属するコミュニティを単位にして複数のデータベースに分散して収容するデータベースシステムにおいて、所定の複数の時点における各コミュニティの人口とユーザ当たりのトラフィック量の平均値とを用いて、各時点に各コミュニティから発信されるトラフィック量を算出する算出部と、前記データベースごとに、各データベースに収容されるデータに対応するコミュニティから前記各時点に発信される前記トラフィック量を集計する集計部と、前記各データベースにおいて、集計された前記各時点のトラフィック量のばらつきを示す値が所定の閾値より大きい場合に、各データベースにおけるトラフィック量の時間変動の極値に寄与するデータの収容先を他のデータベースに変更する変更部と、を備えることを特徴とする。   In order to solve the above-described problems and achieve the object, a distributed device according to the present invention is a database system that accommodates data of a plurality of users in a distributed manner in a plurality of databases in units of a community to which each user belongs. A calculating unit that calculates the traffic volume transmitted from each community at each time point using the population of each community and the average value of the traffic volume per user at a plurality of predetermined time points; A counting unit that counts the traffic volume transmitted at each time from the community corresponding to the accommodated data; and in each database, a value indicating a variation in the calculated traffic volume at each time is greater than a predetermined threshold. If large, the extreme value of the time variation of the traffic volume in each database A changing unit that changes the accommodating contributing data to other databases, characterized in that it comprises a.

本発明によれば、ユーザが属するコミュニティの人口の時間変動に対応した高効率な分散DBシステムを提供することが可能となる。   ADVANTAGE OF THE INVENTION According to this invention, it becomes possible to provide the highly efficient distributed DB system corresponding to the time variation of the population of the community to which a user belongs.

図1は、本発明の一実施形態に係る分散装置の処理対象を説明するための説明図である。FIG. 1 is an explanatory diagram for explaining a processing target of the distribution apparatus according to the embodiment of the present invention. 図2は、本実施形態の分散装置の処理概要を説明するための説明図である。FIG. 2 is an explanatory diagram for explaining an outline of processing of the distribution apparatus of the present embodiment. 図3は、本実施形態の分散装置の処理概要を説明するための説明図である。FIG. 3 is an explanatory diagram for explaining an outline of the processing of the distribution apparatus of the present embodiment. 図4は、本実施形態の分散装置の処理概要を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an outline of the processing of the distribution apparatus of the present embodiment. 図5は、本実施形態に係る分散装置の概略構成を示す模式図である。FIG. 5 is a schematic diagram illustrating a schematic configuration of the dispersion apparatus according to the present embodiment. 図6は、変更部の処理について説明するための説明図である。FIG. 6 is an explanatory diagram for describing the processing of the changing unit. 図7は、本実施形態の分散処理手順を示すフローチャートである。FIG. 7 is a flowchart illustrating a distributed processing procedure according to the present embodiment. 図8は、分散プログラムを実行するコンピュータを例示する図である。FIG. 8 is a diagram illustrating a computer that executes a distributed program.

以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。   Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. The present invention is not limited by the embodiment. In the description of the drawings, the same portions are denoted by the same reference numerals.

[分散装置の処理概要]
まず、図1を参照して、本実施形態に係る分散装置の処理対象について説明する。本実施形態において、分散装置は、例えば電話サービス等のサービス加入者であるユーザのデータを、このユーザの属する都道府県または市町村等の地域のコミュニティを単位にして、複数のDBに分散して収容する分散DBシステムを処理対象とする。
[Processing Overview of Distributed Device]
First, a processing target of the distribution apparatus according to the present embodiment will be described with reference to FIG. In the present embodiment, the distribution apparatus stores data of a user who is a service subscriber such as a telephone service in a plurality of DBs in units of local communities such as prefectures or municipalities to which the user belongs. And a distributed DB system to be processed.

図1に例示する分散DBシステム1では、コミュニティAおよびコミュニティBに属するデータがDB#1に収容され、コミュニティCおよびコミュニティDに属するデータがDB#2に収容されている。   In the distributed DB system 1 illustrated in FIG. 1, data belonging to a community A and a community B are contained in a DB # 1, and data belonging to a community C and a community D are contained in a DB # 2.

ここで、図2〜図4を参照して、本実施形態に係る分散装置の処理概要について説明する。図2は、各コミュニティの人口の時間変動について説明するための説明図である。各コミュニティを各都道府県とした場合に、図2(a)に例示すように、昼間の人口と夜間の人口とが大きく異なるコミュニティが存在する(非特許文献1参照)。これは、図2(b)に例示するように、奈良等のベッドタウンから大阪等の都心部に昼間に人口が移動することが一因として挙げられる。この場合に、奈良等のベッドタウンのコミュニティでは、昼の人口が夜の人口を下回る。一方、大阪等の都市部のコミュニティでは、昼の人口が夜の人口を上回る。   Here, the processing outline of the distribution apparatus according to the present embodiment will be described with reference to FIGS. FIG. 2 is an explanatory diagram for explaining temporal fluctuation of the population of each community. Assuming that each community is a prefecture, as shown in FIG. 2A, there is a community whose daytime population and nighttime population are significantly different (see Non-Patent Document 1). One reason for this is that as shown in FIG. 2 (b), the population moves during the day from a bed town such as Nara to a city center such as Osaka. In this case, in the community of the bed town such as Nara, the daytime population is lower than the nighttime population. On the other hand, in urban communities such as Osaka, the daytime population exceeds the nighttime population.

このような人口移動が起こると、分散DBシステム1では、各DBへのトラフィック量が時間変動を示す。例えば、図1に示した分散DBシステム1において、コミュニティAおよびコミュニティBでは昼間人口が増加傾向にあり、コミュニティCおよびコミュニティDでは夜間人口が増加傾向にあるものと仮定する。この場合に、コミュニティAおよびコミュニティBのデータ(データAおよびデータB)を収容するDB#1へのトラフィック量は、図3(a)に例示するように、昼間のトラフィック量が高くなる。一方、コミュニティCおよびコミュニティDのデータ(データCおよびデータD)を収容するDB#2へのトラフィック量は、図3(b)に例示するように、夜間のトラフィック量が高くなる。   When such a population migration occurs, in the distributed DB system 1, the traffic amount to each DB changes over time. For example, in the distributed DB system 1 shown in FIG. 1, it is assumed that the population in the daytime is increasing in the communities A and B, and the population in the nighttime is increasing in the communities C and D. In this case, as illustrated in FIG. 3A, the traffic volume to DB # 1 that stores the data of the community A and the community B (data A and data B) increases as illustrated in FIG. On the other hand, as illustrated in FIG. 3B, the traffic volume to DB # 2 that stores the data of community C and community D (data C and data D) is high as illustrated in FIG. 3B.

このように、昼間人口が増加傾向にあるコミュニティのデータと夜間人口が増加傾向にあるコミュニティのデータとが偏って同一のDBに収容されると、時間帯によってDB間でトラフィック量に偏りが生じてしまう。例えば、図3に示した例の場合、昼間のトラフィック量は、図4(a)に示すように、DB#1に大きく偏り、夜間のトラフィック量は、図4(b)に示すように、DB#2に大きく偏る。そうすると、各DBのリソースおよび分散DBシステム全体の処理能力を最大限に利用できない。そこで、本実施形態の分散装置は、後述する分散処理により、各DBのトラフィック量の時間変動を平滑化するように、コミュニティのデータの収容先のDBを変更する。   As described above, if the data of the community where the daytime population is increasing and the data of the community where the nighttime population is increasing are accommodated in the same DB, the traffic volume between the DBs varies depending on the time zone. Would. For example, in the case of the example shown in FIG. 3, the daytime traffic amount is largely biased toward DB # 1 as shown in FIG. 4 (a), and the nighttime traffic amount is as shown in FIG. 4 (b). Largely biased toward DB # 2. Then, the resources of each DB and the processing capacity of the entire distributed DB system cannot be used to the maximum. Therefore, the distribution apparatus of the present embodiment changes the DB in which the data of the community is accommodated so as to smooth the temporal fluctuation of the traffic volume of each DB by the distribution processing described later.

[分散装置の構成]
次に、図5を参照して、本実施形態に係る分散装置の概略構成を説明する。図5に示すように、本実施形態に係る分散装置10は、ワークステーションやパソコン等の汎用コンピュータで実現され、入力部11と出力部12と通信制御部13と、記憶部14と、制御部15とを備える。
[Configuration of Distributed Device]
Next, a schematic configuration of the dispersion apparatus according to the present embodiment will be described with reference to FIG. As shown in FIG. 5, the distribution apparatus 10 according to the present embodiment is realized by a general-purpose computer such as a workstation or a personal computer, and includes an input unit 11, an output unit 12, a communication control unit 13, a storage unit 14, a control unit 15 is provided.

入力部11は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部15に対して各種指示情報を入力する。出力部12は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置、情報通信装置等によって実現され、後述する分散処理の結果等を操作者に対して出力する。   The input unit 11 is realized using an input device such as a keyboard and a mouse, and inputs various kinds of instruction information to the control unit 15 in response to an input operation by an operator. The output unit 12 is realized by a display device such as a liquid crystal display, a printing device such as a printer, an information communication device, and the like, and outputs a result of a later-described distributed process to an operator.

通信制御部13は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した管理サーバ等の外部の装置と制御部15との通信を制御する。   The communication control unit 13 is realized by a NIC (Network Interface Card) or the like, and controls communication between the control unit 15 and an external device such as a management server via an electric communication line such as a LAN (Local Area Network) or the Internet. .

記憶部14は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部14には、分散装置10を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが予め記憶され、あるいは処理の都度一時的に記憶される。記憶部14は、通信制御部13を介して制御部15と通信する構成でもよい。   The storage unit 14 is realized by a semiconductor memory device such as a random access memory (RAM) or a flash memory, or a storage device such as a hard disk or an optical disk. In the storage unit 14, a processing program for operating the distribution apparatus 10, data used during execution of the processing program, and the like are stored in advance, or temporarily stored for each processing. The storage unit 14 may be configured to communicate with the control unit 15 via the communication control unit 13.

制御部15は、CPU(Central Processing Unit)等の演算処理装置がメモリに記憶された処理プログラムを実行することにより、図3に例示するように、算出部15a、集計部15bおよび変更部15cとして機能する。   As illustrated in FIG. 3, the control unit 15 executes a processing program stored in the memory by an arithmetic processing device such as a CPU (Central Processing Unit), thereby forming a calculation unit 15a, a tallying unit 15b, and a changing unit 15c. Function.

算出部15aは、複数のユーザのデータを各ユーザが属するコミュニティを単位にして複数のデータベースに分散して収容するデータベースシステムにおいて、所定の複数の時点における各コミュニティの人口とユーザ当たりのトラフィック量の平均値とを用いて、各時点に各コミュニティから発信されるトラフィック量を算出する。   In a database system that stores data of a plurality of users in a plurality of databases in a unit of a community to which each user belongs, in a database system, the calculation unit 15a calculates the population of each community and the traffic volume per user at a plurality of predetermined time points. Using the average value, the traffic amount transmitted from each community at each time point is calculated.

具体的に、算出部15aは、まず、入力部11または通信制御部13を介して、所定の複数の時点の各コミュニティの人口を取得する。例えば、算出部15aは、国勢調査等の統計データ(非特許文献1参照)を参照して、0時および12時等の所定の複数の時点における各コミュニティの人口を取得する。   Specifically, the calculation unit 15a first obtains the population of each community at a plurality of predetermined time points via the input unit 11 or the communication control unit 13. For example, the calculation unit 15a acquires the population of each community at a plurality of predetermined time points such as 0:00 and 12:00 with reference to statistical data (see Non-Patent Document 1) such as a census.

また、算出部15aは、入力部11または通信制御部13を介して、上記と同じ時点のユーザ当たりのトラフィック量の平均値を取得する。例えば、算出部15aは、分散DBシステム1におけるサービス毎のトラフィック量を監視するシステムから、上記と同じ時点における対象のサービスのトラフィック量とサービスの加入者数すなわちユーザ数とを取得する。そして、算出部15aは、サービスのトラフィック量をユーザ数で除することにより、所定の複数の時点におけるユーザ当たりのトラフィック量の平均値を取得する。   In addition, the calculation unit 15a acquires, via the input unit 11 or the communication control unit 13, the average value of the traffic volume per user at the same time as described above. For example, the calculation unit 15a acquires the traffic volume of the target service and the number of subscribers of the service, that is, the number of users at the same time as described above, from the system for monitoring the traffic volume of each service in the distributed DB system 1. Then, the calculation unit 15a divides the traffic volume of the service by the number of users to obtain an average value of the traffic volume per user at a plurality of predetermined time points.

次に、算出部15aは、取得した各時点の各コミュニティの人口とユーザ当たりのトラフィック量の平均値とを乗じることにより、各時点に各コミュニティから発信されるトラフィック量を算出する。   Next, the calculation unit 15a calculates the traffic volume transmitted from each community at each time point by multiplying the acquired population of each community at each time point by the average value of the traffic volume per user.

集計部15bは、DBごとに、各DBに収容されるデータに対応するコミュニティから各時点に発信されるトラフィック量を集計する。例えば、集計部15bは、図1に示したDB#1について、算出部15aが算出した、コミュニティAから各時点に発信されるトラフィック量とコミュニティBから各時点に発信されるトラフィック量との合計値を算出し、DB#1への各時点のトラフィック量とする。同様に、集計部15bは、DB#2について、コミュニティCから各時点に発信されるトラフィック量とコミュニティDから発信されるトラフィック量との合計値を算出し、DB#2への各時点のトラフィック量とする。   The counting unit 15b counts, for each DB, the traffic volume transmitted at each time from the community corresponding to the data stored in each DB. For example, the tallying unit 15b calculates the sum of the traffic volume transmitted from the community A at each time and the traffic volume transmitted from the community B at each time, calculated by the calculation unit 15a, for DB # 1 shown in FIG. The value is calculated and set as the traffic volume to DB # 1 at each time. Similarly, the tallying unit 15b calculates the total value of the traffic volume transmitted from the community C at each time and the traffic volume transmitted from the community D for DB # 2, and calculates the traffic volume at each time to DB # 2. Amount.

変更部15cは、各DBにおいて、集計された各時点のトラフィック量のばらつきを示す値が所定の閾値より大きい場合に、各DBにおけるトラフィック量の時間変動の極値に寄与するデータの収容先を他のDBに変更する。すなわち、変更部15cは、各時点のトラフィック量のばらつきを示す値が所定の閾値より大きい場合に、該DBにおいてトラフィック量が極大となる時点におけるトラフィック量が最大のコミュニティ、またはトラフィック量が極小となる時点におけるトラフィック量が最小のコミュニティの双方またはいずれか一方を特定し、特定した該コミュニティに属するユーザのデータの収容先を他のDBに変更する。   The change unit 15c determines, in each DB, a storage destination of data that contributes to the extreme value of the time variation of the traffic volume in each DB when the value indicating the aggregated traffic volume variation at each time point is larger than a predetermined threshold. Change to another DB. That is, when the value indicating the variation in the traffic volume at each time point is larger than the predetermined threshold, the changing unit 15c determines that the community with the maximum traffic volume at the time when the traffic volume is maximum in the DB, or that the traffic volume is minimal. At least one of the communities with the smallest traffic volume at a certain time is specified, and the data storage destination of the user belonging to the specified community is changed to another DB.

具体的に、変更部15cは、集計部15bが集計した各DBへの各時点のトラフィック量のばらつきすなわちトラフィック量の時間変動のばらつきを示す値を、例えば標準偏差として算出する。また、変更部15cは、算出したばらつきを示す値が予め設定された所定の閾値より大きい場合に、このDBに収容されているユーザのデータの収容先の他のDBへの変更を指示する。   Specifically, the changing unit 15c calculates, for example, a standard deviation, a value indicating the variation of the traffic volume at each point in time to each DB, that is, the variation of the time variation of the traffic volume, to each DB calculated by the tallying unit 15b. In addition, when the value indicating the calculated variation is larger than a predetermined threshold value, the change unit 15c instructs a change to another DB in which the data of the user stored in this DB is stored.

ここで、図6は、変更部15cの処理を説明するための説明図である。図6には、図1に例示した分散DBシステム1のDB#1へのトラフィック量の時間変動が例示されている。DBへのトラフィック量の時間変動のばらつきを示す値が所定の閾値より大きい場合に、変更部15cは、図6に直線で示すようにトラフィック量の時間変動が平滑化するよう、図6に丸で囲んだトラフィック量の極値に寄与するデータの収容先を変更する。   Here, FIG. 6 is an explanatory diagram for explaining the processing of the changing unit 15c. FIG. 6 illustrates a time variation of the traffic amount to DB # 1 of the distributed DB system 1 illustrated in FIG. When the value indicating the variation of the time variation of the traffic amount to the DB is larger than a predetermined threshold, the changing unit 15c sets the circle in FIG. 6 to smooth the time variation of the traffic amount as shown by a straight line in FIG. Change the storage destination of data that contributes to the extreme value of the traffic volume enclosed by.

すなわち、変更部15cは、トラフィック量が極大となる時点において、このDBにデータが収容されているコミュニティのうちトラフィック量が最大のコミュニティのデータを収容先変更の対象として特定する。また、変更部15cは、トラフィック量が極小となる時点において、このDBにデータが収容されているコミュニティのうちトラフィック量が最小のコミュニティのデータを収容先変更の対象として特定する。   That is, the change unit 15c specifies the data of the community having the largest traffic amount among the communities whose data is accommodated in this DB as the accommodation destination change target at the time when the traffic amount becomes maximum. Further, at the time when the traffic volume becomes minimum, the change unit 15c specifies, as the target of the accommodation destination change, the data of the community having the smallest traffic volume among the communities whose data is stored in this DB.

また、変更部15cは、変更後の収容先のDBとして、例えば、変更前のDBへのトラフィック量が極大となる時点と同一の時点におけるトラフィック量が最小のDBを選定する。同様に、変更部15cは、変更前のDBへのトラフィック量が極小となる時点と同一の時点におけるトラフィック量が最大のDBを、変更後の収容先のDBとして選定する。なお、変更部15cは、トラフィック量の極大値に寄与するデータと、トラフィック量の極小値に寄与するデータとの双方の収容先を変更してもよいし、いずれか一方の収容先を変更してもよい。   Further, the change unit 15c selects, for example, a DB with the smallest traffic amount at the same time as the time when the traffic amount to the DB before the change becomes the maximum as the DB of the accommodation destination after the change. Similarly, the change unit 15c selects the DB having the largest traffic amount at the same time as the time when the traffic amount to the DB before the change is minimal as the accommodation destination DB after the change. Note that the change unit 15c may change both accommodation destinations of the data contributing to the local maximum value of the traffic amount and the data contributing to the local minimum value of the traffic amount, or may change one of the accommodation destinations. You may.

また、変更部15cは、一度の処理で複数の極値に寄与するデータの収容先を変更してもよい。その場合に、変更部15cは、各極値に対応して複数のコミュニティのデータの収容先を変更してもよい。あるいは、変更部15cは、例えば、各極値と同一の時点におけるトラフィック量の各極値への寄与率の平均値が最大であるコミュニティを特定し、このコミュニティのデータを収容先変更の対象としてもよい。   Further, the changing unit 15c may change the storage destination of data that contributes to a plurality of extreme values in one process. In this case, the changing unit 15c may change the storage destination of the data of a plurality of communities corresponding to each extreme value. Alternatively, the changing unit 15c specifies, for example, a community in which the average value of the contribution rate of each traffic value to each extreme value at the same time as each extreme value is the largest, and sets the data of this community as a target of accommodation change. Is also good.

集計部15bおよび変更部15cが、以上の処理を繰り返して実行することにより、分散DBシステム1の全てのDBについて、トラフィック量の時間変動の平滑化を行うことができる。   The totaling unit 15b and the changing unit 15c repeatedly perform the above-described processing, so that the time variation of the traffic amount can be smoothed for all the DBs in the distributed DB system 1.

なお、分散DBシステム1において、収容先が変更されたデータに対する変更後の初回のユーザからの要求は、リダイレクションによる方路変更で対応する。これにより、データの収容変更に伴ってDB間通信を増加させてDBの処理負荷が増大することを抑止できる。   In the distributed DB system 1, the first request from the user after the change to the data whose accommodation destination has been changed is responded by a route change by redirection. As a result, it is possible to suppress an increase in the processing load of the DB by increasing the inter-DB communication due to the change in the accommodation of the data.

[分散処理]
次に、図7を参照して、分散装置10の分散処理について説明する。図7のフローチャートは、例えば、分散処理の開始を指示する操作入力があったタイミングで開始される。
[Distributed processing]
Next, the distribution processing of the distribution apparatus 10 will be described with reference to FIG. The flowchart in FIG. 7 is started, for example, at a timing when an operation input for instructing the start of the distributed processing is received.

まず、算出部15aが、所定の複数の時点における各コミュニティの人口とユーザ当たりのトラフィック量の平均値とを用いて、各時点に各コミュニティから発信されるトラフィック量を算出する(ステップS1)。また、集計部15bが、DBごとに、各DBに収容されるデータに対応するコミュニティから各時点に発信されるトラフィック量を集計する(ステップS2)。   First, the calculation unit 15a calculates the traffic volume transmitted from each community at each time point using the population of each community at a plurality of predetermined time points and the average value of the traffic volume per user (step S1). Further, the tallying unit 15b counts, for each DB, the traffic amount transmitted at each time from the community corresponding to the data accommodated in each DB (Step S2).

次に、変更部15cが、集計されたDBごとに、各時点のトラフィック量のばらつきすなわち各DBへのトラフィック量の時間変動のばらつきを示す値を算出し、このばらつきを示す値が所定の閾値より大きいか否かを確認する(ステップS3)。   Next, the change unit 15c calculates, for each of the tabulated DBs, a value indicating the variation in the traffic volume at each point in time, that is, the value indicating the variation in the time variation of the traffic volume to each DB. It is determined whether or not the value is larger (step S3).

このばらつきを示す値が所定の閾値より大きい場合に(ステップS3,Yes)、変更部15cは、該DBのトラフィック量の時間変動の極値に寄与するデータの収容先を他のDBに変更する(ステップS4)。すなわち、変更部15cは、各DBにおいてトラフィック量が極大となる時点におけるトラフィック量が最大のコミュニティ、またはトラフィック量が極小となる時点におけるトラフィック量が最小のコミュニティの双方またはいずれか一方を特定し、特定した該コミュニティに属するユーザのデータの収容先を他のDBに変更する。その後、変更部15cは、ステップS2に処理を戻す。これにより、ステップS2〜S4の処理が繰り返される。   When the value indicating the variation is larger than the predetermined threshold (Step S3, Yes), the change unit 15c changes the storage destination of the data that contributes to the extreme value of the time variation of the traffic amount of the DB to another DB. (Step S4). In other words, the change unit 15c specifies, in each DB, a community where the traffic volume is maximum when the traffic volume is maximum, or both or one of the communities where the traffic volume is minimum when the traffic volume is minimum, The storage destination of the data of the user belonging to the specified community is changed to another DB. After that, the changing unit 15c returns the process to step S2. Thereby, the processing of steps S2 to S4 is repeated.

一方、ステップS3の処理において、いずれのDBについても、このばらつきを示す値が所定の閾値以下である場合には(ステップS3,No)、一連の分散処理を終了する。   On the other hand, in the process of step S3, if the value indicating the variation is equal to or smaller than the predetermined threshold value for any of the DBs (step S3, No), the series of distributed processing ends.

以上、説明したように、本実施形態の分散装置10では、算出部15aが、複数のユーザのデータを各ユーザが属するコミュニティを単位にして複数のDBに分散して収容する分散DBシステム1において、所定の複数の時点における各コミュニティの人口とユーザ当たりのトラフィック量の平均値とを用いて、各時点に各コミュニティから発信されるトラフィック量を算出する。また、集計部15bが、DBごとに、各DBに収容されるデータに対応するコミュニティから各時点に発信されるトラフィック量を集計する。また、変更部15cが、各DBにおいて、集計された各時点のトラフィック量のばらつきを示す値が所定の閾値より大きい場合に、各DBにおけるトラフィック量の時間変動の極値に寄与するデータの収容先を他のDBに変更する。   As described above, in the distributed apparatus 10 of the present embodiment, in the distributed DB system 1 in which the calculation unit 15a distributes and accommodates data of a plurality of users in a plurality of DBs in units of communities to which the users belong. The traffic amount transmitted from each community at each time point is calculated using the population of each community and the average value of the traffic amount per user at a plurality of predetermined time points. Further, the tallying unit 15b counts, for each DB, the traffic amount transmitted at each time from the community corresponding to the data stored in each DB. Further, the change unit 15c stores the data that contributes to the extreme value of the time variation of the traffic amount in each DB when the value indicating the aggregated traffic amount variation at each time point is larger than the predetermined threshold value in each DB. Change the destination to another DB.

これにより、本実施形態の分散装置10の分散処理によれば、加入者の属する地域のコミュニティの人口の時間変動に対応して各DBのトラフィック量の時間変動を平滑化する。したがって、各DBの負荷を平準化してリソースを有効に活用でき、分散DBシステム全体で処理可能なトラフィックを有効に処理できる。このように、ユーザが属するコミュニティの人口の時間変動に対応して高効率に処理可能に、分散DBシステムに加入者のデータを収容し、処理遅延や増設可能なDB数に対する制約を抑えることができる。   Thus, according to the distributed processing of the distributed apparatus 10 of the present embodiment, the temporal fluctuation of the traffic volume of each DB is smoothed in accordance with the temporal fluctuation of the population of the community in the area to which the subscriber belongs. Therefore, the load on each DB can be leveled, resources can be used effectively, and traffic that can be processed by the entire distributed DB system can be effectively processed. As described above, the distributed DB system accommodates the subscriber data so that processing can be performed with high efficiency in response to temporal fluctuations in the population of the community to which the user belongs, and processing delay and restrictions on the number of expandable DBs can be suppressed. it can.

[プログラム]
上記実施形態に係る分散装置10が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、分散装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の分散処理を実行する分散プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の分散プログラムを情報処理装置に実行させることにより、情報処理装置を分散装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)などの移動体通信端末、さらには、PDA(Personal Digital Assistants)などのスレート端末などがその範疇に含まれる。また、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の分散処理に関するサービスを提供するサーバ装置として実装することもできる。例えば、分散装置10は、所定の複数の時点の各コミュニティの人口とユーザ当たりのトラフィック量の平均値とを入力とし、データの収容先を変更するコミュニティと収容先DBと出力する分散処理サービスを提供するサーバ装置として実装される。この場合、分散装置10は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の分散処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。以下に、分散装置10と同様の機能を実現する分散プログラムを実行するコンピュータの一例を説明する。
[program]
It is also possible to create a program in which the processing executed by the distribution apparatus 10 according to the above embodiment is described in a language that can be executed by a computer. As one embodiment, the distribution apparatus 10 can be implemented by installing a distribution program that executes the above-described distribution processing on a desired computer as package software or online software. For example, by causing the information processing apparatus to execute the distribution program, the information processing apparatus can function as the distribution apparatus 10. The information processing device referred to here includes a desktop or notebook personal computer. In addition, the information processing apparatus includes a mobile communication terminal such as a smartphone, a mobile phone and a PHS (Personal Handyphone System), and a slate terminal such as a PDA (Personal Digital Assistants). Further, the terminal device used by the user may be a client, and may be implemented as a server device that provides the client with the services related to the above-described distributed processing. For example, the distributed apparatus 10 receives the population of each community at a plurality of predetermined times and the average value of the traffic volume per user as inputs, and executes a distributed processing service that outputs a community that changes the data storage destination and a storage destination DB. It is implemented as a server device to provide. In this case, the distribution apparatus 10 may be implemented as a Web server, or may be implemented as a cloud that provides services related to the above-described distributed processing by outsourcing. Hereinafter, an example of a computer that executes a distributed program that realizes the same function as the distributed device 10 will be described.

図8に示すように、分散プログラムを実行するコンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。   As shown in FIG. 8, the computer 1000 that executes the distributed program includes, for example, a memory 1010, a CPU 1020, a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, a network interface 1070. These components are connected by a bus 1080.

メモリ1010は、ROM(Read Only Memory)1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。ディスクドライブ1041には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1051およびキーボード1052が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1061が接続される。   The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012. The ROM 1011 stores, for example, a boot program such as a BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to the hard disk drive 1031. The disk drive interface 1040 is connected to the disk drive 1041. For example, a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1041. For example, a mouse 1051 and a keyboard 1052 are connected to the serial port interface 1050. The display 1061 is connected to the video adapter 1060, for example.

ここで、図8に示すように、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ1031やメモリ1010に記憶される。   Here, as shown in FIG. 8, the hard disk drive 1031 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. Each table described in the above embodiment is stored in, for example, the hard disk drive 1031 or the memory 1010.

また、分散プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュール1093として、ハードディスクドライブ1031に記憶される。具体的には、上記実施形態で説明した分散装置10が実行する各処理が記述されたプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。   The distributed program is stored in the hard disk drive 1031 as, for example, a program module 1093 in which an instruction to be executed by the computer 1000 is described. Specifically, a program module 1093 in which each processing executed by the distribution apparatus 10 described in the above embodiment is described is stored in the hard disk drive 1031.

また、分散プログラムによる情報処理に用いられるデータは、プログラムデータ1094として、例えば、ハードディスクドライブ1031に記憶される。そして、CPU1020が、ハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。   Further, data used for information processing by the distributed program is stored, for example, in the hard disk drive 1031 as program data 1094. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the hard disk drive 1031 into the RAM 1012 as necessary, and executes the above-described procedures.

なお、分散プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、分散プログラムに係るプログラムモジュール1093やプログラムデータ1094は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。   The program module 1093 and the program data 1094 relating to the distributed program are not limited to being stored in the hard disk drive 1031. For example, the program module 1093 and the program data 1094 are stored in a removable storage medium and read out by the CPU 1020 via the disk drive 1041 or the like. May be done. Alternatively, the program module 1093 and the program data 1094 related to the distributed program are stored in another computer connected via a network such as a LAN (Local Area Network) or a WAN (Wide Area Network), and are stored in a network interface 1070. It may be read by the CPU 1020.

以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。   As described above, the embodiment to which the invention made by the inventor is applied has been described. However, the present invention is not limited by the description and the drawings that constitute a part of the disclosure of the present invention according to the present embodiment. That is, other embodiments, examples, operation techniques, and the like performed by those skilled in the art based on this embodiment are all included in the scope of the present invention.

1 分散データベース(DB)システム
10 分散装置
11 入力部
12 出力部
13 通信制御部
14 記憶部
15 制御部
15a 算出部
15b 集計部
15c 変更部
DESCRIPTION OF SYMBOLS 1 Distributed database (DB) system 10 Distributed device 11 Input part 12 Output part 13 Communication control part 14 Storage part 15 Control part 15a Calculation part 15b Total part 15c Change part

Claims (3)

複数のユーザのデータを各ユーザが属するコミュニティを単位にして複数のデータベースに分散して収容するデータベースシステムにおいて、所定の複数の時点における各コミュニティの人口とユーザ当たりのトラフィック量の平均値とを用いて、各時点に各コミュニティから発信されるトラフィック量を算出する算出部と、
前記データベースごとに、各データベースに収容されるデータに対応するコミュニティから前記各時点に発信される前記トラフィック量を集計する集計部と、
前記各データベースにおいて、集計された前記各時点のトラフィック量のばらつきを示す値が所定の閾値より大きい場合に、各データベースにおけるトラフィック量の時間変動の極値に寄与するデータの収容先を他のデータベースに変更する変更部と、
を備えることを特徴とする分散装置。
In a database system in which data of a plurality of users is distributed and accommodated in a plurality of databases in units of a community to which each user belongs, a population of each community at a plurality of predetermined times and an average value of traffic volume per user are used. A calculating unit that calculates the amount of traffic transmitted from each community at each time;
A tally unit for tallying the traffic volume transmitted at each time from a community corresponding to data contained in each database,
In each of the databases, when a value indicating the aggregated traffic volume variation at each point in time is larger than a predetermined threshold value, the storage destination of data contributing to the extreme value of the time variation of the traffic volume in each database is changed to another database. A changing unit to change to
A dispersing device comprising:
前記変更部は、前記ばらつきを示す値が所定の閾値より大きい場合に、該データベースにおいてトラフィック量が極大となる時点におけるトラフィック量が最大のコミュニティ、またはトラフィック量が極小となる時点におけるトラフィック量が最小のコミュニティの双方またはいずれか一方を特定し、特定した該コミュニティに属するユーザのデータの収容先を他のデータベースに変更することを特徴とする請求項1に記載の分散装置。   The changing unit, when the value indicating the variation is larger than a predetermined threshold value, in the database, the community where the traffic volume is maximum when the traffic volume is maximum, or the traffic volume when the traffic volume is minimum in the database is the minimum. 2. The distributed apparatus according to claim 1, wherein both or any one of the communities is specified, and the accommodation destination of the data of the user belonging to the specified community is changed to another database. 分散装置で実行される分散方法であって、
複数のユーザのデータを各ユーザが属するコミュニティを単位にして複数のデータベースに分散して収容するデータベースシステムにおいて、所定の複数の時点の各コミュニティの人口とユーザ当たりのトラフィック量の平均値とを用いて、各時点に各コミュニティから発信されるトラフィック量を算出する算出工程と、
前記データベースごとに、各データベースに収容されるデータに対応するコミュニティから前記各時点に発信される前記トラフィック量を集計する集計工程と、
前記各データベースにおいて、集計された前記各時点のトラフィック量のばらつきを示す値が所定の閾値より大きい場合に、各データベースにおけるトラフィック量の時間変動の極値に寄与するデータの収容先を他のデータベースに変更する変更工程と、
を含んだことを特徴とする分散方法。
A distribution method performed by a distribution device,
In a database system in which data of a plurality of users is distributed and accommodated in a plurality of databases in units of a community to which each user belongs, a population of each community at a plurality of predetermined time points and an average value of traffic volume per user are used. Calculating the amount of traffic transmitted from each community at each point in time;
A tallying step of tallying the traffic volume transmitted at each time from a community corresponding to data accommodated in each database for each of the databases;
In each of the databases, when a value indicating the aggregated traffic volume variation at each point in time is larger than a predetermined threshold value, the storage destination of data contributing to the extreme value of the time variation of the traffic volume in each database is changed to another database. A change process to change to
A dispersing method comprising:
JP2017033503A 2017-02-24 2017-02-24 Dispersing apparatus and dispersing method Active JP6646340B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017033503A JP6646340B2 (en) 2017-02-24 2017-02-24 Dispersing apparatus and dispersing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017033503A JP6646340B2 (en) 2017-02-24 2017-02-24 Dispersing apparatus and dispersing method

Publications (2)

Publication Number Publication Date
JP2018139051A JP2018139051A (en) 2018-09-06
JP6646340B2 true JP6646340B2 (en) 2020-02-14

Family

ID=63451414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017033503A Active JP6646340B2 (en) 2017-02-24 2017-02-24 Dispersing apparatus and dispersing method

Country Status (1)

Country Link
JP (1) JP6646340B2 (en)

Also Published As

Publication number Publication date
JP2018139051A (en) 2018-09-06

Similar Documents

Publication Publication Date Title
US10972344B2 (en) Automated adjustment of subscriber policies
US10958568B2 (en) Topology aware load balancing engine
Daraghmi et al. A small world based overlay network for improving dynamic load-balancing
US10356004B2 (en) Software load balancer to maximize utilization
EP3210134B1 (en) Composite partition functions
CN109343942B (en) Task scheduling method based on edge computing network
US10356185B2 (en) Optimal dynamic cloud network control
CN111464323A (en) Node bandwidth scheduling method and scheduling device
US9207983B2 (en) Methods for adapting application services based on current server usage and devices thereof
CN111131486A (en) Load adjustment method and device of execution node, server and storage medium
CN109428926B (en) Method and device for scheduling task nodes
CN112600761A (en) Resource allocation method, device and storage medium
CN103825963B (en) Virtual Service moving method
CN113268329A (en) Request scheduling method, device and storage medium
CN113765969A (en) Flow control method and device
JP6646340B2 (en) Dispersing apparatus and dispersing method
EP2622499B1 (en) Techniques to support large numbers of subscribers to a real-time event
CN114006764B (en) Deployment method and device of safety network element based on super fusion system
US11257102B2 (en) Market segment analysis of product or service offerings
CN116955271A (en) Method and device for storing data copy, electronic equipment and storage medium
CN108520025B (en) Service node determination method, device, equipment and medium
JP6554062B2 (en) Flow control method and flow control device
JP6646338B2 (en) Dispersing apparatus and dispersing method
CN117573603B (en) Data processing method and computer equipment for remote direct memory access
JP7063285B2 (en) Communication control device and communication control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200109

R150 Certificate of patent or registration of utility model

Ref document number: 6646340

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150