CN114296891A - 任务的调度方法、系统、计算设备、存储介质及程序产品 - Google Patents
任务的调度方法、系统、计算设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN114296891A CN114296891A CN202111463111.2A CN202111463111A CN114296891A CN 114296891 A CN114296891 A CN 114296891A CN 202111463111 A CN202111463111 A CN 202111463111A CN 114296891 A CN114296891 A CN 114296891A
- Authority
- CN
- China
- Prior art keywords
- task
- snapshot
- target
- cluster
- service
- 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
Landscapes
- Hardware Redundancy (AREA)
Abstract
本申请实施例提供一种任务的调度方法、系统、计算设备、存储介质及程序产品。在本申请实施例中,通过快照主控服务接收与待执行任务关联的请求,根据请求生成待执行任务;通过快照主控服务根据待执行任务的优先级,从多个待执行任务中选择目标任务,并通过快照集群服务选择用于可执行目标任务的目标集群;通过快照主控服务根据选择的目标集群,分配目标任务,使得目标集群通过快照集群服务接收到目标任务,并通过目标集群中的工作节点执行目标任务。使得可以根据优先级来选择目标任务,从而可以优先执行优先级较高的目标任务,即可以优先执行较为重要的目标任务,提高用户的体验感。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种任务的调度方法、系统、计算设备、存储介质及程序产品。
背景技术
对于云服务器上虚拟机使用的存储资源量较大,且仍在不断增长中,这些被使用的存储资源涉及多种应用场景,如快照场景等。然而,由于这些多种应用场景,会存在高并发的多种需要完成的任务,从而易导致有些任务存在长时间不能完成或得不到执行,而那些不能被执行的任务所对应的用户的体验会很差。
发明内容
本申请的多个方面提供一种任务的调度方法、系统、计算设备、存储介质及程序产品,使得对较为重要的任务优先进行调度和执行。
本申请实施例提供一种任务的调度方法,适用于创建的快照管控系统,所述快照管控系统包括快照主控服务以及快照集群服务,所述快照主控服务部署在区域级别的设备中,所述快照集群服务部署在对应的集群设备中,所述方法包括:通过快照主控服务接收与待执行任务关联的请求,根据所述请求生成待执行任务;通过快照主控服务根据所述待执行任务的优先级,从多个待执行任务中选择目标任务,并通过快照集群服务选择用于可执行所述目标任务的目标集群;通过快照主控服务根据选择的目标集群,分配所述目标任务,使得所述目标集群通过快照集群服务接收到所述目标任务,并通过目标集群中的工作节点执行所述目标任务。
本申请实施例提供一种快照管控系统,包括:快照主控服务以及快照集群服务,所述快照主控服务部署在区域级别的设备中,所述快照集群服务部署在对应的集群设备中;所述快照主控服务,用于接收与待执行任务关联的请求,根据所述请求生成待执行任务;所述快照主控服务,用于根据所述待执行任务的优先级,从多个待执行任务中选择目标任务,并通过所述快照集群服务选择用于可执行所述目标任务的目标集群;所述快照主控服务,用于根据选择的目标集群,分配所述目标任务;所述快照集群服务,用于接收目标任务,并使得所述目标集群接收到所述目标任务,并通过目标集群中的工作节点执行所述目标任务。
本申请实施例还提供一种计算设备,包括:存储器、处理器;所述存储器,用于存储计算机程序;所述处理器,执行所述计算机程序,以用于:通过快照主控服务接收与待执行任务关联的请求,根据所述请求生成待执行任务;通过快照主控服务根据所述待执行任务的优先级,从多个待执行任务中选择目标任务,并通过快照集群服务选择用于可执行所述目标任务的目标集群;通过快照主控服务根据选择的目标集群,分配所述目标任务,使得所述目标集群通过快照集群服务接收到所述目标任务,并通过目标集群中的工作节点执行所述目标任务;其中,创建的快照管控系统包括快照主控服务以及快照集群服务,所述快照主控服务部署在区域级别的所述设备中,所述快照集群服务部署在对应的集群设备中。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器实现上述方法中的步骤。
本申请实施例还提供一种计算机程序产品,包括计算机程序或指令,其中,当计算机程序被处理器执行时,致使处理器实现上述方法中的步骤。
在本申请实施例中,通过快照主控服务接收与待执行任务关联的请求,根据请求生成待执行任务;通过快照主控服务根据待执行任务的优先级,从多个待执行任务中选择目标任务,并通过快照集群服务选择用于可执行目标任务的目标集群;通过快照主控服务根据选择的目标集群,分配目标任务,使得目标集群通过快照集群服务接收到目标任务,并通过目标集群中的工作节点执行目标任务。
其中,通过快照主控服务根据待执行任务的优先级,从多个待执行任务中选择目标任务,并通过快照集群服务选择用于可执行目标任务的目标集群,从而进行分配。使得可以根据优先级来选择目标任务,从而可以优先执行优先级较高的目标任务,即可以优先执行较为重要的目标任务,提高用户的体验感。
此外,由于创建的快照管控系统,所述快照管控系统包括快照主控服务以及快照集群服务。不用破坏和影响原始其它服务或模块的逻辑,特别是针对云盘的服务或模块的逻辑。通过非入侵式来实现任务的分配,减少如云盘服务的量级,同时实现了服务之间的隔离,为后续服务各自发展建立了良好的基础。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例的任务的调度方法的流程示意图;
图2为本申请一示例性实施例的任务调度的架构的示意图;
图3为本申请一示例性实施例的任务的调度过程的示意图;
图4为本申请一示例性实施例的任务的调度系统的结构示意图;
图5为本申请一示例性实施例提供的任务的调度装置的结构示意图;
图6为本申请一示例性实施例提供的计算设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
根据前文所述可知,对于云服务器上虚拟机使用的存储资源量大,如使用的云盘数量大,且仍在不断增长中,这些被使用的存储资源涉及多种应用场景,如快照场景等。然而,由于这些多种应用场景,会存在高并发的多种需要完成的任务,从而易导致有些任务存在长时间不能完成或得不到执行,使得对应的用户体验会很差。例如,同一个用户可以大批量定时创建快照,会导致其他用户的快照任务排队时间过长得不到执行,甚至出现任务被“饿死”的现象。
基于此,本申请实施例提供了一种任务的调度方法、计算设备、存储介质及程序产品,使得对较为重要的任务优先进行调度和执行,从而提高用户的体验感。
下面结合方法实施例,针对任务的调度过程进行详细说明。
图1为本申请一示例性实施例的一种任务的调度方法的流程示意图。本申请实施例提供的该方法100由计算设备执行,如,云服务器等。该方法100适用于创建的快照管控系统,快照管控系统包括快照主控服务以及快照集群服务,快照主控服务部署在区域级别的设备中,快照集群服务部署在对应的集群设备中,该方法100包括以下步骤:
101:通过快照主控服务接收与待执行任务关联的请求,根据请求生成待执行任务。
102:通过快照主控服务根据待执行任务的优先级,从多个待执行任务中选择目标任务,并通过快照集群服务选择用于可执行目标任务的目标集群。
103:通过快照主控服务根据选择的目标集群,分配目标任务,使得目标集群通过快照集群服务接收到目标任务,并通过目标集群中的工作节点执行目标任务。
需要说明的是,本实施例的执行主体可以是区域级别的计算设备。即该对应的计算设备是针对一个区域部署在该区域中的设备,如该设备可以部署有快照主控服务(也可以称为快照主控模块或组件等)。其下游还有机房级别的计算设备,用于接收该执行主体的发送的信息。该机房级别的计算设备可以是该区域中设置的不同机房中部署的设备。对于机房级别的计算设备其可以部署有云盘管控服务(也可以称为机房级别的云盘管控服务、或机房级别的云盘主控服务、或机房级别的云盘管控模块或组件等)。在该机房级别下游还可以有不同的集群,每个集群具有多个计算设备。在每个集群内部署有集群级别的云盘管控服务(或者称为块管控主服务、或集群级别的云盘管控模块或组件等),还可以部署有快照集群服务(或称为快照集群模块或组件)。
具体的,如图2所示,其中,该图2示出了对应的架构。在区域级别205中计算设备部署有快照主控服务202。在机房级别204中的计算设备部署有云盘主控服务206。在机房级别204下,该云盘主控服务206可以具有多个,分别部署在不同的计算设备上。在集群级别207下具有多个集群203。在每个集群203中可以具有块管控主服务(Block Master)2033以及其对应的多个块服务器(Block Server)2034、快照集群服务2031以及其对应的多个快照服务器(Snapshot Server)2032。
除此以外,该架构还可以具有应用程序接口网关201。
基于此,上述快照管控系统得到了建立。
以下针对上述步骤进行详细地阐述:
101:通过快照主控服务接收与待执行任务关联的请求,根据请求生成待执行任务。
其中,待执行任务是指根据接收到的请求生成的任务,即与该请求相关。该请求请求什么,该任务即执行什么。例如,该请求是创建快照请求(更具体的是人工式的创建快照请求),则该任务即是创建快照任务。除此以外,还可以具有以下请求,如自动生成快照请求、快照创盘请求(即根据快照生成云盘)以及快照计费请求(即根据快照进行收费的请求)。
例如,用户可以通过终端设备,如电脑,安装的web网络浏览器获取云服务器的服务界面,如快照服务界面。用户通过该界面发送API(Application ProgrammingInterface,应用程序接口)请求,该请求用于创建快照,即该API请求也可以是创建快照的API请求。并通过电脑将该请求发送至云服务器。云服务器接收到后根据该请求生成对应的待执行任务,即执行创建快照的任务。更具体的是云服务器中部署的快照主控服务接收到该请求生成对应的任务。
更具体的,为了能够加强请求的安全性,还可以通过网关来接收该请求。
例如,根据前文所述,用户通过电脑发送上述API请求至云服务器的API网关。然后,由该API网关对该请求进行过滤以及转发至对应的云服务器,云服务器接收到后,通过快照主控服务生成对应的待执行任务。
其中,如图3所示,应用程序接口网关201,即API网关在接收到创建快照请求后,执行步骤311:发送创建快照请求,至快照主控服务202,更具体的是,发送至远程过程调用服务(RPC Service)301。远程过程调用服务301接收到请求后,执行步骤312:发送创建快照请求,至快照主控服务202中的任务管理器302(Task Manager)。任务管理器302接收到该请求后,执行步骤313:生成对应的任务。
具体的,通过快照主控服务接收与待执行任务关联的请求,根据请求生成待执行任务,包括:通过快照主控服务接收与快照服务关联的请求,根据请求中携带的请求信息,确定待执行任务的类型,并生成对应的待执行任务。
其中,快照服务关联的请求是指与快照关联的请求,如前文所述的,创建快照请求自动生成快照请求、快照创盘请求以及快照计费请求。当然,该请求也可以是其它服务关联的请求,并不拘泥于快照服务的一种,如可以是视频服务、数据分析服务等。
请求信息是指该请求中携带的内容,如该请求的目的以及请求的类型等。可以通过特定参数来确定请求的目的,如创建快照。也可以通过特定的参数来确定该请求的类型,即任务类型,是否是同步类型的待执行任务或请求,或是否是异步类型的待执行任务或请求。
除此以外,待执行任务的类型还可以通过请求目的来确定,如创建快照类型的任务或请求。也可以通过该请求或任务是否依赖某一个具体的集群(即该集群需要满足预置条件,如负载条件等,或者是计算资源的条件),或者也可以理解为是对集群没有特别的要求,无需满足预置条件。由此,对任务或请求进行类型的划分。
根据需求可以继续对任务或请求进行划分,就不再过多赘述了。
由于前文已经阐述了一些内容,此处就不再重复。仅说明:根据上述可知,可以根据上述API请求携带的参数,确定请求的目的或对应的待执行任务类型。由此,快照主控服务中的任务管理器接收到请求后,可以根据参数生成对应的待执行任务,该任务可以用于确定,如创建快照。并确定该任务的类型,如异步类型的待执行任务,且该任务对集群有要求。
还需要说明的是,接收到请求还可以具有对应的优先级标识,来表示该请求或对应待执行任务的优先级。该优先级标识可以是用户在发送API请求前设置的,也可以是API请求根据用户设置的请求信息或用户的标识(表示用户的身份,从而可以确定用户的重要程度)来自动添加的。
另,应理解快照是指关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。
云盘提供的服务是指虚拟机块设备提供的服务。
102:通过快照主控服务根据待执行任务的优先级,从多个待执行任务中选择目标任务,并通过快照集群服务选择用于可执行目标任务的目标集群。
其中,根据前文可知,可以根据前述请求中携带的优先级标识来确定对应待执行任务的优先级。该优先级的确定可以是根据待执行任务的本身亦可以是根据触发该任务的用户的优先级来确定的。
此外,从多个待执行任务中选择目标任务所对应的优先级,可覆盖不同待执行任务的优先级,但是高优先级的目标任务的数量大于低优先级的目标任务的数量。
例如,根据前文所述,由于云服务器可以接受到多个请求,并将对应的多个请求生成对应的待执行任务。对于这些多个待执行任务,云服务器上的快照主控服务可以根据待执行任务的优先级来从多个待执行任务中选择对应的先执行的待执行任务。其选择原则可以是根据不同的优先级,选择对应的待执行任务,作为目标任务。然后选择到的待执行任务对应的优先级应该覆盖所有优先级,但是较高优先级对应的待执行任务被选择的数量是要多于较低优先级对应的待执行任务被选择的数量的。选择完待执行任务后,可以通过快照集群服务为每个待执行任务选择对应的集群。在待执行任务不具有过多依赖具体的集群的情况下,即待执行任务是该类型的任务,则可以随机选择对应的集群。
由此通过优先权的设置可以实现能够保障重要用户的快照请求任务被优先调度或者说重要任务被优先执行,同时能兼顾公平处理其它低优先级用户的请求任务,防止低优先级快照请求被饿死,改善用户对云盘快照服务的使用体验。
具体的,通过快照主控服务根据待执行任务的优先级,从多个待执行任务中选择目标任务,并通过快照主控服务选择用于可执行目标任务的目标集群,包括:通过快照主控服务根据不同的优先级,从多个待执行任务中选择不同优先级对应的多个目标任务,高优先级对应的目标任务的数量多于低优先级对应的目标任务的数量;通过快照集群服务根据多个集群的负载能力,选择目标集群。
其中,负载能力表示为对应集群执行目标任务的情况。
多个集群的负载能力,选择目标集群,可以是选择负载能力较好的集群。
例如,根据前文所述,云服务器上的快照主控服务可以从不同优先级对应的待执行任务中选择多个数量的目标任务。如不同优先级对应的待执行任务数量预置好了。然后,快照主控服务可以依次对待执行任务进行查看,根据其优先级确定当前该执行任务是否可以被选择,即该待执行任务对应的优先级的目标任务的数量是否已经满足,如果满足,则跳过该任务,查看下一个任务,如果未满足,则选择该任务。就不再赘述了。但是高优先级对应的目标任务的数量多于低优先级对应的目标任务的数量。然后通过快照集群服务根据多个集群的负载情况来选择目标集群,执行目标任务。
除此以外,也可以根据多个目标任务的执行条件,选择与执行条件匹配的目标集群。
其中,执行条件是指不同待执行任务对应的执行资源,可以是对应的计算资源,可以包括CPU(central processing unit,中央处理器)、内存、网络带宽流量等。该执行条件可以是预置好的,通过待执行任务的类型或目的来确定预置的执行条件。
根据前文所述的内容选择目标任务。然后,对于选择到的目标任务,根据该目标任务的类型或目的,确定对应的执行条件,由此选择与该执行条件匹配的对应目标集群。
为了能够好地实现上述待执行任务的选择,可以将待执行任务根据优先级进行聚类。然后从聚类中进行选择。
其次,还可以建立对应的优先级队列。每个优先级队列对应一个优先级。根据待执行任务的优先级,将待执行任务根据其优先级标识,放入对应的优先级队列中。
具体的,通过快照主控服务根据待执行任务的优先级,从多个待执行任务中选择目标任务,包括:通过快照主控服务根据待执行任务的优先级,将待执行任务放入与优先级对应的优先级队列;根据不同的优先级,从不同的优先级队列中选取多个目标任务,从高优先级队列中选取的目标任务的数量多于从低优先级队列中选取的目标任务的数量。
例如,根据前文所述,由于前文已经阐述了一些内容,此处就不再重复。仅说明:快照主控服务根据不同的待执行任务的优先级,将待执行任务放入至对应的优先级队列。然后,快照主控服务轮询这些优先级队列,根据不同优先级目标任务的数量,从队列中依次选择对应数量的目标任务。如,优先级最高P1:目标任务数量为500,优先级次高P2:目标任务数量为400,优先级第三高P3:目标任务数量为300,优先级第四高P4:目标任务数量为200。由于数量较多,所以轮循每个队列的时间片很短,能保证其它所有低优先级任务队列也能在每秒内得到轮询。
如图3所示,任务管理器302执行步骤318:插入对应的任务到优先级队列,即放入待执行任务到对应的优先级队列。然后任务调度器(Task Scheduler)303执行步骤321:从优先级队列中获取对应的任务,即选择目标任务。任务调度器303执行步骤322:选择集群,其是通过集群管理器(Cluster Manager)304提供多个集群,从而使得通过快照集群服务,任务调度器303来选择集群。即为每个目标任务选择对应的集群,进行目标任务的执行。
在调度阶段的时候,可以定时从优先级队列取出任务(可以先选择最高优先级队列)。
由此可以较少出现因为同一客户或同一用户因为大批量定时打快照,或高并发快照任务,导致其它客户或其它用户的快照任务排队时间过长得不到执行的情况。且如果用户关心的响应时间敏感的任务,长时间不能完成或得不到执行,用户体验就会很差,特别是在用户的系统异常时,会导致用户系统数据恢复过程受到影响,存在安全稳定性问题。本申请实施例均可以较为很好地客服。
为了更好地选择目标集群,可以通过获取集群的负载信息来进行选择。
具体的,该方法100包括:通过快照主控服务获取快照集群服务上报的用于执行目标任务的多个集群的负载信息,根据负载信息,确定集群对应的负载能力。
其中,可以通过集群中的快照集群服务收集对应集群的负载信息,并将负载信息发送至快照主控服务中。
其中,负载信息可以包括快照空间使用率、读写对象存储服务(一种云存储服务,可以支持分布式存储)OSS的bps(比特每秒)或latency(输入数据与输出结果之间的延时)、读写存储底层架构(该架构在对象存储服务的底层,用于支持该服务)的bps或iops(每秒进行读写操作的次数)或latency、网络压力(如,当前主机的带宽流量,可以是一段时间内的均值)、整机的平均存储器Memory、整机的CPU负载、正常worker工作节点的数量以及待执行任务的数量(即目标任务的数量)。
根据这些负载信息选择负载信息中较优良的集群。如,对于快照计费的目标任务,可以直接选择负载信息中各个负载参数都较好的集群作为目标集群,来执行目标任务。而对于依赖于具体的集群的目标任务,如创建快照的目标任务。也可以先选择上述较好的集群。
但是,对于上述依赖于具体的集群的目标任务,如,创建快照的目标任务。还可以根据目标任务的执行条件以及负载能力,从多个集群中选择目标集群。
如根据前文所述的执行条件来确定该前文所述的较好的集群是否满足该执行条件,如果满足,则选择该集群,作为目标集群。
否则可以跳过该任务,继续下一个目标任务,该下一个目标任务是属于优先级低的目标任务,如该集群不能执行P1中的目标任务,则跳过该任务,执行P2中的目标任务。
即,该方法100还包括:当多个集群中不存在满足当前目标任务的执行条件的目标集群,则通过快照主控服务为相对当前目标任务的优先级低的目标任务选择对应的目标集群。
由于前文已经阐述过了,此处就不再赘述了。
其中,如图3所示,根据前文可知,当满足执行条件,则可以选择该目标集群执行目标任务,即对于这种情况,可以是任务调度器303执行步骤322:选择集群,即可以是选择负载能力较好的集群。然后任务调度器303执行步骤323:检测是否可以开始任务,即该集群是否满足执行条件,满足则可以开始任务。即任务调度器303执行步骤324:开始任务,即任务调度器303可以是发送了表示开始任务的信息至任务管理器302,且还发送了对应的目标任务以及选择的目标集群。
需要说明的是,根据前文可知,对高并发的多种快照任务,需要从全局统一按优先级进行调度,优先保障重要任务的同时,从公平性角度兼顾低优先级的任务调度。而由此可会出现快照批量创建云盘的情况,但如果缺少全局下载流控,导致下游存储压力瞬间飙升,服务响应延时,最终会出现很多虚拟机发生IO异常,卡住不动。此外,不同用户之间的请求任务、以及存在CPU、内存、带宽等资源争抢问题,不能进行差异化调度,也会导致下游存储执行任务相互影响。本申请于是结合下游底层上报的负载信息对多种任务进行全局统一的调度,做到闭环管控解决资源争抢问题以及减少问题的产生。
此外,该方法100还包括:当待执行任务的类型属于同步类型,则通过快照主控服务直接从多个集群中选择负载能力最高的集群作为目标集群,用于分配待执行任务,以使目标集群执行待执行任务。
由于前文阐述过与之相似的选择目标集群的方式,此处就不再过多赘述了。仅说明:根据前文可知,对于同步类型的任务,需要等待获取到执行结果。则根据前文所述的方式,选择上述较好的集群,来执行该同步类型的目标任务。
为了能够更好地根据负载信息选择目标集群,可以通过确定负载信息的权重来选择集群。即该权重也可以视为是目标集群的权重。
具体的,根据负载信息,确定集群对应的负载能力,包括:通过快照主控服务根据负载信息,确定对应集群的负载权重,作为负载能力。
如,根据前文所述的这些负载信息以及权重算法,确定对应的负载权重。其中,可以基于负载信息中的各个负载参数对应的权数,来计算权重。从而得到最终的负载权重。
根据计算后的权重,对于前文所述的快照计费的目标任务(即不依赖于具体的集群的任务),或同步类型的目标任务,快照主控服务可以直接选择权重最高的集群作为目标集群。对于创建快照的目标任务而言,则可以根据执行条件以及权重快照主控服务来选择目标集群,或也可以直接根据权重来选择,就不再过多赘述。此外,该负载权重也可以视为是集群的权重。
即前文所述的多个集群的负载能力,选择目标集群,也可以是选择权重最高的集群,作为目标集群。
还需要说明的是,对于快照计费的目标任务,虽然其不依赖于具体的集群,但为了更好地选择集群,也是可以通过权重算法来确定负载信息,并选择目标集群的。对于执行快照计费的目标任务的集群,其对应的权重,需要考虑以下这些负载参数:读写OSS的bps或latency、整机的平均Memory或整机的CPU负载、主机的网络压力、目标任务的数量。也就说,对于不同的目标任务,其对应的权重所考虑的负载参数可以不同,那么对于不同的目标任务,可以分别确定每个集群的权重。也可以通过所有的负载参数确定一个权重,来进行目标集群的选择。就不再赘述了。
另,在生成对应的目标任务后,还需要对任务的幂等性进行处理。如图3所示,任务管理器302执行步骤314:处理任务幂等性。即任务管理器302生成任务后,需要确定该任务的是否是唯一的。或者是,该任务是否在之前预置时间内已经生成过。可以对该任务进行查找确定是否存在过相同的任务。可以从数据库或者本地缓存中查找是否存在过相同的任务。根据任务携带的信息进行查找。该任务携带的信息也是请求中携带的信息。
当查找到对应的任务,则不执行该待执行任务,否则继续后续步骤来执行该待执行任务。
根据前文可知,还需要对生成的任务进行存储。具体的可以是本地缓存,以及数据库存储。如图3所示,任务管理器302执行步骤315:将对应的任务进行缓存(符合任务幂等性的前提下,将待执行任务进行缓存),例如存储至缓存map中。其次,任务管理器302执行将对应的任务进行存储至数据库308(即将待执行任务进行存储)。任务管理器302在执行该步骤的时候,需要通过存储管理器(Store Manager(Cache))305进行存储。具体的可以是任务管理器302执行步骤316:将对应的任务进行存储,至存储管理器305。然后,存储管理器305再执行步骤317:将对应的任务进行存储,至数据库308。其中,数据库308是部署在机房级别中计算设备上的数据库。
在执行完步骤318后,任务管理器302可以执行步骤319:发送响应信息,至远程过程调用服务301。再由远程过程调用服务301执行步骤320:发送响应信息,至应用程序接口网关201,以使该网关将响应信息返回至电脑的界面给用户进行展示。该响应信息是指示对应的请求已经接收到并开始处理。
当应用程序接口网关201未接收到响应信息,那么该应用程序接口网关201就会重复发送对应的请求,如创建快照的请求,以保证对应的云服务器接收到了该请求,基于此,需要对请求对应的任务进行幂等性的处理。就不再赘述了。
103:通过快照主控服务根据选择的目标集群,分配目标任务,使得目标集群通过快照集群服务接收到目标任务,并通过目标集群中的工作节点执行目标任务。
例如,根据前文所述,云服务器上的快照主控服务在选择了目标集群后,可以通过快照集群服务将目标任务发送至对应的集群中,使之对应的集群中的工作节点进行目标任务的执行。
更具体的可以是,对于不依赖于具体的集群的目标任务而言,如快照计费的目标任务,快照主控服务可以将该目标任务直接发送至目标集群中的快照集群服务,以使得快照集群服务接收到对应的目标任务后,将该目标任务进行更进一步分配给该集群中的某一个快照服务器,以使该快照服务器执行该目标任务。或者分配给该集群中的至少两个快照服务器,以使得这至少两个快照服务器配合执行该目标任务。在执行任务的时候可以根据目标任务中携带的信息进行执行,如对哪些数据进行创建快照等。
此外,目标任务的执行是采用协程在单独的线程池中执行的。
对于依赖于具体的集群的目标任务而言,如创建快照的目标任务。如图3所示,任务管理器302执行步骤325:开始任务。即任务管理器302将目标任务发送至机房级别的云盘管控服务306,以使机房级别的云盘管控服务306根据目标任务对应的目标集群,将目标任务发送至对应的集群级别的云盘管控服务307,用以执行步骤326:创建快照。
更具体的,集群级别的云盘管控服务307接收到目标任务后,可以将该目标任务下发至该目标集群对应云盘服务器,即块服务器,来执行创建快照。
此外,如图2所示,对于每个集群203而言,集群203中的块服务器2034(即云盘服务器)可以向块管控主服务2033(即集群级别的云盘管控服务)发送负载信息,之后块管控主服务2033再将负载信息发送至快照集群服务2031。以及快照服务器2032也可以向快照集群服务2031发送负载信息,并由快照集群服务2031上报负载信息至快照主控服务202。在接收到负载信息后,快照集群服务2031可以向块管控主服务2033以及快照服务器2032返回表示接收到的信息。
在开始任务后,可以对任务状态进行更新,以备后续对任务状态进行查询。
具体的,该方法100还包括:通过快照主控服务在分配目标任务到目标任务执行完成,记录目标任务的任务状态;通过快照主控服务接收查询任务状态的请求,从本地存储器中查找对应任务的任务状态;若未查找到,则通过数据库中查找对应任务的任务状态;若未查找到,则从目标集群中查找对应任务的任务状态。
例如,根据前文所述,在开始任务后,如图3所示,任务管理器302执行步骤327:更新任务状态,至存储管理器305。如记录创建快照的任务状态为开始、或处理中、或完成。存储管理器305执行步骤328:更新任务状态,至数据库308。如记录创建快照的任务状态为开始、或处理中、或完成。
记录完任务状态后,可以提供任务状态的查询。如图3所示,应用程序接口网关201可以根据用户通过电脑的web界面发送的查询请求,向远程过程调用服务301发送查询请求,用以执行步骤329:查询快照任务状态。也可以是应用程序接口网关201自动定时进行自发发送查询请求至远程过程调用服务301。远程过程调用服务301接收到该请求后,向任务管理器302发送查询请求,用以执行步骤330:查询快照任务状态。任务管理器302接收到该请求后,执行步骤331:从存储器(本地)中查询任务状态。如果查询到了,则可以通过远程过程调用服务301执行步骤336:发送任务状态。如果没有,则从数据库中查询任务状态。则此时,任务管理器302会先向存储管理器305发送从数据库中查询任务状态的请求,用以执行步骤332:从数据库中查询任务状态。存储管理器305接收到该请求后,会先向数据库308发送从数据库中查询任务状态的请求,用以执行步骤333:从数据库中查询任务状态。如果查询到了,则返回查询结果至任务管理器302,并通过远程过程调用服务301执行步骤336:发送任务状态。如果没有查询到,则任务管理器302可以向机房级别的云盘管控服务306发送查询请求,用以执行步骤334:从机房级别的云盘管控服务中查询任务状态。而机房级别的云盘管控服务306接收到该请求后,向执行目标任务的集群级别的云盘管控服务307发送查询请,用以执行步骤335:查询快照任务状态。查询到任务状态后,如处理中,或者完成。则返回查询结果至任务管理器302。并通过远程过程调用服务301执行步骤336:发送任务状态。
应理解,除了上述数据库可以记录任务状态外,对应的目标集群中的集群级别的云盘管控服务也可以记录任务状态。以及快照主控服务也可以记录任务状态。
当数据库中的存储数据过期后,还可以对过期数据进行回收。该过期数据可以包括任务状态以及存储的待执行任务。如图3所示,快找主控服务202中的存储管理器305可以定时进行过期数据的回收。存储管理器305可以向数据库中发送回收请求或指令,用以执行步骤337:回收任务数据。其中,任务数据即是关于任务的过期数据。具体的可以是存储管理器305可以从数据库中获取或搬迁数据库中数据表中过期数据到预置的历史表中,作为历史数据。然后定时对预置的历史表进行清理,可以回收或销毁预置的历史表中历史数据中的过期数据(这里的过期数据是在历史数据中的过期数据)。
此外,该方法100还包括:创建快照管控系统,快照管控系统包括快照主控服务以及快照集群服务;快照主控服务部署在区域级别的设备中,可用于执行该方法100;快照集群服务部署在对应的集群中,可用于向快照主控模块上报负载信息以及执行目标任务;在对应的集群中还部署有存储管控服务,可用于执行目标任务以及存储对应的任务执行结果。
由于前文已经阐述过了,就不再重复。仅说明:将包括快照主控服务以及快照集群服务等架构称为快照管控系统。具体的架构可以参考图2所示的内容。
其中,快照主控服务(SnapshotMaster)主要可以实现:对请求的管理,可以响应整个区域region内的关于快照管控功能的请求,可以包括来自外部的API请求和内部管控命令请求。还可以对集群进行管理。管理区域region内所有的快照集群服务所在集群,收集集群上报的负载信息,可以为每种类型的任务计算所有集群调度该类任务的权重,即集群权重。还可以进行策略的管理。如快照策略配置,用于生成定时任务,例如快照计费、快照回收等(可以定时生成快照计费任务以及快照回收任务,然后根据上述进行后续的任务处理,就不再过多赘述了)。以及任务的管理。如可以将用户发送的外部请求转化为对应的待执行任务,处理任务幂等性、持久化(如存储数据库)、加入优先级队列等操作。该服务还具有全局的任务调度器:可以根据任务的类型选择权重最高的集群,实现对全局任务智能调度、上传或下载流控,如目标集群的权重最高,且满足执行条件,那么说明当前集群可以较为全面的满足任务的处理需求,也是包括带宽流量的控制。反之,则说明不能满足,那么也是实现了对计算资源的控制,以及也是实现了网络中带宽流量的控制。
而对于快照集群服务(SnapshotCluster)而言,其主要实现:集群内的工作节点的管理。如,管理集群内的工作节点woker:快照服务器(SnapshotServer)。还可以实现任务的管理。如,集群内部快照管控功能的响应处理,包括任务的调度和重试机制、元数据持久化等。其中,可以在接收到目标任务后,将目标任务分配给对应的快照服务器,当未接收到对应服务器返回的接收到目标任务的响应信息,也可以进行重试,重新发送目标任务给对应的快照服务器。此外,还可以对目标任务的任务状态。目标任务等进行持久化的存储。该服务还可以实现数据的采集如,定期向SnapshotMaster发送心跳信息,用于采集汇报快照的任务进度(即任务状态,使得该服务将接收到的任务状态存储至本地的存储器)、集群的负载信息、集群的存储容量等信息。
还需要说明的是,通过本申请实施例部署的系统,可以将关于云盘和关于快照管控服务分开管理,而且具备基于优先级的闭环管控调度能力,即底层的信息通过反馈机制反馈给上层进行全局调度,以实现决策分析利用。
由此可以减少由于云盘和快照服务因为紧耦合的关系而导致的隔离性差、以及线上稳定性差。快照服务的服务级别协议SLA(Service Level Agreement)远低于云盘服务的SLA。所以快照功能bug问题可能会导致云盘功能的异常,甚至会严重放大故障级别。而本申请实施例新增加的管控需求,不需要都修改现有的关于云盘管控服务或模块,提高了扩展性。在不侵入云盘管控服务的情况下,结合下游上报的集群的负载信息,为任务调度提供决策因子,实现闭环管控,最终保障底层的安全稳定运行。
基于此,本申请实施例具备了按快照服务优先级进行调度的能力,具备了结合集群服务的负载信息进行全局流控的能力,扩展性增强。快照和云盘服务的解耦,实现了独立开发和运维,快照的bug不会影响云盘服务的功能。通过API网关专注于API管控入口,做到服务的下沉。
对不依赖特定集群或具体的集群的任务也可以进行负载均衡调度,快照服务既不影响云盘服务,又充分利用区域reigon内的计算资源。使云盘管控服务更轻量化,服务安全隔离性增强。为整个区域region快照和云盘服务的稳定运行提供了一层有力的保障。
图4为本申请一示例性实施例提供的一种任务的调度系统的结构示意图。如图4所示,该系统400可以包括:第一设备401以及第二设备402。
其中,第一设备401可以是有一定计算能力的设备,可以实现向第二设备402发送数据的功能,也可以接收第二设备402发送的数据。第一设备401的基本结构可以包括:至少一个处理器。处理器的数量可以取决于具有一定计算能力装置的配置和类型。具有一定计算能力装置也可以包括存储器,该存储器可以为易失性的,例如RAM,也可以为非易失性的,例如只读存储器(Read-Only Memory,ROM)、闪存等,或者也可以同时包括两种类型。存储器内通常存储有操作系统(Operating System,OS)、一个或多个应用程序,也可以存储有程序数据等。除了处理单元和存储器之外,具有一定计算能力装置还包括一些基本配置,例如网卡芯片、IO总线、显示组件以及一些外围设备等。可选地,一些外围设备可以包括,例如键盘、输入笔等。其它外围设备在本领域中是众所周知的,在此不做赘述。可选地,第一设备401可以为智能终端,例如,手机、台式电脑、笔记本、平板电脑等。
第二设备402是指可以在网络虚拟环境中提供计算处理服务的设备,可以是指利用网络进行任务处理的设备。在物理实现上,第二设备402可以是任何能够提供计算服务,响应服务请求,并进行任务处理的设备,例如可以是云服务器、云主机、虚拟中心、常规服务器等等,其上构架有数据库。第二设备402的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。
具体的,第二设备402,通过快照主控服务接收与待执行任务关联的请求,根据请求生成待执行任务;通过快照主控服务根据待执行任务的优先级,从多个待执行任务中选择目标任务,并通过快照集群服务选择用于可执行目标任务的目标集群;通过快照主控服务根据选择的目标集群,分配目标任务,使得目标集群通过快照集群服务接收到目标任务,并通过目标集群中的工作节点执行目标任务。
具体的,第一设备401,发送与待执行任务关联的请求至第二设备402。
具体的,第二设备402,通过快照主控服务接收与快照服务关联的请求,根据请求中携带的请求信息,确定待执行任务的类型,并生成对应的待执行任务。
具体的,第二设备402,通过快照主控服务根据不同的优先级,从多个待执行任务中选择不同优先级对应的多个目标任务,高优先级对应的目标任务的数量多于低优先级对应的目标任务的数量;通过快照集群服务根据多个集群的负载能力,选择目标集群,负载能力表示为对应集群执行目标任务的情况。
具体的,第二设备402,通过快照主控服务根据待执行任务的优先级,将待执行任务放入与优先级对应的优先级队列;根据不同的优先级,从不同的优先级队列中选取多个目标任务,从高优先级队列中选取的目标任务的数量多于从低优先级队列中选取的目标任务的数量。
此外,第二设备402,通过快照主控服务获取快照集群服务上报的用于执行目标任务的多个集群的负载信息,根据负载信息,确定集群对应的负载能力。
此外,第二设备402,通过快照主控服务根据目标任务的执行条件以及负载能力,从多个集群中选择目标集群。
此外,第二设备402,当多个集群中不存在满足当前目标任务的执行条件的目标集群,则通过快照主控服务为相对当前目标任务的优先级低的目标任务选择对应的目标集群。
此外,第二设备402,当待执行任务的类型属于同步类型,则通过快照主控服务直接从多个集群中选择负载能力最高的集群作为目标集群,用于分配待执行任务,以使目标集群执行待执行任务。
具体的,第二设备402,通过快照主控服务根据负载信息,确定对应集群的负载权重,作为负载能力。
此外,第二设备402,通过快照主控服务在分配目标任务到目标任务执行完成,记录目标任务的任务状态;通过快照主控服务接收查询任务状态的请求,从本地存储器中查找对应任务的任务状态;若未查找到,则通过数据库中查找对应任务的任务状态;若未查找到,则从目标集群中查找对应任务的任务状态。
该系统还可以包括第三设备,该第三设备与第二设备402的实现形态相似,就不再过多赘述了。仅说明,该第三设备可以是以集群设备的形式体现的。
该第三设备可以部署有快照集群服务,该服务可以可用于向快照主控模块上报负载信息以及执行目标任务;在对应的集群中还部署有存储管控服务,可用于执行目标任务以及存储对应的任务执行结果。
在创建快照的场景中,用户可以通过第一设备401,如电脑,安装的web网络浏览器获取第二设备402,如云服务器的服务界面,如快照服务界面。用户通过该界面发送API(Application Programming Interface,应用程序接口)请求,即执行步骤411:发送创建快照请求。该请求用于创建快照,即该API请求也可以是创建快照的API请求。并通过电脑将该请求发送至云服务器的API网关。然后,由该API网关对该请求进行过滤以及转发至对应的云服务器上快照主控服务生成对应的待执行任务:创建快照待执行任务。
快照主控服务根据不同的待执行任务的优先级,将待执行任务放入至对应的优先级队列。然后,快照主控服务轮询这些优先级队列,根据不同优先级目标任务的数量,从队列中依次选择对应数量的目标任务。如,优先级最高P1:目标任务数量为500,优先级次高P2:目标任务数量为400,优先级第三高P3:目标任务数量为300,优先级第四高P4:目标任务数量为200。
当轮询到创建快照待执行任务后,其可以作为目标任务。根据快照集群服务上报的集群的负载信息选择负载信息中较优良的集群。对于依赖于具体的集群的目标任务,如创建快照的目标任务。可以先选择上述较好的集群。
然后还可以根据执行条件来确定该较优良的集群是否满足该执行条件,如果满足,则选择该集群,否则可以跳过该任务,继续下一个目标任务,该下一个目标任务是属于优先级低的目标任务,如该集群不能执行P1中的目标任务,则跳过该任务,执行P2中的目标任务。
当可以选择该集群后,可以将目标任务发送至对应的集群中,使之对应的集群中的工作节点进行该目标任务的执行。并将创建成功的结果返回至用户的电脑,即执行步骤412:返回创建成功的结果。
此处未详细记载的内容可以参考前文所述的内容,就不再赘述。
在上述本实施例中,第一设备401、第二设备402进行网络连接。若第一设备401、第二设备402是通信连接,该移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、WiMax、5G等中的任意一种。
图5为本申请一示例性实施例提供的一种任务的调度装置的结构框架示意图。该装置500可以应用于计算设备,如云服务器。更具体的可以适用于创建的快照管控系统,快照管控系统包括快照主控服务以及快照集群服务,快照主控服务部署在区域级别的设备(如上述云服务器)中,快照集群服务部署在对应的集群设备中,该装置500包括:生成模块501、选择模块502以及分配模块503;以下针对各个模块的功能进行详细的阐述:
生成模块501,用于通过快照主控服务接收与待执行任务关联的请求,根据请求生成待执行任务。
选择模块502,用于通过快照主控服务根据待执行任务的优先级,从多个待执行任务中选择目标任务,并通过快照集群服务选择用于可执行目标任务的目标集群。
分配模块503,用于通过快照主控服务根据选择的目标集群,分配目标任务,使得目标集群通过快照集群服务接收到目标任务,并通过目标集群中的工作节点执行目标任务。
具体的,生成模块501,用于:通过快照主控服务接收与快照服务关联的请求,根据请求中携带的请求信息,确定待执行任务的类型,并生成对应的待执行任务。
具体的,选择模块502,包括:选择单元,用于通过快照主控服务根据不同的优先级,从多个待执行任务中选择不同优先级对应的多个目标任务,高优先级对应的目标任务的数量多于低优先级对应的目标任务的数量;选择单元,用于通过快照集群服务根据多个集群的负载能力,选择目标集群,负载能力表示为对应集群执行目标任务的情况。
具体的,选择模块502,包括:放入单元,用于通过快照主控服务根据待执行任务的优先级,将待执行任务放入与优先级对应的优先级队列;选择单元,还用于根据不同的优先级,从不同的优先级队列中选取多个目标任务,从高优先级队列中选取的目标任务的数量多于从低优先级队列中选取的目标任务的数量。
具体的,选择单元,用于通过快照主控服务获取快照集群服务上报的用于执行目标任务的多个集群的负载信息,根据负载信息,确定集群对应的负载能力。
此外,选择单元,用于通过快照主控服务根据目标任务的执行条件以及负载能力,从多个集群中选择目标集群。
具体的,选择单元,用于当多个集群中不存在满足当前目标任务的执行条件的目标集群,则通过快照主控服务为相对当前目标任务的优先级低的目标任务选择对应的目标集群。
此外,选择单元,用于当待执行任务的类型属于同步类型,则通过快照主控服务直接从多个集群中选择负载能力最高的集群作为目标集群,用于分配待执行任务,以使目标集群执行待执行任务。
具体的,选择单元,用于通过快照主控服务根据负载信息,确定对应集群的负载权重,作为负载能力。
此外,该装置500还包括:记录模块,用于通过快照主控服务在分配目标任务到目标任务执行完成,记录目标任务的任务状态;查找模块,用于通过快照主控服务接收查询任务状态的请求,从本地存储器中查找对应任务的任务状态;查找模块,用于若未查找到,则通过数据库中查找对应任务的任务状态;若未查找到,则从目标集群中查找对应任务的任务状态。
本装置500中未能详尽的内容请参考前文所述,就不再赘述。
以上描述了图5所示的装置500的内部功能和结构,在一个可能的设计中,图5所示的装置500的结构可实现为计算设备,如,云服务器。如图6所示,该设备600可以包括:存储器601、处理器602;
存储器601,用于存储计算机程序。
处理器602,用于执行计算机程序,以用于:通过快照主控服务接收与待执行任务关联的请求,根据请求生成待执行任务;通过快照主控服务根据待执行任务的优先级,从多个待执行任务中选择目标任务,并通过快照集群服务选择用于可执行目标任务的目标集群;通过快照主控服务根据选择的目标集群,分配目标任务,使得目标集群通过快照集群服务接收到所述目标任务,并通过目标集群中的工作节点执行目标任务;其中,创建的快照管控系统包括快照主控服务以及快照集群服务,快照主控服务部署在区域级别的设备中,快照集群服务部署在对应的集群设备中。
具体的,处理器602,具体用于:通过快照主控服务接收与快照服务关联的请求,根据请求中携带的请求信息,确定待执行任务的类型,并生成对应的待执行任务。
具体的,处理器602,具体用于:通过快照主控服务根据不同的优先级,从多个待执行任务中选择不同优先级对应的多个目标任务,高优先级对应的目标任务的数量多于低优先级对应的目标任务的数量;通过快照集群服务根据多个集群的负载能力,选择目标集群,负载能力表示为对应集群执行目标任务的情况。
具体的,处理器602,具体用于:通过快照主控服务根据待执行任务的优先级,将待执行任务放入与优先级对应的优先级队列;根据不同的优先级,从不同的优先级队列中选取多个目标任务,从高优先级队列中选取的目标任务的数量多于从低优先级队列中选取的目标任务的数量。
此外,处理器602,还用于:通过快照主控服务获取快照集群服务上报的用于执行目标任务的多个集群的负载信息,根据负载信息,确定集群对应的负载能力。
此外,处理器602,还用于:通过快照主控服务根据目标任务的执行条件以及负载能力,从多个集群中选择目标集群。
具体的,处理器602,具体用于:当多个集群中不存在满足当前目标任务的执行条件的目标集群,则通过快照主控服务为相对当前目标任务的优先级低的目标任务选择对应的目标集群。
此外,处理器602,具体用于:当待执行任务的类型属于同步类型,则通过快照主控服务直接从多个集群中选择负载能力最高的集群作为目标集群,用于分配待执行任务,以使目标集群执行待执行任务。
具体的,处理器602,具体用于:通过快照主控服务根据负载信息,确定对应集群的负载权重,作为负载能力。
此外,处理器602,还用于:通过快照主控服务在分配目标任务到目标任务执行完成,记录目标任务的任务状态;通过快照主控服务接收查询任务状态的请求,从本地存储器中查找对应任务的任务状态;若未查找到,则通过数据库中查找对应任务的任务状态;若未查找到,则从目标集群中查找对应任务的任务状态。
本申请一示例性实施例提供的一种快照管控系统,包括:快照主控服务以及快照集群服务,快照主控服务部署在区域级别的设备中,快照集群服务部署在对应的集群设备中;快照主控服务,用于接收与待执行任务关联的请求,根据请求生成待执行任务;快照主控服务,用于根据待执行任务的优先级,从多个待执行任务中选择目标任务,并通过快照集群服务选择用于可执行目标任务的目标集群;快照主控服务,用于根据选择的目标集群,分配目标任务;快照集群服务,用于接收目标任务,并使得目标集群接收到目标任务,并通过目标集群中的工作节点执行目标任务。
由于前文已经阐述过了,此处就不再赘述了。未能详尽的可以参考前文所述的内容。
另外,本发明实施例提供了一种计算机程序产品,包括计算机程序或指令,其中,当计算机程序被处理器执行时,致使处理器实现图1-3方法实施例中一种任务的调度方法的步骤。就不再过多赘述了。
本发明实施例提供了一种计算机存储介质,计算机程序被一个或多个处理器执行时,致使一个或多个处理器实现图1-3方法实施例中一种任务的调度方法的步骤。就不再过多赘述了。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102、103等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程多媒体数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程多媒体数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程多媒体数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程多媒体数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (14)
1.一种任务的调度方法,适用于创建的快照管控系统,所述快照管控系统包括快照主控服务以及快照集群服务,所述快照主控服务部署在区域级别的设备中,所述快照集群服务部署在对应的集群设备中,所述方法包括:
通过快照主控服务接收与待执行任务关联的请求,根据所述请求生成待执行任务;
通过快照主控服务根据所述待执行任务的优先级,从多个待执行任务中选择目标任务,并通过快照集群服务选择用于可执行所述目标任务的目标集群;
通过快照主控服务根据选择的目标集群,分配所述目标任务,使得所述目标集群通过快照集群服务接收到所述目标任务,并通过目标集群中的工作节点执行所述目标任务。
2.根据权利要求1所述的方法,所述通过快照主控服务接收与待执行任务关联的请求,根据所述请求生成待执行任务,包括:
通过快照主控服务接收与快照服务关联的请求,根据所述请求中携带的请求信息,确定待执行任务的类型,并生成对应的待执行任务。
3.根据权利要求1所述的方法,所述通过快照主控服务根据所述待执行任务的优先级,从多个待执行任务中选择目标任务,并通过快照集群服务选择用于可执行所述目标任务的目标集群,包括:
通过快照主控服务根据不同的优先级,从多个待执行任务中选择不同优先级对应的多个目标任务,高优先级对应的目标任务的数量多于低优先级对应的目标任务的数量;
通过快照集群服务根据多个集群的负载能力,选择目标集群,所述负载能力表示为对应集群执行目标任务的情况。
4.根据权利要求1所述的方法,所述通过快照主控服务根据所述待执行任务的优先级,从多个待执行任务中选择目标任务,包括:
通过快照主控服务根据所述待执行任务的优先级,将所述待执行任务放入与所述优先级对应的优先级队列;
根据不同的优先级,从不同的优先级队列中选取多个目标任务,从高优先级队列中选取的目标任务的数量多于从低优先级队列中选取的目标任务的数量。
5.根据权利要求3所述的方法,所述方法还包括:
通过快照主控服务获取快照集群服务上报的用于执行目标任务的多个集群的负载信息,根据所述负载信息,确定集群对应的负载能力。
6.根据权利要求3或5所述的方法,所述方法还包括:
通过快照主控服务根据所述目标任务的执行条件以及负载能力,从多个集群中选择目标集群。
7.根据权利要求6所述的方法,所述方法还包括:
当多个集群中不存在满足当前目标任务的执行条件的目标集群,则通过快照主控服务为相对所述当前目标任务的优先级低的目标任务选择对应的目标集群。
8.根据权利要求3或4所述的方法,所述方法还包括:
当所述待执行任务的类型属于同步类型,则通过快照主控服务直接从多个集群中选择负载能力最高的集群作为目标集群,用于分配所述待执行任务,以使所述目标集群执行所述待执行任务。
9.根据权利要求5所述的方法,所述根据所述负载信息,确定集群对应的负载能力,包括:
通过快照主控服务根据负载信息,确定对应集群的负载权重,作为负载能力。
10.根据权利要求1所述的方法,所述方法还包括:
通过快照主控服务在分配所述目标任务到目标任务执行完成,记录所述目标任务的任务状态;
通过快照主控服务接收查询任务状态的请求,从本地存储器中查找对应任务的任务状态;
若未查找到,则通过数据库中查找对应任务的任务状态;
若未查找到,则从目标集群中查找对应任务的任务状态。
11.一种快照管控系统,包括:快照主控服务以及快照集群服务,所述快照主控服务部署在区域级别的设备中,所述快照集群服务部署在对应的集群设备中;
所述快照主控服务,用于接收与待执行任务关联的请求,根据所述请求生成待执行任务;
所述快照主控服务,用于根据所述待执行任务的优先级,从多个待执行任务中选择目标任务,并通过所述快照集群服务选择用于可执行所述目标任务的目标集群;
所述快照主控服务,用于根据选择的目标集群,分配所述目标任务;
所述快照集群服务,用于接收目标任务,并使得所述目标集群接收到所述目标任务,并通过目标集群中的工作节点执行所述目标任务。
12.一种计算设备,包括:存储器、处理器;
所述存储器,用于存储计算机程序;
所述处理器,执行所述计算机程序,以用于:
通过快照主控服务接收与待执行任务关联的请求,根据所述请求生成待执行任务;
通过快照主控服务根据所述待执行任务的优先级,从多个待执行任务中选择目标任务,并通过快照集群服务选择用于可执行所述目标任务的目标集群;
通过快照主控服务根据选择的目标集群,分配所述目标任务,使得所述目标集群通过快照集群服务接收到所述目标任务,并通过目标集群中的工作节点执行所述目标任务;
其中,创建的快照管控系统包括快照主控服务以及快照集群服务,所述快照主控服务部署在区域级别的所述设备中,所述快照集群服务部署在对应的集群设备中。
13.一种存储有计算机程序的计算机可读存储介质,计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器实现权利要求1-10任一项所述方法中的步骤。
14.一种计算机程序产品,包括计算机程序或指令,其中,当计算机程序被处理器执行时,致使处理器实现权利要求1-10任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111463111.2A CN114296891A (zh) | 2021-12-02 | 2021-12-02 | 任务的调度方法、系统、计算设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111463111.2A CN114296891A (zh) | 2021-12-02 | 2021-12-02 | 任务的调度方法、系统、计算设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114296891A true CN114296891A (zh) | 2022-04-08 |
Family
ID=80965210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111463111.2A Pending CN114296891A (zh) | 2021-12-02 | 2021-12-02 | 任务的调度方法、系统、计算设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114296891A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114915658A (zh) * | 2022-05-11 | 2022-08-16 | 朱宝德 | 一种基于分布式缓存技术的计算机系统缓存优化清理方法 |
CN116582453A (zh) * | 2023-07-06 | 2023-08-11 | 北京志凌海纳科技有限公司 | 一种多业务集群场景下的监控数据迁移方法和系统 |
-
2021
- 2021-12-02 CN CN202111463111.2A patent/CN114296891A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114915658A (zh) * | 2022-05-11 | 2022-08-16 | 朱宝德 | 一种基于分布式缓存技术的计算机系统缓存优化清理方法 |
CN116582453A (zh) * | 2023-07-06 | 2023-08-11 | 北京志凌海纳科技有限公司 | 一种多业务集群场景下的监控数据迁移方法和系统 |
CN116582453B (zh) * | 2023-07-06 | 2023-09-15 | 北京志凌海纳科技有限公司 | 一种多业务集群场景下的监控数据迁移方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11226847B2 (en) | Implementing an application manifest in a node-specific manner using an intent-based orchestrator | |
US11321197B2 (en) | File service auto-remediation in storage systems | |
CN110377395B (zh) | 一种Kubernetes集群中的Pod迁移方法 | |
US10715460B2 (en) | Opportunistic resource migration to optimize resource placement | |
WO2019137320A1 (zh) | 资源调度方法、装置、设备和系统 | |
EP2754046B1 (en) | Automatic preemption in multiple computer systems | |
US11119829B2 (en) | On-demand provisioning of customized developer environments | |
CN110941481A (zh) | 资源调度方法、装置及系统 | |
CN114930295A (zh) | 利用预留容量而不抑制缩放的无服务器调用分配 | |
CN112165436B (zh) | 流量控制方法、装置及系统 | |
CN111522636A (zh) | 应用容器的调整方法、调整系统、计算机可读介质及终端设备 | |
CN112565774B (zh) | 视频转码资源调度方法及装置 | |
CN104937584A (zh) | 基于共享资源的质量向经优先级排序的虚拟机和应用程序提供优化的服务质量 | |
CN114296891A (zh) | 任务的调度方法、系统、计算设备、存储介质及程序产品 | |
US10616134B1 (en) | Prioritizing resource hosts for resource placement | |
US20220283846A1 (en) | Pod deployment method and apparatus | |
CN109992373B (zh) | 资源调度方法、信息管理方法和装置及任务部署系统 | |
US20210240560A1 (en) | Block-storage service supporting multi-attach and health check failover mechanism | |
US10776173B1 (en) | Local placement of resource instances in a distributed system | |
CN110099084A (zh) | 一种保证存储服务可用性的方法、系统及计算机可读介质 | |
CN113296931A (zh) | 一种资源的控制方法、系统、计算设备及存储介质 | |
CN114625533A (zh) | 分布式任务调度方法、装置、电子设备及存储介质 | |
US10348814B1 (en) | Efficient storage reclamation for system components managing storage | |
WO2024164894A1 (zh) | 流量控制与数据复制方法、节点、系统及存储介质 | |
US10594620B1 (en) | Bit vector analysis for resource placement in a distributed system |
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 |