混合型App功能模块的热更新方法及系统与流程

文档序号:17761525发布日期:2019-05-24 21:43阅读:709来源:国知局
混合型App功能模块的热更新方法及系统与流程

本发明属于计算机技术领域,特别是涉及一种混合型app功能模块的热更新方法,及一种混合型app功能模块的热更新系统。



背景技术:

随着移动app深入大众用户各个领域,用户对app产品的功能诉求越来越多,但是由于手机系统的运行机制的特殊情况,app在进行功能模块升级时,必须经过下载和重新安装,不断地要求用户重新下载和安装,会降低产品的友好度,增加流量消耗,影响用户体验。

为了解决升级带来的问题,许多app开发商采取了混合开发模式,即:原生开发与webapp混合的开发模式,webapp由于不需要用户安装,可以通过离线或在线实时访问来达到webapp热更新技术。

而如今的混合开发模式大多存在如下的缺陷和不足:

(1)由于目前大多数app开发商都是对一个完整webapp进行升级,所以会产生很多的流量消耗,更新时间长;

(2)每次更新都是一个完整的webapp,所以会存在程序的某处bug导致整个系统的稳定性;

(3)没有更精准的热更新技术,无法将webapp进行模块化细分,只针对具体的细分的模块或者文件进行热更新;

(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加密和解密;

后台管理系统包括模块升级控制系统、模块解析、资源存储、模块传输、模块信息中心和数据库;模块升级控制系统分别与模块解析和资源存储相连接;模块解析分布于模块信息中心和资源存储相连接;模块信息中心与模块下载之间双向互联;模块信息中心与数据库连接。

值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1