CN106548262A - 用于处理任务的资源的调度方法、装置和系统 - Google Patents
用于处理任务的资源的调度方法、装置和系统 Download PDFInfo
- Publication number
- CN106548262A CN106548262A CN201510604095.2A CN201510604095A CN106548262A CN 106548262 A CN106548262 A CN 106548262A CN 201510604095 A CN201510604095 A CN 201510604095A CN 106548262 A CN106548262 A CN 106548262A
- Authority
- CN
- China
- Prior art keywords
- resource
- task
- description information
- physical machine
- internal memory
- 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
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/5083—Techniques for rebalancing the load in a distributed system
-
- 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
-
- 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
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- 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
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/501—Performance criteria
Abstract
本申请公开了一种用于处理任务的资源的调度方法、装置和系统。其中,该方法包括:接收客户端发送的待处理的至少一个任务,任意一个任务包含一个或多个实例,以及处理任务所包含的实例所需的资源描述信息;根据资源描述信息确定初始计算资源,其中,初始计算资源为用于处理任务所包含的实例时所调用的最小计算资源;判断资源描述信息是否指示调用实际计算资源,其中,实际计算资源为大于初始计算资源的计算资源;在资源描述信息指示调用实际计算资源的情况下,调用实际计算资源来处理任务所包含的实例。本申请解决了现有技术中在基于异构云计算资源进行批量计算时,异构云计算资源的利用率低,导致处理用户作业所包含的任务的效率低的技术问题。
Description
技术领域
本申请涉及云计算技术领域,具体而言,涉及一种用于处理任务的资源的调度方法、装置和系统。
背景技术
现有技术中,批量计算服务(Batch Computing Service,简称为BatchCompute)是一种适用于大规模并行批处理作业的分布式云服务,在电影动画渲染、生物数据分析、多媒体转码、金融保险分析等领域有较广泛的应用。如图1所示,批量计算服务的用户可将每个特定的计算需求定义为一个作业(Job),每个作业(Job)可包含多个独立的或者有依赖关系的任务(Task),每个任务可以有一个或多个执行实例,且每个任务可以指定运行的程序地址、输入输出路径(即程序运行所需数据的输入输出地址)、资源需求(CPU、内存)以及并发度需求(用于指定每个任务所含实例的数量)。批量计算服务根据用户的作业需求动态分配计算资源,自动完成计算分布。
在批量计算的模型下,即使对于大规模的并发场景(百、千级的节点并发),用户对资源的描述也往往是同构的(单一资源描述,即每个任务的所有实例使用相同配置的计算资源),难以适配异构的大规模云计算资源。
由于在构建大规模云计算资源时,考虑到成本、利旧及不同采购批次等因素,有可能使用大量异构的计算资源(包括机器型号、CPU、内存等不一致),在使用异构云计算资源进行大规模的并发批量计算时,往往只能采用单一的资源规格(包括CPU核数、内存大小)来分配计算资源,会导致计算资源利用率不高。例如:异构云计算集群中如果同时有CPU核数为16核、24核、32核以及48核各100台的计算资源,在用户运行批量计算作业时,为了使用尽可能多的计算节点,往往只能申请14核用于计算用途(预留2核作为系统开销),而对于24核、32核、48核等高配置资源会造成较大的浪费,如用户申请14核用于计算用途时可以使用400台计算资源,而用户申请30核用于计算用途时则只能使用200台计算资源;并且,如用户申请14核用于计算用途,在执行用户作业时,不论计算资源的实际配置为多少,均只调用其中的14核用于执行用户作业,其他资源则闲置。
现有技术中,为解决上述问题,有如下两种可能的解决方法:
1)要求用户将单一作业/任务拆分成多个不同作业/任务,为拆分后的各个作业/任务分别定义不同的资源需求以适配异构云计算资源;
2)在异构云计算资源上增加多虚拟机的支持,以提高资源利用率。
上述两种方法一种是由用户手工拆分作业,一种是通过系统调度多虚拟机,均可以在一定程度上解决上述技术方案中异构云计算资源的利用率低的问题,但是都有一定缺点:
1)第一种方法要求用户按照不同的资源需求类型拆分作业,这是比较难操作的,因为异构云计算资源的具体配置分布情况对用户是不可见的,用户无法了解14核以上的计算资源能分配多少,22核以上的计算资源能分配多少等。因此,这种方法的难度大、操作效率低,对用户也是很不友好的;
2)第二种方法是增加多虚拟机支持,这种方法可以比较好的改善异构云计算资源的利用率,但是对于某些特定的用户场景支持不好——比如用户的作业是网络I/O密集型作业时,在单物理机上支持多虚拟机会造成虚拟机之间的网络争抢,导致用户作业总体性能下降。
针对现有技术中在基于异构云计算资源进行批量计算时,异构云计算资源的利用率低,导致处理用户作业所包含的任务的效率低的技术问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种用于处理任务的资源的调度方法、装置和系统,以至少解决现有技术中在基于异构云计算资源进行批量计算时,异构云计算资源的利用率低,导致处理用户作业所包含的任务的效率低的技术问题。
根据本申请实施例的一个方面,提供了一种用于处理任务的资源的调度方法,包括:接收客户端发送的待处理的至少一个任务,其中,任意一个任务包含一个或多个实例,以及处理任务所包含的实例所需的资源描述信息;根据资源描述信息确定初始计算资源,其中,初始计算资源为用于处理任务所包含的实例时所调用的最小计算资源;判断资源描述信息是否指示调用实际计算资源,其中,实际计算资源为大于初始计算资源的计算资源;在资源描述信息指示调用实际计算资源的情况下,调用实际计算资源来处理任务所包含的实例。
根据本申请实施例的另一方面,还提供了一种用于处理任务的资源的调度装置,包括:接收单元,用于接收客户端发送的待处理的至少一个任务,其中,任意一个任务包含一个或多个实例,以及处理任务所包含的实例所需的资源描述信息;确定单元,用于根据资源描述信息确定初始计算资源,其中,初始计算资源为用于处理任务所包含的实例时所调用的最小计算资源;第一判断单元,用于判断资源描述信息是否指示调用实际计算资源,其中,实际计算资源为大于初始计算资源的计算资源;第一调用单元,用于在资源描述信息指示调用实际计算资源的情况下,调用实际计算资源来处理任务所包含的实例。
根据本申请实施例的另一方面,还提供了一种用于处理任务的资源的调度系统,包括:客户端,用于发送待处理的至少一个任务至云计算资源,其中,任意一个任务包含一个或多个实例,以及处理任务所包含的实例所需的资源描述信息;云计算资源,与客户端连接,用于根据资源描述信息确定初始计算资源,判断资源描述信息是否指示调用实际计算资源,以及在资源描述信息指示调用实际计算资源的情况下,调用实际计算资源来处理任务所包含的实例,其中,初始计算资源为用于处理任务所包含的实例时所调用的最小计算资源,实际计算资源为大于初始计算资源的计算资源。
本申请上述实施例公开的方案中,如果希望充分利用异构云计算资源处理用户作业所包含的任务,提高异构云计算资源处理任务的效率,可以在生成任务时在资源描述信息中指定处理该任务所需的最小计算资源,并指示可以调用大于该最小计算资源的实际计算资源来处理任务,在异构云计算资源接收到该任务并根据该任务的资源描述信息确定处理该任务的各个初始计算资源之后,本方案可以根据资源描述信息的指示将初始计算资源自动增长为其对应的物理机所支持的实际计算资源,以调用配置更高的实际计算资源处理任务所包含的实例。
容易注意到,由于在生成任务的资源描述信息时,只需在资源描述信息中指定处理任务所包含实例所需的最小计算资源,并通过资源描述信息指示云计算资源调用大于该最小计算资源的实际计算资源处理任务实例,就可以根据资源描述信息为任务实例分配满足最小计算资源的初始计算资源,并在执行实例时调用该初始计算资源所对应物理机所支持的配置更高的实际计算资源,因此,通过本申请实施例所提供的方案,无需用户按照不同的资源需求类型手动拆分作业,可以实现自动调用云计算资源所支持的实际计算资源处理任务实例,这样不仅实现了只需根据用户的计算需求来定义作业,无需由于考虑异构云计算资源的具体资源配置而拆分作业以适配异构云计算资源,而且,在处理任务实例时,在满足用户指定的最小计算资源的情况下,自动调用异构云计算资源所支持的实际计算资源,因此,可以自适应地调用异构云计算资源来处理作业任务所包含的实例,提高异构云计算资源的利用率,进而快速、有效地处理用户作业,提高用户作业的处理性能。
由此,本申请提供的上述实施例的方案解决了现有技术中在基于异构云计算资源进行批量计算时,异构云计算资源的利用率低,导致处理用户作业所包含的任务的效率低的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据现有技术的一种批量计算服务分配计算资源的示意图;
图2是本申请实施例的一种用于处理任务的资源的调度方法的计算机终端的硬件结构框图;
图3是根据本申请实施例一的用于处理任务的资源的调度方法的流程图;
图4是根据本申请实施例一的一种可选的批量计算服务分配计算资源的示意图;
图5是根据本申请实施例一的一种可选的用于处理任务的资源的调度方法的时序图;
图6是根据本申请实施例二的用于处理任务的资源的调度装置的示意图;
图7是根据本申请实施例二的一种可选的用于处理任务的资源的调度装置的示意图;
图8是根据本申请实施例二的一种可选的用于处理任务的资源的调度装置的示意图;
图9是根据本申请实施例二的一种可选的用于处理任务的资源的调度装置的示意图;
图10是根据本申请实施例二的一种可选的用于处理任务的资源的调度装置的示意图;
图11是根据本申请实施例二的一种可选的用于处理任务的资源的调度装置的示意图;
图12是根据本申请实施例二的一种可选的用于处理任务的资源的调度装置的示意图;
图13是根据本申请实施例三的用于处理任务的资源的调度系统的示意图;以及
图14是根据本申请实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
批量计算服务:Batch Computing Service,简称BatchCompute,是一种适用于大规模并行批处理作业的分布式云服务,可支持海量作业并发规模,系统自动完成资源管理、作业调度和数据加载,并按实际使用量计费。
云计算:英文名称为Cloud Computing,是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。
CPU:Central Processing Unit,即中央处理器,是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心(Control Unit),它的功能主要是解释计算机指令以及处理计算机软件中的数据。
实例:是批量计算服务调度与执行的最小单元。批量计算服务中用户的每个特定计算需求被描述为一个作业,一个作业由一组任务及其依赖关系组成,而每个任务可以有一个或多个实例,同一任务的各个实例并行处理各自的输入数据。
实施例1
根据本申请实施例,还提供了一种用于处理任务的资源的调度方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图2是本申请实施例的一种用于处理任务的资源的调度方法的计算机终端的硬件结构框图。如图2所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的用于处理任务的资源的调度方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的用于处理任务的资源的调度方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在上述运行环境下,本申请提供了如图3所示的用于处理任务的资源的调度方法。图3是根据本申请实施例一的用于处理任务的资源的调度方法的流程图,如图3所示的方法可以包括如下步骤:
步骤S31,接收客户端发送的待处理的至少一个任务。其中,任意一个任务包含一个或多个实例,以及处理任务所包含的实例所需的资源描述信息。
可选地,客户端可以为安装在计算机、平板电脑或者笔记本电脑等设备上的应用程序,用户可以通过登录客户端并在客户端上根据其特定的计算需求生成待处理的作业,其中,一个作业可以包括至少一个任务,每个任务可以包含一个或多个实例,且每个任务中的各个实例调用相同的计算资源,该计算资源可以通过上述的资源描述信息来描述。
在一个可选的实施例中,资源描述信息至少可以包括如下信息:任务所运行的程序地址、该程序运行其所需数据的输入输出路径、资源需求(如CPU、内存等)以及并发度需求(即每个任务所包含实例的数量)。
需要说明的是,用户在资源描述信息中指定的资源需求包含了用作系统开销的资源。例如,用户的资源需求为8核CPU时,其中的2核可以用作系统开销,剩余的6核用于处理用户作业所包含的实例。
在本申请实施例中,对于具体预留多少计算资源用作系统开销,此处仅作示例性说明,本申请在此不做限定。
例如,以客户端发送的待处理的一个任务包含100个实例、用户申请8核CPU、32G内存的计算资源处理该任务的应用场景为例,对本申请上述实施例进行说明。在客户端发送待处理的任务之前,用户需要在客户端上生成该任务。用户在生成任务时需要指定该任务中所包含实例的数量(即并发度需求,在此例中为100)、该任务需运行的程序地址、输入输出路径以及资源需求(在此例中为8核CPU、32G内存)等。在该例中,在处理该任务中所包含的任意一个实例时,所需的计算资源的配置需满足8核CPU、32G内存的最小配置,并且执行该任务需要100个计算资源,那么在生成任务时,该任务的资源描述信息至少包括如下信息:资源需求为8核CPU、32G内存,并发度需求为100。
步骤S33,根据资源描述信息确定初始计算资源。其中,初始计算资源为用于处理任务所包含的实例时所调用的最小计算资源。
具体地,在接收到客户端发送的待处理的至少一个任务之后,对于其中的任意一个任务,云计算资源根据该任务中所包含的资源描述信息确定用于处理该任务所包含实例的初始计算资源,该初始计算资源为满足该任务所包含的资源描述信息的最小计算资源。
在一个可选的实施例中,云计算资源从任务所包含的资源描述信息中读取处理该任务所包含的实例所需的计算资源的配置信息,根据该配置信息,筛选配置符合该配置信息的计算资源作为初始计算资源。
继续以任务所包含的资源描述信息包括资源需求为8核CPU、32G内存,并发度需求为100的应用场景为例,对本申请上述实施例进行说明。云计算资源在接收到客户端发送的该任务之后,根据该任务的资源描述信息从云计算资源中筛选用于处理该任务所包含实例的初始计算资源。具体地,云计算资源将配置符合8核CPU、32G内存的计算资源筛选出100台,作为处理该任务的计算资源,其中,上述的100台计算资源根据用户的资源需求生成初始计算资源,以处理该任务。
步骤S35,判断资源描述信息是否指示调用实际计算资源。其中,实际计算资源为大于初始计算资源的计算资源。
具体地,对于接收到的待处理的至少一个任务中的任意一个任务,在根据其资源描述信息确定用于处理该任务的初始计算资源之后,判断该资源描述信息是否指示调用大于该初始计算资源的实际计算资源来处理该任务。其中,初始计算资源所对应的物理机的实际硬件配置(如,物理机的CPU内核数和内存等)可能大于初始计算资源的配置;实际计算资源与初始计算资源对应同一台物理机,且实际计算资源的配置高于初始计算资源,但不超过物理机的实际硬件配置。
可选地,为了提高云计算资源的利用率,用户在客户端上生成该任务时,可以指定在处理该任务时所调用的计算资源是否能够根据云计算资源所支持的实际配置动态增长,也即,指定在运行该任务中所包含的实例时,任务的实例所占用的实际资源是否可以大于用户在资源描述信息中指定的计算资源。
在一个可选的实施例中,云计算资源在根据任务所包含的资源描述信息确定用于处理该任务的初始计算资源之后,判断该资源描述信息是否指示可以调用初始计算资源所对应物理机能够支持的实际计算资源来处理该任务所包含的实例。
继续以客户端发送的待处理的一个任务包含100个实例、用户申请8核CPU、32G内存的计算资源处理该任务的应用场景为例,对本申请上述实施例进行说明。用户在客户端上生成相应任务及其对应的资源描述信息(该任务的资源描述信息至少包括如下信息:资源需求为8核CPU、32G内存,并发度需求为100)时,还可以通过资源描述信息中的配置项来指示在满足用户指定的资源需求的情况下,执行该任务时是否可以调用大于用户指定的资源需求的实际计算资源。
进一步地,云计算资源在确定了用于处理该任务的初始计算资源之后,判断该资源描述信息中的配置项的配置信息是否为指示在执行该任务时调用大于用户指定的资源需求的实际计算资源,并在执行该任务之前,根据配置项的配置信息所指示的内容调用相应的计算资源。
步骤S37,在资源描述信息指示调用实际计算资源的情况下,调用实际计算资源来处理任务所包含的实例。
具体地,在判断出资源描述信息指示调用实际计算资源的情况下,调用大于初始计算资源的实际计算资源来处理该任务所包含的实例。
在一个可选的实施例中,云计算资源在将任务所包含的各个实例调度至对应的初始计算资源之后,在判断出资源描述信息指示调用实际计算资源的情况下,在执行任务中包含的实例时,自动调用大于初始计算资源的实际计算资源来运行该实例,从而避免了现有技术中由于按照用户指定的资源需求处理任务导致的云计算资源浪费的问题,无需用户按照不同的资源需求类型手动拆分作业,实现了自动按照云计算资源的实际配置处理任务,提高了云计算资源的利用率,进而提高了处理用户作业所包含的任务的效率。
继续以任务所包含的资源描述信息包括资源需求为8核CPU、32G内存,并发度需求为100,且指示调用实际计算资源的应用场景为例,对本申请上述实施例进行说明。云计算资源根据任务的资源描述信息确定用于处理该任务所包含实例的初始计算资源为8核CPU、32G内存的计算资源,如该初始计算资源所对应的物理机的实际硬件配置为16核CPU、64G内存,那么在云计算资源判断出资源描述信息指示可以调用实际计算资源执行该任务实例的情况下,在运行任务实例时,自动调用大于初始计算资源的实际计算资源(如14核CPU、64G内存)。
此处需要说明的是,调用的实际计算资源可以根据需求进行灵活调整,在运行任务实例时,可以将物理机的全部剩余资源或部分剩余资源分配给当前用户,例如,在实例的初始计算资源为8核CPU、32G内存的计算资源,在确定为初始计算资源初始计算资源所对应的物理机的实际硬件配置为16核CPU、64G内存的情况下,可以将剩余的14核CPU、64G内存全部分配给用户,也可以将部分实际计算资源(例如10核CPU、64G内存)分配给用户。
本申请上述实施例一公开的方案中,如果希望充分利用异构云计算资源处理用户作业所包含的任务,提高异构云计算资源处理任务的效率,可以在生成任务时在资源描述信息中指定处理该任务所需的最小计算资源,并指示可以调用大于该最小计算资源的实际计算资源来处理任务,在异构云计算资源接收到该任务并根据该任务的资源描述信息确定处理该任务的各个初始计算资源之后,本方案可以根据资源描述信息的指示将初始计算资源自动增长为其对应的物理机所支持的实际计算资源,以调用配置更高的实际计算资源处理任务所包含的实例。
容易注意到,由于在生成任务的资源描述信息时,只需在资源描述信息中指定处理任务所包含实例所需的最小计算资源,并通过资源描述信息指示云计算资源调用大于该最小计算资源的实际计算资源处理任务实例,就可以根据资源描述信息为任务实例分配满足最小计算资源的初始计算资源,并在执行实例时调用该初始计算资源所对应物理机所支持的配置更高的实际计算资源,因此,通过本申请实施例所提供的方案,无需用户按照不同的资源需求类型手动拆分作业,可以实现自动调用云计算资源所支持的实际计算资源处理任务实例,这样不仅实现了只需根据用户的计算需求来定义作业,无需由于考虑异构云计算资源的具体资源配置而拆分作业以适配异构云计算资源,而且,在处理任务实例时,在满足用户指定的最小计算资源的情况下,自动调用异构云计算资源所支持的实际计算资源,因此,可以自适应地调用异构云计算资源来处理作业任务所包含的实例,提高异构云计算资源的利用率,进而快速、有效地处理用户作业,提高用户作业的处理性能。
由此,本申请提供的上述实施例一的方案解决了现有技术中在基于异构云计算资源进行批量计算时,异构云计算资源的利用率低,导致处理用户作业所包含的任务的效率低的技术问题。
根据本申请上述实施例,资源描述信息可以包括处理任务所包含的实例所需的计算资源的处理器内核数、计算资源的内存以及计算资源的数量,步骤S33,根据资源描述信息确定初始计算资源,可以包括如下步骤S331至步骤S337:
步骤S331,从云计算资源中筛选得到满足预设条件的物理机群的配置信息,其中,物理机群的配置信息至少包括:物理机群中任意一台物理机的处理器内核数和物理机的内存,物理机的处理器内核数大于等于计算资源的处理器内核数,物理机的内存大于等于计算资源的内存。
在一个可选的实施例中,对于客户端发送的任意一个任务,云计算资源根据该任务的资源描述信息确定用于执行该任务中所包含实例的物理机群的配置信息。具体地,云计算资源根据其记录的物理机的配置信息,将处理器内核数(即CPU内核数)大于等于资源描述信息中指定的CPU内核数,且内存大于等于资源描述信息中指定的内存的物理机筛选出来,然后从其中任选出与资源描述信息中指定的计算资源的数量相同数量的物理机,并记录这些物理机的标识,以便后续根据物理机的标识识别对于的物理机并将任务所包含的实例调度至对应的物理机。
可选地,资源描述信息中指定的处理任务所包含的实例所需的计算资源的配置为本申请实施例中的初始计算资源的配置与用作系统开销的配置之和。
步骤S333,确定云计算资源中与物理机群的配置信息相对应的物理机群,其中,物理机群所包含的物理机数量符合计算资源的数量。
可选地,在筛选得到物理机群的配置信息之后,根据与该配置信息相对应的物理机的标识,从云计算资源中确定与该配置信息相应的物理机群。
步骤S335,将任务所包含的任意一个实例调度至物理机群中的一个物理机。
具体地,在确定与物理机群的配置信息相对应的物理机群之后,将任务所包含的各个实例分别调度至物理机群中的各个物理机上,其中,每个物理机上调度一个实例。
步骤S337,控制对应的物理机生成虚拟机,作为初始计算资源,其中,虚拟机的配置信息至少包括:虚拟机的处理器内核数和虚拟机的内存,虚拟机的处理器内核数符合计算资源的处理器内核数,虚拟机的内存符合计算资源的内存。
具体地,在将任务的实例调度至物理机上之后,根据该任务的资源描述信息中指定的CPU内核数和内存生成虚拟机,作为初始计算资源,该初始计算资源为执行该实例所需的最小计算资源,且初始计算资源的配置加上预留作系统开销的配置之和与资源描述信息中包括的计算资源的配置相同。
继续以任务所包含的资源描述信息包括资源需求为8核CPU、32G内存,并发度需求为100的应用场景为例,对本申请上述实施例进行说明。以云计算资源中包括16核(64G内存)的物理机200台、24核(48G内存)的物理机100台以及32核(128G内存)的物理机50台为例,云计算资源在接收到客户端发送的该任务之后,根据该任务的资源描述信息从记录的上述的350台物理机的配置信息中,确定符合资源描述信息的物理机的配置信息。在该例中,所有350台物理机的配置信息均符合资源描述信息,从中任选100台物理机组成物理机群,并记录这些物理机的标识。例如,根据记录的各个物理机的配置信息,从中筛选了20台16核CPU、64G内存的物理机、30台24核CPU、48G内存的物理机、以及50台32核CPU、128G内存的物理机,共同构成物理机群。
进一步地,在得到物理机群的配置信息之后,根据上述筛选出的100台物理机的标识,从云计算资源中确定对应的物理机,然后将任务中的100个实例分别调度至这100台物理机上,每个物理机对应一个实例。对于其中任意一台物理机,在接收到任务实例之后,根据任务的资源描述信息中指定的CPU内核数和内存(在该例中为8核、32G)生成虚拟机,并预留2核CPU、4G内存作为系统开销,该虚拟机作为用于执行该实例的初始计算资源,也即,该虚拟机作为初始计算资源,其配置为6核CPU、28G内存。
在本申请上述实施例中,通过将一个实例调度至一个物理机,并且物理机根据接收到的任务实例生成一个虚拟机,实现了单物理机支持单虚拟机,避免了现有技术中单物理机支持多虚拟机时,单物理机上的多个虚拟机之间争抢资源导致云计算资源处理用户作业的总体性能下降的问题,提高了处理用户作业的效率。
在本申请上述实施例中,在步骤S37,调用实际计算资源来处理任务所包含的实例之前,上述的方法还可以包括如下步骤S361至步骤S365:
步骤S361,判断物理机的处理器内核数是否大于计算资源的处理器内核数,以及物理机的内存是否大于计算资源的内存。
其中,在物理机的处理器内核数大于计算资源的处理器内核数,或物理机的内存大于计算资源的内存的情况下,执行步骤S363;在物理机的处理器内核数等于计算资源的处理器内核数,且物理机的内存等于计算资源的内存的情况下,执行步骤S365。
可选地,在判断出资源描述信息指示调用实际计算资源之后,在调用实际计算资源处理实例之前,首先判断是否能够调用到比初始计算资源大的实际计算资源。只有物理机的实际硬件配置大于用户在资源描述信息中指定的计算资源的配置时,才能够调用比初始计算资源更高的实际计算资源处理实例;否则,只能调用初始计算资源来处理实例。
在一个可选的实施例中,对于任意一个接收到实例的物理机,判断该物理机的实际硬件配置是否大于用户在资源描述信息中所指定计算资源的配置。具体地,判断该物理机的CPU内核数是否大于用户指定的计算资源的CPU内核数,以及该物理机的内存是否大于用户指定的计算资源的内存。在判断出物理机的CPU内核数大于用户指定的计算资源的CPU内核数、或者物理机的内存大于用户指定的计算资源的内存的情况下,执行步骤S363;在判断出物理机的CPU内核数等于用户指定的计算资源的CPU内核数,并且物理机的内存等于用户指定的计算资源的内存的情况下,执行步骤S365。
步骤S363,调用大于初始计算资源的实际计算资源处理任务所包含的实例。
可选地,对于任意一个接收到实例的物理机,在判断出该物理机的实际硬件配置大于用户在资源描述信息中所指定的计算资源时,调用比初始计算资源大的实际计算资源处理调度至该物理机的实例。
其中,所调用的实际计算资源的配置不高于该物理机的实际硬件配置。
在一个可选的实施例中,上述步骤S363,调用大于初始计算资源的实际计算资源处理任务所包含的实例,可以包括如下步骤S3631至步骤S3633:
步骤S3631,调高虚拟机的处理器内核数和虚拟机的内存,得到实际计算资源。
可选地,对于任意一个接收到实例的物理机,在判断出该物理机的实际硬件配置大于用户在资源描述信息中所指定的计算资源时,将该物理机生成的虚拟机的配置调高,以得到配置更高的实际计算资源。具体地,调高虚拟机的CPU内核数以及内存,将配置调高后的虚拟机作为实际计算资源。
在一个可选的实施例中,可以将作为初始计算资源的虚拟机的配置调高至不超过该物理机所支持的最大可用配置的任意配置。为了能够最大限度的提高云计算资源的利用率,可以将作为初始计算资源的虚拟机的CPU内核数和内存调高至该物理机所支持的最大可用CPU内核数和最大可用内存。
可选地,步骤S3631,调高虚拟机的处理器内核数和虚拟机的内存,得到实际计算资源,可以包括:将虚拟机的处理器内核数调高至对应的物理机所支持的最大可用处理器内核数,并将虚拟机的内存调高至对应的物理机所支持的最大可用内存。
具体地,将作为初始计算资源的虚拟机的CPU内核数调高至对应的物理机所支持的最大可用CPU内核数,并将该虚拟机的内存调高至该物理机所支持的最大可用内存。
步骤S3633,调用实际计算资源处理调度至对应的物理机上的实例。
具体地,在调高虚拟机的配置得到配置更高的实际计算资源之后,调用该实际计算资源处理该物理机上的实例,可以实现提高用户作业的处理性能,并提高云计算资源的利用率,避免了现有技术中只能按照用户所申请的计算资源处理用户作业时所导致的用户作业处理性能低下、云计算资源利用率低的问题。
继续以任务所包含的资源描述信息包括资源需求为8核CPU、32G内存,并发度需求为100的应用场景为例,对本申请上述实施例进行说明。以筛选了20台16核CPU、64G内存的物理机、30台24核CPU、48G内存的物理机、以及50台32核CPU、128G内存的物理机作为执行这100实例的计算资源为应用场景,以其中一台配置为16核CPU、64G内存的物理机为例,该物理机在接收到待执行的实例时,根据用户在资源描述信息中指定的资源需求生成6核CPU、28G内存的虚拟机(预留2核CPU和4G内存作为系统开销),若判断出用户在资源描述信息中指定可以调用实际计算资源处理该实例,则首先判断该物理机的实际配置是否大于用户在资源需求中指定的配置,然后根据判断结果调用相应的计算资源。
在该例中,可以判断出该物理机的配置(16核CPU、64G内存)大于用户在资源需求中指定的配置(8核CPU、32G内存),则物理机可以将其生成的虚拟机的配置调高至14核CPU和60G内存,得到配置为14核CPU、60G内存的新虚拟机作为实际计算资源,然后调用该新虚拟机处理调度至该物理机上的实例。
通过本发明上述实施例,在判断出资源描述信息指示调用实际计算资源,且初始计算资源所对应的物理机的实际硬件配置高于用户所指定的计算资源时,将初始计算资源的配置调高至对应的物理机所支持的最大可用配置,从而实现最大限度的调用该物理机的计算资源,既提高了用户作业的处理性能,又提高了云计算资源的利用率。
步骤S365,调用初始计算资源处理任务所包含的实例。
可选地,对于任意一个接收到实例的物理机,在判断出该物理机的实际硬件配置等于用户在资源描述信息中所指定的计算资源时,调用上述步骤S337中生成的初始计算资源处理调度至该物理机的实例。
在一个可选的实施例中,在判断出该物理机的实际硬件配置等于用户在资源描述信息中所指定的计算资源时,表明该物理机最大可用资源与用户的最小计算资源相同,因此,该物理机的计算资源已被充分利用。
继续以任务所包含的资源描述信息包括资源需求为8核CPU、32G内存,并发度需求为100的应用场景为例,对本申请上述实施例进行说明。以接收到实例的其中一台配置为8核CPU、32G内存的物理机为例,该物理机在接收到待执行的实例时,根据用户在资源描述信息中指定的资源需求生成6核CPU、28G内存的虚拟机(预留2核CPU和4G内存作为系统开销),若判断出用户在资源描述信息中指定可以调用实际计算资源处理该实例,则首先判断该物理机的实际配置是否大于用户在资源需求中指定的配置,然后根据判断结果调用相应的计算资源。
在该例中,可以判断出该物理机的配置(8核CPU、32G内存)等于用户在资源需求中指定的配置(8核CPU、32G内存),则物理机的计算资源已被最大限度的调用,无法提供更高配置的虚拟机,则调用该虚拟机(配置为6核CPU、28G内存)处理调度至该物理机上的实例。
通过本发明上述实施例,在判断出资源描述信息指示调用实际计算资源,且初始计算资源所对应的物理机的实际硬件配置等于用户所指定的计算资源时,初始计算资源的配置已经为对应的物理机所支持的最大可用配置,从而实现最大限度的调用该物理机的计算资源,确保最大限度的利用云计算资源。
根据本申请上述实施例,步骤S35,判断资源描述信息是否指示调用实际计算资源,可以包括如下步骤S351至步骤S355:
步骤S351,判断资源描述信息中是否包含资源自动增长信息。
其中,在资源描述信息中包含资源自动增长信息的情况下,执行步骤S353;在资源描述信息中不包含资源自动增长信息的情况下,执行步骤S355。
可选地,用户在客户端上生成任务时,可以通过在该任务的资源描述信息中配置资源自动增长信息来实现指示调用实际计算资源。若用户不需要调用比其指定的计算资源更高的资源来处理该任务,则只需在该任务的资源描述信息中不配置资源自动增长信息。
具体地,在判断资源描述信息是否指示调用比用户所指定的计算资源更高的实际计算资源时,判断是否可以从资源描述信息中读取到资源自动增长信息,若从资源描述信息中读取到了资源自动增长信息,则执行步骤S353;若没有从资源描述信息中读取到资源自动增长信息,则执行步骤S355。
步骤S353,判断出资源描述信息指示调用实际计算资源。
具体地,在资源描述信息中包含资源自动增长信息的情况下,判断用户指示调用比其在资源描述信息中指定的计算资源更高的云计算资源来处理实例。
步骤S355,判断出资源描述信息指示不调用实际计算资源。
具体地,在资源描述信息中不包含资源自动增长信息的情况下,判断用户不需要比其在资源描述信息中指定的计算资源更高的云计算资源,也即判断出用户指示按照其在资源描述信息中指定的计算资源来处理实例。
在一个可选的实施例中,在步骤S355,判断出资源描述信息指示不调用实际计算资源之后,上述的方法还可以包括:调用初始计算资源处理调度至对应的物理机上的实例。
具体地,在判断出资源描述信息指示不调用实际计算资源之后,按照用户在资源描述信息中所指定的计算资源,控制作为初始计算资源的虚拟机来处理调度至对应的物理机上的实例。
继续以任务所包含的资源描述信息包括资源需求为8核CPU、32G内存,并发度需求为100且用户无需调用比其所指定的资源需求更高的计算资源的应用场景为例,对本申请上述实施例进行说明。用户在生成该任务时,除在资源描述信息中指示资源需求为8核CPU、32G内存之外,还可以通过在资源描述信息中的资源自动增长信息(例如,资源描述信息中Auto-boost配置项)配置来实现指示是否调用更高的实际计算资源来处理任务。例如,若用户将Auto-boost配置项设置为开启,则表示用户在资源描述信息中添加了资源自动增长信息;若用户将Auto-boost配置项设置为关闭,则表示用户在资源描述信息中未添加资源自动增长信息。
以接收到实例的其中一台配置为16核CPU、64G内存的物理机为例,该物理机在接收到待执行的实例时,根据用户在资源描述信息中指定的资源需求生成6核CPU、28G内存的虚拟机(预留2核CPU和4G内存作为系统开销)。然后判断用户是否在资源描述信息中指示调用更高的实际计算资源,并根据判断结果调用相应计算资源处理调度至该物理机上的实例。
具体地,在该例中,通过判断资源描述信息中是否开启了Auto-boost配置项,来实现判断用户是否指示调用实际计算资源。若判断出用户在资源描述信息中将Auto-boost配置项设置为开启,则判断出用户指示调用实际计算资源处理该实例,在进一步地判断出该物理机的配置(16核CPU、64G内存)大于用户在资源描述信息中指定的计算资源(8核CPU、32G内存)后,将虚拟机的配置由6核CPU、28G内存提高至14核CPU和60G内存,然后使用配置为14核CPU和60G内存的新虚拟机处理调度至该物理机上的实例。
在该例中,若判断出用户在资源描述信息中将Auto-boost配置项设置为关闭,则判断出用户指示不调用实际计算资源处理该实例,那么调用配置为6核CPU、28G内存的虚拟机处理调度至该物理机上的实例。
通过本申请上述实施例,通过在资源描述信息中的资源自动增长信息,可以使用户根据自身的计算需求,选择是否调用比其所需计算资源更高的计算资源处理其任务,提高了用户体验。
下面结合图4和图5详细介绍本申请上述实施例。
如图4和图5所示,以云计算资源包含多个配置不相同的物理机为应用场景,提供了一种可选的用于处理任务的资源的调度方法,该方法可以包括如下步骤S51至步骤S55:
步骤S51,配置作业所包含任务的资源描述信息。
可选地,为了实现其计算目的,用户501在生成作业时,为作业中的每个任务均配置相应的资源描述信息,并在任务的资源描述信息中指定了处理该任务所需的最小资源需求(如8核CPU、32G内存),同时指定了云计算资源可以根据其实际硬件配置自动增长,也即指定云计算资源可以调用比8核CPU、32G内存更高的计算资源处理该任务所包含的实例。
步骤S53,云计算资源上的作业调度程序适配最小资源需求。
具体地,云计算资源503上的作业调度程序根据资源描述信息将各个实例调度至云计算资源中的各个物理机上,其中,一个物理机上调度一个实例。
在一个可选的实施例中,云计算资源上的作业调度程序将每个实例调度至配置为8核CPU、32G内存以上的物理机上。
在该实施例中,上述步骤S53的实现方式与本申请上述实施例中的步骤S33的实现方式一致,在此不再赘述。
步骤S55,在判断出Auto-boost配置项为True之后,调用物理机所支持的最大可用资源处理实例。
在一个可选的实施例中,在将实例调度至物理机上之后,物理机首先根据用户在资源描述信息中指定的资源需求(如,8核CPU、32G内存)生成初始虚拟机(即本申请上述实施例中的初始计算资源),该初始虚拟机的配置为6核CPU、28G内存(预留2核CPU和4G内存作为系统开销)。然后,云计算资源判断用户是否在资源描述信息中指示调用比其指定的计算资源更高的实际计算资源(如将Auto-boost配置项为True)来处理实例。
可选地,若读取到Auto-boost配置项为True,则调用该物理所支持的最大可用资源来处理实例。具体地,若该物理机的实际硬件配置为16核CPU、64G内存,则将初始虚拟机的配置自动增长为14核CPU、60G内存,得到实际虚拟机,并调用实际虚拟机处理调度至该物理机上的实例。
通过本申请上述实施例,用户只需在任务的资源描述信息中配置Auto-boost配置项,若云计算资源的实际配置高于用户所指定的计算资源的配置,则任务实例在运行时占用的实际资源会相应动态增长,用户无需了解异构云计算资源的实际配置情况,即可实现自动适配异构云计算资源来处理其作业,本申请上述实施例所提供的方案,既实现了在用户无感知的情况下提高用户作业的处理性能,又能最大化地提高异构云计算资源的利用率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
实施例2
根据本申请实施例,还提供了一种用于实施上述用于处理任务的资源的调度方法的用于处理任务的资源的调度装置,如图6所示,该装置可以包括:接收单元61、确定单元63、第一判断单元65以及第一调用单元67。
其中,接收单元61用于接收客户端发送的待处理的至少一个任务,其中,任意一个任务包含一个或多个实例,以及处理任务所包含的实例所需的资源描述信息。
可选地,客户端可以为安装在计算机、平板电脑或者笔记本电脑等设备上的应用程序,用户可以通过登录客户端并在客户端上根据其特定的计算需求生成待处理的作业,其中,一个作业可以包括至少一个任务,每个任务可以包含一个或多个实例,且每个任务中的各个实例调用相同的计算资源,该计算资源可以通过上述的资源描述信息来描述。
在一个可选的实施例中,资源描述信息至少可以包括如下信息:任务所运行的程序地址、该程序运行其所需数据的输入输出路径、资源需求(如CPU、内存等)以及并发度需求(即每个任务所包含实例的数量)。
需要说明的是,用户在资源描述信息中指定的资源需求包含了用作系统开销的资源。例如,用户的资源需求为8核CPU时,其中的2核可以用作系统开销,剩余的6核用于处理用户作业所包含的实例。
在本申请实施例中,对于具体预留多少计算资源用作系统开销,此处仅作示例性说明,本申请在此不做限定。
确定单元63用于根据资源描述信息确定初始计算资源,其中,初始计算资源为用于处理任务所包含的实例时所调用的最小计算资源。
具体地,在接收到客户端发送的待处理的至少一个任务之后,对于其中的任意一个任务,云计算资源根据该任务中所包含的资源描述信息确定用于处理该任务所包含实例的初始计算资源,该初始计算资源为满足该任务所包含的资源描述信息的最小计算资源。
在一个可选的实施例中,云计算资源从任务所包含的资源描述信息中读取处理该任务所包含的实例所需的计算资源的配置信息,根据该配置信息,筛选配置符合该配置信息的计算资源作为初始计算资源。
第一判断单元65用于判断资源描述信息是否指示调用实际计算资源,其中,实际计算资源为大于初始计算资源的计算资源。
具体地,对于接收到的待处理的至少一个任务中的任意一个任务,在根据其资源描述信息确定用于处理该任务的初始计算资源之后,判断该资源描述信息是否指示调用大于该初始计算资源的实际计算资源来处理该任务。其中,初始计算资源所对应的物理机的实际硬件配置(如,物理机的CPU内核数和内存等)可能大于初始计算资源的配置;实际计算资源与初始计算资源对应同一台物理机,且实际计算资源的配置高于初始计算资源,但不超过物理机的实际硬件配置。
可选地,为了提高云计算资源的利用率,用户在客户端上生成该任务时,可以指定在处理该任务时所调用的计算资源是否能够根据云计算资源所支持的实际配置动态增长,也即,指定在运行该任务中所包含的实例时,任务的实例所占用的实际资源是否可以大于用户在资源描述信息中指定的计算资源。
在一个可选的实施例中,云计算资源在根据任务所包含的资源描述信息确定用于处理该任务的初始计算资源之后,判断该资源描述信息是否指示可以调用初始计算资源所对应物理机能够支持的实际计算资源来处理该任务所包含的实例。
第一调用单元67用于在资源描述信息指示调用实际计算资源的情况下,调用实际计算资源来处理任务所包含的实例。
具体地,在判断出资源描述信息指示调用实际计算资源的情况下,调用大于初始计算资源的实际计算资源来处理该任务所包含的实例。
在一个可选的实施例中,云计算资源在将任务所包含的各个实例调度至对应的初始计算资源之后,在判断出资源描述信息指示调用实际计算资源的情况下,在执行任务中包含的实例时,自动调用大于初始计算资源的实际计算资源来运行该实例,从而避免了现有技术中由于按照用户指定的资源需求处理任务导致的云计算资源浪费的问题,无需用户按照不同的资源需求类型手动拆分作业,实现了自动按照云计算资源的实际配置处理任务,提高了云计算资源的利用率,进而提高了处理用户作业所包含的任务的效率。
本申请上述实施例一公开的方案中,如果希望充分利用异构云计算资源处理用户作业所包含的任务,提高异构云计算资源处理任务的效率,可以在生成任务时在资源描述信息中指定处理该任务所需的最小计算资源,并指示可以调用大于该最小计算资源的实际计算资源来处理任务,在异构云计算资源接收到该任务并根据该任务的资源描述信息确定处理该任务的各个初始计算资源之后,本方案可以根据资源描述信息的指示将初始计算资源自动增长为其对应的物理机所支持的实际计算资源,以调用配置更高的实际计算资源处理任务所包含的实例。
容易注意到,由于在生成任务的资源描述信息时,只需在资源描述信息中指定处理任务所包含实例所需的最小计算资源,并通过资源描述信息指示云计算资源调用大于该最小计算资源的实际计算资源处理任务实例,就可以根据资源描述信息为任务实例分配满足最小计算资源的初始计算资源,并在执行实例时调用该初始计算资源所对应物理机所支持的配置更高的实际计算资源,因此,通过本申请实施例所提供的方案,无需用户按照不同的资源需求类型手动拆分作业,可以实现自动调用云计算资源所支持的实际计算资源处理任务实例,这样不仅实现了只需根据用户的计算需求来定义作业,无需由于考虑异构云计算资源的具体资源配置而拆分作业以适配异构云计算资源,而且,在处理任务实例时,在满足用户指定的最小计算资源的情况下,自动调用异构云计算资源所支持的实际计算资源,因此,可以自适应地调用异构云计算资源来处理作业任务所包含的实例,提高异构云计算资源的利用率,进而快速、有效地处理用户作业,提高用户作业的处理性能。
由此,本申请提供的上述实施例一的方案解决了现有技术中在基于异构云计算资源进行批量计算时,异构云计算资源的利用率低,导致处理用户作业所包含的任务的效率低的技术问题。
根据本申请上述实施例,资源描述信息包括处理任务所包含的实例所需的计算资源的处理器内核数、计算资源的内存以及计算资源的数量,如图7所示,确定单元63可以包括:筛选模块631、第一确定模块633、调度模块635以及控制模块637。
其中,筛选模块631用于从云计算资源中筛选得到满足预设条件的物理机群的配置信息,其中,物理机群的配置信息至少包括:物理机群中任意一台物理机的处理器内核数和物理机的内存,物理机的处理器内核数大于等于计算资源的处理器内核数,物理机的内存大于等于计算资源的内存。
在一个可选的实施例中,对于客户端发送的任意一个任务,云计算资源根据该任务的资源描述信息确定用于执行该任务中所包含实例的物理机群的配置信息。具体地,云计算资源根据其记录的物理机的配置信息,将处理器内核数(即CPU内核数)大于等于资源描述信息中指定的CPU内核数,且内存大于等于资源描述信息中指定的内存的物理机筛选出来,然后从其中任选出与资源描述信息中指定的计算资源的数量相同数量的物理机,并记录这些物理机的标识,以便后续根据物理机的标识识别对于的物理机并将任务所包含的实例调度至对应的物理机。
可选地,资源描述信息中指定的处理任务所包含的实例所需的计算资源的配置为本申请实施例中的初始计算资源的配置与用作系统开销的配置之和。
第一确定模块633用于确定云计算资源中与物理机群的配置信息相对应的物理机群,其中,物理机群所包含的物理机数量符合计算资源的数量。
可选地,在筛选得到物理机群的配置信息之后,根据与该配置信息相对应的物理机的标识,从云计算资源中确定与该配置信息相应的物理机群。
调度模块635用于将任务所包含的任意一个实例调度至物理机群中的一个物理机。
具体地,在确定与物理机群的配置信息相对应的物理机群之后,将任务所包含的各个实例分别调度至物理机群中的各个物理机上,其中,每个物理机上调度一个实例。
控制模块637用于控制对应的物理机生成虚拟机,作为初始计算资源,其中,虚拟机的配置信息至少包括:虚拟机的处理器内核数和虚拟机的内存,虚拟机的处理器内核数符合计算资源的处理器内核数,虚拟机的内存符合计算资源的内存。
具体地,在将任务的实例调度至物理机上之后,根据该任务的资源描述信息中指定的CPU内核数和内存生成虚拟机,作为初始计算资源,该初始计算资源为执行该实例所需的最小计算资源,且初始计算资源的配置加上预留作系统开销的配置之和与资源描述信息中包括的计算资源的配置相同。
在本申请上述实施例中,通过将一个实例调度至一个物理机,并且物理机根据接收到的任务实例生成一个虚拟机,实现了单物理机支持单虚拟机,避免了现有技术中单物理机支持多虚拟机时,单物理机上的多个虚拟机之间争抢资源导致云计算资源处理用户作业的总体性能下降的问题,提高了处理用户作业的效率。
在本申请上述实施例中,如图8所示,上述的装置还可以包括:第二判断单元661、第二调用单元663以及第三调用单元665。
第二判断单元661用于在调用实际计算资源来处理任务所包含的实例之前,判断物理机的处理器内核数是否大于计算资源的处理器内核数,以及物理机的内存是否大于计算资源的内存。
可选地,在判断出资源描述信息指示调用实际计算资源之后,在调用实际计算资源处理实例之前,首先判断是否能够调用到比初始计算资源大的实际计算资源。只有物理机的实际硬件配置大于用户在资源描述信息中指定的计算资源的配置时,才能够调用比初始计算资源更高的实际计算资源处理实例;否则,只能调用初始计算资源来处理实例。
在一个可选的实施例中,对于任意一个接收到实例的物理机,判断该物理机的实际硬件配置是否大于用户在资源描述信息中所指定计算资源的配置。具体地,判断该物理机的CPU内核数是否大于用户指定的计算资源的CPU内核数,以及该物理机的内存是否大于用户指定的计算资源的内存。在判断出物理机的CPU内核数大于用户指定的计算资源的CPU内核数、或者物理机的内存大于用户指定的计算资源的内存的情况下,执行第二调用单元663;在判断出物理机的CPU内核数等于用户指定的计算资源的CPU内核数,并且物理机的内存等于用户指定的计算资源的内存的情况下,执行第三调用单元665。
第二调用单元663用于在物理机的处理器内核数大于计算资源的处理器内核数,或物理机的内存大于计算资源的内存的情况下,调用大于初始计算资源的实际计算资源处理任务所包含的实例。
可选地,对于任意一个接收到实例的物理机,在判断出该物理机的实际硬件配置大于用户在资源描述信息中所指定的计算资源时,调用比初始计算资源大的实际计算资源处理调度至该物理机的实例。
其中,所调用的实际计算资源的配置不高于该物理机的实际硬件配置。
在一个可选的实施例中,如图9所示,第二调用单元663可以包括:调高模块6631和调用模块6633。
调高模块6631用于调高虚拟机的处理器内核数和虚拟机的内存,得到实际计算资源。
可选地,对于任意一个接收到实例的物理机,在判断出该物理机的实际硬件配置大于用户在资源描述信息中所指定的计算资源时,将该物理机生成的虚拟机的配置调高,以得到配置更高的实际计算资源。具体地,调高虚拟机的CPU内核数以及内存,将配置调高后的虚拟机作为实际计算资源。
在一个可选的实施例中,可以将作为初始计算资源的虚拟机的配置调高至不超过该物理机所支持的最大可用配置的任意配置。为了能够最大限度的提高云计算资源的利用率,可以将作为初始计算资源的虚拟机的CPU内核数和内存调高至该物理机所支持的最大可用CPU内核数和最大可用内存。
可选地,如图10所示,调高模块6631可以包括:调高子模块66311用于将虚拟机的处理器内核数调高至对应的物理机所支持的最大可用处理器内核数,并将虚拟机的内存调高至对应的物理机所支持的最大可用内存。
具体地,将作为初始计算资源的虚拟机的CPU内核数调高至对应的物理机所支持的最大可用CPU内核数,并将该虚拟机的内存调高至该物理机所支持的最大可用内存。
调用模块6633用于调用实际计算资源处理调度至对应的物理机上的实例。
具体地,在调高虚拟机的配置得到配置更高的实际计算资源之后,调用该实际计算资源处理该物理机上的实例,可以实现提高用户作业的处理性能,并提高云计算资源的利用率,避免了现有技术中只能按照用户所申请的计算资源处理用户作业时所导致的用户作业处理性能低下、云计算资源利用率低的问题。
通过本发明上述实施例,在判断出资源描述信息指示调用实际计算资源,且初始计算资源所对应的物理机的实际硬件配置高于用户所指定的计算资源时,将初始计算资源的配置调高至对应的物理机所支持的最大可用配置,从而实现最大限度的调用该物理机的计算资源,既提高了用户作业的处理性能,又提高了云计算资源的利用率。
第三调用单元665用于在物理机的处理器内核数等于计算资源的处理器内核数,且物理机的内存等于计算资源的内存的情况下,调用初始计算资源处理任务所包含的实例。
可选地,对于任意一个接收到实例的物理机,在判断出该物理机的实际硬件配置等于用户在资源描述信息中所指定的计算资源时,调用上述步骤S337中生成的初始计算资源处理调度至该物理机的实例。
在一个可选的实施例中,在判断出该物理机的实际硬件配置等于用户在资源描述信息中所指定的计算资源时,表明该物理机最大可用资源与用户的最小计算资源相同,因此,该物理机的计算资源已被充分利用。
通过本发明上述实施例,在判断出资源描述信息指示调用实际计算资源,且初始计算资源所对应的物理机的实际硬件配置等于用户所指定的计算资源时,初始计算资源的配置已经为对应的物理机所支持的最大可用配置,从而实现最大限度的调用该物理机的计算资源,确保最大限度的利用云计算资源。
根据本申请上述实施例,如图11所示,第一判断单元65可以包括:判断模块651、第二确定模块653以及第三确定模块655。
判断模块651用于判断资源描述信息中是否包含资源自动增长信息。
可选地,用户在客户端上生成任务时,可以通过在该任务的资源描述信息中配置资源自动增长信息来实现指示调用实际计算资源。若用户不需要调用比其指定的计算资源更高的资源来处理该任务,则只需在该任务的资源描述信息中不配置资源自动增长信息。
具体地,在判断资源描述信息是否指示调用比用户所指定的计算资源更高的实际计算资源时,判断是否可以从资源描述信息中读取到资源自动增长信息,若从资源描述信息中读取到了资源自动增长信息,则执行第二确定模块653;若没有从资源描述信息中读取到资源自动增长信息,则执行第三确定模块655。
第二确定模块653用于在资源描述信息中包含资源自动增长信息的情况下,确定判断出资源描述信息指示调用实际计算资源。
具体地,在资源描述信息中包含资源自动增长信息的情况下,判断用户指示调用比其在资源描述信息中指定的计算资源更高的云计算资源来处理实例。
第三确定模块655用于在资源描述信息中不包含资源自动增长信息的情况下,确定判断出资源描述信息指示不调用实际计算资源。
具体地,在资源描述信息中不包含资源自动增长信息的情况下,判断用户不需要比其在资源描述信息中指定的计算资源更高的云计算资源,也即判断出用户指示按照其在资源描述信息中指定的计算资源来处理实例。
在一个可选的实施例中,如图12所示,上述的装置还可以包括:第四调用单元657。
第四调用单元657用于在判断出资源描述信息指示不调用实际计算资源之后,调用初始计算资源处理调度至对应的物理机上的实例。
具体地,在判断出资源描述信息指示不调用实际计算资源之后,按照用户在资源描述信息中所指定的计算资源,控制作为初始计算资源的虚拟机来处理调度至对应的物理机上的实例。
通过本申请上述实施例,通过在资源描述信息中的资源自动增长信息,可以使用户根据自身的计算需求,选择是否调用比其所需计算资源更高的计算资源处理其任务,提高了用户体验。
可选地,在本实施例中,上述的用于处理任务的资源的调度装置可以应用于如图2所示的计算机终端10所构成的硬件环境中。如图2所示,计算机终端10通过网络与其他计算机终端进行连接,上述网络包括但不限于:广域网、城域网或局域网。
实施例3
根据本申请实施例,还提供了一种用于处理任务的资源的调度系统,如图13所示,该系统可以包括:客户端1301和云计算资源1303。
其中,客户端1301用于发送待处理的至少一个任务至云计算资源,其中,任意一个任务包含一个或多个实例,以及处理任务所包含的实例所需的资源描述信息。
云计算资源1303与客户端连接,用于根据资源描述信息确定初始计算资源,判断资源描述信息是否指示调用实际计算资源,以及在资源描述信息指示调用实际计算资源的情况下,调用实际计算资源来处理任务所包含的实例,其中,初始计算资源为用于处理任务所包含的实例时所调用的最小计算资源,实际计算资源为大于初始计算资源的计算资源。
可选地,客户端可以为安装在计算机、平板电脑或者笔记本电脑等设备上的应用程序,用户可以通过登录客户端并在客户端上根据其特定的计算需求生成待处理的作业,其中,一个作业可以包括至少一个任务,每个任务可以包含一个或多个实例,且每个任务中的各个实例调用相同的计算资源,该计算资源可以通过上述的资源描述信息来描述。
在一个可选的实施例中,资源描述信息至少可以包括如下信息:任务所运行的程序地址、该程序运行其所需数据的输入输出路径、资源需求(如CPU、内存等)以及并发度需求(即每个任务所包含实例的数量)。
需要说明的是,用户在资源描述信息中指定的资源需求包含了用作系统开销的资源。例如,用户的资源需求为8核CPU时,其中的2核可以用作系统开销,剩余的6核用于处理用户作业所包含的实例。
在本申请实施例中,对于具体预留多少计算资源用作系统开销,此处仅作示例性说明,本申请在此不做限定。
具体地,在接收到客户端发送的待处理的至少一个任务之后,对于其中的任意一个任务,云计算资源根据该任务中所包含的资源描述信息确定用于处理该任务所包含实例的初始计算资源,该初始计算资源为满足该任务所包含的资源描述信息的最小计算资源。
在一个可选的实施例中,云计算资源从任务所包含的资源描述信息中读取处理该任务所包含的实例所需的计算资源的配置信息,根据该配置信息,筛选配置符合该配置信息的计算资源作为初始计算资源。
具体地,对于接收到的待处理的至少一个任务中的任意一个任务,在根据其资源描述信息确定用于处理该任务的初始计算资源之后,判断该资源描述信息是否指示调用大于该初始计算资源的实际计算资源来处理该任务。其中,初始计算资源所对应的物理机的实际硬件配置(如,物理机的CPU内核数和内存等)可能大于初始计算资源的配置;实际计算资源与初始计算资源对应同一台物理机,且实际计算资源的配置高于初始计算资源,但不超过物理机的实际硬件配置。
可选地,为了提高云计算资源的利用率,用户在客户端上生成该任务时,可以指定在处理该任务时所调用的计算资源是否能够根据云计算资源所支持的实际配置动态增长,也即,指定在运行该任务中所包含的实例时,任务的实例所占用的实际资源是否可以大于用户在资源描述信息中指定的计算资源。
在一个可选的实施例中,云计算资源在根据任务所包含的资源描述信息确定用于处理该任务的初始计算资源之后,判断该资源描述信息是否指示可以调用初始计算资源所对应物理机能够支持的实际计算资源来处理该任务所包含的实例。
具体地,在判断出资源描述信息指示调用实际计算资源的情况下,调用大于初始计算资源的实际计算资源来处理该任务所包含的实例。
在一个可选的实施例中,云计算资源在将任务所包含的各个实例调度至对应的初始计算资源之后,在判断出资源描述信息指示调用实际计算资源的情况下,在执行任务中包含的实例时,自动调用大于初始计算资源的实际计算资源来运行该实例,从而避免了现有技术中由于按照用户指定的资源需求处理任务导致的云计算资源浪费的问题,无需用户按照不同的资源需求类型手动拆分作业,实现了自动按照云计算资源的实际配置处理任务,提高了云计算资源的利用率,进而提高了处理用户作业所包含的任务的效率。
本申请上述实施例一公开的方案中,如果希望充分利用异构云计算资源处理用户作业所包含的任务,提高异构云计算资源处理任务的效率,可以在生成任务时在资源描述信息中指定处理该任务所需的最小计算资源,并指示可以调用大于该最小计算资源的实际计算资源来处理任务,在异构云计算资源接收到该任务并根据该任务的资源描述信息确定处理该任务的各个初始计算资源之后,本方案可以根据资源描述信息的指示将初始计算资源自动增长为其对应的物理机所支持的实际计算资源,以调用配置更高的实际计算资源处理任务所包含的实例。
容易注意到,由于在生成任务的资源描述信息时,只需在资源描述信息中指定处理任务所包含实例所需的最小计算资源,并通过资源描述信息指示云计算资源调用大于该最小计算资源的实际计算资源处理任务实例,就可以根据资源描述信息为任务实例分配满足最小计算资源的初始计算资源,并在执行实例时调用该初始计算资源所对应物理机所支持的配置更高的实际计算资源,因此,通过本申请实施例所提供的方案,无需用户按照不同的资源需求类型手动拆分作业,可以实现自动调用云计算资源所支持的实际计算资源处理任务实例,这样不仅实现了只需根据用户的计算需求来定义作业,无需由于考虑异构云计算资源的具体资源配置而拆分作业以适配异构云计算资源,而且,在处理任务实例时,在满足用户指定的最小计算资源的情况下,自动调用异构云计算资源所支持的实际计算资源,因此,可以自适应地调用异构云计算资源来处理作业任务所包含的实例,提高异构云计算资源的利用率,进而快速、有效地处理用户作业,提高用户作业的处理性能。
由此,本申请提供的上述实施例一的方案解决了现有技术中在基于异构云计算资源进行批量计算时,异构云计算资源的利用率低,导致处理用户作业所包含的任务的效率低的技术问题。
实施例4
本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行应用程序的漏洞检测方法中以下步骤的程序代码:接收客户端发送的待处理的至少一个任务,其中,任意一个任务包含一个或多个实例,以及处理任务所包含的实例所需的资源描述信息;根据资源描述信息确定初始计算资源,其中,初始计算资源为用于处理任务所包含的实例时所调用的最小计算资源;判断资源描述信息是否指示调用实际计算资源,其中,实际计算资源为大于初始计算资源的计算资源;在资源描述信息指示调用实际计算资源的情况下,调用实际计算资源来处理任务所包含的实例。
可选地,图14是根据本申请实施例的一种计算机终端的结构框图。如图14所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器1401、存储器1403、以及传输装置1405。
其中,存储器可用于存储软件程序以及模块,如本申请实施例中的用于处理任务的资源的调度方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的用于处理任务的资源的调度方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:接收客户端发送的待处理的至少一个任务,其中,任意一个任务包含一个或多个实例,以及处理任务所包含的实例所需的资源描述信息;根据资源描述信息确定初始计算资源,其中,初始计算资源为用于处理任务所包含的实例时所调用的最小计算资源;判断资源描述信息是否指示调用实际计算资源,其中,实际计算资源为大于初始计算资源的计算资源;在资源描述信息指示调用实际计算资源的情况下,调用实际计算资源来处理任务所包含的实例。
可选的,上述处理器还可以执行如下步骤的程序代码:从云计算资源中筛选得到满足预设条件的物理机群的配置信息,其中,物理机群的配置信息至少包括:物理机群中任意一台物理机的处理器内核数和物理机的内存,物理机的处理器内核数大于等于计算资源的处理器内核数,物理机的内存大于等于计算资源的内存;确定云计算资源中与物理机群的配置信息相对应的物理机群,其中,物理机群所包含的物理机数量符合计算资源的数量;将任务所包含的任意一个实例调度至物理机群中的一个物理机;控制对应的物理机生成虚拟机,作为初始计算资源,其中,虚拟机的配置信息至少包括:虚拟机的处理器内核数和虚拟机的内存,虚拟机的处理器内核数符合计算资源的处理器内核数,虚拟机的内存符合计算资源的内存。
可选的,上述处理器还可以执行如下步骤的程序代码:判断物理机的处理器内核数是否大于计算资源的处理器内核数,以及物理机的内存是否大于计算资源的内存;在物理机的处理器内核数大于计算资源的处理器内核数,或物理机的内存大于计算资源的内存的情况下,调用大于初始计算资源的实际计算资源处理任务所包含的实例;在物理机的处理器内核数等于计算资源的处理器内核数,且物理机的内存等于计算资源的内存的情况下,调用初始计算资源处理任务所包含的实例。
可选的,上述处理器还可以执行如下步骤的程序代码:调高虚拟机的处理器内核数和虚拟机的内存,得到实际计算资源;调用实际计算资源处理调度至对应的物理机上的实例。
可选的,上述处理器还可以执行如下步骤的程序代码:将虚拟机的处理器内核数调高至对应的物理机所支持的最大可用处理器内核数,并将虚拟机的内存调高至对应的物理机所支持的最大可用内存。
可选的,上述处理器还可以执行如下步骤的程序代码:判断资源描述信息中是否包含资源自动增长信息;在资源描述信息中包含资源自动增长信息的情况下,判断出资源描述信息指示调用实际计算资源;在资源描述信息中不包含资源自动增长信息的情况下,判断出资源描述信息指示不调用实际计算资源。
可选的,上述处理器还可以执行如下步骤的程序代码:调用初始计算资源处理调度至对应的物理机上的实例。
本申请上述实施例公开的方案中,如果希望充分利用异构云计算资源处理用户作业所包含的任务,提高异构云计算资源处理任务的效率,可以在生成任务时在资源描述信息中指定处理该任务所需的最小计算资源,并指示可以调用大于该最小计算资源的实际计算资源来处理任务,在异构云计算资源接收到该任务并根据该任务的资源描述信息确定处理该任务的各个初始计算资源之后,本方案可以根据资源描述信息的指示将初始计算资源自动增长为其对应的物理机所支持的实际计算资源,以调用配置更高的实际计算资源处理任务所包含的实例。
容易注意到,由于在生成任务的资源描述信息时,只需在资源描述信息中指定处理任务所包含实例所需的最小计算资源,并通过资源描述信息指示云计算资源调用大于该最小计算资源的实际计算资源处理任务实例,就可以根据资源描述信息为任务实例分配满足最小计算资源的初始计算资源,并在执行实例时调用该初始计算资源所对应物理机所支持的配置更高的实际计算资源,因此,通过本申请实施例所提供的方案,无需用户按照不同的资源需求类型手动拆分作业,可以实现自动调用云计算资源所支持的实际计算资源处理任务实例,这样不仅实现了只需根据用户的计算需求来定义作业,无需由于考虑异构云计算资源的具体资源配置而拆分作业以适配异构云计算资源,而且,在处理任务实例时,在满足用户指定的最小计算资源的情况下,自动调用异构云计算资源所支持的实际计算资源,因此,可以自适应地调用异构云计算资源来处理作业任务所包含的实例,提高异构云计算资源的利用率,进而快速、有效地处理用户作业,提高用户作业的处理性能。
由此,本申请提供的上述实施例的方案解决了现有技术中在基于异构云计算资源进行批量计算时,异构云计算资源的利用率低,导致处理用户作业所包含的任务的效率低的技术问题。
本领域普通技术人员可以理解,图14所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图14其并不对上述电子装置的结构造成限定。例如,计算机终端A还可包括比图14中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图14所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
实施例5
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的用于处理任务的资源的调度方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收客户端发送的待处理的至少一个任务,其中,任意一个任务包含一个或多个实例,以及处理任务所包含的实例所需的资源描述信息;根据资源描述信息确定初始计算资源,其中,初始计算资源为用于处理任务所包含的实例时所调用的最小计算资源;判断资源描述信息是否指示调用实际计算资源,其中,实际计算资源为大于初始计算资源的计算资源;在资源描述信息指示调用实际计算资源的情况下,调用实际计算资源来处理任务所包含的实例。
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:从云计算资源中筛选得到满足预设条件的物理机群的配置信息,其中,物理机群的配置信息至少包括:物理机群中任意一台物理机的处理器内核数和物理机的内存,物理机的处理器内核数大于等于计算资源的处理器内核数,物理机的内存大于等于计算资源的内存;确定云计算资源中与物理机群的配置信息相对应的物理机群,其中,物理机群所包含的物理机数量符合计算资源的数量;将任务所包含的任意一个实例调度至物理机群中的一个物理机;控制对应的物理机生成虚拟机,作为初始计算资源,其中,虚拟机的配置信息至少包括:虚拟机的处理器内核数和虚拟机的内存,虚拟机的处理器内核数符合计算资源的处理器内核数,虚拟机的内存符合计算资源的内存。
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:判断物理机的处理器内核数是否大于计算资源的处理器内核数,以及物理机的内存是否大于计算资源的内存;在物理机的处理器内核数大于计算资源的处理器内核数,或物理机的内存大于计算资源的内存的情况下,调用大于初始计算资源的实际计算资源处理任务所包含的实例;在物理机的处理器内核数等于计算资源的处理器内核数,且物理机的内存等于计算资源的内存的情况下,调用初始计算资源处理任务所包含的实例。
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:调高虚拟机的处理器内核数和虚拟机的内存,得到实际计算资源;调用实际计算资源处理调度至对应的物理机上的实例。
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:将虚拟机的处理器内核数调高至对应的物理机所支持的最大可用处理器内核数,并将虚拟机的内存调高至对应的物理机所支持的最大可用内存。
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:判断资源描述信息中是否包含资源自动增长信息;在资源描述信息中包含资源自动增长信息的情况下,判断出资源描述信息指示调用实际计算资源;在资源描述信息中不包含资源自动增长信息的情况下,判断出资源描述信息指示不调用实际计算资源。
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:调用初始计算资源处理调度至对应的物理机上的实例。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (15)
1.一种用于处理任务的资源的调度方法,其特征在于,包括:
接收客户端发送的待处理的至少一个任务,其中,任意一个任务包含一个或多个实例,以及处理所述任务所包含的实例所需的资源描述信息;
根据所述资源描述信息确定初始计算资源,其中,所述初始计算资源为用于处理所述任务所包含的实例时所调用的最小计算资源;
判断所述资源描述信息是否指示调用实际计算资源,其中,所述实际计算资源为大于所述初始计算资源的计算资源;
在所述资源描述信息指示调用所述实际计算资源的情况下,调用所述实际计算资源来处理所述任务所包含的实例。
2.根据权利要求1所述的方法,其特征在于,所述资源描述信息包括处理所述任务所包含的实例所需的计算资源的处理器内核数、所述计算资源的内存以及所述计算资源的数量,根据所述资源描述信息确定初始计算资源,包括:
从云计算资源中筛选得到满足预设条件的物理机群的配置信息,其中,所述物理机群的配置信息至少包括:所述物理机群中任意一台物理机的处理器内核数和所述物理机的内存,所述物理机的处理器内核数大于等于所述计算资源的处理器内核数,所述物理机的内存大于等于所述计算资源的内存;
确定所述云计算资源中与所述物理机群的配置信息相对应的所述物理机群,其中,所述物理机群所包含的物理机数量符合所述计算资源的数量;
将所述任务所包含的任意一个实例调度至所述物理机群中的一个物理机;
控制对应的所述物理机生成虚拟机,作为所述初始计算资源,其中,所述虚拟机的配置信息至少包括:所述虚拟机的处理器内核数和所述虚拟机的内存,所述虚拟机的处理器内核数符合所述计算资源的处理器内核数,所述虚拟机的内存符合所述计算资源的内存。
3.根据权利要求2所述的方法,其特征在于,在调用所述实际计算资源来处理所述任务所包含的实例之前,所述方法还包括:
判断所述物理机的处理器内核数是否大于所述计算资源的处理器内核数,以及所述物理机的内存是否大于所述计算资源的内存;
在所述物理机的处理器内核数大于所述计算资源的处理器内核数,或所述物理机的内存大于所述计算资源的内存的情况下,调用大于所述初始计算资源的所述实际计算资源处理所述任务所包含的实例;
在所述物理机的处理器内核数等于所述计算资源的处理器内核数,且所述物理机的内存等于所述计算资源的内存的情况下,调用所述初始计算资源处理所述任务所包含的实例。
4.根据权利要求3所述的方法,其特征在于,调用大于所述初始计算资源的所述实际计算资源处理所述任务所包含的实例,包括:
调高所述虚拟机的处理器内核数和所述虚拟机的内存,得到所述实际计算资源;
调用所述实际计算资源处理调度至对应的所述物理机上的所述实例。
5.根据权利要求4所述的方法,其特征在于,调高所述虚拟机的处理器内核数和所述虚拟机的内存,得到所述实际计算资源,包括:
将所述虚拟机的处理器内核数调高至对应的所述物理机所支持的最大可用处理器内核数,并将所述虚拟机的内存调高至对应的所述物理机所支持的最大可用内存。
6.根据权利要求2所述的方法,其特征在于,判断所述资源描述信息是否指示调用实际计算资源,包括:
判断所述资源描述信息中是否包含资源自动增长信息;
在所述资源描述信息中包含所述资源自动增长信息的情况下,判断出所述资源描述信息指示调用所述实际计算资源;
在所述资源描述信息中不包含所述资源自动增长信息的情况下,判断出所述资源描述信息指示不调用所述实际计算资源。
7.根据权利要求6所述的方法,其特征在于,在判断出所述资源描述信息指示不调用所述实际计算资源之后,所述方法还包括:
调用所述初始计算资源处理调度至对应的所述物理机上的所述实例。
8.一种用于处理任务的资源的调度装置,其特征在于,包括:
接收单元,用于接收客户端发送的待处理的至少一个任务,其中,任意一个任务包含一个或多个实例,以及处理所述任务所包含的实例所需的资源描述信息;
确定单元,用于根据所述资源描述信息确定初始计算资源,其中,所述初始计算资源为用于处理所述任务所包含的实例时所调用的最小计算资源;
第一判断单元,用于判断所述资源描述信息是否指示调用实际计算资源,其中,所述实际计算资源为大于所述初始计算资源的计算资源;
第一调用单元,用于在所述资源描述信息指示调用所述实际计算资源的情况下,调用所述实际计算资源来处理所述任务所包含的实例。
9.根据权利要求8所述的装置,其特征在于,所述资源描述信息包括处理所述任务所包含的实例所需的计算资源的处理器内核数、所述计算资源的内存以及所述计算资源的数量,所述确定单元包括:
筛选模块,用于从云计算资源中筛选得到满足预设条件的物理机群的配置信息,其中,所述物理机群的配置信息至少包括:所述物理机群中任意一台物理机的处理器内核数和所述物理机的内存,所述物理机的处理器内核数大于等于所述计算资源的处理器内核数,所述物理机的内存大于等于所述计算资源的内存;
第一确定模块,用于确定所述云计算资源中与所述物理机群的配置信息相对应的所述物理机群,其中,所述物理机群所包含的物理机数量符合所述计算资源的数量;
调度模块,用于将所述任务所包含的任意一个实例调度至所述物理机群中的一个物理机;
控制模块,用于控制对应的所述物理机生成虚拟机,作为所述初始计算资源,其中,所述虚拟机的配置信息至少包括:所述虚拟机的处理器内核数和所述虚拟机的内存,所述虚拟机的处理器内核数符合所述计算资源的处理器内核数,所述虚拟机的内存符合所述计算资源的内存。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二判断单元,用于在调用所述实际计算资源来处理所述任务所包含的实例之前,判断所述物理机的处理器内核数是否大于所述计算资源的处理器内核数,以及所述物理机的内存是否大于所述计算资源的内存;
第二调用单元,用于在所述物理机的处理器内核数大于所述计算资源的处理器内核数,或所述物理机的内存大于所述计算资源的内存的情况下,调用大于所述初始计算资源的所述实际计算资源处理所述任务所包含的实例;
第三调用单元,用于在所述物理机的处理器内核数等于所述计算资源的处理器内核数,且所述物理机的内存等于所述计算资源的内存的情况下,调用所述初始计算资源处理所述任务所包含的实例。
11.根据权利要求10所述的装置,其特征在于,所述第二调用单元包括:
调高模块,用于调高所述虚拟机的处理器内核数和所述虚拟机的内存,得到所述实际计算资源;
调用模块,用于调用所述实际计算资源处理调度至对应的所述物理机上的所述实例。
12.根据权利要求11所述的装置,其特征在于,所述调高模块包括:
调高子模块,用于将所述虚拟机的处理器内核数调高至对应的所述物理机所支持的最大可用处理器内核数,并将所述虚拟机的内存调高至对应的所述物理机所支持的最大可用内存。
13.根据权利要求9所述的装置,其特征在于,所述第一判断单元包括:
判断模块,用于判断所述资源描述信息中是否包含资源自动增长信息;
第二确定模块,用于在所述资源描述信息中包含所述资源自动增长信息的情况下,确定判断出所述资源描述信息指示调用所述实际计算资源;
第三确定模块,用于在所述资源描述信息中不包含所述资源自动增长信息的情况下,确定判断出所述资源描述信息指示不调用所述实际计算资源。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
第四调用单元,用于在判断出所述资源描述信息指示不调用所述实际计算资源之后,调用所述初始计算资源处理调度至对应的所述物理机上的所述实例。
15.一种用于处理任务的资源的调度系统,其特征在于,包括:
客户端,用于发送待处理的至少一个任务至云计算资源,其中,任意一个任务包含一个或多个实例,以及处理所述任务所包含的实例所需的资源描述信息;
所述云计算资源,与所述客户端连接,用于根据所述资源描述信息确定初始计算资源,判断所述资源描述信息是否指示调用实际计算资源,以及在所述资源描述信息指示调用所述实际计算资源的情况下,调用所述实际计算资源来处理所述任务所包含的实例,其中,所述初始计算资源为用于处理所述任务所包含的实例时所调用的最小计算资源,所述实际计算资源为大于所述初始计算资源的计算资源。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510604095.2A CN106548262B (zh) | 2015-09-21 | 2015-09-21 | 用于处理任务的资源的调度方法、装置和系统 |
US15/271,162 US10606662B2 (en) | 2015-09-21 | 2016-09-20 | System and method for processing task resources |
EP16849452.4A EP3353652A4 (en) | 2015-09-21 | 2016-09-21 | SYSTEM AND METHOD FOR PROCESSING TASK RESOURCES |
PCT/US2016/052740 WO2017053338A1 (en) | 2015-09-21 | 2016-09-21 | System and method for processing task resources |
US16/823,169 US11416307B2 (en) | 2015-09-21 | 2020-03-18 | System and method for processing task resources |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510604095.2A CN106548262B (zh) | 2015-09-21 | 2015-09-21 | 用于处理任务的资源的调度方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106548262A true CN106548262A (zh) | 2017-03-29 |
CN106548262B CN106548262B (zh) | 2020-11-06 |
Family
ID=58282831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510604095.2A Active CN106548262B (zh) | 2015-09-21 | 2015-09-21 | 用于处理任务的资源的调度方法、装置和系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10606662B2 (zh) |
EP (1) | EP3353652A4 (zh) |
CN (1) | CN106548262B (zh) |
WO (1) | WO2017053338A1 (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107632889A (zh) * | 2017-06-28 | 2018-01-26 | 努比亚技术有限公司 | 一种实现服务降级的方法、设备及计算机可读存储介质 |
CN107766122A (zh) * | 2017-09-28 | 2018-03-06 | 郑州云海信息技术有限公司 | 一种宿主机的可用内存空间设置方法和装置 |
CN108958923A (zh) * | 2017-05-25 | 2018-12-07 | 上海华为技术有限公司 | 一种调度硬件加速器的方法以及调度设备 |
CN109285071A (zh) * | 2018-09-10 | 2019-01-29 | 中国银联股份有限公司 | 一种基于区块链的数据处理平台及数据处理方法 |
CN110502338A (zh) * | 2019-07-16 | 2019-11-26 | 阿里巴巴集团控股有限公司 | 一种性能扩容预测方法、装置、计算设备及存储介质 |
CN111176836A (zh) * | 2019-12-09 | 2020-05-19 | 中国联合网络通信集团有限公司 | 一种云渲染资源调度方法及装置 |
CN111381960A (zh) * | 2018-12-29 | 2020-07-07 | 中兴通讯股份有限公司 | 终端任务的处理方法、装置、存储介质及电子装置 |
CN111611086A (zh) * | 2020-05-28 | 2020-09-01 | 中国工商银行股份有限公司 | 信息处理方法、装置、电子设备和介质 |
CN112860422A (zh) * | 2019-11-28 | 2021-05-28 | 伊姆西Ip控股有限责任公司 | 用于作业处理的方法、设备和计算机程序产品 |
CN114911618A (zh) * | 2022-05-12 | 2022-08-16 | 中国电信股份有限公司 | 异构资源分配方法、装置、电子设备及存储介质 |
WO2023274014A1 (zh) * | 2021-07-01 | 2023-01-05 | 华为技术有限公司 | 容器集群的存储资源管理方法、装置及系统 |
CN116302457A (zh) * | 2023-05-25 | 2023-06-23 | 之江实验室 | 一种云原生工作流引擎实现方法、系统、介质及电子设备 |
CN112860422B (zh) * | 2019-11-28 | 2024-04-26 | 伊姆西Ip控股有限责任公司 | 用于作业处理的方法、设备和计算机程序产品 |
Families Citing this family (79)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9678773B1 (en) | 2014-09-30 | 2017-06-13 | Amazon Technologies, Inc. | Low latency computational capacity provisioning |
US9715402B2 (en) | 2014-09-30 | 2017-07-25 | Amazon Technologies, Inc. | Dynamic code deployment and versioning |
US9146764B1 (en) | 2014-09-30 | 2015-09-29 | Amazon Technologies, Inc. | Processing event messages for user requests to execute program code |
US10048974B1 (en) | 2014-09-30 | 2018-08-14 | Amazon Technologies, Inc. | Message-based computation request scheduling |
US9830193B1 (en) | 2014-09-30 | 2017-11-28 | Amazon Technologies, Inc. | Automatic management of low latency computational capacity |
US9323556B2 (en) | 2014-09-30 | 2016-04-26 | Amazon Technologies, Inc. | Programmatic event detection and message generation for requests to execute program code |
US9600312B2 (en) | 2014-09-30 | 2017-03-21 | Amazon Technologies, Inc. | Threading as a service |
US9537788B2 (en) | 2014-12-05 | 2017-01-03 | Amazon Technologies, Inc. | Automatic determination of resource sizing |
US9588790B1 (en) | 2015-02-04 | 2017-03-07 | Amazon Technologies, Inc. | Stateful virtual compute system |
US9733967B2 (en) | 2015-02-04 | 2017-08-15 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9785476B2 (en) | 2015-04-08 | 2017-10-10 | Amazon Technologies, Inc. | Endpoint management system and virtual compute system |
US9930103B2 (en) | 2015-04-08 | 2018-03-27 | Amazon Technologies, Inc. | Endpoint management system providing an application programming interface proxy service |
US10754701B1 (en) | 2015-12-16 | 2020-08-25 | Amazon Technologies, Inc. | Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions |
US10013267B1 (en) | 2015-12-16 | 2018-07-03 | Amazon Technologies, Inc. | Pre-triggers for code execution environments |
US9811434B1 (en) | 2015-12-16 | 2017-11-07 | Amazon Technologies, Inc. | Predictive management of on-demand code execution |
US10067801B1 (en) | 2015-12-21 | 2018-09-04 | Amazon Technologies, Inc. | Acquisition and maintenance of compute capacity |
US9910713B2 (en) | 2015-12-21 | 2018-03-06 | Amazon Technologies, Inc. | Code execution request routing |
US10162672B2 (en) | 2016-03-30 | 2018-12-25 | Amazon Technologies, Inc. | Generating data streams from pre-existing data sets |
US10891145B2 (en) | 2016-03-30 | 2021-01-12 | Amazon Technologies, Inc. | Processing pre-existing data sets at an on demand code execution environment |
US11132213B1 (en) | 2016-03-30 | 2021-09-28 | Amazon Technologies, Inc. | Dependency-based process of pre-existing data sets at an on demand code execution environment |
US10282229B2 (en) | 2016-06-28 | 2019-05-07 | Amazon Technologies, Inc. | Asynchronous task management in an on-demand network code execution environment |
US10102040B2 (en) | 2016-06-29 | 2018-10-16 | Amazon Technologies, Inc | Adjusting variable limit on concurrent code executions |
US10203990B2 (en) | 2016-06-30 | 2019-02-12 | Amazon Technologies, Inc. | On-demand network code execution with cross-account aliases |
US10277708B2 (en) | 2016-06-30 | 2019-04-30 | Amazon Technologies, Inc. | On-demand network code execution with cross-account aliases |
US10884787B1 (en) | 2016-09-23 | 2021-01-05 | Amazon Technologies, Inc. | Execution guarantees in an on-demand network code execution system |
US10061613B1 (en) | 2016-09-23 | 2018-08-28 | Amazon Technologies, Inc. | Idempotent task execution in on-demand network code execution systems |
US11119813B1 (en) | 2016-09-30 | 2021-09-14 | Amazon Technologies, Inc. | Mapreduce implementation using an on-demand network code execution system |
US10564946B1 (en) | 2017-12-13 | 2020-02-18 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
US10831898B1 (en) | 2018-02-05 | 2020-11-10 | Amazon Technologies, Inc. | Detecting privilege escalations in code including cross-service calls |
US10733085B1 (en) | 2018-02-05 | 2020-08-04 | Amazon Technologies, Inc. | Detecting impedance mismatches due to cross-service calls |
US10353678B1 (en) | 2018-02-05 | 2019-07-16 | Amazon Technologies, Inc. | Detecting code characteristic alterations due to cross-service calls |
US10725752B1 (en) | 2018-02-13 | 2020-07-28 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
US10776091B1 (en) | 2018-02-26 | 2020-09-15 | Amazon Technologies, Inc. | Logging endpoint in an on-demand code execution system |
US10853115B2 (en) | 2018-06-25 | 2020-12-01 | Amazon Technologies, Inc. | Execution of auxiliary functions in an on-demand network code execution system |
US10649749B1 (en) | 2018-06-26 | 2020-05-12 | Amazon Technologies, Inc. | Cross-environment application of tracing information for improved code execution |
US11146569B1 (en) | 2018-06-28 | 2021-10-12 | Amazon Technologies, Inc. | Escalation-resistant secure network services using request-scoped authentication information |
US10949237B2 (en) | 2018-06-29 | 2021-03-16 | Amazon Technologies, Inc. | Operating system customization in an on-demand network code execution system |
US11099870B1 (en) | 2018-07-25 | 2021-08-24 | Amazon Technologies, Inc. | Reducing execution times in an on-demand network code execution system using saved machine states |
US11099917B2 (en) | 2018-09-27 | 2021-08-24 | Amazon Technologies, Inc. | Efficient state maintenance for execution environments in an on-demand code execution system |
US11243953B2 (en) | 2018-09-27 | 2022-02-08 | Amazon Technologies, Inc. | Mapreduce implementation in an on-demand network code execution system and stream data processing system |
US11943093B1 (en) | 2018-11-20 | 2024-03-26 | Amazon Technologies, Inc. | Network connection recovery after virtual machine transition in an on-demand network code execution system |
US10884812B2 (en) | 2018-12-13 | 2021-01-05 | Amazon Technologies, Inc. | Performance-based hardware emulation in an on-demand network code execution system |
US11010188B1 (en) | 2019-02-05 | 2021-05-18 | Amazon Technologies, Inc. | Simulated data object storage using on-demand computation of data objects |
US11861386B1 (en) | 2019-03-22 | 2024-01-02 | Amazon Technologies, Inc. | Application gateways in an on-demand network code execution system |
US11119809B1 (en) | 2019-06-20 | 2021-09-14 | Amazon Technologies, Inc. | Virtualization-based transaction handling in an on-demand network code execution system |
US11159528B2 (en) | 2019-06-28 | 2021-10-26 | Amazon Technologies, Inc. | Authentication to network-services using hosted authentication information |
US11190609B2 (en) | 2019-06-28 | 2021-11-30 | Amazon Technologies, Inc. | Connection pooling for scalable network services |
US11115404B2 (en) | 2019-06-28 | 2021-09-07 | Amazon Technologies, Inc. | Facilitating service connections in serverless code executions |
US11360948B2 (en) | 2019-09-27 | 2022-06-14 | Amazon Technologies, Inc. | Inserting owner-specified data processing pipelines into input/output path of object storage service |
US11656892B1 (en) | 2019-09-27 | 2023-05-23 | Amazon Technologies, Inc. | Sequential execution of user-submitted code and native functions |
US11416628B2 (en) | 2019-09-27 | 2022-08-16 | Amazon Technologies, Inc. | User-specific data manipulation system for object storage service based on user-submitted code |
US11023311B2 (en) | 2019-09-27 | 2021-06-01 | Amazon Technologies, Inc. | On-demand code execution in input path of data uploaded to storage service in multiple data portions |
US11263220B2 (en) | 2019-09-27 | 2022-03-01 | Amazon Technologies, Inc. | On-demand execution of object transformation code in output path of object storage service |
US11386230B2 (en) | 2019-09-27 | 2022-07-12 | Amazon Technologies, Inc. | On-demand code obfuscation of data in input path of object storage service |
US11106477B2 (en) | 2019-09-27 | 2021-08-31 | Amazon Technologies, Inc. | Execution of owner-specified code during input/output path to object storage service |
US11055112B2 (en) | 2019-09-27 | 2021-07-06 | Amazon Technologies, Inc. | Inserting executions of owner-specified code into input/output path of object storage service |
US10908927B1 (en) | 2019-09-27 | 2021-02-02 | Amazon Technologies, Inc. | On-demand execution of object filter code in output path of object storage service |
US11394761B1 (en) | 2019-09-27 | 2022-07-19 | Amazon Technologies, Inc. | Execution of user-submitted code on a stream of data |
US11550944B2 (en) | 2019-09-27 | 2023-01-10 | Amazon Technologies, Inc. | Code execution environment customization system for object storage service |
US11023416B2 (en) | 2019-09-27 | 2021-06-01 | Amazon Technologies, Inc. | Data access control system for object storage service based on owner-defined code |
US11250007B1 (en) | 2019-09-27 | 2022-02-15 | Amazon Technologies, Inc. | On-demand execution of object combination code in output path of object storage service |
US10996961B2 (en) | 2019-09-27 | 2021-05-04 | Amazon Technologies, Inc. | On-demand indexing of data in input path of object storage service |
CN112631766B (zh) * | 2019-10-08 | 2023-09-19 | 中国移动通信集团浙江有限公司 | 项目环境资源的动态调整方法及装置 |
CN110908795B (zh) * | 2019-11-04 | 2022-08-19 | 深圳先进技术研究院 | 云计算集群混部作业调度方法、装置、服务器及存储装置 |
US11119826B2 (en) | 2019-11-27 | 2021-09-14 | Amazon Technologies, Inc. | Serverless call distribution to implement spillover while avoiding cold starts |
US10942795B1 (en) | 2019-11-27 | 2021-03-09 | Amazon Technologies, Inc. | Serverless call distribution to utilize reserved capacity without inhibiting scaling |
US11281607B2 (en) * | 2020-01-30 | 2022-03-22 | Red Hat, Inc. | Paravirtualized cluster mode for legacy APICs |
US11714682B1 (en) | 2020-03-03 | 2023-08-01 | Amazon Technologies, Inc. | Reclaiming computing resources in an on-demand code execution system |
US11188391B1 (en) | 2020-03-11 | 2021-11-30 | Amazon Technologies, Inc. | Allocating resources to on-demand code executions under scarcity conditions |
US11775640B1 (en) | 2020-03-30 | 2023-10-03 | Amazon Technologies, Inc. | Resource utilization-based malicious task detection in an on-demand code execution system |
CN112346863A (zh) * | 2020-10-28 | 2021-02-09 | 河北冀联人力资源服务集团有限公司 | 一种计算资源动态调整数据处理方法及系统 |
US11550713B1 (en) | 2020-11-25 | 2023-01-10 | Amazon Technologies, Inc. | Garbage collection in distributed systems using life cycled storage roots |
US11593270B1 (en) | 2020-11-25 | 2023-02-28 | Amazon Technologies, Inc. | Fast distributed caching using erasure coded object parts |
US11388210B1 (en) | 2021-06-30 | 2022-07-12 | Amazon Technologies, Inc. | Streaming analytics using a serverless compute system |
CN113703962B (zh) * | 2021-07-22 | 2023-08-22 | 北京华胜天成科技股份有限公司 | 云资源分配方法、装置、电子设备及存储介质 |
CN113687951A (zh) * | 2021-09-01 | 2021-11-23 | 睿云奇智(重庆)科技有限公司 | 任务处理方法、装置、电子设备及计算机可读存储介质 |
CN113778679B (zh) * | 2021-09-06 | 2023-03-10 | 抖音视界有限公司 | 资源调度方法、资源调度装置、电子设备和可读存储介质 |
US20230342195A1 (en) * | 2022-04-21 | 2023-10-26 | Altair Engineering, Inc. | Workload scheduling on computing resources |
CN116192755B (zh) * | 2023-04-28 | 2023-08-11 | 惠州迈腾伟业科技发展有限公司 | 基于建立虚拟交换机的拥塞处理方法及其系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248659A (zh) * | 2012-02-13 | 2013-08-14 | 北京华胜天成科技股份有限公司 | 一种云计算资源调度方法和系统 |
US20140058871A1 (en) * | 2012-08-23 | 2014-02-27 | Amazon Technologies, Inc. | Scaling a virtual machine instance |
US20140075029A1 (en) * | 2012-09-11 | 2014-03-13 | Maor Lipchuk | Virtual resource allocation and resource and consumption management |
US20150193276A1 (en) * | 2009-09-29 | 2015-07-09 | Amazon Technologies, Inc. | Dynamically modifying program execution capacity |
US20150234682A1 (en) * | 2014-02-19 | 2015-08-20 | Snowflake Computing Inc. | Resource provisioning systems and methods |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6447851B1 (en) | 1999-07-14 | 2002-09-10 | The University Of Chicago | Field emission from bias-grown diamond thin films in a microwave plasma |
US8230426B2 (en) * | 2004-10-06 | 2012-07-24 | Digipede Technologies, Llc | Multicore distributed processing system using selection of available workunits based on the comparison of concurrency attributes with the parallel processing characteristics |
US8943203B1 (en) | 2009-07-10 | 2015-01-27 | Netapp, Inc. | System and method for storage and deployment of virtual machines in a virtual server environment |
US8261268B1 (en) | 2009-08-05 | 2012-09-04 | Netapp, Inc. | System and method for dynamic allocation of virtual machines in a virtual server environment |
US20110078303A1 (en) | 2009-09-30 | 2011-03-31 | Alcatel-Lucent Usa Inc. | Dynamic load balancing and scaling of allocated cloud resources in an enterprise network |
US8886777B2 (en) | 2010-08-20 | 2014-11-11 | Unisys Corporation | Moving enterprise software applications to a cloud domain |
US8869164B2 (en) | 2010-09-02 | 2014-10-21 | International Business Machines Corporation | Scheduling a parallel job in a system of virtual containers |
US20120124194A1 (en) | 2010-11-14 | 2012-05-17 | Caroline Jacqueline Shouraboura | Method and Apparatus for Efficiently Managing Network Distance between Physical Computers in a Computing Cloud |
US9015709B2 (en) | 2011-03-08 | 2015-04-21 | Rackspace Us, Inc. | Hypervisor-agnostic method of configuring a virtual machine |
US8788855B2 (en) * | 2011-09-23 | 2014-07-22 | Microsoft Corporation | Cluster computational capacity level switching based on demand prediction and stability constraint and power consumption management |
US8850442B2 (en) * | 2011-10-27 | 2014-09-30 | Verizon Patent And Licensing Inc. | Virtual machine allocation in a computing on-demand system |
US8447851B1 (en) | 2011-11-10 | 2013-05-21 | CopperEgg Corporation | System for monitoring elastic cloud-based computing systems as a service |
JP6460798B2 (ja) | 2012-02-10 | 2019-01-30 | オラクル・インターナショナル・コーポレイション | クラウドコンピューティングサービスフレームワーク |
US8856339B2 (en) | 2012-04-04 | 2014-10-07 | Cisco Technology, Inc. | Automatically scaled network overlay with heuristic monitoring in a hybrid cloud environment |
US9438466B1 (en) * | 2012-06-15 | 2016-09-06 | Juniper Networks, Inc. | Migrating virtual machines between oversubscribed and undersubscribed compute devices |
US8813225B1 (en) | 2012-06-15 | 2014-08-19 | Amazon Technologies, Inc. | Provider-arbitrated mandatory access control policies in cloud computing environments |
US9104492B2 (en) | 2012-09-04 | 2015-08-11 | Wisconsin Alumni Research Foundation | Cloud-based middlebox management system |
US8978035B2 (en) | 2012-09-06 | 2015-03-10 | Red Hat, Inc. | Scaling of application resources in a multi-tenant platform-as-a-service environment in a cloud computing system |
KR20140131089A (ko) * | 2013-05-03 | 2014-11-12 | 한국전자통신연구원 | 자원 할당 장치 및 그 방법 |
US20150022666A1 (en) | 2013-07-22 | 2015-01-22 | Intellivision Technologies Corp. | System and method for scalable video cloud services |
US9300552B2 (en) | 2013-12-16 | 2016-03-29 | International Business Machines Corporation | Scaling a cloud infrastructure |
US10103959B2 (en) | 2014-01-07 | 2018-10-16 | International Business Machines Corporation | Scalable software monitoring infrastructure, using parallel task queuing, to operate in elastic cloud environments |
WO2015161472A1 (zh) * | 2014-04-23 | 2015-10-29 | 华为技术有限公司 | 云应用处理方法和应用部署方法及相关装置和系统 |
US9032081B1 (en) | 2014-05-29 | 2015-05-12 | Signiant, Inc. | System and method for load balancing cloud-based accelerated transfer servers |
US20160048408A1 (en) | 2014-08-13 | 2016-02-18 | OneCloud Labs, Inc. | Replication of virtualized infrastructure within distributed computing environments |
US11159599B2 (en) * | 2014-10-10 | 2021-10-26 | Dynatrace Llc | Method and system for real-time modeling of communication, virtualization and transaction execution related topological aspects of monitored software applications and hardware entities |
US9389894B1 (en) * | 2014-10-15 | 2016-07-12 | Google Inc. | Flexible processor association for virtual machines |
-
2015
- 2015-09-21 CN CN201510604095.2A patent/CN106548262B/zh active Active
-
2016
- 2016-09-20 US US15/271,162 patent/US10606662B2/en active Active
- 2016-09-21 EP EP16849452.4A patent/EP3353652A4/en not_active Ceased
- 2016-09-21 WO PCT/US2016/052740 patent/WO2017053338A1/en unknown
-
2020
- 2020-03-18 US US16/823,169 patent/US11416307B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150193276A1 (en) * | 2009-09-29 | 2015-07-09 | Amazon Technologies, Inc. | Dynamically modifying program execution capacity |
CN103248659A (zh) * | 2012-02-13 | 2013-08-14 | 北京华胜天成科技股份有限公司 | 一种云计算资源调度方法和系统 |
US20140058871A1 (en) * | 2012-08-23 | 2014-02-27 | Amazon Technologies, Inc. | Scaling a virtual machine instance |
US20140075029A1 (en) * | 2012-09-11 | 2014-03-13 | Maor Lipchuk | Virtual resource allocation and resource and consumption management |
US20150234682A1 (en) * | 2014-02-19 | 2015-08-20 | Snowflake Computing Inc. | Resource provisioning systems and methods |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958923A (zh) * | 2017-05-25 | 2018-12-07 | 上海华为技术有限公司 | 一种调度硬件加速器的方法以及调度设备 |
CN107632889A (zh) * | 2017-06-28 | 2018-01-26 | 努比亚技术有限公司 | 一种实现服务降级的方法、设备及计算机可读存储介质 |
CN107766122A (zh) * | 2017-09-28 | 2018-03-06 | 郑州云海信息技术有限公司 | 一种宿主机的可用内存空间设置方法和装置 |
CN109285071A (zh) * | 2018-09-10 | 2019-01-29 | 中国银联股份有限公司 | 一种基于区块链的数据处理平台及数据处理方法 |
CN109285071B (zh) * | 2018-09-10 | 2022-12-27 | 中国银联股份有限公司 | 一种基于区块链的数据处理平台及数据处理方法 |
CN111381960A (zh) * | 2018-12-29 | 2020-07-07 | 中兴通讯股份有限公司 | 终端任务的处理方法、装置、存储介质及电子装置 |
CN110502338B (zh) * | 2019-07-16 | 2023-04-11 | 蚂蚁金服(杭州)网络技术有限公司 | 一种性能扩容预测方法、装置、计算设备及存储介质 |
CN110502338A (zh) * | 2019-07-16 | 2019-11-26 | 阿里巴巴集团控股有限公司 | 一种性能扩容预测方法、装置、计算设备及存储介质 |
CN112860422A (zh) * | 2019-11-28 | 2021-05-28 | 伊姆西Ip控股有限责任公司 | 用于作业处理的方法、设备和计算机程序产品 |
CN112860422B (zh) * | 2019-11-28 | 2024-04-26 | 伊姆西Ip控股有限责任公司 | 用于作业处理的方法、设备和计算机程序产品 |
CN111176836A (zh) * | 2019-12-09 | 2020-05-19 | 中国联合网络通信集团有限公司 | 一种云渲染资源调度方法及装置 |
CN111611086A (zh) * | 2020-05-28 | 2020-09-01 | 中国工商银行股份有限公司 | 信息处理方法、装置、电子设备和介质 |
WO2023274014A1 (zh) * | 2021-07-01 | 2023-01-05 | 华为技术有限公司 | 容器集群的存储资源管理方法、装置及系统 |
CN114911618A (zh) * | 2022-05-12 | 2022-08-16 | 中国电信股份有限公司 | 异构资源分配方法、装置、电子设备及存储介质 |
CN114911618B (zh) * | 2022-05-12 | 2024-04-26 | 中国电信股份有限公司 | 异构资源分配方法、装置、电子设备及存储介质 |
CN116302457A (zh) * | 2023-05-25 | 2023-06-23 | 之江实验室 | 一种云原生工作流引擎实现方法、系统、介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US11416307B2 (en) | 2022-08-16 |
EP3353652A4 (en) | 2019-05-15 |
CN106548262B (zh) | 2020-11-06 |
US10606662B2 (en) | 2020-03-31 |
EP3353652A1 (en) | 2018-08-01 |
US20200218582A1 (en) | 2020-07-09 |
WO2017053338A1 (en) | 2017-03-30 |
US20170083381A1 (en) | 2017-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106548262A (zh) | 用于处理任务的资源的调度方法、装置和系统 | |
CN105979009B (zh) | 一种针对云应用容器的增加负载自动均衡方法 | |
CN109062658A (zh) | 实现计算资源服务化的调度方法、装置、介质、设备及系统 | |
CN110851529A (zh) | 算力调度方法及相关设备 | |
CN109634748A (zh) | 集群资源调度方法、装置、设备及计算机可读存储介质 | |
CN108304250A (zh) | 用于确定运行机器学习任务的节点的方法和装置 | |
US10372479B2 (en) | Scheduling framework for tightly coupled jobs | |
CN104067260A (zh) | 动态构建用于承担用户工作量的一组计算节点 | |
CN103747107B (zh) | 一种兼容式云操作平台及其实现方法 | |
CN106548261A (zh) | 一种业务流程控制方法、装置及电子设备 | |
CN109564525A (zh) | 按需网络代码执行环境中的异步任务管理 | |
CN109343942A (zh) | 基于边缘计算网络的任务调度方法 | |
CN107688495A (zh) | 调度处理器的方法及设备 | |
CN109800083A (zh) | 一种微服务协同调用的方法、装置、系统及存储介质 | |
CN106445681A (zh) | 分布式任务调度系统及方法 | |
US11652725B2 (en) | Performance testing of a test application in a network-as-a-service environment | |
CN107479964A (zh) | 一种云渲染系统 | |
CN114244717A (zh) | 虚拟网卡资源的配置方法、装置、计算机设备及介质 | |
CN105975346A (zh) | 调度线程资源的方法、装置及系统 | |
CN104184685B (zh) | 数据中心资源分配方法、装置及系统 | |
CN105933136B (zh) | 一种资源调度方法及系统 | |
US11775264B2 (en) | Efficient deployment of machine learning and deep learning model's pipeline for serving service level agreement | |
CN105847393A (zh) | 内容分发的方法、装置及系统 | |
CN115562658A (zh) | 多渠道的模块实例扩展方法、装置和电子设备 | |
CN110086881A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230529 Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province Patentee after: Aliyun Computing Co.,Ltd. Address before: Box 847, four, Grand Cayman capital, Cayman Islands, UK Patentee before: ALIBABA GROUP HOLDING Ltd. |
|
TR01 | Transfer of patent right |