[发明专利]服务端程序和数据库的升级方法、装置和设备在审
申请号: | 201610811502.1 | 申请日: | 2016-09-08 |
公开(公告)号: | CN107807816A | 公开(公告)日: | 2018-03-16 |
发明(设计)人: | 王宏宇;尤宏伟;吕彪 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F17/30 |
代理公司: | 北京同立钧成知识产权代理有限公司11205 | 代理人: | 杨泽,刘芳 |
地址: | 开曼群岛大开曼*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 服务端 程序 数据库 升级 方法 装置 设备 | ||
1.一种服务端程序和数据库的升级方法,其特征在于,所述服务端程序包括第一程序实体和第二程序实体;所述方法包括:
禁用所述第二程序实体,随后更新所述第二程序实体;
在更新所述第二程序实体之后,对当前对外提供服务的所述第一程序实体所使用的数据库进行兼容更新处理,获得第一数据库;
控制更新后的第二程序实体接收访问请求并缓存所述访问请求;
控制所述第一程序实体停止接收访问请求并更新所述第一程序实体,以及,对所述第一数据库进行非兼容更新处理,获得第二数据库。
2.根据权利要求1所述的方法,其特征在于,所述控制所述第一程序实体停止接收访问请求并更新所述第一程序实体,具体包括:
控制所述第一程序实体停止接收访问请求,并在所述第一程序实体上的访问任务返回执行结果且在获得所述第二数据库之后,更新所述第一程序实体。
3.根据权利要求1所述的方法,其特征在于,所述控制所述第一程序实体停止接收访问请求并更新所述第一程序实体,具体包括:
控制所述第一程序实体停止接收访问请求,并在所述第一程序实体上的访问任务返回执行结果且在控制所述更新后的第二程序实体使用所述第二数据库对外提供业务服务之后,更新所述第一程序实体。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述禁用所述第二程序实体,随后更新所述第二程序实体,具体包括:
控制所述第二程序实体停止接收访问请求,以禁用所述第二程序实体;
在所述第二程序实体上的访问任务返回执行结果后,更新当前被禁用的第二程序实体。
5.根据权利要求4所述的方法,其特征在于,所述控制所述第二程序实体停止接收访问请求,具体包括:
配置所述第二程序实体中的请求接收器的工作状态为不使能disabled状态,以控制所述第二程序实体停止接收访问请求。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述控制更新后的第二程序实体接收访问请求并缓存所述访问请求,具体包括:
配置所述更新后的第二程序实体中的请求接收器的工作状态为延缓请求hold模式,以控制所述更新后的第二程序实体接收访问请求并将所述访问请求进行缓存。
7.根据权利要求6所述的方法,其特征在于,所述将所述访问请求进行缓存,具体包括:
将所述访问请求缓存在所述更新后的第二程序实体的每个接收线程的堆栈中;
或者,
将所述访问请求缓存在所述更新后的第二程序实体的消息队列中;
或者,
将所述访问请求缓存在所述第一数据库中。
8.根据权利要求1-3任一项所述的方法,其特征在于,所述控制所述第一程序实体停止接收访问请求,具体包括:
配置所述第一程序实体中的请求接收器的工作状态为不使能disabled状态,以控制所述第一程序实体停止接收访问请求。
9.根据权利要求1-3任一项所述的方法,其特征在于,所述兼容更新处理对应第一数据库操作集合,所述非兼容更新处理对应第二数据库操作集合;
所述第一数据库操作集合至少包括:空操作、在所述数据库中增加新的数据库表的操作、在所述数据库中增加带有默认值的数据列的操作、在所述数据库中插入预设的数据行的操作;
所述第二数据库操作集合至少包括:更改所述数据库中已有的数据库表或者数据库表中的列内容的操作、删除所述第一程序实体运行时所需的数据行的操作。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
控制更新后的第一程序实体和更新后的第二程序实体采用所述第二数据库对外提供服务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610811502.1/1.html,转载请声明来源钻瓜专利网。