用于分布式数据库执行器的调度管理方法及系统技术方案

技术编号:30343032 阅读:17 留言:0更新日期:2021-10-12 23:20
本发明专利技术公开一种用于分布式数据库执行器的调度管理方法及系统,涉及数据库技术领域,能够基于查询任务动态调整算子的调度策略,提高系统资源的利用率。该方法包括:接收查询任务,通过管理器启动调度器调度查询任务执行时所需的算子;获取执行查询任务时的每个算子在当前调度时的处理耗时和/或处理数据量,并从管理器中动态匹配出算子在下次调度时的调度策略;在算子被下次调度时基于调度策略动态调整执行进程,并重新匹配对应算子在下次调度时的调度策略,直至查询任务执行完毕为止。该系统应用有上述方案所提的方法。统应用有上述方案所提的方法。统应用有上述方案所提的方法。

【技术实现步骤摘要】
用于分布式数据库执行器的调度管理方法及系统


[0001]本专利技术涉及数据库
,尤其涉及一种用于分布式数据库执行器的调度管理方法及系统。

技术介绍

[0002]在OLAP领域为了解决大数据量的问题,基于MPP的分布式数据库逐渐普及,比如ClickHouse、Presto、Imapla等。为了更多的利用其多核心的性能,一种利用有向无环图生成执行计划,并用调度器调度各个算子的执行引擎技术的应用也越来越广泛。目前主要的开源实现中,该类型执行引擎的原生调度器都采用的是公平调度器。而在MPP分布式数据库中,由于不同算子执行的效率不一样,往往出现不同算子执行的效率并不相同,公平调度器并不能动态的调整不同算子的调度频率。而在实际应用中,往往不同用户、不同场景需要共用一个计算集群,若采用公平调度的方式不能优先执行高优先级的任务。例如,在当前有大查询任务正在执行时,此时若新进了查询任务,哪怕其重要程度更高,也只能等待大查询任务执行完毕后,才能执行新进的查询任务,显然,这样降低了系统资源的利用率。

技术实现思路

[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]本专利技术提供的用于分布式数据库执行器的调度管理方法中,通过在原生的执行器中增加了一个管理器,用于动态调整算子的调度调度策略。具体方案如下:在接收到查询任务时,通过管理器启动一个调度器调度此次查询任务执行时所需的算子,然后通过调度器增加算子每次被调度时的执行信息统计,如GPU处理耗时、GPU处理数据量等,动态跟踪每个算子每次被调度时消耗的系统资源,然后根据查询任务执行过程中的每个算子每次被调度时消耗的系统资源,从管理器中匹配出对应算子在下次调度时的调度策略,以便相应算子被下次调度时能够基于调度策略动态调整执行进程。
[0028]可见,相比较于现有技术采用的公平调度(按照顺序调度)的原生调度器而言,本专利技术提供的针对算子动态调度方案能够提升系统资源的利用率。
[0029]本专利技术的第二方面提供一种用于分布式数据库执行器的调度管理系统,应用于上述技术方案所述的用于分布式数据库执行器的调度管理方法中,所述系统包括:
[0030]接收单元,用于接收查询任务,通过管理器启动调度器调度所述查询任务执行时所需的算子;
[0031]处理单元,用于获取执行所述查询任务时的每个所述算子在被当前调度时的处理耗时和/或处理数据量,并从管理器中动态匹配出所述算子在下次调度时的调度策略;
[0032]调整单元,用于在所述算子被下次调度时基于所述调度策略动态调整执行进程,并重新匹配对应所述算子在下次调度时的调度策略,直至所述查询任务执行完毕为止。
[0033]优选地,还包括:
[0034]比较单元,用于在所述查询任务未执行完毕又接收了新查询任务时,比较所述查询任务和所述新查询任务的优先级;
[0035]当所述查询任务的优先级高于所述新查询任务时,则降低所述新查询任务执行时算子的处理速度;
[0036]当所述查询任务的优先级低于所述新查询任务时,则降低所述查询任务执行时算子的处理速度。
[0037]与现有技术相比,本专利技术提供的用于分布式数据库执行器的调度管理系统的有益效果与上述技术方案提供的用于分布式数据库执行器的调度管理方法的有益效果相同,在此不做赘述。
[0038]本专利技术的第三方面提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述用于分布式数据库执行器的调度管理方法的步骤。
[0039]与现有技术相比,本专利技术提供的计算机可读存储介质的有益效果与上述技术方案提供的用于分布式数据库执行器的调度管理方法的有益效果相同,在此不做赘述。
附图说明
[0040]此处所说明的附图用来提供对本专利技术的进一步理解,构成本专利技术的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:
[0041]图1为本专利技术实施例中用于分本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于分布式数据库执行器的调度管理方法,其特征在于,包括:接收查询任务,通过管理器启动调度器调度所述查询任务执行时所需的算子;获取执行所述查询任务时的每个所述算子在当前调度时的处理耗时和/或处理数据量,并从管理器中动态匹配出所述算子在下次调度时的调度策略;在所述算子被下次调度时基于所述调度策略动态调整执行进程,并重新匹配对应所述算子在下次调度时的调度策略,直至所述查询任务执行完毕为止。2.根据权利要求1所述的方法,其特征在于,还包括:若所述查询任务未执行完毕又接收了新查询任务时,比较所述查询任务和所述新查询任务的优先级;当所述查询任务的优先级高于所述新查询任务时,则降低所述新查询任务执行时算子的处理速度;当所述查询任务的优先级低于所述新查询任务时,则降低所述查询任务执行时算子的处理速度。3.根据权利要求2所述的方法,其特征在于,降低所述查询任务或者所述新查询任务执行时算子的处理速度的方法包括:计算所述查询任务与所述新查询任务的优先级差,并基于所述优先级差换算降速倍率;根据所述降速倍率降低任务执行时相应算子的处理速度。4.根据权利要求2所述的方法,其特征在于,比较所述查询任务和所述新查询任务的优先级的方法包括:识别所述查询任务和/或所述新查询任务中携带的用户信息;基于所述用户信息从映射表中匹配出对应的优先级,所述映射表包括一一对应的用户信息与优先级。5.根据权利要求1

4任一项所述的方法,其特征在于,所述调度策略包括:当前调度中所述算子的处理耗时超过时间阈值,则增加所述算子下次调度时的频率;和/或,当前调度中所述算子的处理数据量超过数据阈值,则增加所述算子下次调度时的频率。6.根据权利要求5所述的方法,其特征在于,增加所述算子下次调度时的频率的方法包括:所述算...

【专利技术属性】
技术研发人员:徐蔚青
申请(专利权)人:深圳市云网万店科技有限公司
类型:发明
国别省市:

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

1