CN114138444A - 一种任务调度方法、装置、设备、存储介质及程序产品 - Google Patents
一种任务调度方法、装置、设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN114138444A CN114138444A CN202111482939.2A CN202111482939A CN114138444A CN 114138444 A CN114138444 A CN 114138444A CN 202111482939 A CN202111482939 A CN 202111482939A CN 114138444 A CN114138444 A CN 114138444A
- Authority
- CN
- China
- Prior art keywords
- scheduled
- job
- file
- preset threshold
- execution result
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据存储技术领域,具体是一种任务调度方法、装置、设备、存储介质及程序产品,所述方法包括:获取待调度任务,所述待调度任务包括至少一个待调度作业;针对各个所述待调度作业,获取所述待调度作业对应的历史执行结果文件信息和后续作业信息;根据所述历史执行结果文件信息和所述后续作业信息确定所述待调度作业的本次执行结果文件的存储方式;确定执行所述待调度作业的第一计算节点;将所述待调度作业和所述存储方式下发至所述第一计算节点,以使得所述第一计算节点执行所述待调度作业,并根据所述存储方式对所述待调度作业的本次执行结果文件进行存储。本发明的方法可以实现自适应存储,进而提高任务调度的效率,降低资源的消耗。
Description
技术领域
本发明涉及数据存储技术领域,特别涉及一种任务调度方法、装置、设备、存储介质及程序产品。
背景技术
近年来,随着银行业务的不断发展,后端系统规模也在不断扩大,批处理任务的数量与复杂度都在日益增加。将批处理任务调度在单台主机上处理时,由于任务数量及复杂度过高,单台主机无法提供足够的性能,导致主机负荷过大,影响任务的处理。
随着分布式架构的崛起,各个银行都在积极探索主机下移的解决方案,通过依托企业级分布式平台和采用开放技术建设核心银行系统,以通过分布式架构的批处理框架来实现原先主机的批处理功能,达到降低复杂度,缩短任务执行时间的目的。
现有技术中,分布式架构系统在执行批处理任务时,所有任务数据均需要从数据库下档后,以文件的形式存储在分布式存储系统中,供分布式架构系统中的所有计算节点使用。在需要使用任务数据时,所有计算节点都需要从分布式存储系统中读取文件,导致大量的计算资源消耗(包括中央处理器、输入/输出和网络开销等)。并且,由于分布式存储系统存储的文件都是独立的文件,在出现文件损坏或丢失等问题时,无法溯源重新下载。
发明内容
针对现有技术的上述问题,本发明的目的在于提供一种任务调度方法、装置、设备、存储介质及程序产品,能够实现自适应存储,从而提高任务调度的效率,同时降低系统资源和网络资源的消耗。
为了解决上述问题,本发明提供一种任务调度方法,包括:
获取待调度任务,所述待调度任务包括至少一个待调度作业;
针对各个所述待调度作业,获取所述待调度作业对应的历史执行结果文件信息和后续作业信息;
根据所述历史执行结果文件信息和所述后续作业信息确定所述待调度作业的本次执行结果文件的存储方式;
确定执行所述待调度作业的第一计算节点;
将所述待调度作业和所述存储方式下发至所述第一计算节点,以使得所述第一计算节点执行所述待调度作业,并根据所述存储方式对所述待调度作业的本次执行结果文件进行存储。
进一步地,所述根据所述历史执行结果文件信息和所述后续作业信息确定所述待调度作业的本次执行结果文件的存储方式包括:
根据所述历史执行结果文件信息预估所述本次执行结果文件的文件大小;
将所述文件大小与第一预设阈值进行比较,得到第一比较结果;
根据所述后续作业信息预估需要使用所述本次执行结果文件的作业数量;
将所述作业数量与第二预设阈值进行比较,得到第二比较结果;
根据所述第一比较结果和所述第二比较结果确定所述本次执行结果文件的存储方式。
进一步地,所述根据所述第一比较结果和所述第二比较结果确定所述本次执行结果文件的存储方式包括:
如果所述第一比较结果为所述文件大小小于或等于所述第一预设阈值,所述第二比较结果为所述作业数量小于或等于所述第二预设阈值,则确定所述存储方式为内存存储的方式;
如果所述第一比较结果为所述文件大小大于所述第一预设阈值,所述第二比较结果为所述作业数量小于或等于所述第二预设阈值,则确定所述存储方式为内存存储和本地存储相结合的方式;
如果所述第一比较结果为所述文件大小小于或等于所述第一预设阈值,所述第二比较结果为所述作业数量大于所述第二预设阈值,则确定所述存储方式为分布式缓存存储的方式;
如果所述第一比较结果为所述文件大小大于所述第一预设阈值,所述第二比较结果为所述作业数量大于所述第二预设阈值,则确定所述存储方式为分布式存储系统存储的方式。
进一步地,所述确定执行所述待调度作业的第一计算节点包括:
获取所述待调度作业对应的待处理文件的存储位置信息;
基于所述存储位置信息为所述待调度作业分配至少一个计算节点,作为所述第一计算节点。
进一步地,所述方法还包括:
在所述待调度任务中的各个待调度作业均被执行完成后,获取所述待调度任务对应的第一性能指标数据;
对当前的第一预设阈值和/或当前的第二预设阈值进行调整,基于调整后的第一预设阈值和/或调整后的第二预设阈值重新对所述待调度任务中的各个待调度作业进行调度执行;
在所述待调度任务中的各个待调度作业均被重新执行完成后,获取所述待调度任务对应的第二性能指标数据;
当所述第二性能指标数据小于所述第一性能指标数据时,相应地利用调整后的第一预设阈值替换当前的第一预设阈值;和/或,利用调整后的第二预设阈值替换当前的第二预设阈值。
进一步地,所述方法还包括:
记录所述本次执行结果文件与所述待调度作业之间的对应关系;
获取所述待调度作业的前序作业,记录所述待调度作业与所述前序作业之间的血缘关系;
其中,所述前序作业为生成所述待调度作业对应的待处理文件的作业。
进一步地,所述方法还包括:
当接收到所述第一计算节点发送的异常通知消息时,根据所述待调度作业对应的血缘关系确定所述待调度作业的前序作业;其中,所述异常通知消息由所述第一计算节点在未获取到所述待调度作业对应的待处理文件时生成;
向执行所述前序作业的第二计算节点发送重新执行指令,以使得所述第二计算节点重新执行所述前序作业。
本发明另一方面提供一种任务调度装置,包括:
第一获取模块,用于获取待调度任务,所述待调度任务包括至少一个待调度作业;
第二获取模块,用于针对各个所述待调度作业,获取所述待调度作业对应的历史执行结果文件信息和后续作业信息;
第一确定模块,用于根据所述历史执行结果文件信息和所述后续作业信息确定所述待调度作业的本次执行结果文件的存储方式;
第二确定模块,用于确定执行所述待调度作业的第一计算节点;
作业下发模块,用于将所述待调度作业和所述存储方式下发至所述第一计算节点,以使得所述第一计算节点执行所述待调度作业,并根据所述存储方式对所述待调度作业的本次执行结果文件进行存储。
本发明另一方面提供一种电子设备,包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述的任务调度方法。
本发明另一方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上述的任务调度方法。
本发明另一方面提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述的任务调度方法的步骤。
由于上述技术方案,本发明具有以下有益效果:
根据本发明实施例的任务调度方法,通过根据各个待调度作业对应的历史执行结果文件信息和后续作业信息来确定本次执行结果文件的存储方式,并将所述存储方式和待调度作业一起下发至计算节点,使得所述计算节点可以根据所述存储方式对执行所述待调度作业生成的本次执行结果文件进行自适应存储,使得在调度后续作业时可以根据所述本次执行结果文件的存储位置信息进行计算节点的分配,节省获取对应的待处理文件的时间,从而节省任务运行的时间,提高任务调度的效率,同时降低系统资源和网络资源的消耗。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明一个实施例提供的任务调度系统的结构示意图;
图2是本发明一个实施例提供的任务调度方法的流程图;
图3是本发明另一个实施例提供的任务调度方法的流程图;
图4是本发明另一个实施例提供的任务调度方法的流程图;
图5是本发明一个实施例提供的任务调度装置的结构示意图;
图6是本发明一个实施例提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了使本发明实施例公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明实施例进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明实施例,并不用于限定本发明实施例。本发明实施例的技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
首先,本发明实施例对下述概念进行解释:
关键路径作业:整体作业运行完成后,从最后一个完成的作业向前查找到第一个作业,该路径中所有作业称为关键路径作业。
数据库下档:根据SQL语句从数据库查询结果,并将结果保存在文件中,供后续业务系统使用。依据安全规定,批处理作业系统不能够直接查询数据库数据。
参考说明书附图1,其示出了本发明一个实施例提供的任务调度系统的结构示意图,如图1所示,所述任务调度系统可以至少包括管理节点110和至少一个计算节点120,所述管理节点110和各个计算节点120可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例对此不做限制。
所述管理节点110和所述至少一个计算节点120可以包括智能手机、平板电脑、笔记本电脑、台式计算机、数字助理、智能音箱、智能可穿戴设备、车载终端、服务器等类型的实体设备,也可以包括运行于实体设备中的软体,例如应用程序等,但并不局限于此。所述管理节点110和所述至少一个计算节点120上运行的操作系统可以包括但不限于安卓系统、iOS系统、linux系统、windows系统等。
在一个可能的实施例中,所述任务调度系统还可以包括存储分配系统130、作业管理系统140和分布式存储系统150。具体地,所述存储分配系统130可以用于记录各个待调度作业被执行后生成的执行结果文件的文件大小信息、存储位置信息,记录各个待调度作业与生成的执行结果文件之间的对应关系,以及记录各个待调度作业与对应的前序作业之间的血缘关系等,所述作业管理系统140可以用于记录各个待调度作业对应的待处理文件等,所述分布式存储系统150可以用于存储所述待调度任务对应的数据库下档文件、各个待调度作业被执行后生成的执行结果文件等数据。
具体地,所述管理节点110可以基于所述存储分配系统130和所述作业管理系统140中的数据,利用本发明实施例提供的任务调度方法对待调度任务中的至少一个待调度作业进行调度,以将各个所述待调度作业下发至所述至少一个计算节点120中执行,得到执行结果。
需要说明的是,图1仅仅是一种示例。本领域技术人员可以理解,虽然图1中只示出了3个计算节点120,但并不构成对本发明实施例的限定,可以包括比图示更多或更少的计算节点120。
参考说明书附图2,其示出了本发明一个实施例提供的一种任务调度方法的流程,该方法可以应用于图1中的管理节点中,具体的如图2所示,所述方法可以包括以下步骤:
S210:获取待调度任务,所述待调度任务包括至少一个待调度作业。
本发明实施例中,所述待调度任务可以为批处理作业任务,一个完整的批处理作业任务可以由多个批处理作业组成。其中,批处理作业任务是银行在每天日终通过批处理的形式完成的相应业务,例如结息处理、信用卡自动还款、定期自动转存等业务。以一个简单的结息处理批处理作业任务为例,由以下四个批处理作业组成:将相关数据进行数据库下档输出到下档文件、筛选出下档文件中的待修改记录输出到筛选后文件、按照业务处理规则处理筛选后的文件产生新文件、将新文件内容更新到相应数据库或传输到其他外部系统。
由上述的任务处理过程可以看出,不同批处理作业之间的数据传递和共享是通过作为输入文件或输出文件的各个批处理文件实现的。输入文件通过批处理作业A执行相应的功能步骤后,生成输出文件,批处理作业A的输出文件可以作为批处理作业B的输入文件,通过多个批处理作业之间相互配合完成整个批处理作业任务。
S220:针对各个所述待调度作业,获取所述待调度作业对应的历史执行结果文件信息和后续作业信息。
本发明实施例中,所述历史执行结果文件信息可以为前N次执行所述待调度作业生成的执行结果文件信息,所述后续作业信息可以为在执行所述待调度作业生成的执行结果文件的基础上进行的作业信息。示例性地,当所述待调度任务为日终批处理作业任务时,所述历史执行结果文件信息可以为前N天执行所述待调度作业生成的执行结果文件信息。其中,所述N的大小可以根据实际情况进行设置,例如可以设置为7次等,本发明实施例对此不作限制。
在实际应用中,可以通过查询存储分配系统来获取所述历史执行结果文件信息和后续作业信息。其中,所述存储分配系统可以记录有作业调度配置,根据作业调度配置可以得到作业链路,所述作业链路可以体现出各个待调度作业的执行先后顺序;所述存储分配系统还可以记录有每次执行各个待调度作业后生成的执行结果文件的信息,包括文件大小信息、存储位置信息等等。
S230:根据所述历史执行结果文件信息和所述后续作业信息确定所述待调度作业的本次执行结果文件的存储方式。
本发明实施例中,所述历史执行结果文件信息可以包括所述历史执行结果文件的文件大小,所述后续作业信息可以包括所述后续作业的数量,可以根据所述历史执行结果文件的文件大小预估所述本次执行结果文件的文件大小,根据所述后续作业的数量预估后续需要使用所述本次执行结果文件的作业数量,并根据所述本次执行结果文件的文件大小和需要使用所述本次执行结果文件的作业数量来确定所述本次执行结果文件的存储方式。
在一个可能的实施例中,所述根据所述历史执行结果文件信息和所述后续作业信息确定所述待调度作业的本次执行结果文件的存储方式可以包括:
根据所述历史执行结果文件信息预估所述本次执行结果文件的文件大小;
将所述文件大小与第一预设阈值进行比较,得到第一比较结果;
根据所述后续作业信息预估需要使用所述本次执行结果文件的作业数量;
将所述作业数量与第二预设阈值进行比较,得到第二比较结果;
根据所述第一比较结果和所述第二比较结果确定所述本次执行结果文件的存储方式。
具体地,可以获取前N次执行所述待调度作业生成的N个历史执行结果文件的文件大小,对所述N个历史执行结果文件的文件大小进行加权平均,得到预估的本次执行结果文件的文件大小。
在实际应用中,在对所述N个历史执行结果文件的文件大小进行加权平均的过程中,可以根据实际情况设置各个历史执行结果文件对应的权重,各个所述历史执行结果文件对应的权重可以相同,也可以不相同,本发明实施例对此不作限制。示例性地,可以为距离本次执行时间较近的历史执行结果文件设置较大的权重,为距离本次执行时间较远的历史执行结果文件设置较小的权重。
具体地,可以将所述待调度作业对应的后续作业的数量直接作为需要使用所述本次执行结果文件的作业数量。
需要说明的是,所述第一预设阈值和所述第二预设阈值的大小可以根据实际情况进行设置,本发明实施例对此不作限制。示例性地,所述第一预设阈值的初始值可以设置为文件大小为128兆(M),所述第二预设阈值的初始值可以设置为作业数量为5个,经过多次迭代后,所述第一预设阈值和所述第二预设阈值可以自适应调整,使得不同作业的执行结果文件的存储方案会根据整体作业流程进行自适应调整。
具体地,所述根据所述第一比较结果和所述第二比较结果确定所述本次执行结果文件的存储方式可以包括:
如果所述第一比较结果为所述文件大小小于或等于所述第一预设阈值,所述第二比较结果为所述作业数量小于或等于所述第二预设阈值,则确定所述存储方式为内存存储的方式;
如果所述第一比较结果为所述文件大小大于所述第一预设阈值,所述第二比较结果为所述作业数量小于或等于所述第二预设阈值,则确定所述存储方式为内存存储和本地存储相结合的方式;
如果所述第一比较结果为所述文件大小小于或等于所述第一预设阈值,所述第二比较结果为所述作业数量大于所述第二预设阈值,则确定所述存储方式为分布式缓存存储的方式;
如果所述第一比较结果为所述文件大小大于所述第一预设阈值,所述第二比较结果为所述作业数量大于所述第二预设阈值,则确定所述存储方式为分布式存储系统存储的方式。
在实际应用中,如果需要使用所述本次执行结果文件的作业数量较少,本次执行结果文件占用空间较少,那么可以将本次执行所述待调度作业生成的执行结果文件存储在本地内存中。如果需要使用所述本次执行结果文件的作业数量较少,但本次执行结果文件占用空间较大,那么可以采用内存存储和本地存储相结合的方式。在上述两种存储方式下,后续需要使用所述本次执行结果文件的作业都会被调度到执行所述待调度作业的计算节点中执行,当所述计算节点在执行后续作业时,可以直接操作内存中存储的文件,或者从本地磁盘中将文件加载至内存中进行操作,无需从分布式存储系统中读取数据。通过这种存储和调度方式,可以减少分布式存储系统存储和从分布式存储系统读取数据的步骤,节约了大量的设备间的输入输出和网络带宽。
在实际应用中,如果需要使用所述本次执行结果文件的作业数量较多,本次执行结果文件占用空间较少,那么可以将本次执行所述待调度作业生成的执行结果文件存储在redis缓存中;如果redis缓存不可用,那么可以存储在hadoop等分布式存储系统中。如果需要使用所述本次执行结果文件的作业数量较多,本次执行结果文件占用空间较大,那么可以将本次执行所述待调度作业生成的执行结果文件存储在hadoop等分布式存储系统中。在上述两种存储方式下,后续需要使用所述本次执行结果文件的作业可以正常调度计算节点,例如可以根据各个计算节点的负载进行均衡分配。
在一个可能的实施例中,当所述待调度作业为关键路径作业时,可以优先采用分布式缓存存储和分布式存储系统存储的方式,以防止关键路径作业阻塞。后续可以利用空闲时间对存储策略进行优化,如果采用内存存储和本地存储的方式更优,则可以切换至内存存储和本地存储的方式。
S240:确定执行所述待调度作业的第一计算节点。
本发明实施例中,可以根据预先设定的调度规则为所述待调度作业分配至少一个计算节点,作为执行所述待调度作业的第一计算节点。
在一个可能的实施例中,可以获取所述待调度作业对应的待处理文件的文件大小,以及获取所述任务调度系统中各个计算节点的负载情况,基于负载均衡原则,根据所述待处理文件的文件大小为所述待调度作业分配至少一个计算节点,作为执行所述待调度作业的第一计算节点。
在实际应用中,当所述待处理文件的文件大小较大时,可以先将所述待处理文件进行分片,对每个分片分别配置一个计算节点进行处理,即所述待调度作业可以由多个计算节点并行进行分布式处理;当所述待处理文件的文件大小较小时,可以只为所述待调度作业配置一个计算节点进行处理。
在一个可能的实施例中,结合参考说明书附图3,所述确定执行所述待调度作业的第一计算节点可以包括:
S241:获取所述待调度作业对应的待处理文件的存储位置信息。
S242:基于所述存储位置信息为所述待调度作业分配至少一个计算节点,作为所述第一计算节点。
具体地,可以预先对所述待调度作业进行分析,确定所述待调度作业对应的待处理文件,再确定所述待处理文件的存储位置信息。
在实际应用中,可以通过查询作业管理系统来分析确定所述待调度作业会使用到的文件,作为所述待处理文件,再通过查询存储分配系统获取所述待处理文件的存储位置信息。其中,所述作业管理系统可以记录有各个待调度作业对应的作业配置,根据所述作业配置可以得到作业与文件映射表,所述作业与文件映射表记录有各个待调度作业的会使用到的文件,即所述待处理文件。
具体地,所述待调度作业对应的待处理文件可以为所述待调度作业的前序作业生成的执行结果文件,例如可以为数据库下档文件、筛选出下档文件中的待修改记录得到的筛选后文件和处理筛选后的文件产生新文件等等。所述待处理文件的存储位置信息可以为一个或多个计算节点的内存、本地磁盘,或者可以为redis缓存、hadoop等分布式存储系统。
具体地,当所述待处理文件的存储位置为一个或多个计算节点的内存或者本地磁盘时,可以将所述一个或多个计算节点作为执行所述待调度作业的第一计算节点。当所述待处理文件的存储位置为redis缓存或者hadoop等分布式存储系统时,可以根据预先设定的调度规则为所述待调度作业分配至少一个计算节点,作为执行所述待调度作业的第一计算节点。
本发明实施例中,通过基于各个待调度作业对应的待处理文件的存储位置信息为所述待调度作业分配计算节点,当所述待处理文件存储在内存或本地磁盘时,可以节省从分布式存储系统中读取数据的步骤,缩短所述待调度作业的处理时间,从而可以缩短整个待调度任务的处理时间,减少大量的中央处理器(Central Processing Unit,CPU)资源、输入输出(Input/Output,IO)资源和网络带宽资源的消耗。
S250:将所述待调度作业和所述存储方式下发至所述第一计算节点,以使得所述第一计算节点执行所述待调度作业,并根据所述存储方式对所述待调度作业的本次执行结果文件进行存储。
本发明实施例中,当确定所述执行所述待调度作业的第一计算节点后,可以向所述第一计算节点发送针对所述待调度作业的作业执行指令,以使得所述第一计算节点执行所述待调度作业,生成本次执行结果文件。其中,所述作业执行指令可以包括所述待调度作业和所述存储方式。
相应地,所述第一计算节点接收到所述待调度作业和所述存储方式后,可以响应于所述作业执行指令获取所述待调度作业对应的待处理文件,并按照所述待调度作业对应的业务处理规则对所述待处理文件进行处理,最终生成所述本次执行结果文件。当所述第一计算节点生成所述本次执行结果文件后,可以采用所述存储方式对所述本次执行结果文件进行存储。
作为一个优选的实施方式,还可以获取所述待调度作业对应的待处理文件的存储位置信息,将所述存储位置信息与所述待调度作业一起下发至所述第一计算节点。相应地,所述第一计算节点可以根据所述存储位置信息获取所述待调度作业对应的待处理文件进行处理,生成所述本次执行结果文件。本发明实施例中,通过将所述待调度作业对应的待处理文件的存储位置信息下发至所述第一计算节点,使得所述第一计算节点可以根据所述存储位置信息直接获取到对应的待处理文件,能够节省计算节点获取待处理文件的时间,提高作业处理的效率。
具体地,当所述存储位置信息为内存时,所述第一计算节点可以直接操作内存中的待处理文件;当所述存储位置信息为内存和本地存储时,可以直接操作内存中的待处理文件,操作完成后,可以将本地存储的待处理文件加载至内存中进行操作;当所述存储位置信息为分布式缓存和分布式存储系统时,所述第一计算节点可以从分布式缓存和分布式存储系统中读取所述待处理文件,对读取的文件进行操作。
在一个具体的实施例中,假设批处理任务中有一个1G的文件下档,作业A是将相关数据进行数据库下档输出到数据库下档文件,作业B是将下档文件中的待修改记录输出到筛选后文件。
现有技术中的方案将作业A分配给A计算节点,A计算节点执行将相关数据进行数据库下档输出到数据库下档文件的作业,将生成的下档文件存储到Hadoop分布式存储系统中。将使用该下档文件的作业B分配给B计算节点,B计算节点从Hadoop分布式存储系统中读取该下档文件,并加载到内存中,进行后续处理。
而本发明实施例提供的技术方案将作业A分配给A计算节点,并确定作业A的本次执行结果文件的存储方式为内存存储,那么A计算节点执行将相关数据进行数据库下档输出到数据库下档文件的作业后,将生成的下档文件保存在A计算节点的内存中,然后将存储位置信息存储在存储分配系统中。管理节点在调度作业B的时候,由于作业B的待处理文件存储在A计算节点的内存中,因此可以将作业B分配至A计算节点执行,A计算节点执行作业B时发现文件存储在内存中,此时可以直接操作内存中数据。
可见,本发明实施例提供的技术方案相对于现有技术的方案,减少了将数据存储至hadoop分布式存储系统以及从hadoop分布式存储系统读取数据的步骤,节省了作业处理的时间,以及大量的IO和网络带宽。
在一个可能的实施例中,结合参考说明书附图4,所述方法还可以包括以下步骤:
260:在所述待调度任务中的各个待调度作业均被执行完成后,获取所述待调度任务对应的第一性能指标数据。
本发明实施例中,所述第一性能指标数据可以包括所述待调度任务的任务运行时间和计算节点消耗的一种或多种,所述计算节点消耗可以包括计算节点的CPU参数和IO参数等。
270:对当前的第一预设阈值和/或当前的第二预设阈值进行调整,基于调整后的第一预设阈值和/或调整后的第二预设阈值重新对所述待调度任务中的各个待调度作业进行调度执行。
本发明实施例中,可以在所述待调度任务中各个待调度作业均执行完成后,利用所述任务调度系统的空闲时间,对当前的第一预设阈值和/或当前的第二预设阈值进行调整,并基于调整后的第一预设阈值和/或调整后的第二预设阈值重新对所述待调度任务的各个待调度作业进行存储方案和作业分配方案的调整,基于调整后的存储方案和作业分配方案对各个待调度作业重新进行调度执行。
具体地,对所述待调度任务的各个待调度作业进行存储方案和作业分配方案的调整可以包括以下几种情况:
第一种情况是对当前的第一预设阈值进行调整,得到调整后的第一预设阈值,利用调整后的第一预设阈值和当前的第二预设阈值重新对所述待调度任务的各个待调度作业进行存储方案和作业分配方案的调整。
第二种情况是对当前的第二预设阈值进行调整,得到调整后的第二预设阈值,利用当前的第一预设阈值和调整后的第二预设阈值重新对所述待调度任务的各个待调度作业进行存储方案和作业分配方案的调整。
第三种情况是对当前的第一预设阈值和当前的第二预设阈值均进行调整,得到调整后的第一预设阈值和调整后的第二预设阈值,利用调整后的第一预设阈值和调整后的第二预设阈值重新对所述待调度任务的各个待调度作业进行存储方案和作业分配方案的调整。
具体地,所述对当前的第一预设阈值进行调整可以包括将所述当前的第一预设阈值调大或调小,对当前的第二预设阈值进行调整可以包括将所述当前的第二预设阈值调大或调小,本发明实施例中对当前的第一预设阈值和/或当前的第二预设阈值进行调整,可以包括上述几种方案的组合,本发明实施例对此不作限制。
280:在所述待调度任务中的各个待调度作业均被重新执行完成后,获取所述待调度任务对应的第二性能指标数据。
本发明实施例中,所述第二性能指标数据也可以包括所述待调度任务的任务运行时间和计算节点消耗的一种或多种,所述计算节点消耗可以包括计算节点的CPU参数和IO参数等。其中,所述第二性能指标数据的类型和所述第一性能指标数据的类型相同。
290:当所述第二性能指标数据小于所述第一性能指标数据时,相应地利用调整后的第一预设阈值替换当前的第一预设阈值;和/或,利用调整后的第二预设阈值替换当前的第二预设阈值。
此处,所谓“相应地”,也就是说,根据所述步骤S270中调整的情况来对应地确定替换情况。
本发明实施例中,可以将所述第二性能指标数据与所述第一性能指标数据进行对比,判断所述待调度任务的任务运行时间是否有优化(即任务运行时间缩短)、计算节点的CPU参数和IO参数等指标是否有提高(即CPU参数和IO参数降低),当判断所述第二性能指标数据小于所述第一性能指标数据时,确定调整后的存储方案和作业分配方案优于调整前的方案。此时,可以记录调整后的存储方案和作业分配方案,在下一次进行任务调度时即可基于调整后的存储方案和作业分配方案执行。具体地,可以包括以下几种情况:
第一种情况是仅对当前的第一预设阈值进行了调整,此时利用调整后的第一预设阈值替换当前的第一预设阈值。
第二种情况是仅对当前的第二预设阈值进行了调整,此时利用调整后的第二预设阈值替换当前的第二预设阈值。
第三种情况是对当前的第一预设阈值和当前的第二预设阈值均进行了调整,此时需要利用调整后的第一预设阈值替换当前的第一预设阈值,并且利用调整后的第二预设阈值替换当前的第二预设阈值。
在实际应用中,可以将调整后的更优的存储方案和作业分配方案存储至管理节点中,以在下一次进行任务调度时使用。在下一次进行任务调度时基于优化后的存储方案和作业分配方案执行,执行完成后可以与上一次执行的结果进行对比,判断该方案是否优化成功,如果优化成功,则后续均可以基于优化后的方案进行。
需要说明的是,在一些可能的实施例中,所述步骤S260至步骤S290可以重复多次执行,以查找出更优的方案。
本发明实施例通过在待调度任务执行完成后进行存储方案调整和优化,可以避免在任务运行时由于计算节点资源争抢,导致拖慢运行时间的问题,从而进一步提升任务处理的效率,降低系统资源的消耗。
在一个可能的实施例中,所述方法还可以包括:
记录所述本次执行结果文件与所述待调度作业之间的对应关系;
获取所述待调度作业的前序作业,记录所述待调度作业与所述前序作业之间的血缘关系;
其中,所述前序作业为生成所述待调度作业对应的待处理文件的作业。
具体地,在所述步骤S250之前或之后,还可以将所述本次执行结果文件与所述待调度作业之间的对应关系、所述待调度作业和与之对应的前序作业之间的血缘关系进行存储,用于追溯文件血缘信息,当所述待调度作业对应的待处理文件出现错误或者丢失等问题时,可以重新执行前序作业以得到所述待处理文件。
在实际应用中,可以将所述本次执行结果文件与所述待调度作业之间的对应关系、所述待调度作业和与之对应的前序作业之间的血缘关系存储至存储分配系统中,当需要重新执行所述待调度作业的前序作业时,可以从所述存储分配系统中查询对应的前序作业。
在一个可能的实施例中,所述方法还可以包括:
当接收到所述第一计算节点发送的异常通知消息时,根据所述待调度作业对应的血缘关系确定所述待调度作业的前序作业;其中,所述异常通知消息由所述第一计算节点在未获取到所述待调度作业对应的待处理文件时生成;
向执行所述前序作业的第二计算节点发送重新执行指令,以使得所述第二计算节点重新执行所述前序作业。
本发明实施例中,在所述待调度任务的运行过程中,如果redis缓存出现问题,或者计算节点出现问题,可能会导致redis缓存中的数据或者内存中的数据丢失。此时,管理节点为某个待调度作业分配计算节点后,所述计算节点在执行所述待调度作业时,找不到所述待调度作业对应的待处理文件,此时所述计算节点可以生成异常通知消息,并发送至所述管理节点,以告知所述管理节点文件出现问题,需要重新计算。此时,所述管理节点可以根据血缘关系查找所述待调度作业的前序作业,对所述前序作业重新执行重新生成文件后,继续对所述待调度作业进行操作。
在实际应用中,所述管理节点可以从存储分配系统中根据血缘关系查找上层依赖,确定对应的前序作业,并向执行所述前序作业的第二计算节点发送重新执行指令,以使得所述第二计算节点重新执行所述前序作业,生成对应的文件。本发明实施例通过记录各个待调度作业之间的依赖关系,用于追溯文件血缘关系,当文件出现损坏丢失等问题,可以进行文件溯源重新下载,使得待调度作业可以继续运行下去,能够保证任务的正常运行,进一步提高任务的处理效率。
综上所述,根据本发明实施例的任务调度方法,通过根据各个待调度作业对应的历史执行结果文件信息和后续作业信息来确定本次执行结果文件的存储方式,并将所述存储方式和待调度作业一起下发至计算节点,使得所述计算节点可以根据所述存储方式对执行所述待调度作业生成的本次执行结果文件进行自适应存储,使得在调度后续作业时可以根据所述本次执行结果文件的存储位置信息进行计算节点的分配,节省获取对应的待处理文件的时间,从而节省任务运行的时间,提高任务调度的效率,同时降低系统资源和网络资源的消耗。
参考说明书附图5,其示出了本发明一个实施例提供的一种任务调度装置500的结构。如图5所示,所述装置500可以包括:
第一获取模块510,用于获取待调度任务,所述待调度任务包括至少一个待调度作业;
第二获取模块520,用于针对各个所述待调度作业,获取所述待调度作业对应的历史执行结果文件信息和后续作业信息;
第一确定模块530,用于根据所述历史执行结果文件信息和所述后续作业信息确定所述待调度作业的本次执行结果文件的存储方式;
第二确定模块540,用于确定执行所述待调度作业的第一计算节点;
作业下发模块550,用于将所述待调度作业和所述存储方式下发至所述第一计算节点,以使得所述第一计算节点执行所述待调度作业,并根据所述存储方式对所述待调度作业的本次执行结果文件进行存储。
在一个可能的实施例中,所述第一确定模块530可以包括:
第一预估单元,用于根据所述历史执行结果文件信息预估所述本次执行结果文件的文件大小;
第一比较单元,用于将所述文件大小与第一预设阈值进行比较,得到第一比较结果;
第二预估单元,用于根据所述后续作业信息预估需要使用所述本次执行结果文件的作业数量;
第二比较单元,用于将所述作业数量与第二预设阈值进行比较,得到第二比较结果;
第一确定单元,用于根据所述第一比较结果和所述第二比较结果确定所述本次执行结果文件的存储方式。
在一个可能的实施例中,所述第二确定模块540可以包括:
获取单元,用于获取所述待调度作业对应的待处理文件的存储位置信息;
第二确定单元,用于基于所述存储位置信息为所述待调度作业分配至少一个计算节点,作为所述第一计算节点。
在一个可能的实施例中,所述装置500还可以包括:
第三获取模块,用于在所述待调度任务中的各个待调度作业均被执行完成后,获取所述待调度任务对应的第一性能指标数据;
调整模块,用于对当前的第一预设阈值和/或当前的第二预设阈值进行调整,基于调整后的第一预设阈值和/或调整后的第二预设阈值重新对所述待调度任务中的各个待调度作业进行调度执行;
第四获取模块,用于在所述待调度任务中的各个待调度作业均被重新执行完成后,获取所述待调度任务对应的第二性能指标数据;
替换模块,用于当所述第二性能指标数据小于所述第一性能指标数据时,利用调整后的第一预设阈值替换当前的第一预设阈值;和/或,利用调整后的第二预设阈值替换当前的第二预设阈值。
在一个可能的实施例中,所述装置500还可以包括:
第一记录模块,用于记录所述本次执行结果文件与所述待调度作业之间的对应关系;
第二记录模块,用于获取所述待调度作业的前序作业,记录所述待调度作业与所述前序作业之间的血缘关系;
其中,所述前序作业为生成所述待调度作业对应的待处理文件的作业。
在一个可能的实施例中,所述装置500还可以包括:
第三确定模块,用于当接收到所述第一计算节点发送的异常通知消息时,根据所述待调度作业对应的血缘关系确定所述待调度作业的前序作业;其中,所述异常通知消息由所述第一计算节点在未获取到所述待调度作业对应的待处理文件时生成;
指令发送模块,用于向执行所述前序作业的第二计算节点发送重新执行指令,以使得所述第二计算节点重新执行所述前序作业。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与相应方法实施例属于同一构思,其具体实现过程详见对应方法实施例,这里不再赘述。
本发明一个实施例还提供了一种电子设备,该电子设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的任务调度方法。
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
结合参考说明书附图6,所示为根据本发明一个实施例的电子设备600的框图。电子设备600可以包括一个或多个处理器602,与处理器602中的至少一个连接的系统控制逻辑608,与系统控制逻辑608连接的系统内存604,与系统控制逻辑608连接的非易失性存储器(NVM)606,以及与系统控制逻辑608连接的网络接口610。
处理器602可以包括一个或多个单核或多核处理器。处理器602可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任何组合。在本文的实施例中,处理器602可以被配置为执行根据如图2-图4所示的各种实施例的一个或多个实施例。
在一些实施例中,系统控制逻辑608可以包括任意合适的接口控制器,以向处理器602中的至少一个和/或与系统控制逻辑608通信的任意合适的设备或组件提供任意合适的接口。
在一些实施例中,系统控制逻辑608可以包括一个或多个存储器控制器,以提供连接到系统内存604的接口。系统内存604可以用于加载以及存储数据和/或指令。在一些实施例中设备600的内存604可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(DRAM)。
NVM/存储器606可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,NVM/存储器606可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如HDD(Hard Disk Drive,硬盘驱动器),CD(Compact Disc,光盘)驱动器,DVD(Digital Versatile Disc,数字通用光盘)驱动器中的至少一个。
NVM/存储器606可以包括安装在设备600的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口610通过网络访问NVM/存储606。
特别地,系统内存604和NVM/存储器606可以分别包括:指令620的暂时副本和永久副本。指令620可以包括:由处理器602中的至少一个执行时导致设备600实施如图2-图4所示的任务调度方法的指令。在一些实施例中,指令620、硬件、固件和/或其软件组件可另外地/替代地置于系统控制逻辑608,网络接口610和/或处理器602中。
网络接口610可以包括收发器,用于为设备600提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(如前端模块,天线等)进行通信。在一些实施例中,网络接口610可以集成于设备600的其他组件。例如,网络接口610可以集成于处理器602的通信模块,系统内存604,NVM/存储器606,和具有指令的固件设备(未示出)中的至少一种,当处理器602中的至少一个执行所述指令时,设备600实现图2-图4所示的各种实施例的一个或多个实施例。
网络接口610可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口610可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。
在一个实施例中,处理器602中的至少一个可以与用于系统控制逻辑608的一个或多个控制器的逻辑封装在一起,以形成系统封装(SiP)。在一个实施例中,处理器602中的至少一个可以与用于系统控制逻辑608的一个或多个控制器的逻辑集成在同一管芯上,以形成片上系统(SoC)。
设备600可以进一步包括:输入/输出(I/O)设备612。I/O设备612可以包括用户界面,使得用户能够与设备600进行交互;外围组件接口的设计使得外围组件也能够与设备600交互。在一些实施例中,设备600还包括传感器,用于确定与设备600相关的环境条件和位置信息的至少一种。
在一些实施例中,用户界面可包括但不限于显示器(例如,液晶显示器,触摸屏显示器等),扬声器,麦克风,一个或多个相机(例如,静止图像照相机和/或摄像机),手电筒(例如,发光二极管闪光灯)和键盘。
在一些实施例中,外围组件接口可以包括但不限于非易失性存储器端口、音频插孔和电源接口。
在一些实施例中,传感器可包括但不限于陀螺仪传感器,加速度计,近程传感器,环境光线传感器和定位单元。定位单元还可以是网络接口610的一部分或与网络接口610交互,以与定位网络的组件(例如,全球定位系统(GPS)卫星)进行通信。
可以理解的是,本发明实施例示意的结构并不构成对电子设备600的具体限定。在本发明另一些实施例中,电子设备600可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
本发明一个实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质可设置于电子设备之中以保存用于实现一种任务调度方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的任务调度方法。
可选地,在本发明实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本发明一个实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序/指令,当计算机程序产品在电子设备上运行时,该计算机程序/指令被处理器加载并执行以实现上述各种可选实施例中提供的任务调度方法的步骤。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种任务调度方法,其特征在于,包括:
获取待调度任务,所述待调度任务包括至少一个待调度作业;
针对各个所述待调度作业,获取所述待调度作业对应的历史执行结果文件信息和后续作业信息;
根据所述历史执行结果文件信息和所述后续作业信息确定所述待调度作业的本次执行结果文件的存储方式;
确定执行所述待调度作业的第一计算节点;
将所述待调度作业和所述存储方式下发至所述第一计算节点,以使得所述第一计算节点执行所述待调度作业,并根据所述存储方式对所述待调度作业的本次执行结果文件进行存储。
2.根据权利要求1所述的方法,其特征在于,所述根据所述历史执行结果文件信息和所述后续作业信息确定所述待调度作业的本次执行结果文件的存储方式包括:
根据所述历史执行结果文件信息预估所述本次执行结果文件的文件大小;
将所述文件大小与第一预设阈值进行比较,得到第一比较结果;
根据所述后续作业信息预估需要使用所述本次执行结果文件的作业数量;
将所述作业数量与第二预设阈值进行比较,得到第二比较结果;
根据所述第一比较结果和所述第二比较结果确定所述本次执行结果文件的存储方式。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一比较结果和所述第二比较结果确定所述本次执行结果文件的存储方式包括:
如果所述第一比较结果为所述文件大小小于或等于所述第一预设阈值,所述第二比较结果为所述作业数量小于或等于所述第二预设阈值,则确定所述存储方式为内存存储的方式;
如果所述第一比较结果为所述文件大小大于所述第一预设阈值,所述第二比较结果为所述作业数量小于或等于所述第二预设阈值,则确定所述存储方式为内存存储和本地存储相结合的方式;
如果所述第一比较结果为所述文件大小小于或等于所述第一预设阈值,所述第二比较结果为所述作业数量大于所述第二预设阈值,则确定所述存储方式为分布式缓存存储的方式;
如果所述第一比较结果为所述文件大小大于所述第一预设阈值,所述第二比较结果为所述作业数量大于所述第二预设阈值,则确定所述存储方式为分布式存储系统存储的方式。
4.根据权利要求1所述的方法,其特征在于,所述确定执行所述待调度作业的第一计算节点包括:
获取所述待调度作业对应的待处理文件的存储位置信息;
基于所述存储位置信息为所述待调度作业分配至少一个计算节点,作为所述第一计算节点。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述待调度任务中的各个待调度作业均被执行完成后,获取所述待调度任务对应的第一性能指标数据;
对当前的第一预设阈值和/或当前的第二预设阈值进行调整,基于调整后的第一预设阈值和/或调整后的第二预设阈值重新对所述待调度任务中的各个待调度作业进行调度执行;
在所述待调度任务中的各个待调度作业均被重新执行完成后,获取所述待调度任务对应的第二性能指标数据;
当所述第二性能指标数据小于所述第一性能指标数据时,相应地利用调整后的第一预设阈值替换当前的第一预设阈值;和/或,利用调整后的第二预设阈值替换当前的第二预设阈值。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
记录所述本次执行结果文件与所述待调度作业之间的对应关系;
获取所述待调度作业的前序作业,记录所述待调度作业与所述前序作业之间的血缘关系;
其中,所述前序作业为生成所述待调度作业对应的待处理文件的作业。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当接收到所述第一计算节点发送的异常通知消息时,根据所述待调度作业对应的血缘关系确定所述待调度作业的前序作业;其中,所述异常通知消息由所述第一计算节点在未获取到所述待调度作业对应的待处理文件时生成;
向执行所述前序作业的第二计算节点发送重新执行指令,以使得所述第二计算节点重新执行所述前序作业。
8.一种任务调度装置,其特征在于,包括:
第一获取模块,用于获取待调度任务,所述待调度任务包括至少一个待调度作业;
第二获取模块,用于针对各个所述待调度作业,获取所述待调度作业对应的历史执行结果文件信息和后续作业信息;
第一确定模块,用于根据所述历史执行结果文件信息和所述后续作业信息确定所述待调度作业的本次执行结果文件的存储方式;
第二确定模块,用于确定执行所述待调度作业的第一计算节点;
作业下发模块,用于将所述待调度作业和所述存储方式下发至所述第一计算节点,以使得所述第一计算节点执行所述待调度作业,并根据所述存储方式对所述待调度作业的本次执行结果文件进行存储。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1-7任意一项所述的任务调度方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如权利要求1-7任意一项所述的任务调度方法。
11.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1-7任意一项所述的任务调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111482939.2A CN114138444A (zh) | 2021-12-07 | 2021-12-07 | 一种任务调度方法、装置、设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111482939.2A CN114138444A (zh) | 2021-12-07 | 2021-12-07 | 一种任务调度方法、装置、设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114138444A true CN114138444A (zh) | 2022-03-04 |
Family
ID=80384293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111482939.2A Pending CN114138444A (zh) | 2021-12-07 | 2021-12-07 | 一种任务调度方法、装置、设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114138444A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116107728A (zh) * | 2023-04-06 | 2023-05-12 | 之江实验室 | 一种任务执行方法、装置、存储介质及电子设备 |
-
2021
- 2021-12-07 CN CN202111482939.2A patent/CN114138444A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116107728A (zh) * | 2023-04-06 | 2023-05-12 | 之江实验室 | 一种任务执行方法、装置、存储介质及电子设备 |
CN116107728B (zh) * | 2023-04-06 | 2023-08-18 | 之江实验室 | 一种任务执行方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10067805B2 (en) | Technologies for offloading and on-loading data for processor/coprocessor arrangements | |
US8424007B1 (en) | Prioritizing tasks from virtual machines | |
CN113243005A (zh) | 按需网络代码执行系统中的基于性能的硬件仿真 | |
CN111324427B (zh) | 一种基于dsp的任务调度方法及装置 | |
CN113032099B (zh) | 云计算节点、文件管理方法及装置 | |
CN111553699B (zh) | 一种资源调度方法及装置 | |
US20210103468A1 (en) | Performance biased scheduler extender | |
US10127081B2 (en) | Efficient resource management in a virtualized computing environment | |
CN114201378A (zh) | 服务器性能预测方法、装置、设备、存储介质及程序产品 | |
US20130212584A1 (en) | Method for distributed caching and scheduling for shared nothing computer frameworks | |
CN114138444A (zh) | 一种任务调度方法、装置、设备、存储介质及程序产品 | |
CN111488323A (zh) | 一种数据处理方法、装置及电子设备 | |
US11593003B2 (en) | Method and systems for recommending storage management actions based on capacities of storage systems | |
CN116521350B (zh) | 基于深度学习算法的etl调度方法及装置 | |
CN111913807A (zh) | 一种基于多个存储区域的事件处理方法、系统及装置 | |
CN115994029A (zh) | 容器资源调度方法及装置 | |
CN110659125A (zh) | 一种分析任务执行方法、装置、系统及电子设备 | |
US20210141723A1 (en) | Memory usage in managed runtime applications | |
CN111459653B (zh) | 集群调度方法、装置和系统以及电子设备 | |
CN111045959A (zh) | 一种基于存储优化的复杂算法变量映射方法 | |
CN116107761B (zh) | 性能调优方法、系统、电子设备及可读存储介质 | |
CN111966479B (zh) | 业务处理、风险识别业务处理方法、装置及电子设备 | |
CN117076093B (zh) | 一种基于机器学习的存储资源调度方法、装置及存储介质 | |
CN117421129B (zh) | 一种基于异构存储集群的业务执行方法、装置及电子设备 | |
CN117651044A (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 |