CN111143039B - 一种虚拟机的调度方法、装置及计算机存储介质 - Google Patents
一种虚拟机的调度方法、装置及计算机存储介质 Download PDFInfo
- Publication number
- CN111143039B CN111143039B CN202010002910.9A CN202010002910A CN111143039B CN 111143039 B CN111143039 B CN 111143039B CN 202010002910 A CN202010002910 A CN 202010002910A CN 111143039 B CN111143039 B CN 111143039B
- Authority
- CN
- China
- Prior art keywords
- service type
- computing node
- target
- virtual machine
- computing
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012216 screening Methods 0.000 claims description 5
- 230000001960 triggered effect Effects 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 abstract description 14
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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/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
- 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/4557—Distribution of virtual machine instances; Migration and load balancing
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
技术领域
本申请涉及虚拟机技术领域,特别是涉及一种虚拟机的调度方法、装置及计算机存储介质。
背景技术
随着云技术的成熟,越来越多用户将自己的Web服务放到了云环境中,因此,需要通过创建虚拟机来实现。虚拟机(Virtual Machine),在计算机科学中的体系结构里,是指一种特殊的软件,可以在计算机平台和终端用户之间创建一种环境,而终端用户则是基于这个软件所创建的环境来操作软件。在计算机科学中,虚拟机是指可以像真实机器一样运行程序的计算机的软件实现。
现有技术中,在集群中创建虚拟机时,控制节点会根据集群中各计算节点当前的资源信息,综合选取资源最优的计算节点来创建虚拟机,即将相关资源调度到最优的计算节点中。虽然以上述方式,可以提高创建的速度,有利于虚拟机的快速运行,但是由于虚拟机的个数较多,当对某一种服务进行维护时,需要在不同的计算节点上进行维护,维护效率较低,降低了用户的体验感。
发明内容
本申请的目的是提供一种虚拟机的调度方法、装置及计算机存储介质,用于将包含有相同服务类型的虚拟机创建在同一个计算节点,使得运维人员在对一种服务类型的虚拟机进行维护时,能够在同一个计算节点上维护,提高了维护效率。
为解决上述技术问题,本申请提供一种虚拟机的调度方法,包括:
读取待创建虚拟机的目标服务类型以及目标创建参数;
获取集群内各计算节点运行的虚拟机的服务类型以及资源参数;
判断各所述计算节点的服务类型是否包含所述目标服务类型;
如果包含,则在包含所述目标服务器类型的候选计算节点中选取符合所述目标创建参数的目标计算节点作为所述待创建虚拟机的创建节点。
优选地,所述在包含所述目标服务器类型的候选计算节点中选取符合所述目标创建参数的目标计算节点作为所述待创建虚拟机的创建节点包括:
判断所述候选计算节点的个数是否大于1;
如果是,则选取所述候选计算节点中包含的服务个数最少的目标计算节点作为所述待创建虚拟机的创建节点。
优选地,所述判断各所述计算节点的服务类型是否包含所述目标服务类型包括:
读取其中一个计算节点的服务类型;
判断当前计算节点的服务类型是否包含所述目标服务类型;
如果包含,则标记当前计算节点为所述候选计算节点,并判断当前计算节点是否为所述集群中的最后一个计算节点;
如果是最后一个,则确定各所述计算节点的服务类型包含所述目标服务类型;
如果不是最后一个,则返回所述读取其中一个计算节点的服务类型的步骤;
如果不包含,则判断当前计算节点是否为所述集群中的最后一个计算节点;
如果是最后一个,则确定各所述计算节点的服务类型不包含所述目标服务类型;
如果不是最后一个,则返回所述读取其中一个计算节点的服务类型的步骤。
优选地,如果当前计算节点的服务类型不包含所述目标服务类型,则还包括:
判断所述集群是否存在所述候选计算节点;
如果是,则标记当前计算节点为非所述候选计算节点;
如果否,则进入所述判断当前计算节点是否为所述集群中的最后一个计算节点的步骤。
优选地,如果各所述计算节点的服务类型不包含所述目标服务类型,则还包括:
筛选出满足所述目标创建参数的计算节点;
判断筛选出的计算节点的个数是否大于1;
如果是,则将筛选出的计算节点中包含的服务个数最少的计算节点作为所述待创建虚拟机的创建节点。
优选地,所述目标创建参数包括内存容量、CPU个数和存储容量。
优选地,在所述目标计算节点创建所述待创建虚拟机后,还包括:
更新所述目标计算节点的服务个数。
为解决上述技术问题,本申请还提供一种虚拟机的调度装置,包括:
读取模块,用于读取待创建虚拟机的目标服务类型以及目标创建参数;
获取模块,用于获取集群内各计算节点运行的虚拟机的服务类型以及资源参数;
判断模块,用于判断各所述计算节点的服务类型是否包含所述目标服务类型,如果包含,则触发选取模块;
选取模块,用于在包含所述目标服务器类型的候选计算节点中选取符合所述目标创建参数的目标计算节点作为所述待创建虚拟机的创建节点。
为解决上述技术问题,本申请还提供一种虚拟机的调度装置,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如项所述的虚拟机的调度方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的虚拟机的调度方法的步骤。
本申请所提供的虚拟机的调度方法,在接收到虚拟机的创建命令后,首选读取待创建虚拟机的目标服务类型以及目标创建参数,然后获取集群内各计算节点运行的虚拟机的服务类型以及资源参数,通过判断各计算节点的服务类型是否包含目标服务类型来确定候选计算节点,最后在候选计算节点上选取符合目标创建参数的目标计算节点作为待创建虚拟机的创建节点。由此可见,采用本申请通过的技术方案,在能够满足待创建虚拟机的目标创建参数的要求之外,能够将同一服务类型的虚拟机集中在同一个计算节点上,因此,在对某一个服务继续维护时,可以在同一个计算节点上实现维护,有利于提高维护效率,同时,避免对多个计算节点的干扰。
此外,本申请所提供的虚拟机的调度装置及计算机存储介质,与上述方法对应,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施实例提高的一种虚拟机的调度方法的流程图;
图2为本申请实施例提供的另一种虚拟机的调度方法的流程图;
图3为本申请实施例提供的一种虚拟机的调度装置的结构图;
图4为本申请实施例提供的另一种虚拟机的调度装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种虚拟机的调度方法、装置及计算机存储介质,其中,该方法由集群中的控制节点执行。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
图1为本申请实施实例提高的一种虚拟机的调度方法的流程图。如图1所示,该方法包括:
S10:读取待创建虚拟机的目标服务类型以及目标创建参数。
本申请中,目标服务类型仅仅是与后文中提到的服务类型进行区别,目标服务类型是针对待创建虚拟机的服务类型,当该虚拟机创建完成后,其目标服务类型就称之为服务类型。
可以理解的是,对于待创建虚拟机来说,其目标服务类型不是固定的,是各用户根据自己的需求确定的,例如,可以是mysql服务,DNS服务等。同理,目标创建参数也是用户根据自己的需求确定,通常情况下,目标创建参数主要是虚拟机的配置参数,例如,该虚拟机需要的内存容量、需要的CPU个数、需要的存储容量等。因此,作为优选地实施方式,目标创建参数包括内存容量、CPU个数和存储容量。可以理解的是,除了以上三个参数,还可以包含其它类型的参数,不影响本技术方案的实现。
S11:获取集群内各计算节点运行的虚拟机的服务类型以及资源参数。
控制节点可以获取集群中每个计算节点的运行情况,例如,各计算机节点运行的虚拟机的服务类型以及资源参数。为了方便管理,这些数据通过数据库管理,控制节点需要通过数据库获取以上参数。
S12:判断各计算节点的服务类型是否包含目标服务类型,如果包含,则进入S13。
控制节点需要对集群内的全部计算节点的服务类型进行判断,为了防止遗漏,可以采用遍历的方式。需要说明的是,本实施例中,不仅需要解决相同服务类型的虚拟机安装在同一个计算节点上的问题,还需要考虑虚拟机的环境问题,因此,本实施例中,当判断出其中一个计算节点的服务类型包含目标服务类型时,还需要再判断其它计算节点是否包含目标服务类型,即无论各计算节点是否包含目标服务类型,都需要把全部计算节点的情况都判断出来。
可以理解的是,如果只有一个计算节点包含目标服务类型,则S12的判断结果为包含,如果有多个计算节点包含目标服务类型,则S12的判断结果也为包含。那些包含目标服务类型的计算节点称之为候选计算节点,很显然,候选计算节点可能为一个,也可能为多个。
S13:在包含目标服务器类型的候选计算节点中选取符合目标创建参数的目标计算节点作为待创建虚拟机的创建节点。
可以理解地是,待创建虚拟机需要有自己的目标创建参数,候选计算节点并不一定能够满足其目标创建参数,因此,还需要在候选计算节点中选取目标计算节点。需要说明的是,如果有多个候选计算节点都符合目标创建参数,则目标计算节点也只能是候选计算节点中的一个,而这一个如何选取,可以是选择服务个数较少的,也可以是按照某种顺序依次排列。
需要说明的是,以上方法可以应用于OpenStack中,OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。利用虚拟化技术,网络、存储、计算等相关资源得以统一在OpenStack种进行管理。
基于以上步骤,当确定了目标计算节点后,就可以通过nova组件的achedule服务将资源调度到目标计算节点上,从而实现虚拟机的创建。
本实施例提供的虚拟机的调度方法,在接收到虚拟机的创建命令后,首选读取待创建虚拟机的目标服务类型以及目标创建参数,然后获取集群内各计算节点运行的虚拟机的服务类型以及资源参数,通过判断各计算节点的服务类型是否包含目标服务类型来确定候选计算节点,最后在候选计算节点上选取符合目标创建参数的目标计算节点作为待创建虚拟机的创建节点。由此可见,采用本申请通过的技术方案,在能够满足待创建虚拟机的目标创建参数的要求之外,能够将同一服务类型的虚拟机集中在同一个计算节点上,因此,在对某一个服务继续维护时,可以在同一个计算节点上实现维护,有利于提高维护效率,同时,避免对多个计算节点的干扰。
图2为本申请实施例提供的另一种虚拟机的调度方法的流程图。如图2所示,在上述实施例的基础上,在包含目标服务器类型的候选计算节点中选取符合目标创建参数的目标计算节点作为待创建虚拟机的创建节点包括:
S130:判断候选计算节点的个数是否大于1,如果是,则进入S131;
S131:选取候选计算节点中包含的服务个数最少的目标计算节点作为待创建虚拟机的创建节点。
在具体实施中,候选计算节点的个数可能不是一个,即有多个计算节点包含目标服务类型,此时,为了达到待创建虚拟机的最优化,本实施例中,将这些计算节点中包含的服务个数最少的计算节点作为待创建虚拟机的创建节点。本实施例中,计算节点上的服务个数与该节点上所创建的虚拟机的个数是相同的,即若一个计算节点上创建了5个虚拟机,则其服务个数就是5。另外,如果S130的判断结果为否,则说明只有一个候选计算节点,那么该计算节点就是待创建虚拟机的创建节点。
通过将服务个数最少的计算节点作为待创建虚拟机的创建节点,可以有效避免将虚拟机集中到一个计算节点上,从而造成该计算节点的压力过大的问题。
如图2所示,在上述实施例的基础上,判断各计算节点的服务类型是否包含目标服务类型包括:
S120:读取其中一个计算节点的服务类型;
S121:判断当前计算节点的服务类型是否包含目标服务类型,如果是则进入S122,如果否,则进入S124;
S122:标记当前计算节点为候选计算节点,并判断当前计算节点是否为集群中的最后一个计算节点,如果是,则进入S123,否则,进入返回S120;
S123:确定各计算节点的服务类型包含目标服务类型;
S124:判断当前计算节点是否为集群中的最后一个计算节点,如果是,则进入S125,否则返回S120;
S125:确定各计算节点的服务类型不包含目标服务类型。
进一步的,如果当前计算节点的服务类型不包含目标服务类型,则还包括:
S20:判断集群是否存在候选计算节点,如果是,则进入S21,否则,进入S124;
S21:标记当前计算节点为非候选计算节点。
由于集群中有可能不存在候选计算节点,即集群中的全部计算节点都不包含目标服务类型,也有可能存在若干个候选计算节点和若干个非候选计算节点,针对后者,如果存在若干个候选计算节点,则若当前计算节点的服务类型不包含目标服务类型时,该计算节点就不可能参与到后续的计算中,所以为了缩小后续过程的计算范围,本实施例中,通过标记的方式将那些不可能成为候选计算节点的计算节点排除。
需要说明的是,将某一计算节点标记为非候选计算节点的前提是集群中已经存在候选计算节点,至于存在几个候选计算节点不作限定。
可以理解的是,标记的类型不作限定,但是标记只是针对本轮待创建虚拟机的调度过程,当为待创建虚拟机确定了目标计算节点后,该标记就会删除,以便进入到下一个待创建虚拟机的调度过程。
在上述实施例的基础上,如果各计算节点的服务类型不包含目标服务类型,则还包括:
S22:筛选出满足目标创建参数的计算节点;
S23:判断筛选出的计算节点的个数是否大于1,如果是,则进入S24;
S24:将筛选出的计算节点中包含的服务个数最少的计算节点作为待创建虚拟机的创建节点。
可以理解的是,集群中可能不存在待创建虚拟机的目标服务类型,那么集群中的全部计算节点都不是候选计算节点,针对该中情况,本实施例中,只考虑满足待创建虚拟机的目标创建参数这一要求。同样的,满足目标创建参数的计算节点的个数可能不是一个,即有多个计算节点满足目标创建参数,此时,为了达到待创建虚拟机的最优化,本实施例中,将这些计算节点中包含的服务个数最少的计算节点作为待创建虚拟机的创建节点。本实施例中,计算节点上的服务个数与该节点上所创建的虚拟机的个数是相同的,即若一个计算节点上创建了5个虚拟机,则其服务个数就是5。另外,如果S23的判断结果为否,则说明只有一个计算节点满足目标创建参数,那么该计算节点就是待创建虚拟机的创建节点。
通过将服务个数最少的计算节点作为待创建虚拟机的创建节点,可以有效避免将虚拟机集中到一个计算节点上,从而造成该计算节点的压力过大的问题。
在上述实施例的基础上,还包括:
S25:在目标计算节点创建待创建虚拟机后,更新目标计算节点的服务个数。
为了方便下一个待创建虚拟机的调度,本实施例中,将目标计算节点的服务个数更新,例如,如果控制节点是通过数据库的形式记录各计算节点的服务个数,可以对数据库中的目标计算节点的服务个数更新,具体操作是将该计算节点的服务个数+1。
可以理解的是,如果某一个计算节点中已经创建的虚拟机被移除,则还需要在数据库中更新,具体操作是将该计算节点的服务个数-1。
在上述实施例中,对于虚拟机的调度方法进行了详细描述,本申请还提供虚拟机的调度装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
图3为本申请实施例提供的一种虚拟机的调度装置的结构图。如图3所示,该装置包括:
读取模块10,用于读取待创建虚拟机的目标服务类型以及目标创建参数;
获取模块11,用于获取集群内各计算节点运行的虚拟机的服务类型以及资源参数;
判断模块12,用于判断各计算节点的服务类型是否包含目标服务类型,如果包含,则触发选取模块;
选取模块13,用于在包含目标服务器类型的候选计算节点中选取符合目标创建参数的目标计算节点作为待创建虚拟机的创建节点。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
作为优选地实施方式,如果当前计算节点的服务类型不包含目标服务类型,则还包括:
候选计算节点判断模块,用于判断集群是否存在候选计算节点,如果是,则触发标记模块;
标记模块,用于标记当前计算节点为非候选计算节点。
作为优选地实施方式,如果各计算节点的服务类型不包含目标服务类型,则还包括:
筛选模块,用于筛选出满足目标创建参数的计算节点;
非候选计算节点判断模块,用于判断筛选出的计算节点的个数是否大于1,如果是,则触发确定模块;
确定模块,用于将筛选出的计算节点中包含的服务个数最少的计算节点作为待创建虚拟机的创建节点。
作为优选地实施方式,还包括:
更新模块,用于在目标计算节点创建待创建虚拟机后,更新目标计算节点的服务个数。
本实施例提供的虚拟机的调度装置,在接收到虚拟机的创建命令后,首选读取待创建虚拟机的目标服务类型以及目标创建参数,然后获取集群内各计算节点运行的虚拟机的服务类型以及资源参数,通过判断各计算节点的服务类型是否包含目标服务类型来确定候选计算节点,最后在候选计算节点上选取符合目标创建参数的目标计算节点作为待创建虚拟机的创建节点。由此可见,采用本申请通过的技术方案,在能够满足待创建虚拟机的目标创建参数的要求之外,能够将同一服务类型的虚拟机集中在同一个计算节点上,因此,在对某一个服务继续维护时,可以在同一个计算节点上实现维护,有利于提高维护效率,同时,避免对多个计算节点的干扰。
图4为本申请实施例提供的另一种虚拟机的调度装置的结构图。如图4所示,基于硬件角度,该装置包括存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例所述的虚拟机的调度方法的步骤。
本实施例提供的虚拟机的调度装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的虚拟机的调度方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于目标创建参数等。
在一些实施例中,诊断设备20还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图4中示出的结构并不构成对虚拟机的调度装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的虚拟机的调度装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:在接收到虚拟机的创建命令后,首选读取待创建虚拟机的目标服务类型以及目标创建参数,然后获取集群内各计算节点运行的虚拟机的服务类型以及资源参数,通过判断各计算节点的服务类型是否包含目标服务类型来确定候选计算节点,最后在候选计算节点上选取符合目标创建参数的目标计算节点作为待创建虚拟机的创建节点。由此可见,采用本申请通过的技术方案,在能够满足待创建虚拟机的目标创建参数的要求之外,能够将同一服务类型的虚拟机集中在同一个计算节点上,因此,在对某一个服务继续维护时,可以在同一个计算节点上实现维护,有利于提高维护效率,同时,避免对多个计算节点的干扰。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的虚拟机的调度方法、装置及计算机存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (9)
1.一种虚拟机的调度方法,其特征在于,包括:
读取待创建虚拟机的目标服务类型以及目标创建参数;
获取集群内各计算节点运行的虚拟机的服务类型以及资源参数;其中所述目标服务类型为所述待创建虚拟机所需要的所述服务类型;
通过遍历的方式对各所述计算节点的服务类型进行检测,并判断各所述计算节点的服务类型是否包含所述目标服务类型;
如果包含,则在包含所述目标服务类型的候选计算节点中选取符合所述目标创建参数的目标计算节点作为所述待创建虚拟机的创建节点;
所述判断各所述计算节点的服务类型是否包含所述目标服务类型包括:
读取其中一个计算节点的服务类型;
判断当前计算节点的服务类型是否包含所述目标服务类型;
如果包含,则标记当前计算节点为所述候选计算节点,并判断当前计算节点是否为所述集群中的最后一个计算节点;
如果是最后一个,则确定各所述计算节点的服务类型包含所述目标服务类型;
如果不是最后一个,则返回所述读取其中一个计算节点的服务类型的步骤;
如果不包含,则判断当前计算节点是否为所述集群中的最后一个计算节点;
如果是最后一个,则确定各所述计算节点的服务类型不包含所述目标服务类型;
如果不是最后一个,则返回所述读取其中一个计算节点的服务类型的步骤。
2.根据权利要求1所述的虚拟机的调度方法,其特征在于,所述在包含所述目标服务类型的候选计算节点中选取符合所述目标创建参数的目标计算节点作为所述待创建虚拟机的创建节点包括:
判断所述候选计算节点的个数是否大于1;
如果是,则选取所述候选计算节点中包含的服务个数最少的目标计算节点作为所述待创建虚拟机的创建节点,其中所述服务个数为所述候选计算节点运行的虚拟机的个数。
3.根据权利要求1所述的虚拟机的调度方法,其特征在于,如果当前计算节点的服务类型不包含所述目标服务类型,则还包括:
判断所述集群是否存在所述候选计算节点;
如果是,则标记当前计算节点为非所述候选计算节点;
如果否,则进入所述判断当前计算节点是否为所述集群中的最后一个计算节点的步骤。
4.根据权利要求1所述的虚拟机的调度方法,其特征在于,如果各所述计算节点的服务类型不包含所述目标服务类型,则还包括:
筛选出满足所述目标创建参数的计算节点;
判断筛选出的计算节点的个数是否大于1;
如果是,则将筛选出的计算节点中包含的服务个数最少的计算节点作为所述待创建虚拟机的创建节点。
5.根据权利要求1-4任意一项所述的虚拟机的调度方法,其特征在于,所述目标创建参数包括内存容量、CPU个数和存储容量。
6.根据权利要求2所述的虚拟机的调度方法,其特征在于,在所述目标计算节点创建所述待创建虚拟机后,还包括:
更新所述目标计算节点的服务个数。
7.一种虚拟机的调度装置,其特征在于,包括:
读取模块,用于读取待创建虚拟机的目标服务类型以及目标创建参数;
获取模块,用于获取集群内各计算节点运行的虚拟机的服务类型以及资源参数;其中所述目标服务类型为所述待创建虚拟机所需要的所述服务类型;
判断模块,用于通过遍历的方式对各所述计算节点的服务类型进行检测,并判断各所述计算节点的服务类型是否包含所述目标服务类型,如果包含,则触发选取模块;
选取模块,用于在包含所述目标服务类型的候选计算节点中选取符合所述目标创建参数的目标计算节点作为所述待创建虚拟机的创建节点;
所述判断各所述计算节点的服务类型是否包含所述目标服务类型包括:
读取其中一个计算节点的服务类型;
判断当前计算节点的服务类型是否包含所述目标服务类型;
如果包含,则标记当前计算节点为所述候选计算节点,并判断当前计算节点是否为所述集群中的最后一个计算节点;
如果是最后一个,则确定各所述计算节点的服务类型包含所述目标服务类型;
如果不是最后一个,则返回所述读取其中一个计算节点的服务类型的步骤;
如果不包含,则判断当前计算节点是否为所述集群中的最后一个计算节点;
如果是最后一个,则确定各所述计算节点的服务类型不包含所述目标服务类型;
如果不是最后一个,则返回所述读取其中一个计算节点的服务类型的步骤。
8.一种虚拟机的调度装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的虚拟机的调度方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的虚拟机的调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010002910.9A CN111143039B (zh) | 2020-01-02 | 2020-01-02 | 一种虚拟机的调度方法、装置及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010002910.9A CN111143039B (zh) | 2020-01-02 | 2020-01-02 | 一种虚拟机的调度方法、装置及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111143039A CN111143039A (zh) | 2020-05-12 |
CN111143039B true CN111143039B (zh) | 2024-01-02 |
Family
ID=70523328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010002910.9A Active CN111143039B (zh) | 2020-01-02 | 2020-01-02 | 一种虚拟机的调度方法、装置及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111143039B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113326102B (zh) * | 2021-08-02 | 2021-12-10 | 中电长城网际安全技术研究院(北京)有限公司 | 大规模虚拟机创建方法、装置、计算机设备和可读介质 |
CN115292045B (zh) * | 2022-08-09 | 2023-06-23 | 安超云软件有限公司 | Jenkins多节点复用的方法、系统及电子设备 |
CN115328666B (zh) * | 2022-10-14 | 2023-07-14 | 浪潮电子信息产业股份有限公司 | 设备调度方法、系统、电子设备及计算机可读存储介质 |
CN116405391A (zh) * | 2023-04-10 | 2023-07-07 | 长扬科技(北京)股份有限公司 | 基于OpenStack的虚拟机节点筛选方法、系统和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103747059A (zh) * | 2013-12-26 | 2014-04-23 | 华中科技大学 | 一种面向多租户的云计算服务器集群网络保障方法和系统 |
CN107666493A (zh) * | 2016-07-27 | 2018-02-06 | 腾讯科技(深圳)有限公司 | 一种数据库配置方法及其设备 |
CN109002359A (zh) * | 2018-09-03 | 2018-12-14 | 郑州云海信息技术有限公司 | 一种计算节点服务器的调度方法及相关装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101595854B1 (ko) * | 2013-12-24 | 2016-02-19 | 주식회사 케이티 | 클라우드 시스템에서의 가상 머신 배치 방법 및 장치 |
-
2020
- 2020-01-02 CN CN202010002910.9A patent/CN111143039B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103747059A (zh) * | 2013-12-26 | 2014-04-23 | 华中科技大学 | 一种面向多租户的云计算服务器集群网络保障方法和系统 |
CN107666493A (zh) * | 2016-07-27 | 2018-02-06 | 腾讯科技(深圳)有限公司 | 一种数据库配置方法及其设备 |
CN109002359A (zh) * | 2018-09-03 | 2018-12-14 | 郑州云海信息技术有限公司 | 一种计算节点服务器的调度方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111143039A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111143039B (zh) | 一种虚拟机的调度方法、装置及计算机存储介质 | |
US11392843B2 (en) | Utilizing a machine learning model to predict a quantity of cloud resources to allocate to a customer | |
WO2022037337A1 (zh) | 机器学习模型的分布式训练方法、装置以及计算机设备 | |
CN108009016B (zh) | 一种资源负载均衡控制方法及集群调度器 | |
CN112559007B (zh) | 多任务模型的参数更新方法、装置及电子设备 | |
JP2022511716A (ja) | 非集中的な分散型深層学習 | |
CN110869909A (zh) | 应用机器学习算法来计算健康分数以进行工作负载调度的系统和方法 | |
CN113377540A (zh) | 集群资源调度方法及装置、电子设备和存储介质 | |
CN111694617B (zh) | 网络离线模型的处理方法、人工智能处理装置及相关产品 | |
CN112465146A (zh) | 一种量子与经典混合云平台以及任务执行方法 | |
CN113821332B (zh) | 自动机器学习系统效能调优方法、装置、设备及介质 | |
CN114895773A (zh) | 异构多核处理器的能耗优化方法、系统、装置及存储介质 | |
CN114091589B (zh) | 模型训练方法、装置、电子设备及介质 | |
CN113608751B (zh) | 推理服务平台的运行方法、装置、设备及存储介质 | |
CN113407343A (zh) | 一种基于资源分配的业务处理方法、装置及设备 | |
US11526791B2 (en) | Methods and systems for diverse instance generation in artificial intelligence planning | |
CN113672375A (zh) | 资源分配预测方法、装置、设备及存储介质 | |
CN112631994A (zh) | 数据迁移方法及系统 | |
CN112527509A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN116737370A (zh) | 一种多资源调度方法、系统、存储介质及终端 | |
CN114785693B (zh) | 基于分层强化学习的虚拟网络功能迁移方法及装置 | |
CN115016735A (zh) | 一种分布式缓存系统的控制方法、装置及介质 | |
CN114817288A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
KR20220071895A (ko) | 오토 스케일링 방법, 장치 및 시스템 | |
US8214839B1 (en) | Streaming distribution of file data based on predicted need |
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 |