云计算环境下的无状态化虚拟机及其应用的利记博彩app
【专利摘要】本发明提供一种云计算环境下的无状态化虚拟机及其应用,属于云计算【技术领域】。该虚拟机被映射在计算机的存储装置中以文件形式存在,其具体包括:用于存放应用的应用数据镜像文件,用于存放操作系统的操作系统(OS)镜像文件,以及对应应用的应用中间件;其中,应用中间件的中间件内核被置放于OS镜像文件中,应用中间件的中间件配置被置放于应用数据镜像文件中,中间内核与中间件配置之间被关联以实现所述中间内核指定相应的中间件配置。该虚拟机可以在应用中间件环境下的应用也实现无状态化,灵活性好、配置管理能力强。
【专利说明】云计算环境下的无状态化虚拟机及其应用
【技术领域】
[0001] 本发明属于云计算【技术领域】,涉及应用中间件环境下的应用实现无状态化的无状 态化虚拟机及其应用方法。
【背景技术】
[0002] 云计算环境的一个典型特征是"通用性",该特征确保同一片"云"可以支撑应用在 云环境中的任何物理位置、任意配置组合下正常运行,从而达到应用灵活配置管理的目的。
[0003]目前,云计算环境中提倡资源的无状态化使用,因此有关研究人员提出了无状态 虚拟机。无状态虚拟机的主要设计理念为将虚拟机分拆为0S (操作系统)镜像文件以及应 用数据业务镜像文件。
[0004] 图1所示为常规的无状态化虚拟机的分拆示意图。如图1所示,物理系统盘中存 在的OS. qcow2文件对应操作系统,其为0S镜像文件,可以负责运行操作系统、以及安装通 用软件(例如JDK、Jboss等);物理数据盘中存在的data. qcow2文件对应为应用数据业务镜 像文件,其可以存放应用自身的运行代码、配置文件、日志以及业务数据。这样设计的目的 是希望任何数据盘与其他系统盘任意组合后都能够使应用正常运行,而不会受限于操作系 统盘的限制。同时,0S镜像文件将会作为模板镜像,新创建的虚拟机通常复制模板镜像作 为基础,并动态创建一个空文件作为数据业务镜像。
[0005] 虽然如图1所示的无状态虚拟机在简单的应用场景中,如直接运行Java程序,可 以达到应用与系统分离解耦合的目标,然而当存在应用中间件(Middleaware)时的复杂场 景却有诸多的困难。现有的存在应用中间件的无状态虚拟机的技术方案主要存在以下图2 和图3两种结构。
[0006] 图2所示为现有的一实施例的无状态化虚拟机的模块结构示意图。如图2所示, 无状态化虚拟机10主要包括分离置放的0S镜像文件11和应用数据镜像文件13,还包括 应用中间件15,其中,应用中间件15全部存放在对应操作系统的0S镜像文件11中。具体 地,在0S镜像文件11中存放了中间件程序(即应用中间件15的中间件内核151)与相关配 置(即应用中间件15的中间件配置153),在应用数据镜像文件13中存放了应用代码与其 相关数据(即应用数据)。该实施例的无状态化虚拟机中,操作系统与中间件存在于同一块 物理存储盘中,即在同一 0S镜像文件中。虽然该实施例的无状态化虚拟机方案便于制作统 一的模板镜像,但是由于中间件配置153与在应用镜像数据文件13的应用131存在关联关 系,如应用131的启动配置参数等,因此对于不同的应用,实际上中间件配置153是个性化 和差异化的。这样,当应用数据镜像文件13与其他0S镜像文件11组合后,由于中间件配 置153与应用131无法匹配,将会造成应用无法正常启动。
[0007] 图3所示为现有的又一实施例的无状态化虚拟机的模块结构示意图。如图3所 示,无状态化虚拟机20主要包括分离置放的0S镜像文件21和应用数据镜像文件23,还包 括应用中间件25,其中,应用中间件25全部存放在应用数据镜像文件23中,因此,应用231 和应用中间件25都存放在应用数据镜像文件23中。需要理解的是,0S镜像文件21本质只 是高度标准化的操作系统。该实施例的无状态化虚拟机中,由于应用数据镜像文件23将所 有应用个性化有关的配置(即中间件配置253)包含了,因此,其和任意其他标准化的OS镜 像文件21可以任意组合使用,克服了图2所示实施例的虚拟机的问题。
[0008] 然而,正是图3所示实施例的虚拟机的架构特征也使得数据中心部署应用的效率 大大降低。这是由于,第一,0S镜像文件(模板镜像)21没包含应用中间件25,因此每新生 成虚拟机后都需要在应用数据镜像文件23中重新安装一下应用中间件25和应用231 (因 为应用数据镜像初始为空的磁盘空间),相比于0S镜像文件(模板镜像)具有已安装好的应 用中间件的情形(图2所示实施例),图2中只需重新部署应用,因此图3所示实施例的部 署复杂度大大提升;第二,由于应用自动启动服务往往关联在操作系统中,由于应用中间件 25未安装在操作系统所在的磁盘中(即0S镜像文件21 ),操作系统无法定位应用中间件25, 因此无法做到虚拟机重启后,应用自动启动。
[0009] 因此,现有的使用应用中间件的无状态化虚拟机的架构特征导致存在各种各样的 问题,难以兼顾效率和个性化配置。
【发明内容】
[0010] 为解决以上或者其他技术问题,本发明提供一种以下技术方案。
[0011] 按照本发明的一方面,提供一种云计算环境下的无状态化虚拟机,其被映射在计 算机的存储装置中以文件形式存在,其具体包括: 用于存放应用的应用数据镜像文件, 用于存放操作系统的操作系统(0S)镜像文件,以及 对应所述应用的应用中间件; 其中,所述应用中间件的中间件内核被置放于所述os镜像文件中,所述应用中间件的 中间件配置被置放于所述应用数据镜像文件中,所述中间内核与中间件配置之间被关联以 实现所述中间内核指定相应的中间件配置。
[0012] 按照本发明一实施例的无状态化虚拟机,其中,所述中间件内核中设置有配置项, 通过所述配置项指向相应中间件配置所在的位置,以实现所述关联。
[0013] 按照本发明又一实施例的无状态化虚拟机,其中,多个所述无状态化虚拟机被共 同配置一数据库,相应的中间件内核所指向的中间件配置的存放位置信息被存入所述数据 库,所述中间件内核启动时读取所述数据库以指向相应的相应中间件配置所在的位置,进 而实现所述关联。
[0014] 在之前所述任一实施例的无状态化虚拟机中,所述中间件内核主要用于执行中间 件的基础服务。
[0015] 在之前所述任一实施例的无状态化虚拟机中,所述中间件配置主要用于配置中间 件自身所需的配置和应用的配置。
[0016] 在之前所述任一实施例的无状态化虚拟机中,所述中间件内核被固化在0S镜像 文件中。
[0017] 在之前所述任一实施例的无状态化虚拟机中,所述中间件内核指定应用数据镜像 文件中的固定目录作为中间件配置的目录。
[0018] 在之前所述任一实施例的无状态化虚拟机中,所述0S镜像文件存放于所述存储 装置的物理系统盘中,所述应用数据镜像文件存放于所述存储装置的物理数据盘中。
[0019] 按照本发明的又一方面,提供一种以上所述及的任一无状态化虚拟机的应用,其 中,其应用于至少对0S镜像文件中的版本升级。
[0020] 按照本发明的还一方面,提供一种以上所述及的任一无状态化虚拟机的应用,其 中,其应用于对所述虚拟机进行备份,其中仅备份应用数据镜像文件。
[0021] 按照本发明的还一方面,提供一种以上所述及的任一无状态化虚拟机的应用,其 中,其在0S镜像文件损毁时用于恢复所述虚拟机,其中从镜像模板库中重新生成0S镜像文 件。
[0022] 本发明的技术效果是,将原本一起放置的应用中间件的中间件内核与中间件配置 进行解耦合,分别安装在虚拟机的0S镜像和数据业务镜像中,并通过新增的关联机制使得 中间件内核与中间件配置进行关联。因此,即使在应用中间件环境下的应用也实现了无状 态化,灵活性好、配置管理能力强,并且新建虚拟机无需重复安装应用中间件,虚拟机重启 动后可以自启动应用。
【专利附图】
【附图说明】
[0023] 从结合附图的以下详细说明中,将会使本发明的上述和其他目的及优点更加完整 清楚,其中,相同或相似的要素采用相同的标号表示。
[0024] 图1是常规的无状态化虚拟机的分拆示意图。
[0025] 图2是现有的一实施例的无状态化虚拟机的模块结构示意图。
[0026] 图3是现有的又一实施例的无状态化虚拟机的模块结构示意图。
[0027] 图4是按照本发明一实施例的云计算环境下的无状态化虚拟机的模块结构示意 图。
[0028] 图5是按照本发明又一实施例的云计算环境下的无状态化虚拟机的模块结构示 意图。
[0029] 图6是按照本发明还一实施例的云计算环境下的无状态化虚拟机的模块结构示 意图。
【具体实施方式】
[0030] 下面介绍的是本发明的多个可能实施例中的一些,旨在提供对本发明的基本了 解,并不旨在确认本发明的关键或决定性的要素或限定所要保护的范围。容易理解,根据本 发明的技术方案,在不变更本发明的实质精神下,本领域的一般技术人员可以提出可相互 替换的其他实现方式。因此,以下【具体实施方式】以及附图仅是对本发明的技术方案的示例 性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限定或限制。
[0031] 图4所示为按照本发明一实施例的云计算环境下的无状态化虚拟机的模块结构 示意图。虚拟机30同样地映射在计算机的存储装置中以文件形式存在,其映射的文件具体 包括:存放于计算机的存储装置的物理系统盘中的0S镜像文件31、存放于计算机的存储装 置的物理数据盘中的应用数据镜像文件33,还包括应用中间件。其中,0S镜像文件31至少 地对应操作系统,应用数据镜像文件33至少地对应应用程序数据,因此其存放了包括应用 代码与应用数据的应用331,主要为应用执行代码和应用日志等。具体地,应用中间件抽象 为主要由中间件内核351和中间件配置353组成,中间件内核351主要用于执行中间件的 基础服务,中间件配置353主要用于配置中间件自身所需的配置和应用的配置,其决定了 应用的启动参数等。
[0032] 在现有技术的无状态化虚拟机中,应用中间件的中间件内核与中间件配置绑定在 一起,因为本领域技术人员认为,这样设置使得中间件启动时的配置固化在内核中。
[0033] 而在本发明的实施例中,如图4所示,应用中间件的中间件内核351和中间件配置 352被解耦合,它们分别存放于0S镜像文件31和应用数据镜像文件33中,因此,它们的存 放位置是相互独立的,需要通过新的关联机制39来实现中间内核指定相应的中间件配置。
[0034] 图5所示为按照本发明又一实施例的云计算环境下的无状态化虚拟机的模块结 构示意图。虚拟机40同样地映射在计算机的存储装置中以文件形式存在,其映射的文件具 体包括:存放于计算机的存储装置的物理系统盘中的0S镜像文件41、存放于计算机的存储 装置的物理数据盘中的应用数据镜像文件43,还包括应用中间件。其中,0S镜像文件41至 少地对应操作系统,应用数据镜像文件43至少地对应应用程序数据,因此其存放了包括应 用代码与应用数据的应用431,主要为应用执行代码和应用日志等。具体地,应用中间件抽 象为主要由中间件内核451和中间件配置453组成,中间件内核451主要用于执行中间件 的基础服务,中间件配置453主要用于配置中间件自身所需的配置和应用的配置,其决定 了应用的启动参数等。
[0035] 如图5所示实施例示出了解耦合的中间件内核与中间件配置之间的其中一种关 联机制。在该实施例中,在中间件内核451中设置了配置项455,通过配置项455指向相应 中间件配置453所在的位置,以实现二者之间的关联。在该实施例的方案中,相当于一层关 于中间件配置的配置信息,即包括中间件配置所存储的位置信息,通过多加入一层对应配 置项455的元数据,可以实现中间件内核451与相应的中间件配置453的关联。
[0036] 图6所示为按照本发明还一实施例的云计算环境下的无状态化虚拟机的模块结 构示意图。虚拟机50同样地映射在计算机的存储装置中以文件形式存在,其映射的文件具 体包括:存放于计算机的存储装置的物理系统盘中的0S镜像文件51、存放于计算机的存储 装置的物理数据盘中的应用数据镜像文件53,还包括应用中间件。其中,0S镜像文件51至 少地对应操作系统,应用数据镜像文件53至少地对应应用程序数据,因此其存放了包括应 用代码与应用数据的应用531,主要为应用执行代码和应用日志等。具体地,应用中间件抽 象为主要由中间件内核551和中间件配置553组成,中间件内核551主要用于执行中间件 的基础服务,中间件配置553主要用于配置中间件自身所需的配置和应用的配置,其决定 了应用的启动参数等。
[0037] 如图6所示实施例示出了解耦合的中间件内核与中间件配置之间的其中又一种 关联机制。在该实施例中,无状态化虚拟机50还配置有一个数据库555,具体地,数据库555 可以为多个虚拟机50共用,多个虚拟机的所有相应的中间件内核551所指向的中间件配置 553的存放位置信息被存入数据库555,从而进行集中管理;中间件内核551启动时读取数 据库555以指向相应的相应中间件配置553所在的位置,进而实现中间件内核551与中间 件配置553之间的关联。
[0038] 尽管以上示出了图5和图6所示的两种关联机制实施例,本领域技术人员将可以 根据以上示例的教导或启示,使用其他的关联机制。因此,中间件内核与中间件配置之间的 关联并不限于本发明的实施例的情形。
[0039] 综上,将原本一起放置的应用中间件的中间件内核与中间件配置解耦合,分别安 装在虚拟机的0S镜像和数据业务镜像中,并通过新增的关联机制使得中间件内核与中间 件配置进行关联,从而使在中间件环境下虚拟机的数据业务盘(即应用数据镜像文件)上的 应用配合其他的0S镜像都可以正常运行。因此,该发明的虚拟机的数据业务镜像将达到以 下类似效果,即现实生活中的安装了绿色应用软件的移动硬盘,连接至任何PC电脑都可以 运行该绿色软件。
[0040] 具体地,本发明的虚拟机具有以下优点。
[0041] 第一,在本发明的虚拟机中,将原本只能在操作系统层面做到的无状态化延伸到 了应用层面,使得即使在应用中间件环境下的应用也实现了无状态化,也即,虚拟机的任意 数据业务盘(即应用数据镜像文件)上的应用配合其他的0S镜像都可以正常运行。因此,采 用本发明的虚拟机将具备更好地灵活性和配置管理能力; 第二,新建虚拟机无需重复安装应用中间件,因其已固化在镜像模板(0S镜像文件) 中; 第三,通过在镜像模板(0S镜像文件)中配置应用中间件自动启动项,虚拟机重启后可 自动启动相应的应用。
[0042] 因此,本发明的虚拟机将大大增加应用以及计算资源管理的便捷性,其主要可以 但不限于在以下业务场景模式应用。
[0043] (1)0S镜像中的操作系统、基础软件以及应用中间件等补丁或版本升级的替换。一 个计算机系统(在此指虚拟机)根据规划经常需要系统版本的升级或者中间件软件版本(如 Jboss)的升级,基于本方案,系统管理员不需要再对每一台虚拟机(云计算环境中可能有数 万台虚拟机)进行升级,只须对镜像模板(0S镜像)进行一次升级,随后一一挂载替换,即可 对基于此镜像模板创建的虚拟机完成全部升级,这样系统升级的风险也将大为降低。
[0044] (2)在对虚拟机备份时只须备份应用业务数据镜像文件。由于采用本方案后,0S 镜像文件趋于同一化,因此只须保留一份镜像模板即可,在备份时只需备份个性化的业务 数据镜像文件。
[0045] (3)当0S镜像文件损毁时,恢复虚拟机。首先,采用无状态虚拟机后,故障域已经 隔离成0S镜像与业务镜像;其次,0S镜像通常因其中运行操作系统等复杂服务,存在更高 的使镜像文件损坏的风险,因此当0S镜像文件损毁时,可以从镜像模板库中重新生成0S镜 像,以恢复虚拟机。
[0046] 以上例子主要说明了本发明的云计算环境下的无状态化虚拟机及其各种应用方 法。尽管只对其中一些本发明的实施方式进行了描述,但是本领域普通技术人员应当了解, 本发明可以在不偏离其主旨与范围内以许多其他的形式实施。因此,所展示的例子与实施 方式被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本发明精神及范 围的情况下,本发明可能涵盖各种的修改与替换。
【权利要求】
1. 一种云计算环境下的无状态化虚拟机,其被映射在计算机的存储装置中以文件形式 存在,其具体包括: 用于存放应用的应用数据镜像文件, 用于存放操作系统的操作系统(OS)镜像文件,以及 对应所述应用的应用中间件; 其特征在于,所述应用中间件的中间件内核被置放于所述OS镜像文件中,所述应用中 间件的中间件配置被置放于所述应用数据镜像文件中,所述中间内核与中间件配置之间被 关联以实现所述中间内核指定相应的中间件配置。
2.如权利要求1所述的无状态化虚拟机,其特征在于,所述中间件内核中设置有配置 项,通过所述配置项指向相应中间件配置所在的位置,以实现所述关联。
3.如权利要求1所述的无状态化虚拟机,其特征在于,多个所述无状态化虚拟机被共 同配置一数据库,相应的中间件内核所指向的中间件配置的存放位置信息被存入所述数据 库,所述中间件内核启动时读取所述数据库以指向相应的中间件配置,进而实现所述关联。
4.如权利要求1或2或3所述的无状态化虚拟机,其特征在于,所述中间件内核主要用 于执行中间件的基础服务。
5.如权利要求1或2或3所述的无状态化虚拟机,其特征在于,所述中间件配置主要用 于配置中间件自身所需的配置和应用的配置。
6.如权利要求1或2或3所述的无状态化虚拟机,其特征在于,所述中间件内核被固化 在OS镜像文件中。
7.如权利要求1或2或3所述的无状态化虚拟机,其特征在于,所述中间件内核指定应 用数据镜像文件中的固定目录作为中间件配置的目录。
8.如权利要求1或2或3所述的无状态化虚拟机,其特征在于,所述OS镜像文件存放 于所述存储装置的物理系统盘中,所述应用数据镜像文件存放于所述存储装置的物理数据 盘中。
9. 一种如权利要求1所述的无状态化虚拟机的应用,其特征在于,其应用于至少对OS 镜像文件中的版本升级。
10. 一种如权利要求1所述的无状态化虚拟机的应用,其特征在于,其应用于对所述虚 拟机进行备份,其中仅备份应用数据镜像文件。
11. 一种如权利要求1所述的无状态化虚拟机的应用,其特征在于,其在OS镜像文件损 毁时用于恢复所述虚拟机,其中从镜像模板库中重新生成os镜像文件。
【文档编号】H04L29/08GK104142847SQ201310161987
【公开日】2014年11月12日 申请日期:2013年5月6日 优先权日:2013年5月6日
【发明者】祖立军, 王海冰, 才华, 何朔 申请人:中国银联股份有限公司