JP2018036952A - Distribution device and distribution method - Google Patents

Distribution device and distribution method Download PDF

Info

Publication number
JP2018036952A
JP2018036952A JP2016170877A JP2016170877A JP2018036952A JP 2018036952 A JP2018036952 A JP 2018036952A JP 2016170877 A JP2016170877 A JP 2016170877A JP 2016170877 A JP2016170877 A JP 2016170877A JP 2018036952 A JP2018036952 A JP 2018036952A
Authority
JP
Japan
Prior art keywords
community
communities
communication
data
same
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.)
Granted
Application number
JP2016170877A
Other languages
Japanese (ja)
Other versions
JP6646338B2 (en
Inventor
山田 剛史
Takashi Yamada
剛史 山田
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 JP2016170877A priority Critical patent/JP6646338B2/en
Publication of JP2018036952A publication Critical patent/JP2018036952A/en
Application granted granted Critical
Publication of JP6646338B2 publication Critical patent/JP6646338B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Monitoring And Testing Of Exchanges (AREA)
  • Telephonic Communication Services (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a distribution DB system with high performance by reducing communication between DBs.SOLUTION: There is provided a distribution DB system in which an acquisition part 15a stores pieces of data belonging to a same community in a same DB, and distributes pieces of data belonging to different communities into plural DBs and stores the same and acquires a communication traffic volume following to request of data to the DB from each community, a determination part 15c determines a combination of communities stored in the same DB, in an order in which the communication traffic volume is large among communities. In addition, a creation part 15b creates a community sub group by combining the plural communities, reduces variation of the communication traffic volume from each community sub group in all community sub groups, and the determination part 15cc may determine a combination of the communities stored in the same DB in an order in which the communication traffic volume is large among the created community sub groups.SELECTED DRAWING: Figure 3

Description

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

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

分散DBシステムの中には、ユーザが処理を要求したサーバのDBに、要求の処理に必要なデータが収容されていない場合がある。その場合に、ユーザが要求したサーバと所望のデータが収容されているサーバとの間で連携してDB間通信を行って所望のデータを取得する必要がある。例えば、電話サービスにおいて、都道府県別に用意されたDBに加入者のデータが収容されている場合に、都道府県間通話の際にはDB間通信により宛先ユーザのデータが取得される。   In a distributed DB system, there is a case where data necessary for processing a request is not accommodated in a DB of a server from which a user has requested processing. In that case, it is necessary to acquire the desired data by performing inter-DB communication in cooperation between the server requested by the user and the server in which the desired data is accommodated. For example, in the telephone service, when subscriber data is accommodated in a DB prepared for each prefecture, the data of the destination user is acquired by inter-DB communication during a call between prefectures.

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

しかしながら、DB間の通信量が増加して輻輳すると、要求から処理結果の出力までの遅延すなわちTAT(Turn Around Time)遅延や処理失敗等が発生する恐れがあった。   However, when the amount of communication between DBs increases and congestion occurs, a delay from a request to the output of a processing result, that is, a TAT (Turn Around Time) delay or a processing failure may occur.

本発明は、上記に鑑みてなされたものであって、DB間通信を低減して高効率な分散DBシステムを提供することを目的とする。   The present invention has been made in view of the above, and an object of the present invention is to provide a highly efficient distributed DB system by reducing inter-DB communication.

上述した課題を解決し、目的を達成するために、本発明に係る分散装置は、同一のコミュニティに属するデータを同一のデータベースに収容するとともに、異なるコミュニティに属するデータを複数のデータベースに分散して収容するデータベースシステムにおいて、各コミュニティからデータベースに対するデータの要求に伴う通信量を取得する取得部と、取得された前記通信量のうち、前記コミュニティ間での通信量が多い順に、同一のデータベースに収容するコミュニティの組み合わせを決定する決定部と、を備えることを特徴とする。   In order to solve the above-described problems and achieve the object, the distribution device according to the present invention accommodates data belonging to the same community in the same database and distributes data belonging to different communities to a plurality of databases. In the database system to be accommodated, an acquisition unit that acquires a communication amount associated with a data request from each community to the database, and the acquired communication amount, the communication amount between the communities is stored in the same database in descending order. And a determining unit that determines a combination of communities to perform.

本発明によれば、DB間通信を低減して高効率な分散DBシステムを提供することが可能となる。   According to the present invention, it is possible to provide a highly efficient distributed DB system by reducing inter-DB communication.

図1は、本発明の一実施形態に係る分散装置の処理対象を説明するための説明図である。FIG. 1 is an explanatory diagram for explaining a processing target of a distribution apparatus according to an embodiment of the present invention. 図2は、本実施形態の分散装置の処理概要を説明するための説明図である。FIG. 2 is an explanatory diagram for explaining an outline of processing of the distribution apparatus according to the present embodiment. 図3は、本実施形態に係る分散装置の概略構成を示す模式図である。FIG. 3 is a schematic diagram illustrating a schematic configuration of the dispersion apparatus according to the present embodiment. 図4は、作成部の処理について説明するための説明図である。FIG. 4 is an explanatory diagram for explaining the processing of the creation unit. 図5は、作成部の処理について説明するための説明図である。FIG. 5 is an explanatory diagram for explaining processing of the creation unit. 図6は、決定部の処理について説明するための説明図である。FIG. 6 is an explanatory diagram for explaining the processing of the determination unit. 図7は、決定部の処理について説明するための説明図である。FIG. 7 is an explanatory diagram for explaining the processing of the determination unit. 図8は、分散処理の効果を説明するための説明図である。FIG. 8 is an explanatory diagram for explaining the effect of the distributed processing. 図9は、本実施形態の分散処理手順を示すフローチャートである。FIG. 9 is a flowchart showing the distributed processing procedure of this embodiment. 図10は、分散プログラムを実行するコンピュータを例示する図である。FIG. 10 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. In addition, this invention is not limited by this embodiment. Moreover, in description of drawing, the same code | symbol is attached | subjected and shown to the same part.

[分散装置の処理概要]
まず、図1を参照して、本実施形態に係る分散装置の処理対象について説明する。本実施形態において、分散装置は、例えば電話サービスの加入者のデータを、加入者の属する都道府県等のコミュニティ単位で複数のDBに分散して収容する分散DBシステムを処理対象とする。図1に例示する分散DBシステム1では、コミュニティA、コミュニティBおよびコミュニティCに属するデータがDB#1に収容され、コミュニティD、コミュニティEおよびコミュニティFに属するデータがDB#2に収容されている。
[Distributed device processing overview]
First, a processing target of the distribution apparatus according to this embodiment will be described with reference to FIG. In this embodiment, for example, the distributed device targets a distributed DB system that accommodates telephone service subscriber data distributed in a plurality of DBs in units of communities such as prefectures to which the subscriber belongs. In the distributed DB system 1 illustrated in FIG. 1, data belonging to community A, community B, and community C is accommodated in DB # 1, and data belonging to community D, community E, and community F is accommodated in DB # 2. .

ここで、コミュニティAに属する加入者がコミュニティBに属する加入者宛に発呼した場合に取得される宛先の加入者のデータは、コミュニティAに属するデータAと同一のDB#1に収容されている。このように、コミュニティAからコミュニティBに属するデータBが要求された場合、所望のデータBは、要求元のコミュニティAが要求するDB#1と同一のDBに収容されているため、図1に破線で示すようにDB#1内におけるDB内通信により取得される。   Here, when the subscriber belonging to the community A makes a call to the subscriber belonging to the community B, the data of the destination subscriber acquired is accommodated in the same DB # 1 as the data A belonging to the community A. Yes. Thus, when the data B belonging to the community B is requested from the community A, the desired data B is accommodated in the same DB as the DB # 1 requested by the requesting community A. As shown by the broken line, it is acquired by intra-DB communication in DB # 1.

一方、コミュニティCに属する加入者がコミュニティDに属する加入者を宛先にして発呼した場合等、コミュニティCからコミュニティDに属するデータが要求された場合、所望のデータDはコミュニティCが要求するDB#1とは異なるDB#2に収容されている。したがって、所望のデータDは、図1に一点鎖線で示すように、DB#1とDB#2との間で連携してDB間通信を行うことにより取得される。   On the other hand, when data belonging to the community D is requested from the community C, such as when a subscriber belonging to the community C makes a call with a subscriber belonging to the community D as a destination, the desired data D is the DB requested by the community C. It is stored in DB # 2, which is different from # 1. Therefore, the desired data D is acquired by performing inter-DB communication in cooperation between DB # 1 and DB # 2, as indicated by a one-dot chain line in FIG.

このようなDB間通信が行われている間には、要求元の処理が待たされる。また、DB間の通信量が増えて輻輳すると、TAT遅延が発生したり処理が失敗に終わったりする恐れが生じる。そこで、本実施形態の分散装置は、コミュニティ間での通信量が多いコミュニティ同士のデータを同一のDBに収容するように、同一のDBにデータを収容するコミュニティの組み合わせを決定することにより、DB間通信を低減する。なお、コミュニティには、都道府県の他、市、会社、または部門等が例示される。   While such inter-DB communication is performed, the request source process is awaited. Further, when the communication amount between DBs increases and congestion occurs, there is a possibility that a TAT delay occurs or the process ends in failure. Therefore, the distributed apparatus according to the present embodiment determines the combination of communities that store data in the same DB so that the data of communities having a large amount of communication between communities is stored in the same DB. Reduce intercommunication. The community is exemplified by a city, a company, a department, etc. in addition to a prefecture.

次に、図2を参照して、本実施形態に係る分散装置の処理概要について説明する。図2(a)は、各コミュニティのコミュニティ内でのデータの要求に伴う通信量およびコミュニティ間でのデータの要求に伴う通信量を示す。図2(a)において、要求元のコミュニティが列方向に示され、要求先のコミュニティが行方向に示されている。図2(a)には、例えば、コミュニティAのコミュニティ内通信量が1であり、コミュニティAからコミュニティCへのコミュニティ間通信量が8であることが例示されている。   Next, with reference to FIG. 2, an outline of processing of the distribution apparatus according to the present embodiment will be described. FIG. 2A shows the amount of communication associated with a request for data within the community of each community and the amount of communication associated with the request for data between communities. In FIG. 2A, the requesting communities are shown in the column direction, and the requesting communities are shown in the row direction. FIG. 2A illustrates, for example, that the intra-community traffic volume of the community A is 1 and the inter-community traffic volume from the community A to the community C is 8.

ここで、DB内通信には、コミュニティ内での通信と同一DBに収容されたコミュニティ間での通信とが含まれる。図2(b)は、図2(a)に例示された通信量のうち、各コミュニティのDB内通信になり得る通信量を例示している。例えば、コミュニティAについて、DB内通信になり得る通信量は、図2(a)の要求元がコミュニティAの行の通信量を合計し、1+1+8+7+7+2=26と集計される。   Here, intra-DB communication includes communication within a community and communication between communities accommodated in the same DB. FIG. 2B illustrates the amount of communication that can be the intra-DB communication of each community out of the amount of communication illustrated in FIG. For example, for the community A, the amount of communication that can be in-DB communication is totaled as 1 + 1 + 8 + 7 + 7 + 2 = 26, where the request source in FIG.

また、DB間通信には、異なるDBに収容されたコミュニティ間での通信が含まれる。図2(c)は、図2(a)に例示された通信量のうち、各コミュニティ間での通信量を例示している。すなわち、図2(c)は、DB間通信になり得る通信量を例示している。例えば、コミュニティAとコミュニティCとの交点におけるコミュニティ間通信量は、上述したように8である。   The inter-DB communication includes communication between communities housed in different DBs. FIG. 2C illustrates the amount of communication between the communities among the amount of communication illustrated in FIG. That is, FIG. 2C illustrates the amount of communication that can be communication between DBs. For example, the inter-community traffic at the intersection of the community A and the community C is 8 as described above.

なお、分散DBシステム1が稼働する以上、DB内通信を低減することはできない。ただし、DB内通信がいずれかのDBに偏って発生することにより、DB内通信の輻輳が発生する恐れがある。そこで、本実施形態の分散装置は、まず、図2(b)に例示したDB内通信になり得る通信量のばらつきを低減するように、コミュニティを組み合わせたコミュニティサブグループを作成する。   As long as the distributed DB system 1 operates, intra-DB communication cannot be reduced. However, if the intra-DB communication is biased to one of the DBs, there is a possibility that the intra-DB communication may be congested. Therefore, the distribution apparatus according to the present embodiment first creates community subgroups in which communities are combined so as to reduce the variation in the amount of communication that can be the intra-DB communication illustrated in FIG.

次に、分散装置は、各通信量が平準化されたコミュニティサブグループについて、図2(c)と同様に、DB間通信になり得るコミュニティサブグループ間通信量を集計し、コミュニティサブグループ間通信量が多い順にコミュニティサブグループを組み合わせる。これにより、コミュニティ間での通信量が多いコミュニティ同士のデータを同一のDBに収容して、DB間通信を低減する。   Next, for the community subgroups in which each traffic is leveled, the distributed device aggregates the traffic between the community subgroups that can be inter-DB communication as in FIG. Combine community subgroups in descending order. Thereby, the data of communities with much communication volume between communities are accommodated in the same DB, and communication between DB is reduced.

[分散装置の構成]
次に、図3を参照して、本実施形態に係る分散装置の概略構成を説明する。図3に示すように、本実施形態に係る分散装置10は、ワークステーションやパソコン等の汎用コンピュータで実現され、入力部11と出力部12と通信制御部13と、記憶部14と、制御部15とを備える。この分散装置10は、後述する分散処理を実行して、コミュニティ間の通信量が多いコミュニティ同士のデータを同一のDBに収容するように、同一のDBにデータを収容するコミュニティの組み合わせを決定する。
[Distributed device configuration]
Next, a schematic configuration of the dispersion apparatus according to the present embodiment will be described with reference to FIG. As illustrated in FIG. 3, the distributed 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, and a control unit. 15. The distribution apparatus 10 executes a distribution process described later, and determines a combination of communities that store data in the same DB so that data of communities having a large amount of communication between communities is stored in the same DB. .

入力部11は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部15に対して各種指示情報を入力する。出力部12は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置、情報通信装置等によって実現され、後述する分散処理の結果等を操作者に対して出力する。   The input unit 11 is realized using an input device such as a keyboard or a mouse, and inputs various instruction information to the control unit 15 in response to an input operation by the 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 distributed processing described later to the 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 an external device such as a management server and the control unit 15 via a telecommunication 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 RAM (Random Access Memory) or a flash memory, or a storage device such as a hard disk or an optical disk. The storage unit 14 stores in advance a processing program for operating the distribution apparatus 10, data used during the execution of the processing program, 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 performs an acquisition unit 15 a, a creation unit 15 b, and a determination unit 15 c by executing a processing program stored in a memory by an arithmetic processing unit such as a CPU (Central Processing Unit). Function.

取得部15aは、同一のコミュニティに属するデータを同一のDBに収容するとともに、異なるコミュニティに属するデータを複数のDBに分散して収容する分散DBシステム1において、各コミュニティからDBに対するデータの要求に伴う通信量を取得する。   In the distributed DB system 1 that stores data belonging to the same community in the same DB and distributes data belonging to different communities to a plurality of DBs, the acquisition unit 15a responds to a request for data from each community to the DB. Get the accompanying traffic.

具体的に、取得部15aは、例えば分散DBシステム1の管理サーバ等から入力部11または通信制御部13を介して、各コミュニティのコミュニティ内でのデータの要求に伴う通信量およびコミュニティ間でのデータの要求に伴う通信量(図2参照)を取得する。   Specifically, the acquisition unit 15a receives, for example, the amount of communication associated with a request for data within the community of each community from the management server of the distributed DB system 1 via the input unit 11 or the communication control unit 13 and between the communities. The amount of communication accompanying the data request (see FIG. 2) is acquired.

作成部15bは、複数のコミュニティを組み合わせてコミュニティサブグループを作成し、取得された通信量(図2参照)のうち、各コミュニティサブグルーブからの通信量の全コミュニティサブグループ内でのばらつきを低減させる。   The creation unit 15b creates a community subgroup by combining a plurality of communities, and reduces variation in the amount of traffic from each community subgroup among all the community subgroups among the obtained traffic (see FIG. 2). Let

具体的に、図4および図5を参照して、作成部15bの処理について説明する。作成部15bは、図4に例示するように、以下に説明するグルーピング法を適用して、各コミュニティサブグループの通信量のばらつきが低減するように、複数のコミュニティを組み合わせてコミュニティサブグループを作成する。   Specifically, the processing of the creation unit 15b will be described with reference to FIGS. As illustrated in FIG. 4, the creation unit 15b applies a grouping method described below to create a community subgroup by combining a plurality of communities so as to reduce variation in the traffic of each community subgroup. To do.

図5は、グルーピング法を説明するための説明図である。ここでは、図5(a)に例示するように、昇順にソートしたグルーピング法の対象データのデータサイズが、y=f(x)で表され、標準偏差が0.88である場合について説明する。グルーピング法では、図5(b)に例示するように、データサイズの差分値の重心を求め、データサイズの差分値が重心より小さいデータのデータ数と重心より大きいデータとのデータ数との比率を算出する。図5(b)に示す例では、重心より小さいデータのデータ数と重心より大きいデータのデータ数との比が26.4対13.6、すなわち2対1であった。   FIG. 5 is an explanatory diagram for explaining the grouping method. Here, as illustrated in FIG. 5A, a case where the data size of the target data of the grouping method sorted in ascending order is represented by y = f (x) and the standard deviation is 0.88 will be described. . In the grouping method, as illustrated in FIG. 5B, the centroid of the difference value of the data size is obtained, and the ratio between the number of data of the data whose difference value of the data size is smaller than the centroid and the number of data of the data larger than the centroid. Is calculated. In the example shown in FIG. 5B, the ratio of the number of data pieces of data smaller than the centroid and the number of data pieces of data larger than the centroid is 26.4 to 13.6, that is, 2 to 1.

その場合に、グルーピング法では、図5(c)に例示するように、重心より小さいデータのうちの2つと重心より大きいデータのうちの1つとの3つのデータを組み合わせたサブグループを作成する。これにより、各サブグループのデータサイズを平準化することができる。図5(c)に示す例では、各サブグループのデータサイズyが大凡aと定数になり、標準偏差が0.12になった。このように、グルーピング法によれば、データサイズのばらつきを低減するように、サブグループを作成することができる。   In that case, in the grouping method, as illustrated in FIG. 5C, a subgroup is created by combining three data of two pieces of data smaller than the centroid and one piece of data larger than the centroid. Thereby, the data size of each subgroup can be equalized. In the example shown in FIG. 5C, the data size y of each subgroup is approximately a constant with a, and the standard deviation is 0.12. Thus, according to the grouping method, subgroups can be created so as to reduce variation in data size.

決定部15cは、取得された通信量(図2参照)のうち、作成されたコミュニティサブグループ間での通信量が多い順に、同一のDBに収容するコミュニティの組み合わせを決定する。   The determining unit 15c determines the combination of communities accommodated in the same DB in the descending order of the traffic volume between the created community subgroups among the acquired traffic volume (see FIG. 2).

具体的に、図6および図7を参照して、決定部15cの処理について説明する。決定部15cは、図6に例示するように、作成部15bが作成したコミュニティサブグループを対象に、コミュニティサブグループ間通信量を集計する。また、決定部15cは、コミュニティサブグループ間通信量が多い順に、要求元および要求先の2つのコミュニティサブグループの組み合わせを同一のDBに収容するコミュニティグループとして決定する。   Specifically, the processing of the determination unit 15c will be described with reference to FIGS. As illustrated in FIG. 6, the determination unit 15 c totals the communication amount between community subgroups for the community subgroup created by the creation unit 15 b. In addition, the determination unit 15c determines a combination of two community subgroups of the request source and the request destination as community groups accommodated in the same DB in descending order of the traffic volume between the community subgroups.

図6に示す例では、コミュニティサブグループ1からコミュニティサブグループ2への通信量が最多であることから、コミュニティサブグループ1とコミュニティサブグループ2とは同一のDBに収容されることが決定する。決定されたこのコミュニティサブグループ1とコミュニティサブグループ2とを組み合わせたコミュニティグループをコミュニティグループAとする。   In the example illustrated in FIG. 6, since the communication amount from the community subgroup 1 to the community subgroup 2 is the largest, it is determined that the community subgroup 1 and the community subgroup 2 are accommodated in the same DB. A community group obtained by combining the determined community subgroup 1 and community subgroup 2 is referred to as a community group A.

また、組み合わせが決定したコミュニティサブグループ1およびコミュニティサブグループ2を除いて、次に通信量が多いのは、コミュニティサブグループ4からコミュニティグループ3への通信量であることが例示されている。したがって、コミュニティサブグループ3とコミュニティサブグループ4とを同一のDBに収容することが決定する。決定されたコミュニティサブグループ3とコミュニティサブグループ4とを組み合わせたコミュニティグループをコミュニティグループBとする。   In addition, except for community subgroup 1 and community subgroup 2 that have been determined to be combined, the next largest amount of communication is exemplified by the amount of communication from community subgroup 4 to community group 3. Therefore, it is determined that the community subgroup 3 and the community subgroup 4 are accommodated in the same DB. A community group in which the determined community subgroup 3 and community subgroup 4 are combined is referred to as a community group B.

決定部15cは、図7に例示するように、決定したコミュニティグループを対象に、図6に示した例と同様に、コミュニティグループ間での通信量が多い順に、2つのコミュニティグループの組み合わせを同一のDBに収容するコミュニティグループとして決定する。決定部15cは、この処理を繰り返し、分散させるDBの数のコミュニティグループを作成する。   As illustrated in FIG. 7, the determination unit 15 c targets the determined community group, and in the same manner as in the example illustrated in FIG. 6, the combination of the two community groups is the same in descending order of the amount of communication between the community groups. It is determined as a community group accommodated in the DB. The determination unit 15c repeats this process to create community groups for the number of DBs to be distributed.

図7に示す例では、コミュニティサブグループ1とコミュニティサブグループ2とを組み合わせてコミュニティグループAとする。また、コミュニティサブグループ3とコミュニティサブグループ4とを組み合わせてコミュニティグループBとする。そして、一次組として決定したコミュニティグループAとコミュニティグループBとの間の通信量が最多であることから、コミュニティグループAとコミュニティグループBとを同一のDBに収容するものと決定する。同様に、コミュニティグループDとコミュニティグループEとを同一のDBに収容するものと決定する。   In the example illustrated in FIG. 7, community subgroup 1 and community subgroup 2 are combined to form community group A. Also, community subgroup 3 and community subgroup 4 are combined to form community group B. Then, since the communication amount between the community group A and the community group B determined as the primary group is the largest, it is determined that the community group A and the community group B are accommodated in the same DB. Similarly, it is determined that the community group D and the community group E are accommodated in the same DB.

また、決定部15cは、決定結果を適当な形式で出力部12に出力する。例えば、各DBに収容されるコミュニティを一覧可能に表示する。あわせて、各DBのDB間通信量を表示してもよい。   Further, the determination unit 15c outputs the determination result to the output unit 12 in an appropriate format. For example, the communities accommodated in each DB are displayed in a listable manner. In addition, the communication volume between DBs of each DB may be displayed.

なお、作成部15bの処理は必ずしも実施されなくてもよい。その場合、決定部15cは、コミュニティサブグループ間に代えて、コミュニティ間での通信量(図2(c)参照)が多い順に、同一のDBに収容するコミュニティの組み合わせを決定する。   Note that the processing of the creation unit 15b is not necessarily performed. In that case, instead of the community subgroups, the determination unit 15c determines the combination of communities accommodated in the same DB in the descending order of the amount of communication between the communities (see FIG. 2C).

すなわち、決定部15は、コミュニティ間での通信量が多い順に、2つのコミュニティの組み合わせを同一のDBに収容するコミュニティグループとして決定する。そして、上記と同様に、決定したコミュニティグループを対象に、コミュニティグループ間での通信量が多い順に、2つのコミュニティグループの組み合わせを同一のDBに収容するコミュニティグループとして決定する。作成部15bは、この処理を繰り返し(図7参照)、分散させるDBの数のコミュニティグループを作成する。その場合にも、図8(a)に例示するように、従来と比較してDB#1からDB#2へのDB間通信量およびDB#2からDB#1へのDB間通信量が低減される。   That is, the determination unit 15 determines a combination of two communities as a community group accommodated in the same DB in descending order of communication amount between the communities. Similarly to the above, for the determined community group, the combination of the two community groups is determined as a community group accommodated in the same DB in the descending order of the communication amount between the community groups. The creation unit 15b repeats this process (see FIG. 7), and creates community groups as many as the number of DBs to be distributed. Even in this case, as illustrated in FIG. 8A, the inter-DB communication amount from DB # 1 to DB # 2 and the inter-DB communication amount from DB # 2 to DB # 1 are reduced as compared to the conventional case. Is done.

本実施形態では、作成部15bの処理によりDB内通信になりうる通信量のばらつきを低減した上で、決定部15cの処理が実施されるので、図8(b)に例示するように、DB間通信量のばらつきがさらに低減される。   In the present embodiment, the processing of the determination unit 15c is performed after reducing the variation in the amount of communication that can be in-DB communication by the processing of the creation unit 15b. Therefore, as illustrated in FIG. The variation in inter-communication traffic is further reduced.

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

まず、取得部15aが、分散DBシステム1の管理サーバ等から、各コミュニティのコミュニティ内でのデータの要求に伴う通信量およびコミュニティ間でのデータの要求に伴う通信量を取得する(ステップS1)。   First, the acquisition unit 15a acquires the communication amount associated with the data request within the community of each community and the communication amount associated with the data request between the communities from the management server of the distributed DB system 1 (step S1). .

次に、作成部15bが、各コミュニティサブグループでの通信量のばらつきが低減するように、複数のコミュニティを組み合わせてコミュニティサブグループを作成する(ステップS2)。   Next, the creating unit 15b creates a community subgroup by combining a plurality of communities so as to reduce the variation in the amount of communication in each community subgroup (step S2).

次に、決定部15cが、作成されたコミュニティサブグループ間での通信量が多い順に、同一のDBに収容するコミュニティの組み合わせを決定する(ステップS3)。また、決定部15cが適当な形式で結果を出力する(ステップS4)。これにより、一連の分散処理が終了する。   Next, the determination part 15c determines the combination of the community accommodated in the same DB in order with much communication volume between the created community subgroups (step S3). Further, the determination unit 15c outputs the result in an appropriate format (step S4). Thereby, a series of distributed processing ends.

以上、説明したように、本実施形態の分散装置10では、取得部15aが、同一のコミュニティに属するデータを同一のDBに収容するとともに、異なるコミュニティに属するデータを複数のDBに分散して収容する分散DBシステム1において、各コミュニティからDBに対するデータの要求に伴う通信量を取得する。また、決定部15cが、取得された通信量のうち、コミュニティ間での通信量が多い順に、同一のDBに収容するコミュニティの組み合わせを決定する。   As described above, in the distribution apparatus 10 of the present embodiment, the acquisition unit 15a stores data belonging to the same community in the same DB, and distributes data belonging to different communities to a plurality of DBs. In the distributed DB system 1, the amount of communication associated with the data request for the DB from each community is acquired. Moreover, the determination part 15c determines the combination of the community accommodated in the same DB in order with the largest communication volume between communities among the acquired communication volumes.

これにより、本実施形態の分散装置10の分散処理によれば、DB間通信が低減されるので、TAT遅延や処理失敗等の発生が抑制される。このように、高効率な分散DBシステムを提供することができ、増設可能なDB数に対する制約を抑えることができる。   Thereby, according to the distributed process of the distributed apparatus 10 of this embodiment, since communication between DB is reduced, generation | occurrence | production of a TAT delay, a process failure, etc. is suppressed. In this way, a highly efficient distributed DB system can be provided, and restrictions on the number of DBs that can be added can be suppressed.

また、作成部15bが、複数のコミュニティを組み合わせてコミュニティサブグループを作成し、各コミュニティサブグルーブからの通信量の全コミュニティサブグループ内でのばらつきを低減させる。その場合、決定部15cが、作成されたコミュニティサブグループ間での通信量が多い順に、同一のDBに収容するコミュニティの組み合わせを決定する。これにより、DB内通信になり得る通信量のばらつきが低減されるので、さらにDB間通信量のばらつきが低減される。   In addition, the creation unit 15b creates a community subgroup by combining a plurality of communities, and reduces the variation of the traffic from each community subgroup within all the community subgroups. In that case, the determination unit 15c determines a combination of communities accommodated in the same DB in descending order of communication volume between the created community subgroups. As a result, the variation in the communication amount that can be the intra-DB communication is reduced, so that the variation in the inter-DB communication amount is further reduced.

[プログラム]
上記実施形態に係る分散装置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 processing executed by the distributed apparatus 10 according to the above embodiment is described in a language that can be executed by a computer. As an embodiment, the distribution apparatus 10 can be implemented by installing a distributed program that executes the above distributed processing as package software or online software on a desired computer. For example, the information processing apparatus can function as the distribution apparatus 10 by causing the information processing apparatus to execute the above distributed program. The information processing apparatus referred to here includes a desktop or notebook personal computer. In addition, the information processing apparatus includes mobile communication terminals such as smartphones, mobile phones and PHS (Personal Handyphone System), and slate terminals such as PDA (Personal Digital Assistants). In addition, a terminal device used by a user can be a client, and the client can be implemented as a server device that provides the client with services related to the distributed processing. For example, the distributed device 10 is implemented as a server device that provides a distributed processing service that receives a communication amount requesting data from each community and outputs a combination of communities accommodated in the same DB. In this case, the distributed apparatus 10 may be implemented as a Web server, or may be implemented as a cloud that provides services related to the above distributed processing by outsourcing. Hereinafter, an example of a computer that executes a distributed program that realizes the same function as the distributed apparatus 10 will be described.

図10に示すように、分散プログラムを実行するコンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。   As shown in FIG. 10, a computer 1000 that executes a 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, and a network interface. 1070. These units 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 a boot program such as 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. For example, a display 1061 is connected to the video adapter 1060.

ここで、図10に示すように、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ1031やメモリ1010に記憶される。   Here, as shown in FIG. 10, 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 the hard disk drive 1031 or the memory 1010, for example.

また、分散プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュール1093として、ハードディスクドライブ1031に記憶される。具体的には、上記実施形態で説明した分散装置10が実行する各処理が記述されたプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。   Further, the distributed program is stored in the hard disk drive 1031 as a program module 1093 in which a command executed by the computer 1000 is described, for example. Specifically, a program module 1093 describing each process executed by the distribution apparatus 10 described in the above embodiment 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 in the hard disk drive 1031 as the program data 1094, for example. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the hard disk drive 1031 to 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によって読み出されてもよい。   Note that the program module 1093 and the program data 1094 related to the distributed program are not limited to being stored in the hard disk drive 1031, but are stored in, for example, a removable storage medium and read by the CPU 1020 via the disk drive 1041 or the like. May be. 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 the network interface 1070 is used. It may be read by the CPU 1020.

以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。   As mentioned above, although embodiment which applied the invention made | formed by this inventor was described, this invention is not limited with the description and drawing which make a part of indication of this invention by this embodiment. That is, other embodiments, examples, operational techniques, and the like made 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 Distribution apparatus 11 Input part 12 Output part 13 Communication control part 14 Storage part 15 Control part 15a Acquisition part 15b Creation part 15c Determination part

Claims (4)

同一のコミュニティに属するデータを同一のデータベースに収容するとともに、異なるコミュニティに属するデータを複数のデータベースに分散して収容するデータベースシステムにおいて、各コミュニティからデータベースに対するデータの要求に伴う通信量を取得する取得部と、
取得された前記通信量のうち、前記コミュニティ間での通信量が多い順に、同一のデータベースに収容するコミュニティの組み合わせを決定する決定部と、
を備えることを特徴とする分散装置。
Acquire data that accompanies requests for data from each community in a database system that accommodates data belonging to the same community in the same database and distributes data belonging to different communities to multiple databases. And
A determining unit that determines a combination of communities accommodated in the same database in order of increasing communication volume between the communities among the acquired communication volumes;
A dispersion apparatus comprising:
前記決定部は、前記コミュニティ間での通信量が多い順に、2つの該コミュニティの組み合わせを同一のデータベースに収容するコミュニティグループとして決定し、決定された該コミュニティグループ間での通信量が多い順に、2つの該コミュニティグループの組み合わせを同一のデータベースに収容するコミュニティグループとして決定する処理を繰り返し、分散させる前記データベースの数のコミュニティグループを決定することを特徴とする請求項1に記載の分散装置。   The determining unit determines a combination of two communities as a community group in the same database in descending order of the amount of communication between the communities, and in order of increasing communication amount between the determined community groups, The distribution apparatus according to claim 1, wherein a process of determining a combination of two community groups as a community group accommodated in the same database is repeated to determine the number of community groups of the databases to be distributed. さらに、複数のコミュニティを組み合わせてコミュニティサブグループを作成し、取得された前記通信量のうち、各コミュニティサブグルーブからの通信量の全コミュニティサブグループ内でのばらつきを低減させる作成部を備え、
前記決定部は、取得された前記通信量のうち、作成された前記コミュニティサブグループ間での通信量が多い順に、同一のデータベースに収容するコミュニティの組み合わせを決定することを特徴とする請求項1または2に記載の分散装置。
In addition, a community subgroup is created by combining a plurality of communities, and among the acquired communication amount, a creation unit that reduces variation in the entire community subgroup of the communication amount from each community subgroup,
The said determination part determines the combination of the community accommodated in the same database in order with a large communication amount between the created said community subgroups among the acquired said communication amount. Or the dispersion apparatus of 2.
分散装置で実行される分散方法であって、
同一のコミュニティに属するデータを同一のデータベースに収容するとともに、異なるコミュニティに属するデータを複数のデータベースに分散して収容するデータベースシステムにおいて、各コミュニティからデータベースに対するデータの要求に伴う通信量を取得する取得工程と、
取得された前記通信量のうち、前記コミュニティ間での通信量が多い順に、同一のデータベースに収容するコミュニティの組み合わせを決定する決定工程と、
を含んだことを特徴とする分散方法。
A distributed method executed by a distributed device,
Acquire data that accompanies requests for data from each community in a database system that accommodates data belonging to the same community in the same database and distributes data belonging to different communities to multiple databases. Process,
A determination step of determining a combination of communities accommodated in the same database in order of increasing communication volume between the communities among the acquired communication volumes;
A dispersion method characterized by comprising:
JP2016170877A 2016-09-01 2016-09-01 Dispersing apparatus and dispersing method Active JP6646338B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016170877A JP6646338B2 (en) 2016-09-01 2016-09-01 Dispersing apparatus and dispersing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016170877A JP6646338B2 (en) 2016-09-01 2016-09-01 Dispersing apparatus and dispersing method

Publications (2)

Publication Number Publication Date
JP2018036952A true JP2018036952A (en) 2018-03-08
JP6646338B2 JP6646338B2 (en) 2020-02-14

Family

ID=61565858

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016170877A Active JP6646338B2 (en) 2016-09-01 2016-09-01 Dispersing apparatus and dispersing method

Country Status (1)

Country Link
JP (1) JP6646338B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009277147A (en) * 2008-05-16 2009-11-26 Internatl Business Mach Corp <Ibm> File relocation device, relocation method, and relocation program
US20110106789A1 (en) * 2009-10-30 2011-05-05 International Business Machines Corporation Database system and method of optimizing cross database query
JP2015121924A (en) * 2013-12-24 2015-07-02 キヤノン株式会社 Data management system, server device, control method of server device, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009277147A (en) * 2008-05-16 2009-11-26 Internatl Business Mach Corp <Ibm> File relocation device, relocation method, and relocation program
US20110106789A1 (en) * 2009-10-30 2011-05-05 International Business Machines Corporation Database system and method of optimizing cross database query
JP2015121924A (en) * 2013-12-24 2015-07-02 キヤノン株式会社 Data management system, server device, control method of server device, and program

Also Published As

Publication number Publication date
JP6646338B2 (en) 2020-02-14

Similar Documents

Publication Publication Date Title
EP3210134B1 (en) Composite partition functions
US20190324809A1 (en) Method, apparatus, and computer program product for processing computing task
US9396163B2 (en) Mixing optimal solutions
US10541858B2 (en) Thin client system, management server, workplace environment setting method and workplace environment setting program
US20190324816A1 (en) Method, apparatus, and computer program product for processing computing task
US20200319922A1 (en) Method, electronic device and computer program product for processing task
EP2980701B1 (en) Stream processing with context data affinity
Li et al. Wide-area spark streaming: Automated routing and batch sizing
JP2006236123A (en) Job distribution program, job distribution method and job distribution device
KR20210040322A (en) Scheduling method and apparatus, device and storage medium
CN114817845B (en) Data processing method, device, electronic equipment and storage medium
JP6646338B2 (en) Dispersing apparatus and dispersing method
CN116089367A (en) Dynamic barrel dividing method, device, electronic equipment and medium
CN113505131A (en) Method and device for adjusting data sorting
CN114020469A (en) Edge node-based multi-task learning method, device, medium and equipment
CN112711588A (en) Multi-table connection method and device
JP6646340B2 (en) Dispersing apparatus and dispersing method
WO2020153154A1 (en) Retrieval device and hash table creation method
CN113111119B (en) Method and device for operating data
CN115659443B (en) Geometry stream data processing method and device, computing device and storage medium
CN114328558B (en) List updating method, apparatus, device and storage medium
US11379728B2 (en) Modified genetic recombination operator for cloud optimization
CN114398316A (en) File information processing method and system based on multiple eigenvalues
CN114090524A (en) Excel file distributed exporting method and device
CN113946702A (en) Image feature storage method and device, storage medium and electronic equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190805

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

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150