CN109766318A - 文件读取方法及装置 - Google Patents

文件读取方法及装置 Download PDF

Info

Publication number
CN109766318A
CN109766318A CN201811541620.0A CN201811541620A CN109766318A CN 109766318 A CN109766318 A CN 109766318A CN 201811541620 A CN201811541620 A CN 201811541620A CN 109766318 A CN109766318 A CN 109766318A
Authority
CN
China
Prior art keywords
file
incidence relation
accessed
target
new
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811541620.0A
Other languages
English (en)
Other versions
CN109766318B (zh
Inventor
王勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Big Data Technologies Co Ltd
Original Assignee
New H3C Big Data Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New H3C Big Data Technologies Co Ltd filed Critical New H3C Big Data Technologies Co Ltd
Priority to CN201811541620.0A priority Critical patent/CN109766318B/zh
Publication of CN109766318A publication Critical patent/CN109766318A/zh
Priority to PCT/CN2019/126003 priority patent/WO2020125630A1/zh
Application granted granted Critical
Publication of CN109766318B publication Critical patent/CN109766318B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及一种文件读取方法及装置,所述方法包括:接收文件读取请求,文件读取请求中包括要读取的目标文件的标识;根据目标文件的标识,在本地存储的第一索引信息包括的子文件标识与合并文件标识的映射关系中,查找与目标文件的标识匹配的目标子文件标识及对应的目标合并文件标识;根据目标合并文件标识,在本地存储的第二索引信息包括合并文件标识与HDFS的存储块标识的映射关系中,查找与目标合并文件标识对应的目标存储块标识;按照预设获取条件,确定要获取的与目标文件关联的子文件数量,向HDFS发送文件获取请求,接收并缓存所述HDFS返回的目标文件以及关联文件。本公开可以减少与HDFS的交互,从而降低了HDFS的资源使用率,提高HDFS的处理的效率。

Description

文件读取方法及装置
技术领域
本公开涉及数据存取技术领域,尤其涉及一种文件读取方法及装置。
背景技术
随着大数据时代的到来,在电子商务、社交网站、科研计算等领域中,每天都会有大量的数据产生,传统的单机系统无法解决存储和数据分析等问题,为了提高大量的数据的存储效率,当前通常采用分布式存储体系对数据进行分布式存储。
在当前的分布式存储体系中,一般采用Hadoop作为存储技术,所述Hadoop是一种开源的分布式系统基础架构。Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)中存储的每个文件需要与一个块(Block)对应,HDFS中的主节点(NameNode)为每个文件和其对应的块建立映射关系。。
由此,HDFS比较适合存储数据量较大的文件(例如数据量大于64M或128MB的文件),可以充分利用HDFS的存储资源。若HDFS存储大量数据量小于64M(如图片、文档等仅有10KB~10MB的文件)的文件,由于这些文件远小于HDFS中block块大小,且存储大量数据量较小的文件将占据更多的存储块,因此会降低HDFS的存储资源利用率。而HDFS中存储的文件数量越多,需要建立的映射关系就越多,占用的主节点的内存越多,因此这会极大的占用主节点的内存,导致HDFS存取数据的效率大大降低。
发明内容
有鉴于此,根据本公开的一个方面,提出了一种文件读取方法,所述方法包括:
接收文件读取请求,所述文件读取请求中包括要读取的目标文件的标识;
根据所述目标文件的标识,在本地存储的第一索引信息包括的子文件标识与合并文件标识的映射关系中,查找与所述目标文件的标识匹配的目标子文件标识及对应的目标合并文件标识;其中,合并文件存储于Hadoop分布式文件系统HDFS、且所述合并文件中的子文件有关联关系;
根据所述目标合并文件标识,在本地存储的第二索引信息包括合并文件标识与所述HDFS的存储块标识的映射关系中,查找与所述目标合并文件标识对应的目标存储块标识;
按照预设获取条件,确定要获取的与所述目标文件关联的子文件数量,向所述HDFS发送文件获取请求,所述文件获取请求中包含所述目标存储块标识、目标子文件标识、目标合并文件标识、所述子文件数量,以使所述HDFS在与所述目标存储块标识对应的目标存储块中查找与所述目标合并文件标识对应的目标合并文件,并在所述目标合并文件中查找所述目标文件及数量为所述子文件数量的关联文件;
接收并缓存所述HDFS返回的目标文件以及关联文件。
在一种可能的实施方式中,所述方法还包括:
获取多个文件的历史访问日志,所述历史访问日志中包括多个文件的被访问时间及被访问次数;
针对所述多个文件中的每一文件,根据所述多个文件的被访问时间及被访问次数,在所述多个文件中除该文件之外的其他文件中,确定在访问该文件之后与该文件具有访问关联的至少一文件,并确定该文件的多个第一关联关系,其中,第一关联关系用于表示该文件与至少一文件中任一文件的访问关联;
根据所述多个文件中各文件的第一关联关系,获取第一关联关系数量最多的第一文件,并依据所述第一文件的多个第一关联关系,在所述多个文件中确定在所述第一文件被访问之后依次被访问的至少一关联文件;
将所述第一文件及至少一关联文件存储在第一合并文件中。
在一种可能的实施方式中,所述方法还包括:
在所述多个文件中各文件的第一关联关系中,删除确定至少一关联文件时应用到的第一关联关系,获取剩余的第一关联关系;根据剩余的第一关联关系,获取第一关联关系数量最多的新第一文件;
在所述多个文件中,重复执行依据所述新第一文件的多个第一关联关系确定在所述新第一文件被访问之后依次被访问的至少一关联文件、将所述新第一文件及在新第一文件被访问之后依次被访问的至少一关联文件存储在新第一合并文件中的过程,直到获取不到剩余的第一关联关系。
在一种可能的实施方式中,所述第一关联关系中记录的相关联的两个文件中的一个为前驱文件,另一个为后继文件,后继文件为在访问所述前驱文件之后被访问的文件;则所述根据所述多个文件中各文件的第一关联关系,获取第一关联关系数量最多的第一文件,并依据所述第一文件的多个第一关联关系,在所述多个文件中确定在所述第一文件被访问之后依次被访问的至少一关联文件,包括:
获取包含所述多个文件中各文件的第一关联关系的第一关联关系集合;
在所述第一关联关系集合中,获取以第一文件作为前驱文件出现次数最多的第一目标关联关系集合,并在所述第一目标关联关系集合中,获取第二关联关系,所述第二关联关系为:第一目标关联关系集合中后继文件被访问次数最多的第一关联关系;
若在所述第一关联关系集合中存在前驱文件与第二关联关系的后继文件相同的第三关联关系,从所述第三关联关系中确定后继文件出现次数最多的目标关联关系,将目标关联关系中的文件确定为关联文件;
若在所述第一关联关系集合中不存在前驱文件与第二关联关系的后继文件相同的第三关联关系时,将所述第二关联关系的后继文件确定为关联文件。
在一种可能的实施方式中,所述将目标关联关系中的文件确定为关联文件之后,还包括:
在所述第一关联关系集合中删除所述目标关联关系,得到新第一关联关系集合;重复执行以下操作,直到所述新第一关联关系集合中不存在前驱文件与新第二关联关系的后继文件相同的第三关联关系:
在所述新第一关联关系集合中,获取以第一文件作为前驱文件出现次数最多的新第一目标关联关系集合,并在所述新第一目标关联关系集合中,获取新第二关联关系,所述新第二关联关系为:新第一目标关联关系集合中后继文件被访问次数最多的第一关联关系;
若在所述新第一关联关系集合中存在前驱文件与新第二关联关系的后继文件相同的新第三关联关系时,从所述新第三关联关系中确定后继文件出现次数最多的新目标关联关系,将新目标关联关系中的文件确定为关联文件;以及,删除所述新目标关联关系,获取所述新第一关联关系集合。
在一种可能的实施方式中,通过以下方式确定文件的多个第一关联关系:
根据第二文件的被访问次数、所述第二文件被访问后第三文件的被访问次数,获取所述第二文件被访问后所述第三文件被访问的第一概率,其中,所述第二文件和所述第三文件为所述多个文件中的任意两个不相同的文件;
根据所述第二文件被访问后所述第三文件的被访问次数及所述历史访问日志中所有文件被访问的总次数,获取所述第二文件和所述第三文件都被访问的第二概率;
根据所述历史访问日志中所有文件被访问的总次数、所述第二文件被访问后所述第三文件的被访问次数、所述第二文件被访问的次数及所述第三文件被访问的次数,获取所述第二文件被访问对所述第三文件被访问的影响力值;
当所述第一概率大于第一概率阈值、所述第二概率大于第二概率阈值及所述影响力值大于所述影响力阈值时,确定所述第二文件及所述第三文件具有所述第一关联关系。
在一种可能的实施方式中,其特征在于,所述方法还包括:
将所述第一合并文件发送至所述HDFS,并接收所述HDFS返回的存储所述第一合并文件的第一存储块标识;
创建包含所述第一文件标识与第一合并文件标识的映射关系的第一索引信息、以及包含第一合并文件标识与第一存储块标识的映射关系的第二索引信息。
在一种可能的实施方式中,所述方法还包括:
当接收到的下一文件读取请求中包括与所述目标文件相关联的文件时,若与所述目标文件相关联的文件存储于所述缓存中,则从所述缓存中读取与与所述目标文件相关联的文件。
根据本公开的另一方面,提出了一种文件读取装置,所述装置包括:
接收模块,用于接收文件读取请求,所述文件读取请求中包括要读取的目标文件的标识;
第一查找模块,连接于所述接收模块,用于根据所述目标文件的标识,在本地存储的第一索引信息包括的子文件标识与合并文件标识的映射关系中,查找与所述目标文件的标识匹配的目标子文件标识及对应的目标合并文件标识;其中,合并文件存储于Hadoop分布式文件系统HDFS、且所述合并文件中的子文件有关联关系;
第二查找模块,连接于所述第一查找模块,用于根据所述目标合并文件标识,在本地存储的第二索引信息包括合并文件标识与所述HDFS的存储块标识的映射关系中,查找与所述目标合并文件标识对应的目标存储块标识;
发送模块,连接于所述第二查找模块,用于按照预设获取条件,确定要获取的与所述目标文件关联的子文件数量,向所述HDFS发送文件获取请求,所述文件获取请求中包含所述目标存储块标识、目标子文件标识、目标合并文件标识、所述子文件数量,以使所述HDFS在与所述目标存储块标识对应的目标存储块中查找与所述目标合并文件标识对应的目标合并文件,并在所述目标合并文件中查找所述目标文件及数量为所述子文件数量的关联文件;
缓存模块,连接于所述发送模块,用于接收并缓存所述HDFS返回的目标文件以及关联文件。
在一种可能的实施方式中,所述装置还包括:
第一获取模块,用于获取多个文件的历史访问日志,所述历史访问日志中包括多个文件的被访问时间及被访问次数;
第一确定模块,连接于所述第一获取模块,用于针对所述多个文件中的每一文件,根据所述多个文件的被访问时间及被访问次数,在所述多个文件中除该文件之外的其他文件中,确定在访问该文件之后与该文件具有访问关联的至少一文件,并确定该文件的多个第一关联关系,其中,第一关联关系用于表示该文件与至少一文件中任一文件的访问关联;
第二确定模块,连接于所述第一确定模块,用于根据所述多个文件中各文件的第一关联关系,获取第一关联关系数量最多的第一文件,并依据所述第一文件的多个第一关联关系,在所述多个文件中确定在所述第一文件被访问之后依次被访问的至少一关联文件;
存储模块,连接于所述第二确定模块,用于将所述第一文件及至少一关联文件存储在第一合并文件中。
在一种可能的实施方式中,所述装置还包括:
第二获取模块,连接于所述存储模块,用于在所述多个文件中各文件的第一关联关系中,删除确定至少一关联文件时应用到的第一关联关系,获取剩余的第一关联关系;根据剩余的第一关联关系,获取第一关联关系数量最多的新第一文件;
第三确定模块,连接于所述第二获取模块,用于在所述多个文件中,触发所述第二确定模块重复执行依据所述新第一文件的多个第一关联关系确定在所述新第一文件被访问之后依次被访问的至少一关联文件、将所述新第一文件及在新第一文件被访问之后依次被访问的至少一关联文件存储在新第一合并文件中的过程,直到所述第二获取模块获取不到剩余的第一关联关系。
在一种可能的实施方式中,所述第一关联关系中记录的相关联的两个文件中的一个为前驱文件,另一个为后继文件,后继文件为在访问所述前驱文件之后被访问的文件;则所述第二确定模块,包括:
第一关联关系获取子模块,用于获取包含所述多个文件中各文件的第一关联关系的第一关联关系集合;
第二关联关系获取子模块,连接于所述第一关联关系获取子模块,用于在所述第一关联关系集合中,获取以第一文件作为前驱文件出现次数最多的第一目标关联关系集合,并在所述第一目标关联关系集合中,获取第二关联关系,所述第二关联关系为:第一目标关联关系集合中后继文件被访问次数最多的第一关联关系;
第一关联文件确定子模块,连接于所述第二关联关系获取子模块,用于若在所述第一关联关系集合中存在前驱文件与第二关联关系的后继文件相同的第三关联关系,从所述第三关联关系中确定后继文件出现次数最多的目标关联关系,将目标关联关系中的文件确定为关联文件;
第二关联文件确定子模块,连接于所述第二关联关系获取子模块,用于若在所述第一关联关系集合中不存在前驱文件与第二关联关系的后继文件相同的第三关联关系时,将所述第二关联关系的后继文件确定为关联文件。
在一种可能的实施方式中,所述第二确定模块,还包括:
删除子模块,用于在所述第一关联关系集合中删除所述目标关联关系,得到新第一关联关系集合;
重复确定子模块,连接于所述删除子模块,用于重复触发所述第二关联关系获取子模块、第一关联文件确定子模块执行以下操作,直到所述第二关联文件确定子模块确定新第一关联关系集合中不存在前驱文件与新第二关联关系的后继文件相同的第三关联关系:
在所述新第一关联关系集合中,获取以第一文件作为前驱文件出现次数最多的新第一目标关联关系集合,并在所述新第一目标关联关系集合中,获取新第二关联关系,所述新第二关联关系为:新第一目标关联关系集合中后继文件被访问次数最多的第一关联关系;
若在所述新第一关联关系集合中存在前驱文件与新第二关联关系的后继文件相同的新第三关联关系时,从所述新第三关联关系中确定后继文件出现次数最多的新目标关联关系,将新目标关联关系中的文件确定为关联文件;以及,删除所述新目标关联关系,获取所述新第一关联关系集合。
在一种可能的实施方式中,所述第一确定模块包括:
第一概率获取子模块,用于根据第二文件的被访问次数、所述第二文件被访问后第三文件的被访问次数,获取所述第二文件被访问后所述第三文件被访问的第一概率,其中,所述第二文件和所述第三文件为所述多个文件中的任意两个不相同的文件;
第二概率获取子模块,用于根据所述第二文件被访问后所述第三文件的被访问次数及所述历史访问日志中所有文件被访问的总次数,获取所述第二文件和所述第三文件都被访问的第二概率;
影响力值获取子模块,用于根据所述历史访问日志中所有文件被访问的总次数、所述第二文件被访问后所述第三文件的被访问次数、所述第二文件被访问的次数及所述第三文件被访问的次数,获取所述第二文件被访问对所述第三文件被访问的影响力值;
第一确定子模块,连接于所述第一概率获取子模块、第二概率获取子模块及影响力值获取子模块,用于当所述第一概率大于第一概率阈值、所述第二概率大于第二概率阈值及所述影响力值大于所述影响力阈值时,确定所述第二文件及所述第三文件具有所述第一关联关系。
在一种可能的实施方式中,所述装置还包括:
发送接收模块,用于将所述第一合并文件发送至所述HDFS,并接收所述HDFS返回的存储所述第一合并文件的第一存储块标识;
索引创建模块,连接于所述发送接收模块,用于创建包含所述第一文件标识与第一合并文件标识的映射关系的第一索引信息、以及包含第一合并文件标识与第一存储块标识的映射关系的第二索引信息。
在一种可能的实施方式中,所述装置还包括:
读取模块,用于当接收到的下一文件读取请求中包括与所述目标文件相关联的文件时,若与所述目标文件相关联的文件存储于所述缓存中,则从所述缓存中读取与与所述目标文件相关联的文件。
根据本公开的另一方面,提出了一种文件读取装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述的方法。
根据本公开的另一方面,提出了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现所述的方法。
本公开提供的方法在获取目标文件的同时,还可以获取在下一时刻有可能被访问的关联文件,并将目标文件及关联文件存储在缓存中。当用户在下一时刻发出文件读取请求时,这些存储在缓存中的关联文件可以首先被查询且有很大概率被命中,从而能够减少与HDFS的交互,降低了HDFS的资源使用率,提高HDFS的存取效率,并提高了HDFS处理大量文件的效率。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1-1示出了根据本公开一实施方式的文件读取方法的流程图。
图1-2示出了本公开实施例一可能应用的系统架构示意图。
图2示出了根据本公开一实施方式的文件读取方法的流程图。
图3示出了根据本公开一实施方式的确定第一关联关系的流程图。
图4示出了根据本公开一实施方式的关联文件获取方法的流程图。
图5示出了根据本公开一实施方式的文件关联关系获取的过程示意图。
图6示出了根据本公开一实施方式的文件读取装置的框图。
图7示出了根据本公开一实施方式的文件读取装置的框图。
图8示出了根据本公开一实施方式的第二确定模块的示意图。
图9示出了根据本公开一实施方式的第一确定模块的示意图。
图10示出了根据本公开一实施方式的文件读取系统的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
通过HDFS存取大量的数据量较小的文件通常会存在以下问题:
在HDFS中,海量的数据量较小的文件的元数据信息(描述数据属性的信息,算是一种电子式目录,例如树状目录结构、文件的属性、文件与数据块的映射关系等)通常都存储在NameNode中,这会造成NameNode节点的内存瓶颈问题;读取大量的数据量较小的文件将导致客户端频繁与NameNode节点进行通信,这又会降低NameNode的I/O性能;从HDFS中读取数据量较小的文件,因为数据量较小的文件的数据读取粒度小,且大量的数据量较小的文件存储空间连续性不足,难以发挥HDFS顺序式文件访问的优势。
基于以上问题,本公开提出了一种文件读取方法,以提高通过HDFS读取文件的效率。其中,该文件可以是数据量较小的文件,也可以是数据量较大的文件,本公开并不作特别限定。
请参阅图1-1,图1-1示出了根据本公开一实施方式的文件读取方法的流程图。
请参阅图1-2,图1-2示出了根据本公开一实施方式的文件读取方法的系统架构示意图。
如图1-2所示,所述方法可以应用于服务器1中,以从HDFS2读取文件。
在一种可能的实施方式中,该系统可以包括服务器1和HDFS。服务器1可以是客户端服务器,用户通过客户端访问服务器1,从而利用所述文件读取方法从HDFS2中读取文件。
在一种可能的实施方式中,该系统可以包括服务器1、服务器3和HDFS。所述方法还可以应用于其他的服务器,例如,用户可以通过服务器1调用服务器3的资源来执行所述方法,从而获得目标文件及关联文件。
在其他实施方式中,本公开所述的方法还可以应用于其他的可以进行运算的处理装置(例如终端)中,图1-2所述的系统架构也并非用于限制本公开。
如图1-1所示,所述方法包括步骤S110-S150,以方法应用于服务器为例。各步骤描述具体如下。
步骤S110,接收文件读取请求,所述文件读取请求中包括要读取的目标文件的标识。
在本实施方式中,文件读取请求可以是用户通过客户端发出的文件读取指令,当用户想要获取某个文件时,可以通过客户端发出文件读取请求,以从HDFS中获取对应的文件。文件读取请求中携带了目标文件的标识信息。
服务器接收用户通过客户端或设备终端发送的文件读取请求,该文件读取请求中包括要读取的目标文件的标识。
在一个示例中,目标文件的标识可以是目标文件的唯一标识信息,用于唯一确定目标文件,例如,可以是目标文件的名称等信息进行哈希运算后获得的哈希值,当目标文件的标识是唯一标识信息时,文件的读取属于精确读取。在另一个示例中,目标文件的标识也可以是区别于唯一标识信息的其他信息,例如可以是日期、类别等信息,当目标文件的标识是这类信息时,文件的读取属于模糊读取。
步骤S120,根据所述目标文件的标识,在本地存储的第一索引信息包括的子文件标识与合并文件标识的映射关系中,查找与所述目标文件的标识匹配的目标子文件标识及对应的目标合并文件标识;其中,合并文件存储于Hadoop分布式文件系统HDFS、且所述合并文件中的子文件有关联关系。
在这里,合并文件存储在HDFS,是由多个有关联关系的子文件合并而成。该关联关系可以是访问关联关系,例如,文件1被访问后,下一个被访问的文件是文件2,可以文件2与文件1可以认为是具有关联关系,文件1和文件2可以被合并为合并文件,并将该合并文件存储在HDFS中。
在本实施方式中,服务器可以预先存储有第一索引信息,第一索引信息的创建过程将在后续说明。具体的,第一索引信息可以包括子文件与合并文件的映射关系,该映射关系可以表示为子文件标识与合并文件标识的对应关系,通过该映射关系,可以利用目标文件的标识找到对应的合并文件。
在其他实施方式中,第一索引信息还可以包括子文件在合并文件中的偏移量、以及子文件的大小。子文件的大小可以是子文件在合并文件中占据的长度或者比重,所述的偏移量可以是子文件在合并文件中的起始位置。应该该第一索引信息,在查找到与所述目标文件的标识匹配的目标子文件标识目标文件的标识对应的目标合并文件标识后,还可以在所述第一索引信息包括的子文件在合并文件中的偏移量中,查找与所述目标子文件标识匹配的目标子文件在目标合并文件中的存储位置。
步骤S130,根据所述目标合并文件标识,在本地存储的第二索引信息包括合并文件标识与所述HDFS的存储块标识的映射关系中,查找与所述目标合并文件标识对应的目标存储块标识。
在本实施方式中,服务器还可以预先存储第二索引信息,第二索引信息的创建过程将在后续说明。具体的,第二索引信息可以包括合并文件与HDFS的存储块的映射关系。
在一个示例中,该映射关系可以表示合并文件标识与HDFS的存储块标识的对应关系。通过该映射关系,可以查找目标合并文件标识,以得到目标合并文件的目标存储块标识。可选的,HDFS的存储块标识可以包括HDFS的块地址信息。
在另一个示例中,合并文件与HDFS的存储块的映射关系还可以是合并文件的标识与HDFS中的存储块的对应关系,根据该映射关系可以找到合并文件在HDFS中的存储位置。
步骤S140,按照预设获取条件,确定要获取的与所述目标文件关联的子文件数量,向所述HDFS发送文件获取请求,所述文件获取请求中包含所述目标存储块标识、目标子文件标识、目标合并文件标识、所述子文件数量,以使所述HDFS在与所述目标存储块标识对应的目标存储块中查找与所述目标合并文件标识对应的目标合并文件,并在所述目标合并文件中查找所述目标文件及数量为所述子文件数量的关联文件。
HDFS在获得文件获取请求后,根据文件获取请求中包含的所述目标存储块标识、目标子文件标识、目标合并文件标识、所述子文件数量,获取目标文件及数量为所述子文件数量的关联文件。HDFS查找到目标文件和数量为子文件数量的关联文件后,将该目标文件和关联文件向服务器发送。
在本实施方式中,HDFS可以获取目标合并文中与目标子文件存储位置接近的所述子文件数量个的子文件(即关联文件)。
例如,HDFS在接收到文件获取请求后,通过namenode查询目标子文件、目标合并文件、目标存储块对应的元数据信息,在确定目标子文件后,通过namenode确定目标合并文件中与目标子文件相邻的所述子文件数量各子文件的元数据信息,然后从datanode获取目标文件及数量为所述子文件数量的关联文件,并发送给请求方。在一种可能的情况中,有可能根据第一索引信息匹配出多个目标合并文件标识,进而根据第二索引信息匹配出多个目标存储块标识。此时可以从中任选一个目标合并文件标识及对应的目标存储块标识,并执行步骤S140。在其他示例中,还可以针对每一个目标合并文件标识及对应的目标存储块标识,均执行步骤140,即均发送一文件获取请求,以获取目标文件及数量为所述子文件数量的关联文件。步骤S150,接收并缓存所述HDFS返回的目标文件以及关联文件。
具体的,可以将所述HDFS返回的目标文件以及关联文件缓存到服务器的缓存空间或其他存储空间中。在下一次的针对相同文件的文件读取请求,可以直接从缓存中获取文件,从而减少了与HDFS的交互,这样可以节约HDFS的资源,提高HDFS的存取效率。
由于本公开实施方式是将合并文件存储在HDFS中,并且在第一索引信息及第二索引信息中记录了合并文件与各个子文件的映射关系、合并文件与HDFS的存储块的映射关系,因此,可以通过本公开实施方式所述的方法,利用目标文件的标识、第一索引信息、第二索引信息快速获取目标文件及关联文件,并存储在缓存中。由上可知,本公开实施例提供的方法在获取目标文件的同时,还可以获取在下一时刻有可能被访问的关联文件,并将目标文件及关联文件存储在缓存中。当用户在下一时刻发出文件读取请求时,这些存储在缓存中的关联文件可以首先被查询且有很大概率被命中,从而能够减少与HDFS的交互,降低了HDFS的资源使用率,提高HDFS的存取效率,并提高了HDFS处理大量文件的效率。
此外,HDFS中存储的是多个具有访问关联的文件合并的文件,可以发挥HDFS顺序式文件访问的优势。
考虑到网络资源,一般情况下不会获取目标文件的所有关联文件,因此有必要提供一种方案,能够在平衡网络资源的情况下,获取最大数量的关联文件。因此在一种可能的实施方式中,所述预设获取条件可以包括:
M×t1<tm-th,其中,M表示子文件的数目,t1表示读取一个子文件耗费的时间,tm表示用户最大等待时间,th表示获取HDFS数据返回时间。
在本实施方式中,通过用户最大等待时间、HDFS数据返回时间及读取一个子文件耗费的时间可以确定获取子文件数量的最佳数目,在优化用户体验(最大等待时间)的同时提高读取效率。
请参阅图2,图2示出了根据本公开一实施方式的文件读取方法的流程图,其中,步骤S201-S260主要讲文件合并的过程,该过程可以在前述S110之前执行。
步骤S210,获取多个文件的历史访问日志。
在本实施方式中,历史访问日志中包括多个文件的被访问时间及被访问次数。
在一种可能的实施方式中,可以对历史访问日志的获取时间进行限定,例如,可以获取一定时间段内的历史访问日志。
在一个示例中,历史访问日志格式可以如下表1所示。
表1
被访问文件 被访问时间
文件1 2015/1/1 12:00:00
文件2 2015/1/1 12:01:30
文件3 2015/1/2 13:02:50
文件1 2015/1/2 13:04:35
文件1 2015/1/2 13:05:00
文件3 2015/1/3 05:22:56
文件4 2015/1/4 15:07:26
文件5 2015/1/4 19:38:23
文件6 2015/1/6 09:18:07
文件5 2015/1/6 12:56:22
假设获取2015/1/1至2015/1/3的历史访问日志,则获取的历史访问日志中包括文件1、2、3的被访问时间和被访问次数。
步骤S220,针对所述多个文件中的每一文件,根据所述多个文件的被访问时间及被访问次数,在所述多个文件中除该文件之外的其他文件中,确定在访问该文件之后与该文件具有访问关联的至少一文件,并确定该文件的多个第一关联关系,其中,第一关联关系用于表示该文件与至少一文件中任一文件的访问关联。
以上述表1为例,根据文件1、2、3的被访问时间和被访问次数,可以确定在访问文件1后与文件1具有访问关联的文件包括文件2和文件3,在访问文件2后与文件2具有访问关联的文件包括文件1和文件3,在访问文件3后与文件3具有访问关联的文件包括文件2。此外,还可以确定文件1的2个第一关联关系,文件2的1个第一关联关系,文件3的1个第一关联关系。
假设用(文件A,文件B)的方式表示第一关联关系,其中,该方式可以表示在文件A被访问后、文件B被随之访问,即用户在访问文件A后,下一次访问文件B。那么文件1的第一关联关系可以为(文件1,文件2)、(文件1,文件3),文件2的第一关联关系可以为(文件2,文件3),文件3的第一关联关系可以为(文件3,文件1)。
步骤S230,根据所述多个文件中各文件的第一关联关系,获取第一关联关系数量最多的第一文件,并依据所述第一文件的多个第一关联关系,在所述多个文件中确定在所述第一文件被访问之后依次被访问的至少一关联文件。
仍然以前述示例为例,比较文件1-3的第一关联关系数量,可以确定第一关联关系数量最多的第一文件:文件1。则可以确定文件1被访问之后依次被访问的文件是文件2、文件3。
步骤S240,将所述第一文件及至少一关联文件存储在第一合并文件中。
在本实施方式中,可以对第一文件及至少一关联文件进行合并,从而获得合并文件。
在一个示例中,可以按照被访问顺序,将第一文件及至少一关联文件顺次连续地存储,合并成第一合并文件。在另一个示例中,可以按照被访问顺序,将第一文件及至少一关联文件顺次连续地存储在第一合并文件中。在这里,顺次连续是指各文件的存储位置连续。
示例性的,可以将前述示例中的文件1存储在地址0000H~0FFFH(其中,H表示16进制),将文件2存储在地址1000H~EFFFH,将文件3存储在地址F000H~FFFFH,此时可以认为第一合并文件为地址0000H~FFFFH存储的数据。
在另一个示例中,可以预先开辟一个存储空间作为第一合并文件的存储空间。例如,可以将地址0000H~FFFFH表示的空间作为第一合并文件的存储空间,然后将文件1-3分别存储至0000H~0FFFH、1000H~EFFFH、0000H~FFFFH。
步骤S250,在所述多个文件中各文件的第一关联关系中,删除确定至少一关联文件时应用到的第一关联关系,获取剩余的第一关联关系;根据剩余的第一关联关系,获取第一关联关系数量最多的新第一文件。
仍然以前述示例为例,将文件1、2、3合并后,应用到的第一关联关系为(文件1,文件2)、(文件2,文件3),则剩余的第一关联关系为(文件1,文件3)、(文件3,文件1),执行获取第一关联关系数量最多的新第一文件。由于文件1(文件1,文件3)和文件3(文件3,文件1)的第一关联关系数量一样,此时可以任意选择一文件作为新第一文件:文件3。
步骤S260,在所述多个文件中,重复执行依据所述新第一文件的多个第一关联关系确定在所述新第一文件被访问之后依次被访问的至少一关联文件、将所述新第一文件及在新第一文件被访问之后依次被访问的至少一关联文件存储在新第一合并文件中过程,直到获取不到剩余的第一关联关系。
仍然以前述示例为例,通过步骤S260将文件3和1、文件1和文件3合并后,没有剩余的第一关联关系了,此时结束流程。
通过以上方法,本公开提供的实施方式可以将多个文件中具有关联性的文件合并为一个合并文件,在该合并文件中,包括多个子文件,合并文件中的各个子文件都具有关联性。
在一种可能的实施方式中,关联关系可以包括关联的文件的标识信息,例如,在合并文件中,子文件A与子文件B具有文件关联关系,则所述关联关系可以为(子文件A,子文件B);子文件A、子文件B、子文件C…子文件N具有文件关联关系,则所述关联关系可以为(子文件A,文件B,子文件C,…,子文件N)。当然,在其他实施方式中,可以采用其他的形式记录多个文件的关联关系,在此不做限定。另外,所述关联关系的确定方法将在下面的内容以第一关联关系为例进行介绍。
请参阅图3,图3示出了根据本公开一实施方式的确定第一关联关系的流程图。在一种可能的实施方式中,如图3所示,可以通过以下方式确定文件的第一关联关系。
步骤S410,根据第二文件的被访问次数、所述第二文件被访问后第三文件的被访问次数,获取所述第二文件被访问后所述第三文件被访问的第一概率,其中,所述第二文件和所述第三文件为所述多个文件中的任意两个不相同的文件。
在一种可能的实施方式中,可以通过如下公式获取所述第一概率:P(B|A)=NAB/NA,其中,P(B|A)为所述第一概率,NAB为所述第二文件被访问后所述第三文件的被访问次数,所述NA为所述第二文件的被访问次数,A表示所述第二文件,B表示所述第三文件。
步骤S420,根据所述第二文件被访问后所述第三文件的被访问次数及所述历史访问日志中所有文件被访问的总次数,获取所述第二文件和所述第三文件都被访问的第二概率。
在一种可能的实施方式中,通过如下公式获取所述第二概率:P(AB)=NAB/N,其中,P(AB)为所述第二概率,N为所述历史访问日志中所有文件被访问的总次数。
步骤S430,根据所述历史访问日志中所有文件被访问的总次数、所述第二文件被访问后所述第三文件的被访问次数、所述第二文件被访问的次数及所述第三文件被访问的次数,获取所述第二文件被访问对所述第三文件被访问的影响力值。
在一种可能的实施方式中,通过如下公式获取所述影响力值:I(B|A)=(N×NAB)/(NA×NB),其中I(B|A)为所述影响力值,NB为所述第三文件被访问的次数。
步骤S440,当所述第一概率大于第一概率阈值、所述第二概率大于第二概率阈值及所述影响力值大于所述影响力阈值时,确定所述第二文件及所述第三文件具有所述第一关联关系。
在一种可能的实施方式中,通过如下公式确定第二文件、第三文件具有所述第一关联关系:
(A,B)={(A,B)|P(B|A)>min_P(B|A)&&P(AB)>min_P(AB)&&I(B|A)>min_I(B|A)},其中,min_P(B|A)为所述第一概率阈值,min_P(AB)为所述第二概率阈值,min_I(B|A)为所述影响力阈值,(A,B)为第二文件A和第三文件B具有的第一关联关系。
示例性的,可以先对多个文件中的某一个文件与其他文件的第一概率是否大于第一概率阈值进行判断,以获取大于第一概率阈值的文件集合。例如,在A,B,C,D,E,F及G文件中,文件A与文件B,文件A与文件C,文件A与文件D,文件C与文件F的第一概率大于第一概率阈值,则此时的文件集合包括A,B,C,D,F。
然后对符合第一概率阈值的文件集合中的某一个文件与其他文件的第二概率是否大于第二概率阈值进行判断,以获取符合第二概率阈值的文件集合。例如,在文件集合包括A,B,C,D,F时,若文件A与文件B,文件A与文件C,文件C与文件F的第二概率大于第二概率阈值,则此时的文件集合包括A,B,C,F。
最后对符合第二概率阈值的文件集合中的某一个文件与其他文件的影响力值是否大于影响力阈值进行判断。例如,在文件集合包括A,B,C,F时,若文件A对文件C的影响力值及文件C与文件F的影响力值大于影响力阈值,则可以确定文件A与文件C、以及文件C与文件F具有第一关联关系,那么此时的第一关联关系集合可以包括(文件A,文件C)、(文件C,文件F),与此对应的是,此时的文件集合中包括A,C,F三个文件。
应该明白的是,以上获取第一关联关系集合及符合第一关联关系集合中的关联关系的文件集合的过程是示例性的,示例中的文件的数量并不用于限制本公开。
由前述可知,第一关联关系是可以用于表示两个文件之间的关联关系的。若将具有所述第一关联关系的两个文件如果合并,由于文件的大小有可能在在10KB~10MB,合并后的文件依然会小于HDFS的块存储大小(例如:64MB),且合并后的文件依然数量庞大,这并不能最大限度地减少与HDFS交互的次数及HDFS中主节点的内存。因此有必要尽可能地确定尽量多的文件之间的关联关系,以尽可能地合并尽量多的文件。请参阅图4,图4示出了根据本公开一实施方式的关联文件获取方法的流程图,该实施方式可以尽可能地确定尽量多的文件之间的关联关系,以尽可能地合并尽量多的文件。
在本实施方式中,所述第一关联关系中记录的相关联的两个文件中的一个为前驱文件,另一个为后继文件,后继文件为在访问所述前驱文件之后被访问的文件。下面结合图5,对图4所示的方法进行说明。
步骤S231,获取包含所述多个文件中各文件的第一关联关系的第一关联关系集合。
以图5为例,第一关联关系集合250中包括各文件的多个第一关联关系,例如文件file1的第一关联关系(file1,file7)、文件file3的第一关联关系(file3,file5)等。各个第一关联关系都包括前驱文件及后继文件,例如对于第一关联关系(file1,file7),其对应的前驱文件为file1,后继文件为file7。
步骤S232,在所述第一关联关系集合中,获取以第一文件作为前驱文件出现次数最多的第一目标关联关系集合,并在所述第一目标关联关系集合中,获取第二关联关系,所述第二关联关系为:第一目标关联关系集合中后继文件被访问次数最多的第一关联关系。
以图5为例,获取第一关联关系集合250中的第一目标关联关系,也即以第一文件作为前驱文件出现次数最多的第一关联关系,以获得第一目标关联关系集合260。然后在第一目标关联关系集合260中选择:第一目标关联关系集合中后继文件被访问次数最多的第一关联关系(第一概率最大的第一关联关系)。在第一目标关联关系集合260中,(file1,file7)的第一概率最大,因此,将(file1,file7)作为所述第二关联关系。
步骤S233,若在所述第一关联关系集合中存在前驱文件与第二关联关系的后继文件相同的第三关联关系,从所述第三关联关系中确定后继文件出现次数最多的目标关联关系,将目标关联关系中的文件确定为关联文件。
以图5为例,以第二关联关系(file1,file7)的后继文件file7作为前驱文件,获得第一关联关系集合250中以file7为前驱文件的多个第一关联关系作为第三关联关系270,其中,第三关联关系270可以是一个集合。在该示例中,第三关联关系270包括两个以file7为前驱文件的第一关联关系(file7,file5),(file7,file3),其中,作为后继文件的file5被访问次数最多(第一概率最大),因此将第一关联关系(file7,file5)作为所述目标关联关系,并将目标关联关系中的文件file7、file5作为关联文件。
在一种可能的实施方式中,可以将第一关联关系(file7,file5)的后继文件file5合并(记录)到第二关联关系(file1,file7)中,以生成更新后的第二关联关系(file1,file7,file5),并将第一关联关系(file1,file7)从第一关联关系集合中删除。应该说明的是,第一关联关系(file7,file5)在被更新为第二关联关系(file1,file7,file5)后可以被认为已被删除。在其他实施方式中,若第一关联关系(file7,file5)未被第二关联关系(file1,file7,file5)覆盖,则可以将其从第一关联关系集合中删除。
步骤S234,若在所述第一关联关系集合中不存在前驱文件与第二关联关系的后继文件相同的第三关联关系时,将所述第二关联关系的后继文件确定为关联文件。
以图5为例,若在第一关联关系集合中不存在前述的第一关联关系(file7,file5),(file7,file3),则可以将第二关联关系(file1,file7)的后继文件file7确定为第一文件file1的关联文件。步骤S235,在所述第一关联关系集合中删除所述目标关联关系,得到新第一关联关系集合;
步骤S236,重复执行以下操作,直到所述新第一关联关系集合中不存在前驱文件与新第二关联关系的后继文件相同的第三关联关系:
在所述新第一关联关系集合中,获取以第一文件作为前驱文件出现次数最多的新第一目标关联关系集合,并在所述新第一目标关联关系集合中,获取新第二关联关系,所述新第二关联关系为:新第一目标关联关系集合中后继文件被访问次数最多的第一关联关系;
若在所述新第一关联关系集合中存在前驱文件与新第二关联关系的后继文件相同的新第三关联关系时,从所述新第三关联关系中确定后继文件出现次数最多的新目标关联关系,将新目标关联关系中的文件确定为关联文件;以及,删除所述新目标关联关系,获取所述新第一关联关系集合。
以图5为例,在获得第一文件file1的关联文件file7及file5后,还可以以file5(此时,file5为后继文件)为前驱文件,寻找第一关联关系集合250中是否存在以file5为前驱文件的第一关联关系,如果不存在,则最终将文件file7及文件file5作为第一文件file1的关联文件;如果存在,则按照步骤前述步骤S231~步骤S234继续获取关联文件。
在本示例中,在第一关联关系集合250中,不存在以file5为前驱文件的第一关联关系,因此,最终,第一文件file1的关联文件包括文件file7及文件file5。
当在第一关联关系集合中不存在目标关联关系,使得第一文件的关联文件的确定流程结束后,可以重新获得新第一文件,并按照步骤S231~步骤S235获取新第一文件的关联文件,直到第一关联关系集合为空。
应该明白的是,以上仅是对步骤S231-步骤S235的过程的示例性说明,并非用于穷举,也并非用于限定本公开。
应该说明的是,根据以上步骤对获取关联文件时,可以在第一关联关系集合依次删除确定的目标关联关系,直到第一关联关系集合中为空时,完成所有的第一文件的关联文件的确定。
本公开提供的实施方式可以利用第一关联关系集合中的第一关联关系,获取尽量多的与第一文件相关联的关联文件,在获得第一文件的关联文件后,将第一文件及关联文件进行合并以得到合并文件,合并后得到的合并文件能够最大可能地符合HDFS的存储要求。
在一种可能的实施方式中,所述方法还可以包括:
将所述第一合并文件发送至所述HDFS,并接收所述HDFS返回的存储所述第一合并文件的第一存储块标识;
创建包含所述第一文件标识与第一合并文件标识的映射关系的第一索引信息、以及包含第一合并文件标识与第一存储块标识的映射关系的第二索引信息。
在一种可能的实施方式中,第一合并文件可以存储在HDFS中预先建立的合并文件空间中,合并文件空间可以是HDFS中“块”大小的整数倍,例如,当一个“块”的大小为64MB时,可以设置所述预设合并文件空间的大小为64MB、128MB、256MB或512MB等。
在一种可能的实施方式中,在创建第一索引信息及第二索引信息后,可以将第一索引信息及第二索引信息存储在本地的存储系统中,以便于后续调取。
通过将具有关联性的文件(相对而言是数据量较小的文件)合并成合并文件(相对而言是数据量较大的文件),将合并文件存储到HDFS中,可以节约HDFS的存储资源。
在一种可能的应用场景中,用户通过客户端获取HDFS中的目标文件后,可能还会获取其他的文件。如果采用普通的方法获取其他的文件,且获取的文件的数目较多时,基于HDFS的文件存取机制,势必会大量消耗HDFS的NameNode节点的内存,客户端与NameNode节点的交互次数与需要后去的文件的数目相同,此时HDFS的性能将会被降低,文件存取的效率低下。
基于此,服务器在请求获取用户需要的目标文件时,一并请求获取与所述目标文件相关联的至少一关联文件,并将获取到的目标文件及关联文件送入缓存中。当接收到用户下一次的文件读取请求时,服务器就将缓存中文件与文件读取请求中的目标文件标识匹配,由于缓存中的文件是具有访问关联性的,因此有大可能匹配到此文件读取请求的目标文件。这样不仅提高了文件读取的速度、命中率,还降低了NameNode节点的内存占用率,减少了客户端与NameNode节点的交互次数,提升了系统的性能。
通过以上方法,可以将相关联的多个文件合并为合并文件,以符合HDFS的存储合并文件的机制,从而提高文件的存储效率,将多个文件合并成合并文件存储后,HDFS的内存等资源的使用也被降低,提升了系统的性能。
请参阅图6,图6示出了根据本公开一实施方式的文件读取装置的框图。
如图6所示,所述装置包括:
接收模块10,用于接收文件读取请求,所述文件读取请求中包括要读取的目标文件的标识;
第一查找模块20,连接于所述接收模块10,用于根据所述目标文件的标识,在本地存储的第一索引信息包括的子文件标识与合并文件标识的映射关系中,查找与所述目标文件的标识匹配的目标子文件标识及对应的目标合并文件标识;其中,合并文件存储于Hadoop分布式文件系统HDFS、且所述合并文件中的子文件有关联关系;
第二查找模块30,连接于所述第一查找模块20,用于根据所述目标合并文件标识,在本地存储的第二索引信息包括合并文件标识与所述HDFS的存储块标识的映射关系中,查找与所述目标合并文件标识对应的目标存储块标识;
发送模块40,连接于所述第二查找模块30,用于按照预设获取条件,确定要获取的与所述目标文件关联的子文件数量,向所述HDFS发送文件获取请求,所述文件获取请求中包含所述目标存储块标识、目标子文件标识、目标合并文件标识、所述子文件数量,以使所述HDFS在与所述目标存储块标识对应的目标存储块中查找与所述目标合并文件标识对应的目标合并文件,并在所述目标合并文件中查找所述目标文件及数量为所述子文件数量的关联文件;
缓存模块50,连接于所述发送模块40,用于接收并缓存所述HDFS返回的目标文件以及关联文件。
应该明白的是,所述的文件读取装置为前述的文件读取方法对应的装置项,其具体介绍请参考之前对方法的描述,在此不再赘述。
本公开所述的装置,通过获取需要的文件及需要的文件相关的其他文件,并将这些文件存储在缓存中,当用户在下一时刻发出文件读取请求时,这些存储在缓存中的文件可以首先被检索,以减少与HDFS的交互,从而降低了HDFS的资源使用率,并提高了HDFS处理大量文件的效率。
请参阅图7,图7示出了根据本公开一实施方式的文件读取装置的框图。
如图7所示,所述装置还包括:
第一获取模块61,用于获取多个文件的历史访问日志,所述历史访问日志中包括多个文件的被访问时间及被访问次数;
第一确定模块62,连接于所述第一获取模块61,用于针对所述多个文件中的每一文件,根据所述多个文件的被访问时间及被访问次数,在所述多个文件中除该文件之外的其他文件中,确定在访问该文件之后与该文件具有访问关联的至少一文件,并确定该文件的多个第一关联关系,其中,第一关联关系用于表示该文件与至少一文件中任一文件的访问关联;
第二确定模块63,连接于所述第一确定模块62,用于根据所述多个文件中各文件的第一关联关系,获取第一关联关系数量最多的第一文件,并依据所述第一文件的多个第一关联关系,在所述多个文件中确定在所述第一文件被访问之后依次被访问的至少一关联文件;
存储模块64,连接于所述第二确定模块63,用于将所述第一文件及至少一关联文件存储在第一合并文件中。
第二获取模块71,连接于所述存储模块64,用于在所述多个文件中各文件的第一关联关系中,删除确定至少一关联文件时应用到的第一关联关系,获取剩余的第一关联关系;根据剩余的第一关联关系,获取第一关联关系数量最多的新第一文件;
第三确定模块72,连接于所述第二获取模块71,用于在所述多个文件中,触发所述第二确定模块重复执行依据所述新第一文件的多个第一关联关系确定在所述新第一文件被访问之后依次被访问的至少一关联文件、将所述新第一文件及在新第一文件被访问之后依次被访问的至少一关联文件存储在新第一合并文件中的过程,直到所述第二获取模块获取不到剩余的第一关联关系。
发送接收模块81,连接于存储模块64,用于将所述第一合并文件发送至所述HDFS,并接收所述HDFS返回的存储所述第一合并文件的第一存储块标识;
索引创建模块82,连接于所述发送接收模块81,用于创建包含所述第一文件标识与第一合并文件标识的映射关系的第一索引信息、以及包含第一合并文件标识与第一存储块标识的映射关系的第二索引信息。
读取模块90,连接于缓存模块50,可以当接收到的下一文件读取请求中包括与所述目标文件相关联的文件时,若与所述目标文件相关联的文件存储于所述缓存中,则从所述缓存中读取与与所述目标文件相关联的文件。
应该明白的是,所述的文件读取装置为前述的文件读取方法对应的装置项,其具体介绍请参考之前对方法的描述,在此不再赘述。
请参阅图8,图8示出了根据本公开一实施方式的第二确定模块的示意图。
在一种可能的实施方式中,所述第一关联关系中记录的相关联的两个文件中的一个为前驱文件,另一个为后继文件,后继文件为在访问所述前驱文件之后被访问的文件。
如图8所示,所述第二确定模块63,包括:
第一关联关系获取子模块631,用于获取包含所述多个文件中各文件的第一关联关系的第一关联关系集合;
第二关联关系获取子模块632,连接于所述第一关联关系获取子模块631,用于在所述第一关联关系集合中,获取以第一文件作为前驱文件出现次数最多的第一目标关联关系集合,并在所述第一目标关联关系集合中,获取第二关联关系,所述第二关联关系为:第一目标关联关系集合中后继文件被访问次数最多的第一关联关系;
第一关联文件确定子模块633,连接于所述第二关联关系获取子模块632,用于若在所述第一关联关系集合中存在前驱文件与第二关联关系的后继文件相同的第三关联关系,从所述第三关联关系中确定后继文件出现次数最多的目标关联关系,将目标关联关系中的文件确定为关联文件;
第二关联文件确定子模块634,连接于所述第二关联关系获取子模块632,用于若在所述第一关联关系集合中不存在前驱文件与第二关联关系的后继文件相同的第三关联关系时,将所述第二关联关系的后继文件确定为关联文件。
删除子模块635,用于在所述第一关联关系集合中删除所述目标关联关系,得到新第一关联关系集合;
重复确定子模块636,连接于删除子模块635,用于重复触发所述第二关联关系获取子模块、第一关联文件确定子模块执行以下操作,直到所述第二关联文件确定子模块确定新第一关联关系集合中不存在前驱文件与新第二关联关系的后继文件相同的第三关联关系:在所述新第一关联关系集合中,获取以第一文件作为前驱文件出现次数最多的新第一目标关联关系集合,并在所述新第一目标关联关系集合中,获取新第二关联关系,所述新第二关联关系为:新第一目标关联关系集合中后继文件被访问次数最多的第一关联关系;
若在所述新第一关联关系集合中存在前驱文件与新第二关联关系的后继文件相同的新目标关联关系时,将新目标关联关系中的文件确定为关联文件;以及,删除所述新目标关联关系,获取所述新第一关联关系集合。
应该明白的是,所述的文件读取装置为前述的文件读取方法对应的装置项,其具体介绍请参考之前对方法的描述,在此不再赘述。
请参阅图9,图9示出了根据本公开一实施方式的第一确定模块的示意图。
如图9所示,所述第一确定模块62包括:
第一概率获取子模块621,用于根据第二文件的被访问次数、所述第二文件被访问后第三文件的被访问次数,获取所述第二文件被访问后所述第三文件被访问的第一概率,其中,所述第二文件和所述第三文件为所述多个文件中的任意两个不相同的文件;
第二概率获取子模块622,用于根据所述第二文件被访问后所述第三文件的被访问次数及所述历史访问日志中所有文件被访问的总次数,获取所述第二文件和所述第三文件都被访问的第二概率;
影响力值获取子模块623,用于根据所述历史访问日志中所有文件被访问的总次数、所述第二文件被访问后所述第三文件的被访问次数、所述第二文件被访问的次数及所述第三文件被访问的次数,获取所述第二文件被访问对所述第三文件被访问的影响力值;
第一确定子模块624,连接于所述第一概率获取子模块624、第二概率获取子模块622及影响力值获取子模块623,用于当所述第一概率大于第一概率阈值、所述第二概率大于第二概率阈值及所述影响力值大于所述影响力阈值时,确定所述第二文件及所述第三文件具有所述第一关联关系。
应该明白的是,所述的文件读取装置为前述的文件读取方法对应的装置项,其具体介绍请参考之前对方法的描述,在此不再赘述。
请参阅图10,图10示出了根据本公开一实施方式的文件读取系统的框图。
参照图10,该系统900可包括处理器901、存储有机器可执行指令的机器可读存储介质902。处理器901与机器可读存储介质902可经由系统总线903通信。并且,处理器901通过读取机器可读存储介质902中与文件读取逻辑对应的机器可执行指令以执行上文所述的文件读取方法。
本文中提到的机器可读存储介质902可以是任何电子、磁性、光学或其它物理存储系统,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (15)

1.一种文件读取方法,其特征在于,所述方法包括:
接收文件读取请求,所述文件读取请求中包括要读取的目标文件的标识;
根据所述目标文件的标识,在本地存储的第一索引信息包括的子文件标识与合并文件标识的映射关系中,查找与所述目标文件的标识匹配的目标子文件标识及对应的目标合并文件标识;其中,合并文件存储于Hadoop分布式文件系统HDFS、且所述合并文件中的子文件有关联关系;
根据所述目标合并文件标识,在本地存储的第二索引信息包括合并文件标识与所述HDFS的存储块标识的映射关系中,查找与所述目标合并文件标识对应的目标存储块标识;
按照预设获取条件,确定要获取的与所述目标文件关联的子文件数量,向所述HDFS发送文件获取请求,所述文件获取请求中包含所述目标存储块标识、目标子文件标识、目标合并文件标识、所述子文件数量,以使所述HDFS在与所述目标存储块标识对应的目标存储块中查找与所述目标合并文件标识对应的目标合并文件,并在所述目标合并文件中查找所述目标文件及数量为所述子文件数量的关联文件;
接收并缓存所述HDFS返回的目标文件以及关联文件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取多个文件的历史访问日志,所述历史访问日志中包括多个文件的被访问时间及被访问次数;
针对所述多个文件中的每一文件,根据所述多个文件的被访问时间及被访问次数,在所述多个文件中除该文件之外的其他文件中,确定在访问该文件之后与该文件具有访问关联的至少一文件,并确定该文件的多个第一关联关系,其中,第一关联关系用于表示该文件与至少一文件中任一文件的访问关联;
根据所述多个文件中各文件的第一关联关系,获取第一关联关系数量最多的第一文件,并依据所述第一文件的多个第一关联关系,在所述多个文件中确定在所述第一文件被访问之后依次被访问的至少一关联文件;
将所述第一文件及至少一关联文件存储在第一合并文件中。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述多个文件中各文件的第一关联关系中,删除确定至少一关联文件时应用到的第一关联关系,获取剩余的第一关联关系;根据剩余的第一关联关系,获取第一关联关系数量最多的新第一文件;
在所述多个文件中,重复执行依据所述新第一文件的多个第一关联关系确定在所述新第一文件被访问之后依次被访问的至少一关联文件、将所述新第一文件及在新第一文件被访问之后依次被访问的至少一关联文件存储在新第一合并文件中的过程,直到获取不到剩余的第一关联关系。
4.根据权利要求2所述的方法,其特征在于,所述第一关联关系中记录的相关联的两个文件中的一个为前驱文件,另一个为后继文件,后继文件为在访问所述前驱文件之后被访问的文件;则所述根据所述多个文件中各文件的第一关联关系,获取第一关联关系数量最多的第一文件,并依据所述第一文件的多个第一关联关系,在所述多个文件中确定在所述第一文件被访问之后依次被访问的至少一关联文件,包括:
获取包含所述多个文件中各文件的第一关联关系的第一关联关系集合;
在所述第一关联关系集合中,获取以第一文件作为前驱文件出现次数最多的第一目标关联关系集合,并在所述第一目标关联关系集合中,获取第二关联关系,所述第二关联关系为:第一目标关联关系集合中后继文件被访问次数最多的第一关联关系;
若在所述第一关联关系集合中存在前驱文件与第二关联关系的后继文件相同的第三关联关系,从所述第三关联关系中确定后继文件出现次数最多的目标关联关系,将目标关联关系中的文件确定为关联文件;
若在所述第一关联关系集合中不存在前驱文件与第二关联关系的后继文件相同的第三关联关系时,将所述第二关联关系的后继文件确定为关联文件。
5.根据权利要求4所述的方法,其特征在于,所述将目标关联关系中的文件确定为关联文件之后,还包括:
在所述第一关联关系集合中删除所述目标关联关系,得到新第一关联关系集合;
重复执行以下操作,直到所述新第一关联关系集合中不存在前驱文件与新第二关联关系的后继文件相同的第三关联关系:
在所述新第一关联关系集合中,获取以第一文件作为前驱文件出现次数最多的新第一目标关联关系集合,并在所述新第一目标关联关系集合中,获取新第二关联关系,所述新第二关联关系为:新第一目标关联关系集合中后继文件被访问次数最多的第一关联关系;
若在所述新第一关联关系集合中存在前驱文件与新第二关联关系的后继文件相同的新第三关联关系时,从所述新第三关联关系中确定后继文件出现次数最多的新目标关联关系,将新目标关联关系中的文件确定为关联文件;以及,删除所述新目标关联关系,获取所述新第一关联关系集合。
6.根据权利要求2所述的方法,其特征在于,通过以下方式确定文件的多个第一关联关系:
根据第二文件的被访问次数、所述第二文件被访问后第三文件的被访问次数,获取所述第二文件被访问后所述第三文件被访问的第一概率,其中,所述第二文件和所述第三文件为所述多个文件中的任意两个不相同的文件;
根据所述第二文件被访问后所述第三文件的被访问次数及所述历史访问日志中所有文件被访问的总次数,获取所述第二文件和所述第三文件都被访问的第二概率;
根据所述历史访问日志中所有文件被访问的总次数、所述第二文件被访问后所述第三文件的被访问次数、所述第二文件被访问的次数及所述第三文件被访问的次数,获取所述第二文件被访问对所述第三文件被访问的影响力值;
当所述第一概率大于第一概率阈值、所述第二概率大于第二概率阈值及所述影响力值大于所述影响力阈值时,确定所述第二文件及所述第三文件具有所述第一关联关系。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将所述第一合并文件发送至所述HDFS,并接收所述HDFS返回的存储所述第一合并文件的第一存储块标识;
创建包含所述第一文件标识与第一合并文件标识的映射关系的第一索引信息、以及包含第一合并文件标识与第一存储块标识的映射关系的第二索引信息。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到的下一文件读取请求中包括与所述目标文件相关联的文件时,若与所述目标文件相关联的文件存储于所述缓存中,则从所述缓存中读取与与所述目标文件相关联的文件。
9.一种文件读取装置,其特征在于,所述装置包括:
接收模块,用于接收文件读取请求,所述文件读取请求中包括要读取的目标文件的标识;
第一查找模块,连接于所述接收模块,用于根据所述目标文件的标识,在本地存储的第一索引信息包括的子文件标识与合并文件标识的映射关系中,查找与所述目标文件的标识匹配的目标子文件标识及对应的目标合并文件标识;其中,合并文件存储于Hadoop分布式文件系统HDFS、且所述合并文件中的子文件有关联关系;
第二查找模块,连接于所述第一查找模块,用于根据所述目标合并文件标识,在本地存储的第二索引信息包括合并文件标识与所述HDFS的存储块标识的映射关系中,查找与所述目标合并文件标识对应的目标存储块标识;
发送模块,连接于所述第二查找模块,用于按照预设获取条件,确定要获取的与所述目标文件关联的子文件数量,向所述HDFS发送文件获取请求,所述文件获取请求中包含所述目标存储块标识、目标子文件标识、目标合并文件标识、所述子文件数量,以使所述HDFS在与所述目标存储块标识对应的目标存储块中查找与所述目标合并文件标识对应的目标合并文件,并在所述目标合并文件中查找所述目标文件及数量为所述子文件数量的关联文件;
缓存模块,连接于所述发送模块,用于接收并缓存所述HDFS返回的目标文件以及关联文件。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第一获取模块,用于获取多个文件的历史访问日志,所述历史访问日志中包括多个文件的被访问时间及被访问次数;
第一确定模块,连接于所述第一获取模块,用于针对所述多个文件中的每一文件,根据所述多个文件的被访问时间及被访问次数,在所述多个文件中除该文件之外的其他文件中,确定在访问该文件之后与该文件具有访问关联的至少一文件,并确定该文件的多个第一关联关系,其中,第一关联关系用于表示该文件与至少一文件中任一文件的访问关联;
第二确定模块,连接于所述第一确定模块,用于根据所述多个文件中各文件的第一关联关系,获取第一关联关系数量最多的第一文件,并依据所述第一文件的多个第一关联关系,在所述多个文件中确定在所述第一文件被访问之后依次被访问的至少一关联文件;
存储模块,连接于所述第二确定模块,用于将所述第一文件及至少一关联文件存储在第一合并文件中。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第二获取模块,连接于所述存储模块,用于在所述多个文件中各文件的第一关联关系中,删除确定至少一关联文件时应用到的第一关联关系,获取剩余的第一关联关系;根据剩余的第一关联关系,获取第一关联关系数量最多的新第一文件;
第三确定模块,连接于所述第二获取模块,用于在所述多个文件中,触发所述第二确定模块重复执行依据所述新第一文件的多个第一关联关系确定在所述新第一文件被访问之后依次被访问的至少一关联文件、将所述新第一文件及在新第一文件被访问之后依次被访问的至少一关联文件存储在新第一合并文件中的过程,直到所述第二获取模块获取不到剩余的第一关联关系。
12.根据权利要求10所述的装置,其特征在于,所述第一关联关系中记录的相关联的两个文件中的一个为前驱文件,另一个为后继文件,后继文件为在访问所述前驱文件之后被访问的文件;则所述第二确定模块,包括:
第一关联关系获取子模块,用于获取包含所述多个文件中各文件的第一关联关系的第一关联关系集合;
第二关联关系获取子模块,连接于所述第一关联关系获取子模块,用于在所述第一关联关系集合中,获取以第一文件作为前驱文件出现次数最多的第一目标关联关系集合,并在所述第一目标关联关系集合中,获取第二关联关系,所述第二关联关系为:第一目标关联关系集合中后继文件被访问次数最多的第一关联关系;
第一关联文件确定子模块,连接于所述第二关联关系获取子模块,用于若在所述第一关联关系集合中存在前驱文件与第二关联关系的后继文件相同的第三关联关系,从所述第三关联关系中确定后继文件出现次数最多的目标关联关系,将目标关联关系中的文件确定为关联文件;
第二关联文件确定子模块,连接于所述第二关联关系获取子模块,用于若在所述第一关联关系集合中不存在前驱文件与第二关联关系的后继文件相同的第三关联关系时,将所述第二关联关系的后继文件确定为关联文件。
13.根据权利要求12所述的装置,其特征在于,所述第二确定模块,还包括:
删除子模块,用于在所述第一关联关系集合中删除所述目标关联关系,得到新第一关联关系集合;
重复确定子模块,连接于所述删除子模块,用于重复触发所述第二关联关系获取子模块、第一关联文件确定子模块执行以下操作,直到所述第二关联文件确定子模块确定新第一关联关系集合中不存在前驱文件与新第二关联关系的后继文件相同的第三关联关系:
在所述新第一关联关系集合中,获取以第一文件作为前驱文件出现次数最多的新第一目标关联关系集合,并在所述新第一目标关联关系集合中,获取新第二关联关系,所述新第二关联关系为:新第一目标关联关系集合中后继文件被访问次数最多的第一关联关系;
若在所述新第一关联关系集合中存在前驱文件与新第二关联关系的后继文件相同的新第三关联关系时,从所述新第三关联关系中确定后继文件出现次数最多的新目标关联关系,将新目标关联关系中的文件确定为关联文件;以及,删除所述新目标关联关系,获取所述新第一关联关系集合。
14.一种文件读取装置,其特征在于,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行如权利要求1-8任一项所述的方法。
15.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-8任一项所述的方法。
CN201811541620.0A 2018-12-17 2018-12-17 文件读取方法及装置 Active CN109766318B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811541620.0A CN109766318B (zh) 2018-12-17 2018-12-17 文件读取方法及装置
PCT/CN2019/126003 WO2020125630A1 (zh) 2018-12-17 2019-12-17 文件读取

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811541620.0A CN109766318B (zh) 2018-12-17 2018-12-17 文件读取方法及装置

Publications (2)

Publication Number Publication Date
CN109766318A true CN109766318A (zh) 2019-05-17
CN109766318B CN109766318B (zh) 2021-03-02

Family

ID=66450771

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811541620.0A Active CN109766318B (zh) 2018-12-17 2018-12-17 文件读取方法及装置

Country Status (2)

Country Link
CN (1) CN109766318B (zh)
WO (1) WO2020125630A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110826697A (zh) * 2019-10-31 2020-02-21 深圳市商汤科技有限公司 获取样本的方法及装置、电子设备和存储介质
WO2020125630A1 (zh) * 2018-12-17 2020-06-25 新华三大数据技术有限公司 文件读取
CN113553306A (zh) * 2021-07-27 2021-10-26 重庆紫光华山智安科技有限公司 数据处理方法及数据存储管理系统
CN114489510A (zh) * 2022-01-28 2022-05-13 维沃移动通信有限公司 数据读取方法及装置
CN116991333A (zh) * 2023-09-25 2023-11-03 苏州元脑智能科技有限公司 分布式数据存储方法、装置、电子设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577123A (zh) * 2013-11-12 2014-02-12 河海大学 一种基于hdfs的小文件优化存储方法
CN104679898A (zh) * 2015-03-18 2015-06-03 成都汇智远景科技有限公司 一种大数据访问方法
US20150310030A1 (en) * 2014-04-25 2015-10-29 International Business Machines Corporation Adaptive fragment assignment for processing file data in a database
KR20160067289A (ko) * 2014-12-03 2016-06-14 충북대학교 산학협력단 분산 파일 시스템에서 소형 파일에 대한 접근성 향상을 위한 캐시 관리 시스템
CN105843841A (zh) * 2016-03-07 2016-08-10 青岛理工大学 一种小文件存储方法和系统
US9633060B2 (en) * 2015-05-14 2017-04-25 Walleye Software, LLC Computer data distribution architecture with table data cache proxy
CN107168802A (zh) * 2017-05-18 2017-09-15 郑州云海信息技术有限公司 一种云存储中小文件的合并方法及装置
CN108363643A (zh) * 2018-03-27 2018-08-03 东北大学 一种基于文件访问热度的hdfs副本管理方法
CN108595567A (zh) * 2018-04-13 2018-09-28 郑州云海信息技术有限公司 一种小文件的合并方法、装置、设备及可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326239B (zh) * 2015-06-18 2020-01-31 阿里巴巴集团控股有限公司 分布式文件系统及其文件元信息管理方法
CN105573667B (zh) * 2015-12-10 2019-07-23 华为技术有限公司 一种数据读取方法和存储服务器
CN108804566B (zh) * 2018-05-22 2019-11-29 广东技术师范大学 一种基于Hadoop的海量小文件读取方法
CN109766318B (zh) * 2018-12-17 2021-03-02 新华三大数据技术有限公司 文件读取方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577123A (zh) * 2013-11-12 2014-02-12 河海大学 一种基于hdfs的小文件优化存储方法
US20150310030A1 (en) * 2014-04-25 2015-10-29 International Business Machines Corporation Adaptive fragment assignment for processing file data in a database
KR20160067289A (ko) * 2014-12-03 2016-06-14 충북대학교 산학협력단 분산 파일 시스템에서 소형 파일에 대한 접근성 향상을 위한 캐시 관리 시스템
CN104679898A (zh) * 2015-03-18 2015-06-03 成都汇智远景科技有限公司 一种大数据访问方法
US9633060B2 (en) * 2015-05-14 2017-04-25 Walleye Software, LLC Computer data distribution architecture with table data cache proxy
CN105843841A (zh) * 2016-03-07 2016-08-10 青岛理工大学 一种小文件存储方法和系统
CN107168802A (zh) * 2017-05-18 2017-09-15 郑州云海信息技术有限公司 一种云存储中小文件的合并方法及装置
CN108363643A (zh) * 2018-03-27 2018-08-03 东北大学 一种基于文件访问热度的hdfs副本管理方法
CN108595567A (zh) * 2018-04-13 2018-09-28 郑州云海信息技术有限公司 一种小文件的合并方法、装置、设备及可读存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
张春明 等: "一种Hadoop小文件存储和读取的方法", 《计算机应用与软件》 *
李慧莹: "基于HDFS的小文件存储方法的研究与优化", 《中国优秀硕士学位论文全文数据库 信息科技辑(月刊)》 *
许俊杰: "海量小文件存储系统的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑(月刊)》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020125630A1 (zh) * 2018-12-17 2020-06-25 新华三大数据技术有限公司 文件读取
CN110826697A (zh) * 2019-10-31 2020-02-21 深圳市商汤科技有限公司 获取样本的方法及装置、电子设备和存储介质
CN113553306A (zh) * 2021-07-27 2021-10-26 重庆紫光华山智安科技有限公司 数据处理方法及数据存储管理系统
CN114489510A (zh) * 2022-01-28 2022-05-13 维沃移动通信有限公司 数据读取方法及装置
CN116991333A (zh) * 2023-09-25 2023-11-03 苏州元脑智能科技有限公司 分布式数据存储方法、装置、电子设备及存储介质
CN116991333B (zh) * 2023-09-25 2024-01-26 苏州元脑智能科技有限公司 分布式数据存储方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN109766318B (zh) 2021-03-02
WO2020125630A1 (zh) 2020-06-25

Similar Documents

Publication Publication Date Title
CN109766318A (zh) 文件读取方法及装置
CN110321325B (zh) 文件索引节点查找方法、终端、服务器、系统及存储介质
US8463846B2 (en) File bundling for cache servers of content delivery networks
CN106294190B (zh) 一种存储空间管理方法及装置
CN110383261A (zh) 用于多流存储装置的流选择
CN105677826A (zh) 一种针对海量非结构化数据的资源管理方法
CN106528451B (zh) 针对小文件的二级缓存预取的云存储框架及构建方法
CN104899297A (zh) 具有存储感知的混合索引结构
CN109634746B (zh) 一种web集群缓存的利用系统及优化方法
CN107958079A (zh) 聚合文件删除方法、系统、装置及可读存储介质
CN110515920A (zh) 一种基于Hadoop的海量小文件存取方法和系统
CN109144413A (zh) 一种元数据管理方法及装置
CN109492148A (zh) 基于Redis的ElasticSearch分页查询方法和设备
CN110287201A (zh) 数据访问方法、装置、设备及存储介质
CN103942301B (zh) 一种面向多数据类型访问应用的分布式文件系统
CN109460404A (zh) 一种基于redis的高效Hbase分页查询方法
RU2525752C2 (ru) Способ и устройство хранения, чтения и записи составного документа
CN109002503A (zh) 一种元数据读取方法、装置、设备及可读存储介质
CN108595589A (zh) 一种海量科学数据图片高效存取方法
CN111752941B (zh) 一种数据存储、访问方法、装置、服务器及存储介质
CN109213760A (zh) 非关系数据存储的高负载业务存储及检索方法
Cheng et al. Optimizing small file storage process of the HDFS which based on the indexing mechanism
CN106294526B (zh) 一种分级存储系统中的海量小文件迁移方法
CN101459599A (zh) 一种实现缓存数据访问与加载并发进行的方法及系统
CN108664664A (zh) 一种海量教育文件关联存储方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant