Process design method, device, equipment, medium and program product
By optimizing process design based on a general node model and chain of responsibility pattern, the problem of insufficient response to business changes and expansion requirements in traditional Java workflow engines in transaction processes and form-driven page scenarios is solved, achieving efficient and flexible process processing and low-cost maintenance.
Patent Information
- Application Number
- CN202511035636.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-25
- Publication Date
- 2025-10-28
AI Technical Summary
Traditional Java workflow engines are insufficient in responding to business changes and expansion needs in scenarios such as transaction processes and form-driven pages, making it difficult to meet high-concurrency performance requirements, and resulting in high costs for custom development and maintenance.
The process nodes are defined based on a general node model, node IDs and extended interfaces are configured, interruption tags are set to form a chain structure, and the process design is optimized through the chain of responsibility pattern and strategy pattern, and the processing efficiency is improved by combining instrumentation and parallel structure.
It achieves lightweight and flexible process design, reduces technical communication costs, improves process processing efficiency and business change flexibility, and simplifies the development and maintenance process.
Smart Images

Figure CN120848958A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of financial technology, and specifically to a process design method, apparatus, device, medium, and program product. Background Art
[0002] Currently, mainstream workflow engines in the Java domain have become the standard solution for enterprise-level workflow management. These engines perform exceptionally well in complex business process scenarios such as OA approvals and warehouse management, effectively driving the digitalization and visualization of enterprise management. However, when faced with conventional business scenarios such as transaction processes and form-driven pages, these heavyweight engines show significant shortcomings in rapidly responding to business changes and expansion needs.
[0003] Through in-depth observation of transaction order placement and form-driven design, three key common characteristics can be summarized: First, the process steps are fixed and the operation is patterned, such as standardized operation sequences for user information verification and product data processing; second, the process direction is linear. Compared to the complex status backtracking of OA processes, transaction-related processes are usually executed in a fixed order and quickly interrupted in case of anomalies; finally, the process structure is simple, without cross-domain jumps or complex loops, and business logic is usually limited to specific steps. These characteristics make traditional workflow engines seem too cumbersome.
[0004] Based on the aforementioned business characteristics, traditional workflow engines exhibit two main problems in practical applications: firstly, their architectural design struggles to meet the performance requirements of high-concurrency payment scenarios; secondly, the cost of custom development and maintenance based on these engines remains high in the face of rapidly changing business needs and frequent staff turnover. The strong coupling between business logic and the framework significantly increases the difficulty and cost of maintaining core business processes, necessitating a lighter and more flexible solution. Summary of the Invention
[0005] In view of the above problems, this application provides a process design method, apparatus, equipment, medium and program product.
[0006] The first aspect of this application provides a process design method, the method comprising: initially defining process nodes for each process stage in a business process based on a general node model, wherein each process node is configured with a node ID; constructing business functions for each process node, and defining an extension interface for each process node, wherein the extension interface is used to provide external calling functions for the process node, and the business functions are implemented based on the external calling functions; setting an interruption label within the process node implementing business processing based on the processing requirements of the business process, wherein the interruption label is used to indicate the processing strategy when the process node is interrupted; and concatenating all the process nodes based on the node ID to form a chain structure representing the business process.
[0007] According to an embodiment of this application, the attributes of the initially defined process node include the node ID, node name, node type, request parameters and return parameters, business processing object, and next node ID.
[0008] According to an embodiment of this application, the step of constructing the business functions of each process node and defining extended interfaces in the process node includes: constructing a linked list of process nodes based on the node ID, the linked list being used to define the execution order of the process nodes and isolate the execution logic of the business functions of each process node; defining the business functions of the process nodes, and setting at least one extended interface for the common functions in the business functions, and defining at least one external calling object.
[0009] According to an embodiment of this application, when setting the interruption tag, the method includes: when the interruption tag is a first-level tag, configuring the process node with a first-level processing strategy, wherein the first-level processing strategy is to immediately interrupt the processing of the chain structure when the process node is interrupted; when the interruption tag is a second-level tag, configuring the process node with a second-level processing strategy, wherein the second-level processing strategy is to continue executing the chain structure and record the interruption error when the process node is interrupted; when the interruption tag is a third-level tag, configuring the process node with a third-level processing strategy, wherein the third-level processing strategy is to continue executing the chain structure based on preset execution constraints when the process node is interrupted, wherein the preset execution constraints are used to indicate the conditions for continuing to execute the chain structure and the starting node for continuing to execute the chain structure.
[0010] According to an embodiment of this application, the method further includes: instrumenting each of the process nodes and logging the process nodes based on the instrumentation.
[0011] According to an embodiment of this application, the method further includes: when the length of the chain structure is greater than a preset value, splitting the chain structure into multiple segments according to the business processing objects of each process node and then combining them in parallel to form a parallel structure link.
[0012] According to a second aspect of this application, a process design apparatus includes: a node definition module, configured to initially define process nodes for each process stage in a business process based on a general node model, wherein each process node is configured with a node ID; a function construction module, configured to construct business functions for each process node and define an extension interface for each process node, wherein the extension interface is used to provide external calling functions for the process node, enabling the business functions to be implemented based on the external calling functions; an interruption setting module, configured to set an interruption tag within the process node implementing business processing based on the processing requirements of the business process, wherein the interruption tag is used to indicate the processing strategy when the process node is interrupted; and a process construction module, configured to connect all the process nodes in series based on the node ID to form a chain structure representing the business process.
[0013] A third aspect of this application provides an electronic device comprising: one or more processors; and a memory for storing one or more computer programs, wherein the one or more processors execute the one or more computer programs to implement the steps of the method described above.
[0014] A fourth aspect of this application also provides a computer-readable storage medium having a computer program or instructions stored thereon, which, when executed by a processor, implement the steps of the above-described method.
[0015] The fifth aspect of this application also provides a computer program product, including a computer program or instructions that, when executed by a processor, implement the steps of the above-described method. Attached Figure Description
[0016] The above-mentioned contents, other objects, features and advantages of this application will become clearer from the following description of embodiments with reference to the accompanying drawings, in which:
[0017] Figure 1 The illustrations depict application scenarios of the process design method, apparatus, device, medium, and program product according to embodiments of this application.
[0018] Figure 2 A flowchart illustrating a process design method according to an embodiment of this application is shown schematically.
[0019] Figure 3 A schematic diagram illustrating the structure of a process design apparatus according to an embodiment of this application is shown; and
[0020] Figure 4 A block diagram schematically illustrates an electronic device suitable for implementing a process design method according to an embodiment of this application. Detailed Implementation
[0021] The embodiments of this application will now be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of this application. In the following detailed description, numerous specific details are set forth to provide a thorough understanding of the embodiments of this application for ease of explanation. However, it will be apparent that one or more embodiments may be implemented without these specific details. Furthermore, descriptions of well-known structures and technologies are omitted in the following description to avoid unnecessarily obscuring the concepts of this application.
[0022] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the scope of this application. The terms “comprising,” “including,” etc., as used herein indicate the presence of the stated features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.
[0023] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein are to be interpreted in a manner consistent with the context of this specification, and not in an idealized or overly rigid way.
[0024] When using expressions such as "at least one of A, B and C", they should generally be interpreted in accordance with the meaning that is commonly understood by those skilled in the art (e.g., "a system having at least one of A, B and C" should include, but is not limited to, a system having A alone, a system having B alone, a system having C alone, a system having A and B, a system having A and C, a system having B and C, and / or a system having A, B and C, etc.).
[0025] It should be noted that the process design method and apparatus provided in this application can be used in the process design and development field of fintech, and can also be used in any field other than fintech. The application field of the process design method and apparatus provided in this application is not limited.
[0026] An embodiment of this application provides a process design method, the method comprising: initially defining process nodes for each process stage in a business process based on a general node model, wherein each process node is configured with a node ID; constructing business functions for each process node, and defining an extension interface for each process node, wherein the extension interface is used to provide external calling functions for the process node, and the business functions are implemented based on the external calling functions; setting an interruption label within the process node implementing business processing based on the processing requirements of the business process, wherein the interruption label is used to indicate the processing strategy when the process node is interrupted; and connecting all the process nodes in a chain based on the node ID to form a chain structure representing the business process.
[0027] Figure 1The illustrations depict application scenarios of the process design method, apparatus, device, medium, and program product according to embodiments of this application.
[0028] like Figure 1 As shown, application scenario 100 according to this embodiment may include process design and development in the financial technology field. Network 104 is used as a medium to provide a communication link between the first terminal device 101, the second terminal device 102, the third terminal device 103, and the server 105. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, etc.
[0029] Users can use the first terminal device 101, the second terminal device 102, and the third terminal device 103 to interact with the server 105 via the network 104 to receive or send messages, etc. Various communication client applications can be installed on the first terminal device 101, the second terminal device 102, and the third terminal device 103, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social media platform software, etc. (for example only).
[0030] The first terminal device 101, the second terminal device 102, and the third terminal device 103 can be various electronic devices with displays and support web browsing, including but not limited to smartphones, tablets, laptops, and desktop computers.
[0031] Server 105 can be a server that provides various services, such as a backend management server that supports websites browsed by users using the first terminal device 101, the second terminal device 102, and the third terminal device 103 (this is just an example). The backend management server can analyze and process data such as received user requests, and feed back the processing results (such as web pages, information, or data obtained or generated according to user requests) to the terminal devices.
[0032] It should be noted that the process design method provided in this application embodiment can generally be executed by server 105. Correspondingly, the process design apparatus provided in this application embodiment can generally be located in server 105. The process design method provided in this application embodiment can also be executed by a server or server cluster that is different from server 105 and capable of communicating with the first terminal device 101, the second terminal device 102, the third terminal device 103, and / or server 105. Correspondingly, the process design apparatus provided in this application embodiment can also be located in a server or server cluster that is different from server 105 and capable of communicating with the first terminal device 101, the second terminal device 102, the third terminal device 103, and / or server 105.
[0033] It should be understood that Figure 1The number of terminal devices, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of terminal devices, networks, and servers can be included.
[0034] The following will be based on Figure 1 The described scene, through Figure 2 The process design method according to the embodiments of this application will be described in detail.
[0035] This application provides a process design method that integrates the construction pattern, the chain of responsibility pattern, and the strategy pattern.
[0036] Figure 2 A flowchart illustrating a process design method according to an embodiment of this application is shown schematically.
[0037] like Figure 2 As shown, the process design method of this embodiment includes operations S210 to S240, and the process design method can be executed sequentially.
[0038] In operation S210, based on the general node model, the process nodes of each process link in the business process are initially defined, and the process node is configured with a node ID.
[0039] In this embodiment, the node model settings include the following basic attributes: Node ID, globally unique for easy communication; for example, when a new business arrives, the description language can be simplified to performing a certain operation between node A and node B, which is concise, convenient, and reduces communication costs; Node name, mainly used to identify business functions; Node type, primarily used to subdivide business functions, and globally typed nodes can achieve capability expansion; Request parameters and return parameters, where request parameters cannot be modified throughout the process, while return parameters can be precisely customized according to business characteristics and functions; Business processing implementation object, the point that the actual business needs to focus on, ensuring data independence and cleanliness while keeping request parameters unchanged in a single process; Next node, used to build a chain structure. The node model provides users with a unified node attribute template, simplifying the node definition process.
[0040] In operation S220, business functions for each process node are constructed, and extended interfaces are defined in the process nodes. The extended interfaces are used to provide external calling functions for the process nodes, so that the business functions are implemented based on the external calling functions.
[0041] In the application embodiment, after obtaining the initial process node definitions, to improve the business process, business functions need to be built for each process node in the construction mode. Typical nodes in the business process include start nodes, end nodes, and widely applicable nodes established based on business functions, such as marketing, product, approval, and document submission nodes. This ensures that the entire process has a beginning and an end, and an overall business framework, providing a vertical perspective for technical and business personnel. These business nodes can include defining some common functional nodes, such as nodes requiring RPC calls, nodes requiring database queries, nodes requiring caching, nodes requiring data checks, nodes requiring interface callbacks, etc. Designing these common functional nodes allows for the construction of a relatively stable technical classification and architecture for the system, providing a horizontal perspective for technical personnel.
[0042] When defining the basic business functions of process nodes, the entire business process can be abstracted and orchestrated. At the same time, common functions can be abstracted and processed, and these common functions can be called based on extended interfaces, thereby achieving high cohesion and low coupling of node functions.
[0043] Operation S220 includes operations S221 to S222.
[0044] In operation S221, a linked list of process nodes is constructed based on the node ID. The linked list is used to define the execution order of process nodes and isolate the execution logic of the business functions of each process node.
[0045] In operation S222, define the business functions of the process nodes, and set at least one extended interface for the common functions in the business functions, defining at least one external calling object.
[0046] Linked lists are a fundamental and powerful data structure, particularly effective in process control and dynamic data management. They allow for the clear determination of node execution order based on node IDs. Each node in the list implements independent business logic through an interface, thus isolating the business logic of each process node, ensuring they are unaware of each other's implementation details, and allowing nodes to share necessary data. Managing process nodes using linked lists allows for process reorganization by modifying the list relationships (e.g., adding an audit node). New nodes only need to implement the interface, without modifying existing logic, simplifying the development process and making them suitable for medium to large-scale business systems that require frequent process changes.
[0047] Setting up extended interfaces for process nodes to call external functions can, on the one hand, reuse common functions across multiple process nodes, reduce the complexity of defining node business functions, improve the efficiency of process construction, achieve functional decoupling, and facilitate later maintenance; on the other hand, it also facilitates the expansion of other functions, such as calling the database.
[0048] For example, process nodes can be defined by marking three features through aspect capabilities: interface input and output, interface control (timeout, rate limiting configuration, exception handling), and interface implementation class. Only the consistency of interface input and output needs to be considered, so that interface switching is minimally noticeable.
[0049] Taking product information query as an example, four characteristics can be defined for process nodes marked by aspect capabilities: interface input / output, interface control (exception handling), extended interface, and product information. The extended interface is for functional expansion; for example, after a product query, it's necessary to mark whether certain products are restricted (quantity restrictions, weight / volume restrictions, logistics method restrictions), whether they are free gifts, or whether they are dangerous goods. These require designing product labels, and this node can be named "Product Feature Filling." The exact number of features, and how later business processes modify or add them, are all contained within this single node. On one hand, the effective limitations of node function descriptions reduce business complexity; on the other hand, the product feature interface provides multiple solutions. Product information is an aggregation node. In the entire product information processing process, the implementation of module functions is standardized, reducing business complexity.
[0050] In this embodiment, a standard and valid linked list is first constructed based on the unique ID. Then, targeted calls are made based on the node type. Assuming that an interface is injected, the input and output parameters are directly constructed based on the interface information at the node and left to the business personnel. The specific implementation of the interface is left to the relevant technical function maintainers. Thus, it can be concluded that the implementation of a single node is based on the classification template method design pattern and the builder design pattern. The main structure ensures the flow of nodes, and the functional implementation is completely handed over to the business implementation, ensuring high cohesion and low coupling of node functions.
[0051] Based on mainstream Java frameworks, the overall runtime capabilities of the frameworks are applied to the above process nodes. On the one hand, thread safety of data flow is guaranteed at the framework level, and on the other hand, memory consumption is reduced.
[0052] When operating S230, based on the processing requirements of the business process, an interruption label is set within the process node where the business processing is implemented. The interruption label is used to indicate the processing strategy when the process node is interrupted.
[0053] The Chain of Responsibility pattern is an object-oriented behavioral design pattern that allows requests to be passed along a chain of processes until a handler can process them. This pattern reduces coupling between nodes, allowing new request handling classes to be added as needed, adhering to the Open / Closed Principle. Adding new handling classes does not interfere with the normal operation of other nodes, ensuring non-intrusiveness. When workflows change, this pattern can dynamically modify the nodes in the chain, rearrange their order, and dynamically add or remove responsibilities. The Chain of Responsibility simplifies the connections between nodes. Each node only needs to maintain a reference to its successor, not references to all other handlers. This avoids the use of numerous if or if...else statements and language-level loops, ensuring unidirectional order. Each node only needs to handle its own assigned task, passing on tasks not required to the next node, clearly defining the scope of responsibility for each class, and conforming to the Single Responsibility Principle.
[0054] However, the chain of responsibility pattern cannot guarantee that every request will be processed. The design of interruption at process nodes is crucial to the success or failure of the chain of responsibility. Some nodes need to be interrupted quickly and returned directly (e.g., if the parameter check fails, a prompt message is given directly without specifying the specific item), while others need to complete the entire process (the prompt message needs to be specified with the specific item, such as some products being out of stock or having purchase limits, and the returned result still requires assembling a lot of data).
[0055] In this embodiment, by assigning an interruption label to each node, each node determines whether to continue execution and how to execute based on this label. This contradicts the general design philosophy, which considers adding layers to solve a problem and standardize the solution. However, for specific business scenarios, the more layers there are, the more difficult it becomes to understand. Using a labeling approach is the best solution derived from practice under high concurrency and large-scale business scenarios.
[0056] In this embodiment of the application, the interruption label is set using a policy pattern, including:
[0057] When the interruption label is a level 1 label, the process node is configured with a level 1 processing strategy. The level 1 processing strategy is to immediately interrupt the chain structure when the process node is interrupted.
[0058] When the interruption label is a second-level label, the process node is configured with a second-level processing strategy. The second-level processing strategy is to continue executing the chain structure and record the interruption error when the process node is interrupted.
[0059] When the interruption label is a level 3 label, the process node is configured with a level 3 processing strategy. The level 3 processing strategy is to continue the chain structure based on preset execution constraints when the process node is interrupted. The preset execution constraints are used to indicate the conditions for continuing the chain structure and the starting node for continuing the chain structure.
[0060] For example, in e-commerce order payment processes where risk control interception occurs, the pre-payment risk control node is configured with a primary tag. When the risk control system detects a high-risk transaction, it immediately terminates the execution of all subsequent nodes (such as not triggering payment, inventory deduction, etc.), and can also return a risk control rejection prompt to the user and generate a risk control event alarm (including transaction ID, risk type, etc.). Another example is the logistics waybill status update node, which is configured with a secondary tag. When a logistics node query times out (e.g., due to courier company interface anomaly), based on the secondary tag, an error log is recorded (including the failed node ID, timestamp, and error code), and the next node (such as the notification node or settlement node) continues execution, with the final response indicating some failure information. Yet another example is the insurance claims process, which is configured with a tertiary tag and the constraint "basic materials missing." The target is the material resubmission node. When incomplete materials are found during the initial review, the subsequent loss assessment node is skipped, and the system automatically jumps to the designated resubmission node, sending an SMS notification to the user to submit the missing materials.
[0061] It should be noted that within the same node, multiple interruption tags can be set for different interruption scenarios, allowing for different handling strategies. Setting interruption tags provides more flexibility in handling interruption events, enabling a more adaptable approach to various interruption situations, improving process efficiency, and reducing unnecessary interruptions.
[0062] When operating S240, all process nodes are linked together based on node ID to form a chain structure representing the business process.
[0063] In this embodiment, all process nodes in the linked list are connected in series based on node IDs to form a chain structure. In application scenarios where business processes change frequently, this design allows for process reorganization simply by modifying the nextId, providing flexible and adaptable management of process nodes. Node IDs can serve as natural tags for link tracing, enabling the generation of process topology diagrams for real-time tracking of process progress.
[0064] Furthermore, in this embodiment, instrumentation can be performed on each process node, and logging can be performed on multiple process nodes based on the instrumentation. The characteristics of the process nodes are logged, enabling lateral cross-sectional capabilities.
[0065] In this embodiment, when the length of the chain structure exceeds a preset value, the chain structure is split into multiple segments based on the business processing objects of each process node and then combined in parallel to form a parallel chain. For example, in an e-commerce order processing flow, when the chain structure exceeds a preset threshold (e.g., 10 nodes), the system automatically splits it according to the business domain, decomposing the original long chain into three sub-chains: a user verification chain (for identity verification, risk control checks, etc.), a product processing chain (for inventory locking, purchase limit verification, etc.), and a payment chain (for amount calculation, payment execution, etc.). Each sub-chain runs simultaneously through a thread pool, synchronously waiting for all sub-chains to complete. Each sub-chain transmits data through a shared object, and finally, the aggregation node verifies the results of all sub-chains. If the payment chain fails, a reverse compensation operation is triggered in the inventory chain. This method can ensure that local failures do not affect the core chain through sub-chain isolation, thereby improving the overall processing efficiency of the process.
[0066] To address the issues of fixed processing steps, limited processing performance, and high costs associated with customized process development and maintenance due to rapid business changes in existing workflows, this disclosure provides a process design method that simplifies the process into a node chain structure. Nodes are defined using a generic node model, simplifying the process definition process. Extended interfaces enable the reuse of common functions, simplifying node function definition and expanding node functionality. Setting interruption tags guides whether process processing continues, improving efficiency and significantly increasing the speed of business process streamlining. This simplifies business understanding and allows even beginners to quickly get started. The process tagging reduces communication costs between technical teams, providing a comprehensive and convenient scaffolding for rapid deployment in the early stages, frequent business changes in the mid-stage, business function streamlining in the later stages, and technical framework upgrades.
[0067] Based on the above process design method, this application also provides a process design apparatus. The following will be combined with... Figure 3 The device is described in detail.
[0068] Figure 3 A schematic block diagram of a process design apparatus according to an embodiment of this application is shown.
[0069] like Figure 3 As shown, the process design device 300 in this embodiment includes a node definition module 310, a function construction module 320, an interruption setting module 330, and a process construction module 340.
[0070] The node definition module 310 is used to initially define the process nodes of each process step in the business process based on a general node model, and the process nodes are configured with node IDs. In one embodiment, the node definition module 310 can be used to perform the operation S210 described above, which will not be repeated here.
[0071] The function building module 320 is used to build the business functions of each process node and define extension interfaces in the process nodes. The extension interfaces are used to provide external calling functions for the process nodes, so that the business functions are implemented based on the external calling functions. In one embodiment, the function building module 320 can be used to execute the operation S220 described above, which will not be repeated here.
[0072] The interrupt setting module 330 is used to set interrupt tags within the process nodes where business processing is implemented based on the processing requirements of the business process. The interrupt tags are used to indicate the processing strategy when an interruption occurs at a process node. In one embodiment, the interrupt setting module 330 can be used to perform the operation S230 described above, which will not be repeated here.
[0073] The process construction module 340 is used to connect all process nodes based on node IDs to form a chain structure representing the business process. In one embodiment, the process construction module 340 can be used to execute the operation S240 described above, which will not be repeated here.
[0074] According to embodiments of this application, any plurality of modules among the node definition module 310, function building module 320, interrupt setting module 330, and process building module 340 can be merged into one module, or any one of these modules can be split into multiple modules. Alternatively, at least part of the functionality of one or more of these modules can be combined with at least part of the functionality of other modules and implemented in one module. According to embodiments of this application, at least one of the node definition module 310, function building module 320, interrupt setting module 330, and process building module 340 can be at least partially implemented as hardware circuitry, such as a field-programmable gate array (FPGA), a programmable logic array (PLA), a system-on-a-chip, a system-on-a-substrate, a system-on-package, an application-specific integrated circuit (ASIC), or implemented in hardware or firmware by any other reasonable means of integrating or packaging circuitry, or implemented in software, hardware, or firmware, or in any suitable combination of any of these three implementation methods. Alternatively, at least one of the node definition module 310, function building module 320, interrupt setting module 330, and process building module 340 may be implemented at least partially as a computer program module, which can perform corresponding functions when the computer program module is run.
[0075] Figure 4 A block diagram schematically illustrates an electronic device suitable for implementing a process design method according to an embodiment of this application.
[0076] like Figure 4As shown, an electronic device 400 according to an embodiment of this application includes a processor 401, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 402 or a program loaded from a storage portion 408 into a random access memory (RAM) 403. The processor 401 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or an associated chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 401 may also include onboard memory for caching purposes. The processor 401 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of this application.
[0077] RAM 403 stores various programs and data required for the operation of electronic device 400. Processor 401, ROM 402, and RAM 403 are interconnected via bus 404. Processor 401 executes various operations of the method flow according to embodiments of this application by executing programs in ROM 402 and / or RAM 403. It should be noted that the programs may also be stored in one or more memories other than ROM 402 and RAM 403. Processor 401 may also execute various operations of the method flow according to embodiments of this application by executing programs stored in said one or more memories.
[0078] According to embodiments of this application, the electronic device 400 may further include an input / output (I / O) interface 405, which is also connected to a bus 404. The electronic device 400 may also include one or more of the following components connected to the input / output (I / O) interface 405: an input section 406 including a keyboard, mouse, etc.; an output section 407 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 408 including a hard disk, etc.; and a communication section 409 including a network interface card such as a LAN card, modem, etc. The communication section 409 performs communication processing via a network such as the Internet. A drive 410 is also connected to the input / output (I / O) interface 405 as needed. A removable medium 411, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on the drive 410 as needed so that computer programs read from it can be installed into the storage section 408 as needed.
[0079] This application also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or it may exist independently and not assembled into the device / apparatus / system. The computer-readable storage medium carries one or more programs, which, when executed, implement the method according to the embodiments of this application.
[0080] According to embodiments of this application, the computer-readable storage medium can be a non-volatile computer-readable storage medium, such as including but not limited to: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this application, the computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. For example, according to embodiments of this application, the computer-readable storage medium may include ROM 402 and / or RAM 403 and / or one or more memories other than ROM 402 and RAM 403 described above.
[0081] Embodiments of this application also include a computer program product comprising a computer program containing program code for performing the methods shown in the flowchart. When the computer program product is run on a computer system, the program code is used to enable the computer system to implement the flowchart design method provided in the embodiments of this application.
[0082] When the computer program is executed by the processor 401, it performs the functions defined in the system / apparatus of this application embodiment. According to the embodiments of this application, the systems, apparatuses, modules, units, etc., described above can be implemented by computer program modules.
[0083] In one embodiment, the computer program may rely on a tangible storage medium such as an optical storage device or a magnetic storage device. In another embodiment, the computer program may also be transmitted and distributed in the form of signals over a network medium, and downloaded and installed via communication section 409, and / or installed from removable medium 411. The program code contained in the computer program can be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination thereof.
[0084] In such an embodiment, the computer program can be downloaded and installed from a network via communication section 409, and / or installed from removable medium 411. When the computer program is executed by processor 401, it performs the functions defined in the system of this application embodiment. According to embodiments of this application, the systems, devices, apparatuses, modules, units, etc., described above can be implemented by computer program modules.
[0085] According to embodiments of this application, program code for executing the computer programs provided in the embodiments of this application can be written in any combination of one or more programming languages. Specifically, these computational programs can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include, but are not limited to, languages such as Java, C++, Python, "C", or similar programming languages. The program code can be executed entirely on the user's computing device, partially on the user's device, partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0086] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0087] Those skilled in the art will understand that the features described in the various embodiments of this application can be combined and / or combined in various ways, even if such combinations or combinations are not explicitly described in this application. In particular, the features described in the various embodiments of this application can be combined and / or combined in various ways without departing from the spirit and teachings of this application. All such combinations and / or combinations fall within the scope of this application.
Claims
1. A process design method, characterized in that, The method includes: Based on the general node model, the process nodes of each process step in the business process are initially defined, and the process nodes are configured with node IDs; Construct business functions for each process node, and define extension interfaces for each process node. The extension interfaces are used to provide external calling functions for the process nodes, so that the business functions are implemented based on the external calling functions. Based on the processing requirements of the business process, an interruption label is set in the process node where the business processing is performed. The interruption label is used to indicate the processing strategy when the process node is interrupted. All process nodes are linked together based on the node ID to form a chain structure representing the business process.
2. The method according to claim 1, characterized in that, The attributes of the initially defined process node include the node ID, node name, node type, request parameters and return parameters, business processing object, and next node ID.
3. The method according to claim 1, characterized in that, The construction of business functions for each process node, and the definition of extended interfaces for each process node, include: A linked list of process nodes is constructed based on the node ID. The linked list is used to define the execution order of the process nodes and isolate the execution logic of the business functions of each process node. Define the business functions of the process node, and set at least one of the extended interfaces for the common functions in the business functions, and define at least one external calling object.
4. The method according to claim 1, characterized in that, When setting the interrupt tag, the method includes: When the interruption label is a level 1 label, the process node is configured with a level 1 processing strategy. The level 1 processing strategy is to immediately interrupt the processing of the chain structure when the process node is interrupted. When the interruption label is a secondary label, the process node is configured with a secondary processing strategy. The secondary processing strategy is to continue executing the chain structure and record the interruption error when the process node is interrupted. When the interruption label is a level 3 label, the process node is configured with a level 3 processing strategy. The level 3 processing strategy is to continue executing the chain structure based on preset execution constraints when the process node is interrupted. The preset execution constraints are used to indicate the conditions for continuing to execute the chain structure and the starting node for continuing to execute the chain structure.
5. The method according to claim 1, characterized in that, The method further includes: Instrument each of the process nodes, and log the process nodes based on the instrumentation.
6. The method according to claim 1, characterized in that, The method further includes: When the length of the chain structure is greater than a preset value, the chain structure is split into multiple segments according to the business processing objects of each process node and then combined in parallel to form a parallel structure link.
7. A process design device, characterized in that, The device includes: The node definition module is used to initially define the process nodes of each process step in the business process based on a general node model, and the process nodes are configured with node IDs. The functional construction module is used to construct the business functions of each process node and define an extension interface in the process node. The extension interface is used to provide external calling functions for the process node, so that the business functions are implemented based on the external calling functions. An interruption setting module is used to set an interruption label within the process node where business processing is performed based on the processing requirements of the business process. The interruption label is used to indicate the processing strategy when the process node is interrupted. The process construction module is used to connect all the process nodes based on the node ID to form a chain structure representing the business process.
8. An electronic device, comprising: One or more processors; Memory, used to store one or more computer programs. The characteristic feature is that the one or more processors execute the one or more computer programs to implement the steps of the method according to any one of claims 1 to 6.
9. A computer-readable storage medium having a computer program or instructions stored thereon, characterized in that, When the computer program or instructions are executed by a processor, they implement the steps of the method according to any one of claims 1 to 6.
10. A computer program product, comprising a computer program or instructions, characterized in that, When the computer program or instructions are executed by a processor, they implement the steps of the method according to any one of claims 1 to 6.