CN112269763A - 一种文件聚合方法及相关装置 - Google Patents

一种文件聚合方法及相关装置 Download PDF

Info

Publication number
CN112269763A
CN112269763A CN202011139102.3A CN202011139102A CN112269763A CN 112269763 A CN112269763 A CN 112269763A CN 202011139102 A CN202011139102 A CN 202011139102A CN 112269763 A CN112269763 A CN 112269763A
Authority
CN
China
Prior art keywords
file
aggregation
target
directory
files
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.)
Withdrawn
Application number
CN202011139102.3A
Other languages
English (en)
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202011139102.3A priority Critical patent/CN112269763A/zh
Publication of CN112269763A publication Critical patent/CN112269763A/zh
Withdrawn legal-status Critical Current

Links

Images

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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • 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)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种文件聚合方法,包括:按照递归顺序对接收到的目标目录进行目录遍历处理,得到所述目标目录下对应的所有目录的路径信息;获取所述所有目录的路径信息对应下的文件大小小于预设值的目标文件;将所有目标文件写入预设的聚合文件,以便实现文件聚合操作。通过遍历后获取到所有目录的路径信息,然后针对每个路径信息的目标文件进行文件数据聚合,实现了针对多目录的文件聚合操作,提高了聚合效率,同时通过聚合文件降低了小文件对存储系统的影响。本申请还公开了一种文件聚合装置、服务器以及计算机可读存储介质,具有以上有益效果。

Description

一种文件聚合方法及相关装置
技术领域
本申请涉及计算机技术领域,特别涉及一种文件聚合方法、文件聚合装置、服务器以及计算机可读存储介质。
背景技术
随着数据存储技术的不断发展,出现了分布式存储系统。分布式存储系统,是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。
相关技术中,在互联网时代,存储设备中以图片为主的海量小文件成为现实,海量小文件可能需要占用比实际所需的更多底层对象,此外,海量小文件会对日志文件系统的性能、故障场景数据恢复以及磁盘利用率等有影响。当存储系统中某一个磁盘或节点出现故障,会产生长时间的故障恢复,故障恢复过程中对其他的节点或磁盘也会产生较大的压力。长时间的磁盘压力过大,也会引起磁盘故障率上升,从而引起恶性循环,更严重的是影响客户的前端业务和数据的安全。也就是说,海量的小文件的存储会导致存储系统的性能下降,出现各种存储问题。
因此,如何避免大量小文件对存储系统造成影响是本领域技术人员关注的重点问题。
发明内容
本申请的目的是提供一种文件聚合方法、文件聚合装置、服务器以及计算机可读存储介质,通过遍历后获取到所有目录的路径信息,然后针对每个路径信息的目标文件进行文件数据聚合,实现了针对多目录的文件聚合操作,提高了聚合效率,同时通过聚合文件降低了小文件对存储系统的影响。
为解决上述技术问题,本申请提供一种文件聚合方法,包括:
按照递归顺序对接收到的目标目录进行目录遍历处理,得到所述目标目录下对应的所有目录的路径信息;
获取所述所有目录的路径信息对应下的文件大小小于预设值的目标文件;
将所有目标文件写入预设的聚合文件,以便实现文件聚合操作。
可选的,还包括:
当所述目标文件写入所述聚合文件后,将所述目标文件对应的底层对象数据进行删除。
可选的,按照递归顺序对接收到的目标目录进行目录遍历处理,得到所述目标目录下对应的所有目录的路径信息,包括:
接收所述目标目录;
按照递归顺序对所述目标目录下的所有子目录进行遍历,得到所述所有目录的路径信息。
可选的,将所有目标文件写入预设的聚合文件,以便实现文件聚合操作,包括:
将所有目标文件依次写入预设文件大小的多个聚合文件,以便实现文件聚合操作。
可选的,将所有目标文件写入预设的聚合文件,以便实现文件聚合操作,包括:
将预设文件数量的多个目标文件写入预设的聚合文件,以便实现文件聚合操作。
可选的,还包括:
判断聚合过程线程数是否大于预设线程数;若是,则执行等待处理操作。
本申请还提供一种文件聚合装置,包括:
目录获取模块,用于按照递归顺序对接收到的目标目录进行目录遍历处理,得到所述目标目录下对应的所有目录的路径信息;
目录遍历模块,用于获取所述所有目录的路径信息对应下的文件大小小于预设值的目标文件;
文件聚合模块,用于将所有目标文件写入预设的聚合文件,以便实现文件聚合操作。
可选的,还包括:
数据清除模块,用于当所述目标文件写入所述聚合文件后,将所述目标文件对应的底层对象数据进行删除。
本申请还提供一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的文件聚合方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的文件聚合方法的步骤。
本申请所提供的一种文件聚合方法,包括:按照递归顺序对接收到的目标目录进行目录遍历处理,得到所述目标目录下对应的所有目录的路径信息;获取所述所有目录的路径信息对应下的文件大小小于预设值的目标文件;将所有目标文件写入预设的聚合文件,以便实现文件聚合操作。
通过遍历后获取到所有目录的路径信息,然后针对每个路径信息的目标文件进行文件数据聚合,实现了针对多目录的文件聚合操作,提高了聚合效率,同时通过聚合文件降低了小文件对存储系统的影响。
本申请还提供一种文件聚合装置、服务器以及计算机可读存储介质,具有以上有益效果,在此不做赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种文件聚合方法的流程图;
图2为本申请实施例所提供的一种文件聚合装置的结构示意图。
具体实施方式
本申请的核心是提供一种文件聚合方法、文件聚合装置、服务器以及计算机可读存储介质,通过遍历后获取到所有目录的路径信息,然后针对每个路径信息的目标文件进行文件数据聚合,实现了针对多目录的文件聚合操作,提高了聚合效率,同时通过聚合文件降低了小文件对存储系统的影响。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,在互联网时代,存储设备中以图片为主的海量小文件成为现实,海量小文件可能需要占用比实际所需的更多底层对象,此外,海量小文件会对日志文件系统的性能、故障场景数据恢复以及磁盘利用率等有影响。当存储系统中某一个磁盘或节点出现故障,会产生长时间的故障恢复,故障恢复过程中对其他的节点或磁盘也会产生较大的压力。长时间的磁盘压力过大,也会引起磁盘故障率上升,从而引起恶性循环,更严重的是影响客户的前端业务和数据的安全。也就是说,海量的小文件的存储会导致存储系统的性能下降,出现各种存储问题。
因此,本申请提供一种文件聚合方法,通过遍历后获取到所有目录的路径信息,然后针对每个路径信息的目标文件进行文件数据聚合,实现了针对多目录的文件聚合操作,提高了聚合效率,同时通过聚合文件降低了小文件对存储系统的影响。
以下通过一个实施例,对本申请提供的一种文件聚合方法进行说明。
请参考图1,图1为本申请实施例所提供的一种文件聚合方法的流程图。
本实施例中,该方法可以包括:
S101,按照递归顺序对接收到的目标目录进行目录遍历处理,得到目标目录下对应的所有目录的路径信息;
本步骤旨在按照递归顺序获取到该目标目录下所有子目录的路径信息。其中,递归顺序是指打开当前目录后继续打开该当前目录中的目录,直至目录中不再包含子目录为止。
其中,目录的路径信息一般是用于获取该目录下所有文件信息。而相关技术中一般是获取到一条目录的路径信息,然后通过该路径信息获取到该目录下的所有文件,然后再进行相应的文件聚合操作。
可选的,本步骤可以包括:
步骤1,接收目标目录;
步骤2,按照递归顺序对目标目录下的所有子目录进行遍历,得到所有目录的路径信息。
可见,本可选方案主要是对如何获取到所有目录的路径信息进行说明。本可选方案中首先接收到目标目录。进一步的,本可选方案中可以通过用户界面接收到用户输入的目标目录,还可以通过网络接收到目标目录,也可以通过配置信息接收到对应的目标目录。当接收到目标目录后,按照递归顺序对该目录下的所有子目录进行边路,得到该目标目录下的所有目录的路径信息。
S102,获取所有目录的路径信息对应下的文件大小小于预设值的目标文件;
在S101的基础上,本步骤旨在根据获取到的所有目录的路径信息对应目录下文件大小小于预设值的目标文件。也就是,筛选出每个目录下的符合预设值的文件作为目标文件。进一步的,在具体实施过程中,当该预设值设置为较小的数据时,本步骤中的目标文件就是筛选出小文件,进一步就可以将该存储系统中的小文件进行聚合。
其中,预设值主要是指本实施例中对文件进行筛选采用的文件大小。可以是技术人员根据经验设定的文件大小,也可以是根据存储系统存储的文件大小计算出的,还可以是根据存储系统的存储压力对文件大小进行动态设置。
S103,将所有目标文件写入预设的聚合文件,以便实现文件聚合操作。
在S102的基础上,本步骤旨在将读取到的目标文件写入到预设的聚合文件中,以便实现文件聚合操作。
其中,预设的聚合文件是指在聚合前准备好的用于写入目标文件数据的聚合文件。该聚合文件的大小可以是提前预设好的,也可以是将聚合文件中写入的目标文件的数量进行提前设置,以便控制该聚合文件的大小,避免聚合文件的文件大小过大。
可选的,本步骤可以包括:
将所有目标文件依次写入预设文件大小的多个聚合文件,以便实现文件聚合操作。
本可选方案中主要是通过聚合文件的预设文件大小对写入的目标文件进行控制,避免写入聚合文件的目标文件的大小超过该预设文件大小,控制聚合文件的大小。
可选的,本步骤可以包括:
将预设文件数量的多个目标文件写入预设的聚合文件,以便实现文件聚合操作。
本可选方案中主要是通过写入聚合文件的目标文件的数量进行控制。其中,预设文件数量主要是指写入到聚合文件中目标文件的数量。可以是根据技术人员的经验设置对应的预设文件数量,还可以是根据当前存储系统的性能设置对应的预设文件数量,也可以是根据存储系统的压力动态设置的预设文件数量。
可选的,本实施例还可以包括:
当目标文件写入聚合文件后,将目标文件对应的底层对象数据进行删除。
本可选方案主要是还说明当目标文件写入聚合文件后,将目标文件对应的底层对象数据进行删除。
可选的,本实施例还可以包括:
判断聚合过程线程数是否大于预设线程数;若是,则执行等待处理操作。
可见,本可选方案中主要是对聚合过程的线程数进行控制。按照预设周期判断该聚合过程的线程数是否大于预设线程数。若是,则可以将其他线程进行暂定,也就是等待主要是线程进行处理,以便降低当前同时执行的线程数。
综上,本实施例通过遍历后获取到所有目录的路径信息,然后针对每个路径信息的目标文件进行文件数据聚合,实现了针对多目录的文件聚合操作,提高了聚合效率,同时通过聚合文件降低了小文件对存储系统的影响。
以下通过一个具体的实施例,对本申请提供的一种文件聚合方法作进一步说明。
本实施例中,该方法可以包括:
首先,实现聚合工具,主要功能是将某一目录或某几个目录下的小文件聚合成大文件。
然后以目录为单位,递归的读取目录下的所有子目录,并保存在本地;读取保存在本地文件的目录,并设置目录为聚合属性;读取保存在本地文件的目录,使用聚合工具,依次将聚合目录下的小文件,聚合成大文件;
其中,具体的聚合过程可以包括:
步骤1,判断目录是否具有聚合属性,如果有,则进行下一步;
步骤2,自动挂载客户端的操作窗口;
步骤3,读取目录,得到目录下的小文件;
步骤4,依次读取目录下小文件的内容,符合聚合策略的小文件以紧密排列方式写入到聚合大文件中,原来聚合小文件底层对象删除;当聚合大文件达到一定大小时,重新创建一个聚合大文件,将目录下剩余的小文件继续写入到新的聚合大文件中;
步骤5,设置聚合大文件的属性,主要是文件大小、文件ctime等信息;
步骤6,自动卸载客户端的操作窗口。
上述说明中,读取保存在本地文件的目录,使用聚合工具,依次将聚合目录下的小文件,聚合成大文件的过程,可以包括以下几个步骤:
步骤1,读取步骤一中保存在本地文件的目录,取得将要聚合的目录中的文件个数,并累加,累计目录的个数,当累计目录下文件的个数达到2000或目录的个数达到1000,则进行聚合操作,从而保证达到较好的聚合效果;
步骤2,判断聚合工具线程的数目,如果达到指定线程数目,则等待,直到有聚合工具线程退出,降低聚合期间对存储系统性能的影响;
步骤3,对没有达到目录下文件个数或目录个数的剩余文件进行聚合;
可见,本实施例通过遍历后获取到所有目录的路径信息,然后针对每个路径信息的目标文件进行文件数据聚合,实现了针对多目录的文件聚合操作,提高了聚合效率,同时通过聚合文件降低了小文件对存储系统的影响。
下面对本申请实施例提供的文件聚合装置进行介绍,下文描述的文件聚合装置与上文描述的文件聚合方法可相互对应参照。
请参考图2,图2为本申请实施例所提供的一种文件聚合装置的结构示意图。
本实施例中,该装置可以包括:
目录获取模块100,用于按照递归顺序对接收到的目标目录进行目录遍历处理,得到目标目录下对应的所有目录的路径信息;
目录遍历模块200,用于获取所有目录的路径信息对应下的文件大小小于预设值的目标文件;
文件聚合模块300,用于将所有目标文件写入预设的聚合文件,以便实现文件聚合操作。
可选的,该装置还可以包括:
数据清除模块,用于当目标文件写入聚合文件后,将目标文件对应的底层对象数据进行删除。
本申请实施例还提供一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如以上实施例所述的文件聚合方法的步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上实施例所述的文件聚合方法的步骤。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种文件聚合方法、文件聚合装置、服务器以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (10)

1.一种文件聚合方法,其特征在于,包括:
按照递归顺序对接收到的目标目录进行目录遍历处理,得到所述目标目录下对应的所有目录的路径信息;
获取所述所有目录的路径信息对应下的文件大小小于预设值的目标文件;
将所有目标文件写入预设的聚合文件,以便实现文件聚合操作。
2.根据权利要求1所述的文件聚合方法,其特征在于,还包括:
当所述目标文件写入所述聚合文件后,将所述目标文件对应的底层对象数据进行删除。
3.根据权利要求1所述的文件聚合方法,其特征在于,按照递归顺序对接收到的目标目录进行目录遍历处理,得到所述目标目录下对应的所有目录的路径信息,包括:
接收所述目标目录;
按照递归顺序对所述目标目录下的所有子目录进行遍历,得到所述所有目录的路径信息。
4.根据权利要求1所述的文件聚合方法,其特征在于,将所有目标文件写入预设的聚合文件,以便实现文件聚合操作,包括:
将所有目标文件依次写入预设文件大小的多个聚合文件,以便实现文件聚合操作。
5.根据权利要求1所述的文件聚合方法,其特征在于,将所有目标文件写入预设的聚合文件,以便实现文件聚合操作,包括:
将预设文件数量的多个目标文件写入预设的聚合文件,以便实现文件聚合操作。
6.根据权利要求1至5任一项所述的文件聚合方法,其特征在于,还包括:
判断聚合过程线程数是否大于预设线程数;若是,则执行等待处理操作。
7.一种文件聚合装置,其特征在于,包括:
目录获取模块,用于按照递归顺序对接收到的目标目录进行目录遍历处理,得到所述目标目录下对应的所有目录的路径信息;
目录遍历模块,用于获取所述所有目录的路径信息对应下的文件大小小于预设值的目标文件;;
文件聚合模块,用于将所有目标文件写入预设的聚合文件,以便实现文件聚合操作。
8.根据权利要求7所述的文件聚合装置,其特征在于,还包括:
数据清除模块,用于当所述目标文件写入所述聚合文件后,将所述目标文件对应的底层对象数据进行删除。
9.一种服务器,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的文件聚合方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的文件聚合方法的步骤。
CN202011139102.3A 2020-10-22 2020-10-22 一种文件聚合方法及相关装置 Withdrawn CN112269763A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011139102.3A CN112269763A (zh) 2020-10-22 2020-10-22 一种文件聚合方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011139102.3A CN112269763A (zh) 2020-10-22 2020-10-22 一种文件聚合方法及相关装置

Publications (1)

Publication Number Publication Date
CN112269763A true CN112269763A (zh) 2021-01-26

Family

ID=74342806

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011139102.3A Withdrawn CN112269763A (zh) 2020-10-22 2020-10-22 一种文件聚合方法及相关装置

Country Status (1)

Country Link
CN (1) CN112269763A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115794749A (zh) * 2023-01-30 2023-03-14 广州市刑事科学技术研究所 移动终端数据提取方法、装置、设备和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115794749A (zh) * 2023-01-30 2023-03-14 广州市刑事科学技术研究所 移动终端数据提取方法、装置、设备和存储介质

Similar Documents

Publication Publication Date Title
US9053166B2 (en) Dynamically varying the number of database replicas
CN108647151A (zh) 一种全闪系统元数据落盘方法、装置、设备及存储介质
CN105049260B (zh) 日志管理方法和装置
US10747621B2 (en) Data management and backup for image and video media
KR102061466B1 (ko) 메모리 관리를 위한 보존 가비지 콜렉팅 및 정수 태깅 기법
CN111694517A (zh) 分布式数据迁移方法、系统和电子设备
CN111177193A (zh) 一种基于Flink的日志流式处理方法及系统
CN114416670A (zh) 适用于网盘文档的索引创建方法、装置、网盘及存储介质
CN105786539A (zh) 一种文件下载方法及装置
US8423704B2 (en) Dynamic optimization of memory use in a digital recording device
CN115426374A (zh) 一种服务质量控制方法、装置、设备及存储介质
CN113590027B (zh) 数据存储方法、数据获取方法、系统、设备和介质
CN112269763A (zh) 一种文件聚合方法及相关装置
CN101470733A (zh) 数据块副本数量调整方法及分布式文件系统
CN109325001B (zh) 基于元数据服务器删除小文件的方法、装置及设备
CN111984196B (zh) 一种文件迁移方法、装置、设备及可读存储介质
CN109144403B (zh) 一种用于云盘模式切换的方法与设备
CN109063040A (zh) 客户端程序数据采集方法及系统
CN104915376A (zh) 一种云存储中文件的归档压缩方法
CN115061630A (zh) 一种数据迁移方法、装置、设备及介质
US20230236866A1 (en) Capacity reduction and capacity expansion method and system for cluster, capacity reduction and capacity expansion control terminal, and medium
CN115905115A (zh) 文件存储方法、读取方法及装置、电子设备与存储介质
CN111435342B (zh) 海报的更新方法、更新系统以及管理系统
CN110941591A (zh) 一种文件删除方法、装置、设备及可读存储介质
CN107491264A (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20210126