CN113806029A - 任务处理方法、装置、服务器及存储介质 - Google Patents
任务处理方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN113806029A CN113806029A CN202010549928.0A CN202010549928A CN113806029A CN 113806029 A CN113806029 A CN 113806029A CN 202010549928 A CN202010549928 A CN 202010549928A CN 113806029 A CN113806029 A CN 113806029A
- Authority
- CN
- China
- Prior art keywords
- job
- target
- scheduling system
- task
- sub
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 20
- 239000002699 waste material Substances 0.000 abstract description 9
- 238000007726 management method Methods 0.000 description 39
- 238000010586 diagram Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 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
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
技术领域
本公开涉及计算机领域,尤其涉及任务处理方法、装置、服务器及存储介质。
背景技术
任务重跑表示对历史数据进行回溯的操作,级联重跑表示在对一个任务进行调度回溯历史数据后,还要把这个任务的下游任务也进行调度,回溯相应的数据。目前,当级联重跑涉及到上下游任务比较多的时候,传统方法会将用户提交的一个作业拆分成多个子作业去进行任务重跑,但由于每个子作业之间不受管控,会导致同时重跑的任务特别多,如果不加以限制,当用户频繁提交重跑作业,会造成资源浪费。
发明内容
本公开提供一种任务处理方法、装置、服务器及存储介质,以至少解决相关技术中用户频繁提交重跑作业,会导致Yarn资源被占用,造成资源浪费的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种任务处理方法,包括:
根据目标账户提交的重跑作业的元数据,确定重跑子作业;
获取所述重跑子作业中的待提交至工作流调度系统中的目标任务的第一并发数量,以及目标滑动窗口中记录的任务的第二并发数量;
根据所述第一并发数量和所述第二并发数量,确定是否将所述重跑子作业中的目标任务提交到工作流调度系统。
在一示例性实施例中,所述根据目标账户提交的重跑作业的元数据,确定重跑子作业,包括:
获取目标账户提交的重跑作业的元数据;
根据所述元数据中的时间片,对所述重跑作业进行划分,确定所述重跑子作业。
在一示例性实施例中,所述根据所述第一并发数量和所述第二并发数量,确定是否将所述重跑子作业中的目标任务提交到工作流调度系统,包括:
若所述第一并发数量和所述第二并发数量的和小于第一预设阈值,则确定将所述重跑子作业中的目标任务提交到所述工作流调度系统。
在一示例性实施例中,所述方法还包括:
若所述第一并发数量和所述第二并发数量的和大于或等于所述第一预设阈值,则更新所述目标任务的第一等待时间;
当到达所述第一等待时间时,返回执行所述根据所述第一并发数量和所述第二并发数量,确定是否将所述重跑子作业中的目标任务提交到工作流调度系统的步骤。
在一示例性实施例中,所述确定将所述重跑子作业中的目标任务提交到工作流调度系统,之前还包括:
获取所述工作流调度系统的资源使用率;
若所述工作流调度系统的资源使用率小于第二预设阈值,则确定将所述重跑子作业中的目标任务提交到所述工作流调度系统。
在一示例性实施例中,所述方法还包括:
若所述工作流调度系统的资源使用率大于或等于所述第二预设阈值,更新所述目标任务的第二等待时间;
当到达所述第二等待时间时,返回执行所述获取所述重跑子作业中的待提交至工作流调度系统中的目标任务的第一并发数量,以及目标滑动窗口中记录的任务的第二并发数量的步骤。
在一示例性实施例中,在所述若所述工作流调度系统的资源使用率小于第二预设阈值之后,所述确定将所述重跑子作业中的目标任务提交到所述工作流调度系统之前,还包括:
获取资源管理系统的资源使用率;
若所述资源管理系统的资源使用率小于第三预设阈值,则确定将所述重跑子作业中的目标任务提交到所述工作流调度系统。
在一示例性实施例中,所述方法还包括:
若所述资源管理系统的资源使用率大于或等于所述第三预设阈值,更新所述目标任务的第三等待时间;
当到达所述第三等待时间时,返回执行所述获取所述重跑子作业中的待提交至工作流调度系统中的目标任务的第一并发数量,以及目标滑动窗口中记录的任务的第二并发数量的步骤。
在一示例性实施例中,所述方法还包括:
根据任务画像、工作流调度系统的资源使用率、资源管理系统的资源使用率和预设影响因子,确定任务并发数量;
根据所述任务并发数量对所述目标滑动窗口中记录的任务的第二并发数量进行更新。
根据本公开实施例的第二方面,提供一种任务处理装置,包括:
第一确定单元,被配置为执行根据目标账户提交的重跑作业的元数据,确定重跑子作业;
获取单元,被配置为执行获取所述重跑子作业中的待提交至工作流调度系统中的目标任务的第一并发数量,以及目标滑动窗口中记录的任务的第二并发数量;
第二确定单元,被配置为执行根据所述第一并发数量和所述第二并发数量,确定是否将所述重跑子作业中的目标任务提交到工作流调度系统。
在一示例性实施例中,所述第一确定单元,还被配置为执行:
获取目标账户提交的重跑作业的元数据;
根据所述元数据中的时间片,对所述重跑作业进行划分,确定所述重跑子作业。
在一示例性实施例中,所述第二确定单元,还被配置为执行:
若所述第一并发数量和所述第二并发数量的和小于第一预设阈值,则确定将所述重跑子作业中的目标任务提交到所述工作流调度系统。
在一示例性实施例中,所述第二确定单元,还被配置为执行:
若所述第一并发数量和所述第二并发数量的和大于或等于所述第一预设阈值,则更新所述目标任务的第一等待时间;
当到达所述第一等待时间时,返回执行所述根据所述第一并发数量和所述第二并发数量,确定是否将所述重跑子作业中的目标任务提交到工作流调度系统的步骤。
在一示例性实施例中,所述第二确定单元,还被配置为执行:
获取所述工作流调度系统的资源使用率;
若所述工作流调度系统的资源使用率小于第二预设阈值,则确定将所述重跑子作业中的目标任务提交到所述工作流调度系统。
在一示例性实施例中,所述第二确定单元,还被配置为执行:
若所述工作流调度系统的资源使用率大于或等于所述第二预设阈值,更新所述目标任务的第二等待时间;
当到达所述第二等待时间时,返回执行所述获取所述重跑子作业中的待提交至工作流调度系统中的目标任务的第一并发数量,以及目标滑动窗口中记录的任务的第二并发数量的步骤。
在一示例性实施例中,所述第二确定单元,还被配置为执行:
获取资源管理系统的资源使用率;
若所述资源管理系统的资源使用率小于第三预设阈值,则确定将所述重跑子作业中的目标任务提交到所述工作流调度系统。
在一示例性实施例中,所述第二确定单元,还被配置为执行:
若所述资源管理系统的资源使用率大于或等于所述第三预设阈值,更新所述目标任务的第三等待时间;
当到达所述第三等待时间时,返回执行所述获取所述重跑子作业中的待提交至工作流调度系统中的目标任务的第一并发数量,以及目标滑动窗口中记录的任务的第二并发数量的步骤。
在一示例性实施例中,所述任务处理装置还包括:
第三确定单元,被配置为执行根据任务画像、工作流调度系统的资源使用率、资源管理系统的资源使用率和预设影响因子,确定任务并发数量;
更新单元,被配置为执行根据所述任务并发数量对所述目标滑动窗口中记录的任务的第二并发数量进行更新。
根据本公开实施例的第三方面,提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得设备执行第一方面的任一项实施例中所述的任务处理方法。
根据本公开实施例的第四方面,提供一种服务器,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现第一方面的任一项实施例中所述的任务处理方法。
根据本公开实施例的第五方面,提供一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行第一方面的任一项实施例中所述的任务处理方法。
本公开的实施例提供的技术方案至少带来以下有益效果:根据目标账户提交的重跑作业的元数据,确定重跑子作业,获取重跑子作业中的待提交至工作流调度系统中的目标任务的第一并发数量,以及目标滑动窗口中记录的任务的第二并发数量,根据第一并发数量和第二并发数量,确定是否将重跑子作业中的目标任务提交到工作流调度系统。其中,通过待提交至工作流调度系统中的目标任务的第一并发数量和目标滑动窗口中记录的任务的第二并发数量,确定是否将重跑子作业中的目标任务提交到工作流调度系统,从而避免用户频繁提交重跑作业,减少资源浪费。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种任务处理方法的应用环境图。
图2是根据一示例性实施例示出的一种任务处理方法的流程图。
图3是根据一示例性实施例示出的一种任务处理装置的框图。
图4是根据一示例性实施例示出的一种服务器的内部结构图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开所提供的任务处理方法,可以应用于如图1所示的应用环境中。其中,终端110通过网络与服务器120进行交互。其中,终端110可以是但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。其中,终端110响应于目标账户的重跑作业的提交操作,确定重跑作业的元数据。服务器120根据目标账户提交的重跑作业的元数据,确定重跑子作业,获取重跑子作业中的待提交至工作流调度系统中的目标任务的第一并发数量,以及目标滑动窗口中记录的任务的第二并发数量,根据第一并发数量和第二并发数量,确定是否将重跑子作业中的目标任务提交到工作流调度系统。
图2是根据一示例性实施例示出的一种任务处理方法的流程图,如图2所示,任务处理方法用于图1中的服务器,包括以下步骤:
在步骤S21中,根据目标账户提交的重跑作业的元数据,确定重跑子作业;
其中,作业是指目标账户向工作流调度系统提交的一项工作的基本单位,是目标账户在一次事务处理或计算过程中要求计算机所做的工作的和。重跑作业指需要对历史数据进行处理或计算的作业。
其中,元数据又称中介数据、中继数据,为描述数据的数据,主要是描述数据属性的信息,本公开实施例中的元数据包括重跑作业的根任务列表、重跑作业的开始时间、重跑作业的结束时间、重跑作业的时间片的大小。
在可选地一个实施例中,所述根据目标账户提交的重跑作业的元数据,确定重跑子作业,包括:
获取目标账户提交的重跑作业的元数据;
根据所述元数据中的时间片,对所述重跑作业进行划分,确定所述重跑子作业。
在本公开实施例中,根据时间片的大小可以对作业进行划分,得到若干子作业。其中,对作业进行划分得到子作业属于现有技术,此处不加以赘述。其中,对作业进行划分,得到若干子作业,不同的子作业被分别指派到不同的机群,可以提高执行效率。
在步骤S22中,获取所述重跑子作业中的待提交至工作流调度系统中的目标任务的第一并发数量,以及目标滑动窗口中记录的任务的第二并发数量;
其中,任务是工作流调度的最小粒度的可以运行的实体。任务的元数据包括用户标识Owner、开发组ID GroupId以及待提交的重跑队列。一个子作业包含一个或者多个任务以及任务下游。最终向工作流调度系统中提交的是任务粒度(包括划分后的子作业的开始和子作业的结束时间,以及允许工作流调度系统同时执行的任务并发数量)。工作流调度系统是对任务进行调度的系统。
在本公开实施例中,目标账户提交的重跑作业的元数据包括根任务列表。根据根任务列表和任务依赖图可以计算出需要重跑的所有下游任务(也可以称之为重跑子图)。根据元数据中的时间片对重跑作业进行划分,确定重跑子作业,当重跑子作业中的依赖的上游任务为空或者依赖的上游任务全部执行成功,则表示下游任务已经就绪,提交至工作流调度系统中,将重跑子作业中的待提交至工作流调度系统中的任务称之为目标任务。
其中,任务依赖图包含任务和任务之间存在的依赖关系,多个任务之间组成的一个图。根据工作流调度系统中所有的任务以及任务之间的关系计算得到任务依赖图。
其中,提交重跑子作业中的目标任务提交到工作流调度系统时,会将任务存储到对应的滑动时间窗口中,则目标滑动窗口中记录的任务的第二并发数量表示已成功提交至工作流调度系统的任务并发数量。
进一步地,获取目标滑动窗口中记录的任务的第二并发数量的实现方式为:
确定获取重跑子作业中的待提交至工作流调度系统中的目标任务的第一时间,预先设置目标滑动窗口的大小为预设时段,该时段包括起始时间和结束时间,则将第一时间作为目标滑动窗口的结束时间,根据预设时段和结束时间,确定滑动窗口的起始时间。例如,预先设置目标滑动窗口的大小为10分钟,确定获取重跑子作业中的待提交至工作流调度系统中的目标任务的第一时间为2020年4月20日15时20分,则将2020年4月20日15时20分确定为目标滑动窗口的结束时间,根据预设时段和结束时间,确定滑动窗口的起始时间为2020年4月20日15时10确定为滑动窗口的起始时间。之后,确定该时间段内的记录的任务的第二并发数量。
在步骤S23中,根据所述第一并发数量和所述第二并发数量,确定是否将所述重跑子作业中的目标任务提交到工作流调度系统。
在本公开实施例中,通过将第一并发数量和第二并发数量的和与预设阈值进行比较的方式,确定是否将重跑子作业中的目标任务提交到工作流调度系统。
在可选地一个实施例中,若所述第一并发数量和所述第二并发数量的和小于第一预设阈值,则确定将所述重跑子作业中的目标任务提交到所述工作流调度系统。
其中,第一预设阈值表示任务的并发数量的提交极限值。若第一并发数量和第二并发数量的和小于第一预设阈值,则表示待提交的目标任务提交后,任务的并发数量没有超过提交极限值,还是允许将重跑子作业中的目标任务提交到工作流调度系统。通过该方法,可以控制用户频繁提交重跑作业,限制系统对重跑任务的提交,减少资源浪费。
在可选地一个实施例中,若所述第一并发数量和所述第二并发数量的和大于或等于所述第一预设阈值,则更新所述目标任务的第一等待时间;当到达所述第一等待时间时,返回执行所述根据所述第一并发数量和所述第二并发数量,确定是否将所述重跑子作业中的目标任务提交到工作流调度系统的步骤。
在本公开实施例中,若第一并发数量和第二并发数量的和大于或等于第一预设阈值,则表示待提交的目标任务提交后,任务的并发数量超过提交极限值,不允许将重跑子作业中的目标任务提交到工作流调度系统。此时,需要对上述目标任务设置一个等待时间(即第一等待时间),当到达第一等待时间时,重新计算目标任务的第一并发数量和目标滑动窗口中记录的任务的第二并发数量的和以及后续步骤。根据上述方式,可以避免用户频繁提交重跑作业,限制系统对重跑任务的提交,减少资源浪费。
上述任务处理方法,根据目标账户提交的重跑作业的元数据,确定重跑子作业,获取重跑子作业中的待提交至工作流调度系统中的目标任务的第一并发数量,以及目标滑动窗口中记录的任务的第二并发数量,根据第一并发数量和第二并发数量,确定是否将重跑子作业中的目标任务提交到工作流调度系统。其中,通过待提交至工作流调度系统中的目标任务的第一并发数量和目标滑动窗口中记录的任务的第二并发数量,确定是否将重跑子作业中的目标任务提交到工作流调度系统,从而避免用户频繁提交重跑作业,减少资源浪费。
在一示例性实施例中,任务处理方法包括以下步骤:
第一步,根据目标账户提交的重跑作业的元数据,确定重跑子作业。
第二步,获取所述重跑子作业中的待提交至工作流调度系统中的目标任务的第一并发数量,以及目标滑动窗口中记录的任务的第二并发数量。
第三步,若所述第一并发数量和所述第二并发数量的和大于或等于所述第一预设阈值,则更新所述目标任务的第一等待时间。
第四步,当到达所述第一等待时间时,返回执行所述根据所述第一并发数量和所述第二并发数量,确定是否将所述重跑子作业中的目标任务提交到工作流调度系统的步骤。
本公开实施例中的第一步至第四步描述的内容和上述各实施例中描述的内容一致,此处不再加以赘述。
第五步,若所述第一并发数量和所述第二并发数量的和小于第一预设阈值,获取所述工作流调度系统的资源使用率。
其中,第五步和第三步是并列关系。
在本公开实施例中,若第一并发数量和第二并发数量的和小于第一预设阈值,则还需要获取工作流调度系统的资源使用率。根据工作流调度系统的资源使用率确定是否将重跑子作业中的目标任务提交到工作流调度系统。
第六步,若所述工作流调度系统的资源使用率小于第二预设阈值,则确定将所述重跑子作业中的目标任务提交到所述工作流调度系统。
其中,第二预设阈值为衡量工作流调度系统的资源使用情况的临界值。当工作流调度系统的资源使用率小于第二预设阈值,则表示该工作流调度系统的资源使用率不是特别大,可以继续使用,当工作流调度系统的资源使用率大于或等于第二预设阈值,则表示该工作流调度系统的资源使用率比较大,则无法继续使用。通过该方法,可以在工作流调度系统的资源使用率小于第二预设阈值的时候才提交任务,避免提交过多任务,造成任务堵塞,如果长时间不管控,会影响其他任务执行。
第七步,若所述工作流调度系统的资源使用率大于或等于所述第二预设阈值,更新所述目标任务的第二等待时间。
第八步,当到达所述第二等待时间时,返回执行所述获取所述重跑子作业中的待提交至工作流调度系统中的目标任务的第一并发数量,以及目标滑动窗口中记录的任务的第二并发数量的步骤。
在本公开实施例中,其中,第二预设阈值表示任务的并发数量的提交极限值。若工作流调度系统的资源使用率大于或等于第二预设阈值,则表示待提交的目标任务提交后,任务的并发数量超过提交极限值,不允许将重跑子作业中的目标任务提交到工作流调度系统。此时,需要对上述目标任务设置一个等待时间(即第二等待时间),当到达第二等待时间时,重新计算目标任务的第一并发数量和目标滑动窗口中记录的任务的第二并发数量的和以及后续步骤。根据上述方式,可以避免用户频繁提交重跑作业,降低工作流调度系统的资源使用率,限制系统对重跑任务的提交,减少资源浪费。
在一示例性实施例中,任务处理方法包括以下步骤:
第一步,根据目标账户提交的重跑作业的元数据,确定重跑子作业。
第二步,获取所述重跑子作业中的待提交至工作流调度系统中的目标任务的第一并发数量,以及目标滑动窗口中记录的任务的第二并发数量。
第三步,若所述第一并发数量和所述第二并发数量的和大于或等于所述第一预设阈值,则更新所述目标任务的第一等待时间。
第四步,当到达所述第一等待时间时,返回执行所述根据所述第一并发数量和所述第二并发数量,确定是否将所述重跑子作业中的目标任务提交到工作流调度系统的步骤。
第五步,若所述第一并发数量和所述第二并发数量的和小于第一预设阈值,获取所述工作流调度系统的资源使用率。
其中,第五步和第三步是并列关系。
第六步,若所述工作流调度系统的资源使用率大于或等于所述第二预设阈值,更新所述目标任务的第二等待时间。
第七步,当到达所述第二等待时间时,返回执行所述获取所述重跑子作业中的待提交至工作流调度系统中的目标任务的第一并发数量,以及目标滑动窗口中记录的任务的第二并发数量的步骤。
本公开实施例中的第一步至第七步描述的内容和上述各实施例中相应内容描述一致,此处不再加以赘述。
第八步,若所述工作流调度系统的资源使用率小于第二预设阈值,获取资源管理系统的资源使用率。
其中,第八步和第六步是并列关系。
第九步,若所述资源管理系统的资源使用率小于第三预设阈值,则确定将所述重跑子作业中的目标任务提交到所述工作流调度系统。
其中,第三预设阈值为衡量资源管理系统(Yarn资源管理系统)的资源使用情况的临界值。当资源管理系统的资源使用率小于第三预设阈值,则表示该资源管理系统的资源使用率不是特别大,可以继续使用,当资源管理系统的资源使用率大于或等于第三预设阈值,则表示该资源管理系统的资源使用率比较大,则无法继续使用。
其中,Yarn资源管理系统是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度。在Yarn平台上可以运行Map Reduce任务、Spark任务。Yarn的资源按照队列划分,每个业务都有自己的重跑队列,每个队列的资源的分配可能不同。如果某个队列资源比较少,而往这个队列提交的任务比较多,会使得队列拥堵比较严重,如果长时间不管控,会影响其他任务执行。
在本公开实施例中,当资源管理系统的资源使用率小于第三预设阈值,则表示该资源管理系统的资源使用率不是特别大,资源不紧张,可以继续使用,可以继续提交任务至工作流调度系统。通过该方法,可以在资源管理系统的资源使用率小于第三预设阈值的时候才提交任务,避免提交过多任务,造成任务堵塞,如果长时间不管控,会影响其他任务执行。
第十步,若所述资源管理系统的资源使用率大于或等于所述第三预设阈值,更新所述目标任务的第三等待时间。
第十一步,当到达所述第三等待时间时,返回执行所述获取所述重跑子作业中的待提交至工作流调度系统中的目标任务的第一并发数量,以及目标滑动窗口中记录的任务的第二并发数量的步骤。
在本公开实施例中,其中,第三预设阈值表示任务的并发数量的提交极限值。若资源管理系统的资源使用率大于或等于第三预设阈值,则表示待提交的目标任务提交后,任务的并发数量超过提交极限值,不允许将重跑子作业中的目标任务提交到工作流调度系统。此时,需要对上述目标任务设置一个等待时间(即第三等待时间),当到达第三等待时间时,重新计算目标任务的第一并发数量和目标滑动窗口中记录的任务的第二并发数量的和以及后续步骤。根据上述方式,可以避免用户频繁提交重跑作业,降低资源管理系统的资源使用率,减少资源浪费。
在一示例性实施例中,所述方法还包括:
根据任务画像、工作流调度系统的资源使用率、资源管理系统的资源使用率和预设影响因子,确定任务并发数量;根据所述任务并发数量对所述目标滑动窗口中记录的任务的第二并发数量进行更新。
其中,任务画像表示任务并发数量、任务资源消耗等指标。预设影响因子为一个预设阈值,可根据实际情况修改。可选地,任务画像对应影响因子1,工作流调度系统的资源使用率对应影响因子2,资源管理系统的资源使用率对应影响因子3,则任务画像*影响因子1+任务资源消耗等指标*影响因子2+资源管理系统的资源使用率*影响因子3=任务并发数量。
在本公开实施例中,目标任务提交至工作流调度系统后,根据任务画像、工作流调度系统的资源使用率、资源管理系统的资源使用率和预设影响因子,确定任务并发数量。并将目标滑动窗口中记录的任务的第二并发数量更新为该任务并发数量,使得可以重新根据目标账户提交的重跑作业的元数据,确定重跑子作业,获取重跑子作业中的待提交至工作流调度系统中的目标任务的第一并发数量,以及目标滑动窗口中记录的任务的第二并发数量(此时的任务并发数量是根据任务画像、工作流调度系统的资源使用率、资源管理系统的资源使用率和预设影响因子所确定的任务并发数量),并继续执行后续步骤,避免用户频繁提交重跑作业,降低资源管理系统的资源使用率,减少资源浪费。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
图3是根据一示例性实施例示出的一种任务处理装置框图。参照图3,该装置包括第一确定单元31,获取单元32和第二确定单元33。
该第一确定单元31,被配置为执行根据目标账户提交的重跑作业的元数据,确定重跑子作业;
该获取单元32,被配置为执行获取所述重跑子作业中的待提交至工作流调度系统中的目标任务的第一并发数量,以及目标滑动窗口中记录的任务的第二并发数量;
该第二确定单元33,被配置为执行根据所述第一并发数量和所述第二并发数量,确定是否将所述重跑子作业中的目标任务提交到工作流调度系统。
在一示例性实施例中,第一确定单元31,还被配置为执行:
获取目标账户提交的重跑作业的元数据;
根据所述元数据中的时间片,对所述重跑作业进行划分,确定所述重跑子作业。
在一示例性实施例中,第二确定单元33,还被配置为执行:
若所述第一并发数量和所述第二并发数量的和小于第一预设阈值,则确定将所述重跑子作业中的目标任务提交到所述工作流调度系统。
在一示例性实施例中,第二确定单元33,还被配置为执行:
若所述第一并发数量和所述第二并发数量的和大于或等于所述第一预设阈值,则更新所述目标任务的第一等待时间;
当到达所述第一等待时间时,返回执行所述根据所述第一并发数量和所述第二并发数量,确定是否将所述重跑子作业中的目标任务提交到工作流调度系统的步骤。
在一示例性实施例中,第二确定单元33,还被配置为执行:
获取所述工作流调度系统的资源使用率;
若所述工作流调度系统的资源使用率小于第二预设阈值,则确定将所述重跑子作业中的目标任务提交到所述工作流调度系统。
在一示例性实施例中,第二确定单元33,还被配置为执行:
若所述工作流调度系统的资源使用率大于或等于所述第二预设阈值,更新所述目标任务的第二等待时间;
当到达所述第二等待时间时,返回执行所述获取所述重跑子作业中的待提交至工作流调度系统中的目标任务的第一并发数量,以及目标滑动窗口中记录的任务的第二并发数量的步骤。
在一示例性实施例中,第二确定单元33,还被配置为执行:
获取资源管理系统的资源使用率;
若所述资源管理系统的资源使用率小于第三预设阈值,则确定将所述重跑子作业中的目标任务提交到所述工作流调度系统。
在一示例性实施例中,第二确定单元33,还被配置为执行:
若所述资源管理系统的资源使用率大于或等于所述第三预设阈值,更新所述目标任务的第三等待时间;
当到达所述第三等待时间时,返回执行所述获取所述重跑子作业中的待提交至工作流调度系统中的目标任务的第一并发数量,以及目标滑动窗口中记录的任务的第二并发数量的步骤。
在一示例性实施例中,任务处理装置还包括:
第三确定单元,被配置为执行根据任务画像、工作流调度系统的资源使用率、资源管理系统的资源使用率和预设影响因子,确定任务并发数量;
更新单元,被配置为执行根据所述任务并发数量对所述目标滑动窗口中记录的任务的第二并发数量进行更新。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图4是根据一示例性实施例示出的一种用于任务管理的设备400的框图。例如,设备400可以为一服务器。参照图4,设备400包括处理组件420,其进一步包括一个或多个处理器,以及由存储器422所代表的存储器资源,用于存储可由处理组件420的执行的指令,例如应用程序。存储器422中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件420被配置为执行指令,以执行上述任务管理的方法。
设备400还可以包括一个电源组件424被配置为执行设备400的电源管理,一个有线或无线网络接口426被配置为将设备400连接到网络,和一个输入输出(I/O)接口428。设备400可以操作基于存储在存储器422的操作系统,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD或类似。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器422,上述指令可由设备400的处理器执行以完成上述方法。存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在一示例性实施例中,提供一种服务器,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现任一项实施例中所述的任务处理方法。
在一示例性实施例中,提供一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行任一项实施例中所述的任务处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种任务处理方法,其特征在于,包括:
根据目标账户提交的重跑作业的元数据,确定重跑子作业;
获取所述重跑子作业中的待提交至工作流调度系统中的目标任务的第一并发数量,以及目标滑动窗口中记录的任务的第二并发数量;
根据所述第一并发数量和所述第二并发数量,确定是否将所述重跑子作业中的目标任务提交到工作流调度系统。
2.根据权利要求1所述的任务处理方法,其特征在于,所述根据目标账户提交的重跑作业的元数据,确定重跑子作业,包括:
获取目标账户提交的重跑作业的元数据;
根据所述元数据中的时间片,对所述重跑作业进行划分,确定所述重跑子作业。
3.根据权利要求1所述的任务处理方法,其特征在于,所述根据所述第一并发数量和所述第二并发数量,确定是否将所述重跑子作业中的目标任务提交到工作流调度系统,包括:
若所述第一并发数量和所述第二并发数量的和小于第一预设阈值,则确定将所述重跑子作业中的目标任务提交到所述工作流调度系统。
4.根据权利要求3所述的任务处理方法,其特征在于,所述方法还包括:
若所述第一并发数量和所述第二并发数量的和大于或等于所述第一预设阈值,则更新所述目标任务的第一等待时间;
当到达所述第一等待时间时,返回执行所述根据所述第一并发数量和所述第二并发数量,确定是否将所述重跑子作业中的目标任务提交到工作流调度系统的步骤。
5.根据权利要求3所述的任务处理方法,其特征在于,所述确定将所述重跑子作业中的目标任务提交到工作流调度系统,之前还包括:
获取所述工作流调度系统的资源使用率;
若所述工作流调度系统的资源使用率小于第二预设阈值,则确定将所述重跑子作业中的目标任务提交到所述工作流调度系统。
6.根据权利要求5所述的任务处理方法,其特征在于,所述方法还包括:
若所述工作流调度系统的资源使用率大于或等于所述第二预设阈值,更新所述目标任务的第二等待时间;
当到达所述第二等待时间时,返回执行所述获取所述重跑子作业中的待提交至工作流调度系统中的目标任务的第一并发数量,以及目标滑动窗口中记录的任务的第二并发数量的步骤。
7.根据权利要求5所述的任务处理方法,其特征在于,在所述若所述工作流调度系统的资源使用率小于第二预设阈值之后,所述确定将所述重跑子作业中的目标任务提交到所述工作流调度系统之前,还包括:
获取资源管理系统的资源使用率;
若所述资源管理系统的资源使用率小于第三预设阈值,则确定将所述重跑子作业中的目标任务提交到所述工作流调度系统。
8.一种任务处理装置,其特征在于,包括:
第一确定单元,被配置为执行根据目标账户提交的重跑作业的元数据,确定重跑子作业;
获取单元,被配置为执行获取所述重跑子作业中的待提交至工作流调度系统中的目标任务的第一并发数量,以及目标滑动窗口中记录的任务的第二并发数量;
第二确定单元,被配置为执行根据所述第一并发数量和所述第二并发数量,确定是否将所述重跑子作业中的目标任务提交到工作流调度系统。
9.一种服务器,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至9中任一项所述的任务处理方法。
10.一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如权利要求1至9中任一项所述的任务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010549928.0A CN113806029A (zh) | 2020-06-16 | 2020-06-16 | 任务处理方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010549928.0A CN113806029A (zh) | 2020-06-16 | 2020-06-16 | 任务处理方法、装置、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113806029A true CN113806029A (zh) | 2021-12-17 |
Family
ID=78944509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010549928.0A Pending CN113806029A (zh) | 2020-06-16 | 2020-06-16 | 任务处理方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113806029A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110087731A1 (en) * | 2009-10-08 | 2011-04-14 | Laura Wong | Systems and methods to process a request received at an application program interface |
CN109669766A (zh) * | 2018-09-11 | 2019-04-23 | 深圳平安财富宝投资咨询有限公司 | 批处理作业的处理方法、装置、设备及存储介质 |
CN110247856A (zh) * | 2019-05-24 | 2019-09-17 | 平安科技(深圳)有限公司 | 服务器资源释放方法和装置 |
CN111142942A (zh) * | 2019-12-26 | 2020-05-12 | 远景智能国际私人投资有限公司 | 窗口数据的处理方法、装置、服务器及存储介质 |
-
2020
- 2020-06-16 CN CN202010549928.0A patent/CN113806029A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110087731A1 (en) * | 2009-10-08 | 2011-04-14 | Laura Wong | Systems and methods to process a request received at an application program interface |
CN109669766A (zh) * | 2018-09-11 | 2019-04-23 | 深圳平安财富宝投资咨询有限公司 | 批处理作业的处理方法、装置、设备及存储介质 |
CN110247856A (zh) * | 2019-05-24 | 2019-09-17 | 平安科技(深圳)有限公司 | 服务器资源释放方法和装置 |
CN111142942A (zh) * | 2019-12-26 | 2020-05-12 | 远景智能国际私人投资有限公司 | 窗口数据的处理方法、装置、服务器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Peng et al. | Optimus: an efficient dynamic resource scheduler for deep learning clusters | |
JP6447120B2 (ja) | ジョブスケジューリング方法、データアナライザ、データ解析装置、コンピュータシステム及びコンピュータ可読媒体 | |
Cho et al. | Natjam: Design and evaluation of eviction policies for supporting priorities and deadlines in mapreduce clusters | |
US9135581B1 (en) | Resource constrained task scheduling | |
WO2021159638A1 (zh) | 集群队列资源的调度方法、装置、设备及存储介质 | |
US20140019987A1 (en) | Scheduling map and reduce tasks for jobs execution according to performance goals | |
US20130290972A1 (en) | Workload manager for mapreduce environments | |
US9870269B1 (en) | Job allocation in a clustered environment | |
US11915054B2 (en) | Scheduling jobs on interruptible cloud computing instances | |
CN112817721B (zh) | 基于人工智能的任务调度方法、装置、计算机设备和介质 | |
US20080221857A1 (en) | Method and apparatus for simulating the workload of a compute farm | |
US8458136B2 (en) | Scheduling highly parallel jobs having global interdependencies | |
US10013288B2 (en) | Data staging management system | |
Venugopal et al. | A deadline and budget constrained scheduling algorithm for eScience applications on data grids | |
Sen et al. | Autotoken: Predicting peak parallelism for big data analytics at microsoft | |
Fu et al. | Optimizing speculative execution in spark heterogeneous environments | |
Ambati et al. | Good things come to those who wait: Optimizing job waiting in the cloud | |
EP2840513B1 (en) | Dynamic task prioritization for in-memory databases | |
CN112181498A (zh) | 并发控制方法、装置和设备 | |
CN113806029A (zh) | 任务处理方法、装置、服务器及存储介质 | |
US10592813B1 (en) | Methods and apparatus for data operation pre-processing with probabilistic estimation of operation value | |
Capannini et al. | A job scheduling framework for large computing farms | |
CN113835953A (zh) | 作业信息的统计方法、装置、计算机设备和存储介质 | |
CN114945909B (zh) | 资源利用优化的优化查询调度 | |
US20180089604A1 (en) | Real-time supply response planning |
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 |