查询处理方法、查询处理系统、服务器和计算机可读介质技术方案

技术编号:22166791 阅读:22 留言:0更新日期:2019-09-21 10:31
本公开提供了一种查询处理方法,涉及云计算领域,包括:服务节点解析查询请求并生成相应的逻辑执行计划;服务节点判断逻辑执行计划属于OLAP规模查询业务或OLTP规模查询业务;当判断出逻辑执行计划属于OLAP规模查询业务时,则服务节点将逻辑执行计划切分为多个逻辑执行子计划;协调节点生成逻辑执行计划对应的第一物理执行计划,并反馈至服务节点,第一物理执行计划中记载有各逻辑执行子计划对应的处理节点的节点信息;服务节点根据第一物理执行计划,将各逻辑执行子计划分配至对应的处理节点;处理节点处理相应的逻辑执行子计划,得到查询子结果,并将处理子结果进行逐层上报;服务节点对接收到的处理子结果进行汇总,生成最终查询结果,并反馈至用户。

Query Processing Method, Query Processing System, Server and Computer Readable Media

【技术实现步骤摘要】
查询处理方法、查询处理系统、服务器和计算机可读介质
本公开涉及物联网
和云计算领域,特别涉及一种查询处理方法、查询处理系统、服务器和计算机可读介质。
技术介绍
在物联网领域,数据对于企业来说的重要性不可估量,通过挖掘数据背后的价值,可以分析过去,监控现在以及决策未来。这个过程中,一个重要的环节就是数据的查询。物联网领域的数据类型多样化,数据量海量化,查询场景覆盖联机分析处理(On-LineAnalysisProcessing,简称OLAP)规模查询业务和联机事务处理(On-LineTransactionProcessing,简称OLTP)规模查询业务,而现有的数据查询引擎难以同时支持OLAP规模查询业务和OLTP规模查询业务,即现有的数据查询技术无法满足物联网领域的查询需求。
技术实现思路
本公开旨在至少解决现有技术中存在的技术问题之一,提出了一种查询处理方法、查询处理系统、服务器和计算机可读介质。第一方面,本公开实施例提供了一种查询处理方法,包括:服务节点解析查询请求并生成相应的逻辑执行计划;所述服务节点判断所述逻辑执行计划属于OLAP规模查询业务或OLTP规模查询业务;当判断出所述逻辑执行计划属于OLAP规模查询业务时,则所述服务节点将所述逻辑执行计划切分为多个逻辑执行子计划,并将完成切分的所述逻辑执行计划发送至协调节点;所述协调节点生成所述逻辑执行计划对应的第一物理执行计划,并反馈至所述服务节点,所述第一物理执行计划中记载有各所述逻辑执行子计划对应的处理节点的节点信息;所述服务节点根据所述第一物理执行计划,将各所述逻辑执行子计划分配至对应的处理节点;所述处理节点处理相应的逻辑执行子计划,得到查询子结果,并将所述处理子结果进行逐层上报;所述服务节点对接收到的处理子结果进行汇总,生成最终查询结果,并将所述最终查询结果反馈至用户。在一些实施例中,当判断出所述逻辑执行计划属于OLTP规模查询业务时,则所述服务节点将所述逻辑执行计划发送至协调节点;所述协调节点生成所述逻辑执行计划对应的第二物理执行计划,并反馈至所述服务节点,所述第二物理执行计划中记载有所述逻辑执行计划对应的处理节点的节点信息;所述服务节点根据所述第二物理执行计划,将所述逻辑执行计划分配至对应的处理节点;所述处理节点处理相应的所述逻辑执行计划,得到最终查询结果,并将所述最终查询结果上传至所述服务节点;所述服务节点将接收到的所述最终查询结果反馈至用户。在一些实施例中,服务节点判断所述逻辑执行计划属于OLAP规模查询业务或OLTP规模查询业务的步骤包括:所述服务节点向存储节点询问与所述逻辑执行计划相关联的各数据源的数据量;所述服务节点根据所述存储节点所反馈的与所述逻辑执行计划相关联的各数据源的数据量,评估出所述逻辑执行计划对应的数据查询总量;所述服务节点比较所述数据查询总量与预定查询总量的大小;若比较出所述数据查询总量大于所述预定查询总量,则所述服务节点判断出所述逻辑执行计划属于OLAP规模查询业务;若比较出所述数据查询总量小于或等于所述预定查询总量,则所述服务节点判断出所述逻辑执行计划属于OLTP规模查询业务。在一些实施例中,所述处理节点处理相应的逻辑执行子计划的步骤具体包括:所述处理节点检测自身所接收到的逻辑执行子计划属于查询计划或聚合计划;当检测出其自身所接收到的逻辑执行子计划属于查询计划时,则所述处理节点将所述逻辑执行子计划转发至存储节点,以供所述存储节点构建针对所述逻辑执行子计划的数据库;所述处理节点在所述存储节点所构建的针对所述逻辑执行子计划的数据库中执行相应的查询操作,得到相应的查询子结果;其中,在所述存储节点接收到处理节点所发送的逻辑执行子计划时,还包括:所述存储节点构建针对所述逻辑执行子计划的数据库。在一些实施例中,当检测出其自身所接收到的逻辑执行子计划属于聚合计划时,则所述处理节点接收下级处理节点所上报的查询子结果,并进行聚合处理。在一些实施例中,所述存储节点构建针对所述逻辑执行子计划的数据库的步骤具体包括:所述存储节点根据接收到的所述逻辑执行子计划,获取与所述逻辑执行子计划相关联的数据源提供的数据表;所述存储节点判断与所述逻辑执行子计划相关联的数据源的数量是否大于1;当判断出与所述逻辑执行子计划相关联的数据源的数量大于1时,则所述存储服务节将与所述逻辑执行子计划相关联的各数据源所提供的数据表映射为关系型数据库;当判断出与所述逻辑执行子计划相关联的数据源的数量等于1时,则将与所述逻辑执行子计划相关联的1个数据源所提供的数据表作为数据库。在一些实施例中,所述存储节点根据接收到的所述逻辑执行子计划,获取与所述逻辑执行子计划相关联的数据源提供的数据表的步骤包括:所述存储节点确定出与所述逻辑执行子计划相关联的数据源;所述存储节点从预先存储的对应关系表中确定出与所述逻辑执行子计划相关联的各数据源所对应的优选处理字段,所述对应关系表中记载有不同数据源及其对应的优选处理字段;针对与所述逻辑执行子计划相关联的每一个数据源,所述存储节点判断该数据源所对应的优选处理字段是否为所述逻辑执行子计划所包含查询条件的查询字段;若判断出该数据源所对应的优选处理字段为所述逻辑执行子计划所包含查询条件的查询字段时,则所述存储节点将所述逻辑执行子计划内该数据源所对应的优选处理字段的查询条件发送至该数据源,以供该数据源根据接收到的查询条件对自身所存储的数据表进行筛选,然后再将完成筛选的数据表反馈至所述存储节点;若判断出该数据源所对应的不为所述逻辑执行子计划所包含查询条件的查询字段时,则所述存储节点向该数据源发送数据获取请求,以供该数据源反馈自身的数据表。在一些实施例中,在所述服务节点解析查询请求并生成相应的逻辑执行计划的步骤之前,还包括:元信息管理节点对用户身份信息进行有效性验证;当用户身份信息通过有效性验证时,则所述服务节点执行解析查询请求并生成相应的逻辑执行计划的步骤;当用户身份信息未通过有效性验证时,则所述元信息管理节点向用户反馈身份信息验证失败信息。第二方面,本公开实施例提供了一种查询处理系统,包括:服务节点、协调节点和多个处理节点;所述服务节点包括:解析模块、第一判断模块、切分模块、第一分配模块、汇总模块和第一反馈模块;所述协调节点包括:第一生成模块;所述处理节点包括:第一处理模块;所述解析模块用于解析查询请求并生成相应的逻辑执行计划;所述第一判断模块用于判断所述逻辑执行计划属于OLAP规模查询业务或OLTP规模查询业务;所述切分模块用于当所述第一判断模块判断出所述逻辑执行计划属于OLAP规模查询业务时,将所述逻辑执行计划切分为多个逻辑执行子计划,并将完成切分的所述逻辑执行计划发送至协调节点;所述第一生成模块用于生成从所述切分模块处接收到的所述逻辑执行计划对应的第一物理执行计划,并反馈至所述服务节点,所述第一物理执行计划中记载有各所述逻辑执行子计划对应的处理节点的节点信息;所述第一分配模块用于根据所述第一物理执行计划,将各所述逻辑执行子计划分配至对应的处理节点;所述第一处理模块用于处理相应的逻辑执行子计划,得到查询子结果,并将所述处理子结果进行逐层上报;所述汇总模块用于对接收到的处理子结果进行汇总,生成最终查询结果;所述第一反馈模块用于本文档来自技高网...

【技术保护点】
1.一种查询处理方法,其特征在于,包括:服务节点解析查询请求并生成相应的逻辑执行计划;所述服务节点判断所述逻辑执行计划属于OLAP规模查询业务或OLTP规模查询业务;当判断出所述逻辑执行计划属于OLAP规模查询业务时,则所述服务节点将所述逻辑执行计划切分为多个逻辑执行子计划,并将完成切分的所述逻辑执行计划发送至协调节点;所述协调节点生成所述逻辑执行计划对应的第一物理执行计划,并反馈至所述服务节点,所述第一物理执行计划中记载有各所述逻辑执行子计划对应的处理节点的节点信息;所述服务节点根据所述第一物理执行计划,将各所述逻辑执行子计划分配至对应的处理节点;所述处理节点处理相应的逻辑执行子计划,得到查询子结果,并将所述处理子结果进行逐层上报;所述服务节点对接收到的处理子结果进行汇总,生成最终查询结果,并将所述最终查询结果反馈至用户。

【技术特征摘要】
1.一种查询处理方法,其特征在于,包括:服务节点解析查询请求并生成相应的逻辑执行计划;所述服务节点判断所述逻辑执行计划属于OLAP规模查询业务或OLTP规模查询业务;当判断出所述逻辑执行计划属于OLAP规模查询业务时,则所述服务节点将所述逻辑执行计划切分为多个逻辑执行子计划,并将完成切分的所述逻辑执行计划发送至协调节点;所述协调节点生成所述逻辑执行计划对应的第一物理执行计划,并反馈至所述服务节点,所述第一物理执行计划中记载有各所述逻辑执行子计划对应的处理节点的节点信息;所述服务节点根据所述第一物理执行计划,将各所述逻辑执行子计划分配至对应的处理节点;所述处理节点处理相应的逻辑执行子计划,得到查询子结果,并将所述处理子结果进行逐层上报;所述服务节点对接收到的处理子结果进行汇总,生成最终查询结果,并将所述最终查询结果反馈至用户。2.根据权利要求1所述的查询处理方法,其特征在于,当判断出所述逻辑执行计划属于OLTP规模查询业务时,则所述服务节点将所述逻辑执行计划发送至协调节点;所述协调节点生成所述逻辑执行计划对应的第二物理执行计划,并反馈至所述服务节点,所述第二物理执行计划中记载有所述逻辑执行计划对应的处理节点的节点信息;所述服务节点根据所述第二物理执行计划,将所述逻辑执行计划分配至对应的处理节点;所述处理节点处理相应的所述逻辑执行计划,得到最终查询结果,并将所述最终查询结果上传至所述服务节点;所述服务节点将接收到的所述最终查询结果反馈至用户。3.根据权利要求1或2中任一所述的查询处理方法,其特征在于,服务节点判断所述逻辑执行计划属于OLAP规模查询业务或OLTP规模查询业务的步骤包括:所述服务节点向存储节点询问与所述逻辑执行计划相关联的各数据源的数据量;所述服务节点根据所述存储节点所反馈的与所述逻辑执行计划相关联的各数据源的数据量,评估出所述逻辑执行计划对应的数据查询总量;所述服务节点比较所述数据查询总量与预定查询总量的大小;若比较出所述数据查询总量大于所述预定查询总量,则所述服务节点判断出所述逻辑执行计划属于OLAP规模查询业务;若比较出所述数据查询总量小于或等于所述预定查询总量,则所述服务节点判断出所述逻辑执行计划属于OLTP规模查询业务。4.根据权利要求1或2中任一所述的查询处理方法,其特征在于,所述处理节点处理相应的逻辑执行子计划的步骤具体包括:所述处理节点检测自身所接收到的逻辑执行子计划属于查询计划或聚合计划;当检测出其自身所接收到的逻辑执行子计划属于查询计划时,则所述处理节点将所述逻辑执行子计划转发至存储节点,以供所述存储节点构建针对所述逻辑执行子计划的数据库;所述处理节点在所述存储节点所构建的针对所述逻辑执行子计划的数据库中执行相应的查询操作,得到相应的查询子结果;其中,在所述存储节点接收到处理节点所发送的逻辑执行子计划时,还包括:所述存储节点构建针对所述逻辑执行子计划的数据库。5.根据权利要求4所述的查询处理方法,其特征在于,当检测出其自身所接收到的逻辑执行子计划属于聚合计划时,则所述处理节点接收下级处理节点所上报的查询子结果,并进行聚合处理。6.根据权利要求4所述的查询处理方法,其特征在于,所述存储节点构建针对所述逻辑执行子计划的数据库的步骤具体包括:所述存储节点根据接收到的所述逻辑执行子计划,获取与所述逻辑执行子计划相关联的数据源提供的数据表;所述存储节点判断与所述逻辑执行子计划相关联的数据源的数量是否大于1;当判断出与所述逻辑执行子计划相关联的数据源的数量大于1时,则所述存储服务节将与所述逻辑执行子计划相关联的各数据源所提供的数据表映射为关系型数据库;当判断出与所述逻辑执行子计划相关联的数据源的数量等于1时,则将与所述逻辑执行子计划相关联的1个数据源所提供的数据表作为数据库。7.根据权利要求6所述的查询处理方法,其特征在于,所述存储节点根据接收到的所述逻辑执行子计划,获取与所述逻辑执行子计划相关联的数据源提供的数据表的步骤包括:所述存储节点确定出与所述逻辑执行子计划相关联的数据源;所述存储节点从预先存储的对应关系表中确定出与所述逻辑执行子计划相关联的各数据源所对应的优选处理字段,所述对应关系表中记载有不同数据源及其对应的优选处理字段;针对与所述逻辑执行子计划相关联的每一个数据源,所述存储节点判断该数据源所对应的优选处理字段是否为所述逻辑执行子计划所包含查询条件的查询字段;若判断出该数据源所对应的优选处理字段为所述逻辑执行子计划所包含查询条件的查询字段时,则所述存储节点将所述逻辑执行子计划内该数据源所对应的优选处理字段的查询条件发送至该数据源,以供该数据源根据接收到的查询条件对自身所存储的数据表进行筛选,然后再将完成筛选的数据表反馈至所述存储节点;若判断出该数据源所对应的不为所述逻辑执行子计划所包含查询条件的查询字段时,则所述存储节点向该数据源发送数据获取请求,以供该数据源反馈自身的数据表。8.根据权利要求1或2中任一所述的查询处理方法,其特征在于,在所述服务节点解析查询请求并生成相应的逻辑执行计划的步骤之前,还包括:元信息管理节点对用户身份信息进行有效性验证;当用户身份信息通过有效性验证时,则所述服务节点执行解析查询请求并生成相应的逻辑执行计划的步骤;当用户身份信息未通过有效性验证时,则所述元信息管理节点向用户反馈身份信息验证失败信息。9.一种查询处理系统,其特征在于,包括:服务节点、协调节点和多个处理节点;所述服务节点包括:解析模块、第一判断模块、切分模块、第一分配模块、汇总模块和第一反馈模块;所述协调节点包括:第一生成模块;所述处理节点包括:第一处理模块;所述解析模块用于解析查询请求并生成相应的逻辑执行计划;所述第一判断模块用于判断所述逻辑执行计划属于OLAP规模查询业务或OLTP规模查询业务;所述切分模块用于当所述第一判断模块判断出所述逻辑执行计划属于OLAP规模查询业务时,将所述逻辑执行计划切分为多个逻辑执行子计划,并将完成切分的所述逻辑执行计划发送至协调节点;所述第一生成模块用于生成从所述切分模块处接收到的所述逻辑执行计划对应的...

【专利技术属性】
技术研发人员:张钢沈达宇
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

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

1