分布式文件系统的数据处理方法及分布式文件系统的制作方法

文档序号:9826284阅读:688来源:国知局
分布式文件系统的数据处理方法及分布式文件系统的制作方法
【技术领域】
[0001]本发明涉及分布式文件存储技术领域,尤其涉及一种分布式文件系统的数据处理方法及分布式文件系统。
【背景技术】
[0002]随着多媒体产业的迅猛发展,出于成本、可靠性等多方面的考虑,越来越多的厂商选择在产品中部署自研的分布式上层存储系统,分布式文件系统也因此得到了快速的发展。分布式文件系统可以提供高的吞吐率,可以提供普通本地文件系统几倍以上的吞吐率,同时可以提供高可靠性,通过多副本、冗余副本技术,提高单机异常时数据的可靠性,同时对于磁阵这样的设备,具有价格便宜、设备通用的优点。
[0003]目前,在大部分的分布式文件系统中,一部分注重吞吐量性能,但是却降低了文件系统一致性的保证。而另一部分在保证了同步的一致性的情况下,却大大降低了写和修改的性能。而对于分布式系统中的大量机器,宕机重启已经是一个常态的问题,如何保证在服务器宕机重启后,保证文件多个副本内数据的一致性,将十分的必要。

【发明内容】

[0004]本发明的主要目的在于提供一种分布式文件系统的数据处理方法及分布式文件系统,避免Fas宕机重启所带来的多副本间数据的不一致性。
[0005]为了达到上述目的,本发明提出一种分布式文件系统的数据处理方法,包括:
[0006]Fac获取文件数据,推送给Fas ;
[0007]所述Fas记录Fac推送过来的文件数据,在缓冲区记录下此次Fas上对应的元数据的修改,写入日志文件,并向所述Fac返回文件数据推送完成消息;
[0008]所述Fac接收到所述Fas返回的文件数据推送完成消息后,向Flr发送元数据修改变化请求;
[0009]所述Flr根据所述元数据修改变化请求,修改相应的元数据,并记录至日志文件系统;
[0010]当监测到所述Fas异常重启时,所述Flr根据日志记录,进行相应修改数据的回滚操作,完成日志文件系统的修复。
[0011]优选地,所述Flr根据所述元数据修改变化请求,修改相应的元数据,并记录至日志文件系统的步骤中还包括:
[0012]所述Flr按照时间的顺序,将相关处理的条目加入对应的Fas的缓冲区。
[0013]优选地,所述当监测到Fas异常重启时,所述Flr根据日志记录,进行相应修改数据的回滚操作,完成日志文件系统的修复的步骤包括:
[0014]当监测到所述Fas异常重启时,所述Flr根据日志记录,将日志记录的修改数据,从日志记录的当前时间点回退设定时间长度,所述设定时间长度的修改数据对应于所述Fas的所有修改记录;
[0015]当所述Fas上电时,发送回滚请求到Flr以回滚相应的数据;
[0016]所述Flr根据所述回滚请求回滚相应的数据至对应的Fas的缓冲区,完成日志文件系统的修复。
[0017]优选地,所述Flr监测Fas异常的步骤包括:
[0018]所述Flr接收所述Fas定期发送的心跳报文;
[0019]当监测到连续若干次丢失心跳报文时,判定所述Fas异常。
[0020]优选地,所述Fac接收到所述Fas返回的文件数据推送完成消息后,向Flr发送元数据修改变化请求的步骤包括:
[0021]所述Fac接收到所述Fas返回的文件数据推送完成消息后,将对应的元数据修改变化请求填入修改待通知缓冲区;
[0022]当设定的定时时间到达时,将修改待通知缓冲区内的所有元数据修改变化请求发送至Fir。
[0023]本发明实施例还提出一种分布式文件系统,包括:Fac、Fas及Flr,其中:
[0024]所述Fac,用于获取文件数据,推送给Fas ;
[0025]所述Fas,用于记录Fac推送过来的文件数据,在缓冲区记录下此次Fas上对应的元数据的修改,写入日志文件,并向所述Fac返回文件数据推送完成消息;
[0026]所述Fac,还用于接收到所述Fas返回的文件数据推送完成消息后,向Flr发送元数据修改变化请求;
[0027]所述Flr,用于根据所述元数据修改变化请求,修改相应的元数据,并记录至日志文件系统;
[0028]所述Flr,还用于当监测到所述Fas异常重启时,根据日志记录,进行相应修改数据的回滚操作,完成日志文件系统的修复。
[0029]优选地,所述Flr,还用于按照时间的顺序,将相关处理的条目加入对应的Fas的缓冲区。
[0030]优选地,所述Flr,还用于当监测到所述Fas异常重启时,将日志记录的修改数据,从日志记录的当前时间点回退设定时间长度,所述设定时间长度的修改数据对应于所述Fas的所有修改记录;
[0031]所述Fas,还用于当所述Fas上电时,发送回滚请求到Flr以回滚相应的数据;
[0032]所述Flr,还用于根据所述回滚请求回滚相应的数据至对应的Fas的缓冲区,完成日志文件系统的修复。
[0033]优选地,所述Flr,还用于接收所述Fas定期发送的心跳报文;当监测到连续若干次丢失心跳报文时,判定所述Fas异常。
[0034]优选地,所述Fac,还用于接收到所述Fas返回的文件数据推送完成消息后,将对应的元数据修改变化请求填入修改待通知缓冲区;当设定的定时时间到达时,将修改待通知缓冲区内的所有元数据修改变化请求发送至Flr。
[0035]本发明实施例提出的一种分布式文件系统的数据处理方法及分布式文件系统,Fac获取文件数据,推送给Fas ;Fas记录Fac推送过来的文件数据,在缓冲区记录下此次Fas上对应的元数据的修改,写入日志文件,并向所述Fac返回文件数据推送完成消息;Fac接收到所述Fas返回的文件数据推送完成消息后,向Flr发送元数据修改变化请求;Flr根据所述元数据修改变化请求,修改相应的元数据,并记录至日志文件系统;当监测到所述Fas异常重启时,Flr根据日志记录,进行相应修改数据的回滚操作,完成日志文件系统的修复,保证了分布式文件系统复位重启后文件的最终高一致性,避免机器宕机重启所带来的多副本间数据的不一致性,同时最大程度的减少由于日志系统的添加而带来相应的延迟和性能上的损失。
【附图说明】
[0036]图1是本发明分布式文件系统的数据处理方法一实施例的流程示意图;
[0037]图2是本发明实施例Fac、Fas及Flr之间的交互流程示意图;
[0038]图3是本发明实施例Fac与Fas之间交互以及Fas刷写时序示意图;
[0039]图4是本发明实施例Fac向Flr发送元数据修改变化请求的具体处理流程示意图;
[0040]图5是本发明实施例Flr的处理流程示意图;
[0041]图6是本发明分布式文件系统一实施例架构TJK意图。
[0042]为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
【具体实施方式】
[0043]本发明实施例的解决方案主要是:Fac获取文件数据,推送给Fas ;Fas记录Fac推送过来的文件数据,在缓冲区记录下此次Fas上对应的元数据的修改,写入日志文件,并向所述Fac返回文件数据推送完成消息;Fac接收到所述Fas返回的文件数据推送完成消息后,向Flr发送元数据修改变化请求;Flr根据所述元数据修改变化请求,修改相应的元数据,并记录至日志文件系统;当监测到所述Fas异常重启时,Flr根据日志记录,进行相应修改数据的回滚操作,完成日志文件系统的修复,保证了分布式文件系统复位重启后文件的最终高一致性,避免机器宕机重启所带来的多副本间数据的不一致性,同时最大程度的减少由于日志系统的添加而带来相应的延迟和性能上的损失。
[0044]如图2所示,本发明一实施例提出一种分布式文件系统的数据处理方法,包括:
[0045]步骤SlOl,Fac获取文件数据,推送给Fas ;
[0046]本发明方法实施例涉及的系统运行环境包括:Fac、Fas及Flr,其中:
[0047]Fac:文件服务客户端,用于提供用户与分布式文件系统内部数据的衔接。
[0048]Fas:文件数据服务器,用于存放文件实际的数据。
[0049]Flr:文件位置寄存器,用于存放文件与数据对应的元数据等的相关信息。
[0050]由于目前在大部分的分布式文件系统中,一部分注重吞吐量性能,但是却降低了文件系统一致性的保证,并没有提供类似于本地文件系统日
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1