CN110531929A - 存储系统的小文件处理方法及装置 - Google Patents
存储系统的小文件处理方法及装置 Download PDFInfo
- Publication number
- CN110531929A CN110531929A CN201910736618.7A CN201910736618A CN110531929A CN 110531929 A CN110531929 A CN 110531929A CN 201910736618 A CN201910736618 A CN 201910736618A CN 110531929 A CN110531929 A CN 110531929A
- Authority
- CN
- China
- Prior art keywords
- small documents
- read
- data
- written
- identification number
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 37
- 238000012545 processing Methods 0.000 title claims abstract description 12
- 238000003672 processing method Methods 0.000 title claims abstract description 12
- 238000013507 mapping Methods 0.000 claims abstract description 74
- 230000009471 action Effects 0.000 claims abstract description 35
- 230000000875 corresponding effect Effects 0.000 claims description 93
- 238000000034 method Methods 0.000 claims description 63
- 238000012360 testing method Methods 0.000 claims description 5
- 238000012795 verification Methods 0.000 claims description 5
- 238000012217 deletion Methods 0.000 claims 1
- 230000037430 deletion Effects 0.000 claims 1
- 238000003780 insertion Methods 0.000 claims 1
- 230000037431 insertion Effects 0.000 claims 1
- 239000002699 waste material Substances 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 108010001267 Protein Subunits Proteins 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 101100226364 Arabidopsis thaliana EXT1 gene Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种存储系统的小文件处理方法及装置,包括:当操作类型为写入操作时,对获取的待写入小文件进行处理,得到目标小文件,将目标小文件以4K对齐的方式写入数据库中,并将目标小文件的元数据信息在元数据区中以映射的方式进行保存;当操作类型为读取操作时,获取与第一文件标识号对应的待读取小文件,依据与待读取小文件对应的元数据信息,从待读取小文件中与4K对齐的位置开始读取数据,应用数据中的校验字段,对数据进行校验,判断对待读取小文件是否读取成功。将小文件写入硬盘中的数据库时,小文件精确到了字节,避免了浪费硬盘中的存储空间;应用本发明,对硬盘中的小文件进行读取数据时,可提升读取速率,提高硬盘的读写性能。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种存储系统的小文件处理方法及装置。
背景技术
社会步入信息时代,数据量出现喷井式增长,随着数据海量的增加,与数据对应的文件也相应的增加,海量增加的文件影响了硬盘的使用性能,为提高硬盘的使用性能,硬盘中通常应用到4K对齐的使用技术。硬盘中的小文件增加的数量呈指数增长,而小文件通常是指大小在1MB以内的文件,海量增加的小文件在硬盘中进行读写以及合理的存储是研究人员的热门研究方向。
目前对于小文件的存储问题的解决方法是将一定数量的小文件合并成大小一定的大文件,再应用元数据库,将合成的大文件写入第四代扩展文件系统(Fourth ExtendedFilesystem,EXT4)、XFS等Linux文件系统中。应用现有的方法,将小文件合并成大文件,虽然减少了小文件的数量,但是在将小文件合并时并未对小文件的大小分布进行考虑,合成后的大文件在存储系统中进行保存时依然造成了硬盘中存储空间的浪费,硬盘的读写性能依然无法得到提升。
发明内容
有鉴于此,本发明提供一种存储系统的小文件处理方法,所述方法可以应用于存储系统中,可用于提高存储系统中硬盘的读写性能,降低硬盘中存储空间的浪费。
为实现上述目的,本发明提供如下技术方案:
一种存储系统的小文件处理方法,包括:
接收操作指令,对所述操作指令进行解析,确定所述操作指令对应的操作类型;
当所述操作类型为写入操作时,获取待写入小文件,在所述待写入小文件中添加预设的校验字段,将已添加所述校验字段的待写入小文件确定为目标小文件,并将所述目标小文件以4K对齐的方式写入预设的数据库中,获取以4K对齐的方式写入数据库中的目标小文件的元数据信息,并在预设的元数据区中添加包含所述元数据信息的第一映射;
当所述操作类型为读取操作时,获取第一文件标识号,并获取与所述第一文件标识号对应的待读取小文件以及第二映射,所述第二映射包含所述待读取小文件的元数据信息,依据所述待读取小文件的元数据信息中的偏移量,确定所述待读取小文件中与4K对齐的读取位置,从所述读取位置开始读取所述待读取小文件中的数据,将从所述待读取小文件中读取出的数据确定为读取数据,所述读取数据中包含校验字段,依据所述校验字段对所述读取数据进行校验,得到校验结果,并依据所述校验结果,判断对所述待读取小文件是否读取成功。
上述的方法,可选的,还包括:
当所述操作类型为删除操作时,获取第二文件标识号,在所述数据库中查找与所述第二文件标识号对应的待删除小文件,将所述待删除小文件删除,同时在与所述待删除小文件对应的存储位置插入空闲空间表,将在所述元数据区中与所述待删除小文件对应的映射删除。
上述的方法,可选的,所述对所述待写入小文件添加预设的校验字段,包括:
获取预设的头部校验字段和尾部校验字段;
将所述头部校验字段添加在所述待写入小文件的头部,将所述尾部校验字段添加在所述待写入小文件的尾部。
上述的方法,可选的,所述将将已添加所述校验字段的待写入小文件确定为目标小文件,并将所述目标小文件以4K对齐的方式写入预设的数据库中,包括:
获取所述目标小文件的偏移量,判断所述目标小文件的偏移量是否为4K对齐;
若所述目标小文件的偏移量不为4K对齐,则读取所述目标小文件中与4K对齐的数据,将读取出的数据与所述目标小文件组合,并将组合后的文件写入预设的数据库中。
上述的方法,可选的,所述获取与所述第一文件标识号对应的待读取文件以及第二映射,包括:
依据所述第一文件标识号,判断所述元数据区中是否存在与所述第一文件标识号对应的第二映射;
若所述元数据区中不存在与所述第一文件标识号对应的第二映射,则返回读取失败的信息;
若所述元数据区中存在与所述第一文件标识号对应的第二映射,则依据所述第二映射获取所述数据库中与所述第一文件标识号对应的待读取文件。
上述的方法,可选的,所述从所述读取位置开始读取所述待读取小文件中的数据,将从所述待读取小文件中读取出的数据确定为读取数据,所述读取数据中包含校验字段,依据所述校验字段对所述读取数据进行校验,得到校验结果,并依据所述校验结果,判断所述待读取小文件是否读取成功包括:
确定所述待读取小文件的元数据信息中的数据长度;
从所述读取位置开始读取所述待读取小文件中与所述数据长度对应的数据,将读取出来的数据进行头部校验和尾部校验,依据所述头部校验结果和尾部校验结果,判断读取所述待读取小文件是否成功;
当所述头部校验和尾部校验的结果一致时,返回读取所述待读取小文件成功的信息;
当所述头部校验和尾部校验的结果不一致时,返回读取所述待读取小文件失败的信息。
一种存储系统的小文件处理装置,包括:
接收单元,用于接收操作指令,对所述操作指令进行解析,确定所述操作指令对应的操作类型;
写入单元,用于当所述操作类型为写入操作时,获取待写入小文件,在所述待写入小文件中添加预设的校验字段,将已添加所述校验字段的待写入小文件确定为目标小文件,并将所述目标小文件以4K对齐的方式写入预设的数据库中,获取以4K对齐的方式写入数据库中的目标小文件的元数据信息,并在预设的元数据区中添加包含所述元数据信息的第一映射;
读取单元,用于当所述操作类型为读取操作时,获取第一文件标识号,并获取与所述第一文件标识号对应的待读取小文件以及第二映射,所述第二映射包含所述待读取小文件的元数据信息,依据所述待读取小文件的元数据信息中的偏移量,确定所述待读取小文件中与4K对齐的读取位置,从所述读取位置开始读取所述待读取小文件中的数据,将从所述待读取小文件中读取出的数据确定为读取数据,所述读取数据中包含校验字段,依据所述校验字段对所述读取数据进行校验,得到校验结果,并依据所述校验结果,判断对所述待读取小文件是否读取成功。
上述的装置,可选的,还包括:
删除单元,用于当所述操作类型为删除操作时,获取第二文件标识号,在所述数据库中查找与所述第二文件标识号对应的待删除小文件,将所述待删除小文件删除,同时在与所述待删除小文件对应的存储位置插入空闲空间表,将在所述元数据区中与所述待删除小文件对应的映射删除。
上述的装置,可选的,所述写入单元,包括:
第一获取子单元,用于获取预设的头部校验字段和尾部校验字段;
添加子单元,用于将所述头部校验字段添加在所述待写入小文件的头部,将所述尾部校验字段添加在所述待写入小文件的尾部。
上述的装置,可选的,所述写入单元,包括:
第一判断子单元,用于获取所述目标小文件的偏移量,判断所述目标小文件的偏移量是否为4K对齐;
组合子单元,用于若所述目标小文件的偏移量不为4K对齐,则读取所述目标小文件中与4K对齐的数据,将读取出的数据与所述目标小文件组合,并将组合后的文件写入预设的数据库中。
上述的装置,可选的,所述读取单元,包括:
第二判断子单元,用于依据所述第一文件标识号,判断所述元数据区中是否存在与所述第一文件标识号对应的第二映射;
第一反馈信息子单元,用于若所述元数据区中不存在与所述第一文件标识号对应的第二映射,则返回读取失败的信息;
第二获取子单元,用于若所述元数据区中存在与所述第一文件标识号对应的第二映射,则依据所述第二映射获取所述数据库中与所述第一文件标识号对应的待读取文件。
上述的装置,可选的,所述读取单元,包括:
确定子单元,用于确定所述待读取小文件的元数据信息中的数据长度;
校验子单元,用于从所述读取位置开始读取所述待读取小文件中与所述数据长度对应的数据,将读取出来的数据进行头部校验和尾部校验,依据所述头部校验结果和尾部校验结果,判断读取所述待读取小文件是否成功;
第二反馈信息子单元,用于当所述头部校验和尾部校验的结果一致时,返回读取所述待读取小文件成功的信息;当所述头部校验和尾部校验的结果不一致时,返回读取所述待读取小文件失败的信息。
基于上述本发明的方法具有以下优点:
本发明实施例提供的方法中,当接收到操作指令后,对所述操作指令进行解析,确定所述操作指令对应的操作类型,依据所述操作类型对小文件进行处理,当操作类型为写入操作时,获取待写入小文件,并对所述待写入小文件进行处理,得到目标小文件,将所述目标小文件以4K对齐的方式写入预设的数据库中,并将所述目标小文件的元数据信息在预设的元数据区中以映射的方式进行保存;当操作类型为读取操作时,依据获取的第一文件标识号,获取与所述第一文件标识号对应的待读取小文件,依据与所述待读取小文件对应的元数据信息,从所述待读取小文件中与4K对齐的位置开始读取数据,将读取出的数据确定为读取数据,应用所述读取数据中包含的校验字段,对所述读取数据进行校验,并依据校验结果,判断对所述待读取小文件是否读取成功。应用本发明,将小文件写入硬盘中的数据库时,小文件进行偏移时,精确到了字节,避免了浪费硬盘中的存储空间;应用本发明提供的方法对硬盘中的小文件进行读取数据时,可提升读取速率,提高硬盘的读写性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种存储系统的小文件处理方法的方法流程图;
图2为本发明实施例提供的一种存储系统的小文件处理方法的另一方法流程图;
图3为本发明实施例提供的一种存储系统的小文件处理方法的另一方法流程图;
图4为本发明实施例提供的一种存储系统的小文件处理方法的另一方法流程图;
图5为本发明实施例提供的一种存储系统的小文件处理装置的装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明实施例提供的方法可以应用于计算机、计算装置环境活配置中。例如:个人计算机、服务奇迹孙吉、手持设备或便携式设备、平板型设备、多处理装置等等。
本发明实施例提供一种存储系统的小文件处理方法,该方法可以应用在存储系统中,其执行主体可以是系统中的处理器或服务器,可以应用本发明提供的方法处理硬盘中存储的海量小文件,所述小文件可以为文件的大小小于一定阈值的文件,例如通常认为小于1MB的文件为小文件,例如7KB的图片、56KB的图片均为小文件,所述方法的方法流程图如图1所示,具体说明如下所述:
S101、接收操作指令,对所述操作指令进行解析,确定所述操作指令对应的操作类型。
本发明实施例提供的方法中,处理器接收到用户向系统发送的操作指令,所述操作指令用于对系统中的小文件进行处理;将所述操作指令进行解析,依据所述操作指令中的操作信息确定所述操作指令对应的操作类型,依据所述操作类型,执行对应的处理操作。需要说明的是,所述操作指令是针对系统中的小文件的进行处理的指令。
S102、当所述操作类型为写入操作时,获取待写入小文件,在所述待写入小文件中添加预设的校验字段,将已添加所述校验字段的待写入小文件确定为目标小文件,并将所述目标小文件以4K对齐的方式写入预设的数据库中,获取以4K对齐的方式写入数据库中的目标小文件的元数据信息,并在预设的元数据区中添加包含所述元数据信息的第一映射。
本发明实施例提供的方法中,当操作指令对应的操作类型为写入操作时,获取位于存储系统中的待写入小文件,获取的方式可以是获取操作指令中的待写入文件标识号,获取存储系统中与所述待写入文件标识号对应的小文件,获取的小文件为待写入小文件;获取待写入小文件还可以在对所述操作指令进行解析时,即获取操作指令中携带待写入小文件。
需要说明的是,获取到待写入小文件后,对所述待写入小文件添加预设的校验字段,得到目标小文件,所述校验字段用于确保待写入小文件的完整性。将所述目标小文件以4K对齐的方式写入数据库中,所述数据可以是硬盘中预设的数据区,所述数据区用于存储以4K对齐的方式写入的小文件。需要说明的,所述元数据区为硬盘中用于保存数据区中各个小文件的元数据信息,所述元数据信息包括小文件的文件标识号、偏移量和数据有效长度;元数据信息在元数据区以映射的方式存在,每条映射均在数据区中存有与其对应的小文件。
需要说明的是,将所述目标小文件写入数据库中时,确定所述目标小文件的元数据信息,即确定所述目标小件的文件标识号、偏移量和有效数据长度,将元数据信息以映射的形式保存在硬盘中的元数据区中;其中,所述文件标识号为目标小文件的唯一身份标识号。
S103、当所述操作类型为读取操作时,获取第一文件标识号,并获取与所述第一文件标识号对应的待读取小文件以及第二映射,所述第二映射包含所述待读取小文件的元数据信息,依据所述待读取小文件的元数据信息中的偏移量,确定所述待读取小文件中与4K对齐的读取位置,从所述读取位置开始读取所述待读取小文件中的数据,将从所述待读取小文件中读取出的数据确定为读取数据,所述读取数据中包含校验字段,依据所述校验字段对所述读取数据进行校验,得到校验结果,并依据所述校验结果,判断所述待读取小文件是否读取成功。
本发明实施例提供的方法中,当所述操作类型为读取操作时,获取第一文件标号,获取所述第一文件标识号的过程可以为在解析所述操作指令时,获取所述操作指令中携带的第一文件标识号,所述第一文件标识号为文件的唯一身份标识号。依据所述第一文件标识号获取待读取小文件,以及与所述第一文件标识号对应的第二映射,所述第二映射中包含所述待读取小文件的元数据信息;并依据所述元数据信息中的偏移量,计算所述偏移量与4K对齐的位置,确定的位置即为所述待读取小文件中与4K对齐的读取位置。从所述读取位置开始读取待读取小文件中的数据,读取出的数据中包含设置的校验字段,依据所述校验字段对读取出的数据进行完整性校验,判断读取出的数据是否完整,校验方式为crc校验,根据校验结果,判断对所述待读取小文件是否读取成功。
本发明实施例提供的方法中,当接收到操作指令后,对所述操作指令进行解析,确定所述操作指令对应的操作类型,依据所述操作类型对小文件进行处理,当操作类型为写入操作时,获取待写入小文件,并对所述待写入小文件进行处理,得到目标小文件,将所述目标小文件以4K对齐的方式写入预设的数据库中,并将所述目标小文件的元数据信息在预设的元数据区中以映射的方式进行保存;当操作类型为读取操作时,依据获取的第一文件标识号,获取与所述第一文件标识号对应的待读取小文件,依据与所述待读取小文件对应的元数据信息,从所述待读取小文件中与4K对齐的位置开始读取数据,将读取出的数据确定为读取数据,应用所述读取数据中包含的校验字段,对所述读取数据进行校验,并依据校验结果,判断对所述待读取小文件是否读取成功。应用本发明,将小文件写入硬盘中的数据库时,小文件进行偏移时,精确到了字节,避免了浪费硬盘中的存储空间;应用本发明提供的方法对硬盘中的小文件进行读取数据时,可提升读取速率,提高硬盘的读写性能。
本发明实施例提供的方法中,对存储系统中的小文件进行管理时,除了将小文件写入和读取外,还包括对所述小文件进行删除,具体说明如下所述:
当所述操作类型为删除操作时,获取第二文件标识号,在所述数据库中查找与所述第二文件标识号对应的待删除小文件,将所述待删除小文件删除,同时在与所述待删除小文件对应的存储位置插入空闲空间表,将在所述元数据区中与所述待删除小文件对应的映射删除。
本发明实施例提供的方法中,当所述操作类型为删除操作时,获取第二文件标识号,依据所述第二文件标识号,遍历数据库中存储的各个小文件,将与所述第二文件标识号对应的小文件确定为待删除小文件,将所述待删除小文件进行删除,并将所述待删除小文件在所述数据库中的存储位置插入空闲空间表,所述空闲空间表用于表征此处存储位置无存放的数据。
本发明实施例提供的方法中,将所述待删除小文件进行删除后,在所述待删除小文件对应的存储位置中插入空闲空间表,以便于管理存储系统中为存储数据的空闲位置。
本发明实施例提供的方法中,对所述待写入小文件添加预设的校验字段的具体过程如下所述:
获取预设的头部校验字段和尾部校验字段;
将所述头部校验字段添加在所述待写入小文件的头部,将所述尾部校验字段添加在所述待写入小文件的尾部。
本发明实施例提供的方法中,获取预先设置的头部校验字段和尾部校验字段,所述头部校验字段和所述尾部校验字段进行校验的方式可以为循环冗余crc校验;将头部校验字段添加至待写入小文件的头部,将所述尾部校验字段添加至待写入小文件的尾部,用于校验所述待写入小文件的完整性。
本发明实施例提供的方法中,将与所述待写入小文件对应的目标小文件写入硬盘中的数据库的过程参照图2,具体说明如下所述:
S201、获取所述目标小文件的偏移量,判断所述目标小文件的偏移量是否为4K对齐。
本发明实施例提供的方法中,目标小文件的偏移量为当前写入硬盘中的偏移量,可根据实际需求进行设置;判断所述偏移量是否为4K对齐,当所述偏移量与4K对齐,则将所述目标小文件直接写入硬盘中的数据库中。
S202、若所述目标小文件的偏移量不为4K对齐,则读取所述目标小文件中与4K对齐的数据,将读取出的数据与所述目标小文件组合,并将组合后的文件写入预设的数据库中。
本发明实施例提供的方法中,当目标小文件的偏移量不为4K对齐时,从所述目标小文件中读取出数据,并将读取出的数据与所述目标小文件进行组合,使将组合后的小文件以4K对齐的方式写入硬盘中的数据库中。
本发明实施例提供的方法中,将硬盘中的小文件进行读取时,需要依据文件标识号获取待读取的小文件,具体的过程参见图3,具体说明如下所述:
S301、依据所述第一文件标识号,判断所述元数据区中是否存在与所述第一文件标识号对应的第二映射。
本发明实施例提供的方法中,获取第一文件标识号,在硬盘的元数据区中遍历所有的映射,判断元数据区中是否存在与所述第一文件标识号对应的映射,所述与第一文件标识号对应的映射可以为第二映射,判断时可以将第一文件标识号逐个与所述元数据区中各个映射中的文件标识号进行匹配。
S302、若所述元数据区中不存在与所述第一文件标识号对应的第二映射,则返回读取失败的信息。
本发明实施例提供的方法中,当所述元数据区中不存在与所述第一文件标识号对应的映射时,则表明硬盘中的数据库中未保存与所述第一文件标识号对应的小文件,返回读取失败的信息。
S303、若所述元数据区中存在与所述第一文件标识号对应的第二映射,则依据所述第二映射获取所述数据库中与所述第一文件标识号对应的待读取文件。
本发明实施例提供的方法中,若在所述元数据区中查找到与所述第一文件标识号对应的第二映射,则依据所述第二映射中的文件标识号,获取对应的待读取小文件,所述待读取小文件均与所述第一文件标识,依据所述第二映射中的文件标识号相对应。
本发明实施例提供的方法中,获取待读取小文件后,对所述待读取小文件进行读取时,其具体的过程如图4所示,具体说明如下所述:
S401、确定所述待读取小文件的元数据信息中的数据长度。
发明实施例提供的方法中,获取所述待读取小文件的元数据信息,所述元数据信息中包含所述数据长度,所述数据长度表征读取所述待读取小文件中的有效数据长度。
S402、从所述读取位置开始读取所述待读取小文件中与所述数据长度对应的数据,将读取出来的数据进行头部校验和尾部校验,依据所述头部校验结果和尾部校验结果,判断读取所述待读取小文件是否成功。
本发明实施例提供的方法中,确定对所述待读取小文件的读取位置之后,依据所述待读取小文件的数据长度,从所述读取位置开始读取所述待读取小文件中的数据,将读取出的数据确定为读取数据,所述读取数据的数据长度与所述元数据信息中的数据长度一致。所述读取数据中包含预设的头部校验字段和尾部校验字段,依据所述头部校验字段和尾部校验字段对所述读取数据进行校验,并得到校验结果,依据所述校验结果,判断读取所述待读取小文件是否成功。
S403、当所述头部校验和尾部校验的结果一致时,返回读取所述待读取小文件成功的信息。
S404、当所述头部校验和尾部校验的结果不一致时,返回读取所述待读取小文件失败的信息。
本发明实施例提供的方法中,所述读取数据中包含预设的头部校验字段和尾部校验字段,依据所述头部校验字段和所述尾部校验字段校验所述读取数据是否完整,当所述尾部校验结果与所述尾部校验结果不一致时,所述读取数据不完整,对所述待读取小文件读取数据失败;当所述尾部校验结果与所述头部校验结果一致时,则所述读取数据完整,对所述待读取小文件读取数据成功。
本发明实施例提供的方法中,通过将硬盘分为元数据区、头数据区和数据区,所述数据区可以存在数据库中,所述数据库用于保存写入的小文件,所述元数据区用于保存在数据库中的小文件的映射,所述映射包含所述小文件的元数据信息;所述头数据区用于保存所述元数据信息在元数据区中的偏移量、小文件在数据库中的偏移量以及硬盘的存储空间的最大长度等各项基本信息。
本发明实施例提供的方法中,获取到用户的操作指令后,依据所述操作指令对应的操作类型,执行对应的操作处理;当所述操作类型为写入操作时,将获取的待写入小文件添加校验字段,并将添加校验字段的待写入小文件确定为目标小文件,将所述目标小文件以4K对齐的方式写入预设的数据库中,并在预设的元数据区中添加与目标小文件对应的第一映射,所述第一映射包含所述目标小文件的元数据信息;当所述操作类型为读取操作时,获取第一文件标识号,获取与所述第一文件标识号对应的待读取小文件以及第二映射,依据所述第二映射中元数据信息,确定读取所述待读取小文件的读取位置,并从所述读取位置开始读取所述待读取小文件中的数据,将从所述待读取小文件中读取出的数据确定为读取数据,并对所述读取数据进行校验,以判断对所述待读取小文件是否读取成功。应用本发明提供的方法,将小文件写入硬盘中时,通过4K对齐的方式将小文件写入硬盘中,进行4K对齐时,将所述小文件精确到字节,以降低小文件写入硬盘中时占用的资源,并且提高硬盘写入小文件的性能以及硬盘读取小文件的性能。
与图1相对应的,本发明实施例还提供了方法对应的一种存储系统的小文件处理装置,所述装置用于支持所述方法在实际中的应用,所述装置的装置结构图如图5所示,具体说明如下所述:
接收单元501,用于接收操作指令,对所述操作指令进行解析,确定所述操作指令对应的操作类型;
写入单元502,用于当所述操作类型为写入操作时,获取待写入小文件,在所述待写入小文件中添加预设的校验字段,将已添加所述校验字段的待写入小文件确定为目标小文件,并将所述目标小文件以4K对齐的方式写入预设的数据库中,获取以4K对齐的方式写入数据库中的目标小文件的元数据信息,并在预设的元数据区中添加包含所述元数据信息的第一映射;
读取单元503,用于当所述操作类型为读取操作时,获取第一文件标识号,并获取与所述第一文件标识号对应的待读取小文件以及第二映射,所述第二映射包含所述待读取小文件的元数据信息,依据所述待读取小文件的元数据信息中的偏移量,确定所述待读取小文件中与4K对齐的读取位置,从所述读取位置开始读取所述待读取小文件中的数据,将从所述待读取小文件中读取出的数据确定为读取数据,所述读取数据中包含校验字段,依据所述校验字段对所述读取数据进行校验,得到校验结果,并依据所述校验结果,判断对所述待读取小文件是否读取成功。
本发明实施例提供的装置中,获取到用户的操作指令后,依据所述操作指令对应的操作类型,执行对应的操作处理;当所述操作类型为写入操作时,将获取的待写入小文件添加校验字段,并将添加校验字段的待写入小文件确定为目标小文件,将所述目标小文件以4K对齐的方式写入预设的数据库中,并在预设的元数据区中添加与目标小文件对应的第一映射,所述第一映射包含所述目标小文件的元数据信息;当所述操作类型为读取操作时,获取第一文件标识号,获取与所述第一文件标识号对应的待读取小文件以及第二映射,依据所述第二映射中元数据信息,确定读取所述待读取小文件的读取位置,并从所述读取位置开始读取所述待读取小文件中的数据,将从所述待读取小文件中读取出的数据确定为读取数据,并对所述读取数据进行校验,以判断对所述待读取小文件是否读取成功。应用本发明提供的装置,将小文件写入硬盘中时,通过4K对齐的方式将小文件写入硬盘中,进行4K对齐时,将所述小文件精确到字节,以降低小文件写入硬盘中时占用的资源,并且提高硬盘写入小文件的性能以及硬盘读取小文件的性能。
本发明提供的装置中,还可以设置为:
删除单元,用于当所述操作类型为删除操作时,获取第二文件标识号,在所述数据库中查找与所述第二文件标识号对应的待删除小文件,将所述待删除小文件删除,同时在与所述待删除小文件对应的存储位置插入空闲空间表,将在所述元数据区中与所述待删除小文件对应的映射删除。
本发明提供的装置中,所述写入单元502,可以设置为:
第一获取子单元,用于获取预设的头部校验字段和尾部校验字段;
添加子单元,用于将所述头部校验字段添加在所述待写入小文件的头部,将所述尾部校验字段添加在所述待写入小文件的尾部。
本发明提供的装置中,所述写入单元502,可以设置为:
第一判断子单元,用于获取所述目标小文件的偏移量,判断所述目标小文件的偏移量是否为4K对齐;
组合子单元,用于若所述目标小文件的偏移量不为4K对齐,则读取所述目标小文件中与4K对齐的数据,将读取出的数据与所述目标小文件组合,并将组合后的文件写入预设的数据库中。
本发明提供的装置中,所述读取单元503,可以设置为:
第二判断子单元,用于依据所述第一文件标识号,判断所述元数据区中是否存在与所述第一文件标识号对应的第二映射;
第一反馈信息子单元,用于若所述元数据区中不存在与所述第一文件标识号对应的第二映射,则返回读取失败的信息;
第二获取子单元,用于若所述元数据区中存在与所述第一文件标识号对应的第二映射,则依据所述第二映射获取所述数据库中与所述第一文件标识号对应的待读取文件。
本发明提供的装置中,所述读取单元503,可以设置为:
确定子单元,用于确定所述待读取小文件的元数据信息中的数据长度;
校验子单元,用于从所述读取位置开始读取所述待读取小文件中与所述数据长度对应的数据,将读取出来的数据进行头部校验和尾部校验,依据所述头部校验结果和尾部校验结果,判断读取所述待读取小文件是否成功;
第二反馈信息子单元,用于当所述头部校验和尾部校验的结果一致时,返回读取所述待读取小文件成功的信息;当所述头部校验和尾部校验的结果不一致时,返回读取所述待读取小文件失败的信息。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种存储系统的小文件处理方法,其特征在于,包括:
接收操作指令,对所述操作指令进行解析,确定所述操作指令对应的操作类型;
当所述操作类型为写入操作时,获取待写入小文件,在所述待写入小文件中添加预设的校验字段,将已添加所述校验字段的待写入小文件确定为目标小文件,并将所述目标小文件以4K对齐的方式写入预设的数据库中,获取以4K对齐的方式写入数据库中的目标小文件的元数据信息,并在预设的元数据区中添加包含所述元数据信息的第一映射;
当所述操作类型为读取操作时,获取第一文件标识号,并获取与所述第一文件标识号对应的待读取小文件以及第二映射,所述第二映射包含所述待读取小文件的元数据信息,依据所述待读取小文件的元数据信息中的偏移量,确定所述待读取小文件中与4K对齐的读取位置,从所述读取位置开始读取所述待读取小文件中的数据,将从所述待读取小文件中读取出的数据确定为读取数据,所述读取数据中包含校验字段,依据所述校验字段对所述读取数据进行校验,得到校验结果,并依据所述校验结果,判断对所述待读取小文件是否读取成功。
2.根据权利要求1所述的方法,其特征在于,还包括:
当所述操作类型为删除操作时,获取第二文件标识号,在所述数据库中查找与所述第二文件标识号对应的待删除小文件,将所述待删除小文件删除,同时在与所述待删除小文件对应的存储位置插入空闲空间表,将在所述元数据区中与所述待删除小文件对应的映射删除。
3.根据权利要求1所述的方法,其特征在于,所述对所述待写入小文件添加预设的校验字段,包括:
获取预设的头部校验字段和尾部校验字段;
将所述头部校验字段添加在所述待写入小文件的头部,将所述尾部校验字段添加在所述待写入小文件的尾部。
4.根据权利要求1所述的方法,其特征在于,所述将将已添加所述校验字段的待写入小文件确定为目标小文件,并将所述目标小文件以4K对齐的方式写入预设的数据库中,包括:
获取所述目标小文件的偏移量,判断所述目标小文件的偏移量是否为4K对齐;
若所述目标小文件的偏移量不为4K对齐,则读取所述目标小文件中与4K对齐的数据,将读取出的数据与所述目标小文件组合,并将组合后的文件写入预设的数据库中。
5.根据权利要求1所述的方法,其特征在于,所述获取与所述第一文件标识号对应的待读取文件以及第二映射,包括:
依据所述第一文件标识号,判断所述元数据区中是否存在与所述第一文件标识号对应的第二映射;
若所述元数据区中不存在与所述第一文件标识号对应的第二映射,则返回读取失败的信息;
若所述元数据区中存在与所述第一文件标识号对应的第二映射,则依据所述第二映射获取所述数据库中与所述第一文件标识号对应的待读取文件。
6.根据权利要求1所述的方法,其特征在于,所述从所述读取位置开始读取所述待读取小文件中的数据,将从所述待读取小文件中读取出的数据确定为读取数据,所述读取数据中包含校验字段,依据所述校验字段对所述读取数据进行校验,得到校验结果,并依据所述校验结果,判断所述待读取小文件是否读取成功包括:
确定所述待读取小文件的元数据信息中的数据长度;
从所述读取位置开始读取所述待读取小文件中与所述数据长度对应的数据,将读取出来的数据进行头部校验和尾部校验,依据所述头部校验结果和尾部校验结果,判断读取所述待读取小文件是否成功;
当所述头部校验和尾部校验的结果一致时,返回读取所述待读取小文件成功的信息;
当所述头部校验和尾部校验的结果不一致时,返回读取所述待读取小文件失败的信息。
7.一种存储系统的小文件处理装置,其特征在于,包括:
接收单元,用于接收操作指令,对所述操作指令进行解析,确定所述操作指令对应的操作类型;
写入单元,用于当所述操作类型为写入操作时,获取待写入小文件,在所述待写入小文件中添加预设的校验字段,将已添加所述校验字段的待写入小文件确定为目标小文件,并将所述目标小文件以4K对齐的方式写入预设的数据库中,获取以4K对齐的方式写入数据库中的目标小文件的元数据信息,并在预设的元数据区中添加包含所述元数据信息的第一映射;
读取单元,用于当所述操作类型为读取操作时,获取第一文件标识号,并获取与所述第一文件标识号对应的待读取小文件以及第二映射,所述第二映射包含所述待读取小文件的元数据信息,依据所述待读取小文件的元数据信息中的偏移量,确定所述待读取小文件中与4K对齐的读取位置,从所述读取位置开始读取所述待读取小文件中的数据,将从所述待读取小文件中读取出的数据确定为读取数据,所述读取数据中包含校验字段,依据所述校验字段对所述读取数据进行校验,得到校验结果,并依据所述校验结果,判断对所述待读取小文件是否读取成功。
8.根据权利要求7所述的装置,其特征在于,还包括:
删除单元,用于当所述操作类型为删除操作时,获取第二文件标识号,在所述数据库中查找与所述第二文件标识号对应的待删除小文件,将所述待删除小文件删除,同时在与所述待删除小文件对应的存储位置插入空闲空间表,将在所述元数据区中与所述待删除小文件对应的映射删除。
9.根据权利要求7所述的装置,其特征在于,所述写入单元,包括:
第一判断子单元,用于获取所述目标小文件的偏移量,判断所述目标小文件的偏移量是否为4K对齐;
组合子单元,用于若所述目标小文件的偏移量不为4K对齐,则读取所述目标小文件中与4K对齐的数据,将读取出的数据与所述目标小文件组合,并将组合后的文件写入预设的数据库中。
10.根据权利要求7所述的装置,其特征在于,所述读取单元,包括:
第二判断子单元,用于依据所述第一文件标识号,判断所述元数据区中是否存在与所述第一文件标识号对应的第二映射;
第一反馈信息子单元,用于若所述元数据区中不存在与所述第一文件标识号对应的第二映射,则返回读取失败的信息;
第二获取子单元,用于若所述元数据区中存在与所述第一文件标识号对应的第二映射,则依据所述第二映射获取所述数据库中与所述第一文件标识号对应的待读取文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910736618.7A CN110531929A (zh) | 2019-08-09 | 2019-08-09 | 存储系统的小文件处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910736618.7A CN110531929A (zh) | 2019-08-09 | 2019-08-09 | 存储系统的小文件处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110531929A true CN110531929A (zh) | 2019-12-03 |
Family
ID=68662494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910736618.7A Pending CN110531929A (zh) | 2019-08-09 | 2019-08-09 | 存储系统的小文件处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110531929A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111125034A (zh) * | 2019-12-27 | 2020-05-08 | 深信服科技股份有限公司 | 一种聚合对象数据处理方法、系统及相关设备 |
CN112235422A (zh) * | 2020-12-11 | 2021-01-15 | 浙江大华技术股份有限公司 | 数据处理方法、装置、计算机可读存储介质及电子装置 |
CN114415958A (zh) * | 2022-01-20 | 2022-04-29 | 京东科技信息技术有限公司 | 磁盘数据处理方法及系统、存储介质、电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104965845B (zh) * | 2014-12-30 | 2017-04-12 | 浙江大华技术股份有限公司 | 一种小文件的定位方法及系统 |
CN107291915A (zh) * | 2017-06-27 | 2017-10-24 | 北京奇艺世纪科技有限公司 | 一种小文件存储方法、小文件读取方法及系统 |
-
2019
- 2019-08-09 CN CN201910736618.7A patent/CN110531929A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104965845B (zh) * | 2014-12-30 | 2017-04-12 | 浙江大华技术股份有限公司 | 一种小文件的定位方法及系统 |
CN107291915A (zh) * | 2017-06-27 | 2017-10-24 | 北京奇艺世纪科技有限公司 | 一种小文件存储方法、小文件读取方法及系统 |
Non-Patent Citations (1)
Title |
---|
JOEYSH: "《https://www.cnblogs.com/joeysh/p/10720192.html》" * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111125034A (zh) * | 2019-12-27 | 2020-05-08 | 深信服科技股份有限公司 | 一种聚合对象数据处理方法、系统及相关设备 |
CN112235422A (zh) * | 2020-12-11 | 2021-01-15 | 浙江大华技术股份有限公司 | 数据处理方法、装置、计算机可读存储介质及电子装置 |
CN114415958A (zh) * | 2022-01-20 | 2022-04-29 | 京东科技信息技术有限公司 | 磁盘数据处理方法及系统、存储介质、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110531929A (zh) | 存储系统的小文件处理方法及装置 | |
CN103377137B (zh) | 使用增强的频繁块检测进行存储去重的方法和系统 | |
Tan et al. | Microsearch: A search engine for embedded devices used in pervasive computing | |
KR100380955B1 (ko) | 파일 시스템, 데이터 관리 방법 및 기록 매체 | |
US10163135B2 (en) | Combining user content with supplemental content at a data storage device | |
CN109766341B (zh) | 一种建立哈希映射的方法、装置、存储介质 | |
CN105069048A (zh) | 一种小文件存储方法、查询方法和装置 | |
CN101060402B (zh) | 基于Hash-map的多点缓存装置 | |
CN103268201B (zh) | 一种数据存储方法、存储装置及读取方法 | |
US20110302224A1 (en) | Data storage device with preloaded content | |
CN101983376B (zh) | 访问装置、信息记录装置、信息记录系统、文件管理方法和程序 | |
CN108563532B (zh) | 数据处理方法及相关装置 | |
CN104881481A (zh) | 一种存取海量时间序列数据的方法及装置 | |
Manzanares et al. | {ZEA}, A Data Management Approach for {SMR} | |
EP3438845A1 (en) | Data updating method and device for a distributed database system | |
CN108875046A (zh) | 一种存储系统访问方法、装置及电子设备 | |
EP3570182B1 (en) | Sparse infrastructure for tracking ad-hoc operation timestamps | |
CN109710455A (zh) | 基于fat32文件系统的删除文件恢复方法及系统 | |
CN112463020A (zh) | 基于Flash的数据存取方法、装置及设备 | |
Tan et al. | Microsearch: When search engines meet small devices | |
CN107479834A (zh) | 一种基于cos的文件存储方法及装置 | |
CN108664482B (zh) | Flash存储器及存储文件管理方法 | |
CN112800007A (zh) | 适用于fat32文件系统的目录项扩展方法和系统 | |
CN106371770B (zh) | 数据写入方法及装置 | |
CN103177026A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191203 |