专利名称:一种保存快照数据的方法及存储快照系统的制作方法
技术领域:
本发明涉及^f兹盘阵列技术领域,尤其涉及一种保存快照数据的方法及存 储快照系统。
背景技术:
在数字时代,公司电子化存储的关键业务数据日益增长。当发生文件丢 失、数据损坏或者用户误才喿作时必须能够筒单快速恢复。快照技术为此提供 了解决方案,方便实现数据备份。
SNIA (存储网络行业协会)对快照(Snapshot)的定义是关于指定数 据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始 的时间点)的映4象。
在该快照方法中,将进行读写的逻辑巻称为源逻辑巻,实现源逻辑巻快 照增加的辅助逻辑巻称为快照逻辑巻。差异复制是建立快照中方便快捷的方 式,差异复制包4舌两种方法,写拷贝(Copy-on-Write )和重定向写 (Redirect-on-Write )。写拷贝方法是每次接收写操作时,先将源逻辑巻中 被覆盖的数据拷贝到快照逻辑巻,然后将数据写到源逻辑巻。重定向写方法 是每次接收写操作时,直接将数据写到快照逻辑巻中。在该快照系统中,处 理数据的单位为一个条带大小的数据,称为一个数据块。
在实际应用中发现,访问磁盘空间时,大多数情况下都是逐步向磁盘上 写数据,而不是一次性写满。在磁盘空间未写满的情况下,可以认为空闲空 间上的数据是无用数据,而在做快照时因为无法区分有用数据和无用数据, 因此也将这些无用数据当作旧数据保存起来。此种情况下是将数据区分为有 用数据和无用数据进行对待。另一种情况是在使用前对硬盘进行初始化,将 所有数据都初始化为零,在快照的处理过程中,将所有数据都为零的数据块 认为是常量数据块,也可认为是前一种情况中的无用数据。
权利要求
1、一种保存快照数据的方法,其特征在于,包括存储快照系统快照源逻辑卷上的数据;所述存储快照系统判断若所述数据是无用数据或常量数据块,则不拷贝该数据;其中,该存储快照系统是通过写入标记表区分所述源逻辑卷上的无用数据和有用数据;其中,该写入标记表用于记录写数据情况。
2、 如权利要求l所述的方法,其特征在于,所述写入标记表包含源逻辑巻地址和标志位;其中,该源逻辑巻地址 为数据块在源逻辑巻中的开始地址;该标志位用于记录该数据块是否被修 改,若该数据块被修改,则其标志位设置为1;若该数据块未被修改,则其 标志位设置为0;所述存储快照系统通过写入标记表区分源逻辑巻上的无用数据和有用 数据,是指所述存储快照系统根据所述写入标记表判断若所述源逻辑巻上数据块 对应的标志位为l,则判定该数据块为有用数据;判断若所述源逻辑巻上数 据块对应的标志位为0,则判定该数据块为无用数据。
3、 如权利要求l所述的方法,其特征在于,所述存储快照系统判断所述源逻辑巻上的所述数据是常量数据块,是指所述存储快照系统是通过判断若所述源逻辑巻上的所述数据中所有数 据都为0,确定该源逻辑巻上的所述数据是常量数据块。
4、 如权利要求2所述的方法,其特征在于,当所述存储快照系统快照所述源逻辑巻上的数据是快照前向所述源逻 辑巻写数据,则分为以下步骤步骤11、所述存储快照系统对源逻辑巻启动写数据的命令,根据数据 块大小进行分解,分解为多个数据块后依次处理每个数据块;步骤12、所述存储快照系统从分解后的数据块中取一个数据块进行处理;步骤13、所述存储快照系统根据数据块的开始地址到所述源逻辑巻的 所述写入标记表中查找该数据块对应的标志位,并将该标志位设置为1;步骤14、所述存储快照系统判断当前处理的数据块是否是最后一个数 据块,如果是,则完成对所述源逻辑巻的写数据过程;否则执行步骤12。
5、 如权利要求l所述的方法,其特征在于,所述存储快照系统快照所述源逻辑巻上的数据时,还包括所述存储快照系统对每个快照保存一个修改记录表,及在快照逻辑巻中 分配数据区域用于保存做快照后所述源逻辑巻中净皮覆盖的数据;所述修改记录表包含源逻辑巻地址和快照逻辑巻地址;所述源逻辑巻 地址是每个数据块在源逻辑巻中的开始地址,所述快照逻辑巻地址是数据块 被覆盖的数据在快照逻辑巻中被保存的开始地址;所述修改记录表中记录的 未进行拷贝的数据的快照逻辑巻地址为-l;其中,在读快照时,若所述快照 逻辑巻地址为-1时,则返回该数据块的所有数据为0。
6、 如权利要求5所述的方法,其特征在于,当所述存储快照系统快照所述源逻辑巻上的数据是快照后向所述源逻 辑巻写lt据,则分为以下步骤步骤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,确定该源逻辑巻上的所述数据是常量数据块。
全文摘要
本发明公开了一种保存快照数据的方法及存储快照系统,包括存储快照系统快照源逻辑卷上的数据;存储快照系统判断若所述数据是无用数据或常量数据块,则不拷贝该数据;其中,该存储快照系统是通过写入标记表区分所述源逻辑卷上的无用数据和有用数据;其中,该写入标记表用于记录写数据情况。应用本发明,解决了快照中保存无用数据或者常量数据占用存储空间的问题。
文档编号G06F11/14GK101661415SQ200910177809
公开日2010年3月3日 申请日期2009年9月21日 优先权日2009年9月21日
发明者谭海棠, 陈韵霞 申请人:中兴通讯股份有限公司