虚拟化资源的分配方法、装置、设备和介质与流程

文档序号:18059061发布日期:2019-07-03 02:55阅读:285来源:国知局
虚拟化资源的分配方法、装置、设备和介质与流程
本发明涉及计算机领域,尤其涉及一种虚拟化资源的分配方法、装置、设备和计算机可读存储介质。
背景技术
:应用虚拟化技术是将原来安装在本地电脑操作系统上的应用程序统一运行于后台终端服务器。用户可以通过任何设备,在任何地点,以及任何时间访问属于自己的应用软件。应用虚拟化技术通常是通过底层虚拟化管理体系,将各类应用资源实现云端池化管理,让用户在使用的过程中通过云端发布的资源完成常态化的维护管理工作。现有技术中分配虚拟化资源池的实现过程如下:首先,建立基础资源池,将物理主机统一录入到基础资源池中。其次,分配虚拟机,以在虚拟机上发布具体应用。最后,在物理主机中查看是否存在空闲虚拟机。如果物理主机存在空闲虚拟机,在空闲虚拟机上实现发布具体应用;如果物理主机中不存在空闲虚拟机,则虚拟机完成发布。随着业务发展及资源池的扩容,物理主机的容量、型号越来越繁杂。根据经验值的分配虚拟化资源,一方面无法充分发挥物理主机的硬件性能,另一方面虚拟化资源难以匹配资源需求。技术实现要素:本发明实施例提供了一种虚拟化资源的分配方法、装置、设备和介质,在充分发挥物理主机的硬件性能的同时,为资源需求匹配虚拟化资源。本发明实施例提供一种虚拟化资源的分配方法,包括:获取应用样本的摘要信息和基本信息;依据所述应用样本的摘要信息确定所述应用样本在标签数据库中不存在;根据所述基本信息采集所述应用样本的性能数据,基于所述应用样本的性能数据生成所述应用样本的应用性能标签,并将所述应用样本的摘要信息和所述应用性能标签存储在所述标签数据库;按照所述应用样本的应用性能标签,将所述应用样本分配至对应的虚拟化资源池。根据本发明实施例的一方面,所述应用样本的基本信息包括用户量预估信息;所述应用样本的摘要信息是通过哈希算法对所述应用样本文件计算获得的信息。根据本发明实施例的一方面,所述基于所述应用样本的性能数据生成所述应用样本的应用性能标签,包括:所述应用样本的性能数据包括cpu性能采集值、内存性能采集值和读写io性能采集值;根据所述cpu性能采集值、所述内存性能采集值和所述io性能采集值计算应用性能值;基于所述应用性能值,生成所述应用样本的应用性能标签。根据本发明实施例的一方面,所述根据所述cpu性能采集值、所述内存性能采集值和所述io性能采集值计算应用性能值,包括:根据所述cpu性能采集值计算cpu性能值;根据所述内存性能采集值计算内存性能值;根据所述io性能采集值计算io性能值;根据所述cpu性能值、所述内存性能值和所述io性能值计算应用性能值。根据本发明实施例的一方面,所述应用性能标签包括:高密度标签、常规标签、高性能标签。根据本发明实施例的一方面,所述按照所述应用样本的应用性能标签,将所述应用样本分配至对应的虚拟化资源池,包括:所述虚拟化资源池包括:高密度资源池、常规资源池和高性能资源池;根据基础资源池中物理主机的cpu性能、基础资源池中物理主机的内存性能和基础资源池中物理主机的io性能,将基础资源池划分为所述高密度资源池、所述常规资源池和所述高性能资源池;按照所述应用样本的应用性能标签,将所述高密度标签对应的应用样本分配至所述高密度资源池,将所述常规标签对应的应用样本分配至所述常规资源池,将所述高性能标签对应的应用样本分配至所述高性能资源池。本发明实施例提供一种虚拟化资源的分配装置,包括:获取模块,用于获取应用样本的摘要信息和基本信息;确定模块,用于依据所述应用样本的摘要信息确定所述应用样本在标签数据库中不存在;生成模块,用于根据所述基本信息采集所述应用样本的性能数据,基于所述应用样本的性能数据生成所述应用样本的应用性能标签,并将所述应用样本的摘要信息和所述应用性能标签存储在所述标签数据库;分配模块,用于按照所述应用样本的应用性能标签,将所述应用样本分配至对应的虚拟化资源池。根据本发明实施例的一方面,所述应用样本的性能数据包括cpu性能采集值、内存性能采集值和io性能采集值,所述生成模块还包括:计算模块,用于根据所述cpu性能采集值、所述内存性能采集值和所述读写io性能采集值计算应用性能值;生成子模块,用于基于所述应用性能值,生成所述应用样本的应用性能标签。根据本发明实施例的一方面,所述计算模块还包括:第一计算子模块,用于根据所述cpu性能采集值计算cpu性能值;第二计算子模块,用于根据所述内存性能采集值计算内存性能值;第三计算子模块,用于根据所述io性能采集值计算io性能值;第四计算子模块,用于根据所述cpu性能值、所述内存性能值和所述io性能值计算应用性能值。根据本发明实施例的一方面,所述虚拟化资源池包括:高密度资源池、常规资源池和高性能资源池,所述应用性能标签包括:高密度标签、常规标签、高性能标签,所述分配模块还包括:划分模块,用于根据基础资源池中物理主机的cpu性能、基础资源池中物理主机的内存性能和基础资源池中物理主机的io性能将基础资源池划分为所述高密度资源池、所述常规资源池和所述高性能资源池;分配子模块,用于按照所述应用样本的应用性能标签,将所述高密度标签对应的应用样本分配至所述高密度资源池,将所述常规标签对应的应用样本分配至所述常规资源池,将所述高性能标签对应的应用样本分配至所述高性能资源池。本发明实施例提供一种虚拟化资源的分配设备,包括:存储器,用于存储程序;处理器,用于运行所述存储器中存储的所述程序,以执行实现本发明实施例提供的虚拟化资源的分配方法。本发明实施例提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现本发明实施例提供的虚拟化资源的分配方法。从上述技术方案中可以看出,通过本发明实施例的虚拟化资源的分配方法、装置、设备和介质,能够提高基础资源池的利用率,同时方便了对基础资源池的统一维护管理,并建立了应用性能的评价标准。附图说明从下面结合附图对本发明的具体实施方式的描述中可以更好地理解本发明其中,相同或相似的附图标记表示相同或相似的特征。图1是本发明实施例中虚拟化资源的分配方法流程示意图;图2是本发明实施例中虚拟化资源的分配装置结构示意图;图3是本发明实施例中虚拟化资源的分配设备的示例性硬件架构的结构图。具体实施方式下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。构建虚拟资源池也就是通过虚拟化方式将多台物理服务器的cpu、内存、io设备等硬件资源整合形成一个巨大的虚拟资源池,从而提高硬件资源的利用效率。本发明实施例中,将多台物理服务器的cpu、内存、io设备等硬件资源整合形成的虚拟资源池称作基础资源池。当一个应用需要发布时,直接对基础资源池中的资源进行分配。而一个基础资源池对应的多台物理计算机可能存在型号不同,容量不同、性能差异等问题,因此需要一种能够充分发挥物理主机的硬件性能的同时,为资源需求匹配虚拟化资源的虚拟化资源的匹配方法。参见图1是本发明实施例中虚拟化资源的分配方法流程示意图,如图1所示本发明实施例中虚拟化资源的分配方法100具体包括以下步骤:s110,获取应用样本的摘要信息和基本信息。在本发明的一些实施例中,应用样本的基本信息包括用户量预估信息。作一个示例,用户量预估信息可以是预估的使用应用样本的用户量。作一个具体的示例,某公司一部门共20个人共同使用同一台虚拟主机。当需要向该虚拟主机下发应用样本时,可以预估使用应用样本的用户量为20人。在s110中,应用样本的摘要信息是通过哈希算法对应用样本文件计算获得的信息。在一些实施例中,哈希算法可以为信息-摘要算法(message-digestalgorithm5,md5)或安全散列算法(securehashalgorithm,sha)。作一个示例,可以将应用样本的数据信息通过md5算法计算得到长度为128位的摘要信息。作另一个示例,可以将应用样本的数据信息通过sha算法计算得到160位的摘要信息。在上述实施例中利用md5算法或sha算法获得应用样本的摘要信息能够保证信息传递过程中的安全性,并且具有算法效率高和算法简单的特点。并且md5算法或sha算法得到的摘要信息的长度较长,保证了不同的应用样本的数据信息对应不同的摘要信息。s120,依据应用样本的摘要信息确定应用样本在标签数据库中不存在。在一些实施例中,标签数据库用于存储已发布或正在发布的应用样本的摘要信息和已发布或正在发布的应用样本的应用性能标签。因此,在s120中,依据应用样本的摘要信息确定应用样本在标签数据库中不存在的方法,具体包括:依据应用样本的摘要信息,在标签数据库中寻找是否存在相同的摘要信息。若不存在相同的摘要信息,确定应用样本在标签数据库中不存在,并判断应用样本未发布。在若不存在相同的摘要信息,确定应用样本在标签数据库中不存在的步骤中,由于利用md5算法或sha算法计算应用样本的摘要信息,不同的应用样本的摘要信息互不相同。因此可以通过是否有相同的摘要信息,判断标签数据库中是否存在应用样本。在另一些实施例中,依据应用样本的摘要信息确定应用样本在标签数据库中不存在的方法,还包括:存在相同的摘要信息,确定应用样本在标签数据库中存在,判断应用样本已发布。调用标签数据库中应用样本的应用性能标签,按照应用样本的应用性能标签,将应用样本分配至对应的虚拟化资源池。s120中通过标签数据库判断应用样本是否已发布,确定应用样本已发布后,直接调用应用样本的应用性能标签,能够提高本发明实施例的虚拟化资源的分配方法的效率。根据s120确定应用样本在标签数据库中不存在后,需要生成应用性能标签。然而,应用样本的应用性能没有一个具体的衡量标准,因此需要建立应用样本的应用性能的衡量标准,基于衡量标准将应用样本按照应用性能进行划分并确定相应的应用性能标签。s130,根据基本信息采集应用样本的性能数据,基于应用样本的性能数据生成应用样本的应用性能标签,并将应用样本的摘要信息和应用性能标签存储在标签数据库。在本发明的一些实施例中,s130中采集应用样本的性能数据,具体为:根据基本信息中用户量预估信息,利用黑盒测试,采集当使用该应用样本的用户数量为用户量预估信息中预估的使用应用样本的用户量时,应用样本的各项性能数据。在s130中,基于应用样本的性能数据生成应用样本的应用性能标签,包括:s131,应用样本的性能数据包括cpu性能采集值、内存性能采集值和输入输出(input/output,io)性能采集值。在本发明的一些实施例中,cpu性能采集值为应用样本占用的cpu主频(cpu内核工作的时钟频率)的大小,单位为千兆赫兹(gigahertz,ghz);内存性能采集值为应用样本占用的内存大小,单位为千兆字节(gigabyte,gb);io性能采集值为应用样本对磁盘的io消耗大小,单位为每秒的输入输出量(input/outputoperationspersecond,iops)。s132,根据cpu性能采集值、内存性能采集值和io性能采集值计算应用性能值。在本发明的一些实施例中,s132具体包括:s1321,根据cpu性能采集值计算cpu性能值。在本发明的一些实施例中,cpu性能值的计算公式为其中,cpuvalue为cpu性能值,c为cpu性能采集值,cl为cpu性能第一参考值,ch为cpu性能第二参考值,且cl<ch。作一个示例,应用样本的cpu性能第一参考值cl可以取0.4ghz,应用样本的cpu性能第二参考值ch可以取1ghz。当应用样本的cpu性能采集值等于0.2ghz时,小于应用样本的cpu性能第一参考值cl,应用样本的cpu性能值等于0;当应用样本的cpu性能采集值等于0.8ghz时,介于应用样本的cpu性能第一参考值cl和应用样本的cpu性能第二参考值ch之间,应用样本的cpu性能值等于1;当应用样本的cpu性能采集值等于1.2ghz时,大于应用样本的cpu性能第二参考值ch,应用样本的cpu性能值等于2。s1322,根据内存性能采集值计算内存性能值。在本发明的一些实施例中,内存性能值的计算公式为其中,memvakue为内存性能值,m为内存性能采集值,ml为内存性能第一参考值,mh为内存性能第二参考值,且ml<mh。s1323,根据io性能采集值计算io性能值。在本发明的一些实施例中,io性能值的计算公式为其中,iovalue为io性能值,i为io性能采集值,il为io性能第一参考值,ih为io性能第二参考值,且il<ih。s1324,根据cpu性能值、内存性能值和io性能值计算应用性能值。在本发明的一些实施例中,计算应用性能值的公式为其中,pervalue为应用性能值,max(cpuvalue,memvalue,iovalue)表示取cpuvalue,memvalue,iovalue中取最大值,a为大于1的数。作一个示例,当一个应用样本的cpuvalue=0,memvalue=0,iovalue=0时,满足max(cpuvalue,memvalue,iovalue)=0,应用样本的应用性能值等于0;当一个应用样本的cpuvalue=0,memvalue=1,iovalue=1时,满足max(cpuvalue,memvalue,iovalue)=1,应用样本的应用性能值等于1;当一个应用样本的cpuvalue=2,memvalue=0,iovalue=0时,满足max(cpuvalue,memvalue,iovalue)=2,应用样本的应用性能值等于a。s133,基于应用性能值,生成应用样本的应用性能标签。在本发明的一些实施例中,应用性能标签包括:高密度标签、常规标签、高性能标签。表1示出了本发明实施例应用性能值和应用性能标签的映射关系。表1应用性能值pervalue应用性能标签0高密度标签1常规标签a高性能标签作一个示例,当应用样本的应用性能值pervalue等于1时,根据表1中示出的应用性能值和应用性能标签的映射关系,应用样本生成的应用性能标签为常规标签。s140,按照应用样本的应用性能标签,将应用样本分配至对应的虚拟化资源池。在本发明的一些实施例中,虚拟化资源池可以包括:高密度资源池、常规资源池和高性能资源池。其中,cpu性能、内存性能和io性能通常是衡量一台物理主机性能的重要参数。因此,s140具体包括:s141,根据基础资源池中物理主机的cpu性能、基础资源池中物理主机的内存性能和基础资源池中物理主机的io性能将基础资源池划分为高密度资源池、常规资源池和高性能资源池。在s141中,可以根据物理主机的主频衡量物理主机的cpu性能,用内存的大小衡量物理主机内存的性能,用磁盘的每秒的输入输出量衡量物理主机的io性能。作一个示例,可以设定cl为物理主机的cpu性能第一参考值,ch为物理主机的cpu性能第二参考值;ml为物理主机的内存性能第一参考值,mh为物理主机的内存性能第二参考值;il为物理主机的io性能第一参考值,ih为物理主机的io性能第二参考值。将cpu性能参数小于cl,内存性能参数小于ml和io性能参数小于il的物理主机划分为低性能物理主机;将cpu性能参数大于ch、内存性能参数大于mh或io性能参数大于ih的物理主机划分为高性能物理主机;将其余的物理主机划分为常规性能物理主机。将低性能物理主机的物理资源录入高密度资源池,常规性能物理主机的物理资源录入常规资源池,将高性能物理主机的物理资源录入高性能资源池。s142,按照应用样本的应用性能标签,将高密度标签对应的应用样本分配至高密度资源池,将常规标签对应的应用样本分配至常规资源池,将高性能标签对应的应用样本分配至高性能资源池。根据本发明实施例中虚拟化资源的分配方法,可以将基础资源池按照物理主机的性能划分为高密度资源池、常规资源池和高性能资源池,并根据应用的性能参数生成相应的应用性能标签。通过本发明实施例的虚拟化资源的分配方法,能够提高基础资源池的利用率,同时方便了对基础资源池的统一维护管理,并建立了应用性能的评价标准。参见图2是本发明实施例中虚拟化资源的分配装置结构示意图,虚拟化资源的分配装置200与虚拟化资源的分配方法100相对应,虚拟化资源的分配装置200具体包括:获取模块210,用于获取应用样本的摘要信息和基本信息。确定模块220,用于依据应用样本的摘要信息确定应用样本在标签数据库中不存在。生成模块230,用于根据基本信息,采集应用样本的性能数据,基于应用样本的性能数据生成应用样本的应用性能标签,并将应用样本的摘要信息和应用性能标签存储在标签数据库。在本发明的一些实施例中,应用样本的性能数据包括cpu性能采集值、内存性能采集值和io性能采集值。因此生成模块230还包括:计算模块231,用于根据cpu性能采集值、内存性能采集值和读写io性能采集值计算应用性能值。在本发明的一些实施例中,计算模块231还包括:第一计算子模块2311,用于根据cpu性能采集值计算cpu性能值。第二计算子模块2312,用于根据内存性能采集值计算内存性能值。第三计算子模块2313,用于根据io性能采集值计算io性能值。第四计算子模块2314,用于根据cpu性能值、内存性能值和io性能值计算应用性能值。生成子模块232,用于基于应用性能值,生成应用样本的应用性能标签。分配模块240,用于按照应用样本的应用性能标签,将应用样本分配至对应的虚拟化资源池。在本发明的一些实施例中,虚拟化资源池包括:高密度资源池、常规资源池和高性能资源池,应用性能标签包括:高密度标签、常规标签、高性能标签。因此,分配模块240还包括:划分模块241,用于根据基础资源池中物理主机的cpu性能、基础资源池中物理主机的内存性能和基础资源池中物理主机的io性能将基础资源池划分为高密度资源池、常规资源池和高性能资源池。分配子模块242,用于按照应用样本的应用性能标签,将高密度标签对应的应用样本分配至高密度资源池,将常规标签对应的应用样本分配至常规资源池,将高性能标签对应的应用样本分配至高性能资源池。图3是本发明实施例中虚拟化资源的分配设备的示例性硬件架构的结构图。如图3所示,虚拟化资源的分配设备300包括输入设备301、输入接口302、中央处理器303、存储器304、输出接口305、以及输出设备306。其中,输入接口302、中央处理器303、存储器304、以及输出接口305通过总线310相互连接,输入设备301和输出设备306分别通过输入接口302和输出接口305与总线310连接,进而与虚拟化资源的分配设备300的其他组件连接。具体地,输入设备301接收来自外部的输入信息,并通过输入接口302将输入信息传送到中央处理器303;中央处理器303基于存储器304中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器304中,然后通过输出接口305将输出信息传送到输出设备306;输出设备306将输出信息输出到虚拟化资源的分配设备300的外部供用户使用。也就是说,图3所示的虚拟化资源的分配设备也可以被实现为包括:存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现结合图1至图2描述的虚拟化资源的分配设备的方法和装置。在一个实施例中,图3所示的虚拟化资源的分配设备300可以被实现为一种设备,该设备可以包括:存储器,用于存储程序;处理器,用于运行所述存储器中存储的所述程序,以执行本发明实施例的虚拟化资源的分配方法。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使对应技术方案的本质脱离本发明各实施例技术方案的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1