WO2016170613A1 - データ分析システムおよびデータ分析方法 - Google Patents

データ分析システムおよびデータ分析方法 Download PDF

Info

Publication number
WO2016170613A1
WO2016170613A1 PCT/JP2015/062226 JP2015062226W WO2016170613A1 WO 2016170613 A1 WO2016170613 A1 WO 2016170613A1 JP 2015062226 W JP2015062226 W JP 2015062226W WO 2016170613 A1 WO2016170613 A1 WO 2016170613A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
analysis
task
pattern
collection
Prior art date
Application number
PCT/JP2015/062226
Other languages
English (en)
French (fr)
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/JP2015/062226 priority Critical patent/WO2016170613A1/ja
Publication of WO2016170613A1 publication Critical patent/WO2016170613A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"

Definitions

  • the present invention relates to a data analysis system and a data analysis method.
  • a lattice model comprising logical nodes created according to the connection form of the plurality of nodes and the inter-node connection device in the lattice type computer system Is divided into rectangular regions including one or more logical nodes associated with one or more service requests made from the outside, and a scheduler executed in any logical node in the rectangular region is
  • a lattice type in which a program for processing a task is assigned to another logical node in the square area based on the parallelism and seriality of the tasks constituting the service request job corresponding to the square area.
  • Non-Patent Document 1 By interposing a meta model common to a plurality of analysis apps, it is relatively easy to implement cooperation between apps, and technology that enables direct access to data of other apps (see Non-Patent Document 1), etc. Has also been proposed.
  • an object of the present invention is to provide a technique for efficiently and surely acquiring data to be analyzed from a plurality of data providers distributed over a wide area in consideration of various restrictions and performing data analysis.
  • the data analysis system of the present invention that solves the above problems includes first information obtained by patterning a definition of a task associated with collection and analysis of analysis target data in association with at least a collection destination of the analysis target data, and execution of the task
  • a storage device storing at least second information defining a load related to data communication, and a data analysis query obtained from a predetermined device are collated with the first information, and at least analysis target data indicated by the corresponding query is collected
  • a pattern that matches with the destination is specified, and a process related to the corresponding task defined in the corresponding pattern is specified by the second information, and the corresponding task with the specified load is executed under a predetermined constraint condition.
  • a schedule for collecting and analyzing the data to be analyzed to achieve a predetermined purpose is generated by a predetermined algorithm, Generate an analysis result by running the appropriate respective tasks on a schedule, characterized in that it comprises an arithmetic unit that executes a process of sending the analysis result to the predetermined device.
  • the data analysis method of the present invention includes the first information obtained by patterning the definition of the task associated with the collection and analysis of the analysis target data in association with at least the collection destination of the analysis target data, and at least the execution of the task.
  • An information processing system including a storage device storing second information defining a load related to data communication collates a data analysis query obtained from a predetermined device with the first information, and at least analysis target data indicated by the corresponding query A pattern that matches with the collection destination of the corresponding task is specified, a load related to the corresponding task defined in the corresponding pattern is specified by the second information, and the corresponding task with the specified load is determined under a predetermined constraint condition.
  • a predetermined algorithm When executing, a predetermined algorithm is used to generate the analysis target data collection and analysis schedule to achieve a predetermined purpose. And executes the appropriate respective tasks based on the appropriate schedule generates an analysis result, and executes a process of transmitting the analysis result to the predetermined device.
  • data to be analyzed can be efficiently and reliably acquired from a plurality of data providers distributed over a wide area in consideration of various restrictions, and data analysis can be executed.
  • FIG. 1 is a diagram showing a network configuration example including a data analysis system 100 of the present embodiment.
  • a data analysis system 100 shown in FIG. 1 is a computer system that can efficiently and reliably acquire data to be analyzed from a plurality of data providers distributed over a wide area in consideration of various restrictions and perform data analysis.
  • the data analysis system 100 performs scheduling of tasks related to data collection and analysis triggered by an unexpected data analysis query (not a regularly scheduled one), and the analysis environment or Efficient data analysis can be performed by selecting an appropriate one from a plurality of data sources including the data providing service within the limits of the network processing capability and the data providing service of each stakeholder.
  • Such a data analysis system 100 assumes, as an example, an analysis environment in which data relating to crude oil production is collected from each data source and analyzed. For this reason, the data analysis system 100 according to the present embodiment is connected to the network 10 and includes, for example, a client terminal 200, an open data providing system 300 that provides administrative open data, and a service company that excavates and constructs a crude oil well. Data communication is possible with a drilling and construction service company system 400 that provides data related to well drilling and construction, a field data providing system 500 that provides sensor data of crude oil production and attached equipment in an operating well. It has become.
  • the client terminal 200 described above receives data input from the well drilling planner and well manager via the input interface such as a keyboard and a mouse, and data obtained from the data analysis system 100. It is responsible for various processes such as displaying on a display.
  • the input interface such as a keyboard and a mouse
  • the client terminal 200 receives data input from the well drilling planner and well manager via the input interface such as a keyboard and a mouse, and data obtained from the data analysis system 100. It is responsible for various processes such as displaying on a display.
  • FIG. 1 only one client terminal 200 is illustrated, but a plurality of the client terminals 200 may be connected.
  • Hardware configuration ---
  • FIG. 2 is a diagram illustrating a hardware configuration example of the data analysis system 100 according to the present embodiment.
  • a hardware configuration example of the data analysis system 100 in the present embodiment is as follows.
  • the data analysis system 100 reads out to the memory 103 a storage device 101 composed of appropriate non-volatile storage elements such as a hard disk drive, a memory 103 composed of volatile storage elements such as RAM, and a program 102 held in the storage device 101.
  • the CPU 104 (arithmetic unit) which performs various determinations, computations and control processing and performs communication control with the other devices 200 to 500 is performed.
  • each function unit of the analysis result management unit 110, the scheduling unit 111, and the task execution unit 112 is implemented. Details of these functional units will be described later.
  • the storage device 101 stores the query interpretation database 125, the task database 126, the execution task database 127, the task constraint database 128, the schedule database 129, and the analysis database 130. ing. These databases are referred to and edited by the program 102 and the client terminal 200 described above.
  • the data analysis system 100 includes one or more data sources of the analysis database 130, the open data providing system 300, the excavation / construction service company system 400, and the field data providing system 500. And a function of outputting one or more task plans to be executed to the analysis result generation unit 107, such as necessary data collection from the computer and processing (analysis) of the collected data. This function corresponds to the function of the analysis result management unit 110.
  • the data analysis system 100 collects and processes data in the open data providing system 300, the excavation / construction service company system 400, and the field data providing system 500 that are data sources in collecting and processing data to be analyzed, With the processing capability of the analysis system 100 (such as the computing capability of the CPU 104) and the time required for the analysis result required by the client terminal 200 as constraints, the constraint is selected from one or more task proposals received from the analysis result management unit 110 described above. It has a function to generate a schedule that meets the requirements. This function corresponds to the function of the scheduling unit 111.
  • the data analysis system 100 has a function of collecting and analyzing data to be analyzed by executing each necessary task based on the schedule generated by the scheduling unit 111 described above.
  • the collected analysis target data is stored in the analysis database 130 and is referred to in the analysis. Therefore, the analysis database 130 is a database that stores various data collected from the open data providing system 300, the excavation / construction service company system 400, and the field data providing system 500. These functions correspond to the functions of the task execution unit 112. ---data structure---
  • FIG. 3 shows an example of the data structure of the query interpretation database 125 in this embodiment.
  • the query interpretation database 125 is a database that stores information defining an analysis query interpretation rule received from the client terminal 200 and a task relationship necessary to acquire data corresponding to the analysis query. .
  • the record structure includes a priority, a query pattern, a variable range, a dependent task, a task variable, and the like using a query ID that uniquely identifies a record in the query interpretation database 125 as a key. It is the structure which matched the value.
  • Priority is a numerical value used for prioritization when multiple task execution plans are obtained. For example, the value is determined and set in advance by a user (such as the above-described well mining plan planner or well manager) according to the necessity of each data to be collected and analyzed by executing the corresponding task.
  • a user such as the above-described well mining plan planner or well manager
  • the query pattern is a value indicating an analysis query template including one or more variables.
  • Various query patterns are set such that “prod” in the well (where “v1” is a variable), that is, production volume data (production volume data) is selectively extracted.
  • variable range is a value indicating the range of each variable included in the query pattern.
  • the operator “Op1” is set as a variable value.
  • the dependent task is a value indicating a task ID corresponding to each of one or a plurality of tasks necessary for generating data corresponding to the analysis query.
  • CLIE ID a query pattern of the above-mentioned CLIE ID “36”
  • “34” is set as a necessary task.
  • the task variable is a value indicating one or a plurality of variables used as an argument of the task. For example, a value such as a file name or storage address of data to be analyzed can be assumed.
  • FIG. 4 is a diagram showing an example of the data structure of the task database 126 of this embodiment.
  • the task database 126 in the present embodiment includes various commands corresponding to each task defined in the query interpretation database 125 described above, and the data analysis system 100, the network 10, the open data providing system 300, the excavation when the commands are executed.
  • the record structure of the task database 126 illustrated in FIG. 4 includes a command to be executed in the corresponding task with a task ID that uniquely identifies the record in the task database 126 as a key, and the data analysis system 100 when the corresponding command is executed.
  • the network 10 the open data providing system 300, the excavation / construction service company system 400, and load parameters representing loads on the field data providing system 500.
  • the load parameter includes values such as a required time, a CPU load factor of the data analysis system 100, and a load factor applied to the network 10, which are generated when the command is executed.
  • the load factor to the open data providing system 300, the excavation / construction service company system 400, and the field data providing system 500 may be included.
  • a command “dl_prod_from_opendata (op)” for calling a script for downloading (dl) the production data (prod) of a certain operator (op) is provided.
  • the required time when the command is executed is defined as “50” seconds, the CPU load factor is “5”, and the network load factor is “40”.
  • the required time when the corresponding command is executed is defined as “90” seconds, the CPU load factor is “90”, and the network load factor is “0”.
  • FIG. 5 is a diagram showing an example of the data structure of the execution task database 127 of this embodiment.
  • the execution task database 127 in the present embodiment is a database that stores tasks to be executed (including candidates).
  • the record structure of the execution task database 127 illustrated in FIG. 5 has a configuration in which each value of a task ID, a query ID, and a variable is associated with an execution task ID that uniquely identifies the record of the execution task database 127 as a key. It has become.
  • the task ID is common to the task ID in the query interpretation database 125 and the task database 126.
  • the query ID is common to the query ID in the query interpretation database 125.
  • arguments and values of tasks to be executed are set for variables.
  • Each record of the execution task database 127 is input by the client terminal 200 or the analysis result management unit 110.
  • Specific examples of tasks include data collection from the open data providing system 300, the excavation / construction service company system 400, and the field data providing system 500 through the network 10, and the collection of data such as sensors. Conversion to data that can be interpreted if data, structured data such as html and xml, data processing such as parsing (corresponding to the concept of analysis including the above-mentioned conversion), data collected and processed This includes writing the data analysis database 130 and reading written data.
  • FIG. 6 is a diagram showing an example of the data structure of the task constraint database 128 of the present embodiment.
  • the task constraint database 128 according to the present embodiment is a database that stores objective functions to be satisfied, minimized, and maximized when performing data collection and processing tasks.
  • the record of the task constraint database 128 illustrated in FIG. 6 has a structure in which a constraint expression is associated with a constraint ID that uniquely identifies the record of the task constraint database 128 as a key.
  • the stored constraint formulas correspond to constraints to be satisfied, minimization, and objective function formulas to be maximized when executing the tasks of collecting and analyzing analysis target data.
  • constraint formulas are described and set in advance by an appropriate user having knowledge.
  • the user who operates the client terminal 200 confirms and changes the constraint equation as needed.
  • This user treats each column in the execution task database 127 and the task database 126 as a variable when describing the constraint expression, and the order relationship between tasks, the CPU load of the data analysis system 100, the network load and the open data providing system 300, The upper limit of the load factor to each of the excavation / construction service company system 400 and the field data providing system 500, the upper limit of the time for completing the task, and the like are expressed.
  • constraint expression As an example of the constraint expression, it is indicated by records of constraint IDs “342” and “343” in the task constraint database 128 of FIG. Among these, the constraint expression “
  • Open_data_flag assumes that “1” is assigned to a task that collects data to be analyzed from the open data providing system 300. The intention of such restriction indicates that the execution interval of each task must be maintained at a constant interval under the condition that each task collecting data from the open data providing system 300 exists.
  • the constraint expression “Sum (CPU_load) ⁇ 90” of the constraint ID “343” indicates a constraint that the total sum of “CPU_Load” as the CPU load factor in the load parameter is always 90% or less.
  • FIG. 7 is a diagram showing an example of the data structure of the schedule database 129 of this embodiment.
  • the schedule database 129 in this embodiment is a database that stores a schedule for executing each task of collection and analysis of analysis target data.
  • the record in the schedule database 129 illustrated in FIG. 7 has a configuration in which an execution task ID that uniquely identifies a task scheduled to be executed is associated with the corresponding time using the time at which the task is executed as a key.
  • the execution task ID in the schedule database 129 is common to the execution task ID in the execution task database 127.
  • FIG. 8 is a flowchart showing a processing procedure example 1 of the data analysis method in the present embodiment, and more specifically, shows a flow in the analysis result management unit 110. This flow is triggered by the analysis result management unit 110 of the data analysis system 100 receiving an analysis query from the client terminal 200 through the network 10 as a trigger.
  • step S201 in the flow the analysis result management unit 110 collates the analysis query received from the client terminal 200 with the query interpretation database 125, and regarding the query pattern and variable values of each record in the query interpretation database 125, Task candidates are identified by pattern matching with analysis queries.
  • the analysis result management unit 110 outputs one or more records in the query interpretation database 125 identified by the pattern match to the scheduling unit 111 as task candidates.
  • records including a syntax for extracting production volume data three records with query IDs “36”, “78”, and “125” are specified as the task candidate group 602 as shown in FIG.
  • the dependency task “34” in the record with the query ID “36” is collected from the field data providing system 500
  • the dependency task “80” in the record with the query ID “78” is collected from the open data providing system 300.
  • the task content of the dependency task “163” in the record of the query ID “163” is different from that of collecting the data from the analysis database 130 previously collected in other data analysis. .
  • each record in the task candidate group 602 that is, the priority in the query corresponds to the quality of the collected data.
  • detailed and up-to-date data is stored in the field data providing system 500
  • up-to-date data is not detailed in the open data providing system 300
  • old data previously collected for other data analysis is stored in the analysis database 130.
  • prioritization such as each record in the task candidate group 602 is performed in advance from the client terminal 200.
  • step S202 the data analysis system 100 calls the scheduling unit 111 with the plurality of records output from the analysis result management unit 110 in step S201 described above, that is, the task candidate group 602 as input, and the scheduling unit 111 performs predetermined processing.
  • the analysis target data collection and the analysis schedule that can be executed when the predetermined purpose is achieved under the constraint conditions are generated.
  • the scheduling unit 111 outputs the generated schedule to the schedule database 129 and outputs the presence / absence of an executable schedule to the analysis result management unit 110. Details of the processing in the scheduling unit 111 will be described later.
  • step S203 the analysis result management unit 110 branches subsequent processing depending on the presence or absence of an executable schedule input from the scheduling unit 111 described above. For example, when there is an executable schedule (S203: Yes), the analysis result management unit 110 advances the processing to step S204. On the other hand, when there is no executable schedule (S203: No), the analysis result management unit 110 notifies the client terminal 200 that analysis is impossible and ends the process.
  • step S204 described above the data analysis system 100 calls the task execution unit 112, and the task execution unit 112 executes the task based on the schedule written in the schedule database 129.
  • the task execution unit 112 in step S204 outputs the executed task execution result to the analysis result management unit 110 when all the tasks having the same query ID in the execution task database 127 are executed. Details of processing in the task execution unit 112 will be described later.
  • step S205 the analysis result management unit 110 outputs the task execution result output by the task execution unit 112 in step S204 described above to the client terminal 200 as a data analysis result, and ends the process.
  • Schedule generation process ---
  • FIG. 9 is a flowchart showing a procedure example 2 of the data analysis method according to the present embodiment, and more specifically, a process flow in the scheduling unit 111.
  • the flow illustrated here assumes an example in which the scheduling unit 111 is started as a task gazette supplemented by receiving one or more records of the query interpretation database 125 from the analysis result management unit 110 as a trigger.
  • step S2021 in the flow the scheduling unit 111 determines whether there is an input task candidate. As a result of this determination, if even one task candidate exists (S2021: Yes), the scheduling unit 111 advances the process to step S2022. On the other hand, if no task candidate exists as a result of the above determination (S2021: No), the scheduling unit 111 outputs that there is no executable schedule to the analysis result management unit 110, and ends the processing. .
  • step S2022 the scheduling unit 111 determines whether there are a plurality of task candidates. If the result of this determination is that there is only one task candidate (S2022: No), the scheduling unit 111 advances the processing to step S2026 described later. On the other hand, if a plurality of task candidates exist as a result of the above determination (S2022: Yes), the scheduling unit 111 advances the process to step S2023.
  • step S2023 the scheduling unit 111 refers to the priority value in each task candidate and determines whether there is a priority setting.
  • the determination results in “Yes”.
  • the scheduling unit 111 selects a task candidate having the lowest priority value, that is, the highest priority task. Select from the candidate group.
  • the scheduling unit 111 may further specify a task set to be executed that is already registered in the execution task database 127 in addition to the task candidate selected in Step S2023.
  • the scheduling unit 111 selects which task candidate from the task candidate group 602 in step S2025.
  • An interface for asking the user whether or not is output to the client terminal 200, and selection of a task candidate is accepted.
  • An example of a screen including an interface for selecting this task candidate is shown in FIG.
  • the screen 603 illustrated in FIG. 12 has a configuration in which a check box 6032 for selecting a task candidate is arranged for a task candidate group 6031 that is a set of task candidates for which priority values are not set. Yes.
  • the user operating the client terminal 200 checks a desired task candidate with this check box 6032, and then clicks an OK button 6033 to execute a task candidate selection and confirmation operation.
  • the scheduling unit 111 of the data analysis system 100 specifies the task candidate checked in the check box 6032 as a task candidate to be selected by the user.
  • step S2026 the scheduling unit 111 reads from the task database 126 using each task ID (ID set in each dependent task column) included in the task candidate selected in step S2023 or step S2025 described above as a key. Identify load parameters.
  • the scheduling unit 111 reads each constraint expression from the task constraint database 128, and the constraint content defined by each constraint expression includes a task set (a set of dependent tasks) included in the above-described corresponding task candidate and load parameters obtained from them. Is satisfied, and a task execution schedule for optimizing (maximizing or minimizing) the predetermined objective function described above is searched using a predetermined algorithm.
  • Such a schedule search can be formulated as a constraint satisfaction problem and a constrained optimization problem.
  • a general-purpose algorithm that solves the problem finds a feasible and optimal execution schedule for an arbitrary task set. Can do.
  • step S2026 As a result of step S2026 described above, if an executable task execution schedule could not be searched for, that is, it did not exist (S2026: No), the scheduling unit 111 advances the process to step S2027. On the other hand, if there is an executable task execution schedule (S2026: Yes), in step S2028, the scheduling unit 111 outputs the executable schedule to the schedule database 129 and ends the process.
  • step S2027 the scheduling unit 111 selects the task selected in step S2024 or step S2025 from the task candidate group 602 (one or more records in the query interpretation database 125) received from the analysis result management unit 110 at the start of the flow.
  • the candidate is deleted, and the process returns to step S2021 with the new task candidate group that is the difference as an input. --- Processing of task execution part ---
  • FIG. 13 is a flowchart showing a procedure example 3 of the data analysis method of the present embodiment, and specifically shows a processing flow in the task execution unit 112.
  • the task execution unit 112 of the data analysis system 100 executes the task of collecting and analyzing analysis target data according to the storage information of the schedule database 129 generated by the scheduling unit 111 described above, that is, the task execution schedule.
  • step S2500 the task execution unit 112 collates the value in the time column of each record in the schedule database 129 with the current time indicated by the clock function normally provided as a computer at predetermined time intervals. The arrival of the execution time of each execution task specified by 129 is detected.
  • step S2501 the task execution unit 112 extracts the execution task ID of the execution task whose execution time has arrived from the schedule database 129, and executes this execution.
  • the execution task database 127 By referring to the execution task database 127 using the task ID as a key, the corresponding task ID and variable are specified.
  • step S2502 the task execution unit 112 specifies a command by referring to the task database 126 using the task ID specified above as a key, and uses the variable specified above as an argument as an argument at the execution time described above. Run together. Thereby, the analysis object data collected from each data source is analyzed according to the schedule.
  • data to be analyzed can be efficiently and reliably acquired from a plurality of data providers distributed over a wide area in consideration of various restrictions, and data analysis can be executed.
  • the calculation device when generating the schedule, is the specified load, the calculation time and calculation load in the data analysis system when executing the task,
  • the corresponding task involving at least one of the communication loads in the network with the collection destination is executed under the restriction of communication at the time of data provision stipulated by the collection destination, which is the restriction condition.
  • the analysis target data collection and analysis schedule that achieves the object may be generated by a predetermined algorithm.
  • each pattern is selected as candidate information.
  • the storage device also defines the task definition associated with the collection and analysis of the analysis target data as well as the collection priority of the analysis target data in the first information.
  • the pattern is identified, when the plurality of patterns that match at least the collection destination of the analysis target data indicated by the corresponding query can be identified, Of these patterns, the pattern having the highest adoption priority may be specified.
  • the information processing system when generating the schedule, is the specified load, the calculation time and calculation load in the data analysis system when executing the corresponding task, When executing the corresponding task accompanied by at least one of the communication loads in the network with the collection destination under the restriction of communication at the time of data provision defined by the collection destination, which is the constraint condition,
  • the analysis target data collection and analysis schedule that achieves a predetermined purpose may be generated by a predetermined algorithm.
  • the information processing system when the information processing system identifies a plurality of patterns that match at least the collection destination of the analysis target data indicated by the corresponding query when identifying the pattern, the information processing system selects each pattern as a candidate.
  • the information may be output to a predetermined device, an instruction for pattern selection from a user of the predetermined device may be received, and the pattern may be specified according to the instruction.
  • the information processing system includes, in the first information of the storage device, a task definition associated with collection and analysis of the analysis target data, together with at least a collection destination of the analysis target data,
  • a task definition associated with collection and analysis of the analysis target data, together with at least a collection destination of the analysis target data
  • Network 100 Data Analysis System 101 Storage Device 102 Program 103 Memory 104 CPU (Calculation Device) 105 communication device 110 analysis result management unit 111 scheduling unit 112 task execution unit 125 query interpretation database 126 task database 127 execution task database 128 task constraint database 129 schedule database 130 analysis database 200 client terminal 300 open data providing system 400 excavation / construction service company System 500 Field data provision system

Abstract

広域分散した複数のデータ提供元から、各種制約を踏まえて効率的かつ確実に分析対象のデータを取得し、データ分析を実行可能とするものであって、データ分析システム100において、クエリ解釈DB125とタスクDB126を格納した記憶装置101と、データ分析のクエリをクエリ解釈DB125に照合し、該当クエリが示すデータ収集先に関して一致するパターンを特定し、該当パターンで定義されている該当タスクに関する負荷をタスクDB126で特定し、特定した負荷を伴う該当タスクを制約条件下で実行する際に目的を達成する、分析対象データの収集および分析のスケジュールを所定アルゴリズムにて生成し、該当スケジュールに基づいて該当各タスクを実行して分析結果を生成し所定装置に送信する処理を実行する演算装置104を含む構成とする。

Description

データ分析システムおよびデータ分析方法
 本発明は、データ分析システムおよびデータ分析方法に関する。
 原油や天然ガスの掘削、生産等を行う資源事業では、生産量のモニタリングや経済性評価、坑井に取り付けられたセンサによる異常検知など、様々なデータ分析が行われている。また、このデータ分析では、坑井を保有するオペレータ、坑井の掘削や施工などを行うサービス会社、環境保護を目的にデータを収集する行政など、様々なステークホルダをまたがった大量のデータを取得し、分析対象として取り扱うことになる。
 そうしたデータ分析に関連する従来技術として、以下の技術が提案されている。すなわち、それぞれがプロセッサを備える複数のノードを格子状に接続させた格子型コンピュータシステムにおいて、格子型コンピュータシステムにおける複数のノードとノード間接続装置の接続形態にしたがって作成された論理ノードからなる格子モデルが、外部からなされる一つまたは複数のサービス要求に対応付けられた一つ以上の論理ノードを含む方形領域に分割されており、この方形領域内のいずれかの論理ノードにおいて実行されるスケジューラが、該方形領域に対応するサービス要求のジョブを構成するタスクの並列度および直列度に基づいて、方形領域内の他の論理ノードにタスクを処理するためのプログラムを割り当てることを特徴とする格子型コンピュータシステム(特許文献1参照)などが提案されている。
 加えて、複数の分析アプリ共通のメタモデルを挟むことにより、アプリ間の連携の実装が比較的容易になり、また他のアプリのデータにも直接アクセス可能となる技術(非特許文献1参照)なども提案されている。
特開2007-20698号公報 Vadim Veyber, Anton Kudinov, Nikolay Markov "Model-driven Platform for Oil and Gas Enterprise Integration". International Journal of Computer Applications Volume 49-No5, july 2012.
 しかしながら従来技術においては、データ取得先たる各ステークホルダが定めた各種制約(例:機器や通信の性能に基づくもの)を踏まえたデータ取得とその分析が出来ない。そのため、広域分散したステークホルダのそれぞれから分析用のデータを取得して分析を行おうとした場合、各ステークホルダのデータ提供サービスの制限や、分析環境たる分析装置やネットワークの処理能力の限界、を超えたデータ要求を行ってしまい、データの取得および分析が不可能となる事態が生じうる。
 そこで本発明の目的は、広域分散した複数のデータ提供元から、各種制約を踏まえて効率的かつ確実に分析対象のデータを取得し、データ分析を実行する技術を提供することにある。
 上記課題を解決する本発明のデータ分析システムは、分析対象データの収集および分析に伴うタスクの定義を、少なくとも分析対象データの収集先と対応付けてパターン分けした第1情報と、前記タスクの実行に伴う少なくともデータ通信に関する負荷を定義した第2情報と、を格納した記憶装置と、所定装置から得たデータ分析のクエリを前記第1情報に照合し、該当クエリが示す少なくとも分析対象データの収集先に関して一致するパターンを特定し、該当パターンで定義されている該当タスクに関する負荷を前記第2情報で特定する処理と、前記特定した負荷を伴う前記該当タスクを、所定の制約条件下で実行する際に、所定目的を達成する、前記分析対象データの収集および分析のスケジュールを所定アルゴリズムにて生成し、該当スケジュールに基づいて該当各タスクを実行して分析結果を生成し、当該分析結果を所定装置に送信する処理と、を実行する演算装置とを備えることを特徴とする。
 また、本発明のデータ分析方法は、分析対象データの収集および分析に伴うタスクの定義を、少なくとも分析対象データの収集先と対応付けてパターン分けした第1情報と、前記タスクの実行に伴う少なくともデータ通信に関する負荷を定義した第2情報と、を格納した記憶装置を備える情報処理システムが、所定装置から得たデータ分析のクエリを前記第1情報に照合し、該当クエリが示す少なくとも分析対象データの収集先に関して一致するパターンを特定し、該当パターンで定義されている該当タスクに関する負荷を前記第2情報で特定する処理と、前記特定した負荷を伴う前記該当タスクを、所定の制約条件下で実行する際に、所定目的を達成する、前記分析対象データの収集および分析のスケジュールを所定アルゴリズムにて生成し、該当スケジュールに基づいて該当各タスクを実行して分析結果を生成し、当該分析結果を所定装置に送信する処理とを実行することを特徴とする。
 本発明によれば、広域分散した複数のデータ提供元から、各種制約を踏まえて効率的かつ確実に分析対象のデータを取得し、データ分析を実行できる。
本実施形態におけるデータ分析システムを含むネットワーク構成図である。 本実施形態におけるデータ分析システムのハードウェア構成例を示す図である。 本実施形態のクエリ解釈データベースのデータ構造例を示す図である。 本実施形態のタスクデータベースのデータ構造例を示す図である。 本実施形態の実行タスクデータベースのデータ構造例を示す図である。 本実施形態のタスク制約データベースのデータ構造例を示す図である。 本実施形態のスケジュールデータベースのデータ構造例を示す図である。 本実施形態のデータ分析方法の手順例1を示すフロー図である。 本実施形態のデータ分析方法の手順例2を示すフロー図である。 本実施形態における入力クエリの例を示す図である。 本実施形態におけるクエリ解釈結果の例を示す図である。 本実施形態における画面例を示す図である。 本実施形態のデータ分析方法の手順例3を示すフロー図である。
---ネットワーク構成---
 以下に本発明の実施形態について図面を用いて詳細に説明する。図1は本実施形態のデータ分析システム100を含むネットワーク構成例を示す図である。図1に示すデータ分析システム100は、広域分散した複数のデータ提供元から、各種制約を踏まえて効率的かつ確実に分析対象のデータを取得し、データ分析を実行可能とするコンピュータシステムである。
 換言すれば、本実施形態のデータ分析システム100は、(予め予定された定期的なものでない)突発的なデータ分析クエリをトリガーに、データ収集および分析に関するタスクのスケジューリングを実施し、分析環境やネットワークの処理能力の限界、各ステークホルダのデータ提供サービスの制限の中で、データ提供サービスを含む複数のデータソースの中から適切なものを選択することにより、効率的なデータ分析を可能とする。
 こうしたデータ分析システム100は、一例として、原油生産に関するデータを各データソースから収集し、これを分析する分析環境を想定する。このため本実施形態のデータ分析システム100は、ネットワーク10に接続され、例えば、クライアント端末200、行政のオープンデータを提供するオープンデータ提供システム300、原油坑井の掘削・施工を行うサービス会社の坑井の掘削・施工に関わるデータを提供する掘削・施工サービス会社システム400、稼働中の坑井における原油生産量や取り付けられた機器のセンサデータを提供するフィールドデータ提供システム500、とデータ通信が可能となっている。
 このうち、上述のクライアント端末200は、キーボードやマウスなどの入力インターフェースを介して、坑井採掘計画立案者、坑井管理者からのデータ入力を受け付ける処理や、データ分析システム100から得たデータをディスプレイ等に表示するといった各種処理を担っている。なお、図1のネットワーク構成では、このクライアント端末200を1つのみ例示しているが、ネットワーク10に複数接続されているとしても良い。
---ハードウェア構成---
 図2は本実施形態におけるデータ分析システム100のハードウェア構成例を示す図である。本実施形態におけるデータ分析システム100のハードウェア構成例は以下の如くとなる。
 データ分析システム100は、ハードディスクドライブなど適宜な不揮発性記憶素子で構成される記憶装置101、RAMなど揮発性記憶素子で構成されるメモリ103、記憶装置101に保持されるプログラム102をメモリ103に読み出すなどして実行しシステム自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうCPU104(演算装置)、ネットワーク10と接続し他装置200~500との通信処理を担う通信装置105を備える。
 なお、上述のプログラム102を実行することで、分析結果管理部110、スケジューリング部111、およびタスク実行部112の各機能部が実装される。これら各機能部の詳細については後述する。
 また、記憶装置101には、上述のプログラム102の他に、クエリ解釈データベース125、タスクデータベース126、実行タスクデータベース127、タスク制約データベース128、スケジュールデータベース129、および分析データベース130、の各データベースが格納されている。これらデータベースは、上述したプログラム102やクライアント端末200によって参照、編集される。
 また本実施形態におけるデータ分析システム100では、クライアント端末200との間でデータ入出力を行うことを想定した構成としたが、データ分析システム100自体が入出力機能及びデバイス(ディスプレイやキーボード等)を有するとしもよい。
---機能構成---
 続いて、本実施形態のデータ分析システム100が備える機能について説明する。上述したように、以下に説明する機能は、例えばデータ分析システム100のCPU104がプログラム102を実行することで実装される機能と言える。なお、ここでの説明におけるデータベースの詳細については後述する。
 データ分析システム100は、クライアント端末200から受け取った分析クエリに応じて、分析データベース130やオープンデータ提供システム300、掘削・施工サービス会社システム400、フィールドデータ提供システム500のうち1つまたは複数のデータソースからの必要なデータ収集と、取集したデータの加工(分析)などの実行すべきタスク案を1つまたは複数を分析結果生成部107に出力する機能を備えている。この機能は、分析結果管理部110の機能に対応している。
 また、データ分析システム100は、分析対象たるデータの収集および加工において、データソースであるオープンデータ提供システム300、掘削・施工サービス会社システム400、およびフィールドデータ提供システム500における各通信制限や、当該データ分析システム100の処理能力(CPU104の演算能力等)、クライアント端末200が求める分析結果の必要時期を制約として、上述の分析結果管理部110から受け取った1つまたは複数のタスク案の中から当該制約を満たすスケジュールを生成する機能を備えている。この機能は、スケジューリング部111の機能に対応している。
 また、データ分析システム100は、上述のスケジューリング部111が生成した当該スケジュールに基づき、必要な各タスクを実行して分析対象データの収集および分析を行う機能を備えている。なお、収集した分析対象データは分析データベース130に格納され、分析に際して参照されることとなる。従って分析データベース130は、オープンデータ提供システム300、掘削・施工サービス会社システム400、フィールドデータ提供システム500から収集された各種データを格納するデータベースである。こうした機能は、タスク実行部112の機能に対応している。
---データ構造---
 続いて、本実施形態のデータ分析システム100が用いるデータベース類について説明する。図3に、本実施形態におけるクエリ解釈データベース125のデータ構造例を示す。本実施形態におけるクエリ解釈データベース125は、クライアント端末200から受け取った分析クエリの解釈ルールと、その分析クエリに対応するデータを取得するために必要なタスクの関係を定義した情報を格納するデータベースである。
 図3に例示するクエリ解釈データベース125において、そのレコード構造は、当該クエリ解釈データベース125のレコードを一意に特定するクエリIDをキーとして、優先度、クエリパターン、変数範囲、依存タスク、およびタスク変数といった値を対応付けた構成となっている。
 このうち優先度は、複数のタスク実行案が得られた際の優先順位づけに用いる数値である。例えば、該当タスクの実行により収集・分析する各データの必要度に応じて、予めユーザ(上述の坑井採掘計画立案者や坑井管理者など)が判断して設定した値となる。
 また、クエリパターンは、1または複数の変数を含んだ分析クエリのテンプレートを示す値である。具体的には、図3のクエリ解釈データベース125のうち、クリエID「36」のレコードで示すように、「Select prod, date from production where (Operator = v1)」として示すように、オペレーター「v1」(“v1”は変数)の坑井における「prod」すなわち生産量データ(production volume data)を選択抽出する、といった各種のクエリパターンが設定されている。
 また変数範囲は、クエリパターンに含まれる変数各々の範囲を示す値である。上述のクリエID「36」のクエリパターンの例であれば、「v1={Op1}」、つまり、オペレーター「Op1」が変数の値として設定されている。
 また依存タスクは、分析クエリに対応するデータを生成するのに必要な1または複数のタスク各々に対応するタスクIDを示す値である。上述のクリエID「36」のクエリパターンの例であれば、必要なタスクとして「34」が設定されている。またタスク変数は、当該タスクの引数として用いられる1または複数の変数を示す値であり、例えば、分析対象のデータのファイル名や格納先のアドレスといった値が想定出来る。
 図4は本実施形態のタスクデータベース126のデータ構造例を示す図である。本実施形態におけるタスクデータベース126は、上述のクエリ解釈データベース125で規定された各タスクに応じた各種コマンド、および当該コマンドを実行したときにデータ分析システム100やネットワーク10、オープンデータ提供システム300、掘削・施工サービス会社システム400、フィールドデータ提供システム500にかかる負荷の情報を格納するデータベースである。
 図4にて例示するタスクデータベース126のレコード構造は、当該タスクデータベース126のレコードを一意に特定するタスクIDをキーとして、該当タスクにおいて実行するコマンドと、該当コマンドを実行したときにデータ分析システム100やネットワーク10、オープンデータ提供システム300、掘削・施工サービス会社システム400、フィールドデータ提供システム500にかかる負荷を表す負荷パラメータとから構成されている。このうち負荷パラメータは、当該コマンドの実行に伴って生じる、所要時間、データ分析システム100のCPU負荷率、ネットワーク10にかかる負荷率、といった各値を含むものとする。なお他にも、オープンデータ提供システム300、掘削・施工サービス会社システム400、フィールドデータ提供システム500への負荷率を含むとしてもよい。
 例えば、図4のタスクデータベース126のうち、タスクID「163」のレコードでは、或るオペレータ(op)の生産量データ(prod)をダウンロード(dl)するスクリプトを呼び出すコマンド「dl_prod_from_opendata(op)」が設定され、そのコマンドを実行した場合の所要時間は「50」秒、CPU負荷率は「5」、ネットワーク負荷率は「40」と規定されている。このコマンドを実行した場合、当該データ分析システム100のCPU負荷は高くないが、ネットワーク10に相応の負荷をかける。一方、タスクID「223」のレコードでは、該当コマンドを実行した場合の所要時間は「90」秒、CPU負荷率は「90」、ネットワーク負荷率は「0」と規定されており、このコマンドを実行した場合、ネットワーク10への影響は無いが、当該データ分析システム100のCPU負荷は高くなる。
 図5は本実施形態の実行タスクデータベース127のデータ構造例を示す図である。本実施形態における実行タスクデータベース127は、(候補も含めて)実行すべきタスクを格納するデータベースである。
 図5で例示する実行タスクデータベース127のレコード構造は、当該実行タスクデータベース127のレコードを一意に特定する実行タスクIDをキーとして、タスクID、クエリID、および変数の各値を対応付けた構成となっている。このうち、タスクIDは、クエリ解釈データベース125およびタスクデータベース126におけるタスクIDと共通する。また同様に、クエリIDは、クエリ解釈データベース125におけるクエリIDと共通する。また変数は、実行すべきタスクの引数と値が設定されている。
 こうした実行タスクデータベース127の各レコードは、クライアント端末200または分析結果管理部110により入力される。なお、具体的なタスクの例としては、オープンデータ提供システム300、掘削・施工サービス会社システム400、フィールドデータ提供システム500からネットワーク10を通じてのデータ収集や、収集したデータに対して、センサ等の生データであれば解釈できるデータへの変換、htmlやxmlのような構造化データであればパーシングなどのデータ加工(上述の変換も含めて分析の概念に該当)、収集および加工を行ったデータのデータ分析データベース130の書き込みや、書き込み済みのデータの読み込みが含まれる。
 図6は本実施形態のタスク制約データベース128のデータ構造例を示す図である。本実施形態におけるタスク制約データベース128は、データ収集、加工タスクを実施するにあたり、満たすべき制約や最小化、最大化する目的関数を格納するデータベースである。図6に例示するタスク制約データベース128のレコードは、当該タスク制約データベース128のレコードを一意に特定する制約IDをキーとして、制約式を対応付けた構造となっている。格納される制約式は、既に上述したように、分析対象データの収集、分析の各タスクを実行するにあたり、満たすべき制約や最小化、最大化する目的関数の数式が該当する。
 こうした制約式は、知見を備えた適宜なユーザによって予め記述、設定されるものである。また、クライアント端末200を操作するユーザによって、制約式の確認、変更が必要に応じて随時行われる。このユーザは、制約式の記述に際し、実行タスクデータベース127や、タスクデータベース126における各カラムを変数として扱い、タスク同士の順序関係、データ分析システム100のCPU負荷、ネットワーク負荷やオープンデータ提供システム300、掘削・施工サービス会社システム400、フィールドデータ提供システム500各々への負荷率の上限や、タスクを完遂する時間の上限などを表現することとなる。
 制約式の実例としては、図6のタスク制約データベース128における制約ID「342」、「343」の各レコードで示している。このうち、制約ID「342」の制約式「|Start_time(task_a)-start_time(task_b)|>40 for (task_a,task_b) in combinations(task) if Open_data_flag==1」は、「Open_data_flag」というパラメータ(負荷パラメータの一つ)が「1」のタスク同士のすべて組み合わせで、開始時間の差を取ると40(ここでは秒)以上になる制約を示している。なお、「Open_data_flag」は、オープンデータ提供システム300から分析対象データの収集を行うタスクに対して「1」が振られていることを想定する。こうした制約の意図は、オープンデータ提供システム300からデータ収集をする各タスクが存在する条件下で、各タスクの実行間隔が一定間隔に維持されなければならない、ことを示している。
 一方、制約ID「343」の制約式「Sum(CPU_load) < 90」は、負荷パラメータにおけるCPU負荷率たる「CPU_Load」の総和が、常に90%以下とする制約を示してる。
 図7は本実施形態のスケジュールデータベース129のデータ構造例を示す図である。本実施形態におけるスケジュールデータベース129は、分析対象データの収集、分析の各タスクを実行するスケジュールを格納するデータベースである。図7に例示するスケジュールデータベース129におけるレコードは、タスクを実行する時刻をキーとして、該当時刻に実行予定のタスクを一意に特定する実行タスクIDが対応付けた構成となっている。なお、このスケジュールデータベース129における実行タスクIDは、実行タスクデータベース127における実行タスクIDと共通する。
---フロー例---
 以下、本実施形態におけるデータ分析方法の実際手順について図に基づき説明する。以下で説明するデータ分析方法に対応する各種動作は、データ分析システム100のCPU104がメモリ103に読み出して実行するプログラム102によって実現される。そして、これらのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
 図8は、本実施形態におけるデータ分析方法の処理手順例1を示すフロー図であり、より具体的には、分析結果管理部110におけるフローを示す図である。なお、このフローは、データ分析システム100の分析結果管理部110が、ネットワーク10を通じてクライアント端末200から分析クエリを受信したことをトリガーとして開始される。
 当該フローにおけるステップS201において、分析結果管理部110は、クライアント端末200から受けた分析クエリを、クエリ解釈データベース125に照合し、当該クエリ解釈データベース125における各レコードのクエリパターンおよび変数の各値に関して、分析クエリとのパターンマッチングを行って、タスク候補を特定する。分析結果管理部110は、このパターンマッチによって特定した、クエリ解釈データベース125の1または複数のレコードをタスク候補としてスケジューリング部111に出力する。
 クライアント端末200から受信した分析クエリの例を図10に示す。図10で例示する分析クエリ601は、「Select prod, date from production where (Operator = “Op1”)」となっており、これを図3で例示したクエリ解釈データベース125の各レコードとパターンマッチングした場合、生産量データを抽出する構文を含むレコードとして、図11に示すようにクエリID「36」、「78」、「125」の3つレコードがタスク候補群602として特定されることになる。
 このように同一のパターンにマッチしたレコード、すなわちタスク候補は同種のデータを出力するものであるが、含まれる依存タスクは異なっている。例えば、クエリID「36」のレコードにおける依存タスク「34」はフィールドデータ提供システム500からデータ収集し、クエリID「78」のレコードにおける依存タスク「80」は、オープンデータ提供システム300からデータ収集し、クエリID「163」のレコードにおける依存タスク「163」は、以前他のデータ分析で収集した分析データベース130からデータを収集する、などとタスク内容は異なっている。。
 また、このタスク候補群602における各レコード、すなわちクエリにおける優先度は収集するデータの質に対応したものとなっている。例えば、フィールドデータ提供システム500には詳細かつ最新のデータが、オープンデータ提供システム300には詳細ではないが最新のデータが、分析データベース130には以前他のデータ分析のために収集した古いデータがそれぞれ含まれている場合、タスク候補群602における各レコードのような優先度づけがクライアント端末200から事前に行われているものとする。
 続いてステップS202において、データ分析システム100は、上述のステップS201において分析結果管理部110から出力された複数レコード、すなわちタスク候補群602を入力として、スケジューリング部111を呼び出し、スケジューリング部111によって、所定の制約条件下で所定目的を達成する際に実行可能な分析対象データの収集、分析のスケジュールを生成する。スケジューリング部111は、この際、生成したスケジュールをスケジュールデータベース129に出力し、実行可能なスケジュールの有無を分析結果管理部110に出力する。こうしたスケジューリング部111における処理の詳細は後述する。
 次に、ステップS203において、分析結果管理部110は、上述のスケジューリング部111から入力された実行可能なスケジュールの有無により、以後の処理を分岐させる。例えば、実行可能なスケジュールが存在する場合(S203:Yes)、分析結果管理部110は、処理をステップS204へ進める。一方、実行可能なスケジュールが存在しない場合(S203:No)、分析結果管理部110は、分析不可能である旨をクライアント端末200に通知して処理を終了する。
 上述のステップS204においてデータ分析システム100は、タスク実行部112を呼び出し、このタスク実行部112によって、スケジュールデータベース129に書き込まれているスケジュールに基づいてタスクを実行する。このステップS204におけるタスク実行部112は、実行タスクデータベース127における、クエリIDが同一のタスクを全て実行した際、実行したタスク実行結果を分析結果管理部110に出力する。タスク実行部112における処理の詳細は後述する。
 次にステップS205において、分析結果管理部110は、上述のステップS204でタスク実行部112により出力されたタスク実行結果を、データ分析結果としてクライアント端末200に出力し、処理を終了する。
---スケジュール生成の処理---
 ここで、上述した図8のフローにおけるステップS202の詳細について説明する。図9は、本実施形態のデータ分析方法の手順例2を示すフロー図であり、具体的には、スケジューリング部111における処理フローを示す図である。なお、ここで例示するフローは、スケジューリング部111が、タスク公報補として、クエリ解釈データベース125の1または複数のレコードを分析結果管理部110から受け取ったことをトリガーとして開始される例を想定する。
 当該フローにおけるステップS2021において、スケジューリング部111は、入力となるタスク候補が存在するか判定する。この判定の結果、タスク候補が1つでも存在すれば(S2021:Yes)、スケジューリング部111は処理をステップS2022に進める。他方、上述の判定の結果、タスク候補が1つも存在しなかった場合(S2021:No)、スケジューリング部111は、実行可能スケジュールが存在しないことを分析結果管理部110に出力し、処理を終了する。
 次にステップS2022において、スケジューリング部111は、タスク候補が複数であるか判定する。この判定の結果、タスク候補が1つのみであった場合(S2022:No)、スケジューリング部111は、後述するステップS2026へ処理を進める。他方、上述の判定の結果、タスク候補が複数存在した場合(S2022:Yes)、スケジューリング部111は、処理をステップS2023に進める。
 ステップS2023において、スケジューリング部111は、各タスク候補における優先度の値を参照し、優先度設定があるか判定する。図11で例示したタスク候補群602の例では、各タスク候補に対して優先度の値が設定されているため、当該判定では、「Yes」の結果となる。こうした判定の結果、各タスク候補に関して優先度の値が付与されていた場合(S2023:Yes)、ステップS2024において、スケジューリング部111は、優先度の値が最小、すなわち優先度最大のタスク候補をタスク候補群から選択する。図11で例示したタスク候補群602の場合、優先度の値が「1」で最小の、クエリID「36」のレコードを優先度最大のタスク候補として選択することとなる。この場合、スケジューリング部111は、当該ステップS2023で選択したタスク候補に加え、実行タスクデータベース127にて既に登録されている実行すべきタスク集合を更に特定するとしてもよい。
 一方、上述の判定の結果、各タスク候補に関して優先度の値が付与されていなかった場合(S2023:No)、ステップS2025において、スケジューリング部111は、タスク候補群602のうちどのタスク候補を選択するかをユーザに問うインターフェイスをクライアント端末200に出力し、タスク候補の選択を受け付ける。このタスク候補の選択用のインターフェイスを含む画面例を図12にて示す。図12にて例示する画面603は、優先度の値が設定されていない各タスク候補の集合たるタスク候補群6031に対し、タスク候補を選択するためのチェックボックス6032が配置された構成となっている。この場合にクライアント端末200を操作するユーザは、このチェックボックス6032で所望のタスク候補に関してチェックを入れた後、OKボタン6033をクリックして、タスク候補の選択確定動作を実行する。データ分析システム100のスケジューリング部111は、この動作を受けて、上述のチェックボックス6032でチェックの入ったタスク候補をユーザ選択対象のタスク候補として特定することとなる。
 続いてステップS2026において、スケジューリング部111は、上述のステップS2023またはステップS2025で選択された該当タスク候補の含む各タスクID(各依存タスク欄にセットされているID)をキーに、タスクデータベース126から負荷パラメータを特定する。
 またスケジューリング部111は、タスク制約データベース128から各制約式を読み取り、各制約式が規定する制約内容を、上述の該当タスク候補が含むタスク集合(依存タスクの集合)およびそれらに関して得た負荷パラメータらが満たしつつ、既に述べた所定の目的関数を最適化(最大化或いは最小化)する、タスク実行スケジュールを所定アルゴリズムにて探索する。
 こうしたスケジュール探索は、制約充足問題、および制約付き最適化問題として定式化可能であり、当該問題を解く汎用的なアルゴリズムにより、任意のタスク集合に対して、実行可能および最適な実行スケジュールを求めることができる。
 上述のステップS2026の結果、実行可能なタスク実行スケジュールを探索出来なかった、すなわち存在しなかった場合(S2026:No)、スケジューリング部111は、処理をステップS2027に進める。他方、実行可能なタスク実行スケジュールが存在した場合(S2026:Yes)、ステップS2028において、スケジューリング部111は、実行可能スケジュールをスケジュールデータベース129に出力し、処理を終了する。
 他方、ステップS2027において、スケジューリング部111は、当該フロー開始時に分析結果管理部110から受け取ったタスク候補群602(クエリ解釈データベース125の1または複数のレコード)から、ステップS2024またはステップS2025で選択したタスク候補を削除し、その差分となった新たなタスク候補群を入力としてステップS2021に処理を戻す。
---タスク実行部の処理---
 図13は本実施形態のデータ分析方法の手順例3を示すフロー図であり、具体的にはタスク実行部112における処理フローを示す図である。データ分析システム100のタスク実行部112は、上述のスケジューリング部111が生成したスケジュールデータベース129の格納情報、すなわちタスク実行スケジュールに従って、分析対象データの収集および分析のタスクを実行する。
 この場合、ステップS2500において、タスク実行部112は、スケジュールデータベース129における各レコードの時刻欄の値と、コンピュータとして通常備わるクロック機能が示す現在時刻とを所定時間毎に照合するなどして、スケジュールデータベース129が規定する各実行タスクの実行時刻の到来を検知する。
 上述のステップS2500の結果、実行タスクの実行時刻到来を検知した際、ステップS2501において、タスク実行部112は、実行時刻が到来した該当実行タスクの実行タスクIDをスケジュールデータベース129から抽出し、この実行タスクIDをキーに実行タスクデータベース127を参照して、対応するタスクIDおよび変数を特定する。 またステップS2502において、タスク実行部112は、上述で特定した当該タスクIDをキーにタスクデータベース126を参照してコマンドを特定し、当該コマンドを上述で特定した変数を引数として、上述の実行時刻に合わせて実行する。これにより、スケジュールに応じて各データソースから収集した分析対象データの分析がなされる。
 本実施形態によれば、広域分散した複数のデータ提供元から、各種制約を踏まえて効率的かつ確実に分析対象のデータを取得し、データ分析を実行可能となる。
 本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態のデータ分析システムにおいて、前記演算装置は、前記スケジュールを生成するに際し、前記特定した負荷である、該当タスクを実行する際の当該データ分析システムにおける演算時間および演算負荷と、前記収集先との間のネットワークにおける通信負荷の少なくともいずれかを伴う前記該当タスクを、前記制約条件である、前記収集先が規定しているデータ提供時の通信制限の下で実行する際に、所定目的を達成する、前記分析対象データの収集および分析のスケジュールを所定アルゴリズムにて生成するものであるとしてもよい。
 これによれば、当該システムから遠方に存在し、データ提供時の通信制限を課している各データ収集先との間で、各種の制約を踏まえた上で、的確なデータ収集およびその分析を可能とするスケジュール生成が出来ることとなり、ひいては、広域分散した複数のデータ提供元から、各種制約を踏まえて効率的かつ確実に分析対象のデータを取得し、データ分析を実行出来る。
 また、本実施形態のデータ分析システムにおいて、前記演算装置は、前記パターンを特定するに際し、該当クエリが示す少なくとも分析対象データの収集先に関して一致するパターンが複数特定できた場合、各パターンを候補情報として所定装置に出力して、前記所定装置のユーザからのパターン選択の指示を受け付け、当該指示に応じてパターンを特定するものであるとしてもよい。
 これによれば、当該システムから遠方に存在し、データ提供時の通信制限を課している各データ収集先との間で、各種の制約とユーザ意思も踏まえた的確なデータ収集およびその分析を可能とするスケジュール生成が出来ることとなり、ひいては、広域分散した複数のデータ提供元から、各種制約を踏まえて効率的かつ確実に分析対象のデータを取得し、データ分析を実行出来る。
 また、本実施形態のデータ分析システムにおいて、前記記憶装置は、前記第1情報において、分析対象データの収集および分析に伴うタスクの定義を、少なくとも分析対象データの収集先と共に、採用優先度にも対応付けてパターン分けして格納しており、前記演算装置は、前記パターンを特定するに際し、該当クエリが示す少なくとも分析対象データの収集先に関して一致するパターンが複数特定できた場合、当該特定した複数のパターンのうち採用優先度が最も高いものを特定するものであるとしてもよい。
 これによれば、当該システムから遠方に存在し、データ提供時の通信制限を課している各データ収集先との間で、各種の制約とユーザ意思も踏まえた的確で効率的なデータ収集およびその分析を可能とするスケジュール生成が出来ることとなり、ひいては、広域分散した複数のデータ提供元から、各種制約を踏まえて効率的かつ確実に分析対象のデータを取得し、データ分析を実行出来る。
 また、本実施形態のデータ分析方法において、前記情報処理システムは、前記スケジュールを生成するに際し、前記特定した負荷である、該当タスクを実行する際の当該データ分析システムにおける演算時間および演算負荷と、前記収集先との間のネットワークにおける通信負荷の少なくともいずれかを伴う前記該当タスクを、前記制約条件である、前記収集先が規定しているデータ提供時の通信制限の下で実行する際に、所定目的を達成する、前記分析対象データの収集および分析のスケジュールを所定アルゴリズムにて生成するとしてもよい。
 また、本実施形態のデータ分析方法において、前記情報処理システムは、前記パターンを特定するに際し、該当クエリが示す少なくとも分析対象データの収集先に関して一致するパターンが複数特定できた場合、各パターンを候補情報として所定装置に出力して、前記所定装置のユーザからのパターン選択の指示を受け付け、当該指示に応じてパターンを特定するとしてもよい。
 また、本実施形態のデータ分析方法において、前記情報処理システムは、前記記憶装置の前記第1情報において、分析対象データの収集および分析に伴うタスクの定義を、少なくとも分析対象データの収集先と共に、採用優先度にも対応付けてパターン分けして格納し、前記パターンを特定するに際し、該当クエリが示す少なくとも分析対象データの収集先に関して一致するパターンが複数特定できた場合、当該特定した複数のパターンのうち採用優先度が最も高いものを特定するとしてもよい。
10 ネットワーク
100 データ分析システム
101 記憶装置
102 プログラム
103 メモリ
104 CPU(演算装置)
105 通信装置
110 分析結果管理部
111 スケジューリング部
112 タスク実行部
125 クエリ解釈データベース
126 タスクデータベース
127 実行タスクデータベース
128 タスク制約データベース
129 スケジュールデータベース
130 分析データベース
200 クライアント端末
300 オープンデータ提供システム
400 掘削・施工サービス会社システム
500 フィールドデータ提供システム

Claims (8)

  1.  分析対象データの収集および分析に伴うタスクの定義を、少なくとも分析対象データの収集先と対応付けてパターン分けした第1情報と、前記タスクの実行に伴う少なくともデータ通信に関する負荷を定義した第2情報と、を格納した記憶装置と、
     所定装置から得たデータ分析のクエリを前記第1情報に照合し、該当クエリが示す少なくとも分析対象データの収集先に関して一致するパターンを特定し、該当パターンで定義されている該当タスクに関する負荷を前記第2情報で特定する処理と、
     前記特定した負荷を伴う前記該当タスクを、所定の制約条件下で実行する際に、所定目的を達成する、前記分析対象データの収集および分析のスケジュールを所定アルゴリズムにて生成し、該当スケジュールに基づいて該当各タスクを実行して分析結果を生成し、当該分析結果を所定装置に送信する処理と、を実行する演算装置と、
     を備えることを特徴とするデータ分析システム。
  2.  前記演算装置は、
     前記スケジュールを生成するに際し、前記特定した負荷である、該当タスクを実行する際の当該データ分析システムにおける演算時間および演算負荷と、前記収集先との間のネットワークにおける通信負荷の少なくともいずれかを伴う前記該当タスクを、前記制約条件である、前記収集先が規定しているデータ提供時の通信制限の下で実行する際に、所定目的を達成する、前記分析対象データの収集および分析のスケジュールを所定アルゴリズムにて生成するものである、
     ことを特徴とする請求項1に記載のデータ分析システム。
  3.  前記演算装置は、
     前記パターンを特定するに際し、該当クエリが示す少なくとも分析対象データの収集先に関して一致するパターンが複数特定できた場合、各パターンを候補情報として所定装置に出力して、前記所定装置のユーザからのパターン選択の指示を受け付け、当該指示に応じてパターンを特定するものである、
     ことを特徴とする請求項1に記載のデータ分析システム。
  4.  前記記憶装置は、
     前記第1情報において、分析対象データの収集および分析に伴うタスクの定義を、少なくとも分析対象データの収集先と共に、採用優先度にも対応付けてパターン分けして格納しており、
     前記演算装置は、
     前記パターンを特定するに際し、該当クエリが示す少なくとも分析対象データの収集先に関して一致するパターンが複数特定できた場合、当該特定した複数のパターンのうち採用優先度が最も高いものを特定するものである、
     ことを特徴とする請求項1に記載のデータ分析システム。
  5.  分析対象データの収集および分析に伴うタスクの定義を、少なくとも分析対象データの収集先と対応付けてパターン分けした第1情報と、前記タスクの実行に伴う少なくともデータ通信に関する負荷を定義した第2情報と、を格納した記憶装置を備える情報処理システムが、
     所定装置から得たデータ分析のクエリを前記第1情報に照合し、該当クエリが示す少なくとも分析対象データの収集先に関して一致するパターンを特定し、該当パターンで定義されている該当タスクに関する負荷を前記第2情報で特定する処理と、
     前記特定した負荷を伴う前記該当タスクを、所定の制約条件下で実行する際に、所定目的を達成する、前記分析対象データの収集および分析のスケジュールを所定アルゴリズムにて生成し、該当スケジュールに基づいて該当各タスクを実行して分析結果を生成し、当該分析結果を所定装置に送信する処理と、
     を実行することを特徴とするデータ分析方法。
  6.  前記情報処理システムは、
     前記スケジュールを生成するに際し、前記特定した負荷である、該当タスクを実行する際の当該データ分析システムにおける演算時間および演算負荷と、前記収集先との間のネットワークにおける通信負荷の少なくともいずれかを伴う前記該当タスクを、前記制約条件である、前記収集先が規定しているデータ提供時の通信制限の下で実行する際に、所定目的を達成する、前記分析対象データの収集および分析のスケジュールを所定アルゴリズムにて生成する、
     ことを特徴とする請求項5に記載のデータ分析方法。
  7.  前記情報処理システムは、
     前記パターンを特定するに際し、該当クエリが示す少なくとも分析対象データの収集先に関して一致するパターンが複数特定できた場合、各パターンを候補情報として所定装置に出力して、前記所定装置のユーザからのパターン選択の指示を受け付け、当該指示に応じてパターンを特定する、
     ことを特徴とする請求項5に記載のデータ分析方法。
  8.  前記情報処理システムは、
     前記記憶装置の前記第1情報において、分析対象データの収集および分析に伴うタスクの定義を、少なくとも分析対象データの収集先と共に、採用優先度にも対応付けてパターン分けして格納し、
     前記パターンを特定するに際し、該当クエリが示す少なくとも分析対象データの収集先に関して一致するパターンが複数特定できた場合、当該特定した複数のパターンのうち採用優先度が最も高いものを特定する、
     ことを特徴とする請求項5に記載のデータ分析方法。
PCT/JP2015/062226 2015-04-22 2015-04-22 データ分析システムおよびデータ分析方法 WO2016170613A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/062226 WO2016170613A1 (ja) 2015-04-22 2015-04-22 データ分析システムおよびデータ分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/062226 WO2016170613A1 (ja) 2015-04-22 2015-04-22 データ分析システムおよびデータ分析方法

Publications (1)

Publication Number Publication Date
WO2016170613A1 true WO2016170613A1 (ja) 2016-10-27

Family

ID=57143465

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/062226 WO2016170613A1 (ja) 2015-04-22 2015-04-22 データ分析システムおよびデータ分析方法

Country Status (1)

Country Link
WO (1) WO2016170613A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239898A (zh) * 2017-05-31 2017-10-10 河北宏龙环保科技有限公司 一种深南榆科地区产能评价方法
WO2018142942A1 (ja) * 2017-01-31 2018-08-09 富士通株式会社 表示プログラム、表示方法および表示装置
CN110275880A (zh) * 2019-05-21 2019-09-24 阿里巴巴集团控股有限公司 数据分析方法、装置、服务器及可读存储介质
CN111556097A (zh) * 2020-04-07 2020-08-18 深圳市海洋王照明工程有限公司 一种数据传输方法、采集站、采集终端及数据采集系统
WO2024018693A1 (ja) * 2022-07-19 2024-01-25 富士フイルム株式会社 情報処理装置、情報処理方法、及び情報処理プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004265078A (ja) * 2003-02-28 2004-09-24 Sanyo Electric Co Ltd 薬剤調査プログラム、薬剤調査装置、薬剤調査依頼装置、及び薬剤情報提供装置
JP2006079488A (ja) * 2004-09-13 2006-03-23 Mitsubishi Electric Corp データ収集装置、データ収集システム及びデータ収集方法
JP2011150501A (ja) * 2010-01-21 2011-08-04 Nec Corp 情報処理装置
JP2011197785A (ja) * 2010-03-17 2011-10-06 Nomura Research Institute Ltd ログ収集システムおよびログ収集プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004265078A (ja) * 2003-02-28 2004-09-24 Sanyo Electric Co Ltd 薬剤調査プログラム、薬剤調査装置、薬剤調査依頼装置、及び薬剤情報提供装置
JP2006079488A (ja) * 2004-09-13 2006-03-23 Mitsubishi Electric Corp データ収集装置、データ収集システム及びデータ収集方法
JP2011150501A (ja) * 2010-01-21 2011-08-04 Nec Corp 情報処理装置
JP2011197785A (ja) * 2010-03-17 2011-10-06 Nomura Research Institute Ltd ログ収集システムおよびログ収集プログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018142942A1 (ja) * 2017-01-31 2018-08-09 富士通株式会社 表示プログラム、表示方法および表示装置
US10956505B2 (en) 2017-01-31 2021-03-23 Fujitsu Limited Data search method, data search apparatus, and non-transitory computer-readable storage medium storing program for data search
CN107239898A (zh) * 2017-05-31 2017-10-10 河北宏龙环保科技有限公司 一种深南榆科地区产能评价方法
CN110275880A (zh) * 2019-05-21 2019-09-24 阿里巴巴集团控股有限公司 数据分析方法、装置、服务器及可读存储介质
CN111556097A (zh) * 2020-04-07 2020-08-18 深圳市海洋王照明工程有限公司 一种数据传输方法、采集站、采集终端及数据采集系统
CN111556097B (zh) * 2020-04-07 2023-08-08 深圳市海洋王铁路照明技术有限公司 一种数据传输方法、采集站、采集终端及数据采集系统
WO2024018693A1 (ja) * 2022-07-19 2024-01-25 富士フイルム株式会社 情報処理装置、情報処理方法、及び情報処理プログラム

Similar Documents

Publication Publication Date Title
US20200319932A1 (en) Workload automation and data lineage analysis
WO2016170613A1 (ja) データ分析システムおよびデータ分析方法
US9578082B2 (en) Methods for dynamically generating an application interface for a modeled entity and devices thereof
US10756982B2 (en) Machine learning microservice architecture design tools and methods
US20050246350A1 (en) System and method for classifying and normalizing structured data
CN105516233A (zh) 用于在一个或多个云系统上便携部署应用的方法和系统
JP7054051B2 (ja) ソフトウェアロボット定義情報生成システム、ソフトウェアロボット定義情報生成方法、及びプログラム
Bauer et al. How much event data is enough? A statistical framework for process discovery
US20130346992A1 (en) Computing system, method for controlling thereof, and computer-readable recording medium having computer program for controlling thereof
CN101753619B (zh) 用于扩展服务模型的方法和系统
Bertolino et al. Towards component-based software performance engineering
D'Ambrogio et al. Towards performance-oriented perfective evolution of BPMN models
CN113811854A (zh) 利用跨应用的活动相关性的微应用功能建议
US20150169379A1 (en) Information processing method, information processing device, and recording medium
JP2018109977A (ja) 相互接続されたセマンティックデータにソースデータを昇格させるための方法およびプラットフォーム
Ferreira et al. A scalable and automated machine learning framework to support risk management
Mohammadi et al. An intelligent simulation-based framework for automated planning of concrete construction works
Bertolino et al. Modeling and analysis of non-functional properties in component-based systems
Liu et al. A repairing missing activities approach with succession relation for event logs
WO2020205150A1 (en) Validation of operating plans and schedules using machine learning
JP2017068418A (ja) 計画支援システム及び計画支援方法
Singh et al. ARCHI4MOM: Using Tracing Information to Extract the Architecture of Microservice-Based Systems from Message-Oriented Middleware
US20130218928A1 (en) Information processing device
CN103383683A (zh) It运维系统知识库的优化管理方法
US20210117886A1 (en) Data Preparation Method Related to Data Utilization and Data Utilization System

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

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP