WO2017115419A1 - 出力データの生成方法、計算機システム、及びプログラム - Google Patents

出力データの生成方法、計算機システム、及びプログラム Download PDF

Info

Publication number
WO2017115419A1
WO2017115419A1 PCT/JP2015/086513 JP2015086513W WO2017115419A1 WO 2017115419 A1 WO2017115419 A1 WO 2017115419A1 JP 2015086513 W JP2015086513 W JP 2015086513W WO 2017115419 A1 WO2017115419 A1 WO 2017115419A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
attribute
output
information
target
Prior art date
Application number
PCT/JP2015/086513
Other languages
English (en)
French (fr)
Inventor
和秀 愛甲
田中 徹
アリフ ヘルセティヨ ウィチャックソノ
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2015/086513 priority Critical patent/WO2017115419A1/ja
Publication of WO2017115419A1 publication Critical patent/WO2017115419A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Definitions

  • the present invention relates to data conversion processing in a data distribution processing system.
  • Analysis systems in the big data field include batch types such as machine learning processing and real-time types such as stream processing.
  • a method is known in which analysis target data handled by an analysis system is aggregated from each business system into Data Lake (see, for example, Patent Document 1).
  • Patent Document 1 With the technology described in Patent Document 1, it has been difficult to integrate data for real-time processing into RDB-based Data Lake in the conventional Data Lake.
  • One of the other causes is low flexibility, such as the need to stop the system once when changing the data structure defined at the time of Data Lake design.
  • a typical example of the invention disclosed in the present application is as follows. That is, a method for generating output data in a plurality of computers constituting a data store, each of the plurality of computers having a processor, a storage device connected to the processor, and a network interface connected to the processor.
  • Each of the plurality of computers is connected to a plurality of business systems that execute business processing and a plurality of analysis systems that execute analysis processing, and business data handled in the business processing includes at least one attribute And includes a plurality of first data blocks which are data serving as processing units, and the analysis data handled in the analysis processing includes at least one attribute and includes a plurality of second data blocks which are data serving as processing units,
  • the data store includes a search key and a value, and the business data A data pair that is a data structure and data that does not depend on the data structure of the analysis data is stored, and at least one computer of the plurality of computers manages write processing and read processing of the data pair with respect to the data store Output to the analysis system using a store management unit, a data structure information management unit for managing data structure information of the business data and the analysis data, and the plurality of data pairs corresponding to the plurality of first data blocks A data conversion unit that generates a data block to be processed, wherein the data structure information management unit includes data structure related information for managing a relationship
  • a first step of specifying the analysis data referring to the business data corresponding to the input data based on the data relation map, and the data conversion unit includes the data structure definition information Based on the target attribute, which is an attribute necessary for calculating the attribute value of each attribute of the second data block for output to be output to the specified analysis data, and the business data including the target attribute
  • a second step of specifying target data wherein the input data, the target data Based on data structure information and the data structure related information, an access key for acquiring the at least one first data block of the target data, and the first data block for acquiring an attribute value of the target attribute
  • a third step of generating a subkey for identification and a fourth step in which the data conversion unit outputs a data acquisition request including the identification information of the target data, the access key, and the subkey to the data store management unit
  • the data conversion unit uses the plurality of data pairs corresponding to the first data block including the attribute value of the target attribute received from the data store management unit to output
  • Data Lake that can flexibly cope with the reduction of the storage area to be used and the dynamic addition or update of the data structure. Further, it is possible to generate analysis data in a predetermined data format in real time by inputting business data of a plurality of business systems. Accordingly, it is possible to provide Data Lake that integrates an analysis system that executes real-time analysis processing and the like. Problems, configurations, and effects other than those described above will become apparent from the description of the following examples.
  • FIG. 1 is a diagram illustrating a configuration example of a computer system according to a first embodiment.
  • FIG. 2 is a block diagram illustrating a hardware configuration and a software configuration of the data management node according to the first embodiment.
  • FIG. 6 is a diagram illustrating an example of data structure information according to the first embodiment.
  • FIG. 4 is a diagram illustrating an example of master data according to the first embodiment.
  • FIG. 6 is a diagram illustrating an example of log data according to the first embodiment.
  • FIG. 3 is a diagram illustrating an example of a data store according to the first embodiment. It is a figure explaining an example of the data structure information extraction rule of Example 1.
  • FIG. FIG. 6 is a diagram illustrating an example of data structure related information according to the first embodiment.
  • FIG. 6 is a diagram illustrating an example of data structure definition information according to the first embodiment. It is a figure explaining an example of the data related map of Example 1.
  • FIG. FIG. 6 is a diagram illustrating an example of main part management information according to the first embodiment. 6 is a diagram illustrating an example of a buffer according to Embodiment 1.
  • FIG. 10 is a sequence diagram illustrating an example of registration processing of data structure information of input data and registration processing of data structure information of output data according to the first embodiment.
  • FIG. 6 is a diagram illustrating an example of an input data registration screen according to the first embodiment.
  • FIG. 6 is a diagram illustrating an example of an output data registration screen according to the first embodiment.
  • FIG. 10 is a sequence diagram illustrating an example of data conversion processing of the business system according to the first embodiment.
  • 6 is a flowchart illustrating details of mapping processing according to the first exemplary embodiment.
  • 6 is a diagram illustrating an example of an access list according to the first embodiment.
  • FIG. 6 is a flowchart illustrating details of data search processing according to the first exemplary embodiment.
  • 6 is a flowchart illustrating details of output data generation processing according to the first exemplary embodiment.
  • FIG. 10 is a sequence diagram illustrating the flow of processing executed by the data management node according to the second embodiment.
  • 10 is a flowchart illustrating details of mapping processing according to the second embodiment.
  • identification information for identifying information
  • identification information other than these may be used.
  • processing may be a “program”.
  • FIG. 1 is a diagram illustrating a configuration example of a computer system 10 according to the first embodiment.
  • the computer system 10 is a system that realizes distributed processing, and includes a plurality of business systems 110, a plurality of analysis systems 120, and a plurality of data management nodes 100.
  • the plurality of business systems 110, the plurality of analysis systems 120, and the plurality of data management nodes 100 are connected to each other via a network switch 130.
  • the present invention is not limited to the type of network that connects devices, and is not limited to the connection type between devices.
  • Data Lake is realized using storage areas of a plurality of data management nodes 100.
  • a plurality of data management nodes 100 realizing Data Lake have a distributed cluster configuration, and data is distributed and arranged.
  • Data Lake indicates a repository that stores a wide variety of data without depending on the type of data and the size of the data.
  • Each of the plurality of data management nodes 100 includes a control program group 101 and a management table group 102. Details of the control program group 101 and the management table group 102 will be described with reference to FIG.
  • the business system 110 is a system that executes business processing. Note that the present invention is not limited to the type of business processing executed by the business system 110.
  • One business system 110 includes one or more computers. At least one computer included in the business system 110 has a data transmission unit 111 and holds data structure information 112 and master data 113.
  • Master data 113 is data used for business processing.
  • One business system 110 may hold a plurality of master data 113.
  • the master data 113 includes a plurality of data serving as processing units.
  • the master data 113 includes a plurality of records. Details of the master data 113 will be described with reference to FIG.
  • the master data 113 is also referred to as business master data 113. Further, the data of the processing unit of the business master data 113 is also described as a data block. For example, in the case of master data 113 corresponding to RDB, one record corresponds to one data block.
  • attribute represents identification information of an attribute constituting one data block.
  • attribute value represents a specific value of “attribute”.
  • the business master data 113 may be, for example, data in a table format including a plurality of records composed of a plurality of attribute (field) columns. Note that the present invention is not limited to the data structure of the business master data 113. For example, business master data 113 in CSV format, business master data 113 in list format, and business master data 113 in message format such as sensor information may be used.
  • the data transmission unit 111 transmits the master data 113 or the log data 150 that is the result of the business process.
  • the log data 150 is data including one or more data blocks updated by business processing. Details of the log data 150 will be described with reference to FIG.
  • the data structure information 112 is information indicating the data structure of data handled in business processing.
  • the data structure information 112 of this embodiment includes information indicating the data structures of the business master data 113 and the log data 150. Details of the data structure information 112 will be described with reference to FIG.
  • the business master data 113 held before the business process is started is stored in the Data Lake
  • the log data 150 generated in the business process is stored in the Data Lake.
  • the business master data 113 and the log data 150 are managed separately.
  • the data management node 100 manages the data structure information of the log data 150 in addition to the data structure information 112 of the business master data 113.
  • the reason for managing the initial business master data 113 and the log data 150 separately is that when analyzing past data, when analyzing data at a specific time, when referring to history data as well as the latest value, Alternatively, it is for use in various analysis processes such as preventing the change of the business master data 113 from affecting the log data.
  • the analysis system 120 executes a predetermined analysis process using the business master data 113 managed by one or more business systems 110. Note that the present invention is not limited to the type of analysis processing executed by the analysis system 120.
  • One analysis system 120 includes one or more computers. At least one computer included in the analysis system 120 includes a data receiving unit 121 and holds data structure information 122 and master data 123.
  • Master data 123 is data used for analysis processing.
  • One analysis system 120 may hold a plurality of master data 123. Similar to the business master data 113, the master data 123 includes a plurality of data blocks. The data structure of the master data 123 does not depend on the data structure of the business master data 113. In the following description, the master data 123 is also referred to as analysis master data 123. Further, when the business master data 113 and the analysis master data 123 are not particularly distinguished, they are also simply referred to as master data.
  • the data structure information 122 is information indicating the data structure of the analysis master data 123.
  • the data structure information 122 is the same information as the data structure information 112.
  • the data receiving unit 121 receives output data 160 having a predetermined data structure from the data management node 100.
  • the output data 160 includes one or more data blocks of the analysis master data 123.
  • the data management node 100 acquires a data block group from the business master data 113 and the log data 150 stored in the Data Lake, converts the data block group into output data 160 having a predetermined data structure,
  • the output data 160 is output to the output destination device or storage area.
  • the output destination may be, for example, the storage area of the analysis system 120 or the data management node 100.
  • FIG. 2 is a block diagram illustrating a hardware configuration and a software configuration of the data management node 100 according to the first embodiment.
  • the data management node 100 includes a CPU (Central Processing Unit) 201, a memory 202, a network interface 203, and a storage device 204 as hardware configurations.
  • the CPU 201, the memory 202, the network interface 203, and the storage device 204 are connected to each other by an internal bus or the like.
  • the CPU 201 is an arithmetic device that executes various control processes of the data management node 100, and executes a program stored in the memory 202.
  • a process is described using a functional unit as a subject, it indicates that the CPU 201 is executing a program that realizes the functional unit.
  • the memory 202 is a main storage device of the data management node 100, and stores programs executed by the CPU 201 and various data.
  • the memory 202 stores a control program group 101 and a management table group 102.
  • the memory 202 is also used as a work area used by the CPU 201 for processing.
  • the network interface 203 is an interface connected to other devices via a network, and performs protocol control during communication of the data management node 100.
  • the data management node 100 is connected to the network switch 130 via the network interface 203.
  • the storage device 204 is a secondary storage device of the data management node 100 and stores a large amount of data.
  • the storage device 204 is, for example, a FC (Fibre Channel) disk, a SCSI (Small Computer System Interface) disk, a SATA disk, an ATA (AT Attachment) disk, or a SAS (Serial Attached SCSI) disk.
  • control program group 101 and the management table group 102 stored in the memory 202 will be described.
  • the control program group 101 includes programs for realizing the data structure information management unit 211, the data structure information conversion unit 212, the data store management unit 213, and the data conversion unit 214.
  • programs for realizing the data structure information management unit 211, the data structure information conversion unit 212, the data store management unit 213, and the data conversion unit 214 may be combined into one program.
  • the same program may not be stored in all the data management nodes 100.
  • one data management node 100 may store a program for realizing the data structure information management unit 211.
  • the management table group 102 includes a data structure information extraction rule 221, data structure related information 222, data structure management information 223, data structure definition information 224, data related map 225, main part management information 226, buffer 227, counter 228, and data Store 229 is included.
  • the data structure information extraction rule 221 is information used for generating the data structure related information 222.
  • the data structure information extraction rule 221 is information set in the data management node 100 in advance. Details of the data structure information extraction rule 221 will be described with reference to FIG.
  • the data structure related information 222 is information for managing the relevance of attributes of master data and log data 150 (data block) having different data structures. Details of the data structure related information 222 will be described with reference to FIG.
  • the data structure management information 223 is information for managing the data structure information 112 of the business master data 113 and the log data 150 and the data structure information 122 of the analysis master data 123. Details of the data structure management information 223 will be described with reference to FIG.
  • the data structure definition information 224 is detailed definition information of the data structure information 122 of the analysis master data 123. Details of the data structure definition information 224 will be described with reference to FIG.
  • the data association map 225 is information for managing the data reference relationship.
  • reference source data is also referred to as source data.
  • the source data indicates data that is referred to when the attribute value of the reference destination data is calculated.
  • the source data may be analysis master data 123 as well as business master data 113 and log data 150. Details of the data relation map 225 will be described with reference to FIG.
  • the buffer 227 is a storage area used when the output data 160 is generated.
  • the counter 228 is a counter used when the output data 160 is generated. For example, under the analysis system 120 that handles RDB-based analysis master data 123, when output data 160 including a record (data block) in which only some attribute values are set is transmitted, data consistency is ensured. Can not. Therefore, the data management node 100 uses the counter 228 to confirm whether or not the output data 160 including a record in which all attribute values are set has been generated. Details of the buffer 227 will be described with reference to FIG.
  • the data store 229 stores various data handled by the business system 110 and the analysis system 120.
  • the data store 229 of this embodiment is configured using the storage area of the memory 202 of the plurality of data management nodes 100.
  • the data store 229 may be configured using the storage area of the storage device 204 of the plurality of data management nodes 100.
  • the business store data 113, the log data 150, and the analysis master data 123 are stored in the data store 229.
  • the data store 229 of this embodiment stores various data as a key-value pair that combines one key and one attribute value. Note that information other than the key and the attribute value may be added to the key-value pair.
  • the key of the key-value pair is also referred to as a data store key.
  • Data Lake independent of the data structure of the master data By storing the key-value pair independent of the data structure in the data store 229, Data Lake independent of the data structure of the master data can be realized. As a result, data with a large number of attribute values “0” or “Null” is not stored in Data Lake, so the amount of data can be reduced, and the analysis system 120 can be added or changed flexibly. Possible Data Lake can be realized. Details of the data store 229 will be described with reference to FIG.
  • the data stored in the data store 229 may not be a key-value pair. In other words, it may be data in a data format that does not depend on the data structure information 112 or the like.
  • the main part management information 226 is information for managing the main part which is an attribute for uniquely identifying the data block.
  • the data store key includes a main part. Details of the main part management information 226 will be described with reference to FIG.
  • the data structure information management unit 211 manages data structure information of data processed in the computer system 10. Specifically, the data structure information management unit 211 manages data structure related information 222, data structure management information 223, and data structure definition information 224. The data structure information management unit 211 accepts various requests transmitted from the business system 110 and the analysis system 120.
  • the data structure information conversion unit 212 generates a data structure information extraction rule 221, data structure management information 223, and data structure definition information 224 based on the request transmitted from the business system 110. Further, the data structure information conversion unit 212 generates data structure management information 223, data structure definition information 224, and a data relation map 225 based on the request transmitted from the analysis system 120.
  • the data store management unit 213 manages data write processing and data read processing with respect to the data store 229.
  • the data store management unit 213 according to the present embodiment generates a key / value pair from the business master data 113 and the log data 150 and stores the generated key / value pair in the data store 229.
  • the data store management unit 213 according to the present exemplary embodiment acquires a plurality of key-value pairs constituting one data block in cooperation with the data conversion unit 214 when the output data 160 is generated.
  • each key value pair of a plurality of attribute values included in one record is stored in the data store 229.
  • the data store management unit 213 acquires a plurality of key / value pairs constituting one record in cooperation with the data conversion unit 214.
  • the data conversion unit 214 generates the output data 160 using one or more key-value pairs stored in the data store 229.
  • FIG. 3 is a diagram illustrating an example of data structure information according to the first embodiment.
  • the data structure information 112 managed by the business system 110 will be described as an example.
  • the data structure information 112 includes a “class” column in the “schema” column.
  • the “class” column includes information corresponding to the business master data 113 managed by the business system 110.
  • the “class” column includes an “id” column and a “property” column.
  • the “id” column is information indicating a key of the business master data 113 and includes information indicating a name and a type.
  • the “property” column is information indicating an attribute, and includes information indicating a name and a type.
  • the business system 110 is an inventory management system
  • the business master data 113 is inventory management information.
  • the attribute that is the key of the inventory management information indicates an “ID” of the Integrer type.
  • the inventory management information indicates that “code”, “name”, “location”, and “number” are included as attributes.
  • the attribute “code” is a character string of 10 characters or less, null input is prohibited, and duplicate values are prohibited.
  • FIG. 4 is a diagram illustrating an example of master data according to the first embodiment.
  • the business master data 113 will be described as an example.
  • the business master data 113 shown in FIG. 4 is tabular data and includes a data name 401 and one or more records.
  • the data name 401 is the name of the business master data 113.
  • One record includes an ID 402, a code 403, a name 404, a place 405, and a number 406, and an attribute value is set for each attribute.
  • One record corresponds to one data block.
  • the business master data 113 shown in FIG. 4 is inventory management information that stores a plurality of records.
  • the inventory management information includes, for example, a record whose ID 402 is “stock1”, code 403 is “0010”, name 404 is “pen”, place 405 is “Tokyo”, and number 406 is “50”.
  • FIG. 5 is a diagram illustrating an example of the log data 150 according to the first embodiment.
  • the log data 150 transmitted from the business system 110 that manages the business master data 113 shown in FIG. 4 will be described as an example.
  • the log data 150 includes one or more update histories of each data block (record) handled by the business system 110.
  • One update history includes a data name 501 and an attribute.
  • the data name 501 is the same as the data name 401.
  • the update history of one data block includes ID 502, code 503, name 504, location 505, number 506, and time 507, and an attribute value is set for each attribute. Note that the time when the data is updated is set as the time 507.
  • the business system 110 temporarily holds the updated data block, and stores the data block in the data store 229 at a predetermined cycle.
  • a copy of the business master data 113 before update may be used as the log data 150.
  • the business system 110 reflects the result of business processing in the business master data 113 and transmits the log data 150 to the data store 229 as an update history.
  • the business system 110 In the case of the business system 110 that manages the business master data 113 corresponding to the RDB, the business system 110 holds one data structure information 112 and one business master data 113. In the case of such a business system 110, the data transmission unit 111 may transmit one data structure information 112 to the data management node 100 together with the log data 150 including one or more records.
  • the business system 110 In the case of the business system 110 corresponding to JSON (Java Script Object Notification), the business system 110 generates a copy of the business master data 113 when the data is updated.
  • the data transmission unit 111 may transmit one data structure information 112 to the data management node 100 together with the log data 150 including the plurality of replicated business master data 113.
  • FIG. 6 is a diagram illustrating an example of the data store 229 according to the first embodiment.
  • the data store 229 includes one or more key-value pairs composed of a key 601 and a value 602.
  • the key 601 is identification information for uniquely identifying a key-value pair, that is, a data store key.
  • the value 602 is a value of a key value pair corresponding to the key 601. For example, the value 602 of the first entry shown in FIG. 6 stores the attribute value of the attribute “time” of the record whose ID 402 of the inventory management information is “stock1”.
  • FIG. 7 is a diagram illustrating an example of the data structure information extraction rule 221 according to the first embodiment.
  • the data structure information extraction rule 221 includes a plurality of entries indicating one rule.
  • One entry includes an attribute name 701, an attribute name 702, and a regular expression 703.
  • Attribute name 701 and attribute name 702 are information indicating attributes of the related data structure information 112.
  • the attribute name 701 and the attribute name 702 may store identification information combining the name of the business master data 113 and the name of the attribute, or may store only the name of the attribute.
  • the regular expression 703 is information indicating a regular expression used for specifying a related attribute.
  • the user definition related rule is a rule registered when the user explicitly specifies the attribute of the business master data 113 that is related.
  • the first rule in FIG. 7 is a user-defined related rule.
  • a patterning related rule is a rule that is registered by specifying related attributes.
  • a pattern for extracting the attribute value of the attribute can be set together with the attribute described above.
  • the rule at the bottom of FIG. 7 is a patterning-related rule for extracting a pattern “XXXX / YY / ZZ” as time information.
  • FIG. 8 is a diagram illustrating an example of the data structure related information 222 according to the first embodiment.
  • the data structure related information 222 includes a plurality of entries indicating the relevance of attributes of business master data having different data structures.
  • One entry includes an attribute name 801 and an attribute name 802.
  • the attribute name 801 and the attribute name 802 are attribute names of the business master data.
  • the attribute names 801 and 802 store information obtained by combining the attribute name of the master data 113 and the attribute name of the log data 150.
  • FIG. 9 is a diagram illustrating an example of the data structure management information 223 according to the first embodiment.
  • the data structure management information 223 includes a plurality of entries corresponding to the data structure information 112 and 122. That is, one entry corresponds to one data structure information.
  • One entry includes a plurality of lines indicating the attributes of the master data or log data 150. Specifically, one entry includes a data name 901, an attribute 902, a type 903, and a main part 904.
  • the data name 901 is the same as the data name 401.
  • An attribute 902 is a name of an attribute that constitutes a data block included in the business master data 113 or the like.
  • a type 903 is a data type of an attribute value stored in the attribute.
  • a main part 904 indicates an attribute that is a key of a key-value pair. In the following description, an attribute that is a key of a key-value pair is also described as a main part. A predetermined symbol is stored in the main part 904 of the attribute corresponding to the main part. Note that the number of attributes as the main part is not necessarily one. In this case, a data store key is generated by combining a plurality of attributes.
  • the first entry in FIG. 9 shows the data structure of the inventory management information, and the inventory management information indicates that the attribute includes “ID”, “code”, “name”, “location”, and “number”. . Further, “ID” of the inventory management information indicates that it is a main part.
  • FIG. 10 is a diagram illustrating an example of the data structure definition information 224 according to the first embodiment.
  • the data structure definition information 224 includes a plurality of entries corresponding to the output data 160, that is, the data structure information 122 of one analysis master data 123.
  • one entry includes a plurality of rows indicating attributes constituting data blocks included in the analysis master data 123.
  • one entry includes a data name 1001, an output destination 1002, an attribute 1003, a generation method 1004, an aggregation key 1005, and an output format 1006.
  • the data name 1001 is the same as the data name 401.
  • the output destination 1002 indicates the output destination of the output data 160.
  • An attribute 1003 is a name of an attribute that constitutes the data block.
  • one data block included in the warehouse usage amount analysis information indicates that the date, base, usage amount, pen, notebook, and event are included as attributes.
  • the generation method 1004 is a generation method for calculating the attribute value of the data block of the analysis master data 123 using the attribute value of the data block included in the source data.
  • the generation method 1004 stores a calculation formula using attribute values of data blocks included in one or more source data.
  • the attribute value of the attribute “date” indicates that the attribute value of the attribute “time” included in the block data included in the warehouse management stream information is generated as it is.
  • the aggregation key 1005 indicates an attribute used when the output data 160 is generated.
  • a predetermined symbol is stored in the aggregate key 1005 having an attribute corresponding to the aggregate key.
  • the example illustrated in FIG. 10 indicates that the attribute “date” is an attribute used as an aggregation key.
  • the aggregation key is an attribute common to each source data necessary for generating the output data 160. This is because the aggregation key is used for narrowing down the data block group of the source data acquired from the data store 229.
  • the output format 1006 is the data format of the output data 160.
  • the example shown in FIG. 10 indicates that the output data 160 output for the warehouse usage amount analysis information is output as CSV format data.
  • FIG. 11 is a diagram illustrating an example of the data relation map 225 according to the first embodiment.
  • the data relation map 225 is information in a matrix format in which master data referring to source data is associated with columns and source data is associated with rows.
  • Each element of the matrix stores at least one of a blank and a predetermined symbol. This symbol indicates that the master data is updated as the source data is updated.
  • the example shown in FIG. 11 indicates that when the inventory management log information is updated, the warehouse usage analysis information is updated. That is, the output data 160 of the warehouse usage amount analysis information is generated.
  • FIG. 12 is a diagram illustrating an example of main part management information 226 according to the first embodiment.
  • the main part management information 226 includes one entry for each master data and log data 150.
  • One entry includes a plurality of lines indicating specific attribute values of the main part.
  • One entry includes a data name 1201 and a main part 1202.
  • the data name 1201 is the name of the master data or log data 150.
  • the main part 1202 is an attribute value of the main part.
  • FIG. 13 is a diagram illustrating an example of the buffer 227 according to the first embodiment.
  • the buffer 227 includes a plurality of entries corresponding to data blocks included in the output data 160.
  • One entry includes an ID 1301, a data name 1302, an attribute 1303, and an attribute value 1304.
  • ID 1301 is identification information for uniquely identifying an entry in the buffer 227.
  • the data name 1302 is the name of the analysis master data 123 that is the target of the output data 160.
  • the attribute value is a calculated attribute value.
  • FIG. 14 is a sequence diagram illustrating an example of the registration process of the data structure information of the input data and the registration process of the data structure information of the output data according to the first embodiment.
  • FIG. 15 is a diagram illustrating an example of the input data registration screen 1500 according to the first embodiment.
  • FIG. 16 is a diagram illustrating an example of an output data registration screen 1600 according to the first embodiment.
  • the input data indicates data input to the data management node 100.
  • the user can register the master data and log data 150 as input data according to the system configuration.
  • the output data indicates data (output data 160) having a predetermined data structure generated from the input data.
  • the input data registration process will be described.
  • the user uses the input data registration screen 1500 to input an input data registration request to the data management node 100.
  • the input data registration screen 1500 will be described.
  • the input data registration screen 1500 is a screen used for registering the data structure information of the input data, the relationship between the data structure information, and the like.
  • the input data registration screen 1500 is displayed on the data management node 100. Note that the input data registration screen 1500 may be displayed on a computer included in the business system 110.
  • the input data registration screen 1500 includes three columns: a registration data list 1510, a data reference column 1520, and an input data registration column 1530.
  • the registered data list 1510 is a column for displaying input data in which data structure information is registered, and includes a list 1511, a display button 1512, and a delete button 1513.
  • the list 1511 is a list of names of input data currently registered in the data management node 100.
  • a display button 1512 is an operation button for displaying input data selected in the list 1511.
  • a delete button 1513 is an operation button for deleting the data structure information of the input data selected in the list 1511.
  • the data reference column 1520 is a column for displaying input data stored in the data management node 100 when the display button 1512 is operated.
  • the user refers to the registered data list 1510 and confirms the input data in which the data structure information is registered. Further, the user confirms the details of the input data displayed in the data reference field 1520.
  • the user deletes the selected input data by operating a delete button 1513 according to the confirmation result. For example, when the data structure of the business master data 113 is set again, the delete button 1513 is operated.
  • the input data registration column 1530 is a column for registering the data structure information of the input data and the relevance between the plurality of data structure information.
  • the input data registration field 1530 includes a data registration field 1531, a script registration field 1532, a new creation field 1533, and an extraction rule registration field 1534.
  • the input data registration field 1530 includes a registration button 1535.
  • the data registration column 1531, script registration column 1532, and new creation column 1533 are used for registering data structure information of input data.
  • the extraction rule registration field 1534 is used for registering a rule in the data structure information extraction rule 221.
  • the user inputs the storage location information of the data structure information 112 and the storage location information of the business master data 113 in the data registration field 1531.
  • the user inputs storage information of the script in the script registration field 1532.
  • the storage location information includes the directory path name of the data file, the directory path name of the batch file for acquiring data, and the URI for accessing the data management software.
  • the user In the case of registration processing of the data structure information 112 using the data registration column 1531, the user inputs a value in the data registration column 1531 and operates the registration button 1535. In this case, a registration request for input data including the data structure information 112 and the business master data 113 is input to the data management node 100.
  • the user In the case of registration processing of the data structure information 112 using the script registration field 1532, the user inputs a value in the script registration field 1532 and operates the registration button 1535. In this case, a registration request for input data including a script is input to the data management node 100.
  • the business system 110 generates data structure information 112 for registration and business master data 113 based on the script, and sends a registration request for input data including the data structure information and the business master data 113 to the data management node. 100 may be entered.
  • the user When the registration target data structure information 112 is not registered in the business system 110, the user inputs the name, attribute, and attribute data type of the business master data 113 in the new creation field 1533, and clicks the registration button 1535. Manipulate. In this case, a registration request for input data including the data structure information 112 is input to the data management node 100.
  • the above is an example of the user's operation method.
  • data structure information 112 in the table format such as RDB shows information used when registering the data structure information 112 in the table format such as RDB.
  • the present invention is not limited to this, and data structure information 112 in a KVS format, a semi-structured data format such as JSON, or a text format such as CSV may be input.
  • a parser program of each data format, a definition file of the data structure information 112, and the like may be input in the data registration field 1531.
  • the user inputs the name of a related attribute, a regular expression, and the like in the extraction rule registration field 1534 and operates the registration button 1535.
  • Information combining the name of the input data and the name of the attribute may be input.
  • the input data registration request includes the name of the input data and the name of the attribute.
  • the data structure information management unit 211 of the data management node 100 accepts the input data registration request (step S1401), the data structure information conversion unit 212 is instructed to start the data structure information registration process (step S1402). .
  • the data structure information management unit 211 instructs the data structure information conversion unit 212 to start the data generation process (see FIG. 17).
  • the data structure information conversion unit 212 updates the data structure information extraction rule 221 (step S1403). Specifically, the data structure information management unit 211 adds an entry to the data structure information extraction rule 221 and registers values in the attribute name 701 and the attribute name 702.
  • the data structure information conversion unit 212 updates the data structure related information 222 when the data structure information extraction rule 221 is updated (step S1404). Specifically, the following processing is executed.
  • the data structure information conversion unit 212 adds an entry to the data structure related information 222. Further, the data structure information conversion unit 212 registers the values of the attribute name 701 and attribute name 702 of the entry newly registered in the data structure information extraction rule 221 in the attribute name 801 and attribute name 802 of the added entry. .
  • the data structure information conversion unit 212 analyzes the data structure information 112 of the business master data 113 stored in the data management node 100, and determines the attribute name 701 and The attribute corresponding to the attribute name 702 is searched.
  • the data structure information conversion unit 212 adds an entry to the data structure related information 222, and registers the name of the data and the name of the searched attribute in the attribute name 801 and attribute name 802 of the added entry. The above is the description of the process in step S1404.
  • the data structure information conversion unit 212 updates the data structure management information 223 (step S1405). Specifically, the following processing is executed.
  • the data structure information conversion unit 212 performs input based on the data structure information 112 as shown in FIG.
  • the data name, input data attribute, attribute data type, etc. are specified.
  • the data structure information conversion unit 212 adds an entry to the data structure management information 223 and registers the name of the input data in the data name 901 of the added entry.
  • the data structure information conversion unit 212 generates as many lines as the number of attributes in the added entry. Further, the data structure information conversion unit 212 registers values in the attribute 902, type 903, and main part 904 of each row.
  • the data structure information conversion unit 212 adds an entry to the data structure management information 223, and adds the data name 901 of the added entry. Register the name of the input data.
  • the data structure information conversion unit 212 generates as many lines as the number of attributes in the added entry. Further, the data structure information conversion unit 212 registers values in the attribute 902, type 903, and main part 904 of each row.
  • the data structure information conversion unit 212 responds to the data structure information management unit 211 with the completion of processing (step S1406).
  • output data registration processing will be described.
  • the user uses the output data registration screen 1600 to input an output data registration request to the data management node 100.
  • the output data registration screen 1600 will be described.
  • the output data registration screen 1600 is a screen used for registration of the data structure information 122 of the analysis master data 123, registration of the relationship between the business master data 113 and the analysis master data 123, and the like.
  • the output data registration screen 1600 is displayed on the data management node 100.
  • the output data registration screen 1600 may be displayed on a computer included in the business system 110.
  • the output data registration screen 1600 includes five columns: a registration data list 1610, a registration data search column 1620, a data reference column 1630, an output data registration column 1640, and a data structure definition column 1650.
  • the registered data list 1610 is a column for displaying the output data 160 (analysis master data 123) in which the data structure information 122 is registered, and includes a list 1611 and a display button 1612.
  • the list 1611 and the display button 1612 are the same as the list 1511 and the display button 1512.
  • the registered data search column 1620 is a column for searching the data structure information 112 and confirming the data structure related information 222.
  • the registered data search field 1620 includes a key 1621, a search button 1622, and a search result display area 1623.
  • the key 1621 is a column for inputting a search key used for searching registered data structure information.
  • the search button 1622 is a button operated to start the search process.
  • the search result display area 1623 displays the search result.
  • the search result display area 1623 attributes of input data corresponding to the search key and other attributes are displayed.
  • the input data searched based on the data structure related information 222 is displayed in a tree structure. That is, the input data corresponding to the search key is a root node, and other attributes included in the input data of the root node or other related attributes are leaf nodes.
  • the data structure information management unit 211 searches the base management information including “usage amount” as an attribute.
  • the data structure information management unit 211 determines the attribute “usage” of the base management information as a root node and determines other attributes as leaf nodes.
  • the data structure information management unit 211 refers to the attribute name 801 of the data structure related information 222 and searches for an entry that matches the attribute of the base management information. If there is a matching entry, the data structure information management unit 211 determines the other business master data 113 that has been searched for as a child node whose attribute is the base management information. In this case, the stock management information and the sensor information are determined to have the base of the base management information as the parent node. The data structure information management unit 211 performs the same processing recursively.
  • a search result as shown in FIG. 16 is displayed.
  • all the root nodes and leaf nodes are displayed, but the search and display may be performed for the layer (node) selected by the user.
  • the data reference field 1630 displays input data stored in the data management node 100 when the display button 1612 is operated or when a node corresponding to the business master data 113 in the search result display area 1623 is selected. It is a column.
  • the data reference column 1630 is the same as the data reference column 1520.
  • the output data registration column 1640 is a column for newly registering the data structure information 122 and the like of the analysis master data 123.
  • the output data registration column 1640 includes a column 1641 similar to the data registration column 1531.
  • the data structure definition column 1650 is a column for registering definition information of the data structure information 122 of the analysis master data 123.
  • the data structure definition column 1650 includes an aggregation key input column 1651, a structure input column 1652, a registration button 1653, and a delete button 1654.
  • the aggregation key input column 1651 is a column for inputting an attribute to be an aggregation key.
  • the structure input column 1652 is a column for inputting an attribute included in the analysis master data 123 and a generation method of the attribute value.
  • the registration button 1653 is an operation button for registering the data structure information 122 of the analysis master data 123 based on information set in the aggregation key input field 1651 and the structure input field 1652.
  • the delete button 1654 is an operation button for deleting values in the aggregate key input field 1651 and the structure input field 1652.
  • the user selects the business master data 113 registered in the data management node 100 from the list 1611 of the registered data list 1610 and operates the display button 1612. The user confirms the business master data 113 displayed in the data reference field 1630.
  • the user inputs a value into the key 1621 in the registered data search field 1620 and operates the search button 1622.
  • the user refers to the data reference column 1630 and confirms the contents of the business master data 113 displayed in the search result display area 1623.
  • the user uses the registered data list 1610, the registered data search column 1620, and the data reference column 1630 to select an attribute to be analyzed in the analysis system 120.
  • the user inputs the name of the analysis master data 123 and the storage location information of the analysis master data 123 in the output data registration field 1640.
  • the storage destination information includes the directory path name of the data file, the directory path name of the batch file for acquiring data, and the URI for accessing the data management software.
  • the user inputs an attribute value generation method of the analysis master data 123 in the data structure definition field 1650. Further, the user designates the attribute of the analysis master data 123 to be a search key. The user operates the registration button 1653 after inputting information in the data structure definition field 1650. As a result, an output data registration request including the values input in the output data registration field 1640 and the data structure definition field 1650 is input to the data management node 100.
  • the data structure information management unit 211 or the like may provide an application-oriented API to the user.
  • the user may define the output format information as a variable and the data generation definition as an assignment expression for the variable in the application program.
  • analysis master data 123 defined using the output data registration screen 1600 may be registered as new business master data 113. Thereby, it can be used as information for managing the relationship between the business master data 113 of the business system 110.
  • the data structure information management unit 211 of the data management node 100 receives the output data registration request (step S1407), it instructs the data structure information conversion unit 212 to start the registration process of the data structure information 122 (step S1408). ).
  • the data structure information conversion unit 212 updates the data structure management information 223 (step S1409). Specifically, the data structure information conversion unit 212 adds an entry to the data structure management information 223 and registers the name of the analysis master data 123 in the data name 901 of the added entry. The data structure information conversion unit 212 generates as many lines as the number of attributes in the added entry. Further, the data structure information conversion unit 212 registers values in the attribute 902, type 903, and main part 904 of each row.
  • the data structure information conversion unit 212 updates the data structure definition information 224 (step S1410). Specifically, the following processing is executed.
  • the data structure information conversion unit 212 adds an entry to the data structure definition information 224, and registers the name of the analysis master data 123 input in the output data registration field 1640 as the data name 1001.
  • the data structure information conversion unit 212 generates lines for the number of attribute values set in the structure input field 1652, and registers values in the attribute 1003 and the generation method 1004 of each line.
  • the data structure information conversion unit 212 sets a predetermined symbol for the aggregation key 1005 based on the aggregation key input field 1651. Further, the data structure information conversion unit 212 registers a value in the output format 1006 based on the structure input field 1652. The above is the description of the process in step S1410.
  • the data structure information conversion unit 212 updates the data relation map 225 (step S1411). Specifically, the following processing is executed.
  • the data structure information conversion unit 212 determines whether or not the column of the target analysis master data 123 exists in the column of the data relation map 225. When there is no target analysis master data 123 column in the data relationship map 225, the data structure information conversion unit 212 adds the registration target analysis master data 123 column to the data relationship map 225.
  • the data structure information conversion unit 212 refers to the generation method 1004 of each line of the entry added to the data structure definition information 224, and specifies the name of the related source data. The data structure information conversion unit 212 determines whether or not the specified source data row exists in the row of the data relation map 225.
  • the data structure information conversion unit 212 sets a symbol in the cell.
  • the data structure information conversion unit 212 adds the specified source data row and sets a symbol in the cell.
  • the data structure information conversion unit 212 responds to the data structure information management unit 211 with the completion of processing (step S1412).
  • FIG. 17 is a sequence diagram illustrating an example of the data conversion process of the business system 110 according to the first embodiment.
  • the data structure information management unit 211 receives a data registration request including input data from the data transmission unit 111 (step S1701).
  • the data structure information management unit 211 instructs the data store management unit 213 to start data generation processing (step S1702).
  • the data store management unit 213 executes the data generation process (step S1703).
  • the data generation process executes the data generation process (step S1703).
  • the data store management unit 213 selects one data block included in the log data 150.
  • the data store management unit 213 refers to the data structure management information 223 and searches for an entry in which the data name 901 matches the data name 501 of the log data 150.
  • the data store management unit 213 refers to the main part 904 of the searched entry and identifies the attribute that is the main part.
  • the data store management unit 213 generates a data store key of a key / value pair based on a predetermined rule.
  • the data store management unit 213 generates “name of log data 150. attribute value of main part. Attribute name” as a data store key.
  • “inventory management information.stock1.time”, “inventory management information.stock1.ID”, “inventory management information.stock1.code”, “inventory management information.stock1.name”, “Inventory management information.stock1.location” and “inventory management information.stock1.number” are generated as keys.
  • the data store management unit 213 sets the data store key generated in the key 601 and sets an attribute value corresponding to the key set in the value 602.
  • the data store management unit 213 updates the main part management information 226.
  • the data store management unit 213 refers to the data name 1201 and searches for an entry that matches the name of the log data 150.
  • the data store management unit 213 adds an entry to the main part management information 226, and sets the name of the log data 150 in the data name 1201 of the added entry. Furthermore, the data store management unit 213 adds one line to the main part 1202 of the added entry, and sets the value of the main part in the line.
  • the data store management unit 213 executes the above-described processing for all data blocks included in the log data 150.
  • the data store management unit 213 responds to the data structure information management unit 211 with the completion of processing (step S1704).
  • the data structure information management unit 211 When the data structure information management unit 211 receives a response from the data store management unit 213, the data structure information management unit 211 instructs the data conversion unit 214 to start processing (step S1705).
  • mapping processing step S1706
  • data acquisition request to the data store management unit 213
  • the data store management unit 213 executes data search processing (step S1708), and returns the searched key-value pair to the data conversion unit 214 (step S1709). Details of the data search process will be described with reference to FIG.
  • step S1710 When the data conversion unit 214 receives the searched key-value pair, the data conversion unit 214 executes an output data generation process (step S1710). Details of the output data generation processing will be described with reference to FIG.
  • the data conversion unit 214 responds with the output data 160 generated to the data structure information management unit 211 (step S1711).
  • the data structure information management unit 211 identifies the analysis system 120 that transmits the received output data 160 based on the data name 901 of the data structure management information 223, and transmits the output data 160 to the identified analysis system 120.
  • FIG. 18 is a flowchart for explaining the details of the mapping process of the first embodiment.
  • FIG. 19 is a diagram illustrating an example of an access list according to the first embodiment.
  • the data conversion unit 214 identifies the analysis master data 123 that needs to be updated in accordance with the registration of new input data (source data) based on the data relation map 225 (step S1801).
  • the data conversion unit 214 searches the data association map 225 for a line that matches the data name of the input data included in the data registration request.
  • the data conversion unit 214 refers to the searched row and identifies a cell in which a predetermined symbol is set.
  • the analysis master data 123 corresponding to the column of the cell is the analysis master data 123 that needs to be updated.
  • the data conversion unit 214 refers to the “inventory management log information” line of the data relation map 225 shown in FIG. In this case, the data conversion unit 214 identifies “warehouse usage analysis information” as the analysis master data 123 that needs to be updated.
  • the data conversion unit 214 starts loop processing of the data block of the input data (step S1802). Specifically, the data conversion unit 214 selects one target data block from the data blocks included in the input data. In addition, the data conversion unit 214 starts loop processing of the specified analysis master data 123 (step S1803). Specifically, the data conversion unit 214 selects one analysis master data 123 to be processed from the specified analysis master data 123.
  • the data conversion unit 214 registers an entry in the buffer 227 based on the data structure definition information 224 of the selected analysis master data 123 (step S1804). Specifically, the following processing is executed.
  • the data conversion unit 214 adds an empty entry to the buffer 227 and sets predetermined identification information in the ID 1301 of the added entry. Further, the data conversion unit 214 sets the name of the selected analysis master data 123 as the data name 1302 of the added entry.
  • the data conversion unit 214 adds the row of the attribute 1303 to the added entry by the number of the attributes 1003 of the data structure definition information 224 of the analysis master data 123, and sets the name set in the attribute 1003 to each row. Through the process described above, an entry with an empty attribute value 1304 is registered in the buffer 227. Further, the data conversion unit 214 sets an entry combining the value of ID 1301, the number of attributes 1303, and the counter value “0” in the counter 228. The above is the description of the process in step S1804.
  • the data conversion unit 214 identifies the business master data 113 and the log data 150 including attributes necessary for generating the output data 160 based on the data structure definition information 224 of the selected analysis master data 123 (step S1805).
  • the business master data 113 and the log data 150 identified in step S1805 are also described as target data, and an attribute necessary for generating the output data 160 is also described as a target attribute. Specifically, the following processing is executed.
  • the data conversion unit 214 refers to the data structure definition information 224 of the selected analysis master data 123, and selects one target attribute from the attributes 1003.
  • the data conversion unit 214 refers to the selected attribute generation method 1004 and identifies data and attributes used to calculate the attribute value of the selected attribute.
  • the data conversion unit 214 refers to the data name 1001 of the data structure definition information 224 and determines whether there is an entry that matches the data including the specified attribute. That is, it is determined whether or not the data including the specified attribute is the analysis master data 123.
  • the data conversion unit 214 determines the identified data as the target data, and also identifies the identified attribute as the target attribute. To decide.
  • the data conversion unit 214 When it is determined that the specified data is the analysis master data 123, the data conversion unit 214 generates an entry generation method 1004 of the selected analysis master data 123 and an attribute 1003 of the specified analysis master data 123 entry. Based on the above, the attribute of the specified analysis master data 123 is specified. Further, the data conversion unit 214 specifies an attribute for which an attribute value is acquired based on the specified attribute generation method 1004. The data conversion unit 214 repeatedly performs the same processing until the data including the attribute for acquiring the attribute value becomes the business master data 113 or the log data 150.
  • the data conversion unit 214 performs the same processing for all the attributes of the selected analysis master data 123. Thereby, all target data and target attributes necessary for generating the data block of the analysis master data 123 can be specified.
  • the target data used for calculating the attribute value of the attribute corresponding to the aggregate key is also referred to as aggregate target data
  • the target attribute used for calculating the attribute value of the attribute corresponding to the aggregate key is the aggregate target. Also described as an attribute. The above is the description of the process in step S1805.
  • the data conversion unit 214 starts loop processing of the target data (step S1806). Specifically, the data conversion unit 214 selects one target data from among the target data specified in step S1804. In the following description, the selected target data is also referred to as selected target data.
  • the data conversion unit 214 identifies the attribute corresponding to the main part of the selected target data from the attributes of the input data based on the data structure related information 222 and the data structure management information 223, and further selects the selected data A value to be set for the attribute is acquired from the data block of the input data (step S1807). Specifically, the following processing is executed.
  • the data conversion unit 214 refers to the data structure management information 223 based on the identification information of the selected target data, and searches for an entry corresponding to the selected target data.
  • the data conversion unit 214 identifies the main part of the selected target data based on the main part 904 of the entry corresponding to the selected target data.
  • the data conversion unit 214 refers to the data structure related information 222 and searches for an entry in which the main part of the specified selected target data is associated with the input data. Specifically, the data conversion unit 214 is an entry in which the name of the selected target data and the name of the main part are set in the attribute name 801 or the attribute name 802, and the name of the input data is included in the attribute name 801 or the attribute name 802. Search for. Through the processing described above, it is possible to specify the attribute of the input data corresponding to the main part of the selected target data.
  • the data conversion unit 214 acquires the attribute value of the specified attribute from the data block of the selected input data.
  • all the main parts may not be associated with the attributes of the input data.
  • the attribute value is not acquired for the main part that cannot be associated with the attribute of the input data.
  • step S1807 will be described using an example.
  • the input data is inventory management log information and the selected target data is base management log information.
  • the data conversion unit 214 refers to the data structure management information 223 and specifies that the main part of the selected target data is “time” and “ID”.
  • the data conversion unit 214 searches for an entry in which “base management log information.time” is set in the attribute name 801 or attribute name 802, and “stock management log information” is included in the attribute name 801 or attribute name 802.
  • the attribute of the input data corresponding to the main part of the selected target data is “time”. Therefore, the data conversion unit 214 acquires the time value of the data block as the attribute value of the main part “time” of the selected target data. Further, the data conversion unit 214 performs the same processing, and acquires the ID value of the data block as the attribute value of the main part “ID” of the selected target data.
  • the data conversion unit 214 performs the same processing, and acquires the ID value of the data block as the attribute value of the main part “ID” of the selected target data.
  • the data conversion unit 214 identifies an attribute corresponding to the aggregate target attribute from the attributes of the selected target data, and obtains a value to be set for the identified attribute from the data block of the selected input data (Step) S1808).
  • the attribute of the selected target data corresponding to the aggregate target attribute is also described as a sub attribute. Specifically, the following processing is executed.
  • the data conversion unit 214 determines whether or not the selected target data is aggregate target data.
  • the data conversion unit 214 identifies the aggregate target attribute as a sub attribute.
  • the data conversion unit 214 refers to the data structure related information 222 and identifies a sub attribute from the attributes of the selected target data. Specifically, the data conversion unit 214 sets the name of the aggregate target data and the name of the aggregate target attribute in the attribute name 801 or attribute name 802, and the name of the selected target data in the attribute name 801 or attribute name 802. Search for entries containing. Thereby, the data conversion unit 214 can specify the sub-attribute.
  • the data conversion unit 214 determines whether or not the selected target data matches the input data after the sub-attribute is specified.
  • the data conversion unit 214 acquires a value from the attribute corresponding to the sub-attribute of the data block of the selected input data.
  • the data conversion unit 214 sets the name of the selected target data and the name of the aggregate target attribute in the attribute name 801 or the attribute name 802, and sets the attribute name 801 or the attribute name 802 in Search for an entry containing the name of the input data. Thereby, the data conversion unit 214 can specify the attribute of the input data corresponding to the sub attribute. The data conversion unit 214 acquires a value from the specified attribute of the data block of the selected input data.
  • the attribute value of the sub-attribute is used as a search key used to specify a data block for acquiring an attribute value included in the output data 160 from among a plurality of data blocks.
  • step S1808 will be described using an example.
  • the input data is inventory management log information
  • the aggregate target attribute is the time of the base management log information
  • the selected target data is sensor information.
  • the data conversion unit 214 refers to the data structure related information 222, “base management log information.time” is set in the attribute name 801 or the attribute name 802, and the attribute name 801 or the attribute name 802 indicates “ An entry including “sensor information” is searched. Therefore, “time” of “sensor information” is specified as a sub attribute.
  • the data conversion unit 214 Since the selected target data does not match the input target data, the data conversion unit 214 sets “sensor information.time” in the attribute name 801 or the attribute name 802 and sets “inventory management log” in the attribute name 801 or the attribute name 802. Search for entries containing "information”. As a result, the data conversion unit 214 acquires the value of “time” of the data block of “inventory management log information”. The above is the description of the process in step S1808.
  • the data conversion unit 214 sets information for acquiring a key-value pair from the selected target data in the access list 1900 (step S1809).
  • the processing of the access list 1900 and step S1809 will be described.
  • the access list 1900 includes a plurality of entries including an ID 1901, a target data name 1902, a main part 1903, a first attribute value 1904, a sub attribute 1905, and a second attribute value 1906.
  • ID 1901 is identification information set in the ID 1301 of the entry added to the buffer 227 in step S1804.
  • the target data name 1902 is the name of the selected target data.
  • the main part 1903 and the first attribute value 1904 are the name of the main part of the selected target data and the attribute value set in the main part.
  • the sub attribute 1905 and the second attribute value 1906 are attribute values set in the name and sub attribute of the sub attribute of the selected target data.
  • FIG. 19 shows an example of an access list 1900 when stock management log information is input as the log data 150.
  • the data conversion unit 214 generates an entry in the access list for each target data, and sets the same value as the ID 1301 of the entry added to the buffer 227 in the ID 1901 of the generated entry. Further, the data conversion unit 214 sets the identification information of the selected target data in the target data name 1902 of the added entry.
  • the data conversion unit 214 generates as many rows as the number of main parts specified in step S1807, and sets the processing result in the main part 1903 and the first attribute value 1904. In addition, the data conversion unit 214 sets the processing result of step S1808 in the sub-attribute 1905 and the second attribute value 1906 of the generated entry. The above is the description of the processing in step S1809.
  • the data conversion unit 214 determines whether or not the processing has been completed for all target data identified in step S1805 (step S1810).
  • the data conversion unit 214 When it is determined that the processing has not been completed for all the identified target data, the data conversion unit 214 returns to step S1806, selects new target data, and executes the processing from step S1807 to step S1810. .
  • the data conversion unit 214 issues a data acquisition request including the access list 1900 to the data store management unit 213 (step S1811).
  • step S1812 the data conversion unit 214 determines whether or not the processing has been completed for all the analysis master data 123 specified in step S1801 (step S1812).
  • the data conversion unit 214 returns to step S1803, selects new analysis master data 123, and performs steps S1804 to S1812. The process up to is executed.
  • the data conversion unit 214 determines whether the processing has been completed for all the data blocks included in the input data. (Step S1813).
  • the data conversion unit 214 When it is determined that the processing has not been completed for all the data blocks included in the input data, the data conversion unit 214 returns to step S1802, selects a new data block, and performs steps S1803 to S1813. Execute the process.
  • the data conversion unit 214 ends the mapping process.
  • FIG. 20 is a flowchart illustrating the details of the data search process according to the first embodiment.
  • the data store management unit 213 receives a data acquisition request from the data conversion unit 214 (step S2001).
  • the data store management unit 213 starts loop processing of the access list 1900 included in the data acquisition request (step S2002). Specifically, the data store management unit 213 selects one entry in the access list 1900.
  • the data store management unit 213 generates an access key for acquiring the key value pair of the target data corresponding to the selected entry (step S2003). Specifically, the following processing is executed.
  • the data store management unit 213 acquires a value from the first attribute value 1904 of the selected entry.
  • the data store management unit 213 refers to the main part management information 226 and searches for an entry in which the data name 1201 matches the target data name 1902.
  • the data store management unit 213 refers to the main part 1202 of the searched entry and searches for a line including a combination of attribute values of all the main parts.
  • the data store management unit 213 generates the value of the main part of the searched row as an access key. There may be a plurality of access keys to be generated.
  • the data store management unit 213 may generate an access key with reference to the data structure information 112 of the target data.
  • the data store management unit 213 can refer to the data structure information 112 of the target data by searching for an entry that matches the target data name 1902 of the entry for which the data name 901 is selected. The above is the description of the process in step S2003.
  • the data store management unit 213 acquires a key-value pair group from the data store 229 based on the data structure information 112 of the target data and the access key (step S2004). Specifically, the following processing is executed.
  • the data store management unit 213 specifies the data structure information 112 of the target data by searching for an entry that matches the target data name 1902 of the entry for which the data name 901 is selected.
  • the data store management unit 213 refers to the specified data structure information 112 and grasps the number of attributes included in the target data.
  • the data store management unit 213 sets the attribute counter to “0” and searches for a key-value pair including the access key in the key 601.
  • the data store management unit 213 adds “1” to the attribute counter.
  • the data store management unit 213 temporarily holds the searched key-value pair group as one data block. Further, the data store management unit 213 initializes the attribute counter to “0” and continues the search process.
  • step S2004 key-value pairs are stored according to the order of attributes constituting one data block. Therefore, the data store management unit 213 can acquire a key-value pair group corresponding to one data block based on the processing as described above. The above is the description of the process in step S2004.
  • the data store management unit 213 determines whether or not a key-value pair group corresponding to a plurality of data blocks has been acquired (step S2005).
  • step S2007 When the key-value pair group corresponding to one data block is acquired, the data store management unit 213 proceeds to step S2007.
  • the key-value pair group corresponding to one data block is specified (step S2006). Specifically, the following processing is executed.
  • the data store management unit 213 generates the second attribute value 1906 as a search key.
  • the data store management unit 213 refers to the data structure information 112 of the target data corresponding to the target data name 1902 of the selected entry, and specifies the position of the attribute set in the sub attribute 1905. In other words, the data store management unit 213 specifies the position of the attribute to be compared with the search key.
  • the data store management unit 213 performs a search using the search key for the first key-value pair in the key-value pair group corresponding to one data block.
  • the data store management unit 213 refers to the value of the key value pair at the specified position for the key value pair group corresponding to each data block.
  • the data store management unit 213 searches for a key value pair group in which the value of the key value pair at the specified position matches the second attribute value 1906 of the selected entry. Through the processing described above, a key-value pair group corresponding to one data block can be specified. The above is the description of the process in step S2006.
  • the data store management unit 213 outputs a response including a key-value pair group corresponding to one data block to the data conversion unit 214 (step S2007).
  • the response includes the ID 1901 and target data name 1902 of the selected entry.
  • the data store management unit 213 determines whether or not processing has been completed for all entries in the access list 1900 (step S2008).
  • step S2002 When it is determined that the processing has not been completed for all entries in the access list 1900, the data store management unit 213 returns to step S2002, selects a new entry, and performs the processing from step S2003 to step S2008. Execute.
  • the data store management unit 213 ends the data search processing.
  • FIG. 21 is a flowchart illustrating details of output data generation processing according to the first embodiment.
  • the data conversion unit 214 determines whether or not there is an entry in the buffer 227 (step S2101).
  • the data conversion unit 214 ends the output data generation process.
  • the data conversion unit 214 shifts to a data waiting state.
  • the data conversion unit 214 specifies an entry in the buffer 227 (step S2103). Specifically, the data conversion unit 214 specifies an entry in the buffer 227 based on the ID included in the response received from the data store management unit 213.
  • the data conversion unit 214 determines whether or not the attribute value of the attribute of the analysis master data 123 can be calculated (step S2104). Specifically, the following processing is executed.
  • the data conversion unit 214 identifies an entry in the buffer 227 based on the ID 1901 included in the response. Based on the data name 1302 of the entry of the specified buffer 227, the data structure definition information 224 of the analysis master data 123 corresponding to the data name 1302 of the buffer 227 is referred to.
  • the data conversion unit 214 identifies the attribute of the analysis master data 123 to be calculated based on the generation method 1004 of the data structure definition information 224 and the target data name 1902 included in the response. The data conversion unit 214 determines whether or not the attribute value can be calculated based on the attribute generation method 1004.
  • the data conversion unit 214 determines that the attribute value of the analysis master data 123 can be calculated. On the other hand, if the attribute value is calculated using a plurality of key value pair groups of target data and the key value pair group of at least one target data is not received, the data conversion unit 214 analyzes the analysis master data. It is determined that the attribute value 123 cannot be calculated. The above is the description of the process in step S2104.
  • the data conversion unit 214 If it is determined that the attribute value of the analysis master data 123 cannot be calculated, the data conversion unit 214 returns to step S2102 and shifts to a data waiting state. At this time, the data conversion unit 214 temporarily stores the received response in the work area.
  • the data conversion unit 214 analyzes the analysis master based on the key-value pair group, the data structure management information 223, and the data structure definition information 224 included in the response.
  • the attribute value of the data 123 is calculated (step S2105), and the calculated attribute value is registered in a predetermined line of the entry in the buffer 227 (step S2106). Specifically, the following processing is executed.
  • the data conversion unit 214 refers to the data structure definition information 224 and identifies the target attribute.
  • the data conversion unit 214 refers to the data structure management information 223 and identifies the data structure information 112 of the identified target data.
  • the data conversion unit 214 specifies the number of the key-value pair in the key-value pair group that is necessary based on the specified target attribute and the data structure information 112.
  • the data conversion unit 214 acquires the value of the identified key-value pair, and calculates the attribute value of the analysis master data 123 based on the generation method 1004.
  • the data conversion unit 214 sets the calculated attribute value in the corresponding attribute line of the analysis master data 123 of the entry in the buffer 227. At this time, “1” is added to the value of the counter 228 corresponding to the ID 1301 of the entry in the buffer 227. The above is the description of the processing in step S2105 and step S2106.
  • the data conversion unit 214 determines whether or not the analysis master data 123 requires waiting (step S2107).
  • the data conversion unit 214 determines whether or not the analysis master data 123 needs to be waited based on the output format 1006 of the data structure definition information 224. In the case of the analysis master data 123 in the table format, the data conversion unit 214 determines that the analysis master data 123 requires waiting. In the case of the analysis master data 123 in the CSV format, the data conversion unit 214 determines that the analysis master data 123 does not require waiting.
  • the data structure definition information 224 may include a column indicating the presence / absence of waiting.
  • the data conversion unit 214 determines whether or not an output condition is satisfied (step S2108).
  • the output condition is a condition for determining whether or not to output the output data 160 to the output destination.
  • the data conversion unit 214 determines whether or not the counter value of the counter 228 corresponding to the buffer entry is equal to or greater than the number of attributes 1303. If the counter value of the counter 228 is equal to or greater than the number of attributes 1303, the data conversion unit 214 determines that the output condition is satisfied.
  • the data conversion unit 214 returns to step S2102 and shifts to a data waiting state.
  • the data conversion unit 214 When it is determined that the output condition is satisfied, the data conversion unit 214 generates the output data 160 using all the attribute values of the entries in the data structure definition information 224 and the buffer 227, and outputs the output data to the output destination. (Step S2109).
  • the data conversion unit 214 generates a data block (output data 160) in the data format set in the output format 1006 using all the attribute values of the entries in the buffer 227. Further, the data conversion unit 214 outputs the output data 160 generated via the data structure information management unit 211 to the output destination based on the output destination 1002 of the data structure definition information 224.
  • the data conversion unit 214 deletes the entry specified in step S2103 from the buffer 227 (step S2110). At this time, the data conversion unit 214 initializes the counter 228 corresponding to the entry deleted from the buffer 227. Thereafter, the data conversion unit 214 returns to step S2101 and executes the same processing.
  • step S2107 If it is determined in step S2107 that the analysis master data 123 does not require waiting, the data conversion unit 214 generates the output data 160 using the data structure definition information 224 and the attribute values set in the entries in the buffer 227. Then, the output data is output to the output destination (step S2111).
  • step S2111 is the same as the process in step S2109. However, the processing in step S2111 differs from step S2109 in that attribute values are set only for some attributes.
  • the data conversion unit 214 determines whether or not the counter value of the counter 228 is equal to or greater than the number of attributes 1303 (step S2112).
  • the data conversion unit 214 returns to step S2102 and shifts to a data waiting state.
  • the data conversion unit 214 deletes the entry specified in step S2103 from the buffer 227 (step S2110). Thereafter, the data conversion unit 214 returns to step S2101 and executes the same processing. At this time, the data conversion unit 214 initializes the counter 228 corresponding to the entry deleted from the buffer 227.
  • the counter value is used as an output condition.
  • the counter value is used as an entry deletion condition in the buffer 227.
  • the computer system 10 according to the first embodiment has the following effects.
  • the data management node 100 acquires the key-value pair group from the data store 229 at high speed without performing schema integration and SQL processing.
  • the group can be used to generate output data 160 having a predetermined data structure. Therefore, real-time analysis processing and batch analysis processing can be integrated.
  • the data management node 100 executes the mapping process, the data search process, and the output data generation process after the output data registration process is executed.
  • the second embodiment will be described focusing on differences from the first embodiment.
  • the configuration of the computer system 10 of the second embodiment is the same as the configuration of the computer system 10 of the first embodiment, the description thereof is omitted. Since the configuration of the data management node 100, the business system 110, and the analysis system 120 of the second embodiment is the same as that of the first embodiment, the description thereof is omitted. Further, the information and program held by the data management node 100 according to the second embodiment are the same as the information and program held by the data management node 100 according to the first embodiment, and thus description thereof is omitted.
  • FIG. 22 is a sequence diagram illustrating the flow of processing executed by the data management node 100 according to the second embodiment.
  • the data structure information management unit 211 of the data management node 100 When the data structure information management unit 211 of the data management node 100 receives the output data registration request (step S2201), the data structure information management unit 211 instructs the data structure information conversion unit 212 to start the registration process of the data structure information 122 (step S2202). ). The data structure information conversion unit 212 updates the data structure management information 223, the data structure definition information 224, and the data relation map 225 (step S2203, step S2204, step S2205). The data structure information conversion unit 212 returns a processing completion response to the data structure information management unit 211 (step S2206).
  • step S2201 to step S2206 is the same as the processing from step S1407 to step S1412.
  • the data conversion unit 214 is instructed to start the data generation process to the data store management unit 213 (step S2207).
  • the instruction includes the name of the newly defined analysis master data 123.
  • mapping processing When the data conversion unit 214 receives an instruction to start processing, the data conversion unit 214 executes mapping processing (step S2208) and issues a data acquisition request to the data store management unit 213 (step S2209).
  • the mapping process according to the second embodiment is different from the mapping process according to the first embodiment in part. Mapping processing according to the second embodiment will be described with reference to FIG.
  • the access list 1900 included in the data acquisition request of the second embodiment is the same as the access list 1900 of the first embodiment.
  • the data store management unit 213 executes data search processing (step S2210), and returns the searched key-value pair to the data conversion unit 214 (step S2211).
  • the data conversion unit 214 executes output data generation processing (step S2212), and returns the generated output data 160 to the data structure information management unit 211 (step S2213).
  • step S2210 to step S2213 is the same as the processing from step S1708 to step S1711.
  • FIG. 23 is a flowchart for explaining the details of the mapping process of the second embodiment.
  • the data conversion unit 214 selects input data used for generating the newly registered analysis master data 123 (step S2301). Specifically, the following processing is executed.
  • the data conversion unit 214 searches for an entry in which the data name 1001 of the data structure definition information 224 matches the name of the analysis master data 123 included in the instruction.
  • the data conversion unit 214 specifies target data based on the generation method 1004 of each row included in the specified entry. Note that the target data identification method is the same as the method used in the process of step S1805.
  • the data conversion unit 214 selects input data from the identified target data. For example, a method of selecting target data related to an attribute for which the aggregate key 1005 is set as input data is conceivable.
  • the data conversion unit 214 starts loop processing of the data block of the input data (step S2303).
  • the data conversion unit 214 issues an acquisition request for the selected input data to the data store management unit 213.
  • the acquisition request includes the name of the input data.
  • the data store management unit 213 acquires a key-value pair group using the name of the input data as an access key, and sequentially outputs the key-value pair group corresponding to one data block to the data conversion unit 214.
  • the timing for acquiring the key-value pair group may be set in advance by the data store management unit 213 or may be set by the data store management unit 213 itself.
  • the data conversion unit 214 When the data conversion unit 214 receives a key-value pair group corresponding to one data block, it registers an entry in the buffer 227 (step S2303). In addition, the data conversion unit 214 identifies target data (step S2304).
  • step S2303 and step S2304 is the same as the processing of step S1804 and step S1805.
  • the data conversion unit 214 starts loop processing of target data (step S2305).
  • the data conversion unit 214 acquires the attribute values of the main part and the sub-attribute (steps S2306 and S2307), and sets information for acquiring the key-value pair from the selected target data in the access list (step S2308).
  • the data conversion unit 214 determines whether or not processing has been completed for all target data (step S2309).
  • step S2305 to step S2309 is the same as the processing from step S1806 to step S1810.
  • step S2305 If it is determined that the processing has not been completed for all target data, the data conversion unit 214 returns to step S2305 and executes the processing from step S2306 to step S2309.
  • the data conversion unit 214 outputs a data acquisition request including the access list 1900 to the data store management unit 213 (step S2310).
  • step S2310 is the same process as the process of step S1811.
  • the data converter 214 determines whether or not processing has been completed for all data blocks of the selected input data (step S2311). For example, when the data conversion unit 214 receives a response from the data store management unit 213 indicating that the corresponding key-value pair does not exist, the data conversion unit 214 determines that the processing has been completed for all the data blocks of the selected input data.
  • step S2302 If it is determined that the processing has not been completed for all the data blocks of the selected input data, the data conversion unit 214 returns to step S2302 and executes the processing from step S2303 to step S2311.
  • the data conversion unit 214 ends the mapping process.
  • the computer system 10 of the second embodiment has the same effect as the computer system 10 of the first embodiment.
  • the analysis master data 123 is automatically generated from the business master data 113 and the like by defining the data structure of the analysis master data 123. Therefore, it is possible to reduce the operation burden on the user, increase the speed of analysis processing, and realize a flexible system.
  • this invention is not limited to the above-mentioned Example, Various modifications are included. Further, for example, the above-described embodiments are described in detail for easy understanding of the present invention, and are not necessarily limited to those provided with all the described configurations. Further, a part of the configuration of each embodiment can be added to, deleted from, or replaced with another configuration.
  • each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit.
  • the present invention can also be realized by software program codes that implement the functions of the embodiments.
  • a storage medium in which the program code is recorded is provided to the computer, and a CPU included in the computer reads the program code stored in the storage medium.
  • the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the program code itself and the storage medium storing it constitute the present invention.
  • Examples of storage media for supplying such program codes include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs (Solid State Drives), optical disks, magneto-optical disks, CD-Rs, magnetic tapes, A non-volatile memory card, ROM, or the like is used.
  • program code for realizing the functions described in this embodiment can be implemented by a wide range of programs or script languages such as assembler, C / C ++, Perl, Shell, PHP, Java, and the like.
  • the program code of the software that realizes the functions of the embodiments via a network, it is stored in a storage means such as a hard disk or a memory of a computer or a non-temporary storage such as a CD-RW or CD-R.
  • the CPU stored in the medium and included in the computer may read and execute the storage unit or the program code stored in the storage medium.
  • control lines and information lines indicate those that are considered necessary for the explanation, and do not necessarily indicate all the control lines and information lines on the product. All the components may be connected to each other.

Abstract

データペアを格納するデータストアを構成する複数の計算機における出力データの生成方法であって、計算機は、データストア管理部と、データ構造情報管理部と、データ変換部と、を含み、データ変換部が、出力用のデータブロックを生成する場合、データの参照関係を管理するデータ関連マップに基づいて、入力データを参照する分析データを特定するステップと、属性の属性値の算出方法を定義するデータ構造定義情報に基づいて、ターゲット属性及びターゲットデータを特定するステップと、ターゲットデータのデータ構造情報、及び業務データの属性間の関連性を管理するデータ構造関連情報に基づいて、アクセスキー及びサブキーを生成するステップと、アクセスキー及びサブキーを含むデータ取得要求をデータストア管理部に出力するステップと、複数のデータペアを用いて出力用のデータブロックの属性の属性値を算出するステップと、を含む。

Description

出力データの生成方法、計算機システム、及びプログラム
 本発明は、データ分散処理システムにおけるデータ変換処理に関する。
 ビックデータ分野における分析システムには、機械学習処理のようなバッチ型と、ストリーム処理のようなリアルタイム型がある。分析システムが扱う分析対象のデータは、各業務システムからData Lakeに集約される方式が知られている(例えば、特許文献1参照)。
米国特許出願公開第2014/0280333号明細書
 特許文献1に記載の技術では、従来のData Lakeにおいて、リアルタイム処理向けのデータを、RDBベースのData Lakeに統合することは困難だった。
 その原因の一つは、処理速度に加え、スパースなデータ構造の設計に起因して、データ量が増大することである。すなわち、全てのデータ構造に対応した形式のData Lakeの場合、関連しない属性値が「0」となるため、多数の「0」を有するデータがData Lakeに格納される。そのため、データ参照時の性能劣化及び消費する記憶容量の増大といった問題が発生する。
 他の原因の一つは、Data Lake設計時に定義されたデータ構造を変更する場合には一旦システムを停止させる必要があるなど、柔軟性の低いことである。
 本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、データストアを構成する複数の計算機における出力データの生成方法であって、前記複数の計算機の各々は、プロセッサ、前記プロセッサに接続される記憶装置、及び前記プロセッサに接続されるネットワークインタフェースを有し、前記複数の計算機の各々は、業務処理を実行する複数の業務システム、及び分析処理を実行する複数の分析システムと接続し、前記業務処理において扱われる業務データは、少なくとも一つの属性から構成され、処理単位となるデータである第1データブロックを複数含み、前記分析処理において扱われる分析データは、少なくとも一つの属性から構成され、処理単位となるデータである第2データブロックを複数含み、前記データストアは、検索キー及び値から構成され、かつ、前記業務データのデータ構造及び前記分析データのデータ構造に依存しないデータであるデータペアを格納し、前記複数の計算機の少なくとも一つの計算機は、前記データストアに対する前記データペアの書込処理及び読出処理を管理するデータストア管理部と、前記業務データ及び前記分析データのデータ構造情報を管理するデータ構造情報管理部と、前記複数の第1データブロックに対応する前記複数のデータペアを用いて、前記分析システムに出力するデータブロックを生成するデータ変換部と、を含み、前記データ構造情報管理部は、前記複数の業務データの属性間の関連性を管理するデータ構造関連情報と、前記業務データ及び前記分析データの参照関係を管理するデータ関連マップと、前記分析データに含まれる前記属性の属性値の算出方法を定義するデータ構造定義情報と、を管理し、前記出力データの生成方法は、前記データ変換部が、少なくとも一つの前記業務データの少なくとも一つの前記第1データブロックを入力データとして出力用の第2データブロックを生成する場合、前記データ関連マップに基づいて、前記入力データに対応する前記業務データを参照する前記分析データを特定する第1のステップと、前記データ変換部が、前記データ構造定義情報に基づいて、前記特定された分析データに出力する前記出力用の第2データブロックの前記各属性の属性値の算出に必要な属性であるターゲット属性、及び前記ターゲット属性を含む前記業務データであるターゲットデータを特定する第2のステップと、前記データ変換部が、前記入力データ、前記ターゲットデータのデータ構造情報、及び前記データ構造関連情報に基づいて、前記ターゲットデータの前記少なくとも一つの第1データブロックを取得するためのアクセスキー、及び前記ターゲット属性の属性値を取得する前記第1データブロックを特定するためのサブキーを生成する第3のステップと、前記データ変換部が、前記ターゲットデータの識別情報、前記アクセスキー、及び前記サブキーを含むデータ取得要求を前記データストア管理部に出力する第4のステップと、前記データ変換部が、前記データストア管理部から受け取った前記ターゲット属性の属性値を含む前記第1データブロックに対応する前記複数のデータペアを用いて、前記出力用の第2データブロックの前記属性の属性値を算出することによって、前記出力用の第2データブロックを生成する第5のステップと、を含むことを特徴とする。
 本発明によれば、使用する記憶領域の削減、データ構造の動的な追加又は更新に柔軟に対応可能なData Lakeを提供できる。また、複数の業務システムの業務データ等を入力として、リアルタイムに所定のデータ形式の分析データを生成できる。したがって、リアルタイム分析処理等を実行する分析システムを統合したData Lakeを提供できる。上記以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
実施例1の計算機システムの構成例を示す図である。 実施例1のデータ管理ノードのハードウェア構成及びソフトウェア構成を説明するブロック図である。 実施例1のデータ構造情報の一例を説明する図である。 実施例1のマスタデータの一例を説明する図である。 実施例1のログデータの一例を説明する図である。 実施例1のデータストアの一例を説明する図である。 実施例1のデータ構造情報抽出ルールの一例を説明する図である。 実施例1のデータ構造関連情報の一例を説明する図である。 実施例1のデータ構造管理情報の一例を説明する図である。 実施例1のデータ構造定義情報の一例を説明する図である。 実施例1のデータ関連マップの一例を説明する図である。 実施例1の主要部管理情報の一例を示す図である。 実施例1のバッファの一例を説明する図である。 実施例1の入力データのデータ構造情報の登録処理、及び出力データのデータ構造情報の登録処理の一例を説明するシーケンス図である。 実施例1の入力データ登録画面の一例を示す図である。 実施例1の出力データ登録画面の一例を示す図である。 実施例1の業務システムのデータ変換処理の一例を説明するシーケンス図である。 実施例1のマッピング処理の詳細を説明するフローチャートである。 実施例1のアクセスリストの一例を示す図である。 実施例1のデータ検索処理の詳細を説明するフローチャートである。 実施例1の出力データ生成処理の詳細を説明するフローチャートである。 実施例2のデータ管理ノードが実行する処理の流れを説明するシーケンス図である。 実施例2のマッピング処理の詳細を説明するフローチャートである。
 以下、図面を参照しながら、実施形態を説明する。以下の説明では、情報を識別するための識別情報として「番号」及び「名称」等を用いている場合、これら以外の識別情報が使用されてもよい。また、「処理」は、「プログラム」であってもよい。
 図1は、実施例1の計算機システム10の構成例を示す図である。
 計算機システム10は、分散処理を実現するシステムであって、複数の業務システム110、複数の分析システム120、及び複数のデータ管理ノード100から構成される。複数の業務システム110、複数の分析システム120及び複数のデータ管理ノード100は、ネットワークスイッチ130を介して互いに接続される。なお、本発明は、装置間を接続するネットワークの種別に限定されず、また、装置間の接続形式に限定されない。
 本実施例では、複数のデータ管理ノード100の記憶領域を用いてData Lakeが実現される。Data Lakeを実現する複数のデータ管理ノード100は分散クラスタ構成を取り、データが分散して配置される。ここで、Data Lakeは、データの種別及びデータの大きさ等に依存することなく、多種多様なデータを格納するリポジトリを示す。
 複数のデータ管理ノード100の各々は、制御プログラム群101及び管理テーブル群102を含む。制御プログラム群101及び管理テーブル群102の詳細については、図2を用いて説明する。
 業務システム110は、業務処理を実行するシステムである。なお、本発明は、業務システム110が実行する業務処理の種別に限定されない。一つの業務システム110は、一つの以上の計算機を含む。業務システム110に含まれる少なくとも一つの計算機は、データ送信部111を有し、また、データ構造情報112及びマスタデータ113を保持する。
 マスタデータ113は、業務処理に用いるデータである。一つの業務システム110が、複数のマスタデータ113を保持してもよい。マスタデータ113には、処理単位となるデータが複数含まれる。例えば、RDBに対応するマスタデータ113の場合、当該マスタデータ113には、レコードが複数含まれる。マスタデータ113の詳細は、図4を用いて説明する。
 以下の説明では、マスタデータ113を業務マスタデータ113とも記載する。また、業務マスタデータ113の処理単位のデータをデータブロックとも記載する。例えば、RDBに対応するマスタデータ113の場合、一つのレコードが一つのデータブロックに対応する。以下の説明では、「属性」は、一つのデータブロックを構成する属性の識別情報を表すものとする。また、以下の説明では、「属性値」は、「属性」の具体的な値を表すものとする。
 業務マスタデータ113は、例えば、複数の属性(フィールド)の列から構成されるレコードを複数含むテーブル形式のデータが考えられる。なお、本発明は業務マスタデータ113のデータ構造に限定されない。例えば、CSV形式の業務マスタデータ113、リスト形式の業務マスタデータ113、及びセンサ情報のようなメッセージ形式の業務マスタデータ113でもよい。
 データ送信部111は、マスタデータ113、又は業務処理の結果であるログデータ150を送信する。なお、ログデータ150は、業務処理によって更新されたデータブロックを一つ以上含むデータである。ログデータ150の詳細は、図5を用いて説明する。
 データ構造情報112は、業務処理で扱われるデータのデータ構造を示す情報である。本実施例のデータ構造情報112は、業務マスタデータ113及びログデータ150のそれぞれのデータ構造を示す情報を含むものとする。データ構造情報112の詳細は、図3を用いて説明する。
 本実施例では、Data Lakeには、業務処理が開始される前に保持する業務マスタデータ113が格納され、また、業務処理において発生したログデータ150がData Lakeに格納される。Data Lakeでは、業務マスタデータ113とログデータ150とは別々に管理される。後述するように、データ管理ノード100は、業務マスタデータ113のデータ構造情報112とは別に、ログデータ150のデータ構造情報も管理する。
 初期の業務マスタデータ113と、ログデータ150とを別々に管理する理由は、過去のデータを分析する場合、特定の時点のデータを分析する場合、最新値だけではなく履歴データを参照する場合、又は業務マスタデータ113の変更の影響をログデータに与えないようにする場合等、様々な分析処理に使用するためである。
 分析システム120は、一つ以上の業務システム110が管理する業務マスタデータ113を用いて所定の分析処理を実行する。なお、本発明は、分析システム120が実行する分析処理の種別に限定されない。一つの分析システム120は、一つ以上の計算機を含む。分析システム120に含まれる少なくとも一つの計算機は、データ受信部121を有し、また、データ構造情報122及びマスタデータ123を保持する。
 マスタデータ123は、分析処理に用いるデータである。一つの分析システム120が、複数のマスタデータ123を保持してもよい。マスタデータ123は、業務マスタデータ113と同様に、複数のデータブロックを含む。マスタデータ123のデータ構造は、業務マスタデータ113のデータ構造に依存しない。以下の説明では、マスタデータ123を分析マスタデータ123とも記載する。また、業務マスタデータ113及び分析マスタデータ123を特に区別しない場合、単にマスタデータとも記載する。
 データ構造情報122は、分析マスタデータ123のデータ構造を示す情報である。なお、データ構造情報122は、データ構造情報112と同様の情報である。
 データ受信部121は、データ管理ノード100から所定のデータ構造の出力データ160を受信する。なお、出力データ160は、分析マスタデータ123のデータブロックを一つ以上含む。
 本実施例では、データ管理ノード100が、Data Lakeに格納される業務マスタデータ113及びログデータ150からデータブロック群を取得し、所定のデータ構造の出力データ160に当該データブロック群を変換し、出力先の装置又は記憶領域に当該出力データ160を出力する。出力先は、例えば、分析システム120又はデータ管理ノード100の記憶領域等が考えられる。
 ここで、データ管理ノード100のハードウェア構成及びソフトウェア構成について説明する。図2は、実施例1のデータ管理ノード100のハードウェア構成及びソフトウェア構成を説明するブロック図である。
 データ管理ノード100は、ハードウェア構成として、CPU(Central Processing Unit)201、メモリ202、ネットワークインタフェース203、及び記憶装置204を有する。CPU201、メモリ202、ネットワークインタフェース203、及び記憶装置204は、内部バス等によって互いに接続される。
 CPU201は、データ管理ノード100の各種制御処理を実行する演算装置であり、メモリ202に格納されるプログラムを実行する。以下の説明では、機能部を主語にして処理を説明する場合、CPU201が当該機能部を実現するプログラムを実行していることを示す。
 メモリ202は、データ管理ノード100の主記憶装置であり、CPU201が実行するプログラム及び各種データを格納する。本実施例では、メモリ202は、制御プログラム群101及び管理テーブル群102を格納する。メモリ202は、CPU201が処理に使用するワークエリアとしても用いられる。
 ネットワークインタフェース203は、ネットワークを介して他の装置と接続するインタフェースであり、データ管理ノード100の通信時にプロトコル制御を行う。本実施例では、データ管理ノード100は、ネットワークインタフェース203を介して、ネットワークスイッチ130と接続する。
 記憶装置204は、データ管理ノード100の副記憶装置であり、大容量データを格納する。記憶装置204は、例えばFC(Fibre Channel)ディスク、SCSI(Small Computer System Interface)ディスク、SATAディスク、ATA(AT Attachment)ディスク、又はSAS(Serial Attached SCSI)ディスク等である。
 ここで、メモリ202に格納される制御プログラム群101及び管理テーブル群102について説明する。
 制御プログラム群101は、データ構造情報管理部211、データ構造情報変換部212、データストア管理部213、及びデータ変換部214を実現するプログラムを含む。なお、説明のわかりやすさのために複数のプログラムとして図示しているが、一つのプログラムにまとめてもよい。また、機能毎に任意の数のプログラムに分割してもよい。
 全てのデータ管理ノード100に同一のプログラムが格納されていなくてもよい。例えば、一つのデータ管理ノード100がデータ構造情報管理部211を実現するプログラムを格納してもよい。データ構造情報変換部212及びデータ変換部214についても同様である。
 管理テーブル群102は、データ構造情報抽出ルール221、データ構造関連情報222、データ構造管理情報223、データ構造定義情報224、データ関連マップ225、主要部管理情報226、バッファ227、カウンタ228、及びデータストア229を含む。
 データ構造情報抽出ルール221は、データ構造関連情報222の生成に用いる情報である。データ構造情報抽出ルール221は、予め、データ管理ノード100に設定される情報である。データ構造情報抽出ルール221の詳細については、図7を用いて説明する。データ構造関連情報222は、データ構造が異なるマスタデータ及びログデータ150(データブロック)の属性の関連性を管理する情報である。データ構造関連情報222の詳細は、図8を用いて説明する。
 データ構造管理情報223は、業務マスタデータ113及びログデータ150のデータ構造情報112、並びに分析マスタデータ123のデータ構造情報122を管理する情報である。データ構造管理情報223の詳細は、図9を用いて説明する。データ構造定義情報224は、分析マスタデータ123のデータ構造情報122の詳細な定義情報である。データ構造定義情報224の詳細は、図10を用いて説明する。
 データ関連マップ225は、データの参照関係を管理する情報である。以下の説明では、参照元のデータをソースデータとも記載する。ここで、ソースデータは、参照先のデータの属性値の算出時に参照されるデータを示す。ソースデータは、業務マスタデータ113及びログデータ150だけではなく、分析マスタデータ123であってもよい。データ関連マップ225の詳細は、図11を用いて説明する。
 バッファ227は、出力データ160の生成時に使用される記憶領域である。カウンタ228は、出力データ160の生成時に使用されるカウンタである。例えば、RDBベースの分析マスタデータ123を扱う分析システム120の下では、一部の属性値のみが設定されたレコード(データブロック)を含む出力データ160が送信された場合、データの一貫性が確保できない。そこで、データ管理ノード100は、すべての属性値が設定されたレコードを含む出力データ160が生成されたか否かを確認するためにカウンタ228を用いる。バッファ227の詳細は、図13を用いて説明する。
 データストア229は、業務システム110及び分析システム120が扱う各種データを格納する。本実施例のデータストア229は、複数のデータ管理ノード100のメモリ202の記憶領域を用いて構成される。なお、複数のデータ管理ノード100の記憶装置204の記憶領域を用いてデータストア229が構成されてもよい。
 本実施例では、データストア229には、業務マスタデータ113、ログデータ150、及び分析マスタデータ123を格納する。本実施例のデータストア229は、一つのキー及び一つの属性値を組み合わせたキーバリューペアとして各種データを格納する。なお、キーバリューペアには、キー及び属性値以外の情報が付加されてもよい。以下の説明では、キーバリューペアのキーをデータストアキーとも記載する。
 データ構造に依存しないキーバリューペアをデータストア229に格納することによって、マスタデータのデータ構造に依存しないData Lakeを実現できる。これによって、多数の属性値が「0」又は「Null」であるようなデータがData Lakeに格納されないため、データ量の削減が可能となり、また、分析システム120の追加又は変更等に柔軟に対応可能なData Lakeを実現できる。データストア229の詳細は、図6を用いて説明する。
 なお、データストア229に格納されるデータはキーバリューペアでなくてもよい。すなわち、データ構造情報112等に依存しないデータ形式のデータであればよい。
 主要部管理情報226は、データブロックを一意に識別するための属性である主要部を管理するための情報である。データストアキーには、主要部が含まれる。主要部管理情報226の詳細は、図12を用いて説明する。
 データ構造情報管理部211は、計算機システム10において処理されるデータのデータ構造情報を管理する。具体的には、データ構造情報管理部211は、データ構造関連情報222、データ構造管理情報223、及びデータ構造定義情報224を管理する。また、データ構造情報管理部211は、業務システム110及び分析システム120から送信される各種要求を受け付ける。
 データ構造情報変換部212は、業務システム110から送信された要求に基づいて、データ構造情報抽出ルール221、データ構造管理情報223、及びデータ構造定義情報224を生成する。また、データ構造情報変換部212は、分析システム120から送信された要求に基づいて、データ構造管理情報223、データ構造定義情報224、及びデータ関連マップ225を生成する。
 データストア管理部213は、データストア229に対するデータの書込処理及び読出処理等を管理する。本実施例のデータストア管理部213は、業務マスタデータ113及びログデータ150等からキーバリューペアを生成し、生成されたキーバリューペアをデータストア229に格納する。また、本実施例のデータストア管理部213は、出力データ160の生成時に、データ変換部214と連携して、一つのデータブロックを構成する複数のキーバリューペアを取得する。
 例えば、RDBに対応する業務マスタデータ113を扱う業務システム110の場合、一つのレコードがデータブロックに対応するため、一つのレコードに含まれる複数の属性値の各々のキーバリューペアがデータストア229に格納される。データストア管理部213は、データ変換部214と連携して、一つのレコードを構成する複数のキーバリューペアを取得する。
 データ変換部214は、データストア229に格納される一つ以上のキーバリューペアを用いて出力データ160を生成する。
 図3から図13を用いて、計算機システム10に含まれる情報について説明する。
 図3は、実施例1のデータ構造情報の一例を説明する図である。ここでは、業務システム110が管理するデータ構造情報112を例に説明する。
 データ構造情報112は、「schema」欄の内に「class」欄を含む。「class」欄は、業務システム110が管理する業務マスタデータ113に対応する情報を含む。
 「class」欄は、「id」欄、及び「property」欄を含む。「id」欄は、業務マスタデータ113のキーを示す情報であり、名称及び型を示す情報を含む。「property」欄は、属性を示す情報であり、名称及び型を示す情報を含む。
 図3に示す例では、業務システム110は在庫管理システムであり、業務マスタデータ113は在庫管理情報であることを示す。また、在庫管理情報のキーとなる属性は、Integer型の「ID」であることを示す。また、在庫管理情報は、属性として「コード」、「名前」、「場所」、及び「個数」を含むことを示す。図3に示すように、属性「コード」は、10文字以内の文字列であり、nullの入力が禁止され、また、重複した値が禁止されている。
 図4は、実施例1のマスタデータの一例を説明する図である。ここでは、業務マスタデータ113を例に説明する。
 図4に示す業務マスタデータ113は、テーブル形式のデータであり、データ名401、及び一つ以上のレコードを含む。データ名401は、業務マスタデータ113の名称である。一つのレコードは、ID402、コード403、名前404、場所405、及び個数406から構成され、また、各属性には属性値が設定される。一つのレコードが一つのデータブロックに対応する。
 図4に示す業務マスタデータ113は、複数のレコードを格納する在庫管理情報である。当該在庫管理情報には、例えば、ID402が「stock1」、コード403が「0010」、名前404が「ペン」、場所405が「東京」、及び個数406が「50」であるレコードが含まれる。
 図5は、実施例1のログデータ150の一例を説明する図である。ここでは、図4に示す業務マスタデータ113を管理する業務システム110から送信されるログデータ150を例に説明する。
 ログデータ150は、業務システム110が扱う各データブロック(レコード)の更新履歴を一つ以上含む。一つの更新履歴は、データ名501、及び属性を含む。データ名501は、データ名401と同一のものである。一つのデータブロックの更新履歴は、ID502、コード503、名前504、場所505、個数506、及び時刻507から構成され、各属性には属性値が設定される。なお、時刻507には、データが更新された時刻が設定される。
 図5に示すログデータ150は、所定の期間に更新されたデータブロック(更新履歴)を複数含む。業務システム110は、更新されたデータブロックを一時的に保持し、所定の周期で当該データブロックをデータストア229に格納する。なお、更新前の業務マスタデータ113のコピーをログデータ150としてもよい。
 業務システム110は、業務処理の結果を業務マスタデータ113に反映させるとともに、更新履歴としてログデータ150をデータストア229に送信する。
 RDBに対応した業務マスタデータ113を管理する業務システム110の場合、業務システム110は、一つのデータ構造情報112、及び一つの業務マスタデータ113を保持する。このような業務システム110の場合、データ送信部111は、一つ以上のレコードを含むログデータ150とともに、一つのデータ構造情報112をデータ管理ノード100に送信してもよい。
 JSON(JavaScript Object Notation)に対応した業務システム110の場合、業務システム110は、データの更新時に業務マスタデータ113の複製を生成する。このような業務システム110の場合、データ送信部111は、複製された複数の業務マスタデータ113を含むログデータ150とともに、一つのデータ構造情報112をデータ管理ノード100に送信してもよい。
 図6は、実施例1のデータストア229の一例を説明する図である。
 データストア229は、キー601及びバリュー602から構成されるキーバリューペアを一つ以上含む。キー601は、キーバリューペアを一意に識別するための識別情報、すなわちデータストアキーである。バリュー602は、キー601に対応するキーバリューペアの値である。例えば、図6に示す一番目のエントリのバリュー602には、在庫管理情報のID402が「stock1」であるレコードの属性「時刻」の属性値が格納される。
 図6に示すデータストア229には、テーブル形式の在庫管理ログ情報の一つのレコードを構成する六つの属性値に対応するキーバリューペアが格納される。
 図7は、実施例1のデータ構造情報抽出ルール221の一例を説明する図である。
 データ構造情報抽出ルール221は、一つのルールを示すエントリを複数含む。一つのエントリは、属性名701、属性名702、及び正規表現703から構成される。
 属性名701及び属性名702は、関連するデータ構造情報112の属性を示す情報である。なお、属性名701及び属性名702には、業務マスタデータ113の名称及び属性の名称を組み合わせた識別情報が格納されてもよいし、また、属性の名称のみが格納されてもよい。正規表現703は、関連する属性を特定するために用いる正規表現を示す情報である。
 本実施例のデータ構造情報抽出ルール221には、ユーザ定義関連ルール及びパターン化関連ルールという、二つの種類のルールを登録することができる。
 ユーザ定義関連ルールは、ユーザが明示的に関連する業務マスタデータ113の属性を指定することによって登録されるルールである。例えば、図7の一番目のルールは、ユーザ定義関連ルールである。
 パターン化関連ルールは、関連する属性を指定することによって登録されるルールである。パターン化関連ルールには、前述した属性とともに、当該属性の属性値を抽出するためのパターンを設定することができる。例えば、図7の一番下のルールは、「XXXX/YY/ZZ」というパターンを時刻情報として抽出するためのパターン化関連ルールである。
 図8は、実施例1のデータ構造関連情報222の一例を説明する図である。
 データ構造関連情報222は、データ構造が異なる業務マスタデータの属性の関連性を示すエントリを複数含む。一つのエントリは、属性名801及び属性名802から構成される。属性名801及び属性名802は、業務マスタデータの属性の名称である。本実施例では、属性名801、802には、マスタデータ113の属性の名称及びログデータ150の属性の名称を組み合わせた情報が格納される。
 図9は、実施例1のデータ構造管理情報223の一例を説明する図である。
 データ構造管理情報223は、データ構造情報112、122に対応するエントリを複数含む。すなわち、一つのエントリが一つのデータ構造情報に対応する。一つのエントリは、マスタデータ又はログデータ150の属性を示す行を複数含む。具体的には一つのエントリは、データ名901、属性902、型903、及び主要部904を含む。
 データ名901は、データ名401と同一のものである。属性902は、業務マスタデータ113等に含まれるデータブロックを構成する属性の名称である。型903は、属性に格納される属性値のデータ型である。主要部904は、キーバリューペアのキーとなる属性を示す。以下の説明では、キーバリューペアのキーとなる属性を主要部とも記載する。主要部に対応する属性の主要部904には、所定の記号が格納される。なお、主要部となる属性は、一つでなくてもよい。この場合、複数の属性を組み合わせてデータストアキーが生成される。
 図9の一番目のエントリは、在庫管理情報のデータ構造を示し、在庫管理情報は、属性として「ID」、「コード」、「名前」、「場所」、及び「個数」を含むことを示す。また、在庫管理情報の「ID」が主要部であることを示す。
 図10は、実施例1のデータ構造定義情報224の一例を説明する図である。
 データ構造定義情報224は、出力データ160、すなわち、一つの分析マスタデータ123のデータ構造情報122に対応するエントリを複数含む。また、一つのエントリは、分析マスタデータ123に含まれるデータブロックを構成する属性を示す行を複数含む。具体的には、一つのエントリは、データ名1001、出力先1002、属性1003、生成方法1004、集約キー1005、及び出力形式1006を含む。データ名1001は、データ名401と同一のものである。
 出力先1002は、出力データ160の出力先を示す。属性1003は、データブロックを構成する属性の名称である。図10に示す例では、倉庫使用量分析情報に含まれる一つのデータブロックは、属性として、日付、拠点、使用量、ペン、ノート、及びイベントが含まれることを示す。
 生成方法1004は、ソースデータに含まれるデータブロックの属性値を用いて、分析マスタデータ123のデータブロックの属性値を算出するための生成方法である。生成方法1004には、一つ以上のソースデータに含まれるデータブロックの属性値を用いた計算式等が格納される。図10に示す例では、属性「日付」の属性値は、倉庫管理ストリーム情報に含まれるブロックデータを構成する属性「時刻」の属性値を、そのまま用いて生成されることを示す。
 集約キー1005は、出力データ160の生成時に使用される属性を示す。集約キーに対応する属性の集約キー1005には、所定の記号が格納される。図10に示す例では、属性「日付」が集約キーとして使用される属性であることを示す。
 なお、集約キーは、出力データ160の生成に必要な各ソースデータに共通する属性である。なぜならば、集約キーは、データストア229から取得されたソースデータのデータブロック群の絞り込みに使用するものであるからである。
 出力形式1006は、出力データ160のデータ形式である。図10に示す例では、倉庫使用量分析情報に対して出力される出力データ160が、CSV形式のデータとして出力されることを示す。
 図11は、実施例1のデータ関連マップ225の一例を説明する図である。
 データ関連マップ225は、ソースデータを参照するマスタデータを列、ソースデータを行に対応させた行列形式の情報である。
 行列の各成分には、空欄及び所定の記号の少なくともいずれかが格納される。当該記号は、ソースデータの更新に伴って更新されるマスタデータであることを示す。
 図11に示す例では、在庫管理ログ情報が更新された場合、倉庫使用量分析情報が更新されることを示す。すなわち、倉庫使用量分析情報の出力データ160が生成されることを示す。
 図12は、実施例1の主要部管理情報226の一例を示す図である。
 主要部管理情報226は、マスタデータ及びログデータ150毎に一つのエントリを含む。一つのエントリには、主要部の具体的な属性値を示す行を複数含む。一つのエントリは、データ名1201及び主要部1202を含む。
 データ名1201は、マスタデータ又はログデータ150の名称である。主要部1202は、主要部の属性値である。
 図13は、実施例1のバッファ227の一例を説明する図である。
 バッファ227は、出力データ160に含まれるデータブロックに対応するエントリを複数含む。また、一つのエントリは、ID1301、データ名1302、属性1303、及び属性値1304から構成される。
 ID1301は、バッファ227内のエントリを一意に識別するための識別情報である。データ名1302は、出力データ160の対象となる分析マスタデータ123の名称である。属性値は、算出された属性値である。
 次に、計算機システム10の処理について説明する。まず、データ構造情報112、122等の登録処理について説明する。
 図14は、実施例1の入力データのデータ構造情報の登録処理、及び出力データのデータ構造情報の登録処理の一例を説明するシーケンス図である。図15は、実施例1の入力データ登録画面1500の一例を示す図である。図16は、実施例1の出力データ登録画面1600の一例を示す図である。
 ここで、入力データは、データ管理ノード100に入力されるデータを示す。ユーザは、システムの構成に応じて、マスタデータ及びログデータ150を入力データとして登録できる。また、出力データは、入力データから生成される所定のデータ構造を有するデータ(出力データ160)を示す。
 まず、入力データの登録処理について説明する。ユーザは、入力データ登録画面1500を用いて、入力データの登録要求をデータ管理ノード100に入力する。ここで、入力データ登録画面1500について説明する。
 入力データ登録画面1500は、入力データのデータ構造情報の登録、データ構造情報間の関連等を登録するために用いられる画面である。入力データ登録画面1500は、データ管理ノード100に表示される。なお、入力データ登録画面1500は、業務システム110に含まれる計算機に表示されてもよい。
 入力データ登録画面1500は、登録データ一覧1510、データ参照欄1520、及び入力データ登録欄1530の三つの欄を含む。
 登録データ一覧1510は、データ構造情報が登録された入力データを表示する欄であり、リスト1511、表示ボタン1512、及び削除ボタン1513を含む。
 リスト1511は、現在、データ管理ノード100に登録されている入力データの名称のリストである。表示ボタン1512は、リスト1511において選択された入力データを表示するための操作ボタンである。削除ボタン1513は、リスト1511において選択された入力データのデータ構造情報を削除するための操作ボタンである。
 データ参照欄1520は、表示ボタン1512が操作された場合に、データ管理ノード100に格納される入力データを表示する欄である。
 ユーザは、登録データ一覧1510を参照して、データ構造情報が登録されている入力データを確認する。また、ユーザは、データ参照欄1520に表示された入力データの詳細を確認する。ユーザは、確認結果に応じて、削除ボタン1513を操作することによって、選択された入力データを削除する。例えば、業務マスタデータ113のデータ構造を再度設定する場合、削除ボタン1513が操作される。
 入力データ登録欄1530は、入力データのデータ構造情報、及び複数のデータ構造情報間の関連性等を登録するための欄である。入力データ登録欄1530は、データ登録欄1531、スクリプト登録欄1532、新規作成欄1533、及び抽出ルール登録欄1534を含む。また、入力データ登録欄1530は、登録ボタン1535を含む。
 データ登録欄1531、スクリプト登録欄1532、及び新規作成欄1533は、入力データのデータ構造情報を登録するために用いられる。抽出ルール登録欄1534は、データ構造情報抽出ルール221にルールを登録するために用いられる。
 例えば、登録する業務マスタデータ113が業務システム110に存在する場合、ユーザは、データ登録欄1531に、データ構造情報112の格納先情報、及び、業務マスタデータ113が格納先情報を入力する。また、業務システム110の業務マスタデータ113を生成するためのスクリプトが業務システム110に存在する場合、ユーザは、スクリプト登録欄1532に、当該スクリプトの格納先情報を入力する。
 なお、格納先情報は、データファイルのディレクトリパス名、データを取得するためのバッチファイルのディレクトリパス名、及び、データ管理ソフトウェアへアクセスするためのURI等がある。
 ここで、業務マスタデータ113のデータ構造情報112を登録する場合のユーザの操作方法について説明する。
 データ登録欄1531を用いたデータ構造情報112の登録処理の場合、ユーザはデータ登録欄1531に値を入力し、登録ボタン1535を操作する。この場合、データ構造情報112及び業務マスタデータ113を含む入力データの登録要求が、データ管理ノード100に入力される。
 スクリプト登録欄1532を用いたデータ構造情報112の登録処理の場合、ユーザは、スクリプト登録欄1532に値を入力し、登録ボタン1535を操作する。この場合、スクリプトを含む入力データの登録要求が、データ管理ノード100に入力される。なお、業務システム110が当該スクリプトに基づいて、登録用のデータ構造情報112と、業務マスタデータ113とを生成し、データ構造情報と、業務マスタデータ113を含む入力データの登録要求をデータ管理ノード100に入力してもよい。
 登録対象のデータ構造情報112が業務システム110に登録されていない場合、ユーザは、新規作成欄1533に、業務マスタデータ113の名称、属性、及び属性のデータの型を入力し、登録ボタン1535を操作する。この場合、データ構造情報112を含む入力データの登録要求が、データ管理ノード100に入力される。以上が、ユーザの操作方法の一例である。
 図15の入力データ登録欄1530は、RDBのようなテーブル形式のデータ構造情報112を登録時に用いられる情報を示す。なお、本発明はこれに限定されず、KVS形式、又はJSON等の半構造データ形式、CSV等のテキスト形式のデータ構造情報112も入力してもよい。この場合、データ登録欄1531には、各データ形式のパーサープログラム、データ構造情報112の定義ファイル等を入力してもよい。
 ユーザは、抽出ルール登録欄1534に、関連する属性の名称、及び正規表現等を入力し、登録ボタン1535を操作する。なお、入力データの名称及び属性の名称を組み合わせた情報が入力されてもよい。入力データの登録要求には、入力データの名称及び属性の名称等が含まれる。
 図14の説明に戻る。
 データ管理ノード100のデータ構造情報管理部211は、入力データの登録要求を受け付けた場合(ステップS1401)、データ構造情報変換部212に、データ構造情報の登録処理の開始を指示する(ステップS1402)。なお、入力データの登録要求に入力データが含まれる場合、データ構造情報管理部211は、データ構造情報変換部212にデータ生成処理の開始を指示する(図17参照)。
 データ構造情報管理部211から出力された指示に抽出ルール登録欄1534の入力値が含まれる場合、データ構造情報変換部212は、データ構造情報抽出ルール221を更新する(ステップS1403)。具体的には、データ構造情報管理部211は、データ構造情報抽出ルール221にエントリを追加し、属性名701及び属性名702に値を登録する。
 データ構造情報変換部212は、データ構造情報抽出ルール221が更新された場合、データ構造関連情報222を更新する(ステップS1404)。具体的には、以下のような処理が実行される。
 データ構造情報抽出ルール221にユーザ定義関連ルールが追加された場合、データ構造情報変換部212は、データ構造関連情報222にエントリを追加する。さらに、データ構造情報変換部212は、追加されたエントリの属性名801及び属性名802に、データ構造情報抽出ルール221に新たに登録されたエントリの属性名701及び属性名702の値を登録する。
 データ構造情報抽出ルール221にパターン化関連ルールが追加された場合、データ構造情報変換部212は、データ管理ノード100に格納される業務マスタデータ113のデータ構造情報112を解析し、属性名701及び属性名702に対応する属性を検索する。データ構造情報変換部212は、データ構造関連情報222にエントリを追加し、追加されたエントリの属性名801及び属性名802に、データの名称及び検索された属性の名称を登録する。以上が、ステップS1404の処理の説明である。
 データ構造情報変換部212は、データ構造管理情報223を更新する(ステップS1405)。具体的には、以下のような処理が実行される。
 (1)入力データの登録要求に、データ登録欄1531又はスクリプト登録欄1532の入力値が含まれる場合、データ構造情報変換部212は、図3に示すようなデータ構造情報112に基づいて、入力データの名称、入力データの属性、及び属性のデータの型等を特定する。
 データ構造情報変換部212は、データ構造管理情報223にエントリを追加し、追加されたエントリのデータ名901に入力データの名称を登録する。データ構造情報変換部212は、追加されたエントリに属性の数だけ行を生成する。さらに、データ構造情報変換部212は、各行の属性902、型903、及び主要部904に値を登録する。
 (2)入力データの登録要求に、新規作成欄1533の入力値が含まれる場合、データ構造情報変換部212は、データ構造管理情報223にエントリを追加し、追加されたエントリのデータ名901に入力データの名称を登録する。データ構造情報変換部212は、追加されたエントリに属性の数だけ行を生成する。さらに、データ構造情報変換部212は、各行の属性902、型903及び主要部904に値を登録する。
 以上がステップS1405の処理の説明である。
 データ構造情報変換部212は、データ構造情報管理部211に処理の完了を応答する(ステップS1406)。
 次に、出力データの登録処理について説明する。ユーザは、出力データ登録画面1600を用いて、出力データの登録要求をデータ管理ノード100に入力する。ここで、出力データ登録画面1600について説明する。
 出力データ登録画面1600は、分析マスタデータ123のデータ構造情報122の登録、業務マスタデータ113及び分析マスタデータ123との間の関連性等を登録するために用いられる画面である。出力データ登録画面1600は、データ管理ノード100に表示される。なお、出力データ登録画面1600は、業務システム110に含まれる計算機に表示されてもよい。
 出力データ登録画面1600は、登録データ一覧1610、登録データ検索欄1620、データ参照欄1630、出力データ登録欄1640、及びデータ構造定義欄1650の五つの欄を含む。
 登録データ一覧1610は、データ構造情報122が登録された出力データ160(分析マスタデータ123)を表示する欄であり、リスト1611、及び表示ボタン1612、を含む。リスト1611、及び表示ボタン1612は、リスト1511、及び表示ボタン1512と同様のものである。
 登録データ検索欄1620は、データ構造情報112の検索、及びデータ構造関連情報222の確認を行うための欄である。登録データ検索欄1620は、キー1621、検索ボタン1622、及び検索結果表示領域1623を含む。
 キー1621は、登録されたデータ構造情報の検索に用いる検索キーを入力する欄である。検索ボタン1622は、検索処理を開始するために操作するボタンである。検索結果表示領域1623は、検索結果を表示する。
 検索結果表示領域1623には、検索キーに対応する入力データの属性、及びその他の属性が表示される。また、検索結果表示領域1623には、データ構造関連情報222に基づいて検索された入力データが木構造で表示される。すなわち、検索キーに対応する入力データが根ノードとなり、根ノードの入力データに含まれる他の属性、又は、関連する他の属性が葉ノードとなる。
 ここで、ユーザが、倉庫使用量を分析するために、キー1621に「使用量」を入力した場合の表示方法について説明する。
 データ構造情報管理部211は、検索ボタン1622が操作された場合、「使用量」を属性として含む拠点管理情報を検索する。データ構造情報管理部211は、拠点管理情報の属性「使用量」を根ノードに決定し、他の属性を葉ノードに決定する。
 さらに、データ構造情報管理部211は、データ構造関連情報222の属性名801を参照して、拠点管理情報の属性に一致するエントリを検索する。一致するエントリが存在する場合、データ構造情報管理部211は、検索された他の業務マスタデータ113を拠点管理情報の属性を親ノードとする子ノードに決定する。この場合、在庫管理情報及びセンサ情報が、拠点管理情報の拠点を親ノードとすることが決定される。データ構造情報管理部211は、同様の処理を再帰的に実行する。
 以上の処理によって、図16に示すような検索結果が表示される。図16に示す例では、根ノード及び葉ノードが全て表示されているが、ユーザが選択した層(ノード)について検索及び表示を行ってもよい。
 データ参照欄1630は、表示ボタン1612が操作された場合、又は、検索結果表示領域1623の業務マスタデータ113に対応するノードが選択された場合、データ管理ノード100に格納される入力データを表示する欄である。データ参照欄1630は、データ参照欄1520と同様のものである。
 出力データ登録欄1640は、新たに分析マスタデータ123のデータ構造情報122等を登録するための欄である。出力データ登録欄1640は、データ登録欄1531と同様の欄1641を含む。
 データ構造定義欄1650は、分析マスタデータ123のデータ構造情報122の定義情報を登録するための欄である。データ構造定義欄1650は、集約キー入力欄1651、構造入力欄1652、登録ボタン1653、及び削除ボタン1654を含む。
 集約キー入力欄1651は、集約キーとなる属性を入力するための欄である。
 構造入力欄1652は、分析マスタデータ123に含まれる属性、及び属性値の生成方法を入力するための欄である。登録ボタン1653は、集約キー入力欄1651、構造入力欄1652に設定された情報に基づいて分析マスタデータ123のデータ構造情報122を登録するための操作ボタンである。削除ボタン1654は、集約キー入力欄1651、構造入力欄1652の値を削除するための操作ボタンである。
 ここで、ユーザの操作方法について説明する。
 分析対象の業務マスタデータ113が特定されている場合、ユーザは、登録データ一覧1610のリスト1611からデータ管理ノード100に登録される業務マスタデータ113を選択し、表示ボタン1612を操作する。ユーザは、データ参照欄1630に表示された業務マスタデータ113を確認する。
 分析対象の業務マスタデータ113が特定されていない場合、ユーザは、登録データ検索欄1620のキー1621に値を入力し、検索ボタン1622を操作する。ユーザは、データ参照欄1630を参照して、検索結果表示領域1623に表示される業務マスタデータ113の内容を確認する。
 前述したように、ユーザは、登録データ一覧1610、登録データ検索欄1620、及びデータ参照欄1630を用いて、分析システム120における分析対象の属性等を選択する。
 次に、ユーザは、出力データ登録欄1640に、分析マスタデータ123の名称、及び分析マスタデータ123の格納先情報を入力する。なお、格納先情報は、データファイルのディレクトリパス名、データを取得するためのバッチファイルのディレクトリパス名、及び、データ管理ソフトウェアへアクセスするためのURI等がある。
 次に、ユーザは、データ構造定義欄1650に分析マスタデータ123の属性値の生成方法を入力する。さらに、ユーザは、検索キーとなる分析マスタデータ123の属性を指定する。ユーザは、データ構造定義欄1650に情報を入力した後、登録ボタン1653を操作する。これによって、出力データ登録欄1640、及びデータ構造定義欄1650に入力された値を含む出力データの登録要求がデータ管理ノード100に入力される。
 なお、図16に示すような画面を用いなくてもよい。例えば、データ構造情報管理部211等が、アプリケーション向けのAPIをユーザに対して提供してもよい。この場合、ユーザは、アプリケーションプログラムにおいて、出力フォーマット情報を変数、データ生成定義を変数への代入式として定義すればよい。
 なお、出力データ登録画面1600を用いて定義された分析マスタデータ123は、新たな業務マスタデータ113として登録されてもよい。これによって、業務システム110の業務マスタデータ113間の関連を管理する情報として利用することができる。
 図14の説明に戻る。
 データ管理ノード100のデータ構造情報管理部211は、出力データの登録要求を受け付けた場合(ステップS1407)、データ構造情報変換部212に、データ構造情報122の登録処理の開始を指示する(ステップS1408)。
 データ構造情報変換部212は、データ構造管理情報223を更新する(ステップS1409)。具体的には、データ構造情報変換部212は、データ構造管理情報223にエントリを追加し、追加されたエントリのデータ名901に分析マスタデータ123の名称を登録する。データ構造情報変換部212は、追加されたエントリに属性の数だけ行を生成する。さらに、データ構造情報変換部212は、各行の属性902、型903、及び主要部904に値を登録する。
 データ構造情報変換部212は、データ構造定義情報224を更新する(ステップS1410)。具体的には以下のような処理が実行される。
 データ構造情報変換部212は、データ構造定義情報224にエントリを追加し、データ名1001に、出力データ登録欄1640に入力された分析マスタデータ123の名称を登録する。
 データ構造情報変換部212は、構造入力欄1652に設定された属性値の数だけ行を生成し、各行の属性1003及び生成方法1004に値を登録する。データ構造情報変換部212は、集約キー入力欄1651に基づいて、集約キー1005に所定の記号を設定する。また、データ構造情報変換部212は、構造入力欄1652に基づいて出力形式1006に値を登録する。以上がステップS1410の処理の説明である。
 データ構造情報変換部212は、データ関連マップ225を更新する(ステップS1411)。具体的には以下のような処理が実行される。
 データ構造情報変換部212は、データ関連マップ225の列に、対象の分析マスタデータ123の列が存在するか否かを判定する。データ関連マップ225の列に、対象の分析マスタデータ123の列が存在しない場合、データ構造情報変換部212は、データ関連マップ225に、登録対象の分析マスタデータ123の列を追加する。
 データ構造情報変換部212は、データ構造定義情報224に追加されたエントリの各行の生成方法1004を参照し、関連するソースデータの名称を特定する。データ構造情報変換部212は、データ関連マップ225の行に特定されたソースデータの行が存在するか否かを判定する。
 データ関連マップ225の行に特定されたソースデータの行が存在する場合、データ構造情報変換部212は、セルに記号を設定する。データ関連マップ225の行に特定されたソースデータの行が存在しない場合、データ構造情報変換部212は、特定されたソースデータの行を追加し、また、セルに記号を設定する。以上がステップS1411の処理の説明である。
 データ構造情報変換部212は、データ構造情報管理部211に処理の完了を応答する(ステップS1412)。
 次に、データ変換処理について説明する。図17は、実施例1の業務システム110のデータ変換処理の一例を説明するシーケンス図である。
 データ構造情報管理部211は、データ送信部111から入力データを含むデータ登録要求を受け付ける(ステップS1701)。データ構造情報管理部211は、データストア管理部213にデータ生成処理の開始を指示する(ステップS1702)。
 データストア管理部213は、データ生成処理の開始の指示を受け付けた場合、データ生成処理を実行する(ステップS1703)。ここで、入力データがログデータ150である場合の具体的な処理について説明する。
 データストア管理部213は、ログデータ150に含まれるデータブロックを一つ選択する。データストア管理部213は、データ構造管理情報223を参照し、データ名901がログデータ150のデータ名501と一致するエントリを検索する。
 データストア管理部213は、検索されたエントリの主要部904を参照して、主要部となる属性を特定する。データストア管理部213は、所定の規則に基づいて、キーバリューペアのデータストアキーを生成する。
 例えば、データストア管理部213は、「ログデータ150の名称.主要部の属性値.属性の名称」をデータストアキーとして生成する。図5に示すログデータ150の場合、「在庫管理情報.stock1.時刻」、「在庫管理情報.stock1.ID」、「在庫管理情報.stock1.コード」、「在庫管理情報.stock1.名前」、「在庫管理情報.stock1.場所」、「在庫管理情報.stock1.個数」がキーとして生成される。
 データストア管理部213は、キー601に生成されたデータストアキーを設定し、また、バリュー602に設定されたキーに対応する属性値を設定する。
 また、データストア管理部213は、主要部管理情報226を更新する。まず、データストア管理部213は、データ名1201を参照して、ログデータ150の名称に一致するエントリを検索する。
 ログデータ150の名称に一致するエントリが存在しない場合、データストア管理部213は、主要部管理情報226にエントリを追加し、追加されたエントリのデータ名1201にログデータ150の名称を設定する。さらに、データストア管理部213は、追加されたエントリの主要部1202に行を一つ追加し、当該行に主要部の値を設定する。
 ログデータ150の名称に一致するエントリが存在する場合、主要部1202に新たな行を生成し、生成された行に主要部の値を登録する。なお、すでに同一の値が設定された行が存在する場合、改めて行を生成する必要はない。
 データストア管理部213は、ログデータ150に含まれる全てのデータブロックに対して前述した処理を実行する。
 なお、データストア管理部213は、通常のキーバリューペアに対応するアクセスを受け付けた場合、データストアキーに基づいてデータを検索し、また、データストアキーに基づいた書込処理及び読出処理を実行する。以上がステップS1703の処理の説明である。
 データストア管理部213は、データ構造情報管理部211に処理の完了を応答する(ステップS1704)。
 データ構造情報管理部211は、データストア管理部213から応答を受け取った場合、データ変換部214に処理の開始を指示する(ステップS1705)。
 データ変換部214は、処理の開始指示を受け付けた場合、マッピング処理を実行し(ステップS1706)、データストア管理部213にデータ取得要求を発行する(ステップS1707)。マッピング処理の詳細は、図18を用いて説明する。
 データストア管理部213は、データ取得要求を受け付けた場合、データ検索処理を実行し(ステップS1708)、検索されたキーバリューペアをデータ変換部214に応答する(ステップS1709)。データ検索処理の詳細は、図20を用いて説明する。
 データ変換部214は、検索されたキーバリューペアを受け取った場合、出力データ生成処理を実行する(ステップS1710)。出力データ生成処理の詳細は、図21を用いて説明する。
 データ変換部214は、データ構造情報管理部211に生成された出力データ160を応答する(ステップS1711)。データ構造情報管理部211は、データ構造管理情報223のデータ名901に基づいて、受け取った出力データ160を送信する分析システム120を特定し、特定された分析システム120に出力データ160を送信する。
 図18は、実施例1のマッピング処理の詳細を説明するフローチャートである。図19は、実施例1のアクセスリストの一例を示す図である。
 データ変換部214は、データ関連マップ225に基づいて、新たな入力データ(ソースデータ)の登録に伴って更新が必要な分析マスタデータ123を特定する(ステップS1801)。
 具体的には、データ変換部214は、データ関連マップ225から、データ登録要求に含まれる入力データのデータ名に一致する行を検索する。データ変換部214は、検索された行を参照し、所定の記号が設定されたセルを特定する。当該セルの列に対応する分析マスタデータ123が、更新が必要な分析マスタデータ123である。
 例えば、データ管理ノード100が図5に示すログデータ150を受信した場合、データ変換部214は、図11に示すデータ関連マップ225の「在庫管理ログ情報」の行を参照する。この場合、データ変換部214は、更新が必要な分析マスタデータ123として、「倉庫使用量分析情報」を特定する。
 次に、データ変換部214は、入力データのデータブロックのループ処理を開始する(ステップS1802)。具体的には、データ変換部214は、入力データに含まれるデータブロックの中から、対象のデータブロックを一つ選択する。また、データ変換部214は、特定された分析マスタデータ123のループ処理を開始する(ステップS1803)。具体的には、データ変換部214は、特定された分析マスタデータ123の中から処理対象の分析マスタデータ123を一つ選択する。
 次に、データ変換部214は、選択された分析マスタデータ123のデータ構造定義情報224に基づいて、バッファ227にエントリを登録する(ステップS1804)。具体的には、以下のような処理が実行される。
 まず、データ変換部214は、バッファ227に空のエントリを追加し、追加されたエントリのID1301に所定の識別情報を設定する。また、データ変換部214は、追加されたエントリのデータ名1302に選択された分析マスタデータ123の名称を設定する。
 データ変換部214は、分析マスタデータ123のデータ構造定義情報224の属性1003の数だけ、追加されたエントリに属性1303の行を追加し、各行に属性1003に設定された名称を設定する。前述した処理によって、属性値1304が空のエントリがバッファ227に登録される。また、データ変換部214は、ID1301の値、属性1303の数、及びカウンタ値「0」を組み合わせたエントリをカウンタ228に設定する。以上がステップS1804の処理の説明である。
 次に、データ変換部214は、選択された分析マスタデータ123のデータ構造定義情報224に基づいて、出力データ160の生成に必要な属性を含む業務マスタデータ113及びログデータ150を特定する(ステップS1805)。以下の説明では、ステップS1805において特定された業務マスタデータ113及びログデータ150をターゲットデータとも記載し、また、出力データ160の生成に必要な属性をターゲット属性とも記載する。具体的には、以下のような処理が実行される。
 データ変換部214は、選択された分析マスタデータ123のデータ構造定義情報224を参照し、属性1003の中から対象の属性を一つ選択する。データ変換部214は、選択された属性の生成方法1004を参照し、選択された属性の属性値の算出に用いるデータ及び属性を特定する。
 図10に示す例では、属性1003が「日付」の場合、「倉庫管理ストリーム情報」が選択された属性の算出に用いるデータとなり、また、及び「時刻」が選択された属性の算出に用いる属性となる。また、属性が「ペン」の場合、「在庫管理ログ情報」が選択された属性の算出に用いるデータとなり、また、「名前」及び「個数」が選択された属性の算出に用いる属性となる。
 データ変換部214は、データ構造定義情報224のデータ名1001を参照し、特定された属性を含むデータに一致するエントリが存在するか否かを判定する。すなわち、特定された属性を含むデータが分析マスタデータ123であるか否かが判定される。
 特定された属性を含むデータが業務マスタデータ113又はログデータ150であると判定された場合、データ変換部214は、特定されたデータをターゲットデータに決定し、また、特定された属性をターゲット属性に決定する。
 特定されたデータが分析マスタデータ123であると判定された場合、データ変換部214は、選択された分析マスタデータ123のエントリの生成方法1004、及び特定された分析マスタデータ123のエントリの属性1003に基づいて、特定された分析マスタデータ123の属性を特定する。さらに、データ変換部214は、特定された属性の生成方法1004に基づいて、属性値を取得する属性を特定する。データ変換部214は、属性値を取得する属性を含むデータが業務マスタデータ113又はログデータ150になるまで同様の処理を繰り返し実行する。
 データ変換部214は、選択された分析マスタデータ123の全ての属性について同様の処理を実行する。これによって、分析マスタデータ123のデータブロックを生成するために必要となる全てのターゲットデータ及びターゲット属性を特定することができる。
 なお、以下の説明では、集約キーに対応する属性の属性値の算出に用いるターゲットデータを集約ターゲットデータとも記載し、また、集約キーに対応する属性の属性値の算出に用いるターゲット属性を集約ターゲット属性とも記載する。以上がステップS1805の処理の説明である。
 次に、データ変換部214は、ターゲットデータのループ処理を開始する(ステップS1806)。具体的には、データ変換部214は、ステップS1804において特定されたターゲットデータの中から、対象のターゲットデータを一つ選択する。以下の説明では、選択されたターゲットデータを選択ターゲットデータとも記載する。
 次に、データ変換部214は、データ構造関連情報222及びデータ構造管理情報223に基づいて、入力データの属性の中から選択ターゲットデータの主要部に対応する属性を特定し、さらに、選択された入力データのデータブロックから当該属性に設定する値を取得する(ステップS1807)。具体的には、以下のような処理が実行される。
 データ変換部214は、選択ターゲットデータの識別情報に基づいてデータ構造管理情報223を参照し、選択ターゲットデータに対応するエントリを検索する。データ変換部214は、選択ターゲットデータに対応するエントリの主要部904に基づいて、選択ターゲットデータの主要部を特定する。
 データ変換部214は、データ構造関連情報222を参照して、特定された選択ターゲットデータの主要部と入力データとが対応付けられたエントリを検索する。具体的には、データ変換部214は、属性名801又は属性名802に選択ターゲットデータの名称及び主要部の名称が設定され、かつ、属性名801又は属性名802に入力データの名称を含むエントリを検索する。前述した処理によって、選択ターゲットデータの主要部に対応する入力データの属性を特定できる。
 データ変換部214は、選択された入力データのデータブロックから特定された属性の属性値を取得する。
 なお、選択ターゲットデータの主要部が複数存在する場合、全ての主要部が入力データの属性と対応付けられていない場合がある。この場合、入力データの属性と対応付けができない主要部については、属性値は取得されない。
 ここで、一例を用いてステップS1807の処理を説明する。ここでは、入力データが在庫管理ログ情報であり、選択ターゲットデータが拠点管理ログ情報であると仮定する。
 データ変換部214は、データ構造管理情報223を参照し、選択ターゲットデータの主要部が「時刻」及び「ID」であることを特定する。
 データ変換部214は、属性名801又は属性名802に「拠点管理ログ情報.時刻」が設定され、かつ、属性名801又は属性名802に「在庫管理ログ情報」を含むエントリを検索する。
 この場合、選択ターゲットデータの主要部に対応する入力データの属性は「時刻」となる。したがって、データ変換部214は、データブロックの時刻の値を選択ターゲットデータの主要部「時刻」の属性値として取得する。また、データ変換部214は、同様の処理を実行して、データブロックのIDの値を選択ターゲットデータの主要部「ID」の属性値として取得する。以上がステップS1807の処理の説明である。
 次に、データ変換部214は、選択ターゲットデータの属性の中から集約ターゲット属性に対応する属性を特定し、選択された入力データのデータブロックから特定された属性に設定する値を取得する(ステップS1808)。以下の説明では、集約ターゲット属性に対応する選択ターゲットデータの属性をサブ属性とも記載する。具体的には、以下のような処理が実行される。
 まず、データ変換部214は、選択ターゲットデータが集約ターゲットデータであるか否かを判定する。
 選択ターゲットデータが集約ターゲットデータである場合、データ変換部214は、集約ターゲット属性をサブ属性として特定する。
 選択ターゲットデータが集約ターゲットデータではない場合、データ変換部214は、データ構造関連情報222を参照して、選択ターゲットデータの属性の中からサブ属性を特定する。具体的には、データ変換部214は、属性名801又は属性名802に、集約ターゲットデータの名称及び集約ターゲット属性の名称が設定され、かつ、属性名801又は属性名802に選択ターゲットデータの名称を含むエントリを検索する。これによって、データ変換部214は、サブ属性を特定できる。
 データ変換部214は、サブ属性が特定された後、選択ターゲットデータが入力データと一致するか否かを判定する。
 選択ターゲットデータが入力データと一致する場合、データ変換部214は、選択された入力データのデータブロックのサブ属性に対応する属性から値を取得する。
 選択ターゲットデータが入力データと一致しない場合、データ変換部214は、属性名801又は属性名802に選択ターゲットデータの名称及び集約ターゲット属性の名称が設定され、かつ、属性名801又は属性名802に入力データの名称を含むエントリを検索する。これによって、データ変換部214は、サブ属性に対応する入力データの属性を特定できる。データ変換部214は、選択された入力データのデータブロックの特定された属性から値を取得する。
 後述するようにサブ属性の属性値は、複数のデータブロックの中から出力データ160に含まれる属性値を取得するデータブロックの特定に使用する検索キーとして用いられる。
 ここで、一例を用いてステップS1808の処理を説明する。ここでは、入力データが在庫管理ログ情報であり、集約ターゲット属性が拠点管理ログ情報の時刻であり、選択ターゲットデータがセンサ情報であると仮定する。
 この場合、データ変換部214は、データ構造関連情報222を参照し、属性名801又は属性名802に、「拠点管理ログ情報.時刻」が設定され、かつ、属性名801又は属性名802に「センサ情報」を含むエントリを検索する。したがって、「センサ情報」の「時刻」がサブ属性として特定される。
 選択ターゲットデータは入力ターゲットデータに一致しないため、データ変換部214は、属性名801又は属性名802に「センサ情報.時刻」が設定され、かつ、属性名801又は属性名802に「在庫管理ログ情報」を含むエントリを検索する。この結果、データ変換部214は、「在庫管理ログ情報」のデータブロックの「時刻」の値を取得する。以上がステップS1808の処理の説明である。
 次に、データ変換部214は、選択ターゲットデータからキーバリューペアを取得するための情報をアクセスリスト1900に設定する(ステップS1809)。ここで、アクセスリスト1900及びステップS1809の処理について説明する。
 アクセスリスト1900は、ID1901、ターゲットデータ名1902、主要部1903、第1属性値1904、サブ属性1905、及び第2属性値1906から構成されるエントリを複数含む。
 ID1901は、ステップS1804においてバッファ227に追加されたエントリのID1301に設定された識別情報である。ターゲットデータ名1902は、選択ターゲットデータの名称である。
 主要部1903及び第1属性値1904は、選択ターゲットデータの主要部の名称及び主要部に設定される属性値である。サブ属性1905及び第2属性値1906は、選択ターゲットデータのサブ属性の名称及びサブ属性に設定される属性値である。
 なお、図19は、ログデータ150として、在庫管理ログ情報が入力された場合のアクセスリスト1900の一例を示している。
 データ変換部214は、ターゲットデータ毎にアクセスリストにエントリを生成し、生成されたエントリのID1901にバッファ227に追加されたエントリのID1301と同一の値を設定する。また、データ変換部214は、追加されたエントリのターゲットデータ名1902に選択ターゲットデータの識別情報を設定する。
 データ変換部214は、ステップS1807において特定された主要部の数だけ行を生成し、主要部1903及び第1属性値1904に処理結果を設定する。また、データ変換部214は、生成されたエントリのサブ属性1905及び第2属性値1906にステップS1808の処理結果を設定する。以上がステップS1809の処理の説明である。
 次に、データ変換部214は、ステップS1805において特定された全てのターゲットデータについて処理が完了したか否かを判定する(ステップS1810)。
 特定された全てのターゲットデータについて処理が完了していないと判定された場合、データ変換部214は、ステップS1806に戻り、新たなターゲットデータを選択し、ステップS1807からステップS1810までの処理を実行する。
 特定された全てのターゲットデータについて処理が完了していると判定された場合、データ変換部214は、アクセスリスト1900を含むデータ取得要求をデータストア管理部213に対して発行する(ステップS1811)。
 次に、データ変換部214は、ステップS1801において特定された全ての分析マスタデータ123に対して処理が完了したか否かを判定する(ステップS1812)。
 特定された全ての分析マスタデータ123に対して処理が完了していないと判定された場合、データ変換部214は、ステップS1803に戻り、新たな分析マスタデータ123を選択し、ステップS1804からステップS1812までの処理を実行する。
 特定された全ての分析マスタデータ123に対して処理が完了したと判定された場合、データ変換部214は、入力データに含まれる全てのデータブロックに対して処理が完了したか否かを判定する(ステップS1813)。
 入力データに含まれる全てのデータブロックに対して処理が完了していないと判定された場合、データ変換部214は、ステップS1802に戻り、新たなデータブロックを選択し、ステップS1803からステップS1813までの処理を実行する。
 入力データに含まれる全てのデータブロックに対して処理が完了したと判定された場合、データ変換部214は、マッピング処理を終了する。
 図20は、実施例1のデータ検索処理の詳細を説明するフローチャートである。
 データストア管理部213は、データ変換部214からデータ取得要求を受け付ける(ステップS2001)。データストア管理部213は、データ取得要求に含まれるアクセスリスト1900のループ処理を開始する(ステップS2002)。具体的には、データストア管理部213は、アクセスリスト1900のエントリを一つ選択する。
 次に、データストア管理部213は、選択されたエントリに対応するターゲットデータのキーバリューペアを取得するためのアクセスキーを生成する(ステップS2003)。具体的には、以下のような処理が実行される。
 データストア管理部213は、選択されたエントリの第1属性値1904から値を取得する。データストア管理部213は、主要部管理情報226を参照し、データ名1201がターゲットデータ名1902に一致するエントリを検索する。
 さらに、データストア管理部213は、検索されたエントリの主要部1202を参照して、全ての主要部の属性値の組合わせを含む行を検索する。データストア管理部213は、検索された行の主要部の値をアクセスキーとして生成する。なお、生成されるアクセスキーは複数存在する場合がある。
 なお、データストア管理部213は、ターゲットデータのデータ構造情報112を参照して、アクセスキーを生成してもよい。この場合、データストア管理部213は、データ名901が選択されたエントリのターゲットデータ名1902に一致するエントリを検索することによって、ターゲットデータのデータ構造情報112を参照できる。以上がステップS2003の処理の説明である。
 次に、データストア管理部213は、ターゲットデータのデータ構造情報112及びアクセスキーに基づいて、データストア229からキーバリューペア群を取得する(ステップS2004)。具体的には、以下のような処理が実行される。
 データストア管理部213は、データ名901が選択されたエントリのターゲットデータ名1902に一致するエントリを検索することによって、ターゲットデータのデータ構造情報112を特定する。データストア管理部213は、特定されたデータ構造情報112を参照して、ターゲットデータに含まれる属性の数を把握する。
 データストア管理部213は、属性カウンタを「0」に設定し、キー601にアクセスキーを含むキーバリューペアを検索する。データストア管理部213は、キー601にアクセスキーを含むキーバリューペアが検索された場合、属性カウンタを「1」加算する。属性カウンタの値が属性の数と一致した場合、データストア管理部213は、検索されたキーバリューペア群を一つのデータブロックとして一時的に保持する。また、データストア管理部213は、属性カウンタを「0」に初期化して、検索処理を継続する。
 本実施例のデータストア229は、図6に示すように、一つのデータブロックを構成する属性の順番にしたがってキーバリューペアが格納される。そのため、データストア管理部213は、前述のような処理に基づいて、一つのデータブロックに対応するキーバリューペア群を取得できる。以上がステップS2004の処理の説明である。
 次に、データストア管理部213は、複数のデータブロックに対応するキーバリューペア群が取得されたか否かを判定する(ステップS2005)。
 一つのデータブロックに対応するキーバリューペア群が取得された場合、データストア管理部213は、ステップS2007に進む。
 複数のデータブロックに対応するキーバリューペア群が取得された場合、データストア管理部213は、選択されたエントリのサブ属性1905、第2属性値1906、及びターゲットデータのデータ構造情報112に基づいて、一つのデータブロックに対応するキーバリューペア群を特定する(ステップS2006)。具体的には、以下のような処理が実行される。
 データストア管理部213は、第2属性値1906を検索キーとして生成する。データストア管理部213は、選択されたエントリのターゲットデータ名1902に対応するターゲットデータのデータ構造情報112を参照し、サブ属性1905に設定された属性の位置を特定する。すなわち、データストア管理部213は、検索キーと比較する属性の位置を特定する。
 例えば、ターゲットデータが「拠点管理ログ情報」、かつ、サブ属性1905が「時刻」である場合、サブ属性「時刻」の順番は「1」であることが分かる。したがって、データストア管理部213は、一つのデータブロックに対応するキーバリューペア群の一番目のキーバリューペアに対して、検索キーを用いた検索を実行する。
 データストア管理部213は、各データブロックに対応するキーバリューペア群について、特定された位置のキーバリューペアの値を参照する。データストア管理部213は、特定された位置のキーバリューペアの値が選択されたエントリの第2属性値1906に一致するキーバリューペア群を検索する。前述した処理によって、一つのデータブロックに対応するキーバリューペア群を特定することができる。以上がステップS2006の処理の説明である。
 次に、データストア管理部213は、一つのデータブロックに対応するキーバリューペア群を含む応答をデータ変換部214に出力する(ステップS2007)。なお、当該応答には、選択されたエントリのID1901及びターゲットデータ名1902が含まれる。
 次に、データストア管理部213は、アクセスリスト1900の全てのエントリに対して処理が完了したか否かを判定する(ステップS2008)。
 アクセスリスト1900の全てのエントリに対して処理が完了していないと判定された場合、データストア管理部213は、ステップS2002に戻り、新たなエントリを選択し、ステップS2003からステップS2008までの処理を実行する。
 アクセスリスト1900の全てのエントリに対して処理が完了したと判定された場合、データストア管理部213は、データ検索処理を終了する。
 図21は、実施例1の出力データ生成処理の詳細を説明するフローチャートである。
 データ変換部214は、データ変換部214は、バッファ227にエントリが存在するか否かを判定する(ステップS2101)。
 バッファ227にエントリが存在しない場合、データ変換部214は、出力データ生成処理を終了する。
 バッファ227にエントリが存在する場合、データ変換部214は、データ待ち状態に移行する。データ変換部214は、データストア管理部213からキーバリューペア群を含む応答を受けた場合(ステップS2102)、バッファ227のエントリを特定する(ステップS2103)。具体的には、データ変換部214は、データストア管理部213から受け取った応答に含まれるIDに基づいてバッファ227のエントリを特定する。
 データ変換部214は、分析マスタデータ123の属性の属性値を算出できるか否かを判定する(ステップS2104)。具体的には、以下のような処理が実行される。
 データ変換部214は、応答に含まれるID1901に基づいて、バッファ227のエントリを特定する。特定されたバッファ227のエントリのデータ名1302に基づいて、バッファ227のデータ名1302に対応する分析マスタデータ123のデータ構造定義情報224を参照する。
 データ変換部214は、データ構造定義情報224の生成方法1004、及び応答に含まれるターゲットデータ名1902に基づいて、算出対象となる分析マスタデータ123の属性を特定する。データ変換部214は、当該属性の生成方法1004に基づいて、当該属性の値を算出できるか否かを判定する。
 例えば、応答に含まれるキーバリューペア群のみを用いて算出される属性の値の場合、データ変換部214は、分析マスタデータ123の属性の値を算出できると判定する。一方、複数のターゲットデータのキーバリューペア群を用いて算出される属性の値であり、かつ、少なくとも一つのターゲットデータのキーバリューペア群を受け付けていない場合、データ変換部214は、分析マスタデータ123の属性の値を算出できないと判定する。以上がステップS2104の処理の説明である。
 分析マスタデータ123の属性の値を算出できないと判定された場合、データ変換部214は、ステップS2102に戻り、データ待ちの状態に移行する。このとき、データ変換部214は、受け付けた応答をワークエリアに一時的に格納する。
 分析マスタデータ123の属性の値を算出できると判定された場合、データ変換部214は、応答に含まれるキーバリューペア群、データ構造管理情報223、及びデータ構造定義情報224に基づいて、分析マスタデータ123の属性値を算出し(ステップS2105)、算出された属性値をバッファ227のエントリの所定の行に登録する(ステップS2106)。具体的には、以下のような処理が実行される。
 データ変換部214は、データ構造定義情報224を参照して、ターゲット属性を特定する。データ変換部214は、データ構造管理情報223を参照して、特定されたターゲットデータのデータ構造情報112を特定する。
 データ変換部214は、特定されたターゲット属性、及びデータ構造情報112に基づいて、キーバリューペア群の何番目のキーバリューペアの値が必要であるかを特定する。データ変換部214は、特定されたキーバリューペアの値を取得し、生成方法1004に基づいて分析マスタデータ123の属性値を算出する。
 データ変換部214は、バッファ227のエントリの分析マスタデータ123の対応する属性の行に、算出された属性値を設定する。このとき、バッファ227のエントリのID1301に対応するカウンタ228の値を「1」加算する。以上がステップS2105及びステップS2106の処理の説明である。
 次に、データ変換部214は、待ち合わせが必要な分析マスタデータ123であるか否かを判定する(ステップS2107)。
 例えば、データ変換部214は、データ構造定義情報224の出力形式1006に基づいて待ち合わせが必要な分析マスタデータ123であるか否かを判定する。テーブル形式の分析マスタデータ123の場合、データ変換部214は、待ち合わせが必要な分析マスタデータ123であると判定する。また、CSV形式の分析マスタデータ123の場合、データ変換部214は、待ち合わせが不要な分析マスタデータ123であると判定する。なお、データ構造定義情報224に待ち合わせの有無を示すカラムを含めてもよい。
 待ち合わせが必要な分析マスタデータ123であると判定された場合、データ変換部214は、出力条件を満たすか否かを判定する(ステップS2108)。ここで、出力条件は、出力データ160を出力先に出力するか否かを判定するための条件である。
 具体的には、データ変換部214は、バッファのエントリに対応するカウンタ228のカウンタ値が属性1303の数以上であるか否かを判定する。カウンタ228のカウンタ値が属性1303の数以上である場合、データ変換部214は、出力条件を満たすと判定する。
 出力条件を満たさないと判定された場合、データ変換部214は、ステップS2102に戻り、データ待ちの状態に移行する。
 出力条件を満たすと判定された場合、データ変換部214は、データ構造定義情報224及びバッファ227のエントリの全ての属性値を用いて出力データ160を生成し、当該出力データを出力先に出力する(ステップS2109)。
 具体的には、データ変換部214は、バッファ227のエントリの全ての属性値を用いて、出力形式1006に設定されたデータ形式のデータブロック(出力データ160)を生成する。また、データ変換部214は、データ構造定義情報224の出力先1002に基づいて、データ構造情報管理部211を介して生成された出力データ160を出力先に出力する。
 次に、データ変換部214は、バッファ227からステップS2103において特定されたエントリを削除する(ステップS2110)。このとき、データ変換部214は、バッファ227から削除されたエントリに対応するカウンタ228を初期化する。その後、データ変換部214は、ステップS2101に戻り、同様の処理を実行する。
 ステップS2107において、待ち合わせが不要な分析マスタデータ123であると判定された場合、データ変換部214は、データ構造定義情報224及びバッファ227のエントリに設定された属性値を用いて出力データ160を生成し、当該出力データを出力先に出力する(ステップS2111)。
 ステップS2111の処理は、ステップS2109の処理と同様の処理である。ただし、ステップS2111の処理では、一部の属性にのみ属性値が設定されている点がステップS2109と異なる。
 データ変換部214は、カウンタ228のカウンタ値が属性1303の数以上であるか否かを判定する(ステップS2112)。
 カウンタ228のカウンタ値が属性1303の数より小さいと判定された場合、データ変換部214は、ステップS2102に戻り、データ待ちの状態に移行する。
 カウンタ228のカウンタ値が属性1303の数以上であると判定された場合、データ変換部214は、バッファ227からステップS2103において特定されたエントリを削除する(ステップS2110)。その後、データ変換部214は、ステップS2101に戻り、同様の処理を実行する。このとき、データ変換部214は、バッファ227から削除されたエントリに対応するカウンタ228を初期化する。
 前述したように、待ち合わせが必要な分析マスタデータ123の場合、カウンタ値は出力条件として用いられる。一方、待ち合わせが不要な分析マスタデータ123の場合、カウンタ値はバッファ227のエントリの削除条件として用いられる。
 実施例1の計算機システム10は、以下のような効果を有する。
 第1に、KVS形式のデータを用いてData Lakeを実現することによって、スパースな情報が作成されないためデータ容量の削減が可能となる。また、入力データ及び出力データのデータ構造の更新に柔軟に対応できる。
 第2に、データ管理ノード100は、データ管理ノード100が入力データを受け付けた場合、スキーマ統合及びSQL処理を行うことなく、高速にデータストア229からキーバリューペア群を取得し、当該キーバリューペア群を用いて所定のデータ構造の出力データ160を生成できる。したがって、リアルタイム分析処理及びバッチ分析処理を統合することができる。
 実施例2では、データ管理ノード100は、出力データの登録処理が実行された後に、マッピング処理、データ検索処理、及び出力データ生成処理を実行する。以下、実施例1との差異を中心に実施例2について説明する。
 実施例2の計算機システム10の構成は実施例1の計算機システム10の構成と同一であるため説明を省略する。実施例2のデータ管理ノード100、業務システム110、及び分析システム120の構成は、実施例1と同一であるため説明を省略する。また、実施例2のデータ管理ノード100が保持する情報及びプログラムは、実施例1のデータ管理ノード100が保持する情報及びプログラムと同一であるため説明を省略する。
 図22は、実施例2のデータ管理ノード100が実行する処理の流れを説明するシーケンス図である。
 データ管理ノード100のデータ構造情報管理部211は、出力データの登録要求を受け付けた場合(ステップS2201)、データ構造情報変換部212に、データ構造情報122の登録処理の開始を指示する(ステップS2202)。データ構造情報変換部212は、データ構造管理情報223、データ構造定義情報224、及びデータ関連マップ225を更新する(ステップS2203、ステップS2204、ステップS2205)。データ構造情報変換部212は、データ構造情報管理部211に処理の完了を応答する(ステップS2206)。
 なお、ステップS2201からステップS2206までの処理は、ステップS1407からステップS1412までの処理と同一である。
 実施例2では、データ構造情報管理部211が、データ構造情報変換部212から応答を受け付けた場合に、データ変換部214にデータストア管理部213にデータ生成処理の開始を指示する(ステップS2207)。なお、当該指示には、新たに定義された分析マスタデータ123の名称が含まれる。
 データ変換部214は、処理の開始指示を受け付けた場合、マッピング処理を実行し(ステップS2208)、データストア管理部213にデータ取得要求を発行する(ステップS2209)。実施例2のマッピング処理は、実施例1のマッピング処理と一部の処理が異なる。実施例2のマッピング処理について図23を用いて説明する。なお、実施例2のデータ取得要求に含まれるアクセスリスト1900は、実施例1のアクセスリスト1900と同一である。
 データストア管理部213は、データ取得要求を受け付けた場合、データ検索処理を実行し(ステップS2210)、検索されたキーバリューペアをデータ変換部214に応答する(ステップS2211)。データ変換部214は、検索されたキーバリューペアを受け取った場合、出力データ生成処理を実行し(ステップS2212)、データ構造情報管理部211に生成された出力データ160を応答する(ステップS2213)。
 ステップS2210からステップS2213までの処理は、ステップS1708からステップS1711までの処理と同一である。
 図23は、実施例2のマッピング処理の詳細を説明するフローチャートである。
 データ変換部214は、新たに登録された分析マスタデータ123の生成に用いる入力データを選択する(ステップS2301)。具体的には、以下のような処理が実行される。
 データ変換部214は、データ構造定義情報224のデータ名1001が、指示に含まれる分析マスタデータ123の名称と一致するエントリを検索する。データ変換部214は、特定されたエントリに含まれる各行の生成方法1004に基づいて、ターゲットデータを特定する。なお、ターゲットデータの特定方法は、ステップS1805の処理で用いられる方法と同一である。
 データ変換部214は、特定されたターゲットデータの中から入力データを選択する。例えば、集約キー1005が設定された属性に関連するターゲットデータを入力データとして選択する方法が考えられる。
 データ変換部214は、入力データのデータブロックのループ処理を開始する(ステップS2303)。
 具体的には、データ変換部214は、選択された入力データの取得要求をデータストア管理部213に発行する。なお、当該取得要求には、入力データの名称が含まれる。
 この場合、データストア管理部213は、入力データの名称をアクセスキーとして、キーバリューペア群を取得し、一つのデータブロックに対応するキーバリューペア群を、逐次、データ変換部214に出力する。なお、キーバリューペア群を取得するタイミングは、データストア管理部213が予め設定してもよいし、データストア管理部213が自ら設定してもよい。
 データ変換部214は、一つのデータブロックに対応するキーバリューペア群を受け取った場合、バッファ227にエントリを登録する(ステップS2303)。また、データ変換部214は、ターゲットデータを特定する(ステップS2304)。
 ステップS2303及びステップS2304の処理は、ステップS1804及びステップS1805の処理と同一である。
 データ変換部214は、ターゲットデータのループ処理を開始する(ステップS2305)。データ変換部214は、主要部及びサブ属性の属性値を取得し(ステップS2306、ステップS2307)、選択ターゲットデータからキーバリューペアを取得するための情報をアクセスリストに設定する(ステップS2308)。また、データ変換部214は、全てのターゲットデータについて処理が完了したか否かを判定する(ステップS2309)。
 ステップS2305からステップS2309までの処理は、ステップS1806からステップS1810までの処理と同一である。
 全てのターゲットデータについて処理が完了していないと判定された場合、データ変換部214は、ステップS2305に戻り、ステップS2306からステップS2309までの処理を実行する。
 全てのターゲットデータについて処理が完了していると判定された場合、データ変換部214は、アクセスリスト1900を含むデータ取得要求をデータストア管理部213に出力する(ステップS2310)。
 ステップS2310の処理は、ステップS1811の処理と同一の処理である。
 データ変換部214は、選択された入力データの全てのデータブロックについて処理が完了したか否かを判定する(ステップS2311)。例えば、データ変換部214は、データストア管理部213から該当するキーバリューペアが存在しない旨の応答を受け付けた場合、選択された入力データの全てのデータブロックについて処理が完了した判定する。
 選択された入力データの全てのデータブロックについて処理が完了していないと判定された場合、データ変換部214は、ステップS2302に戻り、ステップS2303からステップS2311までの処理を実行する。
 選択された入力データの全てのデータブロックについて処理が完了したと判定された場合、データ変換部214は、マッピング処理を終了する。
 実施例2の計算機システム10は、実施例1の計算機システム10と同様の効果を有する。また、実施例2では、分析マスタデータ123のデータ構造を定義することによって、業務マスタデータ113等から自動的に分析マスタデータ123が生成される。したがって、ユーザの操作負担を低減し、分析処理の高速化を実現し、また、柔軟なシステムを実現することができる。
 なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
 また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるCPUが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
 また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java等の広範囲のプログラム又はスクリプト言語で実装できる。
 さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の非一時的な記憶媒体に格納し、コンピュータが備えるCPUが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
 上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。

Claims (15)

  1.  データストアを構成する複数の計算機における出力データの生成方法であって、
     前記複数の計算機の各々は、プロセッサ、前記プロセッサに接続される記憶装置、及び前記プロセッサに接続されるネットワークインタフェースを有し、
     前記複数の計算機の各々は、業務処理を実行する複数の業務システム、及び分析処理を実行する複数の分析システムと接続し、
     前記業務処理において扱われる業務データは、少なくとも一つの属性から構成され、処理単位となるデータである第1データブロックを複数含み、
     前記分析処理において扱われる分析データは、少なくとも一つの属性から構成され、処理単位となるデータである第2データブロックを複数含み、
     前記データストアは、検索キー及び値から構成され、かつ、前記業務データのデータ構造及び前記分析データのデータ構造に依存しないデータであるデータペアを格納し、
     前記複数の計算機の少なくとも一つの計算機は、
     前記データストアに対する前記データペアの書込処理及び読出処理を管理するデータストア管理部と、
     前記業務データ及び前記分析データのデータ構造情報を管理するデータ構造情報管理部と、
     前記複数の第1データブロックに対応する前記複数のデータペアを用いて、前記分析システムに出力するデータブロックを生成するデータ変換部と、を含み、
     前記データ構造情報管理部は、
     前記複数の業務データの属性間の関連性を管理するデータ構造関連情報と、
     前記業務データ及び前記分析データの参照関係を管理するデータ関連マップと、
     前記分析データに含まれる前記属性の属性値の算出方法を定義するデータ構造定義情報と、を管理し、
     前記出力データの生成方法は、
     前記データ変換部が、少なくとも一つの前記業務データの少なくとも一つの前記第1データブロックを入力データとして出力用の第2データブロックを生成する場合、前記データ関連マップに基づいて、前記入力データに対応する前記業務データを参照する前記分析データを特定する第1のステップと、
     前記データ変換部が、前記データ構造定義情報に基づいて、前記特定された分析データに出力する前記出力用の第2データブロックの前記各属性の属性値の算出に必要な属性であるターゲット属性、及び前記ターゲット属性を含む前記業務データであるターゲットデータを特定する第2のステップと、
     前記データ変換部が、前記入力データ、前記ターゲットデータのデータ構造情報、及び前記データ構造関連情報に基づいて、前記ターゲットデータの前記少なくとも一つの第1データブロックを取得するためのアクセスキー、及び前記ターゲット属性の属性値を取得する前記第1データブロックを特定するためのサブキーを生成する第3のステップと、
     前記データ変換部が、前記ターゲットデータの識別情報、前記アクセスキー、及び前記サブキーを含むデータ取得要求を前記データストア管理部に出力する第4のステップと、
     前記データ変換部が、前記データストア管理部から受け取った前記ターゲット属性の属性値を含む前記第1データブロックに対応する前記複数のデータペアを用いて、前記出力用の第2データブロックの前記属性の属性値を算出することによって、前記出力用の第2データブロックを生成する第5のステップと、を含むことを特徴とする出力データの生成方法。
  2.  請求項1に記載の出力データの生成方法であって、
     前記データ取得要求は、前記ターゲットデータ毎に、前記アクセスキーを生成するための第1属性値、及び前記サブキーを生成するための第2属性値を含み、
     前記出力データの生成方法は、
     前記データストア管理部が、前記第1属性値に基づいて前記アクセスキーを生成するステップと、
     前記データストア管理部が、前記ターゲットデータのデータ構造情報及び前記アクセスキーに基づいて、前記第1データブロックを構成する前記複数のデータペアを検索するステップと、
     前記データストア管理部が、前記複数の第1データブロックに対応する前記複数のデータペアが検索された場合、前記第2属性値を前記サブキーとして生成するステップと、
     前記データストア管理部が、前記複数の第1データブロックを構成する前記複数のデータペアの中から、前記ターゲット属性の属性値を取得する一つのデータブロックを特定するステップと、
     前記データストア管理部が、前記特定されたデータブロックを前記データ変換部に出力するステップと、を含むことを特徴とする出力データの生成方法。
  3.  請求項2に記載の出力データの生成方法であって、
     前記データ構造定義情報は、
     前記出力用の第2データブロックの属性のうち、前記サブキーとして用いる属性である集約属性を示す情報と、
     前記出力用の第2データブロックの属性の属性値を算出に用いるソースデータ及び属性値の算出方法を含む定義情報と、を含み、
     前記データ構造情報は、前記データペアの検索キーとして使用する属性である主要部を示す情報を含み、
     前記第1のステップは、
     前記データ構造定義情報に基づいて、前記集約属性の属性値を算出するための前記ターゲットデータ及び前記ターゲット属性を特定するステップと、
     前記複数のターゲットデータの中から選択ターゲットデータを選択するステップと、を含み、
     前記第3のステップは、
     前記選択ターゲットデータの前記データ構造情報に基づいて、前記主要部となる属性を特定するステップと、
     前記データ構造関連情報に基づいて、前記主要部となる属性と対応関係がある前記入力データの属性を特定するステップと、
     前記特定された入力データの属性の属性値を前記第1属性値として取得するステップと、
     前記データ構造関連情報に基づいて、前記集約属性の属性値を算出するためのターゲットデータのターゲット属性と対応関係がある前記選択ターゲットデータの属性をサブ属性として特定するステップと、
     前記サブ属性に対応する前記入力データの属性の属性値を前記第2属性値として取得するステップと、
     前記選択ターゲット毎に、前記選択ターゲットの識別情報、前記第1属性値、及び前記第2属性値を含む、前記データ取得要求を生成するステップと、を含むことを特徴とする出力データの生成方法。
  4.  請求項2に記載の出力データの生成方法であって、
     前記データ構造定義情報は、前記出力用の第2データブロックのデータ形式を定義する情報を含み、
     前記記憶装置は、前記出力用の第2データブロックの生成に使用するバッファ、及び当該バッファに設定された属性値の数を計測するカウンタを含み、
     前記第5のステップは、
     前記出力用の第2データブロックの一つの前記属性の属性値を算出するための前記複数のデータペアを受け付けた場合、前記複数のデータペアを用いて前記出力用の第2データブロックの一つの前記属性の属性値を算出するステップと、
     前記算出された属性値を前記バッファに設定するステップと、
     前記カウンタの値を更新するステップと、
     前記カウンタの値に基づいて、前記出力用の第2データブロックを出力するための出力条件を満たすか否かを判定するステップと、
     前記出力条件を満たすと判定された場合、前記データ構造定義情報に基づいて、前記バッファに格納される属性値から所定のデータ形式の前記出力用の第2データブロックを生成するステップと、を含むことを特徴とする出力データの生成方法。
  5.  請求項1に記載の出力データの生成方法であって、
     前記複数の計算機の少なくとも一つの計算機は、前記データ関連マップを更新するデータ構造情報変換部を含み、
     前記出力データの生成方法は、
     前記データ構造情報変換部が、前記出力用の第2データブロックを含む前記分析データの前記データ構造の定義情報の登録要求を受け付けた場合、前記データ構造定義情報を更新するステップと、
     前記データ構造情報変換部が、前記更新されたデータ構造定義情報を参照して、前記出力用の第2データブロックを含む分析データが参照するデータを特定するステップと、
     前記データ構造情報変換部が、前記特定されたデータ及び前記出力用の第2データブロックを含む分析データの参照関係を前記データ関連マップに登録するステップと、を含むことを特徴とする出力データの生成方法。
  6.  データストアを構成する複数の計算機を含む計算機システムであって、
     前記複数の計算機の各々は、プロセッサ、前記プロセッサに接続される記憶装置、及び前記プロセッサに接続されるネットワークインタフェースを有し、
     前記複数の計算機の各々は、業務処理を実行する複数の業務システム、及び分析処理を実行する複数の分析システムと接続し、
     前記業務処理において扱われる業務データは、少なくとも一つの属性から構成され、処理単位となるデータである第1データブロックを複数含み、
     前記分析処理において扱われる分析データは、少なくとも一つの属性から構成され、処理単位となるデータである第2データブロックを複数含み、
     前記データストアは、検索キー及び値から構成され、かつ、前記業務データのデータ構造及び前記分析データのデータ構造に依存しないデータであるデータペアを格納し、
     前記複数の計算機の少なくとも一つの計算機は、
     前記データストアに対する前記データペアの書込処理及び読出処理を管理するデータストア管理部と、
     前記業務データ及び前記分析データのデータ構造情報を管理するデータ構造情報管理部と、
     前記複数の第1データブロックに対応する前記複数のデータペアを用いて、前記分析システムに出力するデータブロックを生成するデータ変換部と、を含み、
     前記データ構造情報管理部は、
     前記複数の業務データの属性間の関連性を管理するデータ構造関連情報と、
     前記業務データ及び前記分析データの参照関係を管理するデータ関連マップと、
     前記分析データに含まれる前記属性の属性値の算出方法を定義するデータ構造定義情報と、を管理し、
     前記データ変換部は、
     少なくとも一つの前記業務データの少なくとも一つの前記第1データブロックを入力データとして出力用の第2データブロックを生成する場合、前記データ関連マップに基づいて、前記入力データに対応する前記業務データを参照する前記分析データを特定し、
     前記データ構造定義情報に基づいて、前記特定された分析データに出力する前記出力用の第2データブロックの前記各属性の属性値の算出に必要な属性であるターゲット属性、及び前記ターゲット属性を含む前記業務データであるターゲットデータを特定し、
     前記入力データ、前記ターゲットデータのデータ構造情報、及び前記データ構造関連情報に基づいて、前記ターゲットデータの前記少なくとも一つの第1データブロックを取得するためのアクセスキー、及び前記ターゲット属性の属性値を取得する前記第1データブロックを特定するためのサブキーを生成し、
     前記ターゲットデータの識別情報、前記アクセスキー、及び前記サブキーを含むデータ取得要求を前記データストア管理部に出力し、
     前記データストア管理部から受け取った前記ターゲット属性の属性値を含む前記第1データブロックに対応する前記複数のデータペアを用いて、前記出力用の第2データブロックの前記属性の属性値を算出することによって、前記出力用の第2データブロックを生成することを特徴とする計算機システム。
  7.  請求項6に記載の計算機システムであって、
     前記データ取得要求は、前記ターゲットデータ毎に、前記アクセスキーを生成するための第1属性値、及び前記サブキーを生成するための第2属性値を含み、
     前記データストア管理部は、
     前記第1属性値に基づいて前記アクセスキーを生成し、
     前記ターゲットデータのデータ構造情報及び前記アクセスキーに基づいて、前記第1データブロックを構成する前記複数のデータペアを検索し、
     前記複数の第1データブロックに対応する前記複数のデータペアが検索された場合、前記第2属性値を前記サブキーとして生成し、
     前記複数の第1データブロックを構成する前記複数のデータペアの中から、前記ターゲット属性の属性値を取得する一つのデータブロックを特定し、
     前記特定されたデータブロックを前記データ変換部に出力することを特徴とする計算機システム。
  8.  請求項7に記載の計算機システムであって、
     前記データ構造定義情報は、
     前記出力用の第2データブロックの属性のうち、前記サブキーとして用いる属性である集約属性を示す情報と、
     前記出力用の第2データブロックの属性の属性値を算出に用いるソースデータ及び属性値の算出方法を含む定義情報と、を含み、
     前記データ構造情報は、前記データペアの検索キーとして使用する属性である主要部を示す情報を含み、
     前記データ変換部は、
     前記データ構造定義情報に基づいて、前記集約属性の属性値を算出するための前記ターゲットデータ及び前記ターゲット属性を特定し、
     前記複数のターゲットデータの中から選択ターゲットデータを選択し、
     前記選択ターゲットデータの前記データ構造情報に基づいて、前記主要部となる属性を特定し、
     前記データ構造関連情報に基づいて、前記主要部となる属性と対応関係がある前記入力データの属性を特定し、
     前記特定された入力データの属性の属性値を前記第1属性値として取得し、
     前記データ構造関連情報に基づいて、前記集約属性の属性値を算出するためのターゲットデータのターゲット属性と対応関係がある前記選択ターゲットデータの属性をサブ属性として特定し、
     前記サブ属性に対応する前記入力データの属性の属性値を前記第2属性値として取得し、
     前記選択ターゲット毎に、前記選択ターゲットの識別情報、前記第1属性値、及び前記第2属性値を含む、前記データ取得要求を生成することを特徴とする計算機システム。
  9.  請求項7に記載の計算機システムであって、
     前記データ構造定義情報は、前記出力用の第2データブロックのデータ形式を定義する情報を含み、
     前記記憶装置は、前記出力用の第2データブロックの生成に使用するバッファ、及び当該バッファに設定された属性値の数を計測するカウンタを含み、
     前記データ変換部は、
     前記出力用の第2データブロックの一つの前記属性の属性値を算出するための前記複数のデータペアを受け付けた場合、前記複数のデータペアを用いて前記出力用の第2データブロックの一つの前記属性の属性値を算出し、
     前記算出された属性値を前記バッファに設定し、
     前記カウンタの値を更新し、
     前記カウンタの値に基づいて、前記出力用の第2データブロックを出力するための出力条件を満たすか否かを判定し、
     前記出力条件を満たすと判定された場合、前記データ構造定義情報に基づいて、前記バッファに格納される属性値から所定のデータ形式の前記出力用の第2データブロックを生成することを特徴とする計算機システム。
  10.  請求項6に記載の計算機システムであって、
     前記複数の計算機の少なくとも一つの計算機は、前記データ関連マップを更新するデータ構造情報変換部を含み、
     前記データ構造情報変換部は、
     前記出力用の第2データブロックを含む前記分析データの前記データ構造の定義情報の登録要求を受け付けた場合、前記データ構造定義情報を更新し、
     前記更新されたデータ構造定義情報を参照して、前記出力用の第2データブロックを含む分析データが参照するデータを特定し、
     前記特定されたデータ及び前記出力用の第2データブロックを含む分析データの参照関係を前記データ関連マップに登録することを特徴とする計算機システム。
  11.  データストアを構成する複数の計算機の少なくとも一つの計算機に実行させるプログラムであって、
     前記複数の計算機の各々は、プロセッサ、前記プロセッサに接続される記憶装置、及び前記プロセッサに接続されるネットワークインタフェースを有し、
     前記複数の計算機の各々は、業務処理を実行する複数の業務システム、及び分析処理を実行する複数の分析システムと接続し、
     前記業務処理において扱われる業務データは、少なくとも一つの属性から構成され、処理単位となるデータである第1データブロックを複数含み、
     前記分析処理において扱われる分析データは、少なくとも一つの属性から構成され、処理単位となるデータである第2データブロックを複数含み、
     前記データストアは、検索キー及び値から構成され、かつ、前記業務データのデータ構造及び前記分析データのデータ構造に依存しないデータであるデータペアを格納し、
     前記プログラムは、
     前記データストアに対する前記データペアの書込処理及び読出処理を管理する第1の手段と、
     前記業務データ及び前記分析データのデータ構造情報を管理する第2の手段と、
     前記複数の第1データブロックに対応する前記複数のデータペアを用いて、前記分析システムに出力するデータブロックを生成する第3の手段と、を前記複数の計算機の少なくとも一つの計算機に実行させ、
     前記第2の手段は、
     前記複数の業務データの属性間の関連性を管理するデータ構造関連情報と、
     前記業務データ及び前記分析データの参照関係を管理するデータ関連マップと、
     前記分析データに含まれる前記属性の属性値の算出方法を定義するデータ構造定義情報と、を管理する手段を含み、
     前記第3の手段は、
     少なくとも一つの前記業務データの少なくとも一つの前記第1データブロックを入力データとして出力用の第2データブロックを生成する場合、前記データ関連マップに基づいて、前記入力データに対応する前記業務データを参照する前記分析データを特定する第4の手段と、
     前記データ構造定義情報に基づいて、前記特定された分析データに出力する前記出力用の第2データブロックの前記各属性の属性値の算出に必要な属性であるターゲット属性、及び前記ターゲット属性を含む前記業務データであるターゲットデータを特定する第5の手段と、
     前記入力データ、前記ターゲットデータのデータ構造情報、及び前記データ構造関連情報に基づいて、前記ターゲットデータの前記少なくとも一つの第1データブロックを取得するためのアクセスキー、及び前記ターゲット属性の属性値を取得する前記第1データブロックを特定するためのサブキーを生成する第6の手段と、
     前記ターゲットデータの識別情報、前記アクセスキー、及び前記サブキーを含むデータ取得要求を前記第1の手段に出力する第7の手段と、
     前記第1の手段から受け取った前記ターゲット属性の属性値を含む前記第1データブロックに対応する前記複数のデータペアを用いて、前記出力用の第2データブロックの前記属性の属性値を算出することによって、前記出力用の第2データブロックを生成する第8の手段と、を含むことを特徴とするプログラム。
  12.  請求項11に記載のプログラムであって、
     前記データ取得要求は、前記ターゲットデータ毎に、前記アクセスキーを生成するための第1属性値、及び前記サブキーを生成するための第2属性値を含み、
     前記第3の手段は、
     前記第1属性値に基づいて前記アクセスキーを生成する手段と、
     前記ターゲットデータのデータ構造情報及び前記アクセスキーに基づいて、前記第1データブロックを構成する前記複数のデータペアを検索する手段と、
     前記複数の第1データブロックに対応する前記複数のデータペアが検索された場合、前記第2属性値を前記サブキーとして生成する手段と、
     前記複数の第1データブロックを構成する前記複数のデータペアの中から、前記ターゲット属性の属性値を取得する一つのデータブロックを特定する手段と、
     前記特定されたデータブロックを前記第3の手段に出力する手段と、含むことを特徴とするプログラム。
  13.  請求項12に記載のプログラムであって、
     前記データ構造定義情報は、
     前記出力用の第2データブロックの属性のうち、前記サブキーとして用いる属性である集約属性を示す情報と、
     前記出力用の第2データブロックの属性の属性値を算出に用いるソースデータ及び属性値の算出方法を含む定義情報と、を含み、
     前記データ構造情報は、前記データペアの検索キーとして使用する属性である主要部を示す情報を含み、
     前記第4の手段は、
     前記データ構造定義情報に基づいて、前記集約属性の属性値を算出するための前記ターゲットデータ及び前記ターゲット属性を特定する手段と、
     前記複数のターゲットデータの中から選択ターゲットデータを選択するステップと、を含み、
     前記第6の手段は、
     前記選択ターゲットデータの前記データ構造情報に基づいて、前記主要部となる属性を特定する手段と、
     前記データ構造関連情報に基づいて、前記主要部となる属性と対応関係がある前記入力データの属性を特定する手段と、
     前記特定された入力データの属性の属性値を前記第1属性値として取得する手段と、
     前記データ構造関連情報に基づいて、前記集約属性の属性値を算出するためのターゲットデータのターゲット属性と対応関係がある前記選択ターゲットデータの属性をサブ属性として特定する手段と、
     前記サブ属性に対応する前記入力データの属性の属性値を前記第2属性値として取得する手段と、
     前記選択ターゲット毎に、前記選択ターゲットの識別情報、前記第1属性値、及び前記第2属性値を含む、前記データ取得要求を生成する手段と、を含むことを特徴とするプログラム。
  14.  請求項12に記載のプログラムであって、
     前記データ構造定義情報は、前記出力用の第2データブロックのデータ形式を定義する情報を含み、
     前記記憶装置は、前記出力用の第2データブロックの生成に使用するバッファ、及び当該バッファに設定された属性値の数を計測するカウンタを含み、
     前記第8の手段は、
     前記出力用の第2データブロックの一つの前記属性の属性値を算出するための前記複数のデータペアを受け付けた場合、前記複数のデータペアを用いて前記出力用の第2データブロックの一つの前記属性の属性値を算出する手段と、
     前記算出された属性値を前記バッファに設定する手段と、
     前記カウンタの値を更新する手段と、
     前記カウンタの値に基づいて、前記出力用の第2データブロックを出力するための出力条件を満たすか否かを判定する手段と、
     前記出力条件を満たすと判定された場合、前記データ構造定義情報に基づいて、前記バッファに格納される属性値から所定のデータ形式の前記出力用の第2データブロックを生成する手段と、を含むことを特徴とするプログラム。
  15.  請求項11に記載のプログラムであって、
     前記複数の計算機の少なくとも一つの計算機は、前記データ関連マップを更新する第9の手段を含み、
     前記第9の手段は、
     前記出力用の第2データブロックを含む前記分析データの前記データ構造の定義情報の登録要求を受け付けた場合、前記データ構造定義情報を更新する手段と、
     前記更新されたデータ構造定義情報を参照して、前記出力用の第2データブロックを含む分析データが参照するデータを特定する手段と、
     前記特定されたデータ及び前記出力用の第2データブロックを含む分析データの参照関係を前記データ関連マップに登録する手段と、を含むことを特徴とするプログラム。
PCT/JP2015/086513 2015-12-28 2015-12-28 出力データの生成方法、計算機システム、及びプログラム WO2017115419A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/086513 WO2017115419A1 (ja) 2015-12-28 2015-12-28 出力データの生成方法、計算機システム、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/086513 WO2017115419A1 (ja) 2015-12-28 2015-12-28 出力データの生成方法、計算機システム、及びプログラム

Publications (1)

Publication Number Publication Date
WO2017115419A1 true WO2017115419A1 (ja) 2017-07-06

Family

ID=59224733

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/086513 WO2017115419A1 (ja) 2015-12-28 2015-12-28 出力データの生成方法、計算機システム、及びプログラム

Country Status (1)

Country Link
WO (1) WO2017115419A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021068365A (ja) * 2019-10-28 2021-04-30 株式会社日立製作所 計算機システム及びデータの管理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015153014A (ja) * 2014-02-12 2015-08-24 株式会社東芝 データベース装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015153014A (ja) * 2014-02-12 2015-08-24 株式会社東芝 データベース装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TERUYOSHI ZENMYO: "Ameba ni Okeru Log Kaiseki Kiban no Hensen", WEBDB FORUM, IPSJ SYMPOSIUM SERIES, vol. 2013, no. 5, 20 November 2013 (2013-11-20), ISSN: 1882-0840 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021068365A (ja) * 2019-10-28 2021-04-30 株式会社日立製作所 計算機システム及びデータの管理方法
JP7381290B2 (ja) 2019-10-28 2023-11-15 株式会社日立製作所 計算機システム及びデータの管理方法

Similar Documents

Publication Publication Date Title
US11816126B2 (en) Large scale unstructured database systems
CN104160394B (zh) 用于半结构化数据的可缩放分析平台
US11580070B2 (en) Utilizing metadata to prune a data set
JP6697392B2 (ja) 半構造データスキーマのトランスペアレントディスカバリ
Whitman et al. Spatial indexing and analytics on Hadoop
AU2013371448B2 (en) System and method for distributed database query engines
US20180210934A1 (en) Systems and methods for interest-driven business intelligence systems including event-oriented data
KR102143889B1 (ko) 메타데이터 관리를 위한 시스템
US9665620B2 (en) Managing data queries
US9672241B2 (en) Representing an outlier value in a non-nullable column as null in metadata
Shukla et al. Schema-agnostic indexing with Azure DocumentDB
EP2780834A1 (en) Data processing service
WO2015128756A1 (en) A method, system and computer program for scanning a plurality of storage regions within memory for a specified quantity of results
CN103890709A (zh) 基于缓存的键值数据库映射和复制
CN103177094A (zh) 一种物联网数据清洗方法
Calçada et al. Evaluation of Couchbase, CouchDB and MongoDB using OSSpal.
Gallas et al. An Oracle-based event index for ATLAS
Holzmann et al. ABCDEF: The 6 key features behind scalable, multi-tenant web archive processing with ARCH: Archive, Big Data, Concurrent, Distributed, Efficient, Flexible
WO2017115419A1 (ja) 出力データの生成方法、計算機システム、及びプログラム
US11449504B2 (en) Database partition pruning using dependency graph
McBride et al. Survey of time series database technology
JP2016062522A (ja) データベース管理システム、データベースシステム、データベース管理方法およびデータベース管理プログラム
Singh NoSQL: A new horizon in big data
Aljarallah Comparative study of database modeling approaches
CN108460059A (zh) 基于分布式数据库的数据操作方法、装置及系统

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

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP