应用于分布式文件系统的日志重演方法、装置及终端制造方法及图纸

技术编号:15763252 阅读:86 留言:0更新日期:2017-07-06 00:33
本公开是关于一种应用于分布式文件系统的日志重演方法、装置及终端,其中,该方法包括:根据编辑日志中各记录的文件标识,将各记录分为至少一类记录,其中,每一类记录为具有依赖关系的记录;根据划分出的记录的类数,确定用于日志重演的线程数量;采用确定出的线程数量的各线程,对与各线程一一对应的各类记录进行日志重演。从而可以依据编辑日志中的各记录的文件路径前缀,对各记录进行分类,可以保证每一类记录中的各记录的依赖关系;进而可以采用多个线程并发的重演每个记录类别里头的纪录,加快日志重演的速度,可以保证缩短分布式文件系统不可用的时间;并且,编辑日志中的各记录中的时序关系也没有被打破。

Log replay method, device and terminal for distributed file system

This is a page open for a distributed file system log replay method, device and terminal, wherein, the method comprises: according to the records in the log file to edit the records logo, divided into at least one record, among them, each record has depended on record; according to the classified records the class number, determine the number of threads used by the log repeat; the number of threads thread determined, to correspond with the threads of all records, log replay. Which can be based on the log file path prefix record editing in the classification of the record, can guarantee the dependence of each record in each category in the record; and can use multiple threads of the repeat of each record category inside the record, to speed up the log replay speed can be guaranteed to shorten the time not available distributed file system; and the timing relationship of each record in the edit log has not been broken.

【技术实现步骤摘要】
应用于分布式文件系统的日志重演方法、装置及终端
本公开涉及分布式文件处理
,尤其涉及应用于分布式文件系统的日志重演方法、装置及终端。
技术介绍
分布式文件系统一般通过事务机制来保证文件系统元数据的一致性。该机制通常使用journal的方式实现,即对文件系统的元数据的修改操作,先记录到一个编辑日志(editlog)里头,然后再进行实际(in-place)的元数据修改操作。这样可以保证任何一个对文件系统的元数据的修改要么全部完成要么什么都不做,从而就保证了文件系统元数据之间的一致性。在系统宕机,例如掉电、软件错误等等,之后后重启的过程中,编辑日志中存在中针对各中文件系统操作的记录,需要对那些存在于编辑日志中但并没有做或者只做了一部分实际修改的记录重新进行in-place更新(re-dolog),这个过程叫做文件系统的恢复,即日志重演(logreplay)。相关技术中,在编辑日志中各记录之间往往有依赖关系。比如编辑日志中具有有这样四条记录:(1)创建文件/tmp/file1;(2)为文件/user/xyz/file分配一个数据块;(3)修改文件/tmp/file1的读写权限;(4)设置文件/user/xyz/file的长度和最后修改时间。这四个记录中,记录3依赖于记录1,记录4依赖于记录2,就是说记录3记录4必须等到记录1记录2的in-place更新完成之后才能做它们自身的in-place更新。从而现有技术中,都采用单线程的方式来完成日志重演,即采用单线程针对各项记录依次进行in-place更新,完成日志重演。然而相关技术中,单线程对各项记录依次进行in-place更新,完成日志重演的方式,由于是一项项的一次对各记录进行in-place更新,会导致日志重演的速度很慢,日志重演的过程较长,会导致分布式文件系统不可用的时间变长。
技术实现思路
为克服相关技术中存在的问题,本公开提供一种应用于分布式文件系统的日志重演方法、装置及终端,用于解决现有技术中单线程对各项记录依次进行in-place更新,完成日志重演的方式,由于是一项项的一次对各记录进行in-place更新,会导致日志重演的速度很慢,日志重演的过程较长,会导致分布式文件系统不可用的时间变长的问题。根据本公开实施例的第一方面,提供一种应用于分布式文件系统的日志重演方法,包括:根据编辑日志中各记录的文件标识,将各记录分为至少一类记录,其中,每一类记录为具有依赖关系的记录;根据划分出的记录的类数,确定用于日志重演的线程数量;采用确定出的线程数量的各线程,对与各线程一一对应的各类记录进行日志重演。进一步地,所述根据编辑日志中各记录的文件标识,将各记录分为至少一类记录,包括:根据所述编辑日志中的各记录,确定所述编辑日志中的各同步点;将相邻的同步点之间的各记录,确定为同时处理的各记录;根据确定为同时处理的各记录的文件标识,将确定为同时处理的各记录分为至少一类记录。进一步地,所述根据划分出的记录的类数,确定用于日志重演的线程数量,包括:对各相邻的同步点之间的各类记录,确定各相邻的同步点之间的线程数量。进一步地,所述采用确定出的线程数量的各线程,对与各线程一一对应的各类记录进行日志重演,包括:重复以下过程,直至对所述编辑日志中的所有记录完成日志重演:采用相邻的同步点之间的线程数量的线程,对于各线程一一对应的各类记录进行日志重演;对同步点进行日志重演。进一步地,所述同步点为所述编辑日志中的rename操作。进一步地,所述文件标识为文件路径前缀。本公开的实施例提供的技术方案可以包括以下有益效果:通过根据编辑日志中各记录的文件标识,将各记录分为至少一类记录,其中,每一类记录为具有依赖关系的记录;根据划分出的记录的类数,确定用于日志重演的线程数量;采用确定出的线程数量的各线程,对与各线程一一对应的各类记录进行日志重演。从而可以依据编辑日志中的各记录的文件路径前缀,对各记录进行分类,可以保证每一类记录中的各记录的依赖关系;进而可以采用多个线程并发的重演每个记录类别里头的纪录,加快日志重演的速度,可以保证缩短分布式文件系统不可用的时间;并且,编辑日志中的各记录中的时序关系也没有被打破。根据本公开实施例的第二方面,提供一种一种应用于分布式文件系统的日志重演装置,包括:分类模块,被配置为根据编辑日志中各记录的文件标识,将各记录分为至少一类记录,其中,每一类记录为具有依赖关系的记录;确定模块,被配置为根据划分出的记录的类数,确定用于日志重演的线程数量;重演模块,被配置为采用确定出的线程数量的各线程,对与各线程一一对应的各类记录进行日志重演。进一步地,所述分类模块,被具体配置为:根据所述编辑日志中的各记录,确定所述编辑日志中的各同步点;将相邻的同步点之间的各记录,确定为同时处理的各记录;根据确定为同时处理的各记录的文件标识,将确定为同时处理的各记录分为至少一类记录。进一步地,所述确定模块,被具体配置为:对各相邻的同步点之间的各类记录,确定各相邻的同步点之间的线程数量。进一步地,所述重演模块,被具体配置为:重复以下过程,直至对所述编辑日志中的所有记录完成日志重演:采用相邻的同步点之间的线程数量的线程,对于各线程一一对应的各类记录进行日志重演;对同步点进行日志重演。进一步地,所述同步点为所述编辑日志中的rename操作。进一步地,所述文件标识为文件路径前缀。本公开的实施例提供的技术方案可以包括以下有益效果:通过根据编辑日志中各记录的文件标识,将各记录分为至少一类记录,其中,每一类记录为具有依赖关系的记录;根据划分出的记录的类数,确定用于日志重演的线程数量;采用确定出的线程数量的各线程,对与各线程一一对应的各类记录进行日志重演。从而可以依据编辑日志中的各记录的文件路径前缀,对各记录进行分类,可以保证每一类记录中的各记录的依赖关系;进而可以采用多个线程并发的重演每个记录类别里头的纪录,加快日志重演的速度,可以保证缩短分布式文件系统不可用的时间;并且,编辑日志中的各记录中的时序关系也没有被打破。根据本公开实施例的第三方面,提供一种终端,包括:处理器,以及用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:根据编辑日志中各记录的文件标识,将各记录分为至少一类记录,其中,每一类记录为具有依赖关系的记录;根据划分出的记录的类数,确定用于日志重演的线程数量;采用确定出的线程数量的各线程,对与各线程一一对应的各类记录进行日志重演。本公开的实施例提供的技术方案可以包括以下有益效果:通过根据编辑日志中各记录的文件标识,将各记录分为至少一类记录,其中,每一类记录为具有依赖关系的记录;根据划分出的记录的类数,确定用于日志重演的线程数量;采用确定出的线程数量的各线程,对与各线程一一对应的各类记录进行日志重演。从而可以依据编辑日志中的各记录的文件路径前缀,对各记录进行分类,可以保证每一类记录中的各记录的依赖关系;进而可以采用多个线程并发的重演每个记录类别里头的纪录,加快日志重演的速度,可以保证缩短分布式文件系统不可用的时间;并且,编辑日志中的各记录中的时序关系也没有被打破。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说本文档来自技高网
...
应用于分布式文件系统的日志重演方法、装置及终端

【技术保护点】
一种应用于分布式文件系统的日志重演方法,其特征在于,包括:根据编辑日志中各记录的文件标识,将各记录分为至少一类记录,其中,每一类记录为具有依赖关系的记录;根据划分出的记录的类数,确定用于日志重演的线程数量;采用确定出的线程数量的各线程,对与各线程一一对应的各类记录进行日志重演。

【技术特征摘要】
1.一种应用于分布式文件系统的日志重演方法,其特征在于,包括:根据编辑日志中各记录的文件标识,将各记录分为至少一类记录,其中,每一类记录为具有依赖关系的记录;根据划分出的记录的类数,确定用于日志重演的线程数量;采用确定出的线程数量的各线程,对与各线程一一对应的各类记录进行日志重演。2.根据权利要求1所述的方法,其特征在于,所述根据编辑日志中各记录的文件标识,将各记录分为至少一类记录,包括:根据所述编辑日志中的各记录,确定所述编辑日志中的各同步点;将相邻的同步点之间的各记录,确定为同时处理的各记录;根据确定为同时处理的各记录的文件标识,将确定为同时处理的各记录分为至少一类记录。3.根据权利要求2所述的方法,其特征在于,所述根据划分出的记录的类数,确定用于日志重演的线程数量,包括:对各相邻的同步点之间的各类记录,确定各相邻的同步点之间的线程数量。4.根据权利要求3所述的方法,其特征在于,所述采用确定出的线程数量的各线程,对与各线程一一对应的各类记录进行日志重演,包括:重复以下过程,直至对所述编辑日志中的所有记录完成日志重演:采用相邻的同步点之间的线程数量的线程,对于各线程一一对应的各类记录进行日志重演;对同步点进行日志重演。5.根据权利要求2所述的方法,其特征在于,所述同步点为所述编辑日志中的rename操作。6.根据权利要求1-5任一项所述的方法,其特征在于,所述文件标识为文件路径前缀。7.一种应用于分布式文件系统的日志重演装置,其特征在于,包括:分类模块,被配置为根据编辑日志中各记录的文件标识,将各记录分为至少一...

【专利技术属性】
技术研发人员:张震周应超
申请(专利权)人:北京小米移动软件有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1