数据处理方法、装置、电子设备及计算机可读存储介质制造方法及图纸

技术编号:37603335 阅读:18 留言:0更新日期:2023-05-18 11:54
本申请实施例提供了一种数据处理方法、装置、电子设备及计算机可读存储介质,涉及数据库管理技术领域。该方法包括:从查询计划树的叶子节点开始遍历查询计划树的各个节点,在遍历过程中,针对每一节点进行优化操作,直至遍历到查询计划树的根节点,生成目标查询计划树;基于扩展节点将目标查询计划树划分为多个子计划;将多个子计划分发到各数据节点进行执行,得到各子计划的执行结果;获取并汇集各子计划的执行结果,得到查询计划树的目标执行结果。本申请实施例通过查询计划树各节点的特征列表将各节点映射到不同的数据节点,并根据扩展节点进行数据调度,构建包括多个子计划的分布式查询计划,有效提高了查询效率。有效提高了查询效率。有效提高了查询效率。

【技术实现步骤摘要】
数据处理方法、装置、电子设备及计算机可读存储介质


[0001]本申请涉及数据库管理
,具体而言,本申请涉及一种数据处理方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。用户可以通过数据库管理系统访问数据库中的数据,数据库管理员也通过数据库管理系统进行数据库的维护工作。其中,查询计划是数据库管理系统为完成查询而执行的一组步骤,查询计划的优化决定着查询操作的查询效率。
[0003]在现有技术中,数据库管理系统通常基于存储节点实现查询计划中的数据存储,并将数据传递给计算节点进行查询计划的优化和执行,其中计算节点和存储节点之间数据传输量较大,会增加计算节点的消耗资源,存在查询效率低下的问题。

技术实现思路

[0004]本申请实施例提供了一种数据处理方法、装置、电子设备及计算机可读存储介质,可以解决查询效率低下的问题。所述技术方案如下:
[0005]根据本申请实施例的一个方面,提供了一种数据处理方法,该方法应用于数据库管理系统的协调节点,包括:
[0006]从查询计划树的叶子节点开始遍历查询计划树的各个节点,在遍历过程中,针对每一节点进行如下优化操作,直至遍历到查询计划树的根节点,生成目标查询计划树;
[0007]其中,优化操作包括:
[0008]获取节点的特征列表;根据特征列表通过预设的映射函数计算节点对应的数据节点;基于特征列表确定是否在节点的下一层级插入扩展节点;其中,特征列表用于为节点对应的查询任务提供数据;扩展节点用于调度节点对应的查询任务;
[0009]基于扩展节点将目标查询计划树划分为多个子计划;
[0010]将多个子计划分发到各数据节点进行执行,得到各子计划的执行结果;
[0011]获取并汇集各子计划的执行结果,得到查询计划树的目标执行结果。
[0012]在一个可能的实现方式中,上述基于特征列表确定是否在节点的下一层级插入扩展节点,包括:
[0013]当特征列表和节点对应的原始表不满足预设匹配条件时,在节点的下一层级插入扩展节点;
[0014]当特征列表和节点对应的原始表满足预设匹配条件时,遍历到下一节点。
[0015]在一个可能的实现方式中,上述基于特征列表确定是否在节点的下一层级插入扩展节点,还包括:
[0016]当特征列表和节点对应的原始表不满足预设匹配条件,且节点对应的查询任务为聚合任务时,将聚合任务分解为中间聚合任务和终结聚合任务,并在中间聚合任务和终结
聚合任务之间插入扩展节点;其中,聚合任务为非分组聚合任务或分组键的第一个字段非表分布字段的分组聚合任务。
[0017]在又一个可能的实现方式中,上述匹配条件包括:
[0018]特征列表包括对应原始表的分布键,且节点对应的原始表的分布方式为哈希、取模和复制中的任一个。
[0019]在又一个可能的实现方式中,上述特征列表是基于如下方式构建的:
[0020]获取节点对应的原始表的表清单列表和节点对应的绑定参数;
[0021]基于表清单列表和绑定参数构建节点的特征列表。
[0022]根据本申请实施例的一个方面,提供了一种数据处理方法,该方法应用于数据库管理系统的数据节点,包括:
[0023]获取数据节点所对应的子计划;其中,子计划是数据库的协调节点基于扩展节点将查询计划树划分得到的;
[0024]执行子计划,得到子计划的执行结果,并将执行结果存储于预设存储地址。
[0025]根据本申请实施例的另一个方面,提供了一种数据处理装置,该装置包括:
[0026]优化模块,用于从查询计划树的叶子节点开始遍历查询计划树的各个节点,在遍历过程中,针对每一节点进行如下优化操作,直至遍历到查询计划树的根节点,生成目标查询计划树;
[0027]其中,优化操作包括:
[0028]获取节点的特征列表;根据特征列表通过预设的映射函数计算节点对应的数据节点;基于特征列表确定是否在节点的下一层级插入扩展节点;其中,特征列表用于为节点对应的查询任务提供数据;扩展节点用于调度节点对应的查询任务;
[0029]划分模块,用于基于扩展节点将目标查询计划树划分为多个子计划;
[0030]分发模块,用于将多个子计划分发到各数据节点进行执行,得到各子计划的执行结果;
[0031]汇集模块,用于获取并汇集各子计划的执行结果,得到查询计划树的目标执行结果。
[0032]在一个可能的实现方式中,上述优化模块在基于特征列表确定是否在节点的下一层级插入扩展节点时,用于:
[0033]当特征列表和节点对应的原始表不满足预设匹配条件时,在节点的下一层级插入扩展节点;
[0034]当特征列表和节点对应的原始表满足预设匹配条件时,遍历到下一节点。
[0035]在一个可能的实现方式中,上述优化模块在基于特征列表确定是否在节点的下一层级插入扩展节点时,用于:
[0036]当特征列表和节点对应的原始表不满足预设匹配条件,且节点对应的查询任务为聚合任务时,将聚合任务分解为中间聚合任务和终结聚合任务,并在中间聚合任务和终结聚合任务之间插入扩展节点;其中,聚合任务为非分组聚合任务或分组键的第一个字段非表分布字段的分组聚合任务。
[0037]在又一个可能的实现方式中,上述匹配条件包括:
[0038]特征列表包括对应原始表的分布键,且节点对应的原始表的分布方式为哈希、取
模和复制中的任一个。
[0039]在又一个可能的实现方式中,上述特征列表是基于如下方式构建的:
[0040]获取节点对应的原始表的表清单列表和节点对应的绑定参数;
[0041]基于表清单列表和绑定参数构建节点的特征列表。
[0042]根据本申请实施例的另一个方面,提供了一种数据处理装置,该装置包括:
[0043]获取模块,用于获取数据节点所对应的子计划;其中,子计划是数据库的协调节点将查询计划树划分得到的;
[0044]执行模块,用于执行子计划,得到子计划的执行结果,并将执行结果存储于预设存储地址。
[0045]根据本申请实施例的另一个方面,提供了一种电子设备,该电子设备包括:存储器、处理器及存储在存储器上的计算机程序,上述处理器执行计算机程序以实现本申请实施例第一方面所示方法的步骤。
[0046]根据本申请实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例第一方面所示方法的步骤。
[0047]根据本申请实施例的一个方面,提供了一种计算机程序产品,其包括计算机程序,该计算机程序被处理器执行时实现本申请实施例第一方面所示方法的步骤。
[0048]本申请实施例提供的技术方案带来的有益效果是:
[0049]本申请实施例在遍历查询计划树的节点过程中,通过各本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,应用于数据库管理系统的协调节点,所述方法包括:从查询计划树的叶子节点开始遍历所述查询计划树的各个节点,在遍历过程中,针对每一节点进行如下优化操作,直至遍历到所述查询计划树的根节点,生成目标查询计划树;其中,所述优化操作包括:获取所述节点的特征列表;根据所述特征列表通过预设的映射函数计算所述节点对应的数据节点;基于所述特征列表确定是否在所述节点的下一层级插入扩展节点;其中,所述特征列表用于为所述节点对应的查询任务提供数据;所述扩展节点用于调度所述节点对应的查询任务;基于所述扩展节点将所述目标查询计划树划分为多个子计划;将所述多个子计划分发到各所述数据节点进行执行,得到各子计划的执行结果;获取并汇集各子计划的所述执行结果,得到所述查询计划树的目标执行结果。2.根据权利要求1所述的方法,其特征在于,所述基于所述特征列表确定是否在所述节点的下一层级插入扩展节点,包括:当所述特征列表和所述节点对应的原始表不满足预设匹配条件时,在所述节点的下一层级插入所述扩展节点;当所述特征列表和所述节点对应的原始表满足预设匹配条件时,遍历到下一节点。3.根据权利要求2所述的方法,其特征在于,所述基于所述特征列表确定是否在所述节点的下一层级插入扩展节点,还包括:当所述特征列表和所述节点对应的原始表不满足预设匹配条件,且所述节点对应的查询任务为聚合任务时,将所述聚合任务分解为中间聚合任务和终结聚合任务,并在所述中间聚合任务和终结聚合任务之间插入扩展节点;其中,所述聚合任务为非分组聚合任务或分组键的第一个字段非表分布字段的分组聚合任务。4.根据权利要求2所述的方法,其特征在于,所述匹配条件包括:所述特征列表包括对应所述原始表的分布键,且所述节点对应的原始表的分布方式为哈希、取模和复制中的任一个。5.根据权利要求1所述的方法,其特征在于,所述特征列表是基于如下方式构建的:获取所述节点对应的原始表的表...

【专利技术属性】
技术研发人员:吕亚宁
申请(专利权)人:湖南亚信安慧科技有限公司
类型:发明
国别省市:

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

1