一种分布式文件系统文件读写处理方法与流程

文档序号:12734105阅读:1685来源:国知局
一种分布式文件系统文件读写处理方法与流程

本发明涉及分布式文件领域,尤其涉及一种分布式文件系统文件读写处理方法。



背景技术:

随着计算机技术的快速发展,各种形式的信息数据量越来越大,根据行业情况不同,对数据的读写方式差异很大,在现有的文件读写权限控制下,如果多个客户端同时对一个文件进行读写,则只能采用直写和直读的方法,数据处理效率低下。



技术实现要素:

为了克服上述现有技术中的不足,本发明提供一种分布式文件系统文件读写处理方法,方法包括:

多个客户端对文件进行写入前,每个客户端分别向MDS申请对文件的写权限,并且每个客户端标示申请修改写权限或追加写权限;

MDS接收所有客户端发送的读写权限申请,并对每个客户端申请的修改写权限或追加写权限给予授权;

MDS实时统计所有客户端的读写权限。

优选地,当某一文件被多个客户端同时使用,且只有一个客户端对所述文件进行追加写时,MDS授权该客户端写缓存权限,同时授权其他的客户端读缓存权限。

优选地,当客户端向MDS申请由追加写权限变更为修改写权限时,MDS通知该客户端释放追加写缓存权限,同时将缓存数据储存到后端存储设备。

优选地,当客户端向MDS申请由修改写权限变更为追加写权限时,MDS通知该客户端释放修改写缓存权限,同时将缓存数据储存到后端存储设备。

优选地,当客户端获得追加写权限后,进行追加写数据时,先将写入数据缓存在第一缓存中;

第一缓存数据压缩模块根据预设的压缩量将第一缓存中多个数据进行组合压缩,形成压缩数据块;

第一缓存数据压缩模块针对压缩数据块中的每个数据对应生成一元数据,元数据记录压缩前后的每个数据处于第一缓存中的位置;

将压缩数据块以及与压缩数据块相对应的元数据下发给第二缓存;

第二缓存保存压缩数据块和元数据;

当客户端的追加写权限被收回,或者客户端的追加写操作完成时,第二缓存将保存的压缩数据块和元数据保存到客户端的存储设备。

优选地,预设的压缩量的获取方式包括:第一缓存数据处理模块在第一缓存随机抽取N个数据,N为非零的自然数,对抽取的数据进行组合压缩,组合压缩后计算出N个数据的平均MD5值,将该值作为预设压缩量。

优选地,客户端申请到修改写权限或追加写权限后,客户端在客户端配额数据结构中设置预留缓存空位;预留缓存空位获取MDS分配的分配缓存空间;

MDS将总储存配额拆分为以固定大小为基本单位的单位存储空间,MDS统一分配和使用单位存储空间;

当客户端获取到修改写权限或追加写权限,且向MDS申请单位存储空间时,MDS根据客户端的申请分配单位存储空间;

客户端得到单位存储空间后,将MDS分配的单位存储空间计入用户配额数据结构中的预留缓存空位上。

优选地,客户端修改写或追加写操作时,将修改写或追加写的数据储存至预留缓存空位的单位存储空间内,当预授权空间内的单位存储空间容量不足时,向MDS发出申请,申请分配单位存储空间;

MDS根据所述客户端的申请再分配一单位存储空间;

客户端得到单位存储空间后,将MDS分配的单位存储空间计入用户配额数据结构中的预留缓存空位内,并与在先分配的单位存储空间统一使用。

从以上技术方案可以看出,本发明具有以下优点:

多个客户端对文件进行写入前,每个客户端分别向MDS申请对文件的写权限,并且每个客户端标示申请修改写权限或追加写权限,MDS授权客户端直读和直写权限;客户端将追加写或者修改写方式异步发送给MDS;MDS统计客户端读写方式,重新给客户端授权写缓存或者读缓存。将文件写权限拆分成粒度更小的追加写和修改写,针对只有追加写的情况授权给客户端写缓存权限,提高数据处理效率。

附图说明

为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为分布式文件系统文件读写处理方法的流程图;

图2为分布式文件系统文件读写处理方法实施例示意图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将运用具体的实施例及附图,对本发明保护的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本专利中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利保护的范围。

本实施例提供一种分布式文件系统文件读写处理方法,如图1、图2所示,方法包括:

S1:多个客户端对文件进行写入前,每个客户端分别向MDS申请对文件的写权限,并且每个客户端标示申请修改写权限或追加写权限;

S2:MDS接收所有客户端发送的读写权限申请,并对每个客户端申请的修改写权限或追加写权限给予授权;

S3:MDS实时统计所有客户端的读写权限。

具体的,客户端打开文件,MDS授权所有客户端直读和直写权限;客户端将追加写或者修改写方式异步发送给MDS;MDS统计客户端读写方式,重新给客户端授权写缓存或者读缓存。

本实施例中,当某一文件被多个客户端同时使用,且只有一个客户端对所述文件进行追加写时,MDS授权该客户端写缓存权限,同时授权其他的客户端读缓存权限。

本实施例中,当客户端向MDS申请由追加写权限变更为修改写权限时,MDS通知该客户端释放追加写缓存权限,同时将缓存数据储存到后端存储设备。

本实施例中,当客户端向MDS申请由修改写权限变更为追加写权限时,MDS通知该客户端释放修改写缓存权限,同时将缓存数据储存到后端存储设备。

本实施例中,当客户端获得追加写权限后,进行追加写数据时,先将写入数据缓存在第一缓存中;

第一缓存数据压缩模块根据预设的压缩量将第一缓存中多个数据进行组合压缩,形成压缩数据块;

第一缓存数据压缩模块针对压缩数据块中的每个数据对应生成一元数据,元数据记录压缩前后的每个数据处于第一缓存中的位置;

将压缩数据块以及与压缩数据块相对应的元数据下发给第二缓存;

第二缓存保存压缩数据块和元数据;

当客户端的追加写权限被收回,或者客户端的追加写操作完成时,第二缓存将保存的压缩数据块和元数据保存到客户端的存储设备。

预设的压缩量的获取方式包括:第一缓存数据处理模块在第一缓存随机抽取N个数据,N为非零的自然数,对抽取的数据进行组合压缩,组合压缩后计算出N个数据的平均MD5值,将该值作为预设压缩量。

这样,客户端追加写对缓存的数据进行实时压缩,可以事先预设数据的压缩量,保证压缩效果。并且在数据储存至存储设备之前先对写入数据进行了压缩,节约了存储设备空间。

本实施例中,客户端申请到修改写权限或追加写权限后,客户端在客户端配额数据结构中设置预留缓存空位;预留缓存空位获取MDS分配的分配缓存空间;

MDS将总储存配额拆分为以固定大小为基本单位的单位存储空间,MDS统一分配和使用单位存储空间;

当客户端获取到修改写权限或追加写权限,且向MDS申请单位存储空间时,MDS根据客户端的申请分配单位存储空间;

客户端得到单位存储空间后,将MDS分配的单位存储空间计入用户配额数据结构中的预留缓存空位上。

其中,客户端修改写或追加写操作时,将修改写或追加写的数据储存至预留缓存空位的单位存储空间内,当预授权空间内的单位存储空间容量不足时,向MDS发出申请,申请分配单位存储空间;

MDS根据所述客户端的申请再分配一单位存储空间;

客户端得到单位存储空间后,将MDS分配的单位存储空间计入用户配额数据结构中的预留缓存空位内,并与在先分配的单位存储空间统一使用。

在客户端与MDS同步目录配额信息,有效地避免了多客户端同时修改写或追加写配额超额的状况。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1