A scheduling process flow engine method and its configuration method

By using a scheduling process flow engine method, the problem of long node service call time is solved, achieving efficient node orchestration and service integration. It is suitable for REST and web service services and supports HTTP and HTTPS protocols.

CN119520622BActive Publication Date: 2025-10-31INSPUR TIANYUAN COMM INFORMATION SYST CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411408182.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-10
Publication Date
2025-10-31
Estimated Expiration
2044-10-10

AI Technical Summary

Technical Problem

Traditional node service calls require a lot of time for integration and development, and the data processing platform configuration scheme of computing power nodes is insufficient, resulting in low efficiency.

Method used

This paper provides a scheduling process flow engine method that parses parameter data, loads global variables, determines node strategies, executes node data, records logs and callback services, and supports delay, failure retry, exception handling and manual notification strategies to achieve efficient node orchestration and service integration.

Benefits of technology

It improves the efficiency of manual work and node platform service integration, supports the design and saving of different orchestration schemes, is suitable for REST services and web services, and supports HTTP and HTTPS protocols.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119520622B_ABST
    Figure CN119520622B_ABST
Patent Text Reader

Abstract

This invention relates to the field of scheduling process orchestration technology, specifically providing a scheduling process flow engine method, comprising the following steps: S1, starting the node, parsing the externally transmitted parameter data for preliminary analysis; S2, querying the global variable data in the cache, loading it if it exists, otherwise continuing, storing the parameter data from step S1 into the global variable; S3, loading the data; S4, determining the policy data configuration of the node itself; S5, recording the execution log of the scheme; S6, confirming whether the scheme has been executed, if it has been executed, it will not be executed again, if it has not been executed, sorting all node data in sequence and processing the data of each node; S7, recording the execution log of the scheme; S8, executing the callback, if there is a service that needs to be called back, executing the service callback and passing in the configured callback data; S9, ending the node, execution ends. Compared with the prior art, this invention can greatly improve manual efficiency and the efficiency of service integration between different platforms of each node.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of scheduling process orchestration technology, and specifically provides a scheduling process flow engine method and apparatus. Background Technology

[0002] As a relatively new concept, the scheduling process flow engine emphasizes a process of orchestrating nodes based on the services of each node, performing serial and parallel processing according to a certain flow, and configuring certain strategies to process the results of the corresponding nodes according to specific circumstances. This improves the efficiency of manual work and the efficiency of service integration between different platforms of each node, and allows for the design and storage of different orchestration schemes.

[0003] Traditional node service calls require a significant amount of time for integration and development. As computing power becomes increasingly accessible to the general public, there is an urgent need for a platform configuration solution that can call upon various computing power nodes for data processing. Summary of the Invention

[0004] This invention addresses the shortcomings of the prior art by providing a highly practical scheduling process flow engine method.

[0005] A further technical objective of this invention is to provide a reasonably designed, safe, and applicable method for configuring a scheduling process flow engine.

[0006] The technical solution adopted by this invention to solve its technical problem is:

[0007] A scheduling process flow engine method has the following steps:

[0008] S1, the start node, performs preliminary parsing of the externally passed parameter data;

[0009] S2. Query the global variable data in the cache. If it exists, load it. If not, continue and store the parameter data in step S1 into the global variable.

[0010] S3, Load data;

[0011] S4. Determine the policy data configuration of the node itself;

[0012] S5. Record the execution log of the plan;

[0013] S6. Confirm whether the scheme has been executed. If it has been executed, it will not be executed again. If it has not been executed, sort all node data in sequence and process the data of each node.

[0014] S7. Record the execution log of the plan;

[0015] S8. Execute the callback. If there is a service that needs to be called back, then the service callback will be executed and the configured callback data will be passed in.

[0016] S9, End Node, Execution complete.

[0017] Furthermore, in step S3, the following data are loaded: scheme data, node data, node policy data, node input parameter configuration data, node output parameter configuration data, node grouping data, node group policy data, node connection data, and capability service data.

[0018] Furthermore, in step S4, the policy data of the node group, the policy data of the node, and the association between the node and the node group are determined according to their configuration priority to confirm whether the policy data of the node group needs to be applied to the corresponding node, and finally the policy data configuration of the node itself is determined.

[0019] Furthermore, in step S6, it is determined whether the current node has already been executed based on the execution log. If it has been executed, the execution of the next node continues; if it has not been executed, the execution of the current node begins. The execution process is as follows:

[0020] (1) This node begins execution;

[0021] (2) Record the execution log of the current node;

[0022] (3) Encapsulate the requested service information based on node data and capability service data;

[0023] (4) Encapsulate the parameter data of the corresponding capability service of this node based on the node data, the input parameter configuration data of the capability service, the output parameter configuration data, the global variable data, and the data of other nodes that need to be used;

[0024] (5) Update the global cache data and record the execution status of the current node's execution log and record the execution process data of this node;

[0025] (6) During the execution process, monitor in real time whether there is a manual stop operation. If there is, stop the execution; otherwise, continue.

[0026] (7) If the node exists, configure the callback service, execute the callback service and pass in the configured callback data;

[0027] (8) This node has finished executing.

[0028] Furthermore, in step (4), the request triggering logic is executed based on the request-related data obtained in steps (1) to (3):

[0029] Before making a request, it is determined whether there is a delayed execution strategy and a timed execution strategy. If there is a delayed execution strategy, the thread is started and suspended until the time configured in the delayed execution strategy is reached before execution continues.

[0030] If a timed execution strategy exists, the thread will be started and suspended until the time configured in the timed execution strategy is reached before execution begins. After the current process is successfully executed, the number of executions configured in the timed execution strategy will be executed.

[0031] Determine if a retry strategy exists. If it does, execute the number of retries configured in this strategy after the current process fails. Each retry will only proceed after the interval between retries reaches the retry interval in this strategy. If the process succeeds midway, interrupt the current retry and determine whether to continue executing the subsequent logic.

[0032] Determine if an exception handling strategy exists. If it does, execute the exception handling count configured in this strategy after the exception occurs before continuing to execute subsequent logic.

[0033] Once all the above strategies have been executed and this node has also executed successfully, the notification strategy will be determined and executed, and one or more notification methods will be used in parallel depending on the selected notification method.

[0034] Once this node has finished executing, the output data of the node execution will be stored in a global variable, cached, or output to subsequent nodes for later use, depending on the node's output parameter configuration.

[0035] A method for configuring a scheduling process flow engine includes the following steps:

[0036] 1) Capability service configuration: collect and schedule various downstream capability services;

[0037] 2) Capability entry, collection, and reporting: The capability service-related data collected in step 1) is entered into the capability repository through the capability entry function;

[0038] 3) Configure failure retry strategy, delayed execution strategy, exception handling strategy, scheduled execution strategy, and manual notification strategy;

[0039] 4) Configure the template, including configuring the basic information of the template, configuring the template node data, configuring the template node group data, configuring the association between nodes and policies, configuring the binding between nodes and input / output parameters, configuring the association between node groups and nodes, configuring the association between node groups and policies, and configuring node connections.

[0040] 5) Input parameter parsing and configuration;

[0041] 6) Output parameter parsing configuration;

[0042] 7) Scheme configuration: Each scheme has a start node and an end node. Add parameter nodes according to the specific situation. If no parameters are needed, directly add business nodes. Then connect the nodes according to the business sequence, and configure the corresponding processing strategy, input parameters and output parameter information for each business node.

[0043] Furthermore, in step 1), including REST services, web services, and local proprietary services, when collecting capability services, the collected capability services need to be collected into the capability management function in advance. At the same time, the capability services in the capability management function should clearly describe the HTTP method, IP address, port, address access method, input parameters, and return values ​​of the capability. If there are multiple levels of input parameters and return values, they should also be recorded.

[0044] In step 2), when the upstream and downstream capability services change, the new interface after the change is reported to the platform through the capability reporting function, and the version of the changed capability service is marked to distinguish it from the original capability service.

[0045] Alternatively, new capability interfaces can be entered into the capability service manually.

[0046] Furthermore, in step 3), the failure retry strategy sets the number of retries and the retry interval for the current node. When the capability node service is not available, or restarts or crashes due to other abnormalities, or is temporarily interrupted due to network reasons, multiple attempts are made.

[0047] The delayed execution strategy ensures that when the scheduling flow reaches the current node, the execution is delayed for a certain period of time according to the delay configuration. In cases where the execution result of the previous node is needed in the current node, the execution result data of the previous node is guaranteed to be completed before the execution of the current node and can be directly used in the execution of the current node.

[0048] The exception handling strategy is configured to ignore exceptions of specific types and exceptions containing specific information when a node is executed, provided that the exception handling strategy does not involve the business logic of this node or affect the execution of subsequent nodes. The number of times to ignore exceptions is set.

[0049] The scheduled execution strategy is configured to execute once or multiple times at the specified time, regardless of whether the execution is successful or not.

[0050] The manual notification policy supports notifications to the interface personnel of the capability service via SMS, email, and in-site message. When configuring the notification policy, the recipient of the notification method can be configured as one or more, and SMS supports contact methods of all operators.

[0051] Furthermore, in step 4), the basic template information includes template ID, template identifier, template name, template description, template status, creator, creation time, updater, and update time;

[0052] The template node data configuration includes node ID, template ID associated with the node, type to which the node belongs, node identifier, node name, capability service ID, x-coordinate information, y-coordinate information, node style configuration, node order value, creator, creation time, updater, and update time.

[0053] The configuration of the template node group data includes the node group ID, the template ID associated with the node group, the node group identifier, the node group name, x-coordinate information, y-coordinate information, width, height, node group style configuration, creator, creation time, updater, and update time.

[0054] The association configuration between the node and the policy includes node ID, template ID, policy ID, policy configuration identifier, policy configuration name, policy configuration value, policy configuration unit, and priority.

[0055] The binding configuration of nodes with input and output parameters includes parameter ID, parent parameter ID, parameter field name, parameter field type, whether the parameter is required, parameter Chinese name, parameter type, template ID to which it belongs, current node ID, parameter data source, parameter source node ID, parameter source node output data key, default value, whether it is a global variable, and global variable target object;

[0056] The association configuration between the node group and the node includes the node group ID, the node ID, and the template ID;

[0057] The association configuration between the node group and the policy includes the node group ID, template ID, policy ID, policy configuration identifier, policy configuration name, policy configuration value, policy configuration unit, and priority.

[0058] The node connection configuration includes connection ID, start node ID, end node ID, template ID, connection style, start node port information, and end node port information;

[0059] In step 5), configure the input parameters of the service corresponding to the current capability node, configure whether each input parameter is a fixed value or a value taken from a node in the previous process, or configure the variable value in the global variable. Here, the variable data in the global variable is configured through "output parameter parsing configuration".

[0060] In step 6), configure the output data of the service corresponding to the current capability node, and configure the output data as global variable data for use by all nodes, or configure the data as local variable for use by a certain node and multiple nodes in the future.

[0061] Furthermore, in step 4), during configuration, one or more nodes within the scheme are grouped into a node group, and a corresponding processing strategy is configured for the node group, with the processing method being the same as that for individual nodes.

[0062] After configuring the scheme, use the debugging function to perform initial debugging and verification. This debugging function will detect and prompt some required but missing fields and the necessary connection sequence so that you can make corrections. Save the settings after the debugging and verification are completely correct.

[0063] When saving, you can choose to save as a draft, save the plan, or publish directly. Saving as a draft allows you to continue editing later, saving as a plan is only a preliminary version and cannot be used temporarily, while publishing directly allows you to use and call upon it.

[0064] No debugging is required when saving as a draft. However, when saving or publishing the solution, debugging is mandatory. If the solution is saved and then needed later, it must be published again.

[0065] Compared with existing technologies, the scheduling process flow engine method and its configuration method of the present invention have the following outstanding advantages:

[0066] This invention can help orchestrate the processes of different services on computing nodes, greatly improving manual efficiency and the efficiency of service integration between different platforms on each node. It also allows for the design and storage of different orchestration schemes, enabling one-time orchestration for long-term use. Different REST services and web services can be scheduled and orchestrated according to specific circumstances, and both HTTP and HTTPS can be supported simultaneously. Attached Figure Description

[0067] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0068] Appendix Figure 1 This is a flowchart illustrating a scheduling process flow engine method;

[0069] Appendix Figure 2 This is a flowchart illustrating a method for configuring a scheduling process flow engine. Detailed Implementation

[0070] To enable those skilled in the art to better understand the present invention, the present invention will be further described in detail below with reference to specific embodiments. Obviously, the described embodiments are merely some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0071] The following is a preferred embodiment:

[0072] like Figure 1 As shown, a scheduling process flow engine method in this embodiment has the following steps:

[0073] S1, Start Node: Parses the parameter data passed from outside the parsing scheme and performs preliminary parsing.

[0074] S2. Query the global variable data in the cache. If it exists, load it; otherwise, continue. Store the parameter data from step S1 into the global variable.

[0075] S3 loads scheme data, node data, node policy data, node input parameter configuration data, node output parameter configuration data, node grouping data, node group policy data, node connection data, and capability service data.

[0076] S4. Based on the configuration priority of the policy data of the node group, the policy data of the node, and the relationship between the node and the node group, determine whether the policy data of the node group needs to be applied to the corresponding node, and finally determine the policy data configuration of the node itself.

[0077] S5. Record the execution log of the plan;

[0078] S6. Confirm whether the solution has already been executed. If it has been executed, it will not be executed again. If it has not been executed, sort all node data in sequence and process the data of each node.

[0079] The execution log determines whether the current node has already been executed. If it has, the execution continues to the next node; otherwise, the execution of the current node begins.

[0080] (1) This node begins execution;

[0081] (2) Record the execution log of the current node;

[0082] (3) Encapsulate the requested service information based on node data and capability service data.

[0083] (4) Encapsulate the parameter data of the corresponding capability service of this node based on the node data, the input parameter configuration data of the capability service, the output parameter configuration data, the global variable data, and the data of other nodes that need to be used.

[0084] Based on the request-related data obtained in steps (1)-(3) above, execute the request triggering logic:

[0085] Before making a request, it is determined whether there is a delayed execution strategy and a timed execution strategy. If there is a delayed execution strategy, the thread is started and suspended until the time configured in the delayed execution strategy is reached before execution continues.

[0086] If a timed execution strategy exists, the thread will be suspended until the time configured in the timed execution strategy is reached before execution begins. After the current process is successfully executed, the number of executions configured in the timed execution strategy will be executed.

[0087] Determine if a retry strategy exists. If it does, execute the number of retries configured in this strategy after the current process fails. Each retry will only proceed after the interval between retries reaches the retry interval in this strategy. If the process succeeds midway, interrupt the current retry determination and continue executing the subsequent logic.

[0088] Determine if an exception handling strategy exists. If it does, execute the exception handling count configured in this strategy after the exception occurs before continuing with the subsequent logic.

[0089] Once all the above strategies have been executed and this node has also executed successfully, the notification strategy will be determined and executed, and one or more notification methods will be used in parallel depending on the selected notification method.

[0090] Once this node has finished executing, the output data of the node execution will be stored in a global variable, cached, or output to subsequent nodes for later use, depending on the node's output parameter configuration.

[0091] (5) Update the global cache data and record the execution status of the current node's execution log and record the execution process data of this node.

[0092] (6) During the execution process, monitor in real time whether there is a manual stop operation. If so, stop the execution; otherwise, continue.

[0093] (7) If the node has a callback service configuration, execute the callback service and pass in the configured callback data.

[0094] (8) This node has finished executing.

[0095] S7. Record the execution log of the scheme.

[0096] S8. Execute the callback. If there is a service that needs to be called back, then the service callback will be executed and the configured callback data will be passed in.

[0097] S9, End Node: The execution of the plan has ended.

[0098] Based on the above scheduling process flow engine method, such as Figure 2 As shown, its configuration method is as follows:

[0099] 1) Capability service configuration: collect and schedule various downstream capability services;

[0100] This includes REST services, web services, and local proprietary services. When collecting capability services, the collected capability services need to be collected into the capability management function in advance. At the same time, the capability services in the capability management function should clearly describe the HTTP method, IP address, port, address access method, input parameters, and return values ​​of the capability. If there are multiple levels of input parameters and return values, they should also be recorded.

[0101] The basic information collected for the capability services includes: capability service ID, capability service name, product type, capability service request method, capability service protocol, capability service IP, capability service port, capability service project name, capability service access address suffix, capability service complete URL address, capability service type (including real-time messaging, open API, web service), tag information, version number, capability service request example, capability service response example, capability service return value information, capability service status code information, capability service function description, capability service interface constraint rules, capability service resource type, capability service sorting number, capability service address source (supports proprietary services, cloud services, intranet services, and specific platform services), capability service source identifier, capability service icon information, publisher, publication time, updater, and update time.

[0102] Collect the input and output parameters for this capability. The input and output parameters should include the following information: the parameter's ID, the capability service ID associated with the parameter, the ID of the parent parameter to which the parameter belongs, the parameter type (distinguishing between parameters in the URL, parameters in the request, parameters in the request body, and other types of JSON data), the parameter key, the parameter name, the parameter's data type (supporting various data types, such as: integer, floating-point, character, boolean, string, array, object, and set), whether it is required, a detailed description of the parameter, and the parameter's sort order. The relationship between the parameter and the capability service in step i is n:1.

[0103] A complete capability service consists of a combination of basic capability information and capability parameter data.

[0104] 2) Capability entry, collection, and reporting: The capability service-related data collected in step 1) is entered into the capability repository through the capability entry function;

[0105] When upstream and downstream capability services change, the new interface can be reported to the platform through the capability reporting function. At the same time, the version of the changed capability service can be marked to distinguish it from the original capability service. Alternatively, the new capability interface can be entered into the capability service manually.

[0106] If the capability provider has the means to provide open interfaces for its capabilities, this step can also be carried out by actively collecting and connecting to the open interfaces provided by the capability provider, thereby achieving the goal of periodically updating or periodically collecting the capability services provided by the capability provider.

[0107] If the capability provider has a means to report capabilities, you can also passively receive capability service data reported by the capability provider through the reporting interface in this step. During capability collection and reporting, existing capabilities will be checked. Capabilities with the same address and version from the same capability provider will have their data updated; otherwise, they will be added to the capability repository. Capability services can be viewed, modified, and their data imported and exported through the capability service functions.

[0108] 3) Configure failure retry strategy, delayed execution strategy, exception handling strategy, scheduled execution strategy, and manual notification strategy;

[0109] Failure retry policy: This allows you to configure the number of retries and the retry interval for the current node. When the capability node service is unavailable, restarts or crashes due to other anomalies, or experiences a temporary interruption due to network issues, the failure retry policy ensures that the node's execution will be attempted multiple times according to the settings, with each attempt spaced at a certain interval. It supports a specific number of attempts and an unlimited number of attempts. The interval between each attempt can be set in seconds, minutes, hours, days, weeks, months, or years. Failure retry policy information includes: retry interval time, retry interval unit (selectable from seconds, minutes, hours, days, weeks, months, and years), and number of retries.

[0110] Delayed execution strategy: When the scheduling flow reaches the current node, execution can be delayed for a certain period of time according to the delay configuration. This ensures that the results from the previous node are needed in the current node, allowing the current node to complete the execution of the previous node's results before it begins and use them directly. The strategy supports setting time intervals of seconds, minutes, hours, days, weeks, months, and years. Delayed execution strategy information includes: delay time and delay time unit (selectable as seconds, minutes, hours, days, weeks, months, and years).

[0111] Exception handling strategy: When a node is executing, exceptions may occur that do not affect the business logic of this node or the execution of subsequent nodes. In this case, an exception handling strategy can be configured to ignore specific types of exceptions and exceptions containing specific information, and the number of times to ignore them can be set. The exception handling strategy information includes: the number of exceptions to ignore.

[0112] Scheduled execution strategy: Supports configuring execution at a specific time and the number of times it can be executed at that time. The scheduled execution strategy information includes: execution time (including year, month, day, hour, minute, and second configuration) and the number of executions. After configuration, it will start executing at the "configured execution time" and execute the "configured number of executions".

[0113] Manual notification policies: Supports notifications to the relevant API personnel for the capability service via SMS, email, and in-app messages. When configuring notification policies, one or more recipients can be specified for each notification method. SMS notifications support contact information from all carriers. Email notifications support email addresses from all providers. Note that some email providers may mark notifications as spam or nuisance; please be mindful of these settings. In-app messages support pop-up notifications within the site and proactive notification queries from the management console.

[0114] Each notification method can be configured with different configuration information to achieve the notification purpose, including:

[0115] The SMS notification configuration includes the following information: SMS signature (an SMS identifier, indicated by "[xxx]" at the beginning of the SMS), SMS content, SMS recipient mobile phone number (supports sending to a single or multiple mobile phone numbers), SMS recipient mobile phone number group (each group contains multiple mobile phone numbers), whether to send immediately, and SMS sending time.

[0116] Email notification configuration includes the following information: recipients (one or more), CC (one or more), subject, email content, whether to send immediately, sending time, attachment information, and signature information.

[0117] The configuration of in-site message notifications includes the following information: message title, message content, receiving user (one or more), receiving user group (one or more), whether to send immediately, and sending time.

[0118] 4) Template configuration allows you to create template data for a specific scenario. This template data contains a portion of common nodes within a process. After creation, it can save configuration time when configuring solutions later. The data within the template configuration can be directly applied. The template content includes a template icon, template name, template description, and template node data. The node data allows you to categorize and search capability nodes. The template canvas allows you to create and connect nodes, and configure their input parameters, output parameters, and association strategies.

[0119] Template configuration includes configuration of basic template information, configuration of template node data, configuration of template node group data, configuration of node and policy association, configuration of node and input / output parameter binding, configuration of node group and node association, configuration of node group and policy association, and node connection configuration.

[0120] The basic information of a template includes template ID, template identifier, template name, template description, template status, creator, creation time, updater, and update time.

[0121] The template node data information includes: node ID, template ID associated with the node, type of the node (scheme, template), node identifier (the start node and end node have fixed identifiers), node name, capability service ID in claim 1, x-coordinate information, y-coordinate information, node style configuration, node sequence value, creator, creation time, updater, and update time.

[0122] The template node group data information includes: node group ID, template ID associated with the node group, node group identifier, node group name, x-coordinate information, y-coordinate information, width, height, node group style configuration, creator, creation time, updater, and update time.

[0123] The association information between nodes and policies includes: node ID, template ID, policy ID, policy configuration identifier, policy configuration name, policy configuration value, policy configuration unit, and priority.

[0124] The node and input / output parameter configuration information includes: parameter ID, parent parameter ID, parameter field name, parameter field type, whether the parameter is required, parameter Chinese name, parameter type (request, response, URL, global parameter), template ID to which it belongs, current node ID, parameter data source (global variable, other nodes, fixed data), parameter source node ID (used when the parameter source is another node), parameter source node output data key (used when the parameter source is another node), default value (used when the parameter source is fixed data), whether it is a global variable, and the target object of the global variable.

[0125] The association information between node groups and nodes includes: node group ID, node ID, and template ID.

[0126] The association information between node groups and policies includes: node group ID, template ID, policy ID, policy configuration identifier, policy configuration name, policy configuration value, policy configuration unit, and priority.

[0127] The node connection information includes: connection ID, starting node ID, ending node ID, template ID, connection style, starting node port information, and ending node port information.

[0128] 5) Input parameter parsing and configuration;

[0129] Configure the input parameters for the service corresponding to the current capability node. You can configure whether each input parameter is a fixed value or a value taken from a node in the previous process. You can also configure the variable values ​​in the global variables. The variable data in the global variables is configured through "output parameter parsing configuration".

[0130] 6) Output parameter parsing configuration;

[0131] Configure the output data of the service corresponding to the current capability node. It supports various types of data output. The output data can be configured as global variable data that can be used by all nodes, or it can be configured as local variable data that can be used by a certain node or multiple nodes.

[0132] 7) Scheme configuration: Each scheme has a start node and an end node. Add parameter nodes according to the specific situation. If no parameters are needed, directly add business nodes. Then connect the nodes according to the business sequence and configure the corresponding processing strategy, input parameters and output parameter information for each business node.

[0133] During scheme configuration, one or more nodes within the scheme can be grouped into a node group, and corresponding processing strategies can be configured for the node group, with the processing method the same as for individual nodes. After the scheme is configured, the debugging function can be used for initial debugging and verification. This debugging function can detect and prompt for any required but missing fields and necessary connection sequences, facilitating scheme modification. Saving is only allowed after the debugging and verification are completely error-free. When saving, you can choose to save as a draft, save the scheme, or publish directly. Saving as a draft allows for further editing later, saving as a scheme is only a preliminary draft and cannot be used immediately, while publishing directly allows for use and retrieval. Debugging is not required when simply saving as a draft. Debugging is mandatory when saving or publishing the scheme. After saving the scheme, it can be published again for later use.

[0134] Each node can be dragged and dropped from the capability service list onto the canvas area to form a node, and then the relevant strategies and input / output parameters can be configured for that node. Simultaneously, pre-configured template data can be applied to this solution, allowing for further editing of the solution, simplifying operations and saving maintenance personnel's time.

[0135] The scheme configuration includes: scheme basic information configuration, scheme node data configuration, scheme node group data configuration, node and policy association configuration, node and input / output parameter binding configuration, node group and node association configuration, node group and policy association configuration, and node connection configuration.

[0136] The basic information of the plan includes plan ID, plan identifier, plan cover, plan name, plan type, plan version, plan description, plan status, creator, creation time, updater, and update time.

[0137] The solution node data information includes: node ID, solution ID associated with the node, type of the node (solution, template), node identifier (the start node and end node have fixed identifiers), node name, capability service ID in claim 1, x-coordinate information, y-coordinate information, node style configuration, node sequence value, creator, creation time, updater, and update time.

[0138] The data information for a solution node group includes: node group ID, solution ID associated with the node group, node group identifier, node group name, x-coordinate information, y-coordinate information, width, height, node group style configuration, creator, creation time, updater, and update time.

[0139] The association information between nodes and policies includes: node ID, scheme ID, policy ID, policy configuration identifier, policy configuration name, policy configuration value, policy configuration unit, and priority.

[0140] The node and input / output parameter configuration information includes: parameter ID, parent parameter ID, parameter field name, parameter field type, whether the parameter is required, parameter Chinese name, parameter type (request, response, URL, global parameter), template ID to which it belongs, current node ID, parameter data source (global variable, other nodes, fixed data), parameter source node ID (used when the parameter source is another node), parameter source node output data key (used when the parameter source is another node), default value (used when the parameter source is fixed data), whether it is a global variable, and the target object of the global variable.

[0141] The association information between node groups and nodes includes: node group ID, node ID, and scheme ID;

[0142] The association information between node groups and policies includes: node group ID, scheme ID, policy ID, policy configuration identifier, policy configuration name, policy configuration value, policy configuration unit, and priority.

[0143] The node connection information includes: connection ID, starting node ID, ending node ID, template ID, connection style, starting node port information, and ending node port information.

[0144] When configuring the solution, you can configure both the solution and the callback service executed by the node, and configure the data parameters that need to be passed in the callback.

[0145] The above-described specific embodiments are merely specific examples of the present invention. The patent protection scope of the present invention includes, but is not limited to, the above-described specific embodiments. Any technical solution that conforms to the above-described specific embodiments of the present invention and any appropriate changes or substitutions made by those skilled in the art should fall within the patent protection scope of the present invention.

[0146] Although embodiments of the invention have been shown and described, it will be understood by those skilled in the art that various changes, modifications, substitutions and alterations can be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the appended claims and their equivalents.

Claims

1. A scheduling process flow engine method, characterized in that, It has the following steps: S1, the start node, performs preliminary parsing of the externally passed parameter data; S2. Query the global variable data in the cache. If it exists, load it. If not, continue and store the parameter data in step S1 into the global variable. S3, Load data; Load scheme data, node data, node policy data, node input parameter configuration data, node output parameter configuration data, node group data, node group policy data, node connection data, and capability service data; S4. Determine the policy data configuration of the node itself; The strategy data of the node group, the strategy data of the node, and the relationship between the node and the node group are used to determine whether the strategy data of the node group needs to be applied to the corresponding node based on its configuration priority, and finally the strategy data configuration of the node itself is determined. S5. Record the execution log of the plan; S6. Confirm whether the scheme has been executed. If it has been executed, it will not be executed again. If it has not been executed, sort all node data in sequence and process the data of each node. The execution log determines whether the current node has already been executed. If it has, the execution continues to the next node; otherwise, the execution of the current node begins. The execution process is as follows: (1) This node begins execution; (2) Record the execution log of the current node; (3) Encapsulate the requested service information based on node data and capability service data; (4) Encapsulate the parameter data of the corresponding capability service of this node based on the node data, the input parameter configuration data of the capability service, the output parameter configuration data, the global variable data, and the data of other nodes that need to be used; The request triggering logic is executed based on the request-related data obtained in steps (1) to (3): Before making a request, it is determined whether there is a delayed execution strategy and a timed execution strategy. If there is a delayed execution strategy, the thread is started and suspended until the time configured in the delayed execution strategy is reached before execution continues. If a timed execution strategy exists, the thread will be started and suspended until the time configured in the timed execution strategy is reached before execution begins. After the current process is successfully executed, the number of executions configured in the timed execution strategy will be executed. Determine if a retry strategy exists. If it does, execute the number of retries configured in this strategy after the current process fails. Each retry will only proceed after the interval between retries reaches the retry interval in this strategy. If the process succeeds midway, interrupt the current retry and determine whether to continue executing the subsequent logic. Determine if an exception handling strategy exists. If it does, execute the exception handling count configured in this strategy after the exception occurs before continuing to execute subsequent logic. Once all the above strategies have been executed and this node has also executed successfully, the notification strategy will be determined and executed, and one or more notification methods will be used in parallel depending on the selected notification method. Once this node has finished executing, the output data of the node execution will be stored in a global variable, cached, or output to subsequent nodes for later use, according to the node's output parameter configuration. (5) Update the global cache data and record the execution status of the current node's execution log and record the execution process data of this node; (6) During the execution process, monitor in real time whether there is a manual stop operation. If so, stop the execution; otherwise, continue. (7) If the node exists, configure the callback service, execute the callback service and pass in the configured callback data; (8) This node has finished executing; S7. Record the execution log of the plan; S8. Execute the callback. If there is a service that needs to be called back, then the service callback will be executed and the configured callback data will be passed in. S9, End Node, Execution complete.

2. A method for configuring a scheduling process flow engine, characterized in that, Based on the engine method described in claim 1 above, it comprises the following steps: 1) Capability service configuration: collect and schedule various downstream capability services; 2) Capability entry, collection, and reporting: The capability service-related data collected in step 1) is entered into the capability repository through the capability entry function; 3) Configure failure retry strategy, delayed execution strategy, exception handling strategy, scheduled execution strategy, and manual notification strategy; 4) Configure the template, including configuring the basic information of the template, configuring the template node data, configuring the template node group data, configuring the association between nodes and policies, configuring the binding between nodes and input / output parameters, configuring the association between node groups and nodes, configuring the association between node groups and policies, and configuring node connections. 5) Input parameter parsing and configuration; 6) Output parameter parsing configuration; 7) Scheme configuration: Each scheme has a start node and an end node. Add parameter nodes according to the specific situation. If no parameters are needed, directly add business nodes. Then connect the nodes according to the business sequence, and configure the corresponding processing strategy, input parameters and output parameter information for each business node.

3. The scheduling process flow engine configuration method according to claim 2, characterized in that, In step 1), including REST services, web services, and local proprietary services, when collecting capability services, the collected capability services need to be collected into the capability management function in advance. At the same time, the capability services in the capability management function should clearly describe the HTTP method, IP address, port, address access method, input parameters, and return values ​​of the capability. If there are multiple levels of input parameters and return values, they should also be recorded. In step 2), when the upstream and downstream capability services change, the new interface after the change is reported to the platform through the capability reporting function, and the version of the changed capability service is marked to distinguish it from the original capability service. Alternatively, new capability interfaces can be entered into the capability service manually.

4. The scheduling process flow engine configuration method according to claim 3, characterized in that, In step 3), the failure retry strategy sets the number of retries and the retry interval for the current node. When the capability node service is not available, or restarts or crashes due to other abnormalities, or is temporarily interrupted due to network reasons, multiple attempts are made. The delayed execution strategy, when the scheduling flow reaches the current node, delays execution for a certain period of time according to the delay configuration. In cases where the execution result of the previous node is needed in the current node, it ensures that the execution result data of the previous node can be completed before the execution of the current node and can be directly used in the execution of the current node. The exception handling strategy is configured to ignore exceptions of specific types and exceptions containing specific information when a node is executed, provided that the exception handling strategy does not involve the business logic of this node or affect the execution of subsequent nodes. The number of times to ignore exceptions is set. The scheduled execution strategy is configured to execute once or multiple times at the specified time, regardless of whether the execution is successful or not. The manual notification policy supports notifications to the interface personnel of the capability service via SMS, email, and in-site message. When configuring the notification policy, the recipient of the notification method can be configured as one or more, and SMS supports contact methods of all operators.

5. A scheduling process flow engine configuration method according to claim 4, characterized in that, In step 4), the basic template information includes template ID, template identifier, template name, template description, template status, creator, creation time, updater, and update time; The template node data configuration includes node ID, template ID associated with the node, type to which the node belongs, node identifier, node name, capability service ID, x-coordinate information, y-coordinate information, node style configuration, node order value, creator, creation time, updater, and update time. The configuration of the template node group data includes the node group ID, the template ID associated with the node group, the node group identifier, the node group name, the x-coordinate information, the y-coordinate information, the width, the height, the node group style configuration, the creator, the creation time, the updater, and the update time. The association configuration between the node and the policy includes node ID, template ID, policy ID, policy configuration identifier, policy configuration name, policy configuration value, policy configuration unit, and priority. The binding configuration of nodes with input and output parameters includes parameter ID, parent parameter ID, parameter field name, parameter field type, whether the parameter is required, parameter Chinese name, parameter type, template ID to which it belongs, current node ID, parameter data source, parameter source node ID, parameter source node output data key, default value, whether it is a global variable, and global variable target object; The association configuration between the node group and the node includes the node group ID, the node ID, and the template ID; The association configuration between the node group and the policy includes the node group ID, template ID, policy ID, policy configuration identifier, policy configuration name, policy configuration value, policy configuration unit, and priority. The node connection configuration includes connection ID, start node ID, end node ID, template ID, connection style, start node port information, and end node port information; In step 5), configure the input parameters of the service corresponding to the current capability node, configure whether each input parameter is a fixed value or a value taken from a node in the previous process, or configure the variable value in the global variable. Here, the variable data in the global variable is configured through "output parameter parsing configuration". In step 6), configure the output data of the service corresponding to the current capability node, and configure the output data as global variable data for use by all nodes, or configure the data as local variable for use by a certain node and multiple nodes in the future.

6. The scheduling process flow engine configuration method according to claim 5, characterized in that, In step 4), during configuration, one or more nodes within the scheme are grouped into a node group, and a corresponding processing strategy is configured for the node group, with the processing method being the same as that for individual nodes. After configuring the scheme, use the debugging function to perform initial debugging and verification. This debugging function will detect and prompt some required but missing fields and the necessary connection sequence so that you can make corrections. Save the settings after the debugging and verification are completely correct. When saving, you can choose to save as a draft, save the plan, or publish directly. Saving as a draft allows you to continue editing later, saving as a plan is only a preliminary version and cannot be used temporarily, while publishing directly allows you to use and call upon it. No debugging is required when saving as a draft. However, when saving or publishing the solution, debugging is mandatory. If the solution is saved and then needed later, it must be published again.

Citation Information

Patent Citations

  • Service-oriented customizable workflow engine algorithm

    CN110599119A

  • Big data platform scheduling management method and system

    CN118034886A