WO2019012572A1 - データリニエージ検出装置、データリニエージ検出方法、及びデータリニエージ検出プログラム - Google Patents

データリニエージ検出装置、データリニエージ検出方法、及びデータリニエージ検出プログラム Download PDF

Info

Publication number
WO2019012572A1
WO2019012572A1 PCT/JP2017/025075 JP2017025075W WO2019012572A1 WO 2019012572 A1 WO2019012572 A1 WO 2019012572A1 JP 2017025075 W JP2017025075 W JP 2017025075W WO 2019012572 A1 WO2019012572 A1 WO 2019012572A1
Authority
WO
WIPO (PCT)
Prior art keywords
data lineage
file
data
evaluation
file pair
Prior art date
Application number
PCT/JP2017/025075
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/JP2017/025075 priority Critical patent/WO2019012572A1/ja
Priority to JP2019529325A priority patent/JP6714160B2/ja
Publication of WO2019012572A1 publication Critical patent/WO2019012572A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data

Definitions

  • the present invention relates to, for example, a data lineage detection apparatus and the like for detecting data lineage of a plurality of files stored in a data lake.
  • Such data lakes receive regularly generated data, such as sensor data, social media data, etc., which are held in the form of data files. Further, the inflowing data is processed by a data processing program such as a so-called ETL (Extract, Transform, Load) tool and used for data utilization. The processed data is also held in the data lake as another data file.
  • ETL Extract, Transform, Load
  • Data lineage As described above, among data files held by Data Lake, there is another data file when tracing the processing source of a certain data file, and there is also a data file as the processing source, and so on. Derived). Such a relationship is called data lineage. Data lineage is managed as metadata, for example. By utilizing this data lineage, the data lake administrator can find out the cause when an error is mixed in the data, understand the extent to which data modification affects the data, or illegally modify the data. Work can be done to improve the soundness of the data lake, such as checking if it has not been done.
  • the first conceivable method of collecting such data lineage is to utilize log information output by the data processing program. It is self-evident that the data processing program knows which data file was accessed at the time of its execution. If all the programs involved in data processing output them as log information, it is possible to restore data redundancy based on this log information.
  • the data processing program is not limited to one such as ETL tool in which a framework is provided in advance for outputting log information.
  • ETL tool in which a framework is provided in advance for outputting log information.
  • unique custom programs may be created and used to execute complex processes that are difficult to handle with ETL tools.
  • an ad hoc program may be used to perform simple processing that is not enough to use an ETL tool.
  • a person in charge of data processing may manually execute data processing using a general-purpose program such as spreadsheet software. In these cases, no log information is output in each program.
  • Patent Document 1 describes various features such as the degree of duplication of the contents of files or the number of common elements of schemas as file pairs with two data files. There is disclosed a technique for detecting data lineage by extracting the data and estimating the presence or absence of data lineage such as duplication or processing between the file pairs.
  • the data lineage of the file pair detected by the above-described technique is based solely on mechanical guessing processing. Therefore, the data lake administrator (hereinafter referred to as the administrator) determines whether the data lineage indicated by the result of the process actually exists or is erroneously detected.
  • the accuracy of the inference process greatly affects the workload of the manager.
  • the data lake is characterized by periodic inflow of data
  • data processing corresponding to inflowed data also periodically occurs.
  • similar data files will be generated regularly. For this reason, when a false detection of data lineage occurs for a certain data file, a false detection for a data file similar to this data file will also periodically occur, and it is necessary to correct this false detection.
  • the workload of these administrators can not be reduced at all.
  • the existing data lineage detection technology does not improve the accuracy of the estimation process and can not reduce the workload of the administrator.
  • the present invention has been made in view of the above-mentioned circumstances, and an object thereof is to provide a technique capable of appropriately reducing the workload of the manager in detection of data lineage between files.
  • a data lineage detecting apparatus for detecting data lineage of a plurality of files.
  • the data lineage detection apparatus comprises a processor unit which is one or more processors.
  • the processor unit outputs an evaluation value for evaluating the presence or absence of data lineage between file pairs by each of a plurality of evaluation processes using a plurality of feature amounts of a predetermined file pair to be processed in a plurality of files.
  • the weighting process of performing predetermined weighting corresponding to each of the plurality of evaluation values output by the plurality of evaluation processes is performed, and the plurality of values obtained by the weighting process are summed to calculate a comprehensive evaluation value. .
  • the processor unit estimates the presence or absence of data lineage between file pairs based on the comprehensive evaluation value, and outputs a related file pair candidate which is a file pair estimated to have data lineage, and the related file pair candidate is The result of confirmation by the administrator as to whether or not it has data lineage is accepted, and the related file pair candidate for which the confirmation result that it has data lineage is obtained is registered as a file pair having data lineage. Do.
  • the processor unit learns and reflects a parameter used for at least one of the evaluation process and the weighting process based on the confirmation result of the related file pair candidate and the feature amount of the file pair candidate.
  • FIG. 1 is a block diagram of a computer system according to an embodiment.
  • FIG. 2 is a functional configuration diagram of a metadata management apparatus according to an embodiment.
  • FIG. 3 is a functional block diagram of a linearity detection unit and related elements according to an embodiment.
  • FIG. 4 is a configuration diagram of a metadata table according to an embodiment.
  • FIG. 5 is a diagram for explaining the concept of data lineage according to an embodiment.
  • FIG. 6 is a block diagram of a linearization table according to an embodiment.
  • FIG. 7 is a configuration diagram of a feature quantity table according to an embodiment.
  • FIG. 8 is a flowchart of the linear candidate generation process according to an embodiment.
  • FIG. 9 is a flowchart of the linearization determination process according to an embodiment.
  • FIG. 1 is a block diagram of a computer system according to an embodiment.
  • FIG. 2 is a functional configuration diagram of a metadata management apparatus according to an embodiment.
  • FIG. 3 is a functional block diagram of a linearity detection unit
  • FIG. 10 is a diagram showing an example of a linearity candidate display screen according to an embodiment.
  • FIG. 11 is a flowchart of learning processing according to an embodiment.
  • FIG. 12 is a flowchart of the renewal information update process and the learning data addition process according to an embodiment.
  • FIG. 13 is a diagram showing a specific example of a data file and its contents.
  • FIG. 14 is a diagram for explaining a specific example of processing by the classifier and the gate function unit.
  • information may be described by an expression such as “aaa table”, but the information may be expressed by any data structure. That is, to indicate that the information does not depend on the data structure, the "aaa table” can be called “aaa information”. Also, in the following description, the configuration of each table is an example, and one table may be divided into two or more tables, or all or part of two or more tables may be one table. Good.
  • the “processor unit” includes one or more processors. At least one processor is typically a microprocessor, such as a CPU (Central Processing Unit). Each of the one or more processors may be single core or multi-core.
  • the processor may include hardware circuitry that performs some or all of the processing.
  • time is expressed in units of year, month, day and hour, but the unit of time may be coarser or finer, or may be a different unit.
  • FIG. 1 is a block diagram of a computer system according to an embodiment.
  • the computer system 1 includes a metadata management device 100 as an example of a linearity detection device, and one or more storage systems 110.
  • the metadata management device 100 and the storage system 110 are connected via the network 106.
  • the network 106 is, for example, Ethernet (registered trademark), a wireless network based on the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard, a wide area network based on the SONET / SDH (Synchronous Optical Network / Synchronous Digital Hierarchy) standard, or It is a network that combines these multiple networks.
  • IEEE Institute of Electrical and Electronics Engineers
  • SONET Synchronous Optical Network / Synchronous Digital Hierarchy
  • It is a network that combines these multiple networks.
  • the metadata management apparatus 100 includes, for example, a personal computer, a rack mount server, or a blade server, and includes a processor 101, a memory 102, a storage device 103, a network interface (I / F) 104, and a console 105.
  • the processor 101 is connected to the memory 102, the storage device 103, the network I / F 104, and the console 105 via an internal bus or the like.
  • the metadata management apparatus 100 has a plurality of processors 101, memories 102, storage devices 103, network I / F 104, and a part or all of consoles 105 for the purpose of distribution of processing load and improvement of availability. It is also good.
  • the metadata management apparatus 100 may be physically configured by one or more computers, may be a virtual computer logically configured by one computer, or may be logically configured by a plurality of computers. It may be a virtual computer configured as When the metadata management apparatus 100 is physically configured on a plurality of computers, the processor 101 of each computer may perform data communication via the network 106.
  • the processor 101 is, for example, an arithmetic device based on hardware such as a central processing unit (CPU), and executes a program stored in the memory 102.
  • the memory 102 is, for example, a volatile semiconductor memory, and temporarily stores programs and data.
  • the storage device 103 is, for example, a hard disk drive (HDD: Hard Disk Drive), a solid state drive (SSD: Solid State Drive), or a non-volatile storage device combining a plurality of these, and stores programs and data for a long time Do.
  • the storage device 103 stores, for example, an operating system (OS: Operating System) and a user program.
  • OS Operating System
  • An operating system and a user program (for example, a linear detection program) stored in the storage device 103 are read out to the memory 102 when the metadata management apparatus 100 is activated or processing is executed.
  • the operating system and the user program read into the memory 102 are executed by the processor 101 to realize various mechanisms.
  • the operating system and the user program are provided to the metadata management apparatus 100 via removable media (CD-ROM, flash memory, etc.) or a network, and stored in the storage device 103.
  • removable media CD-ROM, flash memory, etc.
  • the metadata management apparatus 100 needs to have an interface for reading data from the removable media.
  • the network I / F 104 is configured by a communication device such as a network interface controller (NIC), for example, and is connected to the network 106.
  • NIC network interface controller
  • the network I / F 104 performs protocol control at the time of communication with another device (for example, the storage system 110) via the network 106.
  • the console 105 includes, for example, an input device such as a keyboard and a mouse, and a display device such as a liquid crystal display panel.
  • the console 105 receives operation signals according to various operation inputs from an input device of a manager (data lake manager) of the data lake 300 described later, and notifies the processor 101 of the contents of the operation inputs.
  • the console 105 displays text, an image, and the like based on text information and graphical information output from the processor 101 on a display device.
  • the storage system 110 includes, for example, a plurality of storage devices 111.
  • the storage devices 111 of the plurality of storage systems 110 constitute a data lake 300, which is a data storage area that holds periodically generated data such as sensor data and social media data in a file format. There is.
  • the plurality of storage systems 110 may be located at remote locations (remote locations).
  • FIG. 2 is a functional configuration diagram of a metadata management apparatus according to an embodiment.
  • the metadata management apparatus 100 detects data lineage (derivation relation: sometimes referred to simply as lineage) between data files, with the data file (simply referred to as a file) 301 stored in the data lake 300 as a processing target. Execute processing to provide to the administrator.
  • the metadata management apparatus 100 includes a file access unit 201, a metadata collection unit 202, a feature amount generation unit 203, a linear detection unit 204, a learning unit 205, a display operation unit 206, a metadata repository 207, and a learning data storage 208. .
  • the file access unit 201, the metadata collection unit 202, the feature amount generation unit 203, the linear detection unit 204, the learning unit 205, and the display operation unit 206 mainly execute the linear detection program of the memory 102 by the processor 101.
  • the metadata repository 207 and the learning data storage 208 are mainly configured by the storage device 103.
  • the metadata repository 207 stores a metadata table 209 and a hierarchy table 210.
  • the metadata table 209 and the redundancy table 210 will be described later.
  • the learning data storage 208 stores the feature amount table 211.
  • the feature amount table 211 will be described later.
  • the file access unit 201 recognizes the data file 301 stored in the data lake 300, and reads the content of the data file 301 and the metadata related to the data file 301.
  • the metadata collection unit 202 stores the metadata of the data file 301 read by the file access unit 201 and the metadata generated from the content of the data file 301 in the metadata table 209.
  • the feature amount generation unit 203 reads the metadata stored in the metadata table 209, generates a feature amount for each pair (file pair) of two data files 301, and stores the feature amount in the feature amount table 211.
  • the linearization detection unit 204 reads the feature amount stored in the feature amount table 211, estimates data lineage for the file pair, and stores the file pair (data lineage candidate) serving as a candidate for the estimated data lineage in the lineage table 210. Then, information on whether or not data lineage exists between file pairs is stored in the label of the feature amount table 211.
  • the learning unit 205 reads the feature amount and the label held by the feature amount table 211, performs learning processing using the read-out feature amount and the label, and stores the classifier 2041 and the gate function, which will be described later, held by the redundancy detection unit 204.
  • the parameters of the unit 2042 are updated.
  • the display operation unit 206 reads out the data lineage held by the lineage table 210 and displays the lineage by the console 105. Further, the display operation unit 206 receives and interprets the content of the operation input via the console 105, and updates the data lineage held by the linearization table 210 and the label of the feature amount table 211.
  • FIG. 3 is a functional block diagram of a linearity detection unit and related elements according to an embodiment.
  • the linearization detection unit 204 includes one or more classifiers 2041, one or more gate function units 2042, and a combiner 2043.
  • the linearization detection unit 204 may include two or more classifiers 2041 and two or more gate function units 2042, respectively.
  • the classifier 2041 has a parameter, reads the feature amount of the file pair held by the feature amount table 211, and determines whether or not there is data lineage between the two data files 301 forming the file pair. The value is calculated based on the parameters and output.
  • the evaluation value to be output may be a continuous value or a numerical value (for example, 1 and -1) indicating the result of classification into two values by an arbitrary threshold value.
  • the classifier 2041 may be, for example, a linear classifier.
  • One gate function unit 2042 is provided corresponding to each of the classifiers 2041.
  • the gate function unit 2042 has parameters, receives the evaluation value from the corresponding classifier 2041 as an input, and performs predetermined weighting processing based on the parameter on the evaluation value, that is, a predetermined weighting coefficient Multiplication is performed to output a weighted evaluation value.
  • the gate function unit 2042 reads the feature amount of the file pair stored in the feature amount table 211, and calculates a weighting coefficient based on the feature amount.
  • the weighting factor may be in the range of 0 to 1.
  • the function for obtaining the weighting coefficient in the gate function unit 2042 may be, for example, a soft max function, and in this case, the parameters of the gate function unit 2042 are parameters of the soft max function.
  • the combiner 2043 receives as input the weighted evaluation values output by the respective gate function units 2042, and outputs the result (total evaluation value) obtained by mixing these weighted evaluation values.
  • the combiner 2043 may calculate the comprehensive evaluation value by, for example, a sum function taking the sum of the weighted evaluation values.
  • the lineage detection unit 204 determines whether or not there is data lineage between the two data files 301 forming the file pair according to the lineage table 210 and the lineage table 210.
  • the feature amount table 211 is stored.
  • the comprehensive evaluation value may be used as it is, or the comprehensive evaluation value may be binarized based on a relationship with a predetermined threshold.
  • FIG. 4 is a configuration diagram of a metadata table according to an embodiment.
  • the metadata table 209 is, for example, a database held by a document-oriented database management system.
  • the metadata table 209 includes an index 209A and a document 209B.
  • the index 209A stores records corresponding to each of the data files 301.
  • the record at index 209A has an id field, a pathname field, and a timestamp field.
  • a unique identification code for example, "F001" for identifying the data file 301 is stored.
  • Each record of the index 209A corresponds to one document 209B, and can be identified by a unique identification code held by the id field.
  • the path name of the data file 301 is stored in the path name field.
  • the generated timestamp of the data file 301 is stored in the timestamp field.
  • the document 209B stores metadata of the data file 301 corresponding to a predetermined record (a record corresponding to the identification code) of the index 209A, and metadata generated from the content of the data file 301.
  • the document 209B in FIG. 4 is a document in which the id field of the index 209A corresponds to the record of "F001", and the "id” property indicating the id of the corresponding index 209 and the path name of the data file 301 as metadata "Pathname” property indicating, "timestamp” property indicating time stamp of data file 301, "format” property indicating format of data file 301, “number_of_fields” property indicating number of fields of data file 301, field name of data file 301 "Fields” property indicating, etc.
  • the “pathname” property and “timestamp” property of the metadata held by the document 209B are set by reading the file held by the data lake 300 as the metadata of the data file 301 by the file access unit 201 It is.
  • the “format” property, the “number_of_fields” property, the “fields” property, etc. are metadata generated by the metadata collection unit 202 based on the content of the data file 301.
  • the metadata collected by the file access unit 201 and the metadata generated by the metadata collection unit 202 are not limited to these.
  • FIG. 5 is a diagram for explaining the concept of data lineage according to an embodiment.
  • the data lake 300 holds, for example, the data file 301A, the data file 301B, and the data file 301C.
  • the linear area detection unit 204 estimates that the data file 301B is created by processing based on the data file 301A and the administrator approves the estimation, the interval between the data file 301A and the data file 301B One linear relationship 302A is in the "endorsed" state.
  • the linearization detection unit 204 estimates that the data file 301C is created by processing based on the data file 301A, and if the administrator does not approve the estimation, the linearity relationship 302B is “candidate (candidate) It will be in the state of In addition, when the linear detection unit 204 estimates that the data file 301C is created by processing based on the data file 301B, and the administrator denies the estimation, the data file 301B and the data file 301C are deleted. There is no data lineage.
  • the linear area detection unit 204 estimates that there is no data lineage between the data file 301B and the data file 301C, and when the administrator neither approves nor rejects the estimation, the data file 301B and the data file There is no data lineage with the file 301C.
  • FIG. 6 is a block diagram of a linearization table according to an embodiment.
  • the linearization table 210 is, for example, table format data, and each record corresponds to data linearization of one file pair.
  • the records of the linearization table 210 have an id field, a fromId field, a toId field, a batch_no field, and a status field.
  • the id field stores an identification code that can uniquely identify the file pair.
  • An identification code corresponding to a data file 301 which is a basis of a file pair having a data lineage (having a derivation relationship) in the fromId field (for example, the same as the identification code of the data file 301 held in the metadata table 209 Is stored.
  • an identification code corresponding to the data file 301 which is the creation destination of the file pair having data lineage is stored.
  • an identification code (batch number) for specifying processing which is given each time the linear detection unit 204 executes the linear candidate generation processing to be described later, is stored.
  • the status of the data lineage is stored in the status field. Specifically, "endorsed" or “candidate” is stored in the status field.
  • FIG. 7 is a configuration diagram of a feature quantity table according to an embodiment.
  • the feature amount table 211 is, for example, table format data, and each record corresponds to each file pair configured by two data files 301 in the data lake 300.
  • the records of the feature amount table 211 include an id field, a fromId field, a toId field, a label field, an endorsed field, and a plurality of feature fields (feature 1, feature 2, feasture 3,).
  • the identification code of the file pair (for example, the one common to the identification code of the id field of the linearization table 210) is stored.
  • an identification code corresponding to one data file 301 of the file pair (for example, one common to the identification code of the data file 301 held in the metadata table 209) is stored.
  • the identification code of the other data file 301 of the file pair is stored in the toId field.
  • label field information (label) indicating whether or not data lineage (derivation relation) exists between the data files 301 constituting the file pair is stored.
  • label field for example, “1” is stored when data lineage exists, and “ ⁇ 1” is stored when it does not exist.
  • the endorsed field stores information as to whether or not data lineage is approved. Specifically, in the endorsed field, if data lineage is accepted, that is, “endorsed”, “1” is stored, and if data lineage is not approved, ie, “candidate In the case of “0”, “0” is stored.
  • FIG. 8 is a flowchart of the linear candidate generation process according to an embodiment.
  • the linear candidate generation process is periodically executed, for example, by control of a scheduler (not shown). Each time a linear candidate generation process is executed, an identification code (batch number) specifying the process is assigned.
  • the batch number assigned to the process to be newly executed is, for example, a numerical value, which is a numerical value larger than the batch number of the process performed immediately before.
  • the file access unit 201 scans the data file 301 held by the data lake 300, and lists up the data file 301 newly added to the data lake 300 from the time of execution of the previous linear candidate generation process to the present time. (Step S602).
  • the metadata collection unit 202 collects and generates metadata from the newly added data file 301, and stores the metadata in the metadata table 209 (step S604).
  • the feature amount generation unit 203 lists up a file pair including at least one of the newly added data files 301 based on the record held by the metadata table 209, and adds a unique identification code to this file pair. Then, the record corresponding to the file pair is added to the feature amount table 211 (step S606). Furthermore, the feature quantity generation unit 203 calculates, for each of the listed file pairs, a plurality of feature quantities of the file pair, and stores the respective feature quantities in each of the feature fields of the feature quantity table 211 (step S608) ).
  • the linear detection unit 204 executes linearization determination processing (step S610). Specifically, the linearity detection unit 204 determines that the records corresponding to all file pairs for which the data linearization determination has not been performed among the records stored in the feature amount table 211, specifically, the label field For the blank record, the feature amount held by this record is input to each classifier 2041, and thereafter, the presence or absence of data lineage about the file pair is determined by the comprehensive evaluation value output from the combiner 2043. As a result, when it is determined that the data lineage exists in the file pair, the lineage detection unit 204 stores “1” in the label field of the record corresponding to the file pair in the feature amount table 211 and the lineage table 210. Add the corresponding record to this file pair.
  • the batch number of the current process is stored in the batch_no field of the record to be added to the linearization table 210.
  • the lineage detection unit 204 stores “ ⁇ 1” in the label field of the feature amount table 211.
  • the display operation unit 206 After processing for records corresponding to all file pairs for which data lineage determination has not been performed, the display operation unit 206 determines that the batch number of the batch_no field is the largest among the records stored in the redundancy table 210. Based on the record, that is, the record added by this processing, a linear candidate display screen (refer to FIG. 10) including information on the linear candidate is generated and displayed on the display screen of the console 105 (step S612).
  • FIG. 9 is a flowchart of the linearization determination process according to an embodiment.
  • the linear determination process corresponds to the linearize process in step S610 in FIG.
  • the linear detection unit 204 executes the processing of LOOP 1 (steps S 804 to S 818) with each of the records in which the label field is blank among the records held in the feature amount table 211 as the processing target.
  • the record to be processed is referred to as a target record.
  • the linear detection unit 204 acquires feature quantities from the fields of the feature field from the target record, and inputs the feature quantities to the respective classifiers 2041 (step S804).
  • the feature quantities stored in each field are scalar values, and when the feature quantities from a plurality of fields are combined, it becomes a feature quantity vector as a whole.
  • step S808 and S810 the processing of LOOP2 (steps S808 and S810) is performed on each of the classifiers 2041 of the linear detection unit 204 and the pair of gate function units 2042 connected to the classifier 2041.
  • the classifier 2041 receives the feature quantity vector, calculates the evaluation value by the processing of the classifier 2041 (step S808), and outputs the evaluation value to the connected gate function unit 2042.
  • the gate function unit 2042 receives the evaluation value input from the classifier 2041 and applies a weighting value (weighted evaluation value) determined based on its own parameter to the received evaluation value to the combiner 2043. It outputs (step S810).
  • weighted evaluation values are output to the combiner 2043 by the number of sets of classifiers 2041 and gate functions 2042.
  • the combiner 2043 mixes the weighted evaluation values output from each set of classifiers 2041 and gate functions 2042 (step S812), and a value (here, 1) based on the mixed result (total evaluation value) Or -1) is stored in the label field of the feature amount table 211 (step S814).
  • the combiner 2043 determines whether there is data lineage based on the overall evaluation value (step S816). As a result, when it is determined that the data lineage exists (step S 816: YES), the combiner 2043 adds the record of the file pair having the data lineage to the linearity table 210.
  • the combiner 2043 includes the identification code of the file pair, the identification code of the data file 301 constituting the file pair, and the batch number assigned to the generation process of the line candidate, and the status field is "candidate". A record is added (step S818). On the other hand, when it is determined that there is no data lineage (step S816: NO), the combiner 2043 does not execute step S818.
  • the LOOP 1 processing (steps S 804 to S 818) is performed with all records in which the label field is blank among the records held in the feature amount table 211 are processed, and the linear judgment processing is ended.
  • the linear judgment processing is performed on all of the file pairs including the data file newly added to the data lake 300.
  • FIG. 10 is a diagram showing an example of a linearity candidate display screen according to an embodiment.
  • the linear candidate display screen 400 is a screen displayed on the display device of the console 105 by the process of step S612 of the linear candidate generation process.
  • the linear object candidate display screen 400 is a screen on which the display operation unit 206 causes the console 105 to display a part (for example, the one with the largest batch number in the batch_no field) among the records held by the linearization table 210.
  • the data file 301 included in the records stored in the linearization table 210 is displayed as, for example, data file icons 401 (401A to 401D).
  • the metadata table 209 is searched using the identification code of the data file 301 to identify the path name, file name, etc. of the data file 301, and these are displayed in association with the data file icon 401. The administrator may easily recognize the data file.
  • the data file icons 401 of the data files 301 constituting the file pair corresponding to the records stored in the linear table 210 are connected by the data linearity lines 402 (402A, 402B). Display on The identification code of the data lineage stored in the record may be displayed together with the data lineage line 402.
  • the record of the file pair stored in the linear table 210 is displayed as the data linear candidate list 403.
  • the identification code of the id field of the linearization table 210 is displayed.
  • the identification code held by the fromId field and the toId field of the lineage table 201 is used to search for and identify the records of the metadata table 209.
  • the path name of each data file 301 is displayed.
  • a drop-down list configured to be able to select any one value of "Accept", "Reject", or "Unsure” is displayed.
  • a data linearize addition button (Add more) 404 and a correct / incorrect information transmission button (Submit) 405 are displayed.
  • the console 105 for displaying the linear candidate display screen 400 displays the identification code stored in the id field of the data linear candidate list 403 and the value set in the action field. Then, it is transmitted to the display operation unit 206 as information on whether the data lineage candidate is correct or not by the administrator corresponding to the identification code.
  • the display operation unit 206 displays the endorsed field in the record of the feature amount table 211 corresponding to the identification code of the id field of the data linearize candidate list 403.
  • the value is set to “1”
  • the value of the status field of the record of the linearization table 210 corresponding to the identification code of the id field of the data linearize candidate list 403 is set to “endorsed”.
  • the display operation unit 206 deletes the record in the linearization table 210 corresponding to the identification code of the id field of the data linear candidate list 403.
  • the display operation unit 206 does nothing in particular.
  • the console 105 for displaying the lineage candidate display screen 400 is a file pair not stored in the lineage table 210, and selectively inputs a file pair having data lineage.
  • the display operation unit 206 When receiving the transmission of the identification code set indicating the data file of the file pair, the display operation unit 206 specifies the record of the feature amount table 211 corresponding to the identification code set indicating the data file, and the label field of the specified record The value of is set to "1" indicating that there is data lineage, and the value of the endorsed field is set to "1". Further, the display operation unit 206 specifies the identification code of the id field of the specified record of the feature amount table 211, the identification code of the specified id field in the linearization table 210, and the data file constituting the transmitted file pair. Add a record that contains an identification code of and whose status field is "endorsed". As a result, a record regarding the file pair designated as having data redundancy by the administrator is added to the linearity table 210.
  • Information indicating the evaluation processing by the corresponding classifier 2041 or information related to the evaluation value may be displayed in descending order of the weighting of each gate function unit 2042 of the linear detection unit 204. In this way, the administrator can confirm the information on the evaluation value by the classifier 2041 having a large weight.
  • the display style of the linear candidate display screen 400 is not limited to this, and the data lineage candidate output from the linearity detection unit 204 by the action field of the data linearity candidate list 403 or a display screen element similar to this. As long as the administrator can transmit the correctness or not to the metadata management apparatus 100 with respect to the result of the above, it is sufficient.
  • the correctness information of the data lineage candidate input to the lineage candidate display screen 400 and transmitted to the metadata management apparatus 100 is provided to the learning of the lineage detection unit 204.
  • FIG. 11 is a flowchart of learning processing according to an embodiment.
  • step S1002 When the display operation unit 206 receives correctness information of the data linear candidate transmitted by pressing the correctness information transmission button 405 of the linear candidate display screen 400 (step S1002), based on the correctness information of the data linearity candidate.
  • the linearization information update process for updating the linearization table 210 is executed (step S1004).
  • the display operation unit 206 executes learning data addition processing for updating the feature amount table 211 (step S1006).
  • the learning unit 205 performs learning data (correct data) on the information of the file pair in which the correctness of the data lineage candidate is determined, that is, all the records in which the endorsed field is set to “1” among the records of the feature amount table 211
  • the learning of the linearization detection unit 204 that is, the learning of determining the parameters and the like of the linearization detection unit 204 is performed based on the learning data (step S1008).
  • the classifier 2041 of the linear detection unit 204 is a linear classifier and the gating function in the gating function unit 2042 is a softmax function
  • the linear classifier and the softmax are generated by an EM (Expectation-maximization) algorithm.
  • Obtaining the parameters of the function corresponds to the learning of the linear detection unit 204.
  • the learning method of the linear detection unit 204 is not limited to this. For example, only parameters of classification processing by the classifier 2041 may be learned, or only parameters of the gate function unit 2042 may be learned.
  • the learning of the linearization detection unit 204 in step S1008 may be performed periodically, for example, under the control of a scheduler (not shown).
  • FIG. 12 is a flowchart of the renewal information update process and the learning data addition process according to an embodiment.
  • the linearization information update process corresponds to the process at step S1004 in FIG. 11, and the learning data addition process corresponds to the process at step S1006 in FIG.
  • the display operation unit 206 executes processing of LOOP 1 (steps S 1104 to S 1116) with each of all the data lineage candidates that have received the correctness information as the processing target.
  • the data lineage candidate to be processed in the LOOP1 process is referred to as a target data lineage candidate.
  • the display operation unit 206 determines whether or not the selection of the action field of the data redundancy candidate list 403 of the Linearity candidate display screen 400 for the target data redundancy candidate is “Accept” or “Reject” (step S1104). . As a result, If the selection of the action field is not “Accept” or “Reject", that is, if it is "Unsure” (step S1104: NO), the display operation unit 206 selects the next data lineage to be processed. Perform LOOP1 processing on the candidate.
  • the display / operation unit 206 determines whether the selection of the action field is "Accept” (presence of data lineage Is approved) or “Reject” (whether the presence of data lineage is denied).
  • step S1106 when the selection of the action field is "Accept" (step S1106: YES), the display operation unit 206 corresponds to the identification code of the target data lineage candidate of the linearization table 210.
  • the status field of the record to be updated is updated to “endorsed” (step S1108), and the endorsed field of the record corresponding to the identification code of the target data linear candidate of the feature amount table 211 is updated to “1” (step S1110).
  • LOOP1 processing is performed on the data lineage candidate to be processed.
  • step S1106 when the selection of the action field is “Reject” (step S1106: NO), the display operation unit 206 deletes the record corresponding to the identification code of the target data linear candidate in the linearization table 210 (step S1112).
  • the label field of the record corresponding to the identification code of the target data linear candidate of the feature amount table 211 is updated to "-1" (step S1114), and the endorsed field is updated to "1" (step S1116).
  • LOOP1 processing is performed on the target data linear candidate.
  • the display operation unit 206 ends the linearization information update processing and the learning data addition processing.
  • the information (reniage table 210) on the data lineage displayed by the display operation unit 206 on the lineage candidate display screen 400 is updated to a content reflecting the intention of the administrator, and
  • the learning data (feature amount table 211) to be provided to the learning of the linear detection unit 204 is also updated to a content reflecting the intention of the administrator.
  • the linear detection unit 204 sequentially performs detection processing of data lineage reflecting the intention of the administrator, and for example, occurrence of false detection in determination of data lineage for similar data file can be reduced, The work load of the person can be reduced appropriately.
  • FIG. 13 is a diagram showing a specific example of a data file and its contents.
  • the data lake 300 holds, for example, a data file 500 including sensor data. Also, the data lake 300 holds data files 501A, 501B, and 501C.
  • the data file 500 is a file in which data measured by the sensor “S12345” on April 1, 2017 is recorded.
  • the data file 501A is a file in which data measured by the sensor “S12345” on March 31, 2017 is recorded.
  • the data file 501B is a file obtained by processing (converting) data measured by the sensor “S12345” on April 1, 2017 (that is, data held by the data file 500) into a CSV (Commma Separated Values) format by the ETL tool. is there.
  • the data file 501C is a file in which the data measured by the sensor "S56789" on April 1, 2017 is recorded.
  • step S608 the feature quantity generation unit 203 lists file pairs based on these four data files, and generates, for example, two types of feature quantities x0 and x1 for each file pair.
  • the feature quantity generation unit 203 lists file pairs based on these four data files, and generates, for example, two types of feature quantities x0 and x1 for each file pair.
  • the feature quantity generation unit 203 quantifies the similarity of the content of the data file for the file pair as the feature quantity x0.
  • the feature quantity generation unit 203 quantifies the similarity of the content of the data file for the file pair as the feature quantity x0.
  • their contents have different parts and overlapping parts.
  • As a method of quantifying the degree of content duplication for example, the process of dividing a file into a plurality of chunks and calculating the checksum of each chunk is performed on two files, and the resulting series of two checksums It is conceivable to calculate and normalize the ratio of matching ones.
  • the method of quantifying the degree of duplication of the contents of the data file is not limited to this.
  • the contents of the data file 500 and the data file 501A are compared, since the measurement date and time and the recorded sensor data are different, the amount of duplication is small, so the value of the feature amount x0 is small.
  • the contents of data files 500 and 501B are compared, the measurement date and time and sensor data are common, and the delimiters between them are converted, so there is a relative overlap, and the value of feature amount x0 Is relatively large.
  • the contents of the data files 500 and 501C are compared, the measurement date and time are common, and since the two sensors output similar values, they largely overlap and the value of the feature quantity x0 is large.
  • the feature quantity generation unit 203 quantifies the file name similarity of the data file as the feature quantity x1.
  • Levenshtein distance may be calculated by quantifying differences in character strings such as file names. The method of quantifying the file name similarity of data files is not limited to this.
  • the sensor name “S12345” is common, but the portion representing the measurement date and time in UNIX (registered trademark) time is different.
  • the feature amount x1 is relatively large. In this example, the feature amount x1 is larger as the difference is larger, that is, smaller as the similarity is higher.
  • the sensor name and the measurement date and time are common, and the difference is only the file extension part, so the difference is relatively small and the feature amount x1 is small. .
  • the sensor name part is different from “S12345” and “S56789”, so the difference is relatively large, and the feature amount x1 is Relatively large.
  • the feature amounts x 0 and x 1 of each file pair calculated by the feature amount generation unit 203 as described above are stored as records of the feature amount table 211.
  • FIG. 14 is a diagram for explaining a specific example of processing by the classifier and the gate function unit.
  • FIG. 14 shows a feature amount space 600 configured by the two feature amounts x0 and x1 described above.
  • Each record of the feature amount table 211 is mapped to one point on the feature amount space 600 according to the feature amounts x0 and x1 stored in the record.
  • the file pair (data file 500 and data file 501A) corresponding to the file relation 502A is mapped in the cluster 601 because there is little duplication in the contents of the data file that constitutes the file pair and the difference in file name is large. Ru.
  • file pair data file 500 and data file 501B
  • file relation 502B has a considerable overlap in the contents of the data files that make up the file pair
  • difference in file name is relatively small. Is mapped inside.
  • the linearity detection unit 204 has data redundancy in the file pair mapped to the cluster 602, and the file pair mapped to the cluster 601 and the cluster 603.
  • two identification lines are required: an identification line 604 that linearly separates the cluster 601 and the cluster 602, and an identification line 605 that linearly separates the cluster 602 and the cluster 603.
  • Each of the two identification lines is determined by the parameters of the two classifiers 2041 to which the feature quantities x0 and x1 are input.
  • the first classifier 2041 can be linearly separated by the identification line 604 with the feature quantities x 0 and x 1 as inputs.
  • the first classifier 2041 can separate the cluster 601 and the file pair of the cluster 602 with high accuracy.
  • the second classifier 2041 can be linearly separated by the identification line 605 with the feature amounts x0 and x1 as inputs.
  • the second classifier 2041 can separate file pairs of the cluster 602 and the cluster 603 with high accuracy.
  • Each of the two gate function units 2042 corresponding to the two classifiers 2041 receives the feature amounts x0 and x1, and is a boundary between the identification line 604 and the identification line 605 on the feature amount space 600 according to its own parameters Different weighting coefficients are calculated using the regression line 606 as a boundary, and the output of the classifier 2041 is weighted.
  • the gate function unit 2042 corresponding to the first classifier 2041 is capable of separating with high accuracy in the evaluation of the presence or absence of data linearization, and in the range on the left side of the regression line 606 which is the range, A large value weighting coefficient is calculated, and in a range to the right of the regression line 606, a small value weighting coefficient is calculated.
  • the gate function unit 2042 corresponding to the second classifier 2041 calculates a small value weighting coefficient, and separates with high accuracy for evaluation of the presence or absence of data lineage.
  • a coefficient of weighting of a large value is calculated.
  • the values weighted by the gate function unit 2042 as described above are summed up by the combiner 2043 and output as a comprehensive evaluation value.
  • the output of the first classifier 2041 is a prioritized overall evaluation value
  • the output of the second classifier 2041 is prioritized. It becomes a comprehensive evaluation value.
  • the linear detection unit 204 can appropriately separate the file pair mapped on the feature amount space 600 into the plurality of clusters with the feature amounts x0 and x1 as input, that is, the presence or absence of data lineage of the file pair Can be properly determined.
  • the processing load can be reduced without performing the evaluation processing that has a small influence on the detection of data lineage.
  • the metadata collection unit 202 may not collect this feature amount. This feature amount may not be stored in the feature amount table 211. Thus, the processing load can be reduced, and the capacity of the storage area required for the feature amount table 211 can be reduced.
  • a part or all of the functional units configured by the processor executing a program may be performed by a hardware circuit.
  • the program in the above embodiment may be installed from a program source.
  • the program source may be a program distribution server or storage medium (eg, portable storage medium).
  • 1 computer system, 100 ... metadata management device, 110 ... storage system, 300 ... data lake, 301 ... data file

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

メタデータ管理装置100は、プロセッサを備える。プロセッサは、ファイルペアの複数の特徴量を用いて、複数の評価処理のそれぞれによりファイルペア間のデータリニエージの有無を評価する評価値を出力し、複数の評価値に重み付けを行う重み付け処理を行い、得られた値を合計して総合評価値を算出する。プロセッサは、総合評価値に基づいて、データリニエージの有無を推定し、データリニエージが有ると推定された関連ファイルペア候補を出力する。プロセッサは、管理者による確認結果を受け付け、データリニエージを有しているとの確認結果が得られた関連ファイルペア候補を、データリニエージが有るファイルペアであるとして登録し、関連ファイルペア候補の確認結果と、特徴量とに基づいて、評価処理、又は重み付け処理の少なくとも一方に使用するパラメタを学習して反映させる。

Description

データリニエージ検出装置、データリニエージ検出方法、及びデータリニエージ検出プログラム
 本発明は、例えば、データレイクに格納された複数のファイルのデータリニエージを検出するデータリニエージ検出装置等に関する。
 企業内で生成される多様なデータを統合し、業務データ分析等に利活用するソリューションが注目されている。この実現のためには、構造化データ、非構造化データの別を問わずに蓄積することができる、一元化されたデータの格納先が必要である。このようなデータ格納のためのシステムは、一般にデータレイクとして知られている。
 こうしたデータレイクには、センサーデータ、ソーシャルメディアデータ等、定期的に生成されるデータが流入し、これらがデータファイルの形で保持されている。さらに流入したデータは、いわゆるETL(Extract・Transform・Load)ツールのようなデータ処理プログラムによって加工され、データ利活用に供される。加工されたデータもまた、別のデータファイルとしてデータレイクに保持されている。
 このようにデータレイクが保持するデータファイルには、或るデータファイルの加工元を辿ると別のデータファイルがあり、さらにその加工元となるデータファイルがあり、といったデータファイル間の由来・来歴(導出)の関係がある。このような関係をデータリニエージという。データリニエージは、例えば、メタデータとして管理される。このデータリニエージを活用することで、データレイク管理者は、データにエラーが混入した場合にその原因を探したり、データの改変がどの範囲に影響を及ぼすかを把握したり、データが不正に改変されていないかをチェックしたりといった、データレイクの健全性を向上させる作業を実施することができる。
 また、複雑なデータの分析プロセスの実行は、試行錯誤を伴う。データリニエージを活用し、分析プロセスに関わる一連のデータ加工の過程で生成された中間生成物であるデータファイルを残置しておくことで、後々に分析プロセスを修正したり、再現したりといった作業を効率化することができる。
 こうしたデータリニエージを収集する方法として第一に考えられるのは、データ処理プログラムが出力するログ情報を活用することである。データ処理プログラムが、その実行時にどのデータファイルに対してアクセスしたかを把握しているのは自明である。全てのデータ処理に関わるプログラムがそれらをログ情報として出力しておれば、このログ情報を元にデータリニエージを復元することができる。
 しかしながら、この前提は必ずしも成立しない。データ処理プログラムは、ETLツールのように、あらかじめログ情報を出力するべくフレームワークが用意されたものに限定されるものではない。例えば、ETLツールでは対応が難しい複雑な処理を実行するための固有のカスタムプログラムが作成されて使用されることがある。これとは逆に、ETLツールを使用するほどではない簡易な処理を実行するためのアドホックなプログラムが使用されることもある。また、データ処理担当者が表計算ソフトウェア等の汎用プログラムを用いて手動でデータ処理を実行することがある。これらのような場合には、各プログラムにおいては、ログ情報が出力されない。
 こうしたデータ処理プログラムの多様性がもたらすログ情報の欠落が、データリニエージ収集の阻害要因となる。結果として、データリニエージに断絶が生じることにより、データファイルの由来や来歴を同定することが困難になる。
 このような課題に対する技術としては、例えば特許文献1には、二つのデータファイルをもってファイルペアとして、それらの間で、例えばファイルの内容の重複度合、あるいはスキーマの共通要素の数、といったさまざまな特徴を抽出し、このファイルペアの間における複製や加工といったデータリニエージの有無を推測することで、データリニエージを検出する技術が開示されている。
米国特許出願公開第2015/0356094号明細書
 上記した技術によって検出されたファイルペアのデータリニエージは、あくまでも機械的な推測処理に基づくものである。したがって、その処理の結果が示すデータリニエージが実際に存在したものであるのか、それとも誤検出であるのかを判断するのは、データレイク管理者(以下、管理者という)が行うこととなる。
 この帰結として、推測処理の精度が、管理者の作業負荷に大きな影響を及ぼす。特に、データレイクには定期的にデータが流入するという特徴があることから、流入したデータに対応するデータ処理もまた定期的に発生する。この結果、類似したデータファイルが定期的に発生することになる。このため、或るデータファイルについてデータリニエージの誤検出が発生した場合、このデータファイルに類似したデータファイルについての誤検出もまた定期的に発生することになり、この誤検出の訂正のために必要な管理者の作業負荷は一向に軽減されることがない。
 つまり、既存のデータリニエージ検出技術では、その推測処理の精度が改善することがなく、管理者の作業負荷を軽減できない。
 本発明は、上記事情に鑑みなされたものであり、その目的は、ファイル間のデータリニエージの検出における管理者の作業負荷を適切に軽減することのできる技術を提供することにある。
 上記目的を達成するため、一の観点に係るデータリニエージ検出装置は、複数のファイルのデータリニエージを検出するデータリニエージ検出装置である。データリニエージ検出装置は、1以上のプロセッサであるプロセッサ部を備える。
 プロセッサ部は、複数のファイル中の処理対象となる所定のファイルペアについての複数の特徴量を用いて、複数の評価処理のそれぞれによりファイルペア間のデータリニエージの有無を評価する評価値を出力し、複数の評価処理により出力された複数の評価値に対して、それぞれに対応する所定の重み付けを行う重み付け処理を行い、重み付け処理によって得られた複数の値を合計して総合評価値を算出する。
 また、プロセッサ部は、総合評価値に基づいて、ファイルペア間のデータリニエージの有無を推定し、データリニエージが有ると推定されたファイルペアである関連ファイルペア候補を出力し、関連ファイルペア候補がデータリニエージを有しているか否かについての管理者による確認結果を受け付け、データリニエージを有しているとの確認結果が得られた関連ファイルペア候補を、データリニエージが有るファイルペアであるとして登録する。プロセッサ部は、関連ファイルペア候補の確認結果と、ファイルペア候補の特徴量とに基づいて、評価処理、又は重み付け処理の少なくとも一方に使用するパラメタを学習して反映させる。
 本発明によれば、ファイル間のデータリニエージの検出における管理者の作業負荷を適切に軽減することができる。
図1は、一実施形態に係る計算機システムの構成図である。 図2は、一実施形態に係るメタデータ管理装置の機能構成図である、 図3は、一実施形態に係るリニエージ検出部及び関連する要素の機能構成図である。 図4は、一実施形態に係るメタデータテーブルの構成図である。 図5は、一実施形態に係るデータリニエージの概念を説明する図である。 図6は、一実施形態に係るリニエージテーブルの構成図である。 図7は、一実施形態に係る特徴量テーブルの構成図である。 図8は、一実施形態に係るリニエージ候補生成処理のフローチャートである。 図9は、一実施形態に係るリニエージ判定処理のフローチャートである。 図10は、一実施形態に係るリニエージ候補表示画面の一例を示す図である。 図11は、一実施形態に係る学習処理のフローチャートである。 図12は、一実施形態に係るリニエージ情報更新処理及び学習データ追加処理のフローチャートである。 図13は、データファイルとその内容の具体例を示す図である。 図14は、分類器とゲート関数部による処理の具体例を説明する図である。
 実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
 以下の説明では、「aaaテーブル」といった表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「aaaテーブル」を「aaa情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部又は一部が1つのテーブルであってもよい。
 また、以下の説明では、「プロセッサ部」は、1以上のプロセッサを含む。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサである。1以上のプロセッサの各々は、シングルコアでもよいしマルチコアでもよい。プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。
 また、以下の説明では、「時刻」は、年月日時分の単位で表現されるが、時刻の単位は、それよりも粗くても細かくてもよいし、また異なる単位でもよい。
 図1は、一実施形態に係る計算機システムの構成図である。
 計算機システム1は、リニエージ検出装置の一例としてのメタデータ管理装置100と、1以上のストレージシステム110と、を備えている。メタデータ管理装置100と、ストレージシステム110とは、ネットワーク106を介して接続されている。
 ネットワーク106は、例えばイーサネット(登録商標)や、IEEE(Institute of Electrical and Electronics Engineers)802.11規格に基づく無線ネットワーク、SONET/SDH(Synchronous Optical Network/Synchronous Digital Hierarchy)規格に基づく広域ネットワーク、又は、これら複数のネットワークを組み合わせたネットワークである。
 メタデータ管理装置100は、例えば、パーソナルコンピュータ、ラックマウントサーバ、又はブレードサーバ等で構成され、プロセッサ101、メモリ102、記憶デバイス103、ネットワークインタフェース(I/F)104、及びコンソール105を有する。プロセッサ101は、内部バス等を介して、メモリ102、記憶デバイス103、ネットワークI/F104、及びコンソール105と接続されている。なお、メタデータ管理装置100は、処理負荷の分散や可用性の向上等を目的として、プロセッサ101、メモリ102、記憶デバイス103、ネットワークI/F104、及びコンソール105の一部又は全部を複数有してもよい。また、メタデータ管理装置100は、物理的に一つ、又は複数の計算機で構成してもよく、また、一つの計算機により論理的に構成された仮想計算機としてもよいし、複数の計算機により論理的に構成された仮想計算機としてもよい。なお、メタデータ管理装置100を物理的に複数の計算機上で構成する場合には、各計算機のプロセッサ101はネットワーク106を介してデータ通信を行うようにすればよい。
 プロセッサ101は、例えば、CPU(Central Processing Unit)等のハードウェアによる演算装置であり、メモリ102に格納されたプログラムを実行する。メモリ102は、例えば、揮発性の半導体メモリから構成され、プログラムやデータを一時的に記憶する。
 記憶デバイス103は、例えば、ハードディスクドライブ(HDD:Hard Disk Drive)、ソリッドステートドライブ(SSD:Solid State Drive)、又はこれらを複数台組み合わせた不揮発性の記憶デバイスであり、プログラムやデータを長期間記憶する。記憶デバイス103は、例えば、オペレーティングシステム(OS:Operating System)やユーザプログラムを記憶する。記憶デバイス103に格納されたオペレーティングシステムや、ユーザプログラム(例えば、リニエージ検出プログラム)は、メタデータ管理装置100の起動時や、処理の実行時にメモリ102に読み出される。なお、メモリ102に読み出されたオペレーティングシステム及びユーザプログラムは、プロセッサ101によって実行され、各種機構が実現される。オペレーティングシステムやユーザプログラムは、リムーバブルメディア(CD-ROM、フラッシュメモリ等)又はネットワークを介してメタデータ管理装置100に提供され、記憶デバイス103に格納される。リムーバブルメディアからプログラムを記憶デバイス103に格納する場合には、メタデータ管理装置100は、リムーバルメディアからデータを読み込むインターフェースを備える必要がある。
 ネットワークI/F104は、例えば、NIC(Network Interface Controller)等の通信デバイスで構成され、ネットワーク106と接続される。ネットワークI/F104は、ネットワーク106を介しての他の装置(例えば、ストレージシステム110)との通信時のプロトコル制御を行う。
 コンソール105は、例えば、キーボード及びマウス等の入力装置と、液晶表示パネル等のディスプレイ装置とを備える。コンソール105は、後述するデータレイク300の管理者(データレイク管理者)の入力装置による各種操作入力に応じた操作信号を受信して操作入力の内容をプロセッサ101に通知する。また、コンソール105は、プロセッサ101から出力されるテキスト情報やグラフィカル情報に基づくテキストや画像等をディスプレイ装置に表示する。
 ストレージシステム110は、例えば、複数の記憶デバイス111を備える。本実施形態では、複数のストレージシステム110の記憶デバイス111により、センサーデータ、ソーシャルメディアデータ等の定期的に生成されるデータを、ファイル形式で保持するデータ蓄積領域であるデータレイク300が構成されている。複数のストレージシステム110は、お互いに離れた場所(遠隔地)に配置されていてもよい。
 次に、メタデータ管理装置100の機能構成について説明する。
 図2は、一実施形態に係るメタデータ管理装置の機能構成図である、
 メタデータ管理装置100は、データレイク300に格納されているデータファイル(単にファイルともいう)301を処理対象として、データファイル間のデータリニエージ(導出関係:単にリニエージということもある)を検出して、管理者へ提供するための処理を実行する。メタデータ管理装置100は、ファイルアクセス部201、メタデータ収集部202、特徴量生成部203、リニエージ検出部204、学習部205、表示操作部206、メタデータリポジトリ207、及び学習データストレージ208を有する。ファイルアクセス部201、メタデータ収集部202、特徴量生成部203、リニエージ検出部204、学習部205、及び表示操作部206は、主に、プロセッサ101がメモリ102のリニエージ検出プログラムを実行することにより構成される。メタデータリポジトリ207及び学習データストレージ208は、主に、記憶デバイス103により構成される。
 メタデータリポジトリ207は、メタデータテーブル209及びリニエージテーブル210を格納する。メタデータテーブル209及びリニエージテーブル210については後述する。学習データストレージ208は、特徴量テーブル211を格納する。特徴量テーブル211については、後述する。
 ファイルアクセス部201は、データレイク300に格納されているデータファイル301を認識し、データファイル301の内容及びデータファイル301に関するメタデータを読み出す。メタデータ収集部202は、ファイルアクセス部201が読み出したデータファイル301のメタデータと、データファイル301の内容から生成したメタデータとを、メタデータテーブル209に格納する。特徴量生成部203は、メタデータテーブル209に格納されたメタデータを読み出し、二つのデータファイル301の組(ファイルペア)毎に特徴量を生成し、特徴量テーブル211に格納する。
 リニエージ検出部204は、特徴量テーブル211に格納された特徴量を読み出し、ファイルペアついてのデータリニエージを推測し、推測したデータリニエージの候補となるファイルペア(データリニエージ候補)をリニエージテーブル210に格納し、ファイルペア間にデータリニエージが存在するか否かの情報を特徴量テーブル211のラベルに格納する。
 学習部205は、特徴量テーブル211が保持する特徴量とラベルとを読み出し、読出した特徴量とラベルとにより、学習処理を行って、リニエージ検出部204が保持する後述する分類器2041及びゲート関数部2042のパラメタを更新する。
 表示操作部206は、リニエージテーブル210が保持するデータリニエージを読み出し、コンソール105により表示する。また、表示操作部206はコンソール105を介して操作入力の内容を受信して解釈し、リニエージテーブル210が保持するデータリニエージと、特徴量テーブル211のラベルとを更新する。
 次に、リニエージ検出部204の詳細な構成について説明する。
 図3は、一実施形態に係るリニエージ検出部及び関連する要素の機能構成図である。
 リニエージ検出部204は、1以上の分類器2041、1以上のゲート関数部2042、及びコンバイナ2043を有する。リニエージ検出部204は、分類器2041及びゲート関数部2042を、それぞれ二つ以上備えるようにしてもよい。
 分類器2041は、パラメタを有し、特徴量テーブル211が保持するファイルペアの特徴量を読み出し、ファイルペアを構成する二つのデータファイル301間にデータリニエージがあるか否かを判定するための評価値を、パラメタに基づいて算出して出力する。出力する評価値は、連続値でもよいし、任意の閾値によって2値に分類した結果を示す数値(分類値:例えば1と-1)でもよい。分類器2041は、例えば、線形分類器としてもよい。
 ゲート関数部2042は、分類器2041のそれぞれに対応して一つずつ設けられている。ゲート関数部2042は、パラメタを有し、対応する分類器2041からの評価値を入力として受信し、評価値に対してパラメタに基づいた所定の重み付け処理を行って、すなわち、所定の重み付け係数を乗算して重み付け評価値を出力する。例えば、ゲート関数部2042は、特徴量テーブル211が保持するファイルペアの特徴量を読み出し、特徴量に基づいて重み付け係数を算出する。なお、重み付け係数は、0から1の範囲としてもよい。ゲート関数部2042で重み付け係数を求める関数は、例えば、ソフトマックス関数としてもよく、この場合には、ゲート関数部2042が有するパラメタは、ソフトマックス関数のパラメタとなる。
 コンバイナ2043は、それぞれのゲート関数部2042が出力した重み付け評価値を入力として受信し、これらの重み付け評価値を混合した結果(総合評価値)を出力する。コンバイナ2043は、例えば、重み付け評価値の総和をとる総和関数により総合評価値を算出するようにしてもよい。
 リニエージ検出部204は、コンバイナ2043により混合された結果(総合評価値)に基づいて、ファイルペアを構成する二つのデータファイル301間にデータリニエージがあるか否かの判定結果を、リニエージテーブル210及び特徴量テーブル211に格納する。なお、総合評価値に基づく判定結果としては、総合評価値そのままとしてもよいし、総合評価値を所定の閾値との関係に基づいて2値化した値としてもよい。
 図4は、一実施形態に係るメタデータテーブルの構成図である。
 メタデータテーブル209は、例えば、ドキュメント指向データベース管理システムが保持するデータベースである。メタデータテーブル209は、インデックス209Aとドキュメント209Bとを含む。
 インデックス209Aは、データファイル301のそれぞれに対応するレコードを格納する。インデックス209Aのレコードは、idフィールドと、パス名(pathname)フィールドと、タイムスタンプ(timestamp)フィールドとを有する。idフィールドには、データファイル301を識別する一意な識別符号(例えば”F001”)が格納される。インデックス209Aの各レコードは、それぞれ一つのドキュメント209Bと対応しており、idフィールドが保持する一意な識別符号により識別可能となっている。パス名フィールドには、データファイル301のパス名が格納される。タイムスタンプフィールドには、データファイル301の生成されたタイムスタンプが格納される。
 ドキュメント209Bは、インデックス209Aの所定のレコード(識別符号に対応するレコード)に対応するデータファイル301のメタデータ、及び、データファイル301の内容から生成されたメタデータを格納する。
 図4のドキュメント209Bは、インデックス209Aのidフィールドが“F001”のレコードに対応するドキュメントであり、対応するインデックス209のidを示す“id”プロパティと、メタデータとして、データファイル301のパス名を示す“pathname”プロパティ、データファイル301のタイムスタンプを示す“timestamp”プロパティ、データファイル301のフォーマットを示す“format”プロパティ、データファイル301のフィールド数を示す“number_of_fields”プロパティ、データファイル301のフィールド名を示す“fields”プロパティ、等を含む。ドキュメント209Bが保持するメタデータの内の“pathname”プロパティ、“timestamp”プロパティは、データファイル301のメタデータとして、データレイク300が保持しているものを、ファイルアクセス部201が読み出して設定したものである。一方、“format”プロパティ、“number_of_fields”プロパティ、“fields”プロパティ等は、データファイル301の内容に基づいて、メタデータ収集部202が生成したメタデータである。なお、ファイルアクセス部201が収集するメタデータや、メタデータ収集部202が生成するメタデータは、これらに限定されない。
 次に、リニエージテーブル210が管理するデータリニエージの概念について説明する。
 図5は、一実施形態に係るデータリニエージの概念を説明する図である。
 ここで、データレイク300が、例えば、データファイル301A、データファイル301B、及びデータファイル301Cを保持しているものとする。
 例えば、リニエージ検出部204が、データファイル301Aを基に加工してデータファイル301Bを作成したと推測し、その推測を管理者が是認した場合には、データファイル301Aとデータファイル301Bとの間にあるリニエージ関係302Aは、“endorsed(承認)”の状態となる。一方、リニエージ検出部204が、データファイル301Aを基に加工してデータファイル301Cを作成したと推測し、その推測を管理者が是認していない場合には、リニエージ関係302Bは”candidate(候補)”の状態となる。また、リニエージ検出部204が、データファイル301Bを基に加工してデータファイル301Cが作成されたと推測し、その推測を管理者が否認した場合には、データファイル301Bとデータファイル301Cとの間にはデータリニエージは存在しない。また、リニエージ検出部204が、データファイル301Bとデータファイル301Cとの間には、データリニエージが存在しないと推測し、管理者が推測を是認も否認もしていない場合には、データファイル301Bとデータファイル301Cとの間にはデータリニエージは存在しない。
 次に、リニエージテーブル210について説明する。
 図6は、一実施形態に係るリニエージテーブルの構成図である。
 リニエージテーブル210は、例えば、テーブル形式データであり、各レコードは、1つのファイルペアのデータリニエージに対応する。リニエージテーブル210のレコードは、idフィールドと、fromIdフィールドと、toIdフィールドと、batch_noフィールドと、statusフィールドとを有する。
 idフィールドは、ファイルペアを一意に識別可能な識別符号が格納される。fromIdフィールドには、データリニエージを有する(導出関係を有する)ファイルペアの基となるデータファイル301に対応する識別符号(例えば、メタデータテーブル209で保持されるデータファイル301の識別符号と共通のもの)が格納される。toIdフィールドには、データリニエージを有するファイルペアの作成先となるデータファイル301に対応する識別符号が格納される。batch_noフィールドには、リニエージ検出部204が後述するリニエージ候補生成処理を実行する毎に付与される、処理を特定する識別符号(バッチ番号)が格納される。statusフィールドには、データリニエージの状態が格納される。具体的には、statusフィールドには、“endorsed”又は”candidate”が格納される。
 次に、特徴量テーブル211について説明する。
 図7は、一実施形態に係る特徴量テーブルの構成図である。
 特徴量テーブル211は、例えば、テーブル形式データであり、各レコードは、データレイク300における2つのデータファイル301により構成される各ファイルペアに対応する。特徴量テーブル211のレコードは、idフィールドと、fromIdフィールドと、toIdフィールドと、labelフィールドと、endorsedフィールドと、複数のfeatureフィールド(feature1、feature2、feasture3、・・・)とを有する。
 idフィールドには、ファイルペアの識別符号(例えば、リニエージテーブル210のidフィールドの識別符号と共通のもの)が格納される。fromIdフィールドには、ファイルペアの一方のデータファイル301に対応する識別符号(例えば、メタデータテーブル209で保持されるデータファイル301の識別符号と共通のもの)が格納される。toIdフィールドには、ファイルペアの他方のデータファイル301の識別符号が格納される。
 labelフィールドには、ファイルペアを構成するデータファイル301間に、データリニエージ(導出関係)が存在するか否かを示す情報(ラベル)が格納される。本実施形態では、labelフィールドには、例えば、データリニエージが存在する場合には“1”が格納され、存在しない場合には、“-1”が格納される。endorsedフィールドには、データリニエージが是認されているか否かの情報が格納される。具体的には、endorsedフィールドには、データリニエージが是認されている場合、すなわち、“endorsed”である場合には、“1”が格納され、データリニエージが是認されていない場合、すなわち、“candidate”である場合には、“0”が格納される。例えば、ファイルペアのデータファイル301間にデータリニエージが存在しない場合、すなわち、labelフィールドが“-1”に設定されているレコードにおいて、管理者がその存在を否認した場合には、endorsedフィールドには“1”が格納される一方、管理者が否認も是認もしていない場合にはendorsedフィールドには“0”が格納される。featureフィールドのそれぞれには、特徴量生成部203がファイルペアから算出した、異なる特徴に関する特徴量が格納される。
 次に、メタデータ管理装置100による処理動作について説明する。
 図8は、一実施形態に係るリニエージ候補生成処理のフローチャートである。
 リニエージ候補生成処理は、例えば、図示しないスケジューラの制御によって定期的に実行される。リニエージ候補生成処理は、実行される毎に、その処理を特定する識別符号(バッチ番号)が付与される。ここで、新たに実行される処理に付与されるバッチ番号は、例えば、数値であり、直前に行った処理のバッチ番号よりも大きい数値である。
 まず、ファイルアクセス部201は、データレイク300が保持するデータファイル301をスキャンし、前回のリニエージ候補生成処理の実行時から現在までの間にデータレイク300に新規追加されたデータファイル301をリストアップする(ステップS602)。
 次いで、メタデータ収集部202は、新規追加されたデータファイル301からメタデータを収集及び生成して、メタデータテーブル209に格納する(ステップS604)。
 次いで、特徴量生成部203は、メタデータテーブル209が保持するレコードに基づいて、新規追加されたデータファイル301を最低1つ含むファイルペアをリストアップし、このファイルペアに一意な識別符号を付与し、特徴量テーブル211にファイルペアに対応するレコードを追加する(ステップS606)。更に、特徴量生成部203は、リストアップされたファイルペアのそれぞれについて、ファイルペアの複数の特徴量を算出し、それぞれの特徴量を特徴量テーブル211のfeatureフィールドのそれぞれに格納する(ステップS608)。
 次いで、リニエージ検出部204は、リニエージ判定処理を実行する(ステップS610)。具体的には、リニエージ検出部204は、特徴量テーブル211に格納された各レコードのうちのデータリニエージの判定が行われていない全てのファイルペアに対応するレコード、具体的には、labelフィールドが空欄のレコードについて、このレコードが保持する特徴量を、各分類器2041に入力し、その後、コンバイナ2043から出力される総合評価値により、ファイルペアについてのデータリニエージの有無を判定する。この結果、ファイルペアにデータリニエージが存在すると判定した場合には、リニエージ検出部204は、特徴量テーブル211のこのファイルペアに対応するレコードのlabelフィールドに“1”を格納するとともに、リニエージテーブル210にこのファイルペアに対応するレコードを追加する。この際、リニエージテーブル210に追加するレコードのbatch_noフィールドには、今回の処理のバッチ番号を格納する。一方、データリニエージが存在しないと判定した場合は、リニエージ検出部204は、特徴量テーブル211のlabelフィールドに“-1”を格納する。
 データリニエージの判定が行われていない全てのファイルペアに対応するレコードに対する処理が行われた後に、表示操作部206は、リニエージテーブル210に格納されたレコードのうち、batch_noフィールドのバッチ番号が最大のレコード、すなわち、今回の処理により追加されたレコードに基づいて、リニエージ候補に関する情報を含むリニエージ候補表示画面(図10参照)を生成し、コンソール105の表示画面に表示させる(ステップS612)。
 次に、リニエージ検出部204によるリニエージ判定処理について詳述する。
 図9は、一実施形態に係るリニエージ判定処理のフローチャートである。
 リニエージ判定処理は、図8におけるステップS610のリニエージ判定処理に対応する。
 リニエージ検出部204は、特徴量テーブル211が保持する各レコードのうち、labelフィールドが空欄のレコードのそれぞれを処理対象として、LOOP1の処理(ステップS804~S818)を実行する。以下のLOOP1の処理の説明において、処理対象のレコードを対象レコードという。
 まず、リニエージ検出部204は、対象レコードから、featureフィールドのそれぞれのフィールドから特徴量を取得し、各分類器2041に入力する(ステップS804)。ここで、各フィールドに格納された特徴量は、スカラ値であり、複数のフィールドからの特徴量を合わせると、全体としては特徴量ベクトルとなる。
 次いで、リニエージ検出部204のそれぞれの分類器2041とその分類器2041に接続されたゲート関数部2042との組のそれぞれに対して、LOOP2の処理(ステップS808,S810)の処理を実行する。
 分類器2041は、特徴量ベクトルを受信して、この分類器2041の処理により評価値を算出し(ステップS808)、評価値を接続されたゲート関数部2042に出力する。ゲート関数部2042は、分類器2041から入力された評価値を受信し、受信した評価値に対して、自身のパラメタに基づいて決定される重み付けを行った値(重み付け評価値)をコンバイナ2043に出力する(ステップS810)。
 LOOP2の処理により、分類器2041及びゲート関数2042の組の数だけ重み付け評価値がコンバイナ2043に出力される。
 LOOP2の処理後に、コンバイナ2043は、各分類器2041及びゲート関数2042の組から出力された重み付け評価値を混合し(ステップS812)、混合した結果(総合評価値)に基づく値(ここでは、1又は-1)を特徴量テーブル211のlabelフィールドに格納する(ステップS814)。次いで、コンバイナ2043は、総合評価値に基づいて、データリニエージがあるか否かを判定する(ステップS816)。この結果、データリニエージがあると判定した場合(ステップS816:YES)には、コンバイナ2043は、リニエージテーブル210に、データリニエージがあるファイルペアのレコードを追加する。すなわち、コンバイナ2043は、リニエージテーブル210に、ファイルペアの識別符号、ファイルペアを構成するデータファイル301の識別符号、リニエージ候補生成処理に付与されたバッチ番号を含み、statusフィールドが”candidate”であるレコードを追加する(ステップS818)。一方、データリニエージがないと判定した場合(ステップS816:NO)には、コンバイナ2043は、ステップS818を実行しない。
 そして、特徴量テーブル211が保持する各レコードのうち、labelフィールドが空欄のレコードのすべてを処理対象として、LOOP1の処理(ステップS804~S818)を実行した後、リニエージ判定処理を終了する。
 このリニエージ判定処理によると、データレイク300に新たに追加されたデータファイルを含むファイルペアのすべてを対象にリニエージ判定処理が行われることとなる。
 次に、リニエージ候補表示画面について説明する。
 図10は、一実施形態に係るリニエージ候補表示画面の一例を示す図である。
 リニエージ候補表示画面400は、リニエージ候補生成処理のステップS612の処理により、コンソール105のディスプレイ装置に表示される画面である。
 リニエージ候補表示画面400は、表示操作部206が、リニエージテーブル210が保持するレコードのうち一部(例えば、batch_noフィールドのバッチ番号が最大のもの)をコンソール105に表示させる画面である。
 リニエージ候補表示画面400においては、リニエージテーブル210に格納されているレコードに含まれているデータファイル301が、例えばデータファイルアイコン401(401A~401D)として表示される。なお、データファイル301の識別符号を用いて、メタデータテーブル209を検索して、データファイル301のパス名やファイル名等を同定し、これらをデータファイルアイコン401に対応付けて表示させることにより、管理者が容易にデータファイルを認識できるようにしてもよい。
 また、リニエージ候補表示画面400においては、リニエージテーブル210に格納されているレコードに対応するファイルペアを構成するデータファイル301のデータファイルアイコン401同士をデータリニエージ線402(402A,402B)で接続するように表示する。なお、データリニエージ線402に対して、レコードに格納されているデータリニエージの識別符号を併せて表示してもよい。
 また、リニエージ候補表示画面400においては、リニエージテーブル210に格納されているファイルペアのレコードをデータリニエージ候補リスト403として表示する。データリニエージ候補リスト403のidフィールドには、リニエージテーブル210のidフィールドの識別符号が表示される。また、データリニエージ候補リスト403のsourceフィールド及びtargetフィールドのそれぞれには、リニエージテーブル201のfromIdフィールド及びtoIdフィールドが保持する識別符号を用いて、メタデータテーブル209のレコードを検索して同定された、それぞれのデータファイル301のパス名が表示される。また、データリニエージ候補リスト403のactionフィールドには、“Accept”、“Reject”、または“Unsure”のいずれか一つの値を選択できるように構成されたドロップダウンリストが表示される。データリニエージ候補リスト403の或るレコードのactionフィールドにおいて“Accept”が管理者により選択された場合は、このレコードに対応するファイルペアのデータリニエージについて是認の意思を表明したこととなる一方、“Reject”が選択された場合は、このレコードに対応するファイルペアのデータリニエージについて否認の意思を表明したこととなる。
 また、リニエージ候補表示画面400には、データリニエージ追加ボタン(Add more)404及び正否情報送信ボタン(Submit)405が表示される。
 正否情報送信ボタン405が管理者により押下されると、リニエージ候補表示画面400を表示するコンソール105は、データリニエージ候補リスト403のidフィールドに格納されている識別符号と、actionフィールドに設定された値とをもって、この識別符号に対応する管理者によるデータリニエージ候補の正否の情報として、表示操作部206に伝達する。
 この結果、actionフィールドに設定された値が“Accept”である場合には、表示操作部206は、データリニエージ候補リスト403のidフィールドの識別符号に対応する特徴量テーブル211のレコードにおけるendorsedフィールドの値を“1”に設定し、データリニエージ候補リスト403のidフィールドの識別符号に対応するリニエージテーブル210のレコードのstatusフィールドの値を“endorsed”に設定する。また、actionフィールドに設定された値が“Reject”である場合には、表示操作部206は、データリニエージ候補リスト403のidフィールドの識別符号に対応するリニエージテーブル210のレコードを削除する。また、actionフィールドに設定された値が“Unsure”である場合には、表示操作部206は、特に何も行わない。
 データリニエージ追加ボタン404が管理者により押下されると、リニエージ候補表示画面400を表示するコンソール105は、リニエージテーブル210が格納していないファイルペアであって、データリニエージがあるファイルペアを選択入力するためのダイアログを表示する。このダイアログに対して、管理者により、ファイルペアが選択されて確定の指示が出されると、コンソール105は、選択されたファイルペアのデータファイルを示す識別符号の組を表示操作部206に伝達する。
 表示操作部206は、ファイルペアのデータファイルを示す識別符号の組の伝達を受け取ると、データファイルを示す識別符号の組に対応する特徴量テーブル211のレコードを特定し、特定したレコードのlabelフィールドの値をデータリニエージがあることを示す“1”に設定し、endorsedフィールドの値を“1”に設定する。また、表示操作部206は、特徴量テーブル211の特定したレコードのidフィールドの識別符号を特定し、リニエージテーブル210に、特定したidフィールドの識別符号、伝達を受けたファイルペアを構成するデータファイルの識別符号を含み、statusフィールドが”endorsed”であるレコードを追加する。これにより、管理者によりデータリニエージを有すると指定されたファイルペアに関するレコードがリニエージテーブル210に追加されることとなる。
 リニエージ候補表示画面400のデータリニエージ候補リスト403において、例えば、
リニエージ検出部204の各ゲート関数部2042の重み付けが大きい順に、対応する分類器2041による評価処理を示す情報や、その評価値に関する情報を表示するようにしてもよい。このようにすると、重み付けが大きい分類器2041による評価値に関する情報を管理者が確認することができる。
 なお、リニエージ候補表示画面400の表示の様式は、これに限定されるものではなく、データリニエージ候補リスト403のactionフィールドや、これに類する表示画面要素により、リニエージ検出部204が出力したデータリニエージ候補の結果に対して、管理者がその正否をメタデータ管理装置100に伝達することができるものであればよい。このリニエージ候補表示画面400に対して入力されてメタデータ管理装置100に送信されたデータリニエージ候補の正否情報は、リニエージ検出部204の学習に供されることとなる。
 次に、メタデータ管理装置100による学習処理について説明する。
 図11は、一実施形態に係る学習処理のフローチャートである。
 表示操作部206が、リニエージ候補表示画面400の正否情報送信ボタン405が押下されることにより送信されるデータリニエージ候補の正否情報を受信すると(ステップS1002)、このデータリニエージ候補の正否情報に基づいて、リニエージテーブル210を更新するリニエージ情報更新処理を実行する(ステップS1004)。次いで、表示操作部206は、特徴量テーブル211を更新する学習データ追加処理を実行する(ステップS1006)。
 学習部205は、データリニエージ候補の正否が確定したファイルペアの情報、すなわち、特徴量テーブル211のレコードのうち、endorsedフィールドが“1”に設定されている全てのレコードを学習データ(正解データ)として抽出し、この学習データに基づいて、リニエージ検出部204の学習、すなわち、リニエージ検出部204のパラメタ等を決定する学習を行う(ステップS1008)。例えば、リニエージ検出部204の分類器2041が線形分類器であり、ゲート関数部2042におけるゲート関数がソフトマックス関数である場合には、例えば、EM(Expectation-maximization)アルゴリズムによって線形分類器とソフトマックス関数のパラメタを求めることが、リニエージ検出部204の学習に相当する。なお、リニエージ検出部204の学習方法はこれに限られない。例えば、分類器2041による分類処理のパラメタのみを学習するようにしてもよく、また、ゲート関数部2042のパラメタのみを学習するようにしてもよい。
 なお、ステップS1008におけるリニエージ検出部204の学習については、例えば、図示しないスケジューラの制御によって定期的に実行するようにしてもよい。
 次に、リニエージ情報更新処理及び学習データ追加処理について説明する。
 図12は、一実施形態に係るリニエージ情報更新処理及び学習データ追加処理のフローチャートである。
 リニエージ情報更新処理は、図11のステップS1004の処理に対応し、学習データ追加処理は、図11のステップS1006の処理に対応する。
 表示操作部206は、正否情報を受信した全てのデータリニエージ候補のそれぞれを処理対象として、LOOP1の処理(ステップS1104~ステップS1116)を実行する。ここで、このLOOP1処理における処理対象とするデータリニエージ候補を対象データリニエージ候補ということとする。
 表示操作部206は、対象データリニエージ候補に対する、リニエージ候補表示画面400のデータリニエージ候補リスト403のactionフィールドの選択が”Accept”、又は、”Reject”であるか否かを判定する(ステップS1104)。この結果、
actionフィールドの選択が”Accept”、又は、”Reject”でない場合、すなわち、“Unsure”である場合(ステップS1104:NO)である場合には、表示操作部206は、次の処理対象のデータリニエージ候補に対してLOOP1の処理を行う。
 一方、actionフィールドの選択が”Accept”、又は、”Reject”である場合(ステップS1104)には、表示操作部206は、actionフィールドの選択が、”Accept”、であるか(データリニエージの存在が是認されているか)、”Reject”であるか(データリニエージの存在が否認されているか)を判定する。
 この結果、表示操作部206は、actionフィールドの選択が、”Accept”、である場合(ステップS1106:YES)には、表示操作部206は、リニエージテーブル210の対象データリニエージ候補の識別符号に対応するレコードのstatusフィールドを“endorsed”に更新し(ステップS1108)、特徴量テーブル211の対象データリニエージ候補の識別符号に対応するレコードのendorsedフィールドを“1”に更新し(ステップS1110)、次の処理対象のデータリニエージ候補に対してLOOP1の処理を行う。
 一方、actionフィールドの選択が”Reject”である場合(ステップS1106:NO)には、表示操作部206は、リニエージテーブル210の対象データリニエージ候補の識別符号に対応するレコードを削除し(ステップS1112)、特徴量テーブル211の対象データリニエージ候補の識別符号に対応するレコードのlabelフィールドを“-1”に更新し(ステップS1114)、endorsedフィールドを“1”に更新し(ステップS1116)、次の処理対象のデータリニエージ候補に対してLOOP1の処理を行う。
 そして、表示操作部206は、正否情報を受信した全てのデータリニエージ候補のそれぞれを処理対象として、LOOP1の処理を行った後に、リニエージ情報更新処理及び学習データ追加処理を終了する。
 このリニエージ情報更新処理及び学習データ追加処理によると、表示操作部206がリニエージ候補表示画面400に表示するデータリニエージに関する情報(リニエージテーブル210)は、管理者の意向を反映した内容に更新され、また、リニエージ検出部204の学習に供される学習データ(特徴量テーブル211)も、管理者の意向を反映した内容に更新されることとなる。
 したがって、リニエージ検出部204が、逐次管理者の意向を反映したデータリニエージの検出処理を行うこととなり、例えば、類似したデータファイルに対するデータリニエージの判定における誤検出の発生を低減することができ、管理者の作業負荷を適切に低減することができる。
 次に、一実施形態におけるデータリニエージ判定処理を、データファイルの具体例を用いて説明する。
 図13は、データファイルとその内容の具体例を示す図である。
 データレイク300は、例えば、センサーデータを含むデータファイル500を保持する。また、データレイク300は、データファイル501A,501B,501Cを保持する。
 データファイル500は、センサ”S12345”が2017年4月1日に測定したデータを記録したファイルである。データファイル501Aは、センサ”S12345”が2017年3月31日に測定したデータを記録したファイルである。データファイル501Bは、センサ”S12345”が2017年4月1日に測定したデータ(すなわちデータファイル500が保持するデータ)を、ETLツールによってCSV(Commma Separated Values)形式に加工(変換)したファイルである。データファイル501Cは、センサ”S56789”が2017年4月1日に測定したデータを記録したファイルである。
 上記した構成により、データファイル500と、各データファイル501A,501B,501Cのそれぞれのファイル関係502A,502B、502Cのうち、ファイル関係502Bのみがデータリニエージとなっている。
 特徴量生成部203は、ステップS608において、これら4つのデータファイルを元にファイルペアをリストアップし、それぞれのファイルペアについて、例えば、2種類の特徴量x0、x1を生成する。なお、以下においては、説明を平易にするため、データファイル500と、各データファイル501A,501B,501Cとの3つのファイルペアを対象についてのみ考慮したものとする。
 特徴量生成部203は、特徴量x0として、ファイルペアについて、データファイルの内容の類似性を数量化する。ファイルペアの2つのデータファイルを比較すると、その内容には異なる部分と重複する部分がある。内容の重複の度合を数量化する方法として、例えば、ファイルを複数のチャンクに分割し、チャンクそれぞれのチェックサムを算出する処理を2つのファイルについて行い、その結果もたらされる2つのチェックサムの系列のうち一致するものの比率を算出し、正規化することが考えられる。なお、データファイルの内容の重複の度合を数量化する方法は、これに限定されない。
 例えば、データファイル500とデータファイル501Aとの内容について比較すると、測定日時と、記録されたセンサーデータとが異なるため、その重複は少ないため、特徴量x0の値は小さい。一方、データファイル500と501Bとの内容について比較すると、測定日時とセンサーデータとは共通であり、それらの間にある区切り文字が変換されているため、比較的重複があり、特徴量x0の値は比較的大きい。また、データファイル500と501Cとの内容について比較すると、測定日時が共通であり、しかも2つのセンサは類似した値を出力しているため、大きく重複しており、特徴量x0の値は大きい。
 また、特徴量生成部203は、特徴量x1として、データファイルのファイル名の類似性を数量化する。データファイルのファイル名の類似性を数量化する方法としては、ファイル名のような文字列の差異を数量化する、例えばレーベンシュタイン距離を算出するようにしてもよい。なお、データファイルのファイル名の類似性を数量化する方法は、これに限定されない。
 例えば、データファイル500とデータファイル501Aとのファイル名について比較すると、センサ名”S12345”の部分は共通するが、測定日時をUNIX(登録商標)時間で表現した部分は異なるため、比較的差異は大きく、特徴量x1は比較的大きくなる。なお、この例では、特徴量x1は、差異が大きいほど大きくなる、すなわち、類似性が高いほど小さくなるものとしている。また、データファイル500と501Bのファイル名について比較すると、センサ名、測定日時ともに共通であり、差異はファイルの拡張子の部分だけであるため、比較的差異は小さく、特徴量x1は、小さくなる。また、データファイル500と501Cとのファイル名について比較すると、測定日時の部分は共通だが、センサ名の部分が”S12345”および”S56789”と異なるため、比較的差異は大きく、特徴量x1は、比較的大きくなる。
 上記のようにして特徴量生成部203により算出された、ファイルペア各々についてその特徴量x0、x1は、特徴量テーブル211のレコードとして格納される。
 次に、リニエージ判定処理における分類器2041とゲート関数部2042との処理動作の具体例を示す。
 図14は、分類器とゲート関数部とによる処理の具体例を説明する図である。図14は、上記説明した2つの特徴量x0、x1により構成される特徴量空間600を示している。
 特徴量テーブル211の各レコードは、レコードに格納された特徴量x0、x1に従って特徴量空間600上の1点にマップされる。例えば、ファイル関係502Aに対応するファイルペア(データファイル500及びデータファイル501A)は、ファイルペアを構成するデータファイルの内容に重複は少なく、ファイル名の差異は大きいため、クラスタ601の中にマップされる。
 また、ファイル関係502Bに対応するファイルペア(データファイル500及びデータファイル501B)は、ファイルペアを構成するデータファイルの内容にかなり重複がある一方で、ファイル名の差異は比較的小さいため、クラスタ602の中にマップされる。
 また、ファイル関係502Cに対応するファイルペア(データファイル500及びデータファイル501C)は、ファイルペアを構成するデータファイルの内容は大きく重複し、かつファイル名の差異が大きいため、クラスタ603の中にマップされる。
 特徴量空間600においては、クラスタ602にマップされるファイルペアにはデータリニエージが存在し、クラスタ601及びクラスタ603にマップされるファイルペアにはデータリニエージが存在しない。
 ここで、リニエージ検出部204が、特徴量空間600上の3つのクラスタのうち、クラスタ602にマップされるファイルペアにはデータリニエージが存在し、クラスタ601及びクラスタ603にマップされるファイルペアにはデータリニエージが存在しないと判定するためには、クラスタ601とクラスタ602とを線形分離する識別線604と、クラスタ602とクラスタ603とを線形分離する識別線605との2つが必要である。
 この2つの識別線のそれぞれは、特徴量x0とx1を入力とした2つの分類器2041のパラメタにより決定される。第1の分類器2041は、特徴量x0とx1を入力とし識別線604により線形分離することができる。この第1の分類器2041は、クラスタ601とクラスタ602のファイルペアとを高精度に分離することができる。また、第2の分類器2041は、特徴量x0とx1を入力とし識別線605により線形分離することができる。この第2の分類器2041は、クラスタ602とクラスタ603とのファイルペアを高精度に分離することができる。
 2つの分類器2041に対応する2つのゲート関数部2042のそれぞれは、特徴量x0とx1とを入力し、自身のパラメタにより特徴量空間600上の識別線604と識別線605との境界である回帰直線606を境界として異なる重み付けの係数を算出し、分類器2041の出力に重みを与える。本実施形態では、第1の分類器2041に対応するゲート関数部2042は、データリニエージの有無の評価について高精度に分離することが可能であり範囲である回帰直線606よりも左側の範囲において、大きな値の重み付けの係数を算出し、回帰直線606よりも右側の範囲においては、小さな値の重み付けの係数を算出する。一方、第2の分類器2041に対応するゲート関数部2042は、回帰直線606よりも左側の範囲においては、小さな値の重み付けの係数を算出し、データリニエージの有無の評価について高精度に分離することが可能な範囲である回帰直線606よりも右側の範囲においては、大きな値の重み付けの係数を算出する。
 このようにゲート関数部2042によって重み付けが行われた値は、コンバイナ2043により合算されて総合評価値として出力される。この際、回帰直線606よりも左側においては、第1の分類器2041の出力が優先された総合評価値となり、回帰直線606よりも右側においては、第2の分類器2041の出力が優先された総合評価値となる。これにより、リニエージ検出部204は、特徴量x0、x1を入力として特徴量空間600上にマップされるファイルペアを複数のクラスタに適切に分離することができる、すなわち、ファイルペアのデータリニエージの有無を適切に判定することができる。
 なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
 例えば、上記実施形態において、学習部205によりリニエージ検出部204の学習を行ったことにより、ゲート関数部2042の重み付けが所定値よりも小さくなった場合には、このゲート関数部2042と、このゲート関数部2042に対応する分類器2041との処理を実行しないようにしてもよく、また、以降において、このゲート関数部2042と、この分類器2041のパラメタとを学習しないようにしてもよい。このようにすると、データリニエージの検出に影響が小さい評価処理を行わずに済み、処理負荷を低減することができる。また、特徴量の内で、このゲート関数部2042に対応する分類器2041のみの評価処理に影響を及ぼす特徴量があれば、メタデータ収集部202においてこの特徴量を収集しないようにしてもよく、特徴量テーブル211において、この特徴量を格納しないようにしてもよい。このようにすると、処理負荷を低減できるとともに、特徴量テーブル211に必要となる記憶領域の容量を低減することができる。
 また、上記実施形態における、プロセッサがプログラムを実行することにより構成していた機能部の一部又は全部を、ハードウェア回路で行うようにしてもよい。また、上記実施形態におけるプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア(例えば可搬型の記憶メディア)であってもよい。
 1…計算機システム、100…メタデータ管理装置、110…ストレージシステム、300…データレイク、301…データファイル

Claims (15)

  1.  複数のファイルのデータリニエージを検出するデータリニエージ検出装置であって、
     1以上のプロセッサであるプロセッサ部を備え、
     前記プロセッサ部は、
     前記複数のファイル中の処理対象となる所定のファイルペアについての複数の特徴量を用いて、複数の評価処理のそれぞれにより前記ファイルペア間のデータリニエージの有無を評価する評価値を出力し、
     前記複数の評価処理により出力された複数の評価値に対して、それぞれに対応する所定の重み付けを行う重み付け処理を行い、
     前記重み付け処理によって得られた複数の値を合計して総合評価値を算出し、
     前記総合評価値に基づいて、前記ファイルペア間のデータリニエージの有無を推定し、前記データリニエージが有ると推定されたファイルペアである関連ファイルペア候補を出力し、
     前記関連ファイルペア候補が前記データリニエージを有しているか否かについての管理者による確認結果を受け付け、
     前記データリニエージを有しているとの確認結果が得られた前記関連ファイルペア候補を、データリニエージが有るファイルペアであるとして登録し、
     前記関連ファイルペア候補の前記確認結果と、前記ファイルペア候補の特徴量とに基づいて、前記評価処理、又は前記重み付け処理の少なくとも一方に使用するパラメタを学習して反映させる
    データリニエージ検出装置。
  2.  前記プロセッサ部は、
     複数のファイルが蓄積されるファイル蓄積領域から、新たに追加されたファイルを一方に含むファイルペアを前記処理対象として決定する
    請求項1に記載のデータリニエージ検出装置。
  3.  前記ファイル蓄積領域は、遠隔地にある複数のストレージ装置のそれぞれにより提供される記憶領域で構成されている
    請求項2に記載のデータリニエージ検出装置。
  4.  前記プロセッサ部は、
     EMアルゴリズムを用いて、前記評価処理、又は前記重み付け処理の少なくとも一方に使用するパラメタの学習を行う
    請求項1から請求項3のいずれか一項に記載のデータリニエージ検出装置。
  5.  前記評価処理は、線形分類を行う処理を含む
    請求項1に記載のデータリニエージ検出装置。
  6.  前記重み付け処理における重み付けの係数を求める関数は、ソフトマックス関数である
    請求項1に記載のデータリニエージ検出装置。
  7.  前記プロセッサ部は、
     前記管理者から導出関係を有するファイルペアの指定を受け付け、
     受け付けた前記ファイルペアを、データリニエージが有るファイルペアとして登録する
    請求項1に記載のデータリニエージ検出装置。
  8.  前記プロセッサ部は、
     指定を受け付けた前記ファイルペアの特徴量に基づいて、前記評価処理、又は前記重み付け処理の少なくとも一方に使用するパラメタの学習を行って反映させる
    請求項7に記載のデータリニエージ検出装置。
  9.  前記プロセッサ部は、
     第1ファイルと、所定のアプリケーションにより前記第1ファイルから生成された第2ファイルとを含むファイルペアに関する特徴量に基づいて、前記評価処理、又は前記重み付け処理の少なくとも一方に使用するパラメタの学習を行って反映させる
    請求項1に記載のデータリニエージ検出装置。
  10.  前記複数の評価処理は、前記ファイルペア間のデータリニエージの有無を評価する評価値の精度が高くなる前記特徴量の範囲が異なる2以上の評価処理を含む
    請求項1に記載のデータリニエージ検出装置。
  11.  前記ファイルペアの前記特徴量の範囲が、前記評価処理による前記ファイルペア間のデータリニエージの有無を評価する評価値の精度が高くなる前記特徴量の範囲である場合に、前記重み付け処理による前記所定の重み付けが大きくなるように設定されている
    請求項10に記載のデータリニエージ検出装置。
  12.  前記プロセッサ部は、
     前記重み付け処理における対応する所定の重み付けが所定以下となった評価処理について実行しないようにする
    請求項1に記載のデータリニエージ検出装置。
  13.  前記プロセッサ部は、
     前記重み付け処理における対応する所定の重み付けに基づいて、前記重み付けが大きい順に、前記評価処理に関する評価値に関する情報を表示する
    請求項1に記載のデータリニエージ検出装置。
  14.  複数のファイルのデータリニエージを検出するデータリニエージ検出装置によるデータリニエージ検出方法であって、
     前記複数のファイル中の処理対象となる所定のファイルペアについての複数の特徴量を用いて、複数の評価処理のそれぞれにより前記ファイルペア間の導出関係の有無を評価する評価値を出力し、
     前記複数の評価処理により出力された複数の評価値に対して、それぞれに対応する所定の重み付けを行う重み付け処理を行い、
     前記重み付け処理によって得られた複数の値を合計して総合評価値を算出し、
     前記総合評価値に基づいて、前記ファイルペア間のデータリニエージの有無を推定し、前記データリニエージが有ると推定されたファイルペアである関連ファイルペア候補を出力し、
     前記関連ファイルペア候補が前記データリニエージを有しているか否かについての管理者による確認結果を受け付け、
     前記データリニエージを有しているとの確認結果が得られた前記関連ファイルペア候補を、データリニエージが有るファイルペアであるとして登録し、
     前記関連ファイルペア候補の前記確認結果と、前記ファイルペア候補の特徴量とに基づいて、前記評価処理、又は前記重み付け処理の少なくとも一方に使用するパラメタを学習して反映させる
    データリニエージ検出方法。
  15.  複数のファイルのデータリニエージを検出するデータリニエージ検出装置を構成するコンピュータに実行されるデータリニエージ検出プログラムであって、
     前記コンピュータを、
     前記複数のファイル中の処理対象となる所定のファイルペアについての複数の特徴量を用いて、複数の評価処理のそれぞれにより前記ファイルペア間のデータリニエージの有無を評価する評価値を出力させ、
     前記複数の評価処理により出力された複数の評価値に対して、それぞれに対応する所定の重み付けを行う重み付け処理を行わせ、
     前記重み付け処理によって得られた複数の値を合計して総合評価値を算出させ、
     前記総合評価値に基づいて、前記ファイルペア間のデータリニエージの有無を推定し、前記データリニエージが有ると推定されたファイルペアである関連ファイルペア候補を出力させ、
     前記関連ファイルペア候補が前記データリニエージを有しているか否かについての管理者による確認結果を受け付させ、
     前記データリニエージを有しているとの確認結果が得られた前記関連ファイルペア候補を、データリニエージが有るファイルペアであるとして登録させ、
     前記関連ファイルペア候補の前記確認結果と、前記ファイルペア候補の特徴量とに基づいて、前記評価処理、又は前記重み付け処理の少なくとも一方に使用するパラメタを学習させて反映させるように構成する
    データリニエージ検出プログラム。
PCT/JP2017/025075 2017-07-10 2017-07-10 データリニエージ検出装置、データリニエージ検出方法、及びデータリニエージ検出プログラム WO2019012572A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2017/025075 WO2019012572A1 (ja) 2017-07-10 2017-07-10 データリニエージ検出装置、データリニエージ検出方法、及びデータリニエージ検出プログラム
JP2019529325A JP6714160B2 (ja) 2017-07-10 2017-07-10 データリニエージ検出装置、データリニエージ検出方法、及びデータリニエージ検出プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/025075 WO2019012572A1 (ja) 2017-07-10 2017-07-10 データリニエージ検出装置、データリニエージ検出方法、及びデータリニエージ検出プログラム

Publications (1)

Publication Number Publication Date
WO2019012572A1 true WO2019012572A1 (ja) 2019-01-17

Family

ID=65002193

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/025075 WO2019012572A1 (ja) 2017-07-10 2017-07-10 データリニエージ検出装置、データリニエージ検出方法、及びデータリニエージ検出プログラム

Country Status (2)

Country Link
JP (1) JP6714160B2 (ja)
WO (1) WO2019012572A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210303706A1 (en) * 2020-03-30 2021-09-30 Hitachi, Ltd. Data access control system and data access control method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010061587A (ja) * 2008-09-05 2010-03-18 Nippon Telegr & Teleph Corp <Ntt> 類似文書判定装置、類似判定方法およびそのプログラム
WO2011089683A1 (ja) * 2010-01-19 2011-07-28 富士通株式会社 解析方法、解析装置及び解析プログラム
JP2012133584A (ja) * 2010-12-21 2012-07-12 Canon It Solutions Inc 情報処理装置、情報資産管理システム、情報資産管理方法、及びプログラム
US20150356094A1 (en) * 2014-06-04 2015-12-10 Waterline Data Science, Inc. Systems and methods for management of data platforms
US20160012082A1 (en) * 2014-07-09 2016-01-14 Adobe Systems Incorporated Content-based revision history timelines

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010061587A (ja) * 2008-09-05 2010-03-18 Nippon Telegr & Teleph Corp <Ntt> 類似文書判定装置、類似判定方法およびそのプログラム
WO2011089683A1 (ja) * 2010-01-19 2011-07-28 富士通株式会社 解析方法、解析装置及び解析プログラム
JP2012133584A (ja) * 2010-12-21 2012-07-12 Canon It Solutions Inc 情報処理装置、情報資産管理システム、情報資産管理方法、及びプログラム
US20150356094A1 (en) * 2014-06-04 2015-12-10 Waterline Data Science, Inc. Systems and methods for management of data platforms
US20160012082A1 (en) * 2014-07-09 2016-01-14 Adobe Systems Incorporated Content-based revision history timelines

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210303706A1 (en) * 2020-03-30 2021-09-30 Hitachi, Ltd. Data access control system and data access control method
JP2021157738A (ja) * 2020-03-30 2021-10-07 株式会社日立製作所 データアクセス制御システム及びデータアクセス制御方法
US11556661B2 (en) * 2020-03-30 2023-01-17 Hitachi, Ltd. Data access control system and data access control method
JP7280851B2 (ja) 2020-03-30 2023-05-24 株式会社日立製作所 データアクセス制御システム

Also Published As

Publication number Publication date
JPWO2019012572A1 (ja) 2019-11-07
JP6714160B2 (ja) 2020-06-24

Similar Documents

Publication Publication Date Title
US11562304B2 (en) Preventative diagnosis prediction and solution determination of future event using internet of things and artificial intelligence
WO2021143268A1 (zh) 基于模糊推理理论的电力信息系统健康评估方法及系统
US8619084B2 (en) Dynamic adaptive process discovery and compliance
US20050165822A1 (en) Systems and methods for business process automation, analysis, and optimization
WO2016138830A1 (zh) 识别风险行为的方法及装置
EP3726779A1 (en) Device for testing blockchain network
US20110270853A1 (en) Dynamic Storage and Retrieval of Process Graphs
US10248919B2 (en) Task assignment using machine learning and information retrieval
KR101953190B1 (ko) 복잡한 양자 또는 다자 상대방 관계를 탐색하기 위해 이용되는 다차원 재귀적 학습 과정 및 시스템
JP5614843B2 (ja) ソフトウェア設計・運用統合管理システム
KR102298395B1 (ko) 사용자 행위 분석 시스템 및 방법과, 이를 위한 이벤트 수집 에이전트
TW201730786A (zh) 執行以時間序列資料與分析資料當中的至少一部分作為輸入資料之分析處理的分析系統及分析方法
JP4383484B2 (ja) メッセージ解析装置、制御方法および制御プログラム
US11816112B1 (en) Systems and methods for automated process discovery
JP6714160B2 (ja) データリニエージ検出装置、データリニエージ検出方法、及びデータリニエージ検出プログラム
CN112631889A (zh) 针对应用系统的画像方法、装置、设备及可读存储介质
WO2009086326A1 (en) Evaluating and predicting computer system performance using kneepoint analysis
US11429871B2 (en) Detection of data offloading through instrumentation analysis
CN115237721A (zh) 一种基于窗口频繁序列预测故障方法、装置及存储介质
Conde et al. Isotonic boosting classification rules
Parpoula et al. On change-point analysis-based distribution-free control charts with Phase I applications
JP6835688B2 (ja) 分析管理システムおよび分析管理方法
US20180101459A9 (en) Evaluating and predicting computer system performance using kneepoint analysis
JP5302798B2 (ja) 保守管理方法、プログラムおよび保守管理装置
JP2006091937A (ja) データ分析装置及びその方法、プログラム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2019529325

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17917328

Country of ref document: EP

Kind code of ref document: A1