CN107832143B - 一种物理机资源的处理方法和装置 - Google Patents

一种物理机资源的处理方法和装置 Download PDF

Info

Publication number
CN107832143B
CN107832143B CN201710963296.0A CN201710963296A CN107832143B CN 107832143 B CN107832143 B CN 107832143B CN 201710963296 A CN201710963296 A CN 201710963296A CN 107832143 B CN107832143 B CN 107832143B
Authority
CN
China
Prior art keywords
resource pool
resource
container
created
resources
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710963296.0A
Other languages
English (en)
Other versions
CN107832143A (zh
Inventor
王华夏
刘海锋
鲍永成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201710963296.0A priority Critical patent/CN107832143B/zh
Publication of CN107832143A publication Critical patent/CN107832143A/zh
Application granted granted Critical
Publication of CN107832143B publication Critical patent/CN107832143B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种物理机资源的处理方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:根据待创建的虚拟机或容器的规格,在所述物理机资源的资源池集合中选择用于创建该虚拟机或容器的资源池,所述资源池集合中包括至少一种规格的资源池;利用所述选择的资源池创建所述虚拟机或容器。该实施方式能够提高资源使用率,且降低容器和虚拟机的创建失败率。

Description

一种物理机资源的处理方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种物理机资源的处理方法和装置。
背景技术
目前,在硬件虚拟化场景中,会在大量的物理机上频繁的进行容器或虚拟机的创建和删除,容器和虚拟机的创建和删除都涉及到物理机资源的选择和释放。传统的资源处理方法在创建容器或虚拟机时,会在收到创建容器或虚拟机的请求以后,从当前所有的物理机中随机选择一个硬件资源满足当前请求要求的物理机进行容器或虚拟机的创建。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:传统方法随机选择物理机进行容器和虚拟机的创建,会在物理机上产生大量碎片资源,例如,大部分业务容器或虚拟机对CPU核的要求都大于2个,因此,在业务容器或虚拟机被创建后,物理机上往往会剩余2个CPU核或1G内存的碎片资源得不到利用,资源使用率较低。并且传统的资源处理方法在容器执行删除以后,就认为被删除容器的资源是可用的,但是执行删除后,所删除容器的资源需要一定时间才能完全释放,如果马上在该物理机资源上创建新的容器会造成容器的创建失败,因此传统的物理机资源处理方法,容器和虚拟机的创建失败率较高。
因此,亟需一种能够提高资源使用率,且降低容器和虚拟机的创建失败率的物理机资源的处理方法和装置。
发明内容
有鉴于此,本发明实施例提供一种物理机资源的处理方法和装置,能够提高资源使用率,且降低容器和虚拟机的创建失败率。
为实现上述目的,根据本发明实施例的一个方面,提供了一种物理机资源的处理方法,包括:
根据待创建的虚拟机或容器的规格,在所述物理机资源的资源池集合中选择用于创建该虚拟机或容器的资源池,所述资源池集合中包括至少一种规格的资源池;
利用所述选择的资源池中创建所述虚拟机或容器。
进一步的,所述在资源池集合中选择用于创建虚拟机或容器的资源池的步骤包括:
在所述资源池集合中,按照规格由小到大的顺序,对每个资源池执行资源池选定步骤,直至确定所述用于创建虚拟机或容器的资源池,
所述资源池选定步骤包括:
判断当前资源池的规格是否大于或等于待创建的虚拟机或容器;
若是,则判断当前资源池是否为空;
若当前资源池不为空,则确定当前资源池为用于创建虚拟机或容器的资源池。
进一步的,每种规格的资源池包括至少一个所述规格的创建资源,所述资源池分为空闲区和老化区,所述创建所述虚拟机或容器的步骤包括:
若所述选择的资源池的空闲区不为空,则利用空闲区的创建资源构造所述虚拟机或容器,否则利用老化区的创建资源构造所述虚拟机或容器,
在构造所述虚拟机或容器之后,将所述创建资源从所述资源池中移除;
所述方法还包括:
当虚拟机或容器执行删除时,将该虚拟机或容器对应的创建资源加入所述老化区并开始计时;
当预定义的老化时长结束后,将该创建资源移至所述空闲区。
进一步的,本发明实施例提供的物理机资源的处理方法,还包括:
从第一资源池中取出一个创建资源,将该创建资源拆分为多个第二资源池的规格的创建资源然后加入该第二资源池。
进一步的,本发明实施例提供的物理机资源的处理方法,还包括:
从指定的多个资源池中取出创建资源,将取出的创建资源组合为一个第三资源池的规格的创建资源然后加入该第三资源池。
为实现上述目的,根据本发明实施例的另一个方面,提供了一种物理机资源的处理装置,包括:
选择模块,用于根据待创建的虚拟机或容器的规格,在所述物理机资源的资源池集合中选择用于创建该虚拟机或容器的资源池,所述资源池集合中包括至少一种规格的资源池;
创建模块,用于利用所述选择的资源池创建所述虚拟机或容器。
进一步的,所述选择模块进一步用于在所述资源池集合中,按照规格由小到大的顺序,对每个资源池执行资源池选定步骤,直至确定所述用于创建虚拟机或容器的资源池,
所述资源池选定步骤包括:
判断当前资源池的规格是否大于或等于待创建的虚拟机或容器;
若是,则判断当前资源池是否为空;
若当前资源池不为空,则确定当前资源池为用于创建虚拟机或容器的资源池。
进一步的,每种规格的资源池包括至少一个所述规格的创建资源,所述资源池分为空闲区和老化区,
所述创建模块进一步用于若所述选择的资源池的空闲区不为空,则利用空闲区的创建资源构造所述虚拟机或容器,否则利用老化区的创建资源构造所述虚拟机或容器,在构造所述虚拟机或容器之后,将所述创建资源从所述资源池中移除;
所述装置还包括:资源释放模块,用于当虚拟机或容器执行删除时,将该虚拟机或容器对应的创建资源加入所述老化区并开始计时,然后,当预定义的老化时长结束后,将该创建资源移至所述空闲区。
进一步的,本发明实施例提供的物理机资源的处理装置,还包括:
调度模块,用于从第一资源池中取出一个创建资源,将该创建资源拆分为多个第二资源池的规格的创建资源然后加入该第二资源池。
进一步的,所述调度模块还用于从指定的多个资源池中取出创建资源,将取出的创建资源组合为一个第三资源池的规格的创建资源然后加入该第三资源池。
为实现上述目的,根据本发明实施例的另一个方面,提供了一种物理机资源的处理电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例提供的物理机资源的处理方法。
为实现上述目的,根据本发明实施例的另一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例提供的物理机资源的处理方法。
本发明实施例提供的物理机资源的处理方法和装置,提出资源池的概念,将资源池中具有特定规格的创建资源作为创建虚拟机或容器的硬件资源集合,使得在需要创建虚拟机或容器时,可以从资源池集合中选择特定规格的资源池,利用其中的创建资源进行虚拟机或容器的创建,相对于现有技术随机分配资源的创建方式,本发明方法完全避免了资源碎片的产生,提高了物理机资源的使用率。本发明中,空闲区中有创建资源时,利用空闲区的创建资源创建虚拟机或容器,大幅降低虚拟机或容器的创建失败率,加快创建速度,当空闲区中没有创建资源时,可以选择老化区中的创建资源创建虚拟机或容器,从而在降低创建失败率的同时,保证资源池资源的可用率。并且本发明方法提供了在资源池之间对创建资源进行动态调度的调度机制保证了整个物理机集群中物理机资源的最优使用。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明实施例提供的物理机资源的处理方法的流程图;
图2是本发明实施例提供的对物理机资源进行划分的示意图;
图3是本发明实施例提供的选择资源池创建容器的流程示意图;
图4是本发明实施例提供的对资源池进行调度的示意图;
图5是本发明实施例提供的物理机资源的处理装置的结构示意图;
图6是本发明实施例可以应用于其中的示例性系统架构图;
图7是适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本发明实施例提供一种物理机资源的处理方法,如图1所示,该方法包括:利用物理机资源的资源池创建虚拟机或容器的步骤S101和步骤S102。在本发明中,所指容器是程序代码和其依赖关系在应用层的抽象。所指虚拟机是通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。本发明方法利用物理机资源的资源池进行上述虚拟机或容器的创建,其中,物理机资源可以是物理机集群的所有硬件资源的总和,也可以是一台物理机上的一部分硬件资源。
在本发明中,资源池集合中包括多种规格的资源池,资源池包括:一个或多个当前可用的具有相同规格的创建资源。即在一个资源池中所有的创建资源都是相同规格的,资源池的规格是以其包括的创建资源的规格来定义的。创建资源的规格体现该创建资源中包括的CPU核个数和内存容量。创建资源包括:CPU核和内存。
在本发明中,资源池集合即由一个或多个上述资源池组成,资源池集合包括物理机集群中可以用来创建虚拟机或容器的全部硬件资源。在资源池集合中,可以定义多种不同规格的资源池,以便于在创建不同规格需求的虚拟机或容器时,从资源池集合中选择所需规格的创建资源进行虚拟机或容器的创建。
在步骤S101中,根据待创建的虚拟机或容器的规格,在物理机资源的资源池集合中选择用于创建该虚拟机或容器的资源池。其中,具体的选择过程,在本发明的后续实施例中进行说明。然后,在步骤S102中,利用选择的资源池中的创建资源创建虚拟机或容器。被用来创建虚拟机或容器的创建资源将从资源池中移除。
本发明实施例提供的物理机资源的处理方法,提出资源池的概念,将资源池中具有特定规格的创建资源作为创建虚拟机或容器的硬件资源集合,使得在需要创建虚拟机或容器时,可以从资源池集合中选择特定规格的资源池,利用其中的创建资源进行虚拟机或容器的创建,相对于现有技术随机分配资源的创建方式,本发明方法完全避免了资源碎片的产生,提高了物理机资源的使用率。
由于容器和虚拟机在执行删除后,完全释放对应的资源需要一定的时间,因此,在本发明中,资源池内部分为两个资源区,分别为空闲区和老化区,空闲区用于存放被认定为空闲状态的创建资源,相对的,老化区用于存放被认定为正在释放的创建资源,相对应的,本发明提供的物理机资源的处理方法还包括利用资源池的空闲区和老化区进行的虚拟机或容器的删除过程:
当虚拟机或容器执行删除时,将该虚拟机或容器对应的创建资源加入老化区并开始计时,然后当预定义的老化时长结束后,将该创建资源移至空闲区。
在本发明中,当执行容器和虚拟机的删除时,将对应的创建资源加入资源池的老化区,该创建资源被认定为正在释放的创建资源在老化区中等待一段时间,即老化时长,由于删除容器和虚拟机时,资源的释放时间不是固定的,因此,可以取资源完全释放的平均时长作为老化时长。在老化时长结束后,就可以认定容器和虚拟机的删除已经结束,对应的创建资源完全释放,处于空闲状态,然后将对应的创建资源移至空闲区,可以随时用于容器和虚拟机的创建,利用空闲区的创建资源进行虚拟机或容器的创建就可以有效的避免由于在还没有被真正释放的资源上进行创建所造成的创建失败的情况发生。
由于现有的容器或虚拟机的创建方法是随机选取资源进行虚拟机或容器的创建,当选取到的资源正好是刚刚开始执行删除的资源,那么虚拟器或容器必须要等到该正在执行删除的资源完全释放以后,才能创建成功。而本发明提供的创建方法,在空闲区有创建资源的情况下,会优先选择空闲区的创建资源进行容器或虚拟机的创建,可以立刻创建成功,因此,相对于现有的创建方法,本发明提供的创建方法可以节约出等待资源释放的时间,从而加快容器或虚拟机的创建时间。
在本发明中,在资源池集合中选择用于创建虚拟机或容器的资源池的步骤S101包括:
在资源池集合中,按照规格由小到大的顺序,对每个资源池执行资源池选定步骤,直至确定用于创建虚拟机或容器的资源池。其中,资源池选定步骤具体包括:首先,判断当前执行资源池选定步骤的资源池的规格是否大于或等于待创建的虚拟机或容器,若否,则结束对当前资源池执行的资源池选定步骤,对资源池集合中,按照规格由小到大的排序的下一个资源池执行资源池选定步骤。若当前资源池的规格大于或等于待创建的虚拟机或容器,则判断当前资源池是否为空,若当前资源池不为空,则确定当前资源池为用于创建虚拟机或容器的资源池。若当前资源池为空,则结束对当前资源池执行的资源池选定步骤,对下一个资源池执行资源池选定步骤。
在选择资源池创建虚拟机或容器时,有两个选择的标准,一个是规格要大于等于待创建的虚拟机或容器,并且,优先选择规格等于待创建的虚拟机或容器的资源池;另一个是资源池不为空,即存在可用的创建资源。在资源池集合中,可以对应虚拟机或容器的创建需求设置相应规格的资源池,以便于在创建不同规格需求的虚拟机或容器时,从资源池集合中选择所需规格的创建资源进行虚拟机或容器的创建。例如,电商网站的交易系统中需要使用到8个CPU核和16G内存容量的硬件资源来创建容器,则可以在资源池集合中设置规格为8个CPU核和16G内存容量的资源池,该资源池中的创建资源即8个CPU核和16G内存容量,在创建上述容器时,即可在资源池集合中选择8个CPU核和16G内存容量规格的资源池作为用于创建该容器的资源池。
若资源池集合中不存在与待创建的虚拟机或容器规格相同且不为空的资源池,则选择大于待创建的虚拟机或容器的规格且不为空的资源池中规格最小的资源池作为创建虚拟机或容器的资源池,以在确保虚拟机或容器能够被创建的同时,提高资源池的利用率。
在本发明中,创建虚拟机或容器的步骤S102包括:若选择的资源池的空闲区不为空,即存在创建资源,则利用空闲区的创建资源构造虚拟机或容器,否则利用老化区的创建资源构造虚拟机或容器。
相对应的,本发明提供的资源池选定步骤中,在判断当前资源池是否为空时,首先判断当前资源池的空闲区是否为空,若不为空,则在步骤102中,利用空闲区的创建资源构造虚拟机或容器。若当前资源池的空闲区为空,则进一步判断老化区是否为空,若老化区不为空,则在步骤102中,利用老化区的创建资源构造虚拟机或容器。若空闲区和老化区都为空,即表明当前资源池为空。
在本发明中,用于创建虚拟机或容器的创建资源可以是空闲区中被认定为空闲状态的资源,或者是老化区中正等待老化时长的被认定为正在释放的资源。由于老化时长体现的是资源释放的平均时长,因此,在老化时长结束前,某资源可能已经完全释放,此时该资源虽然位于老化区,但是该资源实际处于空闲状态,该资源可以正常使用进行虚拟机或容器的创建,不会创建失败,所以在本发明中,空闲区中有创建资源时,利用空闲区的创建资源创建虚拟机或容器,大幅降低虚拟机或容器的创建失败率,当空闲区中没有创建资源时,可以选择老化区中的创建资源创建虚拟机或容器,从而在降低创建失败率的同时,保证资源池资源的可用率。
本发明实施例还提供资源池的创建过程,该过程包括:对物理机集群中的每一个物理机分别执行下述资源划分步骤:
首先,根据预定义的创建资源的规格种类,和当前物理机的所有可用CPU核数量和内存容量,确定每种规格的创建资源的数量。定义创建资源的规格种类即确定需要多少种规格的创建资源,以及每种创建资源中所需要的硬件资源。进而也就确定了,资源池集合中需要哪些规格的资源池。然后,对当前物理机的所有可用CPU核和内存进行拆分,获得相应数量的各规格创建资源,将该相应数量的创建资源放入对应规格的资源池中。经过该资源划分步骤后,当前物理机的所有可用CPU核和内存都分配到了资源池中。当物理机集群中新加入了物理机,也通过上述资源划分步骤把新加入的物理机的资源分配到各资源池的创建资源中。
在本发明实施例中,在上述资源划分步骤中,确定每种规格的创建资源的数量的步骤包括:
通过下述方程组计算每种规格的创建资源的数量:
X1×F1c+X2×F2c+……+Xn×Fnc=M
X1×F1r+X2×F2r+……+Xn×Fnr=N
其中,M为当前物理机的所有CPU核数量,N为当前物理机的所有内存容量,n为创建资源的规格种类数,Fnc为第n种规格的创建资源的CPU核数量,Fnr为第n种规格的创建资源的内存容量,Xn为第n种规格的创建资源的数量,Xn为整数,n大于或等于2。
上述方程组的未知数为X1、X2…Xn,即每种规格的创建资源的数量。上述方程组可能有多个解或者无解。当方程组没有解时,求数值解作为最终解,保证物理机资源被最大程度利用。当方程组有多个解时,通过下述公式计算每个解的优先级阈值:
Threshold=Max(S1×X1+S2×X2+……+Sn×Xn),
其中,Sn为第n种规格的创建资源的优先级,Threshold为优先级阈值。选择优先级阈值最高的解作为每种规格的创建资源的数量。各规格的创建资源的优先级S1、S2…Sn根据实际的应用情况确定。在一具体的实施方式中,优先级最高为10,最低为1,例如,在电商网站的那么交易系统中使用最多的是8C16G(8个CPU核和16G内存容量)的规格的资源,则该8C16G规格的优先级设置为10。
本发明实施例还提供为待调度的资源池调度创建资源的调度方法,该调度方法分为两种调度方式,一种为从第一资源池中取出一个创建资源,将该创建资源拆分为多个第二资源池的规格的创建资源然后加入该第二资源池,第二资源池即待调度的资源池。该调度方式将大规格的资源池的创建资源调度到小规格资源池,将大规格的创建资源拆分成小规格的创建资源。
另一种调度方式为从指定的多个资源池中取出创建资源,将取出的创建资源组合为一个第三资源池的规格的创建资源然后加入该第三资源池,第三资源池即待调度的资源池。该调度方式将多个小规格的资源池的创建资源调度到大规格资源池,将多个小规格的创建资源组合成大规格的创建资源
本发明方法通过上述调度方法在资源池之间对创建资源进行动态调度,保证了整个物理机集群中物理机资源的最优使用。
下面结合一具体实施方式,对本发明提供的物理机资源的处理方法进行更详细的说明。
在本实施方式中,资源池集合中,资源池集合包括三个资源池,规格分别为4C8G(4个CPU核和8G内存容量)、8C16G和16C32G。如果还需要其他更大规格的资源池,可以将2C4G作为最小粒度按照倍数来增长。
如图2所示,在本实施方式中的资源池的创建过程中,将物理机集群中的一个物理机的32C64G的硬件资源划分为2个4C8G、1个8C16G和1个16C32G的创建资源,划分完以后的创建资源分别放入对应规格资源池的空闲区中。
如图3所示,在本实施方式中创建容器的过程具体为:按照规格由小到大的顺序,遍历资源池集合,逐一对其中的每个资源池执行资源池选定步骤:首先,判断当前资源池的规格是否大于或等于待创建的容器,若有资源池的规格大于等于待创建容器,则对其进行后续的空闲区是否为空的判断,若空闲区不为空,则分配空闲区创建资源进行容器创建,若空闲区为空,则进行老化区是否为空的判断,若老化区不为空,则分配老化区创建资源进行容器创建。
若当前资源池的规格小于待创建的容器,或者其空闲区和老化区都为空,则结束当前资源池选定步骤,对排序中的下一个规格稍大的资源池进行资源池选定步骤,以确保最终选点的创建容器的资源池是资源池集合中可用且规格最小的。
在本实施方式中,资源池之间资源的动态调度在两种情况下进行。第一,当资源池集合中的某个规格的资源池中创建资源为空时,需要对其他资源池创建资源进行重新的组合和拆分,保证所有的资源池不为空。第二,当资源池中创建资源分布极度不合理的时候,可以通过手动调整的方式来调整各种规格创建资源的占比。
如图4所示,在本实施方式中,通过拆分的方式将大规格资源池的创建资源调度到小规格资源池。当4C8G的资源池为空时,通过调度选取8C16G资源池中的资源,通过拆分来补充4C8G的创建资源。选取8C16G资源池中空闲区内的8C16G创建资源作为调度资源使用,调度后,8C16G资源池中减少一个可用资源,在4C8G资源池的空闲区增加两个可用的4C8G创建资源。
本发明实施例提供的物理机资源的处理方法,提出资源池的概念,将资源池中具有特定规格的创建资源作为创建虚拟机或容器的硬件资源集合,使得在需要创建虚拟机或容器时,可以从资源池集合中选择特定规格的资源池,利用其中的创建资源进行虚拟机或容器的创建,相对于现有技术随机分配资源的创建方式,本发明方法完全避免了资源碎片的产生,提高了物理机资源的使用率。本发明中,空闲区中有创建资源时,利用空闲区的创建资源创建虚拟机或容器,大幅降低虚拟机或容器的创建失败率,缩短创建时间,当空闲区中没有创建资源时,可以选择老化区中的创建资源创建虚拟机或容器,从而在降低创建失败率的同时,保证资源池资源的可用率。并且本发明方法提供了在资源池之间对创建资源进行动态调度的调度机制保证了整个物理机集群中物理机资源的最优使用。
本发明实施例还提供一种物理机资源的处理装置,如图5所示,物理机资源的处理装置500包括:选择模块501和创建模块502。
选择模块501用于根据待创建的虚拟机或容器的规格,在物理机资源的资源池集合中选择用于创建该虚拟机或容器的资源池,资源池集合中包括至少一种规格的资源池,每种规格的资源池包括至少一个规格的创建资源。
创建模块502用于利用选择的资源池中的创建资源创建虚拟机或容器。
在本发明中,创建资源为用于创建一个虚拟机或容器的硬件资源集合。
选择模块进一步用于在资源池集合中,按照规格由小到大的顺序,对每个资源池执行资源池选定步骤,直至确定用于创建虚拟机或容器的资源池,资源池选定步骤包括:
判断当前资源池的规格是否大于或等于待创建的虚拟机或容器。
若是,则判断当前资源池是否为空。
若当前资源池不为空,则确定当前资源池为用于创建虚拟机或容器的资源池。
在本发明中,创建模块进一步用于若选择的资源池的空闲区不为空,则利用空闲区的创建资源构造虚拟机或容器,否则利用老化区的创建资源构造虚拟机或容器,在构造虚拟机或容器之后,将创建资源从资源池中移除。
本发明实施例提供的物理机资源的处理装置还包括:资源释放模块,资源释放模块用于当虚拟机或容器执行删除时,将该虚拟机或容器对应的创建资源加入老化区并开始计时,然后,当预定义的老化时长结束后,将该创建资源移至空闲区。
本发明实施例提供的物理机资源的处理装置还包括:调度模块,调度模块用于从第一资源池中取出一个创建资源,将该创建资源拆分为多个第二资源池的规格的创建资源然后加入该第二资源池。
在本发明中,调度模块还用于从指定的多个资源池中取出创建资源,将取出的创建资源组合为一个第三资源池的规格的创建资源然后加入该第三资源池。
本发明实施例提供的物理机资源的处理装置还包括:资源池集合创建模块,用于通过下述过程创建资源池集合:
对物理机集群中的每一个物理机分别执行下述资源划分步骤:
根据预定义的创建资源的规格种类,和当前物理机的所有可用CPU核数量和内存容量,确定每种规格的创建资源的数量。
把当前物理机的所有可用CPU核和内存拆分为相应数量的各规格创建资源,将该相应数量的创建资源放入对应规格的资源池中。
在本发明中,资源池集合创建模块进一步用于通过下述方程组计算每种规格的创建资源的数量:
通过下述方程组计算每种规格的创建资源的数量:
X1×F1c+X2×F2c+……+Xn×Fnc=M
X1×F1r+X2×F2r+……+Xn×Fnr=N
其中,M为当前物理机的所有CPU核数量,N为当前物理机的所有内存容量,n为创建资源的规格种类数,Fnc为第n种规格的创建资源的CPU核数量,Fnr为第n种规格的创建资源的内存容量,Xn为第n种规格的创建资源的数量,Xn为整数,n大于或等于2。
上述方程组的未知数为X1、X2…Xn,即每种规格的创建资源的数量。上述方程组可能有多个解或者无解。当方程组没有解时,求数值解作为最终解,保证物理机资源被最大程度利用。当方程组有多个解时,通过下述公式计算每个解的优先级阈值:
Threshold=Max(S1×X1+S2×X2+……+Sn×Xn),
其中,Sn为第n种规格的创建资源的优先级,Threshold为优先级阈值。选择优先级阈值最高的解作为每种规格的创建资源的数量。各规格的创建资源的优先级S1、S2…Sn根据实际的应用情况确定。在一具体的实施方式中,优先级最高为10,最低为1,例如,在电商网站的那么交易系统中使用最多的是8C16G(8个CPU核和16G内存容量)的规格的资源,则该8C16G规格的优先级设置为10。
本发明实施例提供的物理机资源的处理装置,提出资源池的概念,将资源池中具有特定规格的创建资源作为创建虚拟机或容器的硬件资源集合,使得在需要创建虚拟机或容器时,可以从资源池集合中选择特定规格的资源池,利用其中的创建资源进行虚拟机或容器的创建,相对于现有技术随机分配资源的创建方式,本发明装置完全避免了资源碎片的产生,提高了物理机资源的使用率。本发明中,空闲区中有创建资源时,利用空闲区的创建资源创建虚拟机或容器,大幅降低虚拟机或容器的创建失败率,缩短创建时间,当空闲区中没有创建资源时,可以选择老化区中的创建资源创建虚拟机或容器,从而在降低创建失败率的同时,保证资源池资源的可用率。并且本发明装置提供了在资源池之间对创建资源进行动态调度的调度机制保证了整个物理机集群中物理机资源的最优使用。
图6示出了可以应用本发明实施例的物理机资源的处理方法和装置的示例性系统架构600。
如图6所示,系统架构600可以包括终端设备601、602、603,网络604和服务器605。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。
终端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器605可以是提供各种服务的服务器,例如利用物理机资源创建虚拟机或容器的服务器。该服务器可以利用物理机资源的资源池创建或删除虚拟机或容器,并且可以在不同的资源池之间进行物理机资源的调度。
需要说明的是,本发明实施例所提供的物理机资源的处理方法一般由服务器605执行,相应地,物理机资源的处理装置一般设置于服务器605中。
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图7,其示出了适于用来实现本发明实施例的电子设备的计算机系统700的结构示意图。图7示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU核)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统X00操作所需的各种程序和数据。CPU核701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分707;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU核)701执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括选择模块、资源池集合创建模块、调度模块、资源释放模块和创建模块。其中,这些模块的名称在某种情况下并不构成对该单元本身的限定,例如,资源释放模块还可以被描述为“将该虚拟机或容器对应的创建资源加入所述老化区并开始计时的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
根据待创建的虚拟机或容器的规格,在物理机资源的资源池集合中选择用于创建该虚拟机或容器的资源池,资源池集合中包括至少一种规格的资源池。
利用选择的资源池创建虚拟机或容器。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种物理机资源的处理方法,其特征在于,包括:
根据待创建的虚拟机或容器的规格,在所述物理机资源的资源池集合中选择用于创建该虚拟机或容器的资源池,所述资源池集合中包括至少一种规格的资源池;
利用所述选择的资源池创建所述虚拟机或容器;
其中,每种规格的资源池包括至少一个所述规格的创建资源,所述资源池分为空闲区和老化区;所述创建所述虚拟机或容器的步骤包括:
若所述选择的资源池的空闲区不为空,则利用空闲区的创建资源构造所述虚拟机或容器,否则利用老化区的创建资源构造所述虚拟机或容器,
在构造所述虚拟机或容器之后,将所述创建资源从所述资源池中移除;
所述方法还包括:
当虚拟机或容器执行删除时,将该虚拟机或容器对应的创建资源加入所述老化区并开始计时;
当预定义的老化时长结束后,将该创建资源移至所述空闲区。
2.根据权利要求1所述的方法,其特征在于,所述在资源池集合中选择用于创建虚拟机或容器的资源池的步骤包括:
在所述资源池集合中,按照规格由小到大的顺序,对每个资源池执行资源池选定步骤,直至确定所述用于创建虚拟机或容器的资源池,
所述资源池选定步骤包括:
判断当前资源池的规格是否大于或等于待创建的虚拟机或容器;
若是,则判断当前资源池是否为空;
若当前资源池不为空,则确定当前资源池为用于创建虚拟机或容器的资源池。
3.根据权利要求1至2中任一项所述的方法,其特征在于,还包括:
从第一资源池中取出一个创建资源,将该创建资源拆分为多个第二资源池的规格的创建资源然后加入该第二资源池。
4.根据权利要求3所述的方法,其特征在于,还包括:
从指定的多个资源池中取出创建资源,将取出的创建资源组合为一个第三资源池的规格的创建资源然后加入该第三资源池。
5.一种物理机资源的处理装置,其特征在于,包括:
选择模块,用于根据待创建的虚拟机或容器的规格,在所述物理机资源的资源池集合中选择用于创建该虚拟机或容器的资源池,所述资源池集合中包括至少一种规格的资源池;
创建模块,用于利用所述选择的资源池创建所述虚拟机或容器;
其中,每种规格的资源池包括至少一个所述规格的创建资源,所述资源池分为空闲区和老化区,
所述创建模块进一步用于若所述选择的资源池的空闲区不为空,则利用空闲区的创建资源构造所述虚拟机或容器,否则利用老化区的创建资源构造所述虚拟机或容器,在构造所述虚拟机或容器之后,将所述创建资源从所述资源池中移除;
所述装置还包括:资源释放模块,用于当虚拟机或容器执行删除时,将该虚拟机或容器对应的创建资源加入所述老化区并开始计时,然后,当预定义的老化时长结束后,将该创建资源移至所述空闲区。
6.根据权利要求5所述的装置,其特征在于,所述选择模块进一步用于在所述资源池集合中,按照规格由小到大的顺序,对每个资源池执行资源池选定步骤,直至确定所述用于创建虚拟机或容器的资源池,
所述资源池选定步骤包括:
判断当前资源池的规格是否大于或等于待创建的虚拟机或容器;
若是,则判断当前资源池是否为空;
若当前资源池不为空,则确定当前资源池为用于创建虚拟机或容器的资源池。
7.根据权利要求5至6中任一项所述的装置,其特征在于,还包括:
调度模块,用于从第一资源池中取出一个创建资源,将该创建资源拆分为多个第二资源池的规格的创建资源然后加入该第二资源池。
8.根据权利要求7所述的装置,其特征在于,所述调度模块还用于从指定的多个资源池中取出创建资源,将取出的创建资源组合为一个第三资源池的规格的创建资源然后加入该第三资源池。
9.一种物理机资源的处理电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-4中任一所述的方法。
CN201710963296.0A 2017-10-17 2017-10-17 一种物理机资源的处理方法和装置 Active CN107832143B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710963296.0A CN107832143B (zh) 2017-10-17 2017-10-17 一种物理机资源的处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710963296.0A CN107832143B (zh) 2017-10-17 2017-10-17 一种物理机资源的处理方法和装置

Publications (2)

Publication Number Publication Date
CN107832143A CN107832143A (zh) 2018-03-23
CN107832143B true CN107832143B (zh) 2020-11-03

Family

ID=61648023

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710963296.0A Active CN107832143B (zh) 2017-10-17 2017-10-17 一种物理机资源的处理方法和装置

Country Status (1)

Country Link
CN (1) CN107832143B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032788B (zh) * 2018-06-29 2019-09-20 北京百度网讯科技有限公司 预留资源池动态调度方法、装置、计算机设备及存储介质
CN111124660B (zh) * 2018-11-01 2024-01-05 百度在线网络技术(北京)有限公司 虚拟机中闲置资源的分配方法和装置
CN112015541A (zh) * 2019-05-28 2020-12-01 中移(苏州)软件技术有限公司 一种信息处理方法、装置及存储介质
CN112019453B (zh) * 2019-05-29 2024-06-21 潘仲光 资源重分配方法、设备及存储介质
CN111209118A (zh) * 2020-01-14 2020-05-29 北京三快在线科技有限公司 确定资源余量的方法、装置、存储介质和电子设备
CN113849259A (zh) * 2020-06-28 2021-12-28 华为技术有限公司 一种虚拟机和容器混合调度系统、方法、调度器及装置
CN113849273B (zh) * 2021-09-26 2024-06-28 北京百度网讯科技有限公司 接入处理的方法、设备、存储介质及程序产品
CN114691360A (zh) * 2022-03-21 2022-07-01 北京有竹居网络技术有限公司 一种资源调度方法及其相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760209A (zh) * 2014-12-16 2016-07-13 华为技术有限公司 移除虚拟机的方法、装置与自动弹性群组
CN106020933A (zh) * 2016-05-19 2016-10-12 山东大学 基于超轻量虚拟机的云计算动态资源调度系统及方法
CN106648837A (zh) * 2016-12-30 2017-05-10 携程旅游网络技术(上海)有限公司 虚拟机生命周期管理系统及其管理方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5212360B2 (ja) * 2007-03-19 2013-06-19 富士通株式会社 制御プログラム、制御システムおよび制御方法
JP5218985B2 (ja) * 2009-05-25 2013-06-26 株式会社日立製作所 メモリ管理方法計算機システム及びプログラム
CN102141931B (zh) * 2011-03-15 2014-06-11 华为技术有限公司 一种创建虚拟机的方法、虚拟机监控器及虚拟机系统
CN106919435A (zh) * 2015-12-25 2017-07-04 华为技术有限公司 虚拟机的创建方法、资源的管理方法及装置
CN105843670B (zh) * 2016-03-22 2019-01-04 浙江大学 一种云平台虚拟集群部署整合方法
CN107038064B (zh) * 2017-04-18 2021-12-10 腾讯科技(深圳)有限公司 虚拟机管理方法及装置、存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760209A (zh) * 2014-12-16 2016-07-13 华为技术有限公司 移除虚拟机的方法、装置与自动弹性群组
CN106020933A (zh) * 2016-05-19 2016-10-12 山东大学 基于超轻量虚拟机的云计算动态资源调度系统及方法
CN106648837A (zh) * 2016-12-30 2017-05-10 携程旅游网络技术(上海)有限公司 虚拟机生命周期管理系统及其管理方法

Also Published As

Publication number Publication date
CN107832143A (zh) 2018-03-23

Similar Documents

Publication Publication Date Title
CN107832143B (zh) 一种物理机资源的处理方法和装置
JP7112919B2 (ja) スマート装置のタスク処理方法および装置
US10572285B2 (en) Method and apparatus for elastically scaling virtual machine cluster
CN109408205B (zh) 基于hadoop集群的任务调度方法和装置
US11507419B2 (en) Method,electronic device and computer program product for scheduling computer resources in a task processing environment
CN109032796B (zh) 一种数据处理方法和装置
CN112905342B (zh) 资源调度方法、装置、设备及计算机可读存储介质
CN110166507B (zh) 多资源调度方法和装置
CN112749002A (zh) 一种集群资源动态管理的方法和装置
CN111190719B (zh) 优化集群资源分配的方法、装置、介质及电子设备
CN113722056A (zh) 任务调度方法、装置、电子设备和计算机可读介质
CN111580974B (zh) Gpu实例分配方法、装置、电子设备和计算机可读介质
CN114968567A (zh) 用于分配计算节点的计算资源的方法、装置和介质
CN114116173A (zh) 动态调整任务分配的方法、装置和系统
CN112104679A (zh) 处理超文本传输协议请求的方法、装置、设备和介质
CN110716809B (zh) 用于调度云资源的方法和装置
CN107634978B (zh) 一种资源调度方法及装置
CN111694670A (zh) 资源分配方法、装置、设备和计算机可读介质
CN112559179A (zh) 一种作业处理方法和装置
CN114579187B (zh) 一种指令分配方法、装置、电子设备及可读存储介质
CN116821187A (zh) 基于数据库的数据处理方法、装置、介质和电子设备
CN108683608B (zh) 分配流量的方法和装置
CN112486638A (zh) 用于执行处理任务的方法、装置、设备和存储介质
CN112156453B (zh) 实例自适应调整方法、装置、计算机可读存储介质及设备
CN114640681A (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