CN117472553A - Workflow processing method, device, processing equipment and readable storage medium - Google Patents

Workflow processing method, device, processing equipment and readable storage medium Download PDF

Info

Publication number
CN117472553A
CN117472553A CN202311827916.XA CN202311827916A CN117472553A CN 117472553 A CN117472553 A CN 117472553A CN 202311827916 A CN202311827916 A CN 202311827916A CN 117472553 A CN117472553 A CN 117472553A
Authority
CN
China
Prior art keywords
workflow
node
target
operator
description information
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.)
Granted
Application number
CN202311827916.XA
Other languages
Chinese (zh)
Other versions
CN117472553B (en
Inventor
马成龙
谭跃辉
高阳
李维亮
马池志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Suzhou Software Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202311827916.XA priority Critical patent/CN117472553B/en
Priority claimed from CN202311827916.XA external-priority patent/CN117472553B/en
Publication of CN117472553A publication Critical patent/CN117472553A/en
Application granted granted Critical
Publication of CN117472553B publication Critical patent/CN117472553B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention provides a workflow processing method, a workflow processing device, processing equipment and a readable storage medium, and relates to the technical field of workflow design. The method comprises the following steps: acquiring workflow description information corresponding to a target workflow, wherein the workflow description information comprises at least one operator, the operator comprises at least one step, and the step is used for describing business logic of the target workflow; and processing the workflow description information to obtain the operation result of the target workflow. The scheme of the invention solves the problem that the existing workflow processing method is difficult to complete workflow processing of complex business.

Description

Workflow processing method, device, processing equipment and readable storage medium
Technical Field
The present invention relates to the field of workflow design technologies, and in particular, to a workflow processing method, device, processing equipment, and readable storage medium.
Background
The workflow is a service description comprising a plurality of steps and having front-back dependency relationship among the steps, and the workflow engine is a service for executing the steps in sequence according to workflow description rules.
When multiple micro services cooperate together to complete a complex service, how to coordinate multiple distributed calls, asynchronous message calls, and ensure transaction consistency (data consistency) is important. However, the existing workflow processing method has difficulty in completing workflow processing of complex business.
Disclosure of Invention
The invention aims to provide a workflow processing method, a workflow processing device and a readable storage medium, which solve the problem that the existing workflow processing method is difficult to complete workflow processing of complex business.
To achieve the above object, an embodiment of the present invention provides a workflow processing method, including:
acquiring workflow description information corresponding to a target workflow, wherein the workflow description information comprises at least one operator, the operator comprises at least one step, and the step is used for describing business logic of the target workflow;
and processing the workflow description information to obtain the operation result of the target workflow.
To achieve the above object, an embodiment of the present invention provides a workflow processing apparatus including:
the system comprises an acquisition module, a storage module and a processing module, wherein the acquisition module is used for acquiring workflow description information corresponding to a target workflow, the workflow description information comprises at least one operator, the operator comprises at least one step, and the step is used for describing business logic of the target workflow;
and the processing module is used for processing the workflow description information to obtain the operation result of the target workflow.
To achieve the above object, an embodiment of the present invention provides a processing device including a processor and a transceiver, wherein the processor is configured to:
acquiring workflow description information corresponding to a target workflow, wherein the workflow description information comprises at least one operator, the operator comprises at least one step, and the step is used for describing business logic of the target workflow;
and processing the workflow description information to obtain the operation result of the target workflow.
To achieve the above object, an embodiment of the present invention provides a processing apparatus including a transceiver, a processor, a memory, and a program or instructions stored on the memory and executable on the processor; the processor, when executing a program or instructions, implements a workflow processing method as described above.
To achieve the above object, an embodiment of the present invention provides a readable storage medium having stored thereon a program or instructions which, when executed by a processor, implement the steps in the workflow processing method as described above.
The technical scheme of the invention has the following beneficial effects:
the method of the embodiment of the invention obtains the workflow description information corresponding to the target workflow, wherein the workflow description information comprises at least one operator, the operator comprises at least one step, the step is used for describing the business logic of the target workflow, and the workflow description information is processed to obtain the operation result of the target workflow. Therefore, the target workflow can be constructed by utilizing the mode of combining operators and steps, so that the target workflow is better adapted to complex business processes, and the business expression capacity and efficiency are improved.
Drawings
FIG. 1 is a flow chart of a workflow processing method according to an embodiment of the present invention;
FIG. 2 is a diagram of step definitions and operator definitions according to an embodiment of the present invention;
FIG. 3 is a diagram of an exemplary operating topology of an operator combination according to an embodiment of the present invention;
FIG. 4 is a workflow execution layer architecture diagram of an embodiment of the present invention;
FIG. 5 is a schematic diagram of a coordinator according to an embodiment of the present invention;
FIG. 6 is a schematic diagram of a workflow executor according to an embodiment of the present invention;
FIG. 7 is a block diagram of a workflow processing apparatus according to an embodiment of the present invention;
FIG. 8 is a block diagram of a processing device according to an embodiment of the present invention;
fig. 9 is a block diagram of a processing apparatus according to another embodiment of the present invention.
Detailed Description
In order to make the technical problems, technical solutions and advantages to be solved more apparent, the following detailed description will be given with reference to the accompanying drawings and specific embodiments.
It should be appreciated that reference throughout this specification to "one embodiment" or "an embodiment" means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
In various embodiments of the present invention, it should be understood that the sequence numbers of the following processes do not mean the order of execution, and the order of execution of the processes should be determined by the functions and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
In addition, the terms "system" and "network" are often used interchangeably herein.
In the examples provided herein, it should be understood that "B corresponding to a" means that B is associated with a from which B may be determined. It should also be understood that determining B from a does not mean determining B from a alone, but may also determine B from a and/or other information.
As shown in fig. 1, a workflow processing method according to an embodiment of the present invention includes:
step 101, workflow description information corresponding to a target workflow is obtained, the workflow description information comprises at least one operator, the operator comprises at least one step, and the step is used for describing business logic of the target workflow.
The workflow description information may be a workflow description language (or workflow definition language, or workflow language), that is, a programming language for describing tasks and workflows, where the workflow description language includes business logic. In particular, the workflow description information may be input by a user through a client (e.g., a workflow engine client) on the terminal, or may be directly obtained through other manners, which is not particularly limited herein.
It should be noted that, in the related art, the workflow description language does not support combination, but in the embodiment of the present invention, the workflow description information may include 1 or more operators, so that the target workflow may become a larger and more complex flow through the combination of the multiple operators, and the user may conveniently construct own business logic based on the workflow language, and dynamically analyze the steps and the operators at the execution level, thereby ensuring the consistency of the flexible transaction of the data.
And 102, processing the workflow description information to obtain an operation result of the target workflow.
In this embodiment, workflow description information corresponding to a target workflow is obtained, the workflow description information includes at least one operator, the operator includes at least one step, and the step is used for describing business logic of the target workflow, processing the workflow description information, and obtaining an operation result of the target workflow. In this way, the target workflow can be constructed by utilizing a mode of combining operators and steps, so that the target workflow is better adapted to a complex business process.
Specifically, in an alternative example of the present invention, the workflow language has two concepts, namely, a step and an operator, where the step may be used to describe service logic definition and operation mode (such as a call mode, an asynchronous call mode, a message call mode, etc.) in detail, and may set parameters such as timeout, retry, idempotent, etc.; the operators are combinable general operation units, the operators have combining capability, and the operators can be divided into: the combination capability of atomic operators, serial operators, parallel operators and runtime sub-workflow operators provides a basis for constructing a target workflow of a complex business process.
As shown in fig. 2, the definition of the operator is specifically described here as follows:
in some alternative embodiments, the operator comprises at least one of:
(1) An atomic operator comprising one of said steps.
That is, the atomic operator represents the atomic semantics for converting the step (step) into an operator (the step may be converted into an atomic operator one by one), the operator result of the atomic operator is the execution result (output) of step, and the type of the operator result is consistent with the type of the execution result of step.
For example: dsl.identity < Input, output > node 1=step.todsl (), representing that step is converted into an atomic operator, where the Identity operator result is an execution result of step, and the type of the Identity operator result is consistent with the type of the execution result of step.
(2) And a serial operator comprising at least two atomic operators, wherein each atomic operator in the serial operator has a dependency relationship.
That is, at least two steps are included in the serial operator.
Here, the serial operator represents serial semantics for serially performing two steps (i.e., steps in two atomic operators in the serial operator).
For example: cons < Output > node 1=prev.next DSL (next), wherein prev and next both represent operators, a parameter of the next operator is an operation result of the prev operator, an operator result of a serial operator consisting of the prev operator and the next operator is an operation result of the next operator, and a type of the operator result of the serial operator is consistent with a type of the operation result of the next operator.
(3) And the parallel operators comprise at least two atomic operators, and each atomic operator in the parallel operators has no dependency relationship.
Here, the parallel operator represents parallel semantics for executing N operators (i.e., N atomic operators in the parallel operator), where each operator in the N operators has no dependency relationship, and an operator result of the parallel operator is a tuple formed by each sub-operator result, for example:
DSL.Parallel2<Tuple2<Output1,Output2>> node1=DSL.parallel2(step1,step2)。
wherein, the operator result of the parallel operator is: multiple 2, multiple 3..multiple 22, etc.
(4) The input parameters of the sub-workflow operators are dynamic operation results of precursor operators of the sub-workflow operators.
That is, the sub-workflow operator is a composite operator which is dynamically created according to the operation result of the last step and comprises a plurality of nested sub-flows, and the input (input) of the sub-workflow operator is the dynamic operation result of the last step operator. For example:
DSL.FlatMap<Output> node2=node1.flatMap(x->FlatMapper(node1,x))。
it should be noted that the sub-workflow operator may be any one or any combination of atomic operator, serial operator, and parallel operator. It should be noted that, here, the steps generate not a business logic result but a new executable unit. That is, the above operator definition is a description of the way the workflow is performed, and such descriptions can be multiplexed, combined to produce a new workflow description.
Next, the steps in the operator will be described:
as shown in fig. 2, the rectangle represents the step and the ellipse represents the operator. In the embodiment of the invention, a plurality of step interfaces with different semantics are defined (a user can also realize the definition of related interfaces according to own business scenes) and can be called by the user to realize different synchronous interfaces.
In some alternative embodiments, the mode of operation of the steps includes at least one of:
(1) And synchronously calling the mode.
It should be noted that, by writing to implement the synchronization step interface, a step (i.e., a synchronization step) in which the operation mode is the synchronous call mode may be executed when the synchronization step interface is called. In the synchronous step interface, a forward operation method and a compensation operation method of the step are defined, wherein parameters of the compensation operation method are the results of the forward operation.
The compensation operation method is set to repair abnormal data when an abnormality occurs, so that the data matches the data after the execution is successful.
(2) Asynchronous call mode.
It should be noted that, by writing to implement the asynchronous step interface, a step (i.e., an asynchronous step) in which the operation mode is an asynchronous call mode may be performed when the asynchronous step interface is called. In the asynchronous step interface, a forward operation and a compensation operation method similar to those in the synchronous step interface are defined, but the result of the forward operation is an asynchronous execution object (such as a Future in java language), the execution of the asynchronous execution object is required to be waited for until the execution of the step is completed, and the compensation operation is also required to be performed after the execution of the asynchronous execution object is completed.
(3) The message invokes the mode.
It should be noted that, by writing an asynchronous message step interface (including a sending interface and a receiving interface), a step (i.e., a message step) in which an operation mode is a message call mode may be performed when the sending interface and the receiving interface are called. In addition, a message unique key is required to be defined, and the sending message and the reply message can be associated through the unique key. Taking the example of sending and receiving messages using a message queue, when executing a step in which the operation mode is the message call mode, parameters and a message unique key can be encapsulated into a message to be sent to the message queue, and when the workflow engine receives a message expected by the receiving interface of the step, the step is executed successfully or failed.
As can be seen from the above steps and description of operators, the input parameters of the subsequent operator are the operation results of the precursor operator, and the types of the subsequent operator and the precursor operator must be matched, otherwise, errors are reported in the compiling period, so that the exception can be found earlier.
In the above embodiment, the mega algorithm forward-compensation mechanism may be adopted, and the steps of the operation modes such as the synchronous call mode, the asynchronous call mode, the message call mode and the like are further abstracted, and by combining the programming language characteristics, an operator (Function) camouflaged as a programming language Function can be obtained, one workflow is packaged into one operator, and a plurality of workflows can be combined into a more complex workflow in an operator combination mode.
In the above embodiment, by defining the operator and the business steps of different operation modes, the problem that the traditional workflow engine does not have the operator capability of the message and the sub-workflow in operation and the problem that the workflow is difficult to combine can be solved.
It should be noted that, in the related art, support for asynchronous call, message call, and runtime sub-workflow operators is lacking, so that it is difficult to satisfy complex business logic. In the embodiment of the invention, the workflow expression capability is improved through the asynchronous step, the message step and the dynamic sub-workflow, and the step types (synchronous step, asynchronous step, message step and the like) and the operator types (atomic operator, serial operator, parallel operator, sub-workflow operator and the like) are identified during operation.
It should be further noted that, in the prior art, the problem that instinct is found at the compiling period is delayed until the problem is found at the running time because the workflow is expressed by using the JSON text mode, so that the security risk is high. The steps and operators in the embodiment of the invention can be implemented by using static type languages, such as java, C# and the like, so that workflow domain specific languages (Domain specific language, DSL) (i.e. workflow description languages) developed by developers have type safety and compiler protection, and can find anomalies (such as common problems of parameter type errors, return value type errors and the like) in the compiling period.
In the operation topology of the operator combination example shown in fig. 3, the rectangles represent steps, the ellipses represent operators, and the description of fig. 3 with DSL is as follows:
val step1=new Step<Input,Output1>(){...};
val step2=new AsyncStep<Output1,Output2>(){...};
val step3=new MessageStep<Output3,Output4>(){...};
val step4=new Step<Input,Output1>(){...};
val node1=step1.toDSL().next(step2.toDSL()).next(step3.toDSL);
val node2=step4.toDSL();
val node3=DSL.parallel2(node1,node2);
val node6=node3.flatMap(result->FlatMapper.apply(result._2>100? node4: node5,result))。
here, step1, step2, step3, step4 represent different business steps, respectively, and it is necessary to implement forward business logic and compensation business logic by the user, where the result of step1 is the input of step2, the result of step2 is the input of step3, then step1, step2, and step3 are combined into one serial operator node1, the result of parallel execution of operator node2 (consisting of step 4) and operator node1 is stored in operator node3, and the result of operation of operator node3 is passed to the runtime sub-workflow operator node4 or node5 (e.g., where the result of operation of node3 is greater than 100, node4 is executed, otherwise node5 is executed, and node4 and node5 definitions are not represented in the above-described example code).
It should be noted that failure of any one of the above steps causes a compensation operation of a preceding successful step.
As can be seen from the above examples, after the step is converted into an atomic operator, the atomic operator can be combined into a more complex operator in the form of a serial operator, a parallel operator, and a sub-workflow operator, so as to construct a complex workflow, and multiple workflows can be combined into a more complex workflow.
In some optional embodiments, the step 102 processes the workflow description information to obtain the operation result of the target workflow, which may specifically include the following steps:
and 1021, analyzing the workflow description information to obtain a directed acyclic graph (Directed acyclic graph, DAG) corresponding to the target workflow, wherein the DAG comprises at least one node and paths among the nodes, and the nodes are in one-to-one correspondence with the operators in the workflow description information.
Here, paths between nodes may reflect an association relationship between operators, such as a relationship of a parent node and a child node.
And step 1022, starting from a root node in the at least one node according to the structure of the DAG, sequentially operating each node to obtain an operation result of the target workflow.
In a specific example, this step 1022 may include: acquiring a first parameter, and taking the first parameter as an input parameter of the root node; starting from the root node, sequentially taking each node as a target node, and executing steps in the target node to obtain an operation result corresponding to the target node; and obtaining the operation result of the target workflow according to the operation result corresponding to the target node.
In this embodiment, by analyzing the workflow description information, the workflow description information may be converted into a DAG, and the connection relationship between each node in the DAG may reflect the relationship between operators forming the target workflow, and according to the structure of the DAG, each node may be operated from the root node of the DAG, so as to obtain the operation result of the target workflow.
In a specific example, the workflow processing method according to the embodiment of the present invention may be implemented by the architecture of the workflow execution layer shown in fig. 4, where the architecture of the workflow execution layer mainly includes:
(1) Workflow engine client: the workflow description language (DSL) input by the user is submitted to the workflow engine entrance and is in the same process with the workflow engine so that the step functions can be directly executed.
(2) Workflow engine entry: in particular, it may be implemented as a Restful interface or a message queue receive portal. The workflow engine portal may encapsulate the workflow description language into message commands that are asynchronously submitted (command) to the coordinator.
(3) The coordinator: for submitting (command) a message to a workflow parser and creating a workflow, recording the mapping of the workflow so that the running result of the run-time child workflow operator can be transferred to the correct parent workflow operator, and the coordinator is also responsible for accurately transferring the message to an operator in the workflow.
As shown in fig. 5, flow1 (workflow 1), flow2 (workflow 2) outside the coordinator's box represent the state mapping table within the coordinator's box when the workflow is running. The coordinator mainly comprises a workflow management module and a message management module, and the modules in the coordinator are briefly described as follows:
workflow management module: the method is mainly used for maintaining context state information (flowState) of all running workflows, such as parent workflow information (i.e. parent), parent workflow node id (i.e. nodeId) of the workflows and runtime references of the workflows (i.e. flowRef, the workflow references point to the running workflows, and the workflows can be directly informed by the references). The runtime workflow informs the coordinator of its own final state (e.g., success or failure) by means of message notification, and then looks up the workflow context state information: if the workflow corresponding to the message is a child workflow, notifying the final state of the child node workflow according to the parent workflow reference, and then continuing to execute the parent workflow; if the workflow corresponding to the message is the top-level workflow (i.e. no parent node), notifying the client of the final execution result of the workflow (i.e. the operation result of the workflow), and deleting the workflow context information.
Message management module: the message step uses a send-wait message reply mode, where the message send and reply are associated by a unique key (e.g., msgId1, msgId 2). The message management module is responsible for maintaining a context information map of all send-wait replies for a message step, the context state information (msgState) including the flowId (workflow ID) and nodeId (parent workflow node ID) where this step is located. In addition, the Message management module is also responsible for monitoring a Message queue, calling the workflow management module after the Received Message (Received Message) finds the context information in the mapping table, and sending the execution result of the Message step to the runtime workflow according to the flow reference in the context information.
(4) Workflow parser: the method is mainly used for analyzing the workflow description language (such as workflow description information corresponding to a target workflow) into a DAG and creating a workflow executor to execute the target workflow.
When the workflow description information corresponding to the target workflow is analyzed into the directed acyclic graph, all operators without input can be found out to serve as source operators, then follow-up operators are found out in a depth-first or breadth-first mode according to the dependency relationship of the source operators, then the process of finding the follow-up operators is continued, and the operator dependency relationship is constructed until the DAG corresponding to the target workflow is obtained.
(5) The workflow executor:
as shown in fig. 6, after the DAG is obtained through the parsing of the workflow parser, the Node (Node) that starts executing the source attribute according to the initial input parameter (i.e., the first parameter), that is, the first parameter is taken as the input parameter of the root Node, and starts to operate the root Node.
After the root node (source node) is successfully executed, searching for the subsequent node state of the root node, if the subsequent node state is empty, generating an Initial state (Initial), setting the state of the Initial state as a Waiting parameter state (namely, waiting parameters), and then storing the running result of the current node as an input parameter into the subsequent node state. The rest nodes except the root node operate in a mode similar to the root node, and each time one node successfully executes, the judgment of whether the following node meets the operation condition and the logic judgment of whether rollback is triggered are carried out:
1) If the parameter of a node does not meet the operation condition, continuing to wait for the precursor node transmission value of the node.
2) If the parameters of a node meet the operation conditions (all the precursor nodes of the node in the DAG can be searched to determine whether the operation conditions are met), all the input parameters of the node are converted into a multiple (element progenitor) result, and the result is given to the step function operation of the operator (i.e. the operator corresponding to the node), and meanwhile, the node state is set to be Running.
If one node fails to run, setting the workflow status as Error (Error status), setting the rootError exception information (i.e. Error root cause), and starting to execute the following rollback operation:
traversing all nodes which are finished, judging whether each node can roll back, taking the first node as an example, and mainly judging the logic as follows: if the first node has no successor node or the first node has successor node but the successor node has completed rollback, then rollback operation is carried out on the first node, and the node state is set to Rolling Back (rollback state), in addition, the execution result of the step is transferred to the compensation function of the step, and the compensation function is executed; if the rollback operation fails to be executed, determining whether to continue rollback according to a workflow rollback failure strategy; when all nodes roll Back, the transaction assurance of the final consistency of the data can be achieved.
By the rollback operation described above, the data can be returned to the state before execution.
It should be noted that, the status data of the sub-workflow after the execution cannot be deleted immediately, so as to prevent the parent workflow from rolling back, and the status of the sub-workflow can be deleted after the execution of the parent workflow is completed.
In the above embodiment, the execution layer can dynamically parse and execute the workflow operator through close coordination between components such as the coordinator and the executor. When one step fails to be executed, the compensation operation can be executed in reverse order, so that the data of the whole flow is restored to the starting point, and the final consistency of the transaction data is ensured.
Optionally, the obtaining the operation result of the target workflow according to the operation result corresponding to the target node includes at least one of the following:
when the target node is successfully operated and a subsequent node does not exist in the target node, taking an operation result corresponding to the target node as an operation result of the target workflow;
and under the condition that the target node is successfully operated and the target node has a subsequent node, obtaining the operation result of the target workflow according to the operation result of the subsequent node of the target node.
Optionally, the method further comprises at least one of:
setting the state of a subsequent node of the target node as a waiting parameter state under the condition that the state of the subsequent node of the target node is empty, and storing an operation result corresponding to the target node as an input parameter of the subsequent node into the state of the subsequent node;
Setting the state of the target node to an operational state in the event that steps in the target node begin to execute (i.e., the target node begins to operate);
setting the state of the target node to a waiting state in case the step in the target node does not start to execute;
and under the condition that the operation of the target node fails, setting the state of the target node as an error state, and executing rollback operation on the first node which has completed the operation in the nodes.
Here, the first node may specifically refer to the following nodes:
nodes that are not relied upon by other nodes, i.e., nodes that are at the very end of the DAG;
there is a successor node that depends on the first node, but the successor node has reported an error or has completed rollback.
In this embodiment, the state of the target node is modified based on events (e.g., start of node operation, failure of node operation, etc.), and a workflow state machine may be created to manage the states of the various nodes, for example.
Optionally, performing a rollback operation on a first node that has completed running among the nodes includes:
and carrying out rollback operation on the first nodes under the condition that the first nodes have no successor nodes or the first nodes have successor nodes and the successor nodes report errors or rollback is completed, until each first node completes the rollback operation.
In this embodiment, by performing a rollback operation on the nodes that have completed running, the final consistency of the transaction data may be ensured.
The workflow processing method provided in the embodiment of the present application is specifically illustrated below.
In an alternative example, the overall execution of the target workflow is as follows:
first, a workflow description language containing business logic may be submitted to a workflow engine entry point by a workflow engine client.
And (II) through the workflow engine entry point, the workflow description language can be packaged into message commands and asynchronously sent to the coordinator.
And thirdly, through the coordinator, a unique workflow ID can be allocated to the target workflow, and the context information of the target workflow is stored and then sent to the workflow parser.
(IV) through a workflow parser, the workflow description language can be converted into a directed acyclic graph, and then a workflow executor is created and the workflow business logic is executed.
The workflow executor may specifically execute the following steps:
(1) A workflow state machine is created with Initial states being Initial, after which the states in the state machine are modified based on events (events). First, the source operator (i.e., the root node in the DAG) is found, then the step function in the source operator is decomposed, and the initial parameters (i.e., the first parameters) are transferred for the step function, and the node state of the workflow state machine is set to be Running (Running), and the following operations are performed according to the type of the execution result (i.e., the type of the manner in which the result is obtained, which can also be understood as the Running mode of the step).
If the execution result type is asynchronous Future (i.e., the step is an asynchronous step), wait for Future to complete.
If the step is a Message step, after sending the Message, registering (secure Message) a unique key and context information of the Message to a Message management module in the coordinator, and the coordinator monitors a reply Message of the unique Message key in the Message queue: once the reply message arrives, the coordinator informs the operator represented by this message step that it is complete by looking up the workflow reference at runtime.
If the execution result of the step is a runtime sub-workflow operator, the sub-workflow is packaged into a command and submitted to a coordinator, and the coordinator starts a new workflow executor and executes the command and saves the context information of the runtime sub-workflow operator. When the operation of the sub-workflow is completed, the operation result of the sub-workflow and the workflow id thereof are sent to the coordinator, the coordinator finds the parent workflow reference according to the context information of the workflow id, and then the operation result of the sub-workflow is sent to the parent workflow node.
If the step is a synchronous step, the execution result of the step is the final result of the operator.
(2) After the execution of the precursor operator is finished, updating the state of the node, sending the operation result of the node to all the subsequent nodes, and updating the parameter waiting list of the subsequent nodes; and judging whether all the precursor nodes of the subsequent nodes are executed completely, and starting to execute the subsequent nodes once the precursor nodes of the subsequent nodes are executed completely and are all successful.
And repeating the steps until all the nodes are operated.
And (six) a back-off compensation mechanism:
when the step execution of a certain operator (namely a node) fails, setting the state of the operator as an error state and setting an error root cause; then, starting a rollback operation, and setting the state as rollback; then, the state machine node state is queried as completed, and the successor node is a node that is not executed or rolled back, and then the transaction compensation logic of this node operator is executed, specifically as follows:
(1) If the step is an asynchronous Future or synchronous step, the execution result of the step is transferred to the compensation operation method, and the compensation operation method is executed.
(2) If the step is the message, the message returned by the forward operation method is transmitted to the compensation operation method and the compensation operation method is executed, the message is registered to the message management module of the coordinator, and the reply message of the compensation message is waited.
(3) If the step is a sub workflow operator, packaging the sub workflow operator into a command and submitting the command to a coordinator, and searching the state data of the sub workflow by the coordinator; then, starting the sub-workflow, and restoring the state of the sub-workflow to the state when the last operation is completed; finally, the sub-workflow is notified to execute the rollback command (i.e., to execute the rollback operation) from the tail node.
After the rollback is completed, the rollback result is notified to the coordinator, and then the coordinator forwards the rollback result to the parent workflow, otherwise, the step is a synchronization step, and rollback is completed.
Repeating the steps until all the nodes finish rollback.
When the workflow is written by adopting the workflow description language in the JSON/XML format, a developer needs to convert the business logic code into the workflow description in the JSON/XML format, which easily causes the business code to be leaked in the workflow description language, and reduces the robustness of the program. In the embodiment of the invention, the static type checking characteristic of the compiler can be utilized, the compiler performs static checking protection on the workflow description language in the compiling period, and stronger safety protection can be provided for users.
According to the workflow processing method, a set of workflow language design and workflow engine design and implementation are provided for research personnel, when the workflow language of the embodiment of the invention is used for realizing business logic, a developer does not need to express a workflow in a JSON text mode any more, the workflow is compiled and formed in a mode of combining steps and operators, the use difficulty is reduced, the method is very friendly to the developer, the development efficiency is improved, the use is convenient and quick, the type is safe, the workflow can be used as operators in multiplexing and combining, distributed flexible transactions can be supported, and the method is suitable for scenes such as long transactions, complex flows and the like.
As shown in fig. 7, a workflow processing apparatus according to an embodiment of the present invention includes:
an obtaining module 710, configured to obtain workflow description information corresponding to a target workflow, where the workflow description information includes at least one operator, and the operator includes at least one step, and the step is used to describe business logic of the target workflow;
and a processing module 720, configured to process the workflow description information to obtain an operation result of the target workflow.
In this embodiment, workflow description information corresponding to a target workflow is obtained, the workflow description information includes at least one operator, the operator includes at least one step, and the step is used for describing business logic of the target workflow, processing the workflow description information, and obtaining an operation result of the target workflow. Therefore, the target workflow can be constructed by utilizing the mode of combining operators and steps, so that the target workflow is better adapted to complex business processes, and the business expression capacity and efficiency are improved.
Optionally, the operator includes at least one of:
an atomic operator comprising one of said steps;
a serial operator comprising at least two atomic operators, wherein each atomic operator in the serial operator has a dependency relationship;
A parallel operator comprising at least two atomic operators, wherein each atomic operator in the parallel operator has no dependency relationship;
the input parameters of the sub-workflow operators are dynamic operation results of precursor operators of the sub-workflow operators.
Optionally, the operation mode of the step includes at least one of:
a synchronous calling mode;
an asynchronous call mode;
the message invokes the mode.
Optionally, the processing module 720 includes:
the analysis submodule is used for analyzing the workflow description information to obtain a directed acyclic graph DAG corresponding to the target workflow, wherein the DAG comprises at least one node and paths among the nodes, and the nodes are in one-to-one correspondence with the operators in the workflow description information;
and the operation sub-module is used for sequentially operating each node from the root node in the at least one node according to the structure of the DAG to obtain the operation result of the target workflow.
Optionally, the operation submodule includes:
the acquisition unit is used for acquiring a first parameter and taking the first parameter as an input parameter of the root node;
The running unit is used for taking each node as a target node from the root node in sequence, executing steps in the target node and obtaining a running result corresponding to the target node;
and the processing unit is used for obtaining the operation result of the target workflow according to the operation result corresponding to the target node.
Optionally, the processing unit includes at least one of:
the first processing subunit is used for taking an operation result corresponding to the target node as an operation result of the target workflow when the target node is successfully operated and the target node does not have a subsequent node;
and the second processing subunit is used for obtaining the operation result of the target workflow according to the operation result of the subsequent node of the target node under the condition that the target node is successfully operated and the subsequent node exists in the target node.
Optionally, the apparatus further comprises at least one of:
the first state processing module is used for setting the state of the subsequent node as a waiting parameter state and storing an operation result corresponding to the target node as an input parameter of the subsequent node into the state of the subsequent node under the condition that the state of the subsequent node of the target node is empty;
A second state processing module, configured to set a state of the target node to an operation state in a case where a step in the target node starts to be executed;
a third state processing module, configured to set a state of the target node to a waiting state if the step in the target node does not start to be performed;
and the fourth state processing module is used for setting the state of the target node to be an error state under the condition that the operation of the target node fails, and executing rollback operation on the first node which has completed the operation in the nodes.
Optionally, the fourth state processing module includes:
and the rollback module is used for performing rollback operation on the first nodes until each first node finishes the rollback operation under the condition that the first node has no successor node or the first node has successor nodes and the successor nodes are reported to be wrong or rollback is finished.
It should be noted that, the workflow processing device provided in the embodiment of the present invention can implement all the method steps implemented in the embodiment of the workflow processing method, and can achieve the same technical effects, and detailed descriptions of the same parts and beneficial effects as those in the embodiment of the method are omitted herein.
As shown in fig. 8, a processing device 800 according to an embodiment of the present invention includes a processor 810 and a transceiver 820, where the processor 810 is configured to:
acquiring workflow description information corresponding to a target workflow, wherein the workflow description information comprises at least one operator, the operator comprises at least one step, and the step is used for describing business logic of the target workflow;
and processing the workflow description information to obtain the operation result of the target workflow.
In this embodiment, workflow description information corresponding to a target workflow is obtained, the workflow description information includes at least one operator, the operator includes at least one step, and the step is used for describing business logic of the target workflow, processing the workflow description information, and obtaining an operation result of the target workflow. Therefore, the target workflow can be constructed by utilizing the mode of combining operators and steps, so that the target workflow is better adapted to complex business processes, and the business expression capacity and efficiency are improved.
Optionally, the operator includes at least one of:
an atomic operator comprising one of said steps;
a serial operator comprising at least two atomic operators, wherein each atomic operator in the serial operator has a dependency relationship;
A parallel operator comprising at least two atomic operators, wherein each atomic operator in the parallel operator has no dependency relationship;
the input parameters of the sub-workflow operators are dynamic operation results of precursor operators of the sub-workflow operators.
Optionally, the operation mode of the step includes at least one of:
a synchronous calling mode;
an asynchronous call mode;
the message invokes the mode.
Optionally, when the processor 810 processes the workflow description information to obtain the running result of the target workflow, the method is specifically used for:
analyzing the workflow description information to obtain a directed acyclic graph DAG corresponding to the target workflow, wherein the DAG comprises at least one node and paths among the nodes, and the nodes are in one-to-one correspondence with the operators in the workflow description information;
and according to the structure of the DAG, starting from a root node in the at least one node, sequentially operating each node to obtain an operation result of the target workflow.
Optionally, when the processor 810 sequentially runs each node from a root node in the at least one node according to the structure of the DAG, the method specifically is used to obtain a running result of the target workflow:
Acquiring a first parameter, and taking the first parameter as an input parameter of the root node;
starting from the root node, sequentially taking each node as a target node, and executing steps in the target node to obtain an operation result corresponding to the target node;
and obtaining the operation result of the target workflow according to the operation result corresponding to the target node.
Optionally, when the processor 810 obtains the operation result of the target workflow according to the operation result corresponding to the target node, the processor is specifically configured to:
when the target node is successfully operated and a subsequent node does not exist in the target node, taking an operation result corresponding to the target node as an operation result of the target workflow;
and under the condition that the target node is successfully operated and the target node has a subsequent node, obtaining the operation result of the target workflow according to the operation result of the subsequent node of the target node.
Optionally, the processor 810 is further configured to:
setting the state of a subsequent node of the target node as a waiting parameter state under the condition that the state of the subsequent node of the target node is empty, and storing an operation result corresponding to the target node as an input parameter of the subsequent node into the state of the subsequent node;
Setting the state of the target node to an operational state in the event that steps in the target node begin to execute;
setting the state of the target node to a waiting state in case the step in the target node does not start to execute;
and under the condition that the operation of the target node fails, setting the state of the target node as an error state, and executing rollback operation on the first node which has completed the operation in the nodes.
Optionally, the processor 810 is specifically configured to, when performing a rollback operation on a first node that has completed running among the nodes:
and carrying out rollback operation on the first nodes under the condition that the first nodes have no successor nodes or the first nodes have successor nodes and the successor nodes report errors or rollback is completed, until each first node completes the rollback operation.
It should be noted that, the processing device provided in the embodiment of the present invention can implement all the method steps implemented in the embodiment of the workflow processing method, and can achieve the same technical effects, and detailed descriptions of the same parts and beneficial effects as those in the embodiment of the method are omitted herein.
A processing device according to another embodiment of the present invention, as shown in fig. 9, includes a transceiver 910, a processor 900, a memory 920, and a program or instructions stored on the memory 920 and executable on the processor 900; the processor 900 implements the workflow processing method described above when executing the program or instructions.
The transceiver 910 is configured to receive and transmit data under the control of the processor 900.
Wherein in fig. 9, a bus architecture may comprise any number of interconnected buses and bridges, and in particular one or more processors represented by processor 900 and various circuits of memory represented by memory 920, linked together. The bus architecture may also link together various other circuits such as peripheral devices, voltage regulators, power management circuits, etc., which are well known in the art and, therefore, will not be described further herein. The bus interface provides an interface. The transceiver 910 may be a number of elements, i.e., include a transmitter and a receiver, providing a means for communicating with various other apparatus over a transmission medium. The user interface 930 may also be an interface capable of interfacing with an inscribed desired device for a different processing device, including but not limited to a keypad, display, speaker, microphone, joystick, etc.
The processor 900 is responsible for managing the bus architecture and general processing, and the memory 920 may store data used by the processor 900 in performing operations.
The readable storage medium of the embodiment of the present invention stores a program or an instruction, where the program or the instruction realizes the steps in the workflow processing method described above when being executed by a processor, and can achieve the same technical effects, and for avoiding repetition, a detailed description is omitted here. Wherein the computer readable storage medium is selected from Read-Only Memory (ROM), random access Memory (Random Access Memory, RAM), magnetic disk or optical disk.
It is further noted that the terminals described in this specification include, but are not limited to, smartphones, tablets, etc., and that many of the functional components described are referred to as modules in order to more particularly emphasize their implementation independence.
In an embodiment of the invention, the modules may be implemented in software for execution by various types of processors. An identified module of executable code may, for instance, comprise one or more physical or logical blocks of computer instructions which may, for instance, be organized as an object, procedure, or function. Nevertheless, the executables of an identified module need not be physically located together, but may comprise disparate instructions stored in different bits which, when joined logically together, comprise the module and achieve the stated purpose for the module.
Indeed, a module of executable code may be a single instruction, or many instructions, and may even be distributed over several different code segments, among different programs, and across several memory devices. Likewise, operational data may be identified within modules and may be embodied in any suitable form and organized within any suitable type of data structure. The operational data may be collected as a single data set, or may be distributed over different locations including over different storage devices.
Where a module may be implemented in software, taking into account the level of existing hardware technology, a module may be implemented in software, and one skilled in the art may, without regard to cost, build corresponding hardware circuitry, including conventional Very Large Scale Integration (VLSI) circuits or gate arrays, and existing semiconductors such as logic chips, transistors, or other discrete components, to achieve the corresponding functions. A module may also be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices or the like.
The exemplary embodiments described above are described with reference to the drawings, many different forms and embodiments are possible without departing from the spirit and teachings of the present invention, and therefore, the present invention should not be construed as limited to the exemplary embodiments set forth herein. Rather, these exemplary embodiments are provided so that this disclosure will be thorough and complete, and will convey the scope of the invention to those skilled in the art. In the drawings, the size of the elements and relative sizes may be exaggerated for clarity. The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. Unless otherwise indicated, a range of values includes the upper and lower limits of the range and any subranges therebetween.
While the foregoing is directed to the preferred embodiments of the present invention, it will be appreciated by those skilled in the art that various modifications and adaptations can be made without departing from the principles of the present invention, and such modifications and adaptations are intended to be comprehended within the scope of the present invention.

Claims (12)

1. A workflow processing method, comprising:
acquiring workflow description information corresponding to a target workflow, wherein the workflow description information comprises at least one operator, the operator comprises at least one step, and the step is used for describing business logic of the target workflow;
and processing the workflow description information to obtain the operation result of the target workflow.
2. The method of claim 1, wherein the operator comprises at least one of:
an atomic operator comprising one of said steps;
a serial operator comprising at least two atomic operators, wherein each atomic operator in the serial operator has a dependency relationship;
a parallel operator comprising at least two atomic operators, wherein each atomic operator in the parallel operator has no dependency relationship;
the input parameters of the sub-workflow operators are dynamic operation results of precursor operators of the sub-workflow operators.
3. The method of claim 1, wherein the operating mode of the steps comprises at least one of:
a synchronous calling mode;
an asynchronous call mode;
the message invokes the mode.
4. The method according to claim 1, wherein the processing the workflow description information to obtain the operation result of the target workflow includes:
analyzing the workflow description information to obtain a directed acyclic graph DAG corresponding to the target workflow, wherein the DAG comprises at least one node and paths among the nodes, and the nodes are in one-to-one correspondence with the operators in the workflow description information;
and according to the structure of the DAG, starting from a root node in the at least one node, sequentially operating each node to obtain an operation result of the target workflow.
5. The method of claim 4, wherein the sequentially running each node from a root node in the at least one node according to the structure of the DAG, to obtain a running result of the target workflow, comprises:
acquiring a first parameter, and taking the first parameter as an input parameter of the root node;
Starting from the root node, sequentially taking each node as a target node, and executing steps in the target node to obtain an operation result corresponding to the target node;
and obtaining the operation result of the target workflow according to the operation result corresponding to the target node.
6. The method according to claim 5, wherein the obtaining the operation result of the target workflow according to the operation result corresponding to the target node includes at least one of:
when the target node is successfully operated and a subsequent node does not exist in the target node, taking an operation result corresponding to the target node as an operation result of the target workflow;
and under the condition that the target node is successfully operated and the target node has a subsequent node, obtaining the operation result of the target workflow according to the operation result of the subsequent node of the target node.
7. The method of claim 5, further comprising at least one of:
setting the state of a subsequent node of the target node as a waiting parameter state under the condition that the state of the subsequent node of the target node is empty, and storing an operation result corresponding to the target node as an input parameter of the subsequent node into the state of the subsequent node;
Setting the state of the target node to an operational state in the event that steps in the target node begin to execute;
setting the state of the target node to a waiting state in case the step in the target node does not start to execute;
and under the condition that the operation of the target node fails, setting the state of the target node as an error state, and executing rollback operation on the first node which has completed the operation in the nodes.
8. The method of claim 7, wherein performing a rollback operation on a first one of the nodes that has completed execution comprises:
and carrying out rollback operation on the first nodes under the condition that the first nodes have no successor nodes or the first nodes have successor nodes and the successor nodes report errors or rollback is completed, until each first node completes the rollback operation.
9. A workflow processing apparatus, comprising:
the system comprises an acquisition module, a storage module and a processing module, wherein the acquisition module is used for acquiring workflow description information corresponding to a target workflow, the workflow description information comprises at least one operator, the operator comprises at least one step, and the step is used for describing business logic of the target workflow;
And the processing module is used for processing the workflow description information to obtain the operation result of the target workflow.
10. A processing apparatus, comprising: a transceiver and a processor; the processor is configured to:
acquiring workflow description information corresponding to a target workflow, wherein the workflow description information comprises at least one operator, the operator comprises at least one step, and the step is used for describing business logic of the target workflow;
and processing the workflow description information to obtain the operation result of the target workflow.
11. A processing apparatus, comprising: a transceiver, a processor, a memory, and a program or instructions stored on the memory and executable on the processor; the workflow processing method according to any one of claims 1 to 8 is implemented when the processor executes the program or instructions.
12. A readable storage medium having stored thereon a program or instructions which when executed by a processor performs the steps in the workflow processing method of any of claims 1-8.
CN202311827916.XA 2023-12-28 Workflow processing method, device, processing equipment and readable storage medium Active CN117472553B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311827916.XA CN117472553B (en) 2023-12-28 Workflow processing method, device, processing equipment and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311827916.XA CN117472553B (en) 2023-12-28 Workflow processing method, device, processing equipment and readable storage medium

Publications (2)

Publication Number Publication Date
CN117472553A true CN117472553A (en) 2024-01-30
CN117472553B CN117472553B (en) 2024-05-03

Family

ID=

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111563586A (en) * 2019-02-14 2020-08-21 上海寒武纪信息科技有限公司 Splitting method of neural network model and related product
CN111767078A (en) * 2019-04-02 2020-10-13 上海寒武纪信息科技有限公司 Data operation method and device and related product
CN111782371A (en) * 2020-06-30 2020-10-16 北京百度网讯科技有限公司 Stream type computing method and device based on DAG interaction
CN112685154A (en) * 2020-12-25 2021-04-20 北京有竹居网络技术有限公司 Data processing method of task flow engine, device and medium
CN113326131A (en) * 2021-06-03 2021-08-31 深信服科技股份有限公司 Data processing method, device, equipment and storage medium
CN114564547A (en) * 2022-02-10 2022-05-31 阿里云计算有限公司 Data processing method, device, equipment and storage medium
CN114860820A (en) * 2021-01-20 2022-08-05 华为技术服务有限公司 Optimization method and device for technical business of data warehouse and electronic equipment
CN116643854A (en) * 2022-02-16 2023-08-25 中移物联网有限公司 Service arrangement method and device, flow controller and task processor
CN117251260A (en) * 2022-09-29 2023-12-19 北京九章云极科技有限公司 Data processing method and system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111563586A (en) * 2019-02-14 2020-08-21 上海寒武纪信息科技有限公司 Splitting method of neural network model and related product
CN111767078A (en) * 2019-04-02 2020-10-13 上海寒武纪信息科技有限公司 Data operation method and device and related product
CN111782371A (en) * 2020-06-30 2020-10-16 北京百度网讯科技有限公司 Stream type computing method and device based on DAG interaction
CN112685154A (en) * 2020-12-25 2021-04-20 北京有竹居网络技术有限公司 Data processing method of task flow engine, device and medium
CN114860820A (en) * 2021-01-20 2022-08-05 华为技术服务有限公司 Optimization method and device for technical business of data warehouse and electronic equipment
CN113326131A (en) * 2021-06-03 2021-08-31 深信服科技股份有限公司 Data processing method, device, equipment and storage medium
CN114564547A (en) * 2022-02-10 2022-05-31 阿里云计算有限公司 Data processing method, device, equipment and storage medium
CN116643854A (en) * 2022-02-16 2023-08-25 中移物联网有限公司 Service arrangement method and device, flow controller and task processor
CN117251260A (en) * 2022-09-29 2023-12-19 北京九章云极科技有限公司 Data processing method and system

Similar Documents

Publication Publication Date Title
CN109284197B (en) Distributed application platform based on intelligent contract and implementation method
CN107241315B (en) Access method and device of bank gateway interface and computer readable storage medium
Zarras et al. Model-driven dependability analysis of webservices
US20220171652A1 (en) Distributed container image construction scheduling system and method
CN112787999B (en) Cross-chain calling method, device, system and computer readable storage medium
CN114756357B (en) Non-blocking distributed planned task scheduling method based on JVM (Java virtual machine)
CN113961332A (en) Method and device for realizing workflow engine, electronic equipment and storage medium
Abouzaid et al. A calculus for generation, verification and refinement of bpel specifications
Osman et al. An approach to rollback recovery of collaborating mobile agents
US20210149709A1 (en) Method and apparatus for processing transaction
CN117472553B (en) Workflow processing method, device, processing equipment and readable storage medium
US7885292B2 (en) Method, system, and computer program product for data exchange
CN117472553A (en) Workflow processing method, device, processing equipment and readable storage medium
Hendriks et al. A systematic approach for interfacing component-based software with an active automata learning tool
Wang et al. A state synchronization mechanism for orchestrated processes
Blanchet et al. Supporting adaptive web-service orchestration with an agent conversation framework
Liu et al. Analysis of web services composition and substitution via CCS
CN111459492A (en) Method, device, storage medium and equipment for detecting compatibility of Dubbo service interface
Hawkridge et al. Comparison of Erlang/OTP and JADE implementations for standby redundancy in a holonic controller
Cubo et al. A model to design and verify context-aware adaptive service composition
CN114356643B (en) Automatic task discovery failure and recovery method in remote sensing satellite processing system
CN117033033B (en) Method for efficient configuration and interaction of public service in service bus
CN110191141B (en) Service calling information processing method and device and computer system
CN117193225B (en) Wafer manufacturing process flow control method and system
CN109862105B (en) BPEL-based on-demand dynamic high-performance service combination method in multi-domain environment

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