一种在虚拟机系统中处理数据的方法和装置制造方法

文档序号:6623525阅读:170来源:国知局
一种在虚拟机系统中处理数据的方法和装置制造方法
【专利摘要】本发明提供一种在虚拟机系统中处理数据的方法和装置,有助于对云平台中的虚拟机缩短数据备份和恢复所需的时间以及降低备份数据占据的存储空间并且降低数据备份和恢复时占用的网络带宽。该方法包括:虚拟机在对系统镜像中的指定数据块进行写操作时,在所述指定数据块中设置标志位,以及将数据写到自身的增量空间中;所述标志位用于标志该数据块的更新数据位于虚拟机的增量空间中;虚拟机在对系统镜像中的指定数据块进行读操作时,根据数据块对应的标志位确定被读数据是否在虚拟机的增量空间中,若是,则从该增量空间中读取该被读数据,否则读取系统镜像中的所述指定数据块的数据;虚拟机在进行数据备份时,仅备份自身的增量空间中的数据。
【专利说明】一种在虚拟机系统中处理数据的方法和装置

【技术领域】
[0001]本发明涉及计算机网络【技术领域】,特别地涉及一种在虚拟机系统中处理数据的方法和装置。

【背景技术】
[0002]在目前的云平台管理系统中,通常实现包括计算服务、对象存储服务、镜像服务、认证服务、用户界面服务等。其中镜像服务实现虚拟机镜像查找及检索系统,并为用户的虚拟机提供系统镜像,满足用户对操作系统的需求。镜像空间可以加载ubuntu、windowXP、centos等操作系统。
[0003]对于虚拟机的数据备份,目前通常是由云平台管理系统是将虚拟机的系统盘和非系统盘的所有数据复制到自身的存储系统中;当用户对虚拟机进行恢复时,云平台管理系统使用存储的上述所有数据覆盖相应虚拟机的系统盘和非系统盘的数据。
[0004]上述备份方式备份的数据量较大,因此备份所需时间较长,备份数据占据的存储空间也较大。而且在很多云平台中,不同的服务可能分布在不同的计算机上,用户的备份数据也可能需要传输到不同的计算机中,会占用大量的网络带宽。在数据恢复时,由于备份数据量较大,因此恢复所需时间也较长,并且同样需从不同计算机传输数据从而占用大量的网络带宽。


【发明内容】

[0005]有鉴于此,本发明提供一种在虚拟机系统中处理数据的方法和装置,有助于对云平台中的虚拟机缩短数据备份和恢复所需的时间以及降低备份数据占据的存储空间并且降低数据备份和恢复时占用的网络带宽。
[0006]为实现上述目的,根据本发明的一个方面,提供了一种在虚拟机系统中处理数据的方法。
[0007]本发明的在虚拟机系统中处理数据的方法包括:虚拟机在对系统镜像中的指定数据块进行写操作时,在所述指定数据块中设置标志位,以及将数据写到自身的增量空间中;所述标志位用于标志该数据块的更新数据位于虚拟机的增量空间中;虚拟机在对系统镜像中的指定数据块进行读操作时,根据数据块对应的标志位确定被读数据是否在虚拟机的增量空间中,若是,则从该增量空间中读取该被读数据,否则读取系统镜像中的所述指定数据块的数据;虚拟机在进行数据备份时,仅备份自身的增量空间中的数据。
[0008]可选地,虚拟机在进行数据恢复时,将备份的数据恢复到自身的增量空间,并且记录该数据的镜像数据块在系统镜像中的位置。
[0009]可选地,所述虚拟机系统包含多组虚拟机,每组虚拟机中的多个虚拟机共用一个系统镜像。
[0010]可选地,在各组虚拟机中,各个虚拟机的增量空间采用相同的标识。
[0011]根据本发明的另一方面,提供了一种在虚拟机系统中处理数据的装置。
[0012]本发明的在虚拟机系统中处理数据的装置包括:写操作模块,用于在虚拟机对系统镜像中的指定数据块进行写操作时,在所述指定数据块中设置标志位,以及将数据写到该虚拟机的增量空间中;所述标志位用于标志该数据块的更新数据位于虚拟机的增量空间中;读操作模块,用于在虚拟机对系统镜像中的指定数据块进行读操作时,根据数据块对应的标志位确定被读数据是否在虚拟机的增量空间中,若是,则从该增量空间中读取该被读数据,否则读取系统镜像中的所述指定数据块的数据;备份处理模块,用于在虚拟机进行数据备份时,备份该虚拟机增量空间中的数据。
[0013]可选地,还包括数据恢复模块,用于在虚拟机进行数据恢复时,将备份的数据恢复到该虚拟机的增量空间,并且记录该数据的镜像数据块在系统镜像中的位置。
[0014]根据本发明的技术方案,将虚拟机要写入系统镜像的增量数据写入到虚拟机内的增量空间中,对虚拟机备份和恢复时也仅备份和恢复该增量空间的数据,有效地减少了备份和恢复时需要处理的数据量,从而有助于对云平台中的虚拟机缩短数据备份和恢复所需的时间以及降低备份数据占据的存储空间并且降低数据备份和恢复时占用的网络带宽。

【专利附图】

【附图说明】
[0015]附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
[0016]图1是根据本发明实施例的系统镜像和虚拟机的示意图;
[0017]图2是根据本发明实施例的在虚拟机系统中处理数据的装置的主要模块的示意图。

【具体实施方式】
[0018]以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识至IJ,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0019]图1是根据本发明实施例的系统镜像和虚拟机的示意图。如图1所示,系统镜像10作为虚拟机11、12、13以及虚拟机14的基础镜像。各虚拟机对系统镜像10只有读权限。在系统镜像以及各个虚拟机中,存储空间按相同的方式划分,例如都划分为0-99这100个存储区域。在系统镜像的每个数据块中,具有标志位空间用来存储各个虚拟机设置的标志位,各个标志位空间按虚拟机数量进行划分,使每个虚拟机对应一块标志位空间。
[0020]在虚拟机对系统镜像中的指定数据块进行写操作时,以虚拟机11向系统镜像中的存储空间的第2、3块存储区域写数据为例,虚拟机11将数据写到虚拟机11的增量空间中,并且在第2、3块存储区域中的对应于虚拟机11的标志位空间中设置标志位,例如设置标志位“I”来表示虚拟机11将系统镜像中的第2、3块存储区域的更新数据保存在自身的增量空间中,标志位的默认值为“0”,表示未进行数据更新。实际上第2、3块存储区域本身可能有数据,但上述标志位“I”标志了第2、3块存储区域的数据被虚拟机11更新过。
[0021]这样在虚拟机对系统镜像中的第2、3块存储区域进行读操作时,先查看第2、3块存储区域的标志位空间。例如虚拟机11会在自身对应的标志位空间中发现标志位“ I ”,从而转向自身的增量空间然后从其中读取数据;又如虚拟机12在自身的标志位空间中发现标志位“O”,则直接从系统镜像中的第2、3块存储区域读取数据。
[0022]在虚拟机进行备份时,仅备份本虚拟机增量空间中的数据。因为按照上面描述的方式,虚拟机在写新数据时是写到自身的增量空间中,所以备份时只需备份增量空间数据即可,旧数据仍位于系统镜像中,可随时获取。云平台管理系统可以对各个虚拟机中的增量空间采用相同的标识,例如各个虚拟机的D盘为增量空间所在分区。
[0023]在数据恢复时,云平台管理系统将备份的数据即虚拟机的增量空间的数据恢复到相应虚拟机的增量空间中,此时将该增量空间的数据覆盖;并且记录该增量空间中的数据的镜像数据块在系统镜像中的位置。此时仍是设置相应的标志位,例如虚拟机11恢复了自身增量空间中的第2、3块存储区域的数据,则将系统镜像的第2、3块存储区域中的虚拟机11对应的标志位空间中的标志位置为“ I ”。
[0024]在云平台中,可以对虚拟机进行分组,类型相同的虚拟机作为一组,例如处理文档的虚拟机作为一组,处理图像的虚拟机作为一组。各组虚拟机中的多个虚拟机使用同一系统镜像,这样可以减小各个系统镜像占用的空间和需要获取的增量数据。
[0025]图2是根据本发明实施例的在虚拟机系统中处理数据的装置的主要模块的示意图。该装置可以设置在云平台管理系统中。如图2所示,在虚拟机系统中处理数据的装置20主要包括写操作模块21、读操作模块22、和备份处理模块23。
[0026]写操作模块21用于在虚拟机对系统镜像中的指定数据块进行写操作时,在所述指定数据块中设置标志位,以及将数据写到该虚拟机的增量空间中;标志位用于标志该数据块的更新数据位于虚拟机的增量空间中。读操作模块22用于在虚拟机对系统镜像中的指定数据块进行读操作时,根据数据块对应的标志位确定被读数据是否在虚拟机的增量空间中,若是,则从该增量空间中读取该被读数据,否则读取系统镜像中的所述指定数据块的数据。备份处理模块23用于在虚拟机进行数据备份时,备份本虚拟机增量空间中的数据。
[0027]在虚拟机系统中处理数据的装置20还可包括数据恢复模块(图中未示出),用于在虚拟机进行数据恢复时,将备份的数据恢复到该虚拟机的增量空间,并且记录该数据的镜像数据块在系统镜像中的位置。
[0028]根据本发明实施例的技术方案,将虚拟机要写入系统镜像的增量数据写入到虚拟机内的增量空间中,对虚拟机备份和恢复时也仅备份和恢复该增量空间的数据,有效地减少了备份和恢复时需要处理的数据量,从而有助于对云平台中的虚拟机缩短数据备份和恢复所需的时间以及降低备份数据占据的存储空间并且降低数据备份和恢复时占用的网络带宽。
[0029]以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本发明的方法和设备的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
[0030]因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来开发出的任何存储介质。
[0031]还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
[0032]上述【具体实施方式】,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
【权利要求】
1.一种在虚拟机系统中处理数据的方法,其特征在于,包括: 虚拟机在对系统镜像中的指定数据块进行写操作时,在所述指定数据块中设置标志位,以及将数据写到自身的增量空间中;所述标志位用于标志该数据块的更新数据位于所述虚拟机的增量空间中; 虚拟机在对系统镜像中的指定数据块进行读操作时,根据数据块对应的标志位确定被读数据是否在虚拟机的增量空间中,若是,则从该增量空间中读取该被读数据,否则读取系统镜像中的所述指定数据块的数据; 虚拟机在进行数据备份时,仅备份自身的增量空间中的数据。
2.根据权利要求1所述的方法,其特征在于,虚拟机在进行数据恢复时,将备份的数据恢复到自身的增量空间,并且记录该数据的镜像数据块在系统镜像中的位置。
3.根据权利要求1或2所述的方法,其特征在于,所述虚拟机系统包含多组虚拟机,每组虚拟机中的多个虚拟机共用一个系统镜像。
4.根据权利要求3所述的方法,其特征在于,在各组虚拟机中,各个虚拟机的增量空间米用相同的标识。
5.一种在虚拟机系统中处理数据的装置,其特征在于,包括: 写操作模块,用于在虚拟机对系统镜像中的指定数据块进行写操作时,在所述指定数据块中设置标志位,以及将数据写到该虚拟机的增量空间中;所述标志位用于标志该数据块的更新数据位于虚拟机的增量空间中; 读操作模块,用于在虚拟机对系统镜像中的指定数据块进行读操作时,根据数据块对应的标志位确定被读数据是否在虚拟机的增量空间中,若是,则从该增量空间中读取该被读数据,否则读取系统镜像中的所述指定数据块的数据; 备份处理模块,用于在虚拟机进行数据备份时,备份该虚拟机增量空间中的数据。
6.根据权利要求5所述的装置,其特征在于,还包括数据恢复模块,用于在虚拟机进行数据恢复时,将备份的数据恢复到该虚拟机的增量空间,并且记录该数据的镜像数据块在系统镜像中的位置。
【文档编号】G06F9/445GK104199687SQ201410401039
【公开日】2014年12月10日 申请日期:2014年8月14日 优先权日:2014年8月14日
【发明者】张彭成 申请人:北京京东尚科信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1