一种分布式文件系统技术方案

技术编号:35735254 阅读:22 留言:0更新日期:2022-11-26 18:37
本发明专利技术公开了一种分布式文件系统,包括:元数据服务模块、数据存储服务模块、垃圾回收服务模块和接入服务模块,接入服务模块根据客户端发送的写请求查找第一文件编号以及对应的各个第一逻辑单元,对第一文件编号和各第一逻辑单元的编号通过哈希计算得到第一数据槽,并将写请求分发至第一数据槽对应的目标数据存储服务模块上,使目标数据存储服务模块将写请求的元数据和真实数据追加写到第一数据槽所负责的底层存储系统的最新数据文件上,待写入成功后更新第一数据槽中缓存的文件数据索引。本发明专利技术所有上层写请求都将被转换成对底层存储系统离数据文件的追加写,支持业务文件的随机写,复杂度低,上层逻辑无需关心底层数据的迁移,维护难度低。维护难度低。维护难度低。

【技术实现步骤摘要】
一种分布式文件系统


[0001]本专利技术涉及数据存储
,更具体的说,涉及一种分布式文件系统。

技术介绍

[0002]随着社会的发展,人们的互联网生活变得越来越丰富,这也给信息存储带来了巨大的挑战,因此,设计出大容量、高可用、高可靠、高性能、可扩展、易维护的分布式文件系统变得尤为重要。分布式存储系统通过向用户提供统一的接口,将用户数据存储在不同的节点上,并能够维护元数据,用户只需要向访问本地文件系统一样访问分布式文件系统即可。
[0003]现有的分布式文件系统中各个节点对磁盘数据的主要管理方式为:直接对裸盘进行管理,自身维护磁盘的元数据,当接收到上层发送的IO请求时,根据IO请求的内容找到对应的元数据,最后转换为对磁盘指定位置的一次读或写。
[0004]然而,现有的分布式系统需要管理文件中的元数据,写的性能较差,在将元数据转换为对磁盘指定位置写的过程,分布式文件系统实现复杂,维度难度较大。

技术实现思路

[0005]有鉴于此,本专利技术公开一种分布式文件系统,以实现在追加写的存储系统上提供随机写的能力,因此复杂度低,且减少IO放大,上层负责实现用户文件的元数据管理,文件索引的检索和IO调度,对用户提供了对文件的随机写能力,且支持网络文件系统协议,上层逻辑无需关心底层数据的迁移,从而维护难度低。
[0006]一种分布式文件系统,包括:元数据服务模块、数据存储服务模块、垃圾回收服务模块和接入服务模块,所述元数据服务模块分别与所述数据存储服务模块、所述垃圾回收服务模块和所述接入服务模块连接,所述接入服务模块与所述数据存储服务模块连接;
[0007]所述元数据服务模块,用于提供整个文件系统的元数据服务,通过一致性协议构成预设固定数量的元数据服务集群并保证一致性,还用于接收所述数据存储服务模块、所述垃圾回收服务模块和所述接入服务模块发送的表征工作状态的心跳;
[0008]所述数据存储服务模块,用于对外提供针对数据槽任意IO大小的随机读写能力,其中,所述数据存储服务模块映射的各个数据槽均匀分布;
[0009]所述垃圾回收服务模块,用于负责索引文件和数据文件的垃圾回收;
[0010]所述接入服务模块,用于接收客户端发送的写请求,根据所述写请求携带的信息查找到对应的第一文件编号,并确定所述写请求的偏移和长度对应的各个第一逻辑单元,对所述第一文件编号和各所述第一逻辑单元的编号通过哈希计算得到对应的第一数据槽,基于数据槽与所述数据存储服务模块的映射关系,将所述写请求分发至所述第一数据槽对应的目标数据存储服务模块上,使所述目标数据存储服务模块将所述写请求的元数据和真实数据追加写到所述第一数据槽所负责的底层存储系统的最新数据文件上,待写入成功后更新所述第一数据槽中缓存的文件数据索引,其中,所述底层存储系统用于直接负责裸盘的管理,能够将业务文件通过纠删或多副本的冗余测量存储在多节点的不同存储介质上,
且只支持顺序写。
[0011]可选的,所述元数据服务模块还用于:
[0012]为每个业务文件分配一个全局唯一的文件编号,维护数据槽与所述数据存储服务模块的映射关系,当有所述数据存储服务模块出现故障时,重新生成故障数据存储服务模块与正常的所述数据存储服务模块的映射关系,并将所述故障数据存储服务模块的版本更新,其中,每个所述数据存储服务模块中具有多个所述数据槽。
[0013]可选的,每个所述数据存储服务模块能够加载若干个所述数据槽,各个所述数据槽独立维护文件数据索引且相互之间逻辑解耦。
[0014]可选的,所述垃圾回收服务模块还用于:
[0015]当对业务文件进行覆盖写时,若索引文件里会出现的无效索引达到第一数据量,以及数据文件里出现的无效数据达到第二数据量,则对所述索引文件的内容和所述数据文件的内容进行重新组织,并生成最新索引文件和最新数据文件。
[0016]可选的,所述接入服务模块用于负责网路文件系统协议的解析,并维护所述客户端的状态信息,包括:
[0017]获取所述客户端发送的网络文件系统协议的请求;
[0018]当所述请求为IO请求时,将所述IO请求发送至所述数据存储服务模块进行处理得到第一处理结果,并将所述第一处理结果按照所述网络文件系统协议规定的格式返回至所述客户端;
[0019]当所述请求为元数据请求时,将所述元数据请求发送至所述元数据服务模块进行处理得到第二处理结果,并将所述第二处理结果按照所述网络文件系统协议规定的格式返回至所述客户端。
[0020]可选的,所述接入服务模块还用于:
[0021]接收所述客户端发送的读请求,根据所述读请求携带的信息查找到对应的第二文件编号,并确定所述读请求的偏移和长度对应的各个第二逻辑单元,对所述第二文件编号和各所述第二逻辑单元的编号通过哈希计算得到对应的第二数据槽,根据所述第二数据槽缓存的文件索引,到对应的数据文件的指定位置读取所需的数据。
[0022]可选的,所述元数据服务模块还用于:
[0023]在检测到心跳中断的数据存储服务模块所在的节点发生故障时,将故障数据存储服务模块的状态标记为异常;
[0024]将映射到所述故障数据存储服务模块的各个目标数据槽重新分配到其他正常数据存储服务模块上,生成各个所述目标数据槽与各个所述正常数据存储服务模块的最新映射关系,同时将映射关系版本更新;
[0025]每个所述正常数据存储服务模块用于:
[0026]当通过心跳感知到映射关系版本发生变化时,获取所述最新映射关系,并从各个所述目标数据槽中加载所需数据槽。
[0027]可选的,所述正常数据存储服务模块具体用于:
[0028]在加载所述所需数据槽时,读取所述所需数据槽的索引文件来恢复文件数据索引至缓存中,其中,在所述文件数据索引恢复期间,所述正常数据存储服务模块接收来自所述接入服务模块的IO请求将被丢弃。
[0029]可选的,所述数据存储服务模块还用于:
[0030]在当前数据文件被追加写固定次数的IO请求后,会将所述当前数据文件封存,并切换到下一个数据文件,将后续追加写的IO请求写到所述下一个数据文件中。
[0031]可选的,所述索引文件用于保存业务文件的元数据,是底层存储系统离的逻辑文件。
[0032]从上述的技术方案可知,本专利技术公开了一种分布式文件系统,包括:元数据服务模块、数据存储服务模块、垃圾回收服务模块和接入服务模块,元数据服务模块提供整个文件系统的元数据服务,以及通过心跳检查其他模块的工作状态,数据存储服务模块对外提供针对数据槽任意IO大小的随机读写能力,垃圾回收服务模块负责索引文件和数据文件的垃圾回收,以提高磁盘利用率,接入服务模块根据客户端发送的写请求查找第一文件编号以及对应的各个第一逻辑单元,对第一文件编号和各第一逻辑单元的编号通过哈希计算得到对应的第一数据槽,并将写请求分发至第一数据槽对应的目标数据存储服务模块上,使目标数据存储服务模块将写请求的元数据和真实数据追加写到所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式文件系统,其特征在于,包括:元数据服务模块、数据存储服务模块、垃圾回收服务模块和接入服务模块,所述元数据服务模块分别与所述数据存储服务模块、所述垃圾回收服务模块和所述接入服务模块连接,所述接入服务模块与所述数据存储服务模块连接;所述元数据服务模块,用于提供整个文件系统的元数据服务,通过一致性协议构成预设固定数量的元数据服务集群并保证一致性,还用于接收所述数据存储服务模块、所述垃圾回收服务模块和所述接入服务模块发送的表征工作状态的心跳;所述数据存储服务模块,用于对外提供针对数据槽任意IO大小的随机读写能力,其中,所述数据存储服务模块映射的各个数据槽均匀分布;所述垃圾回收服务模块,用于负责索引文件和数据文件的垃圾回收;所述接入服务模块,用于接收客户端发送的写请求,根据所述写请求携带的信息查找到对应的第一文件编号,并确定所述写请求的偏移和长度对应的各个第一逻辑单元,对所述第一文件编号和各所述第一逻辑单元的编号通过哈希计算得到对应的第一数据槽,基于数据槽与所述数据存储服务模块的映射关系,将所述写请求分发至所述第一数据槽对应的目标数据存储服务模块上,使所述目标数据存储服务模块将所述写请求的元数据和真实数据追加写到所述第一数据槽所负责的底层存储系统的最新数据文件上,待写入成功后更新所述第一数据槽中缓存的文件数据索引,其中,所述底层存储系统用于直接负责裸盘的管理,能够将业务文件通过纠删或多副本的冗余测量存储在多节点的不同存储介质上,且只支持顺序写。2.根据权利要求1所述的分布式文件系统,其特征在于,所述元数据服务模块还用于:为每个业务文件分配一个全局唯一的文件编号,维护数据槽与所述数据存储服务模块的映射关系,当有所述数据存储服务模块出现故障时,重新生成故障数据存储服务模块与正常的所述数据存储服务模块的映射关系,并将所述故障数据存储服务模块的版本更新,其中,每个所述数据存储服务模块中具有多个所述数据槽。3.根据权利要求1所述的分布式文件系统,其特征在于,每个所述数据存储服务模块能够加载若干个所述数据槽,各个所述数据槽独立维护文件数据索引且相互之间逻辑解耦。4.根据权利要求1所述的分布式文件系统,其特征在于,所述垃圾回收服务模块还用于:当对业务文件进行覆盖写时,若索引文件里会出现的无效索引达到第一数据量,以及数据文件里出现的无效数据达到第二数据量,则对所述索引文件的内容和所述数据文件的内容进行重新...

【专利技术属性】
技术研发人员:吴淦徐凌智方然
申请(专利权)人:优刻得科技股份有限公司
类型:发明
国别省市:

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

1