首页> 中国专利> 一种基于虚拟机内存模板的云计算服务Cache系统

一种基于虚拟机内存模板的云计算服务Cache系统

摘要

本发明提出了一种基于虚拟机内存模板的云计算服务Cache系统。系统采用三层结构,包括用户统一访问接口层,云计算服务Cache系统管理层及虚拟机平台层。用户层为提供统一的服务访问接口;管理层用于用户层与虚拟机平台层之间的交互与控制;虚拟机平台层按照系统管理层的要求去创建虚拟资源,并在虚拟资源上开始执行请求任务。本发明能够减少云计算服务切换和调度带来的资源浪费,减少服务部署和请求时的磁盘I/O开销,解决当前云计算环境下的瓶颈问题。本发明屏蔽了各种云计算服务的异构性,一方面为云计算服务提供商提供统一的资源服务访问接口,另一方面保持各服务之间的独立性和安全性,系统可扩展性好,易于管理,提供了资源利用的透明性。

著录项

  • 公开/公告号CN102096596A

    专利类型发明专利

  • 公开/公告日2011-06-15

    原文格式PDF

  • 申请/专利权人 华中科技大学;

    申请/专利号CN201010565380.5

  • 发明设计人 金海;吴松;石宣化;刘超;

    申请日2010-11-29

  • 分类号G06F9/455(20060101);H04L29/08(20060101);

  • 代理机构42201 华中科技大学专利中心;

  • 代理人曹葆青

  • 地址 430074 湖北省武汉市洪山区珞喻路1037号

  • 入库时间 2023-12-18 02:34:45

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-11-06

    授权

    授权

  • 2011-08-10

    实质审查的生效 IPC(主分类):G06F9/455 申请日:20101129

    实质审查的生效

  • 2011-06-15

    公开

    公开

说明书

技术领域

本发明属于计算系统虚拟化技术领域,具体涉及一种基于虚拟机内存模板的云计算服务Cache系统。

背景技术

计算系统资源规模的不断扩展极大地推动了计算系统虚拟化技术的发展。虚拟化技术是将底层物理设备与上层操作系统、软件分离的一种去耦合技术,它可以实现计算资源的高效灵活使用,可以更加充分合理地利用计算资源,满足日益多样的计算需求,使人们能够透明、高效、可定制地使用计算资源,从而真正实现灵活构建,按需计算的理念。

随着虚拟化技术的不断成熟,云计算的概念应运而生。按照通用的标准,云计算是基于互联网网络,向多种用户提供的虚拟的,丰富的,按需即取的包括数据存储池,软件下载和维护池,计算能力池,多媒体信息资源池,客户服务池在内的广泛数据和运算处理服务,是基于之前互联网应用服务和整合运算技术基础上发展而来的新一代数据处理和应用服务技术。

在目前的云计算环境中,利用虚拟化技术来实现服务的资源调度和共享已成为主流,所有服务都是以虚拟机作为服务后台。那么随着服务请求数量的不断增加,各种服务所需要创建的虚拟机也随之增加。很多云计算服务的执行时间都很短,有些甚至和创建该服务所需要的虚拟机的时间相当。而当各种服务随着用户请求不停的切换和调度时,所对应的虚拟机也会被频繁的创建和关闭。这些因素使得创建虚拟机的时间成为云计算提供服务的瓶颈。除此之外,在为每一个服务创建虚拟机时都需要从磁盘读取镜像文件来启动虚拟机,那么大量服务频繁创建虚拟机而引起的磁盘的I/O开销也会造成性能的极大损失。因此,为了提高云计算服务的响应时间,减少服务切换和调度带来的资源浪费,减少部署服务时的磁盘I/O开销,我们提出了基本虚拟机内存模板的云计算服务Cache系统。

发明内容

本发明的目的在于提供一种基于虚拟机内存模板的云计算服务Cache系统,该系统能够减少云计算服务切换和调度带来的资源浪费,减少部署服务时的磁盘I/O开销,解决当前云计算环境下的瓶颈问题。

本发明提供的一种基于虚拟机内存模板的云计算服务Cache系统,其特征在于,该系统采用三层架构:用户统一访问接口层,云计算服务Cache系统管理层,与虚拟机资源交互的虚拟机平台层;

用户统一访问接口层为用户提供访问图形化界面,接受用户的服务访问请求,经过预处理后向下传递给云计算服务Cache系统管理层;

云计算服务Cache系统管理层接收用户层传来的服务请求,根据服务请求确定所需要虚拟机资源的类型,根据维护的服务索引确定服务Cache是否命中,是否需要创建新的虚拟资源,然后交由虚拟机平台层来进行服务部署,并接收虚拟机平台层返回的实时的服务状态信息,云计算服务Cache系统管理层再将请求的具体任务发送到虚拟机平台层,并让其去执行本次任务的计算,待到任务完成时,系统管理层会接收来自虚拟机平台层的任务结果数据,并将其返回给用户层;

虚拟机平台层是用于执行服务请求的系统底层;当云计算服务Cache系统管理层根据服务环境和配置确定所需的虚拟机后,虚拟机平台层为这些特定的虚拟机分配IP,再通过云计算服务Cache系统管理层在虚拟机上部署任务,传递用户私有数据,最后利用虚拟机执行任务,当任务执行完成之后,虚拟机平台层再将任务运行结果返回给云计算服务Cache系统管理层。

本发明利用内存模板机制,快速创建Cache虚拟机构建Cache虚拟机池,利用Cache虚拟机池快速的反应大量服务请求,实现服务的敏捷部署。同时,利用Cache虚拟机池来实现云计算资源的动态调度。本发明屏蔽了各种云计算服务的异构性,一方面为云计算服务提供商提供统一的资源服务访问接口,另一方面保持各服务之间的独立性和安全性。具体而言,本发明具有以下优点和效果:

(1)更高的效率:服务响应时间的长短是衡量一个服务是否高效的重要因素,传统的服务的响应将大量的时间耗费在创建虚拟机时Guest-OS的启动上。而本系统利用驻留在内存的内存模板直接创建运行状态的虚拟机,跳过了Guest-OS的启动阶段,大大降低了虚拟机创建时间,从而减少服务部署和响应时间。

(2)更少的资源消耗:在云计算环境中,各种服务频繁的切换和调度使得服务所对应的虚拟机也会被频繁的创建和关闭。创建虚拟机时都需要从磁盘读取镜像文件来启动虚拟机,那么大量服务频繁创建虚拟机就会造成磁盘I/O的巨大开销。该发明不仅降低了创建虚拟机的时间,并且利用驻留内存的内存模板实现了创建虚拟机的RAM级操作,大大减少了磁盘的I/O量,很好的解决了云计算环境中磁盘I/O的瓶颈问题。

附图说明

图1是本发明基于虚拟机内存模板的云计算服务Cache系统的体系结构图;

图2是服务管理模块的结构示意图;

图3是虚拟机镜像管理模块的结构示意图;

图4是内存模板管理模块的结构示意图;

图5是服务Cache模块结构示意图;

图6是虚拟机平台层的结构示意图。

具体实施方式

本发明系统采用了以下关键技术:

1.虚拟机内存模板创建和维护

内存模板是驻留在宿主物理机的虚拟机内存快照。当成功创建出符合某一个服务请求虚拟机之后,系统会将该虚拟机的内存作为模板压缩并拷贝,然后将该内存模板驻留在宿主物理机的内存中,并保证随时可以利用该内存模板来快速创建同样配置的虚拟机,这种创建虚拟机的方法较传统的从镜像文件创建虚拟机的方法节约了近80%的时间。

2.RAM级操作创建虚拟机

通过挂载内存文件系统,将内存模板存储在宿主操作系统的内存中,改变了以往从磁盘读取文件创建虚拟机的方法,实现了RAM级的读取,不仅加快了速度,更是有效的减少了对磁盘的读写次数。

3.虚拟机Cache策略

利用内存模板创建的Cache虚拟机会被放入系统维护的动态Cache虚拟机池中,后续服务请求所需要的虚拟机类型是否匹配决定了Cache虚拟机命中率的高低,而虚拟机Cache策略可以根据短时间内任务请求的局部相关性这一特点,挖掘分析任务请求数据,从而对Cache虚拟机进行替换或更新,从而保证任务对于Cache虚拟机的命中率,提高资源利用率。

4.xm create-cache命令

本系统所用的Hypervisor是Xen,而Xen并没有提供用内存文件创建虚拟机的接口。本发明修改了Xen-tools的内层函数,独立编写了一个新的模块,对外封装成xm create-cache命令,该命令可以利用一份内存文件创建多个独立的Cache虚拟机,虚拟机内存都继承了内存模板中的状态和数据,虚拟机硬盘是利用磁盘的COW技术,以该服务的base镜像作为基本镜像,每个虚拟机生成自己的增量镜像,那么用该命令创建的虚拟机减少了虚拟机启动的时间,同时也减少了磁盘的IO。

下面结合附图对本发明系统的结构作进一步详细的说明。

如图1所示,本发明系统采用三层架构:用户统一访问接口层,云计算服务Cache系统管理层,与虚拟机资源交互的虚拟机平台层。

用户统一访问接口层为用户提供访问图形化界面,它通过用户统一访问模块1予以实现。用户统一访问模块1将系统提供的各种服务展示给用户,并接受用户的服务访问请求,经过预处理后向下传递给云计算服务Cache系统管理层的各模块,云计算服务Cache系统管理层的各模块对信息进行处理完毕后再将结果返回用户统一访问模块1。

云计算服务Cache系统管理层是整个系统的核心,它接收用户层传来的服务请求,根据服务请求确定所需要虚拟机资源的类型,根据维护的服务索引确定服务Cache是否命中,是否需要创建新的虚拟资源等,然后交由虚拟机平台层来进行服务的部署,平台层在完成服务部署之后将服务接口返回给系统管理层,并通过Agent将实时的服务状态信息返回给系统管理层,系统管理管理层再将结果返回给用户层。

云计算服务Cache系统管理层包括服务管理模块2、虚拟机镜像管理模块3、内存模板管理模块4和服务Cache模块5。

服务管理模块2可以接收前台收到的服务注册请求,根据服务类型来创建一个新的服务,并将这些相关的服务信息存储到数据库中。当服务运行时,还负责对服务状态进行监控,对服务的具体请求进行处理。

虚拟机镜像管理模块3负责维护和管理整个系统的虚拟机所对应的镜像文件。所有的镜像文件会按照三层结构来进行管理,主要包括系统基本镜像,服务基本镜像和虚拟机增量镜像。

内存模板管理模块4主要负责维护和管理每个服务类型所对应的内存模板。系统会为每一个不同类型的服务创建一个内存模板,本模块就要负责这些内存模板的创建,查找,添加,删除和替换等功能。为了进一步提高效率,本模块还需要维护一个内存模板库,用于替换不同服务的内存模板。

当服务管理模块2注册并创建完成一个新的服务之后,它就会通知内存模板管理模块4创建该服务对应的内存模板。当具体的服务请求到来时,服务管理模块2就会对本次服务任务的请求进行解析,得到本次请求所需要创建的虚拟机的数目和类型,然后从虚拟机镜像管理模块3获取虚拟机的所有镜像文件,从内存模板管理模块4得到虚拟机的内存模板,从而创建出所需的虚拟机。

服务Cache模块5用于维护和管理Cache虚拟机池。该模块通过和虚拟机镜像管理模块3,内存模板管理模块4交互,由服务基本镜像管理模块32提供虚拟机镜像,由内存模板管理模块4提供虚拟机内存,直接生成运行状态的Cache虚拟机,并添加到池中,同时该模块会接受服务处理模块2传来的服务请求从池中提取Cache虚拟机去满足服务请求。有了这个Cache虚拟机池,每当服务请求到来时,就可以直接从池中提取虚拟机开始执行任务。

虚拟机平台层是用来最终来执行服务请求的系统底层。当服务处理模块2根据服务环境和配置确定了所需的虚拟机(可能某个服务请求需要多台虚拟机),这时候Agent模块就会根据系统规划,给这些虚拟机分配IP,然后服务处理模块2在虚拟机上部署任务私有数据,并开始执行任务。当任务执行完成之后,Agent会将任务运行结果返回给服务处理模块2。

虚拟机平台层主要是指相互独立的虚拟机集合7.1,7.2,…7.N。这些虚拟机集合是执行具体请求任务的最终载体。每个虚拟机集合通过Agent模块6.1,6.2,...,6.N与云计算服务Cache系统管理层交互,执行上层提交的任务并将执行的结果返回给上层。为表述方便,下文中将Agent模块6.1,6.2,...,6.N统称为Agent模块6,将虚拟机集合7.1,7.2,...,7.N统称为虚拟机集合7。在本发明中,N的取值是根据系统的规模和应用的实际需求最终确定的,通常情况下,可以认为N和系统中宿主服务器的数量大致相等。

本发明提供的云计算服务Cache系统的主要工作过程为:

1.根据服务部署的要求创建第一个符合配置要求的虚拟机,将该虚拟机的磁盘文件作为该服务的base镜像,将该虚拟机的内存作为该服务的内存模板。

2.根据服务请求的数量和规模,开始创建Cache虚拟机池。系统利用xm create-cache命令创建一定数量的虚拟机放入Cache虚拟机池中。

3.当大量的服务请求蜂拥而至时,系统就会从Cache虚拟机池中为这些请求分配Cache虚拟机,用以满足服务的请求。

4.系统会根据当前服务请求的数量动态的调整Cache虚拟机池的大小。当服务请求数量急剧增加时,系统会不断的生成Cache虚拟机放入池中,用以满足服务请求;当服务请求数量逐渐减少时,系统会逐步释放掉池中的Cache虚拟机,节省资源。

5.由于服务任务可能会在虚拟机上残留一些隐私数据,或者对虚拟机的系统进行修改,出于云计算安全性的考虑。当服务请求的任务完成时,它所对应的虚拟机会被系统回收,而后续的服务请求会被部署在新的Cache虚拟机上。

下面举例对本发明云计算服务Cache系统管理层各个功能模块的具体构成进行详细介绍。

如图2所示,云计算服务Cache系统管理层中的服务管理模块2由服务注册模块21、服务处理模块22以及服务信息数据库23三个部分组成。

服务注册模块21主要用于接受并处理用户统一访问模块1中服务的注册请求,创建一个新的服务,包括服务基本信息,服务配置信息,服务环境信息和服务表达形式。这些信息数据将保存在服务数据库23中,无论注册成功与否,服务注册模块21也会反馈相应的信息给用户。

服务处理模块22主要用于监控服务状态,处理请求和返回请求结果。本模块接受用户统一访问模块1中服务请求,通过与服务信息数据库23进行交互对该服务请求进行认证,并获得该服务所需虚拟机配置信息,然后通过和服务Cache模块5交互,确定该服务请求是否命中Cache。如果命中,则直接申请Cache虚拟机执行服务请求的任务,如果没有命中,则从虚拟机镜像管理模块3和内存模板管理模块4申请虚拟机并提交服务请求开始执行,并向服务Cache模块5发出本服务资源紧缺的信号。本模块会实时监控该任务请求执行情况,当任务执行完成时本模块会提交请求结果返回给用户统一访问模块1。

服务信息数据库23主要用于存储服务的相关信息,包括服务基本信息,服务配置信息,服务环境信息和服务表达方式。本模块通过和服务注册模块21交互,将其提交的信息存入数据库。服务处理模块2也可以从本模块获得需要的服务信息。

如图3所示,虚拟机镜像管理模块3包括系统基本镜像管理模块31、服务基本镜像管理模块32,服务增量镜像管理模块33。

系统基本镜像管理模块31负责维护和管理常用的系统基本镜像。为了提高系统的效率,常用的系统基本镜像在系统运行之前就已经创建好,对于没有的系统,系统基本镜像管理模块31会根据服务处理模块22提交的服务配置信息对系统基本镜像进行更新。

服务基本镜像管理模块32负责维护和管理各种服务特殊环境的镜像。这里的服务基本镜像其实是基本镜像管理模块31所产生的系统基本镜像的增量镜像,因为大多数服务对于基本系统没有什么特殊的要求,而对于系统之上服务配置环境,各种服务的要求就千差万别。当用户在服务注册模块21创建一个新的服务时,服务基本镜像管理模块32首先会根据服务环境信息从基本镜像管理模块31中挑选出合适的系统镜像,然后在该服务基本系统镜像上创建一个增量镜像来作为该服务的服务环境基本镜像。这个服务基本镜像会被后续的具体的每个服务请求所共享。

服务增量镜像管理模块33负责管理单个服务请求所需的增量镜像。由于每个服务请求都会有该请求的私有数据,为了保证服务请求的隔离性和安全性,服务增量镜像管理模块33会在服务基本镜像管理模块32所创建的服务基本镜像的基础上根据每个请求的个性化需求创建增量镜像来作为本服务请求的最终执行镜像。

如图4所示,内存模板管理模块4包括内存模板操作模块41和内存模板库42。

内存模板操作模块41主要完成内存模板的创建、查找、添加、删除和替换功能。当用户在服务注册模块21注册一个新的服务时,内存模板操作模块41根据该服务注册时所创建的第一个虚拟机生成该服务的内存模板,作为后续服务请求需要创建虚拟机的内存模板,存放在内存模板库42中。当服务请求到来时,内存模板操作模块41会从内存模板库42中提取该服务的虚拟机内存模板,提交给服务处理模块22,服务处理模块22再结合服务基本镜像管理模块32提供虚拟机镜像,就创建出了一个运行状态的虚拟机。

内存模板库42主要用于存储不同服务所需虚拟机的内存模板。通过挂载内存文件系统,这些内存模板直接存储在宿主操作系统的内存中,待到需要利用内存模板加载虚拟机内存时,可以直接读取RAM内存,避免了传统的磁盘操作,不仅加快了速度,更是有效的减少了对磁盘的读写次数。

如图5所示,服务Cache模块5用于维护和管理Cache虚拟机池。该模块通过和虚拟机镜像管理模块3,内存模板管理模块4交互,由服务基本镜像管理模块32提供虚拟机镜像,由内存模板管理模块4提供虚拟机内存,直接生成运行状态的Cache虚拟机,并添加到池中,同时该模块会接受服务处理模块2传来的服务请求从池中提取Cache虚拟机去满足服务请求。有了这个Cache虚拟机池,每当服务请求到来时,就可以直接从池中提取虚拟机开始执行任务,大大减少了请求响应时间。服务Cache模块5会维护Cache虚拟机池的动态平衡,当服务请求数很多时,Cache虚拟机池中的虚拟机数目会迅速减少,甚至减少到没有虚拟机,那么服务处理模块2就会直接和虚拟机镜像管理模块3,内存模板管理模块4交互,创建虚拟机来满足服务请求,而服务Cache模块5也会向虚拟机镜像管理模块3和内存模板管理模块4申请虚拟机用以保证池中虚拟机的数量。当服务请求数很少时,Cache虚拟机池中的虚拟机数目会增加,Cache虚拟机出现闲置,这时候服务Cache模块5会根据调度策略逐渐的关闭Cache虚拟机,缩小Cache虚拟机池的规模,节约系统资源。

如图6所示,虚拟机平台层是用来最终来执行服务请求的系统底层。当服务处理模块2根据服务环境和配置确定了所需的虚拟机(可能某个服务请求需要多台虚拟机),这时候Agent模块就会根据系统规划,给这些虚拟机分配IP,然后服务处理模块2在虚拟机上部署任务私有数据,并开始执行任务。当任务执行完成之后,Agent会将任务运行结果返回给服务处理模块2。

实例:

为了验证本发明系统的可行性和有效性,在真实环境下配置本发明系统,并对系统进行hadoop搜索实验。统一用Xen来搭建虚拟化平台。详细实验环境配置见表1所示。

采用三层架构:为用户提供统一访问接口的用户层;云计算服务Cache系统管理层;与虚拟机资源交互的虚拟机平台层。

服务器采用RHEL5作为操作系统平台,在其上部署的模块有用户层的用户统一访问模块1,Cache系统管理层的服务管理模块2、虚拟机镜像管理模块3、内存模板管理模块4和服务Cache模块5。

表1:实验配置环境

以上所述为本发明的较佳实施例而已,但本发明不应该局限于该实施例和附图所公开的内容。所以凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号