一种云主机创建方法、装置、设备及可读存储介质与流程

文档序号:19878618发布日期:2020-02-08 06:43阅读:124来源:国知局
一种云主机创建方法、装置、设备及可读存储介质与流程

本发明涉及虚拟化技术领域,特别是涉及一种云主机创建方法、装置、设备及可读存储介质。



背景技术:

在云计算时代,资源通过云平台统一管理,通过云平台创建云主机是其中的核心业务,云主机创建时,若主机和存储选择不当,会导致云主机创建失败,或因资源分配不均而影响云平台的性能。因此,如何在创建云主机的时候简单合理的选择云资源是一个关键问题。

传统做法要么是在创建云主机的时候手动选择主机、存储,这样对用户不友好,也不智能,且普通用户一般无法准确的选择到合理的主机存储;要么在创建云主机的时候根据现有的cpu、内存大致的选择一个空间最大的,也不是很准确;要么基于虚拟化技术来自动选择,但是云平台要集成的虚拟化技术比较多,自动选择的准确性也参差不齐。

综上所述,如何有效地解决云主机创建等问题,是目前本领域技术人员急需解决的技术问题。



技术实现要素:

本发明的目的是提供一种云主机创建方法、装置、设备及可读存储介质,以在面对用户发送的不同云主机创建请求时,快速准确的创建云主机。

为解决上述技术问题,本发明提供如下技术方案:

一种云主机创建方法,包括:

接收并解析客户端发送的云主机创建请求,获得携带信息;

判断所述携带信息是否包括创建云主机所需的必要创建参数组;

若否,则利用所述携带信息确定相互匹配的目标创建参数组;

若是,则将相互匹配的所述必要创建参数组确定为目标创建参数组;

按照所述目标创建参数组创建云主机。

优选地,按照所述目标创建参数组创建云主机,包括:

按照目标存储参数和目标主机参数创建所述云主机。

优选地,利用所述携带信息确定相互匹配的目标创建参数组,包括:

在所述携带信息中具有必要创建参数时,则利用主机剩余容量或云主机硬盘大小,以所述必要创建参数为基础补全所述目标创建参数组;

在所述携带信息中无必要创建参数时,则利用所述主机剩余容量和所述云主机硬盘大小,直接确定出所述目标创建参数组。

优选地,以所述必要创建参数为基础补全所述目标创建参数组,包括:

当所述必要创建参数为存储参数时,则利用所述主机剩余容量确定出与所述存储参数匹配的目标主机参数;

当所述必要创建参数为主机参数时,则利用所述云主机硬盘大小确定出与所述主机参数匹配的目标存储参数。

优选地,利用所述主机剩余容量确定出与所述存储参数匹配的目标主机参数,包括:

将所述主机剩余容量最大的主机id确定为所述目标主机参数;

相应地,利用所述云主机硬盘大小确定出与所述主机参数匹配的目标存储参数,包括:

将大于所述云主机硬盘大小且对应剩余空间最大的存储id确定为所述目标存储参数。

优选地,所述将相互匹配的所述必要创建参数组确定为目标创建参数组,包括:

按照存储与主机之间的所属关系,判断所述必要创建参数组中的存储参数和主机参数是否匹配;

如果是,则将所述存储参数确定为所述目标存储参数,将所述主机参数确定为所述目标存储参数。

优选地,所述按照存储与主机之间的所属关系,判断所述必要创建参数组中的存储参数和主机参数是否匹配,包括:

在所述存储参数对应的目标存储挂载在所述主机参数对应的目标主机下时,确定所述存储参数和所述主机参数匹配。

一种云主机创建装置,包括:

请求携带信息获取模块,用于接收并解析客户端发送的云主机创建请求,获得携带信息;

判断模块,用于判断所述携带信息是否包括创建云主机所需的必要创建参数组;

参数确定模块,用于若所述携带信息包括所述必要创建参数组,则利用所述携带信息确定相互匹配的目标创建参数组;若所述携带信息未包括所述必要创建参数组,则将相互匹配的所述必要创建参数组确定为目标创建参数组;

云主机创建模块,用于按照所述目标创建参数组创建云主机。

一种云主机创建设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述云主机创建方法的步骤。

一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述云主机创建方法的步骤。

应用本发明实施例所提供的方法,接收并解析客户端发送的云主机创建请求,获得携带信息;判断携带信息是否包括创建云主机所需的必要创建参数组;若否,则利用携带信息确定相互匹配的目标创建参数组;若是,则将相互匹配的必要创建参数组确定为目标创建参数组;按照目标创建参数组创建云主机。

在本方法中,在业务层中对云主机创建进行改进,以提高云主机创建成功率。具体的,当接收到客户端发送的云主机创建请求时,解析云主机创建请求,得到携带信息。然后基于携带信息中具体携带的信息内容,采取不同的策略,得到目标创建参数组。具体而言,当携带信息中包括创建云主机所需的必要创建参数组时,则可在确定必要创建参数组合理时,将其确定为目标创建参数组;当携带信息中未包括必要创建参数组时,则可基于携带信息确定出目标创建参数组。确定出目标创建参数组之后,便可按照目标创建参数组创建出云主机。可见,在本方法中,用户仅需发送云主机创建请求,而云主机创建请求中既可以指定必要创建参数,也可以无需指定具体的必要创建参数,该方法可确定出能够创建出云主机的目标创建参数组。

相应地,本发明实施例还提供了与上述云主机创建方法相对应的云主机创建装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中一种云主机创建方法的实施流程图;

图2为本发明实施例中一种云主机创建方法的具体实施步骤示意图;

图3为本发明实施例中一种云主机创建装置的结构示意图;

图4为本发明实施例中一种云主机创建设备的结构示意图;

图5为本发明实施例中一种云主机创建设备的具体结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一:

请参考图1,图1为本发明实施例中一种云主机创建方法的流程图,该方法可应用于云平台中,包括以下步骤:

s101、接收并解析客户端发送的云主机创建请求,获得携带信息。

云平台接收到客户端发送的云主机创建请求之后,可通过解析该云主机创建请求,获得请求所携带的信息。

其中,携带信息可具体为用户id、云主机创建数量或云主机创建参数等信息。创建云主机通常要为其分配资源,如主机、存储以及网络,因此,云主机创建参数可具体为指定主机,指定存储或网络的参数。通常来说,关于网络部署,可自行设置。因此,对于创建云主机,指定主机的主机参数(可用主机id作为主机参数)和指定存储的存储参数(可用存储的id作为存储参数,云主机的硬盘是关联存储的,在创建的时候要指明该硬盘关联哪个存储)则为必要的参数,且仅当同时具备且合理时,才能创建云主机。基于此,在本申请中,将主机参数和存储参数的组合称为必要创建参数组,将主机参数和存储参数均称之为必要创建参数。需要说明的是,在本实施例中,对于用户发送的云主机创建请求是否携带创建云主机所需必要创建参数组并不限定。即,在该携带信息中,可包括必要创建参数组,也可仅有主机参数或存储参数,当然也可既无主机参数又无存储参数。

需要说明的是,云主机硬盘和存储的关系:硬盘是虚拟机里的一个硬件设施,和普通电脑的磁盘一样。本文中存储是硬件存储虚拟化出来的一块可以存数据信息的虚拟区域,在虚拟化出来的虚拟机中,每一块硬盘都要关联一个存储。即,在创建云主机时,首先根据要创建云主机的硬盘的大小来选择存储,如果备选的存储剩余大小都比要创建的云主机硬盘大,就首选剩余空间最大的存储关联到云主机的硬盘上。

s102、判断携带信息是否包括创建云主机所需的必要创建参数组。

在获得携带信息之后,可具体分析该携带参数中是否包括必要创建参数组。即,当携带信息中既有主机参数,又有存储参数时,即为包括必要创建参数组;否则确定携带信息中无必要创建参数组。

在本实施例中,根据携带信息中的参数情况,可执行不同的处理操作。具体的,当携带信息中已包括存储参数和主机参数时,执行步骤s104;当携带信息仅包括存储参数或主机参数时,和携带信息中无存储参照和主机参数时,则进行步骤s103。

s103、利用携带信息确定相互匹配的目标创建参数组。

其中,利用携带信息确定相互匹配的目标创建参数组,可包括以下两种情况:

情况一:

在携带信息中具有必要创建参数时,则利用主机剩余容量或云主机硬盘大小,以必要创建参数为基础补全目标创建参数组。

此情况仅在携带信息中未同时具有主机参数和存储参数情况下,确定目标创建参数组的时发生,因而,此处的必要创建参数即指主机参数或存储参数。也就是说,在携带信息中存在一个必要创建参数时,以必要创建参数为基础补全目标创建参数组,具体包括两种细分情况:

1、当必要创建参数为存储参数时,则利用主机剩余容量确定出与存储参数匹配的目标主机参数;

2、当必要创建参数为主机参数时,则利用云主机硬盘大小确定出与主机参数匹配的目标存储参数。

例如,当用户a通过操作客户端向云平台发出的云主机创建请求为指定主机的id为x11,而未指定存储对应的存储参数时,此时,可确定出挂载于xy主机下的存储中选择其中一个存储的id,如y12作为存储参数,即此时对应的目标创建参数组即为(x11,y12)。

为了保障云平台中的主机以及存储(硬件存储,如硬盘,一个硬盘可虚拟化出多个存储)的负载均值,在以必要创建参数为基础补全目标创建参数组时,可利用主机剩余容量或云主机硬盘大小进行确定。具体的,利用主机剩余容量确定出与存储参数匹配的目标主机参数,包括:

将主机剩余容量最大的主机id确定为目标主机参数;相应地,利用云主机硬盘大小确定出与主机参数匹配的目标存储参数,包括:将大于所述云主机硬盘大小且对应剩余空间最大的存储id确定为目标存储参数。例如,当携带信息中包括主机参数x2,而此时确定出挂载于x2下的存储有y21-y26且存储剩余空间均大于云主机硬盘大小,此时可在y21-y26选择存储剩余容量最大的y23作为存储参数,即目标存储参数为(x2,y23)。

情况二:

在携带信息中无必要创建参数时,则利用主机剩余容量和云主机硬盘大小,直接确定出目标创建参数组。

此时,即无存储参数也无主机参数,因此可基于主机剩余容量和云主机硬盘大小,直接确定出目标创建参数组。具体来说,存储是挂载与主机下的,而一个主机下可挂载多个存储,而一个云平台中有多个主机,通过路由器相互连接。

其中,将相互匹配的必要创建参数组确定为目标创建参数组,包括:

步骤一、按照存储与主机之间的所属关系,判断必要创建参数组中的存储参数和主机参数是否匹配;

步骤二、如果是,则将存储参数确定为目标存储参数,将主机参数确定为目标存储参数。

其中,步骤一,可具体为在存储参数对应的目标存储挂载在主机参数对应的目标主机下时,确定存储参数和主机参数匹配。

也就是说,云平台自行选择确定目标创建参数组时,则可直接选择主机剩余容量最大的主机id作为主机参数,而将该主机下所挂载的存储剩余容量最大的存储id作为存储参数,即可确定出目标创建参数组。需要说明的,目标创建参数组相比与必要创建参数组,目标创建参数组中的主机参数和存储参数符合主机存储之间的对应关系,而必要创建参数组因其由用户提供,因而不一定满足主机存储之间的对应关系。

当然,在本发明的一种具体实施方式中,考虑到用户在未指定必要创建参数组时,即可视为用户对云主机创建技术不了解,此时为了实现负载均衡,可直接利用主机剩余容量和云主机硬盘大小,直接确定出目标创建参数组。

s104、将相互匹配的必要创建参数组确定为目标创建参数组。

当携带信息中存在必要创建参数时,还需对必要创建参数组中的存储参数和主机参数进行匹配性验证,具体的,即确定主机参数对应的主机是否可访问存储参数对应的硬盘。例如,查看存储参数对应硬盘是否挂载与主机参数对应的主机下。当确定必要创建参数组中的存储参数和主机参数匹配时,则可将必要创建参数组确定为目标创建参数组;否则可输出参数设置有误的提示信息至客户端。

s105、按照目标创建参数组创建云主机。

具体的,即按照目标存储参数和目标主机参数创建云主机。也就是说,在目标主机参数对应的主机上创建云主机,并将目标存储参数对应的存储区域划分给该云主机。

应用本发明实施例所提供的方法,接收并解析客户端发送的云主机创建请求,获得携带信息;判断携带信息是否包括创建云主机所需的必要创建参数组;若否,则利用携带信息确定相互匹配的目标创建参数组;若是,则将相互匹配的必要创建参数组确定为目标创建参数组;按照目标创建参数组创建云主机。

在本方法中,在业务层中对云主机创建进行改进,以提高云主机创建成功率。具体的,当接收到客户端发送的云主机创建请求时,解析云主机创建请求,得到携带信息。然后基于携带信息中具体携带的信息内容,采取不同的策略,得到目标创建参数组。具体而言,当携带信息中包括创建云主机所需的必要创建参数组时,则可在确定必要创建参数组合理时,将其确定为目标创建参数组;当携带信息中未包括必要创建参数组时,则可基于携带信息确定出目标创建参数组。确定出目标创建参数组之后,便可按照目标创建参数组创建出云主机。可见,在本方法中,用户仅需发送云主机创建请求,而云主机创建请求中既可以指定必要创建参数,也可以无需指定具体的必要创建参数,该方法可确定出能够创建出云主机的目标创建参数组。

为便于本领域技术人员更好地理解本发明实施例所提供的云主机创建方法,下面结合具体的应用场景为例,对上述云主机创建方法进行详细说明。

在云资源硬件层面上,交换机和存储都是依附在主机上的,一个网络交换机可以跨多个主机,而一个主机可以对应多个存储。主机的cpu内存剩余量、存储的剩余容量都会影响创建云主机。

应用上述云主机创建方法后,在云平台上批量创建云主机时,包括以下创建场景:

第一种场景,用户都不手动指定云资源(包括主机资源、存储资源),即全部是自动选择,云平台可根据用户所处的资源来筛选主机范围,在可选主机内进行cpu、内存的权重值计算,然后进行排序,再用递归算法针对每一块硬盘、选定的主机来查询存储列表来获取最优的存储,这样一个云主机云资源就锁定了,创建成功开机之后资源占用完成之后,再来计算第二个云主机,这样每一个云主机都会选择到合理的云资源了。

第二种场景,用户选择了主机资源,云平台可在已选择主机的范围内来进行选择最优存储,算法和场景一类似,只是主机范围锁定了。

第三种场景,用户选择了某个存储资源,就要基于存储来反选最优主机,并且校验主机和交换机是是否匹配。

请参考图2,图2为本发明实施例中一种云主机创建方法的具体实施步骤示意图,该方法包括:

1)、用户在云平台创建云主机时,可以选择主机存储,也可以都不选。

2)、如果用户选择了主机和存储就校验一下选择的主机存储和网络是否匹配,如果匹配就直接创建。

3)、如果用户选择了存储或者主机,或者都没有选择,可自行选择主机和存储。具体的自行选择过程如下:

4)、首选划定主机范围,根据集群,选择的网络和存储来取交集,获取主机列表,按照剩余cpu*0.3+剩余内存*0.7的权重来取主机的剩余容量值,根据剩余容量值对主机进行排序。

5)、循环主机,获取每一个主机的存储,根据剩余存储进行排序,得到存储列表。

6)、循环批量要创建的云主机,循环每一台云主机的硬盘。

7)、在循环内先拿剩余存储最多的存储和硬盘大小进行比较,如果硬盘过大,即存储的剩余存储不足以供云主机使用,可直接抛错:反之,记录硬盘大小与存储的关系并且将已选定的存储中扣除剩余云主机硬盘所占用的存储大小。确定第二块云主机硬盘先判断第一个存储是否够用,如果不够就取第二个存储,依次类推,直到硬盘循环完毕。

8)、这样就会为每一个虚拟机中的每一块硬盘选择了主机和存储,创建虚拟机完成之后开机,将cpu、内存、存储占用上,下一个云主机重新排序选择。

9)、批量创建云主机选择资源完毕。

可见,云主机创建方法中,用户可以自己指定主机存储,可以不指定全部手动。存储和交换机都会依附于主机,需要根据用户选择的集群、网络、存储取出主机的交集。根据cpu、内存的权重值算出主机的剩余量,根据剩余存储算出存储的剩余量,对主机和存储根据剩余量进行排序。针对多个云主机多个硬盘,运用递归算法选择出每一个云主机最合理的主机,每一块硬盘最合理的存储。该云主机创建方法,可大大简化了用户创建云主机的过程,提高了创建云主机的成功率,云主机资源利用更合理,提升了云平台的整体性能。

实施例二:

相应于上面的方法实施例,本发明实施例还提供了一种云主机创建装置,下文描述的云主机创建装置与上文描述的云主机创建方法可相互对应参照。

参见图3所示,该装置包括以下模块:

请求携带信息获取模块101,用于接收并解析客户端发送的云主机创建请求,获得携带信息;

判断模块102,用于判断携带信息是否包括创建云主机所需的必要创建参数组;

参数确定模块103,用于若携带信息包括必要创建参数组,则利用携带信息确定相互匹配的目标创建参数组;若携带信息未包括必要创建参数组,则将相互匹配的必要创建参数组确定为目标创建参数组;

云主机创建模块104,用于按照目标创建参数组创建云主机。

应用本发明实施例所提供的装置,在业务层中对云主机创建进行改进,以提高云主机创建成功率。具体的,当接收到客户端发送的云主机创建请求时,解析云主机创建请求,得到携带信息。然后基于携带信息中具体携带的信息内容,采取不同的策略,得到目标创建参数组。具体而言,当携带信息中包括创建云主机所需的必要创建参数组时,则可在确定必要创建参数组合理时,将其确定为目标创建参数组;当携带信息中未包括必要创建参数组时,则可基于携带信息确定出目标创建参数组。确定出目标创建参数组之后,便可按照目标创建参数组创建出云主机。可见,在本装置中,用户仅需发送云主机创建请求,而云主机创建请求中既可以指定必要创建参数,也可以无需指定具体的必要创建参数,该装置可确定出能够创建出云主机的目标创建参数组。

在本发明的一种具体实施方式中,云主机创建模块104,具体用于按照目标存储参数和目标主机参数创建云主机。

在本发明的一种具体实施方式中,参数确定模块103,包括:

参数补全单元,用于在携带信息中具有必要创建参数时,则利用主机剩余容量或云主机硬盘大小,以必要创建参数为基础补全目标创建参数组;

参数生成单元,用于在携带信息中无必要创建参数时,则利用主机剩余容量和云主机硬盘大小,直接确定出目标创建参数组。

在本发明的一种具体实施方式中,参数补全单元,具体用于当必要创建参数为存储参数时,则利用主机剩余容量确定出与存储参数匹配的目标主机参数;当必要创建参数为主机参数时,则利用云主机硬盘大小确定出与主机参数匹配的目标存储参数。

在本发明的一种具体实施方式中,参数补全单元,具体用于将主机剩余容量最大的主机id确定为目标主机参数;相应地,利用云主机硬盘大小确定出与主机参数匹配的目标存储参数,包括:

将大于云主机硬盘大小且对应剩余空间最大的存储id确定为目标存储参数。

在本发明的一种具体实施方式中,参数确定模块103,具体用于按照存储与主机之间的所属关系,判断必要创建参数组中的存储参数和主机参数是否匹配;如果是,则将存储参数确定为目标存储参数,将主机参数确定为目标存储参数。

在本发明的一种具体实施方式中,参数确定模块103,具体用于在存储参数对应的目标存储挂载在主机参数对应的目标主机下时,确定存储参数和主机参数匹配。

实施例三:

相应于上面的方法实施例,本发明实施例还提供了一种云主机创建设备,下文描述的一种云主机创建设备与上文描述的一种云主机创建方法可相互对应参照。

参见图4所示,该云主机创建设备包括:

存储器d1,用于存储计算机程序;

处理器d2,用于执行计算机程序时实现上述方法实施例的云主机创建方法的步骤。

具体的,请参考图5,为本实施例提供的一种云主机创建设备的具体结构示意图,该云主机创建设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在云主机创建设备301上执行存储介质330中的一系列指令操作。

云主机创建设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。例如,windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等。

上文所描述的云主机创建方法中的步骤可以由云主机创建设备的结构实现。

实施例四:

相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种云主机创建方法可相互对应参照。

一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的云主机创建方法的步骤。

该可读存储介质具体可以为u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可存储程序代码的可读存储介质。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1