CN105677904B - 基于分布式文件系统的小文件存储方法及装置 - Google Patents

基于分布式文件系统的小文件存储方法及装置 Download PDF

Info

Publication number
CN105677904B
CN105677904B CN201610082148.3A CN201610082148A CN105677904B CN 105677904 B CN105677904 B CN 105677904B CN 201610082148 A CN201610082148 A CN 201610082148A CN 105677904 B CN105677904 B CN 105677904B
Authority
CN
China
Prior art keywords
small documents
logical
relevance
stored
data
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.)
Active
Application number
CN201610082148.3A
Other languages
English (en)
Other versions
CN105677904A (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.)
Hangzhou Dt Dream Technology Co Ltd
Original Assignee
Hangzhou Dt Dream Technology 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 Hangzhou Dt Dream Technology Co Ltd filed Critical Hangzhou Dt Dream Technology Co Ltd
Priority to CN201610082148.3A priority Critical patent/CN105677904B/zh
Publication of CN105677904A publication Critical patent/CN105677904A/zh
Application granted granted Critical
Publication of CN105677904B publication Critical patent/CN105677904B/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/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • 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

Abstract

本申请提供一种基于分布式文件系统的小文件存储方法及装置,所述方法包括:为存在关联性的待存储小文件分配唯一对应的数据分表;所述数据分表为预设的逻辑二维表,包括由预设大小的逻辑存储单元构成的若干逻辑行和逻辑列;所述待存储文件包括文件类型和大小均不相同的批量小文件;将所述待存储小文件中存在关联性的小文件分别存储至所述数据分表中的同一逻辑行或者同一逻辑列;针对所述存在关联性的小文件分别生成唯一对应的文件索引,并将该文件索引保存至对应的逻辑行或者逻辑列中。本申请可以显著降低分布式文件系统的文件存储压力。

Description

基于分布式文件系统的小文件存储方法及装置
技术领域
本申请涉及通信领域,尤其涉及一种基于分布式文件系统的小文件存储方法及装置。
背景技术
随着信息技术的发展,面临的数据处理需求将越来越复杂,而且非结构化数据的比例也会越来越高。所谓结构化数据,是指可以按照特定格式进行整理的数据,更符合传统数据处理的需求;比如更符合关系型数据库的处理需求。而非结构化数据是指没有特定格式或者结构的数据;比如无特定格式的纯文本,图像,视频等数据。
在实际生产环境中,数据来源和类型可能会非常复杂,在进行数据处理的过程中,实际处理的数据中可能会包含大量的非结构化数据,甚至这些非结构化数据可能都是不同大小甚至包含各种不同格式的数据,因此在针对这些非结构化数据进行处理时,大量的小文件意味着将要面对海量的文件处理对象,当处理的小文件达到一定的数量后(比如数以亿计),可能会由于消耗大量的内存导致数据处理系统崩溃。
发明内容
本申请提出一种基于分布式文件系统的小文件存储方法,该方法包括:
为存在关联性的待存储小文件分配唯一对应的数据分表;所述数据分表为预设的逻辑二维表,包括由预设大小的逻辑存储单元构成的若干逻辑行和逻辑列;所述待存储文件包括文件类型和大小均不相同的批量小文件;
将所述待存储小文件中存在关联性的小文件分别存储至所述数据分表中的同一逻辑行或者同一逻辑列;
针对所述存在关联性的小文件分别生成唯一对应的文件索引,并将该文件索引保存至对应的逻辑行或者逻辑列中。
可选的,所述为存在关联性的待存储小文件分配唯一对应的数据分表包括:
基于表征所述待存储小文件的关联性的信息生成唯一对应的查询索引;
为生成的所述查询索引分配对应的数据分表,并建立所述查询索引与所述数据分表之间的映射关系。
可选的,所述将所述待存储小文件中存在关联性的小文件分别存储至所述数据分表中的同一逻辑行或者同一逻辑列包括:
依次读取所述待存储小文件中存在关联性的小文件;
在所述数据分表中为所述待存储小文件中存在关联性的小文件分别指定逻辑行或者逻辑列;
基于所述逻辑行或者逻辑列的逻辑存储地址将所述存在关联性的小文件分别存储至指定的同一逻辑行或者同一逻辑列中。
可选的,所述基于所述逻辑行或者逻辑列的逻辑存储地址将所述存在关联性的小文件存储至指定的同一逻辑行或者同一逻辑列中包括:
从所述存在关联性的小文件中依次读取目标小文件;
判断读取到的所述目标小文件的大小是否大于所述逻辑存储单元的大小;
当读取到的所述目标小文件的大小小于或者等于所述逻辑存储单元的大小时,基于所述逻辑行或者逻辑列的逻辑存储地址将所述目标小文件的文件内容存储至同一逻辑行或者同一逻辑列中;
当读取到的所述目标小文件的大小大于所述逻辑存储单元的大小时,基于所述逻辑行或者逻辑列的逻辑存储地址将所述目标小文件的文件内容分片存储至同一逻辑行或者同一逻辑列;或者对所述目标小文件进行单独存储,将所述目标小文件的存储位置提示信息存储至同一逻辑行或者同一逻辑列中。
可选的,所述方法还包括:
当为所述存在关联性的小文件指定的为逻辑行时,在将所述存在关联性的小文件分别存储至指定的同一逻辑行后,所述数据分表中同一逻辑列中存储的小文件的文件类型相同;
当为所述存在关联性的小文件指定的为逻辑列时,在将所述存在关联性的小文件分别存储至指定的同一逻辑列后,所述数据分表中同一逻辑行中的存储的小文件的文件类型相同。
可选的,所述方法还包括:
针对所述数据分表生成对应的分表索引;
其中,所述分表索引包括针对所述数据分表中各逻辑行或者逻辑列中所存储的文件类型的描述信息。
可选的,所述表征所述待存储小文件的关联性的信息包括所述待存储小文件的来源信息以及业务类型信息;
所述待存储小文件的来源信息包括所述待存储小文件的url地址;所述业务类型信息包括业务ID;
所述待存储小文件中存在关联性的小文件包括所述待存储小文件中处于同一目标页面中的小文件;或者所述待存储小文件中业务类型相同的小文件;
所述文件索引包括针对所述目标页面的url地址进行哈希计算得到的哈希值;或者与所述业务类型对应的业务ID;
所述查询索引包括针对所述待存储文件的url地址进行哈希计算得到的哈希值。
本申请还提出一种基于分布式文件系统的小文件存储装置,该装置包括:
分配模块,用于为存在关联性的待存储小文件分配唯一对应的数据分表;所述数据分表为预设的逻辑二维表,包括由预设大小的逻辑存储单元构成的若干逻辑行和逻辑列;所述待存储文件包括文件类型和大小均不相同的批量小文件;
存储模块,用于将所述待存储小文件中存在关联性的小文件分别存储至所述数据分表中的同一逻辑行或者同一逻辑列;
生成模块,用于针对所述存在关联性的小文件分别生成唯一对应的文件索引,并将该文件索引保存至对应的逻辑行或者逻辑列中。
可选的,所述分配模块具体用于:
基于表征所述待存储小文件的关联性的信息生成唯一对应的查询索引;
为生成的所述查询索引分配对应的数据分表,并建立所述查询索引与所述数据分表之间的映射关系
可选的,所述存储模块具体用于:
依次读取所述待存储小文件中存在关联性的小文件;
在所述数据分表中为所述待存储小文件中存在关联性的小文件分别指定逻辑行或者逻辑列;
基于所述逻辑行或者逻辑列的逻辑存储地址将所述存在关联性的小文件分别存储至指定的同一逻辑行或者同一逻辑列中。
可选的,所述存储模块进一步用于:
从所述存在关联性的小文件中依次读取目标小文件;
判断读取到的所述目标小文件的大小是否大于所述逻辑存储单元的大小;
当读取到的所述目标小文件的大小小于或者等于所述逻辑存储单元的大小时,基于所述逻辑行或者逻辑列的逻辑存储地址将所述目标小文件的文件内容存储至同一逻辑行或者同一逻辑列中;
当读取到的所述目标小文件的大小大于所述逻辑存储单元的大小时,基于所述逻辑行或者逻辑列的逻辑存储地址将所述目标小文件的文件内容分片存储至同一逻辑行或者同一逻辑列;或者对所述目标小文件进行单独存储,将所述目标小文件的存储位置提示信息存储至同一逻辑行或者同一逻辑列中。
可选的,当为所述存在关联性的小文件指定的为逻辑行时,在将所述存在关联性的小文件分别存储至指定的同一逻辑行后,所述数据分表中同一逻辑列中存储的小文件的文件类型相同;
当为所述存在关联性的小文件指定的为逻辑列时,在将所述存在关联性的小文件分别存储至指定的同一逻辑列后,所述数据分表中同一逻辑行中的存储的小文件的文件类型相同。
可选的,所述生成模块进一步用于:
针对所述数据分表生成对应的分表索引;
其中,所述分表索引包括针对所述数据分表中各逻辑行或者逻辑列中所存储的文件类型的描述信息。
可选的,所述表征所述待存储小文件的关联性的信息包括所述待存储小文件的来源信息以及业务类型信息;
所述待存储小文件的来源信息包括所述待存储小文件的url地址;所述业务类型信息包括业务ID;
所述待存储小文件中存在关联性的小文件包括所述待存储小文件中处于同一目标页面中的小文件;或者所述待存储小文件中业务类型相同的小文件;
所述文件索引包括针对所述目标页面的url地址进行哈希计算得到的哈希值;或者与所述业务类型对应的业务ID;
所述查询索引包括针对所述待存储文件的url地址进行哈希计算得到的哈希值。
本申请中,通过为存在关联性的待存储小文件分配唯一对应的数据分表;所述数据分表为预设的逻辑二维表,包括由预设大小的逻辑存储单元构成的若干逻辑行和逻辑列;将所述待存储小文件中存在关联性的小文件分别存储至所述数据分表中的同一逻辑行或者同一逻辑列;针对所述存在关联性的小文件分别生成唯一对应的文件索引,并将该文件索引保存至对应的逻辑行或者逻辑列中,可以实现将存在关联性的大量非结构化的小文件存储至同一数据分表,并在存储时将这些非结构化的小文件中存在关联性的小文件映射至逻辑二维表中的同一逻辑行或者逻辑列,可以显著降低分布式文件系统的文件存储压力。而且,在针对大量的非结构化的小文件进行处理时,可以基于逻辑行或者逻辑列对存在关联性的大量小文件进行批量处理,从而可以显著提升小文件的处理效率。
附图说明
图1是本申请一实施例提供的分布式文件系统现有的存储结构;
图2是本申请一实施例提供的一种基于分布式文件系统的小文件存储方法的流程图;
图3是本申请一实施例提供的一种分布式文件系统的存储架构;
图4是本申请一实施例提供的一种主控服务器为待存储的小文件分配唯一对应的数据分表的处理流程图;
图5是本申请一实施例提供的一种主控服务器将存在关联性的小文件分别存储至数据分表中的同一逻辑行或者同一逻辑列的处理流程图;
图6是本申请一实施例提供的一种基于分布式文件系统的小文件存储装置逻辑结构图;
图7是本申请一实施例提供的承载所述基于分布式文件系统的小文件存储装置的主控服务器的硬件结构图。
具体实施方式
MapReduce是一种运行在分布式文件系统之上,当下主流的大规模离线数据的处理框架。对于半结构化和非结构化数据,相较于传统的关系型数据库,基于MapReduce框架进行处理具有很大优势。
其中,分布式文件系统,是一种当前主流的文件存储系统。在分布式文件系统现有的存储结构中,文件的存储可以呈现一种分布式存储的形态,文件系统管理的物理存储资源,不一定直接连接在本地节点上,可以通过计算机网络与本地节点相连,在需要针对分布式文件系统中存储的文件进行读取时,可以基于计算机网络跨节点进行读取。
请参见图1,图1为分布式文件系统现有的存储结构。
在现有的分布式文件系统的存储结构中,分布式文件系统中的每一个文件,可以被切分成若干个数据块,每一个数据块都会被分布式的存储在不同的数据服务器上。运行在分布式文件系统之上的MapReduce框架在进行数据处理时,可以基于计算机网络跨节点从不同的数据服务器上读取数据。
然而,MapReduce框架在针对非结构化数据进行处理时,如果这些非结构化数据包含大量文件大小不同甚至格式也互不相同的小文件,仍然也会存在以下问题:
第一,由于MapReduce框架运行在分布式文件系统之上,对于分布式文件系统的主控服务器而言,大量小文件就意味着海量的文件存储对象,在针对海量的小文件进行分布式存储时,记录文件对象的压力较大,庞大数量的文件存储对象很可能会导致分布式文件系统的主控服务器崩溃。
第二,MapReduce框架在进行数据处理的过程中,大量小文件的处理必然增加大量跨网络的高频率文件读取,这将会导致网络和磁盘的资源利用率非常低下,大量的系统资源被大量高频率的文件读取占据,从而影响系统性能。
第三,MapReduce框架在进行数据处理任务(比如map任务)划分时,通常是基于数据量的大小进行划分的,然而如果处理的数据中存在大量大小互不相同的小文件,MapReduce框架在进行数据处理任务划分时,难以对不同任务所处理数据量进行均衡。
第四,MapReduce框架在对处理的数据进行文件压缩时,由于输入数据的格式多种多样,因此文件压缩的处理会比较复杂,尤其在MapReduce框架需要将多组不同类型的数据结合起来一次进行处理计算的应用场景中,尤其明显。
可见,MapReduce框架在针对包含大量文件大小以及格式互不相同的小文件的非结构化数据进行处理时,基于分布式文件系统现有的存储结构,已无法满足实际的处理需求。
有鉴于此,本申请提出一种基于分布式文件系统的小文件存储方法,在针对大量文件大小以及格式互不相同的小文件进行存储时,通过为存在关联性的待存储小文件分配唯一对应的数据分表;所述数据分表为预设的逻辑二维表,包括由预设大小的逻辑存储单元构成的若干逻辑行和逻辑列;将所述待存储小文件中存在关联性的小文件分别存储至所述数据分表中的同一逻辑行或者同一逻辑列;针对所述存在关联性的小文件分别生成唯一对应的文件索引,并将该文件索引保存至对应的逻辑行或者逻辑列中,可以实现将存在关联性的大量非结构化的小文件存储至同一数据分表,并在存储时将这些非结构化的小文件中存在关联性的小文件映射至逻辑二维表中的同一逻辑行或者逻辑列,可以显著降低分布式文件系统的文件存储压力。而且,在针对大量的非结构化的小文件进行处理时,可以基于逻辑行或者逻辑列对存在关联性的大量小文件进行批量处理,从而可以显著提升小文件的处理效率。
下面通过具体实施例并结合具体的应用场景对本申请进行描述。
请参考图2,图2是本申请一实施例提供的一种基于分布式文件系统的小文件存储方法,应用于分布式文件系统中的主控服务器,所述方法包括:
步骤201,为存在关联性的待存储小文件分配唯一对应的数据分表;所述数据分表为预设的逻辑二维表,包括由预设大小的逻辑存储单元构成的若干逻辑行和逻辑列;所述待存储文件包括文件类型和大小均不相同的批量小文件;
步骤202,将所述待存储小文件中存在关联性的小文件分别存储至所述数据分表中的同一逻辑行或者同一逻辑列;
步骤203,针对所述存在关联性的小文件分别生成唯一对应的文件索引,并将该文件索引保存至对应的逻辑行或者逻辑列中。
上述分布式文件系统可以包括主控服务器以及若干数据服务器,其中数据服务器为整个文件系统中数据存储的物理载体,主控服务器是整个文件系统的核心,它负责提供整个文件系统中文件存储的目录信息,并管理文件系统中的各个数据服务器。
上述步骤201至204中记载的技术方案,可以作为小文件存储逻辑加载在主控服务器中,主控服务器可以通过运行该小文件存储逻辑,来实现基于待存储的小文件的来源信息将大量非结构化的小文件,映射至逻辑二维表中的同一逻辑行或者逻辑列,从而显著降低分布式文件系统的文件存储压力。
图3本实施例示出的一种分布式文件系统的存储架构。
请参见图3,分布式文件系统中的主控服务器在基于图3所示的存储架构进行文件存储时,对于大文件可以利用可控的物理存储资源直接进行存储,而对于小文件,主控服务器可以利用本地预置的若干数据分表进行分表存储。
其中,该数据分表可以是预设的逻辑二维表,包括若干逻辑行和逻辑列。该数据分表中的逻辑行以及逻辑列,均由预设大小的逻辑存储单元构成,该逻辑存储单元的大小可以由用户根据实际需求进行设定;例如,用户可以基于待存储的小文件的平均大小,或者待存储的小文件中文件的最大值来设定逻辑存储单元的大小。
另外,每一个逻辑存储单元还可以分别预设一个与逻辑存储单元互为映射的逻辑存储地址,以便主控服务器可以基于该逻辑存储地址,将待存储的小文件存储到对应的逻辑存储单元中。
在图3所示的存储架构中,还可以包括与数据分表对应的分表索引信息。该分表索引信息,可以包括针对所有数据分表中各逻辑行以及逻辑列中所存储的文件类型的描述信息,通过该分表索引信息可以对各数据分表中每一逻辑行或者逻辑列中存储的数据类型进行记录。
以下通过具体的实施例对主控服务器基于图3所示出的存储架构存储小文件的过程进行详细描述。
在本例中,主控服务器在基于图3所示出的存储架构存储小文件时,可为存在关联性的批量小文件分配唯一对应的数据分表,将存在关联性的批量小文件存储至同一数据分表中。
通过这种方式,可以保证将存在关联性的批量小文件映射存储至同一数据分表中,从而便于针对这些小文件进行批处理。
请参见图4,图4为示出的一种主控服务器为待存储的小文件分配唯一对应的数据分表的处理流程图,可以执行如下步骤:
步骤401,主控服务器基于表征所述待存储小文件的关联性的信息生成唯一对应的查询索引;
在示出的一种实施方式中,上述能够表征待存储小文件的关联性的信息包括待存储小文件的来源信息以及业务类型信息,即当上述待存储小文件的来源相同,或者业务类型相同时,可以将该待存储小文件的来源信息或者业务类型信息作为能够表征该待存储小文件的关联性的信息。
当然,上述能够表征待存储小文件的关联性的信息除了以上描述的来源信息以及业务类型信息以外,也可以包含其它类型的可以用于表征待存储小文件的关联性的信息,本例中不再一一列举。
在示出的另一种实施方式中,上述待存储的小文件的来源信息可以包括待存储的小文件的url地址,上述业务类型信息可以包括该待存储小文件的业务ID。
上述待存储的小文件则可以包括基于同一个url地址读取到的大小不同,且文件类型也不同的批量小文件;或者可以包括基于同一个业务ID读取到的大小不同且文件类型也不相同的批量小文件。
例如,当上述待存储的小文件为互联网门户网站上加载的小文件时,上述url地址可以包括该互联网门户网站的url地址,上述待存储的小文件则可以包括该门户网站上加载的文本、图片以及视频等小文件。又如,该待存储的小文件中存在关联性的小文件也可以包括这些小文件中业务类型相同的小文件;比如,广告业务,在这种情况下,同属于广告业务的文本、图片以及视频等小文件则为具有关联性的小文件。
主控服务器在基于上述来源信息生成唯一对应的查询索引时,可以针对待存储的小文件的url地址进行哈希计算得到一个哈希值,然后可以将计算得到的该哈希值作为生成的上述查询索引在本地保存。或者,也可以直接将上述业务ID作为查询索引在本地保存。
步骤402,为生成的所述查询索引分配对应的数据分表,并建立所述查询索引与所述数据分表之间的映射关系。
在本例中,对于计算得到的上述查询索引,可以由主控服务器分配一个对应的数据分表,并在本地建立该查询索引和分配的该数据分表之间的映射关系。
其中,在建立上述映射关系时,可以通过将上述查询索引设置为该数据分表的分表名称来实现。当将上述查询索引设置为对应数据分表的分表名称后,此时二者的映射关系创建完成。
在本例中,当上述映射关系建立后,如果用户需要根据来源信息定位查找对应的数据分表,则可以按照相同的方式,基于该来源信息重新生成上述查询索引,然后基于该查询索引在主控服务器本地预置的数据分表中来查找对应的数据分表。
在本例中,当主控服务器为待存储的小文件分配了唯一对应的数据分表后,主控服务器可以批量读取待存储的小文件,然后将读取到的待存储的小文件存储至分配的该数据分表中。
其中,在将待存储的小文件存储至分配的数据分表中时,对于待存储的小文件中存在关联性的小文件,可以优先存储至该数据分表中的同一逻辑行或者逻辑列中,从而方便后续在对待存储的小文件中存在关联性的小文件进行数据处理时,可以基于同一逻辑行或者逻辑列进行批处理,从而提升数据处理的效率。
请参见图5,图5为示出的一种主控服务器将待存储小文件中存在关联性的小文件分别存储至数据分表中的同一逻辑行或者同一逻辑列的处理流程图,可以执行如下步骤:
步骤501,依次读取所述待存储小文件中存在关联性的小文件;
在本例中,待存储小文件中存在关联性的小文件,仍然可以基于能够表征小文件的关联性的信息来确定;比如URL地址或者业务ID。
在示出的一种实施方式中,待存储小文件中存在关联性的小文件,可以包括待存储小文件中处于同一目标页面中的小文件;例如,当该待存储的小文件为互联网门户网站上加载的文本、图片以及视频等批量小文件时,该待存储的小文件中存在关联性的小文件则可以包括这些小文件中处于同一目标页面中的小文件。其中,该目标页面可以是指该门户网站的主页面,也可以包括该门户网站主页面中的子页面。
在示出的另一种实施方式中,待存储小文件中存在关联性的小文件,除了可以包括待存储小文件中处于同一目标页面中的小文件以外,也可以包括待存储的小文件中业务类型相同的小文件。例如,仍以该待存储的小文件为互联网门户网站上加载的文本、图片以及视频等批量小文件为例,该待存储的小文件中存在关联性的小文件则可以包括这些小文件中业务类型相同的小文件;比如,广告业务,在这种情况下,同属于广告业务的文本、图片以及视频等小文件则为具有关联性的小文件。
当然,在实际应用中,上述存在关联性的小文件也可以由用户根据实际的业务需求进行自定义,即用户可以根据实际的业务需求,将待存储的小文件中的部分小文件指定为存在关联性的小文件。
在本例中,主控服务器在针对待存储的小文件中存在关联性的小文件进行存储时,可以基于预设顺序依次读取待存储的小文件中存在关联性的小文件。其中,该预设顺序可以是存在关联性的小文件在待存储的小文件中的文件存储顺序。
步骤502中,在所述数据分表中为所述待存储小文件中存在关联性的小文件分别指定逻辑行或者逻辑列;
在本例中,主控服务器可以分别为读取到的存在关联性的小文件指定逻辑行或者逻辑列时,可以为存在关联性的小文件指定逻辑行,也可以指定逻辑列,在本实施例中不进行特别限定。
例如,如果当前的分布式文件系统默认的存储方式为基于逻辑行来存储文件时,此时主控服务器可以为读取到的存在关联性的小文件分别指定对应的逻辑行。反之,如果当前的分布式文件系统默认的存储方式为基于逻辑列来存储文件时,此时主控服务器可以为读取到的存在关联性的小文件分别指定对应的逻辑列。
步骤503,基于所述逻辑行或者逻辑列的逻辑存储地址将所述存在关联性的小文件分别存储至指定的同一逻辑行或者同一逻辑列中。
如前所述,数据分表中的逻辑行和逻辑列,均由若干设定大小的逻辑存储单元构成,而且每一个逻辑存储单元均存在对应的逻辑存储地址,可见,对于同一逻辑行和逻辑列来说,组成该逻辑行或者逻辑列的逻辑存储单元的逻辑存储地址,共同构成了该逻辑行或者逻辑列的逻辑存储地址空间。
主控服务器在针对上述存在关联性的小文件进行存储时,可以从上述存在关联性的小文件中依次读取目标小文件,然后判断读取到的目标小文件是都大于逻辑存储单元的大小。
其中,读取目标小文件的顺序可以由用户根据实际需求进行设定;例如,在实现时,当目标小文件包括文本、图片以及视频等小文件时,可以首先读取文本小文件,再读取图片小文件,最后再读取视频小文件。
一方面,如果读取到的目标小文件小于或者等于逻辑存储单元的大小,此时可以从为该目标小文件指定的逻辑行或者逻辑列中,按顺序为该目标小文件分配一个逻辑存储单元,然后基于该逻辑存储单元的逻辑存储地址将该目标小文件的内容(例如该目标小文件的字节流)存储至分配的逻辑存储单元中。
另一方面,如果读取到的目标小文件大于逻辑存储单元的大小,此时可以从为该目标小文件指定的逻辑行或者逻辑列中,按顺序为该目标小文件分配多个逻辑存储单元,然后基于该多个逻辑存储单元的逻辑存储地址对该目标小文件的内容进行分片存储,即将该目标小文件的内容按照逻辑存储单元的设定大小划分为多个部分,然后分别存储至多个不同的逻辑存储单元中。
当然,在另一种实施方式中,也可以将该目标小文件作为大文件进行单独存储,然后将该目标小文件的存储位置、存储偏移量以及该目标小文件的大小等存储位置提示信息,存储至为该目标小文件分配的逻辑存储单元中,从而可以基于该存储位置提示信息来读取该目标小文件。
其中,需要说明的是,主控服务器在基于图3所示出的存储架构,对待存储的小文件中存在关联性的小文件进行存储时,如果为存在关联性的小文件指定的为逻辑行,那么在针对存在关联性的小文件存储到指定的逻辑行的过程中,可以对数据分表中每一逻辑列中的文件类型进行规划,以保证在将待存储的小文件中存在关联性的小文件分别存储到指定的逻辑行后,数据分表中同一逻辑列中的小文件的文件类型均相同(如图3所示)。
需要说明的是,主控服务器在进行上述规划时,由于同一逻辑行中文件类型相同的小文件在数量上可能并不能够对应,因此为了保证同一逻辑列的文件类型相同,对于部分逻辑列来说,可能需要将其中少量逻辑存储单元闲置,从而导致当前的数据分表可能为一个稀疏矩阵。
同样的,主控服务器在对待存储的小文件中存在关联性的小文件进行存储时,如果为存在关联性的小文件指定的为逻辑列,那么在针对存在关联性的小文件存储到指定的逻辑列的过程中,可以对数据分表中同一逻辑行中的文件类型进行规划,以保证在将待存储的小文件中存在关联性的小文件分别存储到指定的逻辑列后,数据分表中同一逻辑行中的小文件的文件类型均相同(图3中未示出)。
通过这种方式,可以在为存在关联性的小文件指定的为逻辑行时,保证同一数据分表中同一逻辑行中存储的小文件的文件来源相同,同时保证数据分表中每一逻辑列中的文件类型相同。在为存在关联性的小文件指定的为逻辑列时,保证同一数据分表中同一逻辑列中存储的小文件的文件来源相同,同时保证数据分表中每一逻辑行中的文件类型相同。
可见,通过这种规划,可以实现将待存储的批量的文件大小以及文件类型均不相同的非结构化的小文件,转换成结构化的文件,后续在针对这些小文件进行处理时,可以基于逻辑行或者逻辑列,针对同一文件来源或者文件类型相同的一系列小文件进行批量处理,从而提升文件处理效率。
在示出的另一个实施例中,当主控服务器将待存储的小文件中存在关联性的小文件,基于图3所示出的存储结构,分别存储至数据分表中的同一逻辑行或者逻辑列后,为方便针对同一逻辑行或者逻辑列中的小文件进行查找,还可以针对待存储的小文件中存在关联性的小文件,分别生成唯一对应的文件索引,并将生成的该文件索引也相应保存至对应的逻辑行或者逻辑列中。
一方面,当上述存在关联性的小文件为待存储的小文件中处于同一目标页面中的小文件时,在为该存在关联性的小文件生成上述文件索引时,可以针对该存在关联性的小文件所在的目标页面的url地址进行哈希计算,得到一个哈希值,由于计算出的哈希值具有唯一性,因此可以将计算得到的该哈希值作为该存在关联性的小文件的文件索引,相应保存至对应的逻辑行或者逻辑列中。
另一方面,当上述存在关联性的小文件为待存储的小文件中业务类型相同的小文件时,在为该存在关联性的小文件生成上述文件索引时,由于上述业务的业务ID通常具有唯一性,因此可以上述存在关联性的小文件所属的业务ID,作为该存在关联性的小文件的文件索引,相应保存至对应的逻辑行或者逻辑列中。
其中,在将文件索引相应保存至对应的逻辑行或者逻辑列时,可以将文件索引存储至对应的逻辑行或者逻辑列的首个逻辑存储单元中。
例如,请参见图3,当为上述存在关联性的小文件指定的为同一逻辑行时,可以将该存在关联性的小文件的文件索引存储至该逻辑行中的首个逻辑存储单元。同样的,当为上述存在关联性的小文件指定的为同一逻辑列时,可以将该存在关联性的小文件的文件索引存储至该逻辑列中的首个逻辑存储单元(图3中未示出)。
在示出的另一个实施例中,当主控服务器基于图3所示出的存储结构,将待存储的小文件存储至对应的数据分表后,主控服务器还可以针对该数据分表生成对应的分表索引。
其中,该分表索引包括针对该数据分表中各逻辑行或逻辑列中所存储的文件类型的描述信息,即该分表索引中可以分别记录该数据分表中每一个逻辑行或者每一个逻辑列的文件类型的描述信息。
例如,当主控服务器为待存储的小文件中存在关联性的小文件指定的为逻辑行,即当前数据分表中每一个逻辑行的数据均为同一文件来源的小文件时,主控服务器在为当前数据分表生成分表索引时,该分表索引中将分别记录该数据分表中每一个逻辑列的文件类型(如图3所示)。
当主控服务器为待存储的小文件中存在关联性的小文件指定的为逻辑列,即当前数据分表中每一个逻辑列的数据均为同一文件来源的小文件时,主控服务器在为当前数据分表生成分表索引时,该分表索引中将分别记录该数据分表中每一个逻辑行的文件类型(图3中未示出)。
在本例中,当主控服务器基于图3所示出的存储结构,将待存储的小文件存储至对应的数据分表,并且主控服务器针对该数据分表生成了对应的分表索引后,此时所有待存储的小文件存储完成,主控服务器基于图3所示出的存储架构针对待存储的小文件的存储过程结束。
在示出的另一个实施例中,当运行在分布式文件系统之上的MapReduce框架需要针对分布式文件系统中存储的小文件进行后续处理时,MapReduce框架可以根据小文件的来源信息进行相同的处理,生成唯一对应的查询索引,然后基于查询索引定位到对应的数据分表。
当定位到对应的数据分表后,如果MapReduce框架需要将该数据分表中存在关联性的一系列小文件作为一次计算的数据输入时,比如需要将处于同一目标页面,或者同属于同一类型业务的不同大小以及不同类型的批量小文件作为一次计算的数据输入时,可以进行相同的处理生成对应的文件索引,比如针对上述目标页面的url地址进行哈希计算得到对应的可作为文件索引的哈希值,或者获取与上述业务对应的可作为文件索引的业务ID,然后基于获取到的文件索引在该数据分表中查找对应的逻辑行或者逻辑列。
如果查找到了对应的逻辑行或者逻辑列后,MapReduce框架可以对查找到的逻辑行或者逻辑列中的小文件进行批量读取,而不需要在分布式文件系统中通过频繁的跨节点访问,对不同的小文件分别进行读取。
同时,结合该数据分表中的分表索引,MapReduce框架还可以精确的定位到该数据分表中某一类型的数据。
例如,假设当前的数据分表中,各逻辑列的文件类型相同,如果MapReduce框架需要对当前数据分表中某一类型的小文件进行批量删除,那么通过查找该数据分表的分表索引,则可以精确的定位到需要进行批量删除的文件类型所在的逻辑列的二维坐标,然后通过该二维坐标快速的对查找到的逻辑列中的小文件进行批量删除处理。
在以上实施例中,分布式文件系统的主控服务器在基于图3所示出的存储结构,针对大量文件大小以及格式互不相同的小文件进行存储时,相较于图1所示出的分布式文件系统的现有存储结构,至少具有如下优点:
第一,可以实现基于文件来源信息将大量非结构化的小文件映射至逻辑二维表中的同一逻辑行或者逻辑列,由于通过这种方式,文件存储对象将不再是一个个独立的小文件,因此对于分布式文件系统的主控服务器来说,可以显著降低分布式文件系统的文件存储压力。
第二,MapReduce框架在进行数据处理的过程中,由于现在的处理对象,不再是大量的小文件,而是映射后的若干逻辑行或者逻辑列,MapReduce框架不再需要大量跨网络的高频率文件读取,因此可以减少不必要的小文件的查找和定位开销。
第三,MapReduce框架在进行数据处理任务(比如map任务)划分时,由于大量大小互不相同的小文件已经进行了逻辑行或者逻辑列的划分,因此MapReduce框架在进行数据处理任务划分时,可以对不同任务所处理数据量进行均衡。
第四,MapReduce框架在对处理的数据进行文件压缩时,由于可以基于逻辑行或者逻辑列对文件类型进行规划,可以保证不同的逻辑列或者逻辑行的文件类型相同,因此可以更加便捷的进行文件压缩处理。同时,当MapReduce框架需要根据类型来处理小文件时,比如需要对其中的一种或者多种类型的小文件进行删除,则可以根据实际的需求,从数据分表的分表索引中快速定位到与需要处理的小文件类型对应的逻辑行或者逻辑列,从而可以提升处理效率。
与上述方法实施例相对应,本申请还提供了装置的实施例。
请参见图6本申请提出一种基于分布式文件系统的小文件存储装置60,应用于防火墙设备;其中,请参见图7,作为承载所述基于分布式文件系统的小文件存储装置60的主控服务器所涉及的硬件架构中,通常包括CPU、内存、非易失性存储器、网络接口以及内部总线等;以软件实现为例,所述基于分布式文件系统的小文件存储装置60通常可以理解为加载在内存中的计算机程序,通过CPU运行之后形成的软硬件相结合的逻辑装置,所述装置60包括:
分配模块601,用于为存在关联性的待存储小文件分配唯一对应的数据分表;所述数据分表为预设的逻辑二维表,包括由预设大小的逻辑存储单元构成的若干逻辑行和逻辑列;所述待存储文件包括文件类型和大小均不相同的批量小文件;
存储模块602,用于将所述待存储小文件中存在关联性的小文件分别存储至所述数据分表中的同一逻辑行或者同一逻辑列;
生成模块603,用于针对所述存在关联性的小文件分别生成唯一对应的文件索引,并将该文件索引保存至对应的逻辑行或者逻辑列中。
在本例中,所述分配模块602具体用于:
基于表征所述待存储小文件的关联性的信息生成唯一对应的查询索引;
为生成的所述查询索引分配对应的数据分表,并建立所述查询索引与所述数据分表之间的映射关系。
在本例中,所述存储模块601具体用于:
依次读取所述待存储小文件中存在关联性的小文件;
在所述数据分表中为所述待存储小文件中存在关联性的小文件分别指定逻辑行或者逻辑列;
基于所述逻辑行或者逻辑列的逻辑存储地址将所述存在关联性的小文件分别存储至指定的同一逻辑行或者同一逻辑列中。
在本例中,所述存储模块601进一步用于:
从所述存在关联性的小文件中依次读取目标小文件;
判断读取到的所述目标小文件的大小是否大于所述逻辑存储单元的大小;
当读取到的所述目标小文件的大小小于或者等于所述逻辑存储单元的大小时,基于所述逻辑行或者逻辑列的逻辑存储地址将所述目标小文件的文件内容存储至同一逻辑行或者同一逻辑列中;
当读取到的所述目标小文件的大小大于所述逻辑存储单元的大小时,基于所述逻辑行或者逻辑列的逻辑存储地址将所述目标小文件的文件内容分片存储至同一逻辑行或者同一逻辑列;或者对所述目标小文件进行单独存储,将所述目标小文件的存储位置提示信息存储至同一逻辑行或者同一逻辑列中。
在本例中,当为所述存在关联性的小文件指定的为逻辑行时,在将所述存在关联性的小文件分别存储至指定的同一逻辑行后,所述数据分表中同一逻辑列中存储的小文件的文件类型相同;
当为所述存在关联性的小文件指定的为逻辑列时,在将所述存在关联性的小文件分别存储至指定的同一逻辑列后,所述数据分表中同一逻辑行中的存储的小文件的文件类型相同。
在本例中,所述生成模块603进一步用于:
针对所述数据分表生成对应的分表索引;
其中,所述分表索引包括针对所述数据分表中各逻辑行或者逻辑列中所存储的文件类型的描述信息。
在本例中,所述表征所述待存储小文件的关联性的信息包括所述待存储小文件的来源信息以及业务类型信息;
所述待存储小文件的来源信息包括所述待存储小文件的url地址;所述业务类型信息包括业务ID;
所述待存储小文件中存在关联性的小文件包括所述待存储小文件中处于同一目标页面中的小文件;或者所述待存储小文件中业务类型相同的小文件;
所述文件索引包括针对所述目标页面的url地址进行哈希计算得到的哈希值;或者与所述业务类型对应的业务ID;
所述查询索引包括针对所述待存储文件的url地址进行哈希计算得到的哈希值。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (12)

1.一种基于分布式文件系统的小文件存储方法,其特征在于,该方法包括:
基于表征待存储小文件的关联性的信息生成唯一对应的查询索引;
为生成的所述查询索引分配对应的数据分表,并建立所述查询索引与所述数据分表之间的映射关系;所述数据分表为预设的逻辑二维表,包括由预设大小的逻辑存储单元构成的若干逻辑行和逻辑列;所述待存储文件包括文件类型和大小均不相同的批量小文件;
将所述待存储小文件中存在关联性的小文件分别存储至所述数据分表中的同一逻辑行或者同一逻辑列;
针对所述存在关联性的小文件分别生成唯一对应的文件索引,并将该文件索引保存至对应的逻辑行或者逻辑列中。
2.根据权利要求1所述的方法,其特征在于,所述将所述待存储小文件中存在关联性的小文件分别存储至所述数据分表中的同一逻辑行或者同一逻辑列包括:
依次读取所述待存储小文件中存在关联性的小文件;
在所述数据分表中为所述待存储小文件中存在关联性的小文件分别指定逻辑行或者逻辑列;
基于所述逻辑行或者逻辑列的逻辑存储地址将所述存在关联性的小文件分别存储至指定的同一逻辑行或者同一逻辑列中。
3.根据权利要求2所述的方法,其特征在于,所述基于所述逻辑行或者逻辑列的逻辑存储地址将所述存在关联性的小文件存储至指定的同一逻辑行或者同一逻辑列中包括:
从所述存在关联性的小文件中依次读取目标小文件;
判断读取到的所述目标小文件的大小是否大于所述逻辑存储单元的大小;
当读取到的所述目标小文件的大小小于或者等于所述逻辑存储单元的大小时,基于所述逻辑行或者逻辑列的逻辑存储地址将所述目标小文件的文件内容存储至同一逻辑行或者同一逻辑列中;
当读取到的所述目标小文件的大小大于所述逻辑存储单元的大小时,基于所述逻辑行或者逻辑列的逻辑存储地址将所述目标小文件的文件内容分片存储至同一逻辑行或者同一逻辑列;或者对所述目标小文件进行单独存储,将所述目标小文件的存储位置提示信息存储至同一逻辑行或者同一逻辑列中。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当为所述存在关联性的小文件指定的为逻辑行时,在将所述存在关联性的小文件分别存储至指定的同一逻辑行后,所述数据分表中同一逻辑列中存储的小文件的文件类型相同;
当为所述存在关联性的小文件指定的为逻辑列时,在将所述存在关联性的小文件分别存储至指定的同一逻辑列后,所述数据分表中同一逻辑行中的存储的小文件的文件类型相同。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
针对所述数据分表生成对应的分表索引;
其中,所述分表索引包括针对所述数据分表中各逻辑行或者逻辑列中所存储的文件类型的描述信息。
6.根据权利要求1所述的方法,其特征在于,所述表征待存储小文件的关联性的信息包括所述待存储小文件的来源信息以及业务类型信息;
所述待存储小文件的来源信息包括所述待存储小文件的url地址;所述业务类型信息包括业务ID;
所述待存储小文件中存在关联性的小文件包括所述待存储小文件中处于同一目标页面中的小文件;或者所述待存储小文件中业务类型相同的小文件;
所述文件索引包括针对所述目标页面的url地址进行哈希计算得到的哈希值;或者与所述业务类型对应的业务ID;
所述查询索引包括针对所述待存储文件的url地址进行哈希计算得到的哈希值。
7.一种基于分布式文件系统的小文件存储装置,其特征在于,该装置包括:
分配模块,用于基于表征待存储小文件的关联性的信息生成唯一对应的查询索引;为生成的所述查询索引分配对应的数据分表,并建立所述查询索引与所述数据分表之间的映射关系;所述数据分表为预设的逻辑二维表,包括由预设大小的逻辑存储单元构成的若干逻辑行和逻辑列;所述待存储文件包括文件类型和大小均不相同的批量小文件;
存储模块,用于将所述待存储小文件中存在关联性的小文件分别存储至所述数据分表中的同一逻辑行或者同一逻辑列;
生成模块,用于针对所述存在关联性的小文件分别生成唯一对应的文件索引,并将该文件索引保存至对应的逻辑行或者逻辑列中。
8.根据权利要求7所述的装置,其特征在于,所述存储模块具体用于:
依次读取所述待存储小文件中存在关联性的小文件;
在所述数据分表中为所述待存储小文件中存在关联性的小文件分别指定逻辑行或者逻辑列;
基于所述逻辑行或者逻辑列的逻辑存储地址将所述存在关联性的小文件分别存储至指定的同一逻辑行或者同一逻辑列中。
9.根据权利要求8所述的装置,其特征在于,所述存储模块进一步用于:
从所述存在关联性的小文件中依次读取目标小文件;
判断读取到的所述目标小文件的大小是否大于所述逻辑存储单元的大小;
当读取到的所述目标小文件的大小小于或者等于所述逻辑存储单元的大小时,基于所述逻辑行或者逻辑列的逻辑存储地址将所述目标小文件的文件内容存储至同一逻辑行或者同一逻辑列中;
当读取到的所述目标小文件的大小大于所述逻辑存储单元的大小时,基于所述逻辑行或者逻辑列的逻辑存储地址将所述目标小文件的文件内容分片存储至同一逻辑行或者同一逻辑列;或者对所述目标小文件进行单独存储,将所述目标小文件的存储位置提示信息存储至同一逻辑行或者同一逻辑列中。
10.根据权利要求8所述的装置,其特征在于,当为所述存在关联性的小文件指定的为逻辑行时,在将所述存在关联性的小文件分别存储至指定的同一逻辑行后,所述数据分表中同一逻辑列中存储的小文件的文件类型相同;
当为所述存在关联性的小文件指定的为逻辑列时,在将所述存在关联性的小文件分别存储至指定的同一逻辑列后,所述数据分表中同一逻辑行中的存储的小文件的文件类型相同。
11.根据权利要求7所述的装置,其特征在于,所述生成模块进一步用于:
针对所述数据分表生成对应的分表索引;
其中,所述分表索引包括针对所述数据分表中各逻辑行或者逻辑列中所存储的文件类型的描述信息。
12.根据权利要求7所述的装置,其特征在于,所述表征所述待存储小文件的关联性的信息包括所述待存储小文件的来源信息以及业务类型信息;
所述待存储小文件的来源信息包括所述待存储小文件的url地址;所述业务类型信息包括业务ID;
所述待存储小文件中存在关联性的小文件包括所述待存储小文件中处于同一目标页面中的小文件;或者所述待存储小文件中业务类型相同的小文件;
所述文件索引包括针对所述目标页面的url地址进行哈希计算得到的哈希值;或者与所述业务类型对应的业务ID;
所述查询索引包括针对所述待存储文件的url地址进行哈希计算得到的哈希值。
CN201610082148.3A 2016-02-04 2016-02-04 基于分布式文件系统的小文件存储方法及装置 Active CN105677904B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610082148.3A CN105677904B (zh) 2016-02-04 2016-02-04 基于分布式文件系统的小文件存储方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610082148.3A CN105677904B (zh) 2016-02-04 2016-02-04 基于分布式文件系统的小文件存储方法及装置

Publications (2)

Publication Number Publication Date
CN105677904A CN105677904A (zh) 2016-06-15
CN105677904B true CN105677904B (zh) 2019-07-12

Family

ID=56304224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610082148.3A Active CN105677904B (zh) 2016-02-04 2016-02-04 基于分布式文件系统的小文件存储方法及装置

Country Status (1)

Country Link
CN (1) CN105677904B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107341267A (zh) * 2017-07-24 2017-11-10 郑州云海信息技术有限公司 一种分布式文件系统访问方法及平台
CN107729307A (zh) * 2017-10-31 2018-02-23 北京无线电测量研究所 一种基于Qt的可配置扩展表格的显示方法及系统
CN108388669A (zh) * 2018-03-19 2018-08-10 四川意高汇智科技有限公司 用于数据挖掘的分布式计算方法
CN108809514B (zh) * 2018-04-23 2021-01-12 华为技术有限公司 一种数据传输方法及相关设备
CN109062987A (zh) * 2018-06-29 2018-12-21 联动优势科技有限公司 一种文件处理方法及装置
CN110908965A (zh) * 2019-11-07 2020-03-24 北京浪潮数据技术有限公司 一种对象存储管理方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020315A (zh) * 2013-01-10 2013-04-03 中国人民解放军国防科学技术大学 一种基于主从分布式文件系统的海量小文件存储方法
CN103605726A (zh) * 2013-11-15 2014-02-26 中安消技术有限公司 一种小文件的存取方法、系统及控制节点和存储节点
CN104679898A (zh) * 2015-03-18 2015-06-03 成都汇智远景科技有限公司 一种大数据访问方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9524302B2 (en) * 2014-03-05 2016-12-20 Scality, S.A. Distributed consistent database implementation within an object store

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020315A (zh) * 2013-01-10 2013-04-03 中国人民解放军国防科学技术大学 一种基于主从分布式文件系统的海量小文件存储方法
CN103605726A (zh) * 2013-11-15 2014-02-26 中安消技术有限公司 一种小文件的存取方法、系统及控制节点和存储节点
CN104679898A (zh) * 2015-03-18 2015-06-03 成都汇智远景科技有限公司 一种大数据访问方法

Also Published As

Publication number Publication date
CN105677904A (zh) 2016-06-15

Similar Documents

Publication Publication Date Title
CN105677904B (zh) 基于分布式文件系统的小文件存储方法及装置
CN104881466B (zh) 数据分片的处理以及垃圾文件的删除方法和装置
KR101994021B1 (ko) 파일 조작 방법 및 장치
CN106874348B (zh) 文件存储和索引方法、装置及读取文件的方法
CN104794177B (zh) 一种数据存储方法及装置
CN103095758B (zh) 一种分布式文件系统及该系统中处理文件数据的方法
CN104679778A (zh) 一种搜索结果的生成方法及装置
EP1808779B1 (en) Bundling database
CN106970958B (zh) 一种流文件的查询与存储方法和装置
CN107515879B (zh) 用于文档检索的方法和电子设备
CN104423982B (zh) 请求的处理方法和处理设备
WO2014110940A1 (en) A method, apparatus and system for storing, reading the directory index
CN108268609A (zh) 一种文件路径的建立、访问方法和装置
KR101621385B1 (ko) 클라우드 스토리지 서비스의 파일 검색 시스템 및 방법, 및 파일 제어 방법
CN110427364A (zh) 一种数据处理方法、装置、电子设备及存储介质
JP6268116B2 (ja) データ処理装置、データ処理方法およびコンピュータプログラム
CN107480205A (zh) 一种进行数据分区的方法和装置
CN106471501A (zh) 数据查询的方法、数据对象的存储方法和数据系统
CN111258978A (zh) 一种数据存储的方法
CN103294799B (zh) 一种数据并行批量导入只读查询系统的方法及系统
US20210286806A1 (en) Personal information indexing for columnar data storage format
CN104537012B (zh) 数据处理方法和装置
CN108399175B (zh) 一种数据存储、查询方法及其装置
Chang et al. Integration and optimization of multiple big data processing platforms
CN107181773A (zh) 分布式存储系统的数据存储及数据管理方法、设备

Legal Events

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