A method for setting a business process based on a process engine

By calculating the trigger time window and resource locking strength of process engine branches, high-risk branch pairs are screened and process configurations are adjusted, solving the communication mismatch and resource contention problems of parallel branches in the process engine, and achieving process stability and compliance.

CN121116558BActive Publication Date: 2026-01-27BEIJING ZHIYI HEALTH INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511654264.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-11-12
Publication Date
2026-01-27
Estimated Expiration
2045-11-12

AI Technical Summary

Technical Problem

In existing technologies, parallel branches of process engines across participant pools under parallel gateways are subject to communication mismatch risks, amplified resource waiting chains, and unstable resource occupancy states caused by interruption-type boundary events. It is difficult to balance risks and compliance, and the adjustment costs are high and the adaptability is poor.

Method used

By calculating the trigger time window of branches and the locking strength of non-shared resources through predictive models, the overlap of cross-pool boundary triggers is determined. Target translation branches are selected and the process engine configuration is adjusted. Graph neural networks are used to predict branch boundary events, and high-risk branch pairs are screened to ensure that the process complies with the service level agreement.

Benefits of technology

It effectively reduces the risk of process deadlock, improves process stability and operational efficiency, ensures compliant process execution, and reduces the cost of ineffective processing and adjustments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121116558B_ABST
    Figure CN121116558B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of process engines, and discloses a business process setting method based on a process engine, which comprises the following steps: step S101, determining a candidate branch pair set; step S102, calculating non-shared resource locking strength; step S103, determining an adaptive threshold to obtain a target branch pair; step S104, determining a minimum necessary time shift amount; step S105, completing process engine configuration; and step S106, judging whether a stop condition is met; if yes, stopping adjustment; otherwise, repeatedly executing steps S104 to S105 until the stop condition is met. The application screens candidate branch pairs of cross-pool parallel and interrupt type boundary events, predicts branch boundary event trigger time windows and non-shared resource locking strength by means of a graph neural network, and adapts process engine configuration adjustment modes according to interrupt type boundary event types, so that process semantic safety is guaranteed, and risks are reduced without violating a service level agreement.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of process engine technology, and more specifically, to a method for setting up business processes based on a process engine. Background Technology

[0002] In the process of digitizing business processes, the process engine is a core tool that supports cross-entity collaboration and efficient execution. To improve processing efficiency, process engines generally adopt parallel gateways to achieve concurrent execution of multiple branches. That is, the process path is split by the parallel gateway, and each branch starts at the same time and must be completed before the process continues to advance at the convergence gateway. At the same time, the process design introduces a pool of participants to divide the collaborating entities, such as a merchant pool and a payment institution pool, to clarify the scope of ownership of branch activities and resources, thereby supporting cross-departmental and cross-system collaboration.

[0003] To handle execution anomalies, the process is configured with four types of interruptible boundary events: timed, message, error, and compensation. These events are attached to activities, and when triggered, they interrupt the current task and guide the process into an abnormal or compensation path, ensuring the process's fault tolerance. However, the combination of interruptible boundary events from the parallel gateway participant pools mentioned above presents the following problems: parallel branches across participant pools rely on message flow interaction, posing a risk of communication mismatch; the parallel gateway's merging mechanism amplifies resource waiting chains; and the sudden changes in resource occupancy states caused by interruptible boundary events. When these three factors overlap, if cross-pool parallel branches trigger interruptible events simultaneously, they will compete for non-shared resources on the abnormal path, such as human agents and transaction locks. Because participant resource scheduling is independent, deadlocks or process stagnation are highly likely.

[0004] Therefore, the existing technology has high costs for full-process consistency verification, makes it difficult to focus on high-risk scenarios, lacks data support for manual fine-tuning of the waiting time of timed events, has poor adaptability, and does not take into account the service level agreement when adjusting, which is prone to excessive delays and breach of contract or insufficient adjustment and risks, making it difficult to balance risk and compliance. Summary of the Invention

[0005] This invention provides a business process setting method based on a process engine, which solves the technical problems mentioned in the background.

[0006] This invention provides a business process setting method based on a process engine, comprising the following steps:

[0007] Step S101: Separate the first branch and the second branch belonging to different participants at the parallel gateway configured in the process engine, and determine that the two branches simultaneously meet the three criteria, then write the two branches into the candidate branch pair set.

[0008] Step S102: Use the prediction model to obtain the trigger time windows of the first branch and the second branch, and calculate the non-shared resource locking strength of the two branches accordingly.

[0009] Step S103: Calculate the cross-pool boundary trigger overlap based on the trigger time window and non-shared resource locking strength of the two branches, and determine the adaptive threshold to obtain the target branch pair accordingly;

[0010] Step S104: Select the target translation branch based on the available margin and delay cost of the target branch pair, and determine the minimum necessary time translation amount.

[0011] Step S105: Based on the interruption boundary event type of the target translation branch, complete the writing of the process engine configuration using the minimum necessary time translation amount;

[0012] Interrupt-type boundary event types include: timer, message, error, and compensatory boundary events;

[0013] Step S106: Recalculate the overlap degree triggered by the cross-pool boundary, and determine whether the stopping condition is met by combining the minimum necessary time translation amount. If the condition is met, stop adjusting the target branch pair. Otherwise, repeat steps S104 to S105 until the stopping condition is met.

[0014] The stopping condition is that the cross-pool boundary trigger overlap is less than or equal to the adaptive threshold or the minimum necessary time shift is greater than or equal to the available margin.

[0015] Furthermore, the following three judgments are made sequentially on the first branch and the second branch:

[0016] Decision 1: Determine whether the first branch and the second branch satisfy the parallel execution relationship of being separated by the same parallel gateway and reuniting at the corresponding parallel gateway;

[0017] Decision 2: Determine whether the pool of participants belonging to the first branch is different from the pool of participants belonging to the second branch;

[0018] Decision 3: Determine whether the first branch and the second branch have interrupt-type boundary events set, and whether the interrupt-type boundary events of the first branch and the second branch are of any type among timing, message, error, and compensation boundary events;

[0019] When the result of decision one is yes, the result of decision two is yes, and the result of decision three for both the first branch and the second branch is yes, then the branch pair consisting of the first branch and the second branch is written into the candidate branch pair set.

[0020] Furthermore, the input to the prediction model is graph-structured data, and the output is the distribution of boundary event triggering time, the probability of using non-shared resources, and the expected lock duration.

[0021] Read the basic data from the event log to construct the graph structure data. The basic data includes: instance number, activity name, task identifier, pool of participants, timestamp, event type, boundary event category, and resource identifier.

[0022] Graph structure data consists of nodes, node feature vectors, and edges between nodes;

[0023] Nodes include: activity nodes, resource nodes, boundary event nodes, and participant nodes;

[0024] The feature vectors of nodes are constructed based on the basic data. Each node's feature vector has 8 elements, and if an element value is missing, it is filled with 0.

[0025] The edges between nodes include: flow edges, message edges, occupy edges, ownership edges, and waiting trigger edges; the direction of flow edges is from the previous active node to the next active node; the direction of message edges is from the active node sending the message to the active node receiving the message; the direction of occupation edges is from the active node to the resource node; the direction of ownership edges is from the active node to the participating node and from the resource node to the participating node; the direction of waiting trigger edges is from the active node to the boundary event node.

[0026] Furthermore, the prediction model is built on a graph neural network model and uses the number of edges between nodes as weight coefficients to participate in the update of the node's feature vector;

[0027] The loss function of the prediction model is a weighted sum of the loss function of the boundary event trigger time distribution, the loss function of the non-shared resource usage probability, and the loss function of the expected lock duration of the non-shared resource. The weighting coefficients of the three are custom parameters with a total value of 1.

[0028] The loss function for the boundary event triggering time distribution is quantile regression loss;

[0029] The loss function for the probability of using non-shared resources is the binary cross-entropy loss;

[0030] The loss function for the expected lock duration of non-shared resources is the mean squared error loss.

[0031] Furthermore, the time values ​​corresponding to the 16th and 84th percentiles of the boundary event triggering time distributions of the first and second branches are obtained respectively, and these two time values ​​are used to form the triggering time window of the corresponding branch, wherein the start and end times of the triggering time window correspond to the time values ​​corresponding to the 16th and 84th percentiles respectively; the usage probability and expected locking duration of each non-shared resource used in the first and second branches are obtained respectively, and the usage probability of each resource in the set of non-shared resources used in the corresponding branch is multiplied by the expected locking duration of the corresponding resource and then summed to obtain the non-shared resource locking strength of the corresponding branch.

[0032] Furthermore, first determine the smaller value between the end time of the first branch trigger time window and the end time of the second branch trigger time window, then determine the larger value between the start time of the first branch trigger time window and the start time of the second branch trigger time window. Subtract the larger value from the smaller value. If the calculation result is less than or equal to 0, then the overlap length of the trigger time windows is 0; otherwise, the overlap length of the trigger time windows is the calculated result.

[0033] First, determine the larger of the end time of the first branch triggering time window and the end time of the second branch triggering time window. Then, determine the smaller of the start time of the first branch triggering time window and the start time of the second branch triggering time window. Subtract the smaller value from the larger value to obtain the union length of the triggering time windows.

[0034] Calculate the ratio of the overlap length of the trigger time window to the union length of the trigger time window, and then multiply this ratio by the sum of the non-shared resource locking strength of the first branch and the non-shared resource locking strength of the second branch to obtain the cross-pool boundary trigger overlap.

[0035] Furthermore, the median of the cross-pool boundary trigger overlap of all candidate branch pairs in the candidate branch pair set is obtained. Then, the absolute value of the difference between the cross-pool boundary trigger overlap of all candidate branch pairs and the median is calculated, and the median is taken as the median absolute deviation. Finally, 1.4826 is multiplied by the median absolute deviation and added to the median of the cross-pool boundary trigger overlap to obtain the adaptive threshold. Candidate branch pairs with cross-pool boundary trigger overlap greater than the adaptive threshold are taken as target branch pairs.

[0036] Further, step S104 includes the following steps:

[0037] Step S201: Calculate the difference between the service level agreement time limit and the expected processing time for the two branches in the target branch pair, and obtain the available margin for the corresponding branch.

[0038] Step S202: Calculate the ratio of the non-shared resource locking strength to the available margin for each of the two branches in the target branch pair to obtain the deferability cost of the corresponding branch.

[0039] Step S203: Select the branch with the minimum delay cost among the target branches as the target translation branch;

[0040] Step S204: First, calculate the sum of the non-shared resource locking strengths of the two branches in the target branch pair, then calculate the ratio of the adaptive threshold to the sum, and finally calculate the product of the ratio and the union length of the trigger time window to obtain the maximum allowed overlap length.

[0041] Step S205: Select the minimum value between the trigger time window overlap length and the maximum allowed overlap length as the target overlap length;

[0042] Step S206: Calculate the difference between the overlap length of the trigger time window and the overlap length of the target. If the difference is less than or equal to 0, the minimum necessary time translation is 0; otherwise, the difference is used as the minimum necessary time translation.

[0043] Furthermore, if the interruption-type boundary event is a timed boundary event, the original waiting time of the timed boundary event corresponding to the target translation branch in the process engine is read, the updated waiting time is calculated, the updated waiting time is equal to the original waiting time of the timed boundary event plus the minimum necessary time translation amount, and the updated waiting time is written into the timed boundary event configuration item of the target translation branch in the process engine, replacing the original waiting time of the timed boundary event in the process engine.

[0044] Furthermore, if the interruption boundary event type is a message boundary event, an error boundary event, or a compensation boundary event, then the original start offset corresponding to the target translation branch in the process engine is read. If there is no preset value for the original start offset, it is set to 0. At the entry point of the target translation branch or before the parallel gateway to which the target translation branch belongs, the updated start offset is calculated. The updated start offset is equal to the original start offset plus the minimum necessary time translation amount. The updated start offset is then written into the start delay configuration item in the process engine, replacing the original start offset in the process engine.

[0045] The beneficial effects of this invention are as follows: By screening candidate branch pairs that are parallel across pools and contain interruptible boundary events, this invention avoids the high cost of full-process verification and focuses on high-risk scenarios to reduce invalid processing; by using graph neural networks to predict the triggering time window of branch boundary events and the locking strength of non-shared resources, risk quantification is made more accurate; by calculating the overlap of cross-pool boundary triggers and adaptive thresholds, the target branch pairs that need adjustment are located; based on the cost of deferral, the target translation branch is selected and the minimum necessary time translation is determined, reducing risk without violating the service level agreement; the process engine configuration adjustment method is adapted according to the type of interruptible boundary event to ensure the semantic security of the BPMN process; finally, through recalculation and iterative adjustment, the risk is ensured to be reduced to a safe range or stopped at the service level agreement constraint boundary, which effectively avoids deadlock risk and ensures efficient and compliant execution of the process, improving the stability and operational efficiency of the overall business process. Attached Figure Description

[0046] Figure 1 This is a flowchart of a business process setting method based on a process engine according to the present invention;

[0047] Figure 2This is a flowchart of step S104 of the present invention. Detailed Implementation

[0048] The subject matter described herein will now be discussed with reference to exemplary embodiments. It should be understood that these embodiments are discussed only to enable those skilled in the art to better understand and implement the subject matter described herein, and changes may be made to the function and arrangement of the elements discussed without departing from the scope of this specification. Various processes or components may be omitted, substituted, or added as needed in the examples. Furthermore, features described in some examples may be combined in other examples.

[0049] It should be noted that, unless otherwise defined, the technical or scientific terms used in one or more embodiments of the present invention should have the ordinary meaning understood by one of ordinary skill in the art to which this invention pertains. The terms "first," "second," and similar terms used in one or more embodiments of the present invention do not indicate any order, quantity, or importance, but are merely used to distinguish different components. Terms such as "comprising" or "including" indicate that the element or object preceding the term encompasses the elements or objects listed following the term and their equivalents, without excluding other elements or objects. Terms such as "connected" or "linked" are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. Terms such as "upper," "lower," "left," and "right" are used only to indicate relative positional relationships; when the absolute position of the described object changes, the relative positional relationship may also change accordingly.

[0050] like Figures 1-2 As shown, a business process setup method based on a process engine includes the following steps:

[0051] Step S101: Separate the first branch and the second branch belonging to different participants at the parallel gateway configured in the process engine, and determine that the two branches simultaneously meet the three criteria, then write the two branches into the candidate branch pair set.

[0052] Step S102: Use the prediction model to obtain the trigger time windows of the first branch and the second branch, and calculate the non-shared resource locking strength of the two branches accordingly.

[0053] Step S103: Calculate the cross-pool boundary trigger overlap based on the trigger time window and non-shared resource locking strength of the two branches, and determine the adaptive threshold to obtain the target branch pair accordingly;

[0054] Step S104: Select the target translation branch based on the available margin and delay cost of the target branch pair, and determine the minimum necessary time translation amount.

[0055] Step S105: Based on the interruption boundary event type of the target translation branch, complete the writing of the process engine configuration using the minimum necessary time translation amount;

[0056] Interrupt-type boundary event types include: timer, message, error, and compensatory boundary events;

[0057] Step S106: Recalculate the overlap degree triggered by the cross-pool boundary, and determine whether the stopping condition is met by combining the minimum necessary time translation amount. If the condition is met, stop adjusting the target branch pair. Otherwise, repeat steps S104 to S105 until the stopping condition is met.

[0058] The stopping condition is that the cross-pool boundary trigger overlap is less than or equal to the adaptive threshold or the minimum necessary time shift is greater than or equal to the available margin.

[0059] It should be noted that, in addition to reading the parallel gateway in the process engine configuration, it can also be read in the business process modeling and annotation model. The process engine configuration represents the operation of setting parameters for the software system executing the business process. These parameters include: the execution of activities, the triggering of rule events, and the scheduling method of conditional resources, etc., with the aim of ensuring that the process runs according to the design logic. Business process modeling represents the process of using standardized graphics or symbols to describe the sequential relationship, participating entities, interaction methods, etc. of various activities in the business process. The annotation model represents a model that adds detailed information to the business process model. This information includes: data flow rules, resource allocation methods, time constraints, etc., to more accurately define the details of process execution.

[0060] It should be noted that the parallel gateway is an element used in business process modeling to enable concurrent execution of process branches. It can divide a process path into multiple branches, which start executing simultaneously and must all be completed before the process can continue to execute at the corresponding convergence gateway. The pool of participants to which a branch belongs is an area used in business process modeling to divide different participating entities. Participating entities can be departments, systems, organizations, etc. Each pool corresponds to one participating entity. The pool of participants to which a branch belongs indicates which participating entity is responsible for executing the activities contained in that branch, and is used to distinguish the operational scope of different entities in the process.

[0061] It should be noted that: timed boundary events are boundary events triggered at a preset time point or after a preset duration, and their triggering will interrupt the execution of the task to which they belong; message boundary events are boundary events triggered after receiving a specific message, and their triggering will interrupt the execution of the task to which they belong; error boundary events are boundary events triggered when an error occurs during the execution of the task to which they belong, and their triggering will interrupt the execution of that task; compensation boundary events are boundary events triggered to compensate for the impact of completed tasks, and their triggering will interrupt the execution of the current task and initiate the compensation process.

[0062] In one embodiment of the present invention, the following three determinations are performed sequentially on the first branch and the second branch:

[0063] Decision 1: Determine whether the first branch and the second branch satisfy the parallel execution relationship of being separated by the same parallel gateway and reuniting at the corresponding parallel gateway;

[0064] Decision 2: Determine whether the pool of participants belonging to the first branch is different from the pool of participants belonging to the second branch;

[0065] Decision 3: Determine whether the first branch and the second branch have interrupt-type boundary events set, and whether the interrupt-type boundary events of the first branch and the second branch are of any type among timing, message, error, and compensation boundary events;

[0066] When the result of decision one is yes, the result of decision two is yes, and the result of decision three for both the first branch and the second branch is yes, then the branch pair consisting of the first branch and the second branch is written into the candidate branch pair set.

[0067] It should be noted that the first determination is to confirm that the first branch and the second branch are in a parallel execution state, providing a premise for analyzing the risks in parallel scenarios; the second determination is to confirm that the first branch and the second branch belong to different participating entities, focusing on the risks in cross-entity collaboration scenarios; the third determination is to confirm that both the first branch and the second branch have the ability to be interrupted and redirected to abnormal or compensatory paths, thereby screening out branch pairs that may have deadlock risks due to concurrent interruption and cross-entity resource competition.

[0068] In one embodiment of the present invention, the input of the prediction model is graph-structured data, and the output is the boundary event triggering time distribution, the usage probability of non-shared resources, and the expected lock duration.

[0069] Read the basic data from the event log to construct the graph structure data. The basic data includes: instance number, activity name, task identifier, pool of participants, timestamp, event type, boundary event category, and resource identifier.

[0070] Graph structure data consists of nodes, node feature vectors, and edges between nodes;

[0071] Nodes include: activity nodes, resource nodes, boundary event nodes, and participant nodes;

[0072] The feature vectors of nodes are constructed based on the basic data. Each node's feature vector has 8 elements, and if an element value is missing, it is filled with 0.

[0073] The edges between nodes include: flow edges, message edges, occupy edges, ownership edges, and waiting trigger edges; the direction of flow edges is from the previous active node to the next active node; the direction of message edges is from the active node sending the message to the active node receiving the message; the direction of occupation edges is from the active node to the resource node; the direction of ownership edges is from the active node to the participating node and from the resource node to the participating node; the direction of waiting trigger edges is from the active node to the boundary event node.

[0074] It should be noted that the instance number uniquely identifies a process instance and is used to associate all activities or events within the same process, such as INST-001, INST-002, etc.; the activity name indicates the specific task in the process, such as order review, payment verification, refund processing, etc.; the task identifier indicates the unique ID of each activity, such as TASK-01-A, TASK-02-B, etc.; the pool of participants indicates the entity executing the activity, such as the merchant pool, payment institution pool, platform operation pool, etc.; the event type indicates the activity or event, such as activity start, activity completion, boundary event trigger, etc.; the boundary event category is the interrupted boundary event type; and the resource identifier indicates the resource ID used when executing the activity or processing the boundary event, such as seat-005. Transaction locks-LK03, servers-SVR01, etc.; When constructing the feature vectors of nodes, the basic data needs to be numerically processed. For example, categories can be represented by one-hot encoding or binary encoding, and text data can be numerically processed by word vector models, such as Word2Vec or FastText, which will not be elaborated here; In addition, besides padding with zeros, the number of dimensions of the feature vectors can be unified by multiplying by a weight matrix. The weight matrix is ​​a hyperparameter of the prediction model and can be obtained by back-updating through a gradient optimizer, such as Adam or RMSprop; Furthermore, before inputting into the prediction model, the feature vectors also need to be standardized to help the model converge, which will not be elaborated here.

[0075] It should be noted that an activity node represents the business activity of an executable task in a given instance at a given timestamp, reflecting the correspondence between the activity and the pool of participants, the event type (start or completion, whether it is in a potentially interruptible phase); a resource node represents an abstract entity of execution resources that can be occupied by an activity, such as human agents, system sessions, transaction locks, etc.; a boundary event node represents an abstract entity of interruption-type events attached to an activity, used to express the operational semantics that the activity may be interrupted during its execution and then follow an exception or compensation path; and a participant node represents a pool of participants in the process collaboration, used to classify activities and resources into a clearly defined scope of participants.

[0076] It should be noted that: flow edge represents the sequential relationship of adjacent activities in the control flow within the same instance; message edge represents the interaction between different participants through messages; occupation edge represents the activity's occupation of resources; ownership edge represents the activity or resource belonging to a pool of a certain participant; and waiting trigger edge represents the activity being in a state that can be interrupted by a certain type of boundary event.

[0077] In one embodiment of the present invention, the prediction model is constructed based on a graph neural network model, and the number of edges between nodes is used as a weight coefficient to participate in the update of the node's feature vector.

[0078] The loss function of the prediction model is a weighted sum of the loss function of the boundary event trigger time distribution, the loss function of the non-shared resource usage probability, and the loss function of the expected lock duration of the non-shared resource. The weighting coefficients of the three are custom parameters with a total value of 1. The default values ​​of the weighting coefficients of the three are 0.4, 0.3 and 0.3, respectively.

[0079] The loss function for the boundary event triggering time distribution is quantile regression loss, which measures the difference between the predicted quantile point and the actual time label by the quantile error.

[0080] The loss function for the probability of using non-shared resources is the binary cross-entropy loss, which measures the difference between the predicted occupancy probability and the actual occupancy label (0 or 1) through logarithmic error.

[0081] The loss function for the expected lock duration of non-shared resources is the weighted squared error loss, which measures the difference between the predicted duration and the actual lock duration by the squared error.

[0082] It should be noted that the number of hidden layers in the prediction model is a custom parameter. Preferably, the number of hidden layers in the prediction model is set to 3. Specifically, the update vector of the v-th node in the L-th hidden layer... The calculation formula is as follows:

[0083] ,in and Let v and u represent the update vectors of the v-th and u-th nodes in the (L-1)-th hidden layer, respectively. This represents the set of nodes that are connected to the v-th node by an edge. and Let these represent the weight matrix and bias vector of the (L-1)th hidden layer, respectively. This represents the Sigmoid activation function. This represents the weight coefficient of the number of edges between the u-th node and the v-th node. ,in This represents the number of edges between the u-th node and the v-th node. This represents the number of edges between the k-th node and the v-th node;

[0084] When L=1, L-1=0, then and Let represent the feature vectors of the u-th node and the v-th node, respectively. This is because when the hidden layer index L=1, there are no earlier hidden layer vectors available, and the original node feature vectors must be used as the input basis, with the node vectors of the previous layer being used as the input. and Essentially, it is the feature vector of the u-th node and the v-th node in the graph structure data.

[0085] It should be noted that the weight matrix and bias vector are also hyperparameters of the prediction model, which can be obtained through back-updating using the gradient optimizer, and will not be elaborated here. The boundary event triggering time distribution describes the probability of boundary events triggering at different time points after a process branch enters the parallel gateway. For example, after a process branch enters the parallel gateway, the probability of a boundary event triggering is relatively high within 5 to 10 minutes, and the probability of triggering gradually decreases after 10 minutes. The corresponding training sample labels can be obtained by extracting the time when each process branch enters the parallel gateway and the actual triggering time of the boundary event from the historical event log, and calculating the difference between the actual triggering time of the boundary event and the time when the branch enters the parallel gateway. If the boundary event is not triggered, only the time when the branch ends normally is recorded. The usage probability of non-shared resources indicates when a boundary event is triggered and the process branch enters an abnormal or compensation path. The probability that a branch will occupy a non-shared resource (such as a dedicated agent seat, transaction lock, etc.) is represented by a value between 0 and 1. The sample label of the corresponding training sample can be used to view the log records of abnormal or compensation paths for process branches that have been triggered by boundary events in history. If there is a record in the log that the branch occupies a non-shared resource, the label is set to 1; otherwise, it is set to 0. The expected lock duration of the non-shared resource indicates the average length of time that the process branch is expected to occupy a non-shared resource when a boundary event is triggered and the process branch does occupy a non-shared resource. It is only effective when the probability of using the non-shared resource is greater than 0. If the probability of use is close to 0, it means that the branch hardly occupies the resource, and the expected lock duration has no practical meaning. For example, if the expected lock duration of a process branch occupying agent B is 5 minutes, it means that in historical data, when agent B is used after the branch is triggered, the average time occupied is 5 minutes each time.

[0086] In one embodiment of the present invention, three independent fully connected layers are set in the last hidden layer of the prediction model, that is, the boundary event triggering time distribution, the usage probability of non-shared resources and the expected locking duration are respectively output. The activation functions of the three fully connected layers are Linear activation function, Sigmoid activation function and Linear activation function, respectively.

[0087] In one embodiment of the present invention, the time values ​​corresponding to the 16th percentile and 84th percentile of the boundary event triggering time distribution of the first branch and the second branch are obtained respectively, and these two time values ​​are combined to form the triggering time window of the corresponding branch, wherein the start time and end time of the triggering time window correspond to the time values ​​corresponding to the 16th percentile and 84th percentile respectively.

[0088] In one embodiment of the present invention, the usage probability and expected locking duration of each non-shared resource used in the first branch and the second branch are obtained respectively, and the usage probability of each resource in the set of non-shared resources used in the corresponding branch is multiplied by the expected locking duration of the corresponding resource and then summed to obtain the non-shared resource locking strength of the corresponding branch.

[0089] It should be noted that the trigger time window describes the time range within which boundary events are likely to be triggered, providing a basis for subsequent judgment on whether the trigger times of boundary events in different branches overlap; the non-shared resource locking strength measures the overall degree of non-shared resource occupation when a process branch enters an abnormal or compensation path after triggering a boundary event. The larger the value, the higher the probability of the branch occupying non-shared resources, the longer the occupation time, and the heavier the occupation of non-shared resources, providing a quantitative basis for resource occupation related to subsequent calculation of cross-pool boundary trigger overlap.

[0090] In one embodiment of the present invention, the smaller value between the end time of the first branch triggering time window and the end time of the second branch triggering time window is first determined, and the larger value between the start time of the first branch triggering time window and the start time of the second branch triggering time window is determined. The smaller value is subtracted from the larger value. If the calculation result is less than or equal to 0, the overlap length of the triggering time window is 0; otherwise, the overlap length of the triggering time window is the calculated result.

[0091] In one embodiment of the present invention, the larger of the end time of the first branch triggering time window and the end time of the second branch triggering time window is first determined, and the smaller of the start time of the first branch triggering time window and the start time of the second branch triggering time window is then determined. The smaller value is subtracted from the larger value to obtain the union length of the triggering time windows.

[0092] In one embodiment of the present invention, the ratio of the overlap length of the trigger time window to the union length of the trigger time window is calculated, and then the ratio is multiplied by the sum of the non-shared resource locking strength of the first branch and the non-shared resource locking strength of the second branch to obtain the cross-pool boundary trigger overlap.

[0093] It should be noted that the trigger time window overlap length represents the duration of the overlap between the first branch trigger time window and the second branch trigger time window on the time axis; the trigger time window union length represents the total duration covered after the first branch trigger time window and the second branch trigger time window are merged; the cross-pool boundary trigger overlap is an indicator that comprehensively measures the degree of time overlap and resource occupation pressure of the two branches when the boundary event is triggered. The final value reflects the degree of risk of the two branches conflicting simultaneously in terms of time and resources.

[0094] In one embodiment of the present invention, the median of the cross-pool boundary trigger overlap of all candidate branch pairs in the candidate branch pair set is obtained. Then, the absolute value of the difference between the cross-pool boundary trigger overlap of all candidate branch pairs and the median is calculated, and the median is taken as the median absolute deviation. Finally, 1.4826 is multiplied by the median absolute deviation and added to the median of the cross-pool boundary trigger overlap to obtain an adaptive threshold. Candidate branch pairs with a cross-pool boundary trigger overlap greater than the adaptive threshold are taken as target branch pairs.

[0095] Specifically, the formula for calculating the cross-pool boundary trigger overlap of the candidate branch pair consisting of the i-th and j-th branches is as follows:

[0096] ,in and Let represent the overlap length of the trigger time windows and the union length of the trigger time windows of the candidate branch pair formed by the i-th and j-th branches, respectively. and These represent the non-shared resource locking strengths of the i-th and j-th branches, respectively.

[0097] It should be noted that branch pairs with high cross-pool boundary trigger overlap are selected from the candidate branch pair set as target branch pairs. These target branch pairs have more obvious time overlap and resource conflict risks when boundary events are triggered. The adaptive threshold is automatically determined based on the cross-pool boundary trigger overlap distribution of all candidate branch pairs. It can adapt to the data characteristics under different scenarios and avoid the problem that fixed thresholds are difficult to adapt to various situations. It can make subsequent processing focus on the conflict point, reduce invalid processing, and improve the efficiency and accuracy of the overall process.

[0098] In one embodiment of the present invention, such as Figure 2 As shown, step S104 includes the following steps:

[0099] Step S201: Calculate the difference between the service level agreement time limit and the expected processing time for the two branches in the target branch pair, and obtain the available margin for the corresponding branch.

[0100] Step S202: Calculate the ratio of the non-shared resource locking strength to the available margin for each of the two branches in the target branch pair to obtain the deferability cost of the corresponding branch.

[0101] Step S203: Select the branch with the minimum delay cost among the target branches as the target translation branch;

[0102] Step S204: First, calculate the sum of the non-shared resource locking strengths of the two branches in the target branch pair, then calculate the ratio of the adaptive threshold to the sum, and finally calculate the product of the ratio and the union length of the trigger time window to obtain the maximum allowed overlap length.

[0103] Step S205: Select the minimum value between the trigger time window overlap length and the maximum allowed overlap length as the target overlap length;

[0104] Step S206: Calculate the difference between the overlap length of the trigger time window and the overlap length of the target. If the difference is less than or equal to 0, the minimum necessary time translation is 0; otherwise, the difference is used as the minimum necessary time translation.

[0105] It should be noted that the Service Level Agreement (SLA) time limit represents the maximum allowable time for a certain branch to be executed from start to completion in a business scenario, as pre-agreed by relevant parties (such as enterprises and customers, upstream and downstream departments of the process, systems and users, etc.). For example, if the SLA time limit for the order review branch is agreed to be 2 hours, it means that the time from the start of the review to the completion of the review cannot exceed 2 hours. The expected processing time represents the average estimated time for a certain branch to be executed from start to completion, reflecting the normal processing time of the branch in a normal business scenario. For example, if the expected processing time for the order review branch is 1.5 hours, it means that the average processing time of the branch in historical data is about 1.5 hours, and it will be completed around this time in most cases.

[0106] It should be noted that step S104, for high-risk target branch pairs, finds the most suitable branch to postpone and determines the minimum time shift without violating the service level agreement (SLA) constraints. This reduces the overlap of the boundary event triggering times of the two branches, bringing the cross-pool boundary triggering overlap below the adaptive threshold. The available margin is used to determine the maximum time space that each branch can postpone without violating the SLA. The postponement cost is used to measure the ease of postponing each branch; branches with less resource consumption pressure or more postponement space will have lower costs. The minimum necessary time shift is used to achieve the target overlap length with the minimum delay time, avoiding excessive postponement that could lead to SLA breach or resource waste. In other words, the above operations can effectively reduce the risk of deadlock or stagnation caused by boundary event triggering overlap, while ensuring that the process executes normally according to the SLA.

[0107] In one embodiment of the present invention, if the interruption boundary event type is a timed boundary event, the original waiting time of the timed boundary event corresponding to the target translation branch in the process engine is read, the updated waiting time is calculated, the updated waiting time is equal to the original waiting time of the timed boundary event plus the minimum necessary time translation amount, and the updated waiting time is written into the timed boundary event configuration item of the target translation branch in the process engine, replacing the original waiting time of the timed boundary event in the process engine.

[0108] In one embodiment of the present invention, if the interruption boundary event type is a message boundary event, an error boundary event, or a compensation boundary event, the original start offset corresponding to the target translation branch in the process engine is read. If the original start offset has no preset value, it is taken as 0. At the entry point of the target translation branch or before the parallel gateway to which the target translation branch belongs, the updated start offset is calculated. The updated start offset is equal to the original start offset plus the minimum necessary time translation amount. The updated start offset is written into the start delay configuration item in the process engine, replacing the original start offset in the process engine.

[0109] It should be noted that, based on the different types of target translation branch interruption boundary events, an appropriate process engine configuration adjustment method is selected to ensure that the minimum necessary translation time is accurately implemented in the engine settings. For timed boundary events, the waiting time is directly adjusted without adding any additional process steps, simplifying the configuration operation and not changing the original process structure. For message, error, and compensation boundary events, by adding a startup delay and adjusting the startup offset, the branch startup time can be delayed without affecting the triggering mechanism of these events, thereby indirectly delaying the boundary event triggering time. At the same time, all adjustments are completed by updating engine configuration items, and the adjustment results can be read by subsequent steps to recalculate the cross-pool boundary trigger overlap, ensuring that the adjustment effect is verifiable. Furthermore, the entire process does not violate the semantic specifications of the BPMN process, thus ensuring the normal execution of the process.

[0110] It should be noted that recalculating the cross-pool boundary trigger overlap can verify whether the risk meets the standard after each adjustment, preventing the risk from still exceeding the standard after adjustment. Using the relationship between the minimum necessary time shift and the available margin as the stopping condition can avoid the actual processing time exceeding the service level agreement time limit due to continuous delay of the target shift branch. In addition, through iterative adjustment, the configuration can be further optimized when the risk does not meet the standard and there is still room for adjustment. This ensures that the risk of resource conflict or process stagnation caused by trigger overlap is resolved, and the process is guaranteed to be executed normally according to the service agreement. It avoids the negative impact of ineffective or excessive adjustment on the business. That is, it ensures that the time adjustment of the target branch can effectively reduce the cross-pool boundary trigger overlap to a safe range, while avoiding excessive adjustment that would violate the service level agreement.

[0111] It should be noted that the interval and threshold sizes are set for ease of comparison. The size of the threshold depends on the amount of sample data and the base number set by those skilled in the art for each set of sample data, as long as it does not affect the proportional relationship between the parameter and the quantized value. Furthermore, the above formulas are all dimensionless calculations, and the formulas are derived from software simulations using a large amount of collected data to obtain the most recent real-world results. The preset parameters in the formulas are set by those skilled in the art according to the actual situation.

[0112] The embodiments of this example have been described above. However, this example is not limited to the specific implementation methods described above. The specific implementation methods described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms based on the guidance of this example, and all of them are within the protection scope of this example.

Claims

1. A method for setting up business processes based on a process engine, characterized in that, Includes the following steps: Step S101: Separate the first branch and the second branch belonging to different participants at the parallel gateway configured in the process engine, and determine that the two branches simultaneously meet the three criteria, then write the two branches into the candidate branch pair set. Step S102: Use the prediction model to obtain the trigger time windows of the first branch and the second branch, and calculate the non-shared resource locking strength of the two branches accordingly. Step S103: Calculate the cross-pool boundary trigger overlap based on the trigger time window and non-shared resource locking strength of the two branches, and determine the adaptive threshold to obtain the target branch pair accordingly; Step S104: Select the target translation branch based on the available margin and delay cost of the target branch pair, and determine the minimum necessary time translation amount. Step S105: Based on the interruption boundary event type of the target translation branch, complete the writing of the process engine configuration using the minimum necessary time translation amount; Interrupt-type boundary event types include: timer, message, error, and compensatory boundary events; Step S106: Recalculate the overlap degree triggered by the cross-pool boundary, and determine whether the stopping condition is met by combining the minimum necessary time translation amount. If the condition is met, stop adjusting the target branch pair. Otherwise, repeat steps S104 to S105 until the stopping condition is met. The stopping condition is that the cross-pool boundary trigger overlap is less than or equal to the adaptive threshold or the minimum necessary time shift is greater than or equal to the available margin. The following three judgments are performed sequentially on the first and second branches: Decision 1: Determine whether the first branch and the second branch satisfy the parallel execution relationship of being separated by the same parallel gateway and reuniting at the corresponding parallel gateway; Decision 2: Determine whether the pool of participants belonging to the first branch is different from the pool of participants belonging to the second branch; Decision 3: Determine whether the first branch and the second branch have interrupt-type boundary events set, and whether the interrupt-type boundary events of the first branch and the second branch are of any type among timing, message, error, and compensation boundary events; When the result of decision one is yes, the result of decision two is yes, and the result of decision three for both the first branch and the second branch is yes, then the branch pair consisting of the first branch and the second branch is written into the candidate branch pair set.

2. The business process setting method based on a process engine according to claim 1, characterized in that, The predictive model takes graph-structured data as input and outputs the boundary event triggering time distribution, the probability of using non-shared resources, and the expected lock duration. Read the basic data from the event log to construct the graph structure data. The basic data includes: instance number, activity name, task identifier, pool of participants, timestamp, event type, boundary event category, and resource identifier. Graph structure data consists of nodes, node feature vectors, and edges between nodes; Nodes include: activity nodes, resource nodes, boundary event nodes, and participant nodes; The feature vectors of nodes are constructed based on the basic data. Each node's feature vector has 8 elements, and if an element value is missing, it is filled with 0. The edges between nodes include: flow edges, message edges, occupy edges, ownership edges, and waiting trigger edges; the direction of flow edges is from the previous active node to the next active node; the direction of message edges is from the active node sending the message to the active node receiving the message; the direction of occupation edges is from the active node to the resource node; the direction of ownership edges is from the active node to the participating node and from the resource node to the participating node; the direction of waiting trigger edges is from the active node to the boundary event node.

3. The business process setting method based on a process engine according to claim 2, characterized in that, The prediction model is built on a graph neural network model and uses the number of edges between nodes as weight coefficients to participate in the update of the node's feature vector; The loss function of the prediction model is a weighted sum of the loss function of the boundary event trigger time distribution, the loss function of the non-shared resource usage probability, and the loss function of the expected lock duration of the non-shared resource. The weighting coefficients of the three are custom parameters with a total value of 1. The loss function for the boundary event triggering time distribution is quantile regression loss; The loss function for the probability of using non-shared resources is the binary cross-entropy loss; The loss function for the expected lock duration of non-shared resources is the mean squared error loss.

4. The business process setting method based on a process engine according to claim 2, characterized in that, Obtain the 16th and 84th percentile time values ​​corresponding to the boundary event triggering time distributions of the first and second branches respectively, and combine these two time values ​​to form the triggering time window of the corresponding branch, where the start and end times of the triggering time window correspond to the 16th and 84th percentile time values ​​respectively; obtain the usage probability and expected locking duration of each non-shared resource used in the first and second branches respectively, and sum the products of the usage probability of each resource in the set of non-shared resources used in the corresponding branch and the expected locking duration of the corresponding resource to obtain the non-shared resource locking strength of the corresponding branch.

5. The business process setting method based on a process engine according to claim 1, characterized in that, First, determine the smaller of the end time of the first branch trigger time window and the end time of the second branch trigger time window. Then, determine the larger of the two start times of the first branch trigger time window and the start time of the second branch trigger time window. Subtract the larger value from the smaller value. If the result is less than or equal to 0, the overlap length of the trigger time windows is 0; otherwise, the overlap length of the trigger time windows is the calculated result. First, determine the larger of the end time of the first branch triggering time window and the end time of the second branch triggering time window. Then, determine the smaller of the start time of the first branch triggering time window and the start time of the second branch triggering time window. Subtract the smaller value from the larger value to obtain the union length of the triggering time windows. Calculate the ratio of the overlap length of the trigger time window to the union length of the trigger time window, and then multiply this ratio by the sum of the non-shared resource locking strength of the first branch and the non-shared resource locking strength of the second branch to obtain the cross-pool boundary trigger overlap.

6. The business process setting method based on a process engine according to claim 1, characterized in that, Obtain the median of the cross-pool boundary trigger overlap of all candidate branch pairs in the candidate branch pair set. Then calculate the absolute value of the difference between the cross-pool boundary trigger overlap of all candidate branch pairs and the median, and take the median to obtain the median absolute deviation. Finally, multiply 1.4826 by the median absolute deviation and add it to the median of the cross-pool boundary trigger overlap to obtain the adaptive threshold. Select candidate branch pairs whose cross-pool boundary trigger overlap is greater than the adaptive threshold as target branch pairs.

7. The business process setting method based on a process engine according to claim 5, characterized in that, Step S104 includes the following steps: Step S201: Calculate the difference between the service level agreement time limit and the expected processing time for the two branches in the target branch pair, and obtain the available margin for the corresponding branch. Step S202: Calculate the ratio of the non-shared resource locking strength to the available margin for each of the two branches in the target branch pair to obtain the deferability cost of the corresponding branch. Step S203: Select the branch with the minimum delay cost in the target branch pair as the target translation branch; Step S204: First, calculate the sum of the non-shared resource locking strengths of the two branches in the target branch pair, then calculate the ratio of the adaptive threshold to the sum, and finally calculate the product of the ratio and the union length of the trigger time window to obtain the maximum allowed overlap length. Step S205: Select the minimum value between the trigger time window overlap length and the maximum allowed overlap length as the target overlap length; Step S206: Calculate the difference between the overlap length of the trigger time window and the overlap length of the target. If the difference is less than or equal to 0, the minimum necessary time translation is 0; otherwise, the difference is used as the minimum necessary time translation.

8. The business process setting method based on a process engine according to claim 1, characterized in that, If the interruption-type boundary event is a timed boundary event, then the original waiting time of the timed boundary event corresponding to the target translation branch in the process engine is read, the updated waiting time is calculated, the updated waiting time is equal to the original waiting time of the timed boundary event plus the minimum necessary time translation amount, and the updated waiting time is written into the timed boundary event configuration item of the target translation branch in the process engine, replacing the original waiting time of the timed boundary event in the process engine.

9. A business process setting method based on a process engine according to claim 1, characterized in that, If the interruption boundary event type is a message boundary event, error boundary event, or compensation boundary event, then the original start offset corresponding to the target translation branch in the process engine is read. If there is no preset value for the original start offset, it is set to 0. At the entry point of the target translation branch or before the parallel gateway to which the target translation branch belongs, the updated start offset is calculated. The updated start offset is equal to the original start offset plus the minimum necessary time translation amount. The updated start offset is then written into the start delay configuration item in the process engine, replacing the original start offset in the process engine.

Citation Information

Patent Citations

  • Artificial intelligence-based business platform process optimization method and system

    CN120875509A

  • Semantic analysis fused flow chart automatic layout method

    CN120911475A