CN110046173B - 调度信息的生成方法及装置、电子设备 - Google Patents

调度信息的生成方法及装置、电子设备 Download PDF

Info

Publication number
CN110046173B
CN110046173B CN201910016710.6A CN201910016710A CN110046173B CN 110046173 B CN110046173 B CN 110046173B CN 201910016710 A CN201910016710 A CN 201910016710A CN 110046173 B CN110046173 B CN 110046173B
Authority
CN
China
Prior art keywords
sub
plan
scheduling information
parallelism
plan tree
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910016710.6A
Other languages
English (en)
Other versions
CN110046173A (zh
Inventor
潘毅
张博
刘彬
余璜
陈萌萌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Oceanbase Technology Co Ltd
Original Assignee
Beijing Oceanbase Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Oceanbase Technology Co Ltd filed Critical Beijing Oceanbase Technology Co Ltd
Priority to CN201910016710.6A priority Critical patent/CN110046173B/zh
Publication of CN110046173A publication Critical patent/CN110046173A/zh
Application granted granted Critical
Publication of CN110046173B publication Critical patent/CN110046173B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本说明书一个或多个实施例提供一种调度信息的生成方法及装置、电子设备,该方法可以包括:根据节点的性能参数、分配至所述节点的子计划树的任务量和对应于所述子计划树的预设实施时长,确定满足实施所述子计划树的并行度;根据所述并行度生成针对所述子计划树的调度信息。

Description

调度信息的生成方法及装置、电子设备
技术领域
本说明书一个或多个实施例涉及数据库技术领域,尤其涉及一种调度信息的生成方法及装置、电子设备。
背景技术
基于Share Nothing架构的MPP(Massively Parallel Processing,大规模并行处理)关系数据库系统,由于其大规模可扩展性的特点,在进行OLAP类型查询时,往往涉及到数据量较大和分布在多台节点上的数据的查询操作;例如,连接(join)、聚合(aggregation)以及各种分析查询(analytic function)。针对这类查询操作,通常需要通过并行查询技术来提高查询的效率。
在相关技术中,针对SQL(Structured Query Language,结构化查询语言)查询会生成一个查询计划树,该计划树中的每个节点均是一个SQL的算子。在执行计划树时,通过自顶向下的驱动,将数据自底向上的传输和进行相应的处理。而当查询需要并行处理时,通常的做法是将查询计划树切分为多个子计划树,由不同的工作线程或进程同时执行某一个或多个子计划树,进而最终得出查询结果。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种调度信息的生成方法及装置、电子设备。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种调度信息的生成方法,包括:
根据节点的性能参数、分配至所述节点的子计划树的任务量和对应于所述子计划树的预设实施时长,确定满足实施所述子计划树的并行度;
根据所述并行度生成针对所述子计划树的调度信息。
根据本说明书一个或多个实施例的第二方面,提出了一种子计划树的实施方法,包括:
接收针对分配至自身的子计划树的调度信息,所述调度信息根据满足实施所述子计划树的并行度生成,所述并行度根据自身的性能参数、所述子计划树的任务量和对应于所述子计划树的预设实施时长确定;
按照所述调度信息记录的并行度调用自身的实际资源实施所述子计划树。
根据本说明书一个或多个实施例的第三方面,提出了一种调度信息的生成装置,包括:
确定单元,根据节点的性能参数、分配至所述节点的子计划树的任务量和对应于所述子计划树的预设实施时长,确定满足实施所述子计划树的并行度;
生成单元,根据所述并行度生成针对所述子计划树的调度信息。
根据本说明书一个或多个实施例的第四方面,提出了一种子计划树的实施装置,包括:
接收单元,接收针对分配至自身的子计划树的调度信息,所述调度信息根据满足实施所述子计划树的并行度生成,所述并行度根据自身的性能参数、所述子计划树的任务量和对应于所述子计划树的预设实施时长确定;
实施单元,按照所述调度信息记录的并行度调用自身的实际资源实施所述子计划树。
根据本说明书一个或多个实施例的第五方面,提出了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如上述任一实施例中所述的调度信息的生成方法。
附图说明
图1是一示例性实施例提供的一种查询计划的调度系统的架构示意图。
图2是一示例性实施例提供的一种调度信息的生成方法的流程图。
图3是一示例性实施例提供的一种子计划树的实施方法的流程图。
图4是一示例性实施例提供的另一种调度信息的生成方法的流程图。
图5是一示例性实施例提供的另一种子计划树的实施方法的流程图。
图6是一示例性实施例提供的一种设备的结构示意图。
图7是一示例性实施例提供的一种调度信息的生成装置的框图。
图8是一示例性实施例提供的另一种设备的结构示意图。
图9是一示例性实施例提供的一种子计划树的实施装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
图1是一示例性实施例提供的一种查询计划的调度系统的架构示意图。如图1所示,该系统可以包括主控节点11、网络12、若干其他节点,比如节点13-15等。
主控节点11可以为包含一独立主机的物理服务器,或者该主控节点11可以为主机集群承载的虚拟服务器。在运行过程中,主控节点11基于接收到的查询指令生成相应的查询计划树,并将查询计划树切分为多个字计划树,从而进一步生成针对各个子计划树的调度信息,以供其他节点根据调度信息执行相应的子计划树。而节点13-15等在接收到主控节点11发送的调度信息后,按照调度信息记录的并行度调用自身的实际资源并行实施相应的子计划树,从而形成配合执行的流水线模式,实现高效查询。
而对于主控节点11和若干其他节点13-15之间进行交互的网络12,可以包括多种类型的有线或无线网络。例如,该网络12可以包括因特网。当然,本说明书一个或多个实施例并不对此进行限制。
下面分别针对主控节点和其他节点的不同角色,对本说明书的查询计划的调度方案进行说明。
请参见图2,图2是一示例性实施例提供的一种调度信息的生成方法的流程图。如图2所示,该方法应用于主控节点,可以包括以下步骤:
步骤202,根据节点的性能参数、分配至所述节点的子计划树的任务量和对应于所述子计划树的预设实施时长,确定满足实施所述子计划树的并行度。
在一实施例中,主控节点在接收到查询指令后,生成相应的查询计划树。而为了提高查询效率,可将查询计划树切分为多个子计划树以由节点调度不同的工作线程或进程同时执行其中某一个或多个子计划树。因此,在将查询计划树切分为多个子计划树后,可确定出适合于各个子计划树的并行度(即满足实施各个子计划树的并行度)。进一步的,通过结合节点的性能参数、分配至该节点的子计划树的任务量(可理解为实施该子计划树时查询的数据处理量)和对应于该子计划树的预设实施时长来确定对应于该节点的并行度,可确定出适用于该子计划树的最优并行度。其中,最优并行度可理解为:在采用最优并行度时,不会因并行度过高而浪费节点的资源(即工作进程或工作线程),也不会因并行度过低而导致实施子计划树达不到理想的实施效果(例如,实施子计划树的时长超过预期时长)。而反观在并行度没有和子计划树查询的数据处理量相关联的情况下,并行度可能会因过高而浪费节点的资源或者因过低而达不到理想的实施效果。可见,通过上述按照每个子计划树的实际最佳需要的工作线程或进程的方式来动态分配不同的并行度,可以在节点的资源允许的情况下,充分利用资源采用最高效的实施计划和策略,避免因资源限制而产生额外添加缓存点的问题,从而有效提高实施子计划树的效率。
在一实施例中,节点的性能参数可包括以下至少之一:CPU参数、IO开销参数。当然,本说明书一个或多个实施例并不对此进行限制。
步骤204,根据所述并行度生成针对所述子计划树的调度信息。
在一实施例中,基于上述确定子计划树的最优并行度的机制,当节点的实际资源满足确定出的并行度时,可基于该并行度生成针对该子计划树的调度信息。换言之,节点实际可用的资源可满足上述确定出的对应于子计划树的最优并行度(即为节点的实际资源允许的情况),那么直接根据该最优并行度来生成针对该子计划树的调度信息,使得节点可充分利用自身的资源高效地实施该子计划树,从而提高实施子计划树的效率。
在一实施例中,基于上述确定子计划树的最优并行度的机制,当向节点调度多个子计划树时(即该节点需并行执行多个子计划树),若该节点的实际资源不满足同时实施该多个子计划树的并行度,则针对该多个子计划树分配该节点的实际资源,并按照该实际资源的分配方式添加缓存点以存储实施该多个子计划树中部分子计划树后生成的中间结果,以及基于该分配方式和添加的缓存点生成调度信息。当向节点调度多个子计划树且该节点的实际资源不满足同时实施该多个子计划树的并行度时(即节点实际可用的资源并不能够满足同时实施所有需要实施的子计划树),只能够先实施该多个子计划树中的部分子计划树,并添加缓存点以存储实施该部分子计划树生成的中间结果,以在后续存在被释放的资源时利用该释放的资源来读取该中间结果以继续实施其他的子计划树。
进一步的,在上述节点的实际资源并不能够满足该节点的最优并行度的情况下,可向该多个子计划树分配该节点的实际资源,以使添加的缓存点最少。其中,“最少”可理解为:使得所添加缓存点的数量在所有针对该节点的实际资源的可用资源分配方案中最少。通过尽可能少地添加缓存点,可提高节点在需要实施多个子计划树时的实施效率。
在一实施例中,在生成调度信息后,可向所述节点发送所述调度信息,以使所述节点按照所述调度信息记录的并行度调用自身的实际资源实施所述子计划树。
相应的,请参见图3,图3是一示例性实施例提供的一种子计划树的实施方法的流程图。如图3所示,该方法应用于其他节点(用于接收主控节点下发的调度信息以实施相应的子计划树),可以包括以下步骤:
步骤302,接收针对分配至自身的子计划树的调度信息,所述调度信息根据满足实施所述子计划树的并行度生成,所述并行度根据自身的性能参数、所述子计划树的任务量和对应于所述子计划树的预设实施时长确定。
在一实施例中,主控节点生成调度信息的具体过程可参考上述图2所示的实施例,在此不再赘述。
步骤304,按照所述调度信息记录的并行度调用自身的实际资源实施所述子计划树。
在一实施例中,其他节点(区别于主控节点)在接收到主控节点下发的调度信息后,主动按照调度信息记录的并行度来选取并调用自身的实际资源,以实施相应的子计划树,从而实现了“两级调度(主控节点设定各个子计划树的并行度,以及其他节点选取并调用自身的实际资源)”。
为了便于理解,下面结合举例和附图对本说明书的查询计划的调度方案进行详细说明。
请参见图4,图4是一示例性实施例提供的另一种调度信息的生成方法的流程图。如图4所示,该方法应用于主控节点,可以包括以下步骤:
步骤402,接收查询指令。
在一实施例中,当用户存在针对某一分区表中数据(分布于各个节点)的查询需求时,可使用标准的SQL语言发起一个牵涉分区表的查询指令。主控节点在接收到查询指令后,生成相应的查询计划树。而为了提高查询效率,可将查询计划树切分为多个子计划树以由节点调度不同的工作线程或进程同时执行其中某一个或多个子计划树。
步骤404,若用户指定了并行度,则转入步骤412;否则,转入步骤406。
步骤406,获取节点的性能参数。
步骤408,确定分配至该节点的子计划树的任务量。
步骤410,确定该子计划树的预设实施时长。
在一实施例中,节点的性能参数可包括CPU参数、IO开销参数等;子计划树的任务量可理解为实施该子计划树时查询的数据处理量;预设实施时长可以设定为实施子计划树的预期时长。
步骤412,为子计划树设置最优并行度。
在一实施例中,承接于步骤404,当用户指定了子计划树的并行度时,直接按照该指定的并行度为该子计划树设置最优并行度。承接于步骤410,结合节点的性能参数、分配至该节点的子计划树的任务量和对应于该子计划树的预设实施时长来确定对应于该节点的并行度,并将确定出的并行度作为最优并行度。其中,最优并行度可理解为:在采用最优并行度时,不会因并行度过高而浪费节点的资源(即工作进程或工作线程),也不会因并行度过低而导致实施子计划树达不到理想的实施效果(例如,实施子计划树的时长超过预期时长)。通过上述按照每个子计划树的实际最佳需要的工作线程或进程的方式来动态分配不同的并行度,可以在节点的资源允许的情况下,充分利用资源采用最高效的实施计划和策略,避免因资源限制而产生额外添加缓存点的问题,从而有效提高实施子计划树的效率。
举例而言,以IO开销为例,假定子计划树的数据处理量为10G,单线程的IO处理能力是200MB,预期完成时长为10s,那么可知需要5个线程可以保证在预期完成时长内实施完成该子计划树。以CPU参数为例,子计划树为执行100万行的连接(join),产生大概50万行结果,对该结果做聚集求值;假定1行连接需要消耗x cpu cycle,一行聚集求和需要y cpucycle,那么总的cpu开销是1000000x+500000y;假定一个cpu 1秒有z个cycle,预期完成时长为10s,那么需要(1000000x+500000y)/10z个线程。而在同时考虑CPU参数和IO开销时,可按照预定义的换算方式,将CPU和IO的开销量换算成一个公共的开销时间,进行综合运算计算每个子计划的最优并行度。
步骤414,若用户指定了资源分配,则转入步骤418;否则,转入步骤416。
步骤416,若节点的实际资源满足子计划树的最优并行度,则转入步骤422;否则,转入步骤418。
步骤418,向子计划树分配节点的实际资源。
在一实施例中,承接于步骤414,当用户指定了对实际资源的分配方式时,直接按照该指定的分配方式为该子计划树分配资源即可。承接于步骤416,当用户并未指定对实际资源的分配方式,且实际资源不满足子计划树(包含多个子计划树)的最优并行度时,可针对该多个子计划树分配该节点的实际资源,并按照该实际资源的分配方式添加缓存点以存储实施该多个子计划树中部分子计划树后生成的中间结果。当向节点调度多个子计划树且该节点的实际资源不满足同时实施该多个子计划树的并行度时(即节点实际可用的资源并不能够满足同时实施所有需要实施的子计划树),只能够先实施该多个子计划树中的部分子计划树,并添加缓存点以存储实施该部分子计划树生成的中间结果,以在后续存在被释放的资源时利用该释放的资源来读取该中间结果以继续实施其他的子计划树。其中,可在各个子计划树中标记相应添加的缓存点。
步骤420,添加缓存点。
在一实施例中,在向该多个子计划树分配该节点的实际资源并添加缓存点时,可尽可能得使得添加的缓存点最少。其中,“最少”可理解为:使得所添加缓存点的数量在所有针对该节点的实际资源的可用资源分配方案中最少。通过尽可能少地添加缓存点,可提高节点在需要实施多个子计划树时的实施效率。
举例而言,假定查询计划树为:
Figure BDA0001939326120000081
Figure BDA0001939326120000091
其中,每个exchange in/out节点为子计划边界(out属于后一子计划树的上边界,in属于上一子计划树的下边界)。可见,该查询计划树包含三个子计划树。那么在调度时,假定节点有足够多的线程资源,则可以使用三组线程并行执行上述三个子计划,那么数据可直接从下往上传输,直到传输至最顶部输出最终结果。假定节点的实际资源仅包含两组线程,则需要在nested loop join节点所在的子计划树中引入用于存储中间结果的缓存点。具体的,该缓存点可添加于nested loop join的左支,从而确保在位于底部的子计划树实施完成而可以释放出占用的线程之前,nested loop join上面的子计划树不会收到数据。
步骤422,生成调度信息。
在一实施例中,承接于步骤416,当用户未指定对实际资源的分配方式,且实际资源满足子计划树(包含多个子计划树)的最优并行度时,直接按照各个子计划树的最优并行度分配节点的实际资源,进而生成相应的调度信息。承接于步骤420,当用户并未指定对实际资源的分配方式,且实际资源不满足子计划树(包含多个子计划树)的最优并行度时,可按照该实际资源的分配方式添加缓存点以存储实施该多个子计划树中部分子计划树后生成的中间结果,以及基于该分配方式和添加的缓存点生成调度信息。
在一实施例中,在生成调度信息后,可向节点发送该调度信息,以使该节点按照该调度信息记录的并行度调用自身的实际资源实施子计划树。
相应的,请参见图5,图5是一示例性实施例提供的另一种子计划树的实施方法的流程图。如图5所示,该方法应用于其他节点(用于接收主控节点下发的调度信息以实施相应的子计划树),可以包括以下步骤:
步骤502,接收主控节点下发的调度信息。
步骤504,按照调度信息记录的并行度来向调度信息指示的子计划树分配自身的实际资源。
步骤506,实施子计划树。
在一实施例中,其他节点(区别于主控节点)在接收到主控节点下发的调度信息后,主动按照调度信息记录的并行度来选取并调用自身的实际资源来实施调度信息指示的子计划,从而实现了“两级调度(主控节点设定各个子计划树的并行度,以及其他节点选取并调用自身的实际资源)”。
图6是一示例性实施例提供的一种设备的示意结构图。请参考图6,在硬件层面,该设备包括处理器602、内部总线604、网络接口606、内存608以及非易失性存储器610,当然还可能包括其他业务所需要的硬件。处理器602从非易失性存储器610中读取对应的计算机程序到内存608中然后运行,在逻辑层面上形成调度信息的生成装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图7,在软件实施方式中,该调度信息的生成装置可以包括:
确定单元71,根据节点的性能参数、分配至所述节点的子计划树的任务量和对应于所述子计划树的预设实施时长,确定满足实施所述子计划树的并行度;
生成单元72,根据所述并行度生成针对所述子计划树的调度信息。
可选的,所述生成单元72具体用于:
当所述节点的实际资源满足所述并行度时,基于所述并行度生成针对所述子计划树的调度信息。
可选的,所述生成单元72具体用于:
当向所述节点调度多个子计划树时,若所述节点的实际资源不满足同时实施所述多个子计划树的并行度,则针对所述多个子计划树分配所述实际资源;
按照所述实际资源的分配方式添加缓存点以存储实施所述多个子计划树中部分子计划树后生成的中间结果;
基于所述分配方式和添加的缓存点生成所述调度信息。
可选的,所述生成单元72进一步用于:
向所述多个子计划树分配所述实际资源,以使添加的缓存点最少。
可选的,还包括:
发送单元73,向所述节点发送所述调度信息,以使所述节点按照所述调度信息记录的并行度调用自身的实际资源实施所述子计划树。
可选的,所述性能参数包括以下至少之一:CPU参数、IO开销参数。
图8是一示例性实施例提供的一种设备的示意结构图。请参考图8,在硬件层面,该设备包括处理器802、内部总线804、网络接口808、内存808以及非易失性存储器810,当然还可能包括其他业务所需要的硬件。处理器802从非易失性存储器810中读取对应的计算机程序到内存808中然后运行,在逻辑层面上形成子计划树的实施装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图9,在软件实施方式中,该子计划树的实施装置可以包括:
接收单元91,接收针对分配至自身的子计划树的调度信息,所述调度信息根据满足实施所述子计划树的并行度生成,所述并行度根据自身的性能参数、所述子计划树的任务量和对应于所述子计划树的预设实施时长确定;
实施单元92,按照所述调度信息记录的并行度调用自身的实际资源实施所述子计划树。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

Claims (14)

1.一种调度信息的生成方法,包括:
根据节点的性能参数、分配至所述节点的子计划树的任务量和对应于所述子计划树的预设实施时长,确定满足实施所述子计划树的并行度;
根据所述并行度生成针对所述子计划树的调度信息,包括:当向所述节点调度多个子计划树时,若所述节点的实际资源不满足同时实施所述多个子计划树的并行度,则针对所述多个子计划树分配所述实际资源;按照所述实际资源的分配方式添加缓存点以存储实施所述多个子计划树中部分子计划树后生成的中间结果;基于所述分配方式和添加的缓存点生成所述调度信息。
2.根据权利要求1所述的方法,所述根据所述并行度生成针对所述子计划树的调度信息,包括:
当所述节点的实际资源满足所述并行度时,基于所述并行度生成针对所述子计划树的调度信息。
3.根据权利要求1所述的方法,所述针对所述多个子计划树分配所述实际资源,包括:
向所述多个子计划树分配所述实际资源,以使添加的缓存点最少。
4.根据权利要求1所述的方法,还包括:
向所述节点发送所述调度信息,以使所述节点按照所述调度信息记录的并行度调用自身的实际资源实施所述子计划树。
5.根据权利要求1所述的方法,所述性能参数包括以下至少之一:CPU参数、IO开销参数。
6.一种子计划树的实施方法,包括:
接收针对分配至自身的子计划树的调度信息,所述调度信息根据满足实施所述子计划树的并行度生成,所述并行度根据自身的性能参数、所述子计划树的任务量和对应于所述子计划树的预设实施时长确定;所述调度信息通过以下方式得到:当向节点调度多个子计划树时,若所述节点的实际资源不满足同时实施所述多个子计划树的并行度,则针对所述多个子计划树分配所述实际资源;按照所述实际资源的分配方式添加缓存点以存储实施所述多个子计划树中部分子计划树后生成的中间结果;基于所述分配方式和添加的缓存点生成所述调度信息;
按照所述调度信息记录的并行度调用自身的实际资源实施所述子计划树。
7.一种调度信息的生成装置,包括:
确定单元,根据节点的性能参数、分配至所述节点的子计划树的任务量和对应于所述子计划树的预设实施时长,确定满足实施所述子计划树的并行度;
生成单元,根据所述并行度生成针对所述子计划树的调度信息,包括:当向所述节点调度多个子计划树时,若所述节点的实际资源不满足同时实施所述多个子计划树的并行度,则针对所述多个子计划树分配所述实际资源;按照所述实际资源的分配方式添加缓存点以存储实施所述多个子计划树中部分子计划树后生成的中间结果;基于所述分配方式和添加的缓存点生成所述调度信息。
8.根据权利要求7所述的装置,所述生成单元具体用于:
当所述节点的实际资源满足所述并行度时,基于所述并行度生成针对所述子计划树的调度信息。
9.根据权利要求7所述的装置,所述生成单元进一步用于:
向所述多个子计划树分配所述实际资源,以使添加的缓存点最少。
10.根据权利要求7所述的装置,还包括:
发送单元,向所述节点发送所述调度信息,以使所述节点按照所述调度信息记录的并行度调用自身的实际资源实施所述子计划树。
11.根据权利要求7所述的装置,所述性能参数包括以下至少之一:CPU参数、IO开销参数。
12.一种子计划树的实施装置,包括:
接收单元,接收针对分配至自身的子计划树的调度信息,所述调度信息根据满足实施所述子计划树的并行度生成,所述并行度根据自身的性能参数、所述子计划树的任务量和对应于所述子计划树的预设实施时长确定;所述调度信息通过以下方式得到:当向节点调度多个子计划树时,若所述节点的实际资源不满足同时实施所述多个子计划树的并行度,则针对所述多个子计划树分配所述实际资源;按照所述实际资源的分配方式添加缓存点以存储实施所述多个子计划树中部分子计划树后生成的中间结果;基于所述分配方式和添加的缓存点生成所述调度信息;
实施单元,按照所述调度信息记录的并行度调用自身的实际资源实施所述子计划树。
13.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-5中任一项所述的方法。
14.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求6所述的方法。
CN201910016710.6A 2019-01-08 2019-01-08 调度信息的生成方法及装置、电子设备 Active CN110046173B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910016710.6A CN110046173B (zh) 2019-01-08 2019-01-08 调度信息的生成方法及装置、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910016710.6A CN110046173B (zh) 2019-01-08 2019-01-08 调度信息的生成方法及装置、电子设备

Publications (2)

Publication Number Publication Date
CN110046173A CN110046173A (zh) 2019-07-23
CN110046173B true CN110046173B (zh) 2022-02-22

Family

ID=67274091

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910016710.6A Active CN110046173B (zh) 2019-01-08 2019-01-08 调度信息的生成方法及装置、电子设备

Country Status (1)

Country Link
CN (1) CN110046173B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110377340B (zh) * 2019-07-24 2021-06-01 中科寒武纪科技股份有限公司 运算方法、装置及相关产品

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101819540B (zh) * 2009-02-27 2013-03-20 国际商业机器公司 在集群中调度任务的方法和系统
US9152466B2 (en) * 2013-03-13 2015-10-06 Barracuda Networks, Inc. Organizing file events by their hierarchical paths for multi-threaded synch and parallel access system, apparatus, and method of operation
US9495204B2 (en) * 2014-01-06 2016-11-15 International Business Machines Corporation Constructing a logical tree topology in a parallel computer
CN103929427A (zh) * 2014-04-23 2014-07-16 无锡天脉聚源传媒科技有限公司 一种动态多线程下载装置及其下载方法
CN107301205A (zh) * 2017-06-01 2017-10-27 华南理工大学 一种大数据分布式实时查询方法及系统
CN108255595A (zh) * 2018-01-16 2018-07-06 北京中关村科金技术有限公司 一种数据任务的调度方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN110046173A (zh) 2019-07-23

Similar Documents

Publication Publication Date Title
KR102011671B1 (ko) 이종 계산 장치 기반의 질의 처리 방법 및 장치
CN110168516B (zh) 用于大规模并行处理的动态计算节点分组方法及系统
US9152669B2 (en) System and method for distributed SQL join processing in shared-nothing relational database clusters using stationary tables
US7779008B2 (en) Parallel partition-wise aggregation
US7085769B1 (en) Method and apparatus for performing hash join
US6826753B1 (en) Managing parallel execution of work granules according to their affinity
US8381230B2 (en) Message passing with queues and channels
US9576026B2 (en) System and method for distributed SQL join processing in shared-nothing relational database clusters using self directed data streams
US10922316B2 (en) Using computing resources to perform database queries according to a dynamically determined query size
US20070143759A1 (en) Scheduling and partitioning tasks via architecture-aware feedback information
CN113821311A (zh) 任务执行方法及存储设备
US9110947B1 (en) Column-oriented task execution in a row-partitioned database system
Senthilkumar et al. A survey on job scheduling in big data
US6549931B1 (en) Distributing workload between resources used to access data
US20160034528A1 (en) Co-processor-based array-oriented database processing
CN110046173B (zh) 调度信息的生成方法及装置、电子设备
Sontakke et al. Optimization of hadoop mapreduce model in cloud computing environment
CN109783141A (zh) 异构调度方法
CN108334532A (zh) 一种基于Spark的Eclat并行化方法、系统及装置
JP7440007B2 (ja) データベースをクエリするためのシステム、方法および装置
CN110415162B (zh) 大数据中面向异构融合处理器的自适应图划分方法
CN109582696B (zh) 扫描任务的生成方法及装置、电子设备
CN117234745B (zh) 一种面向异构计算平台的数据库负载均衡方法及装置
CN109388638B (zh) 用于分布式大规模并行处理数据库的方法及系统
CN114217733B (zh) 一种面向io转发系统的io处理框架及io请求处理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201014

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201014

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210209

Address after: 801-10, Section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province 310000

Applicant after: Ant financial (Hangzhou) Network Technology Co.,Ltd.

Address before: Ky1-9008 Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands, ky1-9008

Applicant before: Innovative advanced technology Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210908

Address after: 100020 unit 02, 901, floor 9, unit 1, building 1, No.1, East Third Ring Middle Road, Chaoyang District, Beijing

Applicant after: Beijing Aoxing Beisi Technology Co.,Ltd.

Address before: 801-10, Section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province 310000

Applicant before: Ant financial (Hangzhou) Network Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant