[发明专利]数据库升级方法、系统、设备及存储介质在审
申请号: | 201810989332.5 | 申请日: | 2018-08-28 |
公开(公告)号: | CN110865829A | 公开(公告)日: | 2020-03-06 |
发明(设计)人: | 赵宇轩 | 申请(专利权)人: | 北京京东金融科技控股有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65 |
代理公司: | 北京律智知识产权代理有限公司 11438 | 代理人: | 袁礼君;阚梓瑄 |
地址: | 100176 北京市北京经济*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 升级 方法 系统 设备 存储 介质 | ||
1.一种数据库升级方法,其特征在于,所述方法包括如下步骤:
S100:接收目标版本数据库的第一升级代码和表结构信息;
S200:比较原版本数据库的表结构信息和目标版本数据库的表结构信息,得到数据库表结构差异信息;
S300:匹配所述第一升级代码和数据库表结构差异信息,判断第一升级代码的语句是否能够实现将原版本数据库更新为目标版本数据库;
S400:如果是,则运行所述第一升级代码升级原版本数据库;
S500:否则,根据所述数据库表结构差异信息升级原版本数据库。
2.根据权利要求1所述的数据库升级方法,其特征在于,步骤S100中,所述接收目标版本数据库的第一升级代码和表结构信息,包括如下步骤:
接收目标版本数据库的第一升级代码和数据库配置文件;
从所述数据库配置文件中提取目标版本数据库的表结构信息。
3.根据权利要求1所述的数据库升级方法,其特征在于,所述表结构信息包括数据库中表的名称和表包括的列的名称;
所述数据库表结构差异信息包括新增表信息、删除表信息和修改表信息,其中:
所述新增表信息包括目标版本数据库相比于原版本数据库新增的表的表结构信息;
所述删除表信息包括目标版本数据库相比于原版本数据库删除的表的名称;
所述修改表信息包括分别处于原版本的数据库中的第一表和目标版本数据库中的第二表之间的表差异信息,所述第一表和所述第二表的名称相同且表结构信息不同。
4.根据权利要求3所述的数据库升级方法,其特征在于,步骤S300中,根据如下匹配规则匹配所述第一升级代码和数据库表结构差异信息:
G1:查找第一升级代码的语句中的新增表语句,判断新增表语句是否能实现所述新增表信息中表的增加,如果是,则匹配成功,否则匹配失败;
G2:查找第一升级代码的语句中的删除表语句,判断删除表语句是否能实现所述删除表信息中表的删除,如果是,则匹配成功,否则匹配失败;
G3:查找第一升级代码的语句中的修改表语句,判断修改表语句是否能实现所述修改表信息中表结构信息的修改,如果是,则匹配成功,否则匹配失败;
匹配规则G1、匹配规则G2和匹配规则G3中至少一个匹配失败时,判定所述第一升级代码无法实现将原版本数据库更新为目标版本数据库。
5.根据权利要求3所述的数据库升级方法,其特征在于,步骤S500中,所述根据所述数据库表结构差异信息升级原版本数据库,包括如下步骤:
获取预设的新增表语句模板、删除表语句模板和修改表语句模板;
根据所述数据库表结构差异信息生成新增表语句、删除表语句和修改表语句;
根据预设的语句组合规则,将生成的语句进行组合,得到第二升级代码;
运行所述第二升级代码升级原版本数据库。
6.根据权利要求3所述的数据库升级方法,其特征在于,步骤S500中,所述根据所述数据库表结构差异信息升级原版本数据库,包括如下步骤:
复制原版本数据库中的表集合,得到临时表集合,建立临时表集合中各个表与原版本数据库中各个表的映射关系;
根据所述新增表信息,在所述表集合的副本中新增表;
根据所述修改表信息和临时表集合中各个表与原版本数据库中各个表的映射关系,查找到临时表集合中待修改的表,修改该待修改表的表结构信息;
删除原版本数据库中的表集合,将临时表集合中各个表根据所述目标数据库的表结构信息重命名。
7.根据权利要求1所述的数据库升级方法,其特征在于,步骤S400中,所述运行所述第一升级代码升级原版本数据库之后,还包括如下步骤:
监控所述第一升级代码运行状态,如果运行发生异常,则停止当前升级进程,根据所述数据库表结构差异信息升级原版本数据库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东金融科技控股有限公司,未经北京京东金融科技控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810989332.5/1.html,转载请声明来源钻瓜专利网。