CN109032788A - 预留资源池动态调度方法、装置、计算机设备及存储介质 - Google Patents
预留资源池动态调度方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109032788A CN109032788A CN201810695501.4A CN201810695501A CN109032788A CN 109032788 A CN109032788 A CN 109032788A CN 201810695501 A CN201810695501 A CN 201810695501A CN 109032788 A CN109032788 A CN 109032788A
- Authority
- CN
- China
- Prior art keywords
- resource pool
- container
- dilatation
- node
- rollback
- 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
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了预留资源池动态调度方法、装置、计算机设备及存储介质,其中方法包括:创建预留资源池,预留资源池中包括回退资源池,回退资源池中的每个节点分别初始化至少一个预定规格的容器;当接收到大于预定规格的套餐需求时,从回退资源池中选出一个节点;按照套餐规格对选出的节点中的容器进行扩容操作;从扩容后的容器中选出一个容器进行使用。应用本发明所述方案,能够避免资源被滥用以及减少资源预留量等。
Description
【技术领域】
本发明涉及计算机应用技术,特别涉及预留资源池动态调度方法、装置、计算机设备及存储介质。
【背景技术】
目前,云服务普遍使用Docker计算提供容器服务。在百度云函数计算产品中,需要使用预留资源池来向服务使用方提供服务,保证交付性能,如果等到请求到来时再着手新建符合要求的容器,在效率上是无法接受的。
预留资源池是通过Kubernetes编排的Docker容器集群,为了满足快速交付的需求,预留资源池需要提前部署各个语言的运行时文件,并且所有容器中运行着轻量级的基础镜像。另外,为了满足不同规格的套餐需求,通常会采用以下处理方式。
方式一:资源预留池中的容器规格统一为产品支持的最高规格,当接收到低规格的套餐需求时,也会使用最高规格的容器,但是按照低规格进行计费。
方式二:每种套餐分别对应各自独立的预留资源池,从而分别满足不同规格的套餐需求。
但上述两种方式在实际应用中均会存在一定的问题,如:方式一中,无法真正限制服务使用方能够使用的资源上限,容易造成资源滥用,方式二中,预留资源池过大,容易造成成本的上升,对计算资源的浪费也会比较严重。
【发明内容】
有鉴于此,本发明提供了预留资源池动态调度方法、装置、计算机设备及存储介质。
具体技术方案如下:
一种预留资源池动态调度方法,包括:
创建预留资源池,所述预留资源池中包括回退资源池,所述回退资源池中的每个节点分别初始化至少一个预定规格的容器;
当接收到大于所述预定规格的套餐需求时,从所述回退资源池中选出一个节点;
按照所述套餐规格对选出的节点中的容器进行扩容操作;
从扩容后的容器中选出一个容器进行使用。
根据本发明一优选实施例,所述预定规格包括:最低规格。
根据本发明一优选实施例,所述预留资源池中进一步包括:至少一个直接可用资源池;不同资源池中的容器规格不同;
当接收到符合所述直接可用资源池中的容器规格的套餐需求时,直接使用所述直接可用资源池中的容器。
根据本发明一优选实施例,该方法进一步包括:
当接收到符合所述预定规格的套餐需求时,直接使用所述回退资源池中的容器。
根据本发明一优选实施例,所述从所述回退资源池中选出一个节点包括:
从所述回退资源池中选出一个状态为空闲的节点。
根据本发明一优选实施例,所述按照所述套餐规格对选出的节点进行扩容操作包括:
确定选出的节点中能够进行扩容的容器数量;
将所述数量的容器的规格分别扩容为所述套餐规格。
根据本发明一优选实施例,该方法进一步包括:
将所述节点中扩容后的容器加入所述套餐规格对应的扩容资源池中;
从所述扩容资源池中选出一个容器进行使用。
根据本发明一优选实施例,该方法进一步包括:
当接收到符合所述扩容资源池中的容器规格的套餐需求时,直接使用所述扩容资源池中的容器。
根据本发明一优选实施例,该方法进一步包括:
当所述节点中的扩容后的容器超过预定时长未被使用时,将所述节点中的扩容后的容器恢复为扩容前的规格后放回所述回退资源池。
一种预留资源池动态调度装置,包括:创建单元以及处理单元;
所述创建单元,用于创建预留资源池,所述预留资源池中包括回退资源池,所述回退资源池中的每个节点分别初始化至少一个预定规格的容器;
所述处理单元,用于当接收到大于所述预定规格的套餐需求时,从所述回退资源池中选出一个节点,按照所述套餐规格对选出的节点中的容器进行扩容操作,从扩容后的容器中选出一个容器进行使用。
根据本发明一优选实施例,所述预定规格包括:最低规格。
根据本发明一优选实施例,所述预留资源池中进一步包括:至少一个直接可用资源池;不同资源池中的容器规格不同;
所述处理单元进一步用于,当接收到符合所述直接可用资源池中的容器规格的套餐需求时,直接使用所述直接可用资源池中的容器。
根据本发明一优选实施例,所述处理单元进一步用于,当接收到符合所述预定规格的套餐需求时,直接使用所述回退资源池中的容器。
根据本发明一优选实施例,所述处理单元从所述回退资源池中选出一个状态为空闲的节点。
根据本发明一优选实施例,所述处理单元确定选出的节点中能够进行扩容的容器数量,将所述数量的容器的规格分别扩容为所述套餐规格。
根据本发明一优选实施例,所述处理单元进一步用于,将所述节点中扩容后的容器加入所述套餐规格对应的扩容资源池中,从所述扩容资源池中选出一个容器进行使用。
根据本发明一优选实施例,所述处理单元进一步用于,当接收到符合所述扩容资源池中的容器规格的套餐需求时,直接使用所述扩容资源池中的容器。
根据本发明一优选实施例,所述处理单元进一步用于,当所述节点中的扩容后的容器超过预定时长未被使用时,将所述节点中的扩容后的容器恢复为扩容前的规格后放回所述回退资源池。
一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。
基于上述介绍可以看出,相比于现有方式一,本发明所述方案中使用的是与套餐规格相符合的容器,从而避免了资源被滥用的问题,相比于现有方式二,本发明所述方案中无需针对不同的套餐分别维护对应的预留资源池,而是可基于回退资源池,根据实际需求动态扩容出相应规格的容器,从而减少了资源预留量,降低了实现成本,节省了计算资源等。
【附图说明】
图1为本发明所述预留资源池动态调度方法实施例的流程图。
图2为本发明所述的一个节点中的容器的示意图。
图3为图2所示节点进行扩容操作后的示意图。
图4为本发明所述预留资源池动态调度装置实施例的组成结构示意图。
图5示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。
【具体实施方式】
为了使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案进行进一步说明。
显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明所述预留资源池动态调度方法实施例的流程图。如图1所示,包括以下具体实现方式。
在101中,创建预留资源池,其中包括回退资源池,回退资源池中的每个节点分别初始化至少一个预定规格的容器。
在102中,当接收到大于所述预定规格的套餐需求时,从回退资源池中选出一个节点。
在103中,按照套餐规格对选出的节点中的容器进行扩容操作。
在104中,从扩容后的容器中选出一个容器进行使用。
容器是资源池的最小调度单位,存在于宿主机上,每台宿主机会根据自身的中央处理单元(CPU,Central Processing Unit)/内存大小等,创建至少一个容器,具体数量视实际情况而定。每台宿主机可分别称为一个节点。
可创建预留资源池,其中包括回退资源池,较佳地,有且只有一个回退资源池,回退资源池中的每个节点分别初始化了至少一个预定规格的容器。预留资源池由数个节点上的所有容器构成。
可选地,除回退资源池之外,预留资源池中还可进一步包括至少一个直接可用资源池,直接可用资源池的具体数量可根据实际需要而定。
不同资源池中的容器的规格不同,也就是说,不同的直接可用资源池以及回退资源池中的容器的规格各不相同。通常来说,回退资源池中的容器规格为最低规格。
直接可用资源池中的容器规格直接满足需求,无需动态扩容,也就是说,当接收到符合直接可用资源池中的容器规格的套餐需求时,可直接使用直接可用资源池中的容器。通过设置直接可用资源池,可以在调度时跳过动态扩容阶段,以空间换时间,提高处理效率。
回退资源池中的容器也可以被直接使用,如当接收到符合回退资源池中的容器规格的套餐需求时,即可直接使用回退资源池中的容器,否则,假设也不存在相符合的直接可用资源池,那么则需要基于回退资源池进行动态扩容操作,即将回退资源池中的容器进行扩容后使用。动态扩容,是指在不影响容器内进程运行的基础上,动态扩大容器的CPU/内存限制值,相当于将其转化为另一种更高规格的容器。
比如,当接收到大于回退资源池中的容器规格的套餐需求时,从回退资源池中选出一个节点,之后,按照所述套餐规格对选出的节点中的容器进行扩容操作,进而从扩容后的容器中选出一个进行使用。
较佳地,可从回退资源池中的节点中选出一个状态为空闲的节点,如果状态为空闲的节点数大于一,那么可随机选出其中的一个节点。
针对选出的节点,可对其进行动态扩容操作,具体地,可首先确定出该节点中能够进行扩容的容器数量,之后可将相应数量的容器的规格分别扩容到套餐规格。
扩容操作是基于节点来进行的,可根据节点中的CPU/内存大小、使用情况等,确定出节点中能够进行扩容的容器数量,即最多能够扩容的容器数量,
针对每个需要扩容的容器,可分别按照以下方式进行处理。
a)找到该容器在cgroups树中的位置,cgroups的管理模型是一个树型结构,进程的资源限制受树上子节点和父节点共同控制。
cgroups是控制组(control groups)的缩写,是Linux内核提供的一种可以限制、记录、隔离进程组(process groups)所使用的物理资源(如cpu、内存、磁盘输入输出等)的机制。
b)自子节点开始,自下而上修改每个资源子系统中的限制值,比如,memory子系统中的内存最高使用值受到memory.limit_in_bytes和memory.memsw.limit_in_bytes的控制,分别代表对应容器可以使用的宿主机内存最高上限和可以使用的宿主机内存+交换区的最高上限。
针对选出的节点完成动态扩容后,可将该节点中扩容后的容器加入到套餐规格对应的扩容资源池中,对于该节点中未被扩容的容器,其也不再属于回退资源池,而是被冻结起来,不再使用。
扩容资源池中包括若干个扩容后的容器,可从中选出一个进行使用,选择方式不限,比如可随机选出一个容器进行使用。
后续,当接收到符合扩容资源池中的容器规格的套餐需求时,可直接使用扩容资源池中的容器,无需再进行动态扩容操作,从而提高了处理效果等。
当某一节点中的扩容后的容器超过预定时长未被使用时,可将该节点中的扩容后的容器恢复为扩容前的规格后放回回退资源池,从而实现对于被动态扩容的容器资源的回收,可通过恢复各容器的cgroups对动态扩容进行反向操作。另外,对于该节点中的被冻结的容器,可将其恢复为原来的状态。所述预定时长的具体取值可根据实际需要而定。
在实际应用中,可分别在回退资源池中的每个节点上设置一个代理(agent),agent为运行于节点上的守护进程服务,利用agent来管理节点内的容器,如初始化容器、对容器进行动态扩容、对动态扩容进行反向操作等。
基于上述介绍,以下通过具体示例,对本发明所述方案进行进一步说明。
创建预留资源池,其中包括一个回退资源池,回退资源池中的每个节点分别通过Kubernetes初始化了若干个128MB的容器。图2为本发明所述的一个节点中的容器的示意图。如图2所示,该节点中共初始化了12个128MB的容器。
若接收到128MB的套餐需求,那么可直接使用回退资源池中的容器。
若接收到256MB的套餐需求,由于回退资源池中的容器规格不符合要求,因此需要进行容器的动态扩容。
首先,从回退资源池中选出一个状态为空闲的节点,如果状态为空闲的节点数大于一,那么可随机选出其中的一个节点,假设选出的节点为图2所示节点。
之后,确定出该节点中能够进行扩容的容器数量,并将相应数量的容器的规格从128MB扩容到256MB。图3为图2所示节点进行扩容操作后的示意图。如图3所示,将节点中的6个容器从128MB的规格扩容到了256MB。
将扩容后的6个容器加入256MB规格的扩容资源池中,并将未被扩容的6个容器冻结起来,不再使用。
从扩容资源池中随机选出一个容器进行使用,即用于执行具体的请求。后续如果再接收到256MB的套餐需求,可直接使用扩容资源池中的容器,无需再进行动态扩容操作。
若图2所示节点中的扩容后的容器超过预定时长未被使用,可将该节点中的扩容后的容器恢复为128MB的规格后放回回退资源池,并将该节点中的被冻结的容器恢复为原来的状态,这样,该节点即恢复为图2所示初始状态。
需要说明的是,对于前述的方法实施例,为了简单描述,将其表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
总之,相比于现有方式一,本发明方法实施例所述方案中使用的是与套餐规格相符合的容器,从而避免了资源被滥用的问题,相比于现有方式二,本发明方法实施例所述方案中无需针对不同的套餐分别维护对应的预留资源池,而是可基于回退资源池,根据实际需求动态扩容出相应规格的容器,从而减少了资源预留量,降低了实现成本,节省了计算资源等。
另外,采用本发明方法实施例所述方案,可对扩容的容器资源进行及时回收,从而进一步节省了计算资源。
再有,采用本发明方法实施例所述方案,可通过进一步设置直接可用资源池,以空间换时间,提高处理效率等。
以上是关于方法实施例的介绍,以下通过装置实施例,对本发明所述方案进行进一步说明。
图4为本发明所述预留资源池动态调度装置实施例的组成结构示意图。如图4所示,包括:创建单元401以及处理单元402。
创建单元401,用于创建预留资源池,预留资源池中包括回退资源池,回退资源池中的每个节点分别初始化至少一个预定规格的容器。
处理单元402,用于当接收到大于预定规格的套餐需求时,从回退资源池中选出一个节点,按照套餐规格对选出的节点中的容器进行扩容操作,从扩容后的容器中选出一个容器进行使用。
预留资源池中可仅包括一个回退资源池,回退资源池中的每个节点分别初始化了至少一个预定规格的容器,预留资源池由数个节点上的所有容器构成。
可选地,除回退资源池之外,预留资源池中还可进一步包括至少一个直接可用资源池,直接可用资源池的具体数量可根据实际需要而定。
不同资源池中的容器的规格不同,也就是说,不同的直接可用资源池以及回退资源池中的容器的规格各不相同。通常来说,回退资源池中的容器规格为最低规格。
直接可用资源池中的容器规格直接满足需求,无需动态扩容,也就是说,当接收到符合直接可用资源池中的容器规格的套餐需求时,处理单元402可直接使用直接可用资源池中的容器。
回退资源池中的容器也可以被直接使用,如当接收到符合回退资源池中的容器规格的套餐需求时,处理单元402即可直接使用回退资源池中的容器,否则,假设也不存在相符合的直接可用资源池,那么处理单元402则需要基于回退资源池进行动态扩容操作,将回退资源池中的容器进行扩容后使用。
比如,当接收到大于回退资源池中的容器规格的套餐需求时,处理单元402可从回退资源池中选出一个节点,之后,按照所述套餐规格对选出的节点中的容器进行扩容操作,进而从扩容后的容器中选出一个进行使用。
较佳地,处理单元402可从回退资源池中的节点中选出一个状态为空闲的节点,如果状态为空闲的节点数大于一,那么可随机选出其中的一个节点。
针对选出的节点,处理单元402可对其进行动态扩容操作,具体地,可首先确定出该节点中能够进行扩容的容器数量,之后可将相应数量的容器的规格分别扩容到套餐规格。
针对选出的节点完成动态扩容后,处理单元402还可将该节点中扩容后的容器加入到套餐规格对应的扩容资源池中,对于该节点中未被扩容的容器,其也不再属于回退资源池,而是被冻结起来,不再使用。
扩容资源池中包括若干个扩容后的容器,可从中选出一个进行使用,选择方式不限,比如可随机选出一个容器进行使用。
后续,当接收到符合扩容资源池中的容器规格的套餐需求时,处理单元402可直接使用扩容资源池中的容器,无需再进行动态扩容操作,从而提高了处理效果等。
另外,当某一节点中的扩容后的容器超过预定时长未被使用时,处理单元402可将该节点中的扩容后的容器恢复为扩容前的规格后放回回退资源池,从而实现对于被动态扩容的容器资源的回收,另外,对于该节点中的被冻结的容器,可将其恢复为原来的状态。
图4所示装置实施例的具体工作流程请参照前述方法实施例中的相关说明,不再赘述。
总之,相比于现有方式一,本发明装置实施例所述方案中使用的是与套餐规格相符合的容器,从而避免了资源被滥用的问题,相比于现有方式二,本发明装置实施例所述方案中无需针对不同的套餐分别维护对应的预留资源池,而是可基于回退资源池,根据实际需求动态扩容出相应规格的容器,从而减少了资源预留量,降低了实现成本,节省了计算资源等。
另外,采用本发明装置实施例所述方案,可对扩容的容器资源进行及时回收,从而进一步节省了计算资源。
再有,采用本发明装置实施例所述方案,可通过进一步设置直接可用资源池,以空间换时间,提高处理效率等。
图5示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图5显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器(处理单元)16,存储器28,连接不同系统组件(包括存储器28和处理器16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图5所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现图1所示实施例中的方法。
本发明同时公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时将实现如图1所示实施例中的方法。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (20)
1.一种预留资源池动态调度方法,其特征在于,包括:
创建预留资源池,所述预留资源池中包括回退资源池,所述回退资源池中的每个节点分别初始化至少一个预定规格的容器;
当接收到大于所述预定规格的套餐需求时,从所述回退资源池中选出一个节点;
按照所述套餐规格对选出的节点中的容器进行扩容操作;
从扩容后的容器中选出一个容器进行使用。
2.根据权利要求1所述的方法,其特征在于,
所述预定规格包括:最低规格。
3.根据权利要求1所述的方法,其特征在于,
所述预留资源池中进一步包括:至少一个直接可用资源池;不同资源池中的容器规格不同;
当接收到符合所述直接可用资源池中的容器规格的套餐需求时,直接使用所述直接可用资源池中的容器。
4.根据权利要求1所述的方法,其特征在于,
该方法进一步包括:
当接收到符合所述预定规格的套餐需求时,直接使用所述回退资源池中的容器。
5.根据权利要求1所述的方法,其特征在于,
所述从所述回退资源池中选出一个节点包括:
从所述回退资源池中选出一个状态为空闲的节点。
6.根据权利要求1所述的方法,其特征在于,
所述按照所述套餐规格对选出的节点进行扩容操作包括:
确定选出的节点中能够进行扩容的容器数量;
将所述数量的容器的规格分别扩容为所述套餐规格。
7.根据权利要求6所述的方法,其特征在于,
该方法进一步包括:
将所述节点中扩容后的容器加入所述套餐规格对应的扩容资源池中;
从所述扩容资源池中选出一个容器进行使用。
8.根据权利要求7所述的方法,其特征在于,
该方法进一步包括:
当接收到符合所述扩容资源池中的容器规格的套餐需求时,直接使用所述扩容资源池中的容器。
9.根据权利要求7所述的方法,其特征在于,
该方法进一步包括:
当所述节点中的扩容后的容器超过预定时长未被使用时,将所述节点中的扩容后的容器恢复为扩容前的规格后放回所述回退资源池。
10.一种预留资源池动态调度装置,其特征在于,包括:创建单元以及处理单元;
所述创建单元,用于创建预留资源池,所述预留资源池中包括回退资源池,所述回退资源池中的每个节点分别初始化至少一个预定规格的容器;
所述处理单元,用于当接收到大于所述预定规格的套餐需求时,从所述回退资源池中选出一个节点,按照所述套餐规格对选出的节点中的容器进行扩容操作,从扩容后的容器中选出一个容器进行使用。
11.根据权利要求10所述的装置,其特征在于,
所述预定规格包括:最低规格。
12.根据权利要求10所述的装置,其特征在于,
所述预留资源池中进一步包括:至少一个直接可用资源池;不同资源池中的容器规格不同;
所述处理单元进一步用于,当接收到符合所述直接可用资源池中的容器规格的套餐需求时,直接使用所述直接可用资源池中的容器。
13.根据权利要求10所述的装置,其特征在于,
所述处理单元进一步用于,当接收到符合所述预定规格的套餐需求时,直接使用所述回退资源池中的容器。
14.根据权利要求10所述的装置,其特征在于,
所述处理单元从所述回退资源池中选出一个状态为空闲的节点。
15.根据权利要求10所述的装置,其特征在于,
所述处理单元确定选出的节点中能够进行扩容的容器数量,将所述数量的容器的规格分别扩容为所述套餐规格。
16.根据权利要求15所述的装置,其特征在于,
所述处理单元进一步用于,将所述节点中扩容后的容器加入所述套餐规格对应的扩容资源池中,从所述扩容资源池中选出一个容器进行使用。
17.根据权利要求16所述的装置,其特征在于,
所述处理单元进一步用于,当接收到符合所述扩容资源池中的容器规格的套餐需求时,直接使用所述扩容资源池中的容器。
18.根据权利要求16所述的装置,其特征在于,
所述处理单元进一步用于,当所述节点中的扩容后的容器超过预定时长未被使用时,将所述节点中的扩容后的容器恢复为扩容前的规格后放回所述回退资源池。
19.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~9中任一项所述的方法。
20.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810695501.4A CN109032788B (zh) | 2018-06-29 | 2018-06-29 | 预留资源池动态调度方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810695501.4A CN109032788B (zh) | 2018-06-29 | 2018-06-29 | 预留资源池动态调度方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109032788A true CN109032788A (zh) | 2018-12-18 |
CN109032788B CN109032788B (zh) | 2019-09-20 |
Family
ID=65521988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810695501.4A Active CN109032788B (zh) | 2018-06-29 | 2018-06-29 | 预留资源池动态调度方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109032788B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110333906A (zh) * | 2019-05-16 | 2019-10-15 | 广州明珞汽车装备有限公司 | 一种快速处理预留设备的方法、系统、装置和存储介质 |
CN111400023A (zh) * | 2019-01-02 | 2020-07-10 | 中国移动通信有限公司研究院 | 一种资源池冗余率调整方法、装置、介质和设备 |
CN111427675A (zh) * | 2020-03-20 | 2020-07-17 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置以及计算机可读存储介质 |
CN111858034A (zh) * | 2020-06-29 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种资源的管理方法、系统、设备以及介质 |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761469A (zh) * | 2011-04-27 | 2012-10-31 | 阿里巴巴集团控股有限公司 | 一种资源池的分配方法和装置 |
CN103257683A (zh) * | 2013-05-07 | 2013-08-21 | 华为技术有限公司 | 一种云计算业务伸缩的方法和装置 |
CN103516623A (zh) * | 2012-06-25 | 2014-01-15 | 中兴通讯股份有限公司 | 资源分配方法及系统 |
CN103530189A (zh) * | 2013-09-29 | 2014-01-22 | 中国科学院信息工程研究所 | 一种面向流式数据的自动伸缩及迁移的方法及装置 |
CN104079503A (zh) * | 2013-03-27 | 2014-10-01 | 华为技术有限公司 | 一种资源分配方法及装置 |
CN104636205A (zh) * | 2014-12-26 | 2015-05-20 | 北京奇艺世纪科技有限公司 | 一种任务抢占的方法和装置 |
CN104699508A (zh) * | 2015-03-25 | 2015-06-10 | 南京大学 | 云计算平台中快速部署和更新虚拟环境系统及其方法 |
CN106095533A (zh) * | 2016-06-14 | 2016-11-09 | 中国联合网络通信集团有限公司 | 服务器扩容方法及装置 |
US9612878B2 (en) * | 2014-03-31 | 2017-04-04 | International Business Machines Corporation | Resource allocation in job scheduling environment |
CN106713375A (zh) * | 2015-07-21 | 2017-05-24 | 中国移动通信集团重庆有限公司 | 云资源的调配方法及装置 |
CN106843745A (zh) * | 2015-12-03 | 2017-06-13 | 南京中兴新软件有限责任公司 | 容量扩展方法及装置 |
CN107026802A (zh) * | 2016-01-30 | 2017-08-08 | 华为技术有限公司 | 一种资源管理方法及设备 |
CN107085539A (zh) * | 2017-04-27 | 2017-08-22 | 北京邮电大学 | 一种云数据库系统以及云数据库资源动态调整方法 |
CN107231264A (zh) * | 2017-07-25 | 2017-10-03 | 北京百度网讯科技有限公司 | 用于管理云服务器的容量的方法和装置 |
CN107688322A (zh) * | 2017-08-31 | 2018-02-13 | 天津中新智冠信息技术有限公司 | 一种容器化管理系统 |
CN107733676A (zh) * | 2016-08-12 | 2018-02-23 | 中国移动通信集团浙江有限公司 | 一种弹性调度资源的方法及系统 |
US20180067782A1 (en) * | 2015-08-14 | 2018-03-08 | International Business Machines Corporation | Controlling virtual machine density and placement distribution in a converged infrastructure resource pool |
CN107832143A (zh) * | 2017-10-17 | 2018-03-23 | 北京京东尚科信息技术有限公司 | 一种物理机资源的处理方法和装置 |
CN107977252A (zh) * | 2016-10-21 | 2018-05-01 | 中兴通讯股份有限公司 | 一种云平台业务的缩容方法、装置及云平台 |
CN108076082A (zh) * | 2016-11-09 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 一种应用集群的扩容方法、装置和系统 |
CN108121585A (zh) * | 2016-11-29 | 2018-06-05 | 上海有云信息技术有限公司 | 基于云模式下的资源分配装置及方法 |
-
2018
- 2018-06-29 CN CN201810695501.4A patent/CN109032788B/zh active Active
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761469A (zh) * | 2011-04-27 | 2012-10-31 | 阿里巴巴集团控股有限公司 | 一种资源池的分配方法和装置 |
CN103516623A (zh) * | 2012-06-25 | 2014-01-15 | 中兴通讯股份有限公司 | 资源分配方法及系统 |
CN104079503A (zh) * | 2013-03-27 | 2014-10-01 | 华为技术有限公司 | 一种资源分配方法及装置 |
CN103257683A (zh) * | 2013-05-07 | 2013-08-21 | 华为技术有限公司 | 一种云计算业务伸缩的方法和装置 |
CN103530189A (zh) * | 2013-09-29 | 2014-01-22 | 中国科学院信息工程研究所 | 一种面向流式数据的自动伸缩及迁移的方法及装置 |
US9612878B2 (en) * | 2014-03-31 | 2017-04-04 | International Business Machines Corporation | Resource allocation in job scheduling environment |
CN104636205A (zh) * | 2014-12-26 | 2015-05-20 | 北京奇艺世纪科技有限公司 | 一种任务抢占的方法和装置 |
CN104699508A (zh) * | 2015-03-25 | 2015-06-10 | 南京大学 | 云计算平台中快速部署和更新虚拟环境系统及其方法 |
CN106713375A (zh) * | 2015-07-21 | 2017-05-24 | 中国移动通信集团重庆有限公司 | 云资源的调配方法及装置 |
US20180067782A1 (en) * | 2015-08-14 | 2018-03-08 | International Business Machines Corporation | Controlling virtual machine density and placement distribution in a converged infrastructure resource pool |
CN106843745A (zh) * | 2015-12-03 | 2017-06-13 | 南京中兴新软件有限责任公司 | 容量扩展方法及装置 |
CN107026802A (zh) * | 2016-01-30 | 2017-08-08 | 华为技术有限公司 | 一种资源管理方法及设备 |
CN106095533A (zh) * | 2016-06-14 | 2016-11-09 | 中国联合网络通信集团有限公司 | 服务器扩容方法及装置 |
CN107733676A (zh) * | 2016-08-12 | 2018-02-23 | 中国移动通信集团浙江有限公司 | 一种弹性调度资源的方法及系统 |
CN107977252A (zh) * | 2016-10-21 | 2018-05-01 | 中兴通讯股份有限公司 | 一种云平台业务的缩容方法、装置及云平台 |
CN108076082A (zh) * | 2016-11-09 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 一种应用集群的扩容方法、装置和系统 |
CN108121585A (zh) * | 2016-11-29 | 2018-06-05 | 上海有云信息技术有限公司 | 基于云模式下的资源分配装置及方法 |
CN107085539A (zh) * | 2017-04-27 | 2017-08-22 | 北京邮电大学 | 一种云数据库系统以及云数据库资源动态调整方法 |
CN107231264A (zh) * | 2017-07-25 | 2017-10-03 | 北京百度网讯科技有限公司 | 用于管理云服务器的容量的方法和装置 |
CN107688322A (zh) * | 2017-08-31 | 2018-02-13 | 天津中新智冠信息技术有限公司 | 一种容器化管理系统 |
CN107832143A (zh) * | 2017-10-17 | 2018-03-23 | 北京京东尚科信息技术有限公司 | 一种物理机资源的处理方法和装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400023A (zh) * | 2019-01-02 | 2020-07-10 | 中国移动通信有限公司研究院 | 一种资源池冗余率调整方法、装置、介质和设备 |
CN111400023B (zh) * | 2019-01-02 | 2024-03-22 | 中国移动通信有限公司研究院 | 一种资源池冗余率调整方法、装置、介质和设备 |
CN110333906A (zh) * | 2019-05-16 | 2019-10-15 | 广州明珞汽车装备有限公司 | 一种快速处理预留设备的方法、系统、装置和存储介质 |
CN110333906B (zh) * | 2019-05-16 | 2023-06-16 | 广州明珞装备股份有限公司 | 一种快速处理预留设备的方法、系统、装置和存储介质 |
CN111427675A (zh) * | 2020-03-20 | 2020-07-17 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置以及计算机可读存储介质 |
CN111427675B (zh) * | 2020-03-20 | 2023-03-14 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置以及计算机可读存储介质 |
CN111858034A (zh) * | 2020-06-29 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种资源的管理方法、系统、设备以及介质 |
CN111858034B (zh) * | 2020-06-29 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种资源的管理方法、系统、设备以及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109032788B (zh) | 2019-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108776576B (zh) | 用于聚合的网上NVMe装置的聚合存储方法 | |
CN109032788B (zh) | 预留资源池动态调度方法、装置、计算机设备及存储介质 | |
US9542223B2 (en) | Scheduling jobs in a cluster by constructing multiple subclusters based on entry and exit rules | |
CN104583979B (zh) | 动态物理存储器分区技术 | |
KR101930117B1 (ko) | 비휘발성 스토리지 장치 세트의 휘발성 메모리 표현 기법 | |
CN107783818A (zh) | 深度学习任务处理方法、装置、设备及存储介质 | |
CN109783472A (zh) | 表数据的迁移方法、装置、计算机设备和存储介质 | |
CN109976907B (zh) | 任务分配方法和系统、电子设备、计算机可读介质 | |
CN103180830A (zh) | 中央处理器资源分配方法和计算节点 | |
US20170199694A1 (en) | Systems and methods for dynamic storage allocation among storage servers | |
CN102938784A (zh) | 应用于分布式存储系统中的数据存储方法和系统 | |
EP2375324A2 (en) | Virtualization apparatus for providing a transactional input/output interface | |
US20180254999A1 (en) | Multidimensional resource allocation in data centers | |
CN112424765A (zh) | 用于用户定义的函数的容器框架 | |
CN104272242A (zh) | 创建加密存储体 | |
CN104410666A (zh) | 云计算下实现异构存储资源管理的方法及系统 | |
CN107179946A (zh) | 一种写操作负载均衡系统的多节点调度方法 | |
CN111860807B (zh) | 分形计算装置、方法、集成电路及板卡 | |
CN105739930A (zh) | 一种存储架构及其初始化方法和数据存储方法及管理装置 | |
CN113010265A (zh) | Pod的调度方法、调度器、存储插件及系统 | |
US10776173B1 (en) | Local placement of resource instances in a distributed system | |
US9740532B2 (en) | Multi-dimension scheduling among multiple consumers | |
CN111078152B (zh) | 一种基于云平台的云硬盘创建方法和装置 | |
US11057263B2 (en) | Methods and subsystems that efficiently distribute VM images in distributed computing systems | |
JP2022034455A (ja) | 計算機システムおよび管理方法 |
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 |