CN119556972A - A workflow processing method, electronic device and storage medium - Google Patents
A workflow processing method, electronic device and storage medium Download PDFInfo
- Publication number
- CN119556972A CN119556972A CN202411603909.6A CN202411603909A CN119556972A CN 119556972 A CN119556972 A CN 119556972A CN 202411603909 A CN202411603909 A CN 202411603909A CN 119556972 A CN119556972 A CN 119556972A
- Authority
- CN
- China
- Prior art keywords
- node
- workflow
- version number
- target
- version
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The invention discloses a workflow processing method, electronic equipment and a storage medium, wherein the method comprises the steps of determining a workflow version number of a workflow through a workflow arranging function when a business main application initiates the workflow; the method comprises the steps of determining at least two target nodes corresponding to a workflow based on flow version numbers, determining node version numbers corresponding to each target node through a node interface management function, calling target micro-services based on target interfaces corresponding to the node version numbers to execute node tasks of the target nodes based on the target micro-services, obtaining task execution results after the node tasks of each target node are executed, and determining processing results of the workflow based on the task execution results. In the embodiment of the invention, the process arrangement and the node task execution are decoupled, flexible change of the process version and the node version is realized, the node function of the new version is rapidly deployed, the iteration of the workflow process version is effectively managed, and the business scene with frequent workflow change is dealt with.
Description
Technical Field
The present invention relates to the field of software technologies, and in particular, to a workflow processing method, an electronic device, and a storage medium.
Background
In many office systems developed based on web servers, which involve procedural business processes, complex or variable procedures are typically developed using workflow frameworks. A workflow framework is a software development framework for a web server that provides and implements the most basic software architecture and architecture, with software developers typically implementing more complex business operations and business logic depending on the particular framework. When the workflow framework is used for development, business rules among the workflow and operation steps can be abstracted, and the functions of actual requirements can be realized by codes. The requirement of the flow business processing can be realized without using a workflow framework, but codes lack organization, and the difficulty of development, maintenance and subsequent function expansion is great.
Different workflow frameworks may differ in terms of abstractions of workflow and business rules, but generally contain both concepts of flow and nodes. When a user initiates a process in the system, the system creates a process instance of the type according to a workflow process defined in advance, the workflow process represents a definition of the process, and the process instance is data corresponding to an actual process. After a process is initiated, logic of a start node of the process is executed, and the next node is entered after the execution is completed until an end node is reached or the process ends due to other reasons. Wherein different nodes may implement different functions, which are typically part of the flow.
In practical use of a workflow, the same workflow needs to be adjusted according to business requirements, and at this time, the flow is often executed by a flow instance, and directly modifying the existing flow may affect the execution of the existing flow instance, so version management is required. In the workflow framework of the current mainstream, the flow and the nodes are in the same application, the version of the whole flow is defined in the form of bpmn files, and any modification is regarded as the modification of the version of the flow, so that the version number needs to be modified. The existing workflow framework carries out version management on the flow and the nodes as a whole, so that the workflow framework is not flexible.
Disclosure of Invention
The invention provides a workflow processing method, electronic equipment and a storage medium, which are used for realizing flexible change of a flow version and a node version without mutual interference, rapidly deploying new version node functions, effectively managing workflow version iteration and coping with business scenes with frequent workflow change.
According to an aspect of the present invention, there is provided a workflow processing method, including:
When a business main application initiates a workflow, determining a flow version number of the workflow through a flow arrangement function;
determining at least two target nodes corresponding to the workflow based on the workflow version number;
for each target node, determining a node version number corresponding to the target node through a node interface management function, and calling a target micro-service based on a target interface corresponding to the node version number so as to execute a node task corresponding to the target node based on the target micro-service;
and after the task execution of the node corresponding to each target node is completed, obtaining a task execution result, and determining a processing result of the workflow based on the task execution result.
In one possible implementation manner, the determining the flow version number of the workflow through the flow arrangement function includes determining a candidate flow version number of the latest version corresponding to the workflow through the flow arrangement function, and determining the candidate flow version number as the flow version number of the workflow.
In one possible implementation manner, the determining at least two target nodes corresponding to the workflow based on the flow version number includes determining flow version information corresponding to the flow version number based on the flow version number, and determining the target nodes based on the flow version information, wherein the flow information includes the target nodes corresponding to the workflow and an execution sequence of the target nodes.
In one possible implementation manner, the determining, by the node interface management function, the node version number corresponding to the target node includes determining, by the node interface management function, the latest candidate node version number corresponding to the target node as the node version number corresponding to the target node.
In one possible implementation manner, the method further comprises the steps of determining an operation type corresponding to the modification operation when the modification operation of the workflow is received, modifying a flow version number corresponding to the workflow or a node version number corresponding to the target node according to the operation type to obtain a flow revision version number or a node revision version number, and processing the workflow based on the flow revision version number or the node revision version number when the workflow is called next time.
In one possible implementation manner, if the modification operation type is node arrangement change, the method comprises modifying arrangement of a target node in the workflow based on the modification operation and generating a flow revision version number corresponding to the workflow, wherein the node arrangement change comprises at least one of newly adding an existing node, deleting the node and adjusting an execution sequence of the node.
In one possible implementation manner, if the modification operation type is node function change, the method further includes determining a target node of a function to be changed in the workflow as a node to be modified according to the modification operation;
And generating a node revision version number, and registering the revision interface through the node interface management function, wherein the node revision version number is used for calling the revision interface.
In one possible implementation manner, after the flow revision version number or the node revision version number is obtained, the method further comprises determining that the state of the flow version number and the node revision version number corresponding to the workflow is not an newly added instance if the flow revision version number or the node revision version number is determined to be effective, and determining that the state of the flow version number and the node revision version number is deactivated when execution of the last instance in the workflow corresponding to the flow version number and the node revision version number is completed.
According to another aspect of the present invention, there is provided a workflow processing apparatus including:
the flow version determining module is used for determining the flow version number of the workflow through a flow arranging function when the business master application initiates the workflow;
a target node determining module, configured to determine at least two target nodes corresponding to the workflow based on the flow version number;
The node task execution module is used for determining a node version number corresponding to each target node through a node interface management function, and calling a target micro-service based on a target interface corresponding to the node version number so as to execute a node task corresponding to the target node based on the target micro-service;
And the processing result determining module is used for obtaining a task execution result after the task execution of the node corresponding to each target node is completed, and determining the processing result of the workflow based on the task execution result.
According to another aspect of the present invention, there is provided an electronic apparatus including:
At least one processor;
and a memory communicatively coupled to the at least one processor, wherein,
The memory stores a computer program executable by the at least one processor to enable the at least one processor to perform the workflow processing method according to any one of the embodiments of the invention.
According to another aspect of the present invention, there is provided a computer readable storage medium storing computer instructions for causing a processor to execute a method of implementing a workflow according to any embodiment of the present invention.
The technical scheme of the embodiment of the invention comprises the steps of determining a flow version number of a workflow through a flow arrangement function when a business main application initiates the workflow, determining at least two target nodes corresponding to the workflow based on the flow version number, determining a node version number corresponding to each target node through a node interface management function, calling a target micro-service based on a target interface corresponding to the node version number to execute node tasks of the target nodes based on the target micro-service, obtaining task execution results after the node tasks of each target node are executed, and determining a processing result of the workflow based on the task execution results. In the embodiment of the invention, the problem that the workflow is inflexible to modify due to the fact that the workflow and the nodes are managed as a whole in the prior art and the workflow arrangement change and the node function change cannot be distinguished is solved.
It should be understood that the description in this section is not intended to identify key or critical features of the embodiments of the invention or to delineate the scope of the invention. Other features of the present invention will become apparent from the description that follows.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present invention, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flowchart of a workflow processing method according to a first embodiment of the present invention;
FIG. 2 is a block diagram of a workflow processing system according to an embodiment of the present invention;
FIG. 3 is a flowchart of a method for processing a workflow according to a second embodiment of the present invention;
FIG. 4 is a diagram of a full lifecycle management of workflow versions from creation to final deactivation provided by a second embodiment of the present invention;
fig. 5 is a schematic structural diagram of a processing device for workflow according to a third embodiment of the present invention;
fig. 6 is a schematic structural diagram of an electronic device according to a fourth embodiment of the present invention.
Detailed Description
In order that those skilled in the art will better understand the present invention, a technical solution in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in which it is apparent that the described embodiments are only some embodiments of the present invention, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the present invention without making any inventive effort, shall fall within the scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and the claims of the present invention and the above figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the invention described herein may be implemented in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
In order to facilitate understanding of the technical solution of the embodiments of the present invention, the following will refer to some terms related to the embodiments of the present invention
A brief description will be made.
Workflow refers to a business process that can be fully automatically executed, and documents, information or tasks are transferred and executed between different executors according to a series of process rules. A workflow framework is a package of workflow logic that we use to develop applications for someone, departments, and links to work cooperatively.
Micro-service, namely splitting a single application program into a plurality of relatively independent services, wherein each service is provided with an independent process, and the services interact through a lightweight communication mechanism. These services may be deployed and maintained independently.
The process is divided into a plurality of processing links with execution sequence among the links. For example, a simple process of applying for a vehicle can be divided into 4 links of applying for a vehicle, examining and approving a department, dispatching a vehicle and feeding back the vehicle. The workflow process in actual use can have more complex situations, and a plurality of links form a process which can be represented by a directed graph.
Nodes each link in the workflow process may be considered a node.
Flow example one actual execution of a workflow flow.
Example 1
Fig. 1 is a flowchart of a workflow processing method according to a first embodiment of the present invention, where the workflow is organized, the method may be performed by a workflow processing device, and the device may be implemented in hardware and/or software, and the device may be configured in a computer device. As shown in fig. 1, the method comprises the steps of:
S110, when the business master application initiates the workflow, determining the flow version number of the workflow through a flow arrangement function.
In the embodiment of the present invention, a service master application may be understood as an application for executing a user service, and the service master application may be a client. Fig. 2 is a block diagram of a workflow processing system according to a first embodiment of the present invention. The process scheduling function and the node interface management function may be located in a service host application, where functions executed by node tasks corresponding to the workflow are deployed in a micro-service manner, for example, in a micro-service manner, and node tasks of each node in the workflow are executed by the micro-service of the server.
A workflow comprises a plurality of nodes, and the execution sequence of node tasks corresponding to the nodes is determined when the workflow is arranged. The workflow has a flow version number and each node has a node version number.
In the embodiment of the invention, determining the flow version number of the workflow through the flow arrangement function can comprise determining the candidate flow version number of the latest version corresponding to the workflow through the flow arrangement function, and determining the candidate flow version number as the flow version number of the workflow.
It should be noted that one workflow may correspond to a plurality of candidate workflow version numbers, and the execution of the workflow may be different based on different candidate workflow version numbers. For example, when the workflow is "vehicle application", the corresponding candidate workflow version 1 includes 3 links of application, department approval and vehicle dispatch, and the candidate workflow version 2 includes 4 links of application, department approval, vehicle dispatch and vehicle feedback.
Therefore, when a workflow is initiated in the business master application, a plurality of candidate workflow version numbers corresponding to the workflow can be determined through the workflow layout function. In order to better adapt to the business requirement corresponding to the workflow, the candidate workflow version corresponding to which version number is the first version can be judged according to the candidate workflow version number. If so, the latest candidate flow version number can be used as the flow version number of the workflow, and the workflow is executed according to the candidate flow version corresponding to the flow version number in the actual execution process.
S120, determining at least two target nodes corresponding to the workflow based on the workflow version number.
In the embodiment of the invention, at least two target nodes corresponding to the workflow are determined based on the flow version number, wherein the method comprises the steps of determining flow version information corresponding to the flow version number based on the flow version number and determining the target nodes based on the flow version information.
The flow information comprises a target node corresponding to the workflow and an execution sequence of the target node.
It can be appreciated that, in general, a workflow includes a plurality of links, each of which is a target node, and after determining a flow version number, corresponding flow version information can be found according to the flow version number. The flow version information is used for describing the flow version corresponding to the flow version number, and specifically can describe which target nodes corresponding to the flow version number are provided and the execution sequence among the target nodes. For example, the target node includes node a, node B, and node C, and the execution order is node a- > node B- > node C. Thus, at least two target nodes corresponding to the workflow may be determined based on the workflow version number.
S130, determining a node version number corresponding to each target node through a node interface management function, and calling a target micro-service based on a target interface corresponding to the node version number so as to execute a node task corresponding to the target node based on the target micro-service.
The node task interface management function is used for managing a mapping relation between a target node and a node task interface, and the node task interface can be a micro-service interface for executing the node task of the target node.
In some possible application scenarios, the node a may correspond to multiple candidate node version numbers, when the candidate node version number of the node a is v1, the corresponding node task interface is \a\v1, and when the candidate node version number of the node a is v2, the corresponding node task interface is \a\v2, and task interfaces of different versions may be deployed into the micro-service at the same time.
Accordingly, when the workflow flows to the target node, as there may be a plurality of candidate node version numbers corresponding to the target node, task interfaces corresponding to different candidate node version numbers are also different, and specific tasks that can be executed by different task interfaces are also different. Therefore, the node version number actually required by the target node can be determined through the node interface management function, and the corresponding target interface is determined based on the node version number.
In this embodiment, determining, by the node interface management function, the node version number corresponding to the target node may include determining, by the node interface management function, the latest candidate node version number corresponding to the target node as the node version number corresponding to the target node. Therefore, when the service is executed, the target interface is used through the latest node version number, the correct execution of the service is ensured, and the latest service scene is met. And S140, obtaining a task execution result after the task execution of the node corresponding to each target node is completed, and determining a processing result of the workflow based on the task execution result.
Specifically, when a business master application initiates a workflow, the flow of the latest version number is obtained according to the flow arrangement, the flow flows through the nodes in each flow in sequence, the nodes are mapped into the interfaces of the latest version of the corresponding nodes through the node interface management function when the flow flows through the corresponding nodes, the corresponding interfaces are called through http requests, the node tasks are executed, the task execution results are received, and finally the processing results of the workflow are obtained.
The technical scheme of the embodiment of the invention comprises the steps of determining a flow version number of a workflow through a flow arrangement function when a business main application initiates the workflow, determining at least two target nodes corresponding to the workflow based on the flow version number, determining a node version number corresponding to each target node through a node interface management function, calling a target micro-service based on a target interface corresponding to the node version number to execute node tasks of the target nodes based on the target micro-service, obtaining task execution results after the node tasks of each target node are executed, and determining a processing result of the workflow based on the task execution results. In the embodiment of the invention, the problem that the workflow is inflexible to modify due to the fact that the workflow and the nodes are managed as a whole in the prior art and the workflow arrangement change and the node function change cannot be distinguished is solved.
Example two
Fig. 3 is a flowchart of a method for processing a workflow according to a second embodiment of the present invention, and on the basis of the foregoing embodiment, the present embodiment further embodies a case of modifying the workflow. The specific implementation manner can be seen in the technical scheme of the embodiment. Wherein, the technical terms identical to or corresponding to the above embodiments are not repeated herein. As shown in fig. 3, the method includes:
s210, when a modification operation of the workflow is received, determining an operation type corresponding to the modification operation.
In this embodiment, the service in the service host application may change at any time, so that the workflow may be modified to meet the change of the service, and in particular, the workflow may be modified by a process configuration function, for example, modifying the execution sequence of each node in the workflow, or modifying the function of a certain node. At this point, the modification operation may be analyzed to determine the type of operation.
S220, modifying the flow version number corresponding to the workflow or the node version number corresponding to the target node according to the operation type to obtain the flow revision version number or the node revision version number.
The flow revision version number refers to a new flow version number obtained after the arrangement of the nodes in the workflow is changed.
In some embodiments, modifications to the workflow may be categorized into two categories, one category being to change only the arrangement of nodes in the flow without changing the functionality of the nodes, such changes including adjusting the order of execution of the nodes, adding or deleting existing nodes in the flow, and the like. For example, the original flow is "node a- > node B- > node C", and may be adjusted to "node a- > node C- > node B", or node B is deleted, and a new node D is added.
Another type is to change the function of a node, or to add a node that has not been previously available, such changes involving a change in the logic or function performed by the node task, e.g., changing the function of node a from "data entry" to "data verification", or adding a node E for "data backup".
In one implementation, if the modification operation type is node arrangement change, the arrangement of the target node in the workflow may be modified based on the modification operation, and a flow revision number corresponding to the workflow may be generated.
The node arrangement change comprises at least one of adding an existing node, deleting the node and adjusting the node execution sequence.
Specifically, node arrangement change refers to adjusting the execution sequence, number or relation of nodes in a flow without changing the functions of the nodes. Such changes typically do not affect the micro-services performed by the node tasks, but only involve modification of the programming functions in the host application. The modified flow orchestration creates a new version of the flow and increments the flow version number, i.e., the flow revision version number.
In another implementation manner, if the modification operation type is node function change, a target node of a function to be changed in a workflow can be determined as a node to be modified according to the modification operation, a target interface corresponding to the node to be modified is modified to be a revision interface, micro services corresponding to the revision interface are deployed, a node revision version number is generated, and the revision interface is registered through a node interface management function.
The node revision version number is used for calling the revision interface.
Specifically, a node function change refers to changing the function of a node or adding a node that has not been previously available. Such changes require modifying the node's interface code to execute the service and redeploying the micro-service. Meanwhile, a new version node interface needs to be registered in the node interface management function of the main application so as to ensure that the new flow instance can correctly execute the corresponding node task.
In one embodiment, changing a node function, or adding a node that was not previously available, requires modifying the node's interface code to execute the service and redeploying the micro-service. When a node which is not available before is newly added, a node interface is needed to be newly added, and an initial value of the node version number is given. When changing the existing node function, if the node is a node which is never validated, the interface of the existing node version is directly modified, otherwise, a new version of node interface is needed to be newly added, and a new node version number is given.
Through the node interface management function, the system can flexibly process interfaces of different versions, support the registration of a new interface and the update of an old interface, and provide convenience for the iteration and the upgrading of the service.
According to the technical scheme, through version management, flexible change of workflow process versions and node versions can be achieved, and the workflow process versions and the node versions are not interfered with each other. The method is beneficial to rapidly deploying new version node functions, effectively managing iteration of workflow process versions and coping with business scenes with frequent workflow changes.
S230, when the workflow is called next time, the workflow is processed based on the flow revision version number or the node revision version number.
Specifically, the next time the workflow is used, execution may be performed in accordance with the modified version.
The embodiment of the invention further comprises the steps of determining that the state of the flow version number and the node version number corresponding to the workflow is not a newly added instance if the flow revision version number or the node revision version number is determined to be effective after the flow revision version number or the node revision version number is obtained, and determining that the state of the flow version number and the node version number is deactivated when the execution of the last instance in the workflow corresponding to the flow version number and the node version number is completed.
As shown in fig. 4, a full life cycle management schematic of workflow versions from creation to final deactivation is provided for the second embodiment of the present invention. A workflow version contains four flow states in the system, inactive, active, no more instances to add, and inactive throughout the life cycle. By managing these states, a reasonable transition of flow versions and efficient utilization of resources can be ensured.
First, a workflow manager creates a workflow without version numbers, and at this time, the workflow is in an inactive state, and the layout of the workflow can be modified at will. The deployment of each node in the flow is given an initial version number and deployed in the micro-service, and the nodes can be modified and redeployed at will because the nodes cannot be executed before the flow takes effect.
When the flow manager validates the corresponding flow, the system generates a latest version number for the flow and validates it. At this time, each node version number is an initial version number.
The effective flow may be modified according to the service requirement, if the modification does not involve the modification of the flow arrangement, only when the node function is modified, the flow version is not changed, a new version interface of a corresponding node is newly added in the micro service and the micro service is redeployed, then the new version node interface is registered in the master application node interface management function, and when the new flow instance is executed to the corresponding node, the latest node version interface executing node task is acquired;
If only the flow layout is modified, such as adding existing nodes to the flow, deleting nodes, or adjusting the order of nodes, an updated version is created and validated with the modified flow. The new version of the process takes effect to enable the old version of the process to enter a process state in which the instance is not newly added, and in the state, when a user initiates the process to create the process instance, the latest version of the process is automatically used, and the old version of the process is still circulated according to the original process. Neither modifying node functionality nor modifying flow orchestration affects the executing flow instance, only the new flow instance.
Finally, when the last instance of the old version flow is finished, the system changes the state of the old version flow from the instance which is not newly added to the old version flow to be deactivated. The above procedure constitutes a full lifecycle of workflow versions in the system.
According to the technical scheme, the workflow process arranging function is deployed on the main application, the task executing functions of all nodes are deployed in a micro-service mode, and when the process in the main application is carried out on the corresponding node, the micro-service interface is called according to a certain rule to execute the task of the corresponding node. When the node arrangement of the workflow process is changed, only the corresponding process and the process version number in the main application are modified. When the node function is changed, only part of micro service application is required to be deployed again, and the corresponding node version is registered in the main application, so that the change of the node task version can be realized under the condition that the main application and the existing flow instance are not influenced. The method solves the problem that in the prior art, the process and the node are used as a whole for version management, and the process arrangement change and the node function change cannot be distinguished, so that the modification of the workflow is inflexible, the flexible change of the process version and the node version is realized, the node function of the new version is rapidly deployed, the iteration of the workflow version is effectively managed, and the business scene with frequent workflow change is dealt with.
By managing the life cycle of the flow version, including four states of non-validation, no more instances to be added and disabled, the problem that the execution of the existing flow instance may be affected by directly modifying the existing flow in the actual use of the workflow is avoided.
Example III
Fig. 5 is a schematic structural diagram of a processing apparatus according to a third embodiment of the present invention. As shown in fig. 5, the apparatus includes:
A flow version determining module 310, configured to determine a flow version number of the workflow through a flow arrangement function when the business host application initiates the workflow;
a target node determining module 320, configured to determine at least two target nodes corresponding to the workflow based on the flow version number;
The node task execution module 330 is configured to determine, for each target node, a node version number corresponding to the target node through a node interface management function, and call a target micro-service based on a target interface corresponding to the node version number, so as to execute a node task corresponding to the target node based on the target micro-service;
the processing result determining module 340 is configured to obtain a task execution result after the task execution of the node corresponding to each target node is completed, and determine a processing result of the workflow based on the task execution result.
The technical scheme of the embodiment of the invention comprises the steps of determining a flow version number of a workflow through a flow arrangement function when a business main application initiates the workflow, determining at least two target nodes corresponding to the workflow based on the flow version number, determining a node version number corresponding to each target node through a node interface management function, calling a target micro-service based on a target interface corresponding to the node version number to execute node tasks of the target nodes based on the target micro-service, obtaining task execution results after the node tasks of each target node are executed, and determining a processing result of the workflow based on the task execution results. In the embodiment of the invention, the problem that the workflow is inflexible to modify due to the fact that the workflow and the nodes are managed as a whole in the prior art and the workflow arrangement change and the node function change cannot be distinguished is solved.
Based on the above technical solution, the process version determining module 310 includes:
and the flow version determining unit is used for determining a candidate flow version number of the latest version corresponding to the workflow through a flow arrangement function and determining the candidate flow version number as the flow version number of the workflow.
Based on the above technical solution, the target node determining module 320 includes:
the target node determining unit is used for determining flow version information corresponding to the flow version number based on the flow version number and determining a target node based on the flow version information;
the flow information comprises a target node corresponding to the workflow and an execution sequence of the target node.
Based on the above technical solution, the node task execution module 330 includes:
and the node version number determining unit is used for determining the latest candidate node version number corresponding to the target node as the node version number corresponding to the target node through the node interface management function.
On the basis of the technical scheme, the processing device of the workflow also comprises a flow modification module, and the flow modification module comprises:
An operation type determining unit, configured to determine an operation type corresponding to a modification operation when the modification operation on the workflow is received;
the version modification unit is used for modifying a flow version number corresponding to the workflow or a node version number corresponding to the target node according to the operation type to obtain a flow revision version number or a node revision version number;
And the workflow processing unit is used for processing the workflow based on the flow revision version number or the node revision version number when the workflow is called next time.
Based on the above technical solution, the version modification unit is specifically configured to:
If the type of the modifying operation is node arrangement change, modifying arrangement of a target node in the workflow based on the modifying operation, and generating a flow revision version number corresponding to the workflow;
the node arrangement change comprises at least one of adding an existing node, deleting the node and adjusting the node execution sequence.
Based on the above technical solution, the version modification unit is specifically further configured to:
If the modification operation type is node function change, determining a target node of a function to be changed in the workflow as a node to be modified according to the modification operation;
Modifying a target interface corresponding to the node to be modified into a revised interface, and deploying micro-services corresponding to the revised interface;
And generating a node revision version number, and registering the revision interface through a node interface management function, wherein the node revision version number is used for calling the revision interface.
On the basis of the technical scheme, the processing device of the workflow further comprises a version state determining module for:
After the flow revision version number or the node revision version number is obtained, if the flow revision version number or the node revision version number is determined to be effective, determining that the state of the flow version number and the node version number corresponding to the workflow is no more newly added instance;
And when the last instance in the workflow corresponding to the flow version number and the node version number is executed, determining the states of the flow version number and the node version number as deactivated.
The workflow processing device provided by the embodiment of the invention can execute the workflow processing method provided by any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the execution method.
Example IV
Fig. 6 is a schematic structural diagram of an electronic device according to a fourth embodiment of the present invention. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. Electronic equipment may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the inventions described and/or claimed herein.
As shown in fig. 6, the electronic device 10 includes at least one processor 11, and a memory, such as a Read Only Memory (ROM) 12, a Random Access Memory (RAM) 13, etc., communicatively connected to the at least one processor 11, in which the memory stores a computer program executable by the at least one processor, and the processor 11 may perform various appropriate actions and processes according to the computer program stored in the Read Only Memory (ROM) 12 or the computer program loaded from the storage unit 18 into the Random Access Memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 may also be stored. The processor 11, the ROM 12 and the RAM 13 are connected to each other via a bus 14. An input/output (I/O) interface 15 is also connected to bus 14.
Various components in the electronic device 10 are connected to the I/O interface 15, including an input unit 16, such as a keyboard, mouse, etc., an output unit 17, such as various types of displays, speakers, etc., a storage unit 18, such as a magnetic disk, optical disk, etc., and a communication unit 19, such as a network card, modem, wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunication networks.
The processor 11 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various processors running machine learning model algorithms, digital Signal Processors (DSPs), and any suitable processor, controller, microcontroller, etc. The processor 11 performs the respective methods and processes described above, for example, the processing method of the workflow.
In some embodiments, the workflow processing method may be implemented as a computer program tangibly embodied on a computer readable storage medium, such as the storage unit 18. In some embodiments, part or all of the computer program may be loaded and/or installed onto the electronic device 10 via the ROM 12 and/or the communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the processing method of the workflow described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to perform the workflow processing method in any other suitable way (e.g., by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuit systems, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), systems On Chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include being implemented in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be a special or general purpose programmable processor, operable to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
A computer program for carrying out methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the computer programs, when executed by the processor, cause the functions/acts specified in the flowchart and/or block diagram block or blocks to be implemented. The computer program may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of the present invention, a computer-readable storage medium may be a tangible medium that can contain, or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. The computer readable storage medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Alternatively, the computer readable storage medium may be a machine readable signal medium. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on an electronic device having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the electronic device. Other kinds of devices may also be used to provide for interaction with a user, for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback), and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such background, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a Local Area Network (LAN), a Wide Area Network (WAN), a blockchain network, and the Internet.
The computing system may include clients and servers. The client and server are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, also called a cloud computing server or a cloud host, and is a host product in a cloud computing service system, so that the defects of high management difficulty and weak service expansibility in the traditional physical hosts and VPS service are overcome.
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps described in the present invention may be performed in parallel, sequentially, or in a different order, so long as the desired results of the technical solution of the present invention are achieved, and the present invention is not limited herein.
The above embodiments do not limit the scope of the present invention. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives are possible, depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the scope of the present invention.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202411603909.6A CN119556972A (en) | 2024-11-11 | 2024-11-11 | A workflow processing method, electronic device and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202411603909.6A CN119556972A (en) | 2024-11-11 | 2024-11-11 | A workflow processing method, electronic device and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN119556972A true CN119556972A (en) | 2025-03-04 |
Family
ID=94767464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202411603909.6A Pending CN119556972A (en) | 2024-11-11 | 2024-11-11 | A workflow processing method, electronic device and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN119556972A (en) |
-
2024
- 2024-11-11 CN CN202411603909.6A patent/CN119556972A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11487536B2 (en) | System for automating user-defined actions for applications executed using virtual machines in a guest system | |
US10810008B2 (en) | Smart tool for enterprise-wide version control of codes during software integration and deployment | |
US9417985B2 (en) | Distributed analysis and attribution of source code | |
US11947996B2 (en) | Execution of services concurrently | |
US20200034196A1 (en) | Optimizing simultaneous startup or modification of inter-dependent machines with specified priorities | |
CN111459504A (en) | Intelligent contract processing method, device, equipment and storage medium | |
CN114371939A (en) | Task processing method, device, electronic device, storage medium and program product | |
CN114697398B (en) | Data processing method, device, electronic equipment, storage medium and product | |
Sabirov et al. | Parallel processing of SQL queries using MPI. NET | |
CN115544044A (en) | Data consistency keeping method, device, equipment and storage medium | |
CN115658248A (en) | Task scheduling method and device, electronic equipment and storage medium | |
CN112181403B (en) | Development operation and maintenance integrated implementation method, device, equipment and readable storage medium | |
CN114066295A (en) | Workflow business arrangement method and device, electronic equipment and readable storage medium | |
CN119556972A (en) | A workflow processing method, electronic device and storage medium | |
CN113254200B (en) | Resource Orchestration Method and Agent | |
CN115640958A (en) | Task scheduling method and device, readable storage medium and electronic equipment | |
CN114911590A (en) | Task scheduling method and device, computer equipment and readable storage medium | |
US20080056228A1 (en) | Application, method and process for managing part exchangeability across functional boundaries | |
CN115222041B (en) | Graph generation method and device for model training, electronic equipment and storage medium | |
CN117193818B (en) | A method, device, equipment and medium for updating a business system | |
CN112418796A (en) | Sub-process node activation method and device, electronic equipment and storage medium | |
CN110990035A (en) | Chain type software upgrading method based on Git | |
CN113778476B (en) | Method, device, apparatus and computer-readable medium for updating mobile application version | |
US20240311724A1 (en) | Data-based workflow generation device and method thereof | |
CN117931176A (en) | Business application generation method, device, platform and medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |