[发明专利]软件修复方法及系统有效
申请号: | 201110184373.5 | 申请日: | 2011-07-01 |
公开(公告)号: | CN102855181A | 公开(公告)日: | 2013-01-02 |
发明(设计)人: | 张顺四;刘杨 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 何平;曾旻辉 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件 修复 方法 系统 | ||
【技术领域】
本发明涉及计算机技术领域,特别涉及一种软件修复方法及系统。
【背景技术】
现有的桌面软件由于操作系统的兼容性,用户的不良操作或其他问题,通常不可避免地会出现一些程序异常,业界也称之为bug。一些客户端软件具有异常提示功能,在软件运行出现异常时,会提示用户程序损坏。此时若不及时对客户端软件进行修复,不仅影响用户正常使用软件的功能,而且频繁的提示信息也会使用户体验大打折扣。
传统的软件修复方法通常采用了服务器向客户端推送修正内容的修复方式,即服务器针对一些普遍性的问题定期发布补丁,并通知客户端进行接收。通常有两种模式。第一种模式为版本升级模式,即服务器将新版本的客户端软件整体推送给客户端,客户端软件再整体替换成新版本的软件。第二种模式为文件升级模式,服务器将部分具有新内容或者新功能的模块文件推送给客户端,客户端在本地替换或者增加这些模块文件,从而通过升级来修复或者替换出错的软件模块,从而修复客户端软件。
由上可知,传统的软件修复方法存在一些问题:客户端不能在第一时间修复客户端软件的异常,需要等服务器有相应的解决方案后再推送过来;客户端必须依赖服务器,客户端软件本身不能进行自我修复;由于修复的不及时使得客户端会频繁提示异常信息,影响用户体验。
【发明内容】
基于此,有必要提供一种及时且准确的软件修复方法。
一种软件修复方法,包括以下步骤:客户端获取桌面软件的异常信息;客户端根据所述异常信息查找本地是否有引起异常的软件模块的旧版本模块,若有,则将引起异常的软件模块替换为所述旧版本模块,否则向服务器发送修复请求;所述服务器根据所述修复请求获取修正模块,并将所述修正模块下发至所述客户端;所述客户端将引起异常的软件模块替换为所述修正模块。
优选的,在所述客户端获取软件程序异常信息的步骤之后,进一步包括:根据所述异常信息定位引起异常的模块;判断所述引起异常的模块是否为桌面软件中的软件模块,若是,则进入所述客户端根据所述异常信息查找本地是否有引起异常的软件模块的旧版本模块的步骤,否则结束。
优选的,在所述将引起异常的软件模块替换为所述旧版本模块的步骤之后,进一步包括:重新启动所述桌面软件;检测所述桌面软件是否运行正常,若是,则结束,否则进入向所述服务器发送修复请求的步骤。
优选的,在所述客户端获取指定软件的异常信息之前还包括在服务器中建立异常信息与修正模块之间的映射关系的步骤;所述服务器根据所述修复请求获取修正模块,并将所述修正模块下发至所述客户端的步骤包括:所述服务器根据所述映射关系查找与所述异常信息对应的修正模块,将查找得到的修正模块下发至所述客户端。
优选的,所述方法还包括:当所述服务器根据所述映射关系查找不到与所述异常信息对应的修正模块时,则获取桌面软件的稳定版本,将所述稳定版本下发至所述客户端。
优选的,在所述将出现异常的软件模块替换为所述旧版本模块的步骤之后,进一步包括:所述客户端将所述异常信息和所述旧版本模块的上传至所述服务器,所述服务器建立所述异常信息和旧版本模块之间的映射关系。
此外,有必要提供一种及时且准确的软件修复系统。
一种软件修复系统,包括客户端及与所述客户端进行交互的服务器,所述客户端包括:异常信息获取模块,用于获取桌面软件的异常信息;查找模块,用于根据所述异常信息查找本地是否有引起异常的软件模块的旧版本模块;替换模块,用于当所述查找模块在本地查找有引起异常的软件模块的旧版本模块时将引起异常的软件模块替换为所述旧版本模块;发送模块,用于当所述查找模块在本地查找不到引起异常的软件模块的旧版本模块时向服务器发送修复请求;所述服务器包括:远程修复模块,用于根据所述修复请求获取修正模块,并将所述修正模块下发至所述客户端;所述替换模块还用于将所述引起异常的软件模块替换为所述服务器下发的修正模块。
优选的,所述客户端还包括:定位模块,用于根据所述异常信息定位引起异常的模块;判断模块,用于判断所述引起异常的模块是否为桌面软件中的软件模块,若是,则通知所述查找模块根据所述异常信息查找本地是否有出现异常的软件模块的旧版本模块。
优选的,所述客户端还包括:重启模块,用于在所述替换模块将引起异常的软件模块替换为所述旧版本模块后重新启动所述桌面软件;检测模块,用于检测所述桌面软件是否运行正常,若运行不正常,则通知所述发送模块向所述服务器发送修复请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110184373.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:提供空间信息服务的系统与方法
- 下一篇:一种齿轮和滚刀参数计算软件