WO2022001355A1 - Workflow arrangement method and device - Google Patents

Workflow arrangement method and device Download PDF

Info

Publication number
WO2022001355A1
WO2022001355A1 PCT/CN2021/091741 CN2021091741W WO2022001355A1 WO 2022001355 A1 WO2022001355 A1 WO 2022001355A1 CN 2021091741 W CN2021091741 W CN 2021091741W WO 2022001355 A1 WO2022001355 A1 WO 2022001355A1
Authority
WO
WIPO (PCT)
Prior art keywords
workflow
node
private copy
nodes
user
Prior art date
Application number
PCT/CN2021/091741
Other languages
French (fr)
Chinese (zh)
Inventor
任东升
曹大为
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2022001355A1 publication Critical patent/WO2022001355A1/en

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/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • 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/10Office automation; Time management

Definitions

  • the present application relates to the field of computer technologies, and in particular, to a method and apparatus for arranging a workflow.
  • a workflow is a series of interconnected, automated business activities or tasks. Specifically, the workflow is based on office automation, through the enterprise-defined process transition to realize automatic process flow, business application approval, timely information communication, etc., ultimately to improve work level and work efficiency.
  • the traditional workflow engine is suitable for generating a single fixed business process.
  • the involved business processes may be executed in inconsistent order or constantly change according to complex conditions, the traditional workflow engine cannot. satisfy.
  • the present application provides a workflow arrangement method and device, which are used to enhance the flexibility of workflow arrangement and meet the usage requirements of complex business scenarios.
  • the present application provides a workflow model, which is used to define workflow nodes; wherein, each workflow node is used to describe a link of a business process, and the workflow nodes include: rules, used to define The operation to be executed in the link, and the execution conditions of the operation to be executed; wherein, the operation to be executed includes the start operation, and the workflow node is specifically used to execute the operation after monitoring that the state of the upper-level node meets the execution condition of the start operation. Start the operation.
  • the startup of the workflow node is controlled by itself, that is, when the startup condition is detected, the startup operation can be performed, and the upper-level node does not need to trigger the startup of the lower-level node. Therefore, the life cycle of the workflow node can be managed by itself.
  • the workflow model composed of this type of workflow nodes has higher flexibility and can be applied to complex and flexible application scenarios.
  • the present application provides a method for arranging a workflow.
  • the method can be implemented by a terminal device or by components of the terminal device, such as processing devices, circuits, chips and other components in the terminal device.
  • the method further includes: receiving a first request from a user; in response to the first request, generating a first private copy based on the workflow model requested by the first request, where the first private copy is the same as the workflow model; The first adjustment operation of the copy obtains a second private copy; in response to the first instruction triggered by the user on the second private copy, a workflow instance is generated, and the workflow instance and the second private copy are in one-to-one correspondence; wherein, the workflow model, Used to define workflow nodes, each workflow node is used to describe a link of the business process, and the workflow nodes include: rules, used to define the operations to be executed included in the link, and the execution conditions of the operations to be executed; wherein, The operation to be executed includes a start operation, and the workflow node is specifically configured to execute the start operation after monitoring that the state of the upper-level node satisfies the execution condition of the start operation.
  • the workflow model and the workflow nodes are loosely coupled, and the life cycle of the workflow node is managed by itself, without relying on other nodes to trigger and start, and the workflow instance has a one-to-one corresponding private copy, therefore, in the workflow During the running of the instance, the workflow instance can still be modified, which enhances the flexibility of the process choreography method and can meet the process choreography requirements of complex projects.
  • the third private copy is obtained in response to the user's second adjustment operation on the second private copy; in response to the second instruction triggered by the user on the third private copy , the workflow instance is adjusted so that the workflow instance is consistent with the third private copy.
  • workflow instances have a one-to-one correspondence with private copies.
  • the private copies in the running process can be adjusted, which is a one-to-one adjustment method and will not affect the workflow instances generated by the same workflow model. , which can realize the flexible adjustment of the workflow instance during the running process of the workflow instance.
  • embodiments of the present application provide a terminal device, including a processor and a memory, wherein the memory is used to store one or more computer programs; when the one or more computer programs stored in the memory are executed by the processor, the The terminal device can implement any one of the possible design methods of the above two aspects.
  • a terminal device including: modules/units for performing any possible design method of the second aspect or the second aspect; these modules/units may be implemented by hardware, or by The hardware executes the corresponding software implementation.
  • a fifth aspect further provides a chip, the chip is coupled to the memory in the terminal device described in the first aspect, so that the chip invokes the program instructions stored in the memory when running, so as to realize the above-mentioned second methods provided.
  • a computer-readable storage medium includes a computer program, and when the computer program runs on a terminal device, the terminal device is caused to execute the method provided in the second aspect.
  • a computer program product comprising instructions, which, when executed on a computer, cause the computer to perform the method provided in the second aspect above.
  • FIG. 1 is a schematic diagram of a workflow provided by an embodiment of the present application.
  • FIG. 2 is a schematic diagram of a traditional workflow model
  • FIG. 3 is a schematic diagram of a workflow node module library provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of a workflow model provided by an embodiment of the present application.
  • FIG. 5 is a schematic diagram of another workflow model provided by an embodiment of the present application.
  • FIG. 6 is a schematic flowchart corresponding to a method for arranging a workflow according to an embodiment of the present application
  • FIG. 7 is a schematic diagram of a workflow arrangement according to an embodiment of the present application.
  • FIG. 8 is a schematic diagram of an adjustment process of a workflow instance provided by an embodiment of the present application.
  • FIG. 9 is a schematic diagram of a process for generating a workflow instance provided by an embodiment of the present application.
  • FIG. 10 is a schematic process diagram of a workflow instance in an adjustment operation process provided by an embodiment of the present application.
  • FIG. 11 is a possible exemplary block diagram of a terminal device involved in an embodiment of the application.
  • FIG. 12 is a schematic diagram of a terminal device according to an embodiment of the present application.
  • the workflow provided by the embodiments of the present application can be applied to various application scenarios such as engineering project management, enterprise business process management, and e-commerce process management.
  • workflow is an abstract and general description of the business rules between the workflow and its various operation steps.
  • workflow is to use computers to automatically transfer documents, information or tasks among multiple participants according to certain predetermined rules in order to achieve a certain business goal.
  • the work efficiency is very low.
  • the user only needs to fill in the relevant form on the computer. After the filling is completed, the form will be automatically circulated according to the pre-defined process, and the next-level approver will receive the relevant attachments and can, as needed, Perform modification, tracking, management, query, statistics, printing, etc., after the online processing is completed, it will automatically flow to the next process, which greatly improves the efficiency.
  • the "workflow modeling” involved in the embodiment of the present application refers to the logic and rules that organize the various links in the workflow together before and after, and expresses and calculates it with an appropriate model in the computer.
  • the model is for the workflow model.
  • the workflow model includes at least one workflow node, and each workflow node is used to describe a link of the business process.
  • business processes can be divided into “leave application” process, "reimbursement application” process, etc.
  • the workflow nodes included in the workflow model corresponding to each business process can be, the approval of the application at all levels
  • the workflow model corresponding to the reimbursement application is the reimbursement application (including filling in the reimbursement form), the approval of the department leader, the approval of the company manager, the financial review, and the loan.
  • FIG. 1 is a schematic diagram of the workflow model established for the engineering project.
  • the workflow model can include: project initiation node, design node, procurement node, construction node, commissioning node and acceptance node.
  • the workflow model can also be used to define the relationship between the nodes.
  • the relationship between the nodes is represented by a directed edge.
  • the project establishment node is the upper-level node of the design node.
  • the design node is the subordinate node of the project establishment node;
  • the design node is the superior node of the procurement node, correspondingly, the procurement node is the subordinate node of the design node, and so on.
  • an upper-level node may also be referred to as a parent node, or simply referred to as a parent node, and a lower-level node may be referred to as a child node.
  • a parent node or simply referred to as a parent node
  • a lower-level node may be referred to as a child node.
  • the relationship between nodes may have different expressions, which are not limited in this embodiment of the present application.
  • workflow model shown in FIG. 1 is only an example, and the workflow model may include more or less workflow nodes, and the number of parent nodes and child nodes may be one or more. This is not specifically limited in the application examples. It should be noted that the workflow node and the node in the embodiments of the present application are the same concept, and the two can be replaced with each other.
  • Workflow engine mainly used for organizational business process management. Specifically, based on the workflow engine, automated workflow rules can be customized according to the business needs of the organization. Documents, information or tasks are run in accordance with the established business rules, and collaborative work among organizational members can be achieved to achieve business goals.
  • the widely used workflow engine is Activiti, the core of which is the process engine of BPMN (a set of graphical representations used to describe various business processes in detail with business process models).
  • the workflow engine can be used for model management, such as creating and editing workflow models, and can also be used for generating workflow instances (which will be described below).
  • Workflow instance an instance generated by the workflow engine based on the workflow model and specific business information.
  • a workflow engine can be used to generate a workflow instance.
  • a workflow model named "leave application” is created on the workflow engine, and the user calls the workflow model of the leave application and fills in the specific leave application. After entering the type, date of leave and the reason for the leave, click the "OK" button to initiate the leave application workflow.
  • the workflow of the leave request triggered by the user is a workflow instance.
  • Fig. 2 it is a schematic diagram of a traditional workflow for applying for leave.
  • the traditional workflow must contain a clear "start" node and an "end” node.
  • the workflow starts from the start node and follows the workflow
  • the workflow nodes defined by the model are executed in sequence. After the upper-level node is completed, the lower-level node is designated to start until the end node.
  • the traditional workflow is suitable for a single fixed business process.
  • the current business process is becoming more and more complex and more flexible. For example, during the implementation of some projects, it may be necessary to add nodes, reduce nodes, or adjust the relationship between nodes.
  • the flow model and workflow nodes are tightly coupled, and the workflow instance cannot be modified during the running process of the workflow instance. Therefore, the traditional workflow cannot support complex and flexible business scenarios.
  • the workflow model is composed of stateless workflow nodes.
  • the workflow node can monitor the state of the upper-level node, and execute the startup operation after monitoring that the state of the upper-level node satisfies the preset startup condition, that is, the workflow node
  • the life cycle of the workflow can be managed by itself and not controlled by other nodes.
  • the workflow model and the workflow nodes are loosely coupled. Therefore, during the running process of the workflow instance, the workflow instance can still be adjusted according to the requirements to meet the complex and flexible requirements. the needs of the business scenario.
  • the stateless nodes of the embodiments of the present application have the characteristics of independence and atomicity, and there is a peer-to-peer relationship between nodes.
  • the node can perform the startup operation according to the state of the upper node.
  • the embodiment of the present application configures a rule for a stateless node, and the rule is used to define the operation to be executed contained in the node, and the execution conditions of the operation to be executed.
  • the operation to be executed contained in the node includes starting Operation, exemplarily, the execution condition of the startup operation is that the status of one or more upper-level nodes of the workflow node is a completed state, and the node of the present application has the function of monitoring the status of the upper-level node, and when the one or more upper-level nodes are monitored.
  • the startup operation is performed, instead of the lower-level node being specified and started by the upper-level node, so that the operation of the node (for example, the startup operation) is determined by its own rules and can be managed by itself. Its own life cycle will not affect other workflow nodes. Therefore, even in the running process of the workflow instance, the workflow nodes included in the workflow instance can be adjusted, which increases the flexibility of the workflow. It can be applied to more and more complex application scenarios.
  • a workflow node module library is provided in the embodiments of the present application.
  • the workflow node module library includes: One or more predefined workflow nodes.
  • the node names shown in FIG. 3 are for illustration only, and do not limit the relationship between nodes.
  • node 4 may be an upper-level node of node 1
  • node 2 may be a lower-level node of node 5. Not listed here.
  • workflow models When building a workflow model, users can select the required workflow nodes from the workflow node module library, and connect the selected workflow nodes together through directed edges. That is, different workflow models can be constructed based on the same workflow node module library, and the different workflow models can contain different workflow nodes, or include the same workflow nodes but with different relationships between nodes, so as to satisfy the The needs of different business processes.
  • Application Scenario 1 Workflow with multiple start nodes and/or end nodes
  • the workflow nodes in the embodiments of the present application can all be used as start nodes or end nodes, that is, the workflow model in the embodiments of the present application can have multiple start nodes and/or multiple end nodes, see FIG. 4 , which is the present invention
  • FIG. 4 A schematic diagram of a workflow model provided by the embodiment.
  • the workflow model includes 3 start nodes, namely: node 1, node 2 and node 4, the 3 start nodes respectively monitor the status of their own superior nodes to meet the preset start After the condition, execute the start action.
  • the workflow model may further include a plurality of end nodes, namely: node 11 and node 12. When both the node 11 and the node 12 are in the completed state, the workflow ends.
  • workflow model supports the convergence and intersection of workflow nodes. Therefore, the workflow model provided by the embodiments of the present application can be applied to very complex projects.
  • Application Scenario 2 Workflow with isolated nodes
  • FIG. 5 it is a schematic diagram of another workflow model provided by an embodiment of the present application.
  • node 16 is an isolated node.
  • workflow model in this embodiment of the present application may only include one workflow node, which is an isolated node, or include multiple workflow nodes, and the multiple workflow nodes include an isolated node.
  • the embodiment does not specifically limit this.
  • Application Scenario 3 Business processes that need to be adjusted during operation
  • the workflow instance may also need to be modified.
  • the workflow model and the workflow nodes are loosely coupled, and the workflow nodes are stateless nodes, so any number of nodes can be used as start nodes, and any number of nodes can be used as end nodes. Therefore, the workflow instance can still be modified during the running process of the workflow instance.
  • the workflow instance can be modified by modifying the workflow model, so that the workflow instance in the running process is consistent with the modified workflow model.
  • workflow instances can be generated based on the same workflow model. Therefore, if the workflow model is modified, a possible situation is that all workflow instances generated based on the workflow model are updated accordingly.
  • the second implementable way is to generate an exclusive private copy for each workflow instance, and update the workflow instance by adjusting the private copy.
  • the adjustment operation on the private copy may include, but is not limited to:
  • the user can select a workflow node from the workflow node module library and add it to the workflow model.
  • the workflow node may be an existing node in the workflow model, or it may not be an existing node in the workflow model. node.
  • the same node can be obtained by duplicating the node in the workflow model. Likewise, you can delete workflow nodes in the workflow model.
  • the relationship between the workflow nodes is established or modified by adding, deleting, or adjusting the direction of the directed edge.
  • a workflow arranging method provided by an embodiment of the present application is a schematic flowchart corresponding to the workflow arranging method.
  • the method can be executed by a terminal device, for example, Devices such as mobile phones, computers, and ipads can also be realized by components of terminal devices, such as processing devices, circuits, chips, and other components in the terminal devices.
  • the workflow model involved in the method can be the workflow model introduced above, and the method includes:
  • Step 601 Receive a first request from a user.
  • the first request here may be a request for a user to apply for creating a workflow instance; for example, the first request may be triggered by the user based on the requested workflow model.
  • the workflow model includes a leave application model and a reimbursement application model. If the user selects the request application model, the first request may be triggered by the user confirming the selection of the request application model.
  • the first request request is the leave application model. .
  • Step 602 In response to the first request, generate a first private copy based on the workflow model requested by the first request, wherein the generated private copy is the same as the requested workflow model;
  • the private copy can be understood as being obtained by duplicating the workflow model.
  • Figure 7(a) it is a schematic diagram of the workflow model
  • Figure 7(b) is the private copy generated based on the workflow model. Schematic.
  • the private copy can have the same configuration or properties as the workflow model, for example: editable, have the same workflow node module library, etc.
  • Step 603 Obtain a second private copy in response to the user's first adjustment operation on the first private copy
  • FIG. 7( c ) is a schematic diagram of the second private copy.
  • Step 604 In response to the first instruction triggered by the user on the second private copy, generate a workflow instance corresponding to the second private copy, wherein the workflow instance is consistent with the second private copy.
  • the first instruction may be a confirmation instruction triggered by the user. For example, after the user adjusts the private copy to the target private copy, the user clicks the confirm button to trigger the first instruction.
  • FIG. 7(d) it is a schematic diagram of a workflow instance generated in response to the first instruction.
  • the workflow instance is the same as the second private copy, which means that the workflow node included in the second private copy and the relationship between the workflow nodes are the same. It should be understood that the workflow instance is generated based on the actual information of the business process filled in by the user. Therefore, the workflow instance is different from the private copy in that the workflow instance contains the relevant information entered by the user when applying for the establishment of the workflow instance and Information that may be received during subsequent workflow instances running.
  • the workflow instance includes workflow nodes named 4, 5, 6, 7, 8, 9, 10, 12, and 14.
  • the workflow named xx will be described below.
  • Node referred to as node xx for short, where node 4, node 5 and node 6 have no superior node, node 4 is the superior node of node 7, node 4 and node 5 are the superior node of node 8, node 5 is the superior node of node 9 ,And so on.
  • the workflow node also includes states, for example, the status to be started, the running status, and the completion status (or pass status), and the operations to be executed included in the workflow node include: start operation, end operation, The operation can drive the state change. For example, when the workflow node is in the waiting state, when it is detected that the start condition is met, the start operation is executed, and the state of the workflow node is changed to the running state; when the end condition is met, the work The flow node ends the task, and the state is changed to the completed state.
  • states for example, the status to be started, the running status, and the completion status (or pass status)
  • the operations to be executed included in the workflow node include: start operation, end operation, The operation can drive the state change. For example, when the workflow node is in the waiting state, when it is detected that the start condition is met, the start operation is executed, and the state of the workflow node is changed to the running state; when the end condition is met, the work The flow node ends the task, and the state is changed to
  • the startup condition is that the status of one or more upper-level nodes of the workflow node is the completed state
  • the workflow node defaults to the upper-level node as the completed state.
  • each workflow node Assume that the startup condition of each workflow node is that all upper-level nodes are in the completed state.
  • node 4, node 5 and node 6 all meet the startup condition, that is, they can all execute startup Action, that is, the workflow instance contains multiple "start" nodes.
  • node 7 when node 7 detects that node 4 is in the completed state, node 7 performs the startup operation; when node 8 detects that node 4 and node 5 are in the completed state, node 8 performs the startup operation, When the node 9 detects that the node 5 is in the completed state, the node 9 performs the startup operation, and so on.
  • each workflow node is that at least one superior node is in the completed state
  • the startup operation is performed when node 7 monitors that node 4 is in the completed state; 8.
  • the startup operation is performed when the node 4 or the node 5 is detected to be in the completed state; the startup operation is performed when the node 9 detects that the node 5 is in the completed state, and so on.
  • the node in this embodiment of the present application may have one process, or may be a node integrated by multiple processes.
  • node 4 is a procurement node
  • node 4 itself may also include purchase order reporting and department leader approval. , approval by company leaders and other processes, which are not limited in the embodiments of the present application.
  • FIG. 8( a ) it is a schematic diagram of a state of the workflow instance in the running process provided by the embodiment of the present application, wherein, node 4 to node 10 are all in a completed state, node 12 is in a running state, and node 14 is in a waiting state state.
  • the workflow instance When receiving a second instruction triggered by the user on the third private copy, the workflow instance is adjusted in response to the second instruction.
  • the second instruction here may refer to the description of the first instruction, and may be a determination instruction triggered by the user on the third private copy, which is used to instruct the workflow instance to be adjusted based on the third private copy, so that the adjusted workflow instance Same as the third private copy.
  • the similarity refers to the workflow nodes included in the workflow instance and the relationship between the workflow nodes, which are the same as the third private copy.
  • FIG. 8(b) it is a schematic diagram of a third private copy obtained based on the above-mentioned second adjustment operation.
  • FIG. 8(c) it is a schematic diagram of the workflow instance obtained after the workflow instance is adjusted based on the third private copy.
  • the private copy and the workflow instance in the embodiment of the present application may be in one-to-one correspondence, that is, one workflow instance has one private copy. Therefore, modifying the private copy of a workflow instance will not affect other workflow instances generated based on the same workflow model.
  • Modifying the workflow instance during the running process will not affect the workflow node that has been started, that is, the workflow node whose state is the completed state or the running state. For example, in the workflow example shown in Figure 8(c), if the upper-level node 2 is added to the node 4, since the node 4 is in the completed state, even if the node 2 is in the running state, the state of the node 4 will not be affected. .
  • the startup of the subordinate node is triggered by the designation of the superior node. If a subordinate node of the node is added when a node is in the completed state, the added subordinate node will not be able to start, so the traditional workflow cannot be started. This type of adjustment is satisfied.
  • the workflow node in the embodiment of the present application can perform the startup operation according to the startup condition set by itself, the workflow instance can be adjusted during the running process of the workflow instance, and the adjustment method is more flexible, convenient and practical.
  • Step 1 pre-arrange a workflow node module library of business processes, and build a workflow module based on the workflow node module library.
  • the module library contains names of Workflow nodes corresponding to equipment procurement, HLD design and other links. These workflow nodes are configured with rules. Specifically, the rules include the execution conditions of the start operation. For the convenience of description, the execution conditions of the start operation are referred to as start conditions in the following.
  • the workflow nodes in the module library may contain the same start condition, or may contain different start conditions, for example, the start condition of equipment purchase is that all upper-level nodes are in the completed state, and the start condition of HLD design is at least one upper-level. The node is in the completed state.
  • the starting condition may be configured when arranging the module library, or may be configured during use, for example, when building a workflow model, configuring or modifying the rules of some or all of the workflow nodes; During the running process of the flow instance, configure or modify the rules of some or all of the workflow nodes. This embodiment of the present application does not limit this.
  • the way of selecting the workflow node may be dragging and dropping the selected workflow node from the workflow node module library to the editing area of the workflow model.
  • the workflow nodes in the workflow node module library may be added repeatedly, that is, the same workflow model may contain multiple identical workflow nodes, which is not limited in this embodiment of the present application.
  • ASP procurement is an isolated node
  • HLD is designed as an upper-level node for equipment procurement.
  • the equipment procurement is the upper-level node designed by LLD
  • the LLD is designed as the upper-level node for equipment racking
  • the power-down test is the upper-level node for service change
  • the service change is the upper-level node for soft-tuning debugging
  • the soft-tuning debugging is The upper-level node for the online dimension transfer and asset transfer. That is, the workflow model contains 2 "end" nodes.
  • Step b Receive a first request for establishing a project triggered by the user, and generate a private copy based on the workflow model requested by the first request.
  • the user here can be the manager of the project, such as the project manager, etc.
  • the project to be created by the user is the "AZ1 expansion project”
  • the "workflow model of cloud delivery service” triggers the first request for establishing an AZ1 expansion project, and receives and responds to the first request to generate a private copy of the AZ1 expansion project.
  • Fig. 9(c) it is a schematic diagram of the generated private copy of the AZ1 capacity expansion project. Combined with Fig. 9(c) and Fig. 9(b), the generated private copy is the same as the workflow model.
  • the user can directly create a workflow instance based on the private copy shown in Fig. 9(c), and the generated workflow instance is the same as the private copy shown in Fig. 9(c).
  • the user can edit the private copy according to the actual project process.
  • the private copy can have the same configuration and function as the workflow model. Add nodes (such as device delisting nodes) to the private copy, delete nodes of the private copy (such as BMC changes), and supplement or modify the relationship between nodes in the private copy through directed edges. See Figure 9(d) for an example of a private copy of the adjusted AZ1 scaling project.
  • Step c In response to the first instruction triggered by the user based on the third private copy, a workflow instance is generated.
  • FIG. 9(e) it is a workflow example generated based on the private copy shown in Fig. 9(d), wherein the HLD design node and the ASP purchase node are in the running state, and other nodes are in the pending state.
  • Step d During the running process of the workflow instance, in response to the user's adjustment operation on the second private copy of the workflow instance, a third private copy is obtained, and in response to the second instruction for triggering the third private copy, the The workflow instance is adjusted so that the adjusted workflow instance is identical to the third private copy.
  • the workflow instance may also need to be modified due to technological reforms, organizational changes, or business adjustments. For example, it is necessary to add asset clearing nodes and hardware patrols in the AZ1 expansion project. Check node.
  • a user can modify the workflow instance by modifying the private copy.
  • FIG. 10(a) it is a schematic diagram of the private copy of the AZ1 capacity expansion project
  • Fig. 10(b) is a state schematic diagram of a workflow instance of the AZ1 capacity expansion project during the running process.
  • FIG 10(c) it is a schematic diagram of a private copy after adding an asset clearing node and a hardware inspection node to the private copy shown in Figure 10(a).
  • click OK The second command is triggered by pressing the button, and after receiving the second command triggered by the user on the third private copy, the workflow instance is adjusted. See Figure 10(d), which is after adjusting the workflow instance in the running process. state diagram.
  • FIG. 11 is a schematic diagram of a terminal device provided by an embodiment of the present application.
  • the terminal device 1100 may be a chip or a circuit, such as a chip or circuit that can be provided in an electronic device.
  • the terminal device 1100 may include a receiving unit 1103 and a processing unit 1102 .
  • the terminal device 1100 may further include a storage unit 1101 for storing program codes and/or data of the apparatus 1100 .
  • the receiving unit 1103 is configured to receive the first request of the user
  • the processing unit 1102 is configured to, in response to the first request, generate a first private copy based on the workflow model requested by the first request, where the first private copy is the same as the workflow model; in response to the user The first adjustment operation on the first private copy obtains a second private copy; in response to the first instruction triggered by the user on the second private copy, a workflow instance is generated, and the workflow instance and the The second private copies are in one-to-one correspondence; wherein the workflow model is used to define workflow nodes, each of the workflow nodes is used to describe a link of the business process, and the workflow nodes include: rules for Define the to-be-executed operations included in the link, and the execution conditions of the to-be-executed operations; wherein, the to-be-executed operations include startup operations, and the workflow node is specifically used to monitor the state of the upper-level node After the execution condition of the startup operation is satisfied, the startup operation is performed.
  • the processing unit 1102 is specifically configured to: during the running process of the workflow instance, in response to the user's second adjustment operation on the second private copy, obtain a third private copy; In response to a second instruction triggered by the user on the third private copy, the workflow instance is adjusted so that the workflow instance is consistent with the third private copy.
  • the apparatus 1200 may be a host, a master control device, or a slave device in the foregoing embodiment.
  • the apparatus 1200 includes: a processor 1202, a communication interface 1203, and may further include a memory 1201 or be in a coupled relationship with the memory 1201.
  • the apparatus 1200 may further include a communication line 1204 .
  • the communication interface 1203, the processor 1202 and the memory 1201 can be connected to each other through a communication line 1204;
  • the communication line 1204 can be a peripheral component interconnect (PCI for short) bus or an extended industry standard architecture (extended industry standard architecture). , referred to as EISA) bus and so on.
  • the communication line 1204 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in FIG. 12, but it does not mean that there is only one bus or one type of bus.
  • the processor 1202 may be a CPU, a microprocessor, an ASIC, or one or more integrated circuits for controlling the execution of the programs of the present application.
  • the function of the processor 1202 may be the same as that of the processing unit described in FIG. 11 .
  • the function of the communication interface 1203 may be the same as that of the receiving unit described in FIG. 11 .
  • the memory 1201 can be a ROM or other types of static storage devices that can store static information and instructions, a RAM or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (electrically erasable programmable read-only memory).
  • read-only memory EEPROM
  • compact disc read-only memory CD-ROM
  • optical disc storage including compact disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.
  • magnetic disk A storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, without limitation.
  • the memory may exist independently and be connected to the processor through communication line 1204 .
  • the memory can also be integrated with the processor.
  • the memory 1201 is used for storing computer-executed instructions for executing the solution of the present application, and the execution is controlled by the processor 1202 .
  • the processor 1202 is configured to execute the computer-executed instructions stored in the memory 1201, so as to implement the methods provided by the foregoing embodiments of the present application.
  • the memory 1201 may function the same as the storage unit described in FIG. 11 .
  • the computer-executed instructions in the embodiment of the present application may also be referred to as application code, which is not specifically limited in the embodiment of the present application.
  • Embodiments of the present application further provide a computer storage medium, where computer instructions are stored in the computer storage medium, and when the computer instructions are executed on a terminal device, the terminal device executes the above-mentioned relevant method steps to implement the methods in the above-mentioned embodiments.
  • Embodiments of the present application further provide a computer program product, which, when the computer program product runs on a computer, causes the computer to execute the above-mentioned relevant steps, so as to implement the methods in the above-mentioned embodiments.
  • the embodiments of the present application also provide an apparatus, which may specifically be a chip, a component or a module, and the apparatus may include a connected processor and a memory; wherein, the memory is used for storing computer execution instructions, and when the apparatus is running, The processor can execute the computer-executed instructions stored in the memory, so that the chip executes the methods in the foregoing method embodiments.
  • the terminal equipment, computer storage medium, computer program product or chip provided in the embodiments of the present application are all used to execute the corresponding methods provided above. Therefore, for the beneficial effects that can be achieved, reference may be made to the corresponding methods provided above. The beneficial effects of the method are not repeated here.
  • the computer-executed instructions in the embodiment of the present application may also be referred to as application code, which is not specifically limited in the embodiment of the present application.
  • At least one item (single, species) of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple.
  • “Plurality” means two or more, and other quantifiers are similar.
  • occurrences of the singular forms "a”, “an” and “the” do not mean “one or only one” unless the context clearly dictates otherwise, but rather “one or more” in one".
  • "a device” means to one or more such devices.
  • the above-mentioned embodiments it may be implemented in whole or in part by software, hardware, firmware or any combination thereof.
  • software it can be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated.
  • the computer may be a general purpose computer, special purpose computer, computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions may be downloaded from a website site, computer, server or data center Transmission to another website site, computer, server, or data center is by wire (eg, coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (eg, infrared, wireless, microwave, etc.).
  • the computer-readable storage medium may be any available medium that a computer can access, or a data storage device such as a server, a data center, or the like that includes an integration of one or more available media.
  • the usable media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVD), or semiconductor media (eg, Solid State Disk (SSD)), and the like.
  • a general-purpose processor may be a microprocessor, or alternatively, the general-purpose processor may be any conventional processor, controller, microcontroller, or state machine.
  • a processor may also be implemented by a combination of computing devices, such as a digital signal processor and a microprocessor, multiple microprocessors, one or more microprocessors in combination with a digital signal processor core, or any other similar configuration. accomplish.
  • a software unit may be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.
  • a storage medium may be coupled to the processor such that the processor may read information from, and store information in, the storage medium.
  • the storage medium can also be integrated into the processor.
  • the processor and storage medium may be provided in the ASIC.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A workflow arrangement method and device. Said method comprises: in response to a first request triggered by a user, generating a first private copy on the basis of a workflow model of the first request, and in response to a first adjustment operation performed on the first private copy by the user, obtaining a second private copy; and in response to a first instruction triggered on the second private copy by the user, generating a workflow instance, the workflow instance being the same as the second private copy, wherein workflow nodes in the workflow model are specifically used for executing a start operation upon detecting that the state of an upper-level node satisfies an execution condition of the start operation. In the method, a workflow model and workflow nodes are loosely coupled, the workflow nodes are stateless nodes, and workflow instances have one-to-one corresponding private copies; therefore, in the operation process of a workflow instance, the workflow instance can still be modified, thereby enhancing the flexibility of the flow arrangement method and satisfying the flow arrangement requirements of complicated projects.

Description

一种工作流程编排方法及装置A method and device for arranging workflow 技术领域technical field
本申请涉及计算机技术领域,尤其涉及一种工作流程编排方法及装置。The present application relates to the field of computer technologies, and in particular, to a method and apparatus for arranging a workflow.
背景技术Background technique
随着互联网移动办公的高速不断发展,越来越多的企业开始在办公方面也引进工作流来协作企业办公,提高企业工作效率和协作能力。工作流是指一系列相互衔接、自动进行的业务活动或任务。具体的,工作流基于办公自动化基础上,通过企业自定义好的流程转向实现流程自动流转、业务申请审批、信息沟通及时等,最终以提高工作水平和工作效率的目的。With the rapid development of Internet mobile office, more and more enterprises have begun to introduce workflows in office work to collaborate with enterprises to improve their work efficiency and collaboration capabilities. A workflow is a series of interconnected, automated business activities or tasks. Specifically, the workflow is based on office automation, through the enterprise-defined process transition to realize automatic process flow, business application approval, timely information communication, etc., ultimately to improve work level and work efficiency.
传统的工作流引擎适用于生成单一固定的业务流程,然而,面对业务流程复杂度高,灵活性强,涉及到的业务流程可能执行顺序不一致或者根据复杂条件不断变换,传统工作流引擎则无法满足。The traditional workflow engine is suitable for generating a single fixed business process. However, in the face of the high complexity and flexibility of the business process, the involved business processes may be executed in inconsistent order or constantly change according to complex conditions, the traditional workflow engine cannot. satisfy.
发明内容SUMMARY OF THE INVENTION
本申请提供一种工作流程编排方法及装置,用以增强工作流编排的灵活度,满足复杂业务场景的使用需求。The present application provides a workflow arrangement method and device, which are used to enhance the flexibility of workflow arrangement and meet the usage requirements of complex business scenarios.
第一方面,本申请提供一种工作流模型,该工作流模型用于定义工作流节点;其中,每个工作流节点用于描述业务流程的一个环节,工作流节点包括:规则,用于定义环节包含的待执行的操作,以及待执行的操作的执行条件;其中,待执行的操作包括启动操作,工作流节点具体用于,在监测到上级节点的状态满足启动操作的执行条件后,执行启动操作。In a first aspect, the present application provides a workflow model, which is used to define workflow nodes; wherein, each workflow node is used to describe a link of a business process, and the workflow nodes include: rules, used to define The operation to be executed in the link, and the execution conditions of the operation to be executed; wherein, the operation to be executed includes the start operation, and the workflow node is specifically used to execute the operation after monitoring that the state of the upper-level node meets the execution condition of the start operation. Start the operation.
上述设计,工作流节点的启动由自身控制,即在检测到满足启动条件,便能执行启动操作,不需要上级节点触发下级节点启动,因此,工作流节点的生命周期可以由自己进行管理,由该类型的工作流节点所组成的工作流模型具有更高的灵活性,能够应用于复杂、灵活多变的应用场景中。In the above design, the startup of the workflow node is controlled by itself, that is, when the startup condition is detected, the startup operation can be performed, and the upper-level node does not need to trigger the startup of the lower-level node. Therefore, the life cycle of the workflow node can be managed by itself. The workflow model composed of this type of workflow nodes has higher flexibility and can be applied to complex and flexible application scenarios.
第二方面,本申请提供一种工作流程编排方法,该方法可以由终端设备实现,也可以由终端设备的部件实现,如由终端设备中的处理装置、电路、芯片等部件实现。In a second aspect, the present application provides a method for arranging a workflow. The method can be implemented by a terminal device or by components of the terminal device, such as processing devices, circuits, chips and other components in the terminal device.
该方法还包括:接收用户的第一请求;响应于第一请求,基于第一请求请求的工作流模型生成第一私有副本,第一私有副本与工作流模型相同;响应于用户对第一私有副本的第一调整操作,得到第二私有副本;响应于用户对第二私有副本触发的第一指令,生成工作流实例,工作流实例与第二私有副本一一对应;其中,工作流模型,用于定义工作流节点,每个工作流节点用于描述业务流程的一个环节,工作流节点包 括:规则,用于定义环节包含的待执行的操作,以及待执行的操作的执行条件;其中,待执行的操作包括启动操作,工作流节点具体用于,在监测到上级节点的状态满足启动操作的执行条件后,执行启动操作。The method further includes: receiving a first request from a user; in response to the first request, generating a first private copy based on the workflow model requested by the first request, where the first private copy is the same as the workflow model; The first adjustment operation of the copy obtains a second private copy; in response to the first instruction triggered by the user on the second private copy, a workflow instance is generated, and the workflow instance and the second private copy are in one-to-one correspondence; wherein, the workflow model, Used to define workflow nodes, each workflow node is used to describe a link of the business process, and the workflow nodes include: rules, used to define the operations to be executed included in the link, and the execution conditions of the operations to be executed; wherein, The operation to be executed includes a start operation, and the workflow node is specifically configured to execute the start operation after monitoring that the state of the upper-level node satisfies the execution condition of the start operation.
上述设计,工作流模型和工作流节点是松耦合的,且工作流节点的生命周期由自身管理,不依赖其他节点触发启动,并且工作流实例具有一一对应的私有副本,因此,在工作流实例的运行过程中,仍可以修改工作流实例,增强了流程编排方法的灵活性、能够满足复杂项目的流程编排需求。In the above design, the workflow model and the workflow nodes are loosely coupled, and the life cycle of the workflow node is managed by itself, without relying on other nodes to trigger and start, and the workflow instance has a one-to-one corresponding private copy, therefore, in the workflow During the running of the instance, the workflow instance can still be modified, which enhances the flexibility of the process choreography method and can meet the process choreography requirements of complex projects.
在一种可能的实现方法中,在工作流实例运行过程中,响应于用户对第二私有副本的第二调整操作,得到第三私有副本;响应于用户对第三私有副本触发的第二指令,对工作流实例进行调整,以使工作流实例与第三私有副本一致。In a possible implementation method, during the running process of the workflow instance, the third private copy is obtained in response to the user's second adjustment operation on the second private copy; in response to the second instruction triggered by the user on the third private copy , the workflow instance is adjusted so that the workflow instance is consistent with the third private copy.
上述设计,工作流实例具有一一对应的私有副本,通过修改私有副本可以调整运行过程中的私有副本,是一种一对一的调整方式,不会影响由同一工作流模型生成的工作流实例,能够实现在工作流实例的运行过程中,对工作流实例的灵活调整。In the above design, workflow instances have a one-to-one correspondence with private copies. By modifying the private copies, the private copies in the running process can be adjusted, which is a one-to-one adjustment method and will not affect the workflow instances generated by the same workflow model. , which can realize the flexible adjustment of the workflow instance during the running process of the workflow instance.
第三方面,本申请实施例提供一种终端设备,包括处理器和存储器,其中,存储器用于存储一个或多个计算机程序;当存储器存储的一个或多个计算机程序被处理器执行时,使得该终端设备能够实现上述任二方面的任意一种可能的设计的方法。In a third aspect, embodiments of the present application provide a terminal device, including a processor and a memory, wherein the memory is used to store one or more computer programs; when the one or more computer programs stored in the memory are executed by the processor, the The terminal device can implement any one of the possible design methods of the above two aspects.
第四方面,还提供一种终端设备,包括:用于执行上述第二方面或第二方面的任意一种可能的设计的方法的模块/单元;这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。In a fourth aspect, a terminal device is also provided, including: modules/units for performing any possible design method of the second aspect or the second aspect; these modules/units may be implemented by hardware, or by The hardware executes the corresponding software implementation.
第五方面,还提供一种芯片,所述芯片与上述第一方面所述的终端设备中的存储器耦合,使得所述芯片在运行时调用所述存储器中存储的程序指令,实现如上述第二方面提供的方法。A fifth aspect further provides a chip, the chip is coupled to the memory in the terminal device described in the first aspect, so that the chip invokes the program instructions stored in the memory when running, so as to realize the above-mentioned second methods provided.
第六方面,还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在终端设备上运行时,使得所述终端设备执行如上述第二方面提供的方法。In a sixth aspect, a computer-readable storage medium is also provided, the computer-readable storage medium includes a computer program, and when the computer program runs on a terminal device, the terminal device is caused to execute the method provided in the second aspect.
第七方面,还提供一种计算机程序产品,包括指令,当所述指令在计算机上运行时,使得所述计算机执行如上述第二方面提供的方法。In a seventh aspect, there is also provided a computer program product, comprising instructions, which, when executed on a computer, cause the computer to perform the method provided in the second aspect above.
以上第三方面到第七方面的有益效果,请参考第二方面提出各个技术方案的有益效果,这里不再重复赘述。For the beneficial effects of the third aspect to the seventh aspect, please refer to the beneficial effects of the technical solutions proposed in the second aspect, and will not be repeated here.
附图说明Description of drawings
图1为本申请实施例提供的一种工作流的示意图;1 is a schematic diagram of a workflow provided by an embodiment of the present application;
图2为一种传统工作流模型的示意图;2 is a schematic diagram of a traditional workflow model;
图3为本申请实施例提供的一种工作流节点模块库的示意图;3 is a schematic diagram of a workflow node module library provided by an embodiment of the present application;
图4为本申请实施例提供的一种工作流模型的示意图;4 is a schematic diagram of a workflow model provided by an embodiment of the present application;
图5为本申请实施例提供的另一种工作流模型的示意图;5 is a schematic diagram of another workflow model provided by an embodiment of the present application;
图6为本申请实施例提供的一种工作流程编排方法所对应的流程示意图;6 is a schematic flowchart corresponding to a method for arranging a workflow according to an embodiment of the present application;
图7为本申请实施例提供的一种工作流程编排的过程示意图;FIG. 7 is a schematic diagram of a workflow arrangement according to an embodiment of the present application;
图8为本申请实施例提供的一种工作流实例的调整过程示意图;FIG. 8 is a schematic diagram of an adjustment process of a workflow instance provided by an embodiment of the present application;
图9为本申请实施例提供的一种生成工作流实例的过程示意图;FIG. 9 is a schematic diagram of a process for generating a workflow instance provided by an embodiment of the present application;
图10为本申请实施例提供的一种调整运行过程中的工作流实例的过程示意图;FIG. 10 is a schematic process diagram of a workflow instance in an adjustment operation process provided by an embodiment of the present application;
图11为本申请实施例中所涉及的终端设备的可能的示例性框图;FIG. 11 is a possible exemplary block diagram of a terminal device involved in an embodiment of the application;
图12为本申请实施例提供的一种终端设备示意图。FIG. 12 is a schematic diagram of a terminal device according to an embodiment of the present application.
具体实施方式detailed description
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。In order to make the objectives, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the accompanying drawings. The specific operation methods in the method embodiments may also be applied to the apparatus embodiments or the system embodiments.
本申请实施例提供的工作流可以应用于工程项目管理、企业业务流程管理、电商流程管理等多种应用场景中。The workflow provided by the embodiments of the present application can be applied to various application scenarios such as engineering project management, enterprise business process management, and e-commerce process management.
以下,对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。Hereinafter, some terms in the embodiments of the present application will be explained, so as to facilitate the understanding of those skilled in the art.
1,本申请实施例涉及的“工作流”,是指业务流程的计算机化或自动化。1. The "workflow" involved in the embodiments of this application refers to the computerization or automation of business processes.
具体的,工作流是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。换言之,工作流是为实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。Specifically, the workflow is an abstract and general description of the business rules between the workflow and its various operation steps. In other words, workflow is to use computers to automatically transfer documents, information or tasks among multiple participants according to certain predetermined rules in order to achieve a certain business goal.
例如,在线下流程中,许多公司采用纸张表单手工传递的方式,一级一级审批签字,例如,请假单、报销单等,工作效率非常低下。而采用工作流的方式,使用者只需在电脑上填写相关表单,填写完成后,该表单会按照预先定义好的流程自动流转,下一级审批者将会收到相关附件,并可以根据需要执行修改、跟踪、管理、查询、统计、打印等,在线上处理完成后,再自动流转至下一流程,大大提高了效率。For example, in the offline process, many companies use the method of manual transmission of paper forms, and approval and signature at the first level, for example, leave requests, reimbursement forms, etc., the work efficiency is very low. With the workflow method, the user only needs to fill in the relevant form on the computer. After the filling is completed, the form will be automatically circulated according to the pre-defined process, and the next-level approver will receive the relevant attachments and can, as needed, Perform modification, tracking, management, query, statistics, printing, etc., after the online processing is completed, it will automatically flow to the next process, which greatly improves the efficiency.
2,本申请实施例涉及的“工作流建模”,是指将工作流程中的各环节前后组织在一起的逻辑和规则,在计算机中以恰当的模型表达并对其实施计算,该模型即为工作流模型。2. The "workflow modeling" involved in the embodiment of the present application refers to the logic and rules that organize the various links in the workflow together before and after, and expresses and calculates it with an appropriate model in the computer. The model is for the workflow model.
具体的,工作流模型包含至少一个工作流节点,每个工作流节点用于描述业务流程的一个环节。Specifically, the workflow model includes at least one workflow node, and each workflow node is used to describe a link of the business process.
例如,对于企业管理而言,业务流程可以分为“请假申请”流程、“报销申请”流程等,各业务流程对应的工作流模型所包含的各工作流节点可以是,该申请的各级审批者,举例来说,报销申请对应的工作流模型为报销申请(包括填写报销单)、部门领导审批、公司经理审批、财务审核、放款。For example, for enterprise management, business processes can be divided into "leave application" process, "reimbursement application" process, etc. The workflow nodes included in the workflow model corresponding to each business process can be, the approval of the application at all levels For example, the workflow model corresponding to the reimbursement application is the reimbursement application (including filling in the reimbursement form), the approval of the department leader, the approval of the company manager, the financial review, and the loan.
又例如,对于工程类项目而言,可能包含立项环节,设计环节,采购环节,施工环节,调试环节和验收环节,参见图1所示,为针对该工程项目建立的工作流模型的示意图,该工作流模型可以包括:立项节点、设计节点、采购节点、施工节点、调试节点和验收节点。For another example, for engineering projects, it may include project establishment, design, procurement, construction, commissioning and acceptance. See Figure 1, which is a schematic diagram of the workflow model established for the engineering project. The workflow model can include: project initiation node, design node, procurement node, construction node, commissioning node and acceptance node.
工作流模型还可以用于定义各节点之间的关系,示例性地,通过有向边表示节点之间的关系,例如,图1所示的工作流模型中,立项节点为设计节点的上级节点,对应的,设计节点为立项节点的下级节点;设计节点是采购节点的上级节点,对应的,采购节点是设计节点的下级节点,依次类推。The workflow model can also be used to define the relationship between the nodes. Exemplarily, the relationship between the nodes is represented by a directed edge. For example, in the workflow model shown in Figure 1, the project establishment node is the upper-level node of the design node. , correspondingly, the design node is the subordinate node of the project establishment node; the design node is the superior node of the procurement node, correspondingly, the procurement node is the subordinate node of the design node, and so on.
本申请实施例还可以将上级节点称为父类节点,或者简称为父节点,下级节点称 为子节点。在不同的场景中,节点之间的关系可以具有不同的表达方式,本申请实施例对此不作限定。In this embodiment of the present application, an upper-level node may also be referred to as a parent node, or simply referred to as a parent node, and a lower-level node may be referred to as a child node. In different scenarios, the relationship between nodes may have different expressions, which are not limited in this embodiment of the present application.
应理解,图1所示出的工作流模型仅为一种示例,该工作流模型可以包含更多或者更少的工作流节点,且父类节点和子节点的数量可以为一个或多个,本申请实施例对此不做具体限定。需说明的是,本申请实施例中的工作流节点和节点是同一概念,两者可以互相替换。It should be understood that the workflow model shown in FIG. 1 is only an example, and the workflow model may include more or less workflow nodes, and the number of parent nodes and child nodes may be one or more. This is not specifically limited in the application examples. It should be noted that the workflow node and the node in the embodiments of the present application are the same concept, and the two can be replaced with each other.
3,工作流引擎,主要用于组织业务流程管理。具体的,基于工作流引擎,能够根据组织业务需求定制自动化的工作流规则,文档、信息或任务按照制定的业务规则运转,实现组织成员间的协同工作,以达到业务目标。3. Workflow engine, mainly used for organizational business process management. Specifically, based on the workflow engine, automated workflow rules can be customized according to the business needs of the organization. Documents, information or tasks are run in accordance with the established business rules, and collaborative work among organizational members can be achieved to achieve business goals.
目前,使用较广的工作流引擎为Activiti,其核心是BPMN(一套图形化表示法,用于以业务流程模型详细说明各种业务流程)的流程引擎。具体的,工作流引擎可以用于模型管理,例如创建、编辑工作流模型,还可以用于生成工作流实例(下文将会介绍)。At present, the widely used workflow engine is Activiti, the core of which is the process engine of BPMN (a set of graphical representations used to describe various business processes in detail with business process models). Specifically, the workflow engine can be used for model management, such as creating and editing workflow models, and can also be used for generating workflow instances (which will be described below).
4,工作流实例,工作流引擎基于工作流模型和具体的业务信息生成的实例。4. Workflow instance, an instance generated by the workflow engine based on the workflow model and specific business information.
示例性地,工作流引擎可以用于生成工作流实例,例如,该工作流引擎上创建有名称为“请假申请”的工作流模型,用户调取该请假申请的工作流模型,填写具体的请假类型、请假日期和请假事由后,点击“确定”按键,发起请假申请的工作流程。该用户触发的请假申请的工作流程即为一个工作流实例。Exemplarily, a workflow engine can be used to generate a workflow instance. For example, a workflow model named "leave application" is created on the workflow engine, and the user calls the workflow model of the leave application and fills in the specific leave application. After entering the type, date of leave and the reason for the leave, click the "OK" button to initiate the leave application workflow. The workflow of the leave request triggered by the user is a workflow instance.
参见图2为一种用于请假申请的传统工作流的示意图,如图2所示,传统工作流必须包含明确的“start”节点和“end”节点,工作流从start节点开始,按照工作流模型定义的工作流节点依次执行,上级节点完成后指定下级节点启动,直到end节点。可以看出,传统工作流适用于单一固定的业务流程。而目前的业务流程复杂度越来越高,灵活性也较强,例如:某些项目在实施过程中,可能需要增加节点,或者减少节点,或者调整节点之间的关系,而由于传统的工作流模型和工作流节点是紧密耦合的,在工作流实例的运行过程中无法修改工作流实例,因此,传统的工作流无法支撑复杂度高、灵活多变的业务场景。Referring to Fig. 2, it is a schematic diagram of a traditional workflow for applying for leave. As shown in Fig. 2, the traditional workflow must contain a clear "start" node and an "end" node. The workflow starts from the start node and follows the workflow The workflow nodes defined by the model are executed in sequence. After the upper-level node is completed, the lower-level node is designated to start until the end node. It can be seen that the traditional workflow is suitable for a single fixed business process. However, the current business process is becoming more and more complex and more flexible. For example, during the implementation of some projects, it may be necessary to add nodes, reduce nodes, or adjust the relationship between nodes. The flow model and workflow nodes are tightly coupled, and the workflow instance cannot be modified during the running process of the workflow instance. Therefore, the traditional workflow cannot support complex and flexible business scenarios.
鉴于此,本申请实施例提供了一种工作流模型,以及基于该工作流模型的工作流程编排方法。其中,该工作流模型由无状态的工作流节点组成,工作流节点可以监测上级节点的状态,并在监测到上级节点的状态满足预设的启动条件后执行启动操作,也就是,工作流节点的生命周期可以由自身管理,不由其他节点控制,工作流模型和工作流节点是松耦合的,因此,在工作流实例的运行过程中,仍然可以根据需求对工作流实例进行调整,满足复杂灵活的业务场景的需求。In view of this, embodiments of the present application provide a workflow model and a workflow arranging method based on the workflow model. Among them, the workflow model is composed of stateless workflow nodes. The workflow node can monitor the state of the upper-level node, and execute the startup operation after monitoring that the state of the upper-level node satisfies the preset startup condition, that is, the workflow node The life cycle of the workflow can be managed by itself and not controlled by other nodes. The workflow model and the workflow nodes are loosely coupled. Therefore, during the running process of the workflow instance, the workflow instance can still be adjusted according to the requirements to meet the complex and flexible requirements. the needs of the business scenario.
如下对无状态节点进行详细说明:The stateless nodes are described in detail as follows:
与传统节点相比,本申请实施例的无状态节点具有独立性和原子性的特征,节点和节点之间是对等关系,即下级节点不由上级节点指定启动,节点可以主动去寻找自身的上级节点,能够根据上级节点的状态执行启动操作。Compared with traditional nodes, the stateless nodes of the embodiments of the present application have the characteristics of independence and atomicity, and there is a peer-to-peer relationship between nodes. The node can perform the startup operation according to the state of the upper node.
为实现上述功能,本申请实施例为无状态节点配置了规则,该规则用于定义节点包含的待执行的操作,以及待执行的操作的执行条件,例如,节点包含的待执行的操作包括启动操作,示例性地,该启动操作的执行条件为该工作流节点的一个或多个上 级节点的状态为完成状态,本申请的节点具有监测上级节点状态的功能,并在监测到所述一个或多个上级节点的状态满足启动操作的执行条件后,执行所述启动操作,而不是下级节点由上级节点指定启动,从而实现了节点的操作(例如启动操作)由自身的规则决定,能够自行管理自己的生命周期,不会对其他工作流节点产生影响,因此,即使在工作流实例的运行过程中,也可以对工作流实例所包含的工作流节点进行调整,增加了工作流的灵活性,能够适用于更多、更复杂的应用场景。In order to realize the above functions, the embodiment of the present application configures a rule for a stateless node, and the rule is used to define the operation to be executed contained in the node, and the execution conditions of the operation to be executed. For example, the operation to be executed contained in the node includes starting Operation, exemplarily, the execution condition of the startup operation is that the status of one or more upper-level nodes of the workflow node is a completed state, and the node of the present application has the function of monitoring the status of the upper-level node, and when the one or more upper-level nodes are monitored. After the states of multiple upper-level nodes meet the execution conditions of the startup operation, the startup operation is performed, instead of the lower-level node being specified and started by the upper-level node, so that the operation of the node (for example, the startup operation) is determined by its own rules and can be managed by itself. Its own life cycle will not affect other workflow nodes. Therefore, even in the running process of the workflow instance, the workflow nodes included in the workflow instance can be adjusted, which increases the flexibility of the workflow. It can be applied to more and more complex application scenarios.
示例性地,基于上述工作流节点的特征,本申请实施例可以将工作流节点模块化,参见图3,为本申请实施例提供的一种工作流节点模块库,该工作流节点模块库包含预先定义的一个或多个工作流节点。其中,图3中所示的节点名称仅为示意,并非对节点之间关系的限定,例如,节点4可以是节点1的上级节点,节点2可以是节点5的下级节点。此处不再一一列举。Exemplarily, based on the features of the above-mentioned workflow nodes, the embodiments of the present application can modularize the workflow nodes. Referring to FIG. 3 , a workflow node module library is provided in the embodiments of the present application. The workflow node module library includes: One or more predefined workflow nodes. The node names shown in FIG. 3 are for illustration only, and do not limit the relationship between nodes. For example, node 4 may be an upper-level node of node 1, and node 2 may be a lower-level node of node 5. Not listed here.
在构建工作流模型时,用户可以从工作流节点模块库中选取所需的工作流节点,并通过有向边将选取的工作流节点连接在一起。也就是,基于同一工作流节点模块库可以构建不同的工作流模型,该不同的工作流模型可以包含不同的工作流节点,或包含相同的工作流节点,但节点之间的关系不同,以满足不同业务流程的需要。When building a workflow model, users can select the required workflow nodes from the workflow node module library, and connect the selected workflow nodes together through directed edges. That is, different workflow models can be constructed based on the same workflow node module library, and the different workflow models can contain different workflow nodes, or include the same workflow nodes but with different relationships between nodes, so as to satisfy the The needs of different business processes.
综上,本申请实施例的工作流模型可以应用于下列几种应用场景中:To sum up, the workflow model of the embodiments of the present application can be applied to the following application scenarios:
应用场景一:具有多个起始节点和/或结束节点的工作流程;Application Scenario 1: Workflow with multiple start nodes and/or end nodes;
本申请实施例的工作流节点均可以作为起始节点或结束节点,即本申请实施例的工作流模型可以具有多个起始节点,和/或多个结束节点,参见图4,为本发明实施例提供的一种工作流模型的示意图。如图4所示,该工作流模型包含3个起始节点,分别为:节点1、节点2和节点4,该,3个起始节点分别监测到自身的上级节点的状态满足预设的启动条件后,执行启动操作。该工作流模型还可以包含多个结束节点,分别为:节点11和节点12,当该节点11和节点12均为完成状态,该工作流结束。The workflow nodes in the embodiments of the present application can all be used as start nodes or end nodes, that is, the workflow model in the embodiments of the present application can have multiple start nodes and/or multiple end nodes, see FIG. 4 , which is the present invention A schematic diagram of a workflow model provided by the embodiment. As shown in Figure 4, the workflow model includes 3 start nodes, namely: node 1, node 2 and node 4, the 3 start nodes respectively monitor the status of their own superior nodes to meet the preset start After the condition, execute the start action. The workflow model may further include a plurality of end nodes, namely: node 11 and node 12. When both the node 11 and the node 12 are in the completed state, the workflow ends.
另外,工作流模型中支持工作流节点汇聚、交叉,因此,本申请实施例提供的工作流模型能够应用于非常复杂的项目中。In addition, the workflow model supports the convergence and intersection of workflow nodes. Therefore, the workflow model provided by the embodiments of the present application can be applied to very complex projects.
应用场景二:具有孤立节点的工作流程;Application Scenario 2: Workflow with isolated nodes;
孤立节点,即无有向边指向该节点,且无有向边指向其他节点。参见图5,为本申请实施例提供的另一种工作流模型的示意图。如图5所示的工作流模型中,节点16为孤立节点。An orphan node, that is, no directed edges point to this node, and no directed edges point to other nodes. Referring to FIG. 5 , it is a schematic diagram of another workflow model provided by an embodiment of the present application. In the workflow model shown in FIG. 5, node 16 is an isolated node.
应理解,本申请实施例的工作流模型可以仅包含一个工作流节点,该一个工作流节点即为孤立节点,或者包含多个工作流节点,该多个工作流节点中包括孤立节点,本申请实施例对此不做具体限定。It should be understood that the workflow model in this embodiment of the present application may only include one workflow node, which is an isolated node, or include multiple workflow nodes, and the multiple workflow nodes include an isolated node. The embodiment does not specifically limit this.
应用场景三:在运行过程中需要调整的业务流程;Application Scenario 3: Business processes that need to be adjusted during operation;
对于比较复杂的业务流程,在运行过程中,随着技术改革、组织变更或业务调整等因素的调整,工作流实例也可以需要修改。For a more complex business process, during the running process, with the adjustment of factors such as technological reform, organizational change or business adjustment, the workflow instance may also need to be modified.
上述介绍了工作流模型包括的特征和基于该特征可能适用的一些应用场景,当然上述应用场景仅为举例,本申请实施例的应用场景并不限定于此。The features included in the workflow model and some application scenarios that may be applicable based on the features are described above. Of course, the above application scenarios are only examples, and the application scenarios of the embodiments of the present application are not limited thereto.
通过上述设计,工作流模型和工作流节点是松耦合的,且工作流节点为无状态节点,故任意多个节点都可以作为start节点,任意多个节点都可以作为end节点。也因 此,在工作流实例的运行过程中,仍可以修改工作流实例。Through the above design, the workflow model and the workflow nodes are loosely coupled, and the workflow nodes are stateless nodes, so any number of nodes can be used as start nodes, and any number of nodes can be used as end nodes. Therefore, the workflow instance can still be modified during the running process of the workflow instance.
接下来对在运行过程中对工作流实例进行调整的方式进行具体介绍。Next, the method of adjusting the workflow instance during the running process will be introduced in detail.
第一种可实施的方式,可以通过修改工作流模型,来修改工作流实例,使运行过程中的工作流实例与修改后的工作流模型保持一致。In the first implementable manner, the workflow instance can be modified by modifying the workflow model, so that the workflow instance in the running process is consistent with the modified workflow model.
其中,对于工作流模型的调整操作可以参见下文相关描述,此处不再赘述。For the adjustment operation of the workflow model, reference may be made to the related description below, which will not be repeated here.
如前所述,基于同一工作流模型可以生成多个工作流实例,因此若修改工作流模型,一种可能的情况为,基于该工作流模型所生成的全部工作流实例随之更新。As mentioned above, multiple workflow instances can be generated based on the same workflow model. Therefore, if the workflow model is modified, a possible situation is that all workflow instances generated based on the workflow model are updated accordingly.
第二种可实施的方式,为每个工作流实例生成一个专属的私有副本,通过调整私有副本来更新工作流实例。The second implementable way is to generate an exclusive private copy for each workflow instance, and update the workflow instance by adjusting the private copy.
示例性地,对于私有副本的调整操作可以包括但不限于:Exemplarily, the adjustment operation on the private copy may include, but is not limited to:
1)增加或减少工作流节点;1) Increase or decrease workflow nodes;
用户可以从工作流节点模块库中选取工作流节点添加至该工作流模型中,应理解,该工作流节点可以是该工作流模型中已有的节点,也可以不是该工作流模型中已有的节点。作为一种实现方式,若需要添加的工作流节点是工作流模型中已有的,则可以通过在工作流模型中复制节点的方式得到相同的节点。同样的,还可以删除工作流模型中的工作流节点。The user can select a workflow node from the workflow node module library and add it to the workflow model. It should be understood that the workflow node may be an existing node in the workflow model, or it may not be an existing node in the workflow model. node. As an implementation manner, if the workflow node to be added is existing in the workflow model, the same node can be obtained by duplicating the node in the workflow model. Likewise, you can delete workflow nodes in the workflow model.
2)调整工作流节点之间的关系;2) Adjust the relationship between workflow nodes;
示例性地,通过增加、删减有向边,或调整有向边的指向,来建立或修改工作流节点之间的关系。Exemplarily, the relationship between the workflow nodes is established or modified by adding, deleting, or adjusting the direction of the directed edge.
上述仅为举例,若工作流模型的表示方式不同,则可以具有不同调整操作,本申请实施例对此不作限定。The above is only an example, if the representation of the workflow model is different, it may have different adjustment operations, which is not limited in this embodiment of the present application.
上述设计,由于各工作流实例的私有副本之间互相独立,因此不会对其他工作流实例产生干扰,灵活性更高。In the above design, since the private copies of each workflow instance are independent of each other, they will not interfere with other workflow instances, and the flexibility is higher.
接下来详细介绍私有副本的应用,请参见图6,为本申请实施例提供的一种工作流程编排方法,为该工作流程编排方法所对应的流程示意图,该方法可以由终端设备执行,例如,手机、电脑、ipad等设备,也可以由终端设备的部件实现,如由终端设备中的处理装置、电路、芯片等部件实现。该方法中所涉及的工作流模型可以为上文所介绍的工作流模型,该方法包括:Next, the application of the private copy is introduced in detail. Referring to FIG. 6, a workflow arranging method provided by an embodiment of the present application is a schematic flowchart corresponding to the workflow arranging method. The method can be executed by a terminal device, for example, Devices such as mobile phones, computers, and ipads can also be realized by components of terminal devices, such as processing devices, circuits, chips, and other components in the terminal devices. The workflow model involved in the method can be the workflow model introduced above, and the method includes:
步骤601:接收用户的第一请求。Step 601: Receive a first request from a user.
这里的第一请求,可以是用户申请创建工作流实例的请求;示例性地,该第一请求可以是用户基于请求的工作流模型触发的。例如,工作流模型包含请假申请模型、报销申请模型,若用户选中请求申请模型,则该第一请求可以是用户确定选择请求申请模型触发的,对应的,该第一请求请求的为请假申请模型。The first request here may be a request for a user to apply for creating a workflow instance; for example, the first request may be triggered by the user based on the requested workflow model. For example, the workflow model includes a leave application model and a reimbursement application model. If the user selects the request application model, the first request may be triggered by the user confirming the selection of the request application model. Correspondingly, the first request request is the leave application model. .
步骤602:响应于该第一请求,基于该第一请求请求的工作流模型生成第一私有副本,其中,生成的该私有副本与该请求的工作流模型相同;Step 602: In response to the first request, generate a first private copy based on the workflow model requested by the first request, wherein the generated private copy is the same as the requested workflow model;
具体的,私有副本可以理解为是对工作流模型进行复制得到的,如图7(a)所示,为工作流模型的示意图,图7(b)为基于该工作流模型生成的私有副本的示意图。Specifically, the private copy can be understood as being obtained by duplicating the workflow model. As shown in Figure 7(a), it is a schematic diagram of the workflow model, and Figure 7(b) is the private copy generated based on the workflow model. Schematic.
其中,私有副本可具有与工作流模型相同的配置或属性,例如:可编辑、具有相同的工作流节点模块库等。Among them, the private copy can have the same configuration or properties as the workflow model, for example: editable, have the same workflow node module library, etc.
步骤603:响应于用户对第一私有副本的第一调整操作,得到第二私有副本;Step 603: Obtain a second private copy in response to the user's first adjustment operation on the first private copy;
对私有副本的第一调整操作在前面已经描述过,此次不再赘述。示例性地,参见图7(c),为第二私有副本的示意图。The first adjustment operation on the private copy has been described above, and will not be repeated here. Illustratively, see FIG. 7( c ), which is a schematic diagram of the second private copy.
步骤604:响应于所述用户对该第二私有副本触发的第一指令,生成该第二私有副本对应的工作流实例,其中,工作流实例与该第二私有副本一致。Step 604: In response to the first instruction triggered by the user on the second private copy, generate a workflow instance corresponding to the second private copy, wherein the workflow instance is consistent with the second private copy.
示例性地,第一指令可以是用户触发的确认指令,例如,用户将私有副本调整为目标私有副本后,点击确认按键触发第一指令。Exemplarily, the first instruction may be a confirmation instruction triggered by the user. For example, after the user adjusts the private copy to the target private copy, the user clicks the confirm button to trigger the first instruction.
参见图7(d),为响应于该第一指令所生成的工作流实例的示意图。该工作流实例与第二私有副本相同,是指与第二私有副本包含的工作流节点和各工作流节点之间的关系相同。应理解,工作流实例是基于用户所填写的业务流程的实际信息生成的,因此,该工作流实例与私有副本不同之处在于,工作流实例包含用户申请建立工作流实例时输入的相关信息以及后续工作流实例运行过程中可能接收到的信息。Referring to FIG. 7(d), it is a schematic diagram of a workflow instance generated in response to the first instruction. The workflow instance is the same as the second private copy, which means that the workflow node included in the second private copy and the relationship between the workflow nodes are the same. It should be understood that the workflow instance is generated based on the actual information of the business process filled in by the user. Therefore, the workflow instance is different from the private copy in that the workflow instance contains the relevant information entered by the user when applying for the establishment of the workflow instance and Information that may be received during subsequent workflow instances running.
对于基于上述方式生成的工作流实例,该工作流实例包含的工作流节点的特征在前面已经描述过,在此不赘述。接下来针对图7(d)所示的工作流实例,介绍该工作流实例的运行过程。For the workflow instance generated based on the above manner, the features of the workflow nodes included in the workflow instance have been described above, and will not be repeated here. Next, for the workflow instance shown in FIG. 7(d), the running process of the workflow instance is introduced.
如图7(d)所示,该工作流实例包含名称为4、5、6、7、8、9、10、12和14的工作流节点,为方便描述,如下将名称为xx的工作流节点,简称为节点xx,其中,节点4、节点5和节点6没有上级节点,节点4为节点7的上级节点,节点4和节点5为节点8的上级节点,节点5为节点9的上级节点,依次类推。As shown in Figure 7(d), the workflow instance includes workflow nodes named 4, 5, 6, 7, 8, 9, 10, 12, and 14. For the convenience of description, the workflow named xx will be described below. Node, referred to as node xx for short, where node 4, node 5 and node 6 have no superior node, node 4 is the superior node of node 7, node 4 and node 5 are the superior node of node 8, node 5 is the superior node of node 9 ,And so on.
示例性地,工作流节点还包含状态,例如,待启动状态、运行状态和完成状态(或者说通过状态),工作流节点包含的待执行的操作包括:启动操作、结束操作,工作流节点的操作可以驱动状态改变,例如,工作流节点处于待启动状态时,当监测到满足启动条件时,执行启动操作,此工作流节点的状态变更为运行状态;当监测到满足结束条件时,该工作流节点结束任务,状态修改为完成状态。Exemplarily, the workflow node also includes states, for example, the status to be started, the running status, and the completion status (or pass status), and the operations to be executed included in the workflow node include: start operation, end operation, The operation can drive the state change. For example, when the workflow node is in the waiting state, when it is detected that the start condition is met, the start operation is executed, and the state of the workflow node is changed to the running state; when the end condition is met, the work The flow node ends the task, and the state is changed to the completed state.
应理解,若启动条件为工作流节点的一个或多个上级节点的状态为完成状态,当工作流节点无上级节点时,则该工作流节点默认上级节点为完成状态。It should be understood that if the startup condition is that the status of one or more upper-level nodes of the workflow node is the completed state, when the workflow node has no upper-level node, the workflow node defaults to the upper-level node as the completed state.
假设,各工作流节点的启动条件为所有上级节点均为完成状态,对于图7(d)所示的工作流实例中,节点4、节点5和节点6均满足启动条件,即均可以执行启动操作,也就是,该工作流实例包含多个“start”节点。对于图7(d)所示的工作流实例,当节点7监测到节点4处于完成状态,节点7执行启动操作;当节点8监测到节点4和节点5处于完成状态,节点8执行启动操作,当节点9监测到节点5处于完成状态,节点9执行启动操作,依次类推。Assume that the startup condition of each workflow node is that all upper-level nodes are in the completed state. For the workflow example shown in Figure 7(d), node 4, node 5 and node 6 all meet the startup condition, that is, they can all execute startup Action, that is, the workflow instance contains multiple "start" nodes. For the workflow example shown in Fig. 7(d), when node 7 detects that node 4 is in the completed state, node 7 performs the startup operation; when node 8 detects that node 4 and node 5 are in the completed state, node 8 performs the startup operation, When the node 9 detects that the node 5 is in the completed state, the node 9 performs the startup operation, and so on.
再假设,各工作流节点的启动条件为至少一个上级节点为完成状态,则对于图7(d)所示的工作流实例,当节点7监测到节点4为完成状态时执行启动操作;当节点8监测到节点4或节点5为完成状态时执行启动操作;当节点9监测到节点5为完成状态时执行启动操作,依次类推。Suppose again that the startup condition of each workflow node is that at least one superior node is in the completed state, then for the workflow instance shown in Figure 7(d), the startup operation is performed when node 7 monitors that node 4 is in the completed state; 8. The startup operation is performed when the node 4 or the node 5 is detected to be in the completed state; the startup operation is performed when the node 9 detects that the node 5 is in the completed state, and so on.
其中,本申请实施例的节点可以具有一个流程,也可以是由多个流程集成的一个节点,举例来说,假设节点4为采购节点,则节点4本身还可能包括采购单上报、部门领导审批、公司领导审批等流程,本申请实施例对此不作限定。The node in this embodiment of the present application may have one process, or may be a node integrated by multiple processes. For example, assuming that node 4 is a procurement node, node 4 itself may also include purchase order reporting and department leader approval. , approval by company leaders and other processes, which are not limited in the embodiments of the present application.
接下来介绍,在工作流实例的运行过程中,通过修改私有副本调整工作流实例的过程。Next, we will introduce the process of adjusting the workflow instance by modifying the private copy during the running process of the workflow instance.
参见图8(a),为本申请实施例提供的工作流实例在运行过程中的一种状态示意图,其中,节点4至节点10均处于完成状态,节点12处于运行状态,节点14处于待启动状态。Referring to FIG. 8( a ), it is a schematic diagram of a state of the workflow instance in the running process provided by the embodiment of the present application, wherein, node 4 to node 10 are all in a completed state, node 12 is in a running state, and node 14 is in a waiting state state.
在该工作流实例的运行过程中,当接收到用户对该工作流实例对应的第二私有副本的第二调整操作时,响应于该第二调整操作得到第三私有副本。该第二调整操作可以参见对于第一调整操作的具体描述,此处不再赘述。During the running process of the workflow instance, when a second adjustment operation of the second private copy corresponding to the workflow instance by the user is received, a third private copy is obtained in response to the second adjustment operation. For the second adjustment operation, reference may be made to the specific description of the first adjustment operation, which will not be repeated here.
当接收用户对第三私有副本触发的第二指令,响应于该第二指令对工作流实例进行调整。这里的第二指令可以参见对于第一指令的描述,可以是用户对于第三私有副本触发的确定指令,用于指示基于第三私有副本对工作流实例进行调整,以使调整后的工作流实例与第三私有副本相同。同样的,该相同之处是指工作流实例包含的工作流节点、各工作流节点之间的关系,与第三私有副本相同。When receiving a second instruction triggered by the user on the third private copy, the workflow instance is adjusted in response to the second instruction. The second instruction here may refer to the description of the first instruction, and may be a determination instruction triggered by the user on the third private copy, which is used to instruct the workflow instance to be adjusted based on the third private copy, so that the adjusted workflow instance Same as the third private copy. Likewise, the similarity refers to the workflow nodes included in the workflow instance and the relationship between the workflow nodes, which are the same as the third private copy.
举例来说,假设第二调整操作为:增加节点11和节点13,并设置节点4和节点9为节点11的上级节点,节点12为节点13的上级节点,将节点11和节点13新增为节点14的上级节点。参见图8(b),为基于上述第二调整操作得到的第三私有副本的示意图,参见图8(c),为基于第三私有副本对工作流实例进行调整后,得到的工作流实例的示意图,如图8(c)所示,假设节点12仍为运行状态,由于节点12为节点13的上级节点,因此,不满足节点13的启动条件,节点13为待启动状态,节点14也为待启动状态。For example, suppose the second adjustment operation is: adding node 11 and node 13, and setting node 4 and node 9 as the upper-level nodes of node 11, node 12 as the upper-level node of node 13, and adding node 11 and node 13 as The parent node of node 14. Referring to FIG. 8(b), it is a schematic diagram of a third private copy obtained based on the above-mentioned second adjustment operation. Referring to FIG. 8(c), it is a schematic diagram of the workflow instance obtained after the workflow instance is adjusted based on the third private copy. Schematic diagram, as shown in Figure 8(c), assuming that node 12 is still in the running state, since node 12 is the upper-level node of node 13, therefore, the startup condition of node 13 is not satisfied, node 13 is in the state to be started, and node 14 is also in pending state.
需要说明的是:(1)本申请实施例的私有副本与工作流实例可以是一一对应的,即一个工作流实例具有一个私有副本。因此修改某工作流实例的私有副本,不会影响基于相同的工作流模型生成的其他工作流实例。(2)在运行过程中对工作流实例进行修改,不会影响已启动的工作流节点,即状态为完成状态或运行状态的工作流节点。举例来说,若在图8(c)所示的工作流实例中,为节点4增加上级节点2,由于节点4为完成状态,因此,即使节点2为运行状态,也不影响节点4的状态。It should be noted that: (1) The private copy and the workflow instance in the embodiment of the present application may be in one-to-one correspondence, that is, one workflow instance has one private copy. Therefore, modifying the private copy of a workflow instance will not affect other workflow instances generated based on the same workflow model. (2) Modifying the workflow instance during the running process will not affect the workflow node that has been started, that is, the workflow node whose state is the completed state or the running state. For example, in the workflow example shown in Figure 8(c), if the upper-level node 2 is added to the node 4, since the node 4 is in the completed state, even if the node 2 is in the running state, the state of the node 4 will not be affected. .
由于传统工作流节点中,下级节点的启动是由上级节点指定触发的,若在某节点为完成状态时,添加该节点的下级节点,则添加的该下级节点将无法启动,因此传统工作流无法满足此类型的调整。而由于本申请实施例的工作流节点可以根据自身设置的启动条件执行启动操作,因此,可以在工作流实例的运行过程中,对工作流实例进行调整,调整方式更加灵活方便、实用性强。In the traditional workflow node, the startup of the subordinate node is triggered by the designation of the superior node. If a subordinate node of the node is added when a node is in the completed state, the added subordinate node will not be able to start, so the traditional workflow cannot be started. This type of adjustment is satisfied. However, since the workflow node in the embodiment of the present application can perform the startup operation according to the startup condition set by itself, the workflow instance can be adjusted during the running process of the workflow instance, and the adjustment method is more flexible, convenient and practical.
接下来结合具体实施例,对上述建立工作流模型的过程以及基于该工作流模型提供的一种的工作流程编排的完整方法进行具体说明。Next, in conjunction with specific embodiments, the above process of establishing a workflow model and a complete method for arranging a workflow based on the workflow model will be described in detail.
步骤1:预先编排业务流程的工作流节点模块库,基于该工作流节点模块库构建工作流模块。Step 1: pre-arrange a workflow node module library of business processes, and build a workflow module based on the workflow node module library.
以云交付业务为例,参见图9(a),为云交付项目的工作流节点模块库(下文简称模块库)的一种示例,如图9(a)所示,该模块库包含名称为设备采购、HLD设计等环节对应的工作流节点,这些工作流节点内配置有规则,具体的,该规则包含启动操作的执行条件,为方便描述,下文将启动操作的执行条件简称为启动条件。可选的, 模块库中的工作流节点可以包含相同的启动条件,也可以包含不同的启动条件,例如,设备采购的启动条件为上级节点全部为完成状态,HLD设计的启动条件为至少一个上级节点为完成状态。Taking the cloud delivery business as an example, see Figure 9(a), which is an example of the workflow node module library (hereinafter referred to as the module library) of the cloud delivery project. As shown in Figure 9(a), the module library contains names of Workflow nodes corresponding to equipment procurement, HLD design and other links. These workflow nodes are configured with rules. Specifically, the rules include the execution conditions of the start operation. For the convenience of description, the execution conditions of the start operation are referred to as start conditions in the following. Optionally, the workflow nodes in the module library may contain the same start condition, or may contain different start conditions, for example, the start condition of equipment purchase is that all upper-level nodes are in the completed state, and the start condition of HLD design is at least one upper-level. The node is in the completed state.
示例性地,该启动条件可以是编排模块库时配置的,也可以是在使用过程中配置的,例如,构建工作流模型时配置或修改部分或全部工作流节点的规则;又例如,在工作流实例的运行过程中,配置或修改部分或全部工作流节点的规则。本申请实施例对此不作限定。Exemplarily, the starting condition may be configured when arranging the module library, or may be configured during use, for example, when building a workflow model, configuring or modifying the rules of some or all of the workflow nodes; During the running process of the flow instance, configure or modify the rules of some or all of the workflow nodes. This embodiment of the present application does not limit this.
示例性地,选取工作流节点的方式可以是,从工作流节点模块库中将选中的工作流节点拖拽至工作流模型的编辑区域。工作流节点模块库中的工作流节点可以重复添加,即同一个工作流模型中可以包含多个相同的工作流节点,本申请实施例对此不作限定。Exemplarily, the way of selecting the workflow node may be dragging and dropping the selected workflow node from the workflow node module library to the editing area of the workflow model. The workflow nodes in the workflow node module library may be added repeatedly, that is, the same workflow model may contain multiple identical workflow nodes, which is not limited in this embodiment of the present application.
参见图9(b),为构建的云交付业务的工作流模型的一种示例,如图9(b)所示,该工作流模型中ASP采购为孤立节点,HLD设计为设备采购的上级节点,设备采购为LLD设计的上级节点,LLD设计为设备上架、掉电测试和BMC变更的上级节点,掉电测试为业务变更的上级节点,业务变更为软调调试的上级节点,软调调试为转维上线和资产转固的上级节点。也就是该工作流模型包含2个“end”节点。Referring to Fig. 9(b), it is an example of the workflow model of the cloud delivery business constructed. As shown in Fig. 9(b), in this workflow model, ASP procurement is an isolated node, and HLD is designed as an upper-level node for equipment procurement. , the equipment procurement is the upper-level node designed by LLD, the LLD is designed as the upper-level node for equipment racking, power-down test and BMC change, the power-down test is the upper-level node for service change, the service change is the upper-level node for soft-tuning debugging, and the soft-tuning debugging is The upper-level node for the online dimension transfer and asset transfer. That is, the workflow model contains 2 "end" nodes.
步骤b:接收用户触发的建立项目的第一请求,基于第一请求请求的工作流模型生成私有副本。Step b: Receive a first request for establishing a project triggered by the user, and generate a private copy based on the workflow model requested by the first request.
对于工程类项目而言,这里的用户可以是项目的管理者,例如项目经理等,假设该用户待建立的项目为“AZ1扩容项目”,则在接收到用户基于图9(b)所示的“云交付业务的工作流模型”,触发建立AZ1扩容项目的第一请求,接收并响应该第一请求生成该AZ1扩容项目的私有副本。参见图9(c),为生成的AZ1扩容项目的私有副本的示意图,结合图9(c)和图9(b),生成的私有副本与工作流模型相同。For engineering projects, the user here can be the manager of the project, such as the project manager, etc. Assuming that the project to be created by the user is the "AZ1 expansion project", after receiving the user based on the data shown in Figure 9(b) The "workflow model of cloud delivery service" triggers the first request for establishing an AZ1 expansion project, and receives and responds to the first request to generate a private copy of the AZ1 expansion project. Referring to Fig. 9(c), it is a schematic diagram of the generated private copy of the AZ1 capacity expansion project. Combined with Fig. 9(c) and Fig. 9(b), the generated private copy is the same as the workflow model.
一种可实施的方式,用户可以基于图9(c)所示的私有副本直接创建工作流实例,生成的工作流实例与图9(c)所示的私有副本相同。In an implementable manner, the user can directly create a workflow instance based on the private copy shown in Fig. 9(c), and the generated workflow instance is the same as the private copy shown in Fig. 9(c).
另一种可实施的方式,用户可以根据实际的项目流程编辑该私有副本,应理解,私有副本可以具有与工作流模型相同的配置和功能,用户可以从图9(a)所示的模块库中增加节点(例如设备下架节点)至该私有副本,也可以删除该私有副本的节点(例如BMC变更),还可以通过有向边来补充或修改私有副本中节点之间的关系。请参见图9(d),为调整后的AZ1扩容项目的私有副本的一种示例。In another implementable manner, the user can edit the private copy according to the actual project process. It should be understood that the private copy can have the same configuration and function as the workflow model. Add nodes (such as device delisting nodes) to the private copy, delete nodes of the private copy (such as BMC changes), and supplement or modify the relationship between nodes in the private copy through directed edges. See Figure 9(d) for an example of a private copy of the adjusted AZ1 scaling project.
步骤c:响应于用户基于第三私有副本触发的第一指令,生成工作流实例。Step c: In response to the first instruction triggered by the user based on the third private copy, a workflow instance is generated.
参见图9(e)所示,为基于图9(d)所示的私有副本生成的工作流实例,其中,HLD设计节点和ASP采购节点为运行状态,其他节点为待启动状态。Referring to Fig. 9(e), it is a workflow example generated based on the private copy shown in Fig. 9(d), wherein the HLD design node and the ASP purchase node are in the running state, and other nodes are in the pending state.
步骤d:在工作流实例的运行过程中,响应于用户对该工作流实例的第二私有副本的调整操作,得到第三私有副本,响应用于对第三私有副本触发的第二指令,对该工作流实例进行调整,以使调整后的工作流实例与第三私有副本相同。Step d: During the running process of the workflow instance, in response to the user's adjustment operation on the second private copy of the workflow instance, a third private copy is obtained, and in response to the second instruction for triggering the third private copy, the The workflow instance is adjusted so that the adjusted workflow instance is identical to the third private copy.
可选的,在项目的运行过程中,随着技术改革、组织变更或业务调整等因素的变更工作流实例也可以需要被修改,例如,需要在AZ1扩容项目中增加资产清退节点和硬件巡检节点。示例性地,用户可以通过修改私有副本来修改该工作流实例。Optionally, during the operation of the project, the workflow instance may also need to be modified due to technological reforms, organizational changes, or business adjustments. For example, it is necessary to add asset clearing nodes and hardware patrols in the AZ1 expansion project. Check node. Illustratively, a user can modify the workflow instance by modifying the private copy.
参见图10(a)为AZ1扩容项目的私有副本的示意图,图10(b)为运行过程中,AZ1扩容项目的工作流实例的一种状态示意图。Referring to Fig. 10(a), it is a schematic diagram of the private copy of the AZ1 capacity expansion project, and Fig. 10(b) is a state schematic diagram of a workflow instance of the AZ1 capacity expansion project during the running process.
参见图10(c)所示,为在图10(a)所示的私有副本上增加资产清退节点和硬件巡检节点后的私有副本的示意图,示例性地,用户调整完成后,点击确定按键触发第二指令,在接收到用户对第三私有副本触发的第二指令后,对工作流实例进行调整,参见图10(d)所示,为对运行过程中的工作流实例进行调整后的状态示意图。Referring to Figure 10(c), it is a schematic diagram of a private copy after adding an asset clearing node and a hardware inspection node to the private copy shown in Figure 10(a). Exemplarily, after the user adjustment is completed, click OK The second command is triggered by pressing the button, and after receiving the second command triggered by the user on the third private copy, the workflow instance is adjusted. See Figure 10(d), which is after adjusting the workflow instance in the running process. state diagram.
基于以上实施例以及相同构思,图11为本申请实施例提供的终端设备的示意图,如图11所示,该终端设备1100可以为芯片或电路,比如可设置于电子设备的芯片或电路。Based on the above embodiments and the same concept, FIG. 11 is a schematic diagram of a terminal device provided by an embodiment of the present application. As shown in FIG. 11 , the terminal device 1100 may be a chip or a circuit, such as a chip or circuit that can be provided in an electronic device.
如图11所示,该终端设备1100可以包括接收单元1103和处理单元1102。终端设备1100还可以包括存储单元1101,用于存储装置1100的程序代码和/或数据。As shown in FIG. 11 , the terminal device 1100 may include a receiving unit 1103 and a processing unit 1102 . The terminal device 1100 may further include a storage unit 1101 for storing program codes and/or data of the apparatus 1100 .
在一个实施例中,接收单元1103,用于接收用户的第一请求;In one embodiment, the receiving unit 1103 is configured to receive the first request of the user;
处理单元1102,用于响应于所述第一请求,基于所述第一请求请求的工作流模型生成第一私有副本,所述第一私有副本与所述工作流模型相同;响应于所述用户对所述第一私有副本的第一调整操作,得到第二私有副本;响应于所述用户对所述第二私有副本触发的第一指令,生成工作流实例,所述工作流实例与所述第二私有副本一一对应;其中,所述工作流模型,用于定义工作流节点,每个所述工作流节点用于描述业务流程的一个环节,所述工作流节点包括:规则,用于定义所述环节包含的待执行的操作,以及所述待执行的操作的执行条件;其中,所述待执行的操作包括启动操作,所述工作流节点具体用于,在监测到上级节点的状态满足所述启动操作的执行条件后,执行所述启动操作。The processing unit 1102 is configured to, in response to the first request, generate a first private copy based on the workflow model requested by the first request, where the first private copy is the same as the workflow model; in response to the user The first adjustment operation on the first private copy obtains a second private copy; in response to the first instruction triggered by the user on the second private copy, a workflow instance is generated, and the workflow instance and the The second private copies are in one-to-one correspondence; wherein the workflow model is used to define workflow nodes, each of the workflow nodes is used to describe a link of the business process, and the workflow nodes include: rules for Define the to-be-executed operations included in the link, and the execution conditions of the to-be-executed operations; wherein, the to-be-executed operations include startup operations, and the workflow node is specifically used to monitor the state of the upper-level node After the execution condition of the startup operation is satisfied, the startup operation is performed.
在一种可选的设计中,处理单元1102具体用于:在所述工作流实例运行过程中,响应于所述用户对所述第二私有副本的第二调整操作,得到第三私有副本;响应于用户对所述第三私有副本触发的第二指令,对所述工作流实例进行调整,以使所述工作流实例与所述第三私有副本一致。In an optional design, the processing unit 1102 is specifically configured to: during the running process of the workflow instance, in response to the user's second adjustment operation on the second private copy, obtain a third private copy; In response to a second instruction triggered by the user on the third private copy, the workflow instance is adjusted so that the workflow instance is consistent with the third private copy.
参见图12所示,为本申请实施例提供的一种控制装置示意图,该装置1200可以是上述实施例中的主机、主控设备或者从设备。该装置1200包括:处理器1202、通信接口1203,还可以包括存储器1201或者与存储器1201存在耦合关系。可选的,装置1200还可以包括通信线路1204。其中,通信接口1203、处理器1202以及存储器1201可以通过通信线路1204相互连接;通信线路1204可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。所述通信线路1204可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。Referring to FIG. 12 , which is a schematic diagram of a control apparatus provided in an embodiment of the present application, the apparatus 1200 may be a host, a master control device, or a slave device in the foregoing embodiment. The apparatus 1200 includes: a processor 1202, a communication interface 1203, and may further include a memory 1201 or be in a coupled relationship with the memory 1201. Optionally, the apparatus 1200 may further include a communication line 1204 . Wherein, the communication interface 1203, the processor 1202 and the memory 1201 can be connected to each other through a communication line 1204; the communication line 1204 can be a peripheral component interconnect (PCI for short) bus or an extended industry standard architecture (extended industry standard architecture). , referred to as EISA) bus and so on. The communication line 1204 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in FIG. 12, but it does not mean that there is only one bus or one type of bus.
处理器1202可以是一个CPU,微处理器,ASIC,或一个或多个用于控制本申请方案程序执行的集成电路。处理器1202的功能可以和图11中所描述的处理单元的功能相同。The processor 1202 may be a CPU, a microprocessor, an ASIC, or one or more integrated circuits for controlling the execution of the programs of the present application. The function of the processor 1202 may be the same as that of the processing unit described in FIG. 11 .
通信接口1203,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area  networks,WLAN),有线接入网等。通信接口1203的功能可以和图11中所描述的接收单元的功能相同。A communication interface 1203, using any device such as a transceiver, is used to communicate with other devices or communication networks, such as Ethernet, radio access network (RAN), wireless local area networks (WLAN), Wired access network, etc. The function of the communication interface 1203 may be the same as that of the receiving unit described in FIG. 11 .
存储器1201可以是ROM或可存储静态信息和指令的其它类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路1204与处理器相连接。存储器也可以和处理器集成在一起。The memory 1201 can be a ROM or other types of static storage devices that can store static information and instructions, a RAM or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (electrically erasable programmable read-only memory). read-only memory, EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compact disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), magnetic disk A storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, without limitation. The memory may exist independently and be connected to the processor through communication line 1204 . The memory can also be integrated with the processor.
其中,存储器1201用于存储执行本申请方案的计算机执行指令,并由处理器1202来控制执行。处理器1202用于执行存储器1201中存储的计算机执行指令,从而实现本申请上述实施例提供的方法。存储器1201可以和图11中所描述的存储单元的功能相同。The memory 1201 is used for storing computer-executed instructions for executing the solution of the present application, and the execution is controlled by the processor 1202 . The processor 1202 is configured to execute the computer-executed instructions stored in the memory 1201, so as to implement the methods provided by the foregoing embodiments of the present application. The memory 1201 may function the same as the storage unit described in FIG. 11 .
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。Optionally, the computer-executed instructions in the embodiment of the present application may also be referred to as application code, which is not specifically limited in the embodiment of the present application.
本申请实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在终端设备上运行时,使得终端设备执行上述相关方法步骤实现上述实施例中的方法。Embodiments of the present application further provide a computer storage medium, where computer instructions are stored in the computer storage medium, and when the computer instructions are executed on a terminal device, the terminal device executes the above-mentioned relevant method steps to implement the methods in the above-mentioned embodiments.
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的方法。Embodiments of the present application further provide a computer program product, which, when the computer program product runs on a computer, causes the computer to execute the above-mentioned relevant steps, so as to implement the methods in the above-mentioned embodiments.
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的方法。In addition, the embodiments of the present application also provide an apparatus, which may specifically be a chip, a component or a module, and the apparatus may include a connected processor and a memory; wherein, the memory is used for storing computer execution instructions, and when the apparatus is running, The processor can execute the computer-executed instructions stored in the memory, so that the chip executes the methods in the foregoing method embodiments.
其中,本申请实施例提供的终端设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。The terminal equipment, computer storage medium, computer program product or chip provided in the embodiments of the present application are all used to execute the corresponding methods provided above. Therefore, for the beneficial effects that can be achieved, reference may be made to the corresponding methods provided above. The beneficial effects of the method are not repeated here.
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。From the description of the above embodiments, those skilled in the art can understand that for the convenience and brevity of the description, only the division of the above functional modules is used as an example for illustration. In practical applications, the above functions can be allocated by different The function module is completed, that is, the internal structure of the device is divided into different function modules, so as to complete all or part of the functions described above.
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。Optionally, the computer-executed instructions in the embodiment of the present application may also be referred to as application code, which is not specifically limited in the embodiment of the present application.
本领域普通技术人员可以理解:本申请中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围,也表示先后顺序。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“至少一个”是指一个或者多个。至少两个是指两个或者多个。“至 少一个”、“任意一个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个、种),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。“多个”是指两个或两个以上,其它量词与之类似。此外,对于单数形式“a”,“an”和“the”出现的元素(element),除非上下文另有明确规定,否则其不意味着“一个或仅一个”,而是意味着“一个或多于一个”。例如,“a device”意味着对一个或多个这样的device。Those of ordinary skill in the art can understand that the first, second, and other numeral numbers involved in the present application are only for the convenience of description, and are not used to limit the scope of the embodiments of the present application, but also represent the sequence. "And/or", which describes the association relationship of the associated objects, means that there can be three kinds of relationships, for example, A and/or B, which can mean that A exists alone, A and B exist at the same time, and B exists alone. The character "/" generally indicates that the associated objects are an "or" relationship. "At least one" means one or more. At least two means two or more. "At least one", "any one", or similar expressions, refer to any combination of these items, including any combination of single item(s) or plural item(s). For example, at least one item (single, species) of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple. "Plurality" means two or more, and other quantifiers are similar. Furthermore, occurrences of the singular forms "a", "an" and "the" do not mean "one or only one" unless the context clearly dictates otherwise, but rather "one or more" in one". For example, "a device" means to one or more such devices.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。In the above-mentioned embodiments, it may be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented in software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated. The computer may be a general purpose computer, special purpose computer, computer network, or other programmable device. The computer instructions may be stored in or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions may be downloaded from a website site, computer, server or data center Transmission to another website site, computer, server, or data center is by wire (eg, coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (eg, infrared, wireless, microwave, etc.). The computer-readable storage medium may be any available medium that a computer can access, or a data storage device such as a server, a data center, or the like that includes an integration of one or more available media. The usable media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVD), or semiconductor media (eg, Solid State Disk (SSD)), and the like.
本申请实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列(FPGA)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。The various illustrative logic units and circuits described in the embodiments of this application may be implemented by general purpose processors, digital signal processors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) or other programmable logic devices, Discrete gate or transistor logic, discrete hardware components, or any combination of the above are designed to implement or operate the described functions. A general-purpose processor may be a microprocessor, or alternatively, the general-purpose processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented by a combination of computing devices, such as a digital signal processor and a microprocessor, multiple microprocessors, one or more microprocessors in combination with a digital signal processor core, or any other similar configuration. accomplish.
本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中。The steps of the method or algorithm described in the embodiments of this application may be directly embedded in hardware, a software unit executed by a processor, or a combination of the two. A software unit may be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art. Illustratively, a storage medium may be coupled to the processor such that the processor may read information from, and store information in, the storage medium. Optionally, the storage medium can also be integrated into the processor. The processor and storage medium may be provided in the ASIC.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded on a computer or other programmable data processing device to cause a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process such that The instructions provide steps for implementing the functions specified in the flow or blocks of the flowcharts and/or the block or blocks of the block diagrams.
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意 和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。Although the application has been described in conjunction with specific features and embodiments thereof, it will be apparent that various modifications and combinations can be made therein without departing from the spirit and scope of the application. Accordingly, this specification and drawings are merely exemplary illustrations of the application as defined by the appended claims, and are deemed to cover any and all modifications, variations, combinations or equivalents within the scope of this application. Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.

Claims (8)

  1. 一种工作流模型,其特征在于,A workflow model, characterized in that,
    所述工作流模型,用于定义工作流节点;the workflow model, for defining workflow nodes;
    其中,每个所述工作流节点用于描述业务流程的一个环节,所述工作流节点包括:规则,用于定义所述环节包含的待执行的操作,以及所述待执行的操作的执行条件;Wherein, each of the workflow nodes is used to describe a link of the business process, and the workflow nodes include: rules, which are used to define the operations to be executed included in the link, and the execution conditions of the operations to be executed. ;
    其中,所述待执行的操作包括启动操作,所述工作流节点具体用于,在监测到上级节点的状态满足所述启动操作的执行条件后,执行所述启动操作。The to-be-executed operation includes an activation operation, and the workflow node is specifically configured to execute the activation operation after monitoring that the state of the upper-level node satisfies the execution condition of the activation operation.
  2. 一种工作流程编排方法,其特征在于,该方法还包括:A work flow orchestration method, characterized in that the method further comprises:
    接收用户的第一请求;Receive the user's first request;
    响应于所述第一请求,基于所述第一请求请求的工作流模型生成第一私有副本,所述第一私有副本与所述工作流模型相同;In response to the first request, generating a first private copy based on the workflow model requested by the first request, the first private copy being the same as the workflow model;
    响应于所述用户对所述第一私有副本的第一调整操作,得到第二私有副本;obtaining a second private copy in response to the user's first adjustment operation on the first private copy;
    响应于所述用户对所述第二私有副本触发的第一指令,生成工作流实例,所述工作流实例与所述第二私有副本一一对应;In response to the first instruction triggered by the user on the second private copy, a workflow instance is generated, and the workflow instance is in one-to-one correspondence with the second private copy;
    其中,所述工作流模型,用于定义工作流节点,每个所述工作流节点用于描述业务流程的一个环节,所述工作流节点包括:规则,用于定义所述环节包含的待执行的操作,以及所述待执行的操作的执行条件;其中,所述待执行的操作包括启动操作,所述工作流节点具体用于,在监测到上级节点的状态满足所述启动操作的执行条件后,执行所述启动操作。Wherein, the workflow model is used to define workflow nodes, each of which is used to describe a link of a business process, and the workflow node includes: rules, used to define the to-be-executed items included in the link The operation to be executed, and the execution condition of the operation to be executed; wherein, the operation to be executed includes a start operation, and the workflow node is specifically configured to meet the execution condition of the start operation after monitoring the state of the upper-level node After that, the startup operation is performed.
  3. 如权利要求2所述的方法,其特征在于,该方法还包括:The method of claim 2, further comprising:
    在所述工作流实例运行过程中,响应于所述用户对所述第二私有副本的第二调整操作,得到第三私有副本;During the running process of the workflow instance, in response to the user's second adjustment operation on the second private copy, a third private copy is obtained;
    响应于用户对所述第三私有副本触发的第二指令,对所述工作流实例进行调整,以使所述工作流实例与所述第三私有副本一致。In response to a second instruction triggered by the user on the third private copy, the workflow instance is adjusted so that the workflow instance is consistent with the third private copy.
  4. 一种流程编排装置,其特征在于,包括:A process orchestration device, characterized in that it includes:
    接收单元,用于接收用户的第一请求;a receiving unit, configured to receive the first request of the user;
    处理单元,用于响应于所述第一请求,基于所述第一请求请求的工作流模型生成第一私有副本,所述第一私有副本与所述工作流模型相同;响应于所述用户对所述第一私有副本的第一调整操作,得到第二私有副本;响应于所述用户对所述第二私有副本触发的第一指令,生成工作流实例,所述工作流实例与所述第二私有副本一一对应;a processing unit, configured to, in response to the first request, generate a first private copy based on the workflow model requested by the first request, where the first private copy is the same as the workflow model; The first adjustment operation of the first private copy obtains a second private copy; in response to the first instruction triggered by the user on the second private copy, a workflow instance is generated, and the workflow instance and the first private copy are generated. One-to-one correspondence between two private copies;
    其中,所述工作流模型,用于定义工作流节点,每个所述工作流节点用于描述业务流程的一个环节,所述工作流节点包括:规则,用于定义所述环节包含的待执行的操作,以及所述待执行的操作的执行条件;其中,所述待执行的操作包括启动操作,所述工作流节点具体用于,在监测到上级节点的状态满足所述启动操作的执行条件后,执行所述启动操作。Wherein, the workflow model is used to define workflow nodes, each of which is used to describe a link of a business process, and the workflow node includes: rules, used to define the to-be-executed items included in the link The operation to be executed, and the execution condition of the operation to be executed; wherein, the operation to be executed includes a start operation, and the workflow node is specifically configured to meet the execution condition of the start operation after monitoring the state of the upper-level node After that, the startup operation is performed.
  5. 如权利要求4所述的装置,其特征在于,所述处理单元具体用于:The apparatus of claim 4, wherein the processing unit is specifically configured to:
    在所述工作流实例运行过程中,响应于所述用户对所述第二私有副本的第二调整操作,得到第三私有副本;响应于用户对所述第三私有副本触发的第二指令,对所述工作流实例进行调整,以使所述工作流实例与所述第三私有副本一致。During the running process of the workflow instance, in response to the user's second adjustment operation on the second private copy, a third private copy is obtained; in response to a second instruction triggered by the user on the third private copy, The workflow instance is adjusted so that the workflow instance is consistent with the third private copy.
  6. 一种流程编排装置,其特征在于,包括处理器、通信接口、存储器;A process orchestration device, characterized in that it includes a processor, a communication interface, and a memory;
    所述存储器,用于存储计算机程序代码;the memory for storing computer program code;
    所述通信接口,用于接收用户的第一请求;the communication interface, for receiving the first request of the user;
    所述处理器,用于响应于所述第一请求,基于所述第一请求请求的工作流模型生成第一私有副本,所述第一私有副本与所述工作流模型相同;响应于所述用户对所述第一私有副本的第一调整操作,得到第二私有副本;响应于所述用户对所述第二私有副本触发的第一指令,生成工作流实例,所述工作流实例与所述第二私有副本一一对应;The processor is configured to, in response to the first request, generate a first private copy based on the workflow model requested by the first request, where the first private copy is the same as the workflow model; in response to the The user's first adjustment operation on the first private copy obtains a second private copy; in response to the first instruction triggered by the user on the second private copy, a workflow instance is generated, and the workflow instance is associated with the second private copy. The second private copy is in one-to-one correspondence;
    其中,所述工作流模型,用于定义工作流节点,每个所述工作流节点用于描述业务流程的一个环节,所述工作流节点包括:规则,用于定义所述环节包含的待执行的操作,以及所述待执行的操作的执行条件;其中,所述待执行的操作包括启动操作,所述工作流节点具体用于,在监测到上级节点的状态满足所述启动操作的执行条件后,执行所述启动操作。Wherein, the workflow model is used to define workflow nodes, each of which is used to describe a link of a business process, and the workflow node includes: rules, used to define the to-be-executed items included in the link The operation to be executed, and the execution condition of the operation to be executed; wherein, the operation to be executed includes a start operation, and the workflow node is specifically configured to meet the execution condition of the start operation after monitoring the state of the upper-level node After that, the startup operation is performed.
  7. 如权利要求6所述的装置,其特征在于,所述处理单元具体用于:The apparatus of claim 6, wherein the processing unit is specifically configured to:
    在所述工作流实例运行过程中,响应于所述用户对所述第二私有副本的第二调整操作,得到第三私有副本;响应于用户对所述第三私有副本触发的第二指令,对所述工作流实例进行调整,以使所述工作流实例与所述第三私有副本一致。During the running process of the workflow instance, in response to the user's second adjustment operation on the second private copy, a third private copy is obtained; in response to a second instruction triggered by the user on the third private copy, The workflow instance is adjusted so that the workflow instance is consistent with the third private copy.
  8. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当所述计算机程序在流程编排装置上运行时,使得所述流程编排装置执行如权利要求2-3任一所述的方法。A computer-readable storage medium, characterized in that, the computer-readable storage medium comprises a computer program, when the computer program is executed on a process choreography device, the process choreography device is made to perform any one of claims 2-3. a described method.
PCT/CN2021/091741 2020-06-28 2021-04-30 Workflow arrangement method and device WO2022001355A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010601631.4 2020-06-28
CN202010601631.4A CN113850558A (en) 2020-06-28 2020-06-28 Workflow arrangement method and device

Publications (1)

Publication Number Publication Date
WO2022001355A1 true WO2022001355A1 (en) 2022-01-06

Family

ID=78972711

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/091741 WO2022001355A1 (en) 2020-06-28 2021-04-30 Workflow arrangement method and device

Country Status (2)

Country Link
CN (1) CN113850558A (en)
WO (1) WO2022001355A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114647404A (en) * 2022-05-23 2022-06-21 深圳市华付信息技术有限公司 Method, device and medium for arranging algorithm model based on workflow
CN116071028B (en) * 2023-03-07 2023-06-02 徐工汉云技术股份有限公司 Equipment monitoring flow chart generation method and device, electronic equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040153350A1 (en) * 2003-01-31 2004-08-05 Handysoft Corporation System and method of executing and controlling workflow processes
CN102254234A (en) * 2010-05-17 2011-11-23 中兴通讯股份有限公司 Realization method of business process and workflow engine
CN102663552A (en) * 2012-04-06 2012-09-12 东华理工大学 Dynamic workflow engine supporting online self-evolution
CN107810509A (en) * 2015-06-23 2018-03-16 微软技术许可有限责任公司 Workflow generation and editor
CN109670664A (en) * 2018-09-11 2019-04-23 深圳平安财富宝投资咨询有限公司 Flow implementation method, user equipment, storage medium and device based on workflow

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040153350A1 (en) * 2003-01-31 2004-08-05 Handysoft Corporation System and method of executing and controlling workflow processes
CN102254234A (en) * 2010-05-17 2011-11-23 中兴通讯股份有限公司 Realization method of business process and workflow engine
CN102663552A (en) * 2012-04-06 2012-09-12 东华理工大学 Dynamic workflow engine supporting online self-evolution
CN107810509A (en) * 2015-06-23 2018-03-16 微软技术许可有限责任公司 Workflow generation and editor
CN109670664A (en) * 2018-09-11 2019-04-23 深圳平安财富宝投资咨询有限公司 Flow implementation method, user equipment, storage medium and device based on workflow

Also Published As

Publication number Publication date
CN113850558A (en) 2021-12-28

Similar Documents

Publication Publication Date Title
US10412166B2 (en) Hybrid cloud information management system
JP3649345B2 (en) Information processing system
JP4851123B2 (en) Hierarchical projects in computer-aware project management methods and systems
US9720731B2 (en) Methods and apparatus for coordinating and selecting protocols for resources acquisition from multiple resource managers
WO2022001355A1 (en) Workflow arrangement method and device
US11138006B2 (en) Hybrid development systems and methods
US20130132296A1 (en) Networked business object sharing
US20130086130A1 (en) Executor for software configuration automation
KR102569415B1 (en) Service platform system for generating workflow and workflow generating method
CN110880100A (en) Business approval processing method, device and system
WO2018079162A1 (en) Information processing system
JP3726903B2 (en) Information processing system and work flow management method by information processing system
US11972375B2 (en) Phase-based access permissions for multi-phase projects
US10685309B1 (en) Case system events triggering a process
US20100077025A1 (en) Workflow automation & request processing
CN116360918A (en) Modeling data processing method, modeling data processing device, computer equipment and storage medium
US11797900B2 (en) Computer system and method for coordinating process of creating and managing a punch item
US10755212B2 (en) Dynamic process execution architecture with disassociated resource control
US11829951B2 (en) Computer system and methods for managing data, data access, and data retention
US20210216930A1 (en) Computer System and Method for Tracking the Impact of a Change Event
US8458692B2 (en) System and method for data migration integration with information handling system manufacture
US20200219159A1 (en) Real-Time Collaborative Product Configurator
US11928520B2 (en) Change-proposal functions in configuration management systems
US9412083B2 (en) Aggregation and workflow engines for managing project information
CN117035619B (en) Logistics supply chain scene cooperation method, system and equipment based on user definition

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21834209

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21834209

Country of ref document: EP

Kind code of ref document: A1