查询处理方法、查询处理系统、服务器和计算机可读介质与流程

文档序号:18739760发布日期:2019-09-21 01:38阅读:来源:国知局

技术特征:

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规模查询业务时,将所述逻辑执行计划切分为多个逻辑执行子计划,并将完成切分的所述逻辑执行计划发送至协调节点;

所述第一生成模块用于生成从所述切分模块处接收到的所述逻辑执行计划对应的第一物理执行计划,并反馈至所述服务节点,所述第一物理执行计划中记载有各所述逻辑执行子计划对应的处理节点的节点信息;

所述第一分配模块用于根据所述第一物理执行计划,将各所述逻辑执行子计划分配至对应的处理节点;

所述第一处理模块用于处理相应的逻辑执行子计划,得到查询子结果,并将所述处理子结果进行逐层上报;

所述汇总模块用于对接收到的处理子结果进行汇总,生成最终查询结果;

所述第一反馈模块用于将所述最终查询结果反馈至用户。

10.根据权利要求9所述的查询处理系统,其特征在于,所述服务节点还包括:发送模块、第二分配模块和第二反馈模块;

所述协调节点还包括:第二生成模块;

所述处理节点还包括:第二处理模块;

所述发送模块用于当所述第一判断模块判断出所述逻辑执行计划属于OLTP规模查询业务时,将所述逻辑执行计划发送至协调节点;

所述第二生成模块用于生成从所述发送模块处接收到的所述逻辑执行计划对应的第二物理执行计划,并反馈至所述服务节点,所述第二物理执行计划中记载有所述逻辑执行计划对应的处理节点的节点信息;

所述第二分配模块用于根据所述第二物理执行计划,将所述逻辑执行计划分配至对应的处理节点;

所述第二处理模块用于处理相应的所述逻辑执行计划,得到最终查询结果,并将所述最终查询结果上传至所述服务节点;

所述第二反馈模块用于将接收到的所述最终查询结果反馈至用户。

11.根据权利要求9或10中任一所述的查询处理系统,其特征在于,所述查询处理系统还包括:存储节点,所述存储节点包括:存储模块,所述存储模块中预先存储有各数据源的数据量信息;

所述第一判断模块包括:询问单元、评估单元和比较单元;

所述询问单元用于向存储节点询问与所述逻辑执行计划相关联的各数据源的数据量;

所述评估单元用于根据所述存储节点所反馈的与所述逻辑执行计划相关联的各数据源的数据量,评估出所述逻辑执行计划对应的数据查询总量;

所述比较单元用于比较所述数据查询总量与预定查询总量的大小;

若所述比较单元比较出所述数据查询总量大于所述预定查询总量,则所述第一判断模块判断出所述逻辑执行计划属于OLAP规模查询业务;若所述比较单元比较出所述数据查询总量小于或等于所述预定查询总量,则所述第一判断模块判断出所述逻辑执行计划属于OLTP规模查询业务。

12.根据权利要求9或10中任一所述的查询处理系统,其特征在于,所述第一处理模块包括:第一检测单元、转发单元和查询单元;

所述查询处理系统还包括:存储节点,所述存储节点包括:构建模块;

所述第一检测单元用于检测所述处理节点自身所接收到的逻辑执行子计划属于查询计划或聚合计划;

所述转发单元用于当所述第一检测单元检测出所述处理节点自身所接收到的逻辑执行子计划属于查询计划时,将所述逻辑执行子计划转发至存储节点,以供所述存储节点构建针对所述逻辑执行子计划的数据库;

所述查询单元用于在所述存储节点所构建的针对所述逻辑执行子计划的数据库中执行相应的查询操作,得到相应的查询子结果;

所述构建模块用于在所述存储节点接收到处理节点所发送的逻辑执行子计划时,构建针对所述逻辑执行子计划的数据库。

13.根据权利要求12所述的查询处理系统,其特征在于,所述第一处理模块还包括:聚合单元;

所述聚合单元用于当所述第一检测单元检测出所述处理节点自身所接收到的逻辑执行子计划属于聚合计划时,接收下级处理节点所上报的查询子结果,并进行聚合处理。

14.根据权利要求12所述的查询处理系统,其特征在于,所述构建模块包括:获取单元、判断单元和处理单元;

所述获取单元用于根据接收到的所述逻辑执行子计划,获取与所述逻辑执行子计划相关联的数据源提供的数据表;

所述判断单元用于判断与所述逻辑执行子计划相关联的数据源的数量是否大于1;

所述处理单元用于当所述判断单元判断出与所述逻辑执行子计划相关联的数据源的数量大于1时,将与所述逻辑执行子计划相关联的各数据源所提供的数据表映射为关系型数据库;以及,用于当所述判断单元判断出与所述逻辑执行子计划相关联的数据源的数量等于1时,将与所述逻辑执行子计划相关联的1个数据源所提供的数据表作为数据库。

15.根据权利要求14所述的查询处理系统,其特征在于,所述获取单元包括:第一确定子单元、第二确定子单元、判断子单元、第一发送子单元和第二发送子单元;

所述第一确定子单元用于确定出与所述逻辑执行子计划相关联的数据源;

所述第二确定子单元用于从预先存储的对应关系表中确定出与所述逻辑执行子计划相关联的各数据源所对应的优选处理字段,所述对应关系表中记载有不同数据源及其对应的优选处理字段;

所述判断子单元用于针对与所述逻辑执行子计划相关联的每一个数据源,判断该数据源所对应的优选处理字段是否为所述逻辑执行子计划所包含查询条件的查询字段;

所述第一发送子单元用于当所述判断子单元判断出该数据源所对应的优选处理字段为所述逻辑执行子计划所包含查询条件的查询字段时,将所述逻辑执行子计划内该数据源所对应的优选处理字段的查询条件发送至该数据源,以供该数据源根据接收到的查询条件对自身所存储的数据表进行筛选,然后再将完成筛选的数据表反馈至所述存储节点;

所述第二发送子单元用于当所述判断子单元判断出该数据源所对应的不为所述逻辑执行子计划所包含查询条件的查询字段时,向该数据源发送数据获取请求,以供该数据源反馈自身的数据表。

16.根据权利要求9或10中任一所述的查询处理系统,其特征在于,所述查询处理系统还包括:元信息管理节点,所述元信息管理节点包括:验证模块和第三反馈模块;

所述验证模块用于对用户身份信息进行有效性验证;

所述第三反馈模块用于当用户身份信息未通过有效性验证时,所述元信息管理节点向用户反馈身份信息验证失败信息;

所述解析模块具体用于当用户身份信息通过有效性验证时,解析查询请求并生成相应的逻辑执行计划。

17.一种服务器,包括:

一个或多个处理器;

存储装置,其上存储有一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-8中任一所述的方法。

18.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-8中任一所述的方法。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1