一种HDFS中文件的存储方法及装置制造方法及图纸

技术编号:16717651 阅读:23 留言:0更新日期:2017-12-05 16:13
本发明专利技术公开了一种HDFS中文件的存储方法及装置,该方法的步骤包括:将文件存储至数据节点的数据块中;按照预设方式将文件的相关信息记录在第一索引中,并将第一索引存储于数据节点中;将第一索引记录在第二索引中,并将第二索引存储于主节点中。可见,通过将聚合所得的第一层索引存储在数据节点分担了主节点的存储压力,主节点只需要存储由第一层索引进一步聚合所得的索引信息即可获得所有小文件的相关信息,因此主节点记录相关信息的频率能够相对降低,并且能够记录更多的相关信息。可见,本发明专利技术更加节省主节点的存储空间,并且能够减轻主节点工作压力并且提高HDFS存储效率。此外,HDFS中文件的存储装置同样具有上述效果。

A method and device for storage of files in HDFS

The invention discloses a device and a storage method of HDFS documents, the method includes the steps of: storing files to the data node in a data block; the file related information recorded in the first index according to a preset mode, and the first index stored in the data nodes; the first index record in second index second, and the index is stored in the main node. Visible through the first layer of the index storage will be polymerized in the data storage nodes share the pressure of the main node, the master node only needs to store index information from the first layer index further polymerized to obtain the relevant information of all small files, so the master node records information about frequency can be relatively lower, and can record more information the. It can be seen that the invention saves the storage space of the main node, and can reduce the working pressure of the main node and improve the storage efficiency of HDFS. In addition, the storage device of the file in HDFS also has the above effect.

【技术实现步骤摘要】
一种HDFS中文件的存储方法及装置
本专利技术涉及HDFS文件系统领域,特别是涉及一种HDFS中文件的存储方法及装置。
技术介绍
Hadoop是近几年发展的比较成熟的大数据计算平台之一,凭借其可靠、高效、可伸缩的特性在互联网领域得到了广泛的应用,同时也得到了学术界的普遍关注。HDFS作为Hadoop的分布式文件系统,已经成为海量存储集群上部署的主流文件系统。HDFS由一个NameNode和若干个DataNode组成,其中DataNode是文件系统的数据节点,用于存储数据;NameNode是文件系统的主节点,负责记录和管理DataNode中所存的文件。HDFS通过分布式的方式存储数据,因此能够存储的数据量较大,并且由于数据节点中的数据存在定时的冗余备份以及数据节点之间的数据定时流动,因此使数据更加安全可靠。由于数据节点中的数据的信息均记录在主节点中,所以主节点的存储空间影响着数据节点中能够实际存储的数据量,并且存储小文件与存储大文件一样都会在主节点中占用同样的空间,所以HDFS对于海量的小文件存储往往会大量占用的主节点中数据信息的记录空间。可见,上述情况在加剧了主节点的工作压力的同时,还造成数据节点中存储空间的浪费,降低了HDFS整体的存储效率。由此可见,提供一种HDFS中文件的存储方法,以减轻主节点工作压力并且提高HDFS存储效率,是本领域技术人员亟待解决的问题。
技术实现思路
本专利技术的目的是提供一种HDFS中文件的存储方法及装置,节省了主节点的存储空间,并且减轻了主节点工作压力并且提高了HDFS存储效率。为解决上述技术问题,本专利技术提供一种HDFS中文件的存储方法,包括:将文件存储至数据节点的数据块中;按照预设方式将文件的相关信息记录在第一索引中,并将第一索引存储于数据节点中;将第一索引记录在第二索引中,并将第二索引存储于主节点中。优选的,按照预设方式将文件的相关信息记录在第一索引中具体为:按照同类型的相关信息记录在相同索引的方式将相关信息记录在第一索引中。优选的,第一索引的内容包括:文件的长度、文件的偏移量以及文件的文件名。优选的,第二索引的内容包括:第一索引的索引名、文件在第一索引中的位置以及文件所占用的数据块个数。优选的,当获取到查找文件的指令时,该方法进一步包括:在第二索引中根据文件的文件名查找相应的第一索引;根据第一索引中记录的文件在数据块中的位置,获得文件。优选的,在获得文件后,该方法进一步包括:预先读取与文件相关的文件。此外,本专利技术还提供一种HDFS中文件的存储装置,包括:存储模块,用于将文件存储至数据节点的数据块中;第一索引处理模块,用于按照预设方式将文件的相关信息记录在第一索引中,并将第一索引存储于数据节点中;第二索引处理模块,用于将第一索引记录在第二索引中,并将第二索引存储于主节点中。优选的,该装置进一步包括:文件获取模块,用于在第二索引中根据文件的文件名查找相应的第一索引,并根据第一索引中记录的文件在数据块中的位置,获得文件。优选的,该装置进一步包括:预先读取模块,用于预先读取与文件相关的文件。本专利技术所提供的HDFS中文件的存储方法,通过采用两层索引的方式,对文件进行了聚合。因此即使是海量的小文件,也可以将小文件的信息先进行聚合,并将初步聚合所获得的第一层索引存储在数据节点,进而再对第一层索引进行聚合成为第二层索引,并存储在主节点中。可见,通过将聚合所得的第一层索引存储在数据节点分担了主节点的存储压力,主节点只需要存储由第一层索引进一步聚合所得的索引信息即可获得所有小文件的相关信息,因此主节点记录相关信息的频率能够相对降低,并且能够记录更多的相关信息。可见,本专利技术更加节省主节点的存储空间,并且能够减轻主节点工作压力并且提高HDFS存储效率。此外,本专利技术还提供一种HDFS中文件的存储装置,与上述的方法对应,有益效果如上所述。附图说明为了更清楚地说明本专利技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种HDFS中文件的存储方法的流程图;图2为本专利技术实施例提供的另一种HDFS中文件的存储方法的流程图;图3为本专利技术实施例提供的一种HDFS中文件的存储装置结构图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本专利技术保护范围。本专利技术的核心是提供一种HDFS中文件的存储方法及装置,节省了主节点的存储空间,并且减轻了主节点工作压力并且提高了HDFS存储效率。为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。实施例一图1为本专利技术实施例提供的一种HDFS中文件的存储方法的流程图。请参考图1,HDFS中文件的存储方法的具体步骤包括:步骤S10:将文件存储至数据节点的数据块中。可以理解的是,本步骤中存储于数据节点的文件的相关信息将在后续步骤中通过索引的形式进行记录。步骤S11:按照预设方式将文件的相关信息记录在第一索引中,并将第一索引存储于数据节点中。本步骤的目的在于,将文件的相关信息先汇总为第一层的索引,并将索引存储于数据节点以减轻主节点的压力。需要说明的是,本专利技术中的索引指的是一列值或若干列值的集合以及相应指向表中物理标识这些值的数据页的逻辑指针清单,索引相当于图书的目录,根据目录页码可以快速找到所需的内容。另外,预设的方式可以根据用户的需要而定,可以是将同类型的文件记录在同一索引,当然也可以是预先规定每一个索引的大小,将获取到的文件按照顺序依次记录在索引中,在此不做具体限定。步骤S12:将第一索引记录在第二索引中,并将第二索引存储于主节点中。需要说明的是,本步骤是将第一索引聚合为第二索引,相当于再次将文件的相关信息进行了汇总,并且将汇总得到的结果存储在主节点中,进而在保证主节点所存储的索引信息较少的同时能够根据第二索引的内容找到第一索引中所记录的任意文件。本专利技术所提供的HDFS中文件的存储方法,通过采用两层索引的方式,对文件进行了聚合。因此即使是海量的小文件,也可以将小文件的信息先进行聚合,并将初步聚合所获得的第一层索引存储在数据节点,进而再对第一层索引进行聚合成为第二层索引,并存储在主节点中。可见,通过将聚合所得的第一层索引存储在数据节点分担了主节点的存储压力,主节点只需要存储由第一层索引进一步聚合所得的索引信息即可获得所有小文件的相关信息,因此主节点记录相关信息的频率能够相对降低,并且能够记录更多的相关信息。可见,本专利技术更加节省主节点的存储空间,并且能够减轻主节点工作压力并且提高HDFS存储效率。实施例二图2为本专利技术实施例提供的另一种HDFS中文件的存储方法的流程图。图2中步骤S10-S12与图1相同,在此不再赘述。在上述实施例的基础上,作为一种优选的实施方式,按照预设方式将文件的相关信息记录在第一索引中具体为:按照同类型的相关信息记录在相同索引的方式将相关信息本文档来自技高网
...
一种HDFS中文件的存储方法及装置

【技术保护点】
一种HDFS中文件的存储方法,其特征在于,包括:将文件存储至数据节点的数据块中;按照预设方式将所述文件的相关信息记录在第一索引中,并将所述第一索引存储于所述数据节点中;将所述第一索引记录在第二索引中,并将所述第二索引存储于主节点中。

【技术特征摘要】
1.一种HDFS中文件的存储方法,其特征在于,包括:将文件存储至数据节点的数据块中;按照预设方式将所述文件的相关信息记录在第一索引中,并将所述第一索引存储于所述数据节点中;将所述第一索引记录在第二索引中,并将所述第二索引存储于主节点中。2.根据权利要求1所述的方法,其特征在于,所述按照预设方式将所述文件的相关信息记录在第一索引中具体为:按照同类型的所述相关信息记录在相同索引的方式将所述相关信息记录在第一索引中。3.根据权利要求1或2所述的方法,其特征在于,所述第一索引的内容包括:所述文件的长度、所述文件的偏移量以及所述文件的文件名。4.根据权利要求1或2所述的方法,其特征在于,所述第二索引的内容包括:所述第一索引的索引名、所述文件在所述第一索引中的位置以及所述文件所占用的所述数据块个数。5.根据权利要求2所述的方法,其特征在于,当获取到查找所述文件的指令时,该方法进一步包括:在所述第二索引中根据所述文件的...

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

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

1