System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理,特别是涉及一种结构化查询语句的处理方法、装置、计算机设备、存储介质和计算机程序产品。
技术介绍
1、随着企业对数据的需求越来越高,对数据的可追溯性和合规性要求也变得越来越强烈。数据血缘,又称数据谱系,是指数据的全生命周期中,数据从生产、处理、加工、融合、流转到最终消亡过程中,数据之间自然形成的一种关系。利用数据血缘技术可以了解数据从产生到消费的全过程,进行全链路的监控。
2、传统方案中,可以利用hive(基于hadoop的一个数据仓库工具)自身提供的事件拦截机制对sql语句进行解析,基于解析结果分析得到数据之间的血缘关系。然而,通过这种方式进行解析,针对复杂的数据解析场景,解析率较低,且解析过程需要频繁访问元数据会对hive的性能和稳定性造成压力,影响其他任务的执行。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高解析率保证数据库性能和稳定性的结构化查询语句的处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本申请提供了一种结构化查询语句的处理方法,包括:
3、响应于预设解析条件的触发操作,获取待处理语句,所述待处理语句包括对目标数据库的数据执行数据处理操作的结构化查询语句;
4、按照预设顺序依次利用多种解析规则对所述待处理语句进行语句解析,在解析失败的情况下利用下一解析规则进行语句解析,直至解析成功得到所述待处理语句对应的输出表,其中,解析成功对应的解析规则与所述
5、将所述输出表存入预设数据库,以在接收到数据关系查询指令时从所述预设数据库中获取对应的输出表并进行校验。
6、在其中一个实施例中,所述预设数据库中的输出表对应有标识信息,所述在接收到数据关系查询指令时从所述预设数据库中获取对应的输出表并进行校验,包括:
7、接收数据关系查询指令,所述数据关系查询指令中包括待查询标识信息;
8、从所述预设数据库中确定与所述待查询标识信息相匹配的候选输出表;
9、根据所述目标数据库对所述候选输出表进行校验,得到校验通过的目标输出表。
10、在其中一个实施例中,所述多种解析规则包括语义解析规则,所述利用多种解析规则对所述待处理语句进行语句解析,包括:
11、根据所述待处理语句的语义信息,对所述待处理语句进行划分,得到多个待处理字符;
12、基于所述语义解析规则对应的语法规则,确定所述多个待处理字符之间的关联关系;
13、根据所述关联关系对应的语句执行计划,确定与所述待处理语句相匹配的输出表。
14、在其中一个实施例中,所述多个解析规则中包括多个语义解析规则,其中,所述多个语义解析规则对应的语法规则不同。
15、在其中一个实施例中,所述多种解析规则包括字符提取解析规则,所述利用多种解析规则对所述待处理语句进行语句解析,包括:
16、按照预设字符分割规则对所述待处理语句进行划分,得到多个待处理字符;
17、从所述多个待处理字符中确定符合预设字符类型的初始字符,所述预设字符类型为根据字符的功能确定得到;
18、确定所述待处理语句中所述初始字符的下一字符为目标字符;
19、根据所述初始字符和所述目标字符,确定与所述待处理语句相匹配的输出表。
20、在其中一个实施例中,所述获取待处理语句,包括:
21、获取初始语句;
22、在所述初始语句的语句类型符合预设解析类型的情况下,获取所述初始语句中的功能性字符,得到待处理语句。
23、第二方面,本申请还提供了一种结构化查询语句的处理装置,包括:
24、获取模块,用于响应于预设解析条件的触发操作,获取待处理语句,所述待处理语句包括对目标数据库的数据执行数据处理操作的结构化查询语句;
25、解析模块,用于按照预设顺序依次利用多种解析规则对所述待处理语句进行语句解析,在解析失败的情况下利用下一解析规则进行语句解析,直至解析成功得到所述待处理语句对应的输出表,其中,解析成功对应的解析规则与所述待处理语句的语法相匹配,所述输出表包括所述待处理语句的目标数据存储位置;
26、存储模块,用于将所述输出表存入预设数据库,以在接收到数据关系查询指令时从所述预设数据库中获取对应的输出表并进行校验。
27、在其中一个实施例中,所述预设数据库中的输出表对应有标识信息,所述在接收到数据关系查询指令时从所述预设数据库中获取对应的输出表并进行校验的校验模块,包括:
28、接收子模块,用于接收数据关系查询指令,所述数据关系查询指令中包括待查询标识信息;
29、确定子模块,用于从所述预设数据库中确定与所述待查询标识信息相匹配的候选输出表;
30、校验子模块,用于根据所述目标数据库对所述候选输出表进行校验,得到校验通过的目标输出表。
31、在其中一个实施例中,所述多种解析规则包括语义解析规则,所述解析模块,包括:
32、第一划分模块,用于根据所述待处理语句的语义信息,对所述待处理语句进行划分,得到多个待处理字符;
33、第一确定模块,用于基于所述语义解析规则对应的语法规则,确定所述多个待处理字符之间的关联关系;
34、第二确定模块,用于根据所述关联关系对应的语句执行计划,确定与所述待处理语句相匹配的输出表。
35、在其中一个实施例中,所述多个解析规则中包括多个语义解析规则,其中,所述多个语义解析规则对应的语法规则不同。
36、在其中一个实施例中,所述多种解析规则包括字符提取解析规则,所述解析模块,包括:
37、第二划分模块,用于按照预设字符分割规则对所述待处理语句进行划分,得到多个待处理字符;
38、第三确定模块,用于从所述多个待处理字符中确定符合预设字符类型的初始字符,所述预设字符类型为根据字符的功能确定得到;
39、第四确定模块,用于确定所述待处理语句中所述初始字符的下一字符为目标字符;
40、第五确定模块,用于根据所述初始字符和所述目标字符,确定与所述待处理语句相匹配的输出表。
41、在其中一个实施例中,所述获取模块,包括:
42、第一获取子模块,用于获取初始语句;
43、第二获取子模块,用于在所述初始语句的语句类型符合预设解析类型的情况下,获取所述初始语句中的功能性字符,得到待处理语句。
44、第三方面,本公开实施例还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本公开实施例中任一项所述的方法的步骤。
45、第四方面,本公开实施例还提供了一种计算机可读存储介质。所述计算机本文档来自技高网...
【技术保护点】
1.一种结构化查询语句的处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述预设数据库中的输出表对应有标识信息,所述在接收到数据关系查询指令时从所述预设数据库中获取对应的输出表并进行校验,包括:
3.根据权利要求1所述的方法,其特征在于,所述多种解析规则包括语义解析规则,所述利用多种解析规则对所述待处理语句进行语句解析,包括:
4.根据权利要求3所述的方法,其特征在于,所述多个解析规则中包括多个语义解析规则,其中,所述多个语义解析规则对应的语法规则不同。
5.根据权利要求1所述的方法,其特征在于,所述多种解析规则包括字符提取解析规则,所述利用多种解析规则对所述待处理语句进行语句解析,包括:
6.根据权利要求1所述的方法,其特征在于,所述获取待处理语句,包括:
7.一种结构化查询语句的处理装置,其特征在于,所述装置包括:
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
...【技术特征摘要】
1.一种结构化查询语句的处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述预设数据库中的输出表对应有标识信息,所述在接收到数据关系查询指令时从所述预设数据库中获取对应的输出表并进行校验,包括:
3.根据权利要求1所述的方法,其特征在于,所述多种解析规则包括语义解析规则,所述利用多种解析规则对所述待处理语句进行语句解析,包括:
4.根据权利要求3所述的方法,其特征在于,所述多个解析规则中包括多个语义解析规则,其中,所述多个语义解析规则对应的语法规则不同。
5.根据权利要求1所述的方法,其特征在于,所述多种解析规则包括字符提取解析规则,所述利用多种解析规则对所...
【专利技术属性】
技术研发人员:颜志坤,戴宣,申根荣,
申请(专利权)人:企查查科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。