一种应用程序的漏洞修复方法、移动终端及补丁服务器技术

技术编号:15638871 阅读:85 留言:0更新日期:2017-06-15 19:57
本发明专利技术提出了一种应用程序的漏洞修复方法、移动终端及补丁服务器,该方法包括:通过应用程序的通知服务拓展接口接收推送服务器发送来的补丁推送消息,所述补丁推送消息包含有标识信息;通过所述通知服务拓展接口向所述应用程序的补丁服务器发送包含有所述标识信息的补丁下载请求,并接收所述补丁服务器基于所述标识信息发来的相应的补丁文件;当所述应用程序启动时,加载所述补丁文件,通过所述补丁文件修复所述应用程序中的漏洞。与现有技术先比,本发明专利技术的响应速度更快,不仅提高了系统的整体性能,也提高了用户体验度。

【技术实现步骤摘要】
一种应用程序的漏洞修复方法、移动终端及补丁服务器
本专利技术涉及通讯领域,尤其涉及一种应用程序的漏洞修复方法、移动终端及补丁服务器。
技术介绍
目前市面上的各种APP(应用程序)或多或少都会遇到线上版本有重大Bug(漏洞)的情况。APP需要更新程序以修复Bug,但在苹果商店中发布新版本的时间是很长的,因此,需要一套可利用的机制,以便在不发布新版本的情况下就能修复APP中的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,必须等到重新发版才可以使用,用户体验较低。为解决上述技术问题,一方面,本专利技术提供一种应用程序的漏洞修复方法,包括:通过应用程序的通知服务拓展接口接收推送服务器发送来的补丁推送消息,所述补丁推送消息包含有标识信息;通过所述通知服务拓展接口向所述应用程序的补丁服务器发送包含有所述标识信息的补丁下载请求,并接收所述补丁服务器基于所述标识信息发来的相应的补丁文件;当所述应用程序启动时,加载所述补丁文件,通过所述补丁文件修复所述应用程序中的漏洞。可选的,所述方法还包括:所述通知服务拓展接口将从所述补丁服务器中下载的所述补丁文件保存到应用分组的共享文件中;所述应用程序和所述通知服务拓展接口均位于所述应用分组中。可选的,所述当所述应用程序启动时,加载所述补丁文件,通过所述补丁文件修复所述应用程序中的漏洞,包括:当所述应用程序启动时,从所述共享文件中获取最新版本的补丁文件,并解析出最新版本的补丁文件中的代码,用解析出的所述代码替换所述应用程序中的错误代码。另一方面,本专利技术还提供一种应用程序的漏洞修复方法,包括:接收移动终端中的应用程序的通知服务拓展接口发送来的补丁下载请求,所述补丁下载请求包含有标识信息;根据所述标识信息查找对应的补丁文件,并将查找到的补丁文件发送给所述通知服务拓展接口。可选的,在接收所述补丁下载请求之前,所述方法还包括:接收应用程序开发平台发送来的补丁文件,并为所述补丁文件生成对应的标识信息;将所述标识信息反馈给所述应用程序开发平台,以通过所述应用程序开发平台将包含有所述标识信息的补丁推送消息发送给推送服务器。另一方面,本专利技术还提供一种移动终端,包括:第一接收模块,用于通过应用程序的通知服务拓展接口接收推送服务器发送来的补丁推送消息,所述补丁推送消息包含有标识信息;下载模块,用于通过所述通知服务拓展接口向所述应用程序的补丁服务器发送包含有所述标识信息的补丁下载请求,并接收所述补丁服务器基于所述标识信息发来的相应的补丁文件;修复模块,用于当所述应用程序启动时,加载所述补丁文件,通过所述补丁文件修复所述应用程序中的漏洞。可选的,所述下载模块,还用于:所述通知服务拓展接口将从所述补丁服务器中下载的所述补丁文件保存到应用分组的共享文件中;所述应用程序和所述通知服务拓展接口均位于所述应用分组中。可选的,所述修复模块,具体用于:当所述应用程序启动时,从所述共享文件中获取最新版本的补丁文件,并解析出最新版本的补丁文件中的代码,用解析出的所述代码替换所述应用程序中的错误代码。另一方面,本专利技术还提供一种补丁服务器,包括:第二接收模块,用于接收移动终端中的应用程序的通知服务拓展接口发送来的补丁下载请求,所述补丁下载请求包含有标识信息;查找模块,用于根据所述标识信息查找对应的补丁文件,并将查找到的补丁文件发送给所述通知服务拓展接口。可选的,所述补丁服务器还包括:生成模块,用于接收应用程序开发平台发送来的补丁文件,并为所述补丁文件生成对应的标识信息;反馈模块,用于将所述标识信息反馈给所述应用程序开发平台,以通过所述应用程序开发平台将包含有所述标识信息的补丁推送消息发送给推送服务器。采用上述技术方案,本专利技术至少具有下列优点:本专利技术所述的应用程序的漏洞修复方法、移动终端及补丁服务器,当应用程序开发平台将应用程序的补丁文件上传到补丁服务器时,会通过推送服务器发送携带有标识信息的补丁推送消息,苹果系统中的通知服务拓展接口会拦截补丁推送消息,并根据所述补丁推送消息中的标识信息从补丁服务器中下载补丁文件,并将补丁文件保存到本地的共享文件中。当应用程序启动时,只需从本地的共享文件中就能直接获得所述补丁文件,从而修复应用程序的漏洞。由于通知服务拓展接口已将补丁文件保存到本地的共享文件中,所以应用程序不用再等待向补丁服务器发送请求,以及等待从补丁服务器下载补丁文件。与现有技术先比,本专利技术的响应速度更快,不仅提高了系统的整体性能,也提高了用户体验度。整个过程中,在用户毫无察觉的情况下就能够完成软件更新,在应用程序完全启动前就修复好各种漏洞,应用程序就不会遇到宕机风险。附图说明图1是本专利技术第一实施例中应用程序的漏洞修复方法的流程图;图2是本专利技术第二实施例中应用程序的漏洞修复方法的流程图;图3是本专利技术第三实施例中移动终端的结构示意图;图4是本专利技术第四实施例中补丁服务器的结构示意图;图5是本专利技术第五实施例中修复APP中的Bug的方法的流程图。具体实施方式为更进一步阐述本专利技术为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本专利技术进行详细说明如后。本专利技术第一实施例,一种应用程序的漏洞修复方法,应用于移动终端,如图1所示,所述方法包括以下具体步骤:S101:通过应用程序的通知服务拓展接口接收推送服务器发送来的补丁推送消息,所述补丁推送消息包含有标识信息。本实施例利用了苹果公司在iOS10操作系统中推出的通知服务拓展接口UNNotificatio本文档来自技高网
...
一种应用程序的漏洞修复方法、移动终端及补丁服务器

【技术保护点】
一种应用程序的漏洞修复方法,其特征在于,应用于移动终端,所述方法包括:通过应用程序的通知服务拓展接口接收推送服务器发送来的补丁推送消息,所述补丁推送消息包含有标识信息;通过所述通知服务拓展接口向所述应用程序的补丁服务器发送包含有所述标识信息的补丁下载请求,并接收所述补丁服务器基于所述标识信息发来的相应的补丁文件;当所述应用程序启动时,加载所述补丁文件,通过所述补丁文件修复所述应用程序中的漏洞。

【技术特征摘要】
1.一种应用程序的漏洞修复方法,其特征在于,应用于移动终端,所述方法包括:通过应用程序的通知服务拓展接口接收推送服务器发送来的补丁推送消息,所述补丁推送消息包含有标识信息;通过所述通知服务拓展接口向所述应用程序的补丁服务器发送包含有所述标识信息的补丁下载请求,并接收所述补丁服务器基于所述标识信息发来的相应的补丁文件;当所述应用程序启动时,加载所述补丁文件,通过所述补丁文件修复所述应用程序中的漏洞。2.根据权利要求1所述的应用程序的漏洞修复方法,其特征在于,所述方法还包括:所述通知服务拓展接口将从所述补丁服务器中下载的所述补丁文件保存到应用分组的共享文件中;所述应用程序和所述通知服务拓展接口均位于所述应用分组中。3.根据权利要求2所述的应用程序的漏洞修复方法,其特征在于,所述当所述应用程序启动时,加载所述补丁文件,通过所述补丁文件修复所述应用程序中的漏洞,包括:当所述应用程序启动时,从所述共享文件中获取最新版本的补丁文件,并解析出最新版本的补丁文件中的代码,用解析出的所述代码替换所述应用程序中的错误代码。4.一种应用程序的漏洞修复方法,其特征在于,应用于补丁服务器,所述方法包括:接收移动终端中的应用程序的通知服务拓展接口发送来的补丁下载请求,所述补丁下载请求包含有标识信息;根据所述标识信息查找对应的补丁文件,并将查找到的补丁文件发送给所述通知服务拓展接口。5.根据权利要求4所述的应用程序的漏洞修复方法,其特征在于,在接收所述补丁下载请求之前,所述方法还包括:接收应用程序开发平台发送来的补丁文件,并为所述补丁文件生成对应的标识信息;将所述标识信息反馈给所述应用程序开发平台,以通过所述应用程序开发平台将包...

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

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

1