基于大数据的混合查询优化方法及装置制造方法及图纸

技术编号:24353277 阅读:12 留言:0更新日期:2020-06-03 02:02
本发明专利技术公开了一种基于大数据的混合查询优化方法及装置。方法包括:将接收到的混合查询语句转换为相对应的逻辑树;根据逻辑树中各个节点之间的连接关系及各个节点的信息,确定第一子语句及第二子语句;将第一子语句路由至相对应的存储引擎,供存储引擎执行相对应的第一子语句,并获得与第一子语句相对应的中间查询结果;将第二子语句路由至相对应的计算引擎,供计算引擎根据与第一子语句相对应的中间查询结果及第二子语句进行计算处理得到最终的查询结果。采用本方案,可充分利用存储引擎的计算能力,降低存储引擎与计算引擎之间的交互频率,并可避免现有技术中需将存储引擎未经处理的大量源数据读入再处理而引起的存储开销增加的弊端。

Hybrid query optimization method and device based on big data

【技术实现步骤摘要】
基于大数据的混合查询优化方法及装置
本专利技术涉及计算机
,具体涉及一种基于大数据的混合查询优化方法及装置。
技术介绍
随着科技及社会的不断发展,各类数据呈井喷式地增长,从而为人们的各类需求提供数据基础。由于业务需求的多样性,在实际的业务处理过程中,通常需对不同存储引擎中的数据进行联合处理。目前在对不同存储引擎中的数据进行联合处理时,通常需将所需的数据从各个存储引擎中导出至Excel中,并在Excel中对各个存储引擎的输出数据进行处理。由此可见,现有的处理方式是将存储引擎中的源数据全部读入,再进一步对读入的数据进行统一处理。然而,鉴于某些存储引擎仍具有部分的计算能力,采用现有的处理方式极易造成存储引擎计算资源的浪费;并且,该处理方式是将未经任何处理的源数据全部读入,从而进一步地增加了存储开销,降低处理效率。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的基于大数据的混合查询优化方法及装置。根据本专利技术的一个方面,提供了一种基于大数据的混合查询优化方法,包括:将接收到的混合查询语句转换为与所述混合查询语句相对应的逻辑树;其中,所述逻辑树中的节点对应于所述混合查询语句中的子语句;根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点,并将由存储引擎执行的节点对应的子语句确定为第一子语句,将不能由存储引擎执行的节点对应的子语句确定为第二子语句;将第一子语句路由至相对应的存储引擎,以供存储引擎执行相对应的第一子语句,并获得与第一子语句相对应的中间查询结果;将第二子语句路由至相对应的计算引擎,以供计算引擎根据与第一子语句相对应的中间查询结果,以及所述第二子语句进行计算处理得到最终的查询结果。根据本专利技术的另一方面,提供了一种基于大数据的混合查询优化装置,包括:转换模块,适于将接收到的混合查询语句转换为与所述混合查询语句相对应的逻辑树;其中,所述逻辑树中的节点对应于所述混合查询语句中的子语句;确定模块,适于根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点,并将由存储引擎执行的节点对应的子语句确定为第一子语句,将不能由存储引擎执行的节点对应的子语句确定为第二子语句;第一路由模块,适于将第一子语句路由至相对应的存储引擎,以供存储引擎执行相对应的第一子语句,并获得与第一子语句相对应的中间查询结果;第二路由模块,适于将第二子语句路由至相对应的计算引擎,以供计算引擎根据与第一子语句相对应的中间查询结果,以及所述第二子语句进行计算处理得到最终的查询结果。根据本专利技术的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述基于大数据的混合查询优化方法对应的操作。根据本专利技术的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述基于大数据的混合查询优化方法对应的操作。根据本专利技术提供的基于大数据的混合查询优化方法及装置,首先将接收到的混合查询语句转换为相对应的逻辑树;并根据逻辑树中各个节点之间的连接关系及各个节点的信息,确定第一子语句及第二子语句;进一步将第一子语句路由至相对应的存储引擎,供存储引擎执行相对应的第一子语句,并获得与第一子语句相对应的中间查询结果;以及将第二子语句路由至相对应的计算引擎,供计算引擎根据与第一子语句相对应的中间查询结果及第二子语句进行计算处理得到最终的查询结果。采用本方案,可充分利用存储引擎的计算能力,降低存储引擎与计算引擎之间的交互频率,并可避免现有技术中需将存储引擎未经处理的大量源数据读入再处理而引起的存储开销增加的弊端。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本专利技术提供的一种预设的大数据处理系统的功能结构示意图;图2示出了根据本专利技术一个实施例提供的一种基于大数据的混合查询优化方法的流程示意图;图3示出了根据本专利技术另一个实施例提供的一种基于大数据的混合查询优化方法的流程示意图;图4示出了根据本专利技术一个实施例提供的一种基于大数据的混合查询优化装置的功能结构示意图;图5示出了根据本专利技术一个实施例提供的一种计算设备的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本专利技术所提供的基于大数据的混合查询处理方法及装置可应用于预设的大数据处理系统中。如图1所示,该预设的大数据处理系统包括:服务接口11、解析模块12、路由模块13、多个计算引擎14以及多个存储引擎15。其中,服务接口11,提供至少一种对外调用方式,适于接收利用任一种对外调用方式输入的特定语言格式的查询语句。该大数据处理系统中的特定语言格式的查询语句可以为与计算引擎或存储引擎耦合度较低的逻辑查询语句,即用户无需根据查询所需的计算引擎及存储引擎的特点及语法结构等专门编译相应的语句。解析模块12,适于对查询语句进行语法解析及校验,生成逻辑查询计划。具体地,为保障数据查询效率以及避免系统资源浪费,解析模块12首先对服务接口11接收到的查询语句进行语法校验。可选的,若查询语句的语法校验不合格,可为用户反馈相应的提示信息,以供用户根据提示信息进行查询语句的及时修正。待语法校验成功后,进一步对查询语句进行解析,以生成相应的逻辑查询计划。从而供路由模块13、多个计算引擎14和/或多个存储引擎15基于逻辑查询计划获得最终的查询结果。路由模块13,适于根据逻辑查询计划,确定与逻辑查询计划相对应的至少一个计算引擎和/或至少一个存储引擎,并将查询语句路由至该至少一个计算引擎和/或至少一个存储引擎。具体地,在解析模块12生成与查询语句相对应的逻辑查询计划之后,进一步由路由模块13根据逻辑查询计划生成相应的物理执行计划,即确定出与逻辑查询计划相对应的至少一个计算引擎和/或至少一个存储引擎,并将查询语句路由至该至少一个计算引擎和/或至少一个存储引擎。多个计算引擎14以及多个存储引擎15,适于根据路由模块路由的查询语句,执行对应的查询本文档来自技高网...

【技术保护点】
1.一种基于大数据的混合查询优化方法,包括:/n将接收到的混合查询语句转换为与所述混合查询语句相对应的逻辑树;其中,所述逻辑树中的节点对应于所述混合查询语句中的子语句;/n根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点,并将由存储引擎执行的节点对应的子语句确定为第一子语句,将不能由存储引擎执行的节点对应的子语句确定为第二子语句;/n将第一子语句路由至相对应的存储引擎,以供存储引擎执行相对应的第一子语句,并获得与第一子语句相对应的中间查询结果;/n将第二子语句路由至相对应的计算引擎,以供计算引擎根据与第一子语句相对应的中间查询结果,以及所述第二子语句进行计算处理得到最终的查询结果。/n

【技术特征摘要】
1.一种基于大数据的混合查询优化方法,包括:
将接收到的混合查询语句转换为与所述混合查询语句相对应的逻辑树;其中,所述逻辑树中的节点对应于所述混合查询语句中的子语句;
根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点,并将由存储引擎执行的节点对应的子语句确定为第一子语句,将不能由存储引擎执行的节点对应的子语句确定为第二子语句;
将第一子语句路由至相对应的存储引擎,以供存储引擎执行相对应的第一子语句,并获得与第一子语句相对应的中间查询结果;
将第二子语句路由至相对应的计算引擎,以供计算引擎根据与第一子语句相对应的中间查询结果,以及所述第二子语句进行计算处理得到最终的查询结果。


2.根据权利要求1所述的方法,其中,所述根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点进一步包括:
将逻辑树中的数据源节点确定为由存储引擎执行的节点。


3.根据权利要求1或2所述的方法,其中,所述根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点进一步包括:
确定逻辑树中与逻辑树中的数据源节点直接相连的非数据源节点;
若所述与数据源节点直接相连的非数据源节点为过滤节点和/或返回限制节点,则将该过滤节点和/或返回限制节点确定为由存储引擎执行的节点。


4.根据权利要求3所述的方法,其中,所述根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点进一步包括:
若所述与数据源节点直接相连的非数据源节点为函数节点,则进一步确定所述函数节点所对应的函数在所述数据源节点所对应的存储引擎中是否有效;
若有效,则将所述函数节点确定为由存储引擎执行的节点;
若无效,则将所述函数节点确定为不能由存储引擎执行的节点。


5.根据权利要求1-4中任一项所述的方法,其中,所述根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点进一步包括:
确定逻辑树中与逻辑树中的数据源节点未直接相连的非数据源节点,并对所述未直接相连的非数据源节点进行语义分析,根据分析结果,确定所述未直接相连的非数据源节点是否为由存储引擎执行的节点。


6.根据权利要求5所述的方法,其中,所述根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点进一步包括:
确定逻辑树中与数据源节点未直接相连的...

【专利技术属性】
技术研发人员:刘思源朱海龙李铭徐胜国徐皓李铮
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1