CN113448728B - 一种云资源调度方法、装置、设备及存储介质 - Google Patents
一种云资源调度方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113448728B CN113448728B CN202110691091.8A CN202110691091A CN113448728B CN 113448728 B CN113448728 B CN 113448728B CN 202110691091 A CN202110691091 A CN 202110691091A CN 113448728 B CN113448728 B CN 113448728B
- Authority
- CN
- China
- Prior art keywords
- task
- resource
- execution
- cloud
- target
- 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.)
- Active
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
Abstract
本申请实施例提供了一种云资源调度方法、装置、设备及存储介质,涉及云技术领域,在该方法中,终端设备响应于针对目标任务触发的云资源调度操作,发送云资源调度请求至服务器,其中,目标任务包括多个任务步骤以及所述多个任务步骤对应的步骤执行关系。服务器基于多个任务步骤各自对应的属性信息,分别确定多个任务步骤各自对应的云资源调度策略,相较于采用统一云资源调度策略为多个任务步骤调度云资源来说,云资源调度的灵活性和准确性更高,故按照获得的各个云资源调度策略,分别为多个任务步骤调度相应的云资源,并执行多个任务步骤时,可以有效避免当前剩余资源量不能满足任务执行所需资源的情况,同时避免了资源浪费,降低了成本。
Description
技术领域
本发明实施例涉及云技术领域,尤其涉及一种云资源调度方法、装置、设备及存储介质。
背景技术
随着云计算技术的逐步发展,云计算技术在各个方面的运用也越来越广泛,由于云资源的不确定性和任务调度的复杂性,可能会影响用户的服务质量和部分云资源的浪费,因此,为了改善云资源的浪费和提升用户的服务质量,通常需要对云资源进行有效调度。
相关技术在执行任务过程中,根据任务当前步骤所需要的云资源进行资源实时调度。然而,云资源的剩余量存在不确定性,因此,该方法容易出现当前剩余资源量不能满足任务执行所需资源的情况,进而影响云资源调度效率和云服务质量。
发明内容
本申请实施例提供了一种云资源调度方法、装置、设备及存储介质,用于提高云资源调度效率和云服务质量。
一方面,本申请实施例提供了一种云资源调度方法,该方法包括:
接收终端设备发送的云资源调度请求,所述云资源调度请求是所述终端设备响应于针对目标任务触发的云资源调度操作发送的,所述目标任务包括多个任务步骤以及所述多个任务步骤对应的步骤执行关系;
基于所述多个任务步骤各自对应的属性信息,分别确定所述多个任务步骤各自对应的云资源调度策略;
按照获得的各个云资源调度策略,分别为所述多个任务步骤调度相应的云资源;
基于调度获得的各个云资源以及所述步骤执行关系,分别执行所述多个任务步骤,获得所述目标任务的执行结果。
一方面,本申请实施例提供了一种云资源调度装置,该装置包括:
接收模块,用于接收终端设备发送的云资源调度请求,所述云资源调度请求是所述终端设备响应于针对目标任务触发的云资源调度操作发送的,所述目标任务包括多个任务步骤以及所述多个任务步骤对应的步骤执行关系;
匹配模块,用于基于所述多个任务步骤各自对应的属性信息,分别确定所述多个任务步骤各自对应的云资源调度策略;
调度模块,用于按照获得的各个云资源调度策略,分别为所述多个任务步骤调度相应的云资源;
执行模块,用于基于调度获得的各个云资源以及所述步骤执行关系,分别执行所述多个任务步骤,获得所述目标任务的执行结果。
可选地,所述匹配模块具体用于:
针对所述多个任务步骤中的各个任务步骤,分别执行以下步骤:
针对一个任务步骤,基于所述一个任务步骤的属性信息,确定所述一个任务步骤所需云资源的目标资源类型;
基于所述目标资源类型的当前资源余量,确定所述一个任务步骤对应的云资源调度策略。
可选地,所述匹配模块具体用于:
若所述当前资源余量大于第一阈值,则将第一资源调度策略作为所述一个任务步骤对应的云资源调度策略,所述第一资源调度策略包括:在执行所述一个任务步骤时,为所述一个任务步骤调度所需的目标资源量;
若所述当前资源余量小于等于所述第一阈值,则将第二资源调度策略作为所述一个任务步骤对应的云资源调度策略,所述第二资源调度策略包括:在执行所述一个任务步骤之前的预设时刻,为所述一个任务步骤调度所需的目标资源量。
可选地,所述匹配模块具体用于:
基于所述目标资源类型的当前资源余量、所述目标资源类型的历史资源使用数据以及所述目标资源类型的新增资源需求数据,确定所述目标资源类型在所述一个任务步骤的执行时段内的预测资源余量;
基于所述预测资源余量,确定所述一个任务步骤对应的云资源调度策略。
可选地,所述匹配模块具体用于:
若所述预测资源余量大于第一阈值,则将第一资源调度策略作为所述一个任务步骤对应的云资源调度策略,所述第一资源调度策略包括:在执行所述一个任务步骤时,为所述一个任务步骤调度所需的目标资源量;
若所述预测资源余量小于等于所述第一阈值,则将第二资源调度策略作为所述一个任务步骤对应的云资源调度策略,所述第二资源调度策略包括:在执行所述一个任务步骤之前的预设时刻,为所述一个任务步骤调度所需的目标资源量。
可选地,所述匹配模块具体用于:
针对所述多个任务步骤中的各个任务步骤,分别执行以下步骤:
针对一个任务步骤,基于所述一个任务步骤的属性信息,确定所述一个任务步骤所需云资源的目标资源类型和目标资源量;
若所述目标资源量大于第二阈值,则基于所述目标资源类型对应的资源波动值,确定所述一个任务步骤对应的云资源调度策略。
可选地,所述匹配模块具体用于:
若所述目标资源类型在所述一个任务步骤的执行时间段内的资源波动值小于等于第三阈值,则将第一资源调度策略作为所述一个任务步骤对应的云资源调度策略,所述第一资源调度策略包括:在执行所述一个任务步骤时,为所述一个任务步骤调度所需的目标资源量;
若所述目标资源类型在所述一个任务步骤的执行时间段内的资源波动值大于所述第三阈值,则将第二资源调度策略作为所述一个任务步骤对应的云资源调度策略,所述第二资源调度策略包括:在执行所述一个任务步骤之前的预设时刻,为所述一个任务步骤调度所需的目标资源量。
可选地,所述执行模块具体用于:
基于所述步骤执行关系,构建所述目标任务的执行图谱,所述执行图谱中每个执行节点表征一个任务步骤;
遍历所述执行图谱中的各个执行节点,其中,每遍历一个执行节点,基于为所述一个执行节点对应的任务步骤调度的云资源,执行所述一个执行节点对应的任务步骤,获得所述一个执行节点对应的步骤执行结果;
基于获得的各个步骤执行结果,确定所述目标任务的执行结果。
可选地,所述执行模块具体用于:
若所述一个执行节点获得前序节点对应的步骤执行结果,则基于为所述一个执行节点对应的任务步骤调度的云资源,以及所述前序节点对应的步骤执行结果,执行所述一个执行节点对应的任务步骤,获得所述一个执行节点对应的步骤执行结果。
可选地,所述执行模块具体用于:
若所述一个执行节点没有后续节点,则将所述一个执行节点对应的步骤执行结果作为所述目标任务的执行结果。
可选地,所述接收模块还用于:
基于调度获得的各个云资源以及所述步骤执行关系,分别执行所述多个任务步骤,获得所述目标任务的执行结果之后,接收所述终端设备发送的任务查看请求,所述任务查看请求是所述终端设备响应于针对所述目标任务触发的任务查看操作发送的,所述任务查看请求包括所述目标任务的标识;
所述匹配模块还用于:
基于所述目标任务的标识,获取所述目标任务的执行结果;将所述目标任务的执行结果发送至所述终端设备,以使所述终端设备在显示界面中展示所述目标任务的执行结果。
一方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述云资源调度方法的步骤。
一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行上述云资源调度方法的步骤。
本申请实施例中,基于多个任务步骤各自对应的属性信息,分别确定多个任务步骤各自对应的云资源调度策略,相较于采用统一云资源调度策略为多个任务步骤调度云资源来说,云资源调度的灵活性和准确性更高,故按照获得的各个云资源调度策略,分别为多个任务步骤调度相应的云资源,并执行多个任务步骤时,可以有效避免当前剩余资源量不能满足任务执行所需资源的情况。同时,相较于预先给每个任务步骤分配固定云资源的方式来说,本申请实施例避免了任务步骤没有执行时对云资源的占用,从而避免了资源浪费,同时降低了成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种系统架构示意图;
图2为本申请实施例提供的一种云资源调度方法的流程示意图;
图3为本申请实施例提供的一种云计算应用的界面示意图;
图4为本申请实施例提供的一种步骤执行关系的示意图;
图5a为本申请实施例提供的一种任务查看方法的流程示意图;
图5b为本申请实施例提供的一种通知界面的示意图;
图6为本申请实施例提供的一种执行图谱的示意图;
图7为本申请实施例提供的一种系统架构示意图;
图8为本申请实施例提供的一种云资源调度方法的流程示意图;
图9为本申请实施例提供的一种云资源调度装置的结构示意图;
图10为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了方便理解,下面对本发明实施例中涉及的名词进行解释。
云技术(Cloud technology):基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
云计算(cloud computing):一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
按照逻辑功能划分,在IaaS(Infrastructure as a Service,基础设施即服务)层上可以部署PaaS(Platform as a Service,平台即服务)层,PaaS层之上再部署SaaS(Software as a Service,软件即服务)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,SaaS和PaaS相对于IaaS是上层。
云资源:云服务提供商通过虚拟技术,在网络的传输交互方式下向用户提供硬件、软件等资源。
弹性资源调度:一种自由调度形式,通过该方法,云资源池中的计算资源量(通常根据有效的云资源数量来衡量)会根据服务器池中的负载进行动态伸缩。
刚性资源调度:与弹性调度相反,在任务步骤执行之前一次性调度资源之后便不能再进行变化的调度形式。
COS:一种无目录层次结构、无数据格式限制,可容纳海量数据且支持HTTP/HTTPS协议访问的分布式存储服务。
Slurm:一种刚性计算的任务调度框架。
PBS:一种刚性计算的任务调度框架。
LSF:一种刚性计算的任务调度框架。
下面对本申请实施例的设计思想进行介绍。
相关技术在执行任务过程中,根据任务当前步骤所需要的云资源进行资源实时调度。然而,云资源的剩余量存在不确定性,因此,该方法容易出现当前剩余资源量不能满足任务执行所需资源的情况,进而影响服务质量和资源调度效率。
考虑到在多步骤任务中,不同任务步骤所需的云资源类型、云资源量以及任务步骤的执行时间和执行位置等属性信息可能是不相同的,每个任务步骤的属性信息也可以反映出每个任务步骤适合的云资源调度策略。若基于每个任务步骤的属性信息,为每个任务步骤设置相应的云资源调度策略,将可以提高任务步骤与设置的云资源调度策略之间的匹配度,从而有效避免当前剩余资源量不能满足任务执行所需资源的情况,提高资源调度效率和服务质量。
鉴于此,本申请实施例中提供了一种云资源调度方法,在该方法中,终端设备响应于针对目标任务触发的云资源调度操作,发送云资源调度请求至服务器,其中,目标任务包括多个任务步骤以及所述多个任务步骤对应的步骤执行关系。服务器基于多个任务步骤各自对应的属性信息,分别确定多个任务步骤各自对应的云资源调度策略。然后按照获得的各个云资源调度策略,分别为多个任务步骤调度相应的云资源。再基于调度获得的各个云资源以及步骤执行关系,分别执行多个任务步骤,获得目标任务的执行结果。
本申请实施例中,基于多个任务步骤各自对应的属性信息,分别确定多个任务步骤各自对应的云资源调度策略,相较于采用统一云资源调度策略为多个任务步骤调度云资源来说,云资源调度的灵活性和准确性更高,故按照获得的各个云资源调度策略,分别为多个任务步骤调度相应的云资源,并执行多个任务步骤时,可以有效避免当前剩余资源量不能满足任务执行所需资源的情况。同时,相较于预先给每个任务步骤分配固定云资源的方式来说,本申请实施例避免了任务步骤没有执行时对云资源的占用,从而避免了资源浪费,同时降低了成本。
下面对本申请实施例中云资源调度方法所适用的系统架构图进行示例介绍,参考图1,其为本申请实施例适用的一种系统架构图,该系统架构至少包括终端设备101和服务器102。
终端设备101安装有云计算应用,该应用可以是预先安装的客户端、网页版应用或嵌入在其他应用中的小程序等。终端设备101可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能电视等,但并不局限于此。
服务器102为云计算应用的后台服务器,为云计算应用提供服务。服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备101与服务器102可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
终端设备101响应于针对目标任务触发的云资源调度操作,发送云资源调度请求至服务器102,其中,目标任务包括多个任务步骤以及多个任务步骤对应的步骤执行关系。服务器102基于多个任务步骤各自对应的属性信息,分别确定多个任务步骤各自对应的云资源调度策略。然后按照获得的各个云资源调度策略,分别为多个任务步骤调度相应的云资源。再基于调度获得的各个云资源以及步骤执行关系,分别执行多个任务步骤,获得目标任务的执行结果。终端设备101响应于针对目标任务触发的任务查看操作,发送任务查看请求至服务器102,服务器102基于目标任务的标识,获取目标任务的执行结果,然后将目标任务的执行结果发送至终端设备101,终端设备101在显示界面中展示目标任务的执行结果。
基于图1所示的系统架构图,本申请实施例提供了一种云资源调度方法的流程,该方法可以由计算机设备执行,计算机设备可以是图1中的终端设备和服务器,如图2所示,包括以下步骤:
步骤S201,终端设备响应于针对目标任务触发的云资源调度操作,发送云资源调度请求至服务器。
具体地,目标任务包括多个任务步骤以及多个任务步骤对应的步骤执行关系,其中,多个任务步骤对应的步骤执行关系可以是用户根据实际需求自定义的,或者由终端设备基于用户提交的目标任务自动生成的。步骤执行关系包括并行执行关系和/或串行执行关系。
举例来说,设定用户在云计算应用中提交的目标任务中包括任务步骤一、任务步骤二、任务步骤三、任务步骤四、任务步骤五,其中,任务步骤三包括两个并行的子任务,分别为任务步骤三A和任务步骤三B,此时,云计算应用界面如图3所示。
用户在云计算应用中对步骤执行关系进行自定义,获得上述多个任务步骤之间的步骤执行关系,如图4所示,具体为:
先执行任务步骤一,在任务步骤一执行结束之后,并行执行任务步骤二和任务步骤四。在任务步骤二执行结束之后,并行执行任务步骤三A和任务步骤三B。在任务步骤三A、任务步骤三B和任务步骤四都执行结束之后,开始执行任务步骤五。
步骤S202,服务器基于多个任务步骤各自对应的属性信息,分别确定多个任务步骤各自对应的云资源调度策略。
具体地,任务步骤对应的属性信息包括任务步骤所需云资源的目标资源类型和目标资源量,还可以包括任务步骤的执行时间、执行位置等。预先可以设置多种不同类型的云资源调度策略,不同类型的云资源调度策略所适用的场景是不同的。针对一个任务步骤,采用调度筛选算法,基于该任务步骤的属性信息,判断该任务步骤的所有所需资源类型的优先级,然后基于获得的优先级确定该任务步骤的云资源调度策略。优先级高表示任务步骤所需资源类型的资源余量紧缺。优先级低表示任务步骤所需资源类型的资源余量充足。多个任务步骤各自对应的云资源调度策略可以是完全相同的,也可以是不完全相同的。一个任务步骤可能需要一类或多类云资源,相应地,一个步骤任务可能对应一个或多个云资源调度策略。
步骤S203,服务器按照获得的各个云资源调度策略,分别为多个任务步骤调度相应的云资源。
具体地,针对任意一个任务步骤,基于该任务步骤对应的云资源调度策略,从目标资源类型中调度所需的目标资源量,具体可以是执行该任务步骤之前,从目标资源类型中调度所需的目标资源量,也可以在执行该任务步骤时,从目标资源类型中调度所需的目标资源量。在具体实施中,通过云资源调度接口进行云资源及任务步骤的调度。
步骤S204,服务器基于调度获得的各个云资源以及步骤执行关系,分别执行多个任务步骤,获得目标任务的执行结果。
具体地,服务器基于各个任务步骤的步骤执行关系,依次执行各个任务步骤,在执行每个任务步骤的过程中,获取调度的云资源并执行任务步骤。由于每个任务步骤所使用的云资源是相对独立的,因此通过COS来进行前后任务步骤的数据交互。在具体实现上,本申请实施例中通过编写脚本工具来实现步骤执行关系的自定义功能以及资源调度的方法。
本申请实施例中,基于多个任务步骤各自对应的属性信息,分别确定多个任务步骤各自对应的云资源调度策略,相较于采用统一云资源调度策略为多个任务步骤调度云资源来说,云资源调度的灵活性和准确性更高,故按照获得的各个云资源调度策略,分别为多个任务步骤调度相应的云资源,并执行多个任务步骤时,可以有效避免当前剩余资源量不能满足任务执行所需资源的情况。同时,相较于预先给每个任务步骤分配固定云资源的方式来说,本申请实施例避免了任务步骤没有执行时对云资源的占用,从而避免了资源浪费,同时降低了成本。
可选地,在步骤S204中,服务器在获得目标任务的执行结果之后,可以主动将目标任务的执行结果推送至终端设备,也可以向终端设备发送目标任务执行结束消息,以通知用户在终端设备上查看目标任务的执行结果。
下面具体介绍用户在终端设备上查看目标任务的执行结果的流程,具体如图5a所示,包括以下步骤:
步骤S501,终端设备响应于针对目标任务触发的任务查看操作,发送任务查看请求至服务器。
具体地,任务查看操作可以点击操作、双击操作、滑动操作等。服务器在获得目标任务的执行结果之后,向终端设备发送目标任务执行结束消息,终端设备在显示界面中展示目标任务执行结束消息,以通知用户查看目标任务的执行结果。
举例来说,终端设备接收服务器发送的目标任务执行结束消息后,在云计算应用的通知界面显示目标任务执行结束消息,目标任务执行结束消息的具体内容为“目标任务执行结束,可查看目标任务的执行结果”,同时显示“任务查看”按钮,云计算应用的通知界面如图5b所示。用户点击“任务查看”按钮,终端设备响应于针对目标任务触发的任务查看操作,发送任务查看请求至服务器,其中,任务查看请求包括目标任务的标识,目标任务的标识可以是目标任务的编号、名称等。
步骤S502,服务器基于目标任务的标识,获取目标任务的执行结果。
具体地,服务器在获得目标任务的执行结果之后,可以将目标任务的执行结果与目标任务的标识对应保存在数据库中。服务器在接收到终端设备发送的任务查看请求之后,从任务查看请求中获取目标任务的标识,然后基于目标任务的标识,查找数据库,获得目标任务的执行结果。
步骤S503,服务器将目标任务的执行结果发送至终端设备。
步骤S504,终端设备在显示界面中展示目标任务的执行结果。
具体地,终端设备在接收到目标任务的执行结果之后,在云计算的通知界面中展示目标任务的执行结果,其中,目标任务的执行结果可以是目标任务中一个或多个任务步骤的步骤执行结果。比如,目标任务的执行结果可以是图4中任务步骤五的步骤执行结果,也可以是图4中任务步骤一至任务步骤五的步骤执行结果。
需要说明的是,本申请实施例中并不限于在接收到服务器发送的目标任务执行结束消息之后,查看目标任务的执行结果,在目标任务的执行过程中,用户也可以在终端设备触发任务查看操作,以查看目标任务的执行进度等。
本申请实施例中,为用户提供任务查看功能,用户可以在终端设备上查看目标任务的执行结果,或者目标任务的执行进度,使得用户可以直接感知目标任务的执行过程,从而提升用户体验。
可选地,在上述步骤S202中,本申请实施例至少提供以下几种实施方式确定多个任务步骤各自对应的云资源调度策略。
实施方式一,针对多个任务步骤中的各个任务步骤,分别执行以下步骤:
针对一个任务步骤,基于一个任务步骤的属性信息,确定一个任务步骤所需云资源的目标资源类型。然后基于目标资源类型的当前资源余量,确定一个任务步骤对应的云资源调度策略。
具体地,云资源的资源类型包括计算资源、存储资源、网络资源等,其中,计算资源也可以进一步细分为不同类型的计算资源,存储资源、网络资源等云资源也可以进一步细分,此处不再赘述。
目标资源类型的当前资源余量是指资源池中目标资源类型的云资源在当前时刻的剩余资源量,上述资源池指任务步骤执行地域所对应的资源池。比如,任务步骤的执行地域为上海,则资源池为上海区域对应的资源池。
当前时刻可以是目标任务执行之前的任意时刻,也可以是目标任务执行过程中的任意时刻。在确定一个任务步骤对应的云资源调度策略之后,可以根据需要对一个任务步骤对应的云资源调度策略进行更新。
可选地,若当前资源余量大于第一阈值,则将第一资源调度策略作为一个任务步骤对应的云资源调度策略,第一资源调度策略包括:在执行一个任务步骤时,为一个任务步骤调度所需的目标资源量。
具体地,若当前资源余量大于第一阈值,说明资源池中目标资源类型对应的资源剩余量较为充足,后续在执行该任务步骤时,目标资源类型对应的资源剩余量可以为该任务步骤提供所需的目标资源量,故将第一资源调度策略作为该任务步骤对应的云资源调度策略,即将弹性资源调度策略作为该任务步骤对应的云资源调度策略。具体地,在执行该任务步骤时,为该任务步骤调度所需的目标资源量,这样既满足了任务步骤对云资源的需求,同时避免预先为任务步骤分配固定数量的云资源带来的资源浪费。
可选地,若当前资源余量小于等于所述第一阈值,则将第二资源调度策略作为一个任务步骤对应的云资源调度策略,第二资源调度策略包括:在执行一个任务步骤之前的预设时刻,为一个任务步骤调度所需的目标资源量。
具体地,执行一个任务步骤之前的预设时刻可以根据实际情况进行设置,可以是一个尽量接近任务步骤开始时刻的时间点。
若当前资源余量小于等于第一阈值时,说明资源池中目标资源类型对应的资源剩余量较为紧张,后续在执行该任务步骤时,目标资源类型对应的资源剩余量可能无法满足该任务步骤对云资源的需求,导致任务步骤执行出错,需要用户手动修改代码进行重新配置,从而影响任务执行的效率。
因此,将第二资源调度策略作为该任务步骤对应的云资源调度策略,即将刚性资源调度策略作为该任务步骤对应的云资源调度策略。具体地,在执行该任务步骤之前的预设时刻,为一个该任务步骤调度所需的目标资源量,在执行该任务步骤时,直接使用预先调度的云资源,保证任务步骤的顺利执行。
实施方式二,针对多个任务步骤中的各个任务步骤,分别执行以下步骤:
针对一个任务步骤,基于一个任务步骤的属性信息,确定一个任务步骤所需云资源的目标资源类型。然后基于目标资源类型的当前资源余量、目标资源类型的历史资源使用数据以及目标资源类型的新增资源需求数据,确定目标资源类型在一个任务步骤的执行时段内的预测资源余量。然后基于预测资源余量确定一个任务步骤对应的云资源调度策略。
具体地,历史资源使用数据可以是目标资源类型的云资源在过去一段时间的调度数据,比如过去一个月或两个月的调度数据。针对不同的格林尼治标准时间、不同的云资源所在地域以及不同的云资源类型,预测获得的预测资源剩余量不同。
若预测资源余量大于第一阈值,说明目标资源类型在上述一个任务步骤的执行时段内的资源余量是充足的,则将第一资源调度策略作为上述一个任务步骤对应的云资源调度策略,第一资源调度策略包括:在执行一个任务步骤时,为一个任务步骤调度所需的目标资源量。
若预测资源余量小于等于第一阈值,说明目标资源类型在上述一个任务步骤的执行时段内的资源余量是紧张的,则将第二资源调度策略作为上述一个任务步骤对应的云资源调度策略,第二资源调度策略包括:在执行一个任务步骤之前的预设时刻,为一个任务步骤调度所需的目标资源量。
需要说明的是,本申请实施例还可以结合目标资源类型的当前资源余量和预测资源余量,确定一个任务步骤对应的云资源调度策略。
实施方式三、针对多个任务步骤中的各个任务步骤,分别执行以下步骤:
针对一个任务步骤,基于一个任务步骤的属性信息,确定一个任务步骤所需云资源的目标资源类型和目标资源量。若目标资源量大于第二阈值,则基于目标资源类型对应的资源波动值,确定一个任务步骤对应的云资源调度策略。
具体地,目标资源量大于第二阈值时,说明该任务步骤对云资源的需求量较大,且该任务步骤在执行过程中,可能对目标资源类型的资源余量也会影响较大。资源波动值指特定时间段内云资源的数量变化值,特定时间段可以是任务步骤执行时间段,也可以是整个目标任务的执行时间段,还可以是其他任意设定的时间段。
同一类型的云资源在不同时间段对应的波动值可能不同,比如,白天特别是下午,各类型的云资源的波动值较大,而在夜晚,特别是夜晚0点至5点,各类型的云资源的波动值较小。
当一个任务步骤所需目标资源类型的目标资源量较大时,云资源的轻微波动也可能导致云资源余量无法满足任务步骤的需求。比如,在开始执行任务步骤时,目标资源类型的资源余量基本满足任务步骤所需的资源量。在任务步骤执行期间,若目标资源类型的资源余量大幅减少,将导致在任务步骤没有结束执行的情况下,目标资源类型的资源余量不能满足任务步骤所需的资源量,从而导致任务步骤执行出错。鉴于此,本申请实施例中,基于目标资源类型对应的资源波动值,确定任务步骤对应的云资源调度策略,使目标资源类型的资源余量满足资源需求量较大的任务步骤的需求,保证任务步骤的顺利执行。
可选地,若目标资源类型在一个任务步骤的执行时间段内的资源波动值小于等于第三阈值,则将第一资源调度策略作为一个任务步骤对应的云资源调度策略,其中,第一资源调度策略包括:在执行一个任务步骤时,为一个任务步骤调度所需的目标资源量。
若目标资源类型在一个任务步骤的执行时间段内的资源波动值大于第三阈值,则将第二资源调度策略作为一个任务步骤对应的云资源调度策略,第二资源调度策略包括:在执行一个任务步骤之前的预设时刻,为一个任务步骤调度所需的目标资源量。
具体地,当目标资源类型在任务步骤的执行时间段内的资源波动值小于等于第三阈值时,说明目标资源类型的资源波动值较小,因此,资源池中目标资源类型对应的资源余量可以满足该任务步骤的资源需求,故将第一资源调度策略作为该任务步骤对应的云资源调度策略,即将弹性资源调度策略作为该任务步骤对应的云资源调度策略。具体地,在执行该任务步骤时,为该任务步骤调度所需的目标资源量,这样既满足了任务步骤对云资源的需求,同时避免预先为任务步骤分配固定数量的云资源带来的资源浪费。
当目标资源类型在一个任务步骤的执行时间段内的资源波动值大于第三阈值时,说明目标资源类型的资源波动值较大,那么开始执行该任务步骤时,资源池中目标资源类型的资源余量可能可以满足该任务步骤的需求。随着目标资源类型的资源余量大幅波动,可能导致在任务步骤没有结束执行的情况下,目标资源类型的资源余量不能满足该任务步骤所需的资源量,从而导致任务步骤执行出错。
因此,本申请实施例中,将第二资源调度策略作为该任务步骤对应的云资源调度策略,即将刚性资源调度策略作为该任务步骤对应的云资源调度策略。具体地,在执行一个任务步骤之前的预设时刻,为一个任务步骤调度所需的目标资源量,调度获得的云资源不会提供给其他任务步骤使用,故在执行该任务步骤时,可以及时获得该部分云资源,顺利执行任务步骤,而不受资源值波动的影响,保证了任务执行的效率。
可选地,基于目标资源类型对应的资源波动值,确定任务步骤对应的云资源调度策略之前,为了保证目标资源类型的资源余量在任务步骤执行时能满足任务步骤所需的目标资源量,可以先确定目标资源类型的当前资源余量或目标资源类型在一个任务步骤执行时段内的预测资源余量大于第一阈值,即资源池中目标资源类型的云资源是充足的,再基于目标资源类型对应的资源波动值,确定任务步骤对应的云资源调度策略。
本申请实施例中,采用弹性与刚性相结合的资源调度方式,能够很好的平衡双方的优缺点,在减少用户的操作同时尽可能的减少了资源的浪费。
需要说明的是,本申请实施例中,在基于任务步骤的属性信息,确定任务步骤对应的云资源调度策略时,并不限于采用任务步骤所需云资源的目标资源类型、所需云资源的目标资源量、任务步骤的执行时间这些属性信息,还可以采用任务步骤的执行地域、任务步骤的执行环境等属性信息,对此,本申请不做具体限定。
可选地,在上述步骤S204中,基于步骤执行关系,构建目标任务的执行图谱,执行图谱中每个执行节点表征一个任务步骤。遍历执行图谱中的各个执行节点,其中,每遍历一个执行节点,基于为一个执行节点对应的任务步骤调度的云资源,执行一个执行节点对应的任务步骤,获得一个执行节点对应的步骤执行结果。然后基于获得的各个步骤执行结果,确定目标任务的执行结果。
具体地,采用图深度遍历算法遍历执行图谱中的各个执行节点。每访问一个执行节点,先判断该执行节点是否满足运行条件,其中,运行条件可以是执行节点的前序节点都已运行结束,其中,执行节点的前序节点可以为一个或多个。若该执行节点满足运行条件,则开始执行对应的任务步骤,否则处于等待状态。
举例来说,设定目标任务中多个任务步骤对应的步骤执行关系如图4所示,基于如图4所示的步骤执行关系构建执行图谱,执行图谱如图6所示,包括执行节点1、执行节点2、执行节点3a、执行节点3b、执行节点4、执行节点5,其中,执行节点1表征任务步骤一,执行节点2表征任务步骤二,执行节点3a表征任务步骤三A,执行节点3b表征任务步骤三B,执行节点4表征任务步骤四,执行节点5表征任务步骤五。采用图深度遍历算法遍历执行图谱中的各个执行节点,每访问一个执行节点,判断该执行节点是否满足运行条件,若满足,则开始执行对应的任务步骤,否则处于等待状态。
可选地,若一个执行节点没有前序节点,则基于为一个执行节点对应的任务步骤调度的云资源,执行一个执行节点对应的任务步骤,获得一个执行节点对应的步骤执行结果。若一个执行节点获得前序节点对应的步骤执行结果,则基于为一个执行节点对应的任务步骤调度的云资源,以及前序节点对应的步骤执行结果,执行一个执行节点对应的任务步骤,获得一个执行节点对应的步骤执行结果。
具体地,当执行节点的前序节点为一个时,则获取一个前序节点对应的步骤执行结果,然后基于调度的云资源,结合前序节点的步骤执行结果,执行任务步骤,获得执行节点对应的步骤执行结果。
当执行节点的前序节点为多个时,则获取多个前序节点对应的步骤执行结果,若多个前序节点中存在至少一个前序节点的任务步骤没有执行结束时,则处于等待状态,直到获得多个前序节点的步骤执行结果。然后基于调度的云资源,结合多个前序节点的步骤执行结果,执行任务步骤,获得执行节点对应的步骤执行结果。
可选地,若一个执行节点没有后续节点,则将一个执行节点对应的步骤执行结果作为目标任务的执行结果,其中,目标任务的执行结果包括一个或多个执行节点对应的步骤执行结果。
举例来说,图6所示的执行图谱中,执行节点1没有前序节点,则基于为执行节点1对应的任务步骤一调度的云资源,执行任务步骤一,获得执行节点1对应的步骤执行结果。
执行节点2的前序节点为执行节点1,则执行节点2获取执行节点1对应的步骤执行结果,然后基于为执行节点2对应的任务步骤二调度的云资源,以及执行节点1对应的步骤执行结果执行任务步骤二,获得执行节点2对应的步骤执行结果。
执行节点3a的前序节点为执行节点2,则执行节点3a获取执行节点2对应的步骤执行结果,然后基于为执行节点3a对应的任务步骤三A调度的云资源,以及执行节点2对应的步骤执行结果执行任务步骤三A,获得执行节点3a对应的步骤执行结果。执行节点3b的前序节点也是执行节点2,因此执行任务步骤三B的过程与执行节点3a执行任务步骤三A的过程相同,此处不再赘述。
执行节点4的前序节点为执行节点1,则执行节点4获取执行节点1对应的步骤执行结果,然后基于为执行节点4对应的任务步骤四调度的云资源,以及执行节点1对应的步骤执行结果执行任务步骤四,获得执行节点4对应的步骤执行结果。
执行节点5的前序节点为执行节点3a、执行节点3b以及执行节点4,则执行节点5获取执行节点3a、执行节点3b以及执行节点4分别对应的步骤执行结果,然后基于为执行节点5对应的任务步骤五调度的云资源,以及获得的步骤执行结果,执行任务步骤五,获得执行节点5对应的步骤执行结果。由于执行节点5没有后续节点,则将执行节点5对应的步骤执行结果(即任务步骤五的步骤执行结果)作为目标任务的执行结果。
本申请实施例中,支持用户自定义目标任务中多个任务步骤之间的执行关系,能极大的减少用户编写重复代码的工作量,同时,用户可以自定义并行任务步骤来实现自定义刚性资源的调用,也可以在弹性资源调度出现资源不足导致中间任务步骤失败的情况下,在失败步骤重新开始配置资源进行计算,从而提高资源调度的灵活性和准确性。
为了更好的解释本申请实施例,下面以虚拟药物筛选场景为例,介绍本申请实施例提供的一种云资源调度方法,该方法由终端设备和服务器交互执行。
首先介绍系统架构,如图7所示,包括终端设备和服务器,服务器中包括数据库、服务模块,服务模块用于提供云计算流程自动化服务。在执行云计算流程自动化服务时,服务器通过云资源调度接口进行云资源调度及任务步骤调度,云资源包括云服务器,每个任务步骤所使用的云资源都是相对独立的,因此通过COS来进行前后任务步骤的数据交互。
接着基于上述系统架构介绍云资源调度方法的流程,如图8所示,包括以下步骤:
用户在终端设备的云计算应用中提交虚拟药物筛选任务的多个任务步骤,分别为任务步骤一、ZINC数据准备步骤;任务步骤二、生成训练集;任务步骤三、Transformer模型训练;任务步骤四、Docking(对接)处理;任务步骤五、药效团筛选步骤,其中,任务步骤三需要多次运行,采用不同参数可以得到不同的结果,此处,将任务步骤三分为任务步骤三A及任务步骤三B两个相互独立的步骤来进行并行计算。
用户在云计算应用中对步骤执行关系进行自定义,获得上述多个任务步骤之间的步骤执行关系,如图4所示,具体为:
先执行任务步骤一,在任务步骤一执行结束之后,并行执行任务步骤二和任务步骤四。在任务步骤二执行结束之后,并行执行任务步骤三A和任务步骤三B。在任务步骤三A、任务步骤三B和任务步骤四都执行结束之后,开始执行任务步骤五。
终端设备发送云资源调度请求至服务器,云资源调度请求包括上述各个任务步骤以及用户自定义的各个任务步骤之间的步骤执行关系。服务器对各个任务步骤以及各个任务步骤之间的步骤执行关系进行分析,确定各个任务步骤所需云资源的目标资源类型、目标资源量等属性信息,同时获取各个目标资源类型的资源余量、资源波动值等信息。然后基于获得的信息确定各个任务步骤的云资源调度策略。具体地,由于任务步骤一、任务步骤二、任务步骤四、任务步骤五所需的资源类型常见且资源余量充足,故设置资源调度策略为弹性资源调度策略,任务步骤三A、任务步骤三B所需云资源较为苛刻,需要多台高性能图形处理器(graphics processing unit,简称GPU),因此,设置任务步骤三A、任务步骤三B的资源调度策略为刚性资源调度策略。通过批量计算接口调用云服务器,指定计算环境中数据共享的位置来实现弹性资源调度。自动编写Slurm计算环境的配置文件,搭建刚性的Slurm计算环境,来实现刚性资源调度,当然,前述Slurm计算环境也可以替换为PBS、LSF等计算环境。
进一步地,基于各个任务步骤之间的步骤执行关系和各个任务步骤的云资源调度策略,启动云计算流程自动化服务,执行云资源调度及任务步骤调度,实现虚拟药物筛选,其中,云资源调度及任务步骤调度包括COS数据存取操作、弹性云服务器调度、刚性云服务器调度以及步骤执行关系调度。虚拟药物筛选任务使用同一个cos对象存储桶进行数据交互,每个步骤将会分别调度独立的云服务器进行计算。
具体实施中,任务步骤一采用弹性资源调度策略,故执行任务步骤一时,调度任务步骤一所需的云服务器,基于调度的资源执行任务步骤一,获得ZINC数据,然后将ZINC数据存储至cos对象存储桶中。任务步骤一执行结束后,开始执行任务步骤二和任务步骤四,其中,步骤二和任务步骤四并行执行。
任务步骤二采用弹性资源调度策略,故执行任务步骤二时,调度任务步骤二所需的云服务器,从cos对象存储桶中获取ZINC数据,然后基于调度的资源以及ZINC数据执行任务步骤二,获得任务步骤二的步骤执行结果,将任务步骤二的步骤执行结果存放在cos对象存储桶中。任务步骤二执行结束后,开始执行任务步骤三A和任务步骤三B,其中,任务步骤三A和任务步骤三B并行执行。
任务步骤三A采用刚性资源调度策略,故在任务步骤三A执行之前,为任务步骤三A调度了多台GPU,这些GPU是为任务步骤三A预留的云资源,不会为其他任务步骤提供服务。在执行任务步骤三A时,从cos对象存储桶中获取任务步骤二的步骤执行结果,并将任务步骤二的步骤执行结果发送至多台GPU中。多台GPU基于任务步骤二的步骤执行结果,执行任务步骤三A,获得任务步骤三A的步骤执行结果。任务步骤三B的执行过程与任务步骤三A的执行过程相同,此处不再赘述。
任务步骤四采用弹性资源调度策略,故执行任务步骤四时,调度任务步骤四所需的云服务器,从cos对象存储桶中获取ZINC数据,然后基于调度的资源和ZINC数据执行任务步骤四,获得任务步骤四的步骤执行结果,将任务步骤四的步骤执行结果存放在cos对象存储桶中。
任务步骤四的执行时间小于任务步骤三的执行时间,若任务步骤四已经执行结束,则等待任务步骤三。由于任务步骤三中包括任务步骤三A和任务步骤三B,且任务步骤三A和任务步骤三B的任务结束时间也不相同,故需要等待任务步骤三A和任务步骤三B都执行结束,才能执行任务步骤五。针对每个任务步骤,可以采取该任务步骤所对应的元数据,存储该任务步骤所需完成的前继步骤。
任务步骤五采用弹性资源调度策略,故执行任务步骤五时,调度任务步骤五所需的云服务器,从cos对象存储桶中获取任务步骤三A、任务步骤三B和任务步骤四分别对应的步骤执行结果,然后基于调度的云资源和获得的步骤执行结果,执行任务步骤五,获得任务步骤五的步骤执行结果,并将任务步骤五的步骤执行结果存放在cos对象存储桶中。
服务器发送任务执行结束消息至终端设备,终端设备在云计算应用的通知界面显示任务执行结束消息。终端设备响应于针对虚拟药物筛选任务触发的任务查看操作,发送任务查看请求至服务器。服务器从cos对象存储桶中获取任务步骤五的步骤执行结果,然后将任务步骤五的步骤执行结果作为虚拟药物筛选任务的执行结果,发送至终端设备。终端设备在云计算应用的通知界面中展示虚拟药物筛选任务的执行结果。
需要说明的是,本申请实施例中云资源调度方案并不仅限于虚拟药物筛选场景,还可以应用于材料分子自动化筛选及复杂步骤机器学习应用等场景,对此,本申请不做具体限定。
本申请实施例中,基于多个任务步骤各自对应的属性信息,分别确定多个任务步骤各自对应的云资源调度策略,相较于采用统一云资源调度策略为多个任务步骤调度云资源来说,云资源调度的灵活性和准确性更高,故按照获得的各个云资源调度策略,分别为多个任务步骤调度相应的云资源,并执行多个任务步骤时,可以有效避免当前剩余资源量不能满足任务执行所需资源的情况。同时,相较于预先给每个任务步骤分配固定云资源的方式来说,本申请实施例避免了任务步骤没有执行时对云资源的占用,从而避免了资源浪费,同时降低了成本。
基于相同的技术构思,本申请实施例提供了一种云资源调度装置,如图9所示,该装置900包括:
接收模块901,用于接收终端设备发送的云资源调度请求,所述云资源调度请求是所述终端设备响应于针对目标任务触发的云资源调度操作发送的,所述目标任务包括多个任务步骤以及所述多个任务步骤对应的步骤执行关系;
匹配模块902,用于基于所述多个任务步骤各自对应的属性信息,分别确定所述多个任务步骤各自对应的云资源调度策略;
调度模块903,用于按照获得的各个云资源调度策略,分别为所述多个任务步骤调度相应的云资源;
执行模块904,用于基于调度获得的各个云资源以及所述步骤执行关系,分别执行所述多个任务步骤,获得所述目标任务的执行结果。
可选地,所述匹配模块902具体用于:
针对所述多个任务步骤中的各个任务步骤,分别执行以下步骤:
针对一个任务步骤,基于所述一个任务步骤的属性信息,确定所述一个任务步骤所需云资源的目标资源类型;
基于所述目标资源类型的当前资源余量,确定所述一个任务步骤对应的云资源调度策略。
可选地,所述匹配模块902具体用于:
若所述当前资源余量大于第一阈值,则将第一资源调度策略作为所述一个任务步骤对应的云资源调度策略,所述第一资源调度策略包括:在执行所述一个任务步骤时,为所述一个任务步骤调度所需的目标资源量;
若所述当前资源余量小于等于所述第一阈值,则将第二资源调度策略作为所述一个任务步骤对应的云资源调度策略,所述第二资源调度策略包括:在执行所述一个任务步骤之前的预设时刻,为所述一个任务步骤调度所需的目标资源量。
可选地,所述匹配模块902具体用于:
基于所述目标资源类型的当前资源余量、所述目标资源类型的历史资源使用数据以及所述目标资源类型的新增资源需求数据,确定所述目标资源类型在所述一个任务步骤的执行时段内的预测资源余量;
基于所述预测资源余量,确定所述一个任务步骤对应的云资源调度策略。
可选地,所述匹配模块902具体用于:
若所述预测资源余量大于第一阈值,则将第一资源调度策略作为所述一个任务步骤对应的云资源调度策略,所述第一资源调度策略包括:在执行所述一个任务步骤时,为所述一个任务步骤调度所需的目标资源量;
若所述预测资源余量小于等于所述第一阈值,则将第二资源调度策略作为所述一个任务步骤对应的云资源调度策略,所述第二资源调度策略包括:在执行所述一个任务步骤之前的预设时刻,为所述一个任务步骤调度所需的目标资源量。
可选地,所述匹配模块902具体用于:
针对所述多个任务步骤中的各个任务步骤,分别执行以下步骤:
针对一个任务步骤,基于所述一个任务步骤的属性信息,确定所述一个任务步骤所需云资源的目标资源类型和目标资源量;
若所述目标资源量大于第二阈值,则基于所述目标资源类型对应的资源波动值,确定所述一个任务步骤对应的云资源调度策略。
可选地,所述匹配模块902具体用于:
若所述目标资源类型在所述一个任务步骤的执行时间段内的资源波动值小于等于第三阈值,则将第一资源调度策略作为所述一个任务步骤对应的云资源调度策略,所述第一资源调度策略包括:在执行所述一个任务步骤时,为所述一个任务步骤调度所需的目标资源量;
若所述目标资源类型在所述一个任务步骤的执行时间段内的资源波动值大于所述第三阈值,则将第二资源调度策略作为所述一个任务步骤对应的云资源调度策略,所述第二资源调度策略包括:在执行所述一个任务步骤之前的预设时刻,为所述一个任务步骤调度所需的目标资源量。
可选地,所述执行模块904具体用于:
基于所述步骤执行关系,构建所述目标任务的执行图谱,所述执行图谱中每个执行节点表征一个任务步骤;
遍历所述执行图谱中的各个执行节点,其中,每遍历一个执行节点,基于为所述一个执行节点对应的任务步骤调度的云资源,执行所述一个执行节点对应的任务步骤,获得所述一个执行节点对应的步骤执行结果;
基于获得的各个步骤执行结果,确定所述目标任务的执行结果。
可选地,所述执行模块904具体用于:
若所述一个执行节点获得前序节点对应的步骤执行结果,则基于为所述一个执行节点对应的任务步骤调度的云资源,以及所述前序节点对应的步骤执行结果,执行所述一个执行节点对应的任务步骤,获得所述一个执行节点对应的步骤执行结果。
可选地,所述执行模块904具体用于:
若所述一个执行节点没有后续节点,则将所述一个执行节点对应的步骤执行结果作为所述目标任务的执行结果。
可选地,所述接收模块901还用于:
基于调度获得的各个云资源以及所述步骤执行关系,分别执行所述多个任务步骤,获得所述目标任务的执行结果之后,接收所述终端设备发送的任务查看请求,所述任务查看请求是所述终端设备响应于针对所述目标任务触发的任务查看操作发送的,所述任务查看请求包括所述目标任务的标识;
所述匹配模块902还用于:
基于所述目标任务的标识,获取所述目标任务的执行结果;将所述目标任务的执行结果发送至所述终端设备,以使所述终端设备在显示界面中展示所述目标任务的执行结果。
基于相同的技术构思,本申请实施例提供了一种计算机设备,如图10所示,包括至少一个处理器1001,以及与至少一个处理器连接的存储器1002,本申请实施例中不限定处理器1001与存储器1002之间的具体连接介质,图10中处理器1001和存储器1002之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,存储器1002存储有可被至少一个处理器1001执行的指令,至少一个处理器1001通过执行存储器1002存储的指令,可以执行上述云资源调度方法中所包括的步骤。
其中,处理器1001是计算机设备的控制中心,可以利用各种接口和线路连接计算机设备的各个部分,通过运行或执行存储在存储器1002内的指令以及调用存储在存储器1002内的数据,从而实现云资源调度。可选的,处理器1001可包括一个或多个处理单元,处理器1001可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1001中。在一些实施例中,处理器1001和存储器1002可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器1001可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器1002作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1002可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器1002是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器1002还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行上述云资源调度方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种云资源调度方法,其特征在于,包括:
接收终端设备发送的云资源调度请求,所述云资源调度请求是所述终端设备响应于针对目标任务触发的云资源调度操作发送的,所述目标任务包括多个任务步骤以及所述多个任务步骤对应的步骤执行关系;
针对所述多个任务步骤中的各个任务步骤,分别执行以下步骤:针对一个任务步骤,基于所述一个任务步骤的属性信息,确定所述一个任务步骤所需云资源的目标资源类型;基于所述目标资源类型的当前资源余量,确定所述一个任务步骤对应的云资源调度策略,所述当前资源余量指资源池中目标资源类型的云资源在当前时刻的剩余资源量,所述当前时刻为所述目标任务执行之前的任意时刻;
按照获得的各个云资源调度策略,分别为所述多个任务步骤调度相应的云资源;
基于调度获得的各个云资源以及所述步骤执行关系,分别执行所述多个任务步骤,获得所述目标任务的执行结果。
2.如权利要求1所述的方法,其特征在于,所述基于所述目标资源类型的当前资源余量,确定所述一个任务步骤对应的云资源调度策略,包括:
若所述当前资源余量大于第一阈值,则将第一资源调度策略作为所述一个任务步骤对应的云资源调度策略,所述第一资源调度策略包括:在执行所述一个任务步骤时,为所述一个任务步骤调度所需的目标资源量;
若所述当前资源余量小于等于所述第一阈值,则将第二资源调度策略作为所述一个任务步骤对应的云资源调度策略,所述第二资源调度策略包括:在执行所述一个任务步骤之前的预设时刻,为所述一个任务步骤调度所需的目标资源量。
3.如权利要求1所述的方法,其特征在于,所述基于所述目标资源类型的当前资源余量,确定所述一个任务步骤对应的云资源调度策略,包括:
基于所述目标资源类型的当前资源余量、所述目标资源类型的历史资源使用数据以及所述目标资源类型的新增资源需求数据,确定所述目标资源类型在所述一个任务步骤的执行时段内的预测资源余量;
基于所述预测资源余量,确定所述一个任务步骤对应的云资源调度策略。
4.如权利要求3所述的方法,其特征在于,所述基于所述预测资源余量确定一个任务步骤对应的云资源调度策略,包括:
若所述预测资源余量大于第一阈值,则将第一资源调度策略作为所述一个任务步骤对应的云资源调度策略,所述第一资源调度策略包括:在执行所述一个任务步骤时,为所述一个任务步骤调度所需的目标资源量;
若所述预测资源余量小于等于所述第一阈值,则将第二资源调度策略作为所述一个任务步骤对应的云资源调度策略,所述第二资源调度策略包括:在执行所述一个任务步骤之前的预设时刻,为所述一个任务步骤调度所需的目标资源量。
5.如权利要求1所述的方法,其特征在于,所述基于调度获得的各个云资源以及所述步骤执行关系,分别执行所述多个任务步骤,获得所述目标任务的执行结果,包括:
基于所述步骤执行关系,构建所述目标任务的执行图谱,所述执行图谱中每个执行节点表征一个任务步骤;
遍历所述执行图谱中的各个执行节点,其中,每遍历一个执行节点,基于为所述一个执行节点对应的任务步骤调度的云资源,执行所述一个执行节点对应的任务步骤,获得所述一个执行节点对应的步骤执行结果;
基于获得的各个步骤执行结果,确定所述目标任务的执行结果。
6.如权利要求5所述的方法,其特征在于,所述基于为所述一个执行节点对应的任务步骤调度的云资源,执行所述一个执行节点对应的任务步骤,获得所述一个执行节点对应的步骤执行结果,包括:
若所述一个执行节点获得前序节点对应的步骤执行结果,则基于为所述一个执行节点对应的任务步骤调度的云资源,以及所述前序节点对应的步骤执行结果,执行所述一个执行节点对应的任务步骤,获得所述一个执行节点对应的步骤执行结果。
7.如权利要求6所述的方法,其特征在于,所述基于获得的各个步骤执行结果,确定所述目标任务的执行结果,包括:
若所述一个执行节点没有后续节点,则将所述一个执行节点对应的步骤执行结果作为所述目标任务的执行结果。
8.如权利要求1至7任一所述的方法,其特征在于,所述基于调度获得的各个云资源以及所述步骤执行关系,分别执行所述多个任务步骤,获得所述目标任务的执行结果之后,还包括:
接收所述终端设备发送的任务查看请求,所述任务查看请求是所述终端设备响应于针对所述目标任务触发的任务查看操作发送的,所述任务查看请求包括所述目标任务的标识;
基于所述目标任务的标识,获取所述目标任务的执行结果;
将所述目标任务的执行结果发送至所述终端设备,以使所述终端设备在显示界面中展示所述目标任务的执行结果。
9.一种云资源调度装置,其特征在于,包括:
接收模块,用于接收终端设备发送的云资源调度请求,所述云资源调度请求是所述终端设备响应于针对目标任务触发的云资源调度操作发送的,所述目标任务包括多个任务步骤以及所述多个任务步骤对应的步骤执行关系;
匹配模块,用于针对所述多个任务步骤中的各个任务步骤,分别执行以下步骤:针对一个任务步骤,基于所述一个任务步骤的属性信息,确定所述一个任务步骤所需云资源的目标资源类型;基于所述目标资源类型的当前资源余量,确定所述一个任务步骤对应的云资源调度策略,所述当前资源余量指资源池中目标资源类型的云资源在当前时刻的剩余资源量,所述当前时刻为所述目标任务执行之前的任意时刻;
调度模块,用于按照获得的各个云资源调度策略,分别为所述多个任务步骤调度相应的云资源;
执行模块,用于基于调度获得的各个云资源以及所述步骤执行关系,分别执行所述多个任务步骤,获得所述目标任务的执行结果。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~8任一权利要求所述方法的步骤。
11.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~8任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110691091.8A CN113448728B (zh) | 2021-06-22 | 2021-06-22 | 一种云资源调度方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110691091.8A CN113448728B (zh) | 2021-06-22 | 2021-06-22 | 一种云资源调度方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113448728A CN113448728A (zh) | 2021-09-28 |
CN113448728B true CN113448728B (zh) | 2022-03-15 |
Family
ID=77812109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110691091.8A Active CN113448728B (zh) | 2021-06-22 | 2021-06-22 | 一种云资源调度方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113448728B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114416340A (zh) * | 2021-12-15 | 2022-04-29 | 深圳先进技术研究院 | 一种基于微服务的智能空间并发服务流程执行方法及系统 |
CN114780232B (zh) * | 2022-03-25 | 2023-04-07 | 阿里巴巴(中国)有限公司 | 云应用调度方法、装置、电子设备及存储介质 |
CN117112242B (zh) * | 2023-10-24 | 2024-01-26 | 纬创软件(武汉)有限公司 | 一种云计算系统中的资源节点分配方法和系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110149360A (zh) * | 2019-03-29 | 2019-08-20 | 新智云数据服务有限公司 | 调度方法、调度系统、存储介质和计算机设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10333925A (ja) * | 1997-02-27 | 1998-12-18 | Zuno Ltd | オートノマス・エージェント・アーキテクチャ |
US20030061260A1 (en) * | 2001-09-25 | 2003-03-27 | Timesys Corporation | Resource reservation and priority management |
CN107026877B (zh) * | 2016-01-29 | 2020-07-07 | 华为技术有限公司 | 云平台中管理资源的方法和装置 |
CN107045456B (zh) * | 2016-02-05 | 2020-03-10 | 华为技术有限公司 | 一种资源分配方法及资源管理器 |
US9935893B2 (en) * | 2016-03-28 | 2018-04-03 | The Travelers Indemnity Company | Systems and methods for dynamically allocating computing tasks to computer resources in a distributed processing environment |
CN111861185B (zh) * | 2020-07-14 | 2021-02-05 | 中国人民解放军军事科学院战争研究院 | 一种基于任务树的任务智能推荐方法及装置 |
CN111861235A (zh) * | 2020-07-27 | 2020-10-30 | 浪潮云信息技术股份公司 | 任务流程编排方法及装置、电子设备 |
CN112416599B (zh) * | 2020-12-03 | 2023-03-24 | 腾讯科技(深圳)有限公司 | 一种资源调度方法、装置、设备及计算机可读存储介质 |
-
2021
- 2021-06-22 CN CN202110691091.8A patent/CN113448728B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110149360A (zh) * | 2019-03-29 | 2019-08-20 | 新智云数据服务有限公司 | 调度方法、调度系统、存储介质和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113448728A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113448728B (zh) | 一种云资源调度方法、装置、设备及存储介质 | |
US10911367B2 (en) | Computerized methods and systems for managing cloud computer services | |
CN111176802B (zh) | 任务处理方法、装置、电子设备及存储介质 | |
US10033816B2 (en) | Workflow service using state transfer | |
US10681116B2 (en) | Providing services as resources for other services | |
US9535754B1 (en) | Dynamic provisioning of computing resources | |
CN105589658B (zh) | 资源处理方法、系统及服务器、仓库管理方法及装置 | |
CN111221643A (zh) | 任务处理方法和任务处理装置 | |
CN111143039B (zh) | 一种虚拟机的调度方法、装置及计算机存储介质 | |
US20160306656A1 (en) | Intelligent application back stack management | |
CN105335389A (zh) | 一种业务可视化方法及系统 | |
CN110633959A (zh) | 基于图结构的审批任务创建方法、装置、设备及介质 | |
CN110781180A (zh) | 一种数据筛选方法和数据筛选装置 | |
CN108614697B (zh) | 后台Dex编译管控的方法及装置 | |
CN116737370A (zh) | 一种多资源调度方法、系统、存储介质及终端 | |
CN107621946B (zh) | 一种软件开发方法、装置及系统 | |
US10163152B1 (en) | Notification of computing capacity status | |
CN114169733A (zh) | 一种资源分配方法和装置 | |
CN110381150B (zh) | 区块链上的数据处理方法、装置、电子设备及存储介质 | |
CN113254200A (zh) | 资源编排方法及智能体 | |
CN115443642A (zh) | 跨规则引擎的实例的规则分发 | |
CN115202673A (zh) | 基于云服务器的应用构建方法、装置和计算机设备 | |
CN109150993B (zh) | 一种获取网络请求切面的方法、终端装置及存储介质 | |
CN108280113B (zh) | Service Worker控制方法、装置及电子终端 | |
US9747131B1 (en) | System and method for variable aggregation in order for workers in a data processing to share information |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40052802 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |