Method and apparatus for process expansion

By pre-setting the association between extension points and extension processes in the process extension management center, the hot-plug extension mechanism is used to solve the problems of fast, flexible and efficient expansion of business processes in the information system, and realize infinite expansion of business processes in the system.

CN113760399BActive Publication Date: 2025-09-16BEIJING WODONG TIANJUN INFORMATION TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202011384028.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-11-30
Publication Date
2025-09-16
Estimated Expiration
2040-11-30

AI Technical Summary

Technical Problem

Existing technologies cannot simultaneously achieve fast, flexible and efficient business process expansion in information systems, and there are technical limitations.

Method used

By pre-setting the association between extension points and extension processes in the process extension management center, and using the hot-plug extension mechanism to obtain and execute the associated extension process when executing to the extension point, the business process can be expanded quickly, flexibly and efficiently.

Benefits of technology

It realizes the rapid, flexible and efficient expansion of business processes in information systems, supports unlimited process expansion, and has high cohesion and low coupling between the core part of the system and the expansion part.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113760399B_ABST
    Figure CN113760399B_ABST
Patent Text Reader

Abstract

The present disclosure provides a method for process extension. The method includes: starting to execute a first process, the first process includes at least one first extension point; when executing to any first extension point, first executing M first extension processes associated with the first extension point according to the extension mechanism, and after the execution of the M first extension processes is completed, returning to the first extension point to continue executing the first process. When executing the first extension process, when there is also an extension point in the first extension process, first executing the extension process associated with the extension point according to the same extension mechanism, and then returning to the extension point to continue execution. The extension mechanism includes: based on the association relationship between the extension point and the extension process set in the process extension management center, obtaining information on the extension process associated with the extension point; and executing the extension process based on the information on the extension process. The present disclosure also provides a device, electronic device, and medium for process extension.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and more particularly, to a method and apparatus for process expansion, an electronic device, and a computer-readable storage medium. Background Art

[0002] Nowadays, information systems (for example, order systems, logistics systems, procurement systems, or payment systems, etc.) are becoming increasingly complex. With the advent of the Internet+ craze and the continuous expansion and segmentation of business content, the business processes in the system have become increasingly complex and changeable, and it is becoming increasingly important to flexibly expand business processes according to business needs. In the prior art, when solving the problem of rapid expansion of business processes, the commonly used solution is usually to reserve an extension interface for the core part of the system, provide an implementation class for the expansion module, and finally configure the implementation class to the information system packaging and publishing module. However, this expansion method of the prior art cannot guarantee fast, flexible and efficient business process expansion at the same time, and all have certain technical limitations. Summary of the Invention

[0003] In view of this, embodiments of the present disclosure provide a method and apparatus for process expansion that can implement hot-plug expansion, an electronic device, and a computer-readable storage medium.

[0004] One aspect of an embodiment of the present disclosure provides a method for process extension. The method includes starting to execute a first process, wherein the first process includes at least one first extension point, and the first extension point is an extension point in the first process for process extension; and when executing any of the first extension points, first executing M first extension processes associated with the first extension point according to the extension mechanism, and returning to the first extension point to continue executing the first process after the execution of the M first extension processes is completed, wherein the first extension process is an extension process extended based on the first extension point, and M is an integer greater than or equal to 1. The execution of the M first extension processes associated with the first extension point according to the extension mechanism includes: obtaining information of the M first extension processes associated with the first extension point based on the association relationship between the extension point and the extension process set in the process extension management center; and executing the M first extension processes based on the information of the M first extension processes.

[0005] According to an embodiment of the present disclosure, M first extended processes include at least one second process, wherein the second process includes at least one second extension point, and the second extension point is an extension point in the second process for process extension. Executing the M first extended processes includes: when executing the second process, upon reaching any second extension point, first executing N second extended processes associated with the second extension point according to the extension mechanism, and after completing the execution of the N second extended processes, returning to the second extension point to continue executing the second process; wherein the second extended process is an extended process based on the second extension point, and N is an integer greater than or equal to 1. Executing the N second extended processes associated with the second extension point according to the extension mechanism includes: obtaining information on the N second extended processes associated with the second extension point based on the association relationship between the extension point and the extended process set in the process extension management center; and executing the N second extended processes based on the information on the N second extended processes.

[0006] According to an embodiment of the present disclosure, if the first process is the core process of the system, the first extension process is the first-order extension process of the core process, and the second process is the second-order extension process of the core process; wherein the first-order extension process is used to directly extend the core process, and the second-order extension process is used to directly extend the first-order extension process. Or if the first process is the S-order extension process of the core process, the first extension process is the S+1-order extension process of the core process, and the second process is the S+2-order extension process of the core process, wherein the S+1-order extension process is used to directly extend the S-order extension process, and the S+2-order extension process is used to directly extend the S+1-order extension process; wherein S is an integer greater than or equal to 1. wherein the core process is stable and unchanged in the system. The superimposed development logic of any two adjacent order extension processes is the same, and the extension execution of the process is performed according to the extension mechanism when the process is executed.

[0007] According to an embodiment of the present disclosure, the core process and the process extension management center are provided in the core portion of the system. The extension process for extending the core process is provided in the extension portion of the system. The extension process for extending the core process includes any first-order extension process of the core process. The scripts in the core portion are more stable than the scripts in the extension portion.

[0008] According to an embodiment of the present disclosure, the expansion part includes an expansion module, and the expansion module is hot-pluggably connected to the core part of the system. The method further includes developing an expansion process in the expansion module for expanding the core process.

[0009] According to an embodiment of the present disclosure, the method further includes: registering information of the extended process and information of the extension point in the process extension management center; and setting the association relationship between the extension point and the extended process in the process extension management center.

[0010] According to an embodiment of the present disclosure, the method further includes setting an extended process acquisition logic for any extension point, wherein the extended process acquisition logic is used to call the interface method of the process extension management center to query the association relationship between the extension point and the extended process when executing to the extension point.

[0011] According to an embodiment of the present disclosure, the method further includes: during the execution of the first process, based on a position definition of the first extension point, determining that the first process is executed to the first extension point.

[0012] According to an embodiment of the present disclosure, the method further includes: setting a position definition for the first extension point in the first process.

[0013] Another aspect of the embodiments of the present disclosure provides a device for process extension. The device includes a main process execution unit and an extended process execution unit. The main process execution unit is used to start executing a first process, wherein the first process includes at least one first extension point, and the first extension point is an extension point in the first process for process extension. The extended process execution unit is used to, when executing any of the first extension points, first execute M first extended processes associated with the first extension point according to the extension mechanism, and return to the first extension point to continue executing the first process after the M first extended processes are executed, wherein the first extended process is an extended process based on the first extension point, and M is an integer greater than or equal to 1. The extended process execution unit includes a first acquisition subunit and a first execution subunit. The first acquisition subunit is used to obtain information about the M first extended processes associated with the first extension point based on the association relationship between the extension point and the extended process set in the process extension management center. The first execution subunit is used to execute the M first extended processes based on the information of the M first extended processes.

[0014] Another aspect of the present disclosure provides an electronic device. The electronic device includes one or more processors and one or more memories. The memories are used to store one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the method described above.

[0015] Another aspect of the embodiments of the present disclosure provides a computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, causes the processor to execute the method described above.

[0016] Another aspect of an embodiment of the present disclosure provides a computer program, which includes computer-executable instructions, and the instructions are used to implement the method described above when executed.

[0017] One or more of the above embodiments have the following advantages or benefits: They can at least partially enable rapid, flexible, and efficient expansion of system business processes. By reserving extension points for business processes and associating these points with developed extension processes in a process extension management center, hot-swappable expansion of system business processes is achieved when the program reaches an extension point and retrieves the associated extension process from the process extension management center and executes it.

[0018] According to other embodiments of the present disclosure, it is supported to superimpose a new extended process on the extended process to achieve infinite process extension. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The above and other objects, features and advantages of the present disclosure will become more apparent through the following description of the embodiments of the present disclosure with reference to the accompanying drawings, in which:

[0020] Figure 1 A flowchart of a method for process expansion according to an embodiment of the present disclosure is schematically shown;

[0021] Figure 2 Schematically shows a flow chart of a method for executing a second extended process in a method for process extension according to an embodiment of the present disclosure;

[0022] Figure 3 Schematically shows a flow chart of a method for process expansion according to another embodiment of the present disclosure;

[0023] Figure 4 A system architecture diagram of a method for process expansion according to an embodiment of the present disclosure is schematically shown;

[0024] Figure 5 A process design example according to an embodiment of the present disclosure is schematically shown;

[0025] Figure 6 A block diagram schematically illustrates an apparatus for process expansion according to an embodiment of the present disclosure; and

[0026] Figure 7 A block diagram of an electronic device suitable for process expansion according to an embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION

[0027] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are merely exemplary and are not intended to limit the scope of the present disclosure. In the detailed description below, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of well-known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.

[0028] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise," "include," etc. used herein indicate the presence of the features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.

[0029] 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 should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.

[0030] When expressions such as “at least one of A, B, and C, etc.” are used, they should generally be interpreted in accordance with the meaning 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 systems having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, and C, etc.). When expressions such as “at least one of A, B, or C, etc.” are used, they should generally be interpreted in accordance with the meaning commonly understood by those skilled in the art (e.g., “a system having at least one of A, B, or C” should include but is not limited to systems having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, and C, etc.).

[0031] After years of operation and development, various information systems (such as order systems, logistics systems, procurement systems, or payment systems) can typically isolate core, stable processes from a diverse set of business processes. To adapt to the complex and ever-changing business scenarios and diverse user needs, processes are often expanded upon these core processes. While core processes remain stable, supporting rapid, flexible, and efficient expansion of business processes can address the issue of frequent business process changes and greatly facilitate the operation of information systems.

[0032] The embodiments of the present disclosure provide a method and apparatus for process expansion, an electronic device, and a computer-readable storage medium that can implement hot-pluggable expansion. The method includes first starting to execute a first process, the first process including at least one first extension point, and the first extension point is an extension point in the first process for process expansion. Then, when executing to any first extension point, M first extension processes associated with the first extension point are first executed according to the extension mechanism, and after the M first extension processes are executed, the method returns to the first extension point to continue executing the first process, wherein the first extension process is an extension process expanded based on the first extension point, and M is an integer greater than or equal to 1.

[0033] The process of executing the M first extended processes associated with the first extension point according to the extension mechanism includes first obtaining information of the M first extended processes associated with the first extension point based on the association relationship between the extension point and the extended process set in the process extension management center, and then executing the M first extended processes based on the information of the M first extended processes.

[0034] According to an embodiment of the present disclosure, by reserving extension points for business processes and pre-associating the extension points with the developed extension processes in the process extension management center, when the program executes to the extension point, the associated extension process is obtained from the process extension management center and executed, thereby realizing hot-pluggable expansion of business processes in the system.

[0035] According to various embodiments of the present disclosure, the first process can be the core process of the system, or the first process can also be an extended process of the core process. Therefore, the method of the embodiments of the present disclosure can be used to expand the core process of the system, and can also be used to expand the extended process of the core process of the system. The embodiments of the present disclosure support the superposition of new extended processes on the extended process, which can achieve infinite process expansion.

[0036] It should be noted that the terms "first" and "second" used in this article are only used for distinction and do not have a limiting effect.

[0037] Figure 1 The flowchart of the method for process expansion according to an embodiment of the present disclosure is schematically shown.

[0038] like Figure 1 As shown, the method 100 for process extension according to this embodiment may include operations S110 to S180.

[0039] In operation S110, execution of a first process begins. The first process includes at least one first extension point, which is an extension point within the first process for process extension. An extension point is a code location within a process that allows for extension. Extension points can be enabled within the core process of the system. Extensions to the core process are also subprocesses that can also enable additional extension points.

[0040] In operation S120, it is determined whether a first extension point has been reached. If not, the first process is continued (operation S160). If so, the M first extension processes associated with the first extension point are first executed according to the extension mechanism (operations S130 to S140). After the M first extension processes are completed, the process returns to the first extension point (operation S150) and continues to execute the first process (S160). The first extension process is an extension process based on the first extension point, and M is an integer greater than or equal to 1.

[0041] According to one embodiment of the present disclosure, in operation S120, during the execution of the first process, it can be determined that the first process has executed to the first extension point based on the location definition of the first extension point. For example, the location definition of the first extension point can be set in the first process. Thus, during the execution of the first process, it can be determined whether the first extension point has been executed based on whether the current execution location of the first process is consistent with the location definition of the first extension point. The extension point location definition can have a clear business meaning, facilitating registration and driving execution in the process extension management center. Table 1 illustrates sample code for a Java version of the extension point location definition.

[0042] Table 1

[0043]

[0044] Table 1 defines three extension point positions in a process, which are the extension point before data processing and calculation, the extension point after data processing and calculation, and the extension point before data transmission.

[0045] According to an embodiment of the present disclosure, when executing an extended process, first in operation S130, based on the association relationship between the extension point and the extended process set in the process extension management center, information of M first extended processes associated with the first extension point is obtained. For example, a corresponding extended process list can be set for each extension point in the process extension management center. In the extended process list, when there are multiple extended processes (for example, M is greater than 1), the multiple extended processes can be sorted. One extension point can correspond to a situation where there are multiple extended processes. For example, multiple process development participants can perform different logical extensions on the same extension point to form multiple extended processes. In this way, the embodiment of the present disclosure can support the rapid expansion of multiple extended processes at the same time, while also flexibly controlling the order of the extended processes.

[0046] Then, in operation S140 , the M first extension processes are executed based on the information of the M first extension processes.

[0047] Then, in operation S150 , the process returns to the first extension point.

[0048] And in operation S160, the first process is continued.

[0049] According to an embodiment of the present disclosure, an extension process acquisition logic can be set for any extension point (for example, each first extension point). The extension process acquisition logic is used to call the interface method of the process extension management center to query the association relationship between the extension point and the extension process when executing to the extension point.

[0050] Table 2 provides a Java version of the sample code for the extended process acquisition logic set for the extension point.

[0051] Table 2

[0052]

[0053] According to one embodiment of the present disclosure, each extension point needs to implement the INodeProcessor interface, such as the one shown in Table 2. When the process reaches the corresponding extension point, the interface method of the process extension management center is called through the INodeProcessor interface to query the association relationship between the extension point and the extended process.

[0054] The first process can call the getExtNodeList() API of the process extension management center FlowExtCenter at each first extension point through, for example, the INodeProcessor interface to obtain all the extended processes registered in the process extension management center FlowExtCenter for the extension point, and execute them one by one in the configured order to realize the driven execution of all extended processes of the node.

[0055] Next, in operation S170, if the first process has not ended, the logic of operations S120 to S160 is repeated. That is, the first process continues to execute if there is no first extension point (or even if there is a first extension point, but there is no extended process associated with the first extension point in the process extension management center). Then, when execution reaches a first extension point, the M first extended processes associated with the first extension point are first executed (operations S130 to S140). After the M first extended processes are executed, the process returns to the first extension point (operation S150) and continues the first process (S160). If the first process ends, operation S180 is executed.

[0056] In operation S180 , the first process is ended, and an output of the first process is obtained.

[0057] When executing to an extension point, the embodiment of the present disclosure first searches for the extension process associated with the extension point from the process extension management center, and then calls the execution method to execute these extension processes. This can realize hot-pluggable expansion of business processes based on extension points, and can achieve fast, flexible and efficient expansion of business processes in the system.

[0058] It is understood that at least one first extension point may be reserved in the first process, but not every first extension point necessarily has a corresponding extension process when the program is executed. For example, for some extension points, no extension process associated with the extension point is registered in the process extension management center during program execution. In this case, when the first process reaches the first extension point, operations S140 to S150 are not performed, and the first process continues directly in operation S160.

[0059] The embodiments of the present disclosure can support adding extension points to a business process according to business needs by defining the location of the extension points added to the business process.

[0060] Figure 2 A flowchart of a method for executing a second extended process in a method for process extension according to an embodiment of the present disclosure is schematically shown.

[0061] like Figure 2 As shown, combined Figure 1 According to this embodiment, the method 200 for process extension may include operations S110 to S180 shown in the method 100, and operation S140 may further include operations S141 to S148.

[0062] Specifically, in this embodiment, the M first extended processes in operation S140 include at least one second process, the second process includes at least one second extension point, and the second extension point is an extension point in the second process for performing process extension. Then, executing the M first extended processes in operation S140 includes operations S141 to S148.

[0063] In operation S141 , the second process starts to be executed. The second process includes at least one second extension point. The second extension point is an extension point in the second process for performing process extension.

[0064] In operation S142, it is determined whether a second extension point has been reached. If not, the second process is continued (operation S146). If so, the N first extension processes associated with the second extension point are first executed (operations S143 and S144). After the N first extension processes are completed, the process returns to the second extension point (operation S145) and continues with the second process (S146). The first extension process is an extension process based on the second extension point, and M is an integer greater than or equal to 1.

[0065] According to one embodiment of the present disclosure, in operation S142, during the execution of the second process, it can be determined whether the second process has reached the second extension point based on the location definition of the second extension point. For example, the location definition of the second extension point can be set in the second process. Thus, during the execution of the second process, it can be determined whether the second process has reached the second extension point based on whether the current execution location of the second process is consistent with the location definition of the second extension point.

[0066] Specifically, when executing an extended process, first, in operation S143, based on the association between the extension point and the extended process set in the process extension management center, information about N first extended processes associated with the second extension point is obtained. Then, in operation S144, based on the information about the N first extended processes, the N first extended processes are executed. Then, in operation S145, the process returns to the second extension point. Finally, in operation S146, execution of the second process continues.

[0067] Accordingly, an interface for calling the process management center may be set for each second extension point. The interface is used to call the process extension management center to query the association relationship between the extension point and the extended process when the second extension point is executed.

[0068] Next, in operation S147, if the second process has not ended, the logic of operations S142 to S146 is repeated, that is, the second process continues to be executed in the absence of a second extension point, and when executing to a certain second extension point, the N first extension processes associated with the second extension point are first executed (operations S143 to S144), and after the execution of the N first extension processes is completed, the process returns to the second extension point (operation S145) to continue executing the second process (S146); if the second process ends, operation S148 is executed.

[0069] In operation S148 , the second process is ended, and an output of the second process is obtained.

[0070] According to the method 200 of the embodiment of the present disclosure, further expansion can be performed on the basis of the extended process, thereby realizing infinite process extensions, and the extension point (whether it is a core process, an extended process, or an extension point on a new Luozhan process superimposed on the extended process) can be associated with the extended process based on the extension point in the process extension management center. When the program executes to the extension point, the associated extended process is obtained from the process extension management center and executed, thereby realizing hot-pluggable expansion of the process.

[0071] In method 200 according to an embodiment of the present disclosure, if the first process is the core process of the system, the first extended process is a first-order extended process of the core process, and the second process is a second-order extended process of the core process. The first-order extended process is used to directly extend the core process, and the second-order extended process is used to directly extend the first-order extended process. The core process remains stable within the system.

[0072] Alternatively, according to method 200 of an embodiment of the present disclosure, if the first process is an S-stage extension process of a core process, then the first extension process is an S+1-stage extension process of the core process, and the second process is an S+2-stage extension process of the core process, wherein the S+1-stage extension process is used to directly extend the S-stage extension process, and the S+2-stage extension process is used to directly extend the S+1-stage extension process; wherein S is an integer greater than or equal to 1; wherein the superimposed development logic of any two adjacent stage extension processes is the same, and the extension execution of the process is performed according to the extension mechanism when the process is executed.

[0073] According to the embodiments of the present disclosure, the method for expanding the core process is the same as the method for expanding the extended process, and the extended process can be expanded at any multiple levels according to this method (for example, three-level expansion, four-level expansion, etc.)

[0074] According to an embodiment of the present disclosure, in the above-mentioned method 100 or method 200, the first process is the core process of the system, and the core process is stable and unchanged in the system. According to another embodiment of the present disclosure, in the above-mentioned method 100 or method 200, the first process is an extended process in the system for extending the core process. In one embodiment, the core process can be set in the core part of the system, and the extended process can be set in the extended part of the system. Among them, the script of the core part of the system is more stable than the script of the extended part.

[0075] For example, when implementing system development, one or more extension modules can be set up in the extension part. The extension modules can be hot-pluggable and connected to the core part of the system. Developers can develop extension processes in the extension modules to extend the core process. When the process is extended according to the embodiment of the present disclosure, the core part and the extension part of the system have high cohesion and low coupling. The process can be expanded dynamically, and the process can be quickly expanded simultaneously through multiple extension modules.

[0076] In method 200 according to an embodiment of the present disclosure, the M first extended processes may include extended processes without extension points in addition to extended processes with extension points (i.e., second processes). For those first extended processes without extension points among the M first extended processes, after executing the first extended process itself, the process returns to the corresponding extension point in the first process to continue executing the first process.

[0077] Figure 3 A flowchart of a method for process expansion according to another embodiment of the present disclosure is schematically shown.

[0078] like Figure 3 As shown, the method 300 for process expansion according to an embodiment of the present disclosure may further include operations S310 to S330 in addition to the above-mentioned method 100 or method 200.

[0079] In operation S310 , information about the extended process and information about the extension point are registered in a process extension management center.

[0080] In operation S320 , an association relationship between the extension point and the extended process is set in the process extension management center.

[0081] In one embodiment, the core process and the process extension management center are set in the core part of the system; and the extension process for extending the core process is set in the extension part of the system; wherein the script of the core part is more stable than the script of the extension part.

[0082] The embodiments of the present disclosure can independently develop an extended process, register the extended process in a process extension management center, and associate it with a corresponding extension point, thereby supporting the extension of a new process based on the extension point according to business needs.

[0083] Figure 4 The system architecture diagram of the method for process expansion according to an embodiment of the present disclosure is schematically shown.

[0084] like Figure 4 As shown, system architecture 400 can be comprised of two major components: a core component 410 and an extension component 420. Core component 410 is the smallest modular unit comprising the system's core services, core functions, and core processes. It offers high stability and abstraction, enabling reuse and expansion. Extension component 420 is an independent service module that complies with the extension mechanisms and specifications of core component 410, enhances service capabilities, and is used in conjunction with core component 410.

[0085] According to an embodiment of the present disclosure, a core process 401 and a process extension management center 402 are provided in the core part 410 .

[0086] The extension part 420 may include one or more extension modules, such as extension module 1, extension module 2, ..., and extension module X. Extension modules 1, extension modules 2, ..., and extension module X may be used to develop extension processes for extension points in the core process 401. These extension modules may be hot-pluggable and connected to the core part 410.

[0087] The extension portion 420 may further include one or more high-level extension modules, such as a high-level extension module A and a high-level extension module B. Specifically, the extended processes developed in extension module 1, extension module 2, ..., or extension module X may further include extension points. Accordingly, corresponding extended processes may be developed in high-level extension module A or high-level extension module B for the extension points in the extended processes developed in extension module 1, extension module 2, ..., or extension module X. Thus, the system architecture 400 can support an unlimited number of process extensions.

[0088] The process extension management center 402 is responsible for collecting, managing, and executing extended processes. For example, information about extended processes developed in extension modules and / or high-level extension modules in the extension portion 420 is registered with the process extension management center 402. Extension points in the core process 401 and the extension points of each extended process developed in the extension portion 420 can also be registered with the process extension management center 402. Each extension point is then associated with one or more extended processes based on that extension point, forming an association relationship. Thus, whether it is the core process 401 or any extended process, the aforementioned method 100 or 200 can be used to execute the process, enabling hot-swappable expansion of any process.

[0089] Figure 5 A process design example according to an embodiment of the present disclosure is schematically shown.

[0090] like Figure 5 As shown, the process design 500 can provide a main process 510 through the core part of the system, and provide an extension module 521 and a high-order extension module 522 through the extension part of the system.

[0091] The main process 510 specifically includes four steps: data preparation->processing calculation->data storage->data download. At the same time, the pre-processing extension point 501, the post-processing extension point 502 and the pre-download extension point 503 are opened.

[0092] The extension module 521 extends a data pre-processing sub-process 5211 , which includes two sub-steps: data expansion->pre-processing, and opens a post-data expansion extension point 504 .

[0093] The high-level extension module 522 further extends the main process 510 and the extension process 5211, adding two extension processes: data caching and sending MQ before downloading.

[0094] Finally, the expanded process 530 is obtained, including data preparation->data expansion->data cache->pre-processing->processing calculation->data storage->data object conversion->download pre-method MQ->data download.

[0095] Combine Figure 4 and Figure 5 , the implementation of each module in the system architecture 400 is exemplarily described as follows.

[0096] Implementation of a Flow Extension Management Center (FlowExtCenter) 402 within the system's core 410 is responsible for collecting and managing flow extension information. It also provides core flows 401 within the kernel and configures extension points. At each extension point, the core 410 calls the getExtNodeList() API of the Flow Extension Management Center 402 to retrieve all registered extension flows for that extension point. These flows are then executed one by one in the order they are configured, enabling hot-swappable extension flow execution.

[0097] An extension process is developed in the extension module of the extension part 420, and the addFlowExtNode() API of the process extension management center 402 is called to register the self-developed extension process with the FlowExtCenter, associate it with the extension point, and implement the extension of the process; a new extension point can be reserved in the extension process implementation code developed in the extension module, and at the new extension point, the getExtNodeList() API of the process extension management center 402 is called to retrieve the extended process of the extension point and execute them in sequence, thereby implementing the drive execution of the extended process in a hot-pluggable manner;

[0098] The high-level extension module of the extension part 420 develops an extension process of the extension process in the extension module, and similarly calls the API of the process extension management center 402 to register the developed extension process with the process extension management center 402, and associates it with the extension point of the core process 401 or the extension point of the extension process. If necessary, the high-level extension module can open a new extension point and similarly drive the execution of the new extension process.

[0099] Formulate standardized service development specifications. Under the guidance of relevant specification agreements, the system architecture 400 can start from the business process hot-swappable extension mechanism, process extension management center 402, core process 401, extension module process extension, extension module superimposed process extension and business process extension examples, and implement them separately.

[0100] 1) Process hot-swap expansion mechanism

[0101] An INodeProcessor interface for calling the process extension management center is provided for each process extension point. The Java version sample code of the interface can be shown in Table 2 above.

[0102] The core process 401 in the core part 410 of the system and the extension process in the extension module open the extension point location definition. The Java version sample code of the pre-processing extension point 501, the post-processing extension point 502 and the pre-download extension point 503 can be shown in the above Table 2.

[0103] To extend a business process, an extension module first implements the process link abstract interface, writes the process extension code, and then calls the addFlowExtNode() API of the process extension management center 402 to register its own process extension with the process extension management center 402 and associate it with an extension point. An extension module can have multiple extension processes, and the same extension point can be extended multiple times by multiple extension modules.

[0104] At the extensible code location of each extension point, the core process 401 calls the getExtNodeList() API of the process extension management center 402 to obtain all the extension processes registered in the process extension management center 402 for the corresponding extension point, and executes them one by one in the configured order to realize the driven execution of the extension process of the core process 401.

[0105] New extension points can be opened in the extension module and similarly drive the execution of the corresponding extension process.

[0106] 2) Process Extension Management Center 402

[0107] The core component 410 of the system implements the process extension management center 402, which is responsible for collecting, managing, and executing extension points and extended processes. The process extension management center 402 provides the extension process registration API addFlowExtNode() to enable unified collection of extended processes. It also provides the extended process list retrieval API getExtNodeList() for dynamically obtaining extended processes at runtime. It also implements the extended process list execution API executeExtNodeList() for driving the execution of all extended processes based on that extension point. In a microservices architecture, the process extension management center 402 in the kernel can be implemented as a microservice.

[0108] For example, the Java version of the sample API definition is shown in Table 3 below.

[0109] Table 3

[0110]

[0111]

[0112] The memory information of the extension points and the extension processes in the process design 500 in the process extension management center 402 may be as shown in Table 4, for example.

[0113] Table 4

[0114]

[0115] 3) Extension point of core process 401

[0116] The core system 410 provides a core process 401 and exposes its extension points (e.g., the first extension point in method 100). At each extension point's code location, core process 401 calls the getExtNodeList() API of the process extension management center 402 to retrieve all registered extension processes for the corresponding extension point. These processes are then executed one by one in the order configured, driving the execution of process extensions. If no special or complex logic is involved, the executeExtNodeList() API, provided uniformly by the process extension management center 402, can be directly called to quickly execute the extension processes.

[0117] For example, the Java version sample code of the extension point of the core process 401 may be shown in Table 5 below.

[0118] Table 5

[0119]

[0120]

[0121] 4) Develop extension processes in extension modules

[0122] The extension module implements the process link abstract interface, realizes the extended process business function, and then calls the addFlowExtNode() API of the process extension management center 402r to register the extended process developed by itself to the process extension management center 402 and associate it with the corresponding extension point.

[0123] Extension processes developed within the extension module can also open new business extension points. At each extension point, the extended business process calls the getExtNodeList() API of the process extension management center 402 to retrieve all extension processes registered with the corresponding extension point in the process extension center FlowExtCenter. These processes are then executed one by one in the configured order, further driving the process's expansion. For example, the Java version of the process link registration sample code can be shown in Table 6.

[0124] Table 6

[0125]

[0126] 5) Extend the module and then add process extension

[0127] Based on the extension points provided by the extension modules and the extension points provided by the core system 410, and in compliance with the business process hot-swappable extension mechanism, the core process 401 and the extended business process are further extended. New extended processes are developed and registered with the process extension management center 402, enabling further process extension of the business process. Furthermore, new extension points can be opened as needed. The specific implementation method is identical to the extension module process extension implementation method. Furthermore, extension modules can depend on other modules and can also be depended on by other extension modules, enabling unlimited and flexible expansion of business processes.

[0128] According to an embodiment of the present disclosure, a business process hot-swappable extension mechanism can be provided. A process extension management center 402 is provided in the core part 410 of the system to achieve unified collection and management of process extension processes. Several extension points are opened in the core process 401. At each extension point, the API of the process extension management center 402 is called to obtain the extended process links corresponding to the extension point and executed one by one. The extension module follows the business process hot-swappable extension mechanism. When developing extended functions, the extension process is implemented and the API of the process extension management center 402 is called to register it with the process extension management center 402 for unified management and execution. At the same time, when the extended process contains small processes, new extension points can be opened again. At each new extension point, the API of the process extension management center is called to obtain the extended process links corresponding to the extension point and then executed one by one. High-level extension modules can rely on other extension modules and further extend the system's business processes according to the business process hot-swappable extension mechanism based on the extension points of the core process 401 and / or the extension points of the extended processes. At the same time, the process extension management center 402 supports sorting multiple extended processes for the same extension point to achieve precise control of the business process.

[0129] Figure 6 A block diagram of an apparatus 600 for process extension according to an embodiment of the present disclosure is schematically shown.

[0130] like Figure 6 As shown, the apparatus 600 for process extension according to an embodiment of the present disclosure may include a main process execution unit 610 and an extended process execution unit 620. According to other embodiments of the present disclosure, the apparatus 600 may further include an information registration and management unit 630. The apparatus 600 may be used to implement reference Figures 1 to 5 The method described.

[0131] The main process execution unit 610 is used to start executing a first process, where the first process includes at least one first extension point, and the first extension point is an extension point in the first process for performing process extension.

[0132] The extended process execution unit 620 is configured to, when executing any of the first extension points, first execute M first extended processes associated with the first extension point, and after completing the execution of the M first extended processes, return to the first extension point to continue executing the first process, wherein the first extended process is an extended process based on the first extension point, and M is an integer greater than or equal to 1.

[0133] Specifically, the extended process execution unit 620 may include a first acquisition subunit 621 and a first execution subunit 622. The first acquisition subunit 621 is configured to acquire information about the M first extended processes associated with the first extension point based on the association relationship between the extension point and the extended process set in the process extension management center. The first execution subunit 622 is configured to execute the M first extended processes based on the information about the M first extended processes.

[0134] The information registration and management unit 630 is used to register the information of the extended process and the information of the extension point in the process extension management center; and to set the association relationship between the extension point and the extended process in the process extension management center.

[0135] According to the modules, submodules, units, and subunits of the embodiments of the present invention, any multiple or at least part of the functions of any multiple thereof can be implemented in one module. According to the modules, submodules, units, and subunits of the embodiments of the present invention, any one or more thereof can be split into multiple modules for implementation. According to the modules, submodules, units, and subunits of the embodiments of the present invention, any one or more thereof can be at least partially implemented as a hardware circuit, 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 a package, an application specific integrated circuit (ASIC), or can be implemented by hardware or firmware of any other reasonable way of integrating or packaging the circuit, or implemented in any one of the three implementation modes of software, hardware, and firmware or in an appropriate combination of any of them. Alternatively, according to the modules, submodules, units, and subunits of the embodiments of the present invention, one or more thereof can be at least partially implemented as a computer program module, which can perform the corresponding function when the computer program module is run.

[0136] For example, any multiple of the main process execution unit 610, the extended process execution unit 620, the information registration and management unit 630, the first acquisition subunit 621, and the first execution subunit 622, the process extension management center, and the extension module can be combined into one module for implementation, or any one of the modules can be split into multiple modules. Alternatively, at least part of the functions of one or more of these modules can be combined with at least part of the functions of other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the main process execution unit 610, the extended process execution unit 620, the information registration and management unit 630, the first acquisition subunit 621, and the first execution subunit 622, the process extension management center, and the extension module can be at least partially implemented as a hardware circuit, 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 a package, an application specific integrated circuit (ASIC), or can be implemented by hardware or firmware such as any other reasonable way of integrating or packaging the circuit, or implemented in any one of the three implementation modes of software, hardware, and firmware or in an appropriate combination of any of them. Alternatively, at least one of the main process execution unit 610, the extended process execution unit 620, the information registration and management unit 630, the first acquisition sub-unit 621, the first execution sub-unit 622, the process extension management center, and the extension module can be at least partially implemented as a computer program module, which can execute corresponding functions when the computer program module is run.

[0137] Figure 7 A block diagram of an electronic device 700 suitable for process expansion according to an embodiment of the present disclosure is schematically shown. Figure 7 The electronic device 700 shown is merely an example and should not limit the functions and scope of use of the embodiments of the present disclosure.

[0138] like Figure 7 As shown, the electronic device 700 according to an embodiment of the present disclosure includes a processor 701, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 702 or a program loaded from a storage part 708 into a random access memory (RAM) 703. The processor 701 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or a related chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 701 may also include an onboard memory for caching purposes. The processor 701 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.

[0139] Various programs and data required for the operation of the electronic device 700 are stored in the RAM 703. The processor 701, ROM 702, and RAM 703 are connected to each other via a bus 704. The processor 701 executes the various operations of the method flow according to the embodiment of the present disclosure by executing the programs in the ROM 702 and / or RAM 703. It should be noted that the programs may also be stored in one or more memories other than the ROM 702 and RAM 703. The processor 701 may also execute the various operations of the method flow according to the embodiment of the present disclosure by executing the programs stored in the one or more memories.

[0140] According to an embodiment of the present disclosure, the electronic device 700 may further include an input / output (I / O) interface 705, which is also connected to the bus 704. The electronic device 700 may further include one or more of the following components connected to the I / O interface 705: an input portion 706 including a keyboard, a mouse, etc.; an output portion 707 including devices such as a cathode ray tube (CRT), a liquid crystal display (LCD), and a speaker; a storage portion 708 including a hard disk; and a communication portion 709 including a network interface card such as a LAN card or a modem. The communication portion 709 performs communication processing via a network such as the Internet. A drive 710 is also connected to the I / O interface 705 as needed. A removable medium 711, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed in the drive 710 as needed, so that a computer program read therefrom can be installed into the storage portion 708 as needed.

[0141] According to an embodiment of the present disclosure, the method flow according to an embodiment of the present disclosure can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable storage medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 709, and / or installed from the removable medium 711. When the computer program is executed by the processor 701, the above-mentioned functions defined in the system of the embodiment of the present disclosure are executed. According to an embodiment of the present disclosure, the system, equipment, device, module, unit, etc. described above can be implemented by a computer program module.

[0142] The present disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments, or may exist independently and not be incorporated into the device / apparatus / system. The computer-readable storage medium carries one or more programs, and when executed, implements the method according to the embodiments of the present disclosure.

[0143] According to an embodiment of the present disclosure, a computer-readable storage medium may be a non-volatile computer-readable storage medium, for example, it may include but is not limited to: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, apparatus, or device. For example, according to an embodiment of the present disclosure, a computer-readable storage medium may include the ROM 702 and / or RAM 703 described above and / or one or more memories other than ROM 702 and RAM 703.

[0144] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or a part of code, and the above-mentioned module, program segment, or a part of code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0145] Those skilled in the art will appreciate that various combinations and / or combinations of features described in the various embodiments and / or claims of this disclosure may be made, even if such combinations or combinations are not explicitly described in this disclosure. In particular, various combinations and / or combinations of features described in the various embodiments and / or claims of this disclosure may be made, without departing from the spirit and teachings of this disclosure. All such combinations and / or combinations fall within the scope of this disclosure.

[0146] The embodiments of the present disclosure are described above. However, these embodiments are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although each embodiment has been described separately above, this does not mean that the measures in each embodiment cannot be used in combination to advantage. The scope of the present disclosure is defined by the appended claims and their equivalents. Without departing from the scope of the present disclosure, those skilled in the art may make various substitutions and modifications, which should all fall within the scope of the present disclosure.

Claims

1. A method for process expansion, comprising: Starting to execute a first process, where the first process includes at least one first extension point, where the first extension point is an extension point in the first process for performing process extension; as well as When executing any of the first extension points, first executing M first extension processes associated with the first extension point according to the extension mechanism, and returning to the first extension point to continue executing the first process after the M first extension processes are completed, where the first extension process is an extension process based on the first extension point, and M is an integer greater than or equal to 1; The executing the M first extension processes associated with the first extension point according to the extension mechanism includes: Based on the association relationship between the extension point and the extended process set in the process extension management center, information of the M first extended processes associated with the first extension point is obtained, wherein the process extension management center allows dynamic registration and driving of the extended processes during system operation, the process extension management center is set in the core part of the system, the core part is separated from the extended part, the extended part includes an extension module, and the extension module is hot-pluggably connected to the core part of the system to achieve hot-pluggable expansion of the process, and the script of the core part is more stable than the script of the extended part; Based on the information of the M first extended processes, the M first extended processes are executed. During the execution of the M first extended processes, any number of levels of extended processes can be superimposed on the first extended process, and the process extension management center communicates with the extension module for the collection, management, and extended execution of the extended processes.

2. The method according to claim 1, wherein The M first extended processes include at least one second process, wherein the second process includes at least one second extension point, and the second extension point is an extension point in the second process for process extension. Then, executing the M first extended processes includes: When executing the second process, upon reaching any second extension point, N second extension processes associated with the second extension point are first executed according to the extension mechanism, and after the N second extension processes are completed, the process returns to the second extension point to continue executing the second process; wherein the second extension process is an extension process based on the second extension point, and N is an integer greater than or equal to 1; The executing the N second extension processes associated with the second extension point according to the extension mechanism includes: Based on the association relationship between the extension point and the extended process set in the process extension management center, obtaining information of N second extended processes associated with the second extension point; and Based on the information of the N second extended processes, N second extended processes are executed.

3. The method according to claim 2, wherein: If the first process is a core process of the system, the first extended process is a first-order extended process of the core process, and the second process is a second-order extended process of the core process; wherein the first-order extended process is used to directly extend the core process, and the second-order extended process is used to directly extend the first-order extended process; or If the first process is an S-order extension process of the core process, then the first extension process is an S+1-order extension process of the core process, and the second process is an S+2-order extension process of the core process, wherein the S+1-order extension process is used to directly extend the S-order extension process, and the S+2-order extension process is used to directly extend the S+1-order extension process; wherein S is an integer greater than or equal to 1; Wherein, the core process is stable and unchanged in the system; The superposition development logic of any two adjacent extended processes is the same, and when the processes are executed, the extended execution of the processes is performed according to the extension mechanism.

4. The method according to claim 3, wherein: The core process is set in the core part of the system; as well as The extended process for extending the core process is set in the extended part of the system; wherein the extended process for extending the core process includes any first-order extended process of the core process.

5. The method according to claim 4, wherein The method further comprises: An extended process for extending the core process is developed in the extended module.

6. The method according to claim 1 or 2, wherein: The method further comprises: Registering the information of the extended process and the information of the extension point in the process extension management center; and The association relationship between the extension point and the extension process is set in the process extension management center.

7. The method according to claim 1 or 2, wherein: The method further comprises: An extended process acquisition logic is set for any extension point. The extended process acquisition logic is used to call the interface method of the process extension management center to query the association relationship between the extension point and the extended process when executing to the extension point.

8. The method according to claim 1, wherein The method further comprises: During the execution of the first process, based on the position definition of the first extension point, it is determined that the first process is executed to the first extension point.

9. The method according to claim 8, wherein The method further comprises: A location definition of the first extension point is set in the first process.

10. A device for process expansion, comprising: A main process execution unit, configured to start executing a first process, wherein the first process includes at least one first extension point, and the first extension point is an extension point in the first process for performing process extension; as well as an extended process execution unit, configured to, when executing any of the first extension points, first execute M first extended processes associated with the first extension point according to the extension mechanism, and return to the first extension point to continue executing the first process after the M first extended processes are executed, wherein the first extended process is an extended process based on the first extension point, and M is an integer greater than or equal to 1; Wherein, the extended process execution unit includes: a first acquisition subunit, configured to acquire information of M first extended processes associated with the first extension point based on an association relationship between the extension point and the extended process set in a process extension management center, wherein the process extension management center allows dynamic registration and driving of the extended processes during system operation, the process extension management center is arranged in a core portion of the system, the core portion is separated from an extended portion, the extended portion includes an extension module, the extension module is hot-pluggably connected to the core portion of the system to implement hot-pluggable expansion of processes, and the script of the core portion is more stable than the script of the extended portion; and A first execution sub-unit is configured to execute M of the first extended processes based on information of the M first extended processes, wherein, during the execution of the M first extended processes, any number of levels of extended processes can be superimposed on the first extended processes, and the process extension management center communicates with the extension module for the collection, management, and extended execution of the extended processes.

11. An electronic device comprising: one or more processors; as well as one or more memories for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors are enabled to implement the method according to any one of claims 1 to 9.

12. A computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, causes the processor to perform the method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Method and device for carrying out function extension on block chain

    CN110704134A

  • Meta directory server providing users the ability to customize work-flows

    US20050120352A1