一种数据库变更方法及系统技术方案

技术编号:39675883 阅读:6 留言:0更新日期:2023-12-11 18:42
本发明专利技术提供一种数据库变更方法及系统

【技术实现步骤摘要】
一种数据库变更方法及系统、电子设备、存储介质


[0001]本专利技术涉及数据库变更
,一种数据库变更方法及系统

电子设备

存储介质


技术介绍

[0002]随着云计算和大数据技术的不断发展,
MPP
云数据仓库支撑业务规模越来越庞大,应用开发人员在全行生产运行环境中对于数据库变更的需求日益增多

[0003]现有技术中,数据库的变更

变更验证和变更回退自动化程度较低,依靠人工编写脚本执行,耗费人力并且效率低下

[0004]因此,如何实现数据库变更

变更验证和变更回退的自动化,是目前急需解决的问题


技术实现思路

[0005]有鉴于此,本专利技术实施例提供一种数据库变更方法及系统

电子设备

存储介质,以实现自动化执行数据库变更

变更验证和变更回退的目的

[0006]为实现上述目的,本专利技术实施例提供如下技术方案:
[0007]本专利技术实施例第一方面公开了一种数据库变更方法,所述方法包括:
[0008]获取针对目标数据库的变更工单,并提取所述变更工单中的变更信息;
[0009]基于预设的语义分析规则对所述变更信息进行正确性校验;
[0010]若所述变更信息通过所述正确性校验,则基于所述变更信息,生成变更脚本

验证脚本和回退脚本;
[0011]执行所述变更脚本对所述目标数据库进行变更;
[0012]执行所述验证脚本判断所述目标数据库变更是否成功;
[0013]若是,确定所述目标数据库变更完成;
[0014]若否,执行所述回退脚本,将所述目标数据库回退到执行所述变更脚本前的状态

[0015]优选的,所述变更信息至少包括主机
IP、
变更场景

变更类型

变更对象名称和各个变更参数值,所述针基于预设的语义分析规则对所述变更信息进行正确性校验,包括:
[0016]验证所述主机
IP
是否存在;
[0017]若所述主机
IP
存在,针对每一所述变更参数值,获取对应的验证信息,判断所述变更参数值与所述验证信息是否匹配;
[0018]若每一所述变更参数值均与对应的验证信息匹配,则基于所述变更场景

所述变更类型和所述变更对象名称,生成审核脚本;
[0019]执行所述审核脚本,判断所述目标数据库中是否存在所述变更对象名称对应的变更对象;
[0020]若是,并且所述变更类型为修改或删除,则确定所述变更信息通过所述正确性校验;
[0021]若否,并且所述变更类型为新增,则确定所述变更信息通过所述正确性校验

[0022]优选的,所述基于所述变更场景

所述变更类型和所述变更对象名称,生成审核脚本,包括:
[0023]获取所述变更场景对应的预设查询语句集合;
[0024]从所述预设查询语句集合中获取所述变更类型对应的查询语句;
[0025]将所述变更对象名称与所述查询语句进行拼接,得到完整的查询语句;
[0026]基于完整的查询语句生成审核脚本

[0027]优选的,所述若所述变更信息通过所述正确性校验,则基于所述变更信息,生成变更脚本

验证脚本和回退脚本,包括:
[0028]若所述变更信息通过所述正确性校验,则基于变更信息,从预设语句集合中分别提取相应的变更语句

验证语句和回退语句;
[0029]基于变更信息,对所述变更语句

所述验证语句和所述回退语句分别进行拼接,得到完整的所述变更语句

所述验证语句和所述回退语句;
[0030]基于完整的所述变更语句

所述验证语句和所述回退语句,分别生成变更脚本

验证脚本和回退脚本

[0031]优选的,所述方法还包括:
[0032]若执行所述变更脚本或所述验证脚本过程中产生错误信息,则展示所述错误信息;
[0033]当接收到用户输入的回退指令时,执行所述回退脚本将所述目标数据库回退到执行所述变更脚本前的状态

[0034]本专利技术实施例第二方面公开了一种数据库变更系统,所述系统包括:
[0035]获取模块,用于获取针对目标数据库的变更工单,并提取所述变更工单中的变更信息;
[0036]校验模块,用于基于预设的语义分析规则对所述变更信息进行正确性校验;
[0037]生成模块,用于若所述变更信息通过所述正确性校验,则基于所述变更信息,生成变更脚本

验证脚本和回退脚本;
[0038]执行模块,用于执行所述变更脚本对所述目标数据库进行变更;执行所述验证脚本判断所述目标数据库变更是否成功;若是,确定所述目标数据库变更完成;若否,执行所述回退脚本,将所述目标数据库回退到执行所述变更脚本前的状态

[0039]优选的,所述变更信息至少包括主机
IP、
变更场景

变更类型

变更对象名称和各个变更参数值,所述校验模块,包括:
[0040]验证单元,用于验证所述主机
IP
是否存在;若所述主机
IP
存在,针对每一所述变更参数值,获取对应的验证信息,判断所述变更参数值与所述验证信息是否匹配;
[0041]生成单元,用于若每一所述变更参数值均与对应的验证信息匹配,则基于所述变更场景

所述变更类型和所述变更对象名称,生成审核脚本;
[0042]执行单元,用于执行所述审核脚本,判断所述目标数据库中是否存在所述变更对象名称对应的变更对象;若是,并且所述变更类型为修改或删除,则确定所述变更信息通过所述正确性校验;若否,并且所述变更类型为新增,则确定所述变更信息通过所述正确性校验

[0043]优选的,所述生成单元,具体用于:
[0044]获取所述变更场景对应的预设查询语句集合;
[0045]从所述预设查询语句集合中获取所述变更类型对应的查询语句;
[0046]将所述变更对象名称与所述查询语句进行拼接,得到完整的查询语句;
[0047]基于完整的查询语句生成审核脚本

[0048]本专利技术实施例第三方面公开了一种存储介质,用于存储计算机程序,所述计算机程序被执行时,具体用于实现如本专利技术实施例第一方面任一所述的数据库变更方法

[0049]本专利技术实施例第四方面公开了一种电子设备,包括:存储器和处理器;
[0050]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据库变更方法,其特征在于,所述方法包括:获取针对目标数据库的变更工单,并提取所述变更工单中的变更信息;基于预设的语义分析规则对所述变更信息进行正确性校验;若所述变更信息通过所述正确性校验,则基于所述变更信息,生成变更脚本

验证脚本和回退脚本;执行所述变更脚本对所述目标数据库进行变更;执行所述验证脚本判断所述目标数据库变更是否成功;若是,确定所述目标数据库变更完成;若否,执行所述回退脚本,将所述目标数据库回退到执行所述变更脚本前的状态
。2.
根据权利要求1所述的方法,其特征在于,所述变更信息至少包括主机
IP、
变更场景

变更类型

变更对象名称和各个变更参数值,所述针基于预设的语义分析规则对所述变更信息进行正确性校验,包括:验证所述主机
IP
是否存在;若所述主机
IP
存在,针对每一所述变更参数值,获取对应的验证信息,判断所述变更参数值与所述验证信息是否匹配;若每一所述变更参数值均与对应的验证信息匹配,则基于所述变更场景

所述变更类型和所述变更对象名称,生成审核脚本;执行所述审核脚本,判断所述目标数据库中是否存在所述变更对象名称对应的变更对象;若是,并且所述变更类型为修改或删除,则确定所述变更信息通过所述正确性校验;若否,并且所述变更类型为新增,则确定所述变更信息通过所述正确性校验
。3.
根据权利要求2所述的方法,其特征在于,所述基于所述变更场景

所述变更类型和所述变更对象名称,生成审核脚本,包括:获取所述变更场景对应的预设查询语句集合;从所述预设查询语句集合中获取所述变更类型对应的查询语句;将所述变更对象名称与所述查询语句进行拼接,得到完整的查询语句;基于完整的查询语句生成审核脚本
。4.
根据权利要求1所述的方法,其特征在于,所述若所述变更信息通过所述正确性校验,则基于所述变更信息,生成变更脚本

验证脚本和回退脚本,包括:若所述变更信息通过所述正确性校验,则基于变更信息,从预设语句集合中分别提取相应的变更语句

验证语句和回退语句;基于变更信息,对所述变更语句

所述验证语句和所述回退语句分别进行拼接,得到完整的所述变更语句

所述验证语句和所述回退语句;基于完整的所述变更语句

所述验证语句和所述回退语句,分别生成变更脚本

验证脚本和回退...

【专利技术属性】
技术研发人员:张奕
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1