文件处理方法、系统、电子设备和存储介质技术方案

技术编号:28837229 阅读:13 留言:0更新日期:2021-06-11 23:34
本发明专利技术提供了一种文件处理方法、系统、电子设备和存储介质,所述方法应用于分布式文件管理系统,分布式文件管理系统包括管理节点、模拟节点和N个数据节点,模拟节点基于管理节点生成,所述方法包括:模拟节点获取N个数据节点中每一数据节点存储的文件对象的文件信息;根据文件信息确定M个目标文件对象;将M个目标文件对象移动到目标文件夹;根据目标文件夹的路径,修改M个目标文件对象的路径。本发明专利技术实施例中,通过模拟节点获取每一数据节点存储的文件对象的文件信息,进而根据文件信息确定目标文件对象。将目标文件对象移动到目标文件夹,避免每个小文件占用一个对应的索引,以此释放系统的内存空间,提高系统处理文件的性能。

【技术实现步骤摘要】
文件处理方法、系统、电子设备和存储介质
本专利技术涉及网络
,特别是涉及文件处理方法、系统、电子设备和存储介质。
技术介绍
目前,随着互联网技术的发展,需要进行存储和处理的数据不断增长,分布式文件系统(DistributedFileSystem,DFS)应运而生。分布式文件系统可以对数据量较大的文件进行存储和管理,分布式文件系统将文件存储在多个节点,通过网络进行节点间的通信和数据传输,方便用户访问。然而,以分布式文件系统为Hadoop分布式文件系统(HadoopDistributedFileSystem,HDFS)为例,HDFS存在大量的数据量较小的小文件,且每个小文件占用对应的数据节点中的一个索引来存储小文件的数据信息,这占用了系统的大量内存,影响系统的性能。
技术实现思路
本专利技术实施例的目的在于提供一种文件处理方法、系统、电子设备和存储介质,解决分布式文件系统中的小文件占用了大量内存,进而影响系统性能的技术问题。具体技术方案如下:在本专利技术实施例的第一方面,首先提供了一种文件处理方法,应用于分布式文件管理系统,所述分布式文件管理系统包括管理节点、模拟节点和N个数据节点,所述模拟节点基于所述管理节点生成,所述数据节点存储有数据文件,N为正整数,所述方法包括:所述模拟节点获取所述N个数据节点中每一数据节点存储的文件对象的文件信息,一个所述文件对象占用对应的数据节点中的一个索引;根据所述文件信息确定M个目标文件对象,所述M个目标文件对象为占用内存值小于预设值的文件或者文件夹,所述M为大于1的正整数;将所述M个目标文件对象移动到目标文件夹,所述目标文件夹存储于任一数据节点,所述目标文件夹占用对应的数据节点中的一个索引;根据所述目标文件夹的路径,修改所述M个目标文件对象的路径。在本专利技术实施例的第二方面,还提供了一种文件处理系统,所述文件处理系统包括管理节点、模拟节点和N个数据节点,所述模拟节点基于所述管理节点生成,所述数据节点存储有数据文件,N为正整数;所述模拟节点,用于获取所述N个数据节点中每一数据节点存储的文件对象的文件信息,一个所述文件对象占用对应的数据节点中的一个索引;根据所述文件信息确定M个目标文件对象,所述M个目标文件对象为占用内存值小于预设值的文件或者文件夹,所述M为大于1的正整数;将所述M个目标文件对象移动到目标文件夹,所述目标文件夹存储于任一数据节点,所述目标文件夹占用对应的数据节点中的一个索引;根据所述目标文件夹的路径,修改所述M个目标文件对象的路径。在本专利技术实施例的第三方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一实施例所述的文件处理方法。在本专利技术实施的第四方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一实施例所述的文件处理方法。本专利技术实施例中,通过模拟节点获取每一数据节点存储的文件对象的文件信息,进而根据文件信息确定目标文件对象,其中,目标文件对象为占用内存值小于预设值的文件或者文件夹,即小文件。将小文件移动至目标文件夹中,避免每个小文件占用一个索引,以此释放系统的大量内存空间,实现对于系统中所有文件对象的优化,进而提高系统的性能。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。图1为本专利技术实施例中文件处理方法的流程图;图2为本专利技术实施例中文件处理方法的一应用场景示意图;图3为本专利技术实施例中文件处理系统的结构示意图;图4为本专利技术实施例中一种电子设备的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行描述。本实施例提供的文件处理方法应用于分布式文件管理系统,可选地,以下以该方法应用于HDFS为例进行阐述,需要理解的是,本实施例提供的文件处理方法还可以应用其他文件系统,在此不做具体限制。HDFS由管理节点和N个数据节点构成,每个数据节点均存储有文件对象,且每个文件对象占用对应的数据节点中的1个索引。该文件对象又称元数据,该文件对象包括但不限于文件夹和文件,文件夹存储有文件,或者,文件夹为未存储任何文件的空白文件夹,其中,可以将占用内存值大于或等于预设值的文件理解为大文件;将占用内存值小于预设值的文件理解为小文件。上述管理节点包括激活节点和备份节点,激活节点用于读取各数据节点存储的文件,或者,将文件存储至任一数据节点;备份节点并不能与数据节点进行交互,备份节点用于对激活节点的运行数据进行拷贝,当激活节点出现故障时,可以通过激活备份节点的方式,保证系统正常工作。目前,在使用HDFS处理大量文件数据的场景中,例如在机器学习领域使用HDFS处理数据,或者,在数据湖中使用HDFS处理数据,HDFS的各个数据节点存在大量的小文件,每个小文件都占用一个对应的索引来存储数据信息,这占用了系统的大量内存,影响系统的性能。基于上述技术问题,本专利技术提出以下技术构思:将各个数据节点存储的小文件合并到一个文件夹,并删除各个数据节点存储的小文件。由于一个文件夹只占用一个索引来存储文件夹中的数据信息,因此可以通过将大量小文件合并到一个文件夹的方式,释放系统的大量内存,提高系统处理文件的性能。基于上述技术构思,本专利技术实施例提供一种文件处理方法。请参阅图1,图1为本专利技术实施例中文件处理方法的流程图。本专利技术实施例提供的文件处理方法包括:S101,模拟节点获取N个数据节点中每一数据节点存储的文件对象的文件信息。本实施例中,为了对每个数据节点中存储的小文件进行合并,可以基于管理节点的部分功能,新增一个模拟节点。应理解,管理节点包括激活节点和备份节点,该模拟节点可以基于激活节点生成,具备激活节点的读取各数据节点存储文件的功能,上述文件对象可以是文件或者文件夹,上述文件信息可以是文件对象的内存占用值,其中,一个文件对象占用对应的数据节点中的一个索引。需要说明的是,备份节点从激活节点获取镜像数据和日志数据,实现对于激活节点的运行数据的拷贝。其中,镜像文件反映整个分布式文件管理系统的所有目录和文件的信息,日志数据反映系统中所有文件的操作记录。一种可选的实施方式为,对激活节点进行编译,在激活节点原有功能的基础上,新增本专利技术实施例提供的处理小文件的功能,这种实施方式中,可以将编译后的激活节点理解为模拟节点。S102,根据所述文件信息确定M个目标文件对象。如上所述,每个数据节点存储的文件对象包括但不限于文件夹和文件,其中,文件包括占用内存值大于或等于预设值的大文件和占用内存值小于预设值的小文件。在一些实施例中,文件对象为文件夹,这样,可以将存储有小文件的文件夹确定为目标文件对象。在另一些实施例中,文件对象为文件,这样,可以将小文件本文档来自技高网...

【技术保护点】
1.一种文件处理方法,其特征在于,应用于分布式文件管理系统,所述分布式文件管理系统包括管理节点、模拟节点和N个数据节点,所述模拟节点基于所述管理节点生成,所述数据节点存储有数据文件,N为正整数,所述方法包括:/n所述模拟节点获取所述N个数据节点中每一数据节点存储的文件对象的文件信息,一个所述文件对象占用对应的数据节点中的一个索引;/n根据所述文件信息确定M个目标文件对象,所述M个目标文件对象为占用内存值小于预设值的文件或者文件夹,M为大于1的正整数;/n将所述M个目标文件对象移动到目标文件夹,所述目标文件夹存储于任一数据节点,且所述目标文件夹占用对应的数据节点中的一个索引;/n根据所述目标文件夹的路径,修改所述M个目标文件对象的路径。/n

【技术特征摘要】
1.一种文件处理方法,其特征在于,应用于分布式文件管理系统,所述分布式文件管理系统包括管理节点、模拟节点和N个数据节点,所述模拟节点基于所述管理节点生成,所述数据节点存储有数据文件,N为正整数,所述方法包括:
所述模拟节点获取所述N个数据节点中每一数据节点存储的文件对象的文件信息,一个所述文件对象占用对应的数据节点中的一个索引;
根据所述文件信息确定M个目标文件对象,所述M个目标文件对象为占用内存值小于预设值的文件或者文件夹,M为大于1的正整数;
将所述M个目标文件对象移动到目标文件夹,所述目标文件夹存储于任一数据节点,且所述目标文件夹占用对应的数据节点中的一个索引;
根据所述目标文件夹的路径,修改所述M个目标文件对象的路径。


2.根据权利要求1所述的方法,其特征在于,所述模拟节点获取所述N个数据节点中每一数据节点存储的文件对象的文件信息包括:
在所述目标文件对象为文件的情况下,所述模拟节点获取所述N个数据节点中每一数据节点存储的文件的内存占用值;
所述根据所述文件信息确定M个目标文件对象包括:
将所述内存占用值小于预设值的文件确定为目标文件对象。


3.根据权利要求1所述的方法,其特征在于,所述模拟节点获取所述N个数据节点每一数据节点存储的文件对象的文件信息包括:
在所述目标文件对象为文件夹的情况下,所述模拟节点获取所述N个数据节点每一数据节点存储的文件夹的内存占用值和文件数量;
所述根据所述文件信息确定M个目标文件对象包括:
将所述文件数量与所述内存占用值的比值小于预设比值的文件夹,确定为目标文件对象。


4.根据权利要求1所述的方法,其特征在于,所述将所述M个目标文件对象移动到目标文件夹包括:
将所述M个目标文件对象按照预设顺序复制至临时文件夹中;
在所述M个目标文件对象均复制至所述临时文件夹后,调整所述临时文件夹的路径,将所述临时文件夹转换为所述目标文件夹;
删除所述N个数据节点存储的M个目标文件对象。


5.根据权利要求1所述的方法...

【专利技术属性】
技术研发人员:辛世友
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京;11

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

1