CN106326040A - 一种快照元数据管理方法和装置 - Google Patents

一种快照元数据管理方法和装置 Download PDF

Info

Publication number
CN106326040A
CN106326040A CN201610743462.1A CN201610743462A CN106326040A CN 106326040 A CN106326040 A CN 106326040A CN 201610743462 A CN201610743462 A CN 201610743462A CN 106326040 A CN106326040 A CN 106326040A
Authority
CN
China
Prior art keywords
snapshot
value
tree
block number
key
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
Application number
CN201610743462.1A
Other languages
English (en)
Other versions
CN106326040B (zh
Inventor
刘志勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Wave Intelligent Technology Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201610743462.1A priority Critical patent/CN106326040B/zh
Publication of CN106326040A publication Critical patent/CN106326040A/zh
Application granted granted Critical
Publication of CN106326040B publication Critical patent/CN106326040B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata

Abstract

本申请公开了一种快照元数据管理方法和装置,该方法包括设置key1‑key2‑value的二级树结构,利用所述key1保存快照ID并构成第一级树,利用所述key2保存源卷的块号并构成第二级树,利用所述value保存数据卷的块号;当进行查找时,进行第一级查找,找到快照对应的子树;进行第二级查找,找到对应的value值。本申请提供的上述方法和装置,能够提高元数据执行效率,缩短快照删除时需要消耗的时间,同时也可保证在进行快照查询操作时不会有额外操作,因此不会引起额外的性能损耗。

Description

一种快照元数据管理方法和装置
技术领域
本发明属于数据存储技术领域,特别是涉及一种快照元数据管理方法和装置。
背景技术
在存储领域,快照技术是存储服务器中的一个重要的组成部分,在一般的存储系统,特别是中高端存储系统中,快照功能是一个必备功能,通过提升快照技术的性能,能够有效提升整个存储系统的性能,从而更好地满足用户需求。
当前快照技术从原理上主要是COW机制和ROW机制。COW(copy on write)是写时复制机制,它的主要特点是打完快照后,当有新的IO下发时,先将源卷的内容拷贝到数据卷,而后再将io的内容写到源卷中;而ROW(redirect on write)是写时重定向机制,则是将新的数据写到一个新位置,读取数据时,不直接到原来的位置去读,而是要先查找定位到这块数据新的位置后,在从新的位置获得数据。总的来说,COW不影响读性能,但会影响写性能;而ROW机制则对写性能相对较小,但对读性能有很大影响。在实际使用中,由于一般情况下读数据的频率往往会大于写数据的频率,因而COW机制的性能要优于ROW机制,因此使用COW机制的使用也更广泛。
对于快照元数据的管理一般采用B+树来实现,B+树由若干结点构成一个树形结构,从而将数据有效地管理起来。B+树中的数据结构由key-value对组成,其中每个结点中包含若干key-value对,在进行数据查找时,从树的根结点起,根据key值逐级找到最下端的叶子结点,从中找到满足key值的key-value对,从value值中读出所需的数据。
在COW机制的快照元数据结构中,由key值保存快照ID和源卷块号,由value值来保存数据卷块号。每当打完一个快照后,产生一个快照ID,而当有新IO要写入源卷的一个块时,源卷中这个块的数据会先拷贝到数据卷的一个块中,数据卷的这个块的块号即为value值,而快照ID和源卷块的快照构成key值,key值为64位的数据,其中快照ID占用前12位,源卷快照占用后48位,因此发生一次COW操作,就会产生一个key-value对,也可以叫做一个例外信息。如果出现大量的COW操作,相应地就会形成大量的key-value对,也就是大量的例外信息,而在需要删除快照时,则需要逐个删除树中的这些key-value对,一旦key-value对的数量过大,就会导致删除快照的时间非常长,从而影响删除效率。
发明内容
为解决上述问题,本发明提供了一种快照元数据管理方法和装置,能够提高元数据执行效率,缩短快照删除时需要消耗的时间,同时也可保证在进行快照查询操作时不会有额外操作,因此不会引起额外的性能损耗。
本发明提供的一种快照元数据管理方法,包括:
设置key1-key2-value的二级树结构,利用所述key1保存快照ID并构成第一级树,利用所述key2保存源卷的块号并构成第二级树,利用所述value保存数据卷的块号;
当进行查找时,进行第一级查找,找到快照对应的子树;
进行第二级查找,找到对应的value值。
优选的,在上述快照元数据管理方法中,
当进行删除时,从所述第一级树中将需要删除的快照所对应的快照ID的子树根结点删除,并释放所述子树的其他结点。
优选的,在上述快照元数据管理方法中,
所述二级树结构具体包括:
所述第一级树中key-value对的key值为所述快照ID,value值为所述快照ID对应的子树根结点;
所述第二级树中key-value的key值为源卷块号,叶子结点中的value为对应的数据卷的块号。
优选的,在上述快照元数据管理方法中,
设置所述源卷的块号的位数为64。
本发明提供的一种快照元数据管理装置,包括:
设置单元,用于设置key1-key2-value的二级树结构,利用所述key1保存快照ID并构成第一级树,利用所述key2保存源卷的块号并构成第二级树,利用所述value保存数据卷的块号;
第一级查找单元,用于当进行查找时,进行第一级查找,找到快照对应的子树;
第二级查找单元,用于进行第二级查找,找到对应的value值。
优选的,在上述快照元数据管理装置中,
还包括删除单元,用于当进行删除时,从所述第一级树中将需要删除的快照所对应的快照ID的子树根结点删除,并释放所述子树中的其他结点。
优选的,在上述快照元数据管理装置中,
所述设置单元具体用于设置所述第一级树中key-value对的key值为所述快照ID,value值为所述快照ID对应的子树根结点;
设置所述第二级树中key-value的key值为源卷块号,叶子结点中的value为对应的数据卷的块号。
优选的,在上述快照元数据管理装置中,
所述设置单元还具体用于设置所述源卷的块号的位数为64。
通过上述描述可知,本发明提供的上述快照元数据管理方法和装置,由于先设置key1-key2-value的二级树结构,利用所述key1保存快照ID并构成第一级树,利用所述key2保存源卷的块号并构成第二级树,利用所述value保存数据卷的块号,然后,当进行查找时,进行第一级查找,找到快照对应的子树,再进行第二级查找,找到对应的value值,因此能够提高元数据执行效率,缩短快照删除时需要消耗的时间,同时也可保证在进行快照查询操作时不会有额外操作,因此不会引起额外的性能损耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的第一种快照元数据管理方法的示意图;
图2为采用二级树的元数据组织结构在删除时的操作示意图;
图3为本申请实施例提供的第一种快照元数据管理装置的示意图。
具体实施方式
本发明的核心思想在于提供一种快照元数据管理方法和装置,能够提高元数据执行效率,缩短快照删除时需要消耗的时间,同时也可保证在进行快照查询操作时不会有额外操作,因此不会引起额外的性能损耗。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供的第一种快照元数据管理方法如图1所示,图1为本申请实施例提供的第一种快照元数据管理方法的示意图。该方法包括如下步骤:
S1:设置key1-key2-value的二级树结构,利用所述key1保存快照ID并构成第一级树,利用所述key2保存源卷的块号并构成第二级树,利用所述value保存数据卷的块号;
在该步骤中,将快照元数据由现有技术中的一级B+树管理方式,改为采用二级B+树管理的方式,这样就相当于每个快照成为一个独立的子树,而不是所有快照混在同一个树中,能够便于删除操作。
S2:当进行查找时,进行第一级查找,找到快照对应的子树;
S3:进行第二级查找,找到对应的value值。
需要注意的是,虽然改为了二级查找,但整个B+树中value的总数没变,因此实际并不会对查找效率造成影响。
采用这种方式,在进行快照删除操作时(假定要删除快照的快照ID为3),就不必像之前那样,需要将树中所有快照ID为3的key-value对都删除,并将保存这些key-value的结点释放;而只需要从第一级树中将快照ID为3的子树的根结点删除,并释放掉该子树中结点即可,因此相当于实际只删除一个key-value对,从而极大地提高了删除效率。对于改进后的方法可以类比地理解为格盘时由完全格式化方式改为快速格式化方式。
通过上述描述可知,本申请实施例提供的上述快照元数据管理方法,由于先设置key1-key2-value的二级树结构,利用所述key1保存快照ID并构成第一级树,利用所述key2保存源卷的块号并构成第二级树,利用所述value保存数据卷的块号,然后,当进行查找时,进行第一级查找,找到快照对应的子树,再进行第二级查找,找到对应的value值,因此能够提高元数据执行效率,缩短快照删除时需要消耗的时间,同时也可保证在进行快照查询操作时不会有额外操作,因此不会引起额外的性能损耗。
本申请实施例提供的第二种快照元数据管理方法,是在上述第一种快照元数据管理方法的基础上,还包括如下技术特征:
当进行删除时,从所述第一级树中将需要删除的快照所对应的快照ID的子树根结点删除,并释放所述子树的其他结点。
如图2所示,图2为采用二级树的元数据组织结构在删除时的操作示意图,在这种情况下,在删除快照时,只需从第一级树中删除子树根节点对应的key-value,从而使整个子树从树中移除,而不必逐个删除子树中的key-value,子树对应的结点则可以直接释放掉,可见,这种方式极大地降低删除快照操作的耗时。
本申请实施例提供的第三种快照元数据管理方法,是在上述第二种快照元数据管理方法的基础上,还包括如下技术特征:
所述二级树结构具体包括:
所述第一级树中key-value对的key值为所述快照ID,value值为所述快照ID对应的子树根结点;
所述第二级树中key-value的key值为源卷块号,叶子结点中的value为对应的数据卷的块号。
本申请实施例提供的第四种快照元数据管理方法,是在上述第三种快照元数据管理方法的基础上,还包括如下技术特征:
设置所述源卷的块号的位数为64。
将快照ID和源卷块号由一个key值剥离为两个key值,从而使源卷的块号由48位来记录改为由64位来记录,从而极大地拓展了源卷块号的范围,进而增加了源卷的最大容量限制。
本申请实施例提供的第一种快照元数据管理装置如图3所示,图3为本申请实施例提供的第一种快照元数据管理装置的示意图。该装置包括:
设置单元301,用于设置key1-key2-value的二级树结构,利用所述key1保存快照ID并构成第一级树,利用所述key2保存源卷的块号并构成第二级树,利用所述value保存数据卷的块号;
第一级查找单元302,用于当进行查找时,进行第一级查找,找到快照对应的子树;
第二级查找单元303,用于进行第二级查找,找到对应的value值。
通过上述描述可知,本申请实施例提供的上述快照元数据管理装置,能够提高元数据执行效率,缩短快照删除时需要消耗的时间,同时也可保证在进行快照查询操作时不会有额外操作,因此不会引起额外的性能损耗。
本申请实施例提供的第二种快照元数据管理装置,是在上述第一种快照元数据管理装置的基础上,还包括如下技术特征:
还包括删除单元,用于当进行删除时,从所述第一级树中将需要删除的快照所对应的快照ID的子树根结点删除,并释放所述子树中的其他结点。
该装置调整了元数据对应的B+树结构,使得元数据管理更加高效,并极大地提高了快照删除的效率,增强了系统性能和用户体验;同时,修改后对于例外信息的插入和插叙等的性能几乎不受影响,总体上使元数据的管理更加方便有效。
本申请实施例提供的第三种快照元数据管理装置,是在上述第二种快照元数据管理装置的基础上,还包括如下技术特征:
所述设置单元具体用于设置所述第一级树中key-value对的key值为所述快照ID,value值为所述快照ID对应的子树根结点;
设置所述第二级树中key-value的key值为源卷块号,叶子结点中的value为对应的数据卷的块号。
本申请实施例提供的第四种快照元数据管理装置,是在上述第三种快照元数据管理装置的基础上,还包括如下技术特征:
所述设置单元还具体用于设置所述源卷的块号的位数为64。
将快照ID和源卷块号由一个key值剥离为两个key值,从而使源卷的块号由48位来记录改为由64位来记录,从而极大地拓展了源卷块号的范围,进而增加了源卷的最大容量限制。
综上所述,本申请实施例提供的上述方法和装置,在快照通常的元数据结构的基础上进行了改进优化,将B+树由一级树方式改为二级树方式,从而提高了元数据管理的效率,特别是极大地降低删除快照的耗时,而且对于元数据算法结构的改动量不太大,易于修改推行,不会造成大的成本开销,有很好的可行性。另外,由于快照删除效率的提高,降低了后台用于快照删除的时间和性能损耗,从而间接提高了整个系统的效率,并减少了对存储系统运行过程中其他功能的干扰。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种快照元数据管理方法,其特征在于,包括:
设置key1-key2-value的二级树结构,利用所述key1保存快照ID并构成第一级树,利用所述key2保存源卷的块号并构成第二级树,利用所述value保存数据卷的块号;
当进行查找时,进行第一级查找,找到快照对应的子树;
进行第二级查找,找到对应的value值。
2.根据权利要求1所述的快照元数据管理方法,其特征在于,
当进行删除时,从所述第一级树中将需要删除的快照所对应的快照ID的子树根结点删除,并释放所述子树的其他结点。
3.根据权利要求2所述的快照元数据管理方法,其特征在于,所述二级树结构具体包括:
所述第一级树中key-value对的key值为所述快照ID,value值为所述快照ID对应的子树根结点;
所述第二级树中key-value的key值为源卷块号,叶子结点中的value为对应的数据卷的块号。
4.根据权利要求3所述的快照元数据管理方法,其特征在于,还包括:
设置所述源卷的块号的位数为64。
5.一种快照元数据管理装置,其特征在于,包括:
设置单元,用于设置key1-key2-value的二级树结构,利用所述key1保存快照ID并构成第一级树,利用所述key2保存源卷的块号并构成第二级树,利用所述value保存数据卷的块号;
第一级查找单元,用于当进行查找时,进行第一级查找,找到快照对应的子树;
第二级查找单元,用于进行第二级查找,找到对应的value值。
6.根据权利要求5所述的快照元数据管理装置,其特征在于,
还包括删除单元,用于当进行删除时,从所述第一级树中将需要删除的快照所对应的快照ID的子树根结点删除,并释放所述子树中的其他结点。
7.根据权利要求6所述的快照元数据管理装置,其特征在于,所述设置单元具体用于设置所述第一级树中key-value对的key值为所述快照ID,value值为所述快照ID对应的子树根结点;
设置所述第二级树中key-value的key值为源卷块号,叶子结点中的value为对应的数据卷的块号。
8.根据权利要求7所述的快照元数据管理装置,其特征在于,所述设置单元还具体用于设置所述源卷的块号的位数为64。
CN201610743462.1A 2016-08-27 2016-08-27 一种快照元数据管理方法和装置 Active CN106326040B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610743462.1A CN106326040B (zh) 2016-08-27 2016-08-27 一种快照元数据管理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610743462.1A CN106326040B (zh) 2016-08-27 2016-08-27 一种快照元数据管理方法和装置

Publications (2)

Publication Number Publication Date
CN106326040A true CN106326040A (zh) 2017-01-11
CN106326040B CN106326040B (zh) 2019-12-31

Family

ID=57791304

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610743462.1A Active CN106326040B (zh) 2016-08-27 2016-08-27 一种快照元数据管理方法和装置

Country Status (1)

Country Link
CN (1) CN106326040B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107291579A (zh) * 2017-07-05 2017-10-24 郑州云海信息技术有限公司 一种基于静态子树分区的元数据集群文件快照方法
CN107480242A (zh) * 2017-08-10 2017-12-15 郑州云海信息技术有限公司 一种创建文件系统快照树的方法及系统
CN109324929A (zh) * 2018-09-17 2019-02-12 郑州云海信息技术有限公司 一种快照创建方法、装置、设备及可读存储介质
CN110018983A (zh) * 2017-09-27 2019-07-16 华为技术有限公司 一种元数据查询方法及装置
WO2022021865A1 (zh) * 2020-07-29 2022-02-03 苏州浪潮智能科技有限公司 一种数据结构树校验方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080046476A1 (en) * 2006-08-18 2008-02-21 Anderson Robert J Systems and methods for a snapshot of data
CN101178677A (zh) * 2007-11-09 2008-05-14 中国科学院计算技术研究所 一种计算机文件系统的快照方法
CN102968381A (zh) * 2012-11-19 2013-03-13 浪潮电子信息产业股份有限公司 一种利用固态硬盘提高快照性能的方法
CN103688257A (zh) * 2012-11-27 2014-03-26 华为技术有限公司 元数据管理方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080046476A1 (en) * 2006-08-18 2008-02-21 Anderson Robert J Systems and methods for a snapshot of data
CN101178677A (zh) * 2007-11-09 2008-05-14 中国科学院计算技术研究所 一种计算机文件系统的快照方法
CN102968381A (zh) * 2012-11-19 2013-03-13 浪潮电子信息产业股份有限公司 一种利用固态硬盘提高快照性能的方法
CN103688257A (zh) * 2012-11-27 2014-03-26 华为技术有限公司 元数据管理方法和装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107291579A (zh) * 2017-07-05 2017-10-24 郑州云海信息技术有限公司 一种基于静态子树分区的元数据集群文件快照方法
CN107291579B (zh) * 2017-07-05 2020-03-31 郑州云海信息技术有限公司 一种基于静态子树分区的元数据集群文件快照方法
CN107480242A (zh) * 2017-08-10 2017-12-15 郑州云海信息技术有限公司 一种创建文件系统快照树的方法及系统
CN110018983A (zh) * 2017-09-27 2019-07-16 华为技术有限公司 一种元数据查询方法及装置
CN110018983B (zh) * 2017-09-27 2021-07-16 华为技术有限公司 一种元数据查询方法及装置
US11474972B2 (en) 2017-09-27 2022-10-18 Huawei Technologies Co., Ltd. Metadata query method and apparatus
CN109324929A (zh) * 2018-09-17 2019-02-12 郑州云海信息技术有限公司 一种快照创建方法、装置、设备及可读存储介质
CN109324929B (zh) * 2018-09-17 2021-11-09 郑州云海信息技术有限公司 一种快照创建方法、装置、设备及可读存储介质
WO2022021865A1 (zh) * 2020-07-29 2022-02-03 苏州浪潮智能科技有限公司 一种数据结构树校验方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN106326040B (zh) 2019-12-31

Similar Documents

Publication Publication Date Title
CN106326040A (zh) 一种快照元数据管理方法和装置
CN107918612B (zh) 键值存储系统数据结构的实现方法和装置
CN101640613B (zh) 一种网络资源关联管理的方法及装置
CN103229173B (zh) 元数据管理方法及系统
US8225029B2 (en) Data storage processing method, data searching method and devices thereof
CN104346357B (zh) 一种嵌入式终端的文件存取方法及系统
US10509701B2 (en) Performing data backups using snapshots
CN109857724B (zh) 基于区块链实现支持多种数据库的方法及设备
CN103282899B (zh) 文件系统中数据的存储方法、访问方法及装置
CN1307584C (zh) 一种用二维表实现的树的存储、访问的方法
CN103561133A (zh) 一种ip地址归属信息索引方法及快速查询方法
KR20190134115A (ko) 효율적인 인덱싱을 제공하기 위한 방법, 장치 및 컴퓨터-판독가능 매체에 포함된 컴퓨터 프로그램
CN102169507A (zh) 一种分布式实时搜索引擎
CN103617007B (zh) 多级智能存储实现方法和系统
WO2011035605A1 (zh) 一种性能数据的存储方法及系统
CN110347852A (zh) 嵌入横向扩展键值存储系统的文件系统及文件管理方法
CN108153804B (zh) 一种对称分布式文件系统的元数据日志更新方法
CN106095698A (zh) 面向对象的缓存写入、读取方法及装置
CN107291876A (zh) 一种分布式数据管理方法
CN104166705A (zh) 数据库的访问方法及装置
CN102799583B (zh) 一种面向对象的存取方法及系统
CN103064843B (zh) 数据处理装置和数据处理方法
CN103246718B (zh) 文件访问方法、装置和设备
CN110597805B (zh) 一种内存索引结构处理方法
CN103116652B (zh) 一种基于拉链信息的索引存储管理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20191118

Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province

Applicant after: Suzhou Wave Intelligent Technology Co., Ltd.

Address before: 100085 Beijing, Haidian District on the road to information on the ground floor, building 2-1, No. 1, C

Applicant before: Tide (Beijing) Electronic Information Industry Co., Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant