CN109558214A - 异构环境下宿主机资源管理方法、装置和存储介质 - Google Patents
异构环境下宿主机资源管理方法、装置和存储介质 Download PDFInfo
- Publication number
- CN109558214A CN109558214A CN201811481913.4A CN201811481913A CN109558214A CN 109558214 A CN109558214 A CN 109558214A CN 201811481913 A CN201811481913 A CN 201811481913A CN 109558214 A CN109558214 A CN 109558214A
- Authority
- CN
- China
- Prior art keywords
- host
- machine
- scoring
- score value
- cluster
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
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)
- Computer And Data Communications (AREA)
Abstract
本发明公开了异构环境下宿主机资源管理方法、装置和存储介质,涉及云技术领域。本发明实施例中。采用对宿主机进行分组,并对各分组并行的进行过滤和评分操作,之后从每个分组中选出评分较高的多个宿主机,然后采用多路归并的方法为每个虚拟机选出全局最优的宿主机作为目标宿主机。并行评分结合多路归并能够有效减少选择宿主机的耗时,提高处理效率。此外,选出的宿主机为全局最优而非局部最优的,使得选出的宿主机更加合理。
Description
技术领域
本发明涉及云技术领域,尤其涉及异构环境下宿主机资源管理方法、装置和存储介质。
背景技术
虚拟机依附于宿主机创建,同一宿主机可以创建一个或多个虚拟机。虚拟机就像真正的计算机那样进行工作。
随着技术的发展,通常由云平台管理宿主机集群,该管理包括根据用户输入的配置需求创建虚拟机;根据调度需求修改虚拟机。该调度需求例如可以包括删除指定虚拟机、迁移虚拟机等等。
在创建虚拟机时,现有技术需要确定目标宿主机创建虚拟机。如果有多个虚拟机创建需求(例如同一用户的配置需求中要求创建M个虚拟机,则会生成M个虚拟机创建需求)那么针对每个需要创建的虚拟机,都需要根据预先设定的过滤规则和评分规则对虚拟机集群中的虚拟机进行过滤后进行评分,所以过滤和评分操作需要针对每个要创建的虚拟机创建需求重复执行一次,导致虚拟机的创建比较耗时。此外,在重复过滤和评分后,针对各个虚拟机创建需求为了使得同一宿主机上尽可能不要创建同一用户的多个虚拟机,通常需要针对每个创建需求生成一个随机因子,根据随机因子调整宿主机评分。这样,调整后的宿主机评分将不是全局真实的评分,导致选择的目标宿主机很可能不是全局最优的宿主机。
发明内容
本发明实施例提供一种终端用户的使用异构环境下宿主机资源管理方法、装置和存储介质,用于解决现有技术中使用数据的统计信息使用率低,导致统计这些信息使用的处理资源利用率低等的问题。
第一方面,本发明实施例提供一种终端用户的使用异构环境下宿主机资源管理方法,该方法包括:
接收虚拟机配置需求;
根据所述配置需求,确定需要创建的虚拟机数量M,M为正整数;
将宿主机集群进行分组,并根据所述配置需求对各分组内的宿主机进行过滤和评分;
从每个分组内获取评分从大到小的顺序排在前N个的宿主机;
根据多路归并方法,从所有分组的前N个宿主机组成的宿主机集群中选取评分排序靠前的M个的宿主机作为目标宿主机;
在目标宿主机上创建虚拟机。
第二方面,本发明实施例提供一种终端用户的使用异构环境下宿主机资源管理装置,所述装置包括:
接收模块,用于接收虚拟机配置需求;
虚拟机数量确定模块,用于根据所述配置需求,确定需要创建的虚拟机数量M,M为正整数;
同步处理模块,用于将宿主机集群进行分组,并根据所述配置需求对各分组内的宿主机进行过滤和评分;从每个分组内获取评分从大到小的顺序排在前N个的宿主机;
归并模块,用于根据多路归并方法,从所有分组的前N个宿主机组成的宿主机集群中选取评分排序靠前的M个宿主机作为目标宿主机;
创建模块,用于在目标宿主机上创建虚拟机。
本发明另一实施例还提供了一种计算装置,包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明实施例提供的任一异构环境下宿主机资源管理方法。
本发明另一实施例还提供了一种计算机存储介质,其中,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行本发明实施例中的任一异构环境下宿主机资源管理方法。
本发明实施例中,采用对宿主机进行分组,并对各分组并行的进行过滤和评分操作,之后从每个分组中选出评分较高的多个宿主机,然后采用多路归并的方法为每个虚拟机选出全局最优的宿主机作为目标宿主机。并行结合多路归并能够有效减少选择宿主机的耗时,提高处理效率。选出的宿主机为全局最优而非局部最优的,使得选出的宿主机更加合理。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例中宿主机的结构示意图;
图2为本发明实施例中的云计算系统的架构示意图;
图3为本发明实施例中的云计算系统中的控制设备的结构示意图;
图4为本发明实施例中的异构环境下宿主机资源管理方法的流程示意图之一;
图5为本发明实施例中的异构环境下宿主机资源管理方法的流程示意图之二;
图6为本发明实施例中的异构环境下宿主机资源管理方法的流程示意图之三;
图7为本现有技术中的处理资源调度请求的架构示意图;
图8为现有技术中的各进程对其分组进行处理的示意图;
图9为本发明实施例中的各进程对其分组进行处理的示意图;
图10为本发明实施例中异构环境下宿主机资源管理方法的流程示意图之四;
图11为本发明实施例中对资源调度请求进行处理的架构图;
图12为本发明实施例中异构环境下宿主机资源管理装置的结构示意图;
图13为根据本发明实施方式的计算装置的结构示意图。
具体实施方式
为了便于提高目标宿主机的选择效率且使得选择的目标宿主机尽可能全局最优,本发明实施例中提供一种终端用户的使用异构环境下宿主机资源管理方法、装置和存储介质。为了更好的理解本发明实施例提供的技术方案,这里对该方案涉及的一些背景做简单说明:
图1为本发明实施例中宿主机的一结构示意图。
如图1所示的宿主机包括虚拟机(Virtal Machine,VM)和硬件层,硬件层可以为每个虚拟机提供硬件资源。
虚拟机:通过虚拟软件可以在一台宿主机上模拟出一台或者多台虚拟的计算机,而这些虚拟机就像真正的计算机那样进行工作,虚拟机上可以安装操作系统和应用程序,虚拟机还可以访问网络资源。对于在虚拟机中运行的应用程序而言,虚拟机就像是在真正的计算机中进行工作。
硬件层:虚拟化环境运行的硬件平台。其中,硬件层可包括多种硬件,例如某计算节点的硬件层可包括处理器(如CPU)和内存,还可以包括网卡、存储器等高速或低速输入/输出(I/O,Input/Output)设备,及特定处理功能的其它设备,如输出输入内存管理单元(IOMMU,Input/Ouput Memory Management Unit),其中IOMMU可用于虚拟机物理地址和Host物理地址的转换。
随着云计算的不断发展,宿主机和虚拟机都出现了明显的异结构化趋势。异构网络环境(Heterogeneous Network Environments)是指有不同制作商生产的计算机和系统组成的网路环境。由于云计算系统往往具有维护周期长、集群规模大等特征,需要逐批采购大量宿主机,导致主机在软硬件方面存在诸多不同,例如,是否支持私有网络(VirtnalPriivate Cloud)、是否支持云盘、是否支持固态硬盘(Solid State Drives,SSD)、具有不同中央处理器(Central Processing Unit,CPU)类型具有不同的虚拟化方式(例如:KVM或者Xen)及管理程序(Hypervisor)等。同时,虚拟机中运行着多种多样的应用程序。由于应用程序自身功能和特性不同,虚拟机对于宿主机的网络、存储、CPU、虚拟化方式的需求也有诸多不同。这样就出现了一个问题,不是所有的宿主机都可以支持创建的虚拟机,所以需要确定适合的宿主机来创建虚拟机。
图2为本发明实施例中云计算系统的一应用场景示意图。
如图2所示,云计算系统包括控制设备10、网络20和多台宿主机30,控制设备10和多台宿主机30通过网络20通信连接,控制设备10上可以存储每台宿主机的属性信息,也可以是云计算系统中还包括数据库40,由数据库40存储每台宿主机的属性信息。
宿主机在进入云计算系统时,需要经过宿主机导入流程,进行必要的初始化,宿主机会向控制设备10上报其属性信息,控制设备10可以将宿主机的属性信息存储在自身,也可以存储在外挂的数据库40。当选定宿主机创建虚拟机后,需要对数据库40中的宿主机扣减资源(如在可用存储资源中扣减存储资源、在可用处理资源中扣减处理资源等等),扣减后,需要更新数据库中的宿主机的信息。
宿主机的属性信息例如包括但不限于表1所示的内容。
表1.宿主机主要属性表
字段 | 说明 |
uuid | 宿主机标识号 |
deviceId | 设备号 |
ip | IP地址 |
type | 机型 |
Zoneld | 操作系统名称 |
kernelVersion | 内核版本 |
cpuModel | CPU型号 |
Hypervisor | 虚拟化方式(管理程序) |
zoneld | 逻辑区编号 |
idcld | 互联网数据中心编号 |
rackId | 机架编号 |
innerSwitch | 交换机 |
flag | 宿主机状态 |
cbsFlag | 是否支持云盘 |
ssdFlag | 是否支持ssd |
netVersion | 网络版本 |
soldPool | 售卖池 |
cpuType | CPU类型,例如NUMAO1 |
cpuAvailable | 可用CPU资源 |
nodeQuota | CPU节点资源配额 |
memAvailable | 可用内存资源 |
diskAvailable | 可用磁盘资源 |
以上表1所示出的只是宿主机的一些主要的属性信息,其他未列出的归属于宿主机的信息,都可以认为是宿主机的属性信息,本发明对此并不限定。
计算云系统中的控制设备还可以参阅图3进行理解,如图3所示,控制设备包括应用接口(API)、消息队列、调度器和其他组件,其中调度器和其他组件都可以有多个。图3所示的控制设备中还包括存储设备,该存储设备用于存储全局资源数据,全局资源数据可以包括表1所示的宿主机的属性信息以及宿主上各项资源的剩余量等。
其中,API:控制设各的接入模块,所有前台设备通过API组件与控制设备交互。API组件负责对虚拟机创建请求的请求包进行参数校验,并对请求进行路出,分发给系统中其他组件。对于异步任务,API组件会将请求包分发给消息队列组件。
逍息队列:对于异步任务,消息会在消息队列中进行流转,各个组件具有生产者或者消费者的身份,生产者向消息队列中发送消息,消费者从消息队列中接收消息。
调度器(即worker):worker负责为虚拟机选择合适的宿主机。从具体流程来看,worker主要完成以下几件工作:
worker作为消费者从消息队列中接收读取虚拟机的消息;
根据虚拟机自身需求和宿主机的属性信息为虚拟机选择合适的宿主机;
选择宿主机后,尝试修改全局资源数据,修改失败则选择其他候选宿主机重新修改资源数据,直至修改成功或者全部失败:
将所选的宿主机信息汇总到己有消息中,并将消息发送到消息队列中,消息向后续步骤流转。
下面结合图2的应用场景示意图,对本发明中的实施方案做简单说明。本发明实施例中,控制设备10评分时将管理的宿主机集群进行分组,各组交由不同的进程同时进行评分。这样,相比现有技术中顺序的为每个宿主机进行评分可以减少评分所占用的时间。评分后,从各进程中取出评分较高的前N个宿主机。每个进程中选取出N个宿主机,最终从多个进程选取的宿主机的数量多于需要创建的宿主机数量M。为了能够为每个虚拟机找到全局最优的宿主机,本发明实施例中采用多路归并方法从各进程的前N个宿主机中选取出评分前M的宿主机作为目标宿主机。这样,M个目标宿主机是基于实际的评分选择的,且是全局最优的。
综上,本发明中,采用并行评分可以减少评分所占用的时间,采用多路归并能够选取出全局最优的目标宿主机。
下面结合附图对本发明实施例提供的一种异构环境下宿主机资源管理方法做进一步说明。
如图4所示,为本发明实施例中提供的异构环境下宿主机资源管理方法的流程示意图,该方法包括以下步骤:
步骤401:接收虚拟机配置需求;
步骤402:根据所述配置需求,确定需要创建的虚拟机数量M,M为正整数;
步骤403:将管理的宿主机集群进行分组,并根据所述配置需求同时对各分组内的宿主机进行过滤和评分。
其中,采用并行的方式,根据所述配置需求同时对各分组内的宿主机进行过滤和评分;如前所述,评分越高越适用于作为目标宿主机。
当然,如前所述可以启动多个进程,在每个进程中对相应的组内的宿主机进行评分。其中,过滤的方法可以根据预先设置的过滤规则而定。例如,根据表1过滤掉属性不满足要求属性的宿主机。或者,根据持的业务将宿主机划分为不同的池,不同池中包括多个宿主机,不同池支撑不同的业务。具体实施时,可以根据用户的实际需求确定过滤规则,这里不做赘述。
步骤404:从每个分组内获取评分从大到小的顺序排在前N个的宿主机;
步骤405:根据多路归并方法,从所有分组的前N个宿主机组成的宿主机集群中选取评分排序靠前的M个的宿主机作为目标宿主机;
步骤406:在目标宿主机上创建虚拟机。
假设宿主机集群的分组数(也即用于评分的进程数)为K时,步骤403-404的耗时为O(N/K),N为宿主机集群中宿主机的数量。由此可见,K取值对选取目标宿主机的整体时间复杂度影响很大。K取值越大,步骤403-404耗时越低,但步骤406的多路归并耗时越高。由此可知除了CPU(中央处理器)计算能力限制K的取值外,还有多路归并的耗时限制。故选择优异的多路归并方案对整体算法具有十分积极的意义。
发明人经过研究,本发明中多路归并方法可以采用大根堆法和二分法。下面对这两种方法进行详细说明。
大根堆法可具体实现为:建立容量为M的大根堆;通过大根堆对所有分组的前N个宿主机进行排序,选取评分排序靠前的M个宿主机。如图5所示,具体可包括以下步骤:
步骤501:从每个分组内获取评分从大到小的顺序排在前N个的宿主机,按照评分高低的顺序形成宿主机列表。
步骤502:从各分组的宿主机列表中选取评分最大的宿主机,并记录选取的每个宿主机所在的宿主机列表。
步骤503:将选取的宿主机通过大根堆进行排序;
步骤504:取出大根堆堆顶的宿主机作为目标宿主机。
步骤505:从目标宿主机所在的宿主机列表中删除目标宿主机;
步骤506:判断目标宿主机的数量是否为M,是则执行步骤507,否则返回执行步骤502。
其中,在一个实施例中步骤A3中选择出的目标宿主机可以存储到目标宿主机集合中。通过确定该集合来统计目标宿主机的数量。
步骤507:确定目标宿主机选取完毕。
这样,本发明实施例中在对各分组并行进行评分后,采用多路归并能够选取出全局最优的宿主机来创建虚拟机。
上述大根堆法的时间复杂度为O((M+K)*log2M),其中,K为分组的数量(也即用于评分的进程的数量)。现有技术中的时间复杂度O(Nlog2N),两者时间复杂度的比值为由于M小于N,M+K通常也小于N,所以本发明中能够减少选择目标宿主机的耗时。
发明人在研究中发现,若K取值较大时,多路归并的耗时不是很理想。为了能够保证多路归并方法不至于成为整体方案中并行量(K)的瓶颈和性能瓶颈。本发明实施例对大根堆法进行了改进,从而得到二分法,该二分法可具体实施为如图6所示,包括以下步骤:
步骤B1:根据预设的宿主机最大评分值和最小评分值,确定一预设评分值;
其中,由于评分用于衡量宿主机是否适合创建需要创建的虚拟机,所以存在理论上的最大评分值和最小评分值。也即在完全符合时评分为最大评分,在完全不符合是评分为最小评分。既步骤B1中根据理论上的最大评分值和最小评分值确定预设评分。
例如,可以取最大评分值和最小评分值平均值作为预设评分值。
也可以求取最大评分值和最小评分值的加权平均值。其中,权重可以根据经验设定,本发明对此不作限定。
步骤B2:确定所有分组的前N个宿主机组成的宿主机集群中,评分大于所述预设评分值的宿主机的数量;
步骤B3:比较评分大于预设评分值的宿主机的数量与M的大小;若大于M则执行步骤B4,若小于M则执行步骤B5,若等于M则执行步骤B6。
步骤B4:提高预设评分值,并返回执行步骤B2;
提高预设评分值,可具体实施为将上一预设评分值作为下限,并将最大评分值作为下限;然后将上限和下限的平均值确定为提高后的预设评分值。当然具体实施时,也可以求取上限和下限的加权平均值。
步骤B5:降低预设评分值,并返回执行步骤B2;
同理,降低预设评分值可以实施为将上一预设评分值作为上限,并将最小评分值作为下限;将上限和下限的平均值确定为降低后的预设评分值。
步骤B6:将评分大于预设评分值的宿主机确定为目标宿主机。
其中,具体实施时,步骤B2采用并行计算,具体可实现为多进程(甚至多服务器)处理对应的宿主机列表。假设宿主机分数的取值范围为0~S,上述多路归并方案的时间复杂度为O(log2S*log2M),S为基本固定的常数,该方案时间复杂度仅与M成对数增长。
综上,本发明实施例中,为了便于选择合适的多路归并方案,具体实施时可分为如下两种方案:
方案一:若宿主机集群中宿主机的数量小于第一预设值,且分组的数量小于第一分组数,则采用大根堆从所有分组的前N个宿主机组成的宿主机集群中选取评分排序靠前的M个的宿主机作为目标宿主机;
方案二:若宿主机集群中宿主机的数量大于第二预设值,且分组的数量大于第二分组数,则采用二分从所有分组的前N个宿主机组成的宿主机集群中选取评分排序靠前的M个的宿主机作为目标宿主机。
其中,第一预设值小于或等于第二预设值,第一分组数小于或等于第二分组数。具体实施时第一、第二预设值,第一、第二分组数可以根据具体的宿主机性能、数量等试验确定。
此外,需要说明的是,第一预设值和第二预设值可以相同也可以不同,第一分组数和第二分组数也可以相同也可以不同。当第一预设值和第二预设值不同,和/或,第二分组数和第一分组数不同时,上述两种方案之外的情况,则可以选择任一种方案执行。例如,假设第一预设值为500、第二预设值为600,第一、第二分组数相同且假设为10,则不同情况下采用的方案如表2所示:
表2
宿主机数量 | 分组数 | 采用方案 |
<500 | <10 | 方案一 |
>600 | >10 | 方案二 |
>500且<600 | 不限 | 方案一或方案二 |
不限 | =10 | 方案一或方案二 |
针对方案二,从耗时上看,该方案现有技术的时间复杂度对比如下表3所示:
步骤 | 现有方案 | 方案二 |
宿主机过滤与打分 | O(N) | O(N/K) |
选择M台最优宿主机 | O(Nlog<sub>2</sub>N) | O(log<sub>2</sub>S*log<sub>2</sub>M) |
扣减资源 | O(M) | O(M) |
注:N为宿主机集群中的宿主机总量、K为进程并行量、M为需分配资源的虚拟机数、S为宿主机打分范围
经过试验验证,方案二对比现有方案,云计算系统的理论宿主机规模上限和资源分配吞吐量都有较大的提升。现有方案理论宿主机规模上限为2万台,快速分配算法的理论宿主机规模上限为30万台。而吞吐量从原有方案每分钟完成600次请求,可提升到每分钟完成20000次请求。
除此之外,现有方案中受限于其自身的性能瓶颈,无法支撑水平扩展。该方案二支持水平扩展,宿主机过滤和打分以及选择最优宿主机集合都是基于并行计算设计的,必要时可以跨服务器多进程计算。扣减资源部分,可以根据某些宿主机互斥特性,比如可用区、售卖池等分为多个宿主机池,分别对这些宿主机池进行管理与分配以达到水平扩展的目的。相较于无法水平扩展的现有方案,方案二能更好地应对系统宿主机数量日益增长的状况。
为便于进一步理解本发明提供的方案,下面对比已有方案对此进行说明。
如图7所示,为现有技术中对于调度请求的处理流程示意图,现有方案worker直接使用持久化存储介质(即数据库)进行宿主机资源的管理,具体实现是worker收到资源调度请求时,读取数据库相关数据,为虚拟机创建、虚拟机销毁、虚拟机迁移、宿主机上线、宿主机下线等操作做合法性校验,校验通过后执行资源数据的增加或扣减。其中虚拟机创建涉及到宿主机资源的选择,此时现有方案需要导入数据库中所有的宿主机资源数据到内存中,根据创建需求进行宿主机的过滤和打分,得到候选宿主机列表,逐一尝试扣减资源。由于多worker采取并发控制,会出现扣减资源时内存数据与数据库数据不一致,此时候选宿主机不再满足创建需求,则扣减资源失败,尝试扣减下一个候选宿主机,直到资源扣减成功。
基于上述的工作原理,对于同一用户的配置需求,若该需求要求创建多个虚拟机时,现有技术会为每个虚拟机生成对应的一个虚拟机创建请求。现有方案,针对每个创建请求采用一个进程,每个进程执行相同的操作。如图8所示,假设有6个宿主机,分别命名为宿主机1-6。每个进程对所有宿主机1-6采用过滤器A、B、……X进行过滤后得到宿主机1、3、6,然后进行打分,得到各自的评分,如图8中,宿主机1的评分为33、宿主机2的评分为88、宿主机6的评分为66,之后该进程会选择评分最高的宿主机3作为对应虚拟机创建请求的目标宿主机并尝试对虚拟机3扣减资源。同理,其它进程同时针对各自的虚拟机创建请求重复执行相同的操作。
根据同一用户的配置需求生成的虚拟机创建请求有多个,由于配置需求中对虚拟机和或宿主机的要求是相同的,理论上过滤宿主机和评分只需要执行一次,但是现有技术中每个进程执行了一次。对于同一用户的配置需求而言,不同的虚拟机创建请求的进程中最终确定的最优宿主机通常相同。例如,进程1确定宿主机3为目标宿主机,进程2同样确定宿主机3为目标宿主机。进程1先确定出目标宿主机,所以进程1先对宿主机1进行资源扣减,扣减成功则结束操作,扣减失败则按照评分高低依序选择宿主机进行扣减。同样,进程2在进程1扣减资源后会尝试对宿主机3进行资源扣减,显然由于进程1对宿主机3尝试过资源扣减,所以进程2对宿主机3进行的资源扣减很可能失败。为了避免这一情况,同样也为了使得同一用户的虚拟机在不同宿主机中创建,在评分时,加入了随机因子,使得不同进程得到的评分值最大的宿主机尽可能不同。在扣减资源时,不同进程尽可能尝试对不同宿主机进行扣减资源,能够有效保障资源扣减成功并同时保障同一用户的虚拟机在不同宿主机上创建。故此,由于随机因子的加入会导致评分不真实,选择的目标宿主机不是全局最优的。
本发明实施例中为了提高效率,对宿主机集群进行分组(分为K组),如图9所示启用K个进程对相应分组进行如图8所示的过滤和评分操作。这样,每个进程处理的宿主机并不同,所以各进程没有重复操作。且同时对宿主机集群中的不同分组进行过滤和评分处理能够有效提高处理效率。由每个进程得到一个宿主机列表后,采用多路归并的方法,选出全局最优的宿主机扣减资源,然后针对下一个需要创建的虚拟机,在选择次优的宿主机扣减资源,重复执行操作直至为各虚拟机成功扣减资源。
进一步的,对宿主机进行过滤和评分时,将数据库中的数据读取到缓存中,基于缓存中的数据进行处理。由于数据库中的数据可能会被修改。例如,当一个配置需求处理完毕后,扣减资源时,修改数据库中的数据,将会导致缓存中的数据与数据库中的数据不一致。为了使得基于缓存的运算都尽可能的准确。本发明实施例中,对此提出了改进方案。具体的,如图10所示,包括以下步骤:
步骤1001:接收宿主机资源的调度请求;所述调度请求用于请求修改数据库中存储的宿主机信息;
步骤1002:根据所述调度请求修改缓存中缓存的所述宿主机信息;
步骤1003:将修改结果同步给所述数据库。
这样,通过根据调度需求,先修改缓存中的数据,然后将修改结果同步给数据库,实现了保证缓存中数据的实时准确性。使得基于缓存数据的操作都能得到准确的结果。
此外,本发明实施例中,为了便于管理数据库,所述将修改结果同步给所述数据库,可具体实施为对修改结果对应的宿主机进行哈希运算,得到该宿主机的哈希值;根据哈希值和落地进程的对应关系,确定哈希值对应的落地进程;其中一个落地进程对应多个宿主机的哈希值;将所述修改结果推送到确定的落地进程中,由该落地进程将修改结果同步给所述数据库。
如图11所示,为本发明实施例中对资源调度请求进行处理的架构图。本发明中API和MQ的作用同图8现有技术中的作用相同。基于图11本发明中修改虚拟机资源的流程包括以下步骤:
步骤C1:接入进程监听消息队列MQ中的消息,把监听到的消息放到资源调度核心的输入队列后继续监听消息。
其中,接入进程和MQ的通信方式可以根据云计算系统架构而定,也可为socket通信等。
步骤C2:资源调度核心从输入队列中取出消息,根据消息的类型决定是否需要分配宿主机。
其中,目前只有创建和迁移流程需要分配宿主机,故此需要分配宿主机的消息类型为需要创建和迁移虚拟机的消息,若需要则根据云计算系统宿主机资源分配策略选择宿主机。
步骤C3:宿主机选择完毕后,从内存中修改宿主机的资源并把修改结果放到输出队列后,资源调度核心继续执行下一个消息。
步骤C3:对修改结果对应的宿主机进行哈希运算,得到该宿主机的哈希值;根据哈希值和落地进程的对应关系,确定哈希值对应的落地进程。
由于落地进程总是负责固定的宿主机集合,所以在多并发的情况下也能保证将修改结果同步到数据库的时序性。
步骤C4:修改结果同步到数据库后,落地进程把结果返回到接入进程,由接入进程将结果返回消息队列,然后由消息队列进行后续流程。
进一步的,为保证框架的高可用性,本发明中可以增加至少一台从服务器,对主服务器中的数据库进行容灾备份。具体实施时,可以定时从主服务器中拉取增量数据,并通过抢占分布式锁来感知主节点故障,从而接管服务。具体的,一开始将分布式锁分配给主服务器。之后从服务器尝试抢占分布式锁。若主服务器出现故障,则会释放分布式锁,那么从服务器则会抢占到分布式锁,从而从服务器可以确定主服务器故障并接管主服务器的服务。若主服务器没有故障,则从服务器不会抢占到分布式锁,从而确定主服务器正常运行。
基于相同的发明构思,本发明实施例还提供一种异构环境下宿主机资源管理装置,如图12所示,包括:
接收模块1201,用于接收虚拟机配置需求;
虚拟机数量确定模块1202,用于根据所述配置需求,确定需要创建的虚拟机数量M,M为正整数;
同步处理模块1203,用于将宿主机集群进行分组,并根据所述配置需求同时对各分组内的宿主机进行过滤和评分;从每个分组内获取评分从大到小的顺序排在前N个的宿主机;
归并模块1204,用于从所有分组的前N个宿主机组成的宿主机集群中选取评分排序靠前的M个的宿主机作为目标宿主机;
创建模块1205,用于在目标宿主机上创建虚拟机。
进一步的,归并模块,用于:
大根堆单元,用于若宿主机集群中宿主机的数量小于第一预设值,且分组的数量小于第一分组数,则采用大根堆从所有分组的前N个宿主机组成的宿主机集群中选取评分排序靠前的M个的宿主机作为目标宿主机;
二分单元,用于若宿主机集群中宿主机的数量大于第二预设值,且分组的数量大于第二分组数,则采用二分法从所有分组的前N个宿主机组成的宿主机集群中选取评分排序靠前的M个的宿主机作为目标宿主机。
进一步的,大根堆单元用于:
建立容量为M的大根堆;
通过大根堆对所有分组的前N个宿主机进行排序,选取评分排序靠前的M个宿主机。
进一步的,大根堆单元,用于:
从每个分组内获取评分从大到小的顺序排在前N个的宿主机,按照评分高低的顺序形成宿主机列表;
从各分组的宿主机列表中选取评分最大的宿主机,并记录选取的每个宿主机所在的宿主机列表;
将选取的宿主机通过大根堆进行排序;
取出大根堆堆顶的宿主机作为目标宿主机;
从目标宿主机所在的宿主机列表中删除目标宿主机;
判断目标宿主机的数量是否为M;
若是,则确定目标宿主机选取完毕;
若否,则返回执行从各分组的宿主机列表中选取评分最大的宿主机,并记录选取的每个宿主机所在的宿主机列表的步骤。
进一步的,归并模块,用于:
根据预设的宿主机最大评分值和最小评分值,确定一预设评分值;
确定所有分组的前N个宿主机组成的宿主机集群中,评分大于所述预设评分值的宿主机的数量;
比较评分大于预设评分值的宿主机的数量与M的大小;
若评分大于预设评分值的宿主机的数量大于M,则提高预设评分值,并返回执行确定所有分组的前N个宿主机组成的宿主机集群中,评分大于所述预设评分值的宿主机的数量的步骤;
若评分大于预设评分值的宿主机的数量小于M,则降低预设评分值,并返回执行确定所有分组的前N个宿主机组成的宿主机集群中,评分大于所述预设评分值的宿主机的数量的步骤;
若评分大于预设评分值的宿主机的数量等于M,则将评分大于预设评分值的宿主机确定为目标宿主机。
进一步的,归并模块,用于在提高预设评分值时,将上一预设评分值作为下限,并将最大评分值作为下限;将上限和下限的平均值确定为提高后的预设评分值;
在降低预设评分值时,将上一预设评分值作为上限,并将最小评分值作为下限;将上限和下限的平均值确定为降低后的预设评分值。
进一步的,所述接收模块用于接收宿主机资源的调度请求,所述调度请求用于请求修改数据库中存储的宿主机信息;
所述装置还包括:
修改模块,用于若根据所述调度请求修改缓存中缓存的所述宿主机信息;
同步模块,用于并将修改结果同步给所述数据库。
进一步的,所述大根堆单元,包括:
哈希值确定单元,用于对修改结果对应的宿主机进行哈希运算,得到该宿主机的哈希值;
落地进程确定单元,用于根据哈希值和落地进程的对应关系,确定哈希值对应的落地进程;其中一个落地进程对应多个宿主机的哈希值;
同步单元,用于将所述修改结果推送到确定的落地进程中,由该落地进程将修改结果同步给所述数据库。
在介绍了本发明示例性实施方式的终端用户的使用异构环境下宿主机资源管理方法、和装置之后,接下来,介绍根据本发明的另一示例性实施方式的计算装置。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的计算装置可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本发明各种示例性实施方式的终端用户的使用异构环境下宿主机资源管理方法中的步骤。例如,处理器可以执行如图4中所示的步骤401-406。
下面参照图13来描述根据本发明的这种实施方式的计算装置130。图13显示的计算装置130仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图13所示,计算装置130以通用计算装置的形式表现。计算装置130的组件可以包括但不限于:上述至少一个处理器131、上述至少一个存储器132、连接不同系统组件(包括存储器132和处理器131)的总线133。
总线133表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器132可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1321和/或高速缓存存储器1322,还可以进一步包括只读存储器(ROM)1323。
存储器132还可以包括具有一组(至少一个)程序模块1324的程序/实用工具1325,这样的程序模块1324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算装置130也可以与一个或多个外部设备134(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与计算装置130交互的设备通信,和/或与使得该计算装置130能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口135进行。并且,计算装置130还可以通过网络适配器136与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器136通过总线133与用于计算装置130的其它模块通信。应当理解,尽管图中未示出,可以结合计算装置130使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在一些可能的实施方式中,本发明提供的终端用户的使用异构环境下宿主机资源管理方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本发明各种示例性实施方式的终端用户的使用异构环境下宿主机资源管理方法中的步骤,例如,计算机设备可以执行如图4中所示的步骤401-406。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本发明的实施方式的用于终端用户的使用异构环境下宿主机资源管理的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算装置上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算装置上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。在涉及远程计算装置的情形中,远程计算装置可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算装置,或者,可以连接到外部计算装置(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种异构环境下宿主机资源管理方法,其特征在于,所述方法包括:
接收虚拟机配置需求;
根据所述配置需求,确定需要创建的虚拟机数量M,M为正整数;
将宿主机集群进行分组,并根据所述配置需求同时对各分组内的宿主机进行过滤和评分;
从每个分组内获取评分从大到小的顺序排在前N个的宿主机;
根据多路归并方法,从所有分组的前N个宿主机组成的宿主机集群中选取评分排序靠前的M个的宿主机作为目标宿主机;
在目标宿主机上创建虚拟机。
2.根据权利要求1所述的方法,其特征在于,根据多路归并方法,从所有分组的前N个宿主机组成的宿主机集群中选取评分排序靠前的M个的宿主机作为目标宿主机,包括:
若宿主机集群中宿主机的数量小于第一预设值,且分组的数量小于第一分组数,则采用大根堆从所有分组的前N个宿主机组成的宿主机集群中选取评分排序靠前的M个的宿主机作为目标宿主机;
若宿主机集群中宿主机的数量大于第二预设值,且分组的数量大于第二分组数,则采用二分法从所有分组的前N个宿主机组成的宿主机集群中选取评分排序靠前的M个的宿主机作为目标宿主机;
其中,第一预设值小于或等于第二预设值,第一分组数小于或等于第二分组数。
3.根据权利要求2所述的方法,其特征在于,采用大根堆从所有分组的前N个宿主机组成的宿主机集群中选取评分排序靠前的M个的宿主机作为目标宿主机,包括:
建立容量为M的大根堆;
通过大根堆对所有分组的前N个宿主机进行排序,选取评分排序靠前的M个宿主机。
4.根据权利要求3所述的方法,其特征在于,从每个分组内获取评分从大到小的顺序排在前N个的宿主机,包括:
从每个分组内获取评分从大到小的顺序排在前N个的宿主机,按照评分高低的顺序形成宿主机列表;
通过大根堆对所有分组的前N个宿主机进行排序,选取评分为前M的宿主机,包括:
从各分组的宿主机列表中选取评分最大的宿主机,并记录选取的每个宿主机所在的宿主机列表;
将选取的宿主机通过大根堆进行排序;
取出大根堆堆顶的宿主机作为目标宿主机;
从目标宿主机所在的宿主机列表中删除目标宿主机;
判断目标宿主机的数量是否为M;
若是,则确定目标宿主机选取完毕;
若否,则返回执行从各分组的宿主机列表中选取评分最大的宿主机,并记录选取的每个宿主机所在的宿主机列表的步骤。
5.根据权利要求1所述的方法,其特征在于,根据多路归并方法,从所有分组的前N个宿主机组成的宿主机集群中选取评分排序靠前的M个的宿主机作为目标宿主机,包括:
根据预设的宿主机最大评分值和最小评分值,确定一预设评分值;
确定所有分组的前N个宿主机组成的宿主机集群中,评分大于所述预设评分值的宿主机的数量;
比较评分大于预设评分值的宿主机的数量与M的大小;
若评分大于预设评分值的宿主机的数量大于M,则提高预设评分值,并返回执行确定所有分组的前N个宿主机组成的宿主机集群中,评分大于所述预设评分值的宿主机的数量的步骤;
若评分大于预设评分值的宿主机的数量小于M,则降低预设评分值,并返回执行确定所有分组的前N个宿主机组成的宿主机集群中,评分大于所述预设评分值的宿主机的数量的步骤;
若评分大于预设评分值的宿主机的数量等于M,则将评分大于预设评分值的宿主机确定为目标宿主机。
6.根据权利要求5所述的方法,其特征在于,提高预设评分值,包括:
将上一预设评分值作为下限,并将最大评分值作为下限;
将上限和下限的平均值确定为提高后的预设评分值;
降低预设评分值,包括:
将上一预设评分值作为上限,并将最小评分值作为下限;
将上限和下限的平均值确定为降低后的预设评分值。
7.根据权利要求1-6中任一所述的方法,其特征在于,所述方法还包括:
接收宿主机资源的调度请求,所述调度请求用于请求修改数据库中存储的宿主机信息;
根据所述调度请求修改缓存中缓存的所述宿主机信息;
并将修改结果同步给所述数据库。
8.根据权利要求7所述的方法,其特征在于,所述将修改结果同步给所述数据库,包括:
对修改结果对应的宿主机进行哈希运算,得到该宿主机的哈希值;
根据哈希值和落地进程的对应关系,确定哈希值对应的落地进程;其中一个落地进程对应多个宿主机的哈希值;
将所述修改结果推送到确定的落地进程中,由该落地进程将修改结果同步给所述数据库。
9.一种异构环境下宿主机资源管理装置,其特征在于,包括:
接收模块,用于接收虚拟机配置需求;
虚拟机数量确定模块,用于根据所述配置需求,确定需要创建的虚拟机数量M,M为正整数;
同步处理模块,用于将宿主机集群进行分组,并根据所述配置需求同时对各分组内的宿主机进行过滤和评分;从每个分组内获取评分从大到小的顺序排在前N个的宿主机;
归并模块,用于根据多路归并方法,从所有分组的前N个宿主机组成的宿主机集群中选取评分排序靠前的M个宿主机作为目标宿主机;
创建模块,用于在目标宿主机上创建虚拟机。
10.一种计算装置,其特征在于,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-8中任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811481913.4A CN109558214B (zh) | 2018-12-05 | 2018-12-05 | 异构环境下宿主机资源管理方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811481913.4A CN109558214B (zh) | 2018-12-05 | 2018-12-05 | 异构环境下宿主机资源管理方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109558214A true CN109558214A (zh) | 2019-04-02 |
CN109558214B CN109558214B (zh) | 2021-06-15 |
Family
ID=65868900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811481913.4A Active CN109558214B (zh) | 2018-12-05 | 2018-12-05 | 异构环境下宿主机资源管理方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109558214B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112579258A (zh) * | 2020-12-14 | 2021-03-30 | 科东(广州)软件科技有限公司 | 一种虚拟机的管理方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176849A (zh) * | 2013-03-12 | 2013-06-26 | 浙江大学 | 一种基于资源分类的虚拟机集群的部署方法 |
CN105824686A (zh) * | 2016-03-11 | 2016-08-03 | 中国联合网络通信集团有限公司 | 一种虚拟机宿主机的选择方法和选择系统 |
CN106020937A (zh) * | 2016-07-07 | 2016-10-12 | 腾讯科技(深圳)有限公司 | 一种创建虚拟机的方法、装置及系统 |
CN106055381A (zh) * | 2013-10-23 | 2016-10-26 | 华为技术有限公司 | 一种创建虚拟机的方法和装置 |
US20170357537A1 (en) * | 2016-06-08 | 2017-12-14 | Alibaba Group Holding Limited | Virtual machine dispatching method, apparatus, and system |
CN108762892A (zh) * | 2018-06-07 | 2018-11-06 | 北京仿真中心 | 一种云仿真协同仿真模式的资源配置方法 |
-
2018
- 2018-12-05 CN CN201811481913.4A patent/CN109558214B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176849A (zh) * | 2013-03-12 | 2013-06-26 | 浙江大学 | 一种基于资源分类的虚拟机集群的部署方法 |
CN106055381A (zh) * | 2013-10-23 | 2016-10-26 | 华为技术有限公司 | 一种创建虚拟机的方法和装置 |
CN105824686A (zh) * | 2016-03-11 | 2016-08-03 | 中国联合网络通信集团有限公司 | 一种虚拟机宿主机的选择方法和选择系统 |
US20170357537A1 (en) * | 2016-06-08 | 2017-12-14 | Alibaba Group Holding Limited | Virtual machine dispatching method, apparatus, and system |
CN106020937A (zh) * | 2016-07-07 | 2016-10-12 | 腾讯科技(深圳)有限公司 | 一种创建虚拟机的方法、装置及系统 |
US20180239633A1 (en) * | 2016-07-07 | 2018-08-23 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus, and system for creating virtual machine, control device, and storage medium |
CN108762892A (zh) * | 2018-06-07 | 2018-11-06 | 北京仿真中心 | 一种云仿真协同仿真模式的资源配置方法 |
Non-Patent Citations (3)
Title |
---|
佚名: "美团点评容器平台HULK的调度系统", 《HTTPS://WWW.SOHU.COM/A/141193677_198222》 * |
大海星: "[Nova] nova-scheduler 组件源码解析--源码结构图和各个模块的介绍", 《HTTPS://WWW.CNBLOGS.COM/DOUBLE12GZH/P/10166186.HTML》 * |
小虫不会飞_: "多路有序数组,找到最大的k个数(三种解法)", 《HTTP://BLOG.SINA.COM.CN/S/BLOG_6F611C300102UXHK.HTML》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112579258A (zh) * | 2020-12-14 | 2021-03-30 | 科东(广州)软件科技有限公司 | 一种虚拟机的管理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109558214B (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Abdulhamid et al. | Fault tolerance aware scheduling technique for cloud computing environment using dynamic clustering algorithm | |
US11704144B2 (en) | Creating virtual machine groups based on request | |
CN102971724B (zh) | 与数据中心环境内的基于单元式虚拟资源的管理有关的方法和装置 | |
US9471390B2 (en) | Scheduling mapreduce jobs in a cluster of dynamically available servers | |
US9323580B2 (en) | Optimized resource management for map/reduce computing | |
Chen et al. | A task scheduling algorithm for Hadoop platform | |
US10616134B1 (en) | Prioritizing resource hosts for resource placement | |
US10671438B2 (en) | Providing additional memory and cache for the execution of critical tasks by folding processing units of a processor complex | |
Ma et al. | vLocality: Revisiting data locality for MapReduce in virtualized clouds | |
US20190377606A1 (en) | Smart accelerator allocation and reclamation for deep learning jobs in a computing cluster | |
US11307900B2 (en) | Adjustment of the number of central processing units to meet performance requirements of an I/O resource | |
CN109614227A (zh) | 任务资源调配方法、装置、电子设备及计算机可读介质 | |
WO2024016596A1 (zh) | 容器集群调度的方法、装置、设备及存储介质 | |
dos Anjos et al. | Smart: An application framework for real time big data analysis on heterogeneous cloud environments | |
CN103970612A (zh) | 一种基于虚拟机预分割的负载均衡方法和装置 | |
Sreedhar et al. | A survey on big data management and job scheduling | |
US20200142822A1 (en) | Multi-tenant cloud elastic garbage collector | |
CN109558214A (zh) | 异构环境下宿主机资源管理方法、装置和存储介质 | |
CN107454137B (zh) | 一种在线业务按需服务的方法、装置与设备 | |
CN112988383A (zh) | 一种资源分配方法、装置、设备以及存储介质 | |
Deshai et al. | A Study on Big Data Hadoop Map Reduce Job Scheduling | |
US11709755B2 (en) | Method, device, and program product for managing storage pool of storage system | |
US20230359592A1 (en) | Data migration in a distributed file system | |
US11381468B1 (en) | Identifying correlated resource behaviors for resource allocation | |
CN116795546B (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 |