CN114416346A - 一种多节点任务调度方法、装置、设备及存储介质 - Google Patents
一种多节点任务调度方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114416346A CN114416346A CN202111590350.4A CN202111590350A CN114416346A CN 114416346 A CN114416346 A CN 114416346A CN 202111590350 A CN202111590350 A CN 202111590350A CN 114416346 A CN114416346 A CN 114416346A
- Authority
- CN
- China
- Prior art keywords
- task
- node
- scheduling
- definition
- tasks
- 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
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/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
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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
-
- 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
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- 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/5061—Partitioning or combining of resources
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种多节点任务调度方法、装置、设备及存储介质,涉及计算机处理技术领域。所述方法包括:获取任务运行服务上报的节点资源信息;所述节点资源信息包括CPU使用率、内存和负载情况;获取并解析数据库中存储的编排定义;其中,所述编排定义中包括若干个任务,所述任务包括限制条件和任务描述;根据所述节点资源信息选择若干个节点组成第一节点集合;根据所述第一节点集合为所述编排定义中的任务匹配对应的调度节点,并依次触发任务的执行;其中,所述调度节点属于所述第一节点集合。本发明能够根据节点资源信息为任务匹配合适的节点进行任务调度,提高任务执行效率。
Description
技术领域
本发明涉及计算机处理技术领域,尤其涉及一种多节点任务调度方法、装置、设备及存储介质。
背景技术
在计算机系统程序中,通常都会涉及多个任务的调度和执行,且任务之间有复杂的依赖关系,这种依赖关系可以是数据依赖也可以是控制依赖。
现有的任务编排调度方法包括分布式任务调度和复杂多任务的编排调度。其中,分布式任务调度用于在多节点分布式场景下对某一任务进行调度执行,但是分布式任务调度只能调度单一任务,不能将多个任务打包在一起执行;复杂多任务的编排调度,用于对编排中的多个任务按顺序执行,虽然复杂多任务的编排调度可编排多个任务,但只是根据传统的调度算法进行调度,没有考虑任务之间的复杂依赖关系、以及任务本身的限制条件。
发明内容
本发明目的在于,提供一种多节点任务调度方法、装置、设备及存储介质,以根据节点资源信息为任务匹配合适的节点进行任务调度,提高任务执行效率。
为实现上述目的,本发明实施例提供一种多节点任务调度方法,包括:
获取任务运行服务上报的节点资源信息;所述节点资源信息包括CPU使用率、内存和负载情况;
获取并解析数据库中存储的编排定义;其中,所述编排定义中包括若干个任务,所述任务包括限制条件和任务描述;
根据所述节点资源信息选择若干个节点组成第一节点集合;
根据所述第一节点集合为所述编排定义中的任务匹配对应的调度节点,并依次触发任务的执行;其中,所述调度节点属于所述第一节点集合。
优选地,所述根据所述第一节点集合为所述编排定义中的任务匹配对应的调度节点,并依次触发任务的执行,包括:
从第一节点集合中选择负载最低的节点,作为所述编排定义中第一任务的调度节点,并将所述第一任务发送至第一任务的调度节点;
接收任务运行服务反馈的第一任务的执行状态;
根据第一任务的调度流程,执行所述编排定义中的其他任务,直到接受到所述编排定义中的所有任务的执行状态,结束编排。
优选地,所述的多节点任务调度方法,还包括:
触发任务执行后,将携带网关服务的参数和被执行任务的定义发送至对应的调度节点,并接收任务运行服务反馈的任务的执行状态;其中,调度节点根据携带网关服务的参数和被执行任务的定义,设置服务内存上限和独占CPU数量,从数据库中获取执行内容并执行,得到执行结果并设置于缓存中。
优选地,所述根据所述节点资源信息选择若干个节点组成第一节点集合,包括:
根据节点资源信息中的CPU使用率、内存和负载情况,挑选预设数量的节点组成第一节点集合。
本发明实施例还提供一种多节点任务调度装置,包括:
节点资源获取模块,用于获取任务运行服务上报的节点资源信息;所述节点资源信息包括CPU使用率、内存和负载情况;
编排定义获取模块,用于获取并解析数据库中存储的编排定义;其中,所述编排定义中包括若干个任务,所述任务包括限制条件和任务描述;
节点选择模块,用于根据所述节点资源信息选择若干个节点组成第一节点集合;
任务匹配模块,用于根据所述第一节点集合为所述编排定义中的任务匹配对应的调度节点,并依次触发任务的执行;其中,所述调度节点属于所述第一节点集合。
优选地,所述任务匹配模块,还用于:
从第一节点集合中选择负载最低的节点,作为所述编排定义中第一任务的调度节点,并将所述第一任务发送至第一任务的调度节点;
接收任务运行服务反馈的第一任务的执行状态;
根据第一任务的调度流程,执行所述编排定义中的其他任务,直到接受到所述编排定义中的所有任务的执行状态,结束编排。
优选地,所述的多节点任务调度装置,还包括反馈接收模块,用于触发任务执行后,将携带网关服务的参数和被执行任务的定义发送至对应的调度节点,并接收任务运行服务反馈的任务的执行状态;其中,调度节点根据携带网关服务的参数和被执行任务的定义,设置服务内存上限和独占CPU数量,从数据库中获取执行内容并执行,得到执行结果并设置于缓存中。
优选地,所述节点选择模块,还用于:
根据节点资源信息中的CPU使用率、内存和负载情况,挑选预设数量的节点组成第一节点集合。
本发明实施例还提供一种计算机终端设备,包括一个或多个处理器和存储器。存储器与所述处理器耦接,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任一实施例所述的多节点任务调度方法。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一实施例所述的多节点任务调度方法。
与现有技术相比,本发明具有以下有益效果:
本发明提供一种多节点任务调度方法,包括:获取任务运行服务上报的节点资源信息;所述节点资源信息包括CPU使用率、内存和负载情况;获取并解析数据库中存储的编排定义;其中,所述编排定义中包括若干个任务,所述任务包括限制条件和任务描述;根据所述节点资源信息选择若干个节点组成第一节点集合;根据所述第一节点集合为所述编排定义中的任务匹配对应的调度节点,并依次触发任务的执行;其中,所述调度节点属于所述第一节点集合。本发明能够根据节点资源信息为任务匹配合适的节点进行任务调度,提高任务执行效率。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明某一实施例提供的多节点任务调度方法的流程示意图;
图2是本发明某一实施例提供的多节点任务调度系统的整体逻辑示意图;
图3是本发明某一实施例提供的任务调度时序图;
图4是本发明某一实施例提供的任务运行时序图;
图5是本发明某一实施例提供的多节点任务调度装置的结构示意图;
图6是本发明某一实施例提供的计算机终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,文中所使用的步骤编号仅是为了方便描述,不作为对步骤执行先后顺序的限定。
应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本发明实施例提供的多节点任务调度方法应用于多节点任务调度系统,多节点任务调度系统包括编排管理服务、编排网关服务、编排调度服务和任务运行服务。其中,编排管理服务用于新增、删除、修改编排定义;编排网关服务用于对外暴露restful规范的接口,供web端和app端进行调用;编排调度服务用于解析编排协议及其内部任务定义,然后将任务调度到最优的任务运行服务节点去执行;任务运行服务用于解析任务定义,获取输入参数,然后执行任务。可部署在多个虚拟机或者物理机上。此外还有用于存储编排定义以及其他配置参数的数据库,以及用于缓存整个编排中各个任务的输入输出参数和编排的最终结果的缓存器(Redis)。
为了进一步说明多节点任务调度系统,以便于理解多节点任务调度方法的运行流程。本实施例提供的多节点任务调度系统中,编排管理服务包括管理后台模块和前端可视化编辑模块,管理后台模块为可视化编辑模块提供接口,可视化编辑模块给用户进行编排定义,通过拖拉拽和简单的参数配置即可完成编排定义;编排网关服务包含鉴权模块、编排触发模块,鉴权模块用于校验用于用户身份的合法性,编排触发模块供web端和app端调用,通过和编排调度服务进行远程过程调用(Remote Procedure Call,RPC)通信来启动一个具体编排;编排调度服务与任务运行服务进行RPC通信,获取它们的节点资源信息(CPU占用率、内存等);解析编排中的任务定义,将任务调度到最佳节点;任务运行服务与编排调度服务进行RPC通信,上报节点信息和任务执行状态,从缓存中获取输入参数,执行任务,并将输出参数设置到缓存中;数据库用于存储编排定义以及其他配置参数;缓存器用于缓存整个编排中各个任务的输入输出参数、以及编排的最终的结果。
请参阅图1,图1是本发明某一实施例提供的多节点任务调度方法的流程示意图。在本实施例中,多节点任务调度方法包括以下步骤:
S110,获取任务运行服务上报的节点资源信息;所述节点资源信息包括CPU使用率、内存和负载情况;
S120,获取并解析数据库中存储的编排定义;其中,所述编排定义中包括若干个任务,所述任务包括限制条件和任务描述;
S130,根据所述节点资源信息选择若干个节点组成第一节点集合;
S140,根据所述第一节点集合为所述编排定义中的任务匹配对应的调度节点,并依次触发任务的执行;其中,所述调度节点属于所述第一节点集合。
在某一实施例中,步骤S140,根据所述第一节点集合为所述编排定义中的任务匹配对应的调度节点,并依次触发任务的执行,包括:从第一节点集合中选择负载最低的节点,作为所述编排定义中第一任务的调度节点,并将所述第一任务发送至第一任务的调度节点;接收任务运行服务反馈的第一任务的执行状态;根据第一任务的调度流程,执行所述编排定义中的其他任务,直到接受到所述编排定义中的所有任务的执行状态,结束编排。
在某一实施例中,多节点任务调度方法,还包括:触发任务执行后,将携带网关服务的参数和被执行任务的定义发送至对应的调度节点,并接收任务运行服务反馈的任务的执行状态;其中,调度节点根据携带网关服务的参数和被执行任务的定义,设置服务内存上限和独占CPU数量,从数据库中获取执行内容并执行,得到执行结果并设置于缓存中。
在某一实施例中,步骤S130,根据所述节点资源信息选择若干个节点组成第一节点集合,包括:根据节点资源信息中的CPU使用率、内存和负载情况,挑选预设数量的节点组成第一节点集合。
为了进一步对本发明进行说明,本实施例展示一个编排的定义,以及它是如何调度和运行的,在某一具体实施例中,假设在本实施例中目的在于实现一个AI场景的人物头像识别,如果识别不到头像则结束整个编排,否则将识别结果(包括性能,年龄等信息)输出到缓存器中,然后结束编排。此AI编排包括编排自身定义以及5个子任务的定义,其中编排定义和任务定义均可以采用yaml格式。
任务定义包括task类型定义、choice类型定义、succeed类型定义和fail类型定义。task类型代表一个具体的执行任务;choice类型表示一个选择任务,可根据表达式的值来决定下一任务的名称;succeed类型表示整个编排执行成功的任务类型;fail类型表示整个编排执行成功的任务类型。
请参阅图2-4,图2是本发明某一实施例提供的多节点任务调度系统的整体逻辑示意图,图3是本发明某一实施例提供的任务调度时序图,图4是本发明某一实施例提供的任务运行时序图。在本实施例中,编排网关服务将触发编排的信息发送至编排调度服务,此外,编排调度服务从任务运行服务获取若干节点的资源信息。
在多节点任务调度系统完成编排定义后,进行任务调度,具体包括:
a)各个任务运行服务向编排调度服务上报节点资源信息,包括CPU,内存,负载情况等。
b)解析编排定义,识别出起始任务S0,再解析S0的任务定义,包括限制条件和任务描述;根据限制条件中的CPU占用率和内存限制从任务运行服务中选择一批节点,然后从这些节点再优选出负载最低的节点,此节点就是S0将要调度到的节点,调度服务随后将任务描述信息通过远程过程调用(Remote Procedure Call,RPC)传递到该节点。
c)S0调度到了Node1的任务运行服务,此服务解析任务描述信息,然后执行,执行完毕后上报运行状态到调度服务。
d)调度服务收到S0运行成功的消息,然后解析S0的下一节点S1,S1没有限制条件,选中负载最低的节点进行执行。
e)Node2执行S1,根据S0的执行结果进行判断得到S2,然后上报状态到调度服务。
f)调度服务收到S1运行成功的消息,然后解析S1的下一节点S2,S2没有限制条件,选中负载最低的节点进行执行。
g)Node0执行S2,上报状态到调度服务。
h)调度服务收到S2运行成功的消息,然后解析S2的下一节点S3,发现是succeed类型,整个编排执行完毕。
其中,多个任务运行服务运行在不同的节点上,Node0、Node1、Node2等表示不同的虚拟机或物理机。
在任务执行阶段,假设要执行S0的AI识别任务,具体包括:
a)web端或app端通过编排网关服务的restful接口触发编排。
b)调度服务收到消息后,立即返回成功应答给网关服务,然后异步执行整个编排任务。
c)解析S0的资源限制条件(CPU和内存),并将这些值设置到运行服务,同时由于cpuMode为static,设置独占4个CPU,这种做法可以保证此4个CPU不被其它任务占用,可以大大提高此AI识别任务的性能。
d)由于S0是起始任务,输入参数(imageurl:图片地址)从网关服务传递而来,再根据任务的Action从数据库中查询到对应的执行内容,然后执行,执行完毕后将输出结果设置到缓存中。
e)对于非起始任务,其输入参数从缓存中获取,其它类似,不再重复。
本发明实施例进行编排定义和任务调度,使得相互依赖的任务按定义的顺序执行,无需人工干预,能够降低人力和物力成本;可以进一步考虑任务本身限定的执行条件以及计算密集型场景的执行优化,提高的任务执行的成功率和稳定性。
请参阅图3,图3是本发明某一实施例提供的多节点任务调度装置的结构示意图。在本实施例中,多节点任务调度装置,包括:
节点资源获取模块210,用于获取任务运行服务上报的节点资源信息;所述节点资源信息包括CPU使用率、内存和负载情况;
编排定义获取模块220,用于获取并解析数据库中存储的编排定义;其中,所述编排定义中包括若干个任务,所述任务包括限制条件和任务描述;
节点选择模块230,用于根据所述节点资源信息选择若干个节点组成第一节点集合;
任务匹配模块240,用于根据所述第一节点集合为所述编排定义中的任务匹配对应的调度节点,并依次触发任务的执行;其中,所述调度节点属于所述第一节点集合。
在某一实施例中,任务匹配模块240,还用于从第一节点集合中选择负载最低的节点,作为所述编排定义中第一任务的调度节点,并将所述第一任务发送至第一任务的调度节点;接收任务运行服务反馈的第一任务的执行状态;根据第一任务的调度流程,执行所述编排定义中的其他任务,直到接受到所述编排定义中的所有任务的执行状态,结束编排。
在某一实施例中,多节点任务调度装置,还包括反馈接收模块,用于触发任务执行后,将携带网关服务的参数和被执行任务的定义发送至对应的调度节点,并接收任务运行服务反馈的任务的执行状态;其中,调度节点根据携带网关服务的参数和被执行任务的定义,设置服务内存上限和独占CPU数量,从数据库中获取执行内容并执行,得到执行结果并设置于缓存中。
在某一实施例中,所述节点选择模块,还用于根据节点资源信息中的CPU使用率、内存和负载情况,挑选预设数量的节点组成第一节点集合。
关于多节点任务调度装置的具体限定可以参见上文中对于多节点任务调度方法的限定,在此不再赘述。上述多节点任务调度装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
请参阅图4,本发明实施例提供一种计算机终端设备,包括一个或多个处理器和存储器。存储器与所述处理器耦接,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任意一个实施例中的多节点任务调度方法。
处理器用于控制该计算机终端设备的整体操作,以完成上述的多节点任务调度方法的全部或部分步骤。存储器用于存储各种类型的数据以支持在该计算机终端设备的操作,这些数据例如可以包括用于在该计算机终端设备上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-OnlyMemory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
在一示例性实施例中,计算机终端设备可以被一个或多个应用专用集成电路(Application Specific 1ntegrated Circuit,简称AS1C)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的多节点任务调度方法,并达到如上述方法一致的技术效果。
在另一示例性实施例中,还提供了一种包括计算机程序的计算机可读存储介质,该计算机程序被处理器执行时实现上述任意一个实施例中的多节点任务调度方法的步骤。例如,该计算机可读存储介质可以为上述包括计算机程序的存储器,上述计算机程序可由计算机终端设备的处理器执行以完成上述的多节点任务调度方法,并达到如上述方法一致的技术效果。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (10)
1.一种多节点任务调度方法,其特征在于,包括:
获取任务运行服务上报的节点资源信息;所述节点资源信息包括CPU使用率、内存和负载情况;
获取并解析数据库中存储的编排定义;其中,所述编排定义中包括若干个任务,所述任务包括限制条件和任务描述;
根据所述节点资源信息选择若干个节点组成第一节点集合;
根据所述第一节点集合为所述编排定义中的任务匹配对应的调度节点,并依次触发任务的执行;其中,所述调度节点属于所述第一节点集合。
2.根据权利要求1所述的多节点任务调度方法,其特征在于,所述根据所述第一节点集合为所述编排定义中的任务匹配对应的调度节点,并依次触发任务的执行,包括:
从第一节点集合中选择负载最低的节点,作为所述编排定义中第一任务的调度节点,并将所述第一任务发送至第一任务的调度节点;
接收任务运行服务反馈的第一任务的执行状态;
根据第一任务的调度流程,执行所述编排定义中的其他任务,直到接受到所述编排定义中的所有任务的执行状态,结束编排。
3.根据权利要求1所述的多节点任务调度方法,其特征在于,还包括:
触发任务执行后,将携带网关服务的参数和被执行任务的定义发送至对应的调度节点,并接收任务运行服务反馈的任务的执行状态;其中,调度节点根据携带网关服务的参数和被执行任务的定义,设置服务内存上限和独占CPU数量,从数据库中获取执行内容并执行,得到执行结果并设置于缓存中。
4.根据权利要求1所述的多节点任务调度方法,其特征在于,所述根据所述节点资源信息选择若干个节点组成第一节点集合,包括:
根据节点资源信息中的CPU使用率、内存和负载情况,挑选预设数量的节点组成第一节点集合。
5.一种多节点任务调度装置,其特征在于,包括:
节点资源获取模块,用于获取任务运行服务上报的节点资源信息;所述节点资源信息包括CPU使用率、内存和负载情况;
编排定义获取模块,用于获取并解析数据库中存储的编排定义;其中,所述编排定义中包括若干个任务,所述任务包括限制条件和任务描述;
节点选择模块,用于根据所述节点资源信息选择若干个节点组成第一节点集合;
任务匹配模块,用于根据所述第一节点集合为所述编排定义中的任务匹配对应的调度节点,并依次触发任务的执行;其中,所述调度节点属于所述第一节点集合。
6.根据权利要求5所述的多节点任务调度装置,其特征在于,所述任务匹配模块,还用于:
从第一节点集合中选择负载最低的节点,作为所述编排定义中第一任务的调度节点,并将所述第一任务发送至第一任务的调度节点;
接收任务运行服务反馈的第一任务的执行状态;
根据第一任务的调度流程,执行所述编排定义中的其他任务,直到接受到所述编排定义中的所有任务的执行状态,结束编排。
7.根据权利要求5所述的多节点任务调度装置,其特征在于,还包括反馈接收模块,用于触发任务执行后,将携带网关服务的参数和被执行任务的定义发送至对应的调度节点,并接收任务运行服务反馈的任务的执行状态;其中,调度节点根据携带网关服务的参数和被执行任务的定义,设置服务内存上限和独占CPU数量,从数据库中获取执行内容并执行,得到执行结果并设置于缓存中。
8.根据权利要求5所述的多节点任务调度装置,其特征在于,所述节点选择模块,还用于:
根据节点资源信息中的CPU使用率、内存和负载情况,挑选预设数量的节点组成第一节点集合。
9.一种计算机终端设备,其特征在于,包括:
一个或多个处理器;
存储器,与所述处理器耦接,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至4任一项所述的多节点任务调度方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的多节点任务调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111590350.4A CN114416346B (zh) | 2021-12-23 | 2021-12-23 | 一种多节点任务调度方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111590350.4A CN114416346B (zh) | 2021-12-23 | 2021-12-23 | 一种多节点任务调度方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114416346A true CN114416346A (zh) | 2022-04-29 |
CN114416346B CN114416346B (zh) | 2023-03-24 |
Family
ID=81267103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111590350.4A Active CN114416346B (zh) | 2021-12-23 | 2021-12-23 | 一种多节点任务调度方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114416346B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833326A (zh) * | 2012-08-15 | 2012-12-19 | 广东工业大学 | 一种基于灰色预测的云存储负载均衡方法 |
CN108304250A (zh) * | 2018-03-05 | 2018-07-20 | 北京百度网讯科技有限公司 | 用于确定运行机器学习任务的节点的方法和装置 |
US10168953B1 (en) * | 2016-05-20 | 2019-01-01 | Nutanix, Inc. | Dynamic scheduling of distributed storage management tasks using predicted system characteristics |
CN110336859A (zh) * | 2019-06-06 | 2019-10-15 | 广州市玄武无线科技股份有限公司 | 一种多租户环境下的任务调度系统 |
CN110661844A (zh) * | 2019-08-16 | 2020-01-07 | 北京旷视科技有限公司 | 自动发布调度系统、方法和存储介质 |
CN111966494A (zh) * | 2020-08-18 | 2020-11-20 | 江苏安超云软件有限公司 | 一种资源编排的调度方法、装置、存储介质及电子设备 |
CN112631764A (zh) * | 2019-09-24 | 2021-04-09 | 中兴通讯股份有限公司 | 任务调度方法、装置、计算机设备和计算机可读介质 |
CN112882813A (zh) * | 2021-03-18 | 2021-06-01 | 苏州科达科技股份有限公司 | 任务调度方法、装置、系统及电子设备 |
CN112988344A (zh) * | 2021-02-09 | 2021-06-18 | 中国建设银行股份有限公司 | 分布式批量任务调度方法、装置、设备及存储介质 |
CN113238838A (zh) * | 2021-04-22 | 2021-08-10 | 中国银联股份有限公司 | 一种任务调度方法、装置及计算机可读存储介质 |
CN113434279A (zh) * | 2021-07-14 | 2021-09-24 | 上海浦东发展银行股份有限公司 | 一种任务执行方法、装置、设备及存储介质 |
CN113791919A (zh) * | 2021-09-03 | 2021-12-14 | 中科星通(廊坊)信息技术有限公司 | 一种多节点并行处理海量任意目录结构存档文件的方法 |
CN113806027A (zh) * | 2020-06-15 | 2021-12-17 | 广州虎牙信息科技有限公司 | 任务编排方法、装置、电子设备和计算机可读存储介质 |
-
2021
- 2021-12-23 CN CN202111590350.4A patent/CN114416346B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833326A (zh) * | 2012-08-15 | 2012-12-19 | 广东工业大学 | 一种基于灰色预测的云存储负载均衡方法 |
US10168953B1 (en) * | 2016-05-20 | 2019-01-01 | Nutanix, Inc. | Dynamic scheduling of distributed storage management tasks using predicted system characteristics |
CN108304250A (zh) * | 2018-03-05 | 2018-07-20 | 北京百度网讯科技有限公司 | 用于确定运行机器学习任务的节点的方法和装置 |
CN110336859A (zh) * | 2019-06-06 | 2019-10-15 | 广州市玄武无线科技股份有限公司 | 一种多租户环境下的任务调度系统 |
CN110661844A (zh) * | 2019-08-16 | 2020-01-07 | 北京旷视科技有限公司 | 自动发布调度系统、方法和存储介质 |
CN112631764A (zh) * | 2019-09-24 | 2021-04-09 | 中兴通讯股份有限公司 | 任务调度方法、装置、计算机设备和计算机可读介质 |
CN113806027A (zh) * | 2020-06-15 | 2021-12-17 | 广州虎牙信息科技有限公司 | 任务编排方法、装置、电子设备和计算机可读存储介质 |
CN111966494A (zh) * | 2020-08-18 | 2020-11-20 | 江苏安超云软件有限公司 | 一种资源编排的调度方法、装置、存储介质及电子设备 |
CN112988344A (zh) * | 2021-02-09 | 2021-06-18 | 中国建设银行股份有限公司 | 分布式批量任务调度方法、装置、设备及存储介质 |
CN112882813A (zh) * | 2021-03-18 | 2021-06-01 | 苏州科达科技股份有限公司 | 任务调度方法、装置、系统及电子设备 |
CN113238838A (zh) * | 2021-04-22 | 2021-08-10 | 中国银联股份有限公司 | 一种任务调度方法、装置及计算机可读存储介质 |
CN113434279A (zh) * | 2021-07-14 | 2021-09-24 | 上海浦东发展银行股份有限公司 | 一种任务执行方法、装置、设备及存储介质 |
CN113791919A (zh) * | 2021-09-03 | 2021-12-14 | 中科星通(廊坊)信息技术有限公司 | 一种多节点并行处理海量任意目录结构存档文件的方法 |
Non-Patent Citations (1)
Title |
---|
陈杰: "GPU/CPU异构系统任务节能调度方法仿真", 《计算机仿真》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114416346B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109445944B (zh) | 一种基于dpdk的网络数据采集处理系统及其方法 | |
JP7192103B2 (ja) | データ処理方法及び装置、及び、コンピューティングノード | |
CN110636124B (zh) | Vpp集群管理方法及装置、电子设备及存储介质 | |
CN109614232B (zh) | 任务处理方法、装置、存储介质和电子装置 | |
CN116302381B (zh) | 并行拓扑调度组件及方法、任务调度方法和任务处理方法 | |
CN111026541A (zh) | 渲染资源调度方法、装置、设备及存储介质 | |
CN111565154A (zh) | 图像识别请求处理方法、装置、计算机设备和存储介质 | |
CN113377668A (zh) | 服务接口的自动化测试方法、装置和计算机设备 | |
CN109388501B (zh) | 基于人脸识别请求的通信匹配方法、装置、设备及介质 | |
CN114416346B (zh) | 一种多节点任务调度方法、装置、设备及存储介质 | |
CN113472557A (zh) | 一种虚拟网元处理方法、装置及电子设备 | |
CN116760784A (zh) | 一种基于优先级及运行时间的opc ua关键消息调度方法 | |
CN111274018A (zh) | 一种基于dl框架下的分布式训练方法 | |
CN113704107B (zh) | 应用测试方法、装置、设备及计算机可读存储介质 | |
CN113051005B (zh) | 一种加载方法及装置 | |
CN113485810A (zh) | 一种任务的调度执行方法、装置、设备及存储介质 | |
CN113225269A (zh) | 基于容器的工作流调度方法、装置、系统及存储介质 | |
CN112181517A (zh) | 一种应用软件的启动方法、装置、设备和介质 | |
CN110187979B (zh) | 链路消息处理方法、装置、存储介质及计算机设备 | |
CN113254177B (zh) | 基于集群的任务提交方法、计算机程序产品及电子设备 | |
Liu et al. | BUST: enabling scalable service orchestration | |
CN113835903A (zh) | 一种信息处理方法、装置、设备及存储介质 | |
CN116225638A (zh) | 一种客户端网络任务调度方法、系统、设备及存储介质 | |
CN114265672A (zh) | 一种基于多租户分布式绩效系统的并行调度方案和系统 | |
CN115576650A (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 |