基于Ceph存储的小文件合并系统及方法技术方案

技术编号:31234037 阅读:9 留言:0更新日期:2021-12-08 10:13
本发明专利技术提供了一种基于Ceph存储的小文件合并系统及方法,涉及分布式数据库相关技术领域,该系统包括:对象存储设备OSD:存储数据文件和元数据文件;元数据服务器:负责管理元数据,内部有缓存空间;客户端:包括文件判别模块、关联性提取模块、文件合并模块和缓存模块,分别对文件进行处理。该方法包括:步骤S1:对小文件进行合并写入操作;步骤S2:对小文件进行读取。本发明专利技术能够有效的解决在分布式文件系统中小文件众多、文件合并困难的问题。文件合并困难的问题。文件合并困难的问题。

【技术实现步骤摘要】
基于Ceph存储的小文件合并系统及方法


[0001]本专利技术涉及分布式数据库相关
,具体地,涉及一种基于Ceph存储的小文件合并系统及方法。

技术介绍

[0002]随着通信技术和超级计算技术的不断发展,越来越多的数据出现在我们生活中,因此高效的存储技术成为当今科学技术发展的重点。目前互联网各行各业迅速发展,社交媒体、教育医疗、电子商务等行业产生了巨大的小文件数据;根据资料统计,社交媒体软件中,微博存储系统中每天保存着超过100亿张照片形式的小文件;作业帮存储系统中保存的文档、课件、日志等小文件超过500TB;腾讯公司的社交APP每天能产生超过100TB的数据文件信息。这些互联网企业保存的海量文件中,绝大多数以浏览日志、缩略图为主。太平洋西北国家实验室研究统计表明,在这些存储系统中,超过一半的文件其大小不超过64KB。传统的存储技术如磁盘阵列技术已经难以满足众多数据的存储需求。集群存储的扩展性被越来越看重并得到了广泛的发展和应用,其中就包括分布式文件系统。
[0003]Ceph是一个可靠、自动重均衡、自动恢复的统一的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储、块设备和文件系统服务。块设备存储是Ceph的强项。
[0004]针对海量小文件存储问题,国内外众多学者进行了很多深入研究,总体分为两种思路:一种是将小文件按照某种规则合并成大文件进行管理;另一种是增加缓存、预取操作来减少相应的小文件访问网络开销。李孟、曹晟等人提出了一种关于应对教育资源小文件的存储方式,该方案介绍了基于关联文件的缓存、预取、以及索引等提高系统访问性能的操作,虽然提高了教育资源类小文件的访问性能,但是仅局限于教育资源类文件的连续性上,如课件之间的逻辑顺序等。
[0005]Yuelong Z等人通过实验分析,发现分布式存储系统在处理小文件时,会产生磁盘空间利用率低、文件传输延迟的现象,于是他们将逻辑上连续的文件数据按照顺序放在磁盘空间中,并且将对元数据的管理放在缓存中以缓解柱结构内存不足,通过实验验证该方案提高了对小文件的处理性能。
[0006]针对小文件访问性能问题,Bo Dong等人将小文件分为逻辑相关文件、结构相关文件和独立文件几种类别。然后根据不同类别的小文件采取不同的存储方案,例如将逻辑相关的小文件采用分组预取机制,提前预取与目标文件逻辑相关的其他小文件。将结构相关的小文件采用文件合并的方法处理等,经过实验对比,这种处理方式提升了存储系统的访问性能。
[0007]公开号为CN105956183B的专利技术专利,公开了一种分布式数据库中海量小文件的多级优化存储方法及系统,方法包括:分布式数据库的管理节点响应于包括至少一个小文件的小文件输入事件,将所述小文件放入合并队列,将每个合并队列所包括的小文件分别合并后得到合并文件并保存在分布式数据库的工作节点中,所述小文件的文件长度小于预设
小文件长度阈值;分布式数据库的管理节点为每个所述合并文件所包括的每个小文件构建索引并保存在分布式数据库的管理节点中;客户端根据所述索引,从所述合并文件中获取所述小文件。
[0008]分布式文件系统在面对海量小文件存储时尤其是在面临高并发访问的状态下,会存在元数据瓶颈问题,文件合并是解决此问题的一种常见方法,但现有的合并方法存在未考虑小文件之间的关联性导致小文件分散分布、各自针对自身小文件特点不具有通用性、维护成本高等问题,因此还具有很大的优化空间。

技术实现思路

[0009]针对现有技术中的缺陷,本专利技术提供一种基于Ceph存储的小文件合并系统及方法。
[0010]根据本专利技术提供的一种基于Ceph存储的小文件合并系统及方法,所述方案如下:
[0011]第一方面,提供了一种基于Ceph存储的小文件合并系统,所述系统包括:
[0012]对象存储设备OSD:存储数据文件和元数据文件;
[0013]元数据服务器:负责管理元数据,内部有缓存空间;
[0014]客户端:包括文件判别模块、关联性提取模块、文件合并模块和缓存模块,分别对存储数据文件进行处理。
[0015]优选的,所述文件判别模块包括:
[0016]对应用程序发出的一系列请求文件进行筛选处理;
[0017]设定判别大小文件的阈值,如果是大文件则直接进行存储,如果是小文件则进入等待队列,等待对小文件的下一步操作,筛选出的小文件合集。
[0018]优选的,所述关联性提取模块包括:利用语法分析提取出有价值的关键字,利用关键字组成关联数据之间的引用桥梁,引出相关联的文件,完成关联文件的提取。
[0019]优选的,所述文件合并模块包括:将小文件合集按照新的序列进行合并,当小文件进行合并时,计算合并文件的大小,保证每个合并文件不超过最大阈值。
[0020]优选的,所述文件合并模块还包括:由小文件序列合并生成合并文件A时,当合并文件A达到最大阈值后,将小文件序列中剩余文件归并到下一个合并文件B中,最终形成合并文件A、合并文件B与其各自的映射文件,所述合并文件A与合并文件B内保存小文件的数据信息,映射文件内保存包括文件名、文件偏移量、文件逻辑块序号在内的相关小文件元数据信息。
[0021]第二方面,提供了一种基于Ceph存储的小文件合并方法,所述方法包括:
[0022]步骤S1:对小文件进行合并写入操作;
[0023]步骤S2:对小文件进行读取。
[0024]优选的,所述步骤S1包括:
[0025]步骤S1.1:应用程序发送目标文件集到客户端;
[0026]步骤S1.2:客户端内经过文件判别,筛选出大文件直接进行存储;
[0027]步骤S1.3:由筛选出的小文件,得到小文件合集,并进行数据结构关联性分析;
[0028]步骤S1.4:分析结果按照数据关联亲密度进行排序,并按照排序结果执行文件合并动作。
[0029]优选的,所述步骤S1还包括:
[0030]步骤S1.5:每一个小文件在进行合并时判断文件大小是否小于存储块的剩余空间,是则开始存放,否则存放在下一个块中;
[0031]步骤S1.6:文件合并过程完成后生成合并文件A和合并文件B以及相对应的映射文件,写入对象存储设备中并返回确定信息。
[0032]优选的,所述步骤S2包括:
[0033]应用程序发出读文件请求传到客户端,客户端判断请求文件是否为大文件,若为大文件则直接到元数据服务器中访问目标文件元数据信息,再到对象存储设备OSD中获取目标文件,解压目标文件写入缓存模块。
[0034]优选的,所述步骤S2还包括:
[0035]客户端判断请求文件若为小文件,首先确定是否存储在客户端缓存中,若有则直接获取完成此次访问,若无则根据元数据信息到对象存储设备OSD中获取对应的合并文件,再根据映射文件找到合并文件中小文件的位置信息并返回到客户端,解压合并文件获取目标文件,合并文件中其余小文件写入缓存模块。
[0036]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Ceph存储的小文件合并系统,其特征在于,包括:对象存储设备OSD:存储数据文件和元数据文件;元数据服务器:负责管理元数据,内部有缓存空间;客户端:包括文件判别模块、关联性提取模块、文件合并模块和缓存模块,分别对存储数据文件进行处理。2.根据权利要求1所述的基于Ceph存储的小文件合并系统,其特征在于,所述文件判别模块包括:对应用程序发出的一系列请求文件进行筛选处理;设定判别大小文件的阈值,如果是大文件则直接进行存储,如果是小文件则进入等待队列,等待对小文件的下一步操作,筛选出的小文件合集。3.根据权利要求2所述的基于Ceph存储的小文件合并系统,其特征在于,所述关联性提取模块包括:利用语法分析提取出有价值的关键字,利用关键字组成关联数据之间的引用桥梁,引出相关联的文件,完成关联文件的提取。4.根据权利要求2所述的基于Ceph存储的小文件合并系统,其特征在于,所述文件合并模块包括:将小文件合集按照新的序列进行合并,当小文件进行合并时,计算每个合并文件的大小,保证合并文件不超过最大阈值。5.根据权利要求4所述的基于Ceph存储的小文件合并系统,其特征在于,所述文件合并模块还包括:由小文件序列合并生成合并文件A时,当合并文件A达到最大阈值后,将小文件序列中剩余文件归并到下一个合并文件B中,最终形成合并文件A、合并文件B与其各自的映射文件,所述合并文件A与合并文件B内保存小文件的数据信息,映射文件内保存包括文件名、文件偏移量、文件逻辑块序号在内的相关小文件元数据信息。6.一种基于Ceph存储的小文件合并方法,其特征在于,基于如权利要求1

5中任意一项所述的基于Ceph...

【专利技术属性】
技术研发人员:陈法河张浩博雷旸王梦童黄亚男于楠
申请(专利权)人:华东计算技术研究所中国电子科技集团公司第三十二研究所
类型:发明
国别省市:

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

1