数据处理方法以及系统技术方案

技术编号:34355119 阅读:66 留言:0更新日期:2022-07-31 06:26
本说明书实施例提供一种数据处理方法以及系统,其中数据处理方法包括:调度节点,将第一计算任务分配到至少两个第一计算节点,将第二计算任务分配到第二计算节点,其中,第一计算任务以及第二计算任务中携带有目标数据量;第一计算节点,根据第一计算任务进行数据查询得到与目标数据量相同的初始数据,并对初始数据进行排序,且将排序后的初始数据发送至第二计算节点,第二计算节点,根据第二计算任务,从排序后的初始数据中顺序获取目标数据量的目标数据。由于第二计算节点接收到的初始数据为有序的,所以在获取目标数据时可以顺序获取目标数据量的目标数据即可,不用处理所有初始数据,减少了数据处理量和使用的处理资源,提高了数据处理效率。了数据处理效率。了数据处理效率。

Data processing method and system

【技术实现步骤摘要】
数据处理方法以及系统


[0001]本说明书实施例涉及数据处理
,特别涉及一种数据处理方法。

技术介绍

[0002]行数限定是数据库的基本功能,数量限定通常采用堆方式实现排序,并且保持固定元素数量。单机版数据库由于硬件资源受限,处理性能不能很好的满足大数据需求。分布式数据库往往采用分阶段的方式实现行数限定功能,但局部计算阶段和最终计算阶段均采用堆实现,且为了防止出现内存溢出,局部计算阶段在限定数量较大时会多次输出结果到最终计算阶段。这样导致最终计算阶段数据处理量大,造成资源浪费。

技术实现思路

[0003]有鉴于此,本说明书实施例提供了一种数据处理方法。本说明书一个或者多个实施例同时涉及一种数据处理系统,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
[0004]根据本说明书实施例的第一方面,提供了一种数据处理方法,应用于数据处理系统,所述系统包括调度节点、第二计算节点和至少两个第一计算节点,包括:所述调度节点,响应于数据查询命令确定第一计算任务和第二计算任务,将所述第一计算任务分配到所述至少两个第一计算节点,将所述第二计算任务分配到所述第二计算节点,其中,所述第一计算任务以及所述第二计算任务中携带有目标数据量;所述第一计算节点,根据第一计算任务进行数据查询得到与所述目标数据量相同的初始数据,并对所述初始数据进行排序,且将排序后的初始数据发送至第二计算节点;所述第二计算节点,根据所述第二计算任务,从所述排序后的初始数据中顺序获取目标数据量的目标数据
[0005]根据本说明书实施例的第二方面,提供了一种数据处理系统,包括调度节点、第二计算节点和至少两个第一计算节点;所述调度节点,被配置为响应于数据查询命令确定第一计算任务和第二计算任务,将所述第一计算任务分配到所述至少两个第一计算节点,将所述第二计算任务分配到所述第二计算节点,其中,所述第一计算任务以及所述第二计算任务中携带有目标数据量;所述第一计算节点,被配置为根据第一计算任务进行数据查询得到与所述目标数据量相同的初始数据,并对所述初始数据进行排序,且将排序后的初始数据发送至第二计算节点;所述第二计算节点,被配置为根据所述第二计算任务,从所述排序后的初始数据中顺序获取目标数据量的目标数据。
[0006]根据本说明书实施例的第三方面,提供了一种计算设备,包括:存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行
指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
[0007]根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述数据处理方法的步骤。
[0008]根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据处理方法的步骤。
[0009]本说明书实施例提供一种数据处理方法以及系统,其中所述数据处理方法应用于数据处理系统,所述系统包括调度节点、第二计算节点和至少两个第一计算节点,包括:所述调度节点,响应于数据查询命令确定第一计算任务和第二计算任务,将所述第一计算任务分配到所述至少两个第一计算节点,将所述第二计算任务分配到所述第二计算节点,其中,所述第一计算任务以及所述第二计算任务中携带有目标数据量;所述第一计算节点,根据第一计算任务进行数据查询得到与所述目标数据量相同的初始数据,并对所述初始数据进行排序,且将排序后的初始数据发送至第二计算节点,所述第二计算节点,根据所述第二计算任务,从所述排序后的初始数据中顺序获取目标数据量的目标数据。通过第一计算节点对初始数据进行排序,将排序后的初始数据发送至第二计算节点,第二计算节点从接收到初始数据中顺序取得目标数据量的目标数据,由于第二计算节点接收到的初始数据为有序的,所以在获取目标数据时可以顺序获取目标数据量的目标数据即可,不用处理所有初始数据,减少了数据处理量和使用的处理资源,提高了数据处理效率。
附图说明
[0010]图1是本说明书一个实施例提供的一种数据处理方法的示意图;图2是本说明书一个实施例提供的一种数据处理方法的流程图;图3是本说明书一个实施例提供的一种数据处理方法的处理过程流程图;图4是本说明书一个实施例提供的一种数据处理系统的结构示意图;图5是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
[0011]在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
[0012]在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0013]应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0014]首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
[0015]数据库:是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
[0016]堆(Heap):是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵完全二叉树的数组对象。
[0017]链表:是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
[0018]抽象语法树(Abstract Syntax Tree,AST):或简称语法树(Syntax tree),是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。
[0019]结构化查询语言(Structured Query Language):简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
[0020]Antlr:是指可以根据输入自动生成语法树并可视化的显示出来的开源语法分析器。
[0021]有序行数限定功能是数据库的基本功能,是一组高频使用语法。单机数据库系统资源受限扩展性较差,不本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,应用于数据处理系统,所述系统包括调度节点、第二计算节点和至少两个第一计算节点,包括:所述调度节点,响应于数据查询命令确定第一计算任务和第二计算任务,将所述第一计算任务分配到所述至少两个第一计算节点,将所述第二计算任务分配到所述第二计算节点,其中,所述第一计算任务以及所述第二计算任务中携带有目标数据量;所述第一计算节点,根据所述第一计算任务进行数据查询得到与所述目标数据量相同的初始数据,并对所述初始数据进行排序,且将排序后的初始数据发送至第二计算节点;所述第二计算节点,根据所述第二计算任务,从所述排序后的初始数据中顺序获取目标数据量的目标数据。2.根据权利要求1所述的方法,所述响应于数据查询命令确定第一计算任务和第二计算任务,包括:所述调度节点,响应于数据查询指令,对所述数据查询指令进行语义解析得到初始抽象语法树,其中,所述数据查询指令中携带有目标数据量;将所述初始抽象语法树进行组装得到目标抽象语法树;根据所述目标语法树确定第一计算任务和第二计算任务。3.根据权利要求1所述的方法,所述将所述第一计算任务分配到所述至少两个第一计算节点,包括:所述调度节点,根据所述第一计算任务确定数据节点;根据所述数据节点中原始数据的数量,确定所述数据节点对应的第一计算节点的数量,其中,所述原始数据包括所述初始数据;根据所述第一计算节点的数量和亲和性规则确定原始数据对应的第一计算节点。4.根据权利要求3所述的方法,所述根据所述数据节点中原始数据的数量,确定所述数据节点对应的第一计算节点的数量,包括:所述调度节点,在所述数据节点中原始数据的数量超过数量阈值的情况下,确定所述数据节点对应至少两个第一计算节点,其中,所述至少两个第一计算节点包括所述数据节点;在所述数据节点中原始数据的数量未超过数量阈值的情况下,确定所述数据节点为第一计算节点。5.根据权利要求4所述的方法,所述在所述数据节点中原始数据的数量超过数量阈值的情况下,确定所述数据节点对应至少两个第一计算节点,包括:所述调度节点,确定所述数据节点中原始数据的数量和所述数量阈值的比值,在所述比值为整数的情况下,确定所述比值数量为所述数据节点对应的第一计算节点的数量;在所述比值不为整数的情况下,确定大于所述比值的整数为所述数据节点对应的第一计算节点的数量。6.根据权利要求1所述的方法,所述根据所述第一计算任务进行数据查询得到与所述目标数据量相同的初始数据,并对所述初始数据进行排序,包括:所述第一计算节点,根据所述第一计算任务确定数据节点,并获取所述数据节点中的原始数据;确定所述原始数据的数据量与预设堆结构的元素数量;
在所述原始数据的数据量小于等于所述元素数量的情况下,将所述原始数据放入所述堆结构中,将所述堆结构中的数据作为所述初始数据,其中,所述元素数量等于所述目标数据量;以及在所述原始数据的数据量大于所述元素数量的情况下,从所述原始数据中取出所述元素数量的数据放入所述堆结构中,将所述原始数据中的其他数据插入所述堆结构,将所述堆结构中的数据作为所述初始数据,其中,所述其他数据为未放入所述堆结构的原始数据。7.根据权利要求1所述的方法,所述根据第一计算任务进行数据查询得到与所述目标数据量相同的初始数据,并对所述初始数据进行排序,包括:所述第一计算节点,根据第一计算任务确定数据节点,并获取所述数据节点中的原始数据,其中,所述原始数据携带分组标识;根据所述分组标识对所述初始数据进行分组得到原始分组数据;确定每个原始分组数据中的原始数据的数据量与对应的预设堆结构的元素数量;在所述原始数据的数据量小于等于所述元素数量的情况下,将所述原始数据放入所述堆结构中,将所述堆结构中的数据作为所述初始数据,其中,所述元素数量等于所述目标数据量;以及...

【专利技术属性】
技术研发人员:王彬马云雷顾汉杰范阿冬屈岳王桢
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1