[发明专利]脚本检测方法、装置、计算机设备及存储介质在审
| 申请号: | 202210038271.0 | 申请日: | 2022-01-13 |
| 公开(公告)号: | CN114385656A | 公开(公告)日: | 2022-04-22 |
| 发明(设计)人: | 张羽 | 申请(专利权)人: | 平安普惠企业管理有限公司 |
| 主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/242;G06F16/2455 |
| 代理公司: | 北京市京大律师事务所 11321 | 代理人: | 胡安 |
| 地址: | 518027 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 脚本 检测 方法 装置 计算机 设备 存储 介质 | ||
1.一种基于hive sql的脚本检测方法,其特征在于,所述脚本检测方法包括:
获取hive数据库中待执行的ddl脚本数据;
对所述ddl脚本数据进行解析,得到脚本对应的表信息,并基于所述表信息配置脚本检测控件,其中,所述脚本检测控件为用于检测所述ddl脚本数据关键字异常的函数工具;
执行所述脚本检测控件,提取所述ddl脚本数据中新增字段的脚本段;
判断所述脚本段中是否存在分区连接字段;
若不存在,则提取所述脚本段所在的地址信息,基于所述地址信息生成异常日志,并提示异常。
2.根据权利要求1所述的基于hive sql的脚本检测方法,其特征在于,所述获取hive数据库中待执行的ddl脚本数据,包括:
确定待检测的测试库,其中所述测试库包括多个hive数据库;
基于所述测试库构建扫描脚本;
执行所述扫描脚本,遍历所述测试库中所有所述hive数据库的脚本的执行状态;
选择所述执行状态为待执行状态的ddl脚本数据。
3.根据权利要求1所述的基于hive sql的脚本检测方法,其特征在于,所述对所述ddl脚本数据进行解析,得到脚本对应的表信息,并基于所述表信息配置脚本检测控件,包括:
调取预设的脚本解析工具,提取所述ddl脚本数据中的表创建命令和脚本目录地址;
基于所述表创建命令和脚本目录地址,配置空白的脚本检测控件中的测试内容,得到与所述ddl脚本数据对应的脚本检测控件。
4.根据权利要求3所述的基于hive sql的脚本检测方法,其特征在于,所述基于所述表创建命令和脚本目录地址,配置空白的脚本检测控件中的测试内容,得到与所述ddl脚本数据对应的脚本检测控件,包括:
识别空白的脚本检测控件中的地址字段和启动控制字段;
利用mian方法将所述脚本目录地址添加至所述地址字段中,以及将所述表创建命令添加至所述启动控制字段中,得到与所述ddl脚本数据对应的脚本检测控件。
5.根据权利要求1-4中任一项所述的基于hive sql的脚本检测方法,其特征在于,所述行所述脚本检测控件,提取所述ddl脚本数据中新增字段的脚本段,包括:
在接收到脚本检测指令后,执行所述脚本检测控件,遍历所述ddl脚本数据中的各脚本代码;
检测各所述脚本代码中是否存在新增字段;
若存在,则截取所述新增字段所在的脚本段。
6.根据权利要求5所述的基于hive sql的脚本检测方法,其特征在于,所述检测各所述脚本代码中是否存在新增字段,包括:
识别所述脚本代码中的结构化查询语句,得到SQL集合;
通过getCode方法将所述SQL集合中的各结构化查询语句进行拆分,并去除注解,得到SQL列表;
根据所述SQL列表,通过正则分析方式,确定所述脚本代码中是否存在alter添加字段的脚本;
若存在,则确定所述脚本代码中存在新增字段;
若不存在,则确定脚本代码中不存在新增字段。
7.根据权利要求6所述的基于hive sql的脚本检测方法,其特征在于,所述表信息还包括表名;所述提取所述脚本段所在的地址信息,基于所述地址信息生成异常日志,包括:
根据所述表名,从所述ddl脚本数据的脚本目录地址中查询与所述表名对应的历史建表语句;
基于所述历史建表语句判断所述ddl脚本数据对应的表是否为分区表;
若是,则提取所述脚本段所在的地址信息,并按照预设的异常日志格式生成异常日志,其中所述异常日志格式为地址信息+异常字段。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安普惠企业管理有限公司,未经平安普惠企业管理有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210038271.0/1.html,转载请声明来源钻瓜专利网。





