CN111338850A - 一种基于cow模式多快照下提高备份效率的方法及系统 - Google Patents
一种基于cow模式多快照下提高备份效率的方法及系统 Download PDFInfo
- Publication number
- CN111338850A CN111338850A CN202010117487.7A CN202010117487A CN111338850A CN 111338850 A CN111338850 A CN 111338850A CN 202010117487 A CN202010117487 A CN 202010117487A CN 111338850 A CN111338850 A CN 111338850A
- Authority
- CN
- China
- Prior art keywords
- snapshot
- data
- volume
- pointer
- source data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1489—Generic software techniques for error detection or fault masking through recovery blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于COW模式多快照下提高数据备份效率的方法及系统,该方法包括:步骤S1,对源数据卷创建第一个快照,并同时创建快照卷,根据源数据卷的源数据指针表建立快照数据指针表;步骤S2,创建多个快照及多个快照卷,在建立各快照卷的快照数据指针表时,检查指向源数据卷数据块的指针是否有除源卷指针以外其他快照卷的快照指针,若有则将当前所要建立的快照卷的快照指针指向已指向源数据卷数据块的快照指针;步骤S3,当对源数据卷进行写操作时,于要写入的源卷数据块上有快照指针指向时,将该数据块的原始数据读出,写入对应的快照卷数据块中,更新相应快照指针指向新地址,最后将要写入的新数据写入源数据卷要覆盖原始数据。
Description
技术领域
本发明涉及计算机数据容灾备份技术领域,特别是涉及一种基于COW模式多快照下提高备份效率的方法及系统。
背景技术
近年来,虽说计算机技术取得了巨大的发展,但是数据备份技术却没有长足进步。数据备份操作代价和成本仍然比较高,并且消耗大量时间和系统资源,数据备份的恢复时间目标和恢复点目标比较长。
传统技术下,人们一直采用数据复制、备份、恢复等技术来保护重要的数据信息,定期对数据进行备份或复制。由于数据备份过程会影响应用性能,并且非常耗时,因此数据备份通常被安排在系统负载较轻时进行(如夜间)。另外,为了节省存储空间,数据备份通常结合全量和增量备份技术。
然而,目前的数据备份方式存在一个显著的不足,即备份窗口问题。现有技术中,在数据备份期间,企业业务需要暂时停止对外提供服务。随着企业数据量和数据增长速度的加快,这个窗口可能会要求越来越长,这对于关键性业务系统来说是无法接受的,诸如银行、电信等机构,信息系统要求24×7不间断运行,短时的停机或者少量数据的丢失都会导致巨大的损失,因此,就需要将数据备份窗口尽可能地缩小,甚至缩小为零,快照技术就是为了满足这样的需求而出现的数据保护技术。
快照是一个特定时间点对数据状态的保护,只保存那些完整拷贝以外有变化的数据。换言之,如果数据没有变化,快照是不会保存额外数据的,快照可以看成是对某个特定时间点的数据的冻结。
目前行业内快照实现有两种方式:COW(Copy On Write,写时复制)和ROW(Redirect On Write,写时重定向)两种模式,这两种模式的区别是当数据有变化时,对应数据块的处理方式不同:对于COW模式,当原始数据的某数据块E有数据改变,系统会重新分配一个数据块,将原始数据的数据块E的数据整体拷贝到新的数据块中,原来数据块E的位置写入新数据,快照卷对该数据块的指针需要指向新的数据块,而原始卷的指针指向不变;对于ROW模式,若数据块E的数据改变,分配数据块将修改的数据写入新的空间记为I,然后将原始卷的指针指向I,快照卷指针不做任何改动。
然而,无论上述哪种方式,快照如果创建的太多了,都会极大的影响业务的性能,快照的各种链接会使得数据的读写变的非常复杂,从而导致数据备份的效率低下。
发明内容
为克服上述现有技术存在的不足,本发明之目的在于提供一种基于COW模式多快照下提高备份效率的方法及系统,以在存在多个快照时,减少由于快照链接而对磁盘读写性能产生的影响,使得在多快照情况下对磁盘读写引发的额外的读写操作要尽量的少,使读写的次数尽量接近在没有快照或只有一个快照时的读写次数,以提高在多快照情况下的业务性能。
为达上述目的,本发明提供一种基于COW模式多快照下提高数据备份效率的方法,包括如下步骤:
步骤S1,对源数据卷创建第一个快照,并于创建快照同时创建快照卷,以保存创建快照后源数据卷中被更新的数据,所述源数据卷具有指向相应源数据块的源数据指针表,并于创建快照时根据所述源数据指针表建立快照数据指针表,所述快照卷与源数据卷通过各自的指针表共享同一份物理数据;
步骤S2,创建多个快照,并创建多个快照卷,在建立各快照卷的快照数据指针表时,检查指向源数据卷数据块的指针是否有除了源数据指针表以外其他快照卷的快照数据表指针,若有其他快照卷的快照数据表指针则将当前所要建立的快照卷的快照数据指针表指针指向已指向所述源数据卷数据块的快照数据指针表指针位置;
步骤S3,当对源数据卷进行写操作时,于要写入的源数据卷数据块上有快照数据指针表指针指向时,先将该数据块的原始数据读出,写入对应的快照卷相应的数据块中,更新相应快照数据指针表对应指针指向新的地址,最后将要写入的新数据写入所述源数据卷要写入的数据块中覆盖原始数据。
优选地,于步骤S1中,在创建快照时,建立所述源数据指针表的一个副本作为所述快照卷的快照数据指针表。
优选地,于步骤S1中,当源数据卷中任意数据被改写时,将所要改写的数据块的原始数据读出,写入所述快照卷的相应数据块中,更新所述快照数据指针表对应指针指向新的地址,最后将要写入的新数据写入所述源数据卷数据块中覆盖原始数据。
优选地,于步骤S2中,在将当前所要建立的快照卷的快照数据指针表指针指向已指向所述源数据卷数据块的快照数据指针表指针位置时,设置自己的标记位,表示读出数据时自己是二级指针,以便提醒系统在使用快照时需要寻址两次。
优选地,于步骤S3之前,还包括如下步骤:
对源数据卷进行写操作时,判断所要写入的源数据卷的数据块上是否有快照数据表指针指向,若有,则进入步骤S3,否则直接将要写入的新数据写入该数据块中覆盖原始数据。
为达到上述目的,本发明还提供一种基于COW模式多快照下提高备份效率的系统,包括:
首快照创建单元,用于对源数据卷创建第一个快照,并于创建快照同时创建快照卷,以保存创建快照后源数据卷中被更新的数据,所述源数据卷具有指向相应源数据块的源数据指针表,并于创建快照时根据所述源数据指针表建立快照数据指针表,所述快照卷与源数据卷通过各自的指针表共享同一份物理数据;
多快照创建单元,用于创建多个快照,并创建多个快照卷,在建立各快照卷的快照数据指针表时,检查指向源数据卷数据块的指针是否有除了源数据指针表以外其他快照卷的快照数据表指针,若有其他快照卷的快照数据表指针则将当前所要建立的快照卷的快照数据指针表指针指向已指向所述源数据卷数据块的快照数据指针表指针位置;
数据更新处理单元,用于在对源数据卷进行写操作时,于要写入的源数据卷数据块上有快照数据指针表指针指向时,先将该数据块的原始数据读出,写入对应的快照卷相应的数据块中,更新相应快照数据指针表对应指针指向新的地址,最后将要写入的新数据写入所述源数据卷要写入的数据块中覆盖原始数据。
优选地,在创建快照时,建立所述源数据指针表的一个副本作为所述快照卷的快照数据指针表。
优选地,所述多快照创建单元在将当前所要建立的快照卷的快照数据指针表指针指向已指向所述源数据卷数据块的快照数据指针表指针位置时,设置当前所要建立的快照卷的快照数据指针表指针的标记位,以表示读出数据时自己为二级指针。
与现有技术相比,本发明一种基于COW模式多快照下提高备份效率的方法及系统通过在创建多个快照的时候,改变快照数据指针表的指针指向,保证最多只有一个快照数据指针表的指针指向源数据卷数据块,其他快照数据指针表的指针则指向已经指向该数据块的快照数据指针表指针,这样当该数据块被修改时,对指针的改写只需改写一个快照数据指针表指针,本发明在传统COW模式上,在增加少量CPU运算开销情况下减少了读写源卷时的额外的写的次数,从而减少了读写的开销,降低了多快照情况下对源卷读写性能的影响。
附图说明
图1为本发明一种基于COW模式多快照下提高备份效率的方法的步骤流程图;
图2为本发明一种基于COW模式多快照下提高备份效率的系统的系统架构图;
图3a、图3b为传统COW模式第一个快照的原理示意图;
图4a、图4b为传统COW模式多快照原理示意图;
图5a、图5b为本发明COW模式多快照原理示意图。
具体实施方式
以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
图1为本发明一种基于COW模式多快照下提高备份效率的方法的步骤流程图。如图1所示,本发明一种基于COW模式多快照下提高备份效率的方法,包括如下步骤:
步骤S1,对源数据卷创建第一个快照,并于创建快照时,同时创建快照卷,以保存创建快照后源数据卷中被更新的数据,所述源数据卷具有指向相应源数据块的源数据指针表(简称源卷指针),并于创建快照时,以所述源数据指针表的副本作为快照数据指针表,所述快照卷与源数据卷通过各自的指针表共享同一份物理数据。
具体地说,对于某个源数据卷,首先创建第一个快照,在创建该第一个快照时,会同时创建一快照卷,以用于保存创建快照后源数据卷中将要被更新的数据,即源数据卷中被更新前的数据,由于快照卷保存的是快照后源数据卷中将要被更新的数据,因此其只需分配相对少量的存储空间,一般情况下要修改的数据往往只占总数据的三成左右,需要频繁更新的数据一般都在该三成的数据中,因此,实际工作中,快照卷的实际大小一般只需源卷大小的三成,当然,如果对源卷数据全部进行了修改,那快照卷大小就需与源数据卷大小一致,此时则相当于一次全备份,快照卷的大小则可根据需要进行配置。
也就是说,每个源数据卷都具有一张数据指针表(元数据),简称源数据指针表,所述源数据指针表的表记录就是指向相应源数据块的地址指针,并且在创建快照时,还建立所述源数据指针表的一个副本(元数据拷贝),作为所述快照卷的数据指针表,简称快照数据指针表,因此,在创建快照之后,该快照就相当于一个可供上层应用访问的存储逻辑副本,快照卷与源数据卷通过各自的指针表共享同一份物理数据。这里的意思是,在本发明中,虽然创建的快照卷中只用于保存被更新的数据块中的原始数据,但是使用快照卷时不可能只读取被更新的数据块中的数据,对于没有更新过的数据,快照指针指向的就是最初开始的位置,因此对没更新过的数据块来说,快照卷和源数据卷都是指向同一个物理数据块,刚创建快照的时候没有更新的数据,所以快照卷和源卷指针指向同一份物理数据。
对于COW模式,当源数据卷中任意数据将要被改写时,需要确保对原始数据的拷贝操作发生在原始数据的改写操作之前,并且将原始数据在快照卷(保存的是快照后源数据卷中被更新的数据)中的新地址更新到快照数据指针表记录中,使快照时间点后更新的数据不会出现在快照卷中,快照卷中的数据都必须是快照时间点那一刻的数据,以此保证了快照数据的完整性。
从上面的描述可以看出,有无快照对磁盘读写还是有一定影响的,首先对于数据本身操作由原来一次写,变成了一次读和两次写,一次读是从源数据卷将数据读出,一次写是将源数据卷的原始数据写入快照卷,另一次则是将新数据写入源数据卷,除此之外快照数据指针表中相应的指针也被改写了,所以实际上对于一个快照来说,变成了一次读和三次写。
步骤S2,创建多个快照,在建立快照卷的快照数据指针表时,检查指向源数据卷原始数据块是否有除了源数据指针表以外其他快照卷的快照数据表指针,若有其他快照卷的快照数据表指针则将当前建立的快照卷的快照数据指针表指针指向其他快照卷指针的位置(指向该原始数据块的其他快照卷指针对应位置),并设置自己的标记位,表示读出数据时自己为二级指针,以便提醒系统在使用快照时需要寻址两次。
当创建多个快照(非第一个快照),对于传统的COW模式来说,再创建新快照时依然会做和步骤S1中相同的操作,这样虽然可以一瞬间将快照创建出来,但是随着快照数量的增多却会逐渐增大对磁盘读写的开销,虽然对于要写入的新数据本身操作还是和只有一个快照时一样,是读一次写两次,但是与此同时也需要对快照卷的快照数据指针表中相应的指针进行修改,这样的话有几个快照就需要修改几个指针,随着快照数量的增加,当快照达到一定数量的时候,对快照指针的修改就会达到一个不可忽视的数量,会极大的影响磁盘读写性能,而且也会占用一定的磁盘空间。
实际上,一般来说一个被保护的数据盘里面的数据改动一般是集中在某一块区域的,其他区域可能只会偶尔或经过较长的时间才会被改动,在这种情况下往往会出现很多个快照数据表指针指向同一块区域的情况,而当这块区域变动时,所有的指针也都需要修改,而修改过后指向新的原数据位置时又是一样的,这说明在这些快照指针被创建指向同一个数据块时就注定它们是同步的,这就造成了很大的资源浪费,所以本发明对这一点进行了改进,因为这些指针其实都等同于一个指针。
因此,在本发明中,当创建多个快照,在建立各快照卷的快照数据指针表时,先检查一下指向原始数据块(源数据卷的数据块)是否有除了源数据指针表指针以外其他的快照卷的快照数据指针表指针,若有其他快照卷的快照数据指针表指针则将当前所要建立的快照数据指针表相应指针指向其他快照卷快照数据指针表相应指针的位置,并设置自己的标记位,表示读出数据时自己是二级指针,以便提醒系统在使用快照时需要寻址两次。
这样,指向原始数据块的快照指针始终不会超过一个,当该数据块被修改的时候也只需要修改一个快照指针。
步骤S3,对源数据卷进行写操作时,当要写入的数据块上有快照数据指针表指针指向时,先将该数据块的原始数据读出,写入快照卷相应的数据块中,更新快照数据表对应的指针指向新的地址,最后将要写入的新数据写入源数据卷要写入的数据块中覆盖原始数据。
优选地,于步骤S3之前,还包括如下步骤:
对源数据卷进行写操作时,判断所要写入的源数据卷的数据块上是否有快照数据表指针指向,若有,则进入步骤S3,否则直接将要写入的新数据写入该数据块中覆盖原始数据。一般来说,没有快照数据表指针指向的话只有两种可能:1.没有在该源数据卷上创建过快照;2.创建过快照之后,该数据块已经被写过一次了,即这个数据块的原始数据已经备份过,则现在该源数据块上的数据不是创建快照时的原始数据。
可见,在传统COW模式中,可能会有很多个快照数据指针表指针指向该地址,需要改写的快照数据指针表指针就会非常多,这样就会影响源数据卷正常读写的性能,而本发明指向该数据块的快照数据指针表指针最多只有一个,这样虽然在创建快照时会多一步判断是否有快照数据指针表指针的操作,但这个操作完全是由CPU完成的,与需要进行指针改写的磁盘写操作相比极大的提升了多快照的效率,而且本发明不会随着快照数量的增加而降低性能。
图2为本发明一种基于COW模式多快照下提高备份效率的系统的系统架构图。如图2所示,本发明一种基于COW模式多快照下提高备份效率的系统,包括:
首快照创建单元201,用于对源数据卷创建第一个快照,并于创建快照时,同时创建快照卷,以保存创建快照后源数据卷中被更新的数据,所述源数据卷具有指向相应源数据块的源数据指针表,并于创建快照时,建立所述源数据指针表的副本的快照数据指针表,所述快照卷与源数据卷通过各自的指针表共享同一份物理数据。
具体地说,对于某个源数据卷,首先创建第一个快照,在创建该第一个快照时,会同时创建快照卷,以用于保存创建快照后源数据卷中被更新的数据,由于快照卷保存的是快照后源数据卷中被更新的数据,因此其只需分配相对少量的存储空间。每个源数据卷都具有一张数据指针表(元数据),简称源数据指针表,所述源数据指针表的表记录就是指向相应源数据块的地址指针,并且在创建快照时,还建立所述源数据指针表的一个副本(元数据拷贝),作为所述快照卷的数据指针表,简称快照数据指针表,因此,在创建快照之后,该快照就相当于一个可供上层应用访问的存储逻辑副本,快照卷与源数据卷通过各自的指针表共享同一份物理数据。
对于COW模式,当源数据卷中任意数据将要被改写时,需要确保对原始数据的拷贝操作发生在原始数据的改写操作之前,并且将原始数据在快照卷(保存的是快照后源数据卷中被更新的数据)中的新地址更新到快照数据指针表记录中,使快照时间点后更新的数据不会出现在快照卷中,快照卷中的数据都必须是快照时间点那一刻的数据,以此保证了快照数据的完整性。
这样可以看出,有无快照对磁盘读写还是有一定影响的,首先对于数据本身操作由原来一次写,变成了一次读和两次写,一次读是从源数据卷将数据读出,一次写是源数据卷的原始数据写入快照卷,另一次则是将新数据写入源数据卷,除此之外快照数据指针表中相应的指针也被改写了,所以实际上对于一个快照来说,变成了一次读和三次写。
多快照创建单元202,用于创建多个快照,在建立快照卷的快照数据指针表时,检查指向的原始数据块是否有除了源数据指针表以外其他快照卷的快照数据表指针,若有其他快照卷的快照数据表指针则将当前建立的快照卷的快照数据指针表指针指向其他快照卷指针的位置,并设置自己的标记位,表示读出数据时自己为二级指针,以便提醒系统在使用快照时需要寻址两次。
当创建多个快照,对于传统的COW模式来说,在创建新快照的时候依然会做和首快照创建单元201中相同的操作,这样虽然可以一瞬间将快照创建出来,但是随着快照数量的增多却会逐渐增大对磁盘读写的开销,虽然对于要写入的新数据本身操作还是和只有一个快照时一样,是读一次写两次,但是与此同时也需要对快照卷的快照数据指针表中相应的指针进行修改,这样的话有几个快照就需要修改几个指针,随着快照数量的增加,当快照达到一定数量的时候,对快照指针的修改就会达到一个不可忽视的数量,会极大的影响磁盘读写性能,而且也会占用一定的磁盘空间。
实际上,一般来说一个被保护的数据盘里面的数据改动一般是集中在某一块区域的,其他区域可能只会偶尔或经过较长的时间才会被改动,在这种情况下往往会出现很多个快照数据表指针指向同一块区域的情况,而当这块区域变动时,所有的指针也都需要修改,而修改过后指向新的原数据位置时又是一样的,这说明在这些快照指针被创建指向同一个数据块时就注定它们是同步的,这就造成了很大的资源浪费,所以本发明对这一点进行了改进,因为这些指针其实都等同于一个指针。
因此,在本发明中,当创建多个快照,在建立各快照卷的快照数据指针表时,先检查一下指向的原始数据块(源数据卷的数据块)是否有除了源数据指针表指针以外其他的快照卷的快照数据指针表指针,若有其他快照卷的快照数据指针表指针则将当前所要建立的快照数据指针表相应指针指向其他快照卷快照数据指针表相应指针的位置,并设置自己的标记位,表示读出数据时自己是二级指针,以便提醒系统在使用快照时需要寻址两次。
这样,指向原始数据块的快照指针始终不会超过一个,当该数据块被修改的时候也只需要修改一个快照指针。
数据更新处理单元203,用于对源数据卷进行写操作时,当要写入的数据块上有快照数据指针表指针指向时,先将该数据块的原始数据读出,写入快照卷相应的数据块中,更新快照数据表对应的指针指向新的地址,最后将要写入的新数据写入源数据卷要写入的数据块中覆盖原始数据。
优选地,于数据更新处理单元203中,对源数据卷进行写操作时,还需判断所要写入的源数据卷的数据块上是否有快照数据表指针指向,若有,则将该数据块的原始数据读出,写入快照卷相应的数据块中,更新快照数据表对应的指针指向新的地址,最后将要写入的新数据写入源数据卷要写入的数据块中覆盖原始数据;否则直接将要写入的新数据写入该数据块中覆盖原始数据。
可见,在传统COW模式中,可能会有很多个快照数据指针表指针指向该地址,需要改写的快照数据指针表指针就会非常多,这样就会影响源数据卷正常读写的性能,而本发明指向该数据块的快照数据指针表指针最多只有一个,这样虽然在创建快照时会多一步判断是否有快照数据指针表指针的操作,但这个操作完全是由CPU完成的,与需要进行指针改写的磁盘写操作相比极大的提升了多快照的效率,而且本发明不会随着快照数量的增加而降低性能。
实施例
在本实施例中,所述基于COW模式多快照下提高备份效率的方法步骤如下:
步骤1,首先创建第一个快照,其过程如图3a、图3b之传统COW模式原理所示,在创建第一个快照时,源数据卷上此时并无其他快照,可以直接拷贝源数据卷的源数据指针表(源卷指针)作为快照卷的快照数据指针表(快照指针),当创建好该第一个快照之后若有数据变更,如图3a中源数据卷数据块E要修改为H,则需要先从源数据卷的数据块中将原始数据读出,将原始数据写入快照卷,如图3b,并改写快照卷的快照数据指针表指向新的地址(快照卷的地址),最后将要写入的新数据写入源数据卷中的相应数据块中,如图3a数据快E变为H。
步骤2,创建更多的快照,在建立各快照卷的快照数据指针表时,当指向源数据块的指针中有其他快照卷的快照数据指针表指针时,那么新的快照数据指针表指针就指向该快照数据指针表指针。
传统的COW模式会和第一次创建快照一样直接拷贝源数据卷的源数据指针表作为快照卷的快照数据指针表,如图4a、图4b所示为传统COW模式的多快照原理,这样就会有多个快照数据指针表指针指向同一个数据块,当数据块被修改时,如图4a中源数据卷数据块E要修改为H,需要改写的快照数据指针表指针就会增加,如增加了图4b中快照数据指针表2中的快照指针,当快照达到一定数量之后就会较明显的影响源数据卷的读写性能,所以本发明对此做出了改进,当指向源数据块的指针中有其他快照卷的快照数据指针表指针时,那么新的快照指针就指向该快照数据指针表指针,如图5a、图5b所示本发明之COW模式快照原理,快照数据指针表2中的快照指针指向快照数据指针表1指针位置,这样就可以保证指向源数据卷数据块的快照数据指针表指针最多只有一个(但指向已经指向源数据卷的快照数据指针表指针的快照指针可以有多个),这样对源数据卷数据进行修改时就和只有一个快照时一样,需要修改的快照数据指针表指针最多也就一个,并不会随着快照数量的增加而降低源数据卷的读写性能。
综上所述,本发明一种基于COW模式多快照下提高备份效率的方法通过在创建多个快照的时候,改变快照数据指针表的指针指向,保证最多只有一个快照数据指针表的指针指向源数据卷数据块,其他快照数据指针表的指针则指向已经指向该数据块的快照数据指针表指针,这样当该数据块被修改时,对指针的改写只需改写一个快照数据指针表指针,本发明在传统COW模式上,在增加少量CPU运算开销情况下减少了读写源卷时的额外的写的次数,从而减少了读写的开销,降低了多快照情况下对源卷读写性能的影响。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。
Claims (8)
1.一种基于COW模式多快照下提高数据备份效率的方法,包括如下步骤:
步骤S1,对源数据卷创建第一个快照,并于创建快照同时创建快照卷,以保存创建快照后源数据卷中被更新的数据,所述源数据卷具有指向相应源数据块的源数据指针表,并于创建快照时根据所述源数据指针表建立快照数据指针表,所述快照卷与源数据卷通过各自的指针表共享同一份物理数据;
步骤S2,创建多个快照,并创建多个快照卷,在建立各快照卷的快照数据指针表时,检查指向源数据卷数据块的指针是否有除了源数据指针表以外其他快照卷的快照数据表指针,若有其他快照卷的快照数据表指针则将当前所要建立的快照卷的快照数据指针表指针指向已指向所述源数据卷数据块的快照数据指针表指针位置;
步骤S3,当对源数据卷进行写操作时,于要写入的源数据卷数据块上有快照数据指针表指针指向时,先将该数据块的原始数据读出,写入对应的快照卷相应的数据块中,更新相应快照数据指针表对应指针指向新的地址,最后将要写入的新数据写入所述源数据卷要写入的数据块中覆盖原始数据。
2.如权利要求1所述的一种基于COW模式多快照下提高数据备份效率的方法,其特征在于:在创建快照时,建立所述源数据指针表的一个副本作为所述快照卷的快照数据指针表。
3.如权利要求2所述的一种基于COW模式多快照下提高数据备份效率的方法,其特征在于:于步骤S1中,当源数据卷中任意数据被改写时,将所要改写的数据块的原始数据读出,写入所述快照卷的相应数据块中,更新所述快照数据指针表对应指针指向新的地址,最后将要写入的新数据写入所述源数据卷数据块中覆盖原始数据。
4.如权利要求1所述的一种基于COW模式多快照下提高数据备份效率的方法,其特征在于:于步骤S2中,在将当前所要建立的快照卷的快照数据指针表指针指向已指向所述源数据卷数据块的快照数据指针表指针位置时,设置自己的标记位,以表示读出数据时自己为二级指针。
5.如权利要求1所述的一种基于COW模式多快照下提高数据备份效率的方法,其特征在于,于步骤S3之前,还包括如下步骤:
对源数据卷进行写操作时,判断所要写入的源数据卷的数据块上是否有快照数据表指针指向,若有,则进入步骤S3,否则直接将要写入的新数据写入该数据块中覆盖原始数据。
6.一种基于COW模式多快照下提高备份效率的系统,包括:
首快照创建单元,用于对源数据卷创建第一个快照,并于创建快照同时创建快照卷,以保存创建快照后源数据卷中被更新的数据,所述源数据卷具有指向相应源数据块的源数据指针表,并于创建快照时根据所述源数据指针表建立快照数据指针表,所述快照卷与源数据卷通过各自的指针表共享同一份物理数据;
多快照创建单元,用于创建多个快照,并创建多个快照卷,在建立各快照卷的快照数据指针表时,检查指向源数据卷数据块的指针是否有除了源数据指针表以外其他快照卷的快照数据表指针,若有其他快照卷的快照数据表指针则将当前所要建立的快照卷的快照数据指针表指针指向已指向所述源数据卷数据块的快照数据指针表指针位置;
数据更新处理单元,用于在对源数据卷进行写操作时,于要写入的源数据卷数据块上有快照数据指针表指针指向时,先将该数据块的原始数据读出,写入对应的快照卷相应的数据块中,更新相应快照数据指针表对应指针指向新的地址,最后将要写入的新数据写入所述源数据卷要写入的数据块中覆盖原始数据。
7.如权利要求6所述的一种基于COW模式多快照下提高备份效率的系统,其特征在于:在创建快照时,建立所述源数据指针表的一个副本作为所述快照卷的快照数据指针表。
8.如权利要求6所述的一种基于COW模式多快照下提高备份效率的系统,其特征在于:所述多快照创建单元在将当前所要建立的快照卷的快照数据指针表指针指向已指向所述源数据卷数据块的快照数据指针表指针位置时,设置当前所要建立的快照卷的快照数据指针表指针的标记位,以表示读出数据时自己为二级指针。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010117487.7A CN111338850A (zh) | 2020-02-25 | 2020-02-25 | 一种基于cow模式多快照下提高备份效率的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010117487.7A CN111338850A (zh) | 2020-02-25 | 2020-02-25 | 一种基于cow模式多快照下提高备份效率的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111338850A true CN111338850A (zh) | 2020-06-26 |
Family
ID=71185727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010117487.7A Withdrawn CN111338850A (zh) | 2020-02-25 | 2020-02-25 | 一种基于cow模式多快照下提高备份效率的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111338850A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115509808A (zh) * | 2022-09-19 | 2022-12-23 | 安徽鼎甲计算机科技有限公司 | 数据备份方法、装置、计算机设备和存储介质 |
WO2024087426A1 (zh) * | 2022-10-26 | 2024-05-02 | 上海爱数信息技术股份有限公司 | 一种全量快照快速生成方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1658168A (zh) * | 2004-02-19 | 2005-08-24 | 华为技术有限公司 | 一种快照过程中向源卷写数据的方法 |
US20060047926A1 (en) * | 2004-08-25 | 2006-03-02 | Zheng Calvin G | Managing multiple snapshot copies of data |
CN101093459A (zh) * | 2007-07-18 | 2007-12-26 | 华为技术有限公司 | 快照保护方法及装置 |
US7743031B1 (en) * | 2002-09-06 | 2010-06-22 | 3Par, Inc. | Time and space efficient technique for creating virtual volume copies |
WO2016127658A1 (zh) * | 2015-02-12 | 2016-08-18 | 中兴通讯股份有限公司 | 一种快照处理方法及装置 |
CN106951375A (zh) * | 2016-01-06 | 2017-07-14 | 北京忆恒创源科技有限公司 | 在存储系统中删除快照卷的方法及装置 |
CN107924293A (zh) * | 2015-09-21 | 2018-04-17 | 国际商业机器公司 | 写时拷贝重定向 |
US20180188967A1 (en) * | 2015-07-31 | 2018-07-05 | Hewlett Packard Enterprise Development Lp | Snapshot storage management |
-
2020
- 2020-02-25 CN CN202010117487.7A patent/CN111338850A/zh not_active Withdrawn
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7743031B1 (en) * | 2002-09-06 | 2010-06-22 | 3Par, Inc. | Time and space efficient technique for creating virtual volume copies |
CN1658168A (zh) * | 2004-02-19 | 2005-08-24 | 华为技术有限公司 | 一种快照过程中向源卷写数据的方法 |
US20060047926A1 (en) * | 2004-08-25 | 2006-03-02 | Zheng Calvin G | Managing multiple snapshot copies of data |
CN101093459A (zh) * | 2007-07-18 | 2007-12-26 | 华为技术有限公司 | 快照保护方法及装置 |
WO2016127658A1 (zh) * | 2015-02-12 | 2016-08-18 | 中兴通讯股份有限公司 | 一种快照处理方法及装置 |
US20180188967A1 (en) * | 2015-07-31 | 2018-07-05 | Hewlett Packard Enterprise Development Lp | Snapshot storage management |
CN107924293A (zh) * | 2015-09-21 | 2018-04-17 | 国际商业机器公司 | 写时拷贝重定向 |
CN106951375A (zh) * | 2016-01-06 | 2017-07-14 | 北京忆恒创源科技有限公司 | 在存储系统中删除快照卷的方法及装置 |
Non-Patent Citations (1)
Title |
---|
张权;胡晓勤;: "一种基于Linux标准分区的快照方法" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115509808A (zh) * | 2022-09-19 | 2022-12-23 | 安徽鼎甲计算机科技有限公司 | 数据备份方法、装置、计算机设备和存储介质 |
WO2024087426A1 (zh) * | 2022-10-26 | 2024-05-02 | 上海爱数信息技术股份有限公司 | 一种全量快照快速生成方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8417907B2 (en) | Synchronizing snapshot volumes across hosts | |
US8965850B2 (en) | Method of and system for merging, storing and retrieving incremental backup data | |
US7085901B2 (en) | Storage apparatus and method for optimal snapshot transfer | |
US7213116B2 (en) | Method and apparatus for mirroring objects between storage systems | |
US5497483A (en) | Method and system for track transfer control during concurrent copy operations in a data processing storage subsystem | |
US7523276B1 (en) | Synchronization of selected data from snapshots stored on different storage volumes | |
US7174420B2 (en) | Transaction-safe FAT file system | |
US20060047926A1 (en) | Managing multiple snapshot copies of data | |
US7610465B2 (en) | Method and related apparatus for data migration utilizing disk arrays | |
US20080177961A1 (en) | Partial Backup and Restore with Backup Versioning | |
US9176853B2 (en) | Managing copy-on-writes to snapshots | |
US20050027819A1 (en) | Storage system, server apparatus, and method for creating a plurality of snapshots | |
US20090327626A1 (en) | Methods and systems for management of copies of a mapped storage volume | |
US7853769B2 (en) | Computer system for managing number of writes for storage medium and control method therefor | |
CN109902034A (zh) | 快照创建方法、装置、电子设备及机器可读存储介质 | |
CN111414320B (zh) | 基于日志文件系统的非易失内存构建磁盘cache的方法及系统 | |
CN112035294A (zh) | 安全日志文件系统及其实现方法和介质 | |
CN111338850A (zh) | 一种基于cow模式多快照下提高备份效率的方法及系统 | |
US7398420B2 (en) | Method for keeping snapshot image in a storage system | |
US8688938B2 (en) | Data copying | |
JP4394467B2 (ja) | ストレージシステム、サーバ装置及び先行コピーデータ生成方法 | |
US8601230B2 (en) | Volume migration program, method and system | |
US7536507B1 (en) | Methods, systems, and computer program products for preserving atomic writes using leaves and bitmaps | |
CN115033425A (zh) | 一种提高数据备份成功率的方法 | |
JP5398795B2 (ja) | 情報処理装置及び情報処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200626 |
|
WW01 | Invention patent application withdrawn after publication |