创建虚拟机的方法及调度设备技术

技术编号:20819570 阅读:17 留言:0更新日期:2019-04-10 05:50
本申请公开了一种创建虚拟机的方法及调度设备。其中,该方法包括:获取需要创建的目标虚拟机的功能信息;根据所述目标虚拟机的功能信息从预置的过滤器集合中确定出至少一个第一过滤器,所述过滤器集合中包括至少一个过滤器;调用系统中的计算节点依次执行所述至少一个第一过滤器对应的过滤功能,并根据执行结果从所述系统的计算节点中确定出用于创建所述目标虚拟机的计算节点。采用本申请,有助于减少虚拟机实例创建过程中过滤功能的执行次数,从而提升实例调度效率。

【技术实现步骤摘要】
创建虚拟机的方法及调度设备
本申请涉及计算机
,尤其涉及一种创建虚拟机的方法及调度设备。
技术介绍
随着计算机技术和云计算技术的不断发展,用户能够通过各种云计算平台设置及管理自己的公共云或私有云,为用户带来极大方便。比如openstack平台,openstack是一个开源的云计算管理平台项目,包括一整套资源管理软件的集合,为当前最热的开源虚拟化管理软件之一,用户能够基于openstack创建虚拟机,以建立一个稳定可靠的公有云或私有云系统。目前,在创建虚拟机实例时,需要遍历需要创建的虚拟机实例,针对每个虚拟机遍历配置的所有过滤器(filter),针对每个filter遍历所有主机,进而针对每个主机也即计算节点执行下一步执行具体的过滤功能(func),以从所有的计算节点中选出部署该虚拟机实例的计算节点。然而,云环境中计算节点部署规模一般都是上万级别甚至更大,默认配置的filter数量也比较多,导致创建虚拟机实例的速度或效率非常慢。比如,实例调度都需要经过过滤功能的执行次数是vm_num*filter_num*host_num,其中,vm_num为需创建的虚拟机实例数量,filter_num为filter数量,host_num为主机数量。这就极大地影响了业务和用户体验,导致实例调度效率较低。
技术实现思路
本专利技术实施例提供了一种创建虚拟机的方法及调度设备,有助于减少虚拟机实例创建过程中过滤功能的执行次数,从而提升实例调度效率。第一方面,本专利技术实施例提供了一种创建虚拟机的方法,包括:获取需要创建的目标虚拟机的功能信息;根据该目标虚拟机的功能信息从预置的过滤器集合中确定出至少一个第一过滤器;调用系统中的计算节点依次执行该至少一个第一过滤器对应的过滤功能,并根据执行结果从该系统的计算节点中确定出用于创建该目标虚拟机的计算节点。其中,该过滤器集合中包括至少一个过滤器,其可以为配置的所有过滤器filter。可选的,该功能信息可包括内存功能信息、CPU功能信息、磁盘功能信息等等,用于指示对该目标虚拟机的内存要求、CPU要求、磁盘要求等等,以便于根据该功能信息筛选出此次创建虚拟机所需要的过滤功能对应的过滤器。从而减少了调度的过滤器的数量,减少了虚拟机实例创建过程中过滤功能的执行次数,由此提升了实例调度效率。在一种可能的设计中,在该调用系统中的计算节点依次执行该至少一个第一过滤器对应的过滤功能之前,还可从该至少一个第一过滤器中确定出执行过滤功能需要从预设数据库获取第一过滤信息的第二过滤器,从该数据库获取该第一过滤信息,并将该第一过滤信息和该第二过滤器进行关联存储。进一步的,该调用系统中的计算节点依次执行该至少一个第一过滤器对应的过滤功能,包括:根据该第一过滤信息,调用系统中的计算节点执行该第二过滤器对应的过滤功能。其中,该第一过滤信息为计算节点执行该第二过滤器对应的过滤功能所需要的信息。也就是说,如果该第一过滤器中存在过滤器需要访问数据库(或者是访问其他模块),则调度设备可以在调度之前执行并存储访问到的信息,即第一过滤信息,而不是在调度循环内再访问。从而提高了性能,提升了调度效率。在一种可能的设计中,调度设备还可根据该至少一个第一过滤器的类别信息对该至少一个第一过滤器进行分组,得到至少一个过滤器组;从该至少一个过滤器组中确定出执行过滤功能需要从预设数据库获取第二过滤信息的目标过滤器组;从该数据库获取该第二过滤信息,并将该第二过滤信息和该目标过滤器组进行关联存储。进一步的,该调用系统中的计算节点依次执行该至少一个第一过滤器对应的过滤功能,包括:根据该第二过滤信息,调用系统中的计算节点依次执行该该目标过滤器组中的第一过滤器对应的过滤功能。其中,该第二过滤信息可以为计算节点执行该目标过滤器组中的过滤器对应的过滤功能所需要的信息。也就是说,调度设备在确定出第一过滤器之后,还可按照类别信息对该第一过滤器进行分组,比如将需要访问数据库,且访问的数据库相同的第一过滤器划分为同一组,从而可以在调度之前通过一次访问获取到对应的过滤器组的访问信息,即第二过滤信息,而不是在调度循环内再针对每个过滤器进行数据库访问,这就进一步减少了数据库访问次数,节省了系统开销,提升了调度效率。在一种可能的设计中,还可分别获取预置的过滤器集合中的各过滤器的功能信息;根据该各过滤器的功能信息对该各过滤器进行分组,得到至少一个过滤器组,并将每一个过滤器组及其对应的过滤器的功能信息进行关联存储。进一步的,该根据该目标虚拟机的功能信息从预置的过滤器集合中确定出至少一个第一过滤器,可以具体为:确定与该目标虚拟机的功能信息相匹配的过滤器的功能信息;从预置的过滤器集合中确定出该相匹配的过滤器的功能信息对应的过滤器组,该过滤器组包括至少一个第一过滤器。从而能够快速确定出需要创建的虚拟机对应的第一过滤器,提升了需要执行的第一过滤器的查找效率。在一种可能的设计中,在该根据执行结果从该系统的计算节点中确定出用于创建该目标虚拟机的计算节点之后,如果确定出的计算节点为多个,还可根据该多个计算节点的权重从该多个计算节点中确定出权重最高的目标计算节点,并在该目标计算节点上创建该目标虚拟机。也就是说,该用于创建目标虚拟机的计算节点可结合功能过滤和节点权重确定出。可选的,各计算节点的权重可根据该计算节点上的虚拟机实例数量、CPU资源、内存资源等信息确定得到。另一方面,本专利技术实施例还提供了一种调度设备,该用户设备具有实现上述方法示例中的行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元或模块。在一种可能的设计中,调度设备的结构中可包括获取单元、确定单元和调度单元,该获取单元、确定单元和调度单元可以集成为处理单元,被配置为支持调度设备执行上述方法中相应的功能。所述调度设备还可以包括存储单元,所述存储单元用于与处理单元耦合,其保存调度设备必要的程序指令和数据。所述调度设备还可以包括通信单元,所述通信单元用于支持调度设备与其他设备或节点之间的通信。作为示例,处理单元可以为处理器,通信单元可以为通信接口,存储单元可以为存储器。又一方面,本专利技术实施例提供了一种计算机存储介质,用于储存为上述调度设备所用的计算机软件指令,其包括用于执行上述方面所设计的程序。又一方面,本专利技术实施例提供了一种计算机程序,包括指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。又一方面,本申请还提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。又一方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持调度设备实现上述方面中所涉及的功能。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存调度设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。采用本专利技术实施例,能够通过获取需要创建的目标虚拟机的功能信息,并根据该目标虚拟机的功能信息从预置的过滤器中筛选出需要执行过滤器,进而调用系统中的计算节点依次执行该筛选出的过滤器对应的过滤功能,以根据执行结果从该系统的计算节点中确定出用于创建该目标虚拟机的计算节点,从而有助于减少虚拟机实例创建过程中过滤功本文档来自技高网...

【技术保护点】
1.一种创建虚拟机的方法,其特征在于,包括:获取需要创建的目标虚拟机的功能信息;根据所述目标虚拟机的功能信息从预置的过滤器集合中确定出至少一个第一过滤器,所述过滤器集合中包括至少一个过滤器;调用系统中的计算节点依次执行所述至少一个第一过滤器对应的过滤功能,并根据执行结果从所述系统的计算节点中确定出用于创建所述目标虚拟机的计算节点。

【技术特征摘要】
1.一种创建虚拟机的方法,其特征在于,包括:获取需要创建的目标虚拟机的功能信息;根据所述目标虚拟机的功能信息从预置的过滤器集合中确定出至少一个第一过滤器,所述过滤器集合中包括至少一个过滤器;调用系统中的计算节点依次执行所述至少一个第一过滤器对应的过滤功能,并根据执行结果从所述系统的计算节点中确定出用于创建所述目标虚拟机的计算节点。2.根据权利要求1所述的方法,其特征在于,在所述调用系统中的计算节点依次执行所述至少一个第一过滤器对应的过滤功能之前,所述方法还包括:从所述至少一个第一过滤器中确定出执行过滤功能需要从预设数据库获取第一过滤信息的第二过滤器,所述第一过滤信息为计算节点执行所述第二过滤器对应的过滤功能所需要的信息;从所述数据库获取所述第一过滤信息,并将所述第一过滤信息和所述第二过滤器进行关联存储;所述调用系统中的计算节点依次执行所述至少一个第一过滤器对应的过滤功能,包括:根据所述第一过滤信息,调用系统中的计算节点执行所述第二过滤器对应的过滤功能。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据所述至少一个第一过滤器的类别信息对所述至少一个第一过滤器进行分组,得到至少一个过滤器组;从所述至少一个过滤器组中确定出执行过滤功能需要从预设数据库获取第二过滤信息的目标过滤器组,所述第二过滤信息为计算节点执行所述目标过滤器组中的过滤器对应的过滤功能所需要的信息;从所述数据库获取所述第二过滤信息,并将所述第二过滤信息和所述目标过滤器组进行关联存储;所述调用系统中的计算节点依次执行所述至少一个第一过滤器对应的过滤功能,包括:根据所述第二过滤信息,调用系统中的计算节点依次执行所述目标过滤器组中的第一过滤器对应的过滤功能。4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:分别获取预置的过滤器集合中的各过滤器的功能信息;根据所述各过滤器的功能信息对所述各过滤器进行分组,得到至少一个过滤器组,并将每一个过滤器组及其对应的过滤器的功能信息进行关联存储;所述根据所述目标虚拟机的功能信息从预置的过滤器集合中确定出至少一个第一过滤器,包括:确定与所述目标虚拟机的功能信息相匹配的过滤器的功能信息;从预置的过滤器集合中确定出所述相匹配的过滤器的功能信息对应的过滤器组,所述过滤器组包括至少一个第一过滤器。5.根据权利要求1-3任一项所述的方法,其特征在于,在所述根据执行结果从所述系统的计算节点中确定出用于创建所述目标虚拟机的计算节点之后,所述方法还包括:如果确定出的计算节点为多个,根据所述多个计算节点的权重从所述多个计算节点中确定出权重最高的目标计算节点;在所述目标计算节点上创建所述目标虚拟机。6.一种调度设备,其特征在于,包括:获取...

【专利技术属性】
技术研发人员:井淑明
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1