The application provides a task scheduling method, device and system. The method includes: Based on the dependency relationship between multiple tasks in the control stream, the initial priority of each task is determined. The priority reflects the execution sequence of each task in the same control stream, and the execution order of the task, the composition of the task and the assignment of the task in multiple processors are established as the constraint rules. The task scheduling model is solved to determine the task scheduling scheme so that the time required to execute the multiple tasks described according to the task scheduling scheme is shortest, in which the task scheduling scheme includes the execution order of the multiple tasks. The embodiment of the invention can provide the optimal scheduling sequence in ETL parallel task scheduling.
【技术实现步骤摘要】
任务调度方法、装置及系统
本申请涉及由计算机实现的任务调度,尤其涉及ETL调度系统中任务调度的方法、装置和系统。
技术介绍
数据仓库(DW)能够为企业决策分析提供一个面向主题的、综合的、相对稳定的、反映历史变化的数据集合,能够提升数据的价值,因而成为实现企业商务智能(BI)的一种重要手段。建立数据仓库的三大核心技术是数据的抽取(Extract)、转化(Transform)和加载(Load),实现这几种技术的软件统称为ETL(Extract-Transform-Load)调度系统。ETL调度系统能够按照统一的规则实现从数据源到数据仓库的数据处理过程。现有技术中的ETL调度系统适合处理控制流中串行的顺序执行的任务,当一个被依赖的前序任务完成后再顺序执行下一个任务。但是对于多个同时并发执行的控制流中的任务,ETL缺乏合理的并行调度控制机制,执行并行任务是无序的,通常会随机地将并行任务分配给CPU执行,容易发生多个并发控制流在同一时间内执行多个并行任务时争夺资源而导致相互等待的死锁现象,需要由维护人员进行人工手动干预才能顺利完成调度。这加大了维护压力,也影响了系统的运行效率。此外,ETL调度系统缺乏对并行任务数量的控制,因此,当达到处理机所能处理的极限时,ETL调度系统仍然会增加新任务,导致任务大量积压,处理效率大幅度下降,出现ETL过载甚至宕机的情况,因而维护人员还需要时刻关注当前的运行的任务数量与处理机的性能。
技术实现思路
本专利技术实施例提供了一种任务调度方法、装置及系统,能够提供ETL任务调度中的最佳调度顺序。本专利技术的实施例提供了一种任务调度方法,包括: ...
【技术保护点】
1.一种任务调度方法,其特征在于,包括:依据控制流中多个任务之间的依赖关系,确定各个任务的初始优先级,所述优先级反映同一控制流中的各个任务的执行顺序;以任务的执行顺序、任务的构成以及任务在多个处理器中的分配情况为约束规则,建立任务调度模型;对所述任务调度模型进行求解以确定任务调度方案,使得按照所述任务调度方案执行所述多个任务所需的时间最短,其中,所述任务调度方案包括所述多个任务的执行顺序。
【技术特征摘要】
1.一种任务调度方法,其特征在于,包括:依据控制流中多个任务之间的依赖关系,确定各个任务的初始优先级,所述优先级反映同一控制流中的各个任务的执行顺序;以任务的执行顺序、任务的构成以及任务在多个处理器中的分配情况为约束规则,建立任务调度模型;对所述任务调度模型进行求解以确定任务调度方案,使得按照所述任务调度方案执行所述多个任务所需的时间最短,其中,所述任务调度方案包括所述多个任务的执行顺序。2.按照权利要求1所述的方法,其特征在于,确定任务调度方案的步骤包括:步骤A,基于所述初始优先级确定当前方案,以所述当前方案作为所述任务调度模型的输入值,计算执行所述多个任务所需的时间Z(C);步骤B,以对所述当前方案进行调整而得到的新方案作为所述任务调度模型的输入值,计算执行所述多个任务所需的新时间Z’(C);步骤C,计算时间差ΔZ(C)=Z'(C)-Z(C);步骤D,当所述时间差ΔZ(C)的数值小于零时,将所述当前方案更新为所述新方案,并执行步骤F;步骤E,当所述时间差ΔZ(C)的数值大于或等于零时,执行步骤F;步骤F,若所述ΔZ(C)的数值连续大于或等于零的次数未达到阈值次数,则返回执行所述步骤B;若所述ΔZ(C)的数值连续大于或等于零的次数达到所述阈值次数,则将所述当前方案确定为所述任务调度方案。3.按照权利要求1所述的方法,其特征在于,确定各个任务的初始优先级的步骤包括:依据所述各个任务中每一任务的后续任务的数量,确定该任务的初始优先级,使得后续任务的数量越多,该任务的初始优先级越高。4.按照权利要求1所述的方法,其特征在于,所述任务调度模型由以下表达式确定:j∈[1,mi],o∈[1,l];并且,r(ti,j,ti,k)=1→zs(ti,k)-ze(ti,j)≥0,j≠k,j,k∈[1,mi];其中,l表示处理器的总数,n表示控制流的总数,mi表示第i个控制流中的任务的总数;ti,k表示第i个控制流中的第k个任务;表示第i个控制流中的第j个任务ti,j被分配到第o个处理器co上执行的概率;π(co)表示处理器co中等待任务队列的数量阈值;表示任务与任务ti,k的执行顺序关系,若任务ti,k是任务的后续任务,则的值取为1,否则为0;表示任务ti,j在处理器...
【专利技术属性】
技术研发人员:李湛,田江涛,刘毅,闫振英,
申请(专利权)人:中国移动通信集团河北有限公司,中国移动通信集团公司,
类型:发明
国别省市:河北,13
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。