CN114661371A - 一种客户端程序插件化方法 - Google Patents

一种客户端程序插件化方法 Download PDF

Info

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
Application number
CN202210199787.3A
Other languages
English (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.)
Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd
Original Assignee
Shenzhen Qianhai Huanrong Lianyi Information Technology Service 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 Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd filed Critical Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd
Priority to CN202210199787.3A priority Critical patent/CN114661371A/zh
Publication of CN114661371A publication Critical patent/CN114661371A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

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之后,插件本地管理服务端对下载的插件进行实时更新。
CN202210199787.3A 2022-03-01 2022-03-01 一种客户端程序插件化方法 Pending CN114661371A (zh)

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)

* Cited by examiner, † Cited by third party
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 航天信息股份有限公司 客户端插件化方法方法、装置、电子设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
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