System for creating process logs
Patent Information
- Application Number
- DE202020006160
- Authority / Receiving Office
- DE · DE
- Patent Type
- Utility models
- Current Assignee / Owner
- Priority Date
- 2019-01-24
- Filing Date
- 2020-01-23
- Publication Date
- 2025-10-23
- Estimated Expiration
- 2030-01-31
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Field of invention
[0001] The invention relates to a system for generating process logs, wherein the data for which the process logs are to be generated are stored in a distributed IT infrastructure, i.e. on different computer systems. Background of the invention
[0002] Real-world processes, such as business processes (e.g., an order process) or technical processes (e.g., a painting process), are often executed in or with the aid of a computer system. Such a process can comprise several process steps. Each process step can generate data during execution, which is stored in the computer system in which the process is executed or with which the process is executed.
[0003] It is a known practice to analyze processes executed in or with the aid of a computer system. This involves extracting information relevant to the analysis from the data generated by the processes or their individual steps. For example, transactions carried out in an ERP system or process steps executed along a production / processing line can be analyzed to identify bottlenecks or other anomalies. This process analysis is performed using a process mining system. For a process mining system to perform such an analysis efficiently, the extracted information must be provided to it in a processed format. This processed form of the extracted information is referred to as a process log.
[0004] The analysis of the processes is carried out using state-of-the-art methods within the computer system in which the data was generated and stored. A disadvantage of this approach is that only processes executed within that specific computer system can be analyzed.
[0005] In practice, it can happen that subprocesses of a process are executed on different computer systems and consequently generate data on these different systems. For example, in an order process, order information and its associated history might be stored in one computer system, while data relating to salespeople and contact with them are stored in a second. In this case, the subprocesses related to orders are executed in the first system, and those related to contact are executed in the second. In technical processes, such as production processes, various subprocesses can be executed on different production units, and the data from these subprocesses can be stored in different computer systems.For example, information about the assembly process can be stored in a first computer system and information about a subsequent technical testing process in a second computer system.
[0006] Using methods known from the prior art, the subprocesses executed on the first computer system can be analyzed. The subprocesses executed on the second computer system can also be analyzed, but only independently of the subprocesses executed on the first computer system. An analysis of the entire process is therefore not possible. Object of the invention
[0007] The object of the present invention is therefore to provide solutions that enable efficient and simple analysis of processes that have been carried out in different computer systems and / or with different processing units. Inventive solution
[0008] This problem is solved according to the invention by a system according to the independent claim. Advantageous embodiments and further developments of the invention are specified in the dependent claims.
[0009] Accordingly, an IT system is provided for generating a process log in a local computer system, which has a processor and a storage device, wherein the process log is generated from raw data that is partly stored in a first external computer system and partly in a second external computer system, wherein the raw data is stored in a number of data tables in the external computer systems, wherein the raw data includes data that is generated during the execution of processes in the first external computer system and in the second external computer system, wherein the IT system is adapted (a) to import the data tables from the first external computer system and from the second external computer system into the local computer system and to store the imported data tables in the storage device of the local computer system, (b) to reconstruct relationships between the imported data tables in the local computer system, (c) in the local computer system, to identify and select an initial data table from the number of imported data tables containing objects for which the process log is to be generated, (d) in the local computer system, to identify and select a number of secondary data tables from the number of imported data tables required to generate the process log, based on the selected first data table and based on the relationships between the imported data tables, (e) to generate an executable transformation in the local computer system that is adapted based - on the selected first data table, - on the selected second data tables and - to extract data from the first data table and from the second data tables based on the relationships between the selected first data table and the selected second data tables, and to store the extracted data as a process log, (f) to perform the transformation in the local computer system and to store the extracted data as a process log and to provide the generated process log to a process mining system for analyzing and reconstructing the processes executed in the first external computer system and in the second external computer system.
[0010] It is advantageous, if the local computer system is adapted, to import at least one of the selected data tables from the first external computer system, and at least one of the selected data tables from the second external computer system.
[0011] It may be advantageous if the local computer system is adapted to extract the data from the data tables stored in the external computer systems when performing the transformation in step (f).
[0012] In one embodiment of the invention, the local computer system can be adapted to determine, when reconstructing the relationships between the imported data tables in step (b), which attributes relate the data tables to each other.
[0013] In an advantageous embodiment of the invention, two data tables are related to each other if an attribute of one data table is identical or similar to an attribute of the other data table.
[0014] It is advantageous if the local computer system is adapted to store the relationships reconstructed between each pair of imported data tables, storing the names of the two data tables, their respective attributes, and a mapping of the attributes of one data table to the attributes of the other data table.
[0015] It can be advantageous if - for the data tables imported from the first external computer system, a corresponding first data model from the first external computer system is imported into the local computer system, whereby the relationships between the data tables imported from the first external computer system are reconstructed based on the first data model, and - for the data tables imported from the second external computer system, a corresponding second data model from the second external computer system is imported into the local computer system, whereby the relationships between the data tables imported from the second external computer system are reconstructed using the second data model, so that only the relationships between the data tables from the first external computer system and the data tables from the second external computer system need to be reconstructed without using a data model.
[0016] It is advantageous if the local computer system is adapted to determine, when identifying and selecting a first data table in step (c), which data table satisfies one or more conditions, where the conditions are selected from the group comprising - Compared to the other data tables, this data table contains fewer records. - The data table contains an attribute in which timestamps are stored, - the data table is referenced by few other data tables, - and combinations thereof.
[0017] It can be advantageous to save information about the selected first data table.
[0018] The local computer system can be adapted to select, when determining and selecting a number of secondary data tables in step (d), those data tables that satisfy one or more conditions, wherein the conditions are selected from the group comprising - The data tables contain many more records compared to the first data table, - the data table is referenced directly or indirectly by the first data table, - Each data table contains an attribute in which timestamps are stored, - and combinations thereof.
[0019] It can be advantageous to store information about the selected second data tables and the relationships between the selected second data tables and the first data table.
[0020] In an advantageous embodiment, the local computer system can be adapted to determine, during the generation of the executable transformation in step (e), which attributes of the selected first data table and the selected second data tables are to be taken into account when extracting the data.
[0021] It can be advantageous if the local computer system is adapted to read data records from the first data table and from the second data tables when executing the transformation in step (f), wherein the read data records comprise the attribute values of the attributes determined for the respective data table, wherein the read data records are stored as a process log, wherein each data record stored in the process log represents a process step (event) of a process executed in the first external computer system and in the second external computer system.
[0022] It can be advantageous if the read data records are stored in the process log according to a predetermined data structure, whereby the predetermined data structure includes at least the following: - a first attribute in which a unique identifier of the process of the respective process step is stored; - a second attribute in which an identifier of the respective process step is stored; and - a third attribute that stores the sequence of process steps within a process.
[0023] It can be advantageous if the attribute values of the process log attributes are taken from - the attribute values of the extracted data records and / or - determined from the table names and / or column names of the selected first data table and / or the selected second data tables.
[0024] The local computer system can be adapted to determine activities for which process logs can be generated, based on the selected first data table and the selected second data tables and the relationships between these data tables, wherein the local computer system is adapted in step (e) to generate an executable transformation that is adapted based - on the selected first data table, - on the selected second data tables and - on the relationships between the selected first data table and the selected second data tables
[0025] To extract data from the first data table and from the second data tables based on the identified activities and to store the extracted data as a process log.
[0026] The local computer system can be configured to execute the transformation cyclically, on demand, or according to specific rules after the initial creation of the process log, with each execution of the transformation extracting and adding to the process log the activities that have occurred in the external computer systems since the last execution of the transformation, and extracting the data from the data tables stored in the external computer systems when executing the transformation in step (f).
[0027] It can be advantageous if the IT system includes the local computer system and optionally the first external computer system and the second external computer system.
[0028] The local computer system may be adapted to perform steps (b) - (f).
[0029] It may be advantageous to perform step (a) if the local computer system or the external computer systems are adapted.
[0030] It can be advantageous if - the first external computer system is adapted to execute a first subprocess of a higher-level process and, during the execution of the first subprocess, to generate and store the raw data of the first subprocess in the first external computer system, and - the second external computer system is adapted to execute a second subprocess of the superior process and, during the execution of the second subprocess, to generate and store the raw data of the second subprocess in the second external computer system.
[0031] It can be advantageous, if the local computer system is adapted, to store the process log in whole or in part in the local computer system's memory.
[0032] The local computer system can be configured to store the process steps belonging to a process in memory sorted according to the third attribute.
[0033] It can be advantageous if the local computer system is adapted to store the process steps belonging to a process in memory sorted according to the third attribute at adjacent addresses.
[0034] The local computer system can be configured to extract data from data tables stored in external computer systems when performing the transformation.
[0035] The computer systems (local computer systems and external computer systems) can be linked to each other via a communication connection.
[0036] The external computer systems may include production facilities or processing facilities, each of which has at least one data processing facility.
[0037] The data processing facilities can be coupled with a storage facility in which the data provided by the production facilities or processing facilities are stored. Brief description of the characters
[0038] Details and features of the invention, as well as specific embodiments of the invention, will become apparent from the following description in conjunction with the drawing. It shows: Fig. 1 a block diagram of an IT system according to the invention comprising multiple computer systems; and Fig. 2 a flowchart of a method for generating process logs for understanding the system according to the invention. Detailed description of the invention
[0039] The method described below serves to provide a better understanding of the system according to the invention.
[0040] Therefore, a computer-implemented method for generating a process log in a local computer system comprising a processor and a memory device is described, wherein the process log is generated from raw data stored partly in a first external computer system and partly in a second external computer system, wherein the raw data is stored in a number of data tables in the external computer systems, wherein the raw data includes data generated during the execution of processes in the first external computer system and in the second external computer system, and wherein the method comprises: (a) importing the data tables from the first external computer system and from the second external computer system into the local computer system and storing the imported data tables in the storage device of the local computer system, (b) in the local computer system, reconstruct the relationships between the imported data tables, (c) in the local computer system, identify and select an initial data table from the number of imported data tables containing objects for which the process log is to be generated, (d) in the local computer system, determine and select a number of secondary data tables from the number of imported data tables required for generating the process log, based on the selected first data table and based on the relationships between the imported data tables, (e) in the local computer system, generate an executable transformation that is adapted based - on the selected first data table, - on the selected second data tables and - on the relationships between the selected first data table and the selected second data tables Extract data from the first data table and from the second data tables and save the extracted data as a process log, (f) in the local computer system, perform the transformation and store the extracted data as a process log and provide the generated process log to a process mining system for analyzing and reconstructing the processes executed in the first external computer system and in the second external computer system.
[0041] It can be advantageous if at least one of the selected data tables is imported from the first external computer system, and at least one of the selected data tables is imported from the second external computer system.
[0042] During the transformation in step (f), the data can be extracted from the data tables stored in the external computer systems.
[0043] It is advantageous if, when reconstructing the relationships between the imported data tables in step (b), it is determined which attributes the data tables relate to each other.
[0044] Preferably, two data tables are related to each other if an attribute of one data table is identical or similar to an attribute of the other data table.
[0045] It is advantageous to store the relationships reconstructed between each pair of imported data tables, including the names of the two data tables, their respective attributes, and an assignment of the attributes of one data table to the attributes of the other data table.
[0046] It is advantageous if - for the data tables imported from the first external computer system, a corresponding first data model from the first external computer system is imported into the local computer system, whereby the relationships between the data tables imported from the first external computer system are reconstructed using the first data model, - for the data tables imported from the second external computer system, a corresponding second data model from the second external computer system is imported into the local computer system, whereby the relationships between the data tables imported from the second external computer system are reconstructed using the second data model, so that only the relationships between the data tables from the first external computer system and the data tables from the second external computer system need to be reconstructed without using a data model.
[0047] Furthermore, it is advantageous if, in step (c) when determining and selecting a first data table, it is determined which data table fulfills one or more conditions, whereby the conditions are selected from the group comprising - Compared to the other data tables, this data table contains fewer records. - The data table contains an attribute in which timestamps are stored, - the data table is referenced by few other data tables, - and combinations thereof.
[0048] Information about the selected first data table can be saved.
[0049] It is advantageous if, when determining and selecting a number of secondary data tables in step (d), those data tables are selected that satisfy one or more conditions, wherein the conditions are selected from the group comprising - The data tables contain many more records compared to the first data table, - the data table is referenced directly or indirectly by the first data table - Each data table contains an attribute in which timestamps are stored, - and combinations thereof.
[0050] Information about the selected second data tables and the relationships between the selected second data tables and the first data table can be stored.
[0051] It is advantageous if, in step (e) of generating the executable transformation, it is determined which attributes of the selected first data table and the selected second data tables are to be taken into account when extracting the data.
[0052] When performing the transformation in step (f), it may be advantageous to read data records from the first data table and from the second data tables, wherein the read data records comprise the attribute values of the attributes determined for the respective data table, wherein the read data records are stored as a process log, wherein each data record stored in the process log represents a process step (event) of a process executed in the first external computer system and in the second external computer system.
[0053] Furthermore, it is advantageous if the read data records are stored in the process log according to a predetermined data structure, whereby the predetermined data structure includes at least the following: - a first attribute in which a unique identifier of the process of the respective process step is stored; - a second attribute in which an identifier of the respective process step is stored; and - a third attribute that stores the sequence of process steps within a process.
[0054] In an advantageous embodiment of the invention, the data records of the process log or the process log itself are stored in a working memory, preferably in a working memory of the local computer system.
[0055] It is advantageous to store the process steps belonging to a process in memory at adjacent addresses, sorted according to the third attribute. The process log is first sorted by the first attribute and then by the third, such that consecutive process steps of a process are stored in immediately adjacent memory segments. This results in the processes being stored in memory in a grouped form, allowing the process steps of a process to be read and processed sequentially and in the correct order from memory as a stream. "Reading in a stream" means that the process steps of a process are read from memory address by address.
[0056] It is also advantageous if the attribute values of the process log attributes are taken from - the attribute values of the extracted data records and / or - determined from the table names and / or column names of the selected first data table and / or the selected second data table.
[0057] Fig. Figure 1 shows a block diagram of an IT system according to the invention with multiple computer systems. The IT system consists, by way of example, of three external computer systems (EC1, EC2, and EC3) and one internal computer system. The terms "external" and "internal" merely indicate that they are different computer systems. The computer systems are interconnected via a communication link. In particular, the external computer systems are each connected or connectable to the internal computer system. The computer systems can be so-called on-premise systems or cloud systems.
[0058] According to one embodiment of the invention, the external computer systems EC1, EC2, EC3 can also be production facilities, processing facilities, or the like, each of which has at least one data processing unit. Preferably, the data processing units are coupled with a storage unit in which the data provided by the production facility, processing facility, or the like is stored.
[0059] The external computer systems execute subprocesses of a higher-level process. The higher-level process is also referred to as the overall process. For example, the overall process could be a purchasing process that is executed or handled using the computer systems.
[0060] The following examples describe external computer systems that are original computer systems. However, these examples also apply analogously to external computer systems that are production facilities, processing facilities, or other technical facilities, provided that these facilities have a data processing unit, such as a processor with a storage unit, or are coupled to such a data processing unit.
[0061] Essential to the present invention is that the external devices EC1, EC2, EC3 execute subprocesses of a higher-level overall process and provide data for the respective executed subprocesses, from which process logs for the higher-level overall process can be generated.
[0062] It is also possible to have more than three or fewer than three external facilities.
[0063] Example: - The first subprocess of a purchasing process can be an order process, which handles orders. This order process is executed, for example, in the first external computer system, EC1. The order process data and its associated history are stored in the first computer system, EC1. - A second sub-process might involve contacting a sales representative of a supplier for whom orders were generated in the first computer system, EC1. These contacts are then handled, for example, in the second external computer system, EC2. The data relating to these contacts, as well as details about the suppliers and their sales representatives, are stored in the second computer system, EC2. A third subprocess belonging to the overall process can be executed on the third external computer system, EC3. The data of the third subprocess is stored on the third computer system, EC3.
[0064] At the in Fig. In the example shown, the overall process is executed on three computer systems EC1, EC2, and EC3. However, an overall process can also be executed on more or fewer than three computer systems (but, in the sense of the present invention, on at least two computer systems).
[0065] The respective data are stored in a structured form in the respective computer systems, for example, in tables T1 to T12 of a relational database system. Different database management systems and different database technologies (relational, object-oriented, hierarchical database systems, etc.) can be used in each computer system. The following description assumes that the data in the respective computer systems is stored in tables of a relational database system, although the invention is not limited to this.
[0066] The tables, or rather the data within these tables, are related to each other in a specific way. These relationships are defined in Fig. 1 shown by the connecting lines between tables T1 to T12 shown in computer systems EC1 to EC3. Structure tables may also be present in the respective computer systems EC1 to EC3 (in Fig. (1 not shown), which store information about the respective tables and their relationships to each other. These structure tables can optionally be used to generate a process log, as explained in more detail below. These structure tables are also referred to as the data model.
[0067] To generate the process log, the data tables T1 to T12 are first imported into the internal computer system.
[0068] Subsequently, the relationships between the imported data tables are reconstructed within the internal computer system. This involves reconstructing both the relationships between data tables imported from a specific external computer system and the relationships between the data tables of one computer system and those of another. For example, the relationships between tables T1 to T4 (imported from computer system EC1) and between tables T5 to T8 (imported from computer system EC2) are reconstructed. Furthermore, the relationships between tables T1 to T4 and tables T5 to T9 are reconstructed (in Fig. 1. The relationship between table T3 and table T6 and the relationship between table T6 and table T9). How these relationships are specifically determined or reconstructed will be explained with reference to Fig. 2 described in more detail.
[0069] The connecting lines between the imported tables in the internal computer system show these reconstructed relationships.
[0070] After the relationships were reconstructed, a database schema exists in the internal computer system that describes the tables and their relationships to each other for all tables T1 to T12 imported from the external computer systems EC1 to EC3.
[0071] After reconstructing the relationships between the imported data tables T1 to T12, the system determines which business objects are suitable for generating a process log. Referring to the example mentioned above, such business objects could be, for instance, "Orders" and "Salespersons." Here, the orders are stored in table T3 and the salespersons in table T9. Determining these business objects is done with reference to... Fig. 2 described in detail. The tables in the internal computer system that store these identified business objects indicate in Fig. 1. a thick frame.
[0072] One of the identified business objects is automatically selected, for example, the business object "Orders". This means that table T3 is automatically selected. The selection can be based on predefined conditions, such as the number of records and / or the number of timestamps stored in these tables and / or how often a table has been selected in the past (manually or automatically).
[0073] Alternatively, a user can select a business object (provided several suitable business objects have been identified). The identified business objects are then presented to the user for selection. The list of business objects can be sorted according to predefined criteria, such as the number of records, the number of timestamps stored in the tables, and / or how often a table has been selected in the past (manually or automatically).
[0074] In the further procedure, the selected business object, i.e., the selected table, is used as the base table for generating a process log.
[0075] Based on the base table (selected business object), the system selects from the additional tables imported into the internal computer system those required to generate one or more different process logs. Multiple process logs are possible, for example, if various activities can be evaluated using process logs based on the base table. In the example of the business object "Orders," such activities could include price changes within an order process or contact with the salesperson within that process.
[0076] Based on the base table T3 and the (direct and indirect) relationships of the base table T3 to the other imported tables, the following occurs in the Fig. In example 1, tables T1 and T4 to T7 were selected (in Fig. (1) indicated by the dashed border. The selection of additional tables is based on their suitability for generating a process log. For example, additional tables (together with the base table) are suitable for generating a process log if they contain many more records than the base table, and / or if they are directly or indirectly referenced by the base table, and / or if they have at least one attribute that stores a timestamp. Additional tables may also be suitable for generating a process log if they have previously been used for this purpose.
[0077] At the in Fig. In the example shown, table T2 is directly referenced by the base table T3. Table T2 only stores the type of order (e.g., online order, order by fax, order by mail, order by telephone). Therefore, table T2 does not contain timestamps and has very few records compared to the base table. Consequently, table T2 is not relevant for generating process logs.
[0078] Would at the in Fig. If, in example 1, table T9 is selected as the base table (business object "salesperson"), the system selects, for example, the other tables T5 to T7 and T10 as further relevant tables for generating a process log (in Fig. 1 indicated by the dash-dot border).
[0079] After selecting the relevant additional tables, the system determines activities, based on the base table and the associated additional tables, for which a process log can be generated. Using the base table T3 (Orders) and the selected additional tables T1 and T4 to T7 as an example, such activities could include price changes within an order process or contact with the salesperson within an order process.
[0080] Depending on the activity, different tables from the selected additional tables may be relevant for generating the process log.
[0081] If table T4 stored the price changes of an order along with the relevant timestamps, then this table, in addition to the base table T3, would be relevant for a process log for evaluating price changes in orders. Besides price changes, table T4 can also store changes in order quantities along with their corresponding timestamps. For the activity "Price Changes in Orders," this table would need to be filtered for price changes; for an activity "Change in Order Quantity," this table would need to be filtered for corresponding changes. For each identified activity, the system stores the necessary filter criteria (if required). Whether a record in table T4 belongs to a price change or an order quantity change can be determined, for example, using an attribute that stores the type of change for each record.
[0082] In addition to these two activities, which are stored in table T4, a general activity “Change of order” can also be determined, for which no filter criterion would be necessary.
[0083] If table T6 contained contact information for a salesperson along with the relevant timestamps, then this table would not be relevant for a process log used to analyze price changes in orders. However, this table would be relevant for a process log used to analyze contact with the salesperson within an order process.
[0084] Other activities could include creating an order or the seller confirming an order. No additional table would be needed for this if table T3 already stores the date the order was created and the date it was confirmed.
[0085] For a process log to evaluate price changes of orders due to contact with the seller within an order process, however, both tables T4 and T6 would be relevant.
[0086] The identified activities can also be part of a larger process. Such a process could be, for example, the ordering process itself, which comprises the process steps (activities). - Creating an order, - Price changes in orders, - Contacting the seller, and / or - Confirming an order includes.
[0087] A process log can also be generated for such a process. In the example above, in addition to the base table T3, tables T4 and T6 would also be relevant for generating a process log.
[0088] For each detected activity, the system stores not only any relevant filter criteria but also attributes / column names (plus the corresponding table name, if applicable), the values of which are essential for generating a process log. One such essential attribute is a timestamp, which defines the sequence of activities within a process.
[0089] Using a process log generated for the order process, a process mining system, provided with this log, can analyze the order processes. For example, a process mining system can determine that x% of the order processes involved more than y contacts with the seller, or that x% of the order processes involved at least y price changes, or that x% of the order processes were confirmed within a specific timeframe.
[0090] From the identified activities, the system can now select one or more activities to generate the corresponding process logs. A separate process log can be generated for each selected activity. Likewise, a single process log can be generated for multiple identified activities (for example, a single process log for the "Orders" process can be generated for the activities "Creating an Order," "Price Changes in Orders," "Contacting the Salesperson," and "Confirming an Order").
[0091] Alternatively, the user can also select from the identified activities those activities for which (separate or a common) process logs should be generated.
[0092] Based on the selected activities and the identified relationships between the tables, the system is now able to select the necessary tables and generate at least one process log based on them.
[0093] Based on the tables required for a process log (the base table and related relevant tables according to the selected activities) and the relationships between these tables (which may depend on the selected activities), a transformation is generated in the internal computer system. This transformation extracts data from the necessary attributes of the tables relevant to the process log, taking into account the relevant relationships between these tables, and stores the extracted data as a process log. Data extraction is performed using any necessary filter criteria.
[0094] The process log generated and stored in this way can now be made available to a process mining system to analyze the processes stored in the process log.
[0095] Each data record stored in the process log represents a process step (activity / event) of a process running in the external computer systems EC1 to EC3. The process log can contain process steps from multiple processes.
[0096] The data structure of the process log includes at least - a first attribute in which a unique identifier of the process of the respective process step is stored, - a second attribute in which an identifier of the respective process step is stored, and - a third attribute that stores the sequence of process steps within a process.
[0097] The sequence of process steps within a process can be specified by the timestamp mentioned above, which is read from the corresponding tables for each activity (process step).
[0098] The unique identifier of the process can be read from the base table, for example. For orders stored in table T3, the (unique) order number can be read and used as the process identifier in the process log.
[0099] The identifier for each process step (which need not be unique) can be determined from the column names and / or table names and / or attribute values. For example: Table T3 contains the columns "Created" and "Confirmed," which store the creation date and (if confirmed) the confirmation date for each order. Table T3 is named "Orders." For the aforementioned activities (process steps) "Create an order" and "Confirm an order," the identifiers "Order created" (from the table name "Orders" and the column name "Created") and "Order confirmed" (from the table name "Orders" and the column name "Confirmed") can be generated and stored for the respective process step in the third attribute of the process log.
[0100] It is advantageous to sort the process log, or the data records stored within it, first by the first attribute and then by the third attribute. This way, the process steps belonging to a process are grouped together, while simultaneously sorting them chronologically.
[0101] The process log can be stored in memory, either in whole or in part. It is also advantageous to store the process steps belonging to a process at adjacent addresses in memory, sorted by the third attribute. This allows for the efficient determination of predecessor / successor relationships within a process without having to store these relationships directly. In a purely sequential process (without parallel subprocesses), the predecessor / successor relationship is derived directly from the addresses where the process steps are stored. Furthermore, the process mining system can read and process the process log sequentially from memory as a stream, in the correct order.For example, in O(n) a complete process graph can be generated and visualized, encompassing the process steps of all processes stored in the process log. For processes with parallel subprocesses, a complete process hierarchy can also be generated in O(n), which can then likewise be visualized as a process graph.
[0102] The possibility of linear processing of the process log in the process mining system is of fundamental importance, since typical process logs (e.g., in a company that processes several hundred thousand orders annually from order creation to payment for the ordered goods, with each order potentially involving up to one hundred or more activities) contain several million to several hundred million activities (data records).
[0103] For the initial creation of the process log (by executing the transformation), the data from the tables imported into the internal computer system can be used. However, it is also possible to access the data stored in the external computer systems EC1 to EC3 for this purpose.
[0104] After the initial creation of the process log, the transformation can be executed cyclically, on demand, or according to specific rules, for example, every ten minutes. Each time the transformation is executed, the activities that have occurred in the external computer systems since the last execution of the transformation are extracted and added to the process log.
[0105] The invention has been described above with reference to external computer systems EC1 to EC3, which are systems used to handle business processes.
[0106] The external systems EC1 to EC3 can also be physical devices, such as machines, that provide data representing an activity or process step of a manufacturing process, for example, during the processing of a product along a production and / or manufacturing line. This data can be stored in a storage device assigned to the machine, for example, in tables of a database system. These tables can then be imported into the internal computer system described above to generate process logs according to the procedure described above.
[0107] The external system EC1 could be a grinding machine. For example, the grinding machine logs the start and end of a grinding process and stores this data, along with a product identifier, in its assigned database.
[0108] The external system EC2 can be a painting system linked to another database. The painting system can have a sensor to measure the applied paint thickness, allowing the painting process to be repeated on a product until the desired thickness is achieved. The painting system can log the start and end of each painting process, as well as the start and end of each repetition, along with the measured paint thicknesses, and store this information, along with a product identifier, in its associated database.
[0109] The activities (process steps) can be determined from the tables assigned to these two machines. - Start of loops - End of loops - Start painting - Finish painting - Start repeating the painting process (with the measured paint thickness) - End of repainting (with the measured paint thickness) will be determined.
[0110] The product identifier allows individual activities to be assigned to a specific processing process.
[0111] The process logs generated for this purpose can be analyzed by a process mining system to identify, for example, which products cause a delay in a subsequent assembly process, because the painting process has to be repeated particularly often for certain products.
[0112] Fig. Figure 2 shows a flowchart of a method for generating process protocols for a better understanding of the invention.
[0113] In the first step, S1, the data tables from different systems are imported into the internal computer system. The different systems from which the data tables are imported can have reference to... Fig. The external computer systems shown in section 1 (EC1 to EC3) and / or production facilities, processing facilities, or other technical facilities that provide data on executed processes / subprocesses. These systems may be distributed systems (e.g., production facilities at different locations) and / or cloud systems.
[0114] If the data tables to be imported are data from database systems, the data tables can be imported directly into a database system of the internal computer system.
[0115] The data tables to be imported do not necessarily have to be tables from a database system. The data to be imported could, for example, also exist in the external computer system as one or more structured text files. In this case, it is still advantageous to store the data in a database system of the internal computer system. If necessary, the data to be imported must be prepared before being stored in the database system.
[0116] After the first step S1, all data from the external computer systems for which process logs are to be generated are stored in the internal computer system.
[0117] The following are four example tables with sample data that were imported from external computer systems, where tables 1 and 2 were imported from a first computer system (e.g., an on-premise ERP system) and tables 3 and 4 were imported from a second computer system (e.g., a cloud CRM system) into the internal computer system. Table T1 - Order Information Order Number Creation Date Vendor Price Amount 1 01.01.2018 ABC 100 10 2 24.01.2018 XYZ 2 12 ... ... ... ... ... Table T2 - Order History Date Order Number Field Old value New value Who 01.01.2018 1 Price 99 130 Joe 02.01.2018 1 Amount 9 7 Joe 03.01.2018 1 Amount 7 10 Joe 04.01.2018 1 Price 130 95 Bill 05.01.2018 1 Price 95 100 Joe ... ... ... ... ... Table T3 - Vendor Calls (Contacting the seller) Vendor Account Executive Type Reference ID Date ABC George Call 1 02.01.2018 ABC George Mail 1 04.01.2018 ... ... ... ... Table T4 - Vendor Information Vendor Create date Country State ABC 02.01.2017 DE BY XYZ 08.04.2017 DE BY ... ... ... ...
[0118] After the data tables have been fully imported, the relationships (foreign key relationships) between the individual imported data tables are reconstructed in the second step, S2. For the four tables mentioned above, these would be the following relationships: a) T1 (Order Number) ← → T2 (Order Number) b) T1 (Order Number) ← → T3 (Reference ID) c) T2 (Order Number) ← → T3 (Reference ID) d) T3 (Vendor) ← → T4 (Vendor) e) T3 (Vendor) ← → T1 (Vendor)
[0119] Tn (x) ←→ Tm (y) here means that the tables Tn and Tm are linked via the attribute x of table Tn and via the attribute y of table Tm.
[0120] To reconstruct the relationships between the imported data tables, it can be advantageous to also import so-called schema tables from the external computer systems. These schema tables can store information about the relationships between the imported data tables.
[0121] Schema tables from the first and second computer systems can be imported for the aforementioned tables T1 to T4. The schema tables from the first computer system store the relationships between tables T1 and T2, while the schema tables from the second computer system store the relationships between tables T3 and T4.
[0122] Using the schema tables, the relationships between tables T1 and T2 or between tables T3 and T4 can then be automatically reconstructed.
[0123] Even without using the aforementioned schema tables, the relationships between tables T1 and T2, and between tables T3 and T4, can be automatically reconstructed. This is possible, for example, if... - an attribute (column name) of one data table that is identical or similar to an attribute (column name) of the other data table, or - the combination of table name and column name is identical or similar to a column name of another data table (e.g., the table "Vendor" contains a column "ID" and the table "Order" contains a column "VendorID") - in this case, the tables “Vendor” and “Order” would be linked via the attributes “ID” and “VendorID”.
[0124] For the tables mentioned above, the relationships could thus be defined. T1 (Order Number) ← → T2 (Order Number) T3 (Vendor) ← → T4 (Vendor) can also be automatically reconstructed without schema tables.
[0125] Furthermore, the relationship could also T3 (Vendor) ← → T1 (Vendor) They will be automatically detected, even though tables T1 and T3 were imported from different external systems.
[0126] To automatically detect the relationships between tables T1 and T3, or between tables T2 and T3 (T1 and T2 were imported from a different computer system than table T3), further heuristics can be used. For example, the column name can be analyzed (if the column name contains the text component "ID", it can be assumed with a high degree of probability that foreign key values are stored in this column). Alternatively or additionally, the imported schema tables can also be used to determine the primary key attributes and the foreign key attributes for the imported tables.
[0127] For example, the "Order Number" attribute can be determined as the primary key attribute for table T1 based on the imported schema tables. Similarly, the "Reference ID" attribute can be determined as a foreign key attribute for table T3 based on an analysis of the column names. This allows the relationship to be established. T1 (Order Number) ← → T3 (Reference ID) automatically determined.
[0128] Similarly, the relationship can also T2 (Order Number) ← → T3 (Reference ID) automatically determined.
[0129] The relationships identified between tables T1 to T4 can be confirmed by a user. Additionally, it may be possible for a user to create / add further relationships (e.g., relationships that were not automatically identified) or remove existing relationships (e.g., relationships that the system identified incorrectly).
[0130] Once the relationships have been reconstructed, a valid database schema exists within the internal computer system. This schema describes the tables and their relationships for all tables T1 to T4 imported from the external computer systems. If these tables, or a subset thereof, are subsequently imported back into the internal computer system—for example, to generate different process logs—the internal computer system can access this valid database schema to determine the relationships between the tables. In this respect, the internal computer system is designed to be self-learning; that is, it successively learns the relationships between imported data tables, allowing the computer system to access these learned relationships later.
[0131] After the relationships have been determined and, if necessary, saved, the next step involves identifying S3 business objects (also called case objects) suitable for generating a process log. This involves selecting the data tables in which such business objects are stored (or at least are highly likely to be stored). This process is advantageously automated.
[0132] In this example, the internal computer system can recognize tables T1 (Orders) and T4 (Salespersons) as business objects. This is because table T1 stores basic information about orders, and table T4 stores basic information about salespersons. Tables T2 and T3, on the other hand, store change information (table T2: price changes / quantity changes to an order) and actions (table T3: contact with salespersons), respectively.
[0133] If the internal system identifies several business objects as suitable for generating a process log, a user can select one of these business objects. The internal computer system can then store information about the selected business object, allowing it to access this information later. If this process is repeated multiple times, the internal system gradually learns which business objects were identified and how often, and which business objects were selected by the user and how often. The data table associated with the selected business object is also referred to as the first data table (see above). Fig. 1 (also referred to as the base table).
[0134] In this example, the business object Orders (data table T1) is selected.
[0135] In a further step, S4, the internal computer system, starting from the selected business object (orders) or from the first data table (T1), then determines further data tables (also referred to as second data tables) that may be suitable for generating process logs. For the first data table T1, these would be data tables T2 and T3, which are directly related to the first data table T1 and also store change information or actions.
[0136] Based on the first data table T1 and the second data tables T2, T3 and the relationships between these data tables, the internal computer system determines in the following step S5 activities for which process logs can be generated.
[0137] For the data tables T1, T2 and T3, the internal computer system determines the following activities in this example: Create Order basierend auf der Tabelle T1 und dem Attribut „Creation Date"der Tabelle T1 Change Price basierend auf der Tabelle T2 und dem Attribut „Date" der Tabelle T2 sowie dem Attribut „Field" der Tabelle T2, wobei Attributswerte des Attributes „Field" gefiltert werden (Field =Price) Change Amount based on table T2 and the attribute "Date" of table T2 as well as the attribute "Field" of table T2, where attribute values of the attribute "Field" are filtered (Field = Amount) Change Order based on table T2 and the attribute "Date" of table T2 Call Vendor based on table T3 and the attribute "Date" of table T3
[0138] The internal computer system can automatically generate the activity names, for example from the table name and the respective date attribute (e.g., "Create Order" from "Order Information" and "Creation Date").
[0139] For the activities "Change Price" and "Change Amount" identified above, the internal computer system also creates a filter based on the "Field" attribute to filter specific activities in table T2. The computer system may assume that, due to the table name "Order History" and the "Field" column in this table, table T2 stores changes to various fields (e.g., Price and Amount) of table T1 (since T1 and T2 are linked via the Order Number column).
[0140] Based on these activities, several process logs can subsequently be generated, such as a process log for orders or a process log for changes to orders.
[0141] These activities can also be combined to generate process logs for higher-level processes. For example, it's possible to create a process log to analyze order changes resulting from contact with the salesperson. This can be achieved by combining the activities Create Order, Change Order, and Call Vendor. This "parent" activity (i.e., a higher-level process encompassing multiple activities) is based on tables T1, T2, and T3, and on the columns "Creation Date" from table T1, "Date" from table T2, and "Date" from table T3. The relationships between these three tables have already been determined and are available for generating the subsequent process log.
[0142] A user can now select one or more activities for which one or more process logs should be generated. If the user selects multiple activities, the internal computer system can, at the user's instruction, generate a process log for each activity or a single process log for all selected activities.
[0143] Alternatively, the computer system can automatically generate a process log for each detected activity without user interaction.
[0144] In the subsequent step S6, the internal computer system generates an executable transformation for each selected activity (or alternatively for all activities or for combinations of activities), which can be used to transform data from the external computer systems EC1 to EC3 into a process protocol.
[0145] When executed, the transformation extracts data from at least the necessary attributes of the tables relevant to the respective process log, taking into account the relevant relationships between these tables, and stores the extracted data as a process log. The data extraction is performed using any necessary filter criteria, which may be defined by the respective activities.
[0146] The transformation thus generated is then saved and executed in step S7.
[0147] The process log generated by the execution of the transformation is saved and made available to a process mining system for evaluation.
[0148] The transformation can be performed multiple times, for example cyclically, which allows the process log to be enriched with new process steps executed in the external systems or with newly executed processes.
[0149] Each data record in a process log represents a process step (activity / event) of a process executed in the external computer systems, whereby process steps of several processes can also be stored in the process log.
[0150] The necessary attributes for generating the process log are in any case - a unique identifier of the process of the respective process step, - an identifier for the respective process step, and - a sequence of process steps within a process.
[0151] If a process log is to be generated for the above-mentioned activity "Change Order", the necessary attribute values would be required for each data record of the process log. - Order Number (= process identifier), - “Name” (= identifier of the process step - automatically generated by the system), and - Date (= order).
[0152] Based on the tables above, the following process log results for the Change Order activity: Process identifier Process step identifier Series 1 Change Price 01.01.2018 1 Change Amount 02.01.2018 1 Change Amount 03.01.2018 1 Change Price 04.01.2018 1 Change Price 05.01.2018
[0153] The system can generate the identifier for each process step from the values in the "Field" column.
Claims
[1] An IT system for generating a process log in a local computer system comprising a processor and a storage device, wherein the process log is generated from raw data stored partly in a first external computer system and partly in a second external computer system, wherein the raw data is stored in a number of data tables in the external computer systems, wherein the raw data comprises data generated during the execution of processes in the first external computer system and in the second external computer system, wherein the IT system is adapted (a) to import the data tables from the first external computer system and from the second external computer system into the local computer system and to store the imported data tables in the storage device of the local computer system, (b) to reconstruct relationships between the imported data tables in the local computer system, (c) in the local computer system, to identify and select an initial data table from the number of imported data tables containing objects for which the process log is to be generated, (d) in the local computer system, to identify and select a number of second data tables from the number of imported data tables required to generate the process log, based on the selected first data table and based on the relationships between the imported data tables, (e) to generate an executable transformation in the local computer system that is adapted based - on the selected first data table, - on the selected second data tables and - to extract data from the first data table and from the second data tables based on the relationships between the selected first data table and the selected second data tables, and to store the extracted data as a process log, (f) to perform the transformation in the local computer system and to store the extracted data as a process log and to provide the generated process log to a process mining system for analyzing and reconstructing the processes executed in the first external computer system and in the second external computer system. [2] IT system according to claim 1, wherein the local computer system is adapted to import at least one of the selected data tables from the first external computer system, and to import at least one of the selected data tables from the second external computer system. [3] IT system according to claim 1, wherein the local computer system is adapted to extract the data from the data tables stored in the external computer systems when performing the transformation in step (f). [4] IT system according to claim 1, wherein the local computer system is adapted to determine, when reconstructing the relationships between the imported data tables in step (b), which attributes the data tables are related to each other. [5] IT system according to the preceding claim, wherein two data tables are related to each other if an attribute of one data table is identical or similar to an attribute of the other data table. [6] IT system according to claim 1, wherein the local computer system is adapted to store the relationships reconstructed between each pair of imported data tables, wherein the names of the two data tables, the respective attributes and an assignment of the attributes of one data table to the attributes of the other data table are stored. [7] IT system according to claim 1, wherein - for the data tables imported from the first external computer system, a corresponding first data model from the first external computer system is imported into the local computer system, whereby the relationships between the data tables imported from the first external computer system are reconstructed using the first data model, - for the data tables imported from the second external computer system, a corresponding second data model from the second external computer system is imported into the local computer system, whereby the relationships between the data tables imported from the second external computer system are reconstructed using the second data model, so that only the relationships between the data tables from the first external computer system and the data tables from the second external computer system need to be reconstructed without using a data model. [8] IT system according to claim 1, wherein the local computer system is adapted to determine, in step (c) of identifying and selecting a first data table, which data table satisfies one or more conditions, wherein the conditions are selected from the group comprising - Compared to the other data tables, this data table contains fewer records. - The data table contains an attribute in which timestamps are stored, - the data table is referenced by few other data tables, - and combinations thereof. [9] IT system according to the preceding claim, wherein information about the selected first data table is stored. [10] IT system according to claim 1, wherein the local computer system is adapted to select, when determining and selecting a number of second data tables in step (d), those data tables which satisfy one or more conditions, wherein the conditions are selected from the group comprising - The data tables contain many more records compared to the first data table, - the data table is referenced directly or indirectly by the first data table, - Each data table contains an attribute in which timestamps are stored, - and combinations thereof. [11] IT system according to the preceding claim, wherein information about the selected second data tables and about the relationships between the selected second data tables and the first data table is stored. [12] IT system according to claim 1, wherein the local computer system is adapted to determine, during the generation of the executable transformation in step (e), which attributes of the selected first data table and the selected second data tables are taken into account when extracting the data. [13] IT system according to the preceding claim, wherein the local computer system is adapted to read data records from the first data table and from the second data tables when performing the transformation in step (f), wherein the read data records comprise the attribute values of the attributes determined for the respective data table, wherein the read data records are stored as a process log, wherein each data record stored in the process log represents a process step (event) of a process executed in the first external computer system and in the second external computer system. [14] IT system according to the preceding claim, wherein the read data records are stored in the process log according to a predetermined data structure, the predetermined data structure comprising at least: - a first attribute in which a unique identifier of the process of the respective process step is stored; - a second attribute in which an identifier of the respective process step is stored; and - a third attribute that stores the sequence of process steps within a process. [15] IT system according to the preceding claim, wherein the attribute values of the attributes of the process protocol from - the attribute values of the extracted data records and / or - determined from the table names and / or column names of the selected first data table and / or the selected second data tables. [16] IT system according to claim 1, wherein the local computer system is adapted to identify activities for which process logs can be generated, based on the selected first data table and the selected second data tables and the relationships between these data tables, wherein the local computer system is adapted in step (e) to generate an executable transformation which is adapted based - on the selected first data table, - on the selected second data tables and - to extract data from the first data table and from the second data tables based on the identified activities and to store the extracted data as a process log, based on the relationships between the selected first data table and the selected second data tables. [17] IT system according to claim 1, wherein the local computer system is adapted to perform the transformation cyclically, as needed or according to certain rules after the initial creation of the process log, wherein each time the transformation is performed the activities added to the external computer systems since the last performance of the transformation are extracted and added to the process log, wherein when performing the transformation in step (f) the data are extracted from the data tables stored in the external computer systems. [18] IT system according to any of the preceding claims, wherein the IT system comprises the local computer system and optionally the first external computer system and the second external computer system. [19] IT system according to claim 18, wherein the local computer system is adapted to perform steps (b) - (f). [20] IT system according to one of claims 18 or 19, wherein the local computer system or the external computer systems are adapted to perform step (a). [21] IT system according to one of claims 18-20, wherein the first external computer system is adapted to execute a first subprocess of a higher-level process and, during the execution of the first subprocess, to generate and store the raw data of the first subprocess in the first external computer system, and The second external computer system is adapted to execute a second subprocess of the higher-level process and, during the execution of the second subprocess, to generate and store the raw data of the second subprocess in the second external computer system. [22] IT system according to claim 1, wherein the local computer system is adapted to store the process log as a whole or in part in the working memory of the local computer system. [23] IT system according to the preceding claim and according to claim 14, wherein the local computer system is adapted to store the process steps belonging to a process in main memory sorted according to the third attribute. [24] IT system according to the preceding claim, wherein the local computer system is adapted to store the process steps belonging to a process in main memory sorted according to the third attribute at adjacent addresses. [25] IT system according to claim 1, wherein the local computer system is adapted to extract the data from the data tables stored in the external computer systems when performing the transformation. [26] IT system according to claim 1, wherein the computer systems are coupled to each other via a communication link. [27] IT system according to claim 1, wherein the external computer systems comprise production facilities or processing facilities, each of which has at least one data processing facility. [28] IT system according to the preceding claim, wherein the data processing facilities are coupled with a storage facility in which the data provided by the production facilities or processing facilities are stored.