[发明专利]软件升级方法、分布式系统及装置在审
申请号: | 201910486592.5 | 申请日: | 2019-06-05 |
公开(公告)号: | CN110333884A | 公开(公告)日: | 2019-10-15 |
发明(设计)人: | 王智 | 申请(专利权)人: | 钛马信息网络技术有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/71;G06F11/36 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 赵晓凤 |
地址: | 200120 上海市浦东*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 测试服务器 软件包 分布式系统 测试请求 目标软件 目标路由器 路由配置 软件升级 测试 服务器 发布 网络技术领域 测试成功 测试路径 控制目标 路由器 回滚 路由 失败 升级 部署 | ||
本发明涉及网络技术领域,尤其涉及软件升级方法、分布式系统及装置,所述方法包括:在多个服务器中确定金丝雀测试服务器,并在金丝雀测试服务器中部署目标软件的待发布软件包;基于金丝雀测试路径与金丝雀测试服务器之间的对应关系,对目标路由器的路由配置进行扩展;利用目标路由器接收金丝雀测试请求;控制目标路由器基于其扩展后的路由配置将金丝雀测试请求路由至与金丝雀测试请求对应的金丝雀测试服务器;利用金丝雀测试服务器对待发布软件包进行测试;若测试成功,基于待发布软件包对分布式系统中除金丝雀测试服务器之外的其他服务器中的目标软件进行升级;若测试失败将金丝雀测试服务器中目标软件的版本回滚至测试前版本。
技术领域
本发明涉及网络技术领域,尤其涉及软件升级方法、分布式系统及装置。
背景技术
互联网时代对于信息系统的性能、稳定、可用性等方面的要求越来越高。在传统的信息系统中,发布一个软件的新版本往往需要先将系统停机。而金丝雀发布方式恰恰能够克服上述缺陷,无需停机就能够实现对新版本的测试和上线。
现有的金丝雀发布方式通过在请求参数中携带标识来区分生产请求和金丝雀测试请求。例如,某一请求为:
http://localhost:8080/system?isCanaryTest=true
其中,?isCanaryTest=true为该请求携带的标识。服务器在接收到该请求之后,解析isCanaryTest参数是否为true。如果是的话,表明该请求为金丝雀测试请求,否则,表明该请求为生产请求。采用上述方式往往需要维护一套服务器列表来标记金丝雀测试服务,以使金丝雀测试请求被路由到金丝雀测试服务器,生产请求被路由到生产服务器。然而,采用上述方案存在以下技术问题:由于服务器的状态会动态变化。例如,某一服务器可能前一秒是生产服务器,而后一秒就变更为金丝雀测试服务器。因此,需要在软件架构中动态维护一套服务器列表,增大了软件复杂度。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的软件升级方法、分布式系统及装置。
依据本发明的第一个方面,本发明提供一种软件升级方法,应用于分布式系统中,所述分布式系统包含目标路由器和多个服务器,所述多个服务器中均运行有目标软件,所述方法包括:
在所述多个服务器中确定金丝雀测试服务器,并在所述金丝雀测试服务器中部署所述目标软件的待发布软件包;
基于金丝雀测试路径与所述金丝雀测试服务器之间的对应关系,对所述目标路由器的路由配置进行扩展;
利用所述目标路由器接收金丝雀测试请求,所述金丝雀测试请求的统一资源定位符中包含所述金丝雀测试路径;
控制所述目标路由器基于其扩展后的路由配置将所述金丝雀测试请求路由至与所述金丝雀测试请求对应的所述金丝雀测试服务器;
利用所述金丝雀测试服务器对待发布软件包进行测试;
若测试成功,基于所述待发布软件包,对所述分布式系统中除所述金丝雀测试服务器之外的其他服务器中的所述目标软件进行升级;若测试失败,将所述金丝雀测试服务器中所述目标软件的版本回滚至测试前版本。
优选的,所述在所述多个服务器中确定金丝雀测试服务器,包括:
将所述多个服务器中的备用服务器确定为所述金丝雀测试服务器;或
将所述多个服务器中的下线服务器确定为所述金丝雀测试服务器。
优选的,所述目标路由器为Zuul路由器,所述基于金丝雀测试路径与所述金丝雀测试服务器之间的对应关系,对所述目标路由器的路由配置进行扩展,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于钛马信息网络技术有限公司,未经钛马信息网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910486592.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种更新持久化数据的方法及装置
- 下一篇:一种嵌入式操作系统补丁设置方法