CN109800009A - 混合型App功能模块的热更新方法及系统 - Google Patents
混合型App功能模块的热更新方法及系统 Download PDFInfo
- Publication number
- CN109800009A CN109800009A CN201910036818.1A CN201910036818A CN109800009A CN 109800009 A CN109800009 A CN 109800009A CN 201910036818 A CN201910036818 A CN 201910036818A CN 109800009 A CN109800009 A CN 109800009A
- Authority
- CN
- China
- Prior art keywords
- module
- app
- parsing
- downloading
- version
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种混合型App功能模块的热更新方法及系统,涉及计算机技术领域。本发明包括混合App、后台管理系统和App客户端;混合App由多个细分模块、模块解析、版本控制、模块下载、安全控制、热更新、离线缓存和模块管理中心;后台管理系统包括模块升级控制系统、模块解析、资源存储、模块传输、模块信息中心和数据库。本发明通过将App进行模块细分,各个模块通过model‑id来进行检测,每个模块开发完成以后进行加密打包,以及App在下载完成之后进行md5校验来达到模块升级的目的,提高了软件App升级效率,降低了流量损耗。
Description
技术领域
本发明属于计算机技术领域,特别是涉及一种混合型App功能模块的热更新方法,及一种混合型App功能模块的热更新系统。
背景技术
随着移动App深入大众用户各个领域,用户对App产品的功能诉求越来越多,但是由于手机系统的运行机制的特殊情况,App在进行功能模块升级时,必须经过下载和重新安装,不断地要求用户重新下载和安装,会降低产品的友好度,增加流量消耗,影响用户体验。
为了解决升级带来的问题,许多App开发商采取了混合开发模式,即:原生开发与webApp混合的开发模式,webApp由于不需要用户安装,可以通过离线或在线实时访问来达到webApp热更新技术。
而如今的混合开发模式大多存在如下的缺陷和不足:
(1)由于目前大多数App开发商都是对一个完整web App进行升级,所以会产生很多的流量消耗,更新时间长;
(2)每次更新都是一个完整的webApp,所以会存在程序的某处bug导致整个系统的稳定性;
(3)没有更精准的热更新技术,无法将web App进行模块化细分,只针对具体的细分的模块或者文件进行热更新;
(4)目前混合App离线升级的方式没有进行安全性的措施,容易受到黑客攻击的风险。
因此,本发明重点提出了一种混合App热更新的解决方法,能够有效解决上述问题。
发明内容
本发明的目的在于提供一种混合型App功能模块的热更新方法及系统,通过将App进行模块细分,各个模块通过model-id来进行检测,每个模块开发完成以后进行加密打包,以及App在下载完成之后进行md5校验来达到模块升级的目的,解决了现有的App更新花费时间久、系统不稳定的问题。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明为一种混合型App功能模块的热更新方法,包括如下步骤:
步骤S1:将混合App进行模块化细分,如模块A、模块B和模块C,每个模块均独立开发并给每个模块提供唯一标识(model-id);
步骤S2:每个模块开发完成后,在工程根目录中创建一个.xml文件;
步骤S3:对模块工程进行压缩打包并进行md5加密;
步骤S4:在后台管理系统上架需要升级的模块压缩包,并自动解析出.xml文件信息记录到数据库表中;
步骤S5:客户端启动后,通过接口自动获取服务器中每个模块的最新版本,模块压缩包的md5以及解密的密匙;
步骤S6:客户端提取离线模块的版本号,将提取的版本号与服务器中的版本号进行比对,若不一致则自动下载最新的模块压缩包;
步骤S7:客户端对下载的压缩包进行md5安全效验;
步骤S8:将下载后的模块压缩包解压至手机缓冲中,解压目标文件目录用唯一标识命名,并删除上一版本的解压文件;
步骤S9:App客户端启动过程中,查看缓冲中模块文件夹判断模块是否已安装。
优选地,所述步骤S2中,.xml文件负责配置模块的基本信息,所述基本信息包括模块的版本号、模块的唯一标识和模块的启动界面。
本发明为一种混合型App功能模块的热更新系统,包括混合App、后台管理系统和App客户端,
所述混合App、后台管理系统和App客户端依次连接;
所述混合App由多个细分模块、模块解析、版本控制、模块下载、安全控制、热更新、离线缓存和模块管理中心;其中,多个细分模块分别与模块管理中心和模块解析连接,所述模块下载依次连接有版本控制、模块下载、安全控制、热更新和离线缓存;所述模块管理中心用于对细分的多个模块新增新版本、新增就版本、删除历史版本;所述模块解析模块用于解析工程根目录中.xml中信息;所述安全控制模块用于对模块压缩包进行md5加密和解密;
所述后台管理系统包括模块升级控制系统、模块解析、资源存储、模块传输、模块信息中心和数据库;所述模块升级控制系统分别与模块解析和资源存储相连接;所述模块解析分布于模块信息中心和资源存储相连接;所述模块信息中心与模块下载之间双向互联;所述模块信息中心与数据库连接。
本发明具有以下有益效果:
(1)本发明通过将App进行模块细分,分别升级各个模块的方案,可以保证系统升级过后的稳定性,同时分模块升级的方法与之前完整模块的升级想比较,前者对升级的流量消耗,缩短升级时间都有大大的改善。
(2)本发明通过将各个模块进行model-id来进行检测,来达到模块升级的目的,使得升级的目标模块更具有针对性,从而摆脱每次升级都要升级完整离线包的方式,提高了软件App升级效率。
(3)本发明对每个模块开发完成以后进行加密打包,以及App在下载完成之后进行md5校验,有助于增强系统的安全性,可有大大减少被恶意攻击的风险。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种混合型App功能模块的热更新方法步骤图;
图2为本发明的一种混合型App功能模块的热更新系统结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1所示,本发明为一种混合型App功能模块的热更新方法,包括如下步骤:
步骤S1:将混合App进行模块化细分,如模块A、模块B、模块C等等,每个模块均独立开发并给每个模块提供唯一标识(model-id);
步骤S2:每个模块开发完成后,在工程根目录中创建一个.xml文件;
步骤S3:对模块工程进行压缩打包并进行md5加密了,对压缩包采集md5的加密压缩方式,能够有效防止被黑客截获;
步骤S4:在后台管理系统上架需要升级的模块压缩包,后台系统会自动解析出.xml文件信息,如提取.xml文件的版本号、model-id,获取压缩包md5以及解密压缩包的密匙,记录到数据库表中;
步骤S5:客户端启动后,通过接口自动获取服务器中每个模块的最新版本,模块压缩包的md5以及解密的密匙;
步骤S6:客户端提取离线模块的版本号,将提取的版本号与服务器中的版本号进行比对,若不一致则自动下载最新的模块压缩包;
步骤S7:客户端对下载的压缩包进行md5安全效验,防止模块被恶意篡改;
步骤S8:将下载后的模块压缩包解压至手机缓冲中,解压目标文件目录用唯一标识(model-id)命名,并删除上一版本的解压文件,以确保文件夹的唯一性;
步骤S9:App客户端启动过程中,查看缓冲中模块文件夹判断模块是否已安装。
其中,步骤S2中,.xml文件负责配置模块的基本信息,基本信息包括模块的版本号(version)、模块的唯一标识(model-id)和模块的启动界面(launch-url)。
请参阅图2所示,本发明为一种混合型App功能模块的热更新系统,包括混合App、后台管理系统和App客户端,混合App、后台管理系统和App客户端依次连接;
混合App由多个细分模块、模块解析、版本控制、模块下载、安全控制、热更新、离线缓存和模块管理中心;其中,多个细分模块分别与模块管理中心和模块解析连接,模块下载依次连接有版本控制、模块下载、安全控制、热更新和离线缓存;模块管理中心用于对细分的多个模块新增新版本、新增就版本、删除历史版本;模块解析模块用于解析工程根目录中.xml中信息;安全控制模块用于对模块压缩包进行md5加密和解密;
后台管理系统包括模块升级控制系统、模块解析、资源存储、模块传输、模块信息中心和数据库;模块升级控制系统分别与模块解析和资源存储相连接;模块解析分布于模块信息中心和资源存储相连接;模块信息中心与模块下载之间双向互联;模块信息中心与数据库连接。
值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (3)
1.一种混合型App功能模块的热更新方法,其特征在于,包括如下步骤:
步骤S1:将混合App进行模块化细分,每个模块均独立开发并给每个模块提供唯一标识;
步骤S2:每个模块开发完成后,在工程根目录中创建一个.xml文件;
步骤S3:对模块工程进行压缩打包并进行md5加密;
步骤S4:在后台管理系统上架需要升级的模块压缩包,并自动解析出.xml文件信息记录到数据库表中;
步骤S5:客户端启动后,通过接口自动获取服务器中每个模块的最新版本,模块压缩包的md5以及解密的密匙;
步骤S6:客户端提取离线模块的版本号,将提取的版本号与服务器中的版本号进行比对,若不一致则自动下载最新的模块压缩包;
步骤S7:客户端对下载的压缩包进行md5安全效验;
步骤S8:将下载后的模块压缩包解压至手机缓冲中,解压目标文件目录用唯一标识命名,并删除上一版本的解压文件;
步骤S9:App客户端启动过程中,查看缓冲中模块文件夹判断模块是否已安装。
2.根据权利要求1所述的一种混合型App功能模块的热更新方法及系统,其特征在于,所述步骤S2中,.xml文件负责配置模块的基本信息,所述基本信息包括模块的版本号、模块的唯一标识和模块的启动界面。
3.根据权利要求1-2任意一所述的一种混合型App功能模块的热更新系统,包括混合App、后台管理系统和App客户端,其特征在于:
所述混合App、后台管理系统和App客户端依次连接;
所述混合App由多个细分模块、模块解析、版本控制、模块下载、安全控制、热更新、离线缓存和模块管理中心;其中,多个细分模块分别与模块管理中心和模块解析连接,所述模块下载依次连接有版本控制、模块下载、安全控制、热更新和离线缓存;所述模块管理中心用于对细分的多个模块新增新版本、新增就版本、删除历史版本;所述模块解析模块用于解析工程根目录中.xml中信息;所述安全控制模块用于对模块压缩包进行md5加密和解密;
所述后台管理系统包括模块升级控制系统、模块解析、资源存储、模块传输、模块信息中心和数据库;所述模块升级控制系统分别与模块解析和资源存储相连接;所述模块解析分布于模块信息中心和资源存储相连接;所述模块信息中心与模块下载之间双向互联;所述模块信息中心与数据库连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910036818.1A CN109800009A (zh) | 2019-01-15 | 2019-01-15 | 混合型App功能模块的热更新方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910036818.1A CN109800009A (zh) | 2019-01-15 | 2019-01-15 | 混合型App功能模块的热更新方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109800009A true CN109800009A (zh) | 2019-05-24 |
Family
ID=66559346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910036818.1A Pending CN109800009A (zh) | 2019-01-15 | 2019-01-15 | 混合型App功能模块的热更新方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109800009A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078278A (zh) * | 2019-12-21 | 2020-04-28 | 众能联合数字技术有限公司 | 支持Flutter及iOS混编工程的自动化打包方法 |
CN111209016A (zh) * | 2019-10-21 | 2020-05-29 | 江苏卓易信息科技股份有限公司 | 一种移动应用远程资源灰度更新的方法 |
WO2020253469A1 (zh) * | 2019-06-20 | 2020-12-24 | 京东方科技集团股份有限公司 | 脚本文件包的热更新方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984582A (zh) * | 2014-06-04 | 2014-08-13 | 网易(杭州)网络有限公司 | 一种热更新方法和装置 |
US20160203313A1 (en) * | 2013-08-23 | 2016-07-14 | British Telecommunications Public Limited Company | Method and apparatus for modifying a computer program in a trusted manner |
CN106648691A (zh) * | 2016-12-29 | 2017-05-10 | 深圳Tcl数字技术有限公司 | 多模块软件更新方法及系统 |
CN108108181A (zh) * | 2017-12-14 | 2018-06-01 | 深圳市雷鸟信息科技有限公司 | 应用程序的功能更新方法、装置及计算机可读存储介质 |
-
2019
- 2019-01-15 CN CN201910036818.1A patent/CN109800009A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160203313A1 (en) * | 2013-08-23 | 2016-07-14 | British Telecommunications Public Limited Company | Method and apparatus for modifying a computer program in a trusted manner |
CN103984582A (zh) * | 2014-06-04 | 2014-08-13 | 网易(杭州)网络有限公司 | 一种热更新方法和装置 |
CN106648691A (zh) * | 2016-12-29 | 2017-05-10 | 深圳Tcl数字技术有限公司 | 多模块软件更新方法及系统 |
CN108108181A (zh) * | 2017-12-14 | 2018-06-01 | 深圳市雷鸟信息科技有限公司 | 应用程序的功能更新方法、装置及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
JOROCCO: "JavaWeb项目管理工具-Maven的使用", 《HTTPS://BLOG.CSDN.NET/JOROCCO /ARTICLE/DETAILS/80432174》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020253469A1 (zh) * | 2019-06-20 | 2020-12-24 | 京东方科技集团股份有限公司 | 脚本文件包的热更新方法及装置 |
US11797296B2 (en) | 2019-06-20 | 2023-10-24 | Boe Technology Group Co., Ltd. | Hot updating method of script file package and hot updating device of script file package |
CN111209016A (zh) * | 2019-10-21 | 2020-05-29 | 江苏卓易信息科技股份有限公司 | 一种移动应用远程资源灰度更新的方法 |
CN111209016B (zh) * | 2019-10-21 | 2023-08-22 | 江苏卓易信息科技股份有限公司 | 一种移动应用远程资源灰度更新的方法 |
CN111078278A (zh) * | 2019-12-21 | 2020-04-28 | 众能联合数字技术有限公司 | 支持Flutter及iOS混编工程的自动化打包方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110569309B (zh) | 用于实现区块链的设备、方法、系统以及介质 | |
KR102026225B1 (ko) | 블록 체인을 이용하여 데이터를 관리하는 장치 및 방법 | |
CN108111331B (zh) | 更新数据包的获取方法、装置、存储介质、处理器及系统 | |
CN107346252B (zh) | 应用更新方法和装置 | |
CN103595730B (zh) | 一种密文云存储方法和系统 | |
CN1777867B (zh) | 使用增量压缩打补丁更新文件的系统和方法 | |
CN102724310B (zh) | 一种通过移动终端实现云搜索的方法 | |
JP5096680B2 (ja) | ファームウェアコンポーネントのステータスの発行およびファームウェアコンポーネントのアップデート | |
CN101854392B (zh) | 一种基于云计算环境的个人数据管理方法 | |
CN109889589A (zh) | 一种基于区块链实现嵌入式硬件ota升级系统及方法 | |
CN108170740A (zh) | 数据迁移方法、系统和计算机可读存储介质 | |
US20130227540A1 (en) | Updating peripheral device firmware via a portable device | |
CN104281504A (zh) | 一种基于md5码的应用程序数据备份还原的方法及系统 | |
CN109800009A (zh) | 混合型App功能模块的热更新方法及系统 | |
CN111258599B (zh) | 固件升级方法、系统和计算机可读存储介质 | |
CN106911729A (zh) | 一种适用于国产处理器的操作系统远程安装方法 | |
CN101410800A (zh) | 用于软件发布服务的系统和方法 | |
CN111182025A (zh) | 一种报文处理方法、装置、服务器及存储介质 | |
CN101409614A (zh) | 一种数据同步方法、系统和设备 | |
CN106550052A (zh) | 一种基于opc ua的数据采集装置及方法 | |
US11113045B2 (en) | Image install of a network appliance | |
CN111090386B (zh) | 一种云存储方法、装置、系统和计算机设备 | |
KR20160122254A (ko) | 소프트웨어 애플리케이션의 세트의 구축 방법 | |
CN110166547B (zh) | 终端远程访问控制方法 | |
CN110880146A (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: 20190524 |
|
RJ01 | Rejection of invention patent application after publication |