Processing Method, Device, Equipment and Computer Readable Storage Medium of Middleware

By adding the target middleware operation components to the target class loader and listening to external port commands, the unified operation management of the middleware is realized, which reduces the coupling between the SDKs, solves the problem of upgrade and maintenance difficulties, and reduces the risk of program exceptions.

CN114020487BActive Publication Date: 2025-06-17BEIJING WODONG TIANJUN INFORMATION TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111221968.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-20
Publication Date
2025-06-17
Estimated Expiration
2041-10-20

AI Technical Summary

Technical Problem

In the prior art, the coupling degree between the middleware and the SDK that performs unified operation management is high, resulting in difficulties in upgrading and maintenance and a high risk of program abnormalities.

Method used

The target process is obtained through the proxy component, the target middleware operation component is added to the target class loader corresponding to the target process, and the target thread is established to listen to the operation commands of the middleware external port, and control the middleware in the target class loader to perform management operations according to the commands.

Benefits of technology

It reduces the coupling degree between the middleware and the SDK for unified operation management, realizes flexible upgrades and independent maintenance of the middleware, and reduces the risk of program abnormalities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114020487B_ABST
    Figure CN114020487B_ABST
Patent Text Reader

Abstract

An embodiment of the present invention discloses a processing method, device, equipment and computer-readable storage medium for middleware. The method includes: obtaining a target process, and adding a target middleware operation component to a target class loader corresponding to the target process; establishing a target thread in the target process, and using the target thread to monitor operation commands of an external port of the target middleware. The target process includes a middleware component, and the target middleware operation component and the middleware component are isolated from each other; when an operation command is monitored, according to the operation command, at least one target middleware in the target class loader is controlled to perform a management operation. The present invention realizes the independence between the middleware component and the target middleware operation component, is flexible and convenient for each other to upgrade, reduces the coupling degree between the middleware and the SDK for unified operation management of middleware, and at the same time can, when an operation command of an external port of the middleware is monitored, realize unified management operation of the middleware according to the operation command.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of software decoupling, and particularly relates to a processing method, device, equipment and computer-readable storage medium for middleware. Background Art

[0002] Middleware is an important component of a distributed system, which can connect several independent software systems to achieve the purpose of resource sharing and function sharing. In practical applications, a software system may use several middleware. The software development kits (SDKs) of all middleware are independent of each other. Each middleware needs to establish its own network connection and store its own status information. When the network connection changes, the status information of the middleware needs to be reset.

[0003] When performing unified operation management on all middleware in the current process, related technologies usually introduce an SDK for unified operation management of middleware. All middleware implement this SDK. At the same time, a working thread is started in the target process to listen for external commands to control what operations the middleware specifically performs. However, when the SDK for unified operation management of middleware is upgraded or there are program vulnerabilities, all middleware that need to implement it also need to be upgraded in version or have the same program vulnerabilities, increasing the coupling degree between the middleware and the SDK for unified operation management of middleware, which is not conducive to upgrading and maintenance and has a relatively high risk of program exceptions. Summary of the Invention

[0004] An embodiment of the present invention provides a management operation method for middleware, which can reduce the coupling degree between the middleware and the SDK for unified operation management of middleware while realizing the unified operation management of middleware.

[0005] The technical solution of the embodiment of the present invention is realized as follows:

[0006] An embodiment of the present invention provides a processing method for middleware, including:

[0007] Obtain a target process, and add a target middleware operation component to a target class loader corresponding to the target process through a proxy component. The target class loader contains at least one target middleware; the target middleware operation component includes middleware management operation information;

[0008] Establish a target thread in the target process, and use the target thread to listen for operation commands on the external port of the target middleware. The target process includes a middleware component, and the target middleware operation component and the middleware component are isolated from each other;

[0009] When the operation command is monitored, according to the operation command, control the at least one target middleware in the target class loader to perform a management operation, and the management operation corresponds to the middleware management operation information.

[0010] An embodiment of the present invention provides a processing device for middleware, including:

[0011] An operation component loading unit, configured to obtain a target process, and add a target middleware operation component to a target class loader corresponding to the target process through a proxy component, where the target class loader includes at least one target middleware; the target middleware operation component includes middleware management operation information;

[0012] An operation command monitoring unit, configured to establish a target thread in the target process, and use the target thread to monitor an operation command of an external port of the target middleware. The target process includes a middleware component, and the target middleware operation component and the middleware component are isolated from each other;

[0013] A management operation unit, configured to when the operation command is monitored, according to the operation command, control the at least one target middleware in the target class loader to perform a management operation, and the management operation corresponds to the middleware management operation information.

[0014] An embodiment of the present invention provides a processing device for middleware, including:

[0015] A memory, configured to store processing instructions for executable middleware;

[0016] A processor, configured to implement the middleware processing method provided by the embodiment of the present invention when executing the processing instructions for executable middleware stored in the memory.

[0017] An embodiment of the present invention provides a computer-readable storage medium, storing processing instructions for executable algorithm middleware, and used to cause a processor to implement the middleware processing method provided by the embodiment of the present invention when executed.

[0018] The processing method, device, equipment and computer-readable storage medium of the middleware provided by the embodiments of the present invention. By adopting this technical solution, the proxy component obtains the target process and adds the target middleware operation component to the target class loader corresponding to the target process, where the target middleware operation component includes middleware management operation information; a target thread is established in the target process, and the target thread is used to monitor the operation commands of the external port of the target middleware. The target process includes a middleware component, and the target middleware operation component and the middleware component are isolated from each other; when an operation command is monitored, at least one target middleware in the target class loader is controlled to perform a management operation according to the operation command. In this way, by adding the target middleware operation component including middleware management operation information to the target class loader, it is ensured that the middleware component and the target middleware operation component including middleware management operation information are independent of each other, and each can be upgraded flexibly and conveniently, reducing the coupling degree between the middleware and the SDK for unified operation management of the middleware. At the same time, when an operation command of the external port of the middleware is monitored, unified management operation of the middleware can be realized according to the operation command. Description of the Drawings

[0019] Figure 1 It is a schematic flowchart of a processing method for middleware provided by an embodiment of the present invention;

[0020] Figure 2 It is a schematic flowchart of a method for adding a target middleware operation component to a target class loader provided by an embodiment of the present invention;

[0021] Figure 3 It is a schematic flowchart of a method for a target middleware to perform a management operation provided by an embodiment of the present invention;

[0022] Figure 4 It is a schematic flowchart of a method for obtaining a class loader instance provided by an embodiment of the present invention;

[0023] Figure 5 It is a schematic flowchart of another method for a target middleware to perform a management operation provided by an embodiment of the present invention;

[0024] Figure 6 It is a schematic flowchart of yet another method for a target middleware to perform a management operation provided by an embodiment of the present invention;

[0025] Figure 7 It is a schematic flowchart of another processing method for middleware provided by an embodiment of the present invention;

[0026] Figure 8 It is a schematic flowchart of a method for a middleware to perform unified management operation provided by an embodiment of the present invention;

[0027] Figure 9Flowchart of the unified management operation performed by the middleware provided by the embodiments of the present invention;

[0028] Figure 10 Schematic diagram of the method flow executed by the Java Agent provided by the embodiments of the present invention;

[0029] Figure 11 Flowchart of the execution process of the Java Agent provided by the embodiments of the present invention;

[0030] Figure 12 Overall schematic diagram of the system of the processing method of the middleware provided by the embodiments of the present invention;

[0031] Figure 13 Schematic diagram of the structure of the processing device of the middleware provided by the embodiments of the present invention;

[0032] Figure 14 Schematic diagram of the structure of the processing device of the middleware provided by the embodiments of the present invention. Detailed implementation manners

[0033] In order to make the objectives, technical solutions and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be construed as limitations on the present invention. All other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the scope of protection of the present invention.

[0034] In the following description, reference is made to "some embodiments / other embodiments", which describe a subset of all possible embodiments. However, it can be understood that "some embodiments / other embodiments" can be the same subset or different subsets of all possible embodiments, and can be combined with each other without conflict.

[0035] In the following description, the terms "one / another / yet another" are merely used to distinguish similar objects and do not represent a specific order for the objects. It can be understood that "one / another / yet another" can be interchanged with a specific order or sequence when permitted, so that the embodiments of the present disclosure described herein can be implemented in an order other than that illustrated or described herein.

[0036] Before further elaborating on the embodiments of the present invention, the nouns and terms involved in the embodiments of the present invention are described. The nouns and terms involved in the embodiments of the present invention are subject to the following explanations.

[0037] 1) Middleware is a type of software that lies between application systems and system software. It uses the basic services (functions) provided by the system software to connect various parts of the application system on the network or different applications, and can achieve the purpose of resource sharing and function sharing.

[0038] 2) The middleware SDK is a software application development kit provided by the middleware. Using this Jar package, it is convenient to interact with the middleware for data operations and so on.

[0039] 3) The middleware Operator SDK is an SDK independent of the middleware, which is an independent software development kit that abstracts operation logics such as middleware status reset and network connection restoration.

[0040] 4) Java Agent: After JDK 1.5, the Agent technology can be used to build an agent program (i.e., Agent) independent of the application program, which is used to assist in monitoring, running, and even replacing programs on other Java Virtual Machines (JVMs). Using it, the aspect-oriented programming (AOP) function at the virtual machine level can be achieved.

[0041] 5) ClassLoader: In Java, the ClassLoader can find the corresponding Class bytecode file according to the fully qualified name of a specified class, and then load it and convert it into an instance of a java.lang.Class class.

[0042] 6) Java Instrumentation: Using Instrumentation, developers can obtain all class information loaded in the JVM and even replace and modify the definitions of certain classes.

[0043] Middleware is a type of software between the application system and the system software. It uses the basic services or basic functions provided by the system software to connect various parts of the application system or different applications on the network, and can achieve the purpose of resource sharing and function sharing; the middleware SDK is a software application development kit provided by the middleware. Using it, it is convenient to interact with the middleware for data operations and so on. In practical applications, a system software may use multiple middleware, and each middleware SDK is independent of each other. If unified operation management of the middleware is to be achieved, for example, calling all middleware to uniformly complete network connection restoration and status reset, relevant technologies usually introduce a new SDK, which is the SDK for instructing the middleware for unified operation management. This increases the coupling degree between the middleware and the SDK for unified operation management of the middleware, which is not conducive to upgrading and maintenance, and there is a relatively high risk of program exceptions.

[0044] An embodiment of the present invention provides a method for processing middleware, which can reduce the coupling degree between the middleware and the SDK for unified operation management of the middleware, and at the same time realize the unified management operation of the middleware.

[0045] Next, the method for processing middleware provided by the embodiments of the present invention will be described. As Figure 1 shown, it is a schematic flowchart of a method for processing middleware provided by an embodiment of the present invention. The method includes the following steps:

[0046] S101. Obtain a target process, and add a target middleware operation component to a target class loader corresponding to the target process through a proxy component.

[0047] It should be noted that the component can be an SDK with specific functions, a method class or a set of method classes, or a packaged available interface or a set of available interfaces. The present invention does not make any restrictions here. The target middleware operation component can include the logic for unified operation management of the middleware and the logic for the middleware to specifically implement network connection and status reset; the target process can be the corresponding process started after the user starts the application; the proxy component can be a Java proxy, indicating the Java Agent technology; the target class loader can be a loader used in Java to load Java classes into the Java virtual machine.

[0048] In some embodiments, the proxy component is used to find the target process and add the target middleware operation component to the target process, specifically, it can be added to the target class loader in the target process. The logic for unified operation management of the middleware and the logic for the middleware to specifically implement network connection and status reset included in the target middleware operation component can be created or established before the target process is started or after the target process is started.

[0049] It can be understood that the target class loader can be a class loader newly created corresponding to the current target process. After the target middleware operation component is created, the logic for unified operation management of the middleware and the logic for the middleware to specifically implement network connection and status reset in the target middleware operation component are injected into the target class loader, realizing the isolation between the target middleware operation component and other method classes in the target process. Other method classes can be method classes corresponding to other functions implemented in the middleware component, thereby avoiding problems caused by class conflicts.

[0050] In some embodiments, the target class loader includes at least one target middleware, and the target middleware operation component includes middleware management operation information. The target middleware can be the middleware used during the running of the application after the user starts the application, or the middleware that the user needs to use when developing the application. The target middleware receives the services or functions provided by the system software for the application to use, and provides an environment for the development or running of the application, improving the efficiency of the application development or running. In the target class loader corresponding to the target process, the middleware used by the user can be one or more, and the one or more middleware are independent of each other and provide different functions for the development or running of the application.

[0051] It should be noted that the target middleware operation component can include middleware management operation information, and the middleware management operation information represents the specific method for managing the middleware. According to the specific method for managing the middleware, the management operation of the middleware is implemented. For example, if the middleware management operation information involves the specific method for middleware initialization, the management operation of the middleware can be to initialize the middleware. Of course, the middleware management operation information can also be other methods for processing the middleware, which are not specifically limited here.

[0052] S102. Establish a target thread in the target process, and use the target thread to monitor the operation commands of the external port of the target middleware.

[0053] It should be noted that a thread is the basic execution unit of a process, and all tasks of a process are executed in threads. There are at least one thread corresponding to the target process, and the target thread is any one of the threads in the target process. The target thread is used to monitor the commands sent by other devices or functional modules to the outer port of the middleware.

[0054] In some embodiments, the unified operation management of the middleware, as well as the specific logic for the middleware to implement network connection and status reset, are all executed after receiving an external command. The external command can specifically be sent by the server connected to the middleware. When the middleware receives the command sent by the server, it can, according to this command, implement the unified operation management of the middleware, as well as the network connection and status reset of the middleware.

[0055] In some embodiments, the target process includes a middleware component, and the target middleware operation component is isolated from the middleware component. The middleware component may be a middleware SDK for data interaction with the middleware. When the application runs, the target process is started, and the application runs in the target process. In the target process, the middleware used by the application interacts with the middleware SDK, exchanges information with the system software through the middleware SDK, obtains services or functions provided by the system software, and transmits the obtained services or functions to the middleware. Therefore, the application can use the services or functions obtained from the system software through the middleware.

[0056] It can be understood that the middleware component may include all other logics or functions except for the unified operation and management of the middleware and the specific logics for the middleware to implement network connection and status reset. Since the target middleware operation component has been added to the class loader corresponding to the target process, the middleware component and the target middleware operation component are two independent parts in the target process, realizing the decoupling between the target middleware operation component and the middleware.

[0057] S103. When an operation command is monitored, control at least one target middleware in the target class loader to perform a management operation according to the operation command.

[0058] In some embodiments, when the started target thread monitors a command sent by an external device or functional module to the external port of the middleware, the command is transmitted to the target class loader to control one or more target middlewares in the target class loader to perform corresponding management operations. In practical applications, the application started by the user may use one or more middlewares, and these middlewares constitute the target middleware. After receiving a command sent from the outside, management operations need to be performed on all these middlewares used by the application.

[0059] It should be noted that the management operation corresponds to the middleware management operation information. The management operation may be the initialization management of the target middleware or the status management of the target middleware, such as middleware status reset or status recovery. This is only an example here and is not specifically limited. Correspondingly, the middleware management operation information may be the specific method for implementing the initialization of the target middleware or the specific method for implementing the status management of the target middleware, etc.

[0060] In some embodiments, the target middleware operation component indicates the program logic for the target middleware to implement network connection and status reset. The target middleware operation component can be an SDK with specific functions. Specifically, the specific functions can be to implement the network connection and status reset of the target middleware. The specific functions of implementing the network connection and status reset of the target middleware are implemented through program code. After the program code for implementing the network connection and status reset function of the target middleware is packaged, the SDK corresponding to the target middleware operation component is formed.

[0061] It can be understood that in the embodiments of the present invention, the proxy component obtains the target process, adds the target middleware operation component to the target class loader corresponding to the target process, establishes a target thread in the target process, and uses the target thread to monitor the operation commands of the external port of the target middleware. When an operation command is monitored, according to the operation command, at least one target middleware in the target class loader is controlled to perform management operations. In this way, by adding the target middleware operation component including middleware management operation information to the target class loader, the independence between the middleware component and the target middleware operation component including middleware management operation information is ensured, and they can be upgraded flexibly and conveniently. The coupling degree between the middleware and the SDK for unified operation management of the middleware is reduced. At the same time, when an operation command of the external port of the middleware is monitored, unified management operations of the middleware can be implemented according to the operation command.

[0062] See Figure 2 , Figure 2 It is a schematic flowchart of a method for adding a target middleware operation component to a target class loader provided by an embodiment of the present invention. In the embodiments of the present invention, the target process is obtained, and the target middleware operation component is added to the target class loader corresponding to the target process through the proxy component. That is, step 101 may include:

[0063] S1011: When a physical information change occurs in the external container, start the proxy component process, specify the target process, and establish a target class loader corresponding to the target process.

[0064] It should be noted that the physical information change of the container is an external event. The container can be a hardware device, such as a server, etc. When the physical information changes, it can be that the Internet Protocol (IP) address of the container changes. Specifically, it can be that the IP address of the server changes.

[0065] In some embodiments, the Java Agent technology corresponding to the proxy component provides an Attach method that can be attached to a running proxy component process to dynamically execute a specified code logic. Among them, the proxy component process can be a Java process. When physical information of the external container changes, the Java Agent technology uses the Attach method to specify the process identification number (PID) of the target process, thereby linking to the target process. In the currently linked target process, a target class loader is established.

[0066] S1012. Add the program logic for the target middleware to implement network connection and status reset to the target class loader.

[0067] It can be understood that after the target class loader is established in the target process, the program code for implementing the network connection and status reset of the target middleware is added to the target class loader, so as to ensure that the program code for implementing the network connection and status reset of the target middleware is isolated from the Java classes in the target process and avoid problems caused by class conflicts.

[0068] In some embodiments, a way to implement adding the program logic for implementing network connection and status reset to the target class loader through the proxy component can be, for example, using the specification implementation method public static void premain(String agentArgs, Instrumentation inst) of the proxy component. In this method, a new class loader needs to be established to reload the program logic we need to inject into the new class loader. In addition, a new working thread is established to listen on the external service port. Here, port 10001 can be specified, or any other available service port. The external can use socket communication to send commands to port 10001 to control the target middleware to complete specified operations; under the Jar package META-INF / MANIFEST.MF file specified by the proxy component, specify Main-Class and write Agent-Class: className; package and generate an executable Jar file. The Jar file can be used as the execution program of the proxy component and can be directly started. Through the command interaction method, the program logic for implementing network connection and status reset is injected into the target class loader corresponding to the target process.

[0069] It should be noted that the program code for implementing the target middleware network connection and status reset can be extracted into an independent Java Archive (JAR) package to form a target middleware operation component. In some embodiments, the target middleware operation component follows a unified specification convention. For example, the specification convention can be:

[0070] 1) Provide a unified Operator implementation class. It is agreed that the Operator implementation class provides the implementation of the following 4 functions: public boolean init(); public boolean activate(); public boolean pause(); public boolean restore(); and the descriptors of the functions must be consistent with the specified ones.

[0071] 2) Provide a configuration file. Provide a configuration file in the JAR package of the target middleware operation component: META-INF / middleware / ${name}.operator, which is used to describe the system name of the current middleware, the core class of the middleware, the implementation class that complies with the Operator specification, and the lowest supported version. Table 1 is a specification configuration table of a target middleware operation component provided by an embodiment of the present invention. The specific configuration file parameters are as follows

[0072] As shown in Table 1:

[0073]

[0074] Table 1

[0075] It should be noted that in the target middleware operation component, only the middleware that follows the unified specification convention can, according to the unified specification convention, utilize the Java reflection principle to call the specific implementation of the middleware, and the specific implementation can include the unified operation method of the middleware.

[0076] After the target middleware operation component is formed, use the proxy component to inject the target middleware operation component that follows the unified specification convention into the target class loader corresponding to the current target process.

[0077] See Figure 3 , Figure 3 is a schematic flowchart of a method for performing management operations on a target middleware provided by an embodiment of the present invention. In the embodiment of the present invention, according to the operation command, control at least one target middleware in the target class loader to perform management operations, that is, step S103 may include:

[0078] S1031. Obtain the loaded class loader instance according to the operation command.

[0079] In some embodiments, when an externally sent operation command is monitored, a proxy component can be used to obtain all class loader instances after instantiation. The class loader instances can be obtained after instantiating the class loader according to the user's requirements during the runtime or operation of the application, and all class loader instances can be loaded by the Java virtual machine.

[0080] S1032. Obtain middleware configuration information corresponding to each of at least one target middleware in the target class loader.

[0081] It should be noted that the target class loader includes configuration information corresponding to each of all target middleware respectively. The configuration information can exist in the target class loader in the form of a configuration file, and the configuration information corresponding to each target middleware is associated with the target middleware or target middleware component information. The number of target class loaders corresponds to at least one target middleware.

[0082] S1033. Traverse the middleware configuration information corresponding to each of at least one target middleware.

[0083] Based on the obtained middleware configuration information corresponding to each of all target middleware, traverse the configuration information of each middleware in all target middleware in sequence. For example, if the target middleware includes middleware A, middleware B, and middleware C, then first traverse the configuration information of middleware A, then traverse the configuration information of middleware B, and finally traverse the configuration information of middleware C.

[0084] In some embodiments, if the middleware configuration information of the current target middleware includes a middleware component standard class, then using the reflection mechanism, instantiate the target middleware operation component corresponding to the current target middleware in the target class loader, call the target operation class method corresponding to the operation command from the class loader instance, and execute the management operation.

[0085] It should be noted that the reflection mechanism can specifically be the Java reflection mechanism. Instantiating the target middleware operation component corresponding to the current target middleware in the target class loader can include instantiating the operation class in the target middleware operation component. The operation class can specifically be the Operator class, and the Operator class includes various methods for uniformly operating on the middleware, such as initializing the middleware, activating the middleware, pausing the middleware, resetting the middleware, etc.

[0086] By calling the operation class method corresponding to the monitored operation command in the class loader instance, the management operation of the target middleware can be implemented. The monitored operation command is consistent with the method in the operation class. For example, when the monitored command is an initialization command, the method corresponding to initializing the middleware in the operation class is called to implement it. When the monitored command is a pause command, the method corresponding to pausing the middleware in the operation class is called to implement it. Of course, this is only an exemplary illustration here, and the embodiments of the present invention are not limited thereto.

[0087] It can be understood that in the embodiments of the present invention, it can be ensured that under the condition of low coupling, according to the monitored operation command, the target operation class method corresponding to the operation command is called to implement the unified operation management of the middleware, triggering the reset operation of the middleware completion state and the restoration of the network connection, etc.

[0088] See Figure 4 , Figure 4 FIG. is a schematic flowchart of a method for obtaining a class loader instance provided by an embodiment of the present invention. In the embodiments of the present invention, according to the operation command, the loaded class loader instance is obtained. That is, step 1031 may include:

[0089] S1031a. According to the operation command, all tool class objects corresponding to the target process are obtained through the proxy component.

[0090] It should be noted that the proxy component may specifically be a Java Agent, and the tool class object may specifically be an Instrumentation object. Correspondingly, obtaining all tool class objects corresponding to the target process through the proxy component may include using the Java Agent to obtain all Instrumentation objects in the target process.

[0091] S1031b. Based on the tool class object, the loaded class loader instance corresponding to the tool class object is obtained.

[0092] The tool class object includes the getAllLoadedClasses method. According to the getAllLoadedClasses method in the tool class object, all Java classes loaded by the Java virtual machine can be obtained, so as to obtain all class loader instances loaded by the JVM.

[0093] In some embodiments, the middleware component standard class includes: the core class of the middleware component, the specification class of the middleware management operation, and the minimum supported version of the middleware component.

[0094] It should be noted that the core class of the middleware component can specifically be the operator.core.classname class. When the middleware includes the core class of the middleware component, it indicates that unified management operations can be performed on this middleware. The specification class for middleware management operations can represent an implementation class that conforms to the v1 version specification of the operation class. The v1 version represents the initial version of the operation class. The core class of the middleware component can specifically be the operator.v1.classname class. Only the middleware that includes the operator.v1.classname class can call the implementation methods in the operation class through the Java reflection mechanism. The minimum supported version of the middleware component can specifically be operator.support.min.version. When the version of the middleware component corresponding to the middleware is older than this version, the unified management operation of the current middleware cannot be implemented. Only when the version of the middleware component corresponding to the current middleware is newer than this version can the unified management operation of the current middleware be implemented.

[0095] It can be understood that the standard class of the middleware component also includes the name of the middleware. For example, the names of the middleware are: Middleware A, Middleware B, and Middleware C. The name of the middleware is used to identify the specific middleware name to achieve traversing the middleware configuration information of the specific middleware in sequence, improving the access efficiency of the middleware configuration information corresponding to the target middleware.

[0096] See Figure 5 , Figure 5 is another schematic flowchart of the method for performing management operations on the target middleware provided by the embodiments of the present invention. In the embodiments of the present invention, after traversing the middleware configuration information corresponding to at least one target middleware, that is, after step 1033, it further includes:

[0097] S1034. If the middleware configuration information of the current target middleware does not include the core class of the middleware component, continue to judge the middleware configuration information corresponding to the next target middleware.

[0098] In some embodiments, when traversing the configuration information of the current target middleware, first traverse the core class of the middleware component. If the core class of the middleware component is not included in the configuration information of the current target middleware, it indicates that the user has not used the current middleware, and then continue to judge the configuration information of the next middleware.

[0099] In some other embodiments, before or after determining whether the core class of the middleware component is included in the target middleware, it should be determined whether the minimum supported version of the middleware component is included in the configuration information, and it should be determined whether the version of the middleware component corresponding to the current middleware is newer than the minimum supported version. Only when the current target middleware includes the core class of the middleware component and the version of the middleware component corresponding to the current middleware is newer than the minimum supported version of the middleware component in the configuration information can the determination of other configuration information in the current target middleware continue. If the current target middleware does not include the core class of the middleware component or the version of the middleware component corresponding to the current target middleware is lower than the minimum supported version, the determination of the configuration information in the current target middleware ends, and the determination of the configuration information in the next target middleware continues.

[0100] See Figure 6 , Figure 6 FIG. is a schematic flowchart of another method for performing management operations on a target middleware provided by an embodiment of the present invention. In the embodiment of the present invention, after traversing the middleware configuration information corresponding to at least one target middleware, that is, after step 1033, it further includes:

[0101] S1035. If the middleware configuration information of the current target middleware includes the minimum supported version of the middleware component and the core class of the middleware component but does not include the specification class for middleware management operations, the acquisition of the middleware configuration information in the target class loader ends.

[0102] It should be noted that when determining the configuration information of the current target middleware, if the configuration information of the current target middleware includes the core class of the middleware component, it indicates that the user uses this middleware, and unified management operations can be performed on the current target middleware. At the same time, if the version of the middleware component corresponding to the current target middleware is newer than the minimum supported version in the configuration information, it indicates that the version of the middleware component corresponding to the current target middleware meets the regulations and does not need to be upgraded. After that, it is necessary to determine whether the specification class for middleware management operations is included in the configuration information of the current target middleware. If it is included, it indicates that the method in the operation class can be called using the Java reflection mechanism. After the determination of all the target middleware configuration information is completed, the unified management operation of the middleware is executed; if the specification class for middleware management operations is not included in the configuration information of the current target middleware, it indicates that the unified management operation of the middleware cannot be finally implemented. At this time, the acquisition of the middleware configuration information in the target class loader ends.

[0103] In some embodiments, the operation of using a target thread to monitor the external port of the target middleware includes: when the target middleware communicates with the server, using the target thread to monitor and receive the operation instructions sent by the server to the external port of the target middleware.

[0104] It should be noted that the server communicating with the target middleware can be a middleware server or other servers that can or need to communicate with the middleware. The communication connection method can be a Socket connection, and the external port of the target middleware can be the port for communicating with the server. In practical applications, an external port for communication connection is opened in the target thread to wait for the communication connection with the server. When the server sends an operation command to the target middleware, the operation command sent by the server is received by the external port of the middleware.

[0105] See Figure 7 , Figure 7 is a schematic flowchart of another processing method of the middleware provided by an embodiment of the present invention. In the embodiment of the present invention, after controlling at least one target middleware in the target class loader to execute a management operation, that is, after step 103, it further includes:

[0106] S104. End the listening of the target thread to the external port of the target middleware and release the target thread.

[0107] After executing the management operation on at least one target middleware, the target thread established in the target process before is no longer necessary to occupy, and the port number opened before is no longer necessary to remain in the target process. At this time, the listening of the port number can be ended by sending a Stop command to the target process, and the target thread can be released so that the target thread can execute other tasks in the target process.

[0108] In some embodiments, after releasing the target thread, the program logic for implementing the middleware network connection and status reset will be stored in the metadata area of the JVM. When the middleware needs to be uniformly managed next time, the program logic for implementing the middleware network connection and status reset can also be injected into the target process in the same way through the proxy component to implement the listening of the target thread and the port number.

[0109] In some embodiments, the management operation includes at least one of the following: initialization operation, activation operation, pause operation, and reset operation. The management operation realizes the unified management operation of all target middleware. The initialization operation can be to initialize the state of the middleware, the activation operation can be to activate the state of the middleware, the pause operation can be to pause the state of the middleware, and the reset operation can be to activate the state of the middleware. Of course, the management operation includes but is not limited to the initialization operation, activation operation, pause operation, and reset operation. This is only an exemplary description here, and the embodiments of the present invention do not make specific limitations on this.

[0110] Next, the implementation process of the embodiment of the present invention in an actual application scenario will be introduced.

[0111] Figure 8 This is a schematic diagram of the method flow for the middleware to perform unified management operations provided by an embodiment of the present invention. Refer to Figure 8 , the process for the middleware to execute a unified external command includes:

[0112] S201. Start a working thread to receive an external command.

[0113] As Figure 9 shown, this is a flowchart of the middleware to perform unified management operations provided by an embodiment of the present invention. In the working thread (target process), a working thread (target thread) is created, and the working thread is used to listen on an external service port (the external port of the target middleware), specifying port 1001, waiting for a Socket connection. Externally, Socket communication can be used to send a command (operation command) to port 10001 to control the middleware to complete a specified operation (controlling at least one target middleware in the target class loader to perform a management operation).

[0114] By opening a port for receiving external commands in the target process, after receiving an instruction, all implementation classes of the middleware SDK can be found, and specific implementation classes can be called through reflection to complete the unified management operation of the middleware.

[0115] S202. When an external command is received, obtain all ClassLoader instances.

[0116] When the application is running, there may be multiple ClassLoaders (class loader instances) inside the application. For example, under the application server tomcat, multiple applications may be started, resulting in multiple ClassLoaders. Each ClassLoader may maintain its own set of middleware SDK implementations, and each ClassLoader using the middleware SDK (middleware component) needs to load the Operator SDK (target middleware operation component) of the middleware.

[0117] Therefore, in Figure 9 , when a certain external command (operation command) is received, the external command is processed to obtain a command processing result. The Instrumentation object (tool class object) is obtained using a Java Agent (agent component). According to the getAllLoadedClasses method of this object, all Java classes loaded by the JVM can be obtained, and thus all ClassLoader instances (class loader instances) loaded by the Jvm can be obtained.

[0118] S203. Obtain and traverse the configuration information of all middleware in the ClassLoader.

[0119] AsFigure 9 As shown, access each ClassLoader (the target class loader), use the current ClassLoader to load the Operator SDK Jar package provided by the middleware, read all the convention configuration files of the middleware Operator SDK, traverse them in order, access the configuration information of one of the middleware (traverse the middleware configuration information corresponding to at least one target middleware), and obtain the two class names of operator.core.classname (the core class of the middleware component) and operator.v1.classname (the specification class for middleware management operations) in the middleware SDK configuration.

[0120] If the current ClassLoader contains the class operator.core.classname, it means that the current middleware SDK is used, and continue to execute the next step; otherwise, make a jump, continue to access the configuration file of the next middleware SDK, and perform corresponding operations (if the middleware configuration information of the current target middleware does not include the core class of the middleware component, continue to judge the middleware configuration information corresponding to the next target middleware).

[0121] If the current ClassLoader contains the class operator.v1.classname, it means that the current middleware SDK meets the specifications we agreed upon. At the same time, if the current ClassLoader contains operator.support.min.version (the minimum supported version of the middleware component), it means that the version of the current middleware SDK meets the requirements, and then the next step can be executed; otherwise, it means that the user's application of the current middleware SDK is not standardized, the version of the current middleware SDK does not meet the regulations, and the unified operation cannot be finally achieved, and directly return failure, and the access to the middleware configuration information ends (if the middleware configuration information of the current target middleware includes the minimum supported version of the middleware component and the core class of the middleware component, but does not include the specification class for the middleware management operation, then end the acquisition of the middleware configuration information in the target class loader).

[0122] S204. Perform unified management operations on the middleware according to external commands.

[0123] Through the Java Instrumentation object (tool class object), obtain all ClassLoader instances (class loading instances) of the target process, traverse each ClassLoader, and under each ClassLoader, for each middleware SDK, determine whether it references the core class (the core class of the middleware component) and the Operator implementation class (the specification class for middleware management operations). If both are satisfied, then through the reflection mechanism, call the middleware Operator SDK to complete the specified operation (call the method of the target operation class corresponding to the operation command to execute the management operation).

[0124] Specifically, according to the current ClassLoader (target class loader) and the class name of operator.v1.classname (the specification class for middleware management operations), use the Java reflection mechanism to instantiate the Operator class (target operation class) of the middleware SDK, and call the specific implementation method (the method of the target operation class corresponding to the operation command) according to the external command to achieve unified management operations on the middleware (use the reflection mechanism to instantiate the target middleware operation component corresponding to the current target middleware in the target class loader, and call the method of the target operation class corresponding to the operation command from the class loader instance to execute the management operation).

[0125] S205. End and exit the unified management operation of the middleware.

[0126] After the middleware Operator SDK (target middleware operation component) finishes the unified management operation, the working thread (target thread) and port number we injected before are no longer necessary to stay in the user process (target process). We can send a Stop command to end the port number (external port of the target middleware) listening and destroy the working thread (end the listening of the target thread to the external port of the target middleware and release the target thread). If we need to perform operations again next time, we can still use the Java Agent method to inject program code to implement the working thread and port number listening.

[0127] It can be understood that the embodiments of the present invention can achieve a state of low coupling, that is, each middleware SDK does not need to add extra code, is independent of each other, is flexible and convenient to upgrade, and at the same time can uniformly manage the middleware SDK and trigger and control all middleware to perform corresponding operations.

[0128] See Figure 10 , Figure 10 is a schematic diagram of the method flow executed by a Java Agent provided by the embodiments of the present invention. The execution process of the Java Agent includes:

[0129] S301. When the container physical information changes, start the Java Agent process (start the proxy component process) and specify the target process.

[0130] The Java Agent (proxy component) technology provides an Attach method that can dynamically execute a specified piece of code during the running of a Java process. First, provide a Java Agent program. As Figure 11 shown, it is a flowchart of the execution process of a Java Agent provided by an embodiment of the present invention. When the container physical information changes (the external container's physical information changes), start the Java Agent process (proxy component process), Attach to the specified target process PID (specify the target process), and execute the premain method in the target process so that the target process executes the specified code logic.

[0131] S302. Establish a new ClassLoader, and add the logic for unified middleware operation management and the logic for implementing network connection and status reset to the ClassLoader.

[0132] The middleware Operator SDK (target middleware operation component) follows unified specification conventions. The middleware Operator SDK needs to comply with three specifications: First, provide an implementation class of the Operator according to the specification. The implementation class contains the agreed functions (target operation class methods), and the function descriptors cannot change; Second, provide a configuration file according to the specification to describe the system name of the current middleware SDK, the core class (the core class of the middleware component), the implementation class of the Operator (the specification class for middleware management operations), and the minimum supported version number (the lowest supported version of the middleware component); Third, provide the final Jar package implementation.

[0133] Extract the code logic for implementing status reset and network connection restoration into an independent Jar package, which is named middleware Operator SDK. This Jar package needs to meet the three specifications mentioned above for the middleware Operator SDK. Then, the implementation of the middleware Operator SDK can be injected into the corresponding ClassLoader of the target process using Java Agent and wait to be used.

[0134] It should be noted that by using the Java Agent method, program code (the program logic for the target middleware to implement network connection and status reset) can be dynamically injected into the target process (the target process), which may include: implementing the method public static void premain(String agentArgs, Instrumentation inst) according to the Java Agent specification. In this method, a new ClassLoader (the target class loader corresponding to the target process) needs to be established. Under the Jar package META-INF / MANIFEST.MF file, specify the Main-Class, write Agent-Class: className, and package it to generate an executable Jar file. Reload the code we need to inject (the program logic for the target middleware to implement network connection and status reset) into the new ClassLoader (add the target middleware operation component to the target class loader corresponding to the target process) and wait for use.

[0135] S303. Create a working thread in the target process to listen to the external service port.

[0136] As Figure 11 shown, a new working thread (the target thread) is established to listen to the external service port (the operation command to use the target thread to listen to the external port of the target middleware). Here, port 10001 is specified. Externally, Socket communication can be used (the target middleware communicates with the server) to send commands to port 10001 to control the middleware to complete the specified operations (control at least one target middleware in the target class loader to perform management operations according to the operation command).

[0137] In the embodiment of the present invention, by using the Java Agent method, program code is dynamically injected into the target process, and the class resources of the target process and the injected program are isolated through the ClassLoader, reducing the coupling between the injection program for the unified operation management and completion of the status reset operation and network connection recovery of the middleware and the middleware components.

[0138] In some embodiments, as Figure 12 shown, it is the overall schematic diagram of the system of a processing method for middleware provided by the embodiment of the present invention. Refer to Figure 12 , and the overall principle of the system of the processing method for middleware in the embodiment of the present invention will be described below.

[0139] It should be noted that when the application is running, multiple middleware SDKs (middleware components) may be used in the process, such as middleware SDK a, middleware SDK b, and middleware SDK c. All middleware SDKs establish network connections with the server side (the target middleware communicates with the server) and store their own status data. The server that establishes a network connection with the middleware component can be a middleware server.

[0140] When the physical information of the container changes, use Java Agent to attach to the target process, and inject corresponding new code that implements the logic of unified middleware operation management and the logic of network connection and status reset into the target process. The user starts the Java process (agent component process) to provide normal services for the user. After the program runs, a new working thread (target thread) is started in the target process, and a port number is opened to listen for external commands (operation commands). When an external command is received, load the Operator SDK provided by the middleware, and use the agreed specifications and reflection principle (reflection mechanism) to trigger the middleware to perform corresponding management operations.

[0141] It can be understood that in the embodiments of the present invention, by separating the logic of unified middleware operation management and the logic of the middleware's specific implementation of network connection and status reset (middleware Operator SDK), and then using the JavaAgent method to inject these two parts of the logic into the target process; according to the unified specifications of the middleware Operator SDK (target middleware operation component), using the reflection method (reflection mechanism), call the implementation class of the middleware (operation implementation class) to complete operations such as specified status reset or restoring network connection. Adopting this solution, the logic of middleware reset and network connection restoration does not need to be placed in the middleware SDK (middleware component), and complete decoupling from the middleware SDK can be achieved. The embodiments of the present invention also provide a structural schematic diagram of a middleware processing device. Figure 13 For the structural schematic diagram of a middleware processing device provided by the embodiments of the present invention, as Figure 13 shown, the middleware processing device 1 includes:

[0142] An operation component loading unit 11, configured to obtain a target process, and add a target middleware operation component to a target class loader corresponding to the target process through an agent component. The target class loader contains at least one target middleware; the target middleware operation component includes middleware management operation information.

[0143] The operation command monitoring unit 12 is used to establish a target thread in the target process, and use the target thread to monitor the operation commands of the external port of the target middleware. The target process includes a middleware component, and the target middleware operation component and the middleware component are isolated from each other;

[0144] The management operation unit 13 is used to, when the operation command is monitored, control the at least one target middleware in the target class loader to execute a management operation according to the operation command, and the management operation corresponds to the middleware management operation information.

[0145] In some embodiments of the present invention, the operation component loading unit 11 is further used to, when a physical information change occurs in an external container, start a proxy component process, specify the target process, and establish the target class loader corresponding to the target process; add the program logic for the target middleware to implement network connection and status reset to the target class loader.

[0146] In some embodiments of the present invention, the management operation unit 13 is further used to, according to the operation command, obtain the loaded class loader instance; obtain the middleware configuration information corresponding to each of the at least one target middleware in the target class loader; the number of the target class loaders corresponds to the at least one target middleware; traverse the middleware configuration information corresponding to each of the at least one target middleware. If the middleware configuration information of the current target middleware includes the standard class of the middleware component, then use the reflection mechanism to instantiate the target middleware operation component corresponding to the current target middleware in the target class loader, and call the target operation class method corresponding to the operation command from the class loader instance to execute the management operation. The standard class of the middleware component includes: the core class of the middleware component, the specification class of the middleware management operation, and the minimum supported version of the middleware component.

[0147] In some embodiments of the present invention, the management operation unit 13 is further used to, according to the operation command, obtain all the tool class objects corresponding to the target process through the proxy component; based on the tool class objects, obtain the loaded class loader instance corresponding to the tool class objects.

[0148] In some embodiments of the present invention, after traversing the middleware configuration information corresponding to each of the at least one target middleware, the management operation unit 13 is further used to, if the middleware configuration information of the current target middleware does not include the core class of the middleware component, then continue to judge the middleware configuration information corresponding to the next target middleware.

[0149] In some embodiments of the present invention, after traversing the middleware configuration information corresponding to each of the at least one target middleware, the management operation unit 13 is further configured to end the acquisition of the middleware configuration information in the target class loader if the middleware configuration information of the current target middleware includes the minimum supported version of the middleware component and the core class of the middleware component, but does not include the specification class of the middleware management operation.

[0150] In some embodiments of the present invention, the operation command monitoring unit 12 is further configured to, when the target middleware communicates with the server, use the target thread to monitor and receive the operation instruction sent by the server to the external port of the target middleware.

[0151] In some embodiments of the present invention, the middleware processing device 1 further includes: a command operation end unit 14.

[0152] The command operation end unit 14 is configured to end the monitoring of the external port of the target middleware by the target thread and release the target thread after controlling the at least one target middleware in the target class loader to execute the management operation.

[0153] An embodiment of the present invention further provides a structure of a middleware processing device. Figure 14 FIG. is a schematic structural diagram of a middleware processing device provided by an embodiment of the present invention. As Figure 14 shown, the middleware processing device 2 includes: a memory 21 and a processor 22. Among them, the memory 21 is used to store executable middleware processing instructions; the processor 22 is configured to implement the method provided by the embodiment of the present invention when executing the executable algorithm middleware processing instructions stored in the memory, such as the middleware processing method provided by the embodiment of the present invention.

[0154] An embodiment of the present invention provides a computer-readable storage medium storing executable middleware processing instructions, which are used to cause the processor 22 to execute and implement the method provided by the embodiment of the present invention when executed, for example, the middleware processing method provided by the embodiment of the present invention.

[0155] In some embodiments of the present invention, the storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface memory, optical disc, or CD-ROM; or it may be various devices including one or any combination of the above memories.

[0156] It should be noted that in this text, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, such that a process, method, apparatus or device comprising a series of elements not only includes those elements but also includes other elements not expressly listed, or further includes elements inherent to such process, method, apparatus or device. Without further limitation, elements defined by the statement "at least one..." do not preclude the presence of additional identical elements in the process, method, apparatus or device comprising such element.

[0157] In several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division, and there may be other division methods in actual implementation. For example, multiple units or components can be combined, or can be integrated into another system, or some features can be ignored or not executed. In addition, the couplings, direct couplings, or communication connections between the various components shown or discussed can be through some interfaces, and the indirect couplings or communication connections of devices or units can be electrical, mechanical or other forms.

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

[0159] In addition, in each embodiment of the present invention, the various functional units can all be integrated in one processing unit, or each unit can be separately used as a unit, or two or more units can be integrated in one unit; the above-mentioned integrated units can be implemented in the form of hardware, or in the form of a combination of hardware and software functional units.

[0160] The above is only a preferred embodiment of the present invention and is not intended to limit the protection scope of the present invention. Any modifications, equivalent replacements, and improvements made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A method for processing middleware, characterized in that, Including: When a physical information change occurs in the external container, start the proxy component process, specify the target process, and establish a target class loader corresponding to the target process, where the target class loader contains at least one target middleware; Add the target middleware operation component to the target class loader, where the target middleware operation component includes middleware management operation information, indicating the program logic for the target middleware to implement network connection and status reset; Establish a target thread in the target process, and use the target thread to listen for operation commands on the external port of the target middleware. The target process includes a middleware component, and the target middleware operation component and the middleware component are isolated from each other; When the operation command is detected, control the at least one target middleware in the target class loader to execute a management operation according to the operation command, and the management operation corresponds to the middleware management operation information.

2. The method for processing middleware according to claim 1, characterized in that, The controlling the at least one target middleware in the target class loader to execute a management operation according to the operation command includes: Obtain the loaded class loader instance according to the operation command; Obtain the middleware configuration information corresponding to each of the at least one target middleware in the target class loader; the number of target class loaders corresponds to the at least one target middleware; Traverse the middleware configuration information corresponding to each of the at least one target middleware. If the middleware configuration information of the current target middleware includes the core class of the middleware component, use the reflection mechanism to instantiate the target middleware operation component corresponding to the current target middleware in the target class loader, and call the target operation class method corresponding to the operation command from the class loader instance to execute the management operation.

3. The method for processing middleware according to claim 2, characterized in that, The obtaining the loaded class loader instance according to the operation command includes: According to the operation command, obtain all tool class objects corresponding to the target process through the proxy component; Based on the tool class objects, obtain the loaded class loader instances corresponding to the tool class objects.

4. The method for processing middleware according to claim 2, characterized in that, The core class of the middleware component, the specification class of the middleware management operation, and the minimum supported version of the middleware component.

5. The method for processing middleware according to claim 4, characterized in that, After traversing the middleware configuration information corresponding to each of the at least one target middleware, the method further includes: If the middleware configuration information of the current target middleware does not include the core class of the middleware component, continue to judge the middleware configuration information corresponding to the next target middleware.

6. The method for processing middleware according to claim 4, characterized in that, After traversing the middleware configuration information corresponding to each of the at least one target middleware, the method further includes: If the middleware configuration information of the current target middleware includes the minimum supported version of the middleware component and the core class of the middleware component, but does not include the specification class of the middleware management operation, end the acquisition of the middleware configuration information in the target class loader.

7. The method for processing middleware according to any one of claims 1 to 6, characterized in that, The using the target thread to listen for operation commands on the external port of the target middleware includes: When the target middleware communicates with the server, use the target thread to listen for and receive the operation instruction sent by the server to the external port of the target middleware.

8. The method for processing middleware according to claim 1, characterized in that, After controlling the at least one target middleware in the target class loader to perform management operations, the method further includes: End the listening of the target thread to the external port of the target middleware and release the target thread.

9. The method for processing middleware according to claim 1, characterized in that, The management operations include at least one of the following: initialization operation, activation operation, suspension operation, and reset operation.

10. A device for processing middleware, characterized in that, Includes: An operation component loading unit, configured to start a proxy component process when physical information changes in an external container, specify a target process, establish a target class loader corresponding to the target process, and add a target middleware operation component to the target class loader; the target class loader contains at least one target middleware; the target middleware operation component includes middleware management operation information indicating program logic for the target middleware to implement network connection and status reset. An operation command listening unit, configured to establish a target thread in the target process, use the target thread to listen for operation commands on the external port of the target middleware, the target process includes a middleware component, and the target middleware operation component and the middleware component are isolated from each other. A management operation unit, configured to, when the operation command is listened, control the at least one target middleware in the target class loader to perform a management operation according to the operation command, and the management operation corresponds to the middleware management operation information.

11. A device for processing middleware, characterized in that, Includes: A memory, configured to store processing instructions for an executable middleware. A processor, configured to implement the method according to any one of claims 1 to 9 when executing the processing instructions for the executable middleware stored in the memory.

12. A computer-readable storage medium, characterized in that, Stored with processing instructions for an executable middleware, configured to cause the processor to implement the method according to any one of claims 1 to 9 when executed.

Citation Information

Patent Citations

  • An assembly dynamic pluggable system of Internet of Things middleware

    CN109918148A

  • Application program loading method, application program loading device, medium and equipment

    CN112068903A