CN101661415A - 一种保存快照数据的方法及存储快照系统 - Google Patents
一种保存快照数据的方法及存储快照系统 Download PDFInfo
- Publication number
- CN101661415A CN101661415A CN200910177809A CN200910177809A CN101661415A CN 101661415 A CN101661415 A CN 101661415A CN 200910177809 A CN200910177809 A CN 200910177809A CN 200910177809 A CN200910177809 A CN 200910177809A CN 101661415 A CN101661415 A CN 101661415A
- Authority
- CN
- China
- Prior art keywords
- data
- logical volume
- data block
- snapshot
- source
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种保存快照数据的方法及存储快照系统,包括:存储快照系统快照源逻辑卷上的数据;存储快照系统判断若所述数据是无用数据或常量数据块,则不拷贝该数据;其中,该存储快照系统是通过写入标记表区分所述源逻辑卷上的无用数据和有用数据;其中,该写入标记表用于记录写数据情况。应用本发明,解决了快照中保存无用数据或者常量数据占用存储空间的问题。
Description
技术领域
本发明涉及磁盘阵列技术领域,尤其涉及一种保存快照数据的方法及存储快照系统。
背景技术
在数字时代,公司电子化存储的关键业务数据日益增长。当发生文件丢失、数据损坏或者用户误操作时必须能够简单快速恢复。快照技术为此提供了解决方案,方便实现数据备份。
SNIA(存储网络行业协会)对快照(Snapshot)的定义是:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。
在该快照方法中,将进行读写的逻辑卷称为源逻辑卷,实现源逻辑卷快照增加的辅助逻辑卷称为快照逻辑卷。差异复制是建立快照中方便快捷的方式,差异复制包括两种方法,写拷贝(Copy-on-Write)和重定向写(Redirect-on-Write)。写拷贝方法是每次接收写操作时,先将源逻辑卷中被覆盖的数据拷贝到快照逻辑卷,然后将数据写到源逻辑卷。重定向写方法是每次接收写操作时,直接将数据写到快照逻辑卷中。在该快照系统中,处理数据的单位为一个条带大小的数据,称为一个数据块。
在实际应用中发现,访问磁盘空间时,大多数情况下都是逐步向磁盘上写数据,而不是一次性写满。在磁盘空间未写满的情况下,可以认为空闲空间上的数据是无用数据,而在做快照时因为无法区分有用数据和无用数据,因此也将这些无用数据当作旧数据保存起来。此种情况下是将数据区分为有用数据和无用数据进行对待。另一种情况是在使用前对硬盘进行初始化,将所有数据都初始化为零,在快照的处理过程中,将所有数据都为零的数据块认为是常量数据块,也可认为是前一种情况中的无用数据。
综上所述,当前需要解决是提供一种技术方案解决快照中保存一些无用或者常量数据占用存储空间的问题。
发明内容
本发明所要解决的技术问题是提供一种保存快照数据的方法及存储快照系统,解决了快照中保存无用数据或者常量数据占用存储空间的问题。
为了解决上述问题,本发明提供了一种保存快照数据的方法,包括:
存储快照系统快照源逻辑卷上的数据;
所述存储快照系统判断若所述数据是无用数据或常量数据块,则不拷贝该数据;其中,该存储快照系统是通过写入标记表区分所述源逻辑卷上的无用数据和有用数据;其中,该写入标记表用于记录写数据情况。
进一步地,上述方法还可包括,所述写入标记表包含:源逻辑卷地址和标志位;其中,该源逻辑卷地址为数据块在源逻辑卷中的开始地址;该标志位用于记录该数据块是否被修改,若该数据块被修改,则其标志位设置为1;若该数据块未被修改,则其标志位设置为0;
所述存储快照系统通过写入标记表区分源逻辑卷上的无用数据和有用数据,是指:
所述存储快照系统根据所述写入标记表判断若所述源逻辑卷上数据块对应的标志位为1,则判定该数据块为有用数据;判断若所述源逻辑卷上数据块对应的标志位为0,则判定该数据块为无用数据。
进一步地,上述方法还可包括,所述存储快照系统判断所述源逻辑卷上的所述数据是常量数据块,是指:
所述存储快照系统是通过判断若所述源逻辑卷上的所述数据中所有数据都为0,确定该源逻辑卷上的所述数据是常量数据块。
进一步地,上述方法还可包括,当所述存储快照系统快照所述源逻辑卷上的数据是快照前向所述源逻辑卷写数据,则分为以下步骤:
步骤11、所述存储快照系统对源逻辑卷启动写数据的命令,根据数据块大小进行分解,分解为多个数据块后依次处理每个数据块;
步骤12、所述存储快照系统从分解后的数据块中取一个数据块进行处理;
步骤13、所述存储快照系统根据数据块的开始地址到所述源逻辑卷的所述写入标记表中查找该数据块对应的标志位,并将该标志位设置为1;
步骤14、所述存储快照系统判断当前处理的数据块是否是最后一个数据块,如果是,则完成对所述源逻辑卷的写数据过程;否则执行步骤12。
进一步地,上述方法还可包括,所述存储快照系统快照所述源逻辑卷上的数据时,还包括:
所述存储快照系统对每个快照保存一个修改记录表,及在快照逻辑卷中分配数据区域用于保存做快照后所述源逻辑卷中被覆盖的数据;
所述修改记录表包含:源逻辑卷地址和快照逻辑卷地址;所述源逻辑卷地址是每个数据块在源逻辑卷中的开始地址,所述快照逻辑卷地址是数据块被覆盖的数据在快照逻辑卷中被保存的开始地址;所述修改记录表中记录的未进行拷贝的数据的快照逻辑卷地址为-1;其中,在读快照时,若所述快照逻辑卷地址为-1时,则返回该数据块的所有数据为0。
进一步地,上述方法还可包括,当所述存储快照系统快照所述源逻辑卷上的数据是快照后向所述源逻辑卷写数据,则分为以下步骤:
步骤21、所述存储快照系统对源逻辑卷启动写数据的命令,根据数据块大小进行分解,分解为多个数据块后依次处理每个数据块;
步骤22、所述存储快照系统从分解后的数据块中取一个数据块进行处理;
步骤23、所述存储快照系统根据数据块的开始地址到快照的修改记录表中查找对应的修改记录,若找到该修改记录,则执行步骤22;否则执行步骤24。
步骤24、所述存储快照系统到所述源逻辑卷的所述写入标记表中查找该数据块对应的标志位,判断若该标志位为1,则执行步骤25,否则执行步骤26;
步骤25、所述存储快照系统向所述源逻辑卷发送读取所述数据块的命令,向快照逻辑卷申请空间保存数据,将读取的数据写入快照逻辑卷中申请的位置,将该数据块在快照中保存的开始地址和在源逻辑卷中的开始地址保存到快照的修改记录表中,执行步骤27;
步骤26、所述存储快照系统将该数据块在所述源逻辑卷中的开始地址和快照逻辑卷地址设置为-1,并保存到快照的修改记录表中;
步骤27、所述存储快照系统判断判断当前处理的数据块是否是最后一个数据块,如果是,则完成对所述源逻辑卷的写数据过程,否则执行步骤22。
进一步地,上述方法还可包括,所述存储快照系统根据数据块的开始地址到快照的修改记录表中查找对应的修改记录,若找到该修改记录后,还包括步骤:
所述存储快照系统向源逻辑卷发送读取所述数据块的命令,通过判断该数据块中所有数据是否都为0,如果是,则将该数据块在源逻辑卷中的开始地址和快照逻辑卷地址设置为-1,并保存到快照的修改记录表中,直至处理到最后一个数据块,完成对源逻辑卷的写数据过程;
否则,所述存储快照系统向快照逻辑卷申请空间保存数据,将读取的数据写入快照逻辑卷中申请的位置,将该数据块在快照中保存的开始地址和在源逻辑卷中的开始地址保存到快照的修改记录表中,直至处理到最后一个数据块,完成对源逻辑卷的写数据过程。
进一步地,上述方法还可包括,当所述存储快照系统快照所述源逻辑卷上的数据是读快照的过程,则分为以下步骤:
步骤31、所述存储快照系统对所述源逻辑卷启动读快照的命令,根据数据块大小进行分解,分解为多个数据块后依次处理每个数据块;
步骤32、所述存储快照系统从分解的数据块中取一个数据块进行处理,根据数据块的开始地址到快照的修改记录表中查找对应的修改记录,如果找到该数据块的修改记录,则执行步骤33,否则执行步骤34;
步骤33、所述存储快照系统取所述数据块的修改记录表中的快照逻辑卷地址,判断该快照逻辑卷地址是否为-1,如果是,则执行步骤36,否则执行步骤35;
步骤34、所述存储快照系统根据所述数据块开始地址到源逻辑卷中读取该数据块,读完后返回读结果,执行步骤37;
步骤35、所述存储快照系统取所述数据块的修改记录表中的快照逻辑卷地址,到快照逻辑卷中读取该数据块,读完后返回读结果,执行步骤37;
步骤36、所述存储快照系统设置所述数据块中的所有数据为0,返回读结果;
步骤37、所述存储快照系统判断当前处理的数据块是否是最后一个数据块,如果是,则完成读快照的过程,否则,执行步骤32。
本发明还提供了一种存储快照系统,包括:快照单元和控制单元,其中,
所述控制单元,用于通过读取写入标记表判断若源逻辑卷上的数据是无用数据,或判断若源逻辑卷上的数据是常量数据块,则向快照单元发送不拷贝该数据的信息;其中,该控制单元是通过读取所述写入标记表区分源逻辑卷上的无用数据和有用数据;其中,该写入标记表用于记录写数据情况;
所述快照单元,用于接收所述控制单元发送的所述信息,并根据该信息快照所述源逻辑卷上的数据。
进一步地,上述存储快照系统还可包括,所述控制单元读取的所述写入标记表包含:源逻辑卷地址和标志位;其中,该源逻辑卷地址为数据块在源逻辑卷中的开始地址;该标志位用于记录该数据块是否被修改,若该数据块被修改,则其标志位设置为1;若该数据块未被修改,则其标志位设置为0;
所述控制单元通过读取所述写入标记表区分源逻辑卷上的无用数据和有用数据,是指:
所述控制单元根据读取的所述写入标记表,判断若所述源逻辑卷上数据块对应的标志位为1,则判定该数据块为有用数据;判断若所述源逻辑卷上数据块对应的标志位为0,则判定该数据块为无用数据。
进一步地,上述存储快照系统还可包括,所述控制单元判断所述源逻辑卷上的数据是常量数据块,是指:
所述控制单元是通过判断若所述源逻辑卷上的所述数据中所有数据都为0,确定该源逻辑卷上的所述数据是常量数据块。
与现有技术相比,应用本发明,通过将源逻辑卷上的部分无用数据或者常量数据区别对待,在拷贝快照数据时,如果是无用数据和常量数据不进行物理拷贝,只进行标识,可节省快照的存储空间;本方法保存快照数据,对空间的节省情况与源逻辑卷无用数据或者常量数据占有比率和该部分数据被修改的比率相关,如果源逻辑卷上有20%的无用数据,且该部分无用数据有50%被修改,则可节省10%的存储空间。
附图说明
图1是本发明中源逻辑卷的写入标记表;
图2是本发明中快照的修改记录表;
图3是本发明中快照前向源逻辑卷写数据的流程图(区分有用数据和无用数据);
图4是本发明中快照后向源逻辑卷写数据的流程图(区分有用数据和无用数据);
图5是本发明中快照后向源逻辑卷写数据的流程图(定义常量数据块);
图6是本发明中读快照的流程图;
图7是本发明的存储快照系统的结构示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步说明。
本发明的主要构思是:存储快照系统将源逻辑卷上的部分无用数据或者常量数据区别对待,在拷贝快照数据时,如果是无用数据或常量数据块不进行物理拷贝,只进行标识,可节省快照的存储空间。
源逻辑卷中的部分数据是无用数据或常量数据块,做快照后,不需要保存到快照逻辑卷中。源逻辑卷创建完成后(不管是否创建快照),对源逻辑卷上的写数据情况进行记录。当一个写请求时,首先将写请求根据数据块大小进行分块,然后写入到源逻辑卷,并将写入情况存入一个写入标记表中。
如图1所示,该写入标记表包含两项:源逻辑卷地址和标志位,源逻辑卷地址为该数据块在源逻辑卷中的开始地址。在源逻辑卷创建时,该写入标记表中,所有数据块对应的标志位全为0,当数据块被修改后,将对应的标志位修改为1。使用写拷贝创建快照后,向源逻辑卷写数据时,将源逻辑卷中被覆盖的数据拷贝到快照逻辑卷。在本发明中,在将被覆盖的数据拷贝到快照逻辑卷之前,判断其数据块对应的标志位,如果为1则进行拷贝;如果为0,表示被覆盖的数据为无用数据,不进行拷贝,且将未拷贝的信息记入快照的修改记录表中。未进行数据拷贝的情况,将快照逻辑卷地址设置为-1。在读取快照时,如果发现快照逻辑卷地址为-1时,则返回该数据块的所有数据为0。
为了实现源逻辑卷的快照,为每个快照保存一个修改记录表,及在快照逻辑卷中分配数据区域用于保存做快照后源逻辑卷中被覆盖的数据。
如图2所示,修改记录表包含:源逻辑卷地址和快照逻辑卷地址。其中,源逻辑卷地址是每个数据块在源逻辑卷中的开始地址,快照逻辑卷地址为数据块被覆盖的数据在快照逻辑卷中被保存的开始地址。
在本发明中有两种方式进行处理,包括:
一种是将源逻辑卷中的数据分为有用数据和无用数据。有用数据则是源逻辑卷创建后,用户写入的数据,无用数据则是源逻辑卷创建后,用户没有写入数据区域的原始数据,这部分数据对用户来说是无用的。做快照后,不用保存被覆盖的无用数据到快照逻辑卷;
另一种是在逻辑卷创建的时候将逻辑卷所有数据区域初始化为零,将整个数据块都为零的数据块称为常量数据块,做快照后,不用保存被覆盖的常量数据块到快照逻辑卷。
区分有用数据和无用数据的方式中,包含三个处理流程:快照前向源逻辑卷写数据的流程、快照后向源逻辑卷写数据的流程和读快照的流程。使用常量数据块的方式中,包含快照后向源逻辑卷写数据的流程和读快照的流程。其中,两种方式中读快照的流程是相同的。
下面结合具体实例对本发明进行说明。
当需要区分有用数据和无用数据时,在快照前向源逻辑卷写数据时,在该流程中将数据写入源逻辑卷的情况记入一个写入标记表中,处理流程如图3所示:
步骤11、存储快照系统接收到对源逻辑卷写数据的命令。
步骤12、存储快照系统根据数据块大小进行分解,分解为多个数据块后依次处理每个数据块。
步骤13、从分解的数据块中取一个数据块进行处理。
步骤14、根据数据块的开始地址到源逻辑卷的写入标记表中查找该数据块对应的标志位,并置1。
步骤15、判断目前是否在处理最后一个数据块,如果是,转步骤16,如果不是,则转步骤13处理下一个数据块。
步骤16、完成对源逻辑卷的写命令。
当需要区分有用数据和无用数据时,做快照后向源逻辑卷写数据时,要根据数据是否是第一次修改及源逻辑卷被覆盖的数据是否为有用数据的情况进行处理,处理流程如图4所示:
步骤21、存储快照系统接收到对源逻辑卷写数据的命令。
步骤22、存储快照系统根据数据块大小进行分解,分解为多个数据块后依次处理每个数据块。
步骤23、从分解的数据块中取一个数据块进行处理。
步骤24、根据数据块的开始地址到快照的修改记录表中查找对应的修改记录。
步骤25、如果找到修改记录,表示该数据块已经被修改过,则转步骤23,接着处理下一个数据块。如果没有找到修改记录,则转步骤26。
步骤26、到源逻辑卷的写入标记表中查找该数据块对应的标志位。
步骤27、如果标志位为1,则转步骤28,否则转步骤32。
步骤28、向源逻辑卷发送读取该数据块的命令。
步骤29、向快照逻辑卷申请空间保存数据。
步骤30、将读取的数据写入快照逻辑卷中申请的位置。
步骤31、将该数据块在快照中保存的开始地址和在源逻辑卷中的开始地址保存到快照的修改记录表中,转步骤33。
步骤32、将该数据块在源逻辑卷中的开始地址和快照逻辑卷地址为-1保存到快照的修改记录表中。
步骤33、判断目前是否在处理最后一个数据块,如果是,转步骤34,如果不是,则转步骤23处理下一个数据块。
步骤34、如图3中所示的过程,完成对源逻辑卷的写命令。
将源逻辑卷中所有数据都为零的数据块认为是常量数据块。创建好逻辑卷之后,将逻辑卷上的所有数据初始化为零。做快照后,在保存被覆盖的数据时不保存常量数据块。该方法做快照后向源逻辑卷写数据的流程如图5所示:
步骤41、存储快照系统接收到对源逻辑卷写数据的命令。
步骤42、存储快照系统根据数据块大小进行分解,分解为多个数据块后依次处理每个数据块。
步骤43、从分解的数据块中取一个数据块进行处理。
步骤44、根据数据块的开始地址到快照的修改记录表中查找对应的修改记录。
步骤45、如果找到修改记录,表示该数据块已经被修改过,则转步骤43,接着处理下一个数据块。如果没有找到修改记录,则转步骤46。
步骤46、向源逻辑卷发送读取该数据块的命令。
步骤47、判断该数据块中所有数据是否都为零,如果都为零则转步骤51,否则转步骤48。
步骤48、向快照逻辑卷申请空间保存数据。
步骤49、将读取的数据写入快照逻辑卷中申请的位置。
步骤50、将该数据块在快照中保存的开始地址和在源逻辑卷中的开始地址保存到快照的修改记录表中,转步骤52。
步骤51、将该数据块在源逻辑卷中的开始地址和快照逻辑卷地址为-1保存到快照的修改记录表中。
步骤52、判断目前是否在处理最后一个数据块,如果是,转步骤53,如果不是,则转步骤43处理下一个数据块。
步骤53、如图3中所示的过程,完成对源逻辑卷的写命令。
读快照的步骤如图6所示:
步骤61、存储快照系统接收到对源逻辑卷读快照的命令。
步骤62、存储快照系统根据数据块大小进行分解,分解为多个数据块后依次处理每个数据块。
步骤63、从分解的数据块中取一个数据块进行处理。
步骤64、根据数据块的开始地址到快照的修改记录表中查找对应的修改记录。
步骤65、如果找到修改记录,表示该数据块已经被修改过,转步骤66,否则转步骤67。
步骤66、取修改记录表中的快照逻辑卷地址,判断地址是否为-1,如果是转步骤69,否则转步骤68。
步骤67、根据数据块开始地址到源逻辑卷中读取该数据块,读完后返回读结果,转步骤70。
步骤68、取修改记录表中的快照逻辑卷地址,到快照逻辑卷中读取该数据块,读完后返回读结果,转步骤70。
步骤69、设置该数据块中的所有数据为零,返回读结果。
步骤70、判断目前是否在处理最后一个数据块,如果是,则结束对快照的读命令,否则,转步骤63处理下一个数据块。
如图7所示,本发明的存储快照系统,包括:快照单元和控制单元,其中,
所述控制单元,用于通过读取写入标记表判断若源逻辑卷上的数据是无用数据,或判断若源逻辑卷上的数据常量数据块,则向快照单元发送不拷贝该数据的信息;其中,该控制单元是通过读取所述写入标记表区分源逻辑卷上的无用数据和有用数据;其中,该写入标记表用于记录写数据情况;
所述快照单元,用于接收所述控制单元发送的所述信息,并根据该信息快照所述源逻辑卷上的数据。
所述控制单元读取的所述写入标记表包含:源逻辑卷地址和标志位;其中,该源逻辑卷地址为数据块在源逻辑卷中的开始地址;该标志位用于记录该数据块是否被修改,若该数据块被修改,则其标志位设置为1;若该数据块未被修改,则其标志位设置为0。
所述控制单元通过读取所述写入标记表区分源逻辑卷上的无用数据和有用数据,是指:
所述控制单元根据读取的所述写入标记表,判断若所述源逻辑卷上数据块对应的标志位为1,则判定该数据块为有用数据;判断若所述源逻辑卷上数据块对应的标志位为0,则判定该数据块为无用数据;
所述控制单元判断所述源逻辑卷上的数据是常量数据块,是指:
所述控制单元是通过判断若所述源逻辑卷上的所述数据中所有数据都为0,确定该源逻辑卷上的所述数据是常量数据块。
综上所述,本发明通过不保存不必要的数据来节省实现快照所用的数据存储空间。在认定不必要的数据时,使用两种方法,一种方法是区分有用数据和无用数据,一种方法是将整个数据块都为零的数据块定义未常量数据块。在保存被覆盖的数据时,对无用数据和常量数据块都不进行保存。在使用该方案保存快照数据,对空间的节省情况与源逻辑卷无用数据或者常量数据占有比率和该部分数据被修改的比率相关。如果源逻辑卷上有20%的无用数据,且该部分无用数据有50%被修改,则可节省10%的存储空间。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (11)
1、一种保存快照数据的方法,其特征在于,包括:
存储快照系统快照源逻辑卷上的数据;
所述存储快照系统判断若所述数据是无用数据或常量数据块,则不拷贝该数据;其中,该存储快照系统是通过写入标记表区分所述源逻辑卷上的无用数据和有用数据;其中,该写入标记表用于记录写数据情况。
2、如权利要求1所述的方法,其特征在于,
所述写入标记表包含:源逻辑卷地址和标志位;其中,该源逻辑卷地址为数据块在源逻辑卷中的开始地址;该标志位用于记录该数据块是否被修改,若该数据块被修改,则其标志位设置为1;若该数据块未被修改,则其标志位设置为0;
所述存储快照系统通过写入标记表区分源逻辑卷上的无用数据和有用数据,是指:
所述存储快照系统根据所述写入标记表判断若所述源逻辑卷上数据块对应的标志位为1,则判定该数据块为有用数据;判断若所述源逻辑卷上数据块对应的标志位为0,则判定该数据块为无用数据。
3、如权利要求1所述的方法,其特征在于,
所述存储快照系统判断所述源逻辑卷上的所述数据是常量数据块,是指:
所述存储快照系统是通过判断若所述源逻辑卷上的所述数据中所有数据都为0,确定该源逻辑卷上的所述数据是常量数据块。
4、如权利要求2所述的方法,其特征在于,
当所述存储快照系统快照所述源逻辑卷上的数据是快照前向所述源逻辑卷写数据,则分为以下步骤:
步骤11、所述存储快照系统对源逻辑卷启动写数据的命令,根据数据块大小进行分解,分解为多个数据块后依次处理每个数据块;
步骤12、所述存储快照系统从分解后的数据块中取一个数据块进行处理;
步骤13、所述存储快照系统根据数据块的开始地址到所述源逻辑卷的所述写入标记表中查找该数据块对应的标志位,并将该标志位设置为1;
步骤14、所述存储快照系统判断当前处理的数据块是否是最后一个数据块,如果是,则完成对所述源逻辑卷的写数据过程;否则执行步骤12。
5、如权利要求1所述的方法,其特征在于,
所述存储快照系统快照所述源逻辑卷上的数据时,还包括:
所述存储快照系统对每个快照保存一个修改记录表,及在快照逻辑卷中分配数据区域用于保存做快照后所述源逻辑卷中被覆盖的数据;
所述修改记录表包含:源逻辑卷地址和快照逻辑卷地址;所述源逻辑卷地址是每个数据块在源逻辑卷中的开始地址,所述快照逻辑卷地址是数据块被覆盖的数据在快照逻辑卷中被保存的开始地址;所述修改记录表中记录的未进行拷贝的数据的快照逻辑卷地址为-1;其中,在读快照时,若所述快照逻辑卷地址为-1时,则返回该数据块的所有数据为0。
6、如权利要求5所述的方法,其特征在于,
当所述存储快照系统快照所述源逻辑卷上的数据是快照后向所述源逻辑卷写数据,则分为以下步骤:
步骤21、所述存储快照系统对源逻辑卷启动写数据的命令,根据数据块大小进行分解,分解为多个数据块后依次处理每个数据块;
步骤22、所述存储快照系统从分解后的数据块中取一个数据块进行处理;
步骤23、所述存储快照系统根据数据块的开始地址到快照的修改记录表中查找对应的修改记录,若找到该修改记录,则执行步骤22;否则执行步骤24。
步骤24、所述存储快照系统到所述源逻辑卷的所述写入标记表中查找该数据块对应的标志位,判断若该标志位为1,则执行步骤25,否则执行步骤26;
步骤25、所述存储快照系统向所述源逻辑卷发送读取所述数据块的命令,向快照逻辑卷申请空间保存数据,将读取的数据写入快照逻辑卷中申请的位置,将该数据块在快照中保存的开始地址和在源逻辑卷中的开始地址保存到快照的修改记录表中,执行步骤27;
步骤26、所述存储快照系统将该数据块在所述源逻辑卷中的开始地址和快照逻辑卷地址设置为-1,并保存到快照的修改记录表中;
步骤27、所述存储快照系统判断判断当前处理的数据块是否是最后一个数据块,如果是,则完成对所述源逻辑卷的写数据过程,否则执行步骤22。
7、如权利要求6所述的方法,其特征在于,
所述存储快照系统根据数据块的开始地址到快照的修改记录表中查找对应的修改记录,若找到该修改记录后,还包括步骤:
所述存储快照系统向源逻辑卷发送读取所述数据块的命令,通过判断该数据块中所有数据是否都为0,如果是,则将该数据块在源逻辑卷中的开始地址和快照逻辑卷地址设置为-1,并保存到快照的修改记录表中,直至处理到最后一个数据块,完成对源逻辑卷的写数据过程;
否则,所述存储快照系统向快照逻辑卷申请空间保存数据,将读取的数据写入快照逻辑卷中申请的位置,将该数据块在快照中保存的开始地址和在源逻辑卷中的开始地址保存到快照的修改记录表中,直至处理到最后一个数据块,完成对源逻辑卷的写数据过程。
8、如权利要求5所述的方法,其特征在于,
当所述存储快照系统快照所述源逻辑卷上的数据是读快照的过程,则分为以下步骤:
步骤31、所述存储快照系统对所述源逻辑卷启动读快照的命令,根据数据块大小进行分解,分解为多个数据块后依次处理每个数据块;
步骤32、所述存储快照系统从分解的数据块中取一个数据块进行处理,根据数据块的开始地址到快照的修改记录表中查找对应的修改记录,如果找到该数据块的修改记录,则执行步骤33,否则执行步骤34;
步骤33、所述存储快照系统取所述数据块的修改记录表中的快照逻辑卷地址,判断该快照逻辑卷地址是否为-1,如果是,则执行步骤36,否则执行步骤35;
步骤34、所述存储快照系统根据所述数据块开始地址到源逻辑卷中读取该数据块,读完后返回读结果,执行步骤37;
步骤35、所述存储快照系统取所述数据块的修改记录表中的快照逻辑卷地址,到快照逻辑卷中读取该数据块,读完后返回读结果,执行步骤37;
步骤36、所述存储快照系统设置所述数据块中的所有数据为0,返回读结果;
步骤37、所述存储快照系统判断当前处理的数据块是否是最后一个数据块,如果是,则完成读快照的过程,否则,执行步骤32。
9、一种存储快照系统,其特征在于,
包括:快照单元和控制单元,其中,
所述控制单元,用于通过读取写入标记表判断若源逻辑卷上的数据是无用数据,或判断若源逻辑卷上的数据是常量数据块,则向快照单元发送不拷贝该数据的信息;其中,该控制单元是通过读取所述写入标记表区分源逻辑卷上的无用数据和有用数据;其中,该写入标记表用于记录写数据情况;
所述快照单元,用于接收所述控制单元发送的所述信息,并根据该信息快照所述源逻辑卷上的数据。
10、如权利要求9所述的存储快照系统,其特征在于,
所述控制单元读取的所述写入标记表包含:源逻辑卷地址和标志位;其中,该源逻辑卷地址为数据块在源逻辑卷中的开始地址;该标志位用于记录该数据块是否被修改,若该数据块被修改,则其标志位设置为1;若该数据块未被修改,则其标志位设置为0;
所述控制单元通过读取所述写入标记表区分源逻辑卷上的无用数据和有用数据,是指:
所述控制单元根据读取的所述写入标记表,判断若所述源逻辑卷上数据块对应的标志位为1,则判定该数据块为有用数据;判断若所述源逻辑卷上数据块对应的标志位为0,则判定该数据块为无用数据。
11、如权利要求9所述的存储快照系统,其特征在于,
所述控制单元判断所述源逻辑卷上的数据是常量数据块,是指:
所述控制单元是通过判断若所述源逻辑卷上的所述数据中所有数据都为0,确定该源逻辑卷上的所述数据是常量数据块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101778090A CN101661415B (zh) | 2009-09-21 | 2009-09-21 | 一种保存快照数据的方法及存储快照系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101778090A CN101661415B (zh) | 2009-09-21 | 2009-09-21 | 一种保存快照数据的方法及存储快照系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101661415A true CN101661415A (zh) | 2010-03-03 |
CN101661415B CN101661415B (zh) | 2012-07-11 |
Family
ID=41789459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101778090A Active CN101661415B (zh) | 2009-09-21 | 2009-09-21 | 一种保存快照数据的方法及存储快照系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101661415B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101917474A (zh) * | 2010-08-12 | 2010-12-15 | 中兴通讯股份有限公司 | 文件的下载方法、系统及装置 |
CN102971698A (zh) * | 2012-06-29 | 2013-03-13 | 华为技术有限公司 | 快照数据处理方法及系统、存储系统、快照代理 |
CN103365926A (zh) * | 2012-03-30 | 2013-10-23 | 伊姆西公司 | 在文件系统中用于保存快照的方法和装置 |
CN103955413A (zh) * | 2014-04-11 | 2014-07-30 | 重庆纳跃信息科技有限公司 | 一种基于文件局部修改的文件快照还原方法 |
WO2015101083A1 (zh) * | 2013-12-30 | 2015-07-09 | 华为技术有限公司 | 一种存储数据的保护方法及装置 |
CN105912425A (zh) * | 2016-04-08 | 2016-08-31 | 杭州宏杉科技有限公司 | 快照映像建立、回滚方法以及装置 |
CN109086333A (zh) * | 2018-07-04 | 2018-12-25 | 联想(北京)有限公司 | 用于数据块的处理方法和系统 |
CN112639715A (zh) * | 2018-10-03 | 2021-04-09 | 谷歌有限责任公司 | 使用自由存储空间维护块级快照 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009506399A (ja) * | 2005-06-24 | 2009-02-12 | シンクソート インコーポレイテッド | バックアップイメージを仮想化するシステム及び方法 |
JP4900811B2 (ja) * | 2007-03-30 | 2012-03-21 | 株式会社日立製作所 | 記憶システムおよび記憶制御方法 |
CN101140536B (zh) * | 2007-05-21 | 2012-09-05 | 中兴通讯股份有限公司 | 一种支持级联快照的快照系统及其快照处理方法 |
CN100565530C (zh) * | 2007-12-17 | 2009-12-02 | 中国科学院计算技术研究所 | 一种快照系统及其使用方法 |
CN101430657B (zh) * | 2008-11-17 | 2011-10-26 | 华中科技大学 | 一种连续数据保护方法 |
-
2009
- 2009-09-21 CN CN2009101778090A patent/CN101661415B/zh active Active
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012019388A1 (zh) * | 2010-08-12 | 2012-02-16 | 中兴通讯股份有限公司 | 文件的下载方法、系统及装置 |
CN101917474B (zh) * | 2010-08-12 | 2015-08-12 | 中兴通讯股份有限公司 | 文件的下载方法、系统及装置 |
CN101917474A (zh) * | 2010-08-12 | 2010-12-15 | 中兴通讯股份有限公司 | 文件的下载方法、系统及装置 |
CN103365926B (zh) * | 2012-03-30 | 2017-10-24 | 伊姆西公司 | 在文件系统中用于保存快照的方法和装置 |
CN103365926A (zh) * | 2012-03-30 | 2013-10-23 | 伊姆西公司 | 在文件系统中用于保存快照的方法和装置 |
CN102971698A (zh) * | 2012-06-29 | 2013-03-13 | 华为技术有限公司 | 快照数据处理方法及系统、存储系统、快照代理 |
CN102971698B (zh) * | 2012-06-29 | 2014-07-09 | 华为技术有限公司 | 快照数据处理方法及系统、存储系统、快照代理 |
WO2015101083A1 (zh) * | 2013-12-30 | 2015-07-09 | 华为技术有限公司 | 一种存储数据的保护方法及装置 |
CN103955413A (zh) * | 2014-04-11 | 2014-07-30 | 重庆纳跃信息科技有限公司 | 一种基于文件局部修改的文件快照还原方法 |
CN105912425A (zh) * | 2016-04-08 | 2016-08-31 | 杭州宏杉科技有限公司 | 快照映像建立、回滚方法以及装置 |
CN105912425B (zh) * | 2016-04-08 | 2019-04-16 | 杭州宏杉科技股份有限公司 | 快照映像建立、回滚方法以及装置 |
CN109086333A (zh) * | 2018-07-04 | 2018-12-25 | 联想(北京)有限公司 | 用于数据块的处理方法和系统 |
CN109086333B (zh) * | 2018-07-04 | 2022-03-25 | 联想(北京)有限公司 | 用于数据块的处理方法和系统 |
CN112639715A (zh) * | 2018-10-03 | 2021-04-09 | 谷歌有限责任公司 | 使用自由存储空间维护块级快照 |
US12050552B2 (en) | 2018-10-03 | 2024-07-30 | Google Llc | Maintaining block level snapshots using free storage space |
CN112639715B (zh) * | 2018-10-03 | 2024-10-29 | 谷歌有限责任公司 | 使用自由存储空间维护块级快照 |
Also Published As
Publication number | Publication date |
---|---|
CN101661415B (zh) | 2012-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101661415B (zh) | 一种保存快照数据的方法及存储快照系统 | |
CN102012852B (zh) | 一种增量写快照的实现方法 | |
CN102063377B (zh) | 存储介质的数据存取管理方法及存储控制器 | |
CN102299904B (zh) | 一种实现业务数据备份的系统及方法 | |
CN107391774B (zh) | 基于重复数据删除的日志文件系统的垃圾回收方法 | |
CN102541757B (zh) | 写缓存方法、缓存同步方法和装置 | |
US20100125751A1 (en) | System and method for recovering solid state drive data | |
KR101678868B1 (ko) | 플래시 주소 변환 장치 및 그 방법 | |
CN102096561B (zh) | 分层数据存储处理方法、装置以及存储设备 | |
CN103392164A (zh) | 存储系统和存储控制方法 | |
CN102591790B (zh) | 基于固态硬盘的数据存储快照实现方法及固态硬盘 | |
CN101483067A (zh) | 快闪存储器数据写入方法及其快闪存储器控制器 | |
CN103049224B (zh) | 将数据导入物理磁带的方法、装置和系统 | |
US20080126683A1 (en) | Memory system | |
CN102890655B (zh) | 存储器储存装置、其存储器控制器与有效数据识别方法 | |
CN103544110A (zh) | 一种基于固态盘的块级连续数据保护方法 | |
EP2317428A3 (en) | Automatically linking partitions on a tape media device | |
US8019953B2 (en) | Method for providing atomicity for host write input/outputs (I/Os) in a continuous data protection (CDP)-enabled volume using intent log | |
CN106598493A (zh) | 一种固态硬盘地址映射表管理方法 | |
CN105718206A (zh) | 能够感知raid的闪存转换层及其实现方法 | |
CN104239438A (zh) | 基于分离存储的文件信息存储方法和文件信息读写方法 | |
KR101996641B1 (ko) | 메모리 오버레이 장치 및 방법 | |
SG126863A1 (en) | Recording apparatus | |
Ma et al. | Alleviating hot data write back effect for shingled magnetic recording storage systems | |
US20090030954A1 (en) | Management of multiple virtual data copies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |