CN108734398B - Task flow synchronization control method and device, storage medium and electronic equipment - Google Patents

Task flow synchronization control method and device, storage medium and electronic equipment Download PDF

Info

Publication number
CN108734398B
CN108734398B CN201810474780.1A CN201810474780A CN108734398B CN 108734398 B CN108734398 B CN 108734398B CN 201810474780 A CN201810474780 A CN 201810474780A CN 108734398 B CN108734398 B CN 108734398B
Authority
CN
China
Prior art keywords
branch
node
control
control signal
control node
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.)
Active
Application number
CN201810474780.1A
Other languages
Chinese (zh)
Other versions
CN108734398A (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.)
Hundsun Technologies Inc
Original Assignee
Hundsun Technologies Inc
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 Hundsun Technologies Inc filed Critical Hundsun Technologies Inc
Priority to CN201810474780.1A priority Critical patent/CN108734398B/en
Publication of CN108734398A publication Critical patent/CN108734398A/en
Application granted granted Critical
Publication of CN108734398B publication Critical patent/CN108734398B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Educational Administration (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present disclosure relates to the field of data processing technologies, and in particular, to a task flow synchronization control method, a task flow synchronization control apparatus, and a computer-readable storage medium and an electronic device for implementing the task flow synchronization control method. The method comprises the following steps: identifying a first control node and constructing a first control signal therefor; acquiring a plurality of branches controlled by the first control node to be executed concurrently, and establishing a control signal queue for each branch; if the current branch reaching the first control node exists and the first control node holds the first control signal, adding the first control signal into a control signal queue of the current branch; and if the current branch reaching the first control node exists and the first control node does not hold the first control signal, adding the first control signal in the current branch control signal queue to the control signal queue of any active branch of the first control node. The present disclosure can support complex flow loops and can be applied to a variety of application scenarios.

Description

Task flow synchronization control method and device, storage medium and electronic equipment
Technical Field
The present disclosure relates to the field of data processing technologies, and in particular, to a task flow synchronization control method, a task flow synchronization control apparatus, and a computer-readable storage medium and an electronic device for implementing the task flow synchronization control method.
Background
Workflow (work flow, or workflow, task flow) means that part or the whole of a business process is automatically completed in a computer application environment. With the rapid development of computers and information technology, the implementation process of a business target often has a plurality of preset rules and a complex execution process, and through an automated workflow, a user can flexibly define an automated flow completely matched with the business according to the business requirement, and can automatically execute a flow sequence according to a plan, thereby achieving an expected result and achieving the business target.
In an actual application scenario, a workflow may have a situation in which multiple branch tasks are concurrently executed. For example, the converged post-task depends on the execution results of some or all of the branches ahead, and the converged controller is required to decide whether the execution results of the branches ahead satisfy the condition for continued execution, so as to promote the continued execution of the converged post-task. For example, assuming that the service cluster a is a pre-tasking of the service B, the workflow simultaneously starts N service nodes a through concurrent branching, and before all the service nodes a start the flow execution, the service B is not allowed to be started. If M service nodes fail to start in the starting process of the service cluster a, but the service cluster a can still provide normal service functions and does not affect the starting of the service B, at this time, the pre-aggregation control node of the service B is difficult to complete the synchronization condition judgment.
In the prior art, when the above situation is handled, it is imperative that each service branch in the service cluster a, regardless of whether execution is performed or is completed, must send an execution completion signal to the aggregation control node, thereby implementing that the aggregation control signal count is decreased by one, and when the count is zero, the service B is released and started, so that unnecessary signal transmission and node mapping relationship exist. For the condition that a designated node in any one or more branches is selected to start to operate, the sink node cannot easily count the number of signals to be controlled, so that sink control is difficult to complete through signal counting; particularly, in the case of multi-layer nested convergence control, control is more difficult to implement, and a more complex calculation strategy needs to be adopted to deal with different flow rules and application scenarios.
In addition, in the prior art, during workflow design, it is necessary to define the number of branches and aggregates within a flow or define a control policy of a sink node (such as branch arrival ratio, branch decision limit, etc.), and the sink node controls the execution of the flow. Therefore, if an indefinite number of cycles controlled according to unpredictable conditions during workflow execution are designed in the process, and the convergence synchronization control after the logic change or logic jump of the process execution caused by manual interaction in the execution process is basically impossible to realize. This complicates workflow design in accomplishing tasks and greatly reduces applicability and usability.
Therefore, there is a need to provide a new technical solution to improve one or more of the problems in the above solutions.
It is to be noted that the information disclosed in the above background section is only for enhancement of understanding of the background of the present disclosure, and thus may include information that does not constitute prior art known to those of ordinary skill in the art.
Disclosure of Invention
An object of the present disclosure is to provide a task flow synchronization control method, a task flow synchronization control apparatus, and a computer-readable storage medium and an electronic device implementing the task flow synchronization control method, thereby overcoming one or more problems due to limitations and disadvantages of the related art, at least to a certain extent.
Additional features and advantages of the disclosure will be set forth in the detailed description which follows, or in part will be obvious from the description, or may be learned by practice of the disclosure.
According to a first aspect of the embodiments of the present disclosure, there is provided a task flow synchronization control method, including: identifying a first control node and constructing a control signal for the first control node; acquiring a plurality of branches controlled by the first control node to be executed concurrently, and establishing a control signal queue for each branch; if a current branch reaching the first control node exists and the first control node holds the first control signal, adding the first control signal into a control signal queue of the current branch; and if the current branch reaching the first control node exists and the first control node does not hold the first control signal, adding the first control signal in the current branch control signal queue to a control signal queue of any active branch in the multi-branch of the first control node.
In an exemplary embodiment of the present disclosure, the method further includes: and if the current branch reaching the first control node exists and the first control node does not hold the first control signal and does not have the active branch of the first control node, returning the first control signal in the control signal queue of the current branch to the first control node.
In an exemplary embodiment of the present disclosure, the method further includes: if the current branch reaching the first control node exists and the first control signal is not held in the control signal queues of the first control node and the current branch, the first control node continues to wait for the arrival of the next branch in the multi-path branches.
In an exemplary embodiment of the present disclosure, the method further includes: identifying a second control node and constructing a second control signal for the second control node; acquiring a plurality of branches controlled by the second control node to be executed concurrently, and establishing a control signal queue for each branch; if a current branch reaching the second control node exists and the second control node holds the second control signal, adding the second control signal into a control signal queue of the current branch; traversing a current branch control signal queue of the second control node if there is a current branch to the second control node and the second control node does not hold the second control signal; and if the control node to which the corresponding control signal in the current branch control signal queue of the second control node belongs has an active branch, adding the corresponding control signal to the control signal queue of any active branch of the control node to which the corresponding control signal belongs.
In an exemplary embodiment of the present disclosure, the method further includes: and if the current branch is a cyclic branch, returning the first control signal in the control signal queue of the cyclic branch to the first control node again when the cyclic branch reaches the first control node for the second time and the first control node does not hold the first control signal and does not have an active branch of the first control node.
In an exemplary embodiment of the disclosure, the adding the first control signal in the current branch control signal queue to the control signal queue of any active branch in the multi-branch of the first control node includes: judging whether active branches exist in the multi-path branches; if the active branch exists, traversing the control signal queue of the current branch in a first-in first-out mode; and adding the first control signal in the control signal queue of the current branch into the control signal queue of any active branch of the first control node.
In an exemplary embodiment of the present disclosure, the branch includes a node; wherein the determining whether an active branch exists in the multi-path branch comprises: when at least one executing node exists in the branches, determining that the corresponding branch is an active branch.
In an exemplary embodiment of the present disclosure, the method further includes: identifying a process node in the workflow; and determining the first control node according to the type of the process node.
In an exemplary embodiment of the present disclosure, the obtaining the multiple branches concurrently executed and controlled by the first control node includes: searching for reachable branches and acquiring a reachable branch set by taking the first control node as a starting point; wherein the set of reachable branches comprises multiple branches of the first control node.
In an exemplary embodiment of the present disclosure, if the first control node is a sink node, the retrieving all reachable branches and obtaining a reachable branch set using the first control node as a starting point includes: and taking the first control node as a starting point, and retrieving the reachable branch in a backtracking mode.
In an exemplary embodiment of the present disclosure, the method further includes: judging whether a loop branch exists in the reachable branch set; if the cyclic branch exists, truncating the cyclic branch when the cyclic branch is retrieved and retrieved a second time to the first control node.
In an exemplary embodiment of the present disclosure, the method further includes: configuring a control strategy for the first control node; and when the current branch reaches the first control node, if the current state of the first control node meets the control strategy, returning the first control signal to the first control node.
In an exemplary embodiment of the present disclosure, the first control node includes any one of a branch node, a sink node, a judgment node, an approval node, or a review node.
In an exemplary embodiment of the present disclosure, if the first control node is the sink node, the sink nodes are multiple, and each sink node has a unique control signal.
In an exemplary embodiment of the present disclosure, a plurality of the sink nodes are in any one of a nested structure, a parallel structure, or a serial structure.
In an exemplary embodiment of the present disclosure, the branch includes any one or more of a conditional branch and a traffic branch.
According to a second aspect of the embodiments of the present disclosure, there is provided a task flow synchronization control apparatus including: the node identification module is used for identifying a first control node and constructing a first control signal for the first control node; a branch obtaining module, configured to obtain multiple branches concurrently executed and controlled by the first control node, and establish a control signal queue for each branch; a first signal state detection module, configured to add the first control signal to a control signal queue of a current branch when it is determined that the current branch reaching the first control node exists and the first control node holds the first control signal; and the second signal state detection module is used for adding the first control signal in the current branch control signal queue to the control signal queue of any active branch in the multi-path branches of the first control node when the current branch reaching the first control node is judged to exist and the first control node does not hold the first control signal.
In an exemplary embodiment of the present disclosure, the apparatus further includes: and a third signal state detection module, configured to, when it is determined that there is a current branch reaching the first control node and the first control node does not hold the first control signal and there is no active branch of the first control node, return the first control signal in the control signal queue of the current branch to the first control node.
According to a third aspect of the embodiments of the present disclosure, there is provided a computer-readable storage medium, on which a computer program is stored, which when executed by a processor, implements the steps of the workflow synchronization control method described in any of the above embodiments.
According to a fourth aspect of the embodiments of the present disclosure, there is provided an electronic apparatus including: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform the steps of the workflow synchronization control method in any of the above embodiments via execution of the executable instructions.
The technical scheme provided by the embodiment of the disclosure can have the following beneficial effects:
in an embodiment of the present disclosure, the task flow synchronization control method may construct a control signal for the control node, and establish a control signal queue for the branch. Detecting the state of a first control signal when the current branch execution reaches a first control node, and adding the first control signal into a control signal queue of the current branch when the first control node holds the first control signal; or when the first control node does not hold the first control signal, the first control signal is added into the active branch to realize the entrusting and transmission of the first control signal, thereby realizing the synchronous control of the concurrency of the multiple branches and breaking through the limit of the prior art on the difficulty in calculating the number of the executed branches; logic judgment can be reduced, and control of the control signal can be completed by the same logic under any condition.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure. It is to be understood that the drawings in the following description are merely exemplary of the disclosure, and that other drawings may be derived from those drawings by one of ordinary skill in the art without the exercise of inventive faculty.
FIG. 1 schematically illustrates a workflow synchronization control method flow diagram in an exemplary embodiment of the disclosure;
FIG. 2 schematically illustrates a flow chart of a method of identifying a control node in an exemplary embodiment of the disclosure;
FIG. 3 schematically illustrates a flow chart of a method of obtaining multiple branches in an exemplary embodiment of the disclosure;
FIG. 4 is a flow chart schematically illustrating yet another workflow synchronization control method in an exemplary embodiment of the present disclosure;
FIG. 5 is a schematic diagram illustrating an exemplary flow scenario handled by the present invention in an exemplary embodiment of the present disclosure;
FIG. 6 schematically illustrates a flow node diagram in an exemplary embodiment of the disclosure;
FIG. 7 schematically illustrates a workflow synchronization control method flowchart in an exemplary embodiment of the disclosure;
FIG. 8 schematically illustrates another flow node diagram in an exemplary embodiment of the disclosure;
FIG. 9 schematically illustrates a workflow synchronization control apparatus in an exemplary embodiment of the disclosure;
fig. 10 schematically illustrates another workflow synchronization control apparatus in an exemplary embodiment of the present disclosure.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
Furthermore, the drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus their repetitive description will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.
The exemplary embodiment first provides a task flow synchronization control method. Referring to fig. 1, the method may include the steps of:
step S1, identifying a first control node and constructing a control first control signal for the first control node;
step S2, acquiring multiple branches controlled by the first control node to be executed concurrently, and establishing a control signal queue for each branch;
step S3, if there is a current branch to the first control node and the first control node holds the first control signal, adding the first control signal to a control signal queue of the current branch;
step S4, if there is a current branch reaching the first control node and the first control node does not hold the first control signal, adding the first control signal in the current branch control signal queue to the control signal queue of any active branch in the multi-path branches of the first control node.
By the task flow synchronous control method, on one hand, the state of the first control signal is detected when the current branch execution reaches the first control node, and the first control signal can be added into the control signal queue of the current branch or the control signal queue of any active branch, so that the delegation and transmission of the control signal are realized, the synchronous control of multi-path concurrence is realized, and the limit of the prior art on the difficulty in calculating the number of the execution branches is broken through. On the other hand, by transmitting the control signal between the branches, logical judgment can be reduced, and the control of the control signal can be completed by the same logic in any situation.
Hereinafter, the respective steps of the above-described method in the present exemplary embodiment will be described in more detail with reference to the drawings and examples.
Step S1, identifying a first control node and constructing a first control signal for the first control node.
In the present exemplary embodiment, each control node in the workflow diagram may be identified first. Specifically, as shown in fig. 2, the above-mentioned identification control node may include:
step S101, identifying a process node in an operation process;
and step S102, determining the first control node according to the type of the process node.
Due to the difference of the service complexity, in order to achieve a complex service target, the workflow may include a flow node such as start, end, branch (fork), join (join), judge, approve, review, cycle, or select. The first control node may be any of the node types described above. Further, task types may also generally include: multi-path condition judgment, multi-path concurrent execution similar tasks, multi-path concurrent execution different tasks and the like.
In this example embodiment, the first control node may be a sink node, and the workflow may include a plurality of sink nodes. Referring to fig. 7, after acquiring the first control node, a unique control signal can be constructed for the first control node, and the control signal is used to implement delegation of control right. For example, refer to fig. 6, in which the nodes 610 and 611 are sink nodes, and the nodes 601 and 603 are branch nodes.
In addition, in other exemplary embodiments of the present disclosure, there may be a plurality of aggregation nodes, and each aggregation node has a unique control signal. And a plurality of the aggregation nodes are in a nested structure. As shown in fig. 6, the sink node of the nested structure includes: node 610 and node 611. In addition, referring to fig. 8, the control node may also be in various forms, for example: any of a nested configuration, a parallel configuration, or a serial configuration. A plurality of sink nodes comprising a serial structure as in branch 622; the parallel branch composed of the branch 622 and the branch 623 includes a plurality of sink nodes in a parallel structure and a nested structure.
Step S2, obtaining multiple branches controlled by the first control node to execute concurrently, and establishing a control signal queue for each branch.
In the exemplary embodiment, referring to fig. 7, after the first control node in the workflow is identified, the first control node may trace back in the workflow to retrieve all reachable paths of the first control node in the workflow. Specifically, the obtaining of the multi-path branches concurrently executed and controlled by the first control node includes:
step S201, with the first control node as a starting point, retrieving all reachable branches and acquiring a reachable branch set; wherein the set of reachable branches comprises multiple branches of the first control node.
For example, referring to fig. 6, the sink nodes may be respectively: nodes 610 and 611 go back forward to the branch node: node 601 and node 603. After the workflow diagram is traversed and retrieved to obtain all reachable paths of each control node, a reachable branch set can be generated for each control node according to all reachable paths of each control node, and the reachable branch set can include multiple branches of each sink node. The reachable branches of the control nodes are obtained by means of backtracking of the control nodes, and only the incidence relation between the control nodes and the reachable path sets of the control nodes needs to be maintained, so that the linearity of the branch paths is guaranteed, the data retrieval mode is simplified, and the data obtaining efficiency is improved.
Further, based on the above, referring to fig. 3, the obtaining multi-path branch may further include:
step S202, judging whether the reachable branch set has a circulation branch;
step S203, if the loop branch exists, the loop branch is intercepted when the loop branch is retrieved and the second retrieval reaches the first control node.
In the flow chart, all node paths traced back from the sink node to the start node or back to the sink node again are defined as a reachable path set of the sink node; if the convergent node is retrieved again in the process of backtracking the reachable path, the path is proved to be a loop and needs to be cut off when the convergent node is encountered for the second time, otherwise, the retrieval algorithm is trapped in a dead loop, and the nodes on the continuously retrieved path are also invalid repeated nodes.
For example, referring to fig. 5, the sink node traces back forward, and returns to the sink node again after passing through the branch N, the determination condition, and the main service flow, thereby forming a loop; if the node returns to the sink node, the node continues to trace back forward, all the nodes retrieved again are repeated nodes, and the node can be cut off at the moment, so that endless loops and node repetition are avoided.
After obtaining the multi-path branches of the control node, the signal queues can be distributed to the branches through the branch nodes, and the concurrent execution of the branches is started. Of course, in other exemplary embodiments of the present disclosure, after identifying the control node, the multiple branches may be retrieved for the control node and then the control signal may be constructed for the control node. The branch may be any one or more of a conditional branch and a service branch.
Step S3, if there is a current branch to the first control node and the first control node holds the first control signal, add the first control signal to a control signal queue of the current branch.
In this exemplary embodiment, referring to fig. 7, after a multi-branch is executed concurrently by one control node, for example, the first control node may start to determine whether there is a current branch to the first control node. When it is determined that a current branch reaching the first control node exists in the multi-path branches, and the first control node holds the first control signal at the current time, that is, the current branch is the first branch reaching the first control node, the first control signal may be added to the control signal queue of the current branch, and the current branch is executed and changed from the active state to the inactive state. Then, all the control signals in the control signal queue of the first branch can be processed in a first-in first-out mode, so that the mode of processing signals of all the branches is uniform, other processing is not needed because the control signals of the first branch arrive at the branch, and processing logic is simplified.
Step S4, if there is a current branch reaching the first control node and the first control node does not hold the first control signal, adding the first control signal in the current branch control signal queue to the control signal queue of any active branch in the multi-path branches of the first control node, and when the current branch is executed, changing the active state into the inactive state.
In this exemplary embodiment, based on the above, referring to fig. 7, after the multiple branches are opened and executed concurrently, if it is determined that there is a current branch reaching the first control node, but the first control node does not hold the first control signal, the current branch is a branch subsequently reaching the first control node, at this time, the control signal queue of the current branch may be traversed, and when there is an active branch in the first control node to which the first control signal belongs, the first control signal in the current branch queue may be moved out of the current queue and added into the control signal queue of any active branch in the multiple branches, so as to implement transmission of the control signal.
Specifically, the aforementioned adding the first control signal in the current branch control signal queue to the control signal queue of any active branch in the multi-branch of the first control node may include:
step S401, judging whether the active branch exists in the multi-path branches;
step S402, if the active branch exists, traversing the control signal queue of the current branch in a first-in first-out mode;
step S403, adding the first control signal in the control signal queue of the current branch into the control signal queue of any active branch of the first control node.
The control signal queue of the current branch is traversed by utilizing a first-in first-out mode, so that the time sequence of a plurality of control signals held by the current execution queue can be ensured. When the current branch control signal queue is added into the active branch completely or the control signal queue is empty, the execution of the current branch is finished, and the branch can be terminated. And the control signal is added into the control signal queue of other active branches to realize the transmission of the control signal.
For example, referring to fig. 6, the branches where the nodes 605 to 609 are located may simultaneously hold control signals of two sink nodes (node 610 and node 611), and the control signal queues of the branches are processed in a first-in-first-out manner, so that more complex hierarchical nested sink control can be processed by using the signal queues.
In other exemplary embodiments of the present disclosure, the method described above may further include: and if the current branch is a cyclic branch, returning the control signal in the control signal queue of the cyclic branch to the control node again when the cyclic branch reaches the control node for the second time and the control node does not hold the control signal and does not have the active branch.
If the current branch reaching the control node is a cyclic branch, and when the cyclic branch reaches the control node for the first time, the control node does not hold the control signal and does not have the active branch, the control signal in the control signal queue of the cyclic branch can be returned to the control node, and primary synchronous control of the control node is completed. And when the cyclic branch reaches the control node for the second time, returning the control signal in the control signal queue of the cyclic branch to the control node again to finish the other synchronous control of the control node.
In addition, referring to fig. 4, the method may further include:
step S5, if there is a current branch to the first control node and the first control node does not hold the first control signal and there is no active branch of the first control node, returning the first control signal in the control signal queue of the current branch to the first control node.
In this example embodiment, after the multiple branches are started and executed concurrently, when the current branch reaches the first control node, if the first control node does not hold the first control signal and there is no active branch, it indicates that the current branch is the branch that reaches the first control node last, that is, all branches have reached the first control node, and at this time, the first control signal may be returned to the first control node, so as to complete the synchronous control of the multiple branches. At this time, the current synchronization control life cycle is terminated, and the sink node can start post-operation execution to push the process to continue execution.
In addition, after the control signal is returned to the sink node, the control signal can be reset to ensure the next synchronous control, and the control signal queues of all branches can be directly multiplexed. Referring to fig. 5, for example, in the case of loop execution, user interaction jump execution, etc., when the branches are executed again, the control signal queues of the branches may be directly multiplexed.
Based on the above, in the present exemplary embodiment, the method described above may further include: if the current branch reaching the first control node exists and the first control signal is not held in the control signal queues of the first control node and the current branch, the first control node continues to wait for the arrival of the next branch in the multi-path branches.
After the current branch reaches the first control node, when the first control node does not hold the first control signal, the control signal queue of the current branch can be traversed, and if the control signal queue of the current branch does not hold the first control signal at the moment, but other branches which do not reach the first control node or active branches which do not reach exist in the multi-path branch belonging to the first control node, the first control node can continue to wait for the arrival of the next branch in the multi-path branch at the moment so as to traverse the control signal queue of the next branch which reaches the first control node, thereby realizing the transmission of the control signal.
In other example embodiments of the present disclosure, the branch described above may include several nodes in series; wherein the determining whether the active branch exists in the multi-path branch comprises:
when at least one executing node exists in the branches, determining that the corresponding branch is the active branch.
For example, referring to fig. 6, a branch consisting of node 603, node 607, node 609 and node 610 is an active branch if any one of the nodes is executing.
Referring to fig. 5, branch 1, branch 2, branch 3 … …, and branch N may be created by a branch node, and a control signal queue may be created for each of the N branches. And constructing a unique control signal for the sink node.
If M branches are correctly executed in the N branches, the M branches reach the sink node; wherein, 1< ═ M < ═ N. And after the first branch of the M branches reaches the sink node, adding the control signal into the control signal queue of the branch, and returning the control signal to the sink node after the Mth branch reaches the sink node, so that the sink node executes subsequent main flow logic convergence after ensuring that the M branches all reach by releasing and recovering the control signal.
In the execution process of the main service flow, if the judgment condition 1 is satisfied, the branch N execution is skipped, and at the moment, the sink node can recover the control signal after the branch N execution is completed, and continue to execute the converged main service flow. In addition, if the user temporarily decides to jump to any branch according to the specific service scenario at that time, for example, jump to branch 1 and branch 2, during the execution of the main service flow, the sink node ensures that the sink node recovers the control signal after the execution of both branch 1 and branch 2 is completed (at least one execution is successful), and continues to execute the main service flow after the convergence.
Of course, in other example embodiments of the present disclosure, when there are a plurality of control nodes and a corresponding plurality of control signals, the above method may further include:
step S601, identifying a second control node, and constructing a second control signal for the second control node;
step S602, acquiring multiple branches controlled by the second control node to be executed concurrently, and establishing a control signal queue for each branch;
step S603, if there is a current branch reaching the second control node and the second control node does not hold the second control signal, traversing a current branch control signal queue of the second control node;
step S604, if there is an active branch in the control node to which the corresponding control signal in the current branch control signal queue of the second control node belongs, adding the corresponding control signal to the control signal queue of any active branch of the control node to which the corresponding control signal belongs.
For example, when there are two control nodes in the workflow, when identifying the workflow node in the workflow, the first control node and the second control node may be identified at the same time, and a control signal may be constructed for each control node and a multi-path branch of each control node may be obtained. In addition, the second control signal is identified and constructed by the second control node, and the multi-path branch of the second control node is acquired, so that the second control signal can be independently transmitted without being influenced by the transmission of other control signals.
In the present exemplary embodiment, as shown with reference to fig. 7, it is exemplified that there are three control nodes in the workflow. Assuming that a first reachable branch set of the first control node has a first branch, a second branch and a third branch; the second set of reachable branches of the second control node has a first branch, a fourth branch and a fifth branch. The third set of reachable branches of the third control node has a second branch, a sixth branch, and a seventh branch. First to seventh control signal queues are generated for the first to seventh branches, respectively.
When a current branch of the first control node, e.g., the first branch, reaches the first control node, the first branch acquires a first control signal and adds the first control signal to a first control signal queue when the first control node holds the first control signal. Then, traversing the first control signal queue of the first branch, if the first control signal queue stores the second control signal of the second control node in advance except the first control signal just added, according to the rule of first-in first-out, firstly judging whether the second reachable branch set of the second control node to which the second control signal belongs has other active branches, if so, removing the second control signal from the first control signal queue, adding the second control signal into the control signal queue of any active branch in the second reachable branch set, and assuming as the fourth control signal queue of the fourth branch or the fifth control signal of the fifth branch.
After the second control signal in the first control signal queue is removed, whether other active branches exist in a first reachable branch set of a first control node to which the first control signal in the first control signal queue belongs is judged, if so, the first control signal is removed from the first control signal queue, and the first control signal is added into a control signal queue of any active branch in the first reachable branch set, which is assumed to be a second control signal queue of a second branch or a third control signal queue of a third branch.
When a current branch of the first control node, for example, the first branch, reaches the first control node, and when the first control node does not hold a first control signal, first, a first control signal queue of the first branch is traversed, whether the first control signal queue stores the control signal is judged, and if no control signal exists in the first control signal queue, a next active branch continues to wait for reaching the first control node. If there are control signals in the first control signal queue, all the control signals in the first control signal queue are traversed, and the control signals in the first control signal queue are processed one by one according to the first-in first-out rule, in a similar way.
When traversing the first control signal queue, if it is determined that the control node to which a certain control signal belongs has no other active branches, for example, the first control node to which the first control signal belongs has no other active branches, returning the first control signal to the first control node, and the first control node controls one-time synchronous control to be completed.
In addition, there may be control signals of a plurality of control nodes in one control signal queue. After the control signal is shifted out of the current queue and added to the control signal queue of any active branch, if the first branch reaches the control node, the second branch reaches the control node, and the third branch reaches the control node, the first branch will first obtain the control signal and add the control signal to the control signal queue of the first branch. The control signal queue of the first branch is then traversed to detect the presence of other active branches of the control node. If the active branch is the second branch and the third branch, it is assumed that the control signal is added to the control signal queue of the third branch. Then when the second branch reaches the control node, the control signal is not present in both the control signal queue of the second branch and the control node, and the third branch may be waited for to reach the control node. When the third branch reaches the control node, the control signal in the control signal queue of the third branch can be shifted out and added to the control signal queue of any active branch.
Furthermore, in other exemplary embodiments of the present disclosure, the method described above may further include:
step S701, configuring a control strategy for the first control node;
step S702, when the current branch reaches the first control node, if the current state of the first control node satisfies the control policy, returning the first control signal to the first control node.
Specifically, the method may also configure a control policy, such as approval and a specified ratio, for the control node, and only need to bind the control policy and the control signal corresponding to the control node, and verify the policy each time the control signal is transmitted or delegated. The control strategy is configured by setting the control node, so that the operation of expanding the operation flow is simple.
For a specific proportion policy, for example, if the control policy configuring the sink node is that the number of designated branches is n, when each branch reaches the sink node and delegates the control signal, it can be verified whether the number of branches reaching the sink node at the current time is up to n. If the condition is met, the convergence condition is considered to be established, and the control signal is returned to the convergence node in advance; meanwhile, other active branches can be set as converged, so that the converged nodes are guaranteed not to be triggered any more after the active branches reach the converged nodes, and control with a strategy is completed. Of course, in other exemplary embodiments of the present disclosure, the control policy configured by the control node may also be in other forms, for example, a policy for specifying a task or terminating a certain node, and the present disclosure does not specifically limit this.
In summary, the above method in the exemplary embodiment can avoid dead loops and node repetitions by actively cutting off loop paths when retrieving reachable paths of control nodes, so as to obtain an effective reachable path node set. In addition, a plurality of control signals can be entrusted to one branch by constructing a unique control signal for each control node and establishing a control signal queue for each branch, so that the nested use of concurrent control is realized. Furthermore, the next time the control signal is multiplexed, the branch node may no longer allocate a signal queue for each branch. By setting the repeated use of the control signals among the branches, the method can support complicated flow circulation, condition control, arbitrary flow jump and arbitrary number of branches, and can realize unpredictable concurrent synchronous control such as execution starting from arbitrary positions of the branches, thereby enabling the method to cope with synchronous control under different scenes.
It should be noted that although the various steps of the methods of the present disclosure are depicted in the drawings in a particular order, this does not require or imply that these steps must be performed in this particular order, or that all of the depicted steps must be performed, to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken down into multiple step executions, etc. Additionally, it will also be readily appreciated that the steps may be performed synchronously or asynchronously, e.g., among multiple modules/processes/threads.
Further, in the present exemplary embodiment, a workflow synchronization control apparatus is also provided. Referring to fig. 9, an apparatus 800 may include: a node identification module 801, a branch acquisition module 802, a first signal status detection module 803, and a second signal status detection module 804. Wherein:
the node identification module 801 may be configured to identify a first control node and construct a first control signal for the first control node.
The branch obtaining module 802 may be configured to obtain multiple branches that are controlled by the first control node to execute concurrently, and establish a control signal queue for each branch.
The first signal state detection module 803 may be configured to add the first control signal to a control signal queue of the current branch when it is determined that the current branch reaching the first control node exists and the first control node holds the first control signal.
The second signal state detection module 804 may be configured to add the first control signal in the current branch control signal queue to the control signal queue of any active branch in the multiple branches of the first control node when it is determined that there is a current branch reaching the first control node and the first control node does not hold the first control signal.
In an exemplary embodiment of the present disclosure, the apparatus 800 described above may further include: a third signal state detection module (not shown).
The third signal state detection module may be configured to, when it is determined that there is a current branch reaching the first control node and the first control node does not hold the first control signal and there is no active branch of the first control node, return the first control signal in the control signal queue of the current branch to the first control node.
In an exemplary embodiment of the present disclosure, the apparatus 800 described above may further include: and a fourth signal state detection module.
The fourth signal state detection module may be configured to, when there is a current branch reaching the first control node and the first control signal is not held in the control signal queues of the first control node and the current branch, continue waiting for a next branch in the multi-path branches to arrive at the first control node.
In an exemplary embodiment of the present disclosure, the apparatus 800 described above may further include: the system comprises a multi-node identification module, a multi-branch acquisition module, a multi-node first signal state detection module, a multi-node second signal state detection module and a multi-node third signal state detection module.
The multi-node identification module may be configured to identify a second control node and construct a second control signal for the second control node.
The multi-branch obtaining module may be configured to obtain multiple branches that are controlled by the second control node to be executed concurrently, and establish a control signal queue for each branch.
The multi-node first signal state detection module may be configured to add the second control signal to a control signal queue of the current branch when it is determined that the current branch to the second control node exists and the second control node holds the second control signal.
The multi-node second signal state detection module may be configured to traverse a current branch control signal queue of the second control node when it is determined that there is a current branch to the second control node and the second control node does not hold the second control signal.
The multi-node third signal state detection module may be configured to add the corresponding control signal to a control signal queue of any active branch of the control node when it is determined that the control node to which the corresponding control signal in the current branch control signal queue of the second control node belongs has an active branch.
In an exemplary embodiment of the present disclosure, the apparatus 800 described above may further include: and a loop branch detection module.
The loop branch detection module may be configured to, when it is determined that the current branch is a loop branch, return the first control signal in the control signal queue of the loop branch to the first control node again when the loop branch reaches the first control node for the second time and the first control node does not hold the first control signal and does not have an active branch of the first control node.
In an exemplary embodiment of the present disclosure, the third signal state detection module may include: the device comprises an active branch detection module, a signal traversal module and a control signal distribution module.
The active branch detection module may be configured to determine whether an active branch exists in the multi-path branches.
The signal traversing module may be configured to traverse the control signal queue of the current branch in a first-in first-out manner when it is determined that an active branch exists.
The control signal distribution module may be configured to add the first control signal in the control signal queue of the current branch to the control signal queue of any active branch of the first control node.
In an exemplary embodiment of the present disclosure, the branch includes a node; the active branch detection module comprises a node state detection module.
The node state detection module may be configured to determine that the corresponding branch is an active branch when it is determined that at least one executing node exists in the branches.
In an exemplary embodiment of the present disclosure, the apparatus 800 described above may further include: a flow node identification module and a node type judgment module.
The process node identification module may be configured to identify a process node in a workflow.
The node type determination module may be configured to determine the first control node according to the type of the process node.
In an exemplary embodiment of the disclosure, the branch obtaining module 802 may include: a branch retrieval module is reachable.
The reachable branch retrieval module may be configured to retrieve a reachable branch and obtain a reachable branch set, with the first control node as a starting point; wherein the set of reachable branches comprises multiple branches of the first control node.
In an exemplary embodiment of the disclosure, if the first control node is a sink node, the reachable branch retrieving module may include: and a backtracking retrieval module.
The backtracking retrieval module may be configured to retrieve the reachable branch in a backtracking manner using the first control node as a starting point.
In an exemplary embodiment of the present disclosure, the backtracking retrieving module may further include: the loop cutting device comprises a loop branch detection module and a loop cutting module.
The loop branch detection module may be configured to determine whether a loop branch exists in the reachable branch set.
The loop truncation module may be configured to, upon determining that the loop branch exists, truncate the loop branch upon retrieving the loop branch and retrieving a second time to the first control node.
In an exemplary embodiment of the present disclosure, the apparatus 800 described above may further include: the system comprises a policy configuration module and a policy execution module.
Wherein the policy configuration module may be configured to configure a control policy for the first control node.
The policy execution module may be configured to, when the current branch reaches the first control node, return the first control signal to the first control node if a current state of the first control node satisfies the control policy.
In an exemplary embodiment of the present disclosure, the first control node includes any one of a start node, an end node, a branch node, a sink node, a judgment node, an approval node, or a review node.
In an exemplary embodiment of the disclosure, if the first control node is the sink node, the sink nodes are multiple, and each sink node has a unique control signal.
In an exemplary embodiment of the disclosure, the plurality of sink nodes are in any one of a nested structure, a parallel structure and a serial structure.
In an exemplary embodiment of the present disclosure, the branch includes any one or more of a conditional branch and a traffic branch.
With regard to the apparatus in the above-described embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the method, and will not be elaborated here.
It should be noted that although in the above detailed description several modules or units of the device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units. The components shown as modules or units may or may not be physical units, i.e. may be located in one place or may also be distributed over a plurality of network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the wood-disclosed scheme. One of ordinary skill in the art can understand and implement it without inventive effort.
In this example embodiment, there is also provided a computer readable storage medium, on which a computer program is stored, which when executed by a processor, implements the steps of the workflow synchronization control method described in any of the above embodiments. For the specific steps of the workflow synchronization control method, reference may be made to the detailed description of the steps of the workflow synchronization control method in the foregoing embodiments, and details are not repeated here. The computer readable storage medium may be a ROM, a Random Access Memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.
There is also provided in this example embodiment an electronic device that may include a processor and a memory to store executable instructions for the processor. Wherein the processor is configured to perform the steps of the workflow synchronization control method in any of the above embodiments via execution of the executable instructions. The steps of the workflow synchronization control method can refer to the detailed description in the foregoing method embodiments, and are not described herein again.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
Fig. 10 shows a schematic diagram of a workflow synchronization control apparatus 140 according to an example embodiment of the present disclosure. For example, the apparatus 140 may be provided as a server. Referring to fig. 10, apparatus 140 includes a processing component 422, which further includes one or more processors, and memory resources, represented by memory 432, for storing instructions, such as applications, that are executable by processing component 422. The application programs stored in memory 432 may include one or more modules that each correspond to a set of instructions. Further, the processing component 422 is configured to execute instructions to perform the above-described methods.
The apparatus 140 may also include a power component 426 configured to perform power management of the apparatus 400, a wired or wireless network interface 450 configured to connect the apparatus 400 to a network, and an input/output (I/O) interface 458. The device 140 may operate based on an operating system stored in the memory 432, such as Windows Server, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, or the like.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.

Claims (34)

1. A task flow synchronization control method is characterized by comprising the following steps:
identifying a first control node and constructing a first control signal for the first control node;
acquiring a plurality of branches controlled by the first control node to be executed concurrently, and establishing a control signal queue for each branch;
if a current branch reaching the first control node exists and the first control node holds the first control signal, adding the first control signal into a control signal queue of the current branch;
and if the current branch reaching the first control node exists and the first control node does not hold the first control signal, adding the first control signal in the current branch control signal queue to a control signal queue of any active branch in the multi-branch of the first control node.
2. The method of claim 1, further comprising:
and if the current branch reaching the first control node exists and the first control node does not hold the first control signal and does not have the active branch of the first control node, returning the first control signal in the control signal queue of the current branch to the first control node.
3. The method of claim 1, further comprising:
if the current branch reaching the first control node exists and the first control signal is not held in the control signal queues of the first control node and the current branch, the first control node continues to wait for the arrival of the next branch in the multi-path branches.
4. The method of claim 1, further comprising:
identifying a second control node and constructing a second control signal for the second control node;
acquiring a plurality of branches controlled by the second control node to be executed concurrently, and establishing a control signal queue for each branch;
if a current branch reaching the second control node exists and the second control node holds the second control signal, adding the second control signal into a control signal queue of the current branch;
traversing a current branch control signal queue of the second control node if there is a current branch to the second control node and the second control node does not hold the second control signal;
and if the control node to which the corresponding control signal in the current branch control signal queue of the second control node belongs has an active branch, adding the corresponding control signal to the control signal queue of any active branch of the control node to which the corresponding control signal belongs.
5. The method of claim 2, further comprising:
and if the current branch is a cyclic branch, returning the first control signal in the control signal queue of the cyclic branch to the first control node again when the cyclic branch reaches the first control node for the second time and the first control node does not hold the first control signal and does not have an active branch of the first control node.
6. The method of claim 2, wherein adding the first control signal in the current branch control signal queue to the control signal queue of any active branch of the multi-way branches of the first control node comprises:
judging whether active branches exist in the multi-path branches;
if the active branch exists, traversing the control signal queue of the current branch in a first-in first-out mode;
and adding the first control signal in the control signal queue of the current branch into the control signal queue of any active branch of the first control node.
7. The method of claim 6, wherein the branches comprise nodes; wherein the determining whether an active branch exists in the multi-path branch comprises:
when at least one executing node exists in the branches, determining that the corresponding branch is an active branch.
8. The method of claim 1, further comprising:
identifying a process node in the workflow;
and determining the first control node according to the type of the process node.
9. The method of claim 1 or 8, wherein obtaining the concurrently executing multi-way branches controlled by the first control node comprises:
searching for reachable branches and acquiring a reachable branch set by taking the first control node as a starting point;
wherein the set of reachable branches comprises multiple branches of the first control node.
10. The method of claim 9, wherein if the first control node is a sink node, retrieving reachable branches and obtaining a set of reachable branches starting from the first control node comprises:
and taking the first control node as a starting point, and retrieving the reachable branch in a backtracking mode.
11. The method of claim 10, further comprising:
judging whether a loop branch exists in the reachable branch set;
if the cyclic branch exists, truncating the cyclic branch when the cyclic branch is retrieved and retrieved a second time to the first control node.
12. The method of claim 10, further comprising:
configuring a control strategy for the first control node;
and when the current branch reaches the first control node, if the current state of the first control node meets the control strategy, returning the first control signal to the first control node.
13. The method of claim 8, wherein the first control node comprises any one of a branch node, a sink node, a judge node, an approve node, or a review node.
14. The method of claim 13, wherein if the first control node is the sink node, the sink node is a plurality of sink nodes, and each sink node has a unique control signal.
15. The method of claim 14, wherein a plurality of the sink nodes are in any one of a nested configuration, a parallel configuration, or a serial configuration.
16. The method of claim 1, wherein the branch comprises any one or more of a conditional branch and a traffic branch.
17. A task flow synchronization control apparatus, comprising:
the node identification module is used for identifying a first control node and constructing a first control signal for the first control node;
a branch obtaining module, configured to obtain multiple branches concurrently executed and controlled by the first control node, and establish a control signal queue for each branch;
a first signal state detection module, configured to add the first control signal to a control signal queue of a current branch when it is determined that the current branch reaching the first control node exists and the first control node holds the first control signal;
and the second signal state detection module is used for adding the first control signal in the current branch control signal queue to the control signal queue of any active branch in the multi-path branches of the first control node when the current branch reaching the first control node is judged to exist and the first control node does not hold the first control signal.
18. The apparatus of claim 17, further comprising:
and a third signal state detection module, configured to, when it is determined that there is a current branch reaching the first control node and the first control node does not hold the first control signal and there is no active branch of the first control node, return the first control signal in the control signal queue of the current branch to the first control node.
19. The apparatus of claim 17, further comprising:
a fourth signal state detection module, configured to, if there is a current branch reaching the first control node and the first control signal queue of the first control node and the current branch does not hold the first control signal, continue waiting for a next branch in the multiple branches to reach the first control node.
20. The apparatus of claim 17, further comprising:
the multi-node identification module is used for identifying a second control node and constructing a second control signal for the second control node;
a multi-branch acquisition module, configured to acquire multiple branches concurrently executed by the second control node, and establish a control signal queue for each branch;
a multi-node first signal state detection module, configured to add the second control signal to a control signal queue of the current branch if there is a current branch reaching the second control node and the second control node holds the second control signal;
a multi-node second signal state detection module, configured to traverse a current branch control signal queue of the second control node if there is a current branch reaching the second control node and the second control node does not hold the second control signal;
and the multi-node third signal state detection module is used for adding the corresponding control signal to a control signal queue of any active branch of the control node if the control node to which the corresponding control signal belongs in the current branch control signal queue of the second control node has an active branch.
21. The apparatus of claim 18, further comprising:
and if the current branch is a cyclic branch, returning the first control signal in the control signal queue of the cyclic branch to the first control node again when the cyclic branch reaches the first control node for the second time and the first control node does not hold the first control signal and does not have an active branch of the first control node.
22. The apparatus of claim 18, wherein the third signal state detection module comprises:
the active branch detection module is used for judging whether active branches exist in the multi-path branches;
the signal traversing module is used for traversing the control signal queue of the current branch in a first-in first-out mode if an active branch exists;
and the control signal distribution module is used for adding the first control signal in the control signal queue of the current branch into the control signal queue of any active branch of the first control node.
23. The apparatus of claim 22, wherein the branch comprises a node; wherein the active branch detection module comprises:
and the node state detection module is used for judging that the corresponding branch is an active branch when at least one executing node exists in the branches.
24. The apparatus of claim 17, further comprising:
the flow node identification module is used for identifying flow nodes in the operation flow;
and the node type judging module is used for determining the first control node according to the type of the process node.
25. The apparatus of claim 17 or 24, wherein the branch acquisition module comprises:
the reachable branch retrieval module is used for retrieving reachable branches and acquiring a reachable branch set by taking the first control node as a starting point;
wherein the set of reachable branches comprises multiple branches of the first control node.
26. The apparatus of claim 25, wherein if the first control node is a sink node, the reachable branch retrieval module comprises:
and the backtracking retrieval module is used for retrieving the reachable branches in a backtracking mode by taking the first control node as a starting point.
27. The apparatus of claim 26, wherein the backtracking retrieval module further comprises:
the loop branch detection module is used for judging whether loop branches exist in the reachable branch set or not;
a loop truncation module to truncate the loop branch when the loop branch is retrieved and the second retrieval reaches the first control node if the loop branch exists.
28. The apparatus of claim 26, further comprising:
a policy configuration module configured to configure a control policy for the first control node;
and the strategy execution module is used for returning the first control signal to the first control node if the current state of the first control node meets the control strategy when the current branch reaches the first control node.
29. The apparatus of claim 24, wherein the first control node comprises any one of a start node, an end node, a branch node, a sink node, a judge node, an approve node, or a review node.
30. The apparatus of claim 29, wherein if the first control node is the sink node, the sink node is a plurality of sink nodes, each sink node having a unique control signal.
31. The apparatus of claim 30, wherein the plurality of aggregation nodes are in any one of a nested configuration, a parallel configuration, or a serial configuration.
32. The apparatus of claim 17, wherein the branch comprises any one or more of a conditional branch and a traffic branch.
33. A computer-readable storage medium, on which a computer program is stored, which program, when being executed by a processor, is adapted to carry out the steps of the method of any one of claims 1 to 16.
34. An electronic device, comprising:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the steps of the method of any of claims 1 to 16 via execution of the executable instructions.
CN201810474780.1A 2018-05-17 2018-05-17 Task flow synchronization control method and device, storage medium and electronic equipment Active CN108734398B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810474780.1A CN108734398B (en) 2018-05-17 2018-05-17 Task flow synchronization control method and device, storage medium and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810474780.1A CN108734398B (en) 2018-05-17 2018-05-17 Task flow synchronization control method and device, storage medium and electronic equipment

Publications (2)

Publication Number Publication Date
CN108734398A CN108734398A (en) 2018-11-02
CN108734398B true CN108734398B (en) 2020-11-20

Family

ID=63938524

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810474780.1A Active CN108734398B (en) 2018-05-17 2018-05-17 Task flow synchronization control method and device, storage medium and electronic equipment

Country Status (1)

Country Link
CN (1) CN108734398B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116126538A (en) * 2019-03-07 2023-05-16 创新先进技术有限公司 Service processing method, device, equipment and storage medium
CN110231985A (en) * 2019-06-17 2019-09-13 三角兽(北京)科技有限公司 Operation flow data processing method, device, electronic equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101884032A (en) * 2007-12-04 2010-11-10 阿尔卡特朗讯美国公司 Method and apparatus for describing parallel access to a system-on-chip
CN102521044A (en) * 2011-12-30 2012-06-27 北京拓明科技有限公司 Distributed task scheduling method and system based on messaging middleware
US8577220B1 (en) * 2008-02-28 2013-11-05 Aurora Networks, Inc. Method and system for protecting against communication loss in an optical network system
CN104869734A (en) * 2015-06-19 2015-08-26 福建骏鹏通信科技有限公司 Lamplight system adopting multi-path parallel control
CN105451334A (en) * 2015-06-30 2016-03-30 知鑫知识产权服务(上海)有限公司 High-energy-efficiency data collection method used for wireless sensor network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101884032A (en) * 2007-12-04 2010-11-10 阿尔卡特朗讯美国公司 Method and apparatus for describing parallel access to a system-on-chip
US8577220B1 (en) * 2008-02-28 2013-11-05 Aurora Networks, Inc. Method and system for protecting against communication loss in an optical network system
CN102521044A (en) * 2011-12-30 2012-06-27 北京拓明科技有限公司 Distributed task scheduling method and system based on messaging middleware
CN104869734A (en) * 2015-06-19 2015-08-26 福建骏鹏通信科技有限公司 Lamplight system adopting multi-path parallel control
CN105451334A (en) * 2015-06-30 2016-03-30 知鑫知识产权服务(上海)有限公司 High-energy-efficiency data collection method used for wireless sensor network

Also Published As

Publication number Publication date
CN108734398A (en) 2018-11-02

Similar Documents

Publication Publication Date Title
US10171284B2 (en) Reachability-based coordination for cyclic dataflow
US8756343B2 (en) Data management method and node apparatus
CN106354566B (en) A kind of method and server of command process
US10108401B2 (en) Dynamic suggestion of next task based on task navigation information
US6202192B1 (en) Distributed static timing analysis
JP2012181852A (en) Task processing scheduling method and device for implementing the same
US10871918B2 (en) Writing composite objects to a data store
CN108734398B (en) Task flow synchronization control method and device, storage medium and electronic equipment
CN105045632A (en) Method and device for implementing lock free queue in multi-core environment
CN110932981B (en) Data exchange system supporting automatic routing
Wang et al. FLOWPROPHET: Generic and accurate traffic prediction for data-parallel cluster computing
WO2015024432A1 (en) Instruction scheduling method and device
CN103136043B (en) The moving method of a kind of asynchronous IO, System and Network node
Xing et al. From POOSL to UPPAAL: Transformation and quantitative analysis
US20160335170A1 (en) Model checking device for distributed environment model, model checking method for distributed environment model, and medium
Hang et al. Timing analysis for mode switch in component-based multi-mode systems
KR101383225B1 (en) Performance analysis method, performance analysis apparatus for at least one execution unit, and computer readable recording medium recording program performing the performance analysis method
KR101812452B1 (en) Method for executing processing of queries in cloud services and apparatus using the same
JP6924898B2 (en) Transaction processing methods, devices and devices
US9590908B2 (en) Distributed data processing device and distributed data processing method
US10067816B2 (en) Model checking apparatus and method, and storage medium having program stored therein
Hang et al. Timing analysis for a composable mode switch
CN116755782B (en) Method, device, equipment, storage medium and program product for instruction scheduling
US11960491B2 (en) Storage medium, pattern search device, and pattern search method
CN115250251B (en) Transmission path planning method and device in network-on-chip simulation, electronic equipment and computer readable storage 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
GR01 Patent grant
GR01 Patent grant