CN115878563A - 一种分布式文件系统目录级快照的实现方法及电子设备 - Google Patents

一种分布式文件系统目录级快照的实现方法及电子设备 Download PDF

Info

Publication number
CN115878563A
CN115878563A CN202310125420.1A CN202310125420A CN115878563A CN 115878563 A CN115878563 A CN 115878563A CN 202310125420 A CN202310125420 A CN 202310125420A CN 115878563 A CN115878563 A CN 115878563A
Authority
CN
China
Prior art keywords
snapshot
directory
data
metadata
expression
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
CN202310125420.1A
Other languages
English (en)
Other versions
CN115878563B (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.)
Beijing Dadao Yunxing Technology Co ltd
Original Assignee
Beijing Dadao Yunxing Technology 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 Beijing Dadao Yunxing Technology Co ltd filed Critical Beijing Dadao Yunxing Technology Co ltd
Priority to CN202310125420.1A priority Critical patent/CN115878563B/zh
Publication of CN115878563A publication Critical patent/CN115878563A/zh
Application granted granted Critical
Publication of CN115878563B publication Critical patent/CN115878563B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及数据安全技术领域,具体涉及一种分布式文件系统目录级快照的实现方法及电子设备,步骤如下,定义目录快照点的元数据,并对某个目录做多次快照,形成抽象的目录快照树;通过时间戳集合组成快照表达式,并以此来计算某个快照点的快照数据视图;通过快照的隐藏目录访问快照点时,根据元数据中的实际目录id,将请求重定向到实际的目录inode;最后根据快照表达式访问数据,通过集合条件进行匹配,访问正确的元数据版本。本发明减少数据分散的问题,降低对连续读的影响,通过快照时间段直接继承上一级快照点的数据,创建快照以及删除快照都是秒级操作,无需等待合并复制操作,效率更高。

Description

一种分布式文件系统目录级快照的实现方法及电子设备
技术领域
本发明涉及数据安全技术领域,具体涉及一种分布式文件系统目录级快照的实现方法及电子设备。
背景技术
数据的安全性以及可靠性一直都是存储行业面临的主要问题,相关的解决方案有好几种,其中快照技术是其中比较成熟的方案。
主流的快照技术包括镜像分裂、按需复制、指针重映射、写时复制(COW)以及写时重定向(ROW)等, COW以及ROW是快照中用的比较多的技术;COW主要用在读密集型场景,ROW主要用在写密集型。
现有技术的客观缺点:由于元数据非常小,且访问非常频繁,多数文件系统都对元数据采用COW方案;而IO操作涉及的数据量非常大, 复制操作会导致性能下降,一般会采用ROW方案。
也因此引入了新的问题:
IO数据经过多次读写后,某一时刻后源卷的数据会非常离散,ROW的连续读性能会非常的差。
如果源卷有多个快照,在做删除快照的操作时,所有快照的数据需要回拷到源卷才能保证源卷的完整性;数据量大的时候耗时非常长。
发明内容
针对现有技术的不足,本发明公开了一种分布式文件系统目录级快照的实现方法及电子设备,用于解决上述问题。
本发明通过以下技术方案予以实现:
第一方面,本发明提供了一种分布式文件系统目录级快照的实现方法,所述方法包括以下步骤:
定义目录快照点的元数据,并对某个目录做多次快照,形成抽象的目录快照树;
通过时间戳集合组成快照表达式,并以此来计算某个快照点的快照数据视图;
通过快照的隐藏目录访问快照点时,根据元数据中的实际目录id,将请求重定向到实际的目录inode;
最后根据快照表达式访问数据,通过集合条件进行匹配,访问正确的元数据版本。
更进一步的,所述目录快照树中,只有当前活跃位置时间区间的数据可读写,其他快照点的数据只有可读。
更进一步的,所述方法中,在有快照的目录中存在一个隐藏目录.snapshot, 通过此隐藏目录,可以访问任意快照点的数据。
更进一步的,所述方法中,隐藏目录以及其下的快照点均为真实的目录项, 有自己的目录名以及inode id,且快照点的inode id是直接采用快照id。
更进一步的,所述方法中,删除快照时无需回拷数据,通过快照时间段直接继承上一级快照点的数据。
更进一步的,所述方法中,元数据定义方式采用MVCC方式实现具体如下:
inode key : {卷id, inode-id, version}
目录项key : {卷id, 目录id, 目录项名version}
chunk key: {卷id, 文件id, offset, size, version}。
更进一步的,所述方法中,在快照中访问元数据时,假设元数据的version集合为set1, 而快照表达式为Set, 需要从set1中过滤不匹配的version,产生新的集合set2, 以满足set2⊂Expr,在快照中访问元数据,就是按照上述集合条件进行匹配,访问正确的元数据版本。
更进一步的,所述方法中,使用将数据与元数据分离的存储架构,数据会被持久化到对象存储S3中,而元数据会被存储在KV数据库中。
更进一步的,所述方法中,所述存储框架基于MVCC实现,所有存储在KV数据库中的元数据均带有时间戳。
第二方面,本发明提供一种电子设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述存储器与所述处理器耦接,且所述处理器执行所述计算机程序时,实现第一方面所述的分布式文件系统目录级快照的实现方法。
本发明的有益效果为:
本发明采用ROW方案,数据被修改后,后台会根据策略按照4MB的大小对数据块进行对齐合并,减少数据分散的问题, 降低对连续读的影响。
本发明一个目录的快照点数量在理论上是没有限制的,删除快照时无需回拷数据,通过快照时间段直接继承上一级快照点的数据,创建快照以及删除快照都是秒级操作,无需等待合并复制操作,效率更高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例目录快照点的元数据定义图;
图2是本发明实施例目录快照树图;
图3是本发明实施例当前目录为快照目录,ls显示图;
图4是本发明实施例访问快照隐藏目录,ls显示图;
图5是本发明实施例目录元数据定义图;
图6是本发明实施例删除非叶子节点的快照图;
图7是本发明实施例删除叶子节点的快照(假设删除快照点3)图;
图8是本发明实施例FAFS结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例提供一种分布式文件系统目录级快照的实现方法,所述方法包括以下步骤:
定义目录快照点的元数据,并对某个目录做多次快照,形成抽象的目录快照树;
通过时间戳集合组成快照表达式,并以此来计算某个快照点的快照数据视图;
通过快照的隐藏目录访问快照点时,根据元数据中的实际目录id,将请求重定向到实际的目录inode;
最后根据快照表达式访问数据,通过集合条件进行匹配,访问正确的元数据版本。
本实施例目录快照树中,只有当前活跃位置时间区间的数据可读写,其他快照点的数据只有可读。
本实施例中,在有快照的目录中存在一个隐藏目录.snapshot, 通过此隐藏目录,可以访问任意快照点的数据。
本实施例中,隐藏目录以及其下的快照点均为真实的目录项, 有自己的目录名以及inode id,且快照点的inode id是直接采用快照id。
本实施例中,删除快照时无需回拷数据,通过快照时间段直接继承上一级快照点的数据。
本实施例中,元数据定义方式采用MVCC方式实现具体如下:
inode key : {卷id, inode-id, version}
目录项key : {卷id, 目录id, 目录项名version}
chunk key: {卷id, 文件id, offset, size, version}。
本实施例中,在快照中访问元数据时,假设元数据的version集合为set1, 而快照表达式为Set, 需要从set1中过滤不匹配的version,产生新的集合set2, 以满足set2⊂Expr,在快照中访问元数据,就是按照上述集合条件进行匹配,访问正确的元数据版本。
本实施例中,参照图8所示,FAFS是大道云行面向企业级存储市场,完全自主研发的全闪存分布式文件系统, 提供完备的POSIX语义,并支持NFS,SMB协议。
本实施例FAFS采用将数据与元数据分离的存储架构,数据会被持久化到对象存储S3中,而元数据会被存储在KV数据库中。
实施例2
在实施例1的基础上,本实施例进行具体实施,参照图1所示,本实施例目录快照点的元数据定义:
key: {卷id, 目录id, 快照id}
value:
参照图2所示,本实施例目录快照树通过上述的元数据定义,可以对某个目录做多次快照,最终会形成一个抽象的目录快照树。
本实施例只有当前活跃位置时间区间的数据可读写,其他快照点的数据只有可读。
本实施例快照表达式用来计算某个快照点的快照数据视图,快照表达式是由时间戳集合组成的;假设上述快照点的快照时间段如下:
1)快照点1:[0, a)
2)快照点2:[a, b)
3)快照点3:[c, d)
则快照点3点的快照表达式为Expr(3) = [0,a) U [a, b) U [c, d)
在此目录中的数据,凡是版本号ver∈Expr(3),快照点3均可访问。
本实施例快照隐藏目录的设计,在有快照的目录中存在一个隐藏目录.snapshot,通过此隐藏目录,可以访问任意快照点的数据
本实施例中,假设当前目录为快照目录,ls会显示如图3所示,访问快照隐藏目录,ls会显示如图4所示。
本实施例进行目录元数据的数据定义如图5所示,隐藏目录以及其下的快照点均为真实的目录项, 有自己的目录名以及inode id。快照点的inode id是直接采用快照id(注: id是通过ID生成器产生,全局唯一)。
本实施例快照数据访问的实现方式,访问快照点时,根据上述元数据中的实际目录id,将请求重定向到实际的目录inode, 然后根据快照表达式访问数据。
本实施例删除非叶子节点的快照如图6所示:
1.原快照点的时间段信息
1)快照点1:[0,a);
2)快照点2:[a, b);
3)快照点3:[c, d);
2.删除快照点2后的时间段信息;
1)快照点1:[0,a);
2)快照点3:[a, b) U [c, d);
3.删除快照点2后,目录的快照树发生变化;
1)快照点3的上一级快照id从快照点2变成快照点1;
2)快照点2拥有的数据并没有被删除,而是被快照点3继承;
快照点3点的快照表达式依然为Expr(3)= [0,a) U [a, b) U [c, d)。
本实施删除叶子节点的快照(假设删除快照点3)如图7所示,(1)删除后快照点2与快照点3之间的时间段数据对外不可见。后台会启动一个GC任务,清理快照点2与快照点3之间的时间段数据。
本实施例元数据在快照中的使用如下:
1)元数据定义方式
由于采用MVCC方式实现的事务,所以每一种元数据都带有时间戳版本号。
①inode key : {卷id, inode-id, version}
② 目录项key : {卷id, 目录id, 目录项名version}
③ chunk key: {卷id, 文件id, offset, size, version}
2)在快照中访问元数据
在FAFS文件系统中,无论元数据还是数据,每次写操作都会产生一个新的版本号,经过多次修改后,元数据就会存在多个版本。
假设元数据的version集合为set1, 而快照表达式为Set, 需要从set1中过滤不匹配的version,产生新的集合set2, 以满足set2⊂Expr。
在快照中访问元数据,就是按照上述集合条件进行匹配,访问正确的元数据版本。
综上,本实施例针对大文件写操作, FAFS会将连续的io合并为4MB对齐的数据块,以满足连续读的性能。
FAFS的数据都是存储在基于全闪存的S3服务上,每一个io或者4MB的数据块都会存为一个S3对象,大文件的数据都是分散存储的,通过预读机制可以很好的解决分散问题。
在存在多个快照的情况下,同一个文件的数据在不同的快照下可能不相同;通过快照表达式过滤、IO合并处理、预读机制,读性能并没有明显的下降(对比无快照)。
合并操作都在后台运行,合并时不会影响请求访问。
实施例3
本实施例提供一种电子设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述存储器与所述处理器耦接,且所述处理器执行所述计算机程序时,实现分布式文件系统目录级快照的实现方法。
本发明中,COW方案主要应用场景为读密集型;创建快照后,由于写时复制的问题,写性能存在问题。
ROW方案主要应用场景为写密集型,存在的问题如下:
1)由于数据指针指向的数据被重定向分散,在连续读的情况下性能较弱。
2)删除快照时会产生向源卷回拷数据的情况,如果回拷量很大,耗时比较长。
本发明对上述问题进行了优化,主要如下:
1)虽然采用ROW方案,数据被修改后,后台会根据策略按照4MB的大小对数据块进行对齐合并,减少数据分散的问题, 降低对连续读的影响。
2)删除快照时无需回拷数据,通过快照时间段直接继承上一级快照点的数据。
3)创建快照以及删除快照都是秒级操作, 无需等待合并复制操作。
4)一个目录的快照点数量在理论上是没有限制的。
综上,本发明通过快照表达式来组织快照视图, 能够快速的定位元数据和数据的版本,加速读的处理能力;秒级处理、无需等待合并复制等操作;以极其简单的方式展示目录所有的快照点信息,也能通过隐藏目录访问所有的快照数据。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种分布式文件系统目录级快照的实现方法,其特征在于,所述方法包括以下步骤:
定义目录快照点的元数据,并对某个目录做多次快照,形成抽象的目录快照树;
通过时间戳集合组成快照表达式,并以此来计算某个快照点的快照数据视图;
通过快照的隐藏目录访问快照点时,根据元数据中的实际目录id,将请求重定向到实际的目录inode;
最后根据快照表达式访问数据,通过集合条件进行匹配,访问正确的元数据版本。
2.根据权利要求1所述的一种分布式文件系统目录级快照的实现方法,其特征在于,所述目录快照树中,只有当前活跃位置时间区间的数据可读写,其他快照点的数据只有可读。
3.根据权利要求1所述的一种分布式文件系统目录级快照的实现方法,其特征在于,所述方法中,在有快照的目录中存在一个隐藏目录.snapshot, 通过此隐藏目录,可以访问任意快照点的数据。
4.根据权利要求1所述的一种分布式文件系统目录级快照的实现方法,其特征在于,所述方法中,隐藏目录以及其下的快照点均为真实的目录项, 有自己的目录名以及inodeid,且快照点的inode id是直接采用快照id。
5.根据权利要求1所述的一种分布式文件系统目录级快照的实现方法,其特征在于,所述方法中,删除快照时无需回拷数据,通过快照时间段直接继承上一级快照点的数据。
6.根据权利要求1所述的一种分布式文件系统目录级快照的实现方法,其特征在于,所述方法中,元数据定义方式采用MVCC方式实现具体如下:
inode key : {卷id, inode-id, version}
目录项key : {卷id, 目录id, 目录項名version}
chunk key: {卷id, 文件id, offset, size, version}。
7.根据权利要求1所述的一种分布式文件系统目录级快照的实现方法,其特征在于,所述方法中,在快照中访问元数据时,假设元数据的version集合为set1, 而快照表达式为Set, 需要从set1中过滤不匹配的version,产生新的集合set2, 以满足set2⊂Expr,在快照中访问元数据,就是按照上述集合条件进行匹配,访问正确的元数据版本。
8.根据权利要求1所述的一种分布式文件系统目录级快照的实现方法,其特征在于,所述方法中,使用将数据与元数据分离的存储架构,数据会被持久化到对象存储S3中,而元数据会被存储在KV数据库中。
9.根据权利要求1所述的一种分布式文件系统目录级快照的实现方法,其特征在于,所述方法中,所述存储框架基于MVCC实现,所有存储在KV数据库中的元数据均带有时间戳。
10.一种电子设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述存储器与所述处理器耦接,且所述处理器执行所述计算机程序时,实现如权利要求1至9任一项所述的分布式文件系统目录级快照的实现方法。
CN202310125420.1A 2023-02-17 2023-02-17 一种分布式文件系统目录级快照的实现方法及电子设备 Active CN115878563B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310125420.1A CN115878563B (zh) 2023-02-17 2023-02-17 一种分布式文件系统目录级快照的实现方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310125420.1A CN115878563B (zh) 2023-02-17 2023-02-17 一种分布式文件系统目录级快照的实现方法及电子设备

Publications (2)

Publication Number Publication Date
CN115878563A true CN115878563A (zh) 2023-03-31
CN115878563B CN115878563B (zh) 2023-06-02

Family

ID=85761225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310125420.1A Active CN115878563B (zh) 2023-02-17 2023-02-17 一种分布式文件系统目录级快照的实现方法及电子设备

Country Status (1)

Country Link
CN (1) CN115878563B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104933133A (zh) * 2015-06-12 2015-09-23 中国科学院计算技术研究所 分布式文件系统中的元数据快照存储和访问方法
US20170249216A1 (en) * 2016-02-29 2017-08-31 Red Hat, Inc. Native snapshots in distributed file sytems
CN108255638A (zh) * 2017-06-29 2018-07-06 新华三技术有限公司 一种快照回滚方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104933133A (zh) * 2015-06-12 2015-09-23 中国科学院计算技术研究所 分布式文件系统中的元数据快照存储和访问方法
US20170249216A1 (en) * 2016-02-29 2017-08-31 Red Hat, Inc. Native snapshots in distributed file sytems
CN108255638A (zh) * 2017-06-29 2018-07-06 新华三技术有限公司 一种快照回滚方法及装置

Also Published As

Publication number Publication date
CN115878563B (zh) 2023-06-02

Similar Documents

Publication Publication Date Title
US8965850B2 (en) Method of and system for merging, storing and retrieving incremental backup data
US9715434B1 (en) System and method for estimating storage space needed to store data migrated from a source storage to a target storage
US8904137B1 (en) Deduplication system space recycling through inode manipulation
US8433863B1 (en) Hybrid method for incremental backup of structured and unstructured files
US8943032B1 (en) System and method for data migration using hybrid modes
US8949208B1 (en) System and method for bulk data movement between storage tiers
US8898107B1 (en) Managing deduplication of stored data
CN102629247B (zh) 一种数据处理方法、装置和系统
CN107657049B (zh) 一种基于数据仓库的数据处理方法
US20120221523A1 (en) Database Backup and Restore with Integrated Index Reorganization
US7681001B2 (en) Storage system
US11768807B2 (en) Destination namespace and file copying
US11397749B2 (en) Asynchronous replication of in-scope table data
US9223811B2 (en) Creation and expiration of backup objects in block-level incremental-forever backup systems
US10628298B1 (en) Resumable garbage collection
KR101674176B1 (ko) 파일 단위 순서 모드 저널링 기법을 이용한 fsync 시스템 호출 처리 장치 및 방법
US11422721B2 (en) Data storage scheme switching in a distributed data storage system
US11822806B2 (en) Using a secondary storage system to implement a hierarchical storage management plan
US20230394010A1 (en) File system metadata deduplication
RU2665272C1 (ru) Способ и устройство для восстановления дедуплицированных данных
US11650967B2 (en) Managing a deduplicated data index
US9594635B2 (en) Systems and methods for sequential resilvering
US11599506B1 (en) Source namespace and file copying
CN115878563B (zh) 一种分布式文件系统目录级快照的实现方法及电子设备
US11645333B1 (en) Garbage collection integrated with physical file verification

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
GR01 Patent grant
GR01 Patent grant