利索能及
我要发布
收藏
专利号: 2020111345538
申请人: 平安科技(深圳)有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于数据血缘的SQL语句解析方法,其特征在于,所述SQL语句解析方法包括:步骤一、获取有向无环图,所述有向无环图通过梳理SQL语句得到;

步骤二、遍历有向无环图具有SQL子查询的图层,获取出现替代符的图层,以遍历时最先出现替代符的图层为当前层;

步骤三、根据当前层的前一图层的字段,获取当前层中替代符对应的字段;

步骤四、继续获取剩下的出现替代符的图层,并进行替代符的替换,直到有向无环图中所有的替代符完成解析。

2.如权利要求1所述的SQL语句解析方法,其特征在于,所述有向无环图通过梳理SQL语句得到,包括:从含有SQL代码的脚本文件中提取得到规则化的SQL语句,完成对SQL语句的清洗;

对规则化的SQL语句进行词法分析,生成抽象语法树,并根据抽象语法树生成有向无环图。

3.如权利要求2所述的SQL语句解析方法,其特征在于,所述从含有SQL代码的脚本文件中提取得到规则化的SQL语句,完成对SQL语句的清洗,包括:获取含有SQL代码的脚本文件,并寻找SQL代码的标志位;

利用标志位过滤脚本文件中的无关内容,保留得到规则化的SQL代码语句。

4.如权利要求1所述的SQL语句解析方法,其特征在于,所述遍历有向无环图具有SQL子查询的图层,包括:从上到下遍历有向无环图具有SQL子查询的图层或从下到上遍历有向无环图具有SQL子查询的图层。

5.如权利要求1所述的SQL语句解析方法,其特征在于,所述根据当前层的前一图层的字段,获取当前层中替代符对应的字段,包括:所述当前层的前一图层为字段层,所述字段层可根据子查询别名将对应字段映射至当前层的子查询中,并采用字段层的字段来替代当前层的替代符。

6.如权利要求1所述的SQL语句解析方法,其特征在于,所述根据当前层的前一图层的字段,获取当前层中替代符对应的字段,包括:若当前层为遍历的第一层,则继续寻找没有替代符的图层,以最先出现的没有替代符的图层为字段层,以字段层的前一层为替代层,以根据字段层推断出替代层中的替代符对应的字段。

7.如权利要求1所述的SQL语句解析方法,其特征在于,所述有向无环图中所有的替代符完成解析后,将所述解析结果上传至区块链中,以使得所述区块链对所述解析结果进行加密存储。

8.一种基于数据血缘的SQL语句解析系统,其特征在于,所述SQL语句解析系统包括:数据集模块,用于获取有向无环图,所述有向无环图通过梳理SQL语句得到;

遍历模块,用于遍历有向无环图具有SQL子查询的图层,获取出现替代符的图层,以遍历时最先出现替代符的图层为当前层;

替代模块,用于根据当前层的前一图层的字段,获取当前层中替代符对应的字段;所述替代模块继续获取所述遍历模块标记的剩下的出现替代符的图层,并进行替代符的替换,直到有向无环图中所有的替代符完成解析。

9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述SQL语句解析方法的步骤。

10.一种存储介质,其特征在于,存储有能够实现如权利要求1-7中任一项所述SQL语句解析方法的程序文件。