虚拟机分配方法及系统与流程

文档序号:12595686阅读:389来源:国知局

本发明涉及一种虚拟机分配方法及系统。



背景技术:

随着云桌面系统的普及,目前企业普遍采用云终端设备接入桌面云进行办公。由于企业各部门、各级别、各技能组的员工,对虚拟机的镜像、内存CPU配置、磁盘大小等有着不同的需求,同时定时或轮转排版的工作模式对虚拟机的依赖程度也决定了动态或静态的不同绑定需求,而且企业采购的多种厂商的云终端设备,所以虚拟机的分配需要考量大量的配置因素,目前通用的做法是由管理员人工手工绑定不同用户所使用的虚拟机。这种方式一方面,需要大量的人工维护,不够灵活;另一方面,不能满足安全性的动态绑定需求,往往造成资源的空闲及浪费。



技术实现要素:

本发明要解决的技术问题是为了克服现有技术虚拟机分配中人工维护的方式造成的系统不灵活以及资源空闲浪费的缺陷,提供了一种虚拟机分配方法及系统,实现自动化的分配及管理,针对不同机器池对应不同的分配器,支持静态或动态的机器轮转。

本发明是通过下述技术方案来解决上述技术问题的:

本发明提供了一种虚拟机分配方法,其特点是,包括以下步骤:

创建分配器,其中定义用户标签和设备标签与机器池的对应关系;

获取用户岗位信息;

获取映射所述用户岗位信息的所述用户标签和所述设备标签;

进入对应于所述用户标签和所述设备标签的分配器;

从分配器对应的机器池中选取空闲的虚拟机。

本发明通过对用户的标签化管理来实现虚拟机的分配,从而便于虚拟机系统的管理、升级和维护,同时标签化的管理也便于不同用户以及不同分配策略的配置。

较佳地,在获取用户岗位信息前,验证用户登陆信息。本发明在认证用户身份或用户权限后,才进行相应地虚拟机的分配。

较佳地,在获取映射所述用户岗位信息的用户标签和设备标签时,从标签表中查找对应于用户岗位信息的用户标签和设备标签。

本发明中利用构建标签表的形式来实现用户的标签化管理。

较佳地,在通过所述用户标签和所述设备标签获取待分配虚拟机时,从分配器表中获取对应于所述用户标签和所述设备标签的机器池。

本发明还利用包括机器池的分配器表实现不同机器池的统一管理,并进一步利用标签实现不同机器池的选取。

较佳地,在从机器池中选取空闲的虚拟机时,从机器池中选取标识状态为空闲的虚拟机并推送至用户;所述机器池将被选取的虚拟机标识为已使用状态。

本发明提供了一种虚拟机分配系统,其特点是,包括:

获取用户岗位信息的用户接口;

包括标签表和分配表的分配单元,其中所述标签表包括具有映射关系的所述用户岗位信息以及用户标签和设备标签,所述分配表包括具有映射关系的所述用户标签和设备标签以及机器池;

所述分配单元通过映射至所述用户接口获取的用户岗位信息的用户标签和设备标签获取存在映射关系的机器池,并从所述存在映射关系的机器池中选取空闲的虚拟机。

较佳地,所述用户接口还验证用户登录信息。

较佳地,所述分配单元从所述存在映射关系的机器池中选取标识状态为空闲的虚拟机并推送至用户,并将所述存在映射关系的机器池中被选取的虚拟机标识为已使用状态。

在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。

本发明的积极进步效果在于:

本发明利用标签标记的方式可根据不同部门的用户需求自动创建回收机器资源,并可灵活定义调整分配策略,从而实现自动化的分配及管理,针对不同机器池对应不同的分配器,支持静态或动态的机器轮转。

附图说明

图1为本发明的实施例1的虚拟机分配方法的流程图。

具体实施方式

下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。

随着云计算在企业办公领域的普及,云桌面的用户群体越来越多。不同部门有各自的系统镜像,不同技能组由于工作内容的不同有着不同的虚拟机内存、CPU(中央处理器)规格,不同的工作模式会决定虚拟机的使用轮转,对应不同的分配策略。用户与机器一对一的分配方式也许适合固定时间制模式,但不适合如呼叫中心式轮休排班的工作模式,此时难免造成不必要的机器空闲浪费。而且不同的云桌面终端设备,意味着可使用的后台虚拟机所在物理机实体范围的不同。为了解决上述问题,所以本发明的虚拟机分配方法及系统利用标签表完成自动识别不同用户及终端设备,识别用户的特征,并分配适合的虚拟机,同时管理员可做到灵活方便配置。

下面通过下述实施例来对本发明进行进一步地详细地说明。

实施例1

本实施例的虚拟机分配系统包括用户接口、分配单元和多个机器池,其中用户接口用于验证用户登录信息并获取用户岗位信息。分配单元包括标签表和分配表,其中标签表包括用户岗位信息以及用户标签和设备标签,标签和信息之间存在对应关系,分配表包括用户标签和设备标签以及机器池,机器池和标签之间也存在对应关系。

分配单元通过用户岗位信息对应的用户标签和设备标签获取对应于这些标签的机器池,并从机器池中选取标识状态为空闲的虚拟机并推送至用户,同时将被选取的虚拟机标识为已使用等状态。

其中本实施例中使用空闲和已使用作为区分机器池中虚拟机所处的状态的标签内容,标签的内容可以根据实际需要进行调整和更换,例如已使用可以使用忙碌、工作中等作为标志内容,本实施例并不限定标识虚拟机状态标签的内容。

如图1所示,本实施例的虚拟机分配系统的分配方法包括以下步骤:

步骤S1、验证用户登陆信息。判断登陆用户是否为认证的用户。

步骤S2、获取用户岗位信息。在用户认证后,获取登陆用户的相关的信息。其中本实施例中登陆用户的相关信息来源于如表1所示的用户表。登陆用户的设备信息来源于表2所示的设备表。

假如,王二在设备vendor1通过客户端发起获取虚拟机的请求,王二的请求首先经过用户接口进行用户名及密码的认证,认证通过后获取用户相关信息得知:王二属于<酒店部门>,所属组<3级员工>。同时通过信息表获得设备vendor1的设备信息,得知王二使用设备vendor1的设备号为<TC-111111111111>。

需要注意的是用户表和设备表中只要包含需要的用户岗位信息就可以应用于本实施例,用户表和设备表的具体存储结构等可以根据实际需要进行调整,本发明并不限制表的结构。

表1(用户表)

表2(设备表)

步骤S3、从标签表中查找对应于用户岗位信息的用户标签和设备标签。

其中标签表包括了存在映射关系的用户岗位信息以及用户标签和设备标签。例如表3所示的标签表。本实施例中根据基于标签的虚拟机分配方式,针对用户的部门(project)、用户组(groups)和设备的厂商信息(vendor)建立了五个标签:vendor1Tag、vendor2Tag、酒店Tag、机票Tag、虚拟机高级配置Tag。并关联了标签和用户岗位信息内容。

通过表3所示的标签表将王二所使用的设备信息和王二的用户信息转换成两个标签:<酒店Tag>、<vendor1Tag>。

表3(标签表)

步骤S4、分配单元从分配器表中获取对应于所述用户标签和所述设备标签的机器池。例如表5所示的分配器表中查找对应于标签的分配器,然后通过表4所示的机器池表查找进行分配操作的机器池。本实施例的系统中有四个机器池,酒店、机票各有一个标准配置和高级配置的机器池,根据关注的标签把池子中的机器分配给用户。

所以在表5中可以看到<酒店标准分配器>刚好关注<酒店Tag>、<vendor1Tag>这两个标签,所以将由<酒店标准分配器>对应的机器池负责分配虚拟机,即<酒店标准分配器>对应的<酒店部门标准配置机器池>中进行虚拟机的分配。

表4(机器池表)

表5(分配器表)

步骤S5、从机器池中选取标识状态为空闲的虚拟机并推送至用户;所述机器池将被选取的虚拟机标识为已使用状态。

本实施例中根据分配器类型(<按坐席分配>)的分配策略从中挑选一台状态为“空闲”的虚拟机给王二使用,并把该虚拟机置为“已使用”、“忙碌”或“工作中”等状态。

通过以上的虚拟机分配方法及系统的具体实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请的虚拟机分配流程可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,所述计算机软件产品可以存储在存储介质中,如ROM/RAM(只读存储器/随机存取存储器)、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请实施例或者实施例的某些部分所述的方法。

本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC(个人电脑)、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

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