一种小文件性能优化方法、装置、终端及存储介质与流程

文档序号:24179736发布日期:2021-03-09 11:33阅读:101来源:国知局

1.本发明涉及分布式文件系统小文件处理领域,具体涉及一种小文件性能优化方法、装置、终端及存储介质。


背景技术:

2.在如今的多媒体存储中,数据量几何级增长,尤其是小文件,几k~几十k大小不等,数据巨多,如果使用正常流程一个个存储,会占用大量的io操作,性能低下,所以对于小文件的存储急需新的方案满足多数存储场景的需求。
3.分布式存储可以均衡写入压力,数据可靠性也有很大的提高,同时对小文件的处理也有了一定的提升,但是还是不能满足有些场景的需求。


技术实现要素:

4.为解决上述问题,本发明提供一种小文件性能优化方法、装置、终端及存储介质。
5.本发明的技术方案为:一种小文件性能优化方法,包括以下步骤:将小文件写入聚合文件;对小文件进行读操作时,从聚合文件中读取;聚合文件写满后,统一将其内的小文件向对象存储进行写操作。
6.进一步地,对指定的小文件写入聚合文件,未指定的小文件依旧直接写入对象存储。
7.进一步地,小文件在聚合文件内所占空间向4kb对齐。
8.进一步地,对小文件进行读操作时,根据聚合文件的扩展名和小文件id地址,将小文件从磁盘读取。
9.本发明的技术方案还包括一种小文件性能优化装置,包括,写入模块:将小文件写入聚合文件;读操作模块:对小文件进行读操作时,从聚合文件中读取;写操作模块:聚合文件写满后,统一将其内的小文件向对象存储进行写操作。
10.进一步地,还包括,小文件指定模块:指定写入聚合文件中的小文件;写入模块对指定的小文件写入聚合文件,未指定的小文件依旧直接写入对象存储。
11.进一步地,小文件在聚合文件内所占空间向4kb对齐。
12.进一步地,读操作模块对小文件进行读操作时,根据聚合文件的扩展名和小文件id地址,将小文件从磁盘读取。
13.本发明的技术方案还包括一种终端,包括:处理器;用于存储处理器的执行指令的存储器;其中,所述处理器被配置为执行上述任一项所述的方法。
14.本发明的技术方案还包括一种存储有计算机程序的计算机可读存储介质,该程序被处理器执行时实现上述任一项所述的方法。
15.本发明提供的一种小文件性能优化方法、装置、终端及存储介质,将小文件写入聚合文件,而不是直接写入对象存储,在读操作时,从聚合文件中读取,写操作时,由聚合文件统一向对象存储写操作,能够有效提高小文件写性能,减轻集群对象存储的读写压力提高顺序读性能提高磁盘使用率。
附图说明
16.图1是本发明具体实施例一方法流程示意图;图2是本发明具体实施例二结构示意框图。
具体实施方式
17.下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。
18.如图1所示,本实施例提供一种小文件性能优化方法,包括以下步骤:s1,将小文件写入聚合文件;本实施例将小文件写入聚合文件,而不是直接写入对象存储(object-based storage device,简称osd)。由聚合文件存储,后续读写也由聚合文件操作。
19.需要说明的是,用户也可指定小文件写入聚合文件,对于未指定的小文件依旧写入对象存储,以根据需要对小文件进行处理。
20.另外,小文件在聚合文件内所占空间向4kb对齐。
21.s2,对小文件进行读操作时,从聚合文件中读取;需要说明的是,进行读操作时,根据聚合文件的扩展名和小文件id地址,将小文件从磁盘读取。之后根据小文件记录信息,将数据返回用户。
22.由于每个小文件只占其所在聚合文件的一小部分(,这样就可以提高后续读文件的缓存命中率,尤其是读取顺序和写入顺序差别不大时,命中率可以达到95%以上,可以大幅提高读文件性能,同时减低rados读文件压力。
23.与写不同,在小文件顺序读时,可以有效缩短io路径。原有是在聚合条件下,可以获得99.9%(小文件为4kb),98.4%(小文件为64kb),96.8%(小文件为128kb)的缓存命中率,从而缩短io路径,提升读文件的性能。预计128kb以下小文件,聚合顺序读的性能,要比普通的无预读状态,提高10倍左右。
24.s3,聚合文件写满后,统一将其内的小文件向对象存储进行写操作;假如聚合文件为4kb,那么如果小文件均为4kb,则1024个小文件填满聚合文件,每1024个小文件调用一次写接口进行写操作;若干小文件均为128kb,则最多32个小文件填满聚合文件,每32个小文件调用一次写接口进行写操作。可以极大的缓解小文件场景下,rados写入数据的压力,进而减少客户端对本地缓存(内存)的使用。
25.实施例二如图2所示,本实施例提供一种小文件性能优化装置,包括以下功能模块。
26.写入模块101:将小文件写入聚合文件;
读操作模块102:对小文件进行读操作时,从聚合文件中读取;写操作模块103:聚合文件写满后,统一将其内的小文件向对象存储进行写操作。
27.另外,为满足多样化需求,还设置小文件指定模块100:指定写入聚合文件中的小文件。 写入模块101对指定的小文件写入聚合文件,未指定的小文件依旧直接写入对象存储。
28.本实施例中,小文件在聚合文件内所占空间向4kb对齐。
29.读操作模块102对小文件进行读操作时,根据聚合文件的扩展名和小文件id地址,将小文件从磁盘读取。
30.实施例三本实施例提供一种终端,该终端包括处理器和存储器。
31.存储器用于存储处理器的执行指令。存储器可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。当存储器中的执行指令由处理器执行时,使得终端能够执行上述方法实施例中的部分或全部步骤。
32.处理器为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(integrated circuit,简称ic) 组成,例如可以由单颗封装的ic 所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。
33.实施例四本实施例提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:rom)或随机存储记忆体(英文:random access memory,简称:ram)等。
34.以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1