[发明专利]一种程序更新方法及终端设备有效
申请号: | 201710804129.1 | 申请日: | 2017-09-08 |
公开(公告)号: | CN107832062B | 公开(公告)日: | 2020-04-21 |
发明(设计)人: | 戴佳 | 申请(专利权)人: | 深圳壹账通智能科技有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65 |
代理公司: | 深圳中一专利商标事务所 44237 | 代理人: | 官建红 |
地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 更新 方法 终端设备 | ||
1.一种程序更新方法,其特征在于,包括:
获取待更新入目标程序的目标功能模块;
获取所述目标程序当前的各个功能模块;
根据预设的第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述目标功能模块存在运行环境冲突的冲突功能模块,所述第一对应关系记录了存在运行环境冲突的功能模块之间的对应关系;
若在所述目标程序当前的各个功能模块中不存在所述冲突功能模块,则从预设的代码库中读取所述目标功能模块的代码;
使用信息摘要算法5或者安全哈希算法判断所述目标功能模块的代码是否完整;
若所述目标功能模块的代码是完整的,则将所述目标功能模块的代码添加入所述目标程序的代码中,以完成对所述目标程序的更新;
在根据预设的第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述目标功能模块存在运行环境冲突的冲突功能模块之后,还包括:
若在所述目标程序当前的各个功能模块中存在所述冲突功能模块,则从预设的优先级列表中分别获取所述目标功能模块所对应的第一优先级及所述冲突功能模块所对应的第二优先级;
若所述第一优先级高于所述第二优先级,则从所述目标程序中删除所述冲突功能模块的代码;从所述代码库中读取所述目标功能模块的代码;将所述目标功能模块的代码添加入所述目标程序的代码中。
2.根据权利要求1所述的程序更新方法,其特征在于,在将所述目标功能模块的代码添加入所述目标程序的代码中之后,还包括:
在预设的第二对应关系中查找所述目标功能模块运行时所依赖的前置功能模块,所述第二对应关系记录了前置功能模块与后置功能模块之间的对应关系,所述后置功能模块的运行依赖于所述前置功能模块;
从所述代码库中读取所述前置功能模块的代码;
使用信息摘要算法5或者安全哈希算法判断所述前置功能模块的代码是否完整;
若所述前置功能模块的代码是完整的,则将所述前置功能模块的代码添加入所述目标程序的代码中。
3.根据权利要求1所述的程序更新方法,其特征在于,在根据预设的第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述目标功能模块存在运行环境冲突的冲突功能模块之后,还包括:
若在所述目标程序当前的各个功能模块中存在所述冲突功能模块,则从预设的第三对应关系中获取与所述目标功能模块的功能相同的替代功能模块,所述第三对应关系记录了功能相同的功能模块之间的对应关系;
根据所述第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述替代功能模块存在运行环境冲突的功能模块;
若在所述目标程序当前的各个功能模块中不存在与所述替代功能模块存在运行环境冲突的功能模块,则从所述代码库中读取所述替代功能模块的代码;
使用信息摘要算法5或者安全哈希算法判断所述替代功能模块的代码是否完整;
若所述替代功能模块的代码是完整的,则将所述替代功能模块的代码添加入所述目标程序的代码中,以完成对所述目标程序的更新。
4.根据权利要求1至3中任一项所述的程序更新方法,其特征在于,在完成对所述目标程序的更新之后,还包括:
运行所述目标程序,并获取运行结果报告;
根据所述运行结果报告判断所述目标程序是否运行异常;
若所述目标程序运行异常,则从所述运行结果报告中查找出现异常时正在执行的功能模块;
将所述出现异常时正在执行的功能模块与所述目标功能模块之间存在的运行环境冲突的关系添加入所述第一对应关系中;
从所述目标程序的代码中删除所述目标功能模块的代码。
5.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的程序更新方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳壹账通智能科技有限公司,未经深圳壹账通智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710804129.1/1.html,转载请声明来源钻瓜专利网。