CN106600226B - Method and device for optimizing process management system - Google Patents
Method and device for optimizing process management system Download PDFInfo
- Publication number
- CN106600226B CN106600226B CN201611146326.0A CN201611146326A CN106600226B CN 106600226 B CN106600226 B CN 106600226B CN 201611146326 A CN201611146326 A CN 201611146326A CN 106600226 B CN106600226 B CN 106600226B
- Authority
- CN
- China
- Prior art keywords
- node
- task
- module
- address
- countersigning
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Engineering & Computer Science (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)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
The application discloses a method and a system for optimizing a process management system, wherein the method comprises the following steps: capturing and storing abnormal information of automatic task nodes, and preventing rollback of tasks; inquiring nodes staying in the current process according to the identification information of the process example; and generating a new task according to the identification information of the node where the current flow stays and executing the new task. According to the method, the abnormal information when the task corresponding to the automatic task node is abnormal is captured and stored, and a new task is generated at the node which stays at present and is continuously executed, so that the interruption of the flow can be prevented, and a large amount of resources are saved.
Description
Technical Field
The invention relates to the technical field of workflow, in particular to a method and a device for optimizing a process management system.
Background
Activiti is a new open source BPM (Business Process Model) platform based on Apache license, which is constructed from the base and aims to provide a platform supporting new BPMN (Business Process Model and Notification) 2.0 standard, including supporting Object Management Group (OMG). Activiti is a lightweight, embeddable BPM engine.
BPMN2.0 differs from the first version most importantly in that it defines the meta-model and execution semantics of the flow, i.e. it solves the storage, exchange and execution problems itself. This means that the BPMN2.0 flow definition model can be implemented not only in any BPMN2.0 compliant engine, but also exchanged between graphics editors. As a standard, BPMN2.0 unifies workflow communities.
The process management system is developed on the basis of open-source Activiti and is independent of a business system and provides services to the outside, the business system completes the management of the life cycle of the whole business process through service calling, before the service is called, the process management system can carry out tenant (namely the business system) permission verification on the business system, and only the business system which passes the verification can carry out the service calling.
Some automatic task nodes in the process management system do not need manual intervention, but the tasks are limited by factors such as network environment and the like, once the execution fails, the process is interrupted, so that the whole business process needs to be executed from the beginning, and a lot of resources are wasted.
Disclosure of Invention
In view of the above, the present invention provides a method and an apparatus for optimizing a process management system, so as to solve some or all of the above technical problems in the prior art.
Additional features and advantages of the invention will be set forth in the detailed description which follows, or may be learned by practice of the invention.
According to one aspect of the present disclosure, there is provided a method for optimizing a process management system, comprising:
capturing and storing abnormal information of automatic task nodes, and preventing rollback of tasks;
inquiring nodes staying in the current process according to the identification information of the process example; and
and generating a new task according to the identification information of the node staying in the current flow and executing the new task.
In an exemplary embodiment of the present disclosure, further comprising:
judging whether the current node is a countersigning node or not;
when the node is a countersigning node, reading the countersigning personnel configured in the process modeling;
automatically generating set variables according to the personnel participating in the countersigning;
and activating the countersigning node to generate a countersigning task.
In an exemplary embodiment of the present disclosure, further comprising:
setting identification information of a service system needing to look up a log file in an MDC context provided by a logback;
and outputting a corresponding log file named by the identification information of the service system.
In an exemplary embodiment of the present disclosure, further comprising:
when configuring the flow chart, mapping the address of the network service called by the automatic task node into a unique identifier;
configuring a mapping table of the unique identifier and the address of the called network service;
and when the flow chart is released and the flow is executed, inquiring the called address of the network service at the automatic task node according to the unique identifier and the mapping table.
In an exemplary embodiment of the present disclosure, further comprising:
when the system is migrated, the address of the network service called by the automatic task node is changed;
modifying the address of the corresponding invoked network service in the mapping table.
In an exemplary embodiment of the present disclosure, further comprising:
a flow designer provided by the flow management system sends a request for acquiring service information to a corresponding service system by using a preset protocol;
and the flow designer receives the business information in a preset data format returned by the business system.
According to an aspect of the present disclosure, there is provided an apparatus for optimizing a process management system, comprising:
the exception capture module is used for capturing and storing exception information of the automatic task node and preventing the rollback of the task;
the stay node query module is used for querying the stay node of the current flow according to the identification information of the flow example; and
and the task creating module is used for generating a new task according to the identification information of the node staying in the current flow and executing the new task.
In an exemplary embodiment of the present disclosure, further comprising:
the judging module is used for judging whether the current node is a countersigning node or not;
the reading module is used for reading the personnel participating in countersigning configured in the process modeling when the node is the countersigning node;
the set variable generation module is used for automatically generating set variables according to the personnel participating in the countersigning;
and the countersigning task generating module is used for activating the countersigning nodes to generate countersigning tasks.
In an exemplary embodiment of the present disclosure, further comprising:
the tenant identification writing module is used for setting the identification information of the service system needing to refer to the log file in an MDC context provided by the logback;
and the log file output module is used for outputting the corresponding log file named by the identification information of the service system.
In an exemplary embodiment of the present disclosure, further comprising:
the address mapping module is used for mapping the address of the network service called by the automatic task node into a unique identifier when the flow chart is configured;
the mapping table configuration module is used for configuring a mapping table of the unique identifier and the address of the called network service;
and the address query module is used for querying the called address of the network service at the automatic task node according to the unique identifier and the mapping table when the flow chart is issued and the flow is executed.
In an exemplary embodiment of the present disclosure, further comprising:
the address changing module is used for changing the address of the network service called by the automatic task node when the system is migrated;
and the mapping table modifying module is used for modifying the address of the corresponding called network service in the mapping table.
In an exemplary embodiment of the present disclosure, further comprising:
the request sending module is used for sending a request for acquiring service information to a corresponding service system by using a preset protocol through a process designer provided by the process management system;
and the business information receiving module is used for receiving the business information in the preset data format returned by the business system by the process designer.
According to the method and the device for optimizing the process management system, the abnormal information when the task corresponding to the automatic task node is abnormal is captured and stored, and a new task is generated at the node staying at present and is continuously executed, so that the process can be prevented from being interrupted, and a large amount of resources are saved.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
Drawings
The above and other objects, features and advantages of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings.
FIG. 1 is a flow chart illustrating a first method for optimizing a process management system in accordance with an exemplary embodiment.
FIG. 2 is a flow chart illustrating a second method for optimizing a process management system in accordance with an exemplary embodiment.
FIG. 3 is a flow chart illustrating a third method for optimizing a process management system in accordance with an exemplary embodiment.
FIG. 4 is a flow chart illustrating a fourth method for optimizing a process management system in accordance with an exemplary embodiment.
FIG. 5 is a flow chart illustrating a fifth method for optimizing a process management system in accordance with an exemplary embodiment.
FIG. 6 is a block diagram illustrating an apparatus for optimizing a process management system in accordance with an exemplary embodiment.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art. The drawings are merely schematic illustrations of the invention and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus their repetitive description will be omitted.
Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention may be practiced without one or more of the specific details, or with other methods, components, devices, steps, and so forth. In other instances, well-known structures, methods, devices, implementations, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
FIG. 1 is a flow chart illustrating a first method for optimizing a process management system in accordance with an exemplary embodiment.
In this embodiment, a process management system, which is developed based on active, is independent of a Service system, and provides services to the outside in an SOA (Service-Oriented Architecture) mode, is taken as an example to explain, and the Service system can provide services of two protocols, namely, Hessian and rest, to the outside, and can complete management of a life cycle of a whole Service process through Service invocation. However, the present disclosure is not limited thereto.
An SOA is a component model that ties different functional units of an application (called services) through well-defined interfaces and contracts between these services. The interface is defined in a neutral manner and should be independent of the hardware platform, operating system and programming language in which the service is implemented. This allows services built into various such systems to interact in a uniform and versatile manner.
Hessian is a lightweight remoting onhttp tool that provides RMI functionality using a simple method. Compared with WebService, Hessian is simpler and quicker. The binary RPC protocol is used, and is well suited for transmitting binary data because it is a binary protocol.
The service flow is to disperse the processing procedure of a specific service into a series of service nodes or tasks with sequence, organization and logic, and to represent and automatically operate in a Computer by a proper model, which belongs to a part of Computer Supported Cooperative Work (CSCW).
As shown in fig. 1, in step S110, exception information of the automatic task node is captured and stored, and rollback of the task is prevented.
Wherein, the automatic task node may be a serviceTask node. When an exception occurs in the serviceTask node, the exception is captured and the exception information is recorded, for example, in a database.
The automatic task node is that before starting the process, variable data for controlling the process progress required by the process is prepared, and after starting the process, the variable data can be executed according to the predefined process without external intervention.
In this embodiment, an exception may be captured at the serviceTask node by rewriting the activti code, and the exception information is stored in the database, and the exception is no longer thrown outward, so that rollback of the task may be prevented.
In step S120, the node where the current flow stays is queried according to the identification information of the flow instance (e.g., the flow instance ID).
In this embodiment, the API of the node in query execution provided by the external service through the Activiti can know which node the current process stays in according to the process instance ID.
The process instance is a running instance of the process definition, which represents a service to be completed. When a user invokes an API to initiate a process, an instance of the process is generated. The process instance is operated by a user, and different running states are generated: pre-starting, running, suspended, terminated, failed and finished. The states of the process instances may be switched with each other under different operations. When the process instance is in the running process, the circulation of the process instance fails due to system abnormality or data abnormality and the like.
In step S130, a new task is generated and executed according to the identification information (e.g., node ID) of the node where the current flow stays.
In this embodiment, the API for creating the task provided by the active device may be used to call the API for creating the task at the current flow node to form a new task, and the abnormal serviceTask node may stay at the current node and may continue to execute in this manner.
In the prior art, in order to ensure consistency, when a serviceTask node is abnormal, a rollback of a task is performed, so that the task cannot stay at the current serviceTask node, and thus a flow is interrupted. The method for optimizing the process management system provided by the embodiment of the invention has the advantages that the exception is captured and stored in the serviceTask node, the exception is not thrown outwards to prevent the rollback of the task, the current process stays on which node is obtained through inquiry, the API for creating the task is called at the current process node to form a new task, and the abnormal serviceTask node stays at the current node and can be continuously executed by using the mode, so that the interrupted process can be continuously executed, and a large amount of resources can be saved.
It should be clearly understood that the present disclosure describes how to make and use particular examples, but the principles of the present disclosure are not limited to any details of these examples. Rather, these principles can be applied to many other embodiments based on the teachings of the present disclosure.
In the process business management, a task is usually processed by one person, and a plurality of persons simultaneously process one task, which is called a countersigning task. Such a service requirement is also common, for example, in a request form, in a leader approval process, multiple departments need to be led to sign. In the existing process management system, a set variable needs to be explicitly declared in code when a process is signed, and this way causes that developers often omit setting variables, which leads to process errors.
FIG. 2 is a flow chart illustrating a second method for optimizing a process management system in accordance with an exemplary embodiment.
The method for optimizing the process management system can automatically realize the method for creating the countersign node by inheriting the implementation class of the countersign node, read the configuration and prepare the required conditions before creating the countersign instance, and can avoid the trouble that one set variable needs to be explicitly declared during each development.
As shown in fig. 2, in step S210, it is determined whether the current node is a countersign node; when the node is the countersigning node, entering the next step; otherwise, step S250 is skipped to end this operation.
In step S220, the participant countersignature personnel configured during process modeling are read.
The personnel participating in the countersigning refers to potential handlers and managers of designated countersigning nodes when the business process is subjected to process modeling.
The potential handler of the countersign node refers to the owner of the work item, responsible for completing the task. The potential handler of the countersign node may be proxied by others and may also make changes, i.e., reassigning work items to others. The work item is an operation example of the process node and is a to-be-processed service of a service operator. The service operator acquires the task and completes the task by inquiring the self to-be-processed work item, and then pushes the process instance to the next node to generate a new task for the next service operator.
The manager of the signed node has special authority, such as operation of re-distributing the task and the like.
In step S230, an aggregation variable is automatically generated according to the participant.
In step S240, the countersigning node is activated to generate a countersigning task.
In step S250, the process ends.
The method for optimizing the process management system provided by the embodiment of the invention does not need to explicitly declare the set variable when developing the countersign, and saves the trouble of setting the set variable when developing the countersign node, thereby reducing the error probability of the process.
The process management system provides services to the outside, and simultaneously records access logs of a service system, and log contents are distinguished through IDs of tenants (namely the service systems), so that the access logs are recorded in the same log file in a crossed manner when a plurality of tenants access, one tenant can see the access logs of other tenants when viewing the access logs, and the existing design mode cannot meet the safety of the system and the convenience of the tenants in viewing the logs.
FIG. 3 is a flow chart illustrating a third method for optimizing a process management system in accordance with an exemplary embodiment.
MDC (mapped Diagnostic context) is a function provided by the logback and facilitating log recording under a multi-thread condition, each request in multi-tenant call will have tenant information (such as tenant account (ID), password, etc.), different tenants open different threads for processing, that is, the tenant ID can be set in the MDC context at a place where the log needs to be printed, the output log file name can be, for example, the tenant ID is used as a variable, and the finally output log file will be a log file identified by the tenant ID (tenant ID), thereby achieving the purpose of referring to the log by sub-tenants.
The logback is an open source log component designed by the log4j originator L ogback is currently divided into three modules, a logback-core, logback-class and logback-access.
In an exemplary embodiment, the method for optimizing a process management system may include the steps of setting identification information of a business system requiring a log file to be consulted in an MDC context provided by logback, for example, by a filter or by itself in an Action through a command MDC.put ("userId", DEMAU L T _ USERID), setting a value to the MDC, outputting a corresponding log file named with the identification information of the business system, for example, a value set by a user may be extracted in a configuration file of log4j by [% X { userId } ] and output to the log, as follows
log4j.appender.layout.ConversionPattern=%d[%t]%-5p-%c#%M%x-%m(%r ms)%n[%X{userId}]。
This is illustrated below by means of fig. 3.
As shown in fig. 3, in step S310, the user session based siftingappendix is configured, and the tenant variable tenttid is set.
Wherein the Siftingapplicator is a universal adder in the MDC. It may separate (or filter) logs based on any given real-time attribute. For example, the SiftingAppender can separate log events based on user sessions, so that a separate log file can be established for each tenant.
In step S320, the tenant ID tenttid is acquired from the process management system context.
In step S330, a log output context is set using an API (Application) of the logback.
In step S340, the flow management system outputs a log.
In step S350, the siftingappendix judges whether there is tenntid in the context of the process management system output log; when there is no tentnid, go to step S360; when there is tenntid, it jumps to step S370.
In step S360, other log files are output, and the process proceeds to step S380.
In step S370, a log file named tenttid is output.
In step S380, the process ends.
According to the method for optimizing the process management system, the log file output by the sub-tenant is realized by utilizing the MDC context of the logback, so that the function of looking up the log by the sub-tenant is realized, and the safety of the system and the convenience of user query can be ensured.
Automatic task nodes, such as serviceTask nodes, allow remote web services (webService) to be invoked, where the address of the webService is maintained in the prior art in a flowchart that cannot be changed once it is released for operation within the process management system. At this time, if the address of the webService is changed, the flow chart needs to be modified and a new flow chart needs to be issued into the flow management system, which may cause the running flow to fail to find the address of the webService, thereby causing the running flow to be interrupted.
FIG. 4 is a flow chart illustrating a fourth method for optimizing a process management system in accordance with an exemplary embodiment.
As shown in fig. 4, in step S410, when configuring the flowchart, the address of the network service called by the automatic task node is mapped to a unique identifier (unique ID).
In step S420, a mapping table of the unique identifier and the address of the called network service is configured.
In this embodiment, a database table mapping manner is adopted, a unique ID is set when the serviceTask node configures an address of a called network service, the ID is consistent with a primary key of the mapping table in the database table, and the primary key in the mapping table is matched with the address of the real called network service.
In step S430, when the flowchart is released and the flow is executed, the automatic task node queries the address of the called network service according to the unique identifier and the mapping table.
And loading the content in the mapping table into a memory when the flow management system is started. And when the serviceTask node is executed, acquiring the real address of the called network service from the memory according to the configured unique ID.
With continued reference to fig. 4, in an exemplary embodiment, the method for optimizing a process management system may further include step S440, wherein, in step S440, when the system is migrated, the automatic task node calls an address change of the web service.
With continued reference to fig. 4, in an exemplary embodiment, the method for optimizing a process management system may further include step S450, wherein, in step S450, an address of the corresponding invoked network service in the mapping table is modified.
If the address of the network service called by the serviceTask node changes, only the corresponding content of the mapping table in the database needs to be modified without modifying the flow chart, and a new flow chart does not need to be issued into the flow management system, and the running flow is not influenced.
The method for optimizing the process management system provided by the embodiment of the invention maintains the webService address by using the database table mapping mode, facilitates the operation and maintenance of the system and reduces the influence on the process in operation caused by the webService address migration.
There are three participants in system development, which are: a process management system, a business system (tenant), and a process designer. The process management system provides a process engine which is responsible for analyzing the process diagram, starting, completing, inquiring and the like of the process; the service system calls the service issued by the flow management system to complete the service flow; the process designer is responsible for modeling the business system.
In this embodiment, an activti Eclipse process designer can be used to design an activti process, and a standard BPMN2.0 process definition file is used to describe the definition of a workflow, the BPMN2.0 process definition file is a file in the format XM L which conforms to the industry standard, the file contains a flow sequence of a process, step nodes and related process elements such as users, variable information and the like on each node, and the BPMN2.0XM L process definition file also contains information such as the display positions of each process element in the definition, so that the process definition file can be displayed or edited in a graphical manner.
The process modeling needs to set the authority of the process task, such as an executor of the task, an execution role, a form path of the task, and the like according to the needs of a business system, and in the prior art, all the attributes need to be manually input into a process designer, so that the efficiency is low and errors are easy to occur.
FIG. 5 is a flow chart illustrating a fifth method for optimizing a process management system in accordance with an exemplary embodiment.
As shown in fig. 5, in step S510, the process designer provided by the process management system sends a request for obtaining service information to a corresponding service system using a preset protocol.
The process designer is used for process modeling, and business information such as users, roles and forms of a business system (tenant) is needed during process modeling, so that the data can be completely provided by the business system in a service mode.
In this embodiment, the process designer may specify to use a rest protocol and a preset data format (for example, json) to send a request for acquiring service information to the service system.
In step S520, the process designer receives the service information in the preset data format returned by the service system.
And after receiving the request, the service system issues the service by using a rest protocol and returns the service information in a specified preset data format (such as json).
The process designer takes the data in the json format and displays the data on a page for a developer to select, so that the trouble of manual entry can be saved, the error probability is reduced, and the process modeling efficiency is improved.
If a BPMN2.0 flow definition XM L file already exists in the project, double-clicking on the Eclipse plug-in automatically generates a flow visualization compilation file with the suffix of Activiti.
With continued reference to FIG. 5, in an exemplary embodiment, the method for optimizing a process management system can further include step S530, wherein in step S530 the process designer issues a process flow to the process management system.
After the process definition file is designed, the following API code can be used to obtain the reposoryservice, and the process definition file is deployed to the actirti process engine by using the service.
When the Service objects are obtained, the Service objects can be used to complete the operation of various Activiti process engines. In practical application, various services are required to be comprehensively used for deploying the flow definition, starting a flow instance, getting, querying and completing user tasks, querying flow operation history records and other main functions of the Activiti flow engine.
According to the method for optimizing the process management system, the process designer and the business system are associated through the rest service, so that the development efficiency is improved, the process modeling efficiency is improved, and the error rate of the process modeling is reduced.
The following is an embodiment of the apparatus of the present invention, which can be applied to the above process management system of the present invention. For details which are not disclosed in the embodiments of the apparatus of the present invention, reference is made to the above-described embodiments of the method of the present invention.
FIG. 6 is a block diagram illustrating an apparatus for optimizing a process management system in accordance with an exemplary embodiment.
As shown in fig. 6, an apparatus 600 for optimizing a process management system may include an exception capture module 610, a stay node query module 620, and a task creation module 630.
The exception capture module 610 is configured to capture and store exception information of an automatic task node, and prevent rollback of the task.
The stay node query module 620 is configured to query a node where the current flow stays according to the identification information of the flow instance.
The task creating module 630 is configured to generate a new task according to the identification information of the node where the current flow stays and execute the new task.
In an exemplary embodiment, the apparatus 600 for optimizing a process management system may further include a determining module, configured to determine whether the current node is a countersign node; the reading module is used for reading the personnel participating in countersigning configured in the process modeling when the node is the countersigning node; the set variable generation module is used for automatically generating set variables according to the personnel participating in the countersigning; and the countersigning task generating module is used for activating the countersigning nodes to generate countersigning tasks.
In an exemplary embodiment, the apparatus 600 for optimizing a process management system may further include a tenant identity writing module, configured to set identity information of a business system that needs to refer to a log file in an MDC context provided by a logback; and the log file output module is used for outputting the corresponding log file named by the identification information of the service system.
In an exemplary embodiment, the apparatus 600 for optimizing a process management system may further include an address mapping module, configured to map an address of a network service called by the automatic task node to a unique identifier when configuring the flowchart;
the mapping table configuration module is used for configuring a mapping table of the unique identifier and the address of the called network service; and the address query module is used for querying the called address of the network service at the automatic task node according to the unique identifier and the mapping table when the flow chart is issued and the flow is executed.
In an exemplary embodiment, the apparatus 600 for optimizing a process management system may further include a change address module, configured to change an address of the network service called by the automatic task node when a system is migrated; and the mapping table modifying module is used for modifying the address of the corresponding called network service in the mapping table.
In an exemplary embodiment, the apparatus 600 for optimizing a process management system may further include a request sending module, configured to send, by a process designer provided by the process management system, a request for obtaining service information to a corresponding service system using a preset protocol; and the business information receiving module is used for receiving the business information in the preset data format returned by the business system by the process designer.
On one hand, the device for optimizing the process management system provided by the embodiment of the invention can solve the problem that the process servitask node is abnormal and cannot be continuously executed from the current node, so that the interrupted process can be continuously executed, and a large amount of resources are saved. On the other hand, the problem of mixed tenant logs can be solved, the function of outputting log files by sub-tenants is realized, and the safety of the system and the convenience of the tenant for consulting the logs are ensured. On the other hand, the problem of explicit statement set variables during development of countersigning tasks can be solved, the explicit statement set variables are not needed during development of countersigning tasks, and the probability of flow errors is reduced. In another aspect, the problems that a great amount of flow charts need to be modified after the webService address of the serviceTask node is changed, the flow charts are issued and the flow in operation is influenced can be solved, and the influence caused by the webService address migration is reduced. In addition, the problems of low manual input efficiency and easy error in process modeling can be solved, the process modeling efficiency is improved, and the error rate in process modeling is reduced.
It is noted that the block diagrams shown in the above figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.
Those skilled in the art will appreciate that all or part of the steps implementing the above embodiments are implemented as computer programs executed by a CPU. The computer program, when executed by the CPU, performs the functions defined by the method provided by the present invention. The program may be stored in a computer readable storage medium, which may be a read-only memory, a magnetic or optical disk, or the like.
Furthermore, it should be noted that the above-mentioned figures are only schematic illustrations of the processes involved in the method according to exemplary embodiments of the invention, and are not intended to be limiting. It will be readily understood that the processes shown in the above figures are not intended to indicate or limit the chronological order of the processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, e.g., in multiple modules.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiment of the present invention can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to make a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) execute the method according to the embodiment of the present invention.
Exemplary embodiments of the present invention are specifically illustrated and described above. It is to be understood that the invention is not limited to the precise construction, arrangements, or instrumentalities described herein; on the contrary, the invention is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.
Claims (12)
1. A method for optimizing a process management system, comprising:
capturing and storing abnormal information of automatic task nodes, and preventing the task from rolling back because the abnormal information is not thrown outwards;
inquiring the node where the current flow stays according to the identification information of the flow example through an API of the externally provided query execution node provided by Activiti; and
and calling an API (application programming interface) for creating a task externally provided by Activiti, generating a new task according to the identification information of the node where the current flow stays, and executing the new task, so that the abnormal automatic task node stays at the current node and can continue to execute.
2. The method of claim 1, further comprising:
judging whether the current node is a countersigning node or not;
when the node is a countersigning node, reading the countersigning personnel configured in the process modeling;
automatically generating set variables according to the personnel participating in the countersigning;
and activating the countersigning node to generate a countersigning task.
3. The method of claim 1, further comprising:
setting identification information of a service system needing to look up a log file in an MDC context provided by a logback;
and outputting a corresponding log file named by the identification information of the service system.
4. The method of claim 1, further comprising:
when configuring the flow chart, mapping the address of the network service called by the automatic task node into a unique identifier;
configuring a mapping table of the unique identifier and the address of the called network service;
and when the flow chart is released and the flow is executed, inquiring the called address of the network service at the automatic task node according to the unique identifier and the mapping table.
5. The method of claim 4, further comprising:
when the system is migrated, the address of the network service called by the automatic task node is changed;
modifying the address of the corresponding invoked network service in the mapping table.
6. The method of claim 1, further comprising:
a flow designer provided by the flow management system sends a request for acquiring service information to a corresponding service system by using a preset protocol;
and the flow designer receives the business information in a preset data format returned by the business system.
7. An apparatus for optimizing a process management system, comprising:
the exception capture module is used for capturing and storing exception information of the automatic task node, and preventing the exception from being thrown outwards to prevent the task from rolling back;
the stay node query module is used for querying the node staying in the current process according to the identification information of the process example through an API (application programming interface) of the node in query execution provided by Activiti; and
and the task creating module is used for calling an API (application program interface) for creating the task externally provided by Activiti, generating a new task according to the identification information of the node where the current flow stays and executing the new task, so that the abnormal automatic task node stays at the current node and can continue to execute.
8. The apparatus of claim 7, further comprising:
the judging module is used for judging whether the current node is a countersigning node or not;
the reading module is used for reading the personnel participating in countersigning configured in the process modeling when the node is the countersigning node;
the set variable generation module is used for automatically generating set variables according to the personnel participating in the countersigning;
and the countersigning task generating module is used for activating the countersigning nodes to generate countersigning tasks.
9. The apparatus of claim 7, further comprising:
the tenant identification writing module is used for setting the identification information of the service system needing to refer to the log file in an MDC context provided by the logback;
and the log file output module is used for outputting the corresponding log file named by the identification information of the service system.
10. The apparatus of claim 7, further comprising:
the address mapping module is used for mapping the address of the network service called by the automatic task node into a unique identifier when the flow chart is configured;
the mapping table configuration module is used for configuring a mapping table of the unique identifier and the address of the called network service;
and the address query module is used for querying the called address of the network service at the automatic task node according to the unique identifier and the mapping table when the flow chart is issued and the flow is executed.
11. The apparatus of claim 10, further comprising:
the address changing module is used for changing the address of the network service called by the automatic task node when the system is migrated;
and the mapping table modifying module is used for modifying the address of the corresponding called network service in the mapping table.
12. The apparatus of claim 7, further comprising:
the request sending module is used for sending a request for acquiring service information to a corresponding service system by using a preset protocol through a process designer provided by the process management system;
and the business information receiving module is used for receiving the business information in the preset data format returned by the business system by the process designer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611146326.0A CN106600226B (en) | 2016-12-13 | 2016-12-13 | Method and device for optimizing process management system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611146326.0A CN106600226B (en) | 2016-12-13 | 2016-12-13 | Method and device for optimizing process management system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106600226A CN106600226A (en) | 2017-04-26 |
CN106600226B true CN106600226B (en) | 2020-08-04 |
Family
ID=58801095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611146326.0A Active CN106600226B (en) | 2016-12-13 | 2016-12-13 | Method and device for optimizing process management system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106600226B (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009799B (en) * | 2017-12-21 | 2021-12-31 | 泰康保险集团股份有限公司 | Method and device for persistence of workflow, storage medium and electronic equipment |
CN108460078B (en) * | 2018-01-08 | 2020-10-13 | 平安科技(深圳)有限公司 | Auxiliary function execution method and device, storage medium and terminal |
CN110674083B (en) * | 2019-10-10 | 2023-11-28 | 深圳前海微众银行股份有限公司 | Workflow migration method, device, equipment and computer readable storage medium |
CN110928525A (en) * | 2019-11-12 | 2020-03-27 | 中信百信银行股份有限公司 | Automatic log generation method and system for business flow development tool |
CN112418796B (en) * | 2020-11-20 | 2023-12-08 | 泰康保险集团股份有限公司 | Sub-process task node activation method and device, electronic equipment and storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388844A (en) * | 2008-11-07 | 2009-03-18 | 东软集团股份有限公司 | Data flow processing method and system |
CN105302581A (en) * | 2015-12-02 | 2016-02-03 | 南京莱斯信息技术股份有限公司 | Workflow event mechanism implementation method based on script engine |
CN105630589A (en) * | 2014-11-24 | 2016-06-01 | 航天恒星科技有限公司 | Distributed process scheduling system and process scheduling and execution method |
CN105824842A (en) * | 2015-01-07 | 2016-08-03 | 阿里巴巴集团控股有限公司 | Distributed transaction processing method and system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2420929A1 (en) * | 2010-08-18 | 2012-02-22 | Software AG | System and method for ad-hoc modification of a process during runtime |
-
2016
- 2016-12-13 CN CN201611146326.0A patent/CN106600226B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388844A (en) * | 2008-11-07 | 2009-03-18 | 东软集团股份有限公司 | Data flow processing method and system |
CN105630589A (en) * | 2014-11-24 | 2016-06-01 | 航天恒星科技有限公司 | Distributed process scheduling system and process scheduling and execution method |
CN105824842A (en) * | 2015-01-07 | 2016-08-03 | 阿里巴巴集团控股有限公司 | Distributed transaction processing method and system |
CN105302581A (en) * | 2015-12-02 | 2016-02-03 | 南京莱斯信息技术股份有限公司 | Workflow event mechanism implementation method based on script engine |
Non-Patent Citations (1)
Title |
---|
工作流管理系统的异常处理机制研究;肖庆等;《信息与电脑》;20150823(第16期);第62-66页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106600226A (en) | 2017-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106600226B (en) | Method and device for optimizing process management system | |
US10146599B2 (en) | System and method for a generic actor system container application | |
US8726176B2 (en) | Active business client | |
US9235379B2 (en) | Generating a service component architecture (SCA) module with service oriented architecture (SOA) model elements | |
CN107944773A (en) | Business process control method, device and storage medium | |
US8639555B1 (en) | Workflow discovery through user action monitoring | |
US8584144B2 (en) | Determining the processing order of a plurality of events | |
US20080010082A1 (en) | System and method for business process management | |
CN109684057A (en) | Task processing method and device and storage medium | |
US11086696B2 (en) | Parallel cloned workflow execution | |
CN113094125B (en) | Business process processing method, device, server and storage medium | |
US20210133078A1 (en) | Monitoring long running workflows for robotic process automation | |
JP2009534773A (en) | Process coding | |
CN113781008A (en) | Generation method and device of approval flow, electronic device and storage medium | |
Dukaric et al. | BPMN extensions for automating cloud environments using a two-layer orchestration approach | |
CN115860451A (en) | Flow operation method and device, electronic equipment and storage medium | |
US20090158241A1 (en) | Generating a management pack at program build time | |
KR20130119715A (en) | Business process automation apparatus | |
Sangwan et al. | Integrating a software architecture-centric method into object-oriented analysis and design | |
CN112418796B (en) | Sub-process task node activation method and device, electronic equipment and storage medium | |
US20060112062A1 (en) | Controlling the creation of process instances in workflow management systems | |
CN115048158A (en) | Process arranging and calling method, system and computer equipment thereof | |
JP2008065580A (en) | Workflow cooperation program and workflow management system | |
JP2007242051A (en) | Device for mounting/executing business logic program | |
JP2006285473A (en) | Manufacturing process management system |
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 |