WO2019193810A1 - Analysis sequence control system and analysis sequence control method - Google Patents

Analysis sequence control system and analysis sequence control method Download PDF

Info

Publication number
WO2019193810A1
WO2019193810A1 PCT/JP2019/001531 JP2019001531W WO2019193810A1 WO 2019193810 A1 WO2019193810 A1 WO 2019193810A1 JP 2019001531 W JP2019001531 W JP 2019001531W WO 2019193810 A1 WO2019193810 A1 WO 2019193810A1
Authority
WO
WIPO (PCT)
Prior art keywords
analysis
data
analysis program
program
file
Prior art date
Application number
PCT/JP2019/001531
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 株式会社日立製作所
Publication of WO2019193810A1 publication Critical patent/WO2019193810A1/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
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • 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
    • G06F9/54Interprogram communication

Definitions

  • the present invention relates to an analysis sequence control system and an analysis sequence control method.
  • IoT Internet of Things
  • a data analyst accesses a data storage area including a file system, a data lake, a data warehouse (DWH), etc. (data access process)
  • DWH data warehouse
  • visualizing the analysis result visualization process
  • a software program for performing data access processing, analysis processing, and visualization processing is called an analysis program, and development thereof is called development of an analysis program.
  • analysis programs software and services such as a wide variety of open source software (OSS) responsible for data access processing, analysis processing, and analysis result visualization processing can be used.
  • OSS open source software
  • the data analyst combines these plural analysis programs while correcting them to form one analysis sequence.
  • a software program for performing an analysis sequence control process for executing each analysis program according to the analysis sequence is called an analysis sequence control program, and its development is called development of an analysis sequence control program.
  • Such an analysis program and analysis sequence control program are generally shared by a plurality of data analysts (developers) as the development scale increases.
  • the data access process, analysis process, and visualization process are closely related to each other, such as passing data between each process or starting another process from one process.
  • data storage destinations for storing data to be visualized by the software or service may be limited.
  • the data to be acquired in the data access processing, the contents of data processing, and the number of samples of data to be acquired so that the input suitable for the analysis processing can be obtained It is necessary to decide. Therefore, when different data analysts are in charge of development of each process, it is necessary for the data analysts to match each other in order to maintain consistency between the processes. Therefore, in the case where the development is shared by a plurality of data analysts, the development must be advanced by adjusting the processing content and interface of each program so as to be consistent among the programs.
  • the first analysis program in charge of the data analyst A performs processing for extracting data from the database.
  • the second analysis program handled by the data analyst B performs a process of analyzing the data extracted by the first analysis program.
  • the analysis sequence control program in charge of the data analyst C performs processing for sequentially calling the first analysis program and the second analysis program through the call interface. Furthermore, when the analysis sequence control program calls the second analysis program, the analysis sequence control program informs the second analysis program of the storage location of the data extracted from the database by the first analysis program.
  • the data analyst A changes the first analysis program so as to take out a new type of data from the database.
  • the data analyst B changes the second analysis program so as to analyze the new type of data extracted by the first analysis program.
  • the data analyst C changes the analysis sequence control program so that the second analysis program is also notified of the storage location of the new type of data extracted from the database by the first analysis program.
  • the program change procedure is as follows. Data analyst A and data analyst B make adjustments by adjusting the data format of the new type of data. The data analyst A and the data analyst C adjust and determine the storage location of the new type of data. The data analyst B and the data analyst C adjust and determine how to notify the second analysis program of the storage location of the new type of data. When the redesigned programs are completed after these adjustments, the data analysts A, B, and C are simultaneously placed on a server or the like to be usable (hereinafter referred to as “deploy”).
  • Patent Document 1 and Patent Document 2 are known as techniques for transferring data between analysis programs executed in parallel.
  • Patent Document 1 when batch processing is run on a plurality of servers, even when a plurality of programs use a common file on the plurality of servers, access information of each file and file access by batch processing A method is disclosed in which a part of the subsequent process can be started without waiting for the end of all the batch processes in the preceding stage by analyzing the sequence of the above and using the analysis result.
  • Patent Document 2 discloses a method for transferring data on the new system by transmitting data address information from the old system to the new system when the data is transferred from the old system to the new system.
  • Patent Document 1 discloses a data transfer method when programs are operating in parallel.
  • data to be inherited is always fixed. Therefore, when different developers develop a plurality of analysis programs constituting the analysis sequence control program, the technique of Patent Document 1 requires that the design of the analysis program itself be changed when the data to be inherited increases or decreases. Some things remain the same. For this reason, the number of man-hours required for matching the consciousness between the developers is not reduced.
  • Patent Document 2 discloses a technique for preventing the influence of a change in data position even when updating a program by taking over address information.
  • the interface arrangement in consideration of executing two programs in parallel becomes complicated.
  • the address information itself must be created every time the program is updated. For this reason, the number of man-hours required for matching the consciousness between the developers is not reduced.
  • An object of the present invention is to enable a reduction in the number of man-hours for matching between developers who respectively develop a plurality of analysis programs executed in an analysis sequence control system and an analysis sequence control program that calls the analysis program. Is to provide.
  • An analysis sequence control system includes a plurality of analysis programs, a processor that executes an analysis sequence control program that calls the plurality of analysis programs according to an analysis sequence, and data analysis in the execution of the analysis program and the analysis sequence control program.
  • An analysis sequence control system comprising: a storage device used for storage, wherein the processor executes the analysis sequence control program so that when the analysis program is executed in parallel, the analysis program of the previous stage In response, the succeeding analysis program is created by creating the inheriting file information for specifying the inheriting file including the position information indicating the position where the succeeding analysis program stores the data, and executing the analyzing program.
  • the data inherited from the previous analysis program is acquired, and the data is subjected to predetermined processing.
  • the generated data is stored in the storage device, and the position information indicating the position where the generated data is stored is written to the inherited file specified by the inherited file information created corresponding to the analysis program. .
  • a takeover file that specifies a takeover file that includes position information indicating a position where data to be taken over by the subsequent analysis program is stored in correspondence with the previous analysis program. Create information. Then, by executing the analysis program, the data taken over from the previous analysis program is acquired based on the position information included in the transfer file specified by the transfer file information created corresponding to the previous analysis program. The data generated by performing predetermined processing on the data is stored in the storage device, and the position information indicating the position where the generated data is stored is the inherited file information created corresponding to the analysis program. Is written to the inherited file specified by.
  • the data to be transferred between analysis programs is specified in the transfer file, so even if there is a change in the data to be transferred between the analysis programs, the change can be absorbed by the transfer file, and the analysis sequence The interface that calls each analysis program from the control program does not change.
  • it is easy to implement data transfer, and reduce the amount of time required for developers to develop multiple analysis programs executed in the analysis sequence control system and analysis sequence control programs that call the analysis programs. Is possible.
  • FIG. 1 is a diagram showing an example of a configuration of a data analysis system 101 as an analysis sequence control system according to the present embodiment.
  • the data analysis system 101 is connected to an analysis sequence control server 102, an analysis server 103, a shared data store 104, a development server 105, a client device 106, and a data storage unit 107.
  • Network 108 to be configured.
  • the analysis sequence control server 102 has an analysis sequence control program 2041 for calling an analysis program according to a predetermined analysis sequence.
  • the analysis sequence control program 2041 includes an ID for identifying the analysis program, information indicating the execution format of the analysis program, and the order of calling the analysis program.
  • the analysis sequence control server 102 instructs the analysis server 103 to execute the analysis program 3041 by executing the analysis sequence control program 2041.
  • the analysis server 103 has an analysis program for performing data access processing, analysis processing, analysis result visualization processing, and the like.
  • the analysis server 103 executes these analysis programs 3041 according to instructions from the analysis sequence control server 102.
  • the shared data store 104 stores data transferred between the analysis sequence control server 102 and the plurality of analysis servers 103 and data that needs to be shared.
  • the development server 105 is a server used for developing an analysis sequence control program, an analysis program, or various setting files.
  • the development server 105 deploys programs and setting files developed via the network 108 to the analysis sequence control server 102 and the analysis server 103.
  • the client device 106 is a device that instructs the analysis sequence control server 102 to execute the analysis sequence control program 2041 via the network 108.
  • a personal computer, a tablet terminal, or the like is used as the client device 106.
  • the data storage unit 107 includes, for example, a file system, a data lake, a data warehouse (DWH), and the like.
  • the data storage unit 107 stores and holds data to be analyzed.
  • the analysis target data stored in the data storage unit 107 is taken in from an external server or an external service via the network 108, for example. Alternatively, it is taken in from a storage device such as a CD, USB memory, or externally connected hard disk drive connected to the input / output device of the data storage unit 107.
  • the network 108 is, for example, a wired or wireless LAN (Local Area Network), a WAN (Wide Area Network), the Internet, an intranet, a dedicated line, and the like.
  • LAN Local Area Network
  • WAN Wide Area Network
  • the Internet an intranet, a dedicated line, and the like.
  • the analysis sequence control server 102, the analysis server 103, the shared data store 104, and the development server 105 may each be a server device configured by a physical computer, or may be configured by a virtual machine. Further, the analysis sequence control server 102, the analysis server 103, and the shared data store 104 may be configured by a plurality of units for parallel execution.
  • the development server 105 and the client device 106 are not limited to one.
  • the roles of the servers may be mixed, and some or all of the servers may be included in one server device.
  • the analysis sequence control server 102 and the analysis server 103 may be configured on one physical server device, and the analysis sequence control server 102 and the analysis server 103 are configured as one physical server. It may be configured on a separate virtual machine of the device.
  • FIG. 2 is a diagram illustrating an example of hardware and functions included in the analysis sequence control server 102 of the present embodiment.
  • the analysis sequence control server 102 includes an input / output circuit interface 201, a processor 202, an input / output device 203, a storage device 204, and an internal communication line (for example, a bus) connecting them.
  • the input / output circuit interface 201 is an interface for communicating with the network 108.
  • the processor 202 is an arithmetic device and a control device.
  • the processor 202 executes the analysis sequence control program 2041 stored in the storage device 204.
  • the processor 202 calls the plurality of analysis programs 3041 according to the analysis sequence by executing the analysis sequence control program 2041.
  • the input / output device 203 is a device for accepting data input, outputting data, or both.
  • the input / output device 203 receives an input from a keyboard, a mouse, or the like, and displays information from the processor 202 on a display.
  • the storage device 204 includes a volatile storage device (DRAM (Dynamic Access Random Memory, etc.)) and a non-volatile storage device (HDD, SSD, etc.).
  • the storage device 204 stores an analysis sequence control program 2041 and an analysis sequence control engine 2042.
  • the analysis sequence control program 2041 is a software program for performing an analysis sequence control process for executing each analysis program in accordance with the analysis sequence.
  • the analysis sequence control program 2041 is executed by the processor 202 to instruct the analysis server to call the analysis program according to the analysis sequence.
  • the analysis sequence control engine 2042 is an application framework that executes the analysis sequence control program 2041 and provides functions necessary for analysis sequence control, such as parallel execution of analysis programs and automatic retry when an analysis program fails.
  • FIG. 3 is a diagram illustrating an example of hardware and functions provided in the analysis server 103 of the present embodiment.
  • the analysis server 103 includes an input / output circuit interface 301, a processor 302, an input / output device 303, a storage device 304, and an internal communication line (for example, a bus) connecting them.
  • the input / output circuit interface 301 is an interface for communicating with the network 108.
  • the processor 302 is an arithmetic device and a control device.
  • the processor 302 executes an analysis program 3041, an analysis program start script 3042, and a remote procedure call reception process 3043 stored in the storage device 304.
  • the input / output device 303 is a device for receiving data input, outputting data, or both.
  • the input / output device 303 receives an input from a keyboard, a mouse, or the like, and displays information from the processor 302 on a display.
  • the storage device 304 includes a volatile storage device (DRAM (Dynamic Access Random Memory, etc.)) and a non-volatile storage device (HDD, SSD, etc.).
  • the storage device 304 stores a plurality of analysis programs 3041, a plurality of analysis program activation scripts 3042, a remote procedure call reception process 3043, and an analysis library 3044.
  • a plurality of types of analysis programs 3041 (3041 [1] to 3041 [n], where n is a natural number equal to or greater than 2) use an algorithm such as a process for accessing the data storage unit 107 (data access process) and data for machine learning. This is a program that performs analysis processing (analysis processing), processing for visualizing analysis results (analysis result visualization processing), and the like, and outputs results according to the processing.
  • a plurality of types of analysis programs 3041 [1] to 3041 [n] are called from the analysis sequence control program 2041 and executed sequentially (sequentially) by the processor 302. Further, two or more of the plural types of analysis programs 3041 [1] to 3041 [n] may be executed in parallel. Executing only one analysis program 3041 is referred to as one parallel. Executing p analysis programs 3041 in parallel (p is a natural number) is called p-parallel.
  • the parallel execution ID is parallel execution unit identification information that identifies individual execution units included in the parallel execution
  • the parallel execution ID list is list information that lists a plurality of parallel execution IDs.
  • a numerical value (1 to p) may be used, or the data name key value (“power”, “currency”, “thermal” of the data name key 40411 included in the common setting file 4041 described later. Etc.) may be used.
  • a different parallel execution ID is assigned to each of the plurality of devices, and the analysis program 3041 related to the analysis of data collected from each device is executed in parallel. Identify by parallel execution ID.
  • the analysis program 3041 is executed for each of the 10 parallel execution IDs to obtain a total of 10 parallel executions.
  • the data name key value corresponds to data name key information. Details of the parallel execution method will be described later.
  • Analysis program startup scripts 3042 [1] to 3042 [n] are programs that operate in cooperation with the analysis programs 3041 [1] to 3041 [n]. Each analysis program activation script 3042 activates a corresponding analysis program 3041. Analysis program start scripts 3042 [1] to 3042 [n] exist for the analysis programs 3041 [1] to 3041 [n], respectively, and are pre-processing necessary for starting the analysis programs 3041 [1] to 3041 [n]. To implement. That is, when there are n types of analysis programs 3041, there are also n types of analysis program start scripts 3042. The analysis program activation script 3042 is executed in parallel by the analysis sequence control program 2041 for each parallel execution ID.
  • the remote procedure call acceptance process 3043 is a process for accepting a remote procedure call for starting the analysis program 3041 from the analysis sequence control program 2041 and starting the analysis program start script 3042.
  • the analysis program activation script 3042 to be activated is determined, and the analysis program activation script 3042 is activated.
  • the analysis library 3044 is a library that provides the analysis program 3041 with a function group necessary for analysis.
  • a machine learning library a library that performs statistical processing
  • a library that provides access to a database or a data lake a library that performs visualization can be used.
  • the analysis program 3041 may be developed by a different developer for each type.
  • the developers of the analysis sequence control program 2041 and the analysis program 3041 may be different.
  • FIG. 4 is a diagram illustrating an example of hardware and functions included in the shared data store 104 according to the present embodiment.
  • the shared data store 104 includes an input / output circuit interface 401, a processor 402, an input / output device 403, a storage device 404, and an internal communication line (for example, a bus) connecting them.
  • the input / output circuit interface 401 is an interface for communicating with the network 108.
  • the processor 402 is an arithmetic device and a control device.
  • the processor 402 passes the common setting file 4041, the takeover file 4042, the analysis data 4043, the analysis result 4044, etc. stored in the storage device 404 to the analysis sequence control server 102 and the analysis server 103 via the network 108. I do.
  • the input / output device 403 is a device for accepting data input, outputting data, or both.
  • the input / output device 403 receives input from a keyboard, a mouse, or the like, and displays information from the processor 402 on a display.
  • the storage device 404 includes a volatile storage device (DRAM (Dynamic Access Random Memory, etc.)) and a non-volatile storage device (HDD, SSD, etc.).
  • the storage device 404 stores a common setting file 4041, a takeover file 4042, analysis data 4043, and an analysis result 4044.
  • the common setting file 4041 is a file in which settings used in common by the analysis sequence control program 2041 and the analysis program 3041 are collected.
  • the takeover file 4042 is a file in which information related to data taken over between the analysis programs 3041 is collected.
  • the takeover file 4042 exists for each type of the analysis program 3041, and when the analysis program 3041 is executed in parallel, it exists for each parallel execution ID.
  • the takeover files 4042 [0] to [n-1] are used.
  • File 4042 [k ⁇ 1] is used.
  • the takeover file 4042 [0] including the contents of the parameters passed to the activation interface 601 of the analysis sequence control engine 2042 is used.
  • the takeover file 4042 [k-1] [ s] is used.
  • the analysis data 4043 is, for example, data taken over between the analysis programs 3041, the analysis program 3041 in the previous stage writes out the analysis data 4043, and the analysis program 3041 in the subsequent stage reads the analysis data 4043.
  • Position information indicating the position where the analysis data 4043 is stored is recorded in the takeover file 4042.
  • the position (storage location) of the analysis data 4043 is the data name value (“power — 1232.csv”) corresponding to the data name key value (“power”, “currency”, “thermal”, etc.) in the data name 40420 included in the takeover file 4042. ",” Currency_1232.csv ",” thermal_1232.csv “, etc.).
  • Analysis result 4044 is result data analyzed by executing a plurality of types of analysis programs 3041 according to the analysis sequence.
  • the analysis data 4043 and the analysis result 4044 may be stored in the data storage unit 107.
  • FIG. 5 is a diagram illustrating an example of hardware and functions provided in the development server 105 of the present embodiment.
  • the development server 105 includes an input / output circuit interface 501, a processor 502, an input / output device 503, a storage device 504, and an internal communication line (for example, a bus) connecting them.
  • the input / output circuit interface 501 is an interface for communicating with the network 108.
  • the processor 502 is an arithmetic device and a control device.
  • the processor 502 generates the analysis program start script 3042 by executing the start script generation tool 5041 stored in the storage device 504.
  • the input / output device 503 is a device for accepting data input, outputting data, or both.
  • the input / output device 503 receives an input from a keyboard, a mouse, or the like, and displays information from the processor 502 on a display.
  • Storage device 504 includes a volatile storage device (DRAM (Dynamic Access Random Memory, etc.)) and a non-volatile storage device (HDD, SSD, etc.).
  • the storage device 504 stores a startup script generation tool 5041, an analysis sequence setting file 5042, and an analysis program call format 5043.
  • the start script generation tool 5041 generates an analysis program start script 3042 based on the analysis sequence setting file 5042 and the analysis program call format 5043.
  • FIG. 6 is a diagram illustrating an example of elements included in the common setting file 4041.
  • the common setting file 4041 includes a server address 40410, a data name key 40411, a parameter key 40412, and a parameter default value 40413.
  • the server address 40410 includes a server address required at the time of analysis. For example, it includes the address of the shared data store 104 and the address of the data storage unit 107. For example, when the analysis sequence control program 2041 or the analysis program 3041 needs to access the data storage unit 107, the information of the server address 40410 is used as the access destination address.
  • the server address 40410 corresponds to the server type (“analyze_addr”, “db_addr”, etc.) and the address value (“192.168.0.1:8282”, “192.168.0.3:8282”, etc.). ) Is set.
  • the data name key 40411 includes a key used for identifying data to be inherited between the analysis programs 3041.
  • the data name key 40411 is set with a data name key value ("power”, “currency”, “thermal”, etc.) corresponding to the type of data ("power_file_name”, “currency_file_name”, “thermal_file_name”, etc.). . Details regarding the inheritance of data names will be described later.
  • the parameter key 40412 includes a key used when using a parameter value that can be set when the analysis sequence control program 2041 is started.
  • the parameter key 40412 is set with a parameter key value (such as “time_range” or “start_time”) corresponding to a parameter type (such as “time_range_parameter” or “start_time_parameter”).
  • a parameter key value such as “time_range” or “start_time”
  • a parameter type such as “time_range_parameter” or “start_time_parameter”.
  • start_time_parameter such as “time_range_parameter”
  • start_time_parameter start_time_parameter
  • the parameter default value 40413 is a parameter default value that can be set when the analysis sequence control program 2041 is started.
  • the parameter default value 40413 is a default value (“10”, “2016-01-01T18: 00: 00.0000Z”, etc.) for each parameter key value (“time_range”, “start_time”, etc.) of the parameter key 40412. Is set.
  • the parameter default value 40413 is used.
  • FIG. 7 is a diagram for explaining an example of elements included in the takeover file 4042.
  • the number of inherited files 4042 corresponds to the number of types of analysis programs and the number of parallel executions of analysis programs.
  • n inherited files 4042 (4042 [0] to 4042 [n-1]) are provided for the analysis programs 3041 [1] to 3041 [n].
  • p number of inherited files 4042 (4042 [k-1] [1] corresponding to the individual execution units of the parallel execution of the analysis program 3041 [k]. ] To 4042 [k ⁇ 1] [p]).
  • the takeover file 4042 includes a first analysis program 3041 [k ⁇ 1] that is executed first, It has data information to be taken over for each parallel execution unit between the analysis program 3041 [k] in the subsequent stage to be executed.
  • the takeover file 4042 includes a data name 40420 and a parameter value 40421.
  • the data name 40420 holds the data name inherited from the previous analysis program 3041 [k-1].
  • the data name is configured in a key-value format, and has the data name key value (“power”, “currency”, “thermal”, etc.) of the data name key 40411 of the common setting file 4041 as the key on the left side, and the value on the right side as the value It has a data name value ("power_1232.csv”, “currency_1232.csv”, "thermal_1232.csv”, etc.).
  • the data name value is location information indicating the location where the data is stored. For example, the file name, the address and table name of the database server, the address and table name of the data lake server, etc. are sufficient to obtain the data to be used. Information.
  • the analysis program 3041 can access the data to be processed using the data name value on the right side. Further, by including the data name key 40411 in the common setting file 4041, all the analysis sequence control programs 2041 and analysis programs 3041 can pass specific data based on the common data name key 40411. For example, when the data name key value of the takeover file 4042 is “power”, the data type of the data stored in “power — 1232.csv” indicated in the data name value corresponding to the data name key value is the common setting. It is derived from the file 4041 that it is “power_file_name”. In the present embodiment, a file name is set as the data name value, but the same method can be applied even when a data name value other than the file name is used.
  • the parameter value 40421 stores the parameter value actually set when the analysis sequence control program 2041 is started.
  • the parameter value 40421 has the data parameter key value (“time_range”, “start_time”, etc.) of the parameter key 40412 of the common setting file 4041 as the key on the left side, and the parameter value (“5”, “2017-06” as the value on the right side. -10T12: 00: 00.000Z "). Further, by including the parameter key 40412 in the common setting file 4041, all the analysis sequence control programs 2041 and analysis programs 3041 can pass specific data based on the common parameter key 40412.
  • the parameter key value of the takeover file 4042 is “start_time”
  • the parameter type “2017-06-10T12: 00: 00.00Z” indicated in the parameter value corresponding to this parameter key value is the common setting file. From 4041, it is derived that “start_time_parameter”.
  • the analysis program 3041 performs analysis using this parameter value 40421 in preference to the parameter default value 40413 included in the common setting file 4041.
  • the analysis sequence setting file 5042 shown in FIG. 8 and the analysis program call format 5043 shown in FIG. 9 are setting files used when the start script generation tool 5041 automatically generates the analysis program start script 3042.
  • FIG. 8 is a diagram for explaining an example of the analysis sequence setting file 5042.
  • the analysis sequence setting file 5042 includes an analysis sequence ID 50421 used for specifying an analysis sequence and a function list 50422, and includes a function ID 50423 and a function call address 50424 for each function.
  • the analysis sequence control program 2041 executes the analysis sequence specified by the analysis sequence ID 50421 that matches the analysis sequence ID passed as a parameter at the time of activation.
  • a function ID 50423 is an ID assigned to the analysis program 3041.
  • the function ID 50423 is used to correspond to the analysis program call format 5043.
  • a function call address 50424 is an address used when the analysis program 3041 is started. By accessing this address, the remote procedure call acceptance process 3043 calls an analysis program activation script 3042 that activates the analysis program 3041.
  • the server type of the server address 40410 of the common setting file 4041 may be designated, and in this case, it is converted into an address value and accessed.
  • FIG. 9 is a diagram showing an example of the analysis program call format 5043.
  • the analysis program call format 5043 includes a function ID 50431, a library name 50432, a script name 50433, a parallel execution method 50434, and a list of parameters 50435.
  • Each parameter 50435 includes a name field 50436 and a type field 50437.
  • the function ID 50431 corresponds to the function ID 50423 included in the analysis sequence setting file 5042.
  • the analysis sequence control program 2041 executes the analysis program 3041 in the order of the function ID 50423 included in the analysis sequence setting file 5042.
  • a library name 50432 is an analysis tool used by the analysis program 3041. Scripts such as “bash” and “python” and dedicated analysis tools can be used.
  • a script name 50433 is an execution file name of the analysis program 3041. If it is “bash” or “python”, the file name of the script is used.
  • the parallel execution method 50434 indicates whether the analysis program 3041 is executed in parallel (1) based on a parallel execution ID, or (2) is executed in parallel.
  • the list of parameters 50435 is a list of parameters to be passed to the analysis program 3041.
  • a parameter when starting the analysis program 3041 is generated.
  • Each parameter has a name field 50436 and a type field 50437.
  • the name field 50436 is a field that represents the association with the data name key value of the data name key 40411 of the common setting file 4041.
  • a type field 50437 indicates an attribute of the parameter. Specifically, it indicates whether it is a data name for read access, a data name for write access, or a parameter passed from the activation interface 601 or the common setting file 4041. Depending on the type field 50437, processing to be performed in the generated program changes.
  • the library name 50432 and the script name 50433 correspond to the analysis library name and the analysis script name.
  • the analysis program call format information includes a library name 50432, a script name 50433, a parallel execution method 50434, and a list of parameters 50435.
  • the name field 50436 and the type field 50437 are a name field and a type field.
  • FIG. 10 shows an example of the activation interface 601 of the analysis sequence control engine 2042.
  • the analysis sequence control engine 2042 is activated using, for example, a REST (REpresentation State Transfer) interface.
  • the activation interface 601 includes, as parameters, an analysis sequence ID and a parallel execution ID list that designates a parallel execution unit, and includes an address of the analysis sequence control engine 2042.
  • a parameter group for the analysis sequence control program 2041 is included.
  • the analysis sequence control engine 2042 activates the analysis sequence control program 2041 based on the analysis sequence ID included in the activation interface 601.
  • the parameter group for the analysis sequence control program 2041 is transferred, for example, in the JSON (Java Script Object Notation) format (Java Script is a registered trademark).
  • JSON Java Script Object Notation
  • the value passed by the activation interface 601 is used with priority over the parameter default value 40413 of the common setting file 4041.
  • a value that is not specified in the parameter key 40412 of the common setting file 4041 can also be passed through the activation interface 601. In this case, since the parameter default value 40413 of the common setting file 4041 is not included, it is necessary to set a default value in the analysis program 3041 or to set the parameter in the activation interface 601 without fail.
  • FIG. 11 shows an example of a flowchart of the overall analysis flow of the data analysis system 101.
  • the processor 202 of the analysis sequence control server 102 that executes each program and the processor 302 of the analysis server 103 are the main actors.
  • each program is described as the main subject for convenience. The part that is included is also included.
  • the activation interface 601 of the analysis sequence control engine 2042 is executed from the client device 106 (S1100).
  • the analysis sequence control engine 2042 selects and executes an analysis sequence control program 2041 having an analysis sequence specified based on the analysis sequence ID included in the activation interface 601 (S1101).
  • the analysis sequence control program 2041 instructs the analysis server 103 to execute the analysis programs 3041 [1] to 3041 [n] according to the analysis sequence corresponding to the analysis sequence ID (S1102).
  • Each analysis program 3041 may be executed in parallel in plural cases or in one parallel case.
  • the remote procedure call acceptance process 3043 receives an instruction to execute the analysis program 3041, and activates the analysis program activation script 3042 (S1103). Then, the analysis program start script 3042 starts the analysis program 3041 (S1104), and the analysis program 3041 executes the analysis (S1105). After the analysis is completed, the process returns to the analysis sequence control program 2041. Then, the analysis sequence control program 2041 confirms the end of the execution of the previous analysis program 3041 [k ⁇ 1], and executes the subsequent analysis program 3041 [k] (S1106). When execution of all the analysis programs 3041 [1] to 3041 [n] is completed, the client device is notified of the analysis result (S1107). The client device 106 displays the analysis result (S1108).
  • FIG. 12 is a flowchart showing an example of analysis program call processing in the analysis sequence control program 2041. This explains the details of the processing in S1102 of FIG.
  • the analysis sequence control program 2041 decomposes the parallel execution ID list into individual parallel execution IDs (S1200). Then, the file name of the takeover file 4042 is generated (S1201). The file name of the takeover file 4042 is generated for each parallel execution ID regardless of the number of parallel executions of the analysis program 3041.
  • the file name generation logic of the takeover file 4042 is arbitrary as long as the object of the present invention is not violated. For example, it is conceivable that a parallel execution ID and an analysis program 3041 name are combined, and a file name is obtained by adding a prefix and a postfix.
  • the processor 202 executes the analysis programs 3041 [k] [1] to 3041 [k] [p].
  • a file name for specifying the takeover files 4042 [k-1] [1] to 4042 [k-1] [p] for storing the data name value of the data name 40420 for specifying the data to be taken over is created.
  • the data name value of the data name 40420 corresponds to data information
  • the file name of the takeover file 4042 corresponds to takeover file information.
  • a call interface for the analysis program 3041 is created. This is different between the case of executing in parallel for each parallel execution ID and the case of executing in parallel.
  • the file name of the takeover file 4042 [k-1] [s] corresponding to k-1] and the file name of the takeover file 4042 [k] [s] corresponding to the analysis program 3041 [k] itself are used as arguments. included.
  • the analysis sequence control program 2041 can easily specify the information of the takeover file through an interface for calling the analysis program 3041.
  • the previous analysis program 3041 does not exist. Therefore, the contents of the parameters passed by the activation interface 601 of the analysis sequence control engine 2042 are set to 1 as the takeover file 4042 [0]. This file is handled as a takeover file 4042 used by the analysis program 3041 [1].
  • the analysis sequence control program 2041 takes the file name of the separate takeover file 4042 for each parallel execution ID of the analysis program 3041 as an argument. Since each inheritance file 4042 includes a data name value that identifies data to be processed, the data indicated by the data name value included in the inheritance file 4042 is extracted from the shared data store 104 or the data storage unit 107 and processed. If the analysis program 3041 is assembled in the form of, the analysis processing can be performed in parallel for each parallel execution ID using the common analysis program 3041.
  • a call interface including a list of the takeover file 4042 [k] generated at the time of execution is generated (S1205).
  • the takeover file 4042 [k ⁇ 1] and the takeover file 4042 [k] correspond to all the parallel execution IDs. That is, the interface that calls the analysis program 3041 [k] by executing the analysis sequence control program 2041 by the processor 202 is the inherited file corresponding to the analysis program 3041 [k-1] preceding the analysis program 3041 [k].
  • Information indicating a list of 4042 [k ⁇ 1] and information indicating a list of the takeover file 4042 [k] corresponding to the analysis program 3041 “k” itself are included.
  • the analysis sequence control program 2041 can easily specify the information of the takeover file through an interface for calling the analysis program 3041.
  • the takeover files 4042 are collectively arranged in a specific directory, and the directory is passed as information indicating a list of the takeover files 4042.
  • analysis program start script 3042 for starting the analysis program 3041 is called using the call interface created in each case (S1207).
  • FIG. 13 shows details of the operation of the analysis program start script 3042 in the analysis sequence control program 2041.
  • the analysis program start script 3042 first reads the common setting file 4041. Subsequent operations differ depending on the parallel execution method of the analysis program 3041.
  • a write file name is generated as position information indicating the position (storage location) of data such as analysis data 4033 and analysis result 4044 (S1304).
  • the file name generation logic is arbitrary as long as the object of the present invention is not violated. For example, a prefix and a postfix may be added to the file name of the takeover file 4042.
  • parameters are extracted from the takeover file 4042 (S1305). Then, in accordance with the interface specification of the analysis program 3041, the analysis program 3041 is activated with the read file name, write file name, and extracted parameters as arguments (S1306).
  • a takeover file 4042 is generated and written for the subsequent analysis program 3041 to be executed next in accordance with the analysis sequence (S1307).
  • the newly generated takeover file 4042 uses the file name of the takeover file 4042 for the current analysis program 3041 included in the call interface of the analysis program start script 3042 that started the currently executing analysis program 3041.
  • the processor 302 executes the analysis program 3041 [k], thereby taking over the transfer file identified by the file name of the takeover file [k-1] [s] corresponding to the preceding analysis program 3041 [k-1].
  • Data name value for acquiring the inherited data specified by the data name value (file name) stored in the file [k-1] [s] and specifying the data generated by the predetermined processing using the inherited data (File name) is written to the takeover file [k] [s] specified by the file name of the takeover file 4042 [k] [s] corresponding to the analysis program [k]. Since the file name of the takeover file 4042 that differs for each parallel execution ID is set in the call interface, the takeover file 4042 having a different file name for each parallel execution ID is generated. Thus, since the existence of the takeover file 4042 is not seen from the viewpoint of the analysis program 3041, in the present invention, the developer of the analysis program 3041 does not need to be aware of the surrounding analysis program execution environment.
  • the list of the inherited file 4042 is included in the calling interface (S1308), first, the list of the inherited file 4042 of the preceding analysis program 3041 [k-1], the inheritance of the subsequent analysis program 3041 [k] to be executed this time. Both lists of the file 4042 are disassembled (S1309). Each list may include a plurality of file names of the takeover file 40402, or may include only one file name. Then, as in the case of parallel execution for each parallel execution ID, all inherited files 4042 of the previous analysis program 3041 [k ⁇ 1] are read (S1310), and the data name value of the data name key 40411 of the common setting file 4041 is read. The file to be read is specified based on (S1311).
  • a write file name is generated as position information indicating the position (storage location) of the analysis data 4033 and the analysis result 4044 for each parallel execution ID (S1312).
  • parameters are taken out from the takeover file 4042 (S1313).
  • the analysis program 3041 is activated with the read file name list, the write file name list, and the read parameters as arguments (S1314).
  • a takeover file 4042 is generated and written for each parallel execution ID for the subsequent analysis program 3041 to be executed next in accordance with the analysis sequence ( S1315). Also in this case, since the presence of the takeover file 4042 is not visible from the viewpoint of the analysis program 3041, the developer of the analysis program 3041 does not need to be aware of the surrounding analysis program execution environment.
  • the analysis program 3041 is started with the parallel execution ID list as an argument (S1316).
  • the analysis program 3041 recognizes the list of parallel execution IDs and executes the program.
  • the analysis program 3041 needs to be aware of the parallel execution ID, and the developer of the analysis program 3041 needs to be aware of the existence of the takeover file 4042.
  • Such a method for delivering a list of parallel execution IDs can be used in a special case, for example, when the list of parallel execution IDs is dynamically rewritten. This can be realized, for example, by changing the number of files in the directory in the analysis program 3041 with the list of parallel execution IDs as file names in a specific directory. Note that the case where the parallel execution ID list is included in the call interface may be omitted.
  • FIG. 14 shows an example of the takeover file writing method.
  • parameters are first written (S1400), then a read file name is written (S1401), and finally a write file name (S1402) is written.
  • the file name and parameter value to be actually used are written using the data name value of the data name key 40411 and the parameter key value of the parameter key 40412 included in the common setting file 4041 as keys.
  • FIG. 15 shows an example of the operation flow of the startup script generation tool 5041.
  • the start script generation tool 5041 is a program that generates an analysis program start script 3042 based on the analysis sequence setting file 5042 and the analysis program call format 5043.
  • One analysis sequence setting file 5042 exists for the analysis sequence control program 2041, and one analysis program call format 5043 exists for each type of analysis program 3041 called from the analysis sequence control program 2041. That is, the analysis program call format 5043 and the analysis program 3041 have a one-to-one correspondence.
  • the analysis sequence setting file 5042 is created by the developer of the analysis sequence control program 2041, and the analysis program call format 5043 is naturally created by the developer of the corresponding analysis program 3041.
  • the startup script generation tool 5041 reads the analysis sequence setting file 5042 (S1500).
  • a list is created in which the function IDs 50423 included in the analysis sequence setting file 5042 are arranged in the order of description (S1501). Then, the following processing is performed in order from the top to the end of the list of function ID 50423.
  • the corresponding analysis program call format 5043 is read (S1503).
  • the analysis program call format 5043 exists for each type of the analysis program 3041 called from the analysis sequence control program 2041, and the analysis program call format 5043 including the function ID 50431 that matches the function ID 50423 needs to exist. If the analysis program call format 5043 corresponding to the function ID 50423 is not found, an error is displayed and the process is terminated.
  • analysis program start script 3042 program is sequentially generated.
  • a common setting file 4041 reading program is generated (S1504). This may always be the same program as long as the format of the common setting file 4041 is fixed. For example, if the common setting file 4041 is in the JSON format as shown in FIG. 6, a program for reading the JSON format file may be generated.
  • a list of call parameters for the analysis program 3041 is generated from the analysis program call format 5043 (S1505). Then, a program for generating parameters is created for each parameter in the list.
  • a program for generating parameters of the analysis program 3041 is generated (S1508). This is generated as follows based on the name field 50436 and the type field 50437 for each parameter. First, when the type field 50437 is read, data indicating the position (storage location) of the inherited data in the inherited file 4042 [k-1] [s] generated by the analysis program 3041 [k-1] in the previous stage. The file name that is the name value is included.
  • the value of the name field 50436 of the analysis program call format 5043 and the value of the key that matches the data name key 40411 of the common setting file 4041 are extracted, and the takeover file 4042 [k ⁇ 1] [s] using the extracted value as a key. ]
  • the type field 50437 is write, a program for generating a write file name is generated.
  • the type field 50437 is a parameter (params)
  • the parameter value is included in the takeover file 4042 [k ⁇ 1] [s] generated by the previous analysis program 3041.
  • the value of the name field 50436 of the analysis program call format 5043 and the value of the key that matches the parameter key 40412 of the common setting file 4041 are extracted, and the takeover file 4042 [k ⁇ 1] [s] using the extracted value as a key. From this, a program for extracting the value of the parameter to be used is generated.
  • the analysis program startup parameters can be generated, so a program for executing the analysis program 3041 is generated in combination with the library name and script name included in the analysis program call format 5043. (S1515).
  • a program for writing the takeover file is generated (S1516). This is because all the data read from the previous analysis program 3041 is written as it is, and the name of the newly created write parameter and the value of the key matching the data name key 40411 of the common setting file 4041 are extracted and the extracted value Is used as a key and a file name is used as a value to generate a program for writing to the takeover file 4042.
  • the last generated program is written out as an analysis program start script 3042 program. Any arbitrary script may be used for this program. For example, it may be generated as a shell script or a Python script (S1517).
  • the analysis program start script 3042 can be automatically generated. From the viewpoint of the developer of the analysis program 3041, the implementation of the analysis program start script 3042, which is dependent on the implementation environment of the present invention, is not necessary, so that the user concentrates on creating the analysis program 3041 without worrying about the environment. This makes it possible to further shorten the period required for the execution of the analysis program 3041.
  • FIG. 16 shows an example of a system modification sequence when it is necessary to newly transfer one type of data between [1] and the analysis program 3041 [2].
  • main data newly created data
  • main data the design of the analysis program 3041 [1] is changed so that this data is used as a write parameter, and the analysis program call format 5043 corresponding to the analysis program 3041 [1] is changed (S1601), and The startup script generation tool 5041 is executed (S1602).
  • an analysis program start script 3042 for the analysis program 3041 [1] is created.
  • the analysis program 3041 [1] is implemented (S1603) and deployed to the environment (S1604).
  • the developer of the latter analysis program 3041 [2] first agrees with the developer of the former analysis program 3041 [1] on the data format of this data.
  • the analysis program 3041 [2] is redesigned so that this data is used as a read parameter, and the analysis program call format 5043 corresponding to the analysis program 3041 [1] is also changed (S1605).
  • the startup script generation tool 5041 is executed (S1606).
  • an analysis program start script 3042 for the analysis program 3041 [2] is generated.
  • the analysis program 3041 [2] is implemented (S1607) and deployed to the execution environment (S1608).
  • the analysis program 3041 [1] is deployed (S1604) before the analysis program 3041 [2] is deployed (S1608).
  • the analysis sequence control program 2041 need not be changed. This is because all of the data exchange between the analysis programs 3041 is performed by the takeover file 4042, and even if the data exchanged between the analysis programs 3041 is changed, the name of the takeover file 4042 is not changed. This is because the influence of the above is suppressed in the contents of the takeover file 4042. Also, the analysis program 3041 must be deployed at the same time as the analysis sequence control program 2041 and all the analysis programs 3041. However, according to the present invention, only a simple deployment order between the analysis programs 3041 can be observed. You can see that it is in good shape.
  • the analysis program designer needs to perform the design related to the takeover file 4042, but the analysis program designer needs to additionally perform the use of the startup script generation tool 5041. It is possible to suppress the matter only to the creation of the analysis program call format 5043.
  • the analysis program 3041 [k] in the subsequent stage corresponds to the analysis program 3041 [k-1] in the previous stage.
  • Inheritance file information for specifying the inheritance file 4042 [k-1] including the data name value indicating the location where the inherited data is stored is created.
  • the analysis program 3041 [k] by executing the analysis program 3041 [k], the data name value included in the takeover file [k-1] specified by the file name created corresponding to the previous analysis program 3041 [k-1] Based on the above, the data inherited from the previous analysis program 3041 [k-1] is acquired, and the data generated by performing predetermined processing on the data is stored in the shared data store 104 or the data storage unit 107 as a storage device At the same time, the data name value indicating the position where the generated data is stored is written to the takeover file 4042 [k] specified by the file name created corresponding to the analysis program.
  • the data to be inherited between the analysis programs 3041 is specified in the takeover file 4042, so that even if a change occurs in the data to be taken over between the analysis programs 3041, the change can be absorbed by the takeover file 4042.
  • the interface for calling each analysis program 3041 from the analysis sequence control program 2041 does not change. Therefore, it is easy to implement data transfer, and the number of man-hours for adjusting the consciousness among developers who develop a plurality of analysis programs 3041 executed in the data analysis system 101 and an analysis sequence control program 2041 that calls the analysis program 3041 are reduced. It becomes possible to reduce.
  • the call interface for the analysis sequence control program 2041 to call the analysis program 3041 includes a takeover file 4042 [k ⁇ 1] corresponding to the analysis program 3041 [k ⁇ 1] preceding the analysis program 3041 [k], and the analysis List and analysis program of takeover file 4042 [k-1] corresponding to takeover file 4042 [k] corresponding to program 3041 [k] or analysis program 3041 [k-1] in the previous stage of analysis program 3041 [k] A list of inherited files 4042 [k] corresponding to 3041 [k] is included.
  • the analysis sequence control program 2041 can easily specify the information of the takeover file 4042 on the call interface for calling the analysis program 3041.
  • the common setting file 4041 including the data name key value corresponding to the data type is stored in the storage device 404 of the shared data store 104.
  • the takeover file 4042 [k-1] has a data name corresponding to the type of data that the analysis program 3041 [k-1] corresponding to the takeover file 4042 [k-1] takes over to the subsequent analysis program 3041 [k].
  • a key value and a data name value indicating a position where the data is stored are associated with each other.
  • the processor 302 of the analysis server 103 executes the analysis program 3041 [k], and based on the inherited file [k-1] and the common setting file 4041 corresponding to the previous analysis program 3041 [k-1], the data name Using the key value, a data name value indicating the type of data inherited from the previous analysis program 3041 [k ⁇ 1] and the position where the data is stored is acquired. Data indicating the data name key value corresponding to the type of the generated data to be transferred to the subsequent analysis program [k + 1] and the position where the data is stored in the transfer file [k] corresponding to the analysis program [k] Export with name values associated.
  • the common setting file 4041 associates the data type with the data name key value
  • the takeover file 4042 associates the data name key value with the data name value.
  • information specifying data to be inherited between the analysis programs 3041 can be managed in a common and collective manner.
  • the call interface for the analysis sequence control program 2041 to call the analysis program 3041 can include parameter values that can be set as arguments of the analysis program 3041.
  • the analysis program 3041 uses a parameter value that can be set as an argument of the analysis program 3041 in the call interface, and uses a default value if a settable parameter value is not set. .
  • the default values of parameters that can be set in the analysis program 3041 may be set in the common setting file 4041 in advance, or may be specified by an interface that calls the analysis program 3041. Convenient data analysis design and operation.
  • the common setting file 4041 includes parameter key values corresponding to parameter types.
  • the parameter corresponding to the type of parameter that the analysis program 3041 [k-1] corresponding to the takeover file 4042 [k-1] delivers to the subsequent analysis program 3041 [k].
  • the key value and the parameter value of the parameter can be included.
  • the processor 302 of the analysis server 103 executes a parameter based on the takeover file 4042 [k-1] and the common setting file 4041 corresponding to the previous analysis program 3041 [k-1].
  • the key value the type of the parameter inherited from the previous analysis program 3041 and the parameter value of the parameter are acquired.
  • the parameter key value corresponding to the parameter type to be transferred to the subsequent analysis program 3041 [k + 1] and the parameter value of the parameter are written in the transfer file 4042 [k] corresponding to the analysis program 3041 [k] in association with each other. Since this is done, parameter values to be given to the analysis program 3041 may be passed between the analysis programs 3041, so that the convenience of data analysis design and operation is further enhanced.
  • the call interface for the analysis sequence control program 2041 to call the analysis program 3041 can include a parallel execution ID list in which parallel execution IDs are listed. Then, a specific directory is given as the parallel execution ID list, and the file names under the specific directory are used as the parallel execution ID.
  • a parallel execution ID list is used instead of the takeover file 4042, it is easy to dynamically rewrite the parallel execution ID on the list by setting the file name under the specific directory as the parallel execution ID. This makes it possible to improve the convenience of data analysis design and operation.
  • the analysis program activation script 3042 created by the activation script generation tool 5041 performs reading and writing of the takeover file 4042, so that each analysis program 3041 does not need to perform the processing.
  • each developer of each analysis program 3041 can save the trouble of creating a program for reading and writing the takeover file 4042 and incorporating it into the analysis program 3041.
  • an analysis program call format 5043 including an analysis sequence setting file 5042 in which information relating to the calling order of the analysis program 3041 is recorded in the storage device 504 of the development server 105, and a library name, a script name, and parameters given when calling the program. And are stored.
  • the startup script generation tool 5041 is provided with an analysis sequence setting file 5042 and an analysis program call format 5043.
  • the start script generation tool 5041 identifies the analysis program 3041 specified by the analysis script name from the library specified by the library name, gives the parameters, and starts the analysis program 3041 in the calling order of the analysis sequence setting file 5042 A startup script 3042 is generated. In this way, the developer of the analysis sequence control program 2041 creates the analysis sequence setting file 5042, and the developer of the analysis program 3041 creates the analysis program call format 5043. Development files can be effectively improved.
  • the common setting file 4041 including the data name key value corresponding to the data type is stored in the storage device 404 of the shared data store 104.
  • the analysis program call format 5043 has a name field indicating the name of a parameter set as an argument when calling the analysis program 3041, and a data name key value is set in the name field. Based on the common setting file 4041 and the analysis program call format 5043, the startup script generation tool 5041 uses the data name key value to generate consistent data between the analysis program 3041 that delivers the data and the analysis program 3041 that receives the data. Generate data name value (file name).
  • the data name key value corresponding to the data stored in the common setting file 4041 is information commonly used by the analysis program 3041 that delivers the data and the analysis program 3041 that receives the data. If a data name value (file name) is assigned to data so as to be associated with the data name key value, the file name can be automatically made consistent among the analysis programs 3041.
  • DESCRIPTION OF SYMBOLS 101 ... Data analysis system, 102 ... Analysis sequence control server, 103 ... Analysis server, 104 ... Shared data store, 105 ... Development server, 106 ... Client device, 107 ... Data storage part, 108 ... Network, 202, 302 ... Processor, 601 ... Start interface, 2041 ... Analysis sequence control program, 2042 ... Analysis sequence control engine, 3041 ... Analysis program, 3042 ... Analysis program start script, 3043 ... Remote procedure call acceptance process, 4041 ... Common setting file, 4042 ... Takeover file, 4043 ... Analysis data, 4044 ... Analysis result, 5041 ... Startup script generation tool, 5042 ... Analysis sequence setting file, 5043 ... Analysis program call format

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Programmable Controllers (AREA)

Abstract

An objective of the present invention is to provide technology which enables a reduction in man hours spent on awareness-raising among developers who are developing a plurality of analysis programs to be executed by an analysis sequence control system and an analysis sequence control program for calling the analysis programs. A data analysis system 101 creates, in association with a prior analysis program 3041[k-1], a handover filename for identifying a handover file 4042[k-1] including a filename of data to be handed over to a successor analysis program 3041[k]. By executing the analysis program 3041[k], the handover data is acquired from the prior analysis program 3041[k-1] on the basis of the filename included in the handover file [k-1] which is associated with the prior analysis program 3041[k-1].

Description

分析シーケンス制御システムおよび分析シーケンス制御方法Analysis sequence control system and analysis sequence control method
 本発明は、分析シーケンス制御システムおよび分析シーケンス制御方法に関する。 The present invention relates to an analysis sequence control system and an analysis sequence control method.
 世の中の膨大な量のIoT(Internet of Things)データを分析して、分析結果に基づきコスト削減や新規サービス立案などの価値を創出する取組みが、広く注目されている。データ分析者には、サイエンスとビジネスの知識のほか、データの取得や加工に関するエンジニアリングの知識が求められる。 An effort to analyze the vast amount of IoT (Internet of Things) data in the world and create value such as cost reduction and new service planning based on the analysis results is attracting widespread attention. Data analysts are required to have science and business knowledge as well as engineering knowledge related to data acquisition and processing.
 すなわち、データ分析者は、データを分析する処理(分析処理)の設計に加えて、ファイルシステム、データレイク、データウェアハウス(DWH)などを含むデータ格納領域にアクセスする処理(データアクセス処理)、及び、分析結果を可視化する処理(可視化処理)なども設計する必要がある。データアクセス処理、分析処理、及び可視化処理をそれぞれ行うためのソフトウェアプログラムを分析プログラムといい、それらの開発を分析プログラムの開発という。 In other words, in addition to designing a process for analyzing data (analysis process), a data analyst accesses a data storage area including a file system, a data lake, a data warehouse (DWH), etc. (data access process), It is also necessary to design a process for visualizing the analysis result (visualization process). A software program for performing data access processing, analysis processing, and visualization processing is called an analysis program, and development thereof is called development of an analysis program.
 分析プログラムの開発に関して、データアクセス処理、分析処理、分析結果可視化処理の、それぞれを担う多種多様なOSS(Open Source Software)をはじめとするソフトウェアやサービスが利用可能である。データ分析者は、これら複数の分析プログラムを修正しながら組み合わせて1つの分析シーケンスとして組み上げる。分析シーケンスにしたがって各分析プログラムを実行する分析シーケンス制御処理を行うソフトウェアプログラムを分析シーケンス制御プログラムといい、その開発を分析シーケンス制御プログラムの開発という。 Regarding the development of analysis programs, software and services such as a wide variety of open source software (OSS) responsible for data access processing, analysis processing, and analysis result visualization processing can be used. The data analyst combines these plural analysis programs while correcting them to form one analysis sequence. A software program for performing an analysis sequence control process for executing each analysis program according to the analysis sequence is called an analysis sequence control program, and its development is called development of an analysis sequence control program.
 このような分析プログラムおよび分析シーケンス制御プログラムは、開発規模が大きくなると、上記各処理を行う各プログラムの開発を、複数のデータ分析者(開発者)で分担することが一般的に行われる。 Such an analysis program and analysis sequence control program are generally shared by a plurality of data analysts (developers) as the development scale increases.
 データアクセス処理、分析処理、および可視化処理は、各処理間でデータを渡したり、一の処理から他の処理を起動したりするなど、互いに密接に関係している。たとえば、最初に可視化処理のためのソフトウェアまたはサービスを選択すると、そのソフトウェアまたはサービスで可視化するためのデータを格納するデータ格納先が限定されることがある。また、先に分析処理のためのソフトウェアまたはサービスを決めるときには、その分析処理に合った入力が得られるように、データアクセス処理において取得対象とするデータ、データ加工の内容、取得するデータのサンプル数などを決める必要がある。そのため、各処理の開発を別のデータ分析者が担当する場合、それぞれの処理間の整合性を保つために、データ分析者同士が意識を合わせる必要である。そのため、複数のデータ分析者で開発を分担するケースでは、各プログラム間で整合がとれるように各プログラムの処理内容やインタフェースを調整して開発を進めなければならない。 The data access process, analysis process, and visualization process are closely related to each other, such as passing data between each process or starting another process from one process. For example, when software or a service for visualization processing is first selected, data storage destinations for storing data to be visualized by the software or service may be limited. In addition, when deciding on the software or service for analysis processing first, the data to be acquired in the data access processing, the contents of data processing, and the number of samples of data to be acquired so that the input suitable for the analysis processing can be obtained It is necessary to decide. Therefore, when different data analysts are in charge of development of each process, it is necessary for the data analysts to match each other in order to maintain consistency between the processes. Therefore, in the case where the development is shared by a plurality of data analysts, the development must be advanced by adjusting the processing content and interface of each program so as to be consistent among the programs.
 分析においてより良い結果を得るために、分析方法等に変更を加えながら何度も分析を繰り返すことが求められる。そして、分析を繰り返す際に、分析対象となるデータの形式を変更したり、データの種別が増加したりして、各プログラムの処理内容やインタフェースを変更する必要が生じることがある。そのため、各プログラムの処理内容やインタフェースの変更について、複数のデータ分析者間で調整した上で再設計する必要があり、このような調整に多くの時間を取られてしまう。これにより、分析アルゴリズムの検討や分析結果の評価にかける時間が短くなる要因となっていた。 In order to obtain better results in the analysis, it is required to repeat the analysis many times while changing the analysis method. When the analysis is repeated, it may be necessary to change the processing content or interface of each program by changing the format of data to be analyzed or increasing the type of data. Therefore, it is necessary to redesign the processing contents and interface changes of each program after adjustment between a plurality of data analysts, and much time is required for such adjustment. As a result, the time taken to examine the analysis algorithm and evaluate the analysis result has become a factor.
 このような例として、2つの分析プログラムおよび1つの分析シーケンス制御プログラムの開発を、3人のデータ分析者A、B、Cが分担するケースを以下に示す。データ分析者Aが担当する第1の分析プログラムは、データベースからデータを取り出す処理を行う。データ分析者Bが担当する第2の分析プログラムは、第1の分析プログラムが取り出したデータを分析する処理を行う。データ分析者Cが担当する分析シーケンス制御プログラムは、呼び出しインタフェースにより第1の分析プログラムおよび第2の分析プログラムを順に呼び出す処理を行う。さらに、分析シーケンス制御プログラムは、第2の分析プログラムを呼び出す際に、第1の分析プログラムがデータベースから取り出したデータの格納場所を第2の分析プログラムに知らせる。 As an example of this, the case where three data analysts A, B, and C share the development of two analysis programs and one analysis sequence control program is shown below. The first analysis program in charge of the data analyst A performs processing for extracting data from the database. The second analysis program handled by the data analyst B performs a process of analyzing the data extracted by the first analysis program. The analysis sequence control program in charge of the data analyst C performs processing for sequentially calling the first analysis program and the second analysis program through the call interface. Furthermore, when the analysis sequence control program calls the second analysis program, the analysis sequence control program informs the second analysis program of the storage location of the data extracted from the database by the first analysis program.
 ここで、分析方法に変更を加えたことにより、分析対象のデータの種別が増えた場合を考える。この場合、データ分析者Aは、データベースから新たな種別のデータも取り出すように第1の分析プログラムを変更する。データ分析者Bは、第1の分析プログラムが取り出した新たな種別のデータも分析するように第2の分析プログラムを変更する。データ分析者Cは、第1の分析プログラムがデータベースから取り出した新たな種別のデータの格納場所も第2の分析プログラムに知らせるように分析シーケンス制御プログラムを変更する。 Suppose that the type of data to be analyzed has increased due to changes to the analysis method. In this case, the data analyst A changes the first analysis program so as to take out a new type of data from the database. The data analyst B changes the second analysis program so as to analyze the new type of data extracted by the first analysis program. The data analyst C changes the analysis sequence control program so that the second analysis program is also notified of the storage location of the new type of data extracted from the database by the first analysis program.
 プログラムの変更の手順は次のようになる。データ分析者Aとデータ分析者Bとが、新たな種別のデータのデータ形式を調整して決定する。データ分析者Aとデータ分析者Cとが、新たな種別のデータの格納場所を調整して決定する。データ分析者Bとデータ分析者Cとが、新たな種別のデータの格納場所をどのようにして第2の分析プログラムに知らせるか調整して決定する。これら調整ののち再設計した各プログラムが完成すると、データ分析者A、B、Cは、同時にサーバ等に配置して使用可能状態にする(以下、「デプロイする」という)。 The program change procedure is as follows. Data analyst A and data analyst B make adjustments by adjusting the data format of the new type of data. The data analyst A and the data analyst C adjust and determine the storage location of the new type of data. The data analyst B and the data analyst C adjust and determine how to notify the second analysis program of the storage location of the new type of data. When the redesigned programs are completed after these adjustments, the data analysts A, B, and C are simultaneously placed on a server or the like to be usable (hereinafter referred to as “deploy”).
 このように、分析方法に変更が加わる度に各プログラム間のインタフェースが変更となるため、各データ分析者によるインタフェース等の調整にかかる工数が増大することが課題となる。また、完成した各プログラムを使用可能状態にするタイミングを合わせる必要があり、先にプログラムを完成させたデータ分析者は他のプログラムの完成を待たねばならず、各データ分析者に不要な待ち時間が生じることがある。 Thus, since the interface between each program is changed every time a change is made to the analysis method, the man-hour for adjusting the interface and the like by each data analyst increases. In addition, it is necessary to synchronize the timing for each completed program to be usable, and the data analyst who completed the program first must wait for the completion of other programs, which is unnecessary for each data analyst. May occur.
 また、分析には長い時間を要することから、分析にかかる時間を短縮するために、複数の分析プログラムを並列に実行することが求められる。そのため、複数の分析プログラムを並列で実行することを考慮したインタフェースを決めることが必要であり、問題(調整すべき事項)は更に複雑化する。 Also, since analysis takes a long time, it is required to execute a plurality of analysis programs in parallel in order to reduce the time required for analysis. For this reason, it is necessary to determine an interface in consideration of executing a plurality of analysis programs in parallel, and the problem (item to be adjusted) is further complicated.
 このような、並列に実行する分析プログラム間でデータを引き継ぐ手法として、例えば特許文献1および特許文献2に記す手法が知られている。 For example, methods described in Patent Document 1 and Patent Document 2 are known as techniques for transferring data between analysis programs executed in parallel.
 特許文献1には、複数サーバ上でバッチ処理を動かす場合に、複数サーバ上で複数のプログラムが共通のファイルを利用している場合であっても、各ファイルのアクセス情報およびバッチ処理によるファイルアクセスのシーケンスを解析し、その解析結果を利用することで、前段の全てのバッチ処理の終了を待たず、後段の一部の処理を開始する事を可能とする手法が開示されている。 In Patent Document 1, when batch processing is run on a plurality of servers, even when a plurality of programs use a common file on the plurality of servers, access information of each file and file access by batch processing A method is disclosed in which a part of the subsequent process can be started without waiting for the end of all the batch processes in the preceding stage by analyzing the sequence of the above and using the analysis result.
 特許文献2には、旧システムから新システムへデータを引き継ぐ場合に、データのアドレス情報を旧システムから新システムへ伝達することによって、新システム上にデータを引き継ぐ手法が開示されている。 Patent Document 2 discloses a method for transferring data on the new system by transmitting data address information from the old system to the new system when the data is transferred from the old system to the new system.
特開平7-114514号公報Japanese Patent Laid-Open No. 7-114514 特開2000-137604号公報JP 2000-137604 A
 前述の通り、分析シーケンス制御プログラムおよび複数の分析プログラムを複数のデータ分析者が分担して開発する場合、各データ分析者によるインタフェース等の調整(意識合わせ)に要する工数や、完成した各プログラムを使用可能状態にする際に生じる待ち時間を削減することが課題となる。 As described above, when multiple data analysts develop an analysis sequence control program and multiple analysis programs, the man-hours required for adjustment (consciousness adjustment) of the interface etc. by each data analyst, and each completed program The problem is to reduce the waiting time that occurs when the device is ready for use.
 しかしながら、特許文献1、2に開示された手法を適用するだけでは以下の理由から、その課題を解決できなかった。 However, simply applying the methods disclosed in Patent Documents 1 and 2 cannot solve the problem for the following reasons.
 特許文献1は、プログラムが並列に動作している場合のデータ引き継ぎ方法について開示している。しかし、特許文献1では、引き継ぎ対象のデータは常に固定とされている。そのため、分析シーケンス制御プログラムを構成する複数の分析プログラムを異なる開発者が開発する場合、特許文献1の手法では、引き継ぎ対象のデータが増減する場合に分析プログラム自体の設計を変更することが必要である点は変わらない。そのため、上記開発者間の意識合わせに要する工数が削減されない。 Patent Document 1 discloses a data transfer method when programs are operating in parallel. However, in Patent Document 1, data to be inherited is always fixed. Therefore, when different developers develop a plurality of analysis programs constituting the analysis sequence control program, the technique of Patent Document 1 requires that the design of the analysis program itself be changed when the data to be inherited increases or decreases. Some things remain the same. For this reason, the number of man-hours required for matching the consciousness between the developers is not reduced.
 特許文献2には、アドレス情報を引き継ぐことによって、プログラム更新時においてもデータ位置の変更による影響を防ぐ手法が開示されている。しかし、プログラムが並列に動作する場合について考慮されていないため、2つのプログラムを並列に実行することを加味したインタフェースの取り決めは複雑となる。また、アドレス情報自体はプログラム更新の度に作成する必要がある。そのため、上記開発者間の意識合わせに要する工数が削減されない。 Patent Document 2 discloses a technique for preventing the influence of a change in data position even when updating a program by taking over address information. However, since the case where the programs operate in parallel is not taken into consideration, the interface arrangement in consideration of executing two programs in parallel becomes complicated. The address information itself must be created every time the program is updated. For this reason, the number of man-hours required for matching the consciousness between the developers is not reduced.
 本発明の目的は、分析シーケンス制御システムにて実行される複数の分析プログラムと分析プログラムを呼び出す分析シーケンス制御プログラムとをそれぞれ開発する開発者間の意識合わせの工数を削減することを可能にする技術を提供することである。 An object of the present invention is to enable a reduction in the number of man-hours for matching between developers who respectively develop a plurality of analysis programs executed in an analysis sequence control system and an analysis sequence control program that calls the analysis program. Is to provide.
 本発明にかかる分析シーケンス制御システムは、複数の分析プログラムおよび当該複数の分析プログラムを分析シーケンスにしたがって呼び出す分析シーケンス制御プログラムを実行するプロセッサと、前記分析プログラムおよび前記分析シーケンス制御プログラムの実行においてデータの格納に利用される記憶装置と、を備えた分析シーケンス制御システムであって、前記プロセッサは、前記分析シーケンス制御プログラムを実行することにより、前記分析プログラムが並列実行される場合に、前段の分析プログラムに対応して、後段の分析プログラムに引き継ぐデータが格納される位置を示す位置情報を含む引き継ぎファイルを特定する引き継ぎファイル情報を作成し、前記分析プログラムを実行することにより、前段の分析プログラムに対応して作成された前記引き継ぎファイル情報により特定される前記引き継ぎファイルに含まれる前記位置情報に基づいて、当該前段の分析プログラムから引き継ぐデータを取得し、当該データに所定の処理を行うことにより生成したデータを前記記憶装置に格納するとともに、当該生成したデータが格納される位置を示す位置情報を、当該分析プログラムに対応して作成された前記引き継ぎファイル情報により特定される前記引き継ぎファイルに書き出す。 An analysis sequence control system according to the present invention includes a plurality of analysis programs, a processor that executes an analysis sequence control program that calls the plurality of analysis programs according to an analysis sequence, and data analysis in the execution of the analysis program and the analysis sequence control program. An analysis sequence control system comprising: a storage device used for storage, wherein the processor executes the analysis sequence control program so that when the analysis program is executed in parallel, the analysis program of the previous stage In response, the succeeding analysis program is created by creating the inheriting file information for specifying the inheriting file including the position information indicating the position where the succeeding analysis program stores the data, and executing the analyzing program. Based on the position information included in the inherited file specified by the inherited file information created corresponding to the data, the data inherited from the previous analysis program is acquired, and the data is subjected to predetermined processing. The generated data is stored in the storage device, and the position information indicating the position where the generated data is stored is written to the inherited file specified by the inherited file information created corresponding to the analysis program. .
 本発明によれば、分析プログラムが並列実行される場合に、前段の分析プログラムに対応して、後段の分析プログラムに引き継ぐデータが格納される位置を示す位置情報を含む引き継ぎファイルを特定する引き継ぎファイル情報を作成する。そして、分析プログラムを実行することにより、前段の分析プログラムに対応して作成された引き継ぎファイル情報により特定される引き継ぎファイルに含まれる位置情報に基づいて、当該前段の分析プログラムから引き継ぐデータを取得し、当該データに所定の処理を行うことにより生成したデータを記憶装置に格納するとともに、当該生成したデータが格納される位置を示す位置情報を、当該分析プログラムに対応して作成された引き継ぎファイル情報により特定される前記引き継ぎファイルに書き出す。このようにしたことから、分析プログラム間で引き継ぐデータを引き継ぎファイルにて特定するので、分析プログラム間で引き継ぐデータに変更が生じた場合でも、当該変更を引き継ぎファイルで吸収することができ、分析シーケンス制御プログラムから各分析プログラムを呼び出すインタフェースの変更が生じない。そのため、データの引き継ぎの実現が容易となり、分析シーケンス制御システムにて実行される複数の分析プログラムと分析プログラムを呼び出す分析シーケンス制御プログラムとをそれぞれ開発する開発者間の意識合わせの工数を削減することが可能となる。 According to the present invention, when an analysis program is executed in parallel, a takeover file that specifies a takeover file that includes position information indicating a position where data to be taken over by the subsequent analysis program is stored in correspondence with the previous analysis program. Create information. Then, by executing the analysis program, the data taken over from the previous analysis program is acquired based on the position information included in the transfer file specified by the transfer file information created corresponding to the previous analysis program. The data generated by performing predetermined processing on the data is stored in the storage device, and the position information indicating the position where the generated data is stored is the inherited file information created corresponding to the analysis program. Is written to the inherited file specified by. As a result, the data to be transferred between analysis programs is specified in the transfer file, so even if there is a change in the data to be transferred between the analysis programs, the change can be absorbed by the transfer file, and the analysis sequence The interface that calls each analysis program from the control program does not change. As a result, it is easy to implement data transfer, and reduce the amount of time required for developers to develop multiple analysis programs executed in the analysis sequence control system and analysis sequence control programs that call the analysis programs. Is possible.
本発明の実施形態にかかるデータ分析システムのハードウェア構成の一例を示すブロック図である。It is a block diagram which shows an example of the hardware constitutions of the data analysis system concerning embodiment of this invention. 分析シーケンス制御サーバの機能の一例を示すブロック図である。It is a block diagram which shows an example of the function of an analysis sequence control server. 分析サーバの機能の一例を示すブロック図である。It is a block diagram which shows an example of the function of an analysis server. 共有データストアの機能の一例を示す図である。It is a figure which shows an example of the function of a shared data store. 開発サーバの機能の一例を示す図である。It is a figure which shows an example of the function of a development server. 共通設定ファイルの一例を示す図である。It is a figure which shows an example of a common setting file. 引き継ぎファイルの一例を示す図である。It is a figure which shows an example of a takeover file. 分析シーケンス設定ファイルの一例を示す図である。It is a figure which shows an example of an analysis sequence setting file. 分析プログラム呼び出し形式の一例を示す図である。It is a figure which shows an example of an analysis program call format. 分析シーケンス制御プログラムの起動I/Fの一例を示す図である。It is a figure which shows an example of starting I / F of an analysis sequence control program. 分析全体の処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process of the whole analysis. 分析シーケンス制御プログラムによる、分析プログラム呼び出し処理の一例を示すフローチャートである。It is a flowchart which shows an example of the analysis program call process by an analysis sequence control program. 分析プログラム起動スクリプトによる、分析プログラム起動処理の一例を示すフローチャートである。It is a flowchart which shows an example of an analysis program starting process by an analysis program starting script. 分析プログラム起動スクリプトによる、引き継ぎファイル書き出し処理の一例を示すフローチャートである。It is a flowchart which shows an example of the taking over file writing process by an analysis program starting script. 起動スクリプト生成ツールの起動スクリプト生成処理の一例を示すフローチャートである。It is a flowchart which shows an example of the starting script production | generation process of a starting script production | generation tool. 本発明適用時の、データ分析システム変更時のフローチャートである。It is a flowchart at the time of data analysis system change at the time of application of this invention.
 以下、本発明を実施するための形態を、図面を参照しつつ説明する。 Hereinafter, modes for carrying out the present invention will be described with reference to the drawings.
 図1は、本実施形態に係る分析シーケンス制御システムとしてのデータ分析システム101の構成の一例を示す図である。同図に示すように、データ分析システム101は、分析シーケンス制御サーバ102と、分析サーバ103と、共有データストア104と、開発サーバ105と、クライアントデバイス106と、データ格納部107と、これらを接続するネットワーク108と、を含んで構成されている。 FIG. 1 is a diagram showing an example of a configuration of a data analysis system 101 as an analysis sequence control system according to the present embodiment. As shown in the figure, the data analysis system 101 is connected to an analysis sequence control server 102, an analysis server 103, a shared data store 104, a development server 105, a client device 106, and a data storage unit 107. Network 108 to be configured.
 分析シーケンス制御サーバ102は、所定の分析シーケンスにしたがって分析プログラムを呼び出す分析シーケンス制御プログラム2041を有している。分析シーケンス制御プログラム2041は、分析プログラムを特定するIDや分析プログラムの実行形式を示す情報、分析プログラムを呼び出す順序を含む。分析シーケンス制御サーバ102は、分析シーケンス制御プログラム2041を実行することにより、分析サーバ103に分析プログラム3041の実行を指示する。 The analysis sequence control server 102 has an analysis sequence control program 2041 for calling an analysis program according to a predetermined analysis sequence. The analysis sequence control program 2041 includes an ID for identifying the analysis program, information indicating the execution format of the analysis program, and the order of calling the analysis program. The analysis sequence control server 102 instructs the analysis server 103 to execute the analysis program 3041 by executing the analysis sequence control program 2041.
 分析サーバ103は、データアクセス処理、分析処理、及び、分析結果可視化処理などを行う分析プログラムを有している。分析サーバ103は、分析シーケンス制御サーバ102からの指示により、これら分析プログラム3041を実行する。 The analysis server 103 has an analysis program for performing data access processing, analysis processing, analysis result visualization processing, and the like. The analysis server 103 executes these analysis programs 3041 according to instructions from the analysis sequence control server 102.
 共有データストア104は、分析シーケンス制御サーバ102や複数の分析サーバ103間で受け渡すデータや、共有が必要なデータを格納する。 The shared data store 104 stores data transferred between the analysis sequence control server 102 and the plurality of analysis servers 103 and data that needs to be shared.
 開発サーバ105は、分析シーケンス制御プログラムや、分析プログラム、または、各種設定ファイルの開発に用いられるサーバである。開発サーバ105は、ネットワーク108を介して開発されたプログラムや設定ファイルを分析シーケンス制御サーバ102や分析サーバ103にデプロイする。 The development server 105 is a server used for developing an analysis sequence control program, an analysis program, or various setting files. The development server 105 deploys programs and setting files developed via the network 108 to the analysis sequence control server 102 and the analysis server 103.
 クライアントデバイス106は、ネットワーク108を介し、分析シーケンス制御サーバ102に対し、分析シーケンス制御プログラム2041の実行を指示する装置である。クライアントデバイス106として、パーソナルコンピュータやタブレット端末などが用いられる。 The client device 106 is a device that instructs the analysis sequence control server 102 to execute the analysis sequence control program 2041 via the network 108. As the client device 106, a personal computer, a tablet terminal, or the like is used.
 データ格納部107は、例えば、ファイルシステム、データレイク、データウェアハウス(DWH)などで構成されている。データ格納部107は分析対象のデータを格納して保持する。データ格納部107に格納される分析対象データは、例えば、ネットワーク108を介して外部サーバや外部サービスから取り込まれる。または、データ格納部107が有する入出力装置に接続されたCD、USBメモリ、外部接続ハードディスクドライブなどの記憶装置から取り込まれる。 The data storage unit 107 includes, for example, a file system, a data lake, a data warehouse (DWH), and the like. The data storage unit 107 stores and holds data to be analyzed. The analysis target data stored in the data storage unit 107 is taken in from an external server or an external service via the network 108, for example. Alternatively, it is taken in from a storage device such as a CD, USB memory, or externally connected hard disk drive connected to the input / output device of the data storage unit 107.
 ネットワーク108は、例えば、有線または無線のLAN(Local Area Network)、WAN(Wide Area Network)、インターネット、イントラネット、専用線などである。 The network 108 is, for example, a wired or wireless LAN (Local Area Network), a WAN (Wide Area Network), the Internet, an intranet, a dedicated line, and the like.
 分析シーケンス制御サーバ102、分析サーバ103、共有データストア104、及び、開発サーバ105は、各々が物理的な計算機によって構成されたサーバ装置であってもよいし、仮想マシンによって構成されてもよい。また、分析シーケンス制御サーバ102、分析サーバ103、及び、共有データストア104は、並列実行のため複数台で構成されてもよい。開発サーバ105およびクライアントデバイス106も、1台に限定されない。 The analysis sequence control server 102, the analysis server 103, the shared data store 104, and the development server 105 may each be a server device configured by a physical computer, or may be configured by a virtual machine. Further, the analysis sequence control server 102, the analysis server 103, and the shared data store 104 may be configured by a plurality of units for parallel execution. The development server 105 and the client device 106 are not limited to one.
 さらに、各サーバの役割が混合されていてもよく、各サーバの一部又は全部が一つのサーバ装置に含まれてもよい。たとえば、実際の開発とその後の運用において、分析シーケンス制御サーバ102および分析サーバ103が一つの物理サーバ装置上で構成されていてもよく、分析シーケンス制御サーバ102および分析サーバ103が、一つの物理サーバ装置の別々の仮想マシン上で構成されていてもよい。 Furthermore, the roles of the servers may be mixed, and some or all of the servers may be included in one server device. For example, in actual development and subsequent operation, the analysis sequence control server 102 and the analysis server 103 may be configured on one physical server device, and the analysis sequence control server 102 and the analysis server 103 are configured as one physical server. It may be configured on a separate virtual machine of the device.
 図2は、本実施例の分析シーケンス制御サーバ102が備えるハードウェアおよび機能の一例を説明する図である。 FIG. 2 is a diagram illustrating an example of hardware and functions included in the analysis sequence control server 102 of the present embodiment.
 分析シーケンス制御サーバ102は、入出力回路インタフェース201と、プロセッサ202と、入出力装置203と、記憶装置204と、これらを接続する内部通信線(たとえば、バス)と、を含む。 The analysis sequence control server 102 includes an input / output circuit interface 201, a processor 202, an input / output device 203, a storage device 204, and an internal communication line (for example, a bus) connecting them.
 入出力回路インタフェース201は、ネットワーク108と通信するためのインタフェースである。 The input / output circuit interface 201 is an interface for communicating with the network 108.
 プロセッサ202は、演算装置および制御装置である。プロセッサ202は、記憶装置204に格納された分析シーケンス制御プログラム2041を実行する。プロセッサ202は、分析シーケンス制御プログラム2041を実行することにより、複数の分析プログラム3041を分析シーケンスにしたがって呼び出す。 The processor 202 is an arithmetic device and a control device. The processor 202 executes the analysis sequence control program 2041 stored in the storage device 204. The processor 202 calls the plurality of analysis programs 3041 according to the analysis sequence by executing the analysis sequence control program 2041.
 入出力装置203は、データの入力の受け付け、データの出力、あるいはその両方を行うための装置である。たとえば、入出力装置203は、キーボードやマウスなどからの入力を受け付け、プロセッサ202からの情報をディスプレイに表示させる。 The input / output device 203 is a device for accepting data input, outputting data, or both. For example, the input / output device 203 receives an input from a keyboard, a mouse, or the like, and displays information from the processor 202 on a display.
 記憶装置204は、揮発性の記憶装置(DRAM(Dynamic Access Random Memory)など)と不揮発性の記憶装置(HDD、SSDなど)と、を含む。記憶装置204は、分析シーケンス制御プログラム2041と、分析シーケンス制御エンジン2042と、を格納する。 The storage device 204 includes a volatile storage device (DRAM (Dynamic Access Random Memory, etc.)) and a non-volatile storage device (HDD, SSD, etc.). The storage device 204 stores an analysis sequence control program 2041 and an analysis sequence control engine 2042.
 分析シーケンス制御プログラム2041は、分析シーケンスにしたがって各分析プログラムを実行する分析シーケンス制御処理を行うためのソフトウェアプログラムである。分析シーケンス制御プログラム2041は、プロセッサ202によって実行されることにより、分析シーケンスにしたがって分析プログラムを呼び出すよう分析サーバに指示する。 The analysis sequence control program 2041 is a software program for performing an analysis sequence control process for executing each analysis program in accordance with the analysis sequence. The analysis sequence control program 2041 is executed by the processor 202 to instruct the analysis server to call the analysis program according to the analysis sequence.
 分析シーケンス制御エンジン2042は、分析シーケンス制御プログラム2041を実行するアプリケーションフレームワークであり、分析プログラムの並列実行や、分析プログラム障害時の自動リトライ等、分析シーケンス制御に必要な機能を提供する。 The analysis sequence control engine 2042 is an application framework that executes the analysis sequence control program 2041 and provides functions necessary for analysis sequence control, such as parallel execution of analysis programs and automatic retry when an analysis program fails.
 図3は、本実施例の分析サーバ103が備えるハードウェアおよび機能の一例を説明する図である。 FIG. 3 is a diagram illustrating an example of hardware and functions provided in the analysis server 103 of the present embodiment.
 分析サーバ103は、入出力回路インタフェース301と、プロセッサ302と、入出力装置303と、記憶装置304と、これらを接続する内部通信線(たとえば、バス)と、を含む。 The analysis server 103 includes an input / output circuit interface 301, a processor 302, an input / output device 303, a storage device 304, and an internal communication line (for example, a bus) connecting them.
 入出力回路インタフェース301は、ネットワーク108と通信するためのインタフェースである。 The input / output circuit interface 301 is an interface for communicating with the network 108.
 プロセッサ302は、演算装置および制御装置である。プロセッサ302は、記憶装置304に格納された、分析プログラム3041、分析プログラム起動スクリプト3042、リモートプロシージャコール受付プロセス3043を実行する。 The processor 302 is an arithmetic device and a control device. The processor 302 executes an analysis program 3041, an analysis program start script 3042, and a remote procedure call reception process 3043 stored in the storage device 304.
 入出力装置303は、データの入力の受け付け、データの出力、あるいはその両方を行うための装置である。たとえば、入出力装置303は、キーボードやマウスなどからの入力を受け付け、プロセッサ302からの情報をディスプレイに表示させる。 The input / output device 303 is a device for receiving data input, outputting data, or both. For example, the input / output device 303 receives an input from a keyboard, a mouse, or the like, and displays information from the processor 302 on a display.
 記憶装置304は、揮発性の記憶装置(DRAM(Dynamic Access Random Memory)など)と不揮発性の記憶装置(HDD、SSDなど)と、を含む。記憶装置304は、複数の分析プログラム3041と、複数の分析プログラム起動スクリプト3042と、リモートプロシージャコール受付プロセス3043と、分析ライブラリ3044を格納する。 The storage device 304 includes a volatile storage device (DRAM (Dynamic Access Random Memory, etc.)) and a non-volatile storage device (HDD, SSD, etc.). The storage device 304 stores a plurality of analysis programs 3041, a plurality of analysis program activation scripts 3042, a remote procedure call reception process 3043, and an analysis library 3044.
 複数種類の分析プログラム3041(3041[1]~3041[n]、nは2以上の自然数)は、データ格納部107にアクセスする処理(データアクセス処理)、データを機械学習などのアルゴリズムを用いて分析する処理(分析処理)、分析結果を可視化する処理(分析結果可視化処理)などを行い、処理に応じた結果を出力するプログラムである。複数種類の分析プログラム3041[1]~3041[n]は、分析シーケンス制御プログラム2041から呼び出され、プロセッサ302によって順番(シーケンシャル)に実行される。また、複数種類の分析プログラム3041[1]~3041[n]のうち一部又は全部が2つ以上並列(パラレル)に実行されてもよい。分析プログラム3041を1個のみ実行することを、1並列という。分析プログラム3041をp個(pは自然数)並列実行することを、p並列という。 A plurality of types of analysis programs 3041 (3041 [1] to 3041 [n], where n is a natural number equal to or greater than 2) use an algorithm such as a process for accessing the data storage unit 107 (data access process) and data for machine learning. This is a program that performs analysis processing (analysis processing), processing for visualizing analysis results (analysis result visualization processing), and the like, and outputs results according to the processing. A plurality of types of analysis programs 3041 [1] to 3041 [n] are called from the analysis sequence control program 2041 and executed sequentially (sequentially) by the processor 302. Further, two or more of the plural types of analysis programs 3041 [1] to 3041 [n] may be executed in parallel. Executing only one analysis program 3041 is referred to as one parallel. Executing p analysis programs 3041 in parallel (p is a natural number) is called p-parallel.
 分析プログラム3041を並列に実行する場合は、並列実行IDリストを基に分析プログラム3041を起動する。並列実行IDは、並列実行に含まれる個々の実行単位を識別する並列実行単位識別情報であり、並列実行IDリストは、複数の並列実行IDをリスト化したリスト情報である。並列実行IDとして、例えば、数値(1~p)を用いてもよく、または、後述する共通設定ファイル4041に含まれるデータ名キー40411のデータ名キー値(”power”、”currency”、”thermal”など)を用いてもよい。例えば、複数の機器の故障タイミングを予想するときには、複数の機器毎に異なる並列実行IDを付与し、各機器から収集したデータの分析にかかる分析プログラム3041を並列実行して、個々の実行単位を並列実行IDにより識別する。並列実行IDリストに10個の並列実行IDが含まれている場合は、10個の並列実行IDのそれぞれについて分析プログラム3041を実行して、合計10個の並列実行とする。データ名キー値は、データ名キー情報に相当する。並列実行方式の詳細は後述する。 When executing the analysis program 3041 in parallel, the analysis program 3041 is started based on the parallel execution ID list. The parallel execution ID is parallel execution unit identification information that identifies individual execution units included in the parallel execution, and the parallel execution ID list is list information that lists a plurality of parallel execution IDs. As the parallel execution ID, for example, a numerical value (1 to p) may be used, or the data name key value (“power”, “currency”, “thermal” of the data name key 40411 included in the common setting file 4041 described later. Etc.) may be used. For example, when predicting the failure timing of a plurality of devices, a different parallel execution ID is assigned to each of the plurality of devices, and the analysis program 3041 related to the analysis of data collected from each device is executed in parallel. Identify by parallel execution ID. When 10 parallel execution IDs are included in the parallel execution ID list, the analysis program 3041 is executed for each of the 10 parallel execution IDs to obtain a total of 10 parallel executions. The data name key value corresponds to data name key information. Details of the parallel execution method will be described later.
 分析プログラム起動スクリプト3042[1]~3042[n]は、分析プログラム3041[1]~3041[n]と連携動作するプログラムである。各分析プログラム起動スクリプト3042は、対応する分析プログラム3041を起動する。分析プログラム起動スクリプト3042[1]~3042[n]は、分析プログラム3041[1]~3041[n]それぞれに対し存在し、分析プログラム3041[1]~3041[n]の起動にあたって必要な前処理を実施する。すなわち、分析プログラム3041がn種類存在する場合は、分析プログラム起動スクリプト3042もn種類存在する。分析プログラム起動スクリプト3042は、分析シーケンス制御プログラム2041によって並列実行ID毎に並列実行される。 Analysis program startup scripts 3042 [1] to 3042 [n] are programs that operate in cooperation with the analysis programs 3041 [1] to 3041 [n]. Each analysis program activation script 3042 activates a corresponding analysis program 3041. Analysis program start scripts 3042 [1] to 3042 [n] exist for the analysis programs 3041 [1] to 3041 [n], respectively, and are pre-processing necessary for starting the analysis programs 3041 [1] to 3041 [n]. To implement. That is, when there are n types of analysis programs 3041, there are also n types of analysis program start scripts 3042. The analysis program activation script 3042 is executed in parallel by the analysis sequence control program 2041 for each parallel execution ID.
 リモートプロシージャコール受付プロセス3043は、分析シーケンス制御プログラム2041からの分析プログラム3041起動のリモートプロシージャコールを受け付け、分析プログラム起動スクリプト3042を起動するためのプロセスである。分析シーケンス制御プログラム2041から受け取った指示に応じて、起動する分析プログラム起動スクリプト3042を判別し、分析プログラム起動スクリプト3042を起動する。 The remote procedure call acceptance process 3043 is a process for accepting a remote procedure call for starting the analysis program 3041 from the analysis sequence control program 2041 and starting the analysis program start script 3042. In response to the instruction received from the analysis sequence control program 2041, the analysis program activation script 3042 to be activated is determined, and the analysis program activation script 3042 is activated.
 分析ライブラリ3044は、分析プログラム3041に対し、分析に必要な機能群を提供するライブラリである。例えば機械学習のライブラリや、統計処理を行うライブラリ、データベースやデータレイクへのアクセスを提供するライブラリ、可視化を行うライブラリを用いることが出来る。 The analysis library 3044 is a library that provides the analysis program 3041 with a function group necessary for analysis. For example, a machine learning library, a library that performs statistical processing, a library that provides access to a database or a data lake, or a library that performs visualization can be used.
 分析プログラム3041は、その種類毎に異なる開発者が開発しても良い。分析シーケンス制御プログラム2041と分析プログラム3041の開発者は異なっても良い。 The analysis program 3041 may be developed by a different developer for each type. The developers of the analysis sequence control program 2041 and the analysis program 3041 may be different.
 図4は、本実施例の共有データストア104が備えるハードウェアおよび機能の一例を説明する図である。 FIG. 4 is a diagram illustrating an example of hardware and functions included in the shared data store 104 according to the present embodiment.
 共有データストア104は、入出力回路インタフェース401と、プロセッサ402と、入出力装置403と、記憶装置404と、これらを接続する内部通信線(たとえば、バス)と、を含む。 The shared data store 104 includes an input / output circuit interface 401, a processor 402, an input / output device 403, a storage device 404, and an internal communication line (for example, a bus) connecting them.
 入出力回路インタフェース401は、ネットワーク108と通信するためのインタフェースである。 The input / output circuit interface 401 is an interface for communicating with the network 108.
 プロセッサ402は、演算装置および制御装置である。プロセッサ402は、記憶装置404に格納された、共通設定ファイル4041、引き継ぎファイル4042、分析データ4043、分析結果4044、などを、ネットワーク108を介して分析シーケンス制御サーバ102や分析サーバ103と受け渡しする処理を行う。 The processor 402 is an arithmetic device and a control device. The processor 402 passes the common setting file 4041, the takeover file 4042, the analysis data 4043, the analysis result 4044, etc. stored in the storage device 404 to the analysis sequence control server 102 and the analysis server 103 via the network 108. I do.
 入出力装置403は、データの入力の受け付け、データの出力、あるいはその両方を行うための装置である。たとえば、入出力装置403は、キーボードやマウスなどからの入力を受け付け、プロセッサ402からの情報をディスプレイに表示させる。 The input / output device 403 is a device for accepting data input, outputting data, or both. For example, the input / output device 403 receives input from a keyboard, a mouse, or the like, and displays information from the processor 402 on a display.
 記憶装置404は、揮発性の記憶装置(DRAM(Dynamic Access Random Memory)など)と不揮発性の記憶装置(HDD、SSDなど)と、を含む。記憶装置404は、共通設定ファイル4041、引き継ぎファイル4042、分析データ4043、分析結果4044を格納する。 The storage device 404 includes a volatile storage device (DRAM (Dynamic Access Random Memory, etc.)) and a non-volatile storage device (HDD, SSD, etc.). The storage device 404 stores a common setting file 4041, a takeover file 4042, analysis data 4043, and an analysis result 4044.
 共通設定ファイル4041は、分析シーケンス制御プログラム2041や、分析プログラム3041が共通で利用する設定をまとめたファイルである。 The common setting file 4041 is a file in which settings used in common by the analysis sequence control program 2041 and the analysis program 3041 are collected.
 引き継ぎファイル4042は、分析プログラム3041間で引き継ぐデータに関する情報をまとめたファイルである。引き継ぎファイル4042は、例えば、分析プログラム3041の種類毎に存在し、また、分析プログラム3041を並列実行する場合は、並列実行ID毎に存在する。順番に実行される分析プログラム3041[1]~3041[n]それぞれにおいて、引き継ぎファイル4042[0]~[n-1]が用いられる。例えば、順番に実行される前段の分析プログラム3041[k-1]とその後段の分析プログラム3041[k](kは自然数、1<k≦n)との間での情報の引き継ぎには、引き継ぎファイル4042[k-1]が用いられる。最初に実行される分析プログラム3041[1]では、分析シーケンス制御エンジン2042の起動インタフェース601に渡されたパラメータの内容を含む引き継ぎファイル4042[0]が用いられる。また、並列実行ID=sとして実行される前段の分析プログラム3041[k-1]と後段の分析プログラム3041[k]との間での情報の引き継ぎには、引き継ぎファイル4042[k-1][s]が用いられる。 The takeover file 4042 is a file in which information related to data taken over between the analysis programs 3041 is collected. For example, the takeover file 4042 exists for each type of the analysis program 3041, and when the analysis program 3041 is executed in parallel, it exists for each parallel execution ID. In each of the analysis programs 3041 [1] to 3041 [n] executed in sequence, the takeover files 4042 [0] to [n-1] are used. For example, in order to take over information between the analysis program 3041 [k−1] in the preceding stage and the analysis program 3041 [k] in the subsequent stage (k is a natural number, 1 <k ≦ n) that are executed in order, File 4042 [k−1] is used. In the analysis program 3041 [1] executed first, the takeover file 4042 [0] including the contents of the parameters passed to the activation interface 601 of the analysis sequence control engine 2042 is used. In order to take over information between the analysis program 3041 [k-1] in the previous stage and the analysis program 3041 [k] in the subsequent stage executed as the parallel execution ID = s, the takeover file 4042 [k-1] [ s] is used.
 分析データ4043は、例えば、分析プログラム3041間で引き継ぐデータであり、前段の分析プログラム3041が分析データ4043を書き出し、後段の分析プログラム3041がその分析データ4043を読み込む。引き継ぎファイル4042に、分析データ4043が格納されている位置を示す位置情報が記録される。分析データ4043の位置(格納場所)は、引き継ぎファイル4042に含まれるデータ名40420におけるデータ名キー値(”power”、”currency”、”thermal”など)に対応するデータ名値(”power_1232.csv”、”currency_1232.csv”、”thermal_1232.csv”など)によって示される。 The analysis data 4043 is, for example, data taken over between the analysis programs 3041, the analysis program 3041 in the previous stage writes out the analysis data 4043, and the analysis program 3041 in the subsequent stage reads the analysis data 4043. Position information indicating the position where the analysis data 4043 is stored is recorded in the takeover file 4042. The position (storage location) of the analysis data 4043 is the data name value (“power — 1232.csv”) corresponding to the data name key value (“power”, “currency”, “thermal”, etc.) in the data name 40420 included in the takeover file 4042. "," Currency_1232.csv "," thermal_1232.csv ", etc.).
 分析結果4044は、分析シーケンスにしたがって複数種類の分析プログラム3041を実行することにより分析された結果データである。分析データ4043および分析結果4044は、データ格納部107に格納しても良い。 Analysis result 4044 is result data analyzed by executing a plurality of types of analysis programs 3041 according to the analysis sequence. The analysis data 4043 and the analysis result 4044 may be stored in the data storage unit 107.
 図5は、本実施例の開発サーバ105が備えるハードウェアおよび機能の一例を説明する図である。 FIG. 5 is a diagram illustrating an example of hardware and functions provided in the development server 105 of the present embodiment.
 開発サーバ105は、入出力回路インタフェース501と、プロセッサ502と、入出力装置503と、記憶装置504と、これらを接続する内部通信線(たとえば、バス)と、を含む。 The development server 105 includes an input / output circuit interface 501, a processor 502, an input / output device 503, a storage device 504, and an internal communication line (for example, a bus) connecting them.
入出力回路インタフェース501は、ネットワーク108と通信するためのインタフェースである。 The input / output circuit interface 501 is an interface for communicating with the network 108.
 プロセッサ502は、演算装置および制御装置である。プロセッサ502は、記憶装置504に格納された、起動スクリプト生成ツール5041を実行することによって、分析プログラム起動スクリプト3042を生成する。 The processor 502 is an arithmetic device and a control device. The processor 502 generates the analysis program start script 3042 by executing the start script generation tool 5041 stored in the storage device 504.
 入出力装置503は、データの入力の受け付け、データの出力、あるいはその両方を行うための装置である。たとえば、入出力装置503は、キーボードやマウスなどからの入力を受け付け、プロセッサ502からの情報をディスプレイに表示させる。 The input / output device 503 is a device for accepting data input, outputting data, or both. For example, the input / output device 503 receives an input from a keyboard, a mouse, or the like, and displays information from the processor 502 on a display.
 記憶装置504は、揮発性の記憶装置(DRAM(Dynamic Access Random Memory)など)と不揮発性の記憶装置(HDD、SSDなど)と、を含む。記憶装置504は、起動スクリプト生成ツール5041、分析シーケンス設定ファイル5042、分析プログラム呼び出し形式5043を格納する。 Storage device 504 includes a volatile storage device (DRAM (Dynamic Access Random Memory, etc.)) and a non-volatile storage device (HDD, SSD, etc.). The storage device 504 stores a startup script generation tool 5041, an analysis sequence setting file 5042, and an analysis program call format 5043.
 起動スクリプト生成ツール5041は、分析シーケンス設定ファイル5042および分析プログラム呼び出し形式5043を基に、分析プログラム起動スクリプト3042を生成する。 The start script generation tool 5041 generates an analysis program start script 3042 based on the analysis sequence setting file 5042 and the analysis program call format 5043.
 図6は、共通設定ファイル4041が備える要素の一例を説明する図である。 FIG. 6 is a diagram illustrating an example of elements included in the common setting file 4041.
 共通設定ファイル4041は、サーバアドレス40410と、データ名キー40411と、パラメータキー40412と、パラメータデフォルト値40413と、を含む。 The common setting file 4041 includes a server address 40410, a data name key 40411, a parameter key 40412, and a parameter default value 40413.
 サーバアドレス40410は、分析時に必要なサーバのアドレスを含む。例えば、共有データストア104のアドレスや、データ格納部107のアドレスを含む。例えば、分析シーケンス制御プログラム2041や分析プログラム3041がデータ格納部107にアクセスする必要がある場合、サーバアドレス40410の情報をアクセス先のアドレスとして利用する。サーバアドレス40410は、サーバの種別(”analyze_addr”、”db_addr”など)に対応して、アドレス値(”192.168.0.1:8282”、”192.168.0.3:8282”など)が設定される。 The server address 40410 includes a server address required at the time of analysis. For example, it includes the address of the shared data store 104 and the address of the data storage unit 107. For example, when the analysis sequence control program 2041 or the analysis program 3041 needs to access the data storage unit 107, the information of the server address 40410 is used as the access destination address. The server address 40410 corresponds to the server type (“analyze_addr”, “db_addr”, etc.) and the address value (“192.168.0.1:8282”, “192.168.0.3:8282”, etc.). ) Is set.
 データ名キー40411は、分析プログラム3041間で引き継ぐデータを識別するために利用するキーを含む。データ名キー40411は、データの種別(”power_file_name”、”currency_file_name”、”thermal_file_name”など)に対応して、データ名キー値(”power”、”currency”、”thermal”など)が設定される。データ名の引き継ぎに関する詳細は後述する。 The data name key 40411 includes a key used for identifying data to be inherited between the analysis programs 3041. The data name key 40411 is set with a data name key value ("power", "currency", "thermal", etc.) corresponding to the type of data ("power_file_name", "currency_file_name", "thermal_file_name", etc.). . Details regarding the inheritance of data names will be described later.
 パラメータキー40412は、分析シーケンス制御プログラム2041を起動するときに設定可能なパラメータの値を用いる場合に利用するキーを含む。パラメータキー40412は、パラメータの種別(”time_range_parameter”、”start_time_parameter”など)に対応して、パラメータキー値(”time_range”、”start_time”など)が設定される。図6に示す例では、”start_time”および”time_range”というパラメータキーを有するパラメータを用いて分析シーケンス制御プログラム2041を起動する。パラメータキー値は、パラメータキー情報に相当する。分析シーケンス制御プログラム2041の起動インタフェースの詳細は、図10にて述べる。 The parameter key 40412 includes a key used when using a parameter value that can be set when the analysis sequence control program 2041 is started. The parameter key 40412 is set with a parameter key value (such as “time_range” or “start_time”) corresponding to a parameter type (such as “time_range_parameter” or “start_time_parameter”). In the example shown in FIG. 6, the analysis sequence control program 2041 is activated using parameters having parameter keys of “start_time” and “time_range”. The parameter key value corresponds to parameter key information. Details of the activation interface of the analysis sequence control program 2041 will be described with reference to FIG.
 パラメータデフォルト値40413は、分析シーケンス制御プログラム2041を起動する際に設定可能なパラメータのデフォルト値である。パラメータデフォルト値40413は、パラメータキー40412の各パラメータキー値(”time_range”、”start_time”など)に対してデフォルト値(”10”、”2016-01-01T18:00:00.000Z”など)が設定される。分析シーケンス制御プログラム2041の起動インタフェースにこれらのパラメータが含まれていない場合、パラメータデフォルト値40413が利用される。 The parameter default value 40413 is a parameter default value that can be set when the analysis sequence control program 2041 is started. The parameter default value 40413 is a default value (“10”, “2016-01-01T18: 00: 00.0000Z”, etc.) for each parameter key value (“time_range”, “start_time”, etc.) of the parameter key 40412. Is set. When these parameters are not included in the activation interface of the analysis sequence control program 2041, the parameter default value 40413 is used.
 図7は、引き継ぎファイル4042が備える要素の一例を説明する図である。 FIG. 7 is a diagram for explaining an example of elements included in the takeover file 4042.
 引き継ぎファイル4042の数は、分析プログラムの種類数、及び、分析プログラムの並列実行数に対応する。すなわち、分析プログラム3041[1]~3041[n]に対して、n個の引き継ぎファイル4042(4042[0]~4042[n-1])を有する。また、分析プログラム3041[k]がp並列で実行される場合、分析プログラム3041[k]の並列実行の個々の実行単位それぞれに対応するp個の引き継ぎファイル4042(4042[k-1][1]~4042[k-1][p])を有する。 The number of inherited files 4042 corresponds to the number of types of analysis programs and the number of parallel executions of analysis programs. In other words, n inherited files 4042 (4042 [0] to 4042 [n-1]) are provided for the analysis programs 3041 [1] to 3041 [n]. Further, when the analysis program 3041 [k] is executed in p parallel, p number of inherited files 4042 (4042 [k-1] [1] corresponding to the individual execution units of the parallel execution of the analysis program 3041 [k]. ] To 4042 [k−1] [p]).
 引き継ぎファイル4042は、分析シーケンス制御プログラム2041が複数種類の分析プログラム3041[1]~3041[n]を順番に呼び出す場合に、先に実行される前段の分析プログラム3041[k-1]と、後に実行される後段の分析プログラム3041[k]の間で、並列実行単位毎に引き継ぐデータの情報を持つ。例えば、並列実行ID=sとして実行される前段の分析プログラム3041[k-1]と後段の分析プログラム3041[k]において、前段の分析プログラム3041[k-1]が、引き継ぎファイル4042[k-1][s]を生成し、この引き継ぎファイル4042[k-1][s]を基に、後段の分析プログラム3041[k]が前段の分析プログラム3041[k-1]からデータを引き継ぐ。 When the analysis sequence control program 2041 sequentially calls a plurality of types of analysis programs 3041 [1] to 3041 [n], the takeover file 4042 includes a first analysis program 3041 [k−1] that is executed first, It has data information to be taken over for each parallel execution unit between the analysis program 3041 [k] in the subsequent stage to be executed. For example, in the preceding analysis program 3041 [k−1] and the subsequent analysis program 3041 [k] executed as the parallel execution ID = s, the preceding analysis program 3041 [k−1] is replaced by the takeover file 4042 [k− 1] [s] is generated, and the analysis program 3041 [k] in the subsequent stage takes over the data from the analysis program 3041 [k-1] in the previous stage based on the takeover file 4042 [k-1] [s].
 引き継ぎファイル4042は、データ名40420と、パラメータ値40421を含む。 The takeover file 4042 includes a data name 40420 and a parameter value 40421.
 データ名40420は、前段の分析プログラム3041[k-1]から引き継がれたデータ名を保持する。データ名は、キーバリュー形式で構成され、左辺にキーとして共通設定ファイル4041のデータ名キー40411のデータ名キー値(”power”、”currency”、”thermal”など)を持ち、右辺にバリューとしてデータ名値(”power_1232.csv”、”currency_1232.csv”、”thermal_1232.csv”など)を持つ。データ名値はデータが格納されている位置を示す位置情報であり、例えば、ファイル名、データベースサーバのアドレスとテーブル名、データレイクサーバのアドレスとテーブル名など、利用するデータを取得するために十分な情報である。分析プログラム3041は、右辺のデータ名値を用いて処理対象のデータにアクセスすることが可能である。また、データ名キー40411を共通設定ファイル4041に含むことによって、全ての分析シーケンス制御プログラム2041および分析プログラム3041は、特定のデータを共通のデータ名キー40411に基づいて受け渡しすることができる。例えば、引き継ぎファイル4042のデータ名キー値が”power”である場合、このデータ名キー値に対応するデータ名値に示される”power_1232.csv”に格納されているデータのデータ種別は、共通設定ファイル4041から”power_file_name”であると導かれる。本実施例では以降、データ名値としてファイル名を設定するが、データ名値としてファイル名以外を利用した場合でも同様の方式を適用することが可能である。 The data name 40420 holds the data name inherited from the previous analysis program 3041 [k-1]. The data name is configured in a key-value format, and has the data name key value (“power”, “currency”, “thermal”, etc.) of the data name key 40411 of the common setting file 4041 as the key on the left side, and the value on the right side as the value It has a data name value ("power_1232.csv", "currency_1232.csv", "thermal_1232.csv", etc.). The data name value is location information indicating the location where the data is stored. For example, the file name, the address and table name of the database server, the address and table name of the data lake server, etc. are sufficient to obtain the data to be used. Information. The analysis program 3041 can access the data to be processed using the data name value on the right side. Further, by including the data name key 40411 in the common setting file 4041, all the analysis sequence control programs 2041 and analysis programs 3041 can pass specific data based on the common data name key 40411. For example, when the data name key value of the takeover file 4042 is “power”, the data type of the data stored in “power — 1232.csv” indicated in the data name value corresponding to the data name key value is the common setting. It is derived from the file 4041 that it is “power_file_name”. In the present embodiment, a file name is set as the data name value, but the same method can be applied even when a data name value other than the file name is used.
 パラメータ値40421は、分析シーケンス制御プログラム2041の起動時に実際に設定されたパラメータの値を格納する。パラメータ値40421は、左辺にキーとして共通設定ファイル4041のパラメータキー40412のデータパラメータキー値(”time_range”、”start_time”など)を持ち、右辺にバリューとしてパラメータ値(”5”、”2017-06-10T12:00:00.000Z”など)を持つ。また、パラメータキー40412を共通設定ファイル4041に含むことによって、全ての分析シーケンス制御プログラム2041および分析プログラム3041は、特定のデータを共通のパラメータキー40412に基づいて受け渡しすることができる。例えば、引き継ぎファイル4042のパラメータキー値が”start_time”である場合、このパラメータキー値に対応するパラメータ値に示される”2017-06-10T12:00:00.000Z”のパラメータ種別は、共通設定ファイル4041から”start_time_parameter”であることが導かれる。分析プログラム3041は共通設定ファイル4041に含まれるパラメータデフォルト値40413に優先して、このパラメータ値40421を用いて分析を実施する。 The parameter value 40421 stores the parameter value actually set when the analysis sequence control program 2041 is started. The parameter value 40421 has the data parameter key value (“time_range”, “start_time”, etc.) of the parameter key 40412 of the common setting file 4041 as the key on the left side, and the parameter value (“5”, “2017-06” as the value on the right side. -10T12: 00: 00.000Z "). Further, by including the parameter key 40412 in the common setting file 4041, all the analysis sequence control programs 2041 and analysis programs 3041 can pass specific data based on the common parameter key 40412. For example, if the parameter key value of the takeover file 4042 is “start_time”, the parameter type “2017-06-10T12: 00: 00.00Z” indicated in the parameter value corresponding to this parameter key value is the common setting file. From 4041, it is derived that “start_time_parameter”. The analysis program 3041 performs analysis using this parameter value 40421 in preference to the parameter default value 40413 included in the common setting file 4041.
 図8に示す分析シーケンス設定ファイル5042および図9に示す分析プログラム呼び出し形式5043は、起動スクリプト生成ツール5041が、分析プログラム起動スクリプト3042を自動的に生成する場合に利用する設定ファイルである。 The analysis sequence setting file 5042 shown in FIG. 8 and the analysis program call format 5043 shown in FIG. 9 are setting files used when the start script generation tool 5041 automatically generates the analysis program start script 3042.
 図8は、分析シーケンス設定ファイル5042の一例を説明する図である。 FIG. 8 is a diagram for explaining an example of the analysis sequence setting file 5042.
 分析シーケンス設定ファイル5042は、分析シーケンスの特定に用いられる分析シーケンスID50421と、ファンクションのリスト50422、とを含み、ファンクション毎に、ファンクションID50423と、ファンクションの呼び出しアドレス50424を含む。分析シーケンス制御プログラム2041は、起動時にパラメータとして渡される分析シーケンスIDと一致する分析シーケンスID50421で特定される分析シーケンスを実行する。ファンクションID50423は、分析プログラム3041に割り振られるIDである。ファンクションID50423は、分析プログラム呼び出し形式5043と対応を取るために利用する。ファンクションの呼び出しアドレス50424は、分析プログラム3041を起動するときに利用するアドレスである。本アドレスにアクセスすることで、リモートプロシージャコール受付プロセス3043が当該分析プログラム3041を起動する分析プログラム起動スクリプト3042を呼び出す。ファンクションの呼び出しアドレス50424に、共通設定ファイル4041のサーバアドレス40410のサーバ種別を指定しても良く、その場合アドレス値に変換してアクセスを行う。 The analysis sequence setting file 5042 includes an analysis sequence ID 50421 used for specifying an analysis sequence and a function list 50422, and includes a function ID 50423 and a function call address 50424 for each function. The analysis sequence control program 2041 executes the analysis sequence specified by the analysis sequence ID 50421 that matches the analysis sequence ID passed as a parameter at the time of activation. A function ID 50423 is an ID assigned to the analysis program 3041. The function ID 50423 is used to correspond to the analysis program call format 5043. A function call address 50424 is an address used when the analysis program 3041 is started. By accessing this address, the remote procedure call acceptance process 3043 calls an analysis program activation script 3042 that activates the analysis program 3041. In the function call address 50424, the server type of the server address 40410 of the common setting file 4041 may be designated, and in this case, it is converted into an address value and accessed.
 図9は、分析プログラム呼び出し形式5043の一例を示す図である。 FIG. 9 is a diagram showing an example of the analysis program call format 5043.
 分析プログラム呼び出し形式5043は、ファンクションID50431、ライブラリ名50432、スクリプト名50433、並列実行方式50434、パラメータ50435のリスト、を含む。各パラメータ50435は、nameフィールド50436と、typeフィールド50437とを含む。 The analysis program call format 5043 includes a function ID 50431, a library name 50432, a script name 50433, a parallel execution method 50434, and a list of parameters 50435. Each parameter 50435 includes a name field 50436 and a type field 50437.
 ファンクションID50431は、分析シーケンス設定ファイル5042が含むファンクションID50423との対応を取るものである。分析シーケンス制御プログラム2041は分析シーケンス設定ファイル5042に含むファンクションID50423の順番で分析プログラム3041を実行する。ライブラリ名50432は分析プログラム3041が利用する分析ツールである。bashやPython等のスクリプトや専用の分析ツールを利用することが可能である。スクリプト名50433は、分析プログラム3041の実行ファイル名である。bashやPythonであれば、スクリプトのファイル名になる。並列実行方式50434は、分析プログラム3041を、(1)並列実行IDを基に複数並列で実行するか、(2)1並列で実行するか、を示し、後者の場合は、(2-1)引き継ぎファイル名のリストを引数にするか、(2-2)並列実行IDリストを引数にするか、を示す。パラメータ50435のリストは、分析プログラム3041に渡すパラメータのリストである。各パラメータに対応し、分析プログラム3041起動時のパラメータが生成される。パラメータ毎に、nameフィールド50436およびtypeフィールド50437を有する。nameフィールド50436は、共通設定ファイル4041のデータ名キー40411のデータ名キー値との対応付けを表すフィールドである。後述のように、nameフィールド50436の値が共通設定ファイル4041のデータ名キー40411のデータ名キー値と一致したキーの値を取り出し、その値をキーとして引き継ぎファイル4012のデータ名40420との対応付けを取る処理を行うプログラムを生成する。typeフィールド50437は、パラメータの属性を示す。具体的には、リードアクセスするデータ名であるか、ライトアクセスするデータ名であるか、起動インタフェース601又は共通設定ファイル4041から渡されるパラメータであるかを示す。typeフィールド50437に応じて、生成するプログラムにおいて行う処理が変わる。ライブラリ名50432およびスクリプト名50433は、分析ライブラリ名および分析スクリプト名に相当する。分析プログラム呼び出し形式情報は、ライブラリ名50432、スクリプト名50433、並列実行方式50434、パラメータ50435のリスト、を含む。nameフィールド50436およびtypeフィールド50437は、名前フィールドおよびタイプフィールドである。 The function ID 50431 corresponds to the function ID 50423 included in the analysis sequence setting file 5042. The analysis sequence control program 2041 executes the analysis program 3041 in the order of the function ID 50423 included in the analysis sequence setting file 5042. A library name 50432 is an analysis tool used by the analysis program 3041. Scripts such as “bash” and “python” and dedicated analysis tools can be used. A script name 50433 is an execution file name of the analysis program 3041. If it is “bash” or “python”, the file name of the script is used. The parallel execution method 50434 indicates whether the analysis program 3041 is executed in parallel (1) based on a parallel execution ID, or (2) is executed in parallel. In the latter case, (2-1) Indicates whether a list of inherited file names is used as an argument or (2-2) a parallel execution ID list is used as an argument. The list of parameters 50435 is a list of parameters to be passed to the analysis program 3041. Corresponding to each parameter, a parameter when starting the analysis program 3041 is generated. Each parameter has a name field 50436 and a type field 50437. The name field 50436 is a field that represents the association with the data name key value of the data name key 40411 of the common setting file 4041. As will be described later, a key value in which the value of the name field 50436 matches the data name key value of the data name key 40411 of the common setting file 4041 is extracted, and is associated with the data name 40420 of the takeover file 4012 using that value as a key. Generate a program that performs processing to take A type field 50437 indicates an attribute of the parameter. Specifically, it indicates whether it is a data name for read access, a data name for write access, or a parameter passed from the activation interface 601 or the common setting file 4041. Depending on the type field 50437, processing to be performed in the generated program changes. The library name 50432 and the script name 50433 correspond to the analysis library name and the analysis script name. The analysis program call format information includes a library name 50432, a script name 50433, a parallel execution method 50434, and a list of parameters 50435. The name field 50436 and the type field 50437 are a name field and a type field.
 図10は、分析シーケンス制御エンジン2042の起動インタフェース601の一例を示す。 FIG. 10 shows an example of the activation interface 601 of the analysis sequence control engine 2042.
 分析シーケンス制御エンジン2042は、例えばREST(REpresentational State Transfer)インタフェースを用いて起動する。起動インタフェース601は、分析シーケンスID、及び、並列実行単位を指定する並列実行IDリストをパラメータとして含み、分析シーケンス制御エンジン2042のアドレスを含む。また、分析シーケンス制御プログラム2041に対するパラメータ群を含む。分析シーケンス制御エンジン2042は、起動インタフェース601に含まれる分析シーケンスIDを基に、分析シーケンス制御プログラム2041を起動する。 The analysis sequence control engine 2042 is activated using, for example, a REST (REpresentation State Transfer) interface. The activation interface 601 includes, as parameters, an analysis sequence ID and a parallel execution ID list that designates a parallel execution unit, and includes an address of the analysis sequence control engine 2042. In addition, a parameter group for the analysis sequence control program 2041 is included. The analysis sequence control engine 2042 activates the analysis sequence control program 2041 based on the analysis sequence ID included in the activation interface 601.
 図10では、起動インタフェース601において、アドレス(http//www.hoge.co.jp/analysys)に示される分析シーケンス制御サーバ102の分析シーケンス制御エンジン2042に対して、分析シーケンスID(analysysid=DataAnalysis)および並列実行IDリスト(distlist=/tmp/distdir/)を渡している。 In FIG. 10, in the activation interface 601, the analysis sequence ID (analysisid = DataAnalysis) is sent to the analysis sequence control engine 2042 of the analysis sequence control server 102 indicated by the address (http://www.hoge.co.jp/analysis). And a parallel execution ID list (distlist = / tmp / distdir /).
 分析シーケンス制御プログラム2041に対するパラメータ群は、例えばJSON(JavaScript Object Notation)形式で受け渡す(JavaScriptは登録商標)。パラメータとして、共通設定ファイル4041のパラメータキー40412に記載されたパラメータを含む場合、共通設定ファイル4041のパラメータデフォルト値40413の値より、起動インタフェース601で渡された値を優先して利用する。共通設定ファイル4041のパラメータキー40412に指定されていない値を起動インタフェース601で渡すことも可能である。その場合、共通設定ファイル4041のパラメータデフォルト値40413を含んでいないため、分析プログラム3041内にデフォルト値を設定する、又は起動インタフェース601に必ず当該パラメータを設定する、ということが必要になる。 The parameter group for the analysis sequence control program 2041 is transferred, for example, in the JSON (Java Script Object Notation) format (Java Script is a registered trademark). When the parameter described in the parameter key 40412 of the common setting file 4041 is included as a parameter, the value passed by the activation interface 601 is used with priority over the parameter default value 40413 of the common setting file 4041. A value that is not specified in the parameter key 40412 of the common setting file 4041 can also be passed through the activation interface 601. In this case, since the parameter default value 40413 of the common setting file 4041 is not included, it is necessary to set a default value in the analysis program 3041 or to set the parameter in the activation interface 601 without fail.
 図11は、データ分析システム101の分析全体の流れのフローチャート一例を示す。なお、データ分析システム101において、各プログラムを実行する分析シーケンス制御サーバ102のプロセッサ202および分析サーバ103のプロセッサ302が動作主体となるが、以下の説明では、便宜上、各プログラムを動作主体として記載している箇所も含まれる。 FIG. 11 shows an example of a flowchart of the overall analysis flow of the data analysis system 101. In the data analysis system 101, the processor 202 of the analysis sequence control server 102 that executes each program and the processor 302 of the analysis server 103 are the main actors. In the following description, each program is described as the main subject for convenience. The part that is included is also included.
 まず、クライアントデバイス106より、分析シーケンス制御エンジン2042の起動インタフェース601を実行する(S1100)。分析シーケンス制御エンジン2042は、起動インタフェース601に含まれる分析シーケンスIDを基に特定した分析シーケンスを有する分析シーケンス制御プログラム2041を選択し、実行する(S1101)。 First, the activation interface 601 of the analysis sequence control engine 2042 is executed from the client device 106 (S1100). The analysis sequence control engine 2042 selects and executes an analysis sequence control program 2041 having an analysis sequence specified based on the analysis sequence ID included in the activation interface 601 (S1101).
 次に、分析シーケンス制御プログラム2041は、分析シーケンスIDに対応する分析シーケンスにしたがって分析プログラム3041[1]~3041[n]の実行を分析サーバ103に指示する(S1102)。各分析プログラム3041は、複数並列で実行される場合と、1並列で実行される場合が存在する。 Next, the analysis sequence control program 2041 instructs the analysis server 103 to execute the analysis programs 3041 [1] to 3041 [n] according to the analysis sequence corresponding to the analysis sequence ID (S1102). Each analysis program 3041 may be executed in parallel in plural cases or in one parallel case.
 リモートプロシージャコール受付プロセス3043は分析プログラム3041の実行の指示を受け取り、分析プログラム起動スクリプト3042を起動する(S1103)。そして、分析プログラム起動スクリプト3042は、分析プログラム3041を起動し(S1104)、分析プログラム3041が分析を実行する(S1105)。分析終了後は処理が分析シーケンス制御プログラム2041に戻る。そして、分析シーケンス制御プログラム2041は、前段の分析プログラム3041[k-1]の実行の終了を確認し、後段の分析プログラム3041[k]の実行を行う(S1106)。全ての分析プログラム3041[1]~3041[n]の実行が終了すると、クライアントデバイスに分析結果を通知する(S1107)。クライアントデバイス106は、分析結果の表示を行う(S1108)。 The remote procedure call acceptance process 3043 receives an instruction to execute the analysis program 3041, and activates the analysis program activation script 3042 (S1103). Then, the analysis program start script 3042 starts the analysis program 3041 (S1104), and the analysis program 3041 executes the analysis (S1105). After the analysis is completed, the process returns to the analysis sequence control program 2041. Then, the analysis sequence control program 2041 confirms the end of the execution of the previous analysis program 3041 [k−1], and executes the subsequent analysis program 3041 [k] (S1106). When execution of all the analysis programs 3041 [1] to 3041 [n] is completed, the client device is notified of the analysis result (S1107). The client device 106 displays the analysis result (S1108).
 図12は、分析シーケンス制御プログラム2041における、分析プログラム呼び出し処理の一例を示すフローチャートである。これは、図11のS1102における処理の詳細を説明するものである。 FIG. 12 is a flowchart showing an example of analysis program call processing in the analysis sequence control program 2041. This explains the details of the processing in S1102 of FIG.
 まず、分析シーケンス制御プログラム2041は、並列実行IDリストを個々の並列実行IDに分解する(S1200)。そして、引き継ぎファイル4042のファイル名を生成する(S1201)。引き継ぎファイル4042のファイル名は、分析プログラム3041の並列実行数にかかわらず、並列実行ID毎に生成する。引き継ぎファイル4042のファイル名の生成ロジックは、本発明の目的に反しない限り任意である。例えば、並列実行IDと、分析プログラム3041名を組み合わせ、プレフィックスとポストフィックスを加えたものをファイル名とすることが考えられる。すなわち、プロセッサ202は、分析シーケンス制御プログラム2041を実行することにより、分析プログラム3041[k]がp並列で実行される場合に該分析プログラム3041[k][1]~3041[k][p]のそれぞれに引き継ぐデータを特定するデータ名40420のデータ名値を格納するための引き継ぎファイル4042[k-1][1]~4042[k-1][p]を特定するファイル名を作成する。データ名40420のデータ名値はデータ情報に相当し、引き継ぎファイル4042のファイル名は引き継ぎファイル情報に相当する。 First, the analysis sequence control program 2041 decomposes the parallel execution ID list into individual parallel execution IDs (S1200). Then, the file name of the takeover file 4042 is generated (S1201). The file name of the takeover file 4042 is generated for each parallel execution ID regardless of the number of parallel executions of the analysis program 3041. The file name generation logic of the takeover file 4042 is arbitrary as long as the object of the present invention is not violated. For example, it is conceivable that a parallel execution ID and an analysis program 3041 name are combined, and a file name is obtained by adding a prefix and a postfix. That is, when the analysis program 3041 [k] is executed in parallel by executing the analysis sequence control program 2041, the processor 202 executes the analysis programs 3041 [k] [1] to 3041 [k] [p]. A file name for specifying the takeover files 4042 [k-1] [1] to 4042 [k-1] [p] for storing the data name value of the data name 40420 for specifying the data to be taken over is created. The data name value of the data name 40420 corresponds to data information, and the file name of the takeover file 4042 corresponds to takeover file information.
 次に、分析プログラム3041の呼び出しインタフェースを作成する。これは、並列実行ID毎に並列実行する場合と、1並列で実行する場合で異なる。 Next, a call interface for the analysis program 3041 is created. This is different between the case of executing in parallel for each parallel execution ID and the case of executing in parallel.
 並列実行ID毎に並列実行する場合は(S1202でYes)、前段の分析プログラム3041[k-1]の実行時に生成した、並列実行ID=sに対応する引き継ぎファイル4042[k-1][s]のファイル名と、後段の分析プログラム3041[k]の実行時に生成する引き継ぎファイル4042[k][s]のファイル名を含めた呼び出しインタフェースを生成する(S1203)。すなわち、プロセッサ202が分析シーケンス制御プログラム2041を実行することにより並列実行ID=sとして実行される分析プログラム3041[k]を呼び出すインタフェースには、当該分析プログラム3041[k]の前段の分析プログラム3041[k-1]に対応する引き継ぎファイル4042[k-1][s]のファイル名、及び、当該分析プログラム3041[k]自身に対応する引き継ぎファイル4042[k][s]のファイル名が引数として含まれる。このようにすることで、分析シーケンス制御プログラム2041は分析プログラム3041を呼び出すインタフェースにて引き継ぎファイルの情報を容易に指定することができる。また、先頭の分析プログラム3041[1]の実行において、前段の分析プログラム3041が存在しないことから、分析シーケンス制御エンジン2042の起動インタフェース601で渡されたパラメータの内容を引き継ぎファイル4042[0]として1つ生成し、このファイルを分析プログラム3041[1]が用いる引き継ぎファイル4042として扱う。このように、分析シーケンス制御プログラム2041は、分析プログラム3041を並列に起動する場合、分析プログラム3041の並列実行ID毎に別々の引き継ぎファイル4042のファイル名を引数に取る。各引き継ぎファイル4042には処理対象のデータを特定するデータ名値が含まれるので、引き継ぎファイル4042に含まれるデータ名値に示されるデータを共有データストア104やデータ格納部107から取り出して処理を行う、という形で分析プログラム3041を組めば、共通の分析プログラム3041を用いて並列実行ID毎に並列して分析処理を行うことが可能になる。 When executing in parallel for each parallel execution ID (Yes in S1202), the takeover file 4042 [k-1] [s corresponding to the parallel execution ID = s generated when the analysis program 3041 [k-1] in the previous stage is executed. ] And a call interface including the file name of the takeover file 4042 [k] [s] generated when the analysis program 3041 [k] in the subsequent stage is executed (S1203). That is, when the processor 202 executes the analysis sequence control program 2041, an analysis program 3041 [k] preceding the analysis program 3041 [k] is connected to an interface that calls the analysis program 3041 [k] executed as parallel execution ID = s. The file name of the takeover file 4042 [k-1] [s] corresponding to k-1] and the file name of the takeover file 4042 [k] [s] corresponding to the analysis program 3041 [k] itself are used as arguments. included. By doing so, the analysis sequence control program 2041 can easily specify the information of the takeover file through an interface for calling the analysis program 3041. In addition, in the execution of the first analysis program 3041 [1], the previous analysis program 3041 does not exist. Therefore, the contents of the parameters passed by the activation interface 601 of the analysis sequence control engine 2042 are set to 1 as the takeover file 4042 [0]. This file is handled as a takeover file 4042 used by the analysis program 3041 [1]. As described above, when the analysis program 3041 is started in parallel, the analysis sequence control program 2041 takes the file name of the separate takeover file 4042 for each parallel execution ID of the analysis program 3041 as an argument. Since each inheritance file 4042 includes a data name value that identifies data to be processed, the data indicated by the data name value included in the inheritance file 4042 is extracted from the shared data store 104 or the data storage unit 107 and processed. If the analysis program 3041 is assembled in the form of, the analysis processing can be performed in parallel for each parallel execution ID using the common analysis program 3041.
 1並列で実行する場合は、引き継ぎファイル4042のリストを渡す場合と、並列実行IDリストを渡す場合と、がある。 When executing in parallel, there are a case of passing a list of takeover files 4042 and a case of passing a parallel execution ID list.
 引き継ぎファイル4042のリストを渡す場合は(S1204でYes)、前段の分析プログラム3041[k-1]の実行時に生成した引き継ぎファイル4042[k-1]のリストと、後段の分析プログラム3041[k]の実行時に生成する引き継ぎファイル4042[k]のリストを含めた呼び出しインタフェースを生成する(S1205)。引き継ぎファイル4042[k-1]および引き継ぎファイル4042[k]は並列実行ID全てに対応する。すなわち、プロセッサ202が分析シーケンス制御プログラム2041を実行することにより分析プログラム3041[k]を呼び出すインタフェースには、当該分析プログラム3041[k]の前段の分析プログラム3041[k-1]に対応する引き継ぎファイル4042[k-1]のリストを示す情報、及び、当該分析プログラム3041「k」自身に対応する引き継ぎファイル4042[k]のリストを示す情報が含まれる。このようにすることで、分析シーケンス制御プログラム2041は分析プログラム3041を呼び出すインタフェースにて引き継ぎファイルの情報を容易に指定することができる。例えば、特定のディレクトリに引き継ぎファイル4042をまとめて配置し、当該ディレクトリを引き継ぎファイル4042のリストを示す情報として渡すことが考えられる。並列実行ID毎に並列実行した場合と同様に、先頭の分析プログラム3041[1]の実行において、前段の分析プログラム3041が存在しないことから、分析シーケンス制御エンジン2042の起動インタフェース601に渡されたパラメータの内容を引き継ぎファイル4042[0]として1つ生成し、このファイルを分析プログラム3041[1]が用いる引き継ぎファイル4042として扱う。 In the case of passing the list of the takeover file 4042 (Yes in S1204), the list of the takeover file 4042 [k-1] generated when the preceding analysis program 3041 [k-1] is executed and the subsequent analysis program 3041 [k]. A call interface including a list of the takeover file 4042 [k] generated at the time of execution is generated (S1205). The takeover file 4042 [k−1] and the takeover file 4042 [k] correspond to all the parallel execution IDs. That is, the interface that calls the analysis program 3041 [k] by executing the analysis sequence control program 2041 by the processor 202 is the inherited file corresponding to the analysis program 3041 [k-1] preceding the analysis program 3041 [k]. Information indicating a list of 4042 [k−1] and information indicating a list of the takeover file 4042 [k] corresponding to the analysis program 3041 “k” itself are included. By doing so, the analysis sequence control program 2041 can easily specify the information of the takeover file through an interface for calling the analysis program 3041. For example, it is conceivable that the takeover files 4042 are collectively arranged in a specific directory, and the directory is passed as information indicating a list of the takeover files 4042. As in the case of parallel execution for each parallel execution ID, there is no previous analysis program 3041 in the execution of the first analysis program 3041 [1], so the parameters passed to the startup interface 601 of the analysis sequence control engine 2042 Is generated as a takeover file 4042 [0], and this file is handled as a takeover file 4042 used by the analysis program 3041 [1].
 並列実行IDリストを渡す場合は(S1204でNo)、分析シーケンス制御エンジン2042の起動インタフェース601に含まれる並列実行IDリストをそのまま分析プログラム3041に渡す呼び出しインタフェースを生成する(S1206)。 When the parallel execution ID list is passed (No in S1204), a call interface that passes the parallel execution ID list included in the startup interface 601 of the analysis sequence control engine 2042 to the analysis program 3041 is generated (S1206).
 最後に、それぞれで作成した呼び出しインタフェースを用いて、分析プログラム3041を起動する分析プログラム起動スクリプト3042を呼び出す(S1207)。 Finally, the analysis program start script 3042 for starting the analysis program 3041 is called using the call interface created in each case (S1207).
 1つの分析プログラム3041の実行が終了した場合(S1208)、他に実行すべき分析プログラム3041が残っているときは(S1208でNo)、次に実行する分析プログラム3041を特定して、同様の方法でインタフェースを作成した後、分析プログラム3041を実行する。全ての分析プログラム3041の実行が終わると(S1208でYes)、本フローチャートの処理を終了する。 When the execution of one analysis program 3041 is completed (S1208), if there is another analysis program 3041 to be executed (No in S1208), the analysis program 3041 to be executed next is specified and the same method is used. After creating the interface, the analysis program 3041 is executed. When all the analysis programs 3041 have been executed (Yes in S1208), the processing of this flowchart is ended.
 図13は、分析シーケンス制御プログラム2041における、分析プログラム起動スクリプト3042の動作の詳細を示す。 FIG. 13 shows details of the operation of the analysis program start script 3042 in the analysis sequence control program 2041.
 分析プログラム起動スクリプト3042は、まず、共通設定ファイル4041を読みだす。以降の動作は、分析プログラム3041の並列実行方式によって異なる。 The analysis program start script 3042 first reads the common setting file 4041. Subsequent operations differ depending on the parallel execution method of the analysis program 3041.
 まず、並列実行ID毎に並列実行を行う場合(S1301)について述べる。この場合、分析プログラム3041[k]を実行する分析プログラム起動スクリプト3042の呼び出しインタフェースの引数に基づいて、並列実行ID=sとなる前段の分析プログラム3041[k-1]に対応する引き継ぎファイル4042[k-1][s]を読みだす(S1302)。そして、読み出した引き継ぎファイル4042[k-1][s]の内容と、共通設定ファイル4041のデータ名キー40411のデータ名値を用いて、分析プログラム3041が利用するデータの位置(格納場所)を示す位置情報としての読み出しファイル名を特定する(S1303)。これは、全ての分析プログラム3041は、共通設定ファイル4041のデータ名キー40411に対して特定のデータを結びつけるように処理していることから、分析プログラム3041があるデータ名キー40411に対応するデータを読み出したい場合は、当該データ名キー40411のデータ名キー値に対応するデータ名値(ファイル名)を、引き継ぎファイル4042から読み出すことで、読み出したデータ名値に基づいて処理対象のデータの位置(格納場所)を後段の分析プログラム3041[k]が把握することが可能となる。また、分析プログラムがあるデータ名キー40411に対応するデータを書き出したい場合も同様である。このようにすることで、前段の分析プログラム3041[k-1]と、後段の分析プログラム3041[k]との間で、適切にデータを引き継ぐことが可能となる。次に、分析データ4033や分析結果4044などのデータの位置(格納場所)を示す位置情報としての書き込みファイル名を生成する(S1304)。ファイル名生成ロジックは、本発明の目的に反しない限り任意である。例えば引き継ぎファイル4042のファイル名にプレフィックスとポストフィックスを付加すれば良い。更に、引き継ぎファイル4042からパラメータを取り出す(S1305)。そして、分析プログラム3041のインタフェース仕様に合わせ、読み出しファイル名、書き込みファイル名および取り出したパラメータを引数として分析プログラム3041を起動する(S1306)。最後に、分析シーケンスにしたがって次に実行される後段の分析プログラム3041向けに、引き継ぎファイル4042を生成して書き出す(S1307)。新たに生成した引き継ぎファイル4042は、現在実行している分析プログラム3041を起動した分析プログラム起動スクリプト3042の呼び出しインタフェースに含まれる、現在の分析プログラム3041向け引き継ぎファイル4042のファイル名を利用する。すなわち、プロセッサ302は、分析プログラム3041[k]を実行することにより、その前段の分析プログラム3041[k-1]に対応する引き継ぎファイル[k-1][s]のファイル名により特定される引き継ぎファイル[k-1][s]に格納されたデータ名値(ファイル名)により特定される引き継ぎデータを取得し、この引き継ぎデータを用いた所定の処理により生成されたデータを特定するデータ名値(ファイル名)を、分析プログラム[k]に対応する引き継ぎファイル4042[k][s]のファイル名により特定される引き継ぎファイル[k][s]に書き出す。並列実行ID毎に異なる引き継ぎファイル4042のファイル名が呼び出しインタフェースに設定されているため、並列実行ID毎に異なるファイル名を有する引き継ぎファイル4042が生成される。このように、分析プログラム3041からみると、引き継ぎファイル4042の存在が見えないため、本発明では分析プログラム3041の開発者が、周りの分析プログラム実行環境について意識する必要が無くなる。 First, the case where parallel execution is performed for each parallel execution ID (S1301) will be described. In this case, based on the argument of the call interface of the analysis program start script 3042 for executing the analysis program 3041 [k], the takeover file 4042 [[1] corresponding to the analysis program 3041 [k−1] in the preceding stage with the parallel execution ID = s. k-1] [s] is read (S1302). Then, using the contents of the read transfer file 4042 [k-1] [s] and the data name value of the data name key 40411 of the common setting file 4041, the position (storage location) of data used by the analysis program 3041 is determined. The read file name as the position information to be indicated is specified (S1303). This is because all the analysis programs 3041 process so as to associate specific data with the data name key 40411 of the common setting file 4041, so that the data corresponding to the data name key 40411 with the analysis program 3041 is displayed. When reading, the data name value (file name) corresponding to the data name key value of the data name key 40411 is read from the takeover file 4042, so that the position of the data to be processed based on the read data name value ( The analysis program 3041 [k] in the subsequent stage can grasp the storage location). The same applies to the case where it is desired to write data corresponding to a data name key 40411 having an analysis program. In this way, it is possible to appropriately transfer data between the analysis program 3041 [k-1] in the previous stage and the analysis program 3041 [k] in the subsequent stage. Next, a write file name is generated as position information indicating the position (storage location) of data such as analysis data 4033 and analysis result 4044 (S1304). The file name generation logic is arbitrary as long as the object of the present invention is not violated. For example, a prefix and a postfix may be added to the file name of the takeover file 4042. Further, parameters are extracted from the takeover file 4042 (S1305). Then, in accordance with the interface specification of the analysis program 3041, the analysis program 3041 is activated with the read file name, write file name, and extracted parameters as arguments (S1306). Finally, a takeover file 4042 is generated and written for the subsequent analysis program 3041 to be executed next in accordance with the analysis sequence (S1307). The newly generated takeover file 4042 uses the file name of the takeover file 4042 for the current analysis program 3041 included in the call interface of the analysis program start script 3042 that started the currently executing analysis program 3041. In other words, the processor 302 executes the analysis program 3041 [k], thereby taking over the transfer file identified by the file name of the takeover file [k-1] [s] corresponding to the preceding analysis program 3041 [k-1]. Data name value for acquiring the inherited data specified by the data name value (file name) stored in the file [k-1] [s] and specifying the data generated by the predetermined processing using the inherited data (File name) is written to the takeover file [k] [s] specified by the file name of the takeover file 4042 [k] [s] corresponding to the analysis program [k]. Since the file name of the takeover file 4042 that differs for each parallel execution ID is set in the call interface, the takeover file 4042 having a different file name for each parallel execution ID is generated. Thus, since the existence of the takeover file 4042 is not seen from the viewpoint of the analysis program 3041, in the present invention, the developer of the analysis program 3041 does not need to be aware of the surrounding analysis program execution environment.
 次に、引き継ぎファイル4042のリストを呼び出しインタフェースに含む場合(S1308)、まず、前段の分析プログラム3041[k-1]の引き継ぎファイル4042のリスト、今回実行する後段の分析プログラム3041[k]の引き継ぎファイル4042のリストを共に、分解する(S1309)。各リストには、引き継ぎファイル40402のファイル名が複数含まれていることもあれば、1つしか含まれていないこともある。そして、並列実行ID毎に並列実行した場合と同様に、前段の分析プログラム3041[k-1]の全ての引き継ぎファイル4042を読み出し(S1310)、共通設定ファイル4041のデータ名キー40411のデータ名値を基に、読み出すファイルを特定する(S1311)。また、並列実行ID毎に分析データ4033や分析結果4044などをデータの位置(格納場所)を示す位置情報としての書き込みファイル名を生成する(S1312)。また、引き継ぎファイル4042からパラメータを取り出す(S1313)。そして、分析プログラム3041のインタフェースの仕様に合わせ、読み出しファイル名のリスト、書き込みファイル名のリストおよび読み出したパラメータを引数として、分析プログラム3041を起動する(S1314)。最後に、並列実行ID毎に並列実行する場合と同様に、最後に、分析シーケンスにしたがって次に実行される後段の分析プログラム3041向けに、引き継ぎファイル4042を生成して並列実行ID毎に書き出す(S1315)。この場合も、また、分析プログラム3041からみると、引き継ぎファイル4042の存在が見えないため、分析プログラム3041の開発者は、周りの分析プログラム実行環境について意識する必要が無くなる。 Next, when the list of the inherited file 4042 is included in the calling interface (S1308), first, the list of the inherited file 4042 of the preceding analysis program 3041 [k-1], the inheritance of the subsequent analysis program 3041 [k] to be executed this time. Both lists of the file 4042 are disassembled (S1309). Each list may include a plurality of file names of the takeover file 40402, or may include only one file name. Then, as in the case of parallel execution for each parallel execution ID, all inherited files 4042 of the previous analysis program 3041 [k−1] are read (S1310), and the data name value of the data name key 40411 of the common setting file 4041 is read. The file to be read is specified based on (S1311). In addition, a write file name is generated as position information indicating the position (storage location) of the analysis data 4033 and the analysis result 4044 for each parallel execution ID (S1312). Also, parameters are taken out from the takeover file 4042 (S1313). Then, in accordance with the interface specification of the analysis program 3041, the analysis program 3041 is activated with the read file name list, the write file name list, and the read parameters as arguments (S1314). Finally, as in the case of parallel execution for each parallel execution ID, finally, a takeover file 4042 is generated and written for each parallel execution ID for the subsequent analysis program 3041 to be executed next in accordance with the analysis sequence ( S1315). Also in this case, since the presence of the takeover file 4042 is not visible from the viewpoint of the analysis program 3041, the developer of the analysis program 3041 does not need to be aware of the surrounding analysis program execution environment.
 最後に、並列実行IDリストを呼び出しインタフェースに含む場合、並列実行IDのリストを引数として、分析プログラム3041を起動する(S1316)。分析プログラム3041は並列実行IDのリストを認識し、プログラムを実行する。本方式では並列実行IDを分析プログラム3041が意識する必要があり、分析プログラム3041の開発者が引き継ぎファイル4042の存在を意識する必要が生じる。このような並列実行IDのリストを受け渡す方式は、例えば並列実行IDのリストを動的に書き換える場合など、特殊なケースで利用する事が可能である。これは、例えば並列実行IDのリストを特定のディレクトリ内のファイル名とし、ディレクトリ内のファイル数を分析プログラム3041内で変更する事で実現することが可能である。なお、並列実行IDリストを呼び出しインタフェースに含むケースは省略してもよい。 Finally, when the parallel execution ID list is included in the calling interface, the analysis program 3041 is started with the parallel execution ID list as an argument (S1316). The analysis program 3041 recognizes the list of parallel execution IDs and executes the program. In this method, the analysis program 3041 needs to be aware of the parallel execution ID, and the developer of the analysis program 3041 needs to be aware of the existence of the takeover file 4042. Such a method for delivering a list of parallel execution IDs can be used in a special case, for example, when the list of parallel execution IDs is dynamically rewritten. This can be realized, for example, by changing the number of files in the directory in the analysis program 3041 with the list of parallel execution IDs as file names in a specific directory. Note that the case where the parallel execution ID list is included in the call interface may be omitted.
 図14は、引き継ぎファイル書き込み方式の一例を示す。 FIG. 14 shows an example of the takeover file writing method.
 本ファイルには、まずパラメータを書き込み(S1400)、次に読み出しファイル名を書き込み(S1401)、最後に書き込みファイル名(S1402)を書き込めば良い。それぞれ、共通設定ファイル4041に含まれるデータ名キー40411のデータ名値やパラメータキー40412のパラメータキー値をキーとして、実際に利用するファイル名や、パラメータの値を書き込む。 In this file, parameters are first written (S1400), then a read file name is written (S1401), and finally a write file name (S1402) is written. The file name and parameter value to be actually used are written using the data name value of the data name key 40411 and the parameter key value of the parameter key 40412 included in the common setting file 4041 as keys.
 図15は、起動スクリプト生成ツール5041の動作フローの一例を示す。 FIG. 15 shows an example of the operation flow of the startup script generation tool 5041.
 起動スクリプト生成ツール5041は、分析シーケンス設定ファイル5042および分析プログラム呼び出し形式5043を基に、分析プログラム起動スクリプト3042を生成するプログラムである。分析シーケンス設定ファイル5042は、分析シーケンス制御プログラム2041に対して1つ存在し、分析プログラム呼び出し形式5043は、分析シーケンス制御プログラム2041より呼び出される分析プログラム3041の種類毎に1つ存在する。すなわち、分析プログラム呼び出し形式5043と分析プログラム3041は1対1で対応している。また、分析シーケンス設定ファイル5042は分析シーケンス制御プログラム2041の開発者が作成し、分析プログラム呼び出し形式5043は、それぞれに対応する分析プログラム3041の開発者が作成することが自然である。 The start script generation tool 5041 is a program that generates an analysis program start script 3042 based on the analysis sequence setting file 5042 and the analysis program call format 5043. One analysis sequence setting file 5042 exists for the analysis sequence control program 2041, and one analysis program call format 5043 exists for each type of analysis program 3041 called from the analysis sequence control program 2041. That is, the analysis program call format 5043 and the analysis program 3041 have a one-to-one correspondence. The analysis sequence setting file 5042 is created by the developer of the analysis sequence control program 2041, and the analysis program call format 5043 is naturally created by the developer of the corresponding analysis program 3041.
 まず、起動スクリプト生成ツール5041は、分析シーケンス設定ファイル5042を読み出す(S1500)。次に、分析シーケンス設定ファイル5042に含まれるファンクションID50423を記載順に並べたリストを作成する(S1501)。そして、ファンクションID50423のリストの先頭から末尾まで順に以下の処理を実施する。処理対象となる1つのファンクションID50423を定めたら(S1502)、対応する分析プログラム呼び出し形式5043を読み出す(S1503)。分析プログラム呼び出し形式5043は、分析シーケンス制御プログラム2041より呼び出される分析プログラム3041の種類毎に存在し、ファンクションID50423と一致するファンクションID50431を含む分析プログラム呼び出し形式5043が存在する必要がある。もし、ファンクションID50423に対応する分析プログラム呼び出し形式5043が見つからない場合は、エラーを表示して、処理を終了する。 First, the startup script generation tool 5041 reads the analysis sequence setting file 5042 (S1500). Next, a list is created in which the function IDs 50423 included in the analysis sequence setting file 5042 are arranged in the order of description (S1501). Then, the following processing is performed in order from the top to the end of the list of function ID 50423. When one function ID 50423 to be processed is determined (S1502), the corresponding analysis program call format 5043 is read (S1503). The analysis program call format 5043 exists for each type of the analysis program 3041 called from the analysis sequence control program 2041, and the analysis program call format 5043 including the function ID 50431 that matches the function ID 50423 needs to exist. If the analysis program call format 5043 corresponding to the function ID 50423 is not found, an error is displayed and the process is terminated.
 以降、分析プログラム起動スクリプト3042のプログラムを順次生成する。 Thereafter, the analysis program start script 3042 program is sequentially generated.
 まず、共通設定ファイル4041読み出しプログラムを生成する(S1504)。これは、共通設定ファイル4041の形式が固定されていれば、常に同一のプログラムでよい。例えば、共通設定ファイル4041が図6に示すようにJSON形式となっていれば、JSON形式のファイルを読み出すプログラムを生成すればよい。 First, a common setting file 4041 reading program is generated (S1504). This may always be the same program as long as the format of the common setting file 4041 is fixed. For example, if the common setting file 4041 is in the JSON format as shown in FIG. 6, a program for reading the JSON format file may be generated.
 次に、分析プログラム呼び出し形式5043より、分析プログラム3041の呼び出しパラメータのリストを生成する(S1505)。そして、リストのパラメータ1つずつに対し、パラメータを生成するプログラムを作成する。 Next, a list of call parameters for the analysis program 3041 is generated from the analysis program call format 5043 (S1505). Then, a program for generating parameters is created for each parameter in the list.
 並列実行IDに基づいて分析プログラム3041[k]を並列実行する場合(S1506でYes)、並列実行ID=sとなる前段の分析プログラム3041[k-1]が生成した引き継ぎファイル4042[k-1][s]を読み出すプログラムを生成する(S1507)。そして、分析プログラム3041のパラメータを生成するプログラムを生成する(S1508)。これは、パラメータごとのnameフィールド50436とtypeフィールド50437に基づき、次のよう生成する。まず、typeフィールド50437がリード(read)の場合は、前段の分析プログラム3041[k-1]が生成した引き継ぎファイル4042[k-1][s]に引き継ぎデータの位置(格納場所)を示すデータ名値であるファイル名が含まれている。そのため、分析プログラム呼び出し形式5043のnameフィールド50436の値と、共通設定ファイル4041のデータ名キー40411の一致するキーの値を取り出し、取り出した値をキーとして、引き継ぎファイル4042[k-1][s]から、このファイル名を取り出すプログラムを生成する。typeフィールド50437がライト(write)の場合は、書き込みファイル名を生成するプログラムを生成する。最後に、typeフィールド50437がパラメータ(params)の場合は、前段の分析プログラム3041が生成した引き継ぎファイル4042[k-1][s]にパラメータ値が含まれている。そのため、分析プログラム呼び出し形式5043のnameフィールド50436の値と、共通設定ファイル4041のパラメータキー40412の一致するキーの値を取り出し、取り出した値をキーとして、引き継ぎファイル4042[k-1][s]から、利用するパラメータの値を取り出すプログラムを生成する。 When the analysis program 3041 [k] is executed in parallel based on the parallel execution ID (Yes in S1506), the takeover file 4042 [k-1] generated by the preceding analysis program 3041 [k-1] with the parallel execution ID = s. ] [S] is generated (S1507). Then, a program for generating parameters of the analysis program 3041 is generated (S1508). This is generated as follows based on the name field 50436 and the type field 50437 for each parameter. First, when the type field 50437 is read, data indicating the position (storage location) of the inherited data in the inherited file 4042 [k-1] [s] generated by the analysis program 3041 [k-1] in the previous stage. The file name that is the name value is included. Therefore, the value of the name field 50436 of the analysis program call format 5043 and the value of the key that matches the data name key 40411 of the common setting file 4041 are extracted, and the takeover file 4042 [k−1] [s] using the extracted value as a key. ] To generate a program for extracting the file name. When the type field 50437 is write, a program for generating a write file name is generated. Finally, when the type field 50437 is a parameter (params), the parameter value is included in the takeover file 4042 [k−1] [s] generated by the previous analysis program 3041. Therefore, the value of the name field 50436 of the analysis program call format 5043 and the value of the key that matches the parameter key 40412 of the common setting file 4041 are extracted, and the takeover file 4042 [k−1] [s] using the extracted value as a key. From this, a program for extracting the value of the parameter to be used is generated.
 引き継ぎファイル4042[k-1]のリストを引数として分析プログラム3041を呼び出す場合(S1508でNoかつS1509でYes)、まず、引き継ぎファイル4042[k-1]のリストを引き継ぎファイル4042[k-1]に分解するプログラムを生成する(S1510)。そして引き継ぎファイル4042[k-1]毎に、並列実行ID毎に並列実行する場合と同様に、パラメータのtypeフィールド50437の値に応じて、引き継ぎファイル4042[k-1]を読み出し、書き込み、呼び出しインタフェースのパラメータの取り出しを行うプログラムを生成し(S1511)、分析プログラム3041のパラメータを生成するプログラムを生成する(S1512)。 When the analysis program 3041 is called with the list of the takeover file 4042 [k-1] as an argument (No in S1508 and Yes in S1509), first, the list of the takeover file 4042 [k-1] is taken over as the takeover file 4042 [k-1]. A program to be decomposed is generated (S1510). Then, for each takeover file 4042 [k-1], the takeover file 4042 [k-1] is read, written, and called according to the value of the parameter type field 50437, as in the case of parallel execution for each parallel execution ID. A program for extracting interface parameters is generated (S1511), and a program for generating parameters of the analysis program 3041 is generated (S1512).
 並列実行IDのリストを元に分析プログラムを実行する場合(S1509でNo)、並列実行IDのリストをパラメータとして分析プログラム3041を実行するプログラムを生成する(S1513)。 When the analysis program is executed based on the parallel execution ID list (No in S1509), a program for executing the analysis program 3041 is generated using the parallel execution ID list as a parameter (S1513).
 全てのパラメータに対するプログラム生成処理が終了した後に(S1514)、分析プログラムの起動パラメータを生成できるので、分析プログラム呼び出し形式5043に含まれるライブラリ名およびスクリプト名と組み合わせて分析プログラム3041を実行するプログラムを生成する(S1515)。 After the program generation process for all parameters has been completed (S1514), the analysis program startup parameters can be generated, so a program for executing the analysis program 3041 is generated in combination with the library name and script name included in the analysis program call format 5043. (S1515).
 最後に、引き継ぎファイルを書き出すプログラムを生成する(S1516)。これは、前の分析プログラム3041から読み出したデータを全てそのまま書き込むと共に、今回新たに生成した書き込みパラメータのnameと、共通設定ファイル4041のデータ名キー40411の一致するキーの値を取り出し、取り出した値をキーとし、ファイル名を値として、引き継ぎファイル4042に書き込みを行うプログラムを生成する。 Finally, a program for writing the takeover file is generated (S1516). This is because all the data read from the previous analysis program 3041 is written as it is, and the name of the newly created write parameter and the value of the key matching the data name key 40411 of the common setting file 4041 are extracted and the extracted value Is used as a key and a file name is used as a value to generate a program for writing to the takeover file 4042.
 最後に生成したプログラムを、分析プログラム起動スクリプト3042のプログラムとして書き出す。本プログラムは、任意のスクリプトを用いればよく、例えば、シェルスクリプトとして生成することや、pythonスクリプトとして生成することが考えられる(S1517)。 The last generated program is written out as an analysis program start script 3042 program. Any arbitrary script may be used for this program. For example, it may be generated as a shell script or a Python script (S1517).
 そして、これらの処理を、全てのファンクションID50423に対して実行が終了するまで繰り返す(S1518)。 These processes are repeated until execution of all the function IDs 50423 is completed (S1518).
 以上により、分析プログラム起動スクリプト3042を自動的に生成することが可能である。分析プログラム3041の開発者からみると、分析プログラム起動スクリプト3042という、本発明の実施環境に依存したプログラムの実装が不要となるので、環境について気にすることなく分析プログラム3041の作成に集中することが可能となり、分析プログラム3041の施行に必要な期間を更に短縮することが可能となる。 As described above, the analysis program start script 3042 can be automatically generated. From the viewpoint of the developer of the analysis program 3041, the implementation of the analysis program start script 3042, which is dependent on the implementation environment of the present invention, is not necessary, so that the user concentrates on creating the analysis program 3041 without worrying about the environment. This makes it possible to further shorten the period required for the execution of the analysis program 3041.
 本仕組みを用いて、分析シーケンス制御プログラム2041の開発者と、分析プログラム3041[1]、3041[2]のそれぞれの開発者2人との計3名でシステムを開発した場合に、分析プログラム3041[1]と分析プログラム3041[2]間で新たに1つの種類のデータの引き継ぎが必要となった場合のシステム改変シーケンスの一例を図16に示す。 When the system is developed by a total of three people, that is, the developer of the analysis sequence control program 2041 and two developers of the analysis programs 3041 [1] and 3041 [2] using this mechanism, the analysis program 3041 FIG. 16 shows an example of a system modification sequence when it is necessary to newly transfer one type of data between [1] and the analysis program 3041 [2].
 まず、前段の分析プログラム3041[1]の開発者が、新たに作成するデータ(以下、「本データ」という)の構造を決定する(S1600)。そして、分析プログラム3041[1]を、本データを書き出しパラメータとするようにプログラムを設計変更し、併せて分析プログラム3041[1]に対応する分析プログラム呼び出し形式5043を変更する(S1601)、そして、起動スクリプト生成ツール5041を実行する(S1602)。これにより、分析プログラム3041[1]向けの分析プログラム起動スクリプト3042が作成される。そして、分析プログラム3041[1]の実装を行い(S1603)、環境にデプロイする(S1604)。 First, the developer of the previous analysis program 3041 [1] determines the structure of newly created data (hereinafter referred to as “main data”) (S1600). Then, the design of the analysis program 3041 [1] is changed so that this data is used as a write parameter, and the analysis program call format 5043 corresponding to the analysis program 3041 [1] is changed (S1601), and The startup script generation tool 5041 is executed (S1602). As a result, an analysis program start script 3042 for the analysis program 3041 [1] is created. Then, the analysis program 3041 [1] is implemented (S1603) and deployed to the environment (S1604).
 後段の分析プログラム3041[2]の開発者は、まず、前段の分析プログラム3041[1]の開発者と本データのデータ形式を合意する。次に、分析プログラム3041[2]を、本データを読み出しパラメータとするように設計変更し、合わせて分析プログラム3041[1]に対応する分析プログラム呼び出し形式5043を変更する(S1605)。そして、起動スクリプト生成ツール5041を実行する(S1606)。これにより、分析プログラム3041[2]向けの分析プログラム起動スクリプト3042が生成される。そして、分析プログラム3041[2]の実装を行い(S1607)、実行環境にデプロイする(S1608)。ここで、分析プログラム3041[1]のデプロイ(S1604)を、分析プログラム3041[2]のデプロイ(S1608)より前に実施するようにすることに気をつければ良い。 The developer of the latter analysis program 3041 [2] first agrees with the developer of the former analysis program 3041 [1] on the data format of this data. Next, the analysis program 3041 [2] is redesigned so that this data is used as a read parameter, and the analysis program call format 5043 corresponding to the analysis program 3041 [1] is also changed (S1605). Then, the startup script generation tool 5041 is executed (S1606). As a result, an analysis program start script 3042 for the analysis program 3041 [2] is generated. Then, the analysis program 3041 [2] is implemented (S1607) and deployed to the execution environment (S1608). Here, it should be noted that the analysis program 3041 [1] is deployed (S1604) before the analysis program 3041 [2] is deployed (S1608).
 本シーケンスより分かるように、分析シーケンス制御プログラム2041の変更が不要となる。これは、分析プログラム3041間のデータのやり取りが全て引き継ぎファイル4042によって実施されるようになり、分析プログラム3041間でやり取りするデータが変更になったとしても、引き継ぎファイル4042名に変更はなく、変更の影響が引き継ぎファイル4042の中身に抑えられていることによる。また、分析プログラム3041のデプロイのタイミングも、以前は分析シーケンス制御プログラム2041および、全ての分析プログラム3041を同時にデプロイする必要があったが、本発明により、分析プログラム3041間の単純なデプロイ順序のみ守れば良い形となっていることが分かる。 As can be seen from this sequence, the analysis sequence control program 2041 need not be changed. This is because all of the data exchange between the analysis programs 3041 is performed by the takeover file 4042, and even if the data exchanged between the analysis programs 3041 is changed, the name of the takeover file 4042 is not changed. This is because the influence of the above is suppressed in the contents of the takeover file 4042. Also, the analysis program 3041 must be deployed at the same time as the analysis sequence control program 2041 and all the analysis programs 3041. However, according to the present invention, only a simple deployment order between the analysis programs 3041 can be observed. You can see that it is in good shape.
 以上より、課題であった、分析プログラムおよび分析シーケンス制御プログラムの開発を複数の開発者で行う場合、開発者間で分析方法の変更に伴うインタフェースの合意や、プログラムのデプロイなどの調整などに必要な時間を、短縮することが可能となる。これにより、分析プログラム作成により重点的に取り組むことが可能となると考えられる。 From the above, when developing the analysis program and analysis sequence control program, which was an issue, required by multiple developers to agree on the interface when changing the analysis method, and to adjust the program deployment, etc. It is possible to shorten the time required. This will make it possible to focus more on the creation of analysis programs.
 また、本発明によって、分析プログラム設計者が、引き継ぎファイル4042関連の設計を実施する必要が生じるが、起動スクリプト生成ツール5041を用いることに依って、分析プログラム設計者が追加で実施する必要がある事柄を、分析プログラム呼び出し形式5043の作成のみに抑えることが可能である。 In addition, according to the present invention, the analysis program designer needs to perform the design related to the takeover file 4042, but the analysis program designer needs to additionally perform the use of the startup script generation tool 5041. It is possible to suppress the matter only to the creation of the analysis program call format 5043.
 以上より、本実施形態のデータ分析システム101によれば、分析プログラム3041が並列実行される場合に、前段の分析プログラム3041[k-1]に対応して、後段の分析プログラム3041[k]に引き継ぐデータが格納される位置を示すデータ名値を含む引き継ぎファイル4042[k-1]を特定する引き継ぎファイル情報を作成する。そして、分析プログラム3041[k]を実行することにより、前段の分析プログラム3041[k-1]に対応して作成されたファイル名により特定される引き継ぎファイル[k-1]に含まれるデータ名値に基づいて、当該前段の分析プログラム3041[k-1]から引き継ぐデータを取得し、当該データに所定の処理を行うことにより生成したデータを記憶装置として共有データストア104やデータ格納部107に格納するとともに、当該生成したデータが格納される位置を示すデータ名値を、当該分析プログラムに対応して作成されたファイル名により特定される引き継ぎファイル4042[k]に書き出す。このようにしたことから、分析プログラム3041間で引き継ぐデータを引き継ぎファイル4042にて特定するので、分析プログラム3041間で引き継ぐデータに変更が生じた場合でも、当該変更を引き継ぎファイル4042で吸収することができ、分析シーケンス制御プログラム2041から各分析プログラム3041を呼び出すインタフェースの変更が生じない。そのため、データの引き継ぎの実現が容易となり、データ分析システム101にて実行される複数の分析プログラム3041と分析プログラム3041を呼び出す分析シーケンス制御プログラム2041とをそれぞれ開発する開発者間の意識合わせの工数を削減することが可能となる。 As described above, according to the data analysis system 101 of this embodiment, when the analysis program 3041 is executed in parallel, the analysis program 3041 [k] in the subsequent stage corresponds to the analysis program 3041 [k-1] in the previous stage. Inheritance file information for specifying the inheritance file 4042 [k-1] including the data name value indicating the location where the inherited data is stored is created. Then, by executing the analysis program 3041 [k], the data name value included in the takeover file [k-1] specified by the file name created corresponding to the previous analysis program 3041 [k-1] Based on the above, the data inherited from the previous analysis program 3041 [k-1] is acquired, and the data generated by performing predetermined processing on the data is stored in the shared data store 104 or the data storage unit 107 as a storage device At the same time, the data name value indicating the position where the generated data is stored is written to the takeover file 4042 [k] specified by the file name created corresponding to the analysis program. As a result, the data to be inherited between the analysis programs 3041 is specified in the takeover file 4042, so that even if a change occurs in the data to be taken over between the analysis programs 3041, the change can be absorbed by the takeover file 4042. The interface for calling each analysis program 3041 from the analysis sequence control program 2041 does not change. Therefore, it is easy to implement data transfer, and the number of man-hours for adjusting the consciousness among developers who develop a plurality of analysis programs 3041 executed in the data analysis system 101 and an analysis sequence control program 2041 that calls the analysis program 3041 are reduced. It becomes possible to reduce.
 また、分析シーケンス制御プログラム2041が分析プログラム3041を呼び出すための呼び出しインタフェースには、分析プログラム3041[k]の前段の分析プログラム3041[k-1]に対応する引き継ぎファイル4042[k-1]および分析プログラム3041[k]に対応する引き継ぎファイル4042「k」、又は、分析プログラム3041[k]の前段の分析プログラム3041[k-1]に対応する引き継ぎファイル4042[k-1]のリストおよび分析プログラム3041[k]に対応する引き継ぎファイル4042[k]のリストが含まれる。このようにしたことから、分析シーケンス制御プログラム2041は分析プログラム3041を呼び出すための呼び出しインタフェースにて、引き継ぎファイル4042の情報を容易に指定することができる。 The call interface for the analysis sequence control program 2041 to call the analysis program 3041 includes a takeover file 4042 [k−1] corresponding to the analysis program 3041 [k−1] preceding the analysis program 3041 [k], and the analysis List and analysis program of takeover file 4042 [k-1] corresponding to takeover file 4042 [k] corresponding to program 3041 [k] or analysis program 3041 [k-1] in the previous stage of analysis program 3041 [k] A list of inherited files 4042 [k] corresponding to 3041 [k] is included. As a result, the analysis sequence control program 2041 can easily specify the information of the takeover file 4042 on the call interface for calling the analysis program 3041.
 また、共有データストア104の記憶装置404に、データの種別に対応するデータ名キー値を含む共通設定ファイル4041が格納される。引き継ぎファイル4042[k-1]は、当該引き継ぎファイル4042[k-1]に対応する分析プログラム3041[k-1]がその後段の分析プログラム3041[k]に引き継ぐデータの種別に対応するデータ名キー値と当該データが格納される位置を示すデータ名値とを対応づけて含む。分析サーバ103のプロセッサ302は、分析プログラム3041[k]を実行することにより、前段の分析プログラム3041[k-1]に対応する引き継ぎファイル[k-1]および共通設定ファイル4041に基づき、データ名キー値を用いて、前段の分析プログラム3041[k-1]から引き継ぐデータの種別および当該データが格納されている位置を示すデータ名値を取得する。当該分析プログラム[k]に対応する引き継ぎファイル[k]に、後段の分析プログラム[k+1]に引き継ぐ前記生成したデータの種別に対応するデータ名キー値と当該データが格納されている位置を示すデータ名値とを関連付けて書き出す。このようにしたことから、共通設定ファイル4041においてデータの種別とデータ名キー値とを対応付け、引き継ぎファイル4042においてデータ名キー値とデータ名値とを対応付けているので、これら共通設定ファイル4041および引き継ぎファイル4042に基づいて、分析プログラム3041間で引き継ぐデータを特定する情報を共通的かつ集約的に管理することができる。 Also, the common setting file 4041 including the data name key value corresponding to the data type is stored in the storage device 404 of the shared data store 104. The takeover file 4042 [k-1] has a data name corresponding to the type of data that the analysis program 3041 [k-1] corresponding to the takeover file 4042 [k-1] takes over to the subsequent analysis program 3041 [k]. A key value and a data name value indicating a position where the data is stored are associated with each other. By executing the analysis program 3041 [k], the processor 302 of the analysis server 103 executes the analysis program 3041 [k], and based on the inherited file [k-1] and the common setting file 4041 corresponding to the previous analysis program 3041 [k-1], the data name Using the key value, a data name value indicating the type of data inherited from the previous analysis program 3041 [k−1] and the position where the data is stored is acquired. Data indicating the data name key value corresponding to the type of the generated data to be transferred to the subsequent analysis program [k + 1] and the position where the data is stored in the transfer file [k] corresponding to the analysis program [k] Export with name values associated. As a result, the common setting file 4041 associates the data type with the data name key value, and the takeover file 4042 associates the data name key value with the data name value. Based on the inheritance file 4042, information specifying data to be inherited between the analysis programs 3041 can be managed in a common and collective manner.
 また、共有データストア104の記憶装置404に、分析プログラム3041の引数として設定可能なパラメータのデフォルト値が格納された共通設定ファイル4041が格納される。分析シーケンス制御プログラム2041が分析プログラム3041を呼び出すための呼び出しインタフェースには、当該分析プログラム3041の引数として設定可能なパラメータの値を含めることができる。分析プログラム3041は、呼び出しインタフェースにおいて当該分析プログラム3041の引数として設定可能なパラメータの値が設定されていれば当該パラメータの値を用い、設定可能なパラメータの値が設定されていなければデフォルト値を用いる。このようにしたことから、分析プログラム3041に設定可能なパラメータについて、そのデフォルト値を共通設定ファイル4041に予め設定しておいても良いし、分析プログラム3041を呼び出すインタフェースで指定しても良いので、データ分析の設計および運用の利便性が高い。 Also, the common setting file 4041 in which default values of parameters that can be set as arguments of the analysis program 3041 are stored in the storage device 404 of the shared data store 104. The call interface for the analysis sequence control program 2041 to call the analysis program 3041 can include parameter values that can be set as arguments of the analysis program 3041. The analysis program 3041 uses a parameter value that can be set as an argument of the analysis program 3041 in the call interface, and uses a default value if a settable parameter value is not set. . As a result, the default values of parameters that can be set in the analysis program 3041 may be set in the common setting file 4041 in advance, or may be specified by an interface that calls the analysis program 3041. Convenient data analysis design and operation.
 また、共通設定ファイル4041には、パラメータの種別に対応するパラメータキー値を含む。引き継ぎファイル4042[k-1]には、当該引き継ぎファイル4042[k-1]に対応する分析プログラム3041[k-1]がその後段の分析プログラム3041[k]に引き渡すパラメータの種別に対応するパラメータキー値と当該パラメータのパラメータ値とを含めることができる。分析サーバ103のプロセッサ302は、分析プログラム3041[k]を実行することにより、前段の分析プログラム3041[k-1]に対応する引き継ぎファイル4042[k-1]および共通設定ファイル4041に基づき、パラメータキー値を用いて、前段の分析プログラム3041から引き継ぐパラメータの種別および当該パラメータのパラメータ値を取得する。当該分析プログラム3041[k]に対応する引き継ぎファイル4042[k]に、後段の分析プログラム3041[k+1]に引き継ぐパラメータの種別に対応するパラメータキー値と当該パラメータのパラメータ値とを関連付けて書き出す。このようにしたことから、分析プログラム3041に与えるパラメータの値を分析プログラム3041間で受け渡しても良いので、データ分析の設計および運用の利便性が更に高い。 Also, the common setting file 4041 includes parameter key values corresponding to parameter types. In the takeover file 4042 [k-1], the parameter corresponding to the type of parameter that the analysis program 3041 [k-1] corresponding to the takeover file 4042 [k-1] delivers to the subsequent analysis program 3041 [k]. The key value and the parameter value of the parameter can be included. By executing the analysis program 3041 [k], the processor 302 of the analysis server 103 executes a parameter based on the takeover file 4042 [k-1] and the common setting file 4041 corresponding to the previous analysis program 3041 [k-1]. Using the key value, the type of the parameter inherited from the previous analysis program 3041 and the parameter value of the parameter are acquired. The parameter key value corresponding to the parameter type to be transferred to the subsequent analysis program 3041 [k + 1] and the parameter value of the parameter are written in the transfer file 4042 [k] corresponding to the analysis program 3041 [k] in association with each other. Since this is done, parameter values to be given to the analysis program 3041 may be passed between the analysis programs 3041, so that the convenience of data analysis design and operation is further enhanced.
 また、分析シーケンス制御プログラム2041が分析プログラム3041を呼び出すための呼び出しインタフェースには、並列実行IDをリスト化した並列実行IDリストを含むことができる。そして、並列実行IDリストとして、特定ディレクトリを与え、並列実行IDとして当該特定ディレクトリ配下のファイル名を用いる。このようにしたことから、引き継ぎファイル4042ではなく並列実行IDリストを用いる場合に並列実行IDとして特定ディレクトリ配下のファイル名としておくことで、リスト上の並列実行IDを動的に書き換えることが容易に実現可能となり、データ分析の設計および運用の利便性が向上する。 Further, the call interface for the analysis sequence control program 2041 to call the analysis program 3041 can include a parallel execution ID list in which parallel execution IDs are listed. Then, a specific directory is given as the parallel execution ID list, and the file names under the specific directory are used as the parallel execution ID. As a result, when a parallel execution ID list is used instead of the takeover file 4042, it is easy to dynamically rewrite the parallel execution ID on the list by setting the file name under the specific directory as the parallel execution ID. This makes it possible to improve the convenience of data analysis design and operation.
 また、分析プログラム3041[k]と連携動作し、当該分析プログラム3041[k]の前段の分析プログラム3041[k-1]に対応する引き継ぎファイル4042[k-1]から引き継ぐデータが格納されている位置を示すデータ名値を読み出し、当該分析プログラム3041[k]を呼び出し、当該分析プログラム3041[k]の実行により生成されたデータが格納される位置を示すデータ名値を当該分析プログラム[k]に対応する引き継ぎファイル4042[k]に書き出すという3つの処理を実行する分析プログラム起動スクリプト3042[k]を生成する、起動スクリプト生成ツール5041を有する。このようにしたことから、引き継ぎファイル4042の読み書きを起動スクリプト生成ツール5041で作成された分析プログラム起動スクリプト3042が行うので、各分析プログラム3041にその処理が不要となる。その結果、各分析プログラム3041の開発者の各々が引き継ぎファイル4042を読み書きする部分のプログラムを作成して分析プログラム3041に組み込む手間が省ける。 In addition, in cooperation with the analysis program 3041 [k], data to be inherited from the inheritance file 4042 [k-1] corresponding to the analysis program 3041 [k-1] in the previous stage of the analysis program 3041 [k] is stored. The data name value indicating the position is read, the analysis program 3041 [k] is called, and the data name value indicating the position where the data generated by the execution of the analysis program 3041 [k] is stored is the analysis program [k]. Has a startup script generation tool 5041 for generating an analysis program startup script 3042 [k] for executing three processes of writing to the takeover file 4042 [k] corresponding to. As a result, the analysis program activation script 3042 created by the activation script generation tool 5041 performs reading and writing of the takeover file 4042, so that each analysis program 3041 does not need to perform the processing. As a result, each developer of each analysis program 3041 can save the trouble of creating a program for reading and writing the takeover file 4042 and incorporating it into the analysis program 3041.
 また、開発サーバ105の記憶装置504に、分析プログラム3041の呼び出し順に係る情報が記録された分析シーケンス設定ファイル5042と、ライブラリ名、スクリプト名およびプログラムを呼び出すときに与えるパラメータを含む分析プログラム呼び出し形式5043とが格納されている。起動スクリプト生成ツール5041には、分析シーケンス設定ファイル5042および分析プログラム呼び出し形式5043が与えられる。起動スクリプト生成ツール5041は、ライブラリ名で指定されたライブラリから分析スクリプト名で指定された分析プログラム3041を特定し、パラメータを与えて分析プログラム3041を分析シーケンス設定ファイル5042の呼び出し順で起動する分析プログラム起動スクリプト3042を生成する。このようにしたことから、分析シーケンス制御プログラム2041の開発者が分析シーケンス設定ファイル5042を作成し、分析プログラム3041の開発者が分析プログラム呼び出し形式5043を作成すればよく、各々の開発者が精通しているファイルを作成するので、開発効率を効果的に高めることができる。 Further, an analysis program call format 5043 including an analysis sequence setting file 5042 in which information relating to the calling order of the analysis program 3041 is recorded in the storage device 504 of the development server 105, and a library name, a script name, and parameters given when calling the program. And are stored. The startup script generation tool 5041 is provided with an analysis sequence setting file 5042 and an analysis program call format 5043. The start script generation tool 5041 identifies the analysis program 3041 specified by the analysis script name from the library specified by the library name, gives the parameters, and starts the analysis program 3041 in the calling order of the analysis sequence setting file 5042 A startup script 3042 is generated. In this way, the developer of the analysis sequence control program 2041 creates the analysis sequence setting file 5042, and the developer of the analysis program 3041 creates the analysis program call format 5043. Development files can be effectively improved.
 また、共有データストア104の記憶装置404に、データの種別に対応するデータ名キー値を含む共通設定ファイル4041が格納される。分析プログラム呼び出し形式5043は、分析プログラム3041を呼び出すときに引数として設定されるパラメータの名前を示すnameフィールドを有し、nameフィールドには、データ名キー値が設定される。起動スクリプト生成ツール5041は、共通設定ファイル4041および分析プログラム呼び出し形式5043に基づき、データ名キー値を用いて、該データを引き渡す分析プログラム3041と該データを受け取る分析プログラム3041の間で一貫したデータのデータ名値(ファイル名)を生成する。このようにしたことから、共通設定ファイル4041に格納されているデータに対応するデータ名キー値は、そのデータを引き渡す分析プログラム3041とそのデータを受け取る分析プログラム3041が共通的に用いる情報なので、そのデータ名キー値と対応付けるようにデータにデータ名値(ファイル名)を付与すれば、自動的に、それら分析プログラム3041間で一貫性のあるファイル名とすることができる。 Also, the common setting file 4041 including the data name key value corresponding to the data type is stored in the storage device 404 of the shared data store 104. The analysis program call format 5043 has a name field indicating the name of a parameter set as an argument when calling the analysis program 3041, and a data name key value is set in the name field. Based on the common setting file 4041 and the analysis program call format 5043, the startup script generation tool 5041 uses the data name key value to generate consistent data between the analysis program 3041 that delivers the data and the analysis program 3041 that receives the data. Generate data name value (file name). As a result, the data name key value corresponding to the data stored in the common setting file 4041 is information commonly used by the analysis program 3041 that delivers the data and the analysis program 3041 that receives the data. If a data name value (file name) is assigned to data so as to be associated with the data name key value, the file name can be automatically made consistent among the analysis programs 3041.
 本技術分野の通常の知識を有する者には、本開示のその他の実装がここに開示された本開示の明細書および実施形態の考察から明らかになる。記述された実施形態の多様な態および/またはコンポーネントは、単独又は如何なる組み合わせでも使用することが出来る。明細書と具体例は典型的なものに過ぎず、本開示の範囲と着想は特許請求の範囲で示される。 Other implementations of the present disclosure will become apparent to those skilled in the art from consideration of the specification and embodiments of the present disclosure disclosed herein. Various aspects and / or components of the described embodiments may be used alone or in any combination. The specification and specific examples are merely exemplary and the scope and spirit of the disclosure is set forth in the appended claims.
101…データ分析システム、102…分析シーケンス制御サーバ、103…分析サーバ、104…共有データストア、105…開発サーバ、106…クライアントデバイス、107…データ格納部、108…ネットワーク、202、302…プロセッサ、601…起動インタフェース、2041…分析シーケンス制御プログラム、2042…分析シーケンス制御エンジン、3041…分析プログラム、3042…分析プログラム起動スクリプト、3043…リモートプロシージャコール受付プロセス、4041…共通設定ファイル、4042…引き継ぎファイル、4043…分析データ、4044…分析結果、5041…起動スクリプト生成ツール、5042…分析シーケンス設定ファイル、5043…分析プログラム呼び出し形式 DESCRIPTION OF SYMBOLS 101 ... Data analysis system, 102 ... Analysis sequence control server, 103 ... Analysis server, 104 ... Shared data store, 105 ... Development server, 106 ... Client device, 107 ... Data storage part, 108 ... Network, 202, 302 ... Processor, 601 ... Start interface, 2041 ... Analysis sequence control program, 2042 ... Analysis sequence control engine, 3041 ... Analysis program, 3042 ... Analysis program start script, 3043 ... Remote procedure call acceptance process, 4041 ... Common setting file, 4042 ... Takeover file, 4043 ... Analysis data, 4044 ... Analysis result, 5041 ... Startup script generation tool, 5042 ... Analysis sequence setting file, 5043 ... Analysis program call format

Claims (10)

  1.  複数の分析プログラムおよび該複数の分析プログラムを分析シーケンスにしたがって呼び出す分析シーケンス制御プログラムを実行するプロセッサと、
     前記分析プログラムおよび前記分析シーケンス制御プログラムの実行においてデータの格納に利用される記憶装置と、を備え、
     前記プロセッサは、
     前記分析シーケンス制御プログラムを実行することにより、前記分析プログラムが並列実行される場合に、前段の分析プログラムに対応して、後段の分析プログラムに引き継ぐデータが格納される位置を示す位置情報を含む引き継ぎファイルを特定する引き継ぎファイル情報を作成し、
     前記分析プログラムを実行することにより、前段の分析プログラムに対応して作成された前記引き継ぎファイル情報により特定される前記引き継ぎファイルに含まれる前記位置情報に基づいて、該前段の分析プログラムから引き継ぐデータを取得し、該データに所定の処理を行うことにより生成したデータを前記記憶装置に格納するとともに、該生成したデータが格納される位置を示す位置情報を、当該分析プログラムに対応して作成された前記引き継ぎファイル情報により特定される前記引き継ぎファイルに書き出す、
    分析シーケンス制御システム。
    A processor that executes a plurality of analysis programs and an analysis sequence control program that calls the plurality of analysis programs according to an analysis sequence;
    A storage device used for storing data in the execution of the analysis program and the analysis sequence control program,
    The processor is
    By executing the analysis sequence control program, when the analysis program is executed in parallel, it corresponds to the preceding analysis program and includes a position information indicating a position where data to be transferred to the subsequent analysis program is stored. Create takeover file information that identifies the file,
    By executing the analysis program, based on the position information included in the transfer file specified by the transfer file information created corresponding to the analysis program of the previous stage, data to be transferred from the analysis program of the previous stage is obtained. The data generated by acquiring and performing predetermined processing on the data is stored in the storage device, and the position information indicating the position where the generated data is stored is created corresponding to the analysis program Writing to the inherited file specified by the inherited file information;
    Analysis sequence control system.
  2.  請求項1に記載の分析シーケンス制御システムであって、
     前記分析シーケンス制御プログラムが前記分析プログラムを呼び出すための呼び出しインタフェースには、
     当該分析プログラムの前段の分析プログラムに対応する引き継ぎファイルおよび当該分析プログラム自身に対応する引き継ぎファイル、又は、
     当該分析プログラムの前段の分析プログラムに対応する引き継ぎファイルのリストを示す情報および当該分析プログラム自身に対応する引き継ぎファイルのリストを示す情報、
    が含まれる、
    分析シーケンス制御システム。
    The analysis sequence control system according to claim 1,
    In the call interface for the analysis sequence control program to call the analysis program,
    A takeover file corresponding to the analysis program preceding the analysis program and a takeover file corresponding to the analysis program itself, or
    Information indicating a list of transfer files corresponding to the analysis program in the previous stage of the analysis program and information indicating a list of transfer files corresponding to the analysis program itself;
    Included,
    Analysis sequence control system.
  3.  請求項1記載の分析シーケンス制御システムであって、
     前記記憶装置に、データの種別に対応するデータ名キー情報を含む共通設定ファイルが格納され、
     前記引き継ぎファイルは、当該引き継ぎファイルに対応する分析プログラムがその後段の分析プログラムに引き継ぐデータの種別に対応するデータ名キー情報と当該データが格納される位置を示す位置情報とを対応づけて含み、
     前記プロセッサは、前記分析プログラムを実行することにより、
     前記前段の分析プログラムに対応する引き継ぎファイルおよび前記共通設定ファイルに基づき、前記データ名キー情報を用いて、前記前段の分析プログラムから引き継ぐデータの種別および当該データが格納されている位置を示す位置情報を取得し、かつ、
     当該分析プログラムに対応する引き継ぎファイルに、後段の分析プログラムに引き継ぐ前記生成したデータの種別に対応する前記データ名キー情報と当該データが格納されている位置を示す位置情報とを関連付けて書き出す、
    分析シーケンス制御システム。
    The analysis sequence control system according to claim 1,
    A common setting file including data name key information corresponding to the type of data is stored in the storage device,
    The takeover file includes data name key information corresponding to the type of data that the analysis program corresponding to the takeover file takes over to the subsequent analysis program and position information indicating the position where the data is stored,
    The processor executes the analysis program,
    Based on the takeover file corresponding to the previous analysis program and the common setting file, using the data name key information, the position information indicating the type of data to be taken over from the previous analysis program and the position where the data is stored And get
    In the transfer file corresponding to the analysis program, the data name key information corresponding to the type of the generated data to be transferred to the subsequent analysis program and the position information indicating the position where the data is stored are written in association with each other.
    Analysis sequence control system.
  4.  請求項1記載の分析シーケンス制御システムであって、
     前記記憶装置に、前記分析プログラムの引数として設定可能なパラメータのデフォルト値が格納された共通設定ファイルが格納され、
     前記分析シーケンス制御プログラムが前記分析プログラムを呼び出すための呼び出しインタフェースには、当該分析プログラムの引数として設定可能なパラメータの値を含めることができ、
     前記分析プログラムは、前記呼び出しインタフェースにおいて当該分析プログラムの引数として前記パラメータの値が設定されていれば当該パラメータの値を用い、前記パラメータの値が設定されていなければ前記デフォルト値を用いる、
    分析シーケンス制御システム。
    The analysis sequence control system according to claim 1,
    A common setting file storing default values of parameters that can be set as arguments of the analysis program is stored in the storage device,
    The call interface for the analysis sequence control program to call the analysis program can include values of parameters that can be set as arguments of the analysis program,
    The analysis program uses the value of the parameter if the value of the parameter is set as an argument of the analysis program in the call interface, and uses the default value if the value of the parameter is not set.
    Analysis sequence control system.
  5.  請求項4に記載の分析シーケンス制御システムであって、
     前記共通設定ファイルには、パラメータの種別に対応するパラメータキー情報をさらに含み、
     前記引き継ぎファイルには、当該引き継ぎファイルに対応する分析プログラムがその後段の分析プログラムに引き渡すパラメータの種別に対応するパラメータキー情報と当該パラメータのパラメータ値とを含めることができ、
     前記プロセッサは、前記分析プログラムを実行することにより、
     前記前段の分析プログラムに対応する引き継ぎファイルおよび前記共通設定ファイルに基づき、前記パラメータキー情報を用いて、前記前段の分析プログラムから引き継ぐパラメータの種別および当該パラメータのパラメータ値を取得し、かつ、
     当該分析プログラムに対応する引き継ぎファイルに、後段の分析プログラムに引き継ぐパラメータの種別に対応する前記パラメータキー情報と当該パラメータのパラメータ値とを関連付けて書き出す、
    分析シーケンス制御システム。
    The analysis sequence control system according to claim 4,
    The common setting file further includes parameter key information corresponding to a parameter type,
    The handover file can include parameter key information corresponding to the type of parameter that the analysis program corresponding to the handover file passes to the subsequent analysis program and the parameter value of the parameter,
    The processor executes the analysis program,
    Based on the takeover file corresponding to the previous analysis program and the common setting file, using the parameter key information, obtain the parameter type and parameter value of the parameter to be taken over from the previous analysis program, and
    The parameter key information corresponding to the parameter type to be inherited to the subsequent analysis program and the parameter value of the parameter are written in association with the analysis file corresponding to the analysis program.
    Analysis sequence control system.
  6.  請求項2に記載の分析シーケンス制御システムであって、
     前記分析シーケンス制御プログラムが前記分析プログラムを呼び出すための呼び出しインタフェースには、並列実行単位識別情報をリスト化したリスト情報を含むことができ、
     前記並列実行単位識別情報として特定ディレクトリ配下のファイル名を用いる、
    分析シーケンス制御システム。
    The analysis sequence control system according to claim 2,
    The call interface for the analysis sequence control program to call the analysis program can include list information that lists parallel execution unit identification information,
    A file name under a specific directory is used as the parallel execution unit identification information.
    Analysis sequence control system.
  7.  請求項1に記載の分析シーケンス制御システムであって、
     前記分析プログラムと連携動作し、当該分析プログラムの前段の分析プログラムに対応する引き継ぎファイルから前記データが格納されている位置を示す位置情報を読み出し、当該分析プログラムを呼び出し、当該分析プログラムの実行により生成されたデータが格納される位置を示す位置情報を当該分析プログラムに対応する引き継ぎファイルに書き出すという3つの処理を実行する分析プログラム起動スクリプトを生成する、起動スクリプト生成ツールを有する、
    分析シーケンス制御システム。
    The analysis sequence control system according to claim 1,
    Coordinates with the analysis program, reads position information indicating the position where the data is stored from the takeover file corresponding to the analysis program in the previous stage of the analysis program, calls the analysis program, and generates by executing the analysis program A start script generation tool for generating an analysis program start script for executing three processes of writing position information indicating a position where stored data is stored in a takeover file corresponding to the analysis program;
    Analysis sequence control system.
  8.  請求項7に記載の分析シーケンス制御システムであって、
     前記記憶装置に、前記分析プログラムの呼び出し順に係る情報が記録された分析シーケンス設定ファイルと、分析ライブラリ名、分析スクリプト名および分析プログラムを呼び出すときに与えるパラメータを含む分析プログラム呼び出し形式情報とが格納され、
     前記起動スクリプト生成ツールには、分析シーケンス設定ファイルおよび分析プログラム呼び出し形式情報が与えられ、
     前記起動スクリプト生成ツールは、前記分析ライブラリ名で指定された分析ライブラリから前記分析スクリプト名で指定された分析プログラムを特定し、前記パラメータを与えて前記分析プログラムを前記呼び出し順で起動する分析プログラム起動スクリプトを生成する、
    分析シーケンス制御システム。
    The analysis sequence control system according to claim 7,
    The storage device stores an analysis sequence setting file in which information relating to the calling order of the analysis programs is recorded, and an analysis program call format information including an analysis library name, an analysis script name, and parameters to be provided when the analysis program is called. ,
    The startup script generation tool is provided with an analysis sequence setting file and analysis program call format information,
    The start script generation tool identifies an analysis program specified by the analysis script name from the analysis library specified by the analysis library name, and gives the parameters to start the analysis program in the calling order. Generate scripts,
    Analysis sequence control system.
  9.  請求項8に記載の分析シーケンス制御システムであって、
     前記記憶装置に、データの種別に対応するデータ名キー情報を含む共通設定ファイルが格納され、
     前記分析プログラム呼び出し形式情報は、前記分析プログラムを呼び出すときに引数として設定されるパラメータの名前を示す名前フィールドを有し、
     前記名前フィールドには、前記データ名キー情報が設定され、
     前記起動スクリプト生成ツールは、前記共通設定ファイルおよび前記分析プログラム呼び出し形式情報に基づき、前記データ名キー情報を用いて、該データを引き渡す分析プログラムと該データを受け取る分析プログラムの間で一貫した前記データのデータ名値を生成する、
    分析シーケンス制御システム。
    The analysis sequence control system according to claim 8,
    A common setting file including data name key information corresponding to the type of data is stored in the storage device,
    The analysis program call format information has a name field indicating the name of a parameter set as an argument when calling the analysis program,
    In the name field, the data name key information is set,
    The startup script generation tool uses the data name key information based on the common setting file and the analysis program call format information to consistently transmit the data between the analysis program that delivers the data and the analysis program that receives the data. Generate a data name value for
    Analysis sequence control system.
  10.  複数の分析プログラムを分析シーケンスにしたがって呼び出す分析シーケンス制御方法であって、
     前記分析プログラムが並列実行される場合に、前段の分析プログラムに対応して、後段の分析プログラムに引き継ぐデータが格納される位置を示す位置情報を含む引き継ぎファイルを特定する引き継ぎファイル情報を作成し、
     前記分析プログラムの実行において、前段の分析プログラムに対応して作成された前記引き継ぎファイル情報により特定される前記引き継ぎファイルに含まれる前記位置情報に基づいて、当該前段の分析プログラムから引き継ぐデータを取得し、当該データに所定の処理を行うことにより生成したデータを記憶装置に格納するとともに、当該生成したデータが格納される位置を示す位置情報を、当該分析プログラムに対応して作成された前記引き継ぎファイル情報により特定される前記引き継ぎファイルに書き出す、
    分析シーケンス制御方法。
    An analysis sequence control method for calling a plurality of analysis programs according to an analysis sequence,
    When the analysis program is executed in parallel, corresponding to the analysis program of the previous stage, creating the transfer file information for specifying the transfer file including the position information indicating the position where the data to be transferred to the subsequent analysis program is stored,
    In the execution of the analysis program, based on the position information included in the transfer file specified by the transfer file information created corresponding to the analysis program of the previous stage, data to be transferred from the analysis program of the previous stage is acquired. In addition, the data generated by performing a predetermined process on the data is stored in a storage device, and the position information indicating the position where the generated data is stored is generated in accordance with the analysis program. Write to the inherited file specified by the information;
    Analysis sequence control method.
PCT/JP2019/001531 2018-04-06 2019-01-18 Analysis sequence control system and analysis sequence control method WO2019193810A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-074117 2018-04-06
JP2018074117A JP2019185314A (en) 2018-04-06 2018-04-06 Analysis sequence control system and analysis sequence control method

Publications (1)

Publication Number Publication Date
WO2019193810A1 true WO2019193810A1 (en) 2019-10-10

Family

ID=68100422

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/001531 WO2019193810A1 (en) 2018-04-06 2019-01-18 Analysis sequence control system and analysis sequence control method

Country Status (2)

Country Link
JP (1) JP2019185314A (en)
WO (1) WO2019193810A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08505740A (en) * 1992-11-10 1996-06-18 テレフオンアクチーボラゲツト エル エム エリクソン General-purpose analysis system
JPH09179742A (en) * 1995-12-26 1997-07-11 Nec Software Ltd Method and means for transferring data
JP2004102934A (en) * 2002-09-12 2004-04-02 Dainippon Printing Co Ltd Automatic processing general-purpose control system, job input device, automatic processing general-purpose control device, automatic processing general-purpose control method, program and recording medium
JP2009129329A (en) * 2007-11-27 2009-06-11 Felica Networks Inc Service providing system, service providing server, and information terminal device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08505740A (en) * 1992-11-10 1996-06-18 テレフオンアクチーボラゲツト エル エム エリクソン General-purpose analysis system
JPH09179742A (en) * 1995-12-26 1997-07-11 Nec Software Ltd Method and means for transferring data
JP2004102934A (en) * 2002-09-12 2004-04-02 Dainippon Printing Co Ltd Automatic processing general-purpose control system, job input device, automatic processing general-purpose control device, automatic processing general-purpose control method, program and recording medium
JP2009129329A (en) * 2007-11-27 2009-06-11 Felica Networks Inc Service providing system, service providing server, and information terminal device

Also Published As

Publication number Publication date
JP2019185314A (en) 2019-10-24

Similar Documents

Publication Publication Date Title
EP3380930B1 (en) Workflow development system with ease-of-use features
JP4701220B2 (en) Business process reconfiguration method, program thereof and computer
JP4185159B1 (en) Application development support apparatus and program
US20060036569A1 (en) Method and apparatus for changing background screen in gui operating system
JP5619179B2 (en) Computer system, job execution management method, and program
JP5350026B2 (en) Workflow processing system, workflow processing apparatus, and workflow processing method
WO2019193810A1 (en) Analysis sequence control system and analysis sequence control method
JP2014225256A (en) Program generation device, control method for the device, and program
JP2018181073A (en) Information processing apparatus, processing method thereof, and program
JPH11143701A (en) Computer system having design supporting function of high available system
JP5471198B2 (en) Integrated management apparatus, integrated management system, integrated management method, integrated management program, and recording medium recording the program
US8560540B2 (en) Information search system, information search method, and program
JP2004362343A (en) Source code conversion apparatus, source code conversion method, and program
JP5224475B2 (en) Information processing apparatus, information processing method, and computer program
JPH10214195A (en) Device for generating job control sentence for executing plural job steps in parallel and method therefore, and recording medium for recording program for generating job control sentence
JPWO2020188779A1 (en) Information processing equipment, information processing system and information processing program
JP6040836B2 (en) Execution control program, execution control method, and network system
JP2018185685A (en) Information processing apparatus, control method of the same, and program
JP2010026695A (en) Business process execution method, business process execution device and business process execution program
JP5847855B2 (en) Image forming apparatus, method of controlling the apparatus, and control program
JP6157192B2 (en) Information processing apparatus, control method, and computer program
JP6653849B2 (en) Method and apparatus for structuring components that support multiple screens using a single code in a business application
JP6996364B2 (en) Guide generation program, guide generation method and server device
JP5144467B2 (en) JCL automatic generation apparatus for transmission control, JCL automatic generation method for transmission control, and JCL automatic generation program for transmission control
JP2015212907A (en) Output system, terminal device, program and output method

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

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

Country of ref document: EP

Kind code of ref document: A1