基于云计算平台应用无备容灾的技术方法技术

技术编号:10307023 阅读:98 留言:0更新日期:2014-08-08 09:09
本发明专利技术涉及基于云计算平台应用无备容灾的技术方法,通过内存粹取技术XML方式恢复虚拟机,可实现当虚拟机系统损坏、故障或虚拟机丢失时,通过调用内存相关映像文件及核心模块来恢复系统文件,恢复到出现问题5分钟之前的虚拟机状态;包括如下步骤:1)虚拟机日志信息存储;2)索引;3)内存框架重构;4)仿生恢复。与现有技术相比,本发明专利技术的有益效果是:1)能够在没有任何备份的情况下,自动恢复虚拟机系统和虚拟机上的所有数据,提高云计算虚拟机稳定性和安全性;2)减少资源消耗,提高资源利用率;3)减少设备投入和维护人员数量,有效降低成本;4)只需为3分钟—7分钟就可恢复到出现问题5分钟之前的虚拟机状态,效率高。

【技术实现步骤摘要】
基于云计算平台应用无备容灾的技术方法
本专利技术涉及云计算领域,尤其涉及一种基于云计算平台应用无备容灾的技术方法。
技术介绍
随着虚拟化技术的不断成熟,云计算的概念应运而生。按照通用的标准,云计算是基于互联网网络,向多种用户提供的虚拟的,丰富的,按需即取的包括数据存储池、软件下载和维护池、计算能力池、多媒体信息资源池和客户服务池在内的广泛数据和运算处理服务,是基于之前互联网应用服务和整合运算技术基础上发展而来的新一代数据处理和应用服务技术。在目前的云计算环境中,利用虚拟化技术来实现服务的资源调度和共享已成为主流,所有服务都是以虚拟机作为服务后台。随着服务请求数量的不断增加,各种服务所需要创建的虚拟机也随之增加,虚拟机运行的稳定性成为最重要的研究课题。为了保证云计算平台上的虚拟机运行安全和数据安全,常见的做法是进行备份。传统备份方式分为:数据备份和系统备份,都是以1:1复制关系方式进行,以保证系统和数据的安全性和完整性。当出现问题时恢复最近备份的某一时间点来恢复原有的系统和数据,保障系统和数据完整性。传统备份缺点是:当数据和系统在备份时,首先会消耗所存放备份数据的磁盘存储资源、消耗大量的计算机硬件资源,而且备份任务是每天或者一段时间内就需要进行一次,长此以往会产生大量的备份数据,占用更多资源,导致设备增加的同时也会消耗大量的电能。目前,为了保证虚拟机稳定运行,当虚拟机出现故障时,通过虚拟环境快照的备份方法提供了高可用性,诸如VCB或基于SAN备份的虚拟环境备份方法提供了高可用性,并且比传统的基于文件的方法更适合于整合服务器架构。但快照备份方式具有以下缺点:1)只适用于一个特定环境;2)快照备份是分时间段进行,因为有时间间隔从而造成数据不连续;3)随着时间推移,旧的备份文件需要保留,新的文件不断增加,因此需要巨大的存储空间。
技术实现思路
本专利技术克服现有技术的不足,提供了一种基于云计算平台应用无备容灾的技术方法,能够在没有备份的情况下自动恢复虚拟机系统和虚拟机上的所有数据,有效提高云计算虚拟机稳定性,减少存储空间及资源浪费,提高资源利用率。为了达到上述目的,本专利技术采用以下技术方案实现:基于云计算平台应用无备容灾的技术方法,应用内存粹取技术XML方式恢复虚拟机,可实现当虚拟机系统损坏、故障或虚拟机丢失时,通过调用内存相关映像文件及核心模块来恢复系统文件,恢复到出现问题5分钟之前的虚拟机状态;包括如下步骤:1)虚拟机日志信息存储虚拟机运行过程中,内存池MemoryPool申请分配多个用来满足内存申请请求的内存块,这些内存块是从进程堆中开辟的一个较大的连续内存区域,并把虚拟机日志信息存储到内存块中;2)索引针对虚拟机任何操作所形成的数据块和内存块队列建立索引,并将此信息保存到硬盘索引队列当中,当数据发生变化时,与原有的索引信息进行对比,将不同的索引信息进行保存,相同的索引信息不进行任何操作,同时生成内存块索引链表和硬盘索引链表;3)内存框架重构根据内存索引链表信息和硬盘索引链表信息,重构原始虚拟机虚拟硬件配置信息,包括CPU、内存、硬盘,逐步恢复虚拟机原始状态;4)仿生恢复当虚拟机硬件恢复完成时、通过云计算平台WEB界面上的一键式恢复按钮进行恢复,恢复虚拟机原始应用和原始数据,恢复到宕机前5分钟时的状态。所述内存块由一个块头结构MemoryBlock和多个内存分配单元组成,所有内存块组成了一个内存块链表,MemoryPool的pBlock是这个链表的头;虚拟机对每个内存块,都可以通过其头部的块头结构MemoryBlock的pNext成员访问紧跟在其后面的那个内存块。所述内存分配单元大小固定,其中没有分配的自由分配单元的头两个字节记录了紧跟它之后的下一个自由分配单元的编号,通过利用每个自由分配单元的头两个字节,一个MemoryBlock中的所有自由分配单元被链接起来。所述内存框架重构具体过程如下:当有新的内存请求到来时,MemoryPool会通过pBlock遍历MemoryBlock链表,直到找到其中还有自由分配单元的内存块,取得其MemoryBlock的nFirst值,即该内存块中第1个可供分配的自由单元的编号,根据这个编号定位到该自由分配单元的起始位置;在返回这个地址前,首先将该位置开始的头两个字节的值赋给本内存块的MemoryBlock的nFirst成员,这样下一次的请求就会用这个编号对应的内存单元来满足,同时将此内存块的MemoryBlock的自由单元个数nFree递减1,然后再将刚才定位到的内存单元的起始位置作为此次内存请求的返回地址返回给调用者;如果从现有的内存块中找不到一个自由的内存分配单元,MemoryPool就会从进程堆中申请一个内存块,申请完后,首先初始化这个内存块;初始化的操作包括设置MemoryBlock的nSize为所有内存分配单元的大小、nFree为n-1,nFirst为1,初始化后,从MemoryBlock的块头结构的最后一个字节aData位置开始,每隔nUnitSize即自由分配单元大小取其头两个字节,记录其之后的自由分配单元的编号,即自然序号加1,最后将此内存块的第1个分配单元的起始地址aData返回;当某个虚拟机被分配的单元因为delete需要回收时,该单元将返回给MemoryPool,MemoryPool能够知道该单元的起始地址;这时,MemoryPool开始遍历其所维护的内存块链表,判断该单元的起始地址是否落在某个内存块的地址范围内;如果不在所有内存地址范围内,则这个被回收的单元不属于这个MemoryPool;如果在某个内存块的地址范围内,那么它会将这个刚刚回收的分配单元加到这个内存块的MemoryBlock所维护的自由分配单元链表的头部,同时将其nFree值递增1;回收后,内存池的操作会继续判断:如果此内存块的所有分配单元都是自由的,那么这个内存块就会从MemoryPool中被移出并作为一个整体返回给进程堆;如果该内存块中还有非自由分配单元,则这个内存块会被移到MemoryPool维护的内存块的头部,下次内存请求到来MemoryPool遍历其内存块链表寻找自由分配单元时,第1次寻找就会找到这个内存块。与现有技术相比,本专利技术的有益效果是:1)能够在没有任何备份的情况下,自动恢复虚拟机系统和虚拟机上的所有数据,有效提高云计算虚拟机稳定性和安全性;2)减少硬件及系统的资源消耗,提高资源利用率;3)减少设备及数据中心投入,减少维护人员数量,有效降低成本;4)只需为3分钟—7分钟就可恢复到出现问题5分钟之前的虚拟机状态,效率高。附图说明图1是本专利技术的流程示意图。具体实施方式下面结合附图对本专利技术的具体实施方式作进一步说明:见图1,是本专利技术流程示意图,本专利技术基于云计算平台应用无备容灾的技术方法,应用内存粹取技术XML方式恢复虚拟机,可实现当虚拟机系统损坏、故障或虚拟机丢失时,通过调用内存相关映像文件及核心模块来恢复系统文件,恢复到出现问题5分钟之前的虚拟机状态;包括如下步骤:1)虚拟机日志信息存储虚拟机运行过程中,内存池MemoryPool申请分配多个用来满足内存申请请求的内存块,这些内存块是从进程堆中开辟的一个较大的连续内存区域,并把虚拟机日志信息存储到内存块中;2)索引针对虚本文档来自技高网
...
基于云计算平台应用无备容灾的技术方法

【技术保护点】
基于云计算平台应用无备容灾的技术方法,应用内存粹取技术XML方式恢复虚拟机,可实现当虚拟机系统损坏、故障或虚拟机丢失时,通过调用内存相关映像文件及核心模块来恢复系统文件,恢复到出现问题5分钟之前的虚拟机状态;其特征在于,包括如下步骤:1)虚拟机日志信息存储虚拟机运行过程中,内存池MemoryPool申请分配多个用来满足内存申请请求的内存块,这些内存块是从进程堆中开辟的一个较大的连续内存区域,并把虚拟机日志信息存储到内存块中;2)索引针对虚拟机任何操作所形成的数据块和内存块队列建立索引,并将此信息保存到硬盘索引队列当中,当数据发生变化时,与原有的索引信息进行对比,将不同的索引信息进行保存,相同的索引信息不进行任何操作,同时生成内存块索引链表和硬盘索引链表;3)内存框架重构根据内存索引链表信息和硬盘索引链表信息,重构原始虚拟机虚拟硬件配置信息,如CPU、内存、硬盘等,逐步恢复虚拟机原始状态;4)仿生恢复当虚拟机硬件恢复完成时、通过云计算平台WEB界面上的一键式恢复按钮进行恢复,恢复虚拟机原始应用和原始数据,恢复到宕机前5分钟时的状态。

【技术特征摘要】
1.基于云计算平台应用无备容灾的技术方法,应用内存粹取技术XML方式恢复虚拟机,可实现当虚拟机系统损坏、故障或虚拟机丢失时,通过调用内存相关映像文件及核心模块来恢复系统文件,恢复到出现问题5分钟之前的虚拟机状态;其特征在于,包括如下步骤:1)虚拟机日志信息存储虚拟机运行过程中,内存池MemoryPool申请分配多个用来满足内存申请请求的内存块,这些内存块是从进程堆中开辟的一个较大的连续内存区域,并把虚拟机日志信息存储到内存块中;2)索引针对虚拟机任何操作所形成的数据块和内存块队列建立索引,并将此信息保存到硬盘索引队列当中,当数据发生变化时,与原有的索引信息进行对比,将不同的索引信息进行保存,相同的索引信息不进行任何操作,同时生成内存块索引链表和硬盘索引链表;3)内存框架重构根据内存索引链表信息和硬盘索引链表信息,重构原始虚拟机虚拟硬件配置信息,包括CPU、内存、硬盘,逐步恢复虚拟机原始状态;4)仿生恢复当虚拟机硬件恢复完成时、通过云计算平台WEB界面上的一键式恢复按钮进行恢复,恢复虚拟机原始应用和原始数据,恢复到宕机前5分钟时的状态;所述内存框架重构具体过程如下:当有新的内存请求到来时,MemoryPool会通过pBlock遍历MemoryBlock链表,直到找到其中还有自由分配单元的内存块,取得其MemoryBlock的nFirst值,即该内存块中第1个可供分配的自由单元的编号,根据这个编号定位到该自由分配单元的起始位置;在返回这个地址前,首先将该位置开始的头两个字节的值赋给本内存块的MemoryBlock的nFirst成员,这样下一次的请求就会用这个编号对应的内存单元来满足,同时将此内存块的MemoryBlock的自由单元个数nFree递减1,然后再将刚才定位到的内存单元的起始位置作为此次内存请求的返回地址返回给调用者;如果从现有的内存块中找不到一个自由的内存分配单元,MemoryPool就会从进程堆中申请一个内存块,申请完后,首先初始化这个内存块;初始化的操作包括设置MemoryBlock的nSize为...

【专利技术属性】
技术研发人员:赵吉勇王新贺赵吉宇刘欣宇
申请(专利权)人:辽宁中科信科技有限公司
类型:发明
国别省市:辽宁;21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1