Business process configuration method, operation method and related device
By configuring business processes using the attribute information and sequential information of the business module, the problem of modifying code in the existing technology is solved, and more flexible and efficient business process management is achieved.
Patent Information
- Application Number
- CN202411907177.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-23
- Publication Date
- 2025-04-01
AI Technical Summary
The existing business process configuration method needs to modify the business process configuration code to deal with business process changes, resulting in redundancy and poor opening and closing.
By configuring business processes based on the attribute information and sequence information of the business module and generating a business flow chart, it is avoided to configure through the business process configuration code. In the future, only by sending the changed attribute information and sequence information.
It realizes that the business process diagram can be modified without modifying the business process configuration code, solves the problems of redundancy and poor opening and closing, and improves the flexibility and maintenance efficiency of the business process.
Smart Images

Figure CN119739386A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a business process configuration method, operation method and related devices. Background Art
[0002] In the existing business process configuration process, the business logic is mainly modularized and encapsulated through the business process configuration code. After the business logic is modularized and encapsulated, the module implements a series of behaviors. If the business process changes later, the business process configuration code needs to be modified. Summary of the invention
[0003] The embodiments of the present application provide a business process configuration method, operation method and related devices.
[0004] In a first aspect, an embodiment of the present application provides a business process configuration method, including:
[0005] In response to the process configuration operation, setting module identifiers of at least two business modules as process nodes;
[0006] Determining sequence information of the process nodes according to a sequence configuration operation on the process nodes;
[0007] Determining attribute information of the process node according to an attribute configuration operation on the process node;
[0008] The business process is configured based on the sequence information and the attribute information to generate a business process diagram.
[0009] In a second aspect, an embodiment of the present application provides a business process operation method, including:
[0010] Parse the business process diagram to obtain process information corresponding to the first business in the business process diagram;
[0011] Determining a service module to be executed in the first service according to sequence information of the process nodes in the process information;
[0012] The business module to be executed is run according to the attribute information of the business module.
[0013] In a third aspect, an embodiment of the present application provides a business process configuration device, including:
[0014] A setting unit, configured to set module identifiers of at least two business modules as process nodes in response to a process configuration operation;
[0015] A determination module, configured to determine the sequence information of the process nodes according to the sequence configuration operation on the process nodes;
[0016] The determination module is further used to determine the attribute information of the process node according to the attribute configuration operation on the process node;
[0017] A configuration module is used to configure the business process based on the sequence information and the attribute information to generate a business process diagram.
[0018] In a fourth aspect, an embodiment of the present application provides a business process running device, including:
[0019] A parsing unit, configured to parse the business process diagram to obtain process information corresponding to the first business in the business process diagram;
[0020] A determination unit, configured to determine a service module to be executed in the first service according to sequence information of the process nodes in the process information;
[0021] The running unit is used to run the business module to be executed according to the attribute information of the business module.
[0022] In a fifth aspect, an embodiment of the present application further provides a computer device, comprising a memory storing multiple computer programs; a processor loads the computer program from the memory to execute any method of the first aspect or the second aspect provided in the embodiment of the present application.
[0023] In a sixth aspect, an embodiment of the present application further provides a computer-readable storage medium, which stores a plurality of computer programs, and the computer programs are suitable for loading by a processor to execute any method of the first aspect or the second aspect provided in the embodiment of the present application.
[0024] In the seventh aspect, the embodiments of the present application also provide a computer program product, including a computer program or a computer program, which implements any method of the first aspect or the second aspect provided in the embodiments of the present application when the computer program or the computer program is executed by a processor.
[0025] By adopting the solution of the application embodiment, the business process configuration can be performed according to the attribute information and sequence information of the business module, without the need to configure the business process through the business process configuration code. If the business module in the business process diagram needs to be changed later, it only needs to send the attribute information and sequence information of the changed business module to modify the business process diagram, thereby avoiding modifying the business process configuration code and solving the problems of redundancy and poor openness and closure. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.
[0027] Figure 1 It is a schematic diagram of the application environment of the business process configuration method provided in the embodiment of the present application;
[0028] Figure 2 It is a flowchart of the existing business process configuration provided in the embodiments of the present application;
[0029] Figure 3 It is a flowchart of the business process configuration method provided in the embodiment of the present application;
[0030] Figure 4 It is a flowchart of the business process operation method provided in the embodiment of the present application;
[0031] Figure 5 It is a visual schematic diagram of the business process configuration method provided in the embodiment of the present application;
[0032] Figure 6 It is a visual schematic diagram of the business process operation method provided in the embodiment of the present application;
[0033] Figure 7 It is a structural diagram of a business process configuration device provided in an embodiment of the present application;
[0034] Figure 8 It is a structural diagram of a business process running device provided in an embodiment of the present application;
[0035] Fig. 9 It is a schematic diagram of the internal structure of the computer device provided in the embodiment of the present application. DETAILED DESCRIPTION
[0036] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without making creative work are within the scope of protection of the present application. At the same time, in the description of the embodiments of the present application, the terms "first", "second", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance. Thus, the features defined as "first" and "second" may explicitly or implicitly include one or more features. In the description of the embodiments of the present application, the meaning of "multiple" is two or more, unless otherwise clearly and specifically defined.
[0037] In one embodiment of the present application, the business process configuration method and the business process operation method can be executed on a local terminal device or a server.
[0038] When the business process configuration method and the business process operation method are run on a server, the method can be implemented and executed based on a cloud interaction system, wherein the cloud interaction system includes a server and a client device.
[0039] In order to better understand a business process configuration method, operation method and related devices provided by an embodiment of the present application, the application environment applicable to the embodiment of the present application is first described below.
[0040] See also Figure 1 , Figure 1 The following is a schematic diagram showing an application environment of a business process configuration method and a business process operation method provided in an embodiment of the present application. As an implementation mode, the business process configuration method and the business process operation method provided in an embodiment of the present application can be applied to a computer device, wherein the computer device can be such as Figure 1 The server 110 shown in the figure can be connected to the terminal device 120 through a network. The network is used to provide a medium for a communication link between the server 110 and the terminal device 120. The network can include various connection types, such as a wired communication link, a wireless communication link, etc., which is not limited in the embodiment of the present application. Optionally, in other embodiments, the computer can also be a smart phone, a laptop computer, etc.
[0041] It should be understood that Figure 1The server 110, network and terminal device 120 are merely illustrative. Depending on the implementation requirements, there may be any number of servers, networks and terminal devices. For example, the server 110 may be a physical server or a server cluster composed of multiple servers, and the terminal device 120 may be a mobile phone, a tablet, a desktop computer, a laptop computer, and the like. It is understood that the embodiments of the present application may also allow multiple terminal devices 120 to access the server 110 at the same time.
[0042] In some embodiments, the terminal device 120 can process the user data, such as recording the user's voice to obtain the user's audio data. Furthermore, the terminal device 120 sends the user's audio data to the server 110 through the network. After the server 110 receives the user's audio data, it can process the audio data to obtain the user's audio operation instructions, thereby executing the business process configuration method or business process operation method provided in this application. For example, the server 110 can determine that the user wants to perform an orchestration operation on a certain business process after parsing the received user audio data, thereby completing the configuration of the business process accordingly.
[0043] The following is a detailed description in conjunction with the accompanying drawings. In this embodiment, the execution subject is a terminal device as an example. It should be noted that the description order of the following embodiments is not intended to limit the preferred order of the embodiments. Although the logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in an order different from that shown in the accompanying drawings.
[0044] The business process configuration method and business process operation method of this embodiment can be applied to intelligent business processing scenarios, which may include, for example, electronic contract signing scenarios, electronic payment scenarios, digital identity authentication scenarios, etc. For example, in an electronic contract signing scenario, it usually includes multiple contract signing steps, such as data upload, data verification, verification result display, etc., and in each contract signing step, each contract signing step and the business logic between each contract signing step are usually modularly encapsulated through the business process configuration code, so that after modular encapsulation, the corresponding business behavior is executed through each module. Figure 2 As shown, Figure 2It is a flow diagram of the existing business process configuration provided in the embodiment of the present application, wherein a certain business module A1-1 is used to execute and implement several steps including S101~S110, such as skip operation (Skip), pre-operation (doBefore), verification operation (validateStep), output details (echoDetail), execution operation (doExe) and exception capture (onException), etc., and another business module A1-2 is used to execute and implement several steps including S201~S210 such as skip operation, automatic execution (autoExe) and exception capture. At this time, if it is necessary to configure the business process from business module A1-1 to business module A1-2, it is necessary to create a new business arrangement code to implement the scheduling from each step S101~S110 in business module A1-1 to each step S201~S210 in business module A1-2. At this time, if the business process is changed later, such as canceling the business process from business module A1-1 to business module A1-2, it is necessary to modify the business process configuration code, resulting in redundancy and poor opening and closing performance.
[0045] In order to solve the above-mentioned technical problems, the inventor of the present application proposed a business process configuration method that does not require business process configuration code, that is, the business process configuration can be performed according to the attribute information and sequence information of the business module, and there is no need to perform business process configuration through the business process configuration code. If the business module in the business process diagram needs to be changed subsequently, it only needs to send the attribute information and sequence information of the changed business module to modify the business process diagram, thereby avoiding modifying the business process configuration code and solving the problems of redundancy and poor openness and closure.
[0046] In some embodiments, the terminal device 120 can respond to user operations, generate a trigger request for business process configuration, execute business process configuration through the business process configuration method of the embodiment of the present application, and execute business process operation through the business process operation method of the embodiment of the present application.
[0047] In other embodiments, the terminal device 120 can generate a trigger request for business process configuration in response to the user's operation, and then send the trigger request to the server 110 through the network. When the server 110 receives the trigger request, it can perform business process configuration through the business process configuration method of the embodiment of the present application, and perform business process operation through the business process operation method of the embodiment of the present application.
[0048] Glossary:
[0049] A module is a set of business codes that meet the requirements of functional independence and cohesion. It participates in the transformation of business logic and is an essential part of the business life cycle.
[0050] Module behavior is the access entry provided by the module to the outside world.
[0051] The module library is a collection of all modules under a business system or subsystem.
[0052] Module process: Each business module is arranged and combined into an assembly line according to business needs, and finally runs according to this assembly line.
[0053] Module scheduling engine: responsible for parsing the module process into specific running steps and scheduling the operation.
[0054] Module process instance: Each time the scheduling engine schedules each module to run, it will generate the corresponding module operation record to facilitate the observation of the process operation trajectory.
[0055] Module behavior snapshot: When a module is running, different module behaviors will be run at different times. Each behavior has specific parameters and running records. The running data of each behavior is recorded as a snapshot, which can be replayed, mainly for business backtracking or exception compensation.
[0056] refer to Figure 3 , Figure 3 : is a flow chart of the business process configuration method provided in the embodiment of the present application. The specific flow of the business process configuration method may be as follows: Step 10 to Step 40, wherein:
[0057] Step 10: In response to the process configuration operation, the module identifiers of at least two business modules are set as process nodes.
[0058] In an embodiment of the present application, the process configuration operation can be understood as an operation instruction triggered by a user to modify the business process between two different business modules. For example, taking the embodiment provided above as an example, the process configuration operation can be understood as an operation instruction to modify, delete, etc. the business process between business module A1-1 and business module A1-2.
[0059] Furthermore, the operation instructions of the process configuration operation can be triggered in a variety of ways. For example, as a common feasible implementation solution, the process configuration operation can be triggered by the user's voice information. After the user's voice "I want to modify the business process between business module A1-1 and business module A1-2" is recorded, the corresponding process configuration operation can be triggered by parsing the user's voice information.
[0060] Of course, in addition to the aforementioned operating instructions for triggering process configuration operations through the user's voice information, in order to facilitate the user to further visualize the changes in the business process achieved in response to the process configuration operation, as another feasible embodiment of the present application, it can also be achieved by configuring the corresponding flowchart front-end designer on the front end to input the process configuration operation, wherein the flowchart front-end designer can be understood as a user interface (UserInterface, UI), that is, a medium for interaction and information exchange between the system and the user. For example, by calling the interface opened by the module library, all business modules currently available for process orchestration, such as business module A1-1, business module A1-2, business module A2-0, business module A2-1, business module A2-2, business module A3-1, business module A2-2, business module A2-3, etc., can be obtained, and then the process configuration operation can be input in the flowchart front-end designer in response to the dragging operation on different business modules. For example, in the flowchart front-end designer, dragging business module A2-2 to the bottom of business module A2-1 and connecting it can be regarded as the user inputting a process configuration operation to add a new business process from business module A2-1 to business module A2-2; or, in the flowchart front-end designer, dragging business module A2-2 connected below business module A2-1 away can be regarded as the user inputting a process configuration operation to delete the business process between business module A1-1 and business module A1-2. Of course, the process configuration operation provided above is only a feasible implementation solution. In fact, for different business scenarios, the operation instructions of the process configuration operation input can be determined based on actual needs.
[0061] It should be noted that, it can be seen that the aforementioned process configuration operations for modifying business processes are all modifications to the business processes between at least two business modules, such as the business process between business module A1-1 and business module A1-2, or the business process between business module A2-1 and business module A2-2. Therefore, after the user completes the input instructions for the process configuration operation of a certain business process in the flowchart front-end designer, the flowchart front-end designer can obtain at least two business modules associated with the business process, and further determine the module identifiers of the at least two business modules as process nodes for subsequent processing, wherein the business module-to-module identifier can be understood as unique identity identification information used to distinguish business modules, for example, commonly, the module ID can be used as the module identifier, and so on.
[0062] Step 20, determining the sequence information of the process nodes according to the sequence configuration operation of the process nodes.
[0063] It should be noted that in the flowchart front-end designer, the flow relationship of the business process between business modules can be determined by using connections, for example, from business module A2-1 to business module A2-2, etc. That is to say, in a complete business process, the execution order of business modules is different. Therefore, the user needs to set the corresponding execution order for each process node. Specifically, in a feasible embodiment, the user can drag each business module in the flowchart front-end designer to achieve the connection between business modules, so that when the sequence information of the corresponding process node is determined later, the sequence information configured for the corresponding process node can be determined based on the order of configuration operations on each business module.
[0064] Step 30, determining the attribute information of the process node according to the attribute configuration operation on the process node.
[0065] In the embodiment of the present application, the attribute information of the process node can be understood as the configuration value used by different business modules in executing corresponding business steps to meet the needs of different business scenarios. For example, in the business module of data verification, the corresponding attribute information can usually include some thresholds for verifying whether the data is abnormal, etc., or in the business module of verification result display, the corresponding attribute information can include the content of the prompt information displayed to the user after the verification fails, etc. The embodiment of the present application does not limit the attribute information of the process node.
[0066] Furthermore, in order to better complete the modification of the business process, the user can also modify the attribute information of the process node by triggering the attribute configuration operation of the process node. For example, as a common feasible implementation scheme, taking the flowchart front-end designer provided above as an example, the user can perform a specific trigger operation on the business module in the flowchart front-end designer, such as the more common double-click operation, so that the attribute setting page of the business module can be displayed in the flowchart front-end designer, so as to further respond to the trigger operation of the attribute setting page to adjust the attribute information of the business module, thereby determining the attribute information of the corresponding process node. Specifically, in the attribute customization page of each business module, the initial variable attribute value can be a null value or a preset original variable attribute value.
[0067] Furthermore, in the case where the initial variable attribute value is a null value, in response to the attribute configuration operation of the process node in the flowchart front-end designer, the target attribute information corresponding to the attribute configuration operation is determined, and the null value is updated through the target attribute information, thereby determining the attribute information of the process node configuration.
[0068] 2. For the case where the initial variable attribute value is the original variable attribute value, in response to the attribute configuration operation of the process node in the flowchart front-end designer, the target attribute information corresponding to the attribute configuration operation is obtained, and the original variable attribute value is updated through the target attribute information, thereby determining the attribute information of the process node configuration.
[0069] Step 40: Perform business process configuration based on the sequence information and attribute information to generate a business process diagram.
[0070] The flowchart front-end designer will further send the sequence information and attribute information of each business module to the module process back-end parser. Specifically, in one embodiment, when the process start node, business module A1-1, business module A1-2, and end node are dragged into the flowchart front-end designer, and the start process node->business module A1-1, business module A1-1->business module A1-2, and business module A1-2->end node are connected by lines. At this time, by further double-clicking the business module A1-1 to configure the variable attributes of the business module A1-1, for example, the variable attribute 1 of the business module A1-1 is modified from a null value to A1-1-f1, and the variable attribute 2 is modified from a null value to A1-1-f2. At this time, the business process in the flowchart front-end designer can be converted, saved, and submitted according to the preset protocol message format.
[0071] In another embodiment, the process start node, business module A1-1, business module A2-0, business module A2-1, business module A2-2 and end node are dragged to the flowchart front-end designer, and the start process node->business module A1-1, business module A1-1->business module A2-0, business module A2-0->business module A2-1, business module A2-0->business module A2-2, business module A2-1->end node, business module A2-2->end node are connected through lines. Double-click to configure the variable properties of business module A1-1, such as configuring variable property 1: A1-1-f1, variable property 2: A1-1-f2 for business module A1-1. Finally, the business process in the flowchart front-end designer can also be converted, saved and submitted according to the preset protocol message format.
[0072] The module process backend parser generates a business process diagram according to the sequence information and attribute information, as described in steps 401 to 403. Further, the module process backend parser sends the business process diagram to the module scheduling engine, so that the module scheduling engine runs the business process diagram according to the user's instructions.
[0073] The embodiment of the present application can configure the business process according to the attribute information and sequence information of the business module, and there is no need to configure the business process through the business process configuration code. If the business module in the business process diagram needs to be changed later, it only needs to send the attribute information and sequence information of the changed business module to modify the business process diagram, thereby avoiding modifying the business process configuration code and solving the problems of redundancy and poor openness and closure.
[0074] Step 401, performing connection analysis on the process nodes based on the sequence information to obtain connection relationship information between the process nodes;
[0075] Step 402, performing connection processing based on the connection relationship information between the process nodes to generate execution links between the process nodes;
[0076] Step 403: Perform business process configuration based on the attribute information and the execution link to generate a business process diagram.
[0077] Optionally, the module process backend parser performs connection analysis on the process nodes according to the sequence information to obtain connection relationship information between the process nodes.
[0078] In one embodiment, there are process node 1, process node 2, process node 3, process node 4 and process node 5, the sequence information of process node 1 is the first sequence, the sequence information of process node 2 is the second sequence, the sequence information of process node 3 is the second sequence, the sequence information of process node 4 is the third sequence, and the sequence information of process node 5 is the fourth sequence. Therefore, the connection relationship information between the process nodes is: the start process node is connected to process node 1, process node 1 is connected to process node 2 and process node 3 respectively, process node 2 is connected to process node 4, process node 3 is connected to process node 4, process node 4 is connected to process node 5, and process node 5 is connected to the end process node.
[0079] Furthermore, the module process backend parser connects each process node in sequence according to the connection relationship information between the process nodes, and generates execution links between the process nodes.
[0080] Furthermore, the module process backend parser configures the business process through attribute information and execution links, completes the design of the business process of the entire business module, and obtains a business process diagram.
[0081] Therefore, this embodiment can be understood as that after the module process backend parser receives the process protocol message from the flowchart frontend designer, it parses the message into attribute information and sequence information respectively and stores them in the database. Through sequence information verification, such as for verifying the legitimacy of the business process of the business module, such as whether there is a ring link, whether the nodes of the business module are reachable, etc., and derives the execution link of the business module, wherein the execution link belongs to a bidirectional multi-fork chain structure, that is, the node of each business module marks the information of the node of the next business module and the node of the previous business module. In the case of branches, there may be multiple nodes of the previous business module and the next business module. Finally, the execution link is loaded into the module scheduling engine, thereby completing the design of the business process of the entire business module and obtaining the business process diagram.
[0082] The embodiment of the present application can configure the business process according to the attribute information and sequence information of the business module, and there is no need to configure the business process through the business process configuration code. If the business module in the business process diagram needs to be changed later, it only needs to send the attribute information and sequence information of the changed business module to modify the business process diagram, thereby avoiding modifying the business process configuration code and solving the problems of redundancy and poor openness and closure.
[0083] refer to Figure 4 , Figure 4 : is a flowchart of a business process operation method provided in an embodiment of the present application. The specific process of the business process operation method may be as follows: Step 50 to Step 70, wherein:
[0084] Step 50: parse the business process diagram to obtain process information corresponding to the first business in the business process diagram.
[0085] When the user needs to perform intelligent business processing, he can call the module scheduling engine to start the module process according to the module process code and trigger the business processing instruction. Therefore, the module scheduling engine responds to the business processing instruction, parses the business process diagram, and obtains the first business corresponding to the business process diagram. Among them, the first business is specified by the business processing instruction, or it can be obtained according to the preset rules in the module scheduling engine. The preset rules are such as from small to large or from large to small according to the business number, from high to low or from low to high according to the business level, etc. Further, the priority of the business processing instruction is higher than the preset rules, that is, when the business processing instruction does not specify the first business, the first business will be obtained according to the preset rules.
[0086] In one embodiment, the business process diagram includes business 1, business 2, business 3 and business 4, and the levels of business 1, business 2, business 3 and business 4 are increased in sequence. If the business processing instruction is empty, business 4 is the first business of this time. If the business processing instruction is executed as business 2, business 2 is the first business of this time.
[0087] Furthermore, the module scheduling engine obtains process information of the first service.
[0088] Step 60: Determine the service module to be executed in the first service according to the sequence information of the process nodes in the process information.
[0089] The module scheduling engine parses the process information of the first business and obtains the sequence information of each process node in the process information, that is, obtains the execution order of each process node. Since the process node is the module identifier of the business module, when executing each process node, it is necessary to obtain the business module according to the module identifier corresponding to the process node to obtain the business module to be executed in the first business.
[0090] Step 70: Run the business module to be executed according to the attribute information of the business module.
[0091] The module scheduling engine runs the to-be-executed business module according to the attribute information of the business module, as described in detail from step 701 to step 702 , wherein the attribute information is the module behavior of the business module.
[0092] In one embodiment, the connection relationship information between the process nodes in the first business is: the start process node is connected to the process node 1, the process node 1 is connected to the process node 2 and the process node 3 respectively, the process node 2 is connected to the process node 4, the process node 3 is connected to the process node 4, the process node 4 is connected to the process node 5, and the process node 5 is connected to the end process node, wherein the process node 1 corresponds to the business module 1, the process node 2 corresponds to the business module 2, the process node 3 corresponds to the business module 3, the process node 4 corresponds to the business module 4, and the process node 5 corresponds to the business module 5. Therefore, the business module 1, {business module 2, business module 3}, business module 4 and business module 5 are driven to run in sequence. For the business module 1, the attribute information of the business module 1 includes Skip() behavior, doBefore() behavior, validateStep() behavior, echoDetail() behavior, doExe() behavior and onException() behavior. Therefore, when the business module 1 is driven to run, the Skip() behavior, doBefore() behavior, validateStep() behavior, echoDetail() behavior, doExe() behavior and onException() behavior are executed until all the business modules are executed.
[0093] The embodiment of the present application realizes unified scheduling of process information of each first business in the business process diagram, without the need for repeated construction of each first business calling end.
[0094] In one embodiment, the description of step 701 to step 702 is as follows:
[0095] Step 701, running the business module according to the attribute information of the business module;
[0096] Step 702: During the operation of the service module, if the operation status of the service module is abnormal, the service module is operated again based on the behavior snapshot information of the operation status.
[0097] It should be noted that when executing the attribute information in the business module, abnormal situations may occur when executing certain module behaviors, such as business failure, system failure, etc. Therefore, the module scheduling engine runs the business module according to the attribute information of the business module, that is, according to the module behavior of the business module, and monitors the data generated when executing the module behavior of each business module in real time during the operation of the business module, and obtains the operation status and behavior snapshot information of the operation status when executing the module behavior of each business module.
[0098] Furthermore, the module scheduling engine re-runs the business process of the business module based on the running status and the behavioral snapshot information of the running status. Specifically, if the running status of the business module is an abnormal state, the module scheduling engine re-runs the business process of the business module based on the behavioral snapshot information of the running status, as described in steps 7021 to 7023.
[0099] The embodiment of the present application snapshots the behavior execution of each business module, and converts the snapshots of execution exceptions into a manual intervention list, thereby realizing manual intervention and retry, and improving the reliability of the business.
[0100] In one embodiment, the description of steps 7021 to 7023 is as follows:
[0101] Step 7021, if the running state is abnormal, the abnormal information is sent to the business module;
[0102] Step 7022, receiving feedback information returned by the business module based on the abnormal information;
[0103] Step 7023: Based on the feedback information and the behavior snapshot information, the business module is run again.
[0104] Optionally, if the running state is determined to be an abnormal state, the module scheduling engine sends the abnormal information to the business module. Continuing with the above embodiment, when executing the doBefore() behavior of business module 1, a business abnormality occurs, so the abnormal information of the business abnormality of the doBefore() behavior is returned to business module 1, and business module 1 processes the abnormal information and returns the processed feedback information to the module scheduling engine, wherein the feedback information can be either unrecognizable abnormal information or recognized abnormal information.
[0105] Furthermore, the module scheduling engine receives feedback information returned by the business module based on the abnormal information, analyzes the feedback information, and obtains an analysis result.
[0106] Furthermore, the module scheduling engine re-runs the business process of the business module according to the parsing result of the feedback information and the behavior snapshot information, as described in steps a to c.
[0107] The embodiment of the present application snapshots the behavior execution of each business module, and converts the snapshots of execution exceptions into a manual intervention list, thereby realizing manual intervention and retry, and improving the reliability of the business.
[0108] In one embodiment, steps a to c are described as follows:
[0109] Step a: if the feedback information is that the abnormal information cannot be identified, the behavior snapshot information is analyzed to obtain the first behavior data in the behavior snapshot information;
[0110] Step b, determining second behavior data updated based on the first behavior data;
[0111] Step c: re-running the business module based on the behavior snapshot information including the second behavior data.
[0112] Optionally, if it is determined that the feedback information is unrecognizable abnormal information, the module scheduling engine analyzes the behavior snapshot information to obtain first behavior data in the behavior snapshot information, wherein the first behavior data is original behavior data in the behavior snapshot information.
[0113] Furthermore, the module scheduling engine visualizes the first behavior data, obtains a view corresponding to the first behavior data, and displays the view, wherein the view is an editable view, and the user can modify the first behavior data in the view. Therefore, when the user needs to run the business process of the business module for the second time, the user can edit the first behavior data in the view, and the module scheduling engine can receive the second behavior data after the user modifies the first behavior data.
[0114] Further, the module scheduling engine updates the first behavior data through the second behavior data to obtain updated behavior snapshot information. Further, the module scheduling engine re-runs the business process of the business module with the updated behavior snapshot information.
[0115] The embodiment of the present application snapshots the behavior execution of each business module, and converts the snapshots of execution exceptions into a manual intervention list, thereby realizing manual intervention and retry, and improving the reliability of the business.
[0116] Reference Figure 5 , Figure 5It is a visual schematic diagram of the business process configuration method provided in the embodiment of the present application. Through the flowchart front-end designer, the business modules in the module library are pipelined according to business requirements to form a business process. Different processes are independent of each other. Business modules can be reused in different processes and the variable properties of business modules can be redefined through the flowchart front-end designer to meet different business scenarios. Finally, the configured business process is published and the business process configuration module process is coded. The specific steps include the business process configuration part and the business process operation part.
[0117] For the business process configuration part, the details are as follows:
[0118] (a) Accessories involved: flowchart front-end designer, module process back-end parser, flowchart protocol message and module library.
[0119] Among them, flowchart front-end designers such as Antdesign G6 designer are used to draw visual business process diagrams of business modules, and can realize the dragging and rendering functions related to front-end flowcharts.
[0120] The module process backend parser is used to parse the business process diagram drawn by the module process frontend configurator, convert the parsed process data into the execution link of the process, and finally load the execution link into the module scheduling engine. Figure 6 , Figure 6 It is a visual schematic diagram of the business process operation method provided in the embodiment of the present application, which is used to drive the operation of the business module.
[0121] The flowchart protocol message is used to agree on the transmission message structure of the flowchart front-end designer, so that the business process diagram drawn by the flowchart front-end designer can be parsed by the module process back-end parser. The core structure includes: attribute information, which is used to record the coordinate information, style, custom variable attributes and unique identification of each business module in the business process diagram. Sequence information, which is used to mark the connection relationship between business modules and record the flow information of business modules. The unique process code is used to mark the uniqueness of the business process diagram. The module library is a collection of a series of business codes encapsulated by the program according to business needs. All business modules that can be used for process configuration in the current system can be obtained through the open interface of the module library.
[0122] (b) The flowchart front-end designer pulls the (interface) module library list as the element library for process configuration, refer to Figure 5 ,according to Figure 5 It can be seen that the module library list includes business module A1-1, business module A1-2, business module A2-0, business module A2-1, business module A2-2, business module A3-1, business module A2-2, business module A2-3, etc.
[0123] (c) When the user needs to configure a business process, he or she can drag the required business module from the module library list to the flowchart front-end designer to draw the process. The flow relationship between business modules can be confirmed by connecting lines. By double-clicking the business module in the drawing board, the property customization page can be opened to configure the variable attribute value.
[0124] Reference Figure 5 , respectively Figure 5 The process one and process two in the analysis are as follows:
[0125] For process 1, drag the process start node, business module A1-1, business module A1-2, and end node to the flowchart front-end designer, and connect the start process node -> business module A1-1, business module A1-1 -> business module A1-2, and business module A1-2 -> end node through lines. Double-click to configure the variable properties of business module A1-1, such as configuring variable property 1: A1-1-f1, variable property 2: A1-1-f2 for business module A1-1, and finally convert the business process of the flowchart front-end designer according to the protocol message format, save and submit.
[0126] For process 2, drag the process start node, business module A1-1, business module A2-0, business module A2-1, business module A2-2 and end node to the middle, and connect the start process node->business module A1-1, business module A1-1->business module A2-0, business module A2-0->business module A2-1, business module A2-0->business module A2-2, business module A2-1->end node, business module A2-2->end node through lines. Double-click to configure the variable properties of business module A1-1, such as configuring variable property 1: A1-1-f1, variable property 2: A1-1-f2 for business module A1-1, and finally convert the business process in the flowchart front-end designer according to the protocol message format, save and submit.
[0127] After the module process backend parser receives the process protocol message from the flowchart frontend designer, it parses the message into attribute information and sequence information and stores them in the database. Through sequence information verification, such as verifying the legitimacy of the business process of the business module, such as whether there is a ring link, whether the nodes of the business module are reachable, etc., and deriving the execution link of the business module, the execution link belongs to a bidirectional multi-fork chain structure, that is, the node of each business module marks the information of the node of the next business module and the node of the previous business module. In the case of branches, there may be multiple nodes of the previous business module and the next business module. Finally, the execution link is loaded into the module scheduling engine, thus completing the design of the business process of the entire business module and obtaining the business process diagram.
[0128] For the business process operation part, the details are as follows:
[0129] (a) The service initiator calls the module scheduling engine to start the module process according to the module process code.
[0130] (b) The module scheduling engine drives each business module to run. The driving process will be carried out according to the specific behavior of the business module. For example, for business module A1-1, business module A1-1 includes S101, S102, S103, S104 and S105. After an exception, S110 will be driven. For business module A1-2, business module A1-2 includes S101 and S106. After an exception, S110 will also be driven. The specific analysis process is as follows:
[0131] Step 1: The module scheduling engine first drives the Skip() behavior of the business module A1-1, that is, S101, to determine whether the business module A1-1 needs to be skipped. If the result returned by the driving execution is true, the business module is skipped and the next behavior in the business process is turned.
[0132] Step 2: If the result returned by the driver executing the Skip() behavior is false, then continue to drive S102 to execute the pre-processing logic doBefore() behavior of the business module A1-1. The pre-processing logic is used to handle the preparation work of the business module. After successful execution, it will cooperate with manual business operations. The specific operation content is related to the business function of the actual business module. For example, for an online electronic signing business module, its pre-processing logic is to generate an electronic signature file and provide it for customers to read and agree online in the corresponding business interface.
[0133] Step 3: After the manual business operation is submitted, the module scheduling engine continues to drive the validateStep() behavior of the business module A1-1, that is, S104, to verify the legality of the behavior and determine whether the business module is executed illegally. Among them, it mainly verifies whether it is executed in accordance with the business process configuration order of the business module. If the verification fails, a verification failure error message will be returned.
[0134] Step 4: After successful verification, the doExe() behavior of the business module A1-1 is continued to be driven through S105 to complete the final business operation of the business module, such as the electronic signing in the above embodiment. The doExe() behavior is used to process the formal signature of the electronic signature document.
[0135] Step 5: S101, S102, and S105 of the above business module A1-1 may fail to execute, such as business failure, system failure, etc. To ensure the continuity and reliability of the behavior of the business module, the module scheduling engine will monitor the operation process when executing the above steps. If an exception occurs, the exception information and behavior snapshot information will be fed back to the exception handling method onException() of the business module, that is, S110, and the business module itself will handle the exception.
[0136] Step 6: If the business module cannot handle the exception information, such as being unable to identify the exception information, the module scheduling engine will mark the execution of this behavior as failed, and update the running status of the behavior snapshot information to the abnormal state S210. For example, if the Skip() behavior of business module A1-1 is abnormal, the behavior snapshot information skip-snapshot corresponding to the Skip() behavior will be marked as abnormal. If the doBefore() behavior of business module A1-1 is abnormal, the behavior snapshot information before-snapshot corresponding to the doBefore() behavior will be marked as abnormal. If the doExe() behavior of business module A1-1 is abnormal, the behavior snapshot information exe-snapshot corresponding to the doExe() behavior will be marked as abnormal.
[0137] (c) When each business module runs, module process instance information will be generated, recording the descriptive information of each business module operation, such as module name, module attributes, running time, running status, etc.
[0138] (d) When executing the specific behavior of each business module, behavior snapshot information will be generated. For example, when S101 executes the Skip() behavior of business module A1-1, before executing the specific logic, the module scheduling engine will first generate and save the Skip-snapshot behavior snapshot information through S201. If an exception occurs during the execution of this behavior and the business module itself cannot handle the exception, the behavior snapshot information status will be updated to an exception through S210.
[0139] (e) The module scheduling engine provides a query interface to access the stored module process instance information, behavior snapshot information, and module process configuration data. It also has a built-in front-end rendering interface (visualization) to provide display, query, and operation functions for the above information.
[0140] (f) The visualization page obtains the module process instance information through the interface provided by the module scheduling engine and displays the module process instance information. At the same time, combined with the module process configuration data obtained by the interface and the flowchart front-end designer, the module process instance information can be rendered according to the configured flowchart to intuitively display the process operation status.
[0141] (g) Obtaining behavior snapshot information and visually displaying it. For behavior snapshot information that fails to execute, the visualization page allows the operation snapshot to be retried. After the retry is triggered (S310), the module scheduling engine will run the module behavior corresponding to the behavior snapshot for the second time.
[0142] for Figure 6 The same is true for the business modules A1-2 in the example, which will not be described in detail here.
[0143] It should be understood that, although each step in the flowcharts involved in the above embodiments is displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0144] Based on the same inventive concept, the embodiment of the present application also provides a business process configuration device for implementing the above-mentioned business process configuration method, and a business process operation device for implementing the above-mentioned business process operation method. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above-mentioned method, so the specific limitations in the embodiments of one or more business process configuration devices and business process operation devices provided below can refer to the above-mentioned limitations on the business process configuration method and the business process operation method, and the specific limitations will not be repeated here.
[0145] Reference Figure 7 , Figure 7 It is a structural diagram of a business process configuration device provided in an embodiment of the present application. The business process configuration device includes: a setting unit 701, a determination module 702 and a configuration module 703.
[0146] A setting unit 701 is used to set module identifiers corresponding to at least two business modules as process nodes in response to a process configuration operation;
[0147] A determination module 702, configured to determine sequence information configured for a process node in response to a sequence configuration operation on the process node;
[0148] The determination module 702 is further used to determine the attribute information configured for the business module in response to the attribute configuration operation on the process node;
[0149] The configuration module 703 is used to generate a business process diagram based on the sequence information and the attribute information.
[0150] The above-mentioned business process configuration device can configure the business process according to the attribute information and sequence information of the business module, without the need to configure the business process through the business process configuration code. If the business module in the business process diagram needs to be changed later, it only needs to send the attribute information and sequence information of the changed business module to modify the business process diagram, thus avoiding modifying the business process configuration code and solving the problems of redundancy and poor openness and closure.
[0151] In some embodiments, the configuration module 703 is further configured to:
[0152] Performing connection analysis on the process nodes based on the sequence information to obtain connection relationship information between the process nodes;
[0153] Perform connection processing based on the connection relationship information between the process nodes to generate execution links between the process nodes;
[0154] The business process is configured based on the attribute information and the execution link to generate a business process diagram.
[0155] Reference Figure 8 , Figure 8 It is a structural diagram of a business process running device provided in an embodiment of the present application. The business process running device includes: a parsing unit 801, a determining unit 802 and an running unit 803.
[0156] The parsing unit 801 is used to parse the business process diagram to obtain process information corresponding to the first business in the business process diagram;
[0157] A determining unit 802, configured to determine a service module to be executed in the first service according to sequence information of the process nodes in the process information;
[0158] The running unit 803 is used to run the to-be-executed service module according to the attribute information of the service module.
[0159] The above-mentioned business process running device realizes the unified scheduling of the process information of each first business in the business process diagram, without the need for repeated construction of each first business calling end.
[0160] In some embodiments, the operation unit 803 is further configured to:
[0161] According to the attribute information of the business module, running the business module;
[0162] During the operation of the service module, if the operation state of the service module is an abnormal state, the service module is operated for a second time based on the behavior snapshot information of the operation state.
[0163] In some embodiments, the operation unit 803 is further configured to:
[0164] If the operating state is an abnormal state, the abnormal information is sent to the business module;
[0165] Receiving feedback information returned by the business module based on the abnormal information;
[0166] Based on the feedback information and the behavior snapshot information, the service module is run a second time.
[0167] In some embodiments, the operation unit 803 is further configured to:
[0168] If the feedback information indicates that the abnormal information cannot be identified, analyzing the behavior snapshot information to obtain the first behavior data in the behavior snapshot information;
[0169] Determine second behavior data updated based on the first behavior data;
[0170] Based on the behavior snapshot information including the second behavior data, the business module is run a second time.
[0171] Based on the same inventive concept, the embodiment of the present application also provides a computer device, which may be a server or a terminal device, and includes a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps of the above-mentioned business process configuration method when executing the computer program. Thereby, various functions are realized, such as:
[0172] In response to the process configuration operation, setting module identifiers of at least two business modules as process nodes;
[0173] Determining sequence information of the process nodes according to a sequence configuration operation on the process nodes;
[0174] Determining attribute information of the process node according to an attribute configuration operation on the process node;
[0175] The business process is configured based on the sequence information and the attribute information to generate a business process diagram.
[0176] Beneficial effects: Business process configuration can be performed based on the attribute information and sequence information of the business module, without the need to configure the business process through the business process configuration code. If the business module in the business process diagram needs to be changed later, only the attribute information and sequence information of the changed business module needs to be sent to modify the business process diagram, thus avoiding modifying the business process configuration code and solving the problems of redundancy and poor openness and closure.
[0177] The processor implements the steps of the above-mentioned business process operation method when executing the computer program, thereby realizing various functions, such as:
[0178] Parse the business process diagram to obtain process information corresponding to the first business in the business process diagram;
[0179] Determining a service module to be executed in the first service according to sequence information of the process nodes in the process information;
[0180] The business module to be executed is run according to the attribute information of the business module.
[0181] Beneficial effect: A unified scheduling of the process information of each first business in the business process diagram is achieved, without the need for repeated construction of each first business call end.
[0182] The specific implementation of each of the above operations can be found in the previous embodiments, which will not be described in detail here.
[0183] In one embodiment, the computer device is a terminal device, for example, its internal structure diagram can be as follows: Fig. 9As shown. The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit and an input device. The processor, the memory and the input / output interface are connected via a system bus, and the communication interface, the display unit and the input device are connected to the system bus via the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be implemented through WIFI, a mobile cellular network, NFC (near field communication) or other technologies. When the computer program is executed by the processor, a business process configuration method is implemented. The display unit of the computer device is used to form a visually visible image, and can be a display screen, a projection device or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen. The input device of the computer device can be a touch layer covered on the display screen, or a button, trackball or touchpad set on the computer device casing, or an external keyboard, touchpad or mouse, etc.
[0184] Those skilled in the art will understand that Fig. 9 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0185] Based on the same inventive concept, an embodiment of the present application also provides a computer-readable storage medium, which may include: a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk, etc.
[0186] Since the computer program stored in the computer-readable storage medium can execute any one of the business process configuration methods and business process operation methods provided in the embodiments of the present application, the beneficial effects that can be achieved by any one of the business process configuration methods and business process operation methods provided in the embodiments of the present application can be achieved. Please refer to the previous embodiments for details and will not be repeated here.
[0187] Based on the same inventive concept, the embodiment of the present application also provides a computer program product or a computer program, the computer program product includes a computer program, and the computer program is stored in a computer-readable storage medium. The processor of the computer device reads the computer program from the computer-readable storage medium, and the processor executes the computer program, so that the computer device executes the business process configuration method and the business process operation method provided in various optional implementations in the above embodiments.
[0188] It should be noted that the object data (including but not limited to user device information, user personal information, etc.) and conversation data involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data need to comply with relevant laws, regulations and standards of relevant countries and regions. A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment method can be completed by computer programs and computer program-related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned business process configuration method and business process operation method.
[0189] Any reference to the memory, database or other media used in the embodiments provided in the present application may include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (Re RAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory may include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM may be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc.
[0190] The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. The non-relational database may include a distributed database based on blockchain, etc., but is not limited thereto. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but is not limited thereto.
[0191] In the above-mentioned business process configuration device, business process running device, computer-readable storage medium, computer equipment, and computer program product embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, refer to the relevant descriptions of other embodiments. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process and beneficial effects of the above-described business process configuration device, business process running device, computer-readable storage medium, computer program product, computer equipment and its corresponding units can refer to the description of the business process configuration method and business process running method in the above embodiments, and will not be repeated here.
[0192] The technical features of the above embodiments may be arbitrarily combined. To make the description concise, not all possible combinations of each technical feature in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0193] The above is a detailed introduction to a business process configuration method, operation method and related devices provided in an embodiment of the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea; at the same time, for technical personnel in this field, according to the idea of the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.
Claims
1. A business process configuration method, characterized in that: The method comprises: In response to the process configuration operation, setting module identifiers of at least two business modules as process nodes; Determining sequence information of the process nodes according to a sequence configuration operation on the process nodes; Determining attribute information of the process node according to an attribute configuration operation on the process node; The business process is configured based on the sequence information and the attribute information to generate a business process diagram.
2. The business process configuration method according to claim 1, characterized in that: The configuring the business process based on the sequence information and the attribute information to generate a business process diagram includes: Performing connection analysis on the process nodes based on the sequence information to obtain connection relationship information between the process nodes; Perform connection processing based on the connection relationship information between the process nodes to generate execution links between the process nodes; The business process is configured based on the attribute information and the execution link to generate the business process diagram.
3. A business process operation method, characterized in that: The method comprises: Parse the business process diagram to obtain process information corresponding to the first business in the business process diagram; Determining a service module to be executed in the first service according to sequence information of the process nodes in the process information; The business module to be executed is run according to the attribute information of the business module.
4. The business process operation method according to claim 3, characterized in that: The step of running the to-be-executed business module according to the attribute information of the business module includes: According to the attribute information of the business module, running the business module; During the operation of the service module, if the operation state of the service module is an abnormal state, the service module is operated for a second time based on the behavior snapshot information of the operation state.
5. The business process operation method according to claim 4, characterized in that: If the running state is an abnormal state, the business module is run again based on the behavior snapshot information of the running state, including: If the operating state is an abnormal state, the abnormal information is sent to the business module; Receiving feedback information returned by the business module based on the abnormal information; Based on the feedback information and the behavior snapshot information, the service module is run a second time.
6. The business process operation method according to claim 4 or 5, characterized in that: The second running of the service module based on the feedback information and the behavior snapshot information includes: If the feedback information indicates that the abnormal information cannot be identified, analyzing the behavior snapshot information to obtain the first behavior data in the behavior snapshot information; Determine second behavior data updated based on the first behavior data; Based on the behavior snapshot information including the second behavior data, the business module is run a second time.
7. A business process configuration device, characterized in that: The device comprises: A setting unit, configured to set a module identifier of a business module as a process node in response to a process configuration operation; A determination module, configured to determine the sequence information of the process nodes according to the sequence configuration operation on the process nodes; The determination module is further used to determine the attribute information of the process node according to the attribute configuration operation on the process node; A configuration module is used to configure the business process based on the sequence information and the attribute information to generate a business process diagram.
8. A computer device, characterized in that: It comprises a processor and a memory, wherein the memory stores a plurality of computer programs; the processor loads the computer program from the memory to execute the method according to any one of claims 1-2, or 3-6.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a plurality of computer programs, and the computer programs are suitable for being loaded by a processor to execute the method according to any one of claims 1-2, or 3-6.
10. A computer program product, characterized in that The computer program product comprises a computer program, and the computer program is executed by a processor to perform the method according to any one of claims 1-2, or 3-6.