System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据查询的,尤其是涉及一种分布式查询方法、系统、设备及存储介质。
技术介绍
1、随着数据量的增长和多样化,分布式查询系统得到了广泛的应用。
2、目前的查询方式是通过将查询划分为多个stage,并在stage级别上进行优化和调度,虽然这种方式能够有效地提高查询性能,但由于stage之间的依赖关系是静态的,当依赖关系中的某一stage执行失败后,需要从最顶端的stage重新开始执行,导致错误重试成本过高,而且stage之间互相依赖,无法并行执行,在单个查询的执行时间过长,影响查询效率。
技术实现思路
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、通过对查询语法树中的每个节点进行判断,实现对查询语法树的划分,得到多个查询子树,将每个查询子树进行数据物化得到查询子树的物化结果,在根据目标查询语句进行数据查询时,可以通过每个查询子树的物化结果得到查询结果,在查询过程中如果任意一个查询子树出现问题,可以根据物化结果仅对存在问题的查询子树进行查询,避免重新查询,造成查询效率的下降;与此同时,将查询语法树拆分成多个查询子树,避免出现单个查询的查询时间过长的问题,提高查询效率。
本文档来自技高网...【技术保护点】
1.一种分布式查询方法,其特征在于,包括:
2.根据权利要求1所述的分布式查询方法,其特征在于,所述遍历所述查询语法树中的每个节点,确定每个节点的分区特点,包括:
3.根据权利要求2所述的分布式查询方法,其特征在于,所述根据所述分区特点对所述查询语法树进行划分,得到多个查询子树,包括:
4.根据权利要求1所述的分布式查询方法,其特征在于,所述调用所述多个查询子树,根据所述查询子树的物化结果,得到查询结果,包括:
5.根据权利要求1所述的分布式查询方法,其特征在于,所述调用所述多个查询子树,根据所述查询子树的物化结果,得到查询结果,包括:
6.根据权利要求1所述的分布式查询方法,其特征在于,在所述调用所述多个查询子树,根据所述查询子树的物化结果,得到查询结果之前,所述方法还包括:
7.根据权利要求6所述的分布式查询方法,其特征在于,所述根据所述检查结果,执行预设指令,包括:
8.一种分布式查询系统,其特征在于,包括:
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有能
10.一种计算机可读存储介质,其特征在于,存储有能够被处理器加载并执行如权利要求1至7中任一种所述方法的计算机程序。
...【技术特征摘要】
1.一种分布式查询方法,其特征在于,包括:
2.根据权利要求1所述的分布式查询方法,其特征在于,所述遍历所述查询语法树中的每个节点,确定每个节点的分区特点,包括:
3.根据权利要求2所述的分布式查询方法,其特征在于,所述根据所述分区特点对所述查询语法树进行划分,得到多个查询子树,包括:
4.根据权利要求1所述的分布式查询方法,其特征在于,所述调用所述多个查询子树,根据所述查询子树的物化结果,得到查询结果,包括:
5.根据权利要求1所述的分布式查询方法,其特征在于,所述调用所述多个查询子树,根据所述查询子树的物化结果,得到查询结果,包括:
【专利技术属性】
技术研发人员:崔鹏云,朱查,
申请(专利权)人:北京傲韦科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。