本技术涉及数据处理领域,尤其涉及一种app本地weex资源热更新方法及系统。
背景技术:
1、目前,用户对应用程序(application,app)的需求越来越多,用户在业务上对app的使用体验、迭代速度、功能扩展等方面的优化诉求越来越强烈,因此,app通常需要不停的升级更新以更好的实现其功能和满足用户需求。
2、传统的应用程序在需要修复bug或者发布新功能时都是通过应用商店来发版,也就是需要用户去升级安装app。
3、但是,使用上述传统方式更新app时,通常会耗费移动终端的下载时间,用户会明显感受到等待和延迟,导致app的更新效率低下,app不能在用户无感的情况下进行更新或bug修复,影响用户的体验感。
技术实现思路
1、本技术提供了一种app本地weex资源热更新方法及系统,用于使app更新过程可以在用户无感的情况下进行,不会对用户访问app造成影响,提高用户体验。
2、本技术第一方面提供了一种app本地weex资源热更新方法,包括:
3、若监测到应用程序app的启动指令,则加载本地缓存的本地版本信息文件中的第一weex资源文件,并请求远程服务器存储的远程版本信息文件,所述本地版本信息文件还包括第一weex资源文件路径信息,所述远程版本信息文件包括第二weex资源文件和第二weex资源文件路径信息,所述第二weex资源文件为最新版本的weex资源文件;
4、判断所述远程版本信息文件与本地缓存的所述本地版本信息文件是否一致;
5、若否,则响应于所述app进入后台进程的目标指令,下载所述远程版本信息文件至本地,并在后台将本地缓存的所述第一weex资源文件更新为所述第二weex资源文件;
6、当监测到所述app退出所述后台进程进入前台运行状态或响应于所述app的再次启动指令时,加载本地缓存的所述第二weex资源文件。
7、可选地,在所述若监测到应用程序app的启动指令,则加载本地缓存的本地版本信息文件中的第一weex资源文件之前,所述方法还包括:
8、获取当前最新版本的weex资源文件,并对所述weex资源文件进行md5算法加密,根据加密后的weex资源文件生成版本信息;
9、获取所述weex资源文件的weex资源文件路径信息,并基于所述版本信息和所述weex资源文件路径信息生成版本信息文件;
10、将所述版本信息文件打包部署至远程服务器。
11、可选地,在所述基于所述版本信息和所述weex资源文件路径信息生成版本信息文件之后,所述方法还包括:
12、当监测到app的发版指令,则将所述版本信息文件缓存至本地。
13、可选地,所述判断所述远程版本信息文件与本地缓存的所述本地版本信息文件是否一致包括:
14、确定所述本地版本信息文件中的第一版本信息和第一weex资源文件路径信息,所述第一版本信息为根据md5加密后的第一weex资源文件生成得到;
15、确定所述远程版本信息文件中的第二版本信息和第二weex资源文件路径信息,所述第二版本信息为根据md5加密后的第二weex资源文件生成得到;
16、判断所述第一weex资源文件路径信息和所述第二weex资源文件路径信息的路径信息是否一致;
17、若是,则判断所述第一版本信息和所述第二版本信息的md5键值是否一致,若一致,则确定所述本地版本信息文件与所述远程版本信息文件一致。
18、可选地,所述响应于所述app进入后台进程的目标指令,下载所述远程版本信息文件至本地包括:
19、当确认所述md5键值不一致时,若监测到所述app切换为后台运行状态,则下载所述远程版本信息文件至本地。
20、可选地,所述在后台将本地缓存的所述第一weex资源文件更新为所述第二weex资源文件包括:
21、检测所述app的联网状态和联网类型,若所述app当前处于非公共网络联网状态,则在后台将本地缓存的所述第一weex资源文件更新为所述第二weex资源文件。
22、可选地,所述在后台将本地缓存的所述第一weex资源文件更新为所述第二weex资源文件包括:
23、实时监测所述app的运行状态,若在更新过程中监测到所述app进入前台运行状态,则加载本地缓存的所述第一weex资源文件,并在后台同步更新所述第二weex资源文件。
24、可选地,所述在后台将本地缓存的所述第一weex资源文件更新为所述第二weex资源文件包括:
25、实时监测所述app的运行状态,若在更新过程中监测到所述app进入前台运行状态,则加载本地缓存的所述第一weex资源文件,暂停更新所述第二weex资源文件;
26、响应于所述app进入后台进程的目标指令,再次更新所述第二weex资源文件。
27、可选地,在所述请求远程服务器存储的远程版本信息文件之后,所述方法还包括:
28、当确定所述远程服务器不存在所述远程版本信息文件或所述远程版本信息文件与所述本地版本信息文件一致时,确定所述app本地资源无需更新,退出热更新流程。
29、本技术第二方面提供了一种app本地weex资源热更新系统,包括:
30、第一加载单元,用于若监测到app的启动指令,则加载本地缓存的本地版本信息文件中的第一weex资源文件,并请求远程服务器存储的远程版本信息文件,所述本地版本信息文件还包括第一weex资源文件路径信息,所述远程版本信息文件包括第二weex资源文件和第二weex资源文件路径信息,所述第二weex资源文件为最新版本的weex资源文件;
31、判断单元,用于判断所述远程版本信息文件与本地缓存的所述本地版本信息文件是否一致;
32、更新单元,用于若确定所述远程版本信息文件与本地缓存的所述本地版本信息文件不一致时,则响应于所述app进入后台进程的目标指令,下载所述远程版本信息文件至本地,并在后台将本地缓存的所述第一weex资源文件更新为所述第二weex资源文件;
33、第二加载单元,用于当监测到所述app退出所述后台进程进入前台运行状态或响应于所述app的再次启动指令时,加载本地缓存的所述第二weex资源文件。
34、可选地,所述系统还包括:
35、第一获取单元,用于获取当前最新版本的weex资源文件,并对所述weex资源文件进行md5算法加密,根据加密后的weex资源文件生成版本信息;
36、第二获取单元,用于获取所述weex资源文件的weex资源文件路径信息,并基于所述版本信息和所述weex资源文件路径信息生成版本信息文件;
37、部署单元,用于将所述版本信息文件打包部署至远程服务器。
38、可选地,所述系统还包括:
39、发版单元,用于当监测到app的发版指令,则将所述版本信息文件缓存至本地。
40、可选地,所述判断单元具体用于确定所述本地版本信息文件中的第一版本信息和第一weex资源文件路径信息,所述第一版本信息为根据md5加密后的第一weex资源文件生成得到;
41、确定所述远程版本信息文件中的第二版本信息和第二weex资源文件路径信息,所述第二版本信息为根据md5加密后的第二weex资源文件生成得到;
42、判断所述第一weex资源文件路径信息和所述第二weex资源文件路径信息的路径信息是否一致;
43、若是,则判断所述第一版本信息和所述第二版本信息的md5键值是否一致,若一致,则确定所述本地版本信息文件与所述远程版本信息文件一致。
44、可选地,所述更新单元具体用于当确认所述md5键值不一致时,若监测到所述app切换为后台运行状态,则下载所述远程版本信息文件至本地。
45、可选地,所述更新单元具体用于检测所述app的联网状态和联网类型,若所述app当前处于非公共网络联网状态,则在后台将本地缓存的所述第一weex资源文件更新为所述第二weex资源文件。
46、可选地,所述更新单元具体用于实时监测所述app的运行状态,若在更新过程中监测到所述app进入前台运行状态,则加载本地缓存的所述第一weex资源文件,并在后台同步更新所述第二weex资源文件。
47、可选地,所述更新单元具体用于实时监测所述app的运行状态,若在更新过程中监测到所述app进入前台运行状态,则加载本地缓存的所述第一weex资源文件,暂停更新所述第二weex资源文件;
48、响应于所述app进入后台进程的目标指令,再次更新所述第二weex资源文件。
49、可选地,所述系统还包括:
50、处理单元,用于当确定所述远程服务器不存在所述远程版本信息文件或所述远程版本信息文件与所述本地版本信息文件一致时,确定所述app本地资源无需更新,退出热更新流程。
51、本技术第三方面提供了一种app本地weex资源热更新装置,所述装置包括:
52、处理器、存储器、输入输出单元以及总线;
53、所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
54、所述存储器保存有程序,所述处理器调用所述程序以执行第一方面以及第一方面中任一项可选的app本地weex资源热更新方法。
55、本技术第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行第一方面以及第一方面中任一项可选的app本地weex资源热更新方法。
56、从以上技术方案可以看出,本技术具有以下优点:
57、本技术方法中,用户第一次访问app时,app会加载本地缓存的第一weex资源文件,同时判断远程服务器中是否有最新版本的第二weex资源文件。若有,则在app进入后台进程时,下载远程版本信息文件以确定第二weex资源文件,并将本地缓存的第一weex资源文件更新为第二weex资源文件。当监测到app退出后台进程进入前台运行状态或响应于app的再次启动指令时,加载本地缓存的第二weex资源文件。
58、从而,本技术使用app本地缓存weex资源文件的技术,不仅使得app界面在无网络时也可以正常展现。此外,通过上述方法,app第一次会加载本地缓存的第一weex资源文件。当app进入后台进程后才会下载第二weex资源文件进行更新。最后等app退出后台进程重新进入前台运行状态或app再次启动时,才会加载最新的第二weex资源文件,实现app的weex资源的热更新。整个过程可以在用户无感的情况下进行,不会对用户访问app造成影响,提高用户体验。