CN108021562B - 应用于分布式文件系统的存盘方法、装置及分布式文件系统 - Google Patents

应用于分布式文件系统的存盘方法、装置及分布式文件系统 Download PDF

Info

Publication number
CN108021562B
CN108021562B CN201610930085.2A CN201610930085A CN108021562B CN 108021562 B CN108021562 B CN 108021562B CN 201610930085 A CN201610930085 A CN 201610930085A CN 108021562 B CN108021562 B CN 108021562B
Authority
CN
China
Prior art keywords
data
snapshot
bitmap
disk
disk storage
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.)
Active
Application number
CN201610930085.2A
Other languages
English (en)
Other versions
CN108021562A (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201610930085.2A priority Critical patent/CN108021562B/zh
Priority to PCT/CN2017/106690 priority patent/WO2018077092A1/zh
Publication of CN108021562A publication Critical patent/CN108021562A/zh
Application granted granted Critical
Publication of CN108021562B publication Critical patent/CN108021562B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种应用于分布式文件系统的存盘方法、存盘装置及其系统。本发明通过预设存盘快照周期,当前位图和快照位图,然后实时接收元数据的更改记录,并根据该更改记录来实时更新对应的当前位图;且判断出存盘快照周期达到时,将快照位图与更新后的当前位图进行置换,得到新的当前位图和新的快照位图,并根据新的快照位图进行存盘,同时,利用新的当前位图重新开始记录元数据新的更改记录。即是说,本发明通过定时存盘来延长存盘周期,使得一个周期内对同一条记录或文件块,只需要做一次存盘,且存盘时以批量方式按照优先级从高到低的顺序写盘,从而增大文件的聚合度来减少存盘IO数据量,保证了数据的完整性,和可访问性。

Description

应用于分布式文件系统的存盘方法、装置及分布式文件系统
技术领域
本发明涉及计算机存储技术,尤其涉及一种应用于分布式文件系统的存盘方法、存储装置及具有该存盘装置的分布式文件系统。
背景技术
在数字化信息时代,大数据(big data)一词越来越多的被人们提及,它用来描述和定义信息爆炸时代所产生海量数据的名词。据互联网数据中心(Intemet Data Center,IDC)的调研结果显示,2011年全球产生的数据量为1.8ZB(1ZB=1024EB,1EB=1024PB,1PB=1024TB,1TB=1024GB),与2010年同期相比,又增长了超过1ZB的数据量。而到了2020年,全世界所产生的数据规模将达到今天的44倍。其增长速度相当于全球每人每年产生200GB以上的数据。
在这种数据快速增长的情况下,海量数据存储技术成为了支撑数据高速增长的技术基础。一方面对信息数据的存储、计算、提取提出了严峻的考验,另一方面对信息数据的容灾系统、备份、归档提出了更严格的要求。进而分布式存储技术也应运而生。现有分布式文件系统的研究主要分为元数据与实际数据存储分开管理,文件系统中元数据请求占据所有请求的50%以上,因此,元数据管理问题成为分布式文件系统研究中的一个重要研究方向。
在当前众多分布式文件系统中,为了实现元数据高效访问和存储效率已采用了缓存技术,由于用户对数据对象的任何操作,如增加、删除、重命名等,势必都需要触发元数据存盘操作,尤其是对于操作频率高且元数据记录变化很离散的情况下,从内存镜像缓冲区中写入数据表对应存盘文件时,需要通过记录号找到记录对应的位置,元数据盘就对应着大量的随机读写IO操作。而对于元数据写盘过程对于表记录分布非常散列的文件来说,这样会大大增加元数据管理系统内部交互的次数,从而增大元数据盘随机读写IO,导致元数据盘忙,存盘时间过程,会造成元数据的丢失;并且,现有的存盘方式都是按照记录号大小排序,每次都按照从小到大遍历待存盘的数据,当需要存盘数据量过大时,位置靠后的数据有可能会历经几个小时不存盘,从而造成数据丢失,进而影响了系统的访问性能以及数据完整性。
发明内容
本发明所要解决的技术问题在于,提供一种应用于分布式文件系统中的存盘方法,及其存盘装置和系统,其通过预设存盘快照周期,在内存中维护与文件系统表对应的当前位图和快照位图,来记录对应的记录是否被修改,并通过对快照位图做快照,来延长存盘周期,使得一个周期内对同一条记录或文件块,只需要做一次存盘,且存盘时以批量方式按照优先级从高到低的顺序写盘,从而增大文件的聚合度来减少存盘IO数据量,保证了数据的完整性,和可访问性。
为了解决上述技术问题,本发明提供了一种应用于分布式文件系统的存盘方法,预设存盘快照周期,并针对文件系统表预先创建分别用于表示当前存盘快照周期内元数据的更改记录的当前位图,和用于表示上一个存盘快照周期内元数据的更改记录的快照位图,则该存盘方法具体包括步骤:
实时接收元数据的更改记录,并根据所述更改记录实时更新对应的当前位图;
判断当前是否达到存盘快照周期,若是,则根据更新后的所述当前位图和所述快照位图进行置换,得到新的当前位图和新的快照位图,并根据置换后得到的新的快照位图进行存盘,同时利用新的当前位图重新开始记录元数据新的更改记录。
其中,进行存盘时,是根据所述新的快照位图对应的各个数据段的存盘优先级序列进行存盘的。
其中,各个数据段的存盘优先级序列的计算步骤,包括步骤:
根据置换后得到的新的快照位图,计算每个数据段的数据聚合度;
判断每个数据段的数据聚合度是否大于或等于预设的数据聚合度阈值,分别得到数据聚合度大于或等于预设数据聚合度阈值的多个第一数据段,以及数据聚合度小于预设数据聚合度阈值的多个第二数据段;
将各个所述第一数据段按照预设规则进行排列,从而得到相应的存盘优先级序列。
进一步地,提取各个所述第二数据段对应记录写到日志文件中;且根据预设的检查周期定时对各个第二数据段进行检查,直至所述第二数据段的数据聚合都等于或大于预设的数据聚合度阈值时,按照预设规则将所述第二数据段保存至对应的存盘优先级序列中。
其中,所述预设规则是指将各个数据段按照聚合度从大到小的顺序进行排列;和/或,两个存盘快照周期为一个检查周期。
相应地,本发明实施例还提供了一种应用于分布式文件系统的存盘装置,其包括:
处理模块,用于预设存盘快照周期,并针对文件系统表预先创建分别用于表示当前存盘快照周期内元数据的更改记录的当前位图,和用于表示上一个存盘快照周期内元数据的更改记录的快照位图;
数据接入模块,用于实时接收用户输入的元数据的更改记录;
更新模块,用于根据所述数据接入模块所接收的元数据的更改记录实时更新所述当前位图;
存盘模块,用于当存盘快照周期达到时,将所述快照位图与更新后的所述当前位图进行置换,得到新的当前位图和新的快照位图,并根据所述新的快照位图进行存盘,同时,触发所述更新模块根据所述元数据新的更改记录更新所述新的当前位图。
其中,所述存盘模块包括:
判断单元,用于判断当前是否达到存盘快照周期;
置换单元,用于当所述判断单元判断出当前达到存盘快照周期时,将所述更新后的当前位图与所述的快照位图进行置换,得到新的当前位图和新的快照位图;
优先级排序单元,用于根据置换后得到的新的快照位图,计算各个数据段的存盘优先级序列;
存盘线程单元,用于根据根据所述存盘优先级序列将对应的各个数据段进行存盘。
其中,所述处理模块还用于预设数据聚合度阈值,则所述优先级排序单元包括:
数据聚合度计算子单元,用于根据置换后得到的新的快照位图,计算对应的每个数据段的数据聚合度;
比较子单元,用于将每个数据段的数据聚合度分别与所述预设的数据聚合度阈值进行比较,分别得到数据聚合度大于或等于预设的数据聚合度阈值的多个第一数据段,以及数据聚合度小于预设数据聚合度阈值的多个第二数据段;
排序子单元,用于根据比较子单元的比较结果,将大于或等于预设的数据聚合度阈值的各个第一数据段,按照预设规则进行排列,得到对应的存盘优先级序列。
进一步地,所述优先级排序单元还包括:
写记录子单元,用于提取各个所述第二数据段对应的记录写到日志文件中;且所述比较子单元还用于根据预设的检查周期定时对各个第二数据段进行检查,直至各个第二数据段的数据聚合度等于或大于预设的数据聚合度阈值时,触发所述排序子单元按照预设规则将所述第二数据段保存到对应的优先级队列中。
基于上述的存盘装置,本发明还提供了一种分布式文件系统,其包括上述的任意一种存盘装置,且其存盘方法与上述的存盘方法相同。
实施本发明实施例,具有如下有益效果:
本发明的存盘方法和存盘装置通过预设存盘快照周期,并在内存中维护与文件系统表对应的当前位图和快照位图,来记录元数据是否被修改,并通过对快照位图做快照,来延长存盘周期,使得一个周期内对同一条记录或文件块,只需要做一次存盘,且存盘时以批量方式按照优先级从高到低的顺序写盘,从而增大文件的聚合度来减少存盘IO数据量,保证了数据的完整性,和可访问性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明中基于的分布式文件系统的基本构架示意图;
图2是本发明的一种应用与分布式文件系统的存盘方法的一实施例的流程图;
图3是反映图2中步骤S15中将当前位图与快照位图进行置换的示意图;
图4是反映图2中步骤S17的一实施例的流程图;
图5是反映基于图2中分布式文件系统的存盘方法的写文件的一实施例的时序图;
图6是本发明的一种应用于分布式文件系统的存盘装置的一实施例的功能模块图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明应用于分布式文件系统DFS,分布式文件系统的基本架构图1所示。当用户通过文件访问客户端FAC写文件,即更改元数据时,首先将文件全路径发送到目录树服务器DTS,获取全局唯一标识FILEID和该文件对应的文件位置寄存器FLR;其次,文件访问客户端FAC将写文件请求发送到上述文件位置寄存器FLR,获取该文件的数据块副本位置信息(通常一个文件被切分为若干相同大小的数据块,例如一个数据块64M大小,称为一个CHUNK);最后,文件访问客户端FAC与数据存储服务器建立连接,将数据块传递到数据存储服务器,写入磁盘。
其中,该DFS中元数据结构组织情况:目录树服务器DTS用于管理文件的命名空间、全局唯一标识FILEID的分配、FLR的分配;文件位置寄存器FLR用于管理文件的属性(如FILEID、文件大小、文件类型、访问权限、uid、gid等)和文件内容的存储位置。
本发明是基于上述的分布式文件系统的,其通过预先设置存盘快照周期,同时针对文件系统表设置了两个位图,即当前位图和快照问题,分别用于表示当前存盘快照周期内元数据的变化记录,以及用于表示上一个存盘快照周期内元数据的变化记录,并且只有当存盘快照周期达到时,将两个位图进行置换,然后根据置换后的快照位图进行存盘,从而通过定时的方式来进行存盘快照,即一个存盘快照周期内对同一个文件/数据块只进行一次快照存盘,从而避免了现有方式中每次有需要存盘的记录,都做一次快照而导致造成数据丢失,并且本发明在进行存盘时,是根据优先级序列进行存盘的,从高到低的顺序进行批量写盘,从而增大文件的聚合度来减少存盘IO数据量,进而保证了数据的完整性,和可访问性。
实施例一
参见图2,为本发明的一种分布式文件系统中的存盘方法的一实施例的流程图,本实施例中,为了避免每次产生更改记录就存盘一次,因此,本实施例中,通过预先设置存盘快照周期,从而实现定时存盘,并且还需要预先针对文件系统表分别创建两个大小相同的当前位图和快照位图,则本实施例中该存盘方法具体包括步骤:
S11,实时接收元数据的更改记录,并根据该更改记录实时更新对应的当前位图。
本实施例中,元数据更改记录是指,当需要新增元数据,或修改已有元数据,或者删除已有元数据等操作所产生的N条更改记录。
本实施例中,通过预设存盘快照周期,使得只有当一个存盘快照周期达到时,才进行存盘快照,从而实现定时批量的方式来进行存盘快照,避免了现有方式中每次有需要存盘的记录,都做一次快照的问题。
本实施例中,该当前位图cur_bit是用来表示当前存盘快照周期中元数据的更改记录;快照位图snap_bit则表示上一个存盘周期变化的记录。在一具体实施例中,该当前位图和快照位图的大小与文件系统表的表容量成正比,并用0和1的方式来记录对应的记录是否被修改,即,当元数据发生更改时,通过遍历该当前位图,并根据更改记录顺序地将该当前位图中的相应位置置1,如图3所示。另外,在创建表的过程中需要对表创建镜像缓存,系统上电时,需要对镜像缓存初始化为0,对应的镜像位置也初始化为0。
S13,判断当前是否达到存盘快照周期,若是,则执行步骤S15,否则,执行步骤S11。
本实施例中,预先设置了存盘快照周期,具体地,通过一个计时器来实现,而当计时器计时达到时,即存盘快照周期达到时,将反馈一个消息,如一个脉冲信号,以触发存盘线程,因此,可直接根据该计时器反馈的消息来判断是否达到存盘快照周期。
S15,将快照位图和更新后的当前位图进行置换,得到新的当前位图和新的快照位图。
本实施例中,由于该当前位图是用于表示当前存盘快照周期中元数据的更改记录,而快照位图表示上一个存盘快照周期中元数据的更改记录,因此,当达到存盘快照周期后,可直接将该当前位图与快照位图进行置换,如图3所示,即将快照位图被清空置换为新的当前位图,以立即重新开始记录元数据新的更改记录;而将当前位图置换为新的快照位图,作为存盘的依据,即在置换完成后直到下一个存盘快照周期的这一段时间内,可直接根据置换后得到的该新的快照位图中的文件系统表记录进行存盘操作即可。
S17,根据置换后得到的新的快照位图进行存盘,同时,利用新的当前位图重新记录元数据的新的更改记录,执行步骤S13。
为了减少存盘IO数据量,本实施例中,在进行存盘时是按照各个数据段的存盘优先级序列进行批量存盘的,即通过增大文件的聚合度来减少存盘IO数据量,具体地,参见图4,该步骤S17包括步骤:
S171、根据置换后得到的新的快照位图计算各个数据段的数据聚合度。
本实施例中,由于快照位图中的数据存盘时,每次按16K为一个单位,称之为数据段DATA,其中数据段和文件系统表表记录长度TupleLen的比值就是该记录段中存放的最大记录个数MaxTupleNumber;每个数据段中的数据聚合度是指位图中变化的记录(即位图位置为1的记录)与MaxTupleNumber的比值乘以100,而数据段的数据聚合度DP将作为该数据段存盘优先级排序的参数。
S173,将各个数据段的数据聚合度逐一与预设聚合度阈值比较,分别得到数据聚合度大于或等于预设数据聚合度阈值的多个第一数据段,以及数据聚合度小于预设数据聚合度阈值的多个第二数据段。
S175,将上述各个第一数据段按照预设规则进行排列,得到对应的存盘优先级序列,执行步骤S179。
本实施例中,预先设置了数据聚合度阀值,比如为30,因此,当判断出多个数据段的数据聚合度均大于该预设阈值时,需要将这些第一数据段按照一定的顺序进行排列,从而得到针对该第一数据段存盘优先级队列。
本实施例中,该预设规则是指将数据聚合度大于或等于预设阈值的各个第一数据段按照数据聚合度从大到小的顺序进行排列。当然,按照从小到大的顺序排列,或者按照其他规则进行排列也是可以理解的。
S177,提取上述各个第二数据段对应记录写到日志文件中,且根据预设的检查周期定时对各个第二数据段进行检查,直至各个第二数据段的数据聚合度等于或大于预设的数据聚合度阈值时,按照预设规则将各个第二数据段保存到对应的存盘优先级序列中,执行步骤S179。
一般情况下,上一个存盘快照周期中原本数据聚合度小于预设阈值的各个第二数据段,在再次经过一个存盘快照周期后,其数据聚合度即可满足大于或等于预设阈值,因此,本实施例中,设置为每经过两个存盘快照周期对该第二数据段进行一次检查,以判断其数据聚合度是否达到预设阈值,即设置每两个存盘快照周期为一个检查周期。当然,也可以根据实际情况设置三个或者多个存盘快照周期为一个检查周期。
本实施例中,当经过一个检查周期,再次检查到各个第二数据段的数据聚合度大于或等于预设数据聚合度阈值时,即是说,原本在第一个存盘快照周期被化为为第二数据段的各个数据段,经过一段时间的改变,其数据聚合度增大了,即在第二个存盘快照周期其数据类型被判别为第一数据段,因此,直接根据其数据聚合度保存到对应的存盘优先级序列中(这里的存盘优先级序列是第二个存盘快照周期内根据各个第一数据段的数据聚合所构建的优先级序列)。
S179,按照存盘优先级序列进行存盘,并执行步骤S11。
本实施例中,由于经过置换之后得到新的当前位图(即清空的快照位图),因此,在存盘的同时,可通过该新的当前位图继续实时记录元数据的更改记录,直到下一个存盘快照周期到达时,该新的当前位图被置换,同时得到另一个新的当前位图,如此循环。
本实施例中,通过设置当前位图来记录元数据的更改记录,且当达到存盘快照周期后,该当前位图立即与快照位图进行置换,得到新的当前位图来记录元数据新的更改记录,同时,在下一个存盘快照周期到来之前,可直接根据置换得到的新的快照位图进行批量存盘,由此可知,通过对当前位图做快照,来延长存盘周期,使得一个周期内对同一条记录或文件块,只需要做一次存盘,且存盘时以批量方式按照优先级从高到低的顺序写盘,从而增大文件的聚合度来减少存盘IO数据量,保证了数据的完整性,和可访问性。
实施例二
由上述实施例可知,元数据的更改包括增加,如写文件/元数据,因此,下面结合说明书附图和具体实施例对写文件时的存盘方法进行详细的说明。
参见图5,为基于上述实施例一中的存盘方法的一种写文件的一实施例的时序图,具体地,本实施例中在分布式文件系统中写文件包括步骤:
S21,文件访问客户端FAC发送写文件请求至目录树服务器DTS。
本实施例中,用户通过FAC发送写文件请求至DTS,且该写文件请求中携带有将要写的文件对象全路径。
S22,DTS判断该文件是否存在,若不存在,则DTS生成新的文件标识FILEID,并为其分配可用的FLR,同时生成字典表记录来存储文件名,生成文件FILEID记录,存储FILEID、FLRID等信息,然后给文件访问客户端FAC反馈创建成功消息;若文件不存在,则DTS给FAC报错。
本实施例中,该DTS通过在命名空间中查找,以判断该文件是否存在。
S23,FAC收到消息之后给对应的文件位置寄存器FLR发送创建文件消息。
S24,FLR判断该文件是否已存在,若存在,则反馈已存在,若不存在,则创建FILE记录,存储FILEID、生成时间等信息,并给FAC反馈创建文件成功应答。
本实施例中,该FLR通过FILEID遍历查找文件,以判断其是否存在。
S25,FAC收到创建文件应答,通过FILEID给FLR发送创建文件块请求。
S26,FLR根据存储规则选择写文件块的目的磁盘,并生成文件块对应记录,同时向FAC反馈创建文件块所在磁盘信息。
S27,FAC根据返回的磁盘信息,到FAS上创建文件块,并写入文件内容。
S28,FAS按照定时批量的方式写入文件,且写入文件之后,写入之后,向FAC回复写入结果和文件块大小信息。
本实施例中,该FAS按照定时批量的方式写入文件,是指采用上述实施例一中的方式,即实时接收写入的文件内容,并实时更新对应的预设当前位图,然后通过周期性的将更新后的当前位图与快照位图进行置换,以及根据置换后得到的快照位图进行存盘,直至将整个文件内容全部写入,即将文件内容是周期性、分批次的写入,并且写入过程中按照各个数据段对应的优先级序列来写入的。
S29,FAC则将写入结果和文件块大小信息等上报给FLR。
S210,FLR将上报内容记录到文件块记录中,并给FAC回复。
本实施例中,当FAC收到FLR返回的回复后,表示写文件完成,同时给用户发写文件完成应答。
实施例三
对应于上述的存盘方法,本发明还提供了一种分布式文件系统,下面结合附图和具体实施例进行详细的说明。
参见图6,为本发明的一种应用于分布式文件系统的存盘装置,具体地,该存盘装置包括:
处理模块61,用于预设存盘快照周期,并针对文件系统表预先创建分别用于表示当前存盘快照周期内元数据的更改记录的当前位图,以及用于表示上一个存盘快照周期内元数据的更改记录的快照位图;
数据计入模块62,用于实时接收用户输入的元数据的更改记录;
更新模块63,用于根据该数据接入模块62所接收的更改记录,实时更新当前位图;本实施例中,这里的当前位图是指系统上电之后初始状态下的预设当前位图,或者,系统上电之后运行过程中,经过置换之后得到的新的当前位图;
存盘模块64,用于当存盘快照周期到达时,将表示上一个存盘周期元数据的更改记录的快照位图,与经过更新模块63实时更新后的当前位图进行置换,得到新的当前位图和快照位图,并根据置换后得到的新的快照位图进行存盘;同时,触发更新模块根据元数据新的更改记录更新该新的当前位图。
参见图6,本实施例中,该存盘模块64在进行存盘时,是根据各个数据段的存盘优先级序列进行存盘的,具体地,该存盘模块64包括:
判断单元641,用于判断当前是否达到存盘快照周期;在一具体实施例中,通过处理模块61设置一个定时器来进行计时,从而当其计时达到预设时长,则发送一个触发信号至该存盘模块64以触发进行存盘操作等,因此,可通过判断是否接收到处理模块61发送来的触发信号来判别是否达到存盘快照周期;
置换单元642,用于当判断单元641判断出当前达到存盘快照周期时,将更新后的当前位图与快照位图进行置换,得到新的当前位图和新的快照位图:本实施例中,当达到存盘快照周期,即判断单元641接收到处理模块61发送来的触发信号后,该判断单元641会发送一个触发信号给该置换单元642,从而该置换单元642将表示当前存盘快照周期内元数据的更改记录的当前位图和表示上一个存盘快照周期内元数据的更改记录的(或者系统上电时初始状态下预设的)快照位图进行置换,从而得到新的当前位图和新的快照位图,如图3所示,即将原本的快照位图清空作为新的当前位图,将原本的当前位图作为新的快照位图;
优先级排序单元644,用于根据置换后的新的快照位图,计算各个数据段的存盘优先级序列;本实施例中,该优先级排序单元644包括:数据聚合度计算子单元,用于根据置换后得到的新的快照位图,计算对应的每个数据段的数据聚合度;比较子单元,用于将每个数据段的数据聚合度与处理模块61预设的数据聚合度阈值进行比较,分别得到数据聚合度大于或等于预设的数据聚合度阈值的多个第一数据段,以及数据聚合度小于预设数据聚合度阈值的多个第二数据段;以及根据处理模块61预设的检查周期定时对各个第二数据段进行检查,直至各个第二数据段的聚合度阀值等于或大于预设的数据聚合度阈值时,生成触发信号触发下述的排序子单元按照预设规则将各个第二数据段保存到对应的优先级队列中;排序子单元,用于根据比较子单元的比较结果,将各个第一数据段,按照预设规则进行排列,得到对应的存盘优先级序列;写记录子单元,用于根据比较子单元的比较结果,提取各个第二数据段对应的记录写到日志文件中;
存盘线程单元643,用于根据计算得到的存盘优先级序列将对应的各个数据段进行存盘。
本实施例中,该预设规则是指将数据聚合度大于或等于预设阈值的各个第一数据段按照数据聚合度从大到小的顺序进行排列;当然,按照从小到大的顺序排列,或者按照其他规则进行排列也是可以理解的。
本实施例中,当经过一个检查周期,再次检查到各个第二数据段的数据聚合度大于或等于预设数据聚合度阈值时,即是说,原本在第一个存盘快照周期被化为为第二数据段的各个数据段,经过一段时间的改变,其数据聚合度增大了,即在第二个存盘快照周期其数据类型被判别为第一数据段,因此,直接根据其数据聚合度保存到对应的存盘优先级序列中(这里的存盘优先级序列是第二个存盘快照周期内根据各个第一数据段的数据聚合所构建的优先级序列)。
本实施例中,通过处理模块预先分别设置当前位图来记录当前周期内元数据的更改记录,和快照位图来记录上一个存盘快照周期内元数据的更改记录,且当达到存盘快照周期后,将该当前位图立即与快照位图进行置换,得到新的当前位图来记录元数据新的更改记录,同时,在下一个存盘快照周期到来之前,可直接根据置换得到的新的快照位图进行批量存盘,由此可知,通过对当前位图做快照,来延长存盘周期,使得一个周期内对同一条记录或文件块,只需要做一次存盘,且存盘时以批量方式、按照优先级从高到低的顺序写盘,从而增大文件的聚合度来减少存盘IO数据量,保证了数据的完整性,和可访问性。
实施例四
基于上述的应用于分布式文件系统的存盘方法和存盘装置,本发明还提供了一种分布式文件系统,其包括了上述实施例三中的存盘装置,其存盘的方法和原理与上述实施例一或二或三中的原理相同,这里不再赘述。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (10)

1.一种应用于分布式文件系统的存盘方法,其特征在于,预设存盘快照周期,并针对文件系统表预先创建分别用于表示当前存盘快照周期内元数据的更改记录的当前位图,以及用于表示上一个存盘快照周期内元数据的更改记录的快照位图,则所述存盘方法包括步骤:
实时接收元数据的更改记录,并根据所述更改记录实时更新对应的当前位图;
判断当前是否达到存盘快照周期,若是,则将所述快照位图与更新后的所述当前位图进行置换,得到新的当前位图和新的快照位图,并根据新的快照位图进行存盘,同时,利用所述新的当前位图重新开始记录元数据新的更改记录。
2.如权利要求1所说的存盘方法,其特征在于,进行存盘时,是根据所述新的快照位图所对应的各个数据段的存盘优先级序列进行存盘的。
3.如权利要求2所说的存盘方法,其特征在于,其中,各个数据段的存盘优先级序列的计算步骤,包括步骤:
根据置换后得到的新的快照位图,计算每个数据段的数据聚合度;
将各个数据段的数据聚合度逐一与预设的数据聚合度阈值进行比较,分别得到数据聚合度大于或等于预设数据聚合度阈值的多个第一数据段,以及数据聚合度小于预设数据聚合度阈值的多个第二数据段;
将各个所述第一数据段按照预设规则进行排列,从而得到相应的存盘优先级序列。
4.如权利要求3所述的存盘方法,其特征在于,所述各个数据段的存盘优先级序列的计算步骤,还包括步骤:
提取各个所述第二数据段对应记录写到日志文件中;且根据预设的检查周期定时对所述第二数据段进行检查,直至所述第二数据段的数据聚合度等于或大于预设的数据聚合度阈值时,按照预设规则将所述第二数据段保存到对应的存盘优先级序列中。
5.如权利要求3或4所述的存盘方法,其特征在于,所述预设规则是指将各个数据段按照聚合度从大到小的顺序进行排列;和/或,两个存盘快照周期为一个检查周期。
6.一种应用于分布式文件系统的存盘装置,其特征在于,包括:
处理模块,用于预设存盘快照周期,并针对文件系统表预先创建分别用于表示当前存盘快照周期内元数据的更改记录的当前位图,以及用于表示上一个存盘快照周期内元数据的更改记录的快照位图;
数据接入模块,用于实时接收用户输入的元数据的更改记录;
更新模块,用于根据所述数据接入模块所接收的元数据的更改记录实时更新所述当前位图;
存盘模块,用于当存盘快照周期到达时,将所述快照位图与更新后的所述当前位图进行置换,得到新的当前位图和新的快照位图,并根据所述新的快照位图进行存盘,同时,触发所述更新模块根据所述元数据新的更改记录更新所述新的当前位图。
7.如权利要求6所述的存盘装置,其特征在于,所述存盘模块包括:
判断单元,用于判断当前是否达到存盘快照周期;
置换单元,用于当所述判断单元判断出当前达到存盘快照周期时,将所述更新后的当前位图与所述的快照位图进行置换,得到新的当前位图和新的快照位图;
优先级排序单元,用于根据置换后得到的新的快照位图,计算各个数据段的存盘优先级序列;
存盘线程单元,用于根据所述存盘优先级序列将对应的各个数据段进行存盘。
8.如权利要求7所述的存盘装置,其特征在于,所述处理模块还用于预设数据聚合度阈值,则所述优先级排序单元包括:
数据聚合度计算子单元,用于根据置换后得到的新的快照位图,计算对应的每个数据段的数据聚合度;
比较子单元,用于将每个数据段的数据聚合度与所述预设的数据聚合度阈值进行比较,分别得到数据聚合度大于或等于预设的数据聚合度阈值的多个第一数据段,以及数据聚合度小于预设数据聚合度阈值的多个第二数据段;
排序子单元,用于根据比较子单元的比较结果,将各个所述第一数据段,按照预设规则进行排列,得到对应的存盘优先级序列。
9.如权利要求8所述的存盘装置,其特征在于,所述优先级排序单元还包括:
写记录子单元,用于根据比较子单元的比较结果,提取各个所述第二数据段对应的记录写到日志文件中;且
所述比较子单元还用于根据预设的检查周期定时对各个所述第二数据段进行检查,直至所述第二数据段的数据聚合度等于或大于预设的数据聚合度阈值时,触发所述排序子单元按照预设规则将所述第二数据段保存到对应的优先级队列中。
10.一种分布式文件系统,其特征在于,包括如权利要求6至9中任意一项所述的存盘装置。
CN201610930085.2A 2016-10-31 2016-10-31 应用于分布式文件系统的存盘方法、装置及分布式文件系统 Active CN108021562B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610930085.2A CN108021562B (zh) 2016-10-31 2016-10-31 应用于分布式文件系统的存盘方法、装置及分布式文件系统
PCT/CN2017/106690 WO2018077092A1 (zh) 2016-10-31 2017-10-18 应用于分布式文件系统的存盘方法、装置及分布式文件系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610930085.2A CN108021562B (zh) 2016-10-31 2016-10-31 应用于分布式文件系统的存盘方法、装置及分布式文件系统

Publications (2)

Publication Number Publication Date
CN108021562A CN108021562A (zh) 2018-05-11
CN108021562B true CN108021562B (zh) 2022-11-18

Family

ID=62024721

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610930085.2A Active CN108021562B (zh) 2016-10-31 2016-10-31 应用于分布式文件系统的存盘方法、装置及分布式文件系统

Country Status (2)

Country Link
CN (1) CN108021562B (zh)
WO (1) WO2018077092A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108897822A (zh) * 2018-06-21 2018-11-27 郑州云海信息技术有限公司 一种数据更新方法、装置、设备及可读存储介质
CN111782702B (zh) * 2020-06-29 2024-05-03 北京金山云网络技术有限公司 一种元数据热度排序方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8001580B1 (en) * 2005-07-25 2011-08-16 Netapp, Inc. System and method for revoking soft locks in a distributed storage system environment
CN103116533A (zh) * 2012-05-28 2013-05-22 北京智网科技股份有限公司 一种快照实现方法
CN105589887A (zh) * 2014-10-24 2016-05-18 中兴通讯股份有限公司 分布式文件系统的数据处理方法及分布式文件系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1331063C (zh) * 2003-06-10 2007-08-08 联想(北京)有限公司 基于数据卷快照的在线数据备份方法
US7418464B2 (en) * 2004-01-27 2008-08-26 International Business Machines Corporation Method, system, and program for storing data for retrieval and transfer
JP4439960B2 (ja) * 2004-03-22 2010-03-24 株式会社日立製作所 ストレージ装置
US8769105B2 (en) * 2012-09-14 2014-07-01 Peaxy, Inc. Software-defined network attachable storage system and method
CN103593436B (zh) * 2013-11-12 2017-02-08 华为技术有限公司 文件合并方法和装置
CN104462290B (zh) * 2014-11-27 2017-10-10 华为技术有限公司 文件系统复制方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8001580B1 (en) * 2005-07-25 2011-08-16 Netapp, Inc. System and method for revoking soft locks in a distributed storage system environment
CN103116533A (zh) * 2012-05-28 2013-05-22 北京智网科技股份有限公司 一种快照实现方法
CN105589887A (zh) * 2014-10-24 2016-05-18 中兴通讯股份有限公司 分布式文件系统的数据处理方法及分布式文件系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于带外存储虚拟化的逻辑卷高性能快照;周炜等;《计算机研究与发展》;20120315;全文 *

Also Published As

Publication number Publication date
WO2018077092A1 (zh) 2018-05-03
CN108021562A (zh) 2018-05-11

Similar Documents

Publication Publication Date Title
KR100622801B1 (ko) 파일 시스템 액세스 방법, 파일 시스템 복원 방법, 컴퓨터 판독 가능 기록 매체 및 데이터 처리 시스템
CN108733306B (zh) 一种文件合并方法及装置
US8799238B2 (en) Data deduplication
US9043334B2 (en) Method and system for accessing files on a storage system
US8627026B2 (en) Storage apparatus and additional data writing method
US9239843B2 (en) Scalable de-duplication for storage systems
CN108268219B (zh) 一种处理io请求的方法及装置
US20170083412A1 (en) System and method for generating backups of a protected system from a recovery system
CN106951375B (zh) 在存储系统中删除快照卷的方法及装置
CN108628542B (zh) 一种文件合并方法及控制器
US20020103784A1 (en) Fast data retrieval based upon contiguous consolidation of records according to frequency of access
CN113568582B (zh) 数据管理方法、装置和存储设备
CN107329692A (zh) 一种数据重删的方法及存储设备
US11169968B2 (en) Region-integrated data deduplication implementing a multi-lifetime duplicate finder
US20170123689A1 (en) Pipelined Reference Set Construction and Use in Memory Management
CN115840731A (zh) 文件处理方法、计算设备及计算机存储介质
CN113253932B (zh) 一种分布式存储系统的读写控制方法和系统
CN108021562B (zh) 应用于分布式文件系统的存盘方法、装置及分布式文件系统
CN111913913B (zh) 访问请求的处理方法和装置
US7949632B2 (en) Database-rearranging program, database-rearranging method, and database-rearranging apparatus
CN114265828A (zh) 行迁移消除方法、装置、计算机设备和存储介质
CN109241011B (zh) 一种虚拟机文件处理方法及装置
US10664442B1 (en) Method and system for data consistency verification in a storage system
CN112597074B (zh) 数据处理方法及装置
TWI475419B (zh) 用於在儲存系統上存取檔案的方法和系統

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