CN106502665A - 一种应用程序的修复方法及装置 - Google Patents

一种应用程序的修复方法及装置 Download PDF

Info

Publication number
CN106502665A
CN106502665A CN201610907207.6A CN201610907207A CN106502665A CN 106502665 A CN106502665 A CN 106502665A CN 201610907207 A CN201610907207 A CN 201610907207A CN 106502665 A CN106502665 A CN 106502665A
Authority
CN
China
Prior art keywords
bag
application program
server
repair
latest update
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610907207.6A
Other languages
English (en)
Other versions
CN106502665B (zh
Inventor
李春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Guangzhou Shirui Electronics Co Ltd
Original Assignee
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Guangzhou Shirui Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Shiyuan Electronics Thecnology Co Ltd, Guangzhou Shirui Electronics Co Ltd filed Critical Guangzhou Shiyuan Electronics Thecnology Co Ltd
Priority to CN201610907207.6A priority Critical patent/CN106502665B/zh
Publication of CN106502665A publication Critical patent/CN106502665A/zh
Application granted granted Critical
Publication of CN106502665B publication Critical patent/CN106502665B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/72Code refactoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种应用程序的修复方法,包括:确定独立于应用程序的修复程序正常运行后,发送用于指示服务器返回是否存在与应用程序当前版本对应的第一修复包的第一信息给服务器;当根据服务器返回的第二信息确定服务器上存在第一修复包,且本地不存在第一修复包时,向服务器获取第一修复包;根据服务器返回的第一修复包对应用程序进行修复。本发明还提供一种应用程序的修复装置。采用本发明实施例能够有效提高应用程序运行故障的修复成功率,提升用户体验。

Description

一种应用程序的修复方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用程序的修复方法及装置。
背景技术
应用程序在发布后,不可避免地存在故障问题。目前,现有的方案一般需要用户手动操作,下载安装该应用程序的修复包来修复该应用程序的故障问题,对于某些定制化或者需要部署的应用程序很可能还需要上门服务,不仅用户体验差,还造成了一定的经济损失。
在实施本发明的过程中,发明人发现现有技术至少存在以下问题:1、如果用户没有使用应用程序中存在故障问题的功能模块,就无法检测到应用程序是否出现了故障,只能在用户使用了存在故障问题的该功能模块时再执行修复操作,造成较差的用户体验;2、如果应用程序无法启动,可能会导致该应用程序的更新功能模块也无法启动,从而无法修复该应用程序的故障问题;3、如果应用程序的更新功能模块同样出现故障问题,将无法起到修复该应用程序的故障问题的作用,当然其也无法修复自身的故障问题。
发明内容
针对现有技术存在的问题,本发明提供一种应用程序的修复方法,能够有效提高应用程序异常问题的修复成功率,提升用户体验。
本发明提供一种应用程序的修复方法,包括如下步骤:
确定独立于应用程序的修复程序正常运行后,发送第一信息给服务器;其中,所述第一信息包含所述应用程序的当前版本号和用于指示所述服务器返回是否存在与所述应用程序当前版本对应的第一修复包的信号;
接收所述服务器发送的第二信息;其中,所述第二信息包含用于指示所述服务器上是否存在所述第一修复包的信号;
当根据所述第二信息确定所述服务器上存在所述第一修复包,且本地不存在所述第一修复包时,向所述服务器获取所述第一修复包;
根据所述服务器返回的所述第一修复包对所述应用程序进行修复。
上述技术方案中,在应用程序运行之前,通过独立于所述应用程序的修复程序检测服务器上是否存在所述应用程序的第一修复包;在确定所述服务器上存在所述第一修复包,且本地不存在所述第一修复包时,获取所述第一修复包,并对所述应用程序进行修复,因此,能够对一些没有检测到的异常问题进行及时修复,提高了所述应用程序的异常问题的修复的成功率,从而保证所述应用程序的正常运行,提升用户体验。
优选的,在根据所述第一修复包对所述应用程序进行修复之后,还包括:
更改所述应用程序的当前版本号为所述第一修复包的版本号。
优选的,在所述确定独立于应用程序的修复程序正常运行之前,还包括:
通过启动更新程序来监控所述修复程序是否正常运行;
当监控到所述修复程序运行异常时向服务器发送第三信息,以使所述服务器返回与所述修复程序对应的第二修复包;
根据所述服务器返回的所述第二修复包对所述修复程序进行修复。
本优选方案中,通过启动更新程序来监控并修复修复程序的运行异常问题,可以保证所述修复程序的正常运行,不致影响所述修复程序对所述应用程序的异常问题的修复,从而提高了所述应用程序的异常问题的修复成功率。
优选的,在所述确定独立于应用程序的修复程序正常运行之后,还包括:
通过所述修复程序来监控更新程序是否正常运行;
当监控到所述更新程序运行异常时向服务器发送第四信息,以使所述服务器返回与所述更新程序对应的第三修复包;
根据所述服务器返回的所述第三修复包对所述更新程序进行修复。
本优选方案中,通过所述修复程序来监控并修复更新程序的运行异常问题,可以保证所述更新程序的正常运行,从而,又可以反过来通过所述更新程序监控并修复所述修复程序的运行异常问题,最大程度地保证所述应用程序的异常问题可以得到及时修复,提升用户体验。
优选的,在所述更新程序正常运行之后,还包括:
向所述服务器获取所述应用程序的更新信息;其中,所述更新信息包含最新更新包的版本号、最新更新包的下载地址和最新更新包的校验码;
在所述最新更新包的版本号大于所述应用程序的当前版本号时,将所述最新更新包的校验码与本地的所述应用程序的更新包的校验码进行一一匹配;
当未匹配到与所述最新更新包的校验码相同的校验码时,通过访问所述最新更新包的下载地址获取所述最新更新包;
响应到用户的更新检查事件时,则根据所述最新更新包对所述应用程序进行更新;
更改所述应用程序的当前版本号为所述最新更新包的版本号。
本优选方案中,通过所述更新程序还可以对所述应用程序进行更新至最新版本,可以使所述应用程序更优化、更完善。
优选的,当所述服务器上存在所述第一修复包时,所述第二信息还包含所述第一修复包的校验码;
确定本地不存在所述第一修复包,具体为:
将所述第二信息中的所述第一修复包的校验码与本地的所述应用程序的修复包的校验码进行一一匹配;
当未匹配到与所述第一修复包的校验码相同的校验码时,则确定本地不存在所述第一修复包。
优选的,当根据所述第二信息确定所述服务器上存在所述第一修复包,且本地不存在所述第一修复包时,所述第二信息还包含所述第一修复包的下载地址;
所述向所述服务器获取所述第一修复包,具体为:
通过访问所述第二信息中的所述第一修复包的下载地址,获取所述第一修复包。
本发明还提供一种应用程序的修复装置,包括:
发送单元,用于确定独立于应用程序的修复程序正常运行后,发送第一信息给服务器;其中,所述第一信息包含所述应用程序的当前版本号和用于指示所述服务器返回是否存在与所述应用程序当前版本对应的第一修复包的信号;
接收单元,用于接收所述服务器发送的第二信息;其中,所述第二信息包含用于指示所述服务器上是否存在所述第一修复包的信号;
第一获取单元,用于当根据所述第二信息确定所述服务器上存在所述第一修复包,且本地不存在所述第一修复包时,向所述服务器获取所述第一修复包;
第一执行单元,用于根据所述服务器返回的所述第一修复包对所述应用程序进行修复。
优选的,所述应用程序的修复装置还包括:
第一监控单元,用于在所述确定独立于应用程序的修复程序正常运行之前,通过启动更新程序来监控所述修复程序是否正常运行;
第二获取单元,用于当监控到所述修复程序运行异常时向服务器发送第三信息,以使所述服务器返回与所述修复程序对应的第二修复包;
第二执行单元,用于根据所述服务器返回的所述第二修复包对所述修复程序进行修复。
优选的,所述应用程序的修复装置还包括:
第二监控单元,用于在所述确定独立于应用程序的修复程序正常运行之后,通过所述修复程序来监控更新程序是否正常运行;
第三获取单元,用于当监控到所述更新程序运行异常时向服务器发送第四信息,以使所述服务器返回与所述更新程序对应的第三修复包;
第三执行单元,用于根据所述服务器返回的所述第三修复包对所述更新程序进行修复。
优选的,所述应用程序的修复装置还包括:
第四获取单元,用于向所述服务器获取所述应用程序的更新信息;其中,所述更新信息包含最新更新包的版本号、最新更新包的下载地址和最新更新包的校验码;
匹配单元,用于在所述最新更新包的版本号大于所述应用程序的当前版本号时,将所述最新更新包的校验码与本地的所述应用程序的更新包的校验码进行一一匹配;
第五获取单元,用于当未匹配到与所述最新更新包的校验码相同的校验码时,通过访问所述最新更新包的下载地址获取所述最新更新包;
第四执行单元,用于响应到用户的更新检查事件时,则根据所述最新更新包对所述应用程序进行更新;
第一版本更新单元,用于更改所述应用程序的当前版本号为所述最新更新包的版本号。
本发明提供的应用程序的修复方法及装置,具有如下有益效果:在应用程序运行之前,通过独立于所述应用程序的修复程序检测服务器上是否存在所述应用程序的第一修复包;在确定所述服务器上存在所述第一修复包,且本地不存在所述第一修复包时,获取所述第一修复包,并对所述应用程序进行修复,因此,能够对一些没有检测到的异常问题进行及时修复,提高了所述应用程序的异常问题的修复的成功率,从而保证所述应用程序的正常运行,提升用户体验。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的应用程序的修复方法的一个实施例的流程示意图。
图2是本发明实施例提供的应用程序用户端的结构示意图。
图3是本发明提供的应用程序的修复装置的一个实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,是本发明提供的应用程序的修复方法的一个实施例的流程示意图。
本发明实施例提供一种应用程序的修复方法,包括步骤S11~S14,具体如下:
S11,确定独立于应用程序的修复程序正常运行后,发送第一信息给服务器;其中,所述第一信息包含所述应用程序的当前版本号和用于指示所述服务器返回是否存在与所述应用程序当前版本对应的第一修复包的信号。
其中,独立于应用程序的修复程序,也就是说,当所述应用程序发生运行故障而造成所述应用程序结束执行时,所述修复程序不会受到影响,而可以继续执行,因此,所述修复程序将可以完成修复所述应用程序所产生的故障问题。
具体的,在所述应用程序启动前或启动完成后,通过所述修复程序获取所述应用程序的当前版本号,并将所述应用程序的当前版本号随同用于指示所述服务器返回是否存在与所述应用程序当前版本对应的第一修复包的信号一同发送给所述服务器。其中,所述第一修复包可以为包含执行所述应用程序的所有文件,也可以只包含用来取代所述应用程序中包含发生故障问题的子程序的文件,本发明不做具体限制。
需要说明的是,所述第一信息包含但不限于以上内容,还可以包含所述应用程序的标识符、所述应用程序的运行平台、所述应用程序的MAC(Medium/Media AccessControl,媒介访问控制)地址等,本发明不做具体限制。其中,所述应用程序的标识符的生成方式有多种;优选的,使用GUID(Globally Unique Identifier,全局唯一标识符)生成算法来生成所述应用程序的标识符,以此来定位所述服务器上存储所述应用程序的修复包的文件夹;所述应用程序的运行平台可以为Windows、Linux、Mac或Unix等,用于获取与所述应用程序的运行平台相对应的修复包;所述应用程序的MAC地址用于标识接收所述服务器返回的修复包的设备的地址。
S12,接收所述服务器发送的第二信息;其中,所述第二信息包含用于指示所述服务器上是否存在所述第一修复包的信号。
S13,当根据所述第二信息确定所述服务器上存在所述第一修复包,且本地不存在所述第一修复包时,向所述服务器获取所述第一修复包。
在具体实施中,所述第二信息还包含所述第一修复包的校验码;
则确定本地不存在所述第一修复包,也就是,确定本地未下载或未完全下载所述第一修复包,具体为:
将所述第二信息中的所述第一修复包的校验码与本地的所述应用程序的修复包的校验码进行一一匹配;
当未匹配到与所述第一修复包的校验码相同的校验码时,则确定本地不存在所述第一修复包。
在具体实施中,对已经下载的所述应用程序的修复包存储在本地中以所述应用程序的标识符命名的文件夹内,以此快速查询所述应用程序的修复包,提高匹配速度。
优选的,所述第一修复包的校验码的生成方式使用MD5(Message DigestAlgorithm MD5,消息摘要算法第五版)算法;所述第一修复包的MD5值用以提供所述第一修复包的信息完整性保护,也就是说,所述第一修复包的MD5值就像是所述第一修复包的独一无二的“数字指纹”,如果对所述第一修复包做了任何改动,其MD5值也就是对应的“数字指纹”就会发生变化。当然,所述第一修复包的校验码的生成方式还可以使用本领域技术人员公知的其他方法,这些均在本发明的保护范围之内,在此不做限制。
在具体实施中,所述第二信息还包含所述第一修复包的下载地址;则所述向所述服务器获取所述第一修复包,具体为:
通过访问所述第二信息中的所述第一修复包的下载地址,获取所述第一修复包。
需要说明的是,所述第二信息包含但不限于上述内容,还可以包含所述第一修复包的大小、所述第一修复包的版本号等;其中,所述第一修复包的大小用以设置适当的保存路径;所述第一修复包的版本号用以提供所述应用程序修复后的更新版本号。
S14,根据所述服务器返回的所述第一修复包对所述应用程序进行修复。
具体的,在根据所述第一修复包对所述应用程序进行修复之后,还包括:
更改所述应用程序的当前版本号为所述第一修复包的版本号。
在本发明实施例中,在应用程序运行之前,通过独立于所述应用程序的修复程序检测服务器上是否存在所述应用程序的第一修复包;在确定所述服务器上存在所述第一修复包时,获取所述第一修复包,并对所述应用程序进行修复,因此,能够对一些没有检测到的异常问题进行及时修复,提高了所述应用程序的异常问题的修复的成功率,从而保证所述应用程序的正常运行,提升用户体验;
请一并参阅图2,具体的,所述应用程序的修复装置20还包括更新程序202,所述更新程序202同样独立于所述应用程序10,其中,所述更新程序202和所述修复程序201可以为所述应用程序用户端的后台程序,可进行所述应用程序用户端与所述服务器之间的数据交换;而且,所述更新程序202与所述修复程序201之间又可互相为对方进行更新修复,保证两者均可正常运行,从而最大程度地保证所述应用程序10的异常问题的修复成功率,提升用户体验。
在本发明一个实施例中,在所述确定独立于应用程序的修复程序正常运行之前,还包括:
通过启动更新程序来监控所述修复程序是否正常运行;
当监控到所述修复程序运行异常时向服务器发送第三信息,以使所述服务器返回与所述修复程序对应的第二修复包;
根据所述服务器返回的所述第二修复包对所述修复程序进行修复。
其中,第三信息包含但不限于所述修复程序的当前版本号、故障日志、操作系统位数和版本名称、MAC/IP地址等。
具体的,当所述修复程序运行异常时,生成故障日志,并将所述修复程序的当前版本号、操作系统位数和版本名称、MAC/IP地址等随同所述故障日志发送给所述服务器;其中,所述故障日志至少包含所述修复程序的当前执行环境、所述应用程序的配置信息、故障来源等,根据所述第三信息查询所述服务器上是否存在相对应的第二修复包;当确定存在所述第二修复包时,获取所述第二修复包并进行修复。
需要说明的是,所述服务器可以直接返回所述第二修复包给所述更新程序,也可以返回与所述第二修复包对应的修复信息,使得所述更新程序可以依据所述服务器返回的修复信息,至所述服务器下载所述第二修复包。
可以理解的是,当确定不存在所述第二修复包时,所述服务器记录下所述第三信息,以使开发人员根据所述第三信息检测所述修复程序的异常问题,并进行修复,即有针对性地对所述修复程序的当前某个存在异常问题的功能模块的代码进行修复,以及将所述第二修复包上传至所述服务器,所述服务器接收并保存上传的与所述修复程序对应的所述第二修复包。
在本发明实施例中,所述更新程序同样独立于所述修复程序,通过启动所述更新程序来监控并修复修复程序的运行异常问题,可以保证所述修复程序的正常运行,不致影响所述修复程序对所述应用程序的异常问题的修复,从而提高所述应用程序的异常问题的修复成功率。
在本发明一个实施例中,在所述确定独立于应用程序的修复程序正常运行之后,还包括:
通过所述修复程序来监控更新程序是否正常运行;
当监控到所述更新程序运行异常时向所述服务器发送第四信息,以使所述服务器返回与所述更新程序对应的第三修复包;
根据所述服务器返回的所述第三修复包对所述更新程序进行修复。
在本发明实施例中,通过所述修复程序来监控并修复更新程序的运行异常问题,可以保证所述更新程序的正常运行,从而,又可以反过来通过所述更新程序监控并修复所述修复程序的运行异常问题,最大程度地保证所述应用程序的运行异常问题可以得到及时修复,提升用户体验。
在本发明另一个实施例中,在所述更新程序正常运行之后,还包括:
向所述服务器获取所述应用程序的更新信息;其中,所述更新信息包含最新更新包的版本号、最新更新包的下载地址和最新更新包的校验码;
优选的,所述最新更新包的校验码的生成方式使用MD5(Message DigestAlgorithm MD5,消息摘要算法第五版)算法,当然,所述第一修复包的校验码的生成方式还可以使用本领域技术人员公知的其他方法,这些均在本发明的保护范围之内,在此不做限制。
在所述最新更新包的版本号大于所述应用程序的当前版本号时,将所述最新更新包的校验码与本地的所述应用程序的更新包的校验码进行一一匹配;
当未匹配到与所述最新更新包的校验码相同的校验码时,通过访问所述最新更新包的下载地址获取所述最新更新包;
响应到用户的更新检查事件时,则根据所述最新更新包对所述应用程序进行更新;
更改所述应用程序的当前版本号为所述最新更新包的版本号。
在本发明实施例中,通过所述更新程序还可以对所述应用程序进行更新至最新版本,可以使所述应用程序更优化、更完善。
进一步地,本发明还提供一种应用程序的修复装置,可执行上述应用程序的修复装置的所有流程。
请参阅图3,是本发明提供的应用程序的修复装置的一个实施例的结构示意图,包括发送单元21、接收单元22、第一获取单元23及第一执行单元24,具体如下:
所述发送单元21,用于确定独立于应用程序的修复程序正常运行后,发送第一信息给服务器;其中,所述第一信息包含所述应用程序的当前版本号和用于指示所述服务器返回是否存在与所述应用程序当前版本对应的第一修复包的信号。
所述接收单元22,用于接收所述服务器发送的第二信息;其中,所述第二信息包含用于指示所述服务器上是否存在所述第一修复包的信号。
所述第一获取单元23,用于当根据所述第二信息确定所述服务器上存在所述第一修复包,且本地不存在所述第一修复包时,向所述服务器获取所述第一修复包。
具体的,所述第二信息还包含所述第一修复包的校验码;
则确定本地不存在所述第一修复包,也就是,确定本地未下载或未完全下载所述第一修复包,具体为:
将所述第二信息中的所述第一修复包的校验码与本地的所述应用程序的修复包的校验码进行一一匹配;
当未匹配到与所述第一修复包的校验码相同的校验码时,则确定本地不存在所述第一修复包。
具体的,所述第二信息还包含所述第一修复包的下载地址;则所述向所述服务器获取所述第一修复包,具体为:
通过访问所述第二信息中的所述第一修复包的下载地址,获取所述第一修复包。
所述第一执行单元24,用于根据所述服务器返回的所述第一修复包对所述应用程序进行修复。
具体的,所述应用程序的修复装置还包括:
第二版本更新单元,用于在根据所述第一修复包对所述应用程序进行修复之后,更改所述应用程序的当前版本号为所述第一修复包的版本号。
在本发明一个实施例中,所述应用程序的修复装置还包括:
第一监控单元,用于在所述确定独立于应用程序的修复程序正常运行之前,通过启动更新程序来监控所述修复程序是否正常运行;
第二获取单元,用于当监控到所述修复程序运行异常时向服务器发送第三信息,以使所述服务器返回与所述修复程序对应的第二修复包;
第二执行单元,用于根据所述服务器返回的所述第二修复包对所述修复程序进行修复。
在本发明另一个实施例中,所述应用程序的修复装置还包括:
第二监控单元,用于在所述确定独立于应用程序的修复程序正常运行之后,通过所述修复程序来监控更新程序是否正常运行;
第三获取单元,用于当监控到所述更新程序运行异常时向服务器发送第四信息,以使所述服务器返回与所述更新程序对应的第三修复包;
第三执行单元,用于根据所述服务器返回的所述第三修复包对所述更新程序进行修复。
在本发明另一个实施例中,所述应用程序的修复装置还包括:
第四获取单元,用于向所述服务器获取所述应用程序的更新信息;其中,所述更新信息包含最新更新包的版本号、最新更新包的下载地址和最新更新包的校验码;
匹配单元,用于在所述最新更新包的版本号大于所述应用程序的当前版本号时,将所述最新更新包的校验码与本地的所述应用程序的更新包的校验码进行一一匹配;
第五获取单元,用于当未匹配到与所述最新更新包的校验码相同的校验码时,通过访问所述最新更新包的下载地址获取所述最新更新包;
第四执行单元,用于响应到用户的更新检查事件时,则根据所述最新更新包对所述应用程序进行更新;
第一版本更新单元,用于更改所述应用程序的当前版本号为所述最新更新包的版本号。
可以理解的是,本发明实施例中的应用程序的修复装置20的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
本发明实施例提供的应用程序的修复方法及装置,具有如下有益效果:在应用程序运行之前,通过独立于所述应用程序的修复程序检测服务器上是否存在所述应用程序的第一修复包;在确定所述服务器上存在所述第一修复包,且本地不存在所述第一修复包时,获取所述第一修复包,并对所述应用程序进行修复,因此,能够对一些没有检测到的异常问题进行及时修复,提高了所述应用程序的异常问题的修复的成功率,从而保证所述应用程序的正常运行,提升用户体验
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。

Claims (10)

1.一种应用程序的修复方法,其特征在于,包括以下步骤:
确定独立于应用程序的修复程序正常运行后,发送第一信息给服务器;其中,所述第一信息包含所述应用程序的当前版本号和用于指示所述服务器返回是否存在与所述应用程序当前版本对应的第一修复包的信号;
接收所述服务器发送的第二信息;其中,所述第二信息包含用于指示所述服务器上是否存在所述第一修复包的信号;
当根据所述第二信息确定所述服务器上存在所述第一修复包,且本地不存在所述第一修复包时,向所述服务器获取所述第一修复包;
根据所述服务器返回的所述第一修复包对所述应用程序进行修复。
2.如权利要求1所述的应用程序的修复方法,其特征在于,在根据所述第一修复包对所述应用程序进行修复之后,还包括:
更改所述应用程序的当前版本号为所述第一修复包的版本号。
3.如权利要求1所述的应用程序的修复方法,其特征在于,在所述确定独立于应用程序的修复程序正常运行之前,还包括:
通过启动更新程序来监控所述修复程序是否正常运行;
当监控到所述修复程序运行异常时向服务器发送第三信息,以使所述服务器返回与所述修复程序对应的第二修复包;
根据所述服务器返回的所述第二修复包对所述修复程序进行修复。
4.如权利要求3所述的应用程序的修复方法,其特征在于,在所述确定独立于应用程序的修复程序正常运行之后,还包括:
通过所述修复程序来监控更新程序是否正常运行;
当监控到所述更新程序运行异常时向服务器发送第四信息,以使所述服务器返回与所述更新程序对应的第三修复包;
根据所述服务器返回的所述第三修复包对所述更新程序进行修复。
5.如权利要求4所述的应用程序的修复方法,其特征在于,在所述更新程序正常运行之后,还包括:
向所述服务器获取所述应用程序的更新信息;其中,所述更新信息包含最新更新包的版本号、最新更新包的下载地址和最新更新包的校验码;
在所述最新更新包的版本号大于所述应用程序的当前版本号时,将所述最新更新包的校验码与本地的所述应用程序的更新包的校验码进行一一匹配;
当未匹配到与所述最新更新包的校验码相同的校验码时,通过访问所述最新更新包的下载地址获取所述最新更新包;
响应到用户的更新检查事件时,则根据所述最新更新包对所述应用程序进行更新;
更改所述应用程序的当前版本号为所述最新更新包的版本号。
6.如权利要求1所述的应用程序的修复方法,其特征在于,当所述服务器上存在所述第一修复包时,所述第二信息还包含所述第一修复包的校验码;
确定本地不存在所述第一修复包,具体为:
将所述第二信息中的所述第一修复包的校验码与本地的所述应用程序的修复包的校验码进行一一匹配;
当未匹配到与所述第一修复包的校验码相同的校验码时,则确定本地不存在所述第一修复包。
7.一种应用程序的修复装置,其特征在于,包括:
发送单元,用于确定独立于应用程序的修复程序正常运行后,发送第一信息给服务器;其中,所述第一信息包含所述应用程序的当前版本号和用于指示所述服务器返回是否存在与所述应用程序当前版本对应的第一修复包的信号;
接收单元,用于接收所述服务器发送的第二信息;其中,所述第二信息包含用于指示所述服务器上是否存在所述第一修复包的信号;
第一获取单元,用于当根据所述第二信息确定所述服务器上存在所述第一修复包,且本地不存在所述第一修复包时,向所述服务器获取所述第一修复包;
第一执行单元,用于根据所述服务器返回的所述第一修复包对所述应用程序进行修复。
8.如权利要求7所述的应用程序的修复装置,其特征在于,所述应用程序的修复装置还包括:
第一监控单元,用于在所述确定独立于应用程序的修复程序正常运行之前,通过启动更新程序来监控所述修复程序是否正常运行;
第二获取单元,用于当监控到所述修复程序运行异常时向服务器发送第三信息,以使所述服务器返回与所述修复程序对应的第二修复包;
第二执行单元,用于根据所述服务器返回的所述第二修复包对所述修复程序进行修复。
9.如权利要求8所述的应用程序的修复装置,其特征在于,所述应用程序的修复装置还包括:
第二监控单元,用于在所述确定独立于应用程序的修复程序正常运行之后,通过所述修复程序来监控更新程序是否正常运行;
第三获取单元,用于当监控到所述更新程序运行异常时向服务器发送第四信息,以使所述服务器返回与所述更新程序对应的第三修复包;
第三执行单元,用于根据所述服务器返回的所述第三修复包对所述更新程序进行修复。
10.如权利要求9所述的应用程序的修复装置,其特征在于,所述应用程序的修复装置还包括:
第四获取单元,用于向所述服务器获取所述应用程序的更新信息;其中,所述更新信息包含最新更新包的版本号、最新更新包的下载地址和最新更新包的校验码;
匹配单元,用于在所述最新更新包的版本号大于所述应用程序的当前版本号时,将所述最新更新包的校验码与本地的所述应用程序的更新包的校验码进行一一匹配;
第五获取单元,用于当未匹配到与所述最新更新包的校验码相同的校验码时,通过访问所述最新更新包的下载地址获取所述最新更新包;
第四执行单元,用于响应到用户的更新检查事件时,则根据所述最新更新包对所述应用程序进行更新;
第一版本更新单元,用于更改所述应用程序的当前版本号为所述最新更新包的版本号。
CN201610907207.6A 2016-10-18 2016-10-18 一种应用程序的修复方法及装置 Active CN106502665B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610907207.6A CN106502665B (zh) 2016-10-18 2016-10-18 一种应用程序的修复方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610907207.6A CN106502665B (zh) 2016-10-18 2016-10-18 一种应用程序的修复方法及装置

Publications (2)

Publication Number Publication Date
CN106502665A true CN106502665A (zh) 2017-03-15
CN106502665B CN106502665B (zh) 2019-09-03

Family

ID=58294376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610907207.6A Active CN106502665B (zh) 2016-10-18 2016-10-18 一种应用程序的修复方法及装置

Country Status (1)

Country Link
CN (1) CN106502665B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107168699A (zh) * 2017-04-28 2017-09-15 北京五八信息技术有限公司 应用程序修复方法及终端设备
CN109324918A (zh) * 2018-09-13 2019-02-12 广东小天才科技有限公司 应用程序异常的处理方法及装置、终端及存储介质
CN113467821A (zh) * 2021-06-03 2021-10-01 荣耀终端有限公司 应用程序的修复方法、装置、设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242260A (zh) * 2007-02-08 2008-08-13 北京天融信网络安全技术有限公司 防火墙系统自动修复方法
CN103095698A (zh) * 2013-01-10 2013-05-08 北京奇虎科技有限公司 客户端软件的修复方法、装置和通信系统
CN104049999A (zh) * 2014-06-19 2014-09-17 福建星网视易信息系统有限公司 基于网络的存储设备自动修复系统及其方法
CN105786636A (zh) * 2016-03-10 2016-07-20 广东欧珀移动通信有限公司 一种系统修复方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242260A (zh) * 2007-02-08 2008-08-13 北京天融信网络安全技术有限公司 防火墙系统自动修复方法
CN103095698A (zh) * 2013-01-10 2013-05-08 北京奇虎科技有限公司 客户端软件的修复方法、装置和通信系统
CN104049999A (zh) * 2014-06-19 2014-09-17 福建星网视易信息系统有限公司 基于网络的存储设备自动修复系统及其方法
CN105786636A (zh) * 2016-03-10 2016-07-20 广东欧珀移动通信有限公司 一种系统修复方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107168699A (zh) * 2017-04-28 2017-09-15 北京五八信息技术有限公司 应用程序修复方法及终端设备
CN109324918A (zh) * 2018-09-13 2019-02-12 广东小天才科技有限公司 应用程序异常的处理方法及装置、终端及存储介质
CN113467821A (zh) * 2021-06-03 2021-10-01 荣耀终端有限公司 应用程序的修复方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN106502665B (zh) 2019-09-03

Similar Documents

Publication Publication Date Title
CN104679611B (zh) 数据资源复制方法以及装置
CN105306445B (zh) 用于检测服务器的漏洞的系统和方法
US20070050678A1 (en) Apparatus for self-diagnosis and treatment of critical software flaws
CN103458086B (zh) 一种智能手机及其故障检测方法
CN103970566B (zh) 一种路由器固件升级的方法和装置
CN109409096A (zh) 内核漏洞修复方法、装置、服务器及系统
CN102929768B (zh) 提示误装软件的方法和客户端
CN107516547A (zh) 内存硬错误的处理方法及装置
CN106502665A (zh) 一种应用程序的修复方法及装置
CN109492406A (zh) 监测内核漏洞攻击的方法、装置和系统
US20090204946A1 (en) Intelligent software code updater
CN103034803B (zh) 误装软件提示系统
CN102684927A (zh) 一种巡检网络设备的方法和装置
CN108710684A (zh) Etl任务数据源切换方法、系统、计算机设备和存储介质
JP2009530748A (ja) 電子装置のidを判断する方法
CN107102928A (zh) 一种应用程序崩溃信息上报方法和装置
CN107294924A (zh) 漏洞的检测方法、装置和系统
CN106897166A (zh) 一种移动终端及其修复方法
CN103778026A (zh) 对象调用方法和装置
CN112446714A (zh) 快递售后工单处理系统的服务器升级方法、装置及设备
CN104036193B (zh) 一种应用程序的本地跨域漏洞检测方法及装置
CN105207797A (zh) 故障定位方法和装置
CN105354102A (zh) 一种文件系统维护和修复的方法和装置
CN109542778A (zh) 一种资源泄露检测的方法及装置
US5943391A (en) Method and device for a debugger and test data collector

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant