Flow dynamic configuration management method, device, equipment and program product

By using a dynamic configuration management method, the messages, pages, and logic of process nodes can be dynamically configured, which solves the problem of poor flexibility in existing process management systems and improves the flexibility and maintainability of process management.

CN121563408APending Publication Date: 2026-02-24CHINA ENERGY ENG GRP GUANGDONG ELECTRIC POWER DESIGN INST CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511518716.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-10-23
Publication Date
2026-02-24

AI Technical Summary

Technical Problem

Existing process management systems use static process definitions, resulting in poor system flexibility, high maintenance costs, and difficulty in supporting users to customize complex business logic and make frequent changes.

Method used

Through dynamic configuration management, it supports the dynamic configuration of message templates, form pages and business logic of process nodes. By using dynamic message configuration instructions, page configuration instructions and code execution instructions, it realizes the dynamic loading and execution of process files and supports hot updates of external compressed packages.

Benefits of technology

It enhances the flexibility and maintainability of process management, adapts to business needs in most scenarios, and is particularly suitable for design process management scenarios that require frequent changes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121563408A_ABST
    Figure CN121563408A_ABST
Patent Text Reader

Abstract

The invention discloses a process dynamic configuration management method and device, equipment and a program product. The method comprises the steps of obtaining a to-be-configured process file; in response to a dynamic message configuration instruction, performing dynamic message configuration on the to-be-configured process file to obtain an initial process file; in response to a dynamic page configuration instruction, performing form page association processing on task nodes of the initial process file to obtain an associated process file; and in response to a dynamic code execution instruction, carrying out dynamic code loading and execution processing on the associated process file to obtain a target process file. According to the embodiment of the invention, the flexibility and expansibility of process management can be improved, and the method can be widely applied to the technical field of process management.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of process management technology, and in particular to a method, apparatus, equipment and program product for dynamic configuration management of processes. Background Technology

[0002] In modern enterprise information systems, Business Process Management (BPM) systems are widely used in project management, approval processes, design process management, and other fields. In related technologies, process management typically uses static process definitions, where the behavior of process nodes is fixed at deployment time. Any changes require a system restart, resulting in poor system flexibility, high maintenance costs, and impacting the efficiency of process management.

[0003] In summary, the technical problems existing in the relevant technologies need to be improved. Summary of the Invention

[0004] The main objective of this application is to propose a method, apparatus, device, and program product for dynamic process configuration management, which can improve the efficiency of process management.

[0005] To achieve the above objectives, one aspect of this application proposes a method for dynamic process configuration management, the method comprising: Obtain the process file to be configured; In response to the dynamic message configuration command, the process file to be configured is dynamically configured to obtain the initial process file; In response to the dynamic page configuration command, form page association processing is performed on the task nodes of the initial process file to obtain the associated process file; In response to the dynamic code execution instruction, the associated process file is dynamically loaded and executed to obtain the target process file.

[0006] In some embodiments, the step of dynamically configuring the process file to be configured in response to a dynamic message configuration instruction to obtain an initial process file includes the following steps: In response to the dynamic message configuration command, a message template configuration page corresponding to the task node or branch condition line of the process file to be configured is displayed. The initial process file is obtained by dynamically configuring the task node or branch condition line through the message template configuration page.

[0007] In some embodiments, the step of dynamically configuring the task node or branch condition line through the message template configuration page to obtain the initial process file includes the following steps: The message receiving target is configured by configuring the task node or branch condition line through the message template configuration page to obtain the receiving target. The task node or branch condition line is configured with a topic and content, and the configured topic and content are connected according to the connection symbol to obtain the connection content. Based on the attributes of the connected content, the project flow content is extracted and combined to obtain the combined content; Set the message type for the combined content to obtain the initial process file.

[0008] In some embodiments, the step of performing form page association processing on the task nodes of the initial process file in response to a dynamic page configuration instruction to obtain an associated process file includes the following steps: In response to the dynamic page configuration command, the task nodes of the initial process file are configured to obtain a selection list; The selection list is specified and dynamically loaded to obtain page resources; Based on the page resources, the task nodes are associated with the corresponding page to obtain the associated process file.

[0009] In some embodiments, the step of dynamically loading and executing the associated process file in response to a dynamic code execution instruction to obtain a target process file includes the following steps: In response to the dynamic code execution instruction, the task nodes of the associated process file are selected for compression to obtain the target compressed package; The target class is obtained by dynamically loading the classes in the target compressed package using a class loader. The associated process file is processed by code execution according to the target class to obtain the target process file.

[0010] In some embodiments, the step of performing code execution processing on the associated process file according to the target class to obtain the target process file includes the following steps: The business logic is executed on the associated process file according to the interface methods of the target class to obtain the business logic; Based on the return value of the target class, the associated process file is subjected to conditional jump processing to obtain the jump conditions; The associated process file is configured and managed according to the business logic and the jump conditions to obtain the target process file.

[0011] In some embodiments, the method further includes the following steps: The target compressed package is subjected to update detection processing. When an updated compressed package is detected, an update class loader instance corresponding to the updated compressed package is created. The target process file is hot-updated using the update class loader instance.

[0012] To achieve the above objectives, another aspect of this application provides a process dynamic configuration management device, the device comprising: The process acquisition module is used to acquire the process file to be configured; The message configuration module is used to respond to dynamic message configuration instructions to perform dynamic message configuration on the process file to be configured, so as to obtain the initial process file; The page configuration module is used to respond to dynamic page configuration instructions and perform form page association processing on the task nodes of the initial process file to obtain the associated process file; The code execution module is used to dynamically load and execute the associated process file in response to dynamic code execution instructions to obtain the target process file.

[0013] To achieve the above objectives, another aspect of this application provides an electronic device, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the method described above.

[0014] To achieve the above objectives, another aspect of the embodiments of this application proposes a computer-readable storage medium storing a computer program that, when executed by a processor, implements the methods described above.

[0015] The embodiments of this application include at least the following beneficial effects: This application provides a method, apparatus, device, and program product for dynamic configuration management of processes. This solution configures and executes message templates on user task nodes or branches, and can also dynamically load and render task-related form pages. It enables dynamic configuration of messages, pages, and logic for process nodes, adapting to business needs in most scenarios. Furthermore, this solution can also load external compressed packages to achieve dynamic execution of business logic, improving the flexibility and maintainability of process management, and is particularly suitable for scenarios requiring frequent process changes, such as design process management. Attached Figure Description

[0016] Figure 1 This is a schematic diagram of an implementation environment provided in the embodiments of this application; Figure 2 This is a flowchart of a dynamic configuration management method for processes provided in an embodiment of this application; Figure 3 This is a schematic diagram of the structure of a process dynamic configuration management device provided in an embodiment of this application; Figure 4 This is a schematic diagram of the hardware structure of the electronic device provided in the embodiments of this application. Detailed Implementation

[0017] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit it. In the following description, when referring to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with those of this application; they are merely examples of apparatuses and methods consistent with some aspects of the embodiments of this application as detailed in the appended claims.

[0018] It is understood that the terms “first,” “second,” etc., used in this application may be used herein to describe various concepts, but unless otherwise stated, these concepts are not limited by these terms. These terms are only used to distinguish one concept from another. For example, without departing from the scope of the embodiments of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the words “if,” “when,” or “in response to a determination” as used herein may be interpreted as “when…” or “when…” or “in response to a determination.”

[0019] As used in this application, the terms "at least one", "multiple", "each", "any", etc., "at least one" includes one, two or more, "multiple" includes two or more, "each" refers to each of the corresponding multiples, and "any" refers to any one of the multiples.

[0020] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0021] Before providing a detailed description of the embodiments of this application, some of the nouns and terms involved in the embodiments of this application will be explained first. The nouns and terms involved in the embodiments of this application are subject to the following interpretations.

[0022] Business Process Management (BPM) is a management approach centered on the standardized construction of end-to-end business processes, aiming to continuously improve organizational business performance. The goal of BPM is to ensure the efficient execution and continuous improvement of all enterprise activities through the identification, modeling, analysis, optimization, and monitoring of business processes.

[0023] Business Process Modeling Notation (BPMN) is a set of standardized specifications that outline how graphical elements are combined to form a business process diagram. This diagram is based on a flowcharting diagram designed to create a graphical model of business process operations. A business process model is a network of graphical objects, including activities and flowcontrols that define the execution order of these activities.

[0024] In related technologies, process management systems typically use static process definitions (BPMN files). The behavior of process nodes (such as form pages, message notifications, and business logic) is fixed at the time of deployment. Any changes require a system restart, resulting in poor system flexibility and high maintenance costs.

[0025] For example, the form pages, message templates, and business logic of process nodes are typically implemented in the following ways. Related technologies use hard-coding to configure form pages on the front end or through static HTML files, sending message notifications via fixed templates or code logic. In practice, it has been found that the pages, messages, and logic of process nodes cannot be dynamically modified at runtime, and each change requires repackaging and deployment, making it difficult to support user-defined complex business logic.

[0026] In view of this, this application provides a method, apparatus, device and program product for dynamic configuration management of processes. This solution supports dynamic configuration of message templates, form pages and condition variables at runtime by extending the dynamic configuration capabilities of user task nodes and branch condition lines. It also enables dynamic execution of business logic by loading external JAR packages without restarting the system, thus improving the flexibility and maintainability of process management. It is particularly suitable for scenarios such as design process management where frequent process changes are required.

[0027] This application provides a method for dynamic configuration management of processes, relating to the field of process management technology. This method can be applied to a terminal, a server, or software running on either a terminal or a server. In some embodiments, the terminal can be a smartphone, tablet, laptop, desktop computer, smart speaker, smartwatch, or in-vehicle terminal, but is not limited to these. The server can be configured as an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The server can also be a node server in a blockchain network. The software can be an application implementing a dynamic configuration management method, but is not limited to the above forms.

[0028] This application can be used in a wide variety of general-purpose or special-purpose computer system environments or configurations. Examples include: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics devices, network PCs, minicomputers, mainframe computers, and distributed computing environments including any of the above systems or devices. This application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform specific tasks or implement specific abstract data types. This application can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.

[0029] Figure 1 This is a schematic diagram illustrating the implementation environment of a method provided in an embodiment of this application. (Refer to...) Figure 1 The main hardware and software components of this implementation environment include a terminal 101 and a server 102, which are communicatively connected. The method can be executed based on the interaction between the terminal 101 and the server 102. Furthermore, the terminal 101 and the server 102 can be nodes in a blockchain; this embodiment does not specifically limit this.

[0030] Figure 2 This is an optional flowchart of a dynamic configuration management method for processes provided in an embodiment of this application. Figure 2 The method may include, but is not limited to, steps S201 to S204.

[0031] Step S201: Obtain the process file to be configured; Step S202: In response to the dynamic message configuration instruction, perform dynamic message configuration on the process file to be configured to obtain the initial process file; Step S203: In response to the dynamic page configuration instruction, form page association processing is performed on the task nodes of the initial process file to obtain the associated process file; Step S204: In response to the dynamic code execution instruction, the associated process file is dynamically loaded and executed to obtain the target process file.

[0032] Steps S201 to S204 of this embodiment involve obtaining a process file to be configured and dynamically configuring and managing the process file in response to different instructions. Specifically, dynamic message configuration instructions are used to dynamically configure messages in the process file to be configured. This allows setting the message type, message topic, and message content for task nodes or branches in the process file to move to the next stage, enabling dynamic configuration of task nodes and adapting to business needs in most scenarios. This embodiment also uses dynamic page configuration instructions to associate form pages with task nodes in the initial process file, enabling dynamic loading and rendering of task-associated form pages. Furthermore, this embodiment uses dynamic code execution instructions to dynamically load and execute code in associated process files, allowing loading of external compressed packages and execution of their business logic classes, thereby improving the flexibility and maintainability of process management.

[0033] In step S101 of some embodiments, a file retrieval request can be initiated to a specified local storage path, cloud storage service, or business process library in response to an initialization operation triggered by the user in the process configuration interface. The original configuration file encapsulating the process logic can be read or received from the source address via a predefined application programming interface call or file transfer protocol. The process file to be configured includes, but is not limited to, process definition data described in JSON, XML, YAML, or BPMN 2.0 standard XML format. After successfully retrieving the file, its format and integrity are verified, and the verified file content is loaded into a temporary workspace in system memory for subsequent consumption and processing by the process parsing and configuration engine.

[0034] In step S102 of some embodiments, the step of dynamically configuring the process file to be configured in response to the dynamic message configuration instruction to obtain the initial process file includes the following steps: In response to the dynamic message configuration command, a message template configuration page corresponding to the task node or branch condition line of the process file to be configured is displayed. The initial process file is obtained by dynamically configuring the task node or branch condition line through the message template configuration page.

[0035] In this embodiment, the dynamic message configuration instruction refers to the trigger signal of the configuration process. In the process design interface, it is a structured data object generated through graphical interactive operations, such as right-clicking a specific process element and selecting "Configure Message". In some embodiments, this instruction embeds the unique identifier (ID) and type (node ​​or connection) of the target element. By parsing this instruction, the system can accurately locate the process component that needs to be configured and activate the corresponding configuration logic. A task node is an entity defined in the process file that represents an independent work unit or operation step. In the graphical interface, it is usually represented by an interactive graphical element (such as a rectangle icon). Functionally, a task node can represent a specific business activity such as "supervisor approval", "data verification", or "notification of shipment", and is one of the main attachment points for dynamic message configuration. A branch condition line is a vector element defined in the process file that connects different task nodes to represent the flow direction. In the graphical interface, it is usually represented by arrows or connecting lines between nodes. Essentially, it's a conditional judgment logic. The system determines the execution path of the process based on the Boolean conditions set in this line, such as "IF order amount > 10000". It can also be a key location for configuring conditional messages, such as generating a "large order has been generated" alert. The message template configuration page is a dynamically rendered graphical user interface (GUI) component for human-computer interaction. This page is built using front-end technologies such as HTML5, Vue, or React. Its form fields can use input boxes, drop-down menus, etc., and are bound to the dynamic attributes of the currently selected task node or branch condition line. The page typically has pre-set editable message content templates, message type options, trigger time, recipient variables, and other configuration items. Message type options can include email, SMS, internal messages, etc., and trigger time can be selected as "when node completion" or "when condition met".

[0036] Specifically, the system listens for user selection operations on interface elements (such as node icons or connecting lines) of specific task nodes or branch condition lines in the process designer, and parses the dynamic message configuration instructions triggered by this, which contain the unique identifier of the element; subsequently, based on the identifier, the system retrieves and calls the associated HTML5 or Vue.js component from the preset message template library, renders and pops up an independent message template configuration page in the graphical user interface, and dynamically binds the structured form fields of the page to the selected process element.

[0037] Then, in this embodiment of the application, the user receives configuration data for message content templates, message types (such as email, SMS, and in-site messages), triggering events (such as node activation, task completion, and condition fulfillment), and receiver variable expressions through the input controls provided on the configuration page. The system uses its message template engine to associate and encapsulate the configuration data with the corresponding process elements, generating or updating a configuration data object that conforms to the original format (such as JSON or BPMN 2.0 XML) of the process file to be configured. Finally, the system serializes and persists this configuration data object to the corresponding metadata segment of the process file, thereby generating an initial process file that integrates dynamic messaging capabilities.

[0038] In this embodiment, dynamic message configuration instructions enable message configuration for task nodes or conditional jump branches in a workflow file. This separates communication logic from business workflow logic, reducing coupling between system modules and improving architectural clarity and maintainability. Furthermore, this embodiment allows for quick definition or modification of message rules for any task node or conditional branch via a graphical interface. When business rules change, such as changes in approvers or adjustments to alarm conditions, a rapid response can be achieved by reconfiguring message templates, enabling agile responses to business needs and significantly enhancing the system's adaptability and flexibility.

[0039] In some embodiments, the step of dynamically configuring the task node or branch condition line through the message template configuration page to obtain the initial process file includes the following steps: The message receiving target is configured by configuring the task node or branch condition line through the message template configuration page to obtain the receiving target. The task node or branch condition line is configured with a topic and content, and the configured topic and content are connected according to the connection symbol to obtain the connection content. Based on the attributes of the connected content, the project flow content is extracted and combined to obtain the combined content; Set the message type for the combined content to obtain the initial process file.

[0040] In this embodiment of the application, one or more static user identifiers or dynamic expressions referencing process context variables are received by the user in the recipient configuration form field provided on the message template configuration page. The system uses its receiving target parser to perform syntax verification and permission pre-check on the input, and formats it into a standardized receiving target list data structure, which serves as the final basis for message delivery.

[0041] Specifically, in this embodiment of the application, user-defined text is received through independent topic input boxes and content text boxes in the configuration page. The text may contain embedded process variable placeholders. Subsequently, the system calls the content building engine and, based on predefined connection symbols, concatenates and formats the topic text and content text after variable parsing to generate a semantically coherent and structurally unified string.

[0042] This application embodiment also analyzes the metadata attributes of the connected content, such as the associated process ID, node ID, and configuration timestamp, and uses these as keys to query or extract the corresponding project flow content, such as project name, current processing stage, and key business data, from the currently executing process instance in real time. Through template string replacement or structured data binding, the project flow content is dynamically injected into the corresponding placeholder positions in the connected content, generating a context-rich, information-complete, and tightly bound combined content to a specific process instance.

[0043] For example, this application embodiment also receives the user's specification of the carrier for the combined content through the message type drop-down selector on the configuration page, wherein the message type includes, but is not limited to, email, SMS, site notification or instant messaging message; according to the selected type, the system calls the corresponding message protocol adapter, such as SMTP adapter, SMS gateway API wrapper, etc., to encapsulate the combined content and the "receiving target" together into a message payload that conforms to the requirements of the protocol; finally, this payload is used as an extended attribute of the process element, serialized and persisted to the metadata of the process file to be configured, thereby generating a fully functional initial process file.

[0044] In some feasible embodiments, dynamic message configuration processing for task nodes or branch condition lines is performed through a message template configuration page. This allows communication logic to be separated from core business logic through an independent message template configuration page, making communication rules an external resource that can be independently managed, configured, and reused. The embodiments of this application eliminate the burden of modifying, testing, and redeploying core process code due to changes in message format or recipients, significantly reducing system complexity and maintenance costs.

[0045] In some embodiments, the step of performing form page association processing on the task nodes of the initial process file in response to a dynamic page configuration instruction to obtain an associated process file includes the following steps: In response to the dynamic page configuration command, the task nodes of the initial process file are configured to obtain a selection list; The selection list is specified and dynamically loaded to obtain page resources; Based on the page resources, the task nodes are associated with the corresponding page to obtain the associated process file.

[0046] In this embodiment, the system listens to the user's configuration operations on interface elements of a specific task node, such as icons or attribute panels, in the process design interface, and parses the dynamic page configuration instructions triggered by this, which contain the unique identifier of the node. Based on the instructions, the system accesses a pre-set UI component library or page template library, and filters and matches the resource page library based on the type attribute of the task node, such as the type attribute being an approval task or a data entry task, through the business attribute and business context, and finally generates a structured selection list that contains multiple available page component identifiers for the user to choose from.

[0047] Specifically, in this embodiment of the application, a selection list is presented through a graphical interactive interface, and the user makes a specified selection from the list. Based on the selection, the system initiates an asynchronous request to the corresponding resource server or static resource repository to dynamically load the front-end resource file corresponding to the selected component identifier. These resource files include, but are not limited to, Vue / React component modules, CSS style sheets, and JSON configuration files, which together constitute the page resources that can be rendered at runtime.

[0048] In some embodiments, this application uses a page association engine to create a logical binding relationship between task nodes and page resources. This relationship is serialized and injected into the definition of the corresponding task node in the initial process file in the form of a resource path mapping table or inline metadata. Finally, an association process file with enhanced UI expressiveness is generated, so that when the process executes to the task node, the engine can dynamically render the specified form page according to this association relationship.

[0049] This application embodiment dynamically loads and renders task-related form pages, enabling the system to dynamically load the minimum form page resources required for a specific task node only when the process reaches that node. This significantly reduces initial load time, lowers continuous browser memory usage, and allows the system to start up quickly and run smoothly. Furthermore, this application embodiment separates business logic (process) from presentation logic (UI), allowing for parallel front-end and back-end development, a clearer system architecture, and improved maintainability and scalability of process management.

[0050] In some embodiments, the step of dynamically loading and executing the associated process file in response to a dynamic code execution instruction to obtain a target process file includes the following steps: In response to the dynamic code execution instruction, the task nodes of the associated process file are selected for compression to obtain the target compressed package; The target class is obtained by dynamically loading the classes in the target compressed package using a class loader. The associated process file is processed by code execution according to the target class to obtain the target process file.

[0051] In this embodiment, by listening to the user's triggering operation of the code configuration entry point of a specific task node in the process designer, and parsing the resulting dynamic code execution instruction containing the unique ID of the node; the system can access a preset code resource library or local file system according to the dynamic code execution instruction, and receive the user's selection operation of the package that conforms to the specification, such as JAR, ZIP or specific format, through a graphical browsing and selection interface, and confirm the selected package as the target compressed package for subsequent processing.

[0052] This application embodiment also uses a custom class loader to read byte streams from the storage path where the target compressed package is located; then, the loader parses the internal structure of the compressed package, locates the predefined entry class or the fully qualified class name specified by the user, and performs a series of steps such as loading, linking (verification, preparation, resolution) and initialization; finally, the corresponding java.lang.Class object or equivalent class metadata information in other languages ​​is loaded into the JVM (or equivalent runtime environment) as the target class that can be called by the reflection mechanism.

[0053] The system uses Java reflection or a script engine to obtain a specified method in the target class and create an instance. Then, it passes the context data of the current process instance as a parameter and calls the method. The method executes custom business logic, and its return value or modification of process variables will be captured by the system. Finally, the system serializes and persists these execution results to the metadata of the associated process file, or directly drives the process to a new path, thereby generating a target process file with enhanced functionality that is deeply integrated with custom dynamic logic.

[0054] This application embodiment allows for the injection of complex and variable business logic into specific task nodes by uploading a compressed package without restarting the process engine or redeploying the entire application, greatly enhancing the dynamism, flexibility, and scalability of the process.

[0055] In some embodiments, the step of performing code execution processing on the associated process file according to the target class to obtain the target process file includes the following steps: The business logic is executed on the associated process file according to the interface methods of the target class to obtain the business logic; Based on the return value of the target class, the associated process file is subjected to conditional jump processing to obtain the jump conditions; The associated process file is configured and managed according to the business logic and the jump conditions to obtain the target process file.

[0056] In this embodiment, a specific interface method predefined in the target class is obtained and invoked through Java reflection mechanism or dynamic proxy technology. When invoking, the context data of the current process instance is passed as a parameter, and the interface method performs custom calculations, data processing or external service calls accordingly. The core operation rules and decision-making process contained in the execution of this method are encapsulated by the system and recorded as business logic that can be identified and tracked.

[0057] The system captures the return value object of the interface method, which contains key business data that determines the direction of the process; it then parses the return value through a conditional rule engine and maps it to a Boolean expression or route identifier that the process engine can understand according to predefined mapping rules; finally, it generates a clear jump condition that drives the process branch.

[0058] This application embodiment uses a process configuration manager to serialize the business logic and jump conditions generated in the aforementioned steps into a complete set of dynamic behavior configurations, and then injects this metadata into the definition of the corresponding task node in the associated process file, making it part of the process itself. Finally, an enhanced target process file integrating intelligent decision-making and automated routing capabilities is generated. When the process executes to this node, the associated code logic will be automatically triggered, and the process will automatically jump to the correct branch based on its return result.

[0059] This application's embodiments achieve seamless integration of dynamic code and static processes. By internalizing a complex decision-making process that originally required external system intervention into a native, automatically executable step of the process, it defines an intelligent process with self-decision-making and self-routing capabilities, realizing a deep closed loop between business logic and process control.

[0060] In some embodiments, the method further includes the following steps: The target compressed package is subjected to update detection processing. When an updated compressed package is detected, an update class loader instance corresponding to the updated compressed package is created. The target process file is hot-updated using the update class loader instance.

[0061] In this embodiment, the ActivitiEventListener of the Activiti 6 process engine can be used to listen for and respond to various events that occur during the operation of the process engine, thereby enabling capabilities such as message template parsing and sending, variable control, and execution of custom JARs. This embodiment can periodically or based on event triggering, such as file system notification events, check the version status of the target compressed package in a pre-configured resource repository, such as a Maven repository or file server. This service performs update detection by comparing the MD5 / SHA-1 hash value of the locally cached compressed package with the hash value of the corresponding package in the remote repository, or by parsing its version number metadata. Once a version difference is detected, it is determined that an updated compressed package exists, and the system then calls its class loader factory to create a completely new, independent class loader instance based on the byte stream of the updated compressed package. This updated class loader instance is isolated from the old version class loader, following the parent-child delegation model of Java class loading, but ensuring the coexistence and isolation of new and old class definitions. Without interrupting the currently running process instance, the system loads and initializes the new version of the target class in the update package through the update class loader instance. Subsequently, the system uses its hot update coordinator to dynamically route subsequent new process instances, or those currently executing corresponding task nodes, to the newly loaded class version to execute their business logic. For existing process instances, the system can decide whether to continue using the old class or gracefully migrate to the new class based on its strategy. Ultimately, this process achieves dynamic replacement and upgrade of business logic without restarting the application server or process engine.

[0062] This application embodiment achieves business-level hot-swapping by creating isolated class loaders and dynamic routes, solving the problem that old and new versions of code cannot coexist during emergency repairs or canary releases, and meeting the stringent requirements of high-availability scenarios such as finance and telecommunications.

[0063] The following is a detailed description and explanation of the solutions in the embodiments of this application, using specific application examples: This application's embodiments can be applied to process management scenarios such as fintech and transaction systems, e-commerce and promotional activity management. Specifically, in payment processing, risk control, or quantitative trading strategies, business rules need to be quickly adjusted according to market changes or regulatory requirements. When the risk control team discovers a new fraud pattern, this application's embodiments can package the new detection logic into an update compressed package. After the system detects it, it automatically creates a new class loader and loads the new rules. New payment requests will immediately apply the new rules for risk control, while the payment process currently being processed remains unaffected and continues to complete. This achieves zero-downtime updates to risk control strategies, ensuring fund security and business continuity. For example, in large-scale promotional activities, coupon calculation, discount strategies, and inventory allocation rules may need to be dynamically adjusted based on real-time sales. This application's embodiments can urgently deploy a new "flash sale" qualification verification logic to deal with sudden scalping. Through hot updates, the new verification rules take effect within seconds without restarting the entire order system, avoiding the risk of service unavailability and data inconsistency that may result from restarting during peak periods.

[0064] This embodiment of the application, based on the Activiti 6 process engine, allows configuration of message templates on user task nodes or branches. Accessing the extended configuration page allows configuration of information recipients and message content. Recipients are categorized as receivers and copy recipients. Message content can be set with message type, message subject, and content. The message subject and content are combined based on connector symbols and extracted from project flow content based on matching attribute content. Different message types are sent differently. Furthermore, the form page associated with the user task node can be specified via a selection list. This selection list originates from all configuration pages in the system, and the corresponding page is selected in the extended configuration of the task node to associate the form page. Page resources can be dynamically loaded from remote services, databases, or object storage, supporting hot updates. This embodiment also supports selecting a JAR package input box in the user task to retrieve JAR packages from the JAR package management list, enabling configuration of external JAR package paths. A custom class loader (URLClassLoader) dynamically loads classes from the JAR package, calling the interface methods of the specified classes to execute business logic. Moreover, after updating the JAR package, the system can automatically or manually reload it without restarting the system. The branch condition lines in this embodiment support configuring custom variables and returning boolean values ​​through dynamically loaded Java classes to implement complex conditional jump logic. All configuration information (messages, pages, JAR paths) in this embodiment can be managed through process definition extension attributes (extensionElements) or external metadata. A visual configuration interface is provided, allowing administrators to dynamically modify node behavior. At any node, the node's visual page can be modified, and it updates automatically after modification.

[0065] This application embodiment extends the dynamic configuration capabilities of user task nodes and branch condition lines, supports runtime dynamic configuration of message templates, form pages, and condition variables, and achieves dynamic execution of business logic by loading external JAR packages without restarting the system. It can solve the problems of inflexible process node configuration, non-dynamic loading of business logic, and the need to restart the system in the prior art, and improve the flexibility, maintainability, and scalability of the design process management process.

[0066] Please see Figure 3 This application also provides a process dynamic configuration management device, which can implement the above-mentioned process dynamic configuration management method. The device includes: The process acquisition module 301 is used to acquire the process file to be configured. The message configuration module 302 is used to perform dynamic message configuration on the process file to be configured in response to the dynamic message configuration instruction, so as to obtain the initial process file; Page configuration module 303 is used to respond to dynamic page configuration instructions to perform form page association processing on the task nodes of the initial process file to obtain the associated process file; The code execution module 304 is used to dynamically load and execute the associated process file in response to the dynamic code execution instruction to obtain the target process file.

[0067] It is understood that the content of the above method embodiments is applicable to the present device embodiments. The specific functions implemented by the present device embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.

[0068] This application also provides an electronic device, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the above-described method. This electronic device can be any smart terminal, including tablet computers, in-vehicle computers, etc.

[0069] It is understood that the content of the above method embodiments is applicable to this device embodiment. The specific functions implemented by this device embodiment are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.

[0070] Please see Figure 4 , Figure 4 The hardware structure of an electronic device according to another embodiment is illustrated. The electronic device includes: The processor 401 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this application. The memory 402 can be implemented as a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 402 can store the operating system and other applications. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in the memory 402 and is called and executed by the processor 401. Input / output interface 403 is used to implement information input and output; The communication interface 404 is used to enable communication and interaction between this device and other devices. Communication can be achieved through wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.). Bus 405 transmits information between various components of the device (e.g., processor 401, memory 402, input / output interface 403, and communication interface 404); The processor 401, memory 402, input / output interface 403 and communication interface 404 are connected to each other within the device via bus 405.

[0071] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described method.

[0072] It is understood that the content of the above method embodiments is applicable to this storage medium embodiment. The specific functions implemented in this storage medium embodiment are the same as those in the above method embodiments, and the beneficial effects achieved are also the same as those achieved in the above method embodiments.

[0073] Memory, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs. Furthermore, memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, memory may optionally include memory remotely located relative to the processor, and these remote memories can be connected to the processor via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

[0074] This application provides a method, apparatus, device, and program product for dynamic configuration management of processes. The messages, pages, and logic of process nodes can be dynamically configured to adapt to business needs in most scenarios. Furthermore, it allows dynamic loading of JAR packages, supports hot updates, and improves system availability. The business logic and process engine of this application are decoupled, facilitating independent development and testing. It also enables the implementation of advanced logic such as "rejection redirection" through variables and custom code, and supports user-defined JAR packages, allowing the integration of arbitrary Java logic and enhancing the scalability of process management.

[0075] The embodiments described in this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided by the embodiments of this application. As those skilled in the art will know, with the evolution of technology and the emergence of new application scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems.

[0076] Those skilled in the art will understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of this application, and may include more or fewer steps than shown, or combine certain steps, or different steps.

[0077] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.

[0078] Those skilled in the art will understand that all or some of the steps in the methods disclosed above, as well as the functional modules / units in the systems and devices, can be implemented as software, firmware, hardware, or suitable combinations thereof.

[0079] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0080] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.

[0081] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of the units described above is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0082] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0083] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0084] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes multiple instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing programs, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0085] The preferred embodiments of the present application have been described above with reference to the accompanying drawings, but this does not limit the scope of the claims of the present application. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and substance of the embodiments of the present application shall be within the scope of the claims of the present application.

Claims

1. A method for dynamic configuration management of processes, characterized in that, The method includes the following steps: Obtain the process file to be configured; In response to the dynamic message configuration command, the process file to be configured is dynamically configured to obtain the initial process file; In response to the dynamic page configuration command, form page association processing is performed on the task nodes of the initial process file to obtain the associated process file; In response to the dynamic code execution instruction, the associated process file is dynamically loaded and executed to obtain the target process file.

2. The method according to claim 1, characterized in that, The step of dynamically configuring the process file to be configured in response to the dynamic message configuration instruction to obtain the initial process file includes the following steps: In response to the dynamic message configuration command, a message template configuration page corresponding to the task node or branch condition line of the process file to be configured is displayed. The initial process file is obtained by dynamically configuring the task node or branch condition line through the message template configuration page.

3. The method according to claim 2, characterized in that, The step of dynamically configuring the task node or branch condition line through the message template configuration page to obtain the initial process file includes the following steps: The message receiving target is configured by configuring the task node or branch condition line through the message template configuration page to obtain the receiving target. The task node or branch condition line is configured with a topic and content, and the configured topic and content are connected according to the connection symbol to obtain the connection content. Based on the attributes of the connected content, the project flow content is extracted and combined to obtain the combined content; Set the message type for the combined content to obtain the initial process file.

4. The method according to claim 1, characterized in that, The step of responding to the dynamic page configuration instruction and performing form page association processing on the task nodes of the initial process file to obtain the associated process file includes the following steps: In response to the dynamic page configuration command, the task nodes of the initial process file are configured to obtain a selection list; The selection list is specified and dynamically loaded to obtain page resources; Based on the page resources, the task nodes are associated with the corresponding page to obtain the associated process file.

5. The method according to claim 1, characterized in that, The step of dynamically loading and executing the associated process file in response to a dynamic code execution instruction to obtain a target process file includes the following steps: In response to the dynamic code execution instruction, the task nodes of the associated process file are selected for compression to obtain the target compressed package; The target class is obtained by dynamically loading the classes in the target compressed package using a class loader. The associated process file is processed by code execution according to the target class to obtain the target process file.

6. The method according to claim 5, characterized in that, The step of performing code execution processing on the associated process file according to the target class to obtain the target process file includes the following steps: The business logic is executed on the associated process file according to the interface methods of the target class to obtain the business logic; Based on the return value of the target class, the associated process file is subjected to conditional jump processing to obtain the jump conditions; The associated process file is configured and managed according to the business logic and the jump conditions to obtain the target process file.

7. The method according to claim 5, characterized in that, The method further includes the following steps: The target compressed package is subjected to update detection processing. When an updated compressed package is detected, an update class loader instance corresponding to the updated compressed package is created. The target process file is hot-updated using the update class loader instance.

8. A process dynamic configuration management device, characterized in that, The device includes: The process acquisition module is used to acquire the process file to be configured; The message configuration module is used to respond to dynamic message configuration instructions to perform dynamic message configuration on the process file to be configured, so as to obtain the initial process file; The page configuration module is used to respond to dynamic page configuration instructions and perform form page association processing on the task nodes of the initial process file to obtain the associated process file; The code execution module is used to dynamically load and execute the associated process file in response to dynamic code execution instructions to obtain the target process file.

9. An electronic device, characterized in that, The electronic device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the method according to any one of claims 1 to 7.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method of any one of claims 1 to 7.