[发明专利]一种存储服务升级方法及装置在审
申请号: | 202110568986.2 | 申请日: | 2021-05-25 |
公开(公告)号: | CN113504920A | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 邓开国 | 申请(专利权)人: | 新华三大数据技术有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 450000 河南省郑州市郑州高*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 存储 服务 升级 方法 装置 | ||
1.一种存储服务升级方法,其特征在于,应用于存储系统,所述存储系统运行有目标应用程序,预先针对所述目标应用程序包括的各函数的函数头引入有空操作指令,所述方法包括:
接收用于升级目标应用程序的软件升级补丁包和修复执行动作,其中,所述软件升级补丁包括由若干所述目标应用程序的修复后的函数组成的链接库;
基于所述软件升级补丁包,确定待修复的目标函数;
基于所述修复执行动作,分别将各目标函数的空操作指令设置为指向所述链接库中该目标函数对应的修复后的函数的指令。
2.如权利要求1所述的方法,其特征在于,所述目标应用程序包括若干功能模块,针对每一待升级的目标模块编译有对应的链接库,其中,一个待升级的功能模块对应的链接库中包括所述一个待升级的功能模块中待修复函数分别对应的修复后的函数。
3.如权利要求1所述的方法,其特征在于,所述链接库为so动态链接库;所述修复执行动作包括待修复的所述各目标函数的信息,所述各目标函数与其对应的修复后的函数之间的关联关系,以及用于指示所述各目标函数的函数头中的空操作指令设置为跳转指令的规则。
4.如权利要求1-3任一项所述的方法,其特征在于,基于所述修复执行动作,分别将各目标函数的空操作指令设置为指向所述动态库中该目标函数对应的修复后的函数的指令的步骤包括:
接收用户触发的所述目标应用程序的升级指令;
指示所述目标应用程序启动升级线程,以使得所述目标应用程序基于所述修复执行动作,确定所述链接库中所述各目标函数分别对应的修复后的函数的地址,以及将所述各目标函数的函数头中的空操作指令设置为指向所述链接库中该目标函数对应的修复后的函数地址的指令。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
将所述链接库存储至预设的指定位置。
6.一种存储服务升级装置,其特征在于,应用于存储系统,所述存储系统运行有目标应用程序,预先针对所述目标应用程序包括的各函数的函数头引入有空操作指令,所述装置包括:
接收单元,用于接收用于升级目标应用程序的软件升级补丁包和修复执行动作,其中,所述软件升级补丁包括由若干所述目标应用程序的修复后的函数组成的链接库;
确定单元,用于基于所述软件升级补丁包,确定待修复的目标函数;
设置单元,用于基于所述修复执行动作,分别将各目标函数的空操作指令设置为指向所述链接库中该目标函数对应的修复后的函数的指令。
7.如权利要求6所述的装置,其特征在于,所述目标应用程序包括若干功能模块,针对每一待升级的目标模块编译有对应的链接库,其中,一个待升级的功能模块对应的链接库中包括所述一个待升级的功能模块中待修复函数分别对应的修复后的函数。
8.如权利要求6所述的装置,其特征在于,所述链接库为so动态链接库;所述修复执行动作包括待修复的所述各目标函数的信息,所述各目标函数与其对应的修复后的函数之间的关联关系,以及用于指示所述各目标函数的函数头中的空操作指令设置为跳转指令的规则。
9.如权利要求6-8任一项所述的装置,其特征在于,基于所述修复执行动作,分别将各目标函数的空操作指令设置为指向所述动态库中该目标函数对应的修复后的函数的指令的步骤包括:
接收用户触发的所述目标应用程序的升级指令;
指示所述目标应用程序启动升级线程,以使得所述目标应用程序基于所述修复执行动作,确定所述链接库中所述各目标函数分别对应的修复后的函数的地址,以及将所述各目标函数的函数头中的空操作指令设置为指向所述链接库中该目标函数对应的修复后的函数地址的指令。
10.如权利要求6所述的装置,其特征在于,所述装置还包括:
将所述链接库存储至预设的指定位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新华三大数据技术有限公司,未经新华三大数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110568986.2/1.html,转载请声明来源钻瓜专利网。