面向移动端混合模式热更新方法与流程

文档序号:12863553阅读:620来源:国知局

本发明属于系统升级领域,具体涉及的是面向移动端混合模式热更新方法。



背景技术:

系统升级,通常是系统从低版本向高版本的更新,由于高版本常常修复低版本的部分bug,所以经历了系统升级,一般都会比原版本的性能更好,得到优化的效果,用户也能更好的体验。

目前,随着智能手机的普及,越来越多的人都选择用智能手机来完成一些事情,比如:购物、娱乐、支付等,众多的商家选择开发自己的手机客户端应用软件,简称app,由于商家需要不断提升自己产品的性能及优化,所以需要不时更新app,目前,更新方法通常是商家将更新包提交到应用市场,经过一系列审核后,手机平台才会发布商家更新包,进而用户才能去更新app,传统的更新方法不仅要漫长的等待时间,还存在更新包不被平台发布的风险。



技术实现要素:

本发明的目的在于克服现有技术存在的以上问题,提供一种是面向移动端混合模式热更新方法。

为实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:

一种面向移动端混合模式热更新方法,包括:

清理文件系统,并启动动态升级组件,将配置参数初始化;

检查是否有新版本文件,并检查所述新版本文件最低支持的客户端版本号,下载组件;

增量下载更新,将所述当前版本文件拷贝到新版本文件夹,然后安装。

较佳的,所述清理文件系统,并启动动态升级组件,将配置参数初始化,包括:

在混合模式下,获取热更新配置;

清理文件系统,保留当前版本和上一个版本内容;

启用热更新,清除浏览记录,使配置参数初始化。

较佳的,所述清理文件系统,保留当前版本和上一个版本内容前包括:

获取本地所有版本信息,并判断是否有当前版本的信息,如果有当前版本信息,则清理文件系统,保留当前版本和上一个版本内容,如果没有当前版本信息,则创建默认版本信息并保存。

较佳的,所述清理文件系统,保留当前版本和上一个版本内容与所述启用热更新,清除浏览记录,使配置参数初始化之间包括:

实例化文件结构类,包括当前候选版本号以及资源文件路径;

插件初始化后,调用构造函数进行初始化;

判断是否启用热更新,如果启用热更新,则清除浏览记录,使配置参数初始化,如果没有启用热更新,则初始化结束。

较佳的,所述检查是否有新版本文件,并检查所述新版本文件最低支持的客户端版本号,下载组件,包括:

开始热更新下载,获取热更新的状态;

获取当前文件版本和清单文件;

下载服务器中新版本文件和清单文件;

比较下载的新版本文件与当前文件版本的差异,包括新增、修改和删除的文件;

进入安装更新阶段。

较佳的,所述下载服务器中版本文件、清单文件与所述比较下载的新版本文件与当前文件版本的差异,包括新增、修改和删除的文件之间,包括:

判断下载服务器中新版本文件是否高于配置的最低创建版本,如果低于配置的最低创建版本,则提示需要更新创建版本,根据配置地址下载应用软件,如果高于配置的最低创建版本,则判断是否有更新,如果有更新,则比较下载的新版本文件与当前文件版本的差异,包括新增、修改和删除的文件。

较佳的,所述增量下载更新,将所述当前版本文件拷贝到新版本文件夹,然后安装,包括:

开始更新安装;

调用安装更新方法;

下载新增和修改的新版本文件,同时,判断是否为静默更新,如果为静默更新,则直接进入应用软件,如果不是静默更新,则显示下载进度页面,然后进入所述应用软件,更新安装结束;

拷贝当前版本文件到新版本文件夹,删除无用文件,合并新增、修改文件;

清理临时下载目录并发布安装成功消息,更新安装结束。

较佳的,所述清理临时下载目录并发布安装成功消息,更新安装结束前,包括:判断安装是否完成,如果安装没有完成,则回滚到上一个版本,如果安装完成,则清理临时下载目录并发布安装成功消息,更新安装结束。

较佳的,所述拷贝当前版本文件到新版本文件夹,删除无用文件,合并新增、修改文件后,包括:获取当前版本信息文件和清单文件,然后到所述显示下载进度页面。

较佳的,所述拷贝当前版本文件到新版本文件夹,删除无用文件,合并新增、修改文件前,包括:

判断所述新增和修改的文件是否下载成功,如果没有下载成功,则回滚到上一个版本,如果下载成功,则判断所下载的新增和修改的文件是否正确,如果不正确,则回滚到上一个版本,如果正确,则拷贝当前版本文件到新版本文件夹,删除无用文件,合并新增或者修改文件。

本发明的有益效果是:

本发明通过混合模式在现有热更新机制下,在此基础上,增加增量下载更新机制,在实现过程中,对于文件清单、版本文件的对比,依然考虑客户端、用户体验及功能革新等输出体验,在诸多性能及技术方面的考虑下,择优解决方案,本发明用户不用再去应用市场下载更新,就能实现应用软件的更新升级体验,不仅简单便捷,而且节约了大量发布、上线投产的时间,并且完全避免了上线的不确定性。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1整体流程示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参照图1所示,一种面向移动端混合模式热更新方法,于本实施例中,包括:

s1:清理文件系统,并启动动态升级组件,将配置参数初始化;

s2:检查是否有新版本文件,并检查所述新版本文件最低支持的客户端版本号,下载组件;

s3:增量下载更新,将所述当前版本文件拷贝到新版文件夹,然后安装,于本实施例中,s3后还包括重新启动,即重启应用到外部存储路径,从config.xml中读取首页,webview加载页面,重启应用。

于本实施例中,步骤s1具体包括:

在混合模式下,获取热更新配置;

获取本地所有版本信息,并判断是否有当前版本的信息,如果有当前版本信息,则清理文件系统,保留当前版本和上一个版本内容,如果没有当前版本信息,则创建默认版本信息并保存;

实例化文件结构类,包括当前候选版本号以及资源文件路径;

插件初始化后,调用构造函数进行初始化;

判断是否启用热更新,如果启用热更新,则清除浏览记录,使配置参数初始化,如果没有启用热更新,则初始化结束。

于本实施例中,步骤s2具体包括:

开始热更新下载,获取热更新的状态;

获取当前文件版本和清单文件;

下载服务器中新版本文件和清单文件;

判断下载服务器中新版本文件是否高于配置的最低创建版本,如果低于配置的最低创建版本,则提示需要更新创建版本,根据配置地址下载应用软件,如果高于配置的最低创建版本,则判断是否有更新,如果有更新,则比较下载的新版本文件与当前文件版本的差异,包括新增、修改和删除的文件;

进入安装更新阶段。

于本实施例中,上述步骤中,如果遇到服务器读取异常的情况,则停止下载,页面提示重新加载;如果遇到网络中断或者文件损坏的情况,则清空下载的文件;提示用户重新加载,如果遇到无可用更新时间,则运行当前应用版本。

于本实施例中,步骤s3包括:

开始更新安装;

调用安装更新方法;

下载新增和修改的新版本文件,同时,判断是否为静默更新,如果为静默更新,则直接进入应用软件,如果不是静默更新,则显示下载进度页面,然后进入所述应用软件,更新安装结束;

判断所述新增和修改的新版本文件是否下载成功,如果没有下载成功,则回滚到上一个版本,如果下载成功,则判断所下载的新增和修改的新版本文件是否正确,如果不正确,则回滚到上一个版本,如果正确,则拷贝当前版本文件到新版本文件夹,删除无用文件,合并新增或者修改文件;

获取当前版本信息文件和清单文件,然后到所述显示下载进度页面;同时,判断安装是否完成,如果安装没有完成,则回滚到上一个版本,如果安装完成,则清理临时下载目录并发布安装成功消息,更新安装结束。

于本实施例中,上述步骤中,如果遇到未清除完之前数据,导致数据出错,则清空文件上所有数据,重新下载新版本文件的数据包;如果遇到漏下载的内容文件,则对比未下载的文件,进行增量下载;如果遇到复制文件损坏,则清除损坏文件,重新下载。

于本实施例中,一种面向移动端混合模式热更新装置包括初始化模块、更新下载组件模块、更新安装模块和重启应用模块,其中,所述初始化模块用于清理文件系统,使有空的新文件夹来保存新版本文件信息,然后校验新版本文件,服务初始化,通知初始化页面,从而获取插件状态,通过js结构设置插件xml文件,并用于启动动态升级组件,进行初始化配置参数。

所述更新下载组件模块,用于下载服务器的version.json版本文件,对比releaseversion检查是否有新版本,还能下载version.mainfest内容文件,并比较本地和服务器的文件差异,更新下载组件。

所述更新安装模块,用于初始化安装前需要的变量,能读取当前版本的版本文件和清单文件以及新版本的版本文件和清单文件,还能增量下载修复和新增的文件,计算文件数量,并检查更新要安装的文件是否都在安装目录中以及每个文件的hash值是否正确,此外,能拷贝当前版本文件到新版本文件夹并复制内容文件,和删除已经无用的文件,从安装目录拷贝文件到工作目录。

重启应用模块用于重启应用到外部存储路径,从config.xml中读取首页,webview加载页面,重启应用。

本实施例的工作原理如下:

本发明通过混合模式在现有热更新机制下,在此基础上,增加增量下载更新机制,在实现过程中,对于文件清单、版本文件的对比,依然考虑客户端、用户体验及功能革新等输出体验,在诸多性能及技术方面的考虑下,择优解决方案,本发明用户不用再去应用市场下载更新,就能实现应用软件的更新升级体验,不仅简单便捷,而且节约了大量发布、上线投产的时间,并且完全避免了上线的不确定性。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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