Plug-in loading method and plug-in management method

By combining the plugin management center and message middleware, the timing problem of plugin loading and plugin consumer deployment in microservice architecture is solved, realizing the time-free deployment of plugins and enhancing the flexibility of the system.

WO2026001599A1PCT designated stage Publication Date: 2026-01-02ZTE CORP
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/099091
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-28
Filing Date
2025-06-04
Publication Date
2026-01-02

AI Technical Summary

Technical Problem

In a microservice architecture, there are strict timing requirements between plugin loading and plugin consumer deployment, which makes system installation and deployment complex and cumbersome. In particular, when there are dependencies between plugins, the system's flexibility and scalability are limited.

Method used

By combining the plugin management center and message middleware, the plugin consumer is only responsible for loading the required plugins, while the plugin management center is responsible for the deployment and management of plugins, thus decoupling plugin deployment from plugin consumer deployment. The plugin consumer can perceive the deployed plugins in real time through the plugin information list and load them accordingly.

Benefits of technology

It enables timeless deployment of plugins, reduces the complexity of system deployment, enhances the flexibility of plugin deployment and system, and adapts to the needs of different context environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025099091_02012026_PF_FP_ABST
    Figure CN2025099091_02012026_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the embodiments of the present disclosure are a plug-in loading method and a plug-in management method. The plug-in loading method comprises: acquiring a plug-in information list from a plug-in management center, the plug-in information list being used for recording plug-in information of deployed plug-ins of the plug-in management center; and loading a target plug-in according to the plug-in information list.
Need to check novelty before this filing date? Find Prior Art

Description

Plug-in loading method and plug-in management method

[0001] Cross-reference of related disclosures

[0002] The present disclosure is based on Chinese patent publication 2024108625758 entitled "Plug-in loading method and plug-in management method" filed on June 28, 2024, and claims priority to the patent publication, the disclosure of which is incorporated by reference in its entirety. TECHNICAL FIELD

[0003] Embodiments of the present disclosure relate to the technical field of computer application, in particular, to a plug-in loading method and a plug-in management method. BACKGROUND

[0004] A plug-in is a way to dynamically extend an application by inserting new components that provide additional functionality. The loading of different plug-ins allows an application to provide different functionality as needed. In addition, plug-in technology allows the development of new functionality to be independent of the main application development, reducing the complexity of the application itself.

[0005] Before the advent of microservices technology, there were two common techniques for loading plug-ins. One is a source code-based plug-in loading technique. In this scheme, plug-ins are loaded and used at the code level. When it comes to compilation, the plug-in consumer and the plug-in are linked into a single executable program. When it is necessary to modify the plug-in or provide additional plug-ins, although the plug-in is explicitly separated from the main program in the source code changes, the entire application must be recompiled or at least relinked. In the compile-time plug-in, the plug-in is usually implemented in a package or namespace. The second is a dynamic positioning and loading-based plug-in loading technique. Modern application frameworks (such as Java,.NET, etc.) provide support for dynamic positioning and loading technology. During compilation, the plug-in will not be statically linked with the plug-in consumer. The plug-in and the plug-in consumer are both compiled into closed ready-to-use software building blocks. There is a specific plug-in management mechanism in the plug-in consumer to find all available plug-ins and load them as needed. The plug-in consumer interacts with the plug-in by creating a specific type of object that implements the plug-in specification definition. In these two types of plug-in loading techniques, the plug-in is loaded and activated by the plug-in consumer, and the plug-in itself cannot run alone. The implementation of the plug-in in the runtime plug-in is usually in the form of a dynamic library, such as a jar, so, dll file. In general, the plug-in is specifically built for the plug-in consumer, and the plug-in is tightly bound to the application for which it is developed, so it cannot be used in other contexts or applications.

[0006] With the development of cloud computing, microservice architecture has gradually become a fact paradigm for application deployment in modern cloud platforms. In a microservice-based architecture, there are multiple modules, each of which is executed by a separate microservice. Microservices have good usability, can provide a standardized and standardized application programming interface (API) catalog, and the provided API can be called by common standard access mechanisms (such as HTTP). There is no code coupling between microservices and other parts of the system, and each microservice is deployed separately and runs in its own process. This feature makes microservices have good reusability and can adapt to various context environments to provide services for different applications. However, compared with plug-ins, newly added microservices will not be automatically used after deployment and require developer intervention. For example, when a microservice A needs to call the API of a newly added microservice B, the developer must manually extend microservice A to enable it to interact with the newly added microservice B. The developer's extension of microservice A usually involves code modification.

[0007] Under the microservice architecture, plug-ins are expected to inherit the usability and reusability of microservices while retaining their ability to extend. Microservice plug-ins are a natural choice, and at this time, plug-ins are both microservices and comply with plug-in specifications. How to load plug-ins is a problem worth attention. An obvious technical solution is to load microservice plug-ins first, then deploy plug-in consumers, and after deployment, obtain the loaded microservice plug-in information and hand over related tasks to the plug-in. The problem with this technical solution is that the loading of plug-ins requires a timing requirement. In addition, there is a type of plug-in that is more lightweight and does not undertake computing tasks, only needs model-related data, and does not need to be transformed into a microservice. How to load this type of plug-in is also a problem to be solved. In existing technical solutions, plug-in consumers need to be deployed first, and then plug-ins are uploaded to the plug-in consumers to complete the loading of the plug-ins. This technical solution also causes a strict timing restriction between the loading of plug-ins and the deployment of plug-in consumers. When there are both types of plug-ins in the system, some plug-ins need to be loaded before the deployment of plug-in consumers, and the other plug-ins need to be loaded after the deployment of plug-in consumers, which makes the installation and deployment of the entire system extremely complex and cumbersome. In addition, when there is a dependency relationship between plug-ins, plug-ins use other plug-ins as plug-in consumers. In this case, the loading of plug-ins will also have a timing requirement. If the timing problem of plug-in loading and plug-in consumer deployment is not solved, as the system continues to evolve and upgrade, the number of plug-ins and plug-in consumers increases, and the dependency relationship between them becomes more complex, the installation and deployment of the system will become a disaster.

[0008] In summary, there is no good solution to the above problems. SUMMARY

[0009] The embodiment of the disclosure provides a plug-in loading method and a plug-in management method.

[0010] According to an embodiment of the disclosure, a plug-in loading method is provided, and the method is applied to a plug-in consumer, and the method comprises the following steps: obtaining a plug-in information list from a plug-in management center, wherein the plug-in information list is used for recording plug-in information of a plug-in deployed by the plug-in management center; searching for a target plug-in in the plug-in information list; and loading the target plug-in in the case of successful searching.

[0011] According to another embodiment of the disclosure, a plug-in management method is provided, and the method is applied to a plug-in management center, and the method comprises the following steps: obtaining a plug-in to be deployed, reading plug-in information in the plug-in and storing the plug-in; deploying the plug-in; and recording plug-in information of the deployed plug-in to a plug-in information list, wherein the plug-in information list is used for indicating a plug-in that can be loaded by a plug-in consumer.

[0012] According to another embodiment of the disclosure, a plug-in management system is provided, and the system comprises a plug-in management center and a plug-in consumer; the plug-in management center is used for performing plug-in deployment and management according to any one of the method embodiments on the plug-in management center side; and the plug-in consumer is used for performing plug-in loading according to any one of the method embodiments on the plug-in consumer side.

[0013] According to another embodiment of the disclosure, a computer readable storage medium is further provided, and the storage medium stores a computer program, wherein the computer program is run by a processor to perform the steps in any one of the method embodiments.

[0014] According to another embodiment of the disclosure, an electronic device is further provided, and the electronic device comprises a memory and a processor, the memory stores a computer program, and the processor is configured to run the computer program to perform the steps in any one of the method embodiments.

[0015] According to another embodiment of the disclosure, a computer program product is further provided, and the computer program product comprises a computer program, and the computer program is run by a processor to perform the steps in any one of the method embodiments. BRIEF DESCRIPTION OF DRAWINGS

[0016] FIG. 1 is a hardware structure block diagram of a plug-in loading method according to an embodiment of the disclosure;

[0017] FIG. 2 is a flowchart of a plug-in loading method according to an embodiment of the disclosure;

[0018] FIG. 3 is a flowchart of a plug-in management method according to an embodiment of the disclosure;

[0019] Figure 4 is a block diagram of the plug-in management system according to an embodiment of the present disclosure;

[0020] Figure 5 is a structural diagram of the plug-in management center according to an embodiment of the present disclosure;

[0021] Figure 6 is a structural diagram of the plug-in according to an embodiment of the present disclosure;

[0022] Figure 7 is a diagram of the interaction mechanism of the plug-in management system according to an embodiment of the present disclosure;

[0023] Figure 8 is a diagram of the plug-in loading process according to an embodiment of the present disclosure;

[0024] Figure 9 is a diagram of the plug-in deployment process according to an embodiment of the present disclosure;

[0025] Figure 10 is a diagram of the plug-in usage process according to an embodiment of the present disclosure;

[0026] Figure 11 is a diagram of the plug-in state monitoring process according to an embodiment of the present disclosure;

[0027] Figure 12 is a diagram of the menu plug-in deployment process according to an embodiment of the present disclosure;

[0028] Figure 13 is a diagram of the menu plug-in usage process according to an embodiment of the present disclosure;

[0029] Figure 14 is a diagram of the menu plug-in state monitoring process according to an embodiment of the present disclosure;

[0030] Figure 15 is a diagram of the backup recovery plug-in deployment process according to an embodiment of the present disclosure;

[0031] Figure 16 is a diagram of the backup recovery plug-in usage process according to an embodiment of the present disclosure;

[0032] Figure 17 is a diagram of the backup recovery plug-in state monitoring process according to an embodiment of the present disclosure;

[0033] Figure 18 is a diagram of the plug-in deployment process when there is a dependency between plug-ins according to an embodiment of the present disclosure;

[0034] Figure 19 is a diagram of the plug-in usage process when there is a dependency between plug-ins according to an embodiment of the present disclosure;

[0035] Figure 20 is a diagram of the plug-in state monitoring process when there is a dependency between plug-ins according to an embodiment of the present disclosure;

[0036] Figure 21 is a diagram of the plug-in management interface according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0037] Embodiments of the present disclosure will be described below in detail with reference to the accompanying drawings and in conjunction with embodiments.

[0038] It should be noted that the terms "first", "second" and the like in the description and claims of the present disclosure and the above drawings are used to distinguish similar objects, and do not necessarily indicate a specific order or sequence.

[0039] The embodiments of the present disclosure can be applied to the micro-service architecture, realize the non-timed deployment of the plug-in under the micro-service architecture, and eliminate the time sequence restriction between the deployment of the plug-in and the deployment of the main application (plug-in consumer) in the system.

[0040] The method embodiments provided in the embodiments of the present disclosure can be executed in a mobile terminal, a computer terminal or similar computing devices. Taking the computer terminal as an example, Fig. 1 is a hardware structure block diagram of the plug-in loading method of the embodiments of the present disclosure, as shown in Fig. 1, the hardware single board can include one or more (only one is shown in Fig. 1) processors 12 (the processor 12 can include but not limited to a processing device such as a microprocessor or programmable logic device) and a memory 14 configured to store data, wherein the above computer terminal can further include a transmission device 16 configured to have a communication function and an input and output device 18. Those skilled in the art can understand that the structure shown in Fig. 1 is only schematic, which does not limit the structure of the above computer terminal. For example, the computer terminal can further include more or less components than those shown in Fig. 1, or have a different configuration from that shown in Fig. 1.

[0041] The memory 14 can be configured to store computer programs, for example, software programs of application software and modules, such as the computer program corresponding to the plug-in loading method in the embodiments of the present disclosure. The processor 12 executes various functions, the plug-in loading method and the plug-in management method by running the computer program stored in the memory 14, that is, implements the above method. The memory 14 can include a high-speed random access memory, and can further include a non-volatile memory, such as one or more magnetic storage devices, flash memories, or other non-volatile solid-state memories. In some examples, the memory 14 can further include a memory remotely arranged with respect to the processor 12, which can be connected to the computer terminal through a network. Examples of the above network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network and a combination thereof.

[0042] The transmission device 16 is configured to receive or send data via a network. Specific examples of the network can include a wireless network provided by a communication provider. In one example, the transmission device 16 includes a network interface controller (NIC) that can be connected to other network devices through a base station so as to be able to communicate with the Internet. In one example, the transmission device 16 can be a radio frequency (RF) module configured to communicate with the Internet in a wireless manner.

[0043] In an embodiment of the present disclosure, a plug-in loading method is provided, which is applied to a plug-in consumer. The plug-in consumer can be a micro-service capable of being independently deployed, supporting normal operation of a certain business function, and using a plug-in in a running stage. For example, the plug-in consumer can be an application, a service or a system, or a plug-in.

[0044] FIG. 2 is a flowchart of the plug-in loading method according to an embodiment of the present disclosure. As shown in FIG. 2, the flow includes the following steps:

[0045] In step S202, plug-in information list is obtained from a plug-in management center.

[0046] In step S204, a target plug-in is loaded according to the plug-in information list.

[0047] In the embodiment, the plug-in information list in step S202 is used to record plug-in information of the plug-in deployed by the plug-in management center. The plug-in management center is a component / unit / application specially configured in the embodiment of the present disclosure to be responsible for deployment and management of plug-ins.

[0048] In the embodiment of the present disclosure, through the above steps S202 to S204, the plug-in management center is specially responsible for deployment and management of plug-ins, and the plug-in consumer only loads required plug-ins, thereby realizing decoupling of plug-in deployment and plug-in loading, and also realizing decoupling of plug-in deployment and deployment of the plug-in consumer. Through the plug-in management center and the message middleware, the plug-in consumer can master plug-in information already deployed in the environment according to the plug-in information list, realize loading and calling of the deployed plug-in, and further solve the problem that deployment of the plug-in consumer and deployment of the plug-in exist restrictions in time sequence in the related art.

[0049] In an example embodiment, the plug-in consumer can be a plug-in, and thus, the plug-in loading when there is a dependency relationship between plug-ins can be implemented by the plug-in loading method in the embodiment of the present disclosure. When there is a dependency relationship between plug-ins, each plug-in can be independently deployed, and there is no limitation on the deployment sequence. When there are multiple plug-ins in the system and there is a dependency relationship between the plug-ins, the complexity of the entire system on plug-in deployment can be reduced, and the flexibility of plug-in deployment and system deployment is stronger.

[0050] In some embodiments, after step S202, the method further includes step S203 of updating the plug-in information list. Step S203 can include the following steps:

[0051] Step S2032, obtaining a plug-in deployment completion message by listening to the message middleware, wherein the plug-in deployment completion message is sent by the plug-in management center to the message middleware after the deployment of any plug-in is completed, and the plug-in deployment completion message carries the plug-in information of the plug-in;

[0052] Step S2034, updating the plug-in information of the plug-in carried in the plug-in deployment completion message to the plug-in information list.

[0053] In the embodiment, the message middleware is a component independent of the micro-service plug-in, the plug-in consumer, and the plug-in management center, and can provide the function of sending and receiving asynchronous messages between the plug-in consumer, the plug-in management center, and the micro-service plug-in. For example, the message middleware can be implemented by ActiveMQ, RocketMQ, RabbitMQ, Kafka, etc., but the present disclosure is not limited thereto.

[0054] In some embodiments, the plug-in consumer and the deployed plug-in interact information through the message middleware.

[0055] In some embodiments, step S204 can include the following steps:

[0056] Step S2042, when the target plug-in exists in the plug-in information list, determining the plug-in type of the target plug-in according to the plug-in information list, wherein the plug-in type includes a model plug-in and a micro-service plug-in;

[0057] Step S2044, loading the target plug-in according to the plug-in type of the target plug-in.

[0058] In an example embodiment, the model plug-in can include an alarm code plug-in configured to perform normative classification on alarms, and a menu plug-in configured to perform structured description on interface menus. The micro-service plug-in can include a persistence layer plug-in configured to perform persistence operation on data, and a backup and recovery plug-in configured to perform backup and recovery on data. The embodiments of the present disclosure do not limit the specific functions of the plug-ins.

[0059] In some embodiments, the model plug-in includes plug-in metadata and model data, and the micro-service plug-in includes the plug-in metadata and a micro-service image, the plug-in metadata being used to store the plug-in information.

[0060] In the present embodiment, the model data in the model plug-in is structured data, and the format can include, but is not limited to, JSON, XML or YAML. The content is related to a specific business model, and the plug-in consumer can extend the logic of its own business according to the model data. Different model data can adapt to the special needs of different environments. For example, the alarm code model, the API interface model and the interface menu model all belong to the model data in the embodiments of the present disclosure.

[0061] In the present embodiment, the micro-service image in the micro-service plug-in is a portable independent software package, which can include an application program, a dependent library, a running environment, an environment variable and a configuration, etc. The micro-service image can be deployed as a micro-service under the micro-service architecture. For example, the image defined in Kubernetes can be used as a micro-service image in the embodiments of the present disclosure.

[0062] In some embodiments, the plug-in metadata in the model plug-in or the micro-service plug-in can include plug-in name, plug-in type, version number, internationalized plug-in information and plug-in provider, etc. The specific field types and value constraints of the fields are shown in Table 1.

[0063] Table 1:

[0064] In some embodiments, the plug-in specification can also be defined in the plug-in metadata, and the content includes the communication protocol of the plug-in, the data format of the communication content, etc.

[0065] In other embodiments, the plug-in specification can also be directly embodied in the technical solutions, and thus is not explicitly declared in the plug-in metadata. Specifically, the plug-in specification can include that the plug-in communicates through a message middleware in the deployment stage of the system, and after the system is deployed, the plug-in can communicate through a Representational State Transfer (REST) interface. The communication format of the plug-in can be specified as JSON format.

[0066] In some embodiments, step S2044 can be divided into the following two cases:

[0067] Step S2044A, in the case where the plug-in type of the target plug-in is the model plug-in, downloading the target plug-in from the plug-in management center and reading the model data from the target plug-in;

[0068] Step S2044B, in the case where the plug-in type of the target plug-in is the micro-service plug-in, invoking the target plug-in to perform corresponding processing through a message middleware, and obtaining the execution result of the target plug-in through the message middleware.

[0069] In some embodiments, in the case where the plug-in type of the target plug-in is the micro-service plug-in, invoking the target plug-in to perform corresponding processing through a message middleware in step S2044B can include the following steps:

[0070] Step S2044B-2, in the case where the plug-in type of the target plug-in is the micro-service plug-in, allowing a target micro-service corresponding to the target plug-in to be triggered;

[0071] Step S2044B-4, in the case where the target micro-service is triggered, sending a call message of the target micro-service to the message middleware, so that the target plug-in performs corresponding processing according to the call message, wherein the target plug-in obtains the call message by listening to the message middleware, and the call message is an asynchronous message.

[0072] In an exemplary embodiment, step S2044B-2 can provide the function of the target micro-service to the user through a user interface, and trigger the target micro-service through user operation. If the target plug-in has not been deployed or loaded, the plug-in consumer can hide the function of the target micro-service in the user interface, or close the operation permission of the function.

[0073] In some embodiments, the obtaining of the execution result of the target plug-in through the message middleware in step S2044B can include the following steps:

[0074] Step S2044B-6, obtaining the execution result by listening to the message middleware, wherein the execution result is sent to the message middleware by the target plug-in after performing corresponding processing, and the execution result is an asynchronous message.

[0075] In some embodiments, after step S204, the method further includes step S205 of updating the plug-in state of the target plug-in. Step S205 can include the following steps:

[0076] Step S2052, updating the plug-in state of the target plug-in in the plug-in information list according to the loading situation of the target plug-in;

[0077] Step S2054, reporting the plug-in state of the target plug-in to the plug-in management center.

[0078] In some embodiments, the plug-in types include model plug-ins and micro-service plug-ins, and the model plug-ins include model data. According to the plug-in type of the target plug-in, step S2052 can include the following two cases:

[0079] Step S2052A, in the case where the plug-in type of the target plug-in is a model plug-in, updating the plug-in state of the target plug-in according to the usage of the model data in the target plug-in;

[0080] Step S2052B, in the case where the plug-in type of the target plug-in is a micro-service plug-in, updating the plug-in state of the target plug-in according to the execution result of the target plug-in.

[0081] In some embodiments, the plug-in information includes at least one of the following: plug-in name, plug-in type, version number, internationalized plug-in information, plug-in provider, and plug-in state. Exemplarily, the plug-in state can include, but is not limited to, normal state and abnormal state.

[0082] In the embodiments of the present disclosure, the plug-in consumer is no longer responsible for the deployment and installation of the plug-in, and can directly load the plug-in of interest, thereby decoupling the plug-in deployment and the plug-in loading. Moreover, the plug-in deployment and the plug-in consumer deployment have no time sequence restriction, and the plug-in deployment can be performed before or after the plug-in consumer deployment, and the flexibility of the plug-in deployment and the plug-in consumer deployment is stronger.

[0083] In the embodiments of the present disclosure, the micro-service plug-in and the model plug-in are also constructed. The micro-service plug-in can inherit the ease of use and reusability of the micro-service, while retaining the extension capability of the plug-in. The model plug-in contains the data related to the model, but does not have the micro-service image, and is more lightweight. In the plug-in loading process, the plug-in consumer can call the deployed micro-service plug-in in an asynchronous manner through the message middleware, or directly obtain the deployed model plug-in through the plug-in management center and use it.

[0084] In the embodiments of the present disclosure, through the plug-in management center and the message middleware, the plug-in consumer can realize real-time perception of the newly deployed target plug-in, master the plug-in information of the already deployed plug-in in the environment according to the plug-in information list, realize the loading and calling of the deployed plug-in, and thus can solve the problem that the plug-in consumer deployment and the plug-in deployment have time sequence restriction in the related art.

[0085] In another embodiment of the present disclosure, a plug-in management method is also provided, which is applied to a plug-in management center. The plug-in management center can be an application, a service or a system. The plug-in management center can centrally manage a plurality of plug-ins inside a terminal or inside a system.

[0086] FIG. 3 is a flowchart of a plug-in management method according to an embodiment of the present disclosure. As shown in FIG. 3, the flow includes the following steps:

[0087] In step S302, a plug-in to be deployed is obtained, plug-in information in the plug-in is read and the plug-in is stored;

[0088] In step S304, the plug-in is deployed;

[0089] In step S306, the plug-in information of the deployed plug-in is recorded to a plug-in information list.

[0090] In the present embodiment, the plug-in information list in step S306 is used to indicate the plug-ins that can be loaded by a plug-in consumer, and also used to inform the plug-in consumer which plug-ins have been deployed.

[0091] In the present embodiment of the present disclosure, through the above steps S302 to S306, the plug-in management center is specially responsible for deploying and managing plug-ins, and the plug-in consumer loads the required plug-ins according to the plug-in information list, so that the decoupling of plug-in deployment and plug-in loading is realized. The plug-in management center can provide the plug-in consumer with the plug-ins that can be loaded by the plug-in consumer through the plug-in information list, thereby solving the problem that the deployment of the plug-in consumer and the deployment of the plug-in are limited in time sequence in the related art.

[0092] In some embodiments, step S304 can include deploying the plug-in according to a plug-in type of the plug-in, wherein the plug-in type includes a model plug-in and a micro-service plug-in, the model plug-in includes plug-in metadata and model data, and the micro-service plug-in includes the plug-in metadata and a micro-service image, and the plug-in metadata is used to store the plug-in information.

[0093] In the present embodiment of the present disclosure, a micro-service plug-in and a model plug-in are constructed. The micro-service plug-in can inherit the ease of use and reusability of micro-service, while retaining the extension capability of plug-in. The model plug-in contains data related to the model, but does not have a micro-service image, and is more lightweight.

[0094] In some embodiments, deploying the plug-in according to the plug-in type of the plug-in can include the following steps:

[0095] In step S3042, the plug-in type of the plug-in is determined according to the plug-in metadata, wherein the plug-in metadata includes the plug-in type;

[0096] Step S3044: If the plugin is the model plugin, provide a download interface for the model data to complete the deployment of the model plugin;

[0097] Step S3046: If the plugin is the microservice plugin, deploy the microservice plugin according to the microservice image to complete the deployment of the microservice plugin.

[0098] In some embodiments, after step S304, the method further includes: step S305, sending a plugin deployment completion message to a message middleware, wherein the plugin deployment completion message carries plugin information of the deployed plugin.

[0099] In this embodiment, the plugin consumer can obtain the plugin deployment completion message by listening to the message middleware, thereby enabling the plugin consumer to have real-time awareness of the deployed scenarios in the system environment and real-time updates of the plugin information list.

[0100] In some embodiments, the plugin information includes at least one of the following: plugin name, plugin type, version number, internationalization plugin information, plugin provider, and plugin status. For example, the plugin status may include normal status, abnormal status, etc. The plugin name, plugin type, version number, internationalization plugin information, plugin provider, and other information in the plugin information can be directly obtained from the plugin metadata, and the plugin status in the plugin information can be updated in real time according to the plugin's usage / loading status.

[0101] In some embodiments, the method further includes: step S307, sending the plugin information list to the plugin consumer.

[0102] In this embodiment, the plugin consumer can directly obtain the plugin information list from the plugin management center upon initial startup, and during operation, it can obtain plugin deployment completion messages by listening to the message middleware, thereby achieving real-time updates to the plugin information list. In some embodiments, the plugin consumer can also periodically obtain the plugin information list from the plugin management center.

[0103] In some embodiments, the method further includes: step S308, receiving the plugin status of the target plugin reported by the plugin consumer, wherein the plugin status of the target plugin is updated by the plugin consumer based on the loading status of the target plugin.

[0104] In this embodiment, plugin consumers can update the plugin status in real time based on the specific circumstances of plugin usage / invocation / loading during the process of using / invoking / loading the plugin. The plugin consumer informs the plugin management center of the plugin status, allowing other plugin consumers to be aware of the latest status of the target plugin when they need to load it.

[0105] In the embodiments of the present disclosure, the plugin consumer is no longer responsible for the deployment and installation of the plugin, and the plugin management center can be responsible for the deployment and management of the plugin in the entire system. The deployed plugin can be provided for multiple plugin consumers to use. In the scenario where there are complex dependency relationships between various plugins in the system, the timing restriction on the deployment of the plugin can be avoided, and the various plugins and plugin consumers are deployed separately. The plugin consumer can master the information of the deployed plugin in the environment according to the plugin information list, implement the loading and calling of the deployed plugin, and thus the problem that the deployment of the plugin consumer and the deployment of the plugin are restricted in timing in the related art can be solved.

[0106] In another embodiment of the present disclosure, a plugin management system is also provided.

[0107] FIG. 4 is a block diagram of a plugin management system according to an embodiment of the present disclosure. As shown in FIG. 4, the system includes the following structure:

[0108] The plugin management center 41 and the plugin consumer 42.

[0109] The plugin management center 41 is configured to perform the deployment and management of the plugin according to any one of the method embodiments of the plugin management center side described above; and the plugin consumer 42 is configured to perform the loading of the plugin according to any one of the method embodiments of the plugin consumer side described above.

[0110] In the present embodiment, the plugin management center can be an application program, a service or a system. The plugin management center can centrally manage a plurality of plugins inside a terminal or inside a system.

[0111] In the present embodiment, the plugin consumer can be a microservice that can be independently deployed, supports the normal operation of a certain business function, and uses the plugin in the running stage. For example, the plugin consumer can be an application program, a service or a system, or a plugin.

[0112] In some embodiments, the plugin management system further includes a message middleware that can provide the function of asynchronous message transmission between the plugin consumer, the plugin management center and the microservice plugin. For example, ActiveMQ, RocketMQ, RabbitMQ, Kafka and the like can be used as the message middleware in the present disclosure.

[0113] FIG. 5 is a structural schematic diagram of a plugin management center according to an embodiment of the present disclosure.

[0114] As shown in FIG. 5, the plugin management center can include four interfaces: a plugin download interface 50; a plugin receiving interface 51; a plugin information query interface 52; and a plugin state reporting interface 53.

[0115] The plugin download interface 50 is configured to provide the deployed model plugin for a plugin consumer.

[0116] The plugin receiving interface 51 is configured to receive the plugin uploaded by a plugin provider (such as a user or a manufacturer).

[0117] The plugin information query interface 52 is configured to provide a plugin information list for a plugin consumer, or is configured to enable the plugin consumer to query the deployed plugin information in the environment.

[0118] The plugin state reporting interface 53 is configured to receive the plugin state information reported by a plugin consumer.

[0119] As shown in FIG. 5, the plugin management center can further include six modules: a plugin reading module 54; a plugin storage module 55; a plugin deployment module 56; a message notification module 57; a plugin information management module 58; and a plugin management interface module 59.

[0120] The plugin reading module 54 is configured to read the plugin information of the plugin, and hand over the plugin and the plugin information to other modules (such as the plugin storage module and the plugin deployment module) for further processing.

[0121] The plugin storage module 55 is configured to store the model plugin.

[0122] The plugin deployment module 56 is configured to perform plugin deployment according to the microservice image in the microservice plugin.

[0123] The message notification module 57 is configured to publish messages to the outside, such as a deployment completion message.

[0124] The plugin information management module 58 is configured to provide a plugin information query function, and can record the plugin state reported by a plugin consumer.

[0125] The plugin management interface module 59 is configured to display the plugin information (a plugin information list), and provide interface operation for plugin loading.

[0126] FIG. 6 is a structural schematic diagram of a plugin in an embodiment of the present disclosure. As shown in FIG. 6, the plugin includes two types of model plugins and microservice plugins.

[0127] In this embodiment, the model plugin includes plugin metadata and model data. For example, the model plugin can include an alarm code plugin configured to perform normative classification on an alarm, and a menu plugin configured to perform structured description on an interface menu.

[0128] In this embodiment, the microservice plugin includes plugin metadata and a microservice image. For example, the microservice plugin includes a persistence layer plugin configured to perform a persistent operation on data, and a backup recovery plugin configured to perform backup and recovery on data.

[0129] In the embodiment, the plug-in metadata is a structured description of the plug-in, including plug-in name, plug-in type, version number, internationalized plug-in information, plug-in provider, and the like.

[0130] FIG. 7 is a schematic diagram of an interaction mechanism of the plug-in management system in an embodiment of the present disclosure. As shown in FIG. 7, the following interaction parties are involved in the interaction mechanism:

[0131] a plug-in manager 71 (i.e., a plug-in management center); a plug-in consumer 72; a plug-in provider 73; a message middleware 74; an operation and maintenance personnel 75.

[0132] In the embodiment, the plug-in manager 71, i.e., the plug-in management center described above, is responsible for centralized management and deployment of plug-ins, maintenance of a plug-in information list, and recording of plug-in states, and can also provide deployed model plug-ins for the plug-in consumer. The plug-in management center can deploy micro-service plug-ins through a plug-in deployment module.

[0133] In the embodiment, the plug-in consumer 72 is a micro-service that can be independently deployed, can support normal operation of a certain business function, and uses plug-ins in a running stage. The plug-in consumer can obtain plug-in information through a plug-in information query interface of the plug-in management center, download model plug-ins through a plug-in download interface of the plug-in management center, and report plug-in states through a plug-in state reporting interface of the plug-in management center. The plug-in consumer can also obtain a deployment completion message of the plug-in through the message middleware, and call the deployed micro-service plug-in through the message middleware.

[0134] In the embodiment, the plug-in provider 73 can construct model plug-ins and micro-service plug-ins in the present disclosure, and provide the plug-ins to the plug-in management center through a plug-in receiving interface, and the provided plug-ins are set to provide extended functions for the plug-in consumer.

[0135] In the embodiment, the message middleware 74 is set to provide asynchronous message transmission functions between the plug-in consumer, the plug-in management center, and the micro-service plug-in. The message middleware can receive a call micro-service plug-in request sent by the plug-in management center, and the micro-service plug-in can obtain the asynchronous message of the call request by listening to the message middleware. The message middleware can also receive a deployment completion message sent by the message notification module of the plug-in management center, and the plug-in consumer can obtain the asynchronous message of the deployment completion message by listening to the message middleware.

[0136] In the embodiment, the operation and maintenance personnel 75 can view plug-in information and manage plug-ins through a plug-in management interface.

[0137] FIG. 8 is a schematic diagram of a plug-in loading process in an embodiment of the present disclosure. As shown in FIG. 8, the core process of the plug-in loading includes the following steps:

[0138] Step S1, plug-in deployment process;

[0139] Step S2, plug-in usage process;

[0140] Step S3, plug-in state monitoring process.

[0141] The plug-in deployment process is executed by the plug-in management center, and the plug-in usage process and the plug-in state monitoring process are executed by the plug-in consumer.

[0142] The steps S1 to S3 will be described in detail below.

[0143] FIG. 9 is a schematic diagram of the plug-in deployment process in an embodiment of the present disclosure. As shown in FIG. 9, the plug-in deployment process includes the following steps:

[0144] Step S1-1: The plug-in management center receives the uploaded plug-in, reads the metadata in the plug-in, and stores the plug-in file;

[0145] Step S1-2: The plug-in management center determines the plug-in type according to the plug-in metadata. If the plug-in is a micro-service plug-in, go to step S1-4; if the plug-in is a model plug-in, continue to execute step S1-3.

[0146] Step S1-3: The plug-in management center provides an interface for downloading the model plug-in, and goes to step S1-5;

[0147] Step S1-4: The plug-in management center deploys the micro-service plug-in according to the definition of the micro-service image in the plug-in;

[0148] Step S1-5: The plug-in management center sends a plug-in deployment completion message to the message middleware.

[0149] In this embodiment, the plug-in types include model plug-ins and micro-service plug-ins. The model plug-in contains plug-in metadata and model data, and the micro-service plug-in contains plug-in metadata and micro-service image. The plug-in metadata contains the plug-in type.

[0150] In this embodiment, the plug-in deployment completion message carries plug-in information, including six types of information: plug-in name, plug-in type, plug-in version number, internationalized plug-in information, plug-in provider, and plug-in state. For example, in the plug-in deployment completion message, the plug-in state can be deployed.

[0151] FIG. 10 is a schematic diagram of the plug-in usage process in an embodiment of the present disclosure. As shown in FIG. 10, the plug-in usage process includes the following steps:

[0152] Step S2-1: The plug-in consumer obtains a plug-in information list through the plug-in management center when starting to run;

[0153] Step S2-2: The plugin consumer listens to the plugin deployment completion message of the message middleware. When receiving the message of this type, the plugin information list is updated to ensure that the plugin list information is consistent with the actual environment of the plugin;

[0154] Step S2-3: The plugin consumer finds the information of the target plugin of interest through the plugin information list.

[0155] Step S2-4: The plugin consumer judges the type of the plugin. If the plugin is a model plugin, go to step S2-8; if the plugin is a micro-service plugin, continue to step S2-5.

[0156] Step S2-5: The plugin consumer sends a plugin call request to the message middleware;

[0157] Step S2-6: The micro-service plugin listens to the plugin call request in the message middleware. When receiving the message of this type, the related request is executed, and the execution result is sent to the message middleware;

[0158] Step S2-7: The plugin consumer listens to the message about the execution result in the message middleware. When receiving the message of this type, the execution result is processed, and the process ends.

[0159] Step S2-8: The plugin consumer downloads the plugin through the plugin management center, and reads the model data in the plugin for its own use.

[0160] In this embodiment, the types of the plugins are divided into model plugins and micro-service plugins. For the model plugin, using / loading the plugin can use the model data in the model plugin, and for the micro-service plugin, using / loading the plugin is to call the micro-service provided by the plugin.

[0161] In this embodiment, the message middleware provides the function of asynchronous message transmission between the plugin consumer, the plugin management center and the micro-service plugin, and the message middleware can directly obtain the asynchronous messages from the plugin consumer, the plugin management center and the micro-service plugin. The plugin consumer obtains the deployment completion message sent by the plugin management center by listening to the message middleware, and obtains the execution result of the micro-service plugin by listening to the message middleware. The micro-service plugin obtains the call request of the plugin consumer by listening to the message middleware.

[0162] FIG. 11 is a schematic diagram of a plugin state monitoring process in an embodiment of the present disclosure. As shown in FIG. 11, the plugin state monitoring process includes the following steps:

[0163] Step S3-1: After using the model plugin, the plugin consumer judges the state of the plugin according to the use result and reports to the plugin management center;

[0164] Step S3-2: After calling the microservice plug-in, the plug-in consumer judges the plug-in state according to the execution result of the microservice plug-in and reports to the plug-in management center;

[0165] Step S3-3: The plug-in management interface displays the plug-in state in the form of a list.

[0166] In this embodiment, there is no time sequence relationship between step S3-1 and step S3-2, which is only used to illustrate the state updating methods of two different types of plug-ins.

[0167] In this embodiment, the plug-in management interface displays a plug-in information list, which contains information of the plug-in state. The plug-in state can include plug-in normal and plug-in abnormal. If the plug-in is abnormal, the operation and maintenance personnel can be reminded to maintain the plug-in. If the plug-in is normal, the plug-in consumer can normally use the model data or provide corresponding microservice functions to the user.

[0168] In an example embodiment of the present disclosure, the target plug-in can be a menu plug-in in the model plug-in type. In the application of the microservice architecture, the menu plug-in is set as the menu display of the plug-in consumer interface. The model data in the menu plug-in is a structured description of the menu. After the menu plug-in is loaded / used / downloaded by the plug-in consumer, the menu of the interface of the plug-in consumer will be rendered according to the menu plug-in. Through any of the above method embodiments, the time sequence dependence of the deployment of the plug-in consumer and the menu plug-in can be solved. Regardless of the time sequence of the deployment of the menu plug-in, after the completion of the entire application deployment, the menu of the interface of the plug-in consumer can be rendered according to the menu plug-in.

[0169] The plug-in loading process of the model plug-in in the above embodiment will be described in detail below taking the menu plug-in as an example.

[0170] FIG. 12 is a schematic diagram of the deployment process of the menu plug-in in an embodiment of the present disclosure. As shown in FIG. 12, the process includes the following steps:

[0171] Step S1201: The plug-in management center receives the uploaded menu plug-in, reads the metadata in the plug-in, and stores the plug-in file;

[0172] Step S1202: The plug-in management center provides an interface for downloading the menu plug-in;

[0173] Step S1203: The plug-in management center sends a deployment completion message of the menu plug-in to the message middleware.

[0174] In the embodiment, the plug-in deployment completion message carries plug-in information, and the plug-in information is structured information. For example, the plug-in information can indicate that the plug-in name is a menu plug-in, the plug-in type is a model plug-in, the plug-in purpose is to display a menu interface, the plug-in provider is a front end, and the plug-in state is installed, but the disclosure is not limited thereto.

[0175] FIG. 13 is a schematic diagram of a use flow of a menu plug-in in an embodiment of the disclosure. As shown in FIG. 13, the flow includes the following steps:

[0176] In step S1301, the plug-in consumer obtains a plug-in information list from the plug-in management center when starting to run. If a menu plug-in is found in the plug-in information list, it indicates that the menu plug-in is deployed before the plug-in consumer, and the flow jumps to step S1303. If no menu plug-in is found in the plug-in information list, it indicates that the menu plug-in has not been deployed at this time, and the flow jumps to step S1302.

[0177] In step S1302, the menu plug-in has not been deployed at this time, and the plug-in consumer listens to a plug-in deployment completion message of a message middleware. When receiving the deployment completion message of the menu plug-in, the plug-in information list is updated.

[0178] In step S1303, the plug-in consumer downloads the menu plug-in from the plug-in management center, obtains a structured description of a menu in model data of the plug-in, and re-renders a menu interface.

[0179] In the embodiment, the model plug-in is stored in the plug-in management center, and the plug-in consumer downloads the model plug-in from the plug-in management center to complete loading and use of the model plug-in.

[0180] FIG. 14 is a schematic diagram of a state monitoring flow of a menu plug-in in an embodiment of the disclosure. As shown in FIG. 14, the flow includes the following steps:

[0181] In step S1401, after using the menu plug-in, the plug-in consumer reports a normal plug-in state if the menu interface is successfully rendered, or reports an abnormal plug-in state if the menu interface fails to be rendered, with an exception reason.

[0182] In step S1402, the plug-in management interface displays state information of the menu plug-in.

[0183] In the application of the micro-service architecture, the application can be divided into a core module and an extension module. The core module is responsible for functions closely related to the business, and is implemented by a plug-in consumer. The extension module is responsible for non-core functions, and is implemented by a micro-service plug-in. The plug-in consumer can obtain deployment information of the micro-service plug-in in real time through the plug-in management center, so as to clearly know the extension functions possessed by the plug-in consumer. When deploying the micro-service plug-in, whether the plug-in consumer has been deployed does not need to be considered.

[0184] In an example embodiment of the present disclosure, the target plug-in can be a backup recovery plug-in in the micro-service plug-in type, which is set to implement the function of backup recovery. The plug-in consumer implements backup recovery of data by invoking the backup recovery plug-in.

[0185] The plug-in loading process of the micro-service plug-in in the above embodiment will be described in detail below with the backup recovery plug-in as an example.

[0186] FIG. 15 is a schematic diagram of a deployment process of the backup recovery plug-in in an embodiment of the present disclosure. As shown in FIG. 15, the process includes the following steps:

[0187] Step S1501: The plug-in management center receives the uploaded backup recovery plug-in, reads the metadata in the plug-in, and stores the plug-in file;

[0188] Step S1502: The plug-in management center deploys the plug-in according to the definition of the micro-service image of the backup recovery plug-in;

[0189] Step S1503: The plug-in management center sends a deployment completion message of the backup recovery plug-in to the message middleware.

[0190] In this embodiment, the plug-in information is carried in the deployment completion message, and the plug-in information is structured information. For example, the plug-in information can indicate that the plug-in name is the backup recovery plug-in, the plug-in type is the micro-service plug-in, the use of the plug-in is to provide the backup recovery function, the plug-in provider is the operation and maintenance, and the state of the plug-in is deployed, but the present disclosure is not limited thereto.

[0191] FIG. 16 is a schematic diagram of a usage process of the backup recovery plug-in in an embodiment of the present disclosure. As shown in FIG. 16, the process includes the following steps:

[0192] Step S1601: The plug-in consumer obtains a plug-in information list through the plug-in management center when starting to run. If the backup recovery plug-in is found in the plug-in information list, it indicates that the backup recovery plug-in is deployed earlier than the plug-in consumer, and the process jumps to step S1603. If the backup recovery plug-in is not found in the plug-in information list, it indicates that the backup recovery plug-in has not been deployed at this time, and the process jumps to step S1602.

[0193] Step S1602: At this time, the backup recovery plug-in has not been deployed, and the plug-in consumer listens to the plug-in deployment completion message of the message middleware. When the deployment completion message of the backup recovery plug-in is received, the plug-in information list is updated;

[0194] Step S1603: The plug-in consumer provides the backup recovery function, and the user triggers the execution of the backup recovery through the interface operation.

[0195] Step S1604: The plug-in consumer converts the operation of backup recovery into a calling request and sends the calling request to the message middleware;

[0196] Step S1605: The backup recovery plug-in acquires the calling request by listening to the message middleware. When the calling request is received, the backup recovery plug-in performs the backup recovery operation according to the calling request, and sends the execution result to the message middleware;

[0197] Step S1606: The plug-in consumer acquires the execution result by listening to the message middleware. When the execution result is received, the execution result is displayed on the interface.

[0198] In this embodiment, the plug-in consumer can determine the plug-in that has completed deployment by listening to the message middleware and updating the plug-in information list, and the plug-in consumer can provide the micro service corresponding to the deployed plug-in in the interactive interface of the plug-in consumer. Since the plug-in consumer can perceive the deployed plug-in in real time, the plug-in loading method in this embodiment of the present disclosure does not have any limitation on the time sequence of the deployment of the plug-in consumer and the deployment of the plug-in.

[0199] FIG. 17 is a schematic diagram of a state monitoring process of a backup recovery plug-in in an embodiment of the present disclosure. As shown in FIG. 17, the process includes the following steps:

[0200] Step S1701: After the plug-in consumer uses the backup recovery plug-in, if the execution result returned by the backup recovery plug-in is success, the plug-in consumer reports that the state of the plug-in is normal; if the execution result returned by the backup recovery plug-in is failure, the plug-in consumer reports that the state of the plug-in is abnormal.

[0201] Step S1702: The plug-in management interface displays the state information of the backup recovery plug-in.

[0202] In some embodiments of the present disclosure, the target plug-in includes a micro service plug-in and a model plug-in, and there is a dependency relationship between the two. For example, the model data in the model plug-in is a structured description of the backup recovery data, which describes the database table and the persistent volume that need to be backed up and recovered. The micro service plug-in performs backup and recovery on the backup recovery data according to the description in the model plug-in. After the micro service plug-in is loaded, the plug-in consumer can provide the backup and recovery function to the outside, and the user can conveniently perform backup and recovery on the corresponding plug-in consumer through interface operation.

[0203] The plug-in loading process when there is a dependency relationship between the plug-ins will be described in detail below.

[0204] FIG. 18 is a schematic diagram of a plug-in deployment process when there is a dependency relationship between the plug-ins in an embodiment of the present disclosure. As shown in FIG. 18, the process includes the following steps:

[0205] Step S1801: The plugin management center receives the uploaded microservice plugin, reads the metadata in the plugin, and stores the plugin file;

[0206] Step S1802: The plugin management center deploys the plugin according to the definition of the microservice image of the microservice plugin;

[0207] Step S1803: The plugin management center sends a deployment completion message of the microservice plugin to the message middleware. The message is structured information indicating that the plugin name is the backup and recovery service plugin, the plugin type is the microservice plugin, the use of the plugin is to execute the backup and recovery function, the plugin provider is the operation and maintenance, and the state of the plugin is installed.

[0208] Step S1804: The plugin management center receives the uploaded model plugin, reads the metadata in the plugin, and stores the plugin file;

[0209] Step S1805: The plugin management center provides an interface for downloading the model plugin;

[0210] Step S1806: The plugin management center sends information about installation of the model plugin to the message middleware. The message is structured information indicating that the plugin name is the backup and recovery description plugin, the plugin type is the model plugin, the use of the plugin is to describe data that needs to be backed up and recovered, the plugin provider is the operation and maintenance, and the state of the plugin is installed.

[0211] In this embodiment, the steps S1801 to S1803 above are the deployment process of the microservice plugin, and the steps S1804 to S1806 are the deployment process of the model plugin. The deployment of the two plugins does not have a time sequence relationship.

[0212] FIG. 19 is a schematic diagram of a plugin use flow when there is a dependency relationship between plugins in an embodiment of the present disclosure. As shown in FIG. 19, the flow includes the following steps:

[0213] Step S1901: When starting to run, the plugin consumer obtains a plugin information list through the plugin management center; if a microservice plugin is found, it indicates that the microservice plugin is deployed earlier than the plugin consumer, and the process jumps to step S1903; if no microservice plugin is found, it indicates that the microservice plugin has not been deployed, and the process jumps to step S1902;

[0214] Step S1902: At this time, the microservice plugin has not been deployed, and the plugin consumer listens to the deployment completion message in the message middleware. When receiving the deployment completion message of the microservice plugin, the plugin information list is updated;

[0215] Step S1903: The plugin consumer provides a backup and recovery function, and a user triggers execution of the backup and recovery through an interface operation.

[0216] Step S1904: The plug-in consumer converts the operation of backup recovery into a call request and sends it to the message middleware;

[0217] Step S1905: The micro-service plug-in (which can be understood as another plug-in consumer) acquires the plug-in information list through the plug-in management center when starting to run. If the model plug-in is found, it indicates that the model plug-in is deployed earlier than the micro-service plug-in, and the process jumps to step S1907. If the model plug-in is not found, it indicates that the model plug-in has not been deployed, and the process jumps to step S1906.

[0218] Step S1906: At this time, the model plug-in has not been deployed, and the micro-service plug-in listens to the message about the plug-in installation in the message middleware. When the information that the model plug-in is deployed is received, the plug-in information list is updated.

[0219] Step S1907: The micro-service plug-in (which can be understood as another plug-in consumer) downloads the model plug-in through the plug-in management center, and acquires the structured description of the data of backup recovery in the model data of the model plug-in.

[0220] Step S1908: The micro-service plug-in listens to the message about the plug-in call in the message middleware. The message can be generated before the model plug-in is loaded or after the model plug-in is loaded. When the message of this type is received, the micro-service plug-in waits for the model plug-in to be loaded, and then performs the backup recovery operation according to the call message, and sends the execution result to the message middleware.

[0221] Step S1909: The plug-in consumer acquires the execution result by listening to the message middleware. When the execution result is received, the execution result of backup recovery is displayed on the interface.

[0222] In the embodiment, the steps S1901 to S1904 and the steps S1905 to S1907 do not have a time sequence relationship.

[0223] FIG. 20 is a schematic diagram of a plug-in state monitoring process when there is a dependency relationship between plug-ins in an embodiment of the present disclosure. As shown in FIG. 20, the process includes the following steps:

[0224] Step S2001: After the micro-service plug-in uses the model plug-in, if the data description of backup recovery in the model plug-in is correct, the model plug-in state is reported as normal, and if the data description of backup recovery in the model plug-in is incorrect, the model plug-in state is reported as abnormal.

[0225] Step S2002: After the plug-in consumer uses the micro-service plug-in, if the execution result returned by the micro-service plug-in is success, the micro-service plug-in state is reported as normal, and if the execution result returned by the micro-service plug-in is failure, the micro-service plug-in state is reported as abnormal.

[0226] Step S2003: The plug-in management interface displays the plug-in states of the model plug-in and the micro-service plug-in.

[0227] FIG. 21 is a schematic diagram of a plug-in management interface in an embodiment of the present disclosure. As shown in FIG. 21, the plug-in management center includes a plug-in management interface (equivalent to the plug-in management interface module described above).

[0228] In this embodiment, the plug-in management interface has plug-in information and corresponding plug-in states presented in a list form, i.e., the plug-in information list described above. The plug-in management interface has a search box, which can search for plug-ins by plug-in name, plug-in type, plug-in state, and the like. The plug-in management interface has a plug-in button, which can upload a plug-in to the plug-in management center. The plug-in management interface in this embodiment is only an example, and the present disclosure does not limit this.

[0229] In the embodiments of the present disclosure, the plug-in is redesigned for the micro-service architecture. The plug-in is divided into a micro-service plug-in and a model plug-in. The micro-service plug-in inherits the ease of use and reusability of the micro-service, while retaining the extensibility of the plug-in. The model data in the model plug-in can customize the functions of the plug-in consumer, but does not have computing capability and is more lightweight. The embodiments of the present disclosure allow the plug-ins to have a dependency relationship, i.e., the plug-in can also be used as a plug-in consumer.

[0230] Through the embodiments of the present disclosure, the problem that the deployment of the plug-in consumer and the deployment of the plug-in have a time sequence restriction in the related art can be solved, and the complexity of the installation and deployment of the entire system is effectively reduced. The introduction of the plug-in management center makes the plug-in consumer not need to undertake the deployment task of the plug-in, and reduces the coupling degree with the plug-in.

[0231] The embodiments of the present disclosure further provide a computer-readable storage medium, which stores a computer program. When the computer program is run by a processor, the steps in any of the method embodiments described above are performed.

[0232] In an example embodiment, the computer-readable storage medium described above can include, but is not limited to, a U disk, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and various media that can store computer programs.

[0233] The embodiments of the present disclosure further provide an electronic device, which includes a memory and a processor. The memory stores a computer program, and the processor is configured to run the computer program to perform the steps in any of the method embodiments described above.

[0234] In one example embodiment, the electronic device described above can further include a transmission device connected to the processor, and an input / output device connected to the processor.

[0235] Embodiments of the present disclosure also provide a computer program product comprising a computer program which, when executed by a processor, implements the steps of any of the method embodiments described above.

[0236] The specific examples in the present embodiment can refer to the examples described in the above embodiments and exemplary implementation manners, which will not be repeated here.

[0237] Obviously, those skilled in the art should understand that each module or each step of the embodiments of the present disclosure described above can be realized by a general computing device, which can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, which can be realized by program codes executable by a computing device, so that they can be stored in a storage device and executed by a computing device, and in some cases, the steps shown or described can be executed in an order different from here, or they can be manufactured into individual integrated circuit modules, or multiple modules or steps among them can be manufactured into a single integrated circuit module to realize. Thus, the present disclosure is not limited to any specific combination of hardware and software.

[0238] The above only describes the preferred embodiments of the present disclosure and is not intended to limit the present disclosure. Those skilled in the art can make various modifications and changes to the present disclosure. Any modification, equivalent replacement, improvement, etc. within the principles of the present disclosure shall be included in the protection scope of the present disclosure.

Claims

A plugin loading method, applied to a plugin consumer, the method comprising: Obtain a list of plugin information from the plugin management center, wherein the list of plugin information is used to record plugin information of plugins deployed in the plugin management center; Load the target plugin based on the plugin information list. According to the method of claim 1, wherein, After obtaining the plugin information list from the plugin management center, the method further includes: The plugin deployment completion message is obtained by listening to the message middleware. The plugin deployment completion message is sent by the plugin management center to the message middleware after any plugin is deployed. The plugin deployment completion message carries the plugin information of the plugin. Update the plugin information list with the plugin information carried in the plugin deployment completion message. According to the method of claim 1, wherein, Load the target plugin based on the plugin information list, including: If the target plugin exists in the plugin information list, the plugin type of the target plugin is determined according to the plugin information list, wherein the plugin type includes: model plugin and microservice plugin; The target plugin is loaded according to its plugin type. The method according to claim 3, wherein, Loading the target plugin according to its plugin type includes: If the target plugin is a microservice plugin, the target plugin is invoked through a message middleware to perform the corresponding processing, and the execution result of the target plugin is obtained through the message middleware. The method according to claim 4, wherein, When the target plugin's plugin type is the microservice plugin, the target plugin is invoked via message middleware to perform corresponding processing, including: If the plugin type of the target plugin is the microservice plugin, the target microservice corresponding to the target plugin is allowed to be triggered; When the target microservice is triggered, a call message for the target microservice is sent to the message middleware so that the target plugin can perform corresponding processing according to the call message. The target plugin obtains the call message by listening to the message middleware, and the call message is an asynchronous message. The method according to claim 4, wherein, The step of obtaining the execution result of the target plugin through the message middleware includes: The execution result is obtained by listening to the message middleware, wherein the execution result is sent to the message middleware by the target plugin after performing the corresponding processing, and the execution result is an asynchronous message. The method according to claim 3, wherein, The step of loading the target plugin according to the plugin type of the target plugin includes: If the target plugin is a model plugin, the target plugin is downloaded from the plugin management center, and model data is read from the target plugin, wherein the model plugin includes plugin metadata and the model data. According to the method of claim 1, wherein, After loading the target plugin based on the plugin information list, the method further includes: Update the plugin status of the target plugin in the plugin information list according to the loading status of the target plugin; Report the plugin status of the target plugin to the plugin management center. The method according to claim 8, wherein, Update the plugin status of the target plugin in the plugin information list according to the loading status of the target plugin, including: If the target plugin is a model plugin, update the plugin status of the target plugin according to the usage of model data in the target plugin; If the target plugin is a microservice plugin, update the plugin status of the target plugin based on the execution result of the target plugin; The plugin types include the model plugin and the microservice plugin, and the model plugin includes the model data. According to the method of claim 1, wherein, The plugin information includes at least one of the following: plugin name, plugin type, version number, internationalization plugin information, plugin provider, and plugin status. A plugin management method, applied to a plugin management center, the method comprising: Obtain the plugin to be deployed, read the plugin information from the plugin, and store the plugin; Deploy the aforementioned plugin; The plugin information of the deployed plugins is recorded in the plugin information list, wherein the plugin information list is used to indicate the plugins that can be loaded by plugin consumers. The method according to claim 11, wherein, Deploying the plugin includes: The plugin is deployed according to the plugin type, wherein the plugin type includes: model plugin and microservice plugin, the model plugin includes plugin metadata and model data, and the microservice plugin includes plugin metadata and microservice image, the plugin metadata being used to store the plugin information. The method according to claim 12, wherein, Deploying the plugin according to its plugin type includes: The plugin type is determined based on the plugin metadata, wherein the plugin metadata includes the plugin type; In the case where the plugin is the model plugin, an interface for downloading the model data is provided to complete the deployment of the model plugin; If the plugin is the microservice plugin, the microservice plugin is deployed according to the microservice image to complete the deployment of the microservice plugin. The method according to claim 11, wherein, After deploying the plugin, the method further includes: Send a plugin deployment completion message to the message middleware, wherein the plugin deployment completion message carries plugin information of the deployed plugin. The method according to claim 11, wherein, The plugin information includes at least one of the following: plugin name, plugin type, version number, internationalization plugin information, plugin provider, and plugin status. The method according to claim 11, wherein, The method further includes: Send the plugin information list to the plugin consumer; and / or, The plugin consumer receives the plugin status of the target plugin, wherein the plugin status of the target plugin is updated by the plugin consumer based on the loading status of the target plugin. A plug-in management system, comprising: The plugin management center is configured to deploy and manage plugins according to the method described in any one of claims 11 to 16 above. The plugin consumer is configured to load plugins according to the method described in any one of claims 1 to 10. A computer-readable storage medium storing a computer program, wherein, The computer program is executed by the processor to perform the method described in any one of claims 1 to 16. An electronic device includes a memory and a processor, the memory storing a computer program and the processor being configured to run the computer program to perform the method according to any one of claims 1 to 16. A computer program product comprising a computer program that, when executed by a processor, implements the steps of the method according to any one of claims 1 to 16.

Citation Information

Patent Citations

  • Method and device for managing plug-ins in application

    CN106095458A

  • Method for quickly deploying plugin architecture

    CN106371864A

  • Middleware system, service request processing method, electronic equipment and storage medium

    CN114466070A

  • Front-end plug-in system

    CN116680003A

  • Service deployment method and device, electronic equipment and storage medium

    CN116820499A