CN114661371A - 一种客户端程序插件化方法 - Google Patents
一种客户端程序插件化方法 Download PDFInfo
- Publication number
- CN114661371A CN114661371A CN202210199787.3A CN202210199787A CN114661371A CN 114661371 A CN114661371 A CN 114661371A CN 202210199787 A CN202210199787 A CN 202210199787A CN 114661371 A CN114661371 A CN 114661371A
- Authority
- CN
- China
- Prior art keywords
- plug
- program
- package
- client
- local
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000009434 installation Methods 0.000 claims abstract description 10
- 230000000977 initiatory effect Effects 0.000 claims abstract description 4
- 230000008569 process Effects 0.000 abstract description 8
- 230000006870 function Effects 0.000 abstract description 7
- 230000006872 improvement Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
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
本发明公开了一种客户端程序插件化方法,步骤S1:将客户端程序的主程序和功能程序分离,并将功能程序分散到各插件包中;步骤S2:启动主程序,并通过本地应用web端发起插件包下载请求,通过本地网关将插件包信息转发到插件本地管理服务端;步骤S3:插件本地管理服务端向插件后台服务器请求下载插件,并记录插件下载的速度和进度;步骤S4:插件下载完成后,启动插件的功能程序。本发明客户端程序通过将功能分散到插件包中,减少了安装包体积,插件功能包的升级也不需要重新打包,同时,插件的代码与主体程序进程间隔离,代码不健壮的影响不会蔓延到主程序中,提高主程序的稳定性。
Description
技术领域
本发明涉及计算机软件领域,尤其涉及的是一种客户端程序插件化方法。
背景技术
现有技术中,客户端程序往往集中打包发布,所有功能都集中于一个安装包中,这样会带来如下问题。1、程序包体积过大。2、后期版本的功能升级和发布需要重新打包。3.代码耦合,不健壮的代码严重时会导致程序崩溃。
目前客户端插件化技术,往往是单进程插件化方式。客户端程序启动时,加载插件配置文件,如果当前插件版本与插件配置文件不符,则重新下载插件,并在主程序启动后加载插件,插件被加载进主程序的进程内存空间中。单进程插件化方式存在的缺陷是:1、没有实现功能的去耦合,插件的不稳定仍然会影响主体程序的稳定性。2、加载时间点在启动时,无法实现插件的实时更新。
因此,现有技术存在缺陷,需要改进。
发明内容
本发明所要解决的技术问题是:提供一种实现客户端界面web化,提高开发效率,采用多进程方式去耦合,安装包体积小的客户端程序插件化方法。
本发明的技术方案如下:一种客户端程序插件化方法,步骤S1:将客户端程序的主程序和功能程序分离,并将功能程序分散到各插件包中;步骤S2:启动主程序,并通过本地应用web端发起插件包下载请求,通过本地网关将插件包信息转发到插件本地管理服务端;步骤S3:插件本地管理服务端向插件后台服务器请求下载插件,并记录插件下载的速度和进度;步骤S4:插件下载完成后,启动插件的功能程序。
应用于上述技术方案,所述的客户端程序插件化方法中,在所述步骤S3之后,还通过所述本地应用web端进行插件安装进度轮询,并通过本地网关将插件安装进度轮询转发给所述插件本地管理服务端。
应用于上述各个技术方案,所述的客户端程序插件化方法中,步骤S4之后,插件本地管理服务端对下载的插件进行实时更新。
本发明的有益效果为:
本发明客户端程序通过将功能分散到插件包中,减少了安装包体积,插件功能包的升级也不需要重新打包,同时,插件的代码与主体程序进程间隔离,代码不健壮的影响不会蔓延到主程序中,提高主程序的稳定性。
附图说明
图1为本发明的插件安装原理图。
具体实施方式
以下结合附图和具体实施例,对本发明进行详细说明。
本实施例提供了一种客户端程序插件化方法,如图1所示,客户端程序插件化方法包括有步骤S1:将客户端程序的主程序和功能程序分离,并将功能程序分散到各插件包中;客户端程序通过将功能分散到插件包中,减少了主程序安装包的体积,插件功能包的升级也不需要重新打包。
然后,步骤S2:启动主程序,并通过本地应用web端发起插件包下载请求,通过本地网关将插件包信息转发到插件本地管理服务端;然后,步骤S3:插件本地管理服务端向插件后台服务器请求下载插件,并记录插件下载的速度和进度;步骤S4:插件下载完成后,启动插件的功能程序。
在所述步骤S3之后,还通过所述本地应用web端进行插件安装进度轮询,并通过本地网关将插件安装进度轮询转发给所述插件本地管理服务端;并且,步骤S4之后,插件本地管理服务端对下载的插件进行实时更新。
如此,插件包通过web端发起插件包下载请求进程、插件本地管理服务端向插件后台服务器请求下载插件进程、以及插件本地管理服务端向插件后台服务器请求和下载插件进程,使得插件的代码与主体程序的进程间隔离,客户端程序的插件包采用多进程方式去耦合,插件的不健壮性不会蔓延到主程序;使得主程序比较稳定,另外,客户端程序的插件包和主程序前后端分离,实现客户端界面web化,提高开发效率;主程序安装包只需要包含主程序,体积大幅缩减;插件功能包的升级也不需要重新打包。
以上仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种客户端程序插件化方法,其特征在于,
步骤S1:将客户端程序的主程序和功能程序分离,并将功能程序分散到各插件包中;
步骤S2:启动主程序,并通过本地应用web端发起插件包下载请求,通过本地网关将插件包信息转发到插件本地管理服务端;
步骤S3:插件本地管理服务端向插件后台服务器请求下载插件,并记录插件下载的速度和进度;
步骤S4:插件下载完成后,启动插件的功能程序。
2.根据权利要求1所述的客户端程序插件化方法,其特征在于:在所述步骤S3之后,还通过所述本地应用web端进行插件安装进度轮询,并通过本地网关将插件安装进度轮询转发给所述插件本地管理服务端。
3.根据权利要求2所述的客户端程序插件化方法,其特征在于:步骤S4之后,插件本地管理服务端对下载的插件进行实时更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210199787.3A CN114661371A (zh) | 2022-03-01 | 2022-03-01 | 一种客户端程序插件化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210199787.3A CN114661371A (zh) | 2022-03-01 | 2022-03-01 | 一种客户端程序插件化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114661371A true CN114661371A (zh) | 2022-06-24 |
Family
ID=82027167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210199787.3A Pending CN114661371A (zh) | 2022-03-01 | 2022-03-01 | 一种客户端程序插件化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114661371A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546708A (zh) * | 2010-12-27 | 2012-07-04 | 阿里巴巴集团控股有限公司 | 插件获取方法、系统及相关装置 |
CN103399792A (zh) * | 2013-07-24 | 2013-11-20 | 佳都新太科技股份有限公司 | 基于Android的应用插件化实现方案 |
CN106055330A (zh) * | 2016-05-31 | 2016-10-26 | 深圳卡尔拓客科技有限公司 | 一种应用程序的管理方法及系统 |
CN107423101A (zh) * | 2017-08-01 | 2017-12-01 | 武大吉奥信息技术有限公司 | 一种应用程序插件网格化发布与管理方法及系统 |
CN110209416A (zh) * | 2019-05-31 | 2019-09-06 | 彩讯科技股份有限公司 | 应用软件更新方法、装置、终端及存储介质 |
CN112433780A (zh) * | 2020-11-16 | 2021-03-02 | 航天信息股份有限公司 | 客户端插件化方法方法、装置、电子设备及存储介质 |
-
2022
- 2022-03-01 CN CN202210199787.3A patent/CN114661371A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546708A (zh) * | 2010-12-27 | 2012-07-04 | 阿里巴巴集团控股有限公司 | 插件获取方法、系统及相关装置 |
CN103399792A (zh) * | 2013-07-24 | 2013-11-20 | 佳都新太科技股份有限公司 | 基于Android的应用插件化实现方案 |
CN106055330A (zh) * | 2016-05-31 | 2016-10-26 | 深圳卡尔拓客科技有限公司 | 一种应用程序的管理方法及系统 |
CN107423101A (zh) * | 2017-08-01 | 2017-12-01 | 武大吉奥信息技术有限公司 | 一种应用程序插件网格化发布与管理方法及系统 |
CN110209416A (zh) * | 2019-05-31 | 2019-09-06 | 彩讯科技股份有限公司 | 应用软件更新方法、装置、终端及存储介质 |
CN112433780A (zh) * | 2020-11-16 | 2021-03-02 | 航天信息股份有限公司 | 客户端插件化方法方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7242929B2 (en) | Method and apparatus for dynamic extension of device management tree data model on a mobile | |
CN101719073B (zh) | 一种基于智能客户端的按需下载实现方法 | |
CN111381858B (zh) | 一种应用程序升级方法、服务器及终端设备 | |
US20050227683A1 (en) | Apparatus and method for over the air software repair | |
US20030195951A1 (en) | Method and system to dynamically detect, download and install drivers from an online service | |
WO2013189395A2 (zh) | 一种软件安装包制作及软件安装方法、设备及系统 | |
WO2013004059A1 (zh) | 版本升级方法、终端及版本升级系统 | |
CN1991757A (zh) | 实现软件升级的方法 | |
WO2012022072A1 (zh) | 终端操作的触发方法、装置及系统 | |
CN110543324A (zh) | 一种应用程序的插件增量更新方法及装置 | |
CN111432033A (zh) | 应用程序下载方法、装置、系统、ios设备及介质 | |
CN109885332A (zh) | 画质芯片软件升级方法、装置、显示设备及存储介质 | |
CN113590595A (zh) | 一种数据库多写方法、装置及相关设备 | |
CN109766317B (zh) | 一种文件的删除方法、装置、设备及存储介质 | |
CN112860251A (zh) | 一种网站前端构建的方法与系统 | |
CN114661371A (zh) | 一种客户端程序插件化方法 | |
CN111752577A (zh) | 一种系统版本的升级方法及设备 | |
US20220279035A1 (en) | Model file issuing method, platform, system, terminal and readable storage medium | |
CN116301951B (zh) | 一种基于kubernetes的微服务应用安装升级方法及装置 | |
CN111935323A (zh) | 一种远程lxc容器应用动态管理系统及方法 | |
CN112328284A (zh) | 应用程序升级方法、系统、设备和存储介质 | |
CN111679842A (zh) | 应用程序热更新处理方法、装置及系统 | |
CN111679850A (zh) | 应用程序热更新处理方法、装置及系统 | |
CN115268909A (zh) | 一种web前端创建并运行构建任务的方法、系统和终端 | |
CN114443166A (zh) | 一种共享文件处理方法、装置及介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220624 |
|
RJ01 | Rejection of invention patent application after publication |