[发明专利]一种数据库变更脚本的评估方法及装置有效
申请号: | 202110478503.X | 申请日: | 2021-04-30 |
公开(公告)号: | CN113110866B | 公开(公告)日: | 2023-07-21 |
发明(设计)人: | 陈泽昊 | 申请(专利权)人: | 深圳前海微众银行股份有限公司 |
主分类号: | G06F8/70 | 分类号: | G06F8/70;G06F16/242 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 王春波 |
地址: | 518027 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 变更 脚本 评估 方法 装置 | ||
1.一种数据库变更脚本的评估方法,其特征在于,包括:
接收针对数据库的结构化查询语言sql变更脚本;
按照词语分析规则,确定所述sql变更脚本是否可执行;
若可执行,则基于所述sql变更脚本中的目标变更对象,获取所述目标变更对象关联的数据库表的状态信息;
根据所述数据库表的状态信息,确定所述sql变更脚本在变更时所产生的第一分析结果信息;
基于所述第一分析结果信息,从预设策略库中匹配出用于优化所述sql变更脚本的第一策略;所述预设策略库中存储有分析结果信息及对应的策略。
2.如权利要求1所述的方法,其特征在于,所述按照词语分析规则,确定所述sql变更脚本是否可执行,包括:
基于词法分析规则对所述sql变更脚本进行词法分析,确定出所述sql变更脚本中的各关键字;
基于所述各关键字,利用语法分析规则对所述sql变更脚本进行语法分析,确定所述sql变更脚本是否符合语法规则,从而确定所述sql变更脚本是否可执行。
3.如权利要求2所述的方法,其特征在于,所述基于词法分析规则对所述sql变更脚本进行词法分析,确定出所述sql变更脚本中的各关键字,包括:
通过构建的关键字查找树,确定所述sql变更脚本中的各词汇;
针对每个词汇,确定关键字库中是否存在与所述词汇的哈希值相等的关键字;
若存在,则将所述词汇确定为关键字。
4.如权利要求2所述的方法,其特征在于,所述基于所述各关键字,利用语法分析规则对所述sql变更脚本进行语法分析,确定所述sql变更脚本是否符合语法规则,包括:
按照语法分析规则,以所述sql变更脚本中的各关键字作为构建语法分析树的参数,确定是否可构建出语法分析树;
若是,则确定所述sql变更脚本的语法正确,否则确定所述sql变更脚本的语法存在错误。
5.如权利要求1至4任一项所述的方法,其特征在于,所述根据所述数据库表的状态信息,确定所述sql变更脚本在变更时所产生的第一分析结果信息,包括:
针对所述数据库表的状态信息中每个子状态信息,确定所述子状态信息是否符合设定的影响策略条件;
若符合,则生成与所述子状态信息对应的影响结果信息,以及基于记忆神经网络模型对所述数据库表的状态信息进行预测,确定出预测结果信息;
将所述影响结果信息和所述预测结果信息确定为所述第一分析结果信息。
6.如权利要求5所述的方法,其特征在于,所述基于记忆神经网络模型对所述数据库表的状态信息进行预测,确定出预测结果信息,包括:
将所述数据库表的状态信息中当前时刻的数据库表访问热点信息输入到所述记忆神经网络模型进行分析预测,确定出在当前时刻之后所述数据库表的访问量处于低谷的时间段;
将所述时间段作为sql变更脚本在数据库中进行变更的变更时段。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
若确定所述sql变更脚本不可执行,则生成所述sql变更脚本的第二分析结果信息;
根据所述第二分析结果信息,从所述预设策略库中匹配出用于优化所述sql变更脚本的第二策略。
8.如权利要求1至4任一项所述的方法,其特征在于,从预设策略库中匹配出用于优化所述sql变更脚本的第一策略,包括:
确定出所述第一分析结果信息的各分词;
基于所述各分词与所述预设策略库中的索引词的匹配情况,确定出匹配度;
若所述匹配度大于等于匹配阈值,将所述索引词对应的策略确定为所述第一策略;
基于所述第一策略,优化所述sql变更脚本。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳前海微众银行股份有限公司,未经深圳前海微众银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110478503.X/1.html,转载请声明来源钻瓜专利网。