一种小文件存储方法、装置、设备及介质制造方法及图纸

技术编号:24205052 阅读:29 留言:0更新日期:2020-05-20 14:19
本申请公开了一种小文件存储方法、装置、设备及介质,包括:利用小文件对应的桶名和文件名生成对应的文件标识;利用所述文件标识将不同的所述小文件对应的聚合信息添加至不同的元数据表;其中,所述聚合信息包括所述文件标识以及对应的大文件的名称、所述小文件在对应的所述大文件中的偏移位置,并且,所述大文件为所述小文件对应的聚合文件;当获取到用户终端发送的针对所述小文件的读请求,则查找对应的所述元数据表,以及从查找到的所述元数据表中查询对应的所述聚合信息,然后利用所述聚合信息读取对应的所述大文件中的所述小文件的数据。这样,能够提升从元数据表中查询对应的聚合信息的速率,从而提升小文件的读取速率。

A small file storage method, device, equipment and medium

【技术实现步骤摘要】
一种小文件存储方法、装置、设备及介质
本申请涉及存储
,特别涉及一种小文件存储方法、装置、设备及介质。
技术介绍
机械硬盘在存储系统中大量采用,而机械硬盘在读写过程中会有寻道时间,因此,对于一些小文件存储需求较多的用户场景,小文件的读写效率很低,速度仅为几MB/S,成为小文件存储效率的瓶颈。所以,针对小文件的应用场景,业界提出了小文件聚合方案,把小文件先放入内存或SSD(SolidStateDisk,固态硬盘)硬盘等高速介质中,然后把小文件聚合成一个大文件,然后下刷到机械硬盘中,这样会减少机械硬盘对小文件的IO瓶颈,大大增加系统对小文件的处理速度。目前,在分布式对象存储中,通常的文件读取过程为将读取请求中的桶名和文件名组成一个对象名名称,发给底层rados存储集群,获取数据。因此,在把小文件聚合成一个大文件的场景下,通常需要中间添加一个大文件的查找过程,通过桶名和文件名以及元数据目录来查找聚合后的大文件,然后从查找到的大文件中读出小文件数据并返回。这样,会存在一个问题,对于分布式海量存储来说,一个桶内可能存在上千万个对象,甚至上亿个对象,这会导致大文件的查找过程十分漫长,成为小文件的读性能的瓶颈。
技术实现思路
有鉴于此,本申请的目的在于提供一种小文件存储方法、装置、设备及介质,能够提升小文件的读取速率。其具体方案如下:第一方面,本申请公开了一种小文件存储方法,包括:利用小文件对应的桶名和文件名生成对应的文件标识;利用所述文件标识将不同的所述小文件对应的聚合信息添加至不同的元数据表;其中,所述聚合信息包括所述文件标识以及对应的大文件的名称、所述小文件在对应的所述大文件中的偏移位置,并且,所述大文件为所述小文件对应的聚合文件;当获取到用户终端发送的针对所述小文件的读请求,则查找对应的所述元数据表,以及从查找到的所述元数据表中查询对应的所述聚合信息,然后利用所述聚合信息读取对应的所述大文件中的所述小文件的数据。可选的,所述利用所述文件标识将不同的所述小文件对应的聚合信息添加至不同的元数据表,包括:针对任一所述小文件对应的聚合信息,查找是否存在数据表名与所述文件标识对应的所述元数据表;若存在,则将当前小文件对应的聚合信息添加至对应的所述元数据表;若不存在,则将当前小文件对应的聚合信息添加至空的所述元数据表,并利用所述文件标识生成该元数据表的数据表名。可选的,所述将当前小文件对应的聚合信息添加至空的所述元数据表,包括:将当前小文件对应的聚合信息添加至预先创建的空的所述元数据表;或,实时创建空的所述元数据表,然后将当前小文件对应的聚合信息添加至该元数据表。可选的,所述利用小文件对应的桶名和文件名生成对应的文件标识,包括:将小文件对应的桶名和文件名生成对应的字符串;对所述字符串进行哈希运算,得到对应的所述文件标识。可选的,所述利用所述文件标识生成该元数据表的数据表名,包括:读取所述文件标识的首字符;利用所述首字符和对应的所述桶名生成所述数据表名。可选的,所述当获取到用户终端发送的针对所述小文件的读请求,则查找对应的所述元数据表,以及从查找到的所述元数据表中查询对应的所述聚合信息,包括:将所述读请求中的桶名和文件名生成对应的目标字符串;对所述目标字符串进行哈希运算,得到对应的目标文件标识;提取所述目标文件标识的目标首字符;利用所述目标首字符和所述读请求中的桶名查找对应的所述元数据表;从查找到的所述元数据表中查询对应的所述聚合信息。可选的,所述利用小文件对应的桶名和文件名生成对应的文件标识之前,还包括:获取文件聚合指令,以触发所述利用小文件对应的桶名和文件名生成对应的文件标识的步骤。第二方面,本申请公开了一种小文件存储装置,包括:文件标识生成模块,用于利用小文件对应的桶名和文件名生成对应的文件标识;聚合信息添加模块,用于利用所述文件标识将不同的所述小文件对应的聚合信息添加至不同的元数据表;其中,所述聚合信息包括所述文件标识以及对应的大文件的名称、所述小文件在对应的所述大文件中的偏移位置,并且,所述大文件为所述小文件对应的聚合文件;文件数据读取模块,用于当获取到用户终端发送的针对所述小文件的读请求,则查找对应的所述元数据表,以及从查找到的所述元数据表中查询对应的所述聚合信息,然后利用所述聚合信息读取对应的所述大文件中的所述小文件的数据。第三方面,本申请公开了一种小文件存储设备,包括处理器和存储器;其中,所述存储器,用于保存计算机程序;所述处理器,用于执行所述计算机程序,以实现前述的小文件存储方法。第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述小文件存储方法。可见,本申请先利用小文件对应的桶名和文件名生成对应的文件标识,然后利用所述文件标识将不同的所述小文件对应的聚合信息添加至不同的元数据表;其中,所述聚合信息包括所述文件标识以及对应的大文件的名称、所述小文件在对应的所述大文件中的偏移位置,并且,所述大文件为所述小文件对应的聚合文件,当获取到用户终端发送的针对所述小文件的读请求,则查找对应的所述元数据表,以及从查找到的所述元数据表中查询对应的所述聚合信息,然后利用所述聚合信息读取对应的所述大文件中的所述小文件的数据。也即,本申请利用文件标识将不同的所述小文件对应的聚合信息添加至不同的元数据表,这样,能够提升从元数据表中查询对应的聚合信息的速率,从而提升小文件的读取速率。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请公开的一种小文件存储方法流程图;图2为本申请公开的一种具体的小文件存储方法流程图;图3为本申请公开的一种小文件存储装置结构示意图;图4为本申请公开的一种小文件存储设备结构图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。目前,在分布式对象存储中,通常的文件读取过程为将读取请求中的桶名和文件名组成一个对象名名称,发给底层rados存储集群,获取数据。因此,在把小文件聚合成一个大文件的场景下,通常需要中间添加一个大文件的查找过程,通过桶名和文件名以及元数据目录来查找聚合后的大文件,然后从查找到的大文件中读出小文件数据并返回。这样,会存在一个问题,对于分布式海量存储来说,本文档来自技高网...

【技术保护点】
1.一种小文件存储方法,其特征在于,包括:/n利用小文件对应的桶名和文件名生成对应的文件标识;/n利用所述文件标识将不同的所述小文件对应的聚合信息添加至不同的元数据表;其中,所述聚合信息包括所述文件标识以及对应的大文件的名称、所述小文件在对应的所述大文件中的偏移位置,并且,所述大文件为所述小文件对应的聚合文件;/n当获取到用户终端发送的针对所述小文件的读请求,则查找对应的所述元数据表,以及从查找到的所述元数据表中查询对应的所述聚合信息,然后利用所述聚合信息读取对应的所述大文件中的所述小文件的数据。/n

【技术特征摘要】
1.一种小文件存储方法,其特征在于,包括:
利用小文件对应的桶名和文件名生成对应的文件标识;
利用所述文件标识将不同的所述小文件对应的聚合信息添加至不同的元数据表;其中,所述聚合信息包括所述文件标识以及对应的大文件的名称、所述小文件在对应的所述大文件中的偏移位置,并且,所述大文件为所述小文件对应的聚合文件;
当获取到用户终端发送的针对所述小文件的读请求,则查找对应的所述元数据表,以及从查找到的所述元数据表中查询对应的所述聚合信息,然后利用所述聚合信息读取对应的所述大文件中的所述小文件的数据。


2.根据权利要求1所述的小文件存储方法,其特征在于,所述利用所述文件标识将不同的所述小文件对应的聚合信息添加至不同的元数据表,包括:
针对任一所述小文件对应的聚合信息,查找是否存在数据表名与所述文件标识对应的所述元数据表;
若存在,则将当前小文件对应的聚合信息添加至对应的所述元数据表;
若不存在,则将当前小文件对应的聚合信息添加至空的所述元数据表,并利用所述文件标识生成该元数据表的数据表名。


3.根据权利要求2所述的小文件存储方法,其特征在于,所述将当前小文件对应的聚合信息添加至空的所述元数据表,包括:
将当前小文件对应的聚合信息添加至预先创建的空的所述元数据表;
或,实时创建空的所述元数据表,然后将当前小文件对应的聚合信息添加至该元数据表。


4.根据权利要求2所述的小文件存储方法,其特征在于,所述利用小文件对应的桶名和文件名生成对应的文件标识,包括:
将小文件对应的桶名和文件名生成对应的字符串;
对所述字符串进行哈希运算,得到对应的所述文件标识。


5.根据权利要求4所述的小文件存储方法,其特征在于,所述利用所述文件标识生成该元数据表的数据表名,包括:
读取所述文件标识的首字符;
利用所述首字符和对应的所述桶名生成所述数据表名。

【专利技术属性】
技术研发人员:梁珂铭胡永刚
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东;37

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

1