CN112990780B - Workflow construction method, device and equipment - Google Patents

Workflow construction method, device and equipment Download PDF

Info

Publication number
CN112990780B
CN112990780B CN202110465533.7A CN202110465533A CN112990780B CN 112990780 B CN112990780 B CN 112990780B CN 202110465533 A CN202110465533 A CN 202110465533A CN 112990780 B CN112990780 B CN 112990780B
Authority
CN
China
Prior art keywords
target
active
node
active node
task
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110465533.7A
Other languages
Chinese (zh)
Other versions
CN112990780A (en
Inventor
冯智伟
诸婷
李瑶
荆巍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110465533.7A priority Critical patent/CN112990780B/en
Publication of CN112990780A publication Critical patent/CN112990780A/en
Application granted granted Critical
Publication of CN112990780B publication Critical patent/CN112990780B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

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

Landscapes

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

Abstract

The embodiment of the specification provides a workflow construction method, device and equipment, which can be used in the financial field or other fields. Wherein the method comprises the following steps: defining an activity information set according to the target business requirement; wherein the set of activity information comprises: the movable nodes and the movable flow directions; a controller for defining each active node in the active information set based on the target traffic demand; the controller is used for controlling the flow direction of the movable node; constructing a target workflow corresponding to the target business requirement by using a program language according to the activity information set and the controllers of all the activity nodes; and the instance data generated by the target workflow execution is stored by using a preset data object. In the embodiment of the specification, the system business requirement can be conveniently and iteratively responded by combining the activity definition and the controller definition, and the method has better applicability and reconfigurability for frequently adjusting the approval process or having special treatment approval requirement scenes.

Description

Workflow construction method, device and equipment
Technical Field
The embodiment of the specification relates to the technical field of computer application, in particular to a workflow construction method, device and equipment. It should be noted that the method, the device and the equipment for constructing the workflow disclosed in the application can be used in the financial field, and also can be used in any field except the financial field, and the application fields of the method, the device and the equipment for processing the product data disclosed in the application are not limited.
Background
At present, the workflow in daily management of enterprises is an indispensable component in each enterprise management system, and the use of the flow component is required from project full-flow management, contract order management to personnel leave, and personnel reimbursement. In the prior art, a series of scenerization solutions are usually provided based on BPM (business process management), business processes are required to be established according to BPMN (business process modeling and labeling) standards, and for some scenes with special requirements, system developers need to reconstruct based on complex source codes of the components or process by adjusting a large amount of workflow native table data. Therefore, the workflow cannot be conveniently constructed according to the special service requirement by adopting the technical scheme in the prior art.
In view of the above problems, no effective solution has been proposed at present.
Disclosure of Invention
The embodiment of the specification provides a method, a device and equipment for constructing a workflow, which are used for solving the problem that the workflow cannot be constructed conveniently in a scene with frequent iteration and change of the workflow in the prior art.
The embodiment of the specification provides a workflow construction method, which comprises the following steps: defining an activity information set according to the target business requirement; wherein the set of activity information comprises: the movable nodes and the movable flow directions; a controller for defining each active node in the active information set based on the target traffic demand; the controller is used for controlling the flow direction of the movable node; constructing a target workflow corresponding to the target business requirement by using a program language according to the activity information set and the controllers of all the activity nodes; and the instance data generated by the target workflow execution is stored by using a preset data object.
The embodiment of the specification also provides a workflow construction device, which comprises: the first defining module is used for defining an activity information set according to the target service requirement; wherein the set of activity information comprises: the movable nodes and the movable flow directions; a second definition module, configured to define a controller of each active node in the active information set based on the target service requirement; the controller is used for controlling the flow direction of the movable node; the construction module is used for constructing a target workflow corresponding to the target business requirement by using a program language according to the activity information set and the controllers of all the activity nodes; and the instance data generated by the target workflow execution is stored by using a preset data object.
The embodiment of the specification also provides a workflow construction device, which comprises a processor and a memory for storing instructions executable by the processor, wherein the processor realizes the steps of the workflow construction method when executing the instructions.
The embodiment of the specification provides a workflow construction method, which can define an activity information set according to target business requirements, wherein the activity information set can comprise: active nodes, active flow directions, etc. Controllers for each active node in the set of active information may be defined based on the target traffic demand, the controllers being configured to control the flow direction of the active node. More service custom processing modes can be provided by designing the controller, and the coupling of workflow processing logic and system service processing is effectively reduced. Further, a target workflow corresponding to the target business requirement can be constructed by using a program language according to the active information set and the controllers of the active nodes; and the instance data generated by the target workflow execution is stored by using a preset data object. Under the scene of frequent iteration and change of the workflow, a developer can respond to the service requirement of the system conveniently and iteratively by combining the activity definition and the controller definition, and the method has better applicability and reconfigurability for frequent adjustment of the approval process or the scene with special treatment approval requirement, thereby being beneficial to service expansion and personalized transformation of the developer.
Drawings
The accompanying drawings, which are included to provide a further understanding of embodiments of the present specification, are incorporated in and constitute a part of this specification and do not limit the embodiments of the present specification. In the drawings:
FIG. 1 is a schematic diagram of steps of a method of building a workflow provided according to an embodiment of the present disclosure;
fig. 2 is a schematic diagram of a procedure for performing closed loop judgment by using a closed loop controller according to an embodiment of the present disclosure;
FIG. 3 is a schematic diagram of a closed loop decision process for a scenario where there is a branching sub-process and a differential score closed loop provided in accordance with an embodiment of the present disclosure;
FIG. 4 is a schematic diagram of a closed loop decision process for a presence branch sub-process provided in accordance with an embodiment of the present disclosure;
FIG. 5 is a schematic diagram of a workflow build apparatus provided according to an embodiment of the present disclosure;
fig. 6 is a schematic structural diagram of a workflow building apparatus provided according to an embodiment of the present specification.
Detailed Description
The principles and spirit of the embodiments of the present specification will be described below with reference to several exemplary implementations. It should be understood that these embodiments are presented merely to enable one skilled in the art to better understand and implement the present description embodiments and are not intended to limit the scope of the present description embodiments in any way. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
Those skilled in the art will appreciate that the implementations of the embodiments of the present description may be implemented as a system, apparatus, method, or computer program product. Accordingly, the present disclosure may be embodied in the following forms, namely: complete hardware, complete software (including firmware, resident software, micro-code, etc.), or a combination of hardware and software.
While the flow described below includes a number of operations occurring in a particular order, it should be apparent that these processes may include more or fewer operations, which may be performed sequentially or in parallel (e.g., using a parallel processor or a multi-threaded environment).
Referring to fig. 1, the present embodiment may provide a method for constructing a workflow. The workflow construction method can be used for conveniently constructing the workflow according to the business requirements under the scene of workflow iteration and frequent change. The method for constructing the workflow may include the following steps.
S101: defining an activity information set according to the target business requirement; wherein the set of activity information comprises: active nodes and active flow directions.
In this embodiment, the active information set may be defined according to the target service requirement; the target business requirements can be used for representing the processing logic of the workflow to be established and the related processing objects. The set of activity information may include: active nodes, active flows, etc., it will of course be appreciated that the active information sets described above may also contain other information, such as: the active operations, the processing objects of the active nodes, and the like may be specifically determined according to actual situations, which are not limited in the embodiments of the present specification.
In the present embodiment, the definition of the active node (work_flow_node) may be as shown in table 1.
TABLE 1
In this embodiment, the activity definition may be a set of configuration information of a workflow, which defines how many active nodes are in a workflow, which operations are in each active node, and these operations may flow to which other active nodes, where pos_mark represents how much weight value needs to be added to the last node to flow to the node, and neg_mark represents how much weight value needs to be subtracted by the corresponding trunk active node returned by the branch active node. The workflow data object is used for storing related information of flow data actually generated in the workflow execution process, and may include: workflow information, activity task information, task user information, task tracking information, and the like.
In this embodiment, the "workflow data object" specifically records the actual situation from start to finish of each workflow, and the information in the "workflow data object" is the controller corresponding to the specific operation of the user, and the controller processes the activity definition configuration information to automatically produce the flow data, where the activity task information may record the STATUS of each activity node in the circulation process, including the activity node weight value (MARK) and the activity task STATUS (STATUS). For example: the method comprises a stand process, wherein a stand is defined in an activity definition of the workflow and comprises an application node, an internal approval node, a solicitation node and a reply node. When multiple stand-off flows are initiated, each stand-off flow actually flows, and various circulation situations can appear according to different operation or business scenes, some circulation situations are returned, some circulation situations are approved, and data objects are used for recording the instances.
In this embodiment, the above workflow TYPE (app_type) is used to distinguish between different workflow TYPEs, including distinguishing between independent workflow TYPEs and parent-child workflow TYPEs, and may also include a user-defined TYPE identifier. For example: the purchase plan approval workflow is identified as 01, the purchase standing (parent process) approval workflow is identified as 02, the external technical resource (child process) approval workflow is identified as 02-03, and the assessment (child process) approval workflow is identified as 02-04.
In the present embodiment, the weight added value and the weight subtracted value are used for such scenes as a branch flow, a countersign, and the like, and the branch weight value (mark=pos_mark×num) of the trunk active node is calculated by multiplying the weight added value by the branch number from the trunk active node to the branch node. When the branch returns to the trunk active node, the task execution result (mark=mark-neg_mark×num) of the trunk active node is calculated by the branch weight value- (weight subtracting value×the number of branches returned) of the trunk active node, if MARK is less than or equal to 0, the branch is completed, and the next link can be entered. If the result MARK is greater than 0, the other branches and countersign feedback need to be waited to complete the branch closed loop.
In this embodiment, the trunk branch identifier (multi) is used to identify whether the active node is a trunk active node or a branch active node. If the next node pointed by the operation is a trunk identifier, the current link is not allowed to be a branch active node still in the way, and the next trunk link can be accessed only after all the current branch flows (MARK < =0) are completed. If the next node pointed by the operation is the branch identifier, a new branch flow direction can be continuously added even if the current link still has an unfinished branch active node. If the current active node is a branch active node, the operation from the current branch active node to the branch can be performed, and meanwhile, the next active node of the branch active node is a new trunk active node, and the next trunk active node can be used as a trunk active node on the branch. And finally, the branches need to return to the original trunk or branch active nodes to carry out closed loop so as to continue the subsequent flow. Meanwhile, the active nodes of the competition class can be realized by modifying the weight values, so that a more complex active node flow diagram can be realized through the definition of the active nodes.
In the present embodiment, the definition of the activity operation (work_node_operation) may be as shown in table 2.
TABLE 2
In this embodiment, an active node (state_num) includes a plurality of operations (operator_id), each operation corresponds to an operation controller, and the operation controller is composed of an operator_ctl and a ctl_param, and the oepr_ctl can store a user-defined business method, for example: java method name. Ctl_param store may place entries, e.g., specific entity classes, etc., that the user invokes the method. Therefore, the operation controller can search the corresponding service method in the system according to the definition program of the user, process the service method in a reflection or injection-dependent mode, match the service processing result with the result matcher and determine which node the operation flows to.
In this embodiment, the definition of the activity flow direction (work_node_direct) may be as shown in table 3.
TABLE 3 Table 3
In this embodiment, each operation of the active node generates multiple flow directions to the next different active node, and if the operation has user-defined service flow direction judgment, the operation controller may be configured to judge the flow direction according to the service form processing result. If the operation does not involve business logic, the operation controller defaults to null and can enter the next active node in an operation-flow-to-one relationship.
In this embodiment, the definition of the active user may be as shown in table 4.
TABLE 4 Table 4
Field name Field description and rules
USER_ID The user defines the number.
ROLE_ID The user defines the character number.
GROUP_ID The user defines the group number.
BRANCH_ID The user customizes the organization number.
In this embodiment, the active user is used to indicate which users an active node should be processed by, and by defining the active user and the user information entity class, it is possible to facilitate subsequent searching and statistics of workflow data objects according to modes such as user-defined user, role, group, and organization.
In this embodiment, the user information entity class is mainly provided to the user for self-setting use in Bean class, and the user can write relevant information into the user information entity class according to the target service requirement. For example, the user defines a "purchase standing" approval process (app_type=02) that starts with an active node (state_desc=purchase standing application) that defaults to the "standing application" and associates an operation of "submit application" (operator_desc=submit application). In some embodiments, processInstance processInstance =workflow engine, getcounteflow (). StartProcessInstanceByType ("02"), work_node_assignment, may be performed according to the flow TYPE (app_type) and current initiating user (work_node_assignment) to initiate an approval flow of "purchasing stand". Further, a processInstance. GetTaskByUserId (state_num, work_node_assignee. User_id) method may be performed to stream the current active task, and return entity information of the next active task of the flow, and set user information of the next activity through a Next Task. Setassignee (List < work_node_assignee >).
S102: a controller for defining each active node in the active information set based on the target service requirement; wherein the controller is used for controlling the flow direction of the active node.
In this embodiment, the controller of each active node in the active information set may be defined based on the above-described traffic demand. The controller is used for controlling the flow direction of the active nodes in the workflow according to the activity definition and the data object information, and the data object is used for storing the related information of the flow data actually generated in the execution process of the workflow.
In this embodiment, the controller may include an operation controller and a closed-loop controller. The operation controller may include: the method comprises three elements of controller entering (CTL_ParAM), controller (OPER_CTL) and RESULT matcher (CTL_RESULT), wherein the controller entering is a user-defined entity class name, the controller is a user-defined service flow control method, and the RESULT matcher is used for searching the flow direction of the next active node according to the user-defined service processing RESULT. For example: the user defines a "purchase subject" approval process (app_type=02) including an "subject application" active node (state_desc=purchase subject application) associated with a "submit application" operation (operator_desc=submit application), and a series of list instance information including subject name, amount, etc. is defined by the user based on the process. This operation involves two flows, if the subject amount is less than 1 ten thousand directly submittable department leadership approval (direct_desc=department leadership approval), otherwise, the department procurement post primary approval is submitted before the department leadership approval (direct_desc=procurement post primary approval). The user-defined form instance information com.flow.purchase.bean.projectinfo entity class obtains service results through a projectAmourtCheck method in the user-defined service processing class com.flow.purchase.projectCheck, and finally, the workflow flow direction results are processed through a result matcher.
In this embodiment, the user-defined standing form entity class com, flow, pump, project info may be set in the "submit application" operation's controller entry (ctl_param), and then the user-defined service processing method name com, flow, pump, project check, project amountcheck may be set in the "submit application" operation flow controller (oper_ctl). When a user performs an operation of submitting an application in an active node of the application, after acquiring current active task information, the user can call a workflow by taking relevant information (com. Flow. Project info), OPER_ID and the like of the custom standing form as an entry, and the workflow loads a user-defined business circulation control method in a controller under the operation according to the entry information to finish corresponding business processing. And according to the service processing result, matching a next movable node meeting the condition from two flows of department leading approval and purchase post initial review, and carrying out circulation.
In this embodiment, the closed-loop controller may be used to determine the current active task processing state and the next active task processing state. The weight score can be judged according to the POS_MARK and NEG_MARK in the current active node and the next active node definition and the MARK in the active task information so as to achieve the purpose of controlling the closed loop state of the active task. An active node may correspond to an active task while an active node may correspond to multiple operations, such as: the approval node can be used for carrying out approval activity tasks corresponding to corresponding personnel, and meanwhile, the approval node can be used for correspondingly selecting approval passing, selecting approval failing and the like. The specific determination may be determined according to the actual situation, and the embodiment of the present specification is not limited thereto.
S103: constructing a target workflow corresponding to the target business requirement by using a program language according to the activity information set and the controllers of all the activity nodes; the instance data generated by the target workflow execution is stored by using a preset data object.
In this embodiment, a target workflow corresponding to a target business requirement may be constructed by using a program language according to the active information set and the controllers of the active nodes. The instance data generated by the execution of the target workflow is stored by using a preset data object so as to be called in time.
In this embodiment, the target workflow may be constructed by using a program language in combination with a scenario corresponding to the target service requirement. For example: if the job is a countersign process, the workflow supports multiple establishment of branch active tasks, and may call the processinstance, gettask byuserids (state_num, work_node_task, user_id), completeTask (openjd, projectInfo) multiple times to generate multiple branch active tasks, and for each active task, the active user information (List < work_node_task >) may be updated to implement the countersign function by means of the next task. If the process is a competitive approval, the process instance, the gettask byuserid (state_num, work_node_assignment, user_id), the complexetask (openid, projectInfo) may be called only once to generate an active task, and a plurality of work_node_assignment may be assigned to the active task.
In this embodiment, the preset data object may be used to store related information of flow data actually generated in the workflow execution process, and may include: workflow information, activity task information, task user information, task tracking information, and the like. Wherein, the workflow information is used for recording the association relationship between the workflow type and the workflow instance, and the definition of the workflow information (work_flow_record) can be shown in table 5.
TABLE 5
Field name Field description and rules
INSTANCE_ID Workflow instance numbering, unique number for each workflow instance
APP_TYPE Workflow type
CREATE_TIME Instance creation time
FINISH_TIME Instance end time
In this embodiment, based on a workflow activity definition (configuration template), numerous specific processes can be initiated based on the definition (template), each specific process being a workflow instance.
In this embodiment, the above-mentioned active task information is used to implement task recording of a flow instance by the workflow controller according to an active node definition, an active operation definition, and an active flow direction definition, and the definition of the above-mentioned active task information (work_task_record) may be as shown in table 6.
TABLE 6
Field name Field description and rules
INSTANCE_ID Workflow instance number.
TASK_ID An active task instance number.
LAST_TASK_ID The last active task instance number.
STATE_NUM The active node number.
MARK An active node weight value.
STATUS Active task status. ( 0: task to be processed, 1: in task processing, 2: task completion )
In this embodiment, the active task instance may be an active task instance corresponding to an active node in a certain workflow instance. The task USER information may be used to associate USER processing information corresponding to each task instance, where user_id, ole_id, group_id, and branch_id may be set in a customized manner according to the target service requirement, and the definition of the task USER information (work_allocation_record) may be as shown in table 7.
TABLE 7
Field name Field description and rules
TASK_ID Active task instance numbering
ASSIGNEE_ID Task user instance numbering
USER_ID User-defined numbering
ROLE_ID User-defined character numbering
GROUP_ID User-defined group numbering
BRANCH_ID User-defined organization numbering
In this embodiment, the task tracking information is used to complete recording of specific operation information of the workflow instance, and the definition of the task tracking information (work_step_record) may be as shown in table 8.
TABLE 8
Field name Field description and rules
INSTANCE_ID Workflow instance numbering
TASK_ID Active task instance numbering
LAST_TASK_ID Last active task instance numbering
STATE_NUM Mobile node numbering
NEXT_STATE_NUM The next active node number
USER_ID Active task actually handles user numbering
ROLE_ID Custom role numbering
GROUP_ID Custom group numbering
BRANCH_ID Custom organization numbering
OPER_ID Active task actual operation numbering
DIRECT_ID Active task actual flow direction numbering
REACH_DATE Task arrival time
FINISH_DATE Task completion time
In this embodiment, the task user information and the task tracking information may provide scalability and flexibility of the workflow statistics and query functions in a data redundancy manner. Further, a table structure corresponding to the data object may be established according to the definition of the entities such as the workflow information, the activity task information, the task user information, the task tracking information, and the like, so as to store the related information. In some embodiments, the entity field may be extended or adjusted by a manner of rewriting, which may be specifically determined according to practical situations, which is not limited in this specification.
From the above description, it can be seen that the following technical effects are achieved in the embodiments of the present specification: the set of activity information may be defined according to target business requirements, wherein the set of activity information may comprise: active nodes, active flow directions, etc. Controllers for each active node in the active information set may be defined based on the target traffic demand, where the controllers are configured to control the flow direction of the active node. More service custom processing modes can be provided by designing the controller, and the coupling of workflow processing logic and system service processing is effectively reduced. Further, a target workflow corresponding to the target business requirement can be constructed by using a program language according to the activity information set and the controllers of all the activity nodes; the instance data generated by the target workflow execution is stored by using a preset data object. Under the scene of frequent iteration and change of the workflow, a developer can respond to the service requirement of the system conveniently and iteratively by combining the activity definition and the controller definition, and the method has better applicability and reconfigurability for frequent adjustment of the approval process or the scene with special treatment approval requirement, thereby being beneficial to service expansion and personalized transformation of the developer.
In one embodiment, the set of activity information may further comprise: the activity operation, defining the controller of each activity node in the activity information set based on the target business requirement, may include: under the condition that the target active node needs the self-defined operation controller, taking the active task instance number, the active operation number and the self-defined form instance corresponding to the target active node as the parameters of the target operation controller. Further, according to the active node and the active flow direction corresponding to the target active node, a user-defined control class and a user-defined service flow control method can be written in the target operation controller; the target active node comprises a plurality of operations, and the target operation controller is used for determining the node flow direction of the target operation.
In this embodiment, an operation controller may be defined for each active node in the active information set, and the operation controller may include: the controller is three elements of a parameter (CTL_ParAM), a controller (OPER_CTL) and a RESULT matcher (CTL_RESULT). The entity class name which can be customized by the controller can be included: an activity task instance number, an activity operation number, and a custom form instance; the controller is a user-defined service flow control method, and the result matcher can be used for searching the flow direction of the next active node according to user-defined service processing result matching.
In this embodiment, the custom form instance may be a ctl_param parameter defined by an active operation, and the custom form instance may be used to characterize an operation of a user at a target active node, and may be used to determine a service processing result. The self-defined form example may include a plurality of customized related service parameters, for example: item name, amount, etc.
In this embodiment, the method for controlling custom service flow may be used to characterize service processing logic of a target active node, and may determine a service processing result by combining a target operation corresponding to a custom form instance and the custom service flow control method, so as to determine a node flow direction of the target operation.
In one embodiment, after the target workflow corresponding to the target business requirement is constructed by using the programming language, the method may further include: under the condition that the target workflow flows to the target active node, the active task instance number, the active operation number and the user-defined form instance corresponding to the target active node can be used as the input parameters to be input into the target operation controller. The operation entity information under the target active node can be obtained according to the active task instance number and the active node number corresponding to the target active node. Further, the target operation entity information in the operation entity information can be obtained according to the matching of the active operation numbers corresponding to the target active nodes. Under the condition that the corresponding target operation controller exists in the target operation entity information, the next active node number of the target active node can be determined according to the self-defined business flow control method in the target operation controller.
In this embodiment, when the target workflow flows to the target active node, the active task instance number, the active operation number, and the user-defined form instance corresponding to the target active node may be used as the input parameter to be input to the target operation controller. In some embodiments, after the active task entity corresponding to the target active node is obtained through the active task instance number, the active operation number and the custom form instance are transmitted into the target operation controller. The active task entity may be active task information (work_task_record) recorded in a data object.
In this embodiment, since all the corresponding operation entity information under the active node that has been streamed to may be recorded in the active task entity. Thus, it is possible to match to a specific operation entity information under the target active node according to the active operation number (OPER_ID). For example: find "submit approval" operation under "purchase standing application" active node.
In this embodiment, it may be determined whether or not the operation entity under the target active node has a custom operation controller, and if the operation controller (OPER_CTL) is empty, the operation and the flow direction may be considered to be one-to-one. If there is no user-defined controller, it is necessary to define only one piece of flow information, and find out the only one piece of flow information by the active operation number (OPER_ID). If the operation controller (OPER_CTL) writes the custom control class and the business circulation control method, the custom control class can be instantiated in a reflection mode for the traditional java project, and the custom control class can be loaded from a Spring container for the Spring project, so that Spring is a free open source framework.
In this embodiment, if the foregoing instantiation of the custom control class is successful, the controller uses the incoming active task instance number, active operation number, and custom form instance as an entry parameter, and invokes a corresponding custom service flow control method in the entity class, and in order to ensure that the configured code name exists in the user system, the controller may perform checksum type conversion on the entity class of the form according to the entry parameter name of the custom service flow control method, and convert the entity class of the form into an executable program through reflection or injection dependency, so as to complete custom logic processing.
In this embodiment, after the logic processing of the custom service flow control method is completed, a return value of the custom service flow control method is obtained, all flow direction information under the operation is traversed through an active operation number (OPER_ID), and the return value is matched with a result matching parameter, so that a matching mode can support simple relational operator matching, for example: { result } >1000, { result } < = 1000. Further, the NEXT active node number (next_state_num) that the final match was successful may be read.
In this embodiment, the entity information of the NEXT active node may be loaded according to the NEXT active node number (next_state_num), and the task entity of the target active node and the task entity of the NEXT active node may be used as the input parameters to be transmitted to the closed-loop controller, so as to determine whether the target active node may flow to the NEXT active node.
In one embodiment, defining the set of activity information according to the target business requirements may include: setting a weight added value and a weight subtracted value of each branch active node under the condition that the active information set contains the branch active nodes; wherein the weight-added value is used for representing the weight value of the current active node which is increased when the next branch active node is reached, and the weight-subtracted value is used for representing the weight value of the branch active node which is subtracted when the branch returns.
In this embodiment, the weight addition value and the weight subtraction value are used for such scenes as branching flow, countersignature, and the like. From the trunk active node to the branch node, a branch weight value (mark=pos_mark×num) of the trunk active node can be calculated by multiplying the weight added value by the branch number. When the branch returns to the trunk active node, the task execution result (mark=mark-neg_mark×num) of the trunk active node is calculated by the branch weight value- (weight subtracting value×the number of branches returned) of the trunk active node, if MARK is less than or equal to 0, the branch is completed, and the next link can be entered. If the result MARK is greater than 0, the other branches and countersign feedback need to be waited to complete the branch closed loop.
In this embodiment, specific values of the weight adding value and the weight subtracting value may be determined according to practical situations, for example, one active ring throttles and rotates out the same 10 branches to different institution users to perform countersign, a developer defines each branch pos_mark=1 of the countersign, but only 50% of user processing is required to close the countersign, and then the countersign can be ended when the neg_mark=2 of the closed-loop active node pointed by the countersign is implemented, so that the 5 branches return to the closed-loop active node. Of course, the manner of setting the weight adding value and the weight subtracting value is not limited to the above examples, and other modifications may be made by those skilled in the art in light of the technical spirit of the embodiments of the present disclosure, and all the functions and effects as long as they are the same as or similar to those of the embodiments of the present disclosure should be covered in the protection scope of the embodiments of the present disclosure.
In one embodiment, after defining the activity information set according to the target service requirement, it may further include: setting a closed-loop controller at the tail end of each branch flow under the condition that the branch active nodes are contained in the active information set; the closed loop controller is used for judging whether the current branch flow is closed loop to flow to the next trunk flow.
In this embodiment, the closed-loop controller may be used to determine the current active task processing state and the next active task processing state. The weight score can be judged according to the POS_MARK and NEG_MARK in the current active node and the next active node definition and the MARK in the active task information so as to achieve the purpose of controlling the closed loop state of the active task.
In this embodiment, if the next active node of one branch active node is the trunk active node, the branch active node may be considered as the end of the current branch flow, and a closed loop controller may be set between the branch active node and the next active node.
In one embodiment, after the target workflow corresponding to the target business requirement is constructed by using the programming language, the method may further include: and when the target workflow flows from the target trunk active node to the branch active node, acquiring the number of branches corresponding to the target trunk active node and the weight added value of the branch active node. The product of the number of branches corresponding to the target trunk active node and the weight plus score of the branch active node can be used as the branch weight value of the target trunk active node, and when the branch active node returns to the target trunk active node, whether the next active node of the current branch active node is the trunk active node or not is determined. Further, under the condition that the next active node is determined to be the trunk active node, the weight reduction value of the branch active node corresponding to the target trunk active node and the returned branch number can be obtained, and the difference value of the product of the branch weight value and the returned branch number is taken as the task execution result of the target trunk active node, so that whether the next active node is called or not can be judged according to the task execution result of the target trunk active node.
In this embodiment, when the target workflow flows from the target trunk active node to the branch active node, the branch weight value (mark=pos_mark×num) of the target trunk active node may be calculated by multiplying the weight added value of the branch active node by the number of branches corresponding to the target trunk active node. When returning from the branch active node to the target trunk active node, it may be determined first whether the next active node of the current branch active node is the trunk active node, and if the next active node of the current branch active node is the trunk active node, then there cannot be a branch still in process, and it needs to be determined whether the target trunk active node forms a closed loop. If the next active node of the current branch active node is a branch active node, flow to the new branch may continue based on the branch node.
In this embodiment, when it is determined that the next active node is a trunk active node, the task execution result (mark=mark-neg_mark×num) of the target trunk active node may be calculated by subtracting the weight value of the target trunk active node (the weight of the branch active node corresponding to the target trunk active node×the number of branches returned).
In one embodiment, after determining whether the next active node of the current branch active node is the trunk active node, it may further include: and under the condition that the next active node is determined to be the branch active node, acquiring a weight added value of the next branch active node, and updating the task state of the target trunk active node in the data object into processing.
In this embodiment, if the next active node of the current branch active node is a branch active node, the flow to the new branch may be continued based on the branch node. In some embodiments, the branch active node weight added value (pos_mark) of the next active node may be read, and the active task state of the current branch active node stored in the data object may be set to in-process (status=1). Further, the target trunk active node weight value may be updated to mark=mark+pos_mark.
In one embodiment, determining whether to call the next active node according to the task execution result of the target trunk active node may include: and under the condition that the task execution result of the target trunk active node is less than or equal to 0, determining whether a task state which is in front of the target trunk active node is a history task in process according to the data object. In the case that the task state existing before the target trunk active node is the history task in process, it may be determined whether the next node of the active node corresponding to the history task is the target trunk active node. Further, the task execution result of the active node corresponding to the historical task may be determined under the condition that the next node of the active node corresponding to the historical task is determined to be the target trunk active node. And under the condition that the task execution result of the active node corresponding to the historical task is less than or equal to 0, a task instance corresponding to the next active node is newly added; the task state of the newly added task instance is to be processed, and the default weight value is 0.
In this embodiment, if the task execution result of the target trunk active node is greater than 0 and the next active node is the trunk node, the task of the next active node is not allowed to be created, and the branches that need to be equally circulated out can flow to the trunk node after reaching the closed loop condition (MARK < = 0). If the task execution result of the target trunk active node is greater than 0 and the next active node is a branch node, flow to the new branch may continue based on the branch node.
In this embodiment, if the task execution result of the target trunk active node is less than or equal to a plurality of and 0, it is indicated that the task has no branch still in process, and there is no limitation. After the current active task has circulated out the branch task, the current active task still allows to continue to initiate other branch tasks, and only after the current active task has completed the circulated out branch task, the current active task can flow to the subsequent trunk node.
In this embodiment, when it is determined that the TASK execution result of the target trunk active node is less than or equal to 0, it may be obtained by recording, in the data object, whether the previous active TASK instance number (last_task_id) in the current active TASK entity is the historical TASK whose TASK state is in the TASK processing (status=1), and the active node number of the TASK in the processing is consistent with the next active node number provided by the operation controller. If there is a history task in process, it is indicated that the currently completed task belongs to one task in a certain branch line, and the operation of the currently active task is to flow to the target trunk active node which is not closed loop in the original state, so as to be used for the history task before closed loop. After the current active task state processing is completed, closed loop state processing of the historical task is required. If the forward trace is not found, the next active node indicating the operation flow direction of the current active task does not involve a branch line, and after the current active task state processing is completed, the next active task instance can be created.
In this embodiment, when it is determined that the next node of the active nodes corresponding to the history task is the target trunk active node, a node having a history active task that is not closed-loop may be determined. The current active node weight value (MARK) of the historical task may be subtracted from the non-closed loop historical active node branch weight subtracted value (neg_mark). After calculation, if the current active node weight value (MARK) of the historical task is less than or equal to 0, it is indicated that the task has satisfied the closed loop requirement, and the active node state of the historical task can be updated to be task pending (status=0). At this time, the historical task is the current task, and the active node of the task can be updated to be completed later, for example, by circulating the active node of the trunk. If the weight value of the active node of the historical task is greater than 0, the historical task still does not meet the closed loop requirement, and still has an on-the-way branch flow, and the trunk active node can only be circulated after the branch active node is continuously initiated or other branch flows are returned.
In this embodiment, in the case where it is determined that the closed-loop condition is satisfied and the current TASK can flow to the next active node, a TASK instance may be newly added, a TASK instance with a task_id needs to be newly added, a task_id of the current TASK may be used as a last_task_id of the newly added TASK instance, an active node weight value of the newly added TASK instance may be set to 0 by default, and an active TASK state is TASK pending (status=0).
In one embodiment, after determining whether a task state is a history task in process before the target backbone active node, the method may further include: and calling the next active node if the task state is determined to be the history task in process before the target trunk active node. Further, the task state of the target trunk active node and the branch active node corresponding to the target trunk active node in the data object can be updated to be task completion.
In this embodiment, if it is determined that there is no history TASK that is not closed-loop, a TASK instance of task_id may be newly added to call the next active node. Since the next active node can be streamed, in order to ensure the accuracy and traceability of the node stream, the task state of the target trunk active node and the branch active node corresponding to the target trunk active node stored in the data object can be updated to be task completed (status=2).
In one scenario example, as shown in fig. 2, the flow of performing closed loop judgment by using the closed loop controller may be that the node 1 may flow to two branches of the node 2 through the operation 1, and if pos_mark of each branch of the node 2 is 1, MARK recorded in the active task information of the node 1 is updated to 2 points. Node 1, through operation 2, flows to a branch pos_mark of node 3 to be 1, and at this time, adds the MARK recorded in the activity task information of node 1 to be 3 minutes (2 minutes of node 2+1 minute of node 3), so that mark=pos_mark×3 of node 1.
In this scenario example, node 2 may flow through operation 3 to node 4, node 2 may return to backbone node 1 through operation 7, and node 3 may flow through operation 4 to node 5. After the processing of the subsequent other nodes is completed, the closed loop processing of the branches can be performed. Node 4 closes the loop to node 1 through operation 6, and then neg_mark of node 1 is 1, so that MARK recorded in the active task information of node 1 in the data object is deducted in the closed loop (original MARK has accumulated 3 minutes, 1 minute is deducted after operation 6), when node 2 continues to close the loop to node 1 through operation 7, MARK recorded in the active task information of node 1 is deducted to 1 minute, finally node 5 closes the loop to node 1 through operation 5, MARK value recorded in the active task information of node 1 returns to 0, all branch closed loops are completed, and STATUS recorded in the active task information of node 1 is restored to task waiting (status=0) by task processing (status=1).
In this scenario example, if a branch loop has to be completed from node 1 to the next backbone node 6 by operation 8, i.e. the STATUS recorded in the active task information by node 1 is task pending (status=0) (i.e. the MARK value of node 1 is at 0 or less than 0), then node 1 can flow to active node 6 by operation 8. The main node multi=0 and the branch node multi=1.
In one scenario example, as shown in fig. 3, the closed loop judgment flow of the scenario where there is a branching sub-flow and a differential score closed loop may be that the node 1 may flow to two branches of the node 2 through the operation 1, and pos_mark of each branch of the node 2 is 1, and then MARK recorded in the active task information by the node 1 is updated to 2 points. Node 1 may reach branch node 3 via operation 2, with pos_mark for node 3 being 1, which may accumulate MARK recorded in the active task information for node 1 to 3 points (point 2 of node 2+ point 1 of node 3).
In this scenario example, the node 3 may flow to two branches of the node 5 through the operation 4, and if pos_mark of each branch of the node 5 is 2, MARK recorded in the active task information for the node 3 is updated to be 4 points. Node 5 may close the loop to node 3 by operation 5, where neg_mark of node 3 is 2, so that MARK recorded in the active task information by node 3 may be deducted during the closed loop (originally MARK of node 3 has accumulated for 4 minutes, then 2 branches respectively deduct MARK value of node 3 by 2+2 by operation 5 to node 3, and 4 minutes in total), where MARK of node 3 is 0, and the task state of node 3 may be updated to task pending (status=0).
In this scenario example, there is a closed loop of differential score, at this time, the MARK recorded in the activity task information for the node 1 is accumulated to 3 points, and the node 4 is closed to the node 1 by the operation 6, at this time, neg_mark of the node 1 is 2, so the MARK recorded in the activity task information for the node 1 is deducted when the loop is closed (the original MARK has accumulated for 3 points, and the MARK is deducted by 2 points after the operation 6 is closed). When the node 2 continues to close the loop to the node 1 through the operation 7, the MARK recorded in the active task information by the node 1 is deducted to-1 point, the MARK value of the node 1 is smaller than 0, the system considers that the closed loop is completed even if the other node 3 does not initiate the closed loop operation, the STATUS recorded in the active task information by the node 1 is restored to the task to be processed (status=0) by the task processing (status=1), and the subsequent task can be executed. In some embodiments, the node 3 may also perform closed loop to the node 1 through the operation 8, which may be specifically determined according to practical situations, and the embodiments of the present specification are not limited to this.
In one scenario example, as shown in fig. 4, the closed loop judgment flow with a branching sub-flow may be that the node 1 may flow to two branches of the node 2 through the operation 1, and if pos_mark of each branch of the node 2 is 1, MARK recorded in the active task information by the node 1 is updated to 2 points. Node 1 may reach branch node 3 via operation 2, with pos_mark for node 3 being 1, which may accumulate MARK recorded in the active task information for node 1 to 3 points (point 2 of node 2 + point 1 of node 3).
In this scenario example, if node 2 can flow to node 4 through operation 3, node 4 closes to node 1 through operation 6, and then neg_mark of node 1 is 2, so MARK recorded in the active task information of node 1 in the data object will be deducted when closing the loop (MARK has been accumulated for 3 minutes, and 1 minute after deducting 2 minutes after closing 6). Meanwhile, the node 3 can close the loop to the node 1 through the operation 7, and the neg_mark of the node 1 is 2 at the moment, so that the MARK recorded in the active task information of the node 1 in the data object can be deducted during the closed loop (the original MARK is deducted to be 1 point, and the MARK is deducted to be-1 point after the 2 point after the operation 7 is closed). Since MARK of the node 1 is equal to or less than 0 at this time, other unprocessed nodes 2 may be closed, so that the closed loop of the node 1 is completed, and STATUS recorded in the active task information by the node 1 is restored from task processing (status=1) to task waiting processing (status=0).
In this scenario example, the node 3 may flow to two branches of the node 5 through the operation 4, and if pos_mark of each branch of the node 5 is 2, MARK recorded in the active task information for the node 3 is updated to be 4 points. Node 5 may close the loop to node 3 by operation 5, where neg_mark of node 3 is 4, so that MARK recorded in the active task information by node 3 may be deducted when closing the loop (MARK of original node 3 has accumulated for 4 points, MARK value of node 3 may be deducted to 0 point by operation 5 closed to node 3), where MARK of node 3 returns to 0, other unprocessed nodes 5 may be closed, and task state of node 3 may be updated to task pending (status=0).
Based on the same inventive concept, the embodiments of the present specification also provide a workflow construction device, such as the following embodiments. Since the principle of the workflow construction device for solving the problem is similar to that of the workflow construction method, the implementation of the workflow construction device can refer to the implementation of the workflow construction method, and the repetition is omitted. As used below, the term "unit" or "module" may be a combination of software and/or hardware that implements the intended function. While the means described in the following embodiments are preferably implemented in software, implementation in hardware, or a combination of software and hardware, is also possible and contemplated. Fig. 5 is a block diagram of a construction apparatus of a workflow according to an embodiment of the present disclosure, and as shown in fig. 5, may include: the first definition module 501, the second definition module 502, and the construction module 503 are described below.
A first definition module 501, which may be configured to define an activity information set according to a target traffic demand; wherein the set of activity information comprises: the movable nodes and the movable flow directions;
a second definition module 502, configured to define a controller of each active node in the active information set based on the target service requirement; the controller is used for controlling the flow direction of the movable node;
A building module 503, configured to build a target workflow corresponding to the target service requirement by using a program language according to the active information set and the controllers of the active nodes; the instance data generated by the target workflow execution is stored by using a preset data object.
The embodiment of the present disclosure further provides an electronic device, and in particular, may refer to a schematic structural diagram of an electronic device based on the method for constructing a workflow provided by the embodiment of the present disclosure shown in fig. 6, where the electronic device may specifically include an input device 61, a processor 62, and a memory 63. Wherein the input device 61 may be used in particular for inputting target business requirements. Processor 62 may be specifically configured to define an activity information set based on the target traffic demand; wherein the set of activity information comprises: the movable nodes and the movable flow directions; a controller for defining each active node in the active information set based on the target service requirement; the controller is used for controlling the flow direction of the movable node; constructing a target workflow corresponding to the target business requirement by using a program language according to the activity information set and the controllers of all the activity nodes; the instance data generated by the target workflow execution is stored by using a preset data object. The memory 63 may be used to store, in particular, instance data generated by the execution of the target workflow.
In this embodiment, the input device may specifically be one of the main means for exchanging information between the user and the computer system. The input device may include a keyboard, mouse, camera, scanner, light pen, handwriting input board, voice input apparatus, etc.; the input device is used to input raw data and a program for processing these numbers into the computer. The input device may also obtain data transmitted from other modules, units, and devices. The processor may be implemented in any suitable manner. For example, the processor may take the form of, for example, a microprocessor or processor, and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), a programmable logic controller, and an embedded microcontroller, among others. The memory may in particular be a memory device for storing information in modern information technology. The memory may comprise a plurality of levels, and in a digital system, may be memory as long as binary data can be stored; in an integrated circuit, a circuit with a memory function without a physical form is also called a memory, such as a RAM, a FIFO, etc.; in the system, the storage device in physical form is also called a memory, such as a memory bank, a TF card, and the like.
In this embodiment, the specific functions and effects of the electronic device may be explained in comparison with other embodiments, which are not described herein.
In the embodiment of the present specification, there is further provided a computer storage medium of a method for constructing a workflow, where the computer storage medium stores computer program instructions, and when the computer program instructions are executed, the method may be implemented: defining an activity information set according to the target business requirement; wherein the set of activity information comprises: the movable nodes and the movable flow directions; a controller for defining each active node in the active information set based on the target service requirement; the controller is used for controlling the flow direction of the movable node; constructing a target workflow corresponding to the target business requirement by using a program language according to the activity information set and the controllers of all the activity nodes; the instance data generated by the target workflow execution is stored by using a preset data object.
In the present embodiment, the storage medium includes, but is not limited to, a random access Memory (Random Access Memory, RAM), a Read-Only Memory (ROM), a Cache (Cache), a Hard Disk (HDD), or a Memory Card (Memory Card). The memory may be used to store computer program instructions. The network communication unit may be an interface for performing network connection communication, which is set in accordance with a standard prescribed by a communication protocol.
In this embodiment, the functions and effects of the program instructions stored in the computer storage medium may be explained in comparison with other embodiments, and are not described herein.
It will be apparent to those skilled in the art that the modules or steps of the embodiments described above may be implemented in a general purpose computing device, they may be concentrated on a single computing device, or distributed across a network of computing devices, they may alternatively be implemented in program code executable by computing devices, so that they may be stored in a storage device for execution by computing devices, and in some cases, the steps shown or described may be performed in a different order than herein, or they may be separately fabricated into individual integrated circuit modules, or multiple modules or steps within them may be fabricated into a single integrated circuit module. Thus, embodiments of the present specification are not limited to any specific combination of hardware and software.
Although the present description provides method operational steps as described in the above embodiments or flowcharts, more or fewer operational steps may be included in the method, either on a routine basis or without inventive labor. In steps where there is logically no necessary causal relationship, the execution order of the steps is not limited to the execution order provided in the embodiments of the present specification. The described methods, when performed in an actual apparatus or an end product, may be performed sequentially or in parallel (e.g., in a parallel processor or multithreaded environment) as shown in the embodiments or figures.
It is to be understood that the above description is intended to be illustrative, and not restrictive. Many embodiments and many applications other than the examples provided will be apparent to those of skill in the art upon reading the above description. The scope of the embodiments of the specification should, therefore, be determined not with reference to the above description, but instead should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
The above description is only of the preferred embodiments of the present embodiments and is not intended to limit the present embodiments, and various modifications and variations can be made to the present embodiments by those skilled in the art. Any modification, equivalent replacement, improvement, or the like made within the spirit and principles of the embodiments of the present specification should be included in the protection scope of the embodiments of the present specification.

Claims (10)

1. A method of workflow construction, comprising:
defining an activity information set according to the target business requirement; wherein the set of activity information comprises: the method comprises the steps of activity nodes, activity flow directions and activity operations;
a controller for defining each active node in the active information set based on the target traffic demand; the controller is used for controlling the flow direction of the movable node; the controller for defining each active node in the active information set based on the target service requirement comprises: taking an active task instance number, an active operation number and a user-defined form instance corresponding to a target active node in the active information set as the parameters of a target operation controller; writing a custom business flow control method in the target operation controller according to the active node and the active flow direction corresponding to the target active node; the target active node comprises a plurality of operations, and the target operation controller is used for determining the node flow direction of the target operation;
Constructing a target workflow corresponding to the target business requirement by using a program language according to the activity information set and the controllers of all the activity nodes; and the instance data generated by the target workflow execution is stored by using a preset data object.
2. The method of claim 1, further comprising, after constructing the target workflow corresponding to the target business requirement using a programming language:
under the condition that the target workflow flows to the target active node, taking an active task instance number, an active operation number and a user-defined form instance corresponding to the target active node as an entry to enter the target operation controller;
acquiring operation entity information under the target active node according to the active task instance number and the active node number corresponding to the target active node;
obtaining target operation entity information in the operation entity information according to the matching of the activity operation numbers corresponding to the target activity nodes;
and under the condition that the corresponding target operation controller exists in the target operation entity information, determining the next active node number of the target active node according to a user-defined service flow control method in the target operation controller.
3. The method of claim 1, wherein defining the set of activity information based on the target traffic demand comprises:
setting a weight added value and a weight subtracted value of each branch active node under the condition that the active information set contains the branch active nodes; wherein the weight added value is used for representing the weight value of the current active node which is increased when the next branch active node is reached, and the weight subtracted value is used for representing the weight value of the branch active node which is subtracted when the branch returns.
4. A method according to claim 3, further comprising, after defining the set of activity information according to the target traffic demand:
setting a closed-loop controller at the tail end of each branch flow under the condition that the activity information set contains branch activity nodes; the closed loop controller is used for judging whether the current branch flow is closed loop to flow to the next trunk flow.
5. The method of claim 3, further comprising, after constructing the target workflow corresponding to the target business requirement using a programming language:
when the target workflow flows from the target trunk active node to the branch active node, acquiring the branch quantity corresponding to the target trunk active node and the weight added value of the branch active node;
Taking the product of the number of branches corresponding to the target trunk active node and the weight added value of the branch active node as the branch weight value of the target trunk active node;
determining whether a next active node of the current branch active node is a trunk active node when returning from the branch active node to the target trunk active node;
under the condition that the next active node is determined to be a trunk active node, acquiring the returned branch quantity and the weight subtracting value of the branch active node corresponding to the target trunk active node;
taking the difference value of the product of the branch weight value and the returned branch number and weight subtracting value as a task execution result of the target trunk active node;
and judging whether to call the next active node according to the task execution result of the target trunk active node.
6. The method of claim 5, further comprising, after determining whether a next active node of the current branch active node is a trunk active node:
under the condition that the next active node is determined to be the branch active node, acquiring a weight added value of the next branch active node;
and updating the task state of the target trunk active node in the data object into processing.
7. The method of claim 5, wherein determining whether to invoke a next active node based on a task execution result of the target backbone active node comprises:
under the condition that the task execution result of the target trunk active node is less than or equal to 0, determining whether a task state is a history task in process or not before the target trunk active node according to the data object;
determining whether a next node of an active node corresponding to a history task is the target trunk active node or not under the condition that the task state exists before the target trunk active node and is the history task in process;
under the condition that the next node of the active node corresponding to the historical task is the target trunk active node, determining a task execution result of the active node corresponding to the historical task;
under the condition that the task execution result of the active node corresponding to the historical task is less than or equal to 0, a task instance corresponding to the next active node is newly added; the task state of the newly added task instance is to be processed, and the default weight value is 0.
8. The method of claim 7, wherein determining whether a task state is a history task in process before the target backbone active node further comprises:
Determining that the next active node is called under the condition that the task state is not the history task in process before the target trunk active node;
and updating task states of a target trunk active node and branch active nodes corresponding to the target trunk active node in the data object as task completion.
9. A workflow construction apparatus, comprising:
the first defining module is used for defining an activity information set according to the target service requirement; wherein the set of activity information comprises: the method comprises the steps of activity nodes, activity flow directions and activity operations;
a second definition module, configured to define a controller of each active node in the active information set based on the target service requirement; the controller is used for controlling the flow direction of the movable node; the controller for defining each active node in the active information set based on the target service requirement comprises: taking an active task instance number, an active operation number and a user-defined form instance corresponding to a target active node in the active information set as the parameters of a target operation controller; writing a custom business flow control method in the target operation controller according to the active node and the active flow direction corresponding to the target active node; the target active node comprises a plurality of operations, and the target operation controller is used for determining the node flow direction of the target operation;
The construction module is used for constructing a target workflow corresponding to the target business requirement by using a program language according to the activity information set and the controllers of all the activity nodes; and the instance data generated by the target workflow execution is stored by using a preset data object.
10. A workflow build device comprising a processor and a memory for storing processor executable instructions which when executed by the processor implement the steps of the method of any one of claims 1 to 8.
CN202110465533.7A 2021-04-28 2021-04-28 Workflow construction method, device and equipment Active CN112990780B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110465533.7A CN112990780B (en) 2021-04-28 2021-04-28 Workflow construction method, device and equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110465533.7A CN112990780B (en) 2021-04-28 2021-04-28 Workflow construction method, device and equipment

Publications (2)

Publication Number Publication Date
CN112990780A CN112990780A (en) 2021-06-18
CN112990780B true CN112990780B (en) 2024-03-26

Family

ID=76340479

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110465533.7A Active CN112990780B (en) 2021-04-28 2021-04-28 Workflow construction method, device and equipment

Country Status (1)

Country Link
CN (1) CN112990780B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114047866A (en) * 2021-11-30 2022-02-15 中国建设银行股份有限公司 Screening interface generation method and device, electronic equipment and storage medium
CN115147096B (en) * 2022-09-06 2022-11-18 京华信息科技股份有限公司 OCR-based flow rapid modeling method and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279840A (en) * 2013-06-08 2013-09-04 北京首钢自动化信息技术有限公司 Workflow engine implement method based on dynamic language and event processing mechanism
CN105678522A (en) * 2016-01-12 2016-06-15 华东电网有限公司 Workflow engine and project management system based on workflow
CN109978474A (en) * 2017-12-27 2019-07-05 金证财富南京科技有限公司 A kind of Work-flow control method and Work-flow control device
CN112202899A (en) * 2020-09-30 2021-01-08 北京百度网讯科技有限公司 Workflow processing method and device, intelligent workstation and electronic equipment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279840A (en) * 2013-06-08 2013-09-04 北京首钢自动化信息技术有限公司 Workflow engine implement method based on dynamic language and event processing mechanism
CN105678522A (en) * 2016-01-12 2016-06-15 华东电网有限公司 Workflow engine and project management system based on workflow
CN109978474A (en) * 2017-12-27 2019-07-05 金证财富南京科技有限公司 A kind of Work-flow control method and Work-flow control device
CN112202899A (en) * 2020-09-30 2021-01-08 北京百度网讯科技有限公司 Workflow processing method and device, intelligent workstation and electronic equipment

Also Published As

Publication number Publication date
CN112990780A (en) 2021-06-18

Similar Documents

Publication Publication Date Title
CN110806923B (en) Parallel processing method and device for block chain tasks, electronic equipment and medium
US5677997A (en) Method and apparatus for automated conformance and enforcement of behavior in application processing systems
US5862327A (en) Activity based long-lived transaction system
CN110532536B (en) Rule configuration method and device
CN112990780B (en) Workflow construction method, device and equipment
Seifermann et al. Data-driven software architecture for analyzing confidentiality
CN106156186A (en) A kind of data model managing device, server and data processing method
WO1996032675A9 (en) Automated enforcement of behavior in application program
CN109871256B (en) Method and equipment for integrating audit system and heterogeneous system based on RPA
CN109949108A (en) Invoice creation method and device, electronic equipment based on block chain
JP2009163497A (en) Business flow generation device and method
CN109299913B (en) Employee salary scheme generation method and device
CN113537960B (en) Determination method, device and equipment for abnormal resource transfer link
US20170139684A1 (en) General modeling method to construct system models based on a system meta model
CN110046944A (en) Invoice creation method and device, electronic equipment based on block chain
Bendraou et al. Combining aspect and model-driven engineering approaches for software process modeling and execution
US20170161029A1 (en) Visual modeling method to construct system views based on a system meta view
Schaefer et al. A Model-Based Framework for Automated Product Derivation.
CN116911763A (en) Flow approval method, device, terminal equipment and storage medium
Sato et al. Formal requirement enforcement on smart contracts based on linear dynamic logic
Demeyer et al. Declarative workflows to efficiently manage flexible and advanced business processes
CN116128264A (en) Business process instance migration method based on blockchain, medium and electronic equipment
Panda et al. Test scenario prioritization for object-oriented systems using UML diagram
CN112163840A (en) Workflow definition method, cross-region management method and device of example
CN115545627A (en) Approval task processing method and device, storage medium and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant