CN111723056B - 小文件的处理方法、装置、设备和存储介质 - Google Patents

小文件的处理方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN111723056B
CN111723056B CN202010517959.8A CN202010517959A CN111723056B CN 111723056 B CN111723056 B CN 111723056B CN 202010517959 A CN202010517959 A CN 202010517959A CN 111723056 B CN111723056 B CN 111723056B
Authority
CN
China
Prior art keywords
file
target data
small
data block
value
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
CN202010517959.8A
Other languages
English (en)
Other versions
CN111723056A (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.)
Beijing Qingyun Science And Technology Co ltd
Original Assignee
Beijing Qingyun Science And 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 Beijing Qingyun Science And Technology Co ltd filed Critical Beijing Qingyun Science And Technology Co ltd
Priority to CN202010517959.8A priority Critical patent/CN111723056B/zh
Publication of CN111723056A publication Critical patent/CN111723056A/zh
Application granted granted Critical
Publication of CN111723056B publication Critical patent/CN111723056B/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/17Details of further file system functions
    • G06F16/1737Details of further file system functions for reducing power consumption or coping with limited storage space, e.g. in mobile devices
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files

Landscapes

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

Abstract

本申请涉及一种小文件的处理方法、装置、设备和存储介质。该方法包括:获取待存储的文件;在确定所述文件为小文件的情况下,根据所述小文件的文件信息和内容数据生成对应的第一目标数据块;将所述第一目标数据块写到大文件的文件存储区域内,以及将所述小文件的索引信息存储到索引数据库中,并继续执行所述接收待存储的文件,直至所述大文件的大小达到预设存储值时存储所述大文件,其中,所述索引信息包括所述文件信息。该方法可以将多个小文件合并为一个大文件进行存储,大大减少了文件系统的文件数量,从而提高了文件系统的存储性能。

Description

小文件的处理方法、装置、设备和存储介质
技术领域
本申请涉及数据处理技术领域,特别是涉及一种小文件的处理方法、装置、设备和存储介质。
背景技术
随着互联网、物联网、云计算以及大数据等技术的发展,用户数据呈现爆炸式增长,这些海量的用户数据已成为企业的重要资产和核心价值。同时,这些用户数据的特点是尺寸较小,数量巨大,并且数量逐年增长。
通常,为了保护用户数据的安全性,会将这些小文件进行备份存储。但是,由于小文件的数量巨大,这样会导致文件系统上存储的文件数量成倍增加,从而降低文件系统的存储性能。
发明内容
基于此,有必要针对传统方式导致文件系统上存储的文件数量成倍增加,从而降低文件系统的存储性能的技术问题,提供一种小文件的处理方法、装置、设备和存储介质。
第一方面,本申请实施例提供一种小文件的处理方法,包括:
获取待存储的文件;
在确定所述文件为小文件的情况下,根据所述小文件的文件信息和内容数据生成对应的第一目标数据块;
将所述第一目标数据块写到大文件的文件存储区域内,以及将所述小文件的索引信息存储到索引数据库中,并继续执行所述接收待存储的文件,直至所述大文件的大小达到预设存储值时存储所述大文件,其中,所述索引信息包括所述文件信息。
第二方面,本申请实施例提供一种小文件的处理装置,包括:
第一获取模块,用于获取待存储的文件;
数据块生成模块,用于在确定所述文件为小文件的情况下,根据所述小文件的文件信息和内容数据生成对应的第一目标数据块;
合并模块,用于将所述第一目标数据块写到大文件的文件存储区域内,以及将所述小文件的索引信息存储到索引数据库中,并继续执行所述接收待存储的文件,直至所述大文件的大小达到预设存储值时存储所述大文件,其中,所述索引信息包括所述文件信息。
第三方面,本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本申请实施例第一方面提供的小文件的处理方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例第一方面提供的小文件的处理方法。
本申请实施例提供的小文件的处理方法、装置、设备和存储介质,获取待存储的文件,在确定所述文件为小文件的情况下,根据所述小文件的文件信息和内容数据生成对应的第一目标数据块,将所述第一目标数据块写到大文件的文件存储区域内,以及将所述小文件的索引信息存储到索引数据库中,并继续执行所述接收待存储的文件,直至所述大文件的大小达到预设存储值时存储所述大文件,其中,所述索引信息包括所述文件信息。本申请实施例公开的技术方案,计算机设备将小文件对应的第一目标数据块写到大文件的文件存储区域内,在大文件的大小达到预设存储值时只需要存储大文件,这样,就可以将多个小文件合并为一个大文件进行存储,大大减少了文件系统的文件数量,从而提高了文件系统的存储性能。另外,在合并小文件的过程中,计算机设备不仅将小文件的内容数据写到大文件中,还将小文件的文件信息也写入到大文件中,从而便于后续小文件的查找;并且,还将小文件的索引信息持久化地存储到索引数据库中,防止索引信息的丢失导致无法进行小文件的查找。
附图说明
图1为本申请实施例提供的小文件的处理方法的一种流程示意图;
图2为本申请实施例提供的一种大文件的文件结构示意图;
图3为本申请实施例提供的小文件的处理方法的另一种流程示意图;
图4为本申请实施例提供的小文件的处理装置的结构示意图;
图5为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,通过下述实施例并结合附图,对本申请实施例中的技术方案进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,下述方法实施例的执行主体可以是小文件的处理装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为计算机设备的部分或者全部。可选的,该计算机设备可以为独立的服务器,也可以为多个服务器组成的服务器集群,当然,该计算机设备也可以为个人计算机PC(personal computer)、移动终端、便携式设备等具有数据处理功能、且可以与外部设备或者用户交互的电子设备,本实施例对计算机设备的具体形式并不做限定。下述方法实施例以执行主体是计算机设备为例进行说明。
图1为本申请实施例提供的小文件的处理方法的一种流程示意图。本实施例涉及的是计算机设备如何对小文件进行合并的具体过程。如图1所示,该方法可以包括:
S101、获取待存储的文件。
其中,待存储的文件为需要存储到文件系统中的文件。该文件可以为各种类型的文件,如文档文件、图形文件、语音文件、临时文件以及模板文件等。计算机设备可以从其它外部设备中获取该待存储的文件,也可以接收相应地应用程序所产生的待存储的文件,本实施例对待存储的文件的获取方式不做具体限定。
S102、在确定所述文件为小文件的情况下,根据所述小文件的文件信息和内容数据生成对应的第一目标数据块。
具体的,在获取到待存储的文件之后,计算机设备对该文件的大小进行检测,当该文件的大小低于预设阈值时,将该文件确定为小文件,即该小文件需要进行合并处理。否则,则认为该待存储的文件不是小文件,直接进行存储。其中,上述预设阈值可以根据实际需求进行设定,通常,可以将该预设阈值设置为64MB。
在确定该待存储的文件为小文件的情况下,计算机设备可以基于该小文件的文件信息和内容数据,按照预设设置的大文件的文件结构生成该小文件对应的第一目标数据块。其中,上述文件信息可以是该小文件的元数据信息,其可以是该小文件的部分元数据信息,也可以是该小文件的所有元数据信息,上述文件信息所包含的具体信息与大文件的文件结构相对应。上述内容数据为该小文件的文件内容,即小文件的实体数据。
S103、将所述第一目标数据块写到大文件的文件存储区域内,以及将所述小文件的索引信息存储到索引数据库中,并继续执行所述接收待存储的文件,直至所述大文件的大小达到预设存储值时存储所述大文件。
具体的,所述索引信息包括所述文件信息,即该小文件的索引信息可以包括小文件的元数据信息、大文件的文件标识以及上述第一目标数据块在大文件中的起始位置信息。其中,大文件的文件标识可以为大文件的文件名或者大文件的文件编号等。在需要查找小文件时,计算机设备通过该索引信息便可以精确地查找到对应的小文件。因此,在将第一目标数据块写到大文件的文件存储区域内时,计算机设备还需要将该小文件的索引信息持久化地存储到索引数据库中。
在将第一目标数据块写到大文件的文件存储区域内之后(即将该待存储的小文件合并到大文件中之后),计算机设备检测该大文件的大小,若该大文件的大小达到预设存储值,则直接存储该大文件;若该大文件的大小未达到预设存储值,则继续执行上述接收待存储的文件的步骤,即继续执行上述S101-S103的过程,以将其它待存储的小文件也合并到该大文件中,直至大文件的大小达到预设存储值为止,并存储该大文件。
在实际应用中,在进行小文件的合并时,计算机设备可以通过TruckAvailQueue(单线程队列)Pop出一个Truck ID,将该Truck ID作为大文件的文件标识。然后按照大文件的文件结构,将待存储的小文件的文件信息和内容数据组合成一个第一目标数据块,并将该第一目标数据块写入大文件的文件存储区域内。在大文件的大小未达到预设存储值时,将该Truck ID Push到TruckAvailQueue中,以便后续将其它小文件也合并到该大文件中。
可选的,上述大文件包括上述文件存储区域和文件信息存储区域,其中,所述文件信息存储区域用于存储所述大文件的文件头信息,所述文件存储区域用于存储多个所述小文件对应的第一目标数据块。
其中,大文件的文件结构可以如图2所示,即大文件可以包括文件信息存储区域和文件存储区域。该文件信息存储区域可以存储大文件的文件头信息,大文件的文件头信息可以包括大文件的文件类型、版本号、文件状态、文件大小等。当然,大文件的文件头信息还可以包括其它预留信息,便于后续的文件头信息扩展。上述文件状态可以为文件已删除以及文件未删除等状态、文件类型可以为文档类型、图形类型、语音类型、视频类型、临时类型以及模板类型等。
该文件存储区域可以存储多个小文件对应的第一目标数据块。其中,第一目标数据块可以包括数据块头信息、内容数据以及数据块尾信息。上述数据块头信息和数据块尾信息为小文件的文件信息。数据块尾信息还可以包括空字符,用于第一目标数据块的对齐。为了保证小文件处理的安全性,即防止对小文件误操作而导致数据的丢失,可选的,该文件信息可以包括小文件的内容数据的第一消息摘要算法(MD5)值。在生成第一目标数据块的过程中,计算机设备可以基于小文件的内容数据,计算小文件的第一MD5值,并将该第一MD5值作为小文件的文件信息写入到大文件的文件存储区域内。进一步地,可选的,该文件信息还可以包括以下信息中的至少一种:该小文件的文件大小、文件标识、文件状态、文件创建时间、文件修改时间、文件存储类型、文件名的长度、内容数据类型、内容数据类型的长度以及生成的第一目标数据块的大小。
本申请实施例提供的小文件的处理方法,获取待存储的文件,在确定所述文件为小文件的情况下,根据所述小文件的文件信息和内容数据生成对应的第一目标数据块,将所述第一目标数据块写到大文件的文件存储区域内,以及将所述小文件的索引信息存储到索引数据库中,并继续执行所述接收待存储的文件,直至所述大文件的大小达到预设存储值时存储所述大文件,其中,所述索引信息包括所述文件信息。本申请实施例公开的技术方案,计算机设备将小文件对应的第一目标数据块写到大文件的文件存储区域内,在大文件的大小达到预设存储值时只需要存储大文件,这样,就可以将多个小文件合并为一个大文件进行存储,大大减少了文件系统的文件数量,从而提高了文件系统的存储性能。另外,在合并小文件的过程中,计算机设备不仅将小文件的内容数据写到大文件中,还将小文件的文件信息也写入到大文件中,从而便于后续小文件的查找;并且,还将小文件的索引信息持久化地存储到索引数据库中,防止索引信息的丢失导致无法进行小文件的查找。
在实际应用中,存在这样一种情况,大文件中的部分小文件的索引信息已被删除,即大文件中的至少一个小文件已经被删除。此时,需要对大文件进行垃圾回收,释放掉大文件中已删除的小文件,从而释放相应的存储空间。针对此情况,在上述实施例的基础上,可选的,如图3所示,该方法还可以包括:
S201、获取所述大文件。
S202、读取所述大文件的文件存储区域内的第二目标数据块。
S203、当根据所述第二目标数据块中的文件信息确定对应的小文件未被删除时,将所述第二目标数据块复制到新大文件的文件存储区域内,并更新索引数据库中存储的所述对应的小文件的索引信息。
其中,计算机设备对读取的第二目标数据块进行解析,得到第二目标数据块对应的小文件的文件信息。接着,计算机设备根据该文件信息查找索引数据库,并根据查找结果确定该小文件是否已被删除。若确定该小文件未被删除,则将该第二目标数据块复制到新大文件的文件存储区域内。由于该小文件的存储位置已发生变化,现阶段是将该小文件合并到新大文件中,因此,还需要及时更新索引数据库中存储的该小文件的索引信息,如将大文件的文件标识更新为新大文件的文件标识,以及更新该第二目标数据块在大文件中的起始位置信息,从而完成该小文件的迁移。
S204、继续执行所述读取所述大文件的文件存储区域内的第二目标数据块的步骤,直至所述大文件的文件存储区域内的所有第二目标数据块全部被读取为止时,删除所述大文件。
其中,在完成该小文件的迁移之后,计算机设备继续读取大文件的文件存储区域内的下一个第二目标数据块,并继续判断该下一个第二目标数据块对应的小文件是否已被删除,直至大文件的文件存储区域内的所有第二目标数据块全部被读取为止。另外,在上述S203中,若确定该小文件已被删除,则计算机设备仍继续读取大文件的文件存储区域内的下一个第二目标数据块,并继续判断该下一个第二目标数据块对应的小文件是否已被删除,直至大文件的文件存储区域内的所有第二目标数据块全部被读取为止。经过上述过程,计算机设备可以将大文件中未被删除的小文件,全部迁移到新大文件中。在将大文件中所有未被删除的小文件全部迁移到新大文件之后,计算机设备删除该大文件,从而释放掉大文件中已被删除的小文件,以实现垃圾空间的回收,释放相应的存储空间。
可选的,上述S203中根据所述第二目标数据块中的文件信息确定对应的小文件未被删除的过程可以为:将所述第二目标数据块中的文件信息与所述索引数据库中的索引信息进行匹配;若匹配到,则确定与所述第二目标数据块对应的小文件未被删除。
其中,由于在小文件合并过程中,计算机设备不仅将小文件的文件信息写到大文件,还将小文件的索引信息也存储到索引数据库中,并且,该索引信息包括小文件的文件信息、大文件的文件标识以及小文件对应的第一目标数据块在大文件中的起始位置信息。因此,计算机设备便可以根据第二目标数据块中的文件信息,查找索引数据库,将第二目标数据块中的文件信息与索引数据库中的索引信息进行匹配,若匹配到,则确定与第二目标数据块对应的小文件未被删除。若未匹配到,则确定与第二目标数据块对应的小文件已被删除。
在实际应用中,为了保证文件迁移前后数据的正确性,在上述实施例的基础上,可选的,上述S203中将所述第二目标数据块复制到新大文件的文件存储区域内的过程可以为:计算所述第二目标数据块中的内容数据的第二MD5值;比较所述第一MD5值与所述第二MD5值;若所述第一MD5值与所述第二MD5值相同,则将所述第二目标数据块复制到新大文件的文件存储区域内。
其中,计算机设备获取第二目标数据块中的内容数据,对该内容数据进行MD5Hash运算,得到该内容数据对应的第二MD5值,并从将该第二MD5值与数据块头信息中的第一MD5值进行比较,若两者相同,则表示待迁移的小文件是正确的,此时,可以将该小文件对应的第二目标数据块复制到新大文件的文件存储区域内。若两者不相同,则结束第二目标数据块的复制任务。
进一步地,在将第二目标数据块复制到新大文件的文件存储区域内之后,计算机设备还可以重新从新大文件中获取该第二目标数据块,此时该第二目标数据块为迁移后的第二目标数据块。接着,计算机设备计算该迁移后的第二目标数据块中的内容数据的第三MD5值,比较该第三MD5值和第一MD5值。若该第三MD5值和第一MD5值相同,则继续读取大文件中的下一个第二目标数据块。若该第三MD5值和第一MD5值不相同,则结束小文件的迁移任务,并禁止删除大文件,从而可以防止文件迁移出错导致大文件的误删除,有效防止了数据的丢失,提高了数据的安全性。
在本实施例中,在大文件中的至少一个小文件已经被删除的情况下,计算机设备能够将所有未被删除的小文件对应的第二目标数据块复制到新大文件的文件存储区域内,并在所有第二目标数据块全部被复制完毕之后,删除大文件,即释放掉大文件中已被删除的小文件,从而实现了垃圾空间的回收,提高了文件系统的空间利用率。
图4为本申请实施例提供的小文件的处理装置的结构示意图。如图4所示,该装置可以包括:第一获取模块10、数据块生成模块11和合并模块12。
具体的,第一获取模块10用于获取待存储的文件;
数据块生成模块11用于在确定所述文件为小文件的情况下,根据所述小文件的文件信息和内容数据生成对应的第一目标数据块;
合并模块12用于将所述第一目标数据块写到大文件的文件存储区域内,以及将所述小文件的索引信息存储到索引数据库中,并继续执行所述接收待存储的文件,直至所述大文件的大小达到预设存储值时存储所述大文件,其中,所述索引信息包括所述文件信息。
本申请实施例提供的小文件的处理装置,获取待存储的文件,在确定所述文件为小文件的情况下,根据所述小文件的文件信息和内容数据生成对应的第一目标数据块,将所述第一目标数据块写到大文件的文件存储区域内,以及将所述小文件的索引信息存储到索引数据库中,并继续执行所述接收待存储的文件,直至所述大文件的大小达到预设存储值时存储所述大文件,其中,所述索引信息包括所述文件信息。本申请实施例公开的技术方案,计算机设备将小文件对应的第一目标数据块写到大文件的文件存储区域内,在大文件的大小达到预设存储值时只需要存储大文件,这样,就可以将多个小文件合并为一个大文件进行存储,大大减少了文件系统的文件数量,从而提高了文件系统的存储性能。另外,在合并小文件的过程中,计算机设备不仅将小文件的内容数据写到大文件中,还将小文件的文件信息也写入到大文件中,从而便于后续小文件的查找;并且,还将小文件的索引信息持久化地存储到索引数据库中,防止索引信息的丢失导致无法进行小文件的查找。
可选的,所述大文件包括所述文件存储区域和文件信息存储区域,其中,所述文件信息存储区域用于存储所述大文件的文件头信息,所述文件存储区域用于存储多个所述小文件对应的第一目标数据块。
可选的,所述文件信息包括所述内容数据的第一MD5值。
可选的,所述文件信息还包括以下信息中的至少一种:所述小文件的文件大小、文件标识、文件状态、文件创建时间、文件修改时间、文件存储类型、文件名的长度、内容数据类型、所述内容数据类型的长度以及所述第一目标数据块的大小。
在上述实施例的基础上,可选的,该装置还可以包括:第二获取模块、读取模块、迁移模块和处理模块;
具体的,第二获取模块用于在所述大文件中的至少一个小文件被删除的情况下,获取所述大文件;
读取模块用于读取所述大文件的文件存储区域内的第二目标数据块;
迁移模块用于当根据所述第二目标数据块中的文件信息确定对应的小文件未被删除时,将所述第二目标数据块复制到新大文件的文件存储区域内,并更新索引数据库中存储的所述对应的小文件的索引信息;
处理模块用于继续执行所述读取所述大文件的文件存储区域内的第二目标数据块的步骤,直至所述大文件的文件存储区域内的所有第二目标数据块全部被读取为止时,删除所述大文件。
在上述实施例的基础上,可选的,迁移模块可以包括确定单元;
具体的,确定单元用于将所述第二目标数据块中的文件信息与所述索引数据库中的索引信息进行匹配;若匹配到,则确定与所述第二目标数据块对应的小文件未被删除。
在上述实施例的基础上,可选的,迁移模块还可以包括迁移单元;
具体的,迁移单元用于计算所述第二目标数据块中的内容数据的第二MD5值;比较所述第一MD5值与所述第二MD5值;若所述第一MD5值与所述第二MD5值相同,则将所述第二目标数据块复制到新大文件的文件存储区域内。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储小文件处理过程中所产生的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种小文件的处理方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,该计算机设备包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取待存储的文件;
在确定所述文件为小文件的情况下,根据所述小文件的文件信息和内容数据生成对应的第一目标数据块;
将所述第一目标数据块写到大文件的文件存储区域内,以及将所述小文件的索引信息存储到索引数据库中,并继续执行所述接收待存储的文件,直至所述大文件的大小达到预设存储值时存储所述大文件,其中,所述索引信息包括所述文件信息。
可选的,所述大文件包括所述文件存储区域和文件信息存储区域,其中,所述文件信息存储区域用于存储所述大文件的文件头信息,所述文件存储区域用于存储多个所述小文件对应的第一目标数据块。
可选的,所述文件信息包括所述内容数据的第一MD5值。
可选的,所述文件信息还包括以下信息中的至少一种:所述小文件的文件大小、文件标识、文件状态、文件创建时间、文件修改时间、文件存储类型、文件名的长度、内容数据类型、所述内容数据类型的长度以及所述第一目标数据块的大小。
在一个实施例中,在所述大文件中的至少一个小文件被删除的情况下,处理器执行计算机程序时还实现以下步骤:获取所述大文件;读取所述大文件的文件存储区域内的第二目标数据块;当根据所述第二目标数据块中的文件信息确定对应的小文件未被删除时,将所述第二目标数据块复制到新大文件的文件存储区域内,并更新索引数据库中存储的所述对应的小文件的索引信息;继续执行所述读取所述大文件的文件存储区域内的第二目标数据块的步骤,直至所述大文件的文件存储区域内的所有第二目标数据块全部被读取为止时,删除所述大文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将所述第二目标数据块中的文件信息与所述索引数据库中的索引信息进行匹配;若匹配到,则确定与所述第二目标数据块对应的小文件未被删除。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:计算所述第二目标数据块中的内容数据的第二MD5值;比较所述第一MD5值与所述第二MD5值;若所述第一MD5值与所述第二MD5值相同,则将所述第二目标数据块复制到新大文件的文件存储区域内。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取待存储的文件;
在确定所述文件为小文件的情况下,根据所述小文件的文件信息和内容数据生成对应的第一目标数据块;
将所述第一目标数据块写到大文件的文件存储区域内,以及将所述小文件的索引信息存储到索引数据库中,并继续执行所述接收待存储的文件,直至所述大文件的大小达到预设存储值时存储所述大文件,其中,所述索引信息包括所述文件信息。
可选的,所述大文件包括所述文件存储区域和文件信息存储区域,其中,所述文件信息存储区域用于存储所述大文件的文件头信息,所述文件存储区域用于存储多个所述小文件对应的第一目标数据块。
可选的,所述文件信息包括所述内容数据的第一MD5值。
可选的,所述文件信息还包括以下信息中的至少一种:所述小文件的文件大小、文件标识、文件状态、文件创建时间、文件修改时间、文件存储类型、文件名的长度、内容数据类型、所述内容数据类型的长度以及所述第一目标数据块的大小。
在一个实施例中,在所述大文件中的至少一个小文件被删除的情况下,计算机程序被处理器执行时还实现以下步骤:获取所述大文件;读取所述大文件的文件存储区域内的第二目标数据块;当根据所述第二目标数据块中的文件信息确定对应的小文件未被删除时,将所述第二目标数据块复制到新大文件的文件存储区域内,并更新索引数据库中存储的所述对应的小文件的索引信息;继续执行所述读取所述大文件的文件存储区域内的第二目标数据块的步骤,直至所述大文件的文件存储区域内的所有第二目标数据块全部被读取为止时,删除所述大文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将所述第二目标数据块中的文件信息与所述索引数据库中的索引信息进行匹配;若匹配到,则确定与所述第二目标数据块对应的小文件未被删除。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:计算所述第二目标数据块中的内容数据的第二MD5值;比较所述第一MD5值与所述第二MD5值;若所述第一MD5值与所述第二MD5值相同,则将所述第二目标数据块复制到新大文件的文件存储区域内。
上述实施例中提供的小文件的处理装置、计算机设备以及存储介质可执行本申请任意实施例所提供的小文件的处理方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的小文件的处理方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (7)

1.一种小文件的处理方法,其特征在于,包括:
获取待存储的文件;
在确定所述文件为小文件的情况下,根据所述小文件的文件信息和内容数据生成对应的第一目标数据块;其中,所述文件信息包括所述内容数据的第一消息摘要算法MD5值;
通过单线程队列TruckAvailQueue弹出一个大文件标识,将所述第一目标数据块写到所述大文件标识对应的大文件的文件存储区域内,以及将所述小文件的索引信息存储到索引数据库中,在所述大文件的大小未达到预设存储值时,将所述大文件标识放入到所述TruckAvailQueue中,并继续执行接收待存储的文件,直至所述大文件的大小达到预设存储值时存储所述大文件,其中,所述索引信息包括所述文件信息;
所述方法还包括:
在所述大文件中的至少一个小文件被删除的情况下,获取所述大文件;
读取所述大文件的文件存储区域内的第二目标数据块;
当根据所述第二目标数据块中的文件信息确定对应的小文件未被删除时,计算所述第二目标数据块中的内容数据的第二MD5值;比较所述第一MD5值与所述第二MD5值;若所述第一MD5值与所述第二MD5值相同,则将所述第二目标数据块复制到新大文件的文件存储区域内,并更新索引数据库中存储的所述对应的小文件的索引信息;
从所述新大文件中读取迁移后的第二目标数据块,计算所述迁移后的第二目标数据块中的内容数据的第三MD5值,若所述第三MD5值与所述第一MD5值相同,则继续执行所述读取所述大文件的文件存储区域内的第二目标数据块的步骤,直至所述大文件的文件存储区域内的所有第二目标数据块全部被读取为止时,删除所述大文件;若所述第三MD5值与所述第一MD5值不相同,则结束小文件的迁移任务,并禁止删除所述大文件。
2.根据权利要求1所述的方法,其特征在于,所述大文件包括所述文件存储区域和文件信息存储区域,其中,所述文件信息存储区域用于存储所述大文件的文件头信息,所述文件存储区域用于存储多个所述小文件对应的第一目标数据块。
3.根据权利要求1所述的方法,其特征在于,所述文件信息还包括以下信息中的至少一种:所述小文件的文件大小、文件标识、文件状态、文件创建时间、文件修改时间、文件存储类型、文件名的长度、内容数据类型、所述内容数据类型的长度以及所述第一目标数据块的大小。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第二目标数据块中的文件信息确定对应的小文件未被删除,包括:
将所述第二目标数据块中的文件信息与所述索引数据库中的索引信息进行匹配;
若匹配到,则确定与所述第二目标数据块对应的小文件未被删除。
5.一种小文件的处理装置,其特征在于,包括:
第一获取模块,用于获取待存储的文件;
数据块生成模块,用于在确定所述文件为小文件的情况下,根据所述小文件的文件信息和内容数据生成对应的第一目标数据块;其中,所述文件信息包括所述内容数据的第一MD5值;
合并模块,用于通过单线程队列TruckAvailQueue弹出一个大文件标识,将所述第一目标数据块写到所述大文件标识对应的大文件的文件存储区域内,以及将所述小文件的索引信息存储到索引数据库中,在所述大文件的大小未达到预设存储值时,将所述大文件标识放入到所述TruckAvailQueue中,并继续执行接收待存储的文件,直至所述大文件的大小达到预设存储值时存储所述大文件,其中,所述索引信息包括所述文件信息;
第二获取模块,用于在所述大文件中的至少一个小文件被删除的情况下,获取所述大文件;
读取模块,用于读取所述大文件的文件存储区域内的第二目标数据块;
迁移模块,用于当根据所述第二目标数据块中的文件信息确定对应的小文件未被删除时,计算所述第二目标数据块中的内容数据的第二MD5值;比较所述第一MD5值与所述第二MD5值;若所述第一MD5值与所述第二MD5值相同,则将所述第二目标数据块复制到新大文件的文件存储区域内,并更新索引数据库中存储的所述对应的小文件的索引信息;以及从所述新大文件中读取迁移后的第二目标数据块,计算所述迁移后的第二目标数据块中的内容数据的第三MD5值,若所述第三MD5值与所述第一MD5值相同,则继续执行所述读取所述大文件的文件存储区域内的第二目标数据块的步骤,直至所述大文件的文件存储区域内的所有第二目标数据块全部被读取为止时,删除所述大文件;若所述第三MD5值与所述第一MD5值不相同,则结束小文件的迁移任务,并禁止删除所述大文件。
6.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述方法的步骤。
CN202010517959.8A 2020-06-09 2020-06-09 小文件的处理方法、装置、设备和存储介质 Active CN111723056B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010517959.8A CN111723056B (zh) 2020-06-09 2020-06-09 小文件的处理方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010517959.8A CN111723056B (zh) 2020-06-09 2020-06-09 小文件的处理方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN111723056A CN111723056A (zh) 2020-09-29
CN111723056B true CN111723056B (zh) 2024-04-30

Family

ID=72567331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010517959.8A Active CN111723056B (zh) 2020-06-09 2020-06-09 小文件的处理方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN111723056B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328549A (zh) * 2020-10-29 2021-02-05 无锡先进技术研究院 小文件的存储方法、电子设备及存储介质
CN112948327A (zh) * 2021-04-01 2021-06-11 北京奇艺世纪科技有限公司 文件处理方法、系统、电子设备和存储介质
CN114237513A (zh) * 2021-12-17 2022-03-25 四川九洲空管科技有限责任公司 文件数据存储器、写入方法、读取方法及存储系统
CN114840474B (zh) * 2022-07-06 2022-09-20 中汽信息科技(天津)有限公司 专利索引数据库的数据迁移方法和系统
CN115269524B (zh) * 2022-09-26 2023-03-24 创云融达信息技术(天津)股份有限公司 一种端到端小文件归集传输和存储的一体化系统及方法
CN117493284A (zh) * 2023-10-30 2024-02-02 安徽鼎甲计算机科技有限公司 文件存储方法、文件读取方法、文件存储和读取系统
CN117632039B (zh) * 2024-01-25 2024-05-03 合肥兆芯电子有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077166A (zh) * 2011-10-25 2013-05-01 深圳市快播科技有限公司 小文件存储的空间复用方法和装置
CN103577123A (zh) * 2013-11-12 2014-02-12 河海大学 一种基于hdfs的小文件优化存储方法
CN104731886A (zh) * 2015-03-12 2015-06-24 深圳市连用科技有限公司 一种海量小文件的处理方法及系统
CN105608162A (zh) * 2015-12-17 2016-05-25 网易(杭州)网络有限公司 文件处理方法和装置
CN106709025A (zh) * 2016-12-28 2017-05-24 郑州云海信息技术有限公司 更新聚合对象的方法及装置
CN107145303A (zh) * 2016-03-01 2017-09-08 阿里巴巴集团控股有限公司 一种用于在分布式存储系统中执行文件写入的方法与设备
CN107807989A (zh) * 2017-11-03 2018-03-16 小草数语(北京)科技有限公司 小文件处理方法及装置
CN110765076A (zh) * 2019-10-25 2020-02-07 北京奇艺世纪科技有限公司 数据存储方法、装置、电子设备及存储介质
WO2020041928A1 (zh) * 2018-08-27 2020-03-05 深圳市锐明技术股份有限公司 数据存储方法、系统及终端设备
CN111143285A (zh) * 2018-11-06 2020-05-12 深圳市茁壮网络股份有限公司 一种小文件存储文件系统以及小文件处理方法
CN111159132A (zh) * 2018-11-08 2020-05-15 北京航天长峰科技工业集团有限公司 一种基于hdfs的批量小文件处理系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105205082A (zh) * 2014-06-27 2015-12-30 国际商业机器公司 用于处理hdfs中的文件存储的方法和系统
CN105637491B (zh) * 2014-09-26 2017-06-20 华为技术有限公司 一种文件迁移方法、装置和存储设备

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077166A (zh) * 2011-10-25 2013-05-01 深圳市快播科技有限公司 小文件存储的空间复用方法和装置
CN103577123A (zh) * 2013-11-12 2014-02-12 河海大学 一种基于hdfs的小文件优化存储方法
CN104731886A (zh) * 2015-03-12 2015-06-24 深圳市连用科技有限公司 一种海量小文件的处理方法及系统
CN105608162A (zh) * 2015-12-17 2016-05-25 网易(杭州)网络有限公司 文件处理方法和装置
CN107145303A (zh) * 2016-03-01 2017-09-08 阿里巴巴集团控股有限公司 一种用于在分布式存储系统中执行文件写入的方法与设备
CN106709025A (zh) * 2016-12-28 2017-05-24 郑州云海信息技术有限公司 更新聚合对象的方法及装置
CN107807989A (zh) * 2017-11-03 2018-03-16 小草数语(北京)科技有限公司 小文件处理方法及装置
WO2020041928A1 (zh) * 2018-08-27 2020-03-05 深圳市锐明技术股份有限公司 数据存储方法、系统及终端设备
CN111143285A (zh) * 2018-11-06 2020-05-12 深圳市茁壮网络股份有限公司 一种小文件存储文件系统以及小文件处理方法
CN111159132A (zh) * 2018-11-08 2020-05-15 北京航天长峰科技工业集团有限公司 一种基于hdfs的批量小文件处理系统
CN110765076A (zh) * 2019-10-25 2020-02-07 北京奇艺世纪科技有限公司 数据存储方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN111723056A (zh) 2020-09-29

Similar Documents

Publication Publication Date Title
CN111723056B (zh) 小文件的处理方法、装置、设备和存储介质
US10353867B1 (en) Method and system for verifying files for garbage collection
CN108733306B (zh) 一种文件合并方法及装置
US11176110B2 (en) Data updating method and device for a distributed database system
US9858287B2 (en) Storage system
CN111125002B (zh) 一种基于分布式存储的数据备份归档方法和系统
CN112416880A (zh) 一种基于实时归并的海量小文件存储性能优化方法及装置
CN112817962B (zh) 基于对象存储的数据存储方法、装置和计算机设备
CN109542860B (zh) 基于hdfs的业务数据管理方法、终端设备
US8595271B1 (en) Systems and methods for performing file system checks
CN111858159A (zh) 一种基于链式克隆特性实现的备份方法与系统
US20220083522A1 (en) Data processing method, apparatus, electronic device, and computer storage medium
CN113312309B (zh) 快照链的管理方法、装置和存储介质
CN111367718B (zh) 数据库的启动方法、装置、设备和存储介质
CN114091017A (zh) 计算机软件防御方法、装置、计算机设备及存储介质
US10795875B2 (en) Data storing method using multi-version based data structure
CN116257531B (zh) 一种数据库空间回收方法
US11640390B2 (en) Bulk file verification
US11809598B2 (en) Devices and methods for safe storage of media containing personal data and erasure of stored personal data
US20220100415A1 (en) Method, device, and computer program product for storage management
CN114546340A (zh) 用于对象存储的桶回收站实现方法、装置、设备及介质
Jeyaseeli et al. S-ROID, An Efficient Methodology to Extract Deleted Data from Android
CN114003912A (zh) 勒索程序识别方法、装置、计算机设备及存储介质
CN117093542A (zh) 一种元数据快照回滚的方法、系统、设备和存储介质
CN111090614A (zh) Rom快照的读取方法、装置和存储介质

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
CB02 Change of applicant information

Address after: 100000 Unit 501A, Floor 5, 101, Building 1, Yard 5, Laiguangying West Road, Chaoyang District, Beijing

Applicant after: Beijing Qingyun Science and Technology Co.,Ltd.

Address before: 100020 601, 6 floor, 16 building, No. 36 Chuang Yuan Road, Chaoyang District, Beijing.

Applicant before: Beijing Qingyun Science and Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant