【技术实现步骤摘要】
数据处理方法以及系统
[0001]本说明书实施例涉及数据处理
,特别涉及一种数据处理方法。
技术介绍
[0002]行数限定是数据库的基本功能,数量限定通常采用堆方式实现排序,并且保持固定元素数量。单机版数据库由于硬件资源受限,处理性能不能很好的满足大数据需求。分布式数据库往往采用分阶段的方式实现行数限定功能,但局部计算阶段和最终计算阶段均采用堆实现,且为了防止出现内存溢出,局部计算阶段在限定数量较大时会多次输出结果到最终计算阶段。这样导致最终计算阶段数据处理量大,造成资源浪费。
技术实现思路
[0003]有鉴于此,本说明书实施例提供了一种数据处理方法。本说明书一个或者多个实施例同时涉及一种数据处理系统,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
[0004]根据本说明书实施例的第一方面,提供了一种数据处理方法,应用于数据处理系统,所述系统包括调度节点、第二计算节点和至少两个第一计算节点,包括:所述调度节点,响应于数据查询命令确定第一计算任务和第二计算任务,将所述第一计算任务分配到所述至少两个第一计算节点,将所述第二计算任务分配到所述第二计算节点,其中,所述第一计算任务以及所述第二计算任务中携带有目标数据量;所述第一计算节点,根据第一计算任务进行数据查询得到与所述目标数据量相同的初始数据,并对所述初始数据进行排序,且将排序后的初始数据发送至第二计算节点;所述第二计算节点,根据所述第二计算任务,从所述排序后的初始数据中顺序获取目标数据量的目标数据 ...
【技术保护点】
【技术特征摘要】
1.一种数据处理方法,应用于数据处理系统,所述系统包括调度节点、第二计算节点和至少两个第一计算节点,包括:所述调度节点,响应于数据查询命令确定第一计算任务和第二计算任务,将所述第一计算任务分配到所述至少两个第一计算节点,将所述第二计算任务分配到所述第二计算节点,其中,所述第一计算任务以及所述第二计算任务中携带有目标数据量;所述第一计算节点,根据所述第一计算任务进行数据查询得到与所述目标数据量相同的初始数据,并对所述初始数据进行排序,且将排序后的初始数据发送至第二计算节点;所述第二计算节点,根据所述第二计算任务,从所述排序后的初始数据中顺序获取目标数据量的目标数据。2.根据权利要求1所述的方法,所述响应于数据查询命令确定第一计算任务和第二计算任务,包括:所述调度节点,响应于数据查询指令,对所述数据查询指令进行语义解析得到初始抽象语法树,其中,所述数据查询指令中携带有目标数据量;将所述初始抽象语法树进行组装得到目标抽象语法树;根据所述目标语法树确定第一计算任务和第二计算任务。3.根据权利要求1所述的方法,所述将所述第一计算任务分配到所述至少两个第一计算节点,包括:所述调度节点,根据所述第一计算任务确定数据节点;根据所述数据节点中原始数据的数量,确定所述数据节点对应的第一计算节点的数量,其中,所述原始数据包括所述初始数据;根据所述第一计算节点的数量和亲和性规则确定原始数据对应的第一计算节点。4.根据权利要求3所述的方法,所述根据所述数据节点中原始数据的数量,确定所述数据节点对应的第一计算节点的数量,包括:所述调度节点,在所述数据节点中原始数据的数量超过数量阈值的情况下,确定所述数据节点对应至少两个第一计算节点,其中,所述至少两个第一计算节点包括所述数据节点;在所述数据节点中原始数据的数量未超过数量阈值的情况下,确定所述数据节点为第一计算节点。5.根据权利要求4所述的方法,所述在所述数据节点中原始数据的数量超过数量阈值的情况下,确定所述数据节点对应至少两个第一计算节点,包括:所述调度节点,确定所述数据节点中原始数据的数量和所述数量阈值的比值,在所述比值为整数的情况下,确定所述比值数量为所述数据节点对应的第一计算节点的数量;在所述比值不为整数的情况下,确定大于所述比值的整数为所述数据节点对应的第一计算节点的数量。6.根据权利要求1所述的方法,所述根据所述第一计算任务进行数据查询得到与所述目标数据量相同的初始数据,并对所述初始数据进行排序,包括:所述第一计算节点,根据所述第一计算任务确定数据节点,并获取所述数据节点中的原始数据;确定所述原始数据的数据量与预设堆结构的元素数量;
在所述原始数据的数据量小于等于所述元素数量的情况下,将所述原始数据放入所述堆结构中,将所述堆结构中的数据作为所述初始数据,其中,所述元素数量等于所述目标数据量;以及在所述原始数据的数据量大于所述元素数量的情况下,从所述原始数据中取出所述元素数量的数据放入所述堆结构中,将所述原始数据中的其他数据插入所述堆结构,将所述堆结构中的数据作为所述初始数据,其中,所述其他数据为未放入所述堆结构的原始数据。7.根据权利要求1所述的方法,所述根据第一计算任务进行数据查询得到与所述目标数据量相同的初始数据,并对所述初始数据进行排序,包括:所述第一计算节点,根据第一计算任务确定数据节点,并获取所述数据节点中的原始数据,其中,所述原始数据携带分组标识;根据所述分组标识对所述初始数据进行分组得到原始分组数据;确定每个原始分组数据中的原始数据的数据量与对应的预设堆结构的元素数量;在所述原始数据的数据量小于等于所述元素数量的情况下,将所述原始数据放入所述堆结构中,将所述堆结构中的数据作为所述初始数据,其中,所述元素数量等于所述目标数据量;以及...
【专利技术属性】
技术研发人员:王彬,马云雷,顾汉杰,范阿冬,屈岳,王桢,
申请(专利权)人:阿里巴巴中国有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。