更新手机软件、获取补丁文件的方法及设备技术

技术编号:15541023 阅读:39 留言:0更新日期:2017-06-05 10:37
本发明专利技术公开了一种更新手机软件、获取补丁文件的方法及设备,其中,更新方法包括:移动终端接收来自IOS推送服务器的静默消息,其中,静默消息携带有预定APP补丁文件的补丁ID;移动终端根据补丁ID向预定APP对应的服务器下载预定APP的补丁文件;当预定APP被启动时,移动终端加载补丁文件,以更新预定APP。本发明专利技术移动终端可以直接加载补丁文件了,整个过程中,在用户毫无察觉的情况下就能够完成软件更新,在APP完全启动前就修复好各种bug,APP不会遇到crash风险,系统性能整体提高,用户体验也较好。

Method and equipment for updating mobile phone software and obtaining patch files

The invention discloses a mobile phone software update, get the patch file method and equipment, which comprises: the mobile terminal receives updates from the IOS server to send a message to push the silence, the silence, the message carries a predetermined APP patch patch ID; the mobile terminal according to the predetermined patch ID APP corresponding to the server to download a Book APP patch files; when a predetermined APP is activated, the mobile terminal loading patch file to update the book APP. The mobile terminal of the invention can be directly loaded patch file, the whole process can be completed in software update the user unaware of the circumstances in APP before the start of the repair of all kinds of bug, APP will not encounter the risk of crash, improve the overall system performance, user experience is better.

【技术实现步骤摘要】
更新手机软件、获取补丁文件的方法及设备
本专利技术涉及通讯领域,特别是涉及一种更新手机软件、获取补丁文件的方法及设备。
技术介绍
目前市面上的各种APP(手机软件)或多或少都会遇到线上版本有重大bug(漏洞)的情况。有时我们的bug修复需要更新程序,但在苹果商店中发布新版本的时间是很长的,因此,我们需要有一套可利用的机制,以便在不发版的情况下就能修复线上的bug。大多数开发者的做法是使用热修复技术,也就是在APP刚一启动的时候去下载一段修复脚本,利用Objective-C的动态特性将有问题的代码替换掉,从而使APP能够正常运行,其技术细节如下:(1)如果APP存在bug,则开发者把正确的代码作为补丁文件上传到APP对应的服务器。当前主流的补丁文件,一种是JSPatch,一种是lua脚本。(2)当APP启动时,首先加载本地已经下载了的补丁文件,APP把补丁文件中的代码解析出来,利用IOS系统专用语言objective-c的动态性和运行时机制,替换APP包中旧的错误代码。(3)APP启动时,同时发送接口请求,询问服务器是否有新的补丁文件,如果有,则下载这个补丁文件到本地。此时,APP处于等待状态,同时APP继续执行启动流程,以开启APP进行使用。当APP等到第(3)步下载完成补丁文件后,在下一次重新启动该APP时,会向步骤(2)的过程一样,重新去加载新的补丁文件。上述过程中,由于APP启动时已经加载了已下载的补丁文件,因此,当APP执行到出现bug的页面时,会执行被替换后的正确代码,而非有问题的旧代码,因此,通过以上方法,不需要发版,就可实现修复线上APP的bug。然而,如果当前APP的bug发生在启动过程中,导致来不及下载服务器上新的补丁文件,在刚启动的过程中就会crash(崩溃),则当前APP的bug将得不到修复,将会一启动就crash,用户将无法使用当前APP,必须等到重新发版才可以使用,用户体验较低。
技术实现思路
本专利技术提供一种更新手机软件、获取补丁文件的方法及设备,用以解决现有技术的如下问题:如果当前APP的bug发生在启动过程中,会导致来不及下载服务器上新的补丁文件,在刚启动的过程中APP就会crash,用户将无法使用当前APP,必须等到重新发版才可以使用,用户体验较低。为解决上述技术问题,一方面,本专利技术提供一种更新手机软件的方法,包括:移动终端接收来自IOS推送服务器的静默消息,其中,所述静默消息携带有预定APP补丁文件的补丁ID;所述移动终端根据所述补丁ID向所述预定APP对应的服务器下载所述预定APP的补丁文件;当所述预定APP被启动时,所述移动终端加载所述补丁文件,以更新所述预定APP。可选的,所述移动终端加载所述补丁文件,包括:所述移动终端检测内存中是否存在已下载的补丁文件;在存在所述已下载的补丁文件的情况下,所述移动终端加载所述补丁文件。可选的,所述移动终端加载所述补丁文件,包括:所述移动终端检测所述已下载的补丁文件的数量是否大于一个;在所述已下载的补丁文件的数量大于一个的情况下,加载时间上距离所述预定APP开启时间最近的补丁文件。另一方面,本专利技术还提供一种发送手机软件补丁文件的方法,包括:APP服务器接收来自移动终端的下载请求,其中,所述下载请求携带有请求下载所述APP的补丁文件的补丁ID,所述补丁ID为所述移动终端根据静默消息得到的;所述APP服务器根据所述补丁ID在补丁文件库中查找对应的补丁文件,并将查找到的补丁文件发送至所述移动终端。可选的,APP服务器接收来自移动终端的下载请求之前,还包括:所述APP服务器存储来自开发者平台的补丁文件,并为所述补丁文件生成对应的补丁ID;所述APP服务器将所述补丁ID发送至所述开发者平台,以通过所述开发者平台将所述补丁ID上传至IOS推送服务器。另一方面,本专利技术还提供一种移动终端,包括:消息接收模块,用于接收来自IOS推送服务器的静默消息,其中,所述静默消息携带有预定APP补丁文件的补丁ID;下载模块,用哟根据所述补丁ID向所述预定APP对应的服务器下载所述预定APP的补丁文件;更新模块,用于当所述预定APP被启动时,所述移动终端加载所述补丁文件,以更新所述预定APP。可选的,所述更新模块包括:第一检测单元,用于检测内存中是否存在已下载的补丁文件;第一加载单元,用于在存在所述已下载的补丁文件的情况下,加载所述补丁文件。可选的,所述更新模块包括:第二检测单元,用于检测所述已下载的补丁文件的数量是否大于一个;第二加载单元,用于在所述已下载的补丁文件的数量大于一个的情况下,加载时间上距离所述预定APP开启时间最近的补丁文件。另一方面,本专利技术还提供一种手机软件服务器,包括:请求接收模块,用于接收来自移动终端的下载请求,其中,所述下载请求携带有请求下载APP的补丁文件的补丁ID,所述补丁ID为所述移动终端根据静默消息得到的;查找模块,用于根据所述补丁ID在补丁文件库中查找对应的补丁文件;第一发送模块,用于将查找到的补丁文件发送至所述移动终端。可选的,还包括:生成模块,用于存储来自开发者平台的补丁文件,并为所述补丁文件生成对应的补丁ID;第二发送模块,用于将所述补丁ID发送至所述开发者平台,以通过所述开发者平台将所述补丁ID上传至IOS推送服务器。本专利技术移动终端通过IOS推送服务器接收静默消息,该静默消息与普通静默消息不同,其携带了预定APP需要下载补丁文件的补丁ID,移动终端可以在后台激活该预定APP,以根据补丁ID来在后台就下载好补丁文件,当预定APP被启动时,就可以直接加载补丁文件了,整个过程中,在用户毫无察觉的情况下就能够完成软件更新,在APP完全启动前就修复好各种bug,APP不会遇到crash风险,系统性能整体提高,用户体验也较好,解决了现有技术的如下问题:如果当前APP的bug发生在启动过程中,会导致来不及下载服务器上新的补丁文件,在刚启动的过程中APP就会crash,用户将无法使用当前APP,必须等到重新发版才可以使用,用户体验较低。附图说明图1是本专利技术第一实施例中更新手机软件的方法的流程图;图2是本专利技术第二实施例中发送手机软件补丁文件的方法的流程图;图3是本专利技术第三实施例中移动终端的结构示意图;图4是本专利技术第四实施例中手机软件服务器的结构示意图;图5是本专利技术第四实施例中手机软件服务器的优选结构示意图;图6是本专利技术第五实施例中移动终端修复app中的bug的方法的流程图。具体实施方式为了解决现有技术的如下问题:如果当前APP的bug发生在启动过程中,会导致来不及下载服务器上新的补丁文件,在刚启动的过程中APP就会crash,用户将无法使用当前APP,必须等到重新发版才可以使用,用户体验较低;本专利技术提供了一种更新手机软件、获取补丁文件的方法及设备,以下结合附图以及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不限定本专利技术。本专利技术第一实施例提供了一种更新手机软件的方法,该方法的流程如图1所示,包括步骤S102至S106:S102,移动终端接收来自IOS推送服务器的静默消息,其中,静默消息携带有预定APP补丁文件的补丁ID;S104,移动终端根据补丁ID向预定APP对应的服务器下载预定APP本文档来自技高网
...
更新手机软件、获取补丁文件的方法及设备

【技术保护点】
一种更新手机软件的方法,其特征在于,包括:移动终端接收来自IOS推送服务器的静默消息,其中,所述静默消息携带有预定手机软件APP补丁文件的补丁ID;所述移动终端根据所述补丁ID向所述预定APP对应的服务器下载所述预定APP的补丁文件;当所述预定APP被启动时,所述移动终端加载所述补丁文件,以更新所述预定APP。

【技术特征摘要】
1.一种更新手机软件的方法,其特征在于,包括:移动终端接收来自IOS推送服务器的静默消息,其中,所述静默消息携带有预定手机软件APP补丁文件的补丁ID;所述移动终端根据所述补丁ID向所述预定APP对应的服务器下载所述预定APP的补丁文件;当所述预定APP被启动时,所述移动终端加载所述补丁文件,以更新所述预定APP。2.如权利要求1所述的方法,其特征在于,所述移动终端加载所述补丁文件,包括:所述移动终端检测内存中是否存在已下载的补丁文件;在存在所述已下载的补丁文件的情况下,所述移动终端加载所述补丁文件。3.如权利要求1或2所述的方法,其特征在于,所述移动终端加载所述补丁文件,包括:所述移动终端检测所述已下载的补丁文件的数量是否大于一个;在所述已下载的补丁文件的数量大于一个的情况下,加载时间上距离所述预定APP开启时间最近的补丁文件。4.一种发送手机软件补丁文件的方法,其特征在于,包括:手机软件APP服务器接收来自移动终端的下载请求,其中,所述下载请求携带有请求下载所述APP的补丁文件的补丁ID,所述补丁ID为所述移动终端根据静默消息得到的;所述APP服务器根据所述补丁ID在补丁文件库中查找对应的补丁文件,并将查找到的补丁文件发送至所述移动终端。5.如权利要求4所述的方法,其特征在于,APP服务器接收来自移动终端的下载请求之前,还包括:所述APP服务器存储来自开发者平台的补丁文件,并为所述补丁文件生成对应的补丁ID;所述APP服务器将所述补丁ID发送至所述开发者平台,以通过所述开发者平台将所述补丁ID上传至IOS推送服...

【专利技术属性】
技术研发人员:王晓晖
申请(专利权)人:北京五八信息技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1