WO2013153620A1 - Data processing system and data processing method - Google Patents

Data processing system and data processing method Download PDF

Info

Publication number
WO2013153620A1
WO2013153620A1 PCT/JP2012/059789 JP2012059789W WO2013153620A1 WO 2013153620 A1 WO2013153620 A1 WO 2013153620A1 JP 2012059789 W JP2012059789 W JP 2012059789W WO 2013153620 A1 WO2013153620 A1 WO 2013153620A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
column
processing
data
server device
Prior art date
Application number
PCT/JP2012/059789
Other languages
French (fr)
Japanese (ja)
Inventor
雅輝 四ツ谷
康郎 國信
敬行 河野
吉田 順
Original Assignee
株式会社日立製作所
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 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2012/059789 priority Critical patent/WO2013153620A1/en
Publication of WO2013153620A1 publication Critical patent/WO2013153620A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

[Problem] To provide a data processing system that can execute a parallel distributed process at a high speed. [Solution] The present invention configures a data processing system (100) provided with: a plurality of first server devices (130) that, in parallel, perform an analysis process comprising an extraction process for extracting columns and column values from data to be analyzed and an aggregation process for aggregating, with a key column as a key, data to be aggregated; and a second server device (140) for performing a process for determining the key column on the basis of the process results of a past analysis process, a process for producing key distribution information indicating the percentage of appearance of each column value in the key column, and a process for determining the plurality of first servers (130) to perform the aggregation process on the basis of the key distribution information. Also, the second server device (140) determines the plurality of first server devices (130) to perform the aggregation process by means of allocating data to be aggregated, which results from dividing the data to be analyzed into each column value of the key column, to the plurality of first server devices (130) in accordance with the percentage of appearance of the column values.

Description

データ処理システム及びデータ処理方法Data processing system and data processing method
 本発明は、データ処理システム及びデータ処理方法に関し、大規模データを並列分散処理するデータ処理システム及びデータ処理方法に適用して好適なものである。 The present invention relates to a data processing system and a data processing method, and is suitable for application to a data processing system and a data processing method for parallel and distributed processing of large-scale data.
 近年、企業や個人が大量のデータを保有する機会が増加し、また、大量のデータを解析することによりデータの価値を高める取組みも広まりつつあるので、大量のデータを扱う技術の需要が高まっている。大量のデータを扱う方法には、演算処理装置の処理性能を高める方法と、演算処理装置の数を増やす方法(並列分散処理)とがある。 In recent years, opportunities for companies and individuals to hold large amounts of data have increased, and efforts to increase the value of data by analyzing large amounts of data are becoming widespread, increasing the demand for technology that handles large amounts of data. Yes. As a method for handling a large amount of data, there are a method for improving the processing performance of an arithmetic processing device and a method for increasing the number of arithmetic processing devices (parallel distributed processing).
 演算処理装置の処理性能を高める簡単な方法は、演算速度及び処理速度の速い部品を備えた高性能な演算処理装置を用いることであるが、高性能な演算処理装置には、汎用の演算処理装置に比べて費用が嵩むという問題がある。 A simple method for improving the processing performance of the arithmetic processing device is to use a high-performance arithmetic processing device equipped with a computing speed and a component with a high processing speed. There is a problem that the cost is higher than that of the apparatus.
 一方、並列分散処理は、複数の演算処理装置が協調して同時並行的に処理を実行することにより、処理の高速化を図る方法である。比較的安価な汎用の演算処理装置を複数用いて並列分散処理を行うことにより、低コストで大量のデータを高速に処理することが可能になるので、並列分散処理に関する技術の発展が注目されている。 On the other hand, parallel distributed processing is a method of speeding up processing by a plurality of arithmetic processing devices executing processes in parallel and in parallel. By performing parallel and distributed processing using a plurality of relatively inexpensive general-purpose arithmetic processing units, it becomes possible to process a large amount of data at high speed at low cost. Yes.
 特許文献1には、並列分散処理を実現する方法の1つとして、MapReduceと呼ばれる分散処理フレームワークが開示されている。MapReduceとは、データの分析処理を、入力データから並列分散処理対象となるデータを抽出してKeyとValueとの組みからなるデータを生成するMap処理と、Map処理で抽出したデータを集約するReduce処理とに単純化したプログラミングモデルである。Map処理では、入力データからkey(キー)とvalueとの組からなる分割データを抽出した後、分割データをキー単位で束ねた中間データが生成される。また、Reduce処理では、同じキーを持つ中間データのvalueを結合することにより中間データが集約される。MapReduceの実行エンジンは、複数の計算機上でMap処理を並列実行し、生成した中間データについて、キーに従って各計算機に対して中間データを割当て、Reduce処理を実行するよう制御する。 Patent Document 1 discloses a distributed processing framework called MapReduce as one of methods for realizing parallel distributed processing. MapReduce is a data analysis process that extracts data that is subject to parallel distributed processing from input data and generates data consisting of a combination of Key and Value, and Reduce that aggregates the data extracted by Map processing This is a simplified programming model for processing. In the map processing, after dividing data consisting of a set of key (key) and value is extracted from input data, intermediate data in which the divided data is bundled in units of keys is generated. In the Reduce process, intermediate data is aggregated by combining values of intermediate data having the same key. The execution engine of MapReduce executes Map processing on a plurality of computers in parallel, and controls the generated intermediate data to allocate the intermediate data to each computer according to the key and execute the Reduce processing.
 このように、MapReduceでは、複数の計算機に処理を動的に割当てて処理を実行させることが可能なため、大規模な並列構成による分散処理に適している。また、MapReduceには、開発者がMap処理におけるグループ抽出の方法とReduce処理におけるデータ集約の方法を定義するだけでよいというメリットもある。 In this way, MapReduce is suitable for distributed processing with a large-scale parallel configuration because processing can be executed by dynamically allocating processing to a plurality of computers. MapReduce also has the advantage that the developer only needs to define the group extraction method in Map processing and the data aggregation method in Reduce processing.
 特許文献2には、問合わせ処理を高速化する問合わせ処理方法が開示されている。特許文献2に開示された問合わせ処理方法では、処理対象データの全ての項目(カラム)に対してキーの出現頻度を調べて統計情報を算出し、算出した統計情報に従って、割当てられるデータの差が小さくなるように複数のノードにデータ処理を割当てる。 Patent Document 2 discloses an inquiry processing method for speeding up the inquiry processing. In the query processing method disclosed in Patent Document 2, statistical information is calculated by examining the frequency of appearance of keys for all items (columns) of data to be processed, and the difference in data allocated according to the calculated statistical information. Data processing is assigned to a plurality of nodes so as to be small.
米国特許第7650331号明細書US Pat. No. 7,650,331 特開2004-213680号公報JP 2004-213680 A
 しかし、特許文献1に開示されているMapReduceでは、Map処理によって抽出されたデータを、キー値に従って集約処理を実行する各ノードに割当てるが、キー分布に偏りがある場合に、偏りのあるキー値に対応してデータが割当てられたノードでは集約処理が滞留してボトルネックになってしまうという問題があった。 However, in MapReduce disclosed in Patent Document 1, the data extracted by Map processing is assigned to each node that executes aggregation processing according to the key value. If the key distribution is biased, the biased key value There is a problem that the aggregation process stays in a node to which data is allocated corresponding to the above, and becomes a bottleneck.
 また、特許文献2に開示された問合わせ処理方法は、MapReduceに適用した場合に、割当てられるデータの差が小さくなるように複数のノードにデータ処理を割当てることが期待されるが、割当の基準となるカラムを事前に定義することが困難なので、分析処理対象データの全てのカラムについて統計情報を算出することになり、大量の計算処理によって処理負荷が高くなるという問題がある。 In addition, the query processing method disclosed in Patent Document 2 is expected to allocate data processing to a plurality of nodes so that the difference in allocated data becomes small when applied to MapReduce. Since it is difficult to pre-define the columns to be used, statistical information is calculated for all the columns of the analysis target data, and there is a problem that the processing load increases due to a large amount of calculation processing.
 また、特許文献2に開示された問合せ処理方法では、これまで未使用のカラムをキーとするような分析観点の変更が行われた場合に、当該カラムの統計情報を保持していなために、データの分配先を決定することができず、オーバヘッドが発生する可能性がある。 In addition, in the query processing method disclosed in Patent Document 2, when a change in analysis viewpoint is performed using an unused column as a key so far, the statistical information of the column is not retained. The data distribution destination cannot be determined, and overhead may occur.
 本発明は以上の点を考慮してなされたもので、並列分散処理を高速に実行し得るデータ処理システム及びデータ処理方法を提案しようとするものである。 The present invention has been made in consideration of the above points, and intends to propose a data processing system and a data processing method capable of executing parallel distributed processing at high speed.
 かかる課題を解決するために本発明においては、分析対象のデータからブロック単位でレコードごとのカラム及びカラム値を抽出する抽出処理と、前記キーカラムをキーとして集約対象のデータを集約する集約処理とからなる分析処理をそれぞれのサーバ装置で並列的に行う複数の第1のサーバ装置と、前記複数の第1のサーバ装置による過去の分析処理の処理結果に基づいて前記キーカラムを決定する処理と、前記キーカラムにおける各カラム値の出現割合を示すキー分布情報を作成する処理と、前記キー分布情報に基づいて前記集約処理を行う前記複数の第1のサーバ装置を決定する処理とを行う第2のサーバ装置とを備え、前記第2のサーバ装置は、前記分析対象のデータを前記キーカラムのカラム値ごとに分けた前記集約対象のデータを該カラム値の出現割合に応じて前記複数の第1のサーバ装置に割当てることにより、前記集約処理を行う前記複数の第1のサーバ装置を決定するデータ処理システムが提供される。 In order to solve such a problem, in the present invention, an extraction process for extracting a column and a column value for each record from the analysis target data, and an aggregation process for aggregating the aggregation target data using the key column as a key. A plurality of first server devices that perform analysis processing in parallel on each server device, processing for determining the key column based on processing results of past analysis processing by the plurality of first server devices, A second server that performs processing for creating key distribution information indicating the appearance ratio of each column value in a key column, and processing for determining the plurality of first server devices that perform the aggregation processing based on the key distribution information And the second server device divides the data to be analyzed for each column value of the key column. By assigning data to the plurality of first server device in response to the appearance ratio of the column values, the data processing system for determining a first server of the plurality performing the aggregation process is provided.
 また、かかる課題を解決するために本発明においては、データの抽出処理と集約処理とからなる分析処理をそれぞれのサーバ装置で並列的に行う複数の第1のサーバ装置と、前記複数の第1のサーバ装置による過去の分析処理の処理結果に基づいた処理を行う第2のサーバ装置とを有するデータ処理システムにおけるデータ処理方法において、前記複数の第1のサーバ装置が、分析対象のデータからブロック単位でレコードごとのカラム及びカラム値を抽出する第1のステップと、前記第2のサーバ装置が、前記複数の第1のサーバ装置による抽出結果に基づいて前記キーカラムを決定し、前記キーカラムにおける各カラム値の出現割合を示すキー分布情報を作成し、前記キー分布情報に基づいて前記集約処理を行う前記複数の第1のサーバ装置を決定する第2のステップと、前記複数の第1のサーバ装置が、前記第2のサーバ装置によって決定された前記キーカラムをキーとして集約対象のデータを集約する第3のステップとを備え、前記第2のステップでは、前記集約処理を行う前記複数の第1のサーバ装置を決定する際、前記第2のサーバ装置が、前記分析対象のデータを前記キーカラムのカラム値ごとに分けた集約対象のデータを、該カラム値の出現割合に応じて前記複数の第1のサーバ装置に割当てるデータ処理方法が提供される。 In order to solve such a problem, in the present invention, a plurality of first server devices that perform analysis processing including data extraction processing and aggregation processing in parallel in each server device, and the plurality of first devices In the data processing method in the data processing system having the second server device that performs processing based on the processing result of the past analysis processing by the server device, the plurality of first server devices block from the data to be analyzed A first step of extracting a column and a column value for each record in units, and the second server device determines the key column based on an extraction result by the plurality of first server devices, and each of the key columns The key distribution information indicating the appearance ratio of the column value is created, and the aggregation processing is performed based on the key distribution information. A second step of determining a device; and a third step of the plurality of first server devices aggregating data to be aggregated using the key column determined by the second server device as a key, In the second step, when determining the plurality of first server devices to perform the aggregation processing, the second server device divides the analysis target data into column values of the key columns. Is provided to the plurality of first server devices in accordance with the appearance ratio of the column value.
 本発明によれば、不必要な統計処理を行わずに、キー分布の偏りによるボトルネックを回避して並列分散処理を高速に行うことができる。 According to the present invention, it is possible to perform parallel distributed processing at high speed without performing unnecessary statistical processing and avoiding a bottleneck caused by biased key distribution.
第1の実施の形態によるデータ処理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the data processing system by 1st Embodiment. メモリ上の処理対象データの一例を示す説明図である。It is explanatory drawing which shows an example of the process target data on a memory. 図1に示すデータ処理システムの全体的な処理手続を示すフローチャートである。It is a flowchart which shows the whole process procedure of the data processing system shown in FIG. 並列分散処理管理サーバ装置による処理手続を示すフローチャートである。It is a flowchart which shows the process procedure by a parallel distributed processing management server apparatus. データ配置情報管理テーブルの構造を示すテーブルである。It is a table which shows the structure of a data arrangement information management table. 処理実行状況管理テーブルの構造を示すテーブルである。It is a table which shows the structure of a process execution status management table. 並列分散処理実行サーバ装置による処理手続を示すフローチャートである。It is a flowchart which shows the process procedure by a parallel distributed processing execution server apparatus. キーカラムのキー分布情報を作成する処理手続を示すフローチャート(その1)である。It is a flowchart (the 1) which shows the process procedure which produces the key distribution information of a key column. 分析アプリ実行履歴管理テーブルの構造を示すテーブルである。It is a table which shows the structure of an analysis application execution history management table. キーカラムのキー分布情報を作成する処理手続を示すフローチャート(その2)である。It is a flowchart (the 2) which shows the process procedure which produces the key distribution information of a key column. キーカラム候補管理テーブルの構造を示すテーブルである。It is a table which shows the structure of a key column candidate management table. キーカラム閾値管理テーブルの構造を示すテーブルである。It is a table which shows the structure of a key column threshold value management table. キーカラム管理テーブルの構造を示すテーブルである。It is a table which shows the structure of a key column management table. キーカラムのキー分布情報を作成する処理手続を示すフローチャート(その3)である。It is a flowchart (the 3) which shows the process sequence which produces the key distribution information of a key column. キー分布管理テーブルの構造を示すテーブルである。It is a table which shows the structure of a key distribution management table. 集約処理開始条件管理テーブルの構造を示すテーブルである。It is a table which shows the structure of an aggregation process start condition management table. 図1に示すデータ分配先決定部による処理を示すフローチャートである。It is a flowchart which shows the process by the data distribution destination determination part shown in FIG. 分配先候補サーバ装置管理テーブルの構造を示すテーブルである。It is a table which shows the structure of a distribution destination candidate server apparatus management table. 分配データ割当管理テーブルの構造を示すテーブルである。It is a table which shows the structure of a distribution data allocation management table. 分配先サーバ装置管理テーブルの構造を示すテーブルである。It is a table which shows the structure of a distribution destination server apparatus management table. 第2の実施の形態によるデータ処理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the data processing system by 2nd Embodiment. 図21に示すデータ分配先決定部による処理手続を示すフローチャートである。It is a flowchart which shows the process procedure by the data distribution destination determination part shown in FIG. 分析処理効率管理テーブルの構造を示すテーブルである。It is a table which shows the structure of an analysis processing efficiency management table. 分配先サーバ装置管理テーブルの構造を示すテーブルである。It is a table which shows the structure of a distribution destination server apparatus management table.
(1)第1の実施の形態
(1-1)本実施の形態による構成
 図1において、100は全体として第1の実施の形態によるデータ処理システムを示す。データ処理システム100は、ネットワーク110を介して互いに接続される並列分散処理管理サーバ装置120、並列分散処理実行サーバ装置130(130A,130B,・・・,130N)、及びデータ分配制御サーバ装置140を備える。また、データ処理システム100は、ネットワーク110を介してクライアント装置310に接続される。以下に、データ処理システム100の各構成について説明する。
(1) First Embodiment (1-1) Configuration according to this Embodiment In FIG. 1, reference numeral 100 denotes a data processing system according to the first embodiment as a whole. The data processing system 100 includes a parallel distributed processing management server device 120, a parallel distributed processing execution server device 130 (130A, 130B,..., 130N), and a data distribution control server device 140 that are connected to each other via a network 110. Prepare. The data processing system 100 is connected to the client device 310 via the network 110. Below, each structure of the data processing system 100 is demonstrated.
(1-1-1)並列分散処理管理サーバ装置の構成
 並列分散処理管理サーバ装置120は、バス125を介して互いに接続されるネットワークインタフェース121、CPU(Central Processing Unit)122、主記憶装置123、及び二次記憶装置124を有するコンピュータである。並列分散処理管理サーバ装置120は、並列分散処理実行サーバ装置130による並列分散処理の実行を管理する。
(1-1-1) Configuration of Parallel Distributed Processing Management Server Device The parallel distributed processing management server device 120 includes a network interface 121, a CPU (Central Processing Unit) 122, a main storage device 123, which are connected to each other via a bus 125. And a secondary storage device 124. The parallel distributed processing management server device 120 manages execution of parallel distributed processing by the parallel distributed processing execution server device 130.
 ネットワークインタフェース121は、クライアント装置120がネットワーク110に接続するためのインタフェースである。CPU122は、主記憶装置123に格納されているプログラムを実行する演算処理装置である。 The network interface 121 is an interface for the client device 120 to connect to the network 110. The CPU 122 is an arithmetic processing unit that executes a program stored in the main storage device 123.
 主記憶装置123は、CPU122によって実行されるプログラム及びプログラムの実行に必要なデータを格納するRAM(Random Access Memory)等の記憶装置である。主記憶装置123には、データ登録処理部1231、分散処理管理部1232、及びOS(Operating System)1233が格納されている。データ登録処理部1231及び分散処理管理部1232は、例えば、アプリケーションプログラムである。OS1233は、アプリケーションプログラムが利用可能な基本機能を提供し、CPU122の動作によって並列分散処理管理サーバ装置120全体を管理するソフトウェアプログラムである。 The main storage device 123 is a storage device such as a RAM (Random Access Memory) that stores a program executed by the CPU 122 and data necessary for executing the program. The main storage device 123 stores a data registration processing unit 1231, a distributed processing management unit 1232, and an OS (Operating System) 1233. The data registration processing unit 1231 and the distributed processing management unit 1232 are, for example, application programs. The OS 1233 is a software program that provides basic functions that can be used by application programs and manages the entire parallel distributed processing management server device 120 by the operation of the CPU 122.
 なお、「データ登録処理部1231による処理」は、実際には、「CPU122が、データ登録処理部1231のプログラムに従って、OS1231に提供される基本機能を利用して動作する」ことによって実現されるが、簡便のために「データ登録処理部1231が処理を行う」ように記載する。そして、他のプログラムの処理においても、同様にCPUやOSによる動作を省略して記載することがある。 Note that “processing by the data registration processing unit 1231” is actually realized by “the CPU 122 operates using basic functions provided to the OS 1231 according to the program of the data registration processing unit 1231”. For convenience, it is described as “the data registration processing unit 1231 performs processing”. Similarly, in the processing of other programs, operations by the CPU and OS may be omitted.
 二次記憶装置124は、データを格納するハードディスクドライブ(HDD:Hard Disk Drive)等の記憶装置である。なお、二次記憶装置124は、HDDのような磁気記憶装置に限定されるものではなく、その他の記憶装置であってもよく、例えば、フラッシュメモリのような半導体記憶装置であってもよい。二次記憶装置124には、データ配置情報管理テーブル1241及び処理実行状況管理テーブル1242が格納される。 The secondary storage device 124 is a storage device such as a hard disk drive (HDD: Hard Disk Drive) that stores data. The secondary storage device 124 is not limited to a magnetic storage device such as an HDD, and may be another storage device, for example, a semiconductor storage device such as a flash memory. The secondary storage device 124 stores a data arrangement information management table 1241 and a process execution status management table 1242.
 なお、主記憶装置123に格納された各部の機能的な説明や二次記憶装置124に格納された各テーブルの具体的な構造については、本実施の形態による並列分散処理の説明において後述する。また、並列分散処理実行サーバ装置130及びデータ分配制御サーバ装置140の主記憶装置133,143に格納された各部の機能的な説明、及び二次記憶装置134,144に格納された各テーブルの具体的な構造についても、本実施の形態による並列分散処理の説明において後述する。 The functional description of each unit stored in the main storage device 123 and the specific structure of each table stored in the secondary storage device 124 will be described later in the description of the parallel distributed processing according to this embodiment. In addition, the functional description of each unit stored in the main storage devices 133 and 143 of the parallel distributed processing execution server device 130 and the data distribution control server device 140 and the details of each table stored in the secondary storage devices 134 and 144 are provided. The specific structure will also be described later in the description of the parallel distributed processing according to the present embodiment.
 また、並列分散処理管理サーバ装置120、並列分散処理実行サーバ装置130、及びデータ分配制御サーバ装置140は、それぞれが異なるアプリケーションプログラムやテーブルを内部に有するが、ハードウェア構成については、「ネットワークインタフェース、CPU、主記憶装置、及び二次記憶装置が、バスによって互いに接続される」という同様の構成からなる。さらに、クライアント装置310においても、そのハードウェア構成は並列分散処理管理サーバ装置120と同様である。従って、後述する並列分散処理実行サーバ装置130、データ分配制御サーバ装置140及びクライアント装置310における構成の説明では、上記の並列分散処理管理サーバ装置120と同様の部分について、その説明を省略する。 In addition, the parallel distributed processing management server device 120, the parallel distributed processing execution server device 130, and the data distribution control server device 140 each have different application programs and tables, but the hardware configuration is “network interface, The CPU, the main storage device, and the secondary storage device are connected to each other by a bus ”. Further, the hardware configuration of the client device 310 is the same as that of the parallel distributed processing management server device 120. Therefore, in the description of the configurations of the parallel distributed processing execution server device 130, the data distribution control server device 140, and the client device 310, which will be described later, the description of the same parts as the parallel distributed processing management server device 120 is omitted.
(1-1-2)並列分散処理実行サーバ装置の構成
 並列分散処理実行サーバ装置130(130A,130B,・・・,130N)は、バス135を介して互いに接続されるネットワークインタフェース131、CPU132、主記憶装置133、及び二次記憶装置134を有する複数のコンピュータである。並列分散処理実行サーバ装置130では、複数のコンピュータが並列的にデータの抽出処理及び集約処理を行うことにより、並列分散処理が実行される。並列分散処理実行サーバ装置130による集約処理は、データ分配制御サーバ装置140で決定されるキーカラムをキーとして行われる。
(1-1-2) Configuration of Parallel Distributed Processing Execution Server Device The parallel distributed processing execution server device 130 (130A, 130B,..., 130N) includes a network interface 131, a CPU 132, A plurality of computers having a main storage device 133 and a secondary storage device 134. In the parallel distributed processing execution server device 130, parallel distributed processing is executed by a plurality of computers performing data extraction processing and aggregation processing in parallel. Aggregation processing by the parallel distributed processing execution server device 130 is performed using a key column determined by the data distribution control server device 140 as a key.
 主記憶装置133には、並列分散処理実行部1331及びOS1332が格納されている。並列分散処理実行部1331は、分析対象のデータからブロック単位でレコードごとのカラム及びカラム値を抽出する抽出処理と、キーカラムのカラム値ごとに分けられたデータに対してキーカラムをキーとする集約処理とを行うことにより並列分散処理を行う分析用のアプリケーションプログラム(分析アプリケーション)である。並列分散処理実行サーバ装置130A~130Nのそれぞれに格納される分析アプリケーションは、異なる抽出処理を行う異種の分析アプリケーションであってもよいし、同じ抽出処理を行う同種の分析アプリケーションであってもよい。 The main storage device 133 stores a parallel distributed processing execution unit 1331 and an OS 1332. The parallel distributed processing execution unit 1331 extracts the column and the column value for each record from the data to be analyzed, and the aggregation processing using the key column as a key for the data divided for each column value of the key column This is an analysis application program (analysis application) that performs parallel and distributed processing by performing The analysis application stored in each of the parallel distributed processing execution server devices 130A to 130N may be a heterogeneous analysis application that performs different extraction processing, or may be the same type of analysis application that performs the same extraction processing.
 二次記憶装置134には、並列分散処理を行うデータとして登録される処理対象データ1341が格納される。処理対象データ1341は、少なくとも1以上のブロック単位で主記憶装置133上に順次読込まれ、当該読込まれたデータ(メモリ上の処理対象データ1333)について、分析アプリケーションによる抽出処理が行われる。 The secondary storage device 134 stores processing target data 1341 registered as data for performing parallel distributed processing. The processing target data 1341 is sequentially read on the main storage device 133 in units of at least one block, and the read processing (processing target data 1333 on the memory) is subjected to extraction processing by the analysis application.
 図2には、メモリ上の処理対象データ1333の一例として、複数のユーザによるウェブサイトの閲覧ログが1行につき1レコードで示されている。図2の処理対象データ1333は、当該レコードが割振られたブロック名が記載されるブロック名欄1333A、当該レコードの作成時刻が記載される日時情報欄1333B、当該レコードの実行者を特定可能なユーザIDが記載されるユーザ名欄1333C、閲覧先のURL(Uniform Resource Locator)が記載される内容欄1333D、及び、閲覧先のURLに事前に関連付けられたカテゴリ名が記載されるカテゴリ名欄1333Eを項目に持つテーブル構造を有している。また、処理対象データ1333は、所定のレコード数又は時間等を単位として、複数のレコードが複数のブロックに分けられている。ブロック欄1333F~1333Jには、各ブロックに分けられたレコードが記載される。例えば、図2の最上段のレコードは、ブロック1に属し、2011年12月22日10時11分に、ユーザID00001を持つユーザによって、カテゴリAに分類されるURLが閲覧されたことを示している。 FIG. 2 shows, as an example of the processing target data 1333 on the memory, website browsing logs by a plurality of users, one record per line. The processing target data 1333 in FIG. 2 includes a block name column 1333A in which a block name to which the record is allocated is described, a date / time information column 1333B in which the creation time of the record is described, and a user who can specify an executor of the record A user name column 1333C in which an ID is described, a content column 1333D in which a browsing destination URL (Uniform Resource Locator) is described, and a category name column 1333E in which a category name previously associated with the browsing destination URL is described. It has a table structure for items. In the processing target data 1333, a plurality of records are divided into a plurality of blocks in units of a predetermined number of records or time. In the block columns 1333F to 1333J, records divided into blocks are described. For example, the top record in FIG. 2 belongs to block 1 and indicates that a URL classified as category A was browsed by a user with user ID 00001 on December 22, 2011 at 10:11. Yes.
 また例えば、図2のメモリ上の処理対象データ1333に並列分散処理実行部1331による抽出処理が行われると、日時情報、ユーザID、内容、及びカテゴリ名がカラムとして抽出され、例えばカラム〔カテゴリ名〕においては〔カテゴリA〕~〔カテゴリD〕がカラム値として抽出される。 Further, for example, when the parallel distributed processing execution unit 1331 performs extraction processing on the processing target data 1333 on the memory in FIG. 2, date information, user ID, content, and category name are extracted as columns, for example, column [category name ], [Category A] to [Category D] are extracted as column values.
(1-1-3)データ分配制御サーバ装置の構成
 データ分配制御サーバ装置140は、バス145を介して互いに接続されるネットワークインタフェース141、CPU142、主記憶装置143、及び二次記憶装置144を有するコンピュータである。データ分配制御サーバ装置140は、並列分散処理実行サーバ装置130の並列分散処理実行部1331による処理対象データ1341の抽出処理結果を解析して、並列分散処理実行サーバ装置130における集約処理でキーとして用いられるカラムであるキーカラムを決定し、処理対象データ1341におけるキーカラムの各カラム値(キーカラム値)によるキー分布情報を作成する。また、データ分配制御サーバ装置140は、複数の並列分散処理実行サーバ装置130に集約処理の対象となるデータ(集約対象データ)を分配して集約処理を行うために、キーカラムのキー分布情報に基づいて、集約対象データの割当先となる並列分散処理実行サーバ装置130を決定する処理を行う。
(1-1-3) Configuration of Data Distribution Control Server Device The data distribution control server device 140 includes a network interface 141, a CPU 142, a main storage device 143, and a secondary storage device 144 that are connected to each other via a bus 145. It is a computer. The data distribution control server device 140 analyzes the extraction processing result of the processing target data 1341 by the parallel distributed processing execution unit 1331 of the parallel distributed processing execution server device 130 and uses it as a key in the aggregation processing in the parallel distributed processing execution server device 130. A key column that is a column to be processed is determined, and key distribution information based on each column value (key column value) of the key column in the processing target data 1341 is created. In addition, the data distribution control server device 140 distributes data (aggregation target data) to be subjected to aggregation processing to a plurality of parallel distributed processing execution server devices 130 and performs aggregation processing based on key distribution information of key columns. Thus, the process of determining the parallel distributed processing execution server device 130 that is the allocation destination of the aggregation target data is performed.
 主記憶装置143には、分析アプリ実行履歴管理部1431、キーカラム候補抽出部1432、キー分布算出部1433、データ分配先決定部1434、及びOS1435が格納されている。分析アプリ実行履歴管理部1431、キーカラム候補抽出部1432、キー分布算出部1433、及びデータ分配先決定部1434は、例えば、アプリケーションプログラムである。 The main storage device 143 stores an analysis application execution history management unit 1431, a key column candidate extraction unit 1432, a key distribution calculation unit 1433, a data distribution destination determination unit 1434, and an OS 1435. The analysis application execution history management unit 1431, the key column candidate extraction unit 1432, the key distribution calculation unit 1433, and the data distribution destination determination unit 1434 are, for example, application programs.
 二次記憶装置144には、分析アプリ実行履歴管理テーブル1441、キー分布算出対象カラム管理テーブル1442、キー分布管理テーブル1443、分配先サーバ装置管理テーブル1444、キーカラム候補管理テーブル1445、キーカラム閾値管理テーブル1446、キー分布算出対象カラム管理テーブル1447、集約処理開始条件管理テーブル1448、分配先候補サーバ装置管理テーブル1449、及び分配データ割当管理テーブル1450が格納される。 The secondary storage device 144 includes an analysis application execution history management table 1441, a key distribution calculation target column management table 1442, a key distribution management table 1443, a distribution destination server device management table 1444, a key column candidate management table 1445, and a key column threshold management table 1446. , A key distribution calculation target column management table 1447, an aggregation processing start condition management table 1448, a distribution destination candidate server device management table 1449, and a distribution data allocation management table 1450 are stored.
(1-1-4)クライアント装置の構成
 クライアント装置310は、バス315を介して互いに接続されるネットワークインタフェース311、CPU312、主記憶装置313、及び二次記憶装置314を有するコンピュータである。クライアント装置310は、ユーザの操作に応じて、処理対象データの登録を要求するデータ登録実行要求、又は、処理対象データの分析を要求するデータ分析処理実行要求を、データ処理システム100に送信する。
(1-1-4) Configuration of Client Device The client device 310 is a computer having a network interface 311, a CPU 312, a main storage device 313, and a secondary storage device 314 that are connected to each other via a bus 315. The client device 310 transmits a data registration execution request for requesting registration of processing target data or a data analysis processing execution request for requesting analysis of processing target data to the data processing system 100 in accordance with a user operation.
 主記憶装置313には、クライアント処理部3131及びOS3132が格納されている。クライアント処理部3131は、クライアント処理データ3141の読み書き、及び、データ処理システム100に対する実行要求の送信等の処理を行うアプリケーションプログラムである。 The main storage device 313 stores a client processing unit 3131 and an OS 3132. The client processing unit 3131 is an application program that performs processing such as reading and writing of client processing data 3141 and transmission of an execution request to the data processing system 100.
 二次記憶装置314には、処理対象データ1341の元となるクライアント処理データ3141が格納されている。クライアント処理データ3141は、クライアント装置310からデータ処理システム100にデータ登録実行要求を送信した後に、当該実行要求に続いて送信され、並列分散処理実行サーバ装置130の二次記憶装置134に書込まれて処理対象データ1341を更新する。 The secondary storage device 314 stores client processing data 3141 that is the source of the processing target data 1341. The client processing data 3141 is transmitted following the execution request after the data registration execution request is transmitted from the client device 310 to the data processing system 100, and written into the secondary storage device 134 of the parallel distributed processing execution server device 130. The processing target data 1341 is updated.
(1-2)本実施の形態による全体処理
 本実施の形態のデータ処理システム100において、並列分散処理管理サーバ装置120は、並列分散処理実行サーバ装置130による並列分散処理の実行を管理する。そして、複数の並列分散処理実行サーバ装置130は、それぞれの並列分散処理実行サーバ装置130において、処理対象データ1341の抽出処理と集約対象データの集約処理とを含む分析処理を並行的に行うことによって、並列分散処理を実現する。集約対象データとは、処理対象データ1341を、データ分配制御サーバ装置140で決定されるキーカラムのキーカラム値ごとに分けたデータである。また、データ分配制御サーバ装置140は、並列分散処理実行サーバ装置130による処理対象データ1341の抽出処理結果を解析して、処理対象データ1341におけるキーカラムのキーカラム値によるキー分布情報を作成する。また、データ分配制御サーバ装置140は、キーカラムのキー分布情報に基づいて、集約対象データの割当先となる並列分散処理実行サーバ装置130を決定する。
(1-2) Overall Processing According to this Embodiment In the data processing system 100 according to this embodiment, the parallel distributed processing management server device 120 manages execution of parallel distributed processing by the parallel distributed processing execution server device 130. Then, the plurality of parallel distributed processing execution server devices 130 perform analysis processing including the extraction processing of the processing target data 1341 and the aggregation processing of the aggregation target data in parallel in each parallel distributed processing execution server device 130. Realize parallel distributed processing. The aggregation target data is data obtained by dividing the processing target data 1341 for each key column value of the key column determined by the data distribution control server device 140. In addition, the data distribution control server device 140 analyzes the extraction processing result of the processing target data 1341 by the parallel distributed processing execution server device 130 and creates key distribution information based on the key column value of the key column in the processing target data 1341. Further, the data distribution control server device 140 determines the parallel distributed processing execution server device 130 that is the allocation destination of the aggregation target data based on the key distribution information of the key column.
 以下では、図3を参照して、並列分散処理管理サーバ装置120、並列分散処理実行サーバ装置130、及び分配制御サーバ装置140による全体的な処理の流れを説明する。 Hereinafter, with reference to FIG. 3, an overall processing flow by the parallel distributed processing management server device 120, the parallel distributed processing execution server device 130, and the distribution control server device 140 will be described.
 まず、ステップS101では、クライアント装置310において、処理対象データの分析を要求する所定の操作がユーザによって行われたことを契機として、クライアント処理部1131が、並列分散処理管理サーバ装置120及びデータ分配制御サーバ装置140にデータ分析処理実行要求を送信する。分析処理実行要求を受信すると、並列分散処理管理サーバ装置120及びデータ分配制御サーバ装置140は、並行的に処理を開始する。 First, in step S101, the client processing unit 1131 causes the parallel distributed processing management server device 120 and the data distribution control to start when a predetermined operation for requesting analysis of processing target data is performed by the user in the client device 310. A data analysis processing execution request is transmitted to the server device 140. When the analysis processing execution request is received, the parallel distributed processing management server device 120 and the data distribution control server device 140 start processing in parallel.
 なお、クライアント装置310がデータ分析処理実行要求を送信するときには、ユーザによって指定される集約キーもデータ分配制御サーバ装置140に送信される。集約キーは、集約処理におけるキーカラムの候補であり、並列分散処理実行部1331による初回の分析時には、指定された集約キーがキーカラム候補として取得される。 Note that when the client apparatus 310 transmits a data analysis processing execution request, an aggregation key designated by the user is also transmitted to the data distribution control server apparatus 140. The aggregation key is a key column candidate in the aggregation process, and at the time of the first analysis by the parallel distributed processing execution unit 1331, the designated aggregation key is acquired as the key column candidate.
 データ分析処理実行要求を受信した並列分散処理管理サーバ装置120では、分散処理管理部1232がCPU122によって起動され、並列分散処理実行サーバ装置130に実行させる並列分散処理の管理を行う(ステップS102)。図3では、並列分散処理管理サーバ装置120によって並列分散処理が管理されている間(ステップS102)の概要について、ステップS103~S108で説明している。 In the parallel distributed processing management server device 120 that has received the data analysis processing execution request, the distributed processing management unit 1232 is activated by the CPU 122 and manages the parallel distributed processing to be executed by the parallel distributed processing execution server device 130 (step S102). In FIG. 3, the outline during the time when the parallel distributed processing is managed by the parallel distributed processing management server apparatus 120 (step S102) is described in steps S103 to S108.
 ステップS103では、並列分散処理管理サーバ装置120の分散処理管理部1232が、並列分散処理実行サーバ装置130の並列分散処理実行部1331を起動する。そして、起動した並列分散処理実行部1331によって、並列分散処理が実行される(ステップS104)。ステップS104の並列分散処理の実行中には、キー分布情報の判定を行い(ステップS105)、集約対象データを複数の並列分散処理実行サーバ装置130に分配し(ステップS106)、各並列分散処理実行サーバ130において集約対象データの集約処理が行われる(ステップS107)。 In step S103, the distributed processing management unit 1232 of the parallel distributed processing management server device 120 activates the parallel distributed processing execution unit 1331 of the parallel distributed processing execution server device 130. Then, the started parallel distributed processing execution unit 1331 executes parallel distributed processing (step S104). During the execution of the parallel distributed processing in step S104, the key distribution information is determined (step S105), the aggregation target data is distributed to the plurality of parallel distributed processing execution server devices 130 (step S106), and each parallel distributed processing is executed. Aggregation processing of the aggregation target data is performed in the server 130 (step S107).
 その後、分散処理管理部1232は、並列分散処理実行部1331から並列分散処理の実行完了を示すメッセージを受信すると(ステップS108)、並列分散処理の管理を終了し、処理が完了する。 Thereafter, when the distributed processing management unit 1232 receives a message indicating the completion of execution of the parallel distributed processing from the parallel distributed processing execution unit 1331 (step S108), the management of the parallel distributed processing is terminated and the processing is completed.
 一方、ステップS101の分析処理実行要求を受信したデータ分配制御サーバ装置140では、キーカラムのキー分布情報が作成される(ステップS109)。ステップS109の処理では、並列分散処理実行サーバ装置130の並行分散処理実行部1331による抽出結果に基づいてキー分布の算出対象とするキーカラムが決定され、キーカラムのキーカラム値ごとの出現割合を示すキー分布情報が作成される。ステップS109で作成されたキーカラムのキー分布情報は、並列分散処理実行サーバ装置130におけるステップS105の判定に用いられる。 On the other hand, in the data distribution control server device 140 that has received the analysis processing execution request in step S101, key distribution information of the key column is created (step S109). In the process of step S109, a key column that is a calculation target of the key distribution is determined based on the extraction result by the parallel distributed processing execution unit 1331 of the parallel distributed processing execution server device 130, and the key distribution indicating the appearance ratio for each key column value of the key column Information is created. The key column key distribution information created in step S109 is used for the determination in step S105 in the parallel distributed processing execution server device 130.
 その後、データ分配制御サーバ装置140は、キーカラムのキー分布情報に基づいて、集約対象データの分配先となる並列分散処理実行サーバ装置130を決定するためのテーブルを作成する(ステップS110)。このテーブルは分配先サーバ装置管理テーブル1444に相当するが、その具体的な構造については後述する。なお、並列分散処理実行サーバ装置130側のステップS108のデータ分配は、ステップS110で作成されるテーブルを参照して行われる。 Thereafter, the data distribution control server device 140 creates a table for determining the parallel distributed processing execution server device 130 that is the distribution destination of the aggregation target data based on the key distribution information of the key column (step S110). This table corresponds to the distribution destination server apparatus management table 1444, and its specific structure will be described later. The data distribution in step S108 on the parallel distributed processing execution server device 130 side is performed with reference to the table created in step S110.
 図3に上述したように、データ処理システム100による並行分散処理では、並列分散処理管理サーバ装置120及び並列分散処理実行サーバ装置130による処理(ステップS102~S108)と、データ分配制御サーバ装置140による処理(ステップS109~S110)とが、互いを参照しながら並行的に行われる。 As described above with reference to FIG. 3, in the parallel distributed processing by the data processing system 100, the processing by the parallel distributed processing management server device 120 and the parallel distributed processing execution server device 130 (steps S102 to S108) and the data distribution control server device 140 are performed. Processing (steps S109 to S110) is performed in parallel with reference to each other.
(1-3)並列分散処理管理サーバによる処理
 次に、並列分散処理管理サーバ装置120による処理について、図4を参照して説明する。並列分散処理管理サーバ装置120は、クライアント装置310から受信した実行要求に応じて、処理対象データを登録する処理(ステップS203~S204)、又は、処理対象データの並列分散処理の実行を管理する処理(ステップS205~S208)を行う。なお、図4のステップS205~S208に示した処理は、図3のステップS102に示した処理に相当する。
(1-3) Processing by Parallel Distributed Processing Management Server Next, processing by the parallel distributed processing management server device 120 will be described with reference to FIG. The parallel distributed processing management server device 120 registers the processing target data in accordance with the execution request received from the client device 310 (steps S203 to S204) or manages the execution of the parallel distributed processing of the processing target data. (Steps S205 to S208) are performed. Note that the processing shown in steps S205 to S208 in FIG. 4 corresponds to the processing shown in step S102 in FIG.
 まず、並列分散処理管理サーバ装置120は、クライアント装置310から処理対象データ登録実行要求又は分析処理実行要求を受信すると(ステップS201)、受信したメッセージが処理対象データ登録実行要求か確認する(ステップS202)。 First, when receiving a processing target data registration execution request or an analysis processing execution request from the client device 310 (step S201), the parallel distributed processing management server device 120 checks whether the received message is a processing target data registration execution request (step S202). ).
 クライアント装置310から受信したメッセージが処理対象データ登録実行要求であった場合には(ステップS202のYES)、データ登録処理部1231が、クライアント装置310から処理対象データ登録実行要求の後に続けて送信されてくるクライアント処理データ3141又はその一部を、並列分散処理実行サーバ装置130A~130Nのいずれかの二次記憶装置134にブロック単位で格納して、処理対象データ1341を更新する(ステップS203)。 When the message received from the client device 310 is a processing target data registration execution request (YES in step S202), the data registration processing unit 1231 is transmitted from the client device 310 after the processing target data registration execution request. The incoming client processing data 3141 or a part of the client processing data 3141 is stored in block units in any of the secondary storage devices 134 of the parallel distributed processing execution server devices 130A to 130N, and the processing target data 1341 is updated (step S203).
 ステップS203で処理対象データ1341の更新が完了すると、データ登録処理部1231は、ステップS203で更新した処理対象データ1341のうち、所定の情報をデータ配置情報管理テーブル1241に記載することによって更新する(ステップS204)。 When the update of the processing target data 1341 is completed in step S203, the data registration processing unit 1231 updates the processing target data 1341 updated in step S203 by writing predetermined information in the data arrangement information management table 1241 ( Step S204).
 データ配置情報管理テーブル1241は、ステップS203において処理対象データ1341がブロック単位でどの並列分散処理実行サーバ装置130に格納されたかを管理するためのテーブルである。データ配置情報管理テーブル1241は、図5に示すように、データのブロック名が記載されるデータブロックID欄1241Aと、当該ブロックのデータが格納されたサーバ装置名が記載されるデータ配置サーバ装置名欄1241Bを有する構造になっている。図5のデータ配置サーバ装置名欄1241Bに記載された「サーバ装置1」、「サーバ装置2」、及び「サーバ装置3」は、並列分散処理実行サーバ装置130A~130Nのいずれかのサーバ装置に対応する。 The data arrangement information management table 1241 is a table for managing in which parallel distributed processing execution server device 130 the processing target data 1341 is stored in block units in step S203. As shown in FIG. 5, the data arrangement information management table 1241 includes a data block ID column 1241A in which a block name of data is described, and a data arrangement server apparatus name in which the name of the server apparatus in which the data of the block is stored is described. The structure has a column 1241B. “Server apparatus 1”, “Server apparatus 2”, and “Server apparatus 3” described in the data arrangement server apparatus name column 1241B in FIG. 5 are assigned to any of the parallel distributed processing execution server apparatuses 130A to 130N. Correspond.
 ステップS204でデータ配置情報管理テーブル1241の更新が完了すると、並列分散処理管理サーバ装置120は、処理対象データ登録の処理を終了する。 When the update of the data arrangement information management table 1241 is completed in step S204, the parallel distributed processing management server device 120 ends the processing target data registration process.
 一方、ステップS202でクライアント装置310から受信したメッセージが処理対象データ登録実行要求ではない場合、すなわち、分析処理実行要求であった場合には(ステップS202のNO)、分散処理管理部1232が、並列分散処理実行サーバ装置130の並列分散処理実行部1331を起動させる(ステップS205)。 On the other hand, if the message received from the client device 310 in step S202 is not a processing target data registration execution request, that is, if it is an analysis processing execution request (NO in step S202), the distributed processing management unit 1232 performs parallel processing. The parallel distributed processing execution unit 1331 of the distributed processing execution server device 130 is activated (step S205).
 次に、分散処理管理部1232は、ステップS205で起動した並列分散処理実行部1331によって実行される並列分散処理(ステップS207)について、当該処理の実行状況を示す情報を処理実行状況管理テーブル1242に更新することにより並列分散処理の実行状況を管理する(ステップS206)。 Next, for the parallel distributed processing (step S207) executed by the parallel distributed processing execution unit 1331 started in step S205, the distributed processing management unit 1232 stores information indicating the execution status of the processing in the processing execution status management table 1242. The execution status of the parallel distributed processing is managed by updating (step S206).
 処理実行状況管理テーブル1242は、図6に示すように、サーバ装置名欄1242A、配置データブロック数欄1242B、処理完了ブロック数欄1242C、進捗率欄1242D、開始時間欄1242E,及び完了時間欄1242Fを有する構造になっている。サーバ装置名欄1242Aには、並列分散処理が行われるサーバ装置名(並列分散処理実行サーバ装置130A~130Nのいずれか)が記載される。配置データブロック数欄1242Bには、サーバ装置名欄1242Aに記載されたサーバ装置(当該サーバ装置)に割当てられた処理対象データ1341のブロック数が記載される。処理完了ブロック数欄1242Cには、当該サーバ装置における処理が完了したブロック数が記載される。進捗率欄1242Dには、当該サーバ装置における処理の進捗率として、当該サーバ装置の配置データブロック数欄1242Bの値に対する処理完了ブロック数欄1242C欄の値の比が記載される。開始時間欄1242E及び完了時間欄1242Fには、当該サーバ装置における分析処理の開始時間及び完了時間が記載される。 As shown in FIG. 6, the processing execution status management table 1242 includes a server device name column 1242A, an arrangement data block number column 1242B, a processing completion block number column 1242C, a progress rate column 1242D, a start time column 1242E, and a completion time column 1242F. It has the structure which has. In the server device name column 1242A, the name of a server device on which parallel distributed processing is performed (any of the parallel distributed processing execution server devices 130A to 130N) is described. The arrangement data block number column 1242B describes the number of blocks of the processing target data 1341 assigned to the server device (the server device) described in the server device name column 1242A. In the processing completion block number column 1242C, the number of blocks for which processing in the server device has been completed is described. The progress rate column 1242D describes the ratio of the value in the processing completed block number column 1242C to the value in the arrangement data block number column 1242B of the server device as the processing progress rate in the server device. In the start time column 1242E and the completion time column 1242F, the start time and completion time of the analysis processing in the server device are described.
 そして、分散処理管理部1232は、並列分散処理実行部1331から並列分散処理の実行が完了したことを示すメッセージを受信すると(ステップS208)、一連の処理を終了する。 Then, when the distributed processing management unit 1232 receives a message indicating that the execution of the parallel distributed processing is completed from the parallel distributed processing execution unit 1331 (step S208), the series of processing ends.
(1-4)並列分散処理実行サーバによる処理
 次に、並列分散処理実行サーバ装置130による処理について、図7を参照して説明する。並列分散処理実行サーバ装置130では、複数の並列分散処理実行サーバ装置130のそれぞれのサーバ装置で、並列分散処理実行部1331が分析処理を並行的に行うことによって、並列分散処理が行われる。なお、図7に示す一連の処理は、図3のステップS104、又は図4のステップS207の処理に相当する。
(1-4) Processing by Parallel Distributed Processing Execution Server Next, processing by the parallel distributed processing execution server device 130 will be described with reference to FIG. In the parallel distributed processing execution server device 130, parallel distributed processing is performed by the parallel distributed processing execution unit 1331 performing analysis processing in parallel in each of the plurality of parallel distributed processing execution server devices 130. Note that the series of processing shown in FIG. 7 corresponds to the processing in step S104 in FIG. 3 or step S207 in FIG.
 まず、ステップS301では、並列分散処理管理サーバ装置120の分散処理管理部1232からの指示に従って、並列分散処理実行サーバ装置130の並列分散処理実行部1331が起動される。そして、並列分散処理実行部1331は、抽出処理と集約処理とからなる分析処理を開始する。抽出処理では、メモリ上の処理対象データ1333に対してブロック単位でレコードごとのカラム及びカラム値が抽出される。抽出処理の結果は、後述するデータ分配制御サーバ装置140の分析アプリ実行履歴管理部1431によって参照される。 First, in step S301, the parallel distributed processing execution unit 1331 of the parallel distributed processing execution server device 130 is activated in accordance with an instruction from the distributed processing management unit 1232 of the parallel distributed processing management server device 120. Then, the parallel distributed processing execution unit 1331 starts analysis processing including extraction processing and aggregation processing. In the extraction process, a column and a column value for each record are extracted in block units from the processing target data 1333 on the memory. The result of the extraction process is referred to by the analysis application execution history management unit 1431 of the data distribution control server device 140 described later.
 次に、並列分散処理実行部1331は、データ分配制御サーバ装置140のキー分布管理テーブル1443を参照し、キーカラムのキー分布情報があるか確認する(ステップS302)。キー分布管理テーブル1443については、図14及び図15を参照して後述する。 Next, the parallel distributed processing execution unit 1331 refers to the key distribution management table 1443 of the data distribution control server device 140 and confirms whether there is key distribution information of the key column (step S302). The key distribution management table 1443 will be described later with reference to FIGS.
 ステップS302でキーカラムのキー分布情報があった場合には(ステップS302のYES)、並列分散処理実行部1331は、分配先サーバ装置管理テーブル1444に基づいて、並列分散処理実行サーバ装置130に集約対象データを分配する(ステップS303)。ここで、集約対象データは、処理対象データ1341をキーカラムのカラム値ごとに分けたデータであるから、処理対象データ1341の中にキーカラムを含まないレコードがある場合には、当該レコードは集約対象データから除外される。その後、ステップS305の処理が実行される。 If there is key distribution information of the key column in step S302 (YES in step S302), the parallel distributed processing execution unit 1331 collects data in the parallel distributed processing execution server device 130 based on the distribution destination server device management table 1444. Data is distributed (step S303). Here, since the aggregation target data is data obtained by dividing the processing target data 1341 for each column value of the key column, if there is a record that does not include the key column in the processing target data 1341, the record is the aggregation target data. Excluded from. Thereafter, the process of step S305 is executed.
 ステップS302でキーカラムのキー分布情報がなかった場合には(ステップS302のNO)、並列分散処理実行部1331は、キー分布の偏りに関係なく、並列分散処理実行サーバ装置130に処理対象データ1341を分配する(ステップS304)。その後、ステップS305の処理が実行される。 If there is no key distribution information of the key column in step S302 (NO in step S302), the parallel distributed processing execution unit 1331 sends the processing target data 1341 to the parallel distributed processing execution server device 130 regardless of the bias of the key distribution. Distribute (step S304). Thereafter, the process of step S305 is executed.
 ステップS305では、ステップS303又はステップS304でデータが分配されたそれぞれの並列分散処理実行サーバ装置130において、キーカラムをキーとする集約処理が行われる。この集約処理には、一般的に用いられているキーの集約処理を用いることができる。 In step S305, aggregation processing using the key column as a key is performed in each parallel distributed processing execution server device 130 to which data has been distributed in step S303 or step S304. For this aggregation processing, commonly used key aggregation processing can be used.
 そして、集約処理が完了した並列分散処理実行サーバ装置130では、並列分散処理実行部1331が並列分散処理実行の完了を通知するメッセージを並列分散処理管理サーバ装置120の分散処理管理部1232に送信し(ステップS306)、処理が終了する。 Then, in the parallel distributed processing execution server device 130 that has completed the aggregation processing, the parallel distributed processing execution unit 1331 sends a message notifying the completion of the parallel distributed processing execution to the distributed processing management unit 1232 of the parallel distributed processing management server device 120. (Step S306), the process ends.
 なお、分析処理の結果を出力する必要がある場合には、例えば、ステップS306で、並列分散処理実行部1331が、ステップS305の集約処理の結果を並列分散処理管理サーバ装置120に送信する。そして、並列文指処理管理サーバ装置120の分散処理管理部1232が、並列分散処理実行サーバ装置130の全ての並列分散処理実行部1331から集約処理の結果を受信した後に、受信した集約処理の結果をクライアント装置310に送信し、クライアント装置310の出力部(図示せず)に出力させる等する。 If it is necessary to output the result of the analysis processing, for example, in step S306, the parallel distributed processing execution unit 1331 transmits the result of the aggregation processing in step S305 to the parallel distributed processing management server device 120. Then, after the distributed processing management unit 1232 of the parallel sentence finger processing management server device 120 receives the result of the aggregation processing from all the parallel distributed processing execution units 1331 of the parallel distributed processing execution server device 130, the received result of the aggregation processing Is transmitted to the client device 310 and output to an output unit (not shown) of the client device 310.
(1-5)データ分散制御サーバによる処理
 次に、データ分配制御管理サーバ装置140による処理について、説明する。データ分配制御管理サーバ装置140が行う処理のうち、並列分散処理実行サーバ装置130における処理対象データ1341(又はメモリ上の処理対象データ1333)の抽出処理結果を解析して、処理対象データ1341におけるキーカラムのキー分布情報を作成する処理について、図8、図10、及び図14を参照して説明する。また、データ分配制御管理サーバ装置140が行う処理のうち、キーカラムをキーとする集約情報を行う複数の並列分散処理実行サーバ装置130について、キー分布情報に基づいて処理対象データ1341の割当先を決定する処理について、図17を参照して説明する。なお、図8、図10、及び図14の処理は、図3のステップS109に示した処理に相当し、図17の処理は、図3のステップS110に示した処理に相当する。
(1-5) Processing by Data Distribution Control Server Next, processing by the data distribution control management server device 140 will be described. Among the processes performed by the data distribution control management server device 140, the extraction processing result of the processing target data 1341 (or processing target data 1333 on the memory) in the parallel distributed processing execution server device 130 is analyzed, and the key column in the processing target data 1341 is analyzed. The processing for creating the key distribution information will be described with reference to FIGS. 8, 10, and 14. FIG. In addition, among the processes performed by the data distribution control management server device 140, the allocation destination of the processing target data 1341 is determined based on the key distribution information for a plurality of parallel distributed processing execution server devices 130 that perform aggregate information using the key column as a key. Processing to be performed will be described with reference to FIG. 8, 10, and 14 correspond to the process shown in step S <b> 109 of FIG. 3, and the process of FIG. 17 corresponds to the process shown in step S <b> 110 of FIG. 3.
(1-5-1)抽出結果に基づく分析アプリ実行履歴テーブルの更新
 図8は、キーカラムのキー分布情報を作成する処理のうち、分析アプリ実行履歴管理部1431が並列分散処理実行部1331による抽出結果を参照して分析アプリ実行履歴テーブル1441を更新する処理を説明している。
(1-5-1) Update of Analysis Application Execution History Table Based on Extraction Result FIG. 8 shows that the analysis application execution history management unit 1431 performs extraction by the parallel distributed processing execution unit 1331 in the process of creating the key column key distribution information. Processing for updating the analysis application execution history table 1441 with reference to the result is described.
 まず、ステップS401では、データ分配制御サーバ装置140は、クライアント装置310から分析処理実行要求を受信すると、分析アプリ実行履歴管理部1431を起動する。次に、分析アプリ実行履歴管理部1431は、並列分散処理実行カウンタの値が0であるか否かを確認する(ステップS402)。ここで、並列分散処理実行カウンタとは、主記憶装置143に保持されるパラメータの1つであり、並列分散処理実行1331によってブロック単位で抽出処理が行われるごとに、処理回数がカウントされる。 First, in step S401, when the data distribution control server device 140 receives an analysis processing execution request from the client device 310, the data distribution control server device 140 activates the analysis application execution history management unit 1431. Next, the analysis application execution history management unit 1431 checks whether or not the value of the parallel distributed processing execution counter is 0 (step S402). Here, the parallel distributed processing execution counter is one of the parameters held in the main storage device 143, and the number of processes is counted each time the parallel distributed processing execution 1331 performs extraction processing in units of blocks.
 ステップS402で並列分散処理実行カウンタの値が0であった場合には(ステップS402のYES)、並列分散処理実行部1331による抽出処理が初回であることを示している。このとき、分析アプリ実行履歴管理部1431は、抽出処理が完了済みのメモリ上の処理対象データ1333から、ブロック単位で、抽出処理に用いられた並列分散処理実行部1331の分析アプリケーション名、分析処理の実行日時、及びクライアント装置310におけるデータ分析処理実行要求の送信時に集約キーとして指定されたカラムを取得する(ステップS403)。 If the value of the parallel distributed processing execution counter is 0 in step S402 (YES in step S402), it indicates that the extraction processing by the parallel distributed processing execution unit 1331 is the first time. At this time, the analysis application execution history management unit 1431 selects the analysis application name and the analysis process of the parallel distributed processing execution unit 1331 used for the extraction process in block units from the processing target data 1333 on the memory for which the extraction process has been completed. And the column designated as the aggregation key at the time of transmission of the data analysis processing execution request in the client device 310 is acquired (step S403).
 そして、分析アプリ実行履歴管理部1431は、ステップS403で取得したカラムをキーカラム候補とし、ステップS403で取得した他のデータとともに、分析アプリ実行履歴管理テーブル1441を更新する(ステップS404)。分析アプリ実行履歴管理テーブル1441は、図9に示すように、ステップS403で取得した分析アプリケーション名が記載される分析アプリ名欄1441A、分析処理の実行日時が記載される実行日時欄1441B、及びキーカラム候補が記載されるキーカラム候補名欄1441Cを有する構造になっている。 Then, the analysis application execution history management unit 1431 uses the column acquired in step S403 as a key column candidate, and updates the analysis application execution history management table 1441 together with the other data acquired in step S403 (step S404). As shown in FIG. 9, the analysis application execution history management table 1441 includes an analysis application name column 1441A in which the analysis application name acquired in step S403 is described, an execution date / time column 1441B in which the execution date and time of analysis processing is described, and a key column. The structure has a key column candidate name field 1441C in which candidates are described.
 ここで、分析アプリ実行履歴管理テーブル1441の分析アプリ名欄1441Aに記載される分析アプリケーション名は、ブロック単位で抽出処理が行われるごとに記載される。従って、複数のブロックに対して同種の分析アプリケーションによる分析処理が行われた場合には、分析アプリ名欄1441Aに当該分析アプリケーション名が複数回記載され、複数のブロックに対して異種の分析アプリケーションによる分析処理が行われた場合には、分析アプリ名欄1441Aに複数の分析アプリケーション名が記載される。 Here, the analysis application name described in the analysis application name column 1441A of the analysis application execution history management table 1441 is described every time extraction processing is performed in block units. Therefore, when analysis processing by the same kind of analysis application is performed on a plurality of blocks, the analysis application name is described a plurality of times in the analysis application name column 1441A, and a plurality of blocks are analyzed by different types of analysis applications. When analysis processing is performed, a plurality of analysis application names are described in the analysis application name column 1441A.
 なお、ステップS402で並列分散処理実行カウンタの値が0ではなかった場合(ステップS402のNO)には、初回の分析処理時に既にキーカラム候補が取得されているので、改めてキーカラム候補を取得する必要はなく、分析アプリ実行履歴管理部1431は、分析アプリ実行履歴管理部1431を更新しない。そして、ステップS402で並列分散処理実行カウンタの値が0ではなかった場合、又は、ステップS404の処理の後には、図10の処理が実行される。なお、図10の処理を行う前に、分析アプリ実行履歴管理部1431が並列分散処理実行カウンタの値を1加算してもよい。 If the value of the parallel / distributed process execution counter is not 0 in step S402 (NO in step S402), the key column candidate has already been acquired during the first analysis process, so it is necessary to acquire the key column candidate again. The analysis application execution history management unit 1431 does not update the analysis application execution history management unit 1431. Then, when the value of the parallel distributed processing execution counter is not 0 in step S402, or after the processing of step S404, the processing of FIG. 10 is executed. Note that the analysis application execution history management unit 1431 may add 1 to the value of the parallel distributed processing execution counter before performing the processing of FIG.
(1-5-2)キーカラムの決定
 図10は、キーカラムのキー分布情報を作成する処理のうち、キーカラム候補抽出部1432が所定の閾値を超える出現度を有するキーカラム候補をキーカラムに決定し、分析アプリ実行履歴管理テーブル1441を更新する処理を説明している。
(1-5-2) Determination of Key Column FIG. 10 shows a process for creating key column key distribution information. The key column candidate extraction unit 1432 determines a key column candidate having an appearance degree exceeding a predetermined threshold as a key column, and performs analysis. A process of updating the application execution history management table 1441 is described.
 まず、ステップS501では、キーカラム候補抽出部1432が起動される。そして、キーカラム候補抽出部1432は、分析アプリ実行履歴管理テーブル1441を参照し、分析アプリケーションごとにキーカラム候補名欄1441Cに記載されたキーカラム候補の出現総数の値(キーカラム候補出現総数値)をカウントする(ステップS502)。 First, in step S501, the key column candidate extraction unit 1432 is activated. Then, the key column candidate extraction unit 1432 refers to the analysis application execution history management table 1441 and counts the value of the total number of occurrences of key column candidates (key column candidate appearance total value) described in the key column candidate name field 1441C for each analysis application. (Step S502).
 次に、キーカラム候補抽出部1432は、分析アプリ実行履歴管理テーブル1441とステップS502でカウントしたキーカラム候補出現総数値とを参照して、分析アプリケーションによる過去の分析処理の実行履歴のうち、キーカラム候補ごとの出現割合をキーカラム候補度として算出し、キーカラム候補管理テーブル1445を更新する(ステップS503)。キーカラム候補管理テーブル1445は、図11に示すように、キーカラム候補名が記載されるキーカラム候補名欄1445A、当該キーカラム候補の出現回数が記載されるキーカラム候補出現数欄1445B、及び当該キーカラム候補の出現割合が記載されるキーカラム候補度欄1445Cを有する構造になっている。 Next, the key column candidate extraction unit 1432 refers to the analysis application execution history management table 1441 and the key column candidate appearance total value counted in step S502, and for each key column candidate in the past analysis processing execution history by the analysis application. Is calculated as the key column candidate degree, and the key column candidate management table 1445 is updated (step S503). As shown in FIG. 11, the key column candidate management table 1445 includes a key column candidate name field 1445A in which a key column candidate name is described, a key column candidate appearance number field 1445B in which the number of appearances of the key column candidate is described, and the appearance of the key column candidate. The structure has a key column candidate degree column 1445C in which the ratio is described.
 例えば、図9に示した分析アプリ実行履歴テーブル1441の〔分析アプリ1〕から〔分析アプリ4〕までの列について、キーカラム候補管理テーブル1445の各項目を算出すると、キーカラム候補名1441Cに記載されたキーカラム候補は、〔カテゴリ名〕、〔日付〕、及び〔ユーザ名〕の3つであり、それぞれのキーカラム候補の出現数は、6回、1回、そして2回であるから、キーカラム候補の出現回数の総計であるキーカラム候補出現総数値は6となる。このとき、〔カテゴリ名〕のキーカラム候補度は、3/6=0.50となり、〔日付〕のキーカラム候補度は1/6=0.17となり、〔ユーザ名〕のキーカラム候補度は2/6=0.33となる。従って、キーカラム候補管理テーブル1445には、キーカラム候補〔カテゴリ名〕の列にキーカラム候補出現数〔3〕とキーカラム候補度〔0.50〕が記載され、他の列も同様にして記載される。 For example, when each item of the key column candidate management table 1445 is calculated for the columns from [analysis application 1] to [analysis application 4] in the analysis application execution history table 1441 shown in FIG. 9, it is described in the key column candidate name 1441C. There are three key column candidates: [Category Name], [Date], and [User Name], and the number of occurrences of each key column candidate is 6, 1 and 2 times. The total number of key column candidates that is the total number of times is 6. At this time, the key column candidate degree of [Category name] is 3/6 = 0.50, the key column candidate degree of [Date] is 1/6 = 0.17, and the key column candidate degree of [User name] is 2 / 6 = 0.33. Therefore, in the key column candidate management table 1445, the key column candidate appearance number [3] and the key column candidate degree [0.50] are described in the key column candidate [category name] column, and the other columns are also described in the same manner.
 次に、キーカラム候補抽出部1432は、キーカラム候補管理テーブル1445を参照して、それぞれのキーカラム候補のキーカラム候補度が、キーカラム閾値管理テーブル1446に記載されているキーカラム閾値を超えているか判定する(ステップS504)。キーカラム閾値管理テーブル1446は、図12に示すように、予め設定される閾値が記載されるキーカラム閾値欄1446Aを有する構造になっていて、図12ではキーカラム閾値が〔0.4〕に設定されている。 Next, the key column candidate extraction unit 1432 refers to the key column candidate management table 1445, and determines whether the key column candidate degree of each key column candidate exceeds the key column threshold described in the key column threshold management table 1446 (Step S1). S504). As shown in FIG. 12, the key column threshold value management table 1446 has a structure having a key column threshold value field 1446A in which preset threshold values are described. In FIG. 12, the key column threshold value table is set to [0.4]. Yes.
 ステップS504でキーカラム閾値を超えるキーカラム候補度があると判定された場合には(ステップS504のYES)、キーカラム候補抽出部1432は、キーカラム閾値を超えるキーカラム候補度のキーカラム候補をキーカラムに決定し、キーカラム管理テーブル1447を更新する(ステップS505)。キーカラム管理テーブル1447は、図13に示すように、ステップS505で決定されたキーカラムの名前が記載されるキーカラム名欄1447を有する構造になっている。図13では、図11のキーカラム候補管理テーブル1445の〔カテゴリ名〕のキーカラム候補度が〔0.50〕で図12のキーカラム閾値〔0.4〕を超えているので、キーカラム名として〔カテゴリ名〕が記載されている。 If it is determined in step S504 that there is a key column candidate degree exceeding the key column threshold (YES in step S504), the key column candidate extraction unit 1432 determines a key column candidate having a key column candidate degree exceeding the key column threshold as a key column. The management table 1447 is updated (step S505). As shown in FIG. 13, the key column management table 1447 has a structure having a key column name column 1447 in which the name of the key column determined in step S505 is described. In FIG. 13, since the key column candidate degree of [category name] in the key column candidate management table 1445 of FIG. 11 is [0.50] and exceeds the key column threshold value [0.4] of FIG. ] Is described.
 ステップS505の処理によって過去の分析処理の実行履歴を解析対象に含めたキーカラム候補度の解析が行われてキーカラムが決定されると、キーカラム候補抽出部1432は、キーカラム管理テーブル1447の更新が完了したことを伝える更新完了メッセージを送信し(ステップS506)、その後、図14のステップS601に示す処理が実行される。 When the key column candidate degree analysis including the execution history of the past analysis processing included in the analysis target is performed and the key column is determined by the processing in step S505, the key column candidate extraction unit 1432 completes the update of the key column management table 1447. Then, an update completion message is transmitted (step S506), and then the process shown in step S601 of FIG. 14 is executed.
 また、ステップS504でキーカラム閾値を超えるキーカラム候補度がないと判定された場合には(ステップS504のNO)、キーカラム候補抽出部1432は、現状ではキーカラムとして決定すべきキーカラム候補度が存在しないとして、キーカラムを決定せず、図14のステップS606に示す処理が実行される。 If it is determined in step S504 that there is no key column candidate degree exceeding the key column threshold (NO in step S504), the key column candidate extraction unit 1432 assumes that there is no key column candidate degree to be determined as a key column at present. The process shown in step S606 of FIG. 14 is executed without determining the key column.
(1-5-3)キー分布情報の算出
 図14は、キーカラムのキー分布情報を作成する処理のうち、キー分布算出部1433が、図13で決定されたキーカラムにおける各キーカラム値について、キーカラム値の出現割合(キー分布値)を算出し、キー分布管理テーブル1443を更新する処理を説明している。
(1-5-3) Calculation of Key Distribution Information FIG. 14 shows a key column value for each key column value in the key column determined by the key distribution calculation unit 1433 in the process of creating key distribution information of the key column. The process of calculating the appearance ratio (key distribution value) of and updating the key distribution management table 1443 is described.
 まず、ステップS601では、データ分配制御サーバ装置140において、キーカラム候補抽出部1432からキーカラム管理テーブル1447の更新完了メッセージを受信すると、キー分布算出部1433が起動される。そして、キー分布算出部1433は、メモリ上の処理対象データ1333を参照し、キーカラム管理テーブル1447に記載されたキーカラムについて、メモリ上の処理対象データ1333に出現する当該キーカラムのレコード数をキーカラム候補レコード出現総数値としてカウントする(ステップS602)。 First, in step S601, when the data distribution control server device 140 receives an update completion message for the key column management table 1447 from the key column candidate extraction unit 1432, the key distribution calculation unit 1433 is activated. Then, the key distribution calculation unit 1433 refers to the processing target data 1333 on the memory, and for the key column described in the key column management table 1447, the key distribution candidate 1300 records the number of records of the key column that appears in the processing target data 1333 on the memory. The total number of occurrences is counted (step S602).
 次に、キー分布算出部1433は、メモリ上の処理対象データ1333からキーカラムのキーカラム値ごとにその出現数をカウントし、ステップS602でカウントしたキーカラム候補レコード出現総数値に対する出現割合をキー分布値として算出し、キー分布管理テーブル1443を更新する(ステップS603)。 Next, the key distribution calculation unit 1433 counts the number of appearances for each key column value of the key column from the processing target data 1333 in the memory, and uses the appearance ratio with respect to the total number of key column candidate record appearances counted in step S602 as the key distribution value. The key distribution management table 1443 is calculated and updated (step S603).
 キー分布管理テーブル1443は、図15に示すように、キーカラム値が記載されるキーカラム値欄1443A、当該キーカラム値の出現数が記載されるキー出現数欄1443B、及び当該キーカラム値のキー分布値が記載されるキー分布値欄1443Cを有する構造になっている。 As shown in FIG. 15, the key distribution management table 1443 includes a key column value field 1443A in which a key column value is described, a key appearance number field 1443B in which the number of occurrences of the key column value is described, and a key distribution value of the key column value. The key distribution value column 1443C is described.
 例えば、キーカラムとして〔カテゴリ名〕が設定された図15のキー分布管理テーブル1443では、キーカラム値欄1443Aに、キーカラム値として〔カテゴリA〕~〔カテゴリD〕が記載され、各キーカラム値に対応するキー出現数として、キー出現数欄1443Bの上から順に〔10〕、〔5〕、〔3〕、〔2〕が記載されている。ここで、キー出現数の総数を示すキーカラム候補レコード出現総数値は、10+5+3+2=20である。このとき、〔カテゴリA〕におけるキー分布値は、10/20=0.50となり、〔カテゴリB〕におけるキー分布値は、5/20=0.25となり、〔カテゴリC〕におけるキー分布値は、3/20=0.15となり、〔カテゴリD〕におけるキー分布値は、2/20=0.10となる。 For example, in the key distribution management table 1443 of FIG. 15 in which [category name] is set as the key column, [category A] to [category D] are described as the key column values in the key column value field 1443A, and correspond to each key column value. As the key appearance number, [10], [5], [3], and [2] are described in order from the top of the key appearance number column 1443B. Here, the key column candidate record appearance total value indicating the total number of key appearances is 10 + 5 + 3 + 2 = 20. At this time, the key distribution value in [Category A] is 10/20 = 0.50, the key distribution value in [Category B] is 5/20 = 0.25, and the key distribution value in [Category C] is 3/20 = 0.15, and the key distribution value in [Category D] is 2/20 = 0.10.
 次いで、ステップS604では、キー分布算出部1433は、予め定義された集約処理の開始条件を満たしているか否か判定する。予め定義された集約処理の開始条件には、例えば、並列分散処理実行サーバ装置130における分析処理の処理進捗率、分析処理の実行回数、分析処理されたレコード数、又は分析処理の開始からの経過時間等を設定することができる。 Next, in step S604, the key distribution calculation unit 1433 determines whether or not a predefined aggregation processing start condition is satisfied. The pre-defined aggregation processing start condition includes, for example, the processing progress rate of analysis processing in the parallel distributed processing execution server device 130, the number of execution times of analysis processing, the number of records subjected to analysis processing, or the progress from the start of analysis processing. Time etc. can be set.
 一例として、並列分散処理実行サーバ装置130における分析処理の処理進捗率が集約処理の開始条件として予め定義されている場合について、図6及び図16を参照して説明する。図16の集約処理開始条件管理テーブル1448には、ジョブ進捗率の閾値欄1448Aに、予め定義された閾値〔0.5〕が記載されている。このとき、ステップS604では、キー分布算出部1433は、並列分散処理管理サーバ装置120の処理実行状況管理テーブル1242(図6)を参照して、サーバ装置欄1242Aに記載されている並列分散処理実行サーバ装置130における進捗率が、集約処理開始条件管理テーブル1448の閾値〔0.5〕を超えているか否か判定する。図6に示す処理実行状況管理テーブル1242の場合には、〔サーバ装置1〕~〔サーバ装置3〕の進捗率はいずれも閾値〔0.5〕を超えていないので、キー分布算出部1433は、集約処理の開始条件を満たしていないと判定する。 As an example, a case where the processing progress rate of analysis processing in the parallel distributed processing execution server device 130 is defined in advance as a start condition of aggregation processing will be described with reference to FIGS. 6 and 16. In the aggregation processing start condition management table 1448 of FIG. 16, a predefined threshold value [0.5] is described in the job progress rate threshold value field 1448A. At this time, in step S604, the key distribution calculation unit 1433 refers to the processing execution status management table 1242 (FIG. 6) of the parallel distributed processing management server device 120 (FIG. 6), and executes the parallel distributed processing execution described in the server device column 1242A. It is determined whether the progress rate in the server device 130 exceeds the threshold value [0.5] of the aggregation processing start condition management table 1448. In the case of the process execution status management table 1242 shown in FIG. 6, since the progress rates of [server apparatus 1] to [server apparatus 3] do not exceed the threshold value [0.5], the key distribution calculation unit 1433 It is determined that the start condition for the aggregation process is not satisfied.
 ステップS604で集約処理の開始条件を満たしていると判定された場合には、(ステップS604のYES)、キーカラムのキー分布情報としてキー分布管理テーブル1242が作成され、集約処理を開始してよい状況であると判断されるので、キー分布算出部1433は、キー分布管理テーブル1242の更新が完了したことを伝える更新完了メッセージを送信し(ステップS605)、処理を終了する。 When it is determined in step S604 that the aggregation processing start condition is satisfied (YES in step S604), the key distribution management table 1242 is created as key distribution information of the key column, and the aggregation processing may be started. Therefore, the key distribution calculation unit 1433 transmits an update completion message informing that the update of the key distribution management table 1242 is completed (step S605), and ends the process.
 一方、ステップS604で集約処理の開始条件を満たしていないと判定された場合や(ステップS604のNO)、図10のステップS504でキーカラム閾値を超えるキーカラム候補度がないと判定された場合には(ステップS504のNO)、キーカラムのキー分布情報を作成するために十分な分析結果がまだ集まっていないと判断される。このとき、並列分散処理実行サーバ装置130では分析処理を続行するためにメモリ上の処理対象データ1333の次のブロックが読込まれ(ステップS606)、読込まれた当該次のブロックに対する分析処理が行われる(ステップS607)。ステップS607では、当該次のブロックに対する分析処理において、これまで図7、図8、及び図10で説明した処理が再び行われる。ステップS606~S607の間、キー分布算出部1433は、次のブロックに対する分析処理の進行を待つ。その後、所定の時間経過後に、キー分布算出部1433は、キーカラム管理テーブル1447にキーカラムが記載されているか確認する(ステップS608)。 On the other hand, if it is determined in step S604 that the aggregation process start condition is not satisfied (NO in step S604), or if it is determined in step S504 in FIG. 10 that there is no key column candidate degree exceeding the key column threshold ( In step S504, it is determined that sufficient analysis results have not yet been collected to create key column key distribution information. At this time, the parallel distributed processing execution server device 130 reads the next block of the processing target data 1333 on the memory in order to continue the analysis processing (step S606), and performs the analysis processing on the read next block. (Step S607). In step S607, in the analysis processing for the next block, the processing described so far with reference to FIGS. 7, 8, and 10 is performed again. During steps S606 to S607, the key distribution calculation unit 1433 waits for the progress of analysis processing for the next block. Thereafter, after a predetermined time has elapsed, the key distribution calculation unit 1433 confirms whether the key column is described in the key column management table 1447 (step S608).
 ステップS608でキーカラムが確認された場合には(ステップS608のYES)、キー分布算出部1433は、ステップS602の処理に戻って新たに確認されたキーカラムについてキー分布値の算出を始める。ステップS608でキーカラムが確認されなかった場合には(ステップS608のNO)、キー分布算出部1433は、ステップS604に戻り、集約処理の開始条件が満たされた状況になっていないか、再度判定を行う。 If the key column is confirmed in step S608 (YES in step S608), the key distribution calculation unit 1433 returns to the process in step S602 and starts calculating the key distribution value for the newly confirmed key column. If the key column is not confirmed in step S608 (NO in step S608), the key distribution calculation unit 1433 returns to step S604, and determines again whether the aggregation processing start condition is satisfied. Do.
 以上、図8、図10、及び図14に説明した処理によって、キーカラムが決定されて集約処理の開始条件が満たされた状況であれば、キーカラムのキー分布情報としてキー分布管理テーブル1242が作成される。また、キーカラムが決定されていない状況や、集約処理の開始条件が満たされていない状況のうちは、キーカラムのキー分布情報を作成する処理が完了しない。そして、前述した図7のステップS302~S304では、並列分散処理実行部1331は、このキー分布管理テーブル1242の有無を確認し、確認結果に応じて集約対象データを並列分散処理実行サーバ装置130に分配する。 The key distribution management table 1242 is created as the key column distribution information of the key column if the key column is determined by the processes described in FIGS. 8, 10, and 14 and the start condition of the aggregation process is satisfied. The In addition, in a situation where the key column has not been determined or a condition where the aggregation process start condition is not satisfied, the process of creating key distribution information of the key column is not completed. In steps S302 to S304 of FIG. 7 described above, the parallel distributed processing execution unit 1331 confirms the presence / absence of the key distribution management table 1242, and sends the aggregation target data to the parallel distributed processing execution server device 130 according to the confirmation result. Distribute.
 また、データ分配制御サーバ装置140では、図14におけるキー分布管理テーブル1443の更新完了通知を受けて、データの分配先サーバ装置を決定する処理(図17を参照して後述)が実行される。 Further, the data distribution control server device 140 receives the update completion notification of the key distribution management table 1443 in FIG. 14 and executes a process of determining a data distribution destination server device (described later with reference to FIG. 17).
(1-5-4)データの分配先サーバ装置を決定する処理
 以下では、複数の並列分散処理実行サーバ装置130に集約対象データを分配して集約処理を行うために、データ分配先決定部1434が、キーカラムのキー分布情報に基づいて、集約対象データの割当先となる並列分散処理実行サーバ装置130を決定する処理について、図17を参照して説明する。なお、図17に示す一連の処理は、図3のステップS110の処理に相当する。
(1-5-4) Processing for Determining Data Distribution Destination Server Device In the following, in order to distribute aggregation target data to a plurality of parallel distributed processing execution server devices 130 and perform aggregation processing, a data distribution destination determination unit 1434 However, the process of determining the parallel distributed processing execution server device 130 that is the allocation destination of the aggregation target data based on the key distribution information of the key column will be described with reference to FIG. Note that the series of processing shown in FIG. 17 corresponds to the processing in step S110 in FIG.
 まず、データ分配制御サーバ装置140では、キー分布算出部1433からキー分布管理テーブル1443の更新完了メッセージを受信すると、データ分配先決定部1434が起動される(ステップS701)。 First, when the data distribution control server device 140 receives an update completion message of the key distribution management table 1443 from the key distribution calculation unit 1433, the data distribution destination determination unit 1434 is activated (step S701).
 そして、データ分配先決定部1434は、処理実行状況管理テーブル1242を参照して集約対象データを分配可能な並列分散処理実行サーバ装置130(分配先候補サーバ装置)を抽出し、抽出結果を分配先候補サーバ装置管理テーブル1449に更新する(ステップS702)。分配先候補サーバ装置管理テーブル1449は、図18に示すように、分配先候補サーバ装置が記載される分配先候補サーバ装置名欄1449Aを有する構造となっている。また、ステップS702では、データ分配先決定部1434は、分配先候補サーバ装置名欄1449Aに記載された分配先候補サーバ装置の台数をカウントする。 Then, the data distribution destination determination unit 1434 refers to the processing execution status management table 1242 to extract the parallel distributed processing execution server device 130 (distribution destination candidate server device) that can distribute the aggregation target data, and extracts the extraction result as the distribution destination. The candidate server device management table 1449 is updated (step S702). As shown in FIG. 18, the distribution destination candidate server device management table 1449 has a structure having a distribution destination candidate server device name column 1449A in which distribution destination candidate server devices are described. In step S702, the data distribution destination determination unit 1434 counts the number of distribution destination candidate server devices described in the distribution destination candidate server device name column 1449A.
 次に、データ分配先決定部1434は、ステップS702でカウントした分配先候補サーバ装置の台数とキー分布管理テーブル1443の記載内容とに基づいて、キーカラム値ごとに分割されている集約対象データを割当てるサーバ装置の台数を算出し、算出結果によって分配データ割当管理テーブル1450を更新する(ステップS703)。 Next, the data distribution destination determination unit 1434 allocates the aggregation target data divided for each key column value based on the number of distribution destination candidate server devices counted in step S702 and the description content of the key distribution management table 1443. The number of server devices is calculated, and the distribution data allocation management table 1450 is updated based on the calculation result (step S703).
 分配データ割当管理テーブル1450は、図19に示すように、キーカラム値欄1450Aと、レコード数欄1450Bと、キー分布値欄1450Cと、割当サーバ装置台数欄1450Dとを有する構造となっている。キー分布値欄1450Cには、キー分布管理テーブル1443のキー分布値が高い順に記載され、キーカラム値欄1450A及びレコード数欄1450Bには、当該キー分布値に対応するキー分布算出対象カラム値及びキー出現数が記載される。そして、割当サーバ装置台数欄1450Dには、当該列のキー分布値とステップS702でカウントした分配先候補サーバ装置の台数とに基づいた割当サーバ装置の台数が記載される。 As shown in FIG. 19, the distributed data assignment management table 1450 has a structure having a key column value field 1450A, a record number field 1450B, a key distribution value field 1450C, and an assigned server device number field 1450D. The key distribution value column 1450C describes the key distribution values in the key distribution management table 1443 in descending order. The key column value column 1450A and the record number column 1450B include the key distribution calculation target column value and key corresponding to the key distribution value. The number of occurrences is listed. The number of assigned server devices column 1450D describes the number of assigned server devices based on the key distribution value in the column and the number of distribution destination candidate server devices counted in step S702.
 次いで、データ分配先決定部1434は、分配先候補サーバ装置名欄1449Aに記載された分配先候補サーバ装置を、分配データ割当管理テーブル1450の割当サーバ装置台数に従って、データ分配先決定部1434の先頭から順に分配サーバ装置として割当てる。そして、データ分配先決定部1434は、割当てた分配サーバ装置と対応するキーカラム値とによって分配先サーバ装置管理テーブル1444を更新する(ステップS704)。分配先サーバ装置管理テーブル1444は、図20に示すように、キーカラム値が記載されるキーカラム値欄1444Aと分配サーバ装置名が記載される分配サーバ装置欄1444Bとを有する構造となっている。 Next, the data distribution destination determination unit 1434 assigns the distribution destination candidate server device described in the distribution destination candidate server device name field 1449A to the head of the data distribution destination determination unit 1434 according to the number of allocation server devices in the distribution data allocation management table 1450. Are assigned as distribution server devices in order. Then, the data distribution destination determination unit 1434 updates the distribution destination server device management table 1444 with the assigned distribution server device and the corresponding key column value (step S704). As shown in FIG. 20, the distribution destination server device management table 1444 has a structure having a key column value column 1444A in which a key column value is described and a distribution server device column 1444B in which a distribution server device name is described.
(1-6)本実施の形態による効果
 本実施の形態によるデータ処理システム100では、並列分散処理実行サーバ装置130による分析処理を重ねるに従って、データ分配制御サーバ装置140がキーカラム候補から精度よくキーカラムを決定することができる。そして、並列分散処理実行サーバ装置130は、適切なキーカラムのキー分布情報に基づいて、キーカラムのカラム値ごとに分けたデータが、処理量ができるだけ均等になるように割当てられて集約処理を行うので、キー分布の偏りによるボトルネックを回避しながら集約処理を行うことができる。その結果、それぞれの並列分散処理実行サーバ装置130における分析処理に要する時間差が縮小され、並列分散処理実行サーバ装置130全体では、高速に並列分散処理を実現することが期待できる。この効果は、並列分散処理実行サーバ装置130A~130Nの各サーバ装置がほぼ同等の処理性能を有するコンピュータからなる場合に、特に有効である。
(1-6) Effects According to this Embodiment In the data processing system 100 according to this embodiment, the data distribution control server device 140 adds the key columns from the key column candidates with high accuracy as the analysis processing by the parallel distributed processing execution server device 130 is repeated. Can be determined. Then, the parallel distributed processing execution server device 130 performs the aggregation process by assigning the data divided for each column value of the key column based on the key distribution information of the appropriate key column so that the processing amount is allocated as evenly as possible. The aggregation process can be performed while avoiding the bottleneck due to the bias of the key distribution. As a result, the time difference required for the analysis processing in each parallel distributed processing execution server device 130 is reduced, and the parallel distributed processing execution server device 130 as a whole can be expected to realize parallel distributed processing at high speed. This effect is particularly effective when each of the parallel distributed processing execution server apparatuses 130A to 130N is composed of computers having substantially the same processing performance.
 また、本実施の形態によるデータ処理システム100では、データ分配制御サーバ装置140が、過去の分析処理結果を参照してキーカラムの候補となるキーカラム候補を抽出し、該キーカラム候補に絞って統計情報(分析アプリ実行履歴管理テーブル1441に相当)を作成するので、処理対象データ1341の全てのカラムについて統計情報を作成する必要がなく、不要な統計処理を行わず、処理負荷を低減する効果が期待できる。 Further, in the data processing system 100 according to the present embodiment, the data distribution control server device 140 refers to the past analysis processing results, extracts key column candidates that are key column candidates, and narrows down the key column candidates to statistical information ( (Corresponding to the analysis application execution history management table 1441) is created, it is not necessary to create statistical information for all the columns of the processing target data 1341, and unnecessary statistical processing is not performed, and the effect of reducing the processing load can be expected. .
 さらに、本実施の形態によるデータ処理システム100では、データの分析処理の進行状況が所定の条件を満たすまでキーカラムのカラム値ごとの出現割合を算出してキー分布情報を作成するので、十分な統計情報に基づいてキーカラムのキー分布情報を作成することができ、そのようにして作成されたキーカラムのキー分布情報を用いることにより、集約処理におけるデータの分配先の並列分散処理実行サーバ装置130を精度よく決定することができる。 Further, in the data processing system 100 according to the present embodiment, the key distribution information is generated by calculating the appearance ratio for each column value of the key column until the progress of the data analysis process satisfies a predetermined condition, and therefore sufficient statistics are provided. The key distribution information of the key column can be created based on the information, and by using the key distribution information of the key column thus created, the parallel distributed processing execution server device 130 that is the data distribution destination in the aggregation processing can be accurately Can be well determined.
(2)第2の実施の形態
(2-1)本実施の形態による構成
 第2の実施の形態によるデータ処理システムは、並列分散処理において集約対象データをサーバ装置に割当てる際に、第1の実施の形態によるデータ処理システム100がキー分布の偏りを考慮して割当てることを特徴としていたのに対して、キー分布の偏りに加えてサーバ装置の処理能力をも考慮して割当てることを特徴とする。
(2) Second embodiment (2-1) Configuration according to the present embodiment The data processing system according to the second embodiment has the first feature when assigning aggregation target data to a server device in parallel distributed processing. The data processing system 100 according to the embodiment is characterized in that the allocation is performed in consideration of the bias of the key distribution, whereas the allocation is performed in consideration of the processing capability of the server device in addition to the bias of the key distribution. To do.
 図21に示すように、データ処理システム200の構成は、第1の実施形態のデータ処理システム100と比べて、データ分配制御サーバ装置140がデータ分配制御サーバ装置240になっていること以外は同じ構成となっているので、共通の構成については説明を省略する。また、データ分配制御サーバ装置240の内部構成についても、データ分配制御サーバ装置140と同様の機能を有するものについては、同じ符号を付し、その説明を省略する。 As shown in FIG. 21, the configuration of the data processing system 200 is the same as that of the data processing system 100 of the first embodiment except that the data distribution control server device 140 is a data distribution control server device 240. Since this is a configuration, description of the common configuration is omitted. In addition, regarding the internal configuration of the data distribution control server device 240, those having the same functions as those of the data distribution control server device 140 are denoted by the same reference numerals, and description thereof is omitted.
 データ分配先決定部2434は、データ分配先決定部1434と異なる処理を行って集約対象データの割当先を決定する処理を行うためのアプリケーションプログラムであり、その動作については、図22を参照して後述する。 The data distribution destination determination unit 2434 is an application program for performing processing different from that of the data distribution destination determination unit 1434 to determine the allocation destination of the aggregation target data. For the operation, refer to FIG. It will be described later.
 分配処理効率管理テーブル2450は、集約処理において集約対象データの割当先を決定するために用いられるテーブルである。また、分配サーバ装置管理テーブル2444は、データ分配先決定部2434によって決定された集約対象データの割当先が記載されるテーブルである。分配処理効率管理テーブル2450の構造は図23、分配サーバ装置管理テーブル2444の構造は図24を参照して後述する。 The distribution processing efficiency management table 2450 is a table used for determining an allocation destination of aggregation target data in the aggregation processing. The distribution server device management table 2444 is a table in which the allocation destination of the aggregation target data determined by the data distribution destination determination unit 2434 is described. The structure of the distribution processing efficiency management table 2450 will be described later with reference to FIG. 23, and the structure of the distribution server apparatus management table 2444 will be described later with reference to FIG.
(2-2)本実施の形態による処理
 データ処理システム200による処理は、データ分配先決定部2434が分配先サーバ装置を決定する処理以外は、第1の実施の形態のデータ処理システム100による処理と同様であり、共通する処理については、その説明を省略する。以下では、図22を参照して、データ分配先決定部2434による処理について説明する。
(2-2) Processing According to this Embodiment The processing by the data processing system 200 is the processing by the data processing system 100 of the first embodiment, except for the processing in which the data distribution destination determination unit 2434 determines the distribution destination server device. The description of common processing is omitted. Hereinafter, processing performed by the data distribution destination determination unit 2434 will be described with reference to FIG.
 図22で、データ分配先決定部2434が起動し、分配先候補サーバ装置管理テーブル1449を更新し、分配先候補サーバ装置の台数をカウントし、分配データ割当管理テーブル1450を更新するまでの処理(ステップS801~S803)は、図17のステップS701~S703で説明した処理と同様である。 In FIG. 22, the data distribution destination determination unit 2434 is activated, updates the distribution destination candidate server device management table 1449, counts the number of distribution destination candidate server devices, and updates the distribution data allocation management table 1450 ( Steps S801 to S803) are the same as the processing described in steps S701 to S703 in FIG.
 ステップS804では、データ分配先決定部2434は、処理実行状況管理テーブル1242を参照して、分析処理効率管理テーブル2450を更新する。 In step S804, the data distribution destination determination unit 2434 updates the analysis processing efficiency management table 2450 with reference to the processing execution status management table 1242.
 分析処理効率管理テーブル2450は、図23に示すように、サーバ装置名欄2450A、処理完了ブロック総数欄2450B、総処理時間欄2450C、処理効率欄2450D、及び処理能力比欄2450Eを有する構造になっている。 As shown in FIG. 23, the analysis processing efficiency management table 2450 has a structure including a server device name column 2450A, a processing completion block total number column 2450B, a total processing time column 2450C, a processing efficiency column 2450D, and a processing capacity ratio column 2450E. ing.
 サーバ装置名欄2450Aには、過去に分析処理を行った並列分散処理実行サーバ装置130の名が記載される。処理完了ブロック総数欄2450B、総処理時間欄2450C、処理効率欄2450D、及び処理能力比欄2450Eには、サーバ装置名欄2450Aに記載された並列分散処理実行サーバ装置130ごとに、対応する所定のデータが記載される。 In the server device name column 2450A, the name of the parallel distributed processing execution server device 130 that has performed analysis processing in the past is described. The processing completion block total number column 2450B, the total processing time column 2450C, the processing efficiency column 2450D, and the processing capacity ratio column 2450E correspond to predetermined parallel processing execution server devices 130 described in the server device name column 2450A. Data is described.
 処理完了ブロック総数欄2450Bには、過去に実行された分析処理の完了ブロック数の総数が記載される。分析処理の完了ブロック数の総数は、分析処理が完了するごとに処理実行状況管理テーブル1242の処理完了ブロック数が累積されることにより算出可能である。総処理時間数欄2450Cには、過去に実行された分析処理に要した総処理時間〔h〕が記載される。総処理時間は、処理実行状況管理テーブル1242の開始時間欄1242E及び完了時間欄1242Fに記載された開始時間及び完了時間から処理時間を算出し、この算出値をブロック単位の分析処理が完了するごとに累積することにより算出可能である。 The total number of completed blocks of analysis processing executed in the past is written in the total number of processed blocks column 2450B. The total number of blocks completed in the analysis process can be calculated by accumulating the number of process completed blocks in the process execution status management table 1242 every time the analysis process is completed. The total processing time column 2450C describes the total processing time [h] required for the analysis processing executed in the past. The total processing time is calculated from the start time and the completion time described in the start time column 1242E and the completion time column 1242F of the process execution status management table 1242, and this calculated value is calculated every time block-based analysis processing is completed. It can be calculated by accumulating.
 処理効率欄2450Dには、処理完了ブロック総数と総処理時間とから算出可能な単位時間あたりの処理ブロック数を示す処理効率が記載される。処理能力比欄2450Eには、サーバ装置名欄2450Aに記載されたサーバ装置間の処理能力比が記載される。例えば、図23では、最上列のサーバ装置の処理能力値を基準値(1.0)として処理能力比が記載されている。 The processing efficiency column 2450D describes the processing efficiency indicating the number of processing blocks per unit time that can be calculated from the total number of processing completed blocks and the total processing time. The processing capacity ratio column 2450E describes the processing capacity ratio between server apparatuses described in the server apparatus name column 2450A. For example, in FIG. 23, the processing capability ratio is described with the processing capability value of the server device in the top row as the reference value (1.0).
 次に、データ分配先決定部2434は、分配先候補サーバ装置名欄1449Aに記載された分配先候補サーバ装置を、分析処理効率管理テーブル2450における処理能力比の高いサーバ装置から順に、処理能力比とキー分布値とに基づいて割当サーバ装置台数を割当て、分配先サーバ装置管理テーブル2444を更新する(ステップS805)。 Next, the data distribution destination determination unit 2434 selects the distribution destination candidate server devices described in the distribution destination candidate server device name column 1449A in order from the server devices with the highest processing capability ratio in the analysis processing efficiency management table 2450. The number of assigned server devices is assigned based on the key distribution value and the distribution destination server device management table 2444 is updated (step S805).
 分配先サーバ装置管理テーブル2444は、図24に示すように、キーカラム値が記載されるキーカラム値欄2444Aと分配サーバ装置名が記載される分配サーバ装置名欄2444Bとを有する構造になっている。 As shown in FIG. 24, the distribution destination server apparatus management table 2444 has a structure having a key column value field 2444A in which a key column value is described and a distribution server apparatus name field 2444B in which a distribution server apparatus name is described.
 ここで、分配サーバ装置の具体的な割当て手順の一例を説明する。まず、分配先候補サーバ装置管理テーブル1449から処理対象データ1341を割当てるサーバ装置の台数は〔サーバ装置1〕~〔サーバ装置4〕の4台である。次に、分析処理効率管理テーブル2450の処理能力比欄2450Eに記載された値から、割当の対象となる〔サーバ装置1〕~〔サーバ装置4〕の処理能力比について、全体を1とした場合の各処理能力比を算出する。このとき、〔サーバ装置1〕は0.25、〔サーバ装置2〕は0.15、〔サーバ装置3〕は0.10、〔サーバ装置4〕は0.50となる。 Here, an example of a specific allocation procedure of the distribution server device will be described. First, the number of server devices to which the processing target data 1341 is allocated from the distribution destination candidate server device management table 1449 is four servers [server device 1] to [server device 4]. Next, from the values described in the processing capacity ratio column 2450E of the analysis processing efficiency management table 2450, the processing capacity ratio of [Server apparatus 1] to [Server apparatus 4] to be assigned is set to 1 as a whole. Each processing capacity ratio is calculated. At this time, [Server 1] is 0.25, [Server 2] is 0.15, [Server 3] is 0.10, and [Server 4] is 0.50.
 このようなデータの元で、まず、分配先サーバ装置管理テーブル2444の最上列のキーカラム値欄2444Aには、分配データ割当管理テーブル1450のレコード数が最も多い〔カテゴリA〕が記載される。そして、最上列の分配サーバ装置名欄2444Bには、図23で最も処理能力比の高い〔サーバ装置4〕が記載される。〔カテゴリA〕のキー分布値は0.50であり、〔サーバ装置4〕の処理能力比も0.50であるから、〔カテゴリA〕の処理を割当てるサーバ装置は〔サーバ装置4〕だけでよいことがわかる。そして、分配先サーバ装置管理テーブル2444の次列のキーカラム値欄2444Aには、〔カテゴリB〕が記載され、〔カテゴリA〕のときと同様の割当が行われる。このように、全てのキーカラム値〔カテゴリA〕~〔カテゴリD〕について、割当てられるサーバ装置が決定されて、分配先サーバ装置管理テーブル2444に記載される。 Based on such data, first, in the key column value column 2444A in the top row of the distribution destination server device management table 2444, [category A] having the largest number of records in the distribution data allocation management table 1450 is described. In the distribution server device name column 2444B in the top row, [server device 4] having the highest processing capability ratio in FIG. 23 is described. Since the key distribution value of [Category A] is 0.50 and the processing capacity ratio of [Server 4] is also 0.50, [Server 4] is the only server device to which [Category A] processing is assigned. I know it ’s good. Then, [Category B] is described in the key column value field 2444A in the next row of the distribution destination server device management table 2444, and the same assignment as in [Category A] is performed. As described above, for all the key column values [Category A] to [Category D], server devices to be assigned are determined and described in the distribution destination server device management table 2444.
(2-3)本実施の形態による効果
 このような第2の実施の形態によるデータ処理システム200では、キー分布の偏りに加えて、並列分散処理実行サーバ装置130(130A~130N)の処理能力を考慮し、キー分布値と処理能力比とに基づいて集約対象データを並列分散処理実行サーバ装置130に割当てるので、複数の並列分散処理実行サーバ装置130による集約処理において、各並列分散処理実行サーバ装置で要する処理時間の差をより抑えることができ、ボトルネックが発生しにくい分配先サーバの決定を行うことができる。その結果、より高速な並列分散処理を実現する効果が期待できる。
(2-3) Effects of this Embodiment In the data processing system 200 according to the second embodiment as described above, in addition to the bias of the key distribution, the processing capability of the parallel distributed processing execution server devices 130 (130A to 130N) And the aggregation target data is allocated to the parallel distributed processing execution server device 130 on the basis of the key distribution value and the processing capability ratio. Therefore, in the aggregation processing by the plurality of parallel distributed processing execution server devices 130, each parallel distributed processing execution server A difference in processing time required by the apparatus can be further suppressed, and a distribution destination server that is unlikely to cause a bottleneck can be determined. As a result, the effect of realizing faster parallel distributed processing can be expected.
 また、第2の実施の形態によるデータ処理システム200では、並列分散処理実行サーバ装置130A~130Nが同一の機種でない、又は製造年代が異なる等の理由から、スペックや処理能力が異なっているような場合に特に有効であり、スペックや処理能力の差を考慮した上でボトルネックが発生しにくい分配先サーバの決定を行うことができ、高速な並列分散処理を実現する効果が期待できる。 Further, in the data processing system 200 according to the second embodiment, the parallel distributed processing execution server devices 130A to 130N are not the same model or have different specifications and processing capabilities because of different manufacturing ages. In particular, it is possible to determine a distribution destination server in which a bottleneck is unlikely to occur in consideration of a difference in specifications and processing capability, and an effect of realizing high-speed parallel distributed processing can be expected.
(3)他の実施の形態
 なお、上述の第1及び第2の実施の形態によるデータ処理システム100及び200では、処理対象データ1341の元となるクライアント処理データ3141がクライアント装置310の二次記憶装置314に格納される場合について述べたが、本発明はこれに限らず、例えば、処理対象データ1341の元となるデータが外部の基幹サーバシステム(図示せず)に蓄積され、蓄積されたデータの全て又は一部が、断続的又は定期的に基幹サーバシステムからデータ処理システム100又は200に送信されるように構成されてもよい。
(3) Other Embodiments In the data processing systems 100 and 200 according to the first and second embodiments described above, the client processing data 3141 that is the source of the processing target data 1341 is the secondary storage of the client device 310. Although the case where it is stored in the device 314 has been described, the present invention is not limited to this. For example, data that is the source of the processing target data 1341 is accumulated in an external backbone server system (not shown), and the accumulated data May be configured to be transmitted from the core server system to the data processing system 100 or 200 intermittently or periodically.
 また、上述の第1及び第2の実施の形態によるデータ処理システム100及び200では、クライアント装置310がデータ分析処理実行要求を送信するときに、ユーザによって指定される集約キーがデータ分配制御サーバ装置140又は240に送信される場合について述べたが、本発明はこれに限らず、例えば、並列分散処理実行サーバ装置130の並列分散処理実行部1331のプログラム内に定義されるように構成されてもよい。このような場合に、分析アプリ実行履歴管理部1431は、並列分散処理実行部1331による初回の分析処理時に、並列分散処理実行部1331から当該集約キーをキーカラム候補として取得すればよい。 In the data processing systems 100 and 200 according to the first and second embodiments described above, when the client device 310 transmits a data analysis processing execution request, the aggregate key specified by the user is the data distribution control server device. Although the case of being transmitted to 140 or 240 has been described, the present invention is not limited to this. For example, the present invention may be configured to be defined in the program of the parallel distributed processing execution unit 1331 of the parallel distributed processing execution server device 130. Good. In such a case, the analysis application execution history management unit 1431 may acquire the aggregate key as a key column candidate from the parallel distributed processing execution unit 1331 during the first analysis process by the parallel distributed processing execution unit 1331.
 さらに、上述の第1及び第2の実施の形態では、データ処理システム100及び200が分析処理を並列的に実行する場合について述べたが、本発明はこれに限らず、例えば、複数台のストリーム処理基盤を用いて構成され、キーごとに集約されたデータ群をストリーム処理基盤に入力して時系列処理を行うデータ処理システムに、本発明によるデータ処理方法を適用するようにしてもよい。このように構成されたデータ処理システムでは、特定のストリーム処理基盤に入力されるデータが集中することによるボトルネックを回避することができ、ストリームの並列分散処理を高速に行うことが期待できる。 Furthermore, in the above-described first and second embodiments, the case where the data processing systems 100 and 200 execute the analysis processing in parallel has been described. However, the present invention is not limited to this, for example, a plurality of streams. The data processing method according to the present invention may be applied to a data processing system configured using a processing infrastructure and inputting a data group aggregated for each key to the stream processing infrastructure and performing time-series processing. In the data processing system configured as described above, it is possible to avoid a bottleneck caused by the concentration of data input to a specific stream processing platform, and it can be expected to perform parallel distributed processing of streams at high speed.
 なお、第1又は第2の実施の形態による並列分散システム100又は200において、並列分散処理実行サーバ装置130(130A~130N)は、分析対象のデータからブロック単位でレコードごとのカラム及びカラム値を抽出する抽出処理と、キーカラムをキーとして集約対象のデータを集約する集約処理とからなる分析処理をそれぞれのサーバ装置で並列的に行う複数の第1のサーバ装置の一例である。また、データ分配制御サーバ装置140,240は、複数の第1のサーバ装置による抽出処理の処理結果に基づいてキーカラムを決定する処理と、キーカラムにおける各カラム値の出現割合を示すキー分布情報を作成する処理と、キー分布情報に基づいて集約処理を行う複数の第1のサーバ装置を決定する処理とを行う第2のサーバ装置の一例である。また、分析アプリ実行履歴管理部1431は集約キー取得部の一例である。 In the parallel distributed system 100 or 200 according to the first or second embodiment, the parallel distributed processing execution server device 130 (130A to 130N) obtains a column and a column value for each record in block units from the data to be analyzed. It is an example of the some 1st server apparatus which performs the analysis process which consists of the extraction process to extract, and the aggregation process which aggregates the data of aggregation object by using a key column as a key in each server apparatus. In addition, the data distribution control server devices 140 and 240 create key distribution information indicating a key column based on processing results of extraction processing by a plurality of first server devices, and key distribution information indicating the appearance ratio of each column value in the key column 4 is an example of a second server device that performs a process of determining a plurality of first server devices that perform aggregation processing based on key distribution information. The analysis application execution history management unit 1431 is an example of an aggregate key acquisition unit.
 本発明は、大規模データを並列分散処理するデータ処理システム及びデータ処理方法に適用することができる。 The present invention can be applied to a data processing system and a data processing method for parallel and distributed processing of large-scale data.
 100,200 データ処理システム
 110  ネットワーク
 120  並列分散処理管理サーバ装置
 121,131,141,311 ネットワークインタフェース
 122,132,142,312 CPU
 123,133,143,243,313 主記憶装置
 124,134,144,244,314 二次記憶装置
 125,135,145,315 バス
 1231 データ登録処理部
 1232 分散処理管理部
 1233 OS
 1241 データ配置情報管理テーブル
 1242 処理実行状況管理テーブル
 130(130A,130B,・・・,130N) 並列分散処理実行サーバ装置
 1331 並列分散処理実行部
 1332 OS
 1341 処理対象データ
 140,240 データ分配制御サーバ装置
 1431 分析アプリ実行履歴管理部
 1432 キーカラム候補抽出部
 1433 キー分布算出部
 1434,2434 データ分配先決定部
 1435 OS
 1441 分析アプリ実行履歴管理テーブル
 1442 キー分布算出対象カラム管理テーブル
 1443 キー分布算出対象カラム管理テーブル
 1444,2444 分配先サーバ装置管理テーブル
 1445 キーカラム候補管理テーブル
 1446 キーカラム閾値管理テーブル
 1447 キー分布算出対象カラム管理テーブル
 1448 集約処理開始条件管理テーブル
 1449 分配先候補サーバ装置管理テーブル
 1450 分配データ割当管理テーブル
 2450 分析処理効率管理テーブル
 310  クライアント装置
 3131 クライアント処理部
 3132 OS
 3141 クライアント処理データ
 
100, 200 Data processing system 110 Network 120 Parallel distributed processing management server apparatus 121, 131, 141, 311 Network interface 122, 132, 142, 312 CPU
123, 133, 143, 243, 313 Main storage device 124, 134, 144, 244, 314 Secondary storage device 125, 135, 145, 315 Bus 1231 Data registration processing unit 1232 Distributed processing management unit 1233 OS
1241 Data arrangement information management table 1242 Processing execution status management table 130 (130A, 130B,..., 130N) Parallel distributed processing execution server device 1331 Parallel distributed processing execution unit 1332 OS
1341 Processing target data 140, 240 Data distribution control server device 1431 Analysis application execution history management unit 1432 Key column candidate extraction unit 1433 Key distribution calculation unit 1434, 2434 Data distribution destination determination unit 1435 OS
1441 Analysis application execution history management table 1442 Key distribution calculation target column management table 1443 Key distribution calculation target column management table 1444, 2444 Distribution destination server device management table 1445 Key column candidate management table 1446 Key column threshold management table 1447 Key distribution calculation target column management table 1448 Aggregation processing start condition management table 1449 Distribution destination candidate server device management table 1450 Distribution data allocation management table 2450 Analysis processing efficiency management table 310 Client device 3131 Client processing unit 3132 OS
3141 Client processing data

Claims (10)

  1.  分析対象のデータからブロック単位でレコードごとのカラム及びカラム値を抽出する抽出処理と、前記キーカラムをキーとして集約対象のデータを集約する集約処理とからなる分析処理をそれぞれのサーバ装置で並列的に行う複数の第1のサーバ装置と、
     前記複数の第1のサーバ装置による過去の分析処理の処理結果に基づいて前記キーカラムを決定する処理と、前記キーカラムにおける各カラム値の出現割合を示すキー分布情報を作成する処理と、前記キー分布情報に基づいて前記集約処理を行う前記複数の第1のサーバ装置を決定する処理とを行う第2のサーバ装置と
     を備え、
     前記第2のサーバ装置は、前記分析対象のデータを前記キーカラムのカラム値ごとに分けた前記集約対象のデータを該カラム値の出現割合に応じて前記複数の第1のサーバ装置に割当てることにより、前記集約処理を行う前記複数の第1のサーバ装置を決定する
     ことを特徴とするデータ処理システム。
    Each server device performs an analysis process consisting of an extraction process for extracting a column and a column value for each record from data to be analyzed and an aggregation process for aggregating data to be aggregated using the key column as a key in each server device. A plurality of first server devices to perform;
    Processing for determining the key column based on processing results of past analysis processing by the plurality of first server devices, processing for creating key distribution information indicating an appearance ratio of each column value in the key column, and the key distribution A second server device that performs processing for determining the plurality of first server devices that perform the aggregation processing based on information,
    The second server device allocates the data to be aggregated obtained by dividing the data to be analyzed for each column value of the key column to the plurality of first server devices according to the appearance ratio of the column value. And determining the plurality of first server devices to perform the aggregation processing.
  2.  前記第2のサーバ装置は、
     前記分析処理の開始時に指定される集約キーをキーカラム候補として取得する集約キー取得部と、
     過去の前記分析処理の処理結果において前記キーカラム候補が指定された割合をキーカラム候補度として算出し、該キーカラム候補度が所定の閾値よりも大きい場合に該キーカラム候補をキーカラムに決定するキーカラム候補抽出部と、
     前記キーカラムのカラム値ごとの出現割合を示すキー分布情報を作成するキー分布算出部と、
     前記作成されたキーカラムのキー分布情報に基づいて該キーカラムのカラム値ごとに割当てる前記複数の第1のサーバ装置の台数を算出し、前記算出した台数と前記キーカラムのキー分布情報とに基づいて前記集約対象のデータを割当てる前記複数の第1のサーバ装置を決定するデータ分配先決定部と
     を備えることを特徴とする請求項1に記載のデータ処理システム。
    The second server device is
    An aggregation key acquisition unit that acquires an aggregation key designated at the start of the analysis process as a key column candidate;
    A key column candidate extraction unit that calculates, as a key column candidate degree, a ratio in which the key column candidate is designated in the past processing result of the analysis process, and determines the key column candidate as a key column when the key column candidate degree is greater than a predetermined threshold When,
    A key distribution calculation unit that creates key distribution information indicating an appearance ratio for each column value of the key column;
    The number of the plurality of first server devices to be assigned for each column value of the key column is calculated based on the created key distribution information of the key column, and the number of the first server devices is calculated based on the calculated number and the key distribution information of the key column. The data processing system according to claim 1, further comprising: a data distribution destination determination unit that determines the plurality of first server devices to which data to be aggregated is allocated.
  3.  前記キー分布算出部は、前記分析処理の進行状況が所定の条件を満たすまで、前記キーカラムのカラム値ごとの出現割合を算出し、前記算出したカラム値ごとの出現割合を示すキー分布情報を作成する
     ことを特徴とする請求項2に記載のデータ処理システム。
    The key distribution calculation unit calculates an appearance ratio for each column value of the key column until the progress of the analysis process satisfies a predetermined condition, and creates key distribution information indicating the appearance ratio for each calculated column value The data processing system according to claim 2, wherein:
  4.  前記キー分布算出部は、前記分析処理の完了ブロック数又は経過時間に基づいた前記所定の条件を満たすまで、前記キーカラムのカラム値ごとの出現割合を算出し、前記算出したカラム値ごとの出現割合を示すキー分布情報を作成する
     ことを特徴とする請求項3に記載のデータ処理システム。
    The key distribution calculation unit calculates an appearance ratio for each column value of the key column until the predetermined condition based on the number of completed blocks or elapsed time of the analysis process is satisfied, and the appearance ratio for each calculated column value The data processing system according to claim 3, wherein key distribution information is generated.
  5.  前記データ分配先決定部は、前記キーカラムのカラム値ごとの出現割合と、前記複数の第1のサーバ装置のそれぞれのサーバ装置が過去に実行した前記分析処理の処理結果から算出される該サーバ装置ごとの処理効率とに基づいて、前記集約対象のデータを割当てる前記複数の第1のサーバ装置を決定する
     ことを特徴とする請求項2に記載のデータ処理システム。
    The data distribution destination determination unit is calculated from the appearance ratio for each column value of the key column and the processing result of the analysis process executed in the past by each server device of the plurality of first server devices. The data processing system according to claim 2, wherein the plurality of first server devices to which the data to be aggregated is allocated are determined based on the processing efficiency of each.
  6.  データの抽出処理と集約処理とからなる分析処理をそれぞれのサーバ装置で並列的に行う複数の第1のサーバ装置と、前記複数の第1のサーバ装置による過去の分析処理の処理結果に基づいた処理を行う第2のサーバ装置とを有するデータ処理システムにおけるデータ処理方法において、
     前記複数の第1のサーバ装置が、分析対象のデータからブロック単位でレコードごとのカラム及びカラム値を抽出する第1のステップと、
     前記第2のサーバ装置が、前記複数の第1のサーバ装置による抽出結果に基づいて前記キーカラムを決定し、前記キーカラムにおける各カラム値の出現割合を示すキー分布情報を作成し、前記キー分布情報に基づいて前記集約処理を行う前記複数の第1のサーバ装置を決定する第2のステップと、
     前記複数の第1のサーバ装置が、前記第2のサーバ装置によって決定された前記キーカラムをキーとして集約対象のデータを集約する第3のステップと
     を備え、
     前記第2のステップでは、前記集約処理を行う前記複数の第1のサーバ装置を決定する際、前記第2のサーバ装置が、前記分析対象のデータを前記キーカラムのカラム値ごとに分けた集約対象のデータを、該カラム値の出現割合に応じて前記複数の第1のサーバ装置に割当てる
     ことを特徴とするデータ処理方法。
    Based on a plurality of first server devices performing analysis processing consisting of data extraction processing and aggregation processing in parallel on each server device, and processing results of past analysis processing by the plurality of first server devices In a data processing method in a data processing system having a second server device for processing,
    A first step in which the plurality of first server devices extract a column and a column value for each record in block units from data to be analyzed;
    The second server device determines the key column based on the extraction results of the plurality of first server devices, creates key distribution information indicating an appearance ratio of each column value in the key column, and generates the key distribution information. A second step of determining the plurality of first server devices that perform the aggregation processing based on:
    A plurality of first server devices comprising a third step of aggregating data to be aggregated using the key column determined by the second server device as a key;
    In the second step, when determining the plurality of first server devices to perform the aggregation processing, the second server device divides the analysis target data into column values of the key columns. Is assigned to the plurality of first server devices in accordance with the appearance ratio of the column value.
  7.  前記第2のステップにおいて、前記第2のサーバ装置が、
     前記分析処理の開始時に指定される集約キーをキーカラム候補として取得し、
     前記複数の第1のサーバ装置による過去の前記分析処理の処理結果において前記キーカラム候補が指定された割合をキーカラム候補度として算出し、
     前記算出したキーカラム候補度が所定の閾値よりも大きい場合に該キーカラム候補をキーカラムに決定し、
     前記決定したキーカラムのカラム値ごとの出現割合を示すキー分布情報を作成し、
     前記作成したキーカラムのキー分布情報に基づいて該キーカラムのカラム値ごとに割当てる前記複数の第1のサーバ装置の台数を算出し、
     前記算出した台数と前記キーカラムのキー分布情報とに基づいて前記集約対象のデータを割当てる前記複数の第1のサーバ装置を決定する
     ことを特徴とする請求項6に記載のデータ処理方法。
    In the second step, the second server device is
    An aggregate key specified at the start of the analysis process is acquired as a key column candidate,
    Calculating a ratio that the key column candidate is designated in the past processing result of the analysis processing by the plurality of first server devices as a key column candidate degree;
    When the calculated key column candidate degree is larger than a predetermined threshold, the key column candidate is determined as a key column,
    Create key distribution information indicating the appearance ratio for each column value of the determined key column,
    Based on the key distribution information of the created key column, calculate the number of the plurality of first server devices to be assigned for each column value of the key column,
    The data processing method according to claim 6, wherein the plurality of first server devices to which the data to be aggregated is allocated are determined based on the calculated number and the key distribution information of the key column.
  8.  前記第2のステップにおいて、前記第2のサーバ装置が、前記分析処理の進行状況が所定の条件を満たすまで、前記キーカラムのカラム値ごとの出現割合を算出し、前記算出したカラム値ごとの出現割合を示すキー分布情報を作成する
     ことを特徴とする請求項7に記載のデータ処理方法。
    In the second step, the second server device calculates an appearance ratio for each column value of the key column until the progress of the analysis process satisfies a predetermined condition, and the appearance for each calculated column value. The data processing method according to claim 7, wherein key distribution information indicating a ratio is created.
  9.  前記第2のステップにおいて、前記第2のサーバ装置が、前記分析処理の完了ブロック数又は経過時間に基づいた前記所定の条件を満たすまで、前記キーカラムのカラム値ごとの出現割合を算出し、前記算出したカラム値ごとの出現割合を示すキー分布情報を作成する
     ことを特徴とする請求項8に記載のデータ処理方法。
    In the second step, the second server device calculates an appearance ratio for each column value of the key column until the predetermined condition based on the number of completed blocks or the elapsed time of the analysis process is satisfied, and The data processing method according to claim 8, wherein key distribution information indicating an appearance ratio for each calculated column value is created.
  10.  前記第2のステップにおいて、前記第2のサーバ装置が、前記キーカラムのカラム値ごとの出現割合と、前記複数の第1のサーバ装置のそれぞれのサーバ装置が過去に実行した前記分析処理の処理結果から算出される該サーバ装置ごとの処理効率とに基づいて、前記集約対象のデータを割当てる前記複数の第1のサーバ装置を決定する
     ことを特徴とする請求項7に記載のデータ処理方法。
    In the second step, the second server device generates an appearance ratio for each column value of the key column and a processing result of the analysis processing executed in the past by each server device of the plurality of first server devices. The data processing method according to claim 7, wherein the plurality of first server devices to which the data to be aggregated is assigned are determined based on the processing efficiency for each server device calculated from the following.
PCT/JP2012/059789 2012-04-10 2012-04-10 Data processing system and data processing method WO2013153620A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/059789 WO2013153620A1 (en) 2012-04-10 2012-04-10 Data processing system and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/059789 WO2013153620A1 (en) 2012-04-10 2012-04-10 Data processing system and data processing method

Publications (1)

Publication Number Publication Date
WO2013153620A1 true WO2013153620A1 (en) 2013-10-17

Family

ID=49327228

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/059789 WO2013153620A1 (en) 2012-04-10 2012-04-10 Data processing system and data processing method

Country Status (1)

Country Link
WO (1) WO2013153620A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016024612A (en) * 2014-07-18 2016-02-08 富士通株式会社 Data processing control method, data processing control program, and data processing control apparatus
US10872070B2 (en) 2015-05-04 2020-12-22 Advanced New Technologies Co., Ltd. Distributed data processing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06139119A (en) * 1992-10-28 1994-05-20 Hitachi Ltd System and method for managing data base
JPH06214843A (en) * 1993-01-20 1994-08-05 Hitachi Ltd Data base management system and processing method for inquiry
JPH06259478A (en) * 1993-03-02 1994-09-16 Toshiba Corp Data rearrangement system for distributed data base
JPH07160557A (en) * 1993-12-13 1995-06-23 Hitachi Ltd Data base access processing method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06139119A (en) * 1992-10-28 1994-05-20 Hitachi Ltd System and method for managing data base
JPH06214843A (en) * 1993-01-20 1994-08-05 Hitachi Ltd Data base management system and processing method for inquiry
JPH06259478A (en) * 1993-03-02 1994-09-16 Toshiba Corp Data rearrangement system for distributed data base
JPH07160557A (en) * 1993-12-13 1995-06-23 Hitachi Ltd Data base access processing method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016024612A (en) * 2014-07-18 2016-02-08 富士通株式会社 Data processing control method, data processing control program, and data processing control apparatus
US10872070B2 (en) 2015-05-04 2020-12-22 Advanced New Technologies Co., Ltd. Distributed data processing

Similar Documents

Publication Publication Date Title
WO2019114128A1 (en) Block chain transaction block processing method, electronic device and readable storage medium
CN108776934B (en) Distributed data calculation method and device, computer equipment and readable storage medium
JP2020074157A (en) Data stream processing language for analyzing measurement means incorporated software
JP5664098B2 (en) Composite event distribution apparatus, composite event distribution method, and composite event distribution program
US8898422B2 (en) Workload-aware distributed data processing apparatus and method for processing large data based on hardware acceleration
CN110532067A (en) Event-handling method, device, equipment and storage medium
US9965327B2 (en) Dynamically scalable data collection and analysis for target device
WO2019019644A1 (en) Push server allocation method and apparatus, and computer device and storage medium
WO2015043528A1 (en) Parallel multi-thread message processing method and device
US9596298B1 (en) Load balancing in a distributed processing system
JP2013536492A (en) Data analysis using multiple systems
WO2017028696A1 (en) Method and device for monitoring load of distributed storage system
CN106874100B (en) Computing resource allocation method and device
JP5245711B2 (en) Distributed data processing system, distributed data processing method, and distributed data processing program
CN110502546A (en) A kind of data processing method and device
WO2013078583A1 (en) Method and apparatus for optimizing data access, method and apparatus for optimizing data storage
CN105094981B (en) A kind of method and device of data processing
JP6798564B2 (en) Resource setting control device, resource setting control system, resource setting control method, and resource setting control program
CN108573029B (en) Method, device and storage medium for acquiring network access relation data
WO2016178316A1 (en) Computer procurement predicting device, computer procurement predicting method, and program
JP2014049129A (en) System for managing load of virtual machine and method thereof
JP2017037492A (en) Distributed processing program, distributed processing method and distributed processor
TWI454949B (en) Distributed resource management systems and methods for resource management thereof
CN108153584B (en) Method and equipment for determining number of threads to be allocated to target network equipment
WO2015090044A1 (en) Data scanning method and device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12873963

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12873963

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP