当前位置: 首页 > 专利查询>清华大学专利>正文

分布式文件系统的数据存储方法及系统技术方案

技术编号:11133011 阅读:79 留言:0更新日期:2015-03-12 03:18
本发明专利技术公开了一种分布式文件系统的数据存储方法,包括以下步骤:接收用户发送的数据文件;判断数据文件的大小;如果数据文件的大小小于预设值,则将数据文件通过基于日志格式的归并树LSM-Tree的KV存储方法存储至云端服务器的key-value数据库;如果数据文件的大小大于预设值,则将数据文件切分为多个子数据文件,并存储至本地文件系统。本发明专利技术实施例的方法通过将数据文件按照文件的大小进行区分,从而提高分布式文件系统的效率,实现整体性能的提升。本发明专利技术实施例还公开了一种分布式文件系统的数据存储系统。

【技术实现步骤摘要】

本专利技术涉及文件系统
,特别涉及一种分布式文件系统的数据存储方法及系统
技术介绍
目前,分布式文件系统如GFS(Google File System,存储数据的文件系统)、MooseFS、Lusture等都是以建立在单机文件系统的基础上的。分布式层负责组织逻辑文件到逻辑数据块列表的映射,而本地文件系统则负责从逻辑数据块到硬盘数据的映射。两层各司其职共同完成了数据的寻址与读写操作。其中,本地文件系统通常使用多层索引来组织磁盘上的数据。如Ext系列的文件系统,在访问数据块之前必须通过元数据索引找到对应的元数据,而找到该元数据之前必须找到其父目录的元数据。在进行数据读写之前需先经历一个沿着目录树寻找元数据的过程。然而,这样的访问模式直接导致了小文件的低读写效率。对于大文件来说,这些开销可以均摊到数据读写,配合系统缓存的设计可以将对性能的影响降到极小,但是对于小文件来说,这部分开销占据了整个访问时间的绝大部分。因此,本地文件系统对于小文件的性能往往会很差,与大小文件读写性能相比会相差一个数量级,并且由于分布式文件系统使用本地文件系统作为后端存储,文件的读写过程相比本地读写多了几次网络交互,导致在分布式环境下同样面临着更加严重的小文件读写性能较低的问题。另外,由于分布式文件系统仅使用本地文件系统基本的存储服务,本地文件系统保留的元数据很多都是不必要的。分布式文件的命名空间组织方式与本地文件系统并不相同,而且是独立于本地文件系统的,因此为优化小文件读写性,相关技术中的分布式系统有待改进。
技术实现思路
本专利技术旨在至少在一定程度上解决上述相关技术中的技术问题之一。为此,本专利技术的一个目的在于提出一种能够提高系统效率和性能,简单方便的分布式文件系统的数据存储方法。本专利技术的另一个目的在于提出一种分布式文件系统的数据存储系统。为达到上述目的,本专利技术一方面实施例提出了一种分布式文件系统的数据存储方法,包括以下步骤:接收用户发送的数据文件;判断所述数据文件的大小;如果所述数据文件的大小小于预设值,则将所述数据文件通过基于日志格式的归并树LSM-Tree(Log-Structured Merge-Tree,基于日志格式的归并树)的KV(key-value,键值对)存储方法存储至云端服务器的key-value数据库;以及如果所述数据文件的大小大于所述预设值,则将所述数据文件切分为多个子数据文件,并存储至本地文件系统。根据本专利技术实施例提出的分布式文件系统的数据存储方法,通过将数据文件按照大小进行区分,如果数据文件的大小小于一定值,则将数据文件通过基于LSMTree的KV存储方法存储至云端服务器的key-value数据库,并且如果数据文件的大小大于一定值,则将数据文件切分为多个子数据文件,并存储至本地文件系统,从而提高分布式文件系统的效率,实现整体性能的提升。另外,根据本专利技术上述实施例的布式文件系统的数据存储方法还可以具有如下附加的技术特征:进一步地,在本专利技术的一个实施例中,在所述将所述数据文件通过LSM-Tree的KV存储方式至云端服务器的key-value数据库中之后,还包括:根据所述数据文件的数据块ID(identity,身份标识号码)、数据块版本、数据块序号生成所述数据文件的Key。进一步地,在本专利技术的一个实施例中,在所述将所述数据文件切分为多个子数据文件,并存储至本地文件系统之后,还包括:根据每个子数据文件的数据块ID和数据块版本生成所述多个子数据文件对应的本地文件系统的文件名。进一步地,在本专利技术的一个实施例中,上述方法还包括:根据所述每个子数据文件中数据块生成对应的校验码,以维护子数据文件。优选地,在本专利技术的一个实施例中,所述预设值可以为64MB。本专利技术另一方面实施例提出了一种分布式文件系统的数据存储系统,包括:接收模块,用于接收用户发送的数据文件;判断模块,用于判断所述数据文件的大小;第一存储模块,如果所述数据文件的大小小于预设值,用于将所述数据文件通过基于LSM-Tree的KV存储方法存储至云端服务器的key-value数据库;以及第二存储模块,如果所述数据文件的大小大于所述预设值,用于将所述数据文件切分为多个子数据文件,并存储至本地文件系统。根据本专利技术实施例提出的分布式文件系统的数据存储系统,通过将数据文件按照大小进行区分,如果数据文件的大小小于一定值,则将数据文件通过基于LSM-Tree的KV存储方法存储至云端服务器的key-value数据库,并且如果数据文件的大小大于一定值,则将数据文件切分为多个子数据文件,并存储至本地文件系统,从而提高分布式文件系统的效率,实现整体性能的提升。另外,根据本专利技术上述实施例的分布式文件系统的数据存储系统还可以具有如下附加的技术特征:进一步地,在本专利技术的一个实施例中,上述系统还包括:Key生成模块,用于根据所述数据文件的数据块ID、数据块版本、数据块序号生成所述数据文件的Key。进一步地,在本专利技术的一个实施例中,上述系统还包括:文件名生成模块,用于根据每个子数据文件的数据块ID和数据块版本生成所述多个子数据文件对应的本地文件系统的文件名。进一步地,在本专利技术的一个实施例中,上述系统还包括:校验码生成模块,用于根据所述每个子数据文件中数据块生成对应的校验码,以维护子数据文件。优选地,在本专利技术的一个实施例中,所述预设值可以为64MB。本专利技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1为根据本专利技术实施例的分布式文件系统的数据存储方法的流程图;图2为根据本专利技术一个实施例的使用的MooseFS的结构示意图;图3为根据本专利技术一个实施例的数据服务器的结构示意图;图4为根据本专利技术一个实施例的Key的结构示意图;图5为根据本专利技术一个实施例的File Region中chunk对应的文件名结构示意图;图6为根据本专利技术一个实施例的SepStore写操作的流程图;图7为根据本专利技术实施例的分布式文件系统的数据存储系统的结构示意图;以及图8为根据本专利技术一个实施例的分布式文件系统的数据存储系统的结构示意图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例本文档来自技高网
...
分布式文件系统的数据存储方法及系统

【技术保护点】
一种分布式文件系统的数据存储方法,其特征在于,包括以下步骤:接收用户发送的数据文件;判断所述数据文件的大小;如果所述数据文件的大小小于预设值,则将所述数据文件通过基于日志格式的归并树LSM‑Tree的KV存储方法存储至云端服务器的key‑value数据库;以及如果所述数据文件的大小大于所述预设值,则将所述数据文件切分为多个子数据文件,并存储至本地文件系统。

【技术特征摘要】
1.一种分布式文件系统的数据存储方法,其特征在于,包括以下步骤:
接收用户发送的数据文件;
判断所述数据文件的大小;
如果所述数据文件的大小小于预设值,则将所述数据文件通过基于日志格式的归并树
LSM-Tree的KV存储方法存储至云端服务器的key-value数据库;以及
如果所述数据文件的大小大于所述预设值,则将所述数据文件切分为多个子数据文件,
并存储至本地文件系统。
2.根据权利要求1所述的分布式文件系统的数据存储方法,其特征在于,在所述将所
述数据文件通过LSM-Tree的KV存储方式至云端服务器的key-value数据库中之后,还包
括:
根据所述数据文件的数据块ID、数据块版本、数据块序号生成所述数据文件的Key。
3.根据权利要求1所述的分布式文件系统的数据存储方法,其特征在于,在所述将所
述数据文件切分为多个子数据文件,并存储至本地文件系统之后,还包括:
根据每个子数据文件的数据块ID和数据块版本生成所述多个子数据文件对应的本地
文件系统的文件名。
4.根据权利要求3所述的分布式文件系统的数据存储方法,其特征在于,还包括:根
据所述每个子数据文件中数据块生成对应的校验码,以维护子数据文件。
5.根据权利要求1所述的分布式文件系统的数据存储方法,其特征在于...

【专利技术属性】
技术研发人员:陈康郑纬民王振钊黄剑
申请(专利权)人:清华大学
类型:发明
国别省市:北京;11

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

1