Process data prediction method and system and electronic equipment
By deploying plug-ins in the process engine, monitoring and simulating process input data, determining operation conditions and predicting branches, the problem of inability to effectively perform process prediction in the existing technology is solved, and multi-branch prediction and efficient process transparency are achieved.
Patent Information
- Application Number
- CN202311845368.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-28
- Publication Date
- 2025-07-01
AI Technical Summary
The prior art cannot effectively predict the process, especially in multi-branch scenarios, and it is impossible to accurately predict information such as subsequent nodes and executors of the process.
By deploying plug-ins in the process engine, monitoring process input data, determining the operation conditions of the process nodes, and predicting process branches based on these conditions, performing simulation operations to obtain prediction results, supporting multi-branch prediction.
It realizes that process prediction can be effectively carried out without interfering with the existing process engine code, improves process transparency and operation efficiency, and supports real-time prediction under high concurrency and large data volume.
Smart Images

Figure CN120235565A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cloud computing, and in particular, to a method, system, and electronic device for predicting process data. Background Art
[0002] Currently, for the design of processes, after developing and designing a process, process developers hope to quickly verify whether the process flows as expected and whether the configured callback services are executed as expected. Process approvers hope to see subsequent approval nodes and approvers. In the above scenarios, the ability to predict processes is required.
[0003] In related technologies, for process prediction, usually only information such as subsequent approval routes, nodes, and executors can be predicted, but this method does not support multi-branch prediction, and there are technical problems in which process prediction cannot be effectively performed.
[0004] For the above problems, no effective solution has been proposed yet. Summary of the Invention
[0005] Embodiments of this application provide a method, system, and electronic device for predicting process data to at least solve the technical problem of being unable to effectively perform process monitoring.
[0006] According to one aspect of the embodiments of this application, a method for predicting process data is provided. This embodiment can be applied to a plugin deployed in a process engine. This embodiment may include: monitoring process input data to be predicted, where the process input data at least includes: a plurality of process nodes and logical relationship information between the plurality of process nodes; determining a plurality of process operation conditions associated with the process nodes in the process input data in the process engine, where the process operation conditions are used to represent conditions that need to be satisfied during the operation of the process input data; based on the plurality of process operation conditions, predicting a plurality of process branches to which the process input data needs to operate, where there is a corresponding relationship between the plurality of process branches and the plurality of process operation conditions; operating the process input data on the process branches for simulation operations to obtain an operation result; and determining a prediction result of the process input data based on the operation result.
[0007] According to another aspect of the embodiments of the present application, another method for predicting process data is further provided. This embodiment can be applied to a plug-in in a process engine and may include: determining a process center platform in a process scenario; monitoring process input data to be predicted on the process center platform, where the process input data at least includes: a plurality of process nodes, and logical relationship information between the plurality of process nodes; determining a plurality of process operation conditions associated with the process nodes in the process input data in the process engine, where the process operation conditions are used to represent conditions that need to be satisfied during the operation of the process input data; predicting, based on the plurality of process operation conditions, a plurality of process branches to which the process input data needs to be transferred, where there is a corresponding relationship between the plurality of process branches and the plurality of process operation conditions; transferring the process input data to the process branches for simulation operations to obtain an operation result; determining a prediction result of the process input data based on the operation result; and returning the prediction result to the process center platform.
[0008] According to another aspect of the embodiments of the present application, another method for predicting process data is further provided. This embodiment can be applied to a plug-in in a process engine and may include: monitoring process input data to be predicted by calling a first interface, where the first interface includes a first parameter, and the parameter value of the first parameter is the process input data, and the process input data at least includes: a plurality of process nodes, and logical relationship information between the plurality of process nodes; determining a plurality of process operation conditions associated with the process nodes in the process input data in the process engine, where the process operation conditions are used to represent conditions that need to be satisfied during the operation of the process input data; predicting, based on the plurality of process operation conditions, a plurality of process branches to which the process input data needs to be transferred, where there is a corresponding relationship between the plurality of process branches and the plurality of process operation conditions; transferring the process input data to the process branches for simulation operations to obtain an operation result; determining a prediction result of the process input data based on the operation result; and outputting the prediction result by calling a second interface, where the second interface includes a second parameter, and the parameter value of the second parameter is the prediction result.
[0009] According to another aspect of the embodiments of the present application, a prediction system for process data is further provided. The system may include: a client for uploading process input data to be predicted, where the process input data at least includes: a plurality of process nodes, and logical relationship information between the plurality of process nodes; a server for calling a plugin in a process engine deployed in a public cloud product to determine a plurality of process operation conditions associated with the process nodes in the process input data in the process engine, where the process operation conditions are used to represent the conditions that need to be satisfied during the operation of the process input data; based on the plurality of process operation conditions, predicting a plurality of process branches to which the process input data needs to operate, where there is a corresponding relationship between the plurality of process branches and the plurality of process operation conditions; operating the process input data on the process branches for simulation operations to obtain an operation result; and determining a prediction result of the process input data based on the operation result.
[0010] According to another aspect of the embodiments of the present application, an electronic device is further provided. The electronic device may include a memory and a processor: the memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions. When the computer-executable instructions are executed by the processor, the prediction method for process data of any one of the above is implemented.
[0011] According to another aspect of the embodiments of the present application, a processor is further provided. The processor is used to run a program, and when the program is running, the prediction method for process data of any one of the above is executed.
[0012] According to another aspect of the embodiments of the present application, a computer-readable storage medium is further provided. The computer-readable storage medium includes a stored program, and when the program is running, the device where the storage medium is located is controlled to execute the prediction method for process data of any one of the above.
[0013] In the embodiments of the present application, the process input data to be predicted is monitored, where the process input data at least includes: a plurality of process nodes, and the logical relationship information between the plurality of process nodes; the multiple process operation conditions associated with the process nodes in the process input data in the process engine are determined, where the process operation conditions are used to represent the conditions that need to be satisfied during the operation of the process input data; based on the multiple process operation conditions, a plurality of process branches to which the process input data needs to operate are predicted, where there is a corresponding relationship between the plurality of process branches and the multiple process operation conditions; the process input data is operated on the process branches for simulation calculation to obtain an operation result; based on the operation result, the prediction result of the process input data is determined. That is, in the embodiments of the present application, the capabilities of the process engine are reused. Since the process engine has the multi-branch operation ability, it supports multi-branch prediction. On this basis, it is extended in the form of a plug-in. Without interfering with the existing code of the process engine, it ensures that the engine can operate normally and can also extend the special logic of prediction, so as to achieve the technical effect of effectively performing process prediction and solve the technical problem of being unable to effectively perform process prediction.
[0014] It is easy to note that the above general description and the following detailed description are only for exemplifying and explaining the present application and do not constitute a limitation to the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation to the present application. In the drawings:
[0016] Figure 1 is a hardware structure block diagram of a computer terminal (or mobile device) for a method of predicting process data according to an embodiment of the present application;
[0017] Figure 2 is a structure block diagram of a computing environment;
[0018] Figure 3 is a flowchart of a method of predicting process data according to an embodiment of the present application;
[0019] Figure 4 is a flowchart of another method of predicting process data according to an embodiment of the present application;
[0020] Figure 5 is a flowchart of another prediction of process data according to an embodiment of the present application;
[0021] Figure 6 is a schematic diagram of a system for predicting process data according to an embodiment of the present application;
[0022] Figure 7 It is a schematic flow chart of high-performance real-time prediction supporting complex processes according to an embodiment of the present application;
[0023] Figure 8 It is a schematic diagram of a process prediction result according to an embodiment of the present application;
[0024] Figure 9 It is a hardware structure block diagram of a computer terminal (or mobile device) for implementing a method for predicting process data according to an embodiment of the present application;
[0025] Figure 10 It is a structure block diagram of a service mesh according to an embodiment of the present application;
[0026] Figure 11 It is a schematic diagram of a device for predicting process data according to an embodiment of the present application;
[0027] Figure 12 It is a schematic diagram of another device for predicting process data according to an embodiment of the present application;
[0028] Figure 13 It is a schematic diagram of another device for predicting process data according to an embodiment of the present application;
[0029] Figure 14 It is a structure block diagram of a computer terminal according to an embodiment of the present application;
[0030] Figure 15 It is a block diagram of an electronic device for a method for predicting process data according to an embodiment of the present application. Detailed implementation manners
[0031] In order to enable those skilled in the art to better understand the solution of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
[0032] It should be noted that the terms "first", "second", etc. in the description, claims and the above-mentioned drawings of this application are used to distinguish similar objects, and do not necessarily describe a specific order or sequence. It should be understood that such data used can be interchanged under appropriate circumstances so that the embodiments of the present application described here can be implemented in an order other than those illustrated or described here. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device that includes a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0033] First, some nouns or terms that appear during the description of the embodiments of this application are applicable to the following explanations:
[0034] Process: It can be a process that follows the Business Process Model and Notation (BPMN for short), and can refer to a series of related activities carried out to achieve a certain goal;
[0035] Activity: It can be a series of link steps in a process, and a process task is composed of several activities;
[0036] Task: It can refer to the process handling logic that requires human participation and can be a task operation. For example, in common approval tasks, tasks such as approval and rejection generally involve multiple people in processing. After the task is processed, the process will continue to move forward;
[0037] Gateway: It is a key point for process routing. The process does not flow in a straight line. At many key points, it needs to run through different branch modes. For example, an exclusive gateway will judge the branch that meets the conditions to run, and a parallel gateway will run according to multiple branches. After multiple branches run through, they will reach a convergence gateway, which is used in scenarios such as parallel approval;
[0038] Variable: It is used to represent the context data involved in the operation during the operation of the process. It can be assigned values and referenced, can be used as a method input parameter, and can also be used as a condition for logical judgment, etc.;
[0039] Forecast: It can refer to predicting subsequent process nodes and participants through forecast data and process definitions, which is used to improve the transparency and communication efficiency of the process during the process handling process.
[0040] Embodiment 1
[0041] According to an embodiment of the present application, a method for predicting process data is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. And although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a different order than here.
[0042] The method embodiment provided by the first embodiment of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Figure 1 It is a hardware structure block diagram of a computer terminal (or mobile device) for a method of predicting process data according to an embodiment of the present application. As Figure 1 shown, the computer terminal 10 (or mobile device) may include one or more (shown as 102a, 102b,..., 102n in the figure) processors 102 (the processor 102 may include, but is not limited to, a processing device such as a microcontroller unit (MCU) or a field programmable gate array (FPGA)), a memory 104 for storing data, and a transmission module 106 for communication functions. In addition, it may further include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of the BUS bus), a network interface, a power supply, and / or a camera. Those of ordinary skill in the art can understand that Figure 1 the structure shown is only schematic and does not limit the structure of the above-mentioned electronic device. For example, the computer terminal 10 may further include more or fewer components than those Figure 1 shown, or have a different configuration from that Figure 1 shown.
[0043] It should be noted that the above one or more processors 102 and / or other data processing circuits are generally referred to as "data processing circuits" in this article. The data processing circuit can be embodied in software, hardware, firmware or any combination thereof, in whole or in part. In addition, the data processing circuit can be a single independent processing module, or be incorporated in whole or in part into any one of the other elements in the computer terminal 10 (or mobile device). As involved in the embodiments of the present application, the data processing circuit is used for processor control (such as the selection of a variable resistance terminal path connected to an interface).
[0044] The memory 104 can be used to store software programs and modules of application software, such as the program instructions / data storage devices corresponding to the prediction method of process data in the embodiments of the present application. The processor 102 executes various functional applications and data processing by running the software programs and modules stored in the memory 104, that is, implements the above-mentioned prediction method of process data. The memory 104 may include high-speed random access memory and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memories. In some instances, the memory 104 may further include a memory remotely disposed relative to the processor 102, and these remote memories can be connected to the computer terminal 10 through a network. Examples of the above network include but are not limited to the Internet, intranet, local area network, mobile communication network, and combinations thereof.
[0045] The transmission device 106 is used to receive or send data via a network. Specific examples of the above network may include the wireless network provided by the communication provider of the computer terminal 10. In one instance, the transmission device 106 includes a network adapter (Network Interface Controller, abbreviated as NIC), which can be connected to other network devices through a base station and thus can communicate with the Internet. In one instance, the transmission device 106 can be a radio frequency (Radio Frequency, abbreviated as RF) module, which is used to communicate with the Internet wirelessly.
[0046] The display can be, for example, a touch-screen liquid crystal display (Liquid Crystal Display, abbreviated as LCD), and the liquid crystal display enables a user to interact with the user interface of the computer terminal 10 (or mobile device).
[0047] Figure 1 The shown hardware structure block diagram can be used not only as an exemplary block diagram of the above computer terminal 10 (or mobile device), but also as an exemplary block diagram of the above server. In an alternative embodiment, Figure 2 is shown in a block diagram using the above Figure 1 shown computer terminal 10 (or mobile device) as a computing node in the computing environment 201 in one embodiment. Figure 2 is a structural block diagram of a computing environment according to an embodiment of the present application, such as Figure 2As shown, the computing environment 201 includes multiple computing nodes (such as servers, shown in the figure as 210-1, 210-2, …) running on a distributed network. Each computing node contains local processing and memory resources, and end users 202 can remotely run applications or store data in the computing environment 201. The applications can be provided as multiple services 220-1, 220-2, 220-3, and 220-4 in the computing environment 201, representing services "A", "D", "E", and "H" respectively.
[0048] End users 202 can provide and access services through a web browser or other software applications on the client side. In some embodiments, the provision and / or requests of end users 202 can be provided to the ingress gateway 230. The ingress gateway 230 can include a corresponding proxy to handle the provision and / or requests for services (one or more services provided in the computing environment 201).
[0049] Services are provided or deployed according to various virtualization technologies supported by the computing environment 201. In some embodiments, services can be provided based on virtual machine (VM)-based virtualization, container-based virtualization, and / or similar means. VM-based virtualization can simulate a real computer by initializing a virtual machine and execute programs and applications without directly accessing any actual hardware resources. While virtualizing the machine with a virtual machine, according to container-based virtualization, containers can be started to virtualize the entire operating system (OS) so that multiple workloads can run on a single operating system instance.
[0050] In one embodiment of container-based virtualization, several containers of a service can be assembled into a Pod (e.g., a Kubernetes Pod). For example, as Figure 2 shown, service 220-2 can be equipped with one or more Pods 240-1, 240-2, …, 240-N (collectively referred to as Pods). A Pod can include a proxy 245 and one or more containers 242-1, 242-2, …, 242-M (collectively referred to as containers). One or more containers in the Pod handle requests related to one or more corresponding functions of the service, and the proxy 245 generally controls network functions related to the service, such as routing, load balancing, etc.
[0051] During operation, executing a user request from end user 202 may require invoking one or more services in the computing environment 201, and executing one or more functions of a service may require invoking one or more functions of another service. As Figure 2As shown, service "A" 220-1 receives a user request from end user 202 from ingress gateway 230. Service "A" 220-1 may invoke service "D" 220-2, and service "D" 220-2 may request service "E" 220-3 to perform one or more functions.
[0052] The computing environment described above may be a cloud computing environment, where the allocation of resources is managed by a cloud service provider, allowing the development of functions without considering the implementation, adjustment, or expansion of servers. This computing environment allows developers to execute code in response to events without building or maintaining complex infrastructure. Services can be split into groups of functions that can scale automatically and independently, rather than scaling a single hardware device to handle potential loads.
[0053] In the above operating environment, the present application provides a Figure 3 method for predicting process data as shown. The method for predicting process data in this embodiment can be executed in a plug-in in a process engine. For example, it can be executed in a plug-in in a process engine deployed in a public cloud product, a private cloud product, or a dedicated cloud product. Among them, a private cloud can be cloud computing resources exclusively used by a single organization, and a public cloud product can be a product of major cloud service providers. It should be noted that this is only for illustration purposes and does not specifically limit the deployment location of the plug-in in the process engine.
[0054] Figure 3 is a flowchart of a method for predicting process data according to an embodiment of the present application. As Figure 3 shown, this embodiment may include the following steps:
[0055] Step S302, monitor the process input data to be predicted, where the process input data at least includes: a plurality of process nodes, and logical relationship information between the plurality of process nodes.
[0056] In the technical solution provided in step S302 of the present application, the process input data to be predicted is monitored. Among them, the process input data may be prediction data, and may at least include: multiple process nodes, the logical relationships between process nodes, variable data, external service data, etc. It should be noted that this is only an example, and the content of the process input data is not specifically limited. A process node may refer to a link or step in a process, which may be abbreviated as a node, and may include task nodes, activity nodes, branch nodes, aggregation nodes, decision nodes, and edge nodes, etc. The process logic can be implemented through the combination of different types of process nodes. It should be noted that this is only an example, and the types of process nodes are not specifically limited. The logical relationship information can be used to represent the association relationships between various nodes. For example, it may include the sequential relationship, branch and merge relationship, loop and iteration relationship, jump and transfer relationship, etc. between nodes. This is only an example, and the content of the logical relationship information is not specifically limited.
[0057] Optionally, the process input data may be data input through a mobile terminal, or may be data returned by simulating service calls, or may be process input data returned by different server calls. This is only an example, and the source of the monitored process input data is not specifically limited.
[0058] Since the prediction method of the data flow in this embodiment does not change the capabilities of the existing search engine, but instead deploys a plugin, such as a prediction plugin, in the search engine, therefore, the process input data returned by different servers can be obtained through the service call method to perform process prediction, thereby achieving the technical effect of effectively performing process prediction in various situations.
[0059] For example, the process input data for order processing to be predicted is monitored: The order processing process is: receive the order, verify the inventory, calculate the price, deduct the inventory, send a payment request, confirm the payment, prepare for shipment, and send a shipment notice. It can be determined that the process nodes in the process input data are "receive the order, verify the inventory, calculate the price, deduct the inventory, send a payment request, confirm the payment, prepare for shipment, and send a shipment notice", and the logical relationship information between the process nodes is: "verify the inventory after receiving the order", "prepare for shipment if the payment is confirmed", etc.
[0060] Step S304, determine multiple process operation conditions associated with the process nodes in the process input data in the process engine, where the process operation conditions are used to represent the conditions that the process input data needs to meet during the operation process.
[0061] In the technical solution provided in step S304 of the present application, after the process input data to be predicted is monitored, the process input data is analyzed to determine multiple process operation conditions associated with the process nodes in the process engine in the process input data. Among them, the process operation conditions can be branch conditions, which can be used to represent the conditions that the process input data needs to meet during operation. For example, in the order processing process, the operation of deducting inventory can only be continued when the inventory is sufficient, or the goods can only be prepared for shipment after receiving the notice of successful payment.
[0062] Optionally, after the process input data is monitored, the monitored process input data can be analyzed to determine the process nodes in the process input data and multiple process operation conditions associated with the process nodes in the process engine.
[0063] For example, assume that the process input data includes process node one, process node two, and process node three. When process node one is executed successfully, process node two can be executed. When process node one fails to execute, process node three can be executed. Therefore, after the process input data is obtained and analyzed, it can be determined that the operation condition of process node three in the process input data is that process node one fails to execute, and the operation condition of process node two is that process node one executes successfully. It should be noted that this is only an example for illustration, and there are no specific restrictions on the type and method of determining the process operation conditions.
[0064] Step S306, based on multiple process operation conditions, predict multiple process branches to which the process input data needs to be transferred, where there is a corresponding relationship between the multiple process branches and the multiple process operation conditions.
[0065] In the alternative technical solution provided in step S306 of the present application, according to the determined process operation conditions, predict multiple process branches to which the process input data needs to be transferred. Among them, the process branches can include exclusive type branches, parallel type branches, etc. There is a corresponding relationship between the multiple process branches and the multiple process operation conditions. For example, if the process operation condition corresponding to the process branch is that only the process nodes that meet the preset conditions run and other process nodes do not run, then it can be determined that this process branch is an exclusive branch; if the process operation condition corresponding to the process branch is that multiple process nodes can be executed simultaneously, then it can be determined that this process branch is a parallel branch. It should be noted that this is only an example for illustration, and there are no specific restrictions on the type of process branches.
[0066] Optionally, the process does not flow linearly and needs to run through different branch modes at many key points. For example, the exclusive branch will determine the branch that meets the conditions to run, and the parallel branch will run according to multiple branches. After multiple branches have run, they will return to the aggregation branch, which is used in scenarios such as parallel approval. As can be seen from the above, process branching is the key to process routing. Therefore, in this embodiment, when determining multiple process operation conditions, further prediction will be made on the multiple process branches to which the process input data needs to be transferred.
[0067] For example, when the process input data is monitored and it is determined that the process input data includes process node one, process node two, process node three, and process node four, and it is determined that the process operation condition for process node one is that only when process node one runs successfully, the process input data can be continued to be transferred to any node, then it can be determined that process node one is a branch node; the process operation condition for process node two is that when process node two runs successfully, the process input data is concurrently transferred to multiple nodes, then it can be determined that process node two is a parallel branch.
[0068] It should be noted that the above method for determining process branches is only for illustrative purposes and does not specifically limit the way of determining process branches.
[0069] Step S308: Transfer the process input data to a process branch for simulation operation to obtain an operation result.
[0070] In the optional technical solution provided in step S308 of the present application, after predicting the multiple process branches to which the process input data needs to be transferred, the process input data can be transferred to the process branch for simulation operation to obtain an operation result. Among them, the operation result can be the result obtained during the simulation of the process operation, which can be used to better determine the operation situation of the process. For example, it can be used to represent process performance, process efficiency, etc. It should be noted that this is only for illustrative purposes and does not specifically limit the type of operation result. Transfer can be used to describe the transfer process of the process input data. For example, during the execution process of the process input data, the process input data can be transferred on different process branches according to changes in time and situation.
[0071] Optionally, the process input data is transferred to different process branches, and the process input data is simulated and calculated on the process branch to calculate the operation results on different branches. Among them, the simulation calculation can be performed through a machine learning model, a statistical model, or a system dynamics model. It should be noted that the above simulation calculation methods are only for illustrative purposes. When selecting the simulation calculation method, it can be selected in combination with the characteristics of the process input data, and the simulation calculation method is not specifically limited here.
[0072] For example, assume that for a medical appointment process, the process input data may include the patient's appointment request, the doctor's work schedule, etc. When it is necessary to predict the performance of the process in various situations, it is necessary to perform simulation operations on the process. During the simulation operation, different process branches correspond to different processing situations. For example, for situations such as the doctor being available and the patient canceling the appointment. The process input data can be run through multiple process branches for simulation operations to obtain the operation results. For example, on the process branch where the doctor is available, it can be found that most appointment visits can be completed smoothly, while on the process branch where the doctor is busier, additional time is required to arrange other doctors, so it can be determined that there is a situation where some appointments are postponed.
[0073] Step S310, based on the operation result, determine the prediction result of the process input data.
[0074] In the optional technical solution provided in step S310 of the present application above, based on the operation result, the prediction result of the process input data can be determined. Among them, the prediction result can be a future trend or possibility analysis made based on the operation result. For example, it can be information such as the subsequent approval route, nodes, executors, etc. It should be noted that only examples are given here, and the content of the prediction result is not specifically limited.
[0075] Optionally, by analyzing the operation result to determine the prediction result of the process input data, the prediction result may include predictions of possible problems that may occur in the future for nodes and executors, and may also include improvement suggestions for these problems.
[0076] For example, for the problem of enterprise process processing efficiency, monitor the process input data to be predicted, determine that the process operation condition is that the number of leave days is greater than 10 days, and the multiple process branches to which the process input data needs to be run are secondary supervisor approval and human resources approval. The process input data can be run through the process branches of secondary supervisor approval and human resources approval for simulation operations, and the operation result is obtained. Based on the operation result, the prediction result of the process input data is determined.
[0077] In this embodiment, through the plug-in in the process engine deployed on the public cloud product, process prediction is performed to predict the process nodes and participants that the subsequent process will experience, thereby improving the transparency and communication efficiency of the process during the process handling process, and thus accelerating the operation efficiency of the process. Through process prediction, process participants can quickly understand the subsequent situation of the process to accelerate the operation efficiency of the entire process.
[0078] Through the above steps S302 to S310 of this application, the process input data to be predicted is monitored. Among them, the process input data at least includes: multiple process nodes, and the logical relationship information between multiple process nodes; determine multiple process operation conditions associated with the process nodes in the process input data in the process engine, where the process operation conditions are used to represent the conditions that the process input data needs to meet during operation; based on the multiple process operation conditions, predict multiple process branches that the process input data needs to run to, where there is a corresponding relationship between the multiple process branches and the multiple process operation conditions; run the process input data on the process branches for simulation operations to obtain operation results; based on the operation results, determine the prediction results of the process input data. That is, in the embodiments of this application, the capabilities of the process engine are reused. Since the process engine has the ability to operate in multiple branches, it supports multi-branch prediction. On this basis, it is extended in the form of a plugin. Without interfering with the existing code of the process engine, it ensures that the engine can operate normally and can also extend the special logic of prediction, thereby achieving the technical effect of effectively performing process prediction and solving the technical problem of being unable to effectively perform process prediction.
[0079] The above method of this embodiment will be further introduced below.
[0080] As an optional implementation manner, step S304, determining multiple process operation conditions associated with the process input data in the process engine, includes: determining the variable data of the process input data in the process engine; determining the process operation conditions based on the variable data.
[0081] In this embodiment, after obtaining the process input data, the variable data of the process input data in the process engine can be determined, and based on the variable data, the process operation conditions can be determined. Among them, the variable data can be numbers, texts, or other types of data, and the type of the variable data is not specifically limited here.
[0082] Optionally, during the operation of the process, some context data is required to participate in the operation. The above context can be represented by variable data, and the variable data can be assigned values and referenced to be used as the conditions for logical judgment. When performing process prediction, the input prediction data is transmitted to the plugin, the variable data of the process input data in the process engine is determined, and parallel branches are selected based on the variable data, thereby determining the process operation conditions.
[0083] For example, assume that in a company's leave application process, when an employee submits a leave application, they need to enter the number of leave days and the reason for leave. In the process engine, these two process input data are variable data. Based on these variable data, the process engine can set conditions to determine the flow direction of the process. For example, if the number of leave days is less than or equal to 3 days and the reason for leave is sick leave, then the process engine will automatically approve the leave application; if the number of leave days is greater than 3 days or the reason for leave is vacation travel, then the process engine will forward the leave application to the superior for approval.
[0084] In this embodiment, the process operation conditions are determined based on variable data, enabling the process engine to automatically execute corresponding process steps according to specific variable data to predict the future process, thereby improving the automation and efficiency of the process, and further achieving the technical effect of effectively monitoring the process and solving the technical problem of being unable to effectively carry out the process.
[0085] Optionally, this embodiment supports passing in prediction data (i.e., process input data), which has a higher priority than process data and can overwrite variable data and external service data. Based on the variable data, the operation of the process in different situations can be verified.
[0086] As an optional implementation manner, in step S308, the process input data is transferred to a process branch for simulation operation to obtain an operation result, including: calling the memory allocated by the process engine to the plug-in; in the memory, transferring the process input data to the process branch for simulation operation to obtain an operation result.
[0087] In this embodiment, the process of transferring the process input data to the process branch for simulation calculation can be achieved through the following steps: the memory allocated by the process engine to the plug-in can be called, and in the memory, the process data is transferred to the abortion branch for simulation operation to obtain an operation result. Among them, the memory can be the physical memory or virtual memory in the computer system used to store temporary data and run programs. This is only an example here, and no specific limitation is made on the type of memory.
[0088] Considering that multiple complex business processes need to be processed in the process engine, in this embodiment, the process input data is loaded into the memory and simulated operations (also known as in-memory operations) are performed in the memory. During this process, branch operations can be performed according to different conditions to obtain the final operation result. Through the above steps, during the simulation operation process, the data does not fall into the database, which can not only accelerate the prediction performance but also not interfere with or contaminate the normal process data.
[0089] As an alternative implementation, in memory, the process input data is run on process branches for simulation operations to obtain operation results, including: in memory, determining the process transaction to which the process input data runs; performing simulation operations on at least one process branch included in the process transaction with the process input data to obtain operation results.
[0090] In this embodiment, when using memory for simulation operations, first in memory, determine the process transaction to which the process input data runs, and perform simulation operations on at least one process branch included in the process transaction with the process input data to obtain operation results. Among them, the process transaction may include multiple steps or branches in the process of running, and can be used to handle different situations or conditions. For example, in a bank transaction system, the process transaction may include operations such as users handling deposits, withdrawals, transfers, etc. This is only an example, and the type of process transaction can change according to the actual use situation, and no specific restrictions are made here.
[0091] Optionally, when using memory for simulation calculations, do not create a new process transaction, and let the process run in the same process transaction to ensure that the prediction logic can be executed forward.
[0092] For example, assume there is a shopping process on an e-commerce website. In this process, after the user selects a product, they need to enter the delivery address and payment method, and then the system will go through process transactions such as order confirmation, order generation, and payment. Therefore, in the process of predicting the shopping process of the e-commerce website, obtain the process input data "the delivery address and payment method entered by the user", determine in memory the process transaction to which the delivery address and payment method entered by the user need to run, and then perform simulation operations in the payment process to obtain operation results.
[0093] As an alternative implementation, in the process transaction, execute the process node of the process task that needs to wait in the process input data.
[0094] In this embodiment, in the process transaction, predict the process nodes that the process needs to pass through, determine the process nodes of the process tasks that need to wait in the process input data, and execute the process nodes. Among them, the process task may be a process processing logic that requires human participation, also known as a human task, and may be some operations that need to be defined, such as approval, rejection, etc. in the approval task. This is only an example, and no specific restrictions are made on the type of process task.
[0095] Optionally, a process node is a series of steps in a process. A process task consists of several process nodes. Generally, multiple people are involved in processing a process task. After the processing is completed, the process will continue to move forward. When performing process prediction, in memory, determine the process task to which the process input data has reached. In the process task, predict the process nodes in the process task that the process input data needs to wait for. Execute the above process nodes.
[0096] For example, in a process transaction, to predict the process nodes of the process task that the process input data needs to wait for, the execution of the process nodes can be controlled by means of a subprocess, a message event & a timer time, or a time listener, etc.
[0097] In this embodiment, the nodes that need to wait can be automatically executed or completed, so that the process runs in the same transaction, ensuring that the prediction logic can be executed forward, thus achieving the technical effect of effectively monitoring the process and solving the technical problem of being unable to effectively monitor the process.
[0098] For example, to determine the process nodes of the process task that need to wait, the process nodes that need to be executed can be automatically triggered by means of a timer.
[0099] As an optional implementation manner, show the execution order of the process nodes of the process task.
[0100] In this embodiment, during the simulation operation in memory, the execution order of the process nodes and the external service execution logs can be shown. For example, they can be shown in the form of a flowchart, a table, a schematic diagram, etc. It should be noted that this is only an example here, and there is no specific limitation on the display manner of the execution order.
[0101] Considering that the essence of collocating the process is to automate the business or work, so that the actual business activities are more standardized and more efficient. Therefore, in this process, reducing the communication cost and improving the process transparency are of great significance. Thus, in this embodiment, showing the execution order of the process nodes of the process task and the external service execution logs, so as to improve the process transparency, and thus better analyze the running situation of the process, solve the technical problem of being unable to effectively monitor the process, and achieve the technical effect of effectively monitoring the process.
[0102] Optionally, after developing a design process, the process developer hopes to quickly verify whether the process flows as expected and whether the configured callback service executes as expected. The process approver hopes to see the subsequent approval nodes and approvers. In these scenarios, the process prediction ability is required. Generally, the more complex the business is in the process scenarios where it is needed, the more complex the flowchart is. Therefore, in this embodiment, the execution order of the process nodes of the process task can be displayed for the process developer to consult.
[0103] For example, the execution order of the process nodes of the process task can be displayed in the form of a flowchart.
[0104] As an alternative implementation, based on multiple process operation conditions, predict multiple process branches to which the process input data is to be transferred, including: predicting the branch mode required by the process input data during the operation based on multiple process operation conditions; determining multiple process branches that meet the branch mode.
[0105] In this embodiment, after monitoring the process input data, it is necessary to determine the process operation conditions corresponding to the process input data. Based on multiple process operation conditions, the branch mode required by the process input data during the operation can be predicted to determine multiple process branches that meet the branch mode. Among them, the branch mode can include parallel branches, exclusive branches, etc. This is only an example here and does not specifically limit the branch mode.
[0106] Since the process does not flow in a straight line and needs to run through different branch models at many key points. For example, the exclusive branch will judge the branch that meets the conditions to run, and the parallel branch will run according to multiple branches. After multiple branches run, they will lead to the aggregation branch. Therefore, in this embodiment, it is necessary to predict the branch mode required by the process input data during the operation based on multiple process operation conditions to determine multiple process branches that meet the branch mode and execute them.
[0107] For example, during the process prediction, based on multiple process operation conditions, it can be predicted that the branch mode required by the process input data during the operation is a parallel branch. Therefore, the multiple process branches that meet the branch mode are determined to be Process Branch One, Process Branch Two, and Process Branch Three, and the above three process branches finally converge at Process Node Four.
[0108] As an alternative implementation, predicting the branch mode required by the process input data during the operation based on multiple process operation conditions includes: predicting the parallel branch mode required by the process input data during the operation when the process operation conditions allow matching the form data in the process input data.
[0109] In this embodiment, when the process operation conditions allow matching the form data in the process input data, the parallel branch mode required by the process input data during operation can be predicted based on the form data. Among them, the form data can be used to represent information such as user behavior, preferences, and characteristics, and can be used to predict future user behavior, process trends, results, etc. For example, the form data can include registration information, browsing history, shopping cart content, payment methods, etc. It should be noted that this is only an example and does not specifically limit the type of form data.
[0110] Since the branch conditions do not support matching the form data, multi-branch prediction of the process is not supported during the process prediction. In this embodiment, by introducing a plug-in, the capabilities of the process engine are not changed, so that the form data in the process input data can be matched, and then multi-branch prediction can be performed during the process prediction, achieving the technical effect of effectively monitoring the process and solving the technical problem of being unable to effectively monitor the process.
[0111] For example, assume a leave application process in a company. The leave application form submitted by an employee includes information such as the start date of the leave, the end date of the leave, and the reason for the leave. When the process operation conditions allow matching the form data in the process input data, the parallel mode required by the process input data during operation can be predicted as follows: during the process operation, according to different reasons and durations of the leave, a parallel branch mode may be required. For example, if the reason for the leave is sick leave, the process can continue only after being confirmed by a doctor; if the leave duration exceeds one week, the process can continue only after being approved by the department manager; if the leave duration exceeds one month, the process can continue only after being approved by the human resources department.
[0112] As an alternative implementation, predict the return result obtained by performing a service call operation on the process input data.
[0113] In this embodiment, predict the return result obtained by performing a service call operation on the process input data. Among them, the service call operation can be used to call the callback service configured in the process, or to call the situation or process returned by different simulation servers. This is only an example and does not specifically limit the role of the service call operation. The return result can be the called callback service, the called process, etc. The content called by the service call operation is different, and the return result is also different.
[0114] If only executor prediction is supported and service call and event listener prediction simulation are not supported, there will be a technical problem of being unable to effectively monitor the process. To solve the above problem, in this embodiment, both passing in prediction data (i.e., process input data) and simulating service call returns are supported, and running prediction of different situations and processes returned by simulating service calls is supported.
[0115] Optionally, since this embodiment does not require modifying the capabilities of the process engine and only performs process prediction through plugins, it can support actual service calls and can return the input and output parameters, time consumption, and other return results of the service calls.
[0116] As an alternative implementation, display the execution log of the service call operation performed on the process input data.
[0117] In this embodiment, the execution log of the service call operation performed on the process input data can be displayed. Among them, the execution log can be the execution log of external services or data.
[0118] As an alternative implementation, step S302, monitoring the process input data to be predicted, includes: determining the process definition data as the process input data, where the process definition data is used to represent the pre-loaded process; and / or, determining the instance of the already running process as the process input data.
[0119] In this embodiment, the process definition data can be determined as the process input data, and / or the instance of the already running process can be determined as the process input data. Among them, the process definition data can be used to represent the pre-loaded process and can be the prediction data of the unrun process.
[0120] Optionally, the process definition data can be pre-loaded and the process definition data can be determined as the process input data, and / or the instance of the already running process can be determined as the process input data, without having to re-obtain the process input data, thereby achieving the purpose of accelerating the prediction performance and efficiency.
[0121] In this embodiment, the capabilities of the process engine are reused. Since the process engine has the ability to operate with multiple branches, it supports multi-branch prediction. On this basis, it is extended in the form of a plugin. Without interfering with the existing code of the process engine, it ensures that the engine can operate normally and can also extend the special logic of prediction, thereby achieving the technical effect of effectively performing process prediction and solving the technical problem of being unable to effectively perform process prediction.
[0122] The embodiment of the present application also provides a method for predicting process data, and this embodiment can be applied to a plugin in the process engine. Figure 4 It is a flowchart of another method for predicting process data according to the embodiment of the present application, as Figure 4 shown, and this embodiment may include the following steps:
[0123] Step S402, determining the process center platform in the process scenario.
[0124] In the technical solution provided in step S402 of the present application, the process center platform in the process scenario is determined. Among them, the public cloud product can be computing resources and services based on the Internet provided by a third-party cloud service provider. These resources and services can be used on demand, and users can select different service types according to their own needs, including service types such as virtual machines, storage, databases, and networks. The process scenario can be a specific business process scenario. For example, it can be a leave process approval scenario, a late card replacement approval scenario, etc. This is only for illustration and does not specifically limit the type of process scenario. The process center platform can be a platform integrating various business process management tools and technologies, which can help enterprises manage and optimize work processes. It can provide functions such as process design, execution, monitoring, and optimization.
[0125] Optionally, after developing and designing the process, the process developer hopes to quickly verify whether the process flows as expected and whether the configured callback service executes as expected. The process approver hopes to see the subsequent approval nodes and approvers. The process prediction ability is required in these process scenarios, and the process center platform in the above process scenario can be determined.
[0126] For example, in the public cloud product of a certain company, they use a process center platform to manage and execute various work processes, such as approval processes, sales processes, etc. This process center platform is the core process platform in the determined process scenario. Through this platform, they can flexibly design and adjust various processes, improving work efficiency and management level. Therefore, when predicting process data, the process center platform in the process scenario can be determined in the public cloud product.
[0127] Step S404, monitor the process input data to be predicted of the process center platform, where the process input data at least includes: multiple process nodes, and the logical relationship information between multiple process nodes.
[0128] In the technical solution provided in step S404 of the present application, the plugin can monitor the process input data to be predicted of the process center platform. Among them, the process input data can be prediction data, and at least includes multiple process nodes, and the logical relationship information between multiple process nodes.
[0129] Step S406, determine multiple process operation conditions associated with the process nodes in the process input data in the process engine, where the process operation conditions are used to represent the conditions that need to be satisfied during the operation of the process input data.
[0130] In this embodiment, after the process input data to be predicted is monitored, the process input data is analyzed to determine multiple process operation conditions associated with process nodes in the process engine among the process input data. Among them, the process operation conditions can be branch conditions, which can be used to represent the conditions that the process input data needs to meet during operation.
[0131] Step S408: Based on multiple process operation conditions, predict multiple process branches to which the process input data needs to operate. Among them, there is a corresponding relationship between the multiple process branches and the multiple process operation conditions.
[0132] In the technical solution provided in step S408 of the present application, according to the determined process operation conditions, predict multiple process branches to which the process input data needs to operate. Among them, the process branches can include exclusive type branches, parallel type branches, etc. There is a corresponding relationship between the multiple process branches and the multiple process operation conditions. For example, if the process operation condition corresponding to the process branch is that only process nodes that meet the preset conditions run and other process nodes do not run, then it can be determined that this process branch is an exclusive branch; if the process operation condition corresponding to the process branch is that multiple process nodes can be executed simultaneously, then it can be determined that this process branch is a parallel branch. It should be noted that this is only an example and does not specifically limit the types of process branches.
[0133] Step S410: Transfer the process input data to the process branch for simulation operation to obtain an operation result.
[0134] In the technical solution provided in step S410 of the present application, after predicting multiple process branches to which the process input data needs to operate, the process input data can be transferred to the process branch for simulation operation to obtain an operation result.
[0135] Step S412: Based on the operation result, determine the prediction result of the process input data.
[0136] In the technical solution provided in step S412 of the present application, based on the operation result, the prediction result of the process input data can be determined. Among them, the prediction result can be used to represent information such as subsequent approval nodes, approval personnel, and execution status of the process. This is only an example and does not specifically limit the types of prediction results.
[0137] Step S414: Return the prediction result to the process center platform.
[0138] In the technical solution provided in step S414 of the present application, the prediction result can be returned to the process center platform and displayed in one of the ways such as a process schematic diagram, a table, a circuit diagram, etc.
[0139] Through the above steps S402 to S414 of this application, in the public cloud product, determine the process center platform in the process scenario; monitor the process input data to be predicted on the process center platform, where the process input data at least includes: multiple process nodes, and the logical relationship information between multiple process nodes; determine multiple process operation conditions associated with the process nodes in the process input data in the process engine, where the process operation conditions are used to represent the conditions that need to be satisfied during the operation of the process input data; based on the multiple process operation conditions, predict multiple process branches to which the process input data needs to be transferred, where there is a corresponding relationship between the multiple process branches and the multiple process operation conditions; transfer the process input data to the process branches for simulation operations to obtain an operation result; based on the operation result, determine the prediction result of the process input data; return the prediction result to the process center platform, so as to achieve the technical effect of effectively monitoring the process, and solve the technical problem of being unable to effectively monitor the process.
[0140] According to an embodiment of the present application, another method for predicting process data is also provided, and this embodiment can be applied to a plug-in in a process engine. Figure 5 It is a flowchart of another prediction of process data according to an embodiment of the present application. As Figure 5 shown, this embodiment may include the following steps:
[0141] Step S502, monitor the process input data to be predicted by calling a first interface, where the first interface includes a first parameter, and the parameter value of the first parameter is the process input data, and the process input data at least includes: multiple process nodes, and the logical relationship information between multiple process nodes.
[0142] In the technical solution provided in step S502 of the present application above, the input process input data can be obtained by calling the first interface, where the first interface may include a first parameter, and the parameter value of the first parameter may be the process input data. The process input data at least includes: multiple process nodes, and the logical relationship information between multiple process nodes.
[0143] For example, a user can pass the process input data as the parameter value of the first parameter through the application programming interface (API) of a software as a service (SAAS) service provider for process prediction or processing. The SAAS service provider's system will receive the process input data and process it. Among them, the first interface can be an API endpoint provided by the SAAS platform. The user can send the process input data by calling this interface, and the first parameter is used to pass the specific process input data. In this way, the user can use the functions provided by the SAAS platform for customized information query and processing.
[0144] Step S504: Determine multiple process operation conditions associated with the process nodes in the process input data, where the process operation conditions are used to represent the conditions that need to be met during the operation of the process input data.
[0145] Step S506: Based on the multiple process operation conditions, predict multiple process branches to which the process input data needs to be transferred, where there is a corresponding relationship between the multiple process branches and the multiple process operation conditions.
[0146] Step S508: Transfer the process input data to the process branch for simulation operation to obtain an operation result.
[0147] Step S510: Based on the operation result, determine the prediction result of the process input data.
[0148] Step S512: Output the prediction result by calling the second interface, where the second interface includes a second parameter, and the parameter value of the second parameter is the prediction result.
[0149] In the technical solution provided in step S512 of the present application, the prediction result can be output by calling the second interface. Among them, the second interface can include a second parameter, and the parameter value of the second parameter can be the prediction result.
[0150] For example, the prediction result can be passed out as the parameter value of the second parameter through the application programming interface to provide the prediction result of the process input data to the user. The SAAS service provider's system will transmit the processed prediction result to the user through the interface. Among them, the second interface can be an API endpoint provided by the SAAS platform. The prediction result can be sent to the user by calling this interface, and the second parameter is used to pass the specific prediction result.
[0151] In an embodiment of the present application, the process input data to be predicted is monitored by calling a first interface. The first interface includes a first parameter, and the parameter value of the first parameter is the process input data. The process input data at least includes: a plurality of process nodes, and the logical relationship information between the plurality of process nodes; determining a plurality of process operation conditions associated with the process nodes in the process input data in a process engine, where the process operation conditions are used to represent the conditions that the process input data needs to meet during operation; predicting, based on the plurality of process operation conditions, a plurality of process branches to which the process input data needs to be transferred, where there is a corresponding relationship between the plurality of process branches and the plurality of process operation conditions; transferring the process input data to the process branches for simulation operations to obtain an operation result; determining a prediction result of the process input data based on the operation result; and outputting the prediction result by calling a second interface. The second interface includes a second parameter, and the parameter value of the second parameter is the prediction result, thereby achieving the technical effect of effectively monitoring the process and solving the technical problem of being unable to effectively monitor the process.
[0152] Embodiment 2
[0153] According to an embodiment of the present application, an embodiment of a prediction system for process data is further provided. Figure 6 is a schematic diagram of a prediction system for process data according to an embodiment of the present application, as Figure 6 shown, the prediction system 600 for process data may include: a client 602 and a server 604.
[0154] The client 602 is used to upload the process input data to be predicted, where the process input data at least includes: a plurality of process nodes, and the logical relationship information between the plurality of process nodes.
[0155] In this embodiment, the client 602 may be used to upload the process input data to be predicted. Among them, the client 602 may be a mobile terminal used by process developers or process approvers. This is only an example here, and the type of the client 602 is not specifically limited.
[0156] The server 604 is used to call a plugin deployed in a process engine of a public cloud product, determine a plurality of process operation conditions associated with the process nodes in the process input data in the process engine, where the process operation conditions are used to represent the conditions that the process input data needs to meet during operation; predict, based on the plurality of process operation conditions, a plurality of process branches to which the process input data needs to be transferred, where there is a corresponding relationship between the plurality of process branches and the plurality of process operation conditions; transfer the process input data to the process branches for simulation operations to obtain an operation result; and determine a prediction result of the process input data based on the operation result.
[0157] In this embodiment, the server 604 can be used to call the plug-in deployed in the process engine of the public cloud product. Through the plug-in, the server 604 can determine multiple process transfer conditions associated with the process nodes in the process input data in the process engine. Based on the multiple process operation conditions, the conditions that the process input data needs to meet during the operation can be determined. Since there is a corresponding relationship between the multiple process branches and the multiple process operation conditions, based on the process operation conditions, multiple process branches to which the process input data needs to be transferred can be predicted, and the process input data can be transferred to the process branches for simulation operations to obtain the operation results. Based on the operation results, the prediction results of the process input data can be determined.
[0158] In this embodiment, through the client 602, the process input data to be predicted is uploaded. The process input data at least includes: multiple process nodes, and the logical relationship information between the multiple process nodes. Through the server 604, the plug-in deployed in the process engine of the public cloud product is called to determine multiple process operation conditions associated with the process nodes in the process input data in the process engine. The process operation conditions are used to represent the conditions that the process input data needs to meet during the operation. Based on the multiple process operation conditions, multiple process branches to which the process input data needs to be transferred are predicted. There is a corresponding relationship between the multiple process branches and the multiple process operation conditions. The process input data is transferred to the process branches for simulation operations to obtain the operation results. Based on the operation results, the prediction results of the process input data are determined, so as to achieve the technical effect of effectively monitoring the process and solve the technical problem of unable to effectively monitor the process.
[0159] Embodiment 3
[0160] Currently, for the design of the process, after developing and designing the process, the process developer hopes to quickly verify whether the process flows as expected and whether the configured callback service executes as expected. The process approver hopes to see the subsequent approval nodes and approvers. The process prediction ability is required in the above scenarios. Usually, the more complex the process scenario is, the higher the work complexity may be, and the more complex the flow chart is. Users and developers hope that the process prediction can support the real-time prediction ability under high concurrency and large data volume, and hope that the prediction results can be returned within a short time (for example, 100 ms).
[0161] Although the process prediction method in the related technology can predict information such as the subsequent approval route, nodes, executors, etc., however, since the branch conditions of the process branches do not support matching form data, therefore, this embodiment does not support complex process node predictions such as process multi-branch predictions. And this embodiment only supports predictions based on executors or process definitions, but does not support subsequent predictions of running process instances, resulting in the technical problem that process monitoring still cannot be effectively carried out.
[0162] To solve the above problems, this embodiment proposes a high-performance real-time prediction method that supports complex processes. This embodiment makes predictions based on in-memory operations, data not falling into the database, plug-in extensions, etc. That is, based on in-memory operation, automatically execute or complete the nodes that need to wait, so that the process runs in the same transaction, ensuring that the prediction logic can be executed forward; through plug-in extensions, without interfering with the existing engine code, to ensure that the engine can run properly and at the same time can extend the special logic of the prediction; select the processing method of data not landing, which can not only speed up the prediction performance, but also ensure that it does not interfere with the normal process data, thus solving the technical problem that process monitoring cannot be effectively carried out and achieving the technical effect of being able to effectively carry out process monitoring.
[0163] The following further introduces the high-performance real-time prediction that supports complex processes.
[0164] Figure 7 It is a process schematic diagram of the high-performance real-time prediction that supports complex processes according to an embodiment of the present application. As Figure 7 shown, this embodiment may include the following steps:
[0165] Step S701, input prediction data into the prediction plug-in.
[0166] In this embodiment, obtain the prediction data and initialize the prediction data to the prediction plug-in 71. Among them, the prediction plug-in is deployed in the process engine.
[0167] Optionally, this embodiment reuses the existing process engine capabilities, extends the process engine prediction capabilities based on the prediction plug-in 71, and extends on the basis of the existing capabilities of the process engine, so that the prediction capabilities will correspondingly increase as the capabilities of the process engine increase.
[0168] In this embodiment, by using the prediction plug-in to extend the capabilities of the process engine, without interfering with the existing engine code of the process engine, it can not only ensure the normal operation of the process engine, but also extend the special logic of the prediction as needed, thus achieving the technical effect of being able to effectively carry out process monitoring and solving the technical problem that process monitoring cannot be effectively carried out.
[0169] Step S702, after obtaining the prediction data, start preloading the process definition.
[0170] In this embodiment, after obtaining the prediction data, the prediction plug-in can start the preloading process definition.
[0171] Optionally, the process definition can be preloaded distributively to improve the prediction performance and efficiency.
[0172] Step S703, automatically complete the manual task.
[0173] In this embodiment, in the process transaction, the process node of the manual task 72 that needs to wait in the process input data is automatically completed.
[0174] Optionally, after preloading the process definition, all possible nodes that need to wait, such as manual tasks and timers, can be automatically completed.
[0175] Step S704, call the service data.
[0176] In this embodiment, the service call operation performed on the process input data is predicted to obtain a return result. Among them, the return result can be the service call result 73.
[0177] Optionally, this embodiment does not need to modify the capabilities of the process engine. Instead, process prediction is performed through a plug-in. Therefore, it can support actual service calls and can return the input and output parameters, time consumption, etc. of the service call as return results.
[0178] Step S705, select a parallel branch based on the variable data.
[0179] In this embodiment, the variable data of the process input data in the process engine is determined, and the parallel branch 74 during operation is determined based on the variable data.
[0180] Optionally, this embodiment supports passing in prediction data and can also simulate service call returns, supporting the prediction of process operation for different service call return situations. And since the existing engine capabilities are not modified, it also supports actual service calls and can return data such as the input and output parameters and time consumption of the service call.
[0181] Optionally, determine the variable data of the prediction data in the process engine and determine the parallel branch 74 based on the variable data.
[0182] Step S706, predict the process tasks that need to wait for execution.
[0183] In this embodiment, in the process transaction, after determining the parallel branch 74, the process nodes of the process tasks that need to be executed after multiple branches are predicted to obtain the subprocess 75.
[0184] Step S707, jump to the next predicted process node.
[0185] In this embodiment, through the timer 76, it jumps to the next process node. It should be noted that this is only an example and does not specifically limit the way of jumping between process nodes.
[0186] Step S708, script execution.
[0187] In this embodiment, the custom script 77 can be run in the memory.
[0188] Optionally, during the simulation operation, the data does not fall into the database, which can not only accelerate the prediction performance but also not interfere with or contaminate the process data of the journey.
[0189] Optionally, this embodiment can perform subsequent predictions on the already running process instances, or can perform predictions on the processes that have not yet run. For the processes that have not yet run, the process will be started first, but the data will not be persisted. That is to say, the process data can only be run in the memory and subsequent process nodes and the processing end (i.e., the execution end) can be predicted.
[0190] Step S709, output the prediction result.
[0191] In this embodiment, without opening a new process transaction and performing simulation operations based on the memory, it can display the execution order of the process nodes of the process tasks and the execution logs of external services, thereby improving the process transparency and better analyzing the running situation of the process, solving the technical problem of being unable to effectively monitor the process, and achieving the technical effect of being able to effectively monitor the process.
[0192] Figure 8 It is a schematic diagram of a process prediction result according to an embodiment of the present application, as Figure 8 shown, obtain the process input data, and determine that the process nodes in the process input data are the number of leave days 801, parallel approval 802, secondary supervisor approval 803, and personnel approval 804. The process operation condition of the parallel approval 802 is that the number of leave days is greater than ten days. The secondary supervisor approval includes secondary supervisor approval 805 and secondary supervisor approval 806.
[0193] In this embodiment, the capabilities of the process engine are reused. Since the process engine has the ability to operate with multiple branches, it supports multi-branch prediction. On this basis, it is extended in the form of a plugin. Without interfering with the existing code of the process engine, it ensures that the engine can operate normally and can also extend the special logic of the prediction, thereby achieving the technical effect of being able to effectively perform process prediction and solving the technical problem of being unable to effectively perform process prediction.
[0194] The method embodiment provided by Embodiment 1 of the present application can be executed on a mobile terminal, a computer terminal, or a similar computing device.Figure 9 is a hardware block diagram of a computer terminal (or mobile device) for implementing a method for predicting process data according to an embodiment of the present application. As Figure 9 shown, the computer terminal 90 (or mobile device) may include one or more processors 902 (processors 902 may include, but are not limited to, processing devices such as microprocessors or programmable logic devices), shown as 902a, 902b, ……, 902n in the figure, a memory 904 for storing data, and a transmission device 906 for communication functions. In addition, it may further include: a display, an input / output interface (I / O interface), a Universal Serial Bus (USB) port (which may be included as one of the ports of the BUS bus), a network interface, a power supply, and / or a camera. Those of ordinary skill in the art can understand that Figure 9 the structure shown is only illustrative and does not limit the structure of the above electronic device. For example, the computer terminal 90 may further include more or fewer components than those Figure 9 shown, or have a different configuration from that Figure 9 shown.
[0195] Figure 9 The shown hardware block diagram can be used not only as an exemplary block diagram of the above computer terminal 90 (or mobile device), but also as an exemplary block diagram of the above server. In an alternative embodiment, Figure 2 is shown in block diagram an embodiment of using the above Figure 9 shown computer terminal 90 (or mobile device) as a computing node in a computing environment 201.
[0196] The memory 904 can be used to store software programs and modules of application software, such as program instructions / data storage devices corresponding to the method for predicting process data in the embodiments of the present application. The processor executes various functional applications and data processing by running the software programs and modules stored in the memory 904, that is, implements the above method for predicting process data. The memory 904 may include high-speed random access memory, and may further include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memories. In some instances, the memory 904 may further include a memory remotely disposed relative to the processor, and these remote memories may be connected to the computer terminal 90 through a network. Examples of the above network include, but are not limited to, the Internet, an enterprise intranet, a local area network, a mobile communication network, and combinations thereof.
[0197] The transmission device 906 is used to receive or send data via a network. Specific examples of the above-mentioned network may include a wireless network provided by the communication provider of the computer terminal 90. In one example, the transmission device 906 includes a network adapter (Network Interface Controller, abbreviated as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 906 can be a Radio Frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0198] The display can be, for example, a touch-screen Liquid Crystal Display (LCD), which enables users to interact with the user interface of the computer terminal 90 (or mobile device).
[0199] In another alternative embodiment, Figure 10 A block diagram shows an embodiment of using the above-mentioned Figure 9 shown computer terminal 90 (or mobile device) as a service mesh. Figure 10 It is a structural block diagram of a service mesh according to an embodiment of the present application. As Figure 10 shown, the service mesh 1000 is mainly used to facilitate secure and reliable communication between multiple microservices. A microservice refers to decomposing an application into multiple smaller services or instances and running them on different clusters / machines.
[0200] As Figure 10 shown, the microservices can include application service instance A and application service instance B, and application service instance A and application service instance B form the functional application layer of the service mesh 1000. In one implementation, application service instance A runs in the form of a container / process 1008 on a machine / workload container group 1014 (POD), and application service instance B runs in the form of a container / process 1010 on a machine / workload container group 1016 (POD).
[0201] In one implementation, application service instance A can be a data copy service, and application service instance B can be a data transfer service.
[0202] As Figure 10As shown, application service instance A and mesh proxy (sidecar) 1003 coexist in machine workload container group 1014, and application service instance B and mesh proxy 1005 coexist in machine workload container 1014. Mesh proxy 1003 and mesh proxy 1005 form the data plane layer (dataplane) of service mesh 1000. Among them, mesh proxy 1003 and mesh proxy 1005 are in the form of container / process 1004 respectively. Container / process 1004 can receive requests 1012 for commodity query services. Mesh proxy 1006 is running, and there can be two-way communication between mesh proxy 1003 and application service instance A, and two-way communication between mesh proxy 1005 and application service instance B. In addition, there can also be two-way communication between mesh proxy 1003 and mesh proxy 1005.
[0203] In one implementation, all traffic of application service instance A is routed to the appropriate destination through mesh proxy 1003, and all network traffic of application service instance B is routed to the appropriate destination through mesh proxy 1005. It should be noted that the network traffic mentioned here includes but is not limited to forms such as Hyper Text Transfer Protocol (abbreviated as HTTP), Representational State Transfer (abbreviated as REST), google Remote Procedure Call (abbreviated as gRPC), and Redis, an open-source in-memory data structure storage system.
[0204] In one implementation, the function of the extended data plane layer can be achieved by writing custom filters (Filter) for the proxy (Envoy) in service mesh 1000. The service mesh proxy configuration can be to correctly proxy service traffic in the service mesh, achieve service interconnection and service governance. Mesh proxy 1003 and mesh proxy 1005 can be configured to perform at least one of the following functions: service discovery, health checking, routing, load balancing, authentication and authorization, and observability.
[0205] As Figure 10As shown in the figure, the service mesh 1000 further includes a control plane layer. Among them, the control plane layer can be a group of services running in a dedicated namespace, and these services are hosted by the managed control plane component 1001 in the machine / workload container group (machine / Pod) 1002. As Figure 10 shown, the managed control plane component 1001 communicates bidirectionally with the mesh proxy 1003 and the mesh proxy 1005. The managed control plane component 1001 is configured to perform some control and management functions. For example, the managed control plane component 1001 receives the telemetry data transmitted by the mesh proxy 1003 and the mesh proxy 1005, and can further aggregate this telemetry data. For these services, the managed control plane component 1001 can also provide user-facing application programming interfaces (Application Programming Interface, abbreviated as API) to more easily manipulate network behavior and provide configuration data to the mesh proxy 1003 and the mesh proxy 1005.
[0206] It should be noted that for the foregoing method embodiments, for the sake of simple description, they are all expressed as a series of action combinations. However, those skilled in the art should know that this application is not limited by the described action sequence, because according to this application, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to this application.
[0207] Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disc), and includes several instructions to enable a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods of various embodiments of this application.
[0208] Embodiment 4
[0209] According to an embodiment of this application, there is also provided a prediction device for process data for implementing the prediction method of the process data shown above Figure 3 The device can be applied to a plug-in in a process engine.
[0210] Figure 11 is a schematic diagram of a prediction device for process data according to an embodiment of this application. As Figure 11As shown in the figure, the prediction device 1100 for process data may include: a first monitoring unit 1102, a first determination unit 1104, a first prediction unit 1106, a first processing unit 1108, and a second determination unit 1110.
[0211] The first monitoring unit 1102 is configured to monitor process input data to be predicted, where the process input data at least includes: a plurality of process nodes, and logical relationship information between the plurality of process nodes.
[0212] The first determination unit 1104 is configured to determine a plurality of process operation conditions associated with the process nodes in the process input data in the process engine, where the process operation conditions are used to represent the conditions that need to be satisfied during the operation of the process input data.
[0213] The first prediction unit 1106 is configured to predict, based on the plurality of process operation conditions, a plurality of process branches to which the process input data needs to operate, where there is a corresponding relationship between the plurality of process branches and the plurality of process operation conditions.
[0214] The first processing unit 1108 is configured to operate the process input data on the process branches for simulation operations to obtain an operation result.
[0215] The second determination unit 1110 is configured to determine a prediction result of the process input data based on the operation result.
[0216] Here, the above-mentioned first monitoring unit 1102, first determination unit 1104, first prediction unit 1106, first processing unit 1108, and second determination unit 1110 correspond to steps S302 to S310 in Embodiment 1. The five units have the same implemented examples and application scenarios as the corresponding steps, but are not limited to the content disclosed in the above-mentioned Embodiment 1. It should be noted that the above units may be hardware components or software components stored in a memory (for example, memory 904) and processed by one or more processors (for example, processors 902a, 902b..., 902n), and the above units may also be part of the device and can run in the computer terminal 90 provided in Embodiment 3.
[0217] According to an embodiment of the present application, there is also provided a prediction device for process data for implementing the above Figure 4 shown prediction method for process data, and this device can be applied to a plugin in a process engine deployed in a public cloud product.
[0218] Figure 12 is a schematic diagram of another prediction device for process data according to an embodiment of the present application, as Figure 12As shown in the figure, the prediction device 1200 for process data may include: a third determination unit 1202, a second monitoring unit 1204, a fourth determination unit 1206, a second prediction unit 1208, a second processing unit 1210, a fifth determination unit 1212, and a return unit 1214.
[0219] The third determination unit 1202 is configured to determine the process center platform in the process scenario.
[0220] The second monitoring unit 1204 is configured to monitor the process input data to be predicted by the process center platform, where the process input data at least includes: a plurality of process nodes, and logical relationship information between the plurality of process nodes.
[0221] The fourth determination unit 1206 is configured to determine a plurality of process operation conditions associated with the process nodes in the process input data in the process engine, where the process operation conditions are used to represent the conditions that need to be satisfied during the operation of the process input data.
[0222] The second prediction unit 1208 is configured to predict, based on the plurality of process operation conditions, a plurality of process branches to which the process input data needs to be transferred, where there is a corresponding relationship between the plurality of process branches and the plurality of process operation conditions.
[0223] The second processing unit 1210 is configured to transfer the process input data to the process branches for simulation operations to obtain an operation result.
[0224] The fifth determination unit 1212 is configured to determine the prediction result of the process input data based on the operation result.
[0225] The return unit 1214 is configured to return the prediction result to the process center platform.
[0226] It should be noted here that the above-mentioned third determination unit 1202, second monitoring unit 1204, fourth determination unit 1206, second prediction unit 1208, second processing unit 1210, fifth determination unit 1212, and return unit 1214 correspond to steps S402 to S414 in Embodiment 1. The instances and application scenarios implemented by the seven units and the corresponding steps are the same, but are not limited to the content disclosed in the above-mentioned Embodiment 1. It should be noted that the above units may be hardware components or software components stored in a memory (for example, memory 904) and processed by one or more processors (for example, processors 902a, 902b..., 902n). The above units may also be part of the device and may run in the computer terminal 90 provided in Embodiment 3.
[0227] According to an embodiment of the present application, there is also provided a method for implementing the above Figure 5A prediction device for process data of the prediction method of process data shown, which can be applied to a plug-in deployed in a process engine of a public cloud product.
[0228] Figure 13 It is a schematic diagram of another prediction device for process data according to an embodiment of the present application, as Figure 13 shown, the prediction device 1300 for process data may include: a third monitoring unit 1302, a sixth determination unit 1304, a third prediction unit 1306, a third processing unit 1308, a seventh determination unit 1310, and an output unit 1312.
[0229] The third monitoring unit 1302 is configured to monitor process input data to be predicted by invoking a first interface, where the first interface includes a first parameter, and the parameter value of the first parameter is the process input data, and the process input data at least includes: a plurality of process nodes, and logical relationship information between the plurality of process nodes.
[0230] The sixth determination unit 1304 is configured to determine a plurality of process operation conditions associated with the process nodes in the process input data in the process engine, where the process operation conditions are used to represent the conditions that need to be satisfied during the operation of the process input data.
[0231] The third prediction unit 1306 is configured to predict a plurality of process branches to which the process input data needs to run based on the plurality of process operation conditions, where there is a corresponding relationship between the plurality of process branches and the plurality of process operation conditions.
[0232] The third processing unit 1308 is configured to run the process input data on the process branch for simulation operations to obtain an operation result.
[0233] The seventh determination unit 1310 is configured to determine a prediction result of the process input data based on the operation result.
[0234] The output unit 1312 is configured to output the prediction result by invoking a second interface, where the second interface includes a second parameter, and the parameter value of the second parameter is the prediction result.
[0235] It should be noted here that the above-mentioned third monitoring unit 1302, sixth determination unit 1304, third prediction unit 1306, third processing unit 1308, seventh determination unit 1310, and output unit 1312 correspond to steps S502 to S512 in Embodiment 1. The examples and application scenarios realized by the six units and the corresponding steps are the same, but are not limited to the content disclosed in the above-mentioned Embodiment 1. It should be noted that the above units may be hardware components or software components stored in a memory (for example, memory 904) and processed by one or more processors (for example, processors 902a, 902b..., 902n), and the above units may also be part of a device and can run in the computer terminal 90 provided in Embodiment 3.
[0236] In the prediction device for the process data, the process engine capabilities are reused. Since the process engine has multi-branch operation capabilities, it supports multi-branch prediction. On this basis, it is extended in the form of a plug-in. Without interfering with the existing process engine code, it ensures that the engine can operate normally and can also extend the special logic for prediction, thereby achieving the technical effect of effectively performing process prediction and solving the technical problem of being unable to effectively perform process prediction.
[0237] Embodiment 5
[0238] An embodiment of the present application can provide a computer terminal, and the computer terminal can be any computer terminal device in a computer terminal group. Optionally, in this embodiment, the above computer terminal can also be replaced with a terminal device such as a mobile terminal.
[0239] Optionally, in this embodiment, the above computer terminal can be located in at least one of multiple network devices in a computer network.
[0240] In this embodiment, the above computer terminal can execute the program code of the following steps in the process data prediction method: monitoring the process input data to be predicted, where the process input data at least includes: multiple process nodes, and logical relationship information between multiple process nodes; determining multiple process operation conditions associated with the process nodes in the process input data in the process engine, where the process operation conditions are used to represent the conditions that need to be satisfied during the operation of the process input data; based on the multiple process operation conditions, predicting multiple process branches to which the process input data needs to operate, where there is a corresponding relationship between the multiple process branches and the multiple process operation conditions; operating the process input data on the process branches for simulation calculation to obtain an operation result; based on the operation result, determining the prediction result of the process input data.
[0241] Optionally, Figure 14 is a structural block diagram of a computer terminal according to an embodiment of the present application, asFigure 14 As shown in Figure 14 , the computer terminal A may include: one or more (only one is shown in the figure) processors 1402, a memory 1404, and a transmission device 1406.
[0242] Among them, the memory can be used to store software programs and modules, such as the program instructions / modules corresponding to the prediction method and device of process data in the embodiments of the present application. The processor executes various functional applications and data processing by running the software programs and modules stored in the memory, that is, implements the above-mentioned prediction method of process data. The memory may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memories, or other non-volatile solid-state memories. In some instances, the memory may further include a memory remotely set relative to the processor, and these remote memories can be connected to the terminal A through a network. Examples of the above network include but are not limited to the Internet, enterprise intranets, local area networks, mobile communication networks, and their combinations.
[0243] The processor can call the information and application programs stored in the memory through the transmission device to execute the following steps: monitoring the process input data to be predicted, where the process input data at least includes: a plurality of process nodes, and the logical relationship information between the plurality of process nodes; determining a plurality of process operation conditions associated with the process nodes in the process input data in the process engine, where the process operation conditions are used to represent the conditions that need to be satisfied during the operation of the process input data; predicting a plurality of process branches to which the process input data needs to operate based on the plurality of process operation conditions, where there is a corresponding relationship between the plurality of process branches and the plurality of process operation conditions; operating the process input data on the process branches for simulation operations to obtain an operation result; determining the prediction result of the process input data based on the operation result.
[0244] Optionally, the above processor may further execute the program code of the following steps: determining the variable data of the process input data in the process engine; determining the process operation conditions based on the variable data.
[0245] Optionally, the above processor may further execute the program code of the following steps: calling the memory allocated by the process engine to the plug-in; in the memory, operating the process input data on the process branches for simulation operations to obtain an operation result.
[0246] Optionally, the above processor may further execute the program code of the following steps: determining the process transaction to which the process input data operates in the memory; operating the process input data on at least one process branch included in the process transaction for simulation operations to obtain an operation result.
[0247] Optionally, the above-mentioned processor may also execute the program code of the following steps: In the process transaction, execute the process nodes of the process tasks that need to wait in the process input data.
[0248] Optionally, the above-mentioned processor may also execute the program code of the following steps: Display the execution order of the process nodes of the process tasks.
[0249] Optionally, the above-mentioned processor may also execute the program code of the following steps: Based on multiple process operation conditions, predict the branch mode required by the process input data during operation; determine multiple process branches that meet the branch mode.
[0250] Optionally, the above-mentioned processor may also execute the program code of the following steps: When the process operation conditions allow matching the form data in the process input data, predict the parallel branch mode required by the process input data during operation.
[0251] Optionally, the above-mentioned processor may also execute the program code of the following steps: Predict the return result obtained by performing a service call operation on the process input data.
[0252] Optionally, the above-mentioned processor may also execute the program code of the following steps: Display the execution log of the service call operation performed on the process input data.
[0253] Optionally, the above-mentioned processor may also execute the program code of the following steps: Determine the process definition data as the process input data, where the process definition data is used to represent the pre-loaded process; and / or, determine the instance of the already running process as the process input data.
[0254] The processor may call the information and application programs stored in the memory through the transmission device to execute the following steps: In the public cloud product, determine the process center platform in the process scenario; monitor the process input data to be predicted by the process center platform, where the process input data at least includes: multiple process nodes, and the logical relationship information between multiple process nodes; determine the multiple process operation conditions associated with the process nodes in the process input data in the process engine, where the process operation conditions are used to represent the conditions that the process input data needs to meet during operation; based on the multiple process operation conditions, predict multiple process branches to which the process input data needs to run, where there is a corresponding relationship between the multiple process branches and the multiple process operation conditions; run the process input data to the process branches for simulation operations to obtain operation results; based on the operation results, determine the prediction results of the process input data; return the prediction results to the process center platform.
[0255] The processor can call the information and application programs stored in the memory through a transmission device to execute the following steps: monitor the process input data to be predicted by calling a first interface, where the first interface includes a first parameter, and the parameter value of the first parameter is the process input data, and the process input data at least includes: a plurality of process nodes, and the logical relationship information between the plurality of process nodes; determine a plurality of process operation conditions associated with the process nodes in the process input data in the process engine, where the process operation conditions are used to represent the conditions that need to be satisfied during the operation of the process input data; based on the plurality of process operation conditions, predict a plurality of process branches to which the process input data needs to operate, where there is a corresponding relationship between the plurality of process branches and the plurality of process operation conditions; operate the process input data on the process branches for simulation calculation to obtain an operation result; determine the prediction result of the process input data based on the operation result; output the prediction result by calling a second interface, where the second interface includes a second parameter, and the parameter value of the second parameter is the prediction result.
[0256] By adopting the embodiment of the present application, the ability of the process engine is reused. Since the process engine has the ability of multi-branch operation, it supports multi-branch prediction. On this basis, it is extended in the form of a plug-in. Without interfering with the code of the existing process engine, it ensures that the engine can operate normally and can also extend the special logic of prediction, thereby achieving the technical effect of effectively performing process prediction and solving the technical problem of being unable to effectively perform process prediction.
[0257] Those of ordinary skill in the art can understand that Figure 14 The structure shown is only schematic. The computer terminal A can also be a smart phone (such as an Android phone, an iOS phone, etc.), a tablet computer, a palm computer, and a mobile Internet device (abbreviated as MID), a PAD and other terminal devices. Figure 14 It does not limit the structure of the above computer terminal A. For example, the computer terminal A may further include more or fewer components (such as a network interface, a display device, etc.) than those shown in Figure 14 or have a different configuration from that shown in Figure 14 shown.
[0258] Those of ordinary skill in the art can understand that all or part of the steps in the various methods of the above embodiments can be completed by instructing the relevant hardware of the terminal device through a program, and the program can be stored in a computer-readable storage medium. The storage medium may include: a flash drive, a read-only memory (abbreviated as ROM), a random access memory (abbreviated as RAM), a magnetic disk or an optical disc, etc.
[0259] Embodiment 6
[0260] Embodiments of the present application also provide a computer-readable storage medium. Optionally, in this embodiment, the above computer-readable storage medium may be used to store the program code executed by the prediction method for process data provided in the first embodiment above.
[0261] Optionally, in this embodiment, the above computer-readable storage medium may be located in any one of the computer terminals in a computer terminal group in a computer network, or in any one of the mobile terminals in a mobile terminal group.
[0262] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: monitoring process input data to be predicted, where the process input data at least includes: a plurality of process nodes, and logical relationship information between the plurality of process nodes; determining a plurality of process operation conditions associated with the process nodes in the process input data in a process engine, where the process operation conditions are used to represent conditions that need to be satisfied during the operation of the process input data; predicting, based on the plurality of process operation conditions, a plurality of process branches to which the process input data needs to be transferred, where there is a corresponding relationship between the plurality of process branches and the plurality of process operation conditions; transferring the process input data to the process branches for simulation operations to obtain an operation result; and determining a prediction result of the process input data based on the operation result.
[0263] Optionally, the above computer-readable storage medium may also execute program code for performing the following steps: determining variable data of the process input data in the process engine; and determining process operation conditions based on the variable data.
[0264] Optionally, the above computer-readable storage medium may also execute program code for performing the following steps: calling the memory allocated by the process engine to the plug-in; and in the memory, transferring the process input data to the process branches for simulation operations to obtain an operation result.
[0265] Optionally, the above computer-readable storage medium may also execute program code for performing the following steps: in the memory, determining the process transaction to which the process input data is transferred; and performing simulation operations on at least one process branch included in the process transaction of the process input data to obtain an operation result.
[0266] Optionally, the above computer-readable storage medium may also execute program code for performing the following steps: in the process transaction, executing the process nodes of the process tasks that need to wait in the process input data.
[0267] Optionally, the above computer-readable storage medium may also execute program code for performing the following steps: displaying the execution order of the process nodes of the process tasks.
[0268] Optionally, the above computer-readable storage medium may also execute program code for the following steps: predicting the branch mode required by the process input data during operation based on multiple process operation conditions; determining multiple process branches that meet the branch mode.
[0269] Optionally, the above computer-readable storage medium may also execute program code for the following steps: predicting the parallel branch mode required by the process input data during operation when the process operation conditions allow matching of form data in the process input data.
[0270] Optionally, the above computer-readable storage medium may also execute program code for the following steps: predicting the return result obtained by performing a service call operation on the process input data.
[0271] Optionally, the above computer-readable storage medium may also execute program code for the following steps: displaying the execution log of performing a service call operation on the process input data.
[0272] Optionally, the above computer-readable storage medium may also execute program code for the following steps: determining process definition data as the process input data, where the process definition data is used to represent a pre-loaded process; and / or determining an instance of a running process as the process input data.
[0273] As an optional example, the computer-readable storage medium is set to store program code for performing the following steps: in a public cloud product, determining a process center platform in a process scenario; monitoring process input data to be predicted on the process center platform, where the process input data at least includes: multiple process nodes and logical relationship information between multiple process nodes; determining multiple process operation conditions associated with the process nodes in the process input data in a process engine, where the process operation conditions are used to represent conditions that the process input data needs to meet during operation; predicting, based on the multiple process operation conditions, multiple process branches to which the process input data needs to be transferred, where there is a corresponding relationship between the multiple process branches and the multiple process operation conditions; transferring the process input data to the process branches for simulation operations to obtain an operation result; determining a prediction result of the process input data based on the operation result; and returning the prediction result to the process center platform.
[0274] As an alternative example, a computer-readable storage medium is configured to store program code for performing the following steps: monitoring process input data to be predicted by calling a first interface, where the first interface includes a first parameter, and the parameter value of the first parameter is the process input data, and the process input data at least includes: a plurality of process nodes, and logical relationship information between the plurality of process nodes; determining a plurality of process operation conditions associated with the process nodes in the process input data in a process engine, where the process operation conditions are used to represent conditions that need to be satisfied during the operation of the process input data; predicting a plurality of process branches to which the process input data needs to operate based on the plurality of process operation conditions, where there is a corresponding relationship between the plurality of process branches and the plurality of process operation conditions; operating the process input data on the process branches for simulation operations to obtain an operation result; determining a prediction result of the process input data based on the operation result; and outputting the prediction result by calling a second interface, where the second interface includes a second parameter, and the parameter value of the second parameter is the prediction result.
[0275] In an embodiment of the present application, the capabilities of the process engine are reused. Since the process engine has multi-branch operation capabilities, it supports multi-branch prediction. On this basis, it is extended in the form of a plug-in. Without interfering with the code of the existing process engine, it ensures that the engine can operate normally and can also extend the special logic of prediction, thereby achieving the technical effect of effectively performing process prediction and solving the technical problem of being unable to effectively perform process prediction.
[0276] Embodiment 7
[0277] An embodiment of the present application can provide an electronic device, and the electronic device may include a memory and a processor.
[0278] Figure 15 is a block diagram of an electronic device for a method of predicting process data according to an embodiment of the present application. The electronic device is intended to represent various forms of digital computers, such as, a laptop computer, a desktop computer, a workbench, a personal digital assistant, a server, a blade server, a mainframe computer, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as, a personal digital processor, a cellular phone, a smart phone, a wearable device, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present application described and / or claimed herein.
[0279] Such as Figure 15As shown, device 1500 includes a computing unit 1501, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 1502 or a computer program loaded from a storage unit 1508 into a random access memory (RAM) 1503. In the RAM 1503, various programs and data required for the operation of device 1500 can also be stored. The computing unit 1501, the ROM 1502, and the RAM 1503 are connected to each other via a bus 1504. An input / output (I / O) interface 1505 is also connected to the bus 1504.
[0280] Multiple components in device 1500 are connected to the I / O interface 1505, including: an input unit 1506, such as a keyboard, a mouse, etc.; an output unit 1504, such as various types of displays, speakers, etc.; a storage unit 1508, such as a magnetic disk, an optical disc, etc.; and a communication unit 1509, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 1509 allows device 1500 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0281] The computing unit 1501 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 1501 include but are not limited to a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 1501 executes the various methods and processes described above, such as the data verification method. For example, in some embodiments, the data verification method can be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as the storage unit 1508. In some embodiments, part or all of the computer program can be loaded and / or installed onto device 1500 via the ROM 1502 and / or the communication unit 1509. When the computer program is loaded into the RAM 1503 and executed by the computing unit 1501, one or more steps of the data verification method described above can be executed. Alternatively, in other embodiments, the computing unit 1501 can be configured to execute the data verification method by any other appropriate means (e.g., by means of firmware).
[0282] According to an embodiment of the present application, a method for predicting process data is provided. It should be noted that the steps shown in the process flow diagrams of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. And although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a different order than here.
[0283] Various embodiments of the systems and techniques described above in this document can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGA), application specific integrated circuits (ASIC), application specific standard products (ASSP), system on a chip (SOC), complex programmable logic devices (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, the programmable processor can be a dedicated or general-purpose programmable processor, and can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit the data and instructions to the storage system, the at least one input device, and the at least one output device.
[0284] The program code for implementing the method of the present application can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a dedicated computer, or other programmable data processing devices, so that when the program codes are executed by the processor or controller, the functions / operations specified in the flowchart and / or block diagram are implemented. The program code can be executed entirely on the machine, partially on the machine, executed partially on the machine as an independent software package and partially on a remote machine, or executed entirely on a remote machine or server.
[0285] In the context of this application, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0286] To provide for interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display, monitor)) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) by which the user can provide input to the computer. Other kinds of devices can also be used to provide for interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0287] The systems and techniques described herein can be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer having a graphical user interface or a web browser through which the user can interact with an implementation of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a Local Area Network (LAN), a Wide Area Network (WAN), and the Internet.
[0288] A computer system may include a client and a server. The client and the server are generally far from each other and usually interact via a communication network. The relationship between the client and the server is generated by computer programs running on the respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server incorporating a blockchain.
[0289] It should be noted that the serial numbers of the embodiments of the present application above are only for description and do not represent the superiority or inferiority of the embodiments.
[0290] In the above embodiments of the present application, the descriptions of the various embodiments have their own emphases. For parts not detailed in a certain embodiment, reference may be made to the relevant descriptions of other embodiments.
[0291] In the several embodiments provided by the present application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only illustrative. For example, the division of units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections with each other can be through some interfaces. The indirect couplings or communication connections of units or modules can be in electrical or other forms.
[0292] The units described as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0293] In addition, the functional units in the various embodiments of the present application can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above integrated units can be implemented in the form of hardware or in the form of software functional units.
[0294] When the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods of various embodiments of this application. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, read-only memories (ROM for short), random access memories (RAM for short), mobile hard disks, magnetic disks, or optical discs.
[0295] The above are only the preferred embodiments of this application. It should be noted that for those of ordinary skill in the art, without departing from the principle of this application, several improvements and refinements can be made, and these improvements and refinements should also be regarded as the protection scope of this application.
Claims
1. A prediction method for process data, characterized in that, A plugin applied to a process engine, the method includes: Monitoring process input data to be predicted, where the process input data at least includes: a plurality of process nodes, and logical relationship information between the plurality of process nodes; Determining a plurality of process operation conditions associated with the process nodes in the process engine for the process input data, where the process operation conditions are used to represent conditions that need to be satisfied during the operation of the process input data; Based on the plurality of process operation conditions, predicting a plurality of process branches to which the process input data needs to operate, where there is a corresponding relationship between the plurality of process branches and the plurality of process operation conditions; Operating the process input data on the process branches for simulation operations to obtain an operation result; Based on the operation result, determining a prediction result of the process input data.
2. The method according to claim 1, wherein Determining a plurality of process operation conditions associated with the process input data in the process engine includes: Determining variable data of the process input data in the process engine; Determining the process operation conditions based on the variable data.
3. The method according to claim 1, wherein Operating the process input data on the process branches for simulation operations to obtain an operation result includes: Invoking the memory allocated by the process engine to the plugin; In the memory, operating the process input data on the process branches for simulation operations to obtain the operation result.
4. The method according to claim 3, characterized in that In the memory, operating the process input data on the process branches for simulation operations to obtain the operation result includes: In the memory, determining a process transaction to which the process input data operates; Operating the process input data on at least one of the process branches included in the process transaction for simulation operations to obtain the operation result.
5. The method according to claim 4, wherein The method further includes: In the process transaction, executing the process nodes of the process tasks that need to wait in the process input data.
6. The method according to claim 5, wherein The method further includes: Displaying the execution order of the process nodes of the process tasks.
7. The method according to claim 1, wherein Predicting a plurality of process branches to which the process input data is to operate based on the plurality of process operation conditions includes: Predicting a branch mode required by the process input data during the operation based on the plurality of process operation conditions; Determining the plurality of process branches that meet the branch mode.
8. The method according to claim 7, characterized in that, Predicting a branch mode required by the process input data during the operation based on the plurality of process operation conditions includes: When the process operation conditions allow matching of form data in the process input data, predicting a parallel branch mode required by the process input data during the operation.
9. The method according to claim 1, wherein The method further includes: Predicting a return result obtained by performing a service call operation on the process input data.
10. The method according to claim 9, characterized in that, The method further includes: Displaying an execution log of performing the service call operation on the process input data.
11. The method according to any one of claims 1 to 10, characterized in that, Monitoring process input data to be predicted includes: Determining process definition data as the process input data, where the process definition data is used to represent a pre-loaded process; and / or, Determining an instance of a running process as the process input data.
12. A method for predicting process data, characterized in that, A plug-in applied to a process engine, the method comprising: Determine the process center platform in the process scenario; Monitor the process input data to be predicted by the process center platform, wherein the process input data at least includes: a plurality of process nodes, and logical relationship information between the plurality of process nodes; Determine a plurality of process operation conditions associated with the process nodes in the process input data in the process engine, wherein the process operation conditions are used to represent the conditions that need to be satisfied during the operation of the process input data; Based on the plurality of process operation conditions, predict a plurality of process branches to which the process input data needs to operate, wherein there is a corresponding relationship between the plurality of process branches and the plurality of process operation conditions; Operate the process input data on the process branches for simulation operations to obtain an operation result; Based on the operation result, determine the prediction result of the process input data; Return the prediction result to the process center platform.
13. A method for predicting process data, characterized in that, A plug-in applied to a process engine, the method comprising: Monitor the process input data to be predicted by calling a first interface, wherein the first interface includes a first parameter, and the parameter value of the first parameter is the process input data, and the process input data at least includes: a plurality of process nodes, and logical relationship information between the plurality of process nodes; Determine a plurality of process operation conditions associated with the process nodes in the process input data in the process engine, wherein the process operation conditions are used to represent the conditions that need to be satisfied during the operation of the process input data; Based on the plurality of process operation conditions, predict a plurality of process branches to which the process input data needs to operate, wherein there is a corresponding relationship between the plurality of process branches and the plurality of process operation conditions; Operate the process input data on the process branches for simulation operations to obtain an operation result; Based on the operation result, determine the prediction result of the process input data; Output the prediction result by calling a second interface, wherein the second interface includes a second parameter, and the parameter value of the second parameter is the prediction result.
14. A prediction system for process data, characterized in that, Comprising: A client for uploading process input data to be predicted, wherein the process input data at least includes: a plurality of process nodes, and logical relationship information between the plurality of process nodes; A server for calling a plug-in in a process engine deployed in a public cloud product, determining a plurality of process operation conditions associated with the process nodes in the process input data in the process engine, wherein the process operation conditions are used to represent the conditions that need to be satisfied during the operation of the process input data; based on the plurality of process operation conditions, predicting a plurality of process branches to which the process input data needs to operate, wherein there is a corresponding relationship between the plurality of process branches and the plurality of process operation conditions; operating the process input data on the process branches for simulation operations to obtain an operation result; based on the operation result, determining the prediction result of the process input data.
15. An electronic device, characterized in that, Comprising: A memory storing an executable program; A processor for running the program, wherein when the program runs, it executes the method according to any one of claims 1 to 13.