虚拟机的创建方法、资源的管理方法及装置与流程

文档序号:12801720阅读:383来源:国知局
虚拟机的创建方法、资源的管理方法及装置与流程
本发明涉及移动通信领域,尤其涉及一种虚拟机的创建方法、资源的管理方法及装置。
背景技术
:虚拟机技术通过虚拟机软件,在一台物理计算机上模拟出一台或多台虚拟机,这些虚拟机完全像真正的计算机那样工作,例如可以安装操作系统、安装应用程序、访问网络资源等等。然而随着虚拟机技术的普遍流行,如何有效地创建虚拟机就成为要解决的问题。图1为现有技术的网络拓扑示意图,图1中,控制器部署在公有云中,并通过因特网(internet)、城域网来连接多个节点,此处的节点包括网关节点以及通过该网关节点访问外部网络的计算节点,每个节点分别向控制器登记该节点的资源的状态信息,同时接受控制器的管理。可见,控制器同时管理网关节点以及计算节点,而各个节点之间是相互独立的。图1中,当需要创建虚拟机时,控制器首先获取虚拟机创建请求中的资源需求,然后从其管理的多个节点中确定满足所述资源需求的目标节点,在该目标节点上部署虚拟机。然而当控制器管理的节点比较多时,控制器从海量节点中确定目标节点会耗费大量的时间,这会严重影响虚拟机创建的效率。技术实现要素:本发明实施例提供了一种虚拟机的创建方法、资源的管理方法及装置,可以提高虚拟机创建的效率。一方面,本发明的实施例提供一种虚拟机的创建方法。方法包括:获取用于创建虚拟机的资源需求,该资源需求包括资源类型和资源数量;确定提供资源类型对应的资源的至少一个子节点;至少一个子节点包括管理节点从管理节点管理的所有子节点中确定的部分子节点;根据资源数量从至少一个子节点中确定目标子节点;向目标子节点发送虚拟机创建指令,该虚拟机创建指令用于指示目标子节点根据资源需求创建所述虚拟机。也即本发明从管理节点的部分子节点中确定创建虚拟机的目标子节点,由此可以大大减少子节点的数目,从而可以提高虚拟机创建的效率。在一个可能的设计中,在创建虚拟机前,控制节点可以接收虚拟机的类型选择指令;根据类型选择指令,确定虚拟机的类型;根据虚拟机的类型,获取虚拟机的资源需求。也即在本发明中,在创建虚拟机时,可以不用用户手动输入资源需求,控制节点直接根据用户的选择指令,即可确定虚拟机的资源需求,从而提升了用户体验。在一个可能的设计中,当在虚拟机上安装应用程序以及为虚拟机分配第一通信地址和第二通信地址之后,向管理目标子节点的目标管理节点发送通知消息,通知消息用于指示目标管理节点建立第一通信地址和第二通信地址的映射关系;其中,第一通信地址包括外网地址及端口,第二通信地址包括内网地址及端口;接收目标管理节点发送的映射关系。也即本发明的控制节点与管理节点实现了配置联动,从而优化了虚拟机的创建以及应用配置。在一个可能的设计中,若未确定出目标子节点,则将每个子节点的资源信息输入预设的模型,得到子节点对应的输出结果;根据每个子节点对应的输出结果,从至少一个子节点中确定推荐子节点;向控制节点发送推荐子节点的资源信息。由此可以方便控制节点在确定目标子节点失败的情况下,能够获知当前子节点能满足的最大资源信息的需求。另一方面,本发明的实施例提供一种虚拟机的创建方法。方法包括:接收选择指令,该选择指令用于指示控制节点从资源状态表中确定目标子节点, 其中,资源状态表中包含至少一个子节点的资源信息,至少一个子节点是由每个管理节点从管理节点管理的所有子节点中确定的部分子节点;向目标子节点发送包括资源需求的虚拟机创建指令,资源需求包括资源类型和资源数量;该虚拟机创建指令用于指示目标子节点根据资源需求创建虚拟机。也即本发明可以直观明了的向用户显示可以创建虚拟机的子节点及其资源信息,从而提升了用户体验。再一方面,本发明的实施例提供一种资源的管理方法。方法包括:接收子节点发送的资源信息;该资源信息包括资源的类型和状态;比较每个子节点的第一类型的资源的状态,确定出所述第一类型的资源的状态最优的第一最优子节点;向所述控制节点发送第一最优子节点的资源信息。也即本发明中子节点的资源信息由管理节点进行管理,从而可以避免现有技术中由控制节点管理子节点时,由于子节点的资源的状态变化而引起的控制节点的变更频率频繁的问题。在一个可能的设计中,当管理节点中新增其它子节点时,接收其它子节点发送的资源信息;从子节点以及其它子节点中确定出第一类型的资源的状态最优的第二最优子节点;向控制节点发送第二最优子节点的资源信息。在一个可能的设计中,当任一子节点的一种或者多种类型的资源的状态发生变化时,接收任一子节点发送的更新消息,该更新消息用于指示管理节点更新一种或者多种类型的资源的状态。又一方面,本发明实施例提供了一种虚拟机的创建装置,该虚拟机的创建装置具有实现上述方法设计中控制节点行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。所述模块可以是软件和/或硬件。再一方面,本发明实施例提供了一种资源的管理装置,该资源的管理装置具有实现上述方法设计中管理节点行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个 与上述功能相对应的模块。所述模块可以是软件和/或硬件。其它方面,本发明实施例提供了一种计算机存储介质,用于储存为上述虚拟机的创建装置所用的计算机软件指令,其包含用于执行上述方面所设计的程序。其它方面,本发明实施例提供了一种计算机存储介质,用于储存为上述资源的管理装置所用的计算机软件指令,其包含用于执行上述方面所设计的程序。本发明实施例提供的虚拟机的创建方法、资源的管理方法及装置。获取用于创建虚拟机的资源需求,确定提供资源类型对应的资源的至少一个子节点;至少一个子节点包括管理节点从管理节点管理的所有子节点中确定的部分子节点;根据资源数量从至少一个子节点中确定目标子节点;向目标子节点发送虚拟机创建指令,虚拟机创建指令用于指示目标子节点根据资源需求创建虚拟机。由此可知,本发明从管理节点的部分子节点中确定创建虚拟机的目标子节点,由此可以大大减少子节点的数目,从而可以提高虚拟机创建的效率。附图说明图1为现有技术的网络拓扑结构示意图;图2为本发明提供的网络拓扑结构示意图之一;图3为本发明提供的网络拓扑结构示意图之二;图4为本发明提供的资源状态表示意图之一;图5为本发明提供的资源状态表示意图之二;图6为本发明实施例提供的一种虚拟机的创建方法交互图;图7为本发明实施例提供的另一种虚拟机的创建方法流程图;图8为本发明提供的虚拟机创建向导页面示意图;图9为本发明实施例提供的再一种虚拟机的创建方法流程图;图10为本发明实施例提供的一种虚拟机的创建装置示意图;图11为本发明实施例提供的另一种虚拟机的创建装置示意图;图12为本发明实施例提供的一种资源的管理装置示意图。具体实施方式下面结合附图,对本发明的实施例进行描述。本发明提供的虚拟机的创建方法应用于图2所示的网络拓扑结构中,图2中,主要包括三种类型的网元:控制节点、管理节点以及子节点,其中,控制节点可以部署在公有云中,其可以通过因特网(internet)或者城域网来连接多个管理节点,而子节点既可以包含在管理节点中,如,在管理节点为网关时,子节点可以为网关中的开放业务平台(英语:openserviceplatform,osp)扣板;此外,子节点也可以是管理节点管理的任意网络节点,如,独立插板及外挂网络节点。图2中,控制节点可以接收管理节点的注册信息,其中,该注册信息中可以携带管理节点所管理的所有子节点的资源信息以及至少一个子节点的资源信息,其中,资源信息包括资源的类型和状态。此外,控制节点还可以提供用于设备配置以及虚拟机部署的管理界面,通过该管理界面,控制节点可以接收用户输入的指令。管理节点及其管理的子节点组成局域网,也称内部网络,管理节点是内部网络中的子节点访问外部网络的出口设备,用于提供路由管理、地址转换等服务,保障设备的正常寻址访问。此外,管理节点还用于对其管理的子节点的资源信息进行管理,也即本发明中的管理节点和子节点之间不是相互独立的;子节点用于创建虚拟机,其可以是刀片服务器、包含在网关中的osp扣板、独立插板,或者也可以是一台通用计算机。还需要说明的是,管理节点可以为所管理的子节点添加标识信息,以便根据该标识信息,识别对应的子节点。图3为本发明提供的网络拓扑结构示意图之二,图3中,管理节点包括 管理平面和业务平面,其中,管理平面包括设备管理模块,管理节点具体通过该设备管理模块来对其所管理的子节点的资源信息进行管理,此处的资源是指子节点的软件资源和硬件资源,具体可以包括以下资源中的一种或多种:计算资源、存储资源、网络资源、时钟资源、硬件加密芯片以及图像处理加速器等,其中,计算资源具体可以包括cpu核数及主频,存储资源具体可以包括内存容量以及外存容量,网络资源具体可以包括网络接口数及速率等。子节点包括子设备管理模块,具体地,当子节点接入网络后,自动地通过该子设备管理模块向管理该子节点的管理节点上报资源信息。图3中,以一个管理节点对其子节点的资源信息进行管理为例来说,其管理过程如下:步骤a:管理节点接收子节点发送的资源信息,所述资源信息包括所述子节点能够提供的资源的类型和状态。具体地,子节点在检测到所述子节点接入网络后,就会自动地通过子设备管理模块向管理该子节点的管理节点上报所述子节点的资源信息,此处,子节点与管理节点的对应关系可以由管理员预先配置。所述资源可以包括以下软件资源或者硬件资源中的一种或者多种:计算资源、存储资源、网络资源、时钟资源、硬件加密芯片以及图像处理加速器等,其中,计算资源具体可以包括cpu核数及主频,存储资源具体可以包括内存容量以及外存容量,网络资源具体可以包括网络接口数及速率等。可选地,此处的资源的类型可以为:cpu核数、内存容量以及外存容量。此外,资源的状态可以为使用状态,也可以为剩余状态。可以理解的是,初始注册时,子节点会同时上报该子节点全部的资源的类型以及剩余状态或者使用状态,后续当某种资源的剩余状态或者使用状态有变化时,再上报该资源的变化信息。管理节点在接收到每个子节点发送的资源信息,就可以计算出每种类型的资源的全局状态,从而形成管理节点的资源池。所述全局状态为一种资源在所述管理节点上的状态。举例来说,某一管理节点管理三个子节点,每个 子节点包括三种类型的资源:cpu核数、内存容量以及外存容量,每种类型的资源的剩余状态如表1所示。表1节点1节点2节点3cpu核数4核4核32核内存容量16g8g8g外存容量512g16t512g那么,管理节点的资源池中,剩余的cpu核数为:32+4+4=40核;剩余的内存容量大小为:16g+8g+8g=32g;剩余的外存容量大小为:512+16*1024+512=17t。需要说明的,当该管理节点管理的子节点的数目发生变化时,如在新增一个子节点时,该新增的子节点也会自动地向管理节点上报资源信息,管理节点则根据所述新增的子节点上报的资源信息更新资源池中的资源的状态。如前述例子,当新增一个子节点,且该新增子节点的剩余的cpu核数、内存容量以及外存容量分别为:4核、4g以及1t时,则更新后的资源池中:剩余的cpu核数为:40+4=44;剩余的内存容量大小为:32g+4g=36g;剩余的外存容量大小为:17t+1t=18t;同理,当删除一个或者多个子节点时,管理节点也会更新资源池,具体更新方法同上,在此不复赘述。当然,在实际应用中,管理节点中也可以新增多个子节点,该新增的多个子节点也会自动地向管理节点上报各自的资源信息,管理节点在接收到多个节点上报的资源信息后,更新资源池中的资源的状态。可以理解的是,当子节点上报的资源的状态为使用状态时,则管理节点可以根据初始时上报的子节点的全部资源的资源信息以及当前上报资源的使用状态,计算子节点的资源的剩余状态以及计算管理节点资源池中的资源的剩余状态。此外,还需要说明的是,当任一子节点的一种或者多种类型的资源的状态发生变化时,管理节点更新所述一种或者多种类型的资源的状态。如前述例子中,假设管理节点确定节点1作为创建虚拟机的子节点,且假设该虚拟机对上述三种类型的资源的需求分别为:2核、8g以及512g,因为在节点1上创建虚拟机后,节点1的三种类型的资源的状态均会发生变化,所以管理节点在向节点1发送虚拟机创建指令时,该虚拟机创建指令用于指示节点1创建虚拟机,并直接更新表1中节点1的三种类型的资源的状态,剩余的cpu核数可以更新为:4-2=2核;剩余的内存容量更新为:16-8=8g;剩余的外存容量更新为:512-512=0g,并更新资源池中各类型的资源的状态,如,剩余的cpu核数更新为:40-2=38核;剩余的内存容量大小更新为:32g-8g=24g;剩余的外存容量大小更新为:17t-512t=16.5t;之后当接收到节点1发送的创建虚拟机失败的消息时,再将表1中节点1的三种类型的资源的状态以及资源池更新为之前的状态;而接收到节点1发送的创建虚拟机成功的消息时,则不再执行资源更新的操作。步骤b:管理节点比较每个子节点的第一类型的资源的状态,确定出所述第一类型的资源的状态最优的第一最优子节点。此处的第一类型的资源可以为子节点的任一种类型的资源。如前述例子中,该第一类型可以为cpu核数、内存容量或者外存容量。以第一类型为cpu核数为例来说,可以将节点1、节点2以及节点3的cpu核数的剩余状态进行比对,因为4核=4核<32核,也即节点3的cpu核数最大,因此,可以将节点3确定为cpu核数的状态最优的第一最优子节点;同理,可以将节点1确定为内存容量的状态最优的第一最优子节点;可以将节点2确定为外存容量的状态最优的第一最优子节点。可以理解的是,当针对多种类型的资源的状态确定第一最优子节点时,确定的第一最优子节点的个数可以为多个。如,表1中,当分别针对cpu核数、内存容量或者外存容量确定第一最优子节点时,确定出的第一最优子节点的个数为3个。当然,在实际应用中,也可以结合两种或者两种以上类型的资源的状态确定第一最优子节点,如,当表1中还包括主频的信息时,因为虚拟机的计算资源通常是通过cpu核数*主频来衡量的,因此,可以结合cpu核数和主频两种类型的资源的状态确定第一最优子节点,如当表1中的节点1、节点2以及节点3的主频分别为:3.0ghz、3.0ghz以及3.2ghz时,因为4核*3.0ghz=4核*3.0ghz<32核*3.2ghz,也即节点3的计算资源最大,也即可以将节点3确定为第一最优子节点,且该节点3同时也是计算能力最强的子节点,同理可以确定出存储能力最强的子节点等。需要说明的是,管理节点可以对确定的一个或者多个第一最优子节点进行实时更新。具体地,可以是在管理节点中新增或者删除其它子节点时更新,也可以是在子节点的任一种类型的资源的状态发生变更时更新。如前述例子,当管理节点新增一个子节点,且该新增子节点的剩余的cpu核数、内存容量以及外存容量分别为:36核、4g以及1t时,管理节点从表1中的三个子节点以及新增的一个子节点中重新确定第一类型的资源的状态最优的第二最优子节点,也即从所述子节点以及其它子节点中确定出该第一类型的资源的状态最优的第二最优子节点;具体地,内存容量以及外存容量的状态最优的第二最优子节点与第一最优子节点相同,而cpu核数的状态最优的第二最优子节点则可以更新为新增的子节点。需要说明的是,在实际应用中,管理节点管理的子节点的个数往往比较多(如,成百上千),但确定出的第一最优子节点的个数则相对较少,可选地,第一最优子节点的个数不大于资源的类型的个数。如,当表1中有100个节点,每个节点有4种类型的资源时,则确定的第一最优子节点的个数小于等于4。步骤c:管理节点向控制节点发送第一最优子节点的资源信息;或者,向控制节点发送第二最优子节点的资源信息。如前述例子,在初始(也即管理节点中未新增其它节点)时,管理节点 可以分别将节点1、节点2以及节点3的三种类型的资源的资源信息发送至控制节点;而在管理节点中新增其它节点(如节点4)时,则管理节点可以分别将节点1、节点2、节点3以及节点4的三种类型的资源的资源信息发送至控制节点。当然,在实际应用中,管理节点也可以从所管理的所有子节点中确定一些具有特殊资源的特殊子节点,如,带有加密运算处理器硬件资源的子节点,然后将该具有特殊资源的特殊子节点的资源信息发送至控制节点。可以理解的是,当管理节点管理的子节点的个数比较多时,上述只向控制节点发送第一最优子节点、第二最优子节点或者特殊子节点的资源信息的方法,可以大大减少控制节点管理的子节点的数目,从而可以节约控制节点的资源。控制节点在接收到管理节点发送的第一最优子节点、第二最优子节点或者特殊子节点的资源信息后,可以将所述资源信息记录到资源状态表中。参见图4所示的资源状态表示意图之一,该资源状态表中记录了四个子节点的三种类型的资源的状态,其中,第一子节点、第二子节点以及第三子节点是由第一管理节点从其所管理的所有子节点中确定的,该三个子节点可以是第一管理节点中的第一最优子节点、第二最优子节点或者特殊子节点;而第四子节点是由第二管理节点从其所管理的所有子节点中确定的,其也可以是第二管理节点中的第一最优子节点、第二最优子节点或者特殊子节点。图4中,可以直接读取每个子节点的每种类型的资源的状态,此外,还可以直接读取到管理子节点的管理节点。此外,图4中,资源状态表中还可以包括各管理节点的资源池,每个管理节点的资源池中的每种类型的资源的状态可以是该管理节点所管理的所有子节点的该种类型的资源的全局状态。当资源状态表中还包括管理节点的资源池时,图4所示的资源状态表可扩展为图5所示的状态表。需要说明的是,当管理节点中新增或者删除其它子节点,或者在子节点的任一种类型的资源的状态发生变更而更新资源池中的资源的状态时,该管 理节点可以向控制节点发送更新消息,该更新消息用于指示控制节点更新资源状态表中上述管理节点的资源池。如,前述例子中,在管理节点接收到节点1发送的创建虚拟机成功的消息时,向控制节点发送更新消息,该更新消息中可以携带更新后的管理节点的资源池中资源的剩余状态,如,cpu核数:38核;内存容量大小:24g;外存容量大小:16.5t,控制节点在接收到管理节点发送的更新消息后,更新资源状态表中上述管理节点的资源池。图4或者图5中,还可以为每个子节点添加标注,如,可以对第一管理节点的第三子节点添加标注“计算能力最强的子节点”,还可以对第一管理节点的第二子节点添加标注“存储能力最强的子节点”。此外,图4或者图5中的资源状态表中还可以包括管理节点为每个子节点分配的标识,以及控制节点为每个管理节点分配的标识。综上,本发明的控制节点只管理至少一个管理节点的资源信息,而子节点的资源信息则由管理节点进行管理,从而可以减少子节点的资源的状态变化引起的控制节点的变更频率,此外,还可以减少控制节点管理的节点数量,简化了配置,从而提高了整体的工作效率,大幅减少运维的成本。回到图3中,控制节点可以通过两种模式创建虚拟机,该两种模式包括:简单模式和高级模式。具体地,控制节点根据接收的选择指令,确定创建虚拟机的模式。以下将介绍本发明在简单模式下创建虚拟机的过程,在简单模式下,图4或者图5所示的资源状态表中只包括管理节点及其资源池,而不包括管理节点确定的子节点的资源信息,可以理解的是,此处的资源池中的每种类型的资源的状态可以是该管理节点所管理的所有子节点的该种类型的资源的全局状态。即在简单模式下,控制节点不关心子节点的各类型的资源的状态,当创建虚拟机时,向管理节点发送虚拟机创建指令,由管理节点根据所管理的各子节点的资源信息确定目标子节点,并在该目标子节点上创建虚拟机。由此可知,在简单模式下,目标子节点是由管理节点确定的,从而可以大大节 约控制节点的资源。图6为本发明实施例提供的一种虚拟机的创建方法交互图。如图6所示,该方法具体可以包括:s610,控制节点向管理节点发送虚拟机创建指令,该虚拟机创建指令中携带用于创建虚拟机的资源需求。此处,资源需求包括资源类型和资源数量,其中,资源数量即需要的该种类型的资源的多少。此处,需要说明的是,在执行本发明实施例之前,控制节点在本地已经记录了图4或者图5所示的资源状态表,也即控制节点已经接收到管理节点所发送的各种类型的资源的全局状态。具体地,控制节点可以通过管理界面接收用户输入的指示消息,该指示消息中携带用于创建虚拟机的资源需求;控制节点在接收到指示消息之后,选择创建虚拟机的管理节点,然后向创建虚拟机的管理节点发送虚拟机创建指令,该虚拟机创建指令中携带用于创建虚拟机的资源需求。在一个例子中,控制节点可以根据各管理节点的资源池中资源的状态选择创建虚拟机的管理节点,具体地,可以将各类型的资源的状态最优的管理节点选择为创建虚拟机的管理节点。举例来说,虚拟机创建指令中携带用于创建虚拟机的cpu核数、内存容量以及外存容量三种类型的资源的资源需求,且需要的该三种类型的资源数量分别为:2核12g以及512g。s620,管理节点根据资源需求和预先接收的子节点的资源信息,从子节点中确定目标子节点。假设该管理节点管理三个子节点,且该三个子节点的cpu核数、内存容量以及外存容量的剩余状态如表1所示。则管理节点可以将用于创建虚拟机的各类型的资源的状态依次与表1中3个子节点的各类型的资源的状态进行比对,若任一子节点的各类型的资源的状态大于用于创建虚拟机的各类型的 资源的状态,则可以将该任一子节点确定为目标子节点,如,可以将表1中的节点1确定为目标子节点。当然,在实际应用中,也可以根据其它方式从子节点中确定目标子节点,如,可以对子节点的各类型的资源的状态进行评分,将评分结果最大的子节点确定为目标子节点。当确定的目标子节点为多个时,则可以根据其它的预设条件(如,子节点的优先级等)从多个目标子节点中确定最终的目标子节点。s630,管理节点向目标子节点发送创建虚拟机指示,该虚拟机创建指示用于指示目标子节点创建虚拟机。可以理解的是,目标子节点创建虚拟机后,更新各类型的资源的状态,如节点1在创建虚拟机后,可以将cpu核数、内存容量以及外存容量的剩余状态分别更新为:4-2=2核、16-12=4g以及512-512=0g。需要说明的是,管理节点在向目标子节点发送创建虚拟机指示之后,如在向节点1发送创建虚拟机指示之后,更新之前记录的节点1的三种类型的资源的剩余状态,即更新表1中节点1的三种类型的资源的剩余状态,分别更新为:4-2=2核、16-12=4g以及512-512=0g;此外,管理节点还可以更新资源池中资源的剩余状态,如剩余的cpu核数更新为40-2=38核;剩余的内存容量更新为:32-12=20g;剩余的外存容量更新为:17t-512g=16.5t。之后,当管理节点接收到节点1发送的创建虚拟机成功的消息时,向控制节点发送更新消息,该更新消息中可以携带更新后的管理节点的资源池中资源的状态,如,cpu核数:38核;内存容量:20g;外存容量:16.5t,控制节点在接收到管理节点发送的更新消息后,更新资源状态表中上述管理节点的资源池。还需要说明的是,在创建上述虚拟机之后,就可以为该虚拟机安装操作系统以及应用程序,并为所述虚拟机分配相应的内网地址及端口,此外还可以为所述虚拟机分配相应的外网地址及端口,并在管理目标子节点的管理节 点上建立所述虚拟机的内网地址及端口与外网地址及端口的映射关系,从而使得该虚拟机通过上述管理节点可以访问外部网络。可选地,本发明实施例还包括步骤s640:若未确定出目标子节点,则将每个子节点的资源信息输入预设的模型,得到每个子节点对应的输出结果;根据每个子节点对应的输出结果,从至少一个子节点中确定推荐子节点;向控制节点发送所述推荐子节点的资源信息。如前述例子中,当步骤s610中接收的虚拟机创建指令中携带的用于创建虚拟机的三种类型的资源的资源需求分别为:cpu核数:6核、内存容量:12g以及外存容量:512g,因为表1中各子节点的各类型的资源的状态均不大于创建虚拟机的各类型的资源的需求,因此管理节点不能确定目标子节点。当未确定出目标子节点时,可以依次将表1中每个子节点的cpu核数、内存容量以及外存容量的状态输入预设的模型,并得到每个子节点对应的输出结果,在一个例子中,该预设的模型可以对每个子节点的不同类型的资源的状态赋予不同的权值,之后再将每个子节点的各类型的资源的状态乘以对应的权值,并求和得到每个子节点对应的输出结果;比较各子节点的输出结果,将输出结果最大的子节点确定为推荐子节点。控制节点在接收到推荐子节点的资源信息之后,可以通过管理界面向用户显示推荐子节点的资源信息,也即显示当前管理节点可以提供的资源信息,从而用户可以修改原始的用于创建虚拟机的资源需求。以上是对在简单模式下创建虚拟机的过程的描述,以下将介绍在高级模式下的两种创建虚拟机的过程,在高级模式下,控制节点上的资源状态表可参见图4或者图5所示,即资源状态表中可以同时包括:管理节点、管理节点的资源池以及管理节点确定的子节点的资源信息,即在高级模式下,控制节点关心管理节点确定的子节点(即部分子节点)的资源信息,当创建虚拟机时,控制节点可以根据用户在发送虚拟机创建请求消息时输入的资源需求,从管理节点确定的子节点中确定用于创建虚拟机的目标子节点,并在该目标 子节点上创建虚拟机。由此可知,在高级模式下,目标字节点是由控制节点确定的,且控制节点是在管理节点确定的子节点中确定目标子节点,这可以提高目标子节点的确定效率,从而可以大大节约控制节点的资源。图7为本发明实施例提供的另一种虚拟机的创建方法流程图。如图7所示,该方法具体可以包括:s710,控制节点获取用于创建虚拟机的资源需求,所述资源需求包括资源类型和资源数量。其中,s710具体可以包括如下步骤:步骤a:在创建虚拟机前,控制节点接收所述虚拟机的类型选择指令。此处,控制节点的管理界面可以包括如图8所示的虚拟机创建向导页面,图8中,可以包括至少一种虚拟机的类型,举例来说,该虚拟机的类型可以包括:web服务器类以及运算服务器类等;此外,图8中还可以包括每种类型的虚拟机的使用场景以及对资源需求。具体地,上述类型选择指令可以由用户点击虚拟机创建向导页面中的虚拟机的类型触发。步骤b:控制节点根据所述类型选择指令,确定所述虚拟机的类型。图8中,当类型选择指令是由用户点击类型“web服务器类”触发时,则控制节点可以确定所述虚拟机的类型为:web服务器类。步骤c:控制节点根据所述虚拟机的类型,获取所述虚拟机的资源需求。所述资源需求包括虚拟机所需要的资源的类型和数量,即资源类型和资源数量。如前述例子,当所述虚拟机的类型为:web服务器类时,控制节点可以获取到所述虚拟机对cpu核数、内存容量以及外存容量的需求分别为:4核、8g以及512g。s720,控制节点确定提供所述资源类型对应的资源的至少一个子节点;所述至少一个子节点包括管理节点从所述管理节点管理的所有子节点中确定 的部分子节点。此处的至少一个子节点可以是由管理节点从管理节点管理的所有子节点中确定的第一最优子节点、第二最优子节点和/或特殊子节点,也即至少一个子节点包括管理节点从所述管理节点管理的所有子节点中确定的部分子节点。其中,管理节点确定部分子节点的过程可参见前述的管理过程,在此不复赘述。如前述例子,所述虚拟机的资源需求中的资源的类型分别为:cpu核数、内存容量以及外存容量,也即包括三种类型的资源。因此,在控制节点的资源状态表如图4或者图5所示时,可以将第一管理节点中的第一子节点、第二子节点、第三子节点以及第二管理节点中的第一子节点均确定为上述至少一个子节点,因为上述四个子节点均可以提供上述三种类型的资源。s730,根据所述资源数量从所述至少一个子节点中确定目标子节点。此处,资源数量是指资源的状态。也即根据资源的状态从所述至少一个子节点中确定目标子节点,其中,目标子节点的确定方法可参见s620,也不复赘述。s740,控制节点通过管理目标子节点的目标管理节点向所述目标子节点发送虚拟机创建指令,该虚拟机创建指令用于指示所述目标子节点根据所述资源需求创建所述虚拟机。此处,需要说明的是,为了减轻控制节点的负载,本发明中控制节点不直接管理子节点的资源信息,子节点的资源信息是由管理节点进行管理,因此,控制节点在确定出目标子节点之后,还可以确定该目标子节点的目标管理节点。具体地,因为图4或者图5所示的资源状态表中也同时显示了管理每个子节点的管理节点,也即直接包含了每个子节点的节点属性,因此,通过资源状态表,可以直接确定管理目标子节点的目标管理节点;之后就可以向目标管理节点发送第一虚拟机创建指令,该第一虚拟机创建指令中可以携带目标子节点的信息(如,标识),目标管理节点在接收到第一虚拟机创建 指令后,根据目标子节点的信息,向目标子节点发送第二虚拟机创建指令,以使目标子节点创建虚拟机。在创建虚拟机后,可以在该虚拟机上安装操作系统以及应用程序,并由控制节点为所述虚拟机分配第一通信地址,此处,第一通信地址可以为外网地址及端口。在一种实现方式中,控制节点可以在为所述虚拟机分配第一通信地址后,直接将该第一通信地址通知给目标管理节点。此外,在该虚拟机启动后,目标管理节点还可以进一步为所述虚拟机分配第二通信地址,第二通信地址可以为内网地址及端口。需要说明的是,在完成上述安装及分配的过程之后,目标管理节点可以通过两种方式建立上述第一通信地址与第二通信地址之间的映射关系:第一种方式,也即在控制节点提前将第一通信地址通知给目标管理节点的情况下,控制节点可以向目标管理节点发送通知消息,该通知消息用于指示该目标管理节点建立第一通信地址和第二通信地址的映射关系,目标管理节点在建立上述映射关系之后,向控制节点发送该映射关系;第二种方式,也即在控制节点没有提前将第一通信地址通知给目标管理节点的情况下,控制节点可以在该虚拟机启动后向目标管理节点发送创建映射关系的指示消息,该指示消息中可以携带第一通信地址,目标管理节点在接收到该指示消息之后,建立第一通信地址和第二通信地址的映射关系,并向控制节点发送该映射关系。由此可知,本发明的控制节点与管理节点实现了配置联动,从而优化了虚拟机的创建以及应用配置。如前述例子,在目标子节点上创建类型为“web服务器类”的虚拟机之后,可以为其分配内网(私网)地址:192.168.1.100,之后可以安装一套web服务器软件,并为其配置服务端口:8080,以及指定外网(公网)地址及端口:116.1.1.100:80;目标管理节点在接收到控制节点发送的通知消息,或者在虚拟机启动后接收到控制节点发送的创建映射关系的指示消息之后,建立192.168.1.100:8080->116.1.1.100:80的映射关系。管理节点建立的多个 映射关系可以构成服务映射表。在完成上述映射关系的建立之后,外网的设备就可以通过116.1.1.100:80访问该虚拟机(或者服务器);或者预先申请一个域名绑定ip地址:116.1.1.100:80,外网的设备就可以通过域名访问该虚拟机(或者服务器)。可选地,本发明实施例还可以包括步骤s760:若未确定出目标子节点,则可以从管理节点确定的至少一个子节点中确定推荐子节点,此处,推荐子节点的确定方法同图6中管理节点从所管理的所有节点中确定推荐子节点的方法类似,在此不复赘述。图9为本发明实施例提供的再一种虚拟机的创建方法流程图。如图9所示,该方法具体可以包括:s910,控制节点接收选择指令,该选择指令用于指示控制节点从资源状态表中确定目标子节点。此处,控制节点的管理界面可以包括图4或者图5所示的资源状态表,即通过控制节点的管理界面可以展示至少一个子节点资源信息,其中,至少一个子节点是由至少一个管理节点从所述管理节点管理的所有子节点中确定的部分子节点;此外,上述管理界面还可以展示上述至少一个管理节点以及至少一个管理节点的资源池。可选地,此处的至少一个子节点可以是由每个管理节点从所述管理节点管理的所有子节点中确定的第一最优子节点、第二最优子节点和/或特殊子节点,其中,一个管理节点确定至少一个子节点的过程可参见前述的管理过程,在此不复赘述。具体地,控制节点可以直接接收用户确定目标子节点的选择指令,即根据选择指令就可以唯一的确定一个目标子节点;之后控制节点可以将该目标子节点的信息发送至目标管理节点,此处,目标管理节点的确定方法同图7中目标管理节点的确定方法相同。步骤s920与步骤s740相同,在此不复赘述。综上,在高级模式下,控制节点虽然同时存储管理节点及管理节点确定的至少一个子节点的资源信息,但并不对子节点的资源信息进行管理,而只需要管理管理节点的资源池,由此,可以大大减少控制节点管理的节点数目,从而可以减轻其管理压力。与上述虚拟机的创建方法对应地,本发明实施例还提供的一种虚拟机的创建装置,如图10所示,该创建装置包括:接收器1001、处理器1002和发射器1003。接收器1001,用于获取用于创建虚拟机的资源需求,所述资源需求包括资源类型和资源数量。接收器1001具体用于:在创建虚拟机前,接收所述虚拟机的类型选择指令;根据所述类型选择指令,确定所述虚拟机的类型;根据所述虚拟机的类型,获取所述虚拟机的资源需求。处理器1002,用于确定提供所述资源类型对应的资源的至少一个子节点;所述至少一个子节点包括管理节点从所述管理节点管理的所有子节点中确定的部分子节点。处理器1002,还用于根据所述资源数量从所述至少一个子节点中确定目标子节点。发射器1003,用于向处理器1002确定的所述目标子节点发送虚拟机创建指令,所述虚拟机创建指令用于指示所述目标子节点根据所述资源需求创建所述虚拟机。可选地,发射器1003还用于当在所述虚拟机上安装应用程序以及为所述虚拟机分配第一通信地址和第二通信地址之后,向管理所述目标子节点的目标管理节点发送通知消息,所述通知消息用于指示所述目标管理节点建立所述第一通信地址和所述第二通信地址的映射关系;其中,第一通信地址包括外网地址及端口,第二通信地址包括内网地址及端口;接收器1001还用于接收所述目标管理节点发送的所述映射关系。可选地,处理器1002还用于若未确定出所述目标子节点,则将所述每个子节点的资源信息输入预设的模型,得到所述子节点对应的输出结果;以及根据每个子节点对应的输出结果,从所述至少一个子节点中确定推荐子节点;发射器1003还用于向所述控制节点发送处理器1002确定的所述推荐子节点的资源信息。本发明实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本申请提供的装置的具体工作过程,在此不复赘述。本发明实施例提供的虚拟机的创建装置,接收器1001获取用于创建虚拟机的资源需求,所述资源需求包括资源类型和资源数量;处理器1002确定提供所述资源类型对应的资源的至少一个子节点;所述至少一个子节点包括管理节点从所述管理节点管理的所有子节点中确定的部分子节点;处理器1002根据所述资源数量从所述至少一个子节点中确定目标子节点。发射器1003向所述目标子节点发送虚拟机创建指令,所述虚拟机创建指令用于指示所述目标子节点根据所述资源需求创建所述虚拟机。由此,可以提高虚拟机创建的效率。与上述虚拟机的创建方法对应地,本发明实施例还提供的一种虚拟机的创建装置,如图11所示,该创建装置包括:接收器1101、处理器1102和发射器1103。接收器1101,用于接收选择指令,该选择指令用于指示控制节点从资源状态表中确定目标子节点,其中,资源状态表中包含至少一个子节点的资源信息,至少一个子节点是由每个管理节点从所述管理节点管理的所有子节点中确定的部分子节点。处理器1102,用于生成包括资源需求的虚拟机创建指令,所述资源需求包括资源类型和资源数量;所述虚拟机创建指令用于指示所述目标子节点根据所述资源需求创建虚拟机。发射器1103,用于向所述目标子节点发送所述虚拟机创建指令。本发明实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本申请提供的装置的具体工作过程,在此不复赘述。本发明实施例提供的虚拟机的创建装置,接收器1101接收选择指令,该选择指令用于指示控制节点从资源状态表中确定目标子节点,其中,资源状态表中包含至少一个子节点的资源信息,至少一个子节点是由每个管理节点从所述管理节点管理的所有子节点中确定的部分子节点;处理器1102生成包括资源需求的虚拟机创建指令,所述资源需求包括资源类型和资源数量;所述虚拟机创建指令用于指示所述目标子节点根据所述资源需求创建虚拟机;发射器1103向所述目标子节点发送所述虚拟机创建指令。由此,可以提高虚拟机创建的效率。与上述资源的管理方法对应地,本发明实施例还提供的一种资源的管理装置,如图12所示,该管理装置包括:接收器1201、处理器1202和发射器1203。接收器1201,用于接收子节点发送的资源信息;所述资源信息包括资源的类型和状态。处理器1202,用于比较接收器1201接收的每个子节点的第一类型的资源的状态,确定出所述第一类型的资源的状态最优的第一最优子节点。发射器1203,用于向控制节点发送处理器1202确定出的所述第一最优子节点的资源信息。可选地,接收器1201还用于当所述管理节点中新增其它子节点时,接收所述其它子节点发送的资源信息。处理器1202还用于从所述子节点以及所述其它子节点中确定出所述第一类型的资源的状态最优的第二最优子节点。发射器1203还用于向所述控制节点发送所述第二最优子节点的资源信息。可选地,接收器1201,还用于当任一子节点的一种或者多种类型的资源 的状态发生变化时,接收所述任一子节点发送的更新消息,所述更新消息用于指示所述管理节点更新所述一种或者多种类型的资源的状态。发明实施例提供的资源的管理装置,接收器1201接收子节点发送的资源信息;所述资源信息包括资源的类型和状态;处理器1202比较每个子节点的第一类型的资源的状态,确定出所述第一类型的资源的状态最优的第一最优子节点;发射器1203向控制节点发送所述第一最优子节点的资源信息。由此,可以减少子节点的资源的状态变化引起的控制节点的变更频率,此外,还可以减少控制节点管理的节点数量,简化了配置,从而提高了整体的工作效率,大幅减少运维的成本。本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、 寄存器、硬盘、可移动磁盘、cd-rom、或
技术领域
内所公知的任意其它形式的存储介质中。以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1