Scheduling process circulation engine method and configuration method thereof
By using a scheduling process flow engine approach, the problem of long node service call times is solved, achieving efficient node orchestration and service integration, and supporting flexible configuration and saving of various service types.
Patent Information
- Application Number
- CN202411408182.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-10
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2044-10-10
AI Technical Summary
Traditional node service calls require a lot of time for integration and development, and the data processing platform configuration scheme for computing power nodes is insufficient.
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.
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.
Smart Images

Figure CN119520622A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of scheduling process orchestration, and specifically provides a scheduling process flow engine method and device. Background Art
[0002] As a relatively new concept, the scheduling process flow engine emphasizes node orchestration based on the services of each node, serial and parallel processing according to a certain process flow, and can configure certain strategies according to specific circumstances to process the results of the corresponding nodes, thereby improving labor efficiency and the service docking efficiency of different platforms of each node, and thus different orchestration schemes can be designed and saved.
[0003] The call of traditional node services requires a lot of time for docking and development. As computing power becomes more and more popular, there is an urgent need for a platform configuration solution that can call various computing power nodes for data processing. Summary of the invention
[0004] The present invention aims at solving the above-mentioned deficiencies of the prior art and provides a scheduling process flow engine method with strong practicality.
[0005] A further technical task of the present invention is to provide a scheduling process flow engine configuration method that is reasonably designed, safe and applicable.
[0006] The technical solution adopted by the present invention to solve its technical problem is:
[0007] A scheduling process flow engine method has the following steps:
[0008] S1, start node, parse the externally transmitted parameter data for preliminary analysis;
[0009] S2, query the global variable data in the cache, if there is, 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 solution;
[0013] S6. Confirm whether the solution has been executed. If it has been executed, it will not be executed again. If it has not been executed, all node data will be sorted in sequence and the data of each node will be processed;
[0014] S7, record the execution log of the solution;
[0015] S8. Execute callback. If there is a service that needs to be called back, call back the service and pass in the configured callback data.
[0016] S9, end node, execution ends.
[0017] Furthermore, in step S3, solution 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 are loaded.
[0018] Furthermore, in step S4, the node grouping policy data, the node policy data, and the association between the node and the node group are determined based on their configuration priority to confirm whether the node group policy data needs to be applied to the corresponding node, and finally the policy data configuration of the node itself is determined.
[0019] Further, in step S6, it is determined whether the current node has been executed according to 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 starts execution;
[0021] (2) Record the current node execution log;
[0022] (3) Encapsulate the requested service information based on the node data and capability service data;
[0023] (4) Encapsulate the parameter data of the capability service corresponding to the node according to the node data, the input parameter configuration data, 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 execution log and the process data executed by this node;
[0025] (6) Monitor in real time whether there is a manual stop operation during the execution process. If yes, stop the execution; if no, continue the execution;
[0026] (7) If the node exists, configure the callback service, execute the callback service and pass in the configured callback data;
[0027] (8) The execution of this node ends.
[0028] Furthermore, in step (4), the request triggering logic is executed according to the request related data obtained in the operations of steps (1) to (3):
[0029] Before making a request, determine whether there is a delayed execution strategy or a scheduled execution strategy. If there is a delayed execution strategy, start the thread to suspend it and continue execution after the time configured in the delayed execution strategy arrives.
[0030] If there is a timed execution strategy, the thread is started and suspended until the time configured in the timed execution strategy arrives, and the execution is performed the number of times configured in the timed execution strategy after the current process is successfully executed;
[0031] Determine whether there is a failure retry strategy. If so, execute the retry times in this strategy configuration after the execution of this process fails, and the execution can only be performed after the interval between each retry reaches the retry interval in this strategy. If the execution succeeds midway, interrupt the failed retry and determine to continue to execute the subsequent logic;
[0032] Determine whether there is an exception handling strategy. If so, execute the exception handling times configured in this strategy after the exception occurs before continuing to execute subsequent logic;
[0033] When all the above strategies are executed and the node is also executed successfully, the notification strategy is determined and executed, and one or more parallel notifications are performed according to the selected notification method;
[0034] When the execution of this node is completed, the output data of the node execution will be stored in the global variable or cached or output to the subsequent node for standby according to the node's output parameter configuration.
[0035] A scheduling process flow engine configuration method has the following steps:
[0036] 1) Capability service configuration, collecting and scheduling 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 warehouse through the capability entry function;
[0038] 3) Set up failure retry strategy, delayed execution strategy, exception handling strategy, scheduled execution strategy and manual notification strategy;
[0039] 4) Perform template configuration, including configuration of template basic information, configuration of template node data, configuration of template node group data, configuration of node-strategy association, configuration of node-input and output parameter binding, configuration of node group-node association, configuration of node group-strategy association, and configuration of node connection;
[0040] 5) Input parameter parsing configuration;
[0041] 6) Output parameter parsing configuration;
[0042] 7) Scheme configuration. Each scheme has a start node and an end node. Parameter nodes are added according to the specific situation. If parameters are not required, business nodes are added directly. Then the nodes are connected in business order, and the corresponding processing strategy, input parameter and output parameter information are configured in each business node.
[0043] Furthermore, in step 1), including rest services, webservice 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 should clearly describe the HTTP method, IP address, port and address access method of the capability, as well as the input parameters and return values. If there are multiple levels of input parameters and return values, they should all be entered;
[0044] In step 2), when the upstream and downstream capability services are changed, the changed new interface is reported to the platform through the capability reporting function, and the version of the changed capability service is marked to distinguish the original capability service;
[0045] Alternatively, the new capability interface may be entered into the capability service by manual entry.
[0046] Further, in step 3), the failure retry strategy sets the number of retries and the interval of retries executed by the current node, and makes multiple attempts when the capability node service does not exist or restarts or hangs up due to other abnormalities or is temporarily interrupted due to network reasons;
[0047] The delayed execution strategy, when the scheduling flow is executed to the current node, will delay the execution for a certain period of time according to the delay configuration. In the case where the execution result of the previous node is needed at the current node, when the current node is executed, it is ensured that the result data of the execution of the previous node can be executed before the execution of the current node and can be directly used when the current node is executed.
[0048] The exception handling strategy, when a node is executed, some exceptions that do not involve the business logic of this node and do not affect the execution of subsequent nodes will occur. At this time, the exception handling strategy is configured to ignore specific types of exceptions and exceptions containing specific information, and set the number of ignore times;
[0049] The scheduled execution strategy configuration is executed once or multiple times at this time regardless of whether the execution is successful or not;
[0050] The manual notification strategy supports SMS, email, and in-site message notification to the interface person to which the capability service belongs, and when configuring the notification strategy, the recipient of the notification method is configured as one or more, and SMS supports the contact methods of all operators.
[0051] Further, in step 4), the basic information of the template includes template id, template identification, template name, template description, template status, creator, creation time, updater and update time;
[0052] The template node data configuration includes the node id, the template id associated with the node, the type of node, the node identifier, the node name, the capability service id, the x-coordinate information, the y-coordinate information, the node style configuration, the node sequence value, the creator, the creation time, the updater and the 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, 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;
[0054] The association configuration between the node and the policy includes the 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 the node and the 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), the template id to which it belongs, the current node id, the source of parameter data, the parameter source node id, the parameter source node output data key, the default value, whether it is a global variable and the 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, starting node id, ending node id, template id, connection style, starting node port information and ending 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), the output data of the service corresponding to the current capability node is configured, and the output data is configured as global variable data for use by all nodes, or the data is configured as local variables for use by a subsequent node and multiple nodes.
[0061] Furthermore, in step 4), during configuration, one or some nodes in the solution are divided into a node group, and a corresponding processing strategy is configured for the node group, and the processing method is the same as that of the node;
[0062] After configuring the solution, use the debugging function to perform preliminary debugging and verification. This debugging function will detect some required but unfilled fields and necessary connection sequences and prompt you to make modifications. When the debugging and detection are completely correct, save the file.
[0063] When saving, choose Save as Draft, Save Plan, or Publish Directly. If you save as a draft, you can continue editing next time. If you save a plan, it is just a preliminary form of the plan, but it cannot be used temporarily. If you publish it directly, you can use and call it.
[0064] When you just save it as a draft, you don't need to debug it. When you save or publish the plan, you must debug it. After saving the plan, you need to publish it again when you need it later.
[0065] Compared with the prior art, the scheduling process flow engine method and configuration method of the present invention have the following outstanding beneficial effects:
[0066] The present invention can help different services on computing nodes to realize process orchestration, greatly improving labor efficiency and service docking efficiency of different platforms of each node, and thereby enabling the design and preservation of different orchestration schemes, one-time orchestration and long-term use, and can schedule and orchestrate different REST services and WebService services according to specific circumstances, and can support both HTTP and HTTPS at the same time. BRIEF DESCRIPTION OF THE DRAWINGS
[0067] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0068] Attached Figure 1 It is a flow chart of a scheduling process flow engine method;
[0069] Attached Figure 2 The invention is a flowchart of a scheduling process flow engine configuration method. DETAILED DESCRIPTION
[0070] In order to enable those skilled in the art to better understand the solution of the present invention, the present invention is further described in detail below in conjunction with specific implementation methods. Obviously, the described embodiments are only part of the embodiments of the present invention, rather than all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0071] A best embodiment is given below:
[0072] like Figure 1 As shown, a scheduling process flow engine method in this embodiment has the following steps:
[0073] S1, start node: parse the parameter data passed from the outside of the solution and perform preliminary analysis.
[0074] S2. Query the global variable data in the cache, load if there is, and continue if there is no. Store the parameter data in step S1 into the global variable.
[0075] S3, loading 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. Group the policy data of the nodes, the policy data of the nodes, and the association between the nodes and the node groups, and confirm whether the policy data of the node group needs to be applied to the corresponding nodes according to their configuration priorities, and finally determine the policy data configuration of the node itself.
[0077] S5. Record the execution log of the solution;
[0078] S6. Confirm whether the solution has been executed. If it has been executed, it will not be executed again. If it has not been executed, all node data will be sorted in sequence and the data of each node will be processed:
[0079] Determine whether the current node has been executed based on the execution log. If it has been executed, continue to execute the next node. If it has not been executed, start executing the current node:
[0080] (1) This node starts execution;
[0081] (2) Record the current node execution log;
[0082] (3) Encapsulate the service information to be requested based on the node data and capability service data.
[0083] (4) Encapsulate the parameter data of the capability service corresponding to the node based on the node data, the input parameter configuration data, the output parameter configuration data, the global variable data, and the data of other nodes that need to be used.
[0084] Execute the request trigger logic based on the request-related data obtained in the above steps (1)-(3):
[0085] Before the request, determine whether there is a delayed execution strategy and a scheduled execution strategy. If there is a delayed execution strategy, start the thread to suspend it and continue execution after the time configured in the delayed execution strategy arrives.
[0086] If there is a timed execution strategy, the thread is started and suspended until the time configured in the timed execution strategy arrives and then execution begins. After the current process is successfully executed, the execution is performed the number of times configured in the timed execution strategy.
[0087] Determine whether there is a failure retry strategy. If so, the number of retries configured in this strategy will be executed after the execution of this process fails, and the execution can only be performed after the interval between each retry reaches the retry interval in this strategy. If the execution succeeds midway, the failure retry determination will be interrupted and the subsequent logic will continue to execute.
[0088] Determine whether there is an exception handling strategy. If so, execute the exception handling times configured in this strategy after the exception occurs before continuing to execute subsequent logic.
[0089] When the above strategies are all executed and the node is also executed successfully, the notification strategy is determined and executed, and one or more parallel notifications are performed according to the selected notification method.
[0090] When the execution of this node is completed, the output data of the node execution will be stored in the global variable or cached or output to the subsequent node for standby according to the node's output parameter configuration.
[0091] (5) Update the global cache data and record the execution status of the current node execution log and the process data of the execution of this node.
[0092] (6) During the execution process, monitor in real time whether there is a manual stop operation. If yes, stop the execution; if not, continue the execution.
[0093] (7) If the node has a callback service configuration, the callback service is executed and the configured callback data is passed in.
[0094] (8) The execution of this node ends.
[0095] S7. Record the execution log of the solution.
[0096] S8. Execute callback. If there is a service that needs to be called back, call back the service and pass in the configured callback data.
[0097] S9, End node: The plan execution is completed.
[0098] Based on the above scheduling process flow engine method, such as Figure 2 As shown, the configuration method is:
[0099] 1) Capability service configuration, collecting and scheduling various downstream capability services;
[0100] Including rest services, webservice services and local proprietary services. When collecting capability services, they need to be collected into the capability management function in advance. At the same time, the capability services in the capability management must clearly describe the capability's http method, IP address, port and address access method, as well as input parameters and returns. If there are multiple levels of input parameters and return values, they must all be entered.
[0101] The basic information collected about 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 message, openApi, webservice), 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 introduction, capability service interface constraint rules, capability service resource type, capability service sorting number, capability service address source (supports own services, cloud services, intranet services, specific platform services), capability service source identifier, capability service icon information, publisher, publishing time, updater, and update time.
[0102] Collect the input parameters and output parameters of the capability. The input parameters and output parameters need to include the following information: the ID of the parameter itself, the ID of the capability service 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), parameter key, parameter name, parameter data type (supports various data types, such as integer, floating point, character, Boolean, string type, array, object, collection), whether it is required, detailed description of the parameter, and the sorting sequence number of the parameter. The relationship between the parameter and the capability service in the previous step i is n:1.
[0103] The entered capability service, basic capability information and capability parameter data combination is considered a complete capability service.
[0104] 2) Capability entry, collection and reporting: the capability service related data collected in step 1) is entered into the capability warehouse 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 the original capability service. In addition, the new capability interface can be entered into the capability service manually.
[0106] If the capability provider has the means to provide an interface for exposing capabilities to the outside world, in this step, the capability provider's capability exposing interface provided by the capability provider can be actively collected to achieve regular updates or regular collection of the capability provider's capability services.
[0107] If the capability provider has the means to report the capability interface, the capability service data reported by the capability provider can also be passively received through the reporting interface in this step. In capability collection and capability reporting, the existing capabilities will be checked. The capabilities with the same capability address and the same version of the same capability provider will be updated, otherwise they will be added to the capability warehouse. The capability service function can be used to view, modify, and import and export data of capability services.
[0108] 3) Set up failure retry strategy, delayed execution strategy, exception handling strategy, scheduled execution strategy and manual notification strategy;
[0109] Failure retry strategy: You can set the number of retries and the interval between retries for the current node. When the capability node service does not exist or restarts or hangs up due to other abnormalities or is temporarily interrupted due to network reasons, the failure retry strategy can ensure that the node is executed multiple times according to the settings, and each attempt is performed at a certain interval. It can support a specific number of attempts and an unlimited number of attempts. Each attempt supports the interval setting of seconds, minutes, hours, days, weeks, months, and years. Failure retry strategy information includes: retry interval, retry interval time unit (seconds, minutes, hours, days, weeks, months, years), and number of retries.
[0110] Delayed execution strategy: When the scheduling flow is executed to the current node, it can be delayed for a certain period of time according to the delay configuration. If the execution result of the previous node is needed in this node, it can be guaranteed that the result data of the previous node can be executed before the execution of this node and can be directly used when the current node is executed. It supports the setting of seconds, minutes, hours, days, weeks, months, and years. The delayed execution strategy information includes: delay time, delay time unit (seconds, minutes, hours, days, weeks, months, and years can be selected).
[0111] Exception handling strategy: When a node is executed, some exceptions may occur that do not involve the business logic of this node and do not affect the execution of subsequent nodes. At this time, you can configure an exception handling strategy to ignore specific types of exceptions and exceptions containing specific information, and set the number of times to ignore. Exception handling strategy information includes: number of times exceptions are ignored.
[0112] Scheduled execution strategy: supports configuration of specific time execution, and can be configured to execute a specific number of times at this time. Scheduled execution strategy information includes: execution time (including: year, month, day, hour, minute, second configuration), execution number. After configuration, it will start at the "configured execution time" and execute the "configured execution times" times.
[0113] Manual notification strategy: Supports SMS, email, and in-site letter notification to the interface person of the capability service. When configuring the notification strategy, you can configure one or more recipients for the notification method. SMS supports the contact information of all operators. Email notification can support the email information of all manufacturers. Regarding email notification, please note that some email providers will set notifications as spam or harassment emails, so you need to pay attention to the settings. In-site letters support pop-up notifications within the site and active query notifications from the management end.
[0114] Each notification method can be configured with different configuration information to achieve the purpose of notification, including:
[0115] The SMS notification configuration includes the following information: SMS signature (a SMS identifier, represented by [xxx] at the beginning of the SMS), SMS content, SMS receiving mobile phone number (supports single or multiple mobile phone numbers), SMS receiving mobile phone number group (each group contains multiple mobile phone numbers), whether to send immediately, and SMS sending time.
[0116] The email notification configuration includes the following information: recipient (one or more), CC (one or more), subject, email content, whether to send immediately, sending time, attachment information, and signature information.
[0117] The in-site message notification configuration includes the following information: message title, message content, recipient user (one or more), recipient user group (one or more), whether to send immediately, and sending time.
[0118] 4) Perform template configuration to create a template data for a specific scenario. The template data contains a part of common nodes in a process. After creation, it can save the configuration time of the solution in the subsequent configuration. The data in the template configuration can be directly applied. The template content includes the template icon, template name, template description and template node data. The node data can classify and search the capability nodes. The template canvas can create and connect nodes, configure their input parameters, output parameters and associated strategies.
[0119] Template configuration includes configuration of template basic information, configuration of template node data, configuration of template node group data, configuration of node-strategy association, configuration of node-input and output parameter binding, configuration of node group-node association, configuration of node group-strategy association, and node connection configuration;
[0120] The basic information of the template includes template ID, template logo, 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 node (scheme, template), node identifier (the start node and the 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 and 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, current node id, parameter data source (global variable, other node, fixed data), parameter source node id (used when the parameter source is other nodes), parameter source node output data key (used when the parameter source is other nodes), default value (used when the parameter source is fixed data), whether it is a global variable, and global variable target object.
[0125] The association information between node groups and nodes includes: node group id, node id, template id.
[0126] The association information between the node group and the policy 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, start node id, end node id, template id, connection style, start node port information, and end node port information.
[0128] 5) Input parameter parsing configuration;
[0129] Configure the input parameters of 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 value in the global variable. The variable data in the global variable here 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 can support various types of data output. The output data can be configured as global variable data that can be used by all nodes, or as local variables that can be used by a subsequent 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 required, directly add business nodes, and then connect the nodes according to the business order. Configure the corresponding processing strategy and input and output parameter information at each business node.
[0133] When configuring a plan, you can also divide one or some nodes in the plan into a node group, and configure the corresponding processing strategy for the node group. The processing method is the same as that of the node. After configuring the plan, you can use the debugging function to perform preliminary debugging and verification. This debugging function can detect and prompt some required but unfilled fields and necessary connection sequences to facilitate the modification of the plan. It can only be saved when the debugging and detection are completely correct. When saving, you can choose to save as a draft, save the plan, and publish directly. If you save as a draft, you can continue to edit it next time. Saving the plan is only a preliminary formation of the plan, but it cannot be used temporarily. If you publish it directly, you can use and call it. When you just save it as a draft, you don’t need to perform debugging detection. When saving or publishing a plan, you must debug the plan. After saving the plan, you can publish the plan again when you use it later.
[0134] Each node can be dragged to the canvas area through the capability service list, and then the relevant strategies and input and output parameters of the node can be configured. At the same time, the template data that has been configured in the template configuration can be applied to this plan, and the plan editing operation can be continued on this basis, which facilitates the operation and saves the operation time of maintenance personnel.
[0135] The solution configuration includes: solution basic information configuration, solution node data configuration, solution node group data configuration, node and strategy association configuration, node and input and output parameter binding configuration, node group and node association configuration, node group and strategy association configuration, and node connection configuration.
[0136] The basic information of the plan includes plan ID, plan logo, 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, node associated solution id, node type (solution, template), node identifier (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 solution node group data information 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, solution id, policy id, policy configuration identifier, policy configuration name, policy configuration value, policy configuration unit, and priority.
[0140] The node and input and 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, current node id, parameter data source (global variable, other node, fixed data), parameter source node id (used when the parameter source is other nodes), parameter source node output data key (used when the parameter source is other nodes), default value (used when the parameter source is fixed data), whether it is a global variable, and global variable target object.
[0141] The association information between node groups and nodes includes: node group id, node id, and solution id;
[0142] The association information between the node group and the policy includes: node group ID, solution 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, start node id, end node id, template id, connection style, start node port information, and end node port information.
[0144] When configuring a solution, you can also configure the solution and the callback service executed by the node, and configure the data parameters that need to be passed in for the callback.
[0145] The above-mentioned specific implementations are only specific cases of the present invention. The patent protection scope of the present invention includes but is not limited to the above-mentioned specific implementations. Any technical solutions that conform to the above-mentioned specific implementations of the present invention and any appropriate changes or substitutions made by ordinary technicians in the relevant technical field shall fall within the patent protection scope of the present invention.
[0146] Although embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the present invention, and that the scope of the present invention is defined by the appended claims and their equivalents.
Claims
1. A scheduling process flow engine method, characterized in that: The steps are as follows: S1, start node, parse the externally transmitted parameter data for preliminary analysis; S2, query the global variable data in the cache, if there is, load it, if not, continue and store the parameter data in step S1 into the global variable; S3, load data; S4. Determine the policy data configuration of the node itself; S5. Record the execution log of the solution; S6. Confirm whether the solution has been executed. If it has been executed, it will not be executed again. If it has not been executed, all node data will be sorted in sequence and the data of each node will be processed; S7, record the execution log of the solution; S8. Execute callback. If there is a service that needs to be called back, call back the service and pass in the configured callback data. S9, end node, execution ends.
2. A scheduling process flow engine method according to claim 1, characterized in that: In step S3, solution 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 are loaded.
3. A scheduling process flow engine method according to claim 2, characterized in that: 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.
4. A scheduling process flow engine method according to claim 3, characterized in that: In step S6, it is determined whether the current node has been executed according to 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: (1) This node starts execution; (2) Record the current node execution log; (3) Encapsulate the requested service information based on the node data and capability service data; (4) Encapsulate the parameter data of the capability service corresponding to the node according to the node data, the input parameter configuration data, the output parameter configuration data, the global variable data, and the data of other nodes that need to be used; (5) Update the global cache data and record the execution status of the current node execution log and the process data executed by this node; (6) Monitor in real time whether there is a manual stop operation during the execution process. If yes, stop the execution; if no, continue the execution; (7) If the node exists, configure the callback service, execute the callback service and pass in the configured callback data; (8) The execution of this node ends.
5. A scheduling process flow engine method according to claim 4, characterized in that: In step (4), the request triggering logic is executed according to the request related data obtained in the operations of steps (1) to (3): Before making a request, determine whether there is a delayed execution strategy or a scheduled execution strategy. If there is a delayed execution strategy, start the thread to suspend it and continue execution after the time configured in the delayed execution strategy arrives. If there is a timed execution strategy, the thread is started and suspended until the time configured in the timed execution strategy arrives, and the execution is performed the number of times configured in the timed execution strategy after the current process is successfully executed; Determine whether there is a failure retry strategy. If so, execute the retry times in this strategy configuration after the execution of this process fails, and the execution can only be performed after the interval between each retry reaches the retry interval in this strategy. If the execution succeeds midway, interrupt the failed retry and determine to continue to execute the subsequent logic; Determine whether there is an exception handling strategy. If so, execute the exception handling times configured in this strategy after the exception occurs before continuing to execute subsequent logic; When all the above strategies are executed and the node is also executed successfully, the notification strategy is determined and executed, and one or more parallel notifications are performed according to the selected notification method; When the execution of this node is completed, the output data of the node execution will be stored in the global variable or cached or output to the subsequent node for standby according to the node's output parameter configuration.
6. A scheduling process flow engine configuration method, characterized in that: The steps are as follows: 1) Capability service configuration, collecting and scheduling various downstream capability services; 2) Capability entry, collection and reporting: the capability service related data collected in step 1) is entered into the capability warehouse through the capability entry function; 3) Set up failure retry strategy, delayed execution strategy, exception handling strategy, scheduled execution strategy and manual notification strategy; 4) Perform template configuration, including configuration of template basic information, configuration of template node data, configuration of template node group data, configuration of node-strategy association, configuration of node-input and output parameter binding, configuration of node group-node association, configuration of node group-strategy association, and configuration of node connection; 5) Input parameter parsing configuration; 6) Output parameter parsing configuration; 7) Scheme configuration. Each scheme has a start node and an end node. Parameter nodes are added according to the specific situation. If parameters are not required, business nodes are added directly. Then the nodes are connected in business order, and the corresponding processing strategy, input parameter and output parameter information are configured in each business node.
7. A scheduling process flow engine configuration method according to claim 6, characterized in that: In step 1), including rest services, webservice services and local self-owned services, when collecting capability services, you need to collect the collected capability services into the capability management function in advance. At the same time, the capability services in the capability management should clearly describe the HTTP method, IP address, port and address access method of the capability, as well as the input parameters and return values. If there are multiple levels of input parameters and return values, they should all be entered; In step 2), when the upstream and downstream capability services are changed, the changed new interface is reported to the platform through the capability reporting function, and the version of the changed capability service is marked to distinguish the original capability service; Alternatively, the new capability interface may be entered into the capability service by manual entry.
8. A scheduling process flow engine configuration method according to claim 7, characterized in that: In step 3), the failure retry strategy sets the number of retries and the interval between retries performed by the current node. When the capability node service does not exist or is restarted or hung up due to other abnormalities or is temporarily interrupted due to network reasons, multiple attempts are made; The delayed execution strategy, when the scheduling flow is executed to the current node, will delay the execution for a certain period of time according to the delay configuration. In the case where the execution result of the previous node is needed at the current node, when the current node is executed, it is ensured that the result data of the execution of the previous node can be executed before the execution of the current node and can be directly used when the current node is executed. The exception handling strategy, when a node is executed, some exceptions that do not involve the business logic of this node and do not affect the execution of subsequent nodes will occur. At this time, the exception handling strategy is configured to ignore specific types of exceptions and exceptions containing specific information, and set the number of ignore times; The scheduled execution strategy configuration is executed once or multiple times at this time regardless of whether the execution is successful or not; The manual notification strategy supports SMS, email, and in-site message notification to the interface person to which the capability service belongs, and when configuring the notification strategy, the recipient of the notification method is configured as one or more, and SMS supports the contact methods of all operators.
9. A scheduling process flow engine configuration method according to claim 8, characterized in that: In step 4), the basic information of the template includes template ID, template identification, template name, template description, template status, creator, creation time, updater and update time; The template node data configuration includes the node id, the template id associated with the node, the type of node, the node identifier, the node name, the capability service id, the x-coordinate information, the y-coordinate information, the node style configuration, the node sequence value, the creator, the creation time, the updater and the 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 the node id, template id, policy id, policy configuration identifier, policy configuration name, policy configuration value, policy configuration unit and priority; The binding configuration of the node and the 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), the template id to which it belongs, the current node id, the source of parameter data, the parameter source node id, the parameter source node output data key, the default value, whether it is a global variable and the 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, starting node id, ending node id, template id, connection style, starting node port information and ending 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), the output data of the service corresponding to the current capability node is configured, and the output data is configured as global variable data for use by all nodes, or the data is configured as local variables for use by a subsequent node and multiple nodes.
10. A scheduling process flow engine configuration method according to claim 9, characterized in that: In step 4), during configuration, one or some nodes in the solution are divided into a node group, and a corresponding processing strategy is configured for the node group, and the processing method is the same as that of the node; After configuring the solution, use the debugging function to perform preliminary debugging and verification. This debugging function will detect some required but unfilled fields and necessary connection sequences and prompt you to make modifications. When the debugging and detection are completely correct, save the file. When saving, choose Save as Draft, Save Plan, or Publish Directly. If you save as a draft, you can continue editing next time. If you save a plan, it is just a preliminary form of the plan, but it cannot be used temporarily. If you publish it directly, you can use and call it. When you just save it as a draft, you don't need to debug it. When you save or publish the plan, you must debug it. After saving the plan, you need to publish it again when you need it later.
Citation Information
Patent Citations
Service-oriented customizable workflow engine algorithm
CN110599119A
Service visualization arrangement system and method under micro-service architecture
CN111142867A
Big data platform scheduling management method and system
CN118034886A
Data governance task allocation and scheduling method and device
CN118394461A
System and method to support configurable policies of services in directory-based networks
EP1026867A2
Cited By
Intelligent printing system and method based on template engine
CN120723187A