基于多个数据库加速器的任务执行方法及装置制造方法及图纸

技术编号:27103522 阅读:46 留言:0更新日期:2021-01-25 18:50
本发明专利技术提供了一种基于多个数据库加速器的任务执行方法及装置,其中,该方法包括:获取待执行的第一任务的相关信息,获取之前尚未执行完的各任务的相关信息;根据第一任务的表标识和之前尚未执行完的任务的操作类型和表标识,判断之前尚未执行完的各任务中是否存在与第一任务相关的第二任务;若存在,则延迟设定阻塞时长后将第一任务发送至存在空闲的流水线的数据库加速器,以在第二任务执行完成的情况下执行第一任务;若不存,则即时将第一任务发送至存在空闲的流水线的数据库加速器,以即时执行第一任务;接收第一任务的执行结果。通过上述方案能实现多个加速平台并行执行任务,并能提高加速平台的利用率。并能提高加速平台的利用率。并能提高加速平台的利用率。

【技术实现步骤摘要】
基于多个数据库加速器的任务执行方法及装置


[0001]本专利技术涉及计算机系统
,尤其涉及一种基于多个数据库加速器的任务执行方法及装置。

技术介绍

[0002]在高速变化的21世纪,数据越来越多,查询速度的要求也越来越高,数据库加速一直是一个很重要的研究方向。从优化查询语句,到提高闪存速度,到增加CPU数量,再到使用GPU、FPGA加速平台加速,从软件层面到硬件层面,目前,比较重要的方向是增加处理器的处理能力和数量,很多公司都推出了自己的数据库加速解决方案以及相应的加速平台。现在加速平台的价格都很贵,单加速平台的性能尚可,但是,为了更好的加速性能,利用多个加速平台也是必要的。

技术实现思路

[0003]本专利技术提供了一种基于多个数据库加速器的任务执行方法及装置,以实现利用多个加速平台执行任务,并提高加速平台的利用率。
[0004]为了达到上述目的,本专利技术采用以下方案实现:
[0005]根据本专利技术实施例的一个方面,提供了一种基于多个数据库加速器的任务执行方法,包括:
[0006]获取待执行的第一任务的相关信息,以及获取执行顺序位于所述第一任务之前且尚未执行完的各任务的相关信息;
[0007]根据所述第一任务的相关信息中的表标识和执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的操作类型和表标识,判断执行顺序位于所述第一任务之前且尚未执行完的各任务中是否存在与所述第一任务相关的第二任务;
[0008]在存在与所述第一任务相关的第二任务的情况下,延迟设定阻塞时长后将所述第一任务发送至存在空闲的第一流水线的第一数据库加速器,以在所述第二任务执行完成的情况下执行所述第一任务;
[0009]在不存在与所述第一任务相关的第二任务的情况下,即时将所述第一任务发送至存在空闲的第一流水线的第一数据库加速器,以即时执行所述第一任务;
[0010]接收所述第一数据库加速器返回的所述第一任务的执行结果。
[0011]在一些实施例中,根据所述第一任务的相关信息中的表标识和执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的操作类型和表标识,判断执行顺序位于所述第一任务之前且尚未执行完的各任务中是否存在与所述第一任务相关的第二任务,包括:根据执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的操作类型是否属于更新类型,且执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的表标识与所述第一任务的相关信息中的表标识是否一致,判断执行顺序位于所述第一任务之前且尚未执行完的各任务中是否存在与所述第一任务相关的第二任务。
[0012]在一些实施例中,获取待执行的第一任务的相关信息,以及获取执行顺序位于所述第一任务之前且尚未执行完的各任务的相关信息,包括:从任务执行队列中读取待执行的第一任务的相关信息;以及从所述任务执行队列中查找执行顺序位于所述第一任务之前的各任务,得到执行顺序位于所述第一任务之前且尚未执行完的各任务,并获取相应任务的相关信息;其中,所述任务执行队列用于存放待执行和正在执行的各任务的相关信息。
[0013]在一些实施例中,从所述任务执行队列中查找执行顺序位于所述第一任务之前的各任务,得到执行顺序位于所述第一任务之前且尚未执行完的各任务,并获取相应任务的相关信息,包括:从所述任务执行队列中查找执行顺序位于所述第一任务之前的各任务,得到执行顺序位于所述第一任务之前且尚未执行完的各任务,并从所述任务执行队列中获取相应任务的包括任务标识的相关信息。根据所述第一任务的相关信息中的表标识和执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的操作类型和表标识,判断执行顺序位于所述第一任务之前且尚未执行完的各任务中是否存在与所述第一任务相关的第二任务,包括:通过是否从表队列中查找到一条表记录,且查找到的表记录中的表标识和相应的任务标识分别为所述第一任务的相关信息中的表标识和执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的任务标识,判断执行顺序位于所述第一任务之前且尚未执行完的各任务中是否存在与所述第一任务相关的第二任务;其中,所述表队列用于存放操作类型属于更新类型且尚未执行完的任务的表标识和相应的任务标识。
[0014]在一些实施例中,通过是否从表队列中查找到一条表记录,且查找到的表记录中的表标识和相应的任务标识分别为所述第一任务的相关信息中的表标识和执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的任务标识,判断执行顺序位于所述第一任务之前且尚未执行完的各任务中是否存在与所述第一任务相关的第二任务,包括:根据执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的任务标识,从表队列查找相应的表记录,并得到查找到的表记录中的表标识;在从所述表队列中查找到相应的表记录的情况下,根据所述第一任务的相关信息中的表标识和查找到的表记录中的表标识是否一致,判断执行顺序位于所述第一任务之前且尚未执行完的各任务中是否存在与所述第一任务相关的第二任务;在未从所述表队列中查找到相应的表记录的情况下,确认执行顺序位于所述第一任务之前且尚未执行完的各任务中不存在与所述第一任务相关的第二任务。
[0015]在一些实施例中,获取待执行的第一任务的相关信息,以及获取执行顺序位于所述第一任务之前且尚未执行完的各任务的相关信息之前,所述方法还包括:从所述任务执行队列中读取执行顺序位于所述第一任务之前且尚未执行完的任务的包括任务标识、操作类型及表标识的相关信息,并且,在执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的操作类型为更新类型的情况下,在所述表队列中增加表记录,以记录执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的表标识和相应的任务标识。或者,所述方法还包括:将在接收所述第一任务之前接收的任务的包括任务标识、操作类型及表标识的相关信息放入所述任务执行队列,并且,在接收所述第一任务之前接收的任务的相关信息中的操作类型为更新类型的情况下,在所述表队列中增加表记录,以记录在接收所述第一任务之前接收的任务的相关信息中的表标识和相应的任务标识。
[0016]在一些实施例中,从所述任务执行队列中查找执行顺序位于所述第一任务之前的
各任务,得到执行顺序位于所述第一任务之前且尚未执行完的各任务,并获取相应任务的相关信息,包括:从所述任务执行队列中查找执行顺序位于所述第一任务之前的各任务,得到执行顺序位于所述第一任务之前且尚未执行完的各任务,并从所述任务执行队列中获取相应任务的包括操作类型和表标识的相关信息。根据所述第一任务的相关信息中的表标识和执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的操作类型和表标识,判断执行顺序位于所述第一任务之前且尚未执行完的各任务中是否存在与所述第一任务相关的第二任务,包括:在执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的操作类型属于更新类型的情况下,通过判断其相应表标识与所述第一任务的相关信息中的表标识是否一致,判断执行顺序位于所述第一任务之前且尚未执行完本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于多个数据库加速器的任务执行方法,其特征在于,包括:获取待执行的第一任务的相关信息,以及获取执行顺序位于所述第一任务之前且尚未执行完的各任务的相关信息;根据所述第一任务的相关信息中的表标识和执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的操作类型和表标识,判断执行顺序位于所述第一任务之前且尚未执行完的各任务中是否存在与所述第一任务相关的第二任务;在存在与所述第一任务相关的第二任务的情况下,延迟设定阻塞时长后将所述第一任务发送至存在空闲的第一流水线的第一数据库加速器,以在所述第二任务执行完成的情况下执行所述第一任务;在不存在与所述第一任务相关的第二任务的情况下,即时将所述第一任务发送至存在空闲的第一流水线的第一数据库加速器,以即时执行所述第一任务;接收所述第一数据库加速器返回的所述第一任务的执行结果。2.如权利要求1所述的基于多个数据库加速器的任务执行方法,其特征在于,根据所述第一任务的相关信息中的表标识和执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的操作类型和表标识,判断执行顺序位于所述第一任务之前且尚未执行完的各任务中是否存在与所述第一任务相关的第二任务,包括:根据执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的操作类型是否属于更新类型,且执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的表标识与所述第一任务的相关信息中的表标识的表标识是否一致,判断执行顺序位于所述第一任务之前且尚未执行完的各任务中是否存在与所述第一任务相关的第二任务。3.如权利要求1所述的基于多个数据库加速器的任务执行方法,其特征在于,获取待执行的第一任务的相关信息,以及获取执行顺序位于所述第一任务之前且尚未执行完的各任务的相关信息,包括:从任务执行队列中读取待执行的第一任务的相关信息;以及从所述任务执行队列中查找执行顺序位于所述第一任务之前的各任务,得到执行顺序位于所述第一任务之前且尚未执行完的各任务,并获取相应任务的相关信息;其中,所述任务执行队列用于存放待执行和正在执行的各任务的相关信息。4.如权利要求3所述的基于多个数据库加速器的任务执行方法,其特征在于,从所述任务执行队列中查找执行顺序位于所述第一任务之前的各任务,得到执行顺序位于所述第一任务之前且尚未执行完的各任务,并获取相应任务的相关信息,包括:从所述任务执行队列中查找执行顺序位于所述第一任务之前的各任务,得到执行顺序位于所述第一任务之前且尚未执行完的各任务,并从所述任务执行队列中获取相应任务的包括任务标识的相关信息;根据所述第一任务的相关信息中的表标识和执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的操作类型和表标识,判断执行顺序位于所述第一任务之前且尚未执行完的各任务中是否存在与所述第一任务相关的第二任务,包括:通过是否从表队列中查找到一条表记录,且查找到的表记录中的表标识和相应的任务标识分别为所述第一任务的相关信息中的表标识和执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的任务标识,判断执行顺序位于所述第一任务之前且尚未执
行完的各任务中是否存在与所述第一任务相关的第二任务;其中,所述表队列用于存放操作类型属于更新类型且尚未执行完的任务的表标识和相应的任务标识。5.如权利要求4所述的基于多个数据库加速器的任务执行方法,其特征在于,通过是否从表队列中查找到一条表记录,且查找到的表记录中的表标识和相应的任务标识分别为所述第一任务的相关信息中的表标识和执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的任务标识,判断执行顺序位于所述第一任务之前且尚未执行完的各任务中是否存在与所述第一任务相关的第二任务,包括:根据执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的任务标识,从表队列查找相应的表记录,并得到查找到的表记录中的表标识;在从所述表队列中查找到相应的表记录的情况下,根据所述第一任务的相关信息中的表标识和查找到的表记录中的表标识是否一致,判断执行顺序位于所述第一任务之前且尚未执行完的各任务中是否存在与所述第一任务相关的第二任务;在未从所述表队列中查找到相应的表记录的情况下,确认执行顺序位于所述第一任务之前且尚未执行完的各任务中不存在与所述第一任务相关的第二任务。6.如权利要求4所述的基于多个数据库加速器的任务执行方法,其特征在于,获取待执行的第一任务的相关信息,以及获取执行顺序位于所述第一任务之前且尚未执行完的各任务的相关信息之前,还包括:从所述任务执行队列中读取执行顺序位于所述第一任务之前且尚未执行完的任务的包括任务标识、操作类型及表标识的相关信息,并且,在执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的操作类型为更新类型的情况下,在所述表队列中增加表记录,以记录执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的表标识和相应的任务标识;或者,将在接收所述第一任务之前接收的任务的包括任务标识、操作类型及表标识的相关信息放入所述任务执行队列,并且,在接收所述第一任务之前接收的任务的相关信息中的操作类型为更新类型的情况下,在所述表队列中增加表记录,以记录在接收所述第一任务之前接收的任务的相关信息中的表标识和相应的任务标识。7.如权利要求3所述的基于多个数据库加速器的任务执行方法,其特征在于,从所述任务执行队列中查找执行顺序位于所述第一任务之前的各任务,得到执行顺序位于所述第一任务之前且尚未执行完的各任务,并获取相应任务的相关信息,包括:从所述任务执行队列中查找执行顺序位于所述第一任务之前的各任务,得到执行顺序位于所述第一任务之前且尚未执行完的各任务,并从所述任务执行队列中获取相应任务的包括操作类型和表标识的相关信息;根据所述第一任务的相关信息中的表标识和执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的操作类型和表标识,判断执行顺序位于所述第一任务之前且尚未执行完的各任务中是否存在与所述第一任务相关的第二任务,包括:在执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的操作类型属于更新类型的情况下,通过判断其相应表标识与所述第一任务的相关信息中的表标识是否一致,判断执行顺序位于所述第一任务之前且尚未执行完的各任务中是否存在与所述第一
任务相关的第二任务;在执行顺序位于所述第一任务之前且尚未执行完的各任务的相关信息中的操作类型均不属于更新类型的情况下,确认执行顺序位于所述第一任务之前且尚未执行完的各任务中不存在与所述第一任务相关的第二任务。8.如权利要求3所述的基于多个数据库加速器的任务执行方法,其特征在于,从所述任务执行队列中查找执行顺序位于所述第一任务之前的各任务,得到执行顺序位于所述第一任务之前且尚未执行完的各任务,并获取相应任务的相关信息,包括:从所述任务执行队列中查找执行顺序位于所述第一任务之前的各任务,得到执行顺序位于所述第一任务之前且尚未执行完的各任务,并从所述任务执行队列获取相应任务的包括任务标识的相关信息;根据所述第一任务的相关信息中的表标识和执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的操作类型和表标识,判断执行顺序位于所述第一任务之前且尚未执行完的各任务中是否存在与所述第一任务相关的第二任务,包括:根据执行顺序位于所述第一任务之前且尚未执行完的任务的相关信息中的任务标识,在任务指令队列中查找相应的指令记录;在从所述任务指令队列查找到的相应的指令记录中的任...

【专利技术属性】
技术研发人员:鄢贵海龚施俊
申请(专利权)人:中科驭数北京科技有限公司
类型:发明
国别省市:

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

1