一种快照方法、装置、系统及可读存储介质与流程

文档序号:16207669发布日期:2018-12-08 07:19阅读:138来源:国知局
一种快照方法、装置、系统及可读存储介质与流程

本发明涉及数据备份技术领域,特别是涉及一种快照方法、装置、系统及可读存储介质。

背景技术

随着大数据时代的来临,企业的业务数据呈指数级增长,由于一些情况下即便是少量的数据丢失也可能带来巨大的损失,数据安全已成为各行业非常重视的问题。比如银行、证券等行业,其信息系统已经成为国家的重要基础设置。在此背景下,快照技术应运而生。

快照指的是指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。由于快照初始化开销时间很短,在几分钟甚至几十秒就可以完成快照的创建,因此快照技术可以缩短备份窗口。同时,利用快照技术还可以在不中断业务的情况下进行数据备份,因此,越来越多的企业开始使用快照技术来保证企业数据的安全。

现有技术中通常采用镜像快照来进行数据备份,设定原始数据由a—h8个数据块组成,数据块a、g的更改发生在快照0之后,b、d的更改发生在快照1之后,e、g0的更改发生在快照2之后,h的更改发生在快照3之后,镜像快照的原理如图1所示,在每次进行快照时,上一次快照中修改后的数据块被拷贝了下来,没有修改的数据块也被保存了下来,例如数据块c和数据块f始终没有改变,但是每个快照中都保存了c和f,可见,镜像快照会导致存储空间被大量占用,浪费了存储空间。



技术实现要素:

本发明的目的是提供一种快照方法、装置、系统及可读存储介质,既可以通过各个快照卷及其对应的索引关系便可将数据恢复至过去的时间点,又可以减少对存储空间的占用,有效地提高了存储利用率。

为解决上述技术问题,本发明提供了一种快照方法,包括:

根据源卷创建快照卷,所述快照卷包括源卷的全部初始数据块;

每当所述源卷中存在数据块被修改时,将新数据块重定向至上一次的快照卷,且建立所述新数据块与被修改的数据块之间的索引关系;

在新的快照点到来时,根据所述上一次的快照卷及所述索引关系确定本次的快照卷。

优选地,所述根据源卷创建快照卷,包括:

为源卷创建镜像卷,所述镜像卷的容量大于所述源卷的容量;

根据所述镜像卷得到所述快照卷,然后断开所述镜像卷与所述源卷的镜像关系。

优选地,所述镜像卷的容量不小于所述源卷的容量的2倍。

优选地,建立所述新数据块与被修改的数据块之间的索引关系后,还包括:

将所述新数据覆盖所述源卷中被修改的数据块。

优选地,在根据所述上一次的快照卷及所述索引关系确定本次的快照卷后,还包括:

将本次的快照卷中的所有新数据块按照其对应的所述源卷中的初始数据块的组成顺序进行重新排序。

为解决上述技术问题,本发明还提供了一种快照系统,包括:

初始创建单元,用于根据源卷创建快照卷,所述快照卷包括源卷的全部初始数据块;

修改单元,用于每当所述源卷中存在数据块被修改时,将新数据块重定向至上一次的快照卷,且建立所述新数据块与被修改的数据块之间的索引关系;

确定单元,用于在新的快照点到来时,根据所述上一次的快照卷及所述索引关系确定本次的快照卷。

优选地,所述初始创建单元包括:

镜像卷创建单元,用于为源卷创建镜像卷,所述镜像卷的容量大于所述源卷的容量;

初始快照卷创建单元,用于根据所述镜像卷得到所述快照卷,然后断开所述镜像卷与所述源卷的镜像关系。

优选地,还包括:

排序单元,用于将本次的快照卷中的所有新数据块按照其对应的所述源卷中的初始数据块的组成顺序进行重新排序。

为解决上述技术问题,本发明还提供了一种快照装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述所述快照方法的步骤。

为解决上述技术问题,本发明还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述快照方法的步骤。

本发明提供了一种快照方法,包括根据源卷创建快照卷,快照卷包括源卷的全部初始数据块;每当源卷中存在数据块被修改时,将新数据块重定向至上一次的快照卷,且建立新数据块与被修改的数据块之间的索引关系;在新的快照点到来时,根据上一次的快照卷及索引关系确定本次的快照卷。可见,本申请将源卷的全部初始数据块及新数据块均存放在同一快照卷中,既可以通过各个快照卷及其对应的索引关系便可将数据恢复至过去的时间点,又可以减少对存储空间的占用,有效地提高了存储利用率。

本发明还提供了一种快照装置、系统及可读存储介质,具有如上述快照方法相同的有益效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为一种现有技术中的镜像快照的原理图;

图2为本发明提供的一种快照方法的过程的流程图;

图3为本发明提供的一种快照的原理图;

图4为本发明提供的一种快照系统的结构示意图。

具体实施方式

本发明的核心是提供一种快照方法、装置、系统及可读存储介质,既可以通过各个快照卷及其对应的索引关系便可将数据恢复至过去的时间点,又可以减少对存储空间的占用,有效地提高了存储利用率。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参照图2,图2为本发明提供的一种快照方法的过程的流程图,该方法包括:

s11:根据源卷创建快照卷,快照卷包括源卷的全部初始数据块;

s12:每当源卷中存在数据块被修改时,将新数据块重定向至上一次的快照卷,且建立新数据块与被修改的数据块之间的索引关系;

s13:在新的快照点到来时,根据上一次的快照卷及索引关系确定本次的快照卷。

本申请中,需要首先建立一个与源卷的数据块内容相同的快照卷(可以理解成初始快照卷),也即保存源卷的完全备份。具体根据源卷创建一个快照卷,该快照卷中包括源卷的全部初始数据块(这里的全部初始数据块除了指数据块本身内容,还指各个数据块之间的排序)。该过程只需要建立一次,后续源卷中存在数据块修改时只需将新数据块写入初始快照卷的原有数据块之后。另外,还需要说明的是,在创建快照卷之前,系统会为快照卷预留存储空间。

在包括源卷的全部初始数据块的快照卷的基础上,每当源卷中存在数据块被修改时,便将新数据块重定向至上一次的快照卷,由于快照卷的数据存放是顺序存储,这里的重定向也可以理解为将新数据块写入上一次的快照卷的原有数据块的后面,这里本质上可以理解为对上一次的快照卷的更新。假设快照卷中原有a、b、c…h这八个数据块,采用本申请中的重定向的方式,当对某个数据块例如a数据块进行修改时,则新数据块a0会顺序存放在h之后,也即快照卷更新为a、b、c…h、a0。此外,还需要建立新数据块与被修改的数据块之间的索引关系,例如上述例子中便需要建立a和a0的索引关系。

在上个快照点和新的快照点之间,源卷中的数据块可能会被修改,在该过程中,快照卷会不断的更新,也即快照卷中的与源卷中的数据块相同的数据块的后面会存入新的数据块。在新的快照点到来时,根据上一次的快照所指向的数据块信息以及索引信息便能够确定本次快照所指向的数据块,并将本次快照所指向的数据块记录下来。例如,下面的例子中,根据快照0所指向的数据块信息a、b、c…h以及a和a0之间的索引关系,g和g0之间的索引关系,可以确定快照1所指向的数据块信息为a、b、c…h、a0、g0。

为方便对本方案的进一步理解,下面列举实例来进行说明:

请参照图3,图3为本发明提供的一种快照的原理图,这里仍假设快照卷中原有a、b、c…h这八个数据块,初始快照卷为快照0,应用程序在快照0后修改了a和g数据块,在快照1后修改了b和d数据块,在快照2后修改了e和g数据块,在快照3之后修改了h,则:

在快照0后修改了a和g数据块后,系统将新数据块a0和g0重定向至上一次快照卷(初始快照卷),则快照卷更新为a、b、c…h、a0、g0;此外,建立a和a0之间的索引关系,建立g和g0之间的索引关系;

在快照1后修改了b和d数据块后,系统将新数据块b1和d1重定向至上一次快照卷,则快照卷更新为a、b、c…h、a0、g0、b1、d1;此外,建立b和b1之间的索引关系,建立d和d1之间的索引关系;

在快照2后修改了e和g数据块后,系统将新数据块e2和g2重定向至上一次快照卷,则修改后的快照卷变为a、b、c…h、a0、g0、b1、d1、e2、g2,此外,建立e与e2的索引关系,建立g0与g2之间的索引关系;

在快照3后修改了h数据块后,系统将新数据块h3重定向至上一次快照卷,则修改后的快照卷变为a、b、c…h、a0、g0、b1、d1、e2、g2、h3,此外,建立h与h3的索引关系。

综上所示,本申请中将源卷的全部初始数据块及新数据块均存放在同一快照卷中,多次快照共享快照卷中的数据块,不必在每次创建快照时都创建一个快照卷,只需将源卷中改变的数据存放至快照卷的相应数据块中即可,提高了存储空间的利用率。另外,本申请中保存了源卷在过去某一时间点的完全备份,在源卷损坏的情况下还能够通过初始快照卷及索引关系将数据恢复到过去某个时间点的状态。

在上述实施例的基础上:

作为一种优选地实施例,根据源卷创建快照卷,包括:

为源卷创建镜像卷,镜像卷的容量大于源卷的容量;

根据镜像卷得到所述快照卷,然后断开镜像卷与源卷的镜像关系。

具体地,为了得到源卷的完全备份,在第一次快照点到来之前,首先为源卷创建一个镜像卷进行数据同步,以保存源卷的初始数据。另外,镜像卷的大小需要根据当前需要人为设置,镜像卷越大,可以创建的快照越多。这里要求镜像卷的容量大于源卷的容量。

在镜像卷创建完毕后,系统通过镜像卷为源卷创建快照卷(目的是保存源卷在该时刻的完全备份),然后停止镜像操作,断开镜像卷与源卷之间的镜像关系,镜像卷不再随着源卷进行同步动态变化。在此基础上,上述实施例提到的快照卷实际上也即镜像卷。

当然,除了采用本实施例中的方式来建立快照卷,还可以为通过其他方式来建立,本申请在此不作特别的限定。

作为一种优选地实施例,镜像卷的容量不小于源卷的容量的2倍。

上述提到,镜像卷的容量越大,越能够存储更多的快照,为了保证源卷的数据能够得到很好地备份,本实施例要求镜像卷的容量不小于源卷的容量的2倍。当然,为了尽可能地避免存储空间的浪费,镜像卷的容量也不能无限大,在满足镜像卷的容量不小于源卷的容量的2倍的基础上,本申请对于镜像卷的容量的大小不作特别的限定,根据实际情况来定。

作为一种优选地实施例,建立新数据块与被修改的数据块之间的索引关系后,还包括:

将新数据覆盖源卷中被修改的数据块。

在建立好新数据块与被修改的数据块之间的索引关系后,还需要将新数据块更新至被修改的数据块中,完成源卷的数据块的修改,具体地,请参照图3中所示的,在进行4次数据修改后,也即经历了快照4后,源卷的最终数据块变为a0、b1、c、d1、e2、f、g2、h3。

作为一种优选地实施例,在根据上一次的快照卷及索引关系确定本次的快照卷后,还包括:

将本次的快照卷中的所有新数据块按照其对应的源卷中的初始数据块的组成顺序进行重新排序。

具体地,本实施例还在根据上一次的快照卷及索引关系确定本次的快照卷后,将本次的快照卷中的所有新数据块按照其对应的源卷中的初始数据块的组成顺序进行重新排序。这样做主要是考虑到源卷中以及初始快照卷中的数据块之间是存在排序关系的,基于此,采用本实施例中对新数据块进行排序方便后续每次在镜像卷中插入新数据时建立新数据块和被修改的数据块之间的索引关系。例如,快照0后,数据块a、g进行了修改,则在得到快照1后,由于源卷中数据块a在数据块g前面,因此,快照1中也会将新数据块a0放在新数据块g0的前面。

请参照图4,图4为本发明提供的一种快照系统的结构示意图,该系统包括:

初始创建单元1,用于根据源卷创建快照卷,快照卷包括源卷的全部初始数据块;

修改单元2,用于每当源卷中存在数据块被修改时,将新数据块重定向至上一次的快照卷,且建立新数据块与被修改的数据块之间的索引关系;

确定单元3,用于在新的快照点到来时,根据上一次的快照卷及索引关系确定本次的快照卷。

作为一种优选地实施例,初始创建单元1包括:

镜像卷创建单元,用于为源卷创建镜像卷,镜像卷的容量大于源卷的容量;

初始快照卷创建单元,用于根据镜像卷得到所述快照卷,然后断开镜像卷与源卷的镜像关系。

作为一种优选地实施例,还包括:

排序单元,用于将本次的快照卷中的所有新数据块按照其对应的源卷中的初始数据块的组成顺序进行重新排序。

对于本发明提供的一种快照系统的介绍请参照上述方法实施例,本申请在此不作特别的限定。

本发明还提供了一种快照装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上述快照方法的步骤。

对于本发明提供的一种快照装置的介绍请参照上述方法实施例,本申请在此不作特别的限定。

本发明还提供了一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述快照方法的步骤。

对于本发明提供的一种可读存储介质的介绍请参照上述方法实施例,本申请在此不作特别的限定。

需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其他形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1