读取小文件的方法、装置和设备及计算机可读存储介质制造方法及图纸

技术编号:17007769 阅读:26 留言:0更新日期:2018-01-11 04:02
本发明专利技术公开了一种读取小文件的方法,包括根据目标小文件的索引节点,判断缓存中是否存在所述目标小文件;若存在,则直接读取所述目标小文件;若不存在,则获取包含所述目标小文件的聚合文件,将所述聚合文件中的目标小文件读取至所述缓存,在所述缓存中读取所述目标小文件。该方法将目标小文件读取至缓存中,当需要大量读取小文件时,可获得较高的缓存命中率,缩短了小文件的读取IO路径,提高了小文件的读取效率。本发明专利技术还公开了一种读取小文件的装置和设备,均具有上述有益效果。本发明专利技术还公开了一种存储有计算机程序的计算机可读存储介质,也具有上述有益效果。

【技术实现步骤摘要】
读取小文件的方法、装置和设备及计算机可读存储介质
本专利技术涉及分布式存储系统领域,特别是涉及一种读取小文件的方法,还涉及一种读取小文件的装置及设备,也涉及一种存储有计算机程序的计算机可读存储介质。
技术介绍
分布式存储系统,是将数据分散存储在多台独立的设备上,以降低网络压力,具有较高的可靠性和安全性。在存储系统中,小文件场景则是需要考虑的核心场景之一,例如,在一些社交购物网站、广电、网络视频中,都会产生文本、图片、音乐等大量的小文件场景。因此小文件的性能问题是文件系统需要考虑的关键问题之一。在小文件场景下,文件数量众多,磁盘占用率较高;在操作时需要一次写入,多次读写,因此文件操作较为频繁。在现有技术中,每个小文件进行读取时,都需要调用一次数据读取接口,执行一次全读流程,磁盘读数据压力较大。当需要大量读取小文件时,则需要频繁调用所述数据读取接口,小文件读取IO路径较长,且分析元数据、读数据耗时较长,在此种情况下,小文件的读取效率大大降低。因此,如何缩短小文件的读取IO路径,提高小文件的读取效率,是本领域技术人员需要解决的技术问题。
技术实现思路
本专利技术的目的是提供一种读取小文件的方法,该方法能够缩短小文件的读取IO路径,提高小文件的读取效率;本专利技术的另一目的是提供一种读取小文件的装置和设备,均具有上述有益效果;本专利技术的另一目的是提供一种存储有计算机程序的计算机可读存储介质,也具有上述有益效果。为解决上述技术问题,本专利技术提供一种读取小文件的方法,包括:根据目标小文件的索引节点,判断缓存中是否存在所述目标小文件;若存在,则直接读取所述目标小文件;若不存在,则获取包含所述目标小文件的聚合文件,将所述聚合文件中的目标小文件读取至所述缓存,在所述缓存中读取所述目标小文件。优选的,所述获取包含所述目标小文件的聚合文件,将所述聚合文件中的目标小文件读取至所述缓存,在所述缓存中读取所述目标小文件包括:根据所述目标小文件的索引节点,获取所述目标小文件在所述聚合文件中的偏移量,根据所述偏移量计算得出聚合对象;调用数据读取接口,将所述聚合对象读取至所述缓存;根据所述偏移量计算得出所述目标小文件在所述聚合对象中的起始位置和数据长度,根据所述起始位置和数据长度读取所述目标小文件。优选的,该方法还包括:读取所述目标小文件之前,为所述目标小文件设置读写互斥的读锁;读取所述目标小文件之后,解除所述读锁。优选的,该方法还包括:将读取的所述目标小文件发送给用户。为解决上述技术问题,本专利技术还提供一种读取小文件的装置,包括:判断模块,用于根据目标小文件的索引节点,判断缓存中是否存在所述目标小文件;第一读取模块,用于当所述目标小文件存在时,直接读取所述目标小文件;第二读取模块,用于当所述目标小文件不存在时,获取包含所述目标小文件的聚合文件,将所述聚合文件中的目标小文件读取至所述缓存,在所述缓存中读取所述目标小文件。优选的,所述第二读取模块包括:获取子模块,用于从所述聚合文件中获取包含所述目标小文件的聚合对象;第一读取子模块,用于将所述聚合对象读取至所述缓存;第二读取子模块,用于从所述聚合对象中读取所述目标小文件。优选的,该装置还包括:上锁模块,用于在读取所述目标小文件之前,为所述目标小文件设置读写互斥的读锁;解锁模块,用于在读取所述目标小文件之后,解除所述读锁。优选的,该装置还包括:发送模块,用于将读取的所述目标小文件发送给用户。为解决上述技术问题,本专利技术还提供一种读取小文件的装置,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述任一种读取小文件的方法的步骤。为解决上述技术问题,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种读取小文件的方法的步骤。本专利技术所提供的一种读取小文件的方法,包括根据目标小文件的索引节点,判断缓存中是否存在所述目标小文件;若存在,则直接读取所述目标小文件;若不存在,则获取包含所述目标小文件的聚合文件,将所述聚合文件中的目标小文件读取至所述缓存,在所述缓存中读取所述目标小文件。可见,该方法采用聚合功能,有效降低了小文件磁盘占用,提高了磁盘利用率。将小文件读取至所述缓存中,将对小文件的读取转变为读取聚合文件对应区域的数据,当需要大量读取小文件时,可获得较高的缓存命中率,尤其在顺序读场景中,待读取小文件能直接命中客户端缓存,此时,无需多次调用数据读取接口,缩短了小文件的读取IO路径,提高了小文件的读取效率。本专利技术还提供了一种读取小文件的装置和设备,均具有上述有益效果。本专利技术还提供了一种存储有计算机程序的计算机可读存储介质,也具有上述有益效果。附图说明为了更清楚的说明本专利技术实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术提供的一种读取小文件的方法的流程示意图;图2为本专利技术提供的一种读取小文件的装置的示意图;图3为本专利技术提供的一种读取小文件的设备的示意图。具体实施方式本专利技术的核心是提供一种读取小文件的方法,该方法能够缩短小文件的读取IO路径,提高小文件的读取效率;本专利技术的另一核心是提供一种读取小文件的装置及设备,均具有上述有益效果;本专利技术的另一核心是提供一种存储有计算机读取程序的计算机可读存储介质,也具有上述有益效果。为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参考图1,图1为本专利技术提供的一种读取小文件的方法的流程示意图,该方法可以包括:S101:根据目标小文件的索引节点,判断缓存中是否存在所述目标小文件;若存在,则响应S102;若不存在,则响应S103。具体的,当系统创建了一个小文件时,系统就会给所述小文件分配一个索引节点,每个索引节点都保存了对应小文件的元信息数据,如创建、修改时间等等。目标小文件即为用户要读取的小文件,当读取目标小文件时,可以先获取目标小文件的索引节点,根据索引节点判断缓存中是否存在对应的目标小文件。S102:当所述目标小文件存在时,直接读取所述目标小文件;S103:当所述目标小文件不存在时,获取包含所述目标小文件的聚合文件,将所述聚合文件中的目标小文件读取至所述缓存,在所述缓存中读取所述目标小文件。具体的,采用聚合功能,将多个小文件聚合到一个大文件中,即聚合文件。当缓存中存在目标小文件时,可以直接从缓存中读取所述目标小文件,无需调用小文件读取接口;当缓存中不存在目标小文件时,可以根据目标小文件中记录的聚合文件信息找到目标小文件对应的聚合文件,将对小文件的读取转变为读取聚合文件对应区域的数据。所述聚合文件对应区域的数据可以存储于磁盘或者对象存储设备中,在读取小文件时,调用数据读取接口,将聚合文件对应区域的数据读取至缓存中,在缓存中完成对目标小文件的读取。本文档来自技高网...
读取小文件的方法、装置和设备及计算机可读存储介质

【技术保护点】
一种读取小文件的方法,其特征在于,包括:根据目标小文件的索引节点,判断缓存中是否存在所述目标小文件;若存在,则直接读取所述目标小文件;若不存在,则获取包含所述目标小文件的聚合文件,将所述聚合文件中的目标小文件读取至所述缓存,在所述缓存中读取所述目标小文件。

【技术特征摘要】
1.一种读取小文件的方法,其特征在于,包括:根据目标小文件的索引节点,判断缓存中是否存在所述目标小文件;若存在,则直接读取所述目标小文件;若不存在,则获取包含所述目标小文件的聚合文件,将所述聚合文件中的目标小文件读取至所述缓存,在所述缓存中读取所述目标小文件。2.如权利要求1所述的方法,其特征在于,所述获取包含所述目标小文件的聚合文件,将所述聚合文件中的目标小文件读取至所述缓存,在所述缓存中读取所述目标小文件包括:根据所述目标小文件的索引节点,获取所述目标小文件在所述聚合文件中的偏移量,根据所述偏移量计算得出聚合对象;调用数据读取接口,将所述聚合对象读取至所述缓存;根据所述偏移量计算得出所述目标小文件在所述聚合对象中的起始位置和数据长度,根据所述起始位置和数据长度读取所述目标小文件。3.如权利要求2所述的方法,其特征在于,还包括:读取所述目标小文件之前,为所述目标小文件设置读写互斥的读锁;读取所述目标小文件之后,解除所述读锁。4.如权利要求3所述的方法,其特征在于,还包括:将读取的所述目标小文件发送给用户。5.一种读取小文件的装置,其特征在于,包括:判断模块,用于根据目标小文件的索引节点,判断缓存中是否存在所述目标小文件;第...

【专利技术属性】
技术研发人员:张书扬
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1