[go: up one dir, main page]

CN114968406B - Plug-in management method and device, electronic equipment and storage medium - Google Patents

Plug-in management method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN114968406B
CN114968406B CN202210593424.8A CN202210593424A CN114968406B CN 114968406 B CN114968406 B CN 114968406B CN 202210593424 A CN202210593424 A CN 202210593424A CN 114968406 B CN114968406 B CN 114968406B
Authority
CN
China
Prior art keywords
plug
management
target
preset
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210593424.8A
Other languages
Chinese (zh)
Other versions
CN114968406A (en
Inventor
周小四
万宏明
陈震
赖正一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qingyun Technology Group Co ltd
Original Assignee
Beijing Qingyun Science And Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qingyun Science And Technology Co ltd filed Critical Beijing Qingyun Science And Technology Co ltd
Priority to CN202210593424.8A priority Critical patent/CN114968406B/en
Publication of CN114968406A publication Critical patent/CN114968406A/en
Application granted granted Critical
Publication of CN114968406B publication Critical patent/CN114968406B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种插件管理方法、装置、电子设备及存储介质。该方法包括:根据用户安装指令在服务器内订阅目标插件;根据预设条件下载并部署服务器内订阅的目标插件;将目标插件基于最小系统加载工具加载到运行环境以进行功能拓展与插件管理。本发明实施例,通过使用订阅的获取插件,可实时保持插件的最新版本,提高用户的使用体验,按照最小系统加载工具加载插件的运行环境,可降低插件使用的复杂配置过程,增强了插件便利性,同时,使得插件的运行环境与系统环境独立,保障了低耦合程度,实现系统功能的动态扩展,防止插件更新对系统的运行产生影响,可提高系统的稳定性。

Embodiments of the present invention disclose a plug-in management method, device, electronic equipment and storage medium. The method includes: subscribing to a target plug-in in the server according to user installation instructions; downloading and deploying the target plug-in subscribed in the server according to preset conditions; loading the target plug-in into the running environment based on a minimal system loading tool for function expansion and plug-in management. In the embodiment of the present invention, by using the subscribed acquisition plug-in, the latest version of the plug-in can be maintained in real time, improving the user experience, and loading the plug-in's operating environment according to the minimum system loading tool, which can reduce the complex configuration process of plug-in use and enhance plug-in convenience. At the same time, it makes the running environment of the plug-in independent of the system environment, ensuring a low degree of coupling, realizing dynamic expansion of system functions, preventing plug-in updates from affecting the operation of the system, and improving the stability of the system.

Description

一种插件管理方法、装置、电子设备及存储介质A plug-in management method, device, electronic equipment and storage medium

技术领域Technical field

本发明涉及通信技术领域,尤其涉及一种插件管理方法、装置、电子设备及存储介质。The present invention relates to the field of communication technology, and in particular, to a plug-in management method, device, electronic equipment and storage medium.

背景技术Background technique

目前前端的各种打包工具,基本都需要在编译时将各功能、组件打包在一起。即使像某些企业的微前端框架也是需要在编译前对各子应用(插件)进行配置。Currently, various front-end packaging tools basically need to package various functions and components together during compilation. Even micro front-end frameworks like those of some enterprises require configuration of each sub-application (plug-in) before compilation.

现有浏览器/服务器模式架构的应用,如果需要拓展功能,均存在一定的缺陷。现有技术中,在增加或拓展新的功能页面、修改已有的功能页面以及增加新的语言支持时,需要获取全部项目代码,侵入式的修改核心代码文件,才能实现增加或拓展新的功能页面,这种修改方式耦合程度高且为侵入式修改,无法安全且灵活控制的更新功能模块,使得系统不能够实现动态的扩展功能。并且采用上述方法完成代码的修改之后,需要替换服务端进程已达到新增功能的目的,不可避免的会造成服务的中断,影响系统的稳定性。If the existing browser/server model architecture applications need to expand their functions, they will have certain flaws. In the existing technology, when adding or expanding new functional pages, modifying existing functional pages, and adding new language support, it is necessary to obtain all project codes and intrusively modify the core code files in order to add or expand new functions. Page, this modification method is highly coupled and intrusive, and cannot safely and flexibly control the update function modules, making the system unable to achieve dynamic expansion functions. And after using the above method to complete the code modification, the server process needs to be replaced to achieve the purpose of adding new functions, which will inevitably cause service interruption and affect the stability of the system.

公开内容public content

有鉴于此,本发明提供一种插件管理方法、装置、设备及介质,能够实时保持插件的最新版本,提高用户的使用体验,实现系统功能的动态扩展,可提高系统的稳定性。In view of this, the present invention provides a plug-in management method, device, equipment and medium, which can maintain the latest version of the plug-in in real time, improve the user experience, realize dynamic expansion of system functions, and improve the stability of the system.

根据本发明的一方面,本发明实施例提供了一种插件管理方法,该方法包括:According to one aspect of the present invention, an embodiment of the present invention provides a plug-in management method, which method includes:

根据用户安装指令在服务器内订阅目标插件;Subscribe to the target plug-in in the server according to user installation instructions;

根据预设条件下载并部署所述服务器内订阅的所述目标插件;Download and deploy the target plug-in subscribed in the server according to preset conditions;

将所述目标插件基于最小系统加载工具加载到运行环境以进行功能拓展与插件管理。The target plug-in is loaded into the running environment based on the minimum system loading tool for function expansion and plug-in management.

根据本发明的另一方面,本发明实施例还提供了一种插件管理方法装置,该装置包括:According to another aspect of the present invention, an embodiment of the present invention also provides a plug-in management method and device, which includes:

插件订阅模块,用于根据用户安装指令在服务器内订阅目标插件;The plug-in subscription module is used to subscribe to target plug-ins in the server according to user installation instructions;

插件下载部署模块,用于根据预设条件下载并部署所述服务器内订阅的所述目标插件;A plug-in download and deployment module, used to download and deploy the target plug-in subscribed in the server according to preset conditions;

插件管理模块,用于将所述目标插件基于最小系统加载工具加载到运行环境以进行功能拓展与插件管理。The plug-in management module is used to load the target plug-in into the running environment based on the minimum system loading tool for function expansion and plug-in management.

根据本发明的另一方面,本发明实施例还提供了一种电子设备,所述电子设备包括:According to another aspect of the present invention, an embodiment of the present invention also provides an electronic device, the electronic device includes:

至少一个处理器;以及at least one processor; and

与所述至少一个处理器通信连接的存储器;其中,a memory communicatively connected to the at least one processor; wherein,

所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的插件管理方法。The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor, so that the at least one processor can execute the method described in any embodiment of the present invention. Plug-in management methods.

根据本发明的另一方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的插件管理方法。According to another aspect of the present invention, embodiments of the present invention also provide a computer-readable storage medium, the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable the processor to implement any of the present invention when executed. A plug-in management method according to an embodiment.

本发明实施例的上述技术方案,通过用户安装指令在服务器内订阅目标插件,并依据预设条件下载并部署服务器内订阅的目标插件,将目标插件基于最小系统加载工具加载到运行环境以进行功能拓展与插件管理。本发明实施例,通过使用订阅的获取插件,可实时保持插件的最新版本,提高用户的使用体验,按照最小系统加载工具加载插件的运行环境,可降低插件使用的复杂配置过程,增强了插件便利性,同时,使得插件的运行环境与系统环境独立,保障了低耦合程度,实现系统功能的动态扩展,防止插件更新对系统的运行产生影响,可提高系统的稳定性。The above technical solution of the embodiment of the present invention subscribes to the target plug-in in the server through user installation instructions, downloads and deploys the subscribed target plug-in in the server according to preset conditions, and loads the target plug-in into the running environment based on the minimum system loading tool to perform functions. Extension and plug-in management. In the embodiment of the present invention, by using the subscribed acquisition plug-in, the latest version of the plug-in can be maintained in real time, improving the user experience, and loading the plug-in's operating environment according to the minimum system loading tool, which can reduce the complex configuration process of plug-in use and enhance plug-in convenience. At the same time, it makes the running environment of the plug-in independent of the system environment, ensuring a low degree of coupling, realizing dynamic expansion of system functions, preventing plug-in updates from affecting the operation of the system, and improving the stability of the system.

应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。It should be understood that what is described in this section is not intended to identify key or important features of the embodiments of the invention, nor is it intended to limit the scope of the invention. Other features of the present invention will become easily understood from the following description.

附图说明Description of the drawings

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, other drawings can also be obtained based on these drawings without exerting creative efforts.

图1为本发明实施例一提供的一种插件管理方法的流程图;Figure 1 is a flow chart of a plug-in management method provided by Embodiment 1 of the present invention;

图2为本发明实施例二提供的一种插件管理方法的流程图;Figure 2 is a flow chart of a plug-in management method provided in Embodiment 2 of the present invention;

图3为本发明实施例三提供的整体架构的示意图;Figure 3 is a schematic diagram of the overall architecture provided by Embodiment 3 of the present invention;

图4为本发明实施例三提供的前端的插件化的结构示意图;Figure 4 is a schematic structural diagram of the front-end plug-in provided by Embodiment 3 of the present invention;

图5为本发明实施例三提供的后端插件架构的示意图Figure 5 is a schematic diagram of the back-end plug-in architecture provided in Embodiment 3 of the present invention.

图6是本发明实施例四提供的一种插件管理装置的结构框图;Figure 6 is a structural block diagram of a plug-in management device provided in Embodiment 4 of the present invention;

图7示出了可以用来实施本发明的实施例的电子设备的结构示意图。FIG. 7 shows a schematic structural diagram of an electronic device that can be used to implement embodiments of the present invention.

具体实施方式Detailed ways

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。In order to enable those skilled in the art to better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only These are some embodiments of the present invention, rather than all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts should fall within the scope of protection of the present invention.

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。It should be noted that the terms "target" and the like in the description and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific sequence or sequence. It is to be understood that the data so used are interchangeable under appropriate circumstances so that the embodiments of the invention described herein are capable of being practiced in sequences other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, e.g., a process, method, system, product, or apparatus that encompasses a series of steps or units and need not be limited to those explicitly listed. Those steps or elements may instead include other steps or elements not expressly listed or inherent to the process, method, product or apparatus.

实施例一Embodiment 1

在一实施例中,图1为本发明实施例一提供的一种插件管理方法的流程图,本实施例可适用于对插件进行管理时的情况,该方法可以由插件管理装置来执行,该插件管理装置可以采用硬件和/或软件的形式实现,该插件管理装置可配置于电子设备中。如图1所示,该方法包括:In one embodiment, Figure 1 is a flow chart of a plug-in management method provided in Embodiment 1 of the present invention. This embodiment can be applied to the situation when plug-ins are managed. The method can be executed by a plug-in management device. The plug-in management device can be implemented in the form of hardware and/or software, and the plug-in management device can be configured in the electronic device. As shown in Figure 1, the method includes:

S110、根据用户安装指令在服务器内订阅目标插件。S110. Subscribe to the target plug-in in the server according to the user's installation instructions.

其中,用户安装指令可以理解为终端用户点击的插件安装指令。服务器可以理解为在网络中为终端用户机,例如可以是个人终端或智能手机等提供计算或者应用服务的终端。目标插件可以理解为终端用户需要安装或使用的相关插件。Among them, the user installation instruction can be understood as the plug-in installation instruction clicked by the end user. A server can be understood as a terminal that provides computing or application services to end-user computers in the network, such as personal terminals or smart phones. Target plug-ins can be understood as related plug-ins that end users need to install or use.

在本实施例中,目标插件可以包括外部插件和内置插件。其中,外部插件可以理解为开发者进行开发的相关插件,当然,可以依据目标插件的相关型号以及版本号等等,将目标插件进行相应的分类,示例性的,目标插件可以为后端服务插件、前端服务插件或者静态资源服务插件等等。In this embodiment, target plug-ins may include external plug-ins and built-in plug-ins. Among them, external plug-ins can be understood as related plug-ins developed by developers. Of course, the target plug-ins can be classified accordingly according to the relevant models and version numbers of the target plug-ins. For example, the target plug-ins can be back-end service plug-ins. , front-end service plug-in or static resource service plug-in, etc.

在本实施例中,可以依据终端用户点击的插件安装指令在服务器内订阅目标插件。具体的,可以实时检测插件市场中是否有用户输入相应的插件安装指令,在检测到相应的用户安装指令后,可以按照相应的插件名称、插件版本等等,对插件安装指令进行识别,以根据相应的插件名称、插件版本进行调取服务器端的插件订阅接口,以订阅服务器内的目标插件。In this embodiment, the target plug-in can be subscribed to in the server according to the plug-in installation instruction clicked by the end user. Specifically, it can be detected in real time whether a user inputs a corresponding plug-in installation instruction in the plug-in market. After detecting the corresponding user installation instruction, the plug-in installation instruction can be identified according to the corresponding plug-in name, plug-in version, etc., so as to The corresponding plug-in name and plug-in version are used to call the plug-in subscription interface on the server side to subscribe to the target plug-in in the server.

S120、根据预设条件下载并部署服务器内订阅的目标插件。S120. Download and deploy the target plug-in subscribed in the server according to preset conditions.

其中,预设条件可以理解为预先设置的订阅插件的相关条件,例如可以是进行页面刷新,也可以为订阅插件信息的相关条件,还可以是服务器开机,还可以为通过设置相同或不同的时间间隔等等,本实施例在此不做限制。Among them, the preset conditions can be understood as preset conditions related to subscribing to plug-ins. For example, they can be page refresh, or conditions related to subscribing to plug-in information. They can also be server startup, or setting the same or different times. Intervals, etc. are not limited in this embodiment.

在本实施例中,可以依据预先设置的订阅插件的相关条件,用户终端可以通过超文本传输协议远程下载并部署服务器内订阅的目标插件。具体的,可以在检测到页面订阅指令、服务器开机指令时,下载并部署服务器内所订阅的目标插件,然后可以按照预先设置的插件模型将各目标插件进行相应的加载。In this embodiment, the user terminal can remotely download and deploy the target plug-in subscribed in the server through the hypertext transfer protocol based on the preset conditions related to the subscription plug-in. Specifically, when the page subscription instruction and the server startup instruction are detected, the target plug-in subscribed in the server can be downloaded and deployed, and then each target plug-in can be loaded accordingly according to the preset plug-in model.

S130、将目标插件基于最小系统加载工具加载到运行环境以进行功能拓展与插件管理。S130. Load the target plug-in into the running environment based on the minimum system loading tool for function expansion and plug-in management.

其中,最小系统加载工具也可以称为System JS,可以理解为用来创建插件以处理可替代的场景加载过程,主要运行在浏览器和Node.JS中,是浏览器加载程序的扩展,将应用在本地浏览器中。运行环境可以理解为一种把半编译的运行码在目标机器上运行的环境。插件管理可以理解为对目标插件的安装、卸载、配置、升级、启用、停用等操作。其中,插件卸载是在用户点击卸载按钮后,调用后端接口停止订阅,并将插件从前端内核中移除。Among them, the minimum system loading tool can also be called System JS. It can be understood as being used to create plug-ins to handle alternative scene loading processes. It mainly runs in browsers and Node.JS. It is an extension of the browser loader and will apply in a local browser. The running environment can be understood as an environment in which semi-compiled running code is run on the target machine. Plug-in management can be understood as operations such as installation, uninstallation, configuration, upgrade, activation, and deactivation of target plug-ins. Among them, plug-in uninstallation is to call the back-end interface to stop the subscription and remove the plug-in from the front-end kernel after the user clicks the uninstall button.

需要说明的是,插件管理具备一定的功能,可实现插件的生命周期管理、路由管理、国际化管理、运行时上下文管理、事件总线、插件市场、基础页面以及中间层等框架性底层功能。It should be noted that plug-in management has certain functions, which can realize the underlying framework functions such as plug-in life cycle management, routing management, internationalization management, runtime context management, event bus, plug-in market, basic pages, and middle layers.

在本实施例中,下载并部署服务器内订阅的目标插件成功后,可以基于最小系统加载工具将插件加载到加载进前端运行环境,并利用内核中的路由管理、国际化管理、运行时上下文管理、事件总线、插件市场、基础页面以及中间层等模块将目标插件融合进内核并运行。In this embodiment, after successfully downloading and deploying the target plug-in subscribed in the server, the plug-in can be loaded into the front-end running environment based on the minimal system loading tool, and the routing management, internationalization management, and runtime context management in the kernel can be used. , event bus, plug-in market, basic page and middle layer and other modules integrate the target plug-in into the kernel and run it.

本发明实施例的上述技术方案,首先根据用户安装指令在服务器内订阅目标插件,并根据预设条件下载并部署服务器内订阅的目标插件,然后通过将目标插件基于最小系统加载工具加载到运行环境以进行功能拓展与插件管理。本发明实施例,通过使用订阅的获取插件,可实时保持插件的最新版本,提高用户的使用体验,按照最小系统加载工具加载插件的运行环境,可降低插件使用的复杂配置过程,增强了插件便利性,同时,使得插件的运行环境与系统环境独立,保障了低耦合程度,实现系统功能的动态扩展,防止插件更新对系统的运行产生影响,可提高系统的稳定性。The above technical solution of the embodiment of the present invention first subscribes to the target plug-in in the server according to the user's installation instructions, downloads and deploys the subscribed target plug-in in the server according to the preset conditions, and then loads the target plug-in into the running environment based on the minimum system loading tool. For function expansion and plug-in management. In the embodiment of the present invention, by using the subscribed acquisition plug-in, the latest version of the plug-in can be maintained in real time, improving the user experience, and loading the plug-in's operating environment according to the minimum system loading tool, which can reduce the complex configuration process of plug-in use and enhance plug-in convenience. At the same time, it makes the running environment of the plug-in independent of the system environment, ensuring a low degree of coupling, realizing dynamic expansion of system functions, preventing plug-in updates from affecting the operation of the system, and improving the stability of the system.

在一实施例中,插件管理的功能包括以下至少之一:插件生命周期管理、路由管理、国际化管理、运行时上下文管理以及事件总线管理。In one embodiment, the functions of plug-in management include at least one of the following: plug-in life cycle management, routing management, internationalization management, runtime context management, and event bus management.

其中,路由管理可以理解为根据用户配置的消息路由从指定的源端点转发到目的端点。国际化管理可以理解为同一个网站可以支持多种不同的语言,以方便不同国家,不同语种的用户进行相应的访问。运行时上下文管理可以理解为对运行时的当前运行环境的管理。事件总线管理可以理解为对发布-订阅模式的一种实现,是一种集中式事件处理机制,允许不同的组件之间进行彼此通信而又不需要相互依赖,达到一种解耦的目的。Among them, route management can be understood as forwarding messages from the specified source endpoint to the destination endpoint according to the user-configured message route. International management can be understood as the same website can support multiple different languages to facilitate corresponding access by users from different countries and languages. Runtime context management can be understood as the management of the current running environment of the runtime. Event bus management can be understood as an implementation of the publish-subscribe model. It is a centralized event processing mechanism that allows different components to communicate with each other without relying on each other, achieving the purpose of decoupling.

在本实施例中,插件管理的功能可以包括以下至少之一:插件生命周期管理、路由管理、国际化管理、运行时上下文管理以及事件总线管理。除此之外,插件管理的功能还可以包括插件市场管理、基础页面管理以及中间层管理等等。本实施例中,通过插件生命周期管理,可以在控制台的插件管理页面中实现插件仓库的添加、插件的安装、卸载、配置、升级、启用、停用等操作。In this embodiment, the functions of plug-in management may include at least one of the following: plug-in life cycle management, routing management, internationalization management, runtime context management, and event bus management. In addition, plug-in management functions can also include plug-in market management, basic page management, middle-layer management, etc. In this embodiment, through plug-in life cycle management, operations such as adding a plug-in warehouse, installing, uninstalling, configuring, upgrading, enabling, and deactivating plug-ins can be implemented in the plug-in management page of the console.

实施例二Embodiment 2

在一实施例中,图2为本发明实施例二提供的一种插件管理方法的流程图,本实施例在上述各实施例地基础上,对根据用户安装指令在服务器内订阅目标插件,以及根据预设条件下载并部署服务器内订阅的目标插件进行了进一步的细化,如图2所示,本实施例中的插件管理方法具体可以包含如下步骤:In one embodiment, Figure 2 is a flow chart of a plug-in management method provided in Embodiment 2 of the present invention. Based on the above embodiments, this embodiment subscribes to the target plug-in in the server according to the user's installation instructions, and Downloading and deploying target plug-ins subscribed in the server according to preset conditions are further refined, as shown in Figure 2. The plug-in management method in this embodiment may specifically include the following steps:

S210、监测插件市场中用户输入的用户安装指令。S210. Monitor user installation instructions input by users in the plug-in market.

其中,插件市场包含各种已发布的各类插件,在插件市场中,用户可以根据需求下载并部署插件并植入相应的开发工具中。插件市场可以为网页或者是APP应用软件,在网页或者APP应用软件中包含有多种类型的插件,用户在界面上点击安装按钮即可将插件安装到系统中,用户可以通过点击或触摸的方式在插件市场中选择需要安装或使用的插件。Among them, the plug-in market includes various published plug-ins. In the plug-in market, users can download and deploy plug-ins according to their needs and embed them into corresponding development tools. The plug-in market can be a web page or APP application software. There are many types of plug-ins in the web page or APP application software. The user can install the plug-in into the system by clicking the install button on the interface. The user can click or touch Select the plug-in you want to install or use in the plug-in market.

在本实施例中,用户可以在插件市场中选择需要使用的插件,然后用户终端可以生成对应用户点击或者触摸等方式的用户安装指令,用户终端可以对用户安装指令的生成过程进行实施监测,在确定用户按照指令生成时,确定检测到插件市场中用户输入的用户安装指令。In this embodiment, the user can select the plug-in that needs to be used in the plug-in market, and then the user terminal can generate a user installation instruction corresponding to the user's click or touch. The user terminal can monitor the generation process of the user installation instruction. When it is determined that the user is generated according to the instructions, it is determined that the user installation instructions entered by the user in the plug-in market are detected.

S220、按照用户安装指令中的插件标识调取插件订阅接口以订阅服务器内目标插件。S220: Call the plug-in subscription interface according to the plug-in identification in the user installation instruction to subscribe to the target plug-in in the server.

其中,插件标识可以理解为用户安装指令中的用以识别插件的相关标识。插件标识可以为插件的名称、插件版本号、插件的标号以及其他用以区别不同插件的标识。插件订阅接口可以理解为与服务器对接,用于订阅插件的相关程序接口,例如可以是API接口,插件订阅接口可以包含插件订阅的相关逻辑以及规则,其中,插件订阅的相关逻辑以及规则写在相关程序接口上,该程序接口可以实现终端用户的插件订阅。Among them, the plug-in identification can be understood as the relevant identification used to identify the plug-in in the user's installation instructions. The plug-in identifier can be the name of the plug-in, the plug-in version number, the plug-in label, and other identifications used to distinguish different plug-ins. The plug-in subscription interface can be understood as the relevant program interface that interfaces with the server and is used to subscribe to the plug-in. For example, it can be an API interface. The plug-in subscription interface can include the relevant logic and rules of the plug-in subscription. The relevant logic and rules of the plug-in subscription are written in the relevant On the program interface, the program interface can realize plug-in subscription for end users.

在本实施例中,用户所订阅的服务器内目标插件包含插件的依赖项,目标插件可分为内置插件和外部插件。其中,外部插件可以包括DevOps、DMP、插件x以及插件y等等。内置插件可以包含Clusters、Access、Apps、Projects以及Workspaces等。In this embodiment, the target plug-in in the server subscribed by the user includes dependencies of the plug-in, and the target plug-in can be divided into built-in plug-ins and external plug-ins. Among them, external plug-ins can include DevOps, DMP, plug-in x, plug-in y, etc. Built-in plug-ins can include Clusters, Access, Apps, Projects, Workspaces, etc.

在本实施例中,采集用户的对插件的相关按压形式的用户安装指令,例如可以是采用鼠标进行右键点击的方式,用户安装指令的信息包含要安装的插件以及相关的操作指令,例如可以是命令或者命令的对象,提取用户安装指令中的插件的名称、插件版本号、插件的标号以及其他用以区别不同插件的标识,并将所提取到的用户安装指令中的插件的名称、插件版本号、插件的标号以及其他用以区别不同插件的标识,作为调用插件订阅接口的参数,可以按照该参数在服务器中订阅插件标识相对应的插件。In this embodiment, the user installation instructions in the form of relevant pressing of the plug-in by the user are collected, for example, by right-clicking the mouse. The information of the user installation instructions includes the plug-in to be installed and related operation instructions, for example, it can be The command or the object of the command extracts the plug-in name, plug-in version number, plug-in label and other identifiers used to distinguish different plug-ins in the user installation instruction, and extracts the plug-in name, plug-in version in the user installation instruction Number, plug-in label, and other identifiers used to distinguish different plug-ins are used as parameters for calling the plug-in subscription interface. You can subscribe to the plug-in corresponding to the plug-in ID in the server according to these parameters.

在本实施例中,对于插件的开发者来说,系统可以提供完善的开发框架与工具链,以帮助插件开发者快速构建并发布相应的插件到服务器,以供终端用户进行相应的订阅。具体的,插件开发流程如下:首先,通过KS-CLI命令行工具生成基础的开发目录,依据前端插件开发规范,基于KubeDesign组件库、@ks-console/shared等通用组件库,在生成的目录中开发插件页面,并限制开发框架为react,然后使用任意开发语言或组件提供插件中依赖的应用程序接口(Application Programming Interface,API),通过Docker对插件的前后端服务进行打包,之后通过JSBundle模型与APIService模型对插件需要注册的页面、API进行相应的声明,将插件前端服务、后端服务、JSBundle模型、APIService模型等资源借助Helm进行编排,并在Helm包元数据中补充插件基础信息,最后将打包为Helm Chart的插件打包为Docker Image进行分发,该Docker Image基础镜像文件进行打包之后的镜像包含一个Helm Repository进程,并将打包后的插件作为镜像文件发布到服务器,以供终端用户进行订阅和使用。开发环境时使用Webpack自动发现并加载插件,实现开发时的热加载从而达到更好的开发体验。In this embodiment, for plug-in developers, the system can provide a complete development framework and tool chain to help plug-in developers quickly build and publish corresponding plug-ins to the server for end users to subscribe accordingly. Specifically, the plug-in development process is as follows: First, generate a basic development directory through the KS-CLI command line tool. According to the front-end plug-in development specifications, based on KubeDesign component library, @ks-console/shared and other common component libraries, in the generated directory Develop the plug-in page and limit the development framework to react, then use any development language or component to provide the Application Programming Interface (API) that the plug-in depends on, package the plug-in's front-end and back-end services through Docker, and then use the JSBundle model with The APIService model declares the pages and APIs that the plug-in needs to register accordingly, arranges plug-in front-end services, back-end services, JSBundle models, APIService models and other resources with the help of Helm, and supplements the plug-in basic information in the Helm package metadata, and finally adds Plug-ins packaged as Helm Chart are packaged as Docker Image for distribution. The Docker Image base image file is packaged and the image contains a Helm Repository process, and the packaged plug-in is published to the server as an image file for end users to subscribe and use. When developing the environment, use Webpack to automatically discover and load plug-ins to achieve hot loading during development to achieve a better development experience.

S230、对插件管理页面中的页面订阅指令进行监测。S230. Monitor the page subscription instructions in the plug-in management page.

其中,页面订阅指令可以理解为控制页面进行订阅的指令。页面订阅指令可以为用户通过按键进行点击的页面的订阅指令,也可以为触摸进行页面的订阅指令,本实施例对页面订阅的操作方式不做限制。插件管理页面可以理解为插件的可视化页面,可以用于管理用户所下载的相关插件。插件管理页面可以将本地插件的相关插件信息在插件管理页面中进行相应的显示。插件管理页面可以是浏览器页面的形式进行显示,也可以是应用软件页面的形式进行显示,本实施例在此不做限制。Among them, the page subscription instruction can be understood as an instruction to control the page to subscribe. The page subscription instruction may be a subscription instruction for a page that the user clicks by pressing a button, or may be a subscription instruction for a page that is touched. This embodiment does not limit the operation method of page subscription. The plug-in management page can be understood as a visual page of plug-ins, which can be used to manage related plug-ins downloaded by users. The plug-in management page can display the relevant plug-in information of the local plug-in in the plug-in management page accordingly. The plug-in management page may be displayed in the form of a browser page or in the form of an application software page, which is not limited in this embodiment.

需要说明的是,在插件管理页面可以进行插件的安装、卸载、配置、升级、启用、停用等动作,插件管理页面支持对插件进行分类,当然,插件管理页面中也可以查看仓库中的插件信息,包含插件的版本以及插件中定义的README文件、基本配置、部署等文件信息。It should be noted that the plug-in management page can be used to install, uninstall, configure, upgrade, enable, and deactivate plug-ins. The plug-in management page supports the classification of plug-ins. Of course, the plug-in management page can also view plug-ins in the warehouse. Information, including the version of the plug-in and the README file, basic configuration, deployment and other file information defined in the plug-in.

S240、确定接收到页面订阅指令则下载并部署服务器内订阅的目标插件。S240. After confirming that the page subscription instruction is received, download and deploy the target plug-in subscribed in the server.

在本实施例中,需要对页面订阅指令进行相应的判断,包括但不限于判断是否接收到用户按键点击的相关操作,例如可以是右键点击操作,用户刷新按钮的操作,在确定监测到页面订阅指令的情况下,获取本地订阅目标插件的目录,按照所订阅的目录与服务器进行相应的通信,由此获取最新版本的插件,并将所获取的最新版本的插件下载至本地,也可以在确定监测到页面订阅指令的情况下,获取与本地版本相对应的版本插件下载至本地,本实施例在此不做限制。In this embodiment, it is necessary to make corresponding judgments on the page subscription instructions, including but not limited to judging whether the related operations of the user's key clicks are received. For example, it can be a right-click operation, the operation of the user's refresh button. After determining that the page subscription is detected, In the case of instructions, obtain the directory of the local subscription target plug-in, communicate with the server accordingly according to the subscribed directory, thereby obtain the latest version of the plug-in, and download the obtained latest version of the plug-in to the local, or you can determine When the page subscription instruction is detected, the version plug-in corresponding to the local version is obtained and downloaded locally. This embodiment is not limited here.

具体的,下载并部署服务器内订阅插件的过程可以包括在服务器查找插件的HelmChart应用模板,并使用Helm和Kubernetes容器管理应用对该Helm Chart应用模板文件进行管理,从而将该Helm Chart应用模板文件从服务器可以同步到本地。需要说明的是,所订阅的目标插件的格式是以文件的形式保存在镜像内。服务器内也有相应的插件仓库,目标插件的存储是以Kubernetes容器的形式进行存储。Specifically, the process of downloading and deploying the subscription plug-in in the server may include finding the Helm Chart application template of the plug-in on the server, and using Helm and Kubernetes container management applications to manage the Helm Chart application template file, thereby converting the Helm Chart application template file from Server can be synchronized to local. It should be noted that the format of the subscribed target plug-in is saved in the image in the form of a file. There is also a corresponding plug-in warehouse in the server, and the target plug-in is stored in the form of a Kubernetes container.

S250、按照预设插件模型将各目标插件存储到预设插件管理系统。S250. Store each target plug-in in the default plug-in management system according to the default plug-in model.

其中,预设插件模型可以理解为预先设置的插件模型。预设插件模型可以包括APIService模型、JSBundle模型和ReverseProxy模型三种类型。APIService模型是一种API拓展机制,可以声明式的注册资源型的API,便于通过核心权限控制体系进行统一的API权限控制,一个插件中可以包含多个APIService模型。JSBundle模型定义了需要注入到前端框架中的JavaScript文件。插件被启用之后,APIService会代理相关的静态资源请求,前端框架则借助此API动态的发现并加载JavaScript文件。ReverseProxy模型提供非资源型API的方向代理,可以用来代理一些静态的资源文件,支持路径的Rewrite,支持请求头的注入等网关功能。Among them, the preset plug-in model can be understood as a preset plug-in model. The preset plug-in models can include three types: APIService model, JSBundle model and ReverseProxy model. The APIService model is an API expansion mechanism that can declaratively register resource-based APIs to facilitate unified API permission control through the core permission control system. A plug-in can contain multiple APIService models. The JSBundle model defines the JavaScript files that need to be injected into the front-end framework. After the plug-in is enabled, APIService will proxy related static resource requests, and the front-end framework will use this API to dynamically discover and load JavaScript files. The ReverseProxy model provides a direction proxy for non-resource APIs, which can be used to proxy some static resource files. It supports Rewrite of paths, injection of request headers and other gateway functions.

在本实施例中,可以按照相应的预设插件模型,将各目标插件存储到预设插件管理系统中。具体的,当目标插件为后端服务插件时,将目标插件按照APIService模型注册到预设插件管理系统;当目标插件为前端服务插件时,将目标插件按照JSBundle模型注册到预设插件管理系统;当静态资源服务插件时,将目标插件按照ReverseProxy模型注册到预设插件管理系统。需要说明的是,各目标插件存储到预设插件管理系统添加之后,可以在控制台插件管理页面中查看仓库中的插件信息,可以包含插件的版本,以及插件中定义的README文件、基本配置、部署等文件信息。In this embodiment, each target plug-in can be stored in the default plug-in management system according to the corresponding default plug-in model. Specifically, when the target plug-in is a back-end service plug-in, the target plug-in is registered to the default plug-in management system according to the APIService model; when the target plug-in is a front-end service plug-in, the target plug-in is registered to the default plug-in management system according to the JSBundle model; When the static resource serves a plug-in, the target plug-in is registered to the default plug-in management system according to the ReverseProxy model. It should be noted that after each target plug-in is stored in the default plug-in management system and added, the plug-in information in the warehouse can be viewed on the console plug-in management page, which can include the version of the plug-in, as well as the README file, basic configuration, and Deployment and other file information.

S260、将目标插件基于最小系统加载工具加载到运行环境以进行功能拓展与插件管理。S260. Load the target plug-in into the running environment based on the minimum system loading tool for function expansion and plug-in management.

本发明实施例的上述技术方案,通过在监测插件市场中用户输入的用户安装指令,并按照用户安装指令中的插件标识调取插件订阅接口以订阅服务器内目标插件,实现了实时保持插件的最新版本,进一步提高用户的体验;通过对插件管理页面中的页面订阅指令进行监测,确定接收到页面订阅指令则下载并部署服务器内订阅的目标插件,按照预设插件模型将各目标插件存储到预设插件管理系统,能够实现目标插件统一标准便于分发与管理的目的,使得目标插件无开发语言绑定;通过将目标插件基于最小系统加载工具加载到运行环境以进行功能拓展与插件管理,能够降低插件使用的复杂配置过程,使得插件的运行环境与系统环境独立,保障了低耦合程度,实现系统功能的动态扩展,防止插件更新对系统的运行产生影响,可提高系统的稳定性。The above technical solution of the embodiment of the present invention achieves real-time maintenance of the latest plug-ins by monitoring the user installation instructions input by the user in the plug-in market and calling the plug-in subscription interface according to the plug-in identification in the user installation instructions to subscribe to the target plug-in in the server. version to further improve the user experience; by monitoring the page subscription instructions in the plug-in management page, if it is determined that the page subscription instructions are received, the target plug-ins subscribed in the server will be downloaded and deployed, and each target plug-in will be stored in the preset according to the preset plug-in model. Establishing a plug-in management system can achieve the purpose of unified standards for target plug-ins to facilitate distribution and management, so that the target plug-ins are not bound to development languages; by loading the target plug-ins into the running environment based on the minimum system loading tool for function expansion and plug-in management, it can reduce the cost The complex configuration process used by plug-ins makes the plug-in's operating environment independent of the system environment, ensuring a low degree of coupling, realizing dynamic expansion of system functions, preventing plug-in updates from affecting the operation of the system, and improving system stability.

在一实施例中,下载并部署服务器内订阅的目标插件,包括:In one embodiment, downloading and deploying target plug-ins subscribed in the server include:

查找服务器内订阅的目标插件的Helm Chart应用模板文件,其中Helm Chart应用模板文件包括目标插件的依赖组件;Find the Helm Chart application template file of the target plug-in subscribed in the server, where the Helm Chart application template file includes the dependent components of the target plug-in;

调用Helm和Kubernetes容器管理应用中的副本控制器将目标插件的Helm Chart应用模板文件从服务器同步到本地的预设插件管理系统。Call the copy controller in Helm and Kubernetes container management applications to synchronize the Helm Chart application template file of the target plug-in from the server to the local default plug-in management system.

其中,Helm Chart应用模板文件可以理解为将特定的目标插件的一系列文件按照一定的格式制作成单一的文件,以方便用户下载并部署和使用。副本控制器也可以称为插件副本控制器,默认的插件仓库部署完成后,插件管理器会定时拉取最新的Helm Chart应用模板文件解析后生成插件对象,以供订阅。预设插件管理系统可以为基于Helm和Kubernetes容器管理应用生成的插件仓库,基于本地创建一个镜像文件Helm和Kubernetes容器管理,从而将镜像文件Helm和Kubernetes容器管理作为一个预设插件管理系统,当然,预设插件管理系统内的插件的名称是唯一的,且插件存在的版本至少为一个版本。依赖组件可以为目标插件的通用依赖组件,可以包含React、kube-design、@ks-console/shared等等依赖。Among them, the Helm Chart application template file can be understood as making a series of files of a specific target plug-in into a single file in a certain format to facilitate users to download, deploy and use. The copy controller can also be called a plug-in copy controller. After the default plug-in warehouse is deployed, the plug-in manager will regularly pull the latest Helm Chart application template file and parse it to generate a plug-in object for subscription. The preset plug-in management system can create an image file Helm and Kubernetes container management locally based on the plug-in warehouse generated by Helm and Kubernetes container management applications, thereby using the image file Helm and Kubernetes container management as a preset plug-in management system. Of course, By default, the name of the plug-in in the plug-in management system is unique, and the plug-in exists in at least one version. The dependent component can be a common dependent component of the target plug-in, and can include dependencies such as React, kube-design, @ks-console/shared, etc.

在本实施例中,通过查找服务器内订阅的目标插件的Helm Chart应用模板文件,以调用Helm和Kubernetes容器管理应用中的副本控制器,从而将目标插件的Helm Chart应用模板文件从服务器同步到本地的预设插件管理系统。其中,Helm Chart应用模板文件包括目标插件的JavaScript脚本文件以及相对应的依赖项。需要说明的是,本地与服务器的配置环境是一样的。需要说明的是,本实施例通过将Helm Chart应用模板文件从服务器同步到本地的预设插件管理系统,能够实现插件统一标准便于分发与管理的目的。借助镜像文件对目标插件进行打包(标准化),使得目标插件无开发语言绑定,完全松耦合,无侵入。In this embodiment, the Helm Chart application template file of the target plug-in subscribed to in the server is found to call the replica controller in the Helm and Kubernetes container management applications, thereby synchronizing the Helm Chart application template file of the target plug-in from the server to the local The default plug-in management system. Among them, the Helm Chart application template file includes the JavaScript script file of the target plug-in and the corresponding dependencies. It should be noted that the local and server configuration environments are the same. It should be noted that in this embodiment, by synchronizing the Helm Chart application template file from the server to the local preset plug-in management system, the purpose of unifying plug-in standards to facilitate distribution and management can be achieved. The target plug-in is packaged (standardized) with the help of image files, so that the target plug-in has no development language binding, is completely loosely coupled, and is non-intrusive.

在一实施例中,预设插件管理系统基于Helm和Kubernetes容器管理应用实现,预设插件管理系统内的插件的名称唯一且存在至少一个版本。In one embodiment, the default plug-in management system is implemented based on Helm and Kubernetes container management applications. The names of plug-ins in the default plug-in management system are unique and there is at least one version.

在本实施例中,预设插件管理系统是基于Helm和Kubernetes容器管理应用所实现,预设插件管理系统内的插件的名称是唯一的,插件可以同时存在多个版本。In this embodiment, the default plug-in management system is implemented based on Helm and Kubernetes container management applications. The names of plug-ins in the default plug-in management system are unique, and plug-ins can exist in multiple versions at the same time.

在一实施例中,按照预设插件模型将各目标插件存储到预设插件管理系统,包括:In one embodiment, storing each target plug-in in the default plug-in management system according to the default plug-in model includes:

调用网关服务应用程序接口对目标插件的API调用请求进行鉴权和认证;Call the gateway service application program interface to authenticate and authenticate the API call request of the target plug-in;

若目标插件为后端服务插件,则将目标插件按照APIService模型注册到预设插件管理系统;If the target plug-in is a back-end service plug-in, register the target plug-in in the default plug-in management system according to the APIService model;

若目标插件为前端服务插件,则将目标插件按照JSBundle模型注册到预设插件管理系统;If the target plug-in is a front-end service plug-in, register the target plug-in in the default plug-in management system according to the JSBundle model;

若目标插件为静态资源服务插件,则将目标插件按照ReverseProxy模型注册到预设插件管理系统。If the target plug-in is a static resource service plug-in, register the target plug-in in the default plug-in management system according to the ReverseProxy model.

其中,网关服务应用程序接口可以理解为一个可拓展的API网关,由APIServer提供统一的API认证鉴权能力,支持动态的API拓展。后端服务插件可理解为用于后端服务的插件,示例性的,后端服务插件可以为Clusters、Access等等。前端服务插件可以理解为用于前端服务的插件,示例性的,前端服务插件可以为DevOps、DMP等等。静态资源服务插件可以理解为用于前端的固定页面,这里面包含HTML、CSS、JS、图片等等能够显示的页面的服务插件。Among them, the gateway service application program interface can be understood as an expandable API gateway. The API Server provides unified API authentication capabilities and supports dynamic API expansion. The backend service plug-in can be understood as a plug-in for back-end services. For example, the back-end service plug-in can be Clusters, Access, etc. The front-end service plug-in can be understood as a plug-in for front-end services. For example, the front-end service plug-in can be DevOps, DMP, etc. Static resource service plug-ins can be understood as fixed pages for the front end, which include service plug-ins for pages that can be displayed such as HTML, CSS, JS, pictures, etc.

在本实施例中,可以调用网关服务应用程序接口对前端服务的目标插件进行鉴权和认证,在鉴权和认证通过的情况下,若目标插件为后端服务插件则将目标插件按照APIService模型注册到预设插件管理系统;若目标插件为前端服务插件,则将目标插件按照JSBundle模型注册到预设插件管理系统;若目标插件为静态资源服务插件,则将目标插件按照ReverseProxy模型注册到预设插件管理系统。In this embodiment, the gateway service application program interface can be called to authenticate and authenticate the target plug-in of the front-end service. If the authentication and authentication pass, if the target plug-in is a back-end service plug-in, the target plug-in will be authenticated according to the APIService model. Register to the default plug-in management system; if the target plug-in is a front-end service plug-in, register the target plug-in to the default plug-in management system according to the JSBundle model; if the target plug-in is a static resource service plug-in, register the target plug-in to the pre-set plug-in management system according to the ReverseProxy model. Set up a plug-in management system.

实施例三Embodiment 3

在一实施例中,为便于更好的理解插件管理方法,图3为本发明实施例三提供的整体架构的示意图,本发明实施例,在不改动核心框架代码的前提下,动态的增加多语言支持,在已有的页面导航栏插入新的功能入口,与现有系统进行整合;动态增加新的功能页面,动态增加页面路由,实现热加载;动态更新已经存在的功能页面,实现热修复;动态注册新的API。其中,API表示上述实施例中的网关服务应用程序接口如图3所示,具体如下:In one embodiment, in order to better understand the plug-in management method, Figure 3 is a schematic diagram of the overall architecture provided in Embodiment 3 of the present invention. In this embodiment of the present invention, without changing the core framework code, dynamically add multiple Language support: Insert new function entrances into existing page navigation bars to integrate with existing systems; dynamically add new function pages and dynamically add page routing to achieve hot loading; dynamically update existing function pages to achieve hot repair ; Dynamically register new APIs. Among them, API represents the gateway service application program interface in the above embodiment, as shown in Figure 3, the details are as follows:

在本实施例中,整体架构主要包含:前端的插件化技术、后端插件管理技术以及插件的开发与打包标准。后端的插件化主要包含接口服务的注册、身份与访问管理的注册、插件管理的加载以及静态资源的代理,插件1可以包含接口服务的注册、角色以及相关静态文件,插件2可以包含静态文件。导入可执行模块,在前端架构中,插件模块1包含:路由管理、国际化管理以及时间总线管理等,插件模块2包含覆盖已有的路由管理以及国际化管理等等,然后到前端的内核,内核中包含基础页面、路由注册、国际化、时间总线以及插件管理器等等。In this embodiment, the overall architecture mainly includes: front-end plug-in technology, back-end plug-in management technology, and plug-in development and packaging standards. The back-end plug-in mainly includes the registration of interface services, the registration of identity and access management, the loading of plug-in management, and the proxying of static resources. Plug-in 1 can include the registration of interface services, roles and related static files, and plug-in 2 can include static files. Import the executable module. In the front-end architecture, plug-in module 1 includes: routing management, internationalization management, time bus management, etc. Plug-in module 2 includes covering the existing routing management and internationalization management, etc., and then to the front-end kernel, The kernel contains basic pages, route registration, internationalization, time bus, plug-in manager, etc.

在本实施例中,前端的插件化技术也可以称为前端核心框架,前端核心框架提供插件管理模块,负责插件的加载,插件的管理,其中,插件的管理主要包含:安装、卸载、启用、停用、配置。后端插件管理技术主要是提供插件的生命周期管理功能、插件的调度,提供统一的API网关、权限控制系统。In this embodiment, the front-end plug-in technology can also be called the front-end core framework. The front-end core framework provides a plug-in management module, which is responsible for plug-in loading and plug-in management. Among them, plug-in management mainly includes: installation, uninstallation, activation, Deactivate, configure. Back-end plug-in management technology mainly provides plug-in life cycle management functions, plug-in scheduling, and provides a unified API gateway and permission control system.

在本实施例中,采用微前端的可插拔软件架构,可以将核心框架与插件运行时完全分离开,通过插件机制来实现功能拓展。与常见的技术方案相比较,具有有以下优点:在该软件架构下,插件代码与核心项目代码相互隔离,插件的变动不会影响到核心系统的稳定性,更加稳定。在该软件架构下,插件可以复用核心框架提供的功能,比如基础的UI组件、公共的方法、API等,降低耦合度、标准化开发流程。在该软件架构下,插件的运行时环境互相隔离,插件可以单独部署、动态加载、按需启用,更加安全、灵活。定义了插件开发标准,提供了插件仓库,便于插件的分发与管理。插件化的架构,可以降低功能迭代的成本,提升版本迭代速度。In this embodiment, the pluggable software architecture of the micro-frontend is used to completely separate the core framework from the plug-in runtime, and realize functional expansion through the plug-in mechanism. Compared with common technical solutions, it has the following advantages: Under this software architecture, plug-in code and core project code are isolated from each other, and changes in plug-ins will not affect the stability of the core system, making it more stable. Under this software architecture, plug-ins can reuse the functions provided by the core framework, such as basic UI components, public methods, APIs, etc., to reduce coupling and standardize the development process. Under this software architecture, the runtime environments of plug-ins are isolated from each other, and plug-ins can be deployed independently, dynamically loaded, and enabled on demand, making them more secure and flexible. It defines plug-in development standards and provides a plug-in warehouse to facilitate plug-in distribution and management. The plug-in architecture can reduce the cost of function iteration and increase the speed of version iteration.

下面分别对前端的插件化技术、后端插件管理技术以及插件的开发与打包标准进行详细的说明。The following is a detailed description of the front-end plug-in technology, back-end plug-in management technology, and plug-in development and packaging standards.

在本实施例中,图4为本发明实施例三提供的前端的插件化的结构示意图,其中,System JS表示上述实施例中的最小系统加载工具,API表示上述实施例中的网关服务应用程序接口,JSBundle模型APIService模型表示上述实施例中的预设插件模型,Helm Chart表示上述实施例中的Helm Chart镜像文件。前端插件采用“微内核+插件”的架构,具体如图4所示。需要说明的是,图4中的“内核”可实现插件的生命周期管理、路由管理、国际化管理、运行时上下文管理、事件总线、插件市场、基础页面、中间层等框架性底层功能。内置插件可以包含Clusters、Access、Apps、Projects等等,外部插件可以包含DevOps、DMP、插件X、插件Y等等。通用依赖组件可以包含React、kube-design、@ks-console/shared等等,前端工程化可以包含KS-CLI、脚手架等等。In this embodiment, Figure 4 is a schematic structural diagram of the front-end plug-in provided by Embodiment 3 of the present invention, in which System JS represents the minimum system loading tool in the above embodiment, and API represents the gateway service application in the above embodiment. The interface, JSBundle model, APIService model represents the preset plug-in model in the above embodiment, and Helm Chart represents the Helm Chart image file in the above embodiment. The front-end plug-in adopts the "microkernel + plug-in" architecture, as shown in Figure 4. It should be noted that the “kernel” in Figure 4 can implement the underlying framework functions such as plug-in life cycle management, routing management, internationalization management, runtime context management, event bus, plug-in market, basic page, and middle layer. Built-in plug-ins can include Clusters, Access, Apps, Projects, etc., and external plug-ins can include DevOps, DMP, plug-in X, plug-in Y, etc. Common dependent components can include React, kube-design, @ks-console/shared, etc., and front-end engineering can include KS-CLI, scaffolding, etc.

在本实施例中,前端加载插件具体流程为:插件在插件市场点击安装按钮,前端调取插件订阅接口进行订阅。刷新页面后,前端能够通过HTTP远程下载并部署该插件的JavaScript脚本文件。下载并部署成功后前端内核通过System JS将插件加载进前端运行环境并利用内核中的路由管理、国际化管理、事件管理等模块将插件融合进内核并运行。插件卸载则是在用户点击卸载按钮后。调用后端接口停止订阅,并将插件从前端内核中移除。In this embodiment, the specific process of loading the plug-in on the front end is as follows: the plug-in clicks the install button in the plug-in market, and the front end calls the plug-in subscription interface to subscribe. After refreshing the page, the front end can remotely download and deploy the plugin's JavaScript script file via HTTP. After successful download and deployment, the front-end kernel loads the plug-in into the front-end running environment through System JS and uses the routing management, internationalization management, event management and other modules in the kernel to integrate the plug-in into the kernel and run it. The plug-in is uninstalled after the user clicks the uninstall button. Call the backend interface to stop the subscription and remove the plug-in from the front-end kernel.

需要说明的是,对于插件的开发者来说,开发流程提供了完善的开发框架与工具链,帮助插件开发者快速构建并发布相应的插件,具体的插件开发流程如下:It should be noted that for plug-in developers, the development process provides a complete development framework and tool chain to help plug-in developers quickly build and release corresponding plug-ins. The specific plug-in development process is as follows:

a1、通过KS-CLI命令行工具生成基础的开发目录。a1. Generate the basic development directory through the KS-CLI command line tool.

a2、依据前端插件开发规范,基于KubeDesign组件库、@ks-console/shared等通用组件库在生成的目录中开发插件页面,限制开发框架为react。a2. According to the front-end plug-in development specifications, the plug-in page is developed in the generated directory based on KubeDesign component library, @ks-console/shared and other common component libraries, and the development framework is restricted to react.

a3、使用任意开发语言或组件提供插件中依赖的API。a3. Use any development language or component to provide the API that the plug-in depends on.

a4、通过Docker对插件的前后端服务进行打包。a4. Package the plug-in’s front-end and back-end services through Docker.

a5、通过JSBundle模型与APIService模型对插件需要注册的页面、API进行声明。a5. Declare the pages and APIs that the plug-in needs to register through the JSBundle model and APIService model.

a6、将插件前端服务、后端服务、JSBundle模型、APIService模型等资源借助Helm进行编排,并在Helm包元数据中补充插件基础信息。a6. Arrange plug-in front-end services, back-end services, JSBundle models, APIService models and other resources with Helm, and supplement basic plug-in information in the Helm package metadata.

a7、将打包为Helm Chart应用模板的插件打包到Docker Image中进行分发,该Docker Image基础镜像由本技术方案提供,打包之后的镜像内包含一个Helm Repository进程。a7. Package the plug-in packaged as a Helm Chart application template into a Docker Image for distribution. The Docker Image base image is provided by this technical solution. The packaged image contains a Helm Repository process.

需要说明的是,对于插件的使用者(终端用户)来说,本发明提供了完善的插件生命周期管理,可以在控制台中插件管理页面中实现插件仓库的添加、插件的安装、卸载、配置、升级、启用、停用等操作,具体的使用流程如下:It should be noted that for plug-in users (end users), the present invention provides complete plug-in life cycle management, and can realize the addition of plug-in warehouse, plug-in installation, uninstallation, configuration, etc. in the plug-in management page in the console. For operations such as upgrade, activation, and deactivation, the specific usage process is as follows:

b1、通过控制台页面或CLI命令行工具创建Repository对象,声明需要添加的插件仓库的镜像。b1. Create a Repository object through the console page or CLI command line tool, and declare the image of the plug-in warehouse that needs to be added.

b2、插件仓库添加之后可以在控制台插件管理页面中查看仓库中的插件信息,插件管理页面支持对插件进行分类。b2. After the plug-in warehouse is added, you can view the plug-in information in the warehouse on the console plug-in management page. The plug-in management page supports the classification of plug-ins.

b3、在插件列表页面,可以预览插件的基本信息。b3. On the plug-in list page, you can preview the basic information of the plug-in.

b4、插件的详情页面包含插件的版本,以及插件中定义的README文件、基本配置、部署等文件信息。b4. The plug-in details page contains the plug-in version, as well as the README file, basic configuration, deployment and other file information defined in the plug-in.

b5、在插件管理页面可以进行插件的安装、卸载、配置、升级、启用、停用等动作。b5. On the plug-in management page, you can install, uninstall, configure, upgrade, enable, and deactivate plug-ins.

b6、当插件被正确安装、启用之后可以在系统中,插件声明的的页面看到插件功能入口。b6. When the plug-in is correctly installed and enabled, you can see the plug-in function entrance on the plug-in declaration page in the system.

在本实施例中,图5为本发明实施例三提供的后端插件架构的示意图,Plugin-Controller-Manager表示上述实施例中的副本控制器,API表示上述实施例中的网关服务应用程序接口,插件模型表示上述实施例中的预设插件模型,Helm Chart表示上述实施例中的Helm Chart镜像文件。具体的,后端的插件化主要包含API的注册、静态资源的代理两个部分,可以把APIServer看作一个可拓展的API网关,由APIServer提供统一的API认证鉴权能力,支持动态的API拓展。In this embodiment, Figure 5 is a schematic diagram of the back-end plug-in architecture provided in Embodiment 3 of the present invention. Plugin-Controller-Manager represents the copy controller in the above embodiment, and API represents the gateway service application program interface in the above embodiment. , the plug-in model represents the default plug-in model in the above embodiment, and Helm Chart represents the Helm Chart image file in the above embodiment. Specifically, back-end plug-in mainly includes API registration and static resource proxy. APIServer can be regarded as an expandable API gateway. APIServer provides unified API authentication capabilities and supports dynamic API expansion.

在本实施例中,插件模型:插件主要包含三种类型:APIService模型、JSBundle模型和ReverseProxy模型,具体的定义如下:一是:APIService模型,APIService模型是一种API拓展机制,可以声明式的注册资源型的API,便于通过核心权限控制体系进行统一的API权限控制,一个插件中可以包含多个APIService模型。二是:JSBundle模型,JSBundle模型定义了需要注入到前端框架中的JS文件。插件被启用之后,APIserver会代理相关的静态资源请求,前端框架则借助此API动态的发现并加载JS文件。三是:ReverseProxy模型,ReverseProxy模型提供非资源型API的方向代理,可以用来代理一些静态的资源文件,支持路径的Rewrite,支持请求头的注入等网关功能。In this embodiment, plug-in model: plug-ins mainly include three types: APIService model, JSBundle model and ReverseProxy model. The specific definitions are as follows: First: APIService model. The APIService model is an API expansion mechanism that can be registered declaratively. Resource-based API facilitates unified API permission control through the core permission control system. A plug-in can contain multiple APIService models. The second is: JSBundle model. The JSBundle model defines the JS files that need to be injected into the front-end framework. After the plug-in is enabled, the API server will proxy related static resource requests, and the front-end framework will use this API to dynamically discover and load JS files. The third is: ReverseProxy model. The ReverseProxy model provides a direction proxy for non-resource APIs. It can be used to proxy some static resource files, supports path Rewrite, and supports gateway functions such as request header injection.

在本实施例中,插件的生命周期管理:默认的插件仓库部署完成后,PluginController Manager会定时拉取最新的Helm Chart解析后生成Plugin对象,以供订阅。PluginVersion用于保存插件的版本信息,同名插件可以同时存在多个版本,插件名称在同一个仓库中是唯一值。Subscription通过订阅的方式安装插件,通过Subscription来控制安装卸载,启用、停用,状态同步,版本升级。In this embodiment, plug-in life cycle management: After the default plug-in warehouse is deployed, the PluginController Manager will regularly pull the latest Helm Chart and parse it to generate a Plugin object for subscription. PluginVersion is used to save the version information of the plug-in. A plug-in with the same name can exist in multiple versions at the same time. The plug-in name is a unique value in the same warehouse. Subscription installs plug-ins through subscription, and uses Subscription to control installation and uninstallation, activation, deactivation, status synchronization, and version upgrades.

在本实施例中,插件的开发与打包标包含项目初始化、前端页面的开发、后端API的开发、插件的打包与发布以及插件仓库的建立。其中,项目初始化中需要通过CLI创建一个项目脚手架;前端页面的开发需要基于KubeDesign组件库、@ks-console/shared等通用组件库在脚手架中开发插件页面,开发完成后通过CLI编译打包前端插件;后端API的开发后端API风格指南以及API权限控制。插件的打包与发布,在插件开发完成之后,需要与依赖组件一起打包为Helm Chart,一个插件打包为一个Helm Chart,一组插件打包为DockerImage,Docker Image包含一个Helm Repository进程,之后可以进行发布。插件仓库,当我们通过Docker Image对Helm Chart插件进行打包之后,可以将这个仓库部署到集群中。定义Repository对象用于加载打包到Docker Image中的插件模板,创建好Repository对象后,Plugin Controller Manager会部署该Docker Image,以提供Helm Repository(HTTP)、Plugin(Aggregated API)相关的API。In this embodiment, the development and packaging of plug-ins includes project initialization, development of front-end pages, development of back-end APIs, packaging and publishing of plug-ins, and establishment of plug-in warehouses. Among them, a project scaffolding needs to be created through the CLI during project initialization; the development of the front-end page requires the development of the plug-in page in the scaffolding based on the KubeDesign component library, @ks-console/shared and other common component libraries. After the development is completed, the front-end plug-in is compiled and packaged through the CLI; Development of back-end API Back-end API style guide and API permission control. Packaging and publishing of plug-ins. After the plug-in development is completed, it needs to be packaged as a Helm Chart together with the dependent components. A plug-in is packaged as a Helm Chart, and a group of plug-ins is packaged as a Docker Image. The Docker Image contains a Helm Repository process, which can be released later. Plug-in warehouse, after we package the Helm Chart plug-in through Docker Image, we can deploy this warehouse to the cluster. Define the Repository object to load the plug-in template packaged into the Docker Image. After the Repository object is created, the Plugin Controller Manager will deploy the Docker Image to provide APIs related to Helm Repository (HTTP) and Plugin (Aggregated API).

实施例四Embodiment 4

在一实施例中,图6是本发明实施例四提供的一种插件管理装置的结构框图,该装置适用于对插件进行管理时的情况,该装置可以由硬件/软件实现。可配置于电子设备中来实现本发明实施例中的一种插件管理方法。如图6所示,该装置包括:插件订阅模块610、插件下载并部署模块620、插件管理模块630。In one embodiment, FIG. 6 is a structural block diagram of a plug-in management device provided in Embodiment 4 of the present invention. The device is suitable for managing plug-ins. The device can be implemented by hardware/software. It can be configured in an electronic device to implement a plug-in management method in an embodiment of the present invention. As shown in Figure 6, the device includes: a plug-in subscription module 610, a plug-in download and deployment module 620, and a plug-in management module 630.

其中,插件订阅模块610,用于根据用户安装指令在服务器内订阅目标插件。Among them, the plug-in subscription module 610 is used to subscribe to the target plug-in in the server according to the user's installation instructions.

插件下载并部署模块620,用于根据预设条件下载并部署所述服务器内订阅的所述目标插件。The plug-in download and deployment module 620 is used to download and deploy the target plug-in subscribed in the server according to preset conditions.

插件管理模块630,用于将所述目标插件基于最小系统加载工具加载到运行环境以进行功能拓展与插件管理。The plug-in management module 630 is used to load the target plug-in into the running environment based on the minimum system loading tool for function expansion and plug-in management.

本发明实施例,通过插件下载并部署模块,根据预设条件下载并部署服务器内订阅的目标插件,可实时保持插件的最新版本,提高用户的使用体验;插件管理模块,将目标插件基于最小系统加载工具加载到运行环境以进行功能拓展与插件管理,可降低插件使用的复杂配置过程,增强了插件便利性,同时,使得插件的运行环境与系统环境独立,保障了低耦合程度,实现系统功能的动态扩展,防止插件更新对系统的运行产生影响,可提高系统的稳定性。In the embodiment of the present invention, through the plug-in download and deployment module, the target plug-in subscribed in the server is downloaded and deployed according to preset conditions, which can maintain the latest version of the plug-in in real time and improve the user experience; the plug-in management module is based on the minimum system The loading tool is loaded into the running environment for function expansion and plug-in management, which can reduce the complex configuration process of plug-in use and enhance plug-in convenience. At the same time, it makes the plug-in running environment independent of the system environment, ensuring low coupling and realizing system functions. Dynamic expansion prevents plug-in updates from affecting the operation of the system and improves system stability.

在一实施例中,插件订阅模块610,包括:In one embodiment, the plug-in subscription module 610 includes:

指令检测单元,用于监测插件市场中用户输入的所述用户安装指令。An instruction detection unit is configured to monitor the user installation instructions input by users in the plug-in market.

插件订阅单元,用于按照所述用户安装指令中的插件标识调取插件订阅接口以订阅所述服务器内所述目标插件。A plug-in subscription unit is configured to call a plug-in subscription interface according to the plug-in identification in the user installation instruction to subscribe to the target plug-in in the server.

在一实施例中,插件下载并部署模块620,包括:In one embodiment, the plug-in download and deployment module 620 includes:

订阅指令检测单元,用于对插件管理页面中的页面订阅指令进行监测。The subscription instruction detection unit is used to monitor the page subscription instructions in the plug-in management page.

插件下载部署单元,用于确定接收到所述页面订阅指令则下载并部署所述服务器内订阅的所述目标插件。A plug-in download and deployment unit is configured to determine to download and deploy the target plug-in subscribed in the server upon receiving the page subscription instruction.

插件存储单元,用于按照预设插件模型将各所述目标插件存储到预设插件管理系统。A plug-in storage unit is used to store each target plug-in in the default plug-in management system according to the preset plug-in model.

在一实施例中,插件存储单元,包括:In one embodiment, the plug-in storage unit includes:

插件认证子单元,用于调用网关服务应用程序接口对所述目标插件的API调用请求进行鉴权和认证。The plug-in authentication subunit is used to call the gateway service application program interface to authenticate and authenticate the API call request of the target plug-in.

第一注册子单元,用于若所述目标插件为后端服务插件,则将所述目标插件按照APIService模型注册到所述预设插件管理系统。The first registration subunit is used to register the target plug-in in the preset plug-in management system according to the APIService model if the target plug-in is a back-end service plug-in.

第二注册子单元,用于若所述目标插件为前端服务插件,则将所述目标插件按照JSBundle模型注册到所述预设插件管理系统。The second registration subunit is used to register the target plug-in in the preset plug-in management system according to the JSBundle model if the target plug-in is a front-end service plug-in.

第三注册子单元,用于若所述目标插件为静态资源服务插件,则将所述目标插件按照ReverseProxy模型注册到所述预设插件管理系统。The third registration subunit is used to register the target plug-in in the preset plug-in management system according to the ReverseProxy model if the target plug-in is a static resource service plug-in.

在一实施例中,插件下载部署单元,包括:In one embodiment, the plug-in download deployment unit includes:

镜像文件查找子单元,用于查找所述服务器内订阅的所述目标插件的Helm Chart应用模板文件,其中,所述Helm Chart应用模板文件包括所述目标插件的依赖组件。The image file search subunit is used to search for the Helm Chart application template file of the target plug-in subscribed in the server, where the Helm Chart application template file includes dependent components of the target plug-in.

镜像文件同步子单元,用于调用Helm和Kubernetes容器管理应用中的副本控制器将所述目标插件的Helm Chart应用模板文件从所述服务器同步到本地的预设插件管理系统。The image file synchronization subunit is used to call the copy controller in the Helm and Kubernetes container management applications to synchronize the Helm Chart application template file of the target plug-in from the server to the local default plug-in management system.

在一实施例中,所述预设插件管理系统基于Helm和Kubernetes容器管理应用实现,所述预设插件管理系统内的插件的名称唯一且存在至少一个版本。In one embodiment, the preset plug-in management system is implemented based on Helm and Kubernetes container management applications. The name of the plug-in in the preset plug-in management system is unique and there is at least one version.

在一实施例中,所述插件管理的功能包括以下至少之一:插件生命周期管理、路由管理、国际化管理、运行时上下文管理以及事件总线管理。In one embodiment, the functions of plug-in management include at least one of the following: plug-in life cycle management, routing management, internationalization management, runtime context management, and event bus management.

本发明实施例所提供的插件管理装置可执行本发明任意实施例所提供的插件管理方法,具备执行方法相应的功能模块和有益效果。The plug-in management device provided by the embodiment of the present invention can execute the plug-in management method provided by any embodiment of the present invention, and has functional modules and beneficial effects corresponding to the execution method.

在一实施例中,图7示出了可以用来实施本发明的实施例的电子设备的结构示意图。电子设备10旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。In an embodiment, FIG. 7 shows a schematic structural diagram of an electronic device that can be used to implement embodiments of the present invention. Electronic device 10 is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. Electronic devices may also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart phones, wearable devices (eg, helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are examples only and are not intended to limit the implementation of the invention described and/or claimed herein.

如图7所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。As shown in Figure 7, the electronic device 10 includes at least one processor 11, and a memory communicatively connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores There is a computer program that can be executed by at least one processor. The processor 11 can perform the operation according to the computer program stored in the read-only memory (ROM) 12 or loaded from the storage unit 18 into the random access memory (RAM) 13. Perform various appropriate actions and processing. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12 and the RAM 13 are connected to each other via the bus 14. An input/output (I/O) interface 15 is also connected to bus 14 .

电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。Multiple components in the electronic device 10 are connected to the I/O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a magnetic disk, an optical disk, etc. etc.; and communication unit 19, such as network card, modem, wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information/data with other devices through computer networks such as the Internet and/or various telecommunications networks.

处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如插件管理方法。Processor 11 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, digital signal processing processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes various methods and processes described above, such as the plug-in management method.

在一些实施例中,插件管理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的插件管理方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行插件管理方法。In some embodiments, the plug-in management method may be implemented as a computer program, which is tangibly embodied in a computer-readable storage medium, such as the storage unit 18. In some embodiments, part or all of the computer program may be loaded and/or installed onto the electronic device 10 via the ROM 12 and/or the communication unit 19 . When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the plug-in management method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to perform the plug-in management method in any other suitable manner (eg, by means of firmware).

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。Various implementations of the systems and techniques described above may be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on a chip implemented in a system (SOC), load programmable logic device (CPLD), computer hardware, firmware, software, and/or a combination thereof. These various embodiments may include implementation in one or more computer programs executable and/or interpreted on a programmable system including at least one programmable processor, the programmable processor The processor, which may be a special purpose or general purpose programmable processor, may receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device. An output device.

用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。Computer programs for implementing the methods of the invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that the computer program, when executed by the processor, causes the functions/operations specified in the flowcharts and/or block diagrams to be implemented. A computer program may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.

在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。In the context of this invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. Computer-readable storage media may include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or devices, or any suitable combination of the foregoing. Alternatively, the computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media would include one or more wire-based electrical connections, laptop disks, hard drives, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.

为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having a display device (eg, a CRT (cathode ray tube) or LCD (liquid crystal display)) for displaying information to the user monitor); and a keyboard and pointing device (e.g., a mouse or a trackball) through which a user can provide input to the electronic device. Other kinds of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and may be provided in any form, including Acoustic input, voice input or tactile input) to receive input from the user.

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., A user's computer having a graphical user interface or web browser through which the user can interact with implementations of the systems and technologies described herein), or including such backend components, middleware components, or any combination of front-end components in a computing system. The components of the system may be interconnected by any form or medium of digital data communication (eg, a communications network). Examples of communication networks include: local area network (LAN), wide area network (WAN), blockchain network, and the Internet.

计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。Computing systems may include clients and servers. Clients and servers are generally remote from each other and typically interact over a communications network. The relationship of client and server is created by computer programs running on corresponding computers and having a client-server relationship with each other. The server can be a cloud server, also known as cloud computing server or cloud host. It is a host product in the cloud computing service system to solve the problems of difficult management and weak business scalability in traditional physical hosts and VPS services. defect.

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。It should be understood that various forms of the process shown above may be used, with steps reordered, added or deleted. For example, each step described in the present invention can be executed in parallel, sequentially, or in different orders. As long as the desired results of the technical solution of the present invention can be achieved, there is no limitation here.

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。The above-mentioned specific embodiments do not constitute a limitation on the scope of the present invention. It will be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions are possible depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention shall be included in the protection scope of the present invention.

Claims (8)

1.一种插件管理方法,其特征在于,包括:1. A plug-in management method, characterized by including: 根据用户安装指令在服务器内订阅目标插件;Subscribe to the target plug-in in the server according to user installation instructions; 根据预设条件下载并部署所述服务器内订阅的所述目标插件;Download and deploy the target plug-in subscribed in the server according to preset conditions; 将所述目标插件基于最小系统加载工具加载到运行环境以进行功能拓展与插件管理;Load the target plug-in into the running environment based on the minimum system loading tool for function expansion and plug-in management; 其中,所述根据预设条件下载并部署所述服务器内订阅的所述目标插件,包括:Wherein, downloading and deploying the target plug-in subscribed in the server according to preset conditions includes: 对插件管理页面中的页面订阅指令进行监测;Monitor the page subscription instructions in the plug-in management page; 确定接收到所述页面订阅指令则下载并部署所述服务器内订阅的所述目标插件;Determine that upon receiving the page subscription instruction, download and deploy the target plug-in subscribed in the server; 按照预设插件模型将各所述目标插件存储到预设插件管理系统;其中,所述预设插件模型是指预先设置的插件模型;所述预设插件管理系统为基于Helm和Kubernetes 容器管理应用生成的插件仓库;所述预设插件模型包括APIService模型、JSBundle模型和ReverseProxy模型三种类型;Store each target plug-in in a preset plug-in management system according to a preset plug-in model; wherein the preset plug-in model refers to a preset plug-in model; the preset plug-in management system is a container management application based on Helm and Kubernetes Generated plug-in warehouse; the preset plug-in models include three types: APIService model, JSBundle model and ReverseProxy model; 其中,所述下载并部署所述服务器内订阅的所述目标插件,包括:Wherein, downloading and deploying the target plug-in subscribed in the server includes: 查找所述服务器内订阅的所述目标插件的Helm Chart应用模板文件,其中,所述HelmChart应用模板文件包括所述目标插件的JavaScript 脚本文件以及相对应的依赖项;Search for the Helm Chart application template file of the target plug-in subscribed in the server, where the HelmChart application template file includes the JavaScript script file of the target plug-in and the corresponding dependencies; 调用Helm 和Kubernetes容器管理应用中的副本控制器将所述目标插件的Helm Chart应用模板文件从所述服务器同步到本地的预设插件管理系统。Call the copy controller in Helm and the Kubernetes container management application to synchronize the Helm Chart application template file of the target plug-in from the server to the local default plug-in management system. 2.根据权利要求1所述方法,其特征在于,所述根据用户安装指令在服务器内订阅目标插件,包括:2. The method according to claim 1, characterized in that subscribing to the target plug-in in the server according to the user's installation instructions includes: 监测插件市场中用户输入的所述用户安装指令;Monitor said user installation instructions entered by users in the plug-in market; 按照所述用户安装指令中的插件标识调取插件订阅接口以订阅所述服务器内所述目标插件。Call a plug-in subscription interface according to the plug-in identification in the user installation instruction to subscribe to the target plug-in in the server. 3.根据权利要求1所述方法,其特征在于,所述按照预设插件模型将各所述目标插件存储到预设插件管理系统,包括:3. The method according to claim 1, characterized in that storing each target plug-in in a preset plug-in management system according to a preset plug-in model includes: 调用网关服务应用程序接口对所述目标插件的API调用请求进行鉴权和认证;Call the gateway service application program interface to authenticate and authenticate the API call request of the target plug-in; 若所述目标插件为后端服务插件,则将所述目标插件按照APIService模型注册到所述预设插件管理系统;If the target plug-in is a back-end service plug-in, register the target plug-in in the preset plug-in management system according to the APIService model; 若所述目标插件为前端服务插件,则将所述目标插件按照JSBundle模型注册到所述预设插件管理系统;If the target plug-in is a front-end service plug-in, register the target plug-in in the preset plug-in management system according to the JSBundle model; 若所述目标插件为静态资源服务插件,则将所述目标插件按照ReverseProxy模型注册到所述预设插件管理系统。If the target plug-in is a static resource service plug-in, the target plug-in is registered in the preset plug-in management system according to the ReverseProxy model. 4.根据权利要求1或3所述方法,其特征在于,所述预设插件管理系统基于Helm 和Kubernetes容器管理应用实现,所述预设插件管理系统内的插件的名称唯一且存在至少一个版本。4. The method according to claim 1 or 3, characterized in that the preset plug-in management system is implemented based on Helm and Kubernetes container management applications, and the name of the plug-in in the preset plug-in management system is unique and there is at least one version. . 5.根据权利要求1所述方法,其特征在于,所述插件管理的功能包括以下至少之一:插件生命周期管理、路由管理、国际化管理、运行时上下文管理以及事件总线管理。5. The method of claim 1, wherein the plug-in management functions include at least one of the following: plug-in life cycle management, routing management, internationalization management, runtime context management, and event bus management. 6.一种插件管理装置,其特征在于,包括:6. A plug-in management device, characterized in that it includes: 插件订阅模块,用于根据用户安装指令在服务器内订阅目标插件;The plug-in subscription module is used to subscribe to target plug-ins in the server according to user installation instructions; 插件下载部署模块,用于根据预设条件下载并部署所述服务器内订阅的所述目标插件;A plug-in download and deployment module, used to download and deploy the target plug-in subscribed in the server according to preset conditions; 插件管理模块,用于将所述目标插件基于最小系统加载工具加载到运行环境以进行功能拓展与插件管理;A plug-in management module, used to load the target plug-in into the running environment based on the minimum system loading tool for function expansion and plug-in management; 其中,所述插件下载部署模块,包括:Among them, the plug-in download and deployment module includes: 订阅指令检测单元,用于对插件管理页面中的页面订阅指令进行监测;The subscription instruction detection unit is used to monitor the page subscription instructions in the plug-in management page; 插件下载部署单元,用于确定接收到所述页面订阅指令则下载并部署所述服务器内订阅的所述目标插件;A plug-in download and deployment unit, configured to determine to download and deploy the target plug-in subscribed in the server upon receipt of the page subscription instruction; 插件存储单元,用于按照预设插件模型将各所述目标插件存储到预设插件管理系统;其中,所述预设插件模型是指预先设置的插件模型;所述预设插件管理系统为基于Helm和Kubernetes 容器管理应用生成的插件仓库;所述预设插件模型包括APIService模型、JSBundle模型和ReverseProxy模型三种类型;A plug-in storage unit is used to store each target plug-in in a preset plug-in management system according to a preset plug-in model; wherein the preset plug-in model refers to a preset plug-in model; the preset plug-in management system is based on Plug-in warehouse generated by Helm and Kubernetes container management applications; the preset plug-in models include three types: APIService model, JSBundle model and ReverseProxy model; 其中,所述插件下载部署单元,包括:Wherein, the plug-in download deployment unit includes: 镜像文件查找子单元,用于查找所述服务器内订阅的所述目标插件的Helm Chart应用模板文件,其中,所述Helm Chart应用模板文件包括所述目标插件的JavaScript 脚本文件以及相对应的依赖项;The image file search subunit is used to search for the Helm Chart application template file of the target plug-in subscribed in the server, where the Helm Chart application template file includes the JavaScript script file of the target plug-in and the corresponding dependencies. ; 镜像文件同步子单元,用于调用Helm和Kubernetes容器管理应用中的副本控制器将所述目标插件的Helm Chart应用模板文件从所述服务器同步到本地的预设插件管理系统。The image file synchronization subunit is used to call the copy controller in the Helm and Kubernetes container management applications to synchronize the Helm Chart application template file of the target plug-in from the server to the local default plug-in management system. 7.一种电子设备,其特征在于,所述电子设备包括:7. An electronic device, characterized in that the electronic device includes: 至少一个处理器;以及at least one processor; and 与所述至少一个处理器通信连接的存储器;其中,a memory communicatively connected to the at least one processor; wherein, 所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的插件管理方法。The memory stores a computer program executable by the at least one processor, the computer program being executed by the at least one processor, so that the at least one processor can execute any one of claims 1-5 Described plug-in management method. 8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-5中任一项所述的插件管理方法。8. A computer-readable storage medium, characterized in that the computer-readable storage medium stores computer instructions, and the computer instructions are used to implement the method of any one of claims 1-5 when executed by a processor. Plug-in management methods.
CN202210593424.8A 2022-05-27 2022-05-27 Plug-in management method and device, electronic equipment and storage medium Active CN114968406B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210593424.8A CN114968406B (en) 2022-05-27 2022-05-27 Plug-in management method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210593424.8A CN114968406B (en) 2022-05-27 2022-05-27 Plug-in management method and device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN114968406A CN114968406A (en) 2022-08-30
CN114968406B true CN114968406B (en) 2023-10-13

Family

ID=82958330

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210593424.8A Active CN114968406B (en) 2022-05-27 2022-05-27 Plug-in management method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN114968406B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115296999B (en) * 2022-09-28 2023-01-10 深圳依时货拉拉科技有限公司 Mobile terminal hot repair method, device, hot repair system and readable storage medium
CN115562759B (en) * 2022-11-11 2023-06-30 广州嘉为科技有限公司 System function expanding method, device and storage medium
CN116245491A (en) * 2023-03-22 2023-06-09 中国工商银行股份有限公司 A plug-in-based decision flow implementation method, architecture and equipment
CN116582280A (en) * 2023-06-25 2023-08-11 中国工商银行股份有限公司 Plug-in authentication processing method and device, storage medium and electronic equipment
CN118331603A (en) * 2024-03-21 2024-07-12 超聚变数字技术有限公司 Application extension method, computing device and device cluster
CN118916093B (en) * 2024-10-10 2025-01-14 深圳大道云科技有限公司 Jetpack Compose-based Android plug-in method device and equipment

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033743A (en) * 2010-09-02 2011-04-27 西安赛斐软件科技有限公司 System and method for expanding model driving development capability by applying plug-in
US8725810B1 (en) * 2005-06-30 2014-05-13 Google Inc. Method and system for anonymous login for real time communications
CN106095458A (en) * 2016-06-20 2016-11-09 腾讯科技(深圳)有限公司 The management method of plug-in unit and device in a kind of application program
CN106453494A (en) * 2016-08-31 2017-02-22 广州品唯软件有限公司 A plug-in update method, system, client and server
CN107957869A (en) * 2017-11-16 2018-04-24 中国烟草总公司四川省公司 The fixed office cloud desktop system of one kind
CN112527411A (en) * 2020-12-21 2021-03-19 中国电子信息产业集团有限公司第六研究所 Real-time data visualization system based on plug-in and topic subscription mode
CN112631601A (en) * 2020-12-24 2021-04-09 深信服科技股份有限公司 Application firewall deployment method, device and equipment of container arrangement engine
CN113296740A (en) * 2020-11-30 2021-08-24 阿里巴巴集团控股有限公司 Service object processing method, device, equipment and machine readable medium
CN113608831A (en) * 2021-07-16 2021-11-05 济南浪潮数据技术有限公司 Plug-in instance management method, system, storage medium and equipment
CN113805965A (en) * 2021-09-11 2021-12-17 济南浪潮数据技术有限公司 Method, device and equipment for installing external plug-in and readable medium
CN114125028A (en) * 2021-11-29 2022-03-01 Oppo广东移动通信有限公司 Micro-application operating method, device, device, storage medium and program product
CN114172957A (en) * 2021-12-02 2022-03-11 Oppo广东移动通信有限公司 Subscription system, subscription method, electronic device, server, storage medium, and product
CN114443159A (en) * 2021-12-31 2022-05-06 智器云南京信息科技有限公司 Plug-in processing device and method, computer equipment and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100191606A1 (en) * 2009-01-23 2010-07-29 Microsoft Corporation Tax calculation extensibility techniques
US10002202B2 (en) * 2010-05-28 2018-06-19 Microsoft Technology Licensing, Llc Realtime websites with publication and subscription
US10581823B2 (en) * 2016-03-21 2020-03-03 Vmware, Inc. Web client plugin manager in vCenter managed object browser
US10257232B2 (en) * 2017-09-13 2019-04-09 Malwarebytes Inc. Endpoint agent for enterprise security system

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8725810B1 (en) * 2005-06-30 2014-05-13 Google Inc. Method and system for anonymous login for real time communications
CN102033743A (en) * 2010-09-02 2011-04-27 西安赛斐软件科技有限公司 System and method for expanding model driving development capability by applying plug-in
CN106095458A (en) * 2016-06-20 2016-11-09 腾讯科技(深圳)有限公司 The management method of plug-in unit and device in a kind of application program
CN106453494A (en) * 2016-08-31 2017-02-22 广州品唯软件有限公司 A plug-in update method, system, client and server
CN107957869A (en) * 2017-11-16 2018-04-24 中国烟草总公司四川省公司 The fixed office cloud desktop system of one kind
CN113296740A (en) * 2020-11-30 2021-08-24 阿里巴巴集团控股有限公司 Service object processing method, device, equipment and machine readable medium
CN112527411A (en) * 2020-12-21 2021-03-19 中国电子信息产业集团有限公司第六研究所 Real-time data visualization system based on plug-in and topic subscription mode
CN112631601A (en) * 2020-12-24 2021-04-09 深信服科技股份有限公司 Application firewall deployment method, device and equipment of container arrangement engine
CN113608831A (en) * 2021-07-16 2021-11-05 济南浪潮数据技术有限公司 Plug-in instance management method, system, storage medium and equipment
CN113805965A (en) * 2021-09-11 2021-12-17 济南浪潮数据技术有限公司 Method, device and equipment for installing external plug-in and readable medium
CN114125028A (en) * 2021-11-29 2022-03-01 Oppo广东移动通信有限公司 Micro-application operating method, device, device, storage medium and program product
CN114172957A (en) * 2021-12-02 2022-03-11 Oppo广东移动通信有限公司 Subscription system, subscription method, electronic device, server, storage medium, and product
CN114443159A (en) * 2021-12-31 2022-05-06 智器云南京信息科技有限公司 Plug-in processing device and method, computer equipment and storage medium

Also Published As

Publication number Publication date
CN114968406A (en) 2022-08-30

Similar Documents

Publication Publication Date Title
CN114968406B (en) Plug-in management method and device, electronic equipment and storage medium
EP3828701B1 (en) Mini app processing method, server, device and storage medium
EP3974962A1 (en) Method, apparatus, electronic device, readable storage medium and program for deploying application
US10740078B2 (en) Dynamic plugin(s) for cloud application(s)
CN108011768B (en) Construction method of aop interception type HBase data storage micro-service architecture
US8645672B2 (en) Configuring a computer system for a software package installation
CN110324169B (en) Interface management method and device
CN102362261B (en) Enter content into the application via a web browser
CN110187910B (en) Thermal updating method, device, equipment and computer readable storage medium
CN106502717B (en) Application program running method and device
CN113760324A (en) Method and device for constructing micro front-end application
US10404568B2 (en) Agent manager for distributed transaction monitoring system
CN113407194A (en) Method and device for deploying software
CN109032620A (en) The configuration file generation method and device of application program
KR20160061306A (en) Method and apparatus for firmware virtualization
CN112835568A (en) A project construction method and device
JP7538330B2 (en) Cloud code development system, method, apparatus, device and storage medium
CN116301951B (en) Micro-service application installation upgrading method and device based on kubernetes
CN113805858B (en) Method and device for continuously deploying software developed by scripting language
CN115421740A (en) Deployment method and device for cloud-native applications
US20230259358A1 (en) Documentation enforcement during compilation
CN114756227B (en) Resource release processing method and device
WO2023124657A1 (en) Micro-application running method and apparatus, device, storage medium, and program product
CN115167872A (en) Service module deployment method and device, electronic equipment and computer readable medium
CN115269442B (en) A debugging method and tool based on graphical interface architecture and project management

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100000 Unit 501A, Floor 5, 101, Building 1, Yard 5, Laiguangying West Road, Chaoyang District, Beijing

Applicant after: Beijing Qingyun Science and Technology Co.,Ltd.

Address before: 100020 601, 6 floor, 16 building, No. 36 Chuang Yuan Road, Chaoyang District, Beijing.

Applicant before: Beijing Qingyun Science and Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 100000 Unit 501A, Floor 5, 101, Building 1, Yard 5, Laiguangying West Road, Chaoyang District, Beijing

Patentee after: Beijing Qingyun Technology Group Co.,Ltd.

Country or region after: China

Address before: 100000 Unit 501A, Floor 5, 101, Building 1, Yard 5, Laiguangying West Road, Chaoyang District, Beijing

Patentee before: Beijing Qingyun Science and Technology Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 1101, 11th Floor, Building 9, No. 6 Jiuxianqiao Road, Chaoyang District, Beijing 100015, China

Patentee after: Beijing Qingyun Technology Group Co.,Ltd.

Country or region after: China

Address before: 100000 Unit 501A, Floor 5, 101, Building 1, Yard 5, Laiguangying West Road, Chaoyang District, Beijing

Patentee before: Beijing Qingyun Technology Group Co.,Ltd.

Country or region before: China