CN113391911A - 一种大数据资源动态调度方法、装置和设备 - Google Patents
一种大数据资源动态调度方法、装置和设备 Download PDFInfo
- Publication number
- CN113391911A CN113391911A CN202110757016.7A CN202110757016A CN113391911A CN 113391911 A CN113391911 A CN 113391911A CN 202110757016 A CN202110757016 A CN 202110757016A CN 113391911 A CN113391911 A CN 113391911A
- Authority
- CN
- China
- Prior art keywords
- target
- time
- deadline
- job
- resources
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000012545 processing Methods 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 238000013439 planning Methods 0.000 abstract description 4
- 238000004364 calculation method Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书实施例提供了一种大数据资源动态调度方法、装置和设备,涉及大数据技术领域,其中,该方法包括:获取目标作业的特征信息集;特征信息集中包括:执行目标作业所需资源量的预估值、目标作业的计划执行时间、截止时间;根据执行目标作业所需资源量的预估值、目标作业的计划执行时间、截止时间,确定目标作业在所述截止时间完成所需的资源量;获取当前可分配的资源量;在目标时刻为目标作业分配资源;其中,目标时刻为目标作业在截止时间完成的最晚准入时刻。在本说明书实施例中,最大化地利用大数据集群资源,使更多作业可以按时完成,并且有效提高了资源调度系统的效率和准确性。
Description
技术领域
本说明书实施例涉及大数据技术领域,特别涉及一种大数据资源动态调度方法、装置和设备。
背景技术
分布式系统在计算和存储上解决了大规模数据单机无法承载的问题,可实现批量作业的并行处理。现有技术中针对分布式系统的常见的资源管理系统可以细粒度地划分集群资源,并通过跟踪当下每个作业分配的资源和当下可用集群资源,通过公平调度器给系统分配资源。但是现有技术中的公平调度器是基于有无限资源的情况设计的,系统运行中往往存在高峰时段计算量远远大于平时的情况。由于实际作业需求的截止完成时间不同,因此,当资源受限的情况下若想保护关键作业按时完成时,则需要管理员需手动进行资源调度。而采用人工的方式进行资源调度无法及时地确定出调度方案,容易出现遗漏。由此可见,采用现有技术中得到技术方案无法准确地进行资源调度,以确保作业可以在截止时间之前完成。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本说明书实施例提供了一种大数据资源动态调度方法、装置和设备,以解决现有技术中无法准确地进行资源调度,以确保作业可以在截止时间之前完成的问题。
本说明书实施例提供了一种大数据资源动态调度方法,包括:获取目标作业的特征信息集;其中,所述特征信息集中包括:执行所述目标作业所需资源量的预估值、所述目标作业的计划执行时间、截止时间;根据执行所述目标作业所需资源量的预估值、所述目标作业的计划执行时间、截止时间,确定所述目标作业在所述截止时间完成所需的资源量;获取当前可分配的资源量;根据所述目标作业在所述截止时间完成所需的资源量和所述当前可分配的资源量,在目标时刻为所述目标作业分配资源;其中,所述目标时刻为所述目标作业在所述截止时间完成的最晚准入时刻。
本说明书实施例还提供了一种大数据资源动态调度装置,包括:第一获取模块,用于获取目标作业的特征信息集;其中,所述特征信息集中包括:执行所述目标作业所需资源量的预估值、所述目标作业的计划执行时间、截止时间;确定模块,用于根据执行所述目标作业所需资源量的预估值、所述目标作业的计划执行时间、截止时间,确定所述目标作业在所述截止时间完成所需的资源量;第二获取模块,用于获取当前可分配的资源量;处理模块,用于根据所述目标作业在所述截止时间完成所需的资源量和所述当前可分配的资源量,在目标时刻为所述目标作业分配资源;其中,所述目标时刻为所述目标作业在所述截止时间完成的最晚准入时刻。
本说明书实施例还提供了一种大数据资源动态调度设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现所述大数据资源动态调度方法的步骤。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现所述大数据资源动态调度方法的步骤。
本说明书实施例提供了一种大数据资源动态调度方法,可以通过获取目标作业的计划执行时间、截止时间以及执行所述目标作业所需资源量的预估值,并根据执行所述目标作业所需资源量的预估值、所述目标作业的计划执行时间、截止时间,确定所述目标作业在所述截止时间完成所需的资源量。由于不同作业的截止时间不同,为了确保更多的作业可以在截止时间前完成,可以获取当前可分配的资源量,并根据所述目标作业在所述截止时间完成所需的资源量和所述当前可分配的资源量,确定出目标作业在所述截止时间完成的最晚准入的目标时刻,可以在目标时刻为所述目标作业分配资源,使目标作业可以在截止时间之前执行完成。从而可以最大化的利用集群资源,使更多作业可以按时完成,并且有效提高了资源调度的效率和准确性。
附图说明
此处所说明的附图用来提供对本说明书实施例的进一步理解,构成本说明书实施例的一部分,并不构成对本说明书实施例的限定。在附图中:
图1是根据本说明书实施例提供的大数据资源动态调度方法的步骤示意图;
图2是根据本说明书实施例提供的大数据资源动态调度装置的结构示意图;
图3是根据本说明书实施例提供的大数据资源动态调度设备的结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本说明书实施例的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本说明书实施例,而并非以任何方式限制本说明书实施例的范围。相反,提供这些实施方式是为了使本说明书实施例公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域的技术人员知道,本说明书实施例的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本说明书实施例公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
虽然下文描述流程包括以特定顺序出现的多个操作,但是应该清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。
由于系统运行中往往存在高峰时段计算量远远大于平时的情况,如果完全按照峰值预留计算资源会带来资源浪费和成本提高。如果不对计算资源进行负载控制,并发任务很容易抢占资源,导致操作系统过载甚至崩溃,从而放慢对用户作业的响应速度,甚至失去响应。并且在资源有限的情况下实际作业需求的最晚完成时间不同,往往会带来显著的资源争抢现象,使部分作业在截止时间前无法完成执行。此时若想保护关键作业按时完成时,管理员需手动添加集群资源,为用户预先分配隔离资源,使得现有技术中的解决方案成本高、效率低。
请参阅图1,本实施方式可以提供一种大数据资源动态调度方法。该大数据资源动态调度方法可以用于准确地进行资源调度,以确保作业可以在截止时间之前完成。上述大数据资源动态调度方法可以包括以下步骤。
S101:获取目标作业的特征信息集;其中,特征信息集中包括:执行目标作业所需资源量的预估值、目标作业的计划执行时间、截止时间。
在本实施方式中,可以获取目标作业的特征信息集,其中,上述特征信息集中可以包括:执行目标作业所需资源量的预估值、目标作业的计划执行时间、截止时间。当然可以理解的是,上述特征信息集中还可以包含其它信息,例如:目标作业的提交时间、目标作业的标识信息等,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在本实施方式中,上述目标作业可以是目标用户提交的待处理的作业,目标作业可以为一个任务,例如:加载数据、统计累加数据等。作业的具体形式可以为SQL(Structured Query Language,结构化查询语言)脚本,脚本内容可以是一段带参数的SQL语句,作业的脚本内容可以通过数据库的查询语句获取,也可以是目标用户提交时附带的,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在本实施方式中,上述目标作业可以具有作业的主键、脚本内容等属性信息。在上述目标作业为需要间隔预设时间就需要执行一次的情况下上述目标作业还可以具有批次号等属性信息。
在本实施方式中,可以对目标作业的类型进行分类,执行目标作业所需资源量的预估值可以是根据已执行成功的同一类型的作业历史执行所用的资源量确定的。在目标作业本身有历史执行记录的情况下,上述执行目标作业所需资源量的预估值可以是根据日志中记录的历史执行所用资源量确定的,例如:目标作业为每隔30分钟将金融交易系统产生的交易数据存入数据湖集群中的某张表,那么可以获取日志中记录的目标作业历史执行时所用资源量的平均值。当然,执行目标作业所需资源量的预估值确定的方式不限于上述举例,还可以利用机器学习算法确定,所属领域技术人员在本说明书实施例技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本说明书实施例相同或相似,均应涵盖于本说明书实施例保护范围内。
在本实施方式中,上述资源量可以为所需的数据块,也可以为所需的CPU数据(处理器数量)或者线程数,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在本实施方式中,上述目标作业的计划执行时间可以是根据目标作业的结构化查询语句确定。数据库在接收到结构化查询语句时,会为其生成一个“执行计划”。执行计划本质上是由物理操作符构成的一棵执行树,物理操作符一般对应一个关系操作,如表扫描、联接、聚合、排序等。执行计划通过将不同的物理操作符按照一定的先后顺序组织在一棵执行树中,最终完成结构化查询语句的查询。因此,在一些实施例中可以根据目标作业的结构化查询语句的执行计划确定出目标作业的计划执行时间。
在本实施方式中,作业可以是具有截止时间的也可以是不具有截止时间的,对于具有截止时间的作业通常会具有一个截止时间的字段,字段中记录了截止时间的具体数值。如果一个作业没有截止时间,那么截止时间的字段则为空。因此,可以通过读取截止时间的字段确定目标作业的截止时间。上述截止时间的格式可以为:xxxx年xx月xx日,也可以为xx点xx分xx秒等,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
S102:根据执行目标作业所需资源量的预估值、目标作业的计划执行时间、截止时间,确定目标作业在截止时间完成所需的资源量。
在本实施方式中,在已知执行目标作业所需资源量的预估值、目标作业的计划执行时间、截止时间的情况下,可以根据执行目标作业所需资源量的预估值、目标作业的计划执行时间、截止时间计算出从当前时刻开始执行目标作业并在截止时间刚好完成目标作业所需的资源量。
在本实施方式中,上述目标作业在截止时间完成所需的资源量可以用于表征目标作业从当前时刻开始执行在截止时刻前刚好完成所需的最少资源量,上述目标作业在截止时间完成所需的资源量可以用于确定当前集群中可以分配的资源量是否可以支持在截止时间前完成目标作业。
S103:获取当前可分配的资源量。
在本实施方式中,在确定出目标作业在截止时间完成所需的资源量,可以进一步获取当前可分配的资源量。其中,上述当前可分配的资源量可以用与表征当前集群中可用的资源量。
在本实施方式中,获取当前可分配的资源量的方式可以包括:从预设数据库中拉取得到,或者,结合日志分析得到。其中,上述预设数据库可以为集群中存储历史数据以及资源调度、执行作业是实时提交、产生的数据的数据库。当然可以理解的是,还可以采用其它可能的方式获取上述样本数据集,例如,接收用户输入的当前可分配的资源量,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
S104:根据目标作业在截止时间完成所需的资源量和当前可分配的资源量,在目标时刻为目标作业分配资源;其中,目标时刻为目标作业在截止时间完成的最晚准入时刻。
在本实施方式中,可以根据目标作业在截止时间完成所需的资源量和当前可分配的资源量,在目标时刻为目标作业分配资源。其中,上述目标时刻可以为目标作业在截止时间刚好完成的最晚准入时刻。
在本实施方式中,为了确保更多的作业可以在截止时间前完成,因此,可以先根据目标作业在截止时间完成所需的资源量和当前可分配的资源量确定出目标时刻,如果目标时刻晚于当前时刻,则说明目标作业为当前可以延后的作业,可以放在队列中排队,此时可以分配资源给不可延后的作业执行。
在本实施方式中,在目标时刻为目标作业分配的资源量可以不小于上述步骤中获取的当前可分配的资源量,如果在目标时刻为目标作业分配的资源量小于上述步骤中获取的当前可分配的资源量,则目标作业无法在截止时间前完成。如果当前排队作业数量较少可以在目标时刻之间就对目标作业进行准入,则为目标作业分配的资源量可以小于上述步骤中获取的当前可分配的资源量。具体的可以根据实际情况确定,本说明书实施例对此不作限定。
从以上的描述中,可以看出,本说明书实施例实现了如下技术效果:可以通过获取目标作业的计划执行时间、截止时间以及执行目标作业所需资源量的预估值,并根据执行目标作业所需资源量的预估值、目标作业的计划执行时间、截止时间,确定目标作业在截止时间完成所需的资源量。由于不同作业的截止时间不同,为了确保更多的作业可以在截止时间前完成,可以获取当前可分配的资源量,并根据目标作业在截止时间完成所需的资源量和当前可分配的资源量,确定出目标作业在截止时间完成的最晚准入的目标时刻,可以在目标时刻为目标作业分配资源,使目标作业可以在截止时间之前执行完成。从而可以最大化的利用集群资源,使更多作业可以按时完成,并且有效提高了资源调度的效率和准确性。
在一个实施方式中,获取目标作业的特征信息集,可以包括:获取目标作业的目标结构化执行语句,生成目标结构化查询语句的执行计划。进一步的,可以根据执行计划确定目标作业的计划执行时间。
在本实施方式中,作业的具体形式可以为SQL(Structured Query Language,结构化查询语言)脚本,脚本内容可以是一段带参数的SQL语句,作业的脚本内容可以通过数据库的查询语句获取,也可以是目标用户提交时附带的,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在本实施方式中,上述目标作业的计划执行时间可以是根据目标作业的结构化查询语句确定。数据库在接收到结构化查询语句时,会为其生成一个“执行计划”。执行计划本质上是由物理操作符构成的一棵执行树,物理操作符一般对应一个关系操作,如表扫描、联接、聚合、排序等。执行计划通过将不同的物理操作符按照一定的先后顺序组织在一棵执行树中,最终完成结构化查询语句的查询。因此,可以根据目标作业的结构化查询语句的执行计划确定出执行计划中每一条SQL语句的执行耗时,从而得到目标作业的计划执行时间。
在本实施方式中,上述计划执行时间的单位可以为秒(s)。当然可以理解的是还可以为其它可能的单位,例如:分钟等,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在一个实施方式中,在根据执行计划确定目标作业的计划执行时间之后,还可以包括:确定当前时刻距离截止时间的有效时间,在确定计划执行时间大于有效时间的情况下,向目标用户反馈异常提示信息;其中,异常提示信息包括:目标结构化查询语句的执行计划和是否需要修改截止时间的提示信息,目标用户为提交目标作业的用户。
在本实施方式中,可以预先对用户提交的作业进行筛选,对于作业提交进行准入控制。其中,对于有截止时间要求的作业,可以确定当前时刻距离截止时间的有效时间,如果计划执行时间已经大于有效时间,则不允许用户提交该作业,以防止进入系统产生不必要的资源消费。
在本实施方式中,在确定计划执行时间大于有效时间的情况下,可以向用户反馈异常提示信息。其中,异常提示信息可以包括:目标结构化查询语句的执行计划和是否需要修改截止时间的提示信息。从而可以提示用户目标作业已无法在设置的截止时间前完成,需要目标用户确认是否修改截止时间。
在一个实施方式中,在获取目标作业的特征信息集之前,还可以包括:设置作业优先组,确定目标作业是否为作业优先组中的作业;在确定是的情况下,可以调用资源执行目标作业。
在本实施方式中,为了确保重要的作业可以优先执行,可以设置作业优先组。作业优先组中可以记录系统监控等常驻作业或关键作业(例如:关联任务数达到某一阈值)的相关信息,作业优先组中的作业优先级最高,不受资源池动态控制,在接收到作业优先组中的作业请求时可以直接分配资源进行处理。
在本实施方式中,上述作业优先组中可以包含多个优先作业的主键、脚本内容等信息。
在一个实施方式中,可以按照以下公式根据执行目标作业所需资源量的预估值、目标作业的计划执行时间、截止时间,确定目标作业在截止时间完成所需的资源量:
其中,deadlineCPUs为目标作业在截止时间完成所需的资源量;requestedTasks为执行目标作业所需资源量的预估值;jobET为目标作业的计划执行时间;deadline为截止时间;T0为当前时刻。
在本实施方式中,执行目标作业所需资源量的预估值可以是单个作业执行所需数据块大小的预估值,上述计划执行时间可以为作业不含排队的纯执行时间,上述deadline-T0的单位可以为秒。
在本实施方式中,上述requestedTasks×jobET可以是目标作业的实际计算时间,可以称为compTime。
在一个实施方式中,在根据目标作业在截止时间完成所需的资源量和当前可分配的资源量,在目标时刻为目标作业分配资源之前,还可以包括:在确定当前可分配的资源量小于目标作业在截止时间完成所需的资源量的情况下,丢弃目标作业。
在本实施方式中,可以基于当前可分配的资源量和目标作业在截止时间完成所需的资源量预测目标能否在截止时间前完成,在确定无法完成的情况下可以对目标作业进行准入控制和丢弃操作,以防止进入系统产生不必要的资源消费。
在本实施方式中,可以在当前可分配的资源量小于目标作业在截止时间完成所需的资源量的情况下,认为目标作业无法在截止时间之前完成,此时可以丢弃目标作业。
在一个实施方式中,根据目标作业在截止时间完成所需的资源量和当前可分配的资源量,在目标时刻为目标作业分配资源,可以包括:在确定当前可分配的资源量大于等于目标作业在截止时间完成所需的资源量的情况下,根据目标作业在截止时间完成所需的资源量、当前可分配的资源量和截止时间,计算目标作业在截止时间前完成的最少时间。可以将目标作业在截止时间前完成的最少时间添加至排队列表中,并按照预设时间间隔确定排队列表中记录的在截止时间前完成的最少时间是否等于当前时刻距离截止时间的有效时间。进一步的,在确定等于的情况下,将当前时刻作为目标时刻,为目标作业分配资源。
在本实施方式中,在确定当前可分配的资源量大于等于目标作业在截止时间完成所需的资源量的情况下,说明当前可分配的资源量可以是目标作业在截止时间之前完成。因此,可以进一步计算目标作业在当前可分配的资源量的环境下在截止时间前完成的最少时间。
在本实施方式中,根据目标作业在截止时间前完成的最少时间和截止时间,可以推算出目标作业的最晚准入时刻,即目标时刻。在一些实施例中,为了确保更多的作业可以在截止时间之前完成,对于准入排队中的作业,可以优先执行最晚准入时刻与当前时刻更接近的作业,对于可延后的作业可以放在资源池中排队。
在本实施方式中,可以将当前所有待处理的作业的在截止时间前完成的最少时间添加至排队列表中,并按照预设时间间隔确定排队列表中记录的在截止时间前完成的最少时间是否等于当前时刻距离截止时间的有效时间,在确定等于的情况下,可以将当前时刻作为目标时刻对目标作业进行准入操作,并为目标作业分配资源,以使目标作业在截止时间之前完成。
在本实施方式中,上述排队列表中还可以记录有各个作业的截止时间。当然可以理解的是上述排队列表中在一些情况下还可以记录当前时刻距离截止时间的有效时间。具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在本实施方式中,上述预设时间间隔可以为0.1秒、0.9秒等,从而可以近似实时地更新当前时刻距离截止时间的有效时间。当然可以理解的是,上述预设时间间隔还可以为其它数值,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在本实施方式中,一旦作业被准入后,之后进入的作业将不会抢占被准入作业的资源,每次计算优先级为计算当批作业。从而可以有效避免资源争抢现象的发生,使部分作业在截止时间前无法完成执行。
在一个实施方式中,可以按照以下公式根据目标作业在截止时间完成所需的资源量、当前可分配的资源量和截止时间,计算目标作业在截止时间前完成的最少时间:
其中,minTime为目标作业在截止时间前完成的最少时间;deadlineCPUs为目标作业在截止时间完成所需的资源量;actualCPUs为当前可分配的资源量;deadline为截止时间;T0为当前时刻。
在一个实施例中,可以基于Yarn采用双层调度机制:资源管理系统层和资源调度层。资源管理节点负责将资源分配给应用程序,协调整个系统所有应用程序的资源,如计算、内存、带宽等。资源调度层由多个资源调度节点组成,负责读取作业信息,对作业进行准入控制,将资源具体分配给计算框架中的任务。
在本实施例中,可以仿照Yarn的设计,从计算框架(如Hadoop、Spark)中分离出资源管理,全权负责资源分配和调度策略。其中,上述Yarn是一种新的Hadoop(分布式系统基础架构)资源管理器,它是一个通用资源管理系统,可以为上层应用提供统一的资源管理和调度。
在本实施例中,可以通过物联网分析工作负载,该系统可以包括感应器、处理器、存储器以及通信接口,可以用低能耗、低延迟的方式采集集群节点运行情况数据,在收集数据的位置附近提供数据处理,并将采集到的数据从边缘设备通过通讯接口传给中心管理器,为实时调度提供分析和决策支持。同时减少大规模的带宽需求。存储器上存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例方法中的步骤。
在本说明书实施例中可以基于每个作业需要的最低资源要求、截止时间要求和执行时长预测,自动适应不断变化的工作量决定当前哪个作业占用容量和计算资源,为每个工作分配足够资源,以满足作业能最大限度地在规定的截止时间前及时完成执行。进一步的,引入了对可分配资源量的预测和纠正机制,通过计算作业的有效时间和集群中的可分配资源量,实现作业的准入控制、纠正和惩罚机制(例如:丢弃作业),使作业可以根据集群当前条件进行调整。
基于同一发明构思,本说明书实施例中还提供了一种大数据资源动态调度装置,如下面的实施例。由于大数据资源动态调度装置解决问题的原理与大数据资源动态调度方法相似,因此大数据资源动态调度装置的实施可以参见大数据资源动态调度方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图2是本说明书实施例的大数据资源动态调度装置的一种结构框图,如图2所示,可以包括:第一获取模块201、确定模块202、第二获取模块203、处理模块204,下面对该结构进行说明。
第一获取模块201,可以用于获取目标作业的特征信息集;其中,特征信息集中包括:执行目标作业所需资源量的预估值、目标作业的计划执行时间、截止时间;
确定模块202,可以用于根据执行目标作业所需资源量的预估值、目标作业的计划执行时间、截止时间,确定目标作业在截止时间完成所需的资源量;
第二获取模块203,可以用于获取当前可分配的资源量;
处理模块204,可以用于根据目标作业在截止时间完成所需的资源量和当前可分配的资源量,在目标时刻为目标作业分配资源;其中,目标时刻为目标作业在截止时间完成的最晚准入时刻。
本说明书实施例实施方式还提供了一种电子设备,具体可以参阅图3所示的基于本说明书实施例提供的大数据资源动态调度方法的电子设备组成结构示意图,电子设备具体可以包括输入设备31、处理器32、存储器33。其中,输入设备31具体可以用于输入目标作业的特征信息集。处理器32具体可以用于获取目标作业的特征信息集;其中,特征信息集中包括:执行目标作业所需资源量的预估值、目标作业的计划执行时间、截止时间;根据执行目标作业所需资源量的预估值、目标作业的计划执行时间、截止时间,确定目标作业在截止时间完成所需的资源量;获取当前可分配的资源量;根据目标作业在截止时间完成所需的资源量和当前可分配的资源量,在目标时刻为目标作业分配资源;其中,目标时刻为目标作业在截止时间完成的最晚准入时刻。存储器33具体可以用于存储目标作业在截止时间完成所需的资源量、当前可分配的资源量等参数。
在本实施方式中,输入设备具体可以是用户和计算机系统之间进行信息交换的主要装置之一。输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。输入设备还可以获取接收其他模块、单元、设备传输过来的数据。处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。存储器具体可以是现代信息技术中用于保存信息的记忆设备。存储器可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
在本实施方式中,该电子设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本说明书实施例实施方式中还提供了一种基于大数据资源动态调度方法的计算机存储介质,计算机存储介质存储有计算机程序指令,在计算机程序指令被执行时可以实现:获取目标作业的特征信息集;其中,特征信息集中包括:执行目标作业所需资源量的预估值、目标作业的计划执行时间、截止时间;根据执行目标作业所需资源量的预估值、目标作业的计划执行时间、截止时间,确定目标作业在截止时间完成所需的资源量;获取当前可分配的资源量;根据目标作业在截止时间完成所需的资源量和当前可分配的资源量,在目标时刻为目标作业分配资源;其中,目标时刻为目标作业在截止时间完成的最晚准入时刻。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
显然,本领域的技术人员应该明白,上述的本说明书实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本说明书实施例不限制于任何特定的硬件和软件结合。
虽然本说明书实施例提供了如上述实施例或流程图所述的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑性上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本说明书实施例提供的执行顺序。所述的方法的在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述描述,在所提供的示例之外的许多实施方式和许多应用对本领域技术人员来说都将是显而易见的。因此,本说明书实施例的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及这些权利要求所拥有的等价物的全部范围来确定。
以上所述仅为本说明书实施例的优选实施例而已,并不用于限制本说明书实施例,对于本领域的技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的保护范围之内。
Claims (11)
1.一种大数据资源动态调度方法,其特征在于,包括:
获取目标作业的特征信息集;其中,所述特征信息集中包括:执行所述目标作业所需资源量的预估值、所述目标作业的计划执行时间、截止时间;
根据执行所述目标作业所需资源量的预估值、所述目标作业的计划执行时间、截止时间,确定所述目标作业在所述截止时间完成所需的资源量;
获取当前可分配的资源量;
根据所述目标作业在所述截止时间完成所需的资源量和所述当前可分配的资源量,在目标时刻为所述目标作业分配资源;其中,所述目标时刻为所述目标作业在所述截止时间完成的最晚准入时刻。
2.根据权利要求1所述的方法,其特征在于,获取目标作业的特征信息集,包括:
获取所述目标作业的目标结构化执行语句;
生成所述目标结构化查询语句的执行计划;
根据所述执行计划确定所述目标作业的计划执行时间。
3.根据权利要求2所述的方法,其特征在于,在根据所述执行计划确定所述目标作业的计划执行时间之后,还包括:
确定当前时刻距离所述截止时间的有效时间;
在确定所述计划执行时间大于所述有效时间的情况下,向目标用户反馈异常提示信息;其中,所述异常提示信息包括:所述目标结构化查询语句的执行计划和是否需要修改截止时间的提示信息,所述目标用户为提交所述目标作业的用户。
4.根据权利要求1所述的方法,其特征在于,在获取目标作业的特征信息集之前,还包括:
设置作业优先组;
确定所述目标作业是否为所述作业优先组中的作业;
在确定是的情况下,调用资源执行所述目标作业。
6.根据权利要求1所述的方法,其特征在于,在根据所述目标作业在所述截止时间完成所需的资源量和所述当前可分配的资源量,在目标时刻为所述目标作业分配资源之前,还包括:
在确定所述当前可分配的资源量小于所述目标作业在所述截止时间完成所需的资源量的情况下,丢弃所述目标作业。
7.根据权利要求6所述的方法,其特征在于,根据所述目标作业在所述截止时间完成所需的资源量和所述当前可分配的资源量,在目标时刻为所述目标作业分配资源,包括:
在确定所述当前可分配的资源量大于等于所述目标作业在所述截止时间完成所需的资源量的情况下,根据所述目标作业在所述截止时间完成所需的资源量、所述当前可分配的资源量和所述截止时间,计算所述目标作业在所述截止时间前完成的最少时间;
将所述目标作业在所述截止时间前完成的最少时间添加至排队列表中;
按照预设时间间隔确定所述排队列表中记录的在所述截止时间前完成的最少时间是否等于当前时刻距离所述截止时间的有效时间;
在确定等于的情况下,将当前时刻作为目标时刻,为所述目标作业分配资源。
9.一种大数据资源动态调度装置,其特征在于,包括:
第一获取模块,用于获取目标作业的特征信息集;其中,所述特征信息集中包括:执行所述目标作业所需资源量的预估值、所述目标作业的计划执行时间、截止时间;
确定模块,用于根据执行所述目标作业所需资源量的预估值、所述目标作业的计划执行时间、截止时间,确定所述目标作业在所述截止时间完成所需的资源量;
第二获取模块,用于获取当前可分配的资源量;
处理模块,用于根据所述目标作业在所述截止时间完成所需的资源量和所述当前可分配的资源量,在目标时刻为所述目标作业分配资源;其中,所述目标时刻为所述目标作业在所述截止时间完成的最晚准入时刻。
10.一种大数据资源动态调度设备,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至8中任一项所述方法的步骤。
11.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,所述指令被执行时实现权利要求1至8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110757016.7A CN113391911B (zh) | 2021-07-05 | 2021-07-05 | 一种大数据资源动态调度方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110757016.7A CN113391911B (zh) | 2021-07-05 | 2021-07-05 | 一种大数据资源动态调度方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113391911A true CN113391911A (zh) | 2021-09-14 |
CN113391911B CN113391911B (zh) | 2024-03-26 |
Family
ID=77625218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110757016.7A Active CN113391911B (zh) | 2021-07-05 | 2021-07-05 | 一种大数据资源动态调度方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113391911B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023246330A1 (zh) * | 2022-06-20 | 2023-12-28 | 华为云计算技术有限公司 | 资源调整方法、装置、计算设备集群及可读存储介质 |
WO2024000859A1 (zh) * | 2022-06-28 | 2024-01-04 | 深圳前海微众银行股份有限公司 | 一种作业调度方法、作业调度装置、作业调度系统及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130212277A1 (en) * | 2012-02-14 | 2013-08-15 | Microsoft Corporation | Computing cluster with latency control |
CN104598311A (zh) * | 2015-01-26 | 2015-05-06 | 上海卓悠网络科技有限公司 | 一种面向Hadoop的实时作业公平调度的方法和装置 |
CN108572875A (zh) * | 2018-04-28 | 2018-09-25 | 辽宁工程技术大学 | 资源分配方法、装置及系统 |
CN110297701A (zh) * | 2019-05-16 | 2019-10-01 | 平安科技(深圳)有限公司 | 数据处理作业调度方法、装置、计算机设备及存储介质 |
CN110389842A (zh) * | 2019-07-26 | 2019-10-29 | 中国工商银行股份有限公司 | 一种动态资源分配方法、装置、存储介质及设备 |
-
2021
- 2021-07-05 CN CN202110757016.7A patent/CN113391911B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130212277A1 (en) * | 2012-02-14 | 2013-08-15 | Microsoft Corporation | Computing cluster with latency control |
CN104598311A (zh) * | 2015-01-26 | 2015-05-06 | 上海卓悠网络科技有限公司 | 一种面向Hadoop的实时作业公平调度的方法和装置 |
CN108572875A (zh) * | 2018-04-28 | 2018-09-25 | 辽宁工程技术大学 | 资源分配方法、装置及系统 |
CN110297701A (zh) * | 2019-05-16 | 2019-10-01 | 平安科技(深圳)有限公司 | 数据处理作业调度方法、装置、计算机设备及存储介质 |
CN110389842A (zh) * | 2019-07-26 | 2019-10-29 | 中国工商银行股份有限公司 | 一种动态资源分配方法、装置、存储介质及设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023246330A1 (zh) * | 2022-06-20 | 2023-12-28 | 华为云计算技术有限公司 | 资源调整方法、装置、计算设备集群及可读存储介质 |
WO2024000859A1 (zh) * | 2022-06-28 | 2024-01-04 | 深圳前海微众银行股份有限公司 | 一种作业调度方法、作业调度装置、作业调度系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113391911B (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110297711B (zh) | 批量数据处理方法、装置、计算机设备及存储介质 | |
CN112162865B (zh) | 服务器的调度方法、装置和服务器 | |
US10572306B2 (en) | Utilization-aware resource scheduling in a distributed computing cluster | |
US10198292B2 (en) | Scheduling database queries based on elapsed time of queries | |
CN104915407B (zh) | 一种基于Hadoop多作业环境下的资源调度方法 | |
JP6447120B2 (ja) | ジョブスケジューリング方法、データアナライザ、データ解析装置、コンピュータシステム及びコンピュータ可読媒体 | |
CN104298550B (zh) | 一种面向Hadoop的动态调度方法 | |
WO2021159638A1 (zh) | 集群队列资源的调度方法、装置、设备及存储介质 | |
WO2017166803A1 (zh) | 一种资源调度方法及装置 | |
CN111625331B (zh) | 任务调度方法、装置、平台、服务器及存储介质 | |
CN113391911B (zh) | 一种大数据资源动态调度方法、装置和设备 | |
CN106557369A (zh) | 一种多线程的管理方法及系统 | |
JP2020531967A (ja) | 分散システム資源配分の方法、装置、及びシステム | |
CN109783225B (zh) | 一种多租户大数据平台的租户优先级管理方法及系统 | |
WO2017107456A1 (zh) | 确定任务消耗资源的方法及装置 | |
US10606650B2 (en) | Methods and nodes for scheduling data processing | |
CN112181621A (zh) | 一种任务调度系统、方法、设备及存储介质 | |
WO2020172852A1 (en) | Computing resource scheduling method, scheduler, internet of things system, and computer readable medium | |
CN112130966A (zh) | 任务调度方法和系统 | |
CN111026519A (zh) | 基于分布式的任务优先级调度方法和系统及存储介质 | |
CN116010064A (zh) | Dag作业调度和集群管理的方法、系统及装置 | |
CN114077486A (zh) | 一种MapReduce任务调度方法及系统 | |
Çavdar et al. | Quantifying the brown side of priority schedulers: Lessons from big clusters | |
CN112181498A (zh) | 并发控制方法、装置和设备 | |
CN116962532A (zh) | 集群任务调度方法、装置、计算机设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |