本发明专利技术描述了在无状态云计算环境中操作的有状态的应用程序。云计算环境可使用无状态云计算进程内的虚拟化层来捕捉、存储和检索由在进程内执行的有状态的应用程序所生成的状态信息。虚拟化层可监视各种状态存储系统来标识对有状态项的变更并将有状态项存储在状态存储机制中。虚拟化层可截取并重定向对存储在状态存储机制中的有状态项的调用。云计算管理器可启动和停止无状态云计算进程,并且可恢复状态并继续执行应用程序。
【技术实现步骤摘要】
本专利技术涉及计算机技术,尤其涉及云计算技术。
技术介绍
云计算是其中进程无状态地进行操作的计算环境。在典型的云计算环境中,用户进程可在一个或多个数据中心内的硬件平台的构造上操作,且数据中心运营者能够将用户进程从一个服务器或硬件平台移动到另一服务器或硬件平台。因为数据中心运营者可在不同时间执行这样的移动,所以在云计算环境上执行的进程可能无法将状态存储到进程内。与云计算进程相反,许多常规应用程序可按操作系统注册表设置、配置文件和其他变更的形式来存储状态。为了使应用程序随着时间如预期地执行,应用程序的状态可持续并且有时或在重启应用程序时可被重新调用。
技术实现思路
云计算环境可使用无状态云计算进程内的虚拟化层来捕捉、存储和检索由在进程内执行的有状态的应用程序所生成的状态信息。虚拟化层可监视各种状态存储系统来标识对有状态项的变更并将有状态项存储在状态存储机制中。虚拟化层可截取并重定向对存储在状态存储机制中的有状态项的调用。云计算管理器可启动和停止无状态云计算进程,并且可恢复状态并继续执行应用程序。提供本
技术实现思路
以便以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本
技术实现思路
并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。附图说明在附图中图1是示出用于有状态的应用程序的云计算环境的实施例的图示。图2是示出用于创建应用程序包的方法的实施例的流程图示。图3是示出用于启动或继续无状态进程中的有状态的应用程序的方法的实施例的流程图示。具体实施例方式云计算环境可使用虚拟化层来捕捉应用程序的状态变更并且在停止或重启应用程序时持久存储该状态变更。虚拟化层可监视应用程序用来存储状态的各种存储机制,并且可为状态创建并管理独立的存储机制。虚拟化层可识别对存储机制的调用并将这些调用重定向到独立的存储机制。应用程序的状态可被存储在云存储系统中,该云存储系统在停止和重启应用程序的同时可持久存储状态。在许多实施例中,可使用虚拟硬盘来存储状态,且这样的虚拟硬盘可直接存储在云存储系统上。在某些实施例中,应用程序的多个副本可能正在执行,各自具有独立的状态。当执行应用程序的进程被停止时,可存储该状态,并且当继续进程时,可从一组存储的状态中选择该状态,该进程从先前状态继续。本说明书通篇中,在所有附图的描述中,相同的附图标记表示相同的元素。在将元素称为被“连接”或“耦合“时,这些元素可以直接连接或耦合在一起,或者也可以存在一个或多个中间元素。相反,在将元素称为被“直接连接”或“直接耦合”时,不存在中间元素。本专利技术可被具体化为设备、系统、方法、和/或计算机程序产品。因此,本专利技术主题的部分或全部可以用硬件和/或软件(包括固件、常驻软件、微码、状态机、门阵列等)来具体化。此外,本专利技术主题可以采用其上嵌入有供指令执行系统使用或结合其使用的计算机可使用或计算机可读的程序代码的计算机可使用或计算机可读的存储介质上的计算机程序产品的形式。在本文的上下文中,计算机可使用或计算机可读介质可以是可包含、存储、 通信、传播、或传输程序以供指令执行系统、装置或设备使用或结合其使用的任何介质。计算机可使用或计算机可读介质可以是,例如,但不限于,电、磁、光、电磁、红外、 或半导体系统、装置、设备或传播介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据这样的信息的任意方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPR0M、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由指令执行系统访问的任何其它介质。注意,计算机可使用或计算机可读介质可以是其上打印有程序的纸张或其他合适的介质,因为程序可以经由例如对纸张或其他介质的光学扫描而电子地捕获,随后如有必要被编译、解释,或以其他合适的方式处理,并随后存储在计算机存储器中。通信介质通常以诸如载波或其他传输机制的已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任意信息传送介质。术语“已调制数据信号” 可以被定义为其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、 RF、红外及其他无线介质之类的无线介质。上述的任意组合也应包含在计算机可读介质的范围内。当本专利技术在计算机可执行指令的一般上下文中具体化时,该实施例可以包括由一个或多个系统、计算机、或其他设备执行的程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。通常,程序模块的功能可以在各个实施例中按需进行组合或分布。图1是示出其中可使用无状态云计算进程来执行有状态的应用程序的云计算环境的实施例100的图示。实施例100是可允许执行有状态的应用程序的云计算环境和各组件的简化示例。图1的图示示出系统的各个功能组件。在某些情况下,组件可以是硬件组件、软件组件、或硬件和软件的组合。某些组件可以是应用层软件,而其他组件可以是操作系统层组件。在某些情况下,一个组件到另一个组件的连接可以是紧密连接,其中两个或更多个组件在单个硬件平台上操作。在其他情况下,连接可以通过跨长距离的网络连接来进行。各实施例可以使用不同的硬件、软件、以及互连体系结构来实现所描述的功能。许多应用程序可能是有状态的,尤其是常规桌面或服务器应用程序。术语有状态的用来指示应用程序可在安装和使用期间与应用程序的状态一起操作并改变应用程序的状态。在许多情况下,有状态的应用程序可将配置信息存储在系统注册表、配置文件、配置数据库或其他存储机制中。在有状态的应用程序的示例中,应用程序可允许用户按特定方式来定制某些属性或安排用户界面。这些定制可构成应用程序的状态。在另一实施例中,应用程序可被频繁地更新,其中每一更新构成应用程序的状态。在某些云计算环境中,在该环境中执行的进程是固有地无状态的。在许多这样的实施例中,可在数据中心内执行的进程可从一个硬件平台上的一个虚拟机被移动到另一硬件平台上的另一虚拟机。在这些转换期间,数据中心可将进程四处移动,但可以不移动与各种后端组件相关联的任何状态,这些后端组件诸如硬件平台、虚拟机、在虚拟机内操作的操作系统或任何其他组件。这样的体系结构可允许云计算环境用非常高效的方式来管理底层硬件和操作系统。在低使用率期间,各进程可被合并到硬件平台的一小子集上而将其他硬件平台关闭。当操作系统的新版本可用时,或者在向现有操作系统进行升级或补丁时,各进程可被临时挂起或移动到具有更新的操作系统的另一硬件平台,然后返回到用更新的操作系统来操作的原始平台。许多云计算服务可主存许多不同的计算进程并且可为许多不同顾客提供服务。每一顾客可负责他们自己的进程,但云计算服务可提供硬件和软件支持服务。云计算服务可管理大型数据中心中的进程,这可提供物理安全性、硬件和软件基础结构的专业管理、高网络带宽、冗余硬件平台和有保证的正常运行时间以及其他益处。某些云计算环境可操作可位于世界各地本文档来自技高网...
【技术保护点】
【技术特征摘要】
...
【专利技术属性】
技术研发人员:N·A·雅格布森,K·H·雷厄森,A·蒙哥马利,
申请(专利权)人:微软公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。