[发明专利]一种升级方法和装置在审
| 申请号: | 201611250134.4 | 申请日: | 2016-12-29 |
| 公开(公告)号: | CN108268266A | 公开(公告)日: | 2018-07-10 |
| 发明(设计)人: | 归鹤澄;刘源;王正勇 | 申请(专利权)人: | 中移(苏州)软件技术有限公司;中国移动通信集团公司 |
| 主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/73 |
| 代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 张颖玲;王花丽 |
| 地址: | 215163 江苏省苏州市高*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 第一服务器 升级信息 守护进程 升级 热补丁 方法和装置 函数地址 升级装置 替换 存储 检测 | ||
本发明实施例公开了一种升级方法,所述方法包括:当检测到第一服务器需要升级时,获取第一服务器的升级信息;基于所述第一服务器的升级信息,生成静态热补丁文件并存储在所述第一服务器中;使用所述静态热补丁文件进行所述第一服务器的守护进程的函数地址替换,完成对所述守护进程的升级。本发明的实施例同时还公开了一种升级装置。
技术领域
本发明涉及通信领域中的信息处理技术,尤其涉及一种升级方法和装置。
背景技术
随着云计算时代的到来,各种云计算解决方案层出不穷。其中,分布式存储系统是云计算系统中最重要的一部分,因为它承载着整个系统的数据业务,分布式存储系统出现一点小问题对整个云计算系统的影响都是难以估计的。但是作为一个软件系统来说,分布式存储系统相比于单机独立运行的软件系统复杂度要高出许多。
分布式存储系统一般在集群的每台第一服务器上都会部署一个守护进程,现有的升级方法一般是逐个升级第一服务器上的守护进程。升级过程中,每升级一台第一服务器,需要先停止正在运行的守护进程,然后替换软件程序文件,再将守护进程重新启动,从而恢复集群的正常工作。但是这种升级方式需要停止正在运行的守护进程,对集群来说相当于有一台第一服务器发生了故障,发生故障之后,集群会进入一个故障恢复的过程,这个过程会对集群所服务的上层业务产生一定的影响,业务性能会降低。
发明内容
为解决上述技术问题,本发明实施例期望提供一种升级方法和装置,解决了现有技术中的分布式存储系统中的服务器的守护进程的升级方案要停止守护进程的问题,避免集群进入故障恢复过程,避免对集群中的业务的影响,保证了业务的性能。
本发明的技术方案是这样实现的:
一种升级方法,所述方法包括:
当检测到第一服务器需要升级时,获取第一服务器的升级信息;
基于所述第一服务器的升级信息,生成静态热补丁文件,并存储在所述第一服务器中;
使用所述静态热补丁文件进行所述第一服务器的守护进程的函数地址替换,完成对所述守护进程的升级。
可选的,所述当检测到第一服务器需要升级时,获取第一服务器的升级信息,包括:
当检测到所述第一服务器需要升级时,获取所述守护进程的原始代码文件;
相应的,所述基于所述第一服务器的升级信息,生成静态热补丁文件,并存储在所述第一服务器中,包括:
对所述守护进程的原始代码文件中的第一代码进行编译得到第一编译文件;
基于所述第一服务器的升级需求,修改所述原始代码文件中的所述第一代码得到第二代码;
对所述第二代码进行编译得到第二编译文件;
基于所述第一编译文件和所述第二编译文件,生成静态热补丁文件,并存储在所述第一服务器中。
可选的,所述基于所述第一编译文件和所述第二编译文件,生成静态热补丁文件,并存储在所述第一服务器中,包括:
比较所述第一编译文件和所述第二编译文件,获得所述第二编译文件与所述第一编译文件的内容差异;
基于所述内容差异生成所述静态热补丁文件;
将所述静态补丁文件映射到所述第一服务器的内存空间中。
可选的,所述使用所述静态热补丁文件进行守护进程的函数地址替换,完成对所述第一服务器的守护进程的升级,包括:
设置所述静态热补丁文件中的代码与所述第一服务器的守护进程的函数的对应关系;
停止所述第一服务器的守护进程中除主线程之外的其它线程;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中移(苏州)软件技术有限公司;中国移动通信集团公司,未经中移(苏州)软件技术有限公司;中国移动通信集团公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611250134.4/2.html,转载请声明来源钻瓜专利网。





