CN117078212A - Business process processing method and device, electronic equipment and storage medium - Google Patents

Business process processing method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN117078212A
CN117078212A CN202311284968.7A CN202311284968A CN117078212A CN 117078212 A CN117078212 A CN 117078212A CN 202311284968 A CN202311284968 A CN 202311284968A CN 117078212 A CN117078212 A CN 117078212A
Authority
CN
China
Prior art keywords
flow
service
instance
task
instances
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202311284968.7A
Other languages
Chinese (zh)
Other versions
CN117078212B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202311284968.7A priority Critical patent/CN117078212B/en
Publication of CN117078212A publication Critical patent/CN117078212A/en
Application granted granted Critical
Publication of CN117078212B publication Critical patent/CN117078212B/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/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis

Abstract

The embodiment of the application discloses a business process processing method and device, electronic equipment and a storage medium, which can be applied to the field of maps. The method comprises the following steps: detecting request information for performing flow operation on a flow instance; determining a flow operation type according to the flow operation parameters contained in the request information, wherein the flow operation type comprises flow separation or flow combination; checking the flow operation parameters according to a checking mode matched with the flow operation type, and establishing flow engagement points according to the flow operation parameters after the checking is passed; and when the service link flows to the flow connection point, starting the flow connection point according to the flow operation type, wherein the service link is formed by connecting a plurality of flow instances and a plurality of flow connection points. The application realizes the support of the engagement point function in the flow engine.

Description

Business process processing method and device, electronic equipment and storage medium
Technical Field
The present application relates to the field of artificial intelligence, and in particular, to the field of data processing technology, and in particular, to a business process processing method, a business process processing device, an electronic device, and a computer readable storage medium.
Background
With the rapid development of computer application technology, automatic execution and management of business processes can be realized by a process engine. It is understood that a flow engine refers to a software tool for automatically executing and managing business flows that performs and manages activity tasks based on activities, tasks, and roles defined in a visualized flow chart based on the visualized flow chart as a workflow basis. However, the existing process engine does not support the function of the connection point between different business processes, so that the upstream and downstream business connection cannot be established.
Disclosure of Invention
To solve the above technical problems, embodiments of the present application provide a business process processing method, a business process processing apparatus, an electronic device, a computer readable storage medium, and a computer program product, respectively.
As an aspect of the embodiment of the present application, there is provided a business process processing method, including: detecting request information for performing flow operation on a flow instance; determining a flow operation type according to the flow operation parameters contained in the request information, wherein the flow operation type comprises flow separation or flow combination; checking the flow operation parameters according to a checking mode matched with the flow operation type, and establishing flow engagement points according to the flow operation parameters after the checking is passed; and when the service link flows to the flow connection point, starting the flow connection point according to the flow operation type, wherein the service link is formed by connecting a plurality of flow instances and a plurality of flow connection points.
As another aspect of the embodiment of the present application, there is provided a business process processing apparatus, including: the request detection module is configured to detect request information for performing flow operation on a flow instance; the type determining module is configured to determine a flow operation type according to the flow operation parameters contained in the request information, wherein the flow operation type comprises flow separation or flow combination; the verification processing module is configured to verify the flow operation parameters according to a verification mode matched with the flow operation type, and establish flow engagement points according to the flow operation parameters after verification is passed; and the starting configuration module is configured to start the flow connection point according to the flow operation type when the service link flows to the flow connection point, wherein the service link is formed by connecting a plurality of flow instances and a plurality of flow connection points.
As still another aspect of the embodiments of the present application, there is provided an electronic device including: one or more processors; and a memory for storing one or more programs that, when executed by the one or more processors, cause the electronic device to implement steps in a business process processing method as described above.
As yet another aspect of the embodiments of the present application, there is also provided a computer-readable storage medium having stored thereon computer-readable instructions, which when executed by a processor of a computer, cause the computer to perform the steps in a business process processing method as described above.
As a further aspect of the embodiments of the present application, there is also provided a computer program product comprising a computer program which, when executed by a processor, implements the steps of a business process processing method as described above.
In the technical scheme provided by the embodiment of the application, after the request information for carrying out the flow operation on the flow instance is detected, whether the flow operation type is flow separation or flow combination is determined, then the creation of the flow engagement point is completed by checking the flow operation parameters according to the determined flow operation type, the created flow engagement point has the function of linking the flow, and when the service link flows to the flow engagement point, the flow engagement point can be started according to the flow operation type related to the flow engagement point so as to execute the flow of the subsequent flow. Therefore, the application realizes the function of the connection point, and the process connection point is established to connect the process examples which are related before and after, so that the business upstream and downstream connection can be established, and the business link which meets the actual business process requirement and is formed by connecting a plurality of process examples and a plurality of process connection points can be obtained, thereby meeting the actual application requirement.
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 application as claimed.
Drawings
FIG. 1 is a flow chart of an exemplary map field for traffic data jobs.
FIG. 2 is a schematic diagram of an exemplary business process processing system according to the present application.
Fig. 3 is a system flow diagram for application to the business process system shown in fig. 2.
FIG. 4 is a schematic diagram of an exemplary data migration synchronization process.
FIG. 5 is a task timing diagram for use with the business process system shown in FIG. 2.
Fig. 6 is a schematic diagram of an exemplary traffic link.
Fig. 7 is a flow chart illustrating a business process processing method according to an exemplary embodiment of the present application.
FIG. 8 is a schematic diagram of an exemplary implementation of the process engagement point separation and combination logic.
Fig. 9 is a flow chart illustrating a business process processing method according to another exemplary embodiment of the present application.
Fig. 10 is a block diagram of a business process processing apparatus according to an exemplary embodiment of the present application.
Fig. 11 shows a schematic diagram of a computer system suitable for use in implementing an embodiment of the application.
Detailed Description
Reference will now be made in detail to exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, the same numbers in different drawings refer to the same or similar elements, unless otherwise indicated. The implementations described in the following exemplary examples do not represent all implementations consistent with the application. Rather, they are merely examples of apparatus and methods consistent with aspects of the application as detailed in the accompanying claims.
The block diagrams depicted in the figures are merely functional entities and do not necessarily correspond to physically separate entities. That is, the functional entities may be implemented in software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.
The flow diagrams depicted in the figures are exemplary only, and do not necessarily include all of the elements and operations/steps, nor must they be performed in the order described. For example, some operations/steps may be decomposed, and some operations/steps may be combined or partially combined, so that the order of actual execution may be changed according to actual situations.
In the present application, the term "plurality" means two or more. "and/or" describes an association relationship of an association object, meaning that there may be three relationships, e.g., a and/or B may represent: a exists alone, A and B exist together, and B exists alone. The character "/" generally indicates that the context-dependent object is an "or" relationship.
The terms "first," "second," "third," and "fourth" and the like in the description and in the claims and drawings are used for distinguishing between different objects and not necessarily for describing a particular sequential or chronological order. The terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those listed steps or elements but may include other steps or elements not listed or inherent to such process, method, article, or apparatus.
As described above in the background section, a process engine refers to a software tool for automatically executing and managing business processes, which uses a visualized flowchart as a basis for a workflow to execute and manage active tasks according to activities, tasks and roles defined in the visualized flowchart.
For example, flowable is a lightweight business process engine written in Java language, commonly referred to as a Flowable process engine. The Flowable flow engine can be used to deploy BPMN2.0 flow definitions, create flow instances for those flow definitions, and query or access running or historical flow instances and related data.
One business Process in the Flowable is commonly referred to as a Process definition (Process Definition), which can launch multiple Process instances. It will be understood that the flow instance refers to a specific flow that actually operates according to links and steps set by the flow, according to rules and specifications of the flow. For example, in a leave process, the process definition specifically defines each step of leave, and a process instance corresponds to a leave application by an employee.
BPMN is an abbreviation for business process modeling notation (Business Process Modeling Notation), is a set of specifications Fan Biaozhun, and BPMN2.0 is version 2.0 of the set of specifications. The main classifications of elements specified in the BPMN2.0 standard include events, tasks, wires, and gateways, a flow must contain a start event and an end event, the role of the gateway is to control the flow Cheng Liuzhuai logic, the tasks can then be classified into many types, and all nodes are linked by wires. Gateways include, for example, a mutually exclusive Gateway (Exclusive Gateway), a Parallel Gateway (Parallel Gateway), and an inclusive Gateway (Inclusive Gateway), wherein the mutually exclusive Gateway is also known as an exclusive Gateway, which has and has only one valid egress; all outlets of the parallel gateway are executed, which can be understood as multi-thread executing a plurality of tasks simultaneously; the inclusion gateway is executed whenever the conditional exit is satisfied, and all conditional decisions are of the same level. The tasks include, for example, a manual Task (User Task), a Service Task (Service Task), etc., where the manual Task needs to be manually operated when being executed, and the Service Task automatically flows through a section of automatic logic, so that the manual Task may also be called a User Task, and the Service Task may be called an automation Task.
The BPMN2.0 flow definition is typically stored as an XML (Extensible Markup Language ) file and contains a visual portion that defines how each step type is presented and how it is interconnected using standard means.
As shown in fig. 1, fig. 1 is a flow chart of an exemplary traffic data job in the map domain, which may also be understood as a BPMN2.0 flow definition. As can be seen from fig. 1, the exemplary flowchart is formed by a start event, an end event, a mutual exclusion lock and various tasks through connection association, which specifically defines that each step of a traffic data operation flow in the map field is sequentially task creation, inquiry excavation, lock release, route excavation, task completion waiting and archiving, wherein the step of waiting for task completion is a manual task, and the archiving task is executed after the task completion is determined manually.
In addition to the Flowable flow engines, other flow engines exist, such as Activiti, JBPM, but none of these flow engines currently support the join function between different business flows. Therefore, it is highly desirable to provide a technical solution that enables the process engine to support the connection point function, so as to establish a business upstream-downstream connection through the process engine, thereby meeting the actual business process requirement. FIG. 2 is a schematic diagram of an exemplary business process system according to the present application, which is a front-end tool developed based on a process engine, and mainly comprises five modules, namely a front-end platform, a service background, components, an infrastructure and log management.
The front-end platform provides platform functions of flow design, debugging query, full-link query and alarm details. The flow query refers to a flow chart of the uploaded deployment; task review refers to reviewing tasks that have been archived; the full link inquiry is to realize the full flow retrieval of the task and show which link the task flow goes to; the alarm detail refers to a task of inquiring the alarm according to the condition, and can specify a time range, a flow and links.
The service background provides background functions of flow start, task acquisition, task completion, instance cancellation, relationship query, index query, flow pause, flow recovery, flow jump, request retransmission, flow query and task retrieval. Flow startup refers to initiating a flow instance; task retrieval refers to retrieving task instances in a process; task completion refers to completion of the retrieved task; instance cancellation refers to canceling a flow instance; relationship query refers to the relationship between query flow instances; index query refers to index information referenced by a query instance; the process pause refers to the process in the pause operation; the process recovery means to recover the suspended process; the process jump refers to the jump process between two designated nodes; the request retransmission refers to retransmitting a request of a certain link; the running water inquiry refers to the historical running water record of inquiring task circulation; task retrieval refers to querying task information.
The components used in the service background include Canal, kafka, mySQL, postgreSQL, elasticsearch, kibana, dataX and Zookeeper. Canal is a middleware, and is mainly used for providing incremental data subscription and consumption based on MySQL database incremental log analysis, for example, collecting Binlog and sending the Binlog to Kafka; kafka is a high throughput distributed publish-subscribe system that enables the stream processing system to publish or subscribe messages like a message queue, and is distributed to provide a mechanism for fault tolerance and concurrent processing of messages for receiving Binlog collected by the Canal and consuming, synchronizing task information to the elastic search; the elastic search is simply called as ES, is a distributed search and analysis engine, realizes the storage of index data and flow data and the rapid retrieval of task data, is generally used for storing and retrieving mass data, and Kibana is a visualization tool of the ES, and can realize an advanced retrieval function; mySQL is used for storing task data, scheduling data, configuration data, etc. in real time; postgreSQL is a data warehouse for storing mass archive data; dataX is an offline data synchronization tool for synchronizing Binlog data of MySQL to ES; the Zookeeper is used for managing Binlog consumption of the Canal based on MySQL database.
Log management includes callback service queries, engine exception queries, stay timeout alarms, interface time consuming queries, service performance queries, service data statistics, and cloud component queries. It is to be understood that cloud technology refers to a hosting technology that unifies serial resources such as hardware, software, and networks in a wide area network or a local area network, and implements calculation, storage, processing, and sharing of data, and a network that provides resources is called a "cloud". With the development of the internet, real-time data flow and diversification of connected devices, and the promotion of demands of search services, social networks, mobile commerce, open collaboration and the like, cloud computing is rapidly developed. The business process processing system provided by the embodiment is also combined with cloud technology, and related business process processing requirements are realized by means of powerful resources provided by the cloud component.
The infrastructure includes mirror warehouses, pipelines, TKE containers, and service discovery. The mirror image warehouse is used for realizing storage, management and distribution of service mirrors; the pipeline is used for realizing code submission, construction and automatic deployment; the TKE container is used for realizing functions of release management, log inquiry and the like; service discovery is used to implement registration functions for system services.
Fig. 3 is a schematic diagram of a system flow applied to the business flow processing system shown in fig. 2, and as can be seen from fig. 3, the system flow includes the following 6 steps:
step 1, setting up front end and background services of a system, configuring a flow engine database, integrating middleware such as configuration Canal, kafka, mySQL, ES, dataX and the like, and starting the services;
step 2, applying for system tenants, drawing a flow chart conforming to a flow protocol, and configuring flow links, gateways and the like according to the interactive protocol and service characteristics;
step 3, carrying out service parameter related configuration, opening task scheduling and retrying, and configuring a task inquirer;
step 4, uploading a deployment flow chart, initiating a task flow, and starting automatic circulation of the task;
step 5, the user can check the tasks in the front-end query flow and the archived tasks, and simultaneously perform tasks such as task review, task suspension, task retry and the like;
and 6, automatically archiving after the task is finished, synchronizing the data to a data warehouse by using the data X, and synchronizing the index data to the ES by using the Canal.
Specifically, in step 1, a system project is built, including a front-end platform and a background service, and components or services such as a general table structure of a flow engine database, an integrated configuration Canal, kafka, ES, kibana, dataX, mySQL, postgreSQL and the like are generated, and the system service is started.
In step 2, a system tenant is applied, and a flow chart conforming to a flow protocol is manufactured according to service requirements and characteristics, for example, when the service flow processing system shown in fig. 2 is applied to a flow engine, the flow chart is BPMN2.0 specification, and then flow links, task parameters and gateways are configured according to an interaction protocol. The business process processing system provided by the application supports user tasks and automation tasks, wherein the user tasks represent that the link needs related service or related tasks to be processed, and after the related service is called, a business party is required to complete and then call back a designated system interface to complete the current link; and the automation task indicates that the link automatically flows backwards after a certain service interface is called as long as a normal response is received, and the processing is determined to be finished. Both user tasks and automation tasks support messaging in Http, kafka and Pulsar protocols.
It may be appreciated that, in order to implement automatic circulation of user tasks and automation tasks, information such as a request method, a request path, a request encoding format, a request parameter and the like needs to be specified in description information of corresponding task nodes, and the following is a section of task description information shown by taking a Flowable flow engine as an example:
{
"TaskInRequest":{
"requestMethod":"POST",
"requestUrl":"${url.check}/pms/check/v1/check",
"requestBodyEncoding":"UTF-8",
"saveResponseVariableAsJson":"true",
"requestBody":"{\"taskNumber\":\"${taskNumber}\",\"executionId\":\"${executionId}\",\"productionLineCode\":\"${productionLineCode}\",\"workType\":\"${workType}\",\"isPilot\":\"false\",\"isCheckDiff\":\"true\"}"
}
}
In the request path and request body exemplified above, the "$" variable identifies the need to join in the flow context when the flow is initiated. The background service can acquire link description in the flow chart by inheriting the Abstract BpmNActityBehavior class of the Flowable, thereby acquiring information such as a request method, a request address, a coding format, a request body and the like.
In other embodiments, the request format configuration may be performed according to table 1 below, so that the request supports Http, kafka, or Pulsar protocols, and the background service processes the corresponding request according to the parsed protocol using different third party libraries.
In step 3, relevant configuration of service parameters is performed, task scheduling and retry are opened, and a task querier is configured, and the task querier includes, for example, an activitycompletdlistener (for querying a task link completion event, triggering an OnEvent method to execute relevant logic when a certain link of a task is completed), an ActivityStartedListener (for querying a link initiation event), a FlowVariableListener (for querying a process variable, triggering a call on event method to update a variable into a task process when a variable in the process changes), a taskcreatetilelistener, a TaskCompleteListener, and the like.
In step 4, the deployment flow chart is uploaded through an uploading interface of the flow engine, for example, a depoyments interface of the flow engine, then a task flow is initiated through a starting interface of the flow engine, for example, a Start interface of the flow engine, the task starts to automatically circulate, an automation link can automatically retry, and a retry interval can be prolonged along with the extension of time, so that the system breakdown caused by a large number of task retries is avoided. After the manual task link sends a message to the server, the server waits for callback information of the manual task link, and after the processing of the manual task link is finished, the server side invokes an interface of the flow engine, for example, a Complete interface of the flow engine, so that the current link is ended.
In the step 5, the user can perform operations such as task review, task pause, task retry and the like in the front-end query flow and the archived task, in the process of querying the task, the problem of query can be determined according to whether the task is archived and the archiving time, if the data is still in circulation and not archived, the queried executor can select to query in the MySQL database; if the task has been archived and the archiving time period is longer than a preset time period, for example, 3 days, the executor will query the data warehouse. When inquiring, a business key unique to a task instance is required to be input, and an executor can inquire information such as a tenant, a flow chart, an instance identifier and the like of the task from the ES, and inquire task flow information such as flow variables, circulation links and the like from a data table of a flow engine according to the information.
And 6, automatically archiving data after the task is finished, and periodically synchronizing the data archived in MySQL into a data warehouse by using the data X, and simultaneously, acquiring Binlog data of the MySQL by using the Canal and synchronizing the index data and the stream data to the ES. FIG. 4 is a schematic diagram of an exemplary data migration synchronization process, as shown in FIG. 4, dataX will periodically migrate archived flow data from MySQL database to data warehouse, canal will collect Binlog of Mysql, send to Kafka message queue, and then data is grouped by flow, index-merged and updated onto ES. It should be noted that, in the actual system deployment implementation, the MySQL database, the data warehouse, and the Kafka message queue may be specifically deployed as cloud components, but this is not limited herein.
With continued reference to fig. 5, fig. 5 is a task timing diagram applied to the business process system shown in fig. 2, and it can be seen that services involved in task flow include a front-end platform, a service background, a MySQL database, a PostgreSQL data warehouse, kafka middleware, an ES search engine, and other services.
As shown in fig. 5, the user first uses its own tenant identity to invoke the uplink interface of the service background to Upload the created flowchart, and the background interface will parse the XML file of the BPMN2.0 protocol, and store the flowchart data in the table of the mobile.
Then, the service side directly or regularly initiates a task flow and automatically flows according to the service characteristics, meanwhile records the flow information, flow variables and other data of each link, if the current link is a user task, the service background can call HTTP interfaces of other services, the other services can process the call request, after the call request is processed, the Complete interface of the service background can be called back, the service background can Complete the current link, and the backward flow is continued.
In the task circulation process, a MySQL database of a service background records the change of flow information, a Canal acquires Binlog of the database in real time, a log is sent to Kafka, a data synchronization service of the service background consumes and analyzes the Binlog data, a corresponding index is created on an ES according to tenant information, flow chart information and the like, and the data is stored in a data node of the ES according to the index.
The DataX tool can query task streaming data to be synchronized in MySQL at regular time and synchronize the task streaming data to be synchronized in the data warehouse PostgreSQL, and a timer can clear data in the service background database MySQL and the data warehouse PostgreSQL at regular time, for example, the background database data can be reserved for 5 days, the data warehouse data can be reserved for 90 days, and the reserved days can be set and regulated according to service characteristics.
When a request for inquiring the task at the front end is sent to the service background, logic judgment is carried out, if the task is still in the circulation process or the flow end time is less than the preset duration, for example, 3 days, mySQL is inquired at the service background database, and if the time for archiving the task is more than 3 days, the task is inquired at the data warehouse. In the query process, key information of a task is firstly queried on the ES according to the index in a fuzzy way, and then the query is performed on the database or the data warehouse, so that the reading and writing times of the database are reduced, and the retrieval efficiency is improved.
From the above, the application is based on the business process processing system illustrated in fig. 2, uses a database and table division strategy to support high concurrency, can store massive business data, and can support real-time circulation of massive tasks; meanwhile, the full-link retrieval of the task flow is realized, task inquiry of multiple dimensions is supported, statistical services can be supported, and the problem positioning speed is increased; business and system account checking, retention alarm and the like can be supported, cold-hot separation of data is realized, and retrieval speed is increased; and can also support high concurrency traffic, support Http, kafka, pulsar protocols, etc.
It should be noted that, the business process processing system provided by the present application may be applied to various industries involving task circulation, for example, may be applied to an intelligent transportation system, which is not limited herein, and may be specifically used to achieve the purposes of data production, process approval, project management, etc. in various industries.
It can be appreciated that the intelligent transportation system (Intelligent Traffic System, ITS), also known as an intelligent transportation system (Intelligent Transportation System), is a comprehensive transportation system that effectively and comprehensively applies advanced scientific technologies (information technology, computer technology, data communication technology, sensor technology, electronic control technology, automatic control theory, operation research, artificial intelligence, etc.) to transportation, service control and vehicle manufacturing, and strengthens the connection among vehicles, roads and users, thereby forming a comprehensive transportation system that ensures safety, improves efficiency, improves environment and saves energy.
In addition, the business process processing system illustrated in fig. 2 may also relate to a problem of flow between different processes in an actual business process application scenario, for example, in a business link illustrated in fig. 6, after the process a is ended, a plurality of processes B are initiated, and after the processes B are all ended, the process C is restarted, so that a connection point for connecting different processes needs to be introduced, such as an X point and a Y point illustrated in fig. 6, the connection point is used for implementing separation and combination of the processes, and supports combination of the processes from one-to-one, many-to-one, and many-to-many. However, the existing process-engine does not support the connection point function, so that the upstream and downstream connection of the service cannot be established, that is, the corresponding service chain cannot be constructed, and thus the corresponding service requirement cannot be met.
In order to meet the implementation of the connection point function requirement, the database table of the flow engine is expanded, a plurality of tables are newly added to store the connection point book and realize the function, and the related execution logic of the connection point is newly added.
The first new table is used for storing the basic information of the joining point, and the basic information of the joining point includes, for example, a unique identifier of the joining point, a type, a callback path, an identifier of an original tenant, an original flowchart, an identifier of a new tenant, a new flowchart, new task flow information, creation time, update time, and the like. When the connection point is newly added, the table is inserted to record the corresponding connection point basic information, and when a plurality of sub-processes are combined into one process, the information of the corresponding connection point is also queried in the table.
The second newly added table is used for recording connection point related information of the connection point of the flow, and the connection point related information comprises information of flow examples related to the connection point of the flow, such as information of an original task flow example identifier, an original execution identifier, a new task flow example identifier, a new execution identifier, a creation update time and the like. When creating the sub-process, inquiring the sub-process information from different data sources according to the data in the second newly added table, and then establishing the corresponding relation between the parent process and the sub-process, thereby realizing the process splitting and aggregation of the cross-database instance.
The third newly added table is used for recording the asynchronous task execution condition of state flow, and corresponding records are deleted after the execution is completed, so that the task can be asynchronously executed.
The fourth newly added table is used for recording information such as a unique business key of the flow instance, a flow chart name, a tenant, an MD5 check value, a type, creation update time and the like. The BusinessKey is used as a unique identifier of the flow and can be used for calculation such as business duplication elimination and the like and full-flow retrieval.
The logic for executing the newly added connection point of the present application is shown in the following embodiments. Referring first to fig. 7, fig. 7 is a flowchart illustrating a business process processing method according to an exemplary embodiment of the present application, the method including S710-S740, described in detail below:
s710, detecting request information for performing flow operation for the flow instance.
The request information is usually initiated by a tenant in the business process processing system, and it can be understood that the tenant is a user of the business process processing system, and if the user needs to use the business process processing system to realize the automatic circulation of the business process, the tenant information needs to be applied for in the business process processing system.
The user connects the plurality of processes through the front-end platform pulling process connection points, thereby setting up a service link, that is, the service link is formed by connecting the plurality of process instances and at least one process connection point. The service background realizes corresponding service functions by starting the circulation of the service links.
For the service background, request information for performing flow operation on the flow instance initiated by the tenant is detected, namely that a user pulls the flow connection point to connect a plurality of flows in the front-end platform is detected. It should be noted that, in the interface diagram corresponding to the service link, the process connection point is disposed after the flow diagram, for example, in fig. 6, the connection point X is after the flow a, which indicates that the flow a is separated, and the connection point Y is after the flow B1 and the flow B2, which indicates that the flow B1 and the flow B2 are combined. Thus, when a tenant initiates a flow operation for a flow instance, the flow instance being targeted is already created, i.e., already existing.
S720, determining a flow operation type according to the flow operation parameters contained in the request information, wherein the flow operation type comprises flow separation or flow combination.
After detecting the request information of the process operation for the process instance initiated by the tenant, extracting the corresponding process operation parameters from the request information, wherein it can be understood that the process operation parameters indicate the related information required by the newly-built process connection point, at least for example, whether the process operation type corresponding to the newly-built process connection point is process separation or process combination, if the process separation is performed, which parent process is separated into a plurality of sub-processes, and if the process combination is performed, which sub-processes to be combined are combined into a new process. Therefore, according to the flow operation parameters contained in the request information, the service background can determine whether the flow type is flow separation or flow combination.
S730, checking the operation parameters of the flow according to the checking mode matched with the operation type of the flow, and establishing the connection points of the flow according to the operation parameters of the flow after the checking is passed.
The service background realizes the related execution logic of the flow connection point, firstly, the flow operation parameters are verified according to a verification mode matched with the flow operation type, and after the verification is passed, flow operation execution information is generated according to the flow operation parameters. Based on the verification process, the reliability of the newly added flow connection point can be ensured.
The different process operation types correspond to different junction types, and the functions of the process junctions of the different junction types also correspond to different functions, so that the process operation parameters need to be verified according to a verification mode matched with the process operation types.
For example, if the flow operation type is flow merging, the merging flow parameters contained in the flow operation parameters are checked, and the merging flow parameters are related parameters representing flow merging.
For example, in some exemplary embodiments, it is necessary to check whether multiple process instances to be merged originate from the same parent process instance. As described above, the process operation parameters should include relevant information required for creating the process engagement points, so that the instance identifiers of the multiple process instances to be combined can be obtained from the process operation parameters, the engagement point identifiers associated with the multiple process instances in advance are queried based on the instance identifiers, and if the queried engagement point identifiers are determined to be the same identifier, it can be determined that the multiple process instances to be combined are derived from the same parent process instance, so that verification of the process operation parameters is passed. Still referring to fig. 6, when a new flow joins point Y, flow B1 and flow B2 are flow instances to be merged this time, so it is necessary to determine whether flow B1 and flow B2 originate from the same parent node, and by the above logic, it can be determined that both flows originate from the same parent flow, i.e. flow a.
In other exemplary embodiments, it is contemplated that in some cases, it is not required that the multiple process instances to be merged need not originate from the same parent process instance, but rather any multiple process instances may be supported for merging, for example, the process connection point Z shown in fig. 6 is a combination of the process C and the process B3, and the process C and the process B3 are not originated from the same parent process instance, so the checking manner of the merged process parameters may not include checking whether the multiple process instances to be merged originate from the same parent process instance.
Similarly, if the flow operation type is flow separation, the separation flow parameters contained in the flow operation parameters are checked, and the separation flow parameters are related parameters representing flow merging. For example, it is necessary to check the separation flow parameters included in the flow operation parameters, for example, to check whether the separation logic corresponding to the separation flow is correct. For example, for the process connection point a shown in fig. 6, it may be checked whether the separated process B1 and process B2 are parallel sub-processes corresponding to the process a.
In further exemplary embodiments, the execution identifier and the service key contained in the flow operation parameter may be repeatedly checked, and the associated flow instance identifier contained in the flow operation parameter may be presence checked, and if both the repeatedly checked and the presence checked are passed, the verification of the flow operation parameter is determined to be passed.
It may be appreciated that the execution identifier is used to uniquely identify the current flow operation, for example, expressed as execu-tion id, and the service key uniquely indicates service information corresponding to the current flow operation, and each flow instance has a unique service key, for example, expressed as bussinesskey. Therefore, the repeatability verification is carried out on the execution identifier and the service key contained in the flow operation parameter, and the uniqueness of the newly added connection point can be ensured.
In this embodiment, a new flow connected with the connection point of the flow is called an associated flow instance, and the associated flow instance identifier is used for uniquely identifying the newly added connection point of the flow, and if the associated flow instance identifier contained in the flow operation parameter does not exist, it indicates that the associated flow instance does not exist, and the newly added connection point of the flow cannot be added.
Thus, only when the execution identifier and the service key contained in the flow operation parameter are not repeated and the associated flow instance identifier contained in the flow operation parameter already exists, the flow operation parameter is indicated to pass the repeatability check and the existence check, and the check on the flow operation parameter is determined to pass. Under the condition that the flow operation parameters pass the repeatability check and the existence check, the reliability of constructing the service link through the newly added flow connection points can be further improved.
In further exemplary embodiments, it may also be checked whether the format of the tenant identity or the flow instance identity contained in the flow operation parameter is satisfactory.
After the above verification is passed, it may be determined that it is reliable to establish the flow engagement points according to the flow operation parameters, so that flow operation execution information is generated based on the flow operation parameters, that is, the ExecutionInfo is constructed, so as to obtain the corresponding flow engagement points.
For example, the process connection point may be defined according to the process operation parameter, then the connection point basic information of the process connection point is stored in the first newly added table, the connection point related information of the process connection point is recorded in the second newly added table, the connection point related information includes the information of the process instance related to the process connection point before and after the process connection point, so as to obtain the process connection point, then the configuration data of the process instance related to the process connection point before and after the process connection point is queried from the database according to the connection point related information recorded in the second newly added table, and the parent-child relationship corresponding to the process connection point of the corresponding process instance is established based on the queried configuration data, thereby completing the establishment of the process connection point.
Illustratively, the definition of the flow attachment point (i.e., join point) may be as follows:
{
"TaskInRequest":{
"requestMethod":"POST",
"requestUrl":"http://123:1234/2134/3412,
"requestBodyEncoding":"UTF-8",
"saveResponseVariableAsJson":"false",
"requestBody":"{\"executionId\":${executionId},\"other\":${other}}"
}
"JoinPoint":{
"enable": true
}
}
S740, when the business link flows to the flow connection point, the flow connection point is started according to the flow operation type.
The method for starting the associated flow instance by the different types of flow connection points is also different, if the flow connection points correspond to the flow separation operation, the associated flow instance is directly started from the flow connection points, and if the flow connection points correspond to the flow merging operation, the associated flow instance is started from the flow connection points after the to-be-merged multiple flow instances associated with the flow connection points are already circulated.
In another embodiment, when the flow operation type is flow merging, the method further includes querying, in a first new table, joint basic information associated with a plurality of flow instances to be merged, determining whether the plurality of flow instances to be merged correspond to the same flow joint based on the queried joint basic information, and if yes, starting the associated flow instance from the flow joint after the plurality of flow instances to be merged associated with the flow joint have been circulated. Based on this, the reliability of the plurality of flow entities performing the flow merging operation through the flow joining point is further ensured.
Therefore, by configuring the way of starting the related flow instance from the flow connection point according to the flow operation type, when the business link flow is transferred to the flow connection point, the flow of the subsequent flow can be executed based on the configured way, thereby realizing the establishment of business upstream and downstream connection based on the flow connection point, and further meeting the business flow requirement.
The above-described exemplary process may also be represented as the implementation process shown in fig. 8 with junction point separation and combination logic, and the detailed logic details are as described above and will not be repeated here. However, fig. 8 also illustrates that after the flow operation execution information ExecutionInfo is constructed, the MD5 encryption process is further performed on the obtained flow attachment point, which is understood to be that the MD5 verification value of the flow attachment point is obtained by performing the encryption operation on the related information of the flow attachment point through the MD5 encryption algorithm. The obtained MD5 check value of the process connection point is also stored in the fourth newly added table, and can be used to determine whether the process connection point is unique by verifying whether the MD5 value of the process connection point is repeated, and only the process connection point with uniqueness can satisfy the application requirement.
In other exemplary embodiments, the requirement that a business requires a single daily flow of massive flow instances in an actual application scenario is also considered, but the flow engine does not support a distributed database, so that the expansion of the database of the flow engine is urgently needed.
In order to implement the extension of the database of the flow engine, the present embodiment introduces a forced slicing mechanism, for example, a ShardingJDBC may be used to implement forced slicing, but is not limited thereto. The forced slicing mechanism mainly solves two problems, the first problem is that a slicing identifier sharingid needs to be calculated, and the other problem is that of pre-slicing.
For the first problem, considering that different flow instances are associated with the tenant identifier TenantId, the flow definition key and the service identifier business key, the shard identifier can be calculated based on the information. By way of example, the concatenation string can be obtained by concatenating the tenant identifier, the flow definition and the service identifier, then the concatenation string is converted into a byte array, and further a hash value corresponding to the byte array is calculated, and finally a remainder of the hash value and the total number of stored fragments is calculated, and the corresponding fragment identifier is determined according to the remainder. The byte array is also called as an integer array, the hash value corresponding to the byte array can be calculated by using a Murmur3 hash algorithm, the Murmur3 hash algorithm is a non-encrypted hash function which is widely tested and has high calculation speed, good distributivity is achieved, and the data can be ensured to be scattered on different fragments uniformly, but the specific algorithm is not limited. Based on the determined slicing identification, slicing positions can be determined correspondingly.
For the second problem, it is necessary to predict the increase of the data volume in the future time period, so as to determine the number of fragments that the system needs to deploy.
The application of the forced fragmentation mechanism can also be combined with the flow logic of the flow join point, and as illustrated in fig. 9, the business flow processing method further includes S910-S920 based on the embodiment illustrated in fig. 7, which is described in detail below:
s910, determining the respective corresponding slicing identifications of a plurality of sub-process instances associated with the process connection point, carrying the respective corresponding slicing identifications of the plurality of sub-process instances in each sub-process instance, and dispersing the respective sub-process instances carrying the slicing identifications to respective storage slicing for respective circulation;
it should be noted that S910 is applicable to an application implementation of the process connection point for characterizing process separation, and S920 is applicable to an application implementation of the process connection point for characterizing process separation.
Firstly, the respective corresponding slicing identifiers of a plurality of sub-process instances associated with the process connection point can be determined in the above manner, then each sub-process instance carries the respective corresponding slicing identifier of the plurality of sub-process instances, and each sub-process instance carrying the slicing identifier is dispersed to the corresponding storage slicing to be respectively circulated, so that the process separation function of the process connection point is realized.
S920, obtaining the fragment identifiers carried by the multiple sub-process instances to be combined, determining the storage fragments which are respectively streamed by the multiple sub-process instances according to the obtained fragment identifiers, inquiring from the determined storage fragments to obtain the stream data of the multiple sub-process instances, and starting the corresponding associated process instance if the multiple sub-process instances are determined to have been already circulated according to the stream data obtained by inquiring.
For the process connection point representing the process merging, the fragment identifiers carried by the multiple sub-process instances to be merged are required to be obtained, the circulation data of the multiple sub-process instances are determined according to the obtained fragment identifiers, and if the multiple sub-process instances are determined to have been circulated according to the inquired circulation data, the related associated process instance is started.
As can be seen from the above, based on the forced slicing mechanism provided in this embodiment, when implementing process separation, the process connection point disperses the sub-processes to the respective processes on different storage slices according to the slicing algorithm, and when the sub-processes are subsequently combined, the data of the slices where the other sub-processes are located are queried according to the slicing algorithm according to other process information carried in the sub-processes, thereby implementing cross-instance process combination, enabling the support of distributed storage of the process engine, and meeting the actual service requirements.
In another exemplary embodiment, the business process processing method disclosed in the foregoing embodiment is executed by a process engine, that is, the business process processing method is applied to the process engine, and the process engine mentioned in this embodiment may be determined according to the actual business requirement, which is not limited herein.
Based on this, the present embodiment further proposes another business process processing method based on the foregoing embodiment, and further includes the following steps:
s1, setting up front-end service and background service in a flow engine, configuring a database of the flow engine, configuring middleware service associated with the background service, and starting the front-end service, the background service and the middleware service;
s2, responding to a front-end request received by a front-end service, and carrying out connection configuration of a flow component so as to enable a front-end platform of a flow engine to manufacture a flow chart corresponding to a service link; the front-end request comprises request information for performing flow operation on a flow instance, and the flow component comprises flow engagement points;
s3, receiving a flow chart uploaded by the front-end platform, and starting the circulation of a service link corresponding to the flow chart in a flow engine in response to a starting instruction of the front-end platform for the flow chart.
In the above process, specifically, in S1, the front-end service, the background service and the middleware service in the flow engine are set up, and the database of the flow engine is configured, and after these services are started, the flow creation function of the flow engine is regarded as being started. In S2, the flow engine responds to the requirements of the flow chart corresponding to the production service link in the front-end platform to perform configuration of related flow components, wherein the flow components comprise flow connection points. In S3, the flow engine starts the flow chart uploaded by the front-end platform to realize automatic circulation of the corresponding service links. It can be seen that this embodiment further proposes how to perform relevant configuration in the flow engine, so that the flow engine supports the construction of the traffic link based on the flow attachment point.
In a further exemplary embodiment, in each of the process instances included in the service link, at least one of a user task and an automation task is included, so that when the circulation of each process instance is performed, if the circulation is to the user task, the first service is called to execute business logic processing of the user task, and circulation is continued after a callback of the first service is received, wherein the callback of the first service is initiated by the first service to a designated interface of the first service in response to a foreground trigger request; and if the flow is transferred to the automation task, calling a second service to execute business logic processing of the automation task, and continuing the flow after receiving a response returned by the second service. The description information corresponding to the user task and the automation task comprises service call protocol information, and the service call protocol information corresponds to at least one protocol of an Http protocol, a Kafka protocol and a Pulsar protocol, so that the user task and the automation task can be circulated to support multiple protocols.
In further exemplary embodiments, the business process processing method further comprises the steps of:
s11, in the process of carrying out the flow of the service link, executing an operation response corresponding to the front-end operation instruction according to the detected front-end operation instruction, wherein the front-end operation instruction comprises at least one of playback, pause, start and retry of a circulation task;
S12, after each transfer task is finished, storing transfer data of each transfer task into a database of a flow engine so as to archive the transfer data;
s13, synchronizing circulation data in the database to a data warehouse through middleware service at regular time;
s14, responding to the query request received by the front-end service, and if determining whether the archiving duration of the data to be queried exceeds the preset duration; if yes, carrying out data query in a data warehouse; if not, then data inquiry is carried out in the database.
In the process, the flow engine supports one or more operations of playback, pause, start, retry and the like of the flow task by the front end in the flow process of the business link, so that the user requirement can be met; the method also supports automatic archiving of task circulation data and synchronization of circulation data between a database and a data warehouse, so that when a current end queries circulation data, the circulation data is queried in a corresponding storage position based on archiving time, cold and hot data separation is realized, and a flow engine has better data storage and query performance.
It should be noted that, the detailed process related to the above embodiment is referred to the description in the business process processing system, and will not be described herein.
With continued reference to fig. 10, fig. 10 is a block diagram of an exemplary Flowable-based business process apparatus 1000 that includes a request detection module 1010, a type determination module 1020, a check processing module 1030, and a start configuration module 1040, according to an exemplary embodiment of the present application.
Wherein the request detection module 1010 is configured to detect request information for performing a flow operation for a flow instance; the type determining module 1020 is configured to determine a flow operation type according to the flow operation parameters contained in the request information, where the flow operation type includes flow separation or flow merging; the verification processing module 1030 is configured to verify the flow operation parameters according to a verification manner matched with the flow operation type, and establish flow engagement points according to the flow operation parameters after the verification is passed; the initiation configuration module 1040 is configured to initiate a flow attachment point according to a flow operation type when a traffic link flow is routed to the flow attachment point, where the traffic link is formed by connecting a plurality of flow instances and a plurality of flow attachment points.
In another exemplary embodiment, the verification processing module 1030 includes a merge logic verification unit configured to: if the flow operation type is flow merging, checking whether a plurality of flow instances to be merged originate from the same father flow instance; if it is determined that the multiple process instances to be combined originate from the same parent process instance, determining that verification of the process operation parameters passes.
In another exemplary embodiment, the verification processing module 1030 further includes a flow parameter verification unit configured to: performing repeatability verification on an execution identifier and a service key contained in the flow operation parameters, and performing existence verification on an associated flow instance identifier contained in the flow operation parameters, wherein the execution identifier is used for uniquely identifying the current flow operation, and each flow instance is provided with a unique service key; and if the repeatability check and the existence check are all passed, determining that the check of the operation parameters of the flow passes.
In another exemplary embodiment, the verification processing module 1030 further includes an operation execution processing unit configured to: defining a process connection point according to the process operation parameters; the method comprises the steps of storing basic information of the connection points of the process in a first newly-added table, and recording connection point related information of the connection points of the process in a second newly-added table, wherein the connection point related information comprises information of process instances related to the connection points of the process before and after the connection points of the process; and inquiring configuration data of the process instance related to the process before and after the process joining point from a database according to the joining point related information recorded in the second newly added table, and establishing a parent-child relationship of the corresponding process instance corresponding to the process joining point based on the inquired configuration data.
In another exemplary embodiment, the start-up configuration module 1040 is further configured to: if the flow operation type is flow separation, directly starting an associated flow instance from a flow connection point; if the flow operation type is flow merging, starting the associated flow instance from the flow connecting point after the plurality of flow instances to be merged associated with the flow connecting point have been circulated.
In another exemplary embodiment, the start-up configuration module 1040 is further configured to: inquiring the basic information of the engagement points associated with a plurality of flow instances to be combined in a first newly-added table; and determining whether the multiple process instances to be combined correspond to the same process connection point or not based on the queried connection point basic information, if so, starting the associated process instance from the process connection point after the multiple process instances to be combined associated with the process connection point have been circulated.
In another exemplary embodiment, business process processing device 1000 further includes a split-slice processing module configured to: determining a corresponding fragment identifier of each of a plurality of sub-process instances associated with the process connection point; each sub-process instance carries a corresponding slicing identifier of each sub-process instance, and each sub-process instance carrying the slicing identifier is dispersed to a corresponding storage slicing to be circulated.
In another exemplary embodiment, the split-tile processing module includes a tile identity determination unit configured to: acquiring tenant identifications, flow definitions and service identifications corresponding to all sub-flow instances; splicing tenant identification, flow definition and service identification to obtain a spliced character string, and converting the spliced character string into a byte array; and calculating a hash value corresponding to the byte array, calculating the remainder of the hash value and the total number of the stored fragments, and determining the corresponding fragment identification according to the remainder.
In another exemplary embodiment, business process processing device 1000 further includes a merge-tile processing module configured to: obtaining the fragment identifiers carried by a plurality of sub-process examples to be combined; determining the storage fragments of each flow of the multiple sub-process instances according to the obtained fragment identification, and inquiring from the determined storage fragments to obtain flow data of the multiple sub-process instances; if the plurality of sub-process instances are determined to have been completed according to the circulation data obtained by the query, the corresponding associated process instance is started.
In another exemplary embodiment, business process processing apparatus 1000 further comprises:
The configuration module is configured to build front-end service and background service in the flow engine, configure a database of the flow engine, configure middleware service associated with the background service, and start the front-end service, the background service and the middleware service; the front-end response module is configured to respond to the front-end request received by the front-end service and perform connection configuration of the flow components so that a front-end platform of the flow engine performs production of a flow chart corresponding to the service link; the front-end request comprises request information for performing flow operation on a flow instance, and the flow component comprises flow engagement points; the flow starting module is configured to receive the flow chart uploaded by the front-end platform, and respond to a starting instruction of the front-end platform for the flow chart to start the flow of the business link corresponding to the flow chart in the flow engine.
In another exemplary embodiment, in each process instance included in the service link, including at least one of a user task and an automation task, the service flow processing device 1000 further includes a task flow scheduling module configured to: when the circulation of each flow instance is carried out, if the circulation is to a user task, calling a first service to execute business logic processing of the user task, and continuing the circulation after receiving a callback of the first service; and if the flow is transferred to the automation task, calling a second service to execute business logic processing of the automation task, and continuing the flow after receiving a response returned by the second service.
In another exemplary embodiment, business process processing apparatus 1000 further comprises:
the operation response module is configured to execute an operation response corresponding to the front-end operation instruction according to the detected front-end operation instruction in the process of carrying out the circulation of the service link, wherein the front-end operation instruction comprises at least one of playback, pause, start and retry of a circulation task;
an archiving and querying module configured to: after each transfer task is finished, the transfer data of each transfer task is stored in a database of a flow engine so as to archive the transfer data;
synchronizing the circulation data in the database to the data warehouse at regular time through middleware service;
responding to a query request received by a front-end service, and if determining whether the archiving duration of the data to be queried exceeds a preset duration; if yes, carrying out data query in a data warehouse; if not, then data inquiry is carried out in the database.
In the business process processing device provided in each embodiment, after the request information of the tenant for performing the process operation on the process instance is detected, whether the process operation type is process separation or process combination is determined, then the creation of the process engagement point is completed by checking the process operation parameter according to the determined process operation type, and the process engagement point is further provided with a function of engaging the process by configuring the process engagement point to start the associated process instance, so that the subsequent process is executed when the business link is in circulation to the process engagement point, thereby realizing the function of supporting the engagement point in the process engine, connecting the process instance associated before and after through the process engagement point, so that the business upstream and downstream connection can be established, and the actual business process requirement is met.
It should be noted that, the business process processing device provided in the foregoing embodiment and the business process processing method provided in the foregoing embodiment belong to the same concept, and the specific manner in which each module and unit perform the operation has been described in detail in the method embodiment, which is not repeated herein. In practical application, the business process processing device provided in the above embodiment may distribute the functions to be completed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above, which is not limited herein.
The embodiment of the application also provides electronic equipment, which comprises: one or more processors; and a memory for storing one or more programs that, when executed by the one or more processors, cause the electronic device to implement the business process processing method provided in the above embodiments.
Fig. 11 shows a schematic diagram of a computer system suitable for use in implementing an embodiment of the application. It should be noted that, the computer system 1100 of the electronic device shown in fig. 11 is only an example, and should not impose any limitation on the functions and the application scope of the embodiments of the present application.
As shown in fig. 11, the computer system 1100 includes a central processing unit (Central Processing Unit, CPU) 1101 that can perform various appropriate actions and processes, such as performing the method described in the above embodiment, according to a program stored in a Read-Only Memory (ROM) 1102 or a program loaded from a storage section 1108 into a random access Memory (Random Access Memory, RAM) 1103. In the RAM 1103, various programs and data required for system operation are also stored. The CPU 1101, ROM 1102, and RAM 1103 are connected to each other by a bus 1104. An Input/Output (I/O) interface 1105 is also connected to bus 1104.
The following components are connected to the I/O interface 1105: an input section 1106 including a keyboard, a mouse, and the like; an output portion 1107 including a Cathode Ray Tube (CRT), a liquid crystal display (Liquid Crystal Display, LCD), and a speaker; a storage section 1108 including a hard disk or the like; and a communication section 1109 including a network interface card such as a LAN (Local Area Network ) card, a modem, or the like. The communication section 1109 performs communication processing via a network such as the internet. The drive 1110 is also connected to the I/O interface 1105 as needed. Removable media 1111, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like, is installed as needed on drive 1110, so that a computer program read therefrom is installed as needed into storage section 1108.
In particular, according to embodiments of the present application, the processes described above with reference to flowcharts may be implemented as computer software programs. For example, embodiments of the present application include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising a computer program for performing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via the communication portion 1109, and/or installed from the removable media 1111. When executed by a Central Processing Unit (CPU) 1101, performs the various functions defined in the system of the present application.
It should be noted that, the computer readable medium shown in the embodiments of the present application may be a computer readable signal medium or a computer readable storage medium, or any combination of the two. More specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-Only Memory (ROM), an erasable programmable read-Only Memory (Erasable Programmable Read Only Memory, EPROM), flash Memory, an optical fiber, a portable compact disc read-Only Memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. A computer program embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wired, etc., or any suitable combination of the foregoing.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present application. Where each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units involved in the embodiments of the present application may be implemented by software, or may be implemented by hardware, and the described units may also be provided in a processor. Wherein the names of the units do not constitute a limitation of the units themselves in some cases.
Another aspect of the application also provides a computer readable storage medium having stored thereon a computer program which when executed by a processor implements a business process processing method as described above. The computer-readable storage medium may be included in the electronic device described in the above embodiment or may exist alone without being incorporated in the electronic device.
Another aspect of the application also provides a computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the business process processing method provided in the above embodiments.
The foregoing is merely illustrative of the preferred embodiments of the present application and is not intended to limit the embodiments of the present application, and those skilled in the art can easily make corresponding variations or modifications according to the main concept and spirit of the present application, so that the protection scope of the present application shall be defined by the claims.
In addition, it should be noted that, in the specific embodiment of the present application, related data such as process operation parameters and circulation data are related, when the above embodiment of the present application is applied to specific products or technologies, user permission or consent is required to be obtained, and the collection, use and processing of related data are required to comply with related laws and regulations and standards of related countries and regions.

Claims (15)

1. A business process processing method, comprising:
detecting request information for performing flow operation on a flow instance;
determining a flow operation type according to the flow operation parameters contained in the request information, wherein the flow operation type comprises flow separation or flow combination;
checking the flow operation parameters according to a checking mode matched with the flow operation type, and establishing flow engagement points according to the flow operation parameters after the checking is passed;
and when the service link flows to the flow connection point, starting the flow connection point according to the flow operation type, wherein the service link is formed by connecting a plurality of flow instances and a plurality of flow connection points.
2. The method of claim 1, wherein verifying the process operation parameter in a verification manner that matches the process operation type comprises:
If the flow operation type is flow merging, checking whether a plurality of flow instances to be merged originate from the same father flow instance;
if the multiple process instances to be combined are determined to originate from the same parent process instance, determining that verification of the process operation parameters is passed.
3. The method according to claim 2, wherein the method further comprises:
performing repeatability verification on an execution identifier and a service key contained in the flow operation parameters, and performing existence verification on an associated flow instance identifier contained in the flow operation parameters, wherein the execution identifier is used for uniquely identifying the current flow operation, and each flow instance is provided with a unique service key;
and if the repeatability check sum and the existence check are all passed, determining that the check of the flow operation parameters is passed.
4. The method of claim 1, wherein establishing a flow engagement point based on the flow operating parameter after verification passes comprises:
defining the process engagement points according to the process operation parameters;
storing the basic information of the connection point of the process in a first newly-added table, and recording the connection point related information of the connection point of the process in a second newly-added table, wherein the connection point related information comprises information of process instances related before and after the connection point of the process;
And inquiring configuration data of the flow instance related to the flow joint point from a database according to the joint point related information recorded in the second newly-added table, and establishing a parent-child relationship of the corresponding flow instance corresponding to the flow joint point based on the inquired configuration data.
5. The method of claim 4, wherein when the traffic link flows to the flow join point, the flow join point is activated according to the flow operation type, comprising:
if the flow operation type is flow separation, directly starting an associated flow instance from the flow connection point;
if the flow operation type is flow merging, after a plurality of flow instances to be merged associated with the flow engagement point have been circulated, starting the associated flow instance from the flow engagement point.
6. The method of claim 5, wherein the method further comprises:
inquiring the basic information of the engagement points associated with the multiple flow instances to be combined in the first newly added table;
and determining whether the multiple process instances to be combined correspond to the same process engagement point or not based on the queried engagement point basic information, and if so, starting the associated process instance from the process engagement point after the multiple process instances to be combined associated with the process engagement point have been circulated.
7. The method of claim 5, wherein when the flow operation type is flow separation, the method further comprises:
determining the corresponding fragment identifiers of a plurality of sub-flow instances associated with the flow joint point;
each sub-process instance carries the corresponding slicing identifier of each sub-process instance, and each sub-process instance carrying the slicing identifier is dispersed to the corresponding storage slicing to be circulated.
8. The method of claim 7, wherein determining the respective corresponding fragment identifications of the plurality of sub-process instances associated with the process join point comprises:
acquiring tenant identifications, flow definitions and service identifications corresponding to all sub-flow instances;
splicing the tenant identification, the flow definition and the service identification to obtain a spliced character string, and converting the spliced character string into a byte array;
and calculating a hash value corresponding to the byte array, calculating the remainder of the hash value and the total number of stored fragments, and determining a corresponding fragment identifier according to the remainder.
9. The method of claim 5 or 7, wherein when the flow operation type is flow merging, the method further comprises:
Obtaining the fragment identifiers carried by a plurality of sub-process examples to be combined;
determining the storage fragments of each flow of the plurality of sub-flow examples according to the obtained fragment identification, and inquiring from the determined storage fragments to obtain flow data of the plurality of sub-flow examples;
and if the plurality of sub-process instances are determined to have been circulated according to the circulation data obtained by the inquiry, starting corresponding associated process instances.
10. The method of claim 1, wherein the method is applied to a flow engine, the method further comprising:
setting up front-end service and background service in the flow engine, configuring a database of the flow engine, configuring middleware service associated with the background service, and starting the front-end service, the background service and the middleware service;
responding to the front-end request received by the front-end service, and carrying out connection configuration of a flow component so as to enable a front-end platform of the flow engine to manufacture a flow chart corresponding to the service link; wherein the front-end request contains the request information for performing a flow operation for a flow instance, and the flow component includes the flow engagement point;
And receiving the flow chart uploaded by the front-end platform, and responding to a starting instruction of the front-end platform for the flow chart, and starting the circulation of the business link corresponding to the flow chart in the flow engine.
11. The method of claim 10, wherein in each of the process instances contained in the traffic link, at least one of a user task and an automation task is included; the method further comprises the steps of:
when the circulation of each flow instance is carried out, if the circulation is to the user task, a first service is called to execute business logic processing of the user task, and the circulation is continued after a callback of the first service is received;
and if the flow is transferred to the automation task, calling a second service to execute the business logic processing of the automation task, and continuing the flow after receiving the response returned by the second service.
12. The method according to claim 10, wherein the method further comprises:
executing an operation response corresponding to the front-end operation instruction according to the detected front-end operation instruction in the process of carrying out the circulation of the service link, wherein the front-end operation instruction comprises at least one of playback, pause, start and retry of a circulation task;
After each transfer task is finished, storing transfer data of each transfer task into a database of the flow engine so as to archive the transfer data;
synchronizing the circulation data in the database to a data warehouse through the middleware service timing;
responding to the query request received by the front-end service, and if determining whether the archiving duration of the data to be queried exceeds the preset duration; if yes, carrying out data query in the data warehouse; if not, carrying out data query in the database.
13. A business process processing apparatus, comprising:
the request detection module is configured to detect request information for performing flow operation on a flow instance;
the type determining module is configured to determine a flow operation type according to the flow operation parameters contained in the request information, wherein the flow operation type comprises flow separation or flow combination;
the verification processing module is configured to verify the flow operation parameters according to a verification mode matched with the flow operation type, and establish flow engagement points according to the flow operation parameters after verification is passed;
And the starting configuration module is configured to start the flow connection point according to the flow operation type when the service link flows to the flow connection point, wherein the service link is formed by connecting a plurality of flow instances and a plurality of flow connection points.
14. An electronic device, comprising:
one or more processors;
a memory for storing one or more programs that, when executed by the one or more processors, cause the electronic device to implement the business process processing method of any of claims 1-12.
15. A computer readable storage medium having stored thereon computer readable instructions which, when executed by a processor of a computer, cause the computer to perform the business process method of any of claims 1 to 12.
CN202311284968.7A 2023-10-07 2023-10-07 Business process processing method and device, electronic equipment and storage medium Active CN117078212B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311284968.7A CN117078212B (en) 2023-10-07 2023-10-07 Business process processing method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311284968.7A CN117078212B (en) 2023-10-07 2023-10-07 Business process processing method and device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN117078212A true CN117078212A (en) 2023-11-17
CN117078212B CN117078212B (en) 2024-01-26

Family

ID=88710081

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311284968.7A Active CN117078212B (en) 2023-10-07 2023-10-07 Business process processing method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN117078212B (en)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007018122A (en) * 2005-07-06 2007-01-25 Hitachi Software Eng Co Ltd Web service customization system
US20120029969A1 (en) * 2010-07-30 2012-02-02 Joern Franke Risk management of business processes
CN102592198A (en) * 2011-12-30 2012-07-18 福建富士通信息软件有限公司 Workflow engine supporting combined service
US20150039379A1 (en) * 2013-07-30 2015-02-05 Red Hat, Inc. Segmented business process engine
CN113961332A (en) * 2021-11-11 2022-01-21 中国建设银行股份有限公司 Method and device for realizing workflow engine, electronic equipment and storage medium
CN114185699A (en) * 2021-12-10 2022-03-15 上海哔哩哔哩科技有限公司 Data processing method and engine based on discrete parallel model
CN114281573A (en) * 2021-12-28 2022-04-05 城云科技(中国)有限公司 Workflow data interaction method and device, electronic device and readable storage medium
WO2022206768A1 (en) * 2021-03-30 2022-10-06 南通明兴科技开发有限公司 Customized mixed flow production system
CN115423430A (en) * 2022-08-22 2022-12-02 上海杰狮信息技术有限公司 Workflow management and control method and system
CN116090718A (en) * 2021-11-02 2023-05-09 中移动信息技术有限公司 BPMN-based flow processing method and device
CN116503005A (en) * 2022-01-18 2023-07-28 网银在线(北京)科技有限公司 Method, device, system and storage medium for dynamically modifying flow
CN116757628A (en) * 2023-06-05 2023-09-15 山东浪潮数字商业科技有限公司 BPMN-based flow management module and method

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007018122A (en) * 2005-07-06 2007-01-25 Hitachi Software Eng Co Ltd Web service customization system
US20120029969A1 (en) * 2010-07-30 2012-02-02 Joern Franke Risk management of business processes
CN102592198A (en) * 2011-12-30 2012-07-18 福建富士通信息软件有限公司 Workflow engine supporting combined service
US20150039379A1 (en) * 2013-07-30 2015-02-05 Red Hat, Inc. Segmented business process engine
WO2022206768A1 (en) * 2021-03-30 2022-10-06 南通明兴科技开发有限公司 Customized mixed flow production system
CN116090718A (en) * 2021-11-02 2023-05-09 中移动信息技术有限公司 BPMN-based flow processing method and device
CN113961332A (en) * 2021-11-11 2022-01-21 中国建设银行股份有限公司 Method and device for realizing workflow engine, electronic equipment and storage medium
CN114185699A (en) * 2021-12-10 2022-03-15 上海哔哩哔哩科技有限公司 Data processing method and engine based on discrete parallel model
CN114281573A (en) * 2021-12-28 2022-04-05 城云科技(中国)有限公司 Workflow data interaction method and device, electronic device and readable storage medium
CN116503005A (en) * 2022-01-18 2023-07-28 网银在线(北京)科技有限公司 Method, device, system and storage medium for dynamically modifying flow
CN115423430A (en) * 2022-08-22 2022-12-02 上海杰狮信息技术有限公司 Workflow management and control method and system
CN116757628A (en) * 2023-06-05 2023-09-15 山东浪潮数字商业科技有限公司 BPMN-based flow management module and method

Also Published As

Publication number Publication date
CN117078212B (en) 2024-01-26

Similar Documents

Publication Publication Date Title
CN104317843A (en) Data synchronism ETL (Extract Transform Load) system
CN111752799A (en) Service link tracking method, device, equipment and storage medium
CN111813570A (en) Event-driven message interaction method for power Internet of things
CN112559475B (en) Data real-time capturing and transmitting method and system
CN103067230A (en) Method for achieving hyper text transport protocol (http) service monitoring through embedding monitoring code
CN114327678B (en) Real-time data processing system and method supporting multiple engines
CN107133231B (en) Data acquisition method and device
CN111400288A (en) Data quality inspection method and system
CN114169579B (en) Nuclear Power Industry Internet Comprehensive Intelligent Platform System
CN111831748A (en) Data synchronization method, device and storage medium
CN108763482B (en) Method and device for scheduling data analysis process and server cluster
Vanhove et al. Tengu: An experimentation platform for big data applications
CN116048467A (en) Micro-service development platform and business system development method
CN113766026B (en) Data processing method and system applied to energy industrial network
CN111813503A (en) Micro-service application open system based on container cloud
CN114706994A (en) Operation and maintenance management system and method based on knowledge base
CN117078212B (en) Business process processing method and device, electronic equipment and storage medium
CN115203172B (en) Model construction and model data subscription method and device, electronic equipment and medium
CN113965538B (en) Equipment state message processing method, device and storage medium
CN114723397A (en) Flow execution method and device
CN115391429A (en) Time sequence data processing method and device based on big data cloud computing
CN114612276A (en) Intelligent environmental sanitation synergy algorithm model management platform
CN113760836B (en) Wide table calculation method and device
CN117376346A (en) Equipment data processing method and device based on edge calculation and distributed calculation
CN116028460A (en) Method and system for centralized management of value sets based on multi-industry scene

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