一种分布式文件系统中小文件数据存储、读取方法及装置制造方法及图纸

技术编号:15638708 阅读:142 留言:0更新日期:2017-06-15 18:56
本发明专利技术涉及一种分布式文件系统中小文件数据存储、读取方法及装置,在分布式文件系统中,将分布式内存库作为分级缓存层,并增加异步提交缓存模块,当向分布式文件系统中写入数据时,先将数据写入分级缓存层,利用分级缓存层的轻量级缓存功能减小对持久层磁盘的压力,然后由异步提交缓存模块从分级缓存层中读取小文件数据,存储到数据持久层,这样可以降低小文件数据持久化的响应时间,从而提高分布式文件系统中小文件数据的存储效率。

【技术实现步骤摘要】
一种分布式文件系统中小文件数据存储、读取方法及装置
本专利技术涉及数据存储、读取
,具体涉及一种分布式文件系统中小文件数据存储、读取方法及装置。
技术介绍
海量小文件存储(简称LOSF,lotsofsmallfiles)出现后,就一直是业界的难题。通过对若干分布式存储系统的调研、测试与使用,与其它分布式系统相比,海量小文件存储更侧重于解决两个问题:(1)海量小文件的元数据信息组织与管理;(2)海量小文件的读写速率。小文件访问具有访问频率高、访问量大的特性,传统文件系统中小文件的访问对主机磁盘的压力较大,分布式文件系统以集群形式对外提供服务,但是小文件的存储性能仍然受网络时延和磁盘响应速度的影响。
技术实现思路
本专利技术提供了一种分布式文件系统中小文件数据存储、读取方法及装置,能够提高分布式文件系统中小文件数据的存储效率。本专利技术解决上述技术问题的技术方案如下:一种分布式文件系统中小文件数据存储方法,包括:S1a,在分布式文件系统中,将分布式内存库作为分级缓存层,并增加异步提交缓存模块;S2a,当向分布式文件系统中写入小文件数据时,先将所述小文件数据写入分级缓存层;S3a,当分级缓存层中的小文件数据量达到预设量时,由异步提交缓存模块从分级缓存层中读取小文件数据,写入数据持久层;S4a,当异步提交缓存模块向数据持久层中提交小文件数据成功后,清除分级缓存层中对应的小文件数据。本专利技术的有益效果为:在分布式文件系统中,将分布式内存库作为分级缓存层,并增加异步提交缓存模块,当向分布式文件系统中写入小文件数据时,先将小文件数据写入分级缓存层,利用缓存层的轻量级缓存功能减小对持久层磁盘的压力,然后由异步提交缓存模块从分级缓存层中读取小文件数据,存储到数据持久层,这样可以降低小文件数据持久化的响应时间,从而提高分布式文件系统中小文件数据的存储效率。另一方面,本专利技术提供了一种分布式文件系统中小文件数据读取方法,包括:S1b,当分布式文件系统接收到数据读取请求时,根据数据读取请求判断分级缓存层中是否存在对应的小文件数据;S2b,若存在,则从分级缓存层中读取对应的小文件数据返回,若不存在,则从数据持久层中读取对应的小文件数据返回。本专利技术的有益效果为:当从分布式文件系统中读取小文件数据时,先从分级缓存层中读取,当读取失败时,再从数据持久层中读取小文件数据,减轻了数据持久层的压力,加快了小文件数据读取的效率。再一方面,提供了一种分布式文件系统中小文件数据存储装置,包括数据写入模块、异步提交缓存模块和清除模块;所述数据写入模块,用于当向分布式文件系统中写入小文件数据时,先向分级缓存层中写入小文件数据;所述异步提交缓存模块,用于当分级缓存层中的小文件数据量达到预设量时,从分级缓存层中读取小文件数据,写入数据持久层;所述清除模块,用于当所述异步提交缓存模块向数据持久层中提交小文件数据成功后,清除分级缓存层中对应的小文件数据。又一方面,还提供了一种分布式文件系统中小文件数据读取装置,包括:判断模块,用于接收到数据读取请求时,根据数据读取请求判断分级缓存层中是否存在对应的小文件数据;数据读取模块,用于若分级缓存层中存在对应的小文件数据,则从分级缓存层中读取对应的小文件数据返回,若否,则从数据持久层中读取对应的小文件数据返回。附图说明图1为本专利技术一个实施例的分布式文件系统中小文件数据存储方法流程图;图2为本专利技术另一个实施例的分布式文件系统中小文件数据存储方法流程图;图3为本专利技术一个实施例的分布式文件系统中小文件数据读取方法流程图;图4为本专利技术另一个实施例的分布式文件系统中小文件数据读取方法流程图;图5为本专利技术一个实施例的分布式文件系统中小文件数据存储装置框图示意图;图6为本专利技术另一个实施例的分布式文件系统中小文件数据存储装置框图示意图;图7为本专利技术一个实施例的分布式文件系统中小文件数据读取装置框图示意图。具体实施方式以下结合附图对本专利技术的原理和特征进行描述,所举实例只用于解释本专利技术,并非用于限定本专利技术的范围。参见图1,为实施例1的一种分布式文件系统中小文件数据存储方法,包括:S1a,在分布式文件系统中,将分布式内存库作为分级缓存层,并增加异步提交缓存模块;S2a,当向分布式文件系统中写入小文件数据时,先将所述小文件数据写入分级缓存层;S3a,当分级缓存层中的小文件数据量达到预设量时,由异步提交缓存模块从分级缓存层中读取小文件数据,写入数据持久层;S4a,当异步提交模块将小文件数据向数据持久层写入成功后,清除分级缓存层中对应的小文件数据。文件数据的大小在1MB以内的通常称为小文件数据,在分布式文件系统中,小文件数据的写入和访问频率高,访问量大,对磁盘压力很大,因此,在本实施例中,将分布式内存作为分级缓存层,并增加异步提交缓存模块,小文件存储时,先将小文件写到分级缓存层,利用分级缓存层的轻量级缓存功能减小对数据持久层磁盘的压力,当文件存储完成后,由异步提交缓存模块从分级缓存层中读取小文件数据,将小文件数据存储到数据持久层,实现了小文件异步提交机制,降低了小文件持久化数据的响应时间,提高了分布式小文件中的存储效率。参见图2,为实施例2的一种分布式文件系统中小文件数据存储方法,包括:S1a,在分布式文件系统中,将分布式内存库作为分级缓存层,并增加异步提交缓存模块;S21a,以数据块为单位向分布式文件系统中写入小文件数据时,查找分级缓存层中是否存在文件缓存信息,若存在,执行步骤S22a,若不存在,则创建文件缓存信息,执行步骤S22a;S22a,根据需要写入的数据块,从文件缓存信息中查找是否存在对应的缓存数据块索引信息,若存在,则在分级缓存层中更新缓存数据块;若不存在,则创建缓存数据块索引信息,并将数据块存储到分级缓存层中;S3a,当分级缓存层中的小文件数据量达到预设量时,由异步提交缓存模块读取分级缓存层中的数据块,写入数据持久层代理层,由数据持久层代理层通过通信网络将数据块写入数据持久层。本实施例在分布式文件系统中将分布式内存库DMDB作为分级缓存层,并在分布式文件系统中增加异步提交缓存模块,Hbase作为数据持久层,Sbase作为数据持久层Hbase的代理。当外部客户端通过分布式文件系统提供的接口向分布式文件系统中写入小文件数据时,分布式文件系统获取路由信息,分别连接到DMDB和Sbase,分布式文件接口和分布式内存库DMDB均通过Sbase连接到Hbase。当分布式文件系统接收到外部数据写入请求时,首先在DMDB中创建元数据信息,并通过Sbase向Hbase发出打开文件请求,打开对应的Hbase表,作为数据持久层。通常,外部客户端以数据块为单位将数据写入分布式文件系统中,当分布式文件系统接收到数据写入请求时,判断分级缓存中是否存在文件缓存信息,其中,文件缓存信息中包括文件索引信息和缓存数据块索引信息,当分级缓存层中存在文件缓存信息时,读取文件缓存信息,若分级缓存层中不存在文件缓存信息,则创建文件缓存信息。随后判断文件缓存信息中是否存在缓存数据块索引信息,若存在,则根据请求写入的数据块,直接更新缓存数据块,若不存在缓存数据块索引信息,则先创建缓存数据块索引信息,然后将请求写入的数据块存储到分级缓存层中。当分级缓存层中小文件数据的数据量达到预本文档来自技高网...
一种分布式文件系统中小文件数据存储、读取方法及装置

【技术保护点】
一种分布式文件系统中小文件数据存储方法,其特征在于,包括:S1a,在分布式文件系统中,将分布式内存库作为分级缓存层,并增加异步提交缓存模块;S2a,当向分布式文件系统中写入小文件数据时,将所述小文件数据写入分级缓存层;S3a,当分级缓存层中的小文件数据量达到预设量时,由异步提交缓存模块从分级缓存层中读取小文件数据,写入数据持久层;S4a,当异步提交缓存模块向数据持久层中提交小文件数据成功后,清除分级缓存层中对应的小文件数据。

【技术特征摘要】
1.一种分布式文件系统中小文件数据存储方法,其特征在于,包括:S1a,在分布式文件系统中,将分布式内存库作为分级缓存层,并增加异步提交缓存模块;S2a,当向分布式文件系统中写入小文件数据时,将所述小文件数据写入分级缓存层;S3a,当分级缓存层中的小文件数据量达到预设量时,由异步提交缓存模块从分级缓存层中读取小文件数据,写入数据持久层;S4a,当异步提交缓存模块向数据持久层中提交小文件数据成功后,清除分级缓存层中对应的小文件数据。2.如权利要求1所述的分布式文件系统中小文件数据存储方法,其特征在于,所述步骤S2a具体包括:S21a,以数据块为单位向分布式文件系统中写入小文件数据时,查找分级缓存层中是否存在文件缓存信息,若存在,执行步骤S22a,若不存在,则创建文件缓存信息,执行步骤S22a;S22a,根据需要写入的数据块,从文件缓存信息中查找是否存在对应的缓存数据块索引信息,若存在,则在分级缓存层中更新缓存数据块;若不存在,则创建缓存数据块索引信息,并将数据块存储到分级缓存层中。3.如权利要求2所述的分布式文件系统中小文件数据存储方法,其特征在于,所述步骤S3a具体包括:当分级缓存层中的小文件数据量达到预设量时,由异步提交缓存模块读取分级缓存层中的数据块,写入数据持久层代理层,由数据持久层代理层通过通信网络将数据块写入数据持久层。4.一种分布式文件系统中小文件数据读取方法,其特征在于,包括:S1b,当分布式文件系统接收到数据读取请求时,根据数据读取请求判断分级缓存层中是否存在对应的小文件数据;S2b,若存在,则从分级缓存层中读取对应的小文件数据返回,若不存在,则从数据持久层中读取对应的小文件数据返回。5.如权利要求4所述的分布式文件系统中小文件数据读取方法,其特征在于,所述步骤S1b具体包括:S11b,当接收到数据读取请求时,判断分级缓存层中是否存在对应的缓存数据块索引信息,若不存在,则从数据持久层中读取对应的数据块返回,若存在,执行S12b;S12b,加载对应的缓存数据块索引信息,并根据缓存数据块索引信息查找分级缓存层中是否存在对应的数据块,若存在,则从分级缓存层中读取对应的数据块返回,若不存在,则从数据持久层中读取对应的数据块返回。6.一种分布式文件系统中小文件数据存储装置,其特征在于,包括数据写入模块、异步提交缓存模块和清除模块;所述数据写入模块,用于当向分布式文件系统中写入小文件数据时...

【专利技术属性】
技术研发人员:王敏
申请(专利权)人:北京思特奇信息技术股份有限公司
类型:发明
国别省市:北京,11

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

1