System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理,尤其是涉及一种查询语句相似度的确定方法、执行方法及装置。
技术介绍
1、随着数据存储和处理的需求越来越大,数据库管理和优化变得越来越重要。在数据库管理和优化的过程中,相似度判断是一个重要的问题,例如在数据集成、数据清洗、数据分析等领域,需要对数据进行相似度匹配,以便更好地进行数据集成、清洗和分析;并且,在数据库查询优化中,相似度判断也是一个重要的问题,可以借助于不同sql查询语句之间的相似度,更好地对数据库进行查询和优化。
2、目前,通常采取文本匹配方式,利用sql查询语句的文本字符串,实现不同sql查询语句之间相似度计算,但是,文本匹配的方式计算量较大,无形中增加了终端设备的数据处理量,给终端设备带来了较大的数据处理压力。
技术实现思路
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、在一种可能的实施方式中,所述数本文档来自技高网...
【技术保护点】
1.一种查询语句相似度的确定方法,其特征在于,所述确定方法包括:
2.根据权利要求1所述的确定方法,其特征在于,所述通过解析所述项目查询语句,从所述项目查询语句中提取出运算操作数据,确定所述项目查询语句的运算操作向量,包括:
3.根据权利要求2所述的确定方法,其特征在于,所述对所述抽象语法树进行深度优先遍历,从所述抽象语法树中提取出运算操作数据,包括:
4.根据权利要求1所述的确定方法,其特征在于,所述基于所述运算操作向量,从多个候选查询语句中确定出与所述项目查询语句相匹配的目标查询语句,包括:
5.根据权利要求4所述的确定方法,其特征在于,所述基于所述运算操作向量,确定所述项目查询语句与向量数据库中每个候选查询语句之间的相似度,包括:
6.根据权利要求1所述的确定方法,其特征在于,所述基于所述项目查询语句的运算操作向量和所述目标查询语句的目标操作向量,确定所述项目查询语句与所述目标查询语句之间的相似度分值,包括:
7.一种基于相似度的查询语句的执行方法,其特征在于,所述执行方法还包括:
8.根据
9.根据权利要求8所述的执行方法,其特征在于,当所述执行方式为延时执行时,所述执行方法还包括:
10.一种查询语句相似度的确定装置,其特征在于,所述确定装置包括:
11.一种基于相似度的查询语句的执行装置,其特征在于,所述执行装置包括:
...【技术特征摘要】
1.一种查询语句相似度的确定方法,其特征在于,所述确定方法包括:
2.根据权利要求1所述的确定方法,其特征在于,所述通过解析所述项目查询语句,从所述项目查询语句中提取出运算操作数据,确定所述项目查询语句的运算操作向量,包括:
3.根据权利要求2所述的确定方法,其特征在于,所述对所述抽象语法树进行深度优先遍历,从所述抽象语法树中提取出运算操作数据,包括:
4.根据权利要求1所述的确定方法,其特征在于,所述基于所述运算操作向量,从多个候选查询语句中确定出与所述项目查询语句相匹配的目标查询语句,包括:
5.根据权利要求4所述的确定方法,其特征在于,所述基于所述运算操作向量,确定所述项目查询语句与向量数据库中每个候选查询语句之间的相似度...
【专利技术属性】
技术研发人员:储开平,杜啸争,王渊,冯乃钧,
申请(专利权)人:中电金信软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。